Преглед изворни кода

Merge branch 'test' into local-kj

lyhzzz пре 2 година
родитељ
комит
89438b52d3
76 измењених фајлова са 905 додато и 168 уклоњено
  1. 32 1
      README.md
  2. 6 2
      pom.xml
  3. 12 2
      src/main/java/com/fdkankan/manage/ManageApplication.java
  4. 2 0
      src/main/java/com/fdkankan/manage/common/CacheUtil.java
  5. 3 0
      src/main/java/com/fdkankan/manage/common/OssPath.java
  6. 8 0
      src/main/java/com/fdkankan/manage/common/PageInfo.java
  7. 7 0
      src/main/java/com/fdkankan/manage/common/ResultCode.java
  8. 4 1
      src/main/java/com/fdkankan/manage/config/SaTokenConfigure.java
  9. 24 2
      src/main/java/com/fdkankan/manage/controller/AgentNewController.java
  10. 2 1
      src/main/java/com/fdkankan/manage/controller/OverallController.java
  11. 13 5
      src/main/java/com/fdkankan/manage/controller/SceneController.java
  12. 22 0
      src/main/java/com/fdkankan/manage/controller/UserController.java
  13. 6 1
      src/main/java/com/fdkankan/manage/entity/AgentNewLog.java
  14. 3 0
      src/main/java/com/fdkankan/manage/entity/CameraDetail.java
  15. 48 0
      src/main/java/com/fdkankan/manage/entity/FolderScene.java
  16. 3 0
      src/main/java/com/fdkankan/manage/entity/User.java
  17. 7 0
      src/main/java/com/fdkankan/manage/entity/UserIncrement.java
  18. 1 1
      src/main/java/com/fdkankan/manage/generate/AutoGenerate.java
  19. 1 1
      src/main/java/com/fdkankan/manage/httpClient/client/FdKKClient.java
  20. 27 14
      src/main/java/com/fdkankan/manage/httpClient/service/LaserService.java
  21. 18 0
      src/main/java/com/fdkankan/manage/mapper/IFolderSceneMapper.java
  22. 1 1
      src/main/java/com/fdkankan/manage/mapper/IScenePlusMapper.java
  23. 1 1
      src/main/java/com/fdkankan/manage/mapper/ISceneProMapper.java
  24. 3 0
      src/main/java/com/fdkankan/manage/service/IAgentNewLogService.java
  25. 4 0
      src/main/java/com/fdkankan/manage/service/IAgentNewService.java
  26. 4 0
      src/main/java/com/fdkankan/manage/service/ICameraDetailService.java
  27. 4 0
      src/main/java/com/fdkankan/manage/service/IDownloadOrderService.java
  28. 17 0
      src/main/java/com/fdkankan/manage/service/IFolderSceneService.java
  29. 2 0
      src/main/java/com/fdkankan/manage/service/IScenePlusExtService.java
  30. 1 1
      src/main/java/com/fdkankan/manage/service/IScenePlusService.java
  31. 4 1
      src/main/java/com/fdkankan/manage/service/ISceneProService.java
  32. 4 0
      src/main/java/com/fdkankan/manage/service/ISysMenuService.java
  33. 3 0
      src/main/java/com/fdkankan/manage/service/ISysUserService.java
  34. 3 0
      src/main/java/com/fdkankan/manage/service/IUserIncrementService.java
  35. 8 0
      src/main/java/com/fdkankan/manage/service/IUserService.java
  36. 28 3
      src/main/java/com/fdkankan/manage/service/impl/AgentNewLogServiceImpl.java
  37. 25 1
      src/main/java/com/fdkankan/manage/service/impl/AgentNewServiceImpl.java
  38. 7 4
      src/main/java/com/fdkankan/manage/service/impl/AppFileServiceImpl.java
  39. 19 1
      src/main/java/com/fdkankan/manage/service/impl/CameraDetailServiceImpl.java
  40. 23 13
      src/main/java/com/fdkankan/manage/service/impl/CameraServiceImpl.java
  41. 13 14
      src/main/java/com/fdkankan/manage/service/impl/CameraVersionServiceImpl.java
  42. 1 1
      src/main/java/com/fdkankan/manage/service/impl/CommonServiceImpl.java
  43. 1 1
      src/main/java/com/fdkankan/manage/service/impl/DataService.java
  44. 19 22
      src/main/java/com/fdkankan/manage/service/impl/DownloadOrderServiceImpl.java
  45. 31 0
      src/main/java/com/fdkankan/manage/service/impl/ExcelServiceImpl.java
  46. 27 0
      src/main/java/com/fdkankan/manage/service/impl/FolderSceneServiceImpl.java
  47. 7 0
      src/main/java/com/fdkankan/manage/service/impl/ScenePlusExtServiceImpl.java
  48. 2 2
      src/main/java/com/fdkankan/manage/service/impl/ScenePlusServiceImpl.java
  49. 69 10
      src/main/java/com/fdkankan/manage/service/impl/SceneProServiceImpl.java
  50. 1 1
      src/main/java/com/fdkankan/manage/service/impl/SpaceSdkServiceImpl.java
  51. 21 4
      src/main/java/com/fdkankan/manage/service/impl/SysMenuServiceImpl.java
  52. 3 0
      src/main/java/com/fdkankan/manage/service/impl/SysRoleServiceImpl.java
  53. 15 12
      src/main/java/com/fdkankan/manage/service/impl/SysUserServiceImpl.java
  54. 53 16
      src/main/java/com/fdkankan/manage/service/impl/UserIncrementServiceImpl.java
  55. 118 10
      src/main/java/com/fdkankan/manage/service/impl/UserServiceImpl.java
  56. 3 1
      src/main/java/com/fdkankan/manage/vo/request/CameraInOutParam.java
  57. 2 0
      src/main/java/com/fdkankan/manage/vo/request/CameraParam.java
  58. 2 0
      src/main/java/com/fdkankan/manage/vo/request/UserIncrementParam.java
  59. 5 0
      src/main/java/com/fdkankan/manage/vo/request/UserParam.java
  60. 3 0
      src/main/java/com/fdkankan/manage/vo/response/CameraDetailVo.java
  61. 3 1
      src/main/java/com/fdkankan/manage/vo/response/DownOrderVo.java
  62. 4 2
      src/main/java/com/fdkankan/manage/vo/response/IncrementOrderVo.java
  63. 3 1
      src/main/java/com/fdkankan/manage/vo/response/OrderVo.java
  64. 7 0
      src/main/java/com/fdkankan/manage/vo/response/UserIncrementVo.java
  65. 3 0
      src/main/java/com/fdkankan/manage/vo/response/UserVo.java
  66. 2 2
      src/main/resources/bootstrap-local-kj.yml
  67. 1 1
      src/main/resources/bootstrap-prod.yml
  68. 40 0
      src/main/resources/bootstrap-test-eur.yml
  69. 1 1
      src/main/resources/bootstrap-test.yml
  70. 1 1
      src/main/resources/bootstrap.yml
  71. 3 2
      src/main/resources/mapper/manage/AgentNewLogMapper.xml
  72. 5 1
      src/main/resources/mapper/manage/CameraMapper.xml
  73. 5 0
      src/main/resources/mapper/manage/FolderSceneMapper.xml
  74. 14 4
      src/main/resources/mapper/manage/ScenePlusMapper.xml
  75. 7 1
      src/main/resources/mapper/manage/SceneProMapper.xml
  76. BIN
      src/main/resources/template/cameraOut.xlsx

+ 32 - 1
README.md

@@ -1 +1,32 @@
-v1.0.0
+#**管理后台**
+
+###**v1.0.0** 
+~~~~
+1.数据看板
+2.埋点统计
+3.官网运营管理
+4.订单管理
+5.发票管理
+6.产品运营管理
+7.客户管理
+8.官网用户管理
+9.设备管理
+10.产品管理
+11.系统管理
+12.操作日志
+~~~~
+
+###**v1.1.0** 
+~~~~
+1.添加经销商管理
+    agentNew ,agentNewLog
+2.设备列表 /service/manage/camera/list
+    添加参数   agentName 模糊查询
+    添加返回值 agentName
+3.相机出库 /service/manage/camera/out
+    添加参数 agentId
+4.相机出库信息编辑 /service/manage/camera/update
+    添加参数 agentId
+5.出库模板 
+    添加经销商名称导入
+~~~~

+ 6 - 2
pom.xml

@@ -6,7 +6,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.fdkankan.manage</groupId>
   <artifactId>4dkankan-center-manage</artifactId>
-  <version>1.0.0</version>
+  <version>1.1.0</version>
   <packaging>jar</packaging>
 
   <parent>
@@ -25,6 +25,11 @@
     </dependency>
     <dependency>
       <groupId>com.fdkankan</groupId>
+      <artifactId>4dkankan-utils-fyun-local</artifactId>
+      <version>3.0.0-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>com.fdkankan</groupId>
       <artifactId>4dkankan-utils-fyun-s3</artifactId>
       <version>3.0.0-SNAPSHOT</version>
     </dependency>
@@ -172,5 +177,4 @@
 
   </build>
 
-
 </project>

+ 12 - 2
src/main/java/com/fdkankan/manage/ManageApplication.java

@@ -1,7 +1,9 @@
 package com.fdkankan.manage;
 
-import com.dtflys.forest.springboot.annotation.ForestScan;
+import com.fdkankan.manage.common.CacheUtil;
 import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.CommandLineRunner;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@@ -15,10 +17,18 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
 @EnableScheduling
 @ComponentScan(basePackages = {"com.fdkankan.*"})
 @MapperScan("com.fdkankan.**.mapper")
-public class ManageApplication {
+public class ManageApplication implements CommandLineRunner {
+
+    @Value("${fyun.type}")
+    private String uploadType;
 
     public static void main(String[] args) {
         SpringApplication.run(ManageApplication.class, args);
     }
 
+    @Override
+    public void run(String... args) throws Exception {
+        CacheUtil.uploadType = uploadType;
+
+    }
 }

+ 2 - 0
src/main/java/com/fdkankan/manage/common/CacheUtil.java

@@ -5,6 +5,8 @@ import com.fdkankan.manage.vo.request.OrderParam;
 
 public class CacheUtil {
 
+    public static String uploadType;
     public static OrderParam orderParam = new OrderParam();
     public static AgentNewLogParam agentParam = new AgentNewLogParam();
+
 }

+ 3 - 0
src/main/java/com/fdkankan/manage/common/OssPath.java

@@ -7,4 +7,7 @@ public class OssPath {
     public final static String v4_statusPath = "scene_view_data/%s/data/status.json";
     public final static String localStatusPath = System.getProperty("java.io.tmpdir") +"status.json";   //获取临时文件目录
 
+    public final static String default_head ="manage/user/newHead.png";
+
+
 }

+ 8 - 0
src/main/java/com/fdkankan/manage/common/PageInfo.java

@@ -1,11 +1,13 @@
 package com.fdkankan.manage.common;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.manage.vo.response.SceneVo;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
+import java.util.ArrayList;
 import java.util.List;
 
 @Data
@@ -40,4 +42,10 @@ public class PageInfo<T> {
     }
 
 
+    public static PageInfo PageInfoEmpty(Integer pageNum,Integer pageSize) {
+        Page<Object> voPage = new Page<>(pageNum,pageSize);
+        voPage.setRecords(new ArrayList<>());
+        voPage.setTotal(0);
+        return PageInfo.PageInfo(voPage);
+    }
 }

+ 7 - 0
src/main/java/com/fdkankan/manage/common/ResultCode.java

@@ -57,6 +57,13 @@ public enum ResultCode  {
     INCREMENT_TYPE_EMPTY(50040, "权益类型不存在!"),
     AGENT_NEW_EMPTY(50041, "代理商不存在!"),
     SS_NO_COPY(50042, "深时场景暂不支持复制!"),
+    AGENT_NOT_EMPTY(50043, "经销商名称已存在!"),
+    CAMERA_NOT_MOVE(50044, "场景在改相机中,无需迁移!"),
+    SCENE_REBUILD_ERROR(50045, "场景重算失败。。。"),
+    PASSWORD_ERROR_G(50046, "密码格式错误!"),
+    AGENT_U_NOT_EMPTY(50047, "经销商账号已存在!"),
+    INCREMENT_TYPE_ERROR(50048, "权益类型错误!"),
+    DEL_UCENTER_ERROR(50049, "该用户已绑定相机,请先解绑再删除用户。"),
 
     ;
 

+ 4 - 1
src/main/java/com/fdkankan/manage/config/SaTokenConfigure.java

@@ -12,6 +12,7 @@ import cn.dev33.satoken.stp.StpUtil;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.nacos.common.utils.HttpMethod;
+import com.fdkankan.common.util.SecurityUtil;
 import com.fdkankan.manage.common.RedisKeyUtil;
 import com.fdkankan.manage.common.ResultCode;
 import com.fdkankan.manage.exception.BusinessException;
@@ -19,6 +20,7 @@ import com.fdkankan.manage.common.ResultData;
 import com.fdkankan.manage.service.ISysMenuService;
 import com.fdkankan.redis.constant.RedisKey;
 import com.fdkankan.redis.util.RedisUtil;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Bean;
@@ -28,6 +30,7 @@ import java.util.HashMap;
 import java.util.List;
 
 @Configuration
+@Slf4j
 public class SaTokenConfigure {
 
     public static HashMap<String, JSONObject> manageMenuUrl = new HashMap<>();
@@ -45,7 +48,7 @@ public class SaTokenConfigure {
                 .addInclude("/**").addExclude("/**/reMyselfPassword","/test/**")
                 // 认证函数: 每次请求执行
                 .setAuth(obj -> {
-                    System.out.println("---------- 进入Sa-Token全局认证 -----------");
+                    log.info("---------- 进入Sa-Token全局认证 -----------");
                     // 登录认证 -- 拦截所有路由,并排除/user/doLogin 用于开放登录
                     SaRouter.match("/**", "/service/manage/login", r ->checkLogin() );
                     String menu = redisUtil.get(RedisKey.MANAGE_MENU);

+ 24 - 2
src/main/java/com/fdkankan/manage/controller/AgentNewController.java

@@ -10,6 +10,8 @@ import com.fdkankan.manage.entity.AgentNew;
 import com.fdkankan.manage.entity.User;
 import com.fdkankan.manage.exception.BusinessException;
 import com.fdkankan.manage.service.IAgentNewService;
+import com.fdkankan.manage.service.ICameraDetailService;
+import com.fdkankan.manage.service.IUserIncrementService;
 import com.fdkankan.manage.service.IUserService;
 import com.fdkankan.manage.vo.request.AgentAddIncrementParam;
 import com.fdkankan.manage.vo.request.AgentNewLogParam;
@@ -39,6 +41,10 @@ public class AgentNewController {
     IAgentNewService agentNewService;
     @Autowired
     IUserService userService;
+    @Autowired
+    ICameraDetailService cameraDetailService;
+    @Autowired
+    IUserIncrementService userIncrementService;
 
     @PostMapping("/list")
     public ResultData list(@RequestBody AgentParam agentParam){
@@ -67,9 +73,17 @@ public class AgentNewController {
         if(StringUtils.isBlank(param.getName()) || StringUtils.isBlank(param.getUserName())){
             throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
         }
-        userService.checkUserName(param.getUserName());
-        agentNewService.save(param);
+        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.setSysUserId(Integer.valueOf((String)StpUtil.getLoginId()));
+        agentNewService.save(param);
         return ResultData.ok();
     }
     @PostMapping("/update")
@@ -77,6 +91,12 @@ public class AgentNewController {
         if(param.getId() == null || StringUtils.isBlank(param.getName())){
             throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
         }
+        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());
@@ -90,6 +110,8 @@ public class AgentNewController {
             throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
         }
         agentNewService.removeById(param.getId());
+        cameraDetailService.delAgentId(param.getId());
+        userIncrementService.delAgentId(param.getId());
         return ResultData.ok();
     }
 

+ 2 - 1
src/main/java/com/fdkankan/manage/controller/OverallController.java

@@ -10,6 +10,7 @@ import com.fdkankan.manage.httpClient.client.OverallClient;
 import com.fdkankan.manage.httpClient.vo.OverallParam;
 import com.fdkankan.manage.httpClient.vo.OverallVo;
 import org.apache.commons.lang3.StringUtils;
+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;
@@ -29,7 +30,7 @@ public class OverallController {
     private static String appId ="BDA385EC848C1A425F746869011C8D23";
     private static String key ="appId";
 
-    @Resource
+   @Autowired
     OverallClient overallClient;
 
     @PostMapping("/list")

+ 13 - 5
src/main/java/com/fdkankan/manage/controller/SceneController.java

@@ -12,6 +12,7 @@ import com.fdkankan.manage.service.IDownService;
 import com.fdkankan.manage.service.IScenePlusService;
 import com.fdkankan.manage.service.ISceneProService;
 import com.fdkankan.manage.vo.request.SceneParam;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -25,6 +26,7 @@ import java.util.HashMap;
  */
 @RestController
 @RequestMapping("/service/manage/scene")
+@Slf4j
 public class SceneController {
 
     @Autowired
@@ -33,7 +35,7 @@ public class SceneController {
     IScenePlusService scenePlusService;
     @Autowired
     IDownService downService;
-    @Resource
+   @Autowired
     FdKKClient fdKKClient;
 
     @PostMapping("/list")
@@ -124,11 +126,17 @@ public class SceneController {
         }
         HashMap<String,Object> paramMap = new HashMap<>();
         paramMap.put("num",num);
-        JSONObject jsonObject = fdKKClient.rebuildScene(paramMap);
-        Integer code = jsonObject.getInteger("code");
-        if(code != 0){
-            return ResultData.error(code,jsonObject.getString("message"));
+        try {
+            JSONObject jsonObject = fdKKClient.rebuildScene(paramMap);
+            Integer code = jsonObject.getInteger("code");
+            if(code != 0){
+                log.error("场景重算失败:{},{}",num,jsonObject);
+                throw new BusinessException(ResultCode.SCENE_REBUILD_ERROR);
+            }
+        }catch (Exception e){
+            throw new BusinessException(ResultCode.SCENE_REBUILD_ERROR);
         }
+
         return ResultData.ok();
     }
 }

+ 22 - 0
src/main/java/com/fdkankan/manage/controller/UserController.java

@@ -122,5 +122,27 @@ public class UserController {
         cameraService.unbindCamera(cameraId);
         return ResultData.ok();
     }
+
+    @PostMapping("/addUcenterUser")
+    public ResultData addUcenterUser(@RequestBody UserParam userParam){
+        userService.addUcenterUser(userParam);
+        return ResultData.ok();
+    }
+    @PostMapping("/updateUcenterUser")
+    public ResultData updateUcenterUser(@RequestBody UserParam userParam){
+        userService.updateUcenterUser(userParam);
+        return ResultData.ok();
+    }
+
+    @PostMapping("/delUcenterUser")
+    public ResultData delUcenterUser(@RequestBody UserParam userParam){
+        userService.delUcenterUser(userParam);
+        return ResultData.ok();
+    }
+    @PostMapping("/ReUcenterUserPassword")
+    public ResultData ReUcenterUserPassword(@RequestBody UserParam userParam){
+        userService.ReUcenterUserPassword(userParam);
+        return ResultData.ok();
+    }
 }
 

+ 6 - 1
src/main/java/com/fdkankan/manage/entity/AgentNewLog.java

@@ -38,12 +38,17 @@ public class AgentNewLog implements Serializable {
      */
     @TableField("type")
     private Integer type;
+    /**
+     * 0 经销商授权,1经销商续费,2官网自购,3平台授权
+     */
+    @TableField("give_type")
+    private Integer giveType;
 
     /**
      * 授权对象id
      */
     @TableField("user_id")
-    private Integer userId;
+    private Long userId;
 
     /**
      * 授权次数

+ 3 - 0
src/main/java/com/fdkankan/manage/entity/CameraDetail.java

@@ -147,5 +147,8 @@ public class CameraDetail implements Serializable {
     @TableField("last_request_time")
     private String lastRequestTime;
 
+    @TableField("agent_id")
+    private Integer agentId;
+
 
 }

+ 48 - 0
src/main/java/com/fdkankan/manage/entity/FolderScene.java

@@ -0,0 +1,48 @@
+package com.fdkankan.manage.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 2022-11-18
+ */
+@Getter
+@Setter
+@TableName("t_folder_scene")
+public class FolderScene implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    @TableField("folder_id")
+    private Long folderId;
+
+    @TableField("scene_id")
+    private Long sceneId;
+
+    @TableField("rec_status")
+    @TableLogic(value = "A",delval = "I")
+    private String recStatus;
+
+    @TableField("create_time")
+    private Date createTime;
+
+    @TableField("update_time")
+    private Date updateTime;
+
+
+}

+ 3 - 0
src/main/java/com/fdkankan/manage/entity/User.java

@@ -134,5 +134,8 @@ public class User implements Serializable {
     @TableField("update_time")
     private String updateTime;
 
+    @TableField("sys_user_id")
+    private Long sysUserId;
+
 
 }

+ 7 - 0
src/main/java/com/fdkankan/manage/entity/UserIncrement.java

@@ -94,5 +94,12 @@ public class UserIncrement implements Serializable {
     @TableField("download_num")
     private Integer downloadNum;
 
+    @TableField("agent_id")
+    private Integer agentId;
 
+    @TableField("member_levels")
+    private String memberLevels;
+
+    @TableField("month_qy")
+    private Integer monthQy;
 }

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

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

+ 1 - 1
src/main/java/com/fdkankan/manage/httpClient/client/FdKKClient.java

@@ -13,7 +13,7 @@ import java.util.HashMap;
 public interface FdKKClient {
 
 
-    @Get("/api/scene/file/rebuildScene")
+    @Get(value = "/api/scene/file/rebuildScene" ,timeout = 60000,connectTimeout = 60000)
     JSONObject rebuildScene( @Query HashMap<String, Object> param);
 
     @Get("/ucenter/_manage/_copy_scene")

+ 27 - 14
src/main/java/com/fdkankan/manage/httpClient/service/LaserService.java

@@ -3,6 +3,7 @@ package com.fdkankan.manage.httpClient.service;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.manage.common.CacheUtil;
 import com.fdkankan.manage.common.PageInfo;
 import com.fdkankan.manage.common.Result;
 import com.fdkankan.manage.entity.Camera;
@@ -33,7 +34,7 @@ import java.util.stream.Collectors;
 @Slf4j
 public class LaserService {
 
-    @Resource
+   @Autowired
     LaserClient laserClient;
     @Value("${4dkk.laserService.basePath}")
     private String basePath;
@@ -46,22 +47,25 @@ public class LaserService {
 
 
     public PageInfo pageList(SceneParam param) {
+        if( !CacheUtil.uploadType.equals("oss")){
+            return PageInfo.PageInfoEmpty(param.getPageNum(),param.getPageSize());
+        }
         LaserSceneParam laserSceneParam = getLaserSceneParam(param);
+        if(laserSceneParam == null ){
+            return PageInfo.PageInfoEmpty(param.getPageNum(),param.getPageSize());
+        }
         FdkkResponse response = laserClient.sceneList(laserSceneParam);
         JSONObject jsonObject =response.getData();
         if(jsonObject == null){
-            Page<SceneVo> voPage = new Page<>(param.getPageNum(),param.getPageSize());
-            voPage.setRecords(new ArrayList<>());
-            voPage.setTotal(0);
-            return PageInfo.PageInfo(voPage);
+            return PageInfo.PageInfoEmpty(param.getPageNum(),param.getPageSize());
         }
         JSONArray list = jsonObject.getJSONArray("list");
         long total =jsonObject.getLong("total");
 
         List<SceneVo> sceneVoList = new ArrayList<>();
         String newBasePath = basePath;
-        //String newBasePath = basePath.contains("uat")? basePath += "/uat" : basePath;
-        newBasePath = newBasePath.contains("dev")? newBasePath += "/dev" : newBasePath;
+        newBasePath = newBasePath.contains("dev")? newBasePath + "/dev" : newBasePath;
+        newBasePath = newBasePath.contains("uat")? newBasePath + "/uat" : newBasePath;
         newBasePath =  newBasePath.replace("/backend","");
         for (Object o : list) {
             String res = JSONObject.toJSONString(o);
@@ -89,9 +93,13 @@ public class LaserService {
     }
 
     private LaserSceneParam getLaserSceneParam(SceneParam param) {
+        LaserSceneParam newParam = new LaserSceneParam();
         if(param.getCompanyId()!= null){ //客户场景
             List<CameraDetail> cameraDetails = cameraDetailService.getListByCompanyId(param.getCompanyId());
             param.setSnCodes(this.setSnCodes(cameraDetails));
+            if(param.getSnCodes() == null || param.getSnCodes().size() <=0){
+                return null;
+            }
         }
         if(StringUtils.isNotBlank(param.getUserName())){
             List<CameraDetail> cameraDetails = cameraDetailService.getByUserName(param.getUserName());
@@ -101,7 +109,7 @@ public class LaserService {
                 (param.getSnCodes() == null || param.getSnCodes().size() <=0)){
             param.setSnCode("phoneEmptySelect");
         }
-        LaserSceneParam newParam = new LaserSceneParam();
+
         BeanUtils.copyProperties(param,newParam);
         newParam.setTitle(param.getSceneName());
         return newParam;
@@ -179,13 +187,18 @@ public class LaserService {
     }
 
     public void delete(String num) {
-        Map<String,Object> params = new HashMap<>();
-        params.put("sceneCode", num);
-        params.put("status", -1);
-        Result result = laserClient.saveOrEdit(num, params);
-        if(result.getCode() != HttpStatus.OK.value()){
-            log.error("激光场景状态同步失败!");
+        try {
+            Map<String,Object> params = new HashMap<>();
+            params.put("sceneCode", num);
+            params.put("status", -1);
+            Result result = laserClient.saveOrEdit(num, params);
+            if(result.getCode() != HttpStatus.OK.value()){
+                log.error("激光场景状态同步失败!");
+            }
+        }catch (Exception e){
+            log.error("激光场景状态同步失败!",e);
         }
+
     }
 
 

+ 18 - 0
src/main/java/com/fdkankan/manage/mapper/IFolderSceneMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.manage.mapper;
+
+import com.fdkankan.manage.entity.FolderScene;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 文件夹和场景关联表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2022-11-18
+ */
+@Mapper
+public interface IFolderSceneMapper extends BaseMapper<FolderScene> {
+
+}

+ 1 - 1
src/main/java/com/fdkankan/manage/mapper/IScenePlusMapper.java

@@ -20,7 +20,7 @@ import java.util.List;
 @Mapper
 public interface IScenePlusMapper extends BaseMapper<ScenePlus> {
 
-    List<GroupByCount> getCountGroupByUserId(List<Long> userIdList);
+    List<GroupByCount> getCountGroupByUserId(@Param("userIdList") List<Long> userIdList, @Param("isObj") Integer isObj);
 
     List<GroupByCount> getCountGroupByCameraId(@Param("cameraIds") List<Long> cameraIds);
 }

+ 1 - 1
src/main/java/com/fdkankan/manage/mapper/ISceneProMapper.java

@@ -22,7 +22,7 @@ import java.util.List;
 @Mapper
 public interface ISceneProMapper extends BaseMapper<ScenePro> {
 
-    List<GroupByCount> getCountGroupByUserId(@Param("userIdList") List<Long> userIdList);
+    List<GroupByCount> getCountGroupByUserId(@Param("userIdList") List<Long> userIdList,@Param("isObj") Integer isObj);
 
     List<GroupByCount> getCountGroupByCameraId(@Param("cameraIds") List<Long> cameraIds);
 

+ 3 - 0
src/main/java/com/fdkankan/manage/service/IAgentNewLogService.java

@@ -3,6 +3,7 @@ package com.fdkankan.manage.service;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.manage.entity.AgentNewLog;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.manage.entity.UserIncrement;
 import com.fdkankan.manage.vo.request.AgentNewLogParam;
 import com.fdkankan.manage.vo.response.AgentNewLogVo;
 
@@ -19,4 +20,6 @@ import java.util.List;
 public interface IAgentNewLogService extends IService<AgentNewLog> {
 
     List<AgentNewLogVo> getVoList( AgentNewLogParam param);
+
+    void addByUserIncrement(UserIncrement userIncrement);
 }

+ 4 - 0
src/main/java/com/fdkankan/manage/service/IAgentNewService.java

@@ -27,4 +27,8 @@ public interface IAgentNewService extends IService<AgentNew> {
     Object logList(AgentNewLogParam param);
 
     void export(HttpServletRequest req, HttpServletResponse resp);
+
+    AgentNew getByName(String agentName);
+
+    void checkUserName(String userName);
 }

+ 4 - 0
src/main/java/com/fdkankan/manage/service/ICameraDetailService.java

@@ -35,4 +35,8 @@ public interface ICameraDetailService extends IService<CameraDetail> {
     List<CameraDetail> getListByCompanyId(Integer companyId);
 
     List<CameraDetail> getByUserName(String userName);
+
+    void delAgentId(Integer agentId);
+
+    List<CameraDetail> getByUserId(Long id);
 }

+ 4 - 0
src/main/java/com/fdkankan/manage/service/IDownloadOrderService.java

@@ -1,9 +1,11 @@
 package com.fdkankan.manage.service;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.manage.common.PageInfo;
 import com.fdkankan.manage.entity.DownloadOrder;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.fdkankan.manage.vo.request.OrderParam;
+import com.fdkankan.manage.vo.response.DownOrderVo;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -21,4 +23,6 @@ public interface IDownloadOrderService extends IService<DownloadOrder> {
     PageInfo pageList(OrderParam param);
 
     void export(HttpServletRequest req, HttpServletResponse resp);
+
+    Page<DownOrderVo> pageListByParam(OrderParam orderParam);
 }

+ 17 - 0
src/main/java/com/fdkankan/manage/service/IFolderSceneService.java

@@ -0,0 +1,17 @@
+package com.fdkankan.manage.service;
+
+import com.fdkankan.manage.entity.FolderScene;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 文件夹和场景关联表 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2022-11-18
+ */
+public interface IFolderSceneService extends IService<FolderScene> {
+
+    void delBySceneId(Long sceneId);
+}

+ 2 - 0
src/main/java/com/fdkankan/manage/service/IScenePlusExtService.java

@@ -19,4 +19,6 @@ public interface IScenePlusExtService extends IService<ScenePlusExt> {
     ScenePlusExt getByPlusId(Long plusId);
 
     HashMap<Long, ScenePlusExt> getByPlusIds(List<Long> plusIds);
+
+    void delByPlus(Long plusId);
 }

+ 1 - 1
src/main/java/com/fdkankan/manage/service/IScenePlusService.java

@@ -22,7 +22,7 @@ public interface IScenePlusService extends IService<ScenePlus> {
 
     void unbindCamera(Long cameraId);
 
-    HashMap<Long, Long> getCountGroupByUserId(List<Long> userIdList);
+    HashMap<Long, Long> getCountGroupByUserId(List<Long> userIdList,Integer isObj);
 
     HashMap<Long, Long> getCountGroupByCameraId(ArrayList<Long> longs);
 }

+ 4 - 1
src/main/java/com/fdkankan/manage/service/ISceneProService.java

@@ -8,6 +8,7 @@ import com.fdkankan.manage.vo.request.SceneParam;
 
 import java.util.HashMap;
 import java.util.List;
+import java.util.Set;
 
 /**
  * <p>
@@ -25,7 +26,7 @@ public interface ISceneProService extends IService<ScenePro> {
 
     List<ScenePro> getListByCameraId(Long cameraId);
 
-    HashMap<Long, Long> getCountGroupByUserId(List<Long> userIdList);
+    HashMap<Long, Long> getCountGroupByUserId(List<Long> userIdList,Integer isObj);
 
     HashMap<Long, Long>  getCountGroupByCameraId(List<Long> cameraIds);
 
@@ -42,4 +43,6 @@ public interface ISceneProService extends IService<ScenePro> {
     Long getKkCount(List<String> asList, String startTime);
     Long getSsCount(List<String> asList, String startTime);
     Long getSsObjCount(List<String> asList, String startTime);
+
+    HashMap<String, String> getSnCodeByNumList(Set<String> numList);
 }

+ 4 - 0
src/main/java/com/fdkankan/manage/service/ISysMenuService.java

@@ -1,6 +1,8 @@
 package com.fdkankan.manage.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.manage.entity.SysRole;
+import com.fdkankan.manage.entity.SysUser;
 import com.fdkankan.manage.vo.request.RequestBase;
 import com.fdkankan.manage.common.PageInfo;
 import com.fdkankan.manage.entity.SysMenu;
@@ -34,4 +36,6 @@ public interface ISysMenuService extends IService<SysMenu> {
     HashMap<Long, SysMenu> getByIds(List<Long> menuIds);
 
     List<Long> getMenuIdsByRoleId(Long roleId);
+
+    void setRoleAndMenuCache(SysRole role, SysUser sysUser);
 }

+ 3 - 0
src/main/java/com/fdkankan/manage/service/ISysUserService.java

@@ -7,6 +7,7 @@ import com.fdkankan.manage.vo.request.SysUserParam;
 import com.fdkankan.manage.vo.response.ManageLoginResponse;
 
 import java.util.HashMap;
+import java.util.Set;
 
 /**
  * <p>
@@ -27,4 +28,6 @@ public interface ISysUserService extends IService<SysUser> {
     PageInfo pageList(SysUserParam param);
 
     HashMap<Long, Long> groupByRoleId();
+
+    HashMap<Long, SysUser> getByIds(Set<Long> sysUserIds);
 }

+ 3 - 0
src/main/java/com/fdkankan/manage/service/IUserIncrementService.java

@@ -33,4 +33,7 @@ public interface IUserIncrementService extends IService<UserIncrement> {
     Long getValidCountByCameraId(Long cameraId);
 
     UserIncrement getByCameraId(Long cameraId);
+
+
+    void delAgentId(Integer agentId);
 }

+ 8 - 0
src/main/java/com/fdkankan/manage/service/IUserService.java

@@ -31,4 +31,12 @@ public interface IUserService extends IService<User> {
     List<User> getByUserName(String userName);
 
     Boolean checkUserName(String userName);
+
+    void addUcenterUser(UserParam userParam);
+
+    void delUcenterUser(UserParam userParam);
+
+    void ReUcenterUserPassword(UserParam userParam);
+
+    void updateUcenterUser(UserParam userParam);
 }

+ 28 - 3
src/main/java/com/fdkankan/manage/service/impl/AgentNewLogServiceImpl.java

@@ -1,12 +1,16 @@
 package com.fdkankan.manage.service.impl;
+import java.util.Date;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.manage.entity.AgentNew;
 import com.fdkankan.manage.entity.AgentNewLog;
+import com.fdkankan.manage.entity.IncrementType;
+import com.fdkankan.manage.entity.UserIncrement;
 import com.fdkankan.manage.mapper.IAgentNewLogMapper;
 import com.fdkankan.manage.service.IAgentNewLogService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.manage.service.IAgentNewService;
+import com.fdkankan.manage.service.IIncrementTypeService;
 import com.fdkankan.manage.vo.request.AgentNewLogParam;
 import com.fdkankan.manage.vo.response.AgentLogGVo;
 import com.fdkankan.manage.vo.response.AgentNewLogVo;
@@ -30,6 +34,8 @@ public class AgentNewLogServiceImpl extends ServiceImpl<IAgentNewLogMapper, Agen
 
     @Autowired
     IAgentNewService agentNewService;
+    @Autowired
+    IIncrementTypeService incrementTypeService;
 
     @Override
     public List<AgentNewLogVo> getVoList( AgentNewLogParam param) {
@@ -47,9 +53,9 @@ public class AgentNewLogServiceImpl extends ServiceImpl<IAgentNewLogMapper, Agen
 
             }
             switch (gVo.getType()){
-                case 0 : vo.setMajorNum(gVo.getNum() + vo.getMajorNum());
-                case 1 : vo.setHighNum(gVo.getNum() + vo.getHighNum());
-                case 2 : vo.setDownNum(gVo.getNum() + vo.getDownNum());
+                case 0 : vo.setMajorNum(gVo.getNum() + vo.getMajorNum());break;
+                case 1 : vo.setHighNum(gVo.getNum() + vo.getHighNum());break;
+                case 2 : vo.setDownNum(gVo.getNum() + vo.getDownNum());break;
             }
             map.put(gVo.getAgentId(),vo);
         }
@@ -59,4 +65,23 @@ public class AgentNewLogServiceImpl extends ServiceImpl<IAgentNewLogMapper, Agen
         }
         return list;
     }
+
+    @Override
+    public void addByUserIncrement(UserIncrement userIncrement) {
+        if(userIncrement.getAgentId() !=null){
+            AgentNewLog log = new AgentNewLog();
+            if(userIncrement.getIncrementTypeId() != null){
+                IncrementType incrementType = incrementTypeService.getById(userIncrement.getIncrementTypeId());
+                if(incrementType!=null){
+                    log.setType(incrementType.getValidTimeType());
+                }
+            }
+            log.setAgentId(userIncrement.getAgentId());
+            log.setUserId(userIncrement.getUserId());
+            log.setGiveType(3);
+            log.setCount(1);
+            this.save(log);
+        }
+
+    }
 }

+ 25 - 1
src/main/java/com/fdkankan/manage/service/impl/AgentNewServiceImpl.java

@@ -24,12 +24,14 @@ import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
+import java.util.WeakHashMap;
 
 /**
  * <p>
@@ -85,7 +87,7 @@ public class AgentNewServiceImpl extends ServiceImpl<IAgentNewMapper, AgentNew>
         if(agentNew == null){
             throw new BusinessException(ResultCode.AGENT_NEW_EMPTY);
         }
-        if(param.getDownAddNum() <=0 || param.getMajorAddNum() <=0 || param.getHighAddNum() <=0  ){
+        if(param.getDownAddNum() <=0 && param.getMajorAddNum() <=0 && param.getHighAddNum() <=0  ){
             return;
         }
         LambdaUpdateWrapper<AgentNew> wrapper = new LambdaUpdateWrapper<>();
@@ -104,12 +106,34 @@ public class AgentNewServiceImpl extends ServiceImpl<IAgentNewMapper, AgentNew>
     }
 
     @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 Object logList(AgentNewLogParam param) {
         CacheUtil.agentParam = param;
         return agentNewLogService.getVoList(param);
     }
 
     @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 export(HttpServletRequest req, HttpServletResponse resp) {
         AgentNewLogParam param = CacheUtil.agentParam;
         List<AgentNewLogVo> voList = agentNewLogService.getVoList(param);

+ 7 - 4
src/main/java/com/fdkankan/manage/service/impl/AppFileServiceImpl.java

@@ -40,11 +40,11 @@ import java.util.stream.Collectors;
 @Slf4j
 public class AppFileServiceImpl extends ServiceImpl<IAppFileMapper, AppFile> implements IAppFileService {
 
-    @Resource
+   @Autowired
     private FYunFileServiceInterface fYunFileServiceInterface;
-    @Value("${upload.type}")
+    @Value("${fyun.type}")
     private String ossType;
-    @Value("${oss.prefix.ali}")
+    @Value("${fyun.host}")
     private String prefixAli;
 
     @Override
@@ -91,7 +91,10 @@ public class AppFileServiceImpl extends ServiceImpl<IAppFileMapper, AppFile> imp
         for (String key : strings) {
             String agent = key.replace(FilePath.appOssPath,"");
             String[] split = agent.split("/");
-            keys.add(split[0]);
+            String res = split[0];
+            if(StringUtils.isNotBlank(res)){
+                keys.add(res);
+            }
         }
         return keys;
     }

+ 19 - 1
src/main/java/com/fdkankan/manage/service/impl/CameraDetailServiceImpl.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.common.constant.Constant;
+import com.fdkankan.manage.common.CacheUtil;
 import com.fdkankan.manage.common.PageInfo;
 import com.fdkankan.manage.common.ResultCode;
 import com.fdkankan.manage.exception.BusinessException;
@@ -81,7 +82,9 @@ public class CameraDetailServiceImpl extends ServiceImpl<ICameraDetailMapper, Ca
         wrapper.set(CameraDetail::getTotalSpace,Long.parseLong(Constant.EXPANSION_SPACE_VALUE_1G ) * 10L);
         this.update(wrapper);
 
-        sceneProService.lockOrUnLockBySpace(cameraDetail,cameraId,-2);     //封存场景
+        if(!"local".equals(CacheUtil.uploadType)){
+            sceneProService.lockOrUnLockBySpace(cameraDetail,cameraId,-2);     //封存场景
+        }
 
     }
 
@@ -199,4 +202,19 @@ public class CameraDetailServiceImpl extends ServiceImpl<ICameraDetailMapper, Ca
         }
         return null;
     }
+
+    @Override
+    public void delAgentId(Integer agentId) {
+        LambdaUpdateWrapper<CameraDetail> wrapper = new LambdaUpdateWrapper<>();
+        wrapper.eq(CameraDetail::getAgentId,agentId);
+        wrapper.set(CameraDetail::getAgentId,null);
+        this.update(wrapper);
+    }
+
+    @Override
+    public List<CameraDetail> getByUserId(Long userId) {
+        LambdaQueryWrapper<CameraDetail> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(CameraDetail::getUserId,userId);
+        return this.list(wrapper);
+    }
 }

+ 23 - 13
src/main/java/com/fdkankan/manage/service/impl/CameraServiceImpl.java

@@ -7,17 +7,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.common.constant.Constant;
 import com.fdkankan.common.util.MD5;
-import com.fdkankan.manage.common.ExcelErrorUtil;
-import com.fdkankan.manage.common.ResultCode;
-import com.fdkankan.manage.entity.Order;
+import com.fdkankan.manage.common.*;
+import com.fdkankan.manage.entity.*;
 import com.fdkankan.manage.exception.BusinessException;
-import com.fdkankan.manage.common.PageInfo;
 import com.fdkankan.common.util.DateUtil;
-import com.fdkankan.manage.common.CameraTypeEnum;
 import com.fdkankan.manage.constant.CameraConstant;
-import com.fdkankan.manage.entity.Camera;
-import com.fdkankan.manage.entity.CameraDetail;
-import com.fdkankan.manage.entity.Company;
 import com.fdkankan.manage.mapper.ICameraMapper;
 import com.fdkankan.manage.service.*;
 import com.fdkankan.manage.util.Dateutils;
@@ -60,7 +54,7 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
     ICompanyService companyService;
     @Autowired
     IExcelService excelService;
-    @Value("${upload.type}")
+    @Value("${fyun.type}")
     private String ossType;
 
     @Override
@@ -122,12 +116,15 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
         }
         saveBatchCamera(Collections.singletonList(wifiName));
     }
-    
+
     private Integer saveBatchCamera(List<String> wifiNameList){
         HashSet<String> wifiNameSet = new HashSet<>(wifiNameList);
         List<Camera> cameraList = new ArrayList<>();
         for (String wifiName : wifiNameSet) {
             String[] res = wifiName.split("_");
+            if(res.length !=2 || StringUtils.isBlank(res[1])){
+                throw new BusinessException(ResultCode.WIFI_NAME_ERROR);
+            }
             Camera camera = new Camera();
             camera.setWifiName(wifiName);
             camera.setSnCode(res[1]);
@@ -149,9 +146,6 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
             cameraDetail.setAgency(CameraConstant.DEFAULT_AGENT);
             cameraDetail.setCameraId(camera.getId());
             cameraDetail.setCountry(0);//默认中国
-            if("aws".equals(ossType)){
-                cameraDetail.setCountry(1);//1-国外
-            }
             cameraDetail.setType(type);
             if (1 == cameraDetail.getType() || 9 == cameraDetail.getType() || 10 == cameraDetail.getType()){
                 cameraDetail.setTotalSpace(Long.valueOf(Constant.CAMERA_BASE_SPACE_VALUE));
@@ -160,7 +154,15 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
             if(type != 9 && type != 10){
                 type = type == 0 ? 1: 4;
             }
+            if("aws".equals(CacheUtil.uploadType)){
+                cameraDetail.setCountry(1);//1-国外
+            }
             cameraDetail.setGoodsId(Long.valueOf(type));
+            if("local".equals(CacheUtil.uploadType)) { //本地版本 ,入库即出库,并且添加无限期会员权限
+                cameraDetail.setCountry(2);
+                cameraDetail.setOwn(2);
+                cameraDetail.setOutTime(Dateutils.getDate(new Date()));
+            }
             cameraDetailList.add(cameraDetail);
         }
         return  cameraDetailService.saveBatch(cameraDetailList) ? cameraList.size() : 0;
@@ -293,6 +295,9 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
             if(cameraDetail == null){
                 throw new BusinessException(ResultCode.CAMERA_NOT_IN);
             }
+            if(param.getAgentId() != null){
+                cameraDetail.setAgentId(param.getAgentId());
+            }
             cameraDetail.setOrderSn(param.getOrderSn());
             cameraDetail.setOwn(param.getOutType());
             cameraDetail.setCompanyId(param.getCompanyId());
@@ -363,6 +368,11 @@ IOrderService orderService;
         }else {
             wrapper.set(CameraDetail::getOrderSn,null);
         }
+        if(param.getAgentId() != null){
+            wrapper.set(CameraDetail::getAgentId,param.getAgentId());
+        }else {
+            wrapper.set(CameraDetail::getAgentId,null);
+        }
         wrapper.set(CameraDetail::getOwn,param.getOutType());
         cameraDetailService.update(wrapper);
     }

+ 13 - 14
src/main/java/com/fdkankan/manage/service/impl/CameraVersionServiceImpl.java

@@ -55,7 +55,7 @@ public class CameraVersionServiceImpl extends ServiceImpl<ICameraVersionMapper,
 
     @Value("${fyun.host:https://4dkk.4dage.com/}")
     private String ossUrlPrefix;
-    @Resource
+   @Autowired
     private FYunFileServiceInterface fYunFileServiceInterface;
     @Autowired
     ISysUserService sysUserService;
@@ -85,12 +85,12 @@ public class CameraVersionServiceImpl extends ServiceImpl<ICameraVersionMapper,
         file.transferTo(file1);
 
         // 添加对象信息
-        switch (type){
-            case 1: type = 1;break;
-            case 2: type = 9;break;
-            case 3: type = 10;break;
-            default: throw new BusinessException(ResultCode.CAMERA_TYPE_ERROR);
-        }
+//        switch (type){
+//            case 1: type = 1;break;
+//            case 2: type = 9;break;
+//            case 3: type = 10;break;
+//            default: throw new BusinessException(ResultCode.CAMERA_TYPE_ERROR);
+//        }
         List<CameraVersion> cameraVersions = this.getByVersion(version,type);
         if(cameraVersions != null && cameraVersions.size() >0){
             throw new BusinessException(ResultCode.VISION_EXIST.code(),ResultCode.VISION_EXIST.message());
@@ -127,12 +127,12 @@ public class CameraVersionServiceImpl extends ServiceImpl<ICameraVersionMapper,
     @Override
     public PageInfo pageList(CameraVersionParam param) {
         Integer type = param.getType();
-        switch (type){
-            case 1: type = 1;break;
-            case 2: type = 9;break;
-            case 3: type = 10;break;
-            default: throw new BusinessException(ResultCode.CAMERA_TYPE_ERROR);
-        }
+//        switch (type){
+//            case 1: type = 1;break;     //看看
+//            case 2: type = 9;break;     //看见
+//            case 3: type = 10;break;    //深时
+//            default: throw new BusinessException(ResultCode.CAMERA_TYPE_ERROR);
+//        }
         LambdaQueryWrapper<CameraVersion> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(CameraVersion::getType,type);
         if (StringUtils.isNotBlank(param.getVersion())) {
@@ -186,7 +186,6 @@ public class CameraVersionServiceImpl extends ServiceImpl<ICameraVersionMapper,
                         .eq(CameraVersion::getType,param.getType());
                 this.update(updateWrapper);
             }
-            cameraVersion.setStatus(param.getStatus());
             this.updateById(param);
             return;
         }

+ 1 - 1
src/main/java/com/fdkankan/manage/service/impl/CommonServiceImpl.java

@@ -30,7 +30,7 @@ public class CommonServiceImpl implements ICommonService {
 
     @Value("${fyun.host:https://4dkk.4dage.com/}")
     private String ossUrlPrefix;
-    @Resource
+   @Autowired
     private FYunFileServiceInterface fYunFileServiceInterface;
 
     @Override

+ 1 - 1
src/main/java/com/fdkankan/manage/service/impl/DataService.java

@@ -23,7 +23,7 @@ public class DataService implements IDataService {
     static String mouthFormat = "%Y-%m";
     static String yearFormat = "%Y";
 
-    @Resource
+   @Autowired
     IDataMapper dataMapper;
     @Autowired
     IUserService userService;

+ 19 - 22
src/main/java/com/fdkankan/manage/service/impl/DownloadOrderServiceImpl.java

@@ -20,6 +20,9 @@ import org.springframework.stereotype.Service;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.util.HashMap;
+import java.util.Set;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -45,30 +48,24 @@ public class DownloadOrderServiceImpl extends ServiceImpl<IDownloadOrderMapper,
     @Override
     public PageInfo pageList(OrderParam param) {
         CacheUtil.orderParam = param;
-        Page<DownOrderVo> page = this.getBaseMapper().pageList(new Page<>(param.getPageNum(),param.getPageSize()),param);
+        return PageInfo.PageInfo(this.pageListByParam(param));
+    }
+
+    @Override
+    public Page<DownOrderVo> pageListByParam(OrderParam orderParam) {
+        Page<DownOrderVo> page = this.getBaseMapper().pageList(new Page<>(orderParam.getPageNum(), orderParam.getPageSize()), orderParam);
+        Set<String> numList = page.getRecords().stream().map(DownOrderVo::getSceneNum).collect(Collectors.toSet());
+        HashMap<String,String> snCodeMap = new HashMap<>();
+        if(numList.size() >0){
+             snCodeMap = sceneProService.getSnCodeByNumList(numList);
+        }
         for (DownOrderVo record : page.getRecords()) {
-            record.setCreateTime(record.getTradeTime());
             if(StringUtils.isNotBlank(record.getSceneNum())){
-                Long cameraId = null;
-                ScenePro pro = sceneProService.getByNum(record.getSceneNum());
-                if(pro == null){
-                    ScenePlus plus = scenePlusService.getByNum(record.getSceneNum());
-                    if(plus!= null){
-                        cameraId = plus.getCameraId();
-                    }
-                }else {
-                    cameraId = pro.getCameraId();
-                }
-                if(cameraId != null){
-                    Camera camera = cameraService.getById(cameraId);
-                    if(camera != null){
-                        record.setSnCode(camera.getSnCode());
-                    }
-                }
+                record.setSnCode(snCodeMap.get(record.getSceneNum()));
             }
-
+            record.setCreateTime(record.getTradeTime());
         }
-        return PageInfo.PageInfo(page);
+        return page;
     }
 
     @Override
@@ -76,7 +73,7 @@ public class DownloadOrderServiceImpl extends ServiceImpl<IDownloadOrderMapper,
         OrderParam orderParam = CacheUtil.orderParam;
         orderParam.setPageNum(1);
         orderParam.setPageSize(5000);
-        Page<DownOrderVo> page = this.getBaseMapper().pageList(new Page<>(orderParam.getPageNum(),orderParam.getPageSize()),orderParam);
+        Page<DownOrderVo> page = this.pageListByParam(orderParam);
 
         ExcelWriter excelWriter = null;
         try {
@@ -84,7 +81,7 @@ public class DownloadOrderServiceImpl extends ServiceImpl<IDownloadOrderMapper,
             excelService.commonExport(req,resp,"下载订单",page.getRecords(),excelWriter);
             while (page.hasNext()){
                 orderParam.setPageNum(orderParam.getPageNum()+1);
-                page = this.getBaseMapper().pageList(new Page<>(orderParam.getPageNum(),orderParam.getPageSize()),orderParam);
+                page = this.pageListByParam(orderParam);
                 if(page.getRecords().size() >0){
                     excelService.commonExport(req,resp,"下载订单",page.getRecords(),excelWriter);
                 }

+ 31 - 0
src/main/java/com/fdkankan/manage/service/impl/ExcelServiceImpl.java

@@ -5,14 +5,17 @@ import com.alibaba.excel.ExcelWriter;
 import com.alibaba.excel.write.metadata.WriteSheet;
 import com.fdkankan.manage.common.ExcelErrorUtil;
 import com.fdkankan.manage.common.ResultCode;
+import com.fdkankan.manage.entity.AgentNew;
 import com.fdkankan.manage.exception.BusinessException;
 import com.fdkankan.manage.constant.CameraOutTypeEnum;
 import com.fdkankan.manage.entity.Company;
+import com.fdkankan.manage.service.IAgentNewService;
 import com.fdkankan.manage.service.ICameraService;
 import com.fdkankan.manage.service.ICompanyService;
 import com.fdkankan.manage.service.IExcelService;
 import com.fdkankan.manage.util.ExcelUtil;
 import com.fdkankan.manage.vo.request.CameraInOutParam;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -20,6 +23,7 @@ import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import javax.validation.constraints.Size;
 import java.io.IOException;
 import java.net.URLEncoder;
 import java.util.ArrayList;
@@ -35,12 +39,15 @@ import java.util.List;
  * @since 2022/6/6
  **/
 @Service
+@Slf4j
 public class ExcelServiceImpl implements IExcelService {
 
     @Autowired
     ICompanyService companyService;
     @Autowired
     ICameraService cameraService;
+    @Autowired
+    IAgentNewService agentNewService;
 
     public void commonExport(HttpServletRequest request, HttpServletResponse response,String name,List<?> result,ExcelWriter excelWriter) throws Exception {
         response.setContentType("application/vnd.ms-excel");
@@ -116,8 +123,11 @@ public class ExcelServiceImpl implements IExcelService {
                 String outTypeString = map.get(1);
                 String companyName = map.get(2);
                 String orderSn = map.get(3);
+                String agentName = map.get(4);
                 CameraOutTypeEnum outTypeEnum = CameraOutTypeEnum.getByMsg(outTypeString);
                 if(outTypeEnum == null || StringUtils.isBlank(snCode)){
+                    log.error("outError-->出库错误:出库类型为空或snCode为空:snCode:{},outType:{},companyName:{},orderSn:{},agentName:{}"
+                            ,snCode,outTypeString,companyName,orderSn,agentName);
                     errorIndex.add(index -3);
                 }
                 CameraInOutParam param = new CameraInOutParam();
@@ -125,6 +135,26 @@ public class ExcelServiceImpl implements IExcelService {
                     int outType = outTypeEnum.getCode();
                     param.setOutType(outType);
                 }
+                if(param.getOutType() != null && param.getOutType() == 4 && StringUtils.isBlank(agentName)){
+                    log.error("outError-->出库错误:经销商为空错误:snCode:{},outType:{},companyName:{},orderSn:{},agentName:{}"
+                            ,snCode,outTypeString,companyName,orderSn,agentName);
+                    errorIndex.add(index -3);
+                }
+                if(param.getOutType() != null && param.getOutType() != 4 && StringUtils.isNotBlank(agentName)){
+                    log.error("outError-->出库错误:出库类型错误:snCode:{},outType:{},companyName:{},orderSn:{},agentName:{}"
+                            ,snCode,outTypeString,companyName,orderSn,agentName);
+                    errorIndex.add(index -3);
+                }
+                if(StringUtils.isNotBlank(agentName)){
+                    AgentNew agentNew = agentNewService.getByName(agentName);
+                    if(agentNew == null){
+                        log.error("outError-->出库错误:代理商不存在:snCode:{},outType:{},companyName:{},orderSn:{},agentName:{}"
+                                ,snCode,outTypeString,companyName,orderSn,agentName);
+                        errorIndex.add(index -3);
+                    }else {
+                        param.setAgentId(agentNew.getId());
+                    }
+                }
                 param.setCompanyName(companyName);
                 param.setOrderSn(orderSn);
                 param.setSnCode(snCode);
@@ -150,6 +180,7 @@ public class ExcelServiceImpl implements IExcelService {
         if(type == 0 && wifiNameList.size() <=0){
             throw new BusinessException(ResultCode.IN_TEMPLATE_EMPTY);
         }else if(type == 1 && params.size() <=0){
+
             throw new BusinessException(ResultCode.OUT_TEMPLATE_EMPTY);
         }else if(type == 2 && companyParams.size() <=0){
             throw new BusinessException(ResultCode.COMPANY_TEMPLATE_EMPTY);

+ 27 - 0
src/main/java/com/fdkankan/manage/service/impl/FolderSceneServiceImpl.java

@@ -0,0 +1,27 @@
+package com.fdkankan.manage.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.fdkankan.manage.entity.FolderScene;
+import com.fdkankan.manage.mapper.IFolderSceneMapper;
+import com.fdkankan.manage.service.IFolderSceneService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 文件夹和场景关联表 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2022-11-18
+ */
+@Service
+public class FolderSceneServiceImpl extends ServiceImpl<IFolderSceneMapper, FolderScene> implements IFolderSceneService {
+
+    @Override
+    public void delBySceneId(Long sceneId) {
+        LambdaQueryWrapper<FolderScene> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(FolderScene::getSceneId,sceneId);
+        this.remove(wrapper);
+    }
+}

+ 7 - 0
src/main/java/com/fdkankan/manage/service/impl/ScenePlusExtServiceImpl.java

@@ -40,4 +40,11 @@ public class ScenePlusExtServiceImpl extends ServiceImpl<IScenePlusExtMapper, Sc
         list.forEach(entity -> map.put(entity.getPlusId(),entity));
         return map;
     }
+
+    @Override
+    public void delByPlus(Long plusId) {
+        LambdaQueryWrapper<ScenePlusExt> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(ScenePlusExt::getPlusId,plusId);
+        this.remove(wrapper);
+    }
 }

+ 2 - 2
src/main/java/com/fdkankan/manage/service/impl/ScenePlusServiceImpl.java

@@ -53,9 +53,9 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
     }
 
     @Override
-    public HashMap<Long, Long> getCountGroupByUserId(List<Long> userIdList) {
+    public HashMap<Long, Long> getCountGroupByUserId(List<Long> userIdList,Integer isObj) {
         HashMap<Long,Long> map = new HashMap<>();
-        List<GroupByCount> result = this.getBaseMapper().getCountGroupByUserId(userIdList);
+        List<GroupByCount> result = this.getBaseMapper().getCountGroupByUserId(userIdList,isObj);
         result.forEach(entity ->map.put(entity.getId(),entity.getCount()));
         return map;
     }

+ 69 - 10
src/main/java/com/fdkankan/manage/service/impl/SceneProServiceImpl.java

@@ -64,7 +64,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
     IIncrementTypeService incrementTypeService;
     @Autowired
     ISceneProEditService sceneProEditService;
-    @Resource
+    @Autowired
     FYunFileServiceInterface fYunFileServiceInterface;
     @Autowired
     IScenePlusService scenePlusService;
@@ -76,8 +76,10 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
     IScenePlusExtService scenePlusExtService;
     @Autowired
     LaserService laserService;
-    @Resource
+    @Autowired
     FdKKClient fdKKClient;
+    @Autowired
+    IFolderSceneService folderSceneService;
 
 
     @Override
@@ -93,9 +95,9 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
     }
 
     @Override
-    public HashMap<Long, Long> getCountGroupByUserId(List<Long> userIdList) {
+    public HashMap<Long, Long> getCountGroupByUserId(List<Long> userIdList,Integer isObj) {
         HashMap<Long,Long> map = new HashMap<>();
-        List<GroupByCount> result = this.getBaseMapper().getCountGroupByUserId(userIdList);
+        List<GroupByCount> result = this.getBaseMapper().getCountGroupByUserId(userIdList,isObj);
         result.forEach(entity ->map.put(entity.getId(),entity.getCount()));
         return map;
     }
@@ -329,7 +331,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
             throw new BusinessException(SceneConstant.FAILURE_CODE_5037, SceneConstant.FAILURE_MSG_5037);
         }
 
-        Long cameraId = scenePro == null ? scenePlus.getCameraId() : scenePro.getCameraId();
+        Long sceneCameraId = scenePro == null ? scenePlus.getCameraId() : scenePro.getCameraId();
         Long space = scenePro == null ? 0 :scenePro.getSpace();
         if(scenePlus !=null){
             ScenePlusExt scenePlusExt = scenePlusExtService.getByPlusId(scenePlus.getId());
@@ -339,7 +341,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         Long newUseSpace = space + cameraDetail.getUsedSpace();
 
         Long totalSpace = cameraDetail.getTotalSpace();
-        UserIncrement userIncrement = userIncrementService.getByCameraId(cameraId);
+        UserIncrement userIncrement = userIncrementService.getByCameraId(camera.getId());
         if(userIncrement!=null){
             IncrementType incrementType = incrementTypeService.getById(userIncrement.getIncrementTypeId());
             if(incrementType!=null){
@@ -355,7 +357,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
             throw new BusinessException(ResultCode.CAMERA_SPACE_ERROR);
         }
 
-        Camera oldCamera = cameraService.getById(cameraId);
+        Camera oldCamera = cameraService.getById(sceneCameraId);
         if(oldCamera == null){
             throw new BusinessException(ResultCode.CAMERA_NOT_EXIST);
         }
@@ -363,6 +365,9 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         if(oldCameraDetail == null){
             throw new BusinessException(ResultCode.CAMERA_NOT_EXIST);
         }
+        if(oldCameraDetail.getCameraId().equals(cameraDetail.getCameraId())){
+            throw new BusinessException(ResultCode.CAMERA_NOT_MOVE);
+        }
         if(!oldCameraDetail.getType().equals(cameraDetail.getType())){
             throw new BusinessException(ResultCode.CAMERA_TYPE_NOT_ERROR);
         }
@@ -378,12 +383,16 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         cameraDetail.setUsedSpace(newUseSpace);
         cameraDetailService.updateById(cameraDetail);
 
+
+
         if(scenePro!=null){
             LambdaUpdateWrapper<ScenePro> wrapper = new LambdaUpdateWrapper<>();
             wrapper.eq(ScenePro::getId,scenePro.getId());
             wrapper.set(ScenePro::getCameraId,camera.getId());
             wrapper.set(ScenePro::getUserId,cameraDetail.getUserId());
             this.update(wrapper);
+            //场景迁移到另外的相机清除本身在的文件夹
+            folderSceneService.delBySceneId(scenePro.getId());
         }
         if(scenePlus!=null){
             LambdaUpdateWrapper<ScenePlus> wrapper = new LambdaUpdateWrapper<>();
@@ -391,6 +400,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
             wrapper.set(ScenePlus::getCameraId,camera.getId());
             wrapper.set(ScenePlus::getUserId,cameraDetail.getUserId());
             scenePlusService.update(wrapper);
+            folderSceneService.delBySceneId(scenePlus.getId());
         }
         if(cameraDetail.getType() == 10){       //深时场景
             laserService.move(param.getNum(),oldCamera.getSnCode(),camera.getSnCode());
@@ -437,8 +447,11 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         ScenePlus scenePlus = scenePlusService.getByNum(num);
         if(scenePlus!=null){
             scenePlusService.removeById(scenePlus.getId());
+            scenePlusExtService.delByPlus(scenePlus.getId());
+        }
+        if(num.contains("SS")){
+            laserService.delete(num);
         }
-        laserService.delete(num);
     }
 
     @Override
@@ -472,11 +485,15 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         LambdaQueryWrapper<ScenePro> wrapper = new LambdaQueryWrapper<>();
         wrapper.in(ScenePro::getSceneSource,asList);
         wrapper.eq(ScenePro::getIsUpgrade,0);
-        wrapper.lt(ScenePro::getCreateTime,startTime);
+        if(StringUtils.isNotBlank(startTime)){
+            wrapper.lt(ScenePro::getCreateTime,startTime);
+        }
         wrapper.eq(ScenePro::getIsObj,1);
         LambdaQueryWrapper<ScenePlus> wrapper2 = new LambdaQueryWrapper<>();
         wrapper2.in(ScenePlus::getSceneSource,asList);
-        wrapper2.lt(ScenePlus::getCreateTime,startTime);
+        if(StringUtils.isNotBlank(startTime)){
+            wrapper2.lt(ScenePlus::getCreateTime,startTime);
+        }
         List<ScenePlus> list = scenePlusService.list(wrapper2);
         List<Long> plusIds = list.stream().map(ScenePlus::getId).collect(Collectors.toList());
         long count = 0L;
@@ -489,4 +506,46 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         }
         return this.count(wrapper) + count;
     }
+
+    @Override
+    public HashMap<String, String> getSnCodeByNumList(Set<String> numList) {
+        HashMap<String, Long> sceneMap = new HashMap<>();
+        HashMap<Long, String> cameraMap = new HashMap<>();
+        HashMap<String, String> snCodeMap = new HashMap<>();
+
+        LambdaQueryWrapper<ScenePro> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(ScenePro::getIsUpgrade,0);
+        wrapper.in(ScenePro::getNum,numList);
+        List<ScenePro> list = this.list(wrapper);
+        if(list.size() >0){
+            list.forEach(entity -> sceneMap.put(entity.getNum(),entity.getCameraId()));
+        }
+
+        LambdaQueryWrapper<ScenePlus> wrapper2 = new LambdaQueryWrapper<>();
+        wrapper2.in(ScenePlus::getNum,numList);
+        List<ScenePlus> list2 = scenePlusService.list(wrapper2);
+        if(list2.size() >0){
+            list2.forEach(entity -> sceneMap.put(entity.getNum(),entity.getCameraId()));
+        }
+        if(sceneMap.size() <=0){
+            return snCodeMap;
+        }
+        Set<Long> cameraIds = list.stream().map(ScenePro::getCameraId).collect(Collectors.toSet());
+        Set<Long> cameraIds2 = list2.stream().map(ScenePlus::getCameraId).collect(Collectors.toSet());
+
+        cameraIds.addAll(cameraIds2);
+
+        if(cameraIds.size() >0){
+            List<Camera> cameraList = cameraService.listByIds(cameraIds);
+            cameraList.forEach(entity -> cameraMap.put(entity.getId(),entity.getSnCode()));
+            for (String num : numList) {
+                Long cameraId = sceneMap.get(num);
+                if(cameraId != null){
+                    snCodeMap.put(num,cameraMap.get(cameraId));
+                }
+            }
+        }
+
+        return snCodeMap;
+    }
 }

+ 1 - 1
src/main/java/com/fdkankan/manage/service/impl/SpaceSdkServiceImpl.java

@@ -51,7 +51,7 @@ public class SpaceSdkServiceImpl extends ServiceImpl<ISpaceSdkMapper, SpaceSdk>
 
     private static String DIR_NAME = "new4dkk/v2/images/_/common/data/";
 
-    @Resource
+   @Autowired
     FYunFileServiceInterface fYunFileServiceInterface;
     @Autowired
     ISysUserService sysUserService;

+ 21 - 4
src/main/java/com/fdkankan/manage/service/impl/SysMenuServiceImpl.java

@@ -1,19 +1,20 @@
 package com.fdkankan.manage.service.impl;
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.manage.config.MenuInit;
+import com.fdkankan.manage.entity.*;
 import com.fdkankan.manage.vo.request.RequestBase;
 import com.fdkankan.manage.common.PageInfo;
-import com.fdkankan.manage.entity.Meta;
-import com.fdkankan.manage.entity.SysMenu;
-import com.fdkankan.manage.entity.SysRoleMenu;
-import com.fdkankan.manage.entity.SysUser;
 import com.fdkankan.manage.mapper.ISysMenuMapper;
 import com.fdkankan.manage.service.ISysMenuService;
 import com.fdkankan.manage.service.ISysRoleMenuService;
 import com.fdkankan.manage.service.ISysUserService;
 import com.fdkankan.manage.vo.response.SysMenuVo;
+import com.fdkankan.redis.constant.RedisKey;
+import com.fdkankan.redis.util.RedisUtil;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -36,6 +37,10 @@ public class SysMenuServiceImpl extends ServiceImpl<ISysMenuMapper, SysMenu> imp
     ISysRoleMenuService roleMenuService;
     @Autowired
     ISysUserService userService;
+    @Autowired
+    RedisUtil redisUtil;
+    @Autowired
+    MenuInit menuInit;
 
 
     @Override
@@ -217,4 +222,16 @@ public class SysMenuServiceImpl extends ServiceImpl<ISysMenuMapper, SysMenu> imp
         wrapper.eq(SysMenu::getParentId,parentId);
         return  this.list(wrapper);
     }
+
+    @Override
+    public void setRoleAndMenuCache(SysRole role, SysUser sysUser) {
+        //设置redis role
+        String roleType = role.getRoleType();
+        List<String> roleList = Collections.singletonList(roleType);
+        redisUtil.set(String.format(RedisKey.MANAGE_ROLE_USER,sysUser.getId()), JSONObject.toJSONString(roleList));
+        //设置redis perm
+        List<SysMenu> menus = this.getListByUserId(sysUser.getId());
+        List<String> menuList = menus.parallelStream().map(SysMenu::getPerms).collect(Collectors.toList());
+        redisUtil.set(String.format(RedisKey.MANAGE_PERM_USER,sysUser.getId()), JSONObject.toJSONString(menuList));
+    }
 }

+ 3 - 0
src/main/java/com/fdkankan/manage/service/impl/SysRoleServiceImpl.java

@@ -10,6 +10,7 @@ import com.fdkankan.common.util.DateUtil;
 import com.fdkankan.manage.entity.SysRole;
 import com.fdkankan.manage.entity.SysUser;
 import com.fdkankan.manage.mapper.ISysRoleMapper;
+import com.fdkankan.manage.service.ISysMenuService;
 import com.fdkankan.manage.service.ISysRoleMenuService;
 import com.fdkankan.manage.service.ISysRoleService;
 import com.fdkankan.manage.service.ISysUserService;
@@ -39,6 +40,8 @@ public class SysRoleServiceImpl extends ServiceImpl<ISysRoleMapper, SysRole> imp
     ISysUserService sysUserService;
     @Autowired
     ISysRoleMenuService roleMenuService;
+    @Autowired
+    ISysMenuService sysMenuService;
 
     @Override
     public void addOrUpdate(SysRoleParam param) {

+ 15 - 12
src/main/java/com/fdkankan/manage/service/impl/SysUserServiceImpl.java

@@ -28,10 +28,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
 
-import java.util.Collections;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -51,6 +48,8 @@ public class SysUserServiceImpl extends ServiceImpl<ISysUserMapper, SysUser> imp
     private ISysMenuService menuService;
     @Autowired
     private RedisUtil redisUtil;
+    @Autowired
+    private ISysMenuService sysMenuService;
 
     @Override
     public SysUser getByUserName(String userName) {
@@ -80,14 +79,8 @@ public class SysUserServiceImpl extends ServiceImpl<ISysUserMapper, SysUser> imp
         loginVO.setRoleId(role.getId());
         loginVO.setRoleName(role.getRoleName());
 
-        //设置redis role
-        String roleType = role.getRoleType();
-        List<String> roleList = Collections.singletonList(roleType);
-        redisUtil.set(String.format(RedisKey.MANAGE_ROLE_USER,sysUser.getId()), JSONObject.toJSONString(roleList));
-        //设置redis perm
-        List<SysMenu> menus = menuService.getListByUserId(sysUser.getId());
-        List<String> menuList = menus.parallelStream().map(SysMenu::getPerms).collect(Collectors.toList());
-        redisUtil.set(String.format(RedisKey.MANAGE_PERM_USER,sysUser.getId()), JSONObject.toJSONString(menuList));
+        sysMenuService.setRoleAndMenuCache(role,sysUser);
+
         return loginVO;
     }
 
@@ -134,4 +127,14 @@ public class SysUserServiceImpl extends ServiceImpl<ISysUserMapper, SysUser> imp
         }
         return map;
     }
+
+    @Override
+    public HashMap<Long, SysUser> getByIds(Set<Long> sysUserIds) {
+        HashMap<Long, SysUser> map = new HashMap<>();
+        if(sysUserIds.size() >0){
+            List<SysUser> sysUsers = this.listByIds(sysUserIds);
+            sysUsers.forEach(entity-> map.put(entity.getId(),entity));
+        }
+        return map;
+    }
 }

+ 53 - 16
src/main/java/com/fdkankan/manage/service/impl/UserIncrementServiceImpl.java

@@ -4,19 +4,15 @@ 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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.manage.common.CacheUtil;
 import com.fdkankan.manage.common.ResultCode;
-import com.fdkankan.manage.entity.IncrementType;
-import com.fdkankan.manage.entity.User;
+import com.fdkankan.manage.entity.*;
 import com.fdkankan.manage.exception.BusinessException;
 import com.fdkankan.manage.common.PageInfo;
 import com.fdkankan.common.util.DateUtil;
-import com.fdkankan.manage.entity.Camera;
-import com.fdkankan.manage.entity.UserIncrement;
 import com.fdkankan.manage.mapper.IUserIncrementMapper;
-import com.fdkankan.manage.service.ICameraService;
-import com.fdkankan.manage.service.IIncrementTypeService;
-import com.fdkankan.manage.service.IUserIncrementService;
-import com.fdkankan.manage.service.IUserService;
+import com.fdkankan.manage.service.*;
+import com.fdkankan.manage.util.Dateutils;
 import com.fdkankan.manage.vo.request.UserIncrementParam;
 import com.fdkankan.manage.vo.response.GroupByCount;
 import com.fdkankan.manage.vo.response.UserIncrementVo;
@@ -44,6 +40,8 @@ public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper,
     IIncrementTypeService incrementTypeService;
     @Autowired
     IUserService userService;
+    @Autowired
+    IAgentNewLogService agentNewLogService;
 
     @Override
     public Long getValidCountByUserId(Long userId) {
@@ -93,6 +91,10 @@ public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper,
                     vo.setSnCode(camera.getSnCode());
                 }
             }
+            if(record.getIncrementTypeId()!= null){
+                IncrementType incrementType = incrementTypeService.getById(record.getIncrementTypeId());
+                vo.setValidTimeType(incrementType.getValidTimeType());
+            }
             voList.add(vo);
         }
         Page<UserIncrementVo> voPage = new Page<>(pageNum, pageSize);
@@ -107,16 +109,32 @@ public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper,
         if(userIncrement == null){
             throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
         }
+        IncrementType incrementType = incrementTypeService.getById(userIncrement.getIncrementTypeId());
+
         userIncrement.setIsExpired(0);
         Date date = DateUtil.string2Date(userIncrement.getIncrementEndTime(), DateUtil.DEFAULT_DATE_FORMAT);
-        Date delay = DateUtil.delay(date, 1, 1);
+        Date delay = null;
+        switch (incrementType.getValidTimeType()){
+            case 0 : delay = DateUtil.delay(date, 1, 1); break;
+            case 1 : delay = DateUtil.delay(date, 1, 2); break;
+            case 2 : delay = DateUtil.delay(date, 1, 5); break;
+            default: throw new BusinessException(ResultCode.INCREMENT_TYPE_ERROR);
+        }
+
         userIncrement.setIncrementEndTime(DateUtil.date2String(delay,DateUtil.DEFAULT_DATE_FORMAT));
+        userIncrement.setUpdateTime(null);
         this.updateById(userIncrement);
+        agentNewLogService.addByUserIncrement(userIncrement);
     }
 
+
     @Override
     public void add(UserIncrementParam param) {
         List<UserIncrement> userIncrementList = new ArrayList<>();
+        IncrementType incrementType = incrementTypeService.getById(param.getIncrementTypeId());
+        if(incrementType == null){
+            throw new BusinessException(ResultCode.INCREMENT_TYPE_EMPTY);
+        }
         for (int i = 0 ; i<param.getCount() ;i++) {
             UserIncrement userIncrement = new UserIncrement();
             String date = DateUtil.date2String(new Date(), DateUtil.DEFAULT_DATE_FORMAT);
@@ -128,15 +146,20 @@ public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper,
             userIncrement.setIncrementStartTime(date);
             userIncrement.setIncrementEndTime(param.getIncrementEndTime());
             userIncrement.setIncrementTypeId(param.getIncrementTypeId());
+            if(incrementType.getValidTimeType() == 0){
+                userIncrement.setMemberLevels("PR");
+            }
+            if(incrementType.getValidTimeType() == 1){
+                userIncrement.setMemberLevels("SE");
+            }
+            if(param.getMonthQy() != null){
+                userIncrement.setMonthQy(param.getMonthQy());
+            }
             userIncrementList.add(userIncrement);
         }
 
         if(userIncrementList.size() >0){
             this.saveBatch(userIncrementList);
-            IncrementType incrementType = incrementTypeService.getById(param.getIncrementTypeId());
-            if(incrementType == null){
-                throw new BusinessException(ResultCode.INCREMENT_TYPE_EMPTY);
-            }
             User user = userService.getById(param.getUserId());
             if(user == null){
                 throw new BusinessException(ResultCode.USER_NOT_EXIST);
@@ -149,9 +172,14 @@ public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper,
     @Override
     public void unbindCamera(Long cameraId) {
         LambdaUpdateWrapper<UserIncrement> wrapper = new LambdaUpdateWrapper<>();
-        wrapper.set(UserIncrement::getCameraId,null)
-                .eq(UserIncrement::getCameraId,cameraId);
-        this.update(wrapper);
+        wrapper.eq(UserIncrement::getCameraId,cameraId);
+        if("local".equals(CacheUtil.uploadType)){
+            this.remove(wrapper);
+        }else {
+            wrapper.set(UserIncrement::getCameraId,null);
+            this.update(wrapper);
+        }
+
     }
 
     @Override
@@ -172,4 +200,13 @@ public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper,
         }
         return null;
     }
+
+
+    @Override
+    public void delAgentId(Integer agentId) {
+        LambdaUpdateWrapper<UserIncrement> wrapper = new LambdaUpdateWrapper<>();
+        wrapper.eq(UserIncrement::getAgentId,agentId);
+        wrapper.set(UserIncrement::getAgentId,null);
+        this.update(wrapper);
+    }
 }

+ 118 - 10
src/main/java/com/fdkankan/manage/service/impl/UserServiceImpl.java

@@ -1,15 +1,26 @@
 package com.fdkankan.manage.service.impl;
+import java.util.*;
 
+import cn.dev33.satoken.stp.StpUtil;
 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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.common.util.Base64Converter;
+import com.fdkankan.common.util.SecurityUtil;
+import com.fdkankan.manage.common.CacheUtil;
+import com.fdkankan.manage.common.OssPath;
 import com.fdkankan.manage.common.ResultCode;
+import com.fdkankan.manage.entity.CameraDetail;
+import com.fdkankan.manage.entity.SysUser;
+import com.fdkankan.manage.entity.UserIncrement;
 import com.fdkankan.manage.exception.BusinessException;
 import com.fdkankan.manage.common.PageInfo;
 import com.fdkankan.manage.entity.User;
 import com.fdkankan.manage.httpClient.service.LaserService;
 import com.fdkankan.manage.mapper.IUserMapper;
 import com.fdkankan.manage.service.*;
+import com.fdkankan.manage.util.Dateutils;
 import com.fdkankan.manage.vo.request.SceneParam;
 import com.fdkankan.manage.vo.request.UserIncrementParam;
 import com.fdkankan.manage.vo.request.UserParam;
@@ -17,12 +28,9 @@ import com.fdkankan.manage.vo.response.UserVo;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
 import java.util.stream.Collectors;
 
 /**
@@ -48,6 +56,10 @@ public class UserServiceImpl extends ServiceImpl<IUserMapper, User> implements I
     private IScenePlusService scenePlusService;
     @Autowired
     private LaserService laserService;
+    @Autowired
+    private ISysUserService sysUserService;
+    @Value("${fyun.host:https://4dkk.4dage.com/}")
+    private String host;
 
     @Override
     public PageInfo pageList(UserParam param) {
@@ -92,20 +104,33 @@ public class UserServiceImpl extends ServiceImpl<IUserMapper, User> implements I
         List<UserVo> voList = new ArrayList<>();
         if(userList.size() >0){
             List<Long> userIdList = userList.parallelStream().map(User::getId).collect(Collectors.toList());
+            Set<Long> sysUserIds = userList.stream().map(User::getSysUserId).collect(Collectors.toSet());
+            HashMap<Long, SysUser> sysMap = sysUserService.getByIds(sysUserIds);
+
             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);
+            HashMap<Long,Long> sceneProCountMap = sceneProService.getCountGroupByUserId(userIdList,0);
+            HashMap<Long,Long> scenePlusCountMap = scenePlusService.getCountGroupByUserId(userIdList,0);
+           // HashMap<Long,Long> sceneProCountObjMap = sceneProService.getCountGroupByUserId(userIdList,1);
+          //  HashMap<Long,Long> scenePlusCountObjMap = scenePlusService.getCountGroupByUserId(userIdList,1);
+
             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());
-                SceneParam param = new SceneParam();
-                param.setUserName(user.getUserName());
-                PageInfo pageInfo = laserService.pageList(param);
+                //  long sceneProObjCount = sceneProCountObjMap.get(user.getId()) == null ? 0 : sceneProCountObjMap.get(user.getId());
+                //  long scenePlusObjCount = scenePlusCountObjMap.get(user.getId()) == null ? 0 : scenePlusCountObjMap.get(user.getId());
+
+                Long ssNum = 0L;
+                if(!CacheUtil.uploadType.equals("local")){
+                    SceneParam param = new SceneParam();
+                    param.setUserName(user.getUserName());
+                    PageInfo pageInfo = laserService.pageList(param);
+                    ssNum =  pageInfo.getTotal();
+                }
 
                 UserVo vo = new UserVo();
                 BeanUtils.copyProperties(user,vo);
@@ -113,7 +138,13 @@ public class UserServiceImpl extends ServiceImpl<IUserMapper, User> implements I
                 vo.setIncrementCount(incrementCount);
                 vo.setSurDownNum(user.getDownloadNumTotal() - user.getDownloadNum());
                 vo.setCameraCount(cameraCount);
-                vo.setSceneNum(sceneCount + sceneProCount + scenePlusCount + pageInfo.getTotal());
+                vo.setSceneNum(sceneCount + sceneProCount + scenePlusCount + ssNum);
+                if(user.getSysUserId() != null){
+                    SysUser sysUser = sysMap.get(user.getSysUserId());
+                    if(sysUser != null){
+                        vo.setSysUserName(sysUser.getNickName());
+                    }
+                }
                 voList.add(vo);
             }
         }
@@ -145,4 +176,81 @@ public class UserServiceImpl extends ServiceImpl<IUserMapper, User> implements I
         }
         return true;
     }
+
+    @Override
+    public synchronized void addUcenterUser(UserParam param) {
+        if(StringUtils.isBlank(param.getUserName()) || StringUtils.isBlank(param.getNickName()) || StringUtils.isBlank(param.getPassword())){
+            throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        Boolean ubo = this.checkUserName(param.getUserName());
+        if(ubo){
+            throw new BusinessException(ResultCode.USER_EXIST);
+        }
+        try {
+            String passwordMd5 = SecurityUtil.MD5(Base64Converter.decode(Base64Converter.subText(param.getPassword())));
+            User user = new User();
+            user.setHead(host + OssPath.default_head);
+            user.setPassword(passwordMd5);
+            user.setStatus(1);
+            user.setIsNotice(1);
+            user.setRegisterTime(new Date());
+            user.setUserName(param.getUserName());
+            user.setNickName(param.getNickName());
+            user.setCountry("86");
+            user.setDownloadNumTotal(1000);
+            user.setDownloadNum(0);
+            user.setCreateTime(Dateutils.getDate(new Date()));
+            user.setRecStatus("A");
+            user.setUpdateTime(Dateutils.getDate(new Date()));
+            user.setSysUserId(Long.valueOf((String) StpUtil.getLoginId()));
+            this.save(user);
+
+        }catch (Exception e){
+            log.error("ReUcenterUserPassword:error",e);
+            throw new BusinessException(ResultCode.PASSWORD_ERROR_G);
+        }
+
+    }
+
+    @Override
+    public void delUcenterUser(UserParam userParam) {
+        if(userParam.getId() == null){
+            throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        List<CameraDetail> list = cameraDetailService.getByUserId(userParam.getId());
+        if(list != null && list.size() >0){
+            throw new BusinessException(ResultCode.DEL_UCENTER_ERROR);
+        }
+
+        this.removeById(userParam.getId());
+    }
+
+    @Override
+    public void ReUcenterUserPassword(UserParam userParam) {
+        if(userParam.getId() == null || StringUtils.isBlank(userParam.getNewPassword())){
+            throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        try {
+            String passwordMd5 = SecurityUtil.MD5(Base64Converter.decode(Base64Converter.subText(userParam.getNewPassword())));
+            LambdaUpdateWrapper<User> wrapper = new LambdaUpdateWrapper<>();
+            wrapper.eq(User::getId,userParam.getId());
+            wrapper.set(User::getPassword,passwordMd5);
+            this.update(wrapper);
+        }catch (Exception e){
+            log.error("ReUcenterUserPassword:error",e);
+            throw new BusinessException(ResultCode.PASSWORD_ERROR_G);
+        }
+
+    }
+
+    @Override
+    public void updateUcenterUser(UserParam userParam) {
+        if(userParam.getId() == null || StringUtils.isBlank(userParam.getNickName())){
+            throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        LambdaUpdateWrapper<User> wrapper = new LambdaUpdateWrapper<>();
+        wrapper.eq(User::getId,userParam.getId());
+        wrapper.set(User::getNickName,userParam.getNickName());
+        this.update(wrapper);
+    }
 }

+ 3 - 1
src/main/java/com/fdkankan/manage/vo/request/CameraInOutParam.java

@@ -6,9 +6,11 @@ import lombok.Data;
 public class CameraInOutParam {
     private Long id;
     private String wifiName;
-    private Integer outType;        //出库类型 0表示正常销售,1表示员工自用,2表示礼品赠送,3表示其他
+    private Integer outType;        //出库类型 0表示正常销售,1表示员工自用,2表示礼品赠送,3表示其他 ,4经销商
     private Long companyId;
     private String orderSn;         //订单号
     private String snCode;
     private String companyName;     //客户名
+
+    private Integer agentId;
 }

+ 2 - 0
src/main/java/com/fdkankan/manage/vo/request/CameraParam.java

@@ -21,6 +21,8 @@ public class CameraParam extends RequestBase {
     private String activatedStartTime;          //激活时间
     private String activatedEndTime;            //激活时间
 
+    private String  agentName;
+
 
 
     public String getActivatedStartTime() {

+ 2 - 0
src/main/java/com/fdkankan/manage/vo/request/UserIncrementParam.java

@@ -10,4 +10,6 @@ public class UserIncrementParam {
     private Integer count = 1;
     private String incrementEndTime;
     private Integer incrementTypeId;
+
+    private Integer monthQy;
 }

+ 5 - 0
src/main/java/com/fdkankan/manage/vo/request/UserParam.java

@@ -8,4 +8,9 @@ public class UserParam extends RequestBase {
     private Long id;
     private String userName;
     private String email;
+
+    private String nickName;
+
+    private String password;
+    private String newPassword;
 }

+ 3 - 0
src/main/java/com/fdkankan/manage/vo/response/CameraDetailVo.java

@@ -19,5 +19,8 @@ public class CameraDetailVo {
 
     private String orderSn;
 
+    private Integer agentId;
+    private String agentName;
+
 
 }

+ 3 - 1
src/main/java/com/fdkankan/manage/vo/response/DownOrderVo.java

@@ -1,5 +1,6 @@
 package com.fdkankan.manage.vo.response;
 
+import com.alibaba.excel.annotation.ExcelIgnore;
 import com.alibaba.excel.annotation.ExcelProperty;
 import lombok.Data;
 
@@ -8,9 +9,10 @@ import java.math.BigDecimal;
 @Data
 public class DownOrderVo {
 
-    @ExcelProperty("ID")
+    @ExcelIgnore
     private Long id;
 
+    @ExcelIgnore
     private String createTime;               //下单时间
 
     @ExcelProperty("下单时间")

+ 4 - 2
src/main/java/com/fdkankan/manage/vo/response/IncrementOrderVo.java

@@ -1,6 +1,8 @@
 package com.fdkankan.manage.vo.response;
 
+import com.alibaba.excel.annotation.ExcelIgnore;
 import com.alibaba.excel.annotation.ExcelProperty;
+import jdk.nashorn.internal.ir.annotations.Ignore;
 import lombok.Data;
 
 import java.math.BigDecimal;
@@ -8,9 +10,9 @@ import java.math.BigDecimal;
 @Data
 public class IncrementOrderVo {
 
-    @ExcelProperty("ID")
+    @ExcelIgnore
     private Long id;
-
+    @ExcelIgnore
     private String createTime;               //下单时间
 
     @ExcelProperty("下单时间")

+ 3 - 1
src/main/java/com/fdkankan/manage/vo/response/OrderVo.java

@@ -1,5 +1,6 @@
 package com.fdkankan.manage.vo.response;
 
+import com.alibaba.excel.annotation.ExcelIgnore;
 import com.alibaba.excel.annotation.ExcelProperty;
 import lombok.Data;
 
@@ -8,7 +9,7 @@ import java.math.BigDecimal;
 @Data
 public class OrderVo {
 
-    @ExcelProperty("ID")
+    @ExcelIgnore
     private Long id;
 
     @ExcelProperty("下单时间")
@@ -35,6 +36,7 @@ public class OrderVo {
     @ExcelProperty("订单状态")
     private String paymentStatus;           //付款状态(未付款unpaid、已付款paid、已取消cancel, 部分支付partPayment, 部分退款partRefund, 全额退款refunded)
 
+    @ExcelIgnore
     private String shipAreaPath;
 
     @ExcelProperty("地址")

+ 7 - 0
src/main/java/com/fdkankan/manage/vo/response/UserIncrementVo.java

@@ -1,5 +1,6 @@
 package com.fdkankan.manage.vo.response;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import lombok.Data;
 
 @Data
@@ -8,4 +9,10 @@ public class UserIncrementVo {
     private String snCode;                          //相机snCode
     private String incrementStartTime;              //购买日期
     private String incrementEndTime;                //到期日期
+
+    private String memberLevels;
+
+    private Integer monthQy;
+
+    private Integer validTimeType;      // 0年,1月,2日
 }

+ 3 - 0
src/main/java/com/fdkankan/manage/vo/response/UserVo.java

@@ -15,4 +15,7 @@ public class UserVo {
     private Integer surDownNum;     //剩余下载次数
     private Long cameraCount;       //相机数量
     private Long SceneNum;          //场景数量
+
+    private String sysUserName;
+    private Long sysUserId;
 }

+ 2 - 2
src/main/resources/bootstrap-local-kj.yml

@@ -4,7 +4,7 @@ spring:
   cloud:
     nacos:
       config:
-        server-addr: 192.168.0.146:8848
+        server-addr: 127.0.0.1:8848
         file-extension: yaml
         namespace: test
         extension-configs:
@@ -20,7 +20,7 @@ spring:
             group: DEFAULT_GROUP
             refresh: true
 
-          - data-id: common-upload-config.yaml
+          - data-id: common-fyun-config.yaml
             group: DEFAULT_GROUP
             refresh: true
 

+ 1 - 1
src/main/resources/bootstrap-prod.yml

@@ -20,7 +20,7 @@ spring:
             group: DEFAULT_GROUP
             refresh: true
 
-          - data-id: common-upload-config.yaml
+          - data-id: common-fyun-config.yaml
             group: DEFAULT_GROUP
             refresh: true
 

+ 40 - 0
src/main/resources/bootstrap-test-eur.yml

@@ -0,0 +1,40 @@
+spring:
+  application:
+    name: 4dkankan-center-manage
+  cloud:
+    nacos:
+      config:
+        server-addr: 120.24.144.164:8848
+        file-extension: yaml
+        namespace: 4dkankan-v4-test-eur
+        extension-configs:
+          - data-id: 4dkankan-center-manage.yaml
+            group: DEFAULT_GROUP
+            refresh: true
+        shared-configs:
+          - data-id: common-redis-config.yaml
+            group: DEFAULT_GROUP
+            refresh: true
+
+          - data-id: common-config.yaml
+            group: DEFAULT_GROUP
+            refresh: true
+
+          - data-id: common-fyun-config.yaml
+            group: DEFAULT_GROUP
+            refresh: true
+
+          - data-id: common-mongodb-config.yaml
+            group: DEFAULT_GROUP
+            refresh: true
+
+          - data-id: forest-config.yaml
+            group: DEFAULT_GROUP
+            refresh: true
+
+      discovery:
+        server-addr: ${spring.cloud.nacos.config.server-addr}
+        namespace: ${spring.cloud.nacos.config.namespace}
+
+
+

+ 1 - 1
src/main/resources/bootstrap-test.yml

@@ -20,7 +20,7 @@ spring:
             group: DEFAULT_GROUP
             refresh: true
 
-          - data-id: common-upload-config.yaml
+          - data-id: common-fyun-config.yaml
             group: DEFAULT_GROUP
             refresh: true
 

+ 1 - 1
src/main/resources/bootstrap.yml

@@ -1,6 +1,6 @@
 spring:
   profiles:
-    active: test
+    active: local-kj
 logging:
   config: classpath:logback-spring.xml
 mybatis-plus:

+ 3 - 2
src/main/resources/mapper/manage/AgentNewLogMapper.xml

@@ -3,9 +3,10 @@
 <mapper namespace="com.fdkankan.manage.mapper.IAgentNewLogMapper">
 
     <select id="listGroup" resultType="com.fdkankan.manage.vo.response.AgentLogGVo" >
-        select agent_id,type,sum(count)as num from t_agent_new_log GROUP BY agent_id,type
+        select agent_id,type,sum(count)as num from t_agent_new_log
         <if test="startTime != null and startTime !='' ">
-            and create_time between #{startTime} and #{endTime}
+            where create_time between #{startTime} and #{endTime}
         </if>
+        GROUP BY agent_id,type
     </select>
 </mapper>

+ 5 - 1
src/main/resources/mapper/manage/CameraMapper.xml

@@ -4,11 +4,12 @@
 
     <select id="pageList" resultType="com.fdkankan.manage.vo.response.CameraDetailVo">
         select c.id ,c.sn_code,c.activated_time ,d.create_time as outTime ,d.type,d.own as outType ,co.company_name ,u.user_name, c.wifi_name,
-        d.order_sn
+        d.order_sn,an.id as agentId,an.name as agentName
         from t_camera c
         left join t_camera_detail d on c.id = d.camera_id
         left join t_company co on d.company_id = co.id
         left join t_user u on d.user_id = u.id
+        left join t_agent_new an on d.agent_id = an.id
         where c.rec_status = 'A'
         <if test="param.userId !=null ">
             and d.user_id = #{param.userId}
@@ -37,6 +38,9 @@
         <if test="param.activatedEndTime !=null and param.activatedEndTime != '' ">
             and c.activated_time &lt;= #{param.activatedEndTime}
         </if>
+        <if test="param.agentName !=null and param.agentName !=''  ">
+            and an.name like  concat('%',#{param.agentName},'%')
+        </if>
         order by c.activated_time desc
     </select>
     <select id="getByOutSnCodes" resultType="com.fdkankan.manage.entity.Camera">

+ 5 - 0
src/main/resources/mapper/manage/FolderSceneMapper.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.manage.mapper.IFolderSceneMapper">
+
+</mapper>

+ 14 - 4
src/main/resources/mapper/manage/ScenePlusMapper.xml

@@ -3,13 +3,23 @@
 <mapper namespace="com.fdkankan.manage.mapper.IScenePlusMapper">
 
     <select id="getCountGroupByUserId" resultType="com.fdkankan.manage.vo.response.GroupByCount" >
-        SELECT user_id as id, count(id) as count FROM t_scene_plus  WHERE  rec_status = 'A'
-        and scene_source in (1,2,3,12,13,14)
-        and  user_id in
+        SELECT user_id as id, count(p.id) as count FROM t_scene_plus p
+        <if test="isObj != null and isObj == 1">
+            left join t_scene_plus_ext e on p.id = e.plus_id
+        </if>
+        WHERE  p.rec_status = 'A'
+        and  p.user_id in
         <foreach item="userId" collection="userIdList" open="(" separator="," close=")">
             #{userId}
         </foreach>
-        GROUP BY user_id
+        <if test="isObj != null and isObj == 0">
+            and p.scene_source in (1,2,3,12,13,14)
+        </if>
+        <if test="isObj != null and isObj == 1">
+            and e.is_obj = 1
+            and p.scene_source = 4
+        </if>
+        GROUP BY p.user_id
     </select>
 
     <select id="getCountGroupByCameraId" resultType="com.fdkankan.manage.vo.response.GroupByCount">

+ 7 - 1
src/main/resources/mapper/manage/SceneProMapper.xml

@@ -4,11 +4,17 @@
 
     <select id="getCountGroupByUserId" resultType="com.fdkankan.manage.vo.response.GroupByCount" >
         SELECT user_id as id, count(id) as count FROM t_scene_pro  WHERE  rec_status = 'A' and is_upgrade = 0
-        and scene_source in (1,2,3,12,13,14)
         and  user_id in
          <foreach item="userId" collection="userIdList" open="(" separator="," close=")">
             #{userId}
         </foreach>
+        <if test="isObj !=null and isObj == 0">
+            and scene_source in (1,2,3,12,13,14)
+        </if>
+        <if test="isObj !=null and isObj == 1">
+           and  is_obj = 1
+            and scene_source  = 4
+        </if>
         GROUP BY user_id
     </select>
     <select id="getCountGroupByCameraId" resultType="com.fdkankan.manage.vo.response.GroupByCount">

BIN
src/main/resources/template/cameraOut.xlsx