Browse Source

农场作业区域

zyh
小久哥 3 years ago
parent
commit
fba23a61e7
  1. 2
      zsw-farm/zsw-farm-api/src/main/java/cn/iocoder/yudao/module/farm/enums/ErrorCodeConstants.java
  2. 100
      zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/area/AreaController.java
  3. 18
      zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/area/vo/AreaBaseVO.java
  4. 14
      zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/area/vo/AreaCreateReqVO.java
  5. 26
      zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/area/vo/AreaExcelVO.java
  6. 26
      zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/area/vo/AreaExportReqVO.java
  7. 28
      zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/area/vo/AreaPageReqVO.java
  8. 19
      zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/area/vo/AreaRespVO.java
  9. 18
      zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/area/vo/AreaUpdateReqVO.java
  10. 34
      zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/convert/area/AreaConvert.java
  11. 32
      zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/area/AreaDO.java
  12. 34
      zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/area/AreaMapper.java
  13. 70
      zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/service/area/AreaService.java
  14. 82
      zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/service/area/AreaServiceImpl.java
  15. 12
      zsw-farm/zsw-farm-impl/src/main/resources/mapper/area/AreaMapper.xml
  16. 159
      zsw-farm/zsw-farm-impl/src/test/java/cn/iocoder/yudao/module/farm/service/area/AreaServiceImplTest.java

2
zsw-farm/zsw-farm-api/src/main/java/cn/iocoder/yudao/module/farm/enums/ErrorCodeConstants.java

@ -17,6 +17,8 @@ public interface ErrorCodeConstants{
ErrorCode TASK_NOT_EXISTS = new ErrorCode(1000007006, "农场项目不存在");
ErrorCode AREA_NOT_EXISTS = new ErrorCode(1000007007, "农村工作区域不存在");

100
zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/area/AreaController.java

@ -0,0 +1,100 @@
package cn.iocoder.yudao.module.farm.controller.admin.area;
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.annotations.*;
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.farm.controller.admin.area.vo.*;
import cn.iocoder.yudao.module.farm.dal.dataobject.area.AreaDO;
import cn.iocoder.yudao.module.farm.convert.area.AreaConvert;
import cn.iocoder.yudao.module.farm.service.area.AreaService;
@Api(tags = "管理后台 - ")
@RestController
@RequestMapping("/farm/area")
@Validated
public class AreaController {
@Resource
private AreaService areaService;
@PostMapping("/create")
@ApiOperation("创建")
@PreAuthorize("@ss.hasPermission('farm:area:create')")
public CommonResult<Long> createArea(@Valid @RequestBody AreaCreateReqVO createReqVO) {
return success(areaService.createArea(createReqVO));
}
@PutMapping("/update")
@ApiOperation("更新")
@PreAuthorize("@ss.hasPermission('farm:area:update')")
public CommonResult<Boolean> updateArea(@Valid @RequestBody AreaUpdateReqVO updateReqVO) {
areaService.updateArea(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@ApiOperation("删除")
@ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Long.class)
@PreAuthorize("@ss.hasPermission('farm:area:delete')")
public CommonResult<Boolean> deleteArea(@RequestParam("id") Long id) {
areaService.deleteArea(id);
return success(true);
}
@GetMapping("/get")
@ApiOperation("获得")
@ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Long.class)
@PreAuthorize("@ss.hasPermission('farm:area:query')")
public CommonResult<AreaRespVO> getArea(@RequestParam("id") Long id) {
AreaDO area = areaService.getArea(id);
return success(AreaConvert.INSTANCE.convert(area));
}
@GetMapping("/list")
@ApiOperation("获得列表")
@ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class)
@PreAuthorize("@ss.hasPermission('farm:area:query')")
public CommonResult<List<AreaRespVO>> getAreaList(@RequestParam("ids") Collection<Long> ids) {
List<AreaDO> list = areaService.getAreaList(ids);
return success(AreaConvert.INSTANCE.convertList(list));
}
@GetMapping("/page")
@ApiOperation("获得分页")
@PreAuthorize("@ss.hasPermission('farm:area:query')")
public CommonResult<PageResult<AreaRespVO>> getAreaPage(@Valid AreaPageReqVO pageVO) {
PageResult<AreaDO> pageResult = areaService.getAreaPage(pageVO);
return success(AreaConvert.INSTANCE.convertPage(pageResult));
}
@GetMapping("/export-excel")
@ApiOperation("导出 Excel")
@PreAuthorize("@ss.hasPermission('farm:area:export')")
@OperateLog(type = EXPORT)
public void exportAreaExcel(@Valid AreaExportReqVO exportReqVO,
HttpServletResponse response) throws IOException {
List<AreaDO> list = areaService.getAreaList(exportReqVO);
// 导出 Excel
List<AreaExcelVO> datas = AreaConvert.INSTANCE.convertList02(list);
ExcelUtils.write(response, ".xls", "数据", AreaExcelVO.class, datas);
}
}

18
zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/area/vo/AreaBaseVO.java

@ -0,0 +1,18 @@
package cn.iocoder.yudao.module.farm.controller.admin.area.vo;
import lombok.*;
import java.util.*;
import io.swagger.annotations.*;
import javax.validation.constraints.*;
/**
* Base VO提供给添加修改详细的子 VO 使用
* 如果子 VO 存在差异的字段请不要添加到这里影响 Swagger 文档生成
*/
@Data
public class AreaBaseVO {
@ApiModelProperty(value = "")
private String name;
}

14
zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/area/vo/AreaCreateReqVO.java

@ -0,0 +1,14 @@
package cn.iocoder.yudao.module.farm.controller.admin.area.vo;
import lombok.*;
import java.util.*;
import io.swagger.annotations.*;
import javax.validation.constraints.*;
@ApiModel("管理后台 - 创建 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class AreaCreateReqVO extends AreaBaseVO {
}

26
zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/area/vo/AreaExcelVO.java

@ -0,0 +1,26 @@
package cn.iocoder.yudao.module.farm.controller.admin.area.vo;
import lombok.*;
import java.util.*;
import io.swagger.annotations.*;
import com.alibaba.excel.annotation.ExcelProperty;
/**
* Excel VO
*
* @author 系统管理员
*/
@Data
public class AreaExcelVO {
@ExcelProperty("")
private Long id;
@ExcelProperty("")
private String name;
@ExcelProperty("")
private Date createTime;
}

26
zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/area/vo/AreaExportReqVO.java

@ -0,0 +1,26 @@
package cn.iocoder.yudao.module.farm.controller.admin.area.vo;
import lombok.*;
import java.util.*;
import io.swagger.annotations.*;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@ApiModel(value = "管理后台 - Excel 导出 Request VO", description = "参数和 AreaPageReqVO 是一致的")
@Data
public class AreaExportReqVO {
@ApiModelProperty(value = "")
private String name;
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@ApiModelProperty(value = "开始")
private Date beginCreateTime;
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@ApiModelProperty(value = "结束")
private Date endCreateTime;
}

28
zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/area/vo/AreaPageReqVO.java

@ -0,0 +1,28 @@
package cn.iocoder.yudao.module.farm.controller.admin.area.vo;
import lombok.*;
import java.util.*;
import io.swagger.annotations.*;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@ApiModel("管理后台 - 分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class AreaPageReqVO extends PageParam {
@ApiModelProperty(value = "")
private String name;
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@ApiModelProperty(value = "开始")
private Date beginCreateTime;
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@ApiModelProperty(value = "结束")
private Date endCreateTime;
}

19
zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/area/vo/AreaRespVO.java

@ -0,0 +1,19 @@
package cn.iocoder.yudao.module.farm.controller.admin.area.vo;
import lombok.*;
import java.util.*;
import io.swagger.annotations.*;
@ApiModel("管理后台 - Response VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class AreaRespVO extends AreaBaseVO {
@ApiModelProperty(value = "", required = true)
private Long id;
@ApiModelProperty(value = "")
private Date createTime;
}

18
zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/area/vo/AreaUpdateReqVO.java

@ -0,0 +1,18 @@
package cn.iocoder.yudao.module.farm.controller.admin.area.vo;
import lombok.*;
import java.util.*;
import io.swagger.annotations.*;
import javax.validation.constraints.*;
@ApiModel("管理后台 - 更新 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class AreaUpdateReqVO extends AreaBaseVO {
@ApiModelProperty(value = "", required = true)
@NotNull(message = "不能为空")
private Long id;
}

34
zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/convert/area/AreaConvert.java

@ -0,0 +1,34 @@
package cn.iocoder.yudao.module.farm.convert.area;
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.farm.controller.admin.area.vo.*;
import cn.iocoder.yudao.module.farm.dal.dataobject.area.AreaDO;
/**
* Convert
*
* @author 系统管理员
*/
@Mapper
public interface AreaConvert {
AreaConvert INSTANCE = Mappers.getMapper(AreaConvert.class);
AreaDO convert(AreaCreateReqVO bean);
AreaDO convert(AreaUpdateReqVO bean);
AreaRespVO convert(AreaDO bean);
List<AreaRespVO> convertList(List<AreaDO> list);
PageResult<AreaRespVO> convertPage(PageResult<AreaDO> page);
List<AreaExcelVO> convertList02(List<AreaDO> list);
}

32
zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/area/AreaDO.java

@ -0,0 +1,32 @@
package cn.iocoder.yudao.module.farm.dal.dataobject.area;
import lombok.*;
import java.util.*;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
/**
* DO
*
* @author 系统管理员
*/
@TableName("farm_area")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AreaDO extends BaseDO {
/**
*
*/
@TableId
private Long id;
/**
*
*/
private String name;
}

34
zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/area/AreaMapper.java

@ -0,0 +1,34 @@
package cn.iocoder.yudao.module.farm.dal.mysql.area;
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.farm.dal.dataobject.area.AreaDO;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.farm.controller.admin.area.vo.*;
/**
* Mapper
*
* @author 系统管理员
*/
@Mapper
public interface AreaMapper extends BaseMapperX<AreaDO> {
default PageResult<AreaDO> selectPage(AreaPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<AreaDO>()
.likeIfPresent(AreaDO::getName, reqVO.getName())
.betweenIfPresent(AreaDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime())
.orderByDesc(AreaDO::getId));
}
default List<AreaDO> selectList(AreaExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<AreaDO>()
.likeIfPresent(AreaDO::getName, reqVO.getName())
.betweenIfPresent(AreaDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime())
.orderByDesc(AreaDO::getId));
}
}

70
zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/service/area/AreaService.java

@ -0,0 +1,70 @@
package cn.iocoder.yudao.module.farm.service.area;
import java.util.*;
import javax.validation.*;
import cn.iocoder.yudao.module.farm.controller.admin.area.vo.*;
import cn.iocoder.yudao.module.farm.dal.dataobject.area.AreaDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
/**
* Service 接口
*
* @author 系统管理员
*/
public interface AreaService {
/**
* 创建
*
* @param createReqVO 创建信息
* @return 编号
*/
Long createArea(@Valid AreaCreateReqVO createReqVO);
/**
* 更新
*
* @param updateReqVO 更新信息
*/
void updateArea(@Valid AreaUpdateReqVO updateReqVO);
/**
* 删除
*
* @param id 编号
*/
void deleteArea(Long id);
/**
* 获得
*
* @param id 编号
* @return
*/
AreaDO getArea(Long id);
/**
* 获得列表
*
* @param ids 编号
* @return 列表
*/
List<AreaDO> getAreaList(Collection<Long> ids);
/**
* 获得分页
*
* @param pageReqVO 分页查询
* @return 分页
*/
PageResult<AreaDO> getAreaPage(AreaPageReqVO pageReqVO);
/**
* 获得列表, 用于 Excel 导出
*
* @param exportReqVO 查询条件
* @return 列表
*/
List<AreaDO> getAreaList(AreaExportReqVO exportReqVO);
}

82
zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/service/area/AreaServiceImpl.java

@ -0,0 +1,82 @@
package cn.iocoder.yudao.module.farm.service.area;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import java.util.*;
import cn.iocoder.yudao.module.farm.controller.admin.area.vo.*;
import cn.iocoder.yudao.module.farm.dal.dataobject.area.AreaDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.farm.convert.area.AreaConvert;
import cn.iocoder.yudao.module.farm.dal.mysql.area.AreaMapper;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.farm.enums.ErrorCodeConstants.*;
/**
* Service 实现类
*
* @author 系统管理员
*/
@Service
@Validated
public class AreaServiceImpl implements AreaService {
@Resource
private AreaMapper areaMapper;
@Override
public Long createArea(AreaCreateReqVO createReqVO) {
// 插入
AreaDO area = AreaConvert.INSTANCE.convert(createReqVO);
areaMapper.insert(area);
// 返回
return area.getId();
}
@Override
public void updateArea(AreaUpdateReqVO updateReqVO) {
// 校验存在
this.validateAreaExists(updateReqVO.getId());
// 更新
AreaDO updateObj = AreaConvert.INSTANCE.convert(updateReqVO);
areaMapper.updateById(updateObj);
}
@Override
public void deleteArea(Long id) {
// 校验存在
this.validateAreaExists(id);
// 删除
areaMapper.deleteById(id);
}
private void validateAreaExists(Long id) {
if (areaMapper.selectById(id) == null) {
throw exception(AREA_NOT_EXISTS);
}
}
@Override
public AreaDO getArea(Long id) {
return areaMapper.selectById(id);
}
@Override
public List<AreaDO> getAreaList(Collection<Long> ids) {
return areaMapper.selectBatchIds(ids);
}
@Override
public PageResult<AreaDO> getAreaPage(AreaPageReqVO pageReqVO) {
return areaMapper.selectPage(pageReqVO);
}
@Override
public List<AreaDO> getAreaList(AreaExportReqVO exportReqVO) {
return areaMapper.selectList(exportReqVO);
}
}

12
zsw-farm/zsw-farm-impl/src/main/resources/mapper/area/AreaMapper.xml

@ -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.farm.dal.mysql.area.AreaMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>

159
zsw-farm/zsw-farm-impl/src/test/java/cn/iocoder/yudao/module/farm/service/area/AreaServiceImplTest.java

@ -0,0 +1,159 @@
package cn.iocoder.yudao.module.farm.service.area;
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.farm.controller.admin.area.vo.*;
import cn.iocoder.yudao.module.farm.dal.dataobject.area.AreaDO;
import cn.iocoder.yudao.module.farm.dal.mysql.area.AreaMapper;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import javax.annotation.Resource;
import org.springframework.context.annotation.Import;
import java.util.*;
import static cn.hutool.core.util.RandomUtil.*;
import static cn.iocoder.yudao.module.farm.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.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 AreaServiceImpl} 的单元测试类
*
* @author 系统管理员
*/
@Import(AreaServiceImpl.class)
public class AreaServiceImplTest extends BaseDbUnitTest {
@Resource
private AreaServiceImpl areaService;
@Resource
private AreaMapper areaMapper;
@Test
public void testCreateArea_success() {
// 准备参数
AreaCreateReqVO reqVO = randomPojo(AreaCreateReqVO.class);
// 调用
Long areaId = areaService.createArea(reqVO);
// 断言
assertNotNull(areaId);
// 校验记录的属性是否正确
AreaDO area = areaMapper.selectById(areaId);
assertPojoEquals(reqVO, area);
}
@Test
public void testUpdateArea_success() {
// mock 数据
AreaDO dbArea = randomPojo(AreaDO.class);
areaMapper.insert(dbArea);// @Sql: 先插入出一条存在的数据
// 准备参数
AreaUpdateReqVO reqVO = randomPojo(AreaUpdateReqVO.class, o -> {
o.setId(dbArea.getId()); // 设置更新的 ID
});
// 调用
areaService.updateArea(reqVO);
// 校验是否更新正确
AreaDO area = areaMapper.selectById(reqVO.getId()); // 获取最新的
assertPojoEquals(reqVO, area);
}
@Test
public void testUpdateArea_notExists() {
// 准备参数
AreaUpdateReqVO reqVO = randomPojo(AreaUpdateReqVO.class);
// 调用, 并断言异常
assertServiceException(() -> areaService.updateArea(reqVO), AREA_NOT_EXISTS);
}
@Test
public void testDeleteArea_success() {
// mock 数据
AreaDO dbArea = randomPojo(AreaDO.class);
areaMapper.insert(dbArea);// @Sql: 先插入出一条存在的数据
// 准备参数
Long id = dbArea.getId();
// 调用
areaService.deleteArea(id);
// 校验数据不存在了
assertNull(areaMapper.selectById(id));
}
@Test
public void testDeleteArea_notExists() {
// 准备参数
Long id = randomLongId();
// 调用, 并断言异常
assertServiceException(() -> areaService.deleteArea(id), AREA_NOT_EXISTS);
}
@Test
@Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解
public void testGetAreaPage() {
// mock 数据
AreaDO dbArea = randomPojo(AreaDO.class, o -> { // 等会查询到
o.setName(null);
o.setCreateTime(null);
});
areaMapper.insert(dbArea);
// 测试 name 不匹配
areaMapper.insert(cloneIgnoreId(dbArea, o -> o.setName(null)));
// 测试 createTime 不匹配
areaMapper.insert(cloneIgnoreId(dbArea, o -> o.setCreateTime(null)));
// 准备参数
AreaPageReqVO reqVO = new AreaPageReqVO();
reqVO.setName(null);
reqVO.setBeginCreateTime(null);
reqVO.setEndCreateTime(null);
// 调用
PageResult<AreaDO> pageResult = areaService.getAreaPage(reqVO);
// 断言
assertEquals(1, pageResult.getTotal());
assertEquals(1, pageResult.getList().size());
assertPojoEquals(dbArea, pageResult.getList().get(0));
}
@Test
@Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解
public void testGetAreaList() {
// mock 数据
AreaDO dbArea = randomPojo(AreaDO.class, o -> { // 等会查询到
o.setName(null);
o.setCreateTime(null);
});
areaMapper.insert(dbArea);
// 测试 name 不匹配
areaMapper.insert(cloneIgnoreId(dbArea, o -> o.setName(null)));
// 测试 createTime 不匹配
areaMapper.insert(cloneIgnoreId(dbArea, o -> o.setCreateTime(null)));
// 准备参数
AreaExportReqVO reqVO = new AreaExportReqVO();
reqVO.setName(null);
reqVO.setBeginCreateTime(null);
reqVO.setEndCreateTime(null);
// 调用
List<AreaDO> list = areaService.getAreaList(reqVO);
// 断言
assertEquals(1, list.size());
assertPojoEquals(dbArea, list.get(0));
}
}
Loading…
Cancel
Save