2 Commit-ok b8b9138f09 ... 44b9f2e616

Szerző SHA1 Üzenet Dátum
  zhaoxian 44b9f2e616 录入店铺名称 6 hónapja
  zhaoxian 49fd37ff8e 录入店铺名称 6 hónapja

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

@@ -39,6 +39,7 @@ import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -2161,6 +2162,23 @@ public class SupplyChainController extends BaseController {
         thread.start();
     }
 
+    @GetMapping("/insertShopInfo")
+    @ApiOperation(value = "录入店铺名称")
+    public void insertShopInfo(Long tokenId, String bdtype, String date) throws Exception {
+        try {
+            Integer dateInt = null;
+            if (Check.isNull(date)) {
+                //昨天
+                dateInt = DateUtils.getIntegerTime(DateUtils.getSubtractTime(new Date(), 1));
+            } else {
+                dateInt = DateUtils.getIntegerTime(date);
+            }
+            supplyChainService.insertShopInfo(tokenId, bdtype, dateInt);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
     /**
      * 当日2小时内数据新增
      * open.distribution.cps.leader.order.cursor.list

+ 2 - 0
ruixuan-live/src/main/java/com/ruixuan/isc/mapper/AccessTokenMapper.java

@@ -11,6 +11,8 @@ import java.util.List;
 public interface AccessTokenMapper {
     KuaishouAccessToken getAccessToken(Long regId);
 
+    KuaishouAccessToken getAccessTokenBybd(@Param("tokenId") Long tokenId, @Param("bdtype") String bdtype);
+
     KuaishouAccessToken getKWaiAccessToken(String id);
 
     KuaishouAccessToken getKWaiAccessTokenByOpenId(@Param("openId") String openId);

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

@@ -221,6 +221,7 @@ public interface SupplyChainMapper {
     int updateMgsOrderRegimentalSettleAmount(@Param("oid") Long oid, @Param("cpsOrderStatus") Integer cpsOrderStatus);
 
     int updateRocketOrderRegimentalSettleAmount(@Param("oid") Long oid, @Param("cpsOrderStatus") Integer cpsOrderStatus);
+
     int updateRocketOrderRegimentalSettleAmountCS(@Param("oid") Long oid, @Param("cpsOrderStatus") Integer cpsOrderStatus);
 
     int updateYufuOrderRegimentalSettleAmount(@Param("oid") Long oid, @Param("cpsOrderStatus") Integer cpsOrderStatus);
@@ -273,4 +274,7 @@ public interface SupplyChainMapper {
 
     void replaceBatchOrder(@Param("ownership") String ownership, @Param("supplyChainList") List<KuaishouSupplyChain> supplyChainList);
 
+    List<JSONObject> getAllOid(@Param("bdtype") String bdtype, @Param("date") Integer date);
+
+    void replaceBatchShopInfo(@Param("list") List<JSONObject> list);
 }

+ 2 - 0
ruixuan-live/src/main/java/com/ruixuan/isc/service/IAccessTokenService.java

@@ -8,6 +8,8 @@ public interface IAccessTokenService {
 
     KuaishouAccessToken getAccessToken(Long regId);
 
+    KuaishouAccessToken getAccessTokenBybd(Long regId, String bdtype);
+
     KuaishouAccessToken getKWaiAccessToken(String id);
 
     KuaishouAccessToken getKWaiAccessTokenByOpenId(String openId);

+ 4 - 2
ruixuan-live/src/main/java/com/ruixuan/isc/service/ISupplyChainService.java

@@ -180,9 +180,11 @@ public interface ISupplyChainService {
      */
     void addList(String beginDate, String endDate, String pcursor) throws InterruptedException;
 
-    void insertOrderList(Long tokenId,Integer queryType, String beginDate, String endDate) throws Exception;
+    void insertOrderList(Long tokenId, Integer queryType, String beginDate, String endDate) throws Exception;
 
-    void insertNowdayOrderList(Long tokenId)throws Exception;
+    void insertShopInfo(Long tokenId, String queryType, Integer date) throws Exception;
+
+    void insertNowdayOrderList(Long tokenId) throws Exception;
 
     /*
      *团长查询招商活动列表

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

@@ -37,6 +37,11 @@ public class AccessTokenServiceImpl implements IAccessTokenService {
     }
 
     @Override
+    public KuaishouAccessToken getAccessTokenBybd(Long regId, String bdtype) {
+        return accessTokenMapper.getAccessTokenBybd(regId, bdtype);
+    }
+
+    @Override
     public KuaishouAccessToken getKWaiAccessToken(String id) {
         return accessTokenMapper.getKWaiAccessToken(id);
     }

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

@@ -7,10 +7,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.OpenDistributionCpsLeaderOrderDetailRequest;
 import com.kuaishou.merchant.open.api.request.distribution.OpenDistributionInvestmentActivityItemDetailRequest;
 import com.kuaishou.merchant.open.api.request.distribution.OpenDistributionInvestmentActivityOpenItemListRequest;
 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.OpenDistributionCpsLeaderOrderDetailResponse;
 import com.kuaishou.merchant.open.api.response.distribution.OpenDistributionInvestmentActivityItemDetailResponse;
 import com.kuaishou.merchant.open.api.response.distribution.OpenDistributionInvestmentActivityOpenItemListResponse;
 import com.kuaishou.merchant.open.api.response.distribution.OpenDistributionInvestmentActivityOpenListResponse;
@@ -35,9 +37,12 @@ import org.springframework.data.mongodb.core.query.Query;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
 
 @Slf4j
 @Service
@@ -1015,6 +1020,70 @@ public class SupplyChainServiceImpl implements ISupplyChainService {
         }
     }
 
+    static ExecutorService insertShopInfoService = Executors.newFixedThreadPool(6);
+
+    @Override
+    public void insertShopInfo(Long tokenId, String bdtype, Integer date) throws Exception {
+        KuaishouAccessToken token = accessTokenService.getAccessTokenBybd(tokenId, bdtype);
+        List<JSONObject> list = supplyChainMapper.getAllOid(bdtype, date);
+        list.forEach(data -> insertShopInfoService.submit(() -> {
+            try {
+                insertShopInfo(data, token, KuaiShouConstants.KFX_URL);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }));
+    }
+
+    private void insertShopInfo(JSONObject data, KuaishouAccessToken accessToken, String url) {
+        try {
+            String appKey = accessToken.getAppKey();
+            String signSecret = accessToken.getSignSecret();
+            if (Check.isNull(signSecret) || Check.isNull(appKey)) {
+                return;
+            }
+            AccessTokenKsMerchantClient client = new AccessTokenKsMerchantClient(url, appKey, signSecret);
+
+            OpenDistributionCpsLeaderOrderDetailRequest request = new OpenDistributionCpsLeaderOrderDetailRequest();
+            request.setAccessToken(accessToken.getAccessToken());
+            request.setApiMethodVersion(1L);
+
+            request.setOid(data.getLong("oid"));
+            request.setSellerId(data.getLong("seller_id"));
+            request.setFundType(1);
+
+            OpenDistributionCpsLeaderOrderDetailResponse 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)) {
+                JSONArray arr = obj.getJSONArray("data");
+                for (int i = 0; i < arr.size(); i++) {
+                    JSONObject info = arr.getJSONObject(i);
+                    addKuaishouActivityShopInfo(info);
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    private void addKuaishouActivityShopInfo(JSONObject info) {
+        List<JSONObject> list = new ArrayList<>();
+        JSONArray cpsOrderProductView = info.getJSONArray("cpsOrderProductView");
+        for (int i = 0; i < cpsOrderProductView.size(); i++) {
+            JSONObject object = cpsOrderProductView.getJSONObject(i);
+            list.add(object);
+        }
+        if (Check.isNotNull(list) && list.size() > 0) {
+            supplyChainMapper.replaceBatchShopInfo(list);
+        }
+    }
+
     private void getInfo(KuaishouAccessToken accessToken, Long beginTime, Long endTime, String url, String pcursor, Integer counts) throws InterruptedException {
         List<Long> ruixuanList = new ArrayList<>();
         List<Long> mgsList = new ArrayList<>();

+ 7 - 0
ruixuan-live/src/main/resources/mapper/isc/AccessTokenMapper.xml

@@ -38,6 +38,13 @@
         where id = #{regId} limit 1
     </select>
 
+    <select id="getAccessTokenBybd" resultType="com.ruixuan.isc.entity.KuaishouAccessToken">
+        select *
+        from ${bdtype}.kuaishou_access_token
+        where id = #{tokenId} limit 1
+    </select>
+
+
     <select id="getKWaiAccessToken" resultType="com.ruixuan.isc.entity.KuaishouAccessToken">
         select *
         from ruixuan.kwaixiaodian_access_token

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

@@ -4379,4 +4379,28 @@
         </foreach>
     </insert>
 
+
+    <insert id="replaceBatchShopInfo">
+        replace into
+        ruixuan.kuaishou_activity_shop_info
+        (
+        shop_id,
+        shop_title
+        )
+        values
+        <foreach collection="list" item="li" separator=",">
+            (
+            #{li.sellerId},
+            #{li.sellerNickName}
+            )
+        </foreach>
+    </insert>
+
+
+    <select id="getAllOid" resultType="com.alibaba.fastjson.JSONObject">
+        select seller_id, item_id, oid
+        from ${bdtype}.kuaishou_supply_chain
+        where stat_date >= #{date}
+        group by item_id
+    </select>
 </mapper>