From e7db396aaa05211069d93e9db13ddba8a76e4412 Mon Sep 17 00:00:00 2001
From: sinake <sinake1@qq.com>
Date: 星期五, 29 五月 2026 17:25:55 +0800
Subject: [PATCH] 用户密码,加解密

---
 ruoyi-project/src/main/java/com/ruoyi/project/service/IGiLinkService.java                        |   10 +++
 ruoyi-project/src/main/java/com/ruoyi/project/mapper/GiLinkMapper.java                           |    7 ++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/GiLinkController.java                  |   45 +++++++++++++++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java                |    8 ++
 ruoyi-project/src/main/java/com/ruoyi/project/domain/GiLink.java                                 |   36 ++++++++++++
 ruoyi-common/src/main/java/com/ruoyi/common/utils/sign/AesUtil.java                              |   43 ++++++++++++++
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/GiLinkService.java                    |   20 ++++++
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceExternalpersonServiceImpl.java |    3 
 8 files changed, 171 insertions(+), 1 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/GiLinkController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/GiLinkController.java
new file mode 100644
index 0000000..00bae2d
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/GiLinkController.java
@@ -0,0 +1,45 @@
+package com.ruoyi.web.controller.common;
+
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.annotation.RepeatSubmit;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.exception.base.BaseException;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.project.domain.BaseAnnextype;
+import com.ruoyi.project.service.IBaseAnnextypeService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.ObjectUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Random;
+
+@Slf4j
+@Api(description = "澶栭摼")
+@RestController
+@RequestMapping("/GiLink")
+public class GiLinkController {
+    @Autowired
+    private IBaseAnnextypeService baseAnnextypeService;
+
+    @ApiOperation("鏂板")
+    @PostMapping("/add")
+    public AjaxResult add(@RequestBody BaseAnnextype baseAnnextype) {
+        Random rand = new Random(4);
+        String hexString = String.format("%x", rand.nextInt());
+        boolean save = baseAnnextypeService.save(baseAnnextype);
+        return AjaxResult.success(baseAnnextype);
+    }
+
+
+    @ApiOperation("浠g爜鑾峰彇淇℃伅")
+    @GetMapping(value = "/getCode")
+    public AjaxResult getCode(Long id) {
+
+        return AjaxResult.success(baseAnnextypeService.getById(id));
+    }
+
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
index a9c38e9..84bd82d 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
@@ -13,6 +13,7 @@
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.sign.AesUtil;
 import com.ruoyi.framework.web.service.SysLoginService;
 import com.ruoyi.framework.web.service.SysPermissionService;
 import com.ruoyi.project.domain.BaseOrganization;
@@ -80,6 +81,7 @@
      * @param thirdLoginBody
      * @return
      */
+    @ApiOperation("鑾峰彇token")
     @PostMapping("/getToken")
     public AjaxResult openidLogin(@RequestBody ThirdLoginBody thirdLoginBody) {
 //        AjaxResult ajax = AjaxResult.success();
@@ -100,9 +102,15 @@
     @PostMapping("/login")
     public AjaxResult login(@RequestBody LoginBody loginBody) {
         log.info("loginBody鐨勫叆鍙傛槸:{}", loginBody);
+        log.info("鍔犲瘑鍚庡瘑鐮�:{}",AesUtil.encrypt(loginBody.getPassword()));
         AjaxResult ajax = AjaxResult.success();
 //        dingTalkService.deptidList(1L, 1);
         Map<String, Object> userIdMap = null;
+        if(org.apache.commons.lang3.ObjectUtils.isNotEmpty(loginBody.getPassword())){
+            loginBody.setPassword(AesUtil.decrypt(loginBody.getPassword()));
+        }
+        loginBody.setUsername(AesUtil.decrypt(loginBody.getUsername()));
+
         if (StringUtils.isNotEmpty(loginBody.getAuthCode())) {
             userIdMap = dingTalkService.noLogin(loginBody.getAuthCode());
         }
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/sign/AesUtil.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/sign/AesUtil.java
new file mode 100644
index 0000000..1a0dd78
--- /dev/null
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/sign/AesUtil.java
@@ -0,0 +1,43 @@
+package com.ruoyi.common.utils.sign;
+
+import javax.crypto.Cipher;
+import javax.crypto.NoSuchPaddingException;
+import javax.crypto.spec.IvParameterSpec;
+import javax.crypto.spec.SecretKeySpec;
+import java.security.NoSuchAlgorithmException;
+import java.util.Base64;
+
+public class AesUtil {
+
+    private static final String KEY = "QfOpO2026@SecretKey#Aes256!00001";
+    private static final String IV = "1234567890123456";
+
+    public static String decrypt(String cipherText) {
+        String data = "";
+        Cipher cipher = null;
+        try {
+            cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
+            SecretKeySpec keySpec = new SecretKeySpec(KEY.getBytes(), "AES");
+            IvParameterSpec ivSpec = new IvParameterSpec(IV.getBytes());
+            cipher.init(Cipher.DECRYPT_MODE, keySpec, ivSpec);
+            byte[] original = cipher.doFinal(Base64.getDecoder().decode(cipherText));
+            data = new String(original);
+        } catch (Exception e) {
+            String m=e.getMessage();
+        }
+        return data;
+    }
+
+    public static String encrypt(String data) {
+        String text = "";
+        try {
+            Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
+            cipher.init(Cipher.ENCRYPT_MODE, new SecretKeySpec(KEY.getBytes(), "AES"), new IvParameterSpec(IV.getBytes()));
+            byte[] encryptedBytes = cipher.doFinal(data.getBytes());
+            text = Base64.getEncoder().encodeToString(encryptedBytes);
+        } catch (Exception e) {
+            String m = e.getMessage();
+        }
+        return text;
+    }
+}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/GiLink.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/GiLink.java
new file mode 100644
index 0000000..c815595
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/GiLink.java
@@ -0,0 +1,36 @@
+package com.ruoyi.project.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.ruoyi.common.annotation.Excel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel("澶栭摼")
+public class GiLink {
+    @TableId(type = IdType.AUTO)
+    private Long id;
+
+    @ApiModelProperty("浠g爜")
+    private String code;
+
+    @ApiModelProperty("鐢ㄦ埛鍚嶇О")
+    private String userName;
+
+    @ApiModelProperty("鐢ㄦ埛鎵嬫満")
+    private String userPhone;
+
+    @ApiModelProperty("鎵╁睍鍐呭")
+    private String extContent;
+
+    @ApiModelProperty("鍒涘缓浜�")
+    private String creator;
+
+    @ApiModelProperty("鏄惁鍒犻櫎0鍚�1鏄�")
+    private Integer isDel;
+
+    @ApiModelProperty("鍒涘缓鏃堕棿")
+    private String createTime;
+}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/mapper/GiLinkMapper.java b/ruoyi-project/src/main/java/com/ruoyi/project/mapper/GiLinkMapper.java
new file mode 100644
index 0000000..c9b6a90
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/mapper/GiLinkMapper.java
@@ -0,0 +1,7 @@
+package com.ruoyi.project.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.project.domain.GiLink;
+
+public interface GiLinkMapper extends BaseMapper<GiLink> {
+}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/IGiLinkService.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/IGiLinkService.java
new file mode 100644
index 0000000..c26902e
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/IGiLinkService.java
@@ -0,0 +1,10 @@
+package com.ruoyi.project.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.project.domain.GiLink;
+
+public interface IGiLinkService extends IService<GiLink>{
+
+    Long Add(GiLink model);
+
+}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/GiLinkService.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/GiLinkService.java
new file mode 100644
index 0000000..36ecc49
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/GiLinkService.java
@@ -0,0 +1,20 @@
+package com.ruoyi.project.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.project.domain.GiLink;
+import com.ruoyi.project.mapper.ApiMapper;
+import com.ruoyi.project.mapper.GiLinkMapper;
+import com.ruoyi.project.service.IGiLinkService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class GiLinkService  extends ServiceImpl<GiLinkMapper, GiLink> implements IGiLinkService {
+    @Autowired
+    ApiMapper mapper;
+
+    public Long Add(GiLink model){
+
+        return 1L;
+    }
+}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceExternalpersonServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceExternalpersonServiceImpl.java
index 112ea26..5a2c2f1 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceExternalpersonServiceImpl.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceExternalpersonServiceImpl.java
@@ -1,5 +1,6 @@
 package com.ruoyi.project.service.impl;
 
+import java.util.Collection;
 import java.util.List;
 
 import com.ruoyi.common.utils.DateUtils;
@@ -49,7 +50,7 @@
             wrappers.like(ServiceExternalperson::getUsername, serviceExternalperson.getUsername());
         }
         if (StringUtils.isNotBlank(serviceExternalperson.getUsertype())) {
-            wrappers.eq(ServiceExternalperson::getUsertype, serviceExternalperson.getUsertype());
+            wrappers.in(ServiceExternalperson::getUsertype, serviceExternalperson.getUsertype().split(",")) ;
         }
         return this.list(wrappers);
     }

--
Gitblit v1.9.3