日常任务-公会活动奖励领取fixed

This commit is contained in:
2025-09-02 18:36:07 +08:00
parent 1205ba59a3
commit e92feb8728
3 changed files with 37 additions and 2 deletions

View File

@@ -31,6 +31,7 @@ public class GuildTaskLevelRewardRecord implements Serializable {
* 公户开业仪式配置ID
*/
private Integer guildTaskId;
private String taskKey;
/**
* 等级
*/

View File

@@ -2,10 +2,17 @@ package com.accompany.business.service.guildtask;
import com.accompany.business.model.guildtask.GuildTaskLevelRewardRecord;
import com.accompany.business.mybatismapper.guildtask.GuildTaskLevelRewardRecordMapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
/**
* 公户开业仪式奖励奖励记录 服务实现类
@@ -17,13 +24,14 @@ import java.util.Date;
public class GuildTaskLevelRewardRecordService extends ServiceImpl<GuildTaskLevelRewardRecordMapper, GuildTaskLevelRewardRecord> {
public GuildTaskLevelRewardRecord calRecord(Integer partitionId, Long uid, Integer guildId, Long guildMemberId, Integer guildTaskId, Integer level,
String cycleDate, String statDate, Byte awardType, Long awardId, Long awardNum, String loginIp, String deviceId) {
String cycleDate, String statDate, Byte awardType, Long awardId, Long awardNum, String loginIp, String deviceId, String taskKey) {
GuildTaskLevelRewardRecord rewardRecord = new GuildTaskLevelRewardRecord();
rewardRecord.setPartitionId(partitionId);
rewardRecord.setUid(uid);
rewardRecord.setGuildId(guildId);
rewardRecord.setGuildMemberId(guildMemberId);
rewardRecord.setGuildTaskId(guildTaskId);
rewardRecord.setTaskKey(taskKey);
rewardRecord.setLevel(level);
rewardRecord.setCycleDate(cycleDate);
rewardRecord.setStatDate(statDate);
@@ -37,4 +45,30 @@ public class GuildTaskLevelRewardRecordService extends ServiceImpl<GuildTaskLeve
return rewardRecord;
}
public Set<Integer> getByDeveceId(String cycleDate, String taskKey, Integer partitionId, String deviceId) {
LambdaQueryWrapper<GuildTaskLevelRewardRecord> wrapper = Wrappers.lambdaQuery();
wrapper.eq(GuildTaskLevelRewardRecord::getTaskKey, taskKey)
.eq(GuildTaskLevelRewardRecord::getPartitionId, partitionId)
.eq(GuildTaskLevelRewardRecord::getCycleDate, cycleDate)
.eq(GuildTaskLevelRewardRecord::getDeviceId, deviceId);
List<GuildTaskLevelRewardRecord> guildTaskLevelRewardRecords = baseMapper.selectList(wrapper);
if (CollectionUtils.isEmpty(guildTaskLevelRewardRecords)) {
return Collections.emptySet();
}
return guildTaskLevelRewardRecords.stream().map(GuildTaskLevelRewardRecord::getLevel).collect(Collectors.toSet());
}
public Set<Integer> getByLoginIp(String cycleDate, String taskKey, Integer partitionId, String loginIp) {
LambdaQueryWrapper<GuildTaskLevelRewardRecord> wrapper = Wrappers.lambdaQuery();
wrapper.eq(GuildTaskLevelRewardRecord::getTaskKey, taskKey)
.eq(GuildTaskLevelRewardRecord::getPartitionId, partitionId)
.eq(GuildTaskLevelRewardRecord::getCycleDate, cycleDate)
.eq(GuildTaskLevelRewardRecord::getDeviceId, loginIp);
List<GuildTaskLevelRewardRecord> guildTaskLevelRewardRecords = baseMapper.selectList(wrapper);
if (CollectionUtils.isEmpty(guildTaskLevelRewardRecords)) {
return Collections.emptySet();
}
return guildTaskLevelRewardRecords.stream().map(GuildTaskLevelRewardRecord::getLevel).collect(Collectors.toSet());
}
}

View File

@@ -447,7 +447,7 @@ public class GuildTaskService {
GuildTaskLevelRewardRecord rewardRecord = guildTaskLevelRewardRecordService.calRecord(partitionId, guildMember.getUid(), guildId, guildMember.getId(),
reachRecord.getGuildTaskId(), reachRecord.getLevel(), reachRecord.getCycleDate(),
reachRecord.getStatDate(), configReward.getAwardType(), configReward.getAwardId(),
configReward.getAwardNum(), loginIp, deviceId);
configReward.getAwardNum(), loginIp, deviceId, dailyTaskTypeEnum.name());
if (configReward.getAwardRole().equals(GuildConstant.RoleType.OWNER)) {//只给公会长发奖励
if (guildMember.getRoleType().equals(GuildConstant.RoleType.OWNER)) {
rewardRecords.add(rewardRecord);