package com.mindskip.xzs.service.impl;
|
|
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageInfo;
|
import com.mindskip.xzs.domain.Department;
|
import com.mindskip.xzs.domain.ExamPaper;
|
import com.mindskip.xzs.domain.User;
|
import com.mindskip.xzs.domain.other.KeyValue;
|
import com.mindskip.xzs.event.OnRegistrationCompleteEvent;
|
import com.mindskip.xzs.exception.BusinessException;
|
import com.mindskip.xzs.repository.UserMapper;
|
import com.mindskip.xzs.service.UserService;
|
import com.mindskip.xzs.utility.TreeUtils;
|
import com.mindskip.xzs.viewmodel.admin.user.UserPageRequestVM;
|
import com.mindskip.xzs.viewmodel.admin.user.UserResponseVM;
|
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
|
public class UserServiceImpl extends BaseServiceImpl<User> implements UserService {
|
|
private final UserMapper userMapper;
|
private final ApplicationEventPublisher eventPublisher;
|
|
@Autowired
|
public UserServiceImpl(UserMapper userMapper, ApplicationEventPublisher eventPublisher) {
|
super(userMapper);
|
this.userMapper = userMapper;
|
this.eventPublisher = eventPublisher;
|
}
|
|
|
@Override
|
public List<User> getUsers() {
|
return userMapper.getAllUser();
|
}
|
|
@Override
|
public User getUserById(Integer id) {
|
return userMapper.getUserById(id);
|
}
|
|
@Override
|
public User getUserInfoById(Integer id) {
|
return userMapper.getUserInfoById(id);
|
}
|
|
@Override
|
public User getUserByUserName(String username) {
|
return userMapper.getUserByUserName(username);
|
}
|
|
@Override
|
public int insertByFilter(User record) {
|
return super.insertByFilter(record);
|
}
|
|
@Override
|
public int updateByIdFilter(User record) {
|
return super.updateByIdFilter(record);
|
}
|
|
@Override
|
public int updateById(User record) {
|
return super.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<UserResponseVM> userPage(UserPageRequestVM requestVM) {
|
return PageHelper.startPage(requestVM.getPageIndex(), requestVM.getPageSize(), "id desc").doSelectPageInfo(() ->
|
userMapper.userPage(requestVM)
|
);
|
}
|
|
|
@Override
|
public void insertUser(User user) {
|
userMapper.insertSelective(user);
|
eventPublisher.publishEvent(new OnRegistrationCompleteEvent(user));
|
}
|
|
@Override
|
@Transactional(rollbackFor = BusinessException.class)
|
public void insertUsers(List<User> users) {
|
userMapper.insertUsers(users);
|
}
|
|
@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.updateByPrimaryKeySelective(changePictureUser);
|
}
|
|
@Override
|
public User selectByIdName(Integer id, String userName) {
|
return userMapper.selectByIdName(id,userName);
|
}
|
|
@Override
|
public List<User> getUserByLevel(Integer userLevel) {
|
return userMapper.getUserByLevel(userLevel);
|
}
|
|
@Override
|
public User getUserByRealName(String realName) {
|
return userMapper.getUserByRealName(realName);
|
}
|
|
@Override
|
public void setStatus(User user) {
|
userMapper.setStatus(user);
|
}
|
|
@Override
|
public User getUserByExam(ExamPaper examPaper) {
|
return userMapper.getUserByExam(examPaper);
|
}
|
|
@Override
|
public List<Integer> getDeptAdminIds(Integer userId) {
|
return userMapper.getDeptAdminIds(userId);
|
}
|
|
@Override
|
public List<Department> getDeptAdminIdAndInfo(Integer userId) {
|
return userMapper.getDeptAdminIdAndInfo(userId);
|
}
|
|
@Override
|
public List<Department> getDeptAdmins(List<Integer> ids) {
|
List<Department> list = userMapper.getDeptAdmins(ids);
|
return TreeUtils.build(list);
|
}
|
|
@Override
|
public User getUserByExamByTemplateId(ExamPaper examPaper) {
|
return userMapper.getUserByExamByTemplateId(examPaper);
|
}
|
|
@Override
|
public List<Integer> getDeptIds(Integer userId) {
|
return userMapper.getDeptIds(userId);
|
}
|
|
@Override
|
public List<User> getFailExamUser(Integer examPaperId) {
|
return userMapper.getFailExamUser(examPaperId);
|
}
|
|
@Override
|
public List<User> getFailTemplateUser(Integer templateId) {
|
return userMapper.getFailTemplateUser(templateId);
|
}
|
}
|