Commit fe441714 by 王祖波

刷新线索冗余orderId、channelCode

parent 025355b4
...@@ -103,12 +103,23 @@ public class InteractRecordExtendInfoBO implements Serializable { ...@@ -103,12 +103,23 @@ public class InteractRecordExtendInfoBO implements Serializable {
*/ */
@Data @Data
public static class ExtendOrderInfo implements Serializable { public static class ExtendOrderInfo implements Serializable {
/**
* 订单id
*/
private String orderId;
/** /**
* 订单编号 * 订单编号
*/ */
private String orderNumber; private String orderNumber;
/** /**
* 订单渠道
* @see com.gic.enterprise.api.enums.PlatformChannelEnum
*/
private String channelCode;
/**
* 订单创建时间 * 订单创建时间
*/ */
private Date orderCreateTime; private Date orderCreateTime;
......
...@@ -8,6 +8,7 @@ import com.gic.business.order.dto.ordermanage.ListOrderItemDTO; ...@@ -8,6 +8,7 @@ import com.gic.business.order.dto.ordermanage.ListOrderItemDTO;
import com.gic.business.order.dto.ordermanage.OrderOutInfoDTO; import com.gic.business.order.dto.ordermanage.OrderOutInfoDTO;
import com.gic.business.order.qdto.ordermanage.OrderInfoQDTO; import com.gic.business.order.qdto.ordermanage.OrderInfoQDTO;
import com.gic.business.order.service.ordermanage.OrderInfoOutApiService; import com.gic.business.order.service.ordermanage.OrderInfoOutApiService;
import com.gic.enterprise.api.enums.PlatformChannelEnum;
import com.gic.haoban.manage.api.enums.content.MaterialInteractRecordEventType; import com.gic.haoban.manage.api.enums.content.MaterialInteractRecordEventType;
import com.gic.haoban.manage.service.pojo.bo.content.InteractRecordExtendInfoBO; import com.gic.haoban.manage.service.pojo.bo.content.InteractRecordExtendInfoBO;
import com.gic.haoban.manage.service.pojo.bo.content.context.InteractRecordMessageContext; import com.gic.haoban.manage.service.pojo.bo.content.context.InteractRecordMessageContext;
...@@ -220,7 +221,9 @@ public class InteractRecordMessageBuilder { ...@@ -220,7 +221,9 @@ public class InteractRecordMessageBuilder {
OrderOutInfoDTO orderOutInfoDTO = serviceResponse.getResult(); OrderOutInfoDTO orderOutInfoDTO = serviceResponse.getResult();
InteractRecordExtendInfoBO.ExtendOrderInfo extendOrderInfo = new InteractRecordExtendInfoBO.ExtendOrderInfo(); InteractRecordExtendInfoBO.ExtendOrderInfo extendOrderInfo = new InteractRecordExtendInfoBO.ExtendOrderInfo();
extendOrderInfo.setOrderId(orderOutInfoDTO.getOrderId());
extendOrderInfo.setOrderNumber(orderOutInfoDTO.getOrderNumber()); extendOrderInfo.setOrderNumber(orderOutInfoDTO.getOrderNumber());
extendOrderInfo.setChannelCode(PlatformChannelEnum.C_WECHAT_MINI.getChannelCode());
extendOrderInfo.setOrderCreateTime(orderOutInfoDTO.getCreateTime()); extendOrderInfo.setOrderCreateTime(orderOutInfoDTO.getCreateTime());
extendOrderInfo.setOrderTotalNum(orderOutInfoDTO.getOrderItems().size()); extendOrderInfo.setOrderTotalNum(orderOutInfoDTO.getOrderItems().size());
extendOrderInfo.setOrderPay(orderOutInfoDTO.getReceivableAmount()); extendOrderInfo.setOrderPay(orderOutInfoDTO.getReceivableAmount());
...@@ -253,7 +256,9 @@ public class InteractRecordMessageBuilder { ...@@ -253,7 +256,9 @@ public class InteractRecordMessageBuilder {
return null; return null;
} }
InteractRecordExtendInfoBO.ExtendOrderInfo extendOrderInfo = new InteractRecordExtendInfoBO.ExtendOrderInfo(); InteractRecordExtendInfoBO.ExtendOrderInfo extendOrderInfo = new InteractRecordExtendInfoBO.ExtendOrderInfo();
extendOrderInfo.setOrderId(eorderDTO.getEorderId());
extendOrderInfo.setOrderNumber(eorderDTO.getOrderNo()); extendOrderInfo.setOrderNumber(eorderDTO.getOrderNo());
extendOrderInfo.setChannelCode(Optional.ofNullable(PlatformChannelEnum.getEnumByOldOrderType(eorderDTO.getOrderType())).orElse(PlatformChannelEnum.C_OTHER).getChannelCode());
extendOrderInfo.setOrderCreateTime(eorderDTO.getOrderCreateTime()); extendOrderInfo.setOrderCreateTime(eorderDTO.getOrderCreateTime());
extendOrderInfo.setOrderPay(BigDecimal.valueOf(eorderDTO.getTotalAmount())); extendOrderInfo.setOrderPay(BigDecimal.valueOf(eorderDTO.getTotalAmount()));
extendOrderInfo.setRealPay(BigDecimal.valueOf(eorderDTO.getPaymentAmount())); extendOrderInfo.setRealPay(BigDecimal.valueOf(eorderDTO.getPaymentAmount()));
...@@ -301,7 +306,9 @@ public class InteractRecordMessageBuilder { ...@@ -301,7 +306,9 @@ public class InteractRecordMessageBuilder {
} }
OrderDTO orderDTO = serviceResponse.getResult(); OrderDTO orderDTO = serviceResponse.getResult();
InteractRecordExtendInfoBO.ExtendOrderInfo extendOrderInfo = new InteractRecordExtendInfoBO.ExtendOrderInfo(); InteractRecordExtendInfoBO.ExtendOrderInfo extendOrderInfo = new InteractRecordExtendInfoBO.ExtendOrderInfo();
extendOrderInfo.setOrderId(orderDTO.getOrderId());
extendOrderInfo.setOrderNumber(orderDTO.getOrderNumber()); extendOrderInfo.setOrderNumber(orderDTO.getOrderNumber());
extendOrderInfo.setChannelCode(PlatformChannelEnum.C_POS.getChannelCode());
extendOrderInfo.setOrderCreateTime(orderDTO.getOrderTime()); extendOrderInfo.setOrderCreateTime(orderDTO.getOrderTime());
extendOrderInfo.setOrderTotalNum(orderDTO.getItemNum()); extendOrderInfo.setOrderTotalNum(orderDTO.getItemNum());
extendOrderInfo.setOrderPay(BigDecimal.valueOf(orderDTO.getPaidAmount())); extendOrderInfo.setOrderPay(BigDecimal.valueOf(orderDTO.getPaidAmount()));
......
...@@ -81,7 +81,7 @@ public class InteractRecordServiceImpl implements InteractRecordService { ...@@ -81,7 +81,7 @@ public class InteractRecordServiceImpl implements InteractRecordService {
@Override @Override
public Page<InteractRecordBO> queryInteractRecordPage(InteractRecordQO interactRecordQO) { public Page<InteractRecordBO> queryInteractRecordPage(InteractRecordQO interactRecordQO) {
if (StringUtils.isBlank(interactRecordQO.getClerkId())) { if (Objects.equals(interactRecordQO.getClerkId(),"-1")) {
log.info("queryInteractRecordPage 参数缺失"); log.info("queryInteractRecordPage 参数缺失");
return new Page<>(); return new Page<>();
} }
......
...@@ -2,8 +2,12 @@ import cn.hutool.crypto.digest.MD5; ...@@ -2,8 +2,12 @@ import cn.hutool.crypto.digest.MD5;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.gic.api.base.commons.Page; import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse; import com.gic.api.base.commons.ServiceResponse;
import com.gic.business.order.dto.ordermanage.OrderOutInfoDTO;
import com.gic.business.order.qdto.ordermanage.OrderInfoQDTO;
import com.gic.business.order.service.ordermanage.OrderInfoOutApiService;
import com.gic.enterprise.api.constant.EnterpriseServiceEnum; import com.gic.enterprise.api.constant.EnterpriseServiceEnum;
import com.gic.enterprise.api.dto.enterprise.EnterpriseUsingStatusDTO; import com.gic.enterprise.api.dto.enterprise.EnterpriseUsingStatusDTO;
import com.gic.enterprise.api.enums.PlatformChannelEnum;
import com.gic.enterprise.api.service.EnterpriseUseForbidService; import com.gic.enterprise.api.service.EnterpriseUseForbidService;
import com.gic.haoban.manage.api.dto.chat.ChatOwnerTotalDTO; import com.gic.haoban.manage.api.dto.chat.ChatOwnerTotalDTO;
import com.gic.haoban.manage.api.dto.qdto.chat.GroupChatPlanSearchQDTO; import com.gic.haoban.manage.api.dto.qdto.chat.GroupChatPlanSearchQDTO;
...@@ -14,21 +18,28 @@ import com.gic.haoban.manage.api.enums.content.TriggerCustomerChannelType; ...@@ -14,21 +18,28 @@ import com.gic.haoban.manage.api.enums.content.TriggerCustomerChannelType;
import com.gic.haoban.manage.api.service.content.InteractRecordApiService; import com.gic.haoban.manage.api.service.content.InteractRecordApiService;
import com.gic.haoban.manage.service.dao.mapper.chat.GroupChatPlanOwnerLogMapper; import com.gic.haoban.manage.service.dao.mapper.chat.GroupChatPlanOwnerLogMapper;
import com.gic.haoban.manage.service.pojo.bo.content.InteractRecordBO; import com.gic.haoban.manage.service.pojo.bo.content.InteractRecordBO;
import com.gic.haoban.manage.service.pojo.bo.content.InteractRecordExtendInfoBO;
import com.gic.haoban.manage.service.pojo.bo.content.MemberAttrChangeBO; import com.gic.haoban.manage.service.pojo.bo.content.MemberAttrChangeBO;
import com.gic.haoban.manage.service.pojo.bo.content.message.InteractRecordMessageBO; import com.gic.haoban.manage.service.pojo.bo.content.message.InteractRecordMessageBO;
import com.gic.haoban.manage.service.pojo.qo.content.InteractRecordQO; import com.gic.haoban.manage.service.pojo.qo.content.InteractRecordQO;
import com.gic.haoban.manage.service.service.content.InteractRecordService; import com.gic.haoban.manage.service.service.content.InteractRecordService;
import com.gic.haoban.manage.service.service.content.message.InteractRecordMessageService; import com.gic.haoban.manage.service.service.content.message.InteractRecordMessageService;
import com.gic.order.api.dto.req.AllChannelOrderSearchReq;
import com.gic.order.api.dto.req.MemberOrderOptional;
import com.gic.order.api.dto.req.OrderFindQDTO;
import com.gic.order.api.dto.resp.OrderInfoResp;
import com.gic.order.api.service.member.MemberOrderReadApiService;
import com.gic.orderecommerce.api.dto.EorderDTO;
import com.gic.orderecommerce.api.service.EcommerceOrderOutputApiService;
import com.google.common.collect.Lists;
import org.apache.commons.lang3.StringUtils;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.util.Collections; import java.util.*;
import java.util.Date;
import java.util.List;
import java.util.UUID;
/** /**
* @Author MUSI * @Author MUSI
...@@ -48,6 +59,10 @@ public class InteractRecordTest { ...@@ -48,6 +59,10 @@ public class InteractRecordTest {
InteractRecordApiService interactRecordApiService; InteractRecordApiService interactRecordApiService;
@Autowired @Autowired
private EnterpriseUseForbidService enterpriseUseForbidService; private EnterpriseUseForbidService enterpriseUseForbidService;
@Autowired
private OrderInfoOutApiService orderInfoOutApiService;
@Autowired
private EcommerceOrderOutputApiService ecommerceOrderOutputApiService;
@Test @Test
public void test2222() { public void test2222() {
...@@ -116,4 +131,55 @@ public class InteractRecordTest { ...@@ -116,4 +131,55 @@ public class InteractRecordTest {
memberAttrChangeBO.setOpt(MemberAttrChangeBO.MemberChangeOpt.MINI_APP_AUTHORIZED.getCode()); memberAttrChangeBO.setOpt(MemberAttrChangeBO.MemberChangeOpt.MINI_APP_AUTHORIZED.getCode());
interactRecordApiService.memberChangeMQ(JSON.toJSONString(memberAttrChangeBO)); interactRecordApiService.memberChangeMQ(JSON.toJSONString(memberAttrChangeBO));
} }
@Test
public void fixOrderChannelCode() {
InteractRecordQO interactRecordQO = new InteractRecordQO();
interactRecordQO.setPageNum(1);
interactRecordQO.setPageSize(100000);
interactRecordQO.setEventTypeList(Lists.newArrayList(MaterialInteractRecordEventType.ORDER.getCode()));
Page<InteractRecordBO> interactRecordBOPage = interactRecordService.queryInteractRecordPage(interactRecordQO);
List<InteractRecordBO> result = interactRecordBOPage.getResult();
for (InteractRecordBO interactRecordBO : result) {
InteractRecordExtendInfoBO extendInfo = interactRecordBO.getExtendInfo();
if (extendInfo == null) {
continue;
}
List<InteractRecordExtendInfoBO.ExtendOrderInfo> extendOrderInfos = extendInfo.getExtendOrderInfos();
for (InteractRecordExtendInfoBO.ExtendOrderInfo extendOrderInfo : extendOrderInfos) {
OrderInfoQDTO orderInfoQDTO = new OrderInfoQDTO();
String enterpriseId = interactRecordBO.getEnterpriseId();
String orderNumber = extendOrderInfo.getOrderNumber();
orderInfoQDTO.setOrderNumber(orderNumber);
orderInfoQDTO.setEnterpriseId(enterpriseId);
String orderId = "";
String channelCode = "";
ServiceResponse<OrderOutInfoDTO> serviceResponse = orderInfoOutApiService.queryOrderInfo(orderInfoQDTO);
if (serviceResponse.getResult() == null) {
EorderDTO eorderDTO = ecommerceOrderOutputApiService.getEorderByMemberIdAndOrderNumber(memberId, PlatformChannelEnum.C_WEIMOB.getChannelCode(),orderNumber,enterpriseId);
if (eorderDTO == null) {
eorderDTO = ecommerceOrderOutputApiService.getEorderByMemberIdAndOrderNumber(memberId, PlatformChannelEnum.C_BRAND_MALL.getChannelCode(),orderNumber,enterpriseId);
}
if (eorderDTO != null) {
orderId = eorderDTO.getEorderId();
channelCode = eorderDTO.getChannelCode();
}
}else {
orderId = serviceResponse.getResult().getOrderId();
channelCode = PlatformChannelEnum.C_WECHAT_MINI.getChannelCode();
}
if (StringUtils.isAnyBlank(orderId, channelCode)) {
continue;
}
extendOrderInfo.setOrderId(orderId);
extendOrderInfo.setChannelCode(channelCode);
}
extendInfo.setExtendOrderInfos(extendOrderInfos);
InteractRecordBO update = new InteractRecordBO();
update.setId(interactRecordBO.getId());
update.setExtendInfo(extendInfo);
interactRecordService.saveOrUpdateInteractRecord(update);
}
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment