diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-api/src/main/java/cn/iocoder/yudao/module/bikmk/enums/ErrorCodeConstants.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-api/src/main/java/cn/iocoder/yudao/module/bikmk/enums/ErrorCodeConstants.java index 7e118b7..9a87608 100644 --- a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-api/src/main/java/cn/iocoder/yudao/module/bikmk/enums/ErrorCodeConstants.java +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-api/src/main/java/cn/iocoder/yudao/module/bikmk/enums/ErrorCodeConstants.java @@ -11,4 +11,8 @@ public interface ErrorCodeConstants { ErrorCode CLOUD_DESKTOP_USAGE_DURATION_NOT_EXISTS = new ErrorCode(1001000000, "云桌面使用时长不存在"); ErrorCode POLICY_NOT_EXISTS = new ErrorCode(1001000001, "政策动态不存在"); ErrorCode DISTRIBUTION_NOT_EXISTS = new ErrorCode(1001000002, "项目主要分布不存在"); + ErrorCode PROJECT_NOT_EXISTS = new ErrorCode(1001000003, "项目信息不存在"); + ErrorCode INFO_NOT_EXISTS = new ErrorCode(1001000004, "信息栏不存在"); + ErrorCode AREA_PROJECT_NOT_EXISTS = new ErrorCode(1001000005, "信息对比不存在"); + ErrorCode ENERGY_NOT_EXISTS = new ErrorCode(1001000006, "能耗不存在"); } diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/areaproject/AreaProjectController.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/areaproject/AreaProjectController.java new file mode 100644 index 0000000..5f1d380 --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/areaproject/AreaProjectController.java @@ -0,0 +1,102 @@ +package cn.iocoder.yudao.module.bikmk.controller.admin.areaproject; + +import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import javax.validation.constraints.*; +import javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; +import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.bikmk.controller.admin.areaproject.vo.*; +import cn.iocoder.yudao.module.bikmk.dal.dataobject.areaproject.AreaProjectDO; +import cn.iocoder.yudao.module.bikmk.convert.areaproject.AreaProjectConvert; +import cn.iocoder.yudao.module.bikmk.service.areaproject.AreaProjectService; + +@Tag(name = "管理后台 - 信息对比") +@RestController +@RequestMapping("/bikmk/area-project") +@Validated +public class AreaProjectController { + + @Resource + private AreaProjectService areaProjectService; + + @PostMapping("/create") + @Operation(summary = "创建信息对比") + @PreAuthorize("@ss.hasPermission('bikmk:area-project:create')") + public CommonResult createAreaProject(@Valid @RequestBody AreaProjectCreateReqVO createReqVO) { + return success(areaProjectService.createAreaProject(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新信息对比") + @PreAuthorize("@ss.hasPermission('bikmk:area-project:update')") + public CommonResult updateAreaProject(@Valid @RequestBody AreaProjectUpdateReqVO updateReqVO) { + areaProjectService.updateAreaProject(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除信息对比") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('bikmk:area-project:delete')") + public CommonResult deleteAreaProject(@RequestParam("id") Long id) { + areaProjectService.deleteAreaProject(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得信息对比") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('bikmk:area-project:query')") + public CommonResult getAreaProject(@RequestParam("id") Long id) { + AreaProjectDO areaProject = areaProjectService.getAreaProject(id); + return success(AreaProjectConvert.INSTANCE.convert(areaProject)); + } + + @GetMapping("/list") + @Operation(summary = "获得信息对比列表") + @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") + @PreAuthorize("@ss.hasPermission('bikmk:area-project:query')") + public CommonResult> getAreaProjectList(@RequestParam("ids") Collection ids) { + List list = areaProjectService.getAreaProjectList(ids); + return success(AreaProjectConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @Operation(summary = "获得信息对比分页") + @PreAuthorize("@ss.hasPermission('bikmk:area-project:query')") + public CommonResult> getAreaProjectPage(@Valid AreaProjectPageReqVO pageVO) { + PageResult pageResult = areaProjectService.getAreaProjectPage(pageVO); + return success(AreaProjectConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出信息对比 Excel") + @PreAuthorize("@ss.hasPermission('bikmk:area-project:export')") + @OperateLog(type = EXPORT) + public void exportAreaProjectExcel(@Valid AreaProjectExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = areaProjectService.getAreaProjectList(exportReqVO); + // 导出 Excel + List datas = AreaProjectConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "信息对比.xls", "数据", AreaProjectExcelVO.class, datas); + } + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/areaproject/vo/AreaProjectBaseVO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/areaproject/vo/AreaProjectBaseVO.java new file mode 100644 index 0000000..3681001 --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/areaproject/vo/AreaProjectBaseVO.java @@ -0,0 +1,29 @@ +package cn.iocoder.yudao.module.bikmk.controller.admin.areaproject.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import javax.validation.constraints.*; + +/** + * 信息对比 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class AreaProjectBaseVO { + + @Schema(description = "区域", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "区域不能为空") + private String region; + + @Schema(description = "进度17%", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "进度17%不能为空") + private String schedule; + + @Schema(description = "金额xxx万", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "金额xxx万不能为空") + private String money; + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/areaproject/vo/AreaProjectCreateReqVO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/areaproject/vo/AreaProjectCreateReqVO.java new file mode 100644 index 0000000..5bb8413 --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/areaproject/vo/AreaProjectCreateReqVO.java @@ -0,0 +1,14 @@ +package cn.iocoder.yudao.module.bikmk.controller.admin.areaproject.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import javax.validation.constraints.*; + +@Schema(description = "管理后台 - 信息对比创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class AreaProjectCreateReqVO extends AreaProjectBaseVO { + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/areaproject/vo/AreaProjectExcelVO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/areaproject/vo/AreaProjectExcelVO.java new file mode 100644 index 0000000..902d08e --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/areaproject/vo/AreaProjectExcelVO.java @@ -0,0 +1,34 @@ +package cn.iocoder.yudao.module.bikmk.controller.admin.areaproject.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; + +import com.alibaba.excel.annotation.ExcelProperty; + +/** + * 信息对比 Excel VO + * + * @author 芋道源码 + */ +@Data +public class AreaProjectExcelVO { + + @ExcelProperty("编号") + private Long id; + + @ExcelProperty("区域") + private String region; + + @ExcelProperty("进度17%") + private String schedule; + + @ExcelProperty("金额xxx万") + private String money; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/areaproject/vo/AreaProjectExportReqVO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/areaproject/vo/AreaProjectExportReqVO.java new file mode 100644 index 0000000..1e4c696 --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/areaproject/vo/AreaProjectExportReqVO.java @@ -0,0 +1,29 @@ +package cn.iocoder.yudao.module.bikmk.controller.admin.areaproject.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import java.time.LocalDateTime; +import org.springframework.format.annotation.DateTimeFormat; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 信息对比 Excel 导出 Request VO,参数和 AreaProjectPageReqVO 是一致的") +@Data +public class AreaProjectExportReqVO { + + @Schema(description = "区域") + private String region; + + @Schema(description = "进度17%") + private String schedule; + + @Schema(description = "金额xxx万") + private String money; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/areaproject/vo/AreaProjectPageReqVO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/areaproject/vo/AreaProjectPageReqVO.java new file mode 100644 index 0000000..64e8173 --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/areaproject/vo/AreaProjectPageReqVO.java @@ -0,0 +1,31 @@ +package cn.iocoder.yudao.module.bikmk.controller.admin.areaproject.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +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 AreaProjectPageReqVO extends PageParam { + + @Schema(description = "区域") + private String region; + + @Schema(description = "进度17%") + private String schedule; + + @Schema(description = "金额xxx万") + private String money; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/areaproject/vo/AreaProjectRespVO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/areaproject/vo/AreaProjectRespVO.java new file mode 100644 index 0000000..cbd2872 --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/areaproject/vo/AreaProjectRespVO.java @@ -0,0 +1,19 @@ +package cn.iocoder.yudao.module.bikmk.controller.admin.areaproject.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 信息对比 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class AreaProjectRespVO extends AreaProjectBaseVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "12670") + private Long id; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/areaproject/vo/AreaProjectUpdateReqVO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/areaproject/vo/AreaProjectUpdateReqVO.java new file mode 100644 index 0000000..0a61013 --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/areaproject/vo/AreaProjectUpdateReqVO.java @@ -0,0 +1,18 @@ +package cn.iocoder.yudao.module.bikmk.controller.admin.areaproject.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; + +@Schema(description = "管理后台 - 信息对比更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class AreaProjectUpdateReqVO extends AreaProjectBaseVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "12670") + @NotNull(message = "编号不能为空") + private Long id; + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/distribution/DistributionController.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/distribution/DistributionController.java index f1b38a1..f4283e3 100644 --- a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/distribution/DistributionController.java +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/distribution/DistributionController.java @@ -28,7 +28,7 @@ import cn.iocoder.yudao.module.bikmk.dal.dataobject.distribution.DistributionDO; import cn.iocoder.yudao.module.bikmk.convert.distribution.DistributionConvert; import cn.iocoder.yudao.module.bikmk.service.distribution.DistributionService; -@Tag(name = "凯密克AI后台 - 项目主要分布") +@Tag(name = "管理后台 - 项目主要分布") @RestController @RequestMapping("/bikmk/distribution") @Validated diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/distribution/vo/DistributionBaseVO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/distribution/vo/DistributionBaseVO.java index 4c79533..9741512 100644 --- a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/distribution/vo/DistributionBaseVO.java +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/distribution/vo/DistributionBaseVO.java @@ -18,12 +18,12 @@ public class DistributionBaseVO { @NotNull(message = "区域名称不能为空") private String name; - @Schema(description = "地图圆圈大小", requiredMode = Schema.RequiredMode.REQUIRED, example = "20") - @NotNull(message = "地图圆圈大小不能为空") - private String value; - - @Schema(description = "坐标", requiredMode = Schema.RequiredMode.REQUIRED, example = "[119.2735,26.0467]") + @Schema(description = "坐标", requiredMode = Schema.RequiredMode.REQUIRED, example = "119.2735,26.0467") @NotNull(message = "坐标不能为空") private String position; + @Schema(description = "地图圆圈大小", requiredMode = Schema.RequiredMode.REQUIRED, example = "10|20") + @NotNull(message = "地图圆圈大小不能为空") + private Integer value; + } diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/distribution/vo/DistributionExcelVO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/distribution/vo/DistributionExcelVO.java index 28cbfb5..7e3cd25 100644 --- a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/distribution/vo/DistributionExcelVO.java +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/distribution/vo/DistributionExcelVO.java @@ -22,13 +22,13 @@ public class DistributionExcelVO { @ExcelProperty("区域名称") private String name; - @ExcelProperty("地图圆圈大小") - private String value; - @ExcelProperty("坐标") private String position; @ExcelProperty("创建时间") private LocalDateTime createTime; + @ExcelProperty("地图圆圈大小") + private Integer value; + } diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/distribution/vo/DistributionExportReqVO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/distribution/vo/DistributionExportReqVO.java index 83442bc..fbbf4ef 100644 --- a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/distribution/vo/DistributionExportReqVO.java +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/distribution/vo/DistributionExportReqVO.java @@ -16,14 +16,14 @@ public class DistributionExportReqVO { @Schema(description = "区域名称", example = "福建省福州市仓山区") private String name; - @Schema(description = "地图圆圈大小", example = "20") - private String value; - - @Schema(description = "坐标", example = "[119.2735,26.0467]") + @Schema(description = "坐标", example = "119.2735,26.0467") private String position; @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; + @Schema(description = "地图圆圈大小", example = "10|20") + private Integer value; + } diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/distribution/vo/DistributionPageReqVO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/distribution/vo/DistributionPageReqVO.java index abe1b05..08c9eae 100644 --- a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/distribution/vo/DistributionPageReqVO.java +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/distribution/vo/DistributionPageReqVO.java @@ -18,14 +18,14 @@ public class DistributionPageReqVO extends PageParam { @Schema(description = "区域名称", example = "福建省福州市仓山区") private String name; - @Schema(description = "地图圆圈大小", example = "20") - private String value; - - @Schema(description = "坐标", example = "[119.2735,26.0467]") + @Schema(description = "坐标", example = "119.2735,26.0467") private String position; @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; + @Schema(description = "地图圆圈大小", example = "10|20") + private Integer value; + } diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/energy/EnergyController.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/energy/EnergyController.java new file mode 100644 index 0000000..515981a --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/energy/EnergyController.java @@ -0,0 +1,102 @@ +package cn.iocoder.yudao.module.bikmk.controller.admin.energy; + +import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import javax.validation.constraints.*; +import javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; +import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.bikmk.controller.admin.energy.vo.*; +import cn.iocoder.yudao.module.bikmk.dal.dataobject.energy.EnergyDO; +import cn.iocoder.yudao.module.bikmk.convert.energy.EnergyConvert; +import cn.iocoder.yudao.module.bikmk.service.energy.EnergyService; + +@Tag(name = "管理后台 - 能耗") +@RestController +@RequestMapping("/bikmk/energy") +@Validated +public class EnergyController { + + @Resource + private EnergyService energyService; + + @PostMapping("/create") + @Operation(summary = "创建能耗") + @PreAuthorize("@ss.hasPermission('bikmk:energy:create')") + public CommonResult createEnergy(@Valid @RequestBody EnergyCreateReqVO createReqVO) { + return success(energyService.createEnergy(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新能耗") + @PreAuthorize("@ss.hasPermission('bikmk:energy:update')") + public CommonResult updateEnergy(@Valid @RequestBody EnergyUpdateReqVO updateReqVO) { + energyService.updateEnergy(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除能耗") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('bikmk:energy:delete')") + public CommonResult deleteEnergy(@RequestParam("id") Long id) { + energyService.deleteEnergy(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得能耗") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('bikmk:energy:query')") + public CommonResult getEnergy(@RequestParam("id") Long id) { + EnergyDO energy = energyService.getEnergy(id); + return success(EnergyConvert.INSTANCE.convert(energy)); + } + + @GetMapping("/list") + @Operation(summary = "获得能耗列表") + @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") + @PreAuthorize("@ss.hasPermission('bikmk:energy:query')") + public CommonResult> getEnergyList(@RequestParam("ids") Collection ids) { + List list = energyService.getEnergyList(ids); + return success(EnergyConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @Operation(summary = "获得能耗分页") + @PreAuthorize("@ss.hasPermission('bikmk:energy:query')") + public CommonResult> getEnergyPage(@Valid EnergyPageReqVO pageVO) { + PageResult pageResult = energyService.getEnergyPage(pageVO); + return success(EnergyConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出能耗 Excel") + @PreAuthorize("@ss.hasPermission('bikmk:energy:export')") + @OperateLog(type = EXPORT) + public void exportEnergyExcel(@Valid EnergyExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = energyService.getEnergyList(exportReqVO); + // 导出 Excel + List datas = EnergyConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "能耗.xls", "数据", EnergyExcelVO.class, datas); + } + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/energy/vo/EnergyBaseVO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/energy/vo/EnergyBaseVO.java new file mode 100644 index 0000000..b3f63af --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/energy/vo/EnergyBaseVO.java @@ -0,0 +1,34 @@ +package cn.iocoder.yudao.module.bikmk.controller.admin.energy.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import javax.validation.constraints.*; +import org.springframework.format.annotation.DateTimeFormat; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** + * 能耗 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class EnergyBaseVO { + + @Schema(description = "日期", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "日期不能为空") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime dtime; + + @Schema(description = "PC电脑", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "PC电脑不能为空") + private Integer pc; + + @Schema(description = "云桌面", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "云桌面不能为空") + private Integer cdesktop; + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/energy/vo/EnergyCreateReqVO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/energy/vo/EnergyCreateReqVO.java new file mode 100644 index 0000000..51e205c --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/energy/vo/EnergyCreateReqVO.java @@ -0,0 +1,14 @@ +package cn.iocoder.yudao.module.bikmk.controller.admin.energy.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import javax.validation.constraints.*; + +@Schema(description = "管理后台 - 能耗创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class EnergyCreateReqVO extends EnergyBaseVO { + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/energy/vo/EnergyExcelVO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/energy/vo/EnergyExcelVO.java new file mode 100644 index 0000000..5bb6203 --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/energy/vo/EnergyExcelVO.java @@ -0,0 +1,35 @@ +package cn.iocoder.yudao.module.bikmk.controller.admin.energy.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import java.time.LocalDateTime; + +import com.alibaba.excel.annotation.ExcelProperty; + +/** + * 能耗 Excel VO + * + * @author 芋道源码 + */ +@Data +public class EnergyExcelVO { + + @ExcelProperty("编号") + private Long id; + + @ExcelProperty("日期") + private LocalDateTime dtime; + + @ExcelProperty("PC电脑") + private Integer pc; + + @ExcelProperty("云桌面") + private Integer cdesktop; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/energy/vo/EnergyExportReqVO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/energy/vo/EnergyExportReqVO.java new file mode 100644 index 0000000..4d185d0 --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/energy/vo/EnergyExportReqVO.java @@ -0,0 +1,30 @@ +package cn.iocoder.yudao.module.bikmk.controller.admin.energy.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import java.time.LocalDateTime; +import org.springframework.format.annotation.DateTimeFormat; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 能耗 Excel 导出 Request VO,参数和 EnergyPageReqVO 是一致的") +@Data +public class EnergyExportReqVO { + + @Schema(description = "日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] dtime; + + @Schema(description = "PC电脑") + private Integer pc; + + @Schema(description = "云桌面") + private Integer cdesktop; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/energy/vo/EnergyPageReqVO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/energy/vo/EnergyPageReqVO.java new file mode 100644 index 0000000..904c1ae --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/energy/vo/EnergyPageReqVO.java @@ -0,0 +1,32 @@ +package cn.iocoder.yudao.module.bikmk.controller.admin.energy.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +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 EnergyPageReqVO extends PageParam { + + @Schema(description = "日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] dtime; + + @Schema(description = "PC电脑") + private Integer pc; + + @Schema(description = "云桌面") + private Integer cdesktop; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/energy/vo/EnergyRespVO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/energy/vo/EnergyRespVO.java new file mode 100644 index 0000000..656c91c --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/energy/vo/EnergyRespVO.java @@ -0,0 +1,19 @@ +package cn.iocoder.yudao.module.bikmk.controller.admin.energy.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 能耗 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class EnergyRespVO extends EnergyBaseVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "29802") + private Long id; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/energy/vo/EnergyUpdateReqVO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/energy/vo/EnergyUpdateReqVO.java new file mode 100644 index 0000000..620a19d --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/energy/vo/EnergyUpdateReqVO.java @@ -0,0 +1,18 @@ +package cn.iocoder.yudao.module.bikmk.controller.admin.energy.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; + +@Schema(description = "管理后台 - 能耗更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class EnergyUpdateReqVO extends EnergyBaseVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "29802") + @NotNull(message = "编号不能为空") + private Long id; + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/info/InfoController.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/info/InfoController.java new file mode 100644 index 0000000..b747188 --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/info/InfoController.java @@ -0,0 +1,102 @@ +package cn.iocoder.yudao.module.bikmk.controller.admin.info; + +import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import javax.validation.constraints.*; +import javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; +import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.bikmk.controller.admin.info.vo.*; +import cn.iocoder.yudao.module.bikmk.dal.dataobject.info.InfoDO; +import cn.iocoder.yudao.module.bikmk.convert.info.InfoConvert; +import cn.iocoder.yudao.module.bikmk.service.info.InfoService; + +@Tag(name = "管理后台 - 信息栏") +@RestController +@RequestMapping("/bikmk/info") +@Validated +public class InfoController { + + @Resource + private InfoService infoService; + + @PostMapping("/create") + @Operation(summary = "创建信息栏") + @PreAuthorize("@ss.hasPermission('bikmk:info:create')") + public CommonResult createInfo(@Valid @RequestBody InfoCreateReqVO createReqVO) { + return success(infoService.createInfo(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新信息栏") + @PreAuthorize("@ss.hasPermission('bikmk:info:update')") + public CommonResult updateInfo(@Valid @RequestBody InfoUpdateReqVO updateReqVO) { + infoService.updateInfo(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除信息栏") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('bikmk:info:delete')") + public CommonResult deleteInfo(@RequestParam("id") Long id) { + infoService.deleteInfo(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得信息栏") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('bikmk:info:query')") + public CommonResult getInfo(@RequestParam("id") Long id) { + InfoDO info = infoService.getInfo(id); + return success(InfoConvert.INSTANCE.convert(info)); + } + + @GetMapping("/list") + @Operation(summary = "获得信息栏列表") + @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") + @PreAuthorize("@ss.hasPermission('bikmk:info:query')") + public CommonResult> getInfoList(@RequestParam("ids") Collection ids) { + List list = infoService.getInfoList(ids); + return success(InfoConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @Operation(summary = "获得信息栏分页") + @PreAuthorize("@ss.hasPermission('bikmk:info:query')") + public CommonResult> getInfoPage(@Valid InfoPageReqVO pageVO) { + PageResult pageResult = infoService.getInfoPage(pageVO); + return success(InfoConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出信息栏 Excel") + @PreAuthorize("@ss.hasPermission('bikmk:info:export')") + @OperateLog(type = EXPORT) + public void exportInfoExcel(@Valid InfoExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = infoService.getInfoList(exportReqVO); + // 导出 Excel + List datas = InfoConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "信息栏.xls", "数据", InfoExcelVO.class, datas); + } + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/info/vo/InfoBaseVO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/info/vo/InfoBaseVO.java new file mode 100644 index 0000000..60354c6 --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/info/vo/InfoBaseVO.java @@ -0,0 +1,21 @@ +package cn.iocoder.yudao.module.bikmk.controller.admin.info.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import javax.validation.constraints.*; + +/** + * 信息栏 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class InfoBaseVO { + + @Schema(description = "信息", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "信息不能为空") + private String msg; + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/info/vo/InfoCreateReqVO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/info/vo/InfoCreateReqVO.java new file mode 100644 index 0000000..c6a6547 --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/info/vo/InfoCreateReqVO.java @@ -0,0 +1,14 @@ +package cn.iocoder.yudao.module.bikmk.controller.admin.info.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import javax.validation.constraints.*; + +@Schema(description = "管理后台 - 信息栏创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class InfoCreateReqVO extends InfoBaseVO { + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/info/vo/InfoExcelVO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/info/vo/InfoExcelVO.java new file mode 100644 index 0000000..561732e --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/info/vo/InfoExcelVO.java @@ -0,0 +1,28 @@ +package cn.iocoder.yudao.module.bikmk.controller.admin.info.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; + +import com.alibaba.excel.annotation.ExcelProperty; + +/** + * 信息栏 Excel VO + * + * @author 芋道源码 + */ +@Data +public class InfoExcelVO { + + @ExcelProperty("编号") + private Long id; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @ExcelProperty("信息") + private String msg; + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/info/vo/InfoExportReqVO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/info/vo/InfoExportReqVO.java new file mode 100644 index 0000000..91f4e64 --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/info/vo/InfoExportReqVO.java @@ -0,0 +1,23 @@ +package cn.iocoder.yudao.module.bikmk.controller.admin.info.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import java.time.LocalDateTime; +import org.springframework.format.annotation.DateTimeFormat; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 信息栏 Excel 导出 Request VO,参数和 InfoPageReqVO 是一致的") +@Data +public class InfoExportReqVO { + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "信息") + private String msg; + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/info/vo/InfoPageReqVO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/info/vo/InfoPageReqVO.java new file mode 100644 index 0000000..74500c9 --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/info/vo/InfoPageReqVO.java @@ -0,0 +1,25 @@ +package cn.iocoder.yudao.module.bikmk.controller.admin.info.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +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 InfoPageReqVO extends PageParam { + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "信息") + private String msg; + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/info/vo/InfoRespVO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/info/vo/InfoRespVO.java new file mode 100644 index 0000000..432ad40 --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/info/vo/InfoRespVO.java @@ -0,0 +1,19 @@ +package cn.iocoder.yudao.module.bikmk.controller.admin.info.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 信息栏 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class InfoRespVO extends InfoBaseVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "25829") + private Long id; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/info/vo/InfoUpdateReqVO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/info/vo/InfoUpdateReqVO.java new file mode 100644 index 0000000..4dc9e72 --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/info/vo/InfoUpdateReqVO.java @@ -0,0 +1,18 @@ +package cn.iocoder.yudao.module.bikmk.controller.admin.info.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; + +@Schema(description = "管理后台 - 信息栏更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class InfoUpdateReqVO extends InfoBaseVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "25829") + @NotNull(message = "编号不能为空") + private Long id; + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/policy/PolicyController.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/policy/PolicyController.java index d6afd8f..d1626d8 100644 --- a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/policy/PolicyController.java +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/policy/PolicyController.java @@ -28,7 +28,7 @@ import cn.iocoder.yudao.module.bikmk.dal.dataobject.policy.PolicyDO; import cn.iocoder.yudao.module.bikmk.convert.policy.PolicyConvert; import cn.iocoder.yudao.module.bikmk.service.policy.PolicyService; -@Tag(name = "凯密克BI后台 - 政策动态") +@Tag(name = "管理后台 - 政策动态") @RestController @RequestMapping("/bikmk/policy") @Validated @@ -79,15 +79,6 @@ public class PolicyController { return success(PolicyConvert.INSTANCE.convertList(list)); } - @GetMapping("/listb") - @Operation(summary = "获得政策动态列表B") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('bikmk:policy:query')") - public CommonResult> getPolicyListB(@RequestParam("ids") Collection ids) { - List list = policyService.getPolicyList(ids); - return success(PolicyConvert.INSTANCE.convertList(list)); - } - @GetMapping("/page") @Operation(summary = "获得政策动态分页") @PreAuthorize("@ss.hasPermission('bikmk:policy:query')") diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/policy/vo/PolicyBaseVO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/policy/vo/PolicyBaseVO.java index 184fbda..a0882d1 100644 --- a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/policy/vo/PolicyBaseVO.java +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/policy/vo/PolicyBaseVO.java @@ -14,16 +14,12 @@ import javax.validation.constraints.*; @Data public class PolicyBaseVO { - @Schema(description = "区域", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(description = "区域", requiredMode = Schema.RequiredMode.REQUIRED, example = "x市x区") @NotNull(message = "区域不能为空") private String region; - @Schema(description = "政策信息", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(description = "政策信息", requiredMode = Schema.RequiredMode.REQUIRED, example = "政策A") @NotNull(message = "政策信息不能为空") private String policy; - @Schema(description = "是否显示", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "是否显示不能为空") - private Boolean isshow; - } diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/policy/vo/PolicyExcelVO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/policy/vo/PolicyExcelVO.java index d0f8276..29d93d5 100644 --- a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/policy/vo/PolicyExcelVO.java +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/policy/vo/PolicyExcelVO.java @@ -25,9 +25,6 @@ public class PolicyExcelVO { @ExcelProperty("政策信息") private String policy; - @ExcelProperty("是否显示") - private Boolean isshow; - @ExcelProperty("创建时间") private LocalDateTime createTime; diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/policy/vo/PolicyExportReqVO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/policy/vo/PolicyExportReqVO.java index 5643b34..3b24722 100644 --- a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/policy/vo/PolicyExportReqVO.java +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/policy/vo/PolicyExportReqVO.java @@ -13,15 +13,12 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_ @Data public class PolicyExportReqVO { - @Schema(description = "区域") + @Schema(description = "区域", example = "x市x区") private String region; - @Schema(description = "政策信息") + @Schema(description = "政策信息", example = "政策A") private String policy; - @Schema(description = "是否显示") - private Boolean isshow; - @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/policy/vo/PolicyPageReqVO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/policy/vo/PolicyPageReqVO.java index 10704fb..2f9e05b 100644 --- a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/policy/vo/PolicyPageReqVO.java +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/policy/vo/PolicyPageReqVO.java @@ -15,15 +15,12 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_ @ToString(callSuper = true) public class PolicyPageReqVO extends PageParam { - @Schema(description = "区域") + @Schema(description = "区域", example = "x市x区") private String region; - @Schema(description = "政策信息") + @Schema(description = "政策信息", example = "政策A") private String policy; - @Schema(description = "是否显示") - private Boolean isshow; - @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/project/ProjectController.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/project/ProjectController.java new file mode 100644 index 0000000..fa429f4 --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/project/ProjectController.java @@ -0,0 +1,102 @@ +package cn.iocoder.yudao.module.bikmk.controller.admin.project; + +import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import javax.validation.constraints.*; +import javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; +import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.bikmk.controller.admin.project.vo.*; +import cn.iocoder.yudao.module.bikmk.dal.dataobject.project.ProjectDO; +import cn.iocoder.yudao.module.bikmk.convert.project.ProjectConvert; +import cn.iocoder.yudao.module.bikmk.service.project.ProjectService; + +@Tag(name = "管理后台 - 项目信息") +@RestController +@RequestMapping("/bikmk/project") +@Validated +public class ProjectController { + + @Resource + private ProjectService projectService; + + @PostMapping("/create") + @Operation(summary = "创建项目信息") + @PreAuthorize("@ss.hasPermission('bikmk:project:create')") + public CommonResult createProject(@Valid @RequestBody ProjectCreateReqVO createReqVO) { + return success(projectService.createProject(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新项目信息") + @PreAuthorize("@ss.hasPermission('bikmk:project:update')") + public CommonResult updateProject(@Valid @RequestBody ProjectUpdateReqVO updateReqVO) { + projectService.updateProject(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除项目信息") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('bikmk:project:delete')") + public CommonResult deleteProject(@RequestParam("id") Long id) { + projectService.deleteProject(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得项目信息") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('bikmk:project:query')") + public CommonResult getProject(@RequestParam("id") Long id) { + ProjectDO project = projectService.getProject(id); + return success(ProjectConvert.INSTANCE.convert(project)); + } + + @GetMapping("/list") + @Operation(summary = "获得项目信息列表") + @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") + @PreAuthorize("@ss.hasPermission('bikmk:project:query')") + public CommonResult> getProjectList(@RequestParam("ids") Collection ids) { + List list = projectService.getProjectList(ids); + return success(ProjectConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @Operation(summary = "获得项目信息分页") + @PreAuthorize("@ss.hasPermission('bikmk:project:query')") + public CommonResult> getProjectPage(@Valid ProjectPageReqVO pageVO) { + PageResult pageResult = projectService.getProjectPage(pageVO); + return success(ProjectConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出项目信息 Excel") + @PreAuthorize("@ss.hasPermission('bikmk:project:export')") + @OperateLog(type = EXPORT) + public void exportProjectExcel(@Valid ProjectExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = projectService.getProjectList(exportReqVO); + // 导出 Excel + List datas = ProjectConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "项目信息.xls", "数据", ProjectExcelVO.class, datas); + } + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/project/vo/ProjectBaseVO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/project/vo/ProjectBaseVO.java new file mode 100644 index 0000000..db9143d --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/project/vo/ProjectBaseVO.java @@ -0,0 +1,37 @@ +package cn.iocoder.yudao.module.bikmk.controller.admin.project.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import javax.validation.constraints.*; + +/** + * 项目信息 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class ProjectBaseVO { + + @Schema(description = "客户名", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "客户名不能为空") + private String custom; + + @Schema(description = "区域", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "区域不能为空") + private String region; + + @Schema(description = "类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "类型不能为空") + private String type; + + @Schema(description = "进度17%", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "进度17%不能为空") + private String schedule; + + @Schema(description = "金额xxx元", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "金额xxx元不能为空") + private String money; + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/project/vo/ProjectCreateReqVO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/project/vo/ProjectCreateReqVO.java new file mode 100644 index 0000000..847d7e7 --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/project/vo/ProjectCreateReqVO.java @@ -0,0 +1,14 @@ +package cn.iocoder.yudao.module.bikmk.controller.admin.project.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import javax.validation.constraints.*; + +@Schema(description = "管理后台 - 项目信息创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ProjectCreateReqVO extends ProjectBaseVO { + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/project/vo/ProjectExcelVO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/project/vo/ProjectExcelVO.java new file mode 100644 index 0000000..73e42bd --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/project/vo/ProjectExcelVO.java @@ -0,0 +1,40 @@ +package cn.iocoder.yudao.module.bikmk.controller.admin.project.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; + +import com.alibaba.excel.annotation.ExcelProperty; + +/** + * 项目信息 Excel VO + * + * @author 芋道源码 + */ +@Data +public class ProjectExcelVO { + + @ExcelProperty("编号") + private Long id; + + @ExcelProperty("客户名") + private String custom; + + @ExcelProperty("区域") + private String region; + + @ExcelProperty("类型") + private String type; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @ExcelProperty("进度17%") + private String schedule; + + @ExcelProperty("金额xxx元") + private String money; + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/project/vo/ProjectExportReqVO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/project/vo/ProjectExportReqVO.java new file mode 100644 index 0000000..a135984 --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/project/vo/ProjectExportReqVO.java @@ -0,0 +1,35 @@ +package cn.iocoder.yudao.module.bikmk.controller.admin.project.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import java.time.LocalDateTime; +import org.springframework.format.annotation.DateTimeFormat; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 项目信息 Excel 导出 Request VO,参数和 ProjectPageReqVO 是一致的") +@Data +public class ProjectExportReqVO { + + @Schema(description = "客户名") + private String custom; + + @Schema(description = "区域") + private String region; + + @Schema(description = "类型", example = "1") + private String type; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "进度17%") + private String schedule; + + @Schema(description = "金额xxx元") + private String money; + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/project/vo/ProjectPageReqVO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/project/vo/ProjectPageReqVO.java new file mode 100644 index 0000000..573e49e --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/project/vo/ProjectPageReqVO.java @@ -0,0 +1,37 @@ +package cn.iocoder.yudao.module.bikmk.controller.admin.project.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +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 ProjectPageReqVO extends PageParam { + + @Schema(description = "客户名") + private String custom; + + @Schema(description = "区域") + private String region; + + @Schema(description = "类型", example = "1") + private String type; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "进度17%") + private String schedule; + + @Schema(description = "金额xxx元") + private String money; + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/project/vo/ProjectRespVO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/project/vo/ProjectRespVO.java new file mode 100644 index 0000000..0d72672 --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/project/vo/ProjectRespVO.java @@ -0,0 +1,19 @@ +package cn.iocoder.yudao.module.bikmk.controller.admin.project.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 项目信息 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ProjectRespVO extends ProjectBaseVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "4664") + private Long id; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/project/vo/ProjectUpdateReqVO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/project/vo/ProjectUpdateReqVO.java new file mode 100644 index 0000000..967d2b5 --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/admin/project/vo/ProjectUpdateReqVO.java @@ -0,0 +1,18 @@ +package cn.iocoder.yudao.module.bikmk.controller.admin.project.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; + +@Schema(description = "管理后台 - 项目信息更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ProjectUpdateReqVO extends ProjectBaseVO { + + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "4664") + @NotNull(message = "编号不能为空") + private Long id; + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/app/distribution/AppDistributionController.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/app/distribution/AppDistributionController.java deleted file mode 100644 index f2fbc15..0000000 --- a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/app/distribution/AppDistributionController.java +++ /dev/null @@ -1,36 +0,0 @@ -package cn.iocoder.yudao.module.bikmk.controller.app.distribution; - -import cn.iocoder.yudao.framework.common.pojo.CommonResult; -import cn.iocoder.yudao.module.bikmk.controller.admin.distribution.vo.DistributionRespVO; -import cn.iocoder.yudao.module.bikmk.convert.distribution.DistributionConvert; -import cn.iocoder.yudao.module.bikmk.dal.dataobject.distribution.DistributionDO; -import cn.iocoder.yudao.module.bikmk.service.distribution.DistributionService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import javax.annotation.Resource; -import java.util.List; - -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; -import cn.iocoder.yudao.framework.datapermission.core.annotation.DataPermission; - -@Tag(name = "凯密克AI - 项目主要分布") -@RestController -@RequestMapping("/bikmk/distribution") -@Validated -public class AppDistributionController { - @Resource - private DistributionService distributionService; - - @GetMapping("/list") - @Operation(summary = "获得政策动态列表") - @DataPermission(enable = false) - public CommonResult> getAppDistributionList() { - List list = distributionService.getAppDistributionList(); - return success(DistributionConvert.INSTANCE.convertList(list)); - } -} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/app/policy/AppPolicyController.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/app/policy/AppPolicyController.java deleted file mode 100644 index a850dd6..0000000 --- a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/controller/app/policy/AppPolicyController.java +++ /dev/null @@ -1,34 +0,0 @@ -package cn.iocoder.yudao.module.bikmk.controller.app.policy; - -import cn.iocoder.yudao.framework.common.pojo.CommonResult; -import cn.iocoder.yudao.module.bikmk.controller.admin.policy.vo.PolicyRespVO; -import cn.iocoder.yudao.module.bikmk.convert.policy.PolicyConvert; -import cn.iocoder.yudao.module.bikmk.dal.dataobject.policy.PolicyDO; -import cn.iocoder.yudao.module.bikmk.service.policy.PolicyService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import javax.annotation.Resource; -import java.util.List; - -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; - -@Tag(name = "凯密克 - 政策动态") -@RestController -@RequestMapping("/bikmk/policy") -@Validated -public class AppPolicyController { - @Resource - private PolicyService policyService; - - @GetMapping("/list") - @Operation(summary = "获得政策动态列表") - public CommonResult> getPolicyList() { - List list = policyService.getAppPolicyList(); - return success(PolicyConvert.INSTANCE.convertList(list)); - } -} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/convert/areaproject/AreaProjectConvert.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/convert/areaproject/AreaProjectConvert.java new file mode 100644 index 0000000..35f48aa --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/convert/areaproject/AreaProjectConvert.java @@ -0,0 +1,34 @@ +package cn.iocoder.yudao.module.bikmk.convert.areaproject; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; +import cn.iocoder.yudao.module.bikmk.controller.admin.areaproject.vo.*; +import cn.iocoder.yudao.module.bikmk.dal.dataobject.areaproject.AreaProjectDO; + +/** + * 信息对比 Convert + * + * @author 芋道源码 + */ +@Mapper +public interface AreaProjectConvert { + + AreaProjectConvert INSTANCE = Mappers.getMapper(AreaProjectConvert.class); + + AreaProjectDO convert(AreaProjectCreateReqVO bean); + + AreaProjectDO convert(AreaProjectUpdateReqVO bean); + + AreaProjectRespVO convert(AreaProjectDO bean); + + List convertList(List list); + + PageResult convertPage(PageResult page); + + List convertList02(List list); + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/convert/energy/EnergyConvert.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/convert/energy/EnergyConvert.java new file mode 100644 index 0000000..e430fc7 --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/convert/energy/EnergyConvert.java @@ -0,0 +1,34 @@ +package cn.iocoder.yudao.module.bikmk.convert.energy; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; +import cn.iocoder.yudao.module.bikmk.controller.admin.energy.vo.*; +import cn.iocoder.yudao.module.bikmk.dal.dataobject.energy.EnergyDO; + +/** + * 能耗 Convert + * + * @author 芋道源码 + */ +@Mapper +public interface EnergyConvert { + + EnergyConvert INSTANCE = Mappers.getMapper(EnergyConvert.class); + + EnergyDO convert(EnergyCreateReqVO bean); + + EnergyDO convert(EnergyUpdateReqVO bean); + + EnergyRespVO convert(EnergyDO bean); + + List convertList(List list); + + PageResult convertPage(PageResult page); + + List convertList02(List list); + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/convert/info/InfoConvert.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/convert/info/InfoConvert.java new file mode 100644 index 0000000..68d8297 --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/convert/info/InfoConvert.java @@ -0,0 +1,34 @@ +package cn.iocoder.yudao.module.bikmk.convert.info; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; +import cn.iocoder.yudao.module.bikmk.controller.admin.info.vo.*; +import cn.iocoder.yudao.module.bikmk.dal.dataobject.info.InfoDO; + +/** + * 信息栏 Convert + * + * @author 芋道源码 + */ +@Mapper +public interface InfoConvert { + + InfoConvert INSTANCE = Mappers.getMapper(InfoConvert.class); + + InfoDO convert(InfoCreateReqVO bean); + + InfoDO convert(InfoUpdateReqVO bean); + + InfoRespVO convert(InfoDO bean); + + List convertList(List list); + + PageResult convertPage(PageResult page); + + List convertList02(List list); + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/convert/project/ProjectConvert.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/convert/project/ProjectConvert.java new file mode 100644 index 0000000..1ae8f6f --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/convert/project/ProjectConvert.java @@ -0,0 +1,34 @@ +package cn.iocoder.yudao.module.bikmk.convert.project; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; +import cn.iocoder.yudao.module.bikmk.controller.admin.project.vo.*; +import cn.iocoder.yudao.module.bikmk.dal.dataobject.project.ProjectDO; + +/** + * 项目信息 Convert + * + * @author 芋道源码 + */ +@Mapper +public interface ProjectConvert { + + ProjectConvert INSTANCE = Mappers.getMapper(ProjectConvert.class); + + ProjectDO convert(ProjectCreateReqVO bean); + + ProjectDO convert(ProjectUpdateReqVO bean); + + ProjectRespVO convert(ProjectDO bean); + + List convertList(List list); + + PageResult convertPage(PageResult page); + + List convertList02(List list); + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/dal/dataobject/areaproject/AreaProjectDO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/dal/dataobject/areaproject/AreaProjectDO.java new file mode 100644 index 0000000..428ab4a --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/dal/dataobject/areaproject/AreaProjectDO.java @@ -0,0 +1,43 @@ +package cn.iocoder.yudao.module.bikmk.dal.dataobject.areaproject; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 信息对比 DO + * + * @author 芋道源码 + */ +@TableName("bikmk_area_project") +@KeySequence("bikmk_area_project_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class AreaProjectDO extends BaseDO { + + /** + * 编号 + */ + @TableId + private Long id; + /** + * 区域 + */ + private String region; + /** + * 进度17% + */ + private String schedule; + /** + * 金额xxx万 + */ + private String money; + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/dal/dataobject/distribution/DistributionDO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/dal/dataobject/distribution/DistributionDO.java index bc605ef..092df18 100644 --- a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/dal/dataobject/distribution/DistributionDO.java +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/dal/dataobject/distribution/DistributionDO.java @@ -31,13 +31,13 @@ public class DistributionDO extends BaseDO { * 区域名称 */ private String name; - /** - * 地图圆圈大小 - */ - private String value; /** * 坐标 */ private String position; + /** + * 地图圆圈大小 + */ + private Integer value; } diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/dal/dataobject/energy/EnergyDO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/dal/dataobject/energy/EnergyDO.java new file mode 100644 index 0000000..ffcd3c0 --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/dal/dataobject/energy/EnergyDO.java @@ -0,0 +1,44 @@ +package cn.iocoder.yudao.module.bikmk.dal.dataobject.energy; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 能耗 DO + * + * @author 芋道源码 + */ +@TableName("bikmk_energy") +@KeySequence("bikmk_energy_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class EnergyDO extends BaseDO { + + /** + * 编号 + */ + @TableId + private Long id; + /** + * 日期 + */ + private LocalDateTime dtime; + /** + * PC电脑 + */ + private Integer pc; + /** + * 云桌面 + */ + private Integer cdesktop; + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/dal/dataobject/info/InfoDO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/dal/dataobject/info/InfoDO.java new file mode 100644 index 0000000..557f2be --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/dal/dataobject/info/InfoDO.java @@ -0,0 +1,35 @@ +package cn.iocoder.yudao.module.bikmk.dal.dataobject.info; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 信息栏 DO + * + * @author 芋道源码 + */ +@TableName("bikmk_info") +@KeySequence("bikmk_info_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class InfoDO extends BaseDO { + + /** + * 编号 + */ + @TableId + private Long id; + /** + * 信息 + */ + private String msg; + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/dal/dataobject/policy/PolicyDO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/dal/dataobject/policy/PolicyDO.java index be82dbd..a7b95cb 100644 --- a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/dal/dataobject/policy/PolicyDO.java +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/dal/dataobject/policy/PolicyDO.java @@ -35,9 +35,5 @@ public class PolicyDO extends BaseDO { * 政策信息 */ private String policy; - /** - * 是否显示 - */ - private Boolean isshow; } diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/dal/dataobject/project/ProjectDO.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/dal/dataobject/project/ProjectDO.java new file mode 100644 index 0000000..a60ebb2 --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/dal/dataobject/project/ProjectDO.java @@ -0,0 +1,51 @@ +package cn.iocoder.yudao.module.bikmk.dal.dataobject.project; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 项目信息 DO + * + * @author 芋道源码 + */ +@TableName("bikmk_project") +@KeySequence("bikmk_project_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ProjectDO extends BaseDO { + + /** + * 编号 + */ + @TableId + private Long id; + /** + * 客户名 + */ + private String custom; + /** + * 区域 + */ + private String region; + /** + * 类型 + */ + private String type; + /** + * 进度17% + */ + private String schedule; + /** + * 金额xxx元 + */ + private String money; + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/dal/mysql/areaproject/AreaProjectMapper.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/dal/mysql/areaproject/AreaProjectMapper.java new file mode 100644 index 0000000..4c46b97 --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/dal/mysql/areaproject/AreaProjectMapper.java @@ -0,0 +1,38 @@ +package cn.iocoder.yudao.module.bikmk.dal.mysql.areaproject; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.bikmk.dal.dataobject.areaproject.AreaProjectDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.bikmk.controller.admin.areaproject.vo.*; + +/** + * 信息对比 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface AreaProjectMapper extends BaseMapperX { + + default PageResult selectPage(AreaProjectPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(AreaProjectDO::getRegion, reqVO.getRegion()) + .eqIfPresent(AreaProjectDO::getSchedule, reqVO.getSchedule()) + .eqIfPresent(AreaProjectDO::getMoney, reqVO.getMoney()) + .betweenIfPresent(AreaProjectDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(AreaProjectDO::getId)); + } + + default List selectList(AreaProjectExportReqVO reqVO) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(AreaProjectDO::getRegion, reqVO.getRegion()) + .eqIfPresent(AreaProjectDO::getSchedule, reqVO.getSchedule()) + .eqIfPresent(AreaProjectDO::getMoney, reqVO.getMoney()) + .betweenIfPresent(AreaProjectDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(AreaProjectDO::getId)); + } + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/dal/mysql/distribution/DistributionMapper.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/dal/mysql/distribution/DistributionMapper.java index 68a0c80..5fc678e 100644 --- a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/dal/mysql/distribution/DistributionMapper.java +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/dal/mysql/distribution/DistributionMapper.java @@ -20,18 +20,18 @@ public interface DistributionMapper extends BaseMapperX { default PageResult selectPage(DistributionPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .likeIfPresent(DistributionDO::getName, reqVO.getName()) - .eqIfPresent(DistributionDO::getValue, reqVO.getValue()) .eqIfPresent(DistributionDO::getPosition, reqVO.getPosition()) .betweenIfPresent(DistributionDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(DistributionDO::getValue, reqVO.getValue()) .orderByDesc(DistributionDO::getId)); } default List selectList(DistributionExportReqVO reqVO) { return selectList(new LambdaQueryWrapperX() .likeIfPresent(DistributionDO::getName, reqVO.getName()) - .eqIfPresent(DistributionDO::getValue, reqVO.getValue()) .eqIfPresent(DistributionDO::getPosition, reqVO.getPosition()) .betweenIfPresent(DistributionDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(DistributionDO::getValue, reqVO.getValue()) .orderByDesc(DistributionDO::getId)); } diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/dal/mysql/energy/EnergyMapper.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/dal/mysql/energy/EnergyMapper.java new file mode 100644 index 0000000..60d8738 --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/dal/mysql/energy/EnergyMapper.java @@ -0,0 +1,38 @@ +package cn.iocoder.yudao.module.bikmk.dal.mysql.energy; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.bikmk.dal.dataobject.energy.EnergyDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.bikmk.controller.admin.energy.vo.*; + +/** + * 能耗 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface EnergyMapper extends BaseMapperX { + + default PageResult selectPage(EnergyPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .betweenIfPresent(EnergyDO::getDtime, reqVO.getDtime()) + .eqIfPresent(EnergyDO::getPc, reqVO.getPc()) + .eqIfPresent(EnergyDO::getCdesktop, reqVO.getCdesktop()) + .betweenIfPresent(EnergyDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(EnergyDO::getId)); + } + + default List selectList(EnergyExportReqVO reqVO) { + return selectList(new LambdaQueryWrapperX() + .betweenIfPresent(EnergyDO::getDtime, reqVO.getDtime()) + .eqIfPresent(EnergyDO::getPc, reqVO.getPc()) + .eqIfPresent(EnergyDO::getCdesktop, reqVO.getCdesktop()) + .betweenIfPresent(EnergyDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(EnergyDO::getId)); + } + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/dal/mysql/info/InfoMapper.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/dal/mysql/info/InfoMapper.java new file mode 100644 index 0000000..ef44bae --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/dal/mysql/info/InfoMapper.java @@ -0,0 +1,34 @@ +package cn.iocoder.yudao.module.bikmk.dal.mysql.info; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.bikmk.dal.dataobject.info.InfoDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.bikmk.controller.admin.info.vo.*; + +/** + * 信息栏 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface InfoMapper extends BaseMapperX { + + default PageResult selectPage(InfoPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .betweenIfPresent(InfoDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(InfoDO::getMsg, reqVO.getMsg()) + .orderByDesc(InfoDO::getId)); + } + + default List selectList(InfoExportReqVO reqVO) { + return selectList(new LambdaQueryWrapperX() + .betweenIfPresent(InfoDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(InfoDO::getMsg, reqVO.getMsg()) + .orderByDesc(InfoDO::getId)); + } + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/dal/mysql/policy/PolicyMapper.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/dal/mysql/policy/PolicyMapper.java index 8e2e97f..737e63d 100644 --- a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/dal/mysql/policy/PolicyMapper.java +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/dal/mysql/policy/PolicyMapper.java @@ -21,7 +21,6 @@ public interface PolicyMapper extends BaseMapperX { return selectPage(reqVO, new LambdaQueryWrapperX() .eqIfPresent(PolicyDO::getRegion, reqVO.getRegion()) .eqIfPresent(PolicyDO::getPolicy, reqVO.getPolicy()) - .eqIfPresent(PolicyDO::getIsshow, reqVO.getIsshow()) .betweenIfPresent(PolicyDO::getCreateTime, reqVO.getCreateTime()) .orderByDesc(PolicyDO::getId)); } @@ -30,7 +29,6 @@ public interface PolicyMapper extends BaseMapperX { return selectList(new LambdaQueryWrapperX() .eqIfPresent(PolicyDO::getRegion, reqVO.getRegion()) .eqIfPresent(PolicyDO::getPolicy, reqVO.getPolicy()) - .eqIfPresent(PolicyDO::getIsshow, reqVO.getIsshow()) .betweenIfPresent(PolicyDO::getCreateTime, reqVO.getCreateTime()) .orderByDesc(PolicyDO::getId)); } diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/dal/mysql/project/ProjectMapper.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/dal/mysql/project/ProjectMapper.java new file mode 100644 index 0000000..795885e --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/dal/mysql/project/ProjectMapper.java @@ -0,0 +1,42 @@ +package cn.iocoder.yudao.module.bikmk.dal.mysql.project; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.bikmk.dal.dataobject.project.ProjectDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.bikmk.controller.admin.project.vo.*; + +/** + * 项目信息 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface ProjectMapper extends BaseMapperX { + + default PageResult selectPage(ProjectPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(ProjectDO::getCustom, reqVO.getCustom()) + .eqIfPresent(ProjectDO::getRegion, reqVO.getRegion()) + .eqIfPresent(ProjectDO::getType, reqVO.getType()) + .betweenIfPresent(ProjectDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(ProjectDO::getSchedule, reqVO.getSchedule()) + .eqIfPresent(ProjectDO::getMoney, reqVO.getMoney()) + .orderByDesc(ProjectDO::getId)); + } + + default List selectList(ProjectExportReqVO reqVO) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(ProjectDO::getCustom, reqVO.getCustom()) + .eqIfPresent(ProjectDO::getRegion, reqVO.getRegion()) + .eqIfPresent(ProjectDO::getType, reqVO.getType()) + .betweenIfPresent(ProjectDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(ProjectDO::getSchedule, reqVO.getSchedule()) + .eqIfPresent(ProjectDO::getMoney, reqVO.getMoney()) + .orderByDesc(ProjectDO::getId)); + } + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/service/areaproject/AreaProjectService.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/service/areaproject/AreaProjectService.java new file mode 100644 index 0000000..2e3a84d --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/service/areaproject/AreaProjectService.java @@ -0,0 +1,70 @@ +package cn.iocoder.yudao.module.bikmk.service.areaproject; + +import java.util.*; +import javax.validation.*; +import cn.iocoder.yudao.module.bikmk.controller.admin.areaproject.vo.*; +import cn.iocoder.yudao.module.bikmk.dal.dataobject.areaproject.AreaProjectDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +/** + * 信息对比 Service 接口 + * + * @author 芋道源码 + */ +public interface AreaProjectService { + + /** + * 创建信息对比 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createAreaProject(@Valid AreaProjectCreateReqVO createReqVO); + + /** + * 更新信息对比 + * + * @param updateReqVO 更新信息 + */ + void updateAreaProject(@Valid AreaProjectUpdateReqVO updateReqVO); + + /** + * 删除信息对比 + * + * @param id 编号 + */ + void deleteAreaProject(Long id); + + /** + * 获得信息对比 + * + * @param id 编号 + * @return 信息对比 + */ + AreaProjectDO getAreaProject(Long id); + + /** + * 获得信息对比列表 + * + * @param ids 编号 + * @return 信息对比列表 + */ + List getAreaProjectList(Collection ids); + + /** + * 获得信息对比分页 + * + * @param pageReqVO 分页查询 + * @return 信息对比分页 + */ + PageResult getAreaProjectPage(AreaProjectPageReqVO pageReqVO); + + /** + * 获得信息对比列表, 用于 Excel 导出 + * + * @param exportReqVO 查询条件 + * @return 信息对比列表 + */ + List getAreaProjectList(AreaProjectExportReqVO exportReqVO); + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/service/areaproject/AreaProjectServiceImpl.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/service/areaproject/AreaProjectServiceImpl.java new file mode 100644 index 0000000..8002607 --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/service/areaproject/AreaProjectServiceImpl.java @@ -0,0 +1,82 @@ +package cn.iocoder.yudao.module.bikmk.service.areaproject; + +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; + +import java.util.*; +import cn.iocoder.yudao.module.bikmk.controller.admin.areaproject.vo.*; +import cn.iocoder.yudao.module.bikmk.dal.dataobject.areaproject.AreaProjectDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import cn.iocoder.yudao.module.bikmk.convert.areaproject.AreaProjectConvert; +import cn.iocoder.yudao.module.bikmk.dal.mysql.areaproject.AreaProjectMapper; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.bikmk.enums.ErrorCodeConstants.*; + +/** + * 信息对比 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class AreaProjectServiceImpl implements AreaProjectService { + + @Resource + private AreaProjectMapper areaProjectMapper; + + @Override + public Long createAreaProject(AreaProjectCreateReqVO createReqVO) { + // 插入 + AreaProjectDO areaProject = AreaProjectConvert.INSTANCE.convert(createReqVO); + areaProjectMapper.insert(areaProject); + // 返回 + return areaProject.getId(); + } + + @Override + public void updateAreaProject(AreaProjectUpdateReqVO updateReqVO) { + // 校验存在 + validateAreaProjectExists(updateReqVO.getId()); + // 更新 + AreaProjectDO updateObj = AreaProjectConvert.INSTANCE.convert(updateReqVO); + areaProjectMapper.updateById(updateObj); + } + + @Override + public void deleteAreaProject(Long id) { + // 校验存在 + validateAreaProjectExists(id); + // 删除 + areaProjectMapper.deleteById(id); + } + + private void validateAreaProjectExists(Long id) { + if (areaProjectMapper.selectById(id) == null) { + throw exception(AREA_PROJECT_NOT_EXISTS); + } + } + + @Override + public AreaProjectDO getAreaProject(Long id) { + return areaProjectMapper.selectById(id); + } + + @Override + public List getAreaProjectList(Collection ids) { + return areaProjectMapper.selectBatchIds(ids); + } + + @Override + public PageResult getAreaProjectPage(AreaProjectPageReqVO pageReqVO) { + return areaProjectMapper.selectPage(pageReqVO); + } + + @Override + public List getAreaProjectList(AreaProjectExportReqVO exportReqVO) { + return areaProjectMapper.selectList(exportReqVO); + } + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/service/distribution/DistributionService.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/service/distribution/DistributionService.java index 9ca86a1..b754389 100644 --- a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/service/distribution/DistributionService.java +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/service/distribution/DistributionService.java @@ -50,7 +50,6 @@ public interface DistributionService { * @return 项目主要分布列表 */ List getDistributionList(Collection ids); - List getAppDistributionList(); /** * 获得项目主要分布分页 diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/service/distribution/DistributionServiceImpl.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/service/distribution/DistributionServiceImpl.java index fcca76c..9e8a7c6 100644 --- a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/service/distribution/DistributionServiceImpl.java +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/service/distribution/DistributionServiceImpl.java @@ -69,11 +69,6 @@ public class DistributionServiceImpl implements DistributionService { return distributionMapper.selectBatchIds(ids); } - @Override - public List getAppDistributionList() { - return distributionMapper.selectList(); - } - @Override public PageResult getDistributionPage(DistributionPageReqVO pageReqVO) { return distributionMapper.selectPage(pageReqVO); diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/service/energy/EnergyService.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/service/energy/EnergyService.java new file mode 100644 index 0000000..1936bad --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/service/energy/EnergyService.java @@ -0,0 +1,70 @@ +package cn.iocoder.yudao.module.bikmk.service.energy; + +import java.util.*; +import javax.validation.*; +import cn.iocoder.yudao.module.bikmk.controller.admin.energy.vo.*; +import cn.iocoder.yudao.module.bikmk.dal.dataobject.energy.EnergyDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +/** + * 能耗 Service 接口 + * + * @author 芋道源码 + */ +public interface EnergyService { + + /** + * 创建能耗 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createEnergy(@Valid EnergyCreateReqVO createReqVO); + + /** + * 更新能耗 + * + * @param updateReqVO 更新信息 + */ + void updateEnergy(@Valid EnergyUpdateReqVO updateReqVO); + + /** + * 删除能耗 + * + * @param id 编号 + */ + void deleteEnergy(Long id); + + /** + * 获得能耗 + * + * @param id 编号 + * @return 能耗 + */ + EnergyDO getEnergy(Long id); + + /** + * 获得能耗列表 + * + * @param ids 编号 + * @return 能耗列表 + */ + List getEnergyList(Collection ids); + + /** + * 获得能耗分页 + * + * @param pageReqVO 分页查询 + * @return 能耗分页 + */ + PageResult getEnergyPage(EnergyPageReqVO pageReqVO); + + /** + * 获得能耗列表, 用于 Excel 导出 + * + * @param exportReqVO 查询条件 + * @return 能耗列表 + */ + List getEnergyList(EnergyExportReqVO exportReqVO); + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/service/energy/EnergyServiceImpl.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/service/energy/EnergyServiceImpl.java new file mode 100644 index 0000000..9c2c362 --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/service/energy/EnergyServiceImpl.java @@ -0,0 +1,82 @@ +package cn.iocoder.yudao.module.bikmk.service.energy; + +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; + +import java.util.*; +import cn.iocoder.yudao.module.bikmk.controller.admin.energy.vo.*; +import cn.iocoder.yudao.module.bikmk.dal.dataobject.energy.EnergyDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import cn.iocoder.yudao.module.bikmk.convert.energy.EnergyConvert; +import cn.iocoder.yudao.module.bikmk.dal.mysql.energy.EnergyMapper; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.bikmk.enums.ErrorCodeConstants.*; + +/** + * 能耗 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class EnergyServiceImpl implements EnergyService { + + @Resource + private EnergyMapper energyMapper; + + @Override + public Long createEnergy(EnergyCreateReqVO createReqVO) { + // 插入 + EnergyDO energy = EnergyConvert.INSTANCE.convert(createReqVO); + energyMapper.insert(energy); + // 返回 + return energy.getId(); + } + + @Override + public void updateEnergy(EnergyUpdateReqVO updateReqVO) { + // 校验存在 + validateEnergyExists(updateReqVO.getId()); + // 更新 + EnergyDO updateObj = EnergyConvert.INSTANCE.convert(updateReqVO); + energyMapper.updateById(updateObj); + } + + @Override + public void deleteEnergy(Long id) { + // 校验存在 + validateEnergyExists(id); + // 删除 + energyMapper.deleteById(id); + } + + private void validateEnergyExists(Long id) { + if (energyMapper.selectById(id) == null) { + throw exception(ENERGY_NOT_EXISTS); + } + } + + @Override + public EnergyDO getEnergy(Long id) { + return energyMapper.selectById(id); + } + + @Override + public List getEnergyList(Collection ids) { + return energyMapper.selectBatchIds(ids); + } + + @Override + public PageResult getEnergyPage(EnergyPageReqVO pageReqVO) { + return energyMapper.selectPage(pageReqVO); + } + + @Override + public List getEnergyList(EnergyExportReqVO exportReqVO) { + return energyMapper.selectList(exportReqVO); + } + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/service/info/InfoService.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/service/info/InfoService.java new file mode 100644 index 0000000..af251e0 --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/service/info/InfoService.java @@ -0,0 +1,70 @@ +package cn.iocoder.yudao.module.bikmk.service.info; + +import java.util.*; +import javax.validation.*; +import cn.iocoder.yudao.module.bikmk.controller.admin.info.vo.*; +import cn.iocoder.yudao.module.bikmk.dal.dataobject.info.InfoDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +/** + * 信息栏 Service 接口 + * + * @author 芋道源码 + */ +public interface InfoService { + + /** + * 创建信息栏 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createInfo(@Valid InfoCreateReqVO createReqVO); + + /** + * 更新信息栏 + * + * @param updateReqVO 更新信息 + */ + void updateInfo(@Valid InfoUpdateReqVO updateReqVO); + + /** + * 删除信息栏 + * + * @param id 编号 + */ + void deleteInfo(Long id); + + /** + * 获得信息栏 + * + * @param id 编号 + * @return 信息栏 + */ + InfoDO getInfo(Long id); + + /** + * 获得信息栏列表 + * + * @param ids 编号 + * @return 信息栏列表 + */ + List getInfoList(Collection ids); + + /** + * 获得信息栏分页 + * + * @param pageReqVO 分页查询 + * @return 信息栏分页 + */ + PageResult getInfoPage(InfoPageReqVO pageReqVO); + + /** + * 获得信息栏列表, 用于 Excel 导出 + * + * @param exportReqVO 查询条件 + * @return 信息栏列表 + */ + List getInfoList(InfoExportReqVO exportReqVO); + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/service/info/InfoServiceImpl.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/service/info/InfoServiceImpl.java new file mode 100644 index 0000000..bdeb804 --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/service/info/InfoServiceImpl.java @@ -0,0 +1,82 @@ +package cn.iocoder.yudao.module.bikmk.service.info; + +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; + +import java.util.*; +import cn.iocoder.yudao.module.bikmk.controller.admin.info.vo.*; +import cn.iocoder.yudao.module.bikmk.dal.dataobject.info.InfoDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import cn.iocoder.yudao.module.bikmk.convert.info.InfoConvert; +import cn.iocoder.yudao.module.bikmk.dal.mysql.info.InfoMapper; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.bikmk.enums.ErrorCodeConstants.*; + +/** + * 信息栏 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class InfoServiceImpl implements InfoService { + + @Resource + private InfoMapper infoMapper; + + @Override + public Long createInfo(InfoCreateReqVO createReqVO) { + // 插入 + InfoDO info = InfoConvert.INSTANCE.convert(createReqVO); + infoMapper.insert(info); + // 返回 + return info.getId(); + } + + @Override + public void updateInfo(InfoUpdateReqVO updateReqVO) { + // 校验存在 + validateInfoExists(updateReqVO.getId()); + // 更新 + InfoDO updateObj = InfoConvert.INSTANCE.convert(updateReqVO); + infoMapper.updateById(updateObj); + } + + @Override + public void deleteInfo(Long id) { + // 校验存在 + validateInfoExists(id); + // 删除 + infoMapper.deleteById(id); + } + + private void validateInfoExists(Long id) { + if (infoMapper.selectById(id) == null) { + throw exception(INFO_NOT_EXISTS); + } + } + + @Override + public InfoDO getInfo(Long id) { + return infoMapper.selectById(id); + } + + @Override + public List getInfoList(Collection ids) { + return infoMapper.selectBatchIds(ids); + } + + @Override + public PageResult getInfoPage(InfoPageReqVO pageReqVO) { + return infoMapper.selectPage(pageReqVO); + } + + @Override + public List getInfoList(InfoExportReqVO exportReqVO) { + return infoMapper.selectList(exportReqVO); + } + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/service/policy/PolicyService.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/service/policy/PolicyService.java index aaa3258..e5f0c78 100644 --- a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/service/policy/PolicyService.java +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/service/policy/PolicyService.java @@ -50,7 +50,6 @@ public interface PolicyService { * @return 政策动态列表 */ List getPolicyList(Collection ids); - List getAppPolicyList(); /** * 获得政策动态分页 diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/service/policy/PolicyServiceImpl.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/service/policy/PolicyServiceImpl.java index f303b5f..0654d31 100644 --- a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/service/policy/PolicyServiceImpl.java +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/service/policy/PolicyServiceImpl.java @@ -69,11 +69,6 @@ public class PolicyServiceImpl implements PolicyService { return policyMapper.selectBatchIds(ids); } - @Override - public List getAppPolicyList() { - return policyMapper.selectList(); - } - @Override public PageResult getPolicyPage(PolicyPageReqVO pageReqVO) { return policyMapper.selectPage(pageReqVO); diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/service/project/ProjectService.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/service/project/ProjectService.java new file mode 100644 index 0000000..f95f1fb --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/service/project/ProjectService.java @@ -0,0 +1,70 @@ +package cn.iocoder.yudao.module.bikmk.service.project; + +import java.util.*; +import javax.validation.*; +import cn.iocoder.yudao.module.bikmk.controller.admin.project.vo.*; +import cn.iocoder.yudao.module.bikmk.dal.dataobject.project.ProjectDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +/** + * 项目信息 Service 接口 + * + * @author 芋道源码 + */ +public interface ProjectService { + + /** + * 创建项目信息 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createProject(@Valid ProjectCreateReqVO createReqVO); + + /** + * 更新项目信息 + * + * @param updateReqVO 更新信息 + */ + void updateProject(@Valid ProjectUpdateReqVO updateReqVO); + + /** + * 删除项目信息 + * + * @param id 编号 + */ + void deleteProject(Long id); + + /** + * 获得项目信息 + * + * @param id 编号 + * @return 项目信息 + */ + ProjectDO getProject(Long id); + + /** + * 获得项目信息列表 + * + * @param ids 编号 + * @return 项目信息列表 + */ + List getProjectList(Collection ids); + + /** + * 获得项目信息分页 + * + * @param pageReqVO 分页查询 + * @return 项目信息分页 + */ + PageResult getProjectPage(ProjectPageReqVO pageReqVO); + + /** + * 获得项目信息列表, 用于 Excel 导出 + * + * @param exportReqVO 查询条件 + * @return 项目信息列表 + */ + List getProjectList(ProjectExportReqVO exportReqVO); + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/service/project/ProjectServiceImpl.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/service/project/ProjectServiceImpl.java new file mode 100644 index 0000000..c6eeedc --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/java/cn/iocoder/yudao/module/bikmk/service/project/ProjectServiceImpl.java @@ -0,0 +1,82 @@ +package cn.iocoder.yudao.module.bikmk.service.project; + +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; + +import java.util.*; +import cn.iocoder.yudao.module.bikmk.controller.admin.project.vo.*; +import cn.iocoder.yudao.module.bikmk.dal.dataobject.project.ProjectDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import cn.iocoder.yudao.module.bikmk.convert.project.ProjectConvert; +import cn.iocoder.yudao.module.bikmk.dal.mysql.project.ProjectMapper; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.bikmk.enums.ErrorCodeConstants.*; + +/** + * 项目信息 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class ProjectServiceImpl implements ProjectService { + + @Resource + private ProjectMapper projectMapper; + + @Override + public Long createProject(ProjectCreateReqVO createReqVO) { + // 插入 + ProjectDO project = ProjectConvert.INSTANCE.convert(createReqVO); + projectMapper.insert(project); + // 返回 + return project.getId(); + } + + @Override + public void updateProject(ProjectUpdateReqVO updateReqVO) { + // 校验存在 + validateProjectExists(updateReqVO.getId()); + // 更新 + ProjectDO updateObj = ProjectConvert.INSTANCE.convert(updateReqVO); + projectMapper.updateById(updateObj); + } + + @Override + public void deleteProject(Long id) { + // 校验存在 + validateProjectExists(id); + // 删除 + projectMapper.deleteById(id); + } + + private void validateProjectExists(Long id) { + if (projectMapper.selectById(id) == null) { + throw exception(PROJECT_NOT_EXISTS); + } + } + + @Override + public ProjectDO getProject(Long id) { + return projectMapper.selectById(id); + } + + @Override + public List getProjectList(Collection ids) { + return projectMapper.selectBatchIds(ids); + } + + @Override + public PageResult getProjectPage(ProjectPageReqVO pageReqVO) { + return projectMapper.selectPage(pageReqVO); + } + + @Override + public List getProjectList(ProjectExportReqVO exportReqVO) { + return projectMapper.selectList(exportReqVO); + } + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/resources/mapper/areaproject/AreaProjectMapper.xml b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/resources/mapper/areaproject/AreaProjectMapper.xml new file mode 100644 index 0000000..18f56a4 --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/resources/mapper/areaproject/AreaProjectMapper.xml @@ -0,0 +1,12 @@ + + + + + + + diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/resources/mapper/energy/EnergyMapper.xml b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/resources/mapper/energy/EnergyMapper.xml new file mode 100644 index 0000000..d249c89 --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/resources/mapper/energy/EnergyMapper.xml @@ -0,0 +1,12 @@ + + + + + + + diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/resources/mapper/info/InfoMapper.xml b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/resources/mapper/info/InfoMapper.xml new file mode 100644 index 0000000..9ab4dff --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/resources/mapper/info/InfoMapper.xml @@ -0,0 +1,12 @@ + + + + + + + diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/resources/mapper/project/ProjectMapper.xml b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/resources/mapper/project/ProjectMapper.xml new file mode 100644 index 0000000..325758c --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/main/resources/mapper/project/ProjectMapper.xml @@ -0,0 +1,12 @@ + + + + + + + diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/test/java/cn/iocoder/yudao/module/bikmk/service/areaproject/AreaProjectServiceImplTest.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/test/java/cn/iocoder/yudao/module/bikmk/service/areaproject/AreaProjectServiceImplTest.java new file mode 100644 index 0000000..ff973e3 --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/test/java/cn/iocoder/yudao/module/bikmk/service/areaproject/AreaProjectServiceImplTest.java @@ -0,0 +1,175 @@ +package cn.iocoder.yudao.module.bikmk.service.areaproject; + +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.mock.mockito.MockBean; + +import javax.annotation.Resource; + +import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; + +import cn.iocoder.yudao.module.bikmk.controller.admin.areaproject.vo.*; +import cn.iocoder.yudao.module.bikmk.dal.dataobject.areaproject.AreaProjectDO; +import cn.iocoder.yudao.module.bikmk.dal.mysql.areaproject.AreaProjectMapper; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import javax.annotation.Resource; +import org.springframework.context.annotation.Import; +import java.util.*; +import java.time.LocalDateTime; + +import static cn.hutool.core.util.RandomUtil.*; +import static cn.iocoder.yudao.module.bikmk.enums.ErrorCodeConstants.*; +import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.*; +import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; +import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.*; +import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.*; +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.*; +import static org.junit.jupiter.api.Assertions.*; +import static org.mockito.Mockito.*; + +/** + * {@link AreaProjectServiceImpl} 的单元测试类 + * + * @author 芋道源码 + */ +@Import(AreaProjectServiceImpl.class) +public class AreaProjectServiceImplTest extends BaseDbUnitTest { + + @Resource + private AreaProjectServiceImpl areaProjectService; + + @Resource + private AreaProjectMapper areaProjectMapper; + + @Test + public void testCreateAreaProject_success() { + // 准备参数 + AreaProjectCreateReqVO reqVO = randomPojo(AreaProjectCreateReqVO.class); + + // 调用 + Long areaProjectId = areaProjectService.createAreaProject(reqVO); + // 断言 + assertNotNull(areaProjectId); + // 校验记录的属性是否正确 + AreaProjectDO areaProject = areaProjectMapper.selectById(areaProjectId); + assertPojoEquals(reqVO, areaProject); + } + + @Test + public void testUpdateAreaProject_success() { + // mock 数据 + AreaProjectDO dbAreaProject = randomPojo(AreaProjectDO.class); + areaProjectMapper.insert(dbAreaProject);// @Sql: 先插入出一条存在的数据 + // 准备参数 + AreaProjectUpdateReqVO reqVO = randomPojo(AreaProjectUpdateReqVO.class, o -> { + o.setId(dbAreaProject.getId()); // 设置更新的 ID + }); + + // 调用 + areaProjectService.updateAreaProject(reqVO); + // 校验是否更新正确 + AreaProjectDO areaProject = areaProjectMapper.selectById(reqVO.getId()); // 获取最新的 + assertPojoEquals(reqVO, areaProject); + } + + @Test + public void testUpdateAreaProject_notExists() { + // 准备参数 + AreaProjectUpdateReqVO reqVO = randomPojo(AreaProjectUpdateReqVO.class); + + // 调用, 并断言异常 + assertServiceException(() -> areaProjectService.updateAreaProject(reqVO), AREA_PROJECT_NOT_EXISTS); + } + + @Test + public void testDeleteAreaProject_success() { + // mock 数据 + AreaProjectDO dbAreaProject = randomPojo(AreaProjectDO.class); + areaProjectMapper.insert(dbAreaProject);// @Sql: 先插入出一条存在的数据 + // 准备参数 + Long id = dbAreaProject.getId(); + + // 调用 + areaProjectService.deleteAreaProject(id); + // 校验数据不存在了 + assertNull(areaProjectMapper.selectById(id)); + } + + @Test + public void testDeleteAreaProject_notExists() { + // 准备参数 + Long id = randomLongId(); + + // 调用, 并断言异常 + assertServiceException(() -> areaProjectService.deleteAreaProject(id), AREA_PROJECT_NOT_EXISTS); + } + + @Test + @Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解 + public void testGetAreaProjectPage() { + // mock 数据 + AreaProjectDO dbAreaProject = randomPojo(AreaProjectDO.class, o -> { // 等会查询到 + o.setRegion(null); + o.setSchedule(null); + o.setMoney(null); + o.setCreateTime(null); + }); + areaProjectMapper.insert(dbAreaProject); + // 测试 region 不匹配 + areaProjectMapper.insert(cloneIgnoreId(dbAreaProject, o -> o.setRegion(null))); + // 测试 schedule 不匹配 + areaProjectMapper.insert(cloneIgnoreId(dbAreaProject, o -> o.setSchedule(null))); + // 测试 money 不匹配 + areaProjectMapper.insert(cloneIgnoreId(dbAreaProject, o -> o.setMoney(null))); + // 测试 createTime 不匹配 + areaProjectMapper.insert(cloneIgnoreId(dbAreaProject, o -> o.setCreateTime(null))); + // 准备参数 + AreaProjectPageReqVO reqVO = new AreaProjectPageReqVO(); + reqVO.setRegion(null); + reqVO.setSchedule(null); + reqVO.setMoney(null); + reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); + + // 调用 + PageResult pageResult = areaProjectService.getAreaProjectPage(reqVO); + // 断言 + assertEquals(1, pageResult.getTotal()); + assertEquals(1, pageResult.getList().size()); + assertPojoEquals(dbAreaProject, pageResult.getList().get(0)); + } + + @Test + @Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解 + public void testGetAreaProjectList() { + // mock 数据 + AreaProjectDO dbAreaProject = randomPojo(AreaProjectDO.class, o -> { // 等会查询到 + o.setRegion(null); + o.setSchedule(null); + o.setMoney(null); + o.setCreateTime(null); + }); + areaProjectMapper.insert(dbAreaProject); + // 测试 region 不匹配 + areaProjectMapper.insert(cloneIgnoreId(dbAreaProject, o -> o.setRegion(null))); + // 测试 schedule 不匹配 + areaProjectMapper.insert(cloneIgnoreId(dbAreaProject, o -> o.setSchedule(null))); + // 测试 money 不匹配 + areaProjectMapper.insert(cloneIgnoreId(dbAreaProject, o -> o.setMoney(null))); + // 测试 createTime 不匹配 + areaProjectMapper.insert(cloneIgnoreId(dbAreaProject, o -> o.setCreateTime(null))); + // 准备参数 + AreaProjectExportReqVO reqVO = new AreaProjectExportReqVO(); + reqVO.setRegion(null); + reqVO.setSchedule(null); + reqVO.setMoney(null); + reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); + + // 调用 + List list = areaProjectService.getAreaProjectList(reqVO); + // 断言 + assertEquals(1, list.size()); + assertPojoEquals(dbAreaProject, list.get(0)); + } + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/test/java/cn/iocoder/yudao/module/bikmk/service/distribution/DistributionServiceImplTest.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/test/java/cn/iocoder/yudao/module/bikmk/service/distribution/DistributionServiceImplTest.java index a32100a..1ee7d14 100644 --- a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/test/java/cn/iocoder/yudao/module/bikmk/service/distribution/DistributionServiceImplTest.java +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/test/java/cn/iocoder/yudao/module/bikmk/service/distribution/DistributionServiceImplTest.java @@ -111,25 +111,25 @@ public class DistributionServiceImplTest extends BaseDbUnitTest { // mock 数据 DistributionDO dbDistribution = randomPojo(DistributionDO.class, o -> { // 等会查询到 o.setName(null); - o.setValue(null); o.setPosition(null); o.setCreateTime(null); + o.setValue(null); }); distributionMapper.insert(dbDistribution); // 测试 name 不匹配 distributionMapper.insert(cloneIgnoreId(dbDistribution, o -> o.setName(null))); - // 测试 value 不匹配 - distributionMapper.insert(cloneIgnoreId(dbDistribution, o -> o.setValue(null))); // 测试 position 不匹配 distributionMapper.insert(cloneIgnoreId(dbDistribution, o -> o.setPosition(null))); // 测试 createTime 不匹配 distributionMapper.insert(cloneIgnoreId(dbDistribution, o -> o.setCreateTime(null))); + // 测试 value 不匹配 + distributionMapper.insert(cloneIgnoreId(dbDistribution, o -> o.setValue(null))); // 准备参数 DistributionPageReqVO reqVO = new DistributionPageReqVO(); reqVO.setName(null); - reqVO.setValue(null); reqVO.setPosition(null); reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); + reqVO.setValue(null); // 调用 PageResult pageResult = distributionService.getDistributionPage(reqVO); @@ -145,25 +145,25 @@ public class DistributionServiceImplTest extends BaseDbUnitTest { // mock 数据 DistributionDO dbDistribution = randomPojo(DistributionDO.class, o -> { // 等会查询到 o.setName(null); - o.setValue(null); o.setPosition(null); o.setCreateTime(null); + o.setValue(null); }); distributionMapper.insert(dbDistribution); // 测试 name 不匹配 distributionMapper.insert(cloneIgnoreId(dbDistribution, o -> o.setName(null))); - // 测试 value 不匹配 - distributionMapper.insert(cloneIgnoreId(dbDistribution, o -> o.setValue(null))); // 测试 position 不匹配 distributionMapper.insert(cloneIgnoreId(dbDistribution, o -> o.setPosition(null))); // 测试 createTime 不匹配 distributionMapper.insert(cloneIgnoreId(dbDistribution, o -> o.setCreateTime(null))); + // 测试 value 不匹配 + distributionMapper.insert(cloneIgnoreId(dbDistribution, o -> o.setValue(null))); // 准备参数 DistributionExportReqVO reqVO = new DistributionExportReqVO(); reqVO.setName(null); - reqVO.setValue(null); reqVO.setPosition(null); reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); + reqVO.setValue(null); // 调用 List list = distributionService.getDistributionList(reqVO); diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/test/java/cn/iocoder/yudao/module/bikmk/service/energy/EnergyServiceImplTest.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/test/java/cn/iocoder/yudao/module/bikmk/service/energy/EnergyServiceImplTest.java new file mode 100644 index 0000000..8a9b98d --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/test/java/cn/iocoder/yudao/module/bikmk/service/energy/EnergyServiceImplTest.java @@ -0,0 +1,175 @@ +package cn.iocoder.yudao.module.bikmk.service.energy; + +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.mock.mockito.MockBean; + +import javax.annotation.Resource; + +import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; + +import cn.iocoder.yudao.module.bikmk.controller.admin.energy.vo.*; +import cn.iocoder.yudao.module.bikmk.dal.dataobject.energy.EnergyDO; +import cn.iocoder.yudao.module.bikmk.dal.mysql.energy.EnergyMapper; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import javax.annotation.Resource; +import org.springframework.context.annotation.Import; +import java.util.*; +import java.time.LocalDateTime; + +import static cn.hutool.core.util.RandomUtil.*; +import static cn.iocoder.yudao.module.bikmk.enums.ErrorCodeConstants.*; +import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.*; +import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; +import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.*; +import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.*; +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.*; +import static org.junit.jupiter.api.Assertions.*; +import static org.mockito.Mockito.*; + +/** + * {@link EnergyServiceImpl} 的单元测试类 + * + * @author 芋道源码 + */ +@Import(EnergyServiceImpl.class) +public class EnergyServiceImplTest extends BaseDbUnitTest { + + @Resource + private EnergyServiceImpl energyService; + + @Resource + private EnergyMapper energyMapper; + + @Test + public void testCreateEnergy_success() { + // 准备参数 + EnergyCreateReqVO reqVO = randomPojo(EnergyCreateReqVO.class); + + // 调用 + Long energyId = energyService.createEnergy(reqVO); + // 断言 + assertNotNull(energyId); + // 校验记录的属性是否正确 + EnergyDO energy = energyMapper.selectById(energyId); + assertPojoEquals(reqVO, energy); + } + + @Test + public void testUpdateEnergy_success() { + // mock 数据 + EnergyDO dbEnergy = randomPojo(EnergyDO.class); + energyMapper.insert(dbEnergy);// @Sql: 先插入出一条存在的数据 + // 准备参数 + EnergyUpdateReqVO reqVO = randomPojo(EnergyUpdateReqVO.class, o -> { + o.setId(dbEnergy.getId()); // 设置更新的 ID + }); + + // 调用 + energyService.updateEnergy(reqVO); + // 校验是否更新正确 + EnergyDO energy = energyMapper.selectById(reqVO.getId()); // 获取最新的 + assertPojoEquals(reqVO, energy); + } + + @Test + public void testUpdateEnergy_notExists() { + // 准备参数 + EnergyUpdateReqVO reqVO = randomPojo(EnergyUpdateReqVO.class); + + // 调用, 并断言异常 + assertServiceException(() -> energyService.updateEnergy(reqVO), ENERGY_NOT_EXISTS); + } + + @Test + public void testDeleteEnergy_success() { + // mock 数据 + EnergyDO dbEnergy = randomPojo(EnergyDO.class); + energyMapper.insert(dbEnergy);// @Sql: 先插入出一条存在的数据 + // 准备参数 + Long id = dbEnergy.getId(); + + // 调用 + energyService.deleteEnergy(id); + // 校验数据不存在了 + assertNull(energyMapper.selectById(id)); + } + + @Test + public void testDeleteEnergy_notExists() { + // 准备参数 + Long id = randomLongId(); + + // 调用, 并断言异常 + assertServiceException(() -> energyService.deleteEnergy(id), ENERGY_NOT_EXISTS); + } + + @Test + @Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解 + public void testGetEnergyPage() { + // mock 数据 + EnergyDO dbEnergy = randomPojo(EnergyDO.class, o -> { // 等会查询到 + o.setDtime(null); + o.setPc(null); + o.setCdesktop(null); + o.setCreateTime(null); + }); + energyMapper.insert(dbEnergy); + // 测试 dtime 不匹配 + energyMapper.insert(cloneIgnoreId(dbEnergy, o -> o.setDtime(null))); + // 测试 pc 不匹配 + energyMapper.insert(cloneIgnoreId(dbEnergy, o -> o.setPc(null))); + // 测试 cdesktop 不匹配 + energyMapper.insert(cloneIgnoreId(dbEnergy, o -> o.setCdesktop(null))); + // 测试 createTime 不匹配 + energyMapper.insert(cloneIgnoreId(dbEnergy, o -> o.setCreateTime(null))); + // 准备参数 + EnergyPageReqVO reqVO = new EnergyPageReqVO(); + reqVO.setDtime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); + reqVO.setPc(null); + reqVO.setCdesktop(null); + reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); + + // 调用 + PageResult pageResult = energyService.getEnergyPage(reqVO); + // 断言 + assertEquals(1, pageResult.getTotal()); + assertEquals(1, pageResult.getList().size()); + assertPojoEquals(dbEnergy, pageResult.getList().get(0)); + } + + @Test + @Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解 + public void testGetEnergyList() { + // mock 数据 + EnergyDO dbEnergy = randomPojo(EnergyDO.class, o -> { // 等会查询到 + o.setDtime(null); + o.setPc(null); + o.setCdesktop(null); + o.setCreateTime(null); + }); + energyMapper.insert(dbEnergy); + // 测试 dtime 不匹配 + energyMapper.insert(cloneIgnoreId(dbEnergy, o -> o.setDtime(null))); + // 测试 pc 不匹配 + energyMapper.insert(cloneIgnoreId(dbEnergy, o -> o.setPc(null))); + // 测试 cdesktop 不匹配 + energyMapper.insert(cloneIgnoreId(dbEnergy, o -> o.setCdesktop(null))); + // 测试 createTime 不匹配 + energyMapper.insert(cloneIgnoreId(dbEnergy, o -> o.setCreateTime(null))); + // 准备参数 + EnergyExportReqVO reqVO = new EnergyExportReqVO(); + reqVO.setDtime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); + reqVO.setPc(null); + reqVO.setCdesktop(null); + reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); + + // 调用 + List list = energyService.getEnergyList(reqVO); + // 断言 + assertEquals(1, list.size()); + assertPojoEquals(dbEnergy, list.get(0)); + } + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/test/java/cn/iocoder/yudao/module/bikmk/service/info/InfoServiceImplTest.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/test/java/cn/iocoder/yudao/module/bikmk/service/info/InfoServiceImplTest.java new file mode 100644 index 0000000..1c186ad --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/test/java/cn/iocoder/yudao/module/bikmk/service/info/InfoServiceImplTest.java @@ -0,0 +1,159 @@ +package cn.iocoder.yudao.module.bikmk.service.info; + +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.mock.mockito.MockBean; + +import javax.annotation.Resource; + +import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; + +import cn.iocoder.yudao.module.bikmk.controller.admin.info.vo.*; +import cn.iocoder.yudao.module.bikmk.dal.dataobject.info.InfoDO; +import cn.iocoder.yudao.module.bikmk.dal.mysql.info.InfoMapper; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import javax.annotation.Resource; +import org.springframework.context.annotation.Import; +import java.util.*; +import java.time.LocalDateTime; + +import static cn.hutool.core.util.RandomUtil.*; +import static cn.iocoder.yudao.module.bikmk.enums.ErrorCodeConstants.*; +import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.*; +import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; +import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.*; +import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.*; +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.*; +import static org.junit.jupiter.api.Assertions.*; +import static org.mockito.Mockito.*; + +/** + * {@link InfoServiceImpl} 的单元测试类 + * + * @author 芋道源码 + */ +@Import(InfoServiceImpl.class) +public class InfoServiceImplTest extends BaseDbUnitTest { + + @Resource + private InfoServiceImpl infoService; + + @Resource + private InfoMapper infoMapper; + + @Test + public void testCreateInfo_success() { + // 准备参数 + InfoCreateReqVO reqVO = randomPojo(InfoCreateReqVO.class); + + // 调用 + Long infoId = infoService.createInfo(reqVO); + // 断言 + assertNotNull(infoId); + // 校验记录的属性是否正确 + InfoDO info = infoMapper.selectById(infoId); + assertPojoEquals(reqVO, info); + } + + @Test + public void testUpdateInfo_success() { + // mock 数据 + InfoDO dbInfo = randomPojo(InfoDO.class); + infoMapper.insert(dbInfo);// @Sql: 先插入出一条存在的数据 + // 准备参数 + InfoUpdateReqVO reqVO = randomPojo(InfoUpdateReqVO.class, o -> { + o.setId(dbInfo.getId()); // 设置更新的 ID + }); + + // 调用 + infoService.updateInfo(reqVO); + // 校验是否更新正确 + InfoDO info = infoMapper.selectById(reqVO.getId()); // 获取最新的 + assertPojoEquals(reqVO, info); + } + + @Test + public void testUpdateInfo_notExists() { + // 准备参数 + InfoUpdateReqVO reqVO = randomPojo(InfoUpdateReqVO.class); + + // 调用, 并断言异常 + assertServiceException(() -> infoService.updateInfo(reqVO), INFO_NOT_EXISTS); + } + + @Test + public void testDeleteInfo_success() { + // mock 数据 + InfoDO dbInfo = randomPojo(InfoDO.class); + infoMapper.insert(dbInfo);// @Sql: 先插入出一条存在的数据 + // 准备参数 + Long id = dbInfo.getId(); + + // 调用 + infoService.deleteInfo(id); + // 校验数据不存在了 + assertNull(infoMapper.selectById(id)); + } + + @Test + public void testDeleteInfo_notExists() { + // 准备参数 + Long id = randomLongId(); + + // 调用, 并断言异常 + assertServiceException(() -> infoService.deleteInfo(id), INFO_NOT_EXISTS); + } + + @Test + @Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解 + public void testGetInfoPage() { + // mock 数据 + InfoDO dbInfo = randomPojo(InfoDO.class, o -> { // 等会查询到 + o.setCreateTime(null); + o.setMsg(null); + }); + infoMapper.insert(dbInfo); + // 测试 createTime 不匹配 + infoMapper.insert(cloneIgnoreId(dbInfo, o -> o.setCreateTime(null))); + // 测试 msg 不匹配 + infoMapper.insert(cloneIgnoreId(dbInfo, o -> o.setMsg(null))); + // 准备参数 + InfoPageReqVO reqVO = new InfoPageReqVO(); + reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); + reqVO.setMsg(null); + + // 调用 + PageResult pageResult = infoService.getInfoPage(reqVO); + // 断言 + assertEquals(1, pageResult.getTotal()); + assertEquals(1, pageResult.getList().size()); + assertPojoEquals(dbInfo, pageResult.getList().get(0)); + } + + @Test + @Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解 + public void testGetInfoList() { + // mock 数据 + InfoDO dbInfo = randomPojo(InfoDO.class, o -> { // 等会查询到 + o.setCreateTime(null); + o.setMsg(null); + }); + infoMapper.insert(dbInfo); + // 测试 createTime 不匹配 + infoMapper.insert(cloneIgnoreId(dbInfo, o -> o.setCreateTime(null))); + // 测试 msg 不匹配 + infoMapper.insert(cloneIgnoreId(dbInfo, o -> o.setMsg(null))); + // 准备参数 + InfoExportReqVO reqVO = new InfoExportReqVO(); + reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); + reqVO.setMsg(null); + + // 调用 + List list = infoService.getInfoList(reqVO); + // 断言 + assertEquals(1, list.size()); + assertPojoEquals(dbInfo, list.get(0)); + } + +} diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/test/java/cn/iocoder/yudao/module/bikmk/service/policy/PolicyServiceImplTest.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/test/java/cn/iocoder/yudao/module/bikmk/service/policy/PolicyServiceImplTest.java index 7b8014b..2ac007e 100644 --- a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/test/java/cn/iocoder/yudao/module/bikmk/service/policy/PolicyServiceImplTest.java +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/test/java/cn/iocoder/yudao/module/bikmk/service/policy/PolicyServiceImplTest.java @@ -112,7 +112,6 @@ public class PolicyServiceImplTest extends BaseDbUnitTest { PolicyDO dbPolicy = randomPojo(PolicyDO.class, o -> { // 等会查询到 o.setRegion(null); o.setPolicy(null); - o.setIsshow(null); o.setCreateTime(null); }); policyMapper.insert(dbPolicy); @@ -120,15 +119,12 @@ public class PolicyServiceImplTest extends BaseDbUnitTest { policyMapper.insert(cloneIgnoreId(dbPolicy, o -> o.setRegion(null))); // 测试 policy 不匹配 policyMapper.insert(cloneIgnoreId(dbPolicy, o -> o.setPolicy(null))); - // 测试 isshow 不匹配 - policyMapper.insert(cloneIgnoreId(dbPolicy, o -> o.setIsshow(null))); // 测试 createTime 不匹配 policyMapper.insert(cloneIgnoreId(dbPolicy, o -> o.setCreateTime(null))); // 准备参数 PolicyPageReqVO reqVO = new PolicyPageReqVO(); reqVO.setRegion(null); reqVO.setPolicy(null); - reqVO.setIsshow(null); reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); // 调用 @@ -146,7 +142,6 @@ public class PolicyServiceImplTest extends BaseDbUnitTest { PolicyDO dbPolicy = randomPojo(PolicyDO.class, o -> { // 等会查询到 o.setRegion(null); o.setPolicy(null); - o.setIsshow(null); o.setCreateTime(null); }); policyMapper.insert(dbPolicy); @@ -154,15 +149,12 @@ public class PolicyServiceImplTest extends BaseDbUnitTest { policyMapper.insert(cloneIgnoreId(dbPolicy, o -> o.setRegion(null))); // 测试 policy 不匹配 policyMapper.insert(cloneIgnoreId(dbPolicy, o -> o.setPolicy(null))); - // 测试 isshow 不匹配 - policyMapper.insert(cloneIgnoreId(dbPolicy, o -> o.setIsshow(null))); // 测试 createTime 不匹配 policyMapper.insert(cloneIgnoreId(dbPolicy, o -> o.setCreateTime(null))); // 准备参数 PolicyExportReqVO reqVO = new PolicyExportReqVO(); reqVO.setRegion(null); reqVO.setPolicy(null); - reqVO.setIsshow(null); reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); // 调用 diff --git a/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/test/java/cn/iocoder/yudao/module/bikmk/service/project/ProjectServiceImplTest.java b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/test/java/cn/iocoder/yudao/module/bikmk/service/project/ProjectServiceImplTest.java new file mode 100644 index 0000000..5efc9fc --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-module-bikmk/yudao-module-bikmk-biz/src/test/java/cn/iocoder/yudao/module/bikmk/service/project/ProjectServiceImplTest.java @@ -0,0 +1,191 @@ +package cn.iocoder.yudao.module.bikmk.service.project; + +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.mock.mockito.MockBean; + +import javax.annotation.Resource; + +import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; + +import cn.iocoder.yudao.module.bikmk.controller.admin.project.vo.*; +import cn.iocoder.yudao.module.bikmk.dal.dataobject.project.ProjectDO; +import cn.iocoder.yudao.module.bikmk.dal.mysql.project.ProjectMapper; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import javax.annotation.Resource; +import org.springframework.context.annotation.Import; +import java.util.*; +import java.time.LocalDateTime; + +import static cn.hutool.core.util.RandomUtil.*; +import static cn.iocoder.yudao.module.bikmk.enums.ErrorCodeConstants.*; +import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.*; +import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; +import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.*; +import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.*; +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.*; +import static org.junit.jupiter.api.Assertions.*; +import static org.mockito.Mockito.*; + +/** + * {@link ProjectServiceImpl} 的单元测试类 + * + * @author 芋道源码 + */ +@Import(ProjectServiceImpl.class) +public class ProjectServiceImplTest extends BaseDbUnitTest { + + @Resource + private ProjectServiceImpl projectService; + + @Resource + private ProjectMapper projectMapper; + + @Test + public void testCreateProject_success() { + // 准备参数 + ProjectCreateReqVO reqVO = randomPojo(ProjectCreateReqVO.class); + + // 调用 + Long projectId = projectService.createProject(reqVO); + // 断言 + assertNotNull(projectId); + // 校验记录的属性是否正确 + ProjectDO project = projectMapper.selectById(projectId); + assertPojoEquals(reqVO, project); + } + + @Test + public void testUpdateProject_success() { + // mock 数据 + ProjectDO dbProject = randomPojo(ProjectDO.class); + projectMapper.insert(dbProject);// @Sql: 先插入出一条存在的数据 + // 准备参数 + ProjectUpdateReqVO reqVO = randomPojo(ProjectUpdateReqVO.class, o -> { + o.setId(dbProject.getId()); // 设置更新的 ID + }); + + // 调用 + projectService.updateProject(reqVO); + // 校验是否更新正确 + ProjectDO project = projectMapper.selectById(reqVO.getId()); // 获取最新的 + assertPojoEquals(reqVO, project); + } + + @Test + public void testUpdateProject_notExists() { + // 准备参数 + ProjectUpdateReqVO reqVO = randomPojo(ProjectUpdateReqVO.class); + + // 调用, 并断言异常 + assertServiceException(() -> projectService.updateProject(reqVO), PROJECT_NOT_EXISTS); + } + + @Test + public void testDeleteProject_success() { + // mock 数据 + ProjectDO dbProject = randomPojo(ProjectDO.class); + projectMapper.insert(dbProject);// @Sql: 先插入出一条存在的数据 + // 准备参数 + Long id = dbProject.getId(); + + // 调用 + projectService.deleteProject(id); + // 校验数据不存在了 + assertNull(projectMapper.selectById(id)); + } + + @Test + public void testDeleteProject_notExists() { + // 准备参数 + Long id = randomLongId(); + + // 调用, 并断言异常 + assertServiceException(() -> projectService.deleteProject(id), PROJECT_NOT_EXISTS); + } + + @Test + @Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解 + public void testGetProjectPage() { + // mock 数据 + ProjectDO dbProject = randomPojo(ProjectDO.class, o -> { // 等会查询到 + o.setCustom(null); + o.setRegion(null); + o.setType(null); + o.setCreateTime(null); + o.setSchedule(null); + o.setMoney(null); + }); + projectMapper.insert(dbProject); + // 测试 custom 不匹配 + projectMapper.insert(cloneIgnoreId(dbProject, o -> o.setCustom(null))); + // 测试 region 不匹配 + projectMapper.insert(cloneIgnoreId(dbProject, o -> o.setRegion(null))); + // 测试 type 不匹配 + projectMapper.insert(cloneIgnoreId(dbProject, o -> o.setType(null))); + // 测试 createTime 不匹配 + projectMapper.insert(cloneIgnoreId(dbProject, o -> o.setCreateTime(null))); + // 测试 schedule 不匹配 + projectMapper.insert(cloneIgnoreId(dbProject, o -> o.setSchedule(null))); + // 测试 money 不匹配 + projectMapper.insert(cloneIgnoreId(dbProject, o -> o.setMoney(null))); + // 准备参数 + ProjectPageReqVO reqVO = new ProjectPageReqVO(); + reqVO.setCustom(null); + reqVO.setRegion(null); + reqVO.setType(null); + reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); + reqVO.setSchedule(null); + reqVO.setMoney(null); + + // 调用 + PageResult pageResult = projectService.getProjectPage(reqVO); + // 断言 + assertEquals(1, pageResult.getTotal()); + assertEquals(1, pageResult.getList().size()); + assertPojoEquals(dbProject, pageResult.getList().get(0)); + } + + @Test + @Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解 + public void testGetProjectList() { + // mock 数据 + ProjectDO dbProject = randomPojo(ProjectDO.class, o -> { // 等会查询到 + o.setCustom(null); + o.setRegion(null); + o.setType(null); + o.setCreateTime(null); + o.setSchedule(null); + o.setMoney(null); + }); + projectMapper.insert(dbProject); + // 测试 custom 不匹配 + projectMapper.insert(cloneIgnoreId(dbProject, o -> o.setCustom(null))); + // 测试 region 不匹配 + projectMapper.insert(cloneIgnoreId(dbProject, o -> o.setRegion(null))); + // 测试 type 不匹配 + projectMapper.insert(cloneIgnoreId(dbProject, o -> o.setType(null))); + // 测试 createTime 不匹配 + projectMapper.insert(cloneIgnoreId(dbProject, o -> o.setCreateTime(null))); + // 测试 schedule 不匹配 + projectMapper.insert(cloneIgnoreId(dbProject, o -> o.setSchedule(null))); + // 测试 money 不匹配 + projectMapper.insert(cloneIgnoreId(dbProject, o -> o.setMoney(null))); + // 准备参数 + ProjectExportReqVO reqVO = new ProjectExportReqVO(); + reqVO.setCustom(null); + reqVO.setRegion(null); + reqVO.setType(null); + reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); + reqVO.setSchedule(null); + reqVO.setMoney(null); + + // 调用 + List list = projectService.getProjectList(reqVO); + // 断言 + assertEquals(1, list.size()); + assertPojoEquals(dbProject, list.get(0)); + } + +} diff --git a/ruoyi-vue-pro-master/yudao-module-report/yudao-module-report-biz/src/main/java/cn/iocoder/yudao/module/report/controller/admin/goview/GoViewDataController.java b/ruoyi-vue-pro-master/yudao-module-report/yudao-module-report-biz/src/main/java/cn/iocoder/yudao/module/report/controller/admin/goview/GoViewDataController.java index 84e2793..811ca4c 100644 --- a/ruoyi-vue-pro-master/yudao-module-report/yudao-module-report-biz/src/main/java/cn/iocoder/yudao/module/report/controller/admin/goview/GoViewDataController.java +++ b/ruoyi-vue-pro-master/yudao-module-report/yudao-module-report-biz/src/main/java/cn/iocoder/yudao/module/report/controller/admin/goview/GoViewDataController.java @@ -36,9 +36,110 @@ public class GoViewDataController { @Operation(summary = "查询分布信息") @PreAuthorize("@ss.hasPermission('report:go-view-data:bikmk-distribution')") @OperateLog(enable = false) // 不记录操作日志,因为不需要 - public CommonResult bikmkDistributionList() { - //return success(goViewDataService.getDataBySQL(reqVO.getSql())); - return success(goViewDataService.getDataBySQL("select * from bikmk_distribution")); + public CommonResult bikmkDistributionList() { + GoViewDataRespVO respVO = goViewDataService.getDataBySQL("select name,value,position from bikmk_distribution"); + List resA = respVO.getSource(); + Iterator resAI = resA.iterator(); + while(resAI.hasNext()) { + Map item = resAI.next(); + String[] itemPositionArr = item.get("position").toString().split(","); + List itemPositionList = new ArrayList<>(); + itemPositionList.add(Float.valueOf(itemPositionArr[0])); + itemPositionList.add(Float.valueOf(itemPositionArr[1])); + item.replace("position", itemPositionList); + } + HashMap resB = new HashMap(); + resB.put("markers", resA); + System.out.println(resB); + return success(resB); + } + + @RequestMapping("/bikmk-policy-list") + @Operation(summary = "查询分布信息") + @PreAuthorize("@ss.hasPermission('report:go-view-data:bikmk-policy')") + @OperateLog(enable = false) // 不记录操作日志,因为不需要 + public CommonResult bikmkPolicyList() { + GoViewDataRespVO respVO = goViewDataService.getDataBySQL("select region,policy from bikmk_policy"); + List resA = respVO.getSource(); + Iterator resAI = resA.iterator(); + List itemListA = new ArrayList<>(); + while(resAI.hasNext()) { + Map item = resAI.next(); + List itemListB = new ArrayList<>(); + itemListB.add(item.get("region").toString()); + itemListB.add(item.get("policy").toString()); + itemListA.add(itemListB); + } + return success(itemListA); + } + + @RequestMapping("/bikmk-project-list") + @Operation(summary = "查询项目信息") + @PreAuthorize("@ss.hasPermission('report:go-view-data:bikmk-project')") + @OperateLog(enable = false) // 不记录操作日志,因为不需要 + public CommonResult bikmkProjectList() { + GoViewDataRespVO respVO = goViewDataService.getDataBySQL("select custom,region,type,schedule,money from bikmk_project"); + List resA = respVO.getSource(); + Iterator resAI = resA.iterator(); + List itemListA = new ArrayList<>(); + while(resAI.hasNext()) { + Map item = resAI.next(); + List itemListB = new ArrayList<>(); + itemListB.add(item.get("custom").toString()); + itemListB.add(item.get("region").toString()); + itemListB.add(item.get("type").toString()); + itemListB.add(item.get("schedule").toString()); + itemListB.add(item.get("money").toString()); + itemListA.add(itemListB); + } + return success(itemListA); + } + + @RequestMapping("/bikmk-area-project-list") + @Operation(summary = "查询项目对比信息") + @PreAuthorize("@ss.hasPermission('report:go-view-data:bikmk-area-project')") + @OperateLog(enable = false) // 不记录操作日志,因为不需要 + public CommonResult bikmkAreaProjectList() { + GoViewDataRespVO respVO = goViewDataService.getDataBySQL("select region,schedule,money from bikmk_area_project"); + List resA = respVO.getSource(); + Iterator resAI = resA.iterator(); + List itemListA = new ArrayList<>(); + while(resAI.hasNext()) { + Map item = resAI.next(); + List itemListB = new ArrayList<>(); + itemListB.add(item.get("region").toString()); + itemListB.add(item.get("schedule").toString()); + itemListB.add(item.get("money").toString()); + itemListA.add(itemListB); + } + return success(itemListA); + } + + @RequestMapping("/bikmk-info-list") + @Operation(summary = "查询栏目信息") + @PreAuthorize("@ss.hasPermission('report:go-view-data:bikmk-info')") + @OperateLog(enable = false) // 不记录操作日志,因为不需要 + public CommonResult bikmkInfoList() { + GoViewDataRespVO respVO = goViewDataService.getDataBySQL("select msg from bikmk_info"); + List resA = respVO.getSource(); + Iterator resAI = resA.iterator(); + List itemListA = new ArrayList<>(); + while(resAI.hasNext()) { + Map item = resAI.next(); + List itemListB = new ArrayList<>(); + itemListB.add(item.get("msg").toString()); + itemListA.add(itemListB); + } + return success(itemListA); + } + + @RequestMapping("/bikmk-energy-list") + @Operation(summary = "查询栏目信息") + @PreAuthorize("@ss.hasPermission('report:go-view-data:bikmk-energy')") + @OperateLog(enable = false) // 不记录操作日志,因为不需要 + public CommonResult bikmkEnergyList() { + GoViewDataRespVO respVO = goViewDataService.getDataBySQL("select DATE_FORMAT(dtime, \"%m-%d\") AS '日期',pc AS PC电脑,cdesktop AS 云桌面 from bikmk_energy"); + return success(respVO); } @RequestMapping("/get-by-sql") diff --git a/ruoyi-vue-pro-master/yudao-ui-admin/src/api/bikmk/areaProject.js b/ruoyi-vue-pro-master/yudao-ui-admin/src/api/bikmk/areaProject.js new file mode 100644 index 0000000..74d2d58 --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-ui-admin/src/api/bikmk/areaProject.js @@ -0,0 +1,54 @@ +import request from '@/utils/request' + +// 创建信息对比 +export function createAreaProject(data) { + return request({ + url: '/bikmk/area-project/create', + method: 'post', + data: data + }) +} + +// 更新信息对比 +export function updateAreaProject(data) { + return request({ + url: '/bikmk/area-project/update', + method: 'put', + data: data + }) +} + +// 删除信息对比 +export function deleteAreaProject(id) { + return request({ + url: '/bikmk/area-project/delete?id=' + id, + method: 'delete' + }) +} + +// 获得信息对比 +export function getAreaProject(id) { + return request({ + url: '/bikmk/area-project/get?id=' + id, + method: 'get' + }) +} + +// 获得信息对比分页 +export function getAreaProjectPage(query) { + return request({ + url: '/bikmk/area-project/page', + method: 'get', + params: query + }) +} + +// 导出信息对比 Excel +export function exportAreaProjectExcel(query) { + return request({ + url: '/bikmk/area-project/export-excel', + method: 'get', + params: query, + responseType: 'blob' + }) +} diff --git a/ruoyi-vue-pro-master/yudao-ui-admin/src/api/bikmk/energy.js b/ruoyi-vue-pro-master/yudao-ui-admin/src/api/bikmk/energy.js new file mode 100644 index 0000000..d685b08 --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-ui-admin/src/api/bikmk/energy.js @@ -0,0 +1,54 @@ +import request from '@/utils/request' + +// 创建能耗 +export function createEnergy(data) { + return request({ + url: '/bikmk/energy/create', + method: 'post', + data: data + }) +} + +// 更新能耗 +export function updateEnergy(data) { + return request({ + url: '/bikmk/energy/update', + method: 'put', + data: data + }) +} + +// 删除能耗 +export function deleteEnergy(id) { + return request({ + url: '/bikmk/energy/delete?id=' + id, + method: 'delete' + }) +} + +// 获得能耗 +export function getEnergy(id) { + return request({ + url: '/bikmk/energy/get?id=' + id, + method: 'get' + }) +} + +// 获得能耗分页 +export function getEnergyPage(query) { + return request({ + url: '/bikmk/energy/page', + method: 'get', + params: query + }) +} + +// 导出能耗 Excel +export function exportEnergyExcel(query) { + return request({ + url: '/bikmk/energy/export-excel', + method: 'get', + params: query, + responseType: 'blob' + }) +} diff --git a/ruoyi-vue-pro-master/yudao-ui-admin/src/api/bikmk/info.js b/ruoyi-vue-pro-master/yudao-ui-admin/src/api/bikmk/info.js new file mode 100644 index 0000000..8922984 --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-ui-admin/src/api/bikmk/info.js @@ -0,0 +1,54 @@ +import request from '@/utils/request' + +// 创建信息栏 +export function createInfo(data) { + return request({ + url: '/bikmk/info/create', + method: 'post', + data: data + }) +} + +// 更新信息栏 +export function updateInfo(data) { + return request({ + url: '/bikmk/info/update', + method: 'put', + data: data + }) +} + +// 删除信息栏 +export function deleteInfo(id) { + return request({ + url: '/bikmk/info/delete?id=' + id, + method: 'delete' + }) +} + +// 获得信息栏 +export function getInfo(id) { + return request({ + url: '/bikmk/info/get?id=' + id, + method: 'get' + }) +} + +// 获得信息栏分页 +export function getInfoPage(query) { + return request({ + url: '/bikmk/info/page', + method: 'get', + params: query + }) +} + +// 导出信息栏 Excel +export function exportInfoExcel(query) { + return request({ + url: '/bikmk/info/export-excel', + method: 'get', + params: query, + responseType: 'blob' + }) +} diff --git a/ruoyi-vue-pro-master/yudao-ui-admin/src/api/bikmk/project.js b/ruoyi-vue-pro-master/yudao-ui-admin/src/api/bikmk/project.js new file mode 100644 index 0000000..13ae9ff --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-ui-admin/src/api/bikmk/project.js @@ -0,0 +1,54 @@ +import request from '@/utils/request' + +// 创建项目信息 +export function createProject(data) { + return request({ + url: '/bikmk/project/create', + method: 'post', + data: data + }) +} + +// 更新项目信息 +export function updateProject(data) { + return request({ + url: '/bikmk/project/update', + method: 'put', + data: data + }) +} + +// 删除项目信息 +export function deleteProject(id) { + return request({ + url: '/bikmk/project/delete?id=' + id, + method: 'delete' + }) +} + +// 获得项目信息 +export function getProject(id) { + return request({ + url: '/bikmk/project/get?id=' + id, + method: 'get' + }) +} + +// 获得项目信息分页 +export function getProjectPage(query) { + return request({ + url: '/bikmk/project/page', + method: 'get', + params: query + }) +} + +// 导出项目信息 Excel +export function exportProjectExcel(query) { + return request({ + url: '/bikmk/project/export-excel', + method: 'get', + params: query, + responseType: 'blob' + }) +} diff --git a/ruoyi-vue-pro-master/yudao-ui-admin/src/views/bikmk/areaProject/index.vue b/ruoyi-vue-pro-master/yudao-ui-admin/src/views/bikmk/areaProject/index.vue new file mode 100644 index 0000000..ea2b5ec --- /dev/null +++ b/ruoyi-vue-pro-master/yudao-ui-admin/src/views/bikmk/areaProject/index.vue @@ -0,0 +1,229 @@ + + + diff --git a/ruoyi-vue-pro-master/yudao-ui-admin/src/views/bikmk/distribution/index.vue b/ruoyi-vue-pro-master/yudao-ui-admin/src/views/bikmk/distribution/index.vue index 944a4f1..545743d 100644 --- a/ruoyi-vue-pro-master/yudao-ui-admin/src/views/bikmk/distribution/index.vue +++ b/ruoyi-vue-pro-master/yudao-ui-admin/src/views/bikmk/distribution/index.vue @@ -6,9 +6,6 @@ - - - @@ -16,6 +13,9 @@ + + + 搜索 重置 @@ -39,13 +39,13 @@ - +