Ver Fonte

仓库预发机接口优化

mac há 2 anos atrás
pai
commit
534bd2bb0a

+ 10 - 6
kxs-store/kxs-store-biz/src/main/java/com/kxs/store/biz/service/impl/KxsMachineAdvanceServiceImpl.java

@@ -35,6 +35,7 @@ import com.kxs.store.biz.service.KxsWarehouseLimitService;
 import com.kxs.system.api.feign.RemoteUserMsgService;
 import com.kxs.system.api.model.KxsUserMsg;
 import com.kxs.system.api.util.MsgTemplateUtil;
+import com.kxs.system.api.util.ParamResolver;
 import com.kxs.user.api.feign.RemoteKxsUserService;
 import com.kxs.user.api.model.KxsUser;
 import io.seata.spring.annotation.GlobalTransactional;
@@ -138,7 +139,7 @@ public class KxsMachineAdvanceServiceImpl extends ServiceImpl<KxsMachineAdvanceM
                 .selectOne(Wrappers.<KxsMachineAdvanceInfo>lambdaQuery()
                         .eq(KxsMachineAdvanceInfo::getPosSn, advance.getPosSn()));
 
-        machineAdvanceInfo.setIsReturn(1);
+        machineAdvanceInfo.setIsReturn(CommonConstants.SUCCESS);
         machineAdvanceInfo.setReturnTime(LocalDateTime.now());
         kxsMachineAdvanceInfoMapper.updateById(machineAdvanceInfo);
 
@@ -146,12 +147,13 @@ public class KxsMachineAdvanceServiceImpl extends ServiceImpl<KxsMachineAdvanceM
         KxsMachine machine = new KxsMachine();
         machine.setId(machineAdvanceInfo.getMachineId());
         machine.setStatus(MachineTypeEnum.STATUS_IS.getType());
+        machine.setPreUserId(0);
         R<Boolean> result = remoteKxsProductService.updateByMachine(machine, SecurityConstants.FROM_IN);
         if(!result.getData()){
             throw new GlobalCustomerException(ErrorTypeEnum.REMOTE_DATA_ERROR.getDescription());
         }
 
-        if(machineAdvanceInfo.getIsUseAmount() == 1){
+        if(Objects.equals(machineAdvanceInfo.getIsUseAmount(), CommonConstants.SUCCESS)){
 
             //查询主订单预发机
             KxsMachineAdvance kxsMachineAdvance = baseMapper.selectById(machineAdvanceInfo.getOrderId());
@@ -225,7 +227,8 @@ public class KxsMachineAdvanceServiceImpl extends ServiceImpl<KxsMachineAdvanceM
         //预发数量
         Long advanceCount = baseMapper.selectUserByCount(toUser.getId());
         //预发数量+本次申请数量不能超过10
-        if (advanceCount + param.getSnList().size() >= 10) {
+        Integer preMaxNum = ParamResolver.getInteger("PRE_POS_MAX_NUM", 10);
+        if (advanceCount + param.getSnList().size() >= preMaxNum) {
             return R.failed(StoreErrorTypeEnum.ADVANCE_MACHINE_NUMBER_ERROR.getDescription());
         }
         //查询仓库
@@ -320,7 +323,7 @@ public class KxsMachineAdvanceServiceImpl extends ServiceImpl<KxsMachineAdvanceM
         }
 
         //同意
-        if (param.getConfirmType() == 1) {
+        if (Objects.equals(param.getConfirmType(), CommonConstants.SUCCESS)) {
             //扣减用户预发额度
             int amount;
             if (Objects.equals(brand.getBrandType(), BrandTypeEnum.DIANQIAN.getType())) {
@@ -343,9 +346,9 @@ public class KxsMachineAdvanceServiceImpl extends ServiceImpl<KxsMachineAdvanceM
             for (KxsMachineAdvanceInfo info : machineAdvanceInfos) {
                 //修改为占用预发额度标签
                 if (userLimit.getValidAmount().compareTo(BigDecimal.valueOf(amount)) >= 0) {
-                    info.setIsUseAmount(1);
+                    info.setIsUseAmount(CommonConstants.SUCCESS);
                 }
-                info.setIsConfirm(1);
+                info.setIsConfirm(CommonConstants.SUCCESS);
                 kxsMachineAdvanceInfoMapper.updateById(info);
             }
             //给预发对象发送通知
@@ -365,6 +368,7 @@ public class KxsMachineAdvanceServiceImpl extends ServiceImpl<KxsMachineAdvanceM
                 KxsMachine machine = new KxsMachine();
                 machine.setId(info.getMachineId());
                 machine.setStatus(MachineTypeEnum.STATUS_IS.getType());
+                machine.setPreUserId(0);
                 R<Boolean> result = remoteKxsProductService.updateByMachine(machine, SecurityConstants.FROM_IN);
                 if(!result.getData()){
                     throw new GlobalCustomerException(ErrorTypeEnum.REMOTE_DATA_ERROR.getDescription());