mirror of
https://github.com/FatttSnake/Pinnacle-OA.git
synced 2026-04-06 07:21:24 +08:00
Optimized source code structure. Added api document to LoginController
This commit is contained in:
@@ -1,22 +1,16 @@
|
||||
package com.cfive.pinnacle.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.cfive.pinnacle.entity.Attendance;
|
||||
import com.cfive.pinnacle.mapper.AttendanceMapper;
|
||||
import com.cfive.pinnacle.mapper.UserMapper;
|
||||
import com.cfive.pinnacle.mapper.permission.UserMapper;
|
||||
import com.cfive.pinnacle.service.IAttendanceService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.text.DateFormat;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -41,8 +35,7 @@ public class AttendanceServiceImpl extends ServiceImpl<AttendanceMapper, Attenda
|
||||
|
||||
@Override
|
||||
public List<Attendance> getAttendanceAndUserByid(Long userId) {
|
||||
List<Attendance> attendances = attendanceMapper.getAttendanceAndUserByid(userId);
|
||||
return attendances;
|
||||
return attendanceMapper.getAttendanceAndUserByid(userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,16 +1,12 @@
|
||||
package com.cfive.pinnacle.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.cfive.pinnacle.entity.Department;
|
||||
import com.cfive.pinnacle.entity.User;
|
||||
import com.cfive.pinnacle.mapper.DepartmentMapper;
|
||||
import com.cfive.pinnacle.mapper.UserMapper;
|
||||
import com.cfive.pinnacle.service.IDepartmentService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -25,8 +21,7 @@ import java.util.List;
|
||||
public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Department> implements IDepartmentService {
|
||||
@Autowired
|
||||
private DepartmentMapper departmentMapper;
|
||||
@Autowired
|
||||
private UserMapper userMapper;
|
||||
|
||||
@Override
|
||||
public List<Department> getDepartAndUser() {
|
||||
return departmentMapper.getDepartAndUser();
|
||||
|
||||
@@ -1,98 +0,0 @@
|
||||
package com.cfive.pinnacle.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.cfive.pinnacle.entity.Group;
|
||||
import com.cfive.pinnacle.entity.RoleGroup;
|
||||
import com.cfive.pinnacle.mapper.GroupMapper;
|
||||
import com.cfive.pinnacle.mapper.RoleGroupMapper;
|
||||
import com.cfive.pinnacle.service.IGroupService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 用户组 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author FatttSnake
|
||||
* @since 2023-04-30
|
||||
*/
|
||||
@Service
|
||||
public class GroupServiceImpl extends ServiceImpl<GroupMapper, Group> implements IGroupService {
|
||||
private GroupMapper groupMapper;
|
||||
private RoleGroupMapper roleGroupMapper;
|
||||
|
||||
@Autowired
|
||||
public void setGroupMapper(GroupMapper groupMapper) {
|
||||
this.groupMapper = groupMapper;
|
||||
}
|
||||
|
||||
@Autowired
|
||||
public void setRoleGroupMapper(RoleGroupMapper roleGroupMapper) {
|
||||
this.roleGroupMapper = roleGroupMapper;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Group> getAllGroup() {
|
||||
return groupMapper.getAll();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Group getGroup(Long id) {
|
||||
return groupMapper.getOneById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public boolean addGroup(Group group) {
|
||||
if (groupMapper.insert(group) == 1) {
|
||||
group.getRoles().forEach(role -> {
|
||||
RoleGroup roleGroup = new RoleGroup();
|
||||
roleGroup.setGroupId(group.getId());
|
||||
roleGroup.setRoleId(role.getId());
|
||||
if (roleGroupMapper.insert(roleGroup) != 1) {
|
||||
throw new RuntimeException("Add role_group failure");
|
||||
}
|
||||
});
|
||||
return true;
|
||||
} else {
|
||||
throw new RuntimeException("Add group failure");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public boolean modifyGroup(Group group) {
|
||||
groupMapper.updateById(group);
|
||||
Group originalGroup = getGroup(group.getId());
|
||||
HashSet<Long> newRoleIds = new HashSet<>();
|
||||
group.getRoles().forEach(role -> newRoleIds.add(role.getId()));
|
||||
HashSet<Long> addRoleIds = new HashSet<>(newRoleIds);
|
||||
if (originalGroup != null) {
|
||||
HashSet<Long> originalRoleIds = new HashSet<>();
|
||||
originalGroup.getRoles().forEach(role -> originalRoleIds.add(role.getId()));
|
||||
HashSet<Long> deleteRoleIds = new HashSet<>(originalRoleIds);
|
||||
deleteRoleIds.removeAll(newRoleIds);
|
||||
addRoleIds.removeAll(originalRoleIds);
|
||||
deleteRoleIds.forEach(deleteRoleId -> {
|
||||
LambdaQueryWrapper<RoleGroup> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(RoleGroup::getGroupId, group.getId())
|
||||
.eq(RoleGroup::getRoleId, deleteRoleId);
|
||||
roleGroupMapper.delete(wrapper);
|
||||
});
|
||||
}
|
||||
addRoleIds.forEach(addRoleId -> {
|
||||
RoleGroup roleGroup = new RoleGroup();
|
||||
roleGroup.setGroupId(group.getId());
|
||||
roleGroup.setRoleId(addRoleId);
|
||||
roleGroupMapper.insert(roleGroup);
|
||||
});
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -5,12 +5,10 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.cfive.pinnacle.entity.Notice;
|
||||
import com.cfive.pinnacle.entity.NoticeReceive;
|
||||
import com.cfive.pinnacle.entity.common.ResponseCode;
|
||||
import com.cfive.pinnacle.entity.common.ResponseResult;
|
||||
import com.cfive.pinnacle.mapper.NoticeMapper;
|
||||
import com.cfive.pinnacle.mapper.NoticeReceiveMapper;
|
||||
import com.cfive.pinnacle.mapper.NoticeTypeMapper;
|
||||
import com.cfive.pinnacle.mapper.UserMapper;
|
||||
import com.cfive.pinnacle.mapper.permission.UserMapper;
|
||||
import com.cfive.pinnacle.service.INoticeService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.cfive.pinnacle.utils.WebUtil;
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
package com.cfive.pinnacle.service.impl;
|
||||
|
||||
import com.cfive.pinnacle.entity.RoleGroup;
|
||||
import com.cfive.pinnacle.mapper.RoleGroupMapper;
|
||||
import com.cfive.pinnacle.service.IRoleGroupService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 中间表-角色-用户组 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author FatttSnake
|
||||
* @since 2023-04-30
|
||||
*/
|
||||
@Service
|
||||
public class RoleGroupServiceImpl extends ServiceImpl<RoleGroupMapper, RoleGroup> implements IRoleGroupService {
|
||||
|
||||
}
|
||||
@@ -1,100 +0,0 @@
|
||||
package com.cfive.pinnacle.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.cfive.pinnacle.entity.Role;
|
||||
import com.cfive.pinnacle.entity.permission.PowerRole;
|
||||
import com.cfive.pinnacle.mapper.RoleMapper;
|
||||
import com.cfive.pinnacle.mapper.permission.PowerRoleMapper;
|
||||
import com.cfive.pinnacle.service.IRoleService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 角色 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author FatttSnake
|
||||
* @since 2023-04-30
|
||||
*/
|
||||
@Service
|
||||
public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements IRoleService {
|
||||
|
||||
private RoleMapper roleMapper;
|
||||
private PowerRoleMapper powerRoleMapper;
|
||||
|
||||
@Autowired
|
||||
public void setRoleMapper(RoleMapper roleMapper) {
|
||||
this.roleMapper = roleMapper;
|
||||
}
|
||||
|
||||
@Autowired
|
||||
public void setPowerRoleMapper(PowerRoleMapper powerRoleMapper) {
|
||||
this.powerRoleMapper = powerRoleMapper;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Role> getAllRole() {
|
||||
return roleMapper.getAll();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Role getRole(long id) {
|
||||
return roleMapper.getOneById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public boolean addRole(Role role) {
|
||||
if (roleMapper.insert(role) == 1) {
|
||||
role.getPowers().forEach(power -> {
|
||||
PowerRole powerRole = new PowerRole();
|
||||
powerRole.setRoleId(role.getId());
|
||||
powerRole.setPowerId(power.getId());
|
||||
if (powerRoleMapper.insert(powerRole) != 1) {
|
||||
throw new RuntimeException("Add power_role failure");
|
||||
}
|
||||
});
|
||||
return true;
|
||||
} else {
|
||||
throw new RuntimeException("Add role failure");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public boolean modifyRole(Role role) {
|
||||
roleMapper.updateById(role);
|
||||
Role originalRole = getRole(role.getId());
|
||||
HashSet<Long> newPowerIds = new HashSet<>();
|
||||
role.getPowers().forEach(power -> newPowerIds.add(power.getId()));
|
||||
HashSet<Long> addPowerIds = new HashSet<>(newPowerIds);
|
||||
if (originalRole != null) {
|
||||
HashSet<Long> originalPowerIds = new HashSet<>();
|
||||
originalRole.getMenus().forEach(menu -> originalPowerIds.add(menu.getPowerId()));
|
||||
originalRole.getElements().forEach(element -> originalPowerIds.add(element.getPowerId()));
|
||||
originalRole.getOperations().forEach(operation -> originalPowerIds.add(operation.getPowerId()));
|
||||
HashSet<Long> deletePowerIds = new HashSet<>(originalPowerIds);
|
||||
deletePowerIds.removeAll(newPowerIds);
|
||||
addPowerIds.removeAll(originalPowerIds);
|
||||
deletePowerIds.forEach(deletePowerId -> {
|
||||
LambdaQueryWrapper<PowerRole> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(PowerRole::getRoleId, role.getId())
|
||||
.eq(PowerRole::getPowerId, deletePowerId);
|
||||
powerRoleMapper.delete(wrapper);
|
||||
});
|
||||
}
|
||||
addPowerIds.forEach(addPowerId -> {
|
||||
PowerRole powerRole = new PowerRole();
|
||||
powerRole.setRoleId(role.getId());
|
||||
powerRole.setPowerId(addPowerId);
|
||||
powerRoleMapper.insert(powerRole);
|
||||
});
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
package com.cfive.pinnacle.service.impl;
|
||||
|
||||
import com.cfive.pinnacle.entity.UserGroup;
|
||||
import com.cfive.pinnacle.mapper.UserGroupMapper;
|
||||
import com.cfive.pinnacle.service.IUserGroupService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 中间表-用户-用户组 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author FatttSnake
|
||||
* @since 2023-04-30
|
||||
*/
|
||||
@Service
|
||||
public class UserGroupServiceImpl extends ServiceImpl<UserGroupMapper, UserGroup> implements IUserGroupService {
|
||||
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
package com.cfive.pinnacle.service.impl;
|
||||
|
||||
import com.cfive.pinnacle.entity.UserRole;
|
||||
import com.cfive.pinnacle.mapper.UserRoleMapper;
|
||||
import com.cfive.pinnacle.service.IUserRoleService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 中间表-用户-角色 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author FatttSnake
|
||||
* @since 2023-04-30
|
||||
*/
|
||||
@Service
|
||||
public class UserRoleServiceImpl extends ServiceImpl<UserRoleMapper, UserRole> implements IUserRoleService {
|
||||
|
||||
}
|
||||
@@ -1,209 +0,0 @@
|
||||
package com.cfive.pinnacle.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.cfive.pinnacle.entity.*;
|
||||
import com.cfive.pinnacle.entity.permission.Element;
|
||||
import com.cfive.pinnacle.entity.permission.Menu;
|
||||
import com.cfive.pinnacle.entity.permission.Operation;
|
||||
import com.cfive.pinnacle.mapper.*;
|
||||
import com.cfive.pinnacle.mapper.permission.ElementMapper;
|
||||
import com.cfive.pinnacle.mapper.permission.MenuMapper;
|
||||
import com.cfive.pinnacle.mapper.permission.OperationMapper;
|
||||
import com.cfive.pinnacle.service.IUserService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.cfive.pinnacle.utils.WebUtil;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 用户 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author FatttSnake
|
||||
* @since 2023-04-30
|
||||
*/
|
||||
@Service
|
||||
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IUserService {
|
||||
private UserMapper userMapper;
|
||||
private MenuMapper menuMapper;
|
||||
private ElementMapper elementMapper;
|
||||
private OperationMapper operationMapper;
|
||||
private UserRoleMapper userRoleMapper;
|
||||
private UserGroupMapper userGroupMapper;
|
||||
private PasswordEncoder passwordEncoder;
|
||||
|
||||
@Autowired
|
||||
public void setUserMapper(UserMapper userMapper) {
|
||||
this.userMapper = userMapper;
|
||||
}
|
||||
|
||||
@Autowired
|
||||
public void setMenuMapper(MenuMapper menuMapper) {
|
||||
this.menuMapper = menuMapper;
|
||||
}
|
||||
|
||||
@Autowired
|
||||
public void setElementMapper(ElementMapper elementMapper) {
|
||||
this.elementMapper = elementMapper;
|
||||
}
|
||||
|
||||
@Autowired
|
||||
public void setOperationMapper(OperationMapper operationMapper) {
|
||||
this.operationMapper = operationMapper;
|
||||
}
|
||||
|
||||
@Autowired
|
||||
public void setUserRoleMapper(UserRoleMapper userRoleMapper) {
|
||||
this.userRoleMapper = userRoleMapper;
|
||||
}
|
||||
@Autowired
|
||||
public void setUserGroupMapper(UserGroupMapper userGroupMapper) {
|
||||
this.userGroupMapper = userGroupMapper;
|
||||
}
|
||||
|
||||
@Autowired
|
||||
public void setPasswordEncoder(PasswordEncoder passwordEncoder) {
|
||||
this.passwordEncoder = passwordEncoder;
|
||||
}
|
||||
|
||||
@Override
|
||||
public User getInfo() {
|
||||
return WebUtil.getLoginUser().getUser();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<User> getAllUser() {
|
||||
List<User> users = userMapper.getAll();
|
||||
users.forEach(user -> {
|
||||
if (user.getId() == 1L) {
|
||||
user.setRoles(List.of(new Role(0L, "超级管理员")));
|
||||
user.setGroups(List.of(new Group(0L, "超级管理员")));
|
||||
}
|
||||
});
|
||||
return users;
|
||||
}
|
||||
|
||||
@Override
|
||||
public User getUser(long id) {
|
||||
User user = userMapper.getOneById(id);
|
||||
if (user.getId() == 1L) {
|
||||
user.setRoles(List.of(new Role(0L, "超级管理员")));
|
||||
user.setGroups(List.of(new Group(0L, "超级管理员")));
|
||||
}
|
||||
return user;
|
||||
}
|
||||
|
||||
@Override
|
||||
public User getUserWithPower(String username) {
|
||||
User user = userMapper.getOneWithPowerByUsername(username);
|
||||
if (user.getId() == 1L) {
|
||||
List<Menu> menus = menuMapper.selectList(null);
|
||||
List<Element> elements = elementMapper.selectList(null);
|
||||
List<Operation> operations = operationMapper.selectList(null);
|
||||
user.setMenus(menus);
|
||||
user.setElements(elements);
|
||||
user.setOperations(operations);
|
||||
}
|
||||
return user;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public boolean addUser(User user) {
|
||||
String encryptedPassword = passwordEncoder.encode(user.getPasswd());
|
||||
user.setPasswd(encryptedPassword);
|
||||
if (userMapper.insert(user) == 1) {
|
||||
user.getRoles().forEach(role -> {
|
||||
UserRole userRole = new UserRole();
|
||||
userRole.setUserId(user.getId());
|
||||
userRole.setRoleId(role.getId());
|
||||
if (userRoleMapper.insert(userRole) != 1) {
|
||||
throw new RuntimeException("Add user_role failure");
|
||||
}
|
||||
});
|
||||
user.getGroups().forEach(group -> {
|
||||
UserGroup userGroup = new UserGroup();
|
||||
userGroup.setUserId(user.getId());
|
||||
userGroup.setGroupId(group.getId());
|
||||
if (userGroupMapper.insert(userGroup) != 1) {
|
||||
throw new RuntimeException("Add user_group failure");
|
||||
}
|
||||
});
|
||||
return true;
|
||||
} else {
|
||||
throw new RuntimeException("Add group failure");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public boolean modifyUser(User user) {
|
||||
if (StringUtils.hasText(user.getPasswd())) {
|
||||
String encryptedPassword = passwordEncoder.encode(user.getPasswd());
|
||||
user.setPasswd(encryptedPassword);
|
||||
}
|
||||
|
||||
// Protect administrator
|
||||
if (user.getId() == 1L) {
|
||||
user.setDepartmentId(null);
|
||||
user.setEnable(1);
|
||||
user.setDeleted(0L);
|
||||
userMapper.updateById(user);
|
||||
return true;
|
||||
}
|
||||
|
||||
userMapper.updateById(user);
|
||||
User originalUser = getUser(user.getId());
|
||||
HashSet<Long> newRoleIds = new HashSet<>();
|
||||
HashSet<Long> newGroupIds = new HashSet<>();
|
||||
user.getRoles().forEach(role -> newRoleIds.add(role.getId()));
|
||||
user.getGroups().forEach(group -> newGroupIds.add(group.getId()));
|
||||
HashSet<Long> addRoleIds = new HashSet<>(newRoleIds);
|
||||
HashSet<Long> addGroupIds = new HashSet<>(newGroupIds);
|
||||
if (originalUser != null) {
|
||||
HashSet<Long> originalRoleIds = new HashSet<>();
|
||||
HashSet<Long> originalGroupIds = new HashSet<>();
|
||||
originalUser.getRoles().forEach(role -> originalRoleIds.add(role.getId()));
|
||||
originalUser.getGroups().forEach(group -> originalGroupIds.add(group.getId()));
|
||||
HashSet<Long> deleteRoleIds = new HashSet<>(originalRoleIds);
|
||||
HashSet<Long> deleteGroupIds = new HashSet<>(originalGroupIds);
|
||||
deleteRoleIds.removeAll(newRoleIds);
|
||||
deleteGroupIds.removeAll(newGroupIds);
|
||||
addRoleIds.removeAll(originalRoleIds);
|
||||
addGroupIds.removeAll(originalGroupIds);
|
||||
deleteRoleIds.forEach(deleteRoleId -> {
|
||||
LambdaQueryWrapper<UserRole> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(UserRole::getUserId, user.getId())
|
||||
.eq(UserRole::getRoleId, deleteRoleId);
|
||||
userRoleMapper.delete(wrapper);
|
||||
});
|
||||
deleteGroupIds.forEach(deleteGroupId -> {
|
||||
LambdaQueryWrapper<UserGroup> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(UserGroup::getUserId, user.getId())
|
||||
.eq(UserGroup::getGroupId, deleteGroupId);
|
||||
userGroupMapper.delete(wrapper);
|
||||
});
|
||||
}
|
||||
addRoleIds.forEach(addRoleId -> {
|
||||
UserRole userRole = new UserRole();
|
||||
userRole.setUserId(user.getId());
|
||||
userRole.setRoleId(addRoleId);
|
||||
userRoleMapper.insert(userRole);
|
||||
});
|
||||
addGroupIds.forEach(addGroupId -> {
|
||||
UserGroup userGroup = new UserGroup();
|
||||
userGroup.setUserId(user.getId());
|
||||
userGroup.setGroupId(addGroupId);
|
||||
userGroupMapper.insert(userGroup);
|
||||
});
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
package com.cfive.pinnacle.service.impl;
|
||||
|
||||
import com.cfive.pinnacle.entity.UserWork;
|
||||
import com.cfive.pinnacle.mapper.UserWorkMapper;
|
||||
import com.cfive.pinnacle.service.IUserWorkService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 中间表-用户-工作事项 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author FatttSnake
|
||||
* @since 2023-04-30
|
||||
*/
|
||||
@Service
|
||||
public class UserWorkServiceImpl extends ServiceImpl<UserWorkMapper, UserWork> implements IUserWorkService {
|
||||
|
||||
}
|
||||
@@ -2,11 +2,10 @@ package com.cfive.pinnacle.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.cfive.pinnacle.entity.Notice;
|
||||
import com.cfive.pinnacle.entity.User;
|
||||
import com.cfive.pinnacle.entity.permission.User;
|
||||
import com.cfive.pinnacle.entity.UserWork;
|
||||
import com.cfive.pinnacle.entity.Work;
|
||||
import com.cfive.pinnacle.mapper.UserMapper;
|
||||
import com.cfive.pinnacle.mapper.permission.UserMapper;
|
||||
import com.cfive.pinnacle.mapper.UserWorkMapper;
|
||||
import com.cfive.pinnacle.mapper.WorkMapper;
|
||||
import com.cfive.pinnacle.service.IWorkService;
|
||||
@@ -17,8 +16,6 @@ import org.springframework.transaction.annotation.Isolation;
|
||||
import org.springframework.transaction.annotation.Propagation;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.text.DecimalFormat;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -101,7 +98,7 @@ public class WorkServiceImpl extends ServiceImpl<WorkMapper, Work> implements IW
|
||||
public double getProgress(Long workId) {
|
||||
double workNum = userWorkMapper.selectCount(new QueryWrapper<UserWork>().eq("work_id",workId));
|
||||
double completeNum = userWorkMapper.selectCount(new QueryWrapper<UserWork>().eq("work_id",workId).eq("status",1));
|
||||
double progress = 0;
|
||||
double progress;
|
||||
progress = (completeNum / workNum) * 100;
|
||||
progress = (double) Math.round(progress * 100) / 100;
|
||||
return progress;
|
||||
@@ -115,10 +112,7 @@ public class WorkServiceImpl extends ServiceImpl<WorkMapper, Work> implements IW
|
||||
@Override
|
||||
@Transactional(isolation = Isolation.READ_COMMITTED,propagation = Propagation.REQUIRED)
|
||||
public boolean addWork(Work work) {
|
||||
boolean flag = true;
|
||||
if (workMapper.insert(work) <= 0) {
|
||||
flag = false;
|
||||
}
|
||||
boolean flag = workMapper.insert(work) > 0;
|
||||
long workId = work.getId();
|
||||
for (User user :
|
||||
work.getWorker()) {
|
||||
@@ -135,11 +129,7 @@ public class WorkServiceImpl extends ServiceImpl<WorkMapper, Work> implements IW
|
||||
@Override
|
||||
@Transactional(isolation = Isolation.READ_COMMITTED,propagation = Propagation.REQUIRED)
|
||||
public boolean deleteByWorkId(Long workId) {
|
||||
boolean flag = false;
|
||||
if (userWorkMapper.delete(new QueryWrapper<UserWork>().eq("work_id", workId)) > 0 && workMapper.deleteById(workId) > 0) {
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
return userWorkMapper.delete(new QueryWrapper<UserWork>().eq("work_id", workId)) > 0 && workMapper.deleteById(workId) > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -151,10 +141,7 @@ public class WorkServiceImpl extends ServiceImpl<WorkMapper, Work> implements IW
|
||||
@Override
|
||||
@Transactional(isolation = Isolation.READ_COMMITTED,propagation = Propagation.REQUIRED)
|
||||
public boolean updateWork(Work work) {
|
||||
boolean flag = true;
|
||||
if (userWorkMapper.delete(new QueryWrapper<UserWork>().eq("work_id", work.getId())) <= 0) {
|
||||
flag = false;
|
||||
}
|
||||
boolean flag = userWorkMapper.delete(new QueryWrapper<UserWork>().eq("work_id", work.getId())) > 0;
|
||||
if (workMapper.update(null, new UpdateWrapper<Work>().eq("id", work.getId()).set("old", 1)) <= 0) {
|
||||
flag = false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user