Merge #111 into master from cc_20260417_bonus
fix:工资奖金 * cc_20260417_bonus: (28 commits squashed) - feat:工资奖金发放 - fix:工资奖金发放 - fix:工资奖金发放 - fix:工资奖金发放 - fix:工资奖金发放 - fix:门店实收相关接口 - fix:新品销售门店级接口 - fix:新品销售菜品列表接口;规则新增返回id - fix:新品销售菜品详情接口 - fix:新品销售菜品接口补充 - fix:小程序接口补充 - fix - fix:新增实收、新品销售测试接口 - fix:新增实收、新品销售测试接口 - fix - fix:新增门店菜品列表接口 - fix:同规则下无法新增相同菜品规则;新增小程序门店列表接口 - fix - fix:小程序用户获取来源修改 - fix:实收规则新增上月日均实收字段 - fix:规则限制 - fix:小程序上月日均实收 - fix:查询异常 - fix:查询异常 - fix:菜品员工明细字段赋值异常 - fix:排序 - fix:排序 - fix:员工实收列表新增门店筛选条件 Signed-off-by: 王非凡 <accounts_67eba0c5fee9c49c80c8e2b4@mail.teambition.com> Merged-by: 正新 <accounts_6964c7bcd2a2c377c5bbd01b@mail.teambition.com> CR-link: https://codeup.aliyun.com/692ea314dec569489f6f167c/hangzhou/java/custom_zxjp/change/111
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
package com.cool.store.entity.bonus;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Date;
|
||||
import javax.persistence.*;
|
||||
|
||||
/**
|
||||
* 奖金发放规则
|
||||
*/
|
||||
@Data
|
||||
@Table(name = "bonus_distribution_rule")
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
public class BonusDistributionRuleDO {
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 规则类型,1-实收 2-新品销售
|
||||
*/
|
||||
private Integer type;
|
||||
|
||||
/**
|
||||
* 门店id
|
||||
*/
|
||||
@Column(name = "store_id")
|
||||
private String storeId;
|
||||
|
||||
/**
|
||||
* 生效开始年月
|
||||
*/
|
||||
@Column(name = "start_date")
|
||||
private Date startDate;
|
||||
|
||||
/**
|
||||
* 生效结束年月
|
||||
*/
|
||||
@Column(name = "end_date")
|
||||
private Date endDate;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@Column(name = "create_time")
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 创建人id
|
||||
*/
|
||||
@Column(name = "create_user_id")
|
||||
private String createUserId;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@Column(name = "update_time")
|
||||
private Date updateTime;
|
||||
|
||||
/**
|
||||
* 更新人id
|
||||
*/
|
||||
@Column(name = "update_user_id")
|
||||
private String updateUserId;
|
||||
|
||||
/**
|
||||
* 奖金规则配置
|
||||
*/
|
||||
@Column(name = "bonus_config")
|
||||
private String bonusConfig;
|
||||
|
||||
/**
|
||||
* 分配规则配置
|
||||
*/
|
||||
@Column(name = "distribute_config")
|
||||
private String distributeConfig;
|
||||
|
||||
/**
|
||||
* 是否启用,0否1是
|
||||
*/
|
||||
private Integer enable;
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
package com.cool.store.entity.bonus;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import javax.persistence.*;
|
||||
|
||||
/**
|
||||
* 员工奖励明细
|
||||
*/
|
||||
@Data
|
||||
@Table(name = "bonus_employee_reward_detail")
|
||||
public class BonusEmployeeRewardDetailDO {
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 门店id
|
||||
*/
|
||||
@Column(name = "store_id")
|
||||
private String storeId;
|
||||
|
||||
/**
|
||||
* 发放年月
|
||||
*/
|
||||
@Column(name = "pay_date")
|
||||
private Date payDate;
|
||||
|
||||
/**
|
||||
* 奖励人姓名
|
||||
*/
|
||||
@Column(name = "reward_user_name")
|
||||
private String rewardUserName;
|
||||
|
||||
/**
|
||||
* 奖励人id
|
||||
*/
|
||||
@Column(name = "reward_user_id")
|
||||
private String rewardUserId;
|
||||
|
||||
/**
|
||||
* 实收奖励金额
|
||||
*/
|
||||
@Column(name = "received_amount")
|
||||
private BigDecimal receivedAmount;
|
||||
|
||||
/**
|
||||
* 新品销售奖励金额
|
||||
*/
|
||||
@Column(name = "new_project_amount")
|
||||
private BigDecimal newProjectAmount;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@Column(name = "create_time")
|
||||
private Date createTime;
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
package com.cool.store.entity.bonus;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import javax.persistence.*;
|
||||
|
||||
/**
|
||||
* 新品销售奖金-员工
|
||||
*/
|
||||
@Data
|
||||
@Table(name = "bonus_new_product_employee")
|
||||
public class BonusNewProductEmployeeDO {
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* bonus_new_product_store.id
|
||||
*/
|
||||
@Column(name = "product_store_id")
|
||||
private Long productStoreId;
|
||||
|
||||
/**
|
||||
* 规则id
|
||||
*/
|
||||
@Column(name = "rule_id")
|
||||
private Long ruleId;
|
||||
|
||||
/**
|
||||
* 门店id
|
||||
*/
|
||||
@Column(name = "store_id")
|
||||
private String storeId;
|
||||
|
||||
/**
|
||||
* 发放年月日
|
||||
*/
|
||||
@Column(name = "pay_date")
|
||||
private Date payDate;
|
||||
|
||||
/**
|
||||
* 奖励比例(%)
|
||||
*/
|
||||
@Column(name = "reward_ratio")
|
||||
private BigDecimal rewardRatio;
|
||||
|
||||
/**
|
||||
* 奖励金额
|
||||
*/
|
||||
@Column(name = "reward_amount")
|
||||
private BigDecimal rewardAmount;
|
||||
|
||||
/**
|
||||
* 奖励人姓名
|
||||
*/
|
||||
@Column(name = "reward_user_name")
|
||||
private String rewardUserName;
|
||||
|
||||
/**
|
||||
* 奖励人id
|
||||
*/
|
||||
@Column(name = "reward_user_id")
|
||||
private String rewardUserId;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@Column(name = "create_time")
|
||||
private Date createTime;
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
package com.cool.store.entity.bonus;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import javax.persistence.*;
|
||||
|
||||
/**
|
||||
* 新品销售奖金-菜品
|
||||
*/
|
||||
@Data
|
||||
@Table(name = "bonus_new_product_recipe")
|
||||
public class BonusNewProductRecipeDO {
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 规则id
|
||||
*/
|
||||
@Column(name = "rule_id")
|
||||
private Long ruleId;
|
||||
|
||||
/**
|
||||
* 门店id
|
||||
*/
|
||||
@Column(name = "store_id")
|
||||
private String storeId;
|
||||
|
||||
/**
|
||||
* 发放年月日
|
||||
*/
|
||||
@Column(name = "pay_date")
|
||||
private Date payDate;
|
||||
|
||||
/**
|
||||
* 菜品编码
|
||||
*/
|
||||
@Column(name = "recipe_no")
|
||||
private String recipeNo;
|
||||
|
||||
/**
|
||||
* 菜品名称
|
||||
*/
|
||||
@Column(name = "recipe_name")
|
||||
private String recipeName;
|
||||
|
||||
/**
|
||||
* 日销量奖励最低达标数量
|
||||
*/
|
||||
@Column(name = "min_standard_num")
|
||||
private Integer minStandardNum;
|
||||
|
||||
/**
|
||||
* 销售奖励(元/个)
|
||||
*/
|
||||
@Column(name = "reward_amount")
|
||||
private BigDecimal rewardAmount;
|
||||
|
||||
/**
|
||||
* 日销量超额奖励基数
|
||||
*/
|
||||
@Column(name = "excess_standard_num")
|
||||
private Integer excessStandardNum;
|
||||
|
||||
/**
|
||||
* 超额后额外销售奖励(元/个)
|
||||
*/
|
||||
@Column(name = "excess_amount")
|
||||
private BigDecimal excessAmount;
|
||||
|
||||
/**
|
||||
* 销量
|
||||
*/
|
||||
@Column(name = "sales_volume")
|
||||
private Integer salesVolume;
|
||||
|
||||
/**
|
||||
* 基础奖金
|
||||
*/
|
||||
@Column(name = "basic_reward_amount")
|
||||
private BigDecimal basicRewardAmount;
|
||||
|
||||
/**
|
||||
* 超额奖金
|
||||
*/
|
||||
@Column(name = "excess_reward_amount")
|
||||
private BigDecimal excessRewardAmount;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@Column(name = "create_time")
|
||||
private Date createTime;
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
package com.cool.store.entity.bonus;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import javax.persistence.*;
|
||||
|
||||
/**
|
||||
* 新品销售奖金-菜品-员工
|
||||
*/
|
||||
@Data
|
||||
@Table(name = "bonus_new_product_recipe_employee")
|
||||
public class BonusNewProductRecipeEmployeeDO {
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* bonus_new_product_recipe.id
|
||||
*/
|
||||
@Column(name = "product_recipe_id")
|
||||
private Long productRecipeId;
|
||||
|
||||
/**
|
||||
* 规则id
|
||||
*/
|
||||
@Column(name = "rule_id")
|
||||
private Long ruleId;
|
||||
|
||||
/**
|
||||
* 门店id
|
||||
*/
|
||||
@Column(name = "store_id")
|
||||
private String storeId;
|
||||
|
||||
/**
|
||||
* 发放年月日
|
||||
*/
|
||||
@Column(name = "pay_date")
|
||||
private Date payDate;
|
||||
|
||||
/**
|
||||
* 菜品编码
|
||||
*/
|
||||
@Column(name = "recipe_no")
|
||||
private String recipeNo;
|
||||
|
||||
/**
|
||||
* 菜品名称
|
||||
*/
|
||||
@Column(name = "recipe_name")
|
||||
private String recipeName;
|
||||
|
||||
/**
|
||||
* 销量
|
||||
*/
|
||||
@Column(name = "sales_volume")
|
||||
private Integer salesVolume;
|
||||
|
||||
/**
|
||||
* 基础奖金
|
||||
*/
|
||||
@Column(name = "basic_reward_amount")
|
||||
private BigDecimal basicRewardAmount;
|
||||
|
||||
/**
|
||||
* 超额奖金
|
||||
*/
|
||||
@Column(name = "excess_reward_amount")
|
||||
private BigDecimal excessRewardAmount;
|
||||
|
||||
/**
|
||||
* 奖励比例(%)
|
||||
*/
|
||||
@Column(name = "reward_ratio")
|
||||
private BigDecimal rewardRatio;
|
||||
|
||||
/**
|
||||
* 奖励人姓名
|
||||
*/
|
||||
@Column(name = "reward_user_name")
|
||||
private String rewardUserName;
|
||||
|
||||
/**
|
||||
* 奖励人id
|
||||
*/
|
||||
@Column(name = "reward_user_id")
|
||||
private String rewardUserId;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@Column(name = "create_time")
|
||||
private Date createTime;
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
package com.cool.store.entity.bonus;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import javax.persistence.*;
|
||||
|
||||
/**
|
||||
* 新品销售奖金-门店
|
||||
*/
|
||||
@Data
|
||||
@Table(name = "bonus_new_product_store")
|
||||
public class BonusNewProductStoreDO {
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 规则id
|
||||
*/
|
||||
@Column(name = "rule_id")
|
||||
private Long ruleId;
|
||||
|
||||
/**
|
||||
* 门店id
|
||||
*/
|
||||
@Column(name = "store_id")
|
||||
private String storeId;
|
||||
|
||||
/**
|
||||
* 发放月份
|
||||
*/
|
||||
@Column(name = "pay_date")
|
||||
private Date payDate;
|
||||
|
||||
/**
|
||||
* 奖金总计
|
||||
*/
|
||||
@Column(name = "amount_total")
|
||||
private BigDecimal amountTotal;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@Column(name = "create_time")
|
||||
private Date createTime;
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
package com.cool.store.entity.bonus;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import javax.persistence.*;
|
||||
|
||||
/**
|
||||
* 实收奖金发放-员工
|
||||
*/
|
||||
@Data
|
||||
@Table(name = "bonus_received_employee")
|
||||
public class BonusReceivedEmployeeDO {
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* bonus_received_store.id
|
||||
*/
|
||||
@Column(name = "received_store_id")
|
||||
private Long receivedStoreId;
|
||||
|
||||
/**
|
||||
* 规则id
|
||||
*/
|
||||
@Column(name = "rule_id")
|
||||
private Long ruleId;
|
||||
|
||||
/**
|
||||
* 门店id
|
||||
*/
|
||||
@Column(name = "store_id")
|
||||
private String storeId;
|
||||
|
||||
/**
|
||||
* 发放月份
|
||||
*/
|
||||
@Column(name = "pay_date")
|
||||
private Date payDate;
|
||||
|
||||
/**
|
||||
* 奖励比例(%)
|
||||
*/
|
||||
@Column(name = "reward_ratio")
|
||||
private BigDecimal rewardRatio;
|
||||
|
||||
/**
|
||||
* 实收奖励金额
|
||||
*/
|
||||
@Column(name = "received_amount")
|
||||
private BigDecimal receivedAmount;
|
||||
|
||||
/**
|
||||
* 奖励人姓名
|
||||
*/
|
||||
@Column(name = "reward_user_name")
|
||||
private String rewardUserName;
|
||||
|
||||
/**
|
||||
* 奖励人id
|
||||
*/
|
||||
@Column(name = "reward_user_id")
|
||||
private String rewardUserId;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@Column(name = "create_time")
|
||||
private Date createTime;
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
package com.cool.store.entity.bonus;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import javax.persistence.*;
|
||||
|
||||
/**
|
||||
* 实收奖金发放-门店
|
||||
*/
|
||||
@Data
|
||||
@Table(name = "bonus_received_store")
|
||||
public class BonusReceivedStoreDO {
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 规则id
|
||||
*/
|
||||
@Column(name = "rule_id")
|
||||
private Long ruleId;
|
||||
|
||||
/**
|
||||
* 门店id
|
||||
*/
|
||||
@Column(name = "store_id")
|
||||
private String storeId;
|
||||
|
||||
/**
|
||||
* 发放月份
|
||||
*/
|
||||
@Column(name = "pay_date")
|
||||
private Date payDate;
|
||||
|
||||
/**
|
||||
* 月度实收
|
||||
*/
|
||||
@Column(name = "received_monthly")
|
||||
private BigDecimal receivedMonthly;
|
||||
|
||||
/**
|
||||
* 月度营业天数
|
||||
*/
|
||||
@Column(name = "business_days")
|
||||
private Integer businessDays;
|
||||
|
||||
/**
|
||||
* 日均实收
|
||||
*/
|
||||
@Column(name = "received_daily")
|
||||
private BigDecimal receivedDaily;
|
||||
|
||||
/**
|
||||
* 上月日均实收
|
||||
*/
|
||||
@Column(name = "received_daily_last")
|
||||
private BigDecimal receivedDailyLast;
|
||||
|
||||
/**
|
||||
* 奖金总计
|
||||
*/
|
||||
@Column(name = "amount_total")
|
||||
private BigDecimal amountTotal;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@Column(name = "create_time")
|
||||
private Date createTime;
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package com.cool.store.request.bonus;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 新品销售试算
|
||||
* </p>
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/20
|
||||
*/
|
||||
@Data
|
||||
public class BonusProductComputeRequest {
|
||||
@ApiModelProperty("菜品销量")
|
||||
@NotEmpty(message = "菜品销量不能为空")
|
||||
private List<BonusProductRecipeCompute> recipeSales;
|
||||
|
||||
@ApiModelProperty("新品销售奖金规则配置(新品销售必填)")
|
||||
@NotEmpty(message = "新品销售奖金规则配置不能为空")
|
||||
@Valid
|
||||
private List<BonusRuleProductConfig> productConfigs;
|
||||
|
||||
@ApiModelProperty("分配规则")
|
||||
@NotEmpty(message = "分配规则不能为空")
|
||||
@Valid
|
||||
private List<BonusRuleDistributeConfig> distributeConfigs;
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package com.cool.store.request.bonus;
|
||||
|
||||
import com.cool.store.common.PageBasicInfo;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 员工新品查询Request
|
||||
* </p>
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/23
|
||||
*/
|
||||
@Data
|
||||
public class BonusProductEmployeeQueryRequest extends PageBasicInfo {
|
||||
@ApiModelProperty("门店编码/名称")
|
||||
private String storeNumOrName;
|
||||
|
||||
@ApiModelProperty("开始日期")
|
||||
private Date startDate;
|
||||
|
||||
@ApiModelProperty("结束日期")
|
||||
private Date endDate;
|
||||
|
||||
@ApiModelProperty("奖励人姓名")
|
||||
private String rewardUserName;
|
||||
|
||||
@ApiModelProperty("菜品编码或名称")
|
||||
private String recipeNoOrName;
|
||||
|
||||
@ApiModelProperty("门店id")
|
||||
private String storeId;
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package com.cool.store.request.bonus;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 新品销售月度查询Request
|
||||
* </p>
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/22
|
||||
*/
|
||||
@Data
|
||||
public class BonusProductMonthlyQueryRequest {
|
||||
@ApiModelProperty("规则id")
|
||||
private Long ruleId;
|
||||
|
||||
@ApiModelProperty("门店id")
|
||||
@NotBlank(message = "门店id不能为空")
|
||||
private String storeId;
|
||||
|
||||
@ApiModelProperty("发放月份")
|
||||
@NotNull(message = "发放月份不能为空")
|
||||
private Date payDate;
|
||||
|
||||
@ApiModelProperty("奖励人id")
|
||||
private String rewardUserId;
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.cool.store.request.bonus;
|
||||
|
||||
import com.cool.store.common.PageBasicInfo;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 门店新品销售奖金发放列表查询请求
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/22
|
||||
*/
|
||||
@Data
|
||||
public class BonusProductQueryRequest extends PageBasicInfo {
|
||||
|
||||
@ApiModelProperty("门店编码/名称")
|
||||
private String storeNumOrName;
|
||||
|
||||
@ApiModelProperty("开始日期")
|
||||
private Date startDate;
|
||||
|
||||
@ApiModelProperty("结束日期")
|
||||
private Date endDate;
|
||||
|
||||
@ApiModelProperty("菜品编码或名称")
|
||||
private String recipeNoOrName;
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.cool.store.request.bonus;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 新品销售试算菜品
|
||||
* </p>
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/20
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class BonusProductRecipeCompute {
|
||||
@ApiModelProperty("菜品编码")
|
||||
@NotNull(message = "菜品编码不能为空")
|
||||
private String recipeNo;
|
||||
|
||||
@ApiModelProperty("销量")
|
||||
@NotNull(message = "销量不能为空")
|
||||
private Integer salesVolume;
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.cool.store.request.bonus;
|
||||
|
||||
import com.cool.store.common.PageBasicInfo;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 门店菜品员工查询Request
|
||||
* </p>
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/23
|
||||
*/
|
||||
@Data
|
||||
public class BonusProductRecipeEmployeeQueryRequest extends PageBasicInfo {
|
||||
@ApiModelProperty("门店id")
|
||||
@NotBlank(message = "门店id不能为空")
|
||||
private String storeId;
|
||||
|
||||
@ApiModelProperty("菜品编码")
|
||||
private String recipeNo;
|
||||
|
||||
@ApiModelProperty("奖励人id")
|
||||
@NotNull(message = "奖励人id不能为空")
|
||||
private String rewardUserId;
|
||||
|
||||
@ApiModelProperty("开始日期")
|
||||
private Date startDate;
|
||||
|
||||
@ApiModelProperty("结束日期")
|
||||
private Date endDate;
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package com.cool.store.request.bonus;
|
||||
|
||||
import com.cool.store.common.PageBasicInfo;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 门店菜品查询Request
|
||||
* </p>
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/22
|
||||
*/
|
||||
@Data
|
||||
public class BonusProductRecipeQueryRequest extends PageBasicInfo {
|
||||
@ApiModelProperty("门店id")
|
||||
@NotBlank(message = "门店id不能为空")
|
||||
private String storeId;
|
||||
|
||||
@ApiModelProperty("菜品编码")
|
||||
@NotNull(message = "菜品编码不能为空")
|
||||
private String recipeNo;
|
||||
|
||||
@ApiModelProperty("开始日期")
|
||||
private Date startDate;
|
||||
|
||||
@ApiModelProperty("结束日期")
|
||||
private Date endDate;
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
package com.cool.store.request.bonus;
|
||||
|
||||
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;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 月度实收试算
|
||||
* </p>
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/20
|
||||
*/
|
||||
@Data
|
||||
public class BonusReceivedComputeRequest {
|
||||
@ApiModelProperty("月度实收")
|
||||
@NotNull(message = "月度实收不能为空")
|
||||
private BigDecimal receivedMonthly;
|
||||
|
||||
@ApiModelProperty("月度营业天数")
|
||||
@NotNull(message = "月度营业天数不能为空")
|
||||
private Integer businessDays;
|
||||
|
||||
@ApiModelProperty("日均实收小于等于该值不发放奖金(实收必填)")
|
||||
@NotNull(message = "日均实收小于等于该值不发放奖金(实收必填)不能为空")
|
||||
private BigDecimal receivedStart;
|
||||
|
||||
@ApiModelProperty("实收奖励规则配置(实收必填)")
|
||||
@NotNull(message = "实收奖励规则配置(实收必填)不能为空")
|
||||
@Valid
|
||||
private List<BonusRuleReceivedConfig> receivedConfigs;
|
||||
|
||||
@ApiModelProperty("分配规则")
|
||||
@NotNull(message = "分配规则不能为空")
|
||||
@Valid
|
||||
private List<BonusRuleDistributeConfig> distributeConfigs;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
package com.cool.store.request.bonus;
|
||||
|
||||
import com.cool.store.common.PageBasicInfo;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 员工实收奖金发放列表查询请求
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/22
|
||||
*/
|
||||
@Data
|
||||
public class BonusReceivedEmployeeQueryRequest extends PageBasicInfo {
|
||||
|
||||
@ApiModelProperty("门店编码/名称")
|
||||
private String storeNumOrName;
|
||||
|
||||
@ApiModelProperty("开始年月")
|
||||
private Date startMonth;
|
||||
|
||||
@ApiModelProperty("结束年月")
|
||||
private Date endMonth;
|
||||
|
||||
@ApiModelProperty("奖励人姓名")
|
||||
private String rewardUserName;
|
||||
|
||||
@ApiModelProperty("门店id")
|
||||
private String storeId;
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.cool.store.request.bonus;
|
||||
|
||||
import com.cool.store.common.PageBasicInfo;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 门店实收奖金发放列表查询请求
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/22
|
||||
*/
|
||||
@Data
|
||||
public class BonusReceivedStoreQueryRequest extends PageBasicInfo {
|
||||
|
||||
@ApiModelProperty("门店编码/名称")
|
||||
private String storeNumOrName;
|
||||
|
||||
@ApiModelProperty("开始年月")
|
||||
private Date startMonth;
|
||||
|
||||
@ApiModelProperty("结束年月")
|
||||
private Date endMonth;
|
||||
|
||||
@ApiModelProperty("门店id")
|
||||
private String storeId;
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
package com.cool.store.request.bonus;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 奖金发放规则新增Request
|
||||
* </p>
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/20
|
||||
*/
|
||||
@Data
|
||||
public class BonusRuleAddRequest {
|
||||
@ApiModelProperty("门店id")
|
||||
@NotBlank(message = "门店id不能为空")
|
||||
private String storeId;
|
||||
|
||||
@ApiModelProperty("规则类型,1-实收 2-新品销售")
|
||||
@NotNull(message = "规则类型不能为空")
|
||||
private Integer type;
|
||||
|
||||
@ApiModelProperty("生效开始年月")
|
||||
@NotNull(message = "生效开始年月不能为空")
|
||||
private Date startDate;
|
||||
|
||||
@ApiModelProperty("生效结束年月")
|
||||
@NotNull(message = "生效结束年月不能为空")
|
||||
private Date endDate;
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.cool.store.request.bonus;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 分配规则
|
||||
* </p>
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/20
|
||||
*/
|
||||
@Data
|
||||
public class BonusRuleDistributeConfig {
|
||||
@ApiModelProperty("奖励人id")
|
||||
private String rewardUserId;
|
||||
|
||||
@ApiModelProperty("奖励人姓名")
|
||||
private String rewardUserName;
|
||||
|
||||
@ApiModelProperty("奖励比例(%)")
|
||||
private BigDecimal rewardRatio;
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package com.cool.store.request.bonus;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 奖金发放规则启用Request
|
||||
* </p>
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/20
|
||||
*/
|
||||
@Data
|
||||
public class BonusRuleEnableRequest {
|
||||
@ApiModelProperty("规则id")
|
||||
@NotNull(message = "规则id不能为空")
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty("是否启用,0否1是")
|
||||
@NotNull(message = "是否启用不能为空")
|
||||
private Integer enable;
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
package com.cool.store.request.bonus;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 新品销售规则配置
|
||||
* </p>
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/20
|
||||
*/
|
||||
@Data
|
||||
public class BonusRuleProductConfig {
|
||||
@ApiModelProperty("菜品编码")
|
||||
private String recipeNo;
|
||||
|
||||
@ApiModelProperty("菜品名称")
|
||||
private String recipeName;
|
||||
|
||||
@ApiModelProperty("日销量奖励最低达标数量")
|
||||
private Integer minStandardNum;
|
||||
|
||||
@ApiModelProperty("销售奖励(元/个)")
|
||||
private BigDecimal rewardAmount;
|
||||
|
||||
@ApiModelProperty("日销量超额奖励基数")
|
||||
private Integer excessStandardNum;
|
||||
|
||||
@ApiModelProperty("超额后额外销售奖励(元/个)")
|
||||
private BigDecimal excessAmount;
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.cool.store.request.bonus;
|
||||
|
||||
import com.cool.store.common.PageBasicInfo;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 规则查询Request
|
||||
* </p>
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/20
|
||||
*/
|
||||
@Data
|
||||
public class BonusRuleQueryRequest extends PageBasicInfo {
|
||||
@ApiModelProperty("门店编码或名称")
|
||||
private String storeNumOrName;
|
||||
|
||||
@ApiModelProperty("规则类型,1-实收 2-新品销售")
|
||||
private Integer type;
|
||||
|
||||
@ApiModelProperty("是否启用,0否1是")
|
||||
private Integer enable;
|
||||
|
||||
@ApiModelProperty("门店id")
|
||||
private String storeId;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.cool.store.request.bonus;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 实收规则
|
||||
* </p>
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/20
|
||||
*/
|
||||
@Data
|
||||
public class BonusRuleReceivedConfig {
|
||||
@ApiModelProperty("实收小于等于")
|
||||
@NotNull(message = "实收小于等于不能为空")
|
||||
private BigDecimal le;
|
||||
|
||||
@ApiModelProperty("实收大于")
|
||||
@NotNull(message = "实收大于不能为空")
|
||||
private BigDecimal gt;
|
||||
|
||||
@ApiModelProperty("奖励比例(%)")
|
||||
@NotNull(message = "奖励比例不能为空")
|
||||
private BigDecimal rewardRatio;
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
package com.cool.store.request.bonus;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 奖金发放规则编辑Request
|
||||
* </p>
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/20
|
||||
*/
|
||||
@Data
|
||||
public class BonusRuleUpdateRequest {
|
||||
|
||||
@ApiModelProperty("id")
|
||||
@NotNull(message = "id不能为空")
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty("生效开始年月")
|
||||
@NotNull(message = "生效开始年月不能为空")
|
||||
private Date startDate;
|
||||
|
||||
@ApiModelProperty("生效结束年月")
|
||||
@NotNull(message = "生效结束年月不能为空")
|
||||
private Date endDate;
|
||||
|
||||
@ApiModelProperty("日均实收小于等于该值不发放奖金(实收必填)")
|
||||
private BigDecimal receivedStart;
|
||||
|
||||
@ApiModelProperty("实收奖励规则配置(实收必填)")
|
||||
private List<BonusRuleReceivedConfig> receivedConfigs;
|
||||
|
||||
@ApiModelProperty("新品销售奖金规则配置(新品销售必填)")
|
||||
private List<BonusRuleProductConfig> productConfigs;
|
||||
|
||||
@ApiModelProperty("分配规则")
|
||||
@NotEmpty(message = "分配规则不能为空")
|
||||
private List<BonusRuleDistributeConfig> distributeConfigs;
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.cool.store.request.storeopen;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
/**
|
||||
* 门店月营收请求
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/20
|
||||
*/
|
||||
@Data
|
||||
public class StoreMonthRevenueRequest {
|
||||
@ApiModelProperty("门店编码")
|
||||
@NotBlank(message = "门店编码不能为空")
|
||||
private String storeNum;
|
||||
|
||||
@ApiModelProperty("开始月份,格式yyyy-MM")
|
||||
@NotBlank(message = "开始月份不能为空")
|
||||
private String startDate;
|
||||
|
||||
@ApiModelProperty("结束月份,格式yyyy-MM")
|
||||
@NotBlank(message = "结束月份不能为空")
|
||||
private String endDate;
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.cool.store.request.storeopen;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
/**
|
||||
* 门店菜品日销量请求
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/20
|
||||
*/
|
||||
@Data
|
||||
public class StoreRecipeDailySalesRequest {
|
||||
@ApiModelProperty("门店编码")
|
||||
@NotBlank(message = "门店编码不能为空")
|
||||
private String storeNum;
|
||||
|
||||
@ApiModelProperty("开始日期,格式yyyy-MM-dd")
|
||||
@NotBlank(message = "开始日期不能为空")
|
||||
private String startDate;
|
||||
|
||||
@ApiModelProperty("结束日期,格式yyyy-MM-dd")
|
||||
@NotBlank(message = "结束日期不能为空")
|
||||
private String endDate;
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.cool.store.request.storeopen;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
/**
|
||||
* 门店菜品种类请求
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/20
|
||||
*/
|
||||
@Data
|
||||
public class StoreRecipesRequest {
|
||||
@ApiModelProperty("门店编码")
|
||||
@NotBlank(message = "门店编码不能为空")
|
||||
private String storeNum;
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package com.cool.store.response.storeopen;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 门店月营收响应
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/20
|
||||
*/
|
||||
@Data
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
public class StoreMonthRevenueResponse {
|
||||
/**
|
||||
* 月份,格式yyyy-MM
|
||||
*/
|
||||
private String date;
|
||||
|
||||
/**
|
||||
* 月度实收
|
||||
*/
|
||||
private BigDecimal receivedAmount;
|
||||
|
||||
/**
|
||||
* 月度营业天数
|
||||
*/
|
||||
private Integer businessDays;
|
||||
|
||||
/**
|
||||
* 当月日均实收
|
||||
*/
|
||||
private BigDecimal receivedAmountDaily;
|
||||
|
||||
/**
|
||||
* 上月日均实收
|
||||
*/
|
||||
private BigDecimal receivedAmountDailyLastMonth;
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.cool.store.response.storeopen;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 门店开放数据API通用响应
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/20
|
||||
*/
|
||||
@Data
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
public class StoreOpenApiResponse<T> {
|
||||
private Integer code;
|
||||
private String msg;
|
||||
private T data;
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package com.cool.store.response.storeopen;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 门店菜品日销量响应
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/20
|
||||
*/
|
||||
@Data
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
public class StoreRecipeDailySalesResponse {
|
||||
/**
|
||||
* 日期,格式yyyy-MM-dd
|
||||
*/
|
||||
private String date;
|
||||
|
||||
/**
|
||||
* 日销售量
|
||||
*/
|
||||
private Integer sales;
|
||||
|
||||
/**
|
||||
* 菜品编码
|
||||
*/
|
||||
private String recipeNo;
|
||||
|
||||
/**
|
||||
* 菜品名称
|
||||
*/
|
||||
private String recipeName;
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.cool.store.response.storeopen;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 门店菜品种类响应
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/20
|
||||
*/
|
||||
@Data
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
public class StoreRecipesResponse {
|
||||
/**
|
||||
* 菜品编码
|
||||
*/
|
||||
private String recipeNo;
|
||||
|
||||
/**
|
||||
* 菜品名称
|
||||
*/
|
||||
private String recipeName;
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.cool.store.vo.bonus;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 基础信息VO
|
||||
* </p>
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/23
|
||||
*/
|
||||
@Data
|
||||
public class BonusBasicVO {
|
||||
@ApiModelProperty("门店id")
|
||||
private String storeId;
|
||||
|
||||
@ApiModelProperty("门店编码")
|
||||
private String storeNum;
|
||||
|
||||
@ApiModelProperty("门店名称")
|
||||
private String storeName;
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
package com.cool.store.vo.bonus;
|
||||
|
||||
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/4/20
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class BonusComputeUserVO {
|
||||
@ApiModelProperty("奖励金额")
|
||||
private BigDecimal rewardAmount;
|
||||
|
||||
@ApiModelProperty("奖励人id")
|
||||
private String rewardUserId;
|
||||
|
||||
@ApiModelProperty("奖励人姓名")
|
||||
private String rewardUserName;
|
||||
|
||||
@ApiModelProperty("基础奖金")
|
||||
private BigDecimal basicRewardAmount;
|
||||
|
||||
@ApiModelProperty("超额奖金")
|
||||
private BigDecimal excessRewardAmount;
|
||||
|
||||
@ApiModelProperty("奖励比例(%)")
|
||||
private BigDecimal rewardRatio;
|
||||
|
||||
public BonusComputeUserVO(BigDecimal rewardAmount, String rewardUserId, String rewardUserName) {
|
||||
this.rewardAmount = rewardAmount;
|
||||
this.rewardUserName = rewardUserName;
|
||||
this.rewardUserId = rewardUserId;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package com.cool.store.vo.bonus;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 员工奖金明细
|
||||
* </p>
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/23
|
||||
*/
|
||||
@Data
|
||||
public class BonusEmployeeDetailVO extends BonusBasicVO {
|
||||
@ApiModelProperty("发放年月")
|
||||
private Date payDate;
|
||||
|
||||
@ApiModelProperty("奖励人姓名")
|
||||
private String rewardUserName;
|
||||
|
||||
@ApiModelProperty("奖励人id")
|
||||
private String rewardUserId;
|
||||
|
||||
@ApiModelProperty("实收奖励金额")
|
||||
private BigDecimal receivedAmount;
|
||||
|
||||
@ApiModelProperty("新品销售奖励金额")
|
||||
private BigDecimal newProjectAmount;
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.cool.store.vo.bonus;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 新品销售实算VO
|
||||
* </p>
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/20
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class BonusProductComputeVO {
|
||||
@ApiModelProperty("菜品信息")
|
||||
private List<BonusProductRecipeComputeVO> recipes;
|
||||
|
||||
@ApiModelProperty("明细(员工级)")
|
||||
private List<BonusComputeUserVO> detail;
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.cool.store.vo.bonus;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 门店新品销售奖金方法列表-员工
|
||||
* </p>
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/23
|
||||
*/
|
||||
@Data
|
||||
public class BonusProductEmployeeListVO extends BonusBasicVO {
|
||||
@ApiModelProperty("发放年月")
|
||||
private Date payDate;
|
||||
|
||||
@ApiModelProperty("奖励金额")
|
||||
private BigDecimal receivedAmount;
|
||||
|
||||
@ApiModelProperty("奖励人id")
|
||||
private String rewardUserId;
|
||||
|
||||
@ApiModelProperty("奖励人姓名")
|
||||
private String rewardUserName;
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
package com.cool.store.vo.bonus;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 新品销售菜品实算VO
|
||||
* </p>
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/20
|
||||
*/
|
||||
@Data
|
||||
public class BonusProductRecipeComputeVO {
|
||||
@ApiModelProperty("菜品编码")
|
||||
private String recipeNo;
|
||||
|
||||
@ApiModelProperty("菜品名称")
|
||||
private String recipeName;
|
||||
|
||||
@ApiModelProperty("日销量奖励最低达标数量")
|
||||
private Integer minStandardNum;
|
||||
|
||||
@ApiModelProperty("销售奖励(元/个)")
|
||||
private BigDecimal rewardAmount;
|
||||
|
||||
@ApiModelProperty("日销量超额奖励基数")
|
||||
private Integer excessStandardNum;
|
||||
|
||||
@ApiModelProperty("超额后额外销售奖励(元/个)")
|
||||
private BigDecimal excessAmount;
|
||||
|
||||
@ApiModelProperty("销量")
|
||||
private Integer salesVolume;
|
||||
|
||||
@ApiModelProperty("基础奖金")
|
||||
private BigDecimal basicRewardAmount;
|
||||
|
||||
@ApiModelProperty("超额奖金")
|
||||
private BigDecimal excessRewardAmount;
|
||||
|
||||
@ApiModelProperty("明细(员工-菜品级)")
|
||||
private List<BonusComputeUserVO> detail;
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.cool.store.vo.bonus;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 门店新品销售奖金发放详情-菜品
|
||||
* </p>
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/22
|
||||
*/
|
||||
@Data
|
||||
public class BonusProductRecipeDetailVO extends BonusBasicVO {
|
||||
|
||||
@ApiModelProperty("菜品编码")
|
||||
private String recipeNo;
|
||||
|
||||
@ApiModelProperty("菜品名称")
|
||||
private String recipeName;
|
||||
|
||||
@ApiModelProperty("发放日期")
|
||||
private Date payDate;
|
||||
|
||||
@ApiModelProperty("日销量奖励最低达标数量")
|
||||
private Integer minStandardNum;
|
||||
|
||||
@ApiModelProperty("销售奖励(元/个)")
|
||||
private BigDecimal rewardAmount;
|
||||
|
||||
@ApiModelProperty("日销量超额奖励基数")
|
||||
private Integer excessStandardNum;
|
||||
|
||||
@ApiModelProperty("超额后额外销售奖励(元/个)")
|
||||
private BigDecimal excessAmount;
|
||||
|
||||
@ApiModelProperty("销量")
|
||||
private Integer salesVolume;
|
||||
|
||||
@ApiModelProperty("基础奖金")
|
||||
private BigDecimal basicRewardAmount;
|
||||
|
||||
@ApiModelProperty("超额奖金")
|
||||
private BigDecimal excessRewardAmount;
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
package com.cool.store.vo.bonus;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 门店新品销售菜品员工详情VO
|
||||
* </p>
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/23
|
||||
*/
|
||||
@Data
|
||||
public class BonusProductRecipeEmployeeDetailVO extends BonusBasicVO {
|
||||
@ApiModelProperty("菜品编码")
|
||||
private String recipeNo;
|
||||
|
||||
@ApiModelProperty("菜品名称")
|
||||
private String recipeName;
|
||||
|
||||
@ApiModelProperty("发放月份")
|
||||
private Date payDate;
|
||||
|
||||
@ApiModelProperty("日销量奖励最低达标数量")
|
||||
private Integer minStandardNum;
|
||||
|
||||
@ApiModelProperty("销售奖励(元/个)")
|
||||
private BigDecimal rewardAmount;
|
||||
|
||||
@ApiModelProperty("日销量超额奖励基数")
|
||||
private Integer excessStandardNum;
|
||||
|
||||
@ApiModelProperty("超额后额外销售奖励(元/个)")
|
||||
private BigDecimal excessAmount;
|
||||
|
||||
@ApiModelProperty("销量")
|
||||
private Integer salesVolume;
|
||||
|
||||
@ApiModelProperty("基础奖金")
|
||||
private BigDecimal basicRewardAmount;
|
||||
|
||||
@ApiModelProperty("超额奖金")
|
||||
private BigDecimal excessRewardAmount;
|
||||
|
||||
@ApiModelProperty("奖励人id")
|
||||
private String rewardUserId;
|
||||
|
||||
@ApiModelProperty("奖励比例")
|
||||
private BigDecimal rewardRatio;
|
||||
|
||||
@ApiModelProperty("奖励人姓名")
|
||||
private String rewardUserName;
|
||||
|
||||
@ApiModelProperty("奖金总计")
|
||||
private BigDecimal amountTotal;
|
||||
|
||||
public BigDecimal getAmountTotal() {
|
||||
return basicRewardAmount.add(excessRewardAmount);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.cool.store.vo.bonus;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 门店新品销售菜品员工列表VO
|
||||
* </p>
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/23
|
||||
*/
|
||||
@Data
|
||||
public class BonusProductRecipeEmployeeListVO extends BonusBasicVO {
|
||||
@ApiModelProperty("菜品编码")
|
||||
private String recipeNo;
|
||||
|
||||
@ApiModelProperty("菜品名称")
|
||||
private String recipeName;
|
||||
|
||||
@ApiModelProperty("发放月份")
|
||||
private Date payDate;
|
||||
|
||||
@ApiModelProperty("销量")
|
||||
private Integer salesVolume;
|
||||
|
||||
@ApiModelProperty("基础奖金")
|
||||
private BigDecimal basicRewardAmount;
|
||||
|
||||
@ApiModelProperty("超额奖金")
|
||||
private BigDecimal excessRewardAmount;
|
||||
|
||||
@ApiModelProperty("奖励人id")
|
||||
private String rewardUserId;
|
||||
|
||||
@ApiModelProperty("奖励人姓名")
|
||||
private String rewardUserName;
|
||||
|
||||
@ApiModelProperty("奖金总计")
|
||||
private BigDecimal amountTotal;
|
||||
|
||||
public BigDecimal getAmountTotal() {
|
||||
return basicRewardAmount.add(excessRewardAmount);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package com.cool.store.vo.bonus;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 门店新品销售奖金发放列表-菜品
|
||||
* </p>
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/22
|
||||
*/
|
||||
@Data
|
||||
public class BonusProductRecipeListVO extends BonusBasicVO {
|
||||
|
||||
@ApiModelProperty("菜品编码")
|
||||
private String recipeNo;
|
||||
|
||||
@ApiModelProperty("菜品名称")
|
||||
private String recipeName;
|
||||
|
||||
@ApiModelProperty("发放月份")
|
||||
private Date payDate;
|
||||
|
||||
@ApiModelProperty("基础奖金")
|
||||
private BigDecimal basicRewardAmount;
|
||||
|
||||
@ApiModelProperty("超额奖金")
|
||||
private BigDecimal excessRewardAmount;
|
||||
|
||||
@ApiModelProperty("奖金总计")
|
||||
private BigDecimal amountTotal;
|
||||
|
||||
public BigDecimal getAmountTotal() {
|
||||
return basicRewardAmount.add(excessRewardAmount);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
package com.cool.store.vo.bonus;
|
||||
|
||||
import com.cool.store.request.bonus.BonusRuleProductConfig;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 门店新品销售奖金详情VO
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/22
|
||||
*/
|
||||
@Data
|
||||
public class BonusProductStoreDetailVO {
|
||||
@ApiModelProperty("门店编码")
|
||||
private String storeNum;
|
||||
|
||||
@ApiModelProperty("门店名称")
|
||||
private String storeName;
|
||||
|
||||
@ApiModelProperty("发放年月")
|
||||
private Date payDate;
|
||||
|
||||
@ApiModelProperty("新品销售奖金规则配置(新品销售必填)")
|
||||
private List<BonusRuleProductConfig> productConfigs;
|
||||
|
||||
@ApiModelProperty("发放明细列表")
|
||||
private List<EmployeeBonusVO> employeeList;
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package com.cool.store.vo.bonus;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 门店新品销售奖金发放列表VO
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/22
|
||||
*/
|
||||
@Data
|
||||
public class BonusProductStoreListVO extends BonusBasicVO {
|
||||
@ApiModelProperty("规则id")
|
||||
private Long ruleId;
|
||||
|
||||
@ApiModelProperty("发放年月")
|
||||
private Date payDate;
|
||||
|
||||
@ApiModelProperty("奖金额总计")
|
||||
private BigDecimal amountTotal;
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
package com.cool.store.vo.bonus;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 实收实算VO
|
||||
* </p>
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/20
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class BonusReceivedComputeVO {
|
||||
@ApiModelProperty("日均实收")
|
||||
private BigDecimal receivedDaily;
|
||||
|
||||
@ApiModelProperty("奖金总计")
|
||||
private BigDecimal amountTotal;
|
||||
|
||||
@ApiModelProperty("发放明细")
|
||||
private List<BonusComputeUserVO> detail;
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.cool.store.vo.bonus;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 员工实收奖金发放列表VO
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/22
|
||||
*/
|
||||
@Data
|
||||
public class BonusReceivedEmployeeListVO extends BonusBasicVO {
|
||||
@ApiModelProperty("id")
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty("门店实收id")
|
||||
private Long receivedStoreId;
|
||||
|
||||
@ApiModelProperty("发放月份")
|
||||
private Date payDate;
|
||||
|
||||
@ApiModelProperty("月度实收")
|
||||
private BigDecimal receivedMonthly;
|
||||
|
||||
@ApiModelProperty("月度营业天数")
|
||||
private Integer businessDays;
|
||||
|
||||
@ApiModelProperty("日均实收")
|
||||
private BigDecimal receivedDaily;
|
||||
|
||||
@ApiModelProperty("上月日均实收")
|
||||
private BigDecimal receivedDailyLast;
|
||||
|
||||
@ApiModelProperty("实收奖金额总计")
|
||||
private BigDecimal amountTotal;
|
||||
|
||||
@ApiModelProperty("奖励比例")
|
||||
private BigDecimal rewardRatio;
|
||||
|
||||
@ApiModelProperty("实收奖励金额")
|
||||
private BigDecimal receivedAmount;
|
||||
|
||||
@ApiModelProperty("奖励人姓名")
|
||||
private String rewardUserName;
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
package com.cool.store.vo.bonus;
|
||||
|
||||
import com.cool.store.request.bonus.BonusRuleReceivedConfig;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 门店实收奖金详情VO
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/22
|
||||
*/
|
||||
@Data
|
||||
public class BonusReceivedStoreDetailVO {
|
||||
@ApiModelProperty("id")
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty("门店id")
|
||||
private String storeId;
|
||||
|
||||
@ApiModelProperty("门店编码")
|
||||
private String storeNum;
|
||||
|
||||
@ApiModelProperty("门店名称")
|
||||
private String storeName;
|
||||
|
||||
@ApiModelProperty("发放月份")
|
||||
private Date payDate;
|
||||
|
||||
@ApiModelProperty("月度实收")
|
||||
private BigDecimal receivedMonthly;
|
||||
|
||||
@ApiModelProperty("月度营业天数")
|
||||
private Integer businessDays;
|
||||
|
||||
@ApiModelProperty("日均实收小于等于该值不发放奖金(实收必填)")
|
||||
private BigDecimal receivedStart;
|
||||
|
||||
@ApiModelProperty("实收奖励规则配置(实收必填)")
|
||||
private List<BonusRuleReceivedConfig> receivedConfigs;
|
||||
|
||||
@ApiModelProperty("日均实收")
|
||||
private BigDecimal receivedDaily;
|
||||
|
||||
@ApiModelProperty("上月日均实收")
|
||||
private BigDecimal receivedDailyLast;
|
||||
|
||||
@ApiModelProperty("奖金额总计")
|
||||
private BigDecimal amountTotal;
|
||||
|
||||
@ApiModelProperty("员工本月奖金发放列表")
|
||||
private List<EmployeeBonusVO> employeeList;
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
package com.cool.store.vo.bonus;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 门店实收奖金发放列表VO
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/22
|
||||
*/
|
||||
@Data
|
||||
public class BonusReceivedStoreListVO extends BonusBasicVO {
|
||||
@ApiModelProperty("id")
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty("发放月份")
|
||||
private Date payDate;
|
||||
|
||||
@ApiModelProperty("月度实收")
|
||||
private BigDecimal receivedMonthly;
|
||||
|
||||
@ApiModelProperty("月度营业天数")
|
||||
private Integer businessDays;
|
||||
|
||||
@ApiModelProperty("日均实收")
|
||||
private BigDecimal receivedDaily;
|
||||
|
||||
@ApiModelProperty("上月日均实收")
|
||||
private BigDecimal receivedDailyLast;
|
||||
|
||||
@ApiModelProperty("奖金额总计")
|
||||
private BigDecimal amountTotal;
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
package com.cool.store.vo.bonus;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 奖金发放规则列表VO
|
||||
* </p>
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/20
|
||||
*/
|
||||
@Data
|
||||
public class BonusRuleListVO extends BonusBasicVO {
|
||||
@ApiModelProperty("id")
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty("规则类型,1-实收 2-新品销售")
|
||||
private Integer type;
|
||||
|
||||
@ApiModelProperty("是否启用,0否1是")
|
||||
private Integer enable;
|
||||
|
||||
@ApiModelProperty("生效开始年月")
|
||||
private Date startDate;
|
||||
|
||||
@ApiModelProperty("生效结束年月")
|
||||
private Date endDate;
|
||||
|
||||
@ApiModelProperty("创建时间")
|
||||
private Date createTime;
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
package com.cool.store.vo.bonus;
|
||||
|
||||
import com.cool.store.request.bonus.BonusRuleDistributeConfig;
|
||||
import com.cool.store.request.bonus.BonusRuleProductConfig;
|
||||
import com.cool.store.request.bonus.BonusRuleReceivedConfig;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 奖金发放规则VO
|
||||
* </p>
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2026/4/20
|
||||
*/
|
||||
@Data
|
||||
public class BonusRuleVO {
|
||||
@ApiModelProperty("id")
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty("规则类型,1-实收 2-新品销售")
|
||||
private Integer type;
|
||||
|
||||
@ApiModelProperty("门店id")
|
||||
private String storeId;
|
||||
|
||||
@ApiModelProperty("门店编码")
|
||||
private String storeNum;
|
||||
|
||||
@ApiModelProperty("门店名称")
|
||||
private String storeName;
|
||||
|
||||
@ApiModelProperty("生效开始年月")
|
||||
private Date startDate;
|
||||
|
||||
@ApiModelProperty("生效结束年月")
|
||||
private Date endDate;
|
||||
|
||||
@ApiModelProperty("日均实收小于等于该值不发放奖金(实收必填)")
|
||||
private BigDecimal receivedStart;
|
||||
|
||||
@ApiModelProperty("实收奖励规则配置(实收必填)")
|
||||
private List<BonusRuleReceivedConfig> receivedConfigs;
|
||||
|
||||
@ApiModelProperty("新品销售奖金规则配置(新品销售必填)")
|
||||
private List<BonusRuleProductConfig> productConfigs;
|
||||
|
||||
@ApiModelProperty("分配规则")
|
||||
private List<BonusRuleDistributeConfig> distributeConfigs;
|
||||
|
||||
@ApiModelProperty("是否启用,0否1是")
|
||||
private Integer enable;
|
||||
|
||||
@ApiModelProperty("上月日均实收")
|
||||
private BigDecimal receivedDailyLast;
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package com.cool.store.vo.bonus;
|
||||
|
||||
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/4/22
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class EmployeeBonusVO {
|
||||
@ApiModelProperty("员工id")
|
||||
private String rewardUserId;
|
||||
|
||||
@ApiModelProperty("员工名称")
|
||||
private String rewardUserName;
|
||||
|
||||
@ApiModelProperty("奖励比例")
|
||||
private BigDecimal rewardRatio;
|
||||
|
||||
@ApiModelProperty("金额")
|
||||
private BigDecimal receivedAmount;
|
||||
}
|
||||
Reference in New Issue
Block a user