Commit cff3e46d by 王祖波

Merge branch 'feature-content202505' into developer

parents 7cc1dc80 121169fd
...@@ -50,6 +50,11 @@ public class InteractRecordQDTO extends BasePageInfo { ...@@ -50,6 +50,11 @@ public class InteractRecordQDTO extends BasePageInfo {
private Integer filterNull; private Integer filterNull;
/** /**
* 排序字段
*/
private String orderBy;
/**
* 开始时间-创建时间 * 开始时间-创建时间
*/ */
private Date startTime; private Date startTime;
...@@ -116,6 +121,14 @@ public class InteractRecordQDTO extends BasePageInfo { ...@@ -116,6 +121,14 @@ public class InteractRecordQDTO extends BasePageInfo {
this.filterNull = filterNull; this.filterNull = filterNull;
} }
public String getOrderBy() {
return orderBy;
}
public void setOrderBy(String orderBy) {
this.orderBy = orderBy;
}
public Date getStartTime() { public Date getStartTime() {
return startTime; return startTime;
} }
......
...@@ -49,6 +49,11 @@ public class InteractRecordInfoDTO implements Serializable { ...@@ -49,6 +49,11 @@ public class InteractRecordInfoDTO implements Serializable {
private Date createTime; private Date createTime;
/** /**
* 真正的创建时间 createTime可能会变成最新更新时间)
*/
private Date recordCreateTime;
/**
* 线索来源 1朋友圈; 2客户群; 3 对话框; 0其他 * 线索来源 1朋友圈; 2客户群; 3 对话框; 0其他
*/ */
private Integer channelSource; private Integer channelSource;
...@@ -164,6 +169,14 @@ public class InteractRecordInfoDTO implements Serializable { ...@@ -164,6 +169,14 @@ public class InteractRecordInfoDTO implements Serializable {
this.createTime = createTime; this.createTime = createTime;
} }
public Date getRecordCreateTime() {
return recordCreateTime;
}
public void setRecordCreateTime(Date recordCreateTime) {
this.recordCreateTime = recordCreateTime;
}
public Integer getEventType() { public Integer getEventType() {
return eventType; return eventType;
} }
......
...@@ -53,6 +53,11 @@ public class InteractRecordQO extends BasePageInfo { ...@@ -53,6 +53,11 @@ public class InteractRecordQO extends BasePageInfo {
private Integer filterNull; private Integer filterNull;
/** /**
* 排序字段
*/
private String orderBy;
/**
* 线索来源 * 线索来源
* @see com.gic.haoban.manage.api.enums.content.InteractRecordChannelSourceType * @see com.gic.haoban.manage.api.enums.content.InteractRecordChannelSourceType
*/ */
......
...@@ -153,6 +153,7 @@ public class InteractRecordApiServiceImpl implements InteractRecordApiService { ...@@ -153,6 +153,7 @@ public class InteractRecordApiServiceImpl implements InteractRecordApiService {
if (item.getLastAccessTime() != null) { if (item.getLastAccessTime() != null) {
temp.setCreateTime(item.getLastAccessTime()); temp.setCreateTime(item.getLastAccessTime());
} }
temp.setRecordCreateTime(item.getCreateTime());
temp.setInteractRecordId(item.getId()); temp.setInteractRecordId(item.getId());
if (item.getExtendInfo() != null) { if (item.getExtendInfo() != null) {
InteractRecordExtendInfoDTO extendInfo = new InteractRecordExtendInfoDTO(); InteractRecordExtendInfoDTO extendInfo = new InteractRecordExtendInfoDTO();
......
...@@ -329,7 +329,12 @@ ...@@ -329,7 +329,12 @@
</foreach> </foreach>
</if> </if>
</where> </where>
order by last_access_time desc, id desc <if test="orderBy != null and orderBy != ''">
ORDER BY ${orderBy} DESC,id DESC
</if>
<if test="orderBy == null or orderBy == ''">
ORDER BY last_access_time DESC, id DESC
</if>
</select> </select>
<select id="staticsClerkInteractRecordNew" resultType="com.gic.haoban.manage.service.pojo.bo.content.PotentialCustomerStaticsBO"> <select id="staticsClerkInteractRecordNew" resultType="com.gic.haoban.manage.service.pojo.bo.content.PotentialCustomerStaticsBO">
......
...@@ -24,6 +24,7 @@ import com.gic.haoban.manage.service.pojo.bo.content.message.InteractRecordMessa ...@@ -24,6 +24,7 @@ import com.gic.haoban.manage.service.pojo.bo.content.message.InteractRecordMessa
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.OrderDTO;
import com.gic.order.api.dto.req.AllChannelOrderSearchReq; import com.gic.order.api.dto.req.AllChannelOrderSearchReq;
import com.gic.order.api.dto.req.MemberOrderOptional; import com.gic.order.api.dto.req.MemberOrderOptional;
import com.gic.order.api.dto.req.OrderFindQDTO; import com.gic.order.api.dto.req.OrderFindQDTO;
...@@ -40,6 +41,9 @@ import org.springframework.test.context.ContextConfiguration; ...@@ -40,6 +41,9 @@ import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.util.*; import java.util.*;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
/** /**
* @Author MUSI * @Author MUSI
...@@ -63,6 +67,8 @@ public class InteractRecordTest { ...@@ -63,6 +67,8 @@ public class InteractRecordTest {
private OrderInfoOutApiService orderInfoOutApiService; private OrderInfoOutApiService orderInfoOutApiService;
@Autowired @Autowired
private EcommerceOrderOutputApiService ecommerceOrderOutputApiService; private EcommerceOrderOutputApiService ecommerceOrderOutputApiService;
@Autowired
private MemberOrderReadApiService memberOrderReadApiService;
@Test @Test
public void test2222() { public void test2222() {
...@@ -133,8 +139,10 @@ public class InteractRecordTest { ...@@ -133,8 +139,10 @@ public class InteractRecordTest {
} }
@Test @Test
public void fixOrderChannelCode() { public void fixOrderChannelCode() throws Exception{
ExecutorService executorService = Executors.newFixedThreadPool(10);
InteractRecordQO interactRecordQO = new InteractRecordQO(); InteractRecordQO interactRecordQO = new InteractRecordQO();
interactRecordQO.setEnterpriseId("ff8080817af2def7017b146da4d212c4");
interactRecordQO.setPageNum(1); interactRecordQO.setPageNum(1);
interactRecordQO.setPageSize(100000); interactRecordQO.setPageSize(100000);
interactRecordQO.setStartTime(new Date("2020/01/01")); interactRecordQO.setStartTime(new Date("2020/01/01"));
...@@ -143,46 +151,56 @@ public class InteractRecordTest { ...@@ -143,46 +151,56 @@ public class InteractRecordTest {
Page<InteractRecordBO> interactRecordBOPage = interactRecordService.queryInteractRecordPage(interactRecordQO); Page<InteractRecordBO> interactRecordBOPage = interactRecordService.queryInteractRecordPage(interactRecordQO);
List<InteractRecordBO> result = interactRecordBOPage.getResult(); List<InteractRecordBO> result = interactRecordBOPage.getResult();
for (InteractRecordBO interactRecordBO : result) { for (InteractRecordBO interactRecordBO : result) {
InteractRecordExtendInfoBO extendInfo = interactRecordBO.getExtendInfo(); executorService.execute(()->{
if (extendInfo == null) { InteractRecordExtendInfoBO extendInfo = interactRecordBO.getExtendInfo();
continue; if (extendInfo == null) {
} return;
List<InteractRecordExtendInfoBO.ExtendOrderInfo> extendOrderInfos = extendInfo.getExtendOrderInfos(); }
for (InteractRecordExtendInfoBO.ExtendOrderInfo extendOrderInfo : extendOrderInfos) { List<InteractRecordExtendInfoBO.ExtendOrderInfo> extendOrderInfos = extendInfo.getExtendOrderInfos();
for (InteractRecordExtendInfoBO.ExtendOrderInfo extendOrderInfo : extendOrderInfos) {
OrderInfoQDTO orderInfoQDTO = new OrderInfoQDTO(); OrderInfoQDTO orderInfoQDTO = new OrderInfoQDTO();
String enterpriseId = interactRecordBO.getEnterpriseId(); String enterpriseId = interactRecordBO.getEnterpriseId();
String orderNumber = extendOrderInfo.getOrderNumber(); String orderNumber = extendOrderInfo.getOrderNumber();
String memberId = interactRecordBO.getMemberId(); String memberId = interactRecordBO.getMemberId();
orderInfoQDTO.setOrderNumber(orderNumber); orderInfoQDTO.setOrderNumber(orderNumber);
orderInfoQDTO.setEnterpriseId(enterpriseId); orderInfoQDTO.setEnterpriseId(enterpriseId);
String orderId = ""; String orderId = "";
String channelCode = ""; String channelCode = "";
ServiceResponse<OrderOutInfoDTO> serviceResponse = orderInfoOutApiService.queryOrderInfo(orderInfoQDTO); ServiceResponse<OrderOutInfoDTO> serviceResponse = orderInfoOutApiService.queryOrderInfo(orderInfoQDTO);
if (serviceResponse.getResult() == null) { if (serviceResponse.getResult() == null) {
EorderDTO eorderDTO = ecommerceOrderOutputApiService.getEorderByMemberIdAndOrderNumber(memberId, PlatformChannelEnum.C_WEIMOB.getOrderChannelCodeOld(),orderNumber,enterpriseId); EorderDTO eorderDTO = ecommerceOrderOutputApiService.getEorderByMemberIdAndOrderNumber(memberId, PlatformChannelEnum.C_WEIMOB.getOrderChannelCodeOld(),orderNumber,enterpriseId);
if (eorderDTO == null) { if (eorderDTO == null) {
eorderDTO = ecommerceOrderOutputApiService.getEorderByMemberIdAndOrderNumber(memberId, PlatformChannelEnum.C_BRAND_MALL.getOrderChannelCodeOld(),orderNumber,enterpriseId); eorderDTO = ecommerceOrderOutputApiService.getEorderByMemberIdAndOrderNumber(memberId, PlatformChannelEnum.C_BRAND_MALL.getOrderChannelCodeOld(),orderNumber,enterpriseId);
}
if (eorderDTO == null) {
ServiceResponse<OrderDTO> ipos = memberOrderReadApiService.queryByChannelOrderId(enterpriseId, memberId, "weimob", orderNumber);
OrderDTO result1 = ipos.getResult();
if (result1 != null) {
orderId = result1.getOrderId();
channelCode = PlatformChannelEnum.C_POS.getChannelCode();
}
}else {
orderId = eorderDTO.getEorderId();
channelCode = PlatformChannelEnum.getEnumByChannelCodeOrder(eorderDTO.getChannelCode()).getChannelCode();
}
}else {
orderId = serviceResponse.getResult().getOrderId();
channelCode = PlatformChannelEnum.C_WECHAT_MINI.getChannelCode();
} }
if (eorderDTO != null) { if (StringUtils.isAnyBlank(orderId, channelCode)) {
orderId = eorderDTO.getEorderId(); continue;
channelCode = PlatformChannelEnum.getEnumByChannelCodeOrder(eorderDTO.getChannelCode()).getChannelCode();
} }
}else { extendOrderInfo.setOrderId(orderId);
orderId = serviceResponse.getResult().getOrderId(); extendOrderInfo.setChannelCode(channelCode);
channelCode = PlatformChannelEnum.C_WECHAT_MINI.getChannelCode();
}
if (StringUtils.isAnyBlank(orderId, channelCode)) {
continue;
} }
extendOrderInfo.setOrderId(orderId); extendInfo.setExtendOrderInfos(extendOrderInfos);
extendOrderInfo.setChannelCode(channelCode); InteractRecordBO update = new InteractRecordBO();
} update.setId(interactRecordBO.getId());
extendInfo.setExtendOrderInfos(extendOrderInfos); update.setExtendInfo(extendInfo);
InteractRecordBO update = new InteractRecordBO(); interactRecordService.saveOrUpdateInteractRecord(update);
update.setId(interactRecordBO.getId()); });
update.setExtendInfo(extendInfo);
interactRecordService.saveOrUpdateInteractRecord(update);
} }
executorService.awaitTermination(10, TimeUnit.HOURS);
} }
} }
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