123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739 |
- package com.ruixuan.isc.service.impl;
- import com.alibaba.fastjson.JSONArray;
- import com.alibaba.fastjson.JSONObject;
- 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;
- import com.ruixuan.isc.mapper.SupplyChainMapper;
- import com.ruixuan.isc.service.IAccessTokenService;
- import com.ruixuan.isc.service.ISupplyChainService;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- @Slf4j
- @Service
- public class SupplyChainServiceImpl implements ISupplyChainService {
- @Autowired
- private SupplyChainMapper supplyChainMapper;
- @Autowired
- private KuaishouItemListMapper itemListMapper;
- @Autowired
- private IAccessTokenService accessTokenService;
- // 获取订单数据
- @Override
- public List<JSONObject> getOrderList(Map<String, Object> requestMap) {
- List<JSONObject> list = supplyChainMapper.getOrderList(requestMap);
- if (!Check.isNull(list)) {
- for (int i = 0; i < list.size(); i++) {
- JSONObject jsonObject = list.get(i);
- String promoterId = jsonObject.getString("promoterId");
- requestMap.put("promoterId", promoterId);
- List<JSONObject> topOrders = supplyChainMapper.getTopOrders(requestMap);
- jsonObject.put("topOrders", topOrders);
- }
- }
- return list;
- }
- //达人带货详情
- @Override
- public List<JSONObject> anchorOrderDetail(Map<String, Object> requestMap) {
- return supplyChainMapper.anchorOrderDetail(requestMap);
- }
- //订单统计
- @Override
- public List<JSONObject> orderStatistics(Map<String, Object> requestMap) {
- return supplyChainMapper.orderStatistics(requestMap);
- }
- //商品列表
- @Override
- public List<JSONObject> itemList(Map<String, Object> requestMap) {
- List<JSONObject> list = supplyChainMapper.itemList(requestMap);
- return list;
- }
- @Override
- public List<JSONObject> itemBindList(Map<String, Object> requestMap) {
- return supplyChainMapper.itemBindList(requestMap);
- }
- @Override
- public List<JSONObject> itemDetail(Map<String, Object> requestMap) {
- return supplyChainMapper.itemDetail(requestMap);
- }
- @Override
- public List<JSONObject> itemServiceCharge(Map<String, Object> requestMap) {
- return supplyChainMapper.itemServiceCharge(requestMap);
- }
- @Override
- public JSONObject getOrderTotal(Map<String, Object> requestMap) {
- return supplyChainMapper.getOrderTotal(requestMap);
- }
- @Override
- public Double getOrderTotalRatio(Map<String, Object> ratioMap) {
- return supplyChainMapper.getOrderTotalRatio(ratioMap);
- }
- @Override
- public JSONObject getAmountTotal(Map<String, Object> requestMap) {
- return supplyChainMapper.getAmountTotal(requestMap);
- }
- @Override
- public Double getAmountTotalRatio(Map<String, Object> ratioMap) {
- return supplyChainMapper.getAmountTotalRatio(ratioMap);
- }
- @Override
- public JSONObject getServiceAmountTotal(Map<String, Object> requestMap) {
- return supplyChainMapper.getServiceAmountTotal(requestMap);
- }
- @Override
- public List<JSONObject> getOrderRankRatioList(Map<String, Object> requestMap) {
- return supplyChainMapper.getOrderRankRatioList(requestMap);
- }
- @Override
- public List<JSONObject> getOrderRankList(Map<String, Object> requestMap) {
- return supplyChainMapper.getOrderRankList(requestMap);
- }
- @Override
- public List<JSONObject> getPromoterRankRatioList(Map<String, Object> requestMap) {
- return supplyChainMapper.getPromoterRankRatioList(requestMap);
- }
- @Override
- public List<JSONObject> getPromoterRatioList(Map<String, Object> requestMap) {
- return supplyChainMapper.getPromoterRatioList(requestMap);
- }
- @Override
- public List<JSONObject> exportPromoterTotal(Map<String, Object> requestMap) {
- return supplyChainMapper.exportPromoterTotal(requestMap);
- }
- @Override
- public List<JSONObject> exportPromoter(Map<String, Object> requestMap) {
- return supplyChainMapper.exportPromoter(requestMap);
- }
- @Override
- public List<JSONObject> exportOrder(Map<String, Object> requestMap) {
- return supplyChainMapper.exportOrder(requestMap);
- }
- @Override
- public List<JSONObject> getTopPromoterByItemId(Map<String, Object> requestMap) {
- return supplyChainMapper.getTopPromoterByItemId(requestMap);
- }
- @Override
- public List<JSONObject> bindUserItemList(Map<String, Object> requestMap) {
- return supplyChainMapper.bindUserItemList(requestMap);
- }
- @Override
- public List<JSONObject> getSupplyChainUserList() {
- return supplyChainMapper.getSupplyChainUserList();
- }
- @Override
- public boolean unbindUser(Long itemId) {
- return supplyChainMapper.unbindUser(itemId);
- }
- @Override
- public boolean bindUser(Long itemId, Long userId, String nikeName) {
- return supplyChainMapper.bindUser(itemId, userId, nikeName);
- }
- @Override
- public List<JSONObject> adminReportList(Map<String, Object> requestMap) {
- return supplyChainMapper.adminReportList(requestMap);
- }
- @Override
- public List<JSONObject> userItemDetail(Map<String, Object> requestMap) {
- return supplyChainMapper.userItemDetail(requestMap);
- }
- @Override
- public JSONObject getTimeIntervalRatio(Map<String, Object> requestMap) {
- return supplyChainMapper.getTimeIntervalRatio(requestMap);
- }
- @Override
- public List<JSONObject> indexStatistics(Map<String, Object> requestMap) {
- return supplyChainMapper.indexStatistics(requestMap);
- }
- @Override
- public JSONObject itemBindSummary() {
- return supplyChainMapper.itemBindSummary();
- }
- @Override
- public JSONObject userItemTotal(Map<String, Object> requestMap) {
- return supplyChainMapper.userItemTotal(requestMap);
- }
- @Override
- public List<JSONObject> exportUserItemDetail(Map<String, Object> requestMap) {
- return supplyChainMapper.exportUserItemDetail(requestMap);
- }
- @Override
- public JSONObject selectOrderInfo(List<String> promoterIds, String startDate, String endDate) {
- return supplyChainMapper.selectOrderInfo(promoterIds, startDate, endDate);
- }
- @Override
- public JSONObject selectOrderRate(List<String> promoterIds, List<Long> itemIds, Long statDate, Long endDate) {
- return supplyChainMapper.selectOrderRate(promoterIds, itemIds, statDate, endDate);
- }
- @Override
- public JSONObject selectOrderRateBytedance(List<String> promoterIds, List<Long> itemIds, Long statDate, Long endDate) {
- return supplyChainMapper.selectOrderRateBytedance(promoterIds, itemIds, statDate, endDate);
- }
- @Override
- public List<JSONObject> getMonthOrderAmount(Map<String, Object> map) {
- return supplyChainMapper.getMonthOrderAmount(map);
- }
- @Override
- public List<JSONObject> getMonthOrderAmountBytedance(Map<String, Object> map) {
- return supplyChainMapper.getMonthOrderAmountBytedance(map);
- }
- @Override
- public JSONObject getMonthOrderAmountTotalBytedance(Map<String, Object> map) {
- return supplyChainMapper.getMonthOrderAmountTotalBytedance(map);
- }
- @Override
- public List<JSONObject> getMonthOrderAmountByItemsBytedance(Map<String, Object> map) {
- return supplyChainMapper.getMonthOrderAmountByItemsBytedance(map);
- }
- @Override
- public JSONObject getMonthOrderAmountTotalByItemsBytedance(Map<String, Object> map) {
- return supplyChainMapper.getMonthOrderAmountTotalByItemsBytedance(map);
- }
- @Override
- public List<JSONObject> getOrderRankRatioListBytedance(Map<String, Object> requestMap) {
- return supplyChainMapper.getOrderRankRatioListBytedance(requestMap);
- }
- @Override
- public List<JSONObject> getOrderRankListBytedance(Map<String, Object> requestMap) {
- return supplyChainMapper.getOrderRankListBytedance(requestMap);
- }
- @Override
- public List<JSONObject> getPromoterRankRatioListBytedance(Map<String, Object> requestMap) {
- return supplyChainMapper.getPromoterRankRatioListBytedance(requestMap);
- }
- @Override
- public List<JSONObject> getPromoterRatioListBytedance(Map<String, Object> requestMap) {
- return supplyChainMapper.getPromoterRatioListBytedance(requestMap);
- }
- @Override
- public JSONObject selectOrderInfoBytedance(List<String> promoterIds, Long startDate, Long endDate) {
- return supplyChainMapper.selectOrderInfoBytedance(promoterIds, startDate, endDate);
- }
- @Override
- public List<JSONObject> bdReportListV2ByBind(Map<String, Object> requestMap) {
- return supplyChainMapper.bdReportListV2ByBind(requestMap);
- }
- @Override
- public List<JSONObject> exportBindOrder(Map<String, Object> requestMap) {
- return supplyChainMapper.exportBindOrder(requestMap);
- }
- @Override
- public JSONObject getMonthOrderAmountTotal(Map<String, Object> map) {
- return supplyChainMapper.getMonthOrderAmountTotal(map);
- }
- @Override
- public JSONObject selectOrderInfoByItemIds(List<Long> itemIds, String startDate, String endDate) {
- return supplyChainMapper.selectOrderInfoByItemIds(itemIds, startDate, endDate);
- }
- @Override
- public List<JSONObject> getMonthOrderAmountByItems(Map<String, Object> map) {
- return supplyChainMapper.getMonthOrderAmountByItems(map);
- }
- @Override
- public JSONObject getMonthOrderAmountTotalByItems(Map<String, Object> map) {
- return supplyChainMapper.getMonthOrderAmountTotalByItems(map);
- }
- @Override
- public List<JSONObject> bdReportList(Map<String, Object> requestMap) {
- return supplyChainMapper.bdReportList(requestMap);
- }
- @Override
- public List<JSONObject> bdDetailList(Map<String, Object> requestMap) {
- return supplyChainMapper.bdDetailList(requestMap);
- }
- @Override
- public List<JSONObject> bdTotal(Map<String, Object> requestMap) {
- return supplyChainMapper.bdTotal(requestMap);
- }
- @Override
- public List<JSONObject> exportBdDetail(Map<String, Object> requestMap) {
- return supplyChainMapper.exportBdDetail(requestMap);
- }
- @Override
- public String getUserName(Long promoterId) {
- return supplyChainMapper.getUserName(promoterId);
- }
- @Override
- public List<JSONObject> exportBdReportList(Map<String, Object> requestMap) {
- return supplyChainMapper.exportBdReportList(requestMap);
- }
- @Override
- public List<JSONObject> exportAdminReportList(Map<String, Object> requestMap) {
- return supplyChainMapper.exportAdminReportList(requestMap);
- }
- @Override
- public List<JSONObject> getSupplyChainCourtshipUserList() {
- return supplyChainMapper.getSupplyChainCourtshipUserList();
- }
- @Override
- public List<JSONObject> adminReportListByBind(Map<String, Object> requestMap) {
- return supplyChainMapper.adminReportListByBind(requestMap);
- }
- @Override
- public List<JSONObject> exportAdminReportListByBind(Map<String, Object> requestMap) {
- return supplyChainMapper.exportAdminReportListByBind(requestMap);
- }
- @Override
- public List<JSONObject> bdReportListV2(Map<String, Object> requestMap) {
- return supplyChainMapper.bdReportListV2(requestMap);
- }
- @Override
- public List<JSONObject> bdTotalV2(Map<String, Object> requestMap) {
- return supplyChainMapper.bdTotalV2(requestMap);
- }
- @Override
- public List<JSONObject> bdDetailListV2(Map<String, Object> requestMap) {
- return supplyChainMapper.bdDetailListV2(requestMap);
- }
- @Override
- public JSONObject selectOrderInfoByItemIdsBytedance(List<Long> itemIds, Long startDate, Long endDate) {
- return supplyChainMapper.selectOrderInfoByItemIdsBytedance(itemIds, startDate, endDate);
- }
- @Override
- public void updateOrder(JSONObject eventJSon) {
- try {
- JSONObject info = eventJSon.getJSONObject("info");
- if (!Check.isNull(info)) {
- Long oid = info.getLong("oid");
- Integer cpsOrderStatus = info.getInteger("cpsOrderStatus");
- if (cpsOrderStatus == 30) {
- return;
- }
- if (cpsOrderStatus == 60) {
- supplyChainMapper.updateOrderRegimentalSettleAmount(oid, cpsOrderStatus);
- } else {
- supplyChainMapper.updateOrder(oid, cpsOrderStatus);
- }
- log.info("订单ID:{},状态:{} 修改成功", oid, cpsOrderStatus);
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- @Override
- public void updateItem(JSONObject eventJSon) {
- try {
- JSONObject info = eventJSon.getJSONObject("info");
- if (!Check.isNull(info)) {
- Long itemId = info.getLong("itemId");
- Integer status = info.getInteger("status");
- supplyChainMapper.updateItem(itemId, status);
- log.info("商品id:{},状态:{} 修改成功", itemId, status);
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- @Override
- public void addList(String beginDate, String endDate, String pcursor) throws InterruptedException {
- 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, 1);
- }
- Thread.sleep(600000);
- List<KuaishouAccessToken> mgsTokens = accessTokenService.getMgsTokenInfos();
- for (KuaishouAccessToken accessToken : mgsTokens) {
- getMgsInfo(accessToken, beginTime, endTime, url, pcursor, 1);
- }
- }
- private void getInfo(KuaishouAccessToken accessToken, Long beginTime, Long endTime, String url, String pcursor, Integer counts) throws InterruptedException {
- List<Long> 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());
- request.setApiMethodVersion(1L);
- //排序类型 [1:按指定查询类型降序] [2:按指定查询类型升序]
- request.setSortType(1);
- //查询类型 [1:按分销订单创建时间查询] [2:按分销订单更新时间查询][4:按订单实际创建时间查询]
- request.setQueryType(2);
- //分销订单状态 [0:全部订单] [30:已付款] [50:已收货] [60:已结算] [80:已失效]
- request.setCpsOrderStatus(0);
- request.setDistributorId(0l);
- request.setBeginTime(beginTime);
- request.setEndTime(endTime);
- request.setPcursor(pcursor);
- request.setPageize(100);
- request.setFundType(1);
- OpenDistributionCpsLeaderOrderCursorListResponse 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");
- pcursor = data.getString("pcursor");
- JSONArray orderView = data.getJSONArray("orderView");
- for (int i = 0; i < orderView.size(); i++) {
- JSONObject info = orderView.getJSONObject(i);
- Integer sendStatus = info.getInteger("sendStatus");
- if (Check.isNotNull(sendStatus) && sendStatus == 1) {
- list.add(info.getLong("oid"));
- }
- }
- } else {
- log.error("===查询分销团长订单列表(open.distribution.cps.leader.order.cursor.list)失败,信息:{}", obj.getString("msg"));
- log.error("游标:{},执行次数:{}", pcursor, counts);
- if (counts <= 3) {
- getInfo(accessToken, beginTime, endTime, url, pcursor, counts + 1);
- }
- }
- if (Check.isNotNull(list) && list.size() > 0) {
- supplyChainMapper.updateKuaishouSupplyChain(list);
- Thread.sleep(200);
- }
- if (!"nomore".equals(pcursor)) {
- getInfo(accessToken, beginTime, endTime, url, pcursor, 1);
- }
- }
- private void getMgsInfo(KuaishouAccessToken accessToken, Long beginTime, Long endTime, String url, String pcursor, Integer counts) throws InterruptedException {
- List<Long> 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());
- request.setApiMethodVersion(1L);
- //排序类型 [1:按指定查询类型降序] [2:按指定查询类型升序]
- request.setSortType(1);
- //查询类型 [1:按分销订单创建时间查询] [2:按分销订单更新时间查询][4:按订单实际创建时间查询]
- request.setQueryType(2);
- //分销订单状态 [0:全部订单] [30:已付款] [50:已收货] [60:已结算] [80:已失效]
- request.setCpsOrderStatus(0);
- request.setDistributorId(0l);
- request.setBeginTime(beginTime);
- request.setEndTime(endTime);
- request.setPcursor(pcursor);
- request.setPageize(100);
- request.setFundType(1);
- OpenDistributionCpsLeaderOrderCursorListResponse 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");
- pcursor = data.getString("pcursor");
- JSONArray orderView = data.getJSONArray("orderView");
- for (int i = 0; i < orderView.size(); i++) {
- JSONObject info = orderView.getJSONObject(i);
- Integer sendStatus = info.getInteger("sendStatus");
- if (Check.isNotNull(sendStatus) && sendStatus == 1) {
- list.add(info.getLong("oid"));
- }
- }
- } else {
- log.error("===查询分销团长订单列表(open.distribution.cps.leader.order.cursor.list)失败,信息:{}", obj.getString("error_msg"));
- log.error("游标:{},执行次数:{}", pcursor, counts);
- if (counts <= 3) {
- getMgsInfo(accessToken, beginTime, endTime, url, pcursor, counts + 1);
- }
- }
- if (Check.isNotNull(list) && list.size() > 0) {
- supplyChainMapper.updateMgsKuaishouSupplyChain(list);
- Thread.sleep(200);
- }
- if (!"nomore".equals(pcursor)) {
- getMgsInfo(accessToken, beginTime, endTime, url, pcursor, 1);
- }
- }
- private KuaishouSupplyChain organizeData(JSONObject jsonObject, Map<Long, Long> itemMap) {
- KuaishouSupplyChain supplyChain = new KuaishouSupplyChain();
- supplyChain.setOid(jsonObject.getLong("oid"));
- JSONObject item = jsonObject.getJSONArray("cpsOrderProductView").getJSONObject(0);
- if (!Check.isNull(item)) {
- supplyChain.setItemId(item.getLong("itemId"));
- supplyChain.setItemTitle(item.getString("itemTitle"));
- supplyChain.setReservePrice(item.getLong("itemPrice"));
- supplyChain.setImageUrl(itemListMapper.getItemImgUrl(item.getLong("itemId")));
- supplyChain.setSellerId(item.getLong("sellerId"));
- }
- supplyChain.setOrderStatus(jsonObject.getInteger("cpsOrderStatus"));
- supplyChain.setOrderCreateTime(jsonObject.getLong("orderCreateTime"));
- supplyChain.setSendStatus(jsonObject.getInteger("sendStatus"));
- supplyChain.setSettlementBizType(jsonObject.getInteger("settlementBizType"));
- supplyChain.setSettlementBizTypeDesc(getSettlementBizTypeDesc(jsonObject.getInteger("settlementBizType")));
- supplyChain.setSendTime(jsonObject.getLong("sendTime"));
- supplyChain.setRecvTime(jsonObject.getLong("recvTime"));
- supplyChain.setPromoterId(jsonObject.getLong("promotionId"));
- supplyChain.setPromoterNickName(jsonObject.getString("promotionNickName"));
- supplyChain.setActivityId(jsonObject.getLong("activityId"));
- supplyChain.setOrderAmount(jsonObject.getLong("payAmount"));
- supplyChain.setPayAmount(jsonObject.getLong("payAmount"));
- supplyChain.setRegimentalPromotionRate(jsonObject.getLong("regimentalPromotionRate"));
- supplyChain.setShareRate(jsonObject.getLong("shareRateStr"));
- supplyChain.setBaseAmount(jsonObject.getLong("baseAmount"));
- supplyChain.setRegimentalPromotionAmount(jsonObject.getLong("regimentalPromotionAmount") / 1000);
- supplyChain.setTotalRegimentalSettleAmount(jsonObject.getLong("settlementAmount"));
- supplyChain.setStatDate(DateUtils.tempToDate(jsonObject.getLong("orderCreateTime")));
- supplyChain.setItemCommissionRate(itemMap.get(item.getLong("itemId")));
- return supplyChain;
- }
- private String getSettlementBizTypeDesc(Integer settlementBizType) {
- return settlementBizType == 1 ? "快分销" : "聚力计划";
- }
- // 获取订单佣金率
- public Map<Long, Long> getItemMap() {
- Map<Long, Long> returnMap = new HashMap<>();
- List<JSONObject> list = itemListMapper.itemList();
- if (!Check.isNull(list)) {
- for (int i = 0; i < list.size(); i++) {
- JSONObject jsonObject = list.get(i);
- returnMap.put(jsonObject.getLong("itemId"), jsonObject.getLong("itemCommissionRate"));
- }
- }
- return returnMap;
- }
- @Override
- public void addListKuaishouActivityInfo() throws InterruptedException {
- String url = "https://openapi.kwaixiaodian.com";
- List<KuaishouAccessToken> tokens = accessTokenService.getTokenInfos();
- for (KuaishouAccessToken accessToken : tokens) {
- getInfoKuaishouActivityInfo(accessToken, url);
- }
- Thread.sleep(600000);
- List<KuaishouAccessToken> mgsTokens = accessTokenService.getMgsTokenInfos();
- for (KuaishouAccessToken mgsToken : mgsTokens) {
- getMgsInfoKuaishouActivityInfo(mgsToken, url);
- }
- }
- @Override
- public List<JSONObject> getBytedanceOrderHourDataList(Long date) {
- return supplyChainMapper.getBytedanceOrderHourDataList(date);
- }
- @Override
- public List<JSONObject> getKuaishouOrderHourDataList(String date) {
- return supplyChainMapper.getKuaishouOrderHourDataList(date);
- }
- 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;
- }
- private void getMgsInfoKuaishouActivityInfo(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.replaceMgsKuaishouActivityInfo(list);
- }
- }
- }
|