lyhzzz 2 anos atrás
pai
commit
d0e3efc11b

+ 4 - 6
src/main/java/com/fdkankan/agent/common/BaseController.java

@@ -2,6 +2,7 @@ package com.fdkankan.agent.common;
 
 import com.fdkankan.agent.common.util.JwtUtil;
 import com.fdkankan.agent.entity.AgentNew;
+import com.fdkankan.agent.response.AgentNewVo;
 import com.fdkankan.agent.service.IAgentNewService;
 import org.springframework.beans.factory.annotation.Autowired;
 
@@ -24,13 +25,10 @@ public class BaseController {
     protected String getToken(){
         return request.getHeader("token");
     }
-    protected AgentNew getAgent(){
+
+    protected AgentNewVo getAgent(){
         String userName = JwtUtil.getUserName(getToken());
-        List<AgentNew> agentnews = agentNewService.getByUserName(userName);
-        for (AgentNew agentnew : agentnews) {
-            return agentnew;
-        }
-        return  null;
+        return agentNewService.getByUserName(userName);
     }
 
 }

+ 1 - 0
src/main/java/com/fdkankan/agent/common/ResultCode.java

@@ -17,6 +17,7 @@ public enum ResultCode {
     CAMERA_SPACE_ERROR(4013, "相机容量不足,不能迁移"),
     SCENE_BUILD(4013, "场景正在计算中,请待计算完成后再操作。"),
     CAMERA_TYPE_NOT_ERROR(4014, "必须迁移至相同的类型的相机下面!"),
+    INCREMENT_TYPE_EMPTY(4015, "权益类型不存在!"),
 
 
     ;

+ 57 - 0
src/main/java/com/fdkankan/agent/controller/IncrementController.java

@@ -0,0 +1,57 @@
+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.CameraParam;
+import com.fdkankan.agent.request.IncrementParam;
+import com.fdkankan.agent.service.IAgentNewService;
+import com.fdkankan.agent.service.ICameraService;
+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/increment")
+public class IncrementController extends BaseController {
+
+    @Autowired
+    IUserIncrementService userIncrementService;
+    @Autowired
+    IUserService userService;
+
+
+    @PostMapping("/list")
+    public ResultData list(@RequestBody IncrementParam param){
+        param.setAgentId(getAgent().getId());
+        return ResultData.ok(userIncrementService.pageList(param));
+    }
+
+    @GetMapping("/checkUserName")
+    public ResultData checkUserName(@RequestParam(required = false) String userName){
+        Boolean bo = userService.checkUserName(userName);
+        if(bo){
+            return ResultData.ok(true);
+        }else {
+            return ResultData.error(0, ResultCode.USER_NOT_EXIST.msg, false);
+        }
+    }
+
+    @PostMapping("/add")
+    public ResultData add(@RequestBody IncrementParam param){
+        param.setAgentId(getAgent().getId());
+        userIncrementService.addIncrement(param);
+        return ResultData.ok();
+    }
+}
+

+ 12 - 3
src/main/java/com/fdkankan/agent/controller/LoginController.java

@@ -10,9 +10,11 @@ import com.fdkankan.agent.httpClient.client.FdKKClient;
 import com.fdkankan.agent.httpClient.request.FdkkLoginRequest;
 import com.fdkankan.agent.httpClient.response.FdkkLoginVo;
 import com.fdkankan.agent.httpClient.response.FdkkResponse;
+import com.fdkankan.agent.response.AgentNewVo;
 import com.fdkankan.agent.service.IAgentNewService;
 import com.fdkankan.redis.constant.RedisKey;
 import com.fdkankan.redis.util.RedisUtil;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -39,10 +41,11 @@ public class LoginController extends BaseController {
         try {
             FdkkResponse<FdkkLoginVo> fdkkLoginVo = fdKKClient.fdkkLogin(request);
             if(fdkkLoginVo.getCode() == 0){
-                List<AgentNew> agentNews = iAgentNewService.getByUserName(request.getPhoneNum());
-                if(agentNews.size() <=0){
+                AgentNewVo agentNewVo = iAgentNewService.getByUserName(request.getPhoneNum());
+                if(agentNewVo == null){
                     throw new BusinessException(ResultCode.AGENT_USER_EMPTY);
                 }
+                fdkkLoginVo.getData().put("agent",agentNewVo);
                 return ResultData.ok(fdkkLoginVo.getData());
             }
             return ResultData.error(fdkkLoginVo.getCode(),fdkkLoginVo.getMsg());
@@ -65,7 +68,13 @@ public class LoginController extends BaseController {
     @PostMapping("/getUserInfo")
     public ResultData getUserInfo(){
         try {
-            return ResultData.ok(fdKKClient.getUserInfo(new JSONObject(), getToken()).getData());
+            JSONObject data = fdKKClient.getUserInfo(new JSONObject(), getToken()).getData();
+            AgentNewVo agentNewVo = iAgentNewService.getByUserName(data.getString("userName"));
+            if(agentNewVo == null){
+                throw new BusinessException(ResultCode.AGENT_USER_EMPTY);
+            }
+            data.put("agent",agentNewVo);
+            return ResultData.ok(data);
         }catch (Exception e){
             e.printStackTrace();
         }

+ 8 - 4
src/main/java/com/fdkankan/agent/entity/UserIncrement.java

@@ -9,6 +9,7 @@ import java.io.Serializable;
 import java.util.Date;
 import lombok.Getter;
 import lombok.Setter;
+import org.apache.commons.lang3.StringUtils;
 
 /**
  * <p>
@@ -56,7 +57,7 @@ public class UserIncrement implements Serializable {
      * 结束时间
      */
     @TableField("increment_end_time")
-    private Date incrementEndTime;
+    private String incrementEndTime;
 
     /**
      * 是否过期(1过期,0未过期)
@@ -68,7 +69,7 @@ public class UserIncrement implements Serializable {
      * 创建时间
      */
     @TableField("create_time")
-    private Date createTime;
+    private String createTime;
 
     /**
      * 记录的状态,A: 生效,I: 禁用
@@ -81,7 +82,7 @@ public class UserIncrement implements Serializable {
      * 更新时间
      */
     @TableField("update_time")
-    private Date updateTime;
+    private String updateTime;
 
     /**
      * 扩容订单集合
@@ -93,10 +94,13 @@ public class UserIncrement implements Serializable {
      * 生效时间
      */
     @TableField("increment_start_time")
-    private Date incrementStartTime;
+    private String incrementStartTime;
 
     @TableField("download_num")
     private Integer downloadNum;
 
+    @TableField("agent_id")
+    private Integer agentId;
+
 
 }

+ 6 - 0
src/main/java/com/fdkankan/agent/mapper/IUserIncrementMapper.java

@@ -1,9 +1,14 @@
 package com.fdkankan.agent.mapper;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.agent.entity.UserIncrement;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fdkankan.agent.request.IncrementParam;
+import com.fdkankan.agent.response.UserIncrementVo;
 import org.apache.ibatis.annotations.Mapper;
 
+import java.util.List;
+
 /**
  * <p>
  * 用户增值权益表 Mapper 接口
@@ -15,4 +20,5 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 public interface IUserIncrementMapper extends BaseMapper<UserIncrement> {
 
+    Page<UserIncrementVo> pageList(Page<UserIncrement> page, IncrementParam param);
 }

+ 16 - 0
src/main/java/com/fdkankan/agent/request/IncrementParam.java

@@ -0,0 +1,16 @@
+package com.fdkankan.agent.request;
+
+import com.fdkankan.agent.common.RequestBase;
+import lombok.Data;
+
+@Data
+public class IncrementParam extends RequestBase {
+    private Integer id;
+    private Integer agentId;
+    private String userName;
+    private Integer incrementTypeId;
+
+    private Integer count;
+    private String incrementEndTime;
+
+}

+ 11 - 0
src/main/java/com/fdkankan/agent/response/AgentNewVo.java

@@ -0,0 +1,11 @@
+package com.fdkankan.agent.response;
+
+import com.fdkankan.agent.entity.AgentNew;
+import lombok.Data;
+
+@Data
+public class AgentNewVo extends AgentNew {
+    private Integer downSubNum;
+    private Integer highSubNum;
+    private Integer majorSubNum;
+}

+ 11 - 0
src/main/java/com/fdkankan/agent/response/UserIncrementVo.java

@@ -0,0 +1,11 @@
+package com.fdkankan.agent.response;
+
+import com.fdkankan.agent.entity.UserIncrement;
+import lombok.Data;
+
+@Data
+public class UserIncrementVo extends UserIncrement {
+    private String userName;
+    private String incrementTypeName;
+    private Integer validTimeType;
+}

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

@@ -2,8 +2,7 @@ package com.fdkankan.agent.service;
 
 import com.fdkankan.agent.entity.AgentNew;
 import com.baomidou.mybatisplus.extension.service.IService;
-
-import java.util.List;
+import com.fdkankan.agent.response.AgentNewVo;
 
 /**
  * <p>
@@ -15,5 +14,5 @@ import java.util.List;
  */
 public interface IAgentNewService extends IService<AgentNew> {
 
-    List<AgentNew> getByUserName(String phoneNum);
+    AgentNewVo getByUserName(String phoneNum);
 }

+ 5 - 0
src/main/java/com/fdkankan/agent/service/IUserIncrementService.java

@@ -2,6 +2,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;
 
 /**
  * <p>
@@ -14,4 +15,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
 public interface IUserIncrementService extends IService<UserIncrement> {
 
     UserIncrement getByCameraId(Long cameraId);
+
+    Object pageList(IncrementParam param);
+
+    void addIncrement(IncrementParam param);
 }

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

@@ -13,4 +13,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IUserService extends IService<User> {
 
+    User getByUserName(String userName);
+
+    Boolean checkUserName(String userName);
 }

+ 18 - 2
src/main/java/com/fdkankan/agent/service/impl/AgentNewServiceImpl.java

@@ -3,10 +3,13 @@ package com.fdkankan.agent.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.fdkankan.agent.entity.AgentNew;
 import com.fdkankan.agent.mapper.IAgentNewMapper;
+import com.fdkankan.agent.response.AgentNewVo;
 import com.fdkankan.agent.service.IAgentNewService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -21,9 +24,22 @@ import java.util.List;
 public class AgentNewServiceImpl extends ServiceImpl<IAgentNewMapper, AgentNew> implements IAgentNewService {
 
     @Override
-    public List<AgentNew> getByUserName(String phoneNum) {
+    public AgentNewVo getByUserName(String phoneNum) {
         LambdaQueryWrapper<AgentNew> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(AgentNew::getUserName,phoneNum);
-        return this.list(wrapper);
+        List<AgentNew> list = this.list(wrapper);
+        if(list == null || list.size() <=0){
+            return null;
+        }
+        List<AgentNewVo> listVo = new ArrayList<>();
+        for (AgentNew agentNew : list) {
+            AgentNewVo vo = new AgentNewVo();
+            BeanUtils.copyProperties(agentNew,vo);
+            vo.setDownSubNum(vo.getDownTotalNum() - vo.getDownUseNum());
+            vo.setHighSubNum(vo.getHighTotalNum() - vo.getHighUseNum());
+            vo.setMajorSubNum(vo.getMajorTotalNum() - vo.getMajorUseNum());
+            listVo.add(vo);
+        }
+        return listVo.get(0);
     }
 }

+ 74 - 0
src/main/java/com/fdkankan/agent/service/impl/UserIncrementServiceImpl.java

@@ -1,13 +1,29 @@
 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.IncrementType;
+import com.fdkankan.agent.entity.User;
 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.UserIncrementVo;
+import com.fdkankan.agent.service.IIncrementTypeService;
 import com.fdkankan.agent.service.IUserIncrementService;
 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 java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
+import java.util.UUID;
 
 /**
  * <p>
@@ -20,6 +36,12 @@ import java.util.List;
 @Service
 public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper, UserIncrement> implements IUserIncrementService {
 
+    @Autowired
+    IUserService userService;
+    @Autowired
+    IIncrementTypeService incrementTypeService;
+
+
     @Override
     public UserIncrement getByCameraId(Long cameraId) {
         LambdaQueryWrapper<UserIncrement> wrapper = new LambdaQueryWrapper<>();
@@ -30,4 +52,56 @@ public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper,
         }
         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);
+        }
+    }
 }

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

@@ -1,11 +1,14 @@
 package com.fdkankan.agent.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.fdkankan.agent.entity.User;
 import com.fdkankan.agent.mapper.IUserMapper;
 import com.fdkankan.agent.service.IUserService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 用户信息表 服务实现类
@@ -17,4 +20,23 @@ import org.springframework.stereotype.Service;
 @Service
 public class UserServiceImpl extends ServiceImpl<IUserMapper, User> implements IUserService {
 
+    @Override
+    public Boolean checkUserName(String userName) {
+        User user =  this.getByUserName(userName);
+        if(user == null ){
+            return false;
+        }
+        return true;
+    }
+
+    @Override
+    public User getByUserName(String userName) {
+        LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(User::getUserName,userName);
+        List<User> list = this.list(wrapper);
+        if(list == null || list.size() <=0){
+            return null;
+        }
+        return  list.get(0);
+    }
 }

+ 16 - 0
src/main/resources/mapper/agent/UserIncrementMapper.xml

@@ -2,4 +2,20 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.fdkankan.agent.mapper.IUserIncrementMapper">
 
+    <select id="pageList" resultType="com.fdkankan.agent.response.UserIncrementVo" parameterType="com.fdkankan.agent.request.IncrementParam">
+        select  ui.*,u.user_name,it.name as incrementTypeName,it.valid_time_type from t_user_increment ui
+        left join  t_user u on ui.user_id = u.id
+        left join  t_increment_type it on ui.increment_type_id = it.id
+        where ui.rec_status = 'A' and ui.agent_id = #{param.agentId}
+        <if test="param.userName != null and param.userName != ''">
+            and u.user_name = #{param.userName}
+        </if>
+        <if test="param.id != null ">
+            and ui.id = #{param.id}
+        </if>
+        <if test="param.incrementTypeId != null ">
+            and ui.increment_type_id = #{param.incrementTypeId}
+        </if>
+        order by ui.create_time desc
+    </select>
 </mapper>