日常任务-公会开业活动

This commit is contained in:
2025-08-29 17:34:48 +08:00
parent 45a8199a64
commit 0fa01562cb
5 changed files with 55 additions and 0 deletions

View File

@@ -22,6 +22,7 @@ public enum DailyTaskTypeEnum {
ROOM_SEND_LUCKY_NUM("ROOM_SEND_LUCKY_NUM"),//送出77个lucky礼物
ROOM_SEND_BRAVO_NUM("ROOM_SEND_BRAVO_NUM"),//送出77个BRAVO礼物
GM_UP_MIC("GM_UP_MIC"),//每日任务新主播上麦(薅羊毛)
GUILD_SALARY("GUILD_SALARY"),//公会长薪资
;
private String handlerType;

View File

@@ -3,6 +3,7 @@ package com.accompany.business.vo.dailytask;
import com.accompany.business.constant.dailytask.DailyTaskConstant;
import com.accompany.business.constant.dailytask.DailyTaskTypeEnum;
import com.accompany.business.model.dailytask.DailyTaskReward;
import com.accompany.business.vo.guild.GuildCycleDiamondWageLevelVo;
import com.accompany.business.vo.guild.GuildMemberWeekLevelRewardItemVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -35,7 +36,10 @@ public class DailyTaskVo {
private String todayDate;
@ApiModelProperty("房间流水奖励")
private DailyTaskRoomDiamondVo diamondVo;
@ApiModelProperty("公会周奖励")
private List<GuildMemberWeekLevelRewardItemVo> guildWeekRewardItems;
@ApiModelProperty("公会长薪资")
private GuildCycleDiamondWageLevelVo cycleDiamondWageLevelVo;
@ApiModelProperty("任务剩余秒数")
private Long expireSecond;
}

View File

@@ -14,11 +14,15 @@ public class GuildCycleDiamondWageLevelVo {
private String curLevel;
@ApiModelProperty("当前等级门槛")
private BigDecimal curLevelWage;
@ApiModelProperty("当前等级薪资比例")
private BigDecimal curWageRatio;
@ApiModelProperty("下一等级")
private String nextLevel;
@ApiModelProperty("下一等级门槛")
private BigDecimal nextLevelWage;
@ApiModelProperty("下一等级薪资比例")
private BigDecimal nextWageRatio;
@ApiModelProperty("当前周期钻石数")
private BigDecimal curDiamond;

View File

@@ -0,0 +1,44 @@
package com.accompany.business.service.dailytask.handler;
import com.accompany.business.constant.dailytask.DailyTaskTypeEnum;
import com.accompany.business.constant.guild.GuildConstant;
import com.accompany.business.model.guild.GuildMember;
import com.accompany.business.service.dailytask.AbstractDailyTaskHandler;
import com.accompany.business.service.dailytask.annotation.DailyTaskHandlerType;
import com.accompany.business.service.guild.GuildDiamondWageService;
import com.accompany.business.service.guild.GuildMemberService;
import com.accompany.business.vo.dailytask.DailyProgressContext;
import com.accompany.business.vo.dailytask.DailyTaskContext;
import com.accompany.business.vo.dailytask.DailyTaskVo;
import com.accompany.business.vo.guild.GuildCycleDiamondWageLevelVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
@DailyTaskHandlerType(DailyTaskTypeEnum.GUILD_SALARY)
public class GuildSalaryHandler extends AbstractDailyTaskHandler {
@Autowired
private GuildMemberService guildMemberService;
@Autowired
private GuildDiamondWageService guildDiamondWageService;
@Override
public void doExecuteProgress(DailyProgressContext progressContext) {
}
@Override
public DailyTaskVo doHandle(DailyTaskContext context) {
Long uid = context.getUid();
GuildMember guildMember = guildMemberService.getVaildGuildMemberByUid(uid);
if (guildMember == null || !guildMember.getRoleType().equals(GuildConstant.RoleType.OWNER)) {
return null;
}
//本周期工资
GuildCycleDiamondWageLevelVo cycleDiamondWageLevelVo = guildDiamondWageService.getCycleDiamondWageLevel(guildMember.getGuildId(), guildMember.getPartitionId());
return DailyTaskVo.builder()
.cycleDiamondWageLevelVo(cycleDiamondWageLevelVo)
.build();
}
}

View File

@@ -35,11 +35,13 @@ public class GuildDiamondWageService extends ServiceImpl<GuildDiamondWageMapper,
diamondWageVo.setNextLevelGap(BigDecimal.ZERO);
diamondWageVo.setCurLevel(curDiamondLevel.getValue().getLevel());
diamondWageVo.setCurLevelWage(curDiamondLevel.getKey());
diamondWageVo.setCurWageRatio(curDiamondLevel.getValue().getWageRatio());
if (null != nextDiamondLevel) {
diamondWageVo.setNextLevel(nextDiamondLevel.getValue().getLevel());
BigDecimal nextLevelWage = nextDiamondLevel.getKey();
diamondWageVo.setNextLevelWage(nextLevelWage);
diamondWageVo.setNextWageRatio(nextDiamondLevel.getValue().getWageRatio());
diamondWageVo.setNextLevelGap(nextLevelWage.subtract(cycleDiamond));
}