Commit c5955b05 by ning

贵金属防伪系统

parent 8e95126b
package com.junmp.gold.api.bean.req;
import lombok.Data;
import java.io.Serializable;
/**
* <pre>
*
* 描述:
* 版本:1.0.0
* 日期:2022/8/30 16:25
* 作者:ningzp@junmp.com.cn
* <br>修改记录
* <br>修改日期 修改人 修改内容
*
* </pre>
*/
@Data
public class DbAccessReq implements Serializable {
private String host ;
private Integer port ;
private String dbName ;
private String username ;
private String password ;
}
package com.junmp.gold.api.bean.vo;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.io.Serializable;
/**
* <pre>
*
* 描述:
* 版本:1.0.0
* 日期:2022/8/30 16:27
* 作者:ningzp@junmp.com.cn
* <br>修改记录
* <br>修改日期 修改人 修改内容
*
* </pre>
*/
@Data
@AllArgsConstructor
public class AuthAccessVo implements Serializable {
/**
* 访问的秘钥
*/
private String accessKey ;
private String url;
private String username;
private String password;
}
package com.junmp.gold.controller;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.toolkit.AES;
import com.junmp.gold.api.bean.req.DbAccessReq;
import com.junmp.gold.api.bean.vo.AuthAccessVo;
import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.common.exception.enums.DefaultBizExceptionEnum;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <pre>
*
* 描述:
* 版本:1.0.0
* 日期:2022/8/30 16:24
* 作者:ningzp@junmp.com.cn
* <br>修改记录
* <br>修改日期 修改人 修改内容
*
* </pre>
*/
@Slf4j
@RestController
@RequestMapping("/api")
public class PublicController {
private final static String DB_URL_TEMPLATE = "jdbc:mysql://{}:{}/{}?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&nullCatalogMeansCurrent=true";
@GetMapping(path = "/pub/authInfo", name = "生成数据库认证信息")
public ApiRes<AuthAccessVo> genAccessInfo(DbAccessReq req) {
if (null != req && StrUtil.isNotEmpty(req.getDbName())
&& StrUtil.isNotEmpty(req.getHost())
&& ObjectUtil.isNotNull(req.getPort())
&& StrUtil.isNotEmpty(req.getUsername())
&& StrUtil.isNotEmpty(req.getPassword())) {
String rmdKey = AES.generateRandomKey();
String dbUrl = StrUtil.format(DB_URL_TEMPLATE, req.getHost(), req.getPort(), req.getDbName());
String enDbUrl = AES.encrypt(dbUrl, rmdKey);
String enUserName = AES.encrypt(req.getUsername(), rmdKey);
String enPassword = AES.encrypt(req.getPassword(), rmdKey);
return ApiRes.success(new AuthAccessVo(rmdKey, enDbUrl, enUserName, enPassword));
} else {
return ApiRes.failure(DefaultBizExceptionEnum.VALID_PARAMS_ERROR);
}
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论