Przeglądaj źródła

feature: 岗位管理后端接口实现修改

luoyb 1 rok temu
rodzic
commit
33784bca39

+ 0 - 5
ruoyi-example/ruoyi-demo/src/main/java/org/dromara/demo/domain/TestDemo.java

@@ -60,10 +60,5 @@ public class TestDemo extends BaseEntity {
     @Version
     private Long version;
 
-    /**
-     * 删除标志
-     */
-    @TableLogic
-    private Long delFlag;
 
 }

+ 0 - 6
ruoyi-example/ruoyi-demo/src/main/java/org/dromara/demo/domain/TestTree.java

@@ -57,10 +57,4 @@ public class TestTree extends BaseEntity {
     @Version
     private Long version;
 
-    /**
-     * 删除标志
-     */
-    @TableLogic
-    private Long delFlag;
-
 }

+ 12 - 2
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysPostController.java

@@ -11,6 +11,7 @@ import org.dromara.common.mybatis.core.page.PageQuery;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
 import org.dromara.common.web.core.BaseController;
 import org.dromara.system.domain.bo.SysPostBo;
+import org.dromara.system.domain.bo.SysUserBo;
 import org.dromara.system.domain.vo.SysPostVo;
 import org.dromara.system.service.ISysPostService;
 import jakarta.servlet.http.HttpServletResponse;
@@ -122,12 +123,21 @@ public class SysPostController extends BaseController {
         List<SysPostVo> list = new ArrayList<>();
         if (ObjectUtil.isNotNull(deptId)) {
             SysPostBo post = new SysPostBo();
-            post.setDeptId(deptId);
             list = postService.selectPostList(post);
         } else if (postIds != null) {
             list = postService.selectPostByIds(List.of(postIds));
         }
         return R.ok(list);
     }
-
+    /**
+     * 状态修改
+     */
+    @SaCheckPermission("system:post:edit")
+    @Log(title = "岗位管理", businessType = BusinessType.UPDATE)
+    @PutMapping("/changeStatus")
+    public R<Void> changeStatus(@RequestBody SysPostBo post) {
+//        userService.checkUserAllowed(user.getUserId());
+//        userService.checkUserDataScope(user.getUserId());
+        return toAjax(postService.updatePostStatus(post.getPostId(), post.getStatus()));
+    }
 }

+ 1 - 1
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java

@@ -142,7 +142,7 @@ public class SysUserController extends BaseController {
             Long deptId = sysUser.getDeptId();
             if (ObjectUtil.isNotNull(deptId)) {
                 SysPostBo postBo = new SysPostBo();
-                postBo.setDeptId(deptId);
+//                postBo.setDeptId(deptId);
                 userInfoVo.setPosts(postService.selectPostList(postBo));
                 userInfoVo.setPostIds(postService.selectPostListByUserId(userId));
             }

+ 6 - 12
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysPost.java

@@ -7,14 +7,14 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 
 /**
- * 岗位表 sys_post
+ * 岗位表 t_sys_post
  *
  * @author Lion Li
  */
 
 @Data
 @EqualsAndHashCode(callSuper = true)
-@TableName("sys_post")
+@TableName("t_sys_post")
 public class SysPost extends TenantEntity {
 
     /**
@@ -23,11 +23,6 @@ public class SysPost extends TenantEntity {
     @TableId(value = "post_id")
     private Long postId;
 
-    /**
-     * 部门id
-     */
-    private Long deptId;
-
     /**
      * 岗位编码
      */
@@ -38,11 +33,6 @@ public class SysPost extends TenantEntity {
      */
     private String postName;
 
-    /**
-     * 岗位类别编码
-     */
-    private String postCategory;
-
     /**
      * 岗位排序
      */
@@ -53,6 +43,10 @@ public class SysPost extends TenantEntity {
      */
     private String status;
 
+    /**
+     * 是否系统数据(Y是 N否)
+     */
+    private String sysData;
     /**
      * 备注
      */

+ 6 - 18
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysPostBo.java

@@ -10,7 +10,7 @@ import org.dromara.common.mybatis.core.domain.BaseEntity;
 import org.dromara.system.domain.SysPost;
 
 /**
- * 岗位信息业务对象 sys_post
+ * 岗位信息业务对象 t_sys_post
  *
  * @author Michelle.Chung
  */
@@ -25,17 +25,6 @@ public class SysPostBo extends BaseEntity {
      */
     private Long postId;
 
-    /**
-     * 部门id(单部门)
-     */
-    @NotNull(message = "部门id不能为空")
-    private Long deptId;
-
-    /**
-     * 归属部门id(部门树)
-     */
-    private Long belongDeptId;
-
     /**
      * 岗位编码
      */
@@ -50,12 +39,6 @@ public class SysPostBo extends BaseEntity {
     @Size(min = 0, max = 50, message = "岗位名称长度不能超过{max}个字符")
     private String postName;
 
-    /**
-     * 岗位类别编码
-     */
-    @Size(min = 0, max = 100, message = "类别编码长度不能超过{max}个字符")
-    private String postCategory;
-
     /**
      * 显示顺序
      */
@@ -67,6 +50,11 @@ public class SysPostBo extends BaseEntity {
      */
     private String status;
 
+    /**
+     * 是否系统数据(Y是 N否)
+     */
+    private String sysData;
+
     /**
      * 备注
      */

+ 7 - 18
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysPostVo.java

@@ -17,7 +17,7 @@ import java.util.Date;
 
 
 /**
- * 岗位信息视图对象 sys_post
+ * 岗位信息视图对象 t_sys_post
  *
  * @author Michelle.Chung
  */
@@ -35,12 +35,6 @@ public class SysPostVo implements Serializable {
     @ExcelProperty(value = "岗位序号")
     private Long postId;
 
-    /**
-     * 部门id
-     */
-    @ExcelProperty(value = "部门id")
-    private Long deptId;
-
     /**
      * 岗位编码
      */
@@ -53,12 +47,6 @@ public class SysPostVo implements Serializable {
     @ExcelProperty(value = "岗位名称")
     private String postName;
 
-    /**
-     * 岗位类别编码
-     */
-    @ExcelProperty(value = "类别编码")
-    private String postCategory;
-
     /**
      * 显示顺序
      */
@@ -72,6 +60,12 @@ public class SysPostVo implements Serializable {
     @ExcelDictFormat(dictType = "sys_normal_disable")
     private String status;
 
+    /**
+     * 是否系统数据(Y是 N否)
+     */
+    @ExcelProperty(value = "系统数据", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(dictType = "sys_yes_no")
+    private String sysData;
     /**
      * 备注
      */
@@ -84,10 +78,5 @@ public class SysPostVo implements Serializable {
     @ExcelProperty(value = "创建时间")
     private Date createTime;
 
-    /**
-     * 部门名
-     */
-    @Translation(type = TransConstant.DEPT_ID_TO_NAME, mapper = "deptId")
-    private String deptName;
 
 }

+ 9 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysPostService.java

@@ -111,4 +111,13 @@ public interface ISysPostService {
      * @return 结果
      */
     int updatePost(SysPostBo bo);
+
+    /**
+     * 修改岗位状态
+     *
+     * @param postId 岗位ID
+     * @param status 岗位状态
+     * @return 结果
+     */
+    int updatePostStatus(Long postId, String status);
 }

+ 21 - 17
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysPostServiceImpl.java

@@ -4,6 +4,8 @@ import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.RequiredArgsConstructor;
 import org.dromara.common.core.constant.UserConstants;
@@ -16,6 +18,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
 import org.dromara.common.mybatis.helper.DataBaseHelper;
 import org.dromara.system.domain.SysDept;
 import org.dromara.system.domain.SysPost;
+import org.dromara.system.domain.SysUser;
 import org.dromara.system.domain.SysUserPost;
 import org.dromara.system.domain.bo.SysPostBo;
 import org.dromara.system.domain.vo.SysPostVo;
@@ -27,6 +30,7 @@ import org.springframework.stereotype.Service;
 
 import java.util.Arrays;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -66,28 +70,13 @@ public class SysPostServiceImpl implements ISysPostService {
      * @return 构建好的查询包装器
      */
     private LambdaQueryWrapper<SysPost> buildQueryWrapper(SysPostBo bo) {
+
         LambdaQueryWrapper<SysPost> wrapper = new LambdaQueryWrapper<>();
         wrapper.like(StringUtils.isNotBlank(bo.getPostCode()), SysPost::getPostCode, bo.getPostCode())
-            .like(StringUtils.isNotBlank(bo.getPostCategory()), SysPost::getPostCategory, bo.getPostCategory())
             .like(StringUtils.isNotBlank(bo.getPostName()), SysPost::getPostName, bo.getPostName())
             .eq(StringUtils.isNotBlank(bo.getStatus()), SysPost::getStatus, bo.getStatus())
+            .eq(SysPost::getDelFlag,UserConstants.POST_NORMAL)
             .orderByAsc(SysPost::getPostSort);
-        if (ObjectUtil.isNotNull(bo.getDeptId())) {
-            //优先单部门搜索
-            wrapper.eq(SysPost::getDeptId, bo.getDeptId());
-        } else if (ObjectUtil.isNotNull(bo.getBelongDeptId())) {
-            //部门树搜索
-            wrapper.and(x -> {
-                List<Long> deptIds = deptMapper.selectList(new LambdaQueryWrapper<SysDept>()
-                        .select(SysDept::getDeptId)
-                        .apply(DataBaseHelper.findInSet(bo.getBelongDeptId(), "ancestors")))
-                    .stream()
-                    .map(SysDept::getDeptId)
-                    .collect(Collectors.toList());
-                deptIds.add(bo.getBelongDeptId());
-                x.in(SysPost::getDeptId, deptIds);
-            });
-        }
         return wrapper;
     }
 
@@ -228,4 +217,19 @@ public class SysPostServiceImpl implements ISysPostService {
         SysPost post = MapstructUtils.convert(bo, SysPost.class);
         return baseMapper.updateById(post);
     }
+
+    /**
+     * 修改岗位状态
+     *
+     * @param postId 岗位ID
+     * @param status 岗位状态
+     * @return 结果
+     */
+    @Override
+    public int updatePostStatus(Long postId, String status) {
+        return baseMapper.update(null,
+            new LambdaUpdateWrapper<SysPost>()
+                .set(SysPost::getStatus, status)
+                .eq(SysPost::getPostId, postId));
+    }
 }

+ 2 - 0
ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysDictDataMapper.xml

@@ -4,4 +4,6 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.dromara.system.mapper.SysDictDataMapper">
 
+    <select id="selectDictDataByType" resultType="org.dromara.system.domain.vo.SysDictDataVo"
+            parameterType="java.lang.String"></select>
 </mapper>

+ 2 - 2
ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysPostMapper.xml

@@ -15,12 +15,12 @@
         <if test="ew.getSqlSelect == null">
             *
         </if>
-        from sys_post ${ew.getCustomSqlSegment}
+        from t_sys_post ${ew.getCustomSqlSegment}
     </select>
 
     <select id="selectPostsByUserId" parameterType="Long" resultMap="SysPostResult">
         select p.post_id, p.dept_id, p.post_name, p.post_code, p.post_category
-        from sys_post p
+        from t_sys_post p
                  left join sys_user_post up on up.post_id = p.post_id
                  left join t_sys_user u on u.user_id = up.user_id
         where u.user_id = #{userId}