@@ -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: | |||
*/ | |||
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.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; | |||
} | |||
@@ -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) { | |||
this.properName = properName; | |||
this.properDesc = properDesc; | |||
} | |||
private String properName; | |||
private String properDesc; | |||
@@ -15,42 +15,17 @@ import java.util.Objects; | |||
* @Modify: | |||
*/ | |||
public enum UserStampTypeEnum { | |||
STAMP(0, "stamp"), // 默认样式 | |||
STAMP1(1, "stamp1"), // 签章样式1 | |||
STAMP( "stamp"), // 默认样式 | |||
STAMP1("stamp1"), // 签章样式1 | |||
; | |||
private int code; | |||
private String dbValue; | |||
private UserStampTypeEnum(int code, String dbValue) { | |||
this.code = code; | |||
private UserStampTypeEnum(String 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() { | |||
return dbValue; | |||
} | |||
public int getCode() { | |||
return code; | |||
} | |||
} |
@@ -94,11 +94,6 @@ public class FirmParam extends FirmPropParam { | |||
*/ | |||
private String certAgency="1"; | |||
/** | |||
* 自动设置图章:0 手动制章 1 自动制章 | |||
* 改参数迁移至FirmPropParam.userStampAutoSet | |||
*/ | |||
// private String stampType; | |||
/** | |||
* 外键id | |||
@@ -24,30 +24,34 @@ public class FirmPropParam implements Serializable { | |||
* 0-规则计费 1-异常计费 | |||
* see com.trust.ywx.customer.common.enums.ChargingModeEnum | |||
*/ | |||
private Integer chargingMode; | |||
private String chargingMode; | |||
/** | |||
* 是否需要实施支持 | |||
* 0-否;1-是 | |||
*/ | |||
private Integer techSupport; | |||
private String techSupport; | |||
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 | |||
*/ | |||
private String publicProductType; | |||
/** | |||
* 客户网络类型 | |||
* 1-实体医院;2-互联网医院 | |||
* gateway-实体医院;it-互联网医院 | |||
* see com.trust.ywx.customer.common.enums.NetworkTypeEnum | |||
*/ | |||
private String networkType = "it"; | |||
@@ -91,7 +95,7 @@ public class FirmPropParam implements Serializable { | |||
* 0-普通 1-冠新 2-微医 3-阿里客户 | |||
* see com.trust.ywx.customer.common.enums.FirmModeEnum | |||
*/ | |||
private Integer firmMode; | |||
private String firmMode; | |||
// | |||
// /** | |||
// * 证书算法 RSA、SM2 | |||
@@ -103,64 +107,57 @@ public class FirmPropParam implements Serializable { | |||
* 0-否;1-是 | |||
* 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-是 | |||
* see com.trust.ywx.customer.common.enums.CommonStatusEnum | |||
*/ | |||
private Integer allowUserBind; | |||
private String allowUserBind; | |||
/** | |||
* 是否在挂靠医院列表里展示 | |||
* see com.trust.ywx.customer.common.enums.CommonStatusEnum | |||
*/ | |||
private Integer showFirmInBindList; | |||
private String showFirmInBindList; | |||
/** | |||
* 审核完成发送短信 | |||
* 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 Integer doctorSignReject; | |||
private String doctorSignReject; | |||
/** | |||
* 作废 | |||
*/ | |||
private Integer doctorSignInvalid; | |||
private String doctorSignInvalid; | |||
/** | |||
* 人脸识别 | |||
*/ | |||
private Integer doctorSignFaceDetect; | |||
private String doctorSignFaceDetect; | |||
//-----------------医生签名增强 end------------- | |||
/** | |||
* 公众号签名增强 | |||
* 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 | |||
*/ | |||
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表 | |||
*/ | |||
private Integer userStampAutoSet = 1; | |||
private String userStampAutoSet = "1"; | |||
/** | |||
* 图章压缩 | |||
*/ | |||
private Integer userStampCompress; | |||
private String userStampCompress; | |||
/** | |||
* 图章审核 | |||
*/ | |||
private Integer userStampIsCheck; | |||
private String userStampIsCheck; | |||
/** | |||
* app设置图章 | |||
* 默认:勾选 | |||
*/ | |||
private Integer userStampIsAppset = 1; | |||
private String userStampIsAppset = "1"; | |||
//------------------个人图章模式 end-----------------; | |||
//------------------企业图章模式-----------------; | |||
@@ -192,31 +189,31 @@ public class FirmPropParam implements Serializable { | |||
* 默认:圆章 | |||
* see com.trust.ywx.customer.common.enums.FirmStampEnum | |||
*/ | |||
private Integer firmStampType = 0; | |||
private String firmStampType = "0"; | |||
/** | |||
* 厂商图章时间戳 0否 1是 | |||
*/ | |||
private Integer firmStampTS; | |||
private String firmStampTS; | |||
/** | |||
* 子厂商图章时间戳 0否 1是 | |||
*/ | |||
private Integer firmStampDepartTS; | |||
private String firmStampDepartTS; | |||
/** | |||
* 个人PDF增加水印 | |||
* 0-否;1-是 | |||
* see com.trust.ywx.customer.common.enums.CommonStatusEnum | |||
*/ | |||
private Integer personPdfWater; | |||
private String personPdfWater; | |||
/** | |||
* 附件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 | |||
@@ -34,7 +34,7 @@ public class FirmWithExtendDto implements Serializable { | |||
/** | |||
* 审核状态 | |||
*/ | |||
private String status; | |||
private Integer status; | |||
/** | |||
* 第三方应用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 | |||
*/ | |||
private Integer channelApp; | |||
private String channelApp; | |||
/** | |||
* 产品形态 支持sdk | |||
*/ | |||
private Integer channelSdk; | |||
private String channelSdk; | |||
/** | |||
* 数字认证运营平台客户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; | |||
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.dao.FirmExtendDao; | |||
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.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 org.apache.commons.lang3.StringUtils; | |||
import org.springframework.beans.BeanUtils; | |||
@@ -19,7 +19,6 @@ import org.springframework.transaction.support.TransactionCallbackWithoutResult; | |||
import org.springframework.transaction.support.TransactionTemplate; | |||
import javax.annotation.Resource; | |||
import java.util.HashMap; | |||
import java.util.List; | |||
import java.util.Map; | |||
import java.util.Objects; | |||
@@ -91,7 +90,7 @@ public class FirmManagerServiceImpl implements FirmManagerService { | |||
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) { | |||
throw new BizException(FirmErrEum.FIRM_SMS_CUSTOMIZECONTENT_TOOLONG); | |||
} | |||
@@ -150,7 +149,7 @@ public class FirmManagerServiceImpl implements FirmManagerService { | |||
firmDao.insert(firmInfo); | |||
// 插入firm_info_extend表 | |||
Map<String, String> propMap = convertToMap(param); | |||
Map<String, String> propMap = FirmPropUtil.convertToDbMap(param); | |||
firmExtendDao.batchInsert(param.getClientId(), propMap); | |||
} | |||
@@ -167,8 +166,8 @@ public class FirmManagerServiceImpl implements FirmManagerService { | |||
} | |||
// 客户属性有几个属性在此表维护,以后要迁移至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; | |||
} | |||
@@ -232,7 +231,7 @@ public class FirmManagerServiceImpl implements FirmManagerService { | |||
int num = firmDao.update(firmInfo); | |||
// 插入firm_info_extend表 | |||
Map<String, String> propMap = convertToMap(param); | |||
Map<String, String> propMap = FirmPropUtil.convertToDbMap(param); | |||
firmExtendDao.batchInsert(param.getClientId(), propMap); | |||
return num; | |||
} | |||
@@ -250,113 +249,4 @@ public class FirmManagerServiceImpl implements FirmManagerService { | |||
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.trust.ywx.customer.common.enu.CommonStatusEnum; | |||
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.PageBeanUtil; | |||
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.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.SearchFirmParam; | |||
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.FirmDao; | |||
import com.trust.ywx.customer.dao.FirmExtendDao; | |||
import com.trust.ywx.customer.dao.FirmGroupDao; | |||
import com.trust.ywx.customer.dao.po.FirmInfo; | |||
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.service.query.FirmQueryService; | |||
import org.apache.commons.lang3.StringUtils; | |||
@@ -198,26 +196,19 @@ public class FirmQueryServiceImpl implements FirmQueryService { | |||
@Override | |||
public FirmWithExtendDto getByClientId(String clientId) { | |||
FirmInfo po = firmDao.getFirmBLOBsByClientId(clientId); | |||
if(po==null){ | |||
if (po == null) { | |||
return null; | |||
} | |||
FirmBaseDto baseDto = converPoToBaseDto(po); | |||
FirmWithExtendDto dto = new FirmWithExtendDto(); | |||
BeanUtils.copyProperties(baseDto,dto); | |||
// fixme 获取配置信息 | |||
BeanUtils.copyProperties(baseDto, dto); | |||
Map<String, String> map = getAllProp(clientId); | |||
FirmPropParam propParam = convertExtendMapToDto(map); | |||
FirmPropParam propParam = FirmPropUtil.convertToDto(map); | |||
dto.setFirmProp(propParam); | |||
return dto; | |||
} | |||
private FirmPropParam convertExtendMapToDto(Map<String, String> map) { | |||
FirmPropParam prop = new FirmPropParam(); | |||
prop.setNetworkType(map.get(FirmPropEnum.NETWORK_TYPE.getProperName())); | |||
return null; | |||
} | |||
@Override | |||
public Map<String, String> getAllProp(String clientId) { | |||
if (StringUtils.isEmpty(clientId)) { | |||
@@ -227,17 +218,17 @@ public class FirmQueryServiceImpl implements FirmQueryService { | |||
// 1、从firm_info_extend获取全量属性 | |||
List<FirmInfoExtend> extendList = firmExtendDao.getListByClientId(clientId); | |||
for (FirmInfoExtend extendPo : extendList) { | |||
map.put(extendPo.getPropName(), extendPo.getPropValue()); | |||
map.put(extendPo.getPropName(), FirmPropUtil.convertShowValue(extendPo.getPropName(), extendPo.getPropValue())); | |||
} | |||
//2、从firm_usercert_channel 获取医师产品形态属性 | |||
List<FirmUsercertChannel> doctorProductList = doctorProductTypeDao.getByClientId(clientId); | |||
for (FirmUsercertChannel doctorPo : doctorProductList) { | |||
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) { | |||
map.put(FirmPropEnum.DOCTOR_PRODUCT_SDK.getProperName(), CommonStatusEnum.YES.getCode() + ""); | |||
map.put(FirmPropEnum.DOCTOR_PRODUCT_SDK.getProperName(), CommonStatusEnum.YES.getCode()); | |||
} | |||
} | |||
return map; | |||
@@ -248,22 +239,6 @@ public class FirmQueryServiceImpl implements FirmQueryService { | |||
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 | |||
public List<CrmFirmDto> getCrmFirmList(SearchCrmFirmParam param) { | |||
return null; | |||
@@ -33,8 +33,6 @@ public class TempFirmServiceTests { | |||
@Resource | |||
TempFirmManagerService managerService; | |||
@Resource | |||
FirmQueryService queryService; | |||
@Resource | |||
TempFirmQueryService tempQueryService; | |||
@Test | |||
@@ -54,6 +54,17 @@ | |||
<!-- 如果不想facade包有多余的依赖,此处scope设为provided,否则可以删除 --> | |||
<scope>provided</scope> | |||
</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> | |||
</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); | |||
} | |||
} |