dengsixing 3 years ago
parent
commit
e7edd5f0a3
32 changed files with 1046 additions and 139 deletions
  1. 21 0
      src/main/java/com/fdkankan/scene/controller/CameraController.java
  2. 21 0
      src/main/java/com/fdkankan/scene/controller/CameraDetailController.java
  3. 2 2
      src/main/java/com/fdkankan/scene/controller/SceneController.java
  4. 21 0
      src/main/java/com/fdkankan/scene/controller/UserController.java
  5. 21 0
      src/main/java/com/fdkankan/scene/controller/UserIncrementController.java
  6. 90 0
      src/main/java/com/fdkankan/scene/entity/Camera.java
  7. 150 0
      src/main/java/com/fdkankan/scene/entity/CameraDetail.java
  8. 141 0
      src/main/java/com/fdkankan/scene/entity/User.java
  9. 102 0
      src/main/java/com/fdkankan/scene/entity/UserIncrement.java
  10. 2 2
      src/main/java/com/fdkankan/scene/generate/AutoGenerate.java
  11. 18 0
      src/main/java/com/fdkankan/scene/mapper/ICameraDetailMapper.java
  12. 18 0
      src/main/java/com/fdkankan/scene/mapper/ICameraMapper.java
  13. 18 0
      src/main/java/com/fdkankan/scene/mapper/IUserIncrementMapper.java
  14. 18 0
      src/main/java/com/fdkankan/scene/mapper/IUserMapper.java
  15. 19 0
      src/main/java/com/fdkankan/scene/service/ICameraDetailService.java
  16. 19 0
      src/main/java/com/fdkankan/scene/service/ICameraService.java
  17. 2 0
      src/main/java/com/fdkankan/scene/service/ISceneProService.java
  18. 4 0
      src/main/java/com/fdkankan/scene/service/ISceneResourceService.java
  19. 2 1
      src/main/java/com/fdkankan/scene/service/ISceneService.java
  20. 17 0
      src/main/java/com/fdkankan/scene/service/IUserIncrementService.java
  21. 19 0
      src/main/java/com/fdkankan/scene/service/IUserService.java
  22. 25 0
      src/main/java/com/fdkankan/scene/service/impl/CameraDetailServiceImpl.java
  23. 25 0
      src/main/java/com/fdkankan/scene/service/impl/CameraServiceImpl.java
  24. 5 0
      src/main/java/com/fdkankan/scene/service/impl/SceneProServiceImpl.java
  25. 31 1
      src/main/java/com/fdkankan/scene/service/impl/SceneResourceServiceImpl.java
  26. 165 133
      src/main/java/com/fdkankan/scene/service/impl/SceneServiceImpl.java
  27. 25 0
      src/main/java/com/fdkankan/scene/service/impl/UserIncrementServiceImpl.java
  28. 25 0
      src/main/java/com/fdkankan/scene/service/impl/UserServiceImpl.java
  29. 5 0
      src/main/resources/mapper/scene/CameraDetailMapper.xml
  30. 5 0
      src/main/resources/mapper/scene/CameraMapper.xml
  31. 5 0
      src/main/resources/mapper/scene/UserIncrementMapper.xml
  32. 5 0
      src/main/resources/mapper/scene/UserMapper.xml

+ 21 - 0
src/main/java/com/fdkankan/scene/controller/CameraController.java

@@ -0,0 +1,21 @@
+package com.fdkankan.scene.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 相机主表 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2022-07-05
+ */
+@RestController
+@RequestMapping("/scene/camera")
+public class CameraController {
+
+}
+

+ 21 - 0
src/main/java/com/fdkankan/scene/controller/CameraDetailController.java

@@ -0,0 +1,21 @@
+package com.fdkankan.scene.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 相机子表 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2022-07-05
+ */
+@RestController
+@RequestMapping("/scene/cameraDetail")
+public class CameraDetailController {
+
+}
+

+ 2 - 2
src/main/java/com/fdkankan/scene/controller/SceneController.java

@@ -1,6 +1,7 @@
 package com.fdkankan.scene.controller;
 
 import com.fdkankan.common.controller.BaseController;
+import com.fdkankan.common.model.SSOUser;
 import com.fdkankan.common.response.ResultData;
 import com.fdkankan.scene.service.ISceneService;
 import lombok.extern.slf4j.Slf4j;
@@ -126,8 +127,7 @@ public class SceneController extends BaseController {
      */
     @PostMapping(value = "/isLogin")
     public ResultData isLogin(@RequestParam("num") String num) throws Exception{
-        String token = this.getToken();
-        return sceneService.isLogin(num, token);
+        return sceneService.isLogin(num, this.getSsoUserV3());
     }
 
 

+ 21 - 0
src/main/java/com/fdkankan/scene/controller/UserController.java

@@ -0,0 +1,21 @@
+package com.fdkankan.scene.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 用户信息表 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2022-07-05
+ */
+@RestController
+@RequestMapping("/scene/user")
+public class UserController {
+
+}
+

+ 21 - 0
src/main/java/com/fdkankan/scene/controller/UserIncrementController.java

@@ -0,0 +1,21 @@
+package com.fdkankan.scene.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 用户增值权益表 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2022-07-05
+ */
+@RestController
+@RequestMapping("/scene/userIncrement")
+public class UserIncrementController {
+
+}
+

+ 90 - 0
src/main/java/com/fdkankan/scene/entity/Camera.java

@@ -0,0 +1,90 @@
+package com.fdkankan.scene.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-07-05
+ */
+@Getter
+@Setter
+@TableName("t_camera")
+public class Camera implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 相机的Mac地址
+     */
+    @TableField("child_name")
+    private String childName;
+
+    /**
+     * 激活时间
+     */
+    @TableField("activated_time")
+    private Date activatedTime;
+
+    /**
+     * 相机密码
+     */
+    @TableField("child_password")
+    private String childPassword;
+
+    /**
+     * sn码
+     */
+    @TableField("sn_code")
+    private String snCode;
+
+    /**
+     * wifi名称
+     */
+    @TableField("wifi_name")
+    private String wifiName;
+
+    /**
+     * wifi密码
+     */
+    @TableField("wifi_password")
+    private String wifiPassword;
+
+    /**
+     * 创建时间
+     */
+    @TableField("create_time")
+    private Date createTime;
+
+    /**
+     * 更新时间
+     */
+    @TableField("update_time")
+    private Date updateTime;
+
+    /**
+     * 记录的状态,A: 生效,I: 禁用
+     */
+    @TableField("rec_status")
+    @TableLogic("A")
+    private String recStatus;
+
+    @TableField("is_out")
+    private Boolean isOut;
+
+
+}

+ 150 - 0
src/main/java/com/fdkankan/scene/entity/CameraDetail.java

@@ -0,0 +1,150 @@
+package com.fdkankan.scene.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-07-05
+ */
+@Getter
+@Setter
+@TableName("t_camera_detail")
+public class CameraDetail implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 余额
+     */
+    @TableField("balance")
+    private String balance;
+
+    /**
+     * 用户表t_user的id
+     */
+    @TableField("user_id")
+    private Long userId;
+
+    /**
+     * 0表示客户,1表示员工,2表示赠送,3表示其他,4经销商销售
+     */
+    @TableField("own")
+    private Integer own;
+
+    /**
+     * 订单号
+     */
+    @TableField("order_sn")
+    private String orderSn;
+
+    /**
+     * 0表示本国,1表示国外
+     */
+    @TableField("country")
+    private Integer country;
+
+    /**
+     * 经销商
+     */
+    @TableField("agency")
+    private String agency;
+
+    /**
+     * 相机类型,0表示双目,1四维看看pro,2 四维看看lite,9 双目转台,10 激光转台
+     */
+    @TableField("type")
+    private Integer type;
+
+    /**
+     * 总容量
+     */
+    @TableField("total_space")
+    private Long totalSpace;
+
+    /**
+     * 已使用容量
+     */
+    @TableField("used_space")
+    private Long usedSpace;
+
+    /**
+     * 相机主表t_camera的id
+     */
+    @TableField("camera_id")
+    private Long cameraId;
+
+    /**
+     * 商品表t_goods的id
+     */
+    @TableField("goods_id")
+    private Long goodsId;
+
+    /**
+     * 企业表t_company的id
+     */
+    @TableField("company_id")
+    private Long companyId;
+
+    /**
+     * 代理商架构管理t_agent_framework的id
+     */
+    @TableField("agent_framework_id")
+    private Long agentFrameworkId;
+
+    /**
+     * 相机协作用户id
+     */
+    @TableField("cooperation_user")
+    private Long cooperationUser;
+
+    /**
+     * 设备地址(追溯管理后台)
+     */
+    @TableField("address")
+    private String address;
+
+    /**
+     * 创建时间
+     */
+    @TableField("create_time")
+    private Date createTime;
+
+    /**
+     * 更新时间
+     */
+    @TableField("update_time")
+    private Date updateTime;
+
+    /**
+     * 记录的状态,A: 生效,I: 禁用
+     */
+    @TableField("rec_status")
+    @TableLogic("A")
+    private String recStatus;
+
+    @TableField("user_camera_version")
+    private String userCameraVersion;
+
+    @TableField("app_version")
+    private String appVersion;
+
+    @TableField("last_request_time")
+    private Date lastRequestTime;
+
+
+}

+ 141 - 0
src/main/java/com/fdkankan/scene/entity/User.java

@@ -0,0 +1,141 @@
+package com.fdkankan.scene.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-07-05
+ */
+@Getter
+@Setter
+@TableName("t_user")
+public class User implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 头像对应的链接地址
+     */
+    @TableField("head")
+    private String head;
+
+    /**
+     * 用户密码
+     */
+    @TableField("password")
+    private String password;
+
+    /**
+     * 用户邮箱
+     */
+    @TableField("email")
+    private String email;
+
+    /**
+     * 注册时间
+     */
+    @TableField("register_time")
+    private Date registerTime;
+
+    /**
+     * 用户名
+     */
+    @TableField("user_name")
+    private String userName;
+
+    /**
+     * 昵称
+     */
+    @TableField("nick_name")
+    private String nickName;
+
+    /**
+     * 0表示禁言(bbs)
+     */
+    @TableField("status")
+    private Integer status;
+
+    /**
+     * 0表示拒绝通知,1表示接受通知
+     */
+    @TableField("is_notice")
+    private Integer isNotice;
+
+    /**
+     * 机构名称
+     */
+    @TableField("organization_name")
+    private String organizationName;
+
+    /**
+     * 主页链接
+     */
+    @TableField("main_page")
+    private String mainPage;
+
+    /**
+     * 所在国家,默认是86
+     */
+    @TableField("country")
+    private String country;
+
+    /**
+     * 所在省份
+     */
+    @TableField("province")
+    private String province;
+
+    /**
+     * 所在城市
+     */
+    @TableField("city")
+    private String city;
+
+    /**
+     * 可下载场景总数
+     */
+    @TableField("download_num_total")
+    private Integer downloadNumTotal;
+
+    /**
+     * 已下载场景总数
+     */
+    @TableField("download_num")
+    private Integer downloadNum;
+
+    /**
+     * 创建时间
+     */
+    @TableField("create_time")
+    private Date createTime;
+
+    /**
+     * 记录的状态,A: 生效,I: 禁用
+     */
+    @TableField("rec_status")
+    @TableLogic
+    private String recStatus;
+
+    /**
+     * 更新时间
+     */
+    @TableField("update_time")
+    private Date updateTime;
+
+
+}

+ 102 - 0
src/main/java/com/fdkankan/scene/entity/UserIncrement.java

@@ -0,0 +1,102 @@
+package com.fdkankan.scene.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-07-05
+ */
+@Getter
+@Setter
+@TableName("t_user_increment")
+public class UserIncrement implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 权益包标识
+     */
+    @TableField("key_word")
+    private String keyWord;
+
+    /**
+     * 用户表t_user的id
+     */
+    @TableField("user_id")
+    private Long userId;
+
+    /**
+     * 相机主表t_camera的id
+     */
+    @TableField("camera_id")
+    private Long cameraId;
+
+    /**
+     * 会员权益类型Id
+     */
+    @TableField("increment_type_id")
+    private Integer incrementTypeId;
+
+    /**
+     * 结束时间
+     */
+    @TableField("increment_end_time")
+    private Date incrementEndTime;
+
+    /**
+     * 是否过期(1过期,0未过期)
+     */
+    @TableField("is_expired")
+    private Integer isExpired;
+
+    /**
+     * 创建时间
+     */
+    @TableField("create_time")
+    private Date createTime;
+
+    /**
+     * 记录的状态,A: 生效,I: 禁用
+     */
+    @TableField("rec_status")
+    @TableLogic("A")
+    private String recStatus;
+
+    /**
+     * 更新时间
+     */
+    @TableField("update_time")
+    private Date updateTime;
+
+    /**
+     * 扩容订单集合
+     */
+    @TableField("order_sn")
+    private String orderSn;
+
+    /**
+     * 生效时间
+     */
+    @TableField("increment_start_time")
+    private Date incrementStartTime;
+
+    @TableField("download_num")
+    private Integer downloadNum;
+
+
+}

+ 2 - 2
src/main/java/com/fdkankan/scene/generate/AutoGenerate.java

@@ -20,7 +20,7 @@ public class AutoGenerate {
         String path =System.getProperty("user.dir");
 
         generate(path,"scene", getTables(new String[]{
-                "t_scene_resource",
+                "t_user",
         }));
 
 //        generate(path,"goods", getTables(new String[]{
@@ -80,7 +80,7 @@ public class AutoGenerate {
 
                             .entityBuilder()
                             .enableLombok()
-//                            .logicDeleteColumnName("tb_status")
+                            .logicDeleteColumnName("rec_status")
                             .enableTableFieldAnnotation()
 
                             .controllerBuilder()

+ 18 - 0
src/main/java/com/fdkankan/scene/mapper/ICameraDetailMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.scene.mapper;
+
+import com.fdkankan.scene.entity.CameraDetail;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 相机子表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2022-07-05
+ */
+@Mapper
+public interface ICameraDetailMapper extends BaseMapper<CameraDetail> {
+
+}

+ 18 - 0
src/main/java/com/fdkankan/scene/mapper/ICameraMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.scene.mapper;
+
+import com.fdkankan.scene.entity.Camera;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 相机主表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2022-07-05
+ */
+@Mapper
+public interface ICameraMapper extends BaseMapper<Camera> {
+
+}

+ 18 - 0
src/main/java/com/fdkankan/scene/mapper/IUserIncrementMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.scene.mapper;
+
+import com.fdkankan.scene.entity.UserIncrement;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 用户增值权益表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2022-07-05
+ */
+@Mapper
+public interface IUserIncrementMapper extends BaseMapper<UserIncrement> {
+
+}

+ 18 - 0
src/main/java/com/fdkankan/scene/mapper/IUserMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.scene.mapper;
+
+import com.fdkankan.scene.entity.User;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 用户信息表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2022-07-05
+ */
+@Mapper
+public interface IUserMapper extends BaseMapper<User> {
+
+}

+ 19 - 0
src/main/java/com/fdkankan/scene/service/ICameraDetailService.java

@@ -0,0 +1,19 @@
+package com.fdkankan.scene.service;
+
+import com.fdkankan.scene.entity.CameraDetail;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * <p>
+ * 相机子表 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2022-07-05
+ */
+public interface ICameraDetailService extends IService<CameraDetail> {
+
+    CameraDetail findByCameraId(Long cameraId);
+
+}

+ 19 - 0
src/main/java/com/fdkankan/scene/service/ICameraService.java

@@ -0,0 +1,19 @@
+package com.fdkankan.scene.service;
+
+import com.fdkankan.scene.entity.Camera;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * <p>
+ * 相机主表 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2022-07-05
+ */
+public interface ICameraService extends IService<Camera> {
+
+    Camera findByChildName(String childName);
+
+}

+ 2 - 0
src/main/java/com/fdkankan/scene/service/ISceneProService.java

@@ -18,4 +18,6 @@ public interface ISceneProService extends IService<ScenePro> {
 
     ResultData upgradeToV4ResultSync(RequestSceneProV4 param) throws Exception;
 
+    ScenePro findBySceneNum(String num);
+
 }

+ 4 - 0
src/main/java/com/fdkankan/scene/service/ISceneResourceService.java

@@ -2,6 +2,8 @@ package com.fdkankan.scene.service;
 
 import com.fdkankan.scene.entity.SceneResource;
 import com.baomidou.mybatisplus.extension.service.IService;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * <p>
@@ -13,4 +15,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface ISceneResourceService extends IService<SceneResource> {
 
+    List<SceneResource> findByCooperationId(Long resourceCooperationId);
+
 }

+ 2 - 1
src/main/java/com/fdkankan/scene/service/ISceneService.java

@@ -1,5 +1,6 @@
 package com.fdkankan.scene.service;
 
+import com.fdkankan.common.model.SSOUser;
 import com.fdkankan.common.response.ResultData;
 import javax.servlet.http.HttpServletRequest;
 
@@ -13,6 +14,6 @@ import javax.servlet.http.HttpServletRequest;
  **/
 public interface ISceneService {
 
-    ResultData isLogin(String num, String token) throws Exception;
+    ResultData isLogin(String num, SSOUser ssoUser) throws Exception;
 
 }

+ 17 - 0
src/main/java/com/fdkankan/scene/service/IUserIncrementService.java

@@ -0,0 +1,17 @@
+package com.fdkankan.scene.service;
+
+import com.fdkankan.scene.entity.UserIncrement;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 用户增值权益表 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2022-07-05
+ */
+public interface IUserIncrementService extends IService<UserIncrement> {
+
+    UserIncrement findByCameraId(Long cameraId);
+}

+ 19 - 0
src/main/java/com/fdkankan/scene/service/IUserService.java

@@ -0,0 +1,19 @@
+package com.fdkankan.scene.service;
+
+import com.fdkankan.scene.entity.User;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * <p>
+ * 用户信息表 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2022-07-05
+ */
+public interface IUserService extends IService<User> {
+
+    User findByUserName(String userName);
+
+}

+ 25 - 0
src/main/java/com/fdkankan/scene/service/impl/CameraDetailServiceImpl.java

@@ -0,0 +1,25 @@
+package com.fdkankan.scene.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.fdkankan.scene.entity.CameraDetail;
+import com.fdkankan.scene.mapper.ICameraDetailMapper;
+import com.fdkankan.scene.service.ICameraDetailService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 相机子表 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2022-07-05
+ */
+@Service
+public class CameraDetailServiceImpl extends ServiceImpl<ICameraDetailMapper, CameraDetail> implements ICameraDetailService {
+
+    @Override
+    public CameraDetail findByCameraId(Long cameraId) {
+        return this.getOne(new LambdaQueryWrapper<CameraDetail>().eq(CameraDetail::getCameraId, cameraId));
+    }
+}

+ 25 - 0
src/main/java/com/fdkankan/scene/service/impl/CameraServiceImpl.java

@@ -0,0 +1,25 @@
+package com.fdkankan.scene.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.fdkankan.scene.entity.Camera;
+import com.fdkankan.scene.mapper.ICameraMapper;
+import com.fdkankan.scene.service.ICameraService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 相机主表 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2022-07-05
+ */
+@Service
+public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implements ICameraService {
+
+    @Override
+    public Camera findByChildName(String childName) {
+        return this.getOne(new LambdaQueryWrapper<Camera>().eq(Camera::getChildName, childName));
+    }
+}

+ 5 - 0
src/main/java/com/fdkankan/scene/service/impl/SceneProServiceImpl.java

@@ -97,4 +97,9 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
 
         return ResultData.ok();
     }
+
+    @Override
+    public ScenePro findBySceneNum(String num) {
+        return this.getOne(new LambdaQueryWrapper<ScenePro>().eq(ScenePro::getNum, num));
+    }
 }

+ 31 - 1
src/main/java/com/fdkankan/scene/service/impl/SceneResourceServiceImpl.java

@@ -1,9 +1,16 @@
 package com.fdkankan.scene.service.impl;
 
+import cn.hutool.core.collection.CollUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.scene.entity.SceneResource;
+import com.fdkankan.scene.entity.SceneResourceCooperation;
 import com.fdkankan.scene.mapper.ISceneResourceMapper;
+import com.fdkankan.scene.service.ISceneResourceCooperationService;
 import com.fdkankan.scene.service.ISceneResourceService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import java.util.List;
+import java.util.stream.Collectors;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 /**
@@ -17,4 +24,27 @@ import org.springframework.stereotype.Service;
 @Service
 public class SceneResourceServiceImpl extends ServiceImpl<ISceneResourceMapper, SceneResource> implements ISceneResourceService {
 
+    @Autowired
+    private ISceneResourceCooperationService sceneResourceCooperationService;
+
+    @Override
+    public List<SceneResource> findByCooperationId(Long sceneCooperationId) {
+
+        List<SceneResourceCooperation> sceneResourceCooperationList
+            = sceneResourceCooperationService.list(
+                new LambdaQueryWrapper<SceneResourceCooperation>()
+                    .eq(SceneResourceCooperation::getSceneCooperationId, sceneCooperationId));
+
+        List<Long> sceneResourceIdList = null;
+        if(CollUtil.isNotEmpty(sceneResourceCooperationList)){
+            sceneResourceIdList = sceneResourceCooperationList.stream()
+                .map(sceneResourceCooperation -> sceneResourceCooperation.getSceneResourceId())
+                .collect(Collectors.toList());
+        }
+        if(CollUtil.isEmpty(sceneResourceIdList)){
+            return null;
+        }
+
+        return this.listByIds(sceneResourceIdList);
+    }
 }

+ 165 - 133
src/main/java/com/fdkankan/scene/service/impl/SceneServiceImpl.java

@@ -2,6 +2,7 @@ package com.fdkankan.scene.service.impl;
 
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.fdkankan.common.constant.ErrorCode;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.model.SSOUser;
@@ -9,12 +10,28 @@ import com.fdkankan.common.response.ResultData;
 import com.fdkankan.common.user.SSOLoginHelper;
 import com.fdkankan.common.util.DateUtil;
 import com.fdkankan.common.util.JwtUtil;
+import com.fdkankan.scene.entity.Camera;
+import com.fdkankan.scene.entity.CameraDetail;
+import com.fdkankan.scene.entity.SceneCooperation;
+import com.fdkankan.scene.entity.ScenePro;
+import com.fdkankan.scene.entity.SceneResource;
+import com.fdkankan.scene.entity.User;
+import com.fdkankan.scene.entity.UserIncrement;
+import com.fdkankan.scene.service.ICameraDetailService;
+import com.fdkankan.scene.service.ICameraService;
+import com.fdkankan.scene.service.ISceneCooperationService;
+import com.fdkankan.scene.service.ISceneProService;
+import com.fdkankan.scene.service.ISceneResourceService;
 import com.fdkankan.scene.service.ISceneService;
+import com.fdkankan.scene.service.IUserIncrementService;
+import com.fdkankan.scene.service.IUserService;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import javax.servlet.http.HttpServletRequest;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 /**
@@ -25,147 +42,162 @@ import org.springframework.stereotype.Service;
  * @author dengsixing
  * @since 2022/7/4
  **/
+@Slf4j
 @Service
 public class SceneServiceImpl implements ISceneService {
 
     @Autowired
-    private SSOLoginHelper ssoLoginHelper;
+    private ISceneProService sceneProService;
+    @Autowired
+    private ICameraService cameraService;
+    @Autowired
+    private IUserIncrementService userIncrementService;
+    @Autowired
+    private ICameraDetailService cameraDetailService;
+    @Autowired
+    private IUserService userService;
+    @Autowired
+    private ISceneCooperationService sceneCooperationService;
+    @Autowired
+    private ISceneResourceService sceneResourceService;
 
-    @Override
-    public ResultData isLogin(String num, String token) throws Exception {
+    @Value("${expected.time}")
+    private String expectedTime;
 
-        SSOUser ssoUser = ssoLoginHelper.loginCheckV3(token);
+    @Override
+    public ResultData isLogin(String num, SSOUser ssoUser) throws Exception {
 
         // 解密获得username,用于和数据库进行对比
-        String username = JwtUtil.getUsername(token);
-
-//        SceneProEntity sceneProEntity = sceneProService.findBySceneNum(num);
-//        if(sceneProEntity == null){
-//            throw new BaseRuntimeException(SceneConstant.FAILURE_CODE_5005, SceneConstant.FAILURE_MSG_5005);
-//        }
-//        if(sceneProEntity.getPayStatus() != 1){
-//            throw new BaseRuntimeException(SceneConstant.FAILURE_CODE_5005, SceneConstant.FAILURE_MSG_5005);
-//        }
-//        if(sceneProEntity.getStatus() != 1 && sceneProEntity.getStatus() != -2){
-//            throw new BaseRuntimeException(SceneConstant.FAILURE_CODE_5005, SceneConstant.FAILURE_MSG_5005);
-//        }
-//
-//        JSONObject jsonObject = new JSONObject();
-//
-//        List<SceneResourceEntity> exclude = new ArrayList<>();
-//        SceneResourceEntity excludeEntity = new SceneResourceEntity();
-//        excludeEntity.setKeyWord("data");
-//        exclude.add(excludeEntity);
-//
-//        CameraEntity cameraEntity = goodsService.findByChildName(username);
-//        jsonObject.put("exclude", exclude);
-//        jsonObject.put("include", new ArrayList<>());
-//        jsonObject.put("company", null);
-//        Result result = Result.success(jsonObject);
-//
-//        //判断该场景是否属于增值权益
-//        boolean isIncrement = false;
-//        //获取该相机是否有权益
-//        boolean isExpired  = false;
-//        CameraEntity sceneCamera = goodsService.findCameraById(sceneProEntity.getCameraId());
-//        if(sceneCamera != null){
-//            UserIncrementEntity userIncrementEntity = userIncrementService.findByCameraId(sceneCamera.getId());
-//
-//            if(userIncrementEntity != null){
-//                if( userIncrementEntity.getIsExpired().intValue() == 0){
-//                    isIncrement = true;
-//                }
-//                if(userIncrementEntity.getIsExpired().intValue() == 1){
-//                    isExpired  = true;
-//                }
-//            }else{
-//                try {
-//                    Date date = DateUtil.string2Date("2021-09-09 00:00:00",null);
-//
-//                    //非07批次的放开
-//                    String pc = sceneCamera.getSnCode().substring(0,2);
-//                    if(!pc.equals("07") ){
-//                        if(sceneCamera.getCreateTime()!=null && date.after(sceneCamera.getCreateTime())){
-//
-//                            isIncrement = true;
-//                            isExpired  = false;
-//                        }
-//                    }
-//                }catch (Exception e){
-//                    e.printStackTrace();
-//                }
-//            }
-//        }
-//
-//        jsonObject.put("isExpired", isExpired );
-//        jsonObject.put("isIncrement", isIncrement);
-//
-//        //判断过期时间
-//        Date date = DateUtil.string2Date(expectedTime,null);
-//
-//        jsonObject.put("isTransition",DateUtil.isBeforeNow2(date));
-//
-//
-//        if(cameraEntity != null){
-//            if(!sceneProEntity.getCameraId().equals(cameraEntity.getId())){
-//                throw new BaseRuntimeException(SceneConstant.FAILURE_CODE_5014, SceneConstant.FAILURE_MSG_5014);
-//            }
-//
-//            CameraDetailEntity cameraDetailEntity = goodsService.findCameraDetailByCameraId(cameraEntity.getId());
-//            if(cameraDetailEntity.getCompanyId() != null){
-//                if(cameraDetailEntity.getCompanyId().longValue() == 1 || cameraDetailEntity.getCompanyId().longValue() == 14){
-//                    jsonObject.put("exclude", new ArrayList<>());
-//                    jsonObject.put("company", cameraDetailEntity.getCompanyId().longValue());
-//                }
-//            }
-//            return result;
-//        }
-//
-//        UserEntity userEntity = userService.findUserByUserName(username);
-//        if("18750226207".equals(username)){
-//            log.info("18750226207该账号默认超级管理员,可以操作所有场景");
-//        }
-//        else if(userEntity == null || sceneProEntity.getUserId() == null || userEntity.getId().longValue() != sceneProEntity.getUserId().longValue()){
-//            log.info("user:" + userEntity.getId() + ",scene:" + sceneProEntity.getUserId());
-//
-//            Condition condition = new Condition(SceneCooperationEntity.class);
-//            condition.and().andEqualTo("sceneNum", num);
-//            List<SceneCooperationEntity> list = sceneCooperationService.findAll(condition);
-//            if(list != null && list.size() > 0){
-//                if(list.get(0).getUserId().longValue() != userEntity.getId().longValue()){
-//                    throw new BaseRuntimeException(SceneConstant.FAILURE_CODE_5014, SceneConstant.FAILURE_MSG_5014);
-//                }
-//            }else {
-//                throw new BaseRuntimeException(SceneConstant.FAILURE_CODE_5014, SceneConstant.FAILURE_MSG_5014);
-//            }
-//        }
-//
-//        if(sceneProEntity.getCameraId() != null){
-//            cameraEntity = goodsService.findCameraById(sceneProEntity.getCameraId());
-//            if(cameraEntity != null){
-//                CameraDetailEntity cameraDetailEntity = goodsService.findCameraDetailByCameraId(cameraEntity.getId());
-//                if(cameraDetailEntity.getCompanyId() != null){
-//                    if(cameraDetailEntity.getCompanyId().longValue() == 1 || cameraDetailEntity.getCompanyId().longValue() == 14){
-//                        jsonObject.put("exclude", new ArrayList<>());
-//                        jsonObject.put("company", cameraDetailEntity.getCompanyId().longValue());
-//                    }
-//                }
-//            }
-//        }
-//
-//        //权限控制完后判断若是协作账号,获取协作权限
-//        SceneCooperationEntity sceneCooperationEntity = sceneCooperationService.findBySceneNum(num);
-//        //若数据为空表示可操作全部资源
-//        if(sceneCooperationEntity == null || sceneCooperationEntity.getUserId().longValue() != ssoUser.getId().longValue()){
-//            return result;
-//        }
-//
-//        if(sceneProEntity.getUserId()!= null && sceneCooperationEntity.getUserId()!= null &&
-//            sceneProEntity.getUserId().equals(sceneCooperationEntity.getUserId())){
-//            return result;
-//        }
-
-//        jsonObject.put("include", sceneResourceService.findByCooperationId(sceneCooperationEntity.getId()));
+        String username = ssoUser.getUserName();
+
+        ScenePro sceneProEntity = sceneProService.findBySceneNum(num);
+        if(sceneProEntity == null){
+            throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
+        }
+        if(sceneProEntity.getPayStatus() != 1){
+            throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
+        }
+        if(sceneProEntity.getStatus() != 1 && sceneProEntity.getStatus() != -2){
+            throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
+        }
+
+        JSONObject jsonObject = new JSONObject();
+
+        List<SceneResource> exclude = new ArrayList<>();
+        SceneResource excludeEntity = new SceneResource();
+        excludeEntity.setKeyWord("data");
+        exclude.add(excludeEntity);
+
+        Camera camera = cameraService.findByChildName(username);
+        jsonObject.put("exclude", exclude);
+        jsonObject.put("include", new ArrayList<>());
+        jsonObject.put("company", null);
+        ResultData result = ResultData.ok(jsonObject);
+
+        //判断该场景是否属于增值权益
+        boolean isIncrement = false;
+        //获取该相机是否有权益
+        boolean isExpired  = false;
+        Camera sceneCamera = cameraService.getById(sceneProEntity.getCameraId());
+        if(sceneCamera != null){
+            UserIncrement userIncrementEntity = userIncrementService.findByCameraId(sceneCamera.getId());
+
+            if(userIncrementEntity != null){
+                if( userIncrementEntity.getIsExpired().intValue() == 0){
+                    isIncrement = true;
+                }
+                if(userIncrementEntity.getIsExpired().intValue() == 1){
+                    isExpired  = true;
+                }
+            }else{
+                try {
+                    Date date = DateUtil.string2Date("2021-09-09 00:00:00",null);
+
+                    //非07批次的放开
+                    String pc = sceneCamera.getSnCode().substring(0,2);
+                    if(!pc.equals("07") ){
+                        if(sceneCamera.getCreateTime()!=null && date.after(sceneCamera.getCreateTime())){
+
+                            isIncrement = true;
+                            isExpired  = false;
+                        }
+                    }
+                }catch (Exception e){
+                    e.printStackTrace();
+                }
+            }
+        }
+
+        jsonObject.put("isExpired", isExpired );
+        jsonObject.put("isIncrement", isIncrement);
+
+        //判断过期时间
+        Date date = DateUtil.string2Date(expectedTime,null);
+
+        jsonObject.put("isTransition",DateUtil.isBeforeNow2(date));
+
+
+        if(camera != null){
+            if(!sceneProEntity.getCameraId().equals(camera.getId())){
+                throw new BusinessException(ErrorCode.FAILURE_CODE_5014);
+            }
+
+            CameraDetail cameraDetailEntity = cameraDetailService.findByCameraId(camera.getId());
+            if(cameraDetailEntity.getCompanyId() != null){
+                if(cameraDetailEntity.getCompanyId().longValue() == 1 || cameraDetailEntity.getCompanyId().longValue() == 14){
+                    jsonObject.put("exclude", new ArrayList<>());
+                    jsonObject.put("company", cameraDetailEntity.getCompanyId().longValue());
+                }
+            }
+            return result;
+        }
+
+        User user = userService.findByUserName(username);
+        if("18750226207".equals(username)){
+            log.info("18750226207该账号默认超级管理员,可以操作所有场景");
+        }
+        else if(user == null || sceneProEntity.getUserId() == null || user.getId().longValue() != sceneProEntity.getUserId().longValue()){
+            log.info("user:" + user.getId() + ",scene:" + sceneProEntity.getUserId());
+
+            List<SceneCooperation> list =
+                sceneCooperationService.list(
+                    new LambdaQueryWrapper<SceneCooperation>()
+                        .eq(SceneCooperation::getSceneNum, num));
+            if(list != null && list.size() > 0){
+                if(list.get(0).getUserId().longValue() != user.getId().longValue()){
+                    throw new BusinessException(ErrorCode.FAILURE_CODE_5014);
+                }
+            }else {
+                throw new BusinessException(ErrorCode.FAILURE_CODE_5014);
+            }
+        }
+
+        if(sceneProEntity.getCameraId() != null){
+            camera = cameraService.getById(sceneProEntity.getCameraId());
+            if(camera != null){
+                CameraDetail cameraDetail = cameraDetailService.findByCameraId(camera.getId());
+                if(cameraDetail.getCompanyId() != null){
+                    if(cameraDetail.getCompanyId().longValue() == 1 || cameraDetail.getCompanyId().longValue() == 14){
+                        jsonObject.put("exclude", new ArrayList<>());
+                        jsonObject.put("company", cameraDetail.getCompanyId().longValue());
+                    }
+                }
+            }
+        }
+
+        //权限控制完后判断若是协作账号,获取协作权限
+        SceneCooperation sceneCooperation = sceneCooperationService.getByNum(num);
+        //若数据为空表示可操作全部资源
+        if(sceneCooperation == null || sceneCooperation.getUserId().longValue() != ssoUser.getId().longValue()){
+            return result;
+        }
+
+        if(sceneProEntity.getUserId()!= null && sceneCooperation.getUserId()!= null &&
+            sceneProEntity.getUserId().equals(sceneCooperation.getUserId())){
+            return result;
+        }
+
+        jsonObject.put("include", sceneResourceService.findByCooperationId(sceneCooperation.getId()));
 
         return ResultData.ok();
     }

+ 25 - 0
src/main/java/com/fdkankan/scene/service/impl/UserIncrementServiceImpl.java

@@ -0,0 +1,25 @@
+package com.fdkankan.scene.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.fdkankan.scene.entity.UserIncrement;
+import com.fdkankan.scene.mapper.IUserIncrementMapper;
+import com.fdkankan.scene.service.IUserIncrementService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 用户增值权益表 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2022-07-05
+ */
+@Service
+public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper, UserIncrement> implements IUserIncrementService {
+
+    @Override
+    public UserIncrement findByCameraId(Long cameraId) {
+        return this.getOne(new LambdaQueryWrapper<UserIncrement>().eq(UserIncrement::getCameraId, cameraId));
+    }
+}

+ 25 - 0
src/main/java/com/fdkankan/scene/service/impl/UserServiceImpl.java

@@ -0,0 +1,25 @@
+package com.fdkankan.scene.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.fdkankan.scene.entity.User;
+import com.fdkankan.scene.mapper.IUserMapper;
+import com.fdkankan.scene.service.IUserService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 用户信息表 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2022-07-05
+ */
+@Service
+public class UserServiceImpl extends ServiceImpl<IUserMapper, User> implements IUserService {
+
+    @Override
+    public User findByUserName(String userName) {
+        return this.getOne(new LambdaQueryWrapper<User>().eq(User::getUserName, userName));
+    }
+}

+ 5 - 0
src/main/resources/mapper/scene/CameraDetailMapper.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.scene.mapper.ICameraDetailMapper">
+
+</mapper>

+ 5 - 0
src/main/resources/mapper/scene/CameraMapper.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.scene.mapper.ICameraMapper">
+
+</mapper>

+ 5 - 0
src/main/resources/mapper/scene/UserIncrementMapper.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.scene.mapper.IUserIncrementMapper">
+
+</mapper>

+ 5 - 0
src/main/resources/mapper/scene/UserMapper.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.scene.mapper.IUserMapper">
+
+</mapper>