数据源

master
zhaoxiaolin 6 months ago
parent ca4ef2c6a8
commit 7a9d2dd4ae

@ -13,9 +13,9 @@ import org.springframework.web.bind.annotation.RequestBody;
*/ */
@FeignClient(contextId = "remoteEnergyService", value = ServiceNameConstants.ENERGY_SERVICE, fallbackFactory = RemoteEnergyFallbackFactory.class) @FeignClient(contextId = "remoteEnergyService", value = ServiceNameConstants.ENERGY_SERVICE, fallbackFactory = RemoteEnergyFallbackFactory.class)
public interface RemoteEnergyService { public interface RemoteEnergyService {
@PostMapping("/energy/addDatasource") @PostMapping("/buildInfo/addDatasource")
public R addDatasource(@RequestBody DataSourcePropertyDTO dataSourceProperty); public R addDatasource(@RequestBody DataSourcePropertyDTO dataSourceProperty);
@PostMapping("/energy/removeDatasource") @PostMapping("/buildInfo/removeDatasource")
public R removeDatasource(@RequestBody DataSourcePropertyDTO dataSourceProperty); public R removeDatasource(@RequestBody DataSourcePropertyDTO dataSourceProperty);
} }

@ -1,17 +1,24 @@
package com.op.energy.base.controller; package com.op.energy.base.controller;
import com.baomidou.dynamic.datasource.DynamicRoutingDataSource;
import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DataSourceProperty;
import com.op.common.core.domain.R;
import com.op.common.core.utils.bean.BeanUtils;
import com.op.common.core.utils.poi.ExcelUtil; import com.op.common.core.utils.poi.ExcelUtil;
import com.op.common.core.web.controller.BaseController; import com.op.common.core.web.controller.BaseController;
import com.op.common.core.web.domain.AjaxResult; import com.op.common.core.web.domain.AjaxResult;
import com.op.common.datasource.creator.DynamicDatasourceCreator;
import com.op.common.log.annotation.Log; import com.op.common.log.annotation.Log;
import com.op.common.log.enums.BusinessType; import com.op.common.log.enums.BusinessType;
import com.op.common.security.annotation.RequiresPermissions; import com.op.common.security.annotation.RequiresPermissions;
import com.op.energy.base.domain.BaseBuildInfo; import com.op.energy.base.domain.BaseBuildInfo;
import com.op.energy.base.domain.Ztree; import com.op.energy.base.domain.Ztree;
import com.op.energy.base.service.IBaseBuildInfoService; import com.op.energy.base.service.IBaseBuildInfoService;
import com.op.system.api.domain.DataSourcePropertyDTO;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.List; import java.util.List;
@ -26,7 +33,10 @@ import java.util.List;
public class BaseBuildInfoController extends BaseController { public class BaseBuildInfoController extends BaseController {
@Autowired @Autowired
private IBaseBuildInfoService baseBuildInfoService; private IBaseBuildInfoService baseBuildInfoService;
@Resource
private DynamicDatasourceCreator dynamicDatasourceCreator;
@Resource
private DynamicRoutingDataSource dynamicRoutingDataSource;
/** /**
* *
*/ */
@ -97,5 +107,19 @@ public class BaseBuildInfoController extends BaseController {
List<Ztree> ztrees = baseBuildInfoService.selectBaseBuildInfoTree(); List<Ztree> ztrees = baseBuildInfoService.selectBaseBuildInfoTree();
return ztrees; return ztrees;
} }
@PostMapping("/addDatasource")
public R addDatasource(@RequestBody DataSourcePropertyDTO dto){
DataSourceProperty dataSourceProperty = new DataSourceProperty();
BeanUtils.copyProperties(dto,dataSourceProperty);
dynamicDatasourceCreator.createDynamicDataSource(dataSourceProperty);
return R.ok();
}
@PostMapping("/removeDatasource")
public R removeDatasource(@RequestBody DataSourcePropertyDTO dto){
DataSourceProperty dataSourceProperty = new DataSourceProperty();
BeanUtils.copyProperties(dto,dataSourceProperty);
dynamicRoutingDataSource.removeDataSource(dataSourceProperty.getPoolName());
return R.ok();
}
} }

@ -593,7 +593,7 @@ public class SysUserServiceImpl implements ISysUserService {
} }
int n = 0; int n = 0;
//sap返回的供应商编码 //sap返回的编码
List<String> codes = dtos.stream().map(HRInfo::getUserName).collect(Collectors.toList()); List<String> codes = dtos.stream().map(HRInfo::getUserName).collect(Collectors.toList());
//sap返回的工作中心编码-本地已存在 //sap返回的工作中心编码-本地已存在
List<String> exsitCodes = userMapper.getExsitCodes(codes); List<String> exsitCodes = userMapper.getExsitCodes(codes);

@ -252,7 +252,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
update_by = #{item.updateBy}, update_by = #{item.updateBy},
update_time = #{item.updateTime} update_time = #{item.updateTime}
where where
user_name = #{item.userName} user_name = #{item.userName} and del_flag = '0'
</foreach> </foreach>
</update> </update>
@ -285,7 +285,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select max(create_time) from sys_user where create_by = 'job' and del_flag = '0' select max(create_time) from sys_user where create_by = 'job' and del_flag = '0'
</select> </select>
<select id="getExsitCodes" resultType="java.lang.String"> <select id="getExsitCodes" resultType="java.lang.String">
select user_name from sys_user where user_name in select user_name from sys_user where del_flag = '0' and user_name in
<foreach collection="list" item="code" open="(" separator="," close=")"> <foreach collection="list" item="code" open="(" separator="," close=")">
#{code} #{code}
</foreach> </foreach>

Loading…
Cancel
Save