Bläddra i källkod

feat: 岗位新增、查询、修改

zhaomuran 7 månader sedan
förälder
incheckning
c6c9e84c96

+ 46 - 0
bound-link-api/blink-management/src/main/java/com/cloud/sa/management/controller/PostController.java

@@ -0,0 +1,46 @@
+package com.cloud.sa.management.controller;
+
+import com.cloud.sa.base.common.domain.PageResult;
+import com.cloud.sa.base.common.domain.ResponseDTO;
+import com.cloud.sa.management.domain.dto.PostDTO;
+import com.cloud.sa.management.domain.qry.PostQry;
+import com.cloud.sa.management.service.IPostService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+
+@RestController
+@Tag(name = "岗位")
+public class PostController {
+
+    @Resource
+    private IPostService postService;
+
+    @Operation(summary = "新增岗位")
+    @PostMapping("/supports/post/create")
+    public ResponseDTO<String> supportsPostCreate(@RequestBody @Valid PostDTO dto){
+        return postService.supportsPostCreate(dto);
+    }
+
+    @Operation(summary = "查询岗位")
+    @GetMapping("/supports/post/queryPage")
+    public ResponseDTO<PageResult<PostDTO>> supportsPostQueryPage(PostQry qry){
+        return postService.supportsPostQueryPage(qry);
+    }
+
+    @Operation(summary = "岗位信息回显-去修改")
+    @GetMapping("/supports/post/toUpdate/{id}")
+    public ResponseDTO<PostDTO> supportsToUpdatePost(@PathVariable("id") Long id){
+        return postService.supportsToUpdatePost(id);
+    }
+
+    @Operation(summary = "岗位信息修改")
+    @PostMapping("/supports/post/updateFinish")
+    public ResponseDTO<String> supportsUpdateFinishPost(@RequestBody @Valid PostDTO dto){
+        return postService.supportsUpdateFinishPost(dto);
+    }
+
+}

+ 49 - 0
bound-link-api/blink-management/src/main/java/com/cloud/sa/management/domain/dataobject/PostDO.java

@@ -0,0 +1,49 @@
+package com.cloud.sa.management.domain.dataobject;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.cloud.sa.base.common.domain.BaseEntity;
+import lombok.Data;
+
+@Data
+@TableName("mate_post")
+public class PostDO extends BaseEntity {
+
+    /**
+     * id
+     */
+    @TableId(type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 岗位编码
+     * */
+    private String postCode;
+
+    /**
+     * 岗位名称
+     * */
+    private String postName;
+
+    /**
+     * 岗位描述
+     * */
+    private String postDescription;
+
+    /**
+     * 排序
+     * */
+    private Integer sort;
+
+    /**
+     * 所有成员
+     * */
+    private String allMember;
+
+    /**
+     * 启用状态(0-禁用,1-启用)
+     * */
+    private Integer status;
+
+}

+ 44 - 0
bound-link-api/blink-management/src/main/java/com/cloud/sa/management/domain/dto/PostDTO.java

@@ -0,0 +1,44 @@
+package com.cloud.sa.management.domain.dto;
+
+import com.cloud.sa.base.common.domain.BaseEntity;
+import lombok.Data;
+
+@Data
+public class PostDTO extends BaseEntity {
+
+    /**
+     * id
+     */
+    private Long id;
+
+    /**
+     * 岗位编码
+     * */
+    private String postCode;
+
+    /**
+     * 岗位名称
+     * */
+    private String postName;
+
+    /**
+     * 岗位描述
+     * */
+    private String postDescription;
+
+    /**
+     * 排序
+     * */
+    private Integer sort;
+
+    /**
+     * 所有成员
+     * */
+    private String allMember;
+
+    /**
+     * 启用状态(0-禁用,1-启用)
+     * */
+    private Integer status;
+
+}

+ 19 - 0
bound-link-api/blink-management/src/main/java/com/cloud/sa/management/domain/qry/PostQry.java

@@ -0,0 +1,19 @@
+package com.cloud.sa.management.domain.qry;
+
+import com.cloud.sa.base.common.domain.PageParam;
+import lombok.Data;
+
+@Data
+public class PostQry extends PageParam {
+
+    /**
+     * id
+     */
+    private Long id;
+
+    /**
+     *  岗位编码
+     * */
+    private String postCode;
+
+}

+ 104 - 0
bound-link-api/blink-management/src/main/java/com/cloud/sa/management/manager/PostServiceImpl.java

@@ -0,0 +1,104 @@
+package com.cloud.sa.management.manager;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.cloud.sa.base.common.domain.PageResult;
+import com.cloud.sa.base.common.domain.ResponseDTO;
+import com.cloud.sa.base.common.util.BlinkEntityUtil;
+import com.cloud.sa.base.common.util.BlinkPageUtil;
+import com.cloud.sa.management.domain.dataobject.PostDO;
+import com.cloud.sa.management.domain.dto.PostDTO;
+import com.cloud.sa.management.domain.qry.PostQry;
+import com.cloud.sa.management.objectmapper.PostMapper;
+import com.cloud.sa.management.repository.PostRepository;
+import com.cloud.sa.management.service.IPostService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Objects;
+
+@Service
+public class PostServiceImpl extends ServiceImpl<PostRepository, PostDO> implements IPostService {
+
+    @Resource
+    private PostRepository repository;
+
+    @Resource
+    private PostMapper postMapper;
+
+    /**
+     * 新增岗位
+     *
+     * @param dto
+     * @return
+     */
+    @Override
+    public ResponseDTO<String> supportsPostCreate(PostDTO dto) {
+        // 验证岗位编码是否重复
+        PostDO postDO = repository.queryByPostCode(dto.getPostCode(), null, Boolean.FALSE);
+        if (Objects.nonNull(postDO)) {
+            return ResponseDTO.userErrorParam("岗位已存在!请检查");
+        }
+        PostDO post = new PostDO();
+        postMapper.toPostDO(dto, post);
+        //创建人赋值
+        BlinkEntityUtil.setCreateInfo(post);
+        //执行新增
+        this.save(post);
+        return ResponseDTO.ok();
+    }
+
+    /**
+     * 查询岗位列表
+     *
+     * @param qry
+     * @return
+     */
+    @Override
+    public ResponseDTO<PageResult<PostDTO>> supportsPostQueryPage(PostQry qry) {
+        Page<?> page = BlinkPageUtil.convert2PageQuery(qry);
+        List<PostDTO> list = repository.supportsPostQueryPage(page, qry);
+        PageResult<PostDTO> pageResult = BlinkPageUtil.convert2PageResult(page, list);
+        return ResponseDTO.ok(pageResult);
+    }
+
+    /**
+     * 岗位信息回显(去修改)
+     *
+     * @param id
+     * @return
+     */
+    @Override
+    public ResponseDTO<PostDTO> supportsToUpdatePost(Long id) {
+        PostDO postDO = repository.queryByPostCode(null, id, Boolean.FALSE);
+        if (!Objects.nonNull(postDO)) {
+            return ResponseDTO.userErrorParam("岗位不存在!请检查");
+        }
+        PostDTO dto = new PostDTO();
+        postMapper.toPostDTO(postDO, dto);
+        return ResponseDTO.ok(dto);
+    }
+
+    /**
+     * 岗位信息去修改
+     *
+     * @param dto
+     * @return
+     */
+    @Override
+    public ResponseDTO<String> supportsUpdateFinishPost(PostDTO dto) {
+        // 验证岗位编码是否重复
+        PostDO postDO = repository.queryByPostCode(dto.getPostCode(), dto.getId(), Boolean.FALSE);
+        if (Objects.nonNull(postDO)) {
+            return ResponseDTO.userErrorParam("岗位已存在!请检查");
+        }
+        PostDO post = new PostDO();
+        postMapper.toPostDO(dto, post);
+        //修改人赋值
+        BlinkEntityUtil.setUpdatedInfo(post);
+        //执行修改
+        this.updateById(post);
+        return ResponseDTO.ok();
+    }
+}

+ 27 - 0
bound-link-api/blink-management/src/main/java/com/cloud/sa/management/objectmapper/PostMapper.java

@@ -0,0 +1,27 @@
+package com.cloud.sa.management.objectmapper;
+
+import com.cloud.sa.base.common.util.BlinkStringUtil;
+import com.cloud.sa.management.domain.dataobject.PostDO;
+import com.cloud.sa.management.domain.dto.PostDTO;
+import org.mapstruct.Mapper;
+import org.mapstruct.MappingTarget;
+
+@Mapper(componentModel = "spring", imports = {BlinkStringUtil.class})
+public interface PostMapper {
+
+    /**
+     * 岗位主数据dto转do
+     *
+     * @param dto
+     */
+    void toPostDO(PostDTO dto, @MappingTarget PostDO postDO);
+
+
+    /**
+     * 岗位主数据do转dto
+     *
+     * @param dto
+     */
+    void toPostDTO(PostDO postDO, @MappingTarget PostDTO dto);
+
+}

+ 34 - 0
bound-link-api/blink-management/src/main/java/com/cloud/sa/management/repository/PostRepository.java

@@ -0,0 +1,34 @@
+package com.cloud.sa.management.repository;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.cloud.sa.management.domain.dataobject.PostDO;
+import com.cloud.sa.management.domain.dto.PostDTO;
+import com.cloud.sa.management.domain.qry.PostQry;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+@Mapper
+public interface PostRepository extends BaseMapper<PostDO> {
+
+    /**
+     * 验证服务商是否重复
+     *
+     * @param postCode
+     * @param deletedFlag
+     * @param id
+     * @return
+     */
+    PostDO queryByPostCode(@Param("postCode") String postCode, @Param("id") Long id, @Param("deletedFlag") Boolean deletedFlag);
+
+    /**
+     * 查询岗位列表
+     *
+     * @param qry
+     * @return
+     */
+    List<PostDTO> supportsPostQueryPage(Page<?> page, @Param("query") PostQry qry);
+
+}

+ 41 - 0
bound-link-api/blink-management/src/main/java/com/cloud/sa/management/service/IPostService.java

@@ -0,0 +1,41 @@
+package com.cloud.sa.management.service;
+
+import com.cloud.sa.base.common.domain.PageResult;
+import com.cloud.sa.base.common.domain.ResponseDTO;
+import com.cloud.sa.management.domain.dto.PostDTO;
+import com.cloud.sa.management.domain.qry.PostQry;
+
+public interface IPostService {
+
+    /**
+     * 新增岗位
+     *
+     * @param dto
+     * @return
+     */
+    ResponseDTO<String> supportsPostCreate(PostDTO dto);
+
+    /**
+     * 查询岗位列表
+     *
+     * @param qry
+     * @return
+     */
+    ResponseDTO<PageResult<PostDTO>> supportsPostQueryPage(PostQry qry);
+
+    /**
+     * 岗位信息回显(去修改)
+     *
+     * @param id
+     * @return
+     */
+    ResponseDTO<PostDTO> supportsToUpdatePost(Long id);
+
+    /**
+     * 岗位信息去修改
+     *
+     * @param dto
+     * @return
+     */
+    ResponseDTO<String> supportsUpdateFinishPost(PostDTO dto);
+}

+ 30 - 0
bound-link-api/blink-management/src/main/resources/mapper/PostRepositoryMapper.xml

@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.cloud.sa.management.repository.PostRepository">
+    <select id="queryByPostCode" resultType="com.cloud.sa.management.domain.dataobject.PostDO">
+        SELECT *
+        FROM mate_post
+        WHERE deleted_flag = #{deletedFlag}
+        <if test="postCode != null and postCode != ''">
+            AND post_code = #{postCode}
+        </if>
+        <if test="id != null">
+            AND id = #{id}
+        </if>
+    </select>
+
+    <!--    查询岗位列表-->
+    <select id="supportsPostQueryPage" resultType="com.cloud.sa.management.domain.dto.PostDTO">
+        select *
+        from mate_post
+        where deleted_flag = '0'
+        <if test="query.postCode != null and query.postCode != ''">
+            AND post_code = #{query.poatCode}
+        </if>
+        <if test="query.id != null">
+            AND id = #{query.id}
+        </if>
+        order by create_time desc
+    </select>
+
+</mapper>