Merge remote-tracking branch 'remotes/origin/uat' into dev

# Conflicts:
#	pom.xml
This commit is contained in:
zhangyx
2021-11-12 09:48:26 +08:00
11 changed files with 442 additions and 59 deletions

View File

@ -57,7 +57,7 @@ spec:
containers:
- name: biz-service-ebtp-extend
image: harbor.dcos.xixian.unicom.local/eshop/biz-service-ebtp-extend:latest
args: ["java", "-Djava.security.egd=file:/dev/./urandom", "-javaagent:/pinpoint/tianyan-springboot-agent/pinpoint-bootstrap-1.8.0.jar", "-Dpinpoint.agentId=$(MY_POD_IP)","-Dpinpoint.applicationName=$(APP_NAME)", "-Dpinpoint.licence=$(AGENT_LICENCE_DEV)", "-jar", "/app.jar"]
args: ["java", "-Djava.security.egd=file:/dev/./urandom", "-javaagent:/pinpoint/tianyan-springboot-agent/pinpoint-bootstrap-1.8.0.jar", "-Dpinpoint.agentId=$(MY_POD_IP)","-Dpinpoint.applicationName=$(APP_NAME)", "-Dpinpoint.licence=$(AGENT_LICENCE)", "-jar", "/app.jar"]
volumeMounts:
- name: log
mountPath: /log

BIN
lib/access_token1.3.jar Normal file

Binary file not shown.

29
pom.xml
View File

@ -7,7 +7,7 @@
<parent>
<groupId>com.chinaunicom.ebtp</groupId>
<artifactId>mall-ebtp-cloud-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<version>2.0.0-SNAPSHOT</version>
</parent>
<groupId>com.chinaunicom.mall.ebtp</groupId>
@ -20,29 +20,10 @@
<dependency>
<groupId>com.chinaunicom.mall.ebtp</groupId>
<artifactId>uboot-core</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.chinaunicom.ebtp</groupId>
<artifactId>mall-ebtp-cloud-attachment-sdk</artifactId>
</dependency>
<dependency>
<groupId>com.chinaunicom.ebtp</groupId>
<artifactId>mall-ebtp-cloud-apollo-starter</artifactId>
<version>2.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>sharding-jdbc-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.deepoove</groupId>
<artifactId>poi-tl</artifactId>
@ -98,9 +79,9 @@
<dependency>
<groupId>cryp.access</groupId>
<artifactId>accessToken</artifactId>
<version>1.0</version>
<version>1.3</version>
<scope>system</scope>
<systemPath>${basedir}/lib/access_token1.1.jar</systemPath>
<systemPath>${basedir}/lib/access_token1.3.jar</systemPath>
</dependency>
<dependency>

115
sim.yaml Normal file
View File

@ -0,0 +1,115 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: biz-service-ebtp-extend #[1] Deployment名称可填写微服务名称
namespace: default
labels:
app: biz-service-ebtp-extend
spec:
replicas: 3
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
selector:
matchLabels:
app: biz-service-ebtp-extend #[2] 选择器匹配时标签名称,可填写微服务名称
template:
metadata:
labels:
app: biz-service-ebtp-extend #[3] 模板名称,可填写微服务名称
annotations:
prometheus.io/port: '18018'
prometheus.io/jl-pod: 'true'
spec:
volumes:
- name: log
hostPath:
path: /var/lib/docker/log/349553515466-preprod/default-group/all
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app
operator: In
values:
- biz-service-ebtp-extend
topologyKey: "kubernetes.io/hostname"
containers:
- name: biz-service-ebtp-extend #[6] 必选,容器名称,可填写微服务名称
image: harbor.dcos.guangzhou.unicom.local/eshop/biz-service-ebtp-extend:latest #[7] 镜像名称请把biz-service-ebtp-extend替换为服务名称
args: ["java", "-Djava.security.egd=file:/dev/./urandom", "-javaagent:/pinpoint/tianyan-springboot-agent/pinpoint-bootstrap-1.8.0.jar", "-Dpinpoint.agentId=$(MY_POD_IP)","-Dpinpoint.applicationName=$(APP_NAME)", "-Dpinpoint.licence=$(AGENT_LICENCE_DEV)", "-jar", "/app.jar"]
volumeMounts:
- name: log
mountPath: /log
ports:
- containerPort: 18018
livenessProbe:
failureThreshold: 3
httpGet:
port: 18018
path: /actuator/health
scheme: HTTP
initialDelaySeconds: 300
periodSeconds: 60
successThreshold: 1
timeoutSeconds: 2
readinessProbe:
failureThreshold: 1
httpGet:
port: 18018
path: /actuator/health
scheme: HTTP
periodSeconds: 5
successThreshold: 2
timeoutSeconds: 2
resources:
requests:
cpu: 1000m
memory: 2Gi
limits:
cpu: 3000m
memory: 6Gi
env:
- name: APP_NAME
value: biz_ebtp_extend
- name: AGENT_LICENCE
value: 527BFA7B28577578
- name: APOLLO_CONFIGSERVICE
value: http://apollo-configservice:8080
- name: MY_POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
- name: JAVA_TOOL_OPTIONS
value:
-XX:+UnlockExperimentalVMOptions
-XX:+UseContainerSupport
-XX:+UseCGroupMemoryLimitForHeap
-XX:InitialRAMPercentage=40.0
-XX:MinRAMPercentage=20.0
-XX:MaxRAMPercentage=80.0
---
kind: Service
apiVersion: v1
metadata:
name: biz-service-ebtp-extend-svc # [11] service的名字格式为“服务名-svc”
namespace: default
labels:
service: biz-service-ebtp-extend-svc # [12] service的标签可与参数[11]相同
annotations:
prometheus.io/port: '18018' #[13] prometheus自动发现service的端口也是该微服务所使用的端口与参数[4]相同
prometheus.io/jl-svc: 'true'
spec:
ports:
- port: 18018 #[15] 与参数4相同
targetPort: 18018 #[16] 与参数4相同
selector:
app: biz-service-ebtp-extend #[17] 该service对应Deployment的名字与参数[1]相同
---

View File

@ -3,15 +3,11 @@ package com.chinaunicom.mall.ebtp.extend.crypconfigure.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.chinaunicom.baas.util.AccessToken;
import com.chinaunicom.mall.ebtp.common.base.service.IBaseCacheUserService;
import com.chinaunicom.mall.ebtp.common.base.service.impl.BaseServiceImpl;
import com.chinaunicom.mall.ebtp.common.constant.CommonConstants;
import com.chinaunicom.mall.ebtp.common.crypto.service.CrypServiceImpl;
import com.chinaunicom.mall.ebtp.common.crypto.tenderfee.test;
import com.chinaunicom.mall.ebtp.common.exception.common.CommonExceptionEnum;
import com.chinaunicom.mall.ebtp.common.uniBss.constant.UniBssConstant;
import com.chinaunicom.mall.ebtp.common.uniBss.entity.*;
@ -27,13 +23,11 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.IOUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.ClassPathResource;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.*;
@ -54,16 +48,21 @@ public class CrypConfigureServiceImpl extends BaseServiceImpl<CrypConfigureMappe
private @Autowired
IBaseCacheUserService service;
// 测试 PEM_PATH = "admin_certPrivateNew.pem" CRT_PATH = "adminNew.crt"
// 生产 PEM_PATH = "bidding_certPrivate.pem" CRT_PATH = "bidding.crt"
// 私钥文件路径 - 加密
private static String PEM_PATH = "admin_certPrivateNew.pem";
private static String PEM_PATH = "bidding_certPrivate.pem";
// 证书文件路径 - 解密
private static String CRT_PATH = "adminNew.crt";
private static String CRT_PATH = "bidding.crt";
@Value("${mconfig.bss.app-id}")
private String app_id;
@Value("${mconfig.bss.app-secret}")
private String app_secret;
@Value("${mconfig.bss.app-url-test}")
private String app_url_test;
@Value("${mconfig.bss.app-url}")
private String app_url;
/**
* 调用天擎接口
@ -77,6 +76,20 @@ public class CrypConfigureServiceImpl extends BaseServiceImpl<CrypConfigureMappe
BlockChainLog blockChainLog = new BlockChainLog();
blockChainLog.setId(PropertyUtils.getSnowflakeId());
//天擎地址
if(app_secret.equals("1mb6n6635cJkDb3pEQPUFXc2nRJ8RPaS")){
//测试环境
bean.setUrl(bean.getUrl().replace(app_url,app_url_test));
PEM_PATH = "admin_certPrivateNew.pem";
CRT_PATH = "adminNew.crt";
}else{
PEM_PATH = "bidding_certPrivate.pem";
CRT_PATH = "bidding.crt";
//生产环境
bean.setUrl(bean.getUrl().replace(app_url_test,app_url));
}
log.info("加密文件:"+PEM_PATH);
log.info("解密文件:"+CRT_PATH);
log.info("请求路径:"+bean.getUrl());
blockChainLog.setInterfaceUrl(bean.getUrl());
try {
@ -153,7 +166,7 @@ public class CrypConfigureServiceImpl extends BaseServiceImpl<CrypConfigureMappe
log.info("加密参数1:"+object);
String json = JSONArray.toJSONString(object);
Map<String,Object> jsonMap = JSONArray.parseObject(json,Map.class);
Map<String,Object> jsonMap = JSONArray.parseObject(json);
Object signObject = new Object();
if(jsonMap.get("BODY_LIST")!=null){
@ -200,14 +213,23 @@ public class CrypConfigureServiceImpl extends BaseServiceImpl<CrypConfigureMappe
uniBss.setUniBssHead(head);
UniReqHead reqhead = new UniReqHead();
reqhead.setSystemId("990001");
//测试写死
String accessToken = "MQjkzVoYoSHe6r/3uZm0MV/TLx+n8PS9ivfPhgY4bWmh+8DVxj7vTC15xbBkuV8oujD3XBZPP7PhcWag9UU5IzsUBT7PSwPhqi/fUqa+iAWhCWpvyihG/23BAY3rJyaoa3OdMNSnIh8woPDCJQTzCTpNtg0toKwdWnuc2mig7vI0Lm9lePvrx3XxFLSaFr+jB5C3qnAX4uUBioZzithSjtra1QUK6S1cb9DCmpj6NRI=";
//SystemId测试环境 990001 生产环境 74
if(app_secret.equals("1mb6n6635cJkDb3pEQPUFXc2nRJ8RPaS")){
//测试环境
reqhead.setSystemId("990001");
}else{
//生产环境
reqhead.setSystemId("74");
accessToken = AccessToken.tokenCreate("bidding");
accessToken = accessToken.replaceAll("\n","");
log.info("获取token:"+accessToken);
}
reqhead.setSystemName("bidding");
reqhead.setUserId(service.getCacheUser().getUserId()!=null?service.getCacheUser().getUserId():"dzztb");
reqhead.setUserName(service.getCacheUser().getUserId()!=null?service.getCacheUser().getUserId():"dzztb");
//测试写死
String accessToken = "MQjkzVoYoSHe6r/3uZm0MV/TLx+n8PS9ivfPhgY4bWmh+8DVxj7vTC15xbBkuV8oujD3XBZPP7PhcWag9UU5IzsUBT7PSwPhqi/fUqa+iAWhCWpvyihG/23BAY3rJyaoa3OdMNSnIh8woPDCJQTzCTpNtg0toKwdWnuc2mig7vI0Lm9lePvrx3XxFLSaFr+jB5C3qnAX4uUBioZzithSjtra1QUK6S1cb9DCmpj6NRI=";
//String accessToken = AccessToken.tokenCreate("bidding");
reqhead.setAccessToken(accessToken);
@ -219,8 +241,8 @@ public class CrypConfigureServiceImpl extends BaseServiceImpl<CrypConfigureMappe
Map reqMap = new HashMap();
reqMap.put(reqName,req);
uniBss.setUniBssBodyMap(reqMap);
log.info("业务参数封装后:"+reqMap);;
log.info("业务参数封装后:"+reqMap);
log.info("业务参数封装后uniBss"+uniBss);
return JSON.toJSONString(uniBss);
}
@ -257,10 +279,36 @@ public class CrypConfigureServiceImpl extends BaseServiceImpl<CrypConfigureMappe
return false;
}
public static Map<String,Object> parseJSON2Map(String jsonStr){
Map<String,Object> map = new HashMap<String,Object>();
Map strmap = JSONArray.parseObject(jsonStr,Map.class);
for(Object k : strmap.keySet()){
Object v = strmap.get(k);
if(v instanceof JSONArray){
List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();
Iterator it = ((JSONArray)v).iterator();
while (it.hasNext()){
Object json2 = it.next();
list.add(parseJSON2Map(json2.toString()));
}
map.put(k.toString(),list);
}else{
map.put(k.toString(),v);
}
}
return map;
}
public static void main(String[] args) throws ClassNotFoundException, IllegalAccessException, InstantiationException, UnsupportedEncodingException {
// String token = AccessToken.tokenCreate("123");
// System.out.println(token);
//String json = "{\"RESULT_ID\":\"1\",\"TP_ID\":\"2\",\"SECTION_ID\":\"3\",\"REPORT_ID\":\"4\",\"RESULTDETAIL\":[{\"RESULT_DETAIL_ID\":\"51\",\"RESULT_ID\":\"52\",\"TENDERER_ID\":\"53\",\"WINNER_CANDIDATE\":\"54\",\"PRICE\":\"55\",\"PRICE_REVIEW\":\"56\",\"BUSINESS_SCORE\":\"57\",\"TECHNICAL_SCORE\":\"58\",\"SERVICE_SCORE\":\"59\",\"PRICE_SCORE\":\"60\",\"TOTAL_SCORE\":\"61\",\"CONTRACTED_MONEY\":\"62\",\"TAX_RATE_PRICE\":\"63\",\"SCOREDETAIL\":[{\"RESULT_DETAIL_ID\":\"71\",\"TENDERER_ID\":\"72\",\"USER_ID\":\"73\",\"BUSINESS_SCORE\":\"74\",\"TECHNICAL_SCORE\":\"75\",\"SERVICE_SCORE\":\"76\",\"PRICE_SCORE\":\"77\"}]}]}";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//format.setTimeZone(TimeZone.getTimeZone("GMT"));
String date = format.format(new Date());
String token = AccessToken.tokenCreate("bidding");
System.out.println(token);
// example of HashMap entity, treeMap can also work out,
// but LinkedHashMap is NOT supported
// Map<String,Object> mapb= new HashMap<>();
@ -275,25 +323,24 @@ public class CrypConfigureServiceImpl extends BaseServiceImpl<CrypConfigureMappe
// List list = new ArrayList();
// list.add(map);
//mapb.put("BODY_LIST",list);
String json = "{\"BODY_LIST\":[{\"AMOUNT\":\"0\",\"SHOPPINGCART_ID\":\"1434792850257195008\",\"TENDERER_ID\":\"100002372\",\"TP_ID\":\"1433613698540576768\",\"SECTION_ID\":\"1433613698543464448\"}]}";
Map jsonMap = JSONArray.parseObject(json,Map.class);
CrypConfigureServiceImpl crypService = new CrypConfigureServiceImpl();
CrypBean bean = new CrypBean();
bean = crypService.signObject(jsonMap);
// String json = "{\"BODY_LIST\":[{\"AMOUNT\":\"0\",\"SHOPPINGCART_ID\":\"1434792850257195008\",\"TENDERER_ID\":\"100002372\",\"TP_ID\":\"1433613698540576768\",\"SECTION_ID\":\"1433613698543464448\"}]}";
// Map jsonMap = parseJSON2Map(json);
// System.out.println(jsonMap);
// CrypConfigureServiceImpl crypService = new CrypConfigureServiceImpl();
//
// CrypBean bean = new CrypBean();
//
// String key = crypService.getSignValue(jsonMap);
// System.out.println(key);
//bean.setObject(jsonMap);
//bean.setSign("MEUCIQCqbcS4d8je+XvTwlSJ1/5IEgiZBYgJlQ+nU/oi2ZeLAgIgd+SZ72Hk8xdKhcVnxwrFsIL6gHMKOFDIbo4nLzmYroM=");
System.out.println(bean);
// System.out.println(bean);
//System.out.println("signature of Map: "+bean.getSign());
//System.out.println("signature object of Map: "+bean.getObject());
//byte[] b = JSON.toJSONBytes(bean.getObject(), new SerializerFeature[]{SerializerFeature.MapSortField, SerializerFeature.SortField});
//System.out.println("signature object2 of Map: "+new String(b));
boolean isOk = crypService.verifyObject(bean);
System.out.println("verify result of Map: "+ isOk);
// boolean isOk = crypService.verifyObject(bean);
// System.out.println("verify result of Map: "+ isOk);

View File

@ -218,7 +218,7 @@ public class DfhzExportServiceImpl implements ExportService {
BidEvalDetailSummaryVO detailSummary = detailScore.stream().filter(f -> f.getSupplierRegisterId().equals(vo.getId())).findFirst().orElseGet(BidEvalDetailSummaryVO::new);
Map<String, BidEvalDetailJudgesSummaryVO> memberScoreMap = detailSummary.getScoreMap();
for (JuryPrintVO memberVO : memberAll) {
if (memberScoreMap.containsKey(memberVO.getUserId())) {
if (memberScoreMap != null && memberScoreMap.containsKey(memberVO.getUserId())) {
BigDecimal score = memberScoreMap.get(memberVO.getUserId()).getScore();
this.createCell(row, cellIndex++, cellStyle, score == null ? "" : String.valueOf(score));
}

View File

@ -18,7 +18,7 @@ import java.util.List;
public interface TenderFeignService {
@ApiOperation("查询评审室下初审投标状态")
@GetMapping("/v1/supplier_register/room/tender/{roomId}")
@GetMapping("v1/supplier_register/room/downloaded/{roomId}")
BaseResponse<List<BizSupplierRegister>> queryRoomTenderCount(@ApiParam(value = "评审室id", required = true) @PathVariable String roomId);
}

View File

@ -0,0 +1,39 @@
package com.chinaunicom.mall.ebtp.extend.userinfo.controller;
import com.chinaunicom.mall.ebtp.cloud.userinfo.starter.service.UserInfoService;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseCacheUser;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
@RequestMapping("/v1/userinfo/")
public class UserInfoController {
@Autowired
private UserInfoService service;
/**
* 获取用户信息
*
* @param token (认证token)
* @return
*/
@GetMapping("get")
public ResponseEntity<BaseCacheUser> getUserInfo(
@RequestHeader(name = "Authorization", required = false) String token) {
if (StringUtils.isEmpty(token)) {
log.error("access token is empty");
return ResponseEntity.status(HttpStatus.UNAUTHORIZED).build();
}
return ResponseEntity.ok(service.getUserInfo(token));
}
}

View File

@ -0,0 +1,179 @@
server:
port: 18018
servlet:
context-path: /
seata:
service:
vgroup-mapping:
biz-service-ebtp-extend-service-group: seata-server-jl
registry:
type: eureka
eureka:
serviceUrl: http://eureka-1-svc:8080/eureka,http://eureka-2-svc:8080/eureka,http://eureka-3-svc:8080/eureka
# 对应 apollo 配置中心的应用名
app:
id: biz-service-ebtp-extend
# Apollo 配置信息
apollo:
meta: http://10.242.31.54:6001
bootstrap:
namespace: application
enabled: true
eagerLoad:
enabled: true
spring:
aop:
auto: true #开启spring的aop配置
proxy-target-class: true
application:
name: biz-service-ebtp-extend
shardingsphere:
datasource:
names: ds0
ds0:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
username: mall
password: unicom
jdbc-url: jdbc:mysql://10.125.160.37:3306/ebtp_mall_extend?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
url: jdbc:mysql://10.125.160.37:3306/ebtp_mall_extend?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
filters: stat,wall,log4j
maxActive: 20
initialSize: 1
maxWait: 60000
minIdle: 1
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: select 'x'
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
poolPreparedStatements: true
maxOpenPreparedStatements: 20
connection-properties: druid.stat.merggSql=ture;druid.stat.slowSqlMillis=5000
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
serialization:
write-dates-as-timestamps: false
# 天宫Kafka增加了安全认证需要配置安全属性
kafka:
bootstrap-servers: 10.125.164.24:32002,10.125.164.192:32096,10.125.164.89:32002
template:
default-topic: jl_eshop
# 生产者配置参数
producer:
client-id: core-service-ebtp-crypt
properties:
security.protocol: SASL_PLAINTEXT
sasl.mechanism: SCRAM-SHA-256
sasl.jaas.config: org.apache.kafka.common.security.scram.ScramLoginModule required username="eshop-kafka-sim" password="Unicom#135";
# 消费者配置参数
consumer:
group-id: core-service-ebtp-crypt-consumer
auto-offset-reset: latest
properties:
security.protocol: SASL_PLAINTEXT
sasl.mechanism: SCRAM-SHA-256
sasl.jaas.config: org.apache.kafka.common.security.scram.ScramLoginModule required username="eshop-kafka-sim" password="Unicom#135";
# 生产区 redis 配置
redis:
sentinel:
master: eshop-redis-sim
nodes: 10.125.164.24:32510,10.125.164.90:32515,10.125.164.89:32516
password: Unicom#135
# 天宫Eureka配置
eureka:
client:
service-url:
defaultZone: http://eureka-1-svc:8080/eureka,http://eureka-2-svc:8080/eureka,http://eureka-3-svc:8080/eureka
instance:
prefer-ip-address: true
instance-ip: ${spring.cloud.client.ip-address}:${server.port}
mybatis-plus:
configuration:
# 是否开启自动驼峰命名规则映射:从数据库列名到Java属性驼峰命名的类似映射
map-underscore-to-camel-case: true
auto-mapping-behavior: full
# 这个配置会将执行的sql打印出来在开发或测试的时候可以用
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
mapper-locations: classpath*:com/chinaunicom/mall/ebtp/**/mapper/*Mapper.xml
global-config:
# 逻辑删除配置
db-config:
# logic-delete-field: flag # 全局逻辑删除的实体字段名(since 3.3.0,配置后可以忽略不配置步骤2) @TableLogic
logic-delete-value: deleted # 逻辑已删除值
logic-not-delete-value: normal # 逻辑未删除值
# --------------feign ------------
feign:
httpclient:
enabled: false
okhttp:
enabled: true
client:
config:
default:
connect-timeout: 20000
read-timeout: 20000
hystrix:
command:
default:
execution:
timeout:
enabled: true
isolation:
strategy: SEMAPHORE
thread:
timeoutInMilliseconds: 200000 #熔断超时时间
circuitBreaker:
sleepWindowInMilliseconds: 20000
forceClosed: true
ribbon:
ReadTimeout: 20000 #请求处理的超时时间
ConnectTimeout: 20000 #请求连接超时时间
MaxAutoRetries: 0 #对当前实例的重试次数
MaxAutoRetriesNextServer: 1 #切换实例的重试次数 1
mconfig:
workerId: 1
datacenterId: 1
# 服务名
feign:
name:
open: biz-service-ebtp-opening #开标大厅服务
process: biz-service-ebtp-process #评审流程服务
project: biz-service-ebtp-project #项目服务
resps: biz-service-ebtp-resps #应答结构化服务
rsms: biz-service-ebtp-rsms #评审结构化服务
tender: biz-service-ebtp-tender #投标服务
documentcenter: core-service-document-center #文档中心
usercenter: core-service-usercenter-public #用户中心
document:
clientHttpUrl: http://10.242.31.54:8100/auth/oauth/token?grant_type=client_credentials&client_id=bVS46ElU&client_secret=58ea04ba02475c8da2321cc99849d2a10f15b749
# 用户暴露给 prometheus 的健康数据
management:
endpoints:
web:
exposure:
include: "*"
cors:
allowed-origins: "*"
allowed-methods: "*"

View File

@ -0,0 +1,17 @@
-----BEGIN CERTIFICATE-----
MIICtjCCAlygAwIBAgIUe215ilr4OdlnuVCXfgTrqJrcqpcwCgYIKoZIzj0EAwIw
ezELMAkGA1UEBhMCQ04xETAPBgNVBAgTCFNoYW5Eb25nMQ4wDAYDVQQHEwVKaU5h
bjEiMCAGA1UEChMZc2V0dGxlc3VwcGx5Y2hhaW40cnN1cHBseTElMCMGA1UEAxMc
Y2Euc2V0dGxlc3VwcGx5Y2hhaW40cnN1cHBseTAeFw0yMTA4MjYwODAwMDBaFw0y
MjA4MjYwODA1MDBaMDkxHjANBgNVBAsTBmNsaWVudDANBgNVBAsTBnN1cHBseTEX
MBUGA1UEAwwOYmlkZGluZ0BzdXBwbHkwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNC
AARrEnl3cvS8/iptIoDWCbzdEDYBmCPQLQSsCfiv+qSJ3dx0UQv16t0v1JaL6ihp
N5GwdGn16k8gLER0Z3Pivhyko4H/MIH8MA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMB
Af8EAjAAMB0GA1UdDgQWBBQqt95Q16+r/2QBxPOt9baxT6hRCzArBgNVHSMEJDAi
gCCoEmkNovEkOgVGTQoOz5I4GjY1A8RZIA08NVJkoU/TczAnBgNVHREEIDAeghxi
YWFzLWZhYnJpYy03ZjY2ODU1Y2ZmLTZ4NThyMGcGCCoDBAUGBwgBBFt7ImF0dHJz
Ijp7ImhmLkFmZmlsaWF0aW9uIjoic3VwcGx5IiwiaGYuRW5yb2xsbWVudElEIjoi
YmlkZGluZ0BzdXBwbHkiLCJoZi5UeXBlIjoiY2xpZW50In19MAoGCCqGSM49BAMC
A0gAMEUCIQCjRuJ4PjFSQxpBZGLrYF7AkwkzV+tWpHRoWffYWnAGWgIgP8L6WIBC
CRrxg9Jv/oB2MNAHjaw6WLJdpSjB2Xv/QCs=
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgXgGSyYeypZ4JK9Au
gOxkTu0Yj2SMVkzcKZOC1Pe2LRqhRANCAARrEnl3cvS8/iptIoDWCbzdEDYBmCPQ
LQSsCfiv+qSJ3dx0UQv16t0v1JaL6ihpN5GwdGn16k8gLER0Z3Pivhyk
-----END PRIVATE KEY-----