Merge remote-tracking branch 'origin/master'

This commit is contained in:
ajaxfan
2021-02-23 15:09:23 +08:00
23 changed files with 259 additions and 170 deletions

View File

@ -146,9 +146,17 @@ public enum ProjectExceptionEnum implements BusinessExceptionAssert {
FRAME_EXCEPTION_PROJECT_SECTION_UPDATE_CHOOSE_PROCESS(110064, "标段流程信息不能为空,请选择流程!"),
FRAME_EXCEPTION_INQUIRY_REVIEW_START_TIME_EMPTY(110065,"询价评审开始时间不能为空不能为空"),
FRAME_EXCEPTION_INQUIRY_REVIEW_START_TIME_EMPTY(110065,"询价评审开始时间不能为空"),
FRAME_EXCEPTION_INQUIRY_END_TIME_EMPTY(110066,"询价评审报价截止时间不能为空不能为空"),
FRAME_EXCEPTION_INQUIRY_END_TIME_EMPTY(110066,"询价评审报价截止时间不能为空"),
FRAME_EXCEPTION_INQUIRY_NOTICE_STATUS_EMPTY(110067,"询价返回通知状态不能为空"),
FRAME_EXCEPTION_INQUIRY_RESPONSE_FORMAT_LIST_EMPTY(110068,"询价应答格式列表不能为空"),
FRAME_EXCEPTION_INQUIRY_RESPONSE_FORMAT_LIST_CODE_EMPTY(110069,"询价应答格式列表数据中类别编码不能为空"),
FRAME_EXCEPTION_PROJECT_ENTRUST_PURP_IMPLEMENT_NO_EMPTY(110070, "项目委托信息实施项目编号不能为空!"),
;
/**

View File

@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.RequestParam;
* @author daixc
* @date 2020/11/25
*/
@FeignClient(value = ServiceNameConstants.AUCTION_SERVICE)
@FeignClient(value = "${mconfig.service-name-auction}")
public interface EbtpAuctionApi {
/**
* 出始化竞拍项目信息

View File

@ -12,7 +12,7 @@ import org.springframework.web.bind.annotation.RequestParam;
* @author daixc
* @date 2020/11/25
*/
@FeignClient(value = ServiceNameConstants.CALIBRATION_SERVICE)
@FeignClient(value = "${mconfig.service-name-calibration}")
public interface EbtpCalibrationApi {
/**

View File

@ -20,7 +20,7 @@ import java.util.List;
* @author daixc
* @date 2020/11/25
*/
@FeignClient(value = ServiceNameConstants.BID_SERVICE, fallbackFactory = EbtpMallBidClientFallback.class)
@FeignClient(value = "${mconfig.service-name-bid}", fallbackFactory = EbtpMallBidClientFallback.class)
public interface EbtpMallBidApi {
/**

View File

@ -18,7 +18,7 @@ import java.util.Map;
* @author daixc
* @date 2020/11/25
*/
@FeignClient(value = ServiceNameConstants.PROCESS_SERVICE,fallbackFactory = EbtpMallProcessClientFallback.class)
@FeignClient(value = "${mconfig.service-name-process}",fallbackFactory = EbtpMallProcessClientFallback.class)
public interface EbtpMallProcessApi {
/**

View File

@ -15,7 +15,7 @@ import java.util.List;
* @author daixc
* @date 2020/11/25
*/
@FeignClient(value = ServiceNameConstants.RESPS_SERVICE)
@FeignClient(value = "${mconfig.service-name-resps}")
public interface EbtpRespsApi {
/**

View File

@ -14,7 +14,7 @@ import org.springframework.web.bind.annotation.RequestParam;
* @author daixc
* @date 2020/11/25
*/
@FeignClient(value = ServiceNameConstants.RSMS_SERVICE)
@FeignClient(value = "${mconfig.service-name-rsms}")
public interface EbtpRsmsApi {
/**

View File

@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.RequestParam;
* @author daixc
* @date 2020/11/25
*/
@FeignClient(value = ServiceNameConstants.TENDER_SERVICE)
@FeignClient(value = "${mconfig.service-name-tender}")
public interface EbtpTenderApi {
/**

View File

@ -16,7 +16,6 @@ import java.util.List;
* @date 2020/11/25
*/
@FeignClient(value = "${mconfig.service-name-purp}",fallbackFactory = EbtpProjectClientFallback.class)
//@FeignClient(name="mall-purp", url = "http://10.92.119.64:7777/api/mall-purp" ,fallbackFactory = EbtpProjectClientFallback.class)
public interface MallPurpApi {
/**
* 方案招标失败接口
@ -26,7 +25,7 @@ public interface MallPurpApi {
* @param failStatus 招标失败code
* @param failCause 招标失败原因
*/
@PostMapping("/v1/purpImplement/projInvitationFail")
@PostMapping("/api/mall-purp/v1/purpImplement/projInvitationFail")
BaseResponse projInvitationFail(@RequestParam("purpImplmentId") String purpImplmentId,
@RequestBody List<String> projIds,
@RequestParam("failStatus") String failStatus,
@ -38,8 +37,8 @@ public interface MallPurpApi {
* @param purpImplmentId 项目实施ID
* @return 返回结果
*/
@PostMapping("/v1/purpBaseInfo/findDataByPurpImplmentId")
BaseResponse<PurpImplementSendVO> findDataByPurpImplmentId(@RequestParam("purpImplmentId") String purpImplmentId);
@PostMapping("/api/mall-purp/v1/purpBaseInfo/findDataByPurpImplmentId")
BaseResponse<PurpImplementSendVO> findDataByPurpImplmentId(@RequestParam("purpImplmentId") Long purpImplmentId);
}

View File

@ -12,7 +12,6 @@ import org.springframework.web.bind.annotation.RequestParam;
* @date 2020/12/21
*/
@FeignClient(value = "${mconfig.service-name-resu}",fallbackFactory = MallResuClientFallback.class)
//@FeignClient(name="mall-resu",url = "http://3g6422829c.wicp.vip:38002/api/mall-resu",fallbackFactory = MallResuClientFallback.class)
public interface MallResuApi {
/**

View File

@ -0,0 +1,26 @@
package com.chinaunicom.mall.ebtp.project.feign;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.project.feign.fallback.PriceQueryApiClientFallback;
import com.chinaunicom.mall.ebtp.project.projectentrust.entity.inquiryentity.InquiryNoticeVO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
/**
* 询价流程 访问API
* @author daixc
* @date 2020/12/21
*/
@FeignClient(value = "${mconfig.service-price-query}")
//@FeignClient(name="biz-service-price-query",url = "http://172.16.15.75.vaiwan.com/",fallbackFactory = PriceQueryApiClientFallback.class)
public interface PriceQueryApi {
/**
* 招投标推送询价单是否可以发布
* @param vo 推送实体
* @return 返回结果
*/
@PostMapping("/outer/v1.0/inquiryInterface/updateInquiryAllowPublish")
BaseResponse updateInquiryAllowPublish(@RequestBody InquiryNoticeVO vo);
}

View File

@ -12,7 +12,6 @@ import org.springframework.web.bind.annotation.RequestBody;
* @date 2020/12/21
*/
@FeignClient(value = "${mconfig.service-name-wfap}")
//@FeignClient(name="mall-wfap",url = "http://353u66p423.wicp.vip:48187/api/wfap/")
public interface WfapApi {
@ -21,6 +20,6 @@ public interface WfapApi {
* @param approve 实施项目id
* @return 返回结果
*/
@PostMapping("/v1/approve/auto/audit/start")
@PostMapping("/api/mall-wfap/v1/approve/auto/audit/start")
BaseResponse start(@RequestBody Approve approve);
}

View File

@ -24,7 +24,7 @@ public class WfProjectConfigTask implements Serializable {
/**
*
*/
@ApiModelProperty(value = "主键")
@ApiModelProperty(value = "")
private String id;
/**
@ -37,7 +37,7 @@ public class WfProjectConfigTask implements Serializable {
* 流程定义ID
*/
@ApiModelProperty(value = "流程定义ID")
private Long defId;
private String defId;
/**
* 流程节点顺序
@ -49,6 +49,6 @@ public class WfProjectConfigTask implements Serializable {
* 角色Id
*/
@ApiModelProperty(value = "角色Id")
private Long roleId;
private String roleId;
}

View File

@ -34,7 +34,7 @@ public class EbtpProjectClientFallback implements FallbackFactory<MallPurpApi> {
}
@Override
public BaseResponse<PurpImplementSendVO> findDataByPurpImplmentId(String purpImplmentId) {
public BaseResponse<PurpImplementSendVO> findDataByPurpImplmentId(Long purpImplmentId) {
return null;
}
};

View File

@ -0,0 +1,28 @@
package com.chinaunicom.mall.ebtp.project.feign.fallback;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.project.feign.PriceQueryApi;
import com.chinaunicom.mall.ebtp.project.projectentrust.entity.inquiryentity.InquiryNoticeVO;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
/**
* 询价接口返回
* @author daixc
* @date 2021/02/19
*/
@Slf4j
@Component
public class PriceQueryApiClientFallback implements FallbackFactory<PriceQueryApi> {
@Override
public PriceQueryApi create(Throwable throwable) {
throwable.printStackTrace();
return new PriceQueryApi() {
@Override
public BaseResponse updateInquiryAllowPublish(InquiryNoticeVO vo) {
return null;
}
};
}
}

View File

@ -320,7 +320,7 @@ public class ProjBaseInfoVO{
private LocalDateTime recruitEndTime;
@ApiModelProperty(value = "创建人")
private Long createBy;
private String createBy;
@ApiModelProperty(value = "创建时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")

View File

@ -5,6 +5,8 @@ package com.chinaunicom.mall.ebtp.project.projectentrust.entity.ebpentity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -51,8 +53,12 @@ public class ProjSuppRelVO{
private String suppName;
@ApiModelProperty(value = "供应商id")
@JsonSerialize(using = ToStringSerializer.class)
private Long suppId;
@ApiModelProperty(value = "纳税人类型")
private String taxpayerType;
@ApiModelProperty(value = "终止环节ID")
private Long disuseStageId;
@ -74,6 +80,7 @@ public class ProjSuppRelVO{
private String remark;
@ApiModelProperty(value = "供应商联系人id")
@JsonSerialize(using = ToStringSerializer.class)
private Long suppLinkManId;
@ApiModelProperty(value = "供应商联系人姓名")
@ -103,17 +110,39 @@ public class ProjSuppRelVO{
@ApiModelProperty(value = "账户")
private String account;
@ApiModelProperty(value = "创建人")
private String createBy;
@ApiModelProperty(value = "创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private LocalDateTime createDate;
@ApiModelProperty(value = "更新人")
private String updateBy;
@ApiModelProperty(value = "更新时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private LocalDateTime updateDate;
@ApiModelProperty(value = "租户标识")
private String tenantId;
@ApiModelProperty(value = "租户名称")
private String tenantName;
@ApiModelProperty(value = "逻辑删除")
private String deleteFlag;
@ApiModelProperty(value = "最后更新时间戳")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private LocalDateTime lastUpdateTime;
@ApiModelProperty(value = "乐观锁")
private String versions;
@ApiModelProperty(value = "备用字段1")
private String attribute1;

View File

@ -84,7 +84,7 @@ public class PurpSuperVO{
private LocalDateTime lastUpdateTime;
@ApiModelProperty("创建人")
private Long createBy;
private String createBy;
@ApiModelProperty("创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ -92,7 +92,7 @@ public class PurpSuperVO{
private LocalDateTime createDate;
@ApiModelProperty("编辑人")
private Long updateBy;
private String updateBy;
@ApiModelProperty("编辑时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")

View File

@ -121,6 +121,7 @@ public class ProjectEntrustInquiryServiceImpl extends BaseServiceImpl<ProjectEnt
@Override
public boolean inquiryNotice(InquiryNoticeVO inquiryNoticeVO) {
boolean result = false;
ProjectExceptionEnum.FRAME_EXCEPTION_INQUIRY_NOTICE_STATUS_EMPTY.customValid(null == inquiryNoticeVO.getInquiryNoticeStatus());
switch (inquiryNoticeVO.getInquiryNoticeStatus()){
case ProjectCommonUtil.INQUIRY_NOTICE_STATUS_0:result = initInquiryProject(inquiryNoticeVO);break;
case ProjectCommonUtil.INQUIRY_NOTICE_STATUS_1:result = exceptionService.saveInquiryException(inquiryNoticeVO);break;
@ -234,15 +235,6 @@ public class ProjectEntrustInquiryServiceImpl extends BaseServiceImpl<ProjectEnt
if(!response.isSuccess()){
ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_ENTRUST_NOT_FIND.customValidName(response.getMessage(),!response.isSuccess());
}
//修改评审室开始时间
// Map<String, LocalDateTime> updateProcessMap = new HashMap<>(16);
// updateProcessMap.put(sectionId,inquiryVO.getReviewStartTime());
//
// response = processApi.updateOpenTime(updateProcessMap);
// if(!response.isSuccess()){
// log.info("初始化询价项目 评审时间返回结果:"+ JsonUtils.objectToJson(response));
// ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_ENTRUST_NOT_FIND.customValidName(response.getMessage(),!response.isSuccess());
// }
}
/**
@ -357,5 +349,16 @@ public class ProjectEntrustInquiryServiceImpl extends BaseServiceImpl<ProjectEnt
if(!isExistInquiryFile){
ProjectExceptionEnum.FRAME_EXCEPTION_INQUIRY_ATTACHMENT_LIST_EMPTY.throwException();
}
//询价应答格式不能为空
if(null == inquiryVO.getResponseFormatList() || inquiryVO.getResponseFormatList().size() <= 0){
ProjectExceptionEnum.FRAME_EXCEPTION_INQUIRY_RESPONSE_FORMAT_LIST_EMPTY.throwException();
}else{
//询价应答格式code不能为空
long isEmptyCodeCount = inquiryVO.getResponseFormatList().stream().filter(n -> StringUtils.isEmpty(n.getCode())).count();
if(isEmptyCodeCount > 0){
ProjectExceptionEnum.FRAME_EXCEPTION_INQUIRY_RESPONSE_FORMAT_LIST_CODE_EMPTY.throwException();
}
}
}
}

View File

@ -18,6 +18,7 @@ import com.chinaunicom.mall.ebtp.project.common.ProjectCommonUtil;
import com.chinaunicom.mall.ebtp.project.common.ProjectExceptionEnum;
import com.chinaunicom.mall.ebtp.project.feign.EbtpAuctionApi;
import com.chinaunicom.mall.ebtp.project.feign.MallPurpApi;
import com.chinaunicom.mall.ebtp.project.feign.PriceQueryApi;
import com.chinaunicom.mall.ebtp.project.projectentrust.dao.ProjectEntrustMapper;
import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ProjectEntrust;
import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ProjectEntrustExpand;
@ -26,7 +27,7 @@ import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ebpentity.ProjBas
import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ebpentity.PurpBaseInfoVO;
import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ebpentity.PurpImplementSendVO;
import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ebpentity.PurpSuperVO;
import com.chinaunicom.mall.ebtp.project.projectentrust.entity.inquiryentity.InquiryVO;
import com.chinaunicom.mall.ebtp.project.projectentrust.entity.inquiryentity.InquiryNoticeVO;
import com.chinaunicom.mall.ebtp.project.projectentrust.service.IProjectEntrustExpandService;
import com.chinaunicom.mall.ebtp.project.projectentrust.service.IProjectEntrustService;
import com.chinaunicom.mall.ebtp.project.projectrecord.service.IProjectRecordService;
@ -65,6 +66,9 @@ public class ProjectEntrustServiceImpl extends BaseServiceImpl<ProjectEntrustMap
@Resource
private MallPurpApi mallPurpApi;
@Resource
private PriceQueryApi priceQueryApi;
private static final String METHOD = "initProjectEntrust";
private static final String DESCRIPTION = "项目委托查询采购数据";
@ -156,6 +160,7 @@ public class ProjectEntrustServiceImpl extends BaseServiceImpl<ProjectEntrustMap
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean agencyCompanyDispatch(String id,String remarks) {
ProjectEntrust projectEntrust = this.getById(id);
projectEntrust.setId(id);
@ -164,12 +169,14 @@ public class ProjectEntrustServiceImpl extends BaseServiceImpl<ProjectEntrustMap
boolean result = updateStatus(projectEntrust,ProjectCommonUtil.ENTRUS_STATUS_9);
CommonExceptionEnum.FRAME_EXCEPTION_COMMON_NOT_UPDATE.customValid(!result);
//通知商城询价项目不接受
if(StringUtils.equals(ProjectCommonUtil.PROCUREMENT_MODE_7,projectEntrust.getProcurementMode())){
InquiryVO inquiryVO = new InquiryVO();
InquiryNoticeVO inquiryVO = new InquiryNoticeVO();
inquiryVO.setInquiryId(projectEntrust.getProcurementPlanId());
inquiryVO.setApIsAllowPublish(ProjectCommonUtil.IS_ALLOW_PUBLISH_0);
inquiryVO.setApRefuseReason(remarks);
//todo 发送询价信息通知接口
inquiryVO.setInquiryNoticeStatus(ProjectCommonUtil.INQUIRY_NOTICE_STATUS_1);
inquiryVO.setReason(remarks);
BaseResponse response = priceQueryApi.updateInquiryAllowPublish(inquiryVO);
CommonExceptionEnum.FRAME_EXCEPTION_COMMON_NOT_UPDATE.customValidName(response.getMessage(),!response.isSuccess());
}
return result;
@ -188,12 +195,13 @@ public class ProjectEntrustServiceImpl extends BaseServiceImpl<ProjectEntrustMap
CommonExceptionEnum.FRAME_EXCEPTION_COMMON_NOT_UPDATE.customValid(!result);
//如果询价进行通知 其余出始化项目
//如果询价进行通知 其余出始化项目 项目经理同意 发送可以发布
if(StringUtils.equals(ProjectCommonUtil.PROCUREMENT_MODE_7,projectEntrust.getProcurementMode())){
InquiryVO inquiryVO = new InquiryVO();
InquiryNoticeVO inquiryVO = new InquiryNoticeVO();
inquiryVO.setInquiryId(projectEntrust.getProcurementPlanId());
inquiryVO.setApIsAllowPublish(ProjectCommonUtil.IS_ALLOW_PUBLISH_1);
//todo 发送询价信息通知接口
inquiryVO.setInquiryNoticeStatus(ProjectCommonUtil.INQUIRY_NOTICE_STATUS_0);
BaseResponse response = priceQueryApi.updateInquiryAllowPublish(inquiryVO);
CommonExceptionEnum.FRAME_EXCEPTION_COMMON_NOT_UPDATE.customValidName(response.getMessage(),!response.isSuccess());
}else{
//初始化项目信息
result = projectRecordService.assent(id);
@ -274,7 +282,7 @@ public class ProjectEntrustServiceImpl extends BaseServiceImpl<ProjectEntrustMap
if(isRequestClient){
BaseResponse<PurpImplementSendVO> baseResponse = mallPurpApi.findDataByPurpImplmentId(ebpProjectId);
BaseResponse<PurpImplementSendVO> baseResponse = mallPurpApi.findDataByPurpImplmentId(Long.parseLong(ebpProjectId));
//调用接口 拼装数据
baseOperLogService.addLog(METHOD,JsonUtils.objectToJson(baseResponse),DESCRIPTION,cacheUserService.getCacheUser(),"",true);
@ -519,6 +527,10 @@ public class ProjectEntrustServiceImpl extends BaseServiceImpl<ProjectEntrustMap
ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_ENTRUST_PURP_IMPLEMENT_ID_EMPTY.throwException();
}
if(StringUtils.isEmpty(implementSendVO.getPurpImplementNo())){
ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_ENTRUST_PURP_IMPLEMENT_NO_EMPTY.throwException();
}
PurpSuperVO purpSuperVo = implementSendVO.getPurpSuperVo();
if(null == purpSuperVo){
ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_PURP_SUPER_VO_EMPTY.throwException();

View File

@ -157,7 +157,6 @@ public class ProjectExceptionServiceImpl extends BaseServiceImpl<ProjectExceptio
@Override
@Transactional(rollbackFor = Exception.class)
@GlobalTransactional
public boolean updateState(String id) {
ProjectException projectException = this.getById(id);
@ -269,6 +268,7 @@ public class ProjectExceptionServiceImpl extends BaseServiceImpl<ProjectExceptio
* @param projectException 项目ID
* @param sectionList 项目标段
*/
@GlobalTransactional
private void launchAgainProject(ProjectException projectException,List<ProjectSection> sectionList) {
//查询项目信息

View File

@ -149,7 +149,16 @@ mconfig:
host-name: http://10.242.31.158/
service-name-purp: mall-purp #采购系统委托项目微服务
service-name-wfap: mall-wfap #重新评审 流程微服务
service-name-resu: mall-resu #重新评审 项目中心服务
service-name-resu: mall-resu #重新评审 项目中心查询服务
service-price-query: biz-service-price-query #商城询价服务
#内部服务
service-name-auction: biz-service-ebtp-auction #竞拍服务API
service-name-calibration: biz-service-ebtp-calibration #标段定标接口
service-name-bid: biz-service-ebtp-bid #标段出始化流程
service-name-process: biz-service-ebtp-process #标段出始化流程
service-name-resps: biz-service-ebtp-resps #标段应答文件
service-name-rsms: biz-service-ebtp-rsms #评审微服务
service-name-tender: biz-service-ebtp-tender #标段投标微服务
wfSectionNo: '001'
wfSectionName: 采购方案审批

View File

@ -2,121 +2,98 @@ server:
port: 18012
servlet:
context-path: /
# --------------seata ------------
# 对应 apollo 配置中心的应用名
app:
id: biz-service-ebtp-project-dev
# Apollo 配置信息
apollo:
meta: http://10.242.31.158:6001/
bootstrap:
namespace: application
enabled: true
eagerLoad:
enabled: true
seata:
enabled: true
application-id: ${spring.application.name}
tx-service-group: ${spring.application.name}-group
enable-auto-data-source-proxy: true
use-jdk-proxy: false
service:
vgroup-mapping:
default: default
enable-degrade: false
disable-global-transaction: false
registry:
type: eureka
eureka:
weight: 1
service-url: http://${eureka.instance.hostname}:8761/eureka/
biz-service-ebtp-project-dev-service-group: default
spring:
aop:
auto: true #开启spring的aop配置
proxy-target-class: true
application:
name: biz-service-ebtp-project
name: biz-service-ebtp-project-dev
shardingsphere:
datasource:
# names: ds0,ds1 #主从库名称 开启主从时必须打开
names: ds0
ds0:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
username: mall3-ebtp-dev
password: mall3-ebtp-dev
jdbc-url: jdbc:mysql://125.32.114.204:13306/ebtp_mall_project?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
url: jdbc:mysql://125.32.114.204:13306/ebtp_mall_project?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
# ds1:
# type: com.alibaba.druid.pool.DruidDataSource
# driver-class-name: com.mysql.jdbc.Driver
# username: root
# password: root
# jdbc-url: jdbc:mysql://localhost:3306/seata_order_1?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
# url: jdbc:mysql://localhost:3306/seata_order_1?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
# 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
# masterslave: #读写分离设置
# load-balance-algorithm-type: round_robin #轮询策略
# master-data-source-name: ds0 #主库名称
# slave-data-source-names: ds1 #从库名称
# name: shardingDataSource #数据源名称
props:
sql:
show: true
datasource:
names: ds0
ds0:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: root
jdbc-url: jdbc:mysql://10.242.31.158:3033/ebtp_mall_project?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
url: jdbc:mysql://10.242.31.158:3033/ebtp_mall_project?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
props:
sql:
show: true
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
serialization:
write-dates-as-timestamps: false
# 天宫Kafka增加了安全认证需要配置安全属性
kafka:
bootstrap-servers: 127.0.0.1:9092
bootstrap-servers: 10.125.164.192:32005,10.125.164.193:32005,10.125.164.194:32005
template:
default-topic: jl_test
# 生产者配置参数
producer:
# 写入失败时重试次数。当leader节点失效一个repli节点会替代成为leader节点此时可能出现写入失败
# 当retris为0时produce不会重复。retirs重发此时repli节点完全成为leader节点不会产生消息丢失。
retries: 0
# 每次批量发送消息的数量,produce积累到一定数据一次发送
batch-size: 2
# produce积累数据一次发送缓存大小达到buffer.memory就发送数据
buffer-memory: 33554432
#procedure要求leader在考虑完成请求之前收到的确认数用于控制发送记录在服务端的持久化其值可以为如下
#acks = 0 如果设置为零,则生产者将不会等待来自服务器的任何确认,该记录将立即添加到套接字缓冲区并视为已发送。在这种情况下,无法保证服务器已收到记录,并且重试配置将不会生效(因为客户端通常不会知道任何故障),为每条记录返回的偏移量始终设置为-1。
#acks = 1 这意味着leader会将记录写入其本地日志但无需等待所有副本服务器的完全确认即可做出回应在这种情况下如果leader在确认记录后立即失败但在将数据复制到所有的副本服务器之前则记录将会丢失。
#acks = all 这意味着leader将等待完整的同步副本集以确认记录这保证了只要至少一个同步副本服务器仍然存活记录就不会丢失这是最强有力的保证这相当于acks = -1的设置。
#可以设置的值为all, -1, 0, 1
acks: 1
key-serializer: org.apache.kafka.common.serialization.StringSerializer
value-serializer: org.apache.kafka.common.serialization.StringSerializer
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="jltest" password="Unicom#123";
# 消费者配置参数
consumer:
group-id: user-group
auto-offset-reset: earliest
enable-auto-commit: true
auto-commit-interval: 100
key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
#=========redis基础配置=========
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="jltest" password="Unicom#123";
# 天宫 redis 需要使用哨兵进行访问
redis:
sentinel:
master: eshop-redis
nodes: 10.125.164.124:32718, 10.125.164.118:32716, 10.125.164.121:32716
password: Unicom#135
lettuce:
# jedis:
# jedis:
pool:
maxTotal: 50
minIdle: 1
@ -144,23 +121,14 @@ spring:
password: redis@CC1234
timeout: 6000
#=========eureka配置=========
# 天宫Eureka配置
eureka:
instance:
# eureka 注册路径地址
prefer-ip-address: true
hostname: 125.32.114.204
ip-address: ${eureka.instance.hostname}
instance-id: ${eureka.instance.hostname}:${server.port}
client:
serviceUrl:
defaultZone: http://${eureka.instance.hostname}:8761/eureka/
#=========log配置=========
#logging:
# level:
# org.springframework.cloud.alibaba.seata.web : info
# io.seata : info
client:
service-url:
defaultZone: http://10.242.31.158:5001/eureka,http://10.242.31.158:5002/eureka,http://10.242.31.158:5003/eureka
instance:
prefer-ip-address: true
instance-ip: ${spring.cloud.client.ip-address}:${server.port}
mybatis-plus:
configuration:
@ -177,19 +145,7 @@ mybatis-plus:
logic-not-delete-value: normal # 逻辑删除标记:正常数据
logic-delete-value: deleted # 逻辑删除标记:已删除的数据
type-aliases-package: com.chinaunicom.mall.ebtp.project
# --------------feign ------------
feign:
hystrix:
enabled: true
httpclient:
enabled: true
okhttp:
enabled: true
client:
config:
default:
connect-timeout: 60000
read-timeout: 60000
hystrix:
command:
default:
@ -203,9 +159,10 @@ hystrix:
circuitBreaker:
sleepWindowInMilliseconds: 20000
forceClosed: true
ribbon:
ReadTimeout: 60000 #请求处理的超时时间
ConnectTimeout: 60000 #请求连接超时时间
ReadTimeout: 20000 #请求处理的超时时间
ConnectTimeout: 20000 #请求连接超时时间
MaxAutoRetries: 0 #对当前实例的重试次数
MaxAutoRetriesNextServer: 1 #切换实例的重试次数 1
@ -215,8 +172,28 @@ mconfig:
seata-open-enabled: false
work-id: 1 #终端ID
datacenter-id: 1 #数据中心ID
host-name: http://${eureka.instance.hostname}
host-name: http://10.242.31.158/
service-name-purp: mall-purp #采购系统委托项目微服务
service-name-wfap: wfap #重新评审 流程微服务
service-name-wfap: mall-wfap #重新评审 流程微服务
service-name-resu: mall-resu #重新评审 项目中心查询服务
service-price-query : biz-service-price-query #商城询价服务
#内部服务
service-name-auction: biz-service-ebtp-auction-dev #竞拍服务API
service-name-calibration: biz-service-ebtp-calibration-dev #标段定标接口
service-name-bid: biz-service-ebtp-bid-dev #标段出始化流程
service-name-process: biz-service-ebtp-process-dev #标段出始化流程
service-name-resps : biz-service-ebtp-resps-dev #标段应答文件
service-name-rsms : biz-service-ebtp-rsms-dev #评审微服务
service-name-tender : biz-service-ebtp-tender-dev #标段投标微服务
wfSectionNo: '001'
wfSectionName: 采购方案审批
# 用户暴露给 prometheus 的健康数据
management:
endpoints:
web:
exposure:
include: "*"
cors:
allowed-origins: "*"
allowed-methods: "*"