diff --git a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/mongo/entity/bd/AdminSalaryPolicy.java b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/mongo/entity/bd/AdminSalaryPolicy.java new file mode 100644 index 00000000..9090889c --- /dev/null +++ b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/mongo/entity/bd/AdminSalaryPolicy.java @@ -0,0 +1,143 @@ +package com.red.circle.other.infra.database.mongo.entity.bd; + +import lombok.Data; +import lombok.experimental.Accessors; +import org.springframework.data.annotation.Id; +import org.springframework.data.mongodb.core.mapping.Document; + +import java.io.Serial; +import java.io.Serializable; +import java.math.BigDecimal; +import java.sql.Timestamp; + +/** + * 管理员工资政策配置 - 统一管理所有政策类型. + * + * @author AI Assistant + * @since 2025-12-13 + */ +@Data +@Accessors(chain = true) +@Document("admin_salary_policy") +public class AdminSalaryPolicy implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * ID. + */ + @Id + private String id; + + /** + * 政策类型. + * BD_TEAM_SALARY - BD团队工资政策 + * BD_TEAM_RECHARGE - BD团队充值政策 + * RECHARGE_AGENT - 充值代理政策 + * BD_LEADER - BD Leader政策 + */ + private String policyType; + + /** + * 等级(用于BD和BD Leader政策). + */ + private Integer level; + + // ==================== BD Policy 字段 ==================== + + /** + * 所需 Agency 数量(BD政策使用). + */ + private Integer requiredAgencyNumber; + + /** + * 团队金额要求(美元). + * - BD_TEAM_SALARY: 团队工资总和要求 + * - BD_TEAM_RECHARGE: 团队充值总和要求 + */ + private BigDecimal requiredTeamAmount; + + /** + * 提成比例(百分比,如 4% 存储为 4.00). + * 用于 BD_TEAM_SALARY 和 BD_TEAM_RECHARGE 政策 + */ + private BigDecimal commissionRate; + + // ==================== Recharge Agent Policy 字段 ==================== + + /** + * Coin Seller 充值要求(美元). + * 用于 RECHARGE_AGENT 政策 + */ + private BigDecimal requiredCoinSellerRecharge; + + /** + * 管理员固定工资(美元). + * 用于 RECHARGE_AGENT 政策 + */ + private BigDecimal adminFixedSalary; + + /** + * 管理员提成百分比(如 5% 存储为 5.00). + * 用于 RECHARGE_AGENT 政策 + */ + private BigDecimal adminPercentage; + + // ==================== BD Leader Policy 字段 ==================== + + /** + * 所需 BD 数量(BD Leader政策使用). + */ + private Integer requiredBdNumber; + + /** + * 团队工资要求(美元)- 所有 BD 的工资总和. + * 用于 BD_LEADER 政策 + */ + private BigDecimal requiredTeamSalary; + + /** + * 基础工资(美元)- Basic Salary. + * 用于 BD_LEADER 政策 + */ + private BigDecimal basicSalary; + + /** + * 奖励金额(美元)- Reward Amount. + * 用于 BD_LEADER 政策 + */ + private BigDecimal rewardAmount; + + // ==================== 公共字段 ==================== + + /** + * 是否启用. + */ + private Boolean enabled; + + /** + * 备注说明. + */ + private String remark; + + /** + * 创建人. + */ + private Long createdBy; + + /** + * 更新人. + */ + private Long updatedBy; + + /** + * 创建时间. + */ + private Timestamp createTime; + + /** + * 更新时间. + */ + private Timestamp updateTime; +} diff --git a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/enums/AdminPolicyType.java b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/enums/AdminPolicyType.java new file mode 100644 index 00000000..1b850ef9 --- /dev/null +++ b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/enums/AdminPolicyType.java @@ -0,0 +1,38 @@ +package com.red.circle.other.infra.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 管理员工资政策类型枚举. + * + * @author AI Assistant + * @since 2025-12-13 + */ +@Getter +@AllArgsConstructor +public enum AdminPolicyType { + + /** + * BD团队工资政策. + */ + BD_TEAM_SALARY("BD_TEAM_SALARY", "BD团队工资政策"), + + /** + * BD团队充值政策. + */ + BD_TEAM_RECHARGE("BD_TEAM_RECHARGE", "BD团队充值政策"), + + /** + * 充值代理政策. + */ + RECHARGE_AGENT("RECHARGE_AGENT", "充值代理政策"), + + /** + * BD Leader政策. + */ + BD_LEADER("BD_LEADER", "BD Leader政策"); + + private final String code; + private final String desc; +} diff --git a/rc-service/rc-service-other/other-start/src/test/java/DailTaskTest.java b/rc-service/rc-service-other/other-start/src/test/java/DailTaskTest.java index d0724ad4..03d93cc4 100644 --- a/rc-service/rc-service-other/other-start/src/test/java/DailTaskTest.java +++ b/rc-service/rc-service-other/other-start/src/test/java/DailTaskTest.java @@ -1,6 +1,7 @@ import com.red.circle.OtherServiceApplication; import com.red.circle.common.business.core.enums.SysOriginPlatformEnum; import com.red.circle.common.business.enums.SendPropsOrigin; +import com.red.circle.other.app.scheduler.CleanExpiredDismissingCpTask; import com.red.circle.other.app.scheduler.DailyTask; import com.red.circle.other.app.scheduler.RankingActivityRewardTask; import com.red.circle.other.app.scheduler.RocketStatusSyncTask; @@ -25,6 +26,8 @@ public class DailTaskTest { private RocketStatusSyncTask rocketStatusSyncTask; @Autowired private PropsActivityClient propsActivityClient; + @Autowired + private CleanExpiredDismissingCpTask cleanExpiredDismissingCpTask; @Test public void DailTaskTest() { @@ -36,6 +39,11 @@ public class DailTaskTest { rankingActivityRewardTask.sendRankingActivityReward(); } + @Test + public void cpTaskTest() { + cleanExpiredDismissingCpTask.execute(); + } + @Test public void testSendProps() { Long activityId = 1231111L;