|
|
@@ -16,10 +16,7 @@ import com.jzg.organization.mapper.SysActivityAwardMapper;
|
|
|
import com.jzg.organization.mapper.SysActivityMapper;
|
|
|
import com.jzg.organization.mapper.SysActivityRecordMapper;
|
|
|
import com.jzg.organization.mapper.SysUploadFilesMapper;
|
|
|
-import com.jzg.organization.service.SysActivityAwardService;
|
|
|
-import com.jzg.organization.service.SysActivityDeptService;
|
|
|
-import com.jzg.organization.service.SysActivityService;
|
|
|
-import com.jzg.organization.service.SysDeptService;
|
|
|
+import com.jzg.organization.service.*;
|
|
|
import io.minio.MinioClient;
|
|
|
import io.minio.PutObjectArgs;
|
|
|
import io.minio.errors.*;
|
|
|
@@ -43,6 +40,8 @@ import java.time.format.DateTimeFormatter;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
import java.util.Objects;
|
|
|
+import java.util.concurrent.atomic.AtomicInteger;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* @author quchen
|
|
|
@@ -69,6 +68,9 @@ public class SysActivityServiceImpl extends ServiceImpl<SysActivityMapper, SysAc
|
|
|
@Resource
|
|
|
private SysUploadFilesMapper sysUploadFilesMapper;
|
|
|
|
|
|
+ @Resource
|
|
|
+ private SysUserJzgInfoService sysUserJzgInfoService;
|
|
|
+
|
|
|
@Resource
|
|
|
private SysActivityRecordMapper sysActivityRecordMapper;
|
|
|
|
|
|
@@ -169,23 +171,7 @@ public class SysActivityServiceImpl extends ServiceImpl<SysActivityMapper, SysAc
|
|
|
throw new RuntimeException("机构不存在");
|
|
|
}
|
|
|
BeanUtils.copyProperties(sysActivityVo, sysActivity);
|
|
|
- // 更新活动状态
|
|
|
- LocalDate now = LocalDate.now();
|
|
|
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
- LocalDate startTime = LocalDate.parse(sysActivityVo.getActStartTime(), formatter);
|
|
|
- LocalDate endTime = LocalDate.parse(sysActivityVo.getActEndTime(), formatter);
|
|
|
- // 检查当前时间是否早于生效日期
|
|
|
- if (now.isBefore(startTime)) {
|
|
|
- sysActivity.setActStatus("1");
|
|
|
- } else if (now.isAfter(startTime) && now.isBefore(endTime)) {
|
|
|
- sysActivity.setActStatus("2");
|
|
|
- } else if (now.isEqual(startTime)) {
|
|
|
- sysActivity.setActStatus("2");
|
|
|
- } else if (now.isAfter(endTime)) {
|
|
|
- sysActivity.setActStatus("3");
|
|
|
- } else if (now.isEqual(endTime)) {
|
|
|
- sysActivity.setActStatus("3");
|
|
|
- }
|
|
|
+ checkActivityStatus(sysActivityVo.getActStartTime(), sysActivityVo.getActEndTime(), sysActivity);
|
|
|
sysActivityService.updateById(sysActivity);
|
|
|
// 先删除活动下的机构数据
|
|
|
List<SysActivityDept> isExistList = sysActivityDeptService.list(new LambdaQueryWrapper<SysActivityDept>()
|
|
|
@@ -221,6 +207,25 @@ public class SysActivityServiceImpl extends ServiceImpl<SysActivityMapper, SysAc
|
|
|
return HttpResult.ok("修改活动成功");
|
|
|
}
|
|
|
|
|
|
+ public void checkActivityStatus(String actStartTime, String actEndTime, SysActivity sysActivity) {
|
|
|
+ LocalDate now = LocalDate.now();
|
|
|
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
+ LocalDate startTime = LocalDate.parse(actStartTime, formatter);
|
|
|
+ LocalDate endTime = LocalDate.parse(actEndTime, formatter);
|
|
|
+ // 检查当前时间是否早于生效日期
|
|
|
+ if (now.isBefore(startTime)) {
|
|
|
+ sysActivity.setActStatus("1");
|
|
|
+ } else if (now.isAfter(startTime) && now.isBefore(endTime)) {
|
|
|
+ sysActivity.setActStatus("2");
|
|
|
+ } else if (now.isEqual(startTime)) {
|
|
|
+ sysActivity.setActStatus("2");
|
|
|
+ } else if (now.isAfter(endTime)) {
|
|
|
+ sysActivity.setActStatus("3");
|
|
|
+ } else if (now.isEqual(endTime)) {
|
|
|
+ sysActivity.setActStatus("3");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public HttpResult deleteActivity(String id) {
|
|
|
SysActivity sysActivity = sysActivityService.getById(id);
|
|
|
@@ -281,7 +286,24 @@ public class SysActivityServiceImpl extends ServiceImpl<SysActivityMapper, SysAc
|
|
|
|
|
|
@Override
|
|
|
public Page<SysActivity> getActivityList(Page page,SysActivityVo sysActivityVo) {
|
|
|
- return baseMapper.getSysActivityList(page,sysActivityVo);
|
|
|
+ Page<SysActivity> pages = baseMapper.getSysActivityList(page,sysActivityVo);
|
|
|
+ pages.getRecords().forEach(activity -> {
|
|
|
+ SysDept sysDept = sysDeptService.getById(activity.getActDept());
|
|
|
+ AtomicInteger count = new AtomicInteger();
|
|
|
+ List<SysActivityDept> sysActivityDeptList = sysActivityDeptService.list(new LambdaQueryWrapper<SysActivityDept>()
|
|
|
+ .eq(SysActivityDept::getActivityId, activity.getId()).eq(SysActivityDept::getIsEffective, 0));
|
|
|
+ sysActivityDeptList.forEach(sysActivityDept -> {
|
|
|
+ List<SysUserJzgInfo> sysUserJzgInfo = sysUserJzgInfoService.list(new LambdaQueryWrapper<SysUserJzgInfo>().eq(SysUserJzgInfo::getDeptId, sysActivityDept.getDeptId()));
|
|
|
+ count.set(count.get() + sysUserJzgInfo.size());
|
|
|
+ });
|
|
|
+ activity.setDeptIds(sysActivityDeptList.stream().map(SysActivityDept::getDeptId).collect(Collectors.toList()));
|
|
|
+ activity.setActDeptName(sysDept.getName());
|
|
|
+ activity.setDepts(activity.getDeptIds().stream().map(deptId -> sysDeptService.getById(deptId).getName()).collect(Collectors.joining(",")));
|
|
|
+ activity.setUserCount(count);
|
|
|
+ checkActivityStatus(activity.getActStartTime(), activity.getActEndTime(), activity);
|
|
|
+ updateById(activity);
|
|
|
+ });
|
|
|
+ return pages;
|
|
|
}
|
|
|
|
|
|
@Override
|