@@ -1,127 +1,127 @@ | |||||
package com.trust.ywx.customer.client; | |||||
import com.alibaba.fastjson.JSONObject; | |||||
import com.aliyun.openservices.ons.api.*; | |||||
import com.trust.ywx.customer.common.model.manager.response.FirmBaseDto; | |||||
import com.trust.ywx.customer.service.query.FirmQueryService; | |||||
import lombok.Data; | |||||
import lombok.extern.slf4j.Slf4j; | |||||
import org.springframework.context.annotation.Bean; | |||||
import javax.annotation.Resource; | |||||
import java.util.Map; | |||||
import java.util.Properties; | |||||
import java.util.concurrent.ConcurrentHashMap; | |||||
/** | |||||
* <pre></pre> | |||||
* | |||||
* @文件名称: CustomerClientService.java | |||||
* @包 路 径: com.trust.ywx.customer.client | |||||
* @Copyright:北京数字医信责任有限公司 (C) 2022 * | |||||
* @Description: | |||||
* @Version: V1.0 | |||||
* @Author: hanzhenchao | |||||
* @Date:2022/6/28 14:40 | |||||
* @Modify: | |||||
*/ | |||||
@Slf4j | |||||
@Data | |||||
public class CustomerClientService { | |||||
private String rocketMqHost; | |||||
private String accessKey; | |||||
private String secretKey; | |||||
private String groupID; | |||||
private int ConsumeThreadNums = 10; | |||||
private int MaxReconsumeTimes = 5; | |||||
private static final String TOPIC = "topic_firm_change"; | |||||
@Resource | |||||
private FirmQueryService firmQueryService; | |||||
private static Map<String, FirmBaseDto> localFirmInfoMap = new ConcurrentHashMap<>(); | |||||
private static Map<String, Map<String, String>> localFirmExtendMap = new ConcurrentHashMap<>(); | |||||
/** | |||||
* 获取可信客户详情 | |||||
*/ | |||||
public FirmBaseDto getFirmByClientId(String clientId) { | |||||
FirmBaseDto dto = localFirmInfoMap.get(clientId); | |||||
if (dto != null) { | |||||
return dto; | |||||
} | |||||
// 调用dubbo接口获取最新的客户信息 | |||||
if (firmQueryService == null) { | |||||
//在这里如何再获取一把呢?有无必要? | |||||
} | |||||
dto = firmQueryService.getBaseByClientId(clientId); | |||||
if (null != dto) { | |||||
localFirmInfoMap.put(clientId, dto); | |||||
} | |||||
return dto; | |||||
} | |||||
/** | |||||
* 获取客户属性信息 | |||||
* | |||||
* @param clientId | |||||
* @param propName | |||||
* @return | |||||
*/ | |||||
public String getProp(String clientId, String propName) { | |||||
Map<String, String> extendMap = localFirmExtendMap.get(clientId); | |||||
if (null != extendMap) { | |||||
return extendMap.get(propName); | |||||
} | |||||
// 调用dubbo接口获取属性信息 | |||||
extendMap = firmQueryService.getAllProp(clientId); | |||||
if (extendMap != null) { | |||||
localFirmExtendMap.put(clientId, extendMap); | |||||
} | |||||
return null; | |||||
} | |||||
private void refresh(FirmBaseDto dto){ | |||||
localFirmInfoMap.put(dto.getClientId(),dto); | |||||
} | |||||
@Bean | |||||
public void initConsumer() { | |||||
Properties properties = new Properties(); | |||||
properties.put("ONSAddr", rocketMqHost); | |||||
properties.put("AccessKey", accessKey); | |||||
properties.put("SecretKey", secretKey); | |||||
// properties.put("ConsumerId", groupID); | |||||
properties.setProperty("ConsumeThreadNums", String.valueOf(ConsumeThreadNums)); | |||||
properties.setProperty("maxReconsumeTimes", String.valueOf(MaxReconsumeTimes)); | |||||
Consumer consumer = ONSFactory.createConsumer(properties); | |||||
consumer.subscribe("topic", "", new MessageListener() { | |||||
@Override | |||||
public Action consume(Message message, ConsumeContext consumeContext) { | |||||
FirmBaseDto dto = JSONObject.parseObject(message.getBody(), FirmBaseDto.class); | |||||
refresh(dto); | |||||
return Action.CommitMessage; | |||||
} | |||||
}); | |||||
consumer.start(); | |||||
log.info(" MQ consumer started, topic = {} ",TOPIC); | |||||
Thread shutdownHookOne = new Thread() { | |||||
public void run() { | |||||
log.info(" MQ Consumer shutdown!"); | |||||
if (consumer != null) { | |||||
consumer.shutdown(); | |||||
log.info(" MQ Consumer shutdown success!"); | |||||
} | |||||
} | |||||
}; | |||||
Runtime.getRuntime().addShutdownHook(shutdownHookOne); | |||||
} | |||||
} | |||||
//package com.trust.ywx.customer.client; | |||||
// | |||||
//import com.alibaba.fastjson.JSONObject; | |||||
//import com.aliyun.openservices.ons.api.*; | |||||
//import com.trust.ywx.customer.common.model.manager.response.FirmBaseDto; | |||||
//import com.trust.ywx.customer.service.query.FirmQueryService; | |||||
//import lombok.Data; | |||||
//import lombok.extern.slf4j.Slf4j; | |||||
//import org.springframework.context.annotation.Bean; | |||||
// | |||||
//import javax.annotation.Resource; | |||||
//import java.util.Map; | |||||
//import java.util.Properties; | |||||
//import java.util.concurrent.ConcurrentHashMap; | |||||
// | |||||
///** | |||||
// * <pre></pre> | |||||
// * | |||||
// * @文件名称: CustomerClientService.java | |||||
// * @包 路 径: com.trust.ywx.customer.client | |||||
// * @Copyright:北京数字医信责任有限公司 (C) 2022 * | |||||
// * @Description: | |||||
// * @Version: V1.0 | |||||
// * @Author: hanzhenchao | |||||
// * @Date:2022/6/28 14:40 | |||||
// * @Modify: | |||||
// */ | |||||
//@Slf4j | |||||
//@Data | |||||
//public class CustomerClientService { | |||||
// | |||||
// private String rocketMqHost; | |||||
// | |||||
// private String accessKey; | |||||
// private String secretKey; | |||||
// private String groupID; | |||||
// private int ConsumeThreadNums = 10; | |||||
// private int MaxReconsumeTimes = 5; | |||||
// | |||||
// private static final String TOPIC = "topic_firm_change"; | |||||
// | |||||
// @Resource | |||||
// private FirmQueryService firmQueryService; | |||||
// | |||||
// private static Map<String, FirmBaseDto> localFirmInfoMap = new ConcurrentHashMap<>(); | |||||
// private static Map<String, Map<String, String>> localFirmExtendMap = new ConcurrentHashMap<>(); | |||||
// | |||||
// /** | |||||
// * 获取可信客户详情 | |||||
// */ | |||||
// public FirmBaseDto getFirmByClientId(String clientId) { | |||||
// FirmBaseDto dto = localFirmInfoMap.get(clientId); | |||||
// if (dto != null) { | |||||
// return dto; | |||||
// } | |||||
// | |||||
// // 调用dubbo接口获取最新的客户信息 | |||||
// if (firmQueryService == null) { | |||||
// //在这里如何再获取一把呢?有无必要? | |||||
// } | |||||
// dto = firmQueryService.getBaseByClientId(clientId); | |||||
// if (null != dto) { | |||||
// localFirmInfoMap.put(clientId, dto); | |||||
// } | |||||
// return dto; | |||||
// } | |||||
// | |||||
// /** | |||||
// * 获取客户属性信息 | |||||
// * | |||||
// * @param clientId | |||||
// * @param propName | |||||
// * @return | |||||
// */ | |||||
// public String getProp(String clientId, String propName) { | |||||
// Map<String, String> extendMap = localFirmExtendMap.get(clientId); | |||||
// if (null != extendMap) { | |||||
// return extendMap.get(propName); | |||||
// } | |||||
// | |||||
// // 调用dubbo接口获取属性信息 | |||||
// extendMap = firmQueryService.getAllProp(clientId); | |||||
// if (extendMap != null) { | |||||
// localFirmExtendMap.put(clientId, extendMap); | |||||
// } | |||||
// return null; | |||||
// } | |||||
// | |||||
// private void refresh(FirmBaseDto dto){ | |||||
// localFirmInfoMap.put(dto.getClientId(),dto); | |||||
// } | |||||
// | |||||
// @Bean | |||||
// public void initConsumer() { | |||||
// Properties properties = new Properties(); | |||||
// properties.put("ONSAddr", rocketMqHost); | |||||
// properties.put("AccessKey", accessKey); | |||||
// properties.put("SecretKey", secretKey); | |||||
//// properties.put("ConsumerId", groupID); | |||||
// properties.setProperty("ConsumeThreadNums", String.valueOf(ConsumeThreadNums)); | |||||
// properties.setProperty("maxReconsumeTimes", String.valueOf(MaxReconsumeTimes)); | |||||
// Consumer consumer = ONSFactory.createConsumer(properties); | |||||
// | |||||
// consumer.subscribe("topic", "", new MessageListener() { | |||||
// @Override | |||||
// public Action consume(Message message, ConsumeContext consumeContext) { | |||||
// FirmBaseDto dto = JSONObject.parseObject(message.getBody(), FirmBaseDto.class); | |||||
// refresh(dto); | |||||
// return Action.CommitMessage; | |||||
// } | |||||
// }); | |||||
// | |||||
// consumer.start(); | |||||
// log.info(" MQ consumer started, topic = {} ",TOPIC); | |||||
// Thread shutdownHookOne = new Thread() { | |||||
// public void run() { | |||||
// log.info(" MQ Consumer shutdown!"); | |||||
// if (consumer != null) { | |||||
// consumer.shutdown(); | |||||
// log.info(" MQ Consumer shutdown success!"); | |||||
// } | |||||
// } | |||||
// }; | |||||
// Runtime.getRuntime().addShutdownHook(shutdownHookOne); | |||||
// } | |||||
// | |||||
//} |
@@ -15,63 +15,16 @@ import java.util.Objects; | |||||
* @Modify: | * @Modify: | ||||
*/ | */ | ||||
public enum CommonStatusEnum { | public enum CommonStatusEnum { | ||||
YES(1, "Y","true"), // 是 | |||||
NO(0, "N","false"), // 否 | |||||
YES("1"), // 是 | |||||
NO("0"), // 否 | |||||
; | ; | ||||
private int code; | |||||
private String dbValue1; | |||||
private String dbValue2; | |||||
private String code; | |||||
private CommonStatusEnum(int code, String dbValue1,String dbValue2) { | |||||
private CommonStatusEnum(String code) { | |||||
this.code = code; | this.code = code; | ||||
this.dbValue1 = dbValue1; | |||||
this.dbValue2 = dbValue2; | |||||
} | } | ||||
// 普通方法 | |||||
public static int getCodeByValue1(String dbValue1) { | |||||
for (CommonStatusEnum t : CommonStatusEnum.values()) { | |||||
if (Objects.equals(t.getDbValue1(),dbValue1)) { | |||||
return t.getCode(); | |||||
} | |||||
} | |||||
return -1; | |||||
} | |||||
public static int getCodeByValue2(String dbValue2) { | |||||
for (CommonStatusEnum t : CommonStatusEnum.values()) { | |||||
if (Objects.equals(t.getDbValue2(),dbValue2)) { | |||||
return t.getCode(); | |||||
} | |||||
} | |||||
return -1; | |||||
} | |||||
public static String getDbValue1(int code) { | |||||
for (CommonStatusEnum t : CommonStatusEnum.values()) { | |||||
if (t.getCode() == code) { | |||||
return t.getDbValue1(); | |||||
} | |||||
} | |||||
return null; | |||||
} | |||||
public static String getDbValue2(int code) { | |||||
for (CommonStatusEnum t : CommonStatusEnum.values()) { | |||||
if (t.getCode() == code) { | |||||
return t.getDbValue2(); | |||||
} | |||||
} | |||||
return null; | |||||
} | |||||
public String getDbValue1() { | |||||
return dbValue1; | |||||
} | |||||
public String getDbValue2() { | |||||
return dbValue2; | |||||
} | |||||
public int getCode() { | |||||
public String getCode() { | |||||
return code; | return code; | ||||
} | } | ||||
@@ -90,26 +90,13 @@ public enum FirmPropEnum { | |||||
; | ; | ||||
/** | |||||
* 判断是否为合法属性 | |||||
* @param properName | |||||
* @return | |||||
*/ | |||||
public static boolean isLegalProp(String properName) { | |||||
for (FirmPropEnum t : FirmPropEnum.values()) { | |||||
if (Objects.equals(t.getProperName(),properName)) { | |||||
return true; | |||||
} | |||||
} | |||||
return false; | |||||
} | |||||
private FirmPropEnum(String properName, String properDesc) { | private FirmPropEnum(String properName, String properDesc) { | ||||
this.properName = properName; | this.properName = properName; | ||||
this.properDesc = properDesc; | this.properDesc = properDesc; | ||||
} | } | ||||
private String properName; | private String properName; | ||||
private String properDesc; | private String properDesc; | ||||
@@ -15,42 +15,17 @@ import java.util.Objects; | |||||
* @Modify: | * @Modify: | ||||
*/ | */ | ||||
public enum UserStampTypeEnum { | public enum UserStampTypeEnum { | ||||
STAMP(0, "stamp"), // 默认样式 | |||||
STAMP1(1, "stamp1"), // 签章样式1 | |||||
STAMP( "stamp"), // 默认样式 | |||||
STAMP1("stamp1"), // 签章样式1 | |||||
; | ; | ||||
private int code; | |||||
private String dbValue; | private String dbValue; | ||||
private UserStampTypeEnum(int code, String dbValue) { | |||||
this.code = code; | |||||
private UserStampTypeEnum(String dbValue) { | |||||
this.dbValue = dbValue; | this.dbValue = dbValue; | ||||
} | } | ||||
// 普通方法 | |||||
public static int getCode(String name) { | |||||
for (UserStampTypeEnum t : UserStampTypeEnum.values()) { | |||||
if (Objects.equals(t.getDbValue(),name)) { | |||||
return t.getCode(); | |||||
} | |||||
} | |||||
return -1; | |||||
} | |||||
public static String getDbValue(int code) { | |||||
for (UserStampTypeEnum t : UserStampTypeEnum.values()) { | |||||
if (t.getCode() == code) { | |||||
return t.getDbValue(); | |||||
} | |||||
} | |||||
return null; | |||||
} | |||||
public String getDbValue() { | public String getDbValue() { | ||||
return dbValue; | return dbValue; | ||||
} | } | ||||
public int getCode() { | |||||
return code; | |||||
} | |||||
} | } |
@@ -94,11 +94,6 @@ public class FirmParam extends FirmPropParam { | |||||
*/ | */ | ||||
private String certAgency="1"; | private String certAgency="1"; | ||||
/** | |||||
* 自动设置图章:0 手动制章 1 自动制章 | |||||
* 改参数迁移至FirmPropParam.userStampAutoSet | |||||
*/ | |||||
// private String stampType; | |||||
/** | /** | ||||
* 外键id | * 外键id | ||||
@@ -24,30 +24,34 @@ public class FirmPropParam implements Serializable { | |||||
* 0-规则计费 1-异常计费 | * 0-规则计费 1-异常计费 | ||||
* see com.trust.ywx.customer.common.enums.ChargingModeEnum | * see com.trust.ywx.customer.common.enums.ChargingModeEnum | ||||
*/ | */ | ||||
private Integer chargingMode; | |||||
private String chargingMode; | |||||
/** | /** | ||||
* 是否需要实施支持 | * 是否需要实施支持 | ||||
* 0-否;1-是 | * 0-否;1-是 | ||||
*/ | */ | ||||
private Integer techSupport; | |||||
private String techSupport; | |||||
private String techSupportInfo; | private String techSupportInfo; | ||||
/** | /** | ||||
* 医师产品形态 | * 医师产品形态 | ||||
* SDK、APP | |||||
* APP:0-否;1-是 | |||||
*/ | */ | ||||
private Integer doctorProductApp; | |||||
private Integer doctorProductSdk; | |||||
private String doctorProductApp; | |||||
/** | |||||
* 医师产品形态 | |||||
* SDK:0-否;1-是 | |||||
*/ | |||||
private String doctorProductSdk; | |||||
/** | /** | ||||
* 公众产品形态 | * 公众产品形态 | ||||
* 0-SDK;1-H5 | |||||
* SDK;H5 | |||||
* see com.trust.ywx.customer.common.enums.PublicProductTypeEnum | * see com.trust.ywx.customer.common.enums.PublicProductTypeEnum | ||||
*/ | */ | ||||
private String publicProductType; | private String publicProductType; | ||||
/** | /** | ||||
* 客户网络类型 | * 客户网络类型 | ||||
* 1-实体医院;2-互联网医院 | |||||
* gateway-实体医院;it-互联网医院 | |||||
* see com.trust.ywx.customer.common.enums.NetworkTypeEnum | * see com.trust.ywx.customer.common.enums.NetworkTypeEnum | ||||
*/ | */ | ||||
private String networkType = "it"; | private String networkType = "it"; | ||||
@@ -91,7 +95,7 @@ public class FirmPropParam implements Serializable { | |||||
* 0-普通 1-冠新 2-微医 3-阿里客户 | * 0-普通 1-冠新 2-微医 3-阿里客户 | ||||
* see com.trust.ywx.customer.common.enums.FirmModeEnum | * see com.trust.ywx.customer.common.enums.FirmModeEnum | ||||
*/ | */ | ||||
private Integer firmMode; | |||||
private String firmMode; | |||||
// | // | ||||
// /** | // /** | ||||
// * 证书算法 RSA、SM2 | // * 证书算法 RSA、SM2 | ||||
@@ -103,64 +107,57 @@ public class FirmPropParam implements Serializable { | |||||
* 0-否;1-是 | * 0-否;1-是 | ||||
* see com.trust.ywx.customer.common.enums.CommonStatusEnum | * see com.trust.ywx.customer.common.enums.CommonStatusEnum | ||||
*/ | */ | ||||
private Integer isFirmWhite; | |||||
// /** | |||||
// * ca渠道类型 | |||||
// * see com.trust.ywx.customer.common.enums.CaChannelEnum | |||||
// * fixme 目前存放与firm_info表的ca_channel。以后需要迁移到firm_info_extends表 | |||||
// */ | |||||
// private Integer caChannel; | |||||
private String isFirmWhite; | |||||
/** | /** | ||||
* 是否允许医生挂靠 | * 是否允许医生挂靠 | ||||
* 0-否;1-是 | * 0-否;1-是 | ||||
* see com.trust.ywx.customer.common.enums.CommonStatusEnum | * see com.trust.ywx.customer.common.enums.CommonStatusEnum | ||||
*/ | */ | ||||
private Integer allowUserBind; | |||||
private String allowUserBind; | |||||
/** | /** | ||||
* 是否在挂靠医院列表里展示 | * 是否在挂靠医院列表里展示 | ||||
* see com.trust.ywx.customer.common.enums.CommonStatusEnum | * see com.trust.ywx.customer.common.enums.CommonStatusEnum | ||||
*/ | */ | ||||
private Integer showFirmInBindList; | |||||
private String showFirmInBindList; | |||||
/** | /** | ||||
* 审核完成发送短信 | * 审核完成发送短信 | ||||
* see com.trust.ywx.customer.common.enums.CommonStatusEnum | * see com.trust.ywx.customer.common.enums.CommonStatusEnum | ||||
*/ | */ | ||||
private Integer smsSend = 1; | |||||
private Integer smsCustomize; | |||||
private String smsSend = "1"; | |||||
private String smsCustomize; | |||||
private String smsCustomizeContent; | private String smsCustomizeContent; | ||||
//-----------------医生签名增强------------- | //-----------------医生签名增强------------- | ||||
/** | /** | ||||
* 拒签 | * 拒签 | ||||
*/ | */ | ||||
private Integer doctorSignReject; | |||||
private String doctorSignReject; | |||||
/** | /** | ||||
* 作废 | * 作废 | ||||
*/ | */ | ||||
private Integer doctorSignInvalid; | |||||
private String doctorSignInvalid; | |||||
/** | /** | ||||
* 人脸识别 | * 人脸识别 | ||||
*/ | */ | ||||
private Integer doctorSignFaceDetect; | |||||
private String doctorSignFaceDetect; | |||||
//-----------------医生签名增强 end------------- | //-----------------医生签名增强 end------------- | ||||
/** | /** | ||||
* 公众号签名增强 | * 公众号签名增强 | ||||
* see com.trust.ywx.customer.common.enums.CommonStatusEnum | * see com.trust.ywx.customer.common.enums.CommonStatusEnum | ||||
*/ | */ | ||||
private Integer publicSignPhoto; | |||||
private String publicSignPhoto; | |||||
/** | /** | ||||
* 个人图章样式 | * 个人图章样式 | ||||
* see //0:默认;1:签章样式1 | |||||
* see //stamp:默认;stamp1:签章样式1 | |||||
* see com.trust.ywx.customer.common.enu.UserStampTypeEnum | * see com.trust.ywx.customer.common.enu.UserStampTypeEnum | ||||
*/ | */ | ||||
private Integer userStampType = 0; | |||||
private String userStampType = "0"; | |||||
//------------------个人图章模式----------------- | //------------------个人图章模式----------------- | ||||
/** | /** | ||||
@@ -168,22 +165,22 @@ public class FirmPropParam implements Serializable { | |||||
* 默认:勾选 | * 默认:勾选 | ||||
* fixme 目前存放与firm_info表的stamp_type。以后需要迁移到firm_info_extends表 | * fixme 目前存放与firm_info表的stamp_type。以后需要迁移到firm_info_extends表 | ||||
*/ | */ | ||||
private Integer userStampAutoSet = 1; | |||||
private String userStampAutoSet = "1"; | |||||
/** | /** | ||||
* 图章压缩 | * 图章压缩 | ||||
*/ | */ | ||||
private Integer userStampCompress; | |||||
private String userStampCompress; | |||||
/** | /** | ||||
* 图章审核 | * 图章审核 | ||||
*/ | */ | ||||
private Integer userStampIsCheck; | |||||
private String userStampIsCheck; | |||||
/** | /** | ||||
* app设置图章 | * app设置图章 | ||||
* 默认:勾选 | * 默认:勾选 | ||||
*/ | */ | ||||
private Integer userStampIsAppset = 1; | |||||
private String userStampIsAppset = "1"; | |||||
//------------------个人图章模式 end-----------------; | //------------------个人图章模式 end-----------------; | ||||
//------------------企业图章模式-----------------; | //------------------企业图章模式-----------------; | ||||
@@ -192,31 +189,31 @@ public class FirmPropParam implements Serializable { | |||||
* 默认:圆章 | * 默认:圆章 | ||||
* see com.trust.ywx.customer.common.enums.FirmStampEnum | * see com.trust.ywx.customer.common.enums.FirmStampEnum | ||||
*/ | */ | ||||
private Integer firmStampType = 0; | |||||
private String firmStampType = "0"; | |||||
/** | /** | ||||
* 厂商图章时间戳 0否 1是 | * 厂商图章时间戳 0否 1是 | ||||
*/ | */ | ||||
private Integer firmStampTS; | |||||
private String firmStampTS; | |||||
/** | /** | ||||
* 子厂商图章时间戳 0否 1是 | * 子厂商图章时间戳 0否 1是 | ||||
*/ | */ | ||||
private Integer firmStampDepartTS; | |||||
private String firmStampDepartTS; | |||||
/** | /** | ||||
* 个人PDF增加水印 | * 个人PDF增加水印 | ||||
* 0-否;1-是 | * 0-否;1-是 | ||||
* see com.trust.ywx.customer.common.enums.CommonStatusEnum | * see com.trust.ywx.customer.common.enums.CommonStatusEnum | ||||
*/ | */ | ||||
private Integer personPdfWater; | |||||
private String personPdfWater; | |||||
/** | /** | ||||
* 附件pdf增加水印 | * 附件pdf增加水印 | ||||
*/ | */ | ||||
private Integer appendPdfWater; | |||||
private String appendPdfWater; | |||||
/** | /** | ||||
* 自动签增强功能 -用户无感知 | * 自动签增强功能 -用户无感知 | ||||
*/ | */ | ||||
private Integer selfSignInsensitive; | |||||
private String selfSignInsensitive; | |||||
} | } |
@@ -34,7 +34,7 @@ public class FirmBaseDto implements Serializable { | |||||
/** | /** | ||||
* 审核状态 | * 审核状态 | ||||
*/ | */ | ||||
private String status; | |||||
private Integer status; | |||||
/** | /** | ||||
* 第三方应用APP_SECRET | * 第三方应用APP_SECRET | ||||
@@ -34,7 +34,7 @@ public class FirmWithExtendDto implements Serializable { | |||||
/** | /** | ||||
* 审核状态 | * 审核状态 | ||||
*/ | */ | ||||
private String status; | |||||
private Integer status; | |||||
/** | /** | ||||
* 第三方应用APP_SECRET | * 第三方应用APP_SECRET | ||||
@@ -32,7 +32,7 @@ public class TempFirmDto implements Serializable { | |||||
/** | /** | ||||
* 审核状态 | * 审核状态 | ||||
*/ | */ | ||||
private String status; | |||||
private Integer status; | |||||
/** | /** | ||||
* 邮箱 | * 邮箱 | ||||
*/ | */ | ||||
@@ -52,12 +52,12 @@ public class TempFirmDto implements Serializable { | |||||
/** | /** | ||||
* 产品形态 支持app | * 产品形态 支持app | ||||
*/ | */ | ||||
private Integer channelApp; | |||||
private String channelApp; | |||||
/** | /** | ||||
* 产品形态 支持sdk | * 产品形态 支持sdk | ||||
*/ | */ | ||||
private Integer channelSdk; | |||||
private String channelSdk; | |||||
/** | /** | ||||
* 数字认证运营平台客户id | * 数字认证运营平台客户id | ||||
@@ -0,0 +1,230 @@ | |||||
package com.trust.ywx.customer.common.util; | |||||
import com.trust.ywx.customer.common.enu.FirmPropEnum; | |||||
import com.trust.ywx.customer.common.model.manager.request.FirmPropParam; | |||||
import java.util.HashMap; | |||||
import java.util.Map; | |||||
import java.util.Objects; | |||||
/** | |||||
* <pre></pre> | |||||
* | |||||
* @文件名称: FirmPropUtil.java | |||||
* @包 路 径: com.trust.ywx.customer.common.util | |||||
* @Copyright:北京数字医信责任有限公司 (C) 2022 * | |||||
* @Description: | |||||
* @Version: V1.0 | |||||
* @Author: hanzhenchao | |||||
* @Date:2022/6/28 19:50 | |||||
* @Modify: | |||||
*/ | |||||
public class FirmPropUtil { | |||||
/** | |||||
* 对外都是0/1 或者 枚举值 | |||||
* | |||||
* @param properName | |||||
* @return | |||||
*/ | |||||
public static String convertShowValue(String properName, String propValue) { | |||||
if (isYNValue(properName)) { | |||||
return "Y".equalsIgnoreCase(propValue) ? "1" : "0"; | |||||
} | |||||
if (isTrueFalseValue(properName)) { | |||||
return "true".equalsIgnoreCase(propValue) ? "1" : "0"; | |||||
} | |||||
return propValue; | |||||
} | |||||
/** | |||||
* 对外都是0/1 或者 枚举值 | |||||
* | |||||
* @param properName | |||||
* @return | |||||
*/ | |||||
public static String convertDbValue(String properName, String propValue) { | |||||
if (isYNValue(properName)) { | |||||
return "1".equalsIgnoreCase(propValue) ? "Y" : "N"; | |||||
} | |||||
if (isTrueFalseValue(properName)) { | |||||
return "1".equalsIgnoreCase(propValue) ? "true" : "false"; | |||||
} | |||||
return propValue; | |||||
} | |||||
public static FirmPropParam convertToDto(Map<String,String> map){ | |||||
FirmPropParam propParam = new FirmPropParam(); | |||||
for (Map.Entry<String,String> entry : map.entrySet()) { | |||||
if(FirmPropEnum.CHARGING_MODE.getProperName().equals(entry.getKey())){ | |||||
propParam.setChargingMode(entry.getValue()); | |||||
}else if(FirmPropEnum.TECHPERSON_SUPPORT.getProperName().equals(entry.getKey())){ | |||||
propParam.setTechSupport(entry.getValue()); | |||||
}else if(FirmPropEnum.TECHPERSON_SUPPORT_INFO.getProperName().equals(entry.getKey())){ | |||||
propParam.setTechSupportInfo(entry.getValue()); | |||||
}else if(FirmPropEnum.PUBLIC_PRODUCT_TYPE.getProperName().equals(entry.getKey())){ | |||||
propParam.setPublicProductType(entry.getValue()); | |||||
}else if(FirmPropEnum.DOCTOR_PRODUCT_APP.getProperName().equals(entry.getKey())){ | |||||
propParam.setDoctorProductApp(entry.getValue()); | |||||
}else if(FirmPropEnum.DOCTOR_PRODUCT_SDK.getProperName().equals(entry.getKey())){ | |||||
propParam.setDoctorProductSdk(entry.getValue()); | |||||
}else if(FirmPropEnum.NETWORK_TYPE.getProperName().equals(entry.getKey())){ | |||||
propParam.setNetworkType(entry.getValue()); | |||||
}else if(FirmPropEnum.HISCA_NAME.getProperName().equals(entry.getKey())){ | |||||
propParam.setHiscaName(entry.getValue()); | |||||
}else if(FirmPropEnum.HISCA_LOGO.getProperName().equals(entry.getKey())){ | |||||
propParam.setHiscaLogo(entry.getValue()); | |||||
}else if(FirmPropEnum.HISCA_PUBLICITY.getProperName().equals(entry.getKey())){ | |||||
propParam.setHiscaPublicityPic(entry.getValue()); | |||||
}else if(FirmPropEnum.HISCA_MONITOR_URL.getProperName().equals(entry.getKey())){ | |||||
propParam.setHiscaMonitorUrl(entry.getValue()); | |||||
}else if(FirmPropEnum.GATEWAY_MONITOR_URL.getProperName().equals(entry.getKey())){ | |||||
propParam.setGatewayMonitorUrl(entry.getValue()); | |||||
}else if(FirmPropEnum.HISCA_CALL_URL.getProperName().equals(entry.getKey())){ | |||||
propParam.setHiscaCallUrl(entry.getValue()); | |||||
}else if(FirmPropEnum.FIRM_MODE.getProperName().equals(entry.getKey())){ | |||||
propParam.setFirmMode(entry.getValue()); | |||||
// }else if(FirmPropEnum.CERT_ALG.getProperName().equals(entry.getKey())){ | |||||
// propParam.set(entry.getValue()); | |||||
// }else if(FirmPropEnum.CA_CHANNEL.getProperName().equals(entry.getKey())){ | |||||
// propParam.set(entry.getValue()); | |||||
}else if(FirmPropEnum.FIRM_ALLOW_USER_BIND.getProperName().equals(entry.getKey())){ | |||||
propParam.setAllowUserBind(entry.getValue()); | |||||
}else if(FirmPropEnum.SMS_SEND.getProperName().equals(entry.getKey())){ | |||||
propParam.setSmsSend(entry.getValue()); | |||||
}else if(FirmPropEnum.SMS_CUSTOMIZE.getProperName().equals(entry.getKey())){ | |||||
propParam.setSmsCustomize(entry.getValue()); | |||||
}else if(FirmPropEnum.SMS_CUSTOMIZE_CONTENT.getProperName().equals(entry.getKey())){ | |||||
propParam.setSmsCustomizeContent(entry.getValue()); | |||||
}else if(FirmPropEnum.REJECT_SIGN.getProperName().equals(entry.getKey())){ | |||||
propParam.setDoctorSignReject(entry.getValue()); | |||||
}else if(FirmPropEnum.INVALID_SIGN.getProperName().equals(entry.getKey())){ | |||||
propParam.setDoctorSignInvalid(entry.getValue()); | |||||
}else if(FirmPropEnum.FACE_DETECT.getProperName().equals(entry.getKey())){ | |||||
propParam.setDoctorSignFaceDetect(entry.getValue()); | |||||
}else if(FirmPropEnum.PUBLIC_SIGN_PHOTO.getProperName().equals(entry.getKey())){ | |||||
propParam.setPublicSignPhoto(entry.getValue()); | |||||
}else if(FirmPropEnum.USER_STAMP_TYPE.getProperName().equals(entry.getKey())){ | |||||
propParam.setUserStampType(entry.getValue()); | |||||
}else if(FirmPropEnum.USER_STAMP_IS_CHECK.getProperName().equals(entry.getKey())){ | |||||
propParam.setUserStampIsCheck(entry.getValue()); | |||||
}else if(FirmPropEnum.USER_STAMP_IS_APPSET.getProperName().equals(entry.getKey())){ | |||||
propParam.setUserStampIsAppset(entry.getValue()); | |||||
}else if(FirmPropEnum.USER_STAMP_COMPRESS.getProperName().equals(entry.getKey())){ | |||||
propParam.setUserStampCompress(entry.getValue()); | |||||
}else if(FirmPropEnum.USER_STAMP_AUTO_SET.getProperName().equals(entry.getKey())){ | |||||
propParam.setUserStampAutoSet(entry.getValue()); | |||||
}else if(FirmPropEnum.FIRM_STAMP_TYPE.getProperName().equals(entry.getKey())){ | |||||
propParam.setFirmStampType(entry.getValue()); | |||||
}else if(FirmPropEnum.FIRM_STAMP_TS.getProperName().equals(entry.getKey())){ | |||||
propParam.setFirmStampTS(entry.getValue()); | |||||
}else if(FirmPropEnum.FIRM_DEPART_STAMP_TS.getProperName().equals(entry.getKey())){ | |||||
propParam.setFirmStampDepartTS(entry.getValue()); | |||||
}else if(FirmPropEnum.PDF_WATER_PERSON.getProperName().equals(entry.getKey())){ | |||||
propParam.setPersonPdfWater(entry.getValue()); | |||||
}else if(FirmPropEnum.PDF_WATER_APPEND.getProperName().equals(entry.getKey())){ | |||||
propParam.setAppendPdfWater(entry.getValue()); | |||||
}else if(FirmPropEnum.SELF_SIGN_BY_FIRM.getProperName().equals(entry.getKey())){ | |||||
propParam.setSelfSignInsensitive(entry.getValue()); | |||||
} | |||||
} | |||||
return propParam; | |||||
} | |||||
public static Map<String, String> convertToDbMap(FirmPropParam propParam) { | |||||
Map<String, String> propMap = new HashMap<>(32); | |||||
propMap.put(FirmPropEnum.CHARGING_MODE.getProperName(), convertDbValue(FirmPropEnum.CHARGING_MODE.getProperName(), propParam.getChargingMode())); | |||||
propMap.put(FirmPropEnum.TECHPERSON_SUPPORT.getProperName(), convertDbValue(FirmPropEnum.TECHPERSON_SUPPORT.getProperName(), propParam.getTechSupport())); | |||||
propMap.put(FirmPropEnum.TECHPERSON_SUPPORT_INFO.getProperName(), convertDbValue(FirmPropEnum.TECHPERSON_SUPPORT_INFO.getProperName(), propParam.getTechSupportInfo())); | |||||
if (null != propParam.getPublicProductType()) { | |||||
propMap.put(FirmPropEnum.PUBLIC_PRODUCT_TYPE.getProperName(), convertDbValue(FirmPropEnum.PUBLIC_PRODUCT_TYPE.getProperName(), propParam.getPublicProductType())); | |||||
} | |||||
propMap.put(FirmPropEnum.DOCTOR_PRODUCT_APP.getProperName(), convertDbValue(FirmPropEnum.DOCTOR_PRODUCT_APP.getProperName(), propParam.getDoctorProductApp())); | |||||
propMap.put(FirmPropEnum.DOCTOR_PRODUCT_SDK.getProperName(), convertDbValue(FirmPropEnum.DOCTOR_PRODUCT_SDK.getProperName(), propParam.getDoctorProductSdk())); | |||||
if (null != propParam.getNetworkType()) { | |||||
propMap.put(FirmPropEnum.NETWORK_TYPE.getProperName(), convertDbValue(FirmPropEnum.NETWORK_TYPE.getProperName(), propParam.getNetworkType())); | |||||
} | |||||
// propMap.put(FirmPropEnum.GATEWAY_VERSION.getProperName(), propParam.getGatewayVersion()); | |||||
propMap.put(FirmPropEnum.HISCA_NAME.getProperName(), propParam.getHiscaName()); | |||||
propMap.put(FirmPropEnum.HISCA_LOGO.getProperName(), propParam.getHiscaLogo()); | |||||
propMap.put(FirmPropEnum.HISCA_PUBLICITY.getProperName(), propParam.getHiscaPublicityPic()); | |||||
propMap.put(FirmPropEnum.HISCA_MONITOR_URL.getProperName(), propParam.getHiscaMonitorUrl()); | |||||
propMap.put(FirmPropEnum.GATEWAY_MONITOR_URL.getProperName(), propParam.getGatewayMonitorUrl()); | |||||
propMap.put(FirmPropEnum.HISCA_CALL_URL.getProperName(), propParam.getHiscaCallUrl()); | |||||
propMap.put(FirmPropEnum.FIRM_MODE.getProperName(), convertDbValue(FirmPropEnum.FIRM_MODE.getProperName(), propParam.getFirmMode())); | |||||
propMap.put(FirmPropEnum.FIRM_ALLOW_USER_BIND.getProperName(), convertDbValue(FirmPropEnum.FIRM_ALLOW_USER_BIND.getProperName(), propParam.getAllowUserBind())); | |||||
propMap.put(FirmPropEnum.FIRM_SHOW_INBINDLIST.getProperName(), convertDbValue(FirmPropEnum.FIRM_SHOW_INBINDLIST.getProperName(), propParam.getShowFirmInBindList())); | |||||
if (null != propParam.getSmsSend()) { | |||||
propMap.put(FirmPropEnum.SMS_SEND.getProperName(), convertDbValue(FirmPropEnum.SMS_SEND.getProperName(), propParam.getSmsSend())); | |||||
} | |||||
if (null != propParam.getSmsCustomize()) { | |||||
propMap.put(FirmPropEnum.SMS_CUSTOMIZE.getProperName(), convertDbValue(FirmPropEnum.SMS_CUSTOMIZE.getProperName(), propParam.getSmsCustomize())); | |||||
} | |||||
propMap.put(FirmPropEnum.SMS_CUSTOMIZE_CONTENT.getProperName(), propParam.getSmsCustomizeContent()); | |||||
if (null != propParam.getDoctorSignReject()) { | |||||
propMap.put(FirmPropEnum.REJECT_SIGN.getProperName(), convertDbValue(FirmPropEnum.REJECT_SIGN.getProperName(), propParam.getDoctorSignReject())); | |||||
} | |||||
if (null != propParam.getDoctorSignInvalid()) { | |||||
propMap.put(FirmPropEnum.INVALID_SIGN.getProperName(), convertDbValue(FirmPropEnum.INVALID_SIGN.getProperName(), propParam.getDoctorSignInvalid())); | |||||
} | |||||
propMap.put(FirmPropEnum.FACE_DETECT.getProperName(), propParam.getDoctorSignFaceDetect()); | |||||
if (null != propParam.getPublicSignPhoto()) { | |||||
propMap.put(FirmPropEnum.PUBLIC_SIGN_PHOTO.getProperName(), convertDbValue(FirmPropEnum.PUBLIC_SIGN_PHOTO.getProperName(), propParam.getPublicSignPhoto())); | |||||
} | |||||
if (null != propParam.getUserStampType()) { | |||||
propMap.put(FirmPropEnum.USER_STAMP_TYPE.getProperName(), propParam.getUserStampType()); | |||||
} | |||||
if (null != propParam.getUserStampIsCheck()) { | |||||
propMap.put(FirmPropEnum.USER_STAMP_IS_CHECK.getProperName(), convertDbValue(FirmPropEnum.USER_STAMP_IS_CHECK.getProperName(), propParam.getUserStampIsCheck())); | |||||
} | |||||
if (null != propParam.getUserStampIsAppset()) { | |||||
propMap.put(FirmPropEnum.USER_STAMP_IS_APPSET.getProperName(), convertDbValue(FirmPropEnum.USER_STAMP_IS_APPSET.getProperName(), propParam.getUserStampIsAppset())); | |||||
} | |||||
propMap.put(FirmPropEnum.USER_STAMP_COMPRESS.getProperName(), propParam.getUserStampCompress()); | |||||
propMap.put(FirmPropEnum.USER_STAMP_AUTO_SET.getProperName(), propParam.getUserStampAutoSet()); | |||||
propMap.put(FirmPropEnum.FIRM_STAMP_TYPE.getProperName(), propParam.getFirmStampType()); | |||||
propMap.put(FirmPropEnum.FIRM_STAMP_TS.getProperName(), propParam.getFirmStampTS()); | |||||
propMap.put(FirmPropEnum.FIRM_DEPART_STAMP_TS.getProperName(), propParam.getFirmStampDepartTS()); | |||||
propMap.put(FirmPropEnum.PDF_WATER_PERSON.getProperName(), propParam.getPersonPdfWater()); | |||||
propMap.put(FirmPropEnum.PDF_WATER_APPEND.getProperName(), propParam.getAppendPdfWater()); | |||||
propMap.put(FirmPropEnum.SELF_SIGN_BY_FIRM.getProperName(), propParam.getSelfSignInsensitive()); | |||||
return propMap; | |||||
} | |||||
/** | |||||
* 判断是否为合法属性 | |||||
* | |||||
* @param properName | |||||
* @return | |||||
*/ | |||||
public static boolean isLegalProp(String properName) { | |||||
for (FirmPropEnum t : FirmPropEnum.values()) { | |||||
if (Objects.equals(t.getProperName(), properName)) { | |||||
return true; | |||||
} | |||||
} | |||||
return false; | |||||
} | |||||
private static boolean isYNValue(String propName) { | |||||
return propName.equals(FirmPropEnum.SMS_SEND.getProperName()) | |||||
|| propName.equals(FirmPropEnum.SMS_CUSTOMIZE.getProperName()) | |||||
|| propName.equals(FirmPropEnum.USER_STAMP_IS_CHECK.getProperName()); | |||||
} | |||||
private static boolean isTrueFalseValue(String propName) { | |||||
return propName.equals(FirmPropEnum.REJECT_SIGN.getProperName()) | |||||
|| propName.equals(FirmPropEnum.INVALID_SIGN.getProperName()); | |||||
} | |||||
} |
@@ -1,14 +1,14 @@ | |||||
package com.trust.ywx.customer.service.manager.impl; | package com.trust.ywx.customer.service.manager.impl; | ||||
import com.trust.ywx.customer.common.enu.*; | import com.trust.ywx.customer.common.enu.*; | ||||
import com.trust.ywx.customer.common.model.manager.request.FirmPropParam; | |||||
import com.trust.ywx.customer.common.exception.BizException; | |||||
import com.trust.ywx.customer.common.model.manager.request.FirmParam; | |||||
import com.trust.ywx.customer.common.model.manager.response.FirmBaseDto; | |||||
import com.trust.ywx.customer.common.util.FirmPropUtil; | |||||
import com.trust.ywx.customer.commons.UniqueIdUtils; | import com.trust.ywx.customer.commons.UniqueIdUtils; | ||||
import com.trust.ywx.customer.dao.FirmExtendDao; | |||||
import com.trust.ywx.customer.dao.FirmDao; | import com.trust.ywx.customer.dao.FirmDao; | ||||
import com.trust.ywx.customer.dao.FirmExtendDao; | |||||
import com.trust.ywx.customer.dao.po.FirmInfo; | import com.trust.ywx.customer.dao.po.FirmInfo; | ||||
import com.trust.ywx.customer.common.model.manager.request.FirmParam; | |||||
import com.trust.ywx.customer.common.model.manager.response.FirmBaseDto; | |||||
import com.trust.ywx.customer.common.exception.BizException; | |||||
import com.trust.ywx.customer.service.manager.FirmManagerService; | import com.trust.ywx.customer.service.manager.FirmManagerService; | ||||
import org.apache.commons.lang3.StringUtils; | import org.apache.commons.lang3.StringUtils; | ||||
import org.springframework.beans.BeanUtils; | import org.springframework.beans.BeanUtils; | ||||
@@ -19,7 +19,6 @@ import org.springframework.transaction.support.TransactionCallbackWithoutResult; | |||||
import org.springframework.transaction.support.TransactionTemplate; | import org.springframework.transaction.support.TransactionTemplate; | ||||
import javax.annotation.Resource; | import javax.annotation.Resource; | ||||
import java.util.HashMap; | |||||
import java.util.List; | import java.util.List; | ||||
import java.util.Map; | import java.util.Map; | ||||
import java.util.Objects; | import java.util.Objects; | ||||
@@ -91,7 +90,7 @@ public class FirmManagerServiceImpl implements FirmManagerService { | |||||
throw new BizException(FirmErrEum.CLIENT_ORG_CODE_NULL); | throw new BizException(FirmErrEum.CLIENT_ORG_CODE_NULL); | ||||
} | } | ||||
if (null !=param.getSmsCustomize() && param.getSmsCustomize()==1 && StringUtils.isNotBlank(param.getSmsCustomizeContent()) | |||||
if (CommonStatusEnum.YES.getCode().equals(param.getSmsCustomize()) && StringUtils.isNotBlank(param.getSmsCustomizeContent()) | |||||
&& param.getSmsCustomizeContent().length() > 101) { | && param.getSmsCustomizeContent().length() > 101) { | ||||
throw new BizException(FirmErrEum.FIRM_SMS_CUSTOMIZECONTENT_TOOLONG); | throw new BizException(FirmErrEum.FIRM_SMS_CUSTOMIZECONTENT_TOOLONG); | ||||
} | } | ||||
@@ -150,7 +149,7 @@ public class FirmManagerServiceImpl implements FirmManagerService { | |||||
firmDao.insert(firmInfo); | firmDao.insert(firmInfo); | ||||
// 插入firm_info_extend表 | // 插入firm_info_extend表 | ||||
Map<String, String> propMap = convertToMap(param); | |||||
Map<String, String> propMap = FirmPropUtil.convertToDbMap(param); | |||||
firmExtendDao.batchInsert(param.getClientId(), propMap); | firmExtendDao.batchInsert(param.getClientId(), propMap); | ||||
} | } | ||||
@@ -167,8 +166,8 @@ public class FirmManagerServiceImpl implements FirmManagerService { | |||||
} | } | ||||
// 客户属性有几个属性在此表维护,以后要迁移至extend表。 | // 客户属性有几个属性在此表维护,以后要迁移至extend表。 | ||||
firmInfo.setSendSms(param.getSmsSend() == null ? "Y" : CommonStatusEnum.getDbValue1(param.getSmsSend())); | |||||
firmInfo.setStampType(param.getUserStampAutoSet() == null ? "1" : String.valueOf(param.getUserStampAutoSet())); | |||||
firmInfo.setSendSms(FirmPropUtil.convertDbValue(FirmPropEnum.SMS_SEND.getProperName(), param.getSmsSend())); | |||||
firmInfo.setStampType(FirmPropUtil.convertDbValue(FirmPropEnum.USER_STAMP_AUTO_SET.getProperName(), param.getUserStampAutoSet())); | |||||
return firmInfo; | return firmInfo; | ||||
} | } | ||||
@@ -232,7 +231,7 @@ public class FirmManagerServiceImpl implements FirmManagerService { | |||||
int num = firmDao.update(firmInfo); | int num = firmDao.update(firmInfo); | ||||
// 插入firm_info_extend表 | // 插入firm_info_extend表 | ||||
Map<String, String> propMap = convertToMap(param); | |||||
Map<String, String> propMap = FirmPropUtil.convertToDbMap(param); | |||||
firmExtendDao.batchInsert(param.getClientId(), propMap); | firmExtendDao.batchInsert(param.getClientId(), propMap); | ||||
return num; | return num; | ||||
} | } | ||||
@@ -250,113 +249,4 @@ public class FirmManagerServiceImpl implements FirmManagerService { | |||||
return false; | return false; | ||||
} | } | ||||
public Map<String, String> convertToMap(FirmPropParam propParam) { | |||||
Map<String, String> propMap = new HashMap<>(32); | |||||
propMap.put(FirmPropEnum.CHARGING_MODE.getProperName(), String.valueOf(propParam.getChargingMode())); | |||||
propMap.put(FirmPropEnum.TECHPERSON_SUPPORT.getProperName(), String.valueOf(propParam.getTechSupport())); | |||||
propMap.put(FirmPropEnum.TECHPERSON_SUPPORT_INFO.getProperName(), propParam.getTechSupportInfo()); | |||||
if (null != propParam.getPublicProductType()) { | |||||
propMap.put(FirmPropEnum.PUBLIC_PRODUCT_TYPE.getProperName(), propParam.getPublicProductType()); | |||||
} | |||||
propMap.put(FirmPropEnum.DOCTOR_PRODUCT_APP.getProperName(), String.valueOf(propParam.getDoctorProductApp())); | |||||
propMap.put(FirmPropEnum.DOCTOR_PRODUCT_SDK.getProperName(), String.valueOf(propParam.getDoctorProductSdk())); | |||||
if (null != propParam.getNetworkType()) { | |||||
// propMap.put(FirmPropEnum.NETWORK_TYPE.getProperName(), NetworkTypeEnum.getNameOfCode(propParam.getNetworkType())); | |||||
propMap.put(FirmPropEnum.NETWORK_TYPE.getProperName(), propParam.getNetworkType()); | |||||
} | |||||
propMap.put(FirmPropEnum.GATEWAY_VERSION.getProperName(), propParam.getGatewayVersion()); | |||||
propMap.put(FirmPropEnum.HISCA_NAME.getProperName(), propParam.getHiscaName()); | |||||
propMap.put(FirmPropEnum.HISCA_LOGO.getProperName(), propParam.getHiscaLogo()); | |||||
propMap.put(FirmPropEnum.HISCA_PUBLICITY.getProperName(), propParam.getHiscaPublicityPic()); | |||||
propMap.put(FirmPropEnum.HISCA_MONITOR_URL.getProperName(), propParam.getHiscaMonitorUrl()); | |||||
propMap.put(FirmPropEnum.GATEWAY_MONITOR_URL.getProperName(), propParam.getGatewayMonitorUrl()); | |||||
propMap.put(FirmPropEnum.HISCA_CALL_URL.getProperName(), propParam.getHiscaCallUrl()); | |||||
propMap.put(FirmPropEnum.FIRM_MODE.getProperName(), String.valueOf(propParam.getFirmMode())); | |||||
propMap.put(FirmPropEnum.FIRM_ALLOW_USER_BIND.getProperName(), String.valueOf(propParam.getAllowUserBind())); | |||||
propMap.put(FirmPropEnum.FIRM_SHOW_INBINDLIST.getProperName(), String.valueOf(propParam.getShowFirmInBindList())); | |||||
if (null != propParam.getSmsSend()) { | |||||
propMap.put(FirmPropEnum.SMS_SEND.getProperName(), CommonStatusEnum.getDbValue1(propParam.getSmsSend())); | |||||
} | |||||
if (null != propParam.getSmsCustomize()) { | |||||
propMap.put(FirmPropEnum.SMS_CUSTOMIZE.getProperName(), CommonStatusEnum.getDbValue1(propParam.getSmsCustomize())); | |||||
} | |||||
propMap.put(FirmPropEnum.SMS_CUSTOMIZE_CONTENT.getProperName(), propParam.getSmsCustomizeContent()); | |||||
if (null != propParam.getDoctorSignReject()) { | |||||
propMap.put(FirmPropEnum.REJECT_SIGN.getProperName(), CommonStatusEnum.getDbValue2(propParam.getDoctorSignReject())); | |||||
} | |||||
if (null != propParam.getDoctorSignInvalid()) { | |||||
propMap.put(FirmPropEnum.INVALID_SIGN.getProperName(), CommonStatusEnum.getDbValue2(propParam.getDoctorSignInvalid())); | |||||
} | |||||
propMap.put(FirmPropEnum.FACE_DETECT.getProperName(), String.valueOf(propParam.getDoctorSignFaceDetect())); | |||||
if (null != propParam.getPublicSignPhoto()) { | |||||
propMap.put(FirmPropEnum.PUBLIC_SIGN_PHOTO.getProperName(), CommonStatusEnum.getDbValue1(propParam.getPublicSignPhoto())); | |||||
} | |||||
if (null != propParam.getUserStampType()) { | |||||
propMap.put(FirmPropEnum.USER_STAMP_TYPE.getProperName(), UserStampTypeEnum.getDbValue(propParam.getUserStampType())); | |||||
} | |||||
if (null != propParam.getUserStampIsCheck()) { | |||||
propMap.put(FirmPropEnum.USER_STAMP_IS_CHECK.getProperName(), CommonStatusEnum.getDbValue1(propParam.getUserStampIsCheck())); | |||||
} | |||||
if (null != propParam.getUserStampIsAppset()) { | |||||
propMap.put(FirmPropEnum.USER_STAMP_IS_APPSET.getProperName(), CommonStatusEnum.getDbValue1(propParam.getUserStampIsAppset())); | |||||
} | |||||
propMap.put(FirmPropEnum.USER_STAMP_COMPRESS.getProperName(), String.valueOf(propParam.getUserStampCompress())); | |||||
propMap.put(FirmPropEnum.USER_STAMP_AUTO_SET.getProperName(), String.valueOf(propParam.getUserStampAutoSet())); | |||||
propMap.put(FirmPropEnum.FIRM_STAMP_TYPE.getProperName(), String.valueOf(propParam.getFirmStampType())); | |||||
propMap.put(FirmPropEnum.FIRM_STAMP_TS.getProperName(), String.valueOf(propParam.getFirmStampTS())); | |||||
propMap.put(FirmPropEnum.FIRM_DEPART_STAMP_TS.getProperName(), String.valueOf(propParam.getFirmStampDepartTS())); | |||||
propMap.put(FirmPropEnum.PDF_WATER_PERSON.getProperName(), String.valueOf(propParam.getPersonPdfWater())); | |||||
propMap.put(FirmPropEnum.PDF_WATER_APPEND.getProperName(), String.valueOf(propParam.getAppendPdfWater())); | |||||
propMap.put(FirmPropEnum.SELF_SIGN_BY_FIRM.getProperName(), String.valueOf(propParam.getSelfSignInsensitive())); | |||||
// 规则统一后,可用下面的代码 | |||||
// propMap.put(FirmPropEnum.CHARGING_MODE.getProperName(), String.valueOf(propParam.getChargingMode())); | |||||
// propMap.put(FirmPropEnum.TECHPERSON_SUPPORT.getProperName(), String.valueOf(propParam.getTechSupport())); | |||||
// propMap.put(FirmPropEnum.TECHPERSON_SUPPORT_INFO.getProperName(), propParam.getTechSupportInfo()); | |||||
// propMap.put(FirmPropEnum.PUBLIC_PRODUCT_TYPE.getProperName(), String.valueOf(propParam.getPublicProductType())); | |||||
// | |||||
// propMap.put(FirmPropEnum.DOCTOR_PRODUCT_APP.getProperName(), String.valueOf(propParam.getDoctorProductApp())); | |||||
// propMap.put(FirmPropEnum.DOCTOR_PRODUCT_SDK.getProperName(), String.valueOf(propParam.getDoctorProductSdk())); | |||||
// propMap.put(FirmPropEnum.NETWORK_TYPE.getProperName(),String.valueOf(propParam.getNetworkType()); | |||||
// propMap.put(FirmPropEnum.GATEWAY_VERSION.getProperName(), String.valueOf(propParam.getGatewayVersion())); | |||||
// propMap.put(FirmPropEnum.HISCA_NAME.getProperName(), propParam.getHiscaName()); | |||||
// propMap.put(FirmPropEnum.HISCA_LOGO.getProperName(), propParam.getHiscaLogo()); | |||||
// propMap.put(FirmPropEnum.HISCA_PUBLICITY.getProperName(), propParam.getHiscaPublicityPic()); | |||||
// propMap.put(FirmPropEnum.HISCA_MONITOR_URL.getProperName(), propParam.getHiscaMonitorUrl()); | |||||
// propMap.put(FirmPropEnum.GATEWAY_MONITOR_URL.getProperName(), propParam.getGatewayMonitorUrl()); | |||||
// propMap.put(FirmPropEnum.HISCA_CALL_URL.getProperName(), propParam.getHiscaCallUrl()); | |||||
// propMap.put(FirmPropEnum.FIRM_MODE.getProperName(), String.valueOf(propParam.getFirmMode())); | |||||
//// propMap.put(FirmProperEnum.CERT_ALG.getProperName(), propParam.certAlg); | |||||
//// propMap.put(FirmProperEnum.CA_CHANNEL.getProperName(), String.valueOf(propParam.caChannel)); | |||||
// propMap.put(FirmPropEnum.FIRM_ALLOW_USER_BIND.getProperName(), String.valueOf(propParam.getAllowUserBind())); | |||||
// propMap.put(FirmPropEnum.FIRM_SHOW_INBINDLIST.getProperName(), String.valueOf(propParam.getShowFirmInBindList())); | |||||
// propMap.put(FirmPropEnum.SMS_SEND.getProperName(), String.valueOf(propParam.getSmsSend())); | |||||
// propMap.put(FirmPropEnum.SMS_CUSTOMIZE.getProperName(), String.valueOf(propParam.getSmsCustomize())); | |||||
// propMap.put(FirmPropEnum.SMS_CUSTOMIZE_CONTENT.getProperName(), propParam.getSmsCustomizeContent()); | |||||
// propMap.put(FirmPropEnum.REJECT_SIGN.getProperName(), String.valueOf(propParam.getDoctorSignReject())); | |||||
// propMap.put(FirmPropEnum.INVALID_SIGN.getProperName(), String.valueOf(propParam.getDoctorSignInvalid())); | |||||
// propMap.put(FirmPropEnum.FACE_DETECT.getProperName(), String.valueOf(propParam.getDoctorSignFaceDetect())); | |||||
// propMap.put(FirmPropEnum.PUBLIC_SIGN_PHOTO.getProperName(), String.valueOf(propParam.getPublicSignPhoto())); | |||||
// propMap.put(FirmPropEnum.USER_STAMP_TYPE.getProperName(), String.valueOf(propParam.getUserStampType())); | |||||
// propMap.put(FirmPropEnum.STAMP_IS_CHECK.getProperName(), String.valueOf(propParam.getUserStampIsCheck())); | |||||
// propMap.put(FirmPropEnum.STAMP_IS_APPCLOSE.getProperName(), String.valueOf(propParam.getUserStampIsAppset())); | |||||
// propMap.put(FirmPropEnum.USER_STAMP_COMPRESS.getProperName(), String.valueOf(propParam.getUserStampCompress())); | |||||
// propMap.put(FirmPropEnum.STAMP_AUTO_SET.getProperName(), String.valueOf(propParam.getUserStampAuto())); | |||||
// propMap.put(FirmPropEnum.FIRM_STAMP_TYPE.getProperName(), String.valueOf(propParam.getFirmStampType())); | |||||
// propMap.put(FirmPropEnum.FIRM_STAMP_TS.getProperName(), String.valueOf(propParam.getFirmStampTS())); | |||||
// propMap.put(FirmPropEnum.DEPART_STAMP_TS.getProperName(), String.valueOf(propParam.getFirmStampDepartTS())); | |||||
// propMap.put(FirmPropEnum.FIRM_PERSONPDF_WATER.getProperName(), String.valueOf(propParam.getPersonPdfWater())); | |||||
// propMap.put(FirmPropEnum.FIRM_APPENDPDF_WATER.getProperName(), String.valueOf(propParam.getAppendPdfWater())); | |||||
// propMap.put(FirmPropEnum.SELF_SIGN_BY_FIRM.getProperName(), String.valueOf(propParam.getSelfSignInsensitive())); | |||||
return propMap; | |||||
} | |||||
} | } |
@@ -3,23 +3,21 @@ package com.trust.ywx.customer.service.query.impl; | |||||
import com.fiftyonetrust.common.redis.template.RedisRepository; | import com.fiftyonetrust.common.redis.template.RedisRepository; | ||||
import com.trust.ywx.customer.common.enu.CommonStatusEnum; | import com.trust.ywx.customer.common.enu.CommonStatusEnum; | ||||
import com.trust.ywx.customer.common.enu.FirmPropEnum; | import com.trust.ywx.customer.common.enu.FirmPropEnum; | ||||
import com.trust.ywx.customer.common.enu.NetworkTypeEnum; | |||||
import com.trust.ywx.customer.common.model.PageBean; | import com.trust.ywx.customer.common.model.PageBean; | ||||
import com.trust.ywx.customer.common.model.PageBeanUtil; | import com.trust.ywx.customer.common.model.PageBeanUtil; | ||||
import com.trust.ywx.customer.common.model.manager.request.FirmPropParam; | import com.trust.ywx.customer.common.model.manager.request.FirmPropParam; | ||||
import com.trust.ywx.customer.common.model.manager.response.FirmBaseDto; | import com.trust.ywx.customer.common.model.manager.response.FirmBaseDto; | ||||
import com.trust.ywx.customer.common.model.manager.response.FirmWithExtendDto; | import com.trust.ywx.customer.common.model.manager.response.FirmWithExtendDto; | ||||
import com.trust.ywx.customer.common.model.manager.response.TempFirmDto; | |||||
import com.trust.ywx.customer.common.model.query.request.SearchCrmFirmParam; | import com.trust.ywx.customer.common.model.query.request.SearchCrmFirmParam; | ||||
import com.trust.ywx.customer.common.model.query.request.SearchFirmParam; | import com.trust.ywx.customer.common.model.query.request.SearchFirmParam; | ||||
import com.trust.ywx.customer.common.model.query.response.CrmFirmDto; | import com.trust.ywx.customer.common.model.query.response.CrmFirmDto; | ||||
import com.trust.ywx.customer.common.util.FirmPropUtil; | |||||
import com.trust.ywx.customer.dao.DoctorProductTypeDao; | import com.trust.ywx.customer.dao.DoctorProductTypeDao; | ||||
import com.trust.ywx.customer.dao.FirmDao; | import com.trust.ywx.customer.dao.FirmDao; | ||||
import com.trust.ywx.customer.dao.FirmExtendDao; | import com.trust.ywx.customer.dao.FirmExtendDao; | ||||
import com.trust.ywx.customer.dao.FirmGroupDao; | import com.trust.ywx.customer.dao.FirmGroupDao; | ||||
import com.trust.ywx.customer.dao.po.FirmInfo; | import com.trust.ywx.customer.dao.po.FirmInfo; | ||||
import com.trust.ywx.customer.dao.po.FirmInfoExtend; | import com.trust.ywx.customer.dao.po.FirmInfoExtend; | ||||
import com.trust.ywx.customer.dao.po.FirmInfoTemp; | |||||
import com.trust.ywx.customer.dao.po.FirmUsercertChannel; | import com.trust.ywx.customer.dao.po.FirmUsercertChannel; | ||||
import com.trust.ywx.customer.service.query.FirmQueryService; | import com.trust.ywx.customer.service.query.FirmQueryService; | ||||
import org.apache.commons.lang3.StringUtils; | import org.apache.commons.lang3.StringUtils; | ||||
@@ -198,26 +196,19 @@ public class FirmQueryServiceImpl implements FirmQueryService { | |||||
@Override | @Override | ||||
public FirmWithExtendDto getByClientId(String clientId) { | public FirmWithExtendDto getByClientId(String clientId) { | ||||
FirmInfo po = firmDao.getFirmBLOBsByClientId(clientId); | FirmInfo po = firmDao.getFirmBLOBsByClientId(clientId); | ||||
if(po==null){ | |||||
if (po == null) { | |||||
return null; | return null; | ||||
} | } | ||||
FirmBaseDto baseDto = converPoToBaseDto(po); | FirmBaseDto baseDto = converPoToBaseDto(po); | ||||
FirmWithExtendDto dto = new FirmWithExtendDto(); | FirmWithExtendDto dto = new FirmWithExtendDto(); | ||||
BeanUtils.copyProperties(baseDto,dto); | |||||
// fixme 获取配置信息 | |||||
BeanUtils.copyProperties(baseDto, dto); | |||||
Map<String, String> map = getAllProp(clientId); | Map<String, String> map = getAllProp(clientId); | ||||
FirmPropParam propParam = convertExtendMapToDto(map); | |||||
FirmPropParam propParam = FirmPropUtil.convertToDto(map); | |||||
dto.setFirmProp(propParam); | dto.setFirmProp(propParam); | ||||
return dto; | return dto; | ||||
} | } | ||||
private FirmPropParam convertExtendMapToDto(Map<String, String> map) { | |||||
FirmPropParam prop = new FirmPropParam(); | |||||
prop.setNetworkType(map.get(FirmPropEnum.NETWORK_TYPE.getProperName())); | |||||
return null; | |||||
} | |||||
@Override | @Override | ||||
public Map<String, String> getAllProp(String clientId) { | public Map<String, String> getAllProp(String clientId) { | ||||
if (StringUtils.isEmpty(clientId)) { | if (StringUtils.isEmpty(clientId)) { | ||||
@@ -227,17 +218,17 @@ public class FirmQueryServiceImpl implements FirmQueryService { | |||||
// 1、从firm_info_extend获取全量属性 | // 1、从firm_info_extend获取全量属性 | ||||
List<FirmInfoExtend> extendList = firmExtendDao.getListByClientId(clientId); | List<FirmInfoExtend> extendList = firmExtendDao.getListByClientId(clientId); | ||||
for (FirmInfoExtend extendPo : extendList) { | for (FirmInfoExtend extendPo : extendList) { | ||||
map.put(extendPo.getPropName(), extendPo.getPropValue()); | |||||
map.put(extendPo.getPropName(), FirmPropUtil.convertShowValue(extendPo.getPropName(), extendPo.getPropValue())); | |||||
} | } | ||||
//2、从firm_usercert_channel 获取医师产品形态属性 | //2、从firm_usercert_channel 获取医师产品形态属性 | ||||
List<FirmUsercertChannel> doctorProductList = doctorProductTypeDao.getByClientId(clientId); | List<FirmUsercertChannel> doctorProductList = doctorProductTypeDao.getByClientId(clientId); | ||||
for (FirmUsercertChannel doctorPo : doctorProductList) { | for (FirmUsercertChannel doctorPo : doctorProductList) { | ||||
if (doctorPo.getChannelType() == 0) { | if (doctorPo.getChannelType() == 0) { | ||||
map.put(FirmPropEnum.DOCTOR_PRODUCT_APP.getProperName(), CommonStatusEnum.YES.getCode() + ""); | |||||
map.put(FirmPropEnum.DOCTOR_PRODUCT_APP.getProperName(), CommonStatusEnum.YES.getCode()); | |||||
} | } | ||||
if (doctorPo.getChannelType() == 1) { | if (doctorPo.getChannelType() == 1) { | ||||
map.put(FirmPropEnum.DOCTOR_PRODUCT_SDK.getProperName(), CommonStatusEnum.YES.getCode() + ""); | |||||
map.put(FirmPropEnum.DOCTOR_PRODUCT_SDK.getProperName(), CommonStatusEnum.YES.getCode()); | |||||
} | } | ||||
} | } | ||||
return map; | return map; | ||||
@@ -248,22 +239,6 @@ public class FirmQueryServiceImpl implements FirmQueryService { | |||||
return null; | return null; | ||||
} | } | ||||
private TempFirmDto converTempPoToDto(FirmInfoTemp tempPo) { | |||||
TempFirmDto dto = new TempFirmDto(); | |||||
BeanUtils.copyProperties(tempPo, dto); | |||||
if (StringUtils.isNotBlank(tempPo.getChannel())) { | |||||
if ("0".equals(tempPo.getChannel())) { | |||||
dto.setChannelApp(CommonStatusEnum.YES.getCode()); | |||||
} else if ("1".equals(tempPo.getChannel())) { | |||||
dto.setChannelSdk(CommonStatusEnum.YES.getCode()); | |||||
} else if ("2".equals(tempPo.getChannel())) { | |||||
dto.setChannelApp(CommonStatusEnum.YES.getCode()); | |||||
dto.setChannelSdk(CommonStatusEnum.YES.getCode()); | |||||
} | |||||
} | |||||
return dto; | |||||
} | |||||
@Override | @Override | ||||
public List<CrmFirmDto> getCrmFirmList(SearchCrmFirmParam param) { | public List<CrmFirmDto> getCrmFirmList(SearchCrmFirmParam param) { | ||||
return null; | return null; | ||||
@@ -33,8 +33,6 @@ public class TempFirmServiceTests { | |||||
@Resource | @Resource | ||||
TempFirmManagerService managerService; | TempFirmManagerService managerService; | ||||
@Resource | @Resource | ||||
FirmQueryService queryService; | |||||
@Resource | |||||
TempFirmQueryService tempQueryService; | TempFirmQueryService tempQueryService; | ||||
@Test | @Test | ||||
@@ -54,6 +54,17 @@ | |||||
<!-- 如果不想facade包有多余的依赖,此处scope设为provided,否则可以删除 --> | <!-- 如果不想facade包有多余的依赖,此处scope设为provided,否则可以删除 --> | ||||
<scope>provided</scope> | <scope>provided</scope> | ||||
</dependency> | </dependency> | ||||
<!-- https://mvnrepository.com/artifact/com.aliyun.openservices/ons-client --> | |||||
<dependency> | |||||
<groupId>com.aliyun.openservices</groupId> | |||||
<artifactId>ons-client</artifactId> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>com.alibaba</groupId> | |||||
<artifactId>fastjson</artifactId> | |||||
</dependency> | |||||
</dependencies> | </dependencies> | ||||
</project> | </project> |
@@ -0,0 +1,123 @@ | |||||
package com.trust.ywx.customer.service.client; | |||||
import com.alibaba.fastjson.JSONObject; | |||||
import com.aliyun.openservices.ons.api.*; | |||||
import com.trust.ywx.customer.common.model.manager.response.FirmBaseDto; | |||||
import com.trust.ywx.customer.service.query.FirmQueryService; | |||||
import lombok.Data; | |||||
import lombok.extern.slf4j.Slf4j; | |||||
import org.springframework.context.annotation.Bean; | |||||
import javax.annotation.Resource; | |||||
import java.util.Map; | |||||
import java.util.Properties; | |||||
import java.util.concurrent.ConcurrentHashMap; | |||||
/** | |||||
* <pre></pre> | |||||
* | |||||
* @文件名称: CustomerClientService.java | |||||
* @包 路 径: com.trust.ywx.customer.client | |||||
* @Copyright:北京数字医信责任有限公司 (C) 2022 * | |||||
* @Description: | |||||
* @Version: V1.0 | |||||
* @Author: hanzhenchao | |||||
* @Date:2022/6/28 14:40 | |||||
* @Modify: | |||||
*/ | |||||
@Slf4j | |||||
@Data | |||||
public class CustomerClientService { | |||||
private String rocketMqHost; | |||||
private String accessKey; | |||||
private String secretKey; | |||||
private String groupID; | |||||
private int ConsumeThreadNums = 10; | |||||
private int MaxReconsumeTimes = 5; | |||||
private static final String TOPIC = "topic_firm_change"; | |||||
@Resource | |||||
private FirmQueryService firmQueryService; | |||||
private static Map<String, FirmBaseDto> localFirmInfoMap = new ConcurrentHashMap<>(); | |||||
private static Map<String, Map<String, String>> localFirmExtendMap = new ConcurrentHashMap<>(); | |||||
/** | |||||
* 获取可信客户详情 | |||||
*/ | |||||
public FirmBaseDto getFirmByClientId(String clientId) { | |||||
FirmBaseDto dto = localFirmInfoMap.get(clientId); | |||||
if (dto != null) { | |||||
return dto; | |||||
} | |||||
dto = firmQueryService.getBaseByClientId(clientId); | |||||
if (null != dto) { | |||||
localFirmInfoMap.put(clientId, dto); | |||||
} | |||||
return dto; | |||||
} | |||||
/** | |||||
* 获取客户属性信息 | |||||
* | |||||
* @param clientId | |||||
* @param propName | |||||
* @return | |||||
*/ | |||||
public String getProp(String clientId, String propName) { | |||||
Map<String, String> extendMap = localFirmExtendMap.get(clientId); | |||||
if (null != extendMap) { | |||||
return extendMap.get(propName); | |||||
} | |||||
// 调用dubbo接口获取属性信息 | |||||
extendMap = firmQueryService.getAllProp(clientId); | |||||
if (extendMap != null) { | |||||
localFirmExtendMap.put(clientId, extendMap); | |||||
} | |||||
return null; | |||||
} | |||||
private void refresh(FirmBaseDto dto){ | |||||
localFirmInfoMap.put(dto.getClientId(),dto); | |||||
} | |||||
// @Bean | |||||
public void initConsumer() { | |||||
Properties properties = new Properties(); | |||||
properties.put("ONSAddr", rocketMqHost); | |||||
properties.put("AccessKey", accessKey); | |||||
properties.put("SecretKey", secretKey); | |||||
// properties.put("ConsumerId", groupID); | |||||
properties.setProperty("ConsumeThreadNums", String.valueOf(ConsumeThreadNums)); | |||||
properties.setProperty("maxReconsumeTimes", String.valueOf(MaxReconsumeTimes)); | |||||
Consumer consumer = ONSFactory.createConsumer(properties); | |||||
consumer.subscribe("topic", "", new MessageListener() { | |||||
@Override | |||||
public Action consume(Message message, ConsumeContext consumeContext) { | |||||
FirmBaseDto dto = JSONObject.parseObject(message.getBody(), FirmBaseDto.class); | |||||
refresh(dto); | |||||
return Action.CommitMessage; | |||||
} | |||||
}); | |||||
consumer.start(); | |||||
log.info(" MQ consumer started, topic = {} ",TOPIC); | |||||
Thread shutdownHookOne = new Thread() { | |||||
public void run() { | |||||
log.info(" MQ Consumer shutdown!"); | |||||
if (consumer != null) { | |||||
consumer.shutdown(); | |||||
log.info(" MQ Consumer shutdown success!"); | |||||
} | |||||
} | |||||
}; | |||||
Runtime.getRuntime().addShutdownHook(shutdownHookOne); | |||||
} | |||||
} |