1
0
mirror of https://github.com/FatttSnake/Pinnacle-OA.git synced 2026-04-06 07:21:24 +08:00

Added StaffManagement

This commit is contained in:
2023-05-30 22:06:42 +08:00
parent 3aed237d5e
commit 804d056a89
17 changed files with 444 additions and 10 deletions

View File

@@ -1,11 +1,19 @@
package com.cfive.pinnacle.service.impl;
import com.cfive.pinnacle.entity.Staff;
import com.cfive.pinnacle.entity.permission.User;
import com.cfive.pinnacle.exception.DataValidationFailedException;
import com.cfive.pinnacle.mapper.StaffMapper;
import com.cfive.pinnacle.mapper.permission.UserMapper;
import com.cfive.pinnacle.service.IStaffService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.cfive.pinnacle.utils.WebUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Objects;
/**
* <p>
* 员工 服务实现类
@@ -16,5 +24,41 @@ import org.springframework.stereotype.Service;
*/
@Service
public class StaffServiceImpl extends ServiceImpl<StaffMapper, Staff> implements IStaffService {
private StaffMapper staffMapper;
private UserMapper userMapper;
@Autowired
public void setStaffMapper(StaffMapper staffMapper) {
this.staffMapper = staffMapper;
}
@Autowired
public void setUserMapper(UserMapper userMapper) {
this.userMapper = userMapper;
}
@Override
public List<User> getAllStaff(Long departmentId) {
return staffMapper.getAllStaff(departmentId);
}
@Override
public boolean modifyStaff(User user) {
Staff newStaff = user.getStaff();
user = userMapper.getOneById(user.getId());
Staff oldStaff = user.getStaff();
if (!WebUtil.hasAuthority("staff:admin:modify")) {
if (!Objects.equals(user.getDepartmentId(), WebUtil.getLoginUser().getUser().getDepartmentId())) {
throw new DataValidationFailedException();
}
}
if (oldStaff == null) {
newStaff.setUserId(user.getId());
staffMapper.insert(newStaff);
} else {
newStaff.setId(oldStaff.getId());
staffMapper.updateById(newStaff);
}
return true;
}
}