AccountServiceImpl.java 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package com.punchsettle.server.atomic.service.impl;
  2. import com.punchsettle.server.atomic.entity.Account;
  3. import com.punchsettle.server.atomic.mapper.AccountMapper;
  4. import com.punchsettle.server.atomic.service.IAccountService;
  5. import com.punchsettle.server.common.utils.Assert;
  6. import com.punchsettle.server.constant.AccountCategoryEnum;
  7. import com.punchsettle.server.pojo.punchIn.AccountQuery;
  8. import com.punchsettle.server.utiis.WeekendUtils;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.stereotype.Service;
  11. import org.springframework.util.CollectionUtils;
  12. import tk.mybatis.mapper.weekend.Weekend;
  13. import tk.mybatis.mapper.weekend.WeekendCriteria;
  14. import java.util.List;
  15. import java.util.Objects;
  16. /**
  17. * @author tyuio
  18. * @version 1.0.0
  19. * @date 2025/4/8 10:50
  20. * @description 账户 service
  21. */
  22. @Service
  23. public class AccountServiceImpl implements IAccountService {
  24. @Autowired
  25. private AccountMapper accountMapper;
  26. @Override
  27. public List<Account> getAccountByCondition(AccountQuery accountQuery) {
  28. Assert.isNull(accountQuery);
  29. Weekend<Account> weekend = WeekendUtils.createExcludeAuditFields(Account.class);
  30. WeekendCriteria<Account, Object> criteria = weekend.weekendCriteria();
  31. if (Objects.nonNull(accountQuery.getAccountCategory())) {
  32. criteria.andEqualTo(Account::getAccountCategory, accountQuery.getAccountCategory());
  33. }
  34. if (!CollectionUtils.isEmpty(accountQuery.getUserIds())) {
  35. criteria.andIn(Account::getUserId, accountQuery.getUserIds());
  36. }
  37. return accountMapper.selectByExample(weekend);
  38. }
  39. @Override
  40. public void batchUpdate(List<Account> accounts) {
  41. Assert.notEmpty(accounts);
  42. accountMapper.batchUpdateSelective(accounts);
  43. }
  44. }