diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/api/ApiDealServiceImpl.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/api/ApiDealServiceImpl.java index 6ba3a83f86..61c5518b46 100644 --- a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/api/ApiDealServiceImpl.java +++ b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/api/ApiDealServiceImpl.java @@ -39,13 +39,17 @@ public class ApiDealServiceImpl implements ApiDealStrategyService { @Override public ApiDealResp createOrder(final SuperiorApiLogSaveReqVO logVO, OrderApiCreateParam param) { String redisKey = "ApiDealServiceImpl::createOrder::" + param.getId(); - RLock lock = redissonClient.getLock(redisKey); logVO.setApiType(1); logVO.setHaokaOrderId(param.getId()); logVO.setHaokaProductId(param.getProductId()); logVO.setHaokaSuperiorApiId(param.getSuperiorApiId()); + // RLock lock = redissonClient.getLock(redisKey); try { - lock.lock(1, TimeUnit.SECONDS); +// boolean b = lock.tryLock(1, 20, TimeUnit.SECONDS); +// if (!b){ +// logVO.setInnerNote("获取不到锁!"); +// return ApiDealResp.failed("获取不到锁"); +// } OnSaleProductPreOrderRespVO onSaleProductPreOrder = onSaleProductService.getOnSaleProductPreOrder(param.getOnSaleProductId()); if (onSaleProductPreOrder == null) { String msg = "关联上级产品不存在"; @@ -83,7 +87,7 @@ public class ApiDealServiceImpl implements ApiDealStrategyService { logVO.setErrorInfo(e.getMessage()); return ApiDealResp.failed(e.getMessage()); } finally { - lock.unlock(); + // lock.unlock(); superiorApiLogService.createSuperiorApiLog(logVO); } } diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/api/strategy/LianTongApiDealStrategy.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/api/strategy/LianTongApiDealStrategy.java index d85ca3410d..6ee56b086d 100644 --- a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/api/strategy/LianTongApiDealStrategy.java +++ b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/api/strategy/LianTongApiDealStrategy.java @@ -89,11 +89,13 @@ public class LianTongApiDealStrategy implements ApiDealStrategy { // 1、提交资料 lianTongSubmitUserInfo KingIdentityCustV2Request ziLiao = new KingIdentityCustV2Request(); - ziLiao.setProvince(numAddress.getPhoneProvinceCode()); - ziLiao.setCity(numAddress.getPhoneCityCode()); + if (numAddress!=null){ + ziLiao.setProvince(numAddress.getPhoneProvinceCode()); + ziLiao.setCity(numAddress.getPhoneCityCode()); + } ziLiao.setCertName(param.getIdCardName()); ziLiao.setCertNum(param.getIdCardNum()); - if (skuConfigVO != null && StringUtils.isNotEmpty(skuConfigVO.getConfig())) { + if (StringUtils.isNotEmpty(skuConfigVO.getConfig())) { String config = skuConfigVO.getConfig(); JSONObject configs = JSON.parseObject(config); @@ -187,8 +189,12 @@ public class LianTongApiDealStrategy implements ApiDealStrategy { // 3、用 token提交正式订单 lianTongOrderSyncV2 KingOrderSyncV2Request syncV2 = new KingOrderSyncV2Request(); - syncV2.setProvinceCode(numAddress.getPhoneProvinceCode()); - syncV2.setCityCode(numAddress.getPhoneCityCode()); + + if (numAddress!=null){ + syncV2.setProvinceCode(numAddress.getPhoneProvinceCode()); + syncV2.setCityCode(numAddress.getPhoneCityCode()); + } + syncV2.setCreateTime(format); syncV2.setPhoneNum(param.getPlanMobile()); syncV2.setGoodsId(skuConfigVO.getSuperiorCode()); diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/orders/OrdersServiceImpl.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/orders/OrdersServiceImpl.java index 783c566278..538f1d5ce8 100644 --- a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/orders/OrdersServiceImpl.java +++ b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/orders/OrdersServiceImpl.java @@ -63,18 +63,20 @@ public class OrdersServiceImpl extends ServiceImpl imple private ProductLimitService productLimitService; @Resource private OrderOperateLogService orderOperateLogService; + /** * 重新提交订单 + * * @param orderId * @return */ - public Long reCreateOrder(Long orderId){ - if (ObjectUtil.isEmpty(orderId)){ - throw invalidParamException("参数orderId不能为空!"); + public Long reCreateOrder(Long orderId) { + if (ObjectUtil.isEmpty(orderId)) { + throw invalidParamException("参数orderId不能为空!"); } OrdersDO ordersDO = ordersMapper.selectById(orderId); Long statusOld = ordersDO.getStatus(); - if (ObjectUtil.isEmpty(ordersDO)){ + if (ObjectUtil.isEmpty(ordersDO)) { throw invalidParamException("订单不存在!"); } // 调用上游接口下单, @@ -85,7 +87,7 @@ public class OrdersServiceImpl extends ServiceImpl imple // 判断是否需要发送短信 // 如果订单订单状态变更需要发送短信 - if (statusOld!=null && statusOld.equals(ordersDO.getStatus())){ + if (statusOld != null && statusOld.equals(ordersDO.getStatus())) { // 创建后需要发送短信 smsTaskService.sendSMS( ordersDO.getStatus(), @@ -101,7 +103,7 @@ public class OrdersServiceImpl extends ServiceImpl imple return orderId; } - private OrdersDO handleOrderCreate(final OrdersDO ordersDO){ + private OrdersDO handleOrderCreate(final OrdersDO ordersDO) { return createOrder(ordersDO); } @@ -156,7 +158,7 @@ public class OrdersServiceImpl extends ServiceImpl imple throw exception(ORDERS_NOT_EXISTS); } OrdersDO updateObj = BeanUtils.toBean(updateReqVO, OrdersDO.class); - if("120".equals(updateReqVO.getStatus())){ + if ("120".equals(updateReqVO.getStatus())) { // 提交初审时判断限制条件 OnSaleProductPreOrderRespVO onSaleProductPreOrder = onSaleProductService.getOnSaleProductPreOrder(oldOrderDo.getOnSaleProductId()); ProductLimitRespVO productLimit = productLimitService.getProductLimit(onSaleProductPreOrder.getParentProduct().getHaokaProductLimitId()); @@ -169,7 +171,7 @@ public class OrdersServiceImpl extends ServiceImpl imple int age = IdCardAgeCalculator.calculateAge(oldOrderDo.getIdCardNum()); Integer ageMax = productLimit.getAgeMax(); Integer ageMin = productLimit.getAgeMin(); - if(ObjectUtil.isNotEmpty(ageMax) && ObjectUtil.isNotEmpty(ageMin) && age<=ageMax && age>= ageMin){ + if (ObjectUtil.isNotEmpty(ageMax) && ObjectUtil.isNotEmpty(ageMin) && age <= ageMax && age >= ageMin) { // 年龄校验不通过 开卡失败 OrderOperateLogSaveReqVO logSaveReqVO = new OrderOperateLogSaveReqVO(); logSaveReqVO.setOrderId(updateObj.getId()); @@ -180,10 +182,10 @@ public class OrdersServiceImpl extends ServiceImpl imple updateObj.setStatus(-451L); } List productLimitCardRespVO = productLimit.getProductLimitCardRespVO(); - if(ObjectUtil.isNotEmpty(productLimitCardRespVO)){ + if (ObjectUtil.isNotEmpty(productLimitCardRespVO)) { for (ProductLimitCardRespVO limitCardRespVO : productLimitCardRespVO) { String cardNum = String.valueOf(limitCardRespVO.getCardNum()); - if(idCardNum.startsWith(cardNum)){ + if (idCardNum.startsWith(cardNum)) { // 身份证号码校验不通过 开卡失败 OrderOperateLogSaveReqVO logSaveReqVO = new OrderOperateLogSaveReqVO(); logSaveReqVO.setOrderId(updateObj.getId()); @@ -199,9 +201,8 @@ public class OrdersServiceImpl extends ServiceImpl imple List productLimitAreaVos = productLimit.getProductLimitAreaVos(); - // 地区限制检查 - if (CollectionUtil.isNotEmpty(productLimitAreaVos)){ + if (CollectionUtil.isNotEmpty(productLimitAreaVos)) { // 允许的地区编码 List allowedAreaCode = productLimitAreaVos @@ -210,7 +211,7 @@ public class OrdersServiceImpl extends ServiceImpl imple .map(ProductLimitAreaRespVO::getAddressCode) .toList(); // 不在允许的地区编码 - if (CollectionUtil.isNotEmpty(allowedAreaCode) && !allowedAreaCode.contains(addressProvinceCode)){ + if (CollectionUtil.isNotEmpty(allowedAreaCode) && !allowedAreaCode.contains(addressProvinceCode)) { updateObj.setStatus(125L); OrderOperateLogSaveReqVO logSaveReqVO = new OrderOperateLogSaveReqVO(); logSaveReqVO.setOrderId(updateObj.getId()); @@ -222,11 +223,11 @@ public class OrdersServiceImpl extends ServiceImpl imple List notAllowedAreaCode = productLimitAreaVos .stream() - .filter(o->!o.getAllowed()) + .filter(o -> !o.getAllowed()) .map(ProductLimitAreaRespVO::getAddressCode) .toList(); // 在不发货的地区编码中 - if (CollectionUtil.isNotEmpty(notAllowedAreaCode) && notAllowedAreaCode.contains(addressProvinceCode)){ + if (CollectionUtil.isNotEmpty(notAllowedAreaCode) && notAllowedAreaCode.contains(addressProvinceCode)) { updateObj.setStatus(125L); OrderOperateLogSaveReqVO logSaveReqVO = new OrderOperateLogSaveReqVO(); logSaveReqVO.setOrderId(updateObj.getId()); @@ -248,7 +249,7 @@ public class OrdersServiceImpl extends ServiceImpl imple ordersMapper.updateById(updateObj); // 状态变化:发送短信提醒 - if (updateReqVO.getStatus()!=null && updateReqVO.getStatus().equals(oldOrderDo.getStatus())){ + if (updateReqVO.getStatus() != null && updateReqVO.getStatus().equals(oldOrderDo.getStatus())) { smsTaskService.sendSMS( updateObj.getStatus(), @@ -279,9 +280,9 @@ public class OrdersServiceImpl extends ServiceImpl imple ordersMapper.updateById(updateObj); Long status = updateObj.getStatus(); // 进入审核流程 - if (ObjectUtil.equals(status, 450)) { + if (status != null && status == 450L) { // 450 审核通过 - if("2".equals(autoType)){ + if ("2".equals(String.valueOf(autoType))) { // 自动生产 OrderOperateLogSaveReqVO logSaveReqVO = new OrderOperateLogSaveReqVO(); logSaveReqVO.setOrderId(updateObj.getId()); @@ -290,7 +291,7 @@ public class OrdersServiceImpl extends ServiceImpl imple logSaveReqVO.setMsgSource("1"); orderOperateLogService.createOrderOperateLog(logSaveReqVO); createOrder(updateObj); - }else { + } else { // 手动生产 updateObj.setStatus(450L); ordersMapper.updateById(updateObj); @@ -301,6 +302,7 @@ public class OrdersServiceImpl extends ServiceImpl imple /** * 提交订单 + * * @param updateReqVO */ @Override @@ -337,7 +339,7 @@ public class OrdersServiceImpl extends ServiceImpl imple // 记录操作记录 OrderOperateLogSaveReqVO logSaveReqVO = new OrderOperateLogSaveReqVO(); logSaveReqVO.setOrderId(ordersDO.getId()); - if(success){ + if (success) { // 订单调用接口返回结果 logSaveReqVO.setMsgSource("1"); @@ -347,7 +349,7 @@ public class OrdersServiceImpl extends ServiceImpl imple // 上游订单状态 ordersDO.setUpstreamOrderStatus(Integer.valueOf(orderStatusCode)); // api记录成功操作记录 - if("0".equals(orderStatusCode)){ + if ("0".equals(orderStatusCode)) { // 提交异常 logSaveReqVO.setMsgType("1"); ordersDO.setStatus(-460L); @@ -363,7 +365,7 @@ public class OrdersServiceImpl extends ServiceImpl imple ordersDO.setStatus(470L); logSaveReqVO.setMsg("提单成功"); } - }else { + } else { // 系统失败操作记录 logSaveReqVO.setMsg(msg); logSaveReqVO.setMsgSource("0");