From abbeab333b1610a0d5da9f958476ff7412566059 Mon Sep 17 00:00:00 2001 From: hokli <2629910752@qq.com> Date: Tue, 26 Aug 2025 11:30:25 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E5=B8=B8=E4=BB=BB=E5=8A=A1=E6=94=B9?= =?UTF-8?q?=E7=89=88tab?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../accompany/common/status/BusiStatus.java | 1 + .../constant/dailytask/DailyTaskConstant.java | 7 ++++ .../business/vo/dailytask/DailyTaskTabVo.java | 20 ++++++++++ .../service/dailytask/DailyTaskService.java | 37 ++++++++++++++++--- .../dailytask/DailyTaskController.java | 8 ++++ 5 files changed, 68 insertions(+), 5 deletions(-) create mode 100644 accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/vo/dailytask/DailyTaskTabVo.java diff --git a/accompany-base/accompany-common/src/main/java/com/accompany/common/status/BusiStatus.java b/accompany-base/accompany-common/src/main/java/com/accompany/common/status/BusiStatus.java index 89fcec745..a816dd1cd 100644 --- a/accompany-base/accompany-common/src/main/java/com/accompany/common/status/BusiStatus.java +++ b/accompany-base/accompany-common/src/main/java/com/accompany/common/status/BusiStatus.java @@ -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; diff --git a/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/constant/dailytask/DailyTaskConstant.java b/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/constant/dailytask/DailyTaskConstant.java index f8278603d..46447901c 100644 --- a/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/constant/dailytask/DailyTaskConstant.java +++ b/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/constant/dailytask/DailyTaskConstant.java @@ -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; + } } diff --git a/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/vo/dailytask/DailyTaskTabVo.java b/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/vo/dailytask/DailyTaskTabVo.java new file mode 100644 index 000000000..36c9dfa4d --- /dev/null +++ b/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/vo/dailytask/DailyTaskTabVo.java @@ -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; +} diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/dailytask/DailyTaskService.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/dailytask/DailyTaskService.java index 77c1103bc..aaed39e9f 100644 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/dailytask/DailyTaskService.java +++ b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/dailytask/DailyTaskService.java @@ -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> taskTab(Long uid) { + Users users = usersService.getUsersByUid(uid); + Integer partitionId = users.getPartitionId(); + List 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 dailyTaskVos = this.taskVoList(partitionId, taskTabType, taskRole, uid); @@ -121,7 +149,6 @@ public class DailyTaskService { executeDailyTask(dailyTaskVo, uid, partitionId); }); - return dailyTaskVos; } diff --git a/accompany-business/accompany-business-web/src/main/java/com/accompany/business/controller/activity/dailytask/DailyTaskController.java b/accompany-business/accompany-business-web/src/main/java/com/accompany/business/controller/activity/dailytask/DailyTaskController.java index 9c7fc5a19..dea682c0b 100644 --- a/accompany-business/accompany-business-web/src/main/java/com/accompany/business/controller/activity/dailytask/DailyTaskController.java +++ b/accompany-business/accompany-business-web/src/main/java/com/accompany/business/controller/activity/dailytask/DailyTaskController.java @@ -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> taskTab(@RequestHeader(PUB_UID) Long uid) { + return dailyTaskService.taskTab(uid); + } + @ApiOperation(value = "任务列表", httpMethod = "GET") @GetMapping("/tasks") public BusiResult> tasks(@RequestHeader(PUB_UID) Long uid,