|
@@ -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, "登录用户与令牌所属用户不一致");
|