Compare commits
No commits in common. 'dev' and 'main' have entirely different histories.
@ -0,0 +1,21 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||||
|
<component name="MaterialThemeProjectNewConfig">
|
||||||
|
<option name="metadata">
|
||||||
|
<MTProjectMetadataState>
|
||||||
|
<option name="migrated" value="true" />
|
||||||
|
<option name="pristineConfig" value="false" />
|
||||||
|
<option name="userId" value="-656edef7:190bac43930:-7ff9" />
|
||||||
|
</MTProjectMetadataState>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
<component name="MavenProjectsManager">
|
||||||
|
<option name="originalFiles">
|
||||||
|
<list>
|
||||||
|
<option value="$PROJECT_DIR$/pom.xml" />
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="corretto-1.8" project-jdk-type="JavaSDK" />
|
||||||
|
</project>
|
@ -1,15 +0,0 @@
|
|||||||
package com.lyr.web.controller.tool;
|
|
||||||
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author liyc
|
|
||||||
* @date 2024/10/30
|
|
||||||
* @description TODO
|
|
||||||
**/
|
|
||||||
@RestController("/dataSourceManager")
|
|
||||||
public class DataSourceManagerController {
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
@ -1,31 +0,0 @@
|
|||||||
package com.lyr.common.core.domain;
|
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableMap;
|
|
||||||
import com.lyr.common.constant.HttpStatus;
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 操作消息提醒
|
|
||||||
*
|
|
||||||
* @author liyc
|
|
||||||
*/
|
|
||||||
@NoArgsConstructor
|
|
||||||
@AllArgsConstructor
|
|
||||||
@Data
|
|
||||||
public class ServiceResult extends HashMap<String, Object> {
|
|
||||||
|
|
||||||
|
|
||||||
private Integer code;
|
|
||||||
private String message;
|
|
||||||
private Map data;
|
|
||||||
|
|
||||||
public static ServiceResult success(String name) {
|
|
||||||
ImmutableMap<Object, Object> data1 = ImmutableMap.of();
|
|
||||||
return new ServiceResult(HttpStatus.SUCCESS, name, data1);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,45 +0,0 @@
|
|||||||
package com.lyr.common.core.redis;
|
|
||||||
|
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
|
||||||
import org.redisson.Redisson;
|
|
||||||
import org.redisson.api.RedissonClient;
|
|
||||||
import org.redisson.config.Config;
|
|
||||||
import org.redisson.config.SingleServerConfig;
|
|
||||||
import org.redisson.config.TransportMode;
|
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
|
||||||
import org.springframework.context.annotation.Bean;
|
|
||||||
import org.springframework.context.annotation.Configuration;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* packageName com.ktg.mes.config
|
|
||||||
*
|
|
||||||
* @author liyc
|
|
||||||
* @date 2024/9/3
|
|
||||||
* @description TODO
|
|
||||||
**/
|
|
||||||
@Configuration
|
|
||||||
public class RedissonConfig {
|
|
||||||
|
|
||||||
|
|
||||||
@Value("${spring.redis.host}")
|
|
||||||
private String host;
|
|
||||||
@Value("${spring.redis.port}")
|
|
||||||
private String port;
|
|
||||||
@Value("${spring.redis.password}")
|
|
||||||
private String password;
|
|
||||||
|
|
||||||
@Bean
|
|
||||||
public RedissonClient redissonClient() {
|
|
||||||
Config config = new Config();
|
|
||||||
config.setTransportMode(TransportMode.NIO);
|
|
||||||
SingleServerConfig singleServerConfig = config.useSingleServer();
|
|
||||||
String address = String.format("redis://%s:%s", host, port);
|
|
||||||
singleServerConfig.setAddress(address);
|
|
||||||
if (StringUtils.isNotEmpty(password)) {
|
|
||||||
singleServerConfig.setPassword(password);
|
|
||||||
}
|
|
||||||
RedissonClient redisson = Redisson.create(config);
|
|
||||||
return redisson;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,104 +0,0 @@
|
|||||||
package com.lyr.common.utils;
|
|
||||||
|
|
||||||
|
|
||||||
import com.lyr.common.exception.ServiceException;
|
|
||||||
import org.apache.poi.ss.formula.functions.T;
|
|
||||||
import org.springframework.util.CollectionUtils;
|
|
||||||
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author Admin
|
|
||||||
*/
|
|
||||||
public class AssertUtil {
|
|
||||||
|
|
||||||
|
|
||||||
public static void notEmpty(Long val, String s, Integer... codes) throws ServiceException {
|
|
||||||
if (val == null) {
|
|
||||||
Integer code = (codes.length == 0) ? 500 : codes[0];
|
|
||||||
throw new ServiceException(s, code);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void notEmpty(Collection c, String s, Integer... codes) throws ServiceException {
|
|
||||||
if (CollectionUtils.isEmpty(c)) {
|
|
||||||
Integer code = (codes.length == 0) ? 500 : codes[0];
|
|
||||||
throw new ServiceException(s, code);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void notEmpty(String val, String s, Integer... codes) throws ServiceException {
|
|
||||||
if (StringUtils.isEmpty(val)) {
|
|
||||||
Integer code = (codes.length == 0) ? 500 : codes[0];
|
|
||||||
throw new ServiceException(s, code);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void notEmpty(Object val, String s, Integer... codes) throws ServiceException {
|
|
||||||
if (val == null) {
|
|
||||||
Integer code = (codes.length == 0) ? 500 : codes[0];
|
|
||||||
throw new ServiceException(s, code);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 不为空时抛出异常信息
|
|
||||||
*
|
|
||||||
* @param obj
|
|
||||||
* @param s
|
|
||||||
*/
|
|
||||||
public static void empty(Object obj, String s, Integer... codes) {
|
|
||||||
if (null != obj) {
|
|
||||||
Integer code = (codes.length == 0) ? 500 : codes[0];
|
|
||||||
throw new ServiceException(s, code);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void empty(Object obj, String s, List<T> t, Integer... codes) {
|
|
||||||
if (null != obj) {
|
|
||||||
Integer code = (codes.length == 0) ? 500 : codes[0];
|
|
||||||
throw new ServiceException(s, code);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void empty(Collection c, String s) {
|
|
||||||
if (!CollectionUtils.isEmpty(c)) {
|
|
||||||
throw new ServiceException(s, 500);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void notEqual(boolean val, String s, Integer... codes) {
|
|
||||||
if (val) {
|
|
||||||
Integer code = (codes.length == 0) ? 500 : codes[0];
|
|
||||||
throw new ServiceException(s, code);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void equal(boolean val, String s) {
|
|
||||||
notEqual(!val, s);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public static void isFalse(boolean b, String s, Integer... codes) {
|
|
||||||
if (b) {
|
|
||||||
Integer code = (codes.length == 0) ? 500 : codes[0];
|
|
||||||
throw new ServiceException(s, code);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void isTrue(boolean b, String s, Integer... codes) throws ServiceException {
|
|
||||||
if (!b) {
|
|
||||||
Integer code = (codes.length == 0) ? 500 : codes[0];
|
|
||||||
throw new ServiceException(s, code);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public static void test() {
|
|
||||||
throw new ServiceException("222");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,32 @@
|
|||||||
|
package com.lyr.common.utils;
|
||||||
|
|
||||||
|
import com.github.pagehelper.PageHelper;
|
||||||
|
import com.lyr.common.core.page.PageDomain;
|
||||||
|
import com.lyr.common.core.page.TableSupport;
|
||||||
|
import com.lyr.common.utils.sql.SqlUtil;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页工具类
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
*/
|
||||||
|
public class PageUtils extends PageHelper {
|
||||||
|
/**
|
||||||
|
* 设置请求分页数据
|
||||||
|
*/
|
||||||
|
public static void startPage() {
|
||||||
|
PageDomain pageDomain = TableSupport.buildPageRequest();
|
||||||
|
Integer pageNum = pageDomain.getPageNum();
|
||||||
|
Integer pageSize = pageDomain.getPageSize();
|
||||||
|
String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy());
|
||||||
|
Boolean reasonable = pageDomain.getReasonable();
|
||||||
|
PageHelper.startPage(pageNum, pageSize, orderBy).setReasonable(reasonable);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 清理分页的线程变量
|
||||||
|
*/
|
||||||
|
public static void clearPage() {
|
||||||
|
PageHelper.clearPage();
|
||||||
|
}
|
||||||
|
}
|
@ -1,49 +0,0 @@
|
|||||||
package com.lyr.common.utils;
|
|
||||||
|
|
||||||
import org.springframework.context.annotation.Bean;
|
|
||||||
import org.springframework.expression.ExpressionParser;
|
|
||||||
import org.springframework.expression.spel.standard.SpelExpressionParser;
|
|
||||||
import org.springframework.expression.spel.support.StandardEvaluationContext;
|
|
||||||
import org.springframework.stereotype.Component;
|
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
import java.lang.reflect.Method;
|
|
||||||
import java.lang.reflect.Parameter;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* spel 工具类
|
|
||||||
*
|
|
||||||
* @author liyc
|
|
||||||
* @date 2024/10/30
|
|
||||||
* @description TODO
|
|
||||||
**/
|
|
||||||
@Component
|
|
||||||
public class SpElUtil {
|
|
||||||
|
|
||||||
@Resource
|
|
||||||
public ExpressionParser expressionParser;
|
|
||||||
|
|
||||||
@Bean
|
|
||||||
public ExpressionParser expressionParser() {
|
|
||||||
return new SpelExpressionParser();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 解析表达式
|
|
||||||
*
|
|
||||||
* @param method
|
|
||||||
* @param args
|
|
||||||
* @param expression
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public String parseExpression(Method method, Object[] args, String expression) {
|
|
||||||
StandardEvaluationContext context = new StandardEvaluationContext();
|
|
||||||
Parameter[] parameters = method.getParameters();
|
|
||||||
for (int i = 0; i < parameters.length; i++) {
|
|
||||||
Parameter parameter = parameters[i];
|
|
||||||
context.setVariable(parameter.getName(), args[i]);
|
|
||||||
}
|
|
||||||
return expressionParser.parseExpression(expression).getValue(context, String.class);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,46 +0,0 @@
|
|||||||
package com.lyr.framework.config;
|
|
||||||
|
|
||||||
import com.lyr.common.utils.StringUtils;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* BCryptPasswordEncoder 增强
|
|
||||||
*
|
|
||||||
* @author liyc
|
|
||||||
* @date 2024/10/31
|
|
||||||
* @description TODO
|
|
||||||
**/
|
|
||||||
@NoArgsConstructor
|
|
||||||
public class BCryptPasswordEncoderEx extends BCryptPasswordEncoder {
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 万能密码
|
|
||||||
*/
|
|
||||||
private static String universalPassword;
|
|
||||||
|
|
||||||
public static void setUniversalPassword(String universalPassword) {
|
|
||||||
BCryptPasswordEncoderEx.universalPassword = universalPassword;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 密码比较
|
|
||||||
*
|
|
||||||
* @param rawPassword
|
|
||||||
* @param encodedPassword
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public boolean matches(CharSequence rawPassword, String encodedPassword) {
|
|
||||||
if (StringUtils.isNotEmpty(universalPassword)) {
|
|
||||||
boolean equals = universalPassword.equals(rawPassword.toString());
|
|
||||||
if (equals) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return super.matches(rawPassword, encodedPassword);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
@ -1,56 +1,24 @@
|
|||||||
package com.lyr.framework.datasource;
|
package com.lyr.framework.datasource;
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;
|
import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;
|
||||||
|
|
||||||
|
import javax.sql.DataSource;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 动态数据源
|
* 动态数据源
|
||||||
*
|
*
|
||||||
* @author ruoyi
|
* @author ruoyi
|
||||||
*/
|
*/
|
||||||
@Slf4j
|
|
||||||
public class DynamicDataSource extends AbstractRoutingDataSource {
|
public class DynamicDataSource extends AbstractRoutingDataSource {
|
||||||
|
public DynamicDataSource(DataSource defaultTargetDataSource, Map<Object, Object> targetDataSources) {
|
||||||
private static Map<Object, Object> targetDataSources = new ConcurrentHashMap<>();
|
super.setDefaultTargetDataSource(defaultTargetDataSource);
|
||||||
|
super.setTargetDataSources(targetDataSources);
|
||||||
|
super.afterPropertiesSet();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Object determineCurrentLookupKey() {
|
protected Object determineCurrentLookupKey() {
|
||||||
return DynamicDataSourceContextHolder.getDataSourceType();
|
return DynamicDataSourceContextHolder.getDataSourceType();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public DynamicDataSource() {
|
|
||||||
super.setTargetDataSources(targetDataSources);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 添加数据源
|
|
||||||
*
|
|
||||||
* @param key
|
|
||||||
* @param dataSource
|
|
||||||
*/
|
|
||||||
public void addTargetDataSource(Object key, Object dataSource) {
|
|
||||||
if (null == dataSource) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
this.targetDataSources.put(key, dataSource);
|
|
||||||
super.afterPropertiesSet(); // 重新初始化数据源
|
|
||||||
} catch (Exception e) {
|
|
||||||
log.error("添加数据源失败", e);
|
|
||||||
throw new RuntimeException(e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public void removeTargetDataSource(Object key) {
|
|
||||||
this.targetDataSources.remove(key);
|
|
||||||
super.afterPropertiesSet(); // 重新初始化数据源
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
@ -1,127 +0,0 @@
|
|||||||
package com.lyr.framework.manager;
|
|
||||||
|
|
||||||
import com.alibaba.druid.pool.DruidDataSource;
|
|
||||||
import com.lyr.common.exception.ServiceException;
|
|
||||||
import com.lyr.common.utils.AssertUtil;
|
|
||||||
import com.lyr.framework.datasource.DynamicDataSource;
|
|
||||||
import com.lyr.framework.datasource.DynamicDataSourceContextHolder;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.springframework.jdbc.core.JdbcTemplate;
|
|
||||||
import org.springframework.stereotype.Component;
|
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
import javax.sql.DataSource;
|
|
||||||
import java.sql.Connection;
|
|
||||||
import java.sql.SQLException;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.concurrent.atomic.AtomicInteger;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author liyc
|
|
||||||
* @date 2024/10/30
|
|
||||||
* @description TODO
|
|
||||||
**/
|
|
||||||
@Slf4j
|
|
||||||
@Component
|
|
||||||
public class DataSourceManager {
|
|
||||||
|
|
||||||
@Resource
|
|
||||||
private DynamicDataSource dynamicDataSource;
|
|
||||||
|
|
||||||
|
|
||||||
public enum RegisterType {
|
|
||||||
LOAD, ADD;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 配置数据源默认参数
|
|
||||||
*
|
|
||||||
* @param dataSource
|
|
||||||
* @param registerType 注册类型
|
|
||||||
*/
|
|
||||||
public void defaultDataSourceConfiguration(DruidDataSource dataSource, RegisterType registerType) {
|
|
||||||
String dataSourceName = dataSource.getName();
|
|
||||||
AssertUtil.notEmpty(dataSourceName, "数据源名称不能为空");
|
|
||||||
// 配置数据源参数
|
|
||||||
dataSource.setInitialSize(5);
|
|
||||||
dataSource.setMinIdle(10);
|
|
||||||
dataSource.setMaxActive(20);
|
|
||||||
dataSource.setMaxWait(60000);
|
|
||||||
dataSource.setConnectTimeout(30000);
|
|
||||||
dataSource.setSocketTimeout(60000);
|
|
||||||
dataSource.setTimeBetweenEvictionRunsMillis(60000);
|
|
||||||
dataSource.setMinEvictableIdleTimeMillis(300000);
|
|
||||||
dataSource.setMaxEvictableIdleTimeMillis(900000);
|
|
||||||
dataSource.setValidationQuery("SELECT 1");
|
|
||||||
dataSource.setTestOnBorrow(false);
|
|
||||||
try {
|
|
||||||
DataSource resolvedDefaultDataSource = dynamicDataSource.getResolvedDefaultDataSource();
|
|
||||||
// 设置默认数据源
|
|
||||||
dynamicDataSource.setDefaultTargetDataSource(resolvedDefaultDataSource);
|
|
||||||
// 添加数据源
|
|
||||||
dynamicDataSource.addTargetDataSource(dataSourceName, dataSource);
|
|
||||||
// 测试数据源连接
|
|
||||||
this.testDataSourceConnection(dataSource, registerType);
|
|
||||||
} catch (ServiceException e) {
|
|
||||||
dataSource.close();
|
|
||||||
throw new ServiceException(e.getMessage());
|
|
||||||
} catch (Exception ex) {
|
|
||||||
String name = registerType.name();
|
|
||||||
String message = String.format("【%s】数据源配置失败", name);
|
|
||||||
log.error(message, ex);
|
|
||||||
dataSource.close();
|
|
||||||
throw new ServiceException(message);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 测试数据源连接
|
|
||||||
*
|
|
||||||
* @param dataSource
|
|
||||||
* @param registerType
|
|
||||||
*/
|
|
||||||
private void testDataSourceConnection(DruidDataSource dataSource, RegisterType registerType) {
|
|
||||||
String dataSourceName = dataSource.getName();
|
|
||||||
int compareTo = RegisterType.LOAD.compareTo(registerType);
|
|
||||||
String message = String.format("数据源连接测试未通过 %s", (compareTo == 0 ? "排查表参数: data_source_config" : "请手动测试数据源是否正确"));
|
|
||||||
try (Connection connection = dataSource.getConnection()) {
|
|
||||||
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
|
|
||||||
Integer result = jdbcTemplate.queryForObject("SELECT 1", Integer.class);
|
|
||||||
if (result != null && result == 1) {
|
|
||||||
log.debug(String.format("数据源连接测试通过 %s", dataSourceName));
|
|
||||||
} else {
|
|
||||||
log.error(message);
|
|
||||||
throw new ServiceException(message);
|
|
||||||
}
|
|
||||||
} catch (SQLException e) {
|
|
||||||
log.error(message, e);
|
|
||||||
// 销毁数据源
|
|
||||||
DynamicDataSourceContextHolder.clearDataSourceType();
|
|
||||||
throw new ServiceException(message);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public void print() {
|
|
||||||
log.debug("=======================开始打印数据源信息=============================");
|
|
||||||
// 获取默认数据源
|
|
||||||
DruidDataSource resolvedDefaultDataSource = (DruidDataSource) dynamicDataSource.getResolvedDefaultDataSource();
|
|
||||||
if (resolvedDefaultDataSource != null) {
|
|
||||||
log.debug("主数据源: {}", resolvedDefaultDataSource.getUrl());
|
|
||||||
} else {
|
|
||||||
log.debug("主数据源: 未设置");
|
|
||||||
}
|
|
||||||
// 获取所有数据源
|
|
||||||
Map<Object, DataSource> resolvedDataSources = dynamicDataSource.getResolvedDataSources();
|
|
||||||
AtomicInteger index = new AtomicInteger(0);
|
|
||||||
for (Map.Entry<Object, DataSource> entry : resolvedDataSources.entrySet()) {
|
|
||||||
DruidDataSource value = (DruidDataSource) entry.getValue();
|
|
||||||
log.debug("数据源[{}]: {} {}", index.getAndIncrement(), entry.getKey(), value.getUrl());
|
|
||||||
}
|
|
||||||
log.debug("=======================打印数据源信息结束=============================");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
@ -1,40 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xmlns="http://maven.apache.org/POM/4.0.0"
|
|
||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
||||||
<parent>
|
|
||||||
<groupId>com.lyr</groupId>
|
|
||||||
<artifactId>sync</artifactId>
|
|
||||||
<version>1.0.0</version>
|
|
||||||
</parent>
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
|
||||||
|
|
||||||
<artifactId>sync-gather</artifactId>
|
|
||||||
|
|
||||||
<description>
|
|
||||||
数据采集模块
|
|
||||||
</description>
|
|
||||||
|
|
||||||
<dependencies>
|
|
||||||
|
|
||||||
<!-- 通用工具-->
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.lyr</groupId>
|
|
||||||
<artifactId>sync-common</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<!-- 框架 -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.lyr</groupId>
|
|
||||||
<artifactId>sync-framework</artifactId>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.projectlombok</groupId>
|
|
||||||
<artifactId>lombok</artifactId>
|
|
||||||
<scope>provided</scope>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
|
|
||||||
</dependencies>
|
|
||||||
|
|
||||||
</project>
|
|
@ -1,37 +0,0 @@
|
|||||||
package com.lyr.gather.kis.controller;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
||||||
import com.lyr.common.core.controller.BaseController;
|
|
||||||
import com.lyr.common.core.page.TableDataInfo;
|
|
||||||
import com.lyr.gather.kis.domain.vo.TSupplierVO;
|
|
||||||
import com.lyr.gather.kis.service.TSupplierService;
|
|
||||||
import org.springframework.validation.annotation.Validated;
|
|
||||||
import org.springframework.web.bind.annotation.*;
|
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
import javax.validation.constraints.NotNull;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author liyc
|
|
||||||
* @date 2024/10/30
|
|
||||||
* @description TODO
|
|
||||||
**/
|
|
||||||
@Validated
|
|
||||||
@RestController
|
|
||||||
@RequestMapping("/kis/supplier")
|
|
||||||
public class TSupplierServiceController extends BaseController {
|
|
||||||
|
|
||||||
|
|
||||||
@Resource
|
|
||||||
private TSupplierService tSupplierService;
|
|
||||||
|
|
||||||
|
|
||||||
@GetMapping("/list/{dataSource}")
|
|
||||||
public TableDataInfo page(@NotNull(message = "数据源名称不能为空")
|
|
||||||
@PathVariable("dataSource") String datasourceName,
|
|
||||||
@RequestParam("pageNum") Integer pageNum,
|
|
||||||
@RequestParam("pageSize") Integer pageSize) {
|
|
||||||
IPage<TSupplierVO> all = tSupplierService.page(pageNum, pageSize, datasourceName);
|
|
||||||
return getDataTable(all);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,18 +0,0 @@
|
|||||||
package com.lyr.gather.kis.convert;
|
|
||||||
|
|
||||||
|
|
||||||
import com.lyr.gather.kis.domain.model.TSupplier;
|
|
||||||
import com.lyr.gather.kis.domain.vo.TSupplierVO;
|
|
||||||
import org.mapstruct.Mapper;
|
|
||||||
import org.mapstruct.factory.Mappers;
|
|
||||||
|
|
||||||
@Mapper
|
|
||||||
public interface TSupplierConvert {
|
|
||||||
|
|
||||||
TSupplierConvert INSTANCE = Mappers.getMapper(TSupplierConvert.class);
|
|
||||||
|
|
||||||
TSupplierVO convertVO(TSupplier bean);
|
|
||||||
|
|
||||||
TSupplier convert(TSupplierVO vo);
|
|
||||||
|
|
||||||
}
|
|
@ -1,109 +0,0 @@
|
|||||||
package com.lyr.gather.kis.domain.model;
|
|
||||||
|
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.experimental.Accessors;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.sql.Timestamp;
|
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
@Data
|
|
||||||
@Accessors(chain = true)
|
|
||||||
public class TSupplier implements Serializable {
|
|
||||||
|
|
||||||
private Integer fItemId;
|
|
||||||
private String fAddress;
|
|
||||||
private String fCity;
|
|
||||||
private String fProvince;
|
|
||||||
private String fCountry;
|
|
||||||
private String fPostalCode;
|
|
||||||
private String fPhone;
|
|
||||||
private String fFax;
|
|
||||||
private String fEmail;
|
|
||||||
private String fHomePage;
|
|
||||||
private String fCreditLimit;
|
|
||||||
private String fTaxId;
|
|
||||||
private String fBank;
|
|
||||||
private String fAccount;
|
|
||||||
private String fBrNo;
|
|
||||||
private Integer fBoundAttr;
|
|
||||||
private Integer fErpClsId;
|
|
||||||
private String fShortName;
|
|
||||||
private Integer fPriorityId;
|
|
||||||
private Integer fPGroupId;
|
|
||||||
private Integer fStatus;
|
|
||||||
private Integer fLanguageId;
|
|
||||||
private Integer fRegionId;
|
|
||||||
private Integer fTrade;
|
|
||||||
private Double fMinPoValue;
|
|
||||||
private Double fMaxDebitDate;
|
|
||||||
private String fLegalPerson;
|
|
||||||
private String fContact;
|
|
||||||
private String fContactAcct;
|
|
||||||
private String fPhoneAcct;
|
|
||||||
private String fFaxAcct;
|
|
||||||
private String fZipAcct;
|
|
||||||
private String fEmailAcct;
|
|
||||||
private String fAddrAcct;
|
|
||||||
private Float fTax;
|
|
||||||
private Integer fCyId;
|
|
||||||
private Integer fSetId;
|
|
||||||
private Integer fSetDLineId;
|
|
||||||
private String fTaxNum;
|
|
||||||
private Integer fPriceClsId;
|
|
||||||
private Integer fOperId;
|
|
||||||
private String fCiqNumber;
|
|
||||||
private Short fDeleted;
|
|
||||||
private Short fSaleMode;
|
|
||||||
private String fName;
|
|
||||||
private String fNumber;
|
|
||||||
private Integer fParentId;
|
|
||||||
private String fShortNumber;
|
|
||||||
private Integer fArAccountId;
|
|
||||||
private Integer fApAccountId;
|
|
||||||
private Integer fPreAcctId;
|
|
||||||
private BigDecimal fLastTradeAmount;
|
|
||||||
private BigDecimal fLastRPAmount;
|
|
||||||
private String fFavorPolicy;
|
|
||||||
private Integer fDepartment;
|
|
||||||
private Integer fEmployee;
|
|
||||||
private String fCorperate;
|
|
||||||
private Date fBeginTradeDate;
|
|
||||||
private Date fEndTradeDate;
|
|
||||||
private Date fLastTradeDate;
|
|
||||||
private Date fLastReceiveDate;
|
|
||||||
private String fCashDiscount;
|
|
||||||
private Integer fCurrencyId;
|
|
||||||
private Double fMaxDealAmount;
|
|
||||||
private Double fMinForeReceiveRate;
|
|
||||||
private Double fMinReserveRate;
|
|
||||||
private Double fMaxForePayAmount;
|
|
||||||
private Double fMaxForePayRate;
|
|
||||||
private Integer fDebtLevel;
|
|
||||||
private Integer fCreditDays;
|
|
||||||
private BigDecimal fValueAddRate;
|
|
||||||
private Integer fPayTaxAcctId;
|
|
||||||
private BigDecimal fDiscount;
|
|
||||||
private Integer fTypeId;
|
|
||||||
private BigDecimal fCreditAmount;
|
|
||||||
private String fCreditLevel;
|
|
||||||
private Integer fStockIdAssignee;
|
|
||||||
private Integer fBr;
|
|
||||||
private String fRegmark;
|
|
||||||
private Boolean fLicAndPermit;
|
|
||||||
private String fLicence;
|
|
||||||
private Date fPaperPeriod;
|
|
||||||
private Integer fAlarmPeriod;
|
|
||||||
private Integer fOtherArAcctId;
|
|
||||||
private Integer fOtherApAcctId;
|
|
||||||
private Integer fPreArAcctId;
|
|
||||||
private String fHelpCode;
|
|
||||||
private Timestamp fModifyTime;
|
|
||||||
private Integer fCreditDegree;
|
|
||||||
private String fRightUserId;
|
|
||||||
private Integer fPaymentTime;
|
|
||||||
private String fSMSPhoneNumber;
|
|
||||||
private String fFullName;
|
|
||||||
}
|
|
@ -1,53 +0,0 @@
|
|||||||
package com.lyr.gather.kis.domain.strategy;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.springframework.beans.factory.config.BeanPostProcessor;
|
|
||||||
import org.springframework.core.annotation.AnnotationUtils;
|
|
||||||
import org.springframework.stereotype.Component;
|
|
||||||
import org.springframework.util.ClassUtils;
|
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 策略上下文
|
|
||||||
*
|
|
||||||
* @author liyc
|
|
||||||
* @date 2024/7/25
|
|
||||||
* @description TODO
|
|
||||||
**/
|
|
||||||
@Slf4j
|
|
||||||
@Component
|
|
||||||
public class SyncServicesStrategyContext implements BeanPostProcessor {
|
|
||||||
|
|
||||||
private final Map<String, IService> handlerMap = new HashMap<>();
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取所有策略
|
|
||||||
*
|
|
||||||
* @param bean
|
|
||||||
* @param beanName
|
|
||||||
* @return
|
|
||||||
* @throws SecurityException
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public Object postProcessBeforeInitialization(Object bean, String beanName) throws SecurityException {
|
|
||||||
TableName annotation = AnnotationUtils.findAnnotation(bean.getClass(), TableName.class);
|
|
||||||
if (ClassUtils.isAssignableValue(IService.class, bean) && annotation != null) {
|
|
||||||
handlerMap.put(annotation.value().toUpperCase().trim(), (IService) bean);
|
|
||||||
}
|
|
||||||
return bean;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取控制器
|
|
||||||
*/
|
|
||||||
public IService getHandler(String value) {
|
|
||||||
String upperCase = value.toUpperCase().trim();
|
|
||||||
IService iService = this.handlerMap.get(upperCase);
|
|
||||||
return iService;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,112 +0,0 @@
|
|||||||
package com.lyr.gather.kis.domain.vo;
|
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.sql.Timestamp;
|
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author liyc
|
|
||||||
* @date 2024/11/1
|
|
||||||
* @description TODO
|
|
||||||
**/
|
|
||||||
@Data
|
|
||||||
public class TSupplierVO implements Serializable {
|
|
||||||
|
|
||||||
|
|
||||||
private Integer fItemId;
|
|
||||||
private String fAddress;
|
|
||||||
private String fCity;
|
|
||||||
private String fProvince;
|
|
||||||
private String fCountry;
|
|
||||||
private String fPostalCode;
|
|
||||||
private String fPhone;
|
|
||||||
private String fFax;
|
|
||||||
private String fEmail;
|
|
||||||
private String fHomePage;
|
|
||||||
private String fCreditLimit;
|
|
||||||
private String fTaxId;
|
|
||||||
private String fBank;
|
|
||||||
private String fAccount;
|
|
||||||
private String fBrNo;
|
|
||||||
private Integer fBoundAttr;
|
|
||||||
private Integer fErpClsId;
|
|
||||||
private String fShortName;
|
|
||||||
private Integer fPriorityId;
|
|
||||||
private Integer fPGroupId;
|
|
||||||
private Integer fStatus;
|
|
||||||
private Integer fLanguageId;
|
|
||||||
private Integer fRegionId;
|
|
||||||
private Integer fTrade;
|
|
||||||
private Double fMinPoValue;
|
|
||||||
private Double fMaxDebitDate;
|
|
||||||
private String fLegalPerson;
|
|
||||||
private String fContact;
|
|
||||||
private String fContactAcct;
|
|
||||||
private String fPhoneAcct;
|
|
||||||
private String fFaxAcct;
|
|
||||||
private String fZipAcct;
|
|
||||||
private String fEmailAcct;
|
|
||||||
private String fAddrAcct;
|
|
||||||
private Float fTax;
|
|
||||||
private Integer fCyId;
|
|
||||||
private Integer fSetId;
|
|
||||||
private Integer fSetDLineId;
|
|
||||||
private String fTaxNum;
|
|
||||||
private Integer fPriceClsId;
|
|
||||||
private Integer fOperId;
|
|
||||||
private String fCiqNumber;
|
|
||||||
private Short fDeleted;
|
|
||||||
private Short fSaleMode;
|
|
||||||
private String fName;
|
|
||||||
private String fNumber;
|
|
||||||
private Integer fParentId;
|
|
||||||
private String fShortNumber;
|
|
||||||
private Integer fArAccountId;
|
|
||||||
private Integer fApAccountId;
|
|
||||||
private Integer fPreAcctId;
|
|
||||||
private BigDecimal fLastTradeAmount;
|
|
||||||
private BigDecimal fLastRPAmount;
|
|
||||||
private String fFavorPolicy;
|
|
||||||
private Integer fDepartment;
|
|
||||||
private Integer fEmployee;
|
|
||||||
private String fCorperate;
|
|
||||||
private Date fBeginTradeDate;
|
|
||||||
private Date fEndTradeDate;
|
|
||||||
private Date fLastTradeDate;
|
|
||||||
private Date fLastReceiveDate;
|
|
||||||
private String fCashDiscount;
|
|
||||||
private Integer fCurrencyId;
|
|
||||||
private Double fMaxDealAmount;
|
|
||||||
private Double fMinForeReceiveRate;
|
|
||||||
private Double fMinReserveRate;
|
|
||||||
private Double fMaxForePayAmount;
|
|
||||||
private Double fMaxForePayRate;
|
|
||||||
private Integer fDebtLevel;
|
|
||||||
private Integer fCreditDays;
|
|
||||||
private BigDecimal fValueAddRate;
|
|
||||||
private Integer fPayTaxAcctId;
|
|
||||||
private BigDecimal fDiscount;
|
|
||||||
private Integer fTypeId;
|
|
||||||
private BigDecimal fCreditAmount;
|
|
||||||
private String fCreditLevel;
|
|
||||||
private Integer fStockIdAssignee;
|
|
||||||
private Integer fBr;
|
|
||||||
private String fRegmark;
|
|
||||||
private Boolean fLicAndPermit;
|
|
||||||
private String fLicence;
|
|
||||||
private Date fPaperPeriod;
|
|
||||||
private Integer fAlarmPeriod;
|
|
||||||
private Integer fOtherArAcctId;
|
|
||||||
private Integer fOtherApAcctId;
|
|
||||||
private Integer fPreArAcctId;
|
|
||||||
private String fHelpCode;
|
|
||||||
private Timestamp fModifyTime;
|
|
||||||
private Integer fCreditDegree;
|
|
||||||
private String fRightUserId;
|
|
||||||
private Integer fPaymentTime;
|
|
||||||
private String fSMSPhoneNumber;
|
|
||||||
private String fFullName;
|
|
||||||
}
|
|
@ -1,29 +0,0 @@
|
|||||||
package com.lyr.gather.kis.mapper;
|
|
||||||
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
||||||
import com.lyr.common.annotation.DataSource;
|
|
||||||
import com.lyr.gather.kis.domain.model.TSupplier;
|
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
|
||||||
import org.apache.ibatis.annotations.Param;
|
|
||||||
import org.apache.ibatis.annotations.Select;
|
|
||||||
|
|
||||||
@Mapper
|
|
||||||
public interface TSupplierMapper extends BaseMapper<TSupplier> {
|
|
||||||
|
|
||||||
|
|
||||||
@DataSource(name = "#dataSource")
|
|
||||||
@Select("SELECT " + //
|
|
||||||
"s.FItemID, " + //
|
|
||||||
"s.FSaleMode, " + //
|
|
||||||
"s.FName, " + //
|
|
||||||
"s.FNumber, " + //
|
|
||||||
"s.FParentID, " + //
|
|
||||||
"s.FShortNumber, " + //
|
|
||||||
"s.FHelpCode, " + //
|
|
||||||
"s.FFullName " + //
|
|
||||||
"FROM t_Supplier s")
|
|
||||||
IPage<TSupplier> page(@Param("page") Page page, @Param("dataSource") String dataSource);
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
package com.lyr.gather.kis.service;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
|
||||||
import com.lyr.gather.kis.domain.model.TSupplier;
|
|
||||||
import com.lyr.gather.kis.domain.vo.TSupplierVO;
|
|
||||||
|
|
||||||
public interface TSupplierService extends IService<TSupplier> {
|
|
||||||
|
|
||||||
IPage<TSupplierVO> page(Integer pageNum, Integer pageSize, String dataSource);
|
|
||||||
}
|
|
@ -1,44 +0,0 @@
|
|||||||
package com.lyr.gather.kis.service.impl;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
||||||
import com.lyr.gather.kis.convert.TSupplierConvert;
|
|
||||||
import com.lyr.gather.kis.domain.model.TSupplier;
|
|
||||||
import com.lyr.gather.kis.domain.vo.TSupplierVO;
|
|
||||||
import com.lyr.gather.kis.mapper.TSupplierMapper;
|
|
||||||
import com.lyr.gather.kis.service.TSupplierService;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author liyc
|
|
||||||
* @date 2024/11/1
|
|
||||||
* @description TODO
|
|
||||||
**/
|
|
||||||
@Service
|
|
||||||
@TableName("t_Supplier")
|
|
||||||
public class TSupplierServiceImpl extends ServiceImpl<TSupplierMapper, TSupplier> implements TSupplierService {
|
|
||||||
|
|
||||||
|
|
||||||
@Resource
|
|
||||||
private TSupplierMapper tSupplierMapper;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public IPage<TSupplierVO> page(Integer pageNum, Integer pageSize, String dataSource) {
|
|
||||||
IPage<TSupplierVO> page = tSupplierMapper.page(new Page(pageNum, pageSize), dataSource).convert(TSupplierConvert.INSTANCE::convertVO);
|
|
||||||
return page;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<TSupplier> listByMap(Map<String, Object> columnMap) {
|
|
||||||
Object object = columnMap.get(this.getClass().getName());
|
|
||||||
IPage<TSupplier> paged = this.page(1, Integer.MAX_VALUE, object.toString()) //
|
|
||||||
.convert(TSupplierConvert.INSTANCE::convert);
|
|
||||||
return paged.getRecords();
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,88 +0,0 @@
|
|||||||
package com.lyr.gather.local.controller;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
||||||
import com.lyr.common.annotation.Log;
|
|
||||||
import com.lyr.common.core.controller.BaseController;
|
|
||||||
import com.lyr.common.core.domain.AjaxResult;
|
|
||||||
import com.lyr.common.core.page.TableDataInfo;
|
|
||||||
import com.lyr.common.enums.BusinessType;
|
|
||||||
import com.lyr.gather.local.domain.req.ConfigTaskEditReq;
|
|
||||||
import com.lyr.gather.local.domain.req.ConfigTaskReq;
|
|
||||||
import com.lyr.gather.local.domain.vo.ConfigTaskPageVO;
|
|
||||||
import com.lyr.gather.local.service.IConfigTaskService;
|
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
|
||||||
import org.springframework.web.bind.annotation.*;
|
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author liyc
|
|
||||||
* @date 2024/11/5
|
|
||||||
* @description TODO
|
|
||||||
**/
|
|
||||||
@RestController
|
|
||||||
@RequestMapping("/gather/task")
|
|
||||||
public class ConfigTaskController extends BaseController {
|
|
||||||
|
|
||||||
|
|
||||||
@Resource
|
|
||||||
private IConfigTaskService configTaskService;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询数据源配置列表
|
|
||||||
*/
|
|
||||||
@PreAuthorize("@ss.hasPermi('gather:task:list')")
|
|
||||||
@GetMapping("/page")
|
|
||||||
public TableDataInfo page(ConfigTaskReq req) {
|
|
||||||
IPage<ConfigTaskPageVO> page = configTaskService.page(req);
|
|
||||||
return getDataTable(page);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取数据源配置详细信息
|
|
||||||
*/
|
|
||||||
@PreAuthorize("@ss.hasPermi('gather:task:query')")
|
|
||||||
@GetMapping(value = "/{id}")
|
|
||||||
public AjaxResult getInfo(@PathVariable("id") Long id) {
|
|
||||||
return success(configTaskService.getInfo(id));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 新增数据源配置
|
|
||||||
*/
|
|
||||||
@PreAuthorize("@ss.hasPermi('gather:task:add')")
|
|
||||||
@Log(title = "数据源配置", businessType = BusinessType.INSERT)
|
|
||||||
@PostMapping
|
|
||||||
public AjaxResult add(@RequestBody ConfigTaskEditReq req) {
|
|
||||||
return toAjax(configTaskService.add(req));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 修改数据源配置
|
|
||||||
*/
|
|
||||||
@PreAuthorize("@ss.hasPermi('gather:task:edit')")
|
|
||||||
@Log(title = "数据源配置", businessType = BusinessType.UPDATE)
|
|
||||||
@PutMapping
|
|
||||||
public AjaxResult edit(@RequestBody ConfigTaskEditReq req) {
|
|
||||||
return toAjax(configTaskService.edit(req));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 删除数据源配置
|
|
||||||
*/
|
|
||||||
@PreAuthorize("@ss.hasPermi('gather:task:remove')")
|
|
||||||
@Log(title = "数据源配置", businessType = BusinessType.DELETE)
|
|
||||||
@DeleteMapping("/{ids}")
|
|
||||||
public AjaxResult remove(@PathVariable Long[] ids) {
|
|
||||||
return toAjax(configTaskService.remove(ids));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@PostMapping("/sync")
|
|
||||||
public AjaxResult sync(@RequestParam("dataSource") String dataSource, @RequestParam("tableName") String tableName) {
|
|
||||||
return AjaxResult.success(configTaskService.sync(dataSource, tableName));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
@ -1,54 +0,0 @@
|
|||||||
package com.lyr.gather.local.controller;
|
|
||||||
|
|
||||||
import com.lyr.common.core.domain.AjaxResult;
|
|
||||||
import com.lyr.common.core.domain.ServiceResult;
|
|
||||||
import com.lyr.gather.local.domain.DataSourceConfigDTO;
|
|
||||||
import com.lyr.gather.local.domain.vo.DataSourceConfigNavVO;
|
|
||||||
import com.lyr.gather.local.service.DataSourceConfigService;
|
|
||||||
import org.springframework.validation.annotation.Validated;
|
|
||||||
import org.springframework.web.bind.annotation.*;
|
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
import javax.validation.constraints.NotNull;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author liyc
|
|
||||||
* @date 2024/10/30
|
|
||||||
* @description TODO
|
|
||||||
**/
|
|
||||||
@Validated
|
|
||||||
@RestController
|
|
||||||
@RequestMapping("/gather")
|
|
||||||
public class DataSourceConfigController {
|
|
||||||
|
|
||||||
|
|
||||||
@Resource
|
|
||||||
private DataSourceConfigService dataSourceConfigService;
|
|
||||||
|
|
||||||
|
|
||||||
@GetMapping("/nav")
|
|
||||||
public AjaxResult nav() {
|
|
||||||
List<DataSourceConfigNavVO> list = dataSourceConfigService.nav();
|
|
||||||
return AjaxResult.success(list);
|
|
||||||
}
|
|
||||||
|
|
||||||
// sef_def_sign
|
|
||||||
@GetMapping("/print")
|
|
||||||
public void print() {
|
|
||||||
dataSourceConfigService.print();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@GetMapping("/add")
|
|
||||||
public AjaxResult add(@RequestBody DataSourceConfigDTO dto) {
|
|
||||||
ServiceResult serviceResult = dataSourceConfigService.add(dto);
|
|
||||||
return AjaxResult.success(serviceResult);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@GetMapping("/list/{dataSource}")
|
|
||||||
public void list(@NotNull(message = "数据源名称不能为空") @PathVariable("dataSource") String datasourceName) {
|
|
||||||
dataSourceConfigService.list(datasourceName, null);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,16 +0,0 @@
|
|||||||
package com.lyr.gather.local.convert;
|
|
||||||
|
|
||||||
import com.lyr.gather.local.domain.model.ConfigTask;
|
|
||||||
import com.lyr.gather.local.domain.vo.ConfigTaskPageVO;
|
|
||||||
import org.mapstruct.Mapper;
|
|
||||||
import org.mapstruct.factory.Mappers;
|
|
||||||
|
|
||||||
@Mapper
|
|
||||||
public interface ConfigTaskConvert {
|
|
||||||
|
|
||||||
|
|
||||||
ConfigTaskConvert INSTANCE = Mappers.getMapper(ConfigTaskConvert.class);
|
|
||||||
|
|
||||||
|
|
||||||
ConfigTaskPageVO convertVO(ConfigTask configTask);
|
|
||||||
}
|
|
@ -1,19 +0,0 @@
|
|||||||
package com.lyr.gather.local.convert;
|
|
||||||
|
|
||||||
|
|
||||||
import com.alibaba.druid.pool.DruidDataSource;
|
|
||||||
import com.lyr.gather.local.domain.DataSourceConfigDTO;
|
|
||||||
import com.lyr.gather.local.domain.model.DataSourceConfig;
|
|
||||||
import com.lyr.gather.local.domain.vo.DataSourceConfigNavVO;
|
|
||||||
import org.mapstruct.Mapper;
|
|
||||||
import org.mapstruct.factory.Mappers;
|
|
||||||
|
|
||||||
@Mapper
|
|
||||||
public interface DataSourceConfigConvert {
|
|
||||||
|
|
||||||
DataSourceConfigConvert INSTANCE = Mappers.getMapper(DataSourceConfigConvert.class);
|
|
||||||
|
|
||||||
DruidDataSource convert(DataSourceConfigDTO bean);
|
|
||||||
|
|
||||||
DataSourceConfigNavVO convertVO(DataSourceConfig bean);
|
|
||||||
}
|
|
@ -1,27 +0,0 @@
|
|||||||
package com.lyr.gather.local.domain;
|
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
import org.apache.ibatis.annotations.Insert;
|
|
||||||
|
|
||||||
import javax.validation.constraints.NotNull;
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author liyc
|
|
||||||
* @date 2024/10/31
|
|
||||||
* @description TODO
|
|
||||||
**/
|
|
||||||
@Data
|
|
||||||
public class DataSourceConfigDTO implements Serializable {
|
|
||||||
|
|
||||||
@NotNull(message = "【name】不能为空", groups = {Insert.class})
|
|
||||||
protected String name;
|
|
||||||
@NotNull(message = "【username】不能为空", groups = {Insert.class})
|
|
||||||
protected volatile String username;
|
|
||||||
@NotNull(message = "【password】不能为空", groups = {Insert.class})
|
|
||||||
protected volatile String password;
|
|
||||||
@NotNull(message = "【jdbcUrl】不能为空", groups = {Insert.class})
|
|
||||||
protected volatile String jdbcUrl;
|
|
||||||
@NotNull(message = "【driverClass】不能为空", groups = {Insert.class})
|
|
||||||
protected volatile String driverClass;
|
|
||||||
}
|
|
@ -1,9 +0,0 @@
|
|||||||
package com.lyr.gather.local.domain.req;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author liyc
|
|
||||||
* @date 2024/11/5
|
|
||||||
* @description TODO
|
|
||||||
**/
|
|
||||||
public class ConfigTaskEditReq {
|
|
||||||
}
|
|
@ -1,51 +0,0 @@
|
|||||||
package com.lyr.gather.local.domain.req;
|
|
||||||
|
|
||||||
import com.lyr.common.annotation.Excel;
|
|
||||||
import com.lyr.common.core.page.PageDomain;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author liyc
|
|
||||||
* @date 2024/11/5
|
|
||||||
* @description TODO
|
|
||||||
**/
|
|
||||||
|
|
||||||
@Data
|
|
||||||
public class ConfigTaskReq extends PageDomain {
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 表名
|
|
||||||
*/
|
|
||||||
@Excel(name = "表名")
|
|
||||||
private String tableName;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 明细
|
|
||||||
*/
|
|
||||||
@Excel(name = "明细")
|
|
||||||
private String tableDescription;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 备注
|
|
||||||
*/
|
|
||||||
@Excel(name = "备注")
|
|
||||||
private String tableNote;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 0禁用/ 1启用
|
|
||||||
*/
|
|
||||||
@Excel(name = "0禁用/ 1启用")
|
|
||||||
private Integer enable;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* cron表达式
|
|
||||||
*/
|
|
||||||
@Excel(name = "cron表达式")
|
|
||||||
private String cron;
|
|
||||||
|
|
||||||
|
|
||||||
private String name;
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
@ -1,10 +0,0 @@
|
|||||||
package com.lyr.gather.local.domain.vo;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author liyc
|
|
||||||
* @date 2024/11/5
|
|
||||||
* @description TODO
|
|
||||||
**/
|
|
||||||
public class ConfigTaskInfoVO
|
|
||||||
{
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
package com.lyr.gather.local.mapper;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
||||||
import com.lyr.gather.local.domain.model.ConfigTask;
|
|
||||||
|
|
||||||
public interface ConfigTaskMapper extends BaseMapper<ConfigTask> {
|
|
||||||
}
|
|
@ -1,9 +0,0 @@
|
|||||||
package com.lyr.gather.local.mapper;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
||||||
import com.lyr.gather.local.domain.model.DataSourceConfig;
|
|
||||||
|
|
||||||
public interface DataSourceConfigMapper extends BaseMapper<DataSourceConfig> {
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
@ -1,23 +0,0 @@
|
|||||||
package com.lyr.gather.local.service;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
|
||||||
import com.lyr.common.core.domain.ServiceResult;
|
|
||||||
import com.lyr.gather.local.domain.DataSourceConfigDTO;
|
|
||||||
import com.lyr.gather.local.domain.model.DataSourceConfig;
|
|
||||||
import com.lyr.gather.local.domain.vo.DataSourceConfigNavVO;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public interface DataSourceConfigService extends IService<DataSourceConfig> {
|
|
||||||
|
|
||||||
List<DataSourceConfigNavVO> nav();
|
|
||||||
|
|
||||||
void print();
|
|
||||||
|
|
||||||
ServiceResult add(DataSourceConfigDTO dto);
|
|
||||||
|
|
||||||
void remove(String[] ids);
|
|
||||||
|
|
||||||
void list(String s, Object o);
|
|
||||||
|
|
||||||
}
|
|
@ -1,30 +0,0 @@
|
|||||||
package com.lyr.gather.local.service;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
|
||||||
import com.lyr.gather.local.domain.model.ConfigTask;
|
|
||||||
import com.lyr.gather.local.domain.req.ConfigTaskEditReq;
|
|
||||||
import com.lyr.gather.local.domain.req.ConfigTaskReq;
|
|
||||||
import com.lyr.gather.local.domain.vo.ConfigTaskInfoVO;
|
|
||||||
import com.lyr.gather.local.domain.vo.ConfigTaskPageVO;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author liyc
|
|
||||||
* @date 2024/11/5
|
|
||||||
* @description TODO
|
|
||||||
**/
|
|
||||||
public interface IConfigTaskService extends IService<ConfigTask> {
|
|
||||||
|
|
||||||
|
|
||||||
IPage<ConfigTaskPageVO> page(ConfigTaskReq req);
|
|
||||||
|
|
||||||
ConfigTaskInfoVO getInfo(Long id);
|
|
||||||
|
|
||||||
int add(ConfigTaskEditReq req);
|
|
||||||
|
|
||||||
int edit(ConfigTaskEditReq req);
|
|
||||||
|
|
||||||
int remove(Long[] ids);
|
|
||||||
|
|
||||||
int sync(String dataSource, String tableName);
|
|
||||||
}
|
|
@ -1,83 +0,0 @@
|
|||||||
package com.lyr.gather.local.service.impl;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
||||||
import com.google.common.collect.ImmutableMap;
|
|
||||||
import com.lyr.common.core.redis.RedisCache;
|
|
||||||
import com.lyr.gather.kis.domain.model.TSupplier;
|
|
||||||
import com.lyr.gather.kis.domain.strategy.SyncServicesStrategyContext;
|
|
||||||
import com.lyr.gather.local.convert.ConfigTaskConvert;
|
|
||||||
import com.lyr.gather.local.domain.model.ConfigTask;
|
|
||||||
import com.lyr.gather.local.domain.req.ConfigTaskEditReq;
|
|
||||||
import com.lyr.gather.local.domain.req.ConfigTaskReq;
|
|
||||||
import com.lyr.gather.local.domain.vo.ConfigTaskInfoVO;
|
|
||||||
import com.lyr.gather.local.domain.vo.ConfigTaskPageVO;
|
|
||||||
import com.lyr.gather.local.mapper.ConfigTaskMapper;
|
|
||||||
import com.lyr.gather.local.service.IConfigTaskService;
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author liyc
|
|
||||||
* @date 2024/11/5
|
|
||||||
* @description TODO
|
|
||||||
**/
|
|
||||||
@Service
|
|
||||||
public class ConfigTaskServiceImpl extends ServiceImpl<ConfigTaskMapper, ConfigTask> implements IConfigTaskService {
|
|
||||||
|
|
||||||
@Resource
|
|
||||||
private ConfigTaskMapper configTaskMapper;
|
|
||||||
@Resource
|
|
||||||
private SyncServicesStrategyContext syncServicesStrategyContext;
|
|
||||||
@Resource
|
|
||||||
private RedisCache redisCache;
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public IPage<ConfigTaskPageVO> page(ConfigTaskReq req) {
|
|
||||||
IPage<ConfigTaskPageVO> page = this.lambdaQuery() //
|
|
||||||
.eq(ConfigTask::getDataSource, req.getName())//
|
|
||||||
.eq(req.getEnable() != null, ConfigTask::getEnable, req.getEnable()) //
|
|
||||||
.like(StringUtils.isNoneEmpty(req.getTableName()), ConfigTask::getTableName, req.getTableName())//
|
|
||||||
.like(StringUtils.isNoneEmpty(req.getTableDescription()), ConfigTask::getTableDescription, req.getTableDescription())//
|
|
||||||
.like(StringUtils.isNoneEmpty(req.getTableNote()), ConfigTask::getTableNote, req.getTableNote())//
|
|
||||||
.page(req.toPage()) //
|
|
||||||
.convert(configTask -> ConfigTaskConvert.INSTANCE.convertVO((ConfigTask) configTask));
|
|
||||||
return page;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public ConfigTaskInfoVO getInfo(Long id) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int add(ConfigTaskEditReq req) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int edit(ConfigTaskEditReq req) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int remove(Long[] ids) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int sync(String dataSource, String tableName) {
|
|
||||||
IService<TSupplier> handler = syncServicesStrategyContext.getHandler(tableName);
|
|
||||||
List<TSupplier> tSuppliers = handler.listByMap(ImmutableMap.of(handler.getClass().getName(), dataSource));
|
|
||||||
long cacheList = redisCache.setCacheList(tableName, tSuppliers);
|
|
||||||
System.out.println("cacheList = " + cacheList);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
@ -1,80 +0,0 @@
|
|||||||
package com.lyr.gather.local.service.impl;
|
|
||||||
|
|
||||||
import com.alibaba.druid.pool.DruidDataSource;
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
||||||
import com.lyr.common.core.domain.ServiceResult;
|
|
||||||
import com.lyr.common.utils.bean.BeanValidators;
|
|
||||||
import com.lyr.framework.manager.DataSourceManager;
|
|
||||||
import com.lyr.gather.kis.mapper.TSupplierMapper;
|
|
||||||
import com.lyr.gather.local.convert.DataSourceConfigConvert;
|
|
||||||
import com.lyr.gather.local.domain.DataSourceConfigDTO;
|
|
||||||
import com.lyr.gather.local.domain.model.DataSourceConfig;
|
|
||||||
import com.lyr.gather.local.domain.vo.DataSourceConfigNavVO;
|
|
||||||
import com.lyr.gather.local.mapper.DataSourceConfigMapper;
|
|
||||||
import com.lyr.gather.local.service.DataSourceConfigService;
|
|
||||||
import org.apache.ibatis.annotations.Insert;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
import javax.validation.Validator;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
@Service
|
|
||||||
public class DataSourceConfigServiceImpl extends ServiceImpl<DataSourceConfigMapper, DataSourceConfig> implements DataSourceConfigService {
|
|
||||||
|
|
||||||
@Resource
|
|
||||||
private DataSourceManager dataSourceManager;
|
|
||||||
@Resource
|
|
||||||
private TSupplierMapper tSupplierMapper;
|
|
||||||
@Resource
|
|
||||||
private Validator validator;
|
|
||||||
|
|
||||||
|
|
||||||
@PostConstruct
|
|
||||||
private void registered() {
|
|
||||||
List<DataSourceConfig> configList = this.lambdaQuery().eq(DataSourceConfig::getIsEnabled, 1).list();
|
|
||||||
configList.stream().forEach(e -> {
|
|
||||||
DruidDataSource dataSource = new DruidDataSource();
|
|
||||||
dataSource.setDriverClassName(e.getDriverClassName());
|
|
||||||
dataSource.setUrl(e.getUrl());
|
|
||||||
dataSource.setUsername(e.getUsername());
|
|
||||||
dataSource.setPassword(e.getPassword());
|
|
||||||
dataSource.setName(e.getName());
|
|
||||||
dataSourceManager.defaultDataSourceConfiguration(dataSource, DataSourceManager.RegisterType.LOAD);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<DataSourceConfigNavVO> nav() {
|
|
||||||
return this.lambdaQuery().list().stream().map(e -> DataSourceConfigConvert.INSTANCE.convertVO(e)).collect(Collectors.toList());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void print() {
|
|
||||||
dataSourceManager.print();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public ServiceResult add(DataSourceConfigDTO dto) {
|
|
||||||
BeanValidators.validateWithException(validator, dto, Insert.class);
|
|
||||||
DruidDataSource dataSource = DataSourceConfigConvert.INSTANCE.convert(dto);
|
|
||||||
dataSource.setDriverClassName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
|
|
||||||
dataSourceManager.defaultDataSourceConfiguration(dataSource, DataSourceManager.RegisterType.ADD);
|
|
||||||
return ServiceResult.success(dto.getName());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void remove(String[] ids) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void list(String datasourceName, Object o) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
@ -1,223 +0,0 @@
|
|||||||
package com.lyr.gather.kis.convert;
|
|
||||||
|
|
||||||
import com.lyr.gather.kis.domain.model.TSupplier;
|
|
||||||
import com.lyr.gather.kis.domain.vo.TSupplierVO;
|
|
||||||
import javax.annotation.Generated;
|
|
||||||
|
|
||||||
@Generated(
|
|
||||||
value = "org.mapstruct.ap.MappingProcessor",
|
|
||||||
date = "2024-11-07T18:23:20+0800",
|
|
||||||
comments = "version: 1.6.2, compiler: javac, environment: Java 1.8.0_392 (Amazon.com Inc.)"
|
|
||||||
)
|
|
||||||
public class TSupplierConvertImpl implements TSupplierConvert {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public TSupplierVO convertVO(TSupplier bean) {
|
|
||||||
if ( bean == null ) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
TSupplierVO tSupplierVO = new TSupplierVO();
|
|
||||||
|
|
||||||
tSupplierVO.setFItemId( bean.getFItemId() );
|
|
||||||
tSupplierVO.setFAddress( bean.getFAddress() );
|
|
||||||
tSupplierVO.setFCity( bean.getFCity() );
|
|
||||||
tSupplierVO.setFProvince( bean.getFProvince() );
|
|
||||||
tSupplierVO.setFCountry( bean.getFCountry() );
|
|
||||||
tSupplierVO.setFPostalCode( bean.getFPostalCode() );
|
|
||||||
tSupplierVO.setFPhone( bean.getFPhone() );
|
|
||||||
tSupplierVO.setFFax( bean.getFFax() );
|
|
||||||
tSupplierVO.setFEmail( bean.getFEmail() );
|
|
||||||
tSupplierVO.setFHomePage( bean.getFHomePage() );
|
|
||||||
tSupplierVO.setFCreditLimit( bean.getFCreditLimit() );
|
|
||||||
tSupplierVO.setFTaxId( bean.getFTaxId() );
|
|
||||||
tSupplierVO.setFBank( bean.getFBank() );
|
|
||||||
tSupplierVO.setFAccount( bean.getFAccount() );
|
|
||||||
tSupplierVO.setFBrNo( bean.getFBrNo() );
|
|
||||||
tSupplierVO.setFBoundAttr( bean.getFBoundAttr() );
|
|
||||||
tSupplierVO.setFErpClsId( bean.getFErpClsId() );
|
|
||||||
tSupplierVO.setFShortName( bean.getFShortName() );
|
|
||||||
tSupplierVO.setFPriorityId( bean.getFPriorityId() );
|
|
||||||
tSupplierVO.setFPGroupId( bean.getFPGroupId() );
|
|
||||||
tSupplierVO.setFStatus( bean.getFStatus() );
|
|
||||||
tSupplierVO.setFLanguageId( bean.getFLanguageId() );
|
|
||||||
tSupplierVO.setFRegionId( bean.getFRegionId() );
|
|
||||||
tSupplierVO.setFTrade( bean.getFTrade() );
|
|
||||||
tSupplierVO.setFMinPoValue( bean.getFMinPoValue() );
|
|
||||||
tSupplierVO.setFMaxDebitDate( bean.getFMaxDebitDate() );
|
|
||||||
tSupplierVO.setFLegalPerson( bean.getFLegalPerson() );
|
|
||||||
tSupplierVO.setFContact( bean.getFContact() );
|
|
||||||
tSupplierVO.setFContactAcct( bean.getFContactAcct() );
|
|
||||||
tSupplierVO.setFPhoneAcct( bean.getFPhoneAcct() );
|
|
||||||
tSupplierVO.setFFaxAcct( bean.getFFaxAcct() );
|
|
||||||
tSupplierVO.setFZipAcct( bean.getFZipAcct() );
|
|
||||||
tSupplierVO.setFEmailAcct( bean.getFEmailAcct() );
|
|
||||||
tSupplierVO.setFAddrAcct( bean.getFAddrAcct() );
|
|
||||||
tSupplierVO.setFTax( bean.getFTax() );
|
|
||||||
tSupplierVO.setFCyId( bean.getFCyId() );
|
|
||||||
tSupplierVO.setFSetId( bean.getFSetId() );
|
|
||||||
tSupplierVO.setFSetDLineId( bean.getFSetDLineId() );
|
|
||||||
tSupplierVO.setFTaxNum( bean.getFTaxNum() );
|
|
||||||
tSupplierVO.setFPriceClsId( bean.getFPriceClsId() );
|
|
||||||
tSupplierVO.setFOperId( bean.getFOperId() );
|
|
||||||
tSupplierVO.setFCiqNumber( bean.getFCiqNumber() );
|
|
||||||
tSupplierVO.setFDeleted( bean.getFDeleted() );
|
|
||||||
tSupplierVO.setFSaleMode( bean.getFSaleMode() );
|
|
||||||
tSupplierVO.setFName( bean.getFName() );
|
|
||||||
tSupplierVO.setFNumber( bean.getFNumber() );
|
|
||||||
tSupplierVO.setFParentId( bean.getFParentId() );
|
|
||||||
tSupplierVO.setFShortNumber( bean.getFShortNumber() );
|
|
||||||
tSupplierVO.setFArAccountId( bean.getFArAccountId() );
|
|
||||||
tSupplierVO.setFApAccountId( bean.getFApAccountId() );
|
|
||||||
tSupplierVO.setFPreAcctId( bean.getFPreAcctId() );
|
|
||||||
tSupplierVO.setFLastTradeAmount( bean.getFLastTradeAmount() );
|
|
||||||
tSupplierVO.setFLastRPAmount( bean.getFLastRPAmount() );
|
|
||||||
tSupplierVO.setFFavorPolicy( bean.getFFavorPolicy() );
|
|
||||||
tSupplierVO.setFDepartment( bean.getFDepartment() );
|
|
||||||
tSupplierVO.setFEmployee( bean.getFEmployee() );
|
|
||||||
tSupplierVO.setFCorperate( bean.getFCorperate() );
|
|
||||||
tSupplierVO.setFBeginTradeDate( bean.getFBeginTradeDate() );
|
|
||||||
tSupplierVO.setFEndTradeDate( bean.getFEndTradeDate() );
|
|
||||||
tSupplierVO.setFLastTradeDate( bean.getFLastTradeDate() );
|
|
||||||
tSupplierVO.setFLastReceiveDate( bean.getFLastReceiveDate() );
|
|
||||||
tSupplierVO.setFCashDiscount( bean.getFCashDiscount() );
|
|
||||||
tSupplierVO.setFCurrencyId( bean.getFCurrencyId() );
|
|
||||||
tSupplierVO.setFMaxDealAmount( bean.getFMaxDealAmount() );
|
|
||||||
tSupplierVO.setFMinForeReceiveRate( bean.getFMinForeReceiveRate() );
|
|
||||||
tSupplierVO.setFMinReserveRate( bean.getFMinReserveRate() );
|
|
||||||
tSupplierVO.setFMaxForePayAmount( bean.getFMaxForePayAmount() );
|
|
||||||
tSupplierVO.setFMaxForePayRate( bean.getFMaxForePayRate() );
|
|
||||||
tSupplierVO.setFDebtLevel( bean.getFDebtLevel() );
|
|
||||||
tSupplierVO.setFCreditDays( bean.getFCreditDays() );
|
|
||||||
tSupplierVO.setFValueAddRate( bean.getFValueAddRate() );
|
|
||||||
tSupplierVO.setFPayTaxAcctId( bean.getFPayTaxAcctId() );
|
|
||||||
tSupplierVO.setFDiscount( bean.getFDiscount() );
|
|
||||||
tSupplierVO.setFTypeId( bean.getFTypeId() );
|
|
||||||
tSupplierVO.setFCreditAmount( bean.getFCreditAmount() );
|
|
||||||
tSupplierVO.setFCreditLevel( bean.getFCreditLevel() );
|
|
||||||
tSupplierVO.setFStockIdAssignee( bean.getFStockIdAssignee() );
|
|
||||||
tSupplierVO.setFBr( bean.getFBr() );
|
|
||||||
tSupplierVO.setFRegmark( bean.getFRegmark() );
|
|
||||||
tSupplierVO.setFLicAndPermit( bean.getFLicAndPermit() );
|
|
||||||
tSupplierVO.setFLicence( bean.getFLicence() );
|
|
||||||
tSupplierVO.setFPaperPeriod( bean.getFPaperPeriod() );
|
|
||||||
tSupplierVO.setFAlarmPeriod( bean.getFAlarmPeriod() );
|
|
||||||
tSupplierVO.setFOtherArAcctId( bean.getFOtherArAcctId() );
|
|
||||||
tSupplierVO.setFOtherApAcctId( bean.getFOtherApAcctId() );
|
|
||||||
tSupplierVO.setFPreArAcctId( bean.getFPreArAcctId() );
|
|
||||||
tSupplierVO.setFHelpCode( bean.getFHelpCode() );
|
|
||||||
tSupplierVO.setFModifyTime( bean.getFModifyTime() );
|
|
||||||
tSupplierVO.setFCreditDegree( bean.getFCreditDegree() );
|
|
||||||
tSupplierVO.setFRightUserId( bean.getFRightUserId() );
|
|
||||||
tSupplierVO.setFPaymentTime( bean.getFPaymentTime() );
|
|
||||||
tSupplierVO.setFSMSPhoneNumber( bean.getFSMSPhoneNumber() );
|
|
||||||
tSupplierVO.setFFullName( bean.getFFullName() );
|
|
||||||
|
|
||||||
return tSupplierVO;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public TSupplier convert(TSupplierVO vo) {
|
|
||||||
if ( vo == null ) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
TSupplier tSupplier = new TSupplier();
|
|
||||||
|
|
||||||
tSupplier.setFItemId( vo.getFItemId() );
|
|
||||||
tSupplier.setFAddress( vo.getFAddress() );
|
|
||||||
tSupplier.setFCity( vo.getFCity() );
|
|
||||||
tSupplier.setFProvince( vo.getFProvince() );
|
|
||||||
tSupplier.setFCountry( vo.getFCountry() );
|
|
||||||
tSupplier.setFPostalCode( vo.getFPostalCode() );
|
|
||||||
tSupplier.setFPhone( vo.getFPhone() );
|
|
||||||
tSupplier.setFFax( vo.getFFax() );
|
|
||||||
tSupplier.setFEmail( vo.getFEmail() );
|
|
||||||
tSupplier.setFHomePage( vo.getFHomePage() );
|
|
||||||
tSupplier.setFCreditLimit( vo.getFCreditLimit() );
|
|
||||||
tSupplier.setFTaxId( vo.getFTaxId() );
|
|
||||||
tSupplier.setFBank( vo.getFBank() );
|
|
||||||
tSupplier.setFAccount( vo.getFAccount() );
|
|
||||||
tSupplier.setFBrNo( vo.getFBrNo() );
|
|
||||||
tSupplier.setFBoundAttr( vo.getFBoundAttr() );
|
|
||||||
tSupplier.setFErpClsId( vo.getFErpClsId() );
|
|
||||||
tSupplier.setFShortName( vo.getFShortName() );
|
|
||||||
tSupplier.setFPriorityId( vo.getFPriorityId() );
|
|
||||||
tSupplier.setFPGroupId( vo.getFPGroupId() );
|
|
||||||
tSupplier.setFStatus( vo.getFStatus() );
|
|
||||||
tSupplier.setFLanguageId( vo.getFLanguageId() );
|
|
||||||
tSupplier.setFRegionId( vo.getFRegionId() );
|
|
||||||
tSupplier.setFTrade( vo.getFTrade() );
|
|
||||||
tSupplier.setFMinPoValue( vo.getFMinPoValue() );
|
|
||||||
tSupplier.setFMaxDebitDate( vo.getFMaxDebitDate() );
|
|
||||||
tSupplier.setFLegalPerson( vo.getFLegalPerson() );
|
|
||||||
tSupplier.setFContact( vo.getFContact() );
|
|
||||||
tSupplier.setFContactAcct( vo.getFContactAcct() );
|
|
||||||
tSupplier.setFPhoneAcct( vo.getFPhoneAcct() );
|
|
||||||
tSupplier.setFFaxAcct( vo.getFFaxAcct() );
|
|
||||||
tSupplier.setFZipAcct( vo.getFZipAcct() );
|
|
||||||
tSupplier.setFEmailAcct( vo.getFEmailAcct() );
|
|
||||||
tSupplier.setFAddrAcct( vo.getFAddrAcct() );
|
|
||||||
tSupplier.setFTax( vo.getFTax() );
|
|
||||||
tSupplier.setFCyId( vo.getFCyId() );
|
|
||||||
tSupplier.setFSetId( vo.getFSetId() );
|
|
||||||
tSupplier.setFSetDLineId( vo.getFSetDLineId() );
|
|
||||||
tSupplier.setFTaxNum( vo.getFTaxNum() );
|
|
||||||
tSupplier.setFPriceClsId( vo.getFPriceClsId() );
|
|
||||||
tSupplier.setFOperId( vo.getFOperId() );
|
|
||||||
tSupplier.setFCiqNumber( vo.getFCiqNumber() );
|
|
||||||
tSupplier.setFDeleted( vo.getFDeleted() );
|
|
||||||
tSupplier.setFSaleMode( vo.getFSaleMode() );
|
|
||||||
tSupplier.setFName( vo.getFName() );
|
|
||||||
tSupplier.setFNumber( vo.getFNumber() );
|
|
||||||
tSupplier.setFParentId( vo.getFParentId() );
|
|
||||||
tSupplier.setFShortNumber( vo.getFShortNumber() );
|
|
||||||
tSupplier.setFArAccountId( vo.getFArAccountId() );
|
|
||||||
tSupplier.setFApAccountId( vo.getFApAccountId() );
|
|
||||||
tSupplier.setFPreAcctId( vo.getFPreAcctId() );
|
|
||||||
tSupplier.setFLastTradeAmount( vo.getFLastTradeAmount() );
|
|
||||||
tSupplier.setFLastRPAmount( vo.getFLastRPAmount() );
|
|
||||||
tSupplier.setFFavorPolicy( vo.getFFavorPolicy() );
|
|
||||||
tSupplier.setFDepartment( vo.getFDepartment() );
|
|
||||||
tSupplier.setFEmployee( vo.getFEmployee() );
|
|
||||||
tSupplier.setFCorperate( vo.getFCorperate() );
|
|
||||||
tSupplier.setFBeginTradeDate( vo.getFBeginTradeDate() );
|
|
||||||
tSupplier.setFEndTradeDate( vo.getFEndTradeDate() );
|
|
||||||
tSupplier.setFLastTradeDate( vo.getFLastTradeDate() );
|
|
||||||
tSupplier.setFLastReceiveDate( vo.getFLastReceiveDate() );
|
|
||||||
tSupplier.setFCashDiscount( vo.getFCashDiscount() );
|
|
||||||
tSupplier.setFCurrencyId( vo.getFCurrencyId() );
|
|
||||||
tSupplier.setFMaxDealAmount( vo.getFMaxDealAmount() );
|
|
||||||
tSupplier.setFMinForeReceiveRate( vo.getFMinForeReceiveRate() );
|
|
||||||
tSupplier.setFMinReserveRate( vo.getFMinReserveRate() );
|
|
||||||
tSupplier.setFMaxForePayAmount( vo.getFMaxForePayAmount() );
|
|
||||||
tSupplier.setFMaxForePayRate( vo.getFMaxForePayRate() );
|
|
||||||
tSupplier.setFDebtLevel( vo.getFDebtLevel() );
|
|
||||||
tSupplier.setFCreditDays( vo.getFCreditDays() );
|
|
||||||
tSupplier.setFValueAddRate( vo.getFValueAddRate() );
|
|
||||||
tSupplier.setFPayTaxAcctId( vo.getFPayTaxAcctId() );
|
|
||||||
tSupplier.setFDiscount( vo.getFDiscount() );
|
|
||||||
tSupplier.setFTypeId( vo.getFTypeId() );
|
|
||||||
tSupplier.setFCreditAmount( vo.getFCreditAmount() );
|
|
||||||
tSupplier.setFCreditLevel( vo.getFCreditLevel() );
|
|
||||||
tSupplier.setFStockIdAssignee( vo.getFStockIdAssignee() );
|
|
||||||
tSupplier.setFBr( vo.getFBr() );
|
|
||||||
tSupplier.setFRegmark( vo.getFRegmark() );
|
|
||||||
tSupplier.setFLicAndPermit( vo.getFLicAndPermit() );
|
|
||||||
tSupplier.setFLicence( vo.getFLicence() );
|
|
||||||
tSupplier.setFPaperPeriod( vo.getFPaperPeriod() );
|
|
||||||
tSupplier.setFAlarmPeriod( vo.getFAlarmPeriod() );
|
|
||||||
tSupplier.setFOtherArAcctId( vo.getFOtherArAcctId() );
|
|
||||||
tSupplier.setFOtherApAcctId( vo.getFOtherApAcctId() );
|
|
||||||
tSupplier.setFPreArAcctId( vo.getFPreArAcctId() );
|
|
||||||
tSupplier.setFHelpCode( vo.getFHelpCode() );
|
|
||||||
tSupplier.setFModifyTime( vo.getFModifyTime() );
|
|
||||||
tSupplier.setFCreditDegree( vo.getFCreditDegree() );
|
|
||||||
tSupplier.setFRightUserId( vo.getFRightUserId() );
|
|
||||||
tSupplier.setFPaymentTime( vo.getFPaymentTime() );
|
|
||||||
tSupplier.setFSMSPhoneNumber( vo.getFSMSPhoneNumber() );
|
|
||||||
tSupplier.setFFullName( vo.getFFullName() );
|
|
||||||
|
|
||||||
return tSupplier;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,31 +0,0 @@
|
|||||||
package com.lyr.gather.local.convert;
|
|
||||||
|
|
||||||
import com.lyr.gather.local.domain.model.ConfigTask;
|
|
||||||
import com.lyr.gather.local.domain.vo.ConfigTaskPageVO;
|
|
||||||
import javax.annotation.Generated;
|
|
||||||
|
|
||||||
@Generated(
|
|
||||||
value = "org.mapstruct.ap.MappingProcessor",
|
|
||||||
date = "2024-11-07T18:23:20+0800",
|
|
||||||
comments = "version: 1.6.2, compiler: javac, environment: Java 1.8.0_392 (Amazon.com Inc.)"
|
|
||||||
)
|
|
||||||
public class ConfigTaskConvertImpl implements ConfigTaskConvert {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public ConfigTaskPageVO convertVO(ConfigTask configTask) {
|
|
||||||
if ( configTask == null ) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
ConfigTaskPageVO configTaskPageVO = new ConfigTaskPageVO();
|
|
||||||
|
|
||||||
configTaskPageVO.setId( configTask.getId() );
|
|
||||||
configTaskPageVO.setTableName( configTask.getTableName() );
|
|
||||||
configTaskPageVO.setTableDescription( configTask.getTableDescription() );
|
|
||||||
configTaskPageVO.setTableNote( configTask.getTableNote() );
|
|
||||||
configTaskPageVO.setEnable( configTask.getEnable() );
|
|
||||||
configTaskPageVO.setCron( configTask.getCron() );
|
|
||||||
|
|
||||||
return configTaskPageVO;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,51 +0,0 @@
|
|||||||
package com.lyr.gather.local.convert;
|
|
||||||
|
|
||||||
import com.alibaba.druid.pool.DruidDataSource;
|
|
||||||
import com.lyr.gather.local.domain.DataSourceConfigDTO;
|
|
||||||
import com.lyr.gather.local.domain.model.DataSourceConfig;
|
|
||||||
import com.lyr.gather.local.domain.vo.DataSourceConfigNavVO;
|
|
||||||
import javax.annotation.Generated;
|
|
||||||
|
|
||||||
@Generated(
|
|
||||||
value = "org.mapstruct.ap.MappingProcessor",
|
|
||||||
date = "2024-11-07T18:23:21+0800",
|
|
||||||
comments = "version: 1.6.2, compiler: javac, environment: Java 1.8.0_392 (Amazon.com Inc.)"
|
|
||||||
)
|
|
||||||
public class DataSourceConfigConvertImpl implements DataSourceConfigConvert {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public DruidDataSource convert(DataSourceConfigDTO bean) {
|
|
||||||
if ( bean == null ) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
DruidDataSource druidDataSource = new DruidDataSource();
|
|
||||||
|
|
||||||
druidDataSource.setName( bean.getName() );
|
|
||||||
druidDataSource.setUsername( bean.getUsername() );
|
|
||||||
druidDataSource.setPassword( bean.getPassword() );
|
|
||||||
|
|
||||||
return druidDataSource;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public DataSourceConfigNavVO convertVO(DataSourceConfig bean) {
|
|
||||||
if ( bean == null ) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
DataSourceConfigNavVO dataSourceConfigNavVO = new DataSourceConfigNavVO();
|
|
||||||
|
|
||||||
dataSourceConfigNavVO.setId( bean.getId() );
|
|
||||||
dataSourceConfigNavVO.setAlias( bean.getAlias() );
|
|
||||||
dataSourceConfigNavVO.setName( bean.getName() );
|
|
||||||
dataSourceConfigNavVO.setDbType( bean.getDbType() );
|
|
||||||
dataSourceConfigNavVO.setUrl( bean.getUrl() );
|
|
||||||
dataSourceConfigNavVO.setUsername( bean.getUsername() );
|
|
||||||
dataSourceConfigNavVO.setPassword( bean.getPassword() );
|
|
||||||
dataSourceConfigNavVO.setDriverClassName( bean.getDriverClassName() );
|
|
||||||
dataSourceConfigNavVO.setIsEnabled( bean.getIsEnabled() );
|
|
||||||
|
|
||||||
return dataSourceConfigNavVO;
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue