From 20b24c3c748ee1005d641786d2d94e479d529b5d Mon Sep 17 00:00:00 2001 From: SondonYong Date: Fri, 31 Oct 2025 17:38:42 +0800 Subject: [PATCH] =?UTF-8?q?init:=E5=B2=97=E4=BD=8D=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zcloud/basic/info/web/PostController.java | 85 ++++++++++++++++++ .../zcloud/basic/info/command/PostAddExe.java | 40 +++++++++ .../basic/info/command/PostRemoveExe.java | 39 ++++++++ .../basic/info/command/PostUpdateExe.java | 34 +++++++ .../command/convertor/PostCoConvertor.java | 24 +++++ .../info/command/query/PostQueryExe.java | 52 +++++++++++ .../basic/info/service/PostServiceImpl.java | 66 ++++++++++++++ .../zcloud/basic/info/api/PostServiceI.java | 30 +++++++ .../com/zcloud/basic/info/dto/PostAddCmd.java | 55 ++++++++++++ .../zcloud/basic/info/dto/PostPageQry.java | 28 ++++++ .../zcloud/basic/info/dto/PostRemoveCmd.java | 29 ++++++ .../zcloud/basic/info/dto/PostUpdateCmd.java | 54 ++++++++++++ .../basic/info/dto/clientobject/PostCO.java | 88 +++++++++++++++++++ .../info/domain/gateway/PostGateway.java | 30 +++++++ .../zcloud/basic/info/domain/model/PostE.java | 37 ++++++++ .../info/gatewayimpl/PostGatewayImpl.java | 50 +++++++++++ .../info/persistence/dataobject/PostDO.java | 54 ++++++++++++ .../info/persistence/mapper/PostMapper.java | 17 ++++ .../repository/PostRepository.java | 22 +++++ .../repository/impl/PostRepositoryImpl.java | 45 ++++++++++ .../src/main/resources/mybatis/PostMapper.xml | 8 ++ 21 files changed, 887 insertions(+) create mode 100644 web-adapter/src/main/java/com/zcloud/basic/info/web/PostController.java create mode 100644 web-app/src/main/java/com/zcloud/basic/info/command/PostAddExe.java create mode 100644 web-app/src/main/java/com/zcloud/basic/info/command/PostRemoveExe.java create mode 100644 web-app/src/main/java/com/zcloud/basic/info/command/PostUpdateExe.java create mode 100644 web-app/src/main/java/com/zcloud/basic/info/command/convertor/PostCoConvertor.java create mode 100644 web-app/src/main/java/com/zcloud/basic/info/command/query/PostQueryExe.java create mode 100644 web-app/src/main/java/com/zcloud/basic/info/service/PostServiceImpl.java create mode 100644 web-client/src/main/java/com/zcloud/basic/info/api/PostServiceI.java create mode 100644 web-client/src/main/java/com/zcloud/basic/info/dto/PostAddCmd.java create mode 100644 web-client/src/main/java/com/zcloud/basic/info/dto/PostPageQry.java create mode 100644 web-client/src/main/java/com/zcloud/basic/info/dto/PostRemoveCmd.java create mode 100644 web-client/src/main/java/com/zcloud/basic/info/dto/PostUpdateCmd.java create mode 100644 web-client/src/main/java/com/zcloud/basic/info/dto/clientobject/PostCO.java create mode 100644 web-domain/src/main/java/com/zcloud/basic/info/domain/gateway/PostGateway.java create mode 100644 web-domain/src/main/java/com/zcloud/basic/info/domain/model/PostE.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/basic/info/gatewayimpl/PostGatewayImpl.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/dataobject/PostDO.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/mapper/PostMapper.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/PostRepository.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/PostRepositoryImpl.java create mode 100644 web-infrastructure/src/main/resources/mybatis/PostMapper.xml diff --git a/web-adapter/src/main/java/com/zcloud/basic/info/web/PostController.java b/web-adapter/src/main/java/com/zcloud/basic/info/web/PostController.java new file mode 100644 index 0000000..da258d9 --- /dev/null +++ b/web-adapter/src/main/java/com/zcloud/basic/info/web/PostController.java @@ -0,0 +1,85 @@ +package com.zcloud.basic.info.web; + + +import com.zcloud.basic.info.api.PostServiceI; +import com.zcloud.basic.info.dto.PostAddCmd; +import com.zcloud.basic.info.dto.PostPageQry; +import com.zcloud.basic.info.dto.PostRemoveCmd; +import com.zcloud.basic.info.dto.PostUpdateCmd; +import com.zcloud.basic.info.dto.clientobject.PostCO; +import com.alibaba.cola.dto.MultiResponse; +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.Response; +import com.alibaba.cola.dto.SingleResponse; +import com.jjb.saas.framework.auth.model.SSOUser; +import com.jjb.saas.framework.auth.utils.AuthContext; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.ArrayList; + +/** + * web-adapter + * + * @Author SondonYong + * @Date 2025-10-31 17:24:04 + */ +@Api(tags = "岗位表") +@RequestMapping("/${application.gateway}/post") +@RestController +@AllArgsConstructor +public class PostController { + private final PostServiceI postService; + + @ApiOperation("新增") + @PostMapping("/save") + public SingleResponse add(@Validated @RequestBody PostAddCmd cmd) { + SSOUser ssoUser = AuthContext.getCurrentUser(); + return postService.add(cmd); + } + + @ApiOperation("分页") + @PostMapping("/list") + public PageResponse page(@RequestBody PostPageQry qry) { + return postService.listPage(qry); + } + + @ApiOperation("所有数据") + @GetMapping("/listAll") + public MultiResponse listAll() { + return MultiResponse.of(new ArrayList()); + } + + @ApiOperation("详情") + @GetMapping("/getInfoById") + public SingleResponse getInfoById(@RequestParam(value = "id") String id) { + Long idLong = Long.parseLong(id); + return SingleResponse.of(new PostCO()); + } + + @ApiOperation("删除") + @PutMapping("/remove") + public Response remove(@RequestParam(value = "id") String id) { + Long idLong = Long.parseLong(id); + postService.remove(idLong); + return SingleResponse.buildSuccess(); + } + + @ApiOperation("删除多个") + @PutMapping("/removeBatch") + public Response removeBatch(@Validated @RequestBody PostRemoveCmd cmd) { + postService.removeBatch(cmd.getIds()); + return SingleResponse.buildSuccess(); + } + + @ApiOperation("修改") + @PutMapping("/edit") + public SingleResponse edit(@Validated @RequestBody PostUpdateCmd postUpdateCmd) { + postService.edit(postUpdateCmd); + return SingleResponse.buildSuccess(); + } +} + diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/PostAddExe.java b/web-app/src/main/java/com/zcloud/basic/info/command/PostAddExe.java new file mode 100644 index 0000000..374f7c2 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/basic/info/command/PostAddExe.java @@ -0,0 +1,40 @@ +package com.zcloud.basic.info.command; + +import com.zcloud.basic.info.domain.gateway.PostGateway; +import com.zcloud.basic.info.domain.model.PostE; +import com.zcloud.basic.info.dto.PostAddCmd; +import com.alibaba.cola.exception.BizException; +import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + + +/** + * web-app + * + * @Author SondonYong + * @Date 2025-10-31 17:24:04 + */ +@Component +@AllArgsConstructor +public class PostAddExe { + private final PostGateway postGateway; + + @Transactional(rollbackFor = Exception.class) + public boolean execute(PostAddCmd cmd) { + PostE postE = new PostE(); + BeanUtils.copyProperties(cmd, postE); + boolean res = false; + try { + res = postGateway.add(postE); + } catch (Exception e) { + throw new RuntimeException(e); + } + if (!res) { + throw new BizException("保存失败"); + } + return true; + } +} + diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/PostRemoveExe.java b/web-app/src/main/java/com/zcloud/basic/info/command/PostRemoveExe.java new file mode 100644 index 0000000..108e313 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/basic/info/command/PostRemoveExe.java @@ -0,0 +1,39 @@ +package com.zcloud.basic.info.command; + +import com.zcloud.basic.info.domain.gateway.PostGateway; +import com.alibaba.cola.exception.BizException; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + + +/** + * web-app + * + * @Author SondonYong + * @Date 2025-10-31 17:24:04 + */ +@Component +@AllArgsConstructor +public class PostRemoveExe { + private final PostGateway postGateway; + + @Transactional(rollbackFor = Exception.class) + public boolean execute(Long id) { + boolean res = postGateway.deletedPostById(id); + if (!res) { + throw new BizException("删除失败"); + } + return true; + } + + @Transactional(rollbackFor = Exception.class) + public boolean execute(Long[] ids) { + boolean res = postGateway.deletedPostByIds(ids); + if (!res) { + throw new BizException("删除失败"); + } + return true; + } +} + diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/PostUpdateExe.java b/web-app/src/main/java/com/zcloud/basic/info/command/PostUpdateExe.java new file mode 100644 index 0000000..fa3dcd5 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/basic/info/command/PostUpdateExe.java @@ -0,0 +1,34 @@ +package com.zcloud.basic.info.command; + +import com.alibaba.cola.exception.BizException; +import com.zcloud.basic.info.domain.gateway.PostGateway; +import com.zcloud.basic.info.domain.model.PostE; +import com.zcloud.basic.info.dto.PostUpdateCmd; +import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + + +/** + * web-app + * + * @Author SondonYong + * @Date 2025-10-31 17:24:05 + */ +@Component +@AllArgsConstructor +public class PostUpdateExe { + private final PostGateway postGateway; + + @Transactional(rollbackFor = Exception.class) + public void execute(PostUpdateCmd postUpdateCmd) { + PostE postE = new PostE(); + BeanUtils.copyProperties(postUpdateCmd, postE); + boolean res = postGateway.update(postE); + if (!res) { + throw new BizException("修改失败"); + } + } +} + diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/convertor/PostCoConvertor.java b/web-app/src/main/java/com/zcloud/basic/info/command/convertor/PostCoConvertor.java new file mode 100644 index 0000000..5a0bec4 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/basic/info/command/convertor/PostCoConvertor.java @@ -0,0 +1,24 @@ +package com.zcloud.basic.info.command.convertor; + +import com.zcloud.basic.info.dto.clientobject.PostCO; +import com.zcloud.basic.info.persistence.dataobject.PostDO; +import org.mapstruct.Mapper; + +import java.util.List; + + +/** + * web-app + * + * @Author SondonYong + * @Date 2025-10-31 17:24:04 + */ +@Mapper(componentModel = "spring") +public interface PostCoConvertor { + /** + * @param postDOs + * @return + */ + List converDOsToCOs(List postDOs); +} + diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/query/PostQueryExe.java b/web-app/src/main/java/com/zcloud/basic/info/command/query/PostQueryExe.java new file mode 100644 index 0000000..f672736 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/basic/info/command/query/PostQueryExe.java @@ -0,0 +1,52 @@ +package com.zcloud.basic.info.command.query; + +import com.zcloud.basic.info.command.convertor.PostCoConvertor; +import com.zcloud.basic.info.dto.PostPageQry; +import com.zcloud.basic.info.dto.clientobject.PostCO; +import com.zcloud.basic.info.persistence.dataobject.PostDO; +import com.zcloud.basic.info.persistence.repository.PostRepository; +import com.zcloud.gbscommon.utils.PageQueryHelper; +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.SingleResponse; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Component; +import org.springframework.beans.BeanUtils; + +import java.util.List; +import java.util.Map; + + +/** + * web-app + * + * @Author SondonYong + * @Date 2025-10-31 17:24:04 + */ +@Component +@AllArgsConstructor +public class PostQueryExe { + private final PostRepository postRepository; + private final PostCoConvertor postCoConvertor; + + /** + * 分页 + * + * @param postPageQry + * @return + */ + public PageResponse execute(PostPageQry postPageQry) { + Map params = PageQueryHelper.toHashMap(postPageQry); + PageResponse pageResponse = postRepository.listPage(params); + List examCenterCOS = postCoConvertor.converDOsToCOs(pageResponse.getData()); + return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); + } + + public SingleResponse execute(Long id) { + SingleResponse postDO = postRepository.getInfoById(id); + SingleResponse postCO = new SingleResponse<>(); + BeanUtils.copyProperties(postDO, postCO); + return postCO; + } + +} + diff --git a/web-app/src/main/java/com/zcloud/basic/info/service/PostServiceImpl.java b/web-app/src/main/java/com/zcloud/basic/info/service/PostServiceImpl.java new file mode 100644 index 0000000..21017d2 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/basic/info/service/PostServiceImpl.java @@ -0,0 +1,66 @@ +package com.zcloud.basic.info.service; + +import com.zcloud.basic.info.api.PostServiceI; +import com.zcloud.basic.info.command.PostAddExe; +import com.zcloud.basic.info.command.PostRemoveExe; +import com.zcloud.basic.info.command.PostUpdateExe; +import com.zcloud.basic.info.command.query.PostQueryExe; +import com.zcloud.basic.info.dto.PostAddCmd; +import com.zcloud.basic.info.dto.PostPageQry; +import com.zcloud.basic.info.dto.PostUpdateCmd; +import com.zcloud.basic.info.dto.clientobject.PostCO; + +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.SingleResponse; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + +/** + * web-app + * + * @Author SondonYong + * @Date 2025-10-31 17:24:04 + */ +@Service +@AllArgsConstructor +public class PostServiceImpl implements PostServiceI { + private final PostAddExe postAddExe; + private final PostUpdateExe postUpdateExe; + private final PostRemoveExe postRemoveExe; + private final PostQueryExe postQueryExe; + + @Override + public PageResponse listPage(PostPageQry qry) { + + return postQueryExe.execute(qry); + } + + @Override + public SingleResponse getInfoById(Long id) { + + return postQueryExe.execute(id); + } + + @Override + public SingleResponse add(PostAddCmd cmd) { + + postAddExe.execute(cmd); + return SingleResponse.buildSuccess(); + } + + @Override + public void edit(PostUpdateCmd postUpdateCmd) { + postUpdateExe.execute(postUpdateCmd); + } + + @Override + public void remove(Long id) { + postRemoveExe.execute(id); + } + + @Override + public void removeBatch(Long[] ids) { + postRemoveExe.execute(ids); + } +} + diff --git a/web-client/src/main/java/com/zcloud/basic/info/api/PostServiceI.java b/web-client/src/main/java/com/zcloud/basic/info/api/PostServiceI.java new file mode 100644 index 0000000..259d21a --- /dev/null +++ b/web-client/src/main/java/com/zcloud/basic/info/api/PostServiceI.java @@ -0,0 +1,30 @@ +package com.zcloud.basic.info.api; + +import com.zcloud.basic.info.dto.PostAddCmd; +import com.zcloud.basic.info.dto.PostPageQry; +import com.zcloud.basic.info.dto.PostUpdateCmd; +import com.zcloud.basic.info.dto.clientobject.PostCO; + +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.SingleResponse; + +/** + * web-client + * + * @Author SondonYong + * @Date 2025-10-31 17:24:04 + */ +public interface PostServiceI { + PageResponse listPage(PostPageQry qry); + + SingleResponse getInfoById(Long id); + + SingleResponse add(PostAddCmd cmd); + + void edit(PostUpdateCmd cmd); + + void remove(Long id); + + void removeBatch(Long[] ids); +} + diff --git a/web-client/src/main/java/com/zcloud/basic/info/dto/PostAddCmd.java b/web-client/src/main/java/com/zcloud/basic/info/dto/PostAddCmd.java new file mode 100644 index 0000000..cd41ce0 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/basic/info/dto/PostAddCmd.java @@ -0,0 +1,55 @@ +package com.zcloud.basic.info.dto; + +import com.alibaba.cola.dto.Command; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.*; + +/** + * web-client + * + * @Author SondonYong + * @Date 2025-10-31 17:24:03 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@NoArgsConstructor +@AllArgsConstructor +public class PostAddCmd extends Command { + @ApiModelProperty(value = "部门id", name = "departmentId", required = true) + @NotNull(message = "部门id不能为空") + private Long departmentId; + + @ApiModelProperty(value = "部门名称", name = "departmentName", required = true) + @NotEmpty(message = "部门名称不能为空") + private String departmentName; + + @ApiModelProperty(value = "岗位名称", name = "postName", required = true) + @NotEmpty(message = "岗位名称不能为空") + private String postName; + + @ApiModelProperty(value = "岗位职责", name = "postDuty", required = true) + @NotEmpty(message = "岗位职责不能为空") + private String postDuty; + + @ApiModelProperty(value = "状态 1-启用, 2-禁用", name = "status", required = true) + @NotNull(message = "状态 1-启用, 2-禁用不能为空") + private Integer status; + + @ApiModelProperty(value = "企业id", name = "corpinfoId", required = true) + @NotNull(message = "企业id不能为空") + private Long corpinfoId; + + @ApiModelProperty(value = "企业名称", name = "corpinfoName", required = true) + @NotEmpty(message = "企业名称不能为空") + private String corpinfoName; + + @ApiModelProperty(value = "是否监管岗位 1-是, 2-不是", name = "supervisionFlag", required = true) + @NotNull(message = "是否监管岗位 1-是, 2-不是不能为空") + private Integer supervisionFlag; +} + diff --git a/web-client/src/main/java/com/zcloud/basic/info/dto/PostPageQry.java b/web-client/src/main/java/com/zcloud/basic/info/dto/PostPageQry.java new file mode 100644 index 0000000..7bd80fb --- /dev/null +++ b/web-client/src/main/java/com/zcloud/basic/info/dto/PostPageQry.java @@ -0,0 +1,28 @@ +package com.zcloud.basic.info.dto; + +import com.alibaba.cola.dto.PageQuery; +import lombok.Data; + + +/** + * web-client + * + * @Author SondonYong + * @Date 2025-10-31 17:24:04 + */ +@Data +public class PostPageQry extends PageQuery { + + /** + * 查询条件操作前缀,支持以下几种数据库查询操作: + * - `like`: 模糊匹配查询,对应SQL的LIKE操作符 + * - `eq`: 等值查询,对应SQL的=操作符 + * - `gt`: 大于比较查询 + * - `lt`: 小于比较查询 + * - `ge`: 大于等于比较查询 + * - `le`: 小于等于比较查询 + * - `ne`: 不等比较查询,对应SQL的!=操作符 + */ + private String likePostId; +} + diff --git a/web-client/src/main/java/com/zcloud/basic/info/dto/PostRemoveCmd.java b/web-client/src/main/java/com/zcloud/basic/info/dto/PostRemoveCmd.java new file mode 100644 index 0000000..bbab5d7 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/basic/info/dto/PostRemoveCmd.java @@ -0,0 +1,29 @@ +package com.zcloud.basic.info.dto; + +import com.alibaba.cola.dto.Command; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.*; + +/** + * web-client + * + * @Author SondonYong + * @Date 2025-10-31 17:31:01 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@NoArgsConstructor +@AllArgsConstructor +public class PostRemoveCmd extends Command { + + @ApiModelProperty(value = "主键", name = "ids", required = true) + @NotNull(message = "主键不能为空") + private Long[] ids; + +} + diff --git a/web-client/src/main/java/com/zcloud/basic/info/dto/PostUpdateCmd.java b/web-client/src/main/java/com/zcloud/basic/info/dto/PostUpdateCmd.java new file mode 100644 index 0000000..270c453 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/basic/info/dto/PostUpdateCmd.java @@ -0,0 +1,54 @@ +package com.zcloud.basic.info.dto; + +import com.alibaba.cola.dto.Command; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.*; + +/** + * web-client + * + * @Author SondonYong + * @Date 2025-10-31 17:24:05 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@NoArgsConstructor +@AllArgsConstructor +public class PostUpdateCmd extends Command { + @ApiModelProperty(value = "主键", name = "id", required = true) + @NotNull(message = "主键不能为空") + private Long id; + @ApiModelProperty(value = "业务主键id", name = "postId", required = true) + @NotEmpty(message = "业务主键id不能为空") + private String postId; + @ApiModelProperty(value = "部门id", name = "departmentId", required = true) + @NotNull(message = "部门id不能为空") + private Long departmentId; + @ApiModelProperty(value = "部门名称", name = "departmentName", required = true) + @NotEmpty(message = "部门名称不能为空") + private String departmentName; + @ApiModelProperty(value = "岗位名称", name = "postName", required = true) + @NotEmpty(message = "岗位名称不能为空") + private String postName; + @ApiModelProperty(value = "岗位职责", name = "postDuty", required = true) + @NotEmpty(message = "岗位职责不能为空") + private String postDuty; + @ApiModelProperty(value = "状态 1-启用, 2-禁用", name = "status", required = true) + @NotNull(message = "状态 1-启用, 2-禁用不能为空") + private Integer status; + @ApiModelProperty(value = "企业id", name = "corpinfoId", required = true) + @NotNull(message = "企业id不能为空") + private Long corpinfoId; + @ApiModelProperty(value = "企业名称", name = "corpinfoName", required = true) + @NotEmpty(message = "企业名称不能为空") + private String corpinfoName; + @ApiModelProperty(value = "是否监管岗位 1-是, 2-不是", name = "supervisionFlag", required = true) + @NotNull(message = "是否监管岗位 1-是, 2-不是不能为空") + private Integer supervisionFlag; +} + diff --git a/web-client/src/main/java/com/zcloud/basic/info/dto/clientobject/PostCO.java b/web-client/src/main/java/com/zcloud/basic/info/dto/clientobject/PostCO.java new file mode 100644 index 0000000..5670e89 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/basic/info/dto/clientobject/PostCO.java @@ -0,0 +1,88 @@ +package com.zcloud.basic.info.dto.clientobject; + +import com.alibaba.cola.dto.ClientObject; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + + +/** + * web-client + * + * @Author SondonYong + * @Date 2025-10-31 17:24:04 + */ +@Data +public class PostCO extends ClientObject { + //主键 + @ApiModelProperty(value = "主键") + private Long id; + //业务主键id + @ApiModelProperty(value = "业务主键id") + private String postId; + //部门id + @ApiModelProperty(value = "部门id") + private Long departmentId; + //部门名称 + @ApiModelProperty(value = "部门名称") + private String departmentName; + //岗位名称 + @ApiModelProperty(value = "岗位名称") + private String postName; + //岗位职责 + @ApiModelProperty(value = "岗位职责") + private String postDuty; + //状态 1-启用, 2-禁用 + @ApiModelProperty(value = "状态 1-启用, 2-禁用") + private Integer status; + //企业id + @ApiModelProperty(value = "企业id") + private Long corpinfoId; + //企业名称 + @ApiModelProperty(value = "企业名称") + private String corpinfoName; + //是否监管岗位 1-是, 2-不是 + @ApiModelProperty(value = "是否监管岗位 1-是, 2-不是") + private Integer supervisionFlag; + //乐观锁 + @ApiModelProperty(value = "乐观锁") + private Integer version; + //创建人 + @ApiModelProperty(value = "创建人") + private Long createId; + //创建人姓名 + @ApiModelProperty(value = "创建人姓名") + private String createName; + //创建时间 + @ApiModelProperty(value = "创建时间") + @JsonFormat(pattern = "yyyy-MM-dd") + private LocalDateTime createTime; + //更新人 + @ApiModelProperty(value = "更新人") + private Long updateId; + //修改人名称 + @ApiModelProperty(value = "修改人名称") + private String updateName; + //更新时间 + @ApiModelProperty(value = "更新时间") + @JsonFormat(pattern = "yyyy-MM-dd") + private LocalDateTime updateTime; + //描述 + @ApiModelProperty(value = "描述") + private String remarks; + //是否删除 + @ApiModelProperty(value = "是否删除") + private String deleteEnum; + //租户id + @ApiModelProperty(value = "租户id") + private Long tenantId; + //机构id + @ApiModelProperty(value = "机构id") + private Long orgId; + //环境 + @ApiModelProperty(value = "环境") + private String env; +} + diff --git a/web-domain/src/main/java/com/zcloud/basic/info/domain/gateway/PostGateway.java b/web-domain/src/main/java/com/zcloud/basic/info/domain/gateway/PostGateway.java new file mode 100644 index 0000000..62f9f07 --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/basic/info/domain/gateway/PostGateway.java @@ -0,0 +1,30 @@ +package com.zcloud.basic.info.domain.gateway; + +import com.zcloud.basic.info.domain.model.PostE; + +/** + * web-domain + * + * @Author SondonYong + * @Date 2025-10-31 17:24:04 + */ +public interface PostGateway { + + /** + * 新增 + */ + Boolean add(PostE postE); + + /** + * 修改 + */ + Boolean update(PostE postE); + + /** + * 删除 + */ + Boolean deletedPostById(Long id); + + Boolean deletedPostByIds(Long[] id); +} + diff --git a/web-domain/src/main/java/com/zcloud/basic/info/domain/model/PostE.java b/web-domain/src/main/java/com/zcloud/basic/info/domain/model/PostE.java new file mode 100644 index 0000000..4e42402 --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/basic/info/domain/model/PostE.java @@ -0,0 +1,37 @@ +package com.zcloud.basic.info.domain.model; + +import com.jjb.saas.framework.domain.model.BaseE; +import lombok.Data; + +import java.util.Date; + +/** + * web-domain + * + * @Author SondonYong + * @Date 2025-10-31 17:24:04 + */ +@Data +public class PostE extends BaseE { + //主键 + private Long id; + //业务主键id + private String postId; + //部门id + private Long departmentId; + //部门名称 + private String departmentName; + //岗位名称 + private String postName; + //岗位职责 + private String postDuty; + //状态 1-启用, 2-禁用 + private Integer status; + //企业id + private Long corpinfoId; + //企业名称 + private String corpinfoName; + //是否监管岗位 1-是, 2-不是 + private Integer supervisionFlag; +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/gatewayimpl/PostGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/gatewayimpl/PostGatewayImpl.java new file mode 100644 index 0000000..de3b793 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/gatewayimpl/PostGatewayImpl.java @@ -0,0 +1,50 @@ +package com.zcloud.basic.info.gatewayimpl; + +import com.zcloud.basic.info.domain.gateway.PostGateway; +import com.zcloud.basic.info.domain.model.PostE; +import com.zcloud.basic.info.persistence.dataobject.PostDO; +import com.zcloud.basic.info.persistence.repository.PostRepository; +import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import java.util.Collections; + +/** + * web-infrastructure + * + * @Author SondonYong + * @Date 2025-10-31 17:24:04 + */ +@Service +@AllArgsConstructor +public class PostGatewayImpl implements PostGateway { + private final PostRepository postRepository; + + @Override + public Boolean add(PostE postE) { + PostDO d = new PostDO(); + BeanUtils.copyProperties(postE, d); + postRepository.save(d); + return true; + } + + @Override + public Boolean update(PostE postE) { + PostDO d = new PostDO(); + BeanUtils.copyProperties(postE, d); + postRepository.updateById(d); + return true; + } + + @Override + public Boolean deletedPostById(Long id) { + return postRepository.removeById(id); + } + + @Override + public Boolean deletedPostByIds(Long[] ids) { + return postRepository.removeByIds(Collections.singletonList(ids)); + } +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/dataobject/PostDO.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/dataobject/PostDO.java new file mode 100644 index 0000000..5c6dd72 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/dataobject/PostDO.java @@ -0,0 +1,54 @@ +package com.zcloud.basic.info.persistence.dataobject; + +import com.baomidou.mybatisplus.annotation.*; +import com.jjb.saas.framework.repository.basedo.BaseDO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * web-infrastructure + * + * @Author SondonYong + * @Date 2025-10-31 17:24:04 + */ +@Data +@TableName("post") +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class PostDO extends BaseDO { + //业务主键id + @ApiModelProperty(value = "业务主键id") + private String postId; + //部门id + @ApiModelProperty(value = "部门id") + private Long departmentId; + //部门名称 + @ApiModelProperty(value = "部门名称") + private String departmentName; + //岗位名称 + @ApiModelProperty(value = "岗位名称") + private String postName; + //岗位职责 + @ApiModelProperty(value = "岗位职责") + private String postDuty; + //状态 1-启用, 2-禁用 + @ApiModelProperty(value = "状态 1-启用, 2-禁用") + private Integer status; + //企业id + @ApiModelProperty(value = "企业id") + private Long corpinfoId; + //企业名称 + @ApiModelProperty(value = "企业名称") + private String corpinfoName; + //是否监管岗位 1-是, 2-不是 + @ApiModelProperty(value = "是否监管岗位 1-是, 2-不是") + private Integer supervisionFlag; + + public PostDO(String postId) { + this.postId = postId; + } + +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/mapper/PostMapper.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/mapper/PostMapper.java new file mode 100644 index 0000000..03ef2b8 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/mapper/PostMapper.java @@ -0,0 +1,17 @@ +package com.zcloud.basic.info.persistence.mapper; + +import com.zcloud.basic.info.persistence.dataobject.PostDO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * web-infrastructure + * + * @Author SondonYong + * @Date 2025-10-31 17:24:04 + */ +@Mapper +public interface PostMapper extends BaseMapper { + +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/PostRepository.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/PostRepository.java new file mode 100644 index 0000000..5b6d326 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/PostRepository.java @@ -0,0 +1,22 @@ +package com.zcloud.basic.info.persistence.repository; + +import com.zcloud.basic.info.persistence.dataobject.PostDO; +import com.alibaba.cola.dto.SingleResponse; +import com.alibaba.cola.dto.PageResponse; +import com.jjb.saas.framework.repository.repo.BaseRepository; + +import java.util.Map; + +/** + * web-infrastructure + * + * @Author SondonYong + * @Date 2025-10-31 17:24:04 + */ +public interface PostRepository extends BaseRepository { + + PageResponse listPage(Map params); + + SingleResponse getInfoById(Long id); +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/PostRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/PostRepositoryImpl.java new file mode 100644 index 0000000..fbd00e9 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/PostRepositoryImpl.java @@ -0,0 +1,45 @@ +package com.zcloud.basic.info.persistence.repository.impl; + +import com.jjb.saas.framework.repository.common.PageHelper; +import com.zcloud.basic.info.persistence.dataobject.PostDO; +import com.zcloud.basic.info.persistence.mapper.PostMapper; +import com.zcloud.basic.info.persistence.repository.PostRepository; +import com.alibaba.cola.dto.SingleResponse; +import com.alibaba.cola.dto.PageResponse; +import com.zcloud.gbscommon.utils.PageQueryHelper; +import com.zcloud.gbscommon.utils.Query; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.Map; + +/** + * web-infrastructure + * + * @Author SondonYong + * @Date 2025-10-31 17:24:04 + */ +@Service +@RequiredArgsConstructor +public class PostRepositoryImpl extends BaseRepositoryImpl implements PostRepository { + private final PostMapper postMapper; + + @Override + public PageResponse listPage(Map params) { + IPage iPage = new Query().getPage(params); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params); + queryWrapper.orderByDesc("create_time"); + IPage result = postMapper.selectPage(iPage, queryWrapper); + return PageHelper.pageToResponse(result, result.getRecords()); + } + + @Override + public SingleResponse getInfoById(Long id) { + return SingleResponse.of(postMapper.selectById(id)); + } +} + diff --git a/web-infrastructure/src/main/resources/mybatis/PostMapper.xml b/web-infrastructure/src/main/resources/mybatis/PostMapper.xml new file mode 100644 index 0000000..570445d --- /dev/null +++ b/web-infrastructure/src/main/resources/mybatis/PostMapper.xml @@ -0,0 +1,8 @@ + + + + + + +