diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/dict/DictController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/dict/DictController.java new file mode 100644 index 00000000..d65c243b --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/dict/DictController.java @@ -0,0 +1,270 @@ +package cn.iocoder.yudao.module.farm.controller.admin.dict; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.farm.controller.admin.dict.vo.CommonDictRespVO; +import cn.iocoder.yudao.module.farm.controller.admin.dict.vo.FarmingTypeRespVO; +import cn.iocoder.yudao.module.farm.controller.admin.dict.vo.SpeciesClassifyLibraryRespVO; +import cn.iocoder.yudao.module.farm.controller.admin.farmingnamemaintenance.vo.FarmingNameMaintenancePageReqVO; +import cn.iocoder.yudao.module.farm.controller.admin.farmingnamemaintenance.vo.FarmingNameMaintenanceRespVO; +import cn.iocoder.yudao.module.farm.controller.admin.farmingnamemaintenance.vo.FarmingNameMaintenanceSaveReqVO; +import cn.iocoder.yudao.module.farm.controller.admin.farmingtypemaintenance.vo.FarmingTypeMaintenancePageReqVO; +import cn.iocoder.yudao.module.farm.controller.admin.farmingtypemaintenance.vo.FarmingTypeMaintenanceRespVO; +import cn.iocoder.yudao.module.farm.controller.admin.farmingtypemaintenance.vo.FarmingTypeMaintenanceSaveReqVO; +import cn.iocoder.yudao.module.farm.controller.admin.inputlibrary.vo.InputLibraryPageReqVO; +import cn.iocoder.yudao.module.farm.controller.admin.inputlibrary.vo.InputLibraryRespVO; +import cn.iocoder.yudao.module.farm.controller.admin.inputlibrary.vo.InputLibrarySaveReqVO; +import cn.iocoder.yudao.module.farm.controller.admin.specieslibrary.vo.SpeciesLibraryPageReqVO; +import cn.iocoder.yudao.module.farm.controller.admin.specieslibrary.vo.SpeciesLibraryRespVO; +import cn.iocoder.yudao.module.farm.controller.admin.specieslibrary.vo.SpeciesLibrarySaveReqVO; +import cn.iocoder.yudao.module.farm.dal.dataobject.farmingnamemaintenance.FarmingNameMaintenanceDO; +import cn.iocoder.yudao.module.farm.dal.dataobject.farmingtypemaintenance.FarmingTypeMaintenanceDO; +import cn.iocoder.yudao.module.farm.dal.dataobject.inputlibrary.InputLibraryDO; +import cn.iocoder.yudao.module.farm.dal.dataobject.speciesclassifylibrary.SpeciesClassifyLibraryDO; +import cn.iocoder.yudao.module.farm.dal.dataobject.specieslibrary.SpeciesLibraryDO; +import cn.iocoder.yudao.module.farm.service.farmingnamemaintenance.FarmingNameMaintenanceService; +import cn.iocoder.yudao.module.farm.service.farmingtypemaintenance.FarmingTypeMaintenanceService; +import cn.iocoder.yudao.module.farm.service.inputlibrary.InputLibraryService; +import cn.iocoder.yudao.module.farm.service.speciesclassifylibrary.SpeciesClassifyLibraryService; +import cn.iocoder.yudao.module.farm.service.specieslibrary.SpeciesLibraryService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.validation.Valid; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.Arrays; +import java.util.List; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +/** + * @description: 字典表接口 + * 农事类型维护: farm_farming_type_maintenance + * 农事名称维护: farm_farming_name_maintenance + * 物种库维护: farm_species_library + * 物种分类库维护 farm_species_classify_library + * 投入品库维护: farm_input_library + * 灾害库维护: farm_disaster_data + * 气象灾害库维护 : farm_weather_disaster_library + * @author: binda + * @date: 2025/8/16 16:07 + */ +@Tag(name = "管理中心 - 基础数据管理") +@RestController +@RequestMapping("/farm/management-center/dict") +@Validated +public class DictController { + + private final FarmingTypeMaintenanceService farmingTypeMaintenanceService; + private final FarmingNameMaintenanceService farmingNameMaintenanceService; + private final SpeciesLibraryService speciesLibraryService; + private final SpeciesClassifyLibraryService speciesClassifyLibraryService; + private final InputLibraryService inputLibraryService; + + public DictController(FarmingTypeMaintenanceService farmingTypeMaintenanceService, FarmingNameMaintenanceService farmingNameMaintenanceService, SpeciesLibraryService speciesLibraryService, SpeciesClassifyLibraryService speciesClassifyLibraryService, InputLibraryService inputLibraryService) { + this.farmingTypeMaintenanceService = farmingTypeMaintenanceService; + this.farmingNameMaintenanceService = farmingNameMaintenanceService; + this.speciesLibraryService = speciesLibraryService; + this.speciesClassifyLibraryService = speciesClassifyLibraryService; + this.inputLibraryService = inputLibraryService; + } + + // 农事类型 + @Operation(summary = "字典数据维护-农事类型-分页") + @GetMapping("/farming-type/page") + public CommonResult> getFarmingTypePage(FarmingTypeMaintenancePageReqVO reqVO) { + PageResult pageResult = farmingTypeMaintenanceService.getFarmingTypeMaintenancePage(reqVO); + return success(BeanUtils.toBean(pageResult, FarmingTypeMaintenanceRespVO.class)); + } + + @Operation(summary = "字典数据维护-农事类型-新增") + @PostMapping("/farming-type/create") + public CommonResult createFarmingType(@RequestBody FarmingTypeMaintenanceSaveReqVO saveVO) { + String res = farmingTypeMaintenanceService.createFarmingTypeMaintenance(saveVO); + return success(res); + } + + @Operation(summary = "字典数据维护-农事类型-编辑") + @PutMapping("/farming-type/update") + public CommonResult updateFarmingType(@RequestBody FarmingTypeMaintenanceSaveReqVO updateVO) { + farmingTypeMaintenanceService.updateFarmingTypeMaintenance(updateVO); + return success(true); + } + + @Operation(summary = "字典数据维护-农事类型-删除") + @DeleteMapping("/farming-type/delete/{id}") + public CommonResult delFarmingType(@PathVariable("id") String id) { + farmingTypeMaintenanceService.deleteFarmingTypeMaintenance(id); + return success(true); + } + + // 农事名称 + @Operation(summary = "字典数据维护-农事名称-分页") + @GetMapping("/farming-name/page") + public CommonResult> getFarmingNameMaintenancePage(@Valid FarmingNameMaintenancePageReqVO pageReqVO) { + PageResult pageResult = farmingNameMaintenanceService.getFarmingNameMaintenancePage(pageReqVO); + return success(BeanUtils.toBean(pageResult, FarmingNameMaintenanceRespVO.class)); + } + + @Operation(summary = "字典数据维护-农事名称-新增") + @PostMapping("/farming-name/create") + public CommonResult createFarmingNameMaintenance(@Valid @RequestBody FarmingNameMaintenanceSaveReqVO createReqVO) { + return success(farmingNameMaintenanceService.createFarmingNameMaintenance(createReqVO)); + } + + + @Operation(summary = "字典数据维护-农事名称-编辑") + @PutMapping("/farming-name/update") + public CommonResult updateFarmingNameMaintenance(@Valid @RequestBody FarmingNameMaintenanceSaveReqVO updateReqVO) { + farmingNameMaintenanceService.updateFarmingNameMaintenance(updateReqVO); + return success(true); + } + + + @Operation(summary = "字典数据维护-农事名称-删除") + @DeleteMapping("/farming-name/delete/{id}") + public CommonResult deleteFarmingNameMaintenance(@PathVariable("id") String id) { + farmingNameMaintenanceService.deleteFarmingNameMaintenance(id); + return success(true); + } + + // 物种库维护 + @Operation(summary = "字典数据维护-物种库-分页") + @GetMapping("/species/page") + public CommonResult> getSpeciesLibraryPage(@Valid SpeciesLibraryPageReqVO pageReqVO) { + PageResult pageResult = speciesLibraryService.getSpeciesLibraryPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, SpeciesLibraryRespVO.class)); + } + + @Operation(summary = "字典数据维护-物种库-新增") + @PostMapping("/species/create") + public CommonResult createSpeciesLibrary(@Valid @RequestBody SpeciesLibrarySaveReqVO createReqVO) { + return success(speciesLibraryService.createSpeciesLibrary(createReqVO)); + } + + @Operation(summary = "字典数据维护-物种库-编辑") + @PutMapping("/species/update") + public CommonResult updateSpeciesLibrary(@Valid @RequestBody SpeciesLibrarySaveReqVO updateReqVO) { + speciesLibraryService.updateSpeciesLibrary(updateReqVO); + return success(true); + } + + @Operation(summary = "字典数据维护-物种库-删除") + @DeleteMapping("/species/delete/{id}") + public CommonResult deleteSpeciesLibrary(@PathVariable("id") String id) { + speciesLibraryService.deleteSpeciesLibrary(id); + return success(true); + } + + // 物种类别维护 todo 后续 + + + // 投入品维护 + @Operation(summary = "字典数据维护-投入品-分页") + @GetMapping("/invest-goods/page") + public CommonResult> getInputLibraryPage(@Valid InputLibraryPageReqVO pageReqVO) { + PageResult pageResult = inputLibraryService.getInputLibraryPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, InputLibraryRespVO.class)); + } + + @Operation(summary = "字典数据维护-投入品-新增") + @PostMapping("/invest-goods/create") + public CommonResult createInputLibrary(@Valid @RequestBody InputLibrarySaveReqVO createReqVO) { + return success(inputLibraryService.createInputLibrary(createReqVO)); + } + + @PutMapping("/invest-goods/update") + @Operation(summary = "字典数据维护-投入品-编辑") + public CommonResult updateInputLibrary(@Valid @RequestBody InputLibrarySaveReqVO updateReqVO) { + inputLibraryService.updateInputLibrary(updateReqVO); + return success(true); + } + + + @Operation(summary = "字典数据维护-投入品-删除") + @DeleteMapping("/invest-goods/delete/{id}") + public CommonResult deleteInputLibrary(@PathVariable("id") String id) { + inputLibraryService.deleteInputLibrary(id); + return success(true); + } + + // 灾害库维护 + + + // 气象灾害库维护 + + + // 下拉框列表 + @Operation(summary = "字典数据维护-下拉框列表-农事类型") + @GetMapping("/list/farming-type") + public CommonResult> getFarmingTypeList() { + List res = farmingTypeMaintenanceService.getFarmingTypeList(); + return success(BeanUtils.toBean(res, FarmingTypeRespVO.class)); + } + + @Operation(summary = "字典数据维护-下拉框列表-物种类别") + @GetMapping("/list/species-classify-library") + public CommonResult> getSpeciesClassifyLibraryList() { + List res = speciesClassifyLibraryService.getSpeciesClassifyLibraryList(); + return success(BeanUtils.toBean(res, SpeciesClassifyLibraryRespVO.class)); + } + + @Operation(summary = "字典数据维护-下拉框列表-投入品类型") + @GetMapping("/list/invest-goods") + public CommonResult> getInvestGoodsList() { + // todo 后续维护到字典表 + List list = Arrays.asList( + new CommonDictRespVO("1", "肥料", 1), + new CommonDictRespVO("2", "药物", 1), + new CommonDictRespVO("3", "种子", 1), + new CommonDictRespVO("4", "膜", 1), + new CommonDictRespVO("99", "其他", 1) + ); + + return success(list); + } + + @Operation(summary = "字典数据维护-下拉框列表-投入品规格-单位1") + @GetMapping("/list/units/1") + public CommonResult> getUnits1List() { + // todo 后续维护到字典表 + List list = Arrays.asList( + new CommonDictRespVO("1", "吨", 1), + new CommonDictRespVO("2", "千克", 1), + new CommonDictRespVO("3", "斤", 1), + new CommonDictRespVO("4", "立方米", 1), + new CommonDictRespVO("5", "米", 1), + new CommonDictRespVO("6", "克", 1) + ); + + return success(list); + } + + @Operation(summary = "字典数据维护-下拉框列表-投入品规格-单位2") + @GetMapping("/list/units/2") + public CommonResult> getUnits2List() { + // todo 后续维护到字典表 + List list = Arrays.asList( + new CommonDictRespVO("1", "包", 1), + new CommonDictRespVO("2", "袋", 1), + new CommonDictRespVO("3", "桶", 1), + new CommonDictRespVO("4", "车", 1), + new CommonDictRespVO("5", "捆", 1), + new CommonDictRespVO("6", "立方米", 1), + new CommonDictRespVO("7", "箱", 1) + ); + + return success(list); + } + + + + + + + + + +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/dict/vo/CommonDictRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/dict/vo/CommonDictRespVO.java new file mode 100644 index 00000000..deae420e --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/dict/vo/CommonDictRespVO.java @@ -0,0 +1,25 @@ +package cn.iocoder.yudao.module.farm.controller.admin.dict.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @description: 投入品类型 + * @author: binda + * @date: 2025/8/17 17:20 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class CommonDictRespVO { + + @Schema(description = "字典-编码") + private String code; + @Schema(description = "字典-名称") + private String name; + @Schema(description = "使用状态") + private Integer useStatus; + +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/dict/vo/FarmingTypeReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/dict/vo/FarmingTypeReqVO.java new file mode 100644 index 00000000..4bdeb215 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/dict/vo/FarmingTypeReqVO.java @@ -0,0 +1,20 @@ +package cn.iocoder.yudao.module.farm.controller.admin.dict.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * @description: + * @author: binda + * @date: 2025/8/17 13:45 + */ +@Data +public class FarmingTypeReqVO { + + @Schema(description = "使用状态 (0=启用,1=停用)") + private Integer useStatus; + + @Schema(description = "农事类型-名称") + private String farmingName; + +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/dict/vo/FarmingTypeRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/dict/vo/FarmingTypeRespVO.java new file mode 100644 index 00000000..03d13f48 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/dict/vo/FarmingTypeRespVO.java @@ -0,0 +1,24 @@ +package cn.iocoder.yudao.module.farm.controller.admin.dict.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + + +/** + * @description: 字典表 - 农事类型 + * @author: binda + * @date: 2025/8/17 13:28 + */ +@Data +public class FarmingTypeRespVO { + + @Schema(description = "ID") + private String id; + + @Schema(description = "农事编码") + private String farmingCode; + + @Schema(description = "农事类型-名称") + private String farmingName; + +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/dict/vo/FarmingTypeSaveVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/dict/vo/FarmingTypeSaveVO.java new file mode 100644 index 00000000..bfaccdbf --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/dict/vo/FarmingTypeSaveVO.java @@ -0,0 +1,20 @@ +package cn.iocoder.yudao.module.farm.controller.admin.dict.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * @description: 农事类型维护 - 新增 + * @author: binda + * @date: 2025/8/17 13:52 + */ +@Data +public class FarmingTypeSaveVO { + + @Schema(description = "农事类型-名称") + private String farmingName; + + @Schema(description = "使用状态 (0=启用,1=停用)") + private Integer useStatus; + +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/dict/vo/InvestGoodsRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/dict/vo/InvestGoodsRespVO.java new file mode 100644 index 00000000..5dc4d8b7 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/dict/vo/InvestGoodsRespVO.java @@ -0,0 +1,25 @@ +package cn.iocoder.yudao.module.farm.controller.admin.dict.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @description: 投入品类型 + * @author: binda + * @date: 2025/8/17 17:20 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class InvestGoodsRespVO { + + @Schema(description = "投入品-编码") + private String code; + @Schema(description = "投入品-名称") + private String name; + @Schema(description = "使用状态") + private Integer useStatus; + +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/dict/vo/SpeciesClassifyLibraryReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/dict/vo/SpeciesClassifyLibraryReqVO.java new file mode 100644 index 00000000..993f3015 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/dict/vo/SpeciesClassifyLibraryReqVO.java @@ -0,0 +1,25 @@ +package cn.iocoder.yudao.module.farm.controller.admin.dict.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * @description: + * @author: binda + * @date: 2025/8/17 16:51 + */ +@Data +public class SpeciesClassifyLibraryReqVO { + @Schema(description = "ID") + private String id; + @Schema(description = "一级分类-编码") + private String primaryClassCode; + @Schema(description = "一级分类-名称") + private String primaryClassName; + @Schema(description = "二级分类-编码") + private String secondaryClassCode; + @Schema(description = "二级分类-名称") + private String secondaryClassName; + @Schema(description = "使用状态") + private Integer useStatus; +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/dict/vo/SpeciesClassifyLibraryRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/dict/vo/SpeciesClassifyLibraryRespVO.java new file mode 100644 index 00000000..e0e71dfe --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/dict/vo/SpeciesClassifyLibraryRespVO.java @@ -0,0 +1,25 @@ +package cn.iocoder.yudao.module.farm.controller.admin.dict.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * @description: 物种分类 + * @author: binda + * @date: 2025/8/17 16:43 + */ +@Data +public class SpeciesClassifyLibraryRespVO { + @Schema(description = "ID") + private String id; + @Schema(description = "一级分类-编码") + private String primaryClassCode; + @Schema(description = "一级分类-名称") + private String primaryClassName; + @Schema(description = "二级分类-编码") + private String secondaryClassCode; + @Schema(description = "二级分类-名称") + private String secondaryClassName; + @Schema(description = "使用状态") + private String useStatus; +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingtypemaintenance/vo/FarmingTypeMaintenancePageReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingtypemaintenance/vo/FarmingTypeMaintenancePageReqVO.java index 60ea2b6a..af9d6c27 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingtypemaintenance/vo/FarmingTypeMaintenancePageReqVO.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingtypemaintenance/vo/FarmingTypeMaintenancePageReqVO.java @@ -13,10 +13,12 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_ @Data public class FarmingTypeMaintenancePageReqVO extends PageParam { - @Schema(description = "农事类型", example = "1") - private String farmingType; + @Schema(description = "农事类型-编码", example = "1") + private String farmingCode; + @Schema(description = "农事类型-名称", example = "采收") + private String farmingName; - @Schema(description = "0=启用,1=停用", example = "2") + @Schema(description = "0=启用,1=停用", example = "0") private Integer useStatus; @Schema(description = "创建时间") diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingtypemaintenance/vo/FarmingTypeMaintenanceSaveReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingtypemaintenance/vo/FarmingTypeMaintenanceSaveReqVO.java index 6de0ac86..46f0439e 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingtypemaintenance/vo/FarmingTypeMaintenanceSaveReqVO.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingtypemaintenance/vo/FarmingTypeMaintenanceSaveReqVO.java @@ -13,8 +13,10 @@ public class FarmingTypeMaintenanceSaveReqVO { @Schema(description = "农事类型", example = "1") private String farmingType; - @Schema(description = "0=启用,1=停用", example = "2") + @Schema(description = "0=启用,1=停用", example = "0") private Integer useStatus; + @Schema(description = "0=未删除,1=已删除", example = "0") + private Integer deleted; @Schema(description = "基地id", example = "29265") private String baseId; diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/home/HomeController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/home/HomeController.java index ce8dab7c..492f742c 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/home/HomeController.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/home/HomeController.java @@ -1,9 +1,9 @@ package cn.iocoder.yudao.module.farm.controller.admin.home; import cn.iocoder.yudao.framework.common.pojo.CommonResult; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.farm.controller.admin.home.vo.BaseNameVO; import cn.iocoder.yudao.module.farm.controller.admin.home.vo.HomeInfoVO; -import cn.iocoder.yudao.module.farm.dal.dataobject.home.HomeInfoDO; +import cn.iocoder.yudao.module.farm.controller.admin.home.vo.OutlinedInfoVO; import cn.iocoder.yudao.module.farm.service.home.HomeService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -12,6 +12,8 @@ import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import java.util.List; + import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; /** @@ -30,12 +32,27 @@ public class HomeController { @Parameter(name = "baseId", description = "基地ID", required = true) @Operation(summary = "农场首页") - @GetMapping("/get/{baseId}") + @GetMapping("/{baseId}") public CommonResult getBaseInfo(@PathVariable("baseId") String baseId) { HomeInfoVO res = homeService.getHomeInfo(baseId); return success(res); } + @Parameter(name = "baseId", description = "基地ID", required = true) + @Operation(summary = "农场首页-概要信息") + @GetMapping("/outlined/{baseId}") + public CommonResult getWeatherInfo(@PathVariable("baseId") String baseId) { + OutlinedInfoVO res = homeService.getOutlinedInfo(baseId); + return success(res); + } + + @Operation(summary = "农场首页-基地名称列表") + @GetMapping("/baseNames") + public CommonResult> getBaseNameList() { + List res = homeService.getBaseNameList(); + return success(res); + } + } diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/home/vo/BaseNameVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/home/vo/BaseNameVO.java new file mode 100644 index 00000000..f1709e93 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/home/vo/BaseNameVO.java @@ -0,0 +1,14 @@ +package cn.iocoder.yudao.module.farm.controller.admin.home.vo; + +import lombok.Data; + +/** + * @description: 基地名称下拉列表 + * @author: binda + * @date: 2025/8/15 18:04 + */ +@Data +public class BaseNameVO { + public String baseId; + public String baseName; +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/home/vo/OutlinedInfoVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/home/vo/OutlinedInfoVO.java new file mode 100644 index 00000000..7e6a0c7f --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/home/vo/OutlinedInfoVO.java @@ -0,0 +1,25 @@ +package cn.iocoder.yudao.module.farm.controller.admin.home.vo; + +import lombok.Data; + +/** + * @description: 农场首页-天气 + * @author: binda + * @date: 2025/8/15 14:32 + */ +@Data +public class OutlinedInfoVO { + /** + * 今日任务数量 + */ + private Integer taskCount; + /** + * 告警数量 + */ + private Integer warningCount; + /** + * 物联设备数量 + */ + private Integer iotCount; + +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/farmingtypemaintenance/FarmingTypeMaintenanceDO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/farmingtypemaintenance/FarmingTypeMaintenanceDO.java index 70224b42..c1b19866 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/farmingtypemaintenance/FarmingTypeMaintenanceDO.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/farmingtypemaintenance/FarmingTypeMaintenanceDO.java @@ -30,7 +30,8 @@ public class FarmingTypeMaintenanceDO extends BaseDO { /** * 农事类型 */ - private String farmingType; + private String farmingCode; + private String farmingName; /** * 0=启用,1=停用 */ diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/speciesclassifylibrary/SpeciesClassifyLibraryDO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/speciesclassifylibrary/SpeciesClassifyLibraryDO.java new file mode 100644 index 00000000..7d95aad0 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/speciesclassifylibrary/SpeciesClassifyLibraryDO.java @@ -0,0 +1,49 @@ +package cn.iocoder.yudao.module.farm.dal.dataobject.speciesclassifylibrary; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; + +/** + * @description: 物种分类 DO + * @author: binda + * @date: 2025/8/17 16:31 + */ +@TableName("farm_species_classify_library") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class SpeciesClassifyLibraryDO extends BaseDO { + + /** + * id + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 一级分类-编码 + */ + private String primaryClassCode; + /** + * 一级分类-名称 + */ + private String primaryClassName; + /** + * 二级分类-编码 + */ + private String secondaryClassCode; + /** + * 二级分类-名称 + */ + private String secondaryClassName; + /** + * 0=启用,1=停用 + */ + private Integer useStatus; +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/farmingtypemaintenance/FarmingTypeMaintenanceMapper.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/farmingtypemaintenance/FarmingTypeMaintenanceMapper.java index d6ef5519..01afe9d6 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/farmingtypemaintenance/FarmingTypeMaintenanceMapper.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/farmingtypemaintenance/FarmingTypeMaintenanceMapper.java @@ -4,8 +4,12 @@ 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.controller.admin.farmingtypemaintenance.vo.FarmingTypeMaintenancePageReqVO; +import cn.iocoder.yudao.module.farm.controller.admin.farmingtypemaintenance.vo.FarmingTypeMaintenanceSaveReqVO; import cn.iocoder.yudao.module.farm.dal.dataobject.farmingtypemaintenance.FarmingTypeMaintenanceDO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 农事类型维护 Mapper @@ -17,7 +21,8 @@ public interface FarmingTypeMaintenanceMapper extends BaseMapperX selectPage(FarmingTypeMaintenancePageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(FarmingTypeMaintenanceDO::getFarmingType, reqVO.getFarmingType()) + .eqIfPresent(FarmingTypeMaintenanceDO::getFarmingCode, reqVO.getFarmingCode()) + .eqIfPresent(FarmingTypeMaintenanceDO::getFarmingName, reqVO.getFarmingName()) .eqIfPresent(FarmingTypeMaintenanceDO::getUseStatus, reqVO.getUseStatus()) .betweenIfPresent(FarmingTypeMaintenanceDO::getCreateTime, reqVO.getCreateTime()) .eqIfPresent(FarmingTypeMaintenanceDO::getBaseId, reqVO.getBaseId()) @@ -28,4 +33,5 @@ public interface FarmingTypeMaintenanceMapper extends BaseMapperX listForFarmingType(@Param("req") FarmingTypeMaintenanceSaveReqVO reqVO ); } \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/speciesclassifylibrary/SpeciesClassifyLibraryMapper.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/speciesclassifylibrary/SpeciesClassifyLibraryMapper.java new file mode 100644 index 00000000..4289f759 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/speciesclassifylibrary/SpeciesClassifyLibraryMapper.java @@ -0,0 +1,21 @@ +package cn.iocoder.yudao.module.farm.dal.mysql.speciesclassifylibrary; + +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.farm.controller.admin.dict.vo.SpeciesClassifyLibraryReqVO; +import cn.iocoder.yudao.module.farm.dal.dataobject.speciesclassifylibrary.SpeciesClassifyLibraryDO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @description: + * @author: binda + * @date: 2025/8/17 16:30 + */ +@Mapper +public interface SpeciesClassifyLibraryMapper extends BaseMapperX { + + List getSpeciesClassifyLibraryList(@Param("req") SpeciesClassifyLibraryReqVO reqVO); + +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/enums/CommonConstants.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/enums/CommonConstants.java new file mode 100644 index 00000000..59c1d726 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/enums/CommonConstants.java @@ -0,0 +1,15 @@ +package cn.iocoder.yudao.module.farm.enums; + +/** + * @description: 通用常量 + * @author: binda + * @date: 2025/8/17 15:48 + */ +public class CommonConstants { + + public final static Integer YES_CODE = 1; + public final static String YES_NAME = "是"; + + public final static Integer NO_CODE = 0; + public final static String NO_NAME = "否"; +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingtypemaintenance/FarmingTypeMaintenanceService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingtypemaintenance/FarmingTypeMaintenanceService.java index 84d01308..98d86776 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingtypemaintenance/FarmingTypeMaintenanceService.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingtypemaintenance/FarmingTypeMaintenanceService.java @@ -4,7 +4,6 @@ import cn.iocoder.yudao.module.farm.controller.admin.farmingtypemaintenance.vo.F import cn.iocoder.yudao.module.farm.controller.admin.farmingtypemaintenance.vo.FarmingTypeMaintenanceSaveReqVO; import cn.iocoder.yudao.module.farm.dal.dataobject.farmingtypemaintenance.FarmingTypeMaintenanceDO; import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.PageParam; import jakarta.validation.Valid; import java.util.List; @@ -61,4 +60,9 @@ public interface FarmingTypeMaintenanceService { */ PageResult getFarmingTypeMaintenancePage(FarmingTypeMaintenancePageReqVO pageReqVO); + /** + * 列表查询 + * @return + */ + List getFarmingTypeList(); } \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingtypemaintenance/FarmingTypeMaintenanceServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingtypemaintenance/FarmingTypeMaintenanceServiceImpl.java index 2fceab77..23bead47 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingtypemaintenance/FarmingTypeMaintenanceServiceImpl.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingtypemaintenance/FarmingTypeMaintenanceServiceImpl.java @@ -1,18 +1,16 @@ package cn.iocoder.yudao.module.farm.service.farmingtypemaintenance; -import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.IdUtil; import cn.iocoder.yudao.framework.security.core.LoginUser; import cn.iocoder.yudao.module.farm.controller.admin.farmingtypemaintenance.vo.FarmingTypeMaintenancePageReqVO; import cn.iocoder.yudao.module.farm.controller.admin.farmingtypemaintenance.vo.FarmingTypeMaintenanceSaveReqVO; +import cn.iocoder.yudao.module.farm.enums.CommonConstants; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; -import org.springframework.transaction.annotation.Transactional; import cn.iocoder.yudao.module.farm.dal.dataobject.farmingtypemaintenance.FarmingTypeMaintenanceDO; import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.farm.dal.mysql.farmingtypemaintenance.FarmingTypeMaintenanceMapper; @@ -20,8 +18,6 @@ import cn.iocoder.yudao.module.farm.dal.mysql.farmingtypemaintenance.FarmingType import java.util.List; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList; -import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.diffList; import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUser; import static cn.iocoder.yudao.module.farm.enums.ErrorCodeConstants.FARMING_TYPE_MAINTENANCE_NOT_EXISTS; @@ -68,12 +64,12 @@ public class FarmingTypeMaintenanceServiceImpl implements FarmingTypeMaintenance } @Override - public void deleteFarmingTypeMaintenanceListByIds(List ids) { + public void deleteFarmingTypeMaintenanceListByIds(List ids) { // 删除 farmingTypeMaintenanceMapper.deleteByIds(ids); - } + } -private void validateFarmingTypeMaintenanceExists(String id) { + private void validateFarmingTypeMaintenanceExists(String id) { if (farmingTypeMaintenanceMapper.selectById(id) == null) { throw exception(FARMING_TYPE_MAINTENANCE_NOT_EXISTS); } @@ -89,4 +85,11 @@ private void validateFarmingTypeMaintenanceExists(String id) { return farmingTypeMaintenanceMapper.selectPage(pageReqVO); } + @Override + public List getFarmingTypeList() { + FarmingTypeMaintenanceSaveReqVO reqVO = new FarmingTypeMaintenanceSaveReqVO(); + reqVO.setDeleted(CommonConstants.NO_CODE); + + return farmingTypeMaintenanceMapper.listForFarmingType(reqVO); + } } \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/home/HomeService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/home/HomeService.java index 56bee17a..4573d5a8 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/home/HomeService.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/home/HomeService.java @@ -1,17 +1,30 @@ package cn.iocoder.yudao.module.farm.service.home; +import cn.iocoder.yudao.module.farm.controller.admin.home.vo.BaseNameVO; import cn.iocoder.yudao.module.farm.controller.admin.home.vo.HomeInfoVO; +import cn.iocoder.yudao.module.farm.controller.admin.home.vo.OutlinedInfoVO; + +import java.util.List; /** - * @description: + * @description: 首页接口 * @author: binda * @data: 2025/8/14 19:45 */ public interface HomeService { /** * 首页综合信息 - * @param baseId + * @param baseId 基地ID * @return */ HomeInfoVO getHomeInfo(String baseId); + + /** + * 首页概要信息 + * @param baseId 基地ID + * @return + */ + OutlinedInfoVO getOutlinedInfo(String baseId); + + List getBaseNameList(); } diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/home/HomeServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/home/HomeServiceImpl.java index 3b20b0cf..0b23a9ed 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/home/HomeServiceImpl.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/home/HomeServiceImpl.java @@ -1,10 +1,13 @@ package cn.iocoder.yudao.module.farm.service.home; +import cn.iocoder.yudao.module.farm.controller.admin.home.vo.BaseNameVO; import cn.iocoder.yudao.module.farm.controller.admin.home.vo.HomeInfoVO; +import cn.iocoder.yudao.module.farm.controller.admin.home.vo.OutlinedInfoVO; import cn.iocoder.yudao.module.farm.dal.dataobject.baseinfo.BaseInfoDO; import cn.iocoder.yudao.module.farm.dal.dataobject.plotinfo.PlotInfoDO; import cn.iocoder.yudao.module.farm.dal.dataobject.productionplan.ProductionPlanDO; import cn.iocoder.yudao.module.farm.service.baseinfo.BaseInfoService; +import cn.iocoder.yudao.module.farm.service.deviceplotrelation.DevicePlotRelationService; import cn.iocoder.yudao.module.farm.service.plotinfo.PlotInfoService; import cn.iocoder.yudao.module.farm.service.productionplan.ProductionPlanService; import org.springframework.stereotype.Service; @@ -23,11 +26,13 @@ public class HomeServiceImpl implements HomeService { private final BaseInfoService baseInfoService; private final PlotInfoService plotInfoService; private final ProductionPlanService productionPlanService; + private final DevicePlotRelationService driverPropertyInfoService; - public HomeServiceImpl(BaseInfoService baseInfoService, PlotInfoService plotInfoService, ProductionPlanService productionPlanService) { + public HomeServiceImpl(BaseInfoService baseInfoService, PlotInfoService plotInfoService, ProductionPlanService productionPlanService, DevicePlotRelationService driverPropertyInfoService) { this.baseInfoService = baseInfoService; this.plotInfoService = plotInfoService; this.productionPlanService = productionPlanService; + this.driverPropertyInfoService = driverPropertyInfoService; } @Override @@ -108,4 +113,20 @@ public class HomeServiceImpl implements HomeService { return resList; } + @Override + public OutlinedInfoVO getOutlinedInfo(String baseId) { + + + + OutlinedInfoVO res = new OutlinedInfoVO(); + res.setTaskCount(0); // todo 任务数量 + res.setWarningCount(0); // todo 告警数量 + res.setIotCount(0); // todo 物联设备 + return res; + } + + @Override + public List getBaseNameList() { + return null; + } } diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/speciesclassifylibrary/SpeciesClassifyLibraryService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/speciesclassifylibrary/SpeciesClassifyLibraryService.java new file mode 100644 index 00000000..c83d270a --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/speciesclassifylibrary/SpeciesClassifyLibraryService.java @@ -0,0 +1,14 @@ +package cn.iocoder.yudao.module.farm.service.speciesclassifylibrary; + +import cn.iocoder.yudao.module.farm.dal.dataobject.speciesclassifylibrary.SpeciesClassifyLibraryDO; + +import java.util.List; + +/** + * @description: 物种分类 + * @author: binda + * @data: 2025/8/17 16:27 + */ +public interface SpeciesClassifyLibraryService { + List getSpeciesClassifyLibraryList(); +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/speciesclassifylibrary/SpeciesClassifyLibraryServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/speciesclassifylibrary/SpeciesClassifyLibraryServiceImpl.java new file mode 100644 index 00000000..055b3694 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/speciesclassifylibrary/SpeciesClassifyLibraryServiceImpl.java @@ -0,0 +1,29 @@ +package cn.iocoder.yudao.module.farm.service.speciesclassifylibrary; + +import cn.iocoder.yudao.module.farm.controller.admin.dict.vo.SpeciesClassifyLibraryReqVO; +import cn.iocoder.yudao.module.farm.dal.dataobject.speciesclassifylibrary.SpeciesClassifyLibraryDO; +import cn.iocoder.yudao.module.farm.dal.mysql.speciesclassifylibrary.SpeciesClassifyLibraryMapper; +import cn.iocoder.yudao.module.farm.enums.CommonConstants; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import java.util.List; + +/** + * @description: 物种分类 + * @author: binda + * @date: 2025/8/17 16:28 + */ +@Service +@Validated +public class SpeciesClassifyLibraryServiceImpl implements SpeciesClassifyLibraryService { + + @Resource + private SpeciesClassifyLibraryMapper speciesClassifyLibraryMapper; + + @Override + public List getSpeciesClassifyLibraryList() { + return speciesClassifyLibraryMapper.getSpeciesClassifyLibraryList(new SpeciesClassifyLibraryReqVO()); + } +} diff --git a/yudao-module-farm/src/main/resources/mapper/farmingtypemaintenance/FarmingTypeMaintenanceMapper.xml b/yudao-module-farm/src/main/resources/mapper/farmingtypemaintenance/FarmingTypeMaintenanceMapper.xml index 6e575b31..e9a8099d 100644 --- a/yudao-module-farm/src/main/resources/mapper/farmingtypemaintenance/FarmingTypeMaintenanceMapper.xml +++ b/yudao-module-farm/src/main/resources/mapper/farmingtypemaintenance/FarmingTypeMaintenanceMapper.xml @@ -9,4 +9,45 @@ 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/ --> + + id, + farming_code, + farming_name, + use_status, + creator, + create_time, + updater, + update_time, + deleted, + base_id, + base_name, + plot_id, + plot_name, + tenant_id + + + \ No newline at end of file diff --git a/yudao-module-farm/src/main/resources/mapper/speciesclassifylibrary/SpeciesClassifyLibraryMapper.xml b/yudao-module-farm/src/main/resources/mapper/speciesclassifylibrary/SpeciesClassifyLibraryMapper.xml new file mode 100644 index 00000000..d19d9202 --- /dev/null +++ b/yudao-module-farm/src/main/resources/mapper/speciesclassifylibrary/SpeciesClassifyLibraryMapper.xml @@ -0,0 +1,67 @@ + + + + + + + + id, + primary_class_code, + primary_class_name, + secondary_class_code, + secondary_class_name, + use_status, + creator, + create_time, + updater, + update_time + + + + + \ No newline at end of file