日常任务-日任务奖励领取详情-明细

This commit is contained in:
2025-08-27 18:05:14 +08:00
parent 79b957f3fb
commit 1a12722bdf
9 changed files with 174 additions and 8 deletions

View File

@@ -0,0 +1,23 @@
package com.accompany.business.vo.dailytask;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class DailyCoinRecvRecordVo {
@ApiModelProperty(value = "公会 Id")
private Integer guildId;
@ApiModelProperty(value = "主播 uid")
private Long uid;
@ApiModelProperty(value = "主播 id")
private Long erbanNo;
@ApiModelProperty(value = "主播状态")
private String statusStr;
@ApiModelProperty(value = "领取IP")
private String ip;
@ApiModelProperty(value = "领取设备")
private String deviceId;
@ApiModelProperty(value = "领取时间")
private String receiveTime;
}

View File

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Service;
/**
@@ -21,8 +22,8 @@ public class DailyTaskRecvCoinStatService extends ServiceImpl<DailyTaskRecvCoinS
public IPage<DailyTaskRecvCoinStat> selectDailyCoinRecvStat(Integer partitionId, String startDate, String endDate, Integer pageNo, Integer pageSize) {
LambdaQueryWrapper<DailyTaskRecvCoinStat> wrapper = Wrappers.lambdaQuery();
wrapper.eq(DailyTaskRecvCoinStat::getPartitionId, partitionId)
.ge(DailyTaskRecvCoinStat::getStatDate, startDate)
.le(DailyTaskRecvCoinStat::getStatDate, endDate)
.ge(StringUtils.isNotEmpty(startDate), DailyTaskRecvCoinStat::getStatDate, startDate)
.le(StringUtils.isNotEmpty(endDate), DailyTaskRecvCoinStat::getStatDate, endDate)
.orderByDesc(DailyTaskRecvCoinStat::getStatDate);
return baseMapper.selectPage(new Page<>(pageNo, pageSize), wrapper);
}

View File

@@ -3,7 +3,10 @@ package com.accompany.business.service.dailytask;
import com.accompany.business.model.dailytask.DailyTaskRewardRecord;
import com.accompany.business.mybatismapper.dailytask.DailyTaskRewardRecordMapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Service;
import java.util.Date;
@@ -46,4 +49,16 @@ public class DailyTaskRewardRecordService extends ServiceImpl<DailyTaskRewardRec
.eq(DailyTaskRewardRecord::getStatDate, statDate);
return this.baseMapper.selectCount(wrapper).intValue();
}
public IPage<DailyTaskRewardRecord> listDetail(Long uid, Integer partitionId, String statDate, String taskKey,
String deviceId, String ip, Integer pageNo, Integer pageSize) {
LambdaQueryWrapper<DailyTaskRewardRecord> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(DailyTaskRewardRecord::getPartitionId, partitionId)
.eq(uid != null, DailyTaskRewardRecord::getUid, uid)
.eq(DailyTaskRewardRecord::getTaskKey, taskKey)
.eq(DailyTaskRewardRecord::getStatDate, statDate)
.like(StringUtils.isNotEmpty(deviceId), DailyTaskRewardRecord::getDeviceId, deviceId)
.like(StringUtils.isNotEmpty(ip), DailyTaskRewardRecord::getLoginIp, ip);
return this.baseMapper.selectPage(new Page<>(pageNo, pageSize), wrapper);
}
}

View File

@@ -21,7 +21,7 @@ public class DailyTaskStatService {
@Autowired
private DailyTaskRecvCoinStatService dailyTaskRecvCoinStatService;
public DailyTaskRecvCoinStat statDailyCoinRecvStat(Integer partitionId, String statDate) {
public DailyTaskRecvCoinStat statDailyCoinRecvStat(Integer partitionId, String statDate, boolean insertFalg) {
DailyTaskRecvCoinStat dailyTaskRecvCoinStat = new DailyTaskRecvCoinStat();
Integer receiveNum = dailyTaskRewardRecordService.selectCount(partitionId, DailyTaskTypeEnum.UP_MIC_COIN.name(), statDate);
long guildMember = guildMemberService.countValidGuildMember(partitionId);
@@ -33,7 +33,9 @@ public class DailyTaskStatService {
dailyTaskRecvCoinStat.setGuildMemberNumn((int)guildMember);
dailyTaskRecvCoinStat.setCreateTime(new Date());
dailyTaskRecvCoinStat.setUpdateTime(dailyTaskRecvCoinStat.getCreateTime());
dailyTaskRecvCoinStatService.save(dailyTaskRecvCoinStat);
if (insertFalg) {
dailyTaskRecvCoinStatService.save(dailyTaskRecvCoinStat);
}
return dailyTaskRecvCoinStat;
}
}

View File

@@ -106,4 +106,15 @@ public class GuildMemberService extends ServiceImpl<GuildMemberMapper, GuildMemb
.eq(GuildMember::getEnable, Boolean.TRUE)
.count();
}
public Map<Long, GuildMember> mapByIds(List<Long> guildMemberIds) {
if (CollectionUtils.isEmpty(guildMemberIds)) {
return Collections.emptyMap();
}
List<GuildMember> guildMembers = baseMapper.selectByIds(guildMemberIds);
if (CollectionUtils.isEmpty(guildMembers)) {
return Collections.emptyMap();
}
return guildMembers.stream().collect(Collectors.toMap(GuildMember::getId, x -> x));
}
}

View File

@@ -61,7 +61,7 @@
<select id="countByPartitionDate" resultType="java.lang.Integer">
select
count(sum(mic_minutes) > #{reachMinutes}) reachNum,
count(mic_minutes > #{reachMinutes})
from guild_mic_statistics_policy2
where stat_date = #{statDate} and partition_id = #{partitionId}
</select>