Ver Fonte

小店成本管理

yumeng há 6 meses atrás
pai
commit
d91d08cb82

+ 115 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KwaixiaodianInfoJob.java

@@ -0,0 +1,115 @@
+package cn.com.ctop.job.kuaishou.handler;
+
+import cn.com.ctop.common.module.utils.Check;
+import cn.com.ctop.common.module.utils.HttpUtils;
+import cn.com.ctop.kuaishou.modules.batch.Enums.KuaishouHourEnum;
+import cn.com.ctop.kuaishou.modules.batch.Enums.KuaishouMinSecEnum;
+import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouActivityItemListService;
+import cn.com.ctop.kuaishou.modules.batch.service.IKwaixiaodianInfoService;
+import cn.com.ctop.kuaishou.modules.batch.service.YufuSupplyChainService;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.xxl.job.core.handler.annotation.XxlJob;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.util.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.text.SimpleDateFormat;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
+@Slf4j
+@Component
+public class KwaixiaodianInfoJob {
+
+    @Autowired
+    private IKwaixiaodianInfoService kwaixiaodianInfoService;
+
+    private static String historyDateDetailUrl = "http://ruixuan.api.tjyourong.com.cn//kwaixiaodian/jst/costDetail";
+    private static String cleanDataUrl = "http://ruixuan.api.tjyourong.com.cn//kwaixiaodian/jst/cleanCost";
+
+
+    // 获取近两个月数据
+    @XxlJob("historyDateDetail")
+    public void historyDateDetail() throws Exception {
+        String nowDate = DateUtils.getNowDate("yyyy-MM-dd");
+        Long endDate = Long.valueOf(DateUtils.getAnotherDay("yyyy-MM-dd", nowDate, -1).replace("-", ""));
+        Long startDate = Long.valueOf(DateUtils.getAnotherDay("yyyy-MM-dd", nowDate, -60).replace("-", ""));
+        List<JSONObject> dataList = kwaixiaodianInfoService.getSkuList(startDate, endDate);
+        if (!Check.isNull(dataList)) {
+            for (int i = 0; i < dataList.size(); i++) {
+                JSONObject jsonObject = dataList.get(i);
+                String skuId = jsonObject.getString("skuId");
+                Integer dataType = jsonObject.getInteger("dataType");
+                Map<String, Object> requestMap = new HashMap<>();
+                requestMap.put("skuId", skuId);
+                requestMap.put("dataType", dataType);
+                requestMap.put("date", endDate);
+                HttpUtils.httpPostRequest(historyDateDetailUrl, requestMap, null);
+
+            }
+        }
+
+    }
+
+    @XxlJob("cleanHistoryData")
+    public void cleanHistoryData() throws Exception {
+        String nowDate = DateUtils.getNowDate("yyyy-MM-dd");
+        Long date = Long.valueOf(DateUtils.getAnotherDay("yyyy-MM-dd", nowDate, -1).replace("-", ""));
+        List<JSONObject> dataList = kwaixiaodianInfoService.getCleanDate(date);
+        if (!Check.isNull(dataList)) {
+            for (int i = 0; i < dataList.size(); i++) {
+                JSONObject jsonObject = dataList.get(i);
+                String skuId = jsonObject.getString("skuId");
+                Map<String, Object> requestMap = new HashMap<>();
+                requestMap.put("skuId", skuId);
+                HttpUtils.httpPostRequest(cleanDataUrl, requestMap, null);
+            }
+        }
+
+    }
+
+
+    // 获取当天数据
+    @XxlJob("nowDateDetail")
+    public void nowDateDetail() throws Exception {
+        Long nowDate = Long.valueOf(DateUtils.getNowDate("yyyy-MM-dd").replace("-", ""));
+        List<JSONObject> dataList = kwaixiaodianInfoService.getSkuList(nowDate, nowDate);
+        if (!Check.isNull(dataList)) {
+            for (int i = 0; i < dataList.size(); i++) {
+                JSONObject jsonObject = dataList.get(i);
+                String skuId = jsonObject.getString("skuId");
+                Integer dataType = jsonObject.getInteger("dataType");
+                Map<String, Object> requestMap = new HashMap<>();
+                requestMap.put("skuId", skuId);
+                requestMap.put("dataType", dataType);
+                requestMap.put("date", nowDate);
+                HttpUtils.httpPostRequest(historyDateDetailUrl, requestMap, null);
+            }
+        }
+
+    }
+
+    @XxlJob("cleanNowData")
+    public void cleanNowData() throws Exception {
+        Long nowDate = Long.valueOf(DateUtils.getNowDate("yyyy-MM-dd").replace("-", ""));
+        List<JSONObject> dataList = kwaixiaodianInfoService.getCleanDate(nowDate);
+        if (!Check.isNull(dataList)) {
+            for (int i = 0; i < dataList.size(); i++) {
+                JSONObject jsonObject = dataList.get(i);
+                String skuId = jsonObject.getString("skuId");
+                Map<String, Object> requestMap = new HashMap<>();
+                requestMap.put("skuId", skuId);
+                HttpUtils.httpPostRequest(cleanDataUrl, requestMap, null);
+            }
+        }
+
+    }
+
+
+}

+ 12 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/mapper/KwaixiaodianInfoMapper.java

@@ -0,0 +1,12 @@
+package cn.com.ctop.kuaishou.modules.batch.mapper;
+
+import com.alibaba.fastjson.JSONObject;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface KwaixiaodianInfoMapper {
+    List<JSONObject> getSkuList(@Param("startDate") Long startDate, @Param("endDate") Long endDate);
+
+    List<JSONObject> getCleanDate(@Param("date") Long date);
+}

+ 23 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/mapper/xml/KwaixiaodianInfoMapper.xml

@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.com.ctop.kuaishou.modules.batch.mapper.KwaixiaodianInfoMapper">
+
+    <select id="getSkuList" resultType="com.alibaba.fastjson.JSONObject">
+        SELECT t1.sku_nick AS 'skuId', t2.data_type AS 'dataType'
+        FROM ruixuan.kwaixiaodian_order_cursor_list t1
+                 LEFT JOIN ruixuan.kwaixiaodian_jst t2
+                           ON t1.sku_nick = t2.sku_id
+        WHERE t1.stat_date &gt;= #{startDate}
+          AND t1.stat_date &lt;= #{endDate}
+          AND t1.sku_nick IS NOT NULL
+          AND t1.sku_nick != ''
+  AND t2.data_type IS NOT NULL
+        GROUP BY sku_nick
+    </select>
+    <select id="getCleanDate" resultType="com.alibaba.fastjson.JSONObject" parameterType="java.lang.Long">
+        SELECT sku_id AS 'skuId'
+        FROM kwaixiaodian_cost_detail
+        WHERE data_long_date = #{date}
+        GROUP BY sku_id
+    </select>
+</mapper>

+ 11 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/IKwaixiaodianInfoService.java

@@ -0,0 +1,11 @@
+package cn.com.ctop.kuaishou.modules.batch.service;
+
+import com.alibaba.fastjson.JSONObject;
+
+import java.util.List;
+
+public interface IKwaixiaodianInfoService {
+    List<JSONObject> getSkuList(Long startDate, Long endDate);
+
+    List<JSONObject> getCleanDate(Long date);
+}

+ 25 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/impl/KwaixiaodianInfoServiceImpl.java

@@ -0,0 +1,25 @@
+package cn.com.ctop.kuaishou.modules.batch.service.impl;
+
+import cn.com.ctop.kuaishou.modules.batch.mapper.KwaixiaodianInfoMapper;
+import cn.com.ctop.kuaishou.modules.batch.service.IKwaixiaodianInfoService;
+import com.alibaba.fastjson.JSONObject;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class KwaixiaodianInfoServiceImpl implements IKwaixiaodianInfoService {
+    @Autowired
+    private KwaixiaodianInfoMapper kwaixiaodianInfoMapper;
+
+    @Override
+    public List<JSONObject> getSkuList(Long startDate, Long endDate) {
+        return kwaixiaodianInfoMapper.getSkuList(startDate, endDate);
+    }
+
+    @Override
+    public List<JSONObject> getCleanDate(Long date) {
+        return kwaixiaodianInfoMapper.getCleanDate(date);
+    }
+}