Browse Source

feat(check): 临期品支持多批次相同sku下单

master
Yen 2 days ago
parent
commit
0524eeefdc
  1. 1
      cms-common/src/main/java/com/qs/serve/common/exception/UnifiedExceptionHandler.java
  2. 16
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/controller/OmsOrderExpiredController.java
  3. 2
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderOptionsServiceImpl.java
  4. 2
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java
  5. 6
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/service/impl/OmsSaleOrderServiceImpl.java
  6. 5
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/utils/OmsOrderUtil.java
  7. 2
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/third/PortalOfCostController.java
  8. 35
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/third/entity/OrderGiftCreateCostParam.java
  9. 2
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/third/service/PortalOfCostPartApplication.java

1
cms-common/src/main/java/com/qs/serve/common/exception/UnifiedExceptionHandler.java

@ -38,6 +38,7 @@ public class UnifiedExceptionHandler {
@ResponseBody @ResponseBody
public R handleBindException(BusinessException e,HttpServletRequest request) { public R handleBindException(BusinessException e,HttpServletRequest request) {
log.warn("自定义异常触发【{},{}】,请求地址:{}",e.getCode(),e.getMessage(),request.getRequestURI()); log.warn("自定义异常触发【{},{}】,请求地址:{}",e.getCode(),e.getMessage(),request.getRequestURI());
e.printStackTrace();
return new R(e.getCode(),e.getMessage()); return new R(e.getCode(),e.getMessage());
} }

16
cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/controller/OmsOrderExpiredController.java

@ -4,7 +4,10 @@ import com.qs.serve.common.annotation.SysLog;
import com.qs.serve.framework.base.model.R; import com.qs.serve.framework.base.model.R;
import com.qs.serve.common.enums.BizType; import com.qs.serve.common.enums.BizType;
import com.qs.serve.common.enums.SystemModule; import com.qs.serve.common.enums.SystemModule;
import com.qs.serve.modules.oms.entity.OmsOrder;
import com.qs.serve.modules.oms.service.OmsOrderOptionsService; import com.qs.serve.modules.oms.service.OmsOrderOptionsService;
import com.qs.serve.modules.oms.service.OmsOrderService;
import com.qs.serve.modules.tbs.entity.bo.TbsAffairCommitBo;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -20,6 +23,7 @@ import org.springframework.web.bind.annotation.*;
public class OmsOrderExpiredController { public class OmsOrderExpiredController {
OmsOrderOptionsService omsOrderOptionsService; OmsOrderOptionsService omsOrderOptionsService;
OmsOrderService omsOrderService;
/** /**
* 提交临期订单 * 提交临期订单
@ -33,6 +37,18 @@ public class OmsOrderExpiredController {
return R.ok(); return R.ok();
} }
@GetMapping("successDev/{id}")
public R<?> successDev(@PathVariable String id){
OmsOrder order = omsOrderService.getById( id);
if(!order.getOrderSn().contains("TEST")){
return R.error("非测试环境");
}
TbsAffairCommitBo affairCommit = new TbsAffairCommitBo(id);
omsOrderOptionsService.doFinished(affairCommit);
omsOrderOptionsService.syncToErp();
return R.ok();
}
@GetMapping("compensate/{id}") @GetMapping("compensate/{id}")
public R<?> runCompensate(@PathVariable String id){ public R<?> runCompensate(@PathVariable String id){
omsOrderOptionsService.runCompensate(id); omsOrderOptionsService.runCompensate(id);

2
cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderOptionsServiceImpl.java

@ -114,7 +114,7 @@ public class OmsOrderOptionsServiceImpl implements OmsOrderOptionsService {
List<OmsOrderItem> orderItemList = omsOrderItemService.listByOrderId(Long.parseLong(orderId)); List<OmsOrderItem> orderItemList = omsOrderItemService.listByOrderId(Long.parseLong(orderId));
// 加成订单项合法性 // 加成订单项合法性
OmsOrderUtil.checkOrderItemValues(orderItemList); OmsOrderUtil.checkOrderItemValues(orderItemList,omsOrder.getOrderType());
//下单前规则拦截 //下单前规则拦截
//GoodsCategoryRule categoryRule = goodsCategoryRuleMapper.selectById(omsOrder.getBrandRuleId()); //GoodsCategoryRule categoryRule = goodsCategoryRuleMapper.selectById(omsOrder.getBrandRuleId());

2
cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java

@ -1085,7 +1085,7 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper, OmsOrder> i
List<OmsOrderItem> orderItemList = omsOrderItemService.list(iteLqw); List<OmsOrderItem> orderItemList = omsOrderItemService.list(iteLqw);
// 加成订单项合法性 // 加成订单项合法性
OmsOrderUtil.checkOrderItemValues(orderItemList); OmsOrderUtil.checkOrderItemValues(orderItemList,omsOrder.getOrderType());
//下单前规则拦截 //下单前规则拦截
GoodsCategoryRule categoryRule = goodsCategoryRuleMapper.selectById(omsOrder.getBrandRuleId()); GoodsCategoryRule categoryRule = goodsCategoryRuleMapper.selectById(omsOrder.getBrandRuleId());

6
cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/service/impl/OmsSaleOrderServiceImpl.java

@ -1244,9 +1244,9 @@ public class OmsSaleOrderServiceImpl extends ServiceImpl<OmsSaleOrderMapper, Oms
Set<String> skuIds = imminentBatches.stream() Set<String> skuIds = imminentBatches.stream()
.map(GoodsImminentBatch::getSkuId).collect(Collectors.toSet()); .map(GoodsImminentBatch::getSkuId).collect(Collectors.toSet());
if (skuIds.size() != imminentBatches.size()) { // if (skuIds.size() != imminentBatches.size()) {
Assert.throwEx("不同批次相同产品,请分开下单"); // Assert.throwEx("不同批次相同产品,请分开下单");
} // }
List<GoodsSku> goodsSkuList = goodsSkuService.listByIds(skuIds); List<GoodsSku> goodsSkuList = goodsSkuService.listByIds(skuIds);

5
cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/utils/OmsOrderUtil.java

@ -15,7 +15,7 @@ import java.util.List;
@UtilityClass @UtilityClass
public class OmsOrderUtil { public class OmsOrderUtil {
public static void checkOrderItemValues(List<OmsOrderItem> orderItemList) { public static void checkOrderItemValues(List<OmsOrderItem> orderItemList,int orderType) {
if (orderItemList.size() < 1) { if (orderItemList.size() < 1) {
Assert.throwEx("空项目不支持下单"); Assert.throwEx("空项目不支持下单");
} }
@ -26,7 +26,8 @@ public class OmsOrderUtil {
} }
//拦截相同的skuItem //拦截相同的skuItem
long countDistinct = orderItemList.stream().map(OmsOrderItem::getSkuId).distinct().count(); long countDistinct = orderItemList.stream().map(OmsOrderItem::getSkuId).distinct().count();
if (orderItemList.size() != countDistinct) { // 忽略临期品
if (orderItemList.size() != countDistinct && orderType!= 3) {
Assert.throwEx("有重复存货,请检查订单项"); Assert.throwEx("有重复存货,请检查订单项");
} }
for (OmsOrderItem orderItem : orderItemList) { for (OmsOrderItem orderItem : orderItemList) {

2
cms-modules/cms-system/src/main/java/com/qs/serve/modules/third/PortalOfCostController.java

@ -52,6 +52,8 @@ public class PortalOfCostController {
private TbsCostApplyMapper tbsCostApplyMapper; private TbsCostApplyMapper tbsCostApplyMapper;
private SysDeleteLogService deleteLogService; private SysDeleteLogService deleteLogService;
/** /**
* 删除DHX费用(调度系统调用的) * 删除DHX费用(调度系统调用的)
* @param param * @param param

35
cms-modules/cms-system/src/main/java/com/qs/serve/modules/third/entity/OrderGiftCreateCostParam.java

@ -0,0 +1,35 @@
package com.qs.serve.modules.third.entity;
import lombok.Data;
/**
* 搭赠生成费用参数
* @author YenHex
* @since 2025/7/18
*/
@Data
public class OrderGiftCreateCostParam {
/**
* 源主订单号
*/
private String orgOrderSn;
/**
* 搭赠订单单号
*/
private String orderSn;
/**
* 供应商或客户ID
*/
private String supplierId;
/**
* 科目编码
*/
private String subjectCode;
private String rere;
}

2
cms-modules/cms-system/src/main/java/com/qs/serve/modules/third/service/PortalOfCostPartApplication.java

@ -87,6 +87,8 @@ public class PortalOfCostPartApplication {
private ProjectApisProperties projectApisProperties; private ProjectApisProperties projectApisProperties;
private PayPaymentService payPaymentService; private PayPaymentService payPaymentService;
/** /**
* 协议类费用 释放接口释放合同不再支付的金额 * 协议类费用 释放接口释放合同不再支付的金额
* @param paymentBo * @param paymentBo

Loading…
Cancel
Save