基本功能

master
mhsnet 1 year ago
parent 5ee11edf05
commit 31763e76c1

@ -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, "能耗不存在");
}

@ -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<Long> createAreaProject(@Valid @RequestBody AreaProjectCreateReqVO createReqVO) {
return success(areaProjectService.createAreaProject(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新信息对比")
@PreAuthorize("@ss.hasPermission('bikmk:area-project:update')")
public CommonResult<Boolean> 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<Boolean> 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<AreaProjectRespVO> 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<List<AreaProjectRespVO>> getAreaProjectList(@RequestParam("ids") Collection<Long> ids) {
List<AreaProjectDO> list = areaProjectService.getAreaProjectList(ids);
return success(AreaProjectConvert.INSTANCE.convertList(list));
}
@GetMapping("/page")
@Operation(summary = "获得信息对比分页")
@PreAuthorize("@ss.hasPermission('bikmk:area-project:query')")
public CommonResult<PageResult<AreaProjectRespVO>> getAreaProjectPage(@Valid AreaProjectPageReqVO pageVO) {
PageResult<AreaProjectDO> 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<AreaProjectDO> list = areaProjectService.getAreaProjectList(exportReqVO);
// 导出 Excel
List<AreaProjectExcelVO> datas = AreaProjectConvert.INSTANCE.convertList02(list);
ExcelUtils.write(response, "信息对比.xls", "数据", AreaProjectExcelVO.class, datas);
}
}

@ -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;
}

@ -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 {
}

@ -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;
}

@ -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;
}

@ -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;
}

@ -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;
}

@ -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;
}

@ -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

@ -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;
}

@ -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;
}

@ -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;
}

@ -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;
}

@ -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<Long> createEnergy(@Valid @RequestBody EnergyCreateReqVO createReqVO) {
return success(energyService.createEnergy(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新能耗")
@PreAuthorize("@ss.hasPermission('bikmk:energy:update')")
public CommonResult<Boolean> 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<Boolean> 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<EnergyRespVO> 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<List<EnergyRespVO>> getEnergyList(@RequestParam("ids") Collection<Long> ids) {
List<EnergyDO> list = energyService.getEnergyList(ids);
return success(EnergyConvert.INSTANCE.convertList(list));
}
@GetMapping("/page")
@Operation(summary = "获得能耗分页")
@PreAuthorize("@ss.hasPermission('bikmk:energy:query')")
public CommonResult<PageResult<EnergyRespVO>> getEnergyPage(@Valid EnergyPageReqVO pageVO) {
PageResult<EnergyDO> 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<EnergyDO> list = energyService.getEnergyList(exportReqVO);
// 导出 Excel
List<EnergyExcelVO> datas = EnergyConvert.INSTANCE.convertList02(list);
ExcelUtils.write(response, "能耗.xls", "数据", EnergyExcelVO.class, datas);
}
}

@ -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;
}

@ -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 {
}

@ -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;
}

@ -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;
}

@ -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;
}

@ -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;
}

@ -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;
}

@ -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<Long> createInfo(@Valid @RequestBody InfoCreateReqVO createReqVO) {
return success(infoService.createInfo(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新信息栏")
@PreAuthorize("@ss.hasPermission('bikmk:info:update')")
public CommonResult<Boolean> 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<Boolean> 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<InfoRespVO> 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<List<InfoRespVO>> getInfoList(@RequestParam("ids") Collection<Long> ids) {
List<InfoDO> list = infoService.getInfoList(ids);
return success(InfoConvert.INSTANCE.convertList(list));
}
@GetMapping("/page")
@Operation(summary = "获得信息栏分页")
@PreAuthorize("@ss.hasPermission('bikmk:info:query')")
public CommonResult<PageResult<InfoRespVO>> getInfoPage(@Valid InfoPageReqVO pageVO) {
PageResult<InfoDO> 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<InfoDO> list = infoService.getInfoList(exportReqVO);
// 导出 Excel
List<InfoExcelVO> datas = InfoConvert.INSTANCE.convertList02(list);
ExcelUtils.write(response, "信息栏.xls", "数据", InfoExcelVO.class, datas);
}
}

@ -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;
}

@ -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 {
}

@ -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;
}

@ -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;
}

@ -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;
}

@ -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;
}

@ -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;
}

@ -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<List<PolicyRespVO>> getPolicyListB(@RequestParam("ids") Collection<Long> ids) {
List<PolicyDO> list = policyService.getPolicyList(ids);
return success(PolicyConvert.INSTANCE.convertList(list));
}
@GetMapping("/page")
@Operation(summary = "获得政策动态分页")
@PreAuthorize("@ss.hasPermission('bikmk:policy:query')")

@ -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;
}

@ -25,9 +25,6 @@ public class PolicyExcelVO {
@ExcelProperty("政策信息")
private String policy;
@ExcelProperty("是否显示")
private Boolean isshow;
@ExcelProperty("创建时间")
private LocalDateTime createTime;

@ -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;

@ -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;

@ -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<Long> createProject(@Valid @RequestBody ProjectCreateReqVO createReqVO) {
return success(projectService.createProject(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新项目信息")
@PreAuthorize("@ss.hasPermission('bikmk:project:update')")
public CommonResult<Boolean> 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<Boolean> 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<ProjectRespVO> 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<List<ProjectRespVO>> getProjectList(@RequestParam("ids") Collection<Long> ids) {
List<ProjectDO> list = projectService.getProjectList(ids);
return success(ProjectConvert.INSTANCE.convertList(list));
}
@GetMapping("/page")
@Operation(summary = "获得项目信息分页")
@PreAuthorize("@ss.hasPermission('bikmk:project:query')")
public CommonResult<PageResult<ProjectRespVO>> getProjectPage(@Valid ProjectPageReqVO pageVO) {
PageResult<ProjectDO> 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<ProjectDO> list = projectService.getProjectList(exportReqVO);
// 导出 Excel
List<ProjectExcelVO> datas = ProjectConvert.INSTANCE.convertList02(list);
ExcelUtils.write(response, "项目信息.xls", "数据", ProjectExcelVO.class, datas);
}
}

@ -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;
}

@ -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 {
}

@ -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;
}

@ -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;
}

@ -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;
}

@ -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;
}

@ -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;
}

@ -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<List<DistributionRespVO>> getAppDistributionList() {
List<DistributionDO> list = distributionService.getAppDistributionList();
return success(DistributionConvert.INSTANCE.convertList(list));
}
}

@ -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<List<PolicyRespVO>> getPolicyList() {
List<PolicyDO> list = policyService.getAppPolicyList();
return success(PolicyConvert.INSTANCE.convertList(list));
}
}

@ -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<AreaProjectRespVO> convertList(List<AreaProjectDO> list);
PageResult<AreaProjectRespVO> convertPage(PageResult<AreaProjectDO> page);
List<AreaProjectExcelVO> convertList02(List<AreaProjectDO> list);
}

@ -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<EnergyRespVO> convertList(List<EnergyDO> list);
PageResult<EnergyRespVO> convertPage(PageResult<EnergyDO> page);
List<EnergyExcelVO> convertList02(List<EnergyDO> list);
}

@ -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<InfoRespVO> convertList(List<InfoDO> list);
PageResult<InfoRespVO> convertPage(PageResult<InfoDO> page);
List<InfoExcelVO> convertList02(List<InfoDO> list);
}

@ -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<ProjectRespVO> convertList(List<ProjectDO> list);
PageResult<ProjectRespVO> convertPage(PageResult<ProjectDO> page);
List<ProjectExcelVO> convertList02(List<ProjectDO> list);
}

@ -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;
}

@ -31,13 +31,13 @@ public class DistributionDO extends BaseDO {
*
*/
private String name;
/**
*
*/
private String value;
/**
*
*/
private String position;
/**
*
*/
private Integer value;
}

@ -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;
}

@ -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;
}

@ -35,9 +35,5 @@ public class PolicyDO extends BaseDO {
*
*/
private String policy;
/**
*
*/
private Boolean isshow;
}

@ -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;
}

@ -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<AreaProjectDO> {
default PageResult<AreaProjectDO> selectPage(AreaProjectPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<AreaProjectDO>()
.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<AreaProjectDO> selectList(AreaProjectExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<AreaProjectDO>()
.eqIfPresent(AreaProjectDO::getRegion, reqVO.getRegion())
.eqIfPresent(AreaProjectDO::getSchedule, reqVO.getSchedule())
.eqIfPresent(AreaProjectDO::getMoney, reqVO.getMoney())
.betweenIfPresent(AreaProjectDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(AreaProjectDO::getId));
}
}

@ -20,18 +20,18 @@ public interface DistributionMapper extends BaseMapperX<DistributionDO> {
default PageResult<DistributionDO> selectPage(DistributionPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<DistributionDO>()
.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<DistributionDO> selectList(DistributionExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<DistributionDO>()
.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));
}

@ -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<EnergyDO> {
default PageResult<EnergyDO> selectPage(EnergyPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<EnergyDO>()
.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<EnergyDO> selectList(EnergyExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<EnergyDO>()
.betweenIfPresent(EnergyDO::getDtime, reqVO.getDtime())
.eqIfPresent(EnergyDO::getPc, reqVO.getPc())
.eqIfPresent(EnergyDO::getCdesktop, reqVO.getCdesktop())
.betweenIfPresent(EnergyDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(EnergyDO::getId));
}
}

@ -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<InfoDO> {
default PageResult<InfoDO> selectPage(InfoPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<InfoDO>()
.betweenIfPresent(InfoDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(InfoDO::getMsg, reqVO.getMsg())
.orderByDesc(InfoDO::getId));
}
default List<InfoDO> selectList(InfoExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<InfoDO>()
.betweenIfPresent(InfoDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(InfoDO::getMsg, reqVO.getMsg())
.orderByDesc(InfoDO::getId));
}
}

@ -21,7 +21,6 @@ public interface PolicyMapper extends BaseMapperX<PolicyDO> {
return selectPage(reqVO, new LambdaQueryWrapperX<PolicyDO>()
.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<PolicyDO> {
return selectList(new LambdaQueryWrapperX<PolicyDO>()
.eqIfPresent(PolicyDO::getRegion, reqVO.getRegion())
.eqIfPresent(PolicyDO::getPolicy, reqVO.getPolicy())
.eqIfPresent(PolicyDO::getIsshow, reqVO.getIsshow())
.betweenIfPresent(PolicyDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(PolicyDO::getId));
}

@ -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<ProjectDO> {
default PageResult<ProjectDO> selectPage(ProjectPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<ProjectDO>()
.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<ProjectDO> selectList(ProjectExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<ProjectDO>()
.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));
}
}

@ -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<AreaProjectDO> getAreaProjectList(Collection<Long> ids);
/**
*
*
* @param pageReqVO
* @return
*/
PageResult<AreaProjectDO> getAreaProjectPage(AreaProjectPageReqVO pageReqVO);
/**
* , Excel
*
* @param exportReqVO
* @return
*/
List<AreaProjectDO> getAreaProjectList(AreaProjectExportReqVO exportReqVO);
}

@ -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<AreaProjectDO> getAreaProjectList(Collection<Long> ids) {
return areaProjectMapper.selectBatchIds(ids);
}
@Override
public PageResult<AreaProjectDO> getAreaProjectPage(AreaProjectPageReqVO pageReqVO) {
return areaProjectMapper.selectPage(pageReqVO);
}
@Override
public List<AreaProjectDO> getAreaProjectList(AreaProjectExportReqVO exportReqVO) {
return areaProjectMapper.selectList(exportReqVO);
}
}

@ -50,7 +50,6 @@ public interface DistributionService {
* @return
*/
List<DistributionDO> getDistributionList(Collection<Long> ids);
List<DistributionDO> getAppDistributionList();
/**
*

@ -69,11 +69,6 @@ public class DistributionServiceImpl implements DistributionService {
return distributionMapper.selectBatchIds(ids);
}
@Override
public List<DistributionDO> getAppDistributionList() {
return distributionMapper.selectList();
}
@Override
public PageResult<DistributionDO> getDistributionPage(DistributionPageReqVO pageReqVO) {
return distributionMapper.selectPage(pageReqVO);

@ -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<EnergyDO> getEnergyList(Collection<Long> ids);
/**
*
*
* @param pageReqVO
* @return
*/
PageResult<EnergyDO> getEnergyPage(EnergyPageReqVO pageReqVO);
/**
* , Excel
*
* @param exportReqVO
* @return
*/
List<EnergyDO> getEnergyList(EnergyExportReqVO exportReqVO);
}

@ -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<EnergyDO> getEnergyList(Collection<Long> ids) {
return energyMapper.selectBatchIds(ids);
}
@Override
public PageResult<EnergyDO> getEnergyPage(EnergyPageReqVO pageReqVO) {
return energyMapper.selectPage(pageReqVO);
}
@Override
public List<EnergyDO> getEnergyList(EnergyExportReqVO exportReqVO) {
return energyMapper.selectList(exportReqVO);
}
}

@ -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<InfoDO> getInfoList(Collection<Long> ids);
/**
*
*
* @param pageReqVO
* @return
*/
PageResult<InfoDO> getInfoPage(InfoPageReqVO pageReqVO);
/**
* , Excel
*
* @param exportReqVO
* @return
*/
List<InfoDO> getInfoList(InfoExportReqVO exportReqVO);
}

@ -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<InfoDO> getInfoList(Collection<Long> ids) {
return infoMapper.selectBatchIds(ids);
}
@Override
public PageResult<InfoDO> getInfoPage(InfoPageReqVO pageReqVO) {
return infoMapper.selectPage(pageReqVO);
}
@Override
public List<InfoDO> getInfoList(InfoExportReqVO exportReqVO) {
return infoMapper.selectList(exportReqVO);
}
}

@ -50,7 +50,6 @@ public interface PolicyService {
* @return
*/
List<PolicyDO> getPolicyList(Collection<Long> ids);
List<PolicyDO> getAppPolicyList();
/**
*

@ -69,11 +69,6 @@ public class PolicyServiceImpl implements PolicyService {
return policyMapper.selectBatchIds(ids);
}
@Override
public List<PolicyDO> getAppPolicyList() {
return policyMapper.selectList();
}
@Override
public PageResult<PolicyDO> getPolicyPage(PolicyPageReqVO pageReqVO) {
return policyMapper.selectPage(pageReqVO);

@ -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<ProjectDO> getProjectList(Collection<Long> ids);
/**
*
*
* @param pageReqVO
* @return
*/
PageResult<ProjectDO> getProjectPage(ProjectPageReqVO pageReqVO);
/**
* , Excel
*
* @param exportReqVO
* @return
*/
List<ProjectDO> getProjectList(ProjectExportReqVO exportReqVO);
}

@ -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<ProjectDO> getProjectList(Collection<Long> ids) {
return projectMapper.selectBatchIds(ids);
}
@Override
public PageResult<ProjectDO> getProjectPage(ProjectPageReqVO pageReqVO) {
return projectMapper.selectPage(pageReqVO);
}
@Override
public List<ProjectDO> getProjectList(ProjectExportReqVO exportReqVO) {
return projectMapper.selectList(exportReqVO);
}
}

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.iocoder.yudao.module.bikmk.dal.mysql.areaproject.AreaProjectMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.iocoder.yudao.module.bikmk.dal.mysql.energy.EnergyMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.iocoder.yudao.module.bikmk.dal.mysql.info.InfoMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.iocoder.yudao.module.bikmk.dal.mysql.project.ProjectMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>

@ -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<AreaProjectDO> 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<AreaProjectDO> list = areaProjectService.getAreaProjectList(reqVO);
// 断言
assertEquals(1, list.size());
assertPojoEquals(dbAreaProject, list.get(0));
}
}

@ -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<DistributionDO> 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<DistributionDO> list = distributionService.getDistributionList(reqVO);

@ -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<EnergyDO> 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<EnergyDO> list = energyService.getEnergyList(reqVO);
// 断言
assertEquals(1, list.size());
assertPojoEquals(dbEnergy, list.get(0));
}
}

@ -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<InfoDO> 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<InfoDO> list = infoService.getInfoList(reqVO);
// 断言
assertEquals(1, list.size());
assertPojoEquals(dbInfo, list.get(0));
}
}

@ -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));
// 调用

@ -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<ProjectDO> 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<ProjectDO> list = projectService.getProjectList(reqVO);
// 断言
assertEquals(1, list.size());
assertPojoEquals(dbProject, list.get(0));
}
}

@ -36,9 +36,110 @@ public class GoViewDataController {
@Operation(summary = "查询分布信息")
@PreAuthorize("@ss.hasPermission('report:go-view-data:bikmk-distribution')")
@OperateLog(enable = false) // 不记录操作日志,因为不需要
public CommonResult<GoViewDataRespVO> bikmkDistributionList() {
//return success(goViewDataService.getDataBySQL(reqVO.getSql()));
return success(goViewDataService.getDataBySQL("select * from bikmk_distribution"));
public CommonResult<HashMap> bikmkDistributionList() {
GoViewDataRespVO respVO = goViewDataService.getDataBySQL("select name,value,position from bikmk_distribution");
List resA = respVO.getSource();
Iterator<Map> resAI = resA.iterator();
while(resAI.hasNext()) {
Map item = resAI.next();
String[] itemPositionArr = item.get("position").toString().split(",");
List<Number> itemPositionList = new ArrayList<>();
itemPositionList.add(Float.valueOf(itemPositionArr[0]));
itemPositionList.add(Float.valueOf(itemPositionArr[1]));
item.replace("position", itemPositionList);
}
HashMap<String, List> resB = new HashMap<String, List>();
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<List> bikmkPolicyList() {
GoViewDataRespVO respVO = goViewDataService.getDataBySQL("select region,policy from bikmk_policy");
List resA = respVO.getSource();
Iterator<Map> resAI = resA.iterator();
List<List> itemListA = new ArrayList<>();
while(resAI.hasNext()) {
Map item = resAI.next();
List<String> 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<List> bikmkProjectList() {
GoViewDataRespVO respVO = goViewDataService.getDataBySQL("select custom,region,type,schedule,money from bikmk_project");
List resA = respVO.getSource();
Iterator<Map> resAI = resA.iterator();
List<List> itemListA = new ArrayList<>();
while(resAI.hasNext()) {
Map item = resAI.next();
List<String> 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<List> bikmkAreaProjectList() {
GoViewDataRespVO respVO = goViewDataService.getDataBySQL("select region,schedule,money from bikmk_area_project");
List resA = respVO.getSource();
Iterator<Map> resAI = resA.iterator();
List<List> itemListA = new ArrayList<>();
while(resAI.hasNext()) {
Map item = resAI.next();
List<String> 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<List> bikmkInfoList() {
GoViewDataRespVO respVO = goViewDataService.getDataBySQL("select msg from bikmk_info");
List resA = respVO.getSource();
Iterator<Map> resAI = resA.iterator();
List<List> itemListA = new ArrayList<>();
while(resAI.hasNext()) {
Map item = resAI.next();
List<String> 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<GoViewDataRespVO> 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")

@ -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'
})
}

@ -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'
})
}

@ -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'
})
}

@ -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'
})
}

@ -0,0 +1,229 @@
<template>
<div class="app-container">
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="区域" prop="region">
<el-input v-model="queryParams.region" placeholder="请输入区域" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="进度17%" prop="schedule">
<el-input v-model="queryParams.schedule" placeholder="请输入进度17%" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="金额xxx万" prop="money">
<el-input v-model="queryParams.money" placeholder="请输入金额xxx万" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="创建时间" prop="createTime">
<el-date-picker v-model="queryParams.createTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="daterange"
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']" />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<!-- 操作工具栏 -->
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['bikmk:area-project:create']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading"
v-hasPermi="['bikmk:area-project:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column label="编号" align="center" prop="id" />
<el-table-column label="区域" align="center" prop="region" />
<el-table-column label="进度17%" align="center" prop="schedule" />
<el-table-column label="金额xxx万" align="center" prop="money" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template v-slot="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template v-slot="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['bikmk:area-project:update']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['bikmk:area-project:delete']">删除</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
@pagination="getList"/>
<!-- 对话框(添加 / 修改) -->
<el-dialog :title="title" :visible.sync="open" width="500px" v-dialogDrag append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="区域" prop="region">
<el-input v-model="form.region" placeholder="请输入区域" />
</el-form-item>
<el-form-item label="进度17%" prop="schedule">
<el-input v-model="form.schedule" placeholder="请输入进度17%" />
</el-form-item>
<el-form-item label="金额xxx万" prop="money">
<el-input v-model="form.money" placeholder="请输入金额xxx万" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { createAreaProject, updateAreaProject, deleteAreaProject, getAreaProject, getAreaProjectPage, exportAreaProjectExcel } from "@/api/bikmk/areaProject";
export default {
name: "AreaProject",
components: {
},
data() {
return {
//
loading: true,
//
exportLoading: false,
//
showSearch: true,
//
total: 0,
//
list: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNo: 1,
pageSize: 10,
region: null,
schedule: null,
money: null,
createTime: [],
},
//
form: {},
//
rules: {
region: [{ required: true, message: "区域不能为空", trigger: "blur" }],
schedule: [{ required: true, message: "进度17%不能为空", trigger: "blur" }],
money: [{ required: true, message: "金额xxx万不能为空", trigger: "blur" }],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询列表 */
getList() {
this.loading = true;
//
getAreaProjectPage(this.queryParams).then(response => {
this.list = response.data.list;
this.total = response.data.total;
this.loading = false;
});
},
/** 取消按钮 */
cancel() {
this.open = false;
this.reset();
},
/** 表单重置 */
reset() {
this.form = {
id: undefined,
region: undefined,
schedule: undefined,
money: undefined,
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNo = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加信息对比";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id;
getAreaProject(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改信息对比";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (!valid) {
return;
}
//
if (this.form.id != null) {
updateAreaProject(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
return;
}
//
createAreaProject(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
});
},
/** 删除按钮操作 */
handleDelete(row) {
const id = row.id;
this.$modal.confirm('是否确认删除信息对比编号为"' + id + '"的数据项?').then(function() {
return deleteAreaProject(id);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
//
let params = {...this.queryParams};
params.pageNo = undefined;
params.pageSize = undefined;
this.$modal.confirm('是否确认导出所有信息对比数据项?').then(() => {
this.exportLoading = true;
return exportAreaProjectExcel(params);
}).then(response => {
this.$download.excel(response, '信息对比.xls');
this.exportLoading = false;
}).catch(() => {});
}
}
};
</script>

@ -6,9 +6,6 @@
<el-form-item label="区域名称" prop="name">
<el-input v-model="queryParams.name" placeholder="请输入区域名称" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="地图圆圈大小" prop="value">
<el-input v-model="queryParams.value" placeholder="请输入地图圆圈大小" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="坐标" prop="position">
<el-input v-model="queryParams.position" placeholder="请输入坐标" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
@ -16,6 +13,9 @@
<el-date-picker v-model="queryParams.createTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="daterange"
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']" />
</el-form-item>
<el-form-item label="地图圆圈大小" prop="value">
<el-input v-model="queryParams.value" placeholder="请输入地图圆圈大小" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" @click="resetQuery"></el-button>
@ -39,13 +39,13 @@
<el-table v-loading="loading" :data="list">
<el-table-column label="编号" align="center" prop="id" />
<el-table-column label="区域名称" align="center" prop="name" />
<el-table-column label="地图圆圈大小" align="center" prop="value" />
<el-table-column label="坐标" align="center" prop="position" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template v-slot="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="地图圆圈大小" align="center" prop="value" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template v-slot="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
@ -65,12 +65,12 @@
<el-form-item label="区域名称" prop="name">
<el-input v-model="form.name" placeholder="请输入区域名称" />
</el-form-item>
<el-form-item label="地图圆圈大小" prop="value">
<el-input v-model="form.value" placeholder="请输入地图圆圈大小" />
</el-form-item>
<el-form-item label="坐标" prop="position">
<el-input v-model="form.position" placeholder="请输入坐标" />
</el-form-item>
<el-form-item label="地图圆圈大小" prop="value">
<el-input v-model="form.value" placeholder="请输入地图圆圈大小" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
@ -108,17 +108,17 @@ export default {
pageNo: 1,
pageSize: 10,
name: null,
value: null,
position: null,
createTime: [],
value: null,
},
//
form: {},
//
rules: {
name: [{ required: true, message: "区域名称不能为空", trigger: "blur" }],
value: [{ required: true, message: "地图圆圈大小不能为空", trigger: "blur" }],
position: [{ required: true, message: "坐标不能为空", trigger: "blur" }],
value: [{ required: true, message: "地图圆圈大小不能为空", trigger: "blur" }],
}
};
},
@ -146,8 +146,8 @@ export default {
this.form = {
id: undefined,
name: undefined,
value: undefined,
position: undefined,
value: undefined,
};
this.resetForm("form");
},

@ -0,0 +1,234 @@
<template>
<div class="app-container">
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="日期" prop="dtime">
<el-date-picker v-model="queryParams.dtime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="daterange"
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']" />
</el-form-item>
<el-form-item label="PC电脑" prop="pc">
<el-input v-model="queryParams.pc" placeholder="请输入PC电脑" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="云桌面" prop="cdesktop">
<el-input v-model="queryParams.cdesktop" placeholder="请输入云桌面" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="创建时间" prop="createTime">
<el-date-picker v-model="queryParams.createTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="daterange"
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']" />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<!-- 操作工具栏 -->
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['bikmk:energy:create']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading"
v-hasPermi="['bikmk:energy:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column label="编号" align="center" prop="id" />
<el-table-column label="日期" align="center" prop="dtime" width="180">
<template v-slot="scope">
<span>{{ parseTime(scope.row.dtime) }}</span>
</template>
</el-table-column>
<el-table-column label="PC电脑" align="center" prop="pc" />
<el-table-column label="云桌面" align="center" prop="cdesktop" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template v-slot="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template v-slot="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['bikmk:energy:update']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['bikmk:energy:delete']">删除</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
@pagination="getList"/>
<!-- 对话框(添加 / 修改) -->
<el-dialog :title="title" :visible.sync="open" width="500px" v-dialogDrag append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="日期" prop="dtime">
<el-date-picker clearable v-model="form.dtime" type="date" value-format="timestamp" placeholder="选择日期" />
</el-form-item>
<el-form-item label="PC电脑" prop="pc">
<el-input v-model="form.pc" placeholder="请输入PC电脑" />
</el-form-item>
<el-form-item label="云桌面" prop="cdesktop">
<el-input v-model="form.cdesktop" placeholder="请输入云桌面" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { createEnergy, updateEnergy, deleteEnergy, getEnergy, getEnergyPage, exportEnergyExcel } from "@/api/bikmk/energy";
export default {
name: "Energy",
components: {
},
data() {
return {
//
loading: true,
//
exportLoading: false,
//
showSearch: true,
//
total: 0,
//
list: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNo: 1,
pageSize: 10,
dtime: [],
pc: null,
cdesktop: null,
createTime: [],
},
//
form: {},
//
rules: {
dtime: [{ required: true, message: "日期不能为空", trigger: "blur" }],
pc: [{ required: true, message: "PC电脑不能为空", trigger: "blur" }],
cdesktop: [{ required: true, message: "云桌面不能为空", trigger: "blur" }],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询列表 */
getList() {
this.loading = true;
//
getEnergyPage(this.queryParams).then(response => {
this.list = response.data.list;
this.total = response.data.total;
this.loading = false;
});
},
/** 取消按钮 */
cancel() {
this.open = false;
this.reset();
},
/** 表单重置 */
reset() {
this.form = {
id: undefined,
dtime: undefined,
pc: undefined,
cdesktop: undefined,
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNo = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加能耗";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id;
getEnergy(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改能耗";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (!valid) {
return;
}
//
if (this.form.id != null) {
updateEnergy(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
return;
}
//
createEnergy(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
});
},
/** 删除按钮操作 */
handleDelete(row) {
const id = row.id;
this.$modal.confirm('是否确认删除能耗编号为"' + id + '"的数据项?').then(function() {
return deleteEnergy(id);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
//
let params = {...this.queryParams};
params.pageNo = undefined;
params.pageSize = undefined;
this.$modal.confirm('是否确认导出所有能耗数据项?').then(() => {
this.exportLoading = true;
return exportEnergyExcel(params);
}).then(response => {
this.$download.excel(response, '能耗.xls');
this.exportLoading = false;
}).catch(() => {});
}
}
};
</script>

@ -0,0 +1,209 @@
<template>
<div class="app-container">
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="创建时间" prop="createTime">
<el-date-picker v-model="queryParams.createTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="daterange"
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']" />
</el-form-item>
<el-form-item label="信息" prop="msg">
<el-input v-model="queryParams.msg" placeholder="请输入信息" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<!-- 操作工具栏 -->
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['bikmk:info:create']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading"
v-hasPermi="['bikmk:info:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column label="编号" align="center" prop="id" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template v-slot="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="信息" align="center" prop="msg" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template v-slot="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['bikmk:info:update']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['bikmk:info:delete']">删除</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
@pagination="getList"/>
<!-- 对话框(添加 / 修改) -->
<el-dialog :title="title" :visible.sync="open" width="500px" v-dialogDrag append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="信息" prop="msg">
<el-input v-model="form.msg" placeholder="请输入信息" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { createInfo, updateInfo, deleteInfo, getInfo, getInfoPage, exportInfoExcel } from "@/api/bikmk/info";
export default {
name: "Info",
components: {
},
data() {
return {
//
loading: true,
//
exportLoading: false,
//
showSearch: true,
//
total: 0,
//
list: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNo: 1,
pageSize: 10,
createTime: [],
msg: null,
},
//
form: {},
//
rules: {
msg: [{ required: true, message: "信息不能为空", trigger: "blur" }],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询列表 */
getList() {
this.loading = true;
//
getInfoPage(this.queryParams).then(response => {
this.list = response.data.list;
this.total = response.data.total;
this.loading = false;
});
},
/** 取消按钮 */
cancel() {
this.open = false;
this.reset();
},
/** 表单重置 */
reset() {
this.form = {
id: undefined,
msg: undefined,
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNo = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加信息栏";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id;
getInfo(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改信息栏";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (!valid) {
return;
}
//
if (this.form.id != null) {
updateInfo(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
return;
}
//
createInfo(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
});
},
/** 删除按钮操作 */
handleDelete(row) {
const id = row.id;
this.$modal.confirm('是否确认删除信息栏编号为"' + id + '"的数据项?').then(function() {
return deleteInfo(id);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
//
let params = {...this.queryParams};
params.pageNo = undefined;
params.pageSize = undefined;
this.$modal.confirm('是否确认导出所有信息栏数据项?').then(() => {
this.exportLoading = true;
return exportInfoExcel(params);
}).then(response => {
this.$download.excel(response, '信息栏.xls');
this.exportLoading = false;
}).catch(() => {});
}
}
};
</script>

@ -4,18 +4,11 @@
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="区域" prop="region">
<el-select v-model="queryParams.region" placeholder="请选择区域" clearable size="small">
<el-option label="请选择字典生成" value="" />
</el-select>
<el-input v-model="queryParams.region" placeholder="请输入区域" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="政策信息" prop="policy">
<el-input v-model="queryParams.policy" placeholder="请输入政策信息" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="是否显示" prop="isshow">
<el-select v-model="queryParams.isshow" placeholder="请选择是否显示" clearable size="small">
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
<el-form-item label="创建时间" prop="createTime">
<el-date-picker v-model="queryParams.createTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="daterange"
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']" />
@ -44,7 +37,6 @@
<el-table-column label="编号" align="center" prop="id" />
<el-table-column label="区域" align="center" prop="region" />
<el-table-column label="政策信息" align="center" prop="policy" />
<el-table-column label="是否显示" align="center" prop="isshow" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template v-slot="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
@ -67,18 +59,11 @@
<el-dialog :title="title" :visible.sync="open" width="500px" v-dialogDrag append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="区域" prop="region">
<el-select v-model="form.region" placeholder="请选择区域">
<el-option label="请选择字典生成" value="" />
</el-select>
<el-input v-model="form.region" placeholder="请输入区域" />
</el-form-item>
<el-form-item label="政策信息" prop="policy">
<el-input v-model="form.policy" placeholder="请输入政策信息" />
</el-form-item>
<el-form-item label="是否显示" prop="isshow">
<el-radio-group v-model="form.isshow">
<el-radio label="1">请选择字典生成</el-radio>
</el-radio-group>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
@ -117,16 +102,14 @@ export default {
pageSize: 10,
region: null,
policy: null,
isshow: null,
createTime: [],
},
//
form: {},
//
rules: {
region: [{ required: true, message: "区域不能为空", trigger: "change" }],
region: [{ required: true, message: "区域不能为空", trigger: "blur" }],
policy: [{ required: true, message: "政策信息不能为空", trigger: "blur" }],
isshow: [{ required: true, message: "是否显示不能为空", trigger: "blur" }],
}
};
},
@ -155,7 +138,6 @@ export default {
id: undefined,
region: undefined,
policy: undefined,
isshow: undefined,
};
this.resetForm("form");
},

@ -0,0 +1,249 @@
<template>
<div class="app-container">
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="客户名" prop="custom">
<el-input v-model="queryParams.custom" placeholder="请输入客户名" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="区域" prop="region">
<el-input v-model="queryParams.region" placeholder="请输入区域" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="类型" prop="type">
<el-input v-model="queryParams.type" placeholder="请输入类型" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="创建时间" prop="createTime">
<el-date-picker v-model="queryParams.createTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="daterange"
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']" />
</el-form-item>
<el-form-item label="进度17%" prop="schedule">
<el-input v-model="queryParams.schedule" placeholder="请输入进度17%" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="金额xxx元" prop="money">
<el-input v-model="queryParams.money" placeholder="请输入金额xxx元" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<!-- 操作工具栏 -->
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['bikmk:project:create']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading"
v-hasPermi="['bikmk:project:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column label="编号" align="center" prop="id" />
<el-table-column label="客户名" align="center" prop="custom" />
<el-table-column label="区域" align="center" prop="region" />
<el-table-column label="类型" align="center" prop="type" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template v-slot="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="进度17%" align="center" prop="schedule" />
<el-table-column label="金额xxx元" align="center" prop="money" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template v-slot="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['bikmk:project:update']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['bikmk:project:delete']">删除</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
@pagination="getList"/>
<!-- 对话框(添加 / 修改) -->
<el-dialog :title="title" :visible.sync="open" width="500px" v-dialogDrag append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="客户名" prop="custom">
<el-input v-model="form.custom" placeholder="请输入客户名" />
</el-form-item>
<el-form-item label="区域" prop="region">
<el-input v-model="form.region" placeholder="请输入区域" />
</el-form-item>
<el-form-item label="类型" prop="type">
<el-input v-model="form.type" placeholder="请输入类型" />
</el-form-item>
<el-form-item label="进度17%" prop="schedule">
<el-input v-model="form.schedule" placeholder="请输入进度17%" />
</el-form-item>
<el-form-item label="金额xxx元" prop="money">
<el-input v-model="form.money" placeholder="请输入金额xxx元" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { createProject, updateProject, deleteProject, getProject, getProjectPage, exportProjectExcel } from "@/api/bikmk/project";
export default {
name: "Project",
components: {
},
data() {
return {
//
loading: true,
//
exportLoading: false,
//
showSearch: true,
//
total: 0,
//
list: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNo: 1,
pageSize: 10,
custom: null,
region: null,
type: null,
createTime: [],
schedule: null,
money: null,
},
//
form: {},
//
rules: {
custom: [{ required: true, message: "客户名不能为空", trigger: "blur" }],
region: [{ required: true, message: "区域不能为空", trigger: "blur" }],
type: [{ required: true, message: "类型不能为空", trigger: "blur" }],
schedule: [{ required: true, message: "进度17%不能为空", trigger: "blur" }],
money: [{ required: true, message: "金额xxx元不能为空", trigger: "blur" }],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询列表 */
getList() {
this.loading = true;
//
getProjectPage(this.queryParams).then(response => {
this.list = response.data.list;
this.total = response.data.total;
this.loading = false;
});
},
/** 取消按钮 */
cancel() {
this.open = false;
this.reset();
},
/** 表单重置 */
reset() {
this.form = {
id: undefined,
custom: undefined,
region: undefined,
type: undefined,
schedule: undefined,
money: undefined,
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNo = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加项目信息";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id;
getProject(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改项目信息";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (!valid) {
return;
}
//
if (this.form.id != null) {
updateProject(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
return;
}
//
createProject(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
});
},
/** 删除按钮操作 */
handleDelete(row) {
const id = row.id;
this.$modal.confirm('是否确认删除项目信息编号为"' + id + '"的数据项?').then(function() {
return deleteProject(id);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
//
let params = {...this.queryParams};
params.pageNo = undefined;
params.pageSize = undefined;
this.$modal.confirm('是否确认导出所有项目信息数据项?').then(() => {
this.exportLoading = true;
return exportProjectExcel(params);
}).then(response => {
this.$download.excel(response, '项目信息.xls');
this.exportLoading = false;
}).catch(() => {});
}
}
};
</script>
Loading…
Cancel
Save