lyhzzz пре 1 година
родитељ
комит
e97a78566f
39 измењених фајлова са 744 додато и 66 уклоњено
  1. 6 1
      src/main/java/com/fdkankan/agent/common/ResultCode.java
  2. 109 0
      src/main/java/com/fdkankan/agent/controller/AgentNewController.java
  3. 2 1
      src/main/java/com/fdkankan/agent/controller/AgentNewLogController.java
  4. 13 5
      src/main/java/com/fdkankan/agent/controller/CameraController.java
  5. 16 0
      src/main/java/com/fdkankan/agent/controller/IncrementController.java
  6. 1 0
      src/main/java/com/fdkankan/agent/controller/SceneController.java
  7. 13 0
      src/main/java/com/fdkankan/agent/entity/AgentNew.java
  8. 51 0
      src/main/java/com/fdkankan/agent/entity/AgentNewCamera.java
  9. 1 1
      src/main/java/com/fdkankan/agent/generate/AutoGenerate.java
  10. 1 1
      src/main/java/com/fdkankan/agent/httpClient/client/FdManageClient.java
  11. 1 1
      src/main/java/com/fdkankan/agent/httpClient/service/FdMangeService.java
  12. 18 0
      src/main/java/com/fdkankan/agent/mapper/IAgentNewCameraMapper.java
  13. 1 1
      src/main/java/com/fdkankan/agent/mapper/IAgentNewLogMapper.java
  14. 13 0
      src/main/java/com/fdkankan/agent/request/AgentAddIncrementParam.java
  15. 10 0
      src/main/java/com/fdkankan/agent/request/AgentParam.java
  16. 5 5
      src/main/java/com/fdkankan/agent/request/CameraIncrementParam.java
  17. 4 1
      src/main/java/com/fdkankan/agent/request/CameraParam.java
  18. 3 0
      src/main/java/com/fdkankan/agent/request/LogListParam.java
  19. 9 5
      src/main/java/com/fdkankan/agent/request/SceneParam.java
  20. 5 5
      src/main/java/com/fdkankan/agent/request/TimeBase.java
  21. 50 0
      src/main/java/com/fdkankan/agent/request/UserIncrementParam.java
  22. 1 0
      src/main/java/com/fdkankan/agent/response/CameraDetailVo.java
  23. 3 0
      src/main/java/com/fdkankan/agent/response/LogListVo.java
  24. 25 0
      src/main/java/com/fdkankan/agent/service/IAgentNewCameraService.java
  25. 3 1
      src/main/java/com/fdkankan/agent/service/IAgentNewLogService.java
  26. 17 0
      src/main/java/com/fdkankan/agent/service/IAgentNewService.java
  27. 4 0
      src/main/java/com/fdkankan/agent/service/IUserIncrementService.java
  28. 5 5
      src/main/java/com/fdkankan/agent/service/LoginService.java
  29. 72 0
      src/main/java/com/fdkankan/agent/service/impl/AgentNewCameraServiceImpl.java
  30. 44 7
      src/main/java/com/fdkankan/agent/service/impl/AgentNewLogServiceImpl.java
  31. 131 3
      src/main/java/com/fdkankan/agent/service/impl/AgentNewServiceImpl.java
  32. 31 6
      src/main/java/com/fdkankan/agent/service/impl/CameraServiceImpl.java
  33. 2 5
      src/main/java/com/fdkankan/agent/service/impl/DownloadOrderMgServiceImpl.java
  34. 2 4
      src/main/java/com/fdkankan/agent/service/impl/IncrementOrderMgServiceImpl.java
  35. 21 2
      src/main/java/com/fdkankan/agent/service/impl/SceneProServiceImpl.java
  36. 20 1
      src/main/java/com/fdkankan/agent/service/impl/UserIncrementServiceImpl.java
  37. 21 3
      src/main/java/com/fdkankan/agent/util/Dateutils.java
  38. 5 0
      src/main/resources/mapper/agent/AgentNewCameraMapper.xml
  39. 5 2
      src/main/resources/mapper/agent/AgentNewLogMapper.xml

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

@@ -21,7 +21,12 @@ public enum ResultCode {
     DOWN_NUM_EMPTY(4018, "下载数量不足!"),
     CAMERA_SN_ERROR(4019, "sn码不存在!"),
     LOGIN_NUM_MUCH(4020, "频繁登录失败,请五分钟后再次尝试登录!"),
-
+    AGENT_NOT_EMPTY(4021, "分销商名称已存在!"),
+    AGENT_U_NOT_EMPTY(4022, "分销商账号已存在!"),
+    AGENT_NEW_EMPTY(4023, "分销商不存在!"),
+    NOT_PER(4024, "无权操作该分销商!"),
+    NUM_NOT(4025, "剩余可售权益或次数不足!"),
+    CAMERA_IS_GIVE(4026, "该相机已分发!"),
 
     ;
     public int code;

+ 109 - 0
src/main/java/com/fdkankan/agent/controller/AgentNewController.java

@@ -0,0 +1,109 @@
+package com.fdkankan.agent.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.fdkankan.agent.common.BaseController;
+import com.fdkankan.agent.common.ResultCode;
+import com.fdkankan.agent.common.ResultData;
+import com.fdkankan.agent.entity.AgentNew;
+import com.fdkankan.agent.exception.BusinessException;
+import com.fdkankan.agent.request.AgentAddIncrementParam;
+import com.fdkankan.agent.request.AgentParam;
+import com.fdkankan.agent.request.LogListParam;
+import com.fdkankan.agent.service.IAgentNewLogService;
+import com.fdkankan.agent.service.IAgentNewService;
+import com.fdkankan.agent.service.IUserService;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+@RestController
+@RequestMapping("/agent/agentManage")
+public class AgentNewController extends BaseController {
+
+    @Autowired
+    IAgentNewService agentNewService;
+    @Autowired
+    IUserService userService;
+
+
+    @PostMapping("/list")
+    public ResultData list(@RequestBody AgentParam param){
+        param.setAgentId(getAgent().getId());
+        return ResultData.ok(agentNewService.pageList(param));
+    }
+
+    @GetMapping("/checkUserName")
+    public ResultData checkUserName(@RequestParam(required = false) String userName){
+        Boolean bo = userService.checkUserName(userName);
+        return ResultData.ok(bo);
+    }
+
+    @PostMapping("/add")
+    public ResultData add(@RequestBody AgentNew param){
+        if(StringUtils.isBlank(param.getName()) || StringUtils.isBlank(param.getUserName())){
+            throw new BusinessException(ResultCode.PARAM_MISS);
+        }
+        Boolean bo  = userService.checkUserName(param.getUserName());
+        if(!bo){
+            throw new BusinessException(ResultCode.USER_NOT_EXIST);
+        }
+        AgentNew agentNew = agentNewService.getByName(param.getName().trim());
+        if(agentNew != null){
+            throw new BusinessException(ResultCode.AGENT_NOT_EMPTY);
+        }
+        agentNewService.checkUserName(param.getUserName());
+        param.setParentId(getAgent().getId());
+        param.setSysUserId(getAgent().getId());
+        agentNewService.save(param);
+        return ResultData.ok();
+    }
+    @PostMapping("/update")
+    public ResultData update(@RequestBody AgentNew param){
+        if(param.getId() == null || StringUtils.isBlank(param.getName())){
+            throw new BusinessException(ResultCode.PARAM_MISS);
+        }
+        if(StringUtils.isNotBlank(param.getName())){
+            AgentNew agentNew = agentNewService.getByName(param.getName().trim());
+            if(agentNew != null && !agentNew.getId().equals(param.getId())){
+                throw new BusinessException(ResultCode.AGENT_NOT_EMPTY);
+            }
+        }
+        LambdaUpdateWrapper<AgentNew> wrapper = new LambdaUpdateWrapper<>();
+        wrapper.eq(AgentNew::getId,param.getId());
+        wrapper.set(AgentNew::getName,param.getName());
+        wrapper.set(AgentNew::getNickName,param.getNickName());
+        agentNewService.update(wrapper);
+        return ResultData.ok();
+    }
+
+
+    @PostMapping("/addIncrementNum")
+    public ResultData addIncrementNum(@RequestBody AgentAddIncrementParam param){
+        param.setAgentId(getAgent().getId());
+        agentNewService.addIncrementNum(param);
+        return ResultData.ok();
+    }
+
+    @PostMapping("/banOrUnBan")
+    public ResultData banOrUnBan(@RequestBody AgentNew param){
+        if(param.getId() == null || param.getStatus() == null){
+            throw new BusinessException(ResultCode.PARAM_MISS);
+        }
+        LambdaUpdateWrapper<AgentNew> wrapper = new LambdaUpdateWrapper<>();
+        wrapper.eq(AgentNew::getId,param.getId());
+        wrapper.set(AgentNew::getStatus,param.getStatus());
+        agentNewService.update(wrapper);
+        return ResultData.ok();
+    }
+
+    @GetMapping("/getSubAgent")
+    public ResultData getSubAgent(){
+        Integer agentId = getAgent().getId();
+        return ResultData.ok(agentNewService.getBySubAgent(agentId));
+    }
+
+}

+ 2 - 1
src/main/java/com/fdkankan/agent/controller/AgentNewLogController.java

@@ -24,12 +24,13 @@ public class AgentNewLogController extends BaseController {
 
     @GetMapping("/logData")
     public ResultData logData(){
-        return ResultData.ok( agentNewLogService.getLogDataM(getAgent().getId()));
+        return ResultData.ok( agentNewLogService.getLogDataM(getAgent()));
     }
 
     @PostMapping("/logList")
     public ResultData logList(@RequestBody LogListParam param){
         param.setAgentId(getAgent().getId());
+        param.setAgentNew(getAgent());
         return ResultData.ok(agentNewLogService.pageUnList(param));
     }
 

+ 13 - 5
src/main/java/com/fdkankan/agent/controller/CameraController.java

@@ -6,15 +6,12 @@ import com.fdkankan.agent.common.ResultData;
 import com.fdkankan.agent.common.util.JwtUtil;
 import com.fdkankan.agent.entity.AgentNew;
 import com.fdkankan.agent.request.CameraParam;
+import com.fdkankan.agent.service.IAgentNewCameraService;
 import com.fdkankan.agent.service.IAgentNewService;
 import com.fdkankan.agent.service.ICameraService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 
@@ -35,12 +32,23 @@ public class CameraController extends BaseController {
     ICameraService cameraService;
     @Autowired
     IAgentNewService agentNewService;
+    @Autowired
+    IAgentNewCameraService agentNewCameraService;
 
 
     @PostMapping("/list")
     public ResultData list(@RequestBody CameraParam param){
         param.setAgentId(getAgent().getId());
+        param.setAgentNew(getAgent());
         return ResultData.ok(cameraService.pageList(param));
     }
+
+
+
+    @PostMapping("/giveCamera")
+    public ResultData giveCamera(@RequestBody CameraParam param){
+        agentNewCameraService.giveCamera(param,getAgent().getId());
+        return ResultData.ok();
+    }
 }
 

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

@@ -4,15 +4,20 @@ 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.exception.BusinessException;
 import com.fdkankan.agent.request.CameraParam;
 import com.fdkankan.agent.request.IncrementParam;
+import com.fdkankan.agent.request.UserIncrementParam;
 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.joda.time.DateTime;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.HashMap;
+
 /**
  * <p>
  * 相机主表 前端控制器
@@ -58,5 +63,16 @@ public class IncrementController extends BaseController {
         userIncrementService.renew(param,getAgent());
         return ResultData.ok();
     }
+
+    @PostMapping("/getAddUserIncrementTime")
+    public ResultData getAddUserIncrementTime(@RequestBody UserIncrementParam param){
+        if(param.getUserId() == null || param.getIncrementTypeId() == null){
+            throw new BusinessException(ResultCode.PARAM_MISS);
+        }
+        DateTime addUserIncrementTime = userIncrementService.getAddUserIncrementTime(param);
+        HashMap<String,Long> map = new HashMap<>();
+        map.put("deadLine",addUserIncrementTime.toDate().getTime());
+        return ResultData.ok(map );
+    }
 }
 

+ 1 - 0
src/main/java/com/fdkankan/agent/controller/SceneController.java

@@ -38,6 +38,7 @@ public class SceneController extends BaseController {
     @PostMapping("/list")
     public ResultData list(@RequestBody SceneParam param){
         param.setAgentId(getAgent().getId());
+        param.setAgentNew(getAgent());
         return ResultData.ok(sceneProService.pageList(param));
     }
 

+ 13 - 0
src/main/java/com/fdkankan/agent/entity/AgentNew.java

@@ -101,5 +101,18 @@ public class AgentNew implements Serializable {
     @TableField("major_use_num")
     private Integer majorUseNum;
 
+    /**
+     *
+     */
+    @TableField("parent_id")
+    private Integer parentId;
+
+    /**
+     *
+     */
+    @TableField("status")
+    private Integer status;
 
+    @TableField(exist = false)
+    private String createName;
 }

+ 51 - 0
src/main/java/com/fdkankan/agent/entity/AgentNewCamera.java

@@ -0,0 +1,51 @@
+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.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 
+ * @since 2024-06-18
+ */
+@Getter
+@Setter
+@TableName("t_agent_new_camera")
+public class AgentNewCamera implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @TableField("camera_id")
+    private Long cameraId;
+
+    @TableField("agent_id")
+    private Integer agentId;
+
+    @TableField("sub_agent_id")
+    private Integer subAgentId;
+
+    @TableField("rec_status")
+    @TableLogic(value = "A",delval = "I")
+    private String recStatus;
+
+    @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_increment_order_mg","t_download_order_mg"
+                "t_agent_new_camera"
         }));
 
 //        generate(path,"goods", getTables(new String[]{

+ 1 - 1
src/main/java/com/fdkankan/agent/httpClient/client/FdManageClient.java

@@ -26,5 +26,5 @@ public interface FdManageClient {
 
 
     @Get("/service/manage/inner/rebuildScene")
-    JSONObject rebuildScene(@Query("num") String num);
+    JSONObject rebuildScene(@Query("num") String num,@Query("from")String from);
 }

+ 1 - 1
src/main/java/com/fdkankan/agent/httpClient/service/FdMangeService.java

@@ -48,6 +48,6 @@ public class FdMangeService {
 
 
     public JSONObject rebuildScene(String num) {
-        return fdManageClient.rebuildScene(num);
+        return fdManageClient.rebuildScene(num,"agent");
     }
 }

+ 18 - 0
src/main/java/com/fdkankan/agent/mapper/IAgentNewCameraMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.agent.mapper;
+
+import com.fdkankan.agent.entity.AgentNewCamera;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2024-06-18
+ */
+@Mapper
+public interface IAgentNewCameraMapper extends BaseMapper<AgentNewCamera> {
+
+}

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

@@ -26,6 +26,6 @@ public interface IAgentNewLogMapper extends BaseMapper<AgentNewLog> {
 
     Page<DownLogVo> downLogList(Page<Object> page, DownParam param);
 
-    List<AgentNewLog> getLogDataM(@Param("agentId") Integer agentId);
+    List<AgentNewLog> getLogDataM(@Param("agentIds") List<Integer> agentIds);
 
 }

+ 13 - 0
src/main/java/com/fdkankan/agent/request/AgentAddIncrementParam.java

@@ -0,0 +1,13 @@
+package com.fdkankan.agent.request;
+
+import lombok.Data;
+
+@Data
+public class AgentAddIncrementParam {
+    private Integer id;
+    private Integer downAddNum = 0;
+    private Integer majorAddNum = 0;
+    private Integer highAddNum = 0;
+
+    private Integer agentId;
+}

+ 10 - 0
src/main/java/com/fdkankan/agent/request/AgentParam.java

@@ -0,0 +1,10 @@
+package com.fdkankan.agent.request;
+
+import com.fdkankan.agent.common.RequestBase;
+import lombok.Data;
+
+@Data
+public class AgentParam extends RequestBase {
+    private Integer agentId;
+    private String agentName;
+}

+ 5 - 5
src/main/java/com/fdkankan/agent/request/CameraIncrementParam.java

@@ -1,7 +1,7 @@
 package com.fdkankan.agent.request;
 
 import com.fdkankan.agent.common.RequestBase;
-import com.fdkankan.agent.util.Dateutils;
+import com.fdkankan.agent.util.DateUtils;
 import lombok.Data;
 
 import java.util.List;
@@ -20,15 +20,15 @@ public class CameraIncrementParam extends RequestBase {
 
     public String getStartTime() {
         if(timeList != null && timeList.size() >1){
-            return Dateutils.getStartTime(timeList.get(0));
+            return DateUtils.getStartTime(timeList.get(0));
         }
-        return Dateutils.getStartTime(startTime);
+        return DateUtils.getStartTime(startTime);
     }
 
     public String getEndTime() {
         if(timeList != null && timeList.size() >1){
-            return Dateutils.getEndTime(timeList.get(1));
+            return DateUtils.getEndTime(timeList.get(1));
         }
-        return Dateutils.getEndTime(endTime);
+        return DateUtils.getEndTime(endTime);
     }
 }

+ 4 - 1
src/main/java/com/fdkankan/agent/request/CameraParam.java

@@ -1,7 +1,7 @@
 package com.fdkankan.agent.request;
 
 import com.fdkankan.agent.common.RequestBase;
-import com.fdkankan.agent.util.Dateutils;
+import com.fdkankan.agent.entity.AgentNew;
 import lombok.Data;
 import lombok.ToString;
 
@@ -24,5 +24,8 @@ public class CameraParam extends RequestBase {
 
     private List<Long> cameraIds;
 
+    private Integer subAgentId;
+    private AgentNew agentNew;
+
 
 }

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

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

+ 9 - 5
src/main/java/com/fdkankan/agent/request/SceneParam.java

@@ -1,7 +1,8 @@
 package com.fdkankan.agent.request;
 
 import com.fdkankan.agent.common.RequestBase;
-import com.fdkankan.agent.util.Dateutils;
+import com.fdkankan.agent.entity.AgentNew;
+import com.fdkankan.agent.util.DateUtils;
 import com.fdkankan.agent.util.FiledUtil;
 import jodd.util.StringUtil;
 import lombok.Data;
@@ -32,18 +33,21 @@ public class SceneParam extends RequestBase {
     private List<Long> cameraIds;
     private List<Long> userIds;
 
+    private Integer subAgentId;
+    private AgentNew agentNew;
+
     public String getStartTime() {
         if(timeList != null && timeList.size() >1){
-            return Dateutils.getStartTime(timeList.get(0));
+            return DateUtils.getStartTime(timeList.get(0));
         }
-        return Dateutils.getStartTime(startTime);
+        return DateUtils.getStartTime(startTime);
     }
 
     public String getEndTime() {
         if(timeList != null && timeList.size() >1){
-            return Dateutils.getEndTime(timeList.get(1));
+            return DateUtils.getEndTime(timeList.get(1));
         }
-        return Dateutils.getEndTime(endTime);
+        return DateUtils.getEndTime(endTime);
     }
 
 

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

@@ -1,7 +1,7 @@
 package com.fdkankan.agent.request;
 
 
-import com.fdkankan.agent.util.Dateutils;
+import com.fdkankan.agent.util.DateUtils;
 import lombok.Data;
 
 import java.util.List;
@@ -18,15 +18,15 @@ public class TimeBase {
 
     public String getStartTime() {
         if(timeList != null && timeList.size() >1){
-            return Dateutils.getStartTime(timeList.get(0));
+            return DateUtils.getStartTime(timeList.get(0));
         }
-        return Dateutils.getStartTime(startTime);
+        return DateUtils.getStartTime(startTime);
     }
 
     public String getEndTime() {
         if(timeList != null && timeList.size() >1){
-            return Dateutils.getEndTime(timeList.get(1));
+            return DateUtils.getEndTime(timeList.get(1));
         }
-        return Dateutils.getEndTime(endTime);
+        return DateUtils.getEndTime(endTime);
     }
 }

+ 50 - 0
src/main/java/com/fdkankan/agent/request/UserIncrementParam.java

@@ -0,0 +1,50 @@
+package com.fdkankan.agent.request;
+
+import lombok.Data;
+
+@Data
+public class UserIncrementParam {
+    private Long id;
+    private Long userId;
+    private Integer year = 1;
+    private Integer count = 1;
+    private String incrementEndTime;
+    private Integer incrementTypeId;
+
+    private Integer monthQy;
+
+    /**
+     * 0看看,看见,1深时
+     */
+    private Integer downType;
+
+    /**
+     * 客户名称
+     */
+    private String customerName;
+
+    /**
+     * 客户类别0直销,1经销
+     */
+    private Integer customerType;
+
+    /**
+     * 终端客户
+     */
+    private String endCustomer;
+
+    /**
+     * 使用类型
+     */
+    private Integer useType;
+
+    /**
+     * 项目号
+     */
+    private String projectNum;
+
+    /**
+     * 备注
+     */
+    private String remark;
+}

+ 1 - 0
src/main/java/com/fdkankan/agent/response/CameraDetailVo.java

@@ -23,4 +23,5 @@ public class CameraDetailVo {
     private Integer incrementStatus =-1;
     private Integer validTimeType;
 
+    private String subAgentName;
 }

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

@@ -32,6 +32,9 @@ public class LogListVo {
     @ExcelProperty("邮箱")
     private String email;
 
+    @ExcelProperty("授权人")
+    private String agentName;
+
     @ExcelProperty("授权数量")
     private Integer count;
 

+ 25 - 0
src/main/java/com/fdkankan/agent/service/IAgentNewCameraService.java

@@ -0,0 +1,25 @@
+package com.fdkankan.agent.service;
+
+import com.fdkankan.agent.entity.AgentNewCamera;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.agent.request.CameraParam;
+
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 
+ * @since 2024-06-18
+ */
+public interface IAgentNewCameraService extends IService<AgentNewCamera> {
+
+    void giveCamera(CameraParam param, Integer id);
+
+    List<Long> getBySubAgent(Integer subAgentId);
+
+    HashMap<Long, AgentNewCamera> getMapByCameraIds(List<Long> voCameraIds);
+}

+ 3 - 1
src/main/java/com/fdkankan/agent/service/IAgentNewLogService.java

@@ -1,6 +1,7 @@
 package com.fdkankan.agent.service;
 
 import com.fdkankan.agent.common.PageInfo;
+import com.fdkankan.agent.entity.AgentNew;
 import com.fdkankan.agent.entity.AgentNewLog;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.fdkankan.agent.request.DownParam;
@@ -11,6 +12,7 @@ import com.fdkankan.agent.response.LogDataVo;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.util.HashMap;
 
 /**
  * <p>
@@ -26,7 +28,7 @@ public interface IAgentNewLogService extends IService<AgentNewLog> {
 
     void addDown(IncrementParam param, AgentNewVo agent);
 
-    LogDataVo getLogDataM(Integer agentId);
+    HashMap<String,LogDataVo> getLogDataM(AgentNew agentNew);
 
     PageInfo pageUnList(LogListParam param);
 

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

@@ -3,8 +3,13 @@ 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.request.AgentAddIncrementParam;
+import com.fdkankan.agent.request.AgentParam;
 import com.fdkankan.agent.response.AgentNewVo;
 
+import java.util.HashMap;
+import java.util.List;
+
 /**
  * <p>
  *  服务类
@@ -18,4 +23,16 @@ public interface IAgentNewService extends IService<AgentNew> {
     AgentNewVo getByUserName(String phoneNum);
 
     void subNum(AgentNewVo agentNewVo,Long userId, IncrementType incrementType, Integer count,Integer totalTime,Integer addType);
+
+    Object pageList(AgentParam param);
+
+    AgentNew getByName(String trim);
+
+    void checkUserName(String userName);
+
+    void addIncrementNum(AgentAddIncrementParam param);
+
+    List<AgentNew> getBySubAgent(Integer agentId);
+
+    HashMap<Integer, AgentNew> getMapByIds(List<Integer> subAgentIds);
 }

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

@@ -4,7 +4,9 @@ import com.fdkankan.agent.entity.UserIncrement;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.fdkankan.agent.request.CameraParam;
 import com.fdkankan.agent.request.IncrementParam;
+import com.fdkankan.agent.request.UserIncrementParam;
 import com.fdkankan.agent.response.AgentNewVo;
+import org.joda.time.DateTime;
 
 import java.util.HashMap;
 import java.util.List;
@@ -30,4 +32,6 @@ public interface IUserIncrementService extends IService<UserIncrement> {
     HashMap<Long, UserIncrement> getByCameraIds(List<Long> cameraIds);
 
     List<Long> getByAgentId(CameraParam param);
+
+    DateTime getAddUserIncrementTime(UserIncrementParam param);
 }

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

@@ -32,13 +32,13 @@ public class LoginService {
     public ResultData login(FdkkLoginRequest param) {
         try {
             this.checkLoginNum(param.getIp(),param.getPhoneNum());
+            AgentNewVo agentNewVo = iAgentNewService.getByUserName(param.getPhoneNum());
+            if(agentNewVo == null || agentNewVo.getStatus() == 1){
+                this.addLoginErrorNum(param.getIp(),param.getPhoneNum());
+                throw new BusinessException(ResultCode.AGENT_USER_EMPTY);
+            }
             FdkkResponse<FdkkLoginVo> fdkkLoginVo = fdKKClient.fdkkLogin(param);
             if(fdkkLoginVo.getCode() == 0){
-                AgentNewVo agentNewVo = iAgentNewService.getByUserName(param.getPhoneNum());
-                if(agentNewVo == null){
-                    this.addLoginErrorNum(param.getIp(),param.getPhoneNum());
-                    throw new BusinessException(ResultCode.AGENT_USER_EMPTY);
-                }
                 fdkkLoginVo.getData().setAgent(agentNewVo);
                 return ResultData.ok(fdkkLoginVo.getData());
             }

+ 72 - 0
src/main/java/com/fdkankan/agent/service/impl/AgentNewCameraServiceImpl.java

@@ -0,0 +1,72 @@
+package com.fdkankan.agent.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.fdkankan.agent.common.ResultCode;
+import com.fdkankan.agent.entity.AgentNewCamera;
+import com.fdkankan.agent.exception.BusinessException;
+import com.fdkankan.agent.mapper.IAgentNewCameraMapper;
+import com.fdkankan.agent.request.CameraParam;
+import com.fdkankan.agent.service.IAgentNewCameraService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2024-06-18
+ */
+@Service
+public class AgentNewCameraServiceImpl extends ServiceImpl<IAgentNewCameraMapper, AgentNewCamera> implements IAgentNewCameraService {
+
+    @Override
+    public void giveCamera(CameraParam param, Integer id) {
+        if(param.getId() == null || param.getAgentId() == null){
+            throw new BusinessException(ResultCode.PARAM_MISS);
+        }
+        List<AgentNewCamera> agentNewCameras = this.getByCameraId(param.getId());
+        if(!agentNewCameras.isEmpty()){
+            throw new BusinessException(ResultCode.CAMERA_IS_GIVE);
+        }
+
+        AgentNewCamera agentNewCamera = new AgentNewCamera();
+        agentNewCamera.setCameraId(param.getId());
+        agentNewCamera.setAgentId(id);
+        agentNewCamera.setSubAgentId(param.getAgentId());
+        this.save(agentNewCamera);
+
+    }
+
+    private List<AgentNewCamera> getByCameraId(Long cameraId) {
+        LambdaQueryWrapper<AgentNewCamera> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(AgentNewCamera::getCameraId,cameraId);
+        return this.list(wrapper);
+    }
+
+    @Override
+    public List<Long> getBySubAgent(Integer subAgentId) {
+        LambdaQueryWrapper<AgentNewCamera> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(AgentNewCamera::getSubAgentId,subAgentId);
+        List<AgentNewCamera> list = this.list(wrapper);
+        return list.stream().map(AgentNewCamera::getCameraId).collect(Collectors.toList());
+    }
+
+    @Override
+    public HashMap<Long, AgentNewCamera> getMapByCameraIds(List<Long> voCameraIds) {
+        HashMap<Long, AgentNewCamera> map = new HashMap<>();
+        if(voCameraIds.isEmpty()){
+            return map;
+        }
+        LambdaQueryWrapper<AgentNewCamera> wrapper = new LambdaQueryWrapper<>();
+        wrapper.in(AgentNewCamera::getCameraId,voCameraIds);
+        List<AgentNewCamera> list = this.list(wrapper);
+        list.forEach(e -> map.put(e.getCameraId(),e));
+        return map;
+    }
+}

+ 44 - 7
src/main/java/com/fdkankan/agent/service/impl/AgentNewLogServiceImpl.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 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.AgentNew;
 import com.fdkankan.agent.entity.AgentNewLog;
 import com.fdkankan.agent.entity.User;
 import com.fdkankan.agent.exception.BusinessException;
@@ -25,10 +26,8 @@ import org.springframework.stereotype.Service;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.UUID;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -81,8 +80,26 @@ public class AgentNewLogServiceImpl extends ServiceImpl<IAgentNewLogMapper, Agen
     }
 
     @Override
-    public LogDataVo getLogDataM(Integer agentId) {
-        List<AgentNewLog> logDataM = this.getBaseMapper().getLogDataM(agentId);
+    public  HashMap<String,LogDataVo> getLogDataM(AgentNew agentNew) {
+        HashMap<String,LogDataVo> map = new HashMap<>();
+
+        if(agentNew.getParentId() == null){
+            List<AgentNew> bySubAgent = agentNewService.getBySubAgent(agentNew.getId());
+            List<Integer> agentIds  = bySubAgent.stream().map(AgentNew::getId).collect(Collectors.toList());
+            LogDataVo logDataVo = getLogDataVo(Arrays.asList(agentNew.getId()));
+            LogDataVo logDataVo2 = getLogDataVo(agentIds);
+            map.put("agentData",logDataVo);
+            map.put("subAgentData",logDataVo2);
+        }else {
+            LogDataVo logDataVo = getLogDataVo(Arrays.asList(agentNew.getId()));
+            map.put("agentData",logDataVo);
+            map.put("subAgentData",null);
+        }
+        return map;
+    }
+
+    private LogDataVo getLogDataVo(List<Integer> agentIds){
+        List<AgentNewLog> logDataM = this.getBaseMapper().getLogDataM(agentIds);
         LogDataVo logDataVo = new LogDataVo();
         for (AgentNewLog log : logDataM) {
             switch (log.getType()){
@@ -98,8 +115,22 @@ public class AgentNewLogServiceImpl extends ServiceImpl<IAgentNewLogMapper, Agen
     @Override
     public PageInfo pageUnList(LogListParam param) {
         logListParam = param;
+
+        List<Integer> agentIds  = new ArrayList<>();
+        agentIds.add(param.getAgentId());
+        if(param.getAgentNew().getParentId() == null){
+            List<AgentNew> bySubAgent = agentNewService.getBySubAgent(param.getAgentNew().getId());
+            agentIds.addAll( bySubAgent.stream().map(AgentNew::getId).collect(Collectors.toList()));
+        }
+        if(agentIds.isEmpty()){
+            return PageInfo.PageInfo(new Page(param.getPageNum(),param.getPageSize()));
+        }
+        if(param.getSubAgentId() != null){
+            agentIds = Arrays.asList(param.getSubAgentId());
+        }
+
         LambdaQueryWrapper<AgentNewLog> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(AgentNewLog::getAgentId,param.getAgentId());
+        wrapper.in(AgentNewLog::getAgentId,agentIds);
         if(param.getType()!=null){
             wrapper.eq(AgentNewLog::getType,param.getType());
         }
@@ -111,6 +142,8 @@ public class AgentNewLogServiceImpl extends ServiceImpl<IAgentNewLogMapper, Agen
         }
         wrapper.orderByDesc(AgentNewLog::getCreateTime);
         Page<AgentNewLog> page = this.page(new Page<>(param.getPageNum(), param.getPageSize()), wrapper);
+        List<Integer> voAgentIds = page.getRecords().stream().map(AgentNewLog::getAgentId).collect(Collectors.toList());
+        HashMap<Integer, AgentNew> mapByIds = agentNewService.getMapByIds(voAgentIds);
         List<LogListVo> vos = new ArrayList<>();
         for (AgentNewLog record : page.getRecords()) {
             LogListVo vo = new LogListVo();
@@ -122,6 +155,10 @@ public class AgentNewLogServiceImpl extends ServiceImpl<IAgentNewLogMapper, Agen
                 vo.setUserName(user.getUserName());
                 vo.setEmail(user.getEmail());
             }
+            AgentNew agentNew = mapByIds.get(record.getAgentId());
+            if(agentNew != null){
+                vo.setAgentName(agentNew.getName());
+            }
             vos.add(vo);
         }
 

+ 131 - 3
src/main/java/com/fdkankan/agent/service/impl/AgentNewServiceImpl.java

@@ -1,23 +1,29 @@
 package com.fdkankan.agent.service.impl;
-import java.util.Date;
+import java.util.*;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+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.AgentNew;
 import com.fdkankan.agent.entity.AgentNewLog;
 import com.fdkankan.agent.entity.IncrementType;
+import com.fdkankan.agent.exception.BusinessException;
 import com.fdkankan.agent.mapper.IAgentNewMapper;
+import com.fdkankan.agent.request.AgentAddIncrementParam;
+import com.fdkankan.agent.request.AgentParam;
 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.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
-import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -87,4 +93,126 @@ public class AgentNewServiceImpl extends ServiceImpl<IAgentNewMapper, AgentNew>
         this.update(wrapper);
         agentNewLogService.save(agentNewLog);
     }
+
+
+    @Override
+    public Object pageList(AgentParam param) {
+        if(param.getAgentId() == null){
+            throw new BusinessException(ResultCode.USER_NOT_EXIST);
+        }
+        LambdaQueryWrapper<AgentNew> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(AgentNew::getParentId,param.getAgentId());
+        if(StringUtils.isNotBlank(param.getAgentName())){
+            wrapper.like(AgentNew::getUserName,param.getAgentName());
+        }
+        Page<AgentNew> page = this.page(new Page<>(param.getPageNum(), param.getPageSize()), wrapper);
+        Set<Integer> ids = page.getRecords().stream().map(AgentNew::getSysUserId).collect(Collectors.toSet());
+        List<AgentNew> agentNews = this.listByIds(ids);
+        HashMap<Integer,AgentNew> map = new HashMap<>();
+        agentNews.forEach(e-> map.put(e.getId(),e));
+
+        for (AgentNew record : page.getRecords()) {
+            AgentNew agentNew = map.get(record.getSysUserId());
+            if(agentNew != null){
+                record.setCreateName(agentNew.getName());
+            }
+        }
+        return PageInfo.PageInfo(page);
+    }
+
+    @Override
+    public AgentNew getByName(String agentName) {
+        LambdaQueryWrapper<AgentNew> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(AgentNew::getName, agentName);
+        List<AgentNew> list = this.list(wrapper);
+        if(list == null || list.size() != 1) {
+            return null;
+        }
+        return list.get(0);
+    }
+
+    @Override
+    public void checkUserName(String userName) {
+        LambdaQueryWrapper<AgentNew> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(AgentNew::getUserName,userName);
+        List<AgentNew> list = this.list(wrapper);
+        if(list !=null && list.size() >0){
+            throw new BusinessException(ResultCode.AGENT_U_NOT_EMPTY);
+        }
+
+    }
+
+
+    @Override
+    public void addIncrementNum(AgentAddIncrementParam param) {
+        if(param.getId() == null ){
+            throw new BusinessException(ResultCode.PARAM_MISS);
+        }
+        AgentNew agentParent = this.getById(param.getAgentId());
+        if(agentParent == null){
+            throw new BusinessException(ResultCode.AGENT_NEW_EMPTY);
+        }
+        AgentNew agentNew = this.getById(param.getId());
+        if(agentNew == null){
+            throw new BusinessException(ResultCode.AGENT_NEW_EMPTY);
+        }
+        if(!agentNew.getParentId().equals(param.getAgentId())){
+            throw new BusinessException(ResultCode.NOT_PER);
+        }
+        if(param.getDownAddNum() <=0 && param.getMajorAddNum() <=0 && param.getHighAddNum() <=0  ){
+            return;
+        }
+        int majorNum = agentParent.getMajorTotalNum() - agentParent.getMajorUseNum();
+        int highNum = agentParent.getHighTotalNum() - agentParent.getHighUseNum();
+        int downNum = agentParent.getDownTotalNum() - agentParent.getDownUseNum();
+
+        if(param.getMajorAddNum() > majorNum || param.getHighAddNum() > highNum || param.getDownAddNum() > downNum){
+            throw new BusinessException(ResultCode.NUM_NOT);
+        }
+
+        LambdaUpdateWrapper<AgentNew> wrapper = new LambdaUpdateWrapper<>();
+        wrapper.eq(AgentNew::getId,param.getId());
+        if( param.getDownAddNum() >0){
+            wrapper.setSql("down_total_num = down_total_num + " + param.getDownAddNum());
+        }
+        if(param.getHighAddNum() >0){
+            wrapper.setSql("high_total_num = high_total_num + " + param.getHighAddNum());
+        }
+        if( param.getMajorAddNum() >0){
+            wrapper.setSql("major_total_num = major_total_num + " + param.getMajorAddNum());
+        }
+        this.update(wrapper);
+
+        LambdaUpdateWrapper<AgentNew> wrapperParent = new LambdaUpdateWrapper<>();
+        wrapperParent.eq(AgentNew::getId,param.getAgentId());
+        if(param.getDownAddNum() >0){
+            wrapperParent.setSql("down_use_num = down_use_num + " + param.getDownAddNum());
+        }
+        if(param.getHighAddNum() >0){
+            wrapperParent.setSql("high_use_num = high_use_num + " + param.getHighAddNum());
+        }
+        if(param.getMajorAddNum() >0){
+            wrapperParent.setSql("major_use_num = major_use_num + " + param.getMajorAddNum());
+        }
+        this.update(wrapperParent);
+
+    }
+
+    @Override
+    public List<AgentNew> getBySubAgent(Integer agentId) {
+        LambdaQueryWrapper<AgentNew> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(AgentNew::getParentId,agentId);
+        return this.list(wrapper);
+    }
+
+    @Override
+    public HashMap<Integer, AgentNew> getMapByIds(List<Integer> subAgentIds) {
+        HashMap<Integer, AgentNew> map = new HashMap<>();
+        if(subAgentIds.isEmpty()){
+            return map;
+        }
+        List<AgentNew> list = this.listByIds(subAgentIds);
+        list.forEach(e -> map.put(e.getId(),e));
+        return map;
+    }
 }

+ 31 - 6
src/main/java/com/fdkankan/agent/service/impl/CameraServiceImpl.java

@@ -4,16 +4,12 @@ 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.util.IncrementUtil;
-import com.fdkankan.agent.entity.Camera;
-import com.fdkankan.agent.entity.IncrementType;
-import com.fdkankan.agent.entity.UserIncrement;
+import com.fdkankan.agent.entity.*;
 import com.fdkankan.agent.mapper.ICameraMapper;
 import com.fdkankan.agent.request.CameraParam;
 import com.fdkankan.agent.response.CameraDetailVo;
-import com.fdkankan.agent.service.ICameraService;
+import com.fdkankan.agent.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.fdkankan.agent.service.IIncrementTypeService;
-import com.fdkankan.agent.service.IUserIncrementService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -37,9 +33,18 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
     IIncrementTypeService incrementTypeService;
     @Autowired
     IUserIncrementService userIncrementService;
+    @Autowired
+    IAgentNewService agentNewService;
+    @Autowired
+    IAgentNewCameraService agentNewCameraService;
 
     @Override
     public Object pageList(CameraParam param) {
+        if(param.getAgentNew().getParentId() != null){ //分销商
+            AgentNew agentNew = agentNewService.getById(param.getAgentNew().getParentId());
+            param.setSubAgentId(param.getAgentId());
+            param.setAgentId(agentNew.getId());
+        }
         if(param.getIncrementStatus() != null){
             List<Long> cameraIds = userIncrementService.getByAgentId(param);
             param.setCameraIds(cameraIds);
@@ -51,6 +56,13 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
         if(param.getCameraIds() != null && param.getCameraIds().isEmpty()){
             return PageInfo.PageInfo(new Page(param.getPageNum(),param.getPageSize()));
         }
+        if(param.getSubAgentId() != null){ //指定分销商查询
+            List<Long> subCameraIds = agentNewCameraService.getBySubAgent(param.getSubAgentId());
+            if(subCameraIds.isEmpty()){
+                return PageInfo.PageInfo(new Page(param.getPageNum(),param.getPageSize()));
+            }
+            param.setCameraIds(subCameraIds);
+        }
 
         Page<CameraDetailVo> voPage = this.getBaseMapper().pageList(new Page<>(param.getPageNum(),param.getPageSize()),param);
         List<Long> cameraIds = voPage.getRecords().stream().map(CameraDetailVo::getId).collect(Collectors.toList());
@@ -59,6 +71,12 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
         Set<Integer> incrementTypeIds = userIncrementHashMap.values().stream().map(UserIncrement::getIncrementTypeId).collect(Collectors.toSet());
         HashMap<Integer, IncrementType> typeMap = incrementTypeService.getMapByIds(incrementTypeIds);
 
+        List<Long> voCameraIds = voPage.getRecords().stream().map(CameraDetailVo::getId).collect(Collectors.toList());
+
+        HashMap<Long, AgentNewCamera> map = agentNewCameraService.getMapByCameraIds(voCameraIds);
+        List<Integer> subAgentIds = map.values().stream().map(AgentNewCamera::getSubAgentId).collect(Collectors.toList());
+        HashMap<Integer,AgentNew> agentMap = agentNewService.getMapByIds(subAgentIds);
+
         for (CameraDetailVo record : voPage.getRecords()) {
             UserIncrement userIncrement = userIncrementHashMap.get(record.getId());
             if(userIncrement != null){
@@ -69,6 +87,13 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
                     record.setValidTimeType(incrementType.getValidTimeType());
                 }
             }
+            AgentNewCamera agentNewCamera = map.get(record.getId());
+            if(agentNewCamera != null){
+                AgentNew agentNew = agentMap.get(agentNewCamera.getSubAgentId());
+                if(agentNew != null){
+                    record.setSubAgentName(agentNew.getName());
+                }
+            }
         }
 
         return PageInfo.PageInfo(voPage);

+ 2 - 5
src/main/java/com/fdkankan/agent/service/impl/DownloadOrderMgServiceImpl.java

@@ -1,15 +1,12 @@
 package com.fdkankan.agent.service.impl;
-import java.math.BigDecimal;
-import java.util.Date;
 
-import com.fdkankan.agent.entity.AgentNew;
 import com.fdkankan.agent.entity.DownloadOrderMg;
 import com.fdkankan.agent.entity.User;
 import com.fdkankan.agent.mapper.IDownloadOrderMgMapper;
 import com.fdkankan.agent.response.AgentNewVo;
 import com.fdkankan.agent.service.IDownloadOrderMgService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.fdkankan.agent.util.Dateutils;
+import com.fdkankan.agent.util.DateUtils;
 import org.springframework.stereotype.Service;
 
 /**
@@ -26,7 +23,7 @@ public class DownloadOrderMgServiceImpl extends ServiceImpl<IDownloadOrderMgMapp
     @Override
     public void addOrder(User user, Integer count, AgentNewVo agent) {
         DownloadOrderMg orderMg = new DownloadOrderMg();
-        orderMg.setOrderSn(Dateutils.getOrderSn());
+        orderMg.setOrderSn(DateUtils.getOrderSn());
         orderMg.setPayStatus(1);
         orderMg.setUserId(user.getId());
         orderMg.setCount(count);

+ 2 - 4
src/main/java/com/fdkankan/agent/service/impl/IncrementOrderMgServiceImpl.java

@@ -1,6 +1,4 @@
 package com.fdkankan.agent.service.impl;
-import java.math.BigDecimal;
-import java.util.Date;
 
 import com.fdkankan.agent.entity.IncrementOrderMg;
 import com.fdkankan.agent.entity.User;
@@ -9,7 +7,7 @@ import com.fdkankan.agent.request.IncrementParam;
 import com.fdkankan.agent.response.AgentNewVo;
 import com.fdkankan.agent.service.IIncrementOrderMgService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.fdkankan.agent.util.Dateutils;
+import com.fdkankan.agent.util.DateUtils;
 import org.springframework.stereotype.Service;
 
 /**
@@ -25,7 +23,7 @@ public class IncrementOrderMgServiceImpl extends ServiceImpl<IIncrementOrderMgMa
     @Override
     public IncrementOrderMg addOrder(User user, IncrementParam param, AgentNewVo agentNewVo) {
         IncrementOrderMg orderMg = new IncrementOrderMg();
-        orderMg.setOrderSn(Dateutils.getOrderSn());
+        orderMg.setOrderSn(DateUtils.getOrderSn());
         orderMg.setPayStatus(1);
         orderMg.setUserId(user.getId());
         orderMg.setIncrementId(param.getId());

+ 21 - 2
src/main/java/com/fdkankan/agent/service/impl/SceneProServiceImpl.java

@@ -71,9 +71,17 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
     ISceneCopyLogService sceneCopyLogService;
     @Autowired
     IUserService userService;
+    @Autowired
+    IAgentNewService agentNewService;
+    @Autowired
+    IAgentNewCameraService agentNewCameraService;
 
     @Override
     public Object pageList(SceneParam param) {
+        if(param.getAgentId() == null){
+            throw new BusinessException(ResultCode.PARAM_MISS);
+        }
+
         if(param.getType() == 3){ //双目lite
             return sceneService.pageList(param);
         }
@@ -90,9 +98,13 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
             List<Long> userIds = userList.stream().map(User::getId).collect(Collectors.toList());
             param.setUserIds(userIds);
         }
-        if(param.getAgentId() == null){
-           throw new BusinessException(ResultCode.PARAM_MISS);
+
+        if(param.getAgentNew().getParentId() != null){ //分销商
+            AgentNew agentNew = agentNewService.getById(param.getAgentNew().getParentId());
+            param.setSubAgentId(param.getAgentId());
+            param.setAgentId(agentNew.getId());
         }
+
         List<CameraDetail> details = cameraDetailService.getListByAgentId(param.getAgentId());
         List<Long> cameraIds = details.stream().map(CameraDetail::getCameraId).collect(Collectors.toList());
         if(param.getCameraIds() == null ){
@@ -107,6 +119,13 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         if((param.getCameraIds() != null && param.getCameraIds().size()<=0) || (param.getUserIds() != null && param.getUserIds().size()<=0)){
             return PageInfo.PageInfo(new Page(param.getPageNum(),param.getPageSize()));
         }
+        if(param.getSubAgentId() != null){ //指定分销商查询
+            List<Long> subCameraIds = agentNewCameraService.getBySubAgent(param.getSubAgentId());
+            if(subCameraIds.isEmpty()){
+                return PageInfo.PageInfo(new Page(param.getPageNum(),param.getPageSize()));
+            }
+            param.setCameraIds(subCameraIds);
+        }
 
         Page<SceneVo> page = this.getBaseMapper().pageList(new Page<>(param.getPageNum(),param.getPageSize()),param);
         List<SceneVo> records = page.getRecords();

+ 20 - 1
src/main/java/com/fdkankan/agent/service/impl/UserIncrementServiceImpl.java

@@ -14,12 +14,15 @@ import com.fdkankan.agent.exception.BusinessException;
 import com.fdkankan.agent.mapper.IUserIncrementMapper;
 import com.fdkankan.agent.request.CameraParam;
 import com.fdkankan.agent.request.IncrementParam;
+import com.fdkankan.agent.request.UserIncrementParam;
 import com.fdkankan.agent.response.AgentNewVo;
 import com.fdkankan.agent.response.UserIncrementVo;
 import com.fdkankan.agent.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.agent.util.DateUtils;
 import com.fdkankan.common.util.DateUtil;
 import org.apache.commons.lang3.StringUtils;
+import org.joda.time.DateTime;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
@@ -170,7 +173,8 @@ public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper,
         IncrementOrderMg orderMg = incrementOrderMgService.addOrder(user, param, agentNewVo);
 
         userIncrement.setIsExpired(0);
-        userIncrement.setIncrementEndTime(param.getIncrementEndTime());
+        DateTime dateTime = this.getDateTime(incrementType, userIncrement.getId(), param.getCount());
+        userIncrement.setIncrementEndTime(DateUtil.date2String(dateTime.toDate(),"yyyy-MM-dd HH:mm:ss"));
         userIncrement.setUpdateTime(null);
         userIncrement.setOrderSn(userIncrement.getOrderSn() +","+orderMg.getOrderSn());
         this.updateById(userIncrement);
@@ -201,4 +205,19 @@ public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper,
     public List<Long> getByAgentId(CameraParam param) {
         return this.getBaseMapper().getByAgentId(param.getAgentId(),param.getIncrementStatus(),param.getIncrementTypeId());
     }
+
+    @Override
+    public DateTime getAddUserIncrementTime(UserIncrementParam param) {
+        IncrementType incrementType = incrementTypeService.getById(param.getIncrementTypeId());
+        return this.getDateTime(incrementType,param.getId(),param.getCount());
+    }
+
+    public DateTime getDateTime(IncrementType incrementType, Long userIncrementId, Integer count) {
+        Date userTime = new Date();
+        if(userIncrementId != null){
+            UserIncrement userIncrement = this.getById(userIncrementId);
+            userTime = DateUtils.getDate(userIncrement.getIncrementEndTime());
+        }
+        return  DateUtils.getDateTime(userTime, incrementType,count);
+    }
 }

+ 21 - 3
src/main/java/com/fdkankan/agent/util/Dateutils.java

@@ -1,6 +1,8 @@
 package com.fdkankan.agent.util;
 
+import com.fdkankan.agent.entity.IncrementType;
 import org.apache.commons.lang3.StringUtils;
+import org.joda.time.DateTime;
 
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
@@ -8,7 +10,7 @@ import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
 
-public class Dateutils {
+public class DateUtils {
 
     public static int  DAY =  Calendar.DAY_OF_MONTH;
     public static int  WEEK =  Calendar.WEEK_OF_MONTH;
@@ -117,7 +119,7 @@ public class Dateutils {
 
     public static String formatStartTime(String startTime) {
         if(StringUtils.isBlank(startTime)){
-            startTime = Dateutils.getHalfYearStr();
+            startTime = DateUtils.getHalfYearStr();
         }
         if(startTime.length() <12){  //月,开始时间到1号 0点
             startTime +=  " 00:00:00";
@@ -126,7 +128,7 @@ public class Dateutils {
     }
     public static String formatEndTime(String endTime) {
         if(StringUtils.isBlank(endTime)){
-            endTime = Dateutils.getDate(new Date());
+            endTime = DateUtils.getDate(new Date());
         }
         if(endTime.length() <12 ){  //月,开始时间到1号 0点
             endTime +=  " 23:59:59";
@@ -165,4 +167,20 @@ public class Dateutils {
         Date date = new Date();
         return simpleDateFormat.format(date);
     }
+
+    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() * count);
+            case 1 : return dateTime.plusMonths(incrementType.getValidTime() * count);
+            case 2 : return dateTime.plusDays(incrementType.getValidTime() * count);
+            default: return dateTime;
+        }
+    }
 }

+ 5 - 0
src/main/resources/mapper/agent/AgentNewCameraMapper.xml

@@ -0,0 +1,5 @@
+<?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.IAgentNewCameraMapper">
+
+</mapper>

+ 5 - 2
src/main/resources/mapper/agent/AgentNewLogMapper.xml

@@ -15,8 +15,11 @@
     </select>
     <select id="getLogDataM" resultType="com.fdkankan.agent.entity.AgentNewLog">
         SELECT *
-        FROM t_agent_new_log WHERE agent_id =#{agentId} and PERIOD_DIFF( date_format( now( ) , '%Y%m' ) , date_format( create_time, '%Y%m' ) ) =1
-
+        FROM t_agent_new_log WHERE agent_id in
+        <foreach collection="agentIds" item="agentId" open="(" separator="," close=")">
+            #{agentId}
+        </foreach>
+        and PERIOD_DIFF( date_format( now( ) , '%Y%m' ) , date_format( create_time, '%Y%m' ) ) =1
     </select>
 
 </mapper>