Sfoglia il codice sorgente

v2.0.0版本需求

lyhzzz 1 anno fa
parent
commit
6b1f9b9d2f
36 ha cambiato i file con 972 aggiunte e 20 eliminazioni
  1. 6 0
      src/main/java/com/fdkankan/manage_jp/common/ResultCode.java
  2. 11 2
      src/main/java/com/fdkankan/manage_jp/controller/BaseController.java
  3. 4 4
      src/main/java/com/fdkankan/manage_jp/controller/SceneProController.java
  4. 51 0
      src/main/java/com/fdkankan/manage_jp/controller/TmColdStorageController.java
  5. 42 0
      src/main/java/com/fdkankan/manage_jp/controller/TmContractorController.java
  6. 105 0
      src/main/java/com/fdkankan/manage_jp/entity/TmColdStorage.java
  7. 67 0
      src/main/java/com/fdkankan/manage_jp/entity/TmContractor.java
  8. 54 0
      src/main/java/com/fdkankan/manage_jp/entity/TmContractorNum.java
  9. 1 1
      src/main/java/com/fdkankan/manage_jp/generate/AutoGenerate.java
  10. 1 0
      src/main/java/com/fdkankan/manage_jp/httpClient/param/LaserSceneParam.java
  11. 2 2
      src/main/java/com/fdkankan/manage_jp/httpClient/service/LaserService.java
  12. 18 0
      src/main/java/com/fdkankan/manage_jp/mapper/ITmColdStorageMapper.java
  13. 23 0
      src/main/java/com/fdkankan/manage_jp/mapper/ITmContractorMapper.java
  14. 18 0
      src/main/java/com/fdkankan/manage_jp/mapper/ITmContractorNumMapper.java
  15. 2 0
      src/main/java/com/fdkankan/manage_jp/service/ICameraDetailService.java
  16. 2 0
      src/main/java/com/fdkankan/manage_jp/service/ICameraService.java
  17. 2 0
      src/main/java/com/fdkankan/manage_jp/service/IScenePlusService.java
  18. 2 1
      src/main/java/com/fdkankan/manage_jp/service/ISceneProService.java
  19. 23 0
      src/main/java/com/fdkankan/manage_jp/service/ITmColdStorageService.java
  20. 23 0
      src/main/java/com/fdkankan/manage_jp/service/ITmContractorNumService.java
  21. 26 0
      src/main/java/com/fdkankan/manage_jp/service/ITmContractorService.java
  22. 10 0
      src/main/java/com/fdkankan/manage_jp/service/impl/CameraDetailServiceImpl.java
  23. 7 0
      src/main/java/com/fdkankan/manage_jp/service/impl/CameraServiceImpl.java
  24. 65 0
      src/main/java/com/fdkankan/manage_jp/service/impl/ScenePlusServiceImpl.java
  25. 12 7
      src/main/java/com/fdkankan/manage_jp/service/impl/SceneProServiceImpl.java
  26. 162 0
      src/main/java/com/fdkankan/manage_jp/service/impl/TmColdStorageServiceImpl.java
  27. 58 0
      src/main/java/com/fdkankan/manage_jp/service/impl/TmContractorNumServiceImpl.java
  28. 92 0
      src/main/java/com/fdkankan/manage_jp/service/impl/TmContractorServiceImpl.java
  29. 18 0
      src/main/java/com/fdkankan/manage_jp/util/SceneSourceUtils.java
  30. 12 0
      src/main/java/com/fdkankan/manage_jp/vo/request/ColdStorageParam.java
  31. 10 0
      src/main/java/com/fdkankan/manage_jp/vo/request/ContractorParam.java
  32. 4 0
      src/main/java/com/fdkankan/manage_jp/vo/request/SceneParam.java
  33. 10 3
      src/main/resources/mapper/manage_jp/SceneProMapper.xml
  34. 5 0
      src/main/resources/mapper/manage_jp/TmColdStorageMapper.xml
  35. 19 0
      src/main/resources/mapper/manage_jp/TmContractorMapper.xml
  36. 5 0
      src/main/resources/mapper/manage_jp/TmContractorNumMapper.xml

+ 6 - 0
src/main/java/com/fdkankan/manage_jp/common/ResultCode.java

@@ -25,6 +25,12 @@ public enum ResultCode  {
     CAMERA_IN(50008, "相机已存在"),
     SCENE_ERROR(50009, "场景状态不对"),
     SCENE_DATA_ERROR(5010, "复制失败,场景资源文件不对"),
+    SCENE_COLD_STORAGE(5011, "场景已归档,无需再次归档"),
+    SCENE_NOT_EXIT(5012, "场景不存在"),
+    SCENE_NO_COLD_STORAGE(5013, "场景未归档,无需还原"),
+    SCENE_CONTRACTOR_ERROR(5014, "场景已被协作,无法再次协作"),
+    CONTRACTOR_USER_ERROR(5015, "承包商不存在"),
+    RESTORE_ERROR(5016, "还原的相机类型不同"),
 
 
     ;

+ 11 - 2
src/main/java/com/fdkankan/manage_jp/controller/BaseController.java

@@ -2,8 +2,11 @@ package com.fdkankan.manage_jp.controller;
 
 import com.fdkankan.common.util.DateEditor;
 import com.fdkankan.common.util.JwtUtil;
+import com.fdkankan.manage_jp.common.ResultCode;
 import com.fdkankan.manage_jp.entity.User;
+import com.fdkankan.manage_jp.exception.BusinessException;
 import com.fdkankan.manage_jp.service.IUserService;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.propertyeditors.StringTrimmerEditor;
 import org.springframework.web.bind.WebDataBinder;
@@ -60,9 +63,15 @@ public class BaseController {
         return request.getHeader("token");
     }
     protected User getUser(){
-        String token = getToken();
         String username = JwtUtil.getUsername(getToken());
-        return  userService.getByUserName(username);
+        if(StringUtils.isBlank(username)){
+            throw new BusinessException(ResultCode.USER_NOT_LOGIN);
+        }
+        User user = userService.getByUserName(username);
+        if(user == null){
+            throw new BusinessException(ResultCode.USER_NOT_LOGIN);
+        }
+        return user;
     }
 
 }

+ 4 - 4
src/main/java/com/fdkankan/manage_jp/controller/SceneProController.java

@@ -58,11 +58,11 @@ public class SceneProController extends BaseController{
         Set<Long> roleIds = userRoleService.getByUser(user);
         if(!roleIds.contains(5L)){      //平台管理员
             param.setCompanyId(user.getCompanyId());
-            if(!roleIds.contains(6L)){
-                param.setUserId(user.getId());
-            }
+//            if(!roleIds.contains(6L)){
+//                param.setUserId(user.getId());
+//            }
         }
-        return Result.success(sceneProService.pageList(param));
+        return Result.success(sceneProService.pageList(param,user));
     }
 
 

+ 51 - 0
src/main/java/com/fdkankan/manage_jp/controller/TmColdStorageController.java

@@ -0,0 +1,51 @@
+package com.fdkankan.manage_jp.controller;
+
+
+import com.fdkankan.manage_jp.common.Result;
+import com.fdkankan.manage_jp.service.ITmColdStorageService;
+import com.fdkankan.manage_jp.vo.request.ColdStorageParam;
+import com.fdkankan.manage_jp.vo.request.SceneParam;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+import java.sql.ResultSetMetaData;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2024-02-21
+ */
+@RestController
+@RequestMapping("/manage_jp/storage")
+public class TmColdStorageController {
+
+
+    @Autowired
+    ITmColdStorageService coldStorageService;
+
+    @PostMapping("/list")
+    public Result list(@RequestBody ColdStorageParam param){
+
+        return Result.success(coldStorageService.pageList(param));
+    }
+
+    @PostMapping("/coldStorage")
+    public Result coldStorage(@RequestBody SceneParam param){
+        coldStorageService.coldStorage(param);
+        return Result.success();
+    }
+
+    @PostMapping("/restore")
+    public Result restore(@RequestBody SceneParam param){
+        coldStorageService.restore(param);
+        return Result.success();
+    }
+}
+

+ 42 - 0
src/main/java/com/fdkankan/manage_jp/controller/TmContractorController.java

@@ -0,0 +1,42 @@
+package com.fdkankan.manage_jp.controller;
+
+
+import com.fdkankan.manage_jp.common.Result;
+import com.fdkankan.manage_jp.service.ITmContractorService;
+import com.fdkankan.manage_jp.vo.request.ContractorParam;
+import com.fdkankan.manage_jp.vo.request.SceneParam;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2024-02-21
+ */
+@RestController
+@RequestMapping("/manage_jp/contractor")
+public class TmContractorController extends  BaseController{
+
+    @Autowired
+    ITmContractorService tmContractorService;
+
+    @PostMapping("/list")
+    public Result list(@RequestBody ContractorParam param){
+
+        return Result.success(tmContractorService.pageList(param));
+    }
+
+    @PostMapping("/collaborate")
+    public Result collaborate(@RequestBody SceneParam param){
+        tmContractorService.collaborate(param,getUser());
+        return Result.success();
+    }
+}
+

+ 105 - 0
src/main/java/com/fdkankan/manage_jp/entity/TmColdStorage.java

@@ -0,0 +1,105 @@
+package com.fdkankan.manage_jp.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 
+ * @since 2024-02-21
+ */
+@Getter
+@Setter
+@TableName("tm_cold_storage")
+public class TmColdStorage implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @TableField("scene_id")
+    private Long sceneId;
+
+    /**
+     * 场景名称
+     */
+    @TableField("scene_name")
+    private String sceneName;
+
+    /**
+     * 场景码
+     */
+    @TableField("scene_num")
+    private String sceneNum;
+
+    /**
+     * 场景链接
+     */
+    @TableField("scene_website")
+    private String sceneWebsite;
+
+    /**
+     * 场景封面
+     */
+    @TableField("scene_thumb")
+    private String sceneThumb;
+
+    @TableField("scene_status")
+    private Integer sceneStatus;
+
+    @TableField("user_id")
+    private Long userId;
+
+    /**
+     * 用户账号
+     */
+    @TableField("user_name")
+    private String userName;
+
+    /**
+     * 拍摄设备id
+     */
+    @TableField("sn_code")
+    private String snCode;
+
+    @TableField("camera_id")
+    private Long cameraId;
+
+    /**
+     * 拍摄时间
+     */
+    @TableField("shooting_time")
+    private String shootingTime;
+
+    @TableField("scene_source")
+    private Integer sceneSource;
+
+    @TableField("is_obj")
+    private Integer isObj;
+
+    @TableField("scene_version")
+    private String sceneVersion;
+
+    @TableField("rec_status")
+    @TableLogic(value = "A",delval = "I")
+    private String recStatus;
+
+    @TableField("create_time")
+    private Date createTime;
+
+    @TableField("update_time")
+    private Date updateTime;
+
+
+}

+ 67 - 0
src/main/java/com/fdkankan/manage_jp/entity/TmContractor.java

@@ -0,0 +1,67 @@
+package com.fdkankan.manage_jp.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 
+ * @since 2024-02-21
+ */
+@Getter
+@Setter
+@TableName("tm_contractor")
+public class TmContractor implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 总承包商
+     */
+    @TableField("main_contractor_user_id")
+    private Long mainContractorUserId;
+
+    @TableField("main_contractor_name")
+    private String mainContractorName;
+
+    @TableField("main_contractor_account")
+    private String mainContractorAccount;
+
+    /**
+     * 承包商
+     */
+    @TableField("contractor_user_id")
+    private Long contractorUserId;
+
+    @TableField("contractor_name")
+    private String contractorName;
+
+    @TableField("contractor_account")
+    private String contractorAccount;
+
+    @TableField("rec_status")
+    @TableLogic(value = "A",delval = "I")
+    private String recStatus;
+
+    @TableField("create_time")
+    private Date createTime;
+
+    @TableField("update_time")
+    private Date updateTime;
+
+    @TableField(exist = false)
+    private Long sceneCount;
+}

+ 54 - 0
src/main/java/com/fdkankan/manage_jp/entity/TmContractorNum.java

@@ -0,0 +1,54 @@
+package com.fdkankan.manage_jp.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 
+ * @since 2024-02-27
+ */
+@Getter
+@Setter
+@TableName("tm_contractor_num")
+public class TmContractorNum implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 协作id
+     */
+    @TableField("contractor_id")
+    private Integer contractorId;
+
+    /**
+     * 场景码
+     */
+    @TableField("num")
+    private String num;
+
+    @TableField("rec_status")
+    @TableLogic(value = "A",delval = "I")
+    private String recStatus;
+
+    @TableField("create_time")
+    private Date createTime;
+
+    @TableField("update_time")
+    private Date updateTime;
+
+
+}

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

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

+ 1 - 0
src/main/java/com/fdkankan/manage_jp/httpClient/param/LaserSceneParam.java

@@ -17,4 +17,5 @@ public class LaserSceneParam {
     private String sceneCode;
     private String startTime;
     private String endTime;
+    private List<String> cooperateSceneCodes;
 }

+ 2 - 2
src/main/java/com/fdkankan/manage_jp/httpClient/service/LaserService.java

@@ -231,11 +231,11 @@ public class LaserService {
         return null ;
     }
 
-    public void delete(String num) {
+    public void updateStatus(String num,Integer status) {
         try {
             Map<String,Object> params = new HashMap<>();
             params.put("sceneCode", num);
-            params.put("status", -1);
+            params.put("status", status);
             Result result = laserClient.saveOrEdit(num, params);
             if(result.getCode() != HttpStatus.OK.value()){
                 log.error("激光场景状态同步失败!");

+ 18 - 0
src/main/java/com/fdkankan/manage_jp/mapper/ITmColdStorageMapper.java

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

+ 23 - 0
src/main/java/com/fdkankan/manage_jp/mapper/ITmContractorMapper.java

@@ -0,0 +1,23 @@
+package com.fdkankan.manage_jp.mapper;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.manage_jp.entity.TmContractor;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fdkankan.manage_jp.vo.request.ContractorParam;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2024-02-21
+ */
+@Mapper
+public interface ITmContractorMapper extends BaseMapper<TmContractor> {
+
+    List<TmContractor> pageList(Page<Object> page, ContractorParam param);
+}

+ 18 - 0
src/main/java/com/fdkankan/manage_jp/mapper/ITmContractorNumMapper.java

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

+ 2 - 0
src/main/java/com/fdkankan/manage_jp/service/ICameraDetailService.java

@@ -40,4 +40,6 @@ public interface ICameraDetailService extends MPJBaseService<CameraDetail> {
     List<CameraDetail> getListByCompanyName(String companyName);
 
     void unbindUser(Long userId,Long companyUserId);
+
+    CameraDetail getByWiFiName(String wifiName);
 }

+ 2 - 0
src/main/java/com/fdkankan/manage_jp/service/ICameraService.java

@@ -34,4 +34,6 @@ public interface ICameraService extends MPJBaseService<Camera> {
     List<Camera> getByChildNames(List<String> childNames);
 
     List<Camera> getLikeChildName(String childName);
+
+    List<Camera> getByWiFiName(List<String> wifiName);
 }

+ 2 - 0
src/main/java/com/fdkankan/manage_jp/service/IScenePlusService.java

@@ -18,4 +18,6 @@ public interface IScenePlusService extends IService<ScenePlus> {
     void unbind(Long cameraId,Long userId);
 
     ScenePlus copyScene(ScenePlus scenePlus);
+
+    void updatePayStatus(String num,String version,Integer sceneSource,Integer payStatus,Long cameraId,Long userId);
 }

+ 2 - 1
src/main/java/com/fdkankan/manage_jp/service/ISceneProService.java

@@ -2,6 +2,7 @@ package com.fdkankan.manage_jp.service;
 
 import com.fdkankan.manage_jp.entity.ScenePro;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.manage_jp.entity.User;
 import com.fdkankan.manage_jp.vo.request.SceneParam;
 
 import java.util.List;
@@ -20,7 +21,7 @@ public interface ISceneProService extends IService<ScenePro> {
 
     void rebindUser(Long id, Long managerId);
 
-    Object pageList(SceneParam param);
+    Object pageList(SceneParam param, User user);
 
     ScenePro getByNum(String sceneNum);
 

+ 23 - 0
src/main/java/com/fdkankan/manage_jp/service/ITmColdStorageService.java

@@ -0,0 +1,23 @@
+package com.fdkankan.manage_jp.service;
+
+import com.fdkankan.manage_jp.entity.TmColdStorage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.manage_jp.vo.request.ColdStorageParam;
+import com.fdkankan.manage_jp.vo.request.SceneParam;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 
+ * @since 2024-02-21
+ */
+public interface ITmColdStorageService extends IService<TmColdStorage> {
+
+    Object pageList(ColdStorageParam param);
+
+    void coldStorage(SceneParam param);
+
+    void restore(SceneParam param);
+}

+ 23 - 0
src/main/java/com/fdkankan/manage_jp/service/ITmContractorNumService.java

@@ -0,0 +1,23 @@
+package com.fdkankan.manage_jp.service;
+
+import com.fdkankan.manage_jp.entity.TmContractorNum;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 
+ * @since 2024-02-27
+ */
+public interface ITmContractorNumService extends IService<TmContractorNum> {
+
+    List<TmContractorNum> getByNum(String num);
+
+    List<String> getNumListByUserId(Long userId);
+
+    List<TmContractorNum> getByContractorIds(List<Integer> ids);
+}

+ 26 - 0
src/main/java/com/fdkankan/manage_jp/service/ITmContractorService.java

@@ -0,0 +1,26 @@
+package com.fdkankan.manage_jp.service;
+
+import com.fdkankan.manage_jp.entity.TmContractor;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.manage_jp.entity.User;
+import com.fdkankan.manage_jp.vo.request.ContractorParam;
+import com.fdkankan.manage_jp.vo.request.SceneParam;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 
+ * @since 2024-02-21
+ */
+public interface ITmContractorService extends IService<TmContractor> {
+
+    Object pageList(ContractorParam param);
+
+    void collaborate(SceneParam param, User user);
+
+    List<TmContractor> getByContractorId(Long userId);
+}

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

@@ -153,4 +153,14 @@ public class CameraDetailServiceImpl extends MPJBaseServiceImpl<ICameraDetailMap
         wrapper.set(CameraDetail::getUserId,companyUserId);
         this.update(wrapper);
     }
+
+    @Override
+    public CameraDetail getByWiFiName(String wifiName) {
+        List<Camera> byChildNames = cameraService.getByWiFiName(Arrays.asList(wifiName));
+        if(byChildNames == null || byChildNames.size() <=0){
+            return null;
+        }
+        Camera camera = byChildNames.get(0);
+        return this.getByCameraId(camera.getId());
+    }
 }

+ 7 - 0
src/main/java/com/fdkankan/manage_jp/service/impl/CameraServiceImpl.java

@@ -190,6 +190,13 @@ public class CameraServiceImpl extends MPJBaseServiceImpl<ICameraMapper, Camera>
     }
 
     @Override
+    public List<Camera> getByWiFiName(List<String> wifiNames) {
+        LambdaQueryWrapper<Camera> wrapper = new LambdaQueryWrapper<>();
+        wrapper.in(Camera::getWifiName,wifiNames);
+        return this.list(wrapper);
+    }
+
+    @Override
     public List<Camera> getLikeChildName(String childName) {
         LambdaQueryWrapper<Camera> wrapper = new LambdaQueryWrapper<>();
         wrapper.like(Camera::getChildName,childName);

+ 65 - 0
src/main/java/com/fdkankan/manage_jp/service/impl/ScenePlusServiceImpl.java

@@ -3,10 +3,14 @@ package com.fdkankan.manage_jp.service.impl;
 import cn.hutool.core.io.FileUtil;
 import cn.hutool.core.thread.ThreadUtil;
 import cn.hutool.core.util.StrUtil;
+import cn.hutool.json.JSONUtil;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.fdkankan.common.constant.SceneVersionType;
+import com.fdkankan.common.util.FileUtils;
 import com.fdkankan.fyun.face.FYunFileServiceInterface;
+import com.fdkankan.manage_jp.common.OssPath;
 import com.fdkankan.manage_jp.common.ResultCode;
 import com.fdkankan.manage_jp.entity.*;
 import com.fdkankan.manage_jp.exception.BusinessException;
@@ -16,6 +20,7 @@ import com.fdkankan.manage_jp.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.manage_jp.util.SceneResourcePath;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.bytedeco.javacpp.presets.opencv_core;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Async;
@@ -57,6 +62,8 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
     ISurveillanceService surveillanceService;
     @Autowired
     LaserService laserService;
+    @Autowired
+    ISceneProService sceneProService;
 
     @Override
     public ScenePlus getByNum(String sceneNum) {
@@ -109,5 +116,63 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
         return scenePlus;
     }
 
+    @Override
+    public void updatePayStatus(String num,String version,Integer sceneSource,Integer payStatus,Long cameraId,Long userId) {
+        if(version.equals("v3")){
+            LambdaUpdateWrapper<ScenePro> wrapper2 = new LambdaUpdateWrapper<>();
+            wrapper2.set(ScenePro::getPayStatus,payStatus);
+            wrapper2.eq(ScenePro::getNum,num);
+            if(cameraId != null){
+                wrapper2.set(ScenePro::getCameraId,cameraId);
+            }
+            if(userId != null){
+                wrapper2.set(ScenePro::getUserId,userId);
+            }
+            sceneProService.update(wrapper2);
+            updateOssPayStatus(String.format(OssPath.v3_statusPath,num),payStatus);
+        }else if(version.equals("v4")){
+            LambdaUpdateWrapper<ScenePlus> wrapper = new LambdaUpdateWrapper<>();
+            wrapper.set(ScenePlus::getPayStatus,payStatus);
+            wrapper.eq(ScenePlus::getNum,num);
+            if(cameraId != null){
+                wrapper.set(ScenePlus::getCameraId,cameraId);
+            }
+            if(userId != null){
+                wrapper.set(ScenePlus::getUserId,userId);
+            }
+            this.update(wrapper);
+            updateOssPayStatus(String.format(OssPath.v4_statusPath,num),payStatus);
+        }
+
+        if(sceneSource == 4 || sceneSource == 5){
+            laserService.updateStatus(num,3);
+        }
+
 
+    }
+
+    /**
+     *  修改oss status.json中 payStatus
+     */
+    public void updateOssPayStatus(String path,Integer payStatus) {
+        try {
+            if(!fYunFileServiceInterface.fileExist(path)){
+                return;
+            }
+            String data = fYunFileServiceInterface.getFileContent(path);
+            if(StringUtils.isBlank(data)){
+                return;
+            }
+            JSONObject jsonObject = JSONObject.parseObject(data);
+            jsonObject.put("payStatus",payStatus);
+            String json = JSONUtil.toJsonStr(jsonObject);
+            FileUtils.writeFile(OssPath.localStatusPath ,json);
+            log.info("updateOssStatus--localPath:{},ossPath:{},payStatus:{}",OssPath.localStatusPath,path,payStatus);
+            fYunFileServiceInterface.uploadFile(OssPath.localStatusPath,path);
+        }catch (Exception e){
+            e.printStackTrace();
+        }finally {
+            FileUtil.del(OssPath.localStatusPath);
+        }
+    }
 }

+ 12 - 7
src/main/java/com/fdkankan/manage_jp/service/impl/SceneProServiceImpl.java

@@ -16,10 +16,7 @@ import com.fdkankan.manage_jp.common.OssPath;
 import com.fdkankan.manage_jp.common.PageInfo;
 import com.fdkankan.manage_jp.common.RedisKeyUtil;
 import com.fdkankan.manage_jp.common.ResultCode;
-import com.fdkankan.manage_jp.entity.Company;
-import com.fdkankan.manage_jp.entity.ScenePlus;
-import com.fdkankan.manage_jp.entity.ScenePro;
-import com.fdkankan.manage_jp.entity.SceneProEdit;
+import com.fdkankan.manage_jp.entity.*;
 import com.fdkankan.manage_jp.exception.BusinessException;
 import com.fdkankan.manage_jp.httpClient.service.LaserService;
 import com.fdkankan.manage_jp.mapper.ISceneProMapper;
@@ -75,6 +72,10 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
     IScene3dNumService scene3dNumService;
     @Autowired
     SceneCommonService sceneCommonService;
+    @Autowired
+    ITmContractorService tmContractorService;
+    @Autowired
+    ITmContractorNumService tmContractorNumService;
 
     @Override
     public Long getCountByUserIds(List<Long> userIds) {
@@ -103,7 +104,10 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
     }
 
     @Override
-    public Object pageList(SceneParam param) {
+    public Object pageList(SceneParam param, User user) {
+
+        List<String> numList = tmContractorNumService.getNumListByUserId(user.getId());
+        param.setCooperateSceneCodes(numList);
         if(param.getType() == 2 || param.getType() == 6){  //深时
             return laserService.pageList(param);
         }
@@ -164,8 +168,9 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
             scenePlusExtService.delByPlus(scenePlus.getId());
             this.updateOssStatus(String.format(OssPath.v4_statusPath,scenePlus.getNum()),"I");
         }
-        if(num.contains("SS")){
-            laserService.delete(num);
+        Integer sceneSource = scenePro == null ? scenePro.getSceneSource() : scenePlus.getSceneSource();
+        if(sceneSource == 4 || sceneSource == 5){
+            laserService.updateStatus(num,-1);
         }
     }
 

+ 162 - 0
src/main/java/com/fdkankan/manage_jp/service/impl/TmColdStorageServiceImpl.java

@@ -0,0 +1,162 @@
+package com.fdkankan.manage_jp.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.manage_jp.common.PageInfo;
+import com.fdkankan.manage_jp.common.ResultCode;
+import com.fdkankan.manage_jp.entity.*;
+import com.fdkankan.manage_jp.exception.BusinessException;
+import com.fdkankan.manage_jp.mapper.ITmColdStorageMapper;
+import com.fdkankan.manage_jp.service.*;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.manage_jp.util.SceneSourceUtils;
+import com.fdkankan.manage_jp.vo.request.ColdStorageParam;
+import com.fdkankan.manage_jp.vo.request.SceneParam;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.sql.BatchUpdateException;
+import java.util.List;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2024-02-21
+ */
+@Service
+public class TmColdStorageServiceImpl extends ServiceImpl<ITmColdStorageMapper, TmColdStorage> implements ITmColdStorageService {
+
+    @Autowired
+    IScenePlusService scenePlusService;
+    @Autowired
+    IScenePlusExtService scenePlusExtService;
+    @Autowired
+    ISceneProService sceneProService;
+    @Autowired
+    IUserService userService;
+    @Autowired
+    ICameraService cameraService;
+    @Autowired
+    ICameraDetailService cameraDetailService;
+
+    @Override
+    public Object pageList(ColdStorageParam param) {
+        LambdaQueryWrapper<TmColdStorage> wrapper = new LambdaQueryWrapper<>();
+        if(StringUtils.isNotBlank(param.getUserName())){
+            wrapper.like(TmColdStorage::getUserName,param.getUserName());
+        }
+        if(StringUtils.isNotBlank(param.getShootingStartTime())){
+            wrapper.ge(TmColdStorage::getShootingTime,param.getShootingStartTime());
+        }
+        if(StringUtils.isNotBlank(param.getShootingEndTime())){
+            wrapper.le(TmColdStorage::getShootingTime,param.getShootingEndTime());
+        }
+        if(param.getType() != null){
+            List<Integer> sceneSourceByType = SceneSourceUtils.getSceneSourceByType(param.getType());
+            wrapper.in(TmColdStorage::getSceneSource,sceneSourceByType);
+            if(param.getType() == 4){
+                wrapper.eq(TmColdStorage::getIsObj,1);
+            }
+        }
+        Page<TmColdStorage> page = this.page(new Page<>(param.getPageNum(), param.getPageSize()), wrapper);
+        return PageInfo.PageInfo(page);
+    }
+
+
+    @Override
+    public void coldStorage(SceneParam param) {
+        if(param.getNumList().isEmpty()){
+            throw new BusinessException(ResultCode.PARAM_ERROR);
+        }
+        for (String num :param.getNumList()) {
+            List<TmColdStorage> tmColdStorages = this.getByNum(num);
+            if(!tmColdStorages.isEmpty()){
+                throw new BusinessException(ResultCode.SCENE_COLD_STORAGE);
+            }
+            ScenePlus scenePlus = scenePlusService.getByNum(num);
+            ScenePro scenePro = sceneProService.getByNum(num);
+            if(scenePlus == null && scenePro == null){
+                throw new BusinessException(ResultCode.SCENE_NOT_EXIT);
+            }
+            Long userId = scenePro == null ? scenePlus.getUserId() :scenePro.getUserId();
+            Long cameraId = scenePro == null ? scenePlus.getCameraId() :scenePro.getCameraId();
+
+            ScenePlusExt scenePlusExt = null;
+            if(scenePlus != null){
+                scenePlusExt = scenePlusExtService.getByPlusId(scenePlus.getId());
+                if(scenePlusExt == null){
+                    throw new BusinessException(ResultCode.SCENE_NOT_EXIT);
+                }
+            }
+            TmColdStorage coldStorage = new TmColdStorage();
+            if(cameraId != null){
+                Camera camera = cameraService.getById(cameraId);
+                if(camera != null){
+                    coldStorage.setCameraId(camera.getId());
+                    coldStorage.setSnCode(camera.getSnCode());
+                }
+            }
+            if(userId != null){
+                User user = userService.getById(userId);
+                if(user != null){
+                    coldStorage.setUserName(user.getUserName());
+                }
+            }
+            coldStorage.setSceneId(scenePro == null ?scenePlus.getId():scenePro.getId());
+            coldStorage.setSceneName(scenePro == null ?scenePlus.getTitle():scenePro.getSceneName());
+            coldStorage.setSceneNum(scenePro == null ?scenePlus.getNum():scenePro.getNum());
+            coldStorage.setSceneWebsite(scenePro == null ?scenePlusExt.getWebSite():scenePro.getWebSite());
+            coldStorage.setSceneThumb(scenePro == null ?scenePlusExt.getThumb():scenePro.getThumb());
+            coldStorage.setSceneStatus(scenePro == null ?scenePlus.getSceneStatus(): scenePro.getStatus());
+            coldStorage.setUserId(scenePro == null ?scenePlus.getUserId():scenePro.getUserId());
+            coldStorage.setShootingTime(scenePro == null ?scenePlus.getCreateTime():scenePro.getCreateTime());
+            coldStorage.setSceneSource(scenePro == null?scenePlus.getSceneSource():scenePro.getSceneSource());
+            coldStorage.setSceneVersion(scenePro == null?"v3":"v4");
+            coldStorage.setIsObj(scenePro == null?scenePlusExt.getIsObj():scenePro.getIsObj());
+            this.save(coldStorage);
+            scenePlusService.updatePayStatus(num,scenePro == null ?"v3":"v4",scenePro == null?scenePlus.getSceneSource():scenePro.getSceneSource(),-2,null,null);
+
+        }
+
+    }
+
+
+    @Override
+    public void restore(SceneParam param) {
+        if(param.getNumList().isEmpty() || StringUtils.isBlank(param.getWifiName())){
+            throw new BusinessException(ResultCode.PARAM_ERROR);
+        }
+        for (String num : param.getNumList()) {
+            List<TmColdStorage> tmColdStorages = this.getByNum(num);
+            if(tmColdStorages.isEmpty()){
+                throw new BusinessException(ResultCode.SCENE_NO_COLD_STORAGE);
+            }
+            ScenePlus scenePlus = scenePlusService.getByNum(num);
+            ScenePro scenePro = sceneProService.getByNum(num);
+            if(scenePlus == null && scenePro == null){
+                throw new BusinessException(ResultCode.SCENE_NOT_EXIT);
+            }
+            Long cameraId = scenePro == null ? scenePlus.getCameraId() : scenePro.getCameraId();
+            CameraDetail oldCameraDetail = cameraDetailService.getByCameraId(cameraId);
+            CameraDetail cameraDetail = cameraDetailService.getByWiFiName(param.getWifiName());
+            if(!oldCameraDetail.getType().equals(cameraDetail.getType())){
+                throw new BusinessException(ResultCode.RESTORE_ERROR);
+            }
+            scenePlusService.updatePayStatus(num,scenePro == null ?"v3":"v4",scenePro == null?scenePlus.getSceneSource():scenePro.getSceneSource(),1,cameraDetail.getCameraId(),cameraDetail.getUserId());
+            this.removeByIds(tmColdStorages);
+        }
+
+    }
+
+
+    private List<TmColdStorage> getByNum(String num) {
+        LambdaQueryWrapper<TmColdStorage> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(TmColdStorage::getSceneNum,num);
+        return this.list(wrapper);
+    }
+}

+ 58 - 0
src/main/java/com/fdkankan/manage_jp/service/impl/TmContractorNumServiceImpl.java

@@ -0,0 +1,58 @@
+package com.fdkankan.manage_jp.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.fdkankan.manage_jp.entity.TmContractor;
+import com.fdkankan.manage_jp.entity.TmContractorNum;
+import com.fdkankan.manage_jp.mapper.ITmContractorNumMapper;
+import com.fdkankan.manage_jp.service.ITmContractorNumService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.manage_jp.service.ITmContractorService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2024-02-27
+ */
+@Service
+public class TmContractorNumServiceImpl extends ServiceImpl<ITmContractorNumMapper, TmContractorNum> implements ITmContractorNumService {
+
+    @Autowired
+    ITmContractorService tmContractorService;
+
+    @Override
+    public List<TmContractorNum> getByNum(String num) {
+        LambdaQueryWrapper<TmContractorNum> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(TmContractorNum::getNum,num);
+        return this.list(wrapper);
+    }
+
+    @Override
+    public List<String> getNumListByUserId(Long userId) {
+        List<TmContractor> tmContractors = tmContractorService.getByContractorId(userId);
+        if(!tmContractors.isEmpty()){
+            List<Integer> ids = tmContractors.stream().map(TmContractor::getId).collect(Collectors.toList());
+            List<TmContractorNum> list = this.getByContractorIds(ids);
+            return list.stream().map(TmContractorNum::getNum).collect(Collectors.toList());
+        }
+        return new ArrayList<>();
+    }
+
+    @Override
+    public List<TmContractorNum> getByContractorIds(List<Integer> ids) {
+        if(ids.isEmpty()){
+            return new ArrayList<>();
+        }
+        LambdaQueryWrapper<TmContractorNum> wrapper = new LambdaQueryWrapper<>();
+        wrapper.in(TmContractorNum::getContractorId,ids);
+        return this.list(wrapper);
+    }
+}

+ 92 - 0
src/main/java/com/fdkankan/manage_jp/service/impl/TmContractorServiceImpl.java

@@ -0,0 +1,92 @@
+package com.fdkankan.manage_jp.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.manage_jp.common.ResultCode;
+import com.fdkankan.manage_jp.entity.TmContractor;
+import com.fdkankan.manage_jp.entity.TmContractorNum;
+import com.fdkankan.manage_jp.entity.User;
+import com.fdkankan.manage_jp.exception.BusinessException;
+import com.fdkankan.manage_jp.mapper.ITmContractorMapper;
+import com.fdkankan.manage_jp.service.ITmContractorNumService;
+import com.fdkankan.manage_jp.service.ITmContractorService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.manage_jp.service.IUserService;
+import com.fdkankan.manage_jp.vo.request.ContractorParam;
+import com.fdkankan.manage_jp.vo.request.SceneParam;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.poi.util.StringUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2024-02-21
+ */
+@Service
+public class TmContractorServiceImpl extends ServiceImpl<ITmContractorMapper, TmContractor> implements ITmContractorService {
+
+    @Autowired
+    ITmContractorNumService tmContractorNumService;
+    @Autowired
+    IUserService userService;
+
+    @Override
+    public Object pageList(ContractorParam param) {
+        return this.getBaseMapper().pageList(new Page<>(param.getPageNum(),param.getPageSize()),param);
+    }
+
+    @Override
+    @Transactional
+    public void collaborate(SceneParam param, User user) {
+        if(StringUtils.isBlank(param.getNum()) || StringUtils.isBlank(param.getUserName())){
+            throw new BusinessException(ResultCode.PARAM_ERROR);
+        }
+        List<TmContractorNum> numList = tmContractorNumService.getByNum(param.getNum());
+        if(!numList.isEmpty()){
+            throw new BusinessException(ResultCode.SCENE_CONTRACTOR_ERROR);
+        }
+        User contractorUser = userService.getByUserName(param.getUserName());
+        if(contractorUser == null){
+            throw new BusinessException(ResultCode.CONTRACTOR_USER_ERROR);
+        }
+
+        TmContractor tmContractor = this.getByMainContractor(user.getId(),contractorUser.getId());
+        if(tmContractor == null){
+            tmContractor = new TmContractor();
+        }
+        tmContractor.setMainContractorUserId(user.getId());
+        tmContractor.setMainContractorName(user.getNickName());
+        tmContractor.setMainContractorAccount(user.getUserName());
+        tmContractor.setContractorUserId(contractorUser.getId());
+        tmContractor.setContractorName(contractorUser.getNickName());
+        tmContractor.setContractorAccount(contractorUser.getUserName());
+        this.saveOrUpdate(tmContractor);
+
+        TmContractorNum tmContractorNum = new TmContractorNum();
+        tmContractorNum.setContractorId(tmContractor.getId());
+        tmContractorNum.setNum(param.getNum());
+        tmContractorNumService.save(tmContractorNum);
+    }
+
+    private TmContractor getByMainContractor(Long userId, Long userId2) {
+        LambdaQueryWrapper<TmContractor> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(TmContractor::getMainContractorUserId,userId);
+        wrapper.eq(TmContractor::getContractorUserId,userId2);
+        return this.getOne(wrapper);
+    }
+
+    @Override
+    public List<TmContractor> getByContractorId(Long userId) {
+        LambdaQueryWrapper<TmContractor> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(TmContractor::getContractorUserId,userId);
+        return this.list(wrapper);
+    }
+}

+ 18 - 0
src/main/java/com/fdkankan/manage_jp/util/SceneSourceUtils.java

@@ -0,0 +1,18 @@
+package com.fdkankan.manage_jp.util;
+
+import java.util.Arrays;
+import java.util.List;
+
+public class SceneSourceUtils {
+
+    public static List<Integer> getSceneSourceByType(Integer type){
+        switch (type){
+            case 0 : return Arrays.asList(1,2,12,13,14);    //看看
+            case 1 : return Arrays.asList(3);               //看见
+            case 2 : return Arrays.asList(4);               //深时
+            case 4 : return Arrays.asList(4);               //深时
+            case 5 : return Arrays.asList(5);               //深光
+            default:return Arrays.asList(1,2,12,13,14);    //看看
+        }
+    }
+}

+ 12 - 0
src/main/java/com/fdkankan/manage_jp/vo/request/ColdStorageParam.java

@@ -0,0 +1,12 @@
+package com.fdkankan.manage_jp.vo.request;
+
+import com.fdkankan.manage_jp.common.RequestBase;
+import lombok.Data;
+
+@Data
+public class ColdStorageParam extends RequestBase {
+    private Integer type = 0;
+    private String userName;
+    private String shootingStartTime;
+    private String shootingEndTime;
+}

+ 10 - 0
src/main/java/com/fdkankan/manage_jp/vo/request/ContractorParam.java

@@ -0,0 +1,10 @@
+package com.fdkankan.manage_jp.vo.request;
+
+import com.fdkankan.manage_jp.common.RequestBase;
+import lombok.Data;
+
+@Data
+public class ContractorParam extends RequestBase {
+    private String mainContractorAccount;
+    private String contractorAccount;
+}

+ 4 - 0
src/main/java/com/fdkankan/manage_jp/vo/request/SceneParam.java

@@ -20,4 +20,8 @@ public class SceneParam extends RequestBase {
     private String snCode;
     private String userName;
 
+    private String wifiName;
+    private String num;
+    private List<String> numList;
+    private List<String> cooperateSceneCodes;
 }

+ 10 - 3
src/main/resources/mapper/manage_jp/SceneProMapper.xml

@@ -53,12 +53,19 @@
         <if test="param.companyName !=null and param.companyName !='' ">
             and co.company_name like concat ('%',#{param.companyName},'%')
         </if>
-        <if test="param.companyId !=null ">
-            and co.id = #{param.companyId}
-        </if>
         <if test="param.userId !=null ">
             and s.user_id = #{param.userId}
         </if>
+        <if test="param.companyId !=null and param.cooperateSceneCodes !=null and param.cooperateSceneCodes.size >0">
+            and ( co.id = #{param.companyId} or s.num in
+            <foreach collection="param.cooperateSceneCodes" item="coNum" open="(" separator="," close=")">
+                #{coNum}
+            </foreach>
+            )
+        </if>
+        <if test="param.companyId !=null and param.cooperateSceneCodes !=null and param.cooperateSceneCodes.size ==0 ">
+            and co.id = #{param.companyId}
+        </if>
     </sql>
 
 </mapper>

+ 5 - 0
src/main/resources/mapper/manage_jp/TmColdStorageMapper.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_jp.mapper.ITmColdStorageMapper">
+
+</mapper>

+ 19 - 0
src/main/resources/mapper/manage_jp/TmContractorMapper.xml

@@ -0,0 +1,19 @@
+<?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_jp.mapper.ITmContractorMapper">
+
+    <select id="pageList" resultType="com.fdkankan.manage_jp.entity.TmContractor">
+        select id,main_contractor_user_id,main_contractor_name,main_contractor_account,contractor_user_id,contractor_name,
+               contractor_account,rec_status,create_time,update_time,
+               (SELECT count(1) FROM tm_contractor_num n WHERE c.id = n.contractor_id and  n.rec_status = 'A') as scene_count
+        from tm_contractor c
+        where c.rec_status = 'A'
+        <if test="param.mainContractorAccount != null and param.mainContractorAccount != ''">
+            and c.main_contractor_account like concat ('%',#{param.mainContractorAccount},'%')
+        </if>
+        <if test="param.contractorAccount != null and param.contractorAccount != ''">
+            and c.contractor_account like concat ('%',#{param.contractorAccount},'%')
+        </if>
+        order by id desc
+    </select>
+</mapper>

+ 5 - 0
src/main/resources/mapper/manage_jp/TmContractorNumMapper.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_jp.mapper.ITmContractorNumMapper">
+
+</mapper>