Browse Source

岗位增删改查

wks 2 năm trước cách đây
mục cha
commit
a106a03f72

+ 71 - 0
src/main/java/com/ydtech/modules/admin/controller/SysPositionController.java

@@ -0,0 +1,71 @@
+package com.ydtech.modules.admin.controller;
+
+
+import com.ydtech.core.page.HttpResult;
+import com.ydtech.modules.admin.model.SysPosition;
+import com.ydtech.modules.admin.model.vo.SysPositionPageVo;
+import com.ydtech.modules.admin.model.vo.SysPositionVo;
+import com.ydtech.modules.admin.service.SysPositionService;
+import com.ydtech.modules.order.entity.BasePageResult;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * @description: 岗位管理
+ * @author: wenks
+ * @date: 2024/1/29 16:16
+ **/
+@RestController
+@RequestMapping("/sys/position")
+@RequiredArgsConstructor
+public class SysPositionController {
+
+    private final SysPositionService sysPositionService;
+
+    @GetMapping("/all")
+    @ApiOperation("查询全部岗位信息")
+    public HttpResult<List<SysPosition>> getAll() {
+        List<SysPosition> list = sysPositionService.list();
+        return HttpResult.ok(list);
+    }
+
+    @GetMapping("/page")
+    @ApiOperation("分页查询岗位信息")
+    public HttpResult<BasePageResult<SysPosition>> pageQuery(@RequestBody SysPositionPageVo sysPositionPageVo) {
+        BasePageResult<SysPosition> pageResult = sysPositionService.pageQuery(sysPositionPageVo);
+        return HttpResult.ok(pageResult);
+    }
+
+    @PostMapping
+    @ApiOperation("添加岗位")
+    public HttpResult<SysPosition> add(@RequestBody SysPositionVo sysPositionVo) {
+        sysPositionService.add(sysPositionVo);
+        return HttpResult.ok("添加成功");
+    }
+
+    @GetMapping("/{positionId}")
+    @ApiOperation("获取单个岗位信息")
+    public HttpResult<SysPosition> get(@PathVariable("positionId") String positionId) {
+        SysPosition sysPosition = sysPositionService.isExit(positionId);
+        return HttpResult.ok(sysPosition);
+    }
+
+    @PutMapping("/{positionId}")
+    @ApiOperation("修改岗位信息")
+    public HttpResult<Object> modification(@PathVariable("positionId") String positionId, SysPositionVo sysPositionVo) {
+        sysPositionService.modification(positionId, sysPositionVo);
+        return HttpResult.ok("修改成功");
+    }
+
+    @DeleteMapping("/{positionId}")
+    @ApiOperation("删除岗位信息")
+    public HttpResult<Object> delete(@PathVariable("positionId") String positionId) {
+        sysPositionService.delete(positionId);
+        return HttpResult.ok("删除成功");
+    }
+
+
+}

+ 18 - 0
src/main/java/com/ydtech/modules/admin/dao/SysPositionMapper.java

@@ -0,0 +1,18 @@
+package com.ydtech.modules.admin.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ydtech.modules.admin.model.SysPosition;
+
+/**
+* @author Administrator
+* @description 针对表【sys_position(岗位信息表)】的数据库操作Mapper
+* @createDate 2024-01-29 17:27:22
+* @Entity generator.domain.SysPosition
+*/
+public interface SysPositionMapper extends BaseMapper<SysPosition> {
+
+}
+
+
+
+

+ 91 - 0
src/main/java/com/ydtech/modules/admin/model/SysPosition.java

@@ -0,0 +1,91 @@
+package com.ydtech.modules.admin.model;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ydtech.modules.admin.model.vo.SysPositionVo;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 岗位信息表
+ * @TableName sys_position
+ */
+@TableName(value ="sys_position")
+@Data
+public class SysPosition implements Serializable {
+    /**
+     * 岗位ID
+     */
+    @TableId(value = "post_id", type = IdType.AUTO)
+    private Long postId;
+
+    /**
+     * 岗位编码
+     */
+    @TableField(value = "post_code")
+    private String postCode;
+
+    /**
+     * 岗位名称
+     */
+    @TableField(value = "post_name")
+    private String postName;
+
+    /**
+     * 显示顺序
+     */
+    @TableField(value = "post_sort")
+    private Integer postSort;
+
+    /**
+     * 状态(0正常 1停用)
+     */
+    @TableField(value = "status")
+    private String status;
+
+    /**
+     * 创建者
+     */
+    @TableField(value = "create_by")
+    private String createBy;
+
+    /**
+     * 创建时间
+     */
+    @TableField(value = "create_time")
+    private Date createTime;
+
+    /**
+     * 更新者
+     */
+    @TableField(value = "update_by")
+    private String updateBy;
+
+    /**
+     * 更新时间
+     */
+    @TableField(value = "update_time")
+    private Date updateTime;
+
+    /**
+     * 备注
+     */
+    @TableField(value = "remark")
+    private String remark;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+
+
+
+    public SysPosition(SysPositionVo sysPositionVo) {
+        this.postCode = sysPositionVo.getPostCode();
+        this.postName = sysPositionVo.getPostName();
+        this.postSort = sysPositionVo.getPostSort();
+        this.status = sysPositionVo.getStatus();
+    }
+}

+ 19 - 0
src/main/java/com/ydtech/modules/admin/model/vo/SysPositionPageVo.java

@@ -0,0 +1,19 @@
+package com.ydtech.modules.admin.model.vo;
+
+import com.ydtech.core.page.PageRequest;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class SysPositionPageVo extends PageRequest {
+
+
+    @ApiModelProperty("岗位名称")
+    private String postName;
+
+    @ApiModelProperty("状态(0正常 1停用)")
+    private String status;
+
+}

+ 29 - 0
src/main/java/com/ydtech/modules/admin/model/vo/SysPositionVo.java

@@ -0,0 +1,29 @@
+package com.ydtech.modules.admin.model.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+@ApiModel("添加和修改实体")
+public class SysPositionVo implements Serializable {
+
+    private static final long serialVersionUID = 4626918059354427945L;
+
+    @ApiModelProperty("岗位编码")
+    private String postCode;
+
+
+    @ApiModelProperty("岗位名称")
+    private String postName;
+
+    @ApiModelProperty("显示顺序")
+    private Integer postSort;
+
+
+    @ApiModelProperty("状态(0正常 1停用)")
+    private String status;
+
+}

+ 62 - 0
src/main/java/com/ydtech/modules/admin/service/SysPositionService.java

@@ -0,0 +1,62 @@
+package com.ydtech.modules.admin.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ydtech.exception.SystemException;
+import com.ydtech.modules.admin.model.SysPosition;
+import com.ydtech.modules.admin.model.vo.SysPositionPageVo;
+import com.ydtech.modules.admin.model.vo.SysPositionVo;
+import com.ydtech.modules.order.entity.BasePageResult;
+import org.springframework.util.ObjectUtils;
+
+
+/**
+ * @author Administrator
+ * @description 针对表【sys_position(岗位信息表)】的数据库操作Service
+ * @createDate 2024-01-29 17:27:22
+ */
+public interface SysPositionService extends IService<SysPosition> {
+
+    /**
+     * 添加岗位信息
+     *
+     * @param sysPositionVo 岗位信息
+     */
+    void add(SysPositionVo sysPositionVo);
+
+    /**
+     * 修改岗位信息
+     *
+     * @param positionId    岗位id
+     * @param sysPositionVo 岗位信息
+     */
+    void modification(String positionId, SysPositionVo sysPositionVo);
+
+
+    /**
+     * 判断岗位是否存在
+     *
+     * @param postionId 岗位id
+     * @return 岗位信息
+     */
+    default SysPosition isExit(String postionId) {
+        SysPosition sysPosition = getById(postionId);
+        if (ObjectUtils.isEmpty(sysPosition)) {
+            throw new SystemException("查询岗位不存在");
+        }
+        return sysPosition;
+    }
+
+    /**
+     * 删除岗位信息
+     *
+     * @param positionId 岗位id
+     */
+    void delete(String positionId);
+
+    /**
+     * 分页查询岗位信息
+     *
+     * @param sysPositionPageVo 岗位分页信息
+     */
+    BasePageResult<SysPosition> pageQuery(SysPositionPageVo sysPositionPageVo);
+}

+ 65 - 0
src/main/java/com/ydtech/modules/admin/service/impl/SysPositionServiceImpl.java

@@ -0,0 +1,65 @@
+package com.ydtech.modules.admin.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ydtech.modules.admin.dao.SysPositionMapper;
+import com.ydtech.modules.admin.model.SysPosition;
+import com.ydtech.modules.admin.model.vo.SysPositionPageVo;
+import com.ydtech.modules.admin.model.vo.SysPositionVo;
+import com.ydtech.modules.admin.service.SysPositionService;
+import com.ydtech.modules.order.entity.BasePageResult;
+import com.ydtech.modules.order.entity.InsOrders;
+import com.ydtech.modules.protocol.utils.AssertionUtils;
+import com.ydtech.utils.StringUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author Administrator
+ * @description 针对表【sys_position(岗位信息表)】的数据库操作Service实现
+ * @createDate 2024-01-29 17:27:22
+ */
+@Service
+public class SysPositionServiceImpl extends ServiceImpl<SysPositionMapper, SysPosition>
+        implements SysPositionService {
+
+    @Override
+    public void add(SysPositionVo sysPositionVo) {
+        SysPosition sysPosition = new SysPosition(sysPositionVo);
+        boolean save = save(sysPosition);
+        AssertionUtils.isSucceed(save, "添加失败");
+    }
+
+    @Override
+    public void modification(String positionId, SysPositionVo sysPositionVo) {
+        SysPosition sysPosition = isExit(positionId);
+        BeanUtils.copyProperties(sysPositionVo, sysPosition);
+        boolean b = updateById(sysPosition);
+        AssertionUtils.isSucceed(b, "修改失败");
+    }
+
+    @Override
+    public void delete(String positionId) {
+        boolean b = removeById(positionId);
+        AssertionUtils.isSucceed(b, "删除失败");
+    }
+
+    @Override
+    public BasePageResult<SysPosition> pageQuery(SysPositionPageVo sysPositionPageVo) {
+        Page<SysPosition> page = new Page<>(sysPositionPageVo.getPageNum(), sysPositionPageVo.getPageSize());
+        LambdaQueryWrapper<SysPosition> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(StringUtils.isNotEmpty(sysPositionPageVo.getPostName()), SysPosition::getPostName, sysPositionPageVo.getPostName())
+                        .eq(StringUtils.isNotEmpty(sysPositionPageVo.getStatus()), SysPosition::getStatus, sysPositionPageVo.getStatus());
+        Page<SysPosition> sysPositionPage = page(page, wrapper);
+        return new BasePageResult<>(sysPositionPageVo.getPageNum(), page.getSize(), sysPositionPage.getTotal(), page.getPages(),
+                sysPositionPage.getRecords());
+    }
+
+
+
+}
+
+
+
+

+ 26 - 0
src/main/resources/mapper/modules/admin/SysPositionMapper.xml

@@ -0,0 +1,26 @@
+<?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="generator.mapper.SysPositionMapper">
+
+    <resultMap id="BaseResultMap" type="generator.domain.SysPosition">
+            <id property="postId" column="post_id" jdbcType="BIGINT"/>
+            <result property="postCode" column="post_code" jdbcType="VARCHAR"/>
+            <result property="postName" column="post_name" jdbcType="VARCHAR"/>
+            <result property="postSort" column="post_sort" jdbcType="INTEGER"/>
+            <result property="status" column="status" jdbcType="CHAR"/>
+            <result property="createBy" column="create_by" jdbcType="VARCHAR"/>
+            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+            <result property="updateBy" column="update_by" jdbcType="VARCHAR"/>
+            <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
+            <result property="remark" column="remark" jdbcType="VARCHAR"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        post_id,post_code,post_name,
+        post_sort,status,create_by,
+        create_time,update_by,update_time,
+        remark
+    </sql>
+</mapper>