|
@@ -1,18 +1,27 @@
|
|
|
package com.diagbot.facade;
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.diagbot.dto.ProductServiceDTO;
|
|
|
+import com.diagbot.dto.ProductServiceRespDTO;
|
|
|
+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.ProductServiceWrapper;
|
|
|
import com.diagbot.enums.TokenTypeEnum;
|
|
|
import com.diagbot.service.impl.ProductServiceServiceImpl;
|
|
|
import com.diagbot.util.GuidUtil;
|
|
|
import com.diagbot.util.UserUtils;
|
|
|
import com.diagbot.vo.ProductServiceSaveVO;
|
|
|
+import com.google.common.collect.Lists;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
import java.util.Calendar;
|
|
|
import java.util.HashMap;
|
|
|
+import java.util.List;
|
|
|
import java.util.Map;
|
|
|
import java.util.Date;
|
|
|
|
|
@@ -25,11 +34,31 @@ import java.util.Date;
|
|
|
public class ProductServiceFacade extends ProductServiceServiceImpl {
|
|
|
@Autowired
|
|
|
private ServiceTokenFacade serviceTokenFacade;
|
|
|
+ @Autowired
|
|
|
+ private ServiceInfoFacade serviceInfoFacade;
|
|
|
+ @Autowired
|
|
|
+ private LantoneProductFacade lantoneProductFacade;
|
|
|
+ @Autowired
|
|
|
+ private OpenedProductsFacade openedProductsFacade;
|
|
|
|
|
|
- public ProductServiceDTO genProductService(ProductServiceSaveVO productServiceSaveVO) {
|
|
|
- ProductServiceDTO productServiceDTO=new ProductServiceDTO();
|
|
|
+ public ProductServiceRespDTO genProductService(ProductServiceSaveVO productServiceSaveVO) {
|
|
|
+ ProductServiceRespDTO productServiceRespDTO = new ProductServiceRespDTO();
|
|
|
Calendar calendar = Calendar.getInstance();
|
|
|
Long userId = Long.parseLong(UserUtils.getCurrentPrincipleID());
|
|
|
+ LantoneProduct lantoneProduct = lantoneProductFacade.getById(productServiceSaveVO.getProductId());
|
|
|
+ if (lantoneProduct == null) {
|
|
|
+ productServiceRespDTO.setMsg("找不到产品【" + lantoneProduct.getName() + "】");
|
|
|
+ return productServiceRespDTO;
|
|
|
+ }
|
|
|
+ ServiceInfo serviceInfo = serviceInfoFacade.getById(productServiceSaveVO.getServiceId());
|
|
|
+ if (serviceInfo == null) {
|
|
|
+ productServiceRespDTO.setMsg("找不到服务端【" + serviceInfo.getName() + "】");
|
|
|
+ return productServiceRespDTO;
|
|
|
+ } else if (serviceInfo.getUserId() != userId) {
|
|
|
+ productServiceRespDTO.setMsg("当前登录用户没有关联服务端【" + serviceInfo.getName() + "】");
|
|
|
+ return productServiceRespDTO;
|
|
|
+ }
|
|
|
+ //接入方式
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
map.put("productId", productServiceSaveVO.getProductId());
|
|
|
map.put("serviceId", productServiceSaveVO.getServiceId());
|
|
@@ -41,8 +70,7 @@ public class ProductServiceFacade extends ProductServiceServiceImpl {
|
|
|
productService.setCreator(userId.toString());
|
|
|
productService.setGmtCreate(new Date());
|
|
|
this.save(productService);
|
|
|
- }
|
|
|
- else {
|
|
|
+ } else {
|
|
|
productService.setModifier(userId.toString());
|
|
|
productService.setGmtModified(new Date());
|
|
|
this.updateById(productService);
|
|
@@ -59,15 +87,16 @@ public class ProductServiceFacade extends ProductServiceServiceImpl {
|
|
|
ServiceToken serviceToken = new ServiceToken();
|
|
|
serviceToken.setCreator(userId.toString());
|
|
|
serviceToken.setGmtCreate(new Date());
|
|
|
+ serviceToken.setProductSeviceId(productService.getId());
|
|
|
serviceToken.setType(productServiceSaveVO.getType());
|
|
|
serviceToken.setAppKeyId(GuidUtil.App_key());
|
|
|
serviceToken.setAppKeySecret(GuidUtil.App_screct());
|
|
|
serviceToken.setStatus(1);
|
|
|
if (old_serviceToken != null && old_serviceToken.getType().equals(TokenTypeEnum.Trial)) {
|
|
|
//如果试用已过期,不允许再生成
|
|
|
- if(calendar.after(old_serviceToken.getExpiringDate())) {
|
|
|
- productServiceDTO.setMsg("当前试用账号已过期,不允许再生成令牌");
|
|
|
- return productServiceDTO;
|
|
|
+ if (calendar.after(old_serviceToken.getExpiringDate())) {
|
|
|
+ productServiceRespDTO.setMsg("当前试用账号已过期,不允许再生成令牌");
|
|
|
+ return productServiceRespDTO;
|
|
|
}
|
|
|
serviceToken.setStartingDate(old_serviceToken.getStartingDate());
|
|
|
serviceToken.setExpiringDate(old_serviceToken.getExpiringDate());
|
|
@@ -80,28 +109,48 @@ public class ProductServiceFacade extends ProductServiceServiceImpl {
|
|
|
}
|
|
|
serviceTokenFacade.save(serviceToken);
|
|
|
|
|
|
- productServiceDTO.setProductService(productService);
|
|
|
- productServiceDTO.setServiceToken(serviceToken);
|
|
|
- productServiceDTO.setMsg("令牌生成成功!");
|
|
|
- return productServiceDTO;
|
|
|
+ productServiceRespDTO.setProductService(productService);
|
|
|
+ productServiceRespDTO.setServiceToken(serviceToken);
|
|
|
+ productServiceRespDTO.setMsg("令牌生成成功!");
|
|
|
+ return productServiceRespDTO;
|
|
|
}
|
|
|
|
|
|
- public ProductServiceDTO deleteProductService(ProductServiceSaveVO productServiceSaveVO) {
|
|
|
- ProductServiceDTO productServiceDTO=new ProductServiceDTO();
|
|
|
+ public ProductServiceRespDTO deleteProductService(ProductServiceSaveVO productServiceSaveVO) {
|
|
|
+ ProductServiceRespDTO productServiceRespDTO = new ProductServiceRespDTO();
|
|
|
Calendar calendar = Calendar.getInstance();
|
|
|
Long userId = Long.parseLong(UserUtils.getCurrentPrincipleID());
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
map.put("productId", productServiceSaveVO.getProductId());
|
|
|
map.put("serviceId", productServiceSaveVO.getServiceId());
|
|
|
ProductService productService = this.findByProductIdAndServiceId(map);
|
|
|
- if(productService==null){
|
|
|
- productServiceDTO.setMsg("产品服务端不存在!");
|
|
|
- return productServiceDTO;
|
|
|
+ if (productService == null) {
|
|
|
+ productServiceRespDTO.setMsg("产品服务端不存在!");
|
|
|
+ return productServiceRespDTO;
|
|
|
}
|
|
|
//删除关联令牌
|
|
|
serviceTokenFacade.deleteByProductServiceId(productService.getId());
|
|
|
//删除产品服务端
|
|
|
- productServiceDTO.setMsg("删除成功!");
|
|
|
- return productServiceDTO;
|
|
|
+ this.deleteById(productService.getId());
|
|
|
+ productServiceRespDTO.setMsg("删除成功!");
|
|
|
+ return productServiceRespDTO;
|
|
|
+ }
|
|
|
+
|
|
|
+ public IPage<ProductServiceWrapper> selectProductServiceByUserIdPage(Page<ProductServiceWrapper> page) {
|
|
|
+ Long userId = Long.parseLong(UserUtils.getCurrentPrincipleID());
|
|
|
+ ProductServiceWrapper productServiceVO=new ProductServiceWrapper();
|
|
|
+ productServiceVO.setUserId(userId);
|
|
|
+ IPage<ProductServiceWrapper> psPage = this.selectProductServiceByUserIdPage(page, productServiceVO);
|
|
|
+ List<ProductServiceWrapper> psList = psPage.getRecords();
|
|
|
+ for (ProductServiceWrapper productService : psList) {
|
|
|
+ LantoneProduct lantoneProduct = lantoneProductFacade.getById(productService.getProductId());
|
|
|
+ //OpenedProducts openedProducts=openedProductsFacade.
|
|
|
+ ServiceInfo serviceInfo = serviceInfoFacade.getById(productService.getServiceId());
|
|
|
+ ServiceToken serviceToken = serviceTokenFacade.getByProductServiceId(productService.getId());
|
|
|
+ productService.setLantoneProduct(lantoneProduct);
|
|
|
+ productService.setServiceInfo(serviceInfo);
|
|
|
+ productService.setServiceToken(serviceToken);
|
|
|
+ }
|
|
|
+ psPage.setRecords(psList);
|
|
|
+ return psPage;
|
|
|
}
|
|
|
}
|