Sfoglia il codice sorgente

删除产品时级联删除服务端关联和令牌

Zhaops 6 anni fa
parent
commit
9601e5db56

+ 26 - 0
diagbotman-service/src/main/java/com/diagbot/facade/ProductServiceFacade.java

@@ -16,6 +16,7 @@ import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.service.impl.ProductServiceServiceImpl;
 import com.diagbot.util.DateUtil;
+import com.diagbot.util.EntityUtil;
 import com.diagbot.util.GuidUtil;
 import com.diagbot.util.UserUtils;
 import com.diagbot.vo.ProductServiceSaveVO;
@@ -23,6 +24,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
+import java.util.List;
+import java.util.Map;
 
 /**
  * @Description:产品与用户端关联业务层
@@ -149,6 +152,29 @@ public class ProductServiceFacade extends ProductServiceServiceImpl {
         return true;
     }
 
+    /**
+     * 删除产品后,级联删除产品服务端管理和令牌
+     * @param productId
+     * @return
+     */
+    public Boolean deleteByProductId(Long productId) {
+        QueryWrapper<ProductService> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("product_id", productId).eq("is_deleted", IsDeleteEnum.N.getKey());
+        List<ProductService> productServiceList = this.list(queryWrapper);
+        Map<Long, ProductService> map = EntityUtil.makeEntityMap(productServiceList, "id");
+        //删除令牌
+        QueryWrapper<ServiceToken> serviceTokenQueryWrapper = new QueryWrapper<>();
+        serviceTokenQueryWrapper.in("product_service_id", map.keySet());
+        serviceTokenFacade.deleteByWrapper(serviceTokenQueryWrapper);
+
+        //删除产品服务端关联
+        for (ProductService productService : productServiceList) {
+            productService.setIsDeleted(IsDeleteEnum.Y.getKey());
+        }
+        this.updateBatchById(productServiceList);
+        return true;
+    }
+
 
     /**
      * 获取当前用户产品服务关联列表

+ 30 - 0
diagbotman-service/src/main/java/com/diagbot/facade/ServiceTokenFacade.java

@@ -159,6 +159,36 @@ public class ServiceTokenFacade extends ServiceTokenServiceImpl {
         return this.updateRecord(serviceToken, uw);
     }
 
+    /**
+     * 根据id批量删除令牌
+     *
+     * @param ids
+     * @return
+     */
+    public Boolean deleteByIds(Long[] ids) {
+        QueryWrapper<ServiceToken> queryWrapper = new QueryWrapper<>();
+        queryWrapper.in("id", ids);
+        List<ServiceToken> serviceTokenList = this.list(queryWrapper);
+        for (ServiceToken serviceToken : serviceTokenList) {
+            serviceToken.setIsDeleted(IsDeleteEnum.Y.getKey());
+        }
+        return this.updateBatchById(serviceTokenList);
+    }
+
+    /**
+     * 根据条件批量删除令牌
+     *
+     * @param queryWrapper
+     * @return
+     */
+    public Boolean deleteByWrapper(QueryWrapper<ServiceToken> queryWrapper) {
+        List<ServiceToken> serviceTokenList = this.list(queryWrapper);
+        for (ServiceToken serviceToken : serviceTokenList) {
+            serviceToken.setIsDeleted(IsDeleteEnum.Y.getKey());
+        }
+        return this.updateBatchById(serviceTokenList);
+    }
+
     /**
      * 启用令牌
      *