Merge remote-tracking branch 'remotes/origin/uat' into dev
# Conflicts: # pom.xml
This commit is contained in:
@ -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
BIN
lib/access_token1.3.jar
Normal file
Binary file not shown.
27
pom.xml
27
pom.xml
@ -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,28 +20,9 @@
|
||||
<dependency>
|
||||
<groupId>com.chinaunicom.mall.ebtp</groupId>
|
||||
<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>
|
||||
<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>
|
||||
@ -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
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.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);
|
||||
|
||||
|
||||
|
||||
|
@ -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));
|
||||
}
|
||||
|
@ -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);
|
||||
|
||||
}
|
||||
|
@ -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