Merge remote-tracking branch 'remotes/origin/uat' into dev
# Conflicts: # pom.xml
This commit is contained in:
@ -57,7 +57,7 @@ spec:
|
|||||||
containers:
|
containers:
|
||||||
- name: biz-service-ebtp-extend
|
- name: biz-service-ebtp-extend
|
||||||
image: harbor.dcos.xixian.unicom.local/eshop/biz-service-ebtp-extend:latest
|
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:
|
volumeMounts:
|
||||||
- name: log
|
- name: log
|
||||||
mountPath: /log
|
mountPath: /log
|
||||||
|
BIN
lib/access_token1.3.jar
Normal file
BIN
lib/access_token1.3.jar
Normal file
Binary file not shown.
29
pom.xml
29
pom.xml
@ -7,7 +7,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>com.chinaunicom.ebtp</groupId>
|
<groupId>com.chinaunicom.ebtp</groupId>
|
||||||
<artifactId>mall-ebtp-cloud-parent</artifactId>
|
<artifactId>mall-ebtp-cloud-parent</artifactId>
|
||||||
<version>0.0.1-SNAPSHOT</version>
|
<version>2.0.0-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<groupId>com.chinaunicom.mall.ebtp</groupId>
|
<groupId>com.chinaunicom.mall.ebtp</groupId>
|
||||||
@ -20,29 +20,10 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.chinaunicom.mall.ebtp</groupId>
|
<groupId>com.chinaunicom.mall.ebtp</groupId>
|
||||||
<artifactId>uboot-core</artifactId>
|
<artifactId>uboot-core</artifactId>
|
||||||
<version>0.0.1-SNAPSHOT</version>
|
<version>2.0.0-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>
|
|
||||||
</dependency>
|
</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>
|
<dependency>
|
||||||
<groupId>com.deepoove</groupId>
|
<groupId>com.deepoove</groupId>
|
||||||
<artifactId>poi-tl</artifactId>
|
<artifactId>poi-tl</artifactId>
|
||||||
@ -98,9 +79,9 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>cryp.access</groupId>
|
<groupId>cryp.access</groupId>
|
||||||
<artifactId>accessToken</artifactId>
|
<artifactId>accessToken</artifactId>
|
||||||
<version>1.0</version>
|
<version>1.3</version>
|
||||||
<scope>system</scope>
|
<scope>system</scope>
|
||||||
<systemPath>${basedir}/lib/access_token1.1.jar</systemPath>
|
<systemPath>${basedir}/lib/access_token1.3.jar</systemPath>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
|
115
sim.yaml
Normal file
115
sim.yaml
Normal 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]相同
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -3,15 +3,11 @@ package com.chinaunicom.mall.ebtp.extend.crypconfigure.service.impl;
|
|||||||
|
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
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.baas.util.AccessToken;
|
||||||
import com.chinaunicom.mall.ebtp.common.base.service.IBaseCacheUserService;
|
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.base.service.impl.BaseServiceImpl;
|
||||||
import com.chinaunicom.mall.ebtp.common.constant.CommonConstants;
|
import com.chinaunicom.mall.ebtp.common.constant.CommonConstants;
|
||||||
import com.chinaunicom.mall.ebtp.common.crypto.service.CrypServiceImpl;
|
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.exception.common.CommonExceptionEnum;
|
||||||
import com.chinaunicom.mall.ebtp.common.uniBss.constant.UniBssConstant;
|
import com.chinaunicom.mall.ebtp.common.uniBss.constant.UniBssConstant;
|
||||||
import com.chinaunicom.mall.ebtp.common.uniBss.entity.*;
|
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.apache.commons.io.IOUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.core.io.ClassPathResource;
|
|
||||||
import org.springframework.scheduling.annotation.Async;
|
import org.springframework.scheduling.annotation.Async;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.io.UnsupportedEncodingException;
|
import java.io.UnsupportedEncodingException;
|
||||||
import java.net.URL;
|
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
@ -54,16 +48,21 @@ public class CrypConfigureServiceImpl extends BaseServiceImpl<CrypConfigureMappe
|
|||||||
private @Autowired
|
private @Autowired
|
||||||
IBaseCacheUserService service;
|
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}")
|
@Value("${mconfig.bss.app-id}")
|
||||||
private String app_id;
|
private String app_id;
|
||||||
@Value("${mconfig.bss.app-secret}")
|
@Value("${mconfig.bss.app-secret}")
|
||||||
private String 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 blockChainLog = new BlockChainLog();
|
||||||
blockChainLog.setId(PropertyUtils.getSnowflakeId());
|
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());
|
blockChainLog.setInterfaceUrl(bean.getUrl());
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@ -153,7 +166,7 @@ public class CrypConfigureServiceImpl extends BaseServiceImpl<CrypConfigureMappe
|
|||||||
|
|
||||||
log.info("加密参数1:"+object);
|
log.info("加密参数1:"+object);
|
||||||
String json = JSONArray.toJSONString(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();
|
Object signObject = new Object();
|
||||||
|
|
||||||
if(jsonMap.get("BODY_LIST")!=null){
|
if(jsonMap.get("BODY_LIST")!=null){
|
||||||
@ -200,14 +213,23 @@ public class CrypConfigureServiceImpl extends BaseServiceImpl<CrypConfigureMappe
|
|||||||
uniBss.setUniBssHead(head);
|
uniBss.setUniBssHead(head);
|
||||||
|
|
||||||
UniReqHead reqhead = new UniReqHead();
|
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.setSystemName("bidding");
|
||||||
reqhead.setUserId(service.getCacheUser().getUserId()!=null?service.getCacheUser().getUserId():"dzztb");
|
reqhead.setUserId(service.getCacheUser().getUserId()!=null?service.getCacheUser().getUserId():"dzztb");
|
||||||
reqhead.setUserName(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);
|
reqhead.setAccessToken(accessToken);
|
||||||
|
|
||||||
|
|
||||||
@ -219,8 +241,8 @@ public class CrypConfigureServiceImpl extends BaseServiceImpl<CrypConfigureMappe
|
|||||||
Map reqMap = new HashMap();
|
Map reqMap = new HashMap();
|
||||||
reqMap.put(reqName,req);
|
reqMap.put(reqName,req);
|
||||||
uniBss.setUniBssBodyMap(reqMap);
|
uniBss.setUniBssBodyMap(reqMap);
|
||||||
log.info("业务参数封装后:"+reqMap);;
|
log.info("业务参数封装后:"+reqMap);
|
||||||
|
log.info("业务参数封装后uniBss:"+uniBss);
|
||||||
|
|
||||||
return JSON.toJSONString(uniBss);
|
return JSON.toJSONString(uniBss);
|
||||||
}
|
}
|
||||||
@ -257,10 +279,36 @@ public class CrypConfigureServiceImpl extends BaseServiceImpl<CrypConfigureMappe
|
|||||||
return false;
|
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 {
|
public static void main(String[] args) throws ClassNotFoundException, IllegalAccessException, InstantiationException, UnsupportedEncodingException {
|
||||||
// String token = AccessToken.tokenCreate("123");
|
//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\"}]}]}";
|
||||||
// System.out.println(token);
|
|
||||||
|
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,
|
// example of HashMap entity, treeMap can also work out,
|
||||||
// but LinkedHashMap is NOT supported
|
// but LinkedHashMap is NOT supported
|
||||||
// Map<String,Object> mapb= new HashMap<>();
|
// Map<String,Object> mapb= new HashMap<>();
|
||||||
@ -275,25 +323,24 @@ public class CrypConfigureServiceImpl extends BaseServiceImpl<CrypConfigureMappe
|
|||||||
// List list = new ArrayList();
|
// List list = new ArrayList();
|
||||||
// list.add(map);
|
// list.add(map);
|
||||||
//mapb.put("BODY_LIST",list);
|
//mapb.put("BODY_LIST",list);
|
||||||
String json = "{\"BODY_LIST\":[{\"AMOUNT\":\"0\",\"SHOPPINGCART_ID\":\"1434792850257195008\",\"TENDERER_ID\":\"100002372\",\"TP_ID\":\"1433613698540576768\",\"SECTION_ID\":\"1433613698543464448\"}]}";
|
// 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);
|
// Map jsonMap = parseJSON2Map(json);
|
||||||
|
// System.out.println(jsonMap);
|
||||||
|
// CrypConfigureServiceImpl crypService = new CrypConfigureServiceImpl();
|
||||||
|
//
|
||||||
CrypConfigureServiceImpl crypService = new CrypConfigureServiceImpl();
|
// CrypBean bean = new CrypBean();
|
||||||
|
//
|
||||||
CrypBean bean = new CrypBean();
|
// String key = crypService.getSignValue(jsonMap);
|
||||||
|
// System.out.println(key);
|
||||||
bean = crypService.signObject(jsonMap);
|
|
||||||
//bean.setObject(jsonMap);
|
//bean.setObject(jsonMap);
|
||||||
//bean.setSign("MEUCIQCqbcS4d8je+XvTwlSJ1/5IEgiZBYgJlQ+nU/oi2ZeLAgIgd+SZ72Hk8xdKhcVnxwrFsIL6gHMKOFDIbo4nLzmYroM=");
|
//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 of Map: "+bean.getSign());
|
||||||
//System.out.println("signature object of Map: "+bean.getObject());
|
//System.out.println("signature object of Map: "+bean.getObject());
|
||||||
//byte[] b = JSON.toJSONBytes(bean.getObject(), new SerializerFeature[]{SerializerFeature.MapSortField, SerializerFeature.SortField});
|
//byte[] b = JSON.toJSONBytes(bean.getObject(), new SerializerFeature[]{SerializerFeature.MapSortField, SerializerFeature.SortField});
|
||||||
//System.out.println("signature object2 of Map: "+new String(b));
|
//System.out.println("signature object2 of Map: "+new String(b));
|
||||||
boolean isOk = crypService.verifyObject(bean);
|
// boolean isOk = crypService.verifyObject(bean);
|
||||||
System.out.println("verify result of Map: "+ isOk);
|
// System.out.println("verify result of Map: "+ isOk);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -218,7 +218,7 @@ public class DfhzExportServiceImpl implements ExportService {
|
|||||||
BidEvalDetailSummaryVO detailSummary = detailScore.stream().filter(f -> f.getSupplierRegisterId().equals(vo.getId())).findFirst().orElseGet(BidEvalDetailSummaryVO::new);
|
BidEvalDetailSummaryVO detailSummary = detailScore.stream().filter(f -> f.getSupplierRegisterId().equals(vo.getId())).findFirst().orElseGet(BidEvalDetailSummaryVO::new);
|
||||||
Map<String, BidEvalDetailJudgesSummaryVO> memberScoreMap = detailSummary.getScoreMap();
|
Map<String, BidEvalDetailJudgesSummaryVO> memberScoreMap = detailSummary.getScoreMap();
|
||||||
for (JuryPrintVO memberVO : memberAll) {
|
for (JuryPrintVO memberVO : memberAll) {
|
||||||
if (memberScoreMap.containsKey(memberVO.getUserId())) {
|
if (memberScoreMap != null && memberScoreMap.containsKey(memberVO.getUserId())) {
|
||||||
BigDecimal score = memberScoreMap.get(memberVO.getUserId()).getScore();
|
BigDecimal score = memberScoreMap.get(memberVO.getUserId()).getScore();
|
||||||
this.createCell(row, cellIndex++, cellStyle, score == null ? "" : String.valueOf(score));
|
this.createCell(row, cellIndex++, cellStyle, score == null ? "" : String.valueOf(score));
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,7 @@ import java.util.List;
|
|||||||
public interface TenderFeignService {
|
public interface TenderFeignService {
|
||||||
|
|
||||||
@ApiOperation("查询评审室下初审投标状态")
|
@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);
|
BaseResponse<List<BizSupplierRegister>> queryRoomTenderCount(@ApiParam(value = "评审室id", required = true) @PathVariable String roomId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -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));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
179
src/main/resources/application-sim.yml
Normal file
179
src/main/resources/application-sim.yml
Normal 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: "*"
|
17
src/main/resources/bidding.crt
Normal file
17
src/main/resources/bidding.crt
Normal 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-----
|
5
src/main/resources/bidding_certPrivate.pem
Normal file
5
src/main/resources/bidding_certPrivate.pem
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgXgGSyYeypZ4JK9Au
|
||||||
|
gOxkTu0Yj2SMVkzcKZOC1Pe2LRqhRANCAARrEnl3cvS8/iptIoDWCbzdEDYBmCPQ
|
||||||
|
LQSsCfiv+qSJ3dx0UQv16t0v1JaL6ihpN5GwdGn16k8gLER0Z3Pivhyk
|
||||||
|
-----END PRIVATE KEY-----
|
Reference in New Issue
Block a user