From cbc1b5cec6fc62377c599f187d020f93c25908e1 Mon Sep 17 00:00:00 2001 From: Owen <595466820@qq.com> Date: Tue, 10 Dec 2024 15:00:45 +0800 Subject: [PATCH] Feat: haoka init demo --- pom.xml | 1 + yudao-module-haoka/pom.xml | 22 +++ .../yudao-module-haoka-api/pom.xml | 26 ++++ .../haoka/enums/ErrorCodeConstants.java | 14 ++ .../yudao-module-haoka-biz/pom.xml | 52 +++++++ .../controller/admin/demo/DemoController.java | 93 ++++++++++++ .../admin/demo/vo/DemoPageReqVO.java | 33 +++++ .../controller/admin/demo/vo/DemoRespVO.java | 35 +++++ .../admin/demo/vo/DemoSaveReqVO.java | 27 ++++ .../haoka/dal/dataobject/demo/DemoDO.java | 42 ++++++ .../haoka/dal/mysql/demo/DemoMapper.java | 27 ++++ .../yudao/module/haoka/package-info.java | 4 + .../haoka/service/demo/DemoService.java | 54 +++++++ .../haoka/service/demo/DemoServiceImpl.java | 70 +++++++++ .../main/resources/mapper/demo/DemoMapper.xml | 12 ++ yudao-server/pom.xml | 137 +++++++++--------- 16 files changed, 584 insertions(+), 65 deletions(-) create mode 100644 yudao-module-haoka/pom.xml create mode 100644 yudao-module-haoka/yudao-module-haoka-api/pom.xml create mode 100644 yudao-module-haoka/yudao-module-haoka-api/src/main/java/cn/iocoder/yudao/module/haoka/enums/ErrorCodeConstants.java create mode 100644 yudao-module-haoka/yudao-module-haoka-biz/pom.xml create mode 100644 yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/controller/admin/demo/DemoController.java create mode 100644 yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/controller/admin/demo/vo/DemoPageReqVO.java create mode 100644 yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/controller/admin/demo/vo/DemoRespVO.java create mode 100644 yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/controller/admin/demo/vo/DemoSaveReqVO.java create mode 100644 yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/dal/dataobject/demo/DemoDO.java create mode 100644 yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/dal/mysql/demo/DemoMapper.java create mode 100644 yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/package-info.java create mode 100644 yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/demo/DemoService.java create mode 100644 yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/demo/DemoServiceImpl.java create mode 100644 yudao-module-haoka/yudao-module-haoka-biz/src/main/resources/mapper/demo/DemoMapper.xml diff --git a/pom.xml b/pom.xml index 97a28af11c..1fe186c5ed 100644 --- a/pom.xml +++ b/pom.xml @@ -15,6 +15,7 @@ yudao-module-system yudao-module-infra + yudao-module-haoka diff --git a/yudao-module-haoka/pom.xml b/yudao-module-haoka/pom.xml new file mode 100644 index 0000000000..6028eac8d7 --- /dev/null +++ b/yudao-module-haoka/pom.xml @@ -0,0 +1,22 @@ + + + 4.0.0 + + cn.iocoder.boot + yudao + ${revision} + + + yudao-module-haoka + pom + ${project.artifactId} + + haoka 模块,主要实现 haoka 等功能。 + + + yudao-module-haoka-api + yudao-module-haoka-biz + + diff --git a/yudao-module-haoka/yudao-module-haoka-api/pom.xml b/yudao-module-haoka/yudao-module-haoka-api/pom.xml new file mode 100644 index 0000000000..7ae586b522 --- /dev/null +++ b/yudao-module-haoka/yudao-module-haoka-api/pom.xml @@ -0,0 +1,26 @@ + + + 4.0.0 + + cn.iocoder.boot + yudao-module-haoka + ${revision} + + + yudao-module-haoka-api + jar + + ${project.artifactId} + + haoka api 模块 API,暴露给其它模块调用 + + + + + cn.iocoder.boot + yudao-common + + + diff --git a/yudao-module-haoka/yudao-module-haoka-api/src/main/java/cn/iocoder/yudao/module/haoka/enums/ErrorCodeConstants.java b/yudao-module-haoka/yudao-module-haoka-api/src/main/java/cn/iocoder/yudao/module/haoka/enums/ErrorCodeConstants.java new file mode 100644 index 0000000000..ad3b61cfbf --- /dev/null +++ b/yudao-module-haoka/yudao-module-haoka-api/src/main/java/cn/iocoder/yudao/module/haoka/enums/ErrorCodeConstants.java @@ -0,0 +1,14 @@ +package cn.iocoder.yudao.module.haoka.enums; + +import cn.iocoder.yudao.framework.common.exception.ErrorCode; + +/** + * haoka 错误码枚举类 + *

+ * haoka 系统,使用 1-910-000-000 段 + */ +public interface ErrorCodeConstants { + + // ========== Demo 1_910_001_000 ========== + ErrorCode DEMO_NOT_EXISTS = new ErrorCode(1_910_001_001, "好卡案例不存在"); +} diff --git a/yudao-module-haoka/yudao-module-haoka-biz/pom.xml b/yudao-module-haoka/yudao-module-haoka-biz/pom.xml new file mode 100644 index 0000000000..d392a36291 --- /dev/null +++ b/yudao-module-haoka/yudao-module-haoka-biz/pom.xml @@ -0,0 +1,52 @@ + + + 4.0.0 + + cn.iocoder.boot + yudao-module-haoka + ${revision} + + jar + yudao-module-haoka-biz + ${project.artifactId} + + haoka biz 模块,主要实现haoka 等功能。 + + + + + cn.iocoder.boot + yudao-module-haoka-api + ${revision} + + + + + cn.iocoder.boot + yudao-spring-boot-starter-web + + + + cn.iocoder.boot + yudao-spring-boot-starter-security + + + + + cn.iocoder.boot + yudao-spring-boot-starter-mybatis + + + + + cn.iocoder.boot + yudao-spring-boot-starter-test + + + cn.iocoder.boot + yudao-spring-boot-starter-excel + + + diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/controller/admin/demo/DemoController.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/controller/admin/demo/DemoController.java new file mode 100644 index 0000000000..bb0bedd135 --- /dev/null +++ b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/controller/admin/demo/DemoController.java @@ -0,0 +1,93 @@ +package cn.iocoder.yudao.module.haoka.controller.admin.demo; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; +import cn.iocoder.yudao.module.haoka.controller.admin.demo.vo.DemoPageReqVO; +import cn.iocoder.yudao.module.haoka.controller.admin.demo.vo.DemoRespVO; +import cn.iocoder.yudao.module.haoka.controller.admin.demo.vo.DemoSaveReqVO; +import cn.iocoder.yudao.module.haoka.dal.dataobject.demo.DemoDO; +import cn.iocoder.yudao.module.haoka.service.demo.DemoService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.Valid; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.IOException; +import java.util.List; + +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 好卡案例") +@RestController +@RequestMapping("/haoka/demo") +@Validated +public class DemoController { + + @Resource + private DemoService demoService; + + @PostMapping("/create") + @Operation(summary = "创建好卡案例") + @PreAuthorize("@ss.hasPermission('haoka:demo:create')") + public CommonResult createDemo(@Valid @RequestBody DemoSaveReqVO createReqVO) { + return success(demoService.createDemo(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新好卡案例") + @PreAuthorize("@ss.hasPermission('haoka:demo:update')") + public CommonResult updateDemo(@Valid @RequestBody DemoSaveReqVO updateReqVO) { + demoService.updateDemo(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除好卡案例") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('haoka:demo:delete')") + public CommonResult deleteDemo(@RequestParam("id") Long id) { + demoService.deleteDemo(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得好卡案例") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('haoka:demo:query')") + public CommonResult getDemo(@RequestParam("id") Long id) { + DemoDO demo = demoService.getDemo(id); + return success(BeanUtils.toBean(demo, DemoRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得好卡案例分页") + @PreAuthorize("@ss.hasPermission('haoka:demo:query')") + public CommonResult> getDemoPage(@Valid DemoPageReqVO pageReqVO) { + PageResult pageResult = demoService.getDemoPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, DemoRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出好卡案例 Excel") + @PreAuthorize("@ss.hasPermission('haoka:demo:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportDemoExcel(@Valid DemoPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = demoService.getDemoPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "好卡案例.xls", "数据", DemoRespVO.class, + BeanUtils.toBean(list, DemoRespVO.class)); + } + +} diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/controller/admin/demo/vo/DemoPageReqVO.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/controller/admin/demo/vo/DemoPageReqVO.java new file mode 100644 index 0000000000..32835cbdda --- /dev/null +++ b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/controller/admin/demo/vo/DemoPageReqVO.java @@ -0,0 +1,33 @@ +package cn.iocoder.yudao.module.haoka.controller.admin.demo.vo; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 好卡案例分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class DemoPageReqVO extends PageParam { + + @Schema(description = "名字", example = "芋艿") + private String name; + + @Schema(description = "年龄") + private Integer age; + + @Schema(description = "性别") + private Integer agent; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/controller/admin/demo/vo/DemoRespVO.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/controller/admin/demo/vo/DemoRespVO.java new file mode 100644 index 0000000000..caf2772b98 --- /dev/null +++ b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/controller/admin/demo/vo/DemoRespVO.java @@ -0,0 +1,35 @@ +package cn.iocoder.yudao.module.haoka.controller.admin.demo.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 好卡案例 Response VO") +@Data +@ExcelIgnoreUnannotated +public class DemoRespVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "21448") + @ExcelProperty("编号") + private Long id; + + @Schema(description = "名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") + @ExcelProperty("名字") + private String name; + + @Schema(description = "年龄", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("年龄") + private Integer age; + + @Schema(description = "性别", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("性别") + private Integer agent; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/controller/admin/demo/vo/DemoSaveReqVO.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/controller/admin/demo/vo/DemoSaveReqVO.java new file mode 100644 index 0000000000..d43422053b --- /dev/null +++ b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/controller/admin/demo/vo/DemoSaveReqVO.java @@ -0,0 +1,27 @@ +package cn.iocoder.yudao.module.haoka.controller.admin.demo.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +@Schema(description = "管理后台 - 好卡案例新增/修改 Request VO") +@Data +public class DemoSaveReqVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "21448") + private Long id; + + @Schema(description = "名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") + @NotEmpty(message = "名字不能为空") + private String name; + + @Schema(description = "年龄", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "年龄不能为空") + private Integer age; + + @Schema(description = "性别", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "性别不能为空") + private Integer agent; + +} diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/dal/dataobject/demo/DemoDO.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/dal/dataobject/demo/DemoDO.java new file mode 100644 index 0000000000..5f773fadd4 --- /dev/null +++ b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/dal/dataobject/demo/DemoDO.java @@ -0,0 +1,42 @@ +package cn.iocoder.yudao.module.haoka.dal.dataobject.demo; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; + +/** + * 好卡案例 DO + * + * @author 芋道源码 + */ +@TableName("haoka_demo") +@KeySequence("haoka_demo_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class DemoDO extends BaseDO { + + /** + * 编号 + */ + @TableId + private Long id; + /** + * 名字 + */ + private String name; + /** + * 年龄 + */ + private Integer age; + /** + * 性别 + */ + private Integer agent; + +} diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/dal/mysql/demo/DemoMapper.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/dal/mysql/demo/DemoMapper.java new file mode 100644 index 0000000000..c6c0a6c6d0 --- /dev/null +++ b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/dal/mysql/demo/DemoMapper.java @@ -0,0 +1,27 @@ +package cn.iocoder.yudao.module.haoka.dal.mysql.demo; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.haoka.controller.admin.demo.vo.DemoPageReqVO; +import cn.iocoder.yudao.module.haoka.dal.dataobject.demo.DemoDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 好卡案例 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface DemoMapper extends BaseMapperX { + + default PageResult selectPage(DemoPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .likeIfPresent(DemoDO::getName, reqVO.getName()) + .eqIfPresent(DemoDO::getAge, reqVO.getAge()) + .eqIfPresent(DemoDO::getAgent, reqVO.getAgent()) + .betweenIfPresent(DemoDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(DemoDO::getId)); + } + +} diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/package-info.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/package-info.java new file mode 100644 index 0000000000..c92db1b327 --- /dev/null +++ b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/package-info.java @@ -0,0 +1,4 @@ +/** + * haoka system + */ +package cn.iocoder.yudao.module.haoka; diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/demo/DemoService.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/demo/DemoService.java new file mode 100644 index 0000000000..6049b7c769 --- /dev/null +++ b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/demo/DemoService.java @@ -0,0 +1,54 @@ +package cn.iocoder.yudao.module.haoka.service.demo; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.haoka.controller.admin.demo.vo.DemoPageReqVO; +import cn.iocoder.yudao.module.haoka.controller.admin.demo.vo.DemoSaveReqVO; +import cn.iocoder.yudao.module.haoka.dal.dataobject.demo.DemoDO; +import jakarta.validation.Valid; + +/** + * 好卡案例 Service 接口 + * + * @author 芋道源码 + */ +public interface DemoService { + + /** + * 创建好卡案例 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createDemo(@Valid DemoSaveReqVO createReqVO); + + /** + * 更新好卡案例 + * + * @param updateReqVO 更新信息 + */ + void updateDemo(@Valid DemoSaveReqVO updateReqVO); + + /** + * 删除好卡案例 + * + * @param id 编号 + */ + void deleteDemo(Long id); + + /** + * 获得好卡案例 + * + * @param id 编号 + * @return 好卡案例 + */ + DemoDO getDemo(Long id); + + /** + * 获得好卡案例分页 + * + * @param pageReqVO 分页查询 + * @return 好卡案例分页 + */ + PageResult getDemoPage(DemoPageReqVO pageReqVO); + +} diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/demo/DemoServiceImpl.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/demo/DemoServiceImpl.java new file mode 100644 index 0000000000..03760dc1c5 --- /dev/null +++ b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/demo/DemoServiceImpl.java @@ -0,0 +1,70 @@ +package cn.iocoder.yudao.module.haoka.service.demo; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.haoka.controller.admin.demo.vo.DemoPageReqVO; +import cn.iocoder.yudao.module.haoka.controller.admin.demo.vo.DemoSaveReqVO; +import cn.iocoder.yudao.module.haoka.dal.dataobject.demo.DemoDO; +import cn.iocoder.yudao.module.haoka.dal.mysql.demo.DemoMapper; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.haoka.enums.ErrorCodeConstants.DEMO_NOT_EXISTS; + +/** + * 好卡案例 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class DemoServiceImpl implements DemoService { + + @Resource + private DemoMapper demoMapper; + + @Override + public Long createDemo(DemoSaveReqVO createReqVO) { + // 插入 + DemoDO demo = BeanUtils.toBean(createReqVO, DemoDO.class); + demoMapper.insert(demo); + // 返回 + return demo.getId(); + } + + @Override + public void updateDemo(DemoSaveReqVO updateReqVO) { + // 校验存在 + validateDemoExists(updateReqVO.getId()); + // 更新 + DemoDO updateObj = BeanUtils.toBean(updateReqVO, DemoDO.class); + demoMapper.updateById(updateObj); + } + + @Override + public void deleteDemo(Long id) { + // 校验存在 + validateDemoExists(id); + // 删除 + demoMapper.deleteById(id); + } + + private void validateDemoExists(Long id) { + if (demoMapper.selectById(id) == null) { + throw exception(DEMO_NOT_EXISTS); + } + } + + @Override + public DemoDO getDemo(Long id) { + return demoMapper.selectById(id); + } + + @Override + public PageResult getDemoPage(DemoPageReqVO pageReqVO) { + return demoMapper.selectPage(pageReqVO); + } + +} diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/resources/mapper/demo/DemoMapper.xml b/yudao-module-haoka/yudao-module-haoka-biz/src/main/resources/mapper/demo/DemoMapper.xml new file mode 100644 index 0000000000..89d4314bad --- /dev/null +++ b/yudao-module-haoka/yudao-module-haoka-biz/src/main/resources/mapper/demo/DemoMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-server/pom.xml b/yudao-server/pom.xml index efd53c84a5..cbcb7dbaa8 100644 --- a/yudao-server/pom.xml +++ b/yudao-server/pom.xml @@ -33,87 +33,94 @@ - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + + + + + cn.iocoder.boot + yudao-module-haoka-biz + ${revision} +