lyhzzz 2 years ago
parent
commit
501a271560
22 changed files with 512 additions and 16 deletions
  1. 3 2
      src/main/java/com/fdkankan/agent/common/ResultCode.java
  2. 32 0
      src/main/java/com/fdkankan/agent/controller/AgentNewLogController.java
  3. 45 0
      src/main/java/com/fdkankan/agent/controller/DownController.java
  4. 7 2
      src/main/java/com/fdkankan/agent/controller/IncrementController.java
  5. 31 0
      src/main/java/com/fdkankan/agent/controller/IncrementTypeController.java
  6. 66 0
      src/main/java/com/fdkankan/agent/entity/AgentNewLog.java
  7. 1 1
      src/main/java/com/fdkankan/agent/generate/AutoGenerate.java
  8. 0 5
      src/main/java/com/fdkankan/agent/interceptor/TokenInterceptor.java
  9. 22 0
      src/main/java/com/fdkankan/agent/mapper/IAgentNewLogMapper.java
  10. 9 0
      src/main/java/com/fdkankan/agent/request/DownParam.java
  11. 9 0
      src/main/java/com/fdkankan/agent/request/LogListParam.java
  12. 32 0
      src/main/java/com/fdkankan/agent/request/TimeBase.java
  13. 10 0
      src/main/java/com/fdkankan/agent/response/DownLogVo.java
  14. 10 0
      src/main/java/com/fdkankan/agent/response/LogDataVo.java
  15. 16 0
      src/main/java/com/fdkankan/agent/response/LogListVo.java
  16. 22 0
      src/main/java/com/fdkankan/agent/service/IAgentNewLogService.java
  17. 3 0
      src/main/java/com/fdkankan/agent/service/IAgentNewService.java
  18. 4 1
      src/main/java/com/fdkankan/agent/service/IUserIncrementService.java
  19. 77 0
      src/main/java/com/fdkankan/agent/service/impl/AgentNewLogServiceImpl.java
  20. 40 0
      src/main/java/com/fdkankan/agent/service/impl/AgentNewServiceImpl.java
  21. 58 5
      src/main/java/com/fdkankan/agent/service/impl/UserIncrementServiceImpl.java
  22. 15 0
      src/main/resources/mapper/agent/AgentNewLogMapper.xml

+ 3 - 2
src/main/java/com/fdkankan/agent/common/ResultCode.java

@@ -5,19 +5,20 @@ public enum ResultCode {
     ERROR(-1,"操作失败"),
 
     PARAM_MISS(4001,"参数缺少"),
-    NOT_PERM(4002,"没有权限"),
     USER_NOT_EXIST(4003,"用户不存在"),
     USER_EXIST(4004,"用户已添加"),
     AGENT_USER_EMPTY(4005,"经销商不存在"),
     USER_NOT_LOGIN(4008,"用户未登录"),
     FD_ERROR(4009,"四维登录失败"),
-    DEL_MINE(4010,"删除自己"),
     SCENE_EMPTY(4011,"场景为空"),
     CAMERA_EMPTY(4012,"相机为空"),
     CAMERA_SPACE_ERROR(4013, "相机容量不足,不能迁移"),
     SCENE_BUILD(4013, "场景正在计算中,请待计算完成后再操作。"),
     CAMERA_TYPE_NOT_ERROR(4014, "必须迁移至相同的类型的相机下面!"),
     INCREMENT_TYPE_EMPTY(4015, "权益类型不存在!"),
+    INCREMENT_EMPTY(4016, "权益不存在!"),
+    INCREMENT_NUM_EMPTY(4017, "权益数量不足!"),
+    DOWN_NUM_EMPTY(4017, "下载数量不足!"),
 
 
     ;

+ 32 - 0
src/main/java/com/fdkankan/agent/controller/AgentNewLogController.java

@@ -0,0 +1,32 @@
+package com.fdkankan.agent.controller;
+
+import com.fdkankan.agent.common.ResultData;
+import com.fdkankan.agent.entity.AgentNewLog;
+import com.fdkankan.agent.request.LogListParam;
+import com.fdkankan.agent.response.LogDataVo;
+import com.fdkankan.agent.service.IAgentNewLogService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping("/agent/log")
+public class AgentNewLogController {
+
+    @Autowired
+    IAgentNewLogService agentNewLogService;
+
+    @GetMapping("/logData")
+    public ResultData logData(){
+        return ResultData.ok(new LogDataVo());
+    }
+    @PostMapping("/logList")
+    public ResultData logList(@RequestBody LogListParam param){
+        return ResultData.ok();
+    }
+
+    @GetMapping("/export")
+    public ResultData export(){
+        return ResultData.ok(new LogDataVo());
+    }
+
+}

+ 45 - 0
src/main/java/com/fdkankan/agent/controller/DownController.java

@@ -0,0 +1,45 @@
+package com.fdkankan.agent.controller;
+
+
+import com.fdkankan.agent.common.BaseController;
+import com.fdkankan.agent.common.ResultCode;
+import com.fdkankan.agent.common.ResultData;
+import com.fdkankan.agent.request.DownParam;
+import com.fdkankan.agent.request.IncrementParam;
+import com.fdkankan.agent.service.IAgentNewLogService;
+import com.fdkankan.agent.service.IUserIncrementService;
+import com.fdkankan.agent.service.IUserService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * <p>
+ * 相机主表 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2022-11-09
+ */
+@RestController
+@RequestMapping("/agent/down")
+public class DownController extends BaseController {
+
+    @Autowired
+    IAgentNewLogService agentNewLogService;
+
+
+    @PostMapping("/list")
+    public ResultData list(@RequestBody DownParam param){
+        param.setAgentId(getAgent().getId());
+        return ResultData.ok(agentNewLogService.downLogList(param));
+    }
+
+
+    @PostMapping("/add")
+    public ResultData add(@RequestBody IncrementParam param){
+        agentNewLogService.addDown(param,getAgent());
+        return ResultData.ok();
+    }
+
+}
+

+ 7 - 2
src/main/java/com/fdkankan/agent/controller/IncrementController.java

@@ -49,8 +49,13 @@ public class IncrementController extends BaseController {
 
     @PostMapping("/add")
     public ResultData add(@RequestBody IncrementParam param){
-        param.setAgentId(getAgent().getId());
-        userIncrementService.addIncrement(param);
+        userIncrementService.addIncrement(param,getAgent());
+        return ResultData.ok();
+    }
+
+    @PostMapping("/renew")
+    public ResultData renew(@RequestBody IncrementParam param){
+        userIncrementService.renew(param,getAgent());
         return ResultData.ok();
     }
 }

+ 31 - 0
src/main/java/com/fdkankan/agent/controller/IncrementTypeController.java

@@ -0,0 +1,31 @@
+package com.fdkankan.agent.controller;
+
+
+import com.fdkankan.agent.service.IIncrementTypeService;
+import com.fdkankan.common.response.ResultData;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 会员权益类型 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2022-11-04
+ */
+@RestController
+@RequestMapping("/agent/incrementType")
+public class IncrementTypeController {
+
+    @Autowired
+    IIncrementTypeService incrementTypeService;
+
+    @GetMapping("/allList")
+    public ResultData list(){
+        return ResultData.ok(incrementTypeService.list());
+    }
+}
+

+ 66 - 0
src/main/java/com/fdkankan/agent/entity/AgentNewLog.java

@@ -0,0 +1,66 @@
+package com.fdkankan.agent.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 
+ * @since 2022-11-10
+ */
+@Getter
+@Setter
+@TableName("t_agent_new_log")
+public class AgentNewLog implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 代理商授权用户日志表
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @TableField("agent_id")
+    private Integer agentId;
+
+    /**
+     * 0专业会员,1高级会员,2场景下载
+     */
+    @TableField("type")
+    private Integer type;
+    /**
+     * 0专业会员,1高级会员,2场景下载
+     */
+    @TableField("add_type")
+    private Integer addType;
+
+    /**
+     * 授权对象id
+     */
+    @TableField("user_id")
+    private Long userId;
+
+    /**
+     * 授权次数
+     */
+    @TableField("count")
+    private Integer count;
+
+    @TableField("create_time")
+    private Date createTime;
+
+    @TableField("update_time")
+    private Date updateTime;
+
+
+}

+ 1 - 1
src/main/java/com/fdkankan/agent/generate/AutoGenerate.java

@@ -18,7 +18,7 @@ public class AutoGenerate {
         String path =System.getProperty("user.dir") ;
 
         generate(path,"agent", getTables(new String[]{
-                "t_user_increment","t_increment_type",
+                "t_agent_new_log",
         }));
 
 //        generate(path,"goods", getTables(new String[]{

+ 0 - 5
src/main/java/com/fdkankan/agent/interceptor/TokenInterceptor.java

@@ -31,11 +31,6 @@ public class TokenInterceptor implements HandlerInterceptor {
 	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
 		response.setContentType("text/html;charset=UTF-8");
 		String token = request.getHeader("token");
-		if( request.getMethod().equals("GET")){
-			if(StringUtils.isBlank(token)){
-				return true;
-			}
-		}
 		if(StringUtils.isEmpty(token)){
 			this.needLogin(request,response);
 			return false;

+ 22 - 0
src/main/java/com/fdkankan/agent/mapper/IAgentNewLogMapper.java

@@ -0,0 +1,22 @@
+package com.fdkankan.agent.mapper;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.agent.entity.AgentNewLog;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fdkankan.agent.request.DownParam;
+import com.fdkankan.agent.response.DownLogVo;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2022-11-10
+ */
+@Mapper
+public interface IAgentNewLogMapper extends BaseMapper<AgentNewLog> {
+
+    Page<DownLogVo> downLogList(Page<Object> page, DownParam param);
+}

+ 9 - 0
src/main/java/com/fdkankan/agent/request/DownParam.java

@@ -0,0 +1,9 @@
+package com.fdkankan.agent.request;
+
+import lombok.Data;
+
+@Data
+public class DownParam extends TimeBase{
+    private String userName;
+    private Integer agentId;
+}

+ 9 - 0
src/main/java/com/fdkankan/agent/request/LogListParam.java

@@ -0,0 +1,9 @@
+package com.fdkankan.agent.request;
+
+import lombok.Data;
+
+@Data
+public class LogListParam extends TimeBase {
+    private Integer type;      // 0 专业会员,1高级会员,2下载
+    private Integer giveType;  //授权方式 0 经销商授权 ,1经销商续费 ,2 官网自购,3平台授权
+}

+ 32 - 0
src/main/java/com/fdkankan/agent/request/TimeBase.java

@@ -0,0 +1,32 @@
+package com.fdkankan.agent.request;
+
+
+import com.fdkankan.agent.util.Dateutils;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class TimeBase {
+    private Integer pageNum = 1;
+    private Integer pageSize = 10;
+
+    private List<String> timeList;
+
+    private String startTime;
+    private String endTime;
+
+    public String getStartTime() {
+        if(timeList != null && timeList.size() >1){
+            return Dateutils.getStartTime(timeList.get(0));
+        }
+        return Dateutils.getStartTime(startTime);
+    }
+
+    public String getEndTime() {
+        if(timeList != null && timeList.size() >1){
+            return Dateutils.getEndTime(timeList.get(1));
+        }
+        return Dateutils.getEndTime(endTime);
+    }
+}

+ 10 - 0
src/main/java/com/fdkankan/agent/response/DownLogVo.java

@@ -0,0 +1,10 @@
+package com.fdkankan.agent.response;
+
+import lombok.Data;
+
+@Data
+public class DownLogVo {
+    private String userName;
+    private Integer count;
+    private String createTime;
+}

+ 10 - 0
src/main/java/com/fdkankan/agent/response/LogDataVo.java

@@ -0,0 +1,10 @@
+package com.fdkankan.agent.response;
+
+import lombok.Data;
+
+@Data
+public class LogDataVo {
+    private Integer lastMajorNum = 0;
+    private Integer lastHighNum = 0;
+    private Integer lastDownNum = 0;
+}

+ 16 - 0
src/main/java/com/fdkankan/agent/response/LogListVo.java

@@ -0,0 +1,16 @@
+package com.fdkankan.agent.response;
+
+import lombok.Data;
+
+@Data
+public class LogListVo {
+    private Integer type;           //权益类型
+    private Integer giveType;       //授权方式
+    private Integer userId;         //用户id
+    private String userName;
+    private String nickName;
+    private String email;
+    private Integer count;
+    private String creatTime;
+
+}

+ 22 - 0
src/main/java/com/fdkankan/agent/service/IAgentNewLogService.java

@@ -0,0 +1,22 @@
+package com.fdkankan.agent.service;
+
+import com.fdkankan.agent.entity.AgentNewLog;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.agent.request.DownParam;
+import com.fdkankan.agent.request.IncrementParam;
+import com.fdkankan.agent.response.AgentNewVo;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 
+ * @since 2022-11-10
+ */
+public interface IAgentNewLogService extends IService<AgentNewLog> {
+
+    Object downLogList(DownParam param);
+
+    void addDown(IncrementParam param, AgentNewVo agent);
+}

+ 3 - 0
src/main/java/com/fdkankan/agent/service/IAgentNewService.java

@@ -2,6 +2,7 @@ package com.fdkankan.agent.service;
 
 import com.fdkankan.agent.entity.AgentNew;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.agent.entity.IncrementType;
 import com.fdkankan.agent.response.AgentNewVo;
 
 /**
@@ -15,4 +16,6 @@ import com.fdkankan.agent.response.AgentNewVo;
 public interface IAgentNewService extends IService<AgentNew> {
 
     AgentNewVo getByUserName(String phoneNum);
+
+    void subNum(AgentNewVo agentNewVo,Long userId, IncrementType incrementType, Integer count,Integer addType);
 }

+ 4 - 1
src/main/java/com/fdkankan/agent/service/IUserIncrementService.java

@@ -3,6 +3,7 @@ package com.fdkankan.agent.service;
 import com.fdkankan.agent.entity.UserIncrement;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.fdkankan.agent.request.IncrementParam;
+import com.fdkankan.agent.response.AgentNewVo;
 
 /**
  * <p>
@@ -18,5 +19,7 @@ public interface IUserIncrementService extends IService<UserIncrement> {
 
     Object pageList(IncrementParam param);
 
-    void addIncrement(IncrementParam param);
+    void addIncrement(IncrementParam param, AgentNewVo agentNewVo);
+
+    void renew(IncrementParam param,AgentNewVo agentNewVo);
 }

+ 77 - 0
src/main/java/com/fdkankan/agent/service/impl/AgentNewLogServiceImpl.java

@@ -0,0 +1,77 @@
+package com.fdkankan.agent.service.impl;
+
+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.AgentNewLog;
+import com.fdkankan.agent.entity.IncrementType;
+import com.fdkankan.agent.entity.User;
+import com.fdkankan.agent.entity.UserIncrement;
+import com.fdkankan.agent.exception.BusinessException;
+import com.fdkankan.agent.mapper.IAgentNewLogMapper;
+import com.fdkankan.agent.request.DownParam;
+import com.fdkankan.agent.request.IncrementParam;
+import com.fdkankan.agent.response.AgentNewVo;
+import com.fdkankan.agent.response.DownLogVo;
+import com.fdkankan.agent.service.IAgentNewLogService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.agent.service.IAgentNewService;
+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 java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.UUID;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2022-11-10
+ */
+@Service
+public class AgentNewLogServiceImpl extends ServiceImpl<IAgentNewLogMapper, AgentNewLog> implements IAgentNewLogService {
+
+
+    @Autowired
+    IUserService userService;
+    @Autowired
+    IAgentNewService  agentNewService;
+
+    @Override
+    public Object downLogList(DownParam param) {
+        Page<DownLogVo> downLogVoPage = this.getBaseMapper().downLogList(new Page<>(param.getPageNum(),param.getPageSize()),param);
+        return PageInfo.PageInfo(downLogVoPage);
+    }
+
+    @Override
+    public void addDown(IncrementParam param, AgentNewVo agent) {
+        if(StringUtils.isBlank(param.getUserName())
+                || param.getCount() == null ){
+            throw new BusinessException(ResultCode.PARAM_MISS);
+        }
+
+        User user = userService.getByUserName(param.getUserName());
+        if(user == null){
+            throw new BusinessException(ResultCode.USER_NOT_EXIST);
+        }
+        if(agent.getDownSubNum() <=0 ){
+            throw new BusinessException(ResultCode.DOWN_NUM_EMPTY);
+        }
+
+        user.setDownloadNumTotal(user.getDownloadNumTotal() + param.getCount() );
+        userService.updateById(user);
+        agentNewService.subNum(agent,user.getId(),null,param.getCount(),0);
+
+
+
+
+    }
+}

+ 40 - 0
src/main/java/com/fdkankan/agent/service/impl/AgentNewServiceImpl.java

@@ -1,12 +1,18 @@
 package com.fdkankan.agent.service.impl;
+import java.util.Date;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.fdkankan.agent.entity.AgentNew;
+import com.fdkankan.agent.entity.AgentNewLog;
+import com.fdkankan.agent.entity.IncrementType;
 import com.fdkankan.agent.mapper.IAgentNewMapper;
 import com.fdkankan.agent.response.AgentNewVo;
+import com.fdkankan.agent.service.IAgentNewLogService;
 import com.fdkankan.agent.service.IAgentNewService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
@@ -23,6 +29,10 @@ import java.util.List;
 @Service
 public class AgentNewServiceImpl extends ServiceImpl<IAgentNewMapper, AgentNew> implements IAgentNewService {
 
+    @Autowired
+    IAgentNewLogService agentNewLogService;
+
+
     @Override
     public AgentNewVo getByUserName(String phoneNum) {
         LambdaQueryWrapper<AgentNew> wrapper = new LambdaQueryWrapper<>();
@@ -42,4 +52,34 @@ public class AgentNewServiceImpl extends ServiceImpl<IAgentNewMapper, AgentNew>
         }
         return listVo.get(0);
     }
+
+    @Override
+    public void subNum(AgentNewVo agentNewVo, Long userId,IncrementType incrementType, Integer count,Integer addType) {
+        if(count == null || count <=0){
+            return;
+        }
+        AgentNewLog agentNewLog = new AgentNewLog();
+        agentNewLog.setAgentId(agentNewVo.getId());
+        agentNewLog.setUserId(userId);
+        agentNewLog.setCount(count);
+        agentNewLog.setAddType(addType);
+
+        LambdaUpdateWrapper<AgentNew> wrapper = new LambdaUpdateWrapper<>();
+        wrapper.eq(AgentNew::getId,agentNewVo.getId());
+        if(incrementType == null){
+            agentNewLog.setType(2);
+            wrapper.set(AgentNew::getDownUseNum,agentNewVo.getDownUseNum() + count);
+        }
+        if(incrementType != null && incrementType.getValidTimeType() == 0){
+            agentNewLog.setType(1);
+            wrapper.set(AgentNew::getMajorUseNum,agentNewVo.getMajorUseNum() + count);
+
+        }
+        if(incrementType != null && incrementType.getValidTimeType() == 1){
+            agentNewLog.setType(0);
+            wrapper.set(AgentNew::getHighUseNum,agentNewVo.getHighUseNum() + count);
+        }
+        this.update(wrapper);
+        agentNewLogService.save(agentNewLog);
+    }
 }

+ 58 - 5
src/main/java/com/fdkankan/agent/service/impl/UserIncrementServiceImpl.java

@@ -10,7 +10,9 @@ import com.fdkankan.agent.entity.UserIncrement;
 import com.fdkankan.agent.exception.BusinessException;
 import com.fdkankan.agent.mapper.IUserIncrementMapper;
 import com.fdkankan.agent.request.IncrementParam;
+import com.fdkankan.agent.response.AgentNewVo;
 import com.fdkankan.agent.response.UserIncrementVo;
+import com.fdkankan.agent.service.IAgentNewService;
 import com.fdkankan.agent.service.IIncrementTypeService;
 import com.fdkankan.agent.service.IUserIncrementService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -40,6 +42,8 @@ public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper,
     IUserService userService;
     @Autowired
     IIncrementTypeService incrementTypeService;
+    @Autowired
+    IAgentNewService agentNewService;
 
 
     @Override
@@ -68,11 +72,25 @@ public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper,
     }
 
     @Override
-    public void addIncrement(IncrementParam param) {
+    public void addIncrement(IncrementParam param, AgentNewVo agentNewVo) {
         if(StringUtils.isBlank(param.getUserName()) || param.getIncrementTypeId() == null
             || param.getCount() == null || StringUtils.isEmpty(param.getIncrementEndTime())){
             throw new BusinessException(ResultCode.PARAM_MISS);
         }
+        IncrementType incrementType = incrementTypeService.getById(param.getIncrementTypeId());
+        if(incrementType == null){
+            throw new BusinessException(ResultCode.INCREMENT_TYPE_EMPTY);
+        }
+        if (incrementType.getValidTimeType() == 0) {
+            if(agentNewVo.getMajorSubNum() <=0){
+                throw new BusinessException(ResultCode.INCREMENT_NUM_EMPTY);
+            }
+        }
+        if (incrementType.getValidTimeType() == 1) {
+            if(agentNewVo.getHighSubNum() <=0){
+                throw new BusinessException(ResultCode.INCREMENT_NUM_EMPTY);
+            }
+        }
 
         User user = userService.getByUserName(param.getUserName());
         if(user == null){
@@ -96,12 +114,47 @@ public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper,
 
         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);
+            agentNewService.subNum(agentNewVo,user.getId(),incrementType,param.getCount(),0);
+
         }
+
+    }
+
+    @Override
+    public void renew(IncrementParam param, AgentNewVo agentNewVo) {
+        if(param.getId() == null || StringUtils.isEmpty(param.getIncrementEndTime())){
+            throw new BusinessException(ResultCode.PARAM_MISS);
+        }
+        UserIncrement userIncrement = this.getById(param.getId());
+        if(userIncrement == null){
+            throw new BusinessException(ResultCode.INCREMENT_EMPTY);
+        }
+        IncrementType incrementType = incrementTypeService.getById(userIncrement.getIncrementTypeId());
+        if(incrementType == null){
+            throw new BusinessException(ResultCode.INCREMENT_TYPE_EMPTY);
+        }
+        if (incrementType.getValidTimeType() == 0) {
+            if(agentNewVo.getMajorSubNum() <=0){
+                throw new BusinessException(ResultCode.INCREMENT_NUM_EMPTY);
+            }
+        }
+        if (incrementType.getValidTimeType() == 1) {
+            if(agentNewVo.getHighSubNum() <=0){
+                throw new BusinessException(ResultCode.INCREMENT_NUM_EMPTY);
+            }
+        }
+        userIncrement.setIsExpired(0);
+        userIncrement.setIncrementEndTime(param.getIncrementEndTime());
+        userIncrement.setUpdateTime(null);
+        this.updateById(userIncrement);
+
+        User user = userService.getById(userIncrement.getUserId());
+
+        user.setDownloadNumTotal(user.getDownloadNumTotal() + param.getCount() * incrementType.getDownloadNum());
+        userService.updateById(user);
+        agentNewService.subNum(agentNewVo,user.getId(),incrementType,1,1);
+
     }
 }

+ 15 - 0
src/main/resources/mapper/agent/AgentNewLogMapper.xml

@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fdkankan.agent.mapper.IAgentNewLogMapper">
+
+    <select id="downLogList" resultType="com.fdkankan.agent.response.DownLogVo" parameterType="com.fdkankan.agent.request.DownParam">
+        select u.user_name,al.count,al.create_time from  t_agent_new_log al left join t_user u on al.user_id = u.id
+        where al.type = 2
+        <if test="param.userName!= null and param.userName != ''">
+            and u.user_name like  concat('%',#{param.userName},'%')
+        </if>
+        <if test="param.startTime!= null and param.startTime != ''">
+            and al.create_time BETWEEN (#{param.startTime} and #{param.endTime})
+       </if>
+    </select>
+</mapper>