From 0646022baf27bd6d480e60e042576f78c3142fa4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Sat, 15 Nov 2025 15:11:14 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E9=92=B1=E5=8C=85=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=AF=B9=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/utils/RsaSignUtil.java | 38 +++++++++ .../cool/store/dto/wallet/AccountInfoDTO.java | 6 ++ .../cool/store/dto/wallet/BillDetailDTO.java | 78 +++++++++++++++++++ .../cool/store/dto/wallet/BillPageDTO.java | 74 ++++++++++++++++++ .../com/cool/store/dto/wallet/CompanyDTO.java | 23 ++++++ .../cool/store/dto/wallet/CompanyListDTO.java | 21 +++++ .../store/dto/wallet/StoreAccountDTO.java | 2 +- .../cool/store/dto/wallet/TransferDTO.java | 23 ++++++ .../cool/store/dto/wallet/WithDrawerDTO.java | 29 +++++++ .../request/wallet/BillDetailRequest.java | 18 +++++ .../store/request/wallet/BillPageRequest.java | 32 ++++++++ .../wallet/FindPageCompanyRequest.java | 22 ++++++ .../request/wallet/LargePaymentRequest.java | 8 +- .../store/request/wallet/TransferRequest.java | 31 ++++++++ .../request/wallet/WalletBasicPageInfo.java | 4 +- .../request/wallet/WithDrawerRequest.java | 25 ++++++ .../cool/store/http/WalletHttpClientRest.java | 11 +-- .../service/wallet/WalletApiService.java | 59 +++++++++++++- .../store/config/OpenApiValidateFilter.java | 1 + .../controller/webb/PCTestController.java | 45 +++++++++-- 20 files changed, 530 insertions(+), 20 deletions(-) create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/BillDetailDTO.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/BillPageDTO.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/CompanyDTO.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/CompanyListDTO.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/TransferDTO.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/WithDrawerDTO.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/request/wallet/BillDetailRequest.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/request/wallet/BillPageRequest.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/request/wallet/FindPageCompanyRequest.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/request/wallet/TransferRequest.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/request/wallet/WithDrawerRequest.java diff --git a/coolstore-partner-common/src/main/java/com/cool/store/utils/RsaSignUtil.java b/coolstore-partner-common/src/main/java/com/cool/store/utils/RsaSignUtil.java index 49c44b360..b958388a4 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/utils/RsaSignUtil.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/utils/RsaSignUtil.java @@ -306,4 +306,42 @@ public class RsaSignUtil { return null; } } + + + /** + * 针对 /zxjp/open/v1/wallet/** 接口的专用验签方法 + * @param params 包含签名参数的Map + * @param privateKeyPEM 用于生成签名的私钥 + * @return 验签是否通过 + */ + public static boolean verifyWalletSign(Map params, String privateKeyPEM) { + try { + // 1. 获取请求中的签名 + String requestSign = String.valueOf(params.get("sign")); + if (requestSign == null || requestSign.isEmpty()) { + log.warn("请求中缺少签名参数"); + return false; + } + + // 2. 移除签名参数,生成待签名字符串 + Map paramsToSign = new HashMap<>(params); + paramsToSign.remove("sign"); + + // 3. 使用相同的私钥生成签名 + String generatedSign = generateSign(paramsToSign, privateKeyPEM); + + // 4. 对比签名 + boolean isVerified = Objects.equals(requestSign, generatedSign); + + if (!isVerified) { + log.warn("签名验证失败,请求签名: {}, 生成签名: {}", requestSign, generatedSign); + } + + return isVerified; + } catch (Exception e) { + log.error("验签过程中发生异常", e); + return false; + } + } + } \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/AccountInfoDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/AccountInfoDTO.java index 323cd9ae9..11154caa5 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/AccountInfoDTO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/AccountInfoDTO.java @@ -61,4 +61,10 @@ public class AccountInfoDTO { @ApiModelProperty(value = "账户余额", required = true) private String totalAmount; + @ApiModelProperty(value = "打标状态 0 未打标 1 已打标", required = true) + private Integer labelingStatus; + + @ApiModelProperty(value = "是否签约人账户 0 否 1 是", required = true) + private Integer isLegal; + } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/BillDetailDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/BillDetailDTO.java new file mode 100644 index 000000000..645437024 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/BillDetailDTO.java @@ -0,0 +1,78 @@ +package com.cool.store.dto.wallet; + +import lombok.Data; + +/** + * @Author suzhuhong + * @Date 2025/11/14 10:09 + * @Version 1.0 + */ +@Data +public class BillDetailDTO { + + /** + * 外部门店唯一标识 + */ + private String outStoreId; + + /** + * 业务系统付款单号(如 CRM 单号) + */ + private String reqNo; + + /** + * 交易Id(营帐通) + */ + private Long tradeId; + + /** + * 交易编号(扫呗) + */ + private String outTradeNo; + + /** + * 交易科目 + */ + private Integer feeItemId; + + /** + * 门店账户编号 + */ + private String storeAccountNo; + + /** + * 公司编号 + */ + private String companyCode; + + /** + * 公司账户编号 + */ + private String companyAccountNo; + + /** + * 提现银行卡 + */ + private String withdrawalBankCardNo; + + /** + * 提现银行卡户名 + */ + private String withdrawalBankCardName; + + /** + * 金额(元) + */ + private String amount; + + /** + * 交易状态 1.成功 2.失败 3.处理中 + */ + private Integer tradeStatus; + + /** + * 交易类型 1.转账 2.提现 + */ + private Integer tradeType; + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/BillPageDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/BillPageDTO.java new file mode 100644 index 000000000..e1e6a6e92 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/BillPageDTO.java @@ -0,0 +1,74 @@ +package com.cool.store.dto.wallet; + +import lombok.Data; + +/** + * @Author suzhuhong + * @Date 2025/11/14 10:31 + * @Version 1.0 + */ +@Data +public class BillPageDTO { + + /** + * 业务系统付款单号(如 CRM 单号) + */ + private String reqNo; + + /** + * 交易Id(营帐通) + */ + private Long tradeId; + + /** + * 交易编号(扫呗) + */ + private String outTradeNo; + + /** + * 交易科目 + */ + private Integer feeItemId; + + /** + * 门店账户编号 + */ + private String storeAccountNo; + + /** + * 公司编号 + */ + private String companyCode; + + /** + * 公司账户编号 + */ + private String companyAccountNo; + + /** + * 提现银行卡 + */ + private String withdrawalBankCradNo; + + /** + * 提现银行卡户名 + */ + private String withdrawalBankCradName; + + /** + * 金额(元) + */ + private String amount; + + /** + * 交易状态 1.成功 2.失败 3.处理中 + */ + private Integer tradeStatus; + + /** + * 交易类型 1.转账 2.提现 + */ + private Integer tradeType; + + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/CompanyDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/CompanyDTO.java new file mode 100644 index 000000000..42bc48c7b --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/CompanyDTO.java @@ -0,0 +1,23 @@ +package com.cool.store.dto.wallet; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author suzhuhong + * @Date 2025/11/14 10:34 + * @Version 1.0 + */ +@Data +public class CompanyDTO { + + @ApiModelProperty(value = "公司编号") + private String companyCode; + + @ApiModelProperty(value = "公司名称") + private String companyName; + + @ApiModelProperty(value = "公司账户") + private String companyAccountNo; + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/CompanyListDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/CompanyListDTO.java new file mode 100644 index 000000000..073944367 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/CompanyListDTO.java @@ -0,0 +1,21 @@ +package com.cool.store.dto.wallet; + +import com.cool.store.request.wallet.WalletBasicPageInfo; +import lombok.Data; + +import java.util.List; + +/** + * @Author suzhuhong + * @Date 2025/11/14 10:57 + * @Version 1.0 + */ +@Data +public class CompanyListDTO { + + private List pageData; + + private WalletBasicPageInfo page; + + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/StoreAccountDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/StoreAccountDTO.java index d3f88e374..f35ac842b 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/StoreAccountDTO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/StoreAccountDTO.java @@ -14,6 +14,6 @@ public class StoreAccountDTO { /** * 营帐通的账户ID */ - private String accountId; + private String accountNo; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/TransferDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/TransferDTO.java new file mode 100644 index 000000000..61c649aac --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/TransferDTO.java @@ -0,0 +1,23 @@ +package com.cool.store.dto.wallet; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author suzhuhong + * @Date 2025/11/14 9:49 + * @Version 1.0 + */ +@Data +public class TransferDTO { + + @ApiModelProperty(value="业务系统付款单号(如 CRM 单号)",required = true) + private String reqNo; + @ApiModelProperty(value="转账交易Id",required = true) + private Long tradeId; + @ApiModelProperty(value="金额(元)",required = true) + private String amount; + @ApiModelProperty(value="交易状态1.成功 2.失败 3.处理中",required = true) + private Integer tradeStatus; + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/WithDrawerDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/WithDrawerDTO.java new file mode 100644 index 000000000..bdbeabb3b --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/WithDrawerDTO.java @@ -0,0 +1,29 @@ +package com.cool.store.dto.wallet; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author suzhuhong + * @Date 2025/11/14 9:59 + * @Version 1.0 + */ +@Data +public class WithDrawerDTO { + + @ApiModelProperty(value = "门店ID",required = true) + private String outStoreId; + @ApiModelProperty(value = "业务系统付款单号(如 CRM 单号)",required = true) + private String reqNo; + @ApiModelProperty(value = "转账交易Id(营帐通系统)",required = true) + private String tradeId; + @ApiModelProperty(value = "提现科目",required = true) + private Long feeItemId; + @ApiModelProperty(value = "提现账户编号",required = true) + private String accountNo; + @ApiModelProperty(value = "金额(元)",required = true) + private String amount; + @ApiModelProperty(value = "交易状态1.成功 2.失败 3.处理中",required = true) + private String tradeStatus; + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/BillDetailRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/BillDetailRequest.java new file mode 100644 index 000000000..fbff673cd --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/BillDetailRequest.java @@ -0,0 +1,18 @@ +package com.cool.store.request.wallet; + +import io.swagger.annotations.ApiModelProperty; + +/** + * @Description 门店签约账户转账提现查询接口 + * @Author suzhuhong + * @Date 2025/11/14 10:05 + * @Version 1.0 + */ +public class BillDetailRequest { + + @ApiModelProperty(value = "转账交易Id(转账交易编号二选一)") + private Long tradeId; + @ApiModelProperty(value = "转账交易编号(转账交易Id二选一)") + private String outTradeNo; + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/BillPageRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/BillPageRequest.java new file mode 100644 index 000000000..82e310576 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/BillPageRequest.java @@ -0,0 +1,32 @@ +package com.cool.store.request.wallet; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author suzhuhong + * @Date 2025/11/14 10:17 + * @Version 1.0 + */ +@Data +public class BillPageRequest { + + @ApiModelProperty(value = "门店ID", required = true) + private String outStoreId; + @ApiModelProperty(value = "交易开始时间YYYY-MM-DD HH:MM:SS", required = true) + private String beginDate; + @ApiModelProperty(value = "交易结束时间YYYY-MM-DD HH:MM:SS", required = true) + private String endDate; + @ApiModelProperty(value = "钱包类型 1.门店钱包(平安) 2.签约人钱包(平安) 3.返利钱包(网商)", required = true) + private Integer walletType; + @ApiModelProperty(value = "交易类型: 0.全部,1.支出 2.收入", required = false) + private Integer recordType; + @ApiModelProperty(value = "费用类型ID", required = true) + private Long feeItemId; + @ApiModelProperty(value = "当前页码", required = true) + private Integer currentPage; + @ApiModelProperty(value = "每页数量", required = true) + private Integer pageSize; + + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/FindPageCompanyRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/FindPageCompanyRequest.java new file mode 100644 index 000000000..d6e605eb1 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/FindPageCompanyRequest.java @@ -0,0 +1,22 @@ +package com.cool.store.request.wallet; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author suzhuhong + * @Date 2025/11/14 10:32 + * @Version 1.0 + */ +@Data +public class FindPageCompanyRequest { + + @ApiModelProperty(value = "公司编码") + private String companyCode; + + @ApiModelProperty(value = "公司名称") + private String companyName; + + private WalletBasicPageInfo page; + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/LargePaymentRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/LargePaymentRequest.java index a7e1b9521..6038e7964 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/LargePaymentRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/LargePaymentRequest.java @@ -11,16 +11,16 @@ import lombok.Data; @Data public class LargePaymentRequest { - @ApiModelProperty(name = "商户门店编号",required = true) + @ApiModelProperty(value = "商户门店编号",required = true) private String outStoreId; - @ApiModelProperty(name = "请求预支付Id",required = true) + @ApiModelProperty(value = "请求预支付Id",required = true) private String paymentId; - @ApiModelProperty(name = "签约人名称",required = true) + @ApiModelProperty(value = "签约人名称",required = true) private String payerAccName; - @ApiModelProperty(name = "支付金额",required = true) + @ApiModelProperty(value = "支付金额",required = true) private String amt; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/TransferRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/TransferRequest.java new file mode 100644 index 000000000..8a74c09a7 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/TransferRequest.java @@ -0,0 +1,31 @@ +package com.cool.store.request.wallet; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author suzhuhong + * @Date 2025/11/14 9:40 + * @Version 1.0 + */ +@Data +public class TransferRequest { + + @ApiModelProperty(name = "门店唯一标识",required = true) + private String outStoreId; + @ApiModelProperty(name = "支付密码(sm3加密后字符串)",required = true) + private String payPwd; + @ApiModelProperty(name = "业务系统付款单号(如 CRM 单号),业务系统唯一",required = true) + private String reqNo; + @ApiModelProperty(name = "付款科目",required = true) + private Integer feeItemId; + @ApiModelProperty(name = "公司编号",required = true) + private String companyCode; + @ApiModelProperty(name = "公司编号绑定多个账户时,必传",required = false) + private String companyAccountCode; + @ApiModelProperty(name = "金额(元)",required = true) + private String amount; + @ApiModelProperty(name = "备注 ,交易摘要",required = true) + private String remark; + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/WalletBasicPageInfo.java b/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/WalletBasicPageInfo.java index 4a1cde0a2..c2fba1f17 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/WalletBasicPageInfo.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/WalletBasicPageInfo.java @@ -17,10 +17,10 @@ import lombok.NoArgsConstructor; @NoArgsConstructor public class WalletBasicPageInfo { - @ApiModelProperty(name = "当前页码",required = true) + @ApiModelProperty(value = "当前页码",required = true) private Integer currentPage; - @ApiModelProperty(name = "每页数量",required = true) + @ApiModelProperty(value = "每页数量",required = true) private Integer pageSize; private Integer total; diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/WithDrawerRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/WithDrawerRequest.java new file mode 100644 index 000000000..ef0f65ace --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/wallet/WithDrawerRequest.java @@ -0,0 +1,25 @@ +package com.cool.store.request.wallet; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author suzhuhong + * @Date 2025/11/14 9:56 + * @Version 1.0 + */ +@Data +public class WithDrawerRequest { + + @ApiModelProperty(value = "门店ID") + private String outStoreId; + @ApiModelProperty(value = "支付密码(sm3加密后字符串)") + private String payPwd; + @ApiModelProperty(value = "业务系统付款单号(如 CRM 单号)") + private String reqNo; + @ApiModelProperty(value = "提现金额") + private String amount; + @ApiModelProperty(value = "提现备注") + private String remark; + +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/http/WalletHttpClientRest.java b/coolstore-partner-service/src/main/java/com/cool/store/http/WalletHttpClientRest.java index aeb5cf88f..4ac01676d 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/http/WalletHttpClientRest.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/http/WalletHttpClientRest.java @@ -1,5 +1,6 @@ package com.cool.store.http; +import com.alibaba.fastjson.JSONObject; import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.exception.ServiceException; import com.cool.store.utils.RsaSignUtil; @@ -14,6 +15,7 @@ import org.springframework.stereotype.Service; import java.io.IOException; import java.util.HashMap; +import java.util.List; import java.util.Map; /** @@ -167,16 +169,11 @@ public class WalletHttpClientRest { */ @SuppressWarnings("unchecked") private T parseResponse(String responseJson, Class responseType) throws Exception { - if (responseType == String.class) { - return (T) responseJson; - } - // 解析为通用响应格式 Map responseMap = objectMapper.readValue(responseJson, new TypeReference>() {}); - // 如果返回类型是Map,直接返回 if (responseType == Map.class) { return (T) responseMap; @@ -185,6 +182,10 @@ public class WalletHttpClientRest { // 提取data字段 Object data = responseMap.get("data"); if (data != null && responseType != Object.class) { + if (data instanceof List) { + // 保持List结构,让调用方处理具体类型转换 + return (T)JSONObject.toJSONString(data); + } return objectMapper.convertValue(data, responseType); } 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 45990e0bd..4b77cea30 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 @@ -1,11 +1,14 @@ package com.cool.store.service.wallet; +import com.alibaba.fastjson.JSONObject; import com.cool.store.dto.wallet.*; import com.cool.store.http.WalletHttpClientRest; import com.cool.store.request.wallet.*; +import com.cool.store.utils.StringUtil; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.List; /** * @Author suzhuhong @@ -77,8 +80,12 @@ public class WalletApiService { * @param request * @return */ - public AccountInfoDTO getAccountInfo(OutStoreIdRequest request){ - return walletHttpClientRest.postWithSign("https://api.dev.wenmatech.com:443/open/crm/account/v1/getAccountInfo", request, AccountInfoDTO.class); + public List getAccountInfo(OutStoreIdRequest request){ + String accountInfoStr = walletHttpClientRest.postWithSign("https://api.dev.wenmatech.com:443/open/crm/account/v1/queryAccountInfo", request, String.class); + if (StringUtil.isNotEmpty(accountInfoStr)){ + return JSONObject.parseArray(accountInfoStr, AccountInfoDTO.class); + } + return null; } /** @@ -87,7 +94,7 @@ public class WalletApiService { * @return */ public LargePaymentDTO largePayment(LargePaymentRequest request){ - return walletHttpClientRest.postWithSign("https://api.dev.wenmatech.com:443/open/crm/payment/v1/largePayment", request, LargePaymentDTO.class); + return walletHttpClientRest.postWithSign("https://api.dev.wenmatech.com:443/open/crm/trans/v1/largePayment", request, LargePaymentDTO.class); } /** @@ -99,6 +106,52 @@ public class WalletApiService { return walletHttpClientRest.postWithSign("https://api.dev.wenmatech.com:443/open/crm/trans/v1/largePaymentQuery", request, PaymentDTO.class); } + /** + * 门店账户向公司分账转账接口 + * @param request + * @return + */ + public TransferDTO transfer(TransferRequest request){ + return walletHttpClientRest.postWithSign("https://api.dev.wenmatech.com:443/open/crm/trans/v1/transfer", request, TransferDTO.class); + } + + + /** + * 门店签约账户,退款提现至提现卡 + * @param request + * @return + */ + public WithDrawerDTO withdraw(WithDrawerRequest request){ + return walletHttpClientRest.postWithSign("https://api.dev.wenmatech.com:443/open/crm/trans/v1/withdraw", request, WithDrawerDTO.class); + } + + /** + * 账单详情 + * @param request + * @return + */ + public BillDetailDTO getBillDetail(BillDetailRequest request){ + return walletHttpClientRest.postWithSign("https://api.dev.wenmatech.com:443/open/crm/trans/v1/billDetail", request, BillDetailDTO.class); + } + + /** + * 获取门店账户流水 + * @param request + * @return + */ + public BillPageDTO getBillPage(BillPageRequest request){ + return walletHttpClientRest.postWithSign("https://api.dev.wenmatech.com:443/open/crm/trans/v1/billPage", request, BillPageDTO.class); + } + + /** + * 获取门店账户信息 + * @param request + * @return + */ + public CompanyListDTO getCompanyInfo(FindPageCompanyRequest request){ + return walletHttpClientRest.postWithSign("https://api.dev.wenmatech.com:443/open/crm/base/v1/findPageCompany", request, CompanyListDTO.class); + } + /** * 获取支行信息 * @param request diff --git a/coolstore-partner-web/src/main/java/com/cool/store/config/OpenApiValidateFilter.java b/coolstore-partner-web/src/main/java/com/cool/store/config/OpenApiValidateFilter.java index 682af5c52..624d2a602 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/config/OpenApiValidateFilter.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/config/OpenApiValidateFilter.java @@ -70,6 +70,7 @@ public class OpenApiValidateFilter implements Filter { filterChain.doFilter(servletRequest, response); return; } + HttpServletResponse res = (HttpServletResponse) response; // 1. 验证时间戳 try { diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCTestController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCTestController.java index 0818faab5..5e54d41f3 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCTestController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCTestController.java @@ -752,7 +752,6 @@ public class PCTestController { return ResponseResult.success(accountAuthenticationDTO); } - @ApiOperation("门店签约人账户开通接口") @PostMapping("/openAccount") public ResponseResult openAccount(@RequestBody AccountVerifyRequest request) { @@ -762,12 +761,11 @@ public class PCTestController { @ApiOperation("获取账户信息") @PostMapping("/getAccountInfo") - public ResponseResult getAccountInfo(@RequestBody OutStoreIdRequest request) { - AccountInfoDTO accountInfo = walletApiService.getAccountInfo(request); - return ResponseResult.success(accountInfo); + public ResponseResult> getAccountInfo(@RequestBody OutStoreIdRequest request) { + List accountInfoList = walletApiService.getAccountInfo(request); + return ResponseResult.success(accountInfoList); } - @ApiOperation("大额预支付接口") @PostMapping("/largePayment") public ResponseResult largePayment(@RequestBody LargePaymentRequest request) { @@ -782,6 +780,43 @@ public class PCTestController { return ResponseResult.success(PaymentDTO); } + @ApiOperation("门店账户向公司分账转账接口") + @PostMapping("/transfer") + public ResponseResult transfer(@RequestBody TransferRequest request) { + TransferDTO transfer = walletApiService.transfer(request); + return ResponseResult.success(transfer); + } + + @ApiOperation("门店签约账户,退款提现至提现卡") + @PostMapping("/withdraw") + public ResponseResult withdraw(@RequestBody WithDrawerRequest request) { + WithDrawerDTO withdraw = walletApiService.withdraw(request); + return ResponseResult.success(withdraw); + } + + @ApiOperation(" 获取账单详情") + @PostMapping("/getBillDetail") + public ResponseResult getBillDetail(@RequestBody BillDetailRequest request) { + BillDetailDTO billDetail = walletApiService.getBillDetail(request); + return ResponseResult.success(billDetail); + } + + @ApiOperation("获取账单列表") + @PostMapping("/getBillPage") + public ResponseResult getBillPage(@RequestBody BillPageRequest request) { + BillPageDTO billPage = walletApiService.getBillPage(request); + return ResponseResult.success(billPage); + } + + @ApiOperation("获取银行信息") + @PostMapping("/getCompanyInfo") + public ResponseResult getCompanyInfo(@RequestBody FindPageCompanyRequest request) { + CompanyListDTO companyDTO = walletApiService.getCompanyInfo(request); + return ResponseResult.success(companyDTO); + } + + +