日常任务-公会活动奖励领取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 * 公户开业仪式配置ID
*/ */
private Integer guildTaskId; 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.model.guildtask.GuildTaskLevelRewardRecord;
import com.accompany.business.mybatismapper.guildtask.GuildTaskLevelRewardRecordMapper; 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 com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.Date; 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 class GuildTaskLevelRewardRecordService extends ServiceImpl<GuildTaskLevelRewardRecordMapper, GuildTaskLevelRewardRecord> {
public GuildTaskLevelRewardRecord calRecord(Integer partitionId, Long uid, Integer guildId, Long guildMemberId, Integer guildTaskId, Integer level, 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(); GuildTaskLevelRewardRecord rewardRecord = new GuildTaskLevelRewardRecord();
rewardRecord.setPartitionId(partitionId); rewardRecord.setPartitionId(partitionId);
rewardRecord.setUid(uid); rewardRecord.setUid(uid);
rewardRecord.setGuildId(guildId); rewardRecord.setGuildId(guildId);
rewardRecord.setGuildMemberId(guildMemberId); rewardRecord.setGuildMemberId(guildMemberId);
rewardRecord.setGuildTaskId(guildTaskId); rewardRecord.setGuildTaskId(guildTaskId);
rewardRecord.setTaskKey(taskKey);
rewardRecord.setLevel(level); rewardRecord.setLevel(level);
rewardRecord.setCycleDate(cycleDate); rewardRecord.setCycleDate(cycleDate);
rewardRecord.setStatDate(statDate); rewardRecord.setStatDate(statDate);
@@ -37,4 +45,30 @@ public class GuildTaskLevelRewardRecordService extends ServiceImpl<GuildTaskLeve
return rewardRecord; 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(), GuildTaskLevelRewardRecord rewardRecord = guildTaskLevelRewardRecordService.calRecord(partitionId, guildMember.getUid(), guildId, guildMember.getId(),
reachRecord.getGuildTaskId(), reachRecord.getLevel(), reachRecord.getCycleDate(), reachRecord.getGuildTaskId(), reachRecord.getLevel(), reachRecord.getCycleDate(),
reachRecord.getStatDate(), configReward.getAwardType(), configReward.getAwardId(), reachRecord.getStatDate(), configReward.getAwardType(), configReward.getAwardId(),
configReward.getAwardNum(), loginIp, deviceId); configReward.getAwardNum(), loginIp, deviceId, dailyTaskTypeEnum.name());
if (configReward.getAwardRole().equals(GuildConstant.RoleType.OWNER)) {//只给公会长发奖励 if (configReward.getAwardRole().equals(GuildConstant.RoleType.OWNER)) {//只给公会长发奖励
if (guildMember.getRoleType().equals(GuildConstant.RoleType.OWNER)) { if (guildMember.getRoleType().equals(GuildConstant.RoleType.OWNER)) {
rewardRecords.add(rewardRecord); rewardRecords.add(rewardRecord);