Commit 00fa02b4 authored by tanyang's avatar tanyang

开发插件token获取

parent ce054b35
package com.dsk.web.controller.system; package com.dsk.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckLogin;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import com.dsk.common.annotation.Log; import com.dsk.common.annotation.Log;
import com.dsk.common.core.controller.BaseController; import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.PageQuery; import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.domain.R; import com.dsk.common.core.domain.R;
import com.dsk.common.core.domain.model.DskAccessTokenVO;
import com.dsk.common.core.page.TableDataInfo; import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.enums.BusinessType; import com.dsk.common.enums.BusinessType;
import com.dsk.common.utils.poi.ExcelUtil; import com.dsk.common.utils.poi.ExcelUtil;
...@@ -133,4 +135,18 @@ public class SysConfigController extends BaseController { ...@@ -133,4 +135,18 @@ public class SysConfigController extends BaseController {
configService.resetConfigCache(); configService.resetConfigCache();
return R.ok(); return R.ok();
} }
/**
* 获取大司空open 插件访问token
*/
@SaCheckLogin
@Log(title = "获取dsk访问token", businessType = BusinessType.OTHER)
@GetMapping("/dsk/accessToken")
public R<DskAccessTokenVO> dskAccessToken() {
DskAccessTokenVO dskAccessTokenVO= configService.getDskAccessToken();
return R.ok(dskAccessTokenVO);
}
} }
package com.dsk.common.core.domain.model;
import lombok.Data;
/**
* @author tanyang
* @create 2023-09-11 17:20
**/
@Data
public class DskAccessTokenVO {
private String accessToken;
private Long expire;
}
package com.dsk.system.service; package com.dsk.system.service;
import com.dsk.common.core.domain.PageQuery; import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.domain.model.DskAccessTokenVO;
import com.dsk.common.core.page.TableDataInfo; import com.dsk.common.core.page.TableDataInfo;
import com.dsk.system.domain.SysConfig; import com.dsk.system.domain.SysConfig;
...@@ -93,4 +94,5 @@ public interface ISysConfigService { ...@@ -93,4 +94,5 @@ public interface ISysConfigService {
*/ */
boolean checkConfigKeyUnique(SysConfig config); boolean checkConfigKeyUnique(SysConfig config);
DskAccessTokenVO getDskAccessToken();
} }
package com.dsk.system.service.impl; package com.dsk.system.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.lang.Dict;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpUtil;
import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dsk.common.constant.CacheNames; import com.dsk.common.constant.CacheNames;
import com.dsk.common.constant.UserConstants; import com.dsk.common.constant.UserConstants;
import com.dsk.common.core.domain.PageQuery; import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.domain.model.DskAccessTokenVO;
import com.dsk.common.core.page.TableDataInfo; import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.core.service.ConfigService; import com.dsk.common.core.service.ConfigService;
import com.dsk.common.exception.ServiceException; import com.dsk.common.exception.ServiceException;
import com.dsk.common.utils.JsonUtils;
import com.dsk.common.utils.StringUtils; import com.dsk.common.utils.StringUtils;
import com.dsk.common.utils.redis.CacheUtils; import com.dsk.common.utils.redis.CacheUtils;
import com.dsk.common.utils.spring.SpringUtils; import com.dsk.common.utils.spring.SpringUtils;
...@@ -18,11 +27,13 @@ import com.dsk.system.domain.SysConfig; ...@@ -18,11 +27,13 @@ import com.dsk.system.domain.SysConfig;
import com.dsk.system.mapper.SysConfigMapper; import com.dsk.system.mapper.SysConfigMapper;
import com.dsk.system.service.ISysConfigService; import com.dsk.system.service.ISysConfigService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cache.annotation.CachePut; import org.springframework.cache.annotation.CachePut;
import org.springframework.cache.annotation.Cacheable; import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -31,6 +42,7 @@ import java.util.Map; ...@@ -31,6 +42,7 @@ import java.util.Map;
* *
* @author Lion Li * @author Lion Li
*/ */
@Slf4j
@RequiredArgsConstructor @RequiredArgsConstructor
@Service @Service
public class SysConfigServiceImpl implements ISysConfigService, ConfigService { public class SysConfigServiceImpl implements ISysConfigService, ConfigService {
...@@ -213,6 +225,36 @@ public class SysConfigServiceImpl implements ISysConfigService, ConfigService { ...@@ -213,6 +225,36 @@ public class SysConfigServiceImpl implements ISysConfigService, ConfigService {
return true; return true;
} }
@Override
public DskAccessTokenVO getDskAccessToken() {
List<SysConfig> dskName = queryListByKey("dsk");
Assert.notEmpty(dskName,"大司空数据APPkey配置异常");
Map<String,Object> dskConfig=new HashMap<>();
for (SysConfig sysConfig : dskName) {
dskConfig.put(sysConfig.getConfigKey(),sysConfig.getConfigValue());
}
String domain = (String) dskConfig.get("dsk-Domain");
String accessTokenAPI = (String) dskConfig.get("dsk-accessTokenAPI");
String appkey = (String) dskConfig.get("dsk-Appkey");
String appSecret = (String) dskConfig.get("dsk-AppSecret");
Map<String,Object> dskAccessTokenDto=new HashMap<>();
dskAccessTokenDto.put("appKey",appkey);
dskAccessTokenDto.put("appSecret",appSecret);
String post = HttpUtil.post(domain + accessTokenAPI, JsonUtils.toJsonString(dskAccessTokenDto));
Assert.notEmpty(dskName,"大司空数据accessTokenAPI响应异常");
log.info("大司空数据accessToken API响应:"+post);
Dict dict = JsonUtils.parseMap(post);
Object dataObj = dict.getObj("data");
if (dict.getInt("code")!=200||ObjectUtil.isEmpty(dataObj)) {
throw new ServiceException("API数据accessTokenAPI响应异常",500);
}
return BeanUtil.toBean(dataObj,DskAccessTokenVO.class);
}
/** /**
* 根据参数 key 获取参数值 * 根据参数 key 获取参数值
* *
...@@ -224,4 +266,10 @@ public class SysConfigServiceImpl implements ISysConfigService, ConfigService { ...@@ -224,4 +266,10 @@ public class SysConfigServiceImpl implements ISysConfigService, ConfigService {
return SpringUtils.getAopProxy(this).selectConfigByKey(configKey); return SpringUtils.getAopProxy(this).selectConfigByKey(configKey);
} }
public List<SysConfig> queryListByKey(String keyName){
LambdaQueryWrapper<SysConfig> dsk = new LambdaQueryWrapper<SysConfig>().likeRight(SysConfig::getConfigKey, keyName);
return baseMapper.selectList(dsk);
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment