consum-base/src/main/java/com/consum/base/controller/LWhWarningController.java
@@ -1,11 +1,13 @@ package com.consum.base.controller; import com.consum.base.BaseController; import com.consum.base.core.service.LWhWarningCoreServiceImpl; import com.consum.base.core.utils.CommonUtil; import com.consum.base.pojo.query.WhWarningQry; import com.consum.base.service.LWhWarningServiceImpl; import com.consum.model.po.FinSysTenantUser; import com.walker.db.page.GenericPager; import com.walker.infrastructure.utils.DateUtils; import com.walker.web.ResponseValue; import io.swagger.annotations.Api; import org.springframework.web.bind.annotation.GetMapping; @@ -50,4 +52,20 @@ return ResponseValue.success(genericPager); } @Resource private LWhWarningCoreServiceImpl lWhWarningCoreService; @GetMapping("/handerChenKuCun") public ResponseValue handerChenKuCun() { WhWarningQry param = CommonUtil.getObjFromReq(WhWarningQry.class); FinSysTenantUser sysInfo = this.getSysInfo(); long dealTime = DateUtils.getDateTimeNumber(System.currentTimeMillis()); lWhWarningCoreService.updateKuCun(param.getWarehouseType(), param.getBaseWarehouseId(), null, sysInfo, dealTime); return ResponseValue.success(); } } consum-base/src/main/java/com/consum/base/core/service/LWhWarningCoreServiceImpl.java
New file @@ -0,0 +1,123 @@ package com.consum.base.core.service; import cn.hutool.core.convert.Convert; import com.consum.base.service.BaseGoodsModelsServiceImpl; import com.consum.base.service.BaseWarehouseServiceImpl; import com.consum.base.service.LWhWarningServiceImpl; import com.consum.model.po.BaseWarehouse; import com.consum.model.po.FinSysTenantUser; import com.consum.model.po.WhWarning; import com.walker.infrastructure.utils.NumberGenerator; import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; import java.util.Map; /** * @ClassName LWhWarningCoreServiceImpl * @Author cy * @Date 2023/11/24 * @Description * @Version 1.0 **/ @Service public class LWhWarningCoreServiceImpl { @Resource private LWhWarningServiceImpl lWhWarningService; @Resource private BaseWarehouseServiceImpl baseWarehouseService; @Resource private BaseGoodsModelsServiceImpl baseGoodsModelsService; /** * 当库存变动时调用该方法 * * @param warehouseType * @param warehouseId * @param baseModelIdList */ public void updateKuCun(Short warehouseType, Long warehouseId, List<Long> baseModelIdList, FinSysTenantUser sysInfo, Long dealTime) { if (baseModelIdList == null) { baseModelIdList = new ArrayList<>(); } // 获取到达到阈值的物品 List<Map<String, Object>> kuCunNotifyList = lWhWarningService.checkKuCun(warehouseType, warehouseId, baseModelIdList); // // log.info("没有达到阈值的物品"); if (CollectionUtils.isEmpty(kuCunNotifyList)) { kuCunNormalModel(warehouseType, warehouseId, baseModelIdList); return; } // 将数据插入库存预警【WH_WARNING】 BaseWarehouse baseWarehouses = baseWarehouseService.get(new BaseWarehouse(warehouseId)); List<Long> kuCunNotifyModelIdList = new ArrayList<>(kuCunNotifyList.size()); List<WhWarning> warningList = new ArrayList<>(kuCunNotifyList.size()); for (Map<String, Object> notifyKuCun : kuCunNotifyList) { Long baseGoodsModelsId = Convert.toLong(notifyKuCun.get("baseGoodsModelsId")); kuCunNotifyModelIdList.add(baseGoodsModelsId); Integer lowerLimit = Convert.toInt(notifyKuCun.get("lowerLimit")); Integer upperLimit = Convert.toInt(notifyKuCun.get("upperLimit")); Integer warningType = Convert.toInt(notifyKuCun.get("warningType")); Integer goodsNum = Convert.toInt(notifyKuCun.get("goodsNum")); WhWarning whWarning = new WhWarning(); List<Map<String, Object>> modelInfoList = baseGoodsModelsService.queryGoodsModelInfo(baseGoodsModelsId); Map<String, Object> modelInfo = modelInfoList.get(0); whWarning.setId(NumberGenerator.getLongSequenceNumber()); whWarning.setWarehouseType(0); whWarning.setBaseWarehouseId(warehouseId); whWarning.setBaseWarehouseName(baseWarehouses.getWarehouseName()); whWarning.setBaseGoodsTemplateId(Convert.toLong(modelInfo.get("goodsId"))); whWarning.setBaseGoodsTemplateName(Convert.toStr(modelInfo.get("goodsName"))); whWarning.setBaseGoodsModelsId(baseGoodsModelsId); whWarning.setBaseGoodsModelsName((String) modelInfo.get("modelName")); whWarning.setGoodsType(2); whWarning.setWarningType(warningType); whWarning.setUpperLimit(upperLimit); whWarning.setLowerLimit(lowerLimit); whWarning.setWarehouseCount(goodsNum); whWarning.setWarningTime(dealTime); whWarning.setStates(1); whWarning.setOperatorId(sysInfo.getId()); whWarning.setOperatorName(sysInfo.getUserName()); whWarning.setDealTime(dealTime); whWarning.setAgencyId(Convert.toLong(sysInfo.getTenantId())); whWarning.setAgencyName(sysInfo.getTenantName()); warningList.add(whWarning); } //修改以前的预警状态 baseModelIdList.removeAll(kuCunNotifyModelIdList); kuCunNormalModel(warehouseType, warehouseId, baseModelIdList); //批量插入预警 lWhWarningService.insertBatch(warningList); } private String KU_CUN_NORMAL_MODEL = "update WH_WARNING set STATES=2 where WAREHOUSE_TYPE=? and BASE_WAREHOUSE_ID=?"; private int kuCunNormalModel(Short warehouseType, Long warehouseId, List<Long> baseModelIdList) { if (CollectionUtils.isEmpty(baseModelIdList)) { return 1; } ArrayList<Object> params = new ArrayList<>(); params.add(warehouseType); params.add(warehouseId); StringBuilder sql = new StringBuilder(KU_CUN_NORMAL_MODEL); if (!org.springframework.util.CollectionUtils.isEmpty(baseModelIdList)) { sql.append(" and BASE_GOODS_MODELS_ID in(?)"); params.add(baseModelIdList); } return lWhWarningService.update(sql.toString(), params.toArray()); } } consum-base/src/main/java/com/consum/base/pojo/query/WhWarningQry.java
@@ -32,7 +32,7 @@ private Long agencyId; @ApiModelProperty("仓库类型") private Long warehouseType; private Short warehouseType; @ApiModelProperty("仓库id") private Long baseWarehouseId; consum-base/src/main/java/com/consum/base/service/LWarehouseFlowCoreService.java
@@ -1,23 +1,22 @@ package com.consum.base.service; import com.consum.base.core.utils.LockManage; import com.consum.model.po.BaseWarehouse; import com.consum.model.po.LWarehouseFlow; import com.consum.model.po.LWhFormProcure; import com.consum.model.po.LWhGoodsRecord; import com.consum.model.po.LWhProcureModel; import com.consum.model.po.*; import com.walker.infrastructure.utils.CollectionUtils; import com.walker.infrastructure.utils.NumberGenerator; import java.util.List; import java.util.Map; import java.util.stream.Collectors; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.namedparam.MapSqlParameterSource; import org.springframework.jdbc.core.namedparam.SqlParameterSource; import org.springframework.jdbc.core.simple.SimpleJdbcCall; import org.springframework.stereotype.Service; import javax.annotation.PostConstruct; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** * @ClassName LWarehouseFlowService @@ -36,15 +35,22 @@ private LWhGoodsRecordService lWhGoodsRecordService; private BaseGoodsTemplateServiceImpl baseGoodsTemplateService; @Value("${spring.datasource.dataBaseName}") private String dataBaseName; @PostConstruct public void init() { this.simpleJdbcCall = new SimpleJdbcCall(jdbcTemplate).withCatalogName(dataBaseName).withProcedureName("InsertL_WH_GOODS"); } @Autowired public LWarehouseFlowCoreService(JdbcTemplate jdbcTemplate, LWarehouseFlowService lWarehouseFlowService, LWhGoodsService lWhGoodsService, BaseGoodsTemplateServiceImpl baseGoodsTemplateService, LWhGoodsRecordService lWhGoodsRecordService) { BaseGoodsTemplateServiceImpl baseGoodsTemplateService, LWhGoodsRecordService lWhGoodsRecordService) { this.jdbcTemplate = jdbcTemplate; this.lWarehouseFlowService = lWarehouseFlowService; this.baseGoodsTemplateService = baseGoodsTemplateService; this.lWhGoodsService = lWhGoodsService; this.lWhGoodsRecordService = lWhGoodsRecordService; this.simpleJdbcCall = new SimpleJdbcCall(jdbcTemplate).withProcedureName("InsertL_WH_GOODS"); } /** @@ -82,11 +88,11 @@ //统计各型号数量 Map<Long, Integer> countsSumByBaseGoodsModelsId = goodsModelNumList.stream() .collect(Collectors.groupingBy(LWhProcureModel::getBaseGoodsModelsId, Collectors.summingInt(LWhProcureModel::getCounts))); .collect(Collectors.groupingBy(LWhProcureModel::getBaseGoodsModelsId, Collectors.summingInt(LWhProcureModel::getCounts))); Map<Long, List<LWhProcureModel>> sameModelList = goodsModelNumList.stream() // 按型号分 .collect(Collectors.groupingBy(LWhProcureModel::getBaseGoodsModelsId)); // 按型号分 .collect(Collectors.groupingBy(LWhProcureModel::getBaseGoodsModelsId)); countsSumByBaseGoodsModelsId.forEach((baseGoodsModelsId, modelCount) -> { //查询型号信息 Map<String, Object> tempGoodsInfo = baseGoodsTemplateService.queryGoodsInfoByModelId(baseGoodsModelsId); @@ -136,11 +142,12 @@ Long price = item.getPrice(); //物品个数 Integer counts = item.getCounts(); totalPrice = totalPrice + counts*price; totalPrice = totalPrice + counts * price; sameGoodsInsertMore(warehouseFlowId, warehouseType, warehouseId, whGoodsRecordId, (short) 1, warehouseName, classification, tempGoodsId, goodsName, baseGoodsModelsId, modelName, supplier, buyType, goodsUnit, price, procureTime, 1, dealTime, counts); }; classification, tempGoodsId, goodsName, baseGoodsModelsId, modelName, supplier, buyType, goodsUnit, price, procureTime, 1, dealTime, counts); } ; whGoodsRecord.setTotalPrice(totalPrice); } lWhGoodsRecordService.insert(whGoodsRecord); @@ -169,31 +176,31 @@ * @param pTimes 插入条数 */ public void sameGoodsInsertMore(long pWarehouseFlowId, Integer warehouseType, long pWarehouseId, long pWhGoodsRecordId, short pRecordType, String pWarehouseName, short pCostType, long pBaseGoodsTemplateId, String pGoodsTemplateName, long pBaseGoodsModelsId, String pBaseGoodsModelsName, String pSupplier, short pBuyType, String pUnit, long pPrice, long pProcureDate, int pStates, long pDealTime, int pTimes) { String pWarehouseName, short pCostType, long pBaseGoodsTemplateId, String pGoodsTemplateName, long pBaseGoodsModelsId, String pBaseGoodsModelsName, String pSupplier, short pBuyType, String pUnit, long pPrice, long pProcureDate, int pStates, long pDealTime, int pTimes) { SqlParameterSource in = new MapSqlParameterSource() .addValue("p_WAREHOUSE_FLOW_ID", pWarehouseFlowId) .addValue("p_WAREHOUSE_TYPE", warehouseType) .addValue("p_WAREHOUSE_ID", pWarehouseId) .addValue("p_WH_GOODS_RECORD_ID", pWhGoodsRecordId) .addValue("p_RECORD_TYPE", pRecordType) .addValue("p_WAREHOUSE_NAME", pWarehouseName) .addValue("p_COST_TYPE", pCostType) .addValue("p_BASE_GOODS_TEMPLATE_ID", pBaseGoodsTemplateId) .addValue("p_GOODS_TEMPLATE_NAME", pGoodsTemplateName) .addValue("p_BASE_GOODS_MODELS_ID", pBaseGoodsModelsId) .addValue("p_BASE_GOODS_MODELS_NAME", pBaseGoodsModelsName) .addValue("p_SUPPLIER", pSupplier) .addValue("p_BUY_TYPE", pBuyType) .addValue("p_UNIT", pUnit) .addValue("p_PRICE", pPrice) .addValue("p_PROCURE_DATE", pProcureDate) .addValue("p_STATES", pStates) .addValue("p_DEAL_TIME", pDealTime) .addValue("p_times", pTimes); .addValue("p_WAREHOUSE_FLOW_ID", pWarehouseFlowId) .addValue("p_WAREHOUSE_TYPE", warehouseType) .addValue("p_WAREHOUSE_ID", pWarehouseId) .addValue("p_WH_GOODS_RECORD_ID", pWhGoodsRecordId) .addValue("p_RECORD_TYPE", pRecordType) .addValue("p_WAREHOUSE_NAME", pWarehouseName) .addValue("p_COST_TYPE", pCostType) .addValue("p_BASE_GOODS_TEMPLATE_ID", pBaseGoodsTemplateId) .addValue("p_GOODS_TEMPLATE_NAME", pGoodsTemplateName) .addValue("p_BASE_GOODS_MODELS_ID", pBaseGoodsModelsId) .addValue("p_BASE_GOODS_MODELS_NAME", pBaseGoodsModelsName) .addValue("p_SUPPLIER", pSupplier) .addValue("p_BUY_TYPE", pBuyType) .addValue("p_UNIT", pUnit) .addValue("p_PRICE", pPrice) .addValue("p_PROCURE_DATE", pProcureDate) .addValue("p_STATES", pStates) .addValue("p_DEAL_TIME", pDealTime) .addValue("p_times", pTimes); Map<String, Object> out = simpleJdbcCall.execute(in); System.out.println("Procedure result: " + out); } consum-base/src/main/java/com/consum/base/service/LWhGoodsRecordDetailsService.java
@@ -3,12 +3,14 @@ import com.walker.jdbc.service.BaseServiceImpl; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.namedparam.MapSqlParameterSource; import org.springframework.jdbc.core.namedparam.SqlParameterSource; import org.springframework.jdbc.core.simple.SimpleJdbcCall; import org.springframework.stereotype.Service; import javax.annotation.PostConstruct; import java.util.List; import java.util.Map; @@ -23,10 +25,20 @@ private final JdbcTemplate jdbcTemplate; private SimpleJdbcCall simpleJdbcCall; @Value("${spring.datasource.dataBaseName}") private String dataBaseName; @PostConstruct public void init() { this.simpleJdbcCall = new SimpleJdbcCall(jdbcTemplate) .withCatalogName(dataBaseName) .withProcedureName("insert_WH_GOODS_RECORD_DETAILS"); } @Autowired public LWhGoodsRecordDetailsService(JdbcTemplate jdbcTemplate) { this.jdbcTemplate = jdbcTemplate; this.simpleJdbcCall = new SimpleJdbcCall(jdbcTemplate).withProcedureName("insert_WH_GOODS_RECORD_DETAILS"); } public void sameGoodsInsertMore(List<Long> outGoodsId, long whGoodsRecordId, short thisType) { consum-base/src/main/java/com/consum/base/service/LWhWarningServiceImpl.java
@@ -3,11 +3,13 @@ import com.consum.base.core.utils.MapperUtil; import com.consum.base.pojo.query.WhWarningQry; import com.walker.db.page.GenericPager; import com.walker.infrastructure.utils.CollectionUtils; import com.walker.infrastructure.utils.StringUtils; import com.walker.jdbc.service.BaseServiceImpl; import org.springframework.stereotype.Service; import java.util.HashMap; import java.util.List; import java.util.Map; /** @@ -51,7 +53,8 @@ } if (param.getGoodsTemplateId() != null) { sql.append(" AND goodsTemp.id=:goodsTemplateId"); paramts.put("goodsTemplateId", param.getGoodsTemplateId()); } paramts.put("goodsTemplateId", param.getGoodsTemplateId()); } //分类 if (param.getCategoryId() != null) { sql.append(" AND cate.id=:categoryId"); @@ -69,4 +72,64 @@ return selectSplit(sql.toString(), paramts, param.getPageNum(), param.getPageSize(), new MapperUtil()); } /** * 查询指定仓库的库存是否超预警 * * @param warehouseType * @param warehouseId * @param baseModelId */ private String CHECK_KUCUN_PREFIX = "SELECT warnConf.*,goods.goods_Num,CASE WHEN warnConf.LOWER_LIMIT>=goods.goods_Num THEN 2 WHEN warnConf.UPPER_LIMIT<=goods.goods_Num THEN 1 END AS WARNING_TYPE FROM ("; private String CHECK_KUCUN_CONFIG_PREFIX = "SELECT WAREHOUSE_TYPE,BASE_WAREHOUSE_ID,BASE_GOODS_MODELS_ID,LOWER_LIMIT,UPPER_LIMIT FROM WH_WARNING_CONFIG"; private String CHECK_KUCUN_CONFIG_WHERE = " WHERE 1=1"; private String CHECK_KUCUN_CONFIG_JOINTKUCUN = ") warnConf LEFT JOIN ("; private String CHECK_KUCUN_KUCUN_PREFIX = "SELECT WAREHOUSE_TYPE,WAREHOUSE_ID,BASE_GOODS_MODELS_ID,count(1) goods_Num FROM L_WH_GOODS"; private String CHECK_KUCUN_KUCUN_WHERE = " WHERE 1=1"; private String CHECK_KUCUN_KUCUN_END = " GROUP BY BASE_GOODS_MODELS_ID)"; private String CHECK_KUCUN_END = "goods ON goods.BASE_GOODS_MODELS_ID=warnConf.BASE_GOODS_MODELS_ID AND goods.WAREHOUSE_TYPE=warnConf.WAREHOUSE_TYPE AND goods.BASE_GOODS_MODELS_ID=warnConf.BASE_GOODS_MODELS_ID WHERE (warnConf.LOWER_LIMIT>=goods.goods_Num OR warnConf.UPPER_LIMIT<=goods.goods_Num)"; public List<Map<String, Object>> checkKuCun(Short warehouseType, Long warehouseId, List<Long> baseModelIdList) { StringBuilder checkKucunPrefix = new StringBuilder(CHECK_KUCUN_PREFIX); StringBuilder checkKucunConfigPrefix = new StringBuilder(CHECK_KUCUN_CONFIG_PREFIX); StringBuilder checkKucunConfigWhere = new StringBuilder(CHECK_KUCUN_CONFIG_WHERE); StringBuilder checkKucunConfigJointkucun = new StringBuilder(CHECK_KUCUN_CONFIG_JOINTKUCUN); StringBuilder checkKucunKucunPrefix = new StringBuilder(CHECK_KUCUN_KUCUN_PREFIX); StringBuilder checkKucunKucunWhere = new StringBuilder(CHECK_KUCUN_KUCUN_WHERE); StringBuilder checkKucunKucunEnd = new StringBuilder(CHECK_KUCUN_KUCUN_END); StringBuilder checkKucunEnd = new StringBuilder(CHECK_KUCUN_END); Map<String, Object> paramMap = new HashMap<>(); if (warehouseType != null) { checkKucunConfigWhere.append(" and WAREHOUSE_TYPE =:ConfigWarehouseType"); paramMap.put("ConfigWarehouseType", warehouseType); checkKucunKucunWhere.append(" and WAREHOUSE_TYPE =:KuCunWarehouseType"); paramMap.put("KuCunWarehouseType", warehouseType); } if (warehouseId != null) { checkKucunConfigWhere.append(" and BASE_WAREHOUSE_ID =:ConfigWarehouseId"); paramMap.put("ConfigWarehouseId", warehouseId); checkKucunKucunWhere.append(" and WAREHOUSE_ID =:KuCunWarehouseId"); paramMap.put("KuCunWarehouseId", warehouseId); } if (!CollectionUtils.isEmpty(baseModelIdList)) { checkKucunConfigWhere.append(" and BASE_GOODS_MODELS_ID in(:ConfigBaseModelIds)"); paramMap.put("ConfigBaseModelIds", baseModelIdList); checkKucunKucunWhere.append(" and BASE_GOODS_MODELS_ID in(:KuCunBaseModelIds)"); paramMap.put("KuCunBaseModelIds", baseModelIdList); } checkKucunPrefix.append(checkKucunConfigPrefix) .append(checkKucunConfigWhere) .append(checkKucunConfigJointkucun) .append(checkKucunKucunPrefix) .append(checkKucunKucunWhere) .append(checkKucunKucunEnd) .append(checkKucunEnd); return select(checkKucunPrefix.toString(), paramMap, new MapperUtil()); } } deploy-jar-single/src/main/resources/application-dev.yml
@@ -5,9 +5,10 @@ # 是否显示dao中打印的SQL语句 show-sql: true # 数据库链接 dataBaseName: low_consum_manage_dev username: root password: Bjjmy_2020 url: jdbc:mysql://116.198.40.76:3306/low_consum_manage_dev?useUnicode=true&characterEncoding=UTF-8&useSSL=false url: jdbc:mysql://116.198.40.76:3306/${spring.datasource.dataBaseName}?useUnicode=true&characterEncoding=UTF-8&useSSL=false # Druid连接池 type: com.walker.jdbc.ds.MyDruidDataSource druid: deploy-jar-single/src/main/resources/application-prod.yml
@@ -1,62 +1,15 @@ spring: application: name: projectProgress name: lowConsum datasource: # 是否显示dao中打印的SQL语句 show-sql: true ## driver-class-name: sunje.goldilocks.jdbc.GoldilocksDriver # 注意:MySQL服务端,需要调整两个参数,否则服务端会主动断开连接 # wait_timeout: 超过改时间(秒)服务端主动断开 # interactive_timeout: 客户端工具交互超过这个时间(秒)会端口,表现为navicat # Oracle配置,2023-06-25 # username: FINANCE_OPS_PROD # password: FINANCE_OPS_PROD # driver-class-name: oracle.jdbc.OracleDriver # url: jdbc:oracle:thin:@10.8.10.2:1521/pdb_YWZC # username: C##FINANCE_OPS_TEST # password: FINANCE_OPS_TEST # driver-class-name: oracle.jdbc.OracleDriver # url: jdbc:oracle:thin:@116.198.40.76:1521/cdb1 # 数据库链接 username: root password: Bjjmy_2020 url: jdbc:mysql://116.198.40.76:3306/project_progress_manage_dev?useUnicode=true&characterEncoding=UTF-8&useSSL=false # username: root # password: Bjjmy_2020 # url: jdbc:mysql://116.198.40.76:3306/iplatform?useUnicode=true&characterEncoding=UTF-8&useSSL=false # 达梦数据库 # driver-class-name: dm.jdbc.driver.DmDriver # username: iplatform # password: iplatform # url: jdbc:dm://116.198.39.83:5236?schema=iplatform #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # 使用 Hikari 连接池 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # type: com.walker.jdbc.ds.DefaultDataSource # hikari: # minimum-idle: 5 # idle-timeout: 600000 # pool-name: databasePool_walker # # 连接最大超时时间 # connection-timeout: 30000 # # 连接池最大数量 # maximum-pool-size: 10 # # 控制池中连接最大生存期 # # max-lifetime: 70000 # # 此属性控制测试连接是否活跃的最长时间。此值必须小于 connectionTimeout # validation-timeout: 10000 # # # connection-test-query: select 1 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # 使用 Druid 连接池 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dataBaseName: low_consum_manage_dev url: jdbc:mysql://192.200.0.49:3306/${spring.datasource.dataBaseName}?useUnicode=true&characterEncoding=UTF-8&useSSL=false # Druid连接池 type: com.walker.jdbc.ds.MyDruidDataSource druid: initial-size: 5 @@ -77,18 +30,12 @@ pool-prepared-statements: true max-open-prepared-statements: 100 use-global-data-source-stat: true # redis: # host: 127.0.0.1 # port: 6379 # database: 10 # #password: Jmy2019. # Redis redis: host: 116.198.40.76 host: 192.200.0.49 port: 6379 database: 11 password: Jmy2019. mvc: pathmatch: @@ -104,9 +51,9 @@ max-request-size: 300MB server: port: 8082 port: 9301 servlet: context-path: /progress context-path: / session: timeout: 30m @@ -122,9 +69,7 @@ com: walker: debug iplatform: debug finance: debug cti: debug robot: error progess: debug charset: # 控制台编码 @@ -141,9 +86,9 @@ # 例如: 日期为:2023/07/13 ,则打包文件之后为: log/ota.2023-07-13.0.gz,0表示日志的第一部分,后续就是,1,2,3... # 如果是压缩包,里面会多一个名log/ota.2023-07-13.0的日志文件 # 如下面的例子,打包之后为: log/2023-07/ota.2020-07-13.0.log,这是一个日志文件 file-name-pattern: ${logging.file.path}%d{yyyy-MM}/finance.%d{yyyy-MM-dd}.%i.log file-name-pattern: ${logging.file.path}%d{yyyy-MM}/progess.%d{yyyy-MM-dd}.%i.log file: name: ${logging.file.path}finance.log name: ${logging.file.path}consum.log path: D:/log/ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -181,65 +126,25 @@ security: # 匿名可访问地址(开放地址) anonymous-list: - /platform/fin/sc - /chat/auto/robot/** - /login - /register - /captcha/* # 验证码统一放开 - /test/** # 开发测试,仅开发板可用 - /file/** # 文件上传 - /platform/fin/sc # 一键生成 - /login # 登录 - /register # 注册 - /captcha/* # 验证码统 - /test/** # 开发测试,仅开发板可用 - /swagger-resources/** # swagger - /swagger-ui/** # swagger - /v3/** # swagger - /pay/notify/** # 支付通知 - /jmreport/** # 积木报表 - /api/cti/net/** # 网络连接状态检测 - /api/cti/customer/** # 客服设置 - /api/** # 呼叫中心回调 - /platform/fin/** - /platform/fin/sys/org/** - /platform/fin/sys/user/** - /platform/fin/sys/project/** - /platform/fin/sys/tenant/** - /platform/fin/sys/tenant/user/** - /robot/** - /platform/fin/supplier/** - /chat/user/** #聊天 - /third_party/budget/login - /platform/fin/project/** # 预算一体化登录对接,前端访问的登录地址。2023-07-03 - /platform/fin/sys/server/** - /platform/fin/project/category/** - platform/fin/sys/tenant/user/** #用户 - /platform/fin/project/** - /platform/fin/event/** - /admin/platform/fin/project/* - /platform/fin/sla/config/** - /platform/fin/library/** - /platform/fin/sla/** - /platform/fin/supplier/user/getRole - /admin/platform/fin/sys/tenant/user/* # 预算一体化登录对接,前端访问的登录地址。2023-07-03 - /system/role/** - /robot/test/** - /platform/fin/node/** - /platform/fin/project/member/** #团队成员 - /robot/** - /platform/fin/init/jn/** #初始化接口 - /platform/fin/project/manage/** - /platform/fin/sla/config/** #初始化接口 - /platform/fin/sla/** #初始化接口 - /platform/fin/cate/user/select/sla/** #初始化接口 - /platform/fin/sta/template/** #满意度接口 - /system/dict/type - /platform/fin/chat/reply/** #快捷回复 - /platform/fin/file/upload #文件上传,请勿禁用和配置 - /file/** #请勿禁用和配置 - /platform/fin/node/define/select - /platform/fin/cate/user/** - /platform/fin/node/define/** # 预算一体化登录对接,前端访问的登录地址。2023-07-03 - /system/** # 系统设置 - /pc/** # PC端接口 - /wx/** # 微信端接口 # 允许所有认证用户都可访问地址,请慎重否则权限都过大,一般API都应该设置在这里 permit-list: # - /permit # 公用权限,2023-03-13,平台代码已经添加过了,这里不需要配置 - /getInfo - /system/** - /p/** - /getRouters - /getMenus # 新界面菜单,2023-05-12 - /logout @@ -310,14 +215,13 @@ # FileStoreType = FileSystem 本地磁盘存储根路径 file-root: d:/tmp/ ftp: ip: 116.198.40.76 ip: 192.200.0.28 port: 22 user-name: mysftp password: Bjjmy_2020 password: Jmy@2023 private-key: # ftp服务上面的存储根路径,只能是linux路径 # file-root: /files/ file-root: /train/ file-root: /lowconsum/ # 接口文档生成,swagger3,2023-02-23 swagger: @@ -326,34 +230,6 @@ title: 云原生微服务平台 description: 一个快速web开发框架 # TCP通信配置,2023-04-17 tcp: # 是否开启引擎 enabled: true # 是否打开心跳 open-heart-beat: false # 心跳时间(秒),2023-08-28 heart-beat-seconds: 120 # 是否显示详细日志 show-log: false # 请求队列类型:memory 基于内存 queue-type: memory # tcp方式要扫描的请求对象的包空间 scan-packages-tcp: com.walker.tcp,com.iplatform.tcp # websocket方式要扫描的请求对象的包空间 scan-packages-ws: com.iplatform.tcp.util.ws,com.finance.chat.util.ws # tcp长连接的端口 port-tcp: 7878 # websocket连接端口 port-ws: 60000 # websocket连接uri websocket-uri: ws://172.16.60.41:60000/websocket # 通信线程数量 boss-thread-num: 2 # 业务处理线程数量 worker-thread-num: 4 # 启用自定义连接管理器,如果true则业务需要提供自定义实现(配置),2023-07-18 custom-connection-manager: true # 推送模块配置,2023-04-25 push: @@ -373,9 +249,3 @@ mail-server: smtp.126.com mail-from: hnzzzhsl@126.com mail-password: test fin: projectCode: CZT_YS_YTH_001 # 区分省级CODE provinceCode: 410000000