diff --git a/cf-framework/cf-spring-boot-starter-biz-sms/src/main/java/com/cf/imes/framework/sms/core/client/impl/debug/DebugDingTalkSmsClient.java b/cf-framework/cf-spring-boot-starter-biz-sms/src/main/java/com/cf/imes/framework/sms/core/client/impl/debug/DebugDingTalkSmsClient.java index 542ec58bb..f91b4f525 100644 --- a/cf-framework/cf-spring-boot-starter-biz-sms/src/main/java/com/cf/imes/framework/sms/core/client/impl/debug/DebugDingTalkSmsClient.java +++ b/cf-framework/cf-spring-boot-starter-biz-sms/src/main/java/com/cf/imes/framework/sms/core/client/impl/debug/DebugDingTalkSmsClient.java @@ -64,7 +64,7 @@ public class DebugDingTalkSmsClient extends AbstractSmsClient { Map responseObj = JsonUtils.parseObject(responseText, Map.class); String errorCode = MapUtil.getStr(responseObj, "errcode"); return new SmsSendRespDTO().setSuccess(Objects.equals(errorCode, "0")).setSerialNo(StrUtil.uuid()) - .setApiCode(errorCode).setApiMsg(MapUtil.getStr(responseObj, "errorMsg")).setMobile(mobile).setChannelCode(properties.getChannel()); + .setApiCode(errorCode).setApiMsg(MapUtil.getStr(responseObj, "errmsg")).setMobile(mobile).setChannelCode(properties.getChannel()); } /** diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/demo01/Demo01ContactController.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/demo01/Demo01ContactController.java deleted file mode 100644 index 8f1d5a54b..000000000 --- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/demo01/Demo01ContactController.java +++ /dev/null @@ -1,93 +0,0 @@ -package com.cf.imes.module.infra.controller.admin.demo.demo01; - -import com.cf.imes.framework.common.pojo.CommonResult; -import com.cf.imes.framework.common.pojo.PageParam; -import com.cf.imes.framework.common.pojo.PageResult; -import com.cf.imes.framework.common.util.object.BeanUtils; -import com.cf.imes.framework.excel.core.util.ExcelUtils; -import com.cf.imes.framework.operatelog.core.annotations.OperateLog; -import com.cf.imes.module.infra.controller.admin.demo.demo01.vo.Demo01ContactPageReqVO; -import com.cf.imes.module.infra.controller.admin.demo.demo01.vo.Demo01ContactRespVO; -import com.cf.imes.module.infra.controller.admin.demo.demo01.vo.Demo01ContactSaveReqVO; -import com.cf.imes.module.infra.dal.dataobject.demo.demo01.Demo01ContactDO; -import com.cf.imes.module.infra.service.demo.demo01.Demo01ContactService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.List; - -import static com.cf.imes.framework.common.pojo.CommonResult.success; -import static com.cf.imes.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 示例联系人") -@RestController -@RequestMapping("/infra/demo01-contact") -@Validated -public class Demo01ContactController { - - @Resource - private Demo01ContactService demo01ContactService; - - @PostMapping("/create") - @Operation(summary = "创建示例联系人") - @PreAuthorize("@ss.hasPermission('infra:demo01-contact:create')") - public CommonResult createDemo01Contact(@Valid @RequestBody Demo01ContactSaveReqVO createReqVO) { - return success(demo01ContactService.createDemo01Contact(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新示例联系人") - @PreAuthorize("@ss.hasPermission('infra:demo01-contact:update')") - public CommonResult updateDemo01Contact(@Valid @RequestBody Demo01ContactSaveReqVO updateReqVO) { - demo01ContactService.updateDemo01Contact(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除示例联系人") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('infra:demo01-contact:delete')") - public CommonResult deleteDemo01Contact(@RequestParam("id") Long id) { - demo01ContactService.deleteDemo01Contact(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得示例联系人") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('infra:demo01-contact:query')") - public CommonResult getDemo01Contact(@RequestParam("id") Long id) { - Demo01ContactDO demo01Contact = demo01ContactService.getDemo01Contact(id); - return success(BeanUtils.toBean(demo01Contact, Demo01ContactRespVO.class)); - } - - @GetMapping("/page") - @Operation(summary = "获得示例联系人分页") - @PreAuthorize("@ss.hasPermission('infra:demo01-contact:query')") - public CommonResult> getDemo01ContactPage(@Valid Demo01ContactPageReqVO pageReqVO) { - PageResult pageResult = demo01ContactService.getDemo01ContactPage(pageReqVO); - return success(BeanUtils.toBean(pageResult, Demo01ContactRespVO.class)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出示例联系人 Excel") - @PreAuthorize("@ss.hasPermission('infra:demo01-contact:export')") - @OperateLog(type = EXPORT) - public void exportDemo01ContactExcel(@Valid Demo01ContactPageReqVO pageReqVO, - HttpServletResponse response) throws IOException { - pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); - List list = demo01ContactService.getDemo01ContactPage(pageReqVO).getList(); - // 导出 Excel - ExcelUtils.write(response, "示例联系人.xls", "数据", Demo01ContactRespVO.class, - BeanUtils.toBean(list, Demo01ContactRespVO.class)); - } - -} diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/demo01/vo/Demo01ContactPageReqVO.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/demo01/vo/Demo01ContactPageReqVO.java deleted file mode 100644 index 4d53504c3..000000000 --- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/demo01/vo/Demo01ContactPageReqVO.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.cf.imes.module.infra.controller.admin.demo.demo01.vo; - -import com.cf.imes.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 com.cf.imes.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 Demo01ContactPageReqVO extends PageParam { - - @Schema(description = "名字", example = "张三") - private String name; - - @Schema(description = "性别", example = "1") - private Integer sex; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - -} diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/demo01/vo/Demo01ContactRespVO.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/demo01/vo/Demo01ContactRespVO.java deleted file mode 100644 index e3b7068cd..000000000 --- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/demo01/vo/Demo01ContactRespVO.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.cf.imes.module.infra.controller.admin.demo.demo01.vo; - -import com.cf.imes.framework.excel.core.annotations.DictFormat; -import com.cf.imes.framework.excel.core.convert.DictConvert; -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 Demo01ContactRespVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "21555") - @ExcelProperty("编号") - private Long id; - - @Schema(description = "名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") - @ExcelProperty("名字") - private String name; - - @Schema(description = "性别", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @ExcelProperty(value = "性别", converter = DictConvert.class) - @DictFormat("system_user_sex") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中 - private Integer sex; - - @Schema(description = "出生年", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("出生年") - private LocalDateTime birthday; - - @Schema(description = "简介", requiredMode = Schema.RequiredMode.REQUIRED, example = "你说的对") - @ExcelProperty("简介") - private String description; - - @Schema(description = "头像") - @ExcelProperty("头像") - private String avatar; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建时间") - private LocalDateTime createTime; - -} diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/demo01/vo/Demo01ContactSaveReqVO.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/demo01/vo/Demo01ContactSaveReqVO.java deleted file mode 100644 index 21ba7e28c..000000000 --- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/demo01/vo/Demo01ContactSaveReqVO.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.cf.imes.module.infra.controller.admin.demo.demo01.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 示例联系人新增/修改 Request VO") -@Data -public class Demo01ContactSaveReqVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "21555") - private Long id; - - @Schema(description = "名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") - @NotEmpty(message = "名字不能为空") - private String name; - - @Schema(description = "性别", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "性别不能为空") - private Integer sex; - - @Schema(description = "出生年", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "出生年不能为空") - private LocalDateTime birthday; - - @Schema(description = "简介", requiredMode = Schema.RequiredMode.REQUIRED, example = "你说的对") - @NotEmpty(message = "简介不能为空") - private String description; - - @Schema(description = "头像") - private String avatar; - -} diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/demo02/Demo02CategoryController.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/demo02/Demo02CategoryController.java deleted file mode 100644 index e6b849c8c..000000000 --- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/demo02/Demo02CategoryController.java +++ /dev/null @@ -1,90 +0,0 @@ -package com.cf.imes.module.infra.controller.admin.demo.demo02; - -import com.cf.imes.framework.common.pojo.CommonResult; -import com.cf.imes.framework.common.util.object.BeanUtils; -import com.cf.imes.framework.excel.core.util.ExcelUtils; -import com.cf.imes.framework.operatelog.core.annotations.OperateLog; -import com.cf.imes.module.infra.controller.admin.demo.demo02.vo.Demo02CategoryListReqVO; -import com.cf.imes.module.infra.controller.admin.demo.demo02.vo.Demo02CategoryRespVO; -import com.cf.imes.module.infra.controller.admin.demo.demo02.vo.Demo02CategorySaveReqVO; -import com.cf.imes.module.infra.dal.dataobject.demo.demo02.Demo02CategoryDO; -import com.cf.imes.module.infra.service.demo.demo02.Demo02CategoryService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.List; - -import static com.cf.imes.framework.common.pojo.CommonResult.success; -import static com.cf.imes.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 示例分类") -@RestController -@RequestMapping("/infra/demo02-category") -@Validated -public class Demo02CategoryController { - - @Resource - private Demo02CategoryService demo02CategoryService; - - @PostMapping("/create") - @Operation(summary = "创建示例分类") - @PreAuthorize("@ss.hasPermission('infra:demo02-category:create')") - public CommonResult createDemo02Category(@Valid @RequestBody Demo02CategorySaveReqVO createReqVO) { - return success(demo02CategoryService.createDemo02Category(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新示例分类") - @PreAuthorize("@ss.hasPermission('infra:demo02-category:update')") - public CommonResult updateDemo02Category(@Valid @RequestBody Demo02CategorySaveReqVO updateReqVO) { - demo02CategoryService.updateDemo02Category(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除示例分类") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('infra:demo02-category:delete')") - public CommonResult deleteDemo02Category(@RequestParam("id") Long id) { - demo02CategoryService.deleteDemo02Category(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得示例分类") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('infra:demo02-category:query')") - public CommonResult getDemo02Category(@RequestParam("id") Long id) { - Demo02CategoryDO demo02Category = demo02CategoryService.getDemo02Category(id); - return success(BeanUtils.toBean(demo02Category, Demo02CategoryRespVO.class)); - } - - @GetMapping("/list") - @Operation(summary = "获得示例分类列表") - @PreAuthorize("@ss.hasPermission('infra:demo02-category:query')") - public CommonResult> getDemo02CategoryList(@Valid Demo02CategoryListReqVO listReqVO) { - List list = demo02CategoryService.getDemo02CategoryList(listReqVO); - return success(BeanUtils.toBean(list, Demo02CategoryRespVO.class)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出示例分类 Excel") - @PreAuthorize("@ss.hasPermission('infra:demo02-category:export')") - @OperateLog(type = EXPORT) - public void exportDemo02CategoryExcel(@Valid Demo02CategoryListReqVO listReqVO, - HttpServletResponse response) throws IOException { - List list = demo02CategoryService.getDemo02CategoryList(listReqVO); - // 导出 Excel - ExcelUtils.write(response, "示例分类.xls", "数据", Demo02CategoryRespVO.class, - BeanUtils.toBean(list, Demo02CategoryRespVO.class)); - } - -} diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/demo02/vo/Demo02CategoryListReqVO.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/demo02/vo/Demo02CategoryListReqVO.java deleted file mode 100644 index c63e062ce..000000000 --- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/demo02/vo/Demo02CategoryListReqVO.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.cf.imes.module.infra.controller.admin.demo.demo02.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.cf.imes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 示例分类列表 Request VO") -@Data -public class Demo02CategoryListReqVO { - - @Schema(description = "名字", example = "晨丰") - private String name; - - @Schema(description = "父级编号", example = "6080") - private Long parentId; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - -} diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/demo02/vo/Demo02CategoryRespVO.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/demo02/vo/Demo02CategoryRespVO.java deleted file mode 100644 index 2988846c9..000000000 --- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/demo02/vo/Demo02CategoryRespVO.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.cf.imes.module.infra.controller.admin.demo.demo02.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 Demo02CategoryRespVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "10304") - @ExcelProperty("编号") - private Long id; - - @Schema(description = "名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "晨丰") - @ExcelProperty("名字") - private String name; - - @Schema(description = "父级编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "6080") - @ExcelProperty("父级编号") - private Long parentId; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建时间") - private LocalDateTime createTime; - -} diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/demo02/vo/Demo02CategorySaveReqVO.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/demo02/vo/Demo02CategorySaveReqVO.java deleted file mode 100644 index fbcf442cb..000000000 --- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/demo02/vo/Demo02CategorySaveReqVO.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.cf.imes.module.infra.controller.admin.demo.demo02.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; - -@Schema(description = "管理后台 - 示例分类新增/修改 Request VO") -@Data -public class Demo02CategorySaveReqVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "10304") - private Long id; - - @Schema(description = "名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "晨丰") - @NotEmpty(message = "名字不能为空") - private String name; - - @Schema(description = "父级编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "6080") - @NotNull(message = "父级编号不能为空") - private Long parentId; - -} diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/demo03/Demo03StudentController.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/demo03/Demo03StudentController.java deleted file mode 100644 index 58f2cc5d3..000000000 --- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/demo03/Demo03StudentController.java +++ /dev/null @@ -1,197 +0,0 @@ -package com.cf.imes.module.infra.controller.admin.demo.demo03; - -import com.cf.imes.framework.common.pojo.CommonResult; -import com.cf.imes.framework.common.pojo.PageParam; -import com.cf.imes.framework.common.pojo.PageResult; -import com.cf.imes.framework.common.util.object.BeanUtils; -import com.cf.imes.framework.excel.core.util.ExcelUtils; -import com.cf.imes.framework.operatelog.core.annotations.OperateLog; -import com.cf.imes.module.infra.controller.admin.demo.demo03.vo.Demo03StudentPageReqVO; -import com.cf.imes.module.infra.controller.admin.demo.demo03.vo.Demo03StudentRespVO; -import com.cf.imes.module.infra.controller.admin.demo.demo03.vo.Demo03StudentSaveReqVO; -import com.cf.imes.module.infra.dal.dataobject.demo.demo03.Demo03CourseDO; -import com.cf.imes.module.infra.dal.dataobject.demo.demo03.Demo03GradeDO; -import com.cf.imes.module.infra.dal.dataobject.demo.demo03.Demo03StudentDO; -import com.cf.imes.module.infra.service.demo.demo03.Demo03StudentService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import java.io.IOException; -import java.util.List; - -import static com.cf.imes.framework.common.pojo.CommonResult.success; -import static com.cf.imes.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; - -@Tag(name = "管理后台 - 学生") -@RestController -@RequestMapping("/infra/demo03-student") -@Validated -public class Demo03StudentController { - - @Resource - private Demo03StudentService demo03StudentService; - - @PostMapping("/create") - @Operation(summary = "创建学生") - @PreAuthorize("@ss.hasPermission('infra:demo03-student:create')") - public CommonResult createDemo03Student(@Valid @RequestBody Demo03StudentSaveReqVO createReqVO) { - return success(demo03StudentService.createDemo03Student(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新学生") - @PreAuthorize("@ss.hasPermission('infra:demo03-student:update')") - public CommonResult updateDemo03Student(@Valid @RequestBody Demo03StudentSaveReqVO updateReqVO) { - demo03StudentService.updateDemo03Student(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除学生") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('infra:demo03-student:delete')") - public CommonResult deleteDemo03Student(@RequestParam("id") Long id) { - demo03StudentService.deleteDemo03Student(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得学生") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('infra:demo03-student:query')") - public CommonResult getDemo03Student(@RequestParam("id") Long id) { - Demo03StudentDO demo03Student = demo03StudentService.getDemo03Student(id); - return success(BeanUtils.toBean(demo03Student, Demo03StudentRespVO.class)); - } - - @GetMapping("/page") - @Operation(summary = "获得学生分页") - @PreAuthorize("@ss.hasPermission('infra:demo03-student:query')") - public CommonResult> getDemo03StudentPage(@Valid Demo03StudentPageReqVO pageReqVO) { - PageResult pageResult = demo03StudentService.getDemo03StudentPage(pageReqVO); - return success(BeanUtils.toBean(pageResult, Demo03StudentRespVO.class)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出学生 Excel") - @PreAuthorize("@ss.hasPermission('infra:demo03-student:export')") - @OperateLog(type = EXPORT) - public void exportDemo03StudentExcel(@Valid Demo03StudentPageReqVO pageReqVO, - HttpServletResponse response) throws IOException { - pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); - List list = demo03StudentService.getDemo03StudentPage(pageReqVO).getList(); - // 导出 Excel - ExcelUtils.write(response, "学生.xls", "数据", Demo03StudentRespVO.class, - BeanUtils.toBean(list, Demo03StudentRespVO.class)); - } - - // ==================== 子表(学生课程) ==================== - - @GetMapping("/demo03-course/page") - @Operation(summary = "获得学生课程分页") - @Parameter(name = "studentId", description = "学生编号") - @PreAuthorize("@ss.hasPermission('infra:demo03-student:query')") - public CommonResult> getDemo03CoursePage(PageParam pageReqVO, - @RequestParam("studentId") Long studentId) { - return success(demo03StudentService.getDemo03CoursePage(pageReqVO, studentId)); - } - - @PostMapping("/demo03-course/create") - @Operation(summary = "创建学生课程") - @PreAuthorize("@ss.hasPermission('infra:demo03-student:create')") - public CommonResult createDemo03Course(@Valid @RequestBody Demo03CourseDO demo03Course) { - return success(demo03StudentService.createDemo03Course(demo03Course)); - } - - @PutMapping("/demo03-course/update") - @Operation(summary = "更新学生课程") - @PreAuthorize("@ss.hasPermission('infra:demo03-student:update')") - public CommonResult updateDemo03Course(@Valid @RequestBody Demo03CourseDO demo03Course) { - demo03StudentService.updateDemo03Course(demo03Course); - return success(true); - } - - @DeleteMapping("/demo03-course/delete") - @Parameter(name = "id", description = "编号", required = true) - @Operation(summary = "删除学生课程") - @PreAuthorize("@ss.hasPermission('infra:demo03-student:delete')") - public CommonResult deleteDemo03Course(@RequestParam("id") Long id) { - demo03StudentService.deleteDemo03Course(id); - return success(true); - } - - @GetMapping("/demo03-course/get") - @Operation(summary = "获得学生课程") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('infra:demo03-student:query')") - public CommonResult getDemo03Course(@RequestParam("id") Long id) { - return success(demo03StudentService.getDemo03Course(id)); - } - - @GetMapping("/demo03-course/list-by-student-id") - @Operation(summary = "获得学生课程列表") - @Parameter(name = "studentId", description = "学生编号") - @PreAuthorize("@ss.hasPermission('infra:demo03-student:query')") - public CommonResult> getDemo03CourseListByStudentId(@RequestParam("studentId") Long studentId) { - return success(demo03StudentService.getDemo03CourseListByStudentId(studentId)); - } - - // ==================== 子表(学生班级) ==================== - - @GetMapping("/demo03-grade/page") - @Operation(summary = "获得学生班级分页") - @Parameter(name = "studentId", description = "学生编号") - @PreAuthorize("@ss.hasPermission('infra:demo03-student:query')") - public CommonResult> getDemo03GradePage(PageParam pageReqVO, - @RequestParam("studentId") Long studentId) { - return success(demo03StudentService.getDemo03GradePage(pageReqVO, studentId)); - } - - @PostMapping("/demo03-grade/create") - @Operation(summary = "创建学生班级") - @PreAuthorize("@ss.hasPermission('infra:demo03-student:create')") - public CommonResult createDemo03Grade(@Valid @RequestBody Demo03GradeDO demo03Grade) { - return success(demo03StudentService.createDemo03Grade(demo03Grade)); - } - - @PutMapping("/demo03-grade/update") - @Operation(summary = "更新学生班级") - @PreAuthorize("@ss.hasPermission('infra:demo03-student:update')") - public CommonResult updateDemo03Grade(@Valid @RequestBody Demo03GradeDO demo03Grade) { - demo03StudentService.updateDemo03Grade(demo03Grade); - return success(true); - } - - @DeleteMapping("/demo03-grade/delete") - @Parameter(name = "id", description = "编号", required = true) - @Operation(summary = "删除学生班级") - @PreAuthorize("@ss.hasPermission('infra:demo03-student:delete')") - public CommonResult deleteDemo03Grade(@RequestParam("id") Long id) { - demo03StudentService.deleteDemo03Grade(id); - return success(true); - } - - @GetMapping("/demo03-grade/get") - @Operation(summary = "获得学生班级") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('infra:demo03-student:query')") - public CommonResult getDemo03Grade(@RequestParam("id") Long id) { - return success(demo03StudentService.getDemo03Grade(id)); - } - - @GetMapping("/demo03-grade/get-by-student-id") - @Operation(summary = "获得学生班级") - @Parameter(name = "studentId", description = "学生编号") - @PreAuthorize("@ss.hasPermission('infra:demo03-student:query')") - public CommonResult getDemo03GradeByStudentId(@RequestParam("studentId") Long studentId) { - return success(demo03StudentService.getDemo03GradeByStudentId(studentId)); - } - -} diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/demo03/package-info.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/demo03/package-info.java deleted file mode 100644 index f2f82e1ab..000000000 --- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/demo03/package-info.java +++ /dev/null @@ -1 +0,0 @@ -package com.cf.imes.module.infra.controller.admin.demo.demo03; diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/demo03/vo/Demo03StudentPageReqVO.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/demo03/vo/Demo03StudentPageReqVO.java deleted file mode 100644 index 2ac985baa..000000000 --- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/demo03/vo/Demo03StudentPageReqVO.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.cf.imes.module.infra.controller.admin.demo.demo03.vo; - -import com.cf.imes.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 com.cf.imes.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 Demo03StudentPageReqVO extends PageParam { - - @Schema(description = "名字", example = "晨丰") - private String name; - - @Schema(description = "性别") - private Integer sex; - - @Schema(description = "简介", example = "随便") - private String description; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - -} diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/demo03/vo/Demo03StudentRespVO.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/demo03/vo/Demo03StudentRespVO.java deleted file mode 100644 index 39e1fdd96..000000000 --- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/demo03/vo/Demo03StudentRespVO.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.cf.imes.module.infra.controller.admin.demo.demo03.vo; - -import com.cf.imes.framework.excel.core.annotations.DictFormat; -import com.cf.imes.framework.excel.core.convert.DictConvert; -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 Demo03StudentRespVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "8525") - @ExcelProperty("编号") - private Long id; - - @Schema(description = "名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "晨丰") - @ExcelProperty("名字") - private String name; - - @Schema(description = "性别", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty(value = "性别", converter = DictConvert.class) - @DictFormat("system_user_sex") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中 - private Integer sex; - - @Schema(description = "出生日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("出生日期") - private LocalDateTime birthday; - - @Schema(description = "简介", requiredMode = Schema.RequiredMode.REQUIRED, example = "随便") - @ExcelProperty("简介") - private String description; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建时间") - private LocalDateTime createTime; - -} diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/demo03/vo/Demo03StudentSaveReqVO.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/demo03/vo/Demo03StudentSaveReqVO.java deleted file mode 100644 index 8d6c1fcff..000000000 --- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/demo03/vo/Demo03StudentSaveReqVO.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.cf.imes.module.infra.controller.admin.demo.demo03.vo; - -import com.cf.imes.module.infra.dal.dataobject.demo.demo03.Demo03CourseDO; -import com.cf.imes.module.infra.dal.dataobject.demo.demo03.Demo03GradeDO; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; -import java.time.LocalDateTime; -import java.util.List; - -@Schema(description = "管理后台 - 学生新增/修改 Request VO") -@Data -public class Demo03StudentSaveReqVO { - - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "8525") - 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 sex; - - @Schema(description = "出生日期", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "出生日期不能为空") - private LocalDateTime birthday; - - @Schema(description = "简介", requiredMode = Schema.RequiredMode.REQUIRED, example = "随便") - @NotEmpty(message = "简介不能为空") - private String description; - - - private List demo03Courses; - - private Demo03GradeDO demo03Grade; - -} diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/package-info.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/package-info.java deleted file mode 100644 index 66fb29eed..000000000 --- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/controller/admin/demo/package-info.java +++ /dev/null @@ -1,8 +0,0 @@ -/** - * 代码生成示例 - * - * 1. demo01:单表(增删改查) - * 2. demo02:单表(树形结构) - * 3. demo03:主子表(标准模式)+ 主子表(ERP 模式)+ 主子表(内嵌模式) - */ -package com.cf.imes.module.infra.controller.admin.demo; diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/dal/dataobject/demo/demo01/Demo01ContactDO.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/dal/dataobject/demo/demo01/Demo01ContactDO.java deleted file mode 100644 index 44809cc98..000000000 --- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/dal/dataobject/demo/demo01/Demo01ContactDO.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.cf.imes.module.infra.dal.dataobject.demo.demo01; - -import com.cf.imes.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.*; - -import java.time.LocalDateTime; - -/** - * 示例联系人 DO - * - * @author 晨丰科技 - */ -@TableName("infra_demo01_contact") -@KeySequence("infra_demo01_contact_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class Demo01ContactDO extends BaseDO { - - /** - * 编号 - */ - @TableId - private Long id; - /** - * 名字 - */ - private String name; - /** - * 性别 - * - * 枚举 {@link TODO system_user_sex 对应的类} - */ - private Integer sex; - /** - * 出生年 - */ - private LocalDateTime birthday; - /** - * 简介 - */ - private String description; - /** - * 头像 - */ - private String avatar; - -} diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/dal/dataobject/demo/demo02/Demo02CategoryDO.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/dal/dataobject/demo/demo02/Demo02CategoryDO.java deleted file mode 100644 index 78d5c6c43..000000000 --- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/dal/dataobject/demo/demo02/Demo02CategoryDO.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.cf.imes.module.infra.dal.dataobject.demo.demo02; - -import com.cf.imes.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("infra_demo02_category") -@KeySequence("infra_demo02_category_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class Demo02CategoryDO extends BaseDO { - - public static final Long PARENT_ID_ROOT = 0L; - - /** - * 编号 - */ - @TableId - private Long id; - /** - * 名字 - */ - private String name; - /** - * 父级编号 - */ - private Long parentId; - -} diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/dal/dataobject/demo/demo03/Demo03CourseDO.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/dal/dataobject/demo/demo03/Demo03CourseDO.java deleted file mode 100644 index f6634780c..000000000 --- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/dal/dataobject/demo/demo03/Demo03CourseDO.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.cf.imes.module.infra.dal.dataobject.demo.demo03; - -import com.cf.imes.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("infra_demo03_course") -@KeySequence("infra_demo03_course_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class Demo03CourseDO extends BaseDO { - - /** - * 编号 - */ - @TableId - private Long id; - /** - * 学生编号 - */ - private Long studentId; - /** - * 名字 - */ - private String name; - /** - * 分数 - */ - private Integer score; - -} diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/dal/dataobject/demo/demo03/Demo03GradeDO.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/dal/dataobject/demo/demo03/Demo03GradeDO.java deleted file mode 100644 index a0ed7ebe9..000000000 --- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/dal/dataobject/demo/demo03/Demo03GradeDO.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.cf.imes.module.infra.dal.dataobject.demo.demo03; - -import com.cf.imes.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("infra_demo03_grade") -@KeySequence("infra_demo03_grade_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class Demo03GradeDO extends BaseDO { - - /** - * 编号 - */ - @TableId - private Long id; - /** - * 学生编号 - */ - private Long studentId; - /** - * 名字 - */ - private String name; - /** - * 班主任 - */ - private String teacher; - -} diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/dal/dataobject/demo/demo03/Demo03StudentDO.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/dal/dataobject/demo/demo03/Demo03StudentDO.java deleted file mode 100644 index ebc374a1f..000000000 --- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/dal/dataobject/demo/demo03/Demo03StudentDO.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.cf.imes.module.infra.dal.dataobject.demo.demo03; - -import com.cf.imes.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.*; - -import java.time.LocalDateTime; - -/** - * 学生 DO - * - * @author 晨丰科技 - */ -@TableName("infra_demo03_student") -@KeySequence("infra_demo03_student_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class Demo03StudentDO extends BaseDO { - - /** - * 编号 - */ - @TableId - private Long id; - /** - * 名字 - */ - private String name; - /** - * 性别 - * - * 枚举 {@link TODO system_user_sex 对应的类} - */ - private Integer sex; - /** - * 出生日期 - */ - private LocalDateTime birthday; - /** - * 简介 - */ - private String description; - -} diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/dal/mysql/demo/demo01/Demo01ContactMapper.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/dal/mysql/demo/demo01/Demo01ContactMapper.java deleted file mode 100644 index dfc1763ea..000000000 --- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/dal/mysql/demo/demo01/Demo01ContactMapper.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.cf.imes.module.infra.dal.mysql.demo.demo01; - -import com.cf.imes.framework.common.pojo.PageResult; -import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; -import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.cf.imes.module.infra.controller.admin.demo.demo01.vo.Demo01ContactPageReqVO; -import com.cf.imes.module.infra.dal.dataobject.demo.demo01.Demo01ContactDO; -import org.apache.ibatis.annotations.Mapper; - -/** - * 示例联系人 Mapper - * - * @author 晨丰科技 - */ -@Mapper -public interface Demo01ContactMapper extends BaseMapperX { - - default PageResult selectPage(Demo01ContactPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .likeIfPresent(Demo01ContactDO::getName, reqVO.getName()) - .eqIfPresent(Demo01ContactDO::getSex, reqVO.getSex()) - .betweenIfPresent(Demo01ContactDO::getCreateTime, reqVO.getCreateTime()) - .orderByDesc(Demo01ContactDO::getId)); - } - -} diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/dal/mysql/demo/demo02/Demo02CategoryMapper.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/dal/mysql/demo/demo02/Demo02CategoryMapper.java deleted file mode 100644 index 7be39a040..000000000 --- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/dal/mysql/demo/demo02/Demo02CategoryMapper.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.cf.imes.module.infra.dal.mysql.demo.demo02; - -import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; -import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.cf.imes.module.infra.controller.admin.demo.demo02.vo.Demo02CategoryListReqVO; -import com.cf.imes.module.infra.dal.dataobject.demo.demo02.Demo02CategoryDO; -import org.apache.ibatis.annotations.Mapper; - -import java.util.List; - -/** - * 示例分类 Mapper - * - * @author 晨丰科技 - */ -@Mapper -public interface Demo02CategoryMapper extends BaseMapperX { - - default List selectList(Demo02CategoryListReqVO reqVO) { - return selectList(new LambdaQueryWrapperX() - .likeIfPresent(Demo02CategoryDO::getName, reqVO.getName()) - .eqIfPresent(Demo02CategoryDO::getParentId, reqVO.getParentId()) - .betweenIfPresent(Demo02CategoryDO::getCreateTime, reqVO.getCreateTime()) - .orderByDesc(Demo02CategoryDO::getId)); - } - - default Demo02CategoryDO selectByParentIdAndName(Long parentId, String name) { - return selectOne(Demo02CategoryDO::getParentId, parentId, Demo02CategoryDO::getName, name); - } - - default Long selectCountByParentId(Long parentId) { - return selectCount(Demo02CategoryDO::getParentId, parentId); - } - -} diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/dal/mysql/demo/demo03/Demo03CourseMapper.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/dal/mysql/demo/demo03/Demo03CourseMapper.java deleted file mode 100644 index 3de825440..000000000 --- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/dal/mysql/demo/demo03/Demo03CourseMapper.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.cf.imes.module.infra.dal.mysql.demo.demo03; - -import com.cf.imes.framework.common.pojo.PageParam; -import com.cf.imes.framework.common.pojo.PageResult; -import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; -import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.cf.imes.module.infra.dal.dataobject.demo.demo03.Demo03CourseDO; -import org.apache.ibatis.annotations.Mapper; - -import java.util.List; - -/** - * 学生课程 Mapper - * - * @author 晨丰科技 - */ -@Mapper -public interface Demo03CourseMapper extends BaseMapperX { - - default PageResult selectPage(PageParam reqVO, Long studentId) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .eq(Demo03CourseDO::getStudentId, studentId) - .orderByDesc(Demo03CourseDO::getId)); - } - - default List selectListByStudentId(Long studentId) { - return selectList(Demo03CourseDO::getStudentId, studentId); - } - - default int deleteByStudentId(Long studentId) { - return delete(Demo03CourseDO::getStudentId, studentId); - } - -} diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/dal/mysql/demo/demo03/Demo03GradeMapper.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/dal/mysql/demo/demo03/Demo03GradeMapper.java deleted file mode 100644 index af0e570e4..000000000 --- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/dal/mysql/demo/demo03/Demo03GradeMapper.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.cf.imes.module.infra.dal.mysql.demo.demo03; - -import com.cf.imes.framework.common.pojo.PageParam; -import com.cf.imes.framework.common.pojo.PageResult; -import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; -import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.cf.imes.module.infra.dal.dataobject.demo.demo03.Demo03GradeDO; -import org.apache.ibatis.annotations.Mapper; - -/** - * 学生班级 Mapper - * - * @author 晨丰科技 - */ -@Mapper -public interface Demo03GradeMapper extends BaseMapperX { - - default PageResult selectPage(PageParam reqVO, Long studentId) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .eq(Demo03GradeDO::getStudentId, studentId) - .orderByDesc(Demo03GradeDO::getId)); - } - - default Demo03GradeDO selectByStudentId(Long studentId) { - return selectOne(Demo03GradeDO::getStudentId, studentId); - } - - default int deleteByStudentId(Long studentId) { - return delete(Demo03GradeDO::getStudentId, studentId); - } - -} diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/dal/mysql/demo/demo03/Demo03StudentMapper.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/dal/mysql/demo/demo03/Demo03StudentMapper.java deleted file mode 100644 index a14877575..000000000 --- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/dal/mysql/demo/demo03/Demo03StudentMapper.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.cf.imes.module.infra.dal.mysql.demo.demo03; - -import com.cf.imes.framework.common.pojo.PageResult; -import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; -import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.cf.imes.module.infra.controller.admin.demo.demo03.vo.Demo03StudentPageReqVO; -import com.cf.imes.module.infra.dal.dataobject.demo.demo03.Demo03StudentDO; -import org.apache.ibatis.annotations.Mapper; - -/** - * 学生 Mapper - * - * @author 晨丰科技 - */ -@Mapper -public interface Demo03StudentMapper extends BaseMapperX { - - default PageResult selectPage(Demo03StudentPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .likeIfPresent(Demo03StudentDO::getName, reqVO.getName()) - .eqIfPresent(Demo03StudentDO::getSex, reqVO.getSex()) - .eqIfPresent(Demo03StudentDO::getDescription, reqVO.getDescription()) - .betweenIfPresent(Demo03StudentDO::getCreateTime, reqVO.getCreateTime()) - .orderByDesc(Demo03StudentDO::getId)); - } - -} diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/demo/demo01/Demo01ContactService.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/demo/demo01/Demo01ContactService.java deleted file mode 100644 index 5a78781fd..000000000 --- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/demo/demo01/Demo01ContactService.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.cf.imes.module.infra.service.demo.demo01; - -import com.cf.imes.framework.common.pojo.PageResult; -import com.cf.imes.module.infra.controller.admin.demo.demo01.vo.Demo01ContactPageReqVO; -import com.cf.imes.module.infra.controller.admin.demo.demo01.vo.Demo01ContactSaveReqVO; -import com.cf.imes.module.infra.dal.dataobject.demo.demo01.Demo01ContactDO; - -import javax.validation.Valid; - -/** - * 示例联系人 Service 接口 - * - * @author 晨丰科技 - */ -public interface Demo01ContactService { - - /** - * 创建示例联系人 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Long createDemo01Contact(@Valid Demo01ContactSaveReqVO createReqVO); - - /** - * 更新示例联系人 - * - * @param updateReqVO 更新信息 - */ - void updateDemo01Contact(@Valid Demo01ContactSaveReqVO updateReqVO); - - /** - * 删除示例联系人 - * - * @param id 编号 - */ - void deleteDemo01Contact(Long id); - - /** - * 获得示例联系人 - * - * @param id 编号 - * @return 示例联系人 - */ - Demo01ContactDO getDemo01Contact(Long id); - - /** - * 获得示例联系人分页 - * - * @param pageReqVO 分页查询 - * @return 示例联系人分页 - */ - PageResult getDemo01ContactPage(Demo01ContactPageReqVO pageReqVO); - -} diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/demo/demo01/Demo01ContactServiceImpl.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/demo/demo01/Demo01ContactServiceImpl.java deleted file mode 100644 index 6cddb345e..000000000 --- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/demo/demo01/Demo01ContactServiceImpl.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.cf.imes.module.infra.service.demo.demo01; - -import com.cf.imes.framework.common.exception.util.ServiceExceptionUtil; -import com.cf.imes.framework.common.pojo.PageResult; -import com.cf.imes.framework.common.util.object.BeanUtils; -import com.cf.imes.module.infra.controller.admin.demo.demo01.vo.Demo01ContactPageReqVO; -import com.cf.imes.module.infra.controller.admin.demo.demo01.vo.Demo01ContactSaveReqVO; -import com.cf.imes.module.infra.dal.dataobject.demo.demo01.Demo01ContactDO; -import com.cf.imes.module.infra.dal.mysql.demo.demo01.Demo01ContactMapper; -import com.cf.imes.module.infra.enums.ErrorCodeConstants; -import org.springframework.stereotype.Service; -import org.springframework.validation.annotation.Validated; - -import javax.annotation.Resource; - -import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception; - -/** - * 示例联系人 Service 实现类 - * - * @author 晨丰科技 - */ -@Service -@Validated -public class Demo01ContactServiceImpl implements Demo01ContactService { - - @Resource - private Demo01ContactMapper demo01ContactMapper; - - @Override - public Long createDemo01Contact(Demo01ContactSaveReqVO createReqVO) { - // 插入 - Demo01ContactDO demo01Contact = BeanUtils.toBean(createReqVO, Demo01ContactDO.class); - demo01ContactMapper.insert(demo01Contact); - // 返回 - return demo01Contact.getId(); - } - - @Override - public void updateDemo01Contact(Demo01ContactSaveReqVO updateReqVO) { - // 校验存在 - validateDemo01ContactExists(updateReqVO.getId()); - // 更新 - Demo01ContactDO updateObj = BeanUtils.toBean(updateReqVO, Demo01ContactDO.class); - demo01ContactMapper.updateById(updateObj); - } - - @Override - public void deleteDemo01Contact(Long id) { - // 校验存在 - validateDemo01ContactExists(id); - // 删除 - demo01ContactMapper.deleteById(id); - } - - private void validateDemo01ContactExists(Long id) { - if (demo01ContactMapper.selectById(id) == null) { - throw ServiceExceptionUtil.exception(ErrorCodeConstants.DEMO01_CONTACT_NOT_EXISTS); - } - } - - @Override - public Demo01ContactDO getDemo01Contact(Long id) { - return demo01ContactMapper.selectById(id); - } - - @Override - public PageResult getDemo01ContactPage(Demo01ContactPageReqVO pageReqVO) { - return demo01ContactMapper.selectPage(pageReqVO); - } - -} diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/demo/demo02/Demo02CategoryService.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/demo/demo02/Demo02CategoryService.java deleted file mode 100644 index f63cf2b80..000000000 --- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/demo/demo02/Demo02CategoryService.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.cf.imes.module.infra.service.demo.demo02; - -import com.cf.imes.module.infra.controller.admin.demo.demo02.vo.Demo02CategoryListReqVO; -import com.cf.imes.module.infra.controller.admin.demo.demo02.vo.Demo02CategorySaveReqVO; -import com.cf.imes.module.infra.dal.dataobject.demo.demo02.Demo02CategoryDO; - -import javax.validation.Valid; -import java.util.List; - -/** - * 示例分类 Service 接口 - * - * @author 晨丰科技 - */ -public interface Demo02CategoryService { - - /** - * 创建示例分类 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Long createDemo02Category(@Valid Demo02CategorySaveReqVO createReqVO); - - /** - * 更新示例分类 - * - * @param updateReqVO 更新信息 - */ - void updateDemo02Category(@Valid Demo02CategorySaveReqVO updateReqVO); - - /** - * 删除示例分类 - * - * @param id 编号 - */ - void deleteDemo02Category(Long id); - - /** - * 获得示例分类 - * - * @param id 编号 - * @return 示例分类 - */ - Demo02CategoryDO getDemo02Category(Long id); - - /** - * 获得示例分类列表 - * - * @param listReqVO 查询条件 - * @return 示例分类列表 - */ - List getDemo02CategoryList(Demo02CategoryListReqVO listReqVO); - -} diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/demo/demo02/Demo02CategoryServiceImpl.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/demo/demo02/Demo02CategoryServiceImpl.java deleted file mode 100644 index 30e22e35a..000000000 --- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/demo/demo02/Demo02CategoryServiceImpl.java +++ /dev/null @@ -1,134 +0,0 @@ -package com.cf.imes.module.infra.service.demo.demo02; - -import com.cf.imes.framework.common.util.object.BeanUtils; -import com.cf.imes.module.infra.controller.admin.demo.demo02.vo.Demo02CategoryListReqVO; -import com.cf.imes.module.infra.controller.admin.demo.demo02.vo.Demo02CategorySaveReqVO; -import com.cf.imes.module.infra.dal.dataobject.demo.demo02.Demo02CategoryDO; -import com.cf.imes.module.infra.dal.mysql.demo.demo02.Demo02CategoryMapper; -import org.springframework.stereotype.Service; -import org.springframework.validation.annotation.Validated; - -import javax.annotation.Resource; -import java.util.List; -import java.util.Objects; - -import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception; -import static com.cf.imes.module.infra.enums.ErrorCodeConstants.*; - -/** - * 示例分类 Service 实现类 - * - * @author 晨丰科技 - */ -@Service -@Validated -public class Demo02CategoryServiceImpl implements Demo02CategoryService { - - @Resource - private Demo02CategoryMapper demo02CategoryMapper; - - @Override - public Long createDemo02Category(Demo02CategorySaveReqVO createReqVO) { - // 校验父级编号的有效性 - validateParentDemo02Category(null, createReqVO.getParentId()); - // 校验名字的唯一性 - validateDemo02CategoryNameUnique(null, createReqVO.getParentId(), createReqVO.getName()); - - // 插入 - Demo02CategoryDO demo02Category = BeanUtils.toBean(createReqVO, Demo02CategoryDO.class); - demo02CategoryMapper.insert(demo02Category); - // 返回 - return demo02Category.getId(); - } - - @Override - public void updateDemo02Category(Demo02CategorySaveReqVO updateReqVO) { - // 校验存在 - validateDemo02CategoryExists(updateReqVO.getId()); - // 校验父级编号的有效性 - validateParentDemo02Category(updateReqVO.getId(), updateReqVO.getParentId()); - // 校验名字的唯一性 - validateDemo02CategoryNameUnique(updateReqVO.getId(), updateReqVO.getParentId(), updateReqVO.getName()); - - // 更新 - Demo02CategoryDO updateObj = BeanUtils.toBean(updateReqVO, Demo02CategoryDO.class); - demo02CategoryMapper.updateById(updateObj); - } - - @Override - public void deleteDemo02Category(Long id) { - // 校验存在 - validateDemo02CategoryExists(id); - // 校验是否有子示例分类 - if (demo02CategoryMapper.selectCountByParentId(id) > 0) { - throw exception(DEMO02_CATEGORY_EXITS_CHILDREN); - } - // 删除 - demo02CategoryMapper.deleteById(id); - } - - private void validateDemo02CategoryExists(Long id) { - if (demo02CategoryMapper.selectById(id) == null) { - throw exception(DEMO02_CATEGORY_NOT_EXISTS); - } - } - - private void validateParentDemo02Category(Long id, Long parentId) { - if (parentId == null || Demo02CategoryDO.PARENT_ID_ROOT.equals(parentId)) { - return; - } - // 1. 不能设置自己为父示例分类 - if (Objects.equals(id, parentId)) { - throw exception(DEMO02_CATEGORY_PARENT_ERROR); - } - // 2. 父示例分类不存在 - Demo02CategoryDO parentDemo02Category = demo02CategoryMapper.selectById(parentId); - if (parentDemo02Category == null) { - throw exception(DEMO02_CATEGORY_PARENT_NOT_EXITS); - } - // 3. 递归校验父示例分类,如果父示例分类是自己的子示例分类,则报错,避免形成环路 - if (id == null) { // id 为空,说明新增,不需要考虑环路 - return; - } - for (int i = 0; i < Short.MAX_VALUE; i++) { - // 3.1 校验环路 - parentId = parentDemo02Category.getParentId(); - if (Objects.equals(id, parentId)) { - throw exception(DEMO02_CATEGORY_PARENT_IS_CHILD); - } - // 3.2 继续递归下一级父示例分类 - if (parentId == null || Demo02CategoryDO.PARENT_ID_ROOT.equals(parentId)) { - break; - } - parentDemo02Category = demo02CategoryMapper.selectById(parentId); - if (parentDemo02Category == null) { - break; - } - } - } - - private void validateDemo02CategoryNameUnique(Long id, Long parentId, String name) { - Demo02CategoryDO demo02Category = demo02CategoryMapper.selectByParentIdAndName(parentId, name); - if (demo02Category == null) { - return; - } - // 如果 id 为空,说明不用比较是否为相同 id 的示例分类 - if (id == null) { - throw exception(DEMO02_CATEGORY_NAME_DUPLICATE); - } - if (!Objects.equals(demo02Category.getId(), id)) { - throw exception(DEMO02_CATEGORY_NAME_DUPLICATE); - } - } - - @Override - public Demo02CategoryDO getDemo02Category(Long id) { - return demo02CategoryMapper.selectById(id); - } - - @Override - public List getDemo02CategoryList(Demo02CategoryListReqVO listReqVO) { - return demo02CategoryMapper.selectList(listReqVO); - } - -} diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/demo/demo03/Demo03StudentService.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/demo/demo03/Demo03StudentService.java deleted file mode 100644 index 58a4ef1d0..000000000 --- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/demo/demo03/Demo03StudentService.java +++ /dev/null @@ -1,158 +0,0 @@ -package com.cf.imes.module.infra.service.demo.demo03; - -import com.cf.imes.framework.common.pojo.PageParam; -import com.cf.imes.framework.common.pojo.PageResult; -import com.cf.imes.module.infra.controller.admin.demo.demo03.vo.Demo03StudentPageReqVO; -import com.cf.imes.module.infra.controller.admin.demo.demo03.vo.Demo03StudentSaveReqVO; -import com.cf.imes.module.infra.dal.dataobject.demo.demo03.Demo03CourseDO; -import com.cf.imes.module.infra.dal.dataobject.demo.demo03.Demo03GradeDO; -import com.cf.imes.module.infra.dal.dataobject.demo.demo03.Demo03StudentDO; - -import javax.validation.Valid; -import java.util.List; - -/** - * 学生 Service 接口 - * - * @author 晨丰科技 - */ -public interface Demo03StudentService { - - /** - * 创建学生 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Long createDemo03Student(@Valid Demo03StudentSaveReqVO createReqVO); - - /** - * 更新学生 - * - * @param updateReqVO 更新信息 - */ - void updateDemo03Student(@Valid Demo03StudentSaveReqVO updateReqVO); - - /** - * 删除学生 - * - * @param id 编号 - */ - void deleteDemo03Student(Long id); - - /** - * 获得学生 - * - * @param id 编号 - * @return 学生 - */ - Demo03StudentDO getDemo03Student(Long id); - - /** - * 获得学生分页 - * - * @param pageReqVO 分页查询 - * @return 学生分页 - */ - PageResult getDemo03StudentPage(Demo03StudentPageReqVO pageReqVO); - - - // ==================== 子表(学生课程) ==================== - - /** - * 获得学生课程列表 - * - * @param studentId 学生编号 - * @return 学生课程列表 - */ - List getDemo03CourseListByStudentId(Long studentId); - - /** - * 获得学生课程分页 - * - * @param pageReqVO 分页查询 - * @param studentId 学生编号 - * @return 学生课程分页 - */ - PageResult getDemo03CoursePage(PageParam pageReqVO, Long studentId); - - /** - * 创建学生课程 - * - * @param demo03Course 创建信息 - * @return 编号 - */ - Long createDemo03Course(@Valid Demo03CourseDO demo03Course); - - /** - * 更新学生课程 - * - * @param demo03Course 更新信息 - */ - void updateDemo03Course(@Valid Demo03CourseDO demo03Course); - - /** - * 删除学生课程 - * - * @param id 编号 - */ - void deleteDemo03Course(Long id); - - /** - * 获得学生课程 - * - * @param id 编号 - * @return 学生课程 - */ - Demo03CourseDO getDemo03Course(Long id); - - // ==================== 子表(学生班级) ==================== - - /** - * 获得学生班级 - * - * @param studentId 学生编号 - * @return 学生班级 - */ - Demo03GradeDO getDemo03GradeByStudentId(Long studentId); - - /** - * 获得学生班级分页 - * - * @param pageReqVO 分页查询 - * @param studentId 学生编号 - * @return 学生班级分页 - */ - PageResult getDemo03GradePage(PageParam pageReqVO, Long studentId); - - /** - * 创建学生班级 - * - * @param demo03Grade 创建信息 - * @return 编号 - */ - Long createDemo03Grade(@Valid Demo03GradeDO demo03Grade); - - /** - * 更新学生班级 - * - * @param demo03Grade 更新信息 - */ - void updateDemo03Grade(@Valid Demo03GradeDO demo03Grade); - - /** - * 删除学生班级 - * - * @param id 编号 - */ - void deleteDemo03Grade(Long id); - - /** - * 获得学生班级 - * - * @param id 编号 - * @return 学生班级 - */ - Demo03GradeDO getDemo03Grade(Long id); - -} diff --git a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/demo/demo03/Demo03StudentServiceImpl.java b/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/demo/demo03/Demo03StudentServiceImpl.java deleted file mode 100644 index d1b5a667f..000000000 --- a/cf-module-infra/cf-module-infra-biz/src/main/java/com/cf/imes/module/infra/service/demo/demo03/Demo03StudentServiceImpl.java +++ /dev/null @@ -1,217 +0,0 @@ -package com.cf.imes.module.infra.service.demo.demo03; - -import com.cf.imes.framework.common.pojo.PageParam; -import com.cf.imes.framework.common.pojo.PageResult; -import com.cf.imes.framework.common.util.object.BeanUtils; -import com.cf.imes.module.infra.controller.admin.demo.demo03.vo.Demo03StudentPageReqVO; -import com.cf.imes.module.infra.controller.admin.demo.demo03.vo.Demo03StudentSaveReqVO; -import com.cf.imes.module.infra.dal.dataobject.demo.demo03.Demo03CourseDO; -import com.cf.imes.module.infra.dal.dataobject.demo.demo03.Demo03GradeDO; -import com.cf.imes.module.infra.dal.dataobject.demo.demo03.Demo03StudentDO; -import com.cf.imes.module.infra.dal.mysql.demo.demo03.Demo03CourseMapper; -import com.cf.imes.module.infra.dal.mysql.demo.demo03.Demo03GradeMapper; -import com.cf.imes.module.infra.dal.mysql.demo.demo03.Demo03StudentMapper; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.validation.annotation.Validated; - -import javax.annotation.Resource; -import java.util.List; - -import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception; -import static com.cf.imes.module.infra.enums.ErrorCodeConstants.*; - -/** - * 学生 Service 实现类 - * - * @author 晨丰科技 - */ -@Service -@Validated -public class Demo03StudentServiceImpl implements Demo03StudentService { - - @Resource - private Demo03StudentMapper demo03StudentMapper; - @Resource - private Demo03CourseMapper demo03CourseMapper; - @Resource - private Demo03GradeMapper demo03GradeMapper; - - @Override - @Transactional(rollbackFor = Exception.class) - public Long createDemo03Student(Demo03StudentSaveReqVO createReqVO) { - // 插入 - Demo03StudentDO demo03Student = BeanUtils.toBean(createReqVO, Demo03StudentDO.class); - demo03StudentMapper.insert(demo03Student); - - // 插入子表 - createDemo03CourseList(demo03Student.getId(), createReqVO.getDemo03Courses()); - createDemo03Grade(demo03Student.getId(), createReqVO.getDemo03Grade()); - // 返回 - return demo03Student.getId(); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void updateDemo03Student(Demo03StudentSaveReqVO updateReqVO) { - // 校验存在 - validateDemo03StudentExists(updateReqVO.getId()); - // 更新 - Demo03StudentDO updateObj = BeanUtils.toBean(updateReqVO, Demo03StudentDO.class); - demo03StudentMapper.updateById(updateObj); - - // 更新子表 - updateDemo03CourseList(updateReqVO.getId(), updateReqVO.getDemo03Courses()); - updateDemo03Grade(updateReqVO.getId(), updateReqVO.getDemo03Grade()); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void deleteDemo03Student(Long id) { - // 校验存在 - validateDemo03StudentExists(id); - // 删除 - demo03StudentMapper.deleteById(id); - - // 删除子表 - deleteDemo03CourseByStudentId(id); - deleteDemo03GradeByStudentId(id); - } - - private void validateDemo03StudentExists(Long id) { - if (demo03StudentMapper.selectById(id) == null) { - throw exception(DEMO03_STUDENT_NOT_EXISTS); - } - } - - @Override - public Demo03StudentDO getDemo03Student(Long id) { - return demo03StudentMapper.selectById(id); - } - - @Override - public PageResult getDemo03StudentPage(Demo03StudentPageReqVO pageReqVO) { - return demo03StudentMapper.selectPage(pageReqVO); - } - - // ==================== 子表(学生课程) ==================== - - @Override - public List getDemo03CourseListByStudentId(Long studentId) { - return demo03CourseMapper.selectListByStudentId(studentId); - } - - private void createDemo03CourseList(Long studentId, List list) { - if (list != null) { - list.forEach(o -> o.setStudentId(studentId)); - } - demo03CourseMapper.insertBatch(list); - } - - private void updateDemo03CourseList(Long studentId, List list) { - deleteDemo03CourseByStudentId(studentId); - list.forEach(o -> o.setId(null).setUpdater(null).setUpdateTime(null)); // 解决更新情况下:1)id 冲突;2)updateTime 不更新 - createDemo03CourseList(studentId, list); - } - - private void deleteDemo03CourseByStudentId(Long studentId) { - demo03CourseMapper.deleteByStudentId(studentId); - } - - @Override - public PageResult getDemo03CoursePage(PageParam pageReqVO, Long studentId) { - return demo03CourseMapper.selectPage(pageReqVO, studentId); - } - - @Override - public Long createDemo03Course(Demo03CourseDO demo03Course) { - demo03CourseMapper.insert(demo03Course); - return demo03Course.getId(); - } - - @Override - public void updateDemo03Course(Demo03CourseDO demo03Course) { - demo03CourseMapper.updateById(demo03Course); - } - - @Override - public void deleteDemo03Course(Long id) { - demo03CourseMapper.deleteById(id); - } - - @Override - public Demo03CourseDO getDemo03Course(Long id) { - return demo03CourseMapper.selectById(id); - } - - // ==================== 子表(学生班级) ==================== - - @Override - public Demo03GradeDO getDemo03GradeByStudentId(Long studentId) { - return demo03GradeMapper.selectByStudentId(studentId); - } - - private void createDemo03Grade(Long studentId, Demo03GradeDO demo03Grade) { - if (demo03Grade == null) { - return; - } - demo03Grade.setStudentId(studentId); - demo03GradeMapper.insert(demo03Grade); - } - - private void updateDemo03Grade(Long studentId, Demo03GradeDO demo03Grade) { - if (demo03Grade == null) { - return; - } - demo03Grade.setStudentId(studentId); - demo03Grade.setUpdater(null).setUpdateTime(null); // 解决更新情况下:updateTime 不更新 - demo03GradeMapper.insertOrUpdate(demo03Grade); - } - - private void deleteDemo03GradeByStudentId(Long studentId) { - demo03GradeMapper.deleteByStudentId(studentId); - } - - @Override - public PageResult getDemo03GradePage(PageParam pageReqVO, Long studentId) { - return demo03GradeMapper.selectPage(pageReqVO, studentId); - } - - @Override - public Long createDemo03Grade(Demo03GradeDO demo03Grade) { - // 校验是否已经存在 - if (demo03GradeMapper.selectByStudentId(demo03Grade.getStudentId()) != null) { - throw exception(DEMO03_GRADE_EXISTS); - } - demo03GradeMapper.insert(demo03Grade); - return demo03Grade.getId(); - } - - @Override - public void updateDemo03Grade(Demo03GradeDO demo03Grade) { - // 校验存在 - validateDemo03GradeExists(demo03Grade.getId()); - // 更新 - demo03GradeMapper.updateById(demo03Grade); - } - - @Override - public void deleteDemo03Grade(Long id) { - // 校验存在 - validateDemo03GradeExists(id); - // 删除 - demo03GradeMapper.deleteById(id); - } - - @Override - public Demo03GradeDO getDemo03Grade(Long id) { - return demo03GradeMapper.selectById(id); - } - - private void validateDemo03GradeExists(Long id) { - if (demo03GradeMapper.selectById(id) == null) { - throw exception(DEMO03_GRADE_NOT_EXISTS); - } - } - -}