人员配置机构
This commit is contained in:
@@ -3,18 +3,18 @@ package com.adc.da.slrs.sarUser.controller;
|
||||
|
||||
import com.adc.da.http.ResponseMessage;
|
||||
import com.adc.da.http.Result;
|
||||
import com.adc.da.slrs.sarUser.entity.UserPositionVO;
|
||||
import com.adc.da.slrs.sarUser.service.ITsUserService;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import com.adc.da.slrs.sarUser.entity.TsUser;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import com.adc.da.base.web.BaseController;
|
||||
|
||||
import javax.validation.Valid;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 前端控制器
|
||||
@@ -40,4 +40,12 @@ public class TsUserController extends BaseController<TsUser> {
|
||||
return tsUserService.disable(tsUser);
|
||||
}
|
||||
|
||||
@ApiOperation("配置岗位")
|
||||
@PostMapping("/position")
|
||||
public ResponseMessage<Object> setPosition(@Valid @RequestBody UserPositionVO userPositionVO){
|
||||
return tsUserService.setPosition(userPositionVO);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -2,6 +2,10 @@ package com.adc.da.slrs.sarUser.dao;
|
||||
|
||||
import com.adc.da.slrs.sarUser.entity.TsUser;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Insert;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -13,4 +17,31 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
*/
|
||||
public interface TsUserDao extends BaseMapper<TsUser> {
|
||||
|
||||
/**
|
||||
* 查询用户已经绑定的岗位ID
|
||||
*/
|
||||
@Select("select position_id from ts_user_position where user_id=#{userId}")
|
||||
List<String> selectPositionIds(String userId);
|
||||
|
||||
/**
|
||||
* 添加岗位
|
||||
* @param userId:用户ID
|
||||
* @param positionId:岗位ID
|
||||
*/
|
||||
@Insert("insert into ts_user_position (user_id,position_id) values (#{userId},#{positionId})")
|
||||
void addPosition(String userId, String positionId);
|
||||
|
||||
/**
|
||||
* 解绑岗位
|
||||
* @param userId:用户ID
|
||||
* @param positionId:岗位ID
|
||||
*/
|
||||
void delPosition(String userId, String positionId);
|
||||
|
||||
/**
|
||||
* 通过岗位ID查询用户及其岗位
|
||||
* @param institutionId:岗位ID
|
||||
* @return List<TsUser>
|
||||
*/
|
||||
List<TsUser> getUserAndPosition(String institutionId);
|
||||
}
|
||||
|
||||
@@ -2,10 +2,14 @@ package com.adc.da.slrs.sarUser.entity;
|
||||
|
||||
import com.adc.da.base.entity.BaseEntity;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import com.adc.da.slrs.sarPosition.entity.TsPosition;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
@@ -133,5 +137,9 @@ public class TsUser extends BaseEntity {
|
||||
@TableField("SSO_ID")
|
||||
private String ssoId;
|
||||
|
||||
@ApiModelProperty(value = "岗位")
|
||||
@TableField(exist = false)
|
||||
private List<TsPosition> positions;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.adc.da.slrs.sarUser.entity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class UserPositionVO {
|
||||
@NotNull(message = "userId不能为空")
|
||||
private String userId;
|
||||
@NotNull(message = "positionIds不能为空")
|
||||
private List<String> positionIds;
|
||||
}
|
||||
@@ -2,6 +2,7 @@ package com.adc.da.slrs.sarUser.service;
|
||||
|
||||
import com.adc.da.http.ResponseMessage;
|
||||
import com.adc.da.slrs.sarUser.entity.TsUser;
|
||||
import com.adc.da.slrs.sarUser.entity.UserPositionVO;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
@@ -30,4 +31,11 @@ public interface ITsUserService extends IService<TsUser> {
|
||||
* @return ResponseMessage<Object>
|
||||
*/
|
||||
ResponseMessage<Object> disable(TsUser tsUser);
|
||||
|
||||
/**
|
||||
* 配置岗位
|
||||
* @param userPositionVO :用户、岗位ID
|
||||
* @return ResponseMessage<Object>
|
||||
*/
|
||||
ResponseMessage<Object> setPosition(UserPositionVO userPositionVO);
|
||||
}
|
||||
|
||||
+34
-3
@@ -4,13 +4,17 @@ import com.adc.da.http.ResponseMessage;
|
||||
import com.adc.da.http.Result;
|
||||
import com.adc.da.slrs.sarUser.entity.TsUser;
|
||||
import com.adc.da.slrs.sarUser.dao.TsUserDao;
|
||||
import com.adc.da.slrs.sarUser.entity.UserPositionVO;
|
||||
import com.adc.da.slrs.sarUser.service.ITsUserService;
|
||||
import com.adc.da.utils.util.ListUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
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.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -32,9 +36,7 @@ public class TsUserServiceImpl extends ServiceImpl<TsUserDao, TsUser> implements
|
||||
*/
|
||||
@Override
|
||||
public List<TsUser> getUserByInstitutionId(String institutionId) {
|
||||
QueryWrapper<TsUser> userQueryWrapper=new QueryWrapper<>();
|
||||
userQueryWrapper.eq("institution_id",institutionId);
|
||||
return tsUserDao.selectList(userQueryWrapper);
|
||||
return tsUserDao.getUserAndPosition(institutionId);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -64,4 +66,33 @@ public class TsUserServiceImpl extends ServiceImpl<TsUserDao, TsUser> implements
|
||||
tsUserDao.updateById(user);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 配置岗位
|
||||
* @param userPositionVO :用户、岗位ID
|
||||
* @return ResponseMessage<Object>
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public ResponseMessage<Object> setPosition(UserPositionVO userPositionVO) {
|
||||
TsUser tsUser=tsUserDao.selectById(userPositionVO.getUserId());
|
||||
if(tsUser==null){
|
||||
return Result.error("该用户不存在");
|
||||
}
|
||||
List<String> oldPositionIds=tsUserDao.selectPositionIds(userPositionVO.getUserId());
|
||||
Map<String,List<String>> ids= ListUtil.difList(userPositionVO.getPositionIds(),oldPositionIds);
|
||||
List<String> insertIds=ids.get("insert");
|
||||
List<String> deleteIds=ids.get("delete");
|
||||
if(insertIds!=null&&insertIds.size()>0){
|
||||
for(String positionId:insertIds){
|
||||
tsUserDao.addPosition(userPositionVO.getUserId(),positionId);
|
||||
}
|
||||
}
|
||||
if(deleteIds!=null&&deleteIds.size()>0){
|
||||
for(String positionId:deleteIds){
|
||||
tsUserDao.delPosition(userPositionVO.getUserId(),positionId);
|
||||
}
|
||||
}
|
||||
return Result.success();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user