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();