岗位管理
This commit is contained in:
+64
@@ -0,0 +1,64 @@
|
||||
package com.adc.da.slrs.sarPosition.controller;
|
||||
|
||||
|
||||
import com.adc.da.http.ResponseMessage;
|
||||
import com.adc.da.http.Result;
|
||||
import com.adc.da.slrs.sarPosition.entity.TsPositionRoleVO;
|
||||
import com.adc.da.slrs.sarPosition.service.ITsPositionService;
|
||||
import com.adc.da.slrs.sarRole.entity.TsRole;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import com.adc.da.slrs.sarPosition.entity.TsPosition;
|
||||
import io.swagger.annotations.Api;
|
||||
import com.adc.da.base.web.BaseController;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 前端控制器
|
||||
* </p>
|
||||
*
|
||||
* @author zyl
|
||||
* @since 2021-06-23
|
||||
*/
|
||||
@RestController
|
||||
@Api(tags = "|岗位管理|")
|
||||
@RequestMapping("/sarPosition/position")
|
||||
public class TsPositionController extends BaseController<TsPosition> {
|
||||
@Autowired
|
||||
private ITsPositionService tsPositionService;
|
||||
|
||||
/**
|
||||
* 查询岗位(可通过name筛选)
|
||||
* @param tsPosition:筛选信息
|
||||
*/
|
||||
@ApiOperation("查询岗位")
|
||||
@GetMapping
|
||||
public ResponseMessage<List<TsPosition>> getPosition(TsPosition tsPosition){
|
||||
List<TsPosition> positions=tsPositionService.getPosition(tsPosition);
|
||||
return Result.success(positions);
|
||||
}
|
||||
|
||||
@ApiOperation("新增岗位")
|
||||
@PostMapping
|
||||
public ResponseMessage<Object> addPosition(@Validated(TsPosition.insert.class) TsPosition tsPosition){
|
||||
return tsPositionService.addPosition(tsPosition);
|
||||
}
|
||||
|
||||
@ApiOperation("配置角色")
|
||||
@PostMapping("/role")
|
||||
public ResponseMessage<Object> setRole(@Valid @RequestBody TsPositionRoleVO tsPositionRoleVO){
|
||||
return tsPositionService.setRole(tsPositionRoleVO);
|
||||
}
|
||||
|
||||
@ApiOperation("查询角色")
|
||||
@GetMapping("/role")
|
||||
public ResponseMessage<List<TsRole>> getRole(@RequestParam String positionId){
|
||||
List<TsRole> roles=tsPositionService.getRole(positionId);
|
||||
return Result.success(roles);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
package com.adc.da.slrs.sarPosition.dao;
|
||||
|
||||
import com.adc.da.slrs.sarPosition.entity.TsPosition;
|
||||
import com.adc.da.slrs.sarRole.entity.TsRole;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Delete;
|
||||
import org.apache.ibatis.annotations.Insert;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author zyl
|
||||
* @since 2021-06-23
|
||||
*/
|
||||
public interface TsPositionDao extends BaseMapper<TsPosition> {
|
||||
|
||||
@Select("select role_id from ts_position_role where position_id=#{positionId}")
|
||||
List<String> getRoleId(String positionId);
|
||||
|
||||
@Insert("insert into ts_position_role (position_id,role_id) values (#{positionId},#{roleId})")
|
||||
void insertRole(String positionId, String roleId);
|
||||
|
||||
@Delete("delete from ts_position_role where position_id=#{positionId} and role_id=#{roleId}")
|
||||
void deleteRole(String positionId, String roleId);
|
||||
|
||||
List<TsRole> getRole(String positionId);
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
package com.adc.da.slrs.sarPosition.entity;
|
||||
|
||||
import com.adc.da.base.entity.BaseEntity;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* </p>
|
||||
*
|
||||
* @author zyl
|
||||
* @since 2021-06-23
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value="TsPosition对象", description="")
|
||||
public class TsPosition extends BaseEntity {
|
||||
public interface insert{
|
||||
}
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "操作时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Timestamp operateTime;
|
||||
|
||||
@ApiModelProperty(value = "操作人")
|
||||
private String operator;
|
||||
|
||||
@NotNull(message = "name不能为空",groups = {insert.class})
|
||||
@ApiModelProperty(value = "岗位名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "创建部门ID")
|
||||
private String createDeptId;
|
||||
|
||||
@ApiModelProperty(value = "创建人ID")
|
||||
private String createById;
|
||||
|
||||
@ApiModelProperty(value = "类型(1为导入,2为新建)")
|
||||
private String type;
|
||||
|
||||
@ApiModelProperty(value = "ID")
|
||||
@TableId(value = "id",type = IdType.UUID)
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Timestamp createTime;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.adc.da.slrs.sarPosition.entity;
|
||||
|
||||
import com.adc.da.slrs.sarRole.entity.TsRole;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class TsPositionRoleVO {
|
||||
@NotNull(message = "positionId不能为空")
|
||||
private String positionId;
|
||||
@NotNull(message = "roleIds不能为空")
|
||||
private List<String> roleIds;
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
package com.adc.da.slrs.sarPosition.service;
|
||||
|
||||
import com.adc.da.http.ResponseMessage;
|
||||
import com.adc.da.slrs.sarPosition.entity.TsPosition;
|
||||
import com.adc.da.slrs.sarPosition.entity.TsPositionRoleVO;
|
||||
import com.adc.da.slrs.sarRole.entity.TsRole;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author zyl
|
||||
* @since 2021-06-23
|
||||
*/
|
||||
public interface ITsPositionService extends IService<TsPosition> {
|
||||
|
||||
/**
|
||||
* 查询岗位
|
||||
* @param tsPosition:查询信息
|
||||
* @return List<TsPosition>
|
||||
*/
|
||||
List<TsPosition> getPosition(TsPosition tsPosition);
|
||||
|
||||
/**
|
||||
* 配置角色
|
||||
* @param tsPositionRoleVO:角色ID
|
||||
* @return ResponseMessage<Object>
|
||||
*/
|
||||
ResponseMessage<Object> setRole(TsPositionRoleVO tsPositionRoleVO);
|
||||
|
||||
/**
|
||||
* 查询角色
|
||||
* @param positionId :岗位ID
|
||||
* @return List<TsRole>
|
||||
*/
|
||||
List<TsRole> getRole(String positionId);
|
||||
|
||||
/**
|
||||
* 添加岗位
|
||||
* @param tsPosition:岗位信息
|
||||
* @return ResponseMessage<Object>
|
||||
*/
|
||||
ResponseMessage<Object> addPosition(TsPosition tsPosition);
|
||||
}
|
||||
+94
@@ -0,0 +1,94 @@
|
||||
package com.adc.da.slrs.sarPosition.service.impl;
|
||||
|
||||
import com.adc.da.http.ResponseMessage;
|
||||
import com.adc.da.http.Result;
|
||||
import com.adc.da.slrs.sarPosition.entity.TsPosition;
|
||||
import com.adc.da.slrs.sarPosition.dao.TsPositionDao;
|
||||
import com.adc.da.slrs.sarPosition.entity.TsPositionRoleVO;
|
||||
import com.adc.da.slrs.sarPosition.service.ITsPositionService;
|
||||
import com.adc.da.slrs.sarRole.entity.TsRole;
|
||||
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>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author zyl
|
||||
* @since 2021-06-23
|
||||
*/
|
||||
@Service
|
||||
public class TsPositionServiceImpl extends ServiceImpl<TsPositionDao, TsPosition> implements ITsPositionService {
|
||||
@Autowired
|
||||
private TsPositionDao tsPositionDao;
|
||||
|
||||
/**
|
||||
* 查询岗位
|
||||
* @param tsPosition:查询信息
|
||||
* @return List<TsPosition>
|
||||
*/
|
||||
@Override
|
||||
public List<TsPosition> getPosition(TsPosition tsPosition) {
|
||||
QueryWrapper<TsPosition> positionQueryWrapper=new QueryWrapper<>();
|
||||
if(tsPosition.getName()!=null){
|
||||
positionQueryWrapper.like("name","%"+tsPosition.getName()+"%");
|
||||
}
|
||||
return tsPositionDao.selectList(positionQueryWrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 配置角色
|
||||
* @param tsPositionRoleVO:角色ID
|
||||
* @return ResponseMessage<Object>
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public ResponseMessage<Object> setRole(TsPositionRoleVO tsPositionRoleVO) {
|
||||
List<String> oldRoleIds=tsPositionDao.getRoleId(tsPositionRoleVO.getPositionId());
|
||||
Map<String,List<String>> updateRoleIds= ListUtil.difList(tsPositionRoleVO.getRoleIds(),oldRoleIds);
|
||||
List<String> insertIds=updateRoleIds.get("insert");
|
||||
List<String> deleteIds=updateRoleIds.get("delete");
|
||||
for(String id:insertIds){
|
||||
tsPositionDao.insertRole(tsPositionRoleVO.getPositionId(),id);
|
||||
}
|
||||
for(String id:deleteIds){
|
||||
tsPositionDao.deleteRole(tsPositionRoleVO.getPositionId(),id);
|
||||
}
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询角色
|
||||
* @param positionId :岗位ID
|
||||
* @return List<TsRole>
|
||||
*/
|
||||
@Override
|
||||
public List<TsRole> getRole(String positionId) {
|
||||
return tsPositionDao.getRole(positionId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加岗位
|
||||
* @param tsPosition:岗位信息
|
||||
* @return ResponseMessage<Object>
|
||||
*/
|
||||
@Override
|
||||
public ResponseMessage<Object> addPosition(TsPosition tsPosition) {
|
||||
QueryWrapper<TsPosition> positionQueryWrapper=new QueryWrapper<>();
|
||||
positionQueryWrapper.eq("name",tsPosition.getName());
|
||||
List<TsPosition> tsPositions=tsPositionDao.selectList(positionQueryWrapper);
|
||||
if(tsPositions!=null&&tsPositions.size()>0){
|
||||
return Result.error("该岗位已存在");
|
||||
}
|
||||
tsPositionDao.insert(tsPosition);
|
||||
return Result.success();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user