From d080631a7cda8829905d923fc46b4333e6b09805 Mon Sep 17 00:00:00 2001 From: wangjinlei <751475802@qq.com> Date: Mon, 24 Jun 2024 15:06:35 +0800 Subject: [PATCH] bug --- .../modules/book/controller/BuyOrderController.java | 12 +++++++----- .../pay/alipay/service/impl/AliPayServiceImpl.java | 12 +++++++----- .../pay/weChatPay/service/impl/WxpayServiceImpl.java | 12 +++++++----- 3 files changed, 21 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java b/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java index 14dc6689..86ce3808 100644 --- a/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java +++ b/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java @@ -979,15 +979,17 @@ public class BuyOrderController { LambdaQueryWrapper wrapper2 = new LambdaQueryWrapper<>(); wrapper2.eq(UserCourseBuyEntity::getUserId,orderEntity.getUserId()); wrapper2.eq(UserCourseBuyEntity::getCatalogueId,s.getCatalogueId()); - wrapper2.gt(UserCourseBuyEntity::getEndTime,new Date()); + wrapper2.and(r->r.isNull(UserCourseBuyEntity::getEndTime).or().gt(UserCourseBuyEntity::getEndTime,new Date())); List userCourseBuyEntities = userCourseBuyDao.selectList(wrapper2); if(userCourseBuyEntities.size()>0){//延长有效期 UserCourseBuyEntity userCourseBuyEntity = userCourseBuyEntities.get(0); - Calendar calendar = Calendar.getInstance(); - calendar.setTime(userCourseBuyEntity.getEndTime()); - calendar.add(Calendar.DAY_OF_MONTH,s.getDays()); userCourseBuyEntity.setDays(userCourseBuyEntity.getDays()+s.getDays()); - userCourseBuyEntity.setEndTime(calendar.getTime()); + if(userCourseBuyEntity.getEndTime()==null){ + Calendar calendar = Calendar.getInstance(); + calendar.setTime(userCourseBuyEntity.getEndTime()); + calendar.add(Calendar.DAY_OF_MONTH,s.getDays()); + userCourseBuyEntity.setEndTime(calendar.getTime()); + } userCourseBuyDao.updateById(userCourseBuyEntity); }else{ UserCourseBuyEntity userCourseBuyEntity = new UserCourseBuyEntity(); diff --git a/src/main/java/com/peanut/modules/pay/alipay/service/impl/AliPayServiceImpl.java b/src/main/java/com/peanut/modules/pay/alipay/service/impl/AliPayServiceImpl.java index 55c87dc8..63ffb989 100644 --- a/src/main/java/com/peanut/modules/pay/alipay/service/impl/AliPayServiceImpl.java +++ b/src/main/java/com/peanut/modules/pay/alipay/service/impl/AliPayServiceImpl.java @@ -252,15 +252,17 @@ public class AliPayServiceImpl implements AliPayService { LambdaQueryWrapper wrapper2 = new LambdaQueryWrapper<>(); wrapper2.eq(UserCourseBuyEntity::getUserId,orderEntity.getUserId()); wrapper2.eq(UserCourseBuyEntity::getCatalogueId,s.getCatalogueId()); - wrapper2.gt(UserCourseBuyEntity::getEndTime,new Date()); + wrapper2.and(r->r.isNull(UserCourseBuyEntity::getEndTime).or().gt(UserCourseBuyEntity::getEndTime,new Date())); List userCourseBuyEntities = userCourseBuyDao.selectList(wrapper2); if(userCourseBuyEntities.size()>0){ UserCourseBuyEntity userCourseBuyEntity = userCourseBuyEntities.get(0); - Calendar calendar = Calendar.getInstance(); - calendar.setTime(userCourseBuyEntity.getEndTime()); - calendar.add(Calendar.DAY_OF_MONTH,s.getDays()); userCourseBuyEntity.setDays(userCourseBuyEntity.getDays()+s.getDays()); - userCourseBuyEntity.setEndTime(calendar.getTime()); + if(userCourseBuyEntity.getEndTime()==null){ + Calendar calendar = Calendar.getInstance(); + calendar.setTime(userCourseBuyEntity.getEndTime()); + calendar.add(Calendar.DAY_OF_MONTH,s.getDays()); + userCourseBuyEntity.setEndTime(calendar.getTime()); + } userCourseBuyDao.updateById(userCourseBuyEntity); }else{ UserCourseBuyEntity userCourseBuyEntity = new UserCourseBuyEntity(); diff --git a/src/main/java/com/peanut/modules/pay/weChatPay/service/impl/WxpayServiceImpl.java b/src/main/java/com/peanut/modules/pay/weChatPay/service/impl/WxpayServiceImpl.java index 8ce6f3f0..bad89c08 100644 --- a/src/main/java/com/peanut/modules/pay/weChatPay/service/impl/WxpayServiceImpl.java +++ b/src/main/java/com/peanut/modules/pay/weChatPay/service/impl/WxpayServiceImpl.java @@ -195,15 +195,17 @@ public class WxpayServiceImpl extends ServiceImpl wrapper2 = new LambdaQueryWrapper<>(); wrapper2.eq(UserCourseBuyEntity::getUserId,order.getUserId()); wrapper2.eq(UserCourseBuyEntity::getCatalogueId,s.getCatalogueId()); - wrapper2.lt(UserCourseBuyEntity::getEndTime,new Date()); + wrapper2.and(r->r.isNull(UserCourseBuyEntity::getEndTime).or().gt(UserCourseBuyEntity::getEndTime,new Date())); List userCourseBuyEntities = userCourseBuyDao.selectList(wrapper2); if(userCourseBuyEntities.size()>0){ UserCourseBuyEntity userCourseBuyEntity = userCourseBuyEntities.get(0); - Calendar calendar = Calendar.getInstance(); - calendar.setTime(userCourseBuyEntity.getEndTime()); - calendar.add(Calendar.DAY_OF_MONTH,s.getDays()); userCourseBuyEntity.setDays(userCourseBuyEntity.getDays()+s.getDays()); - userCourseBuyEntity.setEndTime(calendar.getTime()); + if(userCourseBuyEntity.getEndTime()==null){ + Calendar calendar = Calendar.getInstance(); + calendar.setTime(userCourseBuyEntity.getEndTime()); + calendar.add(Calendar.DAY_OF_MONTH,s.getDays()); + userCourseBuyEntity.setEndTime(calendar.getTime()); + } userCourseBuyDao.updateById(userCourseBuyEntity); }else{ UserCourseBuyEntity userCourseBuyEntity = new UserCourseBuyEntity();