lyhzzz 2 年之前
父節點
當前提交
56b32e9ebf

+ 2 - 6
src/main/java/com/fdkankan/ucenter/pay/strategy/impl/IncrementOrderImpl.java

@@ -51,11 +51,7 @@ public class IncrementOrderImpl implements OrderStrategy {
         if(responseIncrementOrder.getIncrementId() == null){
             //新的增值权益套餐方案
             Date date = null;
-            if(responseIncrementOrder.getMonthQy() != null && incrementType.getValidTimeType() == 1 ){
-                date = DateUserUtil.getMonthDate(new Date(),responseIncrementOrder.getMonthQy());
-            }else {
-                date = DateUserUtil.getDateTime(new Date(),incrementType).toDate();
-            }
+            date = DateUserUtil.getDateTime(new Date(),incrementType,responseIncrementOrder.getMonthQy()).toDate();
 
             if(responseIncrementOrder.getCount() > 0){
                 for(int i = 0, len = responseIncrementOrder.getCount(); i < len; i++){
@@ -74,7 +70,7 @@ public class IncrementOrderImpl implements OrderStrategy {
             }
         }else {
             userIncrementEntity = userIncrementService.getById(responseIncrementOrder.getIncrementId());
-            DateTime date = DateUserUtil.getDateTime(DateUserUtil.getDate(userIncrementEntity.getIncrementEndTime()),incrementType);
+            DateTime date = DateUserUtil.getDateTime(DateUserUtil.getDate(userIncrementEntity.getIncrementEndTime()),incrementType,responseIncrementOrder.getMonthQy());
             userIncrementEntity.setIncrementEndTime(DateUserUtil.getDate(date.toDate()));
             userIncrementEntity.setOrderSn(userIncrementEntity.getOrderSn() + "," + orderSn);
             userIncrementEntity.setCreateTime(DateUserUtil.getDate(new Date()));

+ 1 - 1
src/main/java/com/fdkankan/ucenter/service/IIncrementOrderService.java

@@ -28,7 +28,7 @@ public interface IIncrementOrderService extends IService<IncrementOrder> {
 
     IncrementOrder insertIncrementOrder(Long userId, DownNumParam param, IncrementType incrementType);
 
-     DateTime getDateTime(IncrementType incrementType, Integer userIncrementId) ;
+     DateTime getDateTime(IncrementType incrementType, Integer userIncrementId,Integer count) ;
 
      IncrementOrder getByOrderSn(String orderSn);
 

+ 8 - 12
src/main/java/com/fdkankan/ucenter/service/impl/IncrementOrderServiceImpl.java

@@ -90,46 +90,42 @@ public class IncrementOrderServiceImpl extends ServiceImpl<IIncrementOrderMapper
         if(param.getDateType() != 5 && param.getDateType() != 6 && param.getDateType() !=7){
             throw new BusinessException(SceneConstant.FAILURE_CODE_5012, SceneConstant.FAILURE_MSG_5012);
         }
-        GoodsSkuVo goodsSkuVo = getGoodsSkuVo(param.getDateType(), param.getUserIncrementId());
-        if(param.getMonthQy() != null){
-            goodsSkuVo.setPrice(goodsSkuVo.getPrice().multiply(new BigDecimal(param.getMonthQy())));
-            if(param.getDateType() ==7){
-                goodsSkuVo.setDeadLine(DateUserUtil.getMonthDate( new Date(),param.getMonthQy() ).getTime());
-            }
-        }
+        return getGoodsSkuVo(param.getDateType(), param.getUserIncrementId(),param.getMonthQy());
 
-        return goodsSkuVo;
     }
 
-    private GoodsSkuVo getGoodsSkuVo (Integer dateType,Integer userIncrementId){
+    private GoodsSkuVo getGoodsSkuVo (Integer dateType,Integer userIncrementId,Integer monthDy){
         GoodsSkuVo goodsSkuVo = new GoodsSkuVo();
         IncrementType incrementType = null;
         switch (dateType){
             case 5 : incrementType = incrementTypeService.getByType(environment).get(0);
                 goodsSkuVo.setPrice(incrementType.getPrice());
                 goodsSkuVo.setSkuSn(incrementType.getId().toString());
+                goodsSkuVo.setDeadLine(getDateTime(incrementType,userIncrementId,monthDy).toDate().getTime());
                 break;
             case 6: incrementType = incrementTypeService.getByType(environment).get(0);
                 goodsSkuVo.setPrice(incrementType.getDownloadPrice());
                 goodsSkuVo.setSkuSn(incrementType.getId().toString());
+                goodsSkuVo.setDeadLine(getDateTime(incrementType,userIncrementId,monthDy).toDate().getTime());
                 break;
             case 7 : incrementType = incrementTypeService.getByType(environment).get(1);
                 goodsSkuVo.setPrice(incrementType.getPrice());
                 goodsSkuVo.setSkuSn(incrementType.getId().toString());
+                goodsSkuVo.setDeadLine(getDateTime(incrementType,userIncrementId,monthDy).toDate().getTime());
                 break;
         }
-        goodsSkuVo.setDeadLine(getDateTime(incrementType,userIncrementId).toDate().getTime());
+
         return goodsSkuVo;
     }
 
     @Override
-    public DateTime getDateTime(IncrementType incrementType, Integer userIncrementId) {
+    public DateTime getDateTime(IncrementType incrementType, Integer userIncrementId,Integer count) {
         Date userTime = new Date();
         if(userIncrementId != null){
             UserIncrement userIncrement = userIncrementService.getById(userIncrementId);
             userTime = DateUserUtil.getDate(userIncrement.getIncrementEndTime());
         }
-        return  DateUserUtil.getDateTime(userTime, incrementType);
+        return  DateUserUtil.getDateTime(userTime, incrementType,count);
     }
 
 

+ 7 - 4
src/main/java/com/fdkankan/ucenter/util/DateUserUtil.java

@@ -48,15 +48,18 @@ public class DateUserUtil {
        return time;
     }
 
-    public static DateTime getDateTime(Date userTime,IncrementType incrementType) {
+    public static DateTime getDateTime(Date userTime,IncrementType incrementType,Integer count) {
         DateTime dateTime = new DateTime();
         if(userTime.getTime() >new Date().getTime()){
             dateTime = new DateTime(userTime);
         }
+        if(count == null){
+            count = 1;
+        }
         switch (incrementType.getValidTimeType()){
-            case 0 : return dateTime.plusYears(incrementType.getValidTime());
-            case 1 : return dateTime.plusMonths(incrementType.getValidTime());
-            case 2 : return dateTime.plusDays(incrementType.getValidTime());
+            case 0 : return dateTime.plusYears(incrementType.getValidTime() * count);
+            case 1 : return dateTime.plusMonths(incrementType.getValidTime() * count);
+            case 2 : return dateTime.plusDays(incrementType.getValidTime() * count);
             default: return dateTime;
         }
     }