|
|
@@ -66,10 +66,19 @@ public class InfoSyncServiceImpl implements InfoSyncService {
|
|
|
taskReq.setProductStatus(req.getProductStatus());
|
|
|
taskReq.setInStatus("P,R");
|
|
|
boolean isPayment = false;
|
|
|
+ boolean isTimeOut = false;
|
|
|
switch (req.getProductStatus()) {
|
|
|
+ case "unavailable":
|
|
|
+ //拼团超时 更新订单状态为失效状态
|
|
|
+ taskReq.setStatus("E");
|
|
|
+ isTimeOut = true;
|
|
|
+ break;
|
|
|
case "sold_out": //售罄
|
|
|
taskReq.setStatus("E");
|
|
|
break;
|
|
|
+ case "finished"://售罄-已发货
|
|
|
+ taskReq.setStatus("E");
|
|
|
+ break;
|
|
|
case "paymented": //结算
|
|
|
taskReq.setStatus("E");
|
|
|
isPayment = true;
|
|
|
@@ -78,6 +87,7 @@ public class InfoSyncServiceImpl implements InfoSyncService {
|
|
|
taskReq.setStatus("D");
|
|
|
break;
|
|
|
}
|
|
|
+ //更新推广任务状态
|
|
|
Result result = promotionTaskService.updateSyncInfo(taskReq);
|
|
|
//更新推广任务订单任务状态
|
|
|
if(result.isSuccess()){
|
|
|
@@ -87,9 +97,8 @@ public class InfoSyncServiceImpl implements InfoSyncService {
|
|
|
int i = promotionOrderService.updateByTask(orderReq);
|
|
|
log.info("推广订单信息同步-更新, 更新订单的产品状态结果: {}", i);
|
|
|
if(isPayment){
|
|
|
- //如果是结算状态 且订单状态为 已收货 则 更新推广订单状态
|
|
|
+ //如果是结算状态 且订单状态为 已收货 则 更新推广订单状态 [如果是拼团 则直接订单状态改为结算]
|
|
|
orderReq.setStatus(3);//已结算
|
|
|
- orderReq.setWhereStatus(2);//已收货 -> 已结算
|
|
|
if(Objects.equals(promotionTaskDtos.get(0).getType(),ProductTypeEnums.GROUP.getType())) {
|
|
|
//区分拼团 和商品单独执行更新sql
|
|
|
//拼团
|
|
|
@@ -97,6 +106,7 @@ public class InfoSyncServiceImpl implements InfoSyncService {
|
|
|
int ig = promotionOrderService.updateByTask(orderReq);
|
|
|
log.info("推广订单信息同步-更新, 更新拼团订单产品状态结果: {}", ig);
|
|
|
}else if(Objects.equals(promotionTaskDtos.get(0).getType(),ProductTypeEnums.SHOP.getType())){
|
|
|
+ orderReq.setWhereStatus(2);//已收货 -> 已结算
|
|
|
//商品
|
|
|
orderReq.setWhereType(ProductTypeEnums.SHOP.getType());
|
|
|
//计算当前时间 前5个工作日的时间
|
|
|
@@ -111,6 +121,21 @@ public class InfoSyncServiceImpl implements InfoSyncService {
|
|
|
}else{
|
|
|
return Result.error(-1, "推广任务类型异常:【"+promotionTaskDtos.get(0).getType()+"】");
|
|
|
}
|
|
|
+ }else if(isTimeOut){ //如果是超时 则 更新推广订单状态
|
|
|
+ //如果是超时状态 则 更新推广订单状态 [如果是拼团 则直接订单状态改为已失效]
|
|
|
+ orderReq.setStatus(4);//已失效
|
|
|
+ if(Objects.equals(promotionTaskDtos.get(0).getType(),ProductTypeEnums.GROUP.getType())) {
|
|
|
+ //区分拼团 和商品单独执行更新sql
|
|
|
+ //拼团
|
|
|
+ orderReq.setWhereType(ProductTypeEnums.GROUP.getType());
|
|
|
+ }else if(Objects.equals(promotionTaskDtos.get(0).getType(),ProductTypeEnums.SHOP.getType())){
|
|
|
+ //商品
|
|
|
+ orderReq.setWhereType(ProductTypeEnums.SHOP.getType());
|
|
|
+ }else{
|
|
|
+ return Result.error(-1, "推广任务类型异常:【"+promotionTaskDtos.get(0).getType()+"】");
|
|
|
+ }
|
|
|
+ int ig = promotionOrderService.updateByTask(orderReq);
|
|
|
+ log.info("推广订单信息同步-更新, 更新[拼团|商品]订单产品状态结果: {}", ig);
|
|
|
}
|
|
|
}
|
|
|
return result;
|
|
|
@@ -158,7 +183,7 @@ public class InfoSyncServiceImpl implements InfoSyncService {
|
|
|
*/
|
|
|
@Override
|
|
|
public Result orderStatus(SyncOrderInfoReq req) {
|
|
|
- log.info("订单信息状态更新, 订单ID: {}", req.getOrderId());
|
|
|
+ log.info("订单信息状态更新, 订单ID: {}", req.getProductOrderId());
|
|
|
//检验状态是否非法
|
|
|
ProductOrderStatusEnums.checkProductOrderStatus(req.getProductOrderStatus());
|
|
|
//判断状态
|
|
|
@@ -178,10 +203,10 @@ public class InfoSyncServiceImpl implements InfoSyncService {
|
|
|
//查询订单信息
|
|
|
PromotionOrderReq orderReq = new PromotionOrderReq();
|
|
|
orderReq.setAppid(req.getAppid());
|
|
|
- orderReq.setProductOrderId(req.getOrderId());
|
|
|
+ orderReq.setProductOrderId(req.getProductOrderId());
|
|
|
List<PromotionOrderDto> orderDtos = promotionOrderService.list(orderReq);
|
|
|
if(CollectionUtils.isEmpty(orderDtos)){
|
|
|
- throw new ServiceException(-1, "订单不存在,订单ID:"+req.getOrderId());
|
|
|
+ throw new ServiceException(-1, "订单不存在,订单ID:"+req.getProductOrderId());
|
|
|
}
|
|
|
//查询任务信息
|
|
|
PromotionTaskDto taskDto = promotionTaskService.getById(orderDtos.get(0).getTaskId());
|
|
|
@@ -226,7 +251,7 @@ public class InfoSyncServiceImpl implements InfoSyncService {
|
|
|
// 更新
|
|
|
PromotionOrderUpdateReq updateReq = new PromotionOrderUpdateReq();
|
|
|
updateReq.setAppid(req.getAppid());
|
|
|
- updateReq.setProductOrderId(req.getOrderId());
|
|
|
+ updateReq.setProductOrderId(req.getProductOrderId());
|
|
|
updateReq.setProductOrderStatus(req.getProductOrderStatus());
|
|
|
updateReq.setPayTime(req.getPayTime());
|
|
|
updateReq.setReceiveTime(req.getReceiveTime());
|