wrj 9 miesięcy temu
rodzic
commit
f3cce425b5

+ 18 - 14
nightFragrance-admin/src/main/java/com/ylx/web/controller/massage/HomeController.java

@@ -1,16 +1,13 @@
 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;
@@ -116,7 +113,7 @@ public class HomeController {
 
     @GetMapping("columnar")
     @ApiOperation("首页柱状图")
-    public List<HomeBlock> columnar(String deptId) {
+    public List<HashMap<String, Object>> columnar(String deptId) {
         if(StringUtils.isBlank(deptId)){
             throw new ServiceException("部门Id不能为空");
         }
@@ -140,30 +137,41 @@ public class HomeController {
         blockOrder.addAll(blockUser);
         blockOrder.addAll(blockJs);
         Map<String, List<HomeBlock>> blockMap = blockOrder.stream().collect(Collectors.groupingBy(HomeBlock::getMonth));
-        ArrayList<HomeBlock> block = Lists.newArrayList();
+
+        ArrayList<HashMap<String, Object>> blockM = Lists.newArrayList();
         blockMap.forEach((k, v)->{
 
+            HashMap<String, Object> homeBlockMap = new HashMap<>();
+
             HomeBlock homeBlock = new HomeBlock();
             homeBlock.setMonth(k);
+            homeBlockMap.put("横坐标", k);
 
             Integer userNum = v.stream().map(i -> Optional.ofNullable(i.getUserNum()).orElse(MassageConstants.INTEGER_ZERO)).reduce(0, Integer::sum);
             homeBlock.setUserNum(userNum);
+            homeBlockMap.put("用户总数", userNum);
+
 
             Integer jsNum = v.stream().map(i -> Optional.ofNullable(i.getJsNum()).orElse(MassageConstants.INTEGER_ZERO)).reduce(0, Integer::sum);
             homeBlock.setJsNum(jsNum);
+            homeBlockMap.put("教练总数", jsNum);
 
             Integer orderNum = v.stream().map(i -> Optional.ofNullable(i.getOrderNum()).orElse(MassageConstants.INTEGER_ZERO)).reduce(0, Integer::sum);
             homeBlock.setOrderNum(orderNum);
+            homeBlockMap.put("订单数量", orderNum);
 
-            BigDecimal rurnover = v.stream().map(i -> Optional.ofNullable(i.getTurnover()).orElse(BigDecimal.ZERO)).reduce(BigDecimal.ZERO, BigDecimal::add);
-            homeBlock.setTurnover(rurnover);
+            BigDecimal turnover = v.stream().map(i -> Optional.ofNullable(i.getTurnover()).orElse(BigDecimal.ZERO)).reduce(BigDecimal.ZERO, BigDecimal::add);
+            homeBlock.setTurnover(turnover);
+            homeBlockMap.put("营业额", turnover);
 
             BigDecimal getAmount = v.stream().map(i -> Optional.ofNullable(i.getGetAmount()).orElse(BigDecimal.ZERO)).reduce(BigDecimal.ZERO, BigDecimal::add);
             homeBlock.setGetAmount(getAmount);
+            homeBlockMap.put("提现金额", getAmount);
 
-            block.add(homeBlock);
+            blockM.add(homeBlockMap);
         });
-        return block;
+        blockM.sort(Comparator.comparing(map -> map.get("横坐标").toString()));
+        return blockM;
     }
 
     @GetMapping("ranking")
@@ -172,11 +180,7 @@ public class HomeController {
         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;
+        return jsDayMapper.selectRanking(deptId, start, end);
     }
 
 

+ 2 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/mapper/TJsDayMapper.java

@@ -31,5 +31,7 @@ public interface TJsDayMapper extends BaseMapper<TJsDay> {
      */
     int insertOrUpdateBatch(@Param("entities") List<TJsDay> entities);
 
+    List<TJsDay> selectRanking(@Param("deptId") String deptId, @Param("start") String start, @Param("end") String end);
+
 }
 

+ 21 - 0
nightFragrance-massage/src/main/resources/mapper/massage/TJsDayMapper.xml

@@ -45,5 +45,26 @@
         create_time = values(create_time) update_time = values(update_time) is_delete = values(is_delete)
     </insert>
 
+    <select id="selectRanking" resultType="com.ylx.massage.domain.TJsDay">
+        SELECT
+            open_id openId,
+            NAME NAME,
+            IFNULL( sum( order_num ), 0 ) orderNum
+        FROM
+            t_js_day
+        WHERE
+            is_delete = 0
+        <if test="deptId != 100 and deptId != ''">
+            AND dept_id = #{deptId}
+        </if>
+        GROUP BY
+            openId,
+            NAME
+        ORDER BY
+            orderNum DESC
+        LIMIT 10
+
+    </select>
+
 </mapper>