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<UserMapper, User> implements UserService {
|
|
private final UserMapper userMapper;
|
private final ApplicationEventPublisher eventPublisher;
|
|
|
public List<User> 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<User> userPageList(String name, Integer pageIndex, Integer pageSize) {
|
Map<String, Object> 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<String, Object> map = new HashMap<>(1);
|
map.put("name", name);
|
return userMapper.userPageCount(map);
|
}
|
|
|
@Override
|
public PageInfo<User> 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<User> 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<Integer> ids) {
|
Map<String, Object> map = new HashMap<>(2);
|
map.put("idslist", ids);
|
map.put("age", age);
|
userMapper.updateUsersAge(map);
|
}
|
|
@Override
|
public void deleteUserByIds(List<Integer> ids) {
|
userMapper.deleteUsersByIds(ids);
|
}
|
|
@Override
|
public Integer selectAllCount() {
|
return userMapper.selectAllCount();
|
}
|
|
@Override
|
public List<KeyValue> selectByUserName(String userName) {
|
return userMapper.selectByUserName(userName);
|
}
|
|
@Override
|
public List<User> selectByIds(List<Integer> 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);
|
}
|
}
|