diff --git a/core/src/main/java/com/dite/znpt/domain/entity/PostEntity.java b/core/src/main/java/com/dite/znpt/domain/entity/PostEntity.java index 17e9479..f19d72e 100644 --- a/core/src/main/java/com/dite/znpt/domain/entity/PostEntity.java +++ b/core/src/main/java/com/dite/znpt/domain/entity/PostEntity.java @@ -31,6 +31,10 @@ public class PostEntity extends AuditableEntity implements Serializable { @TableId(value = "post_id", type = IdType.ASSIGN_UUID) private String postId; + @ApiModelProperty("部门id") + @TableField("dept_id") + private String deptId; + @ApiModelProperty("岗位名称") @TableField("post_name") private String postName; diff --git a/core/src/main/java/com/dite/znpt/domain/vo/PostListReq.java b/core/src/main/java/com/dite/znpt/domain/vo/PostListReq.java new file mode 100644 index 0000000..8425a4e --- /dev/null +++ b/core/src/main/java/com/dite/znpt/domain/vo/PostListReq.java @@ -0,0 +1,29 @@ +package com.dite.znpt.domain.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + +/** + * @author Bear.G + * @date 2025/8/6/周三 14:37 + * @description + */ +@Data +@ApiModel("项目预算信息列表请求实体") +public class PostListReq implements Serializable { + @Serial + private static final long serialVersionUID = -3911963210474319099L; + + @ApiModelProperty("岗位名称") + private String postName; + + @ApiModelProperty("部门id") + private String deptId; + + @ApiModelProperty("是否包含部门子节点") + private Boolean includeDeptChildren; +} diff --git a/core/src/main/java/com/dite/znpt/domain/vo/PostReq.java b/core/src/main/java/com/dite/znpt/domain/vo/PostReq.java index 97b0a8d..fc4df93 100644 --- a/core/src/main/java/com/dite/znpt/domain/vo/PostReq.java +++ b/core/src/main/java/com/dite/znpt/domain/vo/PostReq.java @@ -21,6 +21,10 @@ public class PostReq implements Serializable { @Serial private static final long serialVersionUID = -149328762675637911L; + @ApiModelProperty("部门id") + @NotBlank(groups = {ValidationGroup.Insert.class, ValidationGroup.Update.class}, message = "部门id不能为空") + private String deptId; + @NotBlank(groups = {ValidationGroup.Insert.class, ValidationGroup.Update.class}, message = "岗位名称不能为空") @Size(max = 30, groups = {ValidationGroup.Insert.class, ValidationGroup.Update.class}, message = "岗位名称长度不能超过30个字符") @ApiModelProperty("岗位名称") diff --git a/core/src/main/java/com/dite/znpt/domain/vo/PostResp.java b/core/src/main/java/com/dite/znpt/domain/vo/PostResp.java index 545ec86..ae7eaf2 100644 --- a/core/src/main/java/com/dite/znpt/domain/vo/PostResp.java +++ b/core/src/main/java/com/dite/znpt/domain/vo/PostResp.java @@ -22,6 +22,12 @@ public class PostResp implements Serializable { @ApiModelProperty("岗位id") private String postId; + @ApiModelProperty("部门id") + private String deptId; + + @ApiModelProperty("部门名称") + private String deptName; + @ApiModelProperty("岗位名称") private String postName; diff --git a/core/src/main/java/com/dite/znpt/mapper/PostMapper.java b/core/src/main/java/com/dite/znpt/mapper/PostMapper.java index b98dc56..4737b42 100644 --- a/core/src/main/java/com/dite/znpt/mapper/PostMapper.java +++ b/core/src/main/java/com/dite/znpt/mapper/PostMapper.java @@ -2,6 +2,10 @@ package com.dite.znpt.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dite.znpt.domain.entity.PostEntity; +import com.dite.znpt.domain.vo.PostListReq; +import com.dite.znpt.domain.vo.PostResp; + +import java.util.List; /** * @author Bear.G @@ -9,4 +13,6 @@ import com.dite.znpt.domain.entity.PostEntity; * @description */ public interface PostMapper extends BaseMapper { + + List selectPostResp(PostListReq req); } diff --git a/core/src/main/java/com/dite/znpt/service/PostService.java b/core/src/main/java/com/dite/znpt/service/PostService.java index 3a27134..ef9e246 100644 --- a/core/src/main/java/com/dite/znpt/service/PostService.java +++ b/core/src/main/java/com/dite/znpt/service/PostService.java @@ -2,6 +2,7 @@ package com.dite.znpt.service; import com.baomidou.mybatisplus.extension.service.IService; import com.dite.znpt.domain.entity.PostEntity; +import com.dite.znpt.domain.vo.PostListReq; import com.dite.znpt.domain.vo.PostReq; import com.dite.znpt.domain.vo.PostResp; @@ -14,9 +15,9 @@ import java.util.List; */ public interface PostService extends IService { - List page(String postName); + List page(PostListReq req); - List list(String postName); + List list(PostListReq req); PostResp detail(String postId); diff --git a/core/src/main/java/com/dite/znpt/service/impl/PostServiceImpl.java b/core/src/main/java/com/dite/znpt/service/impl/PostServiceImpl.java index b735355..468fdaf 100644 --- a/core/src/main/java/com/dite/znpt/service/impl/PostServiceImpl.java +++ b/core/src/main/java/com/dite/znpt/service/impl/PostServiceImpl.java @@ -5,16 +5,20 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dite.znpt.constant.Message; import com.dite.znpt.converts.Converts; +import com.dite.znpt.domain.entity.DeptEntity; import com.dite.znpt.domain.entity.PostEntity; +import com.dite.znpt.domain.vo.PostListReq; import com.dite.znpt.domain.vo.PostReq; import com.dite.znpt.domain.vo.PostResp; import com.dite.znpt.exception.ServiceException; +import com.dite.znpt.mapper.DeptMapper; import com.dite.znpt.mapper.PostMapper; import com.dite.znpt.service.PostService; import com.dite.znpt.util.PageUtil; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import java.util.List; /** @@ -25,15 +29,18 @@ import java.util.List; @Service public class PostServiceImpl extends ServiceImpl implements PostService { + @Resource + private DeptMapper deptMapper; + @Override - public List page(String postName) { + public List page(PostListReq req) { PageUtil.startPage(); - return this.list(postName); + return this.list(req); } @Override - public List list(String postName) { - return Converts.INSTANCE.toPostResp(this.list(Wrappers.lambdaQuery(PostEntity.class).like(StrUtil.isNotBlank(postName), PostEntity::getPostName, postName))); + public List list(PostListReq req) { + return this.baseMapper.selectPostResp(req); } @Override diff --git a/core/src/main/resources/mapper/PostMapper.xml b/core/src/main/resources/mapper/PostMapper.xml index c770671..a9ec082 100644 --- a/core/src/main/resources/mapper/PostMapper.xml +++ b/core/src/main/resources/mapper/PostMapper.xml @@ -2,4 +2,30 @@ + \ No newline at end of file diff --git a/web/src/main/java/com/dite/znpt/web/controller/PostController.java b/web/src/main/java/com/dite/znpt/web/controller/PostController.java index f5e0945..9d9b49c 100644 --- a/web/src/main/java/com/dite/znpt/web/controller/PostController.java +++ b/web/src/main/java/com/dite/znpt/web/controller/PostController.java @@ -2,6 +2,7 @@ package com.dite.znpt.web.controller; import com.dite.znpt.domain.PageResult; import com.dite.znpt.domain.Result; +import com.dite.znpt.domain.vo.PostListReq; import com.dite.znpt.domain.vo.PostReq; import com.dite.znpt.domain.vo.PostResp; import com.dite.znpt.service.PostService; @@ -28,14 +29,14 @@ public class PostController { @ApiOperation(value = "分页查询岗位信息列表", httpMethod = "GET") @GetMapping("/page") - public PageResult page(@RequestParam(value = "postName", required = false) String postName){ - return PageResult.ok(postService.page(postName)); + public PageResult page(PostListReq req){ + return PageResult.ok(postService.page(req)); } @ApiOperation(value = "查询岗位信息列表", httpMethod = "GET") @GetMapping("/list") - public Result> list(@RequestParam(value = "postName", required = false) String postName){ - return Result.ok(postService.list(postName)); + public Result> list(PostListReq req){ + return Result.ok(postService.list(req)); } @ApiOperation(value = "查询岗位信息详情", httpMethod = "GET") diff --git a/web/src/main/resources/application-dev.yml b/web/src/main/resources/application-dev.yml index 497aa0b..24e7b09 100644 --- a/web/src/main/resources/application-dev.yml +++ b/web/src/main/resources/application-dev.yml @@ -14,7 +14,7 @@ spring: datasource: type: com.alibaba.druid.pool.DruidDataSource driverClassName: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://39.99.201.243:3306/test01?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + url: jdbc:mysql://39.99.201.243:3306/znpt_dev?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root password: BUw8YW6%@^8q druid: