package com.punchsettle.server.atomic.service.impl; import java.util.List; import java.util.Objects; import com.punchsettle.server.utiis.WeekendUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import com.punchsettle.server.atomic.entity.User; import com.punchsettle.server.atomic.mapper.UserMapper; import com.punchsettle.server.atomic.service.IUserService; import com.punchsettle.server.common.utils.Assert; import io.micrometer.common.util.StringUtils; import tk.mybatis.mapper.weekend.Weekend; import tk.mybatis.mapper.weekend.WeekendCriteria; /** * @author tyuio * @version 1.0.0 * @description 用户表 service * @date 2024/11/25 12:30 */ @Service public class UserServiceImpl implements IUserService { @Autowired private UserMapper userMapper; @Override public User getById(Long id) { if (Objects.isNull(id)) { return null; } return userMapper.selectByPrimaryKey(id); } @Override public User getByOpenId(String openId) { if (StringUtils.isBlank(openId)) { return null; } User queryUser = new User(); queryUser.setOpenId(openId); return userMapper.selectOne(queryUser); } @Override public void insert(User user) { Assert.isNull(user); userMapper.insert(user); } @Override public List list() { return userMapper.selectAll(); } @Override public void updateById(User user) { Assert.isNull(user); userMapper.updateByPrimaryKeySelective(user); } @Override public List listByIds(List ids) { if(CollectionUtils.isEmpty(ids)) { return List.of(); } Weekend weekend = WeekendUtils.createExcludeProperties(User.class); WeekendCriteria criteria = weekend.weekendCriteria(); criteria.andIn(User::getId, ids); return userMapper.selectByExample(weekend); } @Override public void batchUpdateUser(List users) { Assert.notEmpty(users); userMapper.batchUpdateSelective(users); } }