Browse Source

UserFeign

lyhzzz 3 years ago
parent
commit
296e2806ff
19 changed files with 323 additions and 117 deletions
  1. 6 0
      4dkankan-center-api/4dkankan-center-platform-api/src/main/java/com/fdkankan/platform/api/feign/PlatformClient.java
  2. 1 24
      4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/entity/User.java
  3. 5 9
      4dkankan-center-modeling/pom.xml
  4. 4 0
      4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/ModelingApplication.java
  5. 42 0
      4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/feign/UserFeign.java
  6. 0 18
      4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/mapper/IUserMapper.java
  7. 16 12
      4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/receiver/BuildSceneReceiver.java
  8. 0 18
      4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/service/IUserService.java
  9. 14 1
      4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/service/impl/SceneProServiceImpl.java
  10. 0 30
      4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/service/impl/UserServiceImpl.java
  11. 8 1
      4dkankan-center-platform/src/main/java/com/fdkankan/agent/service/IVaildCamerasService.java
  12. 91 1
      4dkankan-center-platform/src/main/java/com/fdkankan/agent/service/impl/VaildCamerasServiceImpl.java
  13. 26 0
      4dkankan-center-platform/src/main/java/com/fdkankan/feign/ModelingFeign.java
  14. 1 1
      4dkankan-center-platform/src/main/java/com/fdkankan/feign/platformFeign.java
  15. 56 0
      4dkankan-center-platform/src/main/java/com/fdkankan/goods/controller/api/VaildCamerasController.java
  16. 1 1
      4dkankan-center-platform/src/main/java/com/fdkankan/goods/service/impl/CameraDetailServiceImpl.java
  17. 6 1
      4dkankan-center-platform/src/main/java/com/fdkankan/goods/service/impl/CameraVersionServiceImpl.java
  18. 1 0
      4dkankan-common/src/main/java/com/fdkankan/common/constant/ErrorCode.java
  19. 45 0
      4dkankan-common/src/main/java/com/fdkankan/common/util/AesUtil.java

+ 6 - 0
4dkankan-center-api/4dkankan-center-platform-api/src/main/java/com/fdkankan/platform/api/feign/PlatformClient.java

@@ -50,4 +50,10 @@ public interface PlatformClient {
      */
     @PostMapping("/getCompanyById")
     ResultData getCompanyById(@RequestParam(value = "companyId", required = false) Long companyId) ;
+    /**
+     *
+     * @return company
+     */
+    @PostMapping("/getUserByName")
+    ResultData getUserByName(@RequestParam(value = "userName", required = false) String userName) ;
 }

+ 1 - 24
4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/entity/User.java

@@ -1,6 +1,5 @@
-package com.fdkankan.modeling.entity;
+package com.fdkankan.platform.api.vo;
 
-import com.baomidou.mybatisplus.annotation.*;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -17,127 +16,105 @@ import java.util.Date;
  */
 @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(value="A",delval = "I")
     private String recStatus;
 
     /**
      * 更新时间
      */
-    @TableField("update_time")
     private Date updateTime;
 
     /**
      * 0正常,1删除
      */
-    @TableField("tb_status")
     private Integer tbStatus;
 
 

+ 5 - 9
4dkankan-center-modeling/pom.xml

@@ -20,6 +20,11 @@
 	<dependencies>
 		<dependency>
 			<groupId>com.fdkankan</groupId>
+			<artifactId>4dkankan-center-platform-api</artifactId>
+			<version>2.0.0</version>
+		</dependency>
+		<dependency>
+			<groupId>com.fdkankan</groupId>
 			<artifactId>4dkankan-common-utils</artifactId>
 			<version>2.0.0</version>
 		</dependency>
@@ -101,15 +106,6 @@
 				<groupId>org.springframework.boot</groupId>
 				<artifactId>spring-boot-maven-plugin</artifactId>
 			</plugin>
-
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-surefire-plugin</artifactId>
-				<configuration>
-					<testFailureIgnore>true</testFailureIgnore>
-				</configuration>
-			</plugin>
-
 		</plugins>
 	</build>
 

+ 4 - 0
4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/ModelingApplication.java

@@ -2,9 +2,13 @@ package com.fdkankan.modeling;
 
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+import org.springframework.cloud.openfeign.EnableFeignClients;
 import org.springframework.context.annotation.ComponentScan;
 
 @SpringBootApplication
+@EnableDiscoveryClient
+@EnableFeignClients
 @ComponentScan("*")
 public class ModelingApplication {
 

+ 42 - 0
4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/feign/UserFeign.java

@@ -0,0 +1,42 @@
+package com.fdkankan.modeling.feign;
+
+import com.alibaba.fastjson.JSONObject;
+import com.fdkankan.common.response.ResultData;
+import com.fdkankan.modeling.entity.ScenePro;
+import com.fdkankan.modeling.service.ISceneProService;
+import com.fdkankan.platform.api.feign.PlatformClient;
+import com.fdkankan.platform.api.vo.User;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+@Service
+@Slf4j
+public class UserFeign {
+
+    @Resource
+    private PlatformClient platformClient;
+    @Autowired
+    private ISceneProService sceneProService;
+
+    public User findByUserName(String userName) {
+        ResultData resultData  = platformClient.getUserByName(userName);
+        if(resultData.getCode() != 200 && resultData.getData()==null){
+            return null;
+        }
+        Object userData = resultData.getData();
+        return JSONObject.parseObject(JSONObject.toJSONString(userData), User.class);
+    }
+
+    public int updateUserUsedSpaceBySceneNum(Long userId, String projectNum) {
+        ScenePro sceneProEntity = sceneProService.findBySceneNum(projectNum);
+        if(sceneProEntity == null) {
+            log.info("该场景不存在无法扣除容量,场景码为:" + projectNum);
+            return -1;
+        }
+        //todo
+        return 0;
+    }
+}

+ 0 - 18
4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/mapper/IUserMapper.java

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

+ 16 - 12
4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/receiver/BuildSceneReceiver.java

@@ -3,24 +3,28 @@ package com.fdkankan.modeling.receiver;
 import cn.hutool.core.date.DateUtil;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
-import com.fdkankan.utils.constant.ConstantFilePath;
-import com.fdkankan.utils.constant.ConstantUrl;
-import com.fdkankan.mq.message.BuildSceneMqMessage;
-import com.fdkankan.utils.utils.CreateObjUtil;
-import com.fdkankan.utils.utils.FileUtil;
-import com.fdkankan.utils.utils.FileUtils;
 import com.fdkankan.modeling.constants.RedisKey;
 import com.fdkankan.modeling.constants.SysConstants;
 import com.fdkankan.modeling.entity.SceneFileBuild;
 import com.fdkankan.modeling.entity.ScenePro;
 import com.fdkankan.modeling.entity.SceneProExt;
-import com.fdkankan.modeling.entity.User;
+import com.fdkankan.modeling.feign.UserFeign;
 import com.fdkankan.modeling.push.PushMessageConfig;
-import com.fdkankan.modeling.service.*;
+import com.fdkankan.modeling.service.ISceneFileBuildService;
+import com.fdkankan.modeling.service.ISceneProExtService;
+import com.fdkankan.modeling.service.ISceneProService;
+import com.fdkankan.modeling.service.ISceneService;
 import com.fdkankan.modeling.utils.ComputerUtil;
 import com.fdkankan.modeling.utils.DingDingUtils;
 import com.fdkankan.modeling.utils.PushMsgUtil;
+import com.fdkankan.mq.message.BuildSceneMqMessage;
 import com.fdkankan.oss.UploadUtils;
+import com.fdkankan.platform.api.vo.User;
+import com.fdkankan.utils.constant.ConstantFilePath;
+import com.fdkankan.utils.constant.ConstantUrl;
+import com.fdkankan.utils.utils.CreateObjUtil;
+import com.fdkankan.utils.utils.FileUtil;
+import com.fdkankan.utils.utils.FileUtils;
 import com.taobao.api.ApiException;
 import lombok.extern.log4j.Log4j2;
 import org.apache.commons.lang3.StringUtils;
@@ -61,7 +65,7 @@ public class BuildSceneReceiver implements MessageListenerConcurrently {
     @Autowired
     private ISceneProService sceneProService;
     @Autowired
-    private IUserService userService;
+    private UserFeign userFeign;
     @Autowired
     private ISceneFileBuildService sceneFileBuildService;
 
@@ -483,11 +487,11 @@ public class BuildSceneReceiver implements MessageListenerConcurrently {
                 scenejson.put("videos", videosJson.toJSONString());
                 FileUtils.writeFile(dataBuffer.toString() + "scene.json", scenejson.toString());
 
-                User userEntity = userService.findByUserName(userName);
+                User userEntity = userFeign.findByUserName(userName);
                 if(userEntity == null){
-                    userService.updateUserUsedSpaceBySceneNum(null, projectNum);
+                    userFeign.updateUserUsedSpaceBySceneNum(null, projectNum);
                 }else {
-                    userService.updateUserUsedSpaceBySceneNum(userEntity.getId(), projectNum);
+                    userFeign.updateUserUsedSpaceBySceneNum(userEntity.getId(), projectNum);
                 }
                 if (sceneFileBuildEntity != null){
                     sceneFileBuildEntity.setBuildStatus(3);

+ 0 - 18
4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/service/IUserService.java

@@ -1,18 +0,0 @@
-package com.fdkankan.modeling.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.fdkankan.modeling.entity.User;
-
-/**
- * <p>
- * 用户信息表 服务类
- * </p>
- *
- * @author 
- * @since 2021-12-24
- */
-public interface IUserService extends IService<User> {
-    User findByUserName(String userName);
-
-    void updateUserUsedSpaceBySceneNum(Object o, String projectNum);
-}

+ 14 - 1
4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/service/impl/SceneProServiceImpl.java

@@ -1,11 +1,17 @@
 package com.fdkankan.modeling.service.impl;
 
+import cn.hutool.core.collection.CollUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.common.constant.RecStatus;
+import com.fdkankan.common.constant.TbStatus;
 import com.fdkankan.modeling.entity.ScenePro;
 import com.fdkankan.modeling.mapper.ISceneProMapper;
 import com.fdkankan.modeling.service.ISceneProService;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * pro场景表 服务实现类
@@ -25,7 +31,14 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
 
     @Override
     public ScenePro findBySceneNum(String projectNum) {
-        return null;
+        List<ScenePro> list = this.list(new QueryWrapper<ScenePro>()
+                .eq("tb_status", TbStatus.VALID.code())
+                .eq("rec_status", RecStatus.VALID.code())
+                .eq("scene_code", projectNum));
+        if(CollUtil.isEmpty(list)){
+            return null;
+        }
+        return list.get(0);
     }
 
     @Override

+ 0 - 30
4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/service/impl/UserServiceImpl.java

@@ -1,30 +0,0 @@
-package com.fdkankan.modeling.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.fdkankan.modeling.entity.User;
-import com.fdkankan.modeling.mapper.IUserMapper;
-import com.fdkankan.modeling.service.IUserService;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 用户信息表 服务实现类
- * </p>
- *
- * @author
- * @since 2021-12-24
- */
-@Service
-public class UserServiceImpl extends ServiceImpl<IUserMapper, User> implements IUserService {
-
-
-    @Override
-    public User findByUserName(String userName) {
-        return null;
-    }
-
-    @Override
-    public void updateUserUsedSpaceBySceneNum(Object o, String projectNum) {
-
-    }
-}

+ 8 - 1
4dkankan-center-platform/src/main/java/com/fdkankan/agent/service/IVaildCamerasService.java

@@ -1,7 +1,9 @@
 package com.fdkankan.agent.service;
 
-import com.fdkankan.agent.entity.VaildCameras;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.agent.entity.VaildCameras;
+
+import java.util.HashMap;
 
 /**
  * <p>
@@ -13,4 +15,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IVaildCamerasService extends IService<VaildCameras> {
 
+    HashMap<String,Object> getVaildCameras(String file, String companyName) throws Exception;
+
+    String addVaildCameras(String macId, String wifiName, String companyName);
+
+    String deleteVaildCameras(String macId, String companyName);
 }

+ 91 - 1
4dkankan-center-platform/src/main/java/com/fdkankan/agent/service/impl/VaildCamerasServiceImpl.java

@@ -1,10 +1,30 @@
 package com.fdkankan.agent.service.impl;
 
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.agent.entity.VaildCameras;
 import com.fdkankan.agent.mapper.IVaildCamerasMapper;
 import com.fdkankan.agent.service.IVaildCamerasService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.common.constant.CameraConstant;
+import com.fdkankan.common.constant.ConstantFilePath;
+import com.fdkankan.common.constant.ErrorCode;
+import com.fdkankan.common.exception.BusinessException;
+import com.fdkankan.common.util.AesUtil;
+import com.fdkankan.common.util.FileUtil;
+import com.fdkankan.common.util.FileUtils;
+import com.fdkankan.common.util.RSAEncrypt;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
+
+import java.io.File;
+import java.util.HashMap;
+import java.util.List;
+import java.util.UUID;
 
 /**
  * <p>
@@ -17,4 +37,74 @@ import org.springframework.stereotype.Service;
 @Service
 public class VaildCamerasServiceImpl extends ServiceImpl<IVaildCamerasMapper, VaildCameras> implements IVaildCamerasService {
 
+    private static Logger log = LoggerFactory.getLogger("programLog");
+
+    @Value("${main.url:https://test.4dkankan.com/}")
+    private String mainUrl;
+
+    @Override
+    public HashMap<String,Object> getVaildCameras(String file, String companyName) throws Exception{
+        if(StringUtils.isEmpty(file) || StringUtils.isEmpty(companyName)){
+            log.info("file:" + file);
+            log.info("companyName:" + companyName);
+            throw new BusinessException(ErrorCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        List<VaildCameras> vaildCamerasEntityList = getListByCompanyName(companyName);
+        if(vaildCamerasEntityList == null || vaildCamerasEntityList.size() <= 0){
+            throw new BusinessException(CameraConstant.FAILURE_6011);
+        }
+        //生成需要加密的文件
+        UUID uuid = UUID.randomUUID();
+        String key = uuid.toString().replace("-","").substring(0,16);
+        JSONArray array = new JSONArray();
+        JSONObject object = null;
+        for(VaildCameras vaildCamerasEntity: vaildCamerasEntityList){
+            object = new JSONObject();
+            object.put("Devicemac", vaildCamerasEntity.getDevicemac());
+            array.add(object);
+        }
+        String aesData = AesUtil.encryptAES(array.toString(), key, key);
+
+        String dataPath = ConstantFilePath.AGENT_PATH + companyName + File.separator + System.currentTimeMillis() + "_" + Math.random()*100 + "_key.txt";
+        FileUtils.writeFile(dataPath, key);
+
+        String secretPath = ConstantFilePath.AGENT_PATH + companyName + "/secret/";
+        String fileName = System.currentTimeMillis() + "_public.pem";
+        File targetFile = new File(secretPath + fileName);
+        if(!targetFile.getParentFile().exists()){
+            targetFile.getParentFile().mkdirs();
+        }
+        FileUtils.writeFile(secretPath + fileName, file);
+        if(!new File(secretPath + fileName).exists()){
+            throw new BusinessException(ErrorCode.FILE_NOT_EXIST);
+        }
+
+        byte[] data = RSAEncrypt.encrypt(RSAEncrypt.loadPublicKeyByStr(RSAEncrypt.loadPublicKeyByFile(secretPath + fileName)),
+                FileUtil.toByteArray3(dataPath));
+
+        //加密后的文件地址
+        String resultPath = ConstantFilePath.AGENT_PATH + companyName + "/secretData/";
+        String resultName = System.currentTimeMillis() + "_data.txt";
+        FileUtils.writeFile(resultPath, resultName, data);
+        HashMap<String,Object> map = new HashMap<>();
+        map.put("aecData", aesData);
+        map.put("keyUrl", mainUrl + "agent/" + companyName + "/secretData/" + resultName);
+        return map;
+    }
+
+    @Override
+    public String addVaildCameras(String macId, String wifiName, String companyName) {
+        return null;
+    }
+
+    @Override
+    public String deleteVaildCameras(String macId, String companyName) {
+        return null;
+    }
+
+    public List<VaildCameras> getListByCompanyName(String companyName){
+        QueryWrapper<VaildCameras> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(VaildCameras::getCompanyName,companyName);
+        return this.list(queryWrapper);
+    }
 }

+ 26 - 0
4dkankan-center-platform/src/main/java/com/fdkankan/feign/ModelingFeign.java

@@ -0,0 +1,26 @@
+package com.fdkankan.feign;
+
+import com.fdkankan.user.entity.User;
+import com.fdkankan.user.service.IUserService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 提供计算调用
+ */
+@RestController
+@RequestMapping("/feign")
+public class ModelingFeign {
+
+    @Autowired
+    private IUserService userService;
+
+    @PostMapping("/getUserByName")
+    public User getUserByName(@RequestParam(value = "userName", required = false) String userName) {
+        return userService.getUserByUserName(userName);
+    }
+
+}

+ 1 - 1
4dkankan-center-platform/src/main/java/com/fdkankan/feign/platformFeign.java

@@ -19,7 +19,7 @@ import org.springframework.web.bind.annotation.RestController;
  */
 @RestController
 @RequestMapping("/feign")
-public class platformFeign {
+public class SceneFeign {
 
     @Autowired
     private ICameraService cameraService;

+ 56 - 0
4dkankan-center-platform/src/main/java/com/fdkankan/goods/controller/api/VaildCamerasController.java

@@ -0,0 +1,56 @@
+package com.fdkankan.goods.controller.api;
+
+import com.fdkankan.agent.service.IVaildCamerasService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.HashMap;
+
+/**
+ * 本地化版本获取每个公司可使用的相机
+ */
+@RestController
+@RequestMapping("/api/vaild/cameras")
+public class VaildCamerasController   {
+
+    @Autowired
+    private IVaildCamerasService vaildCamerasService;
+
+    /**
+     * 获取企业可用相机列表
+     * file     私钥内容
+     * companyName  企业名称
+     * @return
+     */
+    @RequestMapping(value = "/getVaildCameras")
+    public HashMap<String,Object> getVaildCameras(@RequestParam (required = false) String file,
+                                   @RequestParam (required = false) String companyName) throws Exception{
+        return vaildCamerasService.getVaildCameras(file, companyName);
+    }
+    /**
+     * 新增企业可用相机列表
+     * macId     相机macId
+     * wifiName  wifi名称
+     * companyName  企业名称
+     */
+    @RequestMapping(value = "/addVaildCameras")
+    public String addVaildCameras(@RequestParam (required = false) String macId,
+                                  @RequestParam (required = false) String wifiName,
+                                  @RequestParam (required = false) String companyName) throws Exception{
+        return vaildCamerasService.addVaildCameras(macId,wifiName, companyName);
+    }
+    /**
+     * 删除企业可用相机列表
+     * macId     相机macId
+     * companyName  企业名称
+     */
+    @RequestMapping(value = "/deleteVaildCameras")
+    public String deleteVaildCameras(@RequestParam (required = false) String macId,
+                                  @RequestParam (required = false) String companyName) throws Exception{
+        return vaildCamerasService.deleteVaildCameras(macId, companyName);
+    }
+
+
+}

+ 1 - 1
4dkankan-center-platform/src/main/java/com/fdkankan/goods/service/impl/CameraDetailServiceImpl.java

@@ -383,7 +383,7 @@ public class CameraDetailServiceImpl extends ServiceImpl<ICameraDetailMapper, Ca
     @Override
     public String updateCameraDetailByCameraIdAndSpace(Long cameraId, Long space) {
         CameraDetail cameraDetail = this.getByCameraId(cameraId);
-        cameraDetail.setUsedSpace(cameraDetail.getUsedSpace() -space);
+        cameraDetail.setUsedSpace(space);
         if(cameraDetail.getUsedSpace() < 0){
             cameraDetail.setUsedSpace(0L);
         }

+ 6 - 1
4dkankan-center-platform/src/main/java/com/fdkankan/goods/service/impl/CameraVersionServiceImpl.java

@@ -1,9 +1,11 @@
 package com.fdkankan.goods.service.impl;
 
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.goods.entity.CameraVersion;
 import com.fdkankan.goods.mapper.ICameraVersionMapper;
 import com.fdkankan.goods.service.ICameraVersionService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
 /**
@@ -17,4 +19,7 @@ import org.springframework.stereotype.Service;
 @Service
 public class CameraVersionServiceImpl extends ServiceImpl<ICameraVersionMapper, CameraVersion> implements ICameraVersionService {
 
+    private static Logger log = LoggerFactory.getLogger("programLog");
+
+
 }

+ 1 - 0
4dkankan-common/src/main/java/com/fdkankan/common/constant/ErrorCode.java

@@ -35,6 +35,7 @@ public enum ErrorCode {
     VALUE_NOT_EXIST(40025, "当前增值权益不存在"),
     CAMERA_NOT_OWN(40026, "不能将相机分配给自己"),
     CAMERA_GIVEN(40027, "当前相机已被授权,请选择另外相机绑定"),
+    FILE_NOT_EXIST(40027, "需要上传或使用的文件不存在"),
 
 
 

+ 45 - 0
4dkankan-common/src/main/java/com/fdkankan/common/util/AesUtil.java

@@ -0,0 +1,45 @@
+package com.fdkankan.common.util;
+
+import com.aliyuncs.utils.Base64Helper;
+
+import javax.crypto.Cipher;
+import javax.crypto.spec.IvParameterSpec;
+import javax.crypto.spec.SecretKeySpec;
+
+public class AesUtil {
+    /**
+     * @author miracle.qu
+     * @see AES算法加密明文
+     * @param data 明文
+     * @param key 密钥,长度16
+     * @param iv 偏移量,长度16
+     * @return 密文
+     */
+    public static String encryptAES(String data,String key,String iv) throws Exception {
+        try {
+            Cipher cipher = Cipher.getInstance("AES/CBC/NoPadding");
+            int blockSize = cipher.getBlockSize();
+            byte[] dataBytes = data.getBytes();
+            int plaintextLength = dataBytes.length;
+
+            if (plaintextLength % blockSize != 0) {
+                plaintextLength = plaintextLength + (blockSize - (plaintextLength % blockSize));
+            }
+
+            byte[] plaintext = new byte[plaintextLength];
+            System.arraycopy(dataBytes, 0, plaintext, 0, dataBytes.length);
+
+            SecretKeySpec keyspec = new SecretKeySpec(key.getBytes(), "AES");
+            IvParameterSpec ivspec = new IvParameterSpec(iv.getBytes());
+
+            cipher.init(Cipher.ENCRYPT_MODE, keyspec, ivspec);
+            byte[] encrypted = cipher.doFinal(plaintext);
+
+            return Base64Helper.encode(encrypted).trim();
+
+        } catch (Exception e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
+}