sinake
6 天以前 e7db396aaa05211069d93e9db13ddba8a76e4412
用户密码,加解密
已修改2个文件
已添加6个文件
172 ■■■■■ 文件已修改
ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/GiLinkController.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/utils/sign/AesUtil.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/domain/GiLink.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/mapper/GiLinkMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/IGiLinkService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/GiLinkService.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceExternalpersonServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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("代码获取信息")
    @GetMapping(value = "/getCode")
    public AjaxResult getCode(Long id) {
        return AjaxResult.success(baseAnnextypeService.getById(id));
    }
}
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());
        }
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;
    }
}
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("代码")
    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;
}
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> {
}
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);
}
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;
    }
}
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);
    }