Commit 6aff4115 authored by yht15023815643's avatar yht15023815643

Merge branch 'zuhuduan' of http://192.168.60.201/root/dsk-operate-sys into zuhuduan

parents 6019274a 5a340148
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;
}
...@@ -190,33 +190,34 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService { ...@@ -190,33 +190,34 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
List<String> result = new LinkedList();//导入结果汇总 List<String> result = new LinkedList();//导入结果汇总
List<BusinessExcelDto> businessInfoList = null; List<BusinessExcelDto> businessInfoList = null;
try { try {
businessInfoList = new ExcelUtils<>(BusinessExcelDto.class).importExcel(file.getInputStream(), 2); businessInfoList = new ExcelUtils<>(BusinessExcelDto.class).importExcel(file.getInputStream(), 2);
if (CollectionUtil.isEmpty(businessInfoList)) return AjaxResult.error("文档中无项目信息,请按照模板文档格式上传");
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); throw new ServiceException("数据导入失败,请检查文档格式是否有误!");
} }
// List<BusinessExcelDto> businessInfoList = readBusinessInfoExcel.getExcelInfo(file); // List<BusinessExcelDto> businessInfoList = readBusinessInfoExcel.getExcelInfo(file);
if (CollectionUtil.isEmpty(businessInfoList)) return AjaxResult.error("文档中无项目信息,请按照模板文档格式上传");
for (BusinessExcelDto businessInfo : businessInfoList) { for (BusinessExcelDto businessInfo : businessInfoList) {
//查询已有的项目名称 // //查询已有的项目名称
Integer count = businessInfoMapper.isRepetitionProjectName(businessInfo.getProjectName(), userId, businessInfo.getOwnerCompany()); // Integer count = businessInfoMapper.isRepetitionProjectName(businessInfo.getProjectName(), userId, businessInfo.getOwnerCompany());
row++; // row++;
if (count > 0) { // if (count > 0) {
//如果存在,跳过该项目,不保存 // //如果存在,跳过该项目,不保存
// result.add("第" + row + "行的" + businessInfo.getProjectName() + "的项目已存在,跳过该项目,保存下一条"); //// result.add("第" + row + "行的" + businessInfo.getProjectName() + "的项目已存在,跳过该项目,保存下一条");
log.info("第" + row + "行的" + businessInfo.getProjectName() + "的项目已存在,跳过该项目,保存下一条"); // log.info("第" + row + "行的" + businessInfo.getProjectName() + "的项目已存在,跳过该项目,保存下一条");
errorCount++; // errorCount++;
} else { // } else {
//保存到数据库 //保存到数据库
BusinessAddDto businessAddDto = new BusinessAddDto(); BusinessAddDto businessAddDto = new BusinessAddDto();
BeanUtil.copyProperties(businessInfo, businessAddDto); BeanUtil.copyProperties(businessInfo, businessAddDto);
businessAddDto.setUserId(userId); businessAddDto.setUserId(userId);
try { try {
new BusinessInfoServiceImpl().insertBusinessInfo(businessAddDto); // new BusinessInfoServiceImpl().insertBusinessInfo(businessAddDto);
this.insertBusinessInfo(businessAddDto);
rowSuccess++; rowSuccess++;
}catch (Exception e){ }catch (Exception e){
errorCount++; errorCount++;
} }
} // }
} }
result.add("导入项目成功条数" + rowSuccess); result.add("导入项目成功条数" + rowSuccess);
result.add("导入项目去重条数" + errorCount); result.add("导入项目去重条数" + errorCount);
......
...@@ -10,6 +10,7 @@ import com.dsk.common.core.page.TableDataInfo; ...@@ -10,6 +10,7 @@ import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.core.service.OssService; import com.dsk.common.core.service.OssService;
import com.dsk.jsk.domain.JskCombineBidPageDto; import com.dsk.jsk.domain.JskCombineBidPageDto;
import com.dsk.jsk.domain.JskCombineCertificateDto; import com.dsk.jsk.domain.JskCombineCertificateDto;
import com.dsk.jsk.domain.JskCombineCountDto;
import com.dsk.jsk.domain.JskCombineSearchDto; import com.dsk.jsk.domain.JskCombineSearchDto;
import com.dsk.jsk.domain.vo.JskCombineBidProjectExportVo; import com.dsk.jsk.domain.vo.JskCombineBidProjectExportVo;
import com.dsk.jsk.domain.vo.JskCombineWinBidProjectExportVo; import com.dsk.jsk.domain.vo.JskCombineWinBidProjectExportVo;
...@@ -228,7 +229,7 @@ public class JskCombineInfoController extends BaseController { ...@@ -228,7 +229,7 @@ public class JskCombineInfoController extends BaseController {
*@date: 2023/9/12 16:05 *@date: 2023/9/12 16:05
*/ */
@RequestMapping(value = "/memberCount", method = RequestMethod.POST) @RequestMapping(value = "/memberCount", method = RequestMethod.POST)
public R memberCount(@RequestBody JskCombineSearchDto dto) throws Exception { public R memberCount(@RequestBody JskCombineCountDto dto) throws Exception {
return baseService.memberCount(dto); return baseService.memberCount(dto);
} }
} }
package com.dsk.jsk.domain;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* 集团户相关查询条件实体类
*
* @author lcl
* @create 2023/8/7
*/
@Data
public class JskCombineCountDto implements Serializable {
/**
* 集团id
*/
@NotNull(message = "集团id不能为空!")
private String combineId;
/**
* 截止时间
*/
private String endTime;
/**
* 资质类型
*/
private Integer qualificationType;
}
package com.dsk.jsk.service; package com.dsk.jsk.service;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.map.MapUtil; import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.dsk.common.constant.CacheConstants;
import com.dsk.common.core.domain.AjaxResult; import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.core.domain.R; import com.dsk.common.core.domain.R;
import com.dsk.common.core.page.TableDataInfo; import com.dsk.common.core.page.TableDataInfo;
...@@ -11,9 +13,11 @@ import com.dsk.common.utils.DskOpenApiUtil; ...@@ -11,9 +13,11 @@ import com.dsk.common.utils.DskOpenApiUtil;
import com.dsk.common.utils.StringUtils; import com.dsk.common.utils.StringUtils;
import com.dsk.jsk.domain.JskCombineBidPageDto; import com.dsk.jsk.domain.JskCombineBidPageDto;
import com.dsk.jsk.domain.JskCombineCertificateDto; import com.dsk.jsk.domain.JskCombineCertificateDto;
import com.dsk.jsk.domain.JskCombineCountDto;
import com.dsk.jsk.domain.JskCombineSearchDto; import com.dsk.jsk.domain.JskCombineSearchDto;
import com.dsk.jsk.domain.vo.JskCombineBidProjectExportVo; import com.dsk.jsk.domain.vo.JskCombineBidProjectExportVo;
import com.dsk.jsk.domain.vo.JskCombineWinBidProjectExportVo; import com.dsk.jsk.domain.vo.JskCombineWinBidProjectExportVo;
import com.dsk.jsk.util.RedisCache;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.MapUtils; import org.apache.commons.collections4.MapUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -21,9 +25,12 @@ import org.springframework.http.HttpStatus; ...@@ -21,9 +25,12 @@ import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.TimeUnit;
/** /**
* @author lcl * @author lcl
...@@ -38,6 +45,9 @@ public class JskCombineInfoService { ...@@ -38,6 +45,9 @@ public class JskCombineInfoService {
@Autowired @Autowired
private EnterpriseService enterpriseService; private EnterpriseService enterpriseService;
@Resource
private RedisCache redisCache;
public TableDataInfo memberList(JskCombineSearchDto dto) throws Exception { public TableDataInfo memberList(JskCombineSearchDto dto) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/combine/memberList", BeanUtil.beanToMap(dto, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/combine/memberList", BeanUtil.beanToMap(dto, false, false));
return dskOpenApiUtil.responsePage(map); return dskOpenApiUtil.responsePage(map);
...@@ -236,12 +246,23 @@ public class JskCombineInfoService { ...@@ -236,12 +246,23 @@ public class JskCombineInfoService {
*@Author: Dgm *@Author: Dgm
*@date: 2023/9/12 16:05 *@date: 2023/9/12 16:05
*/ */
public R memberCount(JskCombineSearchDto dto) { public R memberCount(JskCombineCountDto dto) {
String redisKey = CacheConstants.PERSONAL_LOCATION + dto.getCombineId();
if (ObjectUtil.isNotEmpty(redisKey)) {
Map<String, Object> cacheMap = redisCache.getCacheObject(redisKey);
if (MapUtils.isNotEmpty(cacheMap)) {
return R.ok(cacheMap);
}
}
dto.setQualificationType(209);
dto.setEndTime(DateUtil.formatDate(new Date()));
Map<String, Object> paramsMap = BeanUtil.beanToMap(dto, false, false); Map<String, Object> paramsMap = BeanUtil.beanToMap(dto, false, false);
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/combine/memberCount", paramsMap); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/combine/memberCount", paramsMap);
if (ObjectUtil.isNotEmpty(map.get("data"))) { if (ObjectUtil.isNotEmpty(map.get("data"))) {
Map<String, Object> data = BeanUtil.beanToMap(map.get("data")); Map<String, Object> data = BeanUtil.beanToMap(map.get("data"));
data.put("performance", businessCount(paramsMap)); data.put("performance", businessCount(paramsMap));
map.put("data", data);
redisCache.setCacheObject(redisKey, data,24, TimeUnit.HOURS);
} }
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
......
...@@ -193,11 +193,12 @@ export default { ...@@ -193,11 +193,12 @@ export default {
} }
}, },
created() { created() {
this.defaultRoute = JSON.parse(JSON.stringify(this.sideRoute))
}, },
watch:{ watch:{
statisticObj:{ statisticObj:{
handler(val) { handler(val) {
this.sideRoute = JSON.parse(JSON.stringify(this.defaultRoute)) this.sideRoute = JSON.parse(JSON.stringify(this.defaultRoute))
let arr = JSON.parse(JSON.stringify(val)) let arr = JSON.parse(JSON.stringify(val))
for(var i in arr){ for(var i in arr){
for(var j in arr[i]){ for(var j in arr[i]){
...@@ -234,187 +235,187 @@ export default { ...@@ -234,187 +235,187 @@ export default {
} }
break; break;
case 'specialDebt': case 'specialDebt':
if(arr[i][j]<1){ if(arr[i][j]<1){
this.sideRoute[2].children[2].disabled = true; this.sideRoute[2].children[2].disabled = true;
} }
break; break;
case 'bidPlan': case 'bidPlan':
if(arr[i][j]<1){ if(arr[i][j]<1){
this.sideRoute[2].children[3].disabled = true; this.sideRoute[2].children[3].disabled = true;
} }
break; break;
case 'biddingAnnouncement': case 'biddingAnnouncement':
if(arr[i][j]<1){ if(arr[i][j]<1){
this.sideRoute[2].children[4].disabled = true; this.sideRoute[2].children[4].disabled = true;
} }
break; break;
case 'proBiddingAnnouncement': case 'proBiddingAnnouncement':
if(arr[i][j]<1){ if(arr[i][j]<1){
this.sideRoute[2].children[5].disabled = true; this.sideRoute[2].children[5].disabled = true;
} }
break; break;
case 'adminLicensing': case 'adminLicensing':
if(arr[i][j]<1){ if(arr[i][j]<1){
this.sideRoute[2].children[6].disabled = true; this.sideRoute[2].children[6].disabled = true;
} }
break; break;
case 'customer': case 'customer':
if(arr[i][j]<1){ if(arr[i][j]<1){
this.sideRoute[3].children[0].disabled = true; this.sideRoute[3].children[0].disabled = true;
} }
break; break;
case 'supplier': case 'supplier':
if(arr[i][j]<1){ if(arr[i][j]<1){
this.sideRoute[3].children[1].disabled = true; this.sideRoute[3].children[1].disabled = true;
} }
break; break;
case 'coopBiddingAgency': case 'coopBiddingAgency':
if(arr[i][j]<1){ if(arr[i][j]<1){
this.sideRoute[3].children[2].disabled = true; this.sideRoute[3].children[2].disabled = true;
} }
break; break;
case 'historySend': case 'historySend':
if(arr[i][j]<1){ if(arr[i][j]<1){
this.sideRoute[3].children[3].disabled = true; this.sideRoute[3].children[3].disabled = true;
} }
break; break;
case 'tenderRecordV1': case 'tenderRecordV1':
if(arr[i][j]<1){ if(arr[i][j]<1){
this.sideRoute[3].children[4].disabled = true; this.sideRoute[3].children[4].disabled = true;
} }
break; break;
case 'adminSanction': case 'adminSanction':
if(arr[i][j]<1){ if(arr[i][j]<1){
this.sideRoute[5].children[0].disabled = true; this.sideRoute[5].children[0].disabled = true;
} }
break; break;
case 'abnormalOperation': case 'abnormalOperation':
if(arr[i][j]<1){ if(arr[i][j]<1){
this.sideRoute[5].children[1].disabled = true; this.sideRoute[5].children[1].disabled = true;
} }
break; break;
case 'dishonestExecutee': case 'dishonestExecutee':
if(arr[i][j]<1){ if(arr[i][j]<1){
this.sideRoute[5].children[2].disabled = true; this.sideRoute[5].children[2].disabled = true;
} }
break; break;
case 'dishonestExecutor': case 'dishonestExecutor':
if(arr[i][j]<1){ if(arr[i][j]<1){
this.sideRoute[5].children[3].disabled = true; this.sideRoute[5].children[3].disabled = true;
} }
break; break;
case 'adjudicativeDoc': case 'adjudicativeDoc':
if(arr[i][j]<1){ if(arr[i][j]<1){
this.sideRoute[5].children[4].disabled = true; this.sideRoute[5].children[4].disabled = true;
} }
break; break;
case 'courtAnnouncement': case 'courtAnnouncement':
if(arr[i][j]<1){ if(arr[i][j]<1){
this.sideRoute[5].children[5].disabled = true; this.sideRoute[5].children[5].disabled = true;
} }
break; break;
case 'openAnnouncement': case 'openAnnouncement':
if(arr[i][j]<1){ if(arr[i][j]<1){
this.sideRoute[5].children[6].disabled = true; this.sideRoute[5].children[6].disabled = true;
} }
break; break;
default: default:
break; break;
}
} }
} }
this.defaultRoute = JSON.parse(JSON.stringify(this.sideRoute))
} }
this.defaultRoute = JSON.parse(JSON.stringify(this.sideRoute)) },
}
},
},
methods: {
financial(id){
financial({cid:String(id)}).then(res=>{
if(res.code==200&&!res.data){
this.sideRoute[1].disabled = true
this.defaultRoute = JSON.parse(JSON.stringify(this.sideRoute))
}
})
}, },
handleOpen(key, keyPath) { methods: {
financial(id){
financial({cid:String(id)}).then(res=>{
if(res.code==200&&!res.data){
this.sideRoute[1].disabled = true
this.defaultRoute = JSON.parse(JSON.stringify(this.sideRoute))
}
})
},
handleOpen(key, keyPath) {
}, },
handleItem(item){ handleItem(item){
let obj = item let obj = item
for(var i in this.sideRoute1){ for(var i in this.sideRoute1){
if(this.sideRoute1[i].children){ if(this.sideRoute1[i].children){
for(var j in this.sideRoute1[i].children){ for(var j in this.sideRoute1[i].children){
if(item.title == this.sideRoute1[i].children[j].title){ if(item.title == this.sideRoute1[i].children[j].title){
console.log(this.sideRoute1[i].children[j]) console.log(this.sideRoute1[i].children[j])
obj.pathName = this.sideRoute1[i].children[j].pathName obj.pathName = this.sideRoute1[i].children[j].pathName
}
}
}else{
if(item.title == this.sideRoute1[i].title){
obj.pathName = this.sideRoute1[i].pathName
} }
}
}else{
if(item.title == this.sideRoute1[i].title){
obj.pathName = this.sideRoute1[i].pathName
} }
} }
} this.$emit("currentPath", obj)
this.$emit("currentPath", obj) },
}, handleSearch(flag){
handleSearch(flag){ if((this.searchText&&!flag) || (!this.searchText&&flag)){
if((this.searchText&&!flag) || (!this.searchText&&flag)){ let idx = this.getRouteIdx(this.searchText)
let idx = this.getRouteIdx(this.searchText) if(idx){
if(idx){ if(idx.includes('-')){
if(idx.includes('-')){ let openIdx = idx.slice(0, 1)
let openIdx = idx.slice(0, 1) this.sideRoute = [this.defaultRoute[openIdx]]
this.sideRoute = [this.defaultRoute[openIdx]] this.$refs.sideMenu.open(openIdx)
this.$refs.sideMenu.open(openIdx) }else{
this.sideRoute = [this.defaultRoute[idx]]
}
this.searchIndex = '-1'
}else{ }else{
this.sideRoute = [this.defaultRoute[idx]] this.sideRoute = this.defaultRoute
this.searchIndex = ''
} }
this.searchIndex = '-1'
}else{
this.sideRoute = this.defaultRoute
this.searchIndex = ''
} }
} },
}, getRouteIdx(pathTitle, pathName){
getRouteIdx(pathTitle, pathName){ let idx = '', sideArr = this.sideRoute==this.defaultRoute?this.sideRoute:this.defaultRoute
let idx = '', sideArr = this.sideRoute==this.defaultRoute?this.sideRoute:this.defaultRoute for(let i=0; i < sideArr.length; i++){
for(let i=0; i < sideArr.length; i++){ if(sideArr[i].title == pathTitle || sideArr[i].pathName == pathName){
if(sideArr[i].title == pathTitle || sideArr[i].pathName == pathName){ idx = i.toString()
idx = i.toString() break
break }else if(sideArr[i].children){
}else if(sideArr[i].children){ for(let j=0; j< sideArr[i].children.length ; j++){
for(let j=0; j< sideArr[i].children.length ; j++){ if(sideArr[i].children[j].title == pathTitle || sideArr[i].children[j].pathName == pathName){
if(sideArr[i].children[j].title == pathTitle || sideArr[i].children[j].pathName == pathName){ idx = i+'-'+j
idx = i+'-'+j break
break }
} }
} }
} }
} return idx
return idx },
}, isCustomerId(name){
isCustomerId(name){ if(this.customer.indexOf(name) != -1){
if(this.customer.indexOf(name) != -1){ if(this.customerId && this.isCustomer){
if(this.customerId && this.isCustomer){ return true
return true }
return false
} }
return false return true
} },
return true isCompanyId(name){
}, if(this.companys.indexOf(name) != -1){
isCompanyId(name){ if(this.isCompany){
if(this.companys.indexOf(name) != -1){ return true
if(this.isCompany){ }
return true return false
} }
return false return true
} }
return true
} }
} }
}
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
......
...@@ -77,7 +77,7 @@ ...@@ -77,7 +77,7 @@
</el-row> </el-row>
<div class="empty" v-if="jtzbList.length === 0 && !isSkeleton"> <div class="empty" v-if="jtzbList.length === 0 && !isSkeleton">
<img class="img" src="@/assets/images/project/empty.png"> <img class="img" src="@/assets/images/project/empty.png">
<div class="p1">抱歉,暂无数据展示</div> <div class="p1">抱歉,没找到相关数据</div>
</div> </div>
</div> </div>
<div class="content content_wap2"> <div class="content content_wap2">
...@@ -146,7 +146,7 @@ ...@@ -146,7 +146,7 @@
</el-row> </el-row>
<div class="empty" v-if="dxmbList.length === 0 && !dxmzbState"> <div class="empty" v-if="dxmbList.length === 0 && !dxmzbState">
<img class="img" src="@/assets/images/project/empty.png"> <img class="img" src="@/assets/images/project/empty.png">
<div class="p1">抱歉,暂无数据展示</div> <div class="p1">抱歉,没找到相关数据</div>
</div> </div>
</div> </div>
<div class="content_wap3" ref="returnTop"> <div class="content_wap3" ref="returnTop">
...@@ -155,7 +155,7 @@ ...@@ -155,7 +155,7 @@
<skeleton v-if="zxzbIsSkeleton" style="padding: 16px"></skeleton> <skeleton v-if="zxzbIsSkeleton" style="padding: 16px"></skeleton>
<div class="empty" v-if="projectList.length === 0 && !zxzbIsSkeleton"> <div class="empty" v-if="projectList.length === 0 && !zxzbIsSkeleton">
<img class="img" src="@/assets/images/project/empty.png"> <img class="img" src="@/assets/images/project/empty.png">
<div class="p1">抱歉,暂无数据展示</div> <div class="p1">抱歉,没找到相关数据</div>
</div> </div>
<div class="list" v-if="!zxzbIsSkeleton"> <div class="list" v-if="!zxzbIsSkeleton">
<div class="item" v-for="(item,index) in projectList" :key="index"> <div class="item" v-for="(item,index) in projectList" :key="index">
......
...@@ -877,7 +877,7 @@ export default { ...@@ -877,7 +877,7 @@ export default {
span{ span{
color: #232323; color: #232323;
padding: 2px 10px; padding: 2px 10px;
margin-bottom: 4px; margin-bottom: 10px;
display: inline-block; display: inline-block;
cursor: pointer; cursor: pointer;
margin-right: 8px; margin-right: 8px;
......
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