Browse Source

添加 清洗 团长查询招商活动列表

zhaoxian 1 year ago
parent
commit
f35f7b7e86

+ 7 - 0
ruixuan-live/src/main/java/com/ruixuan/isc/controller/SupplyChainController.java

@@ -1922,4 +1922,11 @@ public class SupplyChainController extends BaseController {
     }
 
 
+
+    @GetMapping("/addListKuaishouActivityInfo")
+    @ApiOperation(value = "团长查询招商活动列表")
+    public void addListKuaishouActivityInfo() {
+        supplyChainService.addListKuaishouActivityInfo();
+    }
+
 }

+ 60 - 0
ruixuan-live/src/main/java/com/ruixuan/isc/entity/KuaiShouActivityInfo.java

@@ -0,0 +1,60 @@
+package com.ruixuan.isc.entity;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 快分销-招商信息
+ */
+@Data
+@ApiModel(value = "kuaishou_activity_info对象", description = "快分销-招商信息")
+public class KuaiShouActivityInfo {
+
+    /**
+     * 活动ID
+     */
+    private Long activityId;
+    private Long regimentalId;
+    /**
+     * 活动标题
+     */
+    private String activityTitle;
+    /**
+     * 活动类型
+     */
+    private Integer activityType;
+    /**
+     * 招商开始时间
+     */
+    private String activityBeginTime;
+    /**
+     * 招商结束时间
+     */
+    private String activityEndTime;
+    /**
+     * 活动状态
+     */
+    private Integer activityStatus;
+    /**
+     * 报名数
+     */
+    private Integer applyItemCount;
+    /**
+     * 待审核
+     */
+    private Integer waitAuditItemCount;
+    /**
+     * 审核通过
+     */
+    private Integer auditPassItemCount;
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+    /**
+     * 修改时间
+     */
+    private Date updateTime;
+}

+ 2 - 62
ruixuan-live/src/main/java/com/ruixuan/isc/entity/KuaishouAccessToken.java

@@ -1,7 +1,9 @@
 package com.ruixuan.isc.entity;
 
 import com.ruixuan.common.core.domain.BaseEntity;
+import lombok.Data;
 
+@Data
 public class KuaishouAccessToken extends BaseEntity {
 
     private static final long serialVersionUID = 1L;
@@ -13,66 +15,4 @@ public class KuaishouAccessToken extends BaseEntity {
     private String appSecret;
     private String signSecret;
 
-    public static long getSerialVersionUID() {
-        return serialVersionUID;
-    }
-
-    public String getId() {
-        return id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    public String getAccessToken() {
-        return accessToken;
-    }
-
-    public void setAccessToken(String accessToken) {
-        this.accessToken = accessToken;
-    }
-
-    public String getRefreshToken() {
-        return refreshToken;
-    }
-
-    public void setRefreshToken(String refreshToken) {
-        this.refreshToken = refreshToken;
-    }
-
-    public String getAppKey() {
-        return appKey;
-    }
-
-    public void setAppKey(String appKey) {
-        this.appKey = appKey;
-    }
-
-    public String getSignSecret() {
-        return signSecret;
-    }
-
-    public void setSignSecret(String signSecret) {
-        this.signSecret = signSecret;
-    }
-
-    public String getAppSecret() {
-        return appSecret;
-    }
-
-    public void setAppSecret(String appSecret) {
-        this.appSecret = appSecret;
-    }
-
-    @Override
-    public String toString() {
-        return "KuaishouAccessToken{" +
-                "id='" + id + '\'' +
-                ", accessToken='" + accessToken + '\'' +
-                ", refreshToken='" + refreshToken + '\'' +
-                ", appKey='" + appKey + '\'' +
-                ", appSecret='" + appSecret + '\'' +
-                '}';
-    }
 }

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

@@ -1,6 +1,7 @@
 package com.ruixuan.isc.mapper;
 
 import com.alibaba.fastjson.JSONObject;
+import com.ruixuan.isc.entity.KuaiShouActivityInfo;
 import com.ruixuan.isc.entity.KuaishouSupplyChain;
 import org.apache.ibatis.annotations.Param;
 
@@ -149,4 +150,6 @@ public interface SupplyChainMapper {
     void updateOrder(@Param("oid") Long oid, @Param("cpsOrderStatus") Integer cpsOrderStatus);
 
     void updateItem(@Param("itemId") Long itemId, @Param("status") Integer status);
+
+    void replaceKuaishouActivityInfo(@Param("list") List<KuaiShouActivityInfo> list);
 }

+ 15 - 1
ruixuan-live/src/main/java/com/ruixuan/isc/service/ISupplyChainService.java

@@ -17,6 +17,7 @@ public interface ISupplyChainService {
 
     //商品列表
     List<JSONObject> itemList(Map<String, Object> requestMap);
+
     List<JSONObject> itemBindList(Map<String, Object> requestMap);
 
     //商品详情
@@ -131,6 +132,7 @@ public interface ISupplyChainService {
 
     // 招商管理 绑定时间查询
     List<JSONObject> adminReportListByBind(Map<String, Object> requestMap);
+
     // 招商管理 绑定时间下载
     List<JSONObject> exportAdminReportListByBind(Map<String, Object> requestMap);
 
@@ -165,9 +167,21 @@ public interface ISupplyChainService {
 
     List<JSONObject> exportBindOrder(Map<String, Object> requestMap);
 
-    void addList(String beginDate, String endDate,String pcursor);
 
     void updateOrder(JSONObject eventJSon);
 
     void updateItem(JSONObject eventJSon);
+
+    /*
+     *分销团长订单列表(游标方式)
+     * open.distribution.cps.leader.order.cursor.list
+     */
+    void addList(String beginDate, String endDate, String pcursor);
+
+    /*
+     *团长查询招商活动列表
+     * open.distribution.investment.activity.open.list
+     */
+    void addListKuaishouActivityInfo();
+
 }

+ 88 - 14
ruixuan-live/src/main/java/com/ruixuan/isc/service/impl/SupplyChainServiceImpl.java

@@ -6,9 +6,12 @@ import com.kuaishou.merchant.open.api.KsMerchantApiException;
 import com.kuaishou.merchant.open.api.client.AccessTokenKsMerchantClient;
 import com.kuaishou.merchant.open.api.common.utils.GsonUtils;
 import com.kuaishou.merchant.open.api.request.distribution.OpenDistributionCpsLeaderOrderCursorListRequest;
+import com.kuaishou.merchant.open.api.request.distribution.OpenDistributionInvestmentActivityOpenListRequest;
 import com.kuaishou.merchant.open.api.response.distribution.OpenDistributionCpsLeaderOrderCursorListResponse;
+import com.kuaishou.merchant.open.api.response.distribution.OpenDistributionInvestmentActivityOpenListResponse;
 import com.ruixuan.common.utils.Check;
 import com.ruixuan.common.utils.DateUtils;
+import com.ruixuan.isc.entity.KuaiShouActivityInfo;
 import com.ruixuan.isc.entity.KuaishouAccessToken;
 import com.ruixuan.isc.entity.KuaishouSupplyChain;
 import com.ruixuan.isc.mapper.KuaishouItemListMapper;
@@ -395,19 +398,6 @@ public class SupplyChainServiceImpl implements ISupplyChainService {
         return supplyChainMapper.selectOrderInfoByItemIdsBytedance(itemIds, startDate, endDate);
     }
 
-
-    @Override
-    public void addList(String beginDate, String endDate, String pcursor) {
-        String url = "https://openapi.kwaixiaodian.com";
-        Long beginTime = DateUtils.getStartLongTime(beginDate);
-        Long endTime = DateUtils.getEndLongTime(endDate);
-        Map<Long, Long> itemMap = getItemMap();
-        List<KuaishouAccessToken> tokens = accessTokenService.getTokenInfos();
-        for (KuaishouAccessToken accessToken : tokens) {
-            getInfo(accessToken, beginTime, endTime, url, pcursor, itemMap);
-        }
-    }
-
     @Override
     public void updateOrder(JSONObject eventJSon) {
         try {
@@ -445,10 +435,25 @@ public class SupplyChainServiceImpl implements ISupplyChainService {
         }
     }
 
+    @Override
+    public void addList(String beginDate, String endDate, String pcursor) {
+        String url = "https://openapi.kwaixiaodian.com";
+        Long beginTime = DateUtils.getStartLongTime(beginDate);
+        Long endTime = DateUtils.getEndLongTime(endDate);
+        Map<Long, Long> itemMap = getItemMap();
+        List<KuaishouAccessToken> tokens = accessTokenService.getTokenInfos();
+        for (KuaishouAccessToken accessToken : tokens) {
+            getInfo(accessToken, beginTime, endTime, url, pcursor, itemMap);
+        }
+    }
+
     private void getInfo(KuaishouAccessToken accessToken, Long beginTime, Long endTime, String url, String pcursor, Map<Long, Long> itemMap) {
         List<KuaishouSupplyChain> list = new ArrayList<>();
         String appKey = accessToken.getAppKey();
         String signSecret = accessToken.getSignSecret();
+        if (Check.isNull(signSecret) || Check.isNull(appKey)) {
+            return;
+        }
         AccessTokenKsMerchantClient client = new AccessTokenKsMerchantClient(url, appKey, signSecret);
         OpenDistributionCpsLeaderOrderCursorListRequest request = new OpenDistributionCpsLeaderOrderCursorListRequest();
         request.setAccessToken(accessToken.getAccessToken());
@@ -485,7 +490,7 @@ public class SupplyChainServiceImpl implements ISupplyChainService {
                 list.add(chain);
             }
         } else {
-            log.error("===查询分销团长订单列表(https://openapi.kwaixiaodian.com)失败,信息:{}" + obj.getString("msg"));
+            log.error("===查询分销团长订单列表(open.distribution.cps.leader.order.cursor.list)失败,信息:{}" + obj.getString("msg"));
             return;
         }
 
@@ -550,5 +555,74 @@ public class SupplyChainServiceImpl implements ISupplyChainService {
         return returnMap;
     }
 
+
+    @Override
+    public void addListKuaishouActivityInfo() {
+        String url = "https://openapi.kwaixiaodian.com";
+        List<KuaishouAccessToken> tokens = accessTokenService.getTokenInfos();
+        for (KuaishouAccessToken accessToken : tokens) {
+            getInfoKuaishouActivityInfo(accessToken, url);
+        }
+    }
+
+    private void getInfoKuaishouActivityInfo(KuaishouAccessToken accessToken, String url) {
+        List<KuaiShouActivityInfo> list = new ArrayList<>();
+        String appKey = accessToken.getAppKey();
+        String signSecret = accessToken.getSignSecret();
+        if (Check.isNull(signSecret) || Check.isNull(appKey)) {
+            return;
+        }
+        AccessTokenKsMerchantClient client = new AccessTokenKsMerchantClient(url, appKey, signSecret);
+        OpenDistributionInvestmentActivityOpenListRequest request = new OpenDistributionInvestmentActivityOpenListRequest();
+
+        request.setAccessToken(accessToken.getAccessToken());
+        request.setApiMethodVersion(1L);
+
+        //每页活动数量
+        request.setLimit(5000);
+        OpenDistributionInvestmentActivityOpenListResponse response = null;
+        try {
+            response = client.execute(request);
+        } catch (KsMerchantApiException e) {
+            e.printStackTrace();
+        }
+        JSONObject obj = JSONObject.parseObject(GsonUtils.toJSON(response));
+        String code = obj.getString("code");
+        if ("1".equals(code)) {
+            JSONObject data = obj.getJSONObject("data");
+            JSONArray result = data.getJSONArray("result");
+            for (int i = 0; i < result.size(); i++) {
+                JSONObject info = result.getJSONObject(i);
+                KuaiShouActivityInfo activityInfo = organizeKuaishouActivityInfo(info);
+                list.add(activityInfo);
+            }
+        } else {
+            log.error("===团长查询招商活动列表(open.distribution.investment.activity.open.list)失败,信息:{}" + obj.getString("msg"));
+            return;
+        }
+
+        if (Check.isNotNull(list) && list.size() > 0) {
+            supplyChainMapper.replaceKuaishouActivityInfo(list);
+        }
+    }
+
+    private KuaiShouActivityInfo organizeKuaishouActivityInfo(JSONObject jsonObject) {
+        KuaiShouActivityInfo activityInfo = new KuaiShouActivityInfo();
+        activityInfo.setActivityId(jsonObject.getLong("activityId"));
+        activityInfo.setRegimentalId(jsonObject.getLong("activityUserId"));
+        activityInfo.setActivityTitle(jsonObject.getString("activityTitle"));
+        activityInfo.setActivityType(jsonObject.getInteger("activityType"));
+        activityInfo.setActivityBeginTime(DateUtils.tempToDate(jsonObject.getLong("activityBeginTime")));
+        activityInfo.setActivityEndTime(DateUtils.tempToDate(jsonObject.getLong("activityEndTime")));
+        activityInfo.setActivityStatus(jsonObject.getInteger("activityStatus"));
+        JSONObject activityItemDataInfo = jsonObject.getJSONObject("activityItemDataView");
+        if (!Check.isNull(activityItemDataInfo)) {
+            activityInfo.setApplyItemCount(activityItemDataInfo.getInteger("applyItemCount"));
+            activityInfo.setWaitAuditItemCount(activityItemDataInfo.getInteger("waitAuditItemCount"));
+            activityInfo.setAuditPassItemCount(activityItemDataInfo.getInteger("auditPassItemCount"));
+        }
+        return activityInfo;
+    }
+
 }
 

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

@@ -2515,4 +2515,34 @@
         </foreach>
     </insert>
 
+    <insert id="replaceKuaishouActivityInfo">
+        replace into ruixuan.kuaishou_activity_info(
+        activity_id,
+        regimental_id,
+        activity_title,
+        activity_type,
+        activity_begin_time,
+        activity_end_time,
+        activity_status,
+        apply_item_count,
+        wait_audit_item_count,
+        audit_pass_item_count
+        )
+        values
+        <foreach collection="list" item="add" separator=",">
+            (
+            #{add.activityId},
+            #{add.regimentalId},
+            #{add.activityTitle},
+            #{add.activityType},
+            #{add.activityBeginTime},
+            #{add.activityEndTime},
+            #{add.activityStatus},
+            #{add.applyItemCount},
+            #{add.waitAuditItemCount},
+            #{add.auditPassItemCount}
+            )
+        </foreach>
+    </insert>
+
 </mapper>