添加工会统计保存逻辑

This commit is contained in:
liaozetao
2023-12-21 15:22:50 +08:00
parent 632c069865
commit d5eb9a5521
2 changed files with 37 additions and 11 deletions

View File

@@ -65,7 +65,7 @@ public class LaborStatsAdminService extends BaseService {
}
//@Async
public void guildStatistics(Date startTime, Date endTime, String erBanNoStr, String cacheKey) {
public List<LaborStatsVo> guildStatistics(Date startTime, Date endTime, String erBanNoStr, String cacheKey) {
logger.info("startTime : {}, startTime : {}, erBanNoStr : {}, cacheKey : {}", startTime, endTime, erBanNoStr, cacheKey);
Date dateTime = startTime;
List<LaborStatsVo> data = new ArrayList<>();
@@ -244,8 +244,11 @@ public class LaborStatsAdminService extends BaseService {
if (CollectionUtils.isEmpty(data)) {
data = null;
}
jedisService.setnx(cacheKey, JSON.toJSONString(data), OVERDUE_TIME);
logger.info("异步执行laborStatsV2 完成:" + cacheKey);
if (StrUtil.isNotEmpty(cacheKey)) {
jedisService.setnx(cacheKey, JSON.toJSONString(data), OVERDUE_TIME);
logger.info("异步执行laborStatsV2 完成:" + cacheKey);
}
return data;
}

View File

@@ -1,23 +1,32 @@
package com.accompany.admin.service.stats.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.accompany.admin.dto.stats.LaborStatsDto;
import com.accompany.admin.mapper.stats.HallLaborStatsMapper;
import com.accompany.admin.model.stats.HallLaborStats;
import com.accompany.admin.service.statistic.LaborStatsAdminService;
import com.accompany.admin.service.stats.HallLaborStatsService;
import com.accompany.admin.vo.stats.LaborStatsVo;
import com.accompany.business.model.Hall;
import com.accompany.business.model.HallExample;
import com.accompany.business.mybatismapper.HallMapper;
import com.accompany.common.constant.Constant;
import com.accompany.common.utils.DateTimeUtil;
import com.accompany.core.exception.ServiceException;
import com.accompany.core.model.Room;
import com.accompany.core.model.Users;
import com.accompany.core.service.user.UsersBaseService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
/**
* @author: liaozetao
@@ -45,15 +54,29 @@ public class HallLaborStatsServiceImpl extends ServiceImpl<HallLaborStatsMapper,
log.info("hall is empty.");
return;
}
for (Hall hall : halls) {
Long ownerUid = hall.getOwnerUid();
Users users = usersBaseService.getUsersByUid(ownerUid);
if (users == null) {
log.info("{} is not exists.", ownerUid);
continue;
Date dateTime = startTime;
while (DateTimeUtil.compareTime(endTime, dateTime) >= 0) {
for (Hall hall : halls) {
Date currentEndTime = DateTimeUtil.addDays(dateTime, 1);
Long ownerUid = hall.getOwnerUid();
Users users = usersBaseService.getUsersByUid(ownerUid);
if (users == null) {
log.info("{} is not exists.", ownerUid);
continue;
}
Long erBanNo = users.getErbanNo();
List<LaborStatsVo> data = laborStatsAdminService.guildStatistics(dateTime, currentEndTime, String.valueOf(erBanNo), null);
if (CollectionUtil.isEmpty(data)) {
continue;
}
for (LaborStatsVo stats : data) {
HallLaborStats hallLaborStats = new HallLaborStats();
BeanUtils.copyProperties(stats, hallLaborStats);
save(hallLaborStats);
}
}
Long erBanNo = users.getErbanNo();
laborStatsAdminService.guildStatistics(startTime, endTime, String.valueOf(erBanNo), null);
dateTime = DateTimeUtil.addDays(dateTime, 1);
}
}
}