package com.punchsettle.server.atomic.service.impl; import com.punchsettle.server.atomic.entity.Account; import com.punchsettle.server.atomic.mapper.AccountMapper; import com.punchsettle.server.atomic.service.IAccountService; import com.punchsettle.server.common.utils.Assert; import com.punchsettle.server.constant.AccountCategoryEnum; import com.punchsettle.server.pojo.punchIn.AccountQuery; import com.punchsettle.server.utiis.WeekendUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import tk.mybatis.mapper.weekend.Weekend; import tk.mybatis.mapper.weekend.WeekendCriteria; import java.util.List; import java.util.Objects; /** * @author tyuio * @version 1.0.0 * @date 2025/4/8 10:50 * @description 账户 service */ @Service public class AccountServiceImpl implements IAccountService { @Autowired private AccountMapper accountMapper; @Override public List getAccountByCondition(AccountQuery accountQuery) { Assert.isNull(accountQuery); Weekend weekend = WeekendUtils.createExcludeAuditFields(Account.class); WeekendCriteria criteria = weekend.weekendCriteria(); if (Objects.nonNull(accountQuery.getAccountCategory())) { criteria.andEqualTo(Account::getAccountCategory, accountQuery.getAccountCategory()); } if (!CollectionUtils.isEmpty(accountQuery.getUserIds())) { criteria.andIn(Account::getUserId, accountQuery.getUserIds()); } return accountMapper.selectByExample(weekend); } @Override public void batchUpdate(List accounts) { Assert.notEmpty(accounts); accountMapper.batchUpdateSelective(accounts); } }