|
|
@@ -5,15 +5,19 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.jzg.commons.core.base.BaseController;
|
|
|
import com.jzg.commons.core.page.HttpResult;
|
|
|
+import com.jzg.commons.entity.dto.SysActivityRecordDto;
|
|
|
import com.jzg.commons.entity.po.*;
|
|
|
-import com.jzg.commons.entity.vo.SysActivityAwardVo;
|
|
|
+import com.jzg.commons.entity.vo.CheckActivityDeptVo;
|
|
|
+import com.jzg.commons.entity.vo.SysActivityRecordVo;
|
|
|
import com.jzg.commons.entity.vo.SysActivityVo;
|
|
|
import com.jzg.commons.util.MinioUtils;
|
|
|
import com.jzg.commons.util.StringUtils;
|
|
|
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 jakarta.annotation.Resource;
|
|
|
@@ -48,18 +52,40 @@ public class SysActivityServiceImpl extends ServiceImpl<SysActivityMapper, SysAc
|
|
|
@Resource
|
|
|
private SysActivityAwardMapper sysActivityAwardMapper;
|
|
|
|
|
|
+ @Resource
|
|
|
+ private SysActivityDeptService sysActivityDeptService;
|
|
|
+
|
|
|
@Resource
|
|
|
private SysUploadFilesMapper sysUploadFilesMapper;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private SysActivityRecordMapper sysActivityRecordMapper;
|
|
|
+
|
|
|
@Qualifier("baseController")
|
|
|
@Autowired
|
|
|
private BaseController controller;
|
|
|
|
|
|
@Override
|
|
|
public HttpResult addActivity(SysActivityVo sysActivityVo) {
|
|
|
+ //处理机构归属以及所选机构是否有有效活动问题
|
|
|
SysDept sysDept = sysDeptService.getById(sysActivityVo.getActDept());
|
|
|
if (Objects.isNull(sysDept) || sysDept.getIsDelete().equals(1)) {
|
|
|
throw new RuntimeException("机构不存在");
|
|
|
}
|
|
|
+ sysActivityVo.setIsJoin(0);
|
|
|
+ boolean isExist = sysActivityDeptService.exists(new LambdaQueryWrapper<SysActivityDept>()
|
|
|
+ .eq(SysActivityDept::getDeptId, sysActivityVo.getActDept()).eq(SysActivityDept::getIsEffective, 0));
|
|
|
+ if (isExist) {
|
|
|
+ sysActivityVo.setIsJoin(1);
|
|
|
+ }
|
|
|
+ for (String deptId : sysActivityVo.getDeptIds()) {
|
|
|
+ boolean isExist1 = sysActivityDeptService.exists(new LambdaQueryWrapper<SysActivityDept>()
|
|
|
+ .eq(SysActivityDept::getDeptId, deptId).eq(SysActivityDept::getIsEffective, 0));
|
|
|
+ if (isExist1) {
|
|
|
+ sysActivityVo.setIsJoin(1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
String userId = controller.getUserName();
|
|
|
SysActivity sysActivity = new SysActivity(userId);
|
|
|
BeanUtils.copyProperties(sysActivityVo, sysActivity);
|
|
|
@@ -86,7 +112,32 @@ public class SysActivityServiceImpl extends ServiceImpl<SysActivityMapper, SysAc
|
|
|
sysActivity.setActStatus("3");
|
|
|
}
|
|
|
sysActivityService.save(sysActivity);
|
|
|
- return HttpResult.ok("添加活动成功", sysActivity.getId());
|
|
|
+ for (String deptId : sysActivityVo.getDeptIds()) {
|
|
|
+ SysActivityDept isEffective = sysActivityDeptService.getOne(new LambdaQueryWrapper<SysActivityDept>()
|
|
|
+ .eq(SysActivityDept::getDeptId, deptId).eq(SysActivityDept::getIsEffective, 0));
|
|
|
+ if (Objects.nonNull(isEffective)) {
|
|
|
+ isEffective.setIsEffective("1"); // 将原先机构有效活动设置为无效
|
|
|
+ sysActivityDeptService.updateById(isEffective);
|
|
|
+ }
|
|
|
+ // 新增一条所选机构有效活动数据
|
|
|
+ SysActivityDept sysActivityDept = new SysActivityDept();
|
|
|
+ sysActivityDept.setActivityId(sysActivity.getId());
|
|
|
+ sysActivityDept.setDeptId(deptId);
|
|
|
+ sysActivityDept.setIsEffective("0");
|
|
|
+ sysActivityDeptService.save(sysActivityDept);
|
|
|
+ }
|
|
|
+ List<SysActivityAward> sysActivityAwardList = new ArrayList<>();
|
|
|
+ for (SysActivityVo.AwardList awardList : sysActivityVo.getAwardList()) {
|
|
|
+ if (sysActivity.getActStatus().equals("3")) {
|
|
|
+ throw new RuntimeException("活动已结束");
|
|
|
+ }
|
|
|
+ SysActivityAward sysActivityAward = new SysActivityAward();
|
|
|
+ BeanUtils.copyProperties(awardList, sysActivityAward);
|
|
|
+ sysActivityAward.setActivityId(sysActivity.getId());
|
|
|
+ sysActivityAwardList.add(sysActivityAward);
|
|
|
+ }
|
|
|
+ sysActivityAwardService.saveBatch(sysActivityAwardList);
|
|
|
+ return HttpResult.ok("添加活动成功", sysActivityVo.getIsJoin());
|
|
|
}
|
|
|
|
|
|
@Transactional
|
|
|
@@ -104,40 +155,43 @@ 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)) {
|
|
|
+ } else if (now.isAfter(startTime) && now.isBefore(endTime)) {
|
|
|
sysActivity.setActStatus("2");
|
|
|
- }
|
|
|
- else if (now.isEqual(startTime)) {
|
|
|
+ } else if (now.isEqual(startTime)) {
|
|
|
sysActivity.setActStatus("2");
|
|
|
- }
|
|
|
- else if (now.isAfter(endTime)) {
|
|
|
+ } else if (now.isAfter(endTime)) {
|
|
|
sysActivity.setActStatus("3");
|
|
|
- }
|
|
|
- else if (now.isEqual(endTime)) {
|
|
|
+ } else if (now.isEqual(endTime)) {
|
|
|
sysActivity.setActStatus("3");
|
|
|
}
|
|
|
sysActivityService.updateById(sysActivity);
|
|
|
- return HttpResult.ok("修改活动成功");
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public HttpResult addActivityAward(SysActivityAwardVo sysActivityAwardVo) {
|
|
|
- List<SysActivityAward> sysActivityAwardList = new ArrayList<>();
|
|
|
- for (SysActivityAwardVo.AwardList awardList : sysActivityAwardVo.getAwardList()) {
|
|
|
- SysActivity sysActivity = sysActivityService.getById(sysActivityAwardVo.getActivityId());
|
|
|
- if (Objects.isNull(sysActivity)) {
|
|
|
- throw new RuntimeException("活动不存在");
|
|
|
+ // 先删除活动下的机构数据
|
|
|
+ List<SysActivityDept> isExistList = sysActivityDeptService.list(new LambdaQueryWrapper<SysActivityDept>()
|
|
|
+ .eq(SysActivityDept::getActivityId, sysActivityVo.getId()));
|
|
|
+ sysActivityDeptService.removeBatchByIds(isExistList);
|
|
|
+ for (String deptId : sysActivityVo.getDeptIds()) {
|
|
|
+ SysActivityDept isEffective = sysActivityDeptService.getOne(new LambdaQueryWrapper<SysActivityDept>()
|
|
|
+ .eq(SysActivityDept::getDeptId, deptId).eq(SysActivityDept::getIsEffective, 0));
|
|
|
+ if (Objects.nonNull(isEffective)) {
|
|
|
+ isEffective.setIsEffective("1"); // 将原先机构有效活动设置为无效
|
|
|
+ sysActivityDeptService.updateById(isEffective);
|
|
|
}
|
|
|
+ // 新增一条所选机构有效活动数据
|
|
|
+ SysActivityDept sysActivityDept = new SysActivityDept();
|
|
|
+ sysActivityDept.setActivityId(sysActivity.getId());
|
|
|
+ sysActivityDept.setDeptId(deptId);
|
|
|
+ sysActivityDept.setIsEffective("0");
|
|
|
+ sysActivityDeptService.save(sysActivityDept);
|
|
|
+ }
|
|
|
+ for (SysActivityVo.AwardList awardList : sysActivityVo.getAwardList()) {
|
|
|
if (sysActivity.getActStatus().equals("3")) {
|
|
|
throw new RuntimeException("活动已结束");
|
|
|
}
|
|
|
@@ -148,15 +202,9 @@ public class SysActivityServiceImpl extends ServiceImpl<SysActivityMapper, SysAc
|
|
|
}
|
|
|
BeanUtils.copyProperties(awardList, sysActivityAward);
|
|
|
sysActivityAwardService.updateById(sysActivityAward);
|
|
|
- } else{
|
|
|
- SysActivityAward sysActivityAward = new SysActivityAward();
|
|
|
- BeanUtils.copyProperties(awardList, sysActivityAward);
|
|
|
- sysActivityAward.setActivityId(sysActivityAwardVo.getActivityId());
|
|
|
- sysActivityAwardList.add(sysActivityAward);
|
|
|
}
|
|
|
}
|
|
|
- sysActivityAwardService.saveBatch(sysActivityAwardList);
|
|
|
- return HttpResult.ok("添加奖品成功");
|
|
|
+ return HttpResult.ok("修改活动成功");
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -170,6 +218,21 @@ public class SysActivityServiceImpl extends ServiceImpl<SysActivityMapper, SysAc
|
|
|
return HttpResult.ok("删除活动成功");
|
|
|
}
|
|
|
|
|
|
+ public HttpResult checkActivityDept(CheckActivityDeptVo checkActivityDeptVo) {
|
|
|
+ for (String deptId : checkActivityDeptVo.getDeptIds()) {
|
|
|
+ SysDept sysDept = sysDeptService.getById(deptId);
|
|
|
+ if (Objects.isNull(sysDept)) {
|
|
|
+ throw new RuntimeException("机构不存在");
|
|
|
+ }
|
|
|
+ boolean isExist = sysActivityDeptService.exists(new LambdaQueryWrapper<SysActivityDept>()
|
|
|
+ .eq(SysActivityDept::getDeptId, deptId).eq(SysActivityDept::getIsEffective, 0));
|
|
|
+ if (isExist) {
|
|
|
+ checkActivityDeptVo.setIsJoin("1");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return HttpResult.ok(checkActivityDeptVo.getIsJoin());
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public HttpResult getActivity(SysActivityVo sysActivityVo) {
|
|
|
SysActivity sysActivity = sysActivityService.getById(sysActivityVo.getId());
|
|
|
@@ -186,6 +249,19 @@ public class SysActivityServiceImpl extends ServiceImpl<SysActivityMapper, SysAc
|
|
|
}
|
|
|
sysActivity.setAwardList(awardList);
|
|
|
|
|
|
+ List<String> deptIds = new ArrayList<>();
|
|
|
+ List<SysActivity.DeptData> deptData = new ArrayList<>();
|
|
|
+ List<SysActivityDept> sysActivityDeptList = sysActivityDeptService.list(new LambdaQueryWrapper<SysActivityDept>()
|
|
|
+ .eq(SysActivityDept::getActivityId, sysActivityVo.getId()).eq(SysActivityDept::getIsEffective, 0));
|
|
|
+ for (SysActivityDept sysActivityDept : sysActivityDeptList) {
|
|
|
+ SysDept sysDept = sysDeptService.getById(sysActivityDept.getDeptId());
|
|
|
+ deptIds.add(sysDept.getId());
|
|
|
+ SysActivity.DeptData data = new SysActivity.DeptData(sysDept.getId(), sysDept.getName());
|
|
|
+ deptData.add(data);
|
|
|
+ }
|
|
|
+ sysActivity.setDeptIds(deptIds);
|
|
|
+ sysActivity.setDeptData(deptData);
|
|
|
+
|
|
|
return HttpResult.ok(sysActivity);
|
|
|
}
|
|
|
|
|
|
@@ -193,4 +269,9 @@ public class SysActivityServiceImpl extends ServiceImpl<SysActivityMapper, SysAc
|
|
|
public Page<SysActivity> getActivityList(Page page,SysActivityVo sysActivityVo) {
|
|
|
return baseMapper.getSysActivityList(page,sysActivityVo);
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Page<SysActivityRecordDto> getActivityRecord(Page page, SysActivityRecordVo sysActivityRecordVo) {
|
|
|
+ return sysActivityRecordMapper.getActivityRecord(page,sysActivityRecordVo);
|
|
|
+ }
|
|
|
}
|