From 70d2a5d0f9c6951b2d4cac954041ed73582ff7eb Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期一, 09 六月 2025 11:54:00 +0800 Subject: [PATCH] 6.9新增登录失败冻结逻辑 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComBatteryCommodityOrderServiceImpl.java | 49 ++++++++++++++++++++++++++++++++++--------------- 1 files changed, 34 insertions(+), 15 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComBatteryCommodityOrderServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComBatteryCommodityOrderServiceImpl.java index 4f9c737..4c81f60 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComBatteryCommodityOrderServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComBatteryCommodityOrderServiceImpl.java @@ -58,16 +58,14 @@ private ComBatteryTradeOrderService tradeOrderService; @Value("${min.app.isTest}") private Boolean isTest; - @Value("${min.app.isRefundTest}") - private Boolean isRefundTest; @Value("${min.app.appid}") private String appid; @Value("${min.app.payKey}") private String payKey; @Value("${min.app.mchId}") private String mchId; - @Value("${min.app.currencyNotifyUrl}") - private String currencyNotifyUrl; +// @Value("${min.app.currencyNotifyUrl}") +// private String currencyNotifyUrl; @Resource private ComBatteryCommodityOrderCollageTeamMapper orderCollageTeamMapper; @Resource @@ -283,7 +281,7 @@ return R.fail("未查询到用户收货地址"); } //查询用户信息 - SysUser user = userMapper.selectById(createOrderDto.getUserId()); + SysUser user = userMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getUserId,createOrderDto.getUserId())); if (user == null) { return R.fail("未查询到用户信息"); } @@ -368,8 +366,8 @@ money = BigDecimal.valueOf(0.01); } // 调用wx支付 - result = WxPayUtils.getUnifiedorder(appid, mchId, payKey, currencyNotifyUrl + PayCpmstant.BATTERY_STORE_PAY_NOTIFY_URL - , remark, openId, orderNo, money,null); +// result = WxPayUtils.getUnifiedorder(appid, mchId, payKey, currencyNotifyUrl + PayCpmstant.BATTERY_STORE_PAY_NOTIFY_URL +// , remark, openId, orderNo, money,null); log.info("用户购买商品微信支付返回参数:" + result); return result; } @@ -382,7 +380,7 @@ @Override @Transactional(rollbackFor = Exception.class) public R syncCloseOrder() { - log.info("定时器定时关闭超过30分钟未支付订单,并返回商品库存"); + log.info("定时器定时关闭超过5分钟未支付订单,并返回商品库存"); Date nowDate = new Date(); //获取当前时间减30分钟时间 Date oldDate = DateUtils.addMinutes(nowDate, -5); @@ -401,6 +399,13 @@ commoditySpecs.setStock(commoditySpecs.getStock() + commodityOrder.getCount()); commoditySpecs.setUpdateAt(nowDate); commoditySpecsMapper.updateById(commoditySpecs); + } + if(commodityOrder.getActivityId() != null){ + ComBatteryCommodityActivity commodityActivity = commodityActivityMapper.selectById(commodityOrder.getActivityId()); + if(!commodityActivity.getType().equals(ComBatteryCommodityActivity.Type.PT)){ + commodityActivity.setCommoditySaleNum(commodityActivity.getCommoditySaleNum() - commodityOrder.getCount()); + commodityActivityMapper.updateById(commodityActivity); + } } }); return R.ok(); @@ -501,6 +506,7 @@ //用户开团,创建团队信息 orderCollageTeam = getOrderCollageTeam(commodityOrder,nowDate); orderCollageTeamMapper.insert(orderCollageTeam); + commodityOrder.setTeamId(orderCollageTeam.getId()); }else{ //用户参团,查询参加的团队信息 orderCollageTeam = orderCollageTeamMapper.selectById(commodityOrder.getTeamId()); @@ -510,11 +516,7 @@ ComBatteryCommodityOrderCollageTeamPeople orderCollageTeamPeople = getOrderCollageTeamPeople(commodityOrder.getUserId() ,nowDate,orderCollageTeam,notifyOrderDTO.getAttach()); orderCollageTeamPeopleMapper.insert(orderCollageTeamPeople); - //判断当前拼团人员是否已足够成团 - syncAssortedDoughStatus(orderCollageTeam.getId(),nowDate); } - //判断当前拼团活动是否已完成 - syncAssortedDoughActivityStatus(commodityOrder.getActivityId(),nowDate); break; case ComBatteryCommodityOrder.ActivityType.KJ: //砍价订单成功支付处理 @@ -540,6 +542,15 @@ commodityOrder.setUpdateAt(nowDate); commodityOrder.setPayTime(payTime); this.baseMapper.updateById(commodityOrder); + + if(commodityOrder.getTeamId() != null){ + //判断当前拼团人员是否已足够成团 + syncAssortedDoughStatus(commodityOrder.getTeamId(),nowDate); + } + if(commodityOrder.getActivityId() != null && commodityOrder.getActivityType().equals(ComBatteryCommodityOrder.ActivityType.PT)){ + //判断当前拼团活动是否已完成 + syncAssortedDoughActivityStatus(commodityOrder.getActivityId(),nowDate); + } return R.ok(); } @@ -613,7 +624,7 @@ if(commodityActivity != null){ Integer count = orderCollageTeamPeopleMapper.selectCount(new QueryWrapper<ComBatteryCommodityOrderCollageTeamPeople>() .lambda().eq(ComBatteryCommodityOrderCollageTeamPeople::getTeamId,teamId)); - if(count >= commodityActivity.getCollageNum()){ + if(count >= commodityActivity.getCollagePeopleNum()){ //拼团条件满足,将所有已拼单的用户的订单更新为待发货状态 //更新拼团团队记录 orderCollageTeam.setStatus(ComBatteryCommodityOrderCollageTeam.Status.PTCG); @@ -651,7 +662,7 @@ //查询商品信息 ComBatteryCommodity commodity = commodityMapper.selectById(commodityOrder.getCommodityId()); if(commodity != null){ - orderBargain.setCurrentPrice(commodity.getPrice()); + orderBargain.setOriginalPrice(commodity.getPrice()); orderBargain.setCurrentPrice(commodity.getPrice()); } //查询活动信息 @@ -662,6 +673,11 @@ return orderBargain; } + /** + * 创建秒杀订单 + * @param orderDto 请求参数 + * @return 创建订单结果 + */ @Override public R startSeckill(StartSeckillOrderDto orderDto) { ComBatteryCommodityActivity commodityActivity = commodityActivityMapper.selectById(orderDto.getActivityId()); @@ -696,7 +712,7 @@ return R.fail("该商品库存不足,无法下单"); } //查询用户信息 - SysUser user = userMapper.selectById(orderDto.getUserId()); + SysUser user = userMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getUserId,orderDto.getUserId())); if(user == null){ return R.fail("未查询到用户信息"); } @@ -709,6 +725,9 @@ ComBatteryCommodityOrder commodityOrder = getCreateActivityOrder(commodity,userAddress,user,commoditySpecs,orderDto,nowDate,commodityActivity); Map<String,Object> resultMap = new HashMap<>(2); if(this.baseMapper.insert(commodityOrder) > 0){ + //更新活动商品库存 + commodityActivity.setCommoditySaleNum(commodityActivity.getCommoditySaleNum() + orderDto.getCount()); + commodityActivityMapper.updateById(commodityActivity); //更新商品库存 commoditySpecs.setStock(commoditySpecs.getStock() - orderDto.getCount()); commoditySpecsMapper.updateById(commoditySpecs); -- Gitblit v1.7.1