Showing
10 changed files
with
372 additions
and
11 deletions
@@ -386,3 +386,24 @@ CREATE TABLE "public"."qg_preserve_detail_status" ( | @@ -386,3 +386,24 @@ CREATE TABLE "public"."qg_preserve_detail_status" ( | ||
386 | ); | 386 | ); |
387 | 387 | ||
388 | COMMENT ON TABLE "public"."qg_preserve_detail_status" IS '保养记录明细状态'; | 388 | COMMENT ON TABLE "public"."qg_preserve_detail_status" IS '保养记录明细状态'; |
389 | + | ||
390 | +--智能设备管理 | ||
391 | +--设备类型 | ||
392 | +CREATE TABLE "public"."qg_brain_device_category" ( | ||
393 | +"id" varchar(36) NOT NULL, | ||
394 | +"name" varchar(100), | ||
395 | +"code" varchar(100), | ||
396 | +"status" varchar(50), | ||
397 | +"notes" varchar(500), | ||
398 | +"create_time" timestamp(6), | ||
399 | +"creator" varchar(36), | ||
400 | +"updater" varchar(36), | ||
401 | +"update_time" timestamp(6), | ||
402 | +CONSTRAINT "qg_brain_device_category_pkey" PRIMARY KEY ("id") | ||
403 | +); | ||
404 | + | ||
405 | +COMMENT ON TABLE "public"."qg_brain_device_category" IS '设备类型'; | ||
406 | +COMMENT ON COLUMN "public"."qg_brain_device_category"."name" IS '设备类型名称'; | ||
407 | +COMMENT ON COLUMN "public"."qg_brain_device_category"."code" IS '设备类型编码'; | ||
408 | +COMMENT ON COLUMN "public"."qg_brain_device_category"."status" IS '状态'; | ||
409 | +COMMENT ON COLUMN "public"."qg_brain_device_category"."notes" IS '备注'; |
1 | +package org.thingsboard.server.controller.yunteng; | ||
2 | + | ||
3 | +import io.swagger.annotations.Api; | ||
4 | +import io.swagger.annotations.ApiOperation; | ||
5 | +import lombok.RequiredArgsConstructor; | ||
6 | +import lombok.extern.slf4j.Slf4j; | ||
7 | +import org.apache.commons.lang3.StringUtils; | ||
8 | +import org.springframework.http.ResponseEntity; | ||
9 | +import org.springframework.security.access.prepost.PreAuthorize; | ||
10 | +import org.springframework.web.bind.annotation.*; | ||
11 | +import org.thingsboard.server.common.data.exception.ThingsboardException; | ||
12 | +import org.thingsboard.server.common.data.yunteng.dto.BrainDeviceCategoryDTO; | ||
13 | +import org.thingsboard.server.common.data.yunteng.utils.tools.TkPageData; | ||
14 | +import org.thingsboard.server.controller.BaseController; | ||
15 | +import org.thingsboard.server.dao.yunteng.service.BrainDeviceCategoryService; | ||
16 | +import org.thingsboard.server.queue.util.TbCoreComponent; | ||
17 | + | ||
18 | +import java.util.HashMap; | ||
19 | +import java.util.Map; | ||
20 | + | ||
21 | +import static org.thingsboard.server.common.data.yunteng.constant.QueryConstant.PAGE; | ||
22 | +import static org.thingsboard.server.common.data.yunteng.constant.QueryConstant.PAGE_SIZE; | ||
23 | + | ||
24 | +@RestController | ||
25 | +@TbCoreComponent | ||
26 | +@RequiredArgsConstructor | ||
27 | +@RequestMapping("api/yt/brain/category") | ||
28 | +@Api(tags = {"巡检记录"}) | ||
29 | +@Slf4j | ||
30 | +public class BrainDeviceCategoryController extends BaseController { | ||
31 | + private final BrainDeviceCategoryService brainDeviceCategoryService; | ||
32 | + | ||
33 | + @PostMapping("/pageData") | ||
34 | + @ApiOperation("分页查询") | ||
35 | + @PreAuthorize("hasAnyAuthority('TENANT_ADMIN','CUSTOMER_USER')") | ||
36 | + public TkPageData<BrainDeviceCategoryDTO> page( | ||
37 | + @RequestParam(PAGE_SIZE) int pageSize, | ||
38 | + @RequestParam(PAGE) int page, | ||
39 | + @RequestParam(value = "name", required = false) String name, | ||
40 | + @RequestParam(value = "code", required = false) String code, | ||
41 | + @RequestParam(value = "status", required = false) String status | ||
42 | + ) throws ThingsboardException { | ||
43 | + Map<String, Object> queryMap = new HashMap<>(); | ||
44 | + queryMap.put(PAGE_SIZE, pageSize); | ||
45 | + queryMap.put(PAGE, page); | ||
46 | + if (StringUtils.isNotBlank(name)) { | ||
47 | + queryMap.put("name", name); | ||
48 | + } | ||
49 | + | ||
50 | + if (StringUtils.isNotBlank(code)) { | ||
51 | + queryMap.put("code", code); | ||
52 | + } | ||
53 | + | ||
54 | + if (StringUtils.isNotBlank(status)) { | ||
55 | + queryMap.put("status", status); | ||
56 | + } | ||
57 | + return brainDeviceCategoryService.page(queryMap); | ||
58 | + } | ||
59 | + | ||
60 | + @PostMapping("/save") | ||
61 | + @PreAuthorize("hasAnyAuthority('TENANT_ADMIN','CUSTOMER_USER')") | ||
62 | + public ResponseEntity<BrainDeviceCategoryDTO> save(@RequestBody BrainDeviceCategoryDTO brainDeviceCategoryDTO) throws ThingsboardException { | ||
63 | + BrainDeviceCategoryDTO dto = brainDeviceCategoryService.save(brainDeviceCategoryDTO); | ||
64 | + return ResponseEntity.ok(dto); | ||
65 | + } | ||
66 | + | ||
67 | + @GetMapping("/detail") | ||
68 | + @PreAuthorize("hasAnyAuthority('TENANT_ADMIN','CUSTOMER_USER')") | ||
69 | + public ResponseEntity<BrainDeviceCategoryDTO> detail(@RequestParam("id") String id) throws ThingsboardException { | ||
70 | + return ResponseEntity.ok(brainDeviceCategoryService.detail(id)); | ||
71 | + } | ||
72 | + | ||
73 | + @GetMapping("/delete") | ||
74 | + @PreAuthorize("hasAnyAuthority('TENANT_ADMIN','CUSTOMER_USER')") | ||
75 | + public ResponseEntity<Boolean> delete(@RequestParam("id") String id) throws ThingsboardException { | ||
76 | + return ResponseEntity.ok(brainDeviceCategoryService.delete(id)); | ||
77 | + } | ||
78 | + | ||
79 | +} |
common/data/src/main/java/org/thingsboard/server/common/data/yunteng/dto/BrainDeviceCategoryDTO.java
0 → 100644
1 | +package org.thingsboard.server.common.data.yunteng.dto; | ||
2 | + | ||
3 | +import io.swagger.annotations.ApiModelProperty; | ||
4 | +import lombok.Data; | ||
5 | +import lombok.EqualsAndHashCode; | ||
6 | + | ||
7 | +@EqualsAndHashCode(callSuper = true) | ||
8 | +@Data | ||
9 | +public class BrainDeviceCategoryDTO extends BaseDTO { | ||
10 | + | ||
11 | + @ApiModelProperty(value = "设备类型名称") | ||
12 | + private String name; | ||
13 | + @ApiModelProperty(value = "设备类型编码") | ||
14 | + private String code; | ||
15 | + @ApiModelProperty(value = "状态") | ||
16 | + private String status; | ||
17 | + @ApiModelProperty(value = "备注") | ||
18 | + private String notes; | ||
19 | +} |
1 | /** | 1 | /** |
2 | * Copyright © 2016-2024 The Thingsboard Authors | 2 | * Copyright © 2016-2024 The Thingsboard Authors |
3 | - * | 3 | + * <p> |
4 | * Licensed under the Apache License, Version 2.0 (the "License"); | 4 | * Licensed under the Apache License, Version 2.0 (the "License"); |
5 | * you may not use this file except in compliance with the License. | 5 | * you may not use this file except in compliance with the License. |
6 | * You may obtain a copy of the License at | 6 | * You may obtain a copy of the License at |
7 | - * | ||
8 | - * http://www.apache.org/licenses/LICENSE-2.0 | ||
9 | - * | 7 | + * <p> |
8 | + * http://www.apache.org/licenses/LICENSE-2.0 | ||
9 | + * <p> | ||
10 | * Unless required by applicable law or agreed to in writing, software | 10 | * Unless required by applicable law or agreed to in writing, software |
11 | * distributed under the License is distributed on an "AS IS" BASIS, | 11 | * distributed under the License is distributed on an "AS IS" BASIS, |
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
@@ -45,7 +45,7 @@ public class ModelConstants { | @@ -45,7 +45,7 @@ public class ModelConstants { | ||
45 | */ | 45 | */ |
46 | public static final String ID_PROPERTY = "id"; | 46 | public static final String ID_PROPERTY = "id"; |
47 | public static final String CREATED_TIME_PROPERTY = "created_time"; | 47 | public static final String CREATED_TIME_PROPERTY = "created_time"; |
48 | - //thingskit | 48 | + //thingskit |
49 | public static final String STATUS_PROPERTY = "status"; | 49 | public static final String STATUS_PROPERTY = "status"; |
50 | public static final String USER_ID_PROPERTY = "user_id"; | 50 | public static final String USER_ID_PROPERTY = "user_id"; |
51 | public static final String TENANT_ID_PROPERTY = "tenant_id"; | 51 | public static final String TENANT_ID_PROPERTY = "tenant_id"; |
@@ -71,7 +71,7 @@ public class ModelConstants { | @@ -71,7 +71,7 @@ public class ModelConstants { | ||
71 | public static final String EVENT_TIME_COLUMN = "event_time"; | 71 | public static final String EVENT_TIME_COLUMN = "event_time"; |
72 | public static final String EVENT_TYPE_COLUMN = "event_type"; | 72 | public static final String EVENT_TYPE_COLUMN = "event_type"; |
73 | public static final String EVENT_VALUE_COLUMN = "event_value"; | 73 | public static final String EVENT_VALUE_COLUMN = "event_value"; |
74 | - public static final String DATA_COMBINATION_IS_DEFAULT_PROPERTY= "is_data_combination"; | 74 | + public static final String DATA_COMBINATION_IS_DEFAULT_PROPERTY = "is_data_combination"; |
75 | 75 | ||
76 | /** | 76 | /** |
77 | * User constants. | 77 | * User constants. |
@@ -689,11 +689,16 @@ public class ModelConstants { | @@ -689,11 +689,16 @@ public class ModelConstants { | ||
689 | public static final String TKINSTALLLOCATION_TABLE_NAME = "qg_install_location";//设备台账 | 689 | public static final String TKINSTALLLOCATION_TABLE_NAME = "qg_install_location";//设备台账 |
690 | public static final String TKSUPPLIER_TABLE_NAME = "qg_supplier";//供应商 | 690 | public static final String TKSUPPLIER_TABLE_NAME = "qg_supplier";//供应商 |
691 | 691 | ||
692 | - public static final String TKINSPECTIONPLAN_TABLE_NAME= "qg_inspection_plan"; // 巡检计划 | ||
693 | - public static final String TKCHECKPLAN_TABLE_NAME= "qg_check_plan"; // 巡检/保养方案 | ||
694 | - public static final String TKCHECKDETAILS_TABLE_NAME= "qg_check_details"; // 巡检明细 | ||
695 | - public static final String TKINSPECTIONRECORD_TABLE_NAME= "qg_inspection_record"; // 巡检记录 | ||
696 | - public static final String TKINSPECTIONDETAILS_TABLE_NAME= "qg_inspection_details"; // 巡检记录明细 | 692 | + public static final String TKINSPECTIONPLAN_TABLE_NAME = "qg_inspection_plan"; // 巡检计划 |
693 | + public static final String TKCHECKPLAN_TABLE_NAME = "qg_check_plan"; // 巡检/保养方案 | ||
694 | + public static final String TKCHECKDETAILS_TABLE_NAME = "qg_check_details"; // 巡检明细 | ||
695 | + public static final String TKINSPECTIONRECORD_TABLE_NAME = "qg_inspection_record"; // 巡检记录 | ||
696 | + public static final String TKINSPECTIONDETAILS_TABLE_NAME = "qg_inspection_details"; // 巡检记录明细 | ||
697 | + | ||
698 | + /** | ||
699 | + * 智能设备管理模块 | ||
700 | + */ | ||
701 | + public static final String BRAINDEVICECAGEGORY_TABLE_NAME = "qg_brain_device_category";//设备类型 | ||
697 | 702 | ||
698 | protected static final String[] NONE_AGGREGATION_COLUMNS = new String[]{LONG_VALUE_COLUMN, DOUBLE_VALUE_COLUMN, BOOLEAN_VALUE_COLUMN, STRING_VALUE_COLUMN, JSON_VALUE_COLUMN, KEY_COLUMN, TS_COLUMN}; | 703 | protected static final String[] NONE_AGGREGATION_COLUMNS = new String[]{LONG_VALUE_COLUMN, DOUBLE_VALUE_COLUMN, BOOLEAN_VALUE_COLUMN, STRING_VALUE_COLUMN, JSON_VALUE_COLUMN, KEY_COLUMN, TS_COLUMN}; |
699 | 704 |
1 | +package org.thingsboard.server.dao.yunteng.entities; | ||
2 | + | ||
3 | +import com.baomidou.mybatisplus.annotation.FieldFill; | ||
4 | +import com.baomidou.mybatisplus.annotation.TableField; | ||
5 | +import lombok.Getter; | ||
6 | +import lombok.Setter; | ||
7 | + | ||
8 | +import java.time.LocalDateTime; | ||
9 | + | ||
10 | +@Getter | ||
11 | +@Setter | ||
12 | +public class BrainBaseEntity extends BaseEntity { | ||
13 | + | ||
14 | + private static final long serialVersionUID = -4315734960161684909L; | ||
15 | + | ||
16 | + @TableField(fill = FieldFill.INSERT) | ||
17 | + private String creator; | ||
18 | + | ||
19 | + @TableField(fill = FieldFill.UPDATE) | ||
20 | + private String updater; | ||
21 | + | ||
22 | + @TableField(fill = FieldFill.INSERT) | ||
23 | + private LocalDateTime createTime; | ||
24 | + | ||
25 | + @TableField(fill = FieldFill.UPDATE) | ||
26 | + private LocalDateTime updateTime; | ||
27 | + | ||
28 | +} |
dao/src/main/java/org/thingsboard/server/dao/yunteng/entities/BrainDeviceCategoryEntity.java
0 → 100644
1 | +package org.thingsboard.server.dao.yunteng.entities; | ||
2 | + | ||
3 | +import com.baomidou.mybatisplus.annotation.TableName; | ||
4 | +import lombok.Data; | ||
5 | +import lombok.EqualsAndHashCode; | ||
6 | +import org.thingsboard.server.dao.model.ModelConstants; | ||
7 | + | ||
8 | +/** | ||
9 | + * 设备类型 | ||
10 | + */ | ||
11 | +@Data | ||
12 | +@EqualsAndHashCode(callSuper = true) | ||
13 | +@TableName(value = ModelConstants.BRAINDEVICECAGEGORY_TABLE_NAME, autoResultMap = true) | ||
14 | +public class BrainDeviceCategoryEntity extends BrainBaseEntity { | ||
15 | + /** | ||
16 | + * 设备类型名称 | ||
17 | + */ | ||
18 | + private String name; | ||
19 | + | ||
20 | + /** | ||
21 | + * 设备类型编码 | ||
22 | + */ | ||
23 | + private String code; | ||
24 | + /** | ||
25 | + * 状态 | ||
26 | + */ | ||
27 | + private String status; | ||
28 | + /** | ||
29 | + * 备注 | ||
30 | + */ | ||
31 | + private String notes; | ||
32 | +} |
dao/src/main/java/org/thingsboard/server/dao/yunteng/impl/BrainDeviceCategoryServiceImpl.java
0 → 100644
1 | +package org.thingsboard.server.dao.yunteng.impl; | ||
2 | + | ||
3 | +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | ||
4 | +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | ||
5 | +import com.baomidou.mybatisplus.core.metadata.IPage; | ||
6 | +import lombok.RequiredArgsConstructor; | ||
7 | +import lombok.extern.slf4j.Slf4j; | ||
8 | +import org.apache.commons.collections4.CollectionUtils; | ||
9 | +import org.apache.commons.lang3.StringUtils; | ||
10 | +import org.springframework.stereotype.Service; | ||
11 | +import org.thingsboard.server.common.data.exception.ThingsboardException; | ||
12 | +import org.thingsboard.server.common.data.yunteng.core.exception.TkDataValidationException; | ||
13 | +import org.thingsboard.server.common.data.yunteng.dto.BrainDeviceCategoryDTO; | ||
14 | +import org.thingsboard.server.common.data.yunteng.utils.tools.TkPageData; | ||
15 | +import org.thingsboard.server.dao.yunteng.entities.BrainDeviceCategoryEntity; | ||
16 | +import org.thingsboard.server.dao.yunteng.mapper.BrainDeviceCategoryMapper; | ||
17 | +import org.thingsboard.server.dao.yunteng.service.AbstractBaseService; | ||
18 | +import org.thingsboard.server.dao.yunteng.service.BrainDeviceCategoryService; | ||
19 | + | ||
20 | +import java.util.List; | ||
21 | +import java.util.Map; | ||
22 | +import java.util.UUID; | ||
23 | + | ||
24 | +@Service | ||
25 | +@RequiredArgsConstructor | ||
26 | +@Slf4j | ||
27 | +public class BrainDeviceCategoryServiceImpl extends AbstractBaseService<BrainDeviceCategoryMapper, BrainDeviceCategoryEntity> | ||
28 | + implements BrainDeviceCategoryService { | ||
29 | + | ||
30 | + @Override | ||
31 | + public TkPageData<BrainDeviceCategoryDTO> page(Map<String, Object> params) throws ThingsboardException { | ||
32 | + TkPageData<BrainDeviceCategoryDTO> result = new TkPageData<>(); | ||
33 | + IPage<BrainDeviceCategoryEntity> page = | ||
34 | + getPage(params, "create_time", false); | ||
35 | + IPage<BrainDeviceCategoryDTO> pageData = baseMapper.getDataPage(page, params); | ||
36 | + if (pageData != null) { | ||
37 | + result.setItems(pageData.getRecords()); | ||
38 | + } | ||
39 | + result.setTotal(Long.valueOf(pageData.getTotal()).intValue()); | ||
40 | + return result; | ||
41 | + } | ||
42 | + | ||
43 | + @Override | ||
44 | + public BrainDeviceCategoryDTO save(BrainDeviceCategoryDTO brainDeviceCategoryDTO) throws ThingsboardException { | ||
45 | + checkDto(brainDeviceCategoryDTO); | ||
46 | + if (StringUtils.isBlank(brainDeviceCategoryDTO.getId()) && checkDuplicateData(brainDeviceCategoryDTO)) { | ||
47 | + throw new TkDataValidationException("设备类型编码重复!"); | ||
48 | + } | ||
49 | + BrainDeviceCategoryEntity entity = new BrainDeviceCategoryEntity(); | ||
50 | + if (StringUtils.isBlank(brainDeviceCategoryDTO.getId())) { | ||
51 | + brainDeviceCategoryDTO.copyToEntity(entity); | ||
52 | + String id = UUID.randomUUID().toString(); | ||
53 | + entity.setId(id); | ||
54 | + baseMapper.insert(entity); | ||
55 | + } else { | ||
56 | + LambdaQueryWrapper<BrainDeviceCategoryEntity> filter = new QueryWrapper<BrainDeviceCategoryEntity>().lambda() | ||
57 | + .eq(BrainDeviceCategoryEntity::getId, brainDeviceCategoryDTO.getId()); | ||
58 | + entity = brainDeviceCategoryDTO.getEntity(BrainDeviceCategoryEntity.class); | ||
59 | + baseMapper.update(entity, filter); | ||
60 | + } | ||
61 | + | ||
62 | + | ||
63 | + entity.copyToDTO(brainDeviceCategoryDTO); | ||
64 | + return brainDeviceCategoryDTO; | ||
65 | + } | ||
66 | + | ||
67 | + private void checkDto(BrainDeviceCategoryDTO dto) throws ThingsboardException { | ||
68 | + if (StringUtils.isBlank(dto.getName())) { | ||
69 | + throw new TkDataValidationException("设备类型名称不能为空!"); | ||
70 | + } | ||
71 | + | ||
72 | + if (StringUtils.isBlank(dto.getCode())) { | ||
73 | + throw new TkDataValidationException("设备类型编码不能为空!"); | ||
74 | + } | ||
75 | + | ||
76 | + if (StringUtils.isBlank(dto.getStatus())) { | ||
77 | + throw new TkDataValidationException("设备类型状态不能为空!"); | ||
78 | + } | ||
79 | + } | ||
80 | + | ||
81 | + private boolean checkDuplicateData(BrainDeviceCategoryDTO BrainDeviceCategoryDTO) throws ThingsboardException { | ||
82 | + Boolean result = false; | ||
83 | + QueryWrapper<BrainDeviceCategoryEntity> queryWrapper = new QueryWrapper(); | ||
84 | + LambdaQueryWrapper<BrainDeviceCategoryEntity> lambda = queryWrapper.lambda(); | ||
85 | + lambda.eq(BrainDeviceCategoryEntity::getCode, BrainDeviceCategoryDTO.getCode()); | ||
86 | + List<BrainDeviceCategoryEntity> entityList = baseMapper.selectList(queryWrapper); | ||
87 | + if (CollectionUtils.isNotEmpty(entityList)) { | ||
88 | + return true; | ||
89 | + } | ||
90 | + | ||
91 | + return result; | ||
92 | + } | ||
93 | + | ||
94 | + @Override | ||
95 | + public BrainDeviceCategoryDTO detail(String id) throws ThingsboardException { | ||
96 | + BrainDeviceCategoryDTO result = null; | ||
97 | + BrainDeviceCategoryEntity entity = baseMapper.selectById(id); | ||
98 | + if (entity != null) { | ||
99 | + result = new BrainDeviceCategoryDTO(); | ||
100 | + entity.copyToDTO(result); | ||
101 | + } | ||
102 | + return result; | ||
103 | + } | ||
104 | + | ||
105 | + @Override | ||
106 | + public boolean delete(String id) throws ThingsboardException { | ||
107 | + int count = baseMapper.deleteById(id); | ||
108 | + return count > 0; | ||
109 | + } | ||
110 | +} |
dao/src/main/java/org/thingsboard/server/dao/yunteng/mapper/BrainDeviceCategoryMapper.java
0 → 100644
1 | +package org.thingsboard.server.dao.yunteng.mapper; | ||
2 | + | ||
3 | +import com.baomidou.mybatisplus.core.mapper.BaseMapper; | ||
4 | +import com.baomidou.mybatisplus.core.metadata.IPage; | ||
5 | +import org.apache.ibatis.annotations.Mapper; | ||
6 | +import org.apache.ibatis.annotations.Param; | ||
7 | +import org.thingsboard.server.common.data.yunteng.dto.BrainDeviceCategoryDTO; | ||
8 | +import org.thingsboard.server.dao.yunteng.entities.BrainDeviceCategoryEntity; | ||
9 | + | ||
10 | +import java.util.Map; | ||
11 | + | ||
12 | +@Mapper | ||
13 | +public interface BrainDeviceCategoryMapper extends BaseMapper<BrainDeviceCategoryEntity> { | ||
14 | + | ||
15 | + IPage<BrainDeviceCategoryDTO> getDataPage(IPage<?> page, @Param("queryMap") Map<String, Object> queryMap); | ||
16 | +} |
dao/src/main/java/org/thingsboard/server/dao/yunteng/service/BrainDeviceCategoryService.java
0 → 100644
1 | +package org.thingsboard.server.dao.yunteng.service; | ||
2 | + | ||
3 | +import org.thingsboard.server.common.data.exception.ThingsboardException; | ||
4 | +import org.thingsboard.server.common.data.yunteng.dto.BrainDeviceCategoryDTO; | ||
5 | +import org.thingsboard.server.common.data.yunteng.utils.tools.TkPageData; | ||
6 | +import org.thingsboard.server.dao.yunteng.entities.BrainDeviceCategoryEntity; | ||
7 | + | ||
8 | +import java.util.Map; | ||
9 | + | ||
10 | +public interface BrainDeviceCategoryService extends BaseService<BrainDeviceCategoryEntity> { | ||
11 | + | ||
12 | + TkPageData<BrainDeviceCategoryDTO> page(Map<String, Object> params) throws ThingsboardException; | ||
13 | + | ||
14 | + BrainDeviceCategoryDTO save(BrainDeviceCategoryDTO BrainDeviceCategoryDTO) throws ThingsboardException; | ||
15 | + | ||
16 | + BrainDeviceCategoryDTO detail(String id) throws ThingsboardException; | ||
17 | + | ||
18 | + boolean delete(String id) throws ThingsboardException; | ||
19 | +} |
1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
2 | +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | ||
3 | + | ||
4 | +<mapper namespace="org.thingsboard.server.dao.yunteng.mapper.BrainDeviceCategoryMapper"> | ||
5 | + <resultMap type="org.thingsboard.server.common.data.yunteng.dto.BrainDeviceCategoryDTO" id="brainDeviceCategoryMap"> | ||
6 | + <result property="id" column="id"/> | ||
7 | + <result property="name" column="name"/> | ||
8 | + <result property="code" column="code"/> | ||
9 | + <result property="status" column="status"/> | ||
10 | + <result property="notes" column="notes"/> | ||
11 | + <result property="createTime" column="create_time"/> | ||
12 | + <result property="updater" column="updater"/> | ||
13 | + <result property="updateTime" column="update_time"/> | ||
14 | + <result property="creator" column="creator"/> | ||
15 | + </resultMap> | ||
16 | + <select id="getDataPage" resultMap="brainDeviceCategoryMap"> | ||
17 | + SELECT | ||
18 | + o.id,o.name,o.code,o.status,o.notes,o.create_time,o.updater,o.update_time,o.creator | ||
19 | + from qg_brain_device_category o | ||
20 | + <where> | ||
21 | + <if test="queryMap.code !=null and queryMap.code !=''"> | ||
22 | + AND o.code ILIKE concat('%',#{queryMap.code}::TEXT,'%') | ||
23 | + </if> | ||
24 | + <if test="queryMap.name !=null and queryMap.name !=''"> | ||
25 | + AND o.name ILIKE concat('%',#{queryMap.name}::TEXT,'%') | ||
26 | + </if> | ||
27 | + <if test="queryMap.status !=null and queryMap.status !=''"> | ||
28 | + AND o.status = #{queryMap.status} | ||
29 | + </if> | ||
30 | + </where> | ||
31 | + </select> | ||
32 | +</mapper> |