diff --git a/src/main/java/cn/com/tenlion/operator/controller/resource/packageorder/PackageOrderResourceController.java b/src/main/java/cn/com/tenlion/operator/controller/resource/packageorder/PackageOrderResourceController.java index d48cdc4..11e5b44 100644 --- a/src/main/java/cn/com/tenlion/operator/controller/resource/packageorder/PackageOrderResourceController.java +++ b/src/main/java/cn/com/tenlion/operator/controller/resource/packageorder/PackageOrderResourceController.java @@ -88,7 +88,7 @@ public class PackageOrderResourceController extends DefaultBaseController { @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) @PostMapping("update-pay/{packageNo}/{packageAccountItem}") @CheckRequestBodyAnnotation - public SuccessResultData updatePay(@PathVariable String packageNo, @PathVariable String packageAccountItem) { + public synchronized SuccessResultData updatePay(@PathVariable String packageNo, @PathVariable String packageAccountItem) { try{ PackageOrderAppVO packageOrderVO = new PackageOrderAppVO(); packageOrderVO.setPackageAccountItem(packageAccountItem); diff --git a/src/main/java/cn/com/tenlion/operator/service/packageorder/impl/PackageOrderServiceImpl.java b/src/main/java/cn/com/tenlion/operator/service/packageorder/impl/PackageOrderServiceImpl.java index 236c6e3..4e88d5c 100644 --- a/src/main/java/cn/com/tenlion/operator/service/packageorder/impl/PackageOrderServiceImpl.java +++ b/src/main/java/cn/com/tenlion/operator/service/packageorder/impl/PackageOrderServiceImpl.java @@ -196,15 +196,35 @@ public class PackageOrderServiceImpl extends DefaultBaseService implements IPack if(orderDTO.getPackagePayStatus().equals("1")) { // 当前状态已经是已支付的不做操作 return; } - /** - * 1. 更改到账时间 , 状态 - */ - Map params = super.getHashMap(2); - params.put("packageNo", packageOrderVO.getAccountRechargeId());// 关联支付 - params.put("packageAccountItem", packageOrderVO.getPackageAccountItem()); // 关联扣款流水 - params.put("packagePayStatus", "1"); // 已支付 - params.put("packagePay", DateUtil.getTime()); // 支付时间 - packageOrderDao.updatePay(params); + PackageInfoAppDTO infoAppDTO = orderDTO.getPackageInfoAppDTO(); + // 仅限购买1次的 + if(infoAppDTO.equals("single")) { + List list = list(packageOrderVO.getPackageInfoId(), orderDTO.getCreator()); + Boolean exists = false; + for(PackageOrderDTO dto : list) { + if(dto.getPackagePayStatus().equals("1")) { + exists = true; + } + } + if (!exists) { + Map params = super.getHashMap(2); + params.put("packageNo", packageOrderVO.getAccountRechargeId());// 关联支付 + params.put("packageAccountItem", packageOrderVO.getPackageAccountItem()); // 关联扣款流水 + params.put("packagePayStatus", "1"); // 已支付 + params.put("packagePay", DateUtil.getTime()); // 支付时间 + packageOrderDao.updatePay(params); + } + }else{ + /** + * 1. 更改到账时间 , 状态 + */ + Map params = super.getHashMap(2); + params.put("packageNo", packageOrderVO.getAccountRechargeId());// 关联支付 + params.put("packageAccountItem", packageOrderVO.getPackageAccountItem()); // 关联扣款流水 + params.put("packagePayStatus", "1"); // 已支付 + params.put("packagePay", DateUtil.getTime()); // 支付时间 + packageOrderDao.updatePay(params); + } } @Autowired @@ -297,14 +317,14 @@ public class PackageOrderServiceImpl extends DefaultBaseService implements IPack if(!StringUtils.isEmpty(packageInfoDTO.getPackageLimitUsers()) && !packageInfoDTO.getPackageLimitUsers().contains(packageOrderVO.getUserId())) { throw new SaveException("你不能购买该套餐包"); } - if(packageInfoDTO.getPackageMode().equals("single")) { + /* if(packageInfoDTO.getPackageMode().equals("single")) { List list = list(packageOrderVO.getPackageInfoId(), packageOrderVO.getUserId()); if(list.size() > 0) { throw new SaveException("该套餐包每个用户,只可购买一次"); }else { - /** + *//** * 1. 如果是未缴费的 , 且下单时间在 10 分钟之内的 , 禁止下单 , 防止一个用户购买了多个 - */ + *//* if(list.size() > 0) { PackageOrderDTO orderDTO = list.get(0); if(orderDTO.getPackagePayStatus().equals("0") && isWithinLastTenMinutes(orderDTO.getGmtCreate())) { @@ -312,7 +332,7 @@ public class PackageOrderServiceImpl extends DefaultBaseService implements IPack } } } - } + }*/ PackageOrderVO vo = new PackageOrderVO(); vo.setPackageInfoId(packageOrderVO.getPackageInfoId()); @@ -343,7 +363,12 @@ public class PackageOrderServiceImpl extends DefaultBaseService implements IPack public PackageOrderDTO getByPackageNo(String packageNo) { Map params = super.getHashMap(2); params.put("packageNo", StringUtils.isEmpty(packageNo) ? "-1" : packageNo); - return packageOrderDao.get(params); + PackageOrderDTO dto = packageOrderDao.get(params); + if (dto != null ) { + PackageInfoAppDTO packageInfoDTO = iPackageInfoService.getById(dto.getPackageInfoId()); + dto.setPackageInfoAppDTO(packageInfoDTO); + } + return dto; } } \ No newline at end of file diff --git a/src/main/java/cn/com/tenlion/operator/task/NewRechargeNotCheckListTask.java b/src/main/java/cn/com/tenlion/operator/task/NewRechargeNotCheckListTask.java index c3029fb..0c6be8e 100644 --- a/src/main/java/cn/com/tenlion/operator/task/NewRechargeNotCheckListTask.java +++ b/src/main/java/cn/com/tenlion/operator/task/NewRechargeNotCheckListTask.java @@ -36,7 +36,6 @@ public class NewRechargeNotCheckListTask implements Job { query.put("rechargeCheck", "1"); Integer count = iAccountRechargeService.count(query); if(count > 0) { - /** * 向系统人员发送信息 */