TimePeriodServiceImpl.java 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. package com.qmth.exam.reserve.service.impl;
  2. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  3. import com.qmth.boot.core.exception.StatusException;
  4. import com.qmth.exam.reserve.bean.applytask.TimePeriodReq;
  5. import com.qmth.exam.reserve.bean.timeperiod.TimePeriodExamSiteBean;
  6. import com.qmth.exam.reserve.cache.impl.ApplyTaskCacheService;
  7. import com.qmth.exam.reserve.dao.TimePeriodDao;
  8. import com.qmth.exam.reserve.entity.ApplyTaskEntity;
  9. import com.qmth.exam.reserve.entity.TimePeriodEntity;
  10. import com.qmth.exam.reserve.enums.EventType;
  11. import com.qmth.exam.reserve.service.ApplyTaskService;
  12. import com.qmth.exam.reserve.service.OperateLogService;
  13. import com.qmth.exam.reserve.service.TimePeriodService;
  14. import org.springframework.beans.BeanUtils;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.stereotype.Service;
  17. import java.util.List;
  18. @Service
  19. public class TimePeriodServiceImpl extends ServiceImpl<TimePeriodDao, TimePeriodEntity> implements TimePeriodService {
  20. @Autowired
  21. private ApplyTaskService taskService;
  22. @Autowired
  23. private OperateLogService logService;
  24. @Autowired
  25. private ApplyTaskCacheService cacheService;
  26. @Override
  27. public void saveTimePeriod(Long userId, Long id, List<TimePeriodReq> timeList) {
  28. ApplyTaskEntity task = taskService.getById(id);
  29. if (task == null)
  30. throw new StatusException("预约任务不存在!");
  31. for (TimePeriodReq time : timeList) {
  32. TimePeriodEntity timePeriod = new TimePeriodEntity();
  33. BeanUtils.copyProperties(time, timePeriod);
  34. timePeriod.setApplyTaskId(id);
  35. //保存或更新
  36. if (time.getId() == null) {
  37. save(timePeriod);
  38. //更新剩余可约数量的缓存
  39. cacheService.initApplyAvailableCountCacheForTimePeriods(timePeriod.getId());
  40. } else {
  41. updateById(timePeriod);
  42. }
  43. }
  44. logService.insertOperateLog(userId, EventType.SAVE_TIME_PERIOD, null);
  45. }
  46. @Override
  47. public List<String> listTimePeriod(Long taskId) {
  48. return baseMapper.listTimePeriod(taskId);
  49. }
  50. @Override
  51. public List<String> listTimePeriodDate(Long taskId) {
  52. return baseMapper.listTimePeriodDate(taskId);
  53. }
  54. @Override
  55. public List<TimePeriodExamSiteBean> listTimePeriodByExamSiteId(Long taskId, Long examSiteId) {
  56. return baseMapper.listTimePeriodByExamSiteId(taskId, examSiteId);
  57. }
  58. @Override
  59. public List<TimePeriodExamSiteBean> listTimePeriodByTask(Long taskId) {
  60. return baseMapper.listTimePeriodByTask(taskId);
  61. }
  62. }