@@ -2,6 +2,7 @@ package cn.com.taiji.core.entity.comm; | |||
import javax.persistence.*; | |||
import javax.validation.constraints.NotBlank; | |||
import javax.validation.constraints.NotNull; | |||
import javax.validation.constraints.Size; | |||
import cn.com.taiji.common.entity.StringPropertyUUIDEntity; | |||
@@ -28,23 +29,29 @@ public class CommonWxSignConfig extends StringPropertyUUIDEntity { | |||
@NotBlank | |||
@Size(max = 30) | |||
@Column(name = "MCH_ID") | |||
private String mchId;//商户号 | |||
private String mchId;//商户号 V2,V3 | |||
@NotBlank | |||
@Size(max = 50) | |||
@Column(name = "APP_ID") | |||
private String appId; | |||
@NotBlank | |||
private String appId;//appid,V2,V3 | |||
@Size(max = 50) | |||
@Column(name = "SUB_APP_ID") | |||
private String subAppId; | |||
@NotBlank | |||
private String subAppId;//子appid,V2 | |||
@Size(max = 30) | |||
@Column(name = "SUB_MCH_ID") | |||
private String subMchId;//子商户号 | |||
private String subMchId;//子商户号 V2 | |||
@NotBlank | |||
@Size(max = 255) | |||
@Column(name = "SIGN_KEY") | |||
private String signKey;//签名密钥 | |||
private String signKey;//签名密钥 == 商户私钥 V2,V3 | |||
@Column(name = "PLAN_ID") | |||
private String planId;//ETC授权扣费模板ID,商户申请后由微信侧提供 V3 | |||
@Column(name = "PRIVATEKEY") | |||
private String privateKey;//微信V3私钥-apiclient_key.pem V3 | |||
@Column(name = "SERIAL_NO") | |||
private String serialNo;//序列号 V3 | |||
@NotNull | |||
@Column(name = "VERSION") | |||
private Integer version;//2-V2蓝、绿,3-V3黄 | |||
@NotBlank |
@@ -88,7 +88,7 @@ public class AtsCreatPayOrderV3Request extends AbstractAtsRequest<AtsCreatPayOrd | |||
@NotBlank | |||
private String apiV3Key; // API V3密钥 | |||
@NotBlank | |||
private String privateKey;// 你的商户私钥 | |||
private String privateKey;// 你的商户私钥 apiclient_key.pem | |||
@NotBlank | |||
private String serialNo;// 商户证书序列号 | |||
@@ -46,7 +46,7 @@ public class AtsQueryPayResultV3Request extends AbstractAtsRequest<AtsQueryPayRe | |||
@NotBlank | |||
private String apiV3Key; // API V3密钥 | |||
@NotBlank | |||
private String privateKey;// 你的商户私钥 | |||
private String privateKey;// 你的商户私钥 apiclient_key.pem | |||
@NotBlank | |||
private String serialNo;// 商户证书序列号 | |||
@@ -40,7 +40,7 @@ public class AtsQueryRefundV3Request extends AbstractAtsRequest<AtsQueryRefundV3 | |||
@NotBlank | |||
private String apiV3Key; // API V3密钥 | |||
@NotBlank | |||
private String privateKey;// 你的商户私钥 | |||
private String privateKey;// 你的商户私钥 apiclient_key.pem | |||
@NotBlank | |||
private String serialNo;// 商户证书序列号 | |||
@@ -55,7 +55,7 @@ public class AtsRefundV3Request extends AbstractAtsRequest<AtsRefundV3Response> | |||
@NotBlank | |||
private String apiV3Key; // API V3密钥 | |||
@NotBlank | |||
private String privateKey;// 你的商户私钥 | |||
private String privateKey;// 你的商户私钥 apiclient_key.pem | |||
@NotBlank | |||
private String serialNo;// 商户证书序列号 | |||
@@ -15,7 +15,7 @@ import javax.validation.constraints.NotBlank; | |||
@Getter | |||
@Setter | |||
public class AtsVehicleSignV3ResultRequest extends AbstractSignTypeRequest<AtsVehicleSignV3ResultResponse> { | |||
protected AtsVehicleSignV3ResultRequest() { | |||
public AtsVehicleSignV3ResultRequest() { | |||
super(WeiXinServiceCmd.VEHICLESIGNRESULTV3); | |||
} | |||
@@ -71,7 +71,7 @@ public class AtsVehicleUserStateV3Request extends AbstractAtsRequest<AtsVehicleU | |||
@NotBlank | |||
private String apiV3Key; // API V3密钥 | |||
@NotBlank | |||
private String privateKey;// 你的商户私钥 | |||
private String privateKey;// 你的商户私钥 apiclient_key.pem | |||
@NotBlank | |||
private String serialNo;// 商户证书序列号 | |||
@@ -1,11 +1,16 @@ | |||
package cn.com.taiji.userw.dto.wx; | |||
import cn.com.taiji.common.valid.ViolationValidator; | |||
import cn.com.taiji.core.dto.AbstractStaffBizRequestDTO; | |||
import cn.com.taiji.core.model.comm.protocol.constraint.FixedLength; | |||
import cn.com.taiji.core.model.comm.protocol.constraint.IntegerConstant; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import javax.persistence.Column; | |||
import javax.validation.constraints.NotBlank; | |||
import javax.validation.constraints.NotNull; | |||
/** | |||
* @Author:ChenChao | |||
@@ -27,17 +32,37 @@ public class WxCarAddReqDTO extends AbstractStaffBizRequestDTO { | |||
@NotBlank | |||
@ApiModelProperty(value = "appId") | |||
private String appId; | |||
@NotBlank | |||
@ApiModelProperty(value = "appId") | |||
private String subAppId; | |||
@NotBlank | |||
@ApiModelProperty(value = "子商户号") | |||
private String subMchId; | |||
@NotBlank | |||
@ApiModelProperty(value = "签名密钥") | |||
private String signKey; | |||
@Column(name = "PLAN_ID") | |||
private String planId;//ETC授权扣费模板ID,商户申请后由微信侧提供 V3 | |||
@Column(name = "PRIVATEKEY") | |||
private String privateKey;//微信V3私钥-apiclient_key.pem V3 | |||
@Column(name = "SERIAL_NO") | |||
private String serialNo;//序列号 V3 | |||
@NotNull | |||
@IntegerConstant(values = "2,3") | |||
private Integer version;//2-V2蓝、绿,3-V3黄 | |||
@NotBlank | |||
@ApiModelProperty(value = "描述") | |||
private String info;//描述 | |||
@Override | |||
protected void validate(ViolationValidator validator) { | |||
super.validate(validator); | |||
if (version == 2) { | |||
validator.validFieldNotBlank("subAppId", subAppId); | |||
validator.validFieldNotBlank("subMchId", subMchId); | |||
} else { | |||
validator.validFieldNotBlank("serialNo", serialNo); | |||
validator.validFieldNotBlank("privateKey", privateKey); | |||
validator.validFieldNotBlank("planId", planId); | |||
} | |||
} | |||
} |
@@ -16,32 +16,11 @@ import javax.validation.constraints.NotBlank; | |||
*/ | |||
@Data | |||
@ApiModel(description = "车主签约修改") | |||
public class WxCarUpdateReqDTO extends AbstractStaffBizRequestDTO { | |||
public class WxCarUpdateReqDTO extends WxCarAddReqDTO { | |||
@NotBlank | |||
@ApiModelProperty(value = "主键Id") | |||
private String id; | |||
@NotBlank | |||
@FixedLength(length = 11) | |||
@ApiModelProperty(value = "渠道编号") | |||
private String agencyId;//渠道编号 | |||
@NotBlank | |||
@ApiModelProperty(value = "商户编号") | |||
private String mchId;//商户号 | |||
@NotBlank | |||
@ApiModelProperty(value = "appId") | |||
private String appId; | |||
@NotBlank | |||
@ApiModelProperty(value = "appId") | |||
private String subAppId; | |||
@NotBlank | |||
@ApiModelProperty(value = "子商户号") | |||
private String subMchId; | |||
@NotBlank | |||
@ApiModelProperty(value = "签名密钥") | |||
private String signKey; | |||
@NotBlank | |||
@ApiModelProperty(value = "描述") | |||
private String info;//描述 | |||
} |
@@ -48,6 +48,7 @@ public class WxSignChannelConfigManagerImpl extends AbstractManager implements W | |||
@Override | |||
public void add(WxCarAddReqDTO reqDto) throws ManagerException { | |||
reqDto.validate(); | |||
CommonWxSignConfig byAgencyId = commonWxSignConfigRepo.findByAgencyId(reqDto.getAgencyId()); | |||
if(byAgencyId != null){ | |||
throw new ManagerException("该渠道已配置"); | |||
@@ -58,6 +59,7 @@ public class WxSignChannelConfigManagerImpl extends AbstractManager implements W | |||
@Override | |||
public void update(WxCarUpdateReqDTO reqDto) throws ManagerException { | |||
reqDto.validate(); | |||
CommonWxSignConfig config = commonWxSignConfigRepo.findById(reqDto.getId()).orElse(null); | |||
if(config == null) throw new ManagerException("该配置不存在"); | |||
if (!config.getAgencyId().equals(reqDto.getAgencyId())){ |