Merge branch 'cc_20251112_wallet' into 'master'

钱包

See merge request hangzhou/java/custom_zxjp!194
This commit is contained in:
苏竹红
2025-11-27 08:39:10 +00:00
131 changed files with 6654 additions and 60 deletions

View File

@@ -55,5 +55,7 @@ public class PreparationDTO {
private Long managerRegionId;
private String storeId;
}

View File

@@ -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;
}

View File

@@ -0,0 +1,17 @@
package com.cool.store.dto.wallet;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2025/11/13 16:06
* @Version 1.0
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class AccountAuthenticationDTO {
private Integer accountStatus;
}

View File

@@ -0,0 +1,86 @@
package com.cool.store.dto.wallet;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 门店签约人账户
* @Author suzhuhong
* @Date 2025/11/13 16:54
* @Version 1.0
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class AccountInfoDTO {
@ApiModelProperty(value = "结算卡业务类型 枚举值1对公 2对私", required = true)
private Integer accountType;
@ApiModelProperty(value = "营业执照号码")
private String licenseNo;
@ApiModelProperty(value = "工商注册名称")
private String licenseName;
@ApiModelProperty(value = "法人姓名")
private String legalName;
@ApiModelProperty(value = "法人证件号码")
private String legalNo;
@ApiModelProperty(value = "法人联系电话")
private String legalPhone;
@ApiModelProperty(value = "门店编号", required = true)
private String storeSn;
@ApiModelProperty(value = "账户编号", required = true)
private String accountNo;
@ApiModelProperty(value = "账户名称", required = true)
private String accountName;
@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 bankName;
@ApiModelProperty(value = "支行编号", required = true)
private String bankNo;
@ApiModelProperty(value = "总行名称")
private String headBankName;
@ApiModelProperty(value = "账户状态 1:待提交 2:待鉴权 3:鉴权中 4:开通 5:开通失败", required = true)
private Integer accountStatus;
@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;
@ApiModelProperty("工商类型 1.企业 2.个体工商户 3.小微商户(自然人)")
private Integer businessType;
@ApiModelProperty("钱包类型 1平安 2网商")
private Integer walletType;
@ApiModelProperty("失败原因(仅网商在创建失败或激活失败时返回)")
private String errMsg;
@ApiModelProperty("crm门店id")
private String outStoreId;
}

View File

@@ -0,0 +1,17 @@
package com.cool.store.dto.wallet;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2025/11/13 14:58
* @Version 1.0
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class AccountNoDTO {
private String accountNo;
}

View File

@@ -0,0 +1,20 @@
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/18 10:12
* @Version 1.0
*/
@Data
public class AccountPageDTO {
private List<AccountInfoDTO> pageData;
private WalletBasicPageInfo page;
}

View File

@@ -0,0 +1,19 @@
package com.cool.store.dto.wallet;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2025/11/13 16:09
* @Version 1.0
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class AccountVerifyDTO {
private String outStoreId;
private Integer openStatus;
}

View File

@@ -0,0 +1,22 @@
package com.cool.store.dto.wallet;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2025/11/13 14:59
* @Version 1.0
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class AddTagDTO {
private Integer status;
private Integer addTagType;
@ApiModelProperty("网商状态1.打标成功 2.打标失败 3.处理中")
private Integer wsStatus;
}

View File

@@ -0,0 +1,27 @@
package com.cool.store.dto.wallet;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2025/11/13 10:54
* @Version 1.0
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class BankDTO {
@ApiModelProperty("银行编号")
private String headCode;
@ApiModelProperty("银行名称")
private String headName;
@ApiModelProperty("支行号")
private String branchCode;
@ApiModelProperty("支行名称")
private String branchName;
@ApiModelProperty("支行地址")
private String branchAddress;
}

View File

@@ -0,0 +1,22 @@
package com.cool.store.dto.wallet;
import com.cool.store.request.wallet.WalletBasicPageInfo;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;
import java.util.List;
/**
* @Author suzhuhong
* @Date 2025/11/13 14:36
* @Version 1.0
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class BankListDTO {
WalletBasicPageInfo page;
List<BankDTO> pageData;
}

View File

@@ -0,0 +1,84 @@
package com.cool.store.dto.wallet;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2025/11/14 10:31
* @Version 1.0
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class BillDTO {
/**
* 业务系统付款单号(如 CRM 单号)
*/
private String reqNo;
/**
* 交易Id营帐通
*/
private Long tradeId;
/**
* 交易编号(扫呗)
*/
private String outTradeNo;
/**
* 费用科目
*/
private Integer feeItemId;
/**
* 费用科目名称
*/
private String feeItemName;
/**
* 门店账户编号
*/
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;
/**
* 交易发起时间
*/
private String createTime;
}

View File

@@ -0,0 +1,100 @@
package com.cool.store.dto.wallet;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2025/11/14 10:09
* @Version 1.0
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class BillDetailDTO {
/**
* 外部门店唯一标识
*/
private String outStoreId;
/**
* 业务系统付款单号(如 CRM 单号)
*/
private String reqNo;
/**
* 交易Id营帐通
*/
private Long tradeId;
/**
* 交易编号(扫呗)
*/
private String outTradeNo;
/**
* 交易科目
*/
private Integer feeItemId;
/**
* 费用科目名称
*/
private String feeItemName;
/**
* 门店账户编号
*/
private String storeAccountNo;
/**
* 交易对方账户编号
*/
private String transAccountNo;
/**
* 交易对方账户名称
*/
private String transAccountName;
/**
* 公司编号
*/
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;
/**
* 交易发起时间
*/
private String createTime;
}

View File

@@ -0,0 +1,33 @@
package com.cool.store.dto.wallet;
import com.cool.store.request.wallet.WalletBasicPageInfo;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;
import java.util.List;
/**
* <p>
* 交易列表DTO
* </p>
*
* @author wangff
* @since 2025/11/17
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class BillPageDTO {
private List<TradeRecordDTO> pageData;
private WalletBasicPageInfo page;
/**
* 收入
*/
private Long getAmount;
/**
* 支出
*/
private Long useAmount;
}

View File

@@ -0,0 +1,25 @@
package com.cool.store.dto.wallet;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2025/11/14 10:34
* @Version 1.0
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class CompanyDTO {
@ApiModelProperty(value = "公司编号")
private String companyCode;
@ApiModelProperty(value = "公司名称")
private String companyName;
@ApiModelProperty(value = "公司账户")
private String companyAccountNo;
}

View File

@@ -0,0 +1,23 @@
package com.cool.store.dto.wallet;
import com.cool.store.request.wallet.WalletBasicPageInfo;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;
import java.util.List;
/**
* @Author suzhuhong
* @Date 2025/11/14 10:57
* @Version 1.0
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class CompanyListDTO {
private List<CompanyDTO> pageData;
private WalletBasicPageInfo page;
}

View File

@@ -0,0 +1,55 @@
package com.cool.store.dto.wallet;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2025/11/13 17:15
* @Version 1.0
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class LargePaymentDTO {
@ApiModelProperty(value = "外部门店唯一标识", required = true)
private String outStoreId;
@ApiModelProperty(value = "请求预支付Id", required = true)
private String paymentId;
@ApiModelProperty(value = "收款码唯一流水号", required = true)
private String transOrderTrace;
@ApiModelProperty(value = "付款人账户编号", required = true)
private String payerAcctNo;
@ApiModelProperty(value = "付款人户名", required = true)
private String payerAcctName;
@ApiModelProperty(value = "付款银行名称")
private String payerBankName;
@ApiModelProperty(value = "付款银行行号")
private String payerBankNo;
@ApiModelProperty(value = "充值金额", required = true)
private String amt;
@ApiModelProperty(value = "收款账号", required = true)
private String payeeAccNo;
@ApiModelProperty(value = "收款账户名称", required = true)
private String payeeAccName;
@ApiModelProperty(value = "收款银行名称", required = true)
private String payeeBankName;
@ApiModelProperty(value = "收款银行行号", required = true)
private String payeeBankNo;
@ApiModelProperty(value = "账号过期时间")
private String expireTime;
}

View File

@@ -0,0 +1,116 @@
package com.cool.store.dto.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 开通网商需要的基本信息
* @Author suzhuhong
* @Date 2025/11/20 10:49
* @Version 1.0
*/
@Data
public class OpenBasicInfoDTO {
@ApiModelProperty(value = "门店编号")
private String storeCode;
@ApiModelProperty("门店id")
private String storeId;
/**
* 签约人名称
*/
@ApiModelProperty(value = "签约人名称")
private String signerName;
/**
* 签约人身份证号码
*/
@ApiModelProperty(value = "签约人身份证号码")
private String signerIdCard;
/**
* 签约人手机号
*/
@ApiModelProperty(value = "签约人手机号")
private String signerPhone;
/**
* 签约人身份证正面
*/
@ApiModelProperty(value = "签约人身份证正面")
private String signerIdCardFront;
/**
* 签约人身份证反面
*/
@ApiModelProperty(value = "签约人身份证反面")
private String signerIdCardBack;
/**
* 营业执照名字
*/
@ApiModelProperty(value = "营业执照名字")
private String businessLicenseName;
/**
* 营业执照社会信用代码
*/
@ApiModelProperty(value = "营业执照社会信用代码")
private String businessLicenseCode;
/**
* 营业执照照片
*/
@ApiModelProperty(value = "营业执照照片")
private String businessLicensePhoto;
/**
* 法人是否签约人
*/
@ApiModelProperty(value = "法人是否签约人")
private Integer legalIsSigner;
/**
* 法人身份证正面
*/
@ApiModelProperty(value = "法人身份证正面")
private String legalIdCardFront;
/**
* 法人身份证反面
*/
@ApiModelProperty(value = "法人身份证反面")
private String legalIdCardBack;
/**
* 结算卡
*/
@ApiModelProperty(value = "结算卡")
private String settlementCard;
/**
* 开户支行名称
*/
@ApiModelProperty(value = "开户支行名称")
private String bankBranchName;
/**
* 开户支行编号
*/
@ApiModelProperty(value = "开户支行编号")
private String bankBranchCode;
/**
* 银行预留手机号
*/
@ApiModelProperty(value = "银行预留手机号")
private String bankReservedPhone;
@ApiModelProperty("来源开通流程传1其他0")
private Integer source;
}

View File

@@ -0,0 +1,17 @@
package com.cool.store.dto.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2025/11/26 18:14
* @Version 1.0
*/
@Data
public class PasswordDTO {
@ApiModelProperty(value = "密码是否已存在 1.存在 2.不存在", required = true)
private Integer isExist;
}

View File

@@ -0,0 +1,76 @@
package com.cool.store.dto.wallet;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.Pattern;
import java.util.List;
/**
* @Author suzhuhong
* @Date 2025/11/13 18:23
* @Version 1.0
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class PaymentDTO {
@ApiModelProperty(name = "外部门店唯一标识", required = true)
private String outStoreId;
@ApiModelProperty(name = "请求预支付Id", required = true)
private String paymentId;
@ApiModelProperty(name = "收款码唯一流水号", required = true)
private String transOrderTrace;
@ApiModelProperty(name = "金额", required = true)
private String totalFee;
@ApiModelProperty(name = "状态:1-成功 2-失败 3-支付中 4-撤销", required = true)
private Integer orderStatus;
@ApiModelProperty(name = "利楚订单号(商户订单号)")
private String outTradeNo;
@ApiModelProperty(name = "通道订单号(银行订单号)")
private String channelOrderNo;
@ApiModelProperty(name = "付款人账号")
private String payerAccNo;
@ApiModelProperty(name = "付款人户名")
private String payerAccName;
@ApiModelProperty(name = "付款人银行名称")
private String payerBankName;
@ApiModelProperty(name = "付款银行行号")
private String payerBankNo;
@ApiModelProperty(name = "收款账号", required = true)
private String payeeAccNo;
@ApiModelProperty(name = "收款账户名称", required = true)
private String payeeAccName;
@ApiModelProperty(name = "收款银行名称", required = true)
private String payeeBankName;
@ApiModelProperty(name = "收款银行行号", required = true)
private String payeeBankNo;
@ApiModelProperty(name = "账号过期时间")
private String expireTime;
@ApiModelProperty(name = "创建时间")
private String createTime;
@ApiModelProperty(name = "付款明细")
private List<PaymentDetailDTO> payList;
}

View File

@@ -0,0 +1,34 @@
package com.cool.store.dto.wallet;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2025/11/13 17:38
* @Version 1.0
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class PaymentDetailDTO {
@ApiModelProperty(value = "打款金额", required = true)
private String tranAmt;
@ApiModelProperty(value = "付款人账号", required = true)
private String payerAccountName;
@ApiModelProperty(value = "付款时间", required = true)
private String paySuccessTime;
@ApiModelProperty(value = "付款银行账号", required = true)
private String payerAccountBankNo;
@ApiModelProperty(value = "银行受理时间", required = true)
private String tranSeqNo;
@ApiModelProperty(value = "付款账号", required = true)
private String payerAccountNo;
}

View File

@@ -0,0 +1,21 @@
package com.cool.store.dto.wallet;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2025/11/13 14:54
* @Version 1.0
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class StoreAccountDTO {
/**
* 营帐通的账户ID
*/
private String accountNo;
}

View File

@@ -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;
}

View File

@@ -0,0 +1,24 @@
package com.cool.store.dto.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* <p>
* 网商激活短链DTO
* </p>
*
* @author wangff
* @since 2025/11/20
*/
@Data
public class TextMsgSendDTO {
@ApiModelProperty("crm门店id")
private String outStoreId;
@ApiModelProperty("H5 激活页短链(商户需访问此链接完成操作,非公网可直接访问需确认权限)")
private String activityUrl;
@ApiModelProperty("短链失效时间格式YYYY-MM-DD HH:mm:ss过期后需重新调用接口生成")
private String expireTime;
}

View File

@@ -0,0 +1,80 @@
package com.cool.store.dto.wallet;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @Author suzhuhong
* @Date 2025/11/19 11:14
* @Version 1.0
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class TradeRecordDTO implements Serializable {
@ApiModelProperty(value = "业务系统付款单号(如 CRM 单号)", required = true)
private String reqNo;
@ApiModelProperty(value = "交易(营帐通)", required = true)
private Long tradeId;
@ApiModelProperty(value = "交易流水号(扫呗)", required = true)
private String outTradeNo;
@ApiModelProperty(value = "费用科目", required = true)
private Integer feeItemId;
@ApiModelProperty(value = "费用科目名称", required = true)
private String feeItemName;
@ApiModelProperty(value = "转出方门店编号")
private String outStoreCode;
@ApiModelProperty(value = "转入方门店编号")
private String inStoreCode;
@ApiModelProperty(value = "转出方门店名称")
private String outStoreName;
@ApiModelProperty(value = "转入方门店名称")
private String inStoreName;
@ApiModelProperty(value = "转出方账户编号")
private String outAccountNo;
@ApiModelProperty(value = "转入方账户编号")
private String inAccountNo;
@ApiModelProperty(value = "转出方账户名称")
private String outAccountName;
@ApiModelProperty(value = "转入方账户名称")
private String inAccountName;
@ApiModelProperty(value = "提现银行卡号")
private String withdrawalBankCardNo;
@ApiModelProperty(value = "提现银行卡户名")
private String withdrawalBankCardName;
@ApiModelProperty(value = "金额(元)", required = true)
private String amount;
@ApiModelProperty(value = "交易状态1.成功 2.失败 3.处理中 4.已退款", required = true)
private Integer tradeStatus;
@ApiModelProperty(value = "1.转账2.提现 交易类型", required = true)
private Integer tradeType;
@ApiModelProperty(value = "备注")
private String remark;
@ApiModelProperty(value = "错误原因")
private String errMsg;
@ApiModelProperty(value = "交易发起时间YYYY-MM-DD HH:MM:SS", required = true)
private String createTime;
}

View File

@@ -0,0 +1,22 @@
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/19 11:15
* @Version 1.0
*/
@Data
public class TradeRecordListDTO {
private List<TradeRecordDTO> pageData;
private WalletBasicPageInfo page;
}

View File

@@ -0,0 +1,25 @@
package com.cool.store.dto.wallet;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2025/11/14 9:49
* @Version 1.0
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
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;
}

View File

@@ -0,0 +1,31 @@
package com.cool.store.dto.wallet;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2025/11/14 9:59
* @Version 1.0
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
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;
}

View File

@@ -158,4 +158,7 @@ public class ShopInfoDO {
//红圈通门店id
@Column(name = "hqt_shop_id")
private String hqtShopId;
// 门店id
@Column(name = "store_id")
private String storeId;
}

View File

@@ -0,0 +1,148 @@
package com.cool.store.entity.wallet;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
@Table(name = "zxjp_open_bank_info")
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class OpenBankInfoDO {
/**
* 门店编号
*/
@Column(name = "store_code")
private String storeCode;
/**
* 门店id
*/
@Column(name = "store_id")
private String storeId;
/**
* 签约人名称
*/
@Column(name = "signer_name")
private String signerName;
/**
* 签约人身份证号码
*/
@Column(name = "signer_id_card")
private String signerIdCard;
/**
* 签约人手机号
*/
@Column(name = "signer_phone")
private String signerPhone;
/**
* 签约人身份证正面
*/
@Column(name = "signer_id_card_front")
private String signerIdCardFront;
/**
* 签约人身份证反面
*/
@Column(name = "signer_id_card_back")
private String signerIdCardBack;
/**
* 营业执照名字
*/
@Column(name = "business_license_name")
private String businessLicenseName;
/**
* 营业执照社会信用代码
*/
@Column(name = "business_license_code")
private String businessLicenseCode;
/**
* 营业执照照片
*/
@Column(name = "business_license_photo")
private String businessLicensePhoto;
/**
* 法人名称
*/
@Column(name = "legal_name")
private String legalName;
/**
* 法人身份证号码
*/
@Column(name = "legal_id_card")
private String legalIdCard;
/**
* 法人身份证有效期字段
*/
@Column(name = "legal_id_card_expire_time")
private String legalIdCardExpireTime;
/**
* 法人手机号
*/
@Column(name = "legal_phone")
private String legalPhone;
/**
* 法人是否签约人
*/
@Column(name = "legal_is_signer")
private Integer legalIsSigner;
/**
* 法人身份证正面
*/
@Column(name = "legal_id_card_front")
private String legalIdCardFront;
/**
* 法人身份证反面
*/
@Column(name = "legal_id_card_back")
private String legalIdCardBack;
/**
* 结算卡
*/
@Column(name = "settlement_card")
private String settlementCard;
/**
* 开户支行名称
*/
@Column(name = "bank_branch_name")
private String bankBranchName;
/**
* 开户支行编号
*/
@Column(name = "bank_branch_code")
private String bankBranchCode;
/**
* 银行预留手机号
*/
@Column(name = "bank_reserved_phone")
private String bankReservedPhone;
/**
* 来源开通流程传1其他0
*/
@Column(name = "source")
private Integer source;
}

View File

@@ -0,0 +1,599 @@
package com.cool.store.entity.wallet;
import java.util.Date;
import javax.persistence.*;
@Table(name = "zxjp_temp_open_wallet_info")
public class TempOpenWalletInfoDO {
/**
* 门店编号
*/
@Column(name = "store_code")
private String storeCode;
/**
* 门店名称
*/
@Column(name = "store_name")
private String storeName;
/**
* 门店模式
*/
@Column(name = "store_mode")
private String storeMode;
/**
* 台账名称
*/
@Column(name = "ledger_name")
private String ledgerName;
/**
* 台账状态
*/
@Column(name = "ledger_status")
private String ledgerStatus;
/**
* 工商类型
*/
@Column(name = "business_type")
private String businessType;
/**
* 工商注册名称
*/
@Column(name = "business_reg_name")
private String businessRegName;
/**
* 营业执照编号
*/
@Column(name = "business_license_no")
private String businessLicenseNo;
/**
* 工商地址
*/
@Column(name = "business_address")
private String businessAddress;
/**
* 省
*/
private String province;
/**
* 市
*/
private String city;
/**
* 区
*/
private String district;
/**
* 法人名称
*/
@Column(name = "legal_person_name")
private String legalPersonName;
/**
* 法人证件号
*/
@Column(name = "legal_person_id_no")
private String legalPersonIdNo;
/**
* 身份证开始时间
*/
@Column(name = "legal_id_start_date")
private Date legalIdStartDate;
/**
* 身份证过期时间
*/
@Column(name = "legal_id_expire_date")
private Date legalIdExpireDate;
/**
* 结算人
*/
@Column(name = "settler_name")
private String settlerName;
/**
* 结算人证件号
*/
@Column(name = "settler_id_no")
private String settlerIdNo;
/**
* 结算人身份证开始时间
*/
@Column(name = "settler_id_start_date")
private Date settlerIdStartDate;
/**
* 结算人身份证过期时间
*/
@Column(name = "settler_id_expire_date")
private Date settlerIdExpireDate;
/**
* 开户支行名称
*/
@Column(name = "bank_branch_name")
private String bankBranchName;
/**
* 开户支行编号
*/
@Column(name = "bank_branch_no")
private String bankBranchNo;
/**
* 结算卡
*/
@Column(name = "settlement_card_no")
private String settlementCardNo;
/**
* 银行预留手机号
*/
@Column(name = "bank_reserved_phone")
private String bankReservedPhone;
/**
* 分账关系
*/
@Column(name = "accounting_relation")
private String accountingRelation;
/**
* 获取门店编号
*
* @return store_id - 门店编号
*/
public String getStoreCode() {
return storeCode;
}
public void setStoreCode(String storeCode) {
this.storeCode = storeCode;
}
/**
* 获取门店名称
*
* @return store_name - 门店名称
*/
public String getStoreName() {
return storeName;
}
/**
* 设置门店名称
*
* @param storeName 门店名称
*/
public void setStoreName(String storeName) {
this.storeName = storeName;
}
/**
* 获取门店模式
*
* @return store_mode - 门店模式
*/
public String getStoreMode() {
return storeMode;
}
/**
* 设置门店模式
*
* @param storeMode 门店模式
*/
public void setStoreMode(String storeMode) {
this.storeMode = storeMode;
}
/**
* 获取台账名称
*
* @return ledger_name - 台账名称
*/
public String getLedgerName() {
return ledgerName;
}
/**
* 设置台账名称
*
* @param ledgerName 台账名称
*/
public void setLedgerName(String ledgerName) {
this.ledgerName = ledgerName;
}
/**
* 获取台账状态
*
* @return ledger_status - 台账状态
*/
public String getLedgerStatus() {
return ledgerStatus;
}
/**
* 设置台账状态
*
* @param ledgerStatus 台账状态
*/
public void setLedgerStatus(String ledgerStatus) {
this.ledgerStatus = ledgerStatus;
}
/**
* 获取工商类型
*
* @return business_type - 工商类型
*/
public String getBusinessType() {
return businessType;
}
/**
* 设置工商类型
*
* @param businessType 工商类型
*/
public void setBusinessType(String businessType) {
this.businessType = businessType;
}
/**
* 获取工商注册名称
*
* @return business_reg_name - 工商注册名称
*/
public String getBusinessRegName() {
return businessRegName;
}
/**
* 设置工商注册名称
*
* @param businessRegName 工商注册名称
*/
public void setBusinessRegName(String businessRegName) {
this.businessRegName = businessRegName;
}
/**
* 获取营业执照编号
*
* @return business_license_no - 营业执照编号
*/
public String getBusinessLicenseNo() {
return businessLicenseNo;
}
/**
* 设置营业执照编号
*
* @param businessLicenseNo 营业执照编号
*/
public void setBusinessLicenseNo(String businessLicenseNo) {
this.businessLicenseNo = businessLicenseNo;
}
/**
* 获取工商地址
*
* @return business_address - 工商地址
*/
public String getBusinessAddress() {
return businessAddress;
}
/**
* 设置工商地址
*
* @param businessAddress 工商地址
*/
public void setBusinessAddress(String businessAddress) {
this.businessAddress = businessAddress;
}
/**
* 获取省
*
* @return province - 省
*/
public String getProvince() {
return province;
}
/**
* 设置省
*
* @param province 省
*/
public void setProvince(String province) {
this.province = province;
}
/**
* 获取市
*
* @return city - 市
*/
public String getCity() {
return city;
}
/**
* 设置市
*
* @param city 市
*/
public void setCity(String city) {
this.city = city;
}
/**
* 获取区
*
* @return district - 区
*/
public String getDistrict() {
return district;
}
/**
* 设置区
*
* @param district 区
*/
public void setDistrict(String district) {
this.district = district;
}
/**
* 获取法人名称
*
* @return legal_person_name - 法人名称
*/
public String getLegalPersonName() {
return legalPersonName;
}
/**
* 设置法人名称
*
* @param legalPersonName 法人名称
*/
public void setLegalPersonName(String legalPersonName) {
this.legalPersonName = legalPersonName;
}
/**
* 获取法人证件号
*
* @return legal_person_id_no - 法人证件号
*/
public String getLegalPersonIdNo() {
return legalPersonIdNo;
}
/**
* 设置法人证件号
*
* @param legalPersonIdNo 法人证件号
*/
public void setLegalPersonIdNo(String legalPersonIdNo) {
this.legalPersonIdNo = legalPersonIdNo;
}
/**
* 获取身份证开始时间
*
* @return legal_id_start_date - 身份证开始时间
*/
public Date getLegalIdStartDate() {
return legalIdStartDate;
}
/**
* 设置身份证开始时间
*
* @param legalIdStartDate 身份证开始时间
*/
public void setLegalIdStartDate(Date legalIdStartDate) {
this.legalIdStartDate = legalIdStartDate;
}
/**
* 获取身份证过期时间
*
* @return legal_id_expire_date - 身份证过期时间
*/
public Date getLegalIdExpireDate() {
return legalIdExpireDate;
}
/**
* 设置身份证过期时间
*
* @param legalIdExpireDate 身份证过期时间
*/
public void setLegalIdExpireDate(Date legalIdExpireDate) {
this.legalIdExpireDate = legalIdExpireDate;
}
/**
* 获取结算人
*
* @return settler_name - 结算人
*/
public String getSettlerName() {
return settlerName;
}
/**
* 设置结算人
*
* @param settlerName 结算人
*/
public void setSettlerName(String settlerName) {
this.settlerName = settlerName;
}
/**
* 获取结算人证件号
*
* @return settler_id_no - 结算人证件号
*/
public String getSettlerIdNo() {
return settlerIdNo;
}
/**
* 设置结算人证件号
*
* @param settlerIdNo 结算人证件号
*/
public void setSettlerIdNo(String settlerIdNo) {
this.settlerIdNo = settlerIdNo;
}
/**
* 获取结算人身份证开始时间
*
* @return settler_id_start_date - 结算人身份证开始时间
*/
public Date getSettlerIdStartDate() {
return settlerIdStartDate;
}
/**
* 设置结算人身份证开始时间
*
* @param settlerIdStartDate 结算人身份证开始时间
*/
public void setSettlerIdStartDate(Date settlerIdStartDate) {
this.settlerIdStartDate = settlerIdStartDate;
}
/**
* 获取结算人身份证过期时间
*
* @return settler_id_expire_date - 结算人身份证过期时间
*/
public Date getSettlerIdExpireDate() {
return settlerIdExpireDate;
}
/**
* 设置结算人身份证过期时间
*
* @param settlerIdExpireDate 结算人身份证过期时间
*/
public void setSettlerIdExpireDate(Date settlerIdExpireDate) {
this.settlerIdExpireDate = settlerIdExpireDate;
}
/**
* 获取开户支行名称
*
* @return bank_branch_name - 开户支行名称
*/
public String getBankBranchName() {
return bankBranchName;
}
/**
* 设置开户支行名称
*
* @param bankBranchName 开户支行名称
*/
public void setBankBranchName(String bankBranchName) {
this.bankBranchName = bankBranchName;
}
/**
* 获取开户支行编号
*
* @return bank_branch_no - 开户支行编号
*/
public String getBankBranchNo() {
return bankBranchNo;
}
/**
* 设置开户支行编号
*
* @param bankBranchNo 开户支行编号
*/
public void setBankBranchNo(String bankBranchNo) {
this.bankBranchNo = bankBranchNo;
}
/**
* 获取结算卡
*
* @return settlement_card_no - 结算卡
*/
public String getSettlementCardNo() {
return settlementCardNo;
}
/**
* 设置结算卡
*
* @param settlementCardNo 结算卡
*/
public void setSettlementCardNo(String settlementCardNo) {
this.settlementCardNo = settlementCardNo;
}
/**
* 获取银行预留手机号
*
* @return bank_reserved_phone - 银行预留手机号
*/
public String getBankReservedPhone() {
return bankReservedPhone;
}
/**
* 设置银行预留手机号
*
* @param bankReservedPhone 银行预留手机号
*/
public void setBankReservedPhone(String bankReservedPhone) {
this.bankReservedPhone = bankReservedPhone;
}
/**
* 获取分账关系
*
* @return accounting_relation - 分账关系
*/
public String getAccountingRelation() {
return accountingRelation;
}
/**
* 设置分账关系
*
* @param accountingRelation 分账关系
*/
public void setAccountingRelation(String accountingRelation) {
this.accountingRelation = accountingRelation;
}
}

View File

@@ -0,0 +1,74 @@
package com.cool.store.entity.wallet;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.*;
/**
* 钱包支付订单
*/
@Table(name = "zxjp_wallet_payment_order")
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class WalletPaymentOrderDO {
/**
* id
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
/**
* 门店id
*/
@Column(name = "store_id")
private String storeId;
/**
* 预支付id
*/
@Column(name = "payment_id")
private String paymentId;
/**
* 订单类型0充值 1提现
*/
@Column(name = "type")
private Integer type;
/**
* 金额
*/
private BigDecimal amount;
/**
* 过期时间
*/
@Column(name = "expire_time")
private String expireTime;
/**
* 订单状态:1-成功 2-失败 3-支付中 4-撤销
*/
@Column(name = "order_status")
private Integer orderStatus;
/**
* 创建时间
*/
@Column(name = "create_time")
private Date createTime;
/**
* 更新时间
*/
@Column(name = "update_time")
private Date updateTime;
}

View File

@@ -16,6 +16,8 @@ import java.util.Date;
public class StoreMasterDTO {
private String enterpriseId;
@ApiModelProperty("门店id")
private String storeId;
@ApiModelProperty("门店名称(加盟签约)")
private String storeName;

View File

@@ -0,0 +1,76 @@
package com.cool.store.request.wallet;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
/**
* @Author suzhuhong
* @Date 2025/11/13 14:09
* @Version 1.0
*/
@Data
@ApiModel(description = "营业执照信息请求参数")
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class AccountAddTagRequest {
@ApiModelProperty(value = "外部门店唯一标识", required = true)
@NotBlank(message = "外部门店唯一标识不能为空")
private String outStoreId;
@ApiModelProperty(value = "营业执照号码", required = true)
@NotBlank(message = "营业执照号码不能为空")
private String licenseNo;
@ApiModelProperty(value = "工商注册名称", required = true)
@NotBlank(message = "工商注册名称不能为空")
private String licenseName;
@ApiModelProperty(value = "营业执照到期日格式YYYY-MM-DD如果证件到期日期为“长期”则传“2999-12-31”")
private String licenseExpire;
@ApiModelProperty(value = "法人姓名", required = true)
@NotBlank(message = "法人姓名不能为空")
private String legalName;
@ApiModelProperty(value = "法人证件号码", required = true)
@NotBlank(message = "法人证件号码不能为空")
private String legalNo;
@ApiModelProperty(value = "证件发证日期 yyyy-MM-dd")
private String idCardStartDate;
@ApiModelProperty(value = "证件到期日期 yyyy-MM-dd如果证件到期日期为“长期”则传“2999-12-31”")
private String idCardEndDate;
@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 signatoryPhotoA;
@ApiModelProperty(value = "签约人证件国徽面图片链接", required = true)
private String signatoryPhotoB;
}

View File

@@ -0,0 +1,31 @@
package com.cool.store.request.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2025/11/18 10:02
* @Version 1.0
*/
@Data
public class AccountBatchQueryRequest {
@ApiModelProperty(value = "关键字(账户名称、账户别名)")
private String keyword;
@ApiModelProperty(value = "账户状态 1 待提交 2 待鉴权 3 鉴权中 4开通 账户状态")
private Integer accountStatus;
@ApiModelProperty(value = "工商类型 1.企业 2.个体工商户 3.小微商户(自然人)")
private Integer businessType;
@ApiModelProperty(value = "门店id")
private String outStoreId;
@ApiModelProperty(value = "分页信息",required = true)
private WalletBasicPageInfo page;
@ApiModelProperty(value = "钱包类型 1.平安 2.网商", required = true)
private Integer walletType;
}

View File

@@ -0,0 +1,44 @@
package com.cool.store.request.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.Date;
/**
* <p>
* 交易流水查询Request
* </p>
*
* @author wangff
* @since 2025/11/17
*/
@Data
public class AccountBillQueryRequest extends StoreShopRequest {
@ApiModelProperty("交易开始时间,不传查当月")
private Date beginDate;
@ApiModelProperty("交易结束时间")
private Date endDate;
@ApiModelProperty(value = "钱包类型 1.平安 2.网商", required = true)
@NotNull(message = "钱包类型不能为空")
private Integer walletType;
@ApiModelProperty("是否签约人账户 0 否 1 是")
private Integer isLegal;
@ApiModelProperty("交易类型: 0.全部,1.支出 2.收入")
private Integer recordType;
@ApiModelProperty("费用类型ID")
private Long feeItemId;
//页码
private Integer pageNum;
//分页大小
private Integer pageSize;
}

View File

@@ -0,0 +1,50 @@
package com.cool.store.request.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* <p>
* 平安钱包账户创建Request
* </p>
*
* @author wangff
* @since 2025/11/13
*/
@Data
public class AccountCreateRequest {
@ApiModelProperty("门店id")
@NotNull(message = "门店id不能为空")
private Long shopId;
@ApiModelProperty("签约人姓名")
@NotBlank(message = "签约人姓名不能为空")
private String userName;
@ApiModelProperty("签约人手机号")
@NotBlank(message = "签约人手机号不能为空")
private String mobile;
@ApiModelProperty("签约人身份证号")
@NotBlank(message = "签约人身份证号不能为空")
private String idCardNo;
@ApiModelProperty("银行卡号")
@NotBlank(message = "银行卡号不能为空")
private String bankNumber;
@ApiModelProperty("银行开户支行")
@NotBlank(message = "银行开户行不能为空")
private String bankName;
@ApiModelProperty("银行开户支行编号")
@NotBlank(message = "银行开户行编号不能为空")
private String bankNo;
@ApiModelProperty("银行卡预留手机号")
@NotBlank(message = "银行卡预留手机号不能为空")
private String bankMobile;
}

View File

@@ -0,0 +1,21 @@
package com.cool.store.request.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* <p>
* 平安钱包账户开通Request
* </p>
*
* @author wangff
* @since 2025/11/13
*/
@Data
public class AccountOpenRequest {
@ApiModelProperty("shopId")
private Long shopId;
@ApiModelProperty("短信验证码")
private String code;
}

View File

@@ -0,0 +1,33 @@
package com.cool.store.request.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* <p>
* 账户密码维护Request
* </p>
*
* @author wangff
* @since 2025/11/17
*/
@Data
public class AccountPasswordRequest extends StoreShopRequest {
@ApiModelProperty("维护类型 1.设置密码 2.修改密码")
@NotNull(message = "维护类型不能为空")
private Integer upholdType;
@ApiModelProperty("新支付密码(sm3加密后字符串)")
@NotNull(message = "新支付密码不能为空")
private String newPayPwd;
@ApiModelProperty("确认新支付密码(sm3加密后字符串)")
@NotNull(message = "确认新支付密码不能为空")
private String confirmPayPwd;
@ApiModelProperty("当前使用的支付密码(sm3加密后字符串),维护类型为修改密码时必填")
private String currentPayPwd;
}

View File

@@ -0,0 +1,23 @@
package com.cool.store.request.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.Digits;
import java.math.BigDecimal;
/**
* <p>
* 账户充值Request
* </p>
*
* @author wangff
* @since 2025/11/17
*/
@Data
public class AccountPaymentRequest extends StoreShopRequest {
@ApiModelProperty(value = "支付金额")
@Digits(integer = 10, fraction = 2, message = "金额整数位最多10位小数位最多2位")
private BigDecimal amount;
}

View File

@@ -0,0 +1,21 @@
package com.cool.store.request.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* <p>
* 账户查询Request
* </p>
*
* @author wangff
* @since 2025/11/19
*/
@Data
public class AccountQueryRequest extends StoreShopRequest {
@ApiModelProperty("钱包类型 1平安 2网商")
private Integer walletType;
@ApiModelProperty("账户编号")
private String accountNo;
}

View File

@@ -0,0 +1,29 @@
package com.cool.store.request.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2025/11/18 9:36
* @Version 1.0
*/
@Data
public class AccountTradeCallbackRequest {
@ApiModelProperty(name = "CRM门店编号", required = true)
private String outStoreId;
@ApiModelProperty(name = "业务系统付款单号(如 CRM 单号)", required = true)
private String reqNo;
@ApiModelProperty(name = "交易Id", required = true)
private Long tradeId;
@ApiModelProperty(name = "交易编号", required = true)
private String outTTradeNo;
@ApiModelProperty(name = "金额(元)", required = true)
private String amount;
@ApiModelProperty(name = "交易状态1.成功 2.失败 3.处理中", required = true)
private Integer tradeStatus;
@ApiModelProperty(name = "1.转账2.提现", required = true)
private Integer tradeType;
}

View File

@@ -0,0 +1,21 @@
package com.cool.store.request.wallet;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author suzhuhong
* @Date 2025/11/13 16:08
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AccountVerifyRequest {
private String outStoreId;
private String verifyNo;
}

View File

@@ -0,0 +1,24 @@
package com.cool.store.request.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2025/11/17 13:49
* @Version 1.0
*/
@Data
public class AddTagCallbackNoticeRequest {
@ApiModelProperty(name = "CRM门店编号", required = true)
private String outStoreId;
@ApiModelProperty(name = "状态1.打标成功 2.打标失败 3.处理中(打标状态)", required = true)
private Integer status;
@ApiModelProperty(name = "1.法人 2.非法人", required = true)
private Integer addTagType;
@ApiModelProperty(name = "失败原因", required = false)
private String errorMsg;
}

View File

@@ -0,0 +1,22 @@
package com.cool.store.request.wallet;
import com.cool.store.common.PageBasicInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* <p>
* 支行信息查询Request
* </p>
*
* @author wangff
* @since 2025/11/14
*/
@Data
public class BankListRequest extends PageBasicInfo {
@ApiModelProperty("银行名称")
private String headName;
@ApiModelProperty("关键字查询")
private String keyword;
}

View File

@@ -0,0 +1,20 @@
package com.cool.store.request.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Description 门店签约账户转账提现查询接口
* @Author suzhuhong
* @Date 2025/11/14 10:05
* @Version 1.0
*/
@Data
public class BillDetailRequest {
@ApiModelProperty(value = "转账交易Id(转账交易编号二选一)")
private Long tradeId;
@ApiModelProperty(value = "转账交易编号(转账交易Id二选一)")
private String outTradeNo;
}

View File

@@ -0,0 +1,40 @@
package com.cool.store.request.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author suzhuhong
* @Date 2025/11/14 10:17
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
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.网商", required = true)
private Integer walletType;
@ApiModelProperty(value = "是否签约人钱包", required = false)
private Integer isLegal;
@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;
}

View File

@@ -0,0 +1,45 @@
package com.cool.store.request.wallet;
import com.cool.store.common.PageBasicInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2025/11/19 13:56
* @Version 1.0
*/
@Data
public class CoolAccountBatchQueryRequest extends PageBasicInfo {
@ApiModelProperty(value = "关键字(账户名称、账户别名)")
private String keyword;
@ApiModelProperty(value = "账户状态 1 待提交 2 待鉴权 3 鉴权中 4开通 账户状态")
private Integer accountStatus;
@ApiModelProperty(value = "工商类型 1.企业 2.个体工商户 3.小微商户(自然人)")
private Integer businessType;
@ApiModelProperty(value = "门店id")
private String outStoreId;
private Integer walletType;
public AccountBatchQueryRequest convertToAccountBatchQueryRequest() {
AccountBatchQueryRequest target = new AccountBatchQueryRequest();
target.setKeyword(this.getKeyword());
target.setAccountStatus(this.getAccountStatus());
target.setBusinessType(this.getBusinessType());
target.setOutStoreId(this.getOutStoreId());
target.setWalletType(this.getWalletType());
WalletBasicPageInfo walletBasicPageInfo = new WalletBasicPageInfo();
walletBasicPageInfo.setCurrentPage(this.getPageNum());
walletBasicPageInfo.setPageSize(this.getPageSize());
target.setPage(walletBasicPageInfo);
return target;
}
}

View File

@@ -0,0 +1,133 @@
package com.cool.store.request.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2025/11/20 13:38
* @Version 1.0
*/
@Data
public class CoolOpenBasicInfoRequest {
@ApiModelProperty(value = "门店id")
private String storeId;
@ApiModelProperty(value = "门店编号")
private String storeCode;
/**
* 签约人名称
*/
@ApiModelProperty(value = "签约人名称")
private String signerName;
/**
* 签约人身份证号码
*/
@ApiModelProperty(value = "签约人身份证号码")
private String signerIdCard;
/**
* 签约人手机号
*/
@ApiModelProperty(value = "签约人手机号")
private String signerPhone;
/**
* 签约人身份证正面
*/
@ApiModelProperty(value = "签约人身份证正面")
private String signerIdCardFront;
/**
* 签约人身份证反面
*/
@ApiModelProperty(value = "签约人身份证反面")
private String signerIdCardBack;
/**
* 营业执照名字
*/
@ApiModelProperty(value = "营业执照名字")
private String businessLicenseName;
/**
* 营业执照社会信用代码
*/
@ApiModelProperty(value = "营业执照社会信用代码")
private String businessLicenseCode;
/**
* 营业执照照片
*/
@ApiModelProperty(value = "营业执照照片")
private String businessLicensePhoto;
/**
* 法人是否签约人
*/
@ApiModelProperty(value = "法人是否签约人")
private Integer legalIsSigner;
/**
* 法人名称
*/
@ApiModelProperty(value = "法人名称")
private String legalName;
/**
* 法人身份证号码
*/
@ApiModelProperty(value = "法人身份证号码")
private String legalIdCard;
@ApiModelProperty("法人身份证有效期字段yyyy-MM-dd")
private String legalIdCardExpireTime;
/**
* 法人手机号
*/
@ApiModelProperty(value = "法人手机号")
private String legalPhone;
/**
* 法人身份证正面
*/
@ApiModelProperty(value = "法人身份证正面")
private String legalIdCardFront;
/**
* 法人身份证反面
*/
@ApiModelProperty(value = "法人身份证反面")
private String legalIdCardBack;
/**
* 结算卡
*/
@ApiModelProperty(value = "结算卡")
private String settlementCard;
/**
* 开户支行名称
*/
@ApiModelProperty(value = "开户支行名称")
private String bankBranchName;
/**
* 开户支行编号
*/
@ApiModelProperty(value = "开户支行编号")
private String bankBranchCode;
/**
* 银行预留手机号
*/
@ApiModelProperty(value = "银行预留手机号")
private String bankReservedPhone;
}

View File

@@ -0,0 +1,41 @@
package com.cool.store.request.wallet;
import com.cool.store.common.PageBasicInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2025/11/19 14:09
* @Version 1.0
*/
@Data
public class CoolTradeRecodePageRequest extends PageBasicInfo {
@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.网商",required = true)
private Integer walletType;
@ApiModelProperty(value = "关键字(账户名称,账户编号,业务系统付款单号,提现银行卡号)",required = true)
private String keyword;
@ApiModelProperty(value = "关键字(门店编号,门店名称)",required = true)
private String storeKeyword;
@ApiModelProperty(value = "费用科目",required = true)
private Integer feeItemId;
public TradeRecodePageRequest convertToTradeRecodePageRequest() {
TradeRecodePageRequest target = new TradeRecodePageRequest();
target.setBeginDate(this.getBeginDate());
target.setEndDate(this.getEndDate());
target.setWalletType(this.getWalletType());
target.setKeyword(this.getKeyword());
target.setStoreKeyword(this.getStoreKeyword());
target.setFeeItemId(this.getFeeItemId());
target.setCurrentPage(this.getPageNum());
target.setPageSize(this.getPageSize());
return target;
}
}

View File

@@ -0,0 +1,45 @@
package com.cool.store.request.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author suzhuhong
* @Date 2025/11/13 13:49
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class CreateStoreAndAccountRequest {
@ApiModelProperty(name = "CRM门店编号", required = true)
private String outStoreId;
@ApiModelProperty(name = "联系电话", required = true)
private String phoneNumber;
@ApiModelProperty(name = "结算卡业务类型 枚举值1对公 2对私", required = true)
private Integer accountType;
@ApiModelProperty(name = "开户类型:1企业 2个体工商户3个人(小微商户) ", required = true)
private Integer businessType;
@ApiModelProperty(name = "法人姓名", required = true)
private String legalName;
@ApiModelProperty(name = "法人证件号码", required = true)
private String legalNo;
@ApiModelProperty(name = "账户简称", required = true)
private String accountAliasName;
@ApiModelProperty(name = "结算银行卡号", required = true)
private String accountCardNo;
@ApiModelProperty(name = "结算卡银行预留手机号", required = true)
private String accountPhone;
@ApiModelProperty(name = "支行编号", required = true)
private String bankNo;
@ApiModelProperty(name = "开户支行名称", required = true)
private String bankName;
}

View File

@@ -0,0 +1,66 @@
package com.cool.store.request.wallet;
import com.sun.istack.NotNull;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
/**
* @Author suzhuhong
* @Date 2025/11/13 14:07
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class CreateStoreRequest {
@ApiModelProperty(value = "CRM门店编号", required = true)
@NotBlank(message = "CRM门店编号不能为空")
private String outStoreId;
@ApiModelProperty(value = "门店编号", required = true)
@NotBlank(message = "门店编号不能为空")
private String storeSn;
@ApiModelProperty(value = "门店名称", required = true)
@NotBlank(message = "门店名称不能为空")
private String storeName;
@ApiModelProperty(value = "门店内部名称")
private String inStoreName;
@ApiModelProperty(value = "组织编号", required = true)
@NotBlank(message = "组织编号不能为空")
private String orgCode;
@ApiModelProperty(value = "组织名称", required = true)
@NotBlank(message = "组织名称不能为空")
private String orgName;
@ApiModelProperty(value = "联系电话", required = true)
@NotBlank(message = "联系电话不能为空")
private String phoneNumber;
@ApiModelProperty(value = "门店模式: 1.社会加盟 2.强管 3.强加盟", required = true)
private Integer storeMode;
@ApiModelProperty(value = "省-标准行政区域编码", required = true)
private Integer province;
@ApiModelProperty(value = "市-标准行政区域编码", required = true)
private Integer city;
@ApiModelProperty(value = "区县-标准行政区域编码", required = true)
private Integer district;
@ApiModelProperty(value = "门店地址", required = true)
@NotBlank(message = "门店地址不能为空")
private String address;
}

View File

@@ -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;
}

View File

@@ -0,0 +1,21 @@
package com.cool.store.request.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2025/11/13 10:55
* @Version 1.0
*/
@Data
public class GetBankRequest {
@ApiModelProperty("银行名称")
private String headName;
@ApiModelProperty("关键字查询")
private String keyword;
@ApiModelProperty("分页查询参数")
private WalletBasicPageInfo page;
}

View File

@@ -0,0 +1,17 @@
package com.cool.store.request.wallet;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2025/11/13 18:28
* @Version 1.0
*/
@Data
public class LargePaymentDetailRequest {
private String transOrderTrace;
private String paymentId;
}

View File

@@ -0,0 +1,21 @@
package com.cool.store.request.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* <p>
* 大额支付订单查询Request
* </p>
*
* @author wangff
* @since 2025/11/18
*/
@Data
public class LargePaymentQueryRequest extends StoreShopRequest {
@ApiModelProperty("页码")
private Integer pageNum = 1;
@ApiModelProperty("页数量")
private Integer pageSize = 10;
}

View File

@@ -0,0 +1,30 @@
package com.cool.store.request.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author suzhuhong
* @Date 2025/11/13 17:00
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class LargePaymentRequest {
@ApiModelProperty(value = "商户门店编号",required = true)
private String outStoreId;
@ApiModelProperty(value = "请求预支付Id",required = true)
private String paymentId;
@ApiModelProperty(value = "签约人名称",required = true)
private String payerAccName;
@ApiModelProperty(value = "支付金额",required = true)
private String amt;
}

View File

@@ -0,0 +1,86 @@
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 = "营业执照号码,与企业证件类型对应的企业注册号(企业与个体户必传)")
private String licenseNo;
@ApiModelProperty(value = "工商注册名称(与注册工商信息时一致)(企业与个体户必传)")
private String licenseName;
@ApiModelProperty(value = "法人姓名", required = true)
private String legalName;
@ApiModelProperty(value = "法人证件号码", required = true)
private String legalNo;
@ApiModelProperty("法人身份证有效期字段")
private String legalIdcardExpireTime;
@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;
}

View File

@@ -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;
}

View File

@@ -0,0 +1,21 @@
package com.cool.store.request.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author suzhuhong
* @Date 2025/11/13 16:05
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class OutStoreIdRequest {
@ApiModelProperty(value = "外部门店唯一标识", required = true)
private String outStoreId;
}

View File

@@ -0,0 +1,15 @@
package com.cool.store.request.wallet;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2025/11/13 17:37
* @Version 1.0
*/
@Data
public class PaymentDetailRequest {
private String paymentId;
}

View File

@@ -0,0 +1,21 @@
package com.cool.store.request.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* <p>
* 门店idRequest
* </p>
*
* @author wangff
* @since 2025/11/17
*/
@Data
public class StoreShopRequest {
@ApiModelProperty("门店id")
private Long shopId;
@ApiModelProperty("门店id两者取一")
private String storeId;
}

View File

@@ -0,0 +1,25 @@
package com.cool.store.request.wallet;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2025/11/21 13:53
* @Version 1.0
*/
@Data
public class TestVerifyRequest {
private String key;
private String sign;
private Long timestamp;
private String outStoreId;
private Integer status;
private Integer addTagType;
}

View File

@@ -0,0 +1,22 @@
package com.cool.store.request.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* <p>
* 网商账户重新发送激活短信Request
* </p>
*
* @author wangff
* @since 2025/11/20
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class TextMsgSendRequest {
@ApiModelProperty("门店id")
private String outStoreId;
}

View File

@@ -0,0 +1,33 @@
package com.cool.store.request.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2025/11/19 11:07
* @Version 1.0
*/
@Data
public class TradeRecodePageRequest {
@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.网商",required = true)
private Integer walletType;
@ApiModelProperty(value = "关键字(账户名称,账户编号,业务系统付款单号,提现银行卡号)",required = true)
private String keyword;
@ApiModelProperty(value = "关键字(门店编号,门店名称)",required = true)
private String storeKeyword;
@ApiModelProperty(value = "费用科目",required = true)
private Integer feeItemId;
@ApiModelProperty(value = "当前页码",required = true)
private Integer currentPage;
@ApiModelProperty(value = "每页数量",required = true)
private Integer pageSize;
}

View File

@@ -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;
}

View File

@@ -0,0 +1,27 @@
package com.cool.store.request.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2025/11/17 11:20
* @Version 1.0
*/
@Data
public class UpdatePasswordRequest {
@ApiModelProperty(name = "CRM门店编号", required = true)
private String outStoreId;
@ApiModelProperty(name = "维护类型 1.设置密码 2.修改密码", required = true)
private Integer upholdType;
@ApiModelProperty(name = "新支付密码(sm3加密后字符串)", required = true)
private String newPayPwd;
@ApiModelProperty(name = "确认新支付密码(sm3加密后字符串)", required = true)
private String confirmPayPwd;
@ApiModelProperty(name = "当前使用的支付密码(sm3加密后字符串),维护类型为修改密码时必填", required = false)
private String currentPayPwd;
}

View File

@@ -0,0 +1,29 @@
package com.cool.store.request.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2025/11/13 16:46
* @Version 1.0
*/
@Data
public class UpdateStoreAccountRequest {
@ApiModelProperty(name = "商户门店编号",required = true)
private String outStoreId;
@ApiModelProperty(name = "法人/自然人证件号码",required = true)
private String idnum;
@ApiModelProperty(name = "签约人姓名(对私结算卡必传)以上二选一",required = true)
private String accountName;
@ApiModelProperty(name = "结算银行卡号",required = true)
private String accountCardNo;
@ApiModelProperty(name = "结算卡银行预留手机号。",required = true)
private String accountPhone;
@ApiModelProperty(name = "支行编号",required = true)
private String bankNo;
@ApiModelProperty(name = "开户支行名称",required = true)
private String bankName;
}

View File

@@ -0,0 +1,40 @@
package com.cool.store.request.wallet;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.models.auth.In;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author suzhuhong
* @Date 2025/11/13 10:56
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class WalletBasicPageInfo {
@ApiModelProperty(value = "当前页码",required = true)
private Integer currentPage;
@ApiModelProperty(value = "每页数量",required = true)
private Integer pageSize;
private Integer total;
private Integer count;
private Boolean first;
private Boolean last;
public WalletBasicPageInfo(Integer currentPage, Integer pageSize){
this.currentPage = currentPage;
this.pageSize = pageSize;
}
}

View File

@@ -0,0 +1,21 @@
package com.cool.store.request.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* <p>
* 钱包门店Request
* </p>
*
* @author wangff
* @since 2025/11/14
*/
@Data
public class WalletShopRequest {
@ApiModelProperty("门店id")
@NotNull(message = "门店id不能为空")
private Long shopId;
}

View File

@@ -0,0 +1,33 @@
package com.cool.store.request.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.Digits;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
/**
* <p>
* 钱包提现Request
* </p>
*
* @author wangff
* @since 2025/11/18
*/
@Data
public class WalletWithDrawerRequest extends StoreShopRequest {
@ApiModelProperty("提现金额")
@Digits(integer = 10, fraction = 2, message = "金额整数位最多10位小数位最多2位")
@NotNull(message = "提现金额不能为空")
private BigDecimal amount;
@ApiModelProperty("支付密码(sm3加密后字符串)")
@NotBlank(message = "支付密码不能为空")
private String payPwd;
@ApiModelProperty("钱包类型 1.平安 2.网商")
@NotNull(message = "钱包类型不能为空")
private Integer walletType;
}

View File

@@ -0,0 +1,31 @@
package com.cool.store.request.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author suzhuhong
* @Date 2025/11/14 9:56
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
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;
@ApiModelProperty(value = "钱包类型 1.平安 2.网商", required = true)
private Integer walletType;
}

View File

@@ -61,6 +61,8 @@ public class BranchShopResponse {
@ApiModelProperty("所属管理区域name")
private String managerRegionName;
private String storeId;
public void setDays() {
if (this.openingActivityEndTime==null){

View File

@@ -3,9 +3,12 @@ package com.cool.store.response.bigdata;
import com.cool.store.constants.CommonConstants;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.enums.ResponseCodeEnum;
import com.cool.store.response.ResponseResult;
import lombok.Data;
import org.slf4j.MDC;
import java.text.MessageFormat;
/**
* @Author suzhuhong
* @Date 2025/4/1 10:49
@@ -31,6 +34,22 @@ public class ApiResponse<T> {
return new ApiResponse(ResponseCodeEnum.SUCCESS.getCode(), "ok", data);
}
/**
* 钱包系统 响应用200
* @param data
* @param <T>
* @return
*/
public static<T> ApiResponse<T> successByWallet(T data) {
return new ApiResponse(ResponseCodeEnum.SUCCESS_WALLET.getCode(), "ok", data);
}
public static ApiResponse fail(ErrorCodeEnum responseEnum, Object... objects){
String message = MessageFormat.format(responseEnum.getMessage(), objects);
return new ApiResponse(responseEnum.getCode(), message, false);
}
public static<T> ApiResponse<T> error(ErrorCodeEnum errorCodeEnum) {
return new ApiResponse(errorCodeEnum.getCode(), errorCodeEnum.getMessage(), null);
}

View File

@@ -1,5 +1,6 @@
package com.cool.store.vo;
import com.aliyun.tea.NameInMap;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -24,6 +25,15 @@ public class IdentityCardInfoVO {
@ApiModelProperty("民族")
private String nation;
@ApiModelProperty("结束时间")
public String endDate;
@ApiModelProperty("所属分局")
public String issue;
@ApiModelProperty("开始时间")
public String startDate;
public IdentityCardInfoVO(String username, String liveAddress, String birthdate, String sex, String idCard, String nation) {
this.username = username;
this.liveAddress = liveAddress;
@@ -32,4 +42,10 @@ public class IdentityCardInfoVO {
this.idCard = idCard;
this.nation = nation;
}
public IdentityCardInfoVO(String endDate, String issue, String startDate) {
this.endDate = endDate;
this.issue = issue;
this.startDate = startDate;
}
}

View File

@@ -0,0 +1,23 @@
package com.cool.store.vo.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* <p>
* 钱包账户鉴权VO
* </p>
*
* @author wangff
* @since 2025/11/14
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AccountAuthenticationVO {
@ApiModelProperty("1 待提交 2 待鉴权 3 鉴权中 4开通")
private Integer accountStatus;
}

View File

@@ -0,0 +1,40 @@
package com.cool.store.vo.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* <p>
* 账户交易列表VO
* </p>
*
* @author wangff
* @since 2025/11/17
*/
@Data
public class AccountBillListVO {
@ApiModelProperty("交易Id营帐通")
private Long tradeId;
@ApiModelProperty("交易编号(扫呗)")
private String outTradeNo;
@ApiModelProperty("费用科目")
private Integer feeItemId;
@ApiModelProperty("费用科目名称")
private String feeItemName;
@ApiModelProperty("金额(元)")
private String amount;
@ApiModelProperty("交易发起时间")
private String createTime;
@ApiModelProperty("交易状态 1.成功 2.失败 3.处理中")
private Integer tradeStatus;
@ApiModelProperty("交易类型 1.转账 2.提现")
private Integer tradeType;
}

View File

@@ -0,0 +1,41 @@
package com.cool.store.vo.wallet;
import com.cool.store.dto.wallet.TradeRecordDTO;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.Objects;
/**
* <p>
* 账户交易列表分页VO
* </p>
*
* @author wangff
* @since 2025/11/19
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AccountBillPageVO {
@ApiModelProperty("分页数据")
PageInfo<TradeRecordDTO> data;
@ApiModelProperty("收入")
private BigDecimal getAmount;
@ApiModelProperty("支出")
private BigDecimal useAmount;
public AccountBillPageVO(PageInfo<TradeRecordDTO> data, Long getAmount, Long useAmount) {
this.data = data;
BigDecimal denominator = new BigDecimal(100);
this.getAmount = new BigDecimal(Objects.nonNull(getAmount) ? getAmount : 0).divide(denominator, 2, RoundingMode.HALF_UP);
this.useAmount = new BigDecimal(Objects.nonNull(useAmount) ? useAmount : 0).divide(denominator, 2, RoundingMode.HALF_UP);
}
}

View File

@@ -0,0 +1,30 @@
package com.cool.store.vo.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* <p>
* 账户信息VO
* </p>
*
* @author wangff
* @since 2025/11/20
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AccountDataVO {
@ApiModelProperty("网商账户开通失败标识")
private Boolean onlineBankOpenFail;
@ApiModelProperty("是否已激活")
private Boolean activated;
@ApiModelProperty("账户列表")
private List<AccountInfoVO> accountList;
}

View File

@@ -0,0 +1,48 @@
package com.cool.store.vo.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* <p>
* 账户信息VO
* </p>
*
* @author wangff
* @since 2025/11/17
*/
@Data
public class AccountInfoVO {
@ApiModelProperty(value = "账户状态 1:待提交 2:待鉴权 3:鉴权中 4:开通")
private Integer accountStatus;
@ApiModelProperty(value = "是否签约人账户 0 否 1 是")
private Integer isLegal;
@ApiModelProperty(value = "账户编号")
private String accountNo;
@ApiModelProperty(value = "账户名称")
private String accountName;
@ApiModelProperty(value = "结算银行卡号")
private String accountCardNo;
@ApiModelProperty(value = "开户支行名称")
private String bankName;
@ApiModelProperty(value = "总行名称")
private String headBankName;
@ApiModelProperty(value = "账户余额")
private String totalAmount;
@ApiModelProperty(value = "打标状态 0 未打标 1 已打标")
private Integer labelingStatus;
@ApiModelProperty("平安账户升级失败原因")
private String failReason;
@ApiModelProperty("失败原因(仅网商在创建失败或激活失败时返回)")
private String errMsg;
}

View File

@@ -0,0 +1,89 @@
package com.cool.store.vo.wallet;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 门店签约人账户
* @Author suzhuhong
* @Date 2025/11/13 16:54
* @Version 1.0
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class AccountPageVO {
@ApiModelProperty(value = "结算卡业务类型 枚举值1对公 2对私", required = true)
private Integer accountType;
@ApiModelProperty(value = "营业执照号码")
private String licenseNo;
@ApiModelProperty(value = "工商注册名称")
private String licenseName;
@ApiModelProperty(value = "法人姓名")
private String legalName;
@ApiModelProperty(value = "法人证件号码")
private String legalNo;
@ApiModelProperty(value = "法人联系电话")
private String legalPhone;
@ApiModelProperty(value = "门店编号", required = true)
private String storeSn;
@ApiModelProperty(value = "账户编号", required = true)
private String accountNo;
@ApiModelProperty(value = "账户名称", required = true)
private String accountName;
@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 bankName;
@ApiModelProperty(value = "支行编号", required = true)
private String bankNo;
@ApiModelProperty(value = "总行名称")
private String headBankName;
@ApiModelProperty(value = "账户状态 1:待提交 2:待鉴权 3:鉴权中 4:开通 5:开通失败", required = true)
private Integer accountStatus;
@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;
@ApiModelProperty("工商类型 1.企业 2.个体工商户 3.小微商户(自然人)")
private Integer businessType;
@ApiModelProperty("钱包类型 1平安 2网商")
private Integer walletType;
@ApiModelProperty("失败原因(仅网商在创建失败或激活失败时返回)")
private String errMsg;
@ApiModelProperty("crm门店id")
private String storeId;
@ApiModelProperty("门店名称")
private String storeName;
}

View File

@@ -0,0 +1,28 @@
package com.cool.store.vo.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* <p>
* 账户充值VO
* </p>
*
* @author wangff
* @since 2025/11/17
*/
@Data
public class AccountPaymentVO {
@ApiModelProperty(value = "收款账号", required = true)
private String payeeAccNo;
@ApiModelProperty(value = "收款账户名称", required = true)
private String payeeAccName;
@ApiModelProperty(value = "收款银行名称", required = true)
private String payeeBankName;
@ApiModelProperty("过期倒计时(秒)")
private Long expiryCountdown;
}

View File

@@ -0,0 +1,83 @@
package com.cool.store.vo.wallet;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 门店签约人账户
* @Author suzhuhong
* @Date 2025/11/13 16:54
* @Version 1.0
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class AllAccountInfoVO {
@ApiModelProperty(value = "结算卡业务类型 枚举值1对公 2对私", required = true)
private Integer accountType;
@ApiModelProperty(value = "营业执照号码")
private String licenseNo;
@ApiModelProperty(value = "工商注册名称")
private String licenseName;
@ApiModelProperty(value = "法人姓名")
private String legalName;
@ApiModelProperty(value = "法人证件号码")
private String legalNo;
@ApiModelProperty(value = "法人联系电话")
private String legalPhone;
@ApiModelProperty(value = "门店编号", required = true)
private String storeSn;
@ApiModelProperty(value = "账户编号", required = true)
private String accountNo;
@ApiModelProperty(value = "账户名称", required = true)
private String accountName;
@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 bankName;
@ApiModelProperty(value = "支行编号", required = true)
private String bankNo;
@ApiModelProperty(value = "总行名称")
private String headBankName;
@ApiModelProperty(value = "账户状态 1:待提交 2:待鉴权 3:鉴权中 4:开通 5:开通失败", required = true)
private Integer accountStatus;
@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;
@ApiModelProperty("工商类型 1.企业 2.个体工商户 3.小微商户(自然人)")
private Integer businessType;
@ApiModelProperty("钱包类型 1平安 2网商")
private Integer walletType;
@ApiModelProperty("失败原因(仅网商在创建失败或激活失败时返回)")
private String errMsg;
}

View File

@@ -0,0 +1,24 @@
package com.cool.store.vo.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* <p>
* 银行VO
* </p>
*
* @author wangff
* @since 2025/11/14
*/
@Data
public class BankVO {
@ApiModelProperty("银行编号")
private String headCode;
@ApiModelProperty("银行名称")
private String headName;
@ApiModelProperty("支行号")
private String branchCode;
@ApiModelProperty("支行名称")
private String branchName;
}

View File

@@ -0,0 +1,30 @@
package com.cool.store.vo.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* <p>
* 钱包支付订单VO
* </p>
*
* @author wangff
* @since 2025/11/18
*/
@Data
public class WalletPaymentOrderVO {
@ApiModelProperty("预支付id")
private String paymentId;
@ApiModelProperty("金额")
private BigDecimal amount;
@ApiModelProperty("订单状态:1-成功 2-失败 3-支付中 4-撤销")
private Integer orderStatus;
@ApiModelProperty("创建时间")
private Date createTime;
}