使用mybatis-flex重构各模块代码:岗位管理

This commit is contained in:
dataprince 2023-09-18 11:20:02 +08:00
parent 82988f3385
commit 39c3a181e2
6 changed files with 197 additions and 269 deletions

View File

@ -4,10 +4,13 @@ import java.util.List;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import com.ruoyi.common.core.constant.UserConstants; import com.ruoyi.common.core.constant.UserConstants;
import com.ruoyi.common.core.core.domain.R;
import com.ruoyi.common.excel.utils.ExcelUtil;
import com.ruoyi.common.log.annotation.Log; import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType; import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.orm.core.page.TableDataInfo; import com.ruoyi.common.orm.core.page.TableDataInfo;
import com.ruoyi.common.security.utils.LoginHelper; import com.ruoyi.system.domain.bo.SysPostBo;
import com.ruoyi.system.domain.vo.SysPostVo;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
@ -21,9 +24,6 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.web.core.BaseController; import com.ruoyi.common.web.core.BaseController;
import com.ruoyi.common.core.core.domain.AjaxResult;
import com.ruoyi.common.core.utils.poi.ExcelUtil;
import com.ruoyi.system.domain.SysPost;
import com.ruoyi.system.service.ISysPostService; import com.ruoyi.system.service.ISysPostService;
/** /**
@ -45,21 +45,18 @@ public class SysPostController extends BaseController
*/ */
@SaCheckPermission("system:post:list") @SaCheckPermission("system:post:list")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(SysPost post) public TableDataInfo<SysPostVo> list(SysPostBo postBo)
{ {
startPage(); return postService.selectConfigPage(postBo);
List<SysPost> list = postService.selectPostList(post);
return getDataTable(list);
} }
@Log(title = "岗位管理", businessType = BusinessType.EXPORT) @Log(title = "岗位管理", businessType = BusinessType.EXPORT)
@SaCheckPermission("system:post:export") @SaCheckPermission("system:post:export")
@PostMapping("/export") @PostMapping("/export")
public void export(HttpServletResponse response, SysPost post) public void export(HttpServletResponse response, SysPostBo postBo)
{ {
List<SysPost> list = postService.selectPostList(post); List<SysPostVo> list = postService.selectPostList(postBo);
ExcelUtil<SysPost> util = new ExcelUtil<>(SysPost.class); ExcelUtil.exportExcel(list, "岗位管理数据", SysPostVo.class, response);
util.exportExcel(response, list, "岗位数据");
} }
/** /**
@ -67,9 +64,9 @@ public class SysPostController extends BaseController
*/ */
@SaCheckPermission("system:post:query") @SaCheckPermission("system:post:query")
@GetMapping(value = "/{postId}") @GetMapping(value = "/{postId}")
public AjaxResult getInfo(@PathVariable Long postId) public R<SysPostVo> getInfo(@PathVariable Long postId)
{ {
return success(postService.selectPostById(postId)); return R.ok(postService.selectPostById(postId));
} }
/** /**
@ -78,18 +75,21 @@ public class SysPostController extends BaseController
@SaCheckPermission("system:post:add") @SaCheckPermission("system:post:add")
@Log(title = "岗位管理", businessType = BusinessType.INSERT) @Log(title = "岗位管理", businessType = BusinessType.INSERT)
@PostMapping @PostMapping
public AjaxResult add(@Validated @RequestBody SysPost post) public R<Void> add(@Validated @RequestBody SysPostBo postBo)
{ {
if (!postService.checkPostNameUnique(post)) if (!postService.checkPostNameUnique(postBo))
{ {
return error("新增岗位'" + post.getPostName() + "'失败,岗位名称已存在"); return R.fail("新增岗位'" + postBo.getPostName() + "'失败,岗位名称已存在");
} }
else if (!postService.checkPostCodeUnique(post)) else if (!postService.checkPostCodeUnique(postBo))
{ {
return error("新增岗位'" + post.getPostName() + "'失败,岗位编码已存在"); return R.fail("新增岗位'" + postBo.getPostName() + "'失败,岗位编码已存在");
} }
post.setCreateBy(LoginHelper.getUserId()); int insertedRows = postService.insertPost(postBo);
return toAjax(postService.insertPost(post)); if (insertedRows != 1) {
return R.fail("新增岗位记录失败!");
}
return R.ok();
} }
/** /**
@ -98,22 +98,25 @@ public class SysPostController extends BaseController
@SaCheckPermission("system:post:edit") @SaCheckPermission("system:post:edit")
@Log(title = "岗位管理", businessType = BusinessType.UPDATE) @Log(title = "岗位管理", businessType = BusinessType.UPDATE)
@PutMapping @PutMapping
public AjaxResult edit(@Validated @RequestBody SysPost post) public R<Void> edit(@Validated @RequestBody SysPostBo postBo)
{ {
if (!postService.checkPostNameUnique(post)) if (!postService.checkPostNameUnique(postBo))
{ {
return error("修改岗位'" + post.getPostName() + "'失败,岗位名称已存在"); return R.fail("修改岗位'" + postBo.getPostName() + "'失败,岗位名称已存在");
} }
else if (!postService.checkPostCodeUnique(post)) else if (!postService.checkPostCodeUnique(postBo))
{ {
return error("修改岗位'" + post.getPostName() + "'失败,岗位编码已存在"); return R.fail("修改岗位'" + postBo.getPostName() + "'失败,岗位编码已存在");
} }
else if (UserConstants.POST_DISABLE.equals(post.getStatus()) else if (UserConstants.POST_DISABLE.equals(postBo.getStatus())
&& postService.countUserPostById(post.getPostId()) > 0) { && postService.countUserPostById(postBo.getPostId()) > 0) {
return error("该岗位下存在已分配用户,不能禁用!"); return R.fail("该岗位下存在已分配用户,不能禁用!");
} }
post.setUpdateBy(LoginHelper.getUserId()); Boolean updated = postService.updatePost(postBo);
return toAjax(postService.updatePost(post)); if (!updated) {
R.fail("修改岗位记录失败!");
}
return R.ok();
} }
/** /**
@ -122,20 +125,24 @@ public class SysPostController extends BaseController
@SaCheckPermission("system:post:remove") @SaCheckPermission("system:post:remove")
@Log(title = "岗位管理", businessType = BusinessType.DELETE) @Log(title = "岗位管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{postIds}") @DeleteMapping("/{postIds}")
public AjaxResult remove(@PathVariable Long[] postIds) public R<Void> remove(@PathVariable Long[] postIds)
{ {
return toAjax(postService.deletePostByIds(postIds)); boolean deleted = postService.deletePostByIds(postIds);
if (!deleted) {
R.fail("删除岗位记录失败!");
}
return R.ok();
} }
/** /**
* 获取岗位选择框列表 * 获取岗位选择框列表
*/ */
@GetMapping("/optionselect") @GetMapping("/optionselect")
public AjaxResult optionselect() public R<List<SysPostVo>> optionselect()
{ {
SysPost sysPost = new SysPost(); SysPostBo sysPostBo = new SysPostBo();
sysPost.setStatus(UserConstants.POST_NORMAL); sysPostBo.setStatus(UserConstants.POST_NORMAL);
List<SysPost> posts = postService.selectPostList(sysPost); List<SysPostVo> posts = postService.selectPostList(sysPostBo);
return success(posts); return R.ok(posts);
} }
} }

View File

@ -1,8 +1,14 @@
package com.ruoyi.system.domain; package com.ruoyi.system.domain;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size; import jakarta.validation.constraints.Size;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle; import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel; import com.ruoyi.common.core.annotation.Excel;
@ -16,125 +22,31 @@ import java.io.Serial;
* *
* @author ruoyi * @author ruoyi
*/ */
@Data
@EqualsAndHashCode(callSuper = true)
@Table(value = "sys_post")
public class SysPost extends BaseEntity public class SysPost extends BaseEntity
{ {
@Serial
private static final long serialVersionUID = 1L;
/** 岗位序号 */ /** 岗位序号 */
@Excel(name = "岗位序号", cellType = ColumnType.NUMERIC) @Id(keyType = KeyType.Auto)
private Long postId; private Long postId;
/** 岗位编码 */ /** 岗位编码 */
@Excel(name = "岗位编码")
private String postCode; private String postCode;
/** 岗位名称 */ /** 岗位名称 */
@Excel(name = "岗位名称")
private String postName; private String postName;
/** 岗位排序 */ /** 岗位排序 */
@Excel(name = "岗位排序")
private Integer postSort; private Integer postSort;
/** 状态0正常 1停用 */ /** 状态0正常 1停用 */
@Excel(name = "状态", readConverterExp = "0=正常,1=停用")
private String status; private String status;
/** /** 备注 */
* 备注
*/
private String remark; private String remark;
/** 用户是否存在此岗位标识 默认不存在 */ /** 用户是否存在此岗位标识 默认不存在 */
@Column(ignore = true)
private boolean flag = false; private boolean flag = false;
public Long getPostId()
{
return postId;
}
public void setPostId(Long postId)
{
this.postId = postId;
}
@NotBlank(message = "岗位编码不能为空")
@Size(min = 0, max = 64, message = "岗位编码长度不能超过64个字符")
public String getPostCode()
{
return postCode;
}
public void setPostCode(String postCode)
{
this.postCode = postCode;
}
@NotBlank(message = "岗位名称不能为空")
@Size(min = 0, max = 50, message = "岗位名称长度不能超过50个字符")
public String getPostName()
{
return postName;
}
public void setPostName(String postName)
{
this.postName = postName;
}
@NotNull(message = "显示顺序不能为空")
public Integer getPostSort()
{
return postSort;
}
public void setPostSort(Integer postSort)
{
this.postSort = postSort;
}
public String getStatus()
{
return status;
}
public void setStatus(String status)
{
this.status = status;
}
public boolean isFlag()
{
return flag;
}
public void setFlag(boolean flag)
{
this.flag = flag;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("postId", getPostId())
.append("postCode", getPostCode())
.append("postName", getPostName())
.append("postSort", getPostSort())
.append("status", getStatus())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.toString();
}
} }

View File

@ -21,7 +21,6 @@ import java.util.Date;
*/ */
@Data @Data
@ExcelIgnoreUnannotated @ExcelIgnoreUnannotated
@AutoMapper(target = SysPost.class)
public class SysPostVo implements Serializable { public class SysPostVo implements Serializable {
@Serial @Serial

View File

@ -1,99 +1,33 @@
package com.ruoyi.system.mapper; package com.ruoyi.system.mapper;
import java.util.List; import java.util.List;
import com.mybatisflex.core.BaseMapper;
import com.ruoyi.system.domain.SysPost; import com.ruoyi.system.domain.SysPost;
import org.apache.ibatis.annotations.Mapper;
/** /**
* 岗位信息 数据层 * 岗位信息 数据层
* *
* @author ruoyi * @author 数据小王子
*/ */
public interface SysPostMapper @Mapper
public interface SysPostMapper extends BaseMapper<SysPost>
{ {
/**
* 查询岗位数据集合
*
* @param post 岗位信息
* @return 岗位数据集合
*/
public List<SysPost> selectPostList(SysPost post);
/**
* 查询所有岗位
*
* @return 岗位列表
*/
public List<SysPost> selectPostAll();
/**
* 通过岗位ID查询岗位信息
*
* @param postId 岗位ID
* @return 角色对象信息
*/
public SysPost selectPostById(Long postId);
/** /**
* 根据用户ID获取岗位选择框列表 * 根据用户ID获取岗位选择框列表
* *
* @param userId 用户ID * @param userId 用户ID
* @return 选中岗位ID列表 * @return 选中岗位ID列表
*/ */
public List<Long> selectPostListByUserId(Long userId); List<Long> selectPostListByUserId(Long userId);
/** /**
* 查询用户所属岗位组 * 查询用户所属岗位组
* *
* @param userName 用户名 * @param userName 用户名
* @return 结果 * @return 结果
*/ */
public List<SysPost> selectPostsByUserName(String userName); List<SysPost> selectPostsByUserName(String userName);
/**
* 删除岗位信息
*
* @param postId 岗位ID
* @return 结果
*/
public int deletePostById(Long postId);
/**
* 批量删除岗位信息
*
* @param postIds 需要删除的岗位ID
* @return 结果
*/
public int deletePostByIds(Long[] postIds);
/**
* 修改岗位信息
*
* @param post 岗位信息
* @return 结果
*/
public int updatePost(SysPost post);
/**
* 新增岗位信息
*
* @param post 岗位信息
* @return 结果
*/
public int insertPost(SysPost post);
/**
* 校验岗位名称
*
* @param postName 岗位名称
* @return 结果
*/
public SysPost checkPostNameUnique(String postName);
/**
* 校验岗位编码
*
* @param postCode 岗位编码
* @return 结果
*/
public SysPost checkPostCodeUnique(String postCode);
} }

View File

@ -1,99 +1,112 @@
package com.ruoyi.system.service; package com.ruoyi.system.service;
import java.util.List; import java.util.List;
import com.mybatisflex.core.service.IService;
import com.ruoyi.common.orm.core.page.TableDataInfo;
import com.ruoyi.system.domain.SysPost; import com.ruoyi.system.domain.SysPost;
import com.ruoyi.system.domain.bo.SysPostBo;
import com.ruoyi.system.domain.vo.SysPostVo;
/** /**
* 岗位信息 服务层 * 岗位信息 服务层
* *
* @author ruoyi * @author ruoyi
*/ */
public interface ISysPostService public interface ISysPostService extends IService<SysPost>
{ {
/** /**
* 查询岗位信息集合 * 查询岗位信息集合
* *
* @param post 岗位信息 * @param post 岗位信息
* @return 岗位列表 * @return 岗位列表
*/ */
public List<SysPost> selectPostList(SysPost post); List<SysPostVo> selectPostList(SysPostBo post);
/**
* 分页查询公告列表
*
* @param postBo 公告信息
* @return 公告集合
*/
TableDataInfo<SysPostVo> selectConfigPage(SysPostBo postBo);
/** /**
* 查询所有岗位 * 查询所有岗位
* *
* @return 岗位列表 * @return 岗位列表
*/ */
public List<SysPost> selectPostAll(); List<SysPostVo> selectPostAll();
/** /**
* 通过岗位ID查询岗位信息 * 通过岗位ID查询岗位信息
* *
* @param postId 岗位ID * @param postId 岗位ID
* @return 角色对象信息 * @return 角色对象信息
*/ */
public SysPost selectPostById(Long postId); SysPostVo selectPostById(Long postId);
/** /**
* 根据用户ID获取岗位选择框列表 * 根据用户ID获取岗位选择框列表
* *
* @param userId 用户ID * @param userId 用户ID
* @return 选中岗位ID列表 * @return 选中岗位ID列表
*/ */
public List<Long> selectPostListByUserId(Long userId); List<Long> selectPostListByUserId(Long userId);
/** /**
* 校验岗位名称 * 校验岗位名称
* *
* @param post 岗位信息 * @param post 岗位信息
* @return 结果 * @return 结果
*/ */
public boolean checkPostNameUnique(SysPost post); boolean checkPostNameUnique(SysPostBo post);
/** /**
* 校验岗位编码 * 校验岗位编码
* *
* @param post 岗位信息 * @param post 岗位信息
* @return 结果 * @return 结果
*/ */
public boolean checkPostCodeUnique(SysPost post); boolean checkPostCodeUnique(SysPostBo post);
/** /**
* 通过岗位ID查询岗位使用数量 * 通过岗位ID查询岗位使用数量
* *
* @param postId 岗位ID * @param postId 岗位ID
* @return 结果 * @return 结果
*/ */
public int countUserPostById(Long postId); int countUserPostById(Long postId);
/** /**
* 删除岗位信息 * 删除岗位信息
* *
* @param postId 岗位ID * @param postId 岗位ID
* @return 结果 * @return 结果:true 删除成功false 删除失败
*/ */
public int deletePostById(Long postId); boolean deletePostById(Long postId);
/** /**
* 批量删除岗位信息 * 批量删除岗位信息
* *
* @param postIds 需要删除的岗位ID * @param postIds 需要删除的岗位ID
* @return 结果 * @return 结果:true 删除成功false 删除失败
*/ */
public int deletePostByIds(Long[] postIds); boolean deletePostByIds(Long[] postIds);
/** /**
* 新增保存岗位信息 * 新增保存岗位信息
* *
* @param post 岗位信息 * @param post 岗位信息
* @return 结果 * @return 结果
*/ */
public int insertPost(SysPost post); int insertPost(SysPostBo post);
/** /**
* 修改保存岗位信息 * 修改保存岗位信息
* *
* @param post 岗位信息 * @param post 岗位信息
* @return 结果 * @return 结果:true 更新成功false 更新失败
*/ */
public int updatePost(SysPost post); boolean updatePost(SysPostBo post);
} }

View File

@ -1,7 +1,18 @@
package com.ruoyi.system.service.impl; package com.ruoyi.system.service.impl;
import java.util.Arrays;
import java.util.List; import java.util.List;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.query.QueryWrapper;
import com.mybatisflex.spring.service.impl.ServiceImpl;
import com.ruoyi.common.core.core.page.PageDomain;
import com.ruoyi.common.core.core.page.TableSupport;
import com.ruoyi.common.core.utils.MapstructUtils;
import com.ruoyi.common.core.utils.sql.SqlUtil;
import com.ruoyi.common.orm.core.page.TableDataInfo;
import com.ruoyi.system.domain.bo.SysPostBo;
import com.ruoyi.system.domain.vo.SysPostVo;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.ruoyi.common.core.constant.UserConstants; import com.ruoyi.common.core.constant.UserConstants;
@ -12,13 +23,15 @@ import com.ruoyi.system.mapper.SysPostMapper;
import com.ruoyi.system.mapper.SysUserPostMapper; import com.ruoyi.system.mapper.SysUserPostMapper;
import com.ruoyi.system.service.ISysPostService; import com.ruoyi.system.service.ISysPostService;
import static com.ruoyi.system.domain.table.SysPostTableDef.SYS_POST;
/** /**
* 岗位信息 服务层处理 * 岗位信息 服务层处理
* *
* @author ruoyi * @author ruoyi
*/ */
@Service @Service
public class SysPostServiceImpl implements ISysPostService public class SysPostServiceImpl extends ServiceImpl<SysPostMapper, SysPost> implements ISysPostService
{ {
@Resource @Resource
private SysPostMapper postMapper; private SysPostMapper postMapper;
@ -26,16 +39,64 @@ public class SysPostServiceImpl implements ISysPostService
@Resource @Resource
private SysUserPostMapper userPostMapper; private SysUserPostMapper userPostMapper;
@Override
public QueryWrapper query() {
return super.query().from(SYS_POST);
}
/**
* 根据postBo构建QueryWrapper查询条件
* @param postBo
* @return
*/
private QueryWrapper buildQueryWrapper(SysPostBo postBo) {
QueryWrapper queryWrapper = query();
PageDomain pageDomain = TableSupport.buildPageRequest();
if (StringUtils.isNotEmpty(postBo.getPostCode())) {
queryWrapper.and(SYS_POST.POST_CODE.like(postBo.getPostCode()));
}
if (StringUtils.isNotEmpty(postBo.getStatus())) {
queryWrapper.and(SYS_POST.STATUS.eq(postBo.getStatus()));
}
if (StringUtils.isNotEmpty(postBo.getPostName())) {
queryWrapper.and(SYS_POST.POST_NAME.like(postBo.getPostName()));
}
if (StringUtils.isNotEmpty(pageDomain.getOrderBy())) {
String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy());
queryWrapper.orderBy(orderBy);
}
return queryWrapper;
}
/** /**
* 查询岗位信息集合 * 查询岗位信息集合
* *
* @param post 岗位信息 * @param postBo 岗位信息
* @return 岗位信息集合 * @return 岗位信息集合
*/ */
@Override @Override
public List<SysPost> selectPostList(SysPost post) public List<SysPostVo> selectPostList(SysPostBo postBo)
{ {
return postMapper.selectPostList(post); QueryWrapper queryWrapper = buildQueryWrapper(postBo);
return this.listAs(queryWrapper, SysPostVo.class);
}
/**
* 分页查询公告列表
*
* @param postBo 公告信息
* @return 公告集合
*/
@Override
public TableDataInfo<SysPostVo> selectConfigPage(SysPostBo postBo) {
QueryWrapper queryWrapper = buildQueryWrapper(postBo);
PageDomain pageDomain = TableSupport.buildPageRequest();
Page<SysPostVo> page = this.getMapper().paginateAs(pageDomain.getPageNum(), pageDomain.getPageSize(), queryWrapper, SysPostVo.class);
return TableDataInfo.build(page);
} }
/** /**
@ -44,9 +105,9 @@ public class SysPostServiceImpl implements ISysPostService
* @return 岗位列表 * @return 岗位列表
*/ */
@Override @Override
public List<SysPost> selectPostAll() public List<SysPostVo> selectPostAll()
{ {
return postMapper.selectPostAll(); return this.listAs(query(), SysPostVo.class);
} }
/** /**
@ -56,9 +117,9 @@ public class SysPostServiceImpl implements ISysPostService
* @return 角色对象信息 * @return 角色对象信息
*/ */
@Override @Override
public SysPost selectPostById(Long postId) public SysPostVo selectPostById(Long postId)
{ {
return postMapper.selectPostById(postId); return this.getOneAs(query().where(SYS_POST.POST_ID.eq(postId)), SysPostVo.class);
} }
/** /**
@ -80,10 +141,10 @@ public class SysPostServiceImpl implements ISysPostService
* @return 结果 * @return 结果
*/ */
@Override @Override
public boolean checkPostNameUnique(SysPost post) public boolean checkPostNameUnique(SysPostBo post)
{ {
Long postId = StringUtils.isNull(post.getPostId()) ? -1L : post.getPostId(); Long postId = StringUtils.isNull(post.getPostId()) ? -1L : post.getPostId();
SysPost info = postMapper.checkPostNameUnique(post.getPostName()); SysPost info = this.getOne(query().where(SYS_POST.POST_NAME.eq(post.getPostName())));
if (StringUtils.isNotNull(info) && info.getPostId().longValue() != postId.longValue()) if (StringUtils.isNotNull(info) && info.getPostId().longValue() != postId.longValue())
{ {
return UserConstants.NOT_UNIQUE; return UserConstants.NOT_UNIQUE;
@ -98,10 +159,10 @@ public class SysPostServiceImpl implements ISysPostService
* @return 结果 * @return 结果
*/ */
@Override @Override
public boolean checkPostCodeUnique(SysPost post) public boolean checkPostCodeUnique(SysPostBo post)
{ {
Long postId = StringUtils.isNull(post.getPostId()) ? -1L : post.getPostId(); Long postId = StringUtils.isNull(post.getPostId()) ? -1L : post.getPostId();
SysPost info = postMapper.checkPostCodeUnique(post.getPostCode()); SysPost info = this.getOne(query().where(SYS_POST.POST_CODE.eq(post.getPostCode())));
if (StringUtils.isNotNull(info) && info.getPostId().longValue() != postId.longValue()) if (StringUtils.isNotNull(info) && info.getPostId().longValue() != postId.longValue())
{ {
return UserConstants.NOT_UNIQUE; return UserConstants.NOT_UNIQUE;
@ -125,55 +186,57 @@ public class SysPostServiceImpl implements ISysPostService
* 删除岗位信息 * 删除岗位信息
* *
* @param postId 岗位ID * @param postId 岗位ID
* @return 结果 * @return 结果:true 删除成功false 删除失败
*/ */
@Override @Override
public int deletePostById(Long postId) public boolean deletePostById(Long postId)
{ {
return postMapper.deletePostById(postId); return this.removeById(postId);
} }
/** /**
* 批量删除岗位信息 * 批量删除岗位信息
* *
* @param postIds 需要删除的岗位ID * @param postIds 需要删除的岗位ID
* @return 结果 * @return 结果:true 删除成功false 删除失败
*/ */
@Override @Override
public int deletePostByIds(Long[] postIds) public boolean deletePostByIds(Long[] postIds)
{ {
for (Long postId : postIds) for (Long postId : postIds)
{ {
SysPost post = selectPostById(postId); SysPostVo post = selectPostById(postId);
if (countUserPostById(postId) > 0) if (countUserPostById(postId) > 0)
{ {
throw new ServiceException(String.format("%1$s已分配不能删除", post.getPostName())); throw new ServiceException(String.format("%1$s已分配不能删除", post.getPostName()));
} }
} }
return postMapper.deletePostByIds(postIds); return this.removeByIds(Arrays.asList(postIds));
} }
/** /**
* 新增保存岗位信息 * 新增保存岗位信息
* *
* @param post 岗位信息 * @param postBo 岗位信息
* @return 结果 * @return 结果
*/ */
@Override @Override
public int insertPost(SysPost post) public int insertPost(SysPostBo postBo)
{ {
return postMapper.insertPost(post); SysPost sysPost = MapstructUtils.convert(postBo, SysPost.class);
return postMapper.insert(sysPost,false);
} }
/** /**
* 修改保存岗位信息 * 修改保存岗位信息
* *
* @param post 岗位信息 * @param postBo 岗位信息
* @return 结果 * @return 结果:true 更新成功false 更新失败
*/ */
@Override @Override
public int updatePost(SysPost post) public boolean updatePost(SysPostBo postBo)
{ {
return postMapper.updatePost(post); SysPost sysPost = MapstructUtils.convert(postBo, SysPost.class);
return this.updateById(sysPost);
} }
} }