demo测试模块类初始化v3

ccongli-dev-0821
LI-CCONG\李聪聪 1 year ago
parent 030d992779
commit a4285bd547

@ -4,12 +4,12 @@ import com.yunxi.scm.framework.common.pojo.CommonResult;
import com.yunxi.scm.framework.excel.core.util.ExcelUtils; import com.yunxi.scm.framework.excel.core.util.ExcelUtils;
import com.yunxi.scm.framework.mybatis.core.query.LambdaQueryWrapperX; import com.yunxi.scm.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.yunxi.scm.framework.operatelog.core.annotations.OperateLog; import com.yunxi.scm.framework.operatelog.core.annotations.OperateLog;
import com.yunxi.scm.module.demo.controller.admin.material.vo.MaterialExportTestVO; import com.yunxi.scm.module.demo.controller.admin.pmaterial.vo.PMaterialExportTestVO;
import com.yunxi.scm.module.demo.controller.admin.material.vo.MaterialImportTestVO; import com.yunxi.scm.module.demo.controller.admin.pmaterial.vo.PMaterialImportTestVO;
import com.yunxi.scm.module.demo.convert.material.MaterialXConvert; import com.yunxi.scm.module.demo.convert.pmaterial.PMaterialXConvert;
import com.yunxi.scm.module.demo.dal.dataobject.material.MaterialXDO; import com.yunxi.scm.module.demo.dal.dataobject.pmaterial.PMaterialXDO;
import com.yunxi.scm.module.demo.dal.mysql.material.MaterialXMapper; import com.yunxi.scm.module.demo.dal.mysql.pmaterial.PMaterialXMapper;
import com.yunxi.scm.module.demo.enums.material.CategoryEnum; import com.yunxi.scm.module.demo.enums.pmaterial.CategoryEnum;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Parameters; import io.swagger.v3.oas.annotations.Parameters;
@ -51,13 +51,13 @@ public class DemoTestController {
@PermitAll @PermitAll
@OperateLog(type = EXPORT) @OperateLog(type = EXPORT)
public void testExport(HttpServletResponse response) throws IOException { public void testExport(HttpServletResponse response) throws IOException {
MaterialXDO xdo1 = new MaterialXDO(1L,"80inu5yxl3",Arrays.asList("1","2")); PMaterialXDO xdo1 = new PMaterialXDO(1L,"80inu5yxl3",Arrays.asList("1","2"));
MaterialXDO xdo2 = new MaterialXDO(2L,"Q2ZY1I9cCBf0YKvDUlzCbw==",Arrays.asList("1","3")); PMaterialXDO xdo2 = new PMaterialXDO(2L,"Q2ZY1I9cCBf0YKvDUlzCbw==",Arrays.asList("1","3"));
List<MaterialXDO> xdos = new ArrayList<>(); List<PMaterialXDO> xdos = new ArrayList<>();
xdos.add(xdo1); xdos.add(xdo1);
xdos.add(xdo2); xdos.add(xdo2);
List<MaterialExportTestVO> datas = MaterialXConvert.INSTANCE.convertList03(xdos); List<PMaterialExportTestVO> datas = PMaterialXConvert.INSTANCE.convertList03(xdos);
ExcelUtils.write(response, "测试导出.xls", "数据", MaterialExportTestVO.class, datas); ExcelUtils.write(response, "测试导出.xls", "数据", PMaterialExportTestVO.class, datas);
} }
@ -69,9 +69,9 @@ public class DemoTestController {
@Parameter(name = "file", description = "Excel 文件", required = true), @Parameter(name = "file", description = "Excel 文件", required = true),
@Parameter(name = "updateSupport", description = "是否支持更新,默认为 false", example = "true") @Parameter(name = "updateSupport", description = "是否支持更新,默认为 false", example = "true")
}) })
public CommonResult<List<MaterialImportTestVO>> testImport(@RequestParam("file") MultipartFile file, public CommonResult<List<PMaterialImportTestVO>> testImport(@RequestParam("file") MultipartFile file,
@RequestParam(value = "updateSupport", required = false, defaultValue = "false") Boolean updateSupport) throws IOException { @RequestParam(value = "updateSupport", required = false, defaultValue = "false") Boolean updateSupport) throws IOException {
List<MaterialImportTestVO> list = ExcelUtils.read(file, MaterialImportTestVO.class); List<PMaterialImportTestVO> list = ExcelUtils.read(file, PMaterialImportTestVO.class);
return success(list); return success(list);
} }
@ -83,23 +83,23 @@ public class DemoTestController {
List<String> values = Stream.of(CategoryEnum.COMMON.getCode(),CategoryEnum.KANJIA.getCode()) List<String> values = Stream.of(CategoryEnum.COMMON.getCode(),CategoryEnum.KANJIA.getCode())
.map(String::valueOf).collect(Collectors.toList()); .map(String::valueOf).collect(Collectors.toList());
// 手动创建导出 demo // 手动创建导出 demo
List<MaterialImportTestVO> list = Arrays.asList( List<PMaterialImportTestVO> list = Arrays.asList(
MaterialImportTestVO.builder().category(values).build() PMaterialImportTestVO.builder().category(values).build()
); );
// 输出 // 输出
ExcelUtils.write(response, "导入模板.xls", "物料标准模版", MaterialImportTestVO.class, list); ExcelUtils.write(response, "导入模板.xls", "物料标准模版", PMaterialImportTestVO.class, list);
} }
@Resource @Resource
MaterialXMapper materialXMapper; PMaterialXMapper materialXMapper;
@GetMapping("/test_encrypt") @GetMapping("/test_encrypt")
@Operation(summary = "测试字段加密") @Operation(summary = "测试字段加密")
@PermitAll @PermitAll
public CommonResult<String> testEncrypt() { public CommonResult<String> testEncrypt() {
MaterialXDO xdo1 = new MaterialXDO(1L,"80inu5yxl3",Arrays.asList("1","2")); PMaterialXDO xdo1 = new PMaterialXDO(1L,"80inu5yxl3",Arrays.asList("1","2"));
MaterialXDO xdo2 = new MaterialXDO(2L,"80inu5yxl3",Arrays.asList("1","3")); PMaterialXDO xdo2 = new PMaterialXDO(2L,"80inu5yxl3",Arrays.asList("1","3"));
List<MaterialXDO> xdos = new ArrayList<>(); List<PMaterialXDO> xdos = new ArrayList<>();
xdos.add(xdo1); xdos.add(xdo1);
xdos.add(xdo2); xdos.add(xdo2);
materialXMapper.insertBatch(xdos); materialXMapper.insertBatch(xdos);
@ -109,11 +109,11 @@ public class DemoTestController {
@GetMapping("/test_decrypt") @GetMapping("/test_decrypt")
@Operation(summary = "测试字段解密") @Operation(summary = "测试字段解密")
@PermitAll @PermitAll
public CommonResult<MaterialExportTestVO> testDecrypt() { public CommonResult<PMaterialExportTestVO> testDecrypt() {
LambdaQueryWrapperX<MaterialXDO> wrapperX = new LambdaQueryWrapperX<>(); LambdaQueryWrapperX<PMaterialXDO> wrapperX = new LambdaQueryWrapperX<>();
wrapperX.eq(MaterialXDO::getId, 1); wrapperX.eq(PMaterialXDO::getId, 1);
MaterialXDO xdo = materialXMapper.selectOne(wrapperX); PMaterialXDO xdo = materialXMapper.selectOne(wrapperX);
return success(MaterialXConvert.INSTANCE.convert(xdo)); return success(PMaterialXConvert.INSTANCE.convert(xdo));
} }
} }

@ -1,14 +1,14 @@
package com.yunxi.scm.module.demo.controller.admin.material; package com.yunxi.scm.module.demo.controller.admin.pmaterial;
import com.yunxi.scm.framework.common.pojo.CommonResult; import com.yunxi.scm.framework.common.pojo.CommonResult;
import com.yunxi.scm.framework.common.pojo.PageResult; import com.yunxi.scm.framework.common.pojo.PageResult;
import com.yunxi.scm.framework.datapermission.core.annotation.DataPermission; import com.yunxi.scm.framework.datapermission.core.annotation.DataPermission;
import com.yunxi.scm.framework.excel.core.util.ExcelUtils; import com.yunxi.scm.framework.excel.core.util.ExcelUtils;
import com.yunxi.scm.framework.operatelog.core.annotations.OperateLog; import com.yunxi.scm.framework.operatelog.core.annotations.OperateLog;
import com.yunxi.scm.module.demo.controller.admin.material.vo.*; import com.yunxi.scm.module.demo.controller.admin.pmaterial.vo.*;
import com.yunxi.scm.module.demo.convert.material.MaterialConvert; import com.yunxi.scm.module.demo.convert.pmaterial.PMaterialConvert;
import com.yunxi.scm.module.demo.dal.dataobject.material.MaterialDO; import com.yunxi.scm.module.demo.dal.dataobject.pmaterial.PMaterialDO;
import com.yunxi.scm.module.demo.service.material.PMaterialService; import com.yunxi.scm.module.demo.service.pmaterial.PMaterialService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
@ -38,14 +38,14 @@ public class PMaterialController {
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建物料管理") @Operation(summary = "创建物料管理")
@PreAuthorize("@ss.hasPermission('demo:material:create')") @PreAuthorize("@ss.hasPermission('demo:material:create')")
public CommonResult<Long> createMaterial(@Valid @RequestBody MaterialCreateReqVO createReqVO) { public CommonResult<Long> createMaterial(@Valid @RequestBody PMaterialCreateReqVO createReqVO) {
return success(materialService.createMaterial(createReqVO)); return success(materialService.createMaterial(createReqVO));
} }
@PutMapping("/update") @PutMapping("/update")
@Operation(summary = "更新物料管理") @Operation(summary = "更新物料管理")
@PreAuthorize("@ss.hasPermission('demo:material:update')") @PreAuthorize("@ss.hasPermission('demo:material:update')")
public CommonResult<Boolean> updateMaterial(@Valid @RequestBody MaterialUpdateReqVO updateReqVO) { public CommonResult<Boolean> updateMaterial(@Valid @RequestBody PMaterialUpdateReqVO updateReqVO) {
materialService.updateMaterial(updateReqVO); materialService.updateMaterial(updateReqVO);
return success(true); return success(true);
} }
@ -63,39 +63,39 @@ public class PMaterialController {
@Operation(summary = "获得物料管理") @Operation(summary = "获得物料管理")
@Parameter(name = "id", description = "编号", required = true, example = "1024") @Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('demo:material:query')") @PreAuthorize("@ss.hasPermission('demo:material:query')")
public CommonResult<MaterialRespVO> getMaterial(@RequestParam("id") Long id) { public CommonResult<PMaterialRespVO> getMaterial(@RequestParam("id") Long id) {
MaterialDO material = materialService.getMaterial(id); PMaterialDO material = materialService.getMaterial(id);
return success(MaterialConvert.INSTANCE.convert(material)); return success(PMaterialConvert.INSTANCE.convert(material));
} }
@GetMapping("/list") @GetMapping("/list")
@Operation(summary = "获得物料管理列表") @Operation(summary = "获得物料管理列表")
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
@PreAuthorize("@ss.hasPermission('demo:material:query')") @PreAuthorize("@ss.hasPermission('demo:material:query')")
public CommonResult<List<MaterialRespVO>> getMaterialList(@RequestParam("ids") Collection<Long> ids) { public CommonResult<List<PMaterialRespVO>> getMaterialList(@RequestParam("ids") Collection<Long> ids) {
List<MaterialDO> list = materialService.getMaterialList(ids); List<PMaterialDO> list = materialService.getMaterialList(ids);
return success(MaterialConvert.INSTANCE.convertList(list)); return success(PMaterialConvert.INSTANCE.convertList(list));
} }
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得物料管理分页") @Operation(summary = "获得物料管理分页")
@PreAuthorize("@ss.hasPermission('demo:material:query')") @PreAuthorize("@ss.hasPermission('demo:material:query')")
@DataPermission // 数据权限功能,默认是开启的 @DataPermission // 数据权限功能,默认是开启的
public CommonResult<PageResult<MaterialRespVO>> getMaterialPage(@Valid MaterialPageReqVO pageVO) { public CommonResult<PageResult<PMaterialRespVO>> getMaterialPage(@Valid PMaterialPageReqVO pageVO) {
PageResult<MaterialDO> pageResult = materialService.getMaterialPage(pageVO); PageResult<PMaterialDO> pageResult = materialService.getMaterialPage(pageVO);
return success(MaterialConvert.INSTANCE.convertPage(pageResult)); return success(PMaterialConvert.INSTANCE.convertPage(pageResult));
} }
@GetMapping("/export-excel") @GetMapping("/export-excel")
@Operation(summary = "导出物料管理 Excel") @Operation(summary = "导出物料管理 Excel")
@PreAuthorize("@ss.hasPermission('demo:material:export')") @PreAuthorize("@ss.hasPermission('demo:material:export')")
@OperateLog(type = EXPORT) @OperateLog(type = EXPORT)
public void exportMaterialExcel(@Valid MaterialExportReqVO exportReqVO, public void exportMaterialExcel(@Valid PMaterialExportReqVO exportReqVO,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {
List<MaterialDO> list = materialService.getMaterialList(exportReqVO); List<PMaterialDO> list = materialService.getMaterialList(exportReqVO);
// 导出 Excel // 导出 Excel
List<MaterialExcelVO> datas = MaterialConvert.INSTANCE.convertList02(list); List<PMaterialExcelVO> datas = PMaterialConvert.INSTANCE.convertList02(list);
ExcelUtils.write(response, "物料管理.xls", "数据", MaterialExcelVO.class, datas); ExcelUtils.write(response, "物料管理.xls", "数据", PMaterialExcelVO.class, datas);
} }
} }

@ -1,4 +1,4 @@
package com.yunxi.scm.module.demo.controller.admin.material.vo; package com.yunxi.scm.module.demo.controller.admin.pmaterial.vo;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
@ -12,7 +12,7 @@ import java.util.List;
* VO Swagger * VO Swagger
*/ */
@Data @Data
public class MaterialBaseVO { public class PMaterialBaseVO {
@Schema(description = "名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") @Schema(description = "名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
@NotNull(message = "名称不能为空") @NotNull(message = "名称不能为空")

@ -1,14 +1,12 @@
package com.yunxi.scm.module.demo.controller.admin.material.vo; package com.yunxi.scm.module.demo.controller.admin.pmaterial.vo;
import lombok.*; import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.constraints.*;
@Schema(description = "管理后台 - 物料管理创建 Request VO") @Schema(description = "管理后台 - 物料管理创建 Request VO")
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true) @ToString(callSuper = true)
public class MaterialCreateReqVO extends MaterialBaseVO { public class PMaterialCreateReqVO extends PMaterialBaseVO {
} }

@ -1,4 +1,4 @@
package com.yunxi.scm.module.demo.controller.admin.material.vo; package com.yunxi.scm.module.demo.controller.admin.pmaterial.vo;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.yunxi.scm.framework.excel.core.annotations.DictFormat; import com.yunxi.scm.framework.excel.core.annotations.DictFormat;
@ -18,7 +18,7 @@ import java.util.List;
* @author ccongli * @author ccongli
*/ */
@Data @Data
public class MaterialExcelVO { public class PMaterialExcelVO {
@ExcelProperty("编号") @ExcelProperty("编号")
private Long id; private Long id;

@ -1,4 +1,4 @@
package com.yunxi.scm.module.demo.controller.admin.material.vo; package com.yunxi.scm.module.demo.controller.admin.pmaterial.vo;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
@ -8,9 +8,9 @@ import java.time.LocalDateTime;
import static com.yunxi.scm.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; import static com.yunxi.scm.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 物料管理 Excel 导出 Request VO参数和 MaterialPageReqVO 是一致的") @Schema(description = "管理后台 - 物料管理 Excel 导出 Request VO参数和 PMaterialPageReqVO 是一致的")
@Data @Data
public class MaterialExportReqVO { public class PMaterialExportReqVO {
@Schema(description = "名称", example = "李四") @Schema(description = "名称", example = "李四")
private String name; private String name;

@ -1,4 +1,4 @@
package com.yunxi.scm.module.demo.controller.admin.material.vo; package com.yunxi.scm.module.demo.controller.admin.pmaterial.vo;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.yunxi.scm.framework.excel.core.annotations.DictFormat; import com.yunxi.scm.framework.excel.core.annotations.DictFormat;
@ -10,7 +10,7 @@ import java.util.List;
// 测试转换 // 测试转换
@Data @Data
public class MaterialExportTestVO { public class PMaterialExportTestVO {
@ExcelProperty(value = "密码") @ExcelProperty(value = "密码")
private String password; private String password;

@ -1,4 +1,4 @@
package com.yunxi.scm.module.demo.controller.admin.material.vo; package com.yunxi.scm.module.demo.controller.admin.pmaterial.vo;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.yunxi.scm.framework.excel.core.annotations.DictFormat; import com.yunxi.scm.framework.excel.core.annotations.DictFormat;
@ -17,7 +17,7 @@ import java.util.List;
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
@Accessors(chain = false) // 设置 chain = false避免用户导入有问题 @Accessors(chain = false) // 设置 chain = false避免用户导入有问题
public class MaterialImportTestVO { public class PMaterialImportTestVO {

@ -1,4 +1,4 @@
package com.yunxi.scm.module.demo.controller.admin.material.vo; package com.yunxi.scm.module.demo.controller.admin.pmaterial.vo;
import com.yunxi.scm.framework.common.pojo.PageParam; import com.yunxi.scm.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
@ -15,7 +15,7 @@ import static com.yunxi.scm.framework.common.util.date.DateUtils.FORMAT_YEAR_MON
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true) @ToString(callSuper = true)
public class MaterialPageReqVO extends PageParam { public class PMaterialPageReqVO extends PageParam {
@Schema(description = "名称", example = "李四") @Schema(description = "名称", example = "李四")
private String name; private String name;

@ -1,4 +1,4 @@
package com.yunxi.scm.module.demo.controller.admin.material.vo; package com.yunxi.scm.module.demo.controller.admin.pmaterial.vo;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
@ -8,7 +8,7 @@ import java.time.LocalDateTime;
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true) @ToString(callSuper = true)
public class MaterialRespVO extends MaterialBaseVO { public class PMaterialRespVO extends PMaterialBaseVO {
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "14541") @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "14541")
private Long id; private Long id;

@ -1,15 +1,15 @@
package com.yunxi.scm.module.demo.controller.admin.material.vo; package com.yunxi.scm.module.demo.controller.admin.pmaterial.vo;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import java.util.*;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@Schema(description = "管理后台 - 物料管理更新 Request VO") @Schema(description = "管理后台 - 物料管理更新 Request VO")
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true) @ToString(callSuper = true)
public class MaterialUpdateReqVO extends MaterialBaseVO { public class PMaterialUpdateReqVO extends PMaterialBaseVO {
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "14541") @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "14541")
@NotNull(message = "ID不能为空") @NotNull(message = "ID不能为空")

@ -1,37 +0,0 @@
package com.yunxi.scm.module.demo.convert.material;
import com.yunxi.scm.framework.common.pojo.PageResult;
import com.yunxi.scm.module.demo.controller.admin.material.vo.*;
import com.yunxi.scm.module.demo.dal.dataobject.material.MaterialDO;
import com.yunxi.scm.module.demo.dal.dataobject.material.MaterialXDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import java.util.List;
/**
* Convert
*
* @author ccongli
*/
@Mapper
public interface MaterialConvert {
MaterialConvert INSTANCE = Mappers.getMapper(MaterialConvert.class);
MaterialDO convert(MaterialCreateReqVO bean);
MaterialDO convert(MaterialUpdateReqVO bean);
MaterialRespVO convert(MaterialDO bean);
List<MaterialRespVO> convertList(List<MaterialDO> list);
PageResult<MaterialRespVO> convertPage(PageResult<MaterialDO> page);
List<MaterialExcelVO> convertList02(List<MaterialDO> list);
List<MaterialExportTestVO> convertList03(List<MaterialXDO> list);
}

@ -1,24 +0,0 @@
package com.yunxi.scm.module.demo.convert.material;
import com.yunxi.scm.module.demo.controller.admin.material.vo.MaterialExportTestVO;
import com.yunxi.scm.module.demo.dal.dataobject.material.MaterialXDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import java.util.List;
/**
* Convert
*
* @author ccongli
*/
@Mapper
public interface MaterialXConvert {
MaterialXConvert INSTANCE = Mappers.getMapper(MaterialXConvert.class);
MaterialExportTestVO convert(MaterialXDO xdo);
List<MaterialExportTestVO> convertList03(List<MaterialXDO> list);
}

@ -0,0 +1,37 @@
package com.yunxi.scm.module.demo.convert.pmaterial;
import com.yunxi.scm.framework.common.pojo.PageResult;
import com.yunxi.scm.module.demo.controller.admin.pmaterial.vo.*;
import com.yunxi.scm.module.demo.dal.dataobject.pmaterial.PMaterialDO;
import com.yunxi.scm.module.demo.dal.dataobject.pmaterial.PMaterialXDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import java.util.List;
/**
* Convert
*
* @author ccongli
*/
@Mapper
public interface PMaterialConvert {
PMaterialConvert INSTANCE = Mappers.getMapper(PMaterialConvert.class);
PMaterialDO convert(PMaterialCreateReqVO bean);
PMaterialDO convert(PMaterialUpdateReqVO bean);
PMaterialRespVO convert(PMaterialDO bean);
List<PMaterialRespVO> convertList(List<PMaterialDO> list);
PageResult<PMaterialRespVO> convertPage(PageResult<PMaterialDO> page);
List<PMaterialExcelVO> convertList02(List<PMaterialDO> list);
List<PMaterialExportTestVO> convertList03(List<PMaterialXDO> list);
}

@ -0,0 +1,24 @@
package com.yunxi.scm.module.demo.convert.pmaterial;
import com.yunxi.scm.module.demo.controller.admin.pmaterial.vo.PMaterialExportTestVO;
import com.yunxi.scm.module.demo.dal.dataobject.pmaterial.PMaterialXDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import java.util.List;
/**
* Convert
*
* @author ccongli
*/
@Mapper
public interface PMaterialXConvert {
PMaterialXConvert INSTANCE = Mappers.getMapper(PMaterialXConvert.class);
PMaterialExportTestVO convert(PMaterialXDO xdo);
List<PMaterialExportTestVO> convertList03(List<PMaterialXDO> list);
}

@ -1,4 +1,4 @@
package com.yunxi.scm.module.demo.dal.dataobject.material; package com.yunxi.scm.module.demo.dal.dataobject.pmaterial;
import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
@ -24,7 +24,7 @@ import java.util.List;
@Builder @Builder
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
public class MaterialDO extends BaseDO { public class PMaterialDO extends BaseDO {
/** /**
* ID * ID

@ -1,4 +1,4 @@
package com.yunxi.scm.module.demo.dal.dataobject.material; package com.yunxi.scm.module.demo.dal.dataobject.pmaterial;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
@ -16,7 +16,7 @@ import java.util.List;
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@TableName(value = "demo_xxx", autoResultMap = true) @TableName(value = "demo_xxx", autoResultMap = true)
public class MaterialXDO implements Serializable { public class PMaterialXDO implements Serializable {
@TableId @TableId
private Long id; private Long id;

@ -1,15 +0,0 @@
package com.yunxi.scm.module.demo.dal.mysql.material;
import com.yunxi.scm.framework.mybatis.core.mapper.BaseMapperX;
import com.yunxi.scm.module.demo.dal.dataobject.material.MaterialXDO;
import org.apache.ibatis.annotations.Mapper;
/**
* Mapper
*
* @author ccongli
*/
@Mapper
public interface MaterialXMapper extends BaseMapperX<MaterialXDO> {
}

@ -1,41 +0,0 @@
package com.yunxi.scm.module.demo.dal.mysql.material;
import com.yunxi.scm.framework.common.pojo.PageResult;
import com.yunxi.scm.framework.mybatis.core.mapper.BaseMapperX;
import com.yunxi.scm.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.yunxi.scm.module.demo.controller.admin.material.vo.MaterialExportReqVO;
import com.yunxi.scm.module.demo.controller.admin.material.vo.MaterialPageReqVO;
import com.yunxi.scm.module.demo.dal.dataobject.material.MaterialDO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* Mapper
*
* @author ccongli
*/
@Mapper
public interface PMaterialMapper extends BaseMapperX<MaterialDO> {
default PageResult<MaterialDO> selectPage(MaterialPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<MaterialDO>()
.likeIfPresent(MaterialDO::getName, reqVO.getName())
.eqIfPresent(MaterialDO::getStatus, reqVO.getStatus())
.eqIfPresent(MaterialDO::getType, reqVO.getType())
.likeIfPresent(MaterialDO::getCategories, reqVO.getCategory())
.betweenIfPresent(MaterialDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(MaterialDO::getId));
}
default List<MaterialDO> selectList(MaterialExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<MaterialDO>()
.likeIfPresent(MaterialDO::getName, reqVO.getName())
.eqIfPresent(MaterialDO::getStatus, reqVO.getStatus())
.eqIfPresent(MaterialDO::getType, reqVO.getType())
.likeIfPresent(MaterialDO::getCategories, reqVO.getCategory())
.betweenIfPresent(MaterialDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(MaterialDO::getId));
}
}

@ -0,0 +1,41 @@
package com.yunxi.scm.module.demo.dal.mysql.pmaterial;
import com.yunxi.scm.framework.common.pojo.PageResult;
import com.yunxi.scm.framework.mybatis.core.mapper.BaseMapperX;
import com.yunxi.scm.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.yunxi.scm.module.demo.controller.admin.pmaterial.vo.PMaterialExportReqVO;
import com.yunxi.scm.module.demo.controller.admin.pmaterial.vo.PMaterialPageReqVO;
import com.yunxi.scm.module.demo.dal.dataobject.pmaterial.PMaterialDO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* Mapper
*
* @author ccongli
*/
@Mapper
public interface PMaterialMapper extends BaseMapperX<PMaterialDO> {
default PageResult<PMaterialDO> selectPage(PMaterialPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<PMaterialDO>()
.likeIfPresent(PMaterialDO::getName, reqVO.getName())
.eqIfPresent(PMaterialDO::getStatus, reqVO.getStatus())
.eqIfPresent(PMaterialDO::getType, reqVO.getType())
.likeIfPresent(PMaterialDO::getCategories, reqVO.getCategory())
.betweenIfPresent(PMaterialDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(PMaterialDO::getId));
}
default List<PMaterialDO> selectList(PMaterialExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<PMaterialDO>()
.likeIfPresent(PMaterialDO::getName, reqVO.getName())
.eqIfPresent(PMaterialDO::getStatus, reqVO.getStatus())
.eqIfPresent(PMaterialDO::getType, reqVO.getType())
.likeIfPresent(PMaterialDO::getCategories, reqVO.getCategory())
.betweenIfPresent(PMaterialDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(PMaterialDO::getId));
}
}

@ -0,0 +1,15 @@
package com.yunxi.scm.module.demo.dal.mysql.pmaterial;
import com.yunxi.scm.framework.mybatis.core.mapper.BaseMapperX;
import com.yunxi.scm.module.demo.dal.dataobject.pmaterial.PMaterialXDO;
import org.apache.ibatis.annotations.Mapper;
/**
* Mapper
*
* @author ccongli
*/
@Mapper
public interface PMaterialXMapper extends BaseMapperX<PMaterialXDO> {
}

@ -1,4 +1,4 @@
package com.yunxi.scm.module.demo.enums.material; package com.yunxi.scm.module.demo.enums.pmaterial;
import com.yunxi.scm.framework.common.core.IntArrayValuable; import com.yunxi.scm.framework.common.core.IntArrayValuable;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;

@ -1,85 +0,0 @@
package com.yunxi.scm.module.demo.service.material;
import com.yunxi.scm.framework.common.pojo.PageResult;
import com.yunxi.scm.module.demo.controller.admin.material.vo.MaterialCreateReqVO;
import com.yunxi.scm.module.demo.controller.admin.material.vo.MaterialExportReqVO;
import com.yunxi.scm.module.demo.controller.admin.material.vo.MaterialPageReqVO;
import com.yunxi.scm.module.demo.controller.admin.material.vo.MaterialUpdateReqVO;
import com.yunxi.scm.module.demo.convert.material.MaterialConvert;
import com.yunxi.scm.module.demo.dal.dataobject.material.MaterialDO;
import com.yunxi.scm.module.demo.dal.mysql.material.PMaterialMapper;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.util.Collection;
import java.util.List;
import static com.yunxi.scm.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.yunxi.scm.module.demo.enums.ErrorCodeConstants.MATERIAL_NOT_EXISTS;
/**
* Service
*
* @author ccongli
*/
@Service
@Validated
public class PMaterialServiceImpl implements PMaterialService {
@Resource
private PMaterialMapper materialMapper;
@Override
public Long createMaterial(MaterialCreateReqVO createReqVO) {
// 插入
MaterialDO material = MaterialConvert.INSTANCE.convert(createReqVO);
materialMapper.insert(material);
// 返回
return material.getId();
}
@Override
public void updateMaterial(MaterialUpdateReqVO updateReqVO) {
// 校验存在
validateMaterialExists(updateReqVO.getId());
// 更新
MaterialDO updateObj = MaterialConvert.INSTANCE.convert(updateReqVO);
materialMapper.updateById(updateObj);
}
@Override
public void deleteMaterial(Long id) {
// 校验存在
validateMaterialExists(id);
// 删除
materialMapper.deleteById(id);
}
private void validateMaterialExists(Long id) {
if (materialMapper.selectById(id) == null) {
throw exception(MATERIAL_NOT_EXISTS);
}
}
@Override
public MaterialDO getMaterial(Long id) {
return materialMapper.selectById(id);
}
@Override
public List<MaterialDO> getMaterialList(Collection<Long> ids) {
return materialMapper.selectBatchIds(ids);
}
@Override
public PageResult<MaterialDO> getMaterialPage(MaterialPageReqVO pageReqVO) {
return materialMapper.selectPage(pageReqVO);
}
@Override
public List<MaterialDO> getMaterialList(MaterialExportReqVO exportReqVO) {
return materialMapper.selectList(exportReqVO);
}
}

@ -1,9 +1,9 @@
package com.yunxi.scm.module.demo.service.material; package com.yunxi.scm.module.demo.service.pmaterial;
import java.util.*; import java.util.*;
import javax.validation.*; import javax.validation.*;
import com.yunxi.scm.module.demo.controller.admin.material.vo.*; import com.yunxi.scm.module.demo.controller.admin.pmaterial.vo.*;
import com.yunxi.scm.module.demo.dal.dataobject.material.MaterialDO; import com.yunxi.scm.module.demo.dal.dataobject.pmaterial.PMaterialDO;
import com.yunxi.scm.framework.common.pojo.PageResult; import com.yunxi.scm.framework.common.pojo.PageResult;
/** /**
@ -19,14 +19,14 @@ public interface PMaterialService {
* @param createReqVO * @param createReqVO
* @return * @return
*/ */
Long createMaterial(@Valid MaterialCreateReqVO createReqVO); Long createMaterial(@Valid PMaterialCreateReqVO createReqVO);
/** /**
* *
* *
* @param updateReqVO * @param updateReqVO
*/ */
void updateMaterial(@Valid MaterialUpdateReqVO updateReqVO); void updateMaterial(@Valid PMaterialUpdateReqVO updateReqVO);
/** /**
* *
@ -41,7 +41,7 @@ public interface PMaterialService {
* @param id * @param id
* @return * @return
*/ */
MaterialDO getMaterial(Long id); PMaterialDO getMaterial(Long id);
/** /**
* *
@ -49,7 +49,7 @@ public interface PMaterialService {
* @param ids * @param ids
* @return * @return
*/ */
List<MaterialDO> getMaterialList(Collection<Long> ids); List<PMaterialDO> getMaterialList(Collection<Long> ids);
/** /**
* *
@ -57,7 +57,7 @@ public interface PMaterialService {
* @param pageReqVO * @param pageReqVO
* @return * @return
*/ */
PageResult<MaterialDO> getMaterialPage(MaterialPageReqVO pageReqVO); PageResult<PMaterialDO> getMaterialPage(PMaterialPageReqVO pageReqVO);
/** /**
* , Excel * , Excel
@ -65,6 +65,6 @@ public interface PMaterialService {
* @param exportReqVO * @param exportReqVO
* @return * @return
*/ */
List<MaterialDO> getMaterialList(MaterialExportReqVO exportReqVO); List<PMaterialDO> getMaterialList(PMaterialExportReqVO exportReqVO);
} }

@ -0,0 +1,85 @@
package com.yunxi.scm.module.demo.service.pmaterial;
import com.yunxi.scm.framework.common.pojo.PageResult;
import com.yunxi.scm.module.demo.controller.admin.pmaterial.vo.PMaterialCreateReqVO;
import com.yunxi.scm.module.demo.controller.admin.pmaterial.vo.PMaterialExportReqVO;
import com.yunxi.scm.module.demo.controller.admin.pmaterial.vo.PMaterialPageReqVO;
import com.yunxi.scm.module.demo.controller.admin.pmaterial.vo.PMaterialUpdateReqVO;
import com.yunxi.scm.module.demo.convert.pmaterial.PMaterialConvert;
import com.yunxi.scm.module.demo.dal.dataobject.pmaterial.PMaterialDO;
import com.yunxi.scm.module.demo.dal.mysql.pmaterial.PMaterialMapper;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.util.Collection;
import java.util.List;
import static com.yunxi.scm.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.yunxi.scm.module.demo.enums.ErrorCodeConstants.MATERIAL_NOT_EXISTS;
/**
* Service
*
* @author ccongli
*/
@Service
@Validated
public class PMaterialServiceImpl implements PMaterialService {
@Resource
private PMaterialMapper pMaterialMapper;
@Override
public Long createMaterial(PMaterialCreateReqVO createReqVO) {
// 插入
PMaterialDO material = PMaterialConvert.INSTANCE.convert(createReqVO);
pMaterialMapper.insert(material);
// 返回
return material.getId();
}
@Override
public void updateMaterial(PMaterialUpdateReqVO updateReqVO) {
// 校验存在
validateMaterialExists(updateReqVO.getId());
// 更新
PMaterialDO updateObj = PMaterialConvert.INSTANCE.convert(updateReqVO);
pMaterialMapper.updateById(updateObj);
}
@Override
public void deleteMaterial(Long id) {
// 校验存在
validateMaterialExists(id);
// 删除
pMaterialMapper.deleteById(id);
}
private void validateMaterialExists(Long id) {
if (pMaterialMapper.selectById(id) == null) {
throw exception(MATERIAL_NOT_EXISTS);
}
}
@Override
public PMaterialDO getMaterial(Long id) {
return pMaterialMapper.selectById(id);
}
@Override
public List<PMaterialDO> getMaterialList(Collection<Long> ids) {
return pMaterialMapper.selectBatchIds(ids);
}
@Override
public PageResult<PMaterialDO> getMaterialPage(PMaterialPageReqVO pageReqVO) {
return pMaterialMapper.selectPage(pageReqVO);
}
@Override
public List<PMaterialDO> getMaterialList(PMaterialExportReqVO exportReqVO) {
return pMaterialMapper.selectList(exportReqVO);
}
}

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yunxi.scm.module.demo.dal.mysql.material.PMaterialMapper"> <mapper namespace="com.yunxi.scm.module.demo.dal.mysql.pmaterial.PMaterialMapper">
<!-- <!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。 一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。

@ -1,13 +1,13 @@
package com.yunxi.scm.module.demo.service.material; package com.yunxi.scm.module.demo.service.pmaterial;
import com.yunxi.scm.framework.common.pojo.PageResult; import com.yunxi.scm.framework.common.pojo.PageResult;
import com.yunxi.scm.framework.test.core.ut.BaseDbUnitTest; import com.yunxi.scm.framework.test.core.ut.BaseDbUnitTest;
import com.yunxi.scm.module.demo.controller.admin.material.vo.MaterialCreateReqVO; import com.yunxi.scm.module.demo.controller.admin.pmaterial.vo.PMaterialCreateReqVO;
import com.yunxi.scm.module.demo.controller.admin.material.vo.MaterialExportReqVO; import com.yunxi.scm.module.demo.controller.admin.pmaterial.vo.PMaterialExportReqVO;
import com.yunxi.scm.module.demo.controller.admin.material.vo.MaterialPageReqVO; import com.yunxi.scm.module.demo.controller.admin.pmaterial.vo.PMaterialPageReqVO;
import com.yunxi.scm.module.demo.controller.admin.material.vo.MaterialUpdateReqVO; import com.yunxi.scm.module.demo.controller.admin.pmaterial.vo.PMaterialUpdateReqVO;
import com.yunxi.scm.module.demo.dal.dataobject.material.MaterialDO; import com.yunxi.scm.module.demo.dal.dataobject.pmaterial.PMaterialDO;
import com.yunxi.scm.module.demo.dal.mysql.material.PMaterialMapper; import com.yunxi.scm.module.demo.dal.mysql.pmaterial.PMaterialMapper;
import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.springframework.context.annotation.Import; import org.springframework.context.annotation.Import;
@ -41,38 +41,38 @@ public class MaterialServiceImplTest extends BaseDbUnitTest {
@Test @Test
public void testCreateMaterial_success() { public void testCreateMaterial_success() {
// 准备参数 // 准备参数
MaterialCreateReqVO reqVO = randomPojo(MaterialCreateReqVO.class); PMaterialCreateReqVO reqVO = randomPojo(PMaterialCreateReqVO.class);
// 调用 // 调用
Long materialId = materialService.createMaterial(reqVO); Long materialId = materialService.createMaterial(reqVO);
// 断言 // 断言
assertNotNull(materialId); assertNotNull(materialId);
// 校验记录的属性是否正确 // 校验记录的属性是否正确
MaterialDO material = materialMapper.selectById(materialId); PMaterialDO material = materialMapper.selectById(materialId);
assertPojoEquals(reqVO, material); assertPojoEquals(reqVO, material);
} }
@Test @Test
public void testUpdateMaterial_success() { public void testUpdateMaterial_success() {
// mock 数据 // mock 数据
MaterialDO dbMaterial = randomPojo(MaterialDO.class); PMaterialDO dbMaterial = randomPojo(PMaterialDO.class);
materialMapper.insert(dbMaterial);// @Sql: 先插入出一条存在的数据 materialMapper.insert(dbMaterial);// @Sql: 先插入出一条存在的数据
// 准备参数 // 准备参数
MaterialUpdateReqVO reqVO = randomPojo(MaterialUpdateReqVO.class, o -> { PMaterialUpdateReqVO reqVO = randomPojo(PMaterialUpdateReqVO.class, o -> {
o.setId(dbMaterial.getId()); // 设置更新的 ID o.setId(dbMaterial.getId()); // 设置更新的 ID
}); });
// 调用 // 调用
materialService.updateMaterial(reqVO); materialService.updateMaterial(reqVO);
// 校验是否更新正确 // 校验是否更新正确
MaterialDO material = materialMapper.selectById(reqVO.getId()); // 获取最新的 PMaterialDO material = materialMapper.selectById(reqVO.getId()); // 获取最新的
assertPojoEquals(reqVO, material); assertPojoEquals(reqVO, material);
} }
@Test @Test
public void testUpdateMaterial_notExists() { public void testUpdateMaterial_notExists() {
// 准备参数 // 准备参数
MaterialUpdateReqVO reqVO = randomPojo(MaterialUpdateReqVO.class); PMaterialUpdateReqVO reqVO = randomPojo(PMaterialUpdateReqVO.class);
// 调用, 并断言异常 // 调用, 并断言异常
assertServiceException(() -> materialService.updateMaterial(reqVO), MATERIAL_NOT_EXISTS); assertServiceException(() -> materialService.updateMaterial(reqVO), MATERIAL_NOT_EXISTS);
@ -81,7 +81,7 @@ public class MaterialServiceImplTest extends BaseDbUnitTest {
@Test @Test
public void testDeleteMaterial_success() { public void testDeleteMaterial_success() {
// mock 数据 // mock 数据
MaterialDO dbMaterial = randomPojo(MaterialDO.class); PMaterialDO dbMaterial = randomPojo(PMaterialDO.class);
materialMapper.insert(dbMaterial);// @Sql: 先插入出一条存在的数据 materialMapper.insert(dbMaterial);// @Sql: 先插入出一条存在的数据
// 准备参数 // 准备参数
Long id = dbMaterial.getId(); Long id = dbMaterial.getId();
@ -105,7 +105,7 @@ public class MaterialServiceImplTest extends BaseDbUnitTest {
@Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解 @Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解
public void testGetMaterialPage() { public void testGetMaterialPage() {
// mock 数据 // mock 数据
MaterialDO dbMaterial = randomPojo(MaterialDO.class, o -> { // 等会查询到 PMaterialDO dbMaterial = randomPojo(PMaterialDO.class, o -> { // 等会查询到
o.setName(null); o.setName(null);
o.setStatus(null); o.setStatus(null);
o.setType(null); o.setType(null);
@ -124,7 +124,7 @@ public class MaterialServiceImplTest extends BaseDbUnitTest {
// 测试 createTime 不匹配 // 测试 createTime 不匹配
materialMapper.insert(cloneIgnoreId(dbMaterial, o -> o.setCreateTime(null))); materialMapper.insert(cloneIgnoreId(dbMaterial, o -> o.setCreateTime(null)));
// 准备参数 // 准备参数
MaterialPageReqVO reqVO = new MaterialPageReqVO(); PMaterialPageReqVO reqVO = new PMaterialPageReqVO();
reqVO.setName(null); reqVO.setName(null);
reqVO.setStatus(null); reqVO.setStatus(null);
reqVO.setType(null); reqVO.setType(null);
@ -132,7 +132,7 @@ public class MaterialServiceImplTest extends BaseDbUnitTest {
reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28));
// 调用 // 调用
PageResult<MaterialDO> pageResult = materialService.getMaterialPage(reqVO); PageResult<PMaterialDO> pageResult = materialService.getMaterialPage(reqVO);
// 断言 // 断言
assertEquals(1, pageResult.getTotal()); assertEquals(1, pageResult.getTotal());
assertEquals(1, pageResult.getList().size()); assertEquals(1, pageResult.getList().size());
@ -143,7 +143,7 @@ public class MaterialServiceImplTest extends BaseDbUnitTest {
@Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解 @Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解
public void testGetMaterialList() { public void testGetMaterialList() {
// mock 数据 // mock 数据
MaterialDO dbMaterial = randomPojo(MaterialDO.class, o -> { // 等会查询到 PMaterialDO dbMaterial = randomPojo(PMaterialDO.class, o -> { // 等会查询到
o.setName(null); o.setName(null);
o.setStatus(null); o.setStatus(null);
o.setType(null); o.setType(null);
@ -162,7 +162,7 @@ public class MaterialServiceImplTest extends BaseDbUnitTest {
// 测试 createTime 不匹配 // 测试 createTime 不匹配
materialMapper.insert(cloneIgnoreId(dbMaterial, o -> o.setCreateTime(null))); materialMapper.insert(cloneIgnoreId(dbMaterial, o -> o.setCreateTime(null)));
// 准备参数 // 准备参数
MaterialExportReqVO reqVO = new MaterialExportReqVO(); PMaterialExportReqVO reqVO = new PMaterialExportReqVO();
reqVO.setName(null); reqVO.setName(null);
reqVO.setStatus(null); reqVO.setStatus(null);
reqVO.setType(null); reqVO.setType(null);
@ -170,7 +170,7 @@ public class MaterialServiceImplTest extends BaseDbUnitTest {
reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28));
// 调用 // 调用
List<MaterialDO> list = materialService.getMaterialList(reqVO); List<PMaterialDO> list = materialService.getMaterialList(reqVO);
// 断言 // 断言
assertEquals(1, list.size()); assertEquals(1, list.size());
assertPojoEquals(dbMaterial, list.get(0)); assertPojoEquals(dbMaterial, list.get(0));
Loading…
Cancel
Save