|
@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.fdkankan.common.constant.SceneConstant;
|
|
import com.fdkankan.common.constant.SceneConstant;
|
|
-import com.fdkankan.common.constant.TbStatus;
|
|
|
|
import com.fdkankan.common.exception.BusinessException;
|
|
import com.fdkankan.common.exception.BusinessException;
|
|
import com.fdkankan.common.response.PageInfo;
|
|
import com.fdkankan.common.response.PageInfo;
|
|
import com.fdkankan.common.util.NumberUtils;
|
|
import com.fdkankan.common.util.NumberUtils;
|
|
@@ -25,6 +24,7 @@ import org.apache.commons.lang3.StringUtils;
|
|
import org.joda.time.DateTime;
|
|
import org.joda.time.DateTime;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
+import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
@@ -32,6 +32,8 @@ import java.util.ArrayList;
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
|
|
|
+import static com.fdkankan.ucenter.util.DateUserUtil.getDateTime;
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* <p>
|
|
* <p>
|
|
* 增值权益订单表 服务实现类
|
|
* 增值权益订单表 服务实现类
|
|
@@ -51,6 +53,10 @@ public class IncrementOrderServiceImpl extends ServiceImpl<IIncrementOrderMapper
|
|
IUserIncrementService userIncrementService;
|
|
IUserIncrementService userIncrementService;
|
|
@Autowired
|
|
@Autowired
|
|
IGoodsSkuService goodsSkuService;
|
|
IGoodsSkuService goodsSkuService;
|
|
|
|
+ @Autowired
|
|
|
|
+ IIncrementTypeService incrementTypeService;
|
|
|
|
+ @Value("${environment}")
|
|
|
|
+ private String environment;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public PageInfo pageList(IncrementOrderParam param) {
|
|
public PageInfo pageList(IncrementOrderParam param) {
|
|
@@ -80,23 +86,43 @@ public class IncrementOrderServiceImpl extends ServiceImpl<IIncrementOrderMapper
|
|
if(param.getDateType() == null){
|
|
if(param.getDateType() == null){
|
|
throw new BusinessException(LoginConstant.FAILURE_CODE_3001, LoginConstant.FAILURE_MSG_3001);
|
|
throw new BusinessException(LoginConstant.FAILURE_CODE_3001, LoginConstant.FAILURE_MSG_3001);
|
|
}
|
|
}
|
|
-
|
|
|
|
- if(param.getDateType() != 5 && param.getDateType() != 6){
|
|
|
|
|
|
+ // 5 专业会员,6 下载 , 7 高级会员
|
|
|
|
+ if(param.getDateType() != 5 && param.getDateType() != 6 && param.getDateType() !=7){
|
|
throw new BusinessException(SceneConstant.FAILURE_CODE_5012, SceneConstant.FAILURE_MSG_5012);
|
|
throw new BusinessException(SceneConstant.FAILURE_CODE_5012, SceneConstant.FAILURE_MSG_5012);
|
|
}
|
|
}
|
|
- DateTime dateTime = new DateTime();
|
|
|
|
- if(param.getUserIncrementId() != null){
|
|
|
|
- UserIncrement userIncrementEntity = userIncrementService.getById(param.getUserIncrementId());
|
|
|
|
- if(userIncrementEntity != null && DateUserUtil.getDate(userIncrementEntity.getIncrementEndTime()).getTime()> new Date().getTime()){
|
|
|
|
- dateTime = new DateTime(DateUserUtil.getDate(userIncrementEntity.getIncrementEndTime()));
|
|
|
|
- }
|
|
|
|
|
|
+
|
|
|
|
+ return getGoodsSkuVo(param.getDateType(),param.getUserIncrementId());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private GoodsSkuVo getGoodsSkuVo (Integer dateType,Integer userIncrementId){
|
|
|
|
+ GoodsSkuVo goodsSkuVo = new GoodsSkuVo();
|
|
|
|
+ IncrementType incrementType = null;
|
|
|
|
+ switch (dateType){
|
|
|
|
+ case 5 : incrementType = incrementTypeService.getByType(environment).get(0);
|
|
|
|
+ goodsSkuVo.setPrice(incrementType.getPrice());
|
|
|
|
+ break;
|
|
|
|
+ case 6: incrementType = incrementTypeService.getByType(environment).get(0);
|
|
|
|
+ goodsSkuVo.setPrice(incrementType.getDownloadPrice());
|
|
|
|
+ break;
|
|
|
|
+ case 7 : incrementType = incrementTypeService.getByType(environment).get(1);
|
|
|
|
+ goodsSkuVo.setPrice(incrementType.getPrice());
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ goodsSkuVo.setDeadLine(getDateTime(incrementType,userIncrementId).toDate().getTime());
|
|
|
|
+ return goodsSkuVo;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public DateTime getDateTime(IncrementType incrementType, Integer userIncrementId) {
|
|
|
|
+ Date userTime = new Date();
|
|
|
|
+ if(userIncrementId != null){
|
|
|
|
+ UserIncrement userIncrement = userIncrementService.getById(userIncrementId);
|
|
|
|
+ userTime = DateUserUtil.getDate(userIncrement.getIncrementEndTime());
|
|
}
|
|
}
|
|
- GoodsSkuVo vo = this.getIncrementOrDownloadPrice(param.getDateType());
|
|
|
|
- dateTime = dateTime.plusYears(1);
|
|
|
|
- vo.setDeadLine(dateTime.toDate().getTime());
|
|
|
|
- return vo;
|
|
|
|
|
|
+ return DateUserUtil.getDateTime(userTime, incrementType);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
public GoodsSkuVo getIncrementOrDownloadPrice(Integer dateType) {
|
|
public GoodsSkuVo getIncrementOrDownloadPrice(Integer dateType) {
|
|
String skuStr = SkuEnum.skusMap.get(String.valueOf(dateType));
|
|
String skuStr = SkuEnum.skusMap.get(String.valueOf(dateType));
|
|
if (StringUtils.isEmpty(skuStr)){
|
|
if (StringUtils.isEmpty(skuStr)){
|
|
@@ -111,8 +137,9 @@ public class IncrementOrderServiceImpl extends ServiceImpl<IIncrementOrderMapper
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public IncrementOrder insertIncrementOrder(Long userId, DownNumParam param, BigDecimal price) {
|
|
|
|
- BigDecimal total = price.multiply(new BigDecimal(param.getCount()));
|
|
|
|
|
|
+ public IncrementOrder insertIncrementOrder(Long userId, DownNumParam param,IncrementType incrementType) {
|
|
|
|
+
|
|
|
|
+ BigDecimal total = incrementType.getPrice().multiply(new BigDecimal(param.getCount()));
|
|
|
|
|
|
IncrementOrder incrementOrderEntity = new IncrementOrder();
|
|
IncrementOrder incrementOrderEntity = new IncrementOrder();
|
|
incrementOrderEntity.setOrderSn(NumberUtils.getOrderSn());
|
|
incrementOrderEntity.setOrderSn(NumberUtils.getOrderSn());
|
|
@@ -127,6 +154,7 @@ public class IncrementOrderServiceImpl extends ServiceImpl<IIncrementOrderMapper
|
|
incrementOrderEntity.setRecStatus("A");
|
|
incrementOrderEntity.setRecStatus("A");
|
|
incrementOrderEntity.setCreateTime(DateUserUtil.getDate(new Date()));
|
|
incrementOrderEntity.setCreateTime(DateUserUtil.getDate(new Date()));
|
|
incrementOrderEntity.setUpdateTime(DateUserUtil.getDate(new Date()));
|
|
incrementOrderEntity.setUpdateTime(DateUserUtil.getDate(new Date()));
|
|
|
|
+ incrementOrderEntity.setIncrementType(param.getIncrementType());
|
|
this.save(incrementOrderEntity);
|
|
this.save(incrementOrderEntity);
|
|
return incrementOrderEntity;
|
|
return incrementOrderEntity;
|
|
}
|
|
}
|