yumeng 2 years ago
parent
commit
0de497fc29

+ 15 - 12
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouOrderLIstGetJob.java

@@ -45,12 +45,16 @@ public class KuaishouOrderLIstGetJob {
             log.error("cookie数据为空");
             return;
         }
+        Map<Long, Integer> itemMap = activityInfoService.getItemMap();
 
-        List<Long> activityIdList = activityInfoService.getActivityIdList();
-        if(!Check.isNull(activityIdList)){
+        List<JSONObject> activityIdList = activityInfoService.getActivityIdList();
+        if (!Check.isNull(activityIdList)) {
             for (int i = 0; i < activityIdList.size(); i++) {
-                Long activityId = activityIdList.get(i);
-                activityItemListService.getActivityItemList(cookie, 0,activityId);
+                JSONObject jsonObject = activityIdList.get(i);
+                Long activityId = jsonObject.getLong("activityId");
+                Integer activityStatus = jsonObject.getInteger("activityStatus");
+
+                activityItemListService.getActivityItemList(cookie, 0, activityId,activityStatus,itemMap);
                 Thread.sleep(1000);
             }
 
@@ -58,7 +62,6 @@ public class KuaishouOrderLIstGetJob {
         }
 
 
-
     }
 
 
@@ -85,7 +88,7 @@ public class KuaishouOrderLIstGetJob {
     @XxlJob("allOrderGet")
     public void allOrderGet() throws Exception {
         log.info("-------------------------获取快分销订单上个月数据开始数据开始--------------------------");
-     //   List<String> dateList = new ArrayList<>();
+        //   List<String> dateList = new ArrayList<>();
         Map<String, String> monthStartAndEnd = DateUtils.getMonthStartAndEnd();
         String firstDay = monthStartAndEnd.get("firstDay");
         String lastDay = monthStartAndEnd.get("lastDay");
@@ -109,7 +112,7 @@ public class KuaishouOrderLIstGetJob {
                     SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                     Long orderCreateTimeStart = sdf.parse(start).getTime();
                     Long orderCreateTimeEnd = sdf.parse(end).getTime();
-                    ikuaishouSupplyChainService.getOrderList(cookie, 0, orderCreateTimeStart, orderCreateTimeEnd,itemMap);
+                    ikuaishouSupplyChainService.getOrderList(cookie, 0, orderCreateTimeStart, orderCreateTimeEnd, itemMap);
 
                 }
             }
@@ -151,7 +154,7 @@ public class KuaishouOrderLIstGetJob {
                     SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                     Long orderCreateTimeStart = sdf.parse(start).getTime();
                     Long orderCreateTimeEnd = sdf.parse(end).getTime();
-                    ikuaishouSupplyChainService.getOrderList(cookie, 0, orderCreateTimeStart, orderCreateTimeEnd,itemMap);
+                    ikuaishouSupplyChainService.getOrderList(cookie, 0, orderCreateTimeStart, orderCreateTimeEnd, itemMap);
 
                 }
             }
@@ -190,7 +193,7 @@ public class KuaishouOrderLIstGetJob {
                 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                 Long orderCreateTimeStart = sdf.parse(start).getTime();
                 Long orderCreateTimeEnd = sdf.parse(end).getTime();
-                ikuaishouSupplyChainService.getOrderList(cookie, 0, orderCreateTimeStart, orderCreateTimeEnd,itemMap);
+                ikuaishouSupplyChainService.getOrderList(cookie, 0, orderCreateTimeStart, orderCreateTimeEnd, itemMap);
 
             }
         }
@@ -227,7 +230,7 @@ public class KuaishouOrderLIstGetJob {
                 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                 Long orderCreateTimeStart = sdf.parse(start).getTime();
                 Long orderCreateTimeEnd = sdf.parse(end).getTime();
-                ikuaishouSupplyChainService.getOrderList(cookie, 0, orderCreateTimeStart, orderCreateTimeEnd,itemMap);
+                ikuaishouSupplyChainService.getOrderList(cookie, 0, orderCreateTimeStart, orderCreateTimeEnd, itemMap);
 
             }
         }
@@ -260,7 +263,7 @@ public class KuaishouOrderLIstGetJob {
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
             Long orderCreateTimeStart = sdf.parse(start).getTime();
             Long orderCreateTimeEnd = sdf.parse(end).getTime();
-            ikuaishouSupplyChainService.getOrderList(cookie, 0, orderCreateTimeStart, orderCreateTimeEnd,itemMap);
+            ikuaishouSupplyChainService.getOrderList(cookie, 0, orderCreateTimeStart, orderCreateTimeEnd, itemMap);
         }
     }
 
@@ -296,7 +299,7 @@ public class KuaishouOrderLIstGetJob {
                 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                 Long orderCreateTimeStart = sdf.parse(start).getTime();
                 Long orderCreateTimeEnd = sdf.parse(end).getTime();
-                ikuaishouSupplyChainService.getOrderList(cookie, 0, orderCreateTimeStart, orderCreateTimeEnd,itemMap);
+                ikuaishouSupplyChainService.getOrderList(cookie, 0, orderCreateTimeStart, orderCreateTimeEnd, itemMap);
             }
         }
 

+ 4 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/mapper/KuaiShouActivityInfoMapper.java

@@ -3,6 +3,7 @@ package cn.com.ctop.kuaishou.modules.batch.mapper;
 import java.util.List;
 
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouActivityInfo;
+import com.alibaba.fastjson.JSONObject;
 import org.apache.ibatis.annotations.Param;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -17,5 +18,7 @@ public interface KuaiShouActivityInfoMapper extends BaseMapper<KuaiShouActivityI
 
     void replace(@Param(value = "adds") List<KuaiShouActivityInfo> activityInfoList);
 
-    List<Long> getActivityIdList();
+    List<JSONObject> getActivityIdList();
+
+    List<JSONObject> itemList();
 }

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

@@ -20,4 +20,6 @@ public interface KuaiShouActivityItemListMapper extends BaseMapper<KuaiShouActiv
     void replace(@Param(value = "adds") List<KuaiShouActivityItemList> activityInfoList);
 
     List<JSONObject> itemList();
+
+    void updateItemStatusByItem(@Param("itemId") Long itemId, @Param("itemStatus") Integer itemStatus);
 }

+ 8 - 2
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/mapper/xml/KuaiShouActivityInfoMapper.xml

@@ -29,7 +29,13 @@
             )
         </foreach>
     </insert>
-    <select id="getActivityIdList" resultType="java.lang.Long">
-        select activity_id from  ruixuan.kuaishou_activity_info
+    <select id="getActivityIdList" resultType="com.alibaba.fastjson.JSONObject">
+        select activity_id as 'activityId'
+        activity_status as 'activityStatus'
+        from  ruixuan.kuaishou_activity_info
+    </select>
+    <select id="itemList" resultType="com.alibaba.fastjson.JSONObject">
+        select  item_id as 'itemId',activity_item_status as 'activityItemStatus'  from ruixuan.kuaishou_item_list
+
     </select>
 </mapper>

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

@@ -83,6 +83,10 @@
             )
         </foreach>
     </insert>
+    <update id="updateItemStatusByItem">
+        update ruixuan.kuaishou_item_list set activity_item_status = #{itemStatus}
+        where item_id = #{itemId}
+    </update>
 
     <select id="itemList" resultType="com.alibaba.fastjson.JSONObject">
           select item_id as 'itemId',

+ 7 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/IKuaiShouActivityInfoService.java

@@ -1,12 +1,16 @@
 package cn.com.ctop.kuaishou.modules.batch.service;
 
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouActivityInfo;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 快分销-招商信息
+ *
  * @author jeecg-boot
  * 2023-01-10
  * @version V1.0
@@ -15,5 +19,7 @@ public interface IKuaiShouActivityInfoService extends IService<KuaiShouActivityI
 
     void getActivityInfo(String cookie, Integer offset) throws Exception;
 
-    List<Long> getActivityIdList();
+    List<JSONObject> getActivityIdList();
+
+    Map<Long, Integer> getItemMap();
 }

+ 1 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/IKuaiShouActivityItemListService.java

@@ -13,7 +13,7 @@ import java.util.Map;
  */
 public interface IKuaiShouActivityItemListService extends IService<KuaiShouActivityItemList> {
 
-    void getActivityItemList(String cookie, Integer offset,Long activityId) throws Exception;
+    void getActivityItemList(String cookie, Integer offset,Long activityId, Integer activityStatus, Map<Long, Integer> itemMap) throws Exception;
 
     Map<Long, Long> getItemMap();
 }

+ 18 - 2
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/impl/KuaiShouActivityInfoServiceImpl.java

@@ -10,6 +10,7 @@ import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouActivityInfoService;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import lombok.extern.slf4j.Slf4j;
+import org.checkerframework.checker.units.qual.C;
 import org.jeecg.common.util.DateUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -85,14 +86,29 @@ public class KuaiShouActivityInfoServiceImpl extends ServiceImpl<KuaiShouActivit
         if (!Check.isNull(activityInfoList)) {
             activityInfoMapper.replace(activityInfoList);
         }
-        log.info("快分销招商数据更新数量:{}",activityInfoList.size());
+        log.info("快分销招商数据更新数量:{}", activityInfoList.size());
         if (dataArray.size() >= 1000) {
             getActivityInfo(cookie, offset + 1000);
         }
     }
 
     @Override
-    public List<Long> getActivityIdList() {
+    public List<JSONObject> getActivityIdList() {
         return activityInfoMapper.getActivityIdList();
     }
+
+    @Override
+    public Map<Long, Integer> getItemMap() {
+        List<JSONObject> itemList = activityInfoMapper.itemList();
+        Map<Long, Integer> map = new HashMap<>();
+        if (!Check.isNull(itemList)) {
+            for (int i = 0; i < itemList.size(); i++) {
+                JSONObject jsonObject = itemList.get(i);
+                if (!Check.isNull(jsonObject)) {
+                    map.put(jsonObject.getLong("itemId"), jsonObject.getInteger("activityItemStatus"));
+                }
+            }
+        }
+        return map;
+    }
 }

+ 22 - 5
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/impl/KuaiShouActivityItemListServiceImpl.java

@@ -40,7 +40,7 @@ public class KuaiShouActivityItemListServiceImpl extends ServiceImpl<KuaiShouAct
     private KuaiShouActivityItemListMapper activityItemListMapper;
 
     @Override
-    public void getActivityItemList(String cookie, Integer offset, Long activityId) throws Exception {
+    public void getActivityItemList(String cookie, Integer offset, Long activityId, Integer activityStatus, Map<Long, Integer> itemMap) throws Exception {
         Map<String, Object> params = new HashMap<>();
         params.put("limit", 1000);
         params.put("offset", offset);
@@ -69,7 +69,8 @@ public class KuaiShouActivityItemListServiceImpl extends ServiceImpl<KuaiShouAct
         for (int i = 0; i < dataArray.size(); i++) {
             JSONObject jsonObject = dataArray.getJSONObject(i);
             KuaiShouActivityItemList item = new KuaiShouActivityItemList();
-            item.setItemId(jsonObject.getLong("itemId"));
+            Long itemId = jsonObject.getLong("itemId");
+            item.setItemId(itemId);
             item.setItemTitle(jsonObject.getString("itemTitle"));
             item.setItemImgUrl(jsonObject.getString("itemImgUrl"));
             item.setItemLinkUrl(jsonObject.getString("itemLinkUrl"));
@@ -96,7 +97,9 @@ public class KuaiShouActivityItemListServiceImpl extends ServiceImpl<KuaiShouAct
                 item.setContactCreateTime(DateUtils.temp13ToDate(contacJson.getLong("createTime")));
                 item.setContactUpdateTime(DateUtils.temp13ToDate(contacJson.getLong("updateTime")));
             }
-            item.setItemStatus(jsonObject.getInteger("itemStatus"));
+
+            Integer itemStatus = jsonObject.getInteger("itemStatus");
+            item.setItemStatus(itemStatus);
             item.setActivityShowContactTypeList(jsonObject.getString("activityShowContactTypeList"));
             item.setIdentity(jsonObject.getInteger("identity"));
             item.setCooperationBeginTime(DateUtils.temp13ToDate(jsonObject.getLong("cooperationBeginTime")));
@@ -109,15 +112,29 @@ public class KuaiShouActivityItemListServiceImpl extends ServiceImpl<KuaiShouAct
             item.setApplyAuthStatus(jsonObject.getInteger("applyAuthStatus"));
             item.setActivityType(jsonObject.getInteger("activityType"));
             item.setSampleApplyType(jsonObject.getString("sampleApplyType"));
+            if (activityStatus == 4) { // 招商活动结束
+                Integer status = itemMap.get(itemId);
+                if (status != 4) {
+                    activityItemListMapper.updateItemStatusByItem(itemId, 4); // 招商活动失效,修改商品状态为活动结束
+                }
+            } else if (activityStatus == 3) { // 招商活动正常
+                Integer status = itemMap.get(itemId);
+                if (!Check.isNull(status)) { // 0 下架 1在售
+                    if (itemStatus == 0) {
+                        activityItemListMapper.updateItemStatusByItem(itemId, 5); // 商品失效
+                    } else if (itemStatus == 1) {
+                        activityItemListMapper.updateItemStatusByItem(itemId, 2); // 商品在售
+                    }
+                }
+            }
             activityInfoList.add(item);
-
         }
         if (!Check.isNull(activityInfoList)) {
             activityItemListMapper.replace(activityInfoList);
         }
         log.info("快分销招商商品数据更新数量:{}", activityInfoList.size());
         if (dataArray.size() >= 1000) {
-            getActivityItemList(cookie, offset + 1000, activityId);
+            getActivityItemList(cookie, offset + 1000, activityId, activityStatus, itemMap);
         }
     }