wrj 9 meses atrás
pai
commit
6566709410
18 arquivos alterados com 445 adições e 1 exclusões
  1. 183 0
      nightFragrance-admin/src/main/java/com/ylx/web/controller/massage/HomeController.java
  2. 7 0
      nightFragrance-massage/src/main/java/com/ylx/massage/domain/TConsumptionLog.java
  3. 9 0
      nightFragrance-massage/src/main/java/com/ylx/massage/domain/TTxRecord.java
  4. 38 0
      nightFragrance-massage/src/main/java/com/ylx/massage/domain/vo/HomeBlock.java
  5. 48 0
      nightFragrance-massage/src/main/java/com/ylx/massage/domain/vo/HomeBlocks.java
  6. 3 0
      nightFragrance-massage/src/main/java/com/ylx/massage/mapper/TConsumptionLogMapper.java
  7. 8 0
      nightFragrance-massage/src/main/java/com/ylx/massage/mapper/TJsMapper.java
  8. 4 0
      nightFragrance-massage/src/main/java/com/ylx/massage/mapper/TOrderMapper.java
  9. 6 0
      nightFragrance-massage/src/main/java/com/ylx/massage/mapper/TTxRecordMapper.java
  10. 11 1
      nightFragrance-massage/src/main/java/com/ylx/massage/mapper/TWxUserMapper.java
  11. 4 0
      nightFragrance-massage/src/main/java/com/ylx/massage/service/TOrderService.java
  12. 7 0
      nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/TOrderServiceImpl.java
  13. 3 0
      nightFragrance-massage/src/main/java/com/ylx/massage/utils/DateTimeUtils.java
  14. 20 0
      nightFragrance-massage/src/main/resources/mapper/massage/TConsumptionLogMapper.xml
  15. 29 0
      nightFragrance-massage/src/main/resources/mapper/massage/TJsMapper.xml
  16. 22 0
      nightFragrance-massage/src/main/resources/mapper/massage/TOrderMapper.xml
  17. 20 0
      nightFragrance-massage/src/main/resources/mapper/massage/TTxRecordMapper.xml
  18. 23 0
      nightFragrance-massage/src/main/resources/mapper/massage/TWxUserMapper.xml

+ 183 - 0
nightFragrance-admin/src/main/java/com/ylx/web/controller/massage/HomeController.java

@@ -0,0 +1,183 @@
+package com.ylx.web.controller.massage;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.ylx.common.constant.MassageConstants;
+import com.ylx.common.exception.ServiceException;
+import com.ylx.common.utils.StringUtils;
+import com.ylx.massage.domain.TJsDay;
+import com.ylx.massage.domain.TTxRecord;
+import com.ylx.massage.domain.vo.HomeBlock;
+import com.ylx.massage.domain.vo.HomeBlocks;
+import com.ylx.massage.mapper.*;
+import com.ylx.massage.service.TOrderService;
+import com.ylx.massage.service.TWxUserService;
+import com.ylx.massage.utils.DateTimeUtils;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.compress.utils.Lists;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * @author jianlong
+ * @date 2024-09-02 16:58
+ */
+
+@RestController
+@RequestMapping("homeController")
+@Slf4j
+@Api(tags = {"首页"})
+public class HomeController {
+
+
+    @Resource
+    private TOrderService orderService;
+
+    @Resource
+    private TConsumptionLogMapper consumptionLogMapper;
+
+    @Resource
+    private TWxUserMapper wxUserMapper;
+
+    @Resource
+    private TJsMapper jsMapper;
+
+    @Resource
+    private TTxRecordMapper txRecordMapper;
+
+    @Resource
+    private TJsDayMapper jsDayMapper;
+
+    @GetMapping("block")
+    @ApiOperation("首页数据块")
+    public HomeBlocks block(String deptId) {
+
+        if(StringUtils.isBlank(deptId)){
+            throw new ServiceException("部门Id不能为空");
+        }
+
+        //获取上个月时间
+        Date update = DateTimeUtils.addMonths(new Date(), -1);
+
+        //上个月第一天
+        Date start = DateTimeUtils.getBeginDayOfMonth(update);
+        //当月最后一天
+        Date end = DateTimeUtils.getEndDayOfMonth(new Date());
+
+        //营业额
+        //订单量
+        List<HomeBlock> blockOrder = orderService.getBlock(start, end, deptId);
+
+        //提现
+//        List<HomeBlock> blockAmount = consumptionLogMapper.getBlockGetAmount(start, end, deptId);
+        List<HomeBlock> blockAmount = txRecordMapper.getBlockGetAmount(start, end, deptId);
+        //用户总数
+        List<HomeBlock> blockUser = wxUserMapper.getBlockGetUser(start, end, deptId);
+        Integer sumUser = wxUserMapper.getBlockUser();
+        //教练数量
+        List<HomeBlock> blockJs = jsMapper.getBlockGetJs(start, end, deptId);
+        Integer sumJs = jsMapper.getBlockJs(deptId);
+
+        //块
+        HomeBlocks homeBlocks = new HomeBlocks();
+        Optional<Integer> orderNumMax = blockOrder.stream().max(Comparator.comparing(HomeBlock::getMonth)).map(i -> Optional.ofNullable(i.getOrderNum()).orElse(MassageConstants.INTEGER_ZERO));
+        homeBlocks.setOrderNum(orderNumMax.orElse(MassageConstants.INTEGER_ZERO));
+        Optional<Integer> upOrderNum = blockOrder.stream().min(Comparator.comparing(HomeBlock::getMonth)).map(i -> Optional.ofNullable(i.getOrderNum()).orElse(MassageConstants.INTEGER_ZERO));
+        homeBlocks.setUpOrderNum(upOrderNum.orElse(MassageConstants.INTEGER_ZERO));
+
+        Optional<BigDecimal> turnover = blockOrder.stream().max(Comparator.comparing(HomeBlock::getMonth)).map(i -> Optional.ofNullable(i.getTurnover()).orElse(BigDecimal.ZERO));
+        homeBlocks.setTurnover(turnover.orElse(BigDecimal.ZERO));
+        Optional<BigDecimal> upTurnover = blockOrder.stream().min(Comparator.comparing(HomeBlock::getMonth)).map(i -> Optional.ofNullable(i.getTurnover()).orElse(BigDecimal.ZERO));
+        homeBlocks.setUpTurnover(upTurnover.orElse(BigDecimal.ZERO));
+
+        Optional<BigDecimal> getAmountMax = blockAmount.stream().max(Comparator.comparing(HomeBlock::getMonth)).map(i -> Optional.ofNullable(i.getGetAmount()).orElse(BigDecimal.ZERO));
+        homeBlocks.setGetAmount(getAmountMax.orElse(BigDecimal.ZERO));
+        Optional<BigDecimal> getupAmount = blockAmount.stream().min(Comparator.comparing(HomeBlock::getMonth)).map(i -> Optional.ofNullable(i.getGetAmount()).orElse(BigDecimal.ZERO));
+        homeBlocks.setUpGetAmount(getupAmount.orElse(BigDecimal.ZERO));
+
+        homeBlocks.setUserNum(sumUser);
+        Optional<Integer> userNumMax = blockUser.stream().max(Comparator.comparing(HomeBlock::getMonth)).map(i -> Optional.ofNullable(i.getUserNum()).orElse(MassageConstants.INTEGER_ZERO));
+        homeBlocks.setUpUserNum(sumUser - userNumMax.orElse(MassageConstants.INTEGER_ZERO));
+
+        homeBlocks.setJsNum(sumJs);
+        Optional<Integer> jsNumMax = blockJs.stream().max(Comparator.comparing(HomeBlock::getMonth)).map(i -> Optional.ofNullable(i.getJsNum()).orElse(MassageConstants.INTEGER_ZERO));
+        homeBlocks.setUpJsNum(sumJs - jsNumMax.orElse(MassageConstants.INTEGER_ZERO));
+
+        return homeBlocks;
+    }
+
+
+    @GetMapping("columnar")
+    @ApiOperation("首页柱状图")
+    public List<HomeBlock> columnar(String deptId) {
+        if(StringUtils.isBlank(deptId)){
+            throw new ServiceException("部门Id不能为空");
+        }
+        //获取上个年时间
+        Date update = DateTimeUtils.addYears(new Date(), -1);
+        //上个月第一天
+        Date start = DateTimeUtils.getBeginDayOfMonth(update);
+        //当月最后一天
+        Date end = DateTimeUtils.getEndDayOfMonth(new Date());
+        //营业额
+        //订单量
+        List<HomeBlock> blockOrder = orderService.getBlock(start, end, deptId);
+        //提现
+        List<HomeBlock> blockAmount = txRecordMapper.getBlockGetAmount(start, end, deptId);
+        //用户总数
+        List<HomeBlock> blockUser = wxUserMapper.getBlockGetUser(start, end, deptId);
+        //教练数量
+        List<HomeBlock> blockJs = jsMapper.getBlockGetJs(start, end, deptId);
+        //图
+        blockOrder.addAll(blockAmount);
+        blockOrder.addAll(blockUser);
+        blockOrder.addAll(blockJs);
+        Map<String, List<HomeBlock>> blockMap = blockOrder.stream().collect(Collectors.groupingBy(HomeBlock::getMonth));
+        ArrayList<HomeBlock> block = Lists.newArrayList();
+        blockMap.forEach((k, v)->{
+
+            HomeBlock homeBlock = new HomeBlock();
+            homeBlock.setMonth(k);
+
+            Integer userNum = v.stream().map(i -> Optional.ofNullable(i.getUserNum()).orElse(MassageConstants.INTEGER_ZERO)).reduce(0, Integer::sum);
+            homeBlock.setUserNum(userNum);
+
+            Integer jsNum = v.stream().map(i -> Optional.ofNullable(i.getJsNum()).orElse(MassageConstants.INTEGER_ZERO)).reduce(0, Integer::sum);
+            homeBlock.setJsNum(jsNum);
+
+            Integer orderNum = v.stream().map(i -> Optional.ofNullable(i.getOrderNum()).orElse(MassageConstants.INTEGER_ZERO)).reduce(0, Integer::sum);
+            homeBlock.setOrderNum(orderNum);
+
+            BigDecimal rurnover = v.stream().map(i -> Optional.ofNullable(i.getTurnover()).orElse(BigDecimal.ZERO)).reduce(BigDecimal.ZERO, BigDecimal::add);
+            homeBlock.setTurnover(rurnover);
+
+            BigDecimal getAmount = v.stream().map(i -> Optional.ofNullable(i.getGetAmount()).orElse(BigDecimal.ZERO)).reduce(BigDecimal.ZERO, BigDecimal::add);
+            homeBlock.setGetAmount(getAmount);
+
+            block.add(homeBlock);
+        });
+        return block;
+    }
+
+    @GetMapping("ranking")
+    @ApiOperation("首页排名")
+    public List<TJsDay> ranking(String deptId,String start,String end) {
+        if(StringUtils.isBlank(deptId)){
+            throw new ServiceException("部门Id不能为空");
+        }
+        LambdaQueryWrapper<TJsDay> jsDayQueryWrapper = new LambdaQueryWrapper<>();
+        jsDayQueryWrapper.eq(StringUtils.isNotBlank(deptId) && !"100".equals(deptId),TJsDay::getDeptId , deptId).
+                ge(TJsDay::getCountDate , start).le(TJsDay::getCountDate , end).orderByAsc(TJsDay::getOrderNum).last("limit 10");
+        List<TJsDay> tJsDays = jsDayMapper.selectList(jsDayQueryWrapper);
+        return tJsDays;
+    }
+
+
+}

+ 7 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/domain/TConsumptionLog.java

@@ -31,6 +31,13 @@ public class TConsumptionLog extends Model<TConsumptionLog> {
     private String billNo;
     //openId
     private String openId;
+
+    //openId
+    private String deptId;
+
+    //deptName
+    private String deptName;
+
     //是否可提0否1是
     private Integer isGet;
     //备注

+ 9 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/domain/TTxRecord.java

@@ -49,6 +49,15 @@ public class TTxRecord implements Serializable {
     @ApiModelProperty("提现用户")
     private String cOpenId;
 
+
+    @TableField("dept_id")
+    @ApiModelProperty("部门id")
+    private String deptId;
+
+    @TableField("dept_name")
+    @ApiModelProperty("部门名称")
+    private String deptName;
+
     /**
      * 提现金额
      */

+ 38 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/domain/vo/HomeBlock.java

@@ -0,0 +1,38 @@
+package com.ylx.massage.domain.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @author jianlong
+ * @date 2024-09-02 18:23
+ */
+
+@Data
+@ApiModel(value = "HomeBlock" ,description = "首页数据块")
+public class HomeBlock {
+
+    @ApiModelProperty("月份")
+    private String month;
+
+    @ApiModelProperty("订单数量")
+    private Integer orderNum;
+
+    @ApiModelProperty("营业额")
+    private BigDecimal turnover;
+
+    @ApiModelProperty("提现金额")
+    private BigDecimal getAmount;
+
+    @ApiModelProperty("用户总数")
+    private Integer userNum;
+
+    @ApiModelProperty("用户总数")
+    private Integer jsNum;
+
+
+
+}

+ 48 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/domain/vo/HomeBlocks.java

@@ -0,0 +1,48 @@
+package com.ylx.massage.domain.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @author jianlong
+ * @date 2024-09-04 08:49
+ */
+@Data
+@ApiModel(value = "HomeBlocks" ,description = "首页数据")
+public class HomeBlocks {
+
+
+    @ApiModelProperty("上月订单数量")
+    private Integer upOrderNum;
+
+    @ApiModelProperty("当月订单数量")
+    private Integer orderNum;
+
+    @ApiModelProperty("上月营业额")
+    private BigDecimal upTurnover;
+
+    @ApiModelProperty("当月营业额")
+    private BigDecimal turnover;
+
+    @ApiModelProperty("上月提现金额")
+    private BigDecimal upGetAmount;
+
+    @ApiModelProperty("当月提现金额")
+    private BigDecimal getAmount;
+
+    @ApiModelProperty("上月用户总数")
+    private Integer upUserNum;
+
+    @ApiModelProperty("当月用户总数")
+    private Integer userNum;
+
+    @ApiModelProperty("上月技师总数")
+    private Integer upJsNum;
+
+    @ApiModelProperty("当月技师总数")
+    private Integer jsNum;
+
+}

+ 3 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/mapper/TConsumptionLogMapper.java

@@ -1,9 +1,11 @@
 package com.ylx.massage.mapper;
 
+import java.util.Date;
 import java.util.List;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ylx.massage.domain.TConsumptionLog;
+import com.ylx.massage.domain.vo.HomeBlock;
 import org.apache.ibatis.annotations.Param;
 
 
@@ -32,5 +34,6 @@ public interface TConsumptionLogMapper extends BaseMapper<TConsumptionLog> {
      */
     int insertOrUpdateBatch(@Param("entities") List<TConsumptionLog> entities);
 
+    List<HomeBlock> getBlockGetAmount(@Param("start") Date start, @Param("end") Date end, @Param("deptId") String deptId);
 }
 

+ 8 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/mapper/TJsMapper.java

@@ -2,11 +2,15 @@ package com.ylx.massage.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ylx.massage.domain.vo.HomeBlock;
 import com.ylx.massage.domain.vo.TJsVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import com.ylx.massage.domain.TJs;
 
+import java.util.Date;
+import java.util.List;
+
 
 /**
  * 技师表 Mapper 接口
@@ -14,4 +18,8 @@ import com.ylx.massage.domain.TJs;
 @Mapper
 public interface TJsMapper extends BaseMapper<TJs> {
     public Page<TJs> getAll(@Param("page")Page<TJs> page ,@Param("param") TJsVo param);
+
+    List<HomeBlock> getBlockGetJs(@Param("start") Date start, @Param("end")Date end, @Param("deptId")String deptId);
+
+    Integer getBlockJs(@Param("deptId")String deptId);
 }

+ 4 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/mapper/TOrderMapper.java

@@ -2,12 +2,14 @@ package com.ylx.massage.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ylx.massage.domain.vo.HomeBlock;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import com.ylx.massage.domain.TOrder;
 
 import java.math.BigDecimal;
 import java.util.Date;
+import java.util.List;
 
 /**
  * <p>
@@ -29,4 +31,6 @@ public interface TOrderMapper extends BaseMapper<TOrder> {
     Integer getUpgradeNum(@Param("jsid") String jsid, @Param("startDate") Date startDate, @Param("endDate") Date endDate);
 
     BigDecimal getTurnover(@Param("jsid") String jsid, @Param("startDate") Date startDate, @Param("endDate") Date endDate);
+
+    List<HomeBlock> getBlock(@Param("start") Date start, @Param("end") Date end, @Param("deptId") String deptId);
 }

+ 6 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/mapper/TTxRecordMapper.java

@@ -1,13 +1,19 @@
 package com.ylx.massage.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ylx.massage.domain.vo.HomeBlock;
+import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Mapper;
 import com.ylx.massage.domain.TTxRecord;
 
+import java.util.Date;
+import java.util.List;
+
 /**
  * 提现表 Mapper 接口
  */
 @Mapper
 public interface TTxRecordMapper extends BaseMapper<TTxRecord> {
 
+    List<HomeBlock> getBlockGetAmount(@Param("start") Date start, @Param("end") Date end, @Param("deptId") String deptId);
 }

+ 11 - 1
nightFragrance-massage/src/main/java/com/ylx/massage/mapper/TWxUserMapper.java

@@ -2,15 +2,25 @@ package com.ylx.massage.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ylx.massage.domain.vo.HomeBlock;
 import com.ylx.massage.domain.vo.TWxUserVo;
 import org.apache.ibatis.annotations.Mapper;
 import com.ylx.massage.domain.TWxUser;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.Date;
+import java.util.List;
+
 /**
- *  Mapper 接口
+ * Mapper 接口
  */
 @Mapper
 public interface TWxUserMapper extends BaseMapper<TWxUser> {
     Page<TWxUserVo> selectTWxUserList(@Param("page") Page<TWxUserVo> page, @Param("user") TWxUserVo user);
+
+    List<HomeBlock> getBlockGetUser(@Param("start") Date start, @Param("end") Date end, @Param("deptId") String deptId);
+
+    Integer getBlockUser();
+
+
 }

+ 4 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/service/TOrderService.java

@@ -4,9 +4,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ylx.common.core.domain.R;
 import com.ylx.massage.domain.TOrder;
+import com.ylx.massage.domain.vo.HomeBlock;
 
 import java.math.BigDecimal;
 import java.util.Date;
+import java.util.List;
 
 
 /**
@@ -70,4 +72,6 @@ public interface TOrderService extends IService<TOrder> {
     BigDecimal getTurnover(String id, Date startDate, Date endDate);
 
     TOrder transferOrder(TOrder order);
+
+    List<HomeBlock> getBlock(Date start, Date end, String deptId);
 }

+ 7 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/TOrderServiceImpl.java

@@ -16,6 +16,7 @@ import com.ylx.common.core.domain.R;
 import com.ylx.common.exception.ServiceException;
 import com.ylx.massage.domain.*;
 import com.ylx.massage.domain.vo.CouponReceiveVo;
+import com.ylx.massage.domain.vo.HomeBlock;
 import com.ylx.massage.enums.BillTypeEnum;
 import com.ylx.massage.enums.DiscountTypeEnum;
 import com.ylx.massage.enums.JsStatusEnum;
@@ -298,6 +299,12 @@ public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> impleme
         return oldOrder;
     }
 
+    @Override
+    public List<HomeBlock> getBlock(Date start, Date end, String deptId) {
+        return orderMapper.getBlock(start, end, deptId);
+
+    }
+
 
     /**
      * 支付订单

+ 3 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/utils/DateTimeUtils.java

@@ -419,6 +419,9 @@ public final class DateTimeUtils {
         return add(date, Calendar.MONTH, amount);
     }
 
+    public static Date addYears(Date date, int amount) {
+        return add(date, Calendar.YEAR, amount);
+    }
     /**
      * 加减小时
      *

+ 20 - 0
nightFragrance-massage/src/main/resources/mapper/massage/TConsumptionLogMapper.xml

@@ -8,6 +8,8 @@
         <result property="billType" column="bill_type" jdbcType="INTEGER"/>
         <result property="billNo" column="bill_no" jdbcType="VARCHAR"/>
         <result property="openId" column="open_id" jdbcType="VARCHAR"/>
+        <result property="deptId" column="dept_id" jdbcType="VARCHAR"/>
+        <result property="deptName" column="dept_name" jdbcType="VARCHAR"/>
         <result property="isGet" column="is_get" jdbcType="INTEGER"/>
         <result property="note" column="note" jdbcType="VARCHAR"/>
         <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
@@ -41,5 +43,23 @@
         note = values(note), create_time = values(create_time), update_time = values(update_time), is_delete = values(is_delete)
     </insert>
 
+
+    <select id="getBlockGetAmount" resultType="com.ylx.massage.domain.vo.HomeBlock">
+        SELECT
+            DATE_FORMAT( create_time, '%Y-%m' ) AS MONTH,
+            IFNULL(- sum( amount ), 0 ) getAmount
+        FROM
+            t_consumption_log
+        WHERE
+            is_delete = 0
+          AND bill_type = 4
+          AND dept_id = #{deptId}
+          AND create_time BETWEEN #{start} AND #{end}
+        GROUP BY
+            MONTH
+        ORDER BY
+            MONTH
+    </select>
+
 </mapper>
 

+ 29 - 0
nightFragrance-massage/src/main/resources/mapper/massage/TJsMapper.xml

@@ -154,5 +154,34 @@
 <!--            RAND() LIMIT #{ param.suiji }-->
 <!--        </if>-->
     </select>
+    <select id="getBlockGetJs" resultType="com.ylx.massage.domain.vo.HomeBlock">
+        SELECT
+            DATE_FORMAT( create_time, '%Y-%m' ) AS MONTH,
+            count( 1 ) jsNum
+        FROM
+            t_js
+        WHERE
+            is_delete = 0
+          AND n_tong = 1
+        <if test="deptId != 100 and deptId != ''">
+            AND dept_id = #{deptId}
+        </if>
+        GROUP BY
+            MONTH
+        ORDER BY
+            MONTH
+    </select>
+    <select id="getBlockJs" resultType="java.lang.Integer">
+        SELECT
+            count( 1 ) jsNum
+        FROM
+            t_js
+        WHERE
+            is_delete = 0
+          AND n_tong = 1
+        <if test="deptId != 100 and deptId != ''">
+            AND dept_id = #{deptId}
+        </if>
+    </select>
 
 </mapper>

+ 22 - 0
nightFragrance-massage/src/main/resources/mapper/massage/TOrderMapper.xml

@@ -229,4 +229,26 @@
           AND end_time BETWEEN #{startDate} AND #{endDate}
           AND n_status in (4, 5)
     </select>
+
+    <select id="getBlock" resultType="com.ylx.massage.domain.vo.HomeBlock">
+        SELECT
+            DATE_FORMAT( end_time, '%Y-%m' ) AS month,
+            SUM( total_price ) AS turnover,
+            count(1) orderNum
+        FROM
+            t_order
+        WHERE
+            is_delete = 0
+          AND end_time IS NOT NULL
+          AND end_time BETWEEN #{start} AND #{end}
+          AND n_status in (4, 5)
+          <if test="deptId != 100 and deptId != ''">
+            AND dept_id = #{deptId}
+          </if>
+        GROUP BY
+            month
+        ORDER BY
+            month;
+
+    </select>
 </mapper>

+ 20 - 0
nightFragrance-massage/src/main/resources/mapper/massage/TTxRecordMapper.xml

@@ -8,6 +8,8 @@
         <result column="c_open_id" property="cOpenId" />
         <result column="d_price" property="dPrice" />
         <result column="c_time" property="cTime" />
+        <result column="dept_id" property="deptId" />
+        <result column="dept_name" property="deptName" />
         <result column="c_phone" property="cPhone" />
         <result column="c_name" property="cName" />
         <result column="c_image" property="cImage" />
@@ -20,4 +22,22 @@
         c_id, c_open_id, d_price, c_time, c_phone, c_name, c_image, n_status, dt_create_time
     </sql>
 
+    <select id="getBlockGetAmount" resultType="com.ylx.massage.domain.vo.HomeBlock">
+
+        SELECT
+            Date_format( dt_create_time, '%Y-%m' ) AS MONTH,
+            sum( d_price ) getAmount
+        FROM
+            t_tx_record
+        WHERE
+            is_delete = 0
+        <if test="deptId != null and deptId != 100 and deptId != ''">
+            AND dept_id = #{deptId}
+        </if>
+        GROUP BY
+            MONTH
+        ORDER BY
+            MONTH
+    </select>
+
 </mapper>

+ 23 - 0
nightFragrance-massage/src/main/resources/mapper/massage/TWxUserMapper.xml

@@ -63,6 +63,29 @@
         <include refid="selectTWxUserVo"/>
         where id = #{id}
     </select>
+    <select id="getBlockGetUser" resultType="com.ylx.massage.domain.vo.HomeBlock">
+        SELECT
+            DATE_FORMAT( create_time, '%Y-%m' ) AS MONTH,
+            count(1) userNum
+        FROM
+            t_wx_user
+        WHERE
+            is_delete = 0
+        GROUP BY
+            MONTH
+        ORDER BY
+            MONTH
+    </select>
+
+    <select id="getBlockUser" resultType="java.lang.Integer">
+        SELECT
+            count(1) userNum
+        FROM
+            t_wx_user
+        WHERE
+            is_delete = 0
+
+    </select>
 
     <insert id="insertTWxUser" parameterType="TWxUser">
         insert into t_wx_user