From e1a027e55a3a01f5a8999b0cd1b414b014b2294f Mon Sep 17 00:00:00 2001 From: zhuangtianxiang <2913129173@qq.com> Date: Sat, 28 Dec 2024 20:44:32 +0800 Subject: [PATCH] =?UTF-8?q?refactor(iot):=20=E9=87=8D=E6=9E=84=E4=BA=A7?= =?UTF-8?q?=E5=93=81=E5=92=8C=E6=9C=8D=E5=8A=A1=E5=8F=82=E6=95=B0=E5=A4=84?= =?UTF-8?q?=E7=90=86=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除 ProductParam 实体和相关操作 - 更新 Param 实体,增加 foreignType 和 foreignId 字段- 修改 ProductServiceImpl,使用 ParamService 处理参数 - 更新 Serve 实体,区分输入和输出参数 - 调整 ServeDto,分离 inputs 和 outputs - 注释掉 JpaUserDetailsServiceImpl 中的权限查询代码 --- .../security/JpaUserDetailsServiceImpl.java | 2 +- .../service/impl/ProductServiceImpl.java | 27 +------ .../gateway/modules/iot/tsl/dto/ServeDto.java | 7 +- .../gateway/modules/iot/tsl/entity/Param.java | 76 ++++++++++--------- .../gateway/modules/iot/tsl/entity/Serve.java | 5 +- .../edu/gateway/service/UserServiceTest.java | 1 + 6 files changed, 51 insertions(+), 67 deletions(-) diff --git a/src/main/java/com/zsc/edu/gateway/framework/security/JpaUserDetailsServiceImpl.java b/src/main/java/com/zsc/edu/gateway/framework/security/JpaUserDetailsServiceImpl.java index 8606fcc..6331ec7 100644 --- a/src/main/java/com/zsc/edu/gateway/framework/security/JpaUserDetailsServiceImpl.java +++ b/src/main/java/com/zsc/edu/gateway/framework/security/JpaUserDetailsServiceImpl.java @@ -40,7 +40,7 @@ public class JpaUserDetailsServiceImpl implements UserDetailsService { } // List roleAuthorities= roleAuthoritiesRepository.selectByRoleId(user.getRoleId()); - user.role.authorities = authorityRepository.selectAuthoritiesByRoleId(user.getRoleId()); +// user.role.authorities = authorityRepository.selectAuthoritiesByRoleId(user.getRoleId()); List menus = menuRepository.selectByRoleId(user.getRoleId()); Set permissions = menus.stream().map(Menu::getPermissions).collect(Collectors.toSet()); return UserDetailsImpl.from(user, permissions); 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 17fad75..f777868 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 @@ -6,14 +6,11 @@ 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; import com.zsc.edu.gateway.modules.iot.product.service.ProductService; import com.zsc.edu.gateway.modules.iot.tsl.dto.ParamDto; -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.mapper.ParamMapper; import com.zsc.edu.gateway.modules.iot.tsl.repo.ParamRepository; @@ -34,7 +31,6 @@ public class ProductServiceImpl extends ServiceImpl private final ProductMapper mapper; private final ParamMapper paramMapper; private final ParamRepository paramRepo; - private final ProductParamRepository productParamRepo; private final ParamService paramService; /** @@ -47,10 +43,7 @@ public class ProductServiceImpl extends ServiceImpl } Product product = mapper.toEntity(dto); save(product); - List productParams = paramService.paramCreate(dto.getParams()).stream() - .map(paramId -> new ProductParam(product.getId(), paramId)) - .toList(); - productParamRepo.insert(productParams); + paramService.create(dto.getParams(), product.getId(), Param.ForeignType.PRODUCT); return product; } /** @@ -61,12 +54,7 @@ public class ProductServiceImpl extends ServiceImpl Product product = baseMapper.selectById(id); mapper.convert(dto, product); updateById(product); - paramService.paramUpdate(dto.getParams(), - productParamRepo.selectList(new LambdaQueryWrapper() - .eq(ProductParam::getProductId, product.getId())) - .stream() - .map(ProductParam::getParamId) - .collect(Collectors.toList())); + paramService.update(dto.getParams(), product.getId()); return product; } @@ -91,16 +79,7 @@ public class ProductServiceImpl extends ServiceImpl @Override public boolean delete(Long id) { removeById(id); - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(ProductParam::getProductId, id); - List productParams = productParamRepo.selectList(wrapper); - if (!productParams.isEmpty()) { - List paramIds = productParams.stream() - .map(ProductParam::getParamId) - .toList(); - paramRepo.deleteByIds(paramIds); - } - productParamRepo.delete(wrapper); + paramService.delete(id); return true; } } diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/dto/ServeDto.java b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/dto/ServeDto.java index b5cf96e..1da1bea 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/dto/ServeDto.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/dto/ServeDto.java @@ -21,9 +21,6 @@ public class ServeDto { public String identifier; - private List params; - - //TODO 将inputs和outputs整合成一个params集合(操作一样,params中有type区分) -// private List inputs; -// private List outputs; + private List inputs; + private List outputs; } diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/entity/Param.java b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/entity/Param.java index 406640b..62aadb2 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/entity/Param.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/entity/Param.java @@ -32,11 +32,15 @@ public class Param extends BaseParam { */ private Type type; -// /** -// * 事件/服务/产品的类型 -// */ -// private ParamType paramType; + /** + * 联表的类型 + */ + private ForeignType foreignType; + /** + * 联表的id + */ + private Long foreignId; public enum Type implements IEnum, IState { /** * 物模型输入 @@ -70,36 +74,36 @@ public class Param extends BaseParam { } } -// public enum ParamType implements IEnum, IState { -// /** -// * 事件 -// */ -// EVENT(1, "Event"), -// /** -// * 服务 -// */ -// SERVICE(2, "Service"), -// /** -// * 产品 -// */ -// PRODUCT(3, "Product"); -// -// private final int value; -// private final String description; -// -// ParamType(int value, String description) { -// this.value = value; -// this.description = description; -// } -// -// @Override -// public Integer getValue() { -// return value; -// } -// -// @Override -// public String toString() { -// return this.description; -// } -// } + public enum ForeignType implements IEnum, IState { + /** + * 事件 + */ + EVENT(1, "Event"), + /** + * 服务 + */ + SERVE(2, "Service"), + /** + * 产品 + */ + PRODUCT(3, "Product"); + + private final int value; + private final String description; + + ForeignType(int value, String description) { + this.value = value; + this.description = description; + } + + @Override + public Integer getValue() { + return value; + } + + @Override + public String toString() { + return this.description; + } + } } diff --git a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/entity/Serve.java b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/entity/Serve.java index a891e53..baf5102 100644 --- a/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/entity/Serve.java +++ b/src/main/java/com/zsc/edu/gateway/modules/iot/tsl/entity/Serve.java @@ -2,6 +2,7 @@ package com.zsc.edu.gateway.modules.iot.tsl.entity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +import com.zsc.edu.gateway.modules.iot.tsl.dto.ParamDto; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; @@ -27,7 +28,9 @@ public class Serve extends BaseParam { * 服务输入/输出参数,根据param中的type区分 */ @TableField(exist = false) - private List params; + private List inputs; + @TableField(exist = false) + private List outputs; } diff --git a/src/test/java/com/zsc/edu/gateway/service/UserServiceTest.java b/src/test/java/com/zsc/edu/gateway/service/UserServiceTest.java index 9478a16..6017f44 100644 --- a/src/test/java/com/zsc/edu/gateway/service/UserServiceTest.java +++ b/src/test/java/com/zsc/edu/gateway/service/UserServiceTest.java @@ -39,6 +39,7 @@ public class UserServiceTest { void test1() { // User user=userRepository.selectByUsername("admin"); // System.out.println(user); + String admin = passwordEncoder.encode("admin"); System.out.println(admin); }