Browse Source

会员营销配置和租户字段增加

yinbin 6 months ago
parent
commit
d2323228a1

+ 20 - 12
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/config/vo/MemberConfigBaseVO.java

@@ -12,20 +12,28 @@ import jakarta.validation.constraints.NotNull;
 @Data
 public class MemberConfigBaseVO {
 
-    @Schema(description = "积分抵扣开关", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
-    @NotNull(message = "积分抵扣开发不能为空")
-    private Boolean pointTradeDeductEnable;
+    @Schema(description = "是否允许提现赠送金额", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
+    private Boolean withdrawCombo;
 
-    @Schema(description = "积分抵扣,单位:分", requiredMode = Schema.RequiredMode.REQUIRED, example = "13506")
-    @NotNull(message = "积分抵扣不能为空")
-    private Integer pointTradeDeductUnitPrice;
+    @Schema(description = "是否允许提现分红金额", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
+    private Boolean withdrawDividend;
 
-    @Schema(description = "积分抵扣最大值", requiredMode = Schema.RequiredMode.REQUIRED, example = "32428")
-    @NotNull(message = "积分抵扣最大值不能为空")
-    private Integer pointTradeDeductMaxPrice;
+    @Schema(description = "最大提现金额", requiredMode = Schema.RequiredMode.REQUIRED, example = "5000")
+    private Double withdrawMoneyMax;
 
-    @Schema(description = "1 元赠送多少分", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
-    @NotNull(message = "1 元赠送积分不能为空")
-    private Integer pointTradeGivePoint;
+    @Schema(description = "最大树高限制", requiredMode = Schema.RequiredMode.REQUIRED, example = "6")
+    private Integer treeDepthMax;
+
+    @Schema(description = "允许发展最大会员数", requiredMode = Schema.RequiredMode.REQUIRED, example = "3000")
+    private Integer userCountMax;
+
+    @Schema(description = "允许最大分润比例", requiredMode = Schema.RequiredMode.REQUIRED, example = "0.4")
+    private Double profitRatioMax;
+
+    @Schema(description = "允许最大充值套餐金额", requiredMode = Schema.RequiredMode.REQUIRED, example = "50000")
+    private Double comboRechargeMoneyMax;
+
+    @Schema(description = "允许最大赠送金额", requiredMode = Schema.RequiredMode.REQUIRED, example = "10000")
+    private Double comboBonusMoneyMax;
 
 }

+ 32 - 10
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/config/MemberConfigDO.java

@@ -26,23 +26,45 @@ public class MemberConfigDO extends BaseDO {
      */
     @TableId
     private Long id;
+
+    /**
+     * 是否允许提现赠送金额
+     */
+    private Boolean withdrawCombo;
+
+    /**
+     * 是否允许提现分红金额
+     */
+    private Boolean withdrawDividend;
+
+    /**
+     * 分红提现最大金额
+     */
+    private Double withdrawMoneyMax;
+
+    /**
+     * 最大树高限制
+     */
+    private Integer treeDepthMax;
+
     /**
-     * 积分抵扣开关
+     * 允许发展最大会员数
      */
-    private Boolean pointTradeDeductEnable;
+    private Integer userCountMax;
+
     /**
-     * 积分抵扣,单位:分
-     *
-     * 1 积分抵扣多少分
+     * 允许最大分润比例
      */
-    private Integer pointTradeDeductUnitPrice;
+    private Double profitRatioMax;
+
     /**
-     * 积分抵扣最大值
+     * 允许最大充值套餐金额
      */
-    private Integer pointTradeDeductMaxPrice;
+    private Double comboRechargeMoneyMax;
+
     /**
-     * 1 元赠送多少分
+     * 允许最大赠送金额
      */
-    private Integer pointTradeGivePoint;
+    private Double comboBonusMoneyMax;
 
 }

+ 25 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/tenant/TenantRespVO.java

@@ -8,6 +8,7 @@ import com.alibaba.excel.annotation.ExcelProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
+import java.math.BigDecimal;
 import java.time.LocalDateTime;
 
 @Schema(description = "管理后台 - 租户 Response VO")
@@ -27,6 +28,10 @@ public class TenantRespVO {
     @ExcelProperty("联系人")
     private String contactName;
 
+    @Schema(description = "法人身份证", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("法人身份证")
+    private String idCard;
+
     @Schema(description = "联系手机", example = "15601691300")
     @ExcelProperty("联系手机")
     private String contactMobile;
@@ -52,4 +57,24 @@ public class TenantRespVO {
     @ExcelProperty("创建时间")
     private LocalDateTime createTime;
 
+    @Schema(description = "区域", example = "11311")
+    private Long areaId;
+
+    @Schema(description = "详细地址", requiredMode = Schema.RequiredMode.REQUIRED)
+    private String address;
+
+    @Schema(description = "面积", requiredMode = Schema.RequiredMode.REQUIRED)
+    private BigDecimal coveredArea;
+
+    @Schema(description = "房间数", requiredMode = Schema.RequiredMode.REQUIRED, example = "8361")
+    private Integer roomCount;
+
+    @Schema(description = "技师人数", requiredMode = Schema.RequiredMode.REQUIRED, example = "12904")
+    private Integer technicianCount;
+
+    @Schema(description = "营业执照", requiredMode = Schema.RequiredMode.REQUIRED)
+    private String businessLicense;
+
+    @Schema(description = "开业时间", requiredMode = Schema.RequiredMode.REQUIRED)
+    private LocalDateTime openTime;
 }

+ 34 - 4
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/tenant/TenantSaveReqVO.java

@@ -3,13 +3,11 @@ package cn.iocoder.yudao.module.system.controller.admin.tenant.vo.tenant;
 import cn.hutool.core.util.ObjectUtil;
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.*;
 import lombok.Data;
 import org.hibernate.validator.constraints.Length;
 
-import jakarta.validation.constraints.AssertTrue;
-import jakarta.validation.constraints.NotNull;
-import jakarta.validation.constraints.Pattern;
-import jakarta.validation.constraints.Size;
+import java.math.BigDecimal;
 import java.time.LocalDateTime;
 
 @Schema(description = "管理后台 - 租户创建/修改 Request VO")
@@ -67,4 +65,36 @@ public class TenantSaveReqVO {
                 || (ObjectUtil.isAllNotEmpty(username, password)); // 新增时,必须都传递 username、password
     }
 
+
+    @Schema(description = "法人身份证", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotEmpty(message = "法人身份证不能为空")
+    private String idCard;
+
+    @Schema(description = "区域", example = "11311")
+    private Long areaId;
+
+    @Schema(description = "详细地址", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotEmpty(message = "详细地址不能为空")
+    private String address;
+
+    @Schema(description = "面积", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotNull(message = "面积不能为空")
+    private BigDecimal coveredArea;
+
+    @Schema(description = "房间数", requiredMode = Schema.RequiredMode.REQUIRED, example = "8361")
+    @NotNull(message = "房间数不能为空")
+    private Integer roomCount;
+
+    @Schema(description = "技师人数", requiredMode = Schema.RequiredMode.REQUIRED, example = "12904")
+    @NotNull(message = "技师人数不能为空")
+    private Integer technicianCount;
+
+    @Schema(description = "营业执照", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotEmpty(message = "营业执照不能为空")
+    private String businessLicense;
+
+    @Schema(description = "开业时间", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotNull(message = "开业时间不能为空")
+    private LocalDateTime openTime;
+
 }

+ 36 - 11
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/tenant/TenantDO.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.KeySequence;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.*;
 
+import java.math.BigDecimal;
 import java.time.LocalDateTime;
 
 /**
@@ -34,27 +35,27 @@ public class TenantDO extends BaseDO {
      */
     private Long id;
     /**
-     * 租户名,唯一
+     * 租户名
      */
     private String name;
     /**
      * 联系人的用户编号
-     *
-     * 关联 {@link AdminUserDO#getId()}
      */
     private Long contactUserId;
     /**
-     * 联系人
+     * 法人姓名
      */
     private String contactName;
+    /**
+     * 法人身份证
+     */
+    private String idCard;
     /**
      * 联系手机
      */
     private String contactMobile;
     /**
-     * 租户状态
-     *
-     * 枚举 {@link CommonStatusEnum}
+     * 租户状态(0正常 1停用)
      */
     private Integer status;
     /**
@@ -63,9 +64,6 @@ public class TenantDO extends BaseDO {
     private String website;
     /**
      * 租户套餐编号
-     *
-     * 关联 {@link TenantPackageDO#getId()}
-     * 特殊逻辑:系统内置租户,不使用套餐,暂时使用 {@link #PACKAGE_ID_SYSTEM} 标识
      */
     private Long packageId;
     /**
@@ -76,5 +74,32 @@ public class TenantDO extends BaseDO {
      * 账号数量
      */
     private Integer accountCount;
-
+    /**
+     * 区域
+     */
+    private Long areaId;
+    /**
+     * 详细地址
+     */
+    private String address;
+    /**
+     * 面积
+     */
+    private BigDecimal coveredArea;
+    /**
+     * 房间数
+     */
+    private Integer roomCount;
+    /**
+     * 技师人数
+     */
+    private Integer technicianCount;
+    /**
+     * 营业执照
+     */
+    private String businessLicense;
+    /**
+     * 开业时间
+     */
+    private LocalDateTime openTime;
 }