|
@@ -1,13 +1,29 @@
|
|
package com.fdkankan.agent.service.impl;
|
|
package com.fdkankan.agent.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
+import com.fdkankan.agent.common.PageInfo;
|
|
|
|
+import com.fdkankan.agent.common.ResultCode;
|
|
|
|
+import com.fdkankan.agent.entity.IncrementType;
|
|
|
|
+import com.fdkankan.agent.entity.User;
|
|
import com.fdkankan.agent.entity.UserIncrement;
|
|
import com.fdkankan.agent.entity.UserIncrement;
|
|
|
|
+import com.fdkankan.agent.exception.BusinessException;
|
|
import com.fdkankan.agent.mapper.IUserIncrementMapper;
|
|
import com.fdkankan.agent.mapper.IUserIncrementMapper;
|
|
|
|
+import com.fdkankan.agent.request.IncrementParam;
|
|
|
|
+import com.fdkankan.agent.response.UserIncrementVo;
|
|
|
|
+import com.fdkankan.agent.service.IIncrementTypeService;
|
|
import com.fdkankan.agent.service.IUserIncrementService;
|
|
import com.fdkankan.agent.service.IUserIncrementService;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
+import com.fdkankan.agent.service.IUserService;
|
|
|
|
+import com.fdkankan.common.util.DateUtil;
|
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
|
+import java.util.Date;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
+import java.util.UUID;
|
|
|
|
|
|
/**
|
|
/**
|
|
* <p>
|
|
* <p>
|
|
@@ -20,6 +36,12 @@ import java.util.List;
|
|
@Service
|
|
@Service
|
|
public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper, UserIncrement> implements IUserIncrementService {
|
|
public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper, UserIncrement> implements IUserIncrementService {
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ IUserService userService;
|
|
|
|
+ @Autowired
|
|
|
|
+ IIncrementTypeService incrementTypeService;
|
|
|
|
+
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public UserIncrement getByCameraId(Long cameraId) {
|
|
public UserIncrement getByCameraId(Long cameraId) {
|
|
LambdaQueryWrapper<UserIncrement> wrapper = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<UserIncrement> wrapper = new LambdaQueryWrapper<>();
|
|
@@ -30,4 +52,56 @@ public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper,
|
|
}
|
|
}
|
|
return null;
|
|
return null;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public Object pageList(IncrementParam param) {
|
|
|
|
+ Page<UserIncrementVo> page = this.getBaseMapper().pageList(new Page<>(param.getPageNum(), param.getPageSize()), param);
|
|
|
|
+
|
|
|
|
+ for (UserIncrementVo vo :page.getRecords() ) {
|
|
|
|
+ switch (vo.getValidTimeType()){
|
|
|
|
+ case 0 : vo.setIncrementTypeName(vo.getIncrementTypeName() +"(年)");
|
|
|
|
+ case 1 : vo.setIncrementTypeName(vo.getIncrementTypeName() +"(月)");
|
|
|
|
+ default: vo.setIncrementTypeName(vo.getIncrementTypeName() +"(日)");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return PageInfo.PageInfo(page);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public void addIncrement(IncrementParam param) {
|
|
|
|
+ if(StringUtils.isBlank(param.getUserName()) || param.getIncrementTypeId() == null
|
|
|
|
+ || param.getCount() == null || StringUtils.isEmpty(param.getIncrementEndTime())){
|
|
|
|
+ throw new BusinessException(ResultCode.PARAM_MISS);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ User user = userService.getByUserName(param.getUserName());
|
|
|
|
+ if(user == null){
|
|
|
|
+ throw new BusinessException(ResultCode.USER_NOT_EXIST);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ List<UserIncrement> userIncrementList = new ArrayList<>();
|
|
|
|
+ for (int i = 0 ; i<param.getCount() ;i++) {
|
|
|
|
+ UserIncrement userIncrement = new UserIncrement();
|
|
|
|
+ String date = DateUtil.date2String(new Date(), DateUtil.DEFAULT_DATE_FORMAT);
|
|
|
|
+ userIncrement.setUserId(user.getId());
|
|
|
|
+ userIncrement.setKeyWord(UUID.randomUUID().toString().replace("-", ""));
|
|
|
|
+ userIncrement.setIsExpired(0);
|
|
|
|
+ userIncrement.setCreateTime(date);
|
|
|
|
+ userIncrement.setUpdateTime(date);
|
|
|
|
+ userIncrement.setIncrementStartTime(date);
|
|
|
|
+ userIncrement.setIncrementEndTime(param.getIncrementEndTime());
|
|
|
|
+ userIncrement.setIncrementTypeId(param.getIncrementTypeId());
|
|
|
|
+ userIncrementList.add(userIncrement);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if(userIncrementList.size() >0){
|
|
|
|
+ this.saveBatch(userIncrementList);
|
|
|
|
+ IncrementType incrementType = incrementTypeService.getById(param.getIncrementTypeId());
|
|
|
|
+ if(incrementType == null){
|
|
|
|
+ throw new BusinessException(ResultCode.INCREMENT_TYPE_EMPTY);
|
|
|
|
+ }
|
|
|
|
+ user.setDownloadNumTotal(user.getDownloadNumTotal() + param.getCount() * incrementType.getDownloadNum());
|
|
|
|
+ userService.updateById(user);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|