Merge #52 into master from cc_20260121_store_type

Merge branch 'cc_20260126_pingan_wallet' into cc_20260121_store_type

* cc_20260121_store_type: (100 commits squashed)

  - Merge branch 'master' into cc_20251208_visit

  - feat:订单列表

  - feat:订单列表

  - fix:拜访记录导出

  - feat:列表处理

  - Merge branch 'cc_20251208_visit' into cc_20260121_store_type
    
    # Conflicts:
    #	coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java

  - feat:标准店接口处理

  - feat:标准店接口处理

  - feat:标准店接口处理

  - feat:标准店接口处理

  - feat:标准店接口处理

  - fix:加盟缴费调整

  - feat:标准店接口处理

  - fix:加盟缴费调整

  - Merge branch 'cc_20260126_pingan_wallet' into cc_20260121_store_type
    
    # Conflicts:
    #	coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/BatchTransferDTO.java
    #	coolstore-partner-model/src/main/java/com/cool/store/request/wallet/BatchTransferRequest.java

  - feat:冲突解决

  - feat:接口处理

  - feat:shopInfo

  - fix:PC缴费信息列表过滤已完成缴费信息

  - fix:测试接口修改

  - Merge branch 'refs/heads/cc_20260126_pingan_wallet' into cc_20260121_store_type

  - fix:测试接口修改

  - feat:接口

  - feat:接口调整

  - feat:注释调整

  - feat:key 调整

  - feat:订单ID

  - feat:日志打印

  - feat:选择标准店型

  - feat:useStandardStore

  - feat:标准店没有缴费阶段

  - feat:标准店没有缴费阶段

  - feat:标准店没有缴费阶段

  - feat:标准店没有缴费阶段

  - feat:阶段调整

  - fix:修复加盟缴费流程流转错误

  - feat:费用类型ID

  - feat:锁释放

  - feat:分账状态

  - fix:加盟签约合同数据补充

  - feat:排序

  - feat:选项单位

  - feat:选项单位

  - feat:选项单位

  - feat:选项单位

  - feat:option_unit

  - feat:option_unit

  - feat:更新调整

  - feat:视频非必填

  - feat:optionUnit

  - fix:转义

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

  - feat:同一配置项下只能设置一个默认选项

  - feat:数量支持小数,新增首次订货字段

  - fix:提交及修改校验合计缴费金额和分账总金额是否相同

  - feat:queryPage

  - feat:defaultQuantity 改为 BigDecimal

  - feat:defaultQuantity 改为 BigDecimal

  - feat:门店预约到店

  - feat:门店预约到店 取消预约

  - feat:门店预约到店 手机号

  - feat:添加原价

  - feat:添加原价

  - feat:添加原价

  - feat:字典表 remark

  - Merge branch 'master' into cc_20260121_store_type
    
    # Conflicts:
    #	coolstore-partner-common/src/main/java/com/cool/store/constants/RedisConstant.java
    #	coolstore-partner-common/src/main/java/com/cool/store/enums/FileTypeEnum.java
    #	coolstore-partner-model/src/main/java/com/cool/store/vo/dict/DictColumnSimpleVO.java
    #	coolstore-partner-service/src/main/java/com/cool/store/service/ExportRealizeService.java
    #	coolstore-partner-service/src/main/java/com/cool/store/service/ExportService.java
    #	coolstore-partner-service/src/main/java/com/cool/store/service/impl/ExportRealizeServiceImpl.java
    #	coolstore-partner-service/src/main/java/com/cool/store/service/impl/ExportServiceImpl.java
    #	coolstore-partner-web/src/main/java/com/cool/store/controller/webb/ExportController.java

  - feat:字典表 remark

  - feat:服务人员手机号

  - feat:价格计算调整店型优惠价*默认数量 + 原价 *(选择数量-默认数量)

  - fix:补充钱包账单推送新管家流程

  - fix:账单推送钱包支付类型payWay由1改为2

  - feat:同一配置项下只能设置一个默认选项 限制去掉

  - fix:平安钱包分账信息改为非必填

  - feat:同一配置项只能选择一个选项 限制去掉

  - feat:心愿单

  - feat:心愿单

  - feat:心愿单接口调整

  - feat:心愿单接口调整

  - feat:心愿单接口调整

  - feat:批量更新数据

  - feat:查询店型已配置的选项绑定 新增顶部预览图

  - feat:查询店型已配置的选项绑定 新增顶部预览图

  - feat:查询店型已配置的选项绑定 新增顶部预览图

  - feat:配置大类

  - feat:配置大类

  - feat:价格优化

  - feat:阶段审批处理

  - fix:删除设计费-立规

  - feat:配置大项 配置项接口改造

  - feat:配置大项 配置项接口改造

  - feat:handleAudit

  - feat:新增code

  - feat:categoryId

  - feat:心愿单接口更新

  - feat:心愿单接口更新

  - feat:心愿单接口更新

  - feat:心愿单接口更新

  - feat:心愿单接口更新

  - Merge branch 'cc_20260126_pingan_wallet' into cc_20260121_store_type
    
    # Conflicts:
    #	coolstore-partner-common/src/main/java/com/cool/store/constants/RedisConstant.java

  - Merge branch 'master' into cc_20260121_store_type
    
    # Conflicts:
    #	coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.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/52
This commit is contained in:
正新
2026-03-10 14:13:03 +00:00
parent 5c49337e1f
commit 489d72f06f
264 changed files with 13194 additions and 99 deletions

View File

@@ -2,6 +2,7 @@ package com.cool.store.dto;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.cool.store.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

View File

@@ -58,4 +58,6 @@ public class PreparationDTO {
private String storeId;
private Long investRegionId;
private Integer useStandardStore;
}

View File

@@ -0,0 +1,48 @@
package com.cool.store.dto.standardStore;
import com.cool.store.dto.region.BigRegionDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* @Auther zx_szh
* @Date 2026/2/6 16:31
* @Version 1.0
*/
@Data
public class StoreOrderDTO {
@ApiModelProperty("订单ID")
private Long orderId;
@ApiModelProperty("订单编号")
private String orderNo;
@ApiModelProperty("加盟商名字")
private String partnerName;
@ApiModelProperty("加盟商手机号")
private String partnerMobile;
@ApiModelProperty("品牌")
private String brand;
@ApiModelProperty("品牌名称")
private String brandName;
@ApiModelProperty("门店类型")
private String storeType;
@ApiModelProperty("门店类型名称")
private String storeTypeName;
@ApiModelProperty("店型名称")
private String name;
@ApiModelProperty("订单总额")
private BigDecimal totalAmount;
@ApiModelProperty("下单时间")
private Date orderTime;
@ApiModelProperty("加盟类费用总额")
private BigDecimal storeFixedAmount;
@ApiModelProperty("已支付金额")
private BigDecimal paidAmount;
@ApiModelProperty("未支付金额")
private BigDecimal unpaidAmount;
@ApiModelProperty("状态")
private Integer status;
}

View File

@@ -0,0 +1,41 @@
package com.cool.store.dto.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @Auther zx_szh
* @Date 2026/2/5 13:54
* @Version 1.0
*/
@Data
public class BatchTransferDTO {
@ApiModelProperty("交易状态1.成功 2.失败 3.处理中")
private Integer tradeStatus;
@ApiModelProperty("批量转账数据")
private List<TransDataRequest> transArray;
@Data
public static class TransDataRequest {
@ApiModelProperty("业务系统付款单号(如 CRM 单号),业务系统单号")
private String reqNo;
@ApiModelProperty("费用科目")
private Integer feeItemId;
@ApiModelProperty("公司编号")
private String companyCode;
@ApiModelProperty("公司编号绑定多个账户时,必传")
private String companyAccountCode;
@ApiModelProperty("金额(元)")
private String amount;
@ApiModelProperty("备注")
private String remark;
@ApiModelProperty("交易流水id")
private String tradeId;
}
}

View File

@@ -19,7 +19,4 @@ public class CompanyDTO {
@ApiModelProperty(value = "公司名称")
private String companyName;
@ApiModelProperty(value = "公司账户")
private String companyAccountNo;
}

View File

@@ -76,4 +76,11 @@ public class FranchiseFeeDO {
@ApiModelProperty("收银费(系统费)")
private String cashierFee;
@Column(name = "pay_type")
@ApiModelProperty("付款方式 1线下支付 2平安钱包支付")
private Integer payType;
@Column(name = "is_refund")
@ApiModelProperty("是否退款0否1是")
private Integer isRefund;
}

View File

@@ -178,6 +178,10 @@ public class LineInfoDO {
@Column(name = "join_mode")
private Integer joinMode;
@Column(name = "franchise_brand")
private String franchiseBrand;
@Column(name = "use_standard_store")
private Integer useStandardStore;
}

View File

@@ -168,6 +168,9 @@ public class ShopInfoDO {
@Column(name = "operations_consultant")
private String operationsConsultant;
@Column(name = "use_standard_store")
private Integer useStandardStore;
@Column(name = "plan_open_date")
private Date planOpenDate;

View File

@@ -0,0 +1,52 @@
package com.cool.store.entity.config;
import lombok.Data;
import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;
@Data
@Table(name = "zxjp_cfg_item_category")
public class ConfigItemCategoryDO implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "category_code")
private String categoryCode;
@Column(name = "category_name")
private String categoryName;
@Column(name = "sort_no")
private Integer sortNo;
@Column(name = "image_url")
private String imageUrl;
@Column(name = "video_url")
private String videoUrl;
@Column(name = "status")
private Integer status;
@Column(name = "is_deleted")
private Integer isDeleted;
@Column(name = "remark")
private String remark;
@Column(name = "created_user_id")
private String createdUserId;
@Column(name = "created_time")
private Date createdTime;
@Column(name = "updated_user_id")
private String updatedUserId;
@Column(name = "updated_time")
private Date updatedTime;
}

View File

@@ -0,0 +1,53 @@
package com.cool.store.entity.config;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;
@Data
@Table(name = "zxjp_cfg_item")
public class ConfigItemDO implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "item_code")
private String itemCode;
@Column(name = "item_name")
private String itemName;
@Column(name = "category_id")
private Long categoryId;
@Column(name = "sort_no")
private Integer sortNo;
@Column(name = "status")
private Integer status;
@Column(name = "is_deleted")
private Integer isDeleted;
@Column(name = "remark")
private String remark;
@Column(name = "created_user_id")
private String createdUserId;
@Column(name = "created_time")
private Date createdTime;
@Column(name = "updated_user_id")
private String updatedUserId;
@Column(name = "updated_time")
private Date updatedTime;
}

View File

@@ -0,0 +1,75 @@
package com.cool.store.entity.config;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 选项模板表
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "zxjp_config_option")
public class ConfigOptionDO implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "category_code")
private String categoryCode;
@Column(name = "item_code")
private String itemCode;
@Column(name = "option_code")
private String optionCode;
@Column(name = "option_name")
private String optionName;
@Column(name = "option_description")
private String optionDescription;
@Column(name = "option_price")
private BigDecimal optionPrice;
@Column(name = "original_option_price")
private BigDecimal originalOptionPrice;
@Column(name = "option_unit")
private String optionUnit;
@Column(name = "image_url")
private String imageUrl;
@Column(name = "video_url")
private String videoUrl;
@Column(name = "is_active")
private Boolean active;
@Column(name = "sort_order")
private Integer sortOrder;
@Column(name = "option_remark")
private String optionRemark;
@Column(name = "create_time")
private Date createTime;
@Column(name = "update_time")
private Date updateTime;
}

View File

@@ -0,0 +1,50 @@
package com.cool.store.entity.fees;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.*;
/**
* 加盟费用标准收费额配置
*/
@Table(name = "zxjp_fees_fee_standard_config")
@Data
public class FeeStandardConfigDO {
/**
* id
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
/**
* 加盟品牌:1-正新鸡排,2-正新三明治,3-正烧记4-大鼓米线,5-串小妹,6-茂掌柜
*/
@Column(name = "join_brand")
private Integer joinBrand;
/**
* 费用类型
*/
@Column(name = "expense_type")
private String expenseType;
/**
* 金额
*/
private BigDecimal amount;
/**
* 创建人id
*/
@Column(name = "create_user_id")
private String createUserId;
/**
* 创建时间
*/
@Column(name = "create_time")
private Date createTime;
}

View File

@@ -0,0 +1,80 @@
package com.cool.store.entity.fees;
import lombok.Data;
import java.util.Date;
import javax.persistence.*;
/**
* 线下收款银行配置
*/
@Table(name = "zxjp_fees_payee_bank_config")
@Data
public class PayeeBankConfigDO {
/**
* id
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
/**
* 加盟品牌:1-正新鸡排,2-正新三明治,3-正烧记4-大鼓米线,5-串小妹,6-茂掌柜
*/
@Column(name = "join_brand")
private Integer joinBrand;
/**
* 招商分部id0全部
*/
@Column(name = "invest_division_id")
private Long investDivisionId;
/**
* 付款方式,同缴纳加盟费支付方式
*/
@Column(name = "pay_type")
private Integer payType;
/**
* 收款公司名称
*/
@Column(name = "payee_name")
private String payeeName;
/**
* 收款公司code
*/
@Column(name = "payee_code")
private String payeeCode;
/**
* 收款账户
*/
@Column(name = "payee_account")
private String payeeAccount;
/**
* 收款银行
*/
@Column(name = "payee_bank")
private String payeeBank;
/**
* 收款银行开户行
*/
@Column(name = "payee_bank_branch")
private String payeeBankBranch;
/**
* 创建人id
*/
@Column(name = "create_user_id")
private String createUserId;
/**
* 创建时间
*/
@Column(name = "create_time")
private Date createTime;
}

View File

@@ -0,0 +1,91 @@
package com.cool.store.entity.fees;
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_fees_shop_allocation_info")
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class ShopAllocationInfoDO {
/**
* id
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
/**
* 门店id
*/
@Column(name = "shop_id")
private Long shopId;
/**
* 费用类型
*/
@Column(name = "expense_type")
private String expenseType;
/**
* 收款公司名称
*/
@Column(name = "payee_name")
private String payeeName;
/**
* 收款公司code
*/
@Column(name = "payee_code")
private String payeeCode;
/**
* 金额
*/
private BigDecimal amount;
/**
* 分账状态1已分账 2分账失败 3待分账
*/
private Integer status;
/**
* 分账失败原因
*/
@Column(name = "fail_reason")
private String failReason;
/**
* 创建人id
*/
@Column(name = "create_user_id")
private String createUserId;
/**
* 创建时间
*/
@Column(name = "create_time")
private Date createTime;
/**
* 更新人id
*/
@Column(name = "update_user_id")
private String updateUserId;
/**
* 更新时间
*/
@Column(name = "update_time")
private Date updateTime;
}

View File

@@ -0,0 +1,50 @@
package com.cool.store.entity.fees;
import lombok.Data;
import java.util.Date;
import javax.persistence.*;
/**
* 平安钱包分账公司配置
*/
@Table(name = "zxjp_fees_wallet_allocation_company")
@Data
public class WalletAllocationCompanyDO {
/**
* id
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
/**
* 分账公司配置id
*/
@Column(name = "config_id")
private Long configId;
/**
* 收款公司名称
*/
@Column(name = "payee_name")
private String payeeName;
/**
* 收款公司code
*/
@Column(name = "payee_code")
private String payeeCode;
/**
* 创建人id
*/
@Column(name = "create_user_id")
private String createUserId;
/**
* 创建时间
*/
@Column(name = "create_time")
private Date createTime;
}

View File

@@ -0,0 +1,50 @@
package com.cool.store.entity.fees;
import lombok.Data;
import java.util.Date;
import javax.persistence.*;
/**
* 平安钱包分账配置
*/
@Table(name = "zxjp_fees_wallet_allocation_config")
@Data
public class WalletAllocationConfigDO {
/**
* id
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
/**
* 加盟品牌:1-正新鸡排,2-正新三明治,3-正烧记4-大鼓米线,5-串小妹,6-茂掌柜
*/
@Column(name = "join_brand")
private Integer joinBrand;
/**
* 招商分部id0全部
*/
@Column(name = "invest_division_id")
private Long investDivisionId;
/**
* 费用类型
*/
@Column(name = "expense_type")
private String expenseType;
/**
* 创建人id
*/
@Column(name = "create_user_id")
private String createUserId;
/**
* 创建时间
*/
@Column(name = "create_time")
private Date createTime;
}

View File

@@ -0,0 +1,132 @@
package com.cool.store.entity.fees;
import com.cool.store.entity.wallet.WalletTradeDO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import javax.persistence.*;
/**
* 钱包加盟缴费信息
*/
@Table(name = "zxjp_fees_wallet_pay_info")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class WalletPayInfoDO {
/**
* id
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
/**
* 门店id
*/
@Column(name = "shop_id")
private Long shopId;
/**
* 业务模块
*/
@Column(name = "module")
private String module;
/**
* 付款单号
*/
@Column(name = "pay_no")
private String payNo;
/**
* 付款人
*/
@Column(name = "pay_user_name")
private String payUserName;
/**
* 付款金额
*/
@Column(name = "pay_amount")
private BigDecimal payAmount;
/**
* 交易流水号
*/
@Column(name = "trade_id")
private String tradeId;
/**
* 付款状态1已支付、2支付失败 3支付中
*/
@Column(name = "pay_status")
private Integer payStatus;
/**
* 支付时间
*/
@Column(name = "pay_time")
private Date payTime;
/**
* 认领状态0-待认领1-已认领
*/
@Column(name = "claim_status")
private Integer claimStatus;
/**
* 费用类型列表
*/
@Column(name = "expense_types")
private String expenseTypes;
/**
* 备注
*/
private String remark;
/**
* 创建人id
*/
@Column(name = "create_user_id")
private String createUserId;
/**
* 创建时间
*/
@Column(name = "create_time")
private Date createTime;
public WalletPayInfoDO(String module, Long shopId, String payNo, String payUserName, BigDecimal payAmount, String expenseType, String createUserId, String tradeId) {
this.shopId = shopId;
this.payNo = payNo;
this.payUserName = payUserName;
this.payAmount = payAmount;
this.payTime = new Date();
this.claimStatus = 0;
this.expenseTypes = expenseType;
this.createUserId = createUserId;
this.module = module;
this.tradeId = tradeId;
}
public WalletTradeDO convertToTradeDO(String module) {
WalletTradeDO walletTradeDO = new WalletTradeDO();
walletTradeDO.setModule(module);
walletTradeDO.setPayNo(this.payNo);
walletTradeDO.setTradeId(this.tradeId);
walletTradeDO.setType(1);
walletTradeDO.setPayUserName(this.payUserName);
walletTradeDO.setPayAmount(this.payAmount);
walletTradeDO.setPayStatus(this.payStatus);
walletTradeDO.setPayTime(this.payTime);
walletTradeDO.setRemark(this.remark);
walletTradeDO.setCreateUserId(this.createUserId);
return walletTradeDO;
}
}

View File

@@ -0,0 +1,47 @@
package com.cool.store.entity.modify;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
import javax.persistence.*;
/**
* 业务修改记录
*/
@Table(name = "zxjp_modify_record")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ModifyRecordDO {
/**
* id
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
/**
* 模块
*/
private String module;
/**
* 业务id
*/
@Column(name = "business_id")
private Long businessId;
/**
* 更新人id
*/
@Column(name = "update_user_id")
private String updateUserId;
/**
* 更新时间
*/
@Column(name = "update_time")
private Date updateTime;
}

View File

@@ -0,0 +1,56 @@
package com.cool.store.entity.order;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 预分账明细表
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "zxjp_pre_allocation_record")
public class PreAllocationRecordDO implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "order_id")
private Long orderId;
@Column(name = "shop_id")
private Long shopId;
@Column(name = "pay_no")
private String payNo;
@Column(name = "expense_type")
private String expenseType;
@Column(name = "payee_name")
private String payeeName;
@Column(name = "payee_code")
private String payeeCode;
@Column(name = "pay_amount")
private BigDecimal payAmount;
@Column(name = "allocation_status")
private Integer allocationStatus;
@Column(name = "create_time")
private Date createTime;
@Column(name = "update_time")
private Date updateTime;
}

View File

@@ -0,0 +1,134 @@
package com.cool.store.entity.order;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import java.math.BigDecimal;
import java.util.Date;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "zxjp_store_order")
public class StoreOrderDO {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "order_no")
private String orderNo;
@Column(name = "shop_id")
private Long shopId;
@Column(name = "line_id")
private Long lineId;
@Column(name = "partner_name")
private String partnerName;
@Column(name = "partner_mobile")
private String partnerMobile;
@Column(name = "investment_manager")
private String investmentManager;
@Column(name = "store_type_id")
private Long storeTypeId;
@Column(name = "store_type_code")
private String storeTypeCode;
@Column(name = "store_type_name")
private String storeTypeName;
@Column(name = "store_type")
private Integer storeType;
@Column(name = "brand")
private String brand;
@Column(name = "franchise_fee")
private BigDecimal franchiseFee;
@Column(name = "original_franchise_fee")
private BigDecimal originalFranchiseFee;
@Column(name = "brand_usage_fee")
private BigDecimal brandUsageFee;
@Column(name = "original_brand_usage_fee")
private BigDecimal originalBrandUsageFee;
@Column(name = "management_fee")
private BigDecimal managementFee;
@Column(name = "original_management_fee")
private BigDecimal originalManagementFee;
@Column(name = "system_usage_fee")
private BigDecimal systemUsageFee;
@Column(name = "original_system_usage_fee")
private BigDecimal originalSystemUsageFee;
@Column(name = "contract_deposit")
private BigDecimal contractDeposit;
@Column(name = "original_contract_deposit")
private BigDecimal originalContractDeposit;
@Column(name = "design_fee")
private BigDecimal designFee;
@Column(name = "original_design_fee")
private BigDecimal originalDesignFee;
@Column(name = "first_order_fee")
private BigDecimal firstOrderFee;
@Column(name = "store_fixed_amount")
private BigDecimal storeFixedAmount;
@Column(name = "original_store_fixed_amount")
private BigDecimal originalStoreFixedAmount;
@Column(name = "option_amount")
private BigDecimal optionAmount;
@Column(name = "original_option_amount")
private BigDecimal originalOptionAmount;
@Column(name = "total_amount")
private BigDecimal totalAmount;
@Column(name = "original_total_amount")
private BigDecimal originalTotalAmount;
@Column(name = "paid_amount")
private BigDecimal paidAmount;
@Column(name = "unpaid_amount")
private BigDecimal unpaidAmount;
@Column(name = "status")
private Integer status;
@Column(name = "create_time")
private Date createTime;
@Column(name = "pay_time")
private Date payTime;
@Column(name = "update_time")
private Date updateTime;
}

View File

@@ -0,0 +1,80 @@
package com.cool.store.entity.order;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import java.math.BigDecimal;
import java.util.Date;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "zxjp_store_order_option_snapshot")
public class StoreOrderOptionSnapshotDO {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "order_id")
private Long orderId;
@Column(name = "shop_id")
private Long shopId;
@Column(name = "store_type_id")
private Long storeTypeId;
@Column(name = "option_id")
private Long optionId;
@Column(name = "category_code")
private String categoryCode;
@Column(name = "item_code")
private String itemCode;
@Column(name = "option_code")
private String optionCode;
@Column(name = "option_name")
private String optionName;
@Column(name = "option_price")
private BigDecimal optionPrice;
@Column(name = "original_option_price")
private BigDecimal originalOptionPrice;
@Column(name = "option_remark")
private String optionRemark;
@Column(name = "image_url")
private String imageUrl;
@Column(name = "video_url")
private String videoUrl;
@Column(name = "quantity")
private BigDecimal quantity;
@Column(name = "amount")
private BigDecimal amount;
@Column(name = "original_amount")
private BigDecimal originalAmount;
@Column(name = "create_time")
private Date createTime;
@Column(name = "option_unit")
private String optionUnit;
}

View File

@@ -0,0 +1,53 @@
package com.cool.store.entity.order;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import java.math.BigDecimal;
import java.util.Date;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "zxjp_store_wishlist")
public class StoreWishlistDO {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "line_id")
private Long lineId;
@Column(name = "store_type_id")
private Long storeTypeId;
@Column(name = "option_id")
private Long optionId;
@Column(name = "quantity")
private BigDecimal quantity;
@Column(name = "total_amount")
private BigDecimal totalAmount;
@Column(name = "version_no")
private String versionNo;
@Column(name = "deleted")
private Integer deleted;
@Column(name = "create_time")
private Date createTime;
@Column(name = "update_time")
private Date updateTime;
}

View File

@@ -0,0 +1,129 @@
package com.cool.store.entity.store;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 店型主表
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "zxjp_store_type")
public class StoreTypeDO implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
/** 店型编码 */
@Column(name = "store_type_code")
private String storeTypeCode;
/** 店型名称 */
@Column(name = "store_type_name")
private String storeTypeName;
/** 品牌 */
private String brand;
/** 门店类型 */
@Column(name = "store_type")
private Integer storeType;
/** 店型描述 */
private String description;
/** 主图 */
@Column(name = "image_url")
private String imageUrl;
/** 视频 */
@Column(name = "video_url")
private String videoUrl;
/** 720°VR */
@Column(name = "vr_video_url")
private String vrVideoUrl;
/** 加盟费 */
@Column(name = "franchise_fee")
private BigDecimal franchiseFee;
/** 加盟费原价 */
@Column(name = "original_franchise_fee")
private BigDecimal originalFranchiseFee;
/** 品牌使用费 */
@Column(name = "brand_usage_fee")
private BigDecimal brandUsageFee;
/** 品牌使用费原价 */
@Column(name = "original_brand_usage_fee")
private BigDecimal originalBrandUsageFee;
/** 管理费 */
@Column(name = "management_fee")
private BigDecimal managementFee;
/** 管理费原价 */
@Column(name = "original_management_fee")
private BigDecimal originalManagementFee;
/** 系统使用费 */
@Column(name = "system_usage_fee")
private BigDecimal systemUsageFee;
/** 系统使用费原价 */
@Column(name = "original_system_usage_fee")
private BigDecimal originalSystemUsageFee;
/** 合同保证金 */
@Column(name = "contract_deposit")
private BigDecimal contractDeposit;
/** 合同保证金原价 */
@Column(name = "original_contract_deposit")
private BigDecimal originalContractDeposit;
/** 系统设计费 */
@Column(name = "design_fee")
private BigDecimal designFee;
/** 系统设计费原价 */
@Column(name = "original_design_fee")
private BigDecimal originalDesignFee;
/**
* 首次订货费用
*/
@Column(name = "first_order_fee")
private BigDecimal firstOrderFee;
/** 排序 */
@Column(name = "sort_order")
private Integer sortOrder;
/** 是否启用 */
@Column(name = "is_active")
private Boolean active;
/** 删除标识 */
private Boolean deleted;
/** 创建时间 */
@Column(name = "create_time")
private Date createTime;
/** 更新时间 */
@Column(name = "update_time")
private Date updateTime;
}

View File

@@ -0,0 +1,65 @@
package com.cool.store.entity.store;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 店型-选项映射表
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "zxjp_store_type_option")
public class StoreTypeOptionDO implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "store_type_id")
private Long storeTypeId;
@Column(name = "option_id")
private Long optionId;
@Column(name = "category_code")
private String categoryCode;
@Column(name = "item_code")
private String itemCode;
@Column(name = "is_default")
private Integer isDefault;
@Column(name = "default_quantity")
private BigDecimal defaultQuantity;
@Column(name = "allow_quantity_edit")
private Integer allowQuantityEdit;
@Column(name = "is_visible")
private Integer visible;
@Column(name = "sort_order")
private Integer sortOrder;
@Column(name = "option_price")
private BigDecimal optionPrice;
@Column(name = "top_preview_image" )
private String topPreviewImage;
@Column(name = "create_time")
private Date createTime;
@Column(name = "update_time")
private Date updateTime;
}

View File

@@ -0,0 +1,63 @@
package com.cool.store.entity.visit;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;
/**
* 预约到店
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "zxjp_store_visit_reservation")
public class StoreVisitReservationDO {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "intent_city_id")
private Long intentCityId;
@Column(name = "contact_name")
private String contactName;
private String mobile;
@Column(name = "visit_time")
private Date visitTime;
/**
* 10-待确认 20-待看店 30-已到店 40-已取消
*/
private Integer status;
private String remark;
@Column(name = "cancel_reason")
private String cancelReason;
@Column(name = "current_follow_user")
private String currentFollowUser;
@Column(name = "service_user_id")
private String serviceUserId;
@Column(name = "create_time")
private Date createTime;
@Column(name = "update_time")
private Date updateTime;
private Integer deleted;
}

View File

@@ -0,0 +1,88 @@
package com.cool.store.entity.wallet;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.*;
/**
* 钱包交易单
*/
@Table(name = "zxjp_wallet_trade")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class WalletTradeDO {
/**
* id
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
/**
* 业务模块
*/
private String module;
/**
* 单号
*/
@Column(name = "pay_no")
private String payNo;
/**
* 交易流水号
*/
@Column(name = "trade_id")
private String tradeId;
/**
* 交易类型1转账
*/
private Integer type;
/**
* 付款人
*/
@Column(name = "pay_user_name")
private String payUserName;
/**
* 付款金额
*/
@Column(name = "pay_amount")
private BigDecimal payAmount;
/**
* 付款状态1已支付、2支付失败、3支付中
*/
@Column(name = "pay_status")
private Integer payStatus;
/**
* 支付时间
*/
@Column(name = "pay_time")
private Date payTime;
/**
* 备注
*/
private String remark;
/**
* 创建人id
*/
@Column(name = "create_user_id")
private String createUserId;
/**
* 创建时间
*/
@Column(name = "create_time")
private Date createTime;
}

View File

@@ -51,6 +51,9 @@ public class AddBranchShopRequest {
@ApiModelProperty("招商所属区域 20251224新增")
private Long investRegionId;
@ApiModelProperty("使用标准店1-是 0-否")
private Integer useStandardStore;
public ShopInfoDO toDO(AddBranchShopRequest request, LineInfoDO lineInfo) {
ShopInfoDO shopInfoDO = new ShopInfoDO();
shopInfoDO.setLineId(request.getLineId());
@@ -69,6 +72,7 @@ public class AddBranchShopRequest {
shopInfoDO.setFranchiseBrand(request.getFranchiseBrand());
shopInfoDO.setManagerRegionId(request.getManagerRegionId());
shopInfoDO.setInvestRegionId(request.getInvestRegionId());
shopInfoDO.setUseStandardStore(request.getUseStandardStore());
return shopInfoDO;
}
}

View File

@@ -1,11 +1,13 @@
package com.cool.store.request;
import com.cool.store.entity.FranchiseFeeDO;
import io.swagger.annotations.ApiModel;
import com.cool.store.request.fees.ShopAllocationInfoRequest;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import java.util.Date;
import java.util.List;
@Data
public class FranchiseFeeRequest {
@@ -47,6 +49,10 @@ public class FranchiseFeeRequest {
@ApiModelProperty("收银费(系统费)(三明治使用)")
private String cashierFee;
@ApiModelProperty("平安钱包分账信息")
// @NotEmpty(message = "平安钱包分账信息不能为空")
private List<ShopAllocationInfoRequest> shopAllocationInfoList;
public FranchiseFeeDO toFranchiseFeeDO() {
FranchiseFeeDO franchiseFeeDO = new FranchiseFeeDO();
franchiseFeeDO.setShopId(this.shopId);

View File

@@ -0,0 +1,25 @@
package com.cool.store.request;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* <p>
* 加盟费支付方式修改Request
* </p>
*
* @author wangff
* @since 2026/1/28
*/
@Data
public class FranchisePayTypeUpdateRequest {
@ApiModelProperty("门店id")
@NotNull(message = "门店id不能为空")
private Long shopId;
@ApiModelProperty("支付方式1线下支付 2平安钱包支付")
@NotNull(message = "支付方式不能为空")
private Integer payType;
}

View File

@@ -8,6 +8,7 @@ import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Data
public class JoinIntentionRequest {
@@ -123,6 +124,10 @@ public class JoinIntentionRequest {
@ApiModelProperty("是否愿意驻点大于等于90小时")
private Integer willingStationDuration;
@ApiModelProperty
@NotNull
private Integer useStandardStore;
public LineInfoDO toLineInfoDO() {

View File

@@ -0,0 +1,15 @@
package com.cool.store.request.config;
import com.cool.store.common.PageBasicInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class ConfigItemCategoryQueryRequest extends PageBasicInfo {
@ApiModelProperty("配置大类名称(模糊)")
private String categoryName;
@ApiModelProperty("状态:1启用,0禁用")
private Integer status = 1;
}

View File

@@ -0,0 +1,40 @@
package com.cool.store.request.config;
import com.cool.store.common.InsertGroup;
import com.cool.store.common.UpdateGroup;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Data
public class ConfigItemCategoryUpdateRequest {
@ApiModelProperty("主键ID")
@NotNull(message = "ID不能为空", groups = UpdateGroup.class)
private Long id;
@ApiModelProperty("配置大类编码")
private String categoryCode;
@ApiModelProperty("配置大类名称")
@NotBlank(message = "配置大类名称不能为空", groups = {InsertGroup.class, UpdateGroup.class})
private String categoryName;
@ApiModelProperty("显示排序")
@NotNull(message = "显示排序不能为空", groups = {InsertGroup.class, UpdateGroup.class})
private Integer sortNo;
@ApiModelProperty("图片URL")
private String imageUrl;
@ApiModelProperty("视频URL")
private String videoUrl;
@ApiModelProperty("状态:1启用,0禁用")
private Integer status;
@ApiModelProperty("备注")
private String remark;
}

View File

@@ -0,0 +1,21 @@
package com.cool.store.request.config;
import com.cool.store.common.PageBasicInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class ConfigItemQueryRequest extends PageBasicInfo {
@ApiModelProperty("配置项名称(模糊)")
private String itemName;
@ApiModelProperty("配置项编码")
private String itemCode;
@ApiModelProperty("配置大类ID")
private Long categoryId;
@ApiModelProperty("状态:1启用,0禁用")
private Integer status = 1;
}

View File

@@ -0,0 +1,38 @@
package com.cool.store.request.config;
import com.cool.store.common.InsertGroup;
import com.cool.store.common.UpdateGroup;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Data
public class ConfigItemUpdateRequest {
@ApiModelProperty("主键ID")
@NotNull(message = "ID不能为空", groups = UpdateGroup.class)
private Long id;
@ApiModelProperty("配置项编码")
private String itemCode;
@ApiModelProperty("配置项名称")
@NotBlank(message = "配置项名称不能为空", groups = {InsertGroup.class, UpdateGroup.class})
private String itemName;
@ApiModelProperty("配置大类ID")
@NotNull(message = "配置大类ID不能为空", groups = {InsertGroup.class, UpdateGroup.class})
private Long categoryId;
@ApiModelProperty("显示排序")
@NotNull(message = "显示排序不能为空", groups = {InsertGroup.class, UpdateGroup.class})
private Integer sortNo;
@ApiModelProperty("状态:1启用,0禁用")
private Integer status;
@ApiModelProperty("备注")
private String remark;
}

View File

@@ -0,0 +1,21 @@
package com.cool.store.request.config;
import com.cool.store.common.PageBasicInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class ConfigOptionQueryRequest extends PageBasicInfo {
@ApiModelProperty("配置类型编码")
private String categoryCode;
@ApiModelProperty("配置项编码")
private String itemCode;
@ApiModelProperty("是否启用 1-启用 0未启用 ")
private Integer active = 1;
@ApiModelProperty("选项名称(模糊)")
private String optionName;
}

View File

@@ -0,0 +1,17 @@
package com.cool.store.request.config;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class ConfigOptionTreeQueryRequest {
@ApiModelProperty("配置类型字典表id固定传 10")
private Long typeDictTableId;
@ApiModelProperty("配置项字典表id固定传 11")
private Long itemDictTableId;
@ApiModelProperty("选项名称(模糊)")
private String optionName;
}

View File

@@ -0,0 +1,57 @@
package com.cool.store.request.config;
import com.cool.store.common.InsertGroup;
import com.cool.store.common.UpdateGroup;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
@Data
public class ConfigOptionUpdateRequest {
@ApiModelProperty("主键ID")
@NotNull(message = "ID不能为空", groups = UpdateGroup.class)
private Long id;
@ApiModelProperty("配置类型编码")
@NotBlank(message = "配置类型编码不能为空", groups = {InsertGroup.class, UpdateGroup.class})
private String categoryCode;
@ApiModelProperty("配置项编码")
@NotBlank(message = "配置项编码不能为空", groups = {InsertGroup.class, UpdateGroup.class})
private String itemCode;
@ApiModelProperty("选项编码")
private String optionCode;
@ApiModelProperty("选项单位")
private String optionUnit;
@ApiModelProperty("选项名称")
@NotBlank(message = "选项名称不能为空", groups = {InsertGroup.class, UpdateGroup.class})
private String optionName;
@ApiModelProperty("选项描述")
@NotBlank(message = "选项描述不能为空", groups = {InsertGroup.class, UpdateGroup.class})
private String optionDescription;
@ApiModelProperty("售价")
@NotNull(message = "售价不能为空", groups = {InsertGroup.class, UpdateGroup.class})
private BigDecimal optionPrice;
@ApiModelProperty("原价")
private BigDecimal originalOptionPrice;
@ApiModelProperty("图片")
@NotBlank(message = "图片不能为空", groups = {InsertGroup.class, UpdateGroup.class})
private String imageUrl;
@ApiModelProperty("视频")
private String videoUrl;
@ApiModelProperty("排序")
@NotNull(message = "排序不能为空", groups = {InsertGroup.class, UpdateGroup.class})
private Integer sortOrder;
@ApiModelProperty("配置项选项明细")
private String optionRemark;
}

View File

@@ -0,0 +1,36 @@
package com.cool.store.request.fees;
import com.cool.store.common.InsertGroup;
import com.cool.store.common.UpdateGroup;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.Digits;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
/**
* 加盟费用标准收费额配置 新增/修改请求
*/
@Data
public class FeeStandardConfigAddRequest {
@ApiModelProperty("配置id")
@NotNull(message = "配置id不能为空", groups = {UpdateGroup.class})
private Long id;
@ApiModelProperty(value = "加盟品牌", required = true)
@NotNull(message = "加盟品牌不能为空", groups = {InsertGroup.class, UpdateGroup.class})
private Integer joinBrand;
@ApiModelProperty(value = "费用类型", required = true)
@NotNull(message = "费用类型不能为空", groups = {InsertGroup.class, UpdateGroup.class})
private String expenseType;
@ApiModelProperty(value = "金额", required = true)
@Digits(integer = 10, fraction = 2, message = "金额整数位最多10位小数位最多2位")
@NotNull(message = "金额不能为空", groups = {InsertGroup.class, UpdateGroup.class})
private BigDecimal amount;
}

View File

@@ -0,0 +1,22 @@
package com.cool.store.request.fees;
import com.cool.store.common.PageBasicInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 加盟费用标准收费额配置 分页查询请求
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class FeeStandardConfigPageRequest extends PageBasicInfo {
@ApiModelProperty("加盟品牌")
private Integer joinBrand;
@ApiModelProperty("费用类型")
private String expenseType;
}

View File

@@ -0,0 +1,53 @@
package com.cool.store.request.fees;
import com.cool.store.common.InsertGroup;
import com.cool.store.common.UpdateGroup;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* 线下收款银行配置 新增/编辑 Request
*/
@Data
public class PayeeBankConfigAddRequest {
@ApiModelProperty("配置id编辑必传")
@NotNull(message = "id不能为空", groups = {UpdateGroup.class})
private Long id;
@ApiModelProperty(value = "加盟品牌", required = true)
@NotNull(message = "加盟品牌不能为空", groups = {InsertGroup.class, UpdateGroup.class})
private Integer joinBrand;
@ApiModelProperty(value = "招商分部id0表示全部", required = true)
@NotNull(message = "招商分部id不能为空", groups = {InsertGroup.class, UpdateGroup.class})
private Long investDivisionId;
@ApiModelProperty(value = "付款方式,同缴纳加盟费支付方式", required = true)
@NotNull(message = "付款方式不能为空", groups = {InsertGroup.class, UpdateGroup.class})
private Integer payType;
@ApiModelProperty(value = "收款公司名称", required = true)
@NotBlank(message = "收款公司名称不能为空", groups = {InsertGroup.class, UpdateGroup.class})
private String payeeName;
@ApiModelProperty(value = "收款公司code", required = true)
@NotBlank(message = "收款公司code不能为空", groups = {InsertGroup.class, UpdateGroup.class})
private String payeeCode;
@ApiModelProperty(value = "收款账户", required = true)
@NotBlank(message = "收款账户不能为空", groups = {InsertGroup.class, UpdateGroup.class})
private String payeeAccount;
@ApiModelProperty(value = "收款银行", required = true)
@NotBlank(message = "收款银行不能为空", groups = {InsertGroup.class, UpdateGroup.class})
private String payeeBank;
@ApiModelProperty(value = "收款银行开户行", required = true)
@NotBlank(message = "收款银行开户行不能为空", groups = {InsertGroup.class, UpdateGroup.class})
private String payeeBankBranch;
}

View File

@@ -0,0 +1,24 @@
package com.cool.store.request.fees;
import com.cool.store.common.PageBasicInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 线下收款银行配置 查询Request
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class PayeeBankConfigPageRequest extends PageBasicInfo {
@ApiModelProperty("加盟品牌")
private Integer joinBrand;
@ApiModelProperty("招商分部id")
private Long investDivisionId;
@ApiModelProperty("付款方式")
private Integer payType;
}

View File

@@ -0,0 +1,40 @@
package com.cool.store.request.fees;
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 2026/1/30
*/
@Data
public class ShopAllocationInfoRequest {
@ApiModelProperty("id")
private Long id;
@ApiModelProperty("费用类型")
@NotBlank(message = "费用类型不能为空")
private String expenseType;
@ApiModelProperty("收款公司名称")
@NotBlank(message = "收款公司名称不能为空")
private String payeeName;
@ApiModelProperty("收款公司code")
@NotBlank(message = "收款公司code不能为空")
private String payeeCode;
@ApiModelProperty("金额")
@Digits(integer = 10, fraction = 2, message = "金额整数位最多10位小数位最多2位")
@NotNull(message = "金额不能为空")
private BigDecimal amount;
}

View File

@@ -0,0 +1,25 @@
package com.cool.store.request.fees;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* <p>
* 收款公司Request
* </p>
*
* @author wangff
* @since 2026/1/27
*/
@Data
public class WalletAllocationCompanyRequest {
@ApiModelProperty(value = "收款公司名称", required = true)
@NotNull(message = "收款公司名称不能为空")
private String payeeName;
@ApiModelProperty(value = "收款公司code", required = true)
@NotNull(message = "收款公司code不能为空")
private String payeeCode;
}

View File

@@ -0,0 +1,39 @@
package com.cool.store.request.fees;
import com.cool.store.common.InsertGroup;
import com.cool.store.common.UpdateGroup;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* 分账配置新增Request
*
* @author system
*/
@Data
public class WalletAllocationConfigAddRequest {
@ApiModelProperty(value = "配置id", required = true)
@NotNull(message = "配置id不能为空", groups = {UpdateGroup.class})
private Long id;
@ApiModelProperty(value = "加盟品牌:1-正新鸡排,2-正新三明治,3-正烧记4-大鼓米线,5-串小妹,6-茂掌柜", required = true)
@NotNull(message = "加盟品牌不能为空", groups = {InsertGroup.class, UpdateGroup.class})
private Integer joinBrand;
@ApiModelProperty(value = "招商分部id0表示全部", required = true)
@NotNull(message = "招商分部id不能为空", groups = {InsertGroup.class, UpdateGroup.class})
private Long investDivisionId;
@ApiModelProperty(value = "费用类型字典表expense_type", required = true)
@NotNull(message = "费用类型不能为空", groups = {InsertGroup.class, UpdateGroup.class})
private String expenseType;
@ApiModelProperty(value = "分账公司配置列表", required = true)
@NotEmpty(message = "分账公司配置列表不能为空", groups = {InsertGroup.class, UpdateGroup.class})
private List<WalletAllocationCompanyRequest> companyList;
}

View File

@@ -0,0 +1,26 @@
package com.cool.store.request.fees;
import com.cool.store.common.PageBasicInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 分账配置分页查询Request
*
* @author system
*/
@Data
public class WalletAllocationConfigPageRequest extends PageBasicInfo {
@ApiModelProperty("加盟品牌:1-正新鸡排,2-正新三明治,3-正烧记4-大鼓米线,5-串小妹,6-茂掌柜")
private Integer joinBrand;
@ApiModelProperty("招商分部id")
private Long investDivisionId;
@ApiModelProperty("费用类型")
private Integer expenseType;
@ApiModelProperty("收款公司code")
private String payeeCode;
}

View File

@@ -0,0 +1,21 @@
package com.cool.store.request.fees;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* <p>
* 钱包取消支付Request
* </p>
*
* @author wangff
* @since 2026/2/6
*/
@Data
public class WalletCancelPayRequest {
@ApiModelProperty("缴费信息id")
@NotNull(message = "缴费信息id不能为空")
private Long payInfoId;
}

View File

@@ -0,0 +1,22 @@
package com.cool.store.request.fees;
import com.cool.store.common.PageBasicInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* <p>
* 收款公司查询Request
* </p>
*
* @author wangff
* @since 2026/1/27
*/
@Data
public class WalletCompanyQueryRequest extends PageBasicInfo {
@ApiModelProperty("公司名称")
private String companyName;
@ApiModelProperty("公司code")
private String companyCode;
}

View File

@@ -0,0 +1,40 @@
package com.cool.store.request.fees;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.Digits;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;
/**
* <p>
* 钱包支付Request
* </p>
*
* @author wangff
* @since 2026/1/30
*/
@Data
public class WalletPayRequest {
@ApiModelProperty("门店id")
@NotNull(message = "门店id不能为空")
private Long shopId;
@ApiModelProperty("费用类型code列表")
@NotEmpty(message = "费用类型code列表不能为空")
private List<String> expenseTypes;
@ApiModelProperty("总金额")
@Digits(integer = 10, fraction = 2, message = "金额整数位最多10位小数位最多2位")
@NotNull(message = "总金额不能为空")
private BigDecimal amount;
@ApiModelProperty("支付密码(sm3加密后字符串)")
@NotBlank(message = "支付密码不能为空")
private String payPwd;
}

View File

@@ -0,0 +1,26 @@
package com.cool.store.request.fees;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* <p>
* 钱包重新支付Request
* </p>
*
* @author wangff
* @since 2026/2/6
*/
@Data
public class WalletRepayRequest {
@ApiModelProperty("缴费信息id")
@NotNull(message = "缴费信息id不能为空")
private Long payInfoId;
@ApiModelProperty("支付密码(sm3加密后字符串)")
@NotBlank(message = "支付密码不能为空")
private String payPwd;
}

View File

@@ -0,0 +1,34 @@
package com.cool.store.request.order;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;
@Data
public class MiniStoreOrderCreateRequest {
@ApiModelProperty(value = "门店ID", required = true)
@NotNull(message = "门店ID不能为空")
private Long shopId;
@ApiModelProperty(value = "店型ID", required = true)
@NotNull(message = "店型ID不能为空")
private Long storeTypeId;
@ApiModelProperty("选中的配置选项列表")
private List<SelectedOption> selectedOptions;
@Data
public static class SelectedOption {
@ApiModelProperty(value = "选项ID", required = true)
@NotNull(message = "选项ID不能为空")
private Long optionId;
@ApiModelProperty("数量")
@NotNull(message ="数量不能为空")
private BigDecimal quantity;
}
}

View File

@@ -0,0 +1,15 @@
package com.cool.store.request.order;
import com.cool.store.common.PageBasicInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class MiniStoreOrderLineQueryRequest extends PageBasicInfo {
@ApiModelProperty("加盟商ID(line_id)")
private Long lineId;
@ApiModelProperty("订单状态")
private Integer status;
}

View File

@@ -0,0 +1,29 @@
package com.cool.store.request.order;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
/**
* @Auther zx_szh
* @Date 2026/2/5
* @Version 1.0
*/
@Data
public class MiniStoreOrderPayRequest {
@ApiModelProperty(value = "订单ID", required = true)
@NotNull
private Long orderId;
@ApiModelProperty( value = "支付密码", required = true)
@NotBlank
private String payPwd;
@ApiModelProperty(value = "支付金额", required = true)
@NotNull
private BigDecimal amount;
}

View File

@@ -0,0 +1,15 @@
package com.cool.store.request.order;
import com.cool.store.common.PageBasicInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class MiniStoreOrderQueryRequest extends PageBasicInfo {
@ApiModelProperty("门店ID")
private Long shopId;
@ApiModelProperty("订单状态0待确认/1已确认/2已取消/3已支付")
private Integer status;
}

View File

@@ -0,0 +1,17 @@
package com.cool.store.request.order;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Auther zx_szh
* @Date 2026/2/3 14:24
* @Version 1.0
*/
@Data
public class MiniStoreOrderRequest {
@ApiModelProperty(name = "订单ID")
private Long orderId;
}

View File

@@ -0,0 +1,28 @@
package com.cool.store.request.order;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.util.List;
@Data
public class MiniStoreOrderUpdateRequest {
@ApiModelProperty(value = "订单ID", required = true)
@NotNull(message = "订单ID不能为空")
private Long orderId;
@ApiModelProperty(value = "门店ID", required = true)
@NotNull(message = "门店ID不能为空")
private Long shopId;
@ApiModelProperty(value = "店型ID", required = true)
@NotNull(message = "店型ID不能为空")
private Long storeTypeId;
@ApiModelProperty("选中的配置选项列表")
@Valid
private List<MiniStoreOrderCreateRequest.SelectedOption> selectedOptions;
}

View File

@@ -0,0 +1,26 @@
package com.cool.store.request.order;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* @Auther zx_szh
* @Date 2026/3/10 19:23
* @Version 1.0
*/
@Data
public class MiniStoreWishlistDelRequest {
@ApiModelProperty("店型ID")
@NotNull
private Long storeTypeId;
@ApiModelProperty("版本号")
@NotBlank
private String versionNo;
}

View File

@@ -0,0 +1,11 @@
package com.cool.store.request.order;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class MiniStoreWishlistListRequest {
@ApiModelProperty("店型ID可选")
private Long storeTypeId;
}

View File

@@ -0,0 +1,33 @@
package com.cool.store.request.order;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;
@Data
public class MiniStoreWishlistSaveRequest {
@ApiModelProperty("版本号")
private String versionNo;
@ApiModelProperty(value = "店型ID", required = true)
@NotNull(message = "店型ID不能为空")
private Long storeTypeId;
@ApiModelProperty("选中的配置选项列表")
private List<SelectedOption> selectedOptions;
@Data
public static class SelectedOption {
@ApiModelProperty(value = "选项ID", required = true)
@NotNull(message = "选项ID不能为空")
private Long optionId;
@ApiModelProperty(value = "数量", required = true)
@NotNull(message = "数量不能为空")
private BigDecimal quantity;
}
}

View File

@@ -0,0 +1,26 @@
package com.cool.store.request.order;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Auther zx_szh
* @Date 2026/2/7 14:32
* @Version 1.0
*/
@Data
public class OrderAuditRecordRequest {
@ApiModelProperty("订单ID")
private Long orderId;
@ApiModelProperty("状态 1-通过 2-拒绝")
private Integer status;
@ApiModelProperty("备注")
private String remark;
}

View File

@@ -0,0 +1,35 @@
package com.cool.store.request.order;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.Valid;
import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;
@Data
public class PCStoreOrderOptionQuantityUpdateRequest {
@ApiModelProperty(value = "订单ID", required = true)
@NotNull(message = "订单ID不能为空")
private Long orderId;
@ApiModelProperty(value = "配置项列表", required = true)
@Valid
@NotNull(message = "配置项列表不能为空")
private List<SelectedOption> selectedOptions;
@Data
public static class SelectedOption {
@ApiModelProperty(value = "配置项ID", required = true)
@NotNull(message = "配置项ID不能为空")
private Long optionId;
@ApiModelProperty(value = "数量", required = true)
@NotNull(message = "数量不能为空")
@DecimalMin(value = "0.01", message = "数量必须大于0")
private BigDecimal quantity;
}
}

View File

@@ -0,0 +1,44 @@
package com.cool.store.request.order;
import com.cool.store.common.PageBasicInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* PC端-标准店订单列表查询
*/
@Data
public class PCStoreOrderQueryRequest extends PageBasicInfo {
@ApiModelProperty("订单号(模糊)")
private String orderNo;
@ApiModelProperty("加盟商姓名(模糊)")
private String partnerName;
@ApiModelProperty("手机号(模糊)")
private String partnerMobile;
@ApiModelProperty("品牌")
private String brand;
@ApiModelProperty("店型ID")
private Long storeTypeId;
@ApiModelProperty("下单开始时间")
private Date orderTimeStart;
@ApiModelProperty("下单结束时间")
private Date orderTimeEnd;
@ApiModelProperty("支付开始时间")
private Date payTimeStart;
@ApiModelProperty("支付结束时间")
private Date payTimeEnd;
@ApiModelProperty("订单状态")
private Integer status;
}

View File

@@ -0,0 +1,18 @@
package com.cool.store.request.store;
import com.cool.store.common.PageBasicInfo;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @Auther zx_szh
* @Date 2026/2/4 16:00
* @Version 1.0
*/
@Data
public class PreAllocationQueryShopRequest extends PageBasicInfo {
@NotNull
Long shopId;
Integer allocationStatus;
}

View File

@@ -0,0 +1,37 @@
package com.cool.store.request.store;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;
/**
* @Auther zx_szh
* @Date 2026/2/4 15:59
* @Version 1.0
*/
@Data
public class PreAllocationSaveRequest {
@NotNull
@ApiModelProperty("订单ID")
Long orderId;
@NotNull
@ApiModelProperty("门店ID")
Long shopId;
@Valid
List<PreAllocationItem> items;
@Data public static class PreAllocationItem{
@ApiModelProperty("缴费类型")
String expenseType;
@ApiModelProperty("公司名称")
String payeeName;
@ApiModelProperty("公司COde")
String payeeCode;
@ApiModelProperty("分账金额")
@NotNull
BigDecimal payAmount;
}
}

View File

@@ -0,0 +1,46 @@
package com.cool.store.request.store;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @Auther zx_szh
* @Date 2026/2/6 16:14
* @Version 1.0
*/
@Data
public class StoreOrderQueryRequest {
@ApiModelProperty("订单号")
private String orderNo;
@ApiModelProperty("加盟商名字")
private String partnerName;
@ApiModelProperty("加盟商手机号")
private String partnerMobile;
@ApiModelProperty("品牌")
private String brand;
@ApiModelProperty("店型ID")
private Long storeTypeId;
@ApiModelProperty("订单下单开始时间")
private Date orderStartTime;
@ApiModelProperty("订单下单结束时间")
private Date orderEndTime;
@ApiModelProperty("支付开始时间")
private Date payStartTime;
@ApiModelProperty("支付结束时间")
private Date payEndTime;
@ApiModelProperty("订单状态")
private Integer orderStatus;
}

View File

@@ -0,0 +1,13 @@
package com.cool.store.request.store;
import com.cool.store.common.PageBasicInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class StoreTypeOptionQueryRequest extends PageBasicInfo {
@ApiModelProperty("店型ID")
private Long storeTypeId;
@ApiModelProperty("配置项编码")
private String itemCode;
}

View File

@@ -0,0 +1,56 @@
package com.cool.store.request.store;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;
/**
* 店型配置选项保存请求
*/
@Data
@ApiModel(description = "店型配置选项保存请求")
public class StoreTypeOptionSaveRequest {
@ApiModelProperty(value = "店型ID", required = true, example = "1")
@NotNull(message = "店型ID不能为空")
private Long storeTypeId;
@ApiModelProperty("店型可选项配置列表")
private List<StoreTypeOptionItemRequest> options;
@Data
@ApiModel(description = "店型选项项配置")
public static class StoreTypeOptionItemRequest {
@ApiModelProperty(value = "配置选项ID", required = true, example = "1001")
@NotNull(message = "选项ID不能为空")
private Long optionId;
@ApiModelProperty(value = "配置类型编码", example = "DECOR")
private String categoryCode;
@ApiModelProperty(value = "配置项编码", example = "DOOR")
private String itemCode;
@ApiModelProperty(value = "是否默认选中0-否 1-是", example = "1")
private Integer isDefault;
@ApiModelProperty(value = "默认数量", example = "1.20")
private BigDecimal defaultQuantity;
@ApiModelProperty(value = "是否允许编辑数量0-否 1-是", example = "1")
private Integer allowQuantityEdit;
@ApiModelProperty(value = "排序号", example = "10")
private Integer sortOrder;
@ApiModelProperty("店型内-配置项单价")
private BigDecimal optionPrice;
@ApiModelProperty("顶部预览图")
private String topPreviewImage;
}
}

View File

@@ -0,0 +1,21 @@
package com.cool.store.request.store;
import com.cool.store.common.PageBasicInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 店型分页查询
*/
@Data
public class StoreTypeQueryRequest extends PageBasicInfo {
@ApiModelProperty("店型名称/店型编码")
private String keyword;
@ApiModelProperty("品牌")
private String brand;
@ApiModelProperty("是否启用")
private Boolean active;
}

View File

@@ -0,0 +1,85 @@
package com.cool.store.request.store;
import com.cool.store.common.InsertGroup;
import com.cool.store.common.UpdateGroup;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
/**
* 店型新增/编辑请求
*/
@Data
public class StoreTypeUpdateRequest {
@ApiModelProperty("主键ID")
@NotNull(message = "ID不能为空", groups = UpdateGroup.class)
private Long id;
@ApiModelProperty("店型名称")
@NotBlank(message = "店型名称不能为空", groups = {InsertGroup.class, UpdateGroup.class})
private String storeTypeName;
@ApiModelProperty("品牌")
private String brand;
@ApiModelProperty("门店类型")
private Integer storeType;
@ApiModelProperty("店型描述")
private String description;
@ApiModelProperty("主图")
private String imageUrl;
@ApiModelProperty("视频")
private String videoUrl;
@ApiModelProperty("VR视频")
private String vrVideoUrl;
@ApiModelProperty("加盟费-折扣后金额")
private BigDecimal franchiseFee;
@ApiModelProperty("原加盟费")
private BigDecimal originalFranchiseFee;
@ApiModelProperty("品牌使用费-折扣后金额")
private BigDecimal brandUsageFee;
@ApiModelProperty("原品牌使用费")
private BigDecimal originalBrandUsageFee;
@ApiModelProperty("管理费-折扣后金额")
private BigDecimal managementFee;
@ApiModelProperty("原管理费")
private BigDecimal originalManagementFee;
@ApiModelProperty("系统使用费")
private BigDecimal systemUsageFee;
@ApiModelProperty("原系统使用费")
private BigDecimal originalSystemUsageFee;
@ApiModelProperty("合同保证金")
private BigDecimal contractDeposit;
@ApiModelProperty("原合同保证金")
private BigDecimal originalContractDeposit;
@ApiModelProperty("首次订货费用")
private BigDecimal firstOrderFee;
@ApiModelProperty("设计费-折扣后费")
private BigDecimal designFee;
@ApiModelProperty("设计费")
private BigDecimal originalDesignFee;
@ApiModelProperty("排序")
private Integer sortOrder;
}

View File

@@ -0,0 +1,29 @@
package com.cool.store.request.visit;
import com.cool.store.common.PageBasicInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
public class StoreVisitReservationAdminQueryRequest extends PageBasicInfo {
@ApiModelProperty("状态")
private Integer status;
@ApiModelProperty("姓名")
private String contactName;
@ApiModelProperty("手机号")
private String mobile;
@ApiModelProperty("服务人员")
private String serviceUserId;
@ApiModelProperty("预约时间起")
private Date visitStartTime;
@ApiModelProperty("预约时间止")
private Date visitEndTime;
}

View File

@@ -0,0 +1,19 @@
package com.cool.store.request.visit;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Data
public class StoreVisitReservationAssignServiceRequest {
@ApiModelProperty("预约ID")
@NotNull(message = "预约ID不能为空")
private Long id;
@ApiModelProperty("服务人员ID")
@NotBlank(message = "服务人员不能为空")
private String serviceUserId;
}

View File

@@ -0,0 +1,19 @@
package com.cool.store.request.visit;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Data
public class StoreVisitReservationCancelRequest {
@ApiModelProperty("预约ID")
@NotNull(message = "预约ID不能为空")
private Long id;
@ApiModelProperty("取消原因")
@NotBlank(message = "取消原因不能为空")
private String cancelReason;
}

View File

@@ -0,0 +1,38 @@
package com.cool.store.request.visit;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.Future;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.util.Date;
@Data
public class StoreVisitReservationCreateRequest {
@ApiModelProperty("意向城市ID")
@NotNull(message = "意向开店城市不能为空")
private Long intentCityId;
@ApiModelProperty("联系人姓名")
@NotBlank(message = "联系人姓名不能为空")
private String contactName;
@ApiModelProperty("手机号")
@NotBlank(message = "手机号不能为空")
@Pattern(regexp = "^1\\d{10}$", message = "请输入正确的手机号")
private String mobile;
@ApiModelProperty("预约看店时间")
@NotNull(message = "预约看店时间不能为空")
@Future(message = "预约时间必须晚于当前时间")
private Date visitTime;
@ApiModelProperty("当前跟进人员")
private String currentFollowUser;
@ApiModelProperty("备注")
private String remark;
}

View File

@@ -0,0 +1,14 @@
package com.cool.store.request.visit;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
@Data
public class StoreVisitReservationIdRequest {
@ApiModelProperty("预约ID")
@NotNull(message = "预约ID不能为空")
private Long id;
}

View File

@@ -0,0 +1,14 @@
package com.cool.store.request.visit;
import com.cool.store.common.PageBasicInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
@Data
public class StoreVisitReservationMyQueryRequest extends PageBasicInfo {
private Integer status;
}

View File

@@ -0,0 +1,48 @@
package com.cool.store.request.wallet;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* @Auther zx_szh
* @Date 2026/2/5 13:48
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class BatchTransferRequest {
private String outStoreId;
private String payPwd;
private List<TransDataRequest> transArray;
@Data
@AllArgsConstructor
@NoArgsConstructor
public static class TransDataRequest {
@ApiModelProperty("业务系统付款单号(如 CRM 单号),业务系统单号")
private String reqNo;
@ApiModelProperty("费用科目")
private Integer feeItemId;
@ApiModelProperty("公司编号")
private String companyCode;
@ApiModelProperty("公司编号绑定多个账户时,必传")
private String companyAccountCode;
@ApiModelProperty("金额(元)")
private String amount;
@ApiModelProperty("备注")
private String remark;
}
}

View File

@@ -21,4 +21,9 @@ public class ReceiptCallBackRequest {
@Max(1)@Min(0)@NotNull
private Integer claimStatus;
/**
* 支付方式,线下支付-0平安钱包支付-2
*/
private Integer payWay;
}

View File

@@ -2,6 +2,7 @@ package com.cool.store.request.xgj;
import com.cool.store.entity.FranchiseFeeDO;
import com.cool.store.entity.LinePayDO;
import com.cool.store.entity.fees.WalletPayInfoDO;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.models.auth.In;
import lombok.Data;
@@ -76,5 +77,18 @@ public class ReceiptRequest {
this.setClaimStatus(payDO.getXgjClaimStatus());
this.setDeleted(payDO.getDeleted()?1:0);
}
public ReceiptRequest(Long shopId, Integer billId, WalletPayInfoDO payDO, Integer joinBrand){
this.shopId = shopId;
this.billId = billId;
this.receiptId = payDO.getPayNo();
this.payer1 = payDO.getPayUserName();
this.transactionNumber = payDO.getTradeId();
this.paymentAmount = payDO.getPayAmount();
this.claimStatus = payDO.getClaimStatus();
this.deleted = 0;
this.payWay = 2;
this.joinBrand = joinBrand;
}
}

View File

@@ -92,5 +92,7 @@ public class BranchShopDetailResponse {
@ApiModelProperty("所属管理区域name")
private String managerRegionName;
private Integer useStandardStore;
}

View File

@@ -69,6 +69,9 @@ public class BranchShopResponse {
@ApiModelProperty("招商所属大区名称")
private String investRegionName;
@ApiModelProperty("使用标准店 0-否 1-是")
private Integer useStandardStore;
public void setDays() {
if (this.openingActivityEndTime==null){
long between = ChronoUnit.SECONDS.between(this.createTime.toInstant(), new Date().toInstant());

View File

@@ -2,12 +2,14 @@ package com.cool.store.response;
import com.cool.store.entity.FranchiseFeeDO;
import com.cool.store.entity.LinePayDO;
import com.cool.store.vo.fees.PayeeBankConfigSimpleVO;
import com.cool.store.vo.fees.ShopAllocationInfoVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.*;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@Data
public class FranchiseFeeResponse {
@@ -66,6 +68,21 @@ public class FranchiseFeeResponse {
@ApiModelProperty("收银费(系统费)")
private String cashierFee;
@ApiModelProperty("支付方式1线下支付 2平安钱包支付")
private Integer payType;
@ApiModelProperty("是否退款0否1是")
private Integer isRefund;
@ApiModelProperty("线下收款银行")
private PayeeBankConfigSimpleVO bankConfig;
@ApiModelProperty("平安钱包分账信息")
private List<ShopAllocationInfoVO> shopAllocationInfoList;
@ApiModelProperty("门店id")
private String storeId;
@Data
public static class LinePay{
@ApiModelProperty("")
@@ -202,6 +219,8 @@ public class FranchiseFeeResponse {
franchiseFeeResponse.setXgjRemainderPayableAmount(franchiseFeeDO.getXgjRemainderPayableAmount());
franchiseFeeResponse.setXgjFeesPaid(franchiseFeeDO.getXgjFeesPaid());
franchiseFeeResponse.setCashierFee(franchiseFeeDO.getCashierFee());
franchiseFeeResponse.setPayType(franchiseFeeDO.getPayType());
franchiseFeeResponse.setIsRefund(franchiseFeeDO.getIsRefund());
return franchiseFeeResponse;
}
}

View File

@@ -0,0 +1,17 @@
package com.cool.store.vo.config;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Auther zx_szh
* @Date 2026/3/10 10:47
* @Version 1.0
*/
@Data
public class ConfigItemBaseInfoVO {
@ApiModelProperty("配置项编码")
private String itemCode;
@ApiModelProperty("配置项目名称")
private String itemName;
}

View File

@@ -0,0 +1,20 @@
package com.cool.store.vo.config;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Auther zx_szh
* @Date 2026/3/10 10:44
* @Version 1.0
*/
@Data
public class ConfigItemCategoryBaseInfoVO {
@ApiModelProperty("大类编码")
private String categoryCode;
@ApiModelProperty("大类名称")
private String categoryName;
}

View File

@@ -0,0 +1,31 @@
package com.cool.store.vo.config;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
public class ConfigItemCategoryVO {
@ApiModelProperty("ID")
private Long id;
@ApiModelProperty("大类编码")
private String categoryCode;
@ApiModelProperty("大类名称")
private String categoryName;
@ApiModelProperty("排序")
private Integer sortNo;
@ApiModelProperty("图片 多张逗号隔开")
private String imageUrl;
@ApiModelProperty("视频")
private String videoUrl;
@ApiModelProperty("状态 1启用 0-非启用")
private Integer status;
@ApiModelProperty("备注")
private String remark;
private String createdUserId;
private Date createdTime;
private String updatedUserId;
private Date updatedTime;
}

View File

@@ -0,0 +1,23 @@
package com.cool.store.vo.config;
import lombok.Data;
import java.util.Date;
@Data
public class ConfigItemVO {
private Long id;
private String itemCode;
private String itemName;
private Long categoryId;
private String categoryCode;
private String categoryName;
private Integer sortNo;
private Integer status;
private String remark;
private String createdUserId;
private Date createdTime;
private String updatedUserId;
private Date updatedTime;
}

View File

@@ -0,0 +1,33 @@
package com.cool.store.vo.config;
import lombok.Data;
import java.util.List;
/**
* 配置选项三层结构
*/
@Data
public class ConfigOptionTreeVO {
/** 配置类型编码 */
private String categoryCode;
/** 配置类型名称(字典) */
private String categoryName;
/** 配置项列表 */
private List<ConfigItemVO> items;
@Data
public static class ConfigItemVO {
/** 配置项编码 */
private String itemCode;
/** 配置项名称(字典) */
private String itemName;
/** 选项列表 */
private List<ConfigOptionVO> options;
}
}

View File

@@ -0,0 +1,26 @@
package com.cool.store.vo.config;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class ConfigOptionVO {
private Long id;
private String categoryCode;
private String itemCode;
private String optionCode;
private String optionName;
private String optionDescription;
private BigDecimal optionPrice;
private BigDecimal originalOptionPrice;
private String optionUnit;
private String imageUrl;
private String videoUrl;
private Boolean active;
private Integer sortOrder;
private String optionRemark;
private Date createTime;
private Date updateTime;
}

View File

@@ -33,6 +33,10 @@ public class DictColumnSimpleVO {
vo.setColumnName(columnDO.getColumnName());
vo.setColumnCode(columnDO.getColumnCode());
vo.setTableCode(tableCode);
vo.setRemark(columnDO.getRemark());
return vo;
}
@ApiModelProperty("备注")
private String remark;
}

View File

@@ -0,0 +1,50 @@
package com.cool.store.vo.fees;
import com.cool.store.annotation.DictField;
import com.cool.store.enums.master.BrandTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* 加盟费用标准收费额配置VO
*/
@Data
public class FeeStandardConfigVO {
@ApiModelProperty("id")
private Long id;
@ApiModelProperty("加盟品牌")
private Integer joinBrand;
@ApiModelProperty("加盟品牌名称")
private String joinBrandName;
@ApiModelProperty("费用类型")
private String expenseType;
@ApiModelProperty("费用类型名称")
@DictField
private String expenseTypeName;
@ApiModelProperty("金额")
private BigDecimal amount;
@ApiModelProperty("创建人id")
private String createUserId;
@ApiModelProperty("创建人名称")
private String createUserName;
@ApiModelProperty("创建时间")
private Date createTime;
public String getJoinBrandName() {
return BrandTypeEnum.getDescByCode(this.joinBrand);
}
}

View File

@@ -0,0 +1,25 @@
package com.cool.store.vo.fees;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* <p>
* 招商分部VO
* </p>
*
* @author wangff
* @since 2026/1/27
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class InvestDivisionRegionVO {
@ApiModelProperty("招商分部id")
private Long investDivisionId;
@ApiModelProperty("招商分部名称")
private String investDivisionName;
}

View File

@@ -0,0 +1,27 @@
package com.cool.store.vo.fees;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* <p>
* 线下收款银行简单信息VO
* </p>
*
* @author wangff
* @since 2026/1/29
*/
@Data
public class PayeeBankConfigSimpleVO {
@ApiModelProperty("收款公司名称")
private String payeeName;
@ApiModelProperty("收款账户")
private String payeeAccount;
@ApiModelProperty("收款银行")
private String payeeBank;
@ApiModelProperty("收款银行开户行")
private String payeeBankBranch;
}

View File

@@ -0,0 +1,61 @@
package com.cool.store.vo.fees;
import com.cool.store.enums.master.BrandTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* 线下收款银行配置VO
*/
@Data
public class PayeeBankConfigVO {
@ApiModelProperty("id")
private Long id;
@ApiModelProperty("加盟品牌")
private Integer joinBrand;
@ApiModelProperty("加盟品牌")
private String joinBrandName;
@ApiModelProperty("招商分部id0表示全部")
private Long investDivisionId;
@ApiModelProperty("招商分部")
private String investDivisionName;
@ApiModelProperty("付款方式,同缴纳加盟费支付方式")
private Integer payType;
@ApiModelProperty("收款公司名称")
private String payeeName;
@ApiModelProperty("收款公司code")
private String payeeCode;
@ApiModelProperty("收款账户")
private String payeeAccount;
@ApiModelProperty("收款银行")
private String payeeBank;
@ApiModelProperty("收款银行开户行")
private String payeeBankBranch;
@ApiModelProperty("创建人id")
private String createUserId;
@ApiModelProperty("创建人名称")
private String createUserName;
@ApiModelProperty("创建时间")
private Date createTime;
public String getJoinBrandName() {
return BrandTypeEnum.getDescByCode(this.joinBrand);
}
}

View File

@@ -0,0 +1,43 @@
package com.cool.store.vo.fees;
import com.cool.store.annotation.DictField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* <p>
* 平安钱包分账信息VO
* </p>
*
* @author wangff
* @since 2026/1/29
*/
@Data
public class ShopAllocationInfoVO {
@ApiModelProperty("id")
private Long id;
@ApiModelProperty("费用类型")
private String expenseType;
@ApiModelProperty("费用类型名称")
@DictField
private String expenseTypeName;
@ApiModelProperty("收款公司名称")
private String payeeName;
@ApiModelProperty("收款公司code")
private String payeeCode;
@ApiModelProperty("金额")
private BigDecimal amount;
@ApiModelProperty("分账状态1已分账 2分账失败 3待分账")
private Integer status;
@ApiModelProperty("分账失败原因")
private String failReason;
}

View File

@@ -0,0 +1,41 @@
package com.cool.store.vo.fees;
import com.cool.store.annotation.DictField;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
/**
* <p>
* 平安钱包分账简单信息VO
* </p>
*
* @author wangff
* @since 2026/1/29
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ShopAllocationSimpleVO {
@ApiModelProperty("id")
private Long id;
@ApiModelProperty("费用类型")
private String expenseType;
@ApiModelProperty("费用类型名称")
@DictField
private String expenseTypeName;
@ApiModelProperty("金额")
private BigDecimal amount;
@ApiModelProperty("分账状态1已分账 2分账失败 3待分账")
private Integer status;
@ApiModelProperty("分组名称")
private String groupName;
}

View File

@@ -0,0 +1,25 @@
package com.cool.store.vo.fees;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* <p>
* 收款公司VO
* </p>
*
* @author wangff
* @since 2026/1/27
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class WalletAllocationCompanyVO {
@ApiModelProperty("收款公司名称")
private String payeeName;
@ApiModelProperty("收款公司code")
private String payeeCode;
}

View File

@@ -0,0 +1,56 @@
package com.cool.store.vo.fees;
import com.cool.store.annotation.DictField;
import com.cool.store.enums.master.BrandTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* 分账配置VO
*
* @author system
*/
@Data
public class WalletAllocationConfigVO {
@ApiModelProperty("配置id")
private Long id;
@ApiModelProperty("加盟品牌:1-正新鸡排,2-正新三明治,3-正烧记4-大鼓米线,5-串小妹,6-茂掌柜")
private Integer joinBrand;
@ApiModelProperty("加盟品牌名称")
private String joinBrandName;
@ApiModelProperty("招商分部id0表示全部")
private Long investDivisionId;
@ApiModelProperty("招商分部名称")
private String investDivisionName;
@ApiModelProperty("费用类型")
private String expenseType;
@ApiModelProperty("费用类型名称")
@DictField
private String expenseTypeName;
@ApiModelProperty("分账公司配置列表")
private List<WalletAllocationCompanyVO> companyList;
@ApiModelProperty("创建人id")
private String createUserId;
@ApiModelProperty("创建人名称")
private String createUserName;
@ApiModelProperty("创建时间")
private Date createTime;
public String getJoinBrandName() {
return BrandTypeEnum.getDescByCode(this.joinBrand);
}
}

View File

@@ -0,0 +1,65 @@
package com.cool.store.vo.fees;
import com.cool.store.enums.fees.AllocationPayStatusEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* <p>
* 钱包加盟缴费信息VO
* </p>
*
* @author wangff
* @since 2026/2/3
*/
@Data
public class WalletPayInfoVO {
@ApiModelProperty("缴费信息id")
private Long id;
@ApiModelProperty("付款单号")
private String payNo;
@ApiModelProperty("付款人")
private String payUserName;
@ApiModelProperty("付款金额")
private BigDecimal payAmount;
@ApiModelProperty("交易流水号")
private String tradeId;
@ApiModelProperty("付款状态1已支付、2支付失败 3支付中")
private Integer payStatus;
@ApiModelProperty("付款状态名称")
private String payStatusName;
@ApiModelProperty("支付时间")
private Date payTime;
@ApiModelProperty("认领状态0-待认领1-已认领")
private Integer claimStatus;
@ApiModelProperty("费用类型列表")
private String expenseTypes;
@ApiModelProperty("费用类型名称")
private String expenseTypeName;
@ApiModelProperty("备注")
private String remark;
@ApiModelProperty("创建人id")
private String createUserId;
@ApiModelProperty("创建时间")
private Date createTime;
public String getPayStatusName() {
return AllocationPayStatusEnum.getDescByStatus(this.payStatus);
}
}

View File

@@ -0,0 +1,27 @@
package com.cool.store.vo.modify;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
* <p>
* 业务修改记录VO
* </p>
*
* @author wangff
* @since 2026/1/27
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ModifyRecordVO {
@ApiModelProperty("修改人")
private String updateUserName;
@ApiModelProperty("修改时间")
private Date updateTime;
}

View File

@@ -0,0 +1,181 @@
package com.cool.store.vo.order;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Column;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@Data
public class MiniStoreOrderDetailVO {
@ApiModelProperty("下单信息")
private OrderInfoVO orderInfo;
@ApiModelProperty("付款信息")
private PayInfoVO payInfo;
@ApiModelProperty("加盟类费用明细")
private FeeInfoVO feeInfo;
@ApiModelProperty("装修与设备选型信息(按配置类型/配置项分组)")
private List<CategoryVO> configSnapshot;
@Data
public static class OrderInfoVO {
@ApiModelProperty("门店ID")
private Long shopId;
private String storeId;
@ApiModelProperty("订单ID")
private Long orderId ;
@ApiModelProperty("门店订购订单号")
private String orderNo;
@ApiModelProperty(name = "门店类型ID")
private Long storeTypeId;
@ApiModelProperty("门店类型")
private Integer storeType;
@ApiModelProperty("下单时间")
private Date createTime;
@ApiModelProperty("状态0待确认/1已确认/2已取消/3已支付")
private Integer status;
@ApiModelProperty("加盟商姓名")
private String partnerName;
@ApiModelProperty("手机号")
private String partnerMobile;
@ApiModelProperty("招商经理")
private String investmentManager;
@ApiModelProperty("招商经理名称")
private String investmentManagerName;
}
@Data
public static class PayInfoVO {
@ApiModelProperty("订单总额")
private BigDecimal totalAmount;
@ApiModelProperty("已支付金额")
private BigDecimal paidAmount;
@ApiModelProperty("未支付金额")
private BigDecimal unpaidAmount;
}
@Data
public static class FeeInfoVO {
@ApiModelProperty("加盟费")
private BigDecimal franchiseFee;
@ApiModelProperty("品牌使用费")
private BigDecimal brandUsageFee;
@ApiModelProperty("管理费")
private BigDecimal managementFee;
@ApiModelProperty("系统使用费")
private BigDecimal systemUsageFee;
@ApiModelProperty("合同保证金")
private BigDecimal contractDeposit;
@ApiModelProperty("首次订货费用")
private BigDecimal firstOrderFee;
@ApiModelProperty("加盟类费用总计")
private BigDecimal storeFixedAmount;
@ApiModelProperty("设计费")
private BigDecimal designFee;
@ApiModelProperty("原设计费")
private BigDecimal originalDesignFee;
@ApiModelProperty("原加盟费")
private BigDecimal originalFranchiseFee;
@ApiModelProperty("原品牌使用费")
private BigDecimal originalBrandUsageFee;
@ApiModelProperty("原管理费")
private BigDecimal originalManagementFee;
@ApiModelProperty("原系统使用费")
private BigDecimal originalSystemUsageFee;
@ApiModelProperty("原合同保证金")
private BigDecimal originalContractDeposit;
@ApiModelProperty("原首次订货费用")
private BigDecimal originalFirstOrderFee;
@ApiModelProperty("原加盟类费用总计")
private BigDecimal originalStoreFixedAmount;
}
@Data
public static class CategoryVO {
@ApiModelProperty("配置类型编码")
private String categoryCode;
@ApiModelProperty("配置类型名称")
private String categoryName;
@ApiModelProperty("配置项列表")
private List<ItemVO> items;
}
@Data
public static class ItemVO {
@ApiModelProperty("配置项编码")
private String itemCode;
@ApiModelProperty("配置项名称")
private String itemName;
@ApiModelProperty("选项列表")
private List<OptionVO> options;
}
@Data
public static class OptionVO {
@ApiModelProperty("选项ID")
private Long optionId;
@ApiModelProperty("选项名称")
private String optionName;
@ApiModelProperty("单价")
private BigDecimal optionPrice;
@ApiModelProperty("原价")
private BigDecimal originalOptionPrice;
@ApiModelProperty("数量")
private BigDecimal quantity;
@ApiModelProperty("选项名称")
private String optionUnit;
@ApiModelProperty("小计")
private BigDecimal amount;
@ApiModelProperty("原价小计")
private BigDecimal originalAmount;
@ApiModelProperty("图片")
private String imageUrl;
}
}

View File

@@ -0,0 +1,50 @@
package com.cool.store.vo.order;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Column;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class MiniStoreOrderListVO {
@ApiModelProperty("订单ID")
private Long id;
@ApiModelProperty("订单号")
private String orderNo;
private Long storeTypeId;
@ApiModelProperty("门店ID")
private Long shopId;
@ApiModelProperty("门店StoreID")
private String storeId;
@ApiModelProperty("门店名称")
private String shopName;
@ApiModelProperty("店型名称")
private String storeTypeName;
@ApiModelProperty("订单状态 ")
private Integer status;
@ApiModelProperty("订单总额")
private BigDecimal totalAmount;
@ApiModelProperty("已支付")
private BigDecimal paidAmount;
@ApiModelProperty("待支付")
private BigDecimal unpaidAmount;
@ApiModelProperty("下单时间")
private Date createTime;
@ApiModelProperty("图片")
private String imageUrl;
}

View File

@@ -0,0 +1,109 @@
package com.cool.store.vo.order;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
@Data
public class MiniStoreWishlistDetailVO {
@ApiModelProperty("店型ID")
private Long storeTypeId;
private String storeTypeName;
@ApiModelProperty("版本号")
private String versionNo;
@ApiModelProperty("总金额")
private BigDecimal totalAmount;
private FeeInfoVO feeInfoVO;
@ApiModelProperty("配置项列表")
private List<OptionVO> options;
@Data
public static class OptionVO {
@ApiModelProperty("配置项ID")
private Long optionId;
private String categoryCode ;
private String categoryName;
private String itemCode ;
private String itemName;
@ApiModelProperty("数量")
private BigDecimal quantity;
@ApiModelProperty("选项名称")
private String optionName;
@ApiModelProperty("单价")
private BigDecimal optionPrice;
private BigDecimal originalOptionPrice;
@ApiModelProperty("总价")
private BigDecimal totalPrice;
@ApiModelProperty("图片")
private String imageUrl;
}
@Data
public static class FeeInfoVO {
@ApiModelProperty("加盟费")
private BigDecimal franchiseFee;
@ApiModelProperty("品牌使用费")
private BigDecimal brandUsageFee;
@ApiModelProperty("管理费")
private BigDecimal managementFee;
@ApiModelProperty("系统使用费")
private BigDecimal systemUsageFee;
@ApiModelProperty("合同保证金")
private BigDecimal contractDeposit;
@ApiModelProperty("首次订货费用")
private BigDecimal firstOrderFee;
@ApiModelProperty("加盟类费用总计")
private BigDecimal storeFixedAmount;
@ApiModelProperty("设计费")
private BigDecimal designFee;
@ApiModelProperty("原设计费")
private BigDecimal originalDesignFee;
@ApiModelProperty("原加盟费")
private BigDecimal originalFranchiseFee;
@ApiModelProperty("原品牌使用费")
private BigDecimal originalBrandUsageFee;
@ApiModelProperty("原管理费")
private BigDecimal originalManagementFee;
@ApiModelProperty("原系统使用费")
private BigDecimal originalSystemUsageFee;
@ApiModelProperty("原合同保证金")
private BigDecimal originalContractDeposit;
@ApiModelProperty("原首次订货费用")
private BigDecimal originalFirstOrderFee;
@ApiModelProperty("原加盟类费用总计")
private BigDecimal originalStoreFixedAmount;
}
}

Some files were not shown because too many files have changed in this diff Show More