Zhaops %!s(int64=6) %!d(string=hai) anos
pai
achega
62cc6630e8

+ 5 - 0
diagbotman-service/src/main/java/com/diagbot/entity/wrapper/ServiceTokenWrapper.java

@@ -13,4 +13,9 @@ import lombok.Setter;
 @Setter
 public class ServiceTokenWrapper extends ServiceToken {
     private String url;
+
+    private String productName;
+
+    private String serviceName;
+
 }

+ 5 - 14
diagbotman-service/src/main/java/com/diagbot/facade/ProductServiceFacade.java

@@ -1,7 +1,6 @@
 package com.diagbot.facade;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.diagbot.dto.ProductServiceDTO;
@@ -114,7 +113,6 @@ public class ProductServiceFacade extends ProductServiceServiceImpl {
         serviceTokenFacade.save(serviceToken);
         productServiceDTO.setServiceToken(serviceToken);
 
-        //productServiceDTO.setProductService(productService);
         productServiceDTO.setProductId(productService.getProductId());
         productServiceDTO.setServiceId(productService.getServiceId());
 
@@ -129,26 +127,19 @@ public class ProductServiceFacade extends ProductServiceServiceImpl {
     /**
      * 删除产品服务端关联,级联删除令牌
      *
-     * @param productServiceSaveVO
+     * @param productServiceId
      * @return
      */
-    public Boolean deleteProductService(ProductServiceSaveVO productServiceSaveVO) {
-        QueryWrapper<ProductService> qwps = new QueryWrapper<>();
-        qwps.eq("product_id", productServiceSaveVO.getProductId());
-        qwps.eq("service_id", productServiceSaveVO.getServiceId());
-        qwps.eq("is_deleted", IsDeleteEnum.N.getKey());
-        ProductService productService = this.getOne(qwps);
-        if (productService == null) {
-            throw new CommonException(CommonErrorCode.NOT_EXISTS,
-                    "找不到产品服务端");
+    public Boolean deleteProductService(Long productServiceId) {
+        ProductService productService = this.getById(productServiceId);
+        if (productService == null || productService.getIsDeleted().equals(IsDeleteEnum.Y.getKey())) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "找不到产品服务端");
         }
         //删除关联令牌
         serviceTokenFacade.deleteByProductServiceId(productService.getId());
         //删除产品服务端
-        UpdateWrapper<ProductService> uwps = new UpdateWrapper<>();
         productService.setIsDeleted(IsDeleteEnum.Y.getKey());
         this.updateById(productService);
-        //this.delById(productService.getId());
         return true;
     }
 

+ 36 - 2
diagbotman-service/src/main/java/com/diagbot/facade/ServiceTokenFacade.java

@@ -3,16 +3,19 @@ package com.diagbot.facade;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.diagbot.dto.RespDTO;
+import com.diagbot.entity.LantoneProduct;
 import com.diagbot.entity.OpenedProducts;
 import com.diagbot.entity.ProductService;
 import com.diagbot.entity.ServiceInfo;
 import com.diagbot.entity.ServiceToken;
+import com.diagbot.entity.wrapper.ServiceTokenWrapper;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.enums.StatusEnum;
 import com.diagbot.enums.TokenTypeEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.service.impl.ServiceTokenServiceImpl;
+import com.diagbot.util.BeanUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.UserUtils;
 import com.diagbot.vo.ServiceTokenVo;
@@ -39,6 +42,8 @@ public class ServiceTokenFacade extends ServiceTokenServiceImpl {
     OpenedProductsFacade openedProductsFacade;
     @Autowired
     ServiceInfoFacade serviceInfoFacade;
+    @Autowired
+    LantoneProductFacade lantoneProductFacade;
 
 
     /**
@@ -105,6 +110,35 @@ public class ServiceTokenFacade extends ServiceTokenServiceImpl {
         return this.selectOneRecord(qw);
     }
 
+    /**
+     * 根据产品服务关联id获取令牌(包含产品和服务端信息)
+     *
+     * @param productServiceId
+     * @return
+     */
+    public ServiceTokenWrapper getWrapperByProductServiceId(Long productServiceId) {
+
+        checkCurrentUser(productServiceId);
+        QueryWrapper<ServiceToken> qw = new QueryWrapper<>();
+        qw.eq("product_service_id", productServiceId).
+                eq("type", TokenTypeEnum.Manual.getKey());
+        ServiceToken serviceToken = this.selectOneRecord(qw);
+        ServiceTokenWrapper serviceTokenWrapper = new ServiceTokenWrapper();
+        BeanUtil.copyProperties(serviceToken, serviceTokenWrapper);
+
+        ProductService productService = productServiceFacade.getById(productServiceId);
+        ServiceInfo serviceInfo = serviceInfoFacade.getById(productService.getServiceId());
+        LantoneProduct lantoneProduct = lantoneProductFacade.getById(productService.getProductId());
+        if (lantoneProduct == null || lantoneProduct.getIsDeleted().equals(IsDeleteEnum.Y.getKey())) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "产品不存在");
+        }
+
+        serviceTokenWrapper.setServiceName(serviceInfo.getName());
+        serviceTokenWrapper.setProductName(lantoneProduct.getName());
+
+        return serviceTokenWrapper;
+    }
+
     /**
      * 根据产品服务关联id删除令牌
      *
@@ -162,11 +196,11 @@ public class ServiceTokenFacade extends ServiceTokenServiceImpl {
     public Boolean checkCurrentUser(Long productServiceId) {
         Long userId = Long.parseLong(UserUtils.getCurrentPrincipleID());
         ProductService productService = productServiceFacade.getById(productServiceId);
-        if (productService == null) {
+        if (productService == null || productService.getIsDeleted().equals(IsDeleteEnum.Y.getKey())) {
             throw new CommonException(CommonErrorCode.NOT_EXISTS, "产品服务端关联不存在");
         }
         ServiceInfo serviceInfo = serviceInfoFacade.getById(productService.getServiceId());
-        if (serviceInfo == null) {
+        if (serviceInfo == null || serviceInfo.getIsDeleted().equals(IsDeleteEnum.Y.getKey())) {
             throw new CommonException(CommonErrorCode.NOT_EXISTS, "服务端不存在");
         } else if (serviceInfo.getUserId() != userId) {
             throw new CommonException(CommonErrorCode.NOT_EXISTS, "登录用户与令牌所属用户不一致");

+ 5 - 6
diagbotman-service/src/main/java/com/diagbot/web/ProductServiceController.java

@@ -17,6 +17,7 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 /**
@@ -56,18 +57,16 @@ public class ProductServiceController {
     /**
      * 删除产品服务端
      *
-     * @param productServiceSaveVO
+     * @param productServiceId
      * @return
      */
     @ApiOperation(value = "删除产品服务端[by:zhaops]",
-            notes = "productId:产品Id,必填<br>" +
-                    "serviceId:服务Id,必填<br> " )
+            notes = "productServiceId:产品服务关联Id,必填<br>" )
     @PostMapping("/deleteProductService")
     @SysLogger("deleteProductService")
     @Transactional
-    public RespDTO<Boolean> deleteProductService(@RequestBody ProductServiceSaveVO productServiceSaveVO) {
-        productServiceSaveVO.setType(TokenTypeEnum.Manual.getKey());
-        Boolean isSuccess = productServiceFacade.deleteProductService(productServiceSaveVO);
+    public RespDTO<Boolean> deleteProductService(@RequestParam Long productServiceId) {
+        Boolean isSuccess = productServiceFacade.deleteProductService(productServiceId);
         return RespDTO.onSuc(isSuccess);
     }
 

+ 4 - 3
diagbotman-service/src/main/java/com/diagbot/web/ServiceTokenController.java

@@ -5,6 +5,7 @@ import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.ProductServiceDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.ServiceToken;
+import com.diagbot.entity.wrapper.ServiceTokenWrapper;
 import com.diagbot.enums.TokenTypeEnum;
 import com.diagbot.facade.ProductServiceFacade;
 import com.diagbot.facade.ServiceTokenFacade;
@@ -78,9 +79,9 @@ public class ServiceTokenController {
     @PostMapping("/getTokenByProductServiceId")
     @SysLogger("getTokenByProductServiceId")
     @Transactional
-    public RespDTO<ServiceToken> getTokenByProductServiceId(@RequestParam Long productServiceId) {
-        ServiceToken serviceToken = serviceTokenFacade.getByProductServiceId(productServiceId);
-        return RespDTO.onSuc(serviceToken);
+    public RespDTO<ServiceTokenWrapper> getTokenByProductServiceId(@RequestParam Long productServiceId) {
+        ServiceTokenWrapper serviceTokenWrapper = serviceTokenFacade.getWrapperByProductServiceId(productServiceId);
+        return RespDTO.onSuc(serviceTokenWrapper);
     }
 
     /**