mirror of
				https://github.com/YunaiV/ruoyi-vue-pro.git
				synced 2025-10-31 10:37:41 +08:00 
			
		
		
		
	feat:物模型列表
This commit is contained in:
		| @ -3,6 +3,7 @@ package cn.iocoder.yudao.module.iot.controller.admin.thingmodel; | |||||||
| import cn.iocoder.yudao.framework.common.pojo.CommonResult; | import cn.iocoder.yudao.framework.common.pojo.CommonResult; | ||||||
| import cn.iocoder.yudao.framework.common.pojo.PageResult; | import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||||||
| import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | ||||||
|  | import cn.iocoder.yudao.module.iot.controller.admin.thingmodel.vo.IotThingModelListReqVO; | ||||||
| import cn.iocoder.yudao.module.iot.controller.admin.thingmodel.vo.IotThingModelPageReqVO; | import cn.iocoder.yudao.module.iot.controller.admin.thingmodel.vo.IotThingModelPageReqVO; | ||||||
| import cn.iocoder.yudao.module.iot.controller.admin.thingmodel.vo.IotThingModelRespVO; | import cn.iocoder.yudao.module.iot.controller.admin.thingmodel.vo.IotThingModelRespVO; | ||||||
| import cn.iocoder.yudao.module.iot.controller.admin.thingmodel.vo.IotThingModelSaveReqVO; | import cn.iocoder.yudao.module.iot.controller.admin.thingmodel.vo.IotThingModelSaveReqVO; | ||||||
| @ -73,6 +74,14 @@ public class IotThingModelController { | |||||||
|         return success(IotThingModelConvert.INSTANCE.convertList(list)); |         return success(IotThingModelConvert.INSTANCE.convertList(list)); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     @GetMapping("/list") | ||||||
|  |     @Operation(summary = "获得产品物模型列表") | ||||||
|  |     @PreAuthorize("@ss.hasPermission('iot:thing-model:query')") | ||||||
|  |     public CommonResult<List<IotThingModelRespVO>> getThingModelListByProductId(@Valid IotThingModelListReqVO reqVO) { | ||||||
|  |         List<IotThingModelDO> list = thingModelService.getThingModelList(reqVO); | ||||||
|  |         return success(IotThingModelConvert.INSTANCE.convertList(list)); | ||||||
|  |     } | ||||||
|  |  | ||||||
|     @GetMapping("/page") |     @GetMapping("/page") | ||||||
|     @Operation(summary = "获得产品物模型分页") |     @Operation(summary = "获得产品物模型分页") | ||||||
|     @PreAuthorize("@ss.hasPermission('iot:thing-model:query')") |     @PreAuthorize("@ss.hasPermission('iot:thing-model:query')") | ||||||
|  | |||||||
| @ -0,0 +1,27 @@ | |||||||
|  | package cn.iocoder.yudao.module.iot.controller.admin.thingmodel.vo; | ||||||
|  |  | ||||||
|  | import cn.iocoder.yudao.framework.common.validation.InEnum; | ||||||
|  | import cn.iocoder.yudao.module.iot.enums.thingmodel.IotThingModelTypeEnum; | ||||||
|  | import io.swagger.v3.oas.annotations.media.Schema; | ||||||
|  | import jakarta.validation.constraints.NotNull; | ||||||
|  | import lombok.Data; | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | @Schema(description = "管理后台 - IoT 产品物模型List Request VO") | ||||||
|  | @Data | ||||||
|  | public class IotThingModelListReqVO { | ||||||
|  |     @Schema(description = "功能标识") | ||||||
|  |     private String identifier; | ||||||
|  |  | ||||||
|  |     @Schema(description = "功能名称", example = "张三") | ||||||
|  |     private String name; | ||||||
|  |  | ||||||
|  |     @Schema(description = "功能类型", example = "1") | ||||||
|  |     @InEnum(IotThingModelTypeEnum.class) | ||||||
|  |     private Integer type; | ||||||
|  |  | ||||||
|  |     @Schema(description = "产品ID", requiredMode = Schema.RequiredMode.REQUIRED) | ||||||
|  |     @NotNull(message = "产品ID不能为空") | ||||||
|  |     private Long productId; | ||||||
|  | } | ||||||
| @ -3,6 +3,7 @@ package cn.iocoder.yudao.module.iot.dal.mysql.thingmodel; | |||||||
| import cn.iocoder.yudao.framework.common.pojo.PageResult; | import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||||||
| import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; | import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; | ||||||
| import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; | import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; | ||||||
|  | import cn.iocoder.yudao.module.iot.controller.admin.thingmodel.vo.IotThingModelListReqVO; | ||||||
| import cn.iocoder.yudao.module.iot.controller.admin.thingmodel.vo.IotThingModelPageReqVO; | import cn.iocoder.yudao.module.iot.controller.admin.thingmodel.vo.IotThingModelPageReqVO; | ||||||
| import cn.iocoder.yudao.module.iot.dal.dataobject.thingmodel.IotThingModelDO; | import cn.iocoder.yudao.module.iot.dal.dataobject.thingmodel.IotThingModelDO; | ||||||
| import org.apache.ibatis.annotations.Mapper; | import org.apache.ibatis.annotations.Mapper; | ||||||
| @ -28,6 +29,17 @@ public interface IotThingModelMapper extends BaseMapperX<IotThingModelDO> { | |||||||
|                 .orderByDesc(IotThingModelDO::getId)); |                 .orderByDesc(IotThingModelDO::getId)); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     default List<IotThingModelDO> selectList(IotThingModelListReqVO reqVO) { | ||||||
|  |         return selectList(new LambdaQueryWrapperX<IotThingModelDO>() | ||||||
|  |                 .eqIfPresent(IotThingModelDO::getIdentifier, reqVO.getIdentifier()) | ||||||
|  |                 .likeIfPresent(IotThingModelDO::getName, reqVO.getName()) | ||||||
|  |                 .eqIfPresent(IotThingModelDO::getType, reqVO.getType()) | ||||||
|  |                 .eqIfPresent(IotThingModelDO::getProductId, reqVO.getProductId()) | ||||||
|  |                 // TODO @芋艿:看看要不要加枚举 | ||||||
|  |                 .notIn(IotThingModelDO::getIdentifier, "get", "set", "post") | ||||||
|  |                 .orderByDesc(IotThingModelDO::getId)); | ||||||
|  |     } | ||||||
|  |  | ||||||
|     default IotThingModelDO selectByProductIdAndIdentifier(Long productId, String identifier) { |     default IotThingModelDO selectByProductIdAndIdentifier(Long productId, String identifier) { | ||||||
|         return selectOne(IotThingModelDO::getProductId, productId, |         return selectOne(IotThingModelDO::getProductId, productId, | ||||||
|                 IotThingModelDO::getIdentifier, identifier); |                 IotThingModelDO::getIdentifier, identifier); | ||||||
|  | |||||||
| @ -1,6 +1,7 @@ | |||||||
| package cn.iocoder.yudao.module.iot.service.thingmodel; | package cn.iocoder.yudao.module.iot.service.thingmodel; | ||||||
|  |  | ||||||
| import cn.iocoder.yudao.framework.common.pojo.PageResult; | import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||||||
|  | import cn.iocoder.yudao.module.iot.controller.admin.thingmodel.vo.IotThingModelListReqVO; | ||||||
| import cn.iocoder.yudao.module.iot.controller.admin.thingmodel.vo.IotThingModelPageReqVO; | import cn.iocoder.yudao.module.iot.controller.admin.thingmodel.vo.IotThingModelPageReqVO; | ||||||
| import cn.iocoder.yudao.module.iot.controller.admin.thingmodel.vo.IotThingModelSaveReqVO; | import cn.iocoder.yudao.module.iot.controller.admin.thingmodel.vo.IotThingModelSaveReqVO; | ||||||
| import cn.iocoder.yudao.module.iot.dal.dataobject.thingmodel.IotThingModelDO; | import cn.iocoder.yudao.module.iot.dal.dataobject.thingmodel.IotThingModelDO; | ||||||
| @ -69,4 +70,11 @@ public interface IotThingModelService { | |||||||
|      */ |      */ | ||||||
|     List<IotThingModelDO> getProductThingModelListByProductKey(String productKey); |     List<IotThingModelDO> getProductThingModelListByProductKey(String productKey); | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 获得产品物模型列表 | ||||||
|  |      * | ||||||
|  |      * @param reqVO 列表查询 | ||||||
|  |      * @return 产品物模型列表 | ||||||
|  |      */ | ||||||
|  |     List<IotThingModelDO> getThingModelList(IotThingModelListReqVO reqVO); | ||||||
| } | } | ||||||
| @ -7,6 +7,7 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | |||||||
| import cn.iocoder.yudao.module.iot.controller.admin.thingmodel.model.ThingModelEvent; | import cn.iocoder.yudao.module.iot.controller.admin.thingmodel.model.ThingModelEvent; | ||||||
| import cn.iocoder.yudao.module.iot.controller.admin.thingmodel.model.ThingModelParam; | import cn.iocoder.yudao.module.iot.controller.admin.thingmodel.model.ThingModelParam; | ||||||
| import cn.iocoder.yudao.module.iot.controller.admin.thingmodel.model.ThingModelService; | import cn.iocoder.yudao.module.iot.controller.admin.thingmodel.model.ThingModelService; | ||||||
|  | import cn.iocoder.yudao.module.iot.controller.admin.thingmodel.vo.IotThingModelListReqVO; | ||||||
| import cn.iocoder.yudao.module.iot.controller.admin.thingmodel.vo.IotThingModelPageReqVO; | import cn.iocoder.yudao.module.iot.controller.admin.thingmodel.vo.IotThingModelPageReqVO; | ||||||
| import cn.iocoder.yudao.module.iot.controller.admin.thingmodel.vo.IotThingModelSaveReqVO; | import cn.iocoder.yudao.module.iot.controller.admin.thingmodel.vo.IotThingModelSaveReqVO; | ||||||
| import cn.iocoder.yudao.module.iot.convert.thingmodel.IotThingModelConvert; | import cn.iocoder.yudao.module.iot.convert.thingmodel.IotThingModelConvert; | ||||||
| @ -134,6 +135,11 @@ public class IotThingModelServiceImpl implements IotThingModelService { | |||||||
|         return thingModelMapper.selectListByProductKey(productKey); |         return thingModelMapper.selectListByProductKey(productKey); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     @Override | ||||||
|  |     public List<IotThingModelDO> getThingModelList(IotThingModelListReqVO reqVO) { | ||||||
|  |         return thingModelMapper.selectList(reqVO); | ||||||
|  |     } | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 校验功能是否存在 |      * 校验功能是否存在 | ||||||
|      * |      * | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	 alwayssuper
					alwayssuper