Browse Source

kwaixiaodian_item_get 添加单价

zhaoxian 7 months ago
parent
commit
59ef14f10d

+ 4 - 0
ruixuan-live/src/main/java/com/ruixuan/isc/entity/KwaixiaodianItemGet.java

@@ -253,5 +253,9 @@ public class KwaixiaodianItemGet {
      * 标品ID
      * 标品ID
      */
      */
     private Long spuId;
     private Long spuId;
+    /**
+     * 商品价格 单位:分
+     */
+    private Long price;
 
 
 }
 }

+ 45 - 5
ruixuan-live/src/main/java/com/ruixuan/isc/service/impl/KwaixiaodianItemGetServiceImpl.java

@@ -6,22 +6,20 @@ import com.kuaishou.merchant.open.api.KsMerchantApiException;
 import com.kuaishou.merchant.open.api.client.AccessTokenKsMerchantClient;
 import com.kuaishou.merchant.open.api.client.AccessTokenKsMerchantClient;
 import com.kuaishou.merchant.open.api.common.utils.GsonUtils;
 import com.kuaishou.merchant.open.api.common.utils.GsonUtils;
 import com.kuaishou.merchant.open.api.request.item.OpenItemGetRequest;
 import com.kuaishou.merchant.open.api.request.item.OpenItemGetRequest;
+import com.kuaishou.merchant.open.api.request.item.OpenItemListGetRequest;
 import com.kuaishou.merchant.open.api.response.item.OpenItemGetResponse;
 import com.kuaishou.merchant.open.api.response.item.OpenItemGetResponse;
+import com.kuaishou.merchant.open.api.response.item.OpenItemListGetResponse;
 import com.ruixuan.common.utils.Check;
 import com.ruixuan.common.utils.Check;
 import com.ruixuan.common.utils.DateUtils;
 import com.ruixuan.common.utils.DateUtils;
 import com.ruixuan.isc.constants.KuaiShouConstants;
 import com.ruixuan.isc.constants.KuaiShouConstants;
 import com.ruixuan.isc.entity.KuaishouAccessToken;
 import com.ruixuan.isc.entity.KuaishouAccessToken;
-import com.ruixuan.isc.entity.KuaishouRewardBaseInfo;
 import com.ruixuan.isc.entity.KwaixiaodianItemGet;
 import com.ruixuan.isc.entity.KwaixiaodianItemGet;
 import com.ruixuan.isc.entity.KwaixiaodianItemGetSku;
 import com.ruixuan.isc.entity.KwaixiaodianItemGetSku;
 import com.ruixuan.isc.mapper.KwaixiaodianItemGetMapper;
 import com.ruixuan.isc.mapper.KwaixiaodianItemGetMapper;
-import com.ruixuan.isc.service.IAccessTokenService;
 import com.ruixuan.isc.service.IKwaixiaodianItemGetService;
 import com.ruixuan.isc.service.IKwaixiaodianItemGetService;
 import com.ruixuan.system.service.ISysDeptService;
 import com.ruixuan.system.service.ISysDeptService;
-import com.ruixuan.system.service.ISysRoleService;
 import com.ruixuan.system.service.ISysUserService;
 import com.ruixuan.system.service.ISysUserService;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
-import org.checkerframework.checker.units.qual.C;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
@@ -87,7 +85,8 @@ public class KwaixiaodianItemGetServiceImpl implements IKwaixiaodianItemGetServi
                 itemGet.setPurchaseLimit(data.getBoolean("purchaseLimit") ? "1" : "0");
                 itemGet.setPurchaseLimit(data.getBoolean("purchaseLimit") ? "1" : "0");
                 //是否是合约机商品,true:是,false:否    ->    1:是,0:否
                 //是否是合约机商品,true:是,false:否    ->    1:是,0:否
                 itemGet.setContractPhone(data.getBoolean("contractPhone") ? "1" : "0");
                 itemGet.setContractPhone(data.getBoolean("contractPhone") ? "1" : "0");
-
+                Long price = getwaiItmPrice(token, kwaiItemId);
+                itemGet.setPrice(price);
                 mapper.replaceKWaixiaodianItems(itemGet);
                 mapper.replaceKWaixiaodianItems(itemGet);
                 replaceItemGetSku(data.getJSONArray("skuInfos"));
                 replaceItemGetSku(data.getJSONArray("skuInfos"));
                 returnJson.put("success", true);
                 returnJson.put("success", true);
@@ -106,6 +105,47 @@ public class KwaixiaodianItemGetServiceImpl implements IKwaixiaodianItemGetServi
         return returnJson;
         return returnJson;
     }
     }
 
 
+    /**
+     * 从列表中拿单价 price
+     * https://open.kwaixiaodian.com/zone/new/docs/api?name=open.item.list.get&version=1
+     * open.item.list.get
+     * 查询商品列表
+     */
+    public Long getwaiItmPrice(KuaishouAccessToken token, Long kwaiItemId) {
+        JSONObject returnJson = new JSONObject();
+        try {
+
+            AccessTokenKsMerchantClient client = new AccessTokenKsMerchantClient(KuaiShouConstants.KFX_URL, token.getAppKey(), token.getSignSecret());
+
+            OpenItemListGetRequest request = new OpenItemListGetRequest();
+            request.setAccessToken(token.getAccessToken());
+            request.setApiMethodVersion(1L);
+            request.setKwaiItemId(kwaiItemId);
+            OpenItemListGetResponse response = null;
+            try {
+                response = client.execute(request);
+            } catch (KsMerchantApiException e) {
+                e.printStackTrace();
+            }
+            JSONObject jsonObject = JSONObject.parseObject(GsonUtils.toJSON(response));
+            String code = jsonObject.getString("code");
+            if ("1".equals(code)) {
+                JSONObject data = jsonObject.getJSONObject("data");
+                JSONObject item = data.getJSONArray("items").getJSONObject(0);
+                if (!Check.isNull(item)) {
+                    return item.getLong("price");
+                }
+            } else {
+                log.error("===kwaixiaodian查询商品列表失败,kwaiItemId:{},信息:{}", kwaiItemId, jsonObject);
+            }
+        } catch (Exception e) {
+            log.error("===kwaixiaodian查询商品列表异常 querykwaiItmInfo");
+            e.printStackTrace();
+        }
+        return null;
+    }
+
+
     @Override
     @Override
     public Integer checkItem(Long companyId, Long itemId) {
     public Integer checkItem(Long companyId, Long itemId) {
         return mapper.checkItem(companyId, itemId);
         return mapper.checkItem(companyId, itemId);

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

@@ -1946,7 +1946,7 @@ public class SupplyChainServiceImpl implements ISupplyChainService {
                 list.add(activityInfo);
                 list.add(activityInfo);
             }
             }
         } else {
         } else {
-            log.error("===团长查询招商活动列表(open.distribution.investment.activity.open.list)失败,信息:{}", obj.getString("msg"));
+            log.error("===团长查询招商活动列表(open.distribution.investment.activity.open.list)失败,tokenId:{},返回信息:{}", accessToken.getId(), obj.toJSONString());
             return;
             return;
         }
         }
 
 
@@ -1974,8 +1974,9 @@ public class SupplyChainServiceImpl implements ISupplyChainService {
         request.setActivityId(activityId);
         request.setActivityId(activityId);
         OpenDistributionInvestmentActivityOpenItemListResponse response = null;
         OpenDistributionInvestmentActivityOpenItemListResponse response = null;
         try {
         try {
+            Thread.sleep(1000);
             response = client.execute(request);
             response = client.execute(request);
-        } catch (KsMerchantApiException e) {
+        } catch (Exception e) {
             e.printStackTrace();
             e.printStackTrace();
         }
         }
         JSONObject obj = JSONObject.parseObject(GsonUtils.toJSON(response));
         JSONObject obj = JSONObject.parseObject(GsonUtils.toJSON(response));
@@ -2020,7 +2021,8 @@ public class SupplyChainServiceImpl implements ISupplyChainService {
                 getActivityItemDetail(accessToken, url, activityId, itIds, dbtype);
                 getActivityItemDetail(accessToken, url, activityId, itIds, dbtype);
             }
             }
         } else {
         } else {
-            log.error("===团长招商活动已报名商品列表(open.distribution.investment.activity.open.item.list)失败,信息:{}", obj.getString("error_msg"));
+            log.error("===团长招商活动已报名商品列表(open.distribution.investment.activity.open.item.list)失败,tokenId:{},活动ID:{}" +
+                    "\n返还信息:{}", accessToken.getId(), activityId, obj);
             return;
             return;
         }
         }
 
 

+ 5 - 3
ruixuan-live/src/main/resources/mapper/isc/KwaixiaodianItemGetMapper.xml

@@ -160,7 +160,8 @@
         contract_phone,
         contract_phone,
         offline_reason,
         offline_reason,
         item_qualification,
         item_qualification,
-        spu_id
+        spu_id,
+        price
         )
         )
         values
         values
             (
             (
@@ -211,7 +212,8 @@
         #{itemGet.contractPhone},
         #{itemGet.contractPhone},
         #{itemGet.offlineReason},
         #{itemGet.offlineReason},
         #{itemGet.itemQualification},
         #{itemGet.itemQualification},
-        #{itemGet.spuId}
+        #{itemGet.spuId},
+        #{itemGet.price}
         )
         )
     </insert>
     </insert>
 
 
@@ -273,7 +275,7 @@
         SELECT COUNT(1)
         SELECT COUNT(1)
         FROM kwaixiaodian_item_get
         FROM kwaixiaodian_item_get
         WHERE company_id = #{companyId}
         WHERE company_id = #{companyId}
-          AND item_id = #{item_Id}
+          AND item_id = #{itemId}
     </select>
     </select>
     <select id="getItemList" resultType="com.ruixuan.isc.entity.KwaixiaodianItemGet">
     <select id="getItemList" resultType="com.ruixuan.isc.entity.KwaixiaodianItemGet">
         SELECT id,
         SELECT id,