diff --git a/src/main/java/com/zsc/edu/gateway/framework/response/GlobalResponseHandler.java b/src/main/java/com/zsc/edu/gateway/framework/response/GlobalResponseHandler.java index 3de9f59..457cb1b 100644 --- a/src/main/java/com/zsc/edu/gateway/framework/response/GlobalResponseHandler.java +++ b/src/main/java/com/zsc/edu/gateway/framework/response/GlobalResponseHandler.java @@ -1,5 +1,8 @@ //package com.zsc.edu.gateway.framework.response; // +//import com.fasterxml.jackson.core.JsonProcessingException; +//import com.fasterxml.jackson.databind.ObjectMapper; +//import jakarta.annotation.Resource; //import lombok.extern.slf4j.Slf4j; //import org.springframework.core.MethodParameter; //import org.springframework.http.HttpHeaders; @@ -23,6 +26,9 @@ //@RestControllerAdvice(basePackages = "com.zsc.edu.gateway") //public class GlobalResponseHandler implements ResponseBodyAdvice { // +// @Resource +// private ObjectMapper objectMapper; +// // /** // * 此组件是否支持给定的控制器方法返回类型和选定的 {@code HttpMessageConverter} 类型。 // * @@ -56,6 +62,10 @@ // headers.setContentType(MediaType.APPLICATION_JSON); // // 2. 将 ResponseResult 转为 Json字符串 再返回 // // (否则会报错 java.lang.ClassCastException: com.example.core.model.ResponseResult cannot be cast to java.lang.String) -// return JsonUtil.toJson(responseResult); +// try { +// return objectMapper.writeValueAsString(responseResult); +// } catch (JsonProcessingException e) { +// throw new RuntimeException(e); +// } // } //} diff --git a/src/main/java/com/zsc/edu/gateway/framework/response/HttpStatusEnum.java b/src/main/java/com/zsc/edu/gateway/framework/response/HttpStatusEnum.java index 89c36af..bef010f 100644 --- a/src/main/java/com/zsc/edu/gateway/framework/response/HttpStatusEnum.java +++ b/src/main/java/com/zsc/edu/gateway/framework/response/HttpStatusEnum.java @@ -1,93 +1,93 @@ -package com.zsc.edu.gateway.framework.response; - -import lombok.Getter; - -/** - * Http状态返回枚举 - * - * @author javadog - **/ -@Getter -public enum HttpStatusEnum { - - - /** - * 操作成功 - */ - SUCCESS(200, "操作成功"), - /** - * 对象创建成功 - */ - CREATED(201, "对象创建成功"), - /** - * 请求已经被接受 - */ - ACCEPTED(202, "请求已经被接受"), - /** - * 操作已经执行成功,但是没有返回数据 - */ - NO_CONTENT(204, "操作已经执行成功,但是没有返回数据"), - /** - * 资源已被移除 - */ - MOVED_PERM(301, "资源已被移除"), - /** - * 重定向 - */ - SEE_OTHER(303, "重定向"), - /** - * 资源没有被修改 - */ - NOT_MODIFIED(304, "资源没有被修改"), - /** - * 参数列表错误(缺少,格式不匹配) - */ - BAD_REQUEST(400, "参数列表错误(缺少,格式不匹配)"), - /** - * 未授权 - */ - UNAUTHORIZED(401, "未授权"), - /** - * 访问受限,授权过期 - */ - FORBIDDEN(403, "访问受限,授权过期"), - /** - * 资源,服务未找到 - */ - NOT_FOUND(404, "资源,服务未找!"), - /** - * 不允许的http方法 - */ - BAD_METHOD(405, "不允许的http方法"), - /** - * 资源冲突,或者资源被锁 - */ - CONFLICT(409, "资源冲突,或者资源被锁"), - /** - * 不支持的数据,媒体类型 - */ - UNSUPPORTED_TYPE(415, "不支持的数据,媒体类型"), - /** - * 系统内部错误 - */ - ERROR(500, "系统内部错误"), - /** - * 接口未实现 - */ - NOT_IMPLEMENTED(501, "接口未实现"), - /** - * 系统警告消息 - */ - WARN(601, "系统警告消息"); - - private final Integer code; - private final String message; - - HttpStatusEnum(Integer code, String message) { - - - this.code = code; - this.message = message; - } -} - +//package com.zsc.edu.gateway.framework.response; +// +//import lombok.Getter; +// +///** +// * Http状态返回枚举 +// * +// * @author javadog +// **/ +//@Getter +//public enum HttpStatusEnum { +// +// +// /** +// * 操作成功 +// */ +// SUCCESS(200, "操作成功"), +// /** +// * 对象创建成功 +// */ +// CREATED(201, "对象创建成功"), +// /** +// * 请求已经被接受 +// */ +// ACCEPTED(202, "请求已经被接受"), +// /** +// * 操作已经执行成功,但是没有返回数据 +// */ +// NO_CONTENT(204, "操作已经执行成功,但是没有返回数据"), +// /** +// * 资源已被移除 +// */ +// MOVED_PERM(301, "资源已被移除"), +// /** +// * 重定向 +// */ +// SEE_OTHER(303, "重定向"), +// /** +// * 资源没有被修改 +// */ +// NOT_MODIFIED(304, "资源没有被修改"), +// /** +// * 参数列表错误(缺少,格式不匹配) +// */ +// BAD_REQUEST(400, "参数列表错误(缺少,格式不匹配)"), +// /** +// * 未授权 +// */ +// UNAUTHORIZED(401, "未授权"), +// /** +// * 访问受限,授权过期 +// */ +// FORBIDDEN(403, "访问受限,授权过期"), +// /** +// * 资源,服务未找到 +// */ +// NOT_FOUND(404, "资源,服务未找!"), +// /** +// * 不允许的http方法 +// */ +// BAD_METHOD(405, "不允许的http方法"), +// /** +// * 资源冲突,或者资源被锁 +// */ +// CONFLICT(409, "资源冲突,或者资源被锁"), +// /** +// * 不支持的数据,媒体类型 +// */ +// UNSUPPORTED_TYPE(415, "不支持的数据,媒体类型"), +// /** +// * 系统内部错误 +// */ +// ERROR(500, "系统内部错误"), +// /** +// * 接口未实现 +// */ +// NOT_IMPLEMENTED(501, "接口未实现"), +// /** +// * 系统警告消息 +// */ +// WARN(601, "系统警告消息"); +// +// private final Integer code; +// private final String message; +// +// HttpStatusEnum(Integer code, String message) { +// +// +// this.code = code; +// this.message = message; +// } +//} +// diff --git a/src/main/java/com/zsc/edu/gateway/framework/response/JsonUtil.java b/src/main/java/com/zsc/edu/gateway/framework/response/JsonUtil.java deleted file mode 100644 index a85e2c6..0000000 --- a/src/main/java/com/zsc/edu/gateway/framework/response/JsonUtil.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.zsc.edu.gateway.framework.response; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; - -public class JsonUtil { - - private static final ObjectMapper objectMapper = new ObjectMapper(); - - /** - * 将对象转换为 JSON 字符串 - * - * @param obj 需要转换的对象 - * @return JSON 字符串 - * @throws RuntimeException 如果转换过程中发生异常 - */ - public static String toJson(Object obj) { - try { - return objectMapper.writeValueAsString(obj); - } catch (JsonProcessingException e) { - throw new RuntimeException("Failed to convert object to JSON", e); - } - } -} diff --git a/src/main/java/com/zsc/edu/gateway/framework/response/ResponseResult.java b/src/main/java/com/zsc/edu/gateway/framework/response/ResponseResult.java index 654aaaf..652bd0e 100644 --- a/src/main/java/com/zsc/edu/gateway/framework/response/ResponseResult.java +++ b/src/main/java/com/zsc/edu/gateway/framework/response/ResponseResult.java @@ -14,7 +14,6 @@ //@NoArgsConstructor //public class ResponseResult { // -////TODO 返回封装处理 // /** // * 状态码 // */ diff --git a/src/main/java/com/zsc/edu/gateway/framework/response/Result.java b/src/main/java/com/zsc/edu/gateway/framework/response/Result.java index c571a03..af48ef6 100644 --- a/src/main/java/com/zsc/edu/gateway/framework/response/Result.java +++ b/src/main/java/com/zsc/edu/gateway/framework/response/Result.java @@ -1,51 +1,51 @@ -package com.zsc.edu.gateway.framework.response; - -import lombok.*; - -/** - * 返回响应,统一封装实体 - * - * @param 数据实体泛型 - * @author zhuang - */ -@Getter -@ToString -@EqualsAndHashCode -@AllArgsConstructor(access = AccessLevel.PRIVATE) -public class Result { - - private String userMessage; - - /** - * 错误码
- * 调用成功时,为 null。
- * 示例:A0211 - */ - private String errorCode; - - /** - * 错误信息
- * 调用成功时,为 null。
- * 示例:"用户输入密码错误次数超限" - */ - private String errorMessage; - - /** - * 数据实体(泛型)
- * 当接口没有返回数据时,为 null。 - */ - private T data; - - - public static Result success(T data) { - return new Result<>("操作成功!", null, null, data); - } - - - public static Result fail(String userMessage, String errorCode, String errorMessage) { - return new Result<>(userMessage, errorCode, errorMessage, null); - } - -} - - +//package com.zsc.edu.gateway.framework.response; +// +//import lombok.*; +// +///** +// * 返回响应,统一封装实体 +// * +// * @param 数据实体泛型 +// * @author zhuang +// */ +//@Getter +//@ToString +//@EqualsAndHashCode +//@AllArgsConstructor(access = AccessLevel.PRIVATE) +//public class Result { +// +// private String userMessage; +// +// /** +// * 错误码
+// * 调用成功时,为 null。
+// * 示例:A0211 +// */ +// private String errorCode; +// +// /** +// * 错误信息
+// * 调用成功时,为 null。
+// * 示例:"用户输入密码错误次数超限" +// */ +// private String errorMessage; +// +// /** +// * 数据实体(泛型)
+// * 当接口没有返回数据时,为 null。 +// */ +// private T data; +// +// +// public static Result success(T data) { +// return new Result<>("操作成功!", null, null, data); +// } +// +// +// public static Result fail(String userMessage, String errorCode, String errorMessage) { +// return new Result<>(userMessage, errorCode, errorMessage, null); +// } +// +//} +// +// diff --git a/src/main/java/com/zsc/edu/gateway/modules/attachment/controller/AttachmentController.java b/src/main/java/com/zsc/edu/gateway/modules/attachment/controller/AttachmentController.java index 25c1ecb..28f1d97 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/attachment/controller/AttachmentController.java +++ b/src/main/java/com/zsc/edu/gateway/modules/attachment/controller/AttachmentController.java @@ -8,6 +8,7 @@ import org.springframework.core.io.Resource; import org.springframework.http.ContentDisposition; import org.springframework.http.HttpHeaders; import org.springframework.http.ResponseEntity; +import org.springframework.security.core.parameters.P; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -81,7 +82,6 @@ public class AttachmentController { /** * 批量上传附件 - * TODO multipartFile */ @PostMapping("multipartFile") public List uploadMultipleFiles( @@ -100,9 +100,9 @@ public class AttachmentController { /** * 根据附件ID删除附件信息 */ - //TODO 上传时没有url @DeleteMapping("delete/{id}") public Boolean delete(@PathVariable("id") String id) { - return service.removeById(id); + return service.delete(id); } + } diff --git a/src/main/java/com/zsc/edu/gateway/modules/attachment/service/AttachmentService.java b/src/main/java/com/zsc/edu/gateway/modules/attachment/service/AttachmentService.java index fc3d0fb..950b3c6 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/attachment/service/AttachmentService.java +++ b/src/main/java/com/zsc/edu/gateway/modules/attachment/service/AttachmentService.java @@ -23,4 +23,6 @@ public interface AttachmentService extends IService { Attachment.Wrapper loadAsWrapper(String id); List selectList(List dis); + + Boolean delete(String id); } diff --git a/src/main/java/com/zsc/edu/gateway/modules/attachment/service/impl/AttachmentServiceImpl.java b/src/main/java/com/zsc/edu/gateway/modules/attachment/service/impl/AttachmentServiceImpl.java index 07a4019..df781c8 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/attachment/service/impl/AttachmentServiceImpl.java +++ b/src/main/java/com/zsc/edu/gateway/modules/attachment/service/impl/AttachmentServiceImpl.java @@ -16,6 +16,7 @@ import org.apache.tika.Tika; import org.springframework.core.io.FileSystemResource; import org.springframework.core.io.Resource; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.StringUtils; import org.springframework.web.multipart.MultipartFile; @@ -208,4 +209,17 @@ public class AttachmentServiceImpl extends ServiceImpl().in(Attachment::getId, dis)); } + @Override + public Boolean delete(String id) { + if (Files.exists(attachmentPath.resolve(id))) { + try { + repo.deleteById(id); + Files.delete(attachmentPath.resolve(id)); + return true; + } catch (IOException e) { + log.error("删除文件失败", e); + } + } + return false; + } } diff --git a/src/main/java/com/zsc/edu/gateway/modules/attachment/vo/AttachmentVo.java b/src/main/java/com/zsc/edu/gateway/modules/attachment/vo/AttachmentVo.java deleted file mode 100644 index 8e070c2..0000000 --- a/src/main/java/com/zsc/edu/gateway/modules/attachment/vo/AttachmentVo.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.zsc.edu.gateway.modules.attachment.vo; - -import lombok.Data; - -/** - * @author zhuang - */ -@Data -public class AttachmentVo { - /** - * 附件ID - */ - public String attachmentId; - /** - * 附件地址 - */ - public String url; - /** - * 附件名称 - */ - public String fileName; -} diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/device/controller/DeviceController.java b/src/main/java/com/zsc/edu/gateway/modules/iot/device/controller/DeviceController.java index 0c6d66a..b74c7c5 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/device/controller/DeviceController.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/device/controller/DeviceController.java @@ -9,8 +9,8 @@ import com.zsc.edu.gateway.modules.iot.device.entity.Device; import com.zsc.edu.gateway.modules.iot.device.query.DeviceQuery; import com.zsc.edu.gateway.modules.iot.device.service.DeviceService; import com.zsc.edu.gateway.modules.iot.device.vo.DeviceVo; -import com.zsc.edu.gateway.modules.iot.record.entity.Record; -import com.zsc.edu.gateway.modules.iot.record.service.RecordService; +import com.zsc.edu.gateway.modules.iot.record.entity.RecordData; +import com.zsc.edu.gateway.modules.iot.record.service.RecordDataService; import lombok.AllArgsConstructor; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -28,7 +28,7 @@ public class DeviceController { DeviceService service; - RecordService recordService; + RecordDataService recordService; /** * 创建设备 @@ -60,10 +60,9 @@ public class DeviceController { /** * 查询设备 */ - //TODO IPage的分页条数问题 @GetMapping - public IPage query(Page page, DeviceQuery query) { - return service.query(page, query); + public Page query(Page page, DeviceQuery query) { + return service.page(page, query.wrapper()); } /** @@ -96,23 +95,11 @@ public class DeviceController { } } -// /** -// * 查询设备上报记录 -// * -// * @param clientId 设备的查询表单 -// * @param page 分页参数 -// * @return Page 设备分页数据 -// */ -// @GetMapping("record") -// public Page pageRecord(String clientId,Page page) Pageable pageable) { -// return recordService.page(clientId, pageable); -// } - /** * 查询设备上报记录 */ @GetMapping("record/photo") - public List recordPhoto(String clientId) { + public List recordPhoto(String clientId) { return recordService.recordPhoto(clientId); } diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/device/query/DeviceQuery.java b/src/main/java/com/zsc/edu/gateway/modules/iot/device/query/DeviceQuery.java index 6182b23..607edd2 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/device/query/DeviceQuery.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/device/query/DeviceQuery.java @@ -1,9 +1,13 @@ package com.zsc.edu.gateway.modules.iot.device.query; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.zsc.edu.gateway.modules.iot.device.entity.Device; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; +import org.springframework.util.StringUtils; + +import java.util.Objects; /** * @author zhuang @@ -29,11 +33,20 @@ public class DeviceQuery { /** * 设备状态 */ - public Device.Status status; + public Device.Status state; /** * 设态是否在线 */ public Boolean isOnline; + public LambdaQueryWrapper wrapper() { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(StringUtils.hasText(this.name), Device::getName, this.name); + queryWrapper.eq(StringUtils.hasText(this.clientId), Device::getClientId, this.clientId); + queryWrapper.eq(Objects.nonNull(this.productId), Device::getProductId, this.productId); + queryWrapper.eq(Objects.nonNull(this.isOnline), Device::getOnline, this.isOnline); + queryWrapper.eq(Objects.nonNull(this.state), Device::getState, this.state); + return queryWrapper; + } } diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/device/service/impl/DeviceServiceImpl.java b/src/main/java/com/zsc/edu/gateway/modules/iot/device/service/impl/DeviceServiceImpl.java index b0006a6..e886389 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/device/service/impl/DeviceServiceImpl.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/device/service/impl/DeviceServiceImpl.java @@ -77,7 +77,7 @@ public class DeviceServiceImpl extends ServiceImpl imp deviceDto.setProperties(dto.getProperties()); deviceDto.setFirmwareVersion(dto.getFirmwareVersion()); Device device = mapper.toEntity(deviceDto); - Integer typeCode = Integer.valueOf(product.getTypeString()); + Integer typeCode = Integer.valueOf(product.getProductType()); device.setClientId(String.format("%s%02d%02d%05d", "001", typeCode, 3, i + 1)); devices.add(device); } diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/device/vo/DeviceVo.java b/src/main/java/com/zsc/edu/gateway/modules/iot/device/vo/DeviceVo.java index 57f7608..9b824fe 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/device/vo/DeviceVo.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/device/vo/DeviceVo.java @@ -109,7 +109,7 @@ public class DeviceVo { /** * 产品类型 */ - private String typeString; + private String productType; /** * 产品型号 diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/product/controller/ProductController.java b/src/main/java/com/zsc/edu/gateway/modules/iot/product/controller/ProductController.java index 0c82058..c64d51b 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/product/controller/ProductController.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/product/controller/ProductController.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zsc.edu.gateway.modules.iot.product.dto.ProductDto; import com.zsc.edu.gateway.modules.iot.product.entity.Product; import com.zsc.edu.gateway.modules.iot.product.query.ProductQuery; +import com.zsc.edu.gateway.modules.iot.product.service.ProductService; import com.zsc.edu.gateway.modules.iot.product.service.impl.ProductServiceImpl; import lombok.AllArgsConstructor; import org.springframework.data.domain.Pageable; @@ -23,7 +24,8 @@ import java.util.Collection; @RequestMapping("api/rest/product") public class ProductController { - private final ProductServiceImpl service; + private final ProductService service; + /** @@ -57,22 +59,21 @@ public class ProductController { * @return Page 产品分页数据 */ @GetMapping - public IPage page(Page page, ProductQuery query) { - return service.page(page, query); + public Page page(Page page, ProductQuery query) { + return service.page(page, query.wrapper()); } - //TODO 怎么写查询 -// /** -// * 模糊查询部门,最多返回5条数据 -// * -// * @param query 查询参数 -// * @return 部门列表 -// */ -// @GetMapping("fuzzy") -// @PreAuthorize("hasAnyAuthority('DEVICE_CREATE', 'DEVICE_UPDATE')") -// public Collection fuzzyQuery(ProductQuery query) { -// return service.list(query.name); -// } + /** + * 模糊查询名字,最多返回5条数据 + * + * @param query 查询参数 + * @return 部门列表 + */ + @GetMapping("fuzzy") + @PreAuthorize("hasAnyAuthority('DEVICE_CREATE', 'DEVICE_UPDATE')") + public Page fuzzyQuery(Page page, ProductQuery query) { + return service.page(page, query.wrapper()); + } /** * 删除产品 diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/product/entity/Product.java b/src/main/java/com/zsc/edu/gateway/modules/iot/product/entity/Product.java index f48b48b..711f441 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/product/entity/Product.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/product/entity/Product.java @@ -34,7 +34,7 @@ public class Product extends BaseEntity { /** * 产品类型 */ - private String typeString; + private String productType; /** * 产品型号 diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/product/mapper/ProductMapper.java b/src/main/java/com/zsc/edu/gateway/modules/iot/product/mapper/ProductMapper.java index 1546881..74d6389 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/product/mapper/ProductMapper.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/product/mapper/ProductMapper.java @@ -3,12 +3,13 @@ package com.zsc.edu.gateway.modules.iot.product.mapper; import com.zsc.edu.gateway.common.mapstruct.BaseMapper; import com.zsc.edu.gateway.modules.iot.product.dto.ProductDto; import com.zsc.edu.gateway.modules.iot.product.entity.Product; +import com.zsc.edu.gateway.modules.iot.tsl.mapper.ParamMapper; import org.mapstruct.Mapper; import org.mapstruct.ReportingPolicy; /** * @author lenovo */ -@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE) +@Mapper(componentModel = "spring", uses = {ParamMapper.class}, unmappedTargetPolicy = ReportingPolicy.IGNORE) public interface ProductMapper extends BaseMapper { } diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/product/query/ProductQuery.java b/src/main/java/com/zsc/edu/gateway/modules/iot/product/query/ProductQuery.java index d0443ce..4574632 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/product/query/ProductQuery.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/product/query/ProductQuery.java @@ -1,6 +1,12 @@ package com.zsc.edu.gateway.modules.iot.product.query; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.zsc.edu.gateway.modules.iot.product.entity.Product; import lombok.Data; +import org.springframework.util.StringUtils; + +import java.util.List; +import java.util.Objects; /** * @author zhuang @@ -20,7 +26,17 @@ public class ProductQuery { /** * 接入方式 */ - public String links; + public List links; + + public LambdaQueryWrapper wrapper() { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(StringUtils.hasText(this.name), Product::getName, this.name); + queryWrapper.eq(StringUtils.hasText(this.type), Product::getProductType, this.type); + if (Objects.nonNull(this.links) && !this.links.isEmpty()) { + queryWrapper.in(Product::getLink, this.links); + } + return queryWrapper; + } } diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/product/repo/ProductRepository.java b/src/main/java/com/zsc/edu/gateway/modules/iot/product/repo/ProductRepository.java index d59bfa8..e027e6e 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/product/repo/ProductRepository.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/product/repo/ProductRepository.java @@ -1,11 +1,12 @@ package com.zsc.edu.gateway.modules.iot.product.repo; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zsc.edu.gateway.modules.iot.product.entity.Product; -import com.zsc.edu.gateway.modules.iot.product.query.ProductQuery; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -17,7 +18,7 @@ public interface ProductRepository extends BaseMapper { @Select("select * from iot_product where name=#{name}") Product findByName(@Param("name") String name); - IPage page(Page page, @Param("query") ProductQuery query); + Page page(Page page, @Param(Constants.WRAPPER) LambdaQueryWrapper wrapper); Product selectById(@Param("id") Long id); } diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/product/service/ProductService.java b/src/main/java/com/zsc/edu/gateway/modules/iot/product/service/ProductService.java index 054ab54..67fea46 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/product/service/ProductService.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/product/service/ProductService.java @@ -15,7 +15,9 @@ public interface ProductService extends IService { Product update(ProductDto dto, Long id); - IPage page(Page page, ProductQuery query); +// Page page(Page page, ProductQuery query); + + Product detail(Long id); boolean delete(Long id); } diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/product/service/impl/ProductServiceImpl.java b/src/main/java/com/zsc/edu/gateway/modules/iot/product/service/impl/ProductServiceImpl.java index 522f074..79a71c1 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/product/service/impl/ProductServiceImpl.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/product/service/impl/ProductServiceImpl.java @@ -1,13 +1,13 @@ package com.zsc.edu.gateway.modules.iot.product.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.zsc.edu.gateway.exception.ConstraintException; import com.zsc.edu.gateway.modules.iot.product.dto.ProductDto; import com.zsc.edu.gateway.modules.iot.product.entity.Product; import com.zsc.edu.gateway.modules.iot.product.entity.ProductParam; +import com.zsc.edu.gateway.modules.iot.product.mapper.ProductMapper; import com.zsc.edu.gateway.modules.iot.product.query.ProductQuery; import com.zsc.edu.gateway.modules.iot.product.repo.ProductParamRepository; import com.zsc.edu.gateway.modules.iot.product.repo.ProductRepository; @@ -16,10 +16,10 @@ import com.zsc.edu.gateway.modules.iot.tsl.dto.ParamDto; import com.zsc.edu.gateway.modules.iot.tsl.entity.Param; import com.zsc.edu.gateway.modules.iot.tsl.mapper.ParamMapper; import com.zsc.edu.gateway.modules.iot.tsl.repo.ParamRepository; +import com.zsc.edu.gateway.modules.iot.tsl.service.ParamService; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; -import java.util.ArrayList; import java.util.List; @@ -29,9 +29,11 @@ import java.util.List; @AllArgsConstructor @Service public class ProductServiceImpl extends ServiceImpl implements ProductService { + private final ProductMapper mapper; private final ParamMapper paramMapper; private final ParamRepository paramRepo; private final ProductParamRepository productParamRepo; + private final ParamService paramService; /** * 新建产品 @@ -41,24 +43,9 @@ public class ProductServiceImpl extends ServiceImpl if (baseMapper.findByName(dto.getName()) != null) { throw new ConstraintException("该设备已存在!"); } - Product product = new Product(); - product.setName(dto.getName()); - product.setTypeString(dto.getType()); - product.setModel(dto.getModel()); - product.setLink(dto.getLink()); + Product product = mapper.toEntity(dto); save(product); - List paramIds = new ArrayList<>(); - if (dto.getParams() != null) { - dto.getParams().forEach(paramDto -> { - Param param = paramMapper.toEntity(paramDto); - paramRepo.insert(param); - paramIds.add(param.getId()); - }); - } - List productParams = paramIds.stream() - .map(paramId -> new ProductParam(product.getId(), paramId)) - .toList(); - productParamRepo.insert(productParams); + productParamRepo.insert(paramService.productParamCreate(dto, product.getId())); return product; } /** @@ -66,45 +53,24 @@ public class ProductServiceImpl extends ServiceImpl */ @Override public Product update(ProductDto dto, Long id) { - // 更新产品信息 - this.lambdaUpdate().eq(Product::getId, id) - .set(Product::getName, dto.getName()) - .set(Product::getTypeString, dto.getType()) - .set(Product::getModel, dto.getModel()) - .set(Product::getLink, dto.getLink()) - .update(); - // 通过联表获取paramIds - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(ProductParam::getProductId, id); - List productParams = productParamRepo.selectList(wrapper); - List paramIds = productParams.stream() - .map(ProductParam::getParamId) - .toList(); - //通过paramIds查询出所有param - List params = paramRepo.selectByIds(paramIds); - //更新param参数 - if (dto.getParams() != null && !dto.getParams().isEmpty()) { - for (int i = 0; i < dto.getParams().size(); i++) { - ParamDto paramDto = dto.getParams().get(i); - Param param = params.get(i); - paramMapper.convert(paramDto, param); - paramRepo.updateById(param); - } - } - return this.getById(id); + Product product = baseMapper.selectById(id); + mapper.convert(dto, product); + updateById(product); + paramService.productParamUpdate(dto.getParams(), id); + return product; } - /** - * 分页查询产品 - * - * @param query 查询表单 - * @param page 分页参数 - */ + // /** +// * 分页查询产品 +// * +// * @param query 查询表单 +// * @param page 分页参数 +// */ +// @Override +// public Page page(Page page, ProductQuery query) { +// return baseMapper.page(page, query.wrapper()); +// } @Override - public IPage page(Page page, ProductQuery query) { - return baseMapper.page(page, query); - } - public Product detail(Long id) { return baseMapper.selectById(id); } diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/record/entity/Record.java b/src/main/java/com/zsc/edu/gateway/modules/iot/record/entity/RecordData.java similarity index 75% rename from src/main/java/com/zsc/edu/gateway/modules/iot/record/entity/Record.java rename to src/main/java/com/zsc/edu/gateway/modules/iot/record/entity/RecordData.java index 66a2efe..6a11410 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/record/entity/Record.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/record/entity/RecordData.java @@ -1,7 +1,6 @@ package com.zsc.edu.gateway.modules.iot.record.entity; import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; import lombok.*; import java.util.Date; @@ -14,9 +13,7 @@ import java.util.Map; @Getter @NoArgsConstructor @AllArgsConstructor -@TableName("iot_record") -public class Record { - //TODO 这个类的建表方式 +public class RecordData { @TableId private String id; diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/record/repo/RecordDataRepository.java b/src/main/java/com/zsc/edu/gateway/modules/iot/record/repo/RecordDataRepository.java new file mode 100644 index 0000000..967a8f5 --- /dev/null +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/record/repo/RecordDataRepository.java @@ -0,0 +1,18 @@ +package com.zsc.edu.gateway.modules.iot.record.repo; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.zsc.edu.gateway.modules.iot.record.entity.RecordData; + +import java.time.LocalDateTime; +import java.util.List; + +/** + * @author zhuang + */ +public interface RecordDataRepository extends BaseMapper { + List findAllByClientIdAndRecordTimeAfter(String clientId, LocalDateTime recordTime); + + List findByRecordTimeStr(String recordTimeStr); + + +} diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/record/repo/RecordRepository.java b/src/main/java/com/zsc/edu/gateway/modules/iot/record/repo/RecordRepository.java deleted file mode 100644 index d65d06f..0000000 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/record/repo/RecordRepository.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.zsc.edu.gateway.modules.iot.record.repo; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.zsc.edu.gateway.modules.iot.record.entity.Record; - -import java.time.LocalDateTime; -import java.util.List; - -/** - * @author zhuang - */ -public interface RecordRepository extends BaseMapper { - List findAllByClientIdAndRecordTimeAfter(String clientId, LocalDateTime recordTime); - - List findByRecordTimeStr(String recordTimeStr); - - -} diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/record/service/RecordDataService.java b/src/main/java/com/zsc/edu/gateway/modules/iot/record/service/RecordDataService.java new file mode 100644 index 0000000..e03308a --- /dev/null +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/record/service/RecordDataService.java @@ -0,0 +1,18 @@ +package com.zsc.edu.gateway.modules.iot.record.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.zsc.edu.gateway.modules.iot.record.entity.RecordData; + +import java.util.List; + +/** + * @author zhuang + */ +public interface RecordDataService extends IService { + RecordData create(RecordData record); + + List page(IPage page, String clientId); + + List recordPhoto(String clientId); +} diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/record/service/RecordService.java b/src/main/java/com/zsc/edu/gateway/modules/iot/record/service/RecordService.java deleted file mode 100644 index b96b604..0000000 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/record/service/RecordService.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.zsc.edu.gateway.modules.iot.record.service; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.service.IService; -import com.zsc.edu.gateway.modules.iot.record.entity.Record; - -import java.util.List; - -/** - * @author zhuang - */ -public interface RecordService extends IService { - Record create(Record record); - - List page(IPage page, String clientId); - - List recordPhoto(String clientId); -} diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/record/service/impl/RecordServiceImpl.java b/src/main/java/com/zsc/edu/gateway/modules/iot/record/service/impl/RecordDataDataServiceImpl.java similarity index 58% rename from src/main/java/com/zsc/edu/gateway/modules/iot/record/service/impl/RecordServiceImpl.java rename to src/main/java/com/zsc/edu/gateway/modules/iot/record/service/impl/RecordDataDataServiceImpl.java index 75a6eb4..d17f33b 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/record/service/impl/RecordServiceImpl.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/record/service/impl/RecordDataDataServiceImpl.java @@ -4,10 +4,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.zsc.edu.gateway.framework.redis.RedisUtils; -import com.zsc.edu.gateway.modules.iot.record.entity.Record; -import com.zsc.edu.gateway.modules.iot.record.repo.RecordRepository; -import com.zsc.edu.gateway.modules.iot.record.service.RecordService; -import jakarta.annotation.Resource; +import com.zsc.edu.gateway.modules.iot.record.entity.RecordData; +import com.zsc.edu.gateway.modules.iot.record.repo.RecordDataRepository; +import com.zsc.edu.gateway.modules.iot.record.service.RecordDataService; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; @@ -21,28 +20,28 @@ import java.util.Optional; */ @AllArgsConstructor @Service -public class RecordServiceImpl extends ServiceImpl implements RecordService { +public class RecordDataDataServiceImpl extends ServiceImpl implements RecordDataService { RedisUtils redisUtils; @Override - public Record create(Record record) { + public RecordData create(RecordData record) { save(record); return record; } @Override - public List page(IPage page, String clientId) { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + public List page(IPage page, String clientId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); if (clientId != null) { - queryWrapper.eq(Record::getClientId, clientId); + queryWrapper.eq(RecordData::getClientId, clientId); return baseMapper.selectList(page, queryWrapper); } return baseMapper.selectList(page, queryWrapper); } @Override - public List recordPhoto(String clientId) { + public List recordPhoto(String clientId) { LocalDateTime recordTime = LocalDateTime.parse(redisUtils.get("serve:sendTime:photograph:" + clientId)); - List records = baseMapper.findAllByClientIdAndRecordTimeAfter(clientId, recordTime); - Optional first = records.stream().max(Comparator.comparing(Record::getRecordTime)); + List records = baseMapper.findAllByClientIdAndRecordTimeAfter(clientId, recordTime); + Optional first = records.stream().max(Comparator.comparing(RecordData::getRecordTime)); if (first.isPresent()) { String recordTimeStr = (String) first.get().getContent().get("recordTimeStr"); return baseMapper.findByRecordTimeStr(recordTimeStr); diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/controller/EventController.java b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/controller/EventController.java index 4cbaa12..b5b8d63 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/controller/EventController.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/controller/EventController.java @@ -25,7 +25,6 @@ public class EventController { * 创建事件 * * @param dto 创建的事件 - * @return */ @PostMapping public Event create(@RequestBody EventDto dto) { @@ -52,20 +51,10 @@ public class EventController { * @return Page 事件分页数据 */ @GetMapping - public IPage page(Page page, EventQuery query) { - return service.page(page, query); + public Page page(Page page, EventQuery query) { + return service.page(page, query.wrapper()); } -// /** -// * 查询事件 -// * -// * @param query 事件的查询表单 -// * @return Page 事件分页数据 -// */ -// @GetMapping("list") -// public List list(EventQuery query) { -// return service.findByProductId(query.productId); -// } /** * 删除事件 diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/controller/PropertyController.java b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/controller/PropertyController.java index 0aa356e..d186382 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/controller/PropertyController.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/controller/PropertyController.java @@ -55,17 +55,6 @@ public class PropertyController { public Page query(PropertyQuery query, Page page) { return service.page(page, query.wrapper()); } -// /** -// * 查询属性 -// * -// * @param query 属性的查询表单 -// * @return Page 属性分页数据 -// */ -// @GetMapping("list") -// public List list(PropertyQuery query) { -// return service.findByProductIdAndIoType(query); -// } - /** * 删除属性 * diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/controller/ServeController.java b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/controller/ServeController.java index 37d07a8..37158bc 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/controller/ServeController.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/controller/ServeController.java @@ -52,20 +52,9 @@ public class ServeController { * @return Page 服务分页数据 */ @GetMapping - public IPage page(Page page, ServeQuery query) { - return serveService.page(page, query); + public Page page(Page page, ServeQuery query) { + return serveService.page(page, query.wrapper()); } -// -// /** -// * 查询服务 -// * -// * @param query 服务的查询表单 -// * @return Page 服务分页数据 -// */ -// @GetMapping("list") -// public List list(ServeQuery query) { -// return serveService.findByProductId(query.productId); -// } /** * 删除服务 diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/mapper/EventMapper.java b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/mapper/EventMapper.java index 748c0d9..e3e50e7 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/mapper/EventMapper.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/mapper/EventMapper.java @@ -6,6 +6,9 @@ import com.zsc.edu.gateway.modules.iot.tsl.entity.Event; import org.mapstruct.Mapper; import org.mapstruct.ReportingPolicy; -@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE) +/** + * @author zhuang + */ +@Mapper(componentModel = "spring", uses = {ParamMapper.class}, unmappedTargetPolicy = ReportingPolicy.IGNORE) public interface EventMapper extends BaseMapper { } diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/mapper/ParamMapper.java b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/mapper/ParamMapper.java index cbb4c3f..01052dc 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/mapper/ParamMapper.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/mapper/ParamMapper.java @@ -3,6 +3,12 @@ package com.zsc.edu.gateway.modules.iot.tsl.mapper; import com.zsc.edu.gateway.common.mapstruct.BaseMapper; import com.zsc.edu.gateway.modules.iot.tsl.dto.ParamDto; import com.zsc.edu.gateway.modules.iot.tsl.entity.Param; +import org.mapstruct.Mapper; +import org.mapstruct.ReportingPolicy; +/** + * @author zhuang + */ +@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE) public interface ParamMapper extends BaseMapper { } diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/mapper/PropertyMapper.java b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/mapper/PropertyMapper.java index 0f3ea54..57da2af 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/mapper/PropertyMapper.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/mapper/PropertyMapper.java @@ -7,7 +7,7 @@ import org.mapstruct.Mapper; import org.mapstruct.ReportingPolicy; /** - * @author Yao + * @author zhuang */ @Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE) public interface PropertyMapper extends BaseMapper { diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/mapper/ServeMapper.java b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/mapper/ServeMapper.java index 7e1b6ed..05f8445 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/mapper/ServeMapper.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/mapper/ServeMapper.java @@ -6,6 +6,9 @@ import com.zsc.edu.gateway.modules.iot.tsl.entity.Serve; import org.mapstruct.Mapper; import org.mapstruct.ReportingPolicy; -@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE) +/** + * @author zhuang + */ +@Mapper(componentModel = "spring", uses = {ParamMapper.class}, unmappedTargetPolicy = ReportingPolicy.IGNORE) public interface ServeMapper extends BaseMapper { } diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/query/EventQuery.java b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/query/EventQuery.java index 7942959..712815b 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/query/EventQuery.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/query/EventQuery.java @@ -1,6 +1,12 @@ package com.zsc.edu.gateway.modules.iot.tsl.query; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.zsc.edu.gateway.modules.iot.product.entity.Product; +import com.zsc.edu.gateway.modules.iot.tsl.entity.Event; import lombok.Data; +import org.springframework.util.StringUtils; + +import java.util.Objects; /** * @author zhuang @@ -31,4 +37,13 @@ public class EventQuery { */ public Long productId; + public LambdaQueryWrapper wrapper() { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(StringUtils.hasText(this.name), Event::getName, this.name); + queryWrapper.eq(StringUtils.hasText(this.identifier), Event::getIdentifier, this.identifier); + queryWrapper.eq(StringUtils.hasText(this.level), Event::getType, this.level); + queryWrapper.eq(Objects.nonNull(this.productId), Event::getProductId, this.productId); + return queryWrapper; + } + } diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/query/ServeQuery.java b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/query/ServeQuery.java index 310cfcd..002a616 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/query/ServeQuery.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/query/ServeQuery.java @@ -1,6 +1,12 @@ package com.zsc.edu.gateway.modules.iot.tsl.query; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.zsc.edu.gateway.modules.iot.tsl.entity.Event; +import com.zsc.edu.gateway.modules.iot.tsl.entity.Serve; import lombok.Data; +import org.springframework.util.StringUtils; + +import java.util.Objects; /** * @author 15864 @@ -22,4 +28,12 @@ public class ServeQuery { * 名称 */ public Long productId; + + public LambdaQueryWrapper wrapper() { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(StringUtils.hasText(this.name), Serve::getName, this.name); + queryWrapper.eq(StringUtils.hasText(this.identifier), Serve::getIdentifier, this.identifier); + queryWrapper.eq(Objects.nonNull(this.productId), Serve::getProductId, this.productId); + return queryWrapper; + } } diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/repo/EventRepository.java b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/repo/EventRepository.java index 47c332e..b802c7e 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/repo/EventRepository.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/repo/EventRepository.java @@ -20,7 +20,7 @@ public interface EventRepository extends BaseMapper { // List findByProductId(Long productId); - IPage page(Page page, @Param("query") EventQuery query); +// IPage page(Page page, @Param("query") EventQuery query); Event selectById(@Param("id") Long id); } diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/repo/PropertyRepository.java b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/repo/PropertyRepository.java index ad6b7a3..511c546 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/repo/PropertyRepository.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/repo/PropertyRepository.java @@ -14,7 +14,7 @@ import java.util.List; public interface PropertyRepository extends BaseMapper { - IPage page(Page page, @Param("query") PropertyQuery query); +// IPage page(Page page, @Param("query") PropertyQuery query); Property selectById(@Param("id") Long id); } diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/repo/ServeRepository.java b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/repo/ServeRepository.java index 0897909..bfc913f 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/repo/ServeRepository.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/repo/ServeRepository.java @@ -23,7 +23,7 @@ public interface ServeRepository extends BaseMapper { // List findByProductId(Long productId); - IPage page(Page page, @Param("query") ServeQuery query); +// IPage page(Page page, @Param("query") ServeQuery query); Serve selectById(@Param("id") Long id); diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/service/EventService.java b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/service/EventService.java index e138ddb..1d41a26 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/service/EventService.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/service/EventService.java @@ -15,7 +15,7 @@ public interface EventService extends IService { Event update(EventDto dto, Long id); - IPage page(Page page, EventQuery query); +// IPage page(Page page, EventQuery query); Event detail(Long id); diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/service/ParamService.java b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/service/ParamService.java new file mode 100644 index 0000000..b652ac7 --- /dev/null +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/service/ParamService.java @@ -0,0 +1,30 @@ +package com.zsc.edu.gateway.modules.iot.tsl.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.zsc.edu.gateway.modules.iot.product.dto.ProductDto; +import com.zsc.edu.gateway.modules.iot.product.entity.ProductParam; +import com.zsc.edu.gateway.modules.iot.tsl.dto.EventDto; +import com.zsc.edu.gateway.modules.iot.tsl.dto.ParamDto; +import com.zsc.edu.gateway.modules.iot.tsl.dto.ServeDto; +import com.zsc.edu.gateway.modules.iot.tsl.entity.EventParam; +import com.zsc.edu.gateway.modules.iot.tsl.entity.Param; +import com.zsc.edu.gateway.modules.iot.tsl.entity.ServeParam; + +import java.util.List; + +/** + * @author zhuang + */ +public interface ParamService extends IService { + List eventParamCreate(EventDto dto, Long eventId); + + List productParamCreate(ProductDto dto, Long productId); + + List serveParamCreate(ServeDto dto, Long serveId); + + boolean eventParamUpdate(List paramDto, Long eventId); + + boolean productParamUpdate(List paramDto, Long productId); + + boolean serveParamUpdate(List paramDto, Long serveId); +} diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/service/ServeService.java b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/service/ServeService.java index 26ec990..da3b83c 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/service/ServeService.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/service/ServeService.java @@ -15,7 +15,7 @@ public interface ServeService extends IService { Serve update(ServeDto dto, Long id); - IPage page(Page page, ServeQuery query); +// IPage page(Page page, ServeQuery query); Serve detail(Long id); diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/service/impl/EventServiceImpl.java b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/service/impl/EventServiceImpl.java index 14aee4f..c1255e7 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/service/impl/EventServiceImpl.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/service/impl/EventServiceImpl.java @@ -17,6 +17,7 @@ import com.zsc.edu.gateway.modules.iot.tsl.repo.EventParamRepository; import com.zsc.edu.gateway.modules.iot.tsl.repo.EventRepository; import com.zsc.edu.gateway.modules.iot.tsl.repo.ParamRepository; import com.zsc.edu.gateway.modules.iot.tsl.service.EventService; +import com.zsc.edu.gateway.modules.iot.tsl.service.ParamService; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; @@ -29,10 +30,11 @@ import java.util.List; @Service @AllArgsConstructor public class EventServiceImpl extends ServiceImpl implements EventService { - + private final EventMapper mapper; private final ParamMapper paramMapper; private final ParamRepository paramRepo; private final EventParamRepository eventParamRepo; + private final ParamService paramService; /** * 新建物模型事件 @@ -42,24 +44,9 @@ public class EventServiceImpl extends ServiceImpl implem if (baseMapper.findByName(dto.getName()) != null) { throw new ConstraintException("该事件已存在!"); } - Event event = new Event(); - event.setName(dto.getName()); - event.setIdentifier(dto.getIdentifier()); - event.setType(dto.getType()); - event.setProductId(dto.getProductId()); + Event event = mapper.toEntity(dto); save(event); - List eventIds = new ArrayList<>(); - if (dto.getOutputs() != null) { - dto.getOutputs().forEach(paramDto -> { - Param param = paramMapper.toEntity(paramDto); - paramRepo.insert(param); - eventIds.add(param.getId()); - }); - } - List eventParams = eventIds.stream() - .map(eventId -> new EventParam(event.getId(), eventId)) - .toList(); - eventParamRepo.insert(eventParams); + eventParamRepo.insert(paramService.eventParamCreate(dto, event.getId())); return event; } /** @@ -67,28 +54,11 @@ public class EventServiceImpl extends ServiceImpl implem */ @Override public Event update(EventDto dto, Long id) { - this.lambdaUpdate().eq(Event::getId, id) - .set(Event::getName, dto.getName()) - .set(Event::getIdentifier, dto.getIdentifier()) - .set(Event::getType, dto.getType()) - .set(Event::getProductId, dto.getProductId()) - .update(); - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(EventParam::getEventId, id); - List eventParams = eventParamRepo.selectList(wrapper); - List paramIds = eventParams.stream() - .map(EventParam::getParamId) - .toList(); - List params = paramRepo.selectByIds(paramIds); - if (dto.getOutputs() != null && !dto.getOutputs().isEmpty()) { - for (int i = 0; i < dto.getOutputs().size(); i++) { - ParamDto paramDto = dto.getOutputs().get(i); - Param param = params.get(i); - paramMapper.convert(paramDto, param); - paramRepo.updateById(param); - } - } - return this.getById(id); + Event event = baseMapper.selectById(id); + mapper.convert(dto, event); + updateById(event); + paramService.eventParamUpdate(dto.getOutputs(), id); + return event; } /** * 分页查询物模型事件 @@ -96,10 +66,10 @@ public class EventServiceImpl extends ServiceImpl implem * @param query 查询表单 * @param page 分页参数 */ - @Override - public IPage page(Page page, EventQuery query) { - return baseMapper.page(page, query); - } +// @Override +// public IPage page(Page page, EventQuery query) { +// return baseMapper.page(page, query); +// } /** * 查询详情 diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/service/impl/ParamServiceImpl.java b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/service/impl/ParamServiceImpl.java new file mode 100644 index 0000000..0de55d8 --- /dev/null +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/service/impl/ParamServiceImpl.java @@ -0,0 +1,112 @@ +package com.zsc.edu.gateway.modules.iot.tsl.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.zsc.edu.gateway.modules.iot.product.dto.ProductDto; +import com.zsc.edu.gateway.modules.iot.product.entity.ProductParam; +import com.zsc.edu.gateway.modules.iot.product.repo.ProductParamRepository; +import com.zsc.edu.gateway.modules.iot.tsl.dto.EventDto; +import com.zsc.edu.gateway.modules.iot.tsl.dto.ParamDto; +import com.zsc.edu.gateway.modules.iot.tsl.dto.ServeDto; +import com.zsc.edu.gateway.modules.iot.tsl.entity.EventParam; +import com.zsc.edu.gateway.modules.iot.tsl.entity.Param; +import com.zsc.edu.gateway.modules.iot.tsl.entity.ServeParam; +import com.zsc.edu.gateway.modules.iot.tsl.mapper.ParamMapper; +import com.zsc.edu.gateway.modules.iot.tsl.repo.EventParamRepository; +import com.zsc.edu.gateway.modules.iot.tsl.repo.ParamRepository; +import com.zsc.edu.gateway.modules.iot.tsl.repo.ServeParamRepository; +import com.zsc.edu.gateway.modules.iot.tsl.service.ParamService; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author zhuang + */ +@AllArgsConstructor +@Service +public class ParamServiceImpl extends ServiceImpl implements ParamService { + private final ParamMapper mapper; + private final ParamMapper paramMapper; + private final EventParamRepository eventParamRepository; + private final ProductParamRepository productParamRepository; + private final ServeParamRepository serveParamRepository; + + public List paramCreate(List params) { + List paramIds = new ArrayList<>(); + params.forEach(paramDto -> { + Param param = mapper.toEntity(paramDto); + baseMapper.insert(param); + paramIds.add(param.getId()); + }); + return paramIds; + } + + @Override + public List eventParamCreate(EventDto dto, Long eventId) { + return paramCreate(dto.getOutputs()).stream() + .map(paramId -> new EventParam(eventId, paramId)) + .toList(); + } + + @Override + public List productParamCreate(ProductDto dto, Long productId) { + return paramCreate(dto.getParams()).stream() + .map(paramId -> new ProductParam(productId, paramId)) + .toList(); + } + + @Override + public List serveParamCreate(ServeDto dto, Long serveId) { + List serveParams = new ArrayList<>(); + serveParams.addAll(paramCreate(dto.getInputs()).stream() + .map(paramId -> new ServeParam(serveId, paramId)) + .toList()); + serveParams.addAll(paramCreate(dto.getOutputs()).stream() + .map(paramId -> new ServeParam(serveId, paramId)) + .toList()); + return serveParams; + } + + public boolean paramUpdate(List paramDto, List paramIds) { + List params = baseMapper.selectByIds(paramIds); + if (!params.isEmpty() && !paramDto.isEmpty()) { + for (int i = 0; i < Math.min(params.size(), paramDto.size()); i++) { + Param param = params.get(i); + ParamDto dto = paramDto.get(i); + paramMapper.convert(dto, param); + baseMapper.updateById(param); + } + } + return true; + } + + @Override + public boolean eventParamUpdate(List paramDto, Long eventId) { + return paramUpdate(paramDto, eventParamRepository.selectList(new LambdaQueryWrapper() + .eq(EventParam::getEventId, eventId)) + .stream() + .map(EventParam::getParamId) + .toList()); + } + + @Override + public boolean productParamUpdate(List paramDto, Long productId) { + return paramUpdate(paramDto, productParamRepository.selectList(new LambdaQueryWrapper() + .eq(ProductParam::getProductId, productId)) + .stream() + .map(ProductParam::getParamId) + .toList()); + } + + @Override + public boolean serveParamUpdate(List paramDto, Long serveId) { + return paramUpdate(paramDto, serveParamRepository.selectList(new LambdaQueryWrapper() + .eq(ServeParam::getServeId, serveId)) + .stream() + .map(ServeParam::getParamId) + .toList()); + } +} diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/service/impl/PropertyServiceImpl.java b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/service/impl/PropertyServiceImpl.java index 54e5e9e..8de44bf 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/service/impl/PropertyServiceImpl.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/service/impl/PropertyServiceImpl.java @@ -1,18 +1,12 @@ package com.zsc.edu.gateway.modules.iot.tsl.service.impl; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.zsc.edu.gateway.modules.iot.tsl.dto.PropertyDto; -import com.zsc.edu.gateway.modules.iot.tsl.entity.Event; import com.zsc.edu.gateway.modules.iot.tsl.entity.Property; import com.zsc.edu.gateway.modules.iot.tsl.mapper.PropertyMapper; -import com.zsc.edu.gateway.modules.iot.tsl.query.PropertyQuery; import com.zsc.edu.gateway.modules.iot.tsl.repo.PropertyRepository; import com.zsc.edu.gateway.modules.iot.tsl.service.PropertyService; -import jakarta.annotation.Resource; import lombok.AllArgsConstructor; -import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; /** diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/service/impl/ServeServiceImpl.java b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/service/impl/ServeServiceImpl.java index 02e4d76..e1ede01 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/service/impl/ServeServiceImpl.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/service/impl/ServeServiceImpl.java @@ -14,6 +14,7 @@ import com.zsc.edu.gateway.modules.iot.tsl.query.ServeQuery; import com.zsc.edu.gateway.modules.iot.tsl.repo.ParamRepository; import com.zsc.edu.gateway.modules.iot.tsl.repo.ServeParamRepository; import com.zsc.edu.gateway.modules.iot.tsl.repo.ServeRepository; +import com.zsc.edu.gateway.modules.iot.tsl.service.ParamService; import com.zsc.edu.gateway.modules.iot.tsl.service.ServeService; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; @@ -33,6 +34,7 @@ public class ServeServiceImpl extends ServiceImpl implem private final ParamMapper paramMapper; private final ParamRepository paramRepository; private final ServeParamRepository serveParamRepository; + private final ParamService paramService; /** * 新建功能 */ @@ -41,30 +43,9 @@ public class ServeServiceImpl extends ServiceImpl implem if (baseMapper.findByName(dto.getName()) != null) { throw new ConstraintException("该事件已存在!"); } - Serve serve = new Serve(); - serve.setProductId(dto.getProductId()); - serve.setName(dto.getName()); - serve.setIdentifier(dto.getIdentifier()); + Serve serve = mapper.toEntity(dto); save(serve); - List serveIds = new ArrayList<>(); - if (dto.getInputs() != null) { - dto.getInputs().forEach(paramDto -> { - Param param = paramMapper.toEntity(paramDto); - paramRepository.insert(param); - serveIds.add(param.getId()); - }); - } - if (dto.getOutputs() != null) { - dto.getOutputs().forEach(paramDto -> { - Param param = paramMapper.toEntity(paramDto); - paramRepository.insert(param); - serveIds.add(param.getId()); - }); - } - List serveParams = serveIds.stream() - .map(serveId -> new ServeParam(serve.getId(), serveId)) - .toList(); - serveParamRepository.insert(serveParams); + serveParamRepository.insert(paramService.serveParamCreate(dto, serve.getId())); return serve; } /** @@ -72,35 +53,12 @@ public class ServeServiceImpl extends ServiceImpl implem */ @Override public Serve update(ServeDto dto, Long id) { - this.lambdaUpdate().eq(Serve::getId, id) - .set(Serve::getName, dto.getName()) - .set(Serve::getIdentifier, dto.getIdentifier()) - .set(Serve::getProductId, dto.getProductId()) - .update(); - - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(ServeParam::getServeId, id); - List serveParams = serveParamRepository.selectList(wrapper); - List paramIds = serveParams.stream() - .map(ServeParam::getParamId) - .toList(); - List params = paramRepository.selectByIds(paramIds); - List allParamsDto = new ArrayList<>(); - if (dto.getInputs() != null && !dto.getInputs().isEmpty()) { - allParamsDto.addAll(dto.getInputs()); - } - if (dto.getOutputs() != null && !dto.getOutputs().isEmpty()) { - allParamsDto.addAll(dto.getOutputs()); - } - - for (int i = 0; i < allParamsDto.size(); i++) { - ParamDto paramDto = allParamsDto.get(i); - Param param = params.get(i); - paramMapper.convert(paramDto, param); - paramRepository.updateById(param); - } - - return this.getById(id); + Serve serve = baseMapper.selectById(id); + mapper.convert(dto, serve); + updateById(serve); + paramService.serveParamUpdate(dto.getInputs(), id); + paramService.serveParamUpdate(dto.getOutputs(), id); + return serve; } /** @@ -109,10 +67,10 @@ public class ServeServiceImpl extends ServiceImpl implem * @param query 查询表单 * @param page 分页参数 */ - @Override - public IPage page(Page page, ServeQuery query) { - return baseMapper.page(page, query); - } +// @Override +// public IPage page(Page page, ServeQuery query) { +// return baseMapper.page(page, query); +// } /** * 查询详情 diff --git a/src/main/java/com/zsc/edu/gateway/modules/notice/controller/BulletinController.java b/src/main/java/com/zsc/edu/gateway/modules/notice/controller/BulletinController.java index e092c27..12a9b0b 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/notice/controller/BulletinController.java +++ b/src/main/java/com/zsc/edu/gateway/modules/notice/controller/BulletinController.java @@ -45,9 +45,9 @@ public class BulletinController { * @return 分页数据 */ @GetMapping("/self") - public IPage getBulletins(Page pageParam, BulletinQuery query) { + public Page getBulletins(Page page, BulletinQuery query) { query.setState(Bulletin.State.publish); - return service.selectPageByConditions(pageParam, query); + return service.page(page, query.wrapper()); } /** diff --git a/src/main/java/com/zsc/edu/gateway/modules/notice/entity/MessageType.java b/src/main/java/com/zsc/edu/gateway/modules/notice/entity/MessageType.java index bcd16d5..86ad923 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/notice/entity/MessageType.java +++ b/src/main/java/com/zsc/edu/gateway/modules/notice/entity/MessageType.java @@ -9,8 +9,8 @@ import com.zsc.edu.gateway.common.enums.IState; * @author zhuang */ public enum MessageType implements IEnum, IState { - other(1,"其他"), - resetThePassword(2,"重置密码"); + other(1, "消息"), + resetThePassword(2, "通知"); private final Integer value; private final String name; diff --git a/src/main/java/com/zsc/edu/gateway/modules/notice/query/BulletinQuery.java b/src/main/java/com/zsc/edu/gateway/modules/notice/query/BulletinQuery.java index 81d3239..40d86e5 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/notice/query/BulletinQuery.java +++ b/src/main/java/com/zsc/edu/gateway/modules/notice/query/BulletinQuery.java @@ -3,6 +3,7 @@ package com.zsc.edu.gateway.modules.notice.query; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.zsc.edu.gateway.modules.notice.entity.Bulletin; import com.zsc.edu.gateway.modules.notice.vo.BulletinVo; +import com.zsc.edu.gateway.modules.system.entity.Authority; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -23,12 +24,20 @@ import java.util.Objects; public class BulletinQuery { - private Integer pageNum = 1; - private Integer pageSize = 10; private String title; private Bulletin.State state; @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime publishTimeBegin; @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime publishTimeEnd; + + public LambdaQueryWrapper wrapper() { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(StringUtils.hasText(this.title), Bulletin::getTitle, this.title); + queryWrapper.eq(Objects.nonNull(this.state), Bulletin::getState, this.state); + if (publishTimeBegin != null && publishTimeEnd != null) { + queryWrapper.between(Bulletin::getPublishTime, this.publishTimeBegin, this.publishTimeEnd); + } + return queryWrapper; + } } diff --git a/src/main/java/com/zsc/edu/gateway/modules/notice/vo/BulletinVo.java b/src/main/java/com/zsc/edu/gateway/modules/notice/vo/BulletinVo.java index 6be256d..c6e2090 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/notice/vo/BulletinVo.java +++ b/src/main/java/com/zsc/edu/gateway/modules/notice/vo/BulletinVo.java @@ -1,13 +1,12 @@ package com.zsc.edu.gateway.modules.notice.vo; import com.fasterxml.jackson.annotation.JsonInclude; -import com.zsc.edu.gateway.modules.attachment.vo.AttachmentVo; +import com.zsc.edu.gateway.modules.attachment.entity.Attachment; import com.zsc.edu.gateway.modules.notice.entity.Bulletin; import lombok.Data; import java.time.LocalDateTime; import java.util.List; -import java.util.Set; /** * @author zhuang @@ -94,6 +93,6 @@ public class BulletinVo { /** * 附件 */ - List attachmentVos; + List attachments; } diff --git a/src/main/java/com/zsc/edu/gateway/modules/notice/vo/UserMessageVo.java b/src/main/java/com/zsc/edu/gateway/modules/notice/vo/UserMessageVo.java index 4b828ed..6e2eb22 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/notice/vo/UserMessageVo.java +++ b/src/main/java/com/zsc/edu/gateway/modules/notice/vo/UserMessageVo.java @@ -1,17 +1,9 @@ package com.zsc.edu.gateway.modules.notice.vo; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.zsc.edu.gateway.modules.attachment.entity.Attachment; -import com.zsc.edu.gateway.modules.attachment.vo.AttachmentVo; -import com.zsc.edu.gateway.modules.notice.entity.Message; import com.zsc.edu.gateway.modules.notice.entity.MessageType; -import com.zsc.edu.gateway.modules.system.entity.User; import lombok.Data; import java.time.LocalDateTime; -import java.util.List; /** * @author zhuang diff --git a/src/main/resources/mappers/iotMappers/DeviceMapper.xml b/src/main/resources/mappers/iotMappers/DeviceMapper.xml index ac468b1..d96a8fb 100644 --- a/src/main/resources/mappers/iotMappers/DeviceMapper.xml +++ b/src/main/resources/mappers/iotMappers/DeviceMapper.xml @@ -21,7 +21,7 @@ - + @@ -41,33 +41,6 @@ - - - select e.*,ip.id as param_id,ip.data_type as param_data_type,ip.uint as param_uint,ip.type as - param_type,ip.identifier as param_identifier,ip.name as param_name,ip.remark as param_remark - from iot_event e - left join iot_event_param ep on e.id=ep.event_id - left join iot_param ip on ep.param_id = ip.id - - - and e.name like CONCAT('%', #{query.name}, '%') - - - and e.level = #{query.level} - - - and e.product_id = #{query.productId} - - - - - select p.*, ip.id as param_id,ip.data_type as param_data_type,ip.uint as param_uint,ip.type as - param_type,ip.identifier as param_identifier,ip.name as param_name,ip.remark as param_remark - from iot_product p - left join iot_product_param pp on p.id = pp.product_id - left join iot_param ip on pp.param_id = ip.id - - - and p.name like CONCAT('%', #{query.name}, '%') - - - and p.type = #{query.type} - - - and p.link = #{query.links} - - - - - - diff --git a/src/main/resources/mappers/noticeMappers/BulletinMapper.xml b/src/main/resources/mappers/noticeMappers/BulletinMapper.xml index 87199ae..b3ceceb 100644 --- a/src/main/resources/mappers/noticeMappers/BulletinMapper.xml +++ b/src/main/resources/mappers/noticeMappers/BulletinMapper.xml @@ -23,28 +23,23 @@ - - - - + +