|
@@ -1,6 +1,7 @@
|
|
package com.kmall.admin.haikong.task;
|
|
package com.kmall.admin.haikong.task;
|
|
|
|
|
|
import com.fasterxml.jackson.core.type.TypeReference;
|
|
import com.fasterxml.jackson.core.type.TypeReference;
|
|
|
|
+import com.kmall.admin.entity.OrderGoodsEntity;
|
|
import com.kmall.admin.entity.haikong.HaiKongMemberOrderSyncResendEntity;
|
|
import com.kmall.admin.entity.haikong.HaiKongMemberOrderSyncResendEntity;
|
|
import com.kmall.admin.entity.haikong.HaiKongMemberScoreChangeRecordEntity;
|
|
import com.kmall.admin.entity.haikong.HaiKongMemberScoreChangeRecordEntity;
|
|
import com.kmall.admin.haikong.client.HaiKongMemberTemplate;
|
|
import com.kmall.admin.haikong.client.HaiKongMemberTemplate;
|
|
@@ -10,6 +11,7 @@ import com.kmall.admin.haikong.dto.MemberOrderInfoSyncDTO;
|
|
import com.kmall.admin.haikong.dto.MemberScoreChangeDTO;
|
|
import com.kmall.admin.haikong.dto.MemberScoreChangeDTO;
|
|
import com.kmall.admin.haikong.dto.MemberScoreChangeResponseDTO;
|
|
import com.kmall.admin.haikong.dto.MemberScoreChangeResponseDTO;
|
|
import com.kmall.admin.haikong.utils.Response;
|
|
import com.kmall.admin.haikong.utils.Response;
|
|
|
|
+import com.kmall.admin.service.OrderGoodsService;
|
|
import com.kmall.admin.service.haikong.HaiKongMemberOrderSyncResendService;
|
|
import com.kmall.admin.service.haikong.HaiKongMemberOrderSyncResendService;
|
|
import com.kmall.admin.utils.jackson.JacksonUtil;
|
|
import com.kmall.admin.utils.jackson.JacksonUtil;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
@@ -20,10 +22,7 @@ import org.springframework.scheduling.annotation.Scheduled;
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.util.CollectionUtils;
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
|
-import java.util.Date;
|
|
|
|
-import java.util.List;
|
|
|
|
-import java.util.Objects;
|
|
|
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 重发会员消费订单同步定时任务
|
|
* 重发会员消费订单同步定时任务
|
|
@@ -39,6 +38,9 @@ public class MemberOrderSyncResendTask {
|
|
private HaiKongMemberTemplate haiKongMemberTemplate;
|
|
private HaiKongMemberTemplate haiKongMemberTemplate;
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
|
|
+ private OrderGoodsService orderGoodsService;
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
private HaiKongMemberOrderSyncResendService haiKongMemberOrderSyncResendService;
|
|
private HaiKongMemberOrderSyncResendService haiKongMemberOrderSyncResendService;
|
|
|
|
|
|
@Scheduled(cron = "0 0/2 * * * ?")
|
|
@Scheduled(cron = "0 0/2 * * * ?")
|
|
@@ -52,6 +54,27 @@ public class MemberOrderSyncResendTask {
|
|
List<HaiKongMemberOrderSyncResendEntity> failedList = new ArrayList<>();
|
|
List<HaiKongMemberOrderSyncResendEntity> failedList = new ArrayList<>();
|
|
haiKongMemberOrderSyncResendEntities.forEach(haiKongMemberOrderSyncResendEntity -> {
|
|
haiKongMemberOrderSyncResendEntities.forEach(haiKongMemberOrderSyncResendEntity -> {
|
|
MemberOrderInfoSyncDTO memberOrderInfoSyncDTO = new MemberOrderInfoSyncDTO();
|
|
MemberOrderInfoSyncDTO memberOrderInfoSyncDTO = new MemberOrderInfoSyncDTO();
|
|
|
|
+ //新增传给海控会员系统添加商品明细
|
|
|
|
+ HashMap<String, Object> orderIdMap = new HashMap<>();
|
|
|
|
+ orderIdMap.put("orderId",haiKongMemberOrderSyncResendEntity.getOrderId());
|
|
|
|
+ List<OrderGoodsEntity> orderGoodsEntities = orderGoodsService.queryList(orderIdMap);
|
|
|
|
+ List list = new ArrayList<Map>();
|
|
|
|
+ for (OrderGoodsEntity orderGoodsEntity : orderGoodsEntities) {
|
|
|
|
+ HashMap<Object, Object> map = new HashMap<>();
|
|
|
|
+ map.put("item_no",orderGoodsEntity.getSku());//商品编码
|
|
|
|
+ map.put("item_name",orderGoodsEntity.getGoodsName());//名称
|
|
|
|
+ map.put("item_price",orderGoodsEntity.getActualPaymentAmount());//商品实际支付金额
|
|
|
|
+ //会员系统那边开发可不传这两个字段
|
|
|
|
+// map.put("add_score");//商品基础积分
|
|
|
|
+// map.put("active_score",);//商品活动积分
|
|
|
|
+ map.put("use_score",orderGoodsEntity.getDeductionScore());//商品使用积分抵扣
|
|
|
|
+ map.put("deduction_money",orderGoodsEntity.getDeductionPrice());//商品积分抵扣金额
|
|
|
|
+ map.put("item_num",orderGoodsEntity.getNumber());//商品数量
|
|
|
|
+ list.add(map);
|
|
|
|
+ }
|
|
|
|
+ memberOrderInfoSyncDTO.setItemInfoList(list);
|
|
|
|
+
|
|
|
|
+
|
|
BeanUtils.copyProperties(haiKongMemberOrderSyncResendEntity, memberOrderInfoSyncDTO);
|
|
BeanUtils.copyProperties(haiKongMemberOrderSyncResendEntity, memberOrderInfoSyncDTO);
|
|
String body = JacksonUtil.toJson(memberOrderInfoSyncDTO);
|
|
String body = JacksonUtil.toJson(memberOrderInfoSyncDTO);
|
|
haiKongMemberOrderSyncResendEntity.setLastResendTime(new Date());
|
|
haiKongMemberOrderSyncResendEntity.setLastResendTime(new Date());
|
|
@@ -74,7 +97,9 @@ public class MemberOrderSyncResendTask {
|
|
log.error("【重发】请求会员消费订单同步接口失败!响应:{}", responseJson);
|
|
log.error("【重发】请求会员消费订单同步接口失败!响应:{}", responseJson);
|
|
}
|
|
}
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
- haiKongMemberOrderSyncResendEntity.setResendStatus(HaiKongMemberOrderResendStatusEnum.NON_RESEND.getStatus());
|
|
|
|
|
|
+// lhm 重发状态是修改成无需重发应修改为重发失败供定时器去重发
|
|
|
|
+// haiKongMemberOrderSyncResendEntity.setResendStatus(HaiKongMemberOrderResendStatusEnum.NON_RESEND.getStatus());
|
|
|
|
+ haiKongMemberOrderSyncResendEntity.setResendStatus(HaiKongMemberOrderResendStatusEnum.RESEND_FAILED.getStatus());
|
|
failedList.add(haiKongMemberOrderSyncResendEntity);
|
|
failedList.add(haiKongMemberOrderSyncResendEntity);
|
|
log.error("【重发】请求会员消费订单同步接口失败!异常:", e);
|
|
log.error("【重发】请求会员消费订单同步接口失败!异常:", e);
|
|
}
|
|
}
|