接口 app_key、secret动态获取

This commit is contained in:
梁琦涛
2024-01-25 15:59:00 +08:00
parent 1189670ffd
commit 13e90fa9ff
7 changed files with 113 additions and 17 deletions
@@ -0,0 +1,50 @@
package com.jero.modules.docking.srms.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import java.io.Serializable;
/**
* @Description: 系统对接信息
* @Author: jero-boot
* @Date: 2023-10-18
* @Version: V1.0
*/
@Data
@TableName("laws_sys_api_info")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="laws_sys_api_info对象", description="系统对接信息")
public class LawsSysApiInfo implements Serializable {
private static final long serialVersionUID = 1L;
/**主键ID*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键ID")
private String id;
/**系统中文名称*/
@ApiModelProperty(value = "系统中文名称")
private String sysName;
/**系统唯一标识*/
@ApiModelProperty(value = "系统唯一标识")
private String sysCode;
/**系统的key值*/
@ApiModelProperty(value = "系统的key值")
private String appKey;
/**系统对应秘钥*/
@ApiModelProperty(value = "系统对应秘钥")
private String secret;
/**限制IP*/
@ApiModelProperty(value = "限制IP")
private String ip;
}
@@ -0,0 +1,16 @@
package com.jero.modules.docking.srms.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jero.modules.docking.srms.entity.LawsSysApiInfo;
import org.apache.ibatis.annotations.Mapper;
/**
* @Description:
* @Author: jero-boot
* @Date: 2023-10-18
* @Version: V1.0
*/
@Mapper
public interface LawsSysApiInfoMapper extends BaseMapper<LawsSysApiInfo> {
}
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jero.modules.docking.srms.mapper.LawsSysApiInfoMapper">
</mapper>
@@ -0,0 +1,14 @@
package com.jero.modules.docking.srms.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.docking.srms.entity.LawsSysApiInfo;
/**
* @Description: 系统对接信息
* @Author: jero-boot
* @Date: 2023-10-18
* @Version: V1.0
*/
public interface ILawsSysApiInfoService extends IService<LawsSysApiInfo> {
}
@@ -0,0 +1,18 @@
package com.jero.modules.docking.srms.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.modules.docking.srms.entity.LawsSysApiInfo;
import com.jero.modules.docking.srms.mapper.LawsSysApiInfoMapper;
import com.jero.modules.docking.srms.service.ILawsSysApiInfoService;
import org.springframework.stereotype.Service;
/**
* @Description:
* @Author: jero-boot
* @Date: 2023-10-18
* @Version: V1.0
*/
@Service
public class ILawsSysApiInfoServiceImpl extends ServiceImpl<LawsSysApiInfoMapper, LawsSysApiInfo> implements ILawsSysApiInfoService {
}
@@ -8,7 +8,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.base.CaseFormat;
import com.google.common.base.Charsets;
import com.jero.common.api.vo.Result;
import com.jero.common.system.api.ISysBaseAPI;
import com.jero.common.system.util.JwtUtil;
@@ -18,7 +17,9 @@ import com.jero.common.util.RedisUtil;
import com.jero.common.util.TokenUtils;
import com.jero.modules.docking.srms.dto.ByTokenRequests;
import com.jero.modules.docking.srms.dto.ProductDesign;
import com.jero.modules.docking.srms.entity.LawsSysApiInfo;
import com.jero.modules.docking.srms.mapper.LawsStandardMapper;
import com.jero.modules.docking.srms.service.ILawsSysApiInfoService;
import com.jero.modules.docking.srms.service.SrmsApiService;
import com.jero.modules.docking.srms.vo.*;
import com.jero.modules.laws.documenttool.entity.LawsDocumentSplit;
@@ -81,12 +82,9 @@ public class SrmsApiServiceImpl implements SrmsApiService {
private ILawsTreeNodeService lawsTreeNodeService;
@Resource
private PartNameService partNameService;
@Resource
private ILawsSysApiInfoService lawsSysApiInfoService;
@Value("${srms.app_key}")
private String appKey;
@Value("${srms.secret}")
private String secret;
@Value("${srms.font_url_pdf}")
private String fontUrlPdf;
@Value("${srms.back_url_pdf}")
@@ -98,9 +96,6 @@ public class SrmsApiServiceImpl implements SrmsApiService {
@Value("${srms.other_md5_mark}")
private String otherMd5Mark;
private static final String SRMS_TOKEN = "srms_token_";
private static final String REQUESTS = "Requests";
private static final String SYS_ERR = "系统验证失败";
@@ -110,8 +105,6 @@ public class SrmsApiServiceImpl implements SrmsApiService {
private static final String X_ACCESS_TOKEN = "X-Access-Token";
private static final String ADD_NOT_NULL = "必填项不能为空";
@Override
public Result<JSONObject> getByToken(JSONObject json) {
try {
@@ -122,11 +115,15 @@ public class SrmsApiServiceImpl implements SrmsApiService {
|| StringUtils.isBlank(byTokenRequests.getSecret())){
return Result.error(ADD_NOT_NULL);
}
if(!Objects.equals(appKey,byTokenRequests.getAppkey()) || !Objects.equals(secret,byTokenRequests.getSecret())){
LambdaQueryWrapper<LawsSysApiInfo> queryLawsSysApiInfo = new LambdaQueryWrapper<>();
queryLawsSysApiInfo.eq(LawsSysApiInfo::getAppKey,byTokenRequests.getAppkey());
queryLawsSysApiInfo.eq(LawsSysApiInfo::getSecret,byTokenRequests.getSecret());
long l = lawsSysApiInfoService.count(queryLawsSysApiInfo);
if(l == 0){
return Result.error(SYS_ERR);
}
Result<JSONObject> re = Result.OK();
String tokenKey = SRMS_TOKEN + byTokenRequests.getUsername();
String tokenKey = SRMS_TOKEN + byTokenRequests.getUsername() + byTokenRequests.getAppkey();
// 验证用户是否存在token,存在不再重复获取
if(redisUtil.hasKey(tokenKey)){
JSONObject js = new JSONObject();
@@ -479,10 +479,6 @@ watermark:
# srms 接口对接
srms:
# 系统的key值
app_key: eeabe117f06a4d99a15582a143d3be54
# 系统对应秘钥
secret: 7ddbafa5b7ba4104bff5ffae9d775998
# pdf预览 前端url http://ip:port 替换前端地址
font_url_pdf: http://localhost:3334/pdfjs/web/viewer.html?file={back_url_pdf}&.pdf
# pdf预览 后端url