日常任务改版tab

This commit is contained in:
2025-08-26 11:30:25 +08:00
parent fd62c2a88d
commit abbeab333b
5 changed files with 68 additions and 5 deletions

View File

@@ -978,6 +978,7 @@ public enum BusiStatus {
GUILD_H5_INVITE_EMAIL_ALREADY_BOUND(33001, "该邮箱地址不是新的"),
GUILD_H5_INVITE_JOIN_GUILD_NOT_EXIST(33002, "邀请人公会不存在"),
DAILY_TASK_LIMIT(500, "ACCESS DENIED"),
;
private final int value;

View File

@@ -48,4 +48,11 @@ public interface DailyTaskConstant {
int IP_SIGN_LIMIT_NUM = 5;
int SIGN_ROUND_DAY = 7;
interface TaskTabType {
int DAILY_TAB = 1;
int WEEK_TAB = 2;
int GUILD_TAB = 3;
}
}

View File

@@ -0,0 +1,20 @@
package com.accompany.business.vo.dailytask;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@AllArgsConstructor
@NoArgsConstructor
@Builder
@ApiModel
@Data
public class DailyTaskTabVo {
@ApiModelProperty("tab类型1-日常任务2-周任务3-公会开业")
private Integer taskTabType;
@ApiModelProperty("是否开启")
private Boolean locked;
}

View File

@@ -2,6 +2,7 @@ package com.accompany.business.service.dailytask;
import com.accompany.business.common.constant.RewardTypeEnum;
import com.accompany.business.common.vo.RewardVo;
import com.accompany.business.constant.dailytask.DailyTaskConstant;
import com.accompany.business.constant.dailytask.DailyTaskTypeEnum;
import com.accompany.business.constant.guild.GuildConstant;
import com.accompany.business.model.dailytask.DailyTaskConfig;
@@ -10,13 +11,11 @@ import com.accompany.business.model.guild.GuildMember;
import com.accompany.business.service.activity.h5.ActivityH5LevelAwardService;
import com.accompany.business.service.guild.GuildMemberService;
import com.accompany.business.service.user.UsersService;
import com.accompany.business.vo.dailytask.DailyProgressContext;
import com.accompany.business.vo.dailytask.DailyTaskContext;
import com.accompany.business.vo.dailytask.DailyTaskRewardVo;
import com.accompany.business.vo.dailytask.DailyTaskVo;
import com.accompany.business.vo.dailytask.*;
import com.accompany.common.result.BusiResult;
import com.accompany.common.status.BusiStatus;
import com.accompany.common.utils.StringUtils;
import com.accompany.core.enumeration.PartitionEnum;
import com.accompany.core.exception.ServiceException;
import com.accompany.core.model.Users;
import com.accompany.payment.service.RechargeUserService;
@@ -91,6 +90,27 @@ public class DailyTaskService {
return handler.receive(uid, todayDate, dailyTaskVo);
}
public BusiResult<List<DailyTaskTabVo>> taskTab(Long uid) {
Users users = usersService.getUsersByUid(uid);
Integer partitionId = users.getPartitionId();
List<DailyTaskTabVo> resultList = new ArrayList<>();
resultList.add(DailyTaskTabVo.builder().taskTabType(DailyTaskConstant.TaskTabType.DAILY_TAB).locked(Boolean.TRUE).build());
if (PartitionEnum.ENGLISH2.getId() == partitionId) {
GuildMember guildMember = guildMemberService.getVaildGuildMemberByUid(uid);
if (guildMember == null) {
resultList.add(DailyTaskTabVo.builder().taskTabType(DailyTaskConstant.TaskTabType.WEEK_TAB).locked(Boolean.FALSE).build());
resultList.add(DailyTaskTabVo.builder().taskTabType(DailyTaskConstant.TaskTabType.GUILD_TAB).locked(Boolean.FALSE).build());
} else if (guildMember.getRoleType().equals(GuildConstant.RoleType.OWNER)) {
resultList.add(DailyTaskTabVo.builder().taskTabType(DailyTaskConstant.TaskTabType.WEEK_TAB).locked(Boolean.TRUE).build());
resultList.add(DailyTaskTabVo.builder().taskTabType(DailyTaskConstant.TaskTabType.GUILD_TAB).locked(Boolean.TRUE).build());
} else {
resultList.add(DailyTaskTabVo.builder().taskTabType(DailyTaskConstant.TaskTabType.WEEK_TAB).locked(Boolean.TRUE).build());
resultList.add(DailyTaskTabVo.builder().taskTabType(DailyTaskConstant.TaskTabType.GUILD_TAB).locked(Boolean.FALSE).build());
}
}
return BusiResult.success(resultList);
}
/**
* 任务列表
*
@@ -109,6 +129,14 @@ public class DailyTaskService {
}
});
if (guildMember == null && (taskTabType == DailyTaskConstant.TaskTabType.GUILD_TAB
|| taskTabType == DailyTaskConstant.TaskTabType.WEEK_TAB)) {
throw new ServiceException(BusiStatus.DAILY_TASK_LIMIT);
} else if (guildMember != null && !guildMember.getRoleType().equals(GuildConstant.RoleType.OWNER)
&& taskTabType == DailyTaskConstant.TaskTabType.GUILD_TAB) {
throw new ServiceException(BusiStatus.DAILY_TASK_LIMIT);
}
Users users = usersService.getUsersByUid(uid);
Integer partitionId = users.getPartitionId();
List<DailyTaskVo> dailyTaskVos = this.taskVoList(partitionId, taskTabType, taskRole, uid);
@@ -121,7 +149,6 @@ public class DailyTaskService {
executeDailyTask(dailyTaskVo, uid, partitionId);
});
return dailyTaskVos;
}

View File

@@ -3,6 +3,7 @@ package com.accompany.business.controller.activity.dailytask;
import com.accompany.business.service.dailytask.DailyTaskService;
import com.accompany.business.service.dailytask.DailyTaskShopService;
import com.accompany.business.vo.dailytask.DailyTaskShopCenterVo;
import com.accompany.business.vo.dailytask.DailyTaskTabVo;
import com.accompany.business.vo.dailytask.DailyTaskVo;
import com.accompany.business.vo.dailytask.UserGoldBeanBillVo;
import com.accompany.common.result.BusiResult;
@@ -26,6 +27,13 @@ public class DailyTaskController {
@Autowired
private DailyTaskShopService dailyTaskShopService;
@ApiOperation(value = "任务列表-tab", httpMethod = "GET")
@GetMapping("/taskTab")
public BusiResult<List<DailyTaskTabVo>> taskTab(@RequestHeader(PUB_UID) Long uid) {
return dailyTaskService.taskTab(uid);
}
@ApiOperation(value = "任务列表", httpMethod = "GET")
@GetMapping("/tasks")
public BusiResult<List<DailyTaskVo>> tasks(@RequestHeader(PUB_UID) Long uid,