|
|
@@ -1047,18 +1047,18 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
|
|
|
if (config.getUnPayTime() != null && config.getUnPayTime() > 0) {
|
|
|
if(storeOrder.getIsPrescribe() != null && storeOrder.getIsPrescribe() == 1){//处方药72小时
|
|
|
- redisCache.setCacheObject(redisKey, storeOrder.getId(),4320, TimeUnit.MINUTES);
|
|
|
- }else {
|
|
|
- redisCache.setCacheObject(redisKey, storeOrder.getId(), config.getUnPayTime(), TimeUnit.MINUTES);
|
|
|
+ config.setUnPayTime(4320);
|
|
|
+// redisCache.setCacheObject(redisKey, storeOrder.getId(),4320, TimeUnit.MINUTES);
|
|
|
}
|
|
|
+// else {
|
|
|
+// redisCache.setCacheObject(redisKey, storeOrder.getId(), config.getUnPayTime(), TimeUnit.MINUTES);
|
|
|
+// }
|
|
|
} else {
|
|
|
if(storeOrder.getIsPrescribe() != null && storeOrder.getIsPrescribe() == 1){//处方药
|
|
|
if(config == null){
|
|
|
config = new StoreConfig();
|
|
|
}
|
|
|
- redisCache.setCacheObject(redisKey, storeOrder.getId(),4320, TimeUnit.MINUTES);
|
|
|
- }else {
|
|
|
- redisCache.setCacheObject(redisKey, storeOrder.getId(), 30, TimeUnit.MINUTES);
|
|
|
+ config.setUnPayTime(4320);
|
|
|
}
|
|
|
}
|
|
|
//添加支付到期时间
|
|
|
@@ -1780,19 +1780,22 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
StoreConfig config = JSONUtil.toBean(json, StoreConfig.class);
|
|
|
if (config.getUnPayTime() != null && config.getUnPayTime() > 0) {
|
|
|
if(storeOrder.getIsPrescribe() != null && storeOrder.getIsPrescribe() == 1){//处方药72小时
|
|
|
- redisCache.setCacheObject(redisKey, storeOrder.getId(),4320, TimeUnit.MINUTES);
|
|
|
- }else {
|
|
|
- redisCache.setCacheObject(redisKey, storeOrder.getId(), config.getUnPayTime(), TimeUnit.MINUTES);
|
|
|
+ config.setUnPayTime(4320);
|
|
|
+// redisCache.setCacheObject(redisKey, storeOrder.getId(),4320, TimeUnit.MINUTES);
|
|
|
}
|
|
|
+// else {
|
|
|
+// redisCache.setCacheObject(redisKey, storeOrder.getId(), config.getUnPayTime(), TimeUnit.MINUTES);
|
|
|
+// }
|
|
|
} else {
|
|
|
if(storeOrder.getIsPrescribe() != null && storeOrder.getIsPrescribe() == 1){//处方药
|
|
|
if(config == null){
|
|
|
config = new StoreConfig();
|
|
|
}
|
|
|
- redisCache.setCacheObject(redisKey, storeOrder.getId(),4320, TimeUnit.MINUTES);
|
|
|
- }else {
|
|
|
- redisCache.setCacheObject(redisKey, storeOrder.getId(), 30, TimeUnit.MINUTES);
|
|
|
+ config.setUnPayTime(4320);
|
|
|
}
|
|
|
+// else {
|
|
|
+// redisCache.setCacheObject(redisKey, storeOrder.getId(), 30, TimeUnit.MINUTES);
|
|
|
+// }
|
|
|
}
|
|
|
Calendar calendar = Calendar.getInstance();
|
|
|
calendar.setTime(storeOrder.getCreateTime());
|
|
|
@@ -2949,9 +2952,27 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
private void refundStock(FsStoreOrderScrm order) {
|
|
|
//获取订单下的商品
|
|
|
List<FsStoreOrderItemVO> orderItemVOS = fsStoreOrderItemMapper.selectFsStoreOrderItemListByOrderId(order.getId());
|
|
|
+ List<Long> itemIds = new ArrayList<>();
|
|
|
for (FsStoreOrderItemVO vo : orderItemVOS) {
|
|
|
- productService.incProductStock(vo.getNum(), vo.getProductId()
|
|
|
- , vo.getProductAttrValueId());
|
|
|
+ if (checkProductCater(vo.getProductId())) {
|
|
|
+ itemIds.add(vo.getItemId());
|
|
|
+ }else {
|
|
|
+ productService.incProductStock(vo.getNum(), vo.getProductId()
|
|
|
+ , vo.getProductAttrValueId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!com.baomidou.mybatisplus.core.toolkit.CollectionUtils.isEmpty(itemIds)) {
|
|
|
+ List<FsStoreVerifyCodeScrm> codes = verifyCodeScrmMapper.selectList(
|
|
|
+ new LambdaQueryWrapper<FsStoreVerifyCodeScrm>()
|
|
|
+ .eq(FsStoreVerifyCodeScrm::getOrderId, order.getId())
|
|
|
+ .in(FsStoreVerifyCodeScrm::getOrderItemId, itemIds)
|
|
|
+ .eq(FsStoreVerifyCodeScrm::getIsDel, "0")
|
|
|
+ );
|
|
|
+ if (!com.baomidou.mybatisplus.core.toolkit.CollectionUtils.isEmpty(codes)) {
|
|
|
+ verifyCodeScrmMapper.updateOutboundStatus(codes);
|
|
|
+ log.info("订单{}共更新{}个核销码关联状态", order.getId(), codes.size());
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
}
|
|
|
@@ -5188,19 +5209,23 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
com.fs.store.config.StoreConfig config = JSONUtil.toBean(json, com.fs.store.config.StoreConfig.class);
|
|
|
if (config.getUnPayTime() != null && config.getUnPayTime() > 0) {
|
|
|
if(storeOrder.getIsPrescribe() != null && storeOrder.getIsPrescribe() == 1){//处方药72小时
|
|
|
- redisCache.setCacheObject(redisKey, storeOrder.getId(),4320, TimeUnit.MINUTES);
|
|
|
- }else {
|
|
|
- redisCache.setCacheObject(redisKey, storeOrder.getId(), config.getUnPayTime(), TimeUnit.MINUTES);
|
|
|
+ config.setUnPayTime(4320);
|
|
|
+// redisCache.setCacheObject(redisKey, storeOrder.getId(),4320, TimeUnit.MINUTES);//
|
|
|
}
|
|
|
+// else {
|
|
|
+// redisCache.setCacheObject(redisKey, storeOrder.getId(), config.getUnPayTime(), TimeUnit.MINUTES);
|
|
|
+// }
|
|
|
} else {
|
|
|
if(storeOrder.getIsPrescribe() != null && storeOrder.getIsPrescribe() == 1){//处方药
|
|
|
if(config == null){
|
|
|
config = new com.fs.store.config.StoreConfig();
|
|
|
}
|
|
|
- redisCache.setCacheObject(redisKey, storeOrder.getId(),4320, TimeUnit.MINUTES);
|
|
|
- }else {
|
|
|
- redisCache.setCacheObject(redisKey, storeOrder.getId(), 30, TimeUnit.MINUTES);
|
|
|
+ config.setUnPayTime(4320);
|
|
|
+// redisCache.setCacheObject(redisKey, storeOrder.getId(),4320, TimeUnit.MINUTES);
|
|
|
}
|
|
|
+// else {
|
|
|
+// redisCache.setCacheObject(redisKey, storeOrder.getId(), 30, TimeUnit.MINUTES);
|
|
|
+// }
|
|
|
}
|
|
|
//添加支付到期时间
|
|
|
Calendar calendar = Calendar.getInstance();
|
|
|
@@ -5867,6 +5892,41 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void cancelOrderReuse(FsStoreOrderScrm order) {
|
|
|
+ if (order.getStatus() == OrderInfoEnum.STATUS_0.getValue()) {
|
|
|
+ if (!StringUtils.isEmpty(order.getExtendOrderId())) {
|
|
|
+ redisCache.deleteObject(DELIVERY + ":" + order.getExtendOrderId());
|
|
|
+ }
|
|
|
+ //退回积分
|
|
|
+ this.refundIntegral(order);
|
|
|
+ //退回优惠券
|
|
|
+ this.refundCoupon(order);
|
|
|
+ //退回库存
|
|
|
+ this.refundStock(order);
|
|
|
+ fsStoreOrderMapper.cancelOrder(order.getId());
|
|
|
+ //添加记录
|
|
|
+ orderStatusService.create(order.getId(), OrderLogEnum.CANCEL_ORDER.getValue(),
|
|
|
+ OrderLogEnum.CANCEL_ORDER.getDesc());
|
|
|
+// if(order.getPaid()==1){
|
|
|
+// //更新OMS
|
|
|
+// ErpRefundUpdateRequest request=new ErpRefundUpdateRequest();
|
|
|
+// request.setTid(order.getOrderCode());
|
|
|
+// request.setOid(order.getOrderCode());
|
|
|
+// request.setRefund_state(1);
|
|
|
+// erpOrderService.refundUpdate(request);
|
|
|
+// }
|
|
|
+ TemplateBean templateBean = TemplateBean.builder()
|
|
|
+ .orderId(order.getId().toString())
|
|
|
+ .orderCode(order.getOrderCode().toString())
|
|
|
+ .remark("您的订单已取消")
|
|
|
+ .userId(order.getUserId())
|
|
|
+ .templateType(TemplateListenEnum.TYPE_1.getValue())
|
|
|
+ .build();
|
|
|
+ publisher.publishEvent(new TemplateEvent(this, templateBean));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
//校验商品类型
|
|
|
public boolean checkProductCater(Long productId){
|
|
|
FsStoreProductScrm product = fsStoreProductMapper.selectFsStoreProductById(productId);
|