StatPiTaskWeekServiceImpl.java 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. package com.punchsettle.server.atomic.service.impl;
  2. import java.util.List;
  3. import java.util.Objects;
  4. import org.springframework.beans.factory.annotation.Autowired;
  5. import org.springframework.stereotype.Service;
  6. import org.springframework.util.CollectionUtils;
  7. import com.punchsettle.server.atomic.StatPiTask;
  8. import com.punchsettle.server.atomic.entity.StatPiTaskWeek;
  9. import com.punchsettle.server.atomic.mapper.StatPiTaskWeekMapper;
  10. import com.punchsettle.server.atomic.service.IStatPiTaskWeekService;
  11. import com.punchsettle.server.common.utils.Assert;
  12. import com.punchsettle.server.pojo.stat.StatPiTaskQuery;
  13. import com.punchsettle.server.utiis.WeekendUtils;
  14. import lombok.extern.slf4j.Slf4j;
  15. import tk.mybatis.mapper.weekend.Weekend;
  16. import tk.mybatis.mapper.weekend.WeekendCriteria;
  17. /**
  18. * @author tyuio
  19. * @version 1.0.0
  20. * @date 2025/4/15 17:09
  21. * @description 打卡任务周数据统计 service
  22. */
  23. @Slf4j
  24. @Service
  25. public class StatPiTaskWeekServiceImpl implements IStatPiTaskWeekService {
  26. @Autowired
  27. private StatPiTaskWeekMapper statPiTaskWeekMapper;
  28. @Override
  29. public StatPiTask queryOneByCondition(StatPiTaskQuery query) {
  30. Assert.isNull(query);
  31. StatPiTaskWeek statPiTaskWeekQuery = new StatPiTaskWeek();
  32. statPiTaskWeekQuery.setUserId(query.getUserId());
  33. statPiTaskWeekQuery.setStatTime(query.getStatTime());
  34. statPiTaskWeekQuery.setTaskUniqueId(query.getTaskUniqueId());
  35. return statPiTaskWeekMapper.selectOne(statPiTaskWeekQuery);
  36. }
  37. @Override
  38. public List<StatPiTask> queryByCondition(StatPiTaskQuery statPiTaskQuery) {
  39. Assert.isNull(statPiTaskQuery);
  40. Weekend<StatPiTaskWeek> weekend = WeekendUtils.createExcludeAuditFields(StatPiTaskWeek.class);
  41. WeekendCriteria<StatPiTaskWeek, Object> criteria = weekend.weekendCriteria();
  42. if (!CollectionUtils.isEmpty(statPiTaskQuery.getTaskUniqueIds())) {
  43. criteria.andIn(StatPiTaskWeek::getTaskUniqueId, statPiTaskQuery.getTaskUniqueIds());
  44. }
  45. if (Objects.nonNull(statPiTaskQuery.getStatTime())) {
  46. criteria.andEqualTo(StatPiTaskWeek::getStatTime, statPiTaskQuery.getStatTime());
  47. }
  48. if (!CollectionUtils.isEmpty(statPiTaskQuery.getUserIds())) {
  49. criteria.andIn(StatPiTaskWeek::getUserId, statPiTaskQuery.getUserIds());
  50. }
  51. return (List) statPiTaskWeekMapper.selectByExample(weekend);
  52. }
  53. @Override
  54. public void insertList(List statPiTaskList) {
  55. Assert.notEmpty(statPiTaskList);
  56. statPiTaskWeekMapper.insertList(statPiTaskList);
  57. }
  58. @Override
  59. public void batchUpdate(List statPiTaskList) {
  60. Assert.notEmpty(statPiTaskList);
  61. statPiTaskWeekMapper.batchUpdateSelective(statPiTaskList);
  62. }
  63. }