更改了添加组员接口的参数
parent
4c5ee5efb3
commit
c7f448ef81
|
@ -78,9 +78,9 @@ public class ProjectGroupController {
|
||||||
public ResponseMap addGroupMember(
|
public ResponseMap addGroupMember(
|
||||||
@RequestHeader("Token") String token,
|
@RequestHeader("Token") String token,
|
||||||
@PathVariable Integer projectId,
|
@PathVariable Integer projectId,
|
||||||
@RequestBody GroupPositionVO groupPosition
|
@Parameter(description = "只传staffUsername和projectStaffPosition") @RequestBody GroupPositionVO groupPosition
|
||||||
) {
|
) {
|
||||||
if (projectGroupService.insertNewMember(token, projectId, groupPosition.getStaffId(), groupPosition.getPositions())) {
|
if (projectGroupService.insertNewMember(token, projectId, groupPosition.getStaffUsername(), groupPosition.getProjectStaffPosition())) {
|
||||||
return ResponseMap.ofSuccess();
|
return ResponseMap.ofSuccess();
|
||||||
}
|
}
|
||||||
throw new BadRequestException(BadRequestException.OPERATE_FAILED);
|
throw new BadRequestException(BadRequestException.OPERATE_FAILED);
|
||||||
|
@ -93,9 +93,9 @@ public class ProjectGroupController {
|
||||||
@RequestHeader("Token") String token,
|
@RequestHeader("Token") String token,
|
||||||
@PathVariable Integer projectId,
|
@PathVariable Integer projectId,
|
||||||
@PathVariable Integer staffId,
|
@PathVariable Integer staffId,
|
||||||
@Parameter(description = "不需要在body中传递staffId,用path传递") @RequestBody GroupPositionVO groupPosition
|
@Parameter(description = "在body中只传projectStaffPosition") @RequestBody GroupPositionVO groupPosition
|
||||||
) {
|
) {
|
||||||
if (projectGroupService.updateStaffPositions(token, staffId, projectId, groupPosition.getPositions())) {
|
if (projectGroupService.updateStaffPositions(token, staffId, projectId, groupPosition.getProjectStaffPosition())) {
|
||||||
return ResponseMap.ofSuccess();
|
return ResponseMap.ofSuccess();
|
||||||
}
|
}
|
||||||
throw new BadRequestException(BadRequestException.OPERATE_FAILED);
|
throw new BadRequestException(BadRequestException.OPERATE_FAILED);
|
||||||
|
|
|
@ -9,5 +9,6 @@ import lombok.Data;
|
||||||
@Data
|
@Data
|
||||||
public class GroupPositionVO {
|
public class GroupPositionVO {
|
||||||
private Integer staffId;
|
private Integer staffId;
|
||||||
private String positions;
|
private String staffUsername;
|
||||||
|
private String projectStaffPosition;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,7 @@ package cn.edu.hfut.rmdjzz.projectmanagement.service;
|
||||||
|
|
||||||
import cn.edu.hfut.rmdjzz.projectmanagement.entity.ProjectGroup;
|
import cn.edu.hfut.rmdjzz.projectmanagement.entity.ProjectGroup;
|
||||||
import cn.edu.hfut.rmdjzz.projectmanagement.entity.dto.ProjectGroupDTO;
|
import cn.edu.hfut.rmdjzz.projectmanagement.entity.dto.ProjectGroupDTO;
|
||||||
|
import cn.edu.hfut.rmdjzz.projectmanagement.exception.BadRequestException;
|
||||||
import cn.edu.hfut.rmdjzz.projectmanagement.exception.ForbiddenException;
|
import cn.edu.hfut.rmdjzz.projectmanagement.exception.ForbiddenException;
|
||||||
import cn.edu.hfut.rmdjzz.projectmanagement.utils.http.RequestPage;
|
import cn.edu.hfut.rmdjzz.projectmanagement.utils.http.RequestPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
@ -23,7 +24,7 @@ public interface IProjectGroupService extends IService<ProjectGroup> {
|
||||||
|
|
||||||
Boolean addCreator(Integer projectId, Integer staffId);
|
Boolean addCreator(Integer projectId, Integer staffId);
|
||||||
|
|
||||||
Boolean insertNewMember(String token, Integer projectId, Integer staffId, String positions) throws ForbiddenException;
|
Boolean insertNewMember(String token, Integer projectId, String staffUsername, String positions) throws ForbiddenException, BadRequestException;
|
||||||
|
|
||||||
Boolean updateStaffPositions(String token, Integer projectId, Integer targetId, String positions) throws ForbiddenException;
|
Boolean updateStaffPositions(String token, Integer projectId, Integer targetId, String positions) throws ForbiddenException;
|
||||||
|
|
||||||
|
|
|
@ -14,6 +14,9 @@ import java.util.Map;
|
||||||
* @since 2022/6/28 17:28
|
* @since 2022/6/28 17:28
|
||||||
*/
|
*/
|
||||||
public interface IStaffService extends IService<Staff> {
|
public interface IStaffService extends IService<Staff> {
|
||||||
|
|
||||||
|
String STAFF_DOES_NOT_EXIST = "用户不存在";
|
||||||
|
|
||||||
Map<String, Object> login(String username, String password) throws BadRequestException, TokenException;
|
Map<String, Object> login(String username, String password) throws BadRequestException, TokenException;
|
||||||
|
|
||||||
Boolean logout(String token) throws TokenException;
|
Boolean logout(String token) throws TokenException;
|
||||||
|
|
|
@ -1,15 +1,19 @@
|
||||||
package cn.edu.hfut.rmdjzz.projectmanagement.service.impl;
|
package cn.edu.hfut.rmdjzz.projectmanagement.service.impl;
|
||||||
|
|
||||||
import cn.edu.hfut.rmdjzz.projectmanagement.entity.ProjectGroup;
|
import cn.edu.hfut.rmdjzz.projectmanagement.entity.ProjectGroup;
|
||||||
|
import cn.edu.hfut.rmdjzz.projectmanagement.entity.Staff;
|
||||||
import cn.edu.hfut.rmdjzz.projectmanagement.entity.dto.ProjectGroupDTO;
|
import cn.edu.hfut.rmdjzz.projectmanagement.entity.dto.ProjectGroupDTO;
|
||||||
|
import cn.edu.hfut.rmdjzz.projectmanagement.exception.BadRequestException;
|
||||||
import cn.edu.hfut.rmdjzz.projectmanagement.exception.ForbiddenException;
|
import cn.edu.hfut.rmdjzz.projectmanagement.exception.ForbiddenException;
|
||||||
import cn.edu.hfut.rmdjzz.projectmanagement.mapper.ProjectGroupMapper;
|
import cn.edu.hfut.rmdjzz.projectmanagement.mapper.ProjectGroupMapper;
|
||||||
import cn.edu.hfut.rmdjzz.projectmanagement.service.IProjectGroupService;
|
import cn.edu.hfut.rmdjzz.projectmanagement.service.IProjectGroupService;
|
||||||
|
import cn.edu.hfut.rmdjzz.projectmanagement.service.IStaffService;
|
||||||
import cn.edu.hfut.rmdjzz.projectmanagement.utils.TokenUtils;
|
import cn.edu.hfut.rmdjzz.projectmanagement.utils.TokenUtils;
|
||||||
import cn.edu.hfut.rmdjzz.projectmanagement.utils.http.RequestPage;
|
import cn.edu.hfut.rmdjzz.projectmanagement.utils.http.RequestPage;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
@ -22,6 +26,10 @@ import java.util.Map;
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class ProjectGroupServiceImpl extends ServiceImpl<ProjectGroupMapper, ProjectGroup> implements IProjectGroupService {
|
public class ProjectGroupServiceImpl extends ServiceImpl<ProjectGroupMapper, ProjectGroup> implements IProjectGroupService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IStaffService staffService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean addCreator(Integer projectId, Integer staffId) {
|
public Boolean addCreator(Integer projectId, Integer staffId) {
|
||||||
if (projectId == null || staffId == null)
|
if (projectId == null || staffId == null)
|
||||||
|
@ -35,10 +43,15 @@ public class ProjectGroupServiceImpl extends ServiceImpl<ProjectGroupMapper, Pro
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean insertNewMember(String token, Integer projectId, Integer targetId, String positions) throws ForbiddenException {
|
public Boolean insertNewMember(String token, Integer projectId, String targetUsername, String positions) throws ForbiddenException, BadRequestException {
|
||||||
int accessLevel = getProjectAccessLevel(token, projectId);
|
int accessLevel = getProjectAccessLevel(token, projectId);
|
||||||
int targetLevel = 3;
|
int targetLevel = 3;
|
||||||
|
|
||||||
|
Staff targetStaff = staffService.getOne(Wrappers.<Staff>lambdaQuery().eq(Staff::getStaffUsername, targetUsername));
|
||||||
|
if (targetStaff == null) {
|
||||||
|
throw new BadRequestException(IStaffService.STAFF_DOES_NOT_EXIST);
|
||||||
|
}
|
||||||
|
|
||||||
if (accessLevel == 0) {
|
if (accessLevel == 0) {
|
||||||
throw new ForbiddenException(IProjectGroupService.UNABLE_TO_ACCESS_PROJECT);
|
throw new ForbiddenException(IProjectGroupService.UNABLE_TO_ACCESS_PROJECT);
|
||||||
}
|
}
|
||||||
|
@ -58,7 +71,7 @@ public class ProjectGroupServiceImpl extends ServiceImpl<ProjectGroupMapper, Pro
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return baseMapper.insert(new ProjectGroup(targetId, projectId, positions, targetLevel)) == 1;
|
return baseMapper.insert(new ProjectGroup(targetStaff.getStaffId(), projectId, positions, targetLevel)) == 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -50,7 +50,7 @@ public class StaffServiceImpl extends ServiceImpl<StaffMapper, Staff> implements
|
||||||
|
|
||||||
Staff staff = getOne(Wrappers.<Staff>lambdaQuery().eq(Staff::getStaffUsername, staffUsername));
|
Staff staff = getOne(Wrappers.<Staff>lambdaQuery().eq(Staff::getStaffUsername, staffUsername));
|
||||||
if (staff == null)
|
if (staff == null)
|
||||||
throw new BadRequestException("用户不存在");
|
throw new BadRequestException(STAFF_DOES_NOT_EXIST);
|
||||||
password = DigestUtils.md5DigestAsHex((password + staff.getStaffSalt()).getBytes());
|
password = DigestUtils.md5DigestAsHex((password + staff.getStaffSalt()).getBytes());
|
||||||
if (!staff.getStaffPassword().equals(password))
|
if (!staff.getStaffPassword().equals(password))
|
||||||
throw new BadRequestException("密码错误");
|
throw new BadRequestException("密码错误");
|
||||||
|
|
|
@ -29,6 +29,7 @@ public class RequestPage {
|
||||||
@Schema(description = "传true或空时为顺序排序,否则倒序排序")
|
@Schema(description = "传true或空时为顺序排序,否则倒序排序")
|
||||||
Boolean asc;
|
Boolean asc;
|
||||||
|
|
||||||
|
@Schema(hidden = true)
|
||||||
public <T> IPage<T> getPage() {
|
public <T> IPage<T> getPage() {
|
||||||
Page<T> page = new Page<>(pageCurrent, pageSize);
|
Page<T> page = new Page<>(pageCurrent, pageSize);
|
||||||
if (StringUtils.isNotBlank(sortBy)) {
|
if (StringUtils.isNotBlank(sortBy)) {
|
||||||
|
|
Loading…
Reference in New Issue