package com.ycl.jxkg.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.jxkg.domain.other.KeyValue; import com.ycl.jxkg.exception.BusinessException; import com.ycl.jxkg.domain.User; import com.ycl.jxkg.event.OnRegistrationCompleteEvent; import com.ycl.jxkg.mapper.UserMapper; import com.ycl.jxkg.service.UserService; import com.ycl.jxkg.vo.admin.user.UserPageRequestVO; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationEventPublisher; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.HashMap; import java.util.List; import java.util.Map; @Service @RequiredArgsConstructor public class UserServiceImpl extends ServiceImpl implements UserService { private final UserMapper userMapper; private final ApplicationEventPublisher eventPublisher; public List getUsers() { return userMapper.getAllUser(); } public User getUserById(Integer id) { return userMapper.getUserById(id); } public User getUserByUserName(String username) { return userMapper.getUserByUserName(username); } public int insertByFilter(User record) { return baseMapper.insert(record); } public int updateByIdFilter(User record) { return baseMapper.updateById(record); } @Override public User getUserByUserNamePwd(String username, String pwd) { return userMapper.getUserByUserNamePwd(username, pwd); } @Override public User getUserByUuid(String uuid) { return userMapper.getUserByUuid(uuid); } @Override public List userPageList(String name, Integer pageIndex, Integer pageSize) { Map map = new HashMap<>(3); map.put("name", name); map.put("offset", ((int) pageIndex) * pageSize); map.put("limit", pageSize); return userMapper.userPageList(map); } @Override public Integer userPageCount(String name) { Map map = new HashMap<>(1); map.put("name", name); return userMapper.userPageCount(map); } @Override public PageInfo userPage(UserPageRequestVO requestVM) { return PageHelper.startPage(requestVM.getPageIndex(), requestVM.getPageSize(), "id desc").doSelectPageInfo(() -> userMapper.userPage(requestVM) ); } @Override public void insertUser(User user) { userMapper.insert(user); eventPublisher.publishEvent(new OnRegistrationCompleteEvent(user)); } @Override @Transactional(rollbackFor = BusinessException.class) public void insertUsers(List users) { userMapper.insertUsers(users); throw new BusinessException("test BusinessException roll back"); } @Override public void updateUser(User user) { userMapper.updateUser(user); } @Override public void updateUsersAge(Integer age, List ids) { Map map = new HashMap<>(2); map.put("idslist", ids); map.put("age", age); userMapper.updateUsersAge(map); } @Override public void deleteUserByIds(List ids) { userMapper.deleteUsersByIds(ids); } @Override public Integer selectAllCount() { return userMapper.selectAllCount(); } @Override public List selectByUserName(String userName) { return userMapper.selectByUserName(userName); } @Override public List selectByIds(List ids) { return userMapper.selectByIds(ids); } @Override public User selectByWxOpenId(String wxOpenId) { return userMapper.selectByWxOpenId(wxOpenId); } @Override @Transactional public void changePicture(User user, String imagePath) { User changePictureUser = new User(); changePictureUser.setId(user.getId()); changePictureUser.setImagePath(imagePath); userMapper.updateById(changePictureUser); } }