lyhzzz 5 月之前
父节点
当前提交
3f4719c53b
共有 40 个文件被更改,包括 717 次插入6 次删除
  1. 19 0
      doc/update-1.3.1.sql
  2. 55 0
      src/main/java/com/fdkankan/agent/controller/AgentAuthorizeModelingController.java
  3. 7 1
      src/main/java/com/fdkankan/agent/controller/AgentNewController.java
  4. 44 0
      src/main/java/com/fdkankan/agent/controller/UserController.java
  5. 105 0
      src/main/java/com/fdkankan/agent/entity/AgentAuthorizeModeling.java
  6. 2 0
      src/main/java/com/fdkankan/agent/entity/User.java
  7. 1 1
      src/main/java/com/fdkankan/agent/generate/AutoGenerate.java
  8. 18 0
      src/main/java/com/fdkankan/agent/mapper/IAgentAuthorizeModelingMapper.java
  9. 5 0
      src/main/java/com/fdkankan/agent/mapper/ICameraDetailMapper.java
  10. 6 0
      src/main/java/com/fdkankan/agent/mapper/ISceneMapper.java
  11. 8 0
      src/main/java/com/fdkankan/agent/mapper/IScenePlusMapper.java
  12. 6 0
      src/main/java/com/fdkankan/agent/mapper/ISceneProMapper.java
  13. 3 0
      src/main/java/com/fdkankan/agent/mapper/IUserIncrementMapper.java
  14. 35 0
      src/main/java/com/fdkankan/agent/request/AuthorizeParam.java
  15. 16 0
      src/main/java/com/fdkankan/agent/request/UserParam.java
  16. 9 0
      src/main/java/com/fdkankan/agent/response/CameraTimeVo.java
  17. 9 0
      src/main/java/com/fdkankan/agent/response/GroupByCount.java
  18. 22 0
      src/main/java/com/fdkankan/agent/response/UserVo.java
  19. 20 0
      src/main/java/com/fdkankan/agent/service/IAgentAuthorizeModelingService.java
  20. 3 0
      src/main/java/com/fdkankan/agent/service/IAgentNewService.java
  21. 3 0
      src/main/java/com/fdkankan/agent/service/ICameraDetailService.java
  22. 10 0
      src/main/java/com/fdkankan/agent/service/IScenePlusService.java
  23. 5 0
      src/main/java/com/fdkankan/agent/service/ISceneProService.java
  24. 5 0
      src/main/java/com/fdkankan/agent/service/ISceneService.java
  25. 2 0
      src/main/java/com/fdkankan/agent/service/IUserIncrementService.java
  26. 6 0
      src/main/java/com/fdkankan/agent/service/IUserService.java
  27. 74 0
      src/main/java/com/fdkankan/agent/service/impl/AgentAuthorizeModelingServiceImpl.java
  28. 10 0
      src/main/java/com/fdkankan/agent/service/impl/CameraDetailServiceImpl.java
  29. 12 0
      src/main/java/com/fdkankan/agent/service/impl/CameraServiceImpl.java
  30. 28 0
      src/main/java/com/fdkankan/agent/service/impl/ScenePlusServiceImpl.java
  31. 10 0
      src/main/java/com/fdkankan/agent/service/impl/SceneProServiceImpl.java
  32. 12 0
      src/main/java/com/fdkankan/agent/service/impl/SceneServiceImpl.java
  33. 10 0
      src/main/java/com/fdkankan/agent/service/impl/UserIncrementServiceImpl.java
  34. 76 3
      src/main/java/com/fdkankan/agent/service/impl/UserServiceImpl.java
  35. 1 1
      src/main/resources/mapper/ucenter/AgentNewMapper.xml
  36. 7 0
      src/main/resources/mapper/agent/CameraDetailMapper.xml
  37. 8 0
      src/main/resources/mapper/agent/SceneMapper.xml
  38. 26 0
      src/main/resources/mapper/agent/ScenePlusMapper.xml
  39. 9 0
      src/main/resources/mapper/agent/SceneProMapper.xml
  40. 10 0
      src/main/resources/mapper/agent/UserIncrementMapper.xml

+ 19 - 0
doc/update-1.3.1.sql

@@ -0,0 +1,19 @@
+ALTER TABLE `4dkankan_v4`.`t_user`
+    ADD COLUMN `agent_key` varchar(255) NULL DEFAULT NULL AFTER `ss_download_num`;
+
+CREATE TABLE `t_agent_authorize_modeling` (
+                                              `id` int NOT NULL AUTO_INCREMENT COMMENT '本地算法授权',
+                                              `customer_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '客户名称',
+                                              `customer_type` int DEFAULT NULL COMMENT '客户类别0直销,1经销',
+                                              `end_customer` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '终端客户',
+                                              `use_type` int DEFAULT NULL COMMENT '使用类型',
+                                              `remark` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '备注',
+                                              `authorize_key` text COMMENT '授权key',
+                                              `authorize_start_time` varchar(255) DEFAULT NULL COMMENT '授权期限',
+                                              `authorize_end_time` varchar(255) DEFAULT NULL,
+                                              `agent_id` int DEFAULT NULL COMMENT '创建人',
+                                              `rec_status` varchar(255) DEFAULT 'A',
+                                              `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
+                                              `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+                                              PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

+ 55 - 0
src/main/java/com/fdkankan/agent/controller/AgentAuthorizeModelingController.java

@@ -0,0 +1,55 @@
+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.entity.AgentAuthorizeModeling;
+import com.fdkankan.agent.exception.BusinessException;
+import com.fdkankan.agent.mapper.IAgentAuthorizeModelingMapper;
+import com.fdkankan.agent.request.AuthorizeParam;
+import com.fdkankan.agent.service.IAgentAuthorizeModelingService;
+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;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2025-03-17
+ */
+@RestController
+@RequestMapping("/agent/authorizeModeling")
+public class AgentAuthorizeModelingController extends BaseController {
+
+
+    @Autowired
+    IAgentAuthorizeModelingService authorizeModelingService;
+
+    @PostMapping("/list")
+    public ResultData list(@RequestBody AuthorizeParam param){
+        param.setAgentId(getAgent().getId());
+        return ResultData.ok(authorizeModelingService.pageList(param));
+    }
+
+    @PostMapping("/addOrUpdate")
+    public ResultData addOrUpdate(@RequestBody AgentAuthorizeModeling param){
+        return ResultData.ok( authorizeModelingService.addOrUpdate(param));
+    }
+
+    @PostMapping("/delete")
+    public ResultData delete(@RequestBody AgentAuthorizeModeling param){
+        if(param.getId() == null){
+            throw new BusinessException(ResultCode.PARAM_MISS);
+        }
+        authorizeModelingService.removeById(param.getId());
+        return ResultData.ok();
+    }
+}
+

+ 7 - 1
src/main/java/com/fdkankan/agent/controller/AgentNewController.java

@@ -69,7 +69,7 @@ public class AgentNewController extends BaseController {
         }
         agentNewService.checkUserName(param.getUserName());
         AgentNewVo agent = getAgent();
-        if(agent.getAgentLevel() >2){
+        if(agent.getAgentLevel() >3){
             throw new BusinessException(ResultCode.AGENT_NOT_SUB);
         }
 
@@ -130,6 +130,12 @@ public class AgentNewController extends BaseController {
                 for (AgentNew agentNew : bySubAgent) {
                     List<AgentNew> bySubAgent1 = agentNewService.getBySubAgent(agentNew.getId());
                     if(!bySubAgent1.isEmpty()){
+                        for (AgentNew aNew : bySubAgent1) {
+                            List<AgentNew> bySubAgent2 = agentNewService.getBySubAgent(aNew.getId());
+                            if(!bySubAgent2.isEmpty()){
+                                allList.addAll(bySubAgent2);
+                            }
+                        }
                         allList.addAll(bySubAgent1);
                     }
                 }

+ 44 - 0
src/main/java/com/fdkankan/agent/controller/UserController.java

@@ -0,0 +1,44 @@
+package com.fdkankan.agent.controller;
+
+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.CameraParam;
+import com.fdkankan.agent.request.UserParam;
+import com.fdkankan.agent.response.AgentNewVo;
+import com.fdkankan.agent.service.*;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@RestController
+@RequestMapping("/agent/user")
+public class UserController extends BaseController {
+
+    @Autowired
+    IUserService userService;
+    @Autowired
+    IUserIncrementService userIncrementService;
+    @Autowired
+    IIncrementTypeService incrementTypeService;
+    @Autowired
+    ICameraService cameraService;
+    /**
+     * 分页列表
+     */
+    @PostMapping("/list")
+    public ResultData list(@RequestBody UserParam param){
+        return ResultData.ok(userService.pageList(param));
+    }
+
+
+
+}

+ 105 - 0
src/main/java/com/fdkankan/agent/entity/AgentAuthorizeModeling.java

@@ -0,0 +1,105 @@
+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 2025-03-17
+ */
+@Getter
+@Setter
+@TableName("t_agent_authorize_modeling")
+public class AgentAuthorizeModeling implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 本地算法授权
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 客户名称
+     */
+    @TableField("customer_name")
+    private String customerName;
+
+    /**
+     * 客户类别0直销,1经销
+     */
+    @TableField("customer_type")
+    private Integer customerType;
+
+    /**
+     * 终端客户
+     */
+    @TableField("end_customer")
+    private String endCustomer;
+
+    /**
+     * 使用类型
+     */
+    @TableField("use_type")
+    private Integer useType;
+
+
+    /**
+     * 备注
+     */
+    @TableField("remark")
+    private String remark;
+
+    /**
+     * 授权key
+     */
+    @TableField("authorize_key")
+    private String authorizeKey;
+
+
+    /**
+     * 授权期限
+     */
+    @TableField("authorize_start_time")
+    private String authorizeStartTime;
+
+    /**
+     * 授权期限
+     */
+    @TableField("authorize_end_time")
+    private String authorizeEndTime;
+
+
+    /**
+     * 创建人
+     */
+    @TableField("agent_id")
+    private Integer agentId;
+
+    @TableField(exist = false)
+    private String agentName;
+
+    @TableField("rec_status")
+    @TableLogic(value = "A",delval = "I")
+    private String recStatus;
+
+    @TableField("create_time")
+    private Date createTime;
+
+    @TableField("update_time")
+    private Date updateTime;
+
+
+}

+ 2 - 0
src/main/java/com/fdkankan/agent/entity/User.java

@@ -137,5 +137,7 @@ public class User implements Serializable {
     @TableField("update_time")
     private Date updateTime;
 
+    @TableField("agent_key")
+    private String agentKey;
 
 }

+ 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_agent_new_camera"
+                "t_agent_authorize_modeling"
         }));
 
 //        generate(path,"goods", getTables(new String[]{

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

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

+ 5 - 0
src/main/java/com/fdkankan/agent/mapper/ICameraDetailMapper.java

@@ -2,7 +2,11 @@ package com.fdkankan.agent.mapper;
 
 import com.fdkankan.agent.entity.CameraDetail;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fdkankan.agent.response.GroupByCount;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * <p>
@@ -15,4 +19,5 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 public interface ICameraDetailMapper extends BaseMapper<CameraDetail> {
 
+    List<GroupByCount> getCountGroupByUserId(@Param("userIdList") List<Long> userIdList);
 }

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

@@ -4,8 +4,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.agent.entity.Scene;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.fdkankan.agent.request.SceneParam;
+import com.fdkankan.agent.response.GroupByCount;
 import com.fdkankan.agent.response.SceneVo;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * <p>
@@ -19,4 +23,6 @@ import org.apache.ibatis.annotations.Mapper;
 public interface ISceneMapper extends BaseMapper<Scene> {
 
     Page<SceneVo> pageList(Page<Object> page, SceneParam param);
+
+    List<GroupByCount> getCountGroupByUserId(@Param("userIdList") List<Long> userIdList);
 }

+ 8 - 0
src/main/java/com/fdkankan/agent/mapper/IScenePlusMapper.java

@@ -2,7 +2,12 @@ package com.fdkankan.agent.mapper;
 
 import com.fdkankan.agent.entity.ScenePlus;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fdkankan.agent.response.CameraTimeVo;
+import com.fdkankan.agent.response.GroupByCount;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * <p>
@@ -15,4 +20,7 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 public interface IScenePlusMapper extends BaseMapper<ScenePlus> {
 
+    List<GroupByCount> getCountGroupByUserId(@Param("userIdList") List<Long> userIdList);
+
+    List<CameraTimeVo> getMinCreateTimeGroupByCameraId(@Param("cameraIds") List<Long> voCameraIds);
 }

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

@@ -4,8 +4,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.agent.entity.ScenePro;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.fdkankan.agent.request.SceneParam;
+import com.fdkankan.agent.response.GroupByCount;
 import com.fdkankan.agent.response.SceneVo;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * <p>
@@ -19,4 +23,6 @@ import org.apache.ibatis.annotations.Mapper;
 public interface ISceneProMapper extends BaseMapper<ScenePro> {
 
     Page<SceneVo> pageList(Page<SceneVo> page, SceneParam param);
+
+    List<GroupByCount> getCountGroupByUserId(@Param("userIdList") List<Long> userIdLis);
 }

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

@@ -5,6 +5,7 @@ import com.fdkankan.agent.entity.UserIncrement;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.fdkankan.agent.request.CameraParam;
 import com.fdkankan.agent.request.IncrementParam;
+import com.fdkankan.agent.response.GroupByCount;
 import com.fdkankan.agent.response.UserIncrementVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -25,4 +26,6 @@ public interface IUserIncrementMapper extends BaseMapper<UserIncrement> {
     Page<UserIncrementVo> pageList(Page<UserIncrement> page, IncrementParam param);
 
     List<Long> getByAgentId(@Param("agentId") Integer agentId,@Param("incrementStatus") Integer incrementStatus,@Param("incrementTypeId") Integer incrementTypeId);
+
+    List<GroupByCount> getValidCountGroupByUserId(@Param("userIdList") List<Long> userIdList);
 }

+ 35 - 0
src/main/java/com/fdkankan/agent/request/AuthorizeParam.java

@@ -0,0 +1,35 @@
+package com.fdkankan.agent.request;
+
+import com.fdkankan.agent.common.RequestBase;
+import lombok.Data;
+
+@Data
+public class AuthorizeParam extends RequestBase {
+
+    /**
+     * 客户名称
+     */
+    private String customerName;
+
+    private Integer customerType;
+
+    private Integer useType;
+
+    /**
+     * 授权key
+     */
+    private String authorizeKey;
+
+    private String machineUuid;
+
+    private String machineCode;
+
+    private String modelAuthCode;
+
+    private String businessDept;
+
+    private String companyName;
+    private String snCode;
+
+    private Integer agentId;
+}

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

@@ -0,0 +1,16 @@
+package com.fdkankan.agent.request;
+
+import com.fdkankan.agent.common.RequestBase;
+import lombok.Data;
+
+@Data
+public class UserParam extends RequestBase {
+    private Long id;
+    private String userName;
+    private String email;
+
+    private String nickName;
+
+    private String password;
+    private String newPassword;
+}

+ 9 - 0
src/main/java/com/fdkankan/agent/response/CameraTimeVo.java

@@ -0,0 +1,9 @@
+package com.fdkankan.agent.response;
+
+import lombok.Data;
+
+@Data
+public class CameraTimeVo {
+    private Long cameraId;
+    private String createTime;
+}

+ 9 - 0
src/main/java/com/fdkankan/agent/response/GroupByCount.java

@@ -0,0 +1,9 @@
+package com.fdkankan.agent.response;
+
+import lombok.Data;
+
+@Data
+public class GroupByCount {
+    private Long id;
+    private Long count;
+}

+ 22 - 0
src/main/java/com/fdkankan/agent/response/UserVo.java

@@ -0,0 +1,22 @@
+package com.fdkankan.agent.response;
+
+import lombok.Data;
+
+@Data
+public class UserVo {
+    private Long id;
+    private String userName;
+    private String nickName;
+    private String email;
+    private String createTime;
+    private Integer vip;            //是否 vip  0 否,1是  (根据权益数量判定)
+
+    private Long incrementCount;    //权益数量
+    private Integer surDownNum;     //剩余下载次数
+    private Integer surSSDownNum;     //剩余下载次数
+    private Long cameraCount;       //相机数量
+    private Long SceneNum;          //场景数量
+
+    private String sysUserName;
+    private Long sysUserId;
+}

+ 20 - 0
src/main/java/com/fdkankan/agent/service/IAgentAuthorizeModelingService.java

@@ -0,0 +1,20 @@
+package com.fdkankan.agent.service;
+
+import com.fdkankan.agent.entity.AgentAuthorizeModeling;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.agent.request.AuthorizeParam;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 
+ * @since 2025-03-17
+ */
+public interface IAgentAuthorizeModelingService extends IService<AgentAuthorizeModeling> {
+
+    Object pageList(AuthorizeParam param);
+
+    Object addOrUpdate(AgentAuthorizeModeling param);
+}

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

@@ -3,12 +3,14 @@ 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.entity.User;
 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;
+import java.util.Set;
 
 /**
  * <p>
@@ -36,4 +38,5 @@ public interface IAgentNewService extends IService<AgentNew> {
     List<AgentNew> getBySubAgent(List<Integer> agentIds);
 
     HashMap<Integer, AgentNew> getMapByIds(List<Integer> subAgentIds);
+
 }

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

@@ -3,6 +3,7 @@ package com.fdkankan.agent.service;
 import com.fdkankan.agent.entity.CameraDetail;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.HashMap;
 import java.util.List;
 
 /**
@@ -24,4 +25,6 @@ public interface ICameraDetailService extends IService<CameraDetail> {
     List<CameraDetail> getListByAgentId(Integer agentId);
 
     List<CameraDetail> getByCameraIds(List<Long> cameraIds);
+
+    HashMap<Long, Long> getCountGroupByUserId(List<Long> userIdList);
 }

+ 10 - 0
src/main/java/com/fdkankan/agent/service/IScenePlusService.java

@@ -2,6 +2,10 @@ package com.fdkankan.agent.service;
 
 import com.fdkankan.agent.entity.ScenePlus;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.agent.response.CameraTimeVo;
+
+import java.util.HashMap;
+import java.util.List;
 
 /**
  * <p>
@@ -16,4 +20,10 @@ public interface IScenePlusService extends IService<ScenePlus> {
     ScenePlus getByNum(String sceneNum);
 
     Long getCountByCameraId(Long cameraId);
+
+    HashMap<Long, Long> getCountGroupByUserId(List<Long> userIdList);
+
+    List<CameraTimeVo> getMinCreateTimeGroupByCameraId(List<Long> voCameraIds);
+
+    HashMap<Long, CameraTimeVo> getMinCreateTimeGroupByCameraIdMap(List<Long> voCameraIds);
 }

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

@@ -5,6 +5,9 @@ import com.fdkankan.agent.entity.ScenePro;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.fdkankan.agent.request.SceneParam;
 
+import java.util.HashMap;
+import java.util.List;
+
 /**
  * <p>
  * pro场景表 服务类
@@ -22,4 +25,6 @@ public interface ISceneProService extends IService<ScenePro> {
     ScenePro getByNum(String sceneNum);
 
     Long getCountByCameraId(Long cameraId);
+
+    HashMap<Long, Long> getCountGroupByUserId(List<Long> userIdList);
 }

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

@@ -4,6 +4,9 @@ import com.fdkankan.agent.entity.Scene;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.fdkankan.agent.request.SceneParam;
 
+import java.util.HashMap;
+import java.util.List;
+
 /**
  * <p>
  * 场景表 服务类
@@ -15,4 +18,6 @@ import com.fdkankan.agent.request.SceneParam;
 public interface ISceneService extends IService<Scene> {
 
     Object pageList(SceneParam param);
+
+    HashMap<Long, Long> getCountGroupByUserId(List<Long> userIdList);
 }

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

@@ -34,4 +34,6 @@ public interface IUserIncrementService extends IService<UserIncrement> {
     List<Long> getByAgentId(CameraParam param);
 
     DateTime getAddUserIncrementTime(UserIncrementParam param);
+
+    HashMap<Long, Long> getValidCountGroupByUserId(List<Long> userIdList);
 }

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

@@ -1,7 +1,10 @@
 package com.fdkankan.agent.service;
 
+import com.fdkankan.agent.common.PageInfo;
 import com.fdkankan.agent.entity.User;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.agent.request.UserParam;
+import com.fdkankan.agent.response.UserVo;
 
 import java.util.HashMap;
 import java.util.List;
@@ -23,4 +26,7 @@ public interface IUserService extends IService<User> {
     List<User> getLikeByUserName(String userName);
 
     HashMap<Long, User> getByIds(List<Long> userIds);
+
+    PageInfo pageList(UserParam param);
+
 }

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

@@ -0,0 +1,74 @@
+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.entity.AgentAuthorizeModeling;
+import com.fdkankan.agent.entity.AgentNew;
+import com.fdkankan.agent.entity.User;
+import com.fdkankan.agent.mapper.IAgentAuthorizeModelingMapper;
+import com.fdkankan.agent.request.AuthorizeParam;
+import com.fdkankan.agent.service.IAgentAuthorizeModelingService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+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.stereotype.Service;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2025-03-17
+ */
+@Service
+public class AgentAuthorizeModelingServiceImpl extends ServiceImpl<IAgentAuthorizeModelingMapper, AgentAuthorizeModeling> implements IAgentAuthorizeModelingService {
+
+    @Autowired
+    IUserService userService;
+    @Autowired
+    IAgentNewService agentNewService;
+
+
+    @Override
+    public Object pageList(AuthorizeParam param) {
+        LambdaQueryWrapper<AgentAuthorizeModeling> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(AgentAuthorizeModeling::getAgentId,param.getAgentId());
+        if(StringUtils.isNotBlank(param.getCustomerName())){
+            wrapper.like(AgentAuthorizeModeling::getCustomerName,param.getCustomerName());
+        }
+        if(param.getCustomerType() != null){
+            wrapper.eq(AgentAuthorizeModeling::getCustomerType,param.getCustomerType());
+        }
+        if(param.getUseType() != null){
+            wrapper.eq(AgentAuthorizeModeling::getUseType,param.getUseType());
+        }
+        if(StringUtils.isNotBlank(param.getAuthorizeKey())){
+            wrapper.like(AgentAuthorizeModeling::getAuthorizeKey,param.getAuthorizeKey());
+        }
+        wrapper.orderByDesc(AgentAuthorizeModeling::getCreateTime);
+        Page<AgentAuthorizeModeling> page = this.page(new Page<>(param.getPageNum(), param.getPageSize()), wrapper);
+        List<Integer> sysIds = page.getRecords().stream().map(AgentAuthorizeModeling::getAgentId).collect(Collectors.toList());
+        HashMap<Integer, AgentNew> userMap = agentNewService.getMapByIds(sysIds);
+        for (AgentAuthorizeModeling record : page.getRecords()) {
+            if(userMap.get(record.getAgentId())!=null){
+                record.setAgentName(userMap.get(record.getAgentId()).getNickName());
+            }
+        }
+        return PageInfo.PageInfo(page);
+    }
+
+    @Override
+    public Object addOrUpdate(AgentAuthorizeModeling param) {
+        this.saveOrUpdate(param);
+        return  param;
+    }
+}

+ 10 - 0
src/main/java/com/fdkankan/agent/service/impl/CameraDetailServiceImpl.java

@@ -7,12 +7,14 @@ import com.fdkankan.agent.entity.User;
 import com.fdkankan.agent.entity.UserIncrement;
 import com.fdkankan.agent.mapper.ICameraDetailMapper;
 import com.fdkankan.agent.mapper.IUserMapper;
+import com.fdkankan.agent.response.GroupByCount;
 import com.fdkankan.agent.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
+import java.util.HashMap;
 import java.util.List;
 import java.util.WeakHashMap;
 import java.util.stream.Collectors;
@@ -120,4 +122,12 @@ public class CameraDetailServiceImpl extends ServiceImpl<ICameraDetailMapper, Ca
         wrapper.in(CameraDetail::getCameraId, cameraIds);
         return this.list(wrapper);
     }
+
+    @Override
+    public HashMap<Long, Long> getCountGroupByUserId(List<Long> userIdList) {
+        HashMap<Long,Long> map = new HashMap<>();
+        List<GroupByCount> result = this.getBaseMapper().getCountGroupByUserId(userIdList);
+        result.forEach(entity ->map.put(entity.getId(),entity.getCount()));
+        return map;
+    }
 }

+ 12 - 0
src/main/java/com/fdkankan/agent/service/impl/CameraServiceImpl.java

@@ -8,6 +8,7 @@ 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.response.CameraTimeVo;
 import com.fdkankan.agent.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -40,6 +41,8 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
     IAgentNewCameraService agentNewCameraService;
     @Autowired
     ICameraDetailService cameraDetailService;
+    @Autowired
+    IScenePlusService scenePlusService;
 
     @Override
     public Object pageList(CameraParam param) {
@@ -70,6 +73,9 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
         List<Integer> subAgentIds = map.values().stream().map(AgentNewCamera::getSubAgentId).collect(Collectors.toList());
         HashMap<Integer,AgentNew> agentMap = agentNewService.getMapByIds(subAgentIds);
 
+
+        HashMap<Long,CameraTimeVo> cameraTimeMap = scenePlusService.getMinCreateTimeGroupByCameraIdMap(voCameraIds);
+
         for (CameraDetailVo record : voPage.getRecords()) {
             IncrementType incrementType = typeMap.get(record.getIncrementTypeId());
             if(incrementType != null){
@@ -83,6 +89,12 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
                     record.setSubAgentId(agentNew.getId());
                 }
             }
+            CameraTimeVo cameraTimeVo = cameraTimeMap.get(record.getId());
+            if(cameraTimeVo != null){
+                record.setActivatedTime(cameraTimeVo.getCreateTime());
+            }else {
+                record.setActivatedTime(null);
+            }
         }
 
         return PageInfo.PageInfo(voPage);

+ 28 - 0
src/main/java/com/fdkankan/agent/service/impl/ScenePlusServiceImpl.java

@@ -3,10 +3,14 @@ package com.fdkankan.agent.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.fdkankan.agent.entity.ScenePlus;
 import com.fdkankan.agent.mapper.IScenePlusMapper;
+import com.fdkankan.agent.response.CameraTimeVo;
+import com.fdkankan.agent.response.GroupByCount;
 import com.fdkankan.agent.service.IScenePlusService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 
 /**
@@ -39,4 +43,28 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
         wrapper.in(ScenePlus::getSceneStatus,0,-2);
         return this.count(wrapper);
     }
+
+    @Override
+    public HashMap<Long, Long> getCountGroupByUserId(List<Long> userIdList) {
+        HashMap<Long,Long> map = new HashMap<>();
+        List<GroupByCount> result = this.getBaseMapper().getCountGroupByUserId(userIdList);
+        result.forEach(entity ->map.put(entity.getId(),entity.getCount()));
+        return map;
+    }
+
+    @Override
+    public List<CameraTimeVo> getMinCreateTimeGroupByCameraId(List<Long> voCameraIds) {
+        if(voCameraIds == null || voCameraIds.isEmpty()){
+            return new ArrayList<>();
+        }
+        return this.getBaseMapper().getMinCreateTimeGroupByCameraId(voCameraIds);
+    }
+
+    @Override
+    public HashMap<Long, CameraTimeVo> getMinCreateTimeGroupByCameraIdMap(List<Long> voCameraIds) {
+        HashMap<Long,CameraTimeVo> map = new HashMap<>();
+        List<CameraTimeVo> timeVoList = this.getMinCreateTimeGroupByCameraId(voCameraIds);
+        timeVoList.forEach(e -> map.put(e.getCameraId(),e));
+        return map;
+    }
 }

+ 10 - 0
src/main/java/com/fdkankan/agent/service/impl/SceneProServiceImpl.java

@@ -16,6 +16,7 @@ import com.fdkankan.agent.httpClient.client.FdKKClient;
 import com.fdkankan.agent.httpClient.service.LaserService;
 import com.fdkankan.agent.mapper.ISceneProMapper;
 import com.fdkankan.agent.request.SceneParam;
+import com.fdkankan.agent.response.GroupByCount;
 import com.fdkankan.agent.response.SceneVo;
 import com.fdkankan.agent.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -251,4 +252,13 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
                 return -1;
         }
     }
+
+
+    @Override
+    public HashMap<Long, Long> getCountGroupByUserId(List<Long> userIdList) {
+        HashMap<Long,Long> map = new HashMap<>();
+        List<GroupByCount> result = this.getBaseMapper().getCountGroupByUserId(userIdList);
+        result.forEach(entity ->map.put(entity.getId(),entity.getCount()));
+        return map;
+    }
 }

+ 12 - 0
src/main/java/com/fdkankan/agent/service/impl/SceneServiceImpl.java

@@ -5,6 +5,7 @@ import com.fdkankan.agent.common.PageInfo;
 import com.fdkankan.agent.entity.Scene;
 import com.fdkankan.agent.mapper.ISceneMapper;
 import com.fdkankan.agent.request.SceneParam;
+import com.fdkankan.agent.response.GroupByCount;
 import com.fdkankan.agent.response.SceneVo;
 import com.fdkankan.agent.service.ISceneService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -12,6 +13,9 @@ import com.fdkankan.agent.util.SceneStatusUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 
+import java.util.HashMap;
+import java.util.List;
+
 /**
  * <p>
  * 场景表 服务实现类
@@ -34,4 +38,12 @@ public class SceneServiceImpl extends ServiceImpl<ISceneMapper, Scene> implement
 //        }
         return PageInfo.PageInfo(page);
     }
+
+    @Override
+    public HashMap<Long, Long> getCountGroupByUserId(List<Long> userIdList) {
+        HashMap<Long,Long> map = new HashMap<>();
+        List<GroupByCount> result = this.getBaseMapper().getCountGroupByUserId(userIdList);
+        result.forEach(entity ->map.put(entity.getId(),entity.getCount()));
+        return map;
+    }
 }

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

@@ -15,6 +15,7 @@ import com.fdkankan.agent.request.IncrementParam;
 import com.fdkankan.agent.request.ScenePayStatusVo;
 import com.fdkankan.agent.request.UserIncrementParam;
 import com.fdkankan.agent.response.AgentNewVo;
+import com.fdkankan.agent.response.GroupByCount;
 import com.fdkankan.agent.response.UserIncrementVo;
 import com.fdkankan.agent.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -239,4 +240,13 @@ public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper,
         }
         return  DateUtils.getDateTime(userTime, incrementType,count);
     }
+
+
+    @Override
+    public HashMap<Long, Long> getValidCountGroupByUserId(List<Long> userIdList) {
+        HashMap<Long,Long> map = new HashMap<>();
+        List<GroupByCount> result = this.getBaseMapper().getValidCountGroupByUserId(userIdList);
+        result.forEach(entity ->map.put(entity.getId(),entity.getCount()));
+        return map;
+    }
 }

+ 76 - 3
src/main/java/com/fdkankan/agent/service/impl/UserServiceImpl.java

@@ -1,14 +1,21 @@
 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.entity.User;
 import com.fdkankan.agent.mapper.IUserMapper;
-import com.fdkankan.agent.service.IUserService;
+import com.fdkankan.agent.request.UserParam;
+import com.fdkankan.agent.response.UserVo;
+import com.fdkankan.agent.service.*;
 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.HashMap;
-import java.util.List;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -21,6 +28,20 @@ import java.util.List;
 @Service
 public class UserServiceImpl extends ServiceImpl<IUserMapper, User> implements IUserService {
 
+    @Autowired
+    private IUserIncrementService userIncrementService;
+    @Autowired
+    private ICameraService cameraService;
+    @Autowired
+    private ICameraDetailService cameraDetailService;
+    @Autowired
+    private ISceneService sceneService;
+    @Autowired
+    private ISceneProService sceneProService;
+    @Autowired
+    private IScenePlusService scenePlusService;
+
+
     @Override
     public Boolean checkUserName(String userName) {
         User user =  this.getByUserName(userName);
@@ -60,4 +81,56 @@ public class UserServiceImpl extends ServiceImpl<IUserMapper, User> implements I
         list.forEach(entity -> map.put(entity.getId(),entity));
         return map;
     }
+
+    @Override
+    public PageInfo pageList(UserParam param) {
+        LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
+        if(StringUtils.isNotBlank(param.getUserName())){
+            wrapper.like(User::getUserName,param.getUserName());
+        }
+        if(StringUtils.isNotBlank(param.getEmail())){
+            wrapper.like(User::getEmail,param.getEmail());
+        }
+        wrapper.isNotNull(User::getAgentKey);
+        wrapper.orderByDesc(User::getCreateTime);
+        Page<User> page = this.page(new Page<>(param.getPageNum(), param.getPageSize()), wrapper);
+        List<User> records = page.getRecords();
+        List<UserVo> userVo = getUserVo(records);
+        Page<UserVo> pageVo = new Page<>(page.getCurrent(),page.getSize());
+        pageVo.setTotal(page.getTotal());
+        pageVo.setRecords(userVo);
+        return PageInfo.PageInfo(pageVo);
+    }
+
+    private List<UserVo> getUserVo(List<User> userList){
+        List<UserVo> voList = new ArrayList<>();
+        if(userList.size() >0){
+            List<Long> userIdList = userList.parallelStream().map(User::getId).collect(Collectors.toList());
+
+            HashMap<Long,Long> incrementCountMap = userIncrementService.getValidCountGroupByUserId(userIdList);
+            HashMap<Long,Long> cameraCountMap = cameraDetailService.getCountGroupByUserId(userIdList);
+            HashMap<Long,Long> sceneCountMap = sceneService.getCountGroupByUserId(userIdList);
+            HashMap<Long,Long> sceneProCountMap = sceneProService.getCountGroupByUserId(userIdList);
+            HashMap<Long,Long> scenePlusCountMap = scenePlusService.getCountGroupByUserId(userIdList);
+
+            for (User user :userList) {
+                long incrementCount = incrementCountMap.get(user.getId()) == null ? 0 : incrementCountMap.get(user.getId());
+                long cameraCount = cameraCountMap.get(user.getId()) == null ? 0 : cameraCountMap.get(user.getId());
+                long sceneCount = sceneCountMap.get(user.getId()) == null ? 0 : sceneCountMap.get(user.getId());
+                long sceneProCount = sceneProCountMap.get(user.getId()) == null ? 0 : sceneProCountMap.get(user.getId());
+                long scenePlusCount = scenePlusCountMap.get(user.getId()) == null ? 0 : scenePlusCountMap.get(user.getId());
+
+                UserVo vo = new UserVo();
+                BeanUtils.copyProperties(user,vo);
+                vo.setVip(incrementCount  > 0 ? 1: 0);
+                vo.setIncrementCount(incrementCount);
+                vo.setSurDownNum(user.getDownloadNumTotal() - user.getDownloadNum());
+                vo.setCameraCount(cameraCount);
+                vo.setSceneNum(sceneCount + sceneProCount + scenePlusCount );
+                voList.add(vo);
+            }
+        }
+        return voList;
+    }
+
 }

+ 1 - 1
src/main/resources/mapper/ucenter/AgentNewMapper.xml

@@ -1,5 +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.ucenter.mapper.IAgentNewMapper">
+<mapper namespace="com.fdkankan.agent.mapper.IAgentAuthorizeModelingMapper">
 
 </mapper>

+ 7 - 0
src/main/resources/mapper/agent/CameraDetailMapper.xml

@@ -2,4 +2,11 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.fdkankan.agent.mapper.ICameraDetailMapper">
 
+    <select id="getCountGroupByUserId" resultType="com.fdkankan.agent.response.GroupByCount">
+        SELECT user_id as id, count(id) as count FROM t_camera_detail  WHERE rec_status = 'A' and    user_id in
+        <foreach item="userId" collection="userIdList" open="(" separator="," close=")">
+            #{userId}
+        </foreach>
+        GROUP BY user_id
+    </select>
 </mapper>

+ 8 - 0
src/main/resources/mapper/agent/SceneMapper.xml

@@ -35,4 +35,12 @@
         </if>
         order by s.id desc
     </select>
+
+    <select id="getCountGroupByUserId" resultType="com.fdkankan.agent.response.GroupByCount">
+        SELECT user_id as id, count(id) as count  FROM t_scene  WHERE rec_status = 'A' and    user_id in
+        <foreach item="userId" collection="userIdList" open="(" separator="," close=")">
+            #{userId}
+        </foreach>
+        GROUP BY user_id
+    </select>
 </mapper>

+ 26 - 0
src/main/resources/mapper/agent/ScenePlusMapper.xml

@@ -2,4 +2,30 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.fdkankan.agent.mapper.IScenePlusMapper">
 
+    <select id="getCountGroupByUserId" resultType="com.fdkankan.agent.response.GroupByCount">
+        SELECT user_id as id, count(p.id) as count FROM t_scene_plus p
+        WHERE  p.rec_status = 'A' and  p.user_id in
+        <foreach item="userId" collection="userIdList" open="(" separator="," close=")">
+            #{userId}
+        </foreach>
+        GROUP BY p.user_id
+    </select>
+    <select id="getMinCreateTimeGroupByCameraId" resultType="com.fdkankan.agent.response.CameraTimeVo">
+        SELECT camera_id,min(create_time) as create_time from
+                SELECT camera_id,min(create_time)  as create_time from t_scene WHERE rec_status = 'A'
+                     and  camera_id in <include refid="commonFore"></include> GROUP BY camera_id
+            UNION all
+                SELECT camera_id,min(create_time)  as create_time from t_scene_pro WHERE rec_status = 'A'
+                     and   camera_id in <include refid="commonFore"></include> GROUP BY camera_id
+            UNION all
+                SELECT camera_id,min(create_time) as create_time  from t_scene_plus WHERE rec_status = 'A'
+                      and  camera_id in <include refid="commonFore"></include>  GROUP BY camera_id
+         ) as tb GROUP BY camera_id
+
+    </select>
+    <sql id="commonFore">
+        <foreach collection="cameraIds" item="cameraId" open="(" separator="," close=")">
+            #{cameraId}
+        </foreach>
+    </sql>
 </mapper>

+ 9 - 0
src/main/resources/mapper/agent/SceneProMapper.xml

@@ -28,6 +28,15 @@
         order by ${param.field} ${param.order}
     </select>
 
+    <select id="getCountGroupByUserId" resultType="com.fdkankan.agent.response.GroupByCount">
+        SELECT user_id as id, count(id) as count FROM t_scene_pro  WHERE  rec_status = 'A' and is_upgrade = 0
+        and  user_id in
+        <foreach item="userId" collection="userIdList" open="(" separator="," close=")">
+            #{userId}
+        </foreach>
+        GROUP BY user_id
+    </select>
+
     <sql id="commonWhere">
         where s.rec_status = 'A'
         <if test="param.cameraIds !=null and param.cameraIds.size >0">

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

@@ -31,4 +31,14 @@
             and ui.increment_type_id = #{incrementTypeId}
         </if>
     </select>
+
+
+    <select id="getValidCountGroupByUserId" resultType="com.fdkankan.agent.response.GroupByCount" >
+        SELECT user_id as id, count(id) as count  FROM t_user_increment
+        WHERE rec_status = 'A' and is_expired = 0  and user_id in
+        <foreach item="userId" collection="userIdList" open="(" separator="," close=")">
+            #{userId}
+        </foreach>
+        GROUP BY user_id
+    </select>
 </mapper>