diff --git a/nflg_project_dev/nflg-bom-new/pom.xml b/nflg_project_dev/nflg-bom-new/pom.xml new file mode 100644 index 00000000..bc91d14c --- /dev/null +++ b/nflg_project_dev/nflg-bom-new/pom.xml @@ -0,0 +1,112 @@ + + + + product + com.nflg + 1.0-SNAPSHOT + + 4.0.0 + + nflg-bom-new + jar + + + 8 + 8 + UTF-8 + + + + + com.nflg.product.starter + nflg-boot-starter + 1.0-SNAPSHOT + + + com.nflg.product.base.core + nflg.boot.core + 1.0-SNAPSHOT + + + + commons-beanutils + commons-beanutils + + + + org.apache.commons + commons-pool2 + + + + + + org.ttzero + eec + ${eec.version} + + + + + + + org.springframework.boot + spring-boot-starter-data-ldap + + + + + com.belerweb + pinyin4j + 2.5.1 + + + + com.sap.cloud.db.jdbc + ngdbc + 2.4.64 + + + + com.baomidou + dynamic-datasource-spring-boot-starter + 3.2.1 + + + + + + jcifs + jcifs + ${jcifs.version} + + + + com.hierynomus + smbj + 0.11.5 + + + cn.hutool + hutool-all + ${hutool-version} + + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + true + + 2.6.4 + + + + + \ No newline at end of file diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/BomnewApplication.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/BomnewApplication.java new file mode 100644 index 00000000..3e82efe0 --- /dev/null +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/BomnewApplication.java @@ -0,0 +1,27 @@ +package com.nflg; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.context.ConfigurableApplicationContext; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.scheduling.annotation.EnableScheduling; +import org.springframework.transaction.annotation.EnableTransactionManagement; +import springfox.documentation.oas.annotations.EnableOpenApi; + +import java.time.ZoneId; +import java.util.TimeZone; + +@SpringBootApplication +@EnableTransactionManagement(proxyTargetClass = true) +@ComponentScan(basePackages = {"com.nflg.product.bomnew","com.nflg.product.base.core.config","com.nflg.product.base.core.exception"}) +@EnableOpenApi +@EnableDiscoveryClient +@EnableScheduling +public class BomnewApplication { + + public static void main(String[] args) { + TimeZone.setDefault(TimeZone.getTimeZone(ZoneId.SHORT_IDS.get("CTT"))); + final ConfigurableApplicationContext run = SpringApplication.run(BomnewApplication.class, args); + } +} diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/config/DruidStatFilter.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/config/DruidStatFilter.java new file mode 100644 index 00000000..a04f1ab6 --- /dev/null +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/config/DruidStatFilter.java @@ -0,0 +1,14 @@ +package com.nflg.product.bomnew.config; + +import com.alibaba.druid.support.http.WebStatFilter; + +import javax.servlet.annotation.WebFilter; +import javax.servlet.annotation.WebInitParam; + +@WebFilter(filterName = "druidWebStatFilter", urlPatterns = "/*", + initParams = { + @WebInitParam(name = "exclusions", value = "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*")// 忽略资源 + } +) +public class DruidStatFilter extends WebStatFilter { +} diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/config/MasterDataSourceConfig.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/config/MasterDataSourceConfig.java new file mode 100644 index 00000000..0eae6165 --- /dev/null +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/config/MasterDataSourceConfig.java @@ -0,0 +1,137 @@ +package com.nflg.product.bomnew.config; + +import com.alibaba.druid.pool.DruidDataSource; +import com.baomidou.mybatisplus.annotation.DbType; +import com.baomidou.mybatisplus.core.MybatisConfiguration; +import com.baomidou.mybatisplus.core.config.GlobalConfig; +import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; +import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; +import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean; +import com.nflg.product.base.core.config.MybatisPlusHandler; +import org.apache.ibatis.session.SqlSessionFactory; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Primary; +import org.springframework.core.io.support.PathMatchingResourcePatternResolver; +import org.springframework.jdbc.datasource.DataSourceTransactionManager; +import org.springframework.transaction.annotation.EnableTransactionManagement; + +import javax.annotation.Resource; +import javax.sql.DataSource; + +/** + * 主数据源配置 + * @Author 大米 + * @Date 2022-04-27 + */ +@Configuration +@EnableTransactionManagement +@MapperScan(basePackages = MasterDataSourceConfig.PACKAGE, sqlSessionFactoryRef = "masterSqlSessionFactory") +public class MasterDataSourceConfig { + + /** + * Mapper.java包扫描路径 + */ + static final String PACKAGE = "com.nflg.product.material.mapper.master"; + /** + * Mapper.xml包扫描路径 + */ + static final String MAPPER_LOCATION = "classpath*:mapper/master/**/*.xml"; + + /** + * 主数据源地址 + */ + @Value("${master.datasource.url}") + private String url; + + /** + * 主数据源账号 + */ + @Value("${master.datasource.username}") + private String user; + + /** + * 主数据源密码 + */ + @Value("${master.datasource.password}") + private String password; + + /** + * 数据库驱动类 + */ + @Value("${master.datasource.driverClassName}") + private String driverClass; + + + /** + * mybatis 拦截器 + */ + @Resource + MybatisPlusHandler mybatisPlusHandler; + /** + * 加载主数据源信息 + * + * @return + */ + @Primary + @Bean(name = "masterDataSource") + public DataSource masterDataSource() { + DruidDataSource dataSource = new DruidDataSource(); + dataSource.setDriverClassName(driverClass); + dataSource.setUrl(url); + dataSource.setName(user); + dataSource.setPassword(password); + dataSource.setMaxActive(500); + dataSource.setMinIdle(2); + dataSource.setInitialSize(2); + dataSource.setDefaultAutoCommit(false); + return dataSource; + } + + /** + * 事务管理 + * + * @return + */ + @Primary + @Bean(name = "masterTransactionManager") + public DataSourceTransactionManager masterManager() { + return new DataSourceTransactionManager(masterDataSource()); + } + + /** + * SqlSession工厂 + * + * @param masterDataSource + * @return + * @throws Exception + */ + @Primary + @Bean(name = "masterSqlSessionFactory") + public SqlSessionFactory masterSqlSessionFactory(@Qualifier("masterDataSource") DataSource masterDataSource) throws Exception { + final MybatisSqlSessionFactoryBean sqlSessionFactoryBean = new MybatisSqlSessionFactoryBean(); + MybatisConfiguration configuration = new MybatisConfiguration(); + configuration.setMapUnderscoreToCamelCase(true); + configuration.setCallSettersOnNulls(true); + sqlSessionFactoryBean.setConfiguration(configuration); + sqlSessionFactoryBean.setDataSource(masterDataSource); + // 配置拦截器 + sqlSessionFactoryBean.setPlugins(mybatisPlusInterceptor()); + // 配置自动填充功能 + sqlSessionFactoryBean.setGlobalConfig(new GlobalConfig().setMetaObjectHandler(mybatisPlusHandler)); + sqlSessionFactoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(MasterDataSourceConfig.MAPPER_LOCATION)); + return sqlSessionFactoryBean.getObject(); + } + + @Bean + public MybatisPlusInterceptor mybatisPlusInterceptor() { + MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); + interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); + return interceptor; + } + + +} diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/config/NacosConfig.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/config/NacosConfig.java new file mode 100644 index 00000000..d250b4e5 --- /dev/null +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/config/NacosConfig.java @@ -0,0 +1,90 @@ +package com.nflg.product.bomnew.config; + +import com.nflg.product.base.core.config.SpringContextUtils; +import lombok.Getter; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.cloud.context.config.annotation.RefreshScope; +import org.springframework.context.annotation.Configuration; + +/** + * @decription + * @Author 大米 + * @Date 2022/9/2 14:35 + **/ +@Configuration +@Getter +@RefreshScope +public class NacosConfig { + + @Value("${ad.user.default.pwd}") + private String defaultPwd; + + @Value("${nflg.dpt.rowid}") + private Long nflgDeptRowId; + + + @Value("${plm.url}") + private String plmUrl; + @Value("${plm.user}") + private String plmUserName; + @Value("${plm.password}") + private String plmPassWord; + @Value("${plm.vault}") + private String plmVault; + + + @Value("${plm.file.path}") + private String plmFilePath; + + @Value("${oa.url}") + private String oaUrl; + + @Value("${oa.material.state.url}") + private String oaGetStateUrl; + + @Value("${oa.material.update.url}") + private String oaUpMaterialUrl; + + @Value("${oa.material.update.state}") + private String oaUpStateQueryUrl; + + @Value("${oa.material.summary}") + private String summary; + +// @Value("${model.type}") +// private String modelCategory; +// +// @Value("${model.struct}") +// private String modelStruct; + + @Value("${ini.file.ip}") + private String iniIp; + + @Value("${ini.username}") + private String iniUserName; + + @Value("${ini.pwd}") + private String iniPwd; + + @Value("${ini.share.name}") + private String shareName; + + @Value("${ini.file.name}") + private String iniFileNameTemplate; + + @Value("${ini.file.local.path}") + private String localFilePath; + + @Value("${ini.domain}") + private String iniDomain; + + @Value("${ini.share.path}") + private String sharePath; + + + + + public static NacosConfig getNacosConfig(){ + return SpringContextUtils.getBean(NacosConfig.class); + } +} diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/fallback/ValideUserApi.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/fallback/ValideUserApi.java new file mode 100644 index 00000000..7472b472 --- /dev/null +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/fallback/ValideUserApi.java @@ -0,0 +1,32 @@ +package com.nflg.product.bomnew.fallback; + +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import nflg.product.common.constant.STATE; +import nflg.product.common.vo.ResultVO; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Objects; + +/** + * @decription + * @Author 大米 + * @Date 2022/7/14 18:44 + **/ +@Slf4j +@RequestMapping("fallback") +@RestController +public class ValideUserApi { + @PostMapping("authorize/fail") + @ApiOperation("用户验证失败") + public ResultVO authorizeFail(Integer stateCode) { + if(!Objects.isNull(stateCode) && stateCode.equals(STATE.PassportErr.getState())){ + + return ResultVO.error(STATE.PassportErr,STATE.PassportErr.getMsg()); + } + + return ResultVO.error(STATE.LoginError,STATE.LoginError.getMsg()); + } +} diff --git a/nflg_project_dev/nflg-bom-new/src/main/resources/bootstrap-dev.properties b/nflg_project_dev/nflg-bom-new/src/main/resources/bootstrap-dev.properties new file mode 100644 index 00000000..74ba7641 --- /dev/null +++ b/nflg_project_dev/nflg-bom-new/src/main/resources/bootstrap-dev.properties @@ -0,0 +1,4 @@ +#nacos.server-addr=114.132.64.230:8123 +nacos.server-addr=192.168.0.194:8848 + + diff --git a/nflg_project_dev/nflg-bom-new/src/main/resources/bootstrap-prod.properties b/nflg_project_dev/nflg-bom-new/src/main/resources/bootstrap-prod.properties new file mode 100644 index 00000000..f648f2ca --- /dev/null +++ b/nflg_project_dev/nflg-bom-new/src/main/resources/bootstrap-prod.properties @@ -0,0 +1 @@ +nacos.server-addr=192.168.0.191:8848 \ No newline at end of file diff --git a/nflg_project_dev/nflg-bom-new/src/main/resources/bootstrap-sit.properties b/nflg_project_dev/nflg-bom-new/src/main/resources/bootstrap-sit.properties new file mode 100644 index 00000000..74ba7641 --- /dev/null +++ b/nflg_project_dev/nflg-bom-new/src/main/resources/bootstrap-sit.properties @@ -0,0 +1,4 @@ +#nacos.server-addr=114.132.64.230:8123 +nacos.server-addr=192.168.0.194:8848 + + diff --git a/nflg_project_dev/nflg-bom-new/src/main/resources/bootstrap.properties b/nflg_project_dev/nflg-bom-new/src/main/resources/bootstrap.properties new file mode 100644 index 00000000..e36644ac --- /dev/null +++ b/nflg_project_dev/nflg-bom-new/src/main/resources/bootstrap.properties @@ -0,0 +1,30 @@ +spring.application.name=bom-new +spring.profiles.active=dev + +spring.jackson.date-format=yyyy-MM-dd HH:mm:ss + +spring.cloud.nacos.config.namespace=nflg_dev +spring.cloud.nacos.discovery.namespace=nflg_dev +spring.cloud.nacos.config.file-extension=properties +nacos.plugin.namespace=nflg_dev + +#configuration +spring.cloud.nacos.config.server-addr=${nacos.server-addr} +spring.cloud.nacos.config.group=${spring.profiles.active} + +spring.cloud.nacos.config.extension-configs[0].data-id=application-${spring.profiles.active}.properties +spring.cloud.nacos.config.extension-configs[0].group=${spring.profiles.active} +spring.cloud.nacos.config.extension-configs[0].refresh=true +spring.cloud.nacos.config.extension-configs[1].data-id=mysql-${spring.profiles.active}.properties +spring.cloud.nacos.config.extension-configs[1].group=${spring.profiles.active} +spring.cloud.nacos.config.extension-configs[1].refresh=true + +#discovery +spring.cloud.nacos.discovery.server-addr=${nacos.server-addr} +spring.cloud.nacos.discovery.group=${spring.profiles.active} +spring.cloud.nacos.discovery.metadata.group=${spring.profiles.active} +spring.cloud.nacos.discovery.metadata.region=${env_region:blue} +spring.cloud.nacos.discovery.metadata.env=${spring.profiles.active} + +logging.level.com.nflg.product.material.mapper.master=INFO + diff --git a/nflg_project_dev/nflg-bom-new/target/classes/bootstrap-dev.properties b/nflg_project_dev/nflg-bom-new/target/classes/bootstrap-dev.properties new file mode 100644 index 00000000..74ba7641 --- /dev/null +++ b/nflg_project_dev/nflg-bom-new/target/classes/bootstrap-dev.properties @@ -0,0 +1,4 @@ +#nacos.server-addr=114.132.64.230:8123 +nacos.server-addr=192.168.0.194:8848 + + diff --git a/nflg_project_dev/nflg-bom-new/target/classes/bootstrap-prod.properties b/nflg_project_dev/nflg-bom-new/target/classes/bootstrap-prod.properties new file mode 100644 index 00000000..f648f2ca --- /dev/null +++ b/nflg_project_dev/nflg-bom-new/target/classes/bootstrap-prod.properties @@ -0,0 +1 @@ +nacos.server-addr=192.168.0.191:8848 \ No newline at end of file diff --git a/nflg_project_dev/nflg-bom-new/target/classes/bootstrap-sit.properties b/nflg_project_dev/nflg-bom-new/target/classes/bootstrap-sit.properties new file mode 100644 index 00000000..74ba7641 --- /dev/null +++ b/nflg_project_dev/nflg-bom-new/target/classes/bootstrap-sit.properties @@ -0,0 +1,4 @@ +#nacos.server-addr=114.132.64.230:8123 +nacos.server-addr=192.168.0.194:8848 + + diff --git a/nflg_project_dev/nflg-bom-new/target/classes/bootstrap.properties b/nflg_project_dev/nflg-bom-new/target/classes/bootstrap.properties new file mode 100644 index 00000000..e36644ac --- /dev/null +++ b/nflg_project_dev/nflg-bom-new/target/classes/bootstrap.properties @@ -0,0 +1,30 @@ +spring.application.name=bom-new +spring.profiles.active=dev + +spring.jackson.date-format=yyyy-MM-dd HH:mm:ss + +spring.cloud.nacos.config.namespace=nflg_dev +spring.cloud.nacos.discovery.namespace=nflg_dev +spring.cloud.nacos.config.file-extension=properties +nacos.plugin.namespace=nflg_dev + +#configuration +spring.cloud.nacos.config.server-addr=${nacos.server-addr} +spring.cloud.nacos.config.group=${spring.profiles.active} + +spring.cloud.nacos.config.extension-configs[0].data-id=application-${spring.profiles.active}.properties +spring.cloud.nacos.config.extension-configs[0].group=${spring.profiles.active} +spring.cloud.nacos.config.extension-configs[0].refresh=true +spring.cloud.nacos.config.extension-configs[1].data-id=mysql-${spring.profiles.active}.properties +spring.cloud.nacos.config.extension-configs[1].group=${spring.profiles.active} +spring.cloud.nacos.config.extension-configs[1].refresh=true + +#discovery +spring.cloud.nacos.discovery.server-addr=${nacos.server-addr} +spring.cloud.nacos.discovery.group=${spring.profiles.active} +spring.cloud.nacos.discovery.metadata.group=${spring.profiles.active} +spring.cloud.nacos.discovery.metadata.region=${env_region:blue} +spring.cloud.nacos.discovery.metadata.env=${spring.profiles.active} + +logging.level.com.nflg.product.material.mapper.master=INFO + diff --git a/nflg_project_dev/nflg-bom-new/target/classes/com/nflg/BomnewApplication.class b/nflg_project_dev/nflg-bom-new/target/classes/com/nflg/BomnewApplication.class new file mode 100644 index 00000000..6bba1ec4 Binary files /dev/null and b/nflg_project_dev/nflg-bom-new/target/classes/com/nflg/BomnewApplication.class differ diff --git a/nflg_project_dev/nflg-bom-new/target/classes/com/nflg/product/bomnew/config/DruidStatFilter.class b/nflg_project_dev/nflg-bom-new/target/classes/com/nflg/product/bomnew/config/DruidStatFilter.class new file mode 100644 index 00000000..d0d10698 Binary files /dev/null and b/nflg_project_dev/nflg-bom-new/target/classes/com/nflg/product/bomnew/config/DruidStatFilter.class differ diff --git a/nflg_project_dev/nflg-bom-new/target/classes/com/nflg/product/bomnew/config/MasterDataSourceConfig.class b/nflg_project_dev/nflg-bom-new/target/classes/com/nflg/product/bomnew/config/MasterDataSourceConfig.class new file mode 100644 index 00000000..e87e7fab Binary files /dev/null and b/nflg_project_dev/nflg-bom-new/target/classes/com/nflg/product/bomnew/config/MasterDataSourceConfig.class differ diff --git a/nflg_project_dev/nflg-bom-new/target/classes/com/nflg/product/bomnew/config/NacosConfig.class b/nflg_project_dev/nflg-bom-new/target/classes/com/nflg/product/bomnew/config/NacosConfig.class new file mode 100644 index 00000000..67cf0c5d Binary files /dev/null and b/nflg_project_dev/nflg-bom-new/target/classes/com/nflg/product/bomnew/config/NacosConfig.class differ diff --git a/nflg_project_dev/nflg-bom-new/target/classes/com/nflg/product/bomnew/fallback/ValideUserApi.class b/nflg_project_dev/nflg-bom-new/target/classes/com/nflg/product/bomnew/fallback/ValideUserApi.class new file mode 100644 index 00000000..a3442ce4 Binary files /dev/null and b/nflg_project_dev/nflg-bom-new/target/classes/com/nflg/product/bomnew/fallback/ValideUserApi.class differ