yumeng 2 лет назад
Родитель
Сommit
feb0fb0ae9

+ 54 - 3
ruixuan-live/src/main/java/com/ruixuan/isc/controller/SupplyChainController.java

@@ -207,6 +207,7 @@ public class SupplyChainController extends BaseController {
 
 
     /**
     /**
      * 根据商品id获取top达人
      * 根据商品id获取top达人
+     *
      * @param itemId
      * @param itemId
      * @param orderStartDate
      * @param orderStartDate
      * @param orderEndDate
      * @param orderEndDate
@@ -596,6 +597,59 @@ public class SupplyChainController extends BaseController {
     }
     }
 
 
 
 
+    @RequestMapping(value = "/exportPromoterTotal")
+    @ResponseBody
+    public void exportPromoterTotal(HttpServletRequest request, HttpServletResponse response, @RequestBody JSONObject requestJson) throws Exception {
+        Map<String, Object> requestMap = new HashMap<>();
+        if (!Check.isNull(requestJson.getString("orderStartDate"))) {
+            Long start = DateUtils.getStartLongTime(requestJson.getString("orderStartDate"));
+            requestMap.put("start", start);
+        }
+        if (!Check.isNull(requestJson.getString("orderEndDate"))) {
+            Long end = DateUtils.getEndLongTime(requestJson.getString("orderEndDate"));
+            requestMap.put("end", end);
+        }
+        if (!Check.isNull(requestJson.getString("promoterNickName"))) {
+            requestMap.put("promoterNickName", requestJson.getString("promoterNickName"));
+        }
+        if (!Check.isNull(requestJson.getLong("promoterId"))) {
+            requestMap.put("promoterId", requestJson.getLong("promoterId"));
+        }
+        if (!Check.isNull(requestJson.getLong("itemId"))) {
+            requestMap.put("itemId", requestJson.getLong("itemId"));
+        }
+        if (!Check.isNull(requestJson.getString("itemTitle"))) {
+            requestMap.put("itemTitle", requestJson.getString("itemTitle"));
+        }
+        List<JSONObject> list = supplyChainService.exportPromoterTotal(requestMap);
+        List<List<Object>> exportList = new ArrayList<>();
+        if (!Check.isNull(list)) {
+            for (int i = 0; i < list.size(); i++) {
+                JSONObject date = list.get(i);
+                List<Object> export = new ArrayList();
+                export.add(date.getLong("promoterId"));
+                export.add(date.getString("promoterNickName"));
+                export.add(date.getInteger("orderNum"));
+                export.add(date.getInteger("validOrderNUm"));
+                export.add(date.getString("validRadio"));
+                export.add(date.getString("deliveryNum"));
+                export.add(date.getString("deliveryRadio"));
+                exportList.add(export);
+            }
+        }
+
+        String[] headers = {"达人ID", "达人名称", "订单数", "有效订单数", "有效订单率", "发货数", "发货率"};
+        OutputStream os = response.getOutputStream();
+        ExportExcelUtils eeu = new ExportExcelUtils();
+        XSSFWorkbook workbook = new XSSFWorkbook();
+        eeu.exportExcel(workbook, 0, "达人信息", headers, exportList);
+        this.setResponseHeader(response, "达人信息.xls");
+        workbook.write(os);
+        os.flush();
+        os.close();
+    }
+
+
     @RequestMapping(value = "/exportPromoter")
     @RequestMapping(value = "/exportPromoter")
     @ResponseBody
     @ResponseBody
     public void exportPromoter(HttpServletRequest request, HttpServletResponse response, @RequestBody JSONObject requestJson) throws Exception {
     public void exportPromoter(HttpServletRequest request, HttpServletResponse response, @RequestBody JSONObject requestJson) throws Exception {
@@ -725,7 +779,4 @@ public class SupplyChainController extends BaseController {
     }
     }
 
 
 
 
-
-
-
 }
 }

+ 4 - 0
ruixuan-live/src/main/java/com/ruixuan/isc/mapper/SupplyChainMapper.java

@@ -41,9 +41,13 @@ public interface SupplyChainMapper {
 
 
     List<JSONObject> getPromoterRatioList(Map<String, Object> requestMap);
     List<JSONObject> getPromoterRatioList(Map<String, Object> requestMap);
 
 
+    List<JSONObject> exportPromoterTotal(Map<String, Object> requestMap);
+
     List<JSONObject> exportPromoter(Map<String, Object> requestMap);
     List<JSONObject> exportPromoter(Map<String, Object> requestMap);
 
 
     List<JSONObject> exportOrder(Map<String, Object> requestMap);
     List<JSONObject> exportOrder(Map<String, Object> requestMap);
 
 
     List<JSONObject> getTopPromoterByItemId(Map<String, Object> requestMap);
     List<JSONObject> getTopPromoterByItemId(Map<String, Object> requestMap);
+
+
 }
 }

+ 5 - 0
ruixuan-live/src/main/java/com/ruixuan/isc/service/ISupplyChainService.java

@@ -51,6 +51,9 @@ public interface ISupplyChainService {
     //首页-达人排行(无环比)
     //首页-达人排行(无环比)
     List<JSONObject> getPromoterRatioList(Map<String, Object> requestMap);
     List<JSONObject> getPromoterRatioList(Map<String, Object> requestMap);
 
 
+    // 一级页面达人数据
+    List<JSONObject> exportPromoterTotal(Map<String, Object> requestMap);
+
     // 达人数据导出
     // 达人数据导出
     List<JSONObject> exportPromoter(Map<String, Object> requestMap);
     List<JSONObject> exportPromoter(Map<String, Object> requestMap);
 
 
@@ -59,4 +62,6 @@ public interface ISupplyChainService {
 
 
     //根据商品ID获取top达人
     //根据商品ID获取top达人
     List<JSONObject> getTopPromoterByItemId(Map<String, Object> requestMap);
     List<JSONObject> getTopPromoterByItemId(Map<String, Object> requestMap);
+
+
 }
 }

+ 5 - 0
ruixuan-live/src/main/java/com/ruixuan/isc/service/impl/SupplyChainServiceImpl.java

@@ -107,6 +107,11 @@ public class SupplyChainServiceImpl implements ISupplyChainService {
     }
     }
 
 
     @Override
     @Override
+    public List<JSONObject> exportPromoterTotal(Map<String, Object> requestMap) {
+        return supplyChainMapper.exportPromoterTotal(requestMap);
+    }
+
+    @Override
     public List<JSONObject> exportPromoter(Map<String, Object> requestMap) {
     public List<JSONObject> exportPromoter(Map<String, Object> requestMap) {
         return supplyChainMapper.exportPromoter(requestMap);
         return supplyChainMapper.exportPromoter(requestMap);
     }
     }

+ 39 - 0
ruixuan-live/src/main/resources/mapper/isc/SupplyChainMapper.xml

@@ -438,6 +438,44 @@
         group by promoter_id) t
         group by promoter_id) t
         order by t.orderNum desc
         order by t.orderNum desc
     </select>
     </select>
+
+    <select id="exportPromoterTotal" resultType="com.alibaba.fastjson.JSONObject">
+        select *
+        from (
+        select
+        promoter_id as 'promoterId',
+        promoter_nick_name as 'promoterNickName',
+        count(oid) as 'orderNum',
+        sum(case when order_status != 80 then 1 else 0 end) as 'validOrderNUm',
+        round(sum(case when order_status != 80 then 1 else 0 end) / count(oid) * 100,2) as 'validRadio',
+        sum(case when send_status = 1 and order_status != 80 then 1 else 0 end) as 'deliveryNum',
+        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) * 100,2) as 'deliveryRadio'
+        from kuaishou_supply_chain
+        where 1= 1
+        <if test="start != null and start != ''">
+            and order_create_time &gt;= #{start}
+        </if>
+        <if test="end != null and end != ''">
+            and order_create_time &lt;= #{end}
+        </if>
+        <if test="promoterId != null and promoterId != ''">
+            and promoter_id = #{promoterId}
+        </if>
+        <if test="promoterNickName != null and promoterNickName != ''">
+            and promoter_nick_name like concat(concat('%',#{promoterNickName}),'%')
+        </if>
+        <if test="itemId != null and itemId != ''">
+            and item_id = #{itemId}
+        </if>
+        <if test="itemTitle != null and itemTitle != ''">
+            and item_title like concat(concat('%',#{itemTitle}),'%')
+        </if>
+        group by promoter_id) t
+        order by t.orderNum desc
+
+    </select>
+
     <select id="exportPromoter" resultType="com.alibaba.fastjson.JSONObject">
     <select id="exportPromoter" resultType="com.alibaba.fastjson.JSONObject">
         select *
         select *
         from (
         from (
@@ -516,4 +554,5 @@
         order by t.itemId,t.orderNum desc
         order by t.itemId,t.orderNum desc
     </select>
     </select>
 
 
+
 </mapper>
 </mapper>