Merge #98 into master from cc_20260408_trans

feat:mock 处理

* cc_20260408_trans: (22 commits squashed)

  - feat:分账

  - feat:分账接口

  - feat:分账单管理

  - feat:分账管理

  - feat:分账管理

  - feat:userIdName

  - feat:提现

  - feat:调整

  - feat:accountName

  - feat:accountName

  - feat:mock

  - feat:关联门店

  - feat:待充值待认款

  - feat:待充值待认款

  - feat:payer_account_no

  - feat:payeeAccountName

  - feat:payeeAccountNo

  - feat:page

  - feat:枚举

  - feat:接口请求方式调整get->post

  - feat:mock 处理

  - Merge branch 'master' into cc_20260408_trans
    
    # Conflicts:
    #	coolstore-partner-common/src/main/java/com/cool/store/constants/RedisConstant.java
    #	coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java

Signed-off-by: 正新 <accounts_6964c7bcd2a2c377c5bbd01b@mail.teambition.com>
Merged-by: 正新 <accounts_6964c7bcd2a2c377c5bbd01b@mail.teambition.com>

CR-link: https://codeup.aliyun.com/692ea314dec569489f6f167c/hangzhou/java/custom_zxjp/change/98
This commit is contained in:
正新
2026-04-14 09:55:00 +00:00
parent 9ad7fa0f5a
commit 1bbb6f7097
80 changed files with 4204 additions and 29 deletions

View File

@@ -18,21 +18,39 @@ public class AccountInfoDTO {
@ApiModelProperty(value = "结算卡业务类型 枚举值1对公 2对私", required = true)
private Integer accountType;
@ApiModelProperty(value = "工商类型 1.企业 2.个体工商户 3.自然人", required = true)
private Integer businessType;
@ApiModelProperty(value = "钱包类型 1.平安 2.网商", required = true)
private Integer walletType;
@ApiModelProperty(value = "营业执照号码")
private String licenseNo;
@ApiModelProperty(value = "工商注册名称")
private String licenseName;
@ApiModelProperty(value = "法人姓名")
@ApiModelProperty(value = "法人姓名,用于实名认证企业的法人姓名")
private String legalName;
@ApiModelProperty(value = "法人证件号码")
private String legalNo;
@ApiModelProperty(value = "法人联系电话")
@ApiModelProperty(value = "法人联系电话(企业与个体户必传)")
private String legalPhone;
@ApiModelProperty(value = "法人银行卡号")
private String legalAccountCardNo;
@ApiModelProperty(value = "法人银行预留手机号")
private String legalAccountPhone;
@ApiModelProperty(value = "法人银行卡开户支行")
private String legalBankNo;
@ApiModelProperty(value = "法人银行卡开户支行名称")
private String legalBankName;
@ApiModelProperty(value = "门店编号", required = true)
private String storeSn;
@@ -54,37 +72,40 @@ public class AccountInfoDTO {
@ApiModelProperty(value = "开户支行名称", required = true)
private String bankName;
@ApiModelProperty(value = "支行", required = true)
@ApiModelProperty(value = "开户支行号", required = true)
private String bankNo;
@ApiModelProperty(value = "总行名称")
@ApiModelProperty(value = "开户总行名称")
private String headBankName;
@ApiModelProperty(value = "账户状态 1:待提交 2:待鉴权 3:鉴权中 4:开通 5:开通失败", required = true)
@ApiModelProperty(value = "账户状态 1-待提交 2-待鉴权 3-鉴权中 4-开通 5-失败", required = true)
private Integer accountStatus;
@ApiModelProperty(value = "账户余额", required = true)
@ApiModelProperty(value = "账户余额", required = true)
private String totalAmount;
@ApiModelProperty(value = "可提现余", required = true)
@ApiModelProperty(value = "冻结金", required = true)
private String freezeAmount;
@ApiModelProperty(value = "可提现余额(平安账户此字段金额等于账户余额,网商账户充值金额只能用于协议代扣,无法用于提现,所以网商账户可提现余额可能小于账户余额)", required = true)
private String withdrawAmount;
@ApiModelProperty(value = "打标状态 0 未打标 1 已打标", required = true)
@ApiModelProperty(value = "打标状态 0-未打标 1-已打标", required = true)
private Integer labelingStatus;
@ApiModelProperty(value = "是否签约人账户 0 否 1 ", required = true)
@ApiModelProperty(value = "是否签约人账户 0-否 1-", required = true)
private Integer isLegal;
@ApiModelProperty("工商类型 1.企业 2.个体工商户 3.小微商户(自然人)")
private Integer businessType;
@ApiModelProperty("钱包类型 1平安 2网商")
private Integer walletType;
@ApiModelProperty("失败原因(仅网商在创建失败或激活失败时返回)")
@ApiModelProperty(value = "失败原因(仅网商在创建失败或激活失败时返回)")
private String errMsg;
@ApiModelProperty("crm门店id")
@ApiModelProperty(value = "法人和签约人的关系 myself-本人 parent-父母 children-子女 landlord-房东 friend-朋友 bro_and_sister-兄弟姐妹 partner-合伙人 couple-夫妻")
private String relation;
@ApiModelProperty(value = "网商激活短链(平安不返回),调用重新发送后会变")
private String activityUrl;
@ApiModelProperty(value = "crm门店id")
private String outStoreId;
@ApiModelProperty("网商激活短链(平安不返回),调用重新发送后会变")

View File

@@ -1,11 +1,13 @@
package com.cool.store.dto.wallet;
import com.cool.store.request.wallet.WalletBasicPageInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* 账户分页查询响应
* @Author suzhuhong
* @Date 2025/11/18 10:12
* @Version 1.0
@@ -13,8 +15,10 @@ import java.util.List;
@Data
public class AccountPageDTO {
@ApiModelProperty("分页数据")
private List<AccountInfoDTO> pageData;
@ApiModelProperty("分页信息")
private WalletBasicPageInfo page;
}

View File

@@ -0,0 +1,22 @@
package com.cool.store.dto.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Auther zx_szh
* @Date 2026/4/10 14:01
* @Version 1.0
*/
@Data
public class AccountTransferDTO {
@ApiModelProperty("业务系统付款单号(如 CRM 单号)")
private String reqNo;
@ApiModelProperty("转账交易编号")
private Long tradeId;
@ApiModelProperty("金额(元)")
private String amount;
@ApiModelProperty("交易状态1.成功 2.失败 3.处理中")
private Integer tradeStatus;
}

View File

@@ -0,0 +1,42 @@
package com.cool.store.dto.wallet;
import lombok.Data;
/**
* @Auther zx_szh
* @Date 2026/4/10 14:17
* @Version 1.0
*/
@Data
public class AccountWithdrawerDTO {
/**
* 业务系统付款单号(如 CRM 单号)
*/
private String reqNo;
/**
* 转账交易标识(营帐通系统)
*/
private Long tradeId;
/**
* 提现科目
*/
private Integer feeItemId;
/**
* 提现账户编号
*/
private String accountNo;
/**
* 金额(元)
*/
private String amount;
/**
* 交易状态 1-成功 2-失败 3-处理中
*/
private Integer tradeStatus;
}

View File

@@ -0,0 +1,55 @@
package com.cool.store.dto.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* @Auther zx_szh
* @Date 2026/4/12 16:14
* @Version 1.0
*/
@Data
public class WithdrawApplicationDTO {
private static final long serialVersionUID = 1L;
@ApiModelProperty("主键ID")
private Long id;
@ApiModelProperty("提现申请单号")
private String withdrawNo;
@ApiModelProperty("提现账户名称")
private String accountName;
@ApiModelProperty("提现金额")
private BigDecimal amount;
@ApiModelProperty("到账银行卡号")
private String bankCardNo;
@ApiModelProperty("银行所属银行")
private String bankName;
@ApiModelProperty("状态1-已分账 2-分账失败 3-分账中 5-待分账)")
private Integer status;
@ApiModelProperty("失败原因")
private String failReason;
@ApiModelProperty("创建人")
private String createUserId;
@ApiModelProperty("创建人姓名")
private String createUserName;
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("更新时间")
private Date updateTime;
}

View File

@@ -0,0 +1,107 @@
package com.cool.store.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
import java.math.BigDecimal;
import java.util.Date;
/**
* 费用调整单
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "zxjp_adjustment_order")
public class AdjustmentOrderDO {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@ApiModelProperty("主键ID")
private Long id;
@ApiModelProperty("调整单号")
@Column(name = "adjustment_no")
private String adjustmentNo;
@ApiModelProperty("门店ID")
@Column(name = "store_id")
private String storeId;
@ApiModelProperty("业务类型 字典表")
@Column(name = "business_type_code")
private String businessTypeCode;
@ApiModelProperty("费用类型(装修类/采购设备类/设备类)字段表")
@Column(name = "expense_type_code")
private String expenseTypeCode;
@ApiModelProperty("调整类型1-调增 2-调减)")
@Column(name = "adjust_type")
private Integer adjustType;
@ApiModelProperty("调整金额")
@Column(name = "adjust_amount")
private BigDecimal adjustAmount;
@ApiModelProperty("调整原因")
@Column(name = "adjust_reason")
private String adjustReason;
@ApiModelProperty("备注")
@Column(name = "remark")
private String remark;
@ApiModelProperty("附件信息")
@Column(name = "attachment_info", columnDefinition = "TEXT")
private String attachmentInfo;
@ApiModelProperty("单据状态10-待充值/20-已充值待认款/30-认款完成/40-分部分账/50-分账完成)")
@Column(name = "status")
private Integer status;
@ApiModelProperty("创建人")
@Column(name = "create_user_id")
private String createUserId;
@ApiModelProperty("创建时间")
@Column(name = "create_time")
private Date createTime;
@ApiModelProperty("删除 0-未删除 1-删除")
@Column(name = "deleted")
private Integer deleted;
@ApiModelProperty("已分账金额")
@Column(name = "settled_amount", columnDefinition = "decimal(12,2) NOT NULL")
private BigDecimal settledAmount;
@ApiModelProperty("待分账金额")
@Column(name = "pending_settlement_amount", columnDefinition = "decimal(12,2) NOT NULL")
private BigDecimal pendingSettlementAmount;
@ApiModelProperty("认领人ID")
@Column(name = "claim_user_id", length = 64)
private String claimUserId;
@ApiModelProperty("认领时间")
@Column(name = "claim_time")
private Date claimTime;
@ApiModelProperty("费用单类型 1-费用单 2-调整单")
@Column(name = "expense_sheet_type")
private Integer expenseSheetType;
@ApiModelProperty("合同附件信息")
@Column(name = "contract_attachment_info", columnDefinition = "TEXT")
private String contractAttachmentInfo;
@ApiModelProperty("支付时间")
@Column(name = "pay_time")
private Date payTime;
}

View File

@@ -0,0 +1,33 @@
package com.cool.store.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
/**
* 费用单流水调整单映射表
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "zxjp_expense_mapping")
public class ExpenseMappingDO {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@ApiModelProperty("主键ID")
private Long id;
@ApiModelProperty("费用单号")
@Column(name = "related_adjustment_no", length = 32)
private String relatedAdjustmentNo;
@ApiModelProperty("网商交易流水号")
@Column(name = "trade_no", length = 32)
private String tradeNo;
}

View File

@@ -0,0 +1,107 @@
package com.cool.store.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
import java.math.BigDecimal;
import java.util.Date;
/**
* 分账主表
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "zxjp_split_order")
public class SplitOrderDO {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@ApiModelProperty("主键ID")
private Long id;
@ApiModelProperty("分账单号")
@Column(name = "split_no")
private String splitNo;
@ApiModelProperty("分账类型1-门店付款/2-门店收款/3-公司间结算)")
@Column(name = "split_type")
private Integer splitType;
@ApiModelProperty("关联门店")
@Column(name = "related_store_id")
private String relatedStoreId;
@ApiModelProperty("付款账户名称")
@Column(name = "payer_account_name")
private String payerAccountName;
@ApiModelProperty("付款账户")
@Column(name = "payer_account_no")
private String payerAccountNo;
@ApiModelProperty("收款账户名称")
@Column(name = "payee_account_name")
private String payeeAccountName;
@ApiModelProperty("收款账户")
@Column(name = "payee_account_no")
private String payeeAccountNo;
@ApiModelProperty("费用类型(装修类/采购设备类/设备类)字典表")
@Column(name = "expense_type_code")
private String expenseTypeCode;
@ApiModelProperty("分账金额")
@Column(name = "split_amount")
private BigDecimal splitAmount;
@ApiModelProperty("关联单据号(如费用调整单号)")
@Column(name = "related_doc_no")
private String relatedDocNo;
@ApiModelProperty("附件信息")
@Column(name = "attachment_info", columnDefinition = "TEXT")
private String attachmentInfo;
@ApiModelProperty("备注")
@Column(name = "remark")
private String remark;
@ApiModelProperty("分账失败原因")
@Column(name = "fail_reason", length = 256)
private String failReason;
@ApiModelProperty("状态 1-已分账 2-分账失败 3-分账中 5-待分账")
@Column(name = "status")
private Integer status;
@ApiModelProperty("确认人")
@Column(name = "confirmer")
private String confirmer;
@ApiModelProperty("确认时间")
@Column(name = "confirm_time")
private Date confirmTime;
@ApiModelProperty("创建人")
@Column(name = "create_user_id")
private String createUserId;
@ApiModelProperty("创建时间")
@Column(name = "create_time")
private Date createTime;
@ApiModelProperty("单据来源1-手工新增/2-费用调整单/3-费用单)")
@Column(name = "source")
private Integer source;
@ApiModelProperty("删除 0-未删除 1-删除")
@Column(name = "deleted")
private Integer deleted;
}

View File

@@ -0,0 +1,91 @@
package com.cool.store.entity;
import lombok.Builder;
import lombok.Data;
import javax.persistence.*;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 提现申请实体
*/
@Data
@Builder
@Table(name = "zxjp_withdraw_application")
public class WithdrawApplicationDO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;
/**
* 提现申请单号
*/
@Column(name = "withdraw_no")
private String withdrawNo;
/**
* 提现账户名称
*/
@Column(name = "account_name")
private String accountName;
@Column(name = "account_no")
private String accountNo;
/**
* 提现金额
*/
@Column(name = "amount")
private BigDecimal amount;
/**
* 到账银行卡号
*/
@Column(name = "bank_card_no")
private String bankCardNo;
/**
* 银行所属银行
*/
@Column(name = "bank_name")
private String bankName;
/**
* 状态1-已分账 2-分账失败 3-分账中 5-待分账)
*/
@Column(name = "status")
private Integer status;
/**
* 失败原因
*/
@Column(name = "fail_reason")
private String failReason;
/**
* 创建人
*/
@Column(name = "create_user_id")
private String createUserId;
/**
* 创建时间
*/
@Column(name = "create_time")
private Date createTime;
/**
* 更新时间
*/
@Column(name = "update_time")
private Date updateTime;
}

View File

@@ -0,0 +1,47 @@
package com.cool.store.request;
import com.cool.store.common.PageBasicInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.Min;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
@Data
public class AdjustmentOrderPageRequest extends PageBasicInfo implements Serializable {
@ApiModelProperty("门店名称或者门店编码")
private String keyword;
@ApiModelProperty(value = "费用单据类型 费用单类型 1-费用单 2-调整单")
private Integer expenseSheetType;
@ApiModelProperty("单号")
private String adjustmentNo;
@ApiModelProperty("费用类型")
private String expenseTypeCode;
@ApiModelProperty("调整类型1-调增 2-调减)")
private Integer adjustType;
@ApiModelProperty("单据状态列表")
private List<Integer> statusList;
@ApiModelProperty("调整原因(模糊查询)")
private String adjustReason;
@ApiModelProperty("业务类型")
private String businessTypeCode;
@ApiModelProperty("认领开始时间")
private Date claimStartTime;
@ApiModelProperty("认领结束时间")
private Date claimEndTime;
private String storeId;
}

View File

@@ -0,0 +1,56 @@
package com.cool.store.request;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.io.Serializable;
@Data
public class AdjustmentOrderRequest implements Serializable {
@ApiModelProperty("主键ID编辑时必填")
private Long id;
@ApiModelProperty("门店ID")
@NotBlank(message = "门店ID不能为空")
private String storeId;
@ApiModelProperty("业务类型")
private String businessTypeCode;
@ApiModelProperty("费用类型(装修类/采购设备类/设备类)")
@NotBlank(message = "费用类型不能为空")
private String expenseTypeCode;
@ApiModelProperty("调整类型1-调增 2-调减)")
private Integer adjustType;
@ApiModelProperty("金额")
@NotNull(message = "金额不能为空")
@DecimalMin(value = "0.01", message = "调整金额必须大于0")
private BigDecimal adjustAmount;
@ApiModelProperty("调整原因")
@Length(max = 255, message = "调整原因长度不能超过255")
private String adjustReason;
@ApiModelProperty("备注")
@Length(max = 255, message = "备注长度不能超过255")
private String remark;
@ApiModelProperty("附件信息")
private String attachmentInfo;
@ApiModelProperty("附件信息")
private String contractAttachmentInfo;
@ApiModelProperty("费用单类型 1-费用单 2-调整单")
@NotNull(message = "费用单类型不能为空")
private Integer expenseSheetType;
}

View File

@@ -0,0 +1,40 @@
package com.cool.store.request;
import com.cool.store.common.PageBasicInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Arrays;
import java.util.List;
/**
* @Auther zx_szh
* @Date 2026/4/10 16:37
* @Version 1.0
*/
@Data
public class AdjustmentSpecialPageRequest extends PageBasicInfo {
@ApiModelProperty("费用单据类型 费用单类型 1-费用单 2-调整单")
private Integer expenseSheetType;
@ApiModelProperty("单据状态")
private Integer status;
@ApiModelProperty("业务类型")
private String businessTypeCode;
private String storeId;
public static AdjustmentOrderPageRequest convert(AdjustmentSpecialPageRequest request){
AdjustmentOrderPageRequest adjustmentOrderPageRequest = new AdjustmentOrderPageRequest();
adjustmentOrderPageRequest.setExpenseSheetType(request.getExpenseSheetType());
adjustmentOrderPageRequest.setStoreId(request.getStoreId());
if (request.getStatus()!=null){
adjustmentOrderPageRequest.setStatusList(Arrays.asList(request.getStatus()));
}
adjustmentOrderPageRequest.setBusinessTypeCode(request.getBusinessTypeCode());
return adjustmentOrderPageRequest;
}
}

View File

@@ -0,0 +1,43 @@
package com.cool.store.request;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 生成分账单请求
*/
@Data
public class GenerateSplitOrderRequest implements Serializable {
@ApiModelProperty("调整单ID")
@NotNull(message = "费用单ID")
private Long id;
@ApiModelProperty("收款公司名称")
@NotBlank(message = "收款公司不能为空")
@Length(max = 100, message = "收款公司名称长度不能超过100")
private String payeeAccountName;
@ApiModelProperty("收款账户")
@Length(max = 128, message = "收款账户长度不能超过128")
private String payeeAccountNo;
@ApiModelProperty("分账金额")
@NotNull(message = "分账金额不能为空")
@DecimalMin(value = "0.01", message = "分账金额必须大于0")
private BigDecimal splitAmount;
@ApiModelProperty("附件信息")
private String attachmentInfo;
@ApiModelProperty("备注")
@Length(max = 255, message = "备注长度不能超过255")
private String remark;
}

View File

@@ -0,0 +1,22 @@
package com.cool.store.request;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* 认款请求
*/
@Data
public class RecognizePaymentRequest {
@NotNull(message = "费用调整单ID不能为空")
@ApiModelProperty("费用调整单ID")
private Long id;
@NotNull(message = "网商交易流水号列表不能为空")
@ApiModelProperty("网商交易流水号列表")
private List<String> tradeNos;
}

View File

@@ -0,0 +1,45 @@
package com.cool.store.request;
import com.cool.store.common.PageBasicInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.Min;
import java.io.Serializable;
import java.util.List;
@Data
public class SplitOrderPageRequest extends PageBasicInfo implements Serializable {
@ApiModelProperty("分账单号 模糊")
private String splitNo;
@ApiModelProperty("分账类型1-门店付款/2-门店收款/3-公司间结算)")
private Integer splitType;
@ApiModelProperty("付款账户名称 模糊")
private String payerAccountName;
@ApiModelProperty("收款账户名称 模糊")
private String payeeAccountName;
@ApiModelProperty("费用类型")
private String expenseTypeCode;
@ApiModelProperty("关联门店ID")
private String relatedStoreId;
@ApiModelProperty("关联单据号 模糊")
private String relatedDocNo;
@ApiModelProperty("分账状态(待分账/已完成)")
private String status;
;
@ApiModelProperty("单据来源1-手工新增/2-费用调整单/3-费用单)")
private Integer source;
@ApiModelProperty("门店编码/门店名称 关键字搜索")
private String keyword;
}

View File

@@ -0,0 +1,61 @@
package com.cool.store.request;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.persistence.Column;
import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.io.Serializable;
@Data
public class SplitOrderRequest implements Serializable {
@ApiModelProperty("主键ID编辑时必填")
private Long id;
@ApiModelProperty("分账类型1-门店付款/2-门店收款/3-公司间结算)")
@NotNull(message = "分账类型不能为空")
private Integer splitType;
@ApiModelProperty("关联门店")
private String relatedStoreId;
@ApiModelProperty("付款账户名称")
@NotBlank(message = "付款账户名称不能为空")
@Length(max = 128, message = "付款账户名称长度不能超过128")
private String payerAccountName;
@ApiModelProperty("付款账户账号")
private String payerAccountNo;
@ApiModelProperty("收款账户名称")
@NotBlank(message = "收款账户名称不能为空")
@Length(max = 128, message = "收款账户名称长度不能超过128")
private String payeeAccountName;
@ApiModelProperty("收款账户")
private String payeeAccountNo;
@ApiModelProperty("费用类型(装修类/采购设备类/设备类)")
@NotBlank(message = "费用类型不能为空")
private String expenseTypeCode;
@ApiModelProperty("分账金额")
@NotNull(message = "分账金额不能为空")
@DecimalMin(value = "0.01", message = "分账金额必须大于0")
private BigDecimal splitAmount;
@ApiModelProperty("关联单据号(如费用调整单号)")
private String relatedDocNo;
@ApiModelProperty("备注")
@Length(max = 255, message = "备注长度不能超过255")
private String remark;
@ApiModelProperty("附件信息")
private String attachmentInfo;
}

View File

@@ -0,0 +1,31 @@
package com.cool.store.request;
import com.cool.store.common.PageBasicInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.Min;
import java.io.Serializable;
import java.util.Date;
/**
* 提现申请分页查询请求
*/
@Data
public class WithdrawApplicationPageRequest extends PageBasicInfo implements Serializable {
@ApiModelProperty("提现申请单号 模糊")
private String withdrawNo;
@ApiModelProperty("提现账户名称 模糊")
private String accountName;
@ApiModelProperty("申请开始时间")
private Date startTime;
@ApiModelProperty("申请结束时间")
private Date endTime;
@ApiModelProperty("状态1-已分账 2-分账失败 3-分账中 5-待分账)")
private Integer status;
}

View File

@@ -0,0 +1,38 @@
package com.cool.store.request;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 提现申请请求
*/
@Data
public class WithdrawApplicationRequest implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value ="提现账户名称", required = true)
@NotBlank(message = "提现账户名称不能为空")
private String accountName;
@ApiModelProperty(value ="提现金额", required = true)
@NotNull(message = "提现金额不能为空")
private BigDecimal amount;
@ApiModelProperty(value ="到账银行卡号", required = true)
@NotBlank(message = "到账银行卡号不能为空")
private String bankCardNo;
@ApiModelProperty(value = "银行所属银行", required = true)
@NotBlank(message = "银行所属银行不能为空")
private String bankName;
@ApiModelProperty(value = "提现账户", required = true)
@NotBlank(message = "提现账户不能为空")
private String accountNo;
}

View File

@@ -0,0 +1,17 @@
package com.cool.store.request.wallet;
import lombok.Data;
/**
* @Auther zx_szh
* @Date 2026/4/10 14:53
* @Version 1.0
*/
@Data
public class AccountDetailRequest {
private Integer walletType;
private String accountNo;
}

View File

@@ -0,0 +1,26 @@
package com.cool.store.request.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 账户分页查询请求
*/
@Data
public class AccountPageRequest {
@ApiModelProperty(value = "由营帐通分配", required = true)
private Long orgId;
@ApiModelProperty(value = "钱包类型 1.平安 2.网商", required = true)
private Integer walletType;
@ApiModelProperty("账户编号")
private String accNo;
@ApiModelProperty("账户名称(模糊查询)")
private String accName;
private WalletBasicPageInfo page;
}

View File

@@ -0,0 +1,28 @@
package com.cool.store.request.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Auther zx_szh
* @Date 2026/4/10 14:04
* @Version 1.0
*/
@Data
public class AccountTransferRequest {
@ApiModelProperty("钱包类型 1.平安 2.网商")
private Integer walletType;
@ApiModelProperty("业务系统付款单号(如 CRM 单号),业务系统单号")
private String reqNo;
@ApiModelProperty("费用科目")
private Integer feeItemId;
@ApiModelProperty("转出账户编号")
private String outAccNo;
@ApiModelProperty("转入账户编号")
private String InAccNo;
@ApiModelProperty(" 金额(元)")
private String amount;
@ApiModelProperty("备注 ,交易摘要")
private String remark;
}

View File

@@ -0,0 +1,24 @@
package com.cool.store.request.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Auther zx_szh
* @Date 2026/4/10 14:13
* @Version 1.0
*/
@Data
public class AccountWithdrawerRequest {
@ApiModelProperty("钱包类型 1.平安 2.网商")
private Integer walletType;
@ApiModelProperty("账户编号")
private String accNo;
@ApiModelProperty("业务系统付款单号(如 CRM 单号)")
private String reqNo;
@ApiModelProperty("提现金额(元)")
private String amount;
@ApiModelProperty("提现备注")
private String remark;
}

View File

@@ -0,0 +1,21 @@
package com.cool.store.request.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Auther zx_szh
* @Date 2026/4/13 10:47
* @Version 1.0
*/
@Data
public class ConfirmRechargeRequest {
@ApiModelProperty("费用单-调整单ID")
private Long id;
@ApiModelProperty("其他附件")
private String attachmentInfo;
@ApiModelProperty("备注")
private String remark;
}

View File

@@ -0,0 +1,17 @@
package com.cool.store.request.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Auther zx_szh
* @Date 2026/4/12 16:20
* @Version 1.0
*/
@Data
public class ConfirmWithdrawRequest {
@ApiModelProperty("提现单ID")
private Long withdrawId;
}

View File

@@ -0,0 +1,23 @@
package com.cool.store.request.wallet;
import com.cool.store.common.PageBasicInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Auther zx_szh
* @Date 2026/4/10 16:05
* @Version 1.0
*/
@Data
public class CoolAccountPageRequest extends PageBasicInfo {
@ApiModelProperty(value = "钱包类型 1.平安 2.网商", required = true)
private Integer walletType;
@ApiModelProperty("账户编号")
private String accNo;
@ApiModelProperty("账户名称(模糊查询)")
private String accName;
}

View File

@@ -24,6 +24,8 @@ public class CoolTradeRecodePageRequest extends PageBasicInfo {
private String storeKeyword;
@ApiModelProperty(value = "费用科目",required = true)
private Integer feeItemId;
@ApiModelProperty(value = "组织ID",required = false,hidden = true)
private Long orgId;
public TradeRecodePageRequest convertToTradeRecodePageRequest() {
TradeRecodePageRequest target = new TradeRecodePageRequest();

View File

@@ -0,0 +1,38 @@
package com.cool.store.request.wallet;
import com.cool.store.common.PageBasicInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Auther zx_szh
* @Date 2026/4/12 14:26
* @Version 1.0
* 只查询充值数据
*/
@Data
public class CoolTradeRecodeRequest 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.网商 不传默认-2",required = false)
private Integer walletType = 2;
@ApiModelProperty(value = "费用科目",required = false)
private Integer feeItemId;
@ApiModelProperty(value = "门店Id",required = true)
private String storeId;
public TradeRecodePageRequest convertToTradeRecodePageRequest() {
TradeRecodePageRequest target = new TradeRecodePageRequest();
target.setBeginDate(this.getBeginDate());
target.setEndDate(this.getEndDate());
target.setWalletType(this.getWalletType());
target.setFeeItemId(this.getFeeItemId());
target.setCurrentPage(this.getPageNum());
target.setPageSize(this.getPageSize());
return target;
}
}

View File

@@ -0,0 +1,19 @@
package com.cool.store.request.wallet;
import com.cool.store.dto.wallet.AccountInfoDTO;
import lombok.Data;
import java.util.List;
/**
* @Auther zx_szh
* @Date 2026/4/10 15:46
* @Version 1.0
*/
@Data
public class OrgAccountDTO {
private WalletBasicPageInfo page;
private List<AccountInfoDTO> pageData;
}

View File

@@ -27,6 +27,10 @@ public class TradeRecodePageRequest {
private Integer currentPage;
@ApiModelProperty(value = "每页数量",required = true)
private Integer pageSize;
@ApiModelProperty(value = "账户",required = false)
private String accountNo;
@ApiModelProperty(value = "组织ID",required = false)
private Long orgId;

View File

@@ -0,0 +1,97 @@
package com.cool.store.response;
import com.cool.store.annotation.DictField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
@Data
public class AdjustmentOrderResponse implements Serializable {
@ApiModelProperty("主键ID")
private Long id;
@ApiModelProperty("调整单号")
private String adjustmentNo;
@ApiModelProperty("门店ID")
private String storeId;
@ApiModelProperty("门店名称")
private String storeName;
@ApiModelProperty("门店编码")
private String storeNum;
@ApiModelProperty("业务类型")
private String businessTypeCode;
@ApiModelProperty("业务类型名称")
@DictField(sourceField="businessTypeCode")
private String businessTypeName;
@ApiModelProperty("费用类型")
private String expenseTypeCode;
@ApiModelProperty("费用类型名称")
@DictField(sourceField= "expenseTypeCode")
private String expenseTypeName;
@ApiModelProperty("调整类型1-调增 2-调减)")
private Integer adjustType;
@ApiModelProperty("调整金额")
private BigDecimal adjustAmount;
@ApiModelProperty("调整原因")
private String adjustReason;
@ApiModelProperty("备注")
private String remark;
@ApiModelProperty("附件信息")
private String attachmentInfo;
@ApiModelProperty("单据状态10-待充值/20-已充值待认款/30-认款完成/40-分部分账/50-分账完成)")
private Integer status;
@ApiModelProperty("创建人")
private String createUserId;
@ApiModelProperty("创建人姓名")
private String createUserName;
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("已分账金额")
private BigDecimal settledAmount;
@ApiModelProperty("待分账金额")
private BigDecimal pendingSettlementAmount;
@ApiModelProperty("认领人ID")
private String claimUserId;
@ApiModelProperty("认领人姓名")
private String claimUserName;
@ApiModelProperty("认领时间")
private Date claimTime;
@ApiModelProperty("费用单类型 1-费用单 2-调整单")
private Integer expenseSheetType;
@ApiModelProperty("合同附件信息")
private String contractAttachmentInfo;
@ApiModelProperty("关联银行流水号")
private List<String> tradeNoList;
@ApiModelProperty("支付时间")
private Date payTime;
}

View File

@@ -0,0 +1,85 @@
package com.cool.store.response;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Column;
import java.math.BigDecimal;
import java.io.Serializable;
import java.util.Date;
@Data
public class SplitOrderResponse implements Serializable {
@ApiModelProperty("主键ID")
private Long id;
@ApiModelProperty("分账单号")
private String splitNo;
@ApiModelProperty("分账类型1-门店付款/2-门店收款/3-公司间结算)")
private Integer splitType;
@ApiModelProperty("关联门店")
private String relatedStoreId;
@ApiModelProperty("门店名称")
private String storeName;
@ApiModelProperty("门店编码")
private String storeNum;
@ApiModelProperty("付款账户名称")
private String payerAccountName;
@ApiModelProperty("付款账户")
private String payerAccountNo;
@ApiModelProperty("收款账户")
private String payeeAccountNo;
@ApiModelProperty("分账失败原因")
private String failReason;
@ApiModelProperty("收款账户名称")
private String payeeAccountName;
@ApiModelProperty("费用类型")
private String expenseTypeCode;
@ApiModelProperty("分账金额")
private BigDecimal splitAmount;
@ApiModelProperty("关联单据号(如费用调整单号)")
private String relatedDocNo;
@ApiModelProperty("备注")
private String remark;
@ApiModelProperty("状态(待分账/已完成)")
private Integer status;
@ApiModelProperty("确认人")
private String confirmer;
@ApiModelProperty("确认人姓名")
private String confirmerName;
@ApiModelProperty("确认时间")
private Date confirmTime;
@ApiModelProperty("创建人")
private String createUserId;
@ApiModelProperty("创建人姓名")
private String createUserName;
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("单据来源1-手工新增/2-费用调整单/3-费用单)")
private Integer source;
}

View File

@@ -0,0 +1,53 @@
package com.cool.store.response;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 提现申请响应
*/
@Data
public class WithdrawApplicationResponse implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty("主键ID")
private Long id;
@ApiModelProperty("提现申请单号")
private String withdrawNo;
@ApiModelProperty("提现账户名称")
private String accountName;
@ApiModelProperty("提现金额")
private BigDecimal amount;
@ApiModelProperty("到账银行卡号")
private String bankCardNo;
@ApiModelProperty("银行所属银行")
private String bankName;
@ApiModelProperty("状态1-已分账 2-分账失败 3-分账中 5-待分账)")
private Integer status;
@ApiModelProperty("失败原因")
private String failReason;
@ApiModelProperty("创建人")
private String createUserId;
@ApiModelProperty("创建人姓名")
private String createUserName;
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("更新时间")
private Date updateTime;
}