commit
9eb4f49b4d
File diff suppressed because one or more lines are too long
@ -0,0 +1,95 @@
|
||||
package cn.iocoder.yudao.module.report.controller.admin.ureport;
|
||||
|
||||
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.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
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.report.controller.admin.ureport.vo.*;
|
||||
import cn.iocoder.yudao.module.report.dal.dataobject.ureport.UReportDataDO;
|
||||
import cn.iocoder.yudao.module.report.service.ureport.UReportDataService;
|
||||
|
||||
@Tag(name = "管理后台 - Ureport2报表")
|
||||
@RestController
|
||||
@RequestMapping("/report/ureport-data")
|
||||
@Validated
|
||||
public class UReportDataController {
|
||||
|
||||
@Resource
|
||||
private UReportDataService uReportDataService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建Ureport2报表")
|
||||
@PreAuthorize("@ss.hasPermission('report:ureport-data:create')")
|
||||
public CommonResult<Long> createUReportData(@Valid @RequestBody UReportDataSaveReqVO createReqVO) {
|
||||
return success(uReportDataService.createUReportData(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新Ureport2报表")
|
||||
@PreAuthorize("@ss.hasPermission('report:ureport-data:update')")
|
||||
public CommonResult<Boolean> updateUReportData(@Valid @RequestBody UReportDataSaveReqVO updateReqVO) {
|
||||
uReportDataService.updateUReportData(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除Ureport2报表")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('report:ureport-data:delete')")
|
||||
public CommonResult<Boolean> deleteUReportData(@RequestParam("id") Long id) {
|
||||
uReportDataService.deleteUReportData(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得Ureport2报表")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('report:ureport-data:query')")
|
||||
public CommonResult<UReportDataRespVO> getUReportData(@RequestParam("id") Long id) {
|
||||
UReportDataDO uReportData = uReportDataService.getUReportData(id);
|
||||
return success(BeanUtils.toBean(uReportData, UReportDataRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得Ureport2报表分页")
|
||||
@PreAuthorize("@ss.hasPermission('report:ureport-data:query')")
|
||||
public CommonResult<PageResult<UReportDataRespVO>> getUReportDataPage(@Valid UReportDataPageReqVO pageReqVO) {
|
||||
PageResult<UReportDataDO> pageResult = uReportDataService.getUReportDataPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, UReportDataRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出Ureport2报表 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('report:ureport-data:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportUReportDataExcel(@Valid UReportDataPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<UReportDataDO> list = uReportDataService.getUReportDataPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "Ureport2报表.xls", "数据", UReportDataRespVO.class,
|
||||
BeanUtils.toBean(list, UReportDataRespVO.class));
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,95 +0,0 @@
|
||||
package cn.iocoder.yudao.module.report.controller.admin.ureport;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
||||
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
|
||||
import cn.iocoder.yudao.module.report.controller.admin.ureport.vo.UreportFilePageReqVO;
|
||||
import cn.iocoder.yudao.module.report.controller.admin.ureport.vo.UreportFileRespVO;
|
||||
import cn.iocoder.yudao.module.report.controller.admin.ureport.vo.UreportFileSaveReqVO;
|
||||
import cn.iocoder.yudao.module.report.dal.dataobject.ureport.UreportFileDO;
|
||||
import cn.iocoder.yudao.module.report.service.ureport.UreportFileService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.Valid;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
|
||||
|
||||
// TODO @赤焰: Ureport 改成 UReport
|
||||
@Tag(name = "管理后台 - UReport2 报表")
|
||||
@RestController
|
||||
@RequestMapping("/report/ureport-file")
|
||||
@Validated
|
||||
public class UreportFileController {
|
||||
|
||||
@Resource
|
||||
private UreportFileService ureportFileService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建 UReport2 报表")
|
||||
@PreAuthorize("@ss.hasPermission('report:ureport-file:create')")
|
||||
public CommonResult<Long> createUreportFile(@Valid @RequestBody UreportFileSaveReqVO createReqVO) {
|
||||
return success(ureportFileService.createUreportFile(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新 UReport2 报表")
|
||||
@PreAuthorize("@ss.hasPermission('report:ureport-file:update')")
|
||||
public CommonResult<Boolean> updateUreportFile(@Valid @RequestBody UreportFileSaveReqVO updateReqVO) {
|
||||
ureportFileService.updateUreportFile(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除 UReport2 报表")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('report:ureport-file:delete')")
|
||||
public CommonResult<Boolean> deleteUreportFile(@RequestParam("id") Long id) {
|
||||
ureportFileService.deleteUreportFile(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得 UReport2 报表")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('report:ureport-file:query')")
|
||||
public CommonResult<UreportFileRespVO> getUreportFile(@RequestParam("id") Long id) {
|
||||
UreportFileDO ureportFile = ureportFileService.getUreportFile(id);
|
||||
return success(BeanUtils.toBean(ureportFile, UreportFileRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得 UReport2 报表分页")
|
||||
@PreAuthorize("@ss.hasPermission('report:ureport-file:query')")
|
||||
public CommonResult<PageResult<UreportFileRespVO>> getUreportFilePage(@Valid UreportFilePageReqVO pageReqVO) {
|
||||
PageResult<UreportFileDO> pageResult = ureportFileService.getUreportFilePage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, UreportFileRespVO.class));
|
||||
}
|
||||
|
||||
// TODO @赤焰:导出是必须的么?没用可以删除哈
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出 UReport2 报表 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('report:ureport-file:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportUreportFileExcel(@Valid UreportFilePageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<UreportFileDO> list = ureportFileService.getUreportFilePage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "Ureport2报表.xls", "数据", UreportFileRespVO.class,
|
||||
BeanUtils.toBean(list, UreportFileRespVO.class));
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,33 +1,30 @@
|
||||
package cn.iocoder.yudao.module.report.controller.admin.ureport.vo;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
||||
import cn.iocoder.yudao.framework.common.validation.InEnum;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import javax.validation.constraints.*;
|
||||
import java.util.*;
|
||||
|
||||
@Schema(description = "管理后台 - Ureport2报表新增/修改 Request VO")
|
||||
@Data
|
||||
public class UreportFileSaveReqVO {
|
||||
public class UReportDataSaveReqVO {
|
||||
|
||||
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9948")
|
||||
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "26175")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "文件名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
|
||||
@Schema(description = "文件名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
|
||||
@NotEmpty(message = "文件名称不能为空")
|
||||
private String fileName;
|
||||
private String name;
|
||||
|
||||
@Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@NotNull(message = "状态不能为空")
|
||||
@InEnum(CommonStatusEnum.class)
|
||||
private Integer status;
|
||||
|
||||
@Schema(description = "文件内容")
|
||||
private String fileContent;
|
||||
private String content;
|
||||
|
||||
@Schema(description = "备注", example = "随便")
|
||||
@Schema(description = "备注", example = "你猜")
|
||||
private String remark;
|
||||
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,60 @@
|
||||
package cn.iocoder.yudao.module.report.dal.mysql.ureport;
|
||||
|
||||
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.report.dal.dataobject.ureport.UReportDataDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import cn.iocoder.yudao.module.report.controller.admin.ureport.vo.*;
|
||||
|
||||
/**
|
||||
* Ureport2报表 Mapper
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@Mapper
|
||||
public interface UReportDataMapper extends BaseMapperX<UReportDataDO> {
|
||||
|
||||
default PageResult<UReportDataDO> selectPage(UReportDataPageReqVO reqVO) {
|
||||
return selectPage(reqVO, new LambdaQueryWrapperX<UReportDataDO>()
|
||||
.likeIfPresent(UReportDataDO::getName, reqVO.getName())
|
||||
.eqIfPresent(UReportDataDO::getStatus, reqVO.getStatus())
|
||||
.eqIfPresent(UReportDataDO::getRemark, reqVO.getRemark())
|
||||
.betweenIfPresent(UReportDataDO::getCreateTime, reqVO.getCreateTime())
|
||||
.orderByDesc(UReportDataDO::getId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据名字查询报表
|
||||
* @param name 报表名字
|
||||
* @return
|
||||
*/
|
||||
default List<UReportDataDO> selectByName(String name){
|
||||
return selectList(new LambdaQueryWrapperX<UReportDataDO>()
|
||||
.eqIfPresent(UReportDataDO::getName,name));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据名字查询报表
|
||||
* @param name 报表名字
|
||||
* @return
|
||||
*/
|
||||
default UReportDataDO selectOneByName(String name){
|
||||
return selectOne(new LambdaQueryWrapperX<UReportDataDO>()
|
||||
.eqIfPresent(UReportDataDO::getName,name));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据名字删除报表
|
||||
* @param name 报表名字
|
||||
* @return
|
||||
*/
|
||||
default int deleteByName(String name){
|
||||
return delete(new LambdaQueryWrapperX<UReportDataDO>()
|
||||
.eqIfPresent(UReportDataDO::getName,name));
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,29 +0,0 @@
|
||||
package cn.iocoder.yudao.module.report.dal.mysql.ureport;
|
||||
|
||||
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.report.dal.dataobject.ureport.UreportFileDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import cn.iocoder.yudao.module.report.controller.admin.ureport.vo.*;
|
||||
|
||||
/**
|
||||
* Ureport2报表 Mapper
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@Mapper
|
||||
public interface UreportFileMapper extends BaseMapperX<UreportFileDO> {
|
||||
|
||||
default PageResult<UreportFileDO> selectPage(UreportFilePageReqVO reqVO) {
|
||||
return selectPage(reqVO, new LambdaQueryWrapperX<UreportFileDO>()
|
||||
.likeIfPresent(UreportFileDO::getFileName, reqVO.getFileName())
|
||||
.eqIfPresent(UreportFileDO::getStatus, reqVO.getStatus())
|
||||
.eqIfPresent(UreportFileDO::getRemark, reqVO.getRemark())
|
||||
.betweenIfPresent(UreportFileDO::getCreateTime, reqVO.getCreateTime())
|
||||
.orderByDesc(UreportFileDO::getId));
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,17 @@
|
||||
package cn.iocoder.yudao.module.report.framework.security.config;
|
||||
|
||||
import lombok.Data;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
|
||||
/**
|
||||
* UReport配置类
|
||||
*
|
||||
* @author 赤焰
|
||||
*/
|
||||
@Data
|
||||
@ConfigurationProperties(prefix = "ureport.provider.database")
|
||||
public class UReportProperties {
|
||||
private String name = "数据库文件系统";
|
||||
private String prefix = "db-";
|
||||
private boolean disabled = false;
|
||||
}
|
||||
@ -0,0 +1,94 @@
|
||||
package cn.iocoder.yudao.module.report.service.ureport;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import cn.iocoder.yudao.module.report.controller.admin.ureport.vo.*;
|
||||
import cn.iocoder.yudao.module.report.dal.dataobject.ureport.UReportDataDO;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
|
||||
import cn.iocoder.yudao.module.report.dal.mysql.ureport.UReportDataMapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static cn.iocoder.yudao.module.report.enums.ErrorCodeConstants.*;
|
||||
|
||||
/**
|
||||
* Ureport2报表 Service 实现类
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
public class UReportDataServiceImpl implements UReportDataService {
|
||||
|
||||
@Resource
|
||||
private UReportDataMapper uReportDataMapper;
|
||||
|
||||
@Override
|
||||
public Long createUReportData(UReportDataSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
UReportDataDO uReportData = BeanUtils.toBean(createReqVO, UReportDataDO.class);
|
||||
uReportDataMapper.insert(uReportData);
|
||||
// 返回
|
||||
return uReportData.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateUReportData(UReportDataSaveReqVO updateReqVO) {
|
||||
// 校验存在
|
||||
validateUReportDataExists(updateReqVO.getId());
|
||||
// 更新
|
||||
UReportDataDO updateObj = BeanUtils.toBean(updateReqVO, UReportDataDO.class);
|
||||
uReportDataMapper.updateById(updateObj);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteUReportData(Long id) {
|
||||
// 校验存在
|
||||
validateUReportDataExists(id);
|
||||
// 删除
|
||||
uReportDataMapper.deleteById(id);
|
||||
}
|
||||
|
||||
private void validateUReportDataExists(Long id) {
|
||||
if (uReportDataMapper.selectById(id) == null) {
|
||||
throw exception(REPORT_DATA_NOT_EXISTS);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void validateUReportDataExists(String name) {
|
||||
if (uReportDataMapper.selectByName(name) == null) {
|
||||
throw exception(REPORT_DATA_NOT_EXISTS);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public UReportDataDO getUReportData(Long id) {
|
||||
return uReportDataMapper.selectById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<UReportDataDO> getUReportDataPage(UReportDataPageReqVO pageReqVO) {
|
||||
return uReportDataMapper.selectPage(pageReqVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int deleteByName(String name) {
|
||||
return uReportDataMapper.deleteByName(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public UReportDataDO selectOneByName(String name) {
|
||||
return uReportDataMapper.selectOneByName(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<UReportDataDO> getReportDataList() {
|
||||
return uReportDataMapper.selectList();
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,135 @@
|
||||
package cn.iocoder.yudao.module.report.service.ureport;
|
||||
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
|
||||
|
||||
import cn.iocoder.yudao.module.report.controller.admin.ureport.vo.*;
|
||||
import cn.iocoder.yudao.module.report.dal.dataobject.ureport.UReportDataDO;
|
||||
import cn.iocoder.yudao.module.report.dal.mysql.ureport.UReportDataMapper;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
|
||||
import org.springframework.context.annotation.Import;
|
||||
|
||||
import static cn.iocoder.yudao.module.report.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 org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
/**
|
||||
* {@link UReportDataServiceImpl} 的单元测试类
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@Import(UReportDataServiceImpl.class)
|
||||
public class UReportDataServiceImplTest extends BaseDbUnitTest {
|
||||
|
||||
@Resource
|
||||
private UReportDataServiceImpl uReportDataService;
|
||||
|
||||
@Resource
|
||||
private UReportDataMapper uReportDataMapper;
|
||||
|
||||
@Test
|
||||
public void testCreateUReportData_success() {
|
||||
// 准备参数
|
||||
UReportDataSaveReqVO createReqVO = randomPojo(UReportDataSaveReqVO.class).setId(null);
|
||||
|
||||
// 调用
|
||||
Long uReportDataId = uReportDataService.createUReportData(createReqVO);
|
||||
// 断言
|
||||
assertNotNull(uReportDataId);
|
||||
// 校验记录的属性是否正确
|
||||
UReportDataDO uReportData = uReportDataMapper.selectById(uReportDataId);
|
||||
assertPojoEquals(createReqVO, uReportData, "id");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUpdateUReportData_success() {
|
||||
// mock 数据
|
||||
UReportDataDO dbUReportData = randomPojo(UReportDataDO.class);
|
||||
uReportDataMapper.insert(dbUReportData);// @Sql: 先插入出一条存在的数据
|
||||
// 准备参数
|
||||
UReportDataSaveReqVO updateReqVO = randomPojo(UReportDataSaveReqVO.class, o -> {
|
||||
o.setId(dbUReportData.getId()); // 设置更新的 ID
|
||||
});
|
||||
|
||||
// 调用
|
||||
uReportDataService.updateUReportData(updateReqVO);
|
||||
// 校验是否更新正确
|
||||
UReportDataDO uReportData = uReportDataMapper.selectById(updateReqVO.getId()); // 获取最新的
|
||||
assertPojoEquals(updateReqVO, uReportData);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUpdateUReportData_notExists() {
|
||||
// 准备参数
|
||||
UReportDataSaveReqVO updateReqVO = randomPojo(UReportDataSaveReqVO.class);
|
||||
|
||||
// 调用, 并断言异常
|
||||
assertServiceException(() -> uReportDataService.updateUReportData(updateReqVO), REPORT_DATA_NOT_EXISTS);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDeleteUReportData_success() {
|
||||
// mock 数据
|
||||
UReportDataDO dbUReportData = randomPojo(UReportDataDO.class);
|
||||
uReportDataMapper.insert(dbUReportData);// @Sql: 先插入出一条存在的数据
|
||||
// 准备参数
|
||||
Long id = dbUReportData.getId();
|
||||
|
||||
// 调用
|
||||
uReportDataService.deleteUReportData(id);
|
||||
// 校验数据不存在了
|
||||
assertNull(uReportDataMapper.selectById(id));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDeleteUReportData_notExists() {
|
||||
// 准备参数
|
||||
Long id = randomLongId();
|
||||
|
||||
// 调用, 并断言异常
|
||||
assertServiceException(() -> uReportDataService.deleteUReportData(id), REPORT_DATA_NOT_EXISTS);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解
|
||||
public void testGetUReportDataPage() {
|
||||
// mock 数据
|
||||
UReportDataDO dbUReportData = randomPojo(UReportDataDO.class, o -> { // 等会查询到
|
||||
o.setName(null);
|
||||
o.setStatus(null);
|
||||
o.setRemark(null);
|
||||
o.setCreateTime(null);
|
||||
});
|
||||
uReportDataMapper.insert(dbUReportData);
|
||||
// 测试 name 不匹配
|
||||
uReportDataMapper.insert(cloneIgnoreId(dbUReportData, o -> o.setName(null)));
|
||||
// 测试 status 不匹配
|
||||
uReportDataMapper.insert(cloneIgnoreId(dbUReportData, o -> o.setStatus(null)));
|
||||
// 测试 remark 不匹配
|
||||
uReportDataMapper.insert(cloneIgnoreId(dbUReportData, o -> o.setRemark(null)));
|
||||
// 测试 createTime 不匹配
|
||||
uReportDataMapper.insert(cloneIgnoreId(dbUReportData, o -> o.setCreateTime(null)));
|
||||
// 准备参数
|
||||
UReportDataPageReqVO reqVO = new UReportDataPageReqVO();
|
||||
reqVO.setName(null);
|
||||
reqVO.setStatus(null);
|
||||
reqVO.setRemark(null);
|
||||
reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28));
|
||||
|
||||
// 调用
|
||||
PageResult<UReportDataDO> pageResult = uReportDataService.getUReportDataPage(reqVO);
|
||||
// 断言
|
||||
assertEquals(1, pageResult.getTotal());
|
||||
assertEquals(1, pageResult.getList().size());
|
||||
assertPojoEquals(dbUReportData, pageResult.getList().get(0));
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,136 +0,0 @@
|
||||
package cn.iocoder.yudao.module.report.service.ureport;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
|
||||
import cn.iocoder.yudao.module.report.controller.admin.ureport.vo.UreportFilePageReqVO;
|
||||
import cn.iocoder.yudao.module.report.controller.admin.ureport.vo.UreportFileSaveReqVO;
|
||||
import cn.iocoder.yudao.module.report.dal.dataobject.ureport.UreportFileDO;
|
||||
import cn.iocoder.yudao.module.report.dal.mysql.ureport.UreportFileMapper;
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.context.annotation.Import;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.buildBetweenTime;
|
||||
import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId;
|
||||
import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
|
||||
import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
|
||||
import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomLongId;
|
||||
import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo;
|
||||
import static cn.iocoder.yudao.module.report.enums.ErrorCodeConstants.UREPORT_FILE_NOT_EXISTS;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
// TODO 芋艿:但愿测试后面补
|
||||
/**
|
||||
* {@link UreportFileServiceImpl} 的单元测试类
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@Import(UreportFileServiceImpl.class)
|
||||
public class UreportFileServiceImplTest extends BaseDbUnitTest {
|
||||
|
||||
@Resource
|
||||
private UreportFileServiceImpl ureportFileService;
|
||||
|
||||
@Resource
|
||||
private UreportFileMapper ureportFileMapper;
|
||||
|
||||
@Test
|
||||
public void testCreateUreportFile_success() {
|
||||
// 准备参数
|
||||
UreportFileSaveReqVO createReqVO = randomPojo(UreportFileSaveReqVO.class).setId(null);
|
||||
|
||||
// 调用
|
||||
Long ureportFileId = ureportFileService.createUreportFile(createReqVO);
|
||||
// 断言
|
||||
assertNotNull(ureportFileId);
|
||||
// 校验记录的属性是否正确
|
||||
UreportFileDO ureportFile = ureportFileMapper.selectById(ureportFileId);
|
||||
assertPojoEquals(createReqVO, ureportFile, "id");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUpdateUreportFile_success() {
|
||||
// mock 数据
|
||||
UreportFileDO dbUreportFile = randomPojo(UreportFileDO.class);
|
||||
ureportFileMapper.insert(dbUreportFile);// @Sql: 先插入出一条存在的数据
|
||||
// 准备参数
|
||||
UreportFileSaveReqVO updateReqVO = randomPojo(UreportFileSaveReqVO.class, o -> {
|
||||
o.setId(dbUreportFile.getId()); // 设置更新的 ID
|
||||
});
|
||||
|
||||
// 调用
|
||||
ureportFileService.updateUreportFile(updateReqVO);
|
||||
// 校验是否更新正确
|
||||
UreportFileDO ureportFile = ureportFileMapper.selectById(updateReqVO.getId()); // 获取最新的
|
||||
assertPojoEquals(updateReqVO, ureportFile);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUpdateUreportFile_notExists() {
|
||||
// 准备参数
|
||||
UreportFileSaveReqVO updateReqVO = randomPojo(UreportFileSaveReqVO.class);
|
||||
|
||||
// 调用, 并断言异常
|
||||
assertServiceException(() -> ureportFileService.updateUreportFile(updateReqVO), UREPORT_FILE_NOT_EXISTS);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDeleteUreportFile_success() {
|
||||
// mock 数据
|
||||
UreportFileDO dbUreportFile = randomPojo(UreportFileDO.class);
|
||||
ureportFileMapper.insert(dbUreportFile);// @Sql: 先插入出一条存在的数据
|
||||
// 准备参数
|
||||
Long id = dbUreportFile.getId();
|
||||
|
||||
// 调用
|
||||
ureportFileService.deleteUreportFile(id);
|
||||
// 校验数据不存在了
|
||||
assertNull(ureportFileMapper.selectById(id));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDeleteUreportFile_notExists() {
|
||||
// 准备参数
|
||||
Long id = randomLongId();
|
||||
|
||||
// 调用, 并断言异常
|
||||
assertServiceException(() -> ureportFileService.deleteUreportFile(id), UREPORT_FILE_NOT_EXISTS);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解
|
||||
public void testGetUreportFilePage() {
|
||||
// mock 数据
|
||||
UreportFileDO dbUreportFile = randomPojo(UreportFileDO.class, o -> { // 等会查询到
|
||||
o.setFileName(null);
|
||||
o.setStatus(null);
|
||||
o.setRemark(null);
|
||||
o.setCreateTime(null);
|
||||
});
|
||||
ureportFileMapper.insert(dbUreportFile);
|
||||
// 测试 fileName 不匹配
|
||||
ureportFileMapper.insert(cloneIgnoreId(dbUreportFile, o -> o.setFileName(null)));
|
||||
// 测试 status 不匹配
|
||||
ureportFileMapper.insert(cloneIgnoreId(dbUreportFile, o -> o.setStatus(null)));
|
||||
// 测试 remark 不匹配
|
||||
ureportFileMapper.insert(cloneIgnoreId(dbUreportFile, o -> o.setRemark(null)));
|
||||
// 测试 createTime 不匹配
|
||||
ureportFileMapper.insert(cloneIgnoreId(dbUreportFile, o -> o.setCreateTime(null)));
|
||||
// 准备参数
|
||||
UreportFilePageReqVO reqVO = new UreportFilePageReqVO();
|
||||
reqVO.setFileName(null);
|
||||
reqVO.setStatus(null);
|
||||
reqVO.setRemark(null);
|
||||
reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28));
|
||||
|
||||
// 调用
|
||||
PageResult<UreportFileDO> pageResult = ureportFileService.getUreportFilePage(reqVO);
|
||||
// 断言
|
||||
assertEquals(1, pageResult.getTotal());
|
||||
assertEquals(1, pageResult.getList().size());
|
||||
assertPojoEquals(dbUreportFile, pageResult.getList().get(0));
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,2 +1,2 @@
|
||||
DELETE FROM "report_go_view_project";
|
||||
DELETE FROM "ureport_file";
|
||||
DELETE FROM "report_ureport_data";
|
||||
|
||||
Loading…
Reference in New Issue