diff --git a/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/model/guildtask/GuildTaskLevelRewardRecord.java b/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/model/guildtask/GuildTaskLevelRewardRecord.java index 088b92253..e55615a03 100644 --- a/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/model/guildtask/GuildTaskLevelRewardRecord.java +++ b/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/model/guildtask/GuildTaskLevelRewardRecord.java @@ -31,6 +31,7 @@ public class GuildTaskLevelRewardRecord implements Serializable { * 公户开业仪式配置ID */ private Integer guildTaskId; + private String taskKey; /** * 等级 */ diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/guildtask/GuildTaskLevelRewardRecordService.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/guildtask/GuildTaskLevelRewardRecordService.java index 5de126e91..0a43ab0a6 100644 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/guildtask/GuildTaskLevelRewardRecordService.java +++ b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/guildtask/GuildTaskLevelRewardRecordService.java @@ -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 { 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 getByDeveceId(String cycleDate, String taskKey, Integer partitionId, String deviceId) { + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + wrapper.eq(GuildTaskLevelRewardRecord::getTaskKey, taskKey) + .eq(GuildTaskLevelRewardRecord::getPartitionId, partitionId) + .eq(GuildTaskLevelRewardRecord::getCycleDate, cycleDate) + .eq(GuildTaskLevelRewardRecord::getDeviceId, deviceId); + List guildTaskLevelRewardRecords = baseMapper.selectList(wrapper); + if (CollectionUtils.isEmpty(guildTaskLevelRewardRecords)) { + return Collections.emptySet(); + } + return guildTaskLevelRewardRecords.stream().map(GuildTaskLevelRewardRecord::getLevel).collect(Collectors.toSet()); + } + + public Set getByLoginIp(String cycleDate, String taskKey, Integer partitionId, String loginIp) { + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + wrapper.eq(GuildTaskLevelRewardRecord::getTaskKey, taskKey) + .eq(GuildTaskLevelRewardRecord::getPartitionId, partitionId) + .eq(GuildTaskLevelRewardRecord::getCycleDate, cycleDate) + .eq(GuildTaskLevelRewardRecord::getDeviceId, loginIp); + List guildTaskLevelRewardRecords = baseMapper.selectList(wrapper); + if (CollectionUtils.isEmpty(guildTaskLevelRewardRecords)) { + return Collections.emptySet(); + } + return guildTaskLevelRewardRecords.stream().map(GuildTaskLevelRewardRecord::getLevel).collect(Collectors.toSet()); + } + } diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/guildtask/GuildTaskService.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/guildtask/GuildTaskService.java index d5e483dcd..6a93ef06f 100644 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/guildtask/GuildTaskService.java +++ b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/guildtask/GuildTaskService.java @@ -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);