|
|
@@ -11,6 +11,8 @@ import com.github.microservice.pay.client.type.PayProductChannelType;
|
|
|
import com.github.microservice.types.payment.PayFieldType;
|
|
|
import com.github.microservice.types.payment.PaymentType;
|
|
|
import com.zhongshu.card.client.model.org.BelongOigParam;
|
|
|
+import com.zhongshu.card.client.model.paySetting.payConfig.FrictionlessUnionConfigModel;
|
|
|
+import com.zhongshu.card.client.model.paySetting.payConfig.FrictionlessUnionConfigParam;
|
|
|
import com.zhongshu.card.client.model.paySetting.payConfig.LaKaLaCollectionConfig;
|
|
|
import com.zhongshu.card.client.model.paySetting.payConfig.LaKaLaCollectionConfigParam;
|
|
|
import com.zhongshu.card.client.model.paySetting.paySetting.*;
|
|
|
@@ -153,7 +155,7 @@ public class ProjectPaySettingServiceImpl extends SuperService {
|
|
|
if (state != null && state == DataState.Enable) {
|
|
|
ProjectMainPaySetting mainPaySetting = projectMainPaySettingDao.findTopByProjectOidAndChannelType(paySetting.getProjectOid(), paySetting.getChannelType());
|
|
|
if (ObjectUtils.isEmpty(mainPaySetting)) {
|
|
|
- return ResultContent.buildFail("未配置账户信息和结算规则等,不能启用");
|
|
|
+ return ResultContent.buildFail("未配置主账户信息或结算规则等,不能启用!");
|
|
|
}
|
|
|
}
|
|
|
paySetting.setState(state);
|
|
|
@@ -323,6 +325,35 @@ public class ProjectPaySettingServiceImpl extends SuperService {
|
|
|
return ResultContent.buildSuccess();
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 银联云闪付参数配置
|
|
|
+ *
|
|
|
+ * @param param
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public ResultContent saveUnionPayConfig(FrictionlessUnionConfigParam param) {
|
|
|
+ ResultContent<ProjectOrgPaySettingInfo> content = initProjectPayInfo(param);
|
|
|
+ if (content.isFailed()) {
|
|
|
+ return ResultContent.buildFail(content.getMsg());
|
|
|
+ }
|
|
|
+ ProjectOrgPaySettingInfo settingInfo = content.getContent();
|
|
|
+ FrictionlessUnionConfigModel unionConfigModel = null;
|
|
|
+ if (ObjectUtils.isNotEmpty(settingInfo) && settingInfo.getPayConfig() != null) {
|
|
|
+ unionConfigModel = (FrictionlessUnionConfigModel) settingInfo.getPayConfig();
|
|
|
+ }
|
|
|
+ if (unionConfigModel == null) {
|
|
|
+ unionConfigModel = new FrictionlessUnionConfigModel();
|
|
|
+ }
|
|
|
+ BeanUtils.copyProperties(param, unionConfigModel);
|
|
|
+
|
|
|
+ settingInfo.setPayConfig(unionConfigModel);
|
|
|
+ projectPaySettingInfoDao.save(settingInfo);
|
|
|
+
|
|
|
+ // 如果当前设置为默认,把其他的取消默认
|
|
|
+ initChangeDefault(settingInfo.getId(), settingInfo.getBelongOig(), settingInfo.getProjectOid(), settingInfo.getChannelType());
|
|
|
+ return ResultContent.buildSuccess();
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* @param param
|
|
|
* @return
|
|
|
@@ -444,6 +475,10 @@ public class ProjectPaySettingServiceImpl extends SuperService {
|
|
|
// 微信小程序支付
|
|
|
model.setApiName("saveWxPayConfig");
|
|
|
model.setFields(getWxConfig());
|
|
|
+ } else if (paymentType == PaymentType.UnionFrictionlessPay) {
|
|
|
+ // 银联云闪付
|
|
|
+ model.setApiName("saveUnionPayConfig");
|
|
|
+ model.setFields(getUnionPay());
|
|
|
}
|
|
|
return ResultContent.buildSuccess(model);
|
|
|
}
|
|
|
@@ -457,13 +492,33 @@ public class ProjectPaySettingServiceImpl extends SuperService {
|
|
|
List<PayConfigField> fields = new ArrayList<>(4);
|
|
|
fields.add(PayConfigField.builder().name("appId").key("appId").type(PayFieldType.Str).isMust(Boolean.TRUE).maxLength(100).build());
|
|
|
fields.add(PayConfigField.builder().name("商户证书序列号").key("mchSerialNo").type(PayFieldType.Str).isMust(Boolean.TRUE).maxLength(100).build());
|
|
|
-// fields.add(PayConfigField.builder().name("商户ID").key("mchId").type(PayFieldType.Str).isMust(Boolean.TRUE).maxLength(100).build());
|
|
|
fields.add(PayConfigField.builder().name("V3密钥").key("apiV3Key").type(PayFieldType.Str).isMust(Boolean.TRUE).maxLength(100).build());
|
|
|
fields.add(PayConfigField.builder().name("证书文件").key("privateKeyFile").type(PayFieldType.File).isMust(Boolean.FALSE).build());
|
|
|
fields.add(PayConfigField.builder().name("支付成功回调地址").key("notifyUrl").type(PayFieldType.Str).isMust(Boolean.TRUE).maxLength(500).build());
|
|
|
return fields;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 银联云闪付字段
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public List<PayConfigField> getUnionPay() {
|
|
|
+ List<PayConfigField> fields = new ArrayList<>(4);
|
|
|
+ fields.add(PayConfigField.builder().name("appId").key("appId").type(PayFieldType.Str).isMust(Boolean.TRUE).maxLength(100).build());
|
|
|
+ fields.add(PayConfigField.builder().name("appKey").key("appKey").type(PayFieldType.Str).isMust(Boolean.TRUE).maxLength(100).build());
|
|
|
+ fields.add(PayConfigField.builder().name("商户订单号开头").key("orderStart").type(PayFieldType.Str).isMust(Boolean.TRUE).maxLength(100).build());
|
|
|
+ fields.add(PayConfigField.builder().name("终端号").key("tid").type(PayFieldType.Str).isMust(Boolean.TRUE).maxLength(100).build());
|
|
|
+ fields.add(PayConfigField.builder().name("协议模板id").key("planId").type(PayFieldType.Str).isMust(Boolean.TRUE).maxLength(100).build());
|
|
|
+ fields.add(PayConfigField.builder().name("密钥").key("notifySecret").type(PayFieldType.Str).isMust(Boolean.TRUE).build());
|
|
|
+
|
|
|
+ fields.add(PayConfigField.builder().name("商户微信小程序AppId").key("mchntWxMpAppId").type(PayFieldType.Str).isMust(Boolean.TRUE).build());
|
|
|
+ fields.add(PayConfigField.builder().name("无感支付签约结果通知地址").key("notifyUrl").type(PayFieldType.Str).isMust(Boolean.TRUE).maxLength(500).build());
|
|
|
+ fields.add(PayConfigField.builder().name("支付结果通知地址").key("payNotifyUrl").type(PayFieldType.Str).isMust(Boolean.TRUE).maxLength(500).build());
|
|
|
+
|
|
|
+ return fields;
|
|
|
+ }
|
|
|
+
|
|
|
public ProjectPaySettingInfoModel toModel(ProjectOrgPaySettingInfo entity) {
|
|
|
ProjectPaySettingInfoModel model = null;
|
|
|
if (ObjectUtils.isNotEmpty(entity)) {
|