...
|
...
|
@@ -363,18 +363,18 @@ public class ExpressInfoServiceImpl implements IExpressInfoService { |
|
|
|
|
|
//2.设定最近一个阶段的物流
|
|
|
expressInfoRespBo.setExpressInfoDetailList(Lists.newArrayList());
|
|
|
List<ExpressInfo> expressInfoList = getExpressInfoListByStage( orderCode, expressType);
|
|
|
List<ExpressInfo> expressInfoList = getExpressInfoListByStage(actor, orderCode, expressType);
|
|
|
constructExpressInfo(expressInfoList, expressInfoRespBo.getExpressInfoDetailList());
|
|
|
|
|
|
//3.设定鉴定的物流调拨信息
|
|
|
expressInfoRespBo.setJudgeExpressInfoDetailList(Lists.newArrayList());
|
|
|
List<ExpressInfo> judgeExpressInfoList=getExpressInfoListByStage( orderCode, EnumExpressType.EXPRESS_TYPE_JUDGE_CENTER.getCode());
|
|
|
List<ExpressInfo> judgeExpressInfoList=getExpressInfoListByStage(actor, orderCode, EnumExpressType.EXPRESS_TYPE_JUDGE_CENTER.getCode());
|
|
|
constructExpressInfo(judgeExpressInfoList, expressInfoRespBo.getJudgeExpressInfoDetailList());
|
|
|
|
|
|
//4.获取上一阶段的辅助物流信息
|
|
|
List<ExpressInfoDetail> supplementExpressInfoDetailList = Lists.newArrayList();
|
|
|
expressInfoRespBo.setSupplementExpressInfoDetailList(supplementExpressInfoDetailList);
|
|
|
constructSupplementExpress(orderCode,expressType,expressInfoRespBo);
|
|
|
constructSupplementExpress( actor,orderCode,expressType,expressInfoRespBo);
|
|
|
|
|
|
//5.设定三个阶段的信息
|
|
|
buildExpressStage(buyerOrder.getStatus(), expressInfoRespBo);
|
...
|
...
|
@@ -406,7 +406,7 @@ public class ExpressInfoServiceImpl implements IExpressInfoService { |
|
|
}
|
|
|
}
|
|
|
|
|
|
private void constructSupplementExpress(Long orderCode,Integer expressType,ExpressInfoRespBo expressInfoRespBo){
|
|
|
private void constructSupplementExpress(TabType actor,Long orderCode,Integer expressType,ExpressInfoRespBo expressInfoRespBo){
|
|
|
if(EnumExpressType.EXPRESS_TYPE_2.getCode().intValue()==expressType.intValue()){
|
|
|
//买家这个时候需要看卖家的物流
|
|
|
//设置物流提示头信息
|
...
|
...
|
@@ -414,7 +414,7 @@ public class ExpressInfoServiceImpl implements IExpressInfoService { |
|
|
expressInfoRespBo.setExpressSender(getSenderName(EnumExpressType.EXPRESS_TYPE_1.getCode().intValue()));
|
|
|
}
|
|
|
//卖家物流详细
|
|
|
List<ExpressInfo> previousExpressInfoList = getExpressInfoListByStage( orderCode, EnumExpressType.EXPRESS_TYPE_1.getCode());
|
|
|
List<ExpressInfo> previousExpressInfoList = getExpressInfoListByStage(actor, orderCode, EnumExpressType.EXPRESS_TYPE_1.getCode());
|
|
|
constructExpressInfo(previousExpressInfoList, expressInfoRespBo.getSupplementExpressInfoDetailList());
|
|
|
}else if(EnumExpressType.EXPRESS_TYPE_3.getCode().intValue()==expressType.intValue()
|
|
|
||EnumExpressType.EXPRESS_TYPE_REBACK.getCode().intValue()==expressType.intValue()){
|
...
|
...
|
@@ -424,7 +424,7 @@ public class ExpressInfoServiceImpl implements IExpressInfoService { |
|
|
//物流单号信息
|
|
|
constructWayBillInfo(orderCode,EnumExpressType.EXPRESS_TYPE_1.getCode(),expressInfoRespBo);
|
|
|
}
|
|
|
List<ExpressInfo> previousExpressInfoList = getExpressInfoListByStage(orderCode, EnumExpressType.EXPRESS_TYPE_1.getCode());
|
|
|
List<ExpressInfo> previousExpressInfoList = getExpressInfoListByStage(actor,orderCode, EnumExpressType.EXPRESS_TYPE_1.getCode());
|
|
|
constructExpressInfo(previousExpressInfoList, expressInfoRespBo.getSupplementExpressInfoDetailList());
|
|
|
}
|
|
|
|
...
|
...
|
@@ -500,11 +500,26 @@ public class ExpressInfoServiceImpl implements IExpressInfoService { |
|
|
* 变更为:先从express_record获取物流单号,再通过物流单号关联express_info ,从而解决多个订单一个物流号问题
|
|
|
* @return
|
|
|
*/
|
|
|
private List<ExpressInfo> getExpressInfoListByStage(Long orderCode, Integer expressType){
|
|
|
LOGGER.info("getExpressInfoListByStage enter ,orderCode = {} ,expressType = {} ",orderCode,expressType);
|
|
|
private List<ExpressInfo> getExpressInfoListByStage(TabType actor,Long orderCode, Integer expressType){
|
|
|
LOGGER.info("getExpressInfoListByStage enter ,orderCode = {} ,expressType = {} ,actor = {}",orderCode,expressType,actor);
|
|
|
if(EnumExpressType.EXPRESS_TYPE_JUDGE_CENTER.getCode().equals(expressType)){
|
|
|
LOGGER.info("getExpressInfoListByStage out because of expressType is judge center ,orderCode = {} ,expressType = {} ",orderCode,expressType);
|
|
|
return expressInfoMapper.selectByOrderCodeAndExpressType(orderCode,expressType);
|
|
|
List<ExpressInfo> ls = expressInfoMapper.selectByOrderCodeAndExpressType(orderCode,expressType);
|
|
|
if(actor!=null&&TabType.BUY==actor&&CollectionUtils.isNotEmpty(ls)){
|
|
|
for(ExpressInfo info:ls){
|
|
|
if(info.getOperateTransferCode()==null){
|
|
|
continue;
|
|
|
}
|
|
|
if(EnumExpressDataOperateTransferCode.mini_fault_create.getCode()==info.getOperateTransferCode()){
|
|
|
info.setAcceptRemark(EnumExpressDataOperateTransferCode.mini_fault_create_buyer.getOperateTransferDesc());
|
|
|
}else if(EnumExpressDataOperateTransferCode.mini_fault_accept.getCode()==info.getOperateTransferCode()){
|
|
|
info.setAcceptRemark(EnumExpressDataOperateTransferCode.mini_fault_accept_buyer.getOperateTransferDesc());
|
|
|
}else if(EnumExpressDataOperateTransferCode.mini_fault_reject.getCode()==info.getOperateTransferCode()){
|
|
|
info.setAcceptRemark(EnumExpressDataOperateTransferCode.mini_fault_reject_buyer.getOperateTransferDesc());
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
return ls;
|
|
|
}
|
|
|
ExpressRecord expressRecord = expressRecordMapper.selectByOrderCodeAndExpressType(orderCode,expressType);
|
|
|
if(expressRecord==null){
|
...
|
...
|
@@ -536,9 +551,9 @@ public class ExpressInfoServiceImpl implements IExpressInfoService { |
|
|
return expressInfoList;
|
|
|
}
|
|
|
|
|
|
private List<ExpressInfoDetail> queryLastExpressDetailInfo(Long orderCode, int expressType) {
|
|
|
private List<ExpressInfoDetail> queryLastExpressDetailInfo(TabType actor,Long orderCode, int expressType) {
|
|
|
LOGGER.info("queryLastExpressDetailInfo orderCode {}, expressType {}", orderCode, expressType);
|
|
|
List<ExpressInfo> expressInfoList_All = getExpressInfoListByStage(orderCode, expressType);
|
|
|
List<ExpressInfo> expressInfoList_All = getExpressInfoListByStage( actor,orderCode, expressType);
|
|
|
if (expressInfoList_All==null||expressInfoList_All.size()<=0){
|
|
|
LOGGER.info("queryLastExpressDetailInfo, getExpressType result is null ,orderCode {}, expressType {}", orderCode, expressType);
|
|
|
return null;
|
...
|
...
|
@@ -570,7 +585,7 @@ public class ExpressInfoServiceImpl implements IExpressInfoService { |
|
|
//types 本身已经有顺序了,新增了数字type,不能执行之前的根据大小排序
|
|
|
ExpressInfoDetail lastEID = null;
|
|
|
for(Integer type : types){
|
|
|
List<ExpressInfoDetail> eidList = queryLastExpressDetailInfo(orderCode, type);
|
|
|
List<ExpressInfoDetail> eidList = queryLastExpressDetailInfo(actor,orderCode, type);
|
|
|
if ( CollectionUtils.isNotEmpty(eidList)){
|
|
|
lastEID = eidList.get(0);
|
|
|
break;
|
...
|
...
|
|