diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/AccountActiveUrlDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/AccountActiveUrlDTO.java new file mode 100644 index 000000000..aef265344 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/AccountActiveUrlDTO.java @@ -0,0 +1,20 @@ +package com.cool.store.dto.wallet; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author suzhuhong + * @Date 2025/11/18 17:55 + * @Version 1.0 + */ +@Data +public class AccountActiveUrlDTO { + @ApiModelProperty(value = "商户门店编号",required = true) + private String outStoreId; + @ApiModelProperty(value = "H5 激活页短链(商户需访问此链接完成操作,非公网可直接访问需确认权限)",required = true) + private String activateUrl; + @ApiModelProperty(value = "短链失效时间(格式:YYYY-MM-DD HH:mm:ss,过期后需重新调用接口生成)",required = true) + private String expireTime; + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/StoreIdDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/StoreIdDTO.java new file mode 100644 index 000000000..116d2df3a --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/StoreIdDTO.java @@ -0,0 +1,16 @@ +package com.cool.store.dto.wallet; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author suzhuhong + * @Date 2025/11/18 18:20 + * @Version 1.0 + */ +@Data +public class StoreIdDTO { + @ApiModelProperty(value = "商户门店编号",required = true) + private String outStoreId; + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/AccountAddTagRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/AccountAddTagRequest.java index 684fe142d..975d45314 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/AccountAddTagRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/AccountAddTagRequest.java @@ -54,4 +54,32 @@ public class AccountAddTagRequest { @ApiModelProperty(value = "法人联系电话", required = true) @NotBlank(message = "法人联系电话不能为空") private String legalPhone; + + @ApiModelProperty(value = "开户许可证图片链接,企业必选", required = true) + private String industryLicensePhoto; + + @ApiModelProperty(value = "法人代表证件人像面图片链接", required = true) + private String certPhotoA; + + @ApiModelProperty(value = "法人代表证件国徽面 / 签证面图片链接", required = true) + private String certPhotoB; + + @ApiModelProperty(value = "营业执照图片链接", required = true) + private String licensePhoto; + + @ApiModelProperty(value = "签约人姓名", required = true) + private String signatoryName; + + @ApiModelProperty(value = "签约人身份证", required = true) + private String signatoryNo; + + @ApiModelProperty(value = "签约人联系电话", required = true) + private String signatoryPhone; + + @ApiModelProperty(value = "签约人证件人像面图片链接", required = true) + private String signatoryPhotoA; + + @ApiModelProperty(value = "签约人证件国徽面图片链接", required = true) + private String signatoryPhotoB; + } \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/AddTagCallbackNoticeRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/AddTagCallbackNoticeRequest.java index 4d5a495b0..858c7e99b 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/AddTagCallbackNoticeRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/AddTagCallbackNoticeRequest.java @@ -17,5 +17,8 @@ public class AddTagCallbackNoticeRequest { private Integer status; @ApiModelProperty(name = "1.法人 2.非法人", required = true) private Integer addTagType; + @ApiModelProperty(name = "失败原因", required = false) + private Integer errorMsg; + } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/CreateStoreAndAccountRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/CreateStoreAndAccountRequest.java index 231f74b78..e8218cdf0 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/CreateStoreAndAccountRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/CreateStoreAndAccountRequest.java @@ -19,10 +19,6 @@ public class CreateStoreAndAccountRequest { @ApiModelProperty(name = "CRM门店编号", required = true) private String outStoreId; - @ApiModelProperty(name = "组织编号", required = true) - private String orgCode; - @ApiModelProperty(name = "组织名称", required = true) - private String orgName; @ApiModelProperty(name = "联系电话", required = true) private String phoneNumber; @ApiModelProperty(name = "结算卡业务类型 枚举值:1:对公 2:对私", required = true) diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/OldStoreAccountCreateRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/OldStoreAccountCreateRequest.java new file mode 100644 index 000000000..4a7e5af72 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/OldStoreAccountCreateRequest.java @@ -0,0 +1,83 @@ +package com.cool.store.request.wallet; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author suzhuhong + * @Date 2025/11/18 18:16 + * @Version 1.0 + */ +@Data +public class OldStoreAccountCreateRequest { + + @ApiModelProperty(value = "CRM门店编号", required = true) + private String outStoreId; + + @ApiModelProperty(value = "联系电话", required = true) + private String phoneNumber; + + @ApiModelProperty(value = "结算卡业务类型 枚举值:1:对公 2:对私(结算类型)", required = true, example = "1") + private Integer accountType; + + @ApiModelProperty(value = "开户类型:1企业 2个体工商户 3个人(小微商户)", required = true, example = "1") + private Integer businessType; + + @ApiModelProperty(value = "营业执照号码,与企业证件类型对应的企业注册号(企业与个体户必传)") + private String licenseNo; + + @ApiModelProperty(value = "工商注册名称(与注册工商信息时一致)(企业与个体户必传)") + private String licenseName; + + @ApiModelProperty(value = "法人姓名", required = true) + private String legalName; + + @ApiModelProperty(value = "法人证件号码", required = true) + private String legalNo; + + @ApiModelProperty(value = "法人联系电话(企业与个体户必传)") + private String legalPhone; + + @ApiModelProperty(value = "账户简称", required = true) + private String accountAliasName; + + @ApiModelProperty(value = "结算银行卡号", required = true) + private String accountCardNo; + + @ApiModelProperty(value = "结算卡银行预留手机号(存量门店可能没有)", required = true) + private String accountPhone; + + @ApiModelProperty(value = "开户支行", required = true) + private String bankNo; + + @ApiModelProperty(value = "开户支行名称", required = true) + private String bankName; + + @ApiModelProperty(value = "开户许可证图片链接,企业必选") + private String industryLicensePhoto; + + @ApiModelProperty(value = "法人代表证件人像面图片链接", required = true) + private String certPhotoA; + + @ApiModelProperty(value = "法人代表证件国徽面图片链接", required = true) + private String certPhotoB; + + @ApiModelProperty(value = "营业执照图片链接", required = true) + private String licensePhoto; + + @ApiModelProperty(value = "签约人姓名", required = true) + private String signatoryName; + + @ApiModelProperty(value = "签约人身份证", required = true) + private String signatoryNo; + + @ApiModelProperty(value = "签约人联系电话", required = true) + private String signatoryPhone; + + @ApiModelProperty(value = "签约人证件人像面图片链接", required = true) + private String signatoryPhotoA; + + @ApiModelProperty(value = "签约人证件国徽面图片链接", required = true) + private String signatoryPhotoB; + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/OnlineCommercialBankCallbackRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/OnlineCommercialBankCallbackRequest.java new file mode 100644 index 000000000..64539e56b --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/OnlineCommercialBankCallbackRequest.java @@ -0,0 +1,25 @@ +package com.cool.store.request.wallet; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author suzhuhong + * @Date 2025/11/18 18:00 + * @Version 1.0 + */ +@Data +public class OnlineCommercialBankCallbackRequest { + + @ApiModelProperty(name = "CRM门店编号", required = true) + private String outStoreId; + @ApiModelProperty(name = "网商账户编号", required = true) + private String accountNo; + @ApiModelProperty(name = "4.已开通 5.开通失败", required = true) + private Integer accountStatus; + @ApiModelProperty(name = "开户失败原因", required = true) + private String failReason; + @ApiModelProperty(name = "钱包类型 1.平安 2.网商 目前只有网商是创建账户异步的 预留字段", required = true) + private int walletType; + +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/wallet/WalletApiService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/wallet/WalletApiService.java index 3d9a298b6..32e4f0538 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/wallet/WalletApiService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/wallet/WalletApiService.java @@ -183,6 +183,25 @@ public class WalletApiService { return walletHttpClientRest.postWithSign(walletBaseUrl+"/open/crm/account/v1/findAccountPage", request, AccountPageDTO.class); } + /** + * 获取账户激活链接 + * @param request + * @return + */ + public AccountActiveUrlDTO pushAccountActiveUrl(OutStoreIdRequest request){ + return walletHttpClientRest.postWithSign(walletBaseUrl+"/open/crm/account/ws/v1/create", request, AccountActiveUrlDTO.class); + } + + /** + * 老店创建门店网商账户 + * @param request + * @return + */ + public StoreIdDTO oldStoreOpenAccount(OldStoreAccountCreateRequest request){ + return walletHttpClientRest.postWithSign(walletBaseUrl+"/open/crm/account/ws/v1/create", request, StoreIdDTO.class); + } + + diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/wallet/WalletService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/wallet/WalletService.java index 36a10081d..ad2d84896 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/wallet/WalletService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/wallet/WalletService.java @@ -66,6 +66,13 @@ public interface WalletService { */ Boolean largePaymentCallback(PaymentDTO request); + /** + * 网商银行 回调接口 + * @param request + * @return + */ + Boolean onlineCommercialBankCallback(OnlineCommercialBankCallbackRequest request); + /** * 账户交易回调 * @param request diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/wallet/impl/WalletServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/wallet/impl/WalletServiceImpl.java index 0ad7bb644..b5e182451 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/wallet/impl/WalletServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/wallet/impl/WalletServiceImpl.java @@ -75,8 +75,6 @@ public class WalletServiceImpl implements WalletService { } CreateStoreAndAccountRequest accountRequest = CreateStoreAndAccountRequest.builder() .outStoreId(shopInfo.getStoreId()) - .orgCode(String.valueOf(regionDO.getId())) - .orgName(regionDO.getName()) .phoneNumber(request.getMobile()) .accountType(BankAccountTypeEnum.PRIVATE.getType()) .businessType(BankBusinessTypeEnum.PERSONAL.getType()) @@ -203,6 +201,11 @@ public class WalletServiceImpl implements WalletService { return Boolean.TRUE; } + @Override + public Boolean onlineCommercialBankCallback(OnlineCommercialBankCallbackRequest request) { + return Boolean.TRUE; + } + @Override public Boolean accountTradeCallback(AccountTradeCallbackRequest request) { return Boolean.TRUE; diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/OpenApiController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/OpenApiController.java index 8df5ffb08..a7ec6c637 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/OpenApiController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/OpenApiController.java @@ -14,6 +14,7 @@ import com.cool.store.request.notice.ThirdHandleMessageRequest; import com.cool.store.request.notice.ThirdMatterRequest; import com.cool.store.request.wallet.AccountTradeCallbackRequest; import com.cool.store.request.wallet.AddTagCallbackNoticeRequest; +import com.cool.store.request.wallet.OnlineCommercialBankCallbackRequest; import com.cool.store.request.xgj.FranchiseFeeCallBackRequest; import com.cool.store.request.xgj.ReceiptCallBackRequest; import com.cool.store.response.ResponseResult; @@ -239,4 +240,10 @@ public class OpenApiController { return ApiResponse.successByWallet(walletService.accountTradeCallback(request)); } + @ApiOperation("网商银行通知接口") + @PostMapping("/wallet/onlineCommercialBankCallback") + public ApiResponse accountTradeCallback(@RequestBody @Validated OnlineCommercialBankCallbackRequest request) { + return ApiResponse.successByWallet(walletService.onlineCommercialBankCallback(request)); + } + }