|
|
@@ -21,7 +21,12 @@ import com.sckw.core.web.response.HttpResult;
|
|
|
import com.sckw.mongo.enums.BusinessTypeEnum;
|
|
|
import com.sckw.mongo.model.SckwLogisticsOrder;
|
|
|
import com.sckw.order.api.dubbo.TradeOrderInfoService;
|
|
|
-import com.sckw.order.api.model.*;
|
|
|
+import com.sckw.order.api.model.CreateOrCancelLogisticsOrderParam;
|
|
|
+import com.sckw.order.api.model.OrderDetailRes;
|
|
|
+import com.sckw.order.api.model.UnitInfoDetailRes;
|
|
|
+import com.sckw.order.api.model.UpdateActualAmountParam;
|
|
|
+import com.sckw.redis.config.RedisLockUtil;
|
|
|
+import com.sckw.redis.constant.RedisConstant;
|
|
|
import com.sckw.stream.enums.MessageEnum;
|
|
|
import com.sckw.stream.model.SckwBusSum;
|
|
|
import com.sckw.system.api.RemoteSystemService;
|
|
|
@@ -68,6 +73,9 @@ public class TransportCommonService {
|
|
|
@DubboReference(version = "1.0.0", group = "design", check = false, timeout = 6000)
|
|
|
RemoteContractService remoteContractService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ RedisLockUtil redisLockUtil;
|
|
|
+
|
|
|
@Autowired
|
|
|
MessageUrlConfig messageUrlConfig;
|
|
|
|
|
|
@@ -336,118 +344,121 @@ public class TransportCommonService {
|
|
|
public HttpResult cancelConsign(CancelOrderDTO orderDto) {
|
|
|
log.info("订单-撤销托运请求参数:{}", JSONObject.toJSONString(orderDto));
|
|
|
HttpResult result = new HttpResult();
|
|
|
- KwtLogisticsOrder logisticsOrder = logisticsOrderMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrder>()
|
|
|
- .eq(KwtLogisticsOrder::getId, orderDto.getId())
|
|
|
- /* .eq(KwtLogisticsOrder::getLOrderNo, orderDto.getOrderNo())*/
|
|
|
- /**.eq(KwtLogisticsOrder::getEntId, LoginUserHolder.getEntId())*/);
|
|
|
- if (logisticsOrder == null) {
|
|
|
- result.setCode(HttpStatus.GLOBAL_EXCEPTION_CODE);
|
|
|
- result.setMsg("单据不存在");
|
|
|
- return result;
|
|
|
- }
|
|
|
- if (!LogisticsOrderEnum.PENDING_ORDER.getStatus().equals(String.valueOf(logisticsOrder.getStatus()))) {
|
|
|
- result.setCode(HttpStatus.GLOBAL_EXCEPTION_CODE);
|
|
|
- result.setMsg("待接单才允许撤销托运");
|
|
|
- return result;
|
|
|
- }
|
|
|
- /**以此字段判别是否存在分包操作*/
|
|
|
- if (ObjectUtils.isEmpty(logisticsOrder.getPid()) && "1".equals(logisticsOrder.getType())) {
|
|
|
- /**并不存在分包,撤销数据回归到贸易订单,[待接单状态]下才能撤销托运*/
|
|
|
- /**调用dubbo 修改数值*/
|
|
|
- Long tOrderId = logisticsOrder.getTOrderId();
|
|
|
- CreateOrCancelLogisticsOrderParam param = new CreateOrCancelLogisticsOrderParam();
|
|
|
- param.setEntrustAmount(logisticsOrder.getAmount().negate());
|
|
|
- param.setUpdateBy(LoginUserHolder.getUserId());
|
|
|
- param.setUpdateByName(LoginUserHolder.getUserName());
|
|
|
- param.setTOrderId(tOrderId);
|
|
|
- HttpResult httpResult = tradeOrderInfoService.createOrCancelLogisticsOrder(param);
|
|
|
- if (HttpStatus.SUCCESS_CODE != httpResult.getCode()) {
|
|
|
- log.info("撤销托运错误:,请求参数:{},响应信息:{}", JSONObject.toJSONString(param), JSONObject.toJSONString(httpResult));
|
|
|
- }
|
|
|
- logisticsOrderMapper.update(null, new LambdaUpdateWrapper<KwtLogisticsOrder>()
|
|
|
- .eq(KwtLogisticsOrder::getId, logisticsOrder.getId())
|
|
|
- .set(KwtLogisticsOrder::getStatus, LogisticsOrderEnum.CANCEL_ORDER.getCode())
|
|
|
- .set(KwtLogisticsOrder::getUpdateBy, LoginUserHolder.getUserId())
|
|
|
- .set(KwtLogisticsOrder::getUpdateTime, new Date()));
|
|
|
- updateOrderTrack(logisticsOrder.getId(), orderDto.getRemark(), LogisticsOrderEnum.CANCEL_ORDER);
|
|
|
- //mongodb更新
|
|
|
- SckwLogisticsOrder order = new SckwLogisticsOrder();
|
|
|
- order.set_id(logisticsOrder.getId());
|
|
|
- order.setLOrderId(logisticsOrder.getId());
|
|
|
- order.setStatus(LogisticsOrderEnum.CANCEL_ORDER.getStatus());
|
|
|
- order.setUpdateTime(new Date());
|
|
|
- order.setUpdateByName(LoginUserHolder.getUserName());
|
|
|
- order.setUpdateBy(LoginUserHolder.getUserId());
|
|
|
- SckwBusSum busSum = new SckwBusSum();
|
|
|
- //业务汇总类型
|
|
|
- busSum.setBusSumType(BusinessTypeEnum.LOGISTICS_ORDER_TYPE.getName());
|
|
|
- //操作对象(1新增/2修改)
|
|
|
- busSum.setMethod(NumberConstant.TWO);
|
|
|
- //业务汇总数据对象
|
|
|
- busSum.setObject(order);
|
|
|
- streamBridge.send("sckw-busSum", JSON.toJSONString(busSum));
|
|
|
- } else {
|
|
|
- /**即代表存在分包,当次是属于被分包.需要将数据回归到上游数据。*/
|
|
|
- Long pid = logisticsOrder.getPid();
|
|
|
- /**指的是上游单据进行回归*/
|
|
|
- KwtLogisticsOrder order = logisticsOrderMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrder>()
|
|
|
- .eq(KwtLogisticsOrder::getId, pid));
|
|
|
- //上游分配量
|
|
|
- BigDecimal amount = logisticsOrder.getAmount();
|
|
|
- //已经完成的量
|
|
|
- BigDecimal loadAmount = logisticsOrder.getLoadAmount();
|
|
|
- //未完成的量
|
|
|
- BigDecimal subtract = amount.subtract(loadAmount);
|
|
|
- //.setScale(2,BigDecimal.ROUND_HALF_DOWN)
|
|
|
- BigDecimal add = order.getSubcontractAmount().subtract(amount);
|
|
|
- logisticsOrderMapper.update(null, new LambdaUpdateWrapper<KwtLogisticsOrder>()
|
|
|
- .eq(KwtLogisticsOrder::getId, order.getId())
|
|
|
- .set(KwtLogisticsOrder::getDelFlag, NumberConstant.ZERO)
|
|
|
- .set(KwtLogisticsOrder::getSubcontractAmount, add)
|
|
|
- .set(KwtLogisticsOrder::getUpdateBy, LoginUserHolder.getUserId())
|
|
|
- .set(KwtLogisticsOrder::getUpdateTime, new Date()));
|
|
|
-// updateOrderTrack(logisticsOrder.getId(),orderDto.getRemark(),LogisticsOrderEnum.CANCEL_ORDER);
|
|
|
- /**下游订单进行状态改变*/
|
|
|
- logisticsOrderMapper.update(null, new LambdaUpdateWrapper<KwtLogisticsOrder>()
|
|
|
- .eq(KwtLogisticsOrder::getId, logisticsOrder.getId())
|
|
|
- .set(KwtLogisticsOrder::getStatus, LogisticsOrderEnum.CANCEL_ORDER.getCode())
|
|
|
- .set(KwtLogisticsOrder::getUpdateBy, LoginUserHolder.getUserId())
|
|
|
- .set(KwtLogisticsOrder::getUpdateTime, new Date()));
|
|
|
- updateOrderTrack(logisticsOrder.getId(), orderDto.getRemark(), LogisticsOrderEnum.CANCEL_ORDER);
|
|
|
- /**mongodb更新*/
|
|
|
- //父级
|
|
|
- SckwLogisticsOrder sckwLogisticsOrder = new SckwLogisticsOrder();
|
|
|
- sckwLogisticsOrder.set_id(order.getId());
|
|
|
- sckwLogisticsOrder.setLOrderId(order.getId());
|
|
|
- sckwLogisticsOrder.setSubcontractAmount(add);
|
|
|
- sckwLogisticsOrder.setUpdateTime(new Date());
|
|
|
- sckwLogisticsOrder.setUpdateByName(LoginUserHolder.getUserName());
|
|
|
- sckwLogisticsOrder.setUpdateBy(LoginUserHolder.getUserId());
|
|
|
- SckwBusSum busSum = new SckwBusSum();
|
|
|
- //业务汇总类型
|
|
|
- busSum.setBusSumType(BusinessTypeEnum.LOGISTICS_ORDER_TYPE.getName());
|
|
|
- //操作对象(1新增/2修改)
|
|
|
- busSum.setMethod(NumberConstant.TWO);
|
|
|
- //业务汇总数据对象
|
|
|
- busSum.setObject(sckwLogisticsOrder);
|
|
|
- //当前级
|
|
|
- streamBridge.send("sckw-busSum", JSON.toJSONString(busSum));
|
|
|
- SckwLogisticsOrder logisticsOrder1 = new SckwLogisticsOrder();
|
|
|
- logisticsOrder1.set_id(logisticsOrder.getId());
|
|
|
- logisticsOrder1.setLOrderId(logisticsOrder.getId());
|
|
|
- logisticsOrder1.setStatus(LogisticsOrderEnum.CANCEL_ORDER.getStatus());
|
|
|
- logisticsOrder1.setUpdateTime(new Date());
|
|
|
- logisticsOrder1.setUpdateByName(LoginUserHolder.getUserName());
|
|
|
- logisticsOrder1.setUpdateBy(LoginUserHolder.getUserId());
|
|
|
- SckwBusSum busSum1 = new SckwBusSum();
|
|
|
- //业务汇总类型
|
|
|
- busSum1.setBusSumType(BusinessTypeEnum.LOGISTICS_ORDER_TYPE.getName());
|
|
|
- //操作对象(1新增/2修改)
|
|
|
- busSum1.setMethod(NumberConstant.TWO);
|
|
|
- //业务汇总数据对象
|
|
|
- busSum1.setObject(logisticsOrder1);
|
|
|
- streamBridge.send("sckw-busSum", JSON.toJSONString(busSum1));
|
|
|
- }
|
|
|
+ String key = String.format(RedisConstant.LOGISTICS_ORDER_CANCEL_KEY, orderDto.getId());
|
|
|
+ if (redisLockUtil.tryLock(key)) {
|
|
|
+ try {
|
|
|
+ KwtLogisticsOrder logisticsOrder = logisticsOrderMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrder>()
|
|
|
+ .eq(KwtLogisticsOrder::getId, orderDto.getId())
|
|
|
+ /* .eq(KwtLogisticsOrder::getLOrderNo, orderDto.getOrderNo())*/
|
|
|
+ /**.eq(KwtLogisticsOrder::getEntId, LoginUserHolder.getEntId())*/);
|
|
|
+ if (logisticsOrder == null) {
|
|
|
+ result.setCode(HttpStatus.GLOBAL_EXCEPTION_CODE);
|
|
|
+ result.setMsg("单据不存在");
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+ if (!LogisticsOrderEnum.PENDING_ORDER.getStatus().equals(String.valueOf(logisticsOrder.getStatus()))) {
|
|
|
+ result.setCode(HttpStatus.GLOBAL_EXCEPTION_CODE);
|
|
|
+ result.setMsg("待接单才允许撤销托运");
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+ /**以此字段判别是否存在分包操作*/
|
|
|
+ if (ObjectUtils.isEmpty(logisticsOrder.getPid()) && "1".equals(logisticsOrder.getType())) {
|
|
|
+ /**并不存在分包,撤销数据回归到贸易订单,[待接单状态]下才能撤销托运*/
|
|
|
+ /**调用dubbo 修改数值*/
|
|
|
+ Long tOrderId = logisticsOrder.getTOrderId();
|
|
|
+ CreateOrCancelLogisticsOrderParam param = new CreateOrCancelLogisticsOrderParam();
|
|
|
+ param.setEntrustAmount(logisticsOrder.getAmount().negate());
|
|
|
+ param.setUpdateBy(LoginUserHolder.getUserId());
|
|
|
+ param.setUpdateByName(LoginUserHolder.getUserName());
|
|
|
+ param.setTOrderId(tOrderId);
|
|
|
+ HttpResult httpResult = tradeOrderInfoService.createOrCancelLogisticsOrder(param);
|
|
|
+ if (HttpStatus.SUCCESS_CODE != httpResult.getCode()) {
|
|
|
+ log.info("撤销托运错误:,请求参数:{},响应信息:{}", JSONObject.toJSONString(param), JSONObject.toJSONString(httpResult));
|
|
|
+ }
|
|
|
+ logisticsOrderMapper.update(null, new LambdaUpdateWrapper<KwtLogisticsOrder>()
|
|
|
+ .eq(KwtLogisticsOrder::getId, logisticsOrder.getId())
|
|
|
+ .set(KwtLogisticsOrder::getStatus, LogisticsOrderEnum.CANCEL_ORDER.getCode())
|
|
|
+ .set(KwtLogisticsOrder::getUpdateBy, LoginUserHolder.getUserId())
|
|
|
+ .set(KwtLogisticsOrder::getUpdateTime, new Date()));
|
|
|
+ updateOrderTrack(logisticsOrder.getId(), orderDto.getRemark(), LogisticsOrderEnum.CANCEL_ORDER);
|
|
|
+ //mongodb更新
|
|
|
+ SckwLogisticsOrder order = new SckwLogisticsOrder();
|
|
|
+ order.set_id(logisticsOrder.getId());
|
|
|
+ order.setLOrderId(logisticsOrder.getId());
|
|
|
+ order.setStatus(LogisticsOrderEnum.CANCEL_ORDER.getStatus());
|
|
|
+ order.setUpdateTime(new Date());
|
|
|
+ order.setUpdateByName(LoginUserHolder.getUserName());
|
|
|
+ order.setUpdateBy(LoginUserHolder.getUserId());
|
|
|
+ SckwBusSum busSum = new SckwBusSum();
|
|
|
+ //业务汇总类型
|
|
|
+ busSum.setBusSumType(BusinessTypeEnum.LOGISTICS_ORDER_TYPE.getName());
|
|
|
+ //操作对象(1新增/2修改)
|
|
|
+ busSum.setMethod(NumberConstant.TWO);
|
|
|
+ //业务汇总数据对象
|
|
|
+ busSum.setObject(order);
|
|
|
+ streamBridge.send("sckw-busSum", JSON.toJSONString(busSum));
|
|
|
+ } else {
|
|
|
+ /**即代表存在分包,当次是属于被分包.需要将数据回归到上游数据。*/
|
|
|
+ Long pid = logisticsOrder.getPid();
|
|
|
+ /**指的是上游单据进行回归*/
|
|
|
+ KwtLogisticsOrder order = logisticsOrderMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrder>()
|
|
|
+ .eq(KwtLogisticsOrder::getId, pid));
|
|
|
+ //上游分配量
|
|
|
+ BigDecimal amount = logisticsOrder.getAmount();
|
|
|
+ //已经完成的量
|
|
|
+ BigDecimal loadAmount = logisticsOrder.getLoadAmount();
|
|
|
+ //未完成的量
|
|
|
+ BigDecimal subtract = amount.subtract(loadAmount);
|
|
|
+ //.setScale(2,BigDecimal.ROUND_HALF_DOWN)
|
|
|
+ BigDecimal add = order.getSubcontractAmount().subtract(amount);
|
|
|
+ logisticsOrderMapper.update(null, new LambdaUpdateWrapper<KwtLogisticsOrder>()
|
|
|
+ .eq(KwtLogisticsOrder::getId, order.getId())
|
|
|
+ .set(KwtLogisticsOrder::getDelFlag, NumberConstant.ZERO)
|
|
|
+ .set(KwtLogisticsOrder::getSubcontractAmount, add)
|
|
|
+ .set(KwtLogisticsOrder::getUpdateBy, LoginUserHolder.getUserId())
|
|
|
+ .set(KwtLogisticsOrder::getUpdateTime, new Date()));
|
|
|
+ // updateOrderTrack(logisticsOrder.getId(),orderDto.getRemark(),LogisticsOrderEnum.CANCEL_ORDER);
|
|
|
+ /**下游订单进行状态改变*/
|
|
|
+ logisticsOrderMapper.update(null, new LambdaUpdateWrapper<KwtLogisticsOrder>()
|
|
|
+ .eq(KwtLogisticsOrder::getId, logisticsOrder.getId())
|
|
|
+ .set(KwtLogisticsOrder::getStatus, LogisticsOrderEnum.CANCEL_ORDER.getCode())
|
|
|
+ .set(KwtLogisticsOrder::getUpdateBy, LoginUserHolder.getUserId())
|
|
|
+ .set(KwtLogisticsOrder::getUpdateTime, new Date()));
|
|
|
+ updateOrderTrack(logisticsOrder.getId(), orderDto.getRemark(), LogisticsOrderEnum.CANCEL_ORDER);
|
|
|
+ /**mongodb更新*/
|
|
|
+ //父级
|
|
|
+ SckwLogisticsOrder sckwLogisticsOrder = new SckwLogisticsOrder();
|
|
|
+ sckwLogisticsOrder.set_id(order.getId());
|
|
|
+ sckwLogisticsOrder.setLOrderId(order.getId());
|
|
|
+ sckwLogisticsOrder.setSubcontractAmount(add);
|
|
|
+ sckwLogisticsOrder.setUpdateTime(new Date());
|
|
|
+ sckwLogisticsOrder.setUpdateByName(LoginUserHolder.getUserName());
|
|
|
+ sckwLogisticsOrder.setUpdateBy(LoginUserHolder.getUserId());
|
|
|
+ SckwBusSum busSum = new SckwBusSum();
|
|
|
+ //业务汇总类型
|
|
|
+ busSum.setBusSumType(BusinessTypeEnum.LOGISTICS_ORDER_TYPE.getName());
|
|
|
+ //操作对象(1新增/2修改)
|
|
|
+ busSum.setMethod(NumberConstant.TWO);
|
|
|
+ //业务汇总数据对象
|
|
|
+ busSum.setObject(sckwLogisticsOrder);
|
|
|
+ //当前级
|
|
|
+ streamBridge.send("sckw-busSum", JSON.toJSONString(busSum));
|
|
|
+ SckwLogisticsOrder logisticsOrder1 = new SckwLogisticsOrder();
|
|
|
+ logisticsOrder1.set_id(logisticsOrder.getId());
|
|
|
+ logisticsOrder1.setLOrderId(logisticsOrder.getId());
|
|
|
+ logisticsOrder1.setStatus(LogisticsOrderEnum.CANCEL_ORDER.getStatus());
|
|
|
+ logisticsOrder1.setUpdateTime(new Date());
|
|
|
+ logisticsOrder1.setUpdateByName(LoginUserHolder.getUserName());
|
|
|
+ logisticsOrder1.setUpdateBy(LoginUserHolder.getUserId());
|
|
|
+ SckwBusSum busSum1 = new SckwBusSum();
|
|
|
+ //业务汇总类型
|
|
|
+ busSum1.setBusSumType(BusinessTypeEnum.LOGISTICS_ORDER_TYPE.getName());
|
|
|
+ //操作对象(1新增/2修改)
|
|
|
+ busSum1.setMethod(NumberConstant.TWO);
|
|
|
+ //业务汇总数据对象
|
|
|
+ busSum1.setObject(logisticsOrder1);
|
|
|
+ streamBridge.send("sckw-busSum", JSON.toJSONString(busSum1));
|
|
|
+ }
|
|
|
// String type = orderDto.getType();
|
|
|
// if ("1".equals(type)) {
|
|
|
// commonService.cancelLogisticsConsignment(logisticsOrder.getLOrderNo(), logisticsOrder.getCreateBy(), logisticsOrder.getEntId(), MessageEnum.CANCELLATION_LOGISTICS,newLogisticsOrderUrl);
|
|
|
@@ -455,25 +466,31 @@ public class TransportCommonService {
|
|
|
// commonService.cancelLogisticsConsignment(logisticsOrder.getLOrderNo(), logisticsOrder.getCreateBy(), logisticsOrder.getEntId(), MessageEnum.CARRIAGE_CANCELLATION_LOGISTICS,newLogisticsOrderUrl);
|
|
|
// }
|
|
|
|
|
|
- Long id = logisticsOrder.getId();
|
|
|
- //托运
|
|
|
- KwtLogisticsOrderUnit consignUnit = logisticsOrderUnitMapper.selectOne(
|
|
|
- new LambdaQueryWrapper<KwtLogisticsOrderUnit>()
|
|
|
- .eq(KwtLogisticsOrderUnit::getLOrderId, id)
|
|
|
- .eq(KwtLogisticsOrderUnit::getUnitType, NumberConstant.ONE));
|
|
|
- //承运
|
|
|
- KwtLogisticsOrderUnit carriageUnit = logisticsOrderUnitMapper.selectOne(
|
|
|
- new LambdaQueryWrapper<KwtLogisticsOrderUnit>()
|
|
|
- .eq(KwtLogisticsOrderUnit::getLOrderId, id)
|
|
|
- .eq(KwtLogisticsOrderUnit::getUnitType, NumberConstant.TWO));
|
|
|
+ Long id = logisticsOrder.getId();
|
|
|
+ //托运
|
|
|
+ KwtLogisticsOrderUnit consignUnit = logisticsOrderUnitMapper.selectOne(
|
|
|
+ new LambdaQueryWrapper<KwtLogisticsOrderUnit>()
|
|
|
+ .eq(KwtLogisticsOrderUnit::getLOrderId, id)
|
|
|
+ .eq(KwtLogisticsOrderUnit::getUnitType, NumberConstant.ONE));
|
|
|
+ //承运
|
|
|
+ KwtLogisticsOrderUnit carriageUnit = logisticsOrderUnitMapper.selectOne(
|
|
|
+ new LambdaQueryWrapper<KwtLogisticsOrderUnit>()
|
|
|
+ .eq(KwtLogisticsOrderUnit::getLOrderId, id)
|
|
|
+ .eq(KwtLogisticsOrderUnit::getUnitType, NumberConstant.TWO));
|
|
|
// commonService.cancelLogisticsConsignment(consignUnit, carriageUnit, logisticsOrder.getLOrderNo(), logisticsOrder.getCreateBy(),
|
|
|
// logisticsOrder.getEntId(), MessageEnum.CANCELLATION_LOGISTICS, MessageEnum.CARRIAGE_CANCELLATION_LOGISTICS);
|
|
|
- commonService.newSendLogisticsOrderToMessage(consignUnit, carriageUnit, logisticsOrder.getLOrderNo(), logisticsOrder.getCreateBy(),
|
|
|
- logisticsOrder.getEntId(),
|
|
|
- messageUrlConfig.getPc().getConsignLogisticsAddOrderUrl(), messageUrlConfig.getApp().getConsignLogisticsAddOrderUrl(),
|
|
|
- messageUrlConfig.getPc().getCarriageLogisticsAddOrderUrl(), messageUrlConfig.getApp().getCarriageLogisticsAddOrderUrl(),
|
|
|
- MessageEnum.CANCELLATION_LOGISTICS, MessageEnum.CARRIAGE_CANCELLATION_LOGISTICS,
|
|
|
- "1");
|
|
|
+ commonService.newSendLogisticsOrderToMessage(consignUnit, carriageUnit, logisticsOrder.getLOrderNo(), logisticsOrder.getCreateBy(),
|
|
|
+ logisticsOrder.getEntId(),
|
|
|
+ messageUrlConfig.getPc().getConsignLogisticsAddOrderUrl(), messageUrlConfig.getApp().getConsignLogisticsAddOrderUrl(),
|
|
|
+ messageUrlConfig.getPc().getCarriageLogisticsAddOrderUrl(), messageUrlConfig.getApp().getCarriageLogisticsAddOrderUrl(),
|
|
|
+ MessageEnum.CANCELLATION_LOGISTICS, MessageEnum.CARRIAGE_CANCELLATION_LOGISTICS,
|
|
|
+ "1");
|
|
|
+ } finally {
|
|
|
+ redisLockUtil.unlock(key);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ return HttpResult.error("当前数据不可重复提交");
|
|
|
+ }
|
|
|
return result;
|
|
|
}
|
|
|
|