Procházet zdrojové kódy

骄阳首页调整

yumeng před 1 rokem
rodič
revize
39017756be

+ 20 - 3
ruixuan-live/src/main/java/com/ruixuan/jiaoyang/controller/JiaoYangReportController.java

@@ -62,6 +62,23 @@ public class JiaoYangReportController extends BaseController {
     }
 
 
+    @GetMapping("/getTypeData")
+    @ApiOperation(value = "商品列表")
+    public JSONObject getTypeData(String orderStartDate, String orderEndDate) throws ParseException, InterruptedException {
+
+        Long start = DateUtils.strDateTimsToInt(orderStartDate);
+        Long end = DateUtils.strDateTimsToInt(orderEndDate);
+        JSONObject data = jiaoYangReportService.getTypeData(start, end);
+        // Thread.sleep(5000);
+
+        JSONObject json = new JSONObject();
+        json.put("code", 200);
+        json.put("msg", "更新数据成功");
+        json.put("success", true);
+        json.put("data", data);
+        return json;
+    }
+
     /**
      * 获取授权商品列表
      *
@@ -606,7 +623,7 @@ public class JiaoYangReportController extends BaseController {
             @ApiParam("商品ID") @RequestParam(value = "itemId", required = false) String itemId, Long userId) {
         Map<String, Object> requestMap = new HashMap<>();
         String roleId = sysRoleService.getRoleBYUserId(userId);
-        if ("jy_bd".equals(roleId) || "jy_bd_manage".equals(roleId) || "jy_scissors_manage".equals(roleId) || "jy_scissors".equals(roleId) || "jy_out_operation_manager".equals(roleId) ||  "jy_out_operation".equals(roleId)) {
+        if ("jy_bd".equals(roleId) || "jy_bd_manage".equals(roleId) || "jy_scissors_manage".equals(roleId) || "jy_scissors".equals(roleId) || "jy_out_operation_manager".equals(roleId) || "jy_out_operation".equals(roleId)) {
             List<Long> userIds = new ArrayList<>();
             if ("jy_bd_manage".equals(roleId) || "jy_scissors_manage".equals(roleId) || "jy_out_operation_manager".equals(roleId)) {
                 Long deptId = sysDeptService.getDeptIdByUserId(userId);
@@ -658,7 +675,7 @@ public class JiaoYangReportController extends BaseController {
             @ApiParam("订单结束时间") @RequestParam(value = "orderEndDate", required = false) String orderEndDate, Long userId) {
         Map<String, Object> requestMap = new HashMap<>();
         String roleId = sysRoleService.getRoleBYUserId(userId);
-        if ("jy_bd".equals(roleId) || "jy_bd_manage".equals(roleId) || "jy_scissors_manage".equals(roleId) || "jy_scissors".equals(roleId)  || "jy_out_operation".equals(roleId) || "jy_out_operation_manager".equals(roleId)) {
+        if ("jy_bd".equals(roleId) || "jy_bd_manage".equals(roleId) || "jy_scissors_manage".equals(roleId) || "jy_scissors".equals(roleId) || "jy_out_operation".equals(roleId) || "jy_out_operation_manager".equals(roleId)) {
             List<Long> userIds = new ArrayList<>();
             if ("jy_bd_manage".equals(roleId) || "jy_scissors_manage".equals(roleId) || "jy_out_operation_manager".equals(roleId)) {
                 Long deptId = sysDeptService.getDeptIdByUserId(userId);
@@ -783,7 +800,7 @@ public class JiaoYangReportController extends BaseController {
             } else {
                 userIds.add(userId);
             }
-             promoterIds = jiaoYangReportService.getPromoterIdsByUserIds(userIds);
+            promoterIds = jiaoYangReportService.getPromoterIdsByUserIds(userIds);
             if (Check.isNull(promoterIds)) {
                 return returnJson;
             }

+ 2 - 0
ruixuan-live/src/main/java/com/ruixuan/jiaoyang/mapper/JiaoYangReportMapper.java

@@ -61,4 +61,6 @@ public interface JiaoYangReportMapper {
     List<JSONObject> getAuthItemList(Map<String, Object> requestMap);
 
     void deleteAuthItem();
+
+    JSONObject getTypeData(@Param("start") Long start, @Param("end") Long end);
 }

+ 2 - 0
ruixuan-live/src/main/java/com/ruixuan/jiaoyang/service/IJiaoYangReportService.java

@@ -59,4 +59,6 @@ public interface IJiaoYangReportService {
     List<JSONObject> getAuthItemList(Map<String, Object> requestMap);
 
     void deleteAuthItem();
+
+    JSONObject getTypeData(Long start, Long end);
 }

+ 5 - 0
ruixuan-live/src/main/java/com/ruixuan/jiaoyang/service/impl/JiaoYangReportServiceImpl.java

@@ -206,4 +206,9 @@ public class JiaoYangReportServiceImpl implements IJiaoYangReportService {
     public void deleteAuthItem() {
         jiaoYangReportMapper.deleteAuthItem();
     }
+
+    @Override
+    public JSONObject getTypeData(Long start, Long end) {
+        return jiaoYangReportMapper.getTypeData(start, end);
+    }
 }

+ 25 - 2
ruixuan-live/src/main/resources/mapper/jiaoyang/JiaoYangReportMapper.xml

@@ -509,7 +509,8 @@
         sum(case when send_status = 1 then 1 else 0 end) as 'deliveryNum',
         sum(case when send_status = 0 and order_status != 80 then 1 else 0 end) as 'notDeliveryNum',
         round(sum(case when send_status = 1 then 1 else 0 end) / sum(case when order_status != 80 then 1 else 0 end),4)
-        as 'deliveryRadio'
+        as 'deliveryRadio',
+        concat(round(sum(mcn_promotion_amount) / sum(pay_amount) * 100, 2),'%' )as 'grossMargin'
         from jy_order_list
         where 1= 1
         <if test="nowDate != null and nowDate != ''">
@@ -547,7 +548,8 @@
         sum(case when send_status = 1 and order_status != 80 then 1 else 0 end) as 'deliveryNum',
         sum(case when send_status = 0 and order_status != 80 then 1 else 0 end) as 'notDeliveryNum',
         round(sum(case when send_status = 1 and order_status != 80 then 1 else 0 end) / sum(case when order_status != 80
-        then 1 else 0 end),4) as 'deliveryRadio'
+        then 1 else 0 end),4) as 'deliveryRadio',
+        concat(round(sum(mcn_promotion_amount) / sum(pay_amount) * 100, 2),'%' )as 'grossMargin'
         from jy_order_list
         where 1= 1
         <if test="start != null and start != ''">
@@ -863,6 +865,27 @@
         </if>
         order by sort_count asc
     </select>
+    <select id="getTypeData" resultType="com.alibaba.fastjson.JSONObject">
+        select concat('自营:', t1.orderNum) as 'selfOrderNum', t1.gmv as 'selfGmv', concat(t1.grossMargin,'%' )as 'selfGrossProfit', concat('分销:', t2.orderNum) as 'disOrderNum', t2.gmv as 'disGmv', concat(t2.grossMargin,'%') as 'disGrossProfit'
+        from (select count(oid) as 'orderNum', round(sum(pay_amount) / 100, 2) as 'gmv', round(sum(mcn_promotion_amount) / sum(pay_amount) * 100, 2) as 'grossMargin'
+              from jy_order_list
+              where 1 = 1
+                and stat_date &gt;= #{start}
+                and stat_date &lt;= #{end}
+                and clip_user_id in (select promoter_id
+                                     from jy_kuaishou_promoter
+                                     where `type` = 1
+                                     group by promoter_id)) t1
+                 join (select count(oid) as 'orderNum', round(sum(pay_amount) / 100, 2) as 'gmv', round(sum(mcn_promotion_amount) / sum(pay_amount) * 100, 2) as 'grossMargin'
+                       from jy_order_list
+                       where 1 = 1
+                         and stat_date &gt;= #{start}
+                         and stat_date &lt;= #{end}
+                         and clip_user_id not in (select promoter_id
+                                                  from jy_kuaishou_promoter
+                                                  where `type` = 1
+                                                  group by promoter_id)) t2
+    </select>
 
 
 </mapper>