Browse Source

增加复制功能

dsx 2 years ago
parent
commit
eeee4a380d

+ 4 - 1
src/main/java/com/fdkankan/ucenter/service/impl/CameraServiceImpl.java

@@ -11,6 +11,7 @@ import com.fdkankan.ucenter.mapper.ICameraMapper;
 import com.fdkankan.ucenter.service.*;
 import com.fdkankan.ucenter.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.ucenter.util.DateUserUtil;
 import com.fdkankan.ucenter.util.DateUserUtil;
+import com.fdkankan.ucenter.util.QczjAesUtil;
 import com.fdkankan.ucenter.vo.request.CameraParam;
 import com.fdkankan.ucenter.vo.request.CameraParam;
 import com.fdkankan.ucenter.vo.response.CameraAppVo;
 import com.fdkankan.ucenter.vo.response.CameraAppVo;
 import com.fdkankan.ucenter.vo.response.CameraSpaceVo;
 import com.fdkankan.ucenter.vo.response.CameraSpaceVo;
@@ -58,6 +59,8 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
     ISceneCooperationService sceneCooperationService;
     ISceneCooperationService sceneCooperationService;
     @Autowired
     @Autowired
     QczjService qczjService;
     QczjService qczjService;
+    @Autowired
+    private QczjAesUtil qczjAesUtil;
 
 
     @Override
     @Override
     public Camera getBySnCode(String snCode) {
     public Camera getBySnCode(String snCode) {
@@ -223,7 +226,7 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
 
 
     @Override
     @Override
     public List<String> bind( String snCodes, String username) {
     public List<String> bind( String snCodes, String username) {
-        User user = userService.getByUserName(username);
+        User user = userService.getByUserName(qczjAesUtil.encrypt(username));
         String[] snCodeArr = snCodes.split(",");
         String[] snCodeArr = snCodes.split(",");
         List<String> snCodeList = Arrays.asList(snCodeArr);
         List<String> snCodeList = Arrays.asList(snCodeArr);
         //汽车之家绑定相机默认入库添加会员权益
         //汽车之家绑定相机默认入库添加会员权益

+ 4 - 1
src/main/java/com/fdkankan/ucenter/service/impl/SceneProServiceImpl.java

@@ -20,6 +20,7 @@ import com.fdkankan.ucenter.mapper.ISceneProMapper;
 import com.fdkankan.ucenter.service.*;
 import com.fdkankan.ucenter.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.ucenter.util.DateUserUtil;
 import com.fdkankan.ucenter.util.DateUserUtil;
+import com.fdkankan.ucenter.util.QczjAesUtil;
 import com.fdkankan.ucenter.vo.request.SceneParam;
 import com.fdkankan.ucenter.vo.request.SceneParam;
 import com.fdkankan.ucenter.vo.response.GroupByCount;
 import com.fdkankan.ucenter.vo.response.GroupByCount;
 import com.fdkankan.ucenter.vo.response.SceneInfoVo;
 import com.fdkankan.ucenter.vo.response.SceneInfoVo;
@@ -82,6 +83,8 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
     ISceneEditInfoService sceneEditInfoService;
     ISceneEditInfoService sceneEditInfoService;
     @Autowired
     @Autowired
     RedisUtil redisUtil;
     RedisUtil redisUtil;
+    @Autowired
+    private QczjAesUtil qczjAesUtil;
 
 
     @Value("${main.url}")
     @Value("${main.url}")
     private String mainUrl;
     private String mainUrl;
@@ -362,7 +365,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
             throw new BusinessException(SceneConstant.FAILURE_CODE_5013, SceneConstant.FAILURE_MSG_5013);
             throw new BusinessException(SceneConstant.FAILURE_CODE_5013, SceneConstant.FAILURE_MSG_5013);
         }
         }
         //只能复制自己的场景
         //只能复制自己的场景
-        User user = userService.getByUserName(userName);
+        User user = userService.getByUserName(qczjAesUtil.encrypt(userName));
         if(user == null || !user.getId().equals(userId) ){
         if(user == null || !user.getId().equals(userId) ){
             throw new BusinessException(SceneConstant.FAILURE_CODE_5013, SceneConstant.FAILURE_MSG_5013);
             throw new BusinessException(SceneConstant.FAILURE_CODE_5013, SceneConstant.FAILURE_MSG_5013);
         }
         }

+ 68 - 0
src/main/java/com/fdkankan/ucenter/util/QczjAesUtil.java

@@ -0,0 +1,68 @@
+package com.fdkankan.ucenter.util;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+import javax.crypto.Cipher;
+import javax.crypto.spec.SecretKeySpec;
+import java.nio.charset.StandardCharsets;
+import java.util.Base64;
+
+/**
+ * 基于AES的加解密util
+ *
+ * @author wangzhonghai@autohome.com.cn
+ * @since 2023-02-09
+ */
+@Component
+@Slf4j
+public class QczjAesUtil {
+
+    @Value("${encryrt.key}")
+    private String ENCRYPT_KEY;
+
+    private  Base64.Decoder DECODER = Base64.getDecoder();
+    private  Base64.Encoder ENCODER = Base64.getEncoder();
+
+
+    public String encrypt(String content) {
+        try {
+            byte[] raw = ENCRYPT_KEY.getBytes(StandardCharsets.UTF_8);
+            SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
+            Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
+            cipher.init(Cipher.ENCRYPT_MODE, skeySpec);
+            byte[] byteEncode = content.getBytes(StandardCharsets.UTF_8);
+            byte[] byteAes = cipher.doFinal(byteEncode, 0, byteEncode.length);
+
+            return ENCODER.encodeToString(byteAes);
+        } catch (Exception e) {
+            log.error("[encrypt].err", e);
+            return "";
+        }
+    }
+
+
+    public String decrypt(String content) {
+        try {
+            byte[] raw = ENCRYPT_KEY.getBytes(StandardCharsets.UTF_8);
+            SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
+            Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
+            cipher.init(Cipher.DECRYPT_MODE, skeySpec);
+            byte[] encrypted1 = DECODER.decode(content);
+            byte[] original = cipher.doFinal(encrypted1);
+
+            return new String(original, StandardCharsets.UTF_8);
+        } catch (Exception e) {
+            log.error("[decrypt].err", e);
+        }
+        return null;
+    }
+
+    public static void main(String[] args) {
+        QczjAesUtil qczjAesUtil = new QczjAesUtil();
+        String decrypt = qczjAesUtil.encrypt("15819461282");
+        System.out.println(decrypt);
+    }
+
+}