分销后台相关接口
This commit is contained in:
@@ -0,0 +1,91 @@
|
||||
|
||||
package com.czg.market.dto;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import com.alibaba.fastjson2.annotation.JSONField;
|
||||
import jakarta.validation.Valid;
|
||||
import jakarta.validation.constraints.*;
|
||||
import lombok.experimental.Accessors;
|
||||
import java.io.Serial;
|
||||
import java.util.List;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 分销配置 实体类。
|
||||
*
|
||||
* @author ww
|
||||
* @since 2025-10-25
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Accessors(chain = true)
|
||||
public class MkDistributionConfigDTO implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 是否开启
|
||||
*/
|
||||
@NotNull(message = "是否开启不能为空")
|
||||
private Integer isEnable;
|
||||
|
||||
/**
|
||||
* pay购买开通 auto自动开通 manual手动开通
|
||||
*/
|
||||
@NotBlank(message = "开通方式不能为空")
|
||||
private String openType;
|
||||
|
||||
/**
|
||||
* 邀请条件人数
|
||||
*/
|
||||
@Min(value = 1, message = "邀请人数不能小于1")
|
||||
private Integer inviteCount;
|
||||
|
||||
/**
|
||||
* 被邀请人消费有效 0 1
|
||||
*/
|
||||
private Integer inviteConsume;
|
||||
|
||||
/**
|
||||
* 购买开通金额
|
||||
*/
|
||||
@DecimalMin(value = "0.01", message = "购买开通金额不能小于0.01")
|
||||
private BigDecimal payAmount;
|
||||
|
||||
/**
|
||||
* 每人奖励次数
|
||||
*/
|
||||
@NotNull(message = "每人奖励次数不能为空")
|
||||
@Min(value = 1, message = "每人奖励次数不能小于1")
|
||||
private Integer rewardCount;
|
||||
|
||||
/**
|
||||
* n天结算
|
||||
*/
|
||||
@NotNull(message = "结算天数不能为空")
|
||||
@Min(value = 0, message = "结算天数不能小于0")
|
||||
private Integer settlementDay;
|
||||
|
||||
/**
|
||||
* not_upgrade不自动升级 invite邀请有效人数 cost消费金额
|
||||
*/
|
||||
@NotBlank(message = "升级条件不能为空")
|
||||
private String upgradeType;
|
||||
|
||||
/**
|
||||
* 未开通页面富文本
|
||||
*/
|
||||
private String notActivatedPage;
|
||||
|
||||
|
||||
@Valid
|
||||
private List<MkDistributionLevelConfigDTO> levelConfigList;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
|
||||
package com.czg.market.dto;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import com.alibaba.fastjson2.annotation.JSONField;
|
||||
import jakarta.validation.constraints.*;
|
||||
import lombok.experimental.Accessors;
|
||||
import java.io.Serial;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 分销员等级配置 实体类。
|
||||
*
|
||||
* @author ww
|
||||
* @since 2025-10-25
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Accessors(chain = true)
|
||||
public class MkDistributionLevelConfigDTO implements Serializable {
|
||||
|
||||
|
||||
private Long id;
|
||||
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@NotBlank(message = "名称不能为空")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 有效人数
|
||||
*/
|
||||
@NotNull(message = "有效人数不能为空")
|
||||
@Min(value = 1, message = "有效人数不能小于1")
|
||||
private Integer inviteCount;
|
||||
|
||||
/**
|
||||
* 消费金额
|
||||
*/
|
||||
@NotNull(message = "消费金额不能为空")
|
||||
@DecimalMin(value = "0.01", message = "消费金额不能小于0.01")
|
||||
private BigDecimal costAmount;
|
||||
|
||||
/**
|
||||
* 一级分销比例
|
||||
*/
|
||||
@NotNull(message = "一级分销比例不为空")
|
||||
@DecimalMin(value = "0.01", message = "一级分销比例不能小于0.01")
|
||||
@DecimalMax(value = "1", message = "一级分销比例不能小于1")
|
||||
private BigDecimal levelOneCommission;
|
||||
|
||||
/**
|
||||
* 二级分销比例
|
||||
*/
|
||||
private BigDecimal levelTwoCommission;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,101 @@
|
||||
package com.czg.market.entity;
|
||||
|
||||
import com.mybatisflex.annotation.Column;
|
||||
import com.mybatisflex.annotation.Id;
|
||||
import com.mybatisflex.annotation.KeyType;
|
||||
import com.mybatisflex.annotation.Table;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* 分销配置 实体类。
|
||||
*
|
||||
* @author ww
|
||||
* @since 2025-10-25
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Table("mk_distribution_config")
|
||||
@Accessors(chain = true)
|
||||
public class MkDistributionConfig implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id(keyType = KeyType.Auto)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 是否开启
|
||||
*/
|
||||
private Integer isEnable;
|
||||
|
||||
/**
|
||||
* pay购买开通 auto自动开通 manual手动开通
|
||||
*/
|
||||
private String openType;
|
||||
|
||||
/**
|
||||
* 邀请条件人数
|
||||
*/
|
||||
private Integer inviteCount;
|
||||
|
||||
/**
|
||||
* 被邀请人消费有效 0 1
|
||||
*/
|
||||
private Integer inviteConsume;
|
||||
|
||||
/**
|
||||
* 购买开通金额
|
||||
*/
|
||||
private BigDecimal payAmount;
|
||||
|
||||
/**
|
||||
* 每人奖励次数
|
||||
*/
|
||||
private Integer rewardCount;
|
||||
|
||||
/**
|
||||
* n天结算
|
||||
*/
|
||||
private Integer settlementDay;
|
||||
|
||||
/**
|
||||
* not_upgrade不自动升级 invite邀请有效人数 cost消费金额
|
||||
*/
|
||||
private String upgradeType;
|
||||
|
||||
/**
|
||||
* 未开通页面富文本
|
||||
*/
|
||||
private String notActivatedPage;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@Column(onInsertValue = "now()")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
@Column(onInsertValue = "now()", onUpdateValue = "now()")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
/**
|
||||
* 主店id
|
||||
*/
|
||||
private Long mainShopId;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
package com.czg.market.entity;
|
||||
|
||||
import com.mybatisflex.annotation.Column;
|
||||
import com.mybatisflex.annotation.Id;
|
||||
import com.mybatisflex.annotation.KeyType;
|
||||
import com.mybatisflex.annotation.Table;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 分销员等级配置 实体类。
|
||||
*
|
||||
* @author ww
|
||||
* @since 2025-10-25
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Table("mk_distribution_level_config")
|
||||
public class MkDistributionLevelConfig implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id(keyType = KeyType.Auto)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 分销配置表id
|
||||
*/
|
||||
private Long distributionConfigId;
|
||||
|
||||
/**
|
||||
* 主店id
|
||||
*/
|
||||
private Long mainShopId;
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 有效人数
|
||||
*/
|
||||
private Integer inviteCount;
|
||||
|
||||
/**
|
||||
* 消费金额
|
||||
*/
|
||||
private BigDecimal costAmount;
|
||||
|
||||
/**
|
||||
* 一级分销比例
|
||||
*/
|
||||
private BigDecimal levelOneCommission;
|
||||
|
||||
/**
|
||||
* 二级分销比例
|
||||
*/
|
||||
private BigDecimal levelTwoCommission;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@Column(onInsertValue = "now()")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
@Column(onInsertValue = "now()", onUpdateValue = "now()")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.czg.market.service;
|
||||
|
||||
import com.czg.market.dto.MkDistributionConfigDTO;
|
||||
import com.czg.market.vo.MkDistributionConfigVO;
|
||||
import com.czg.market.vo.MkRedemptionConfigVO;
|
||||
import com.mybatisflex.core.service.IService;
|
||||
import com.czg.market.entity.MkDistributionConfig;
|
||||
|
||||
/**
|
||||
* 分销配置 服务层。
|
||||
*
|
||||
* @author ww
|
||||
* @since 2025-10-25
|
||||
*/
|
||||
public interface MkDistributionConfigService extends IService<MkDistributionConfig> {
|
||||
MkDistributionConfigVO detail(Long mainShopId);
|
||||
|
||||
Boolean edit(Long shopId, MkDistributionConfigDTO dto);
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.czg.market.service;
|
||||
|
||||
import com.czg.market.dto.MkDistributionLevelConfigDTO;
|
||||
import com.mybatisflex.core.service.IService;
|
||||
import com.czg.market.entity.MkDistributionLevelConfig;
|
||||
import jakarta.validation.Valid;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 分销员等级配置 服务层。
|
||||
*
|
||||
* @author ww
|
||||
* @since 2025-10-25
|
||||
*/
|
||||
public interface MkDistributionLevelConfigService extends IService<MkDistributionLevelConfig> {
|
||||
|
||||
void updateByShopId(@Valid List<MkDistributionLevelConfigDTO> levelConfigList, Long mainShopId, Long id);
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.czg.market.vo;
|
||||
|
||||
import com.czg.market.entity.MkDistributionConfig;
|
||||
import com.czg.market.entity.MkDistributionLevelConfig;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Administrator
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class MkDistributionConfigVO extends MkDistributionConfig implements Serializable {
|
||||
private List<MkDistributionLevelConfig> levelConfigList;
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user