Browse Source

Merge remote-tracking branch 'origin/dev/one' into dev/one

# Conflicts:
#	diagbotman-service/src/main/java/com/diagbot/facade/LantoneProductFacade.java
wangyu 6 years ago
parent
commit
01af3eda41

+ 7 - 2
diagbotman-service/src/main/java/com/diagbot/dto/ProductServiceDTO.java

@@ -1,6 +1,9 @@
 package com.diagbot.dto;
 
+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 lombok.Getter;
 import lombok.Setter;
@@ -8,12 +11,14 @@ import lombok.Setter;
 /**
  * @Description:
  * @author: zhaops
- * @time: 2018/9/18 19:58
+ * @time: 2018/9/19 15:11
  */
 @Getter
 @Setter
 public class ProductServiceDTO {
     private ProductService productService;
+    private LantoneProduct lantoneProduct;
+    private OpenedProducts openedProducts;
+    private ServiceInfo serviceInfo;
     private ServiceToken serviceToken;
-    private String msg;
 }

+ 23 - 0
diagbotman-service/src/main/java/com/diagbot/dto/ProductServiceRespDTO.java

@@ -0,0 +1,23 @@
+package com.diagbot.dto;
+
+import com.diagbot.entity.LantoneProduct;
+import com.diagbot.entity.ProductService;
+import com.diagbot.entity.ServiceInfo;
+import com.diagbot.entity.ServiceToken;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: zhaops
+ * @time: 2018/9/18 19:58
+ */
+@Getter
+@Setter
+public class ProductServiceRespDTO {
+    private ProductService productService;
+    private ServiceToken serviceToken;
+    private LantoneProduct lantoneProduct;
+    private ServiceInfo serviceInfo;
+    private String msg;
+}

+ 69 - 0
diagbotman-service/src/main/java/com/diagbot/entity/wrapper/ProductServiceWrapper.java

@@ -0,0 +1,69 @@
+package com.diagbot.entity.wrapper;
+
+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;
+
+/**
+ * @Description:
+ * @author: zhaops
+ * @time: 2018/9/19 16:06
+ */
+public class ProductServiceWrapper extends ProductService {
+    private ProductService productService;
+    private LantoneProduct lantoneProduct;
+    private OpenedProducts openedProducts;
+    private ServiceInfo serviceInfo;
+    private ServiceToken serviceToken;
+    private Long userId;
+
+    public ProductService getProductService() {
+        return productService;
+    }
+
+    public void setProductService(ProductService productService) {
+        this.productService = productService;
+    }
+
+    public LantoneProduct getLantoneProduct() {
+        return lantoneProduct;
+    }
+
+    public void setLantoneProduct(LantoneProduct lantoneProduct) {
+        this.lantoneProduct = lantoneProduct;
+    }
+
+    public OpenedProducts getOpenedProducts() {
+        return openedProducts;
+    }
+
+    public void setOpenedProducts(OpenedProducts openedProducts) {
+        this.openedProducts = openedProducts;
+    }
+
+    public ServiceInfo getServiceInfo() {
+        return serviceInfo;
+    }
+
+    public void setServiceInfo(ServiceInfo serviceInfo) {
+        this.serviceInfo = serviceInfo;
+    }
+
+    public ServiceToken getServiceToken() {
+        return serviceToken;
+    }
+
+    public void setServiceToken(ServiceToken serviceToken) {
+        this.serviceToken = serviceToken;
+    }
+
+    public Long getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Long userId) {
+        this.userId = userId;
+    }
+}

+ 1 - 2
diagbotman-service/src/main/java/com/diagbot/facade/LantoneProductFacade.java

@@ -6,7 +6,7 @@ import com.diagbot.service.impl.LantoneProductServiceImpl;
 import org.springframework.stereotype.Component;
 
 /**
- * @Description:
+ * @Description:产品业务层
  * @author: wangyu
  * @time: 2018/9/19 15:52
  */
@@ -62,4 +62,3 @@ public class LantoneProductFacade extends LantoneProductServiceImpl{
         }
         return CommonErrorCode.OK;
     }
-}

+ 13 - 0
diagbotman-service/src/main/java/com/diagbot/facade/OpenedProductsFacade.java

@@ -0,0 +1,13 @@
+package com.diagbot.facade;
+
+import com.diagbot.service.impl.OpenedProductsServiceImpl;
+import org.springframework.stereotype.Component;
+
+/**
+ * @Description:已开通产品业务层
+ * @author: zhaops
+ * @time: 2018/9/19 16:55
+ */
+@Component
+public class OpenedProductsFacade extends OpenedProductsServiceImpl {
+}

+ 67 - 18
diagbotman-service/src/main/java/com/diagbot/facade/ProductServiceFacade.java

@@ -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;
     }
 }

+ 9 - 1
diagbotman-service/src/main/java/com/diagbot/mapper/ProductServiceMapper.java

@@ -1,7 +1,12 @@
 package com.diagbot.mapper;
 
-import com.diagbot.entity.ProductService;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.diagbot.entity.ProductService;
+import com.diagbot.entity.User;
+import com.diagbot.entity.wrapper.ProductServiceWrapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 import java.util.Map;
@@ -20,4 +25,7 @@ public interface ProductServiceMapper extends BaseMapper<ProductService> {
 
     List<ProductService> findByProductId(Long productId);
 
+    IPage<ProductServiceWrapper> selectProductServiceByUserIdPage(Page page, @Param("productService") ProductServiceWrapper productService);
+
+    Integer deleteById(Long id);
 }

+ 8 - 0
diagbotman-service/src/main/java/com/diagbot/service/ProductServiceService.java

@@ -1,7 +1,11 @@
 package com.diagbot.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.diagbot.entity.ProductService;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.entity.wrapper.ProductServiceWrapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 import java.util.Map;
@@ -18,4 +22,8 @@ public interface ProductServiceService extends IService<ProductService> {
     ProductService findByProductIdAndServiceId(Map<String, Object> map);
 
     List<ProductService> findByProductId(Long productId);
+
+    IPage<ProductServiceWrapper> selectProductServiceByUserIdPage(Page<ProductServiceWrapper> page, ProductServiceWrapper productService);
+
+    Integer deleteById(Long id);
 }

+ 13 - 1
diagbotman-service/src/main/java/com/diagbot/service/impl/ProductServiceServiceImpl.java

@@ -1,9 +1,13 @@
 package com.diagbot.service.impl;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.diagbot.entity.ProductService;
+import com.diagbot.entity.wrapper.ProductServiceWrapper;
 import com.diagbot.mapper.ProductServiceMapper;
 import com.diagbot.service.ProductServiceService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -26,4 +30,12 @@ public class ProductServiceServiceImpl extends ServiceImpl<ProductServiceMapper,
     public List<ProductService> findByProductId(Long productId) {
         return baseMapper.findByProductId(productId);
     }
-}
+
+    public IPage<ProductServiceWrapper> selectProductServiceByUserIdPage(Page<ProductServiceWrapper> page, ProductServiceWrapper productService) {
+        return baseMapper.selectProductServiceByUserIdPage(page, productService);
+    }
+
+    public Integer deleteById(Long id) {
+        return baseMapper.deleteById(id);
+    }
+}

+ 1 - 0
diagbotman-service/src/main/java/com/diagbot/vo/ProductServiceSaveVO.java

@@ -17,5 +17,6 @@ public class ProductServiceSaveVO {
     private Long productId;
     @NotBlank(message = "请输入服务Id!")
     private Long serviceId;
+    @NotBlank(message = "请输入令牌类型!")
     private Integer type;
 }

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

@@ -1,10 +1,14 @@
 package com.diagbot.web;
 
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.ProductServiceDTO;
+import com.diagbot.dto.ProductServiceRespDTO;
 import com.diagbot.dto.RespDTO;
-import com.diagbot.entity.ServiceInfo;
+import com.diagbot.entity.User;
+import com.diagbot.entity.wrapper.ProductServiceWrapper;
 import com.diagbot.facade.ProductServiceFacade;
 import com.diagbot.vo.ProductServiceSaveVO;
 import io.swagger.annotations.Api;
@@ -15,6 +19,7 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RestController;
+import springfox.documentation.annotations.ApiIgnore;
 
 /**
  * <p>
@@ -33,13 +38,34 @@ public class ProductServiceController {
 
     @ApiOperation(value = "服务端关联到产品接口",
             notes = "productId:产品Id,必填<br>" +
-                    "serviceId:服务Id,必填<br> ")
+                    "serviceId:服务Id,必填<br> " +
+                    "type:令牌类型,必填<br> ")
     @PostMapping("/genProductService")
     @SysLogger("genProductService")
     @Transactional
-    public RespDTO<ProductServiceDTO> genProductService(ProductServiceSaveVO productServiceSaveVO) {
-        ProductServiceDTO productServiceDTO = productServiceFacade.genProductService(productServiceSaveVO);
-        return RespDTO.onSuc(productServiceDTO);
+    public RespDTO<ProductServiceRespDTO> genProductService(ProductServiceSaveVO productServiceSaveVO) {
+        ProductServiceRespDTO productServiceRespDTO = productServiceFacade.genProductService(productServiceSaveVO);
+        return RespDTO.onSuc(productServiceRespDTO);
+    }
+
+    @ApiOperation(value = "删除产品服务端",
+            notes = "productId:产品Id,必填<br>" +
+                    "serviceId:服务Id,必填<br> " +
+                    "type:令牌类型,必填<br> ")
+    @PostMapping("/deleteProductService")
+    @SysLogger("deleteProductService")
+    @Transactional
+    public RespDTO<ProductServiceRespDTO> deleteProductService(ProductServiceSaveVO productServiceSaveVO) {
+        ProductServiceRespDTO productServiceRespDTO = productServiceFacade.deleteProductService(productServiceSaveVO);
+        return RespDTO.onSuc(productServiceRespDTO);
+    }
+
+    @ApiOperation(value = "根据用户id获取产品服务关联信息", notes = "根据用户id获取产品服务关联信息")
+    @PostMapping("/getProductServiceByCurrentUser")
+    @SysLogger("getProductServiceByCurrentUser")
+    public RespDTO getProductServiceByCurrentUser(Page page) {
+        IPage<ProductServiceWrapper> psPage = productServiceFacade.selectProductServiceByUserIdPage(page);
+        return RespDTO.onSuc(psPage);
     }
 }
 

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

@@ -2,7 +2,7 @@ package com.diagbot.web;
 
 
 import com.diagbot.annotation.SysLogger;
-import com.diagbot.dto.ProductServiceDTO;
+import com.diagbot.dto.ProductServiceRespDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.ProductServiceFacade;
 import com.diagbot.facade.ServiceTokenFacade;
@@ -50,9 +50,9 @@ public class ServiceTokenController {
     @PostMapping("/createServiceToken")
     @SysLogger("createServiceToken")
     @Transactional
-    public RespDTO<ProductServiceDTO> createServiceToken(@RequestBody @Valid ProductServiceSaveVO productServiceSaveVO) {
-        ProductServiceDTO productServiceDTO = productServiceFacade.genProductService(productServiceSaveVO);
-        return RespDTO.onSuc(productServiceDTO);
+    public RespDTO<ProductServiceRespDTO> createServiceToken(@RequestBody @Valid ProductServiceSaveVO productServiceSaveVO) {
+        ProductServiceRespDTO productServiceRespDTO = productServiceFacade.genProductService(productServiceSaveVO);
+        return RespDTO.onSuc(productServiceRespDTO);
     }
 
     @ApiOperation(value = "令牌禁用",

+ 21 - 2
diagbotman-service/src/main/resources/mapper/ProductServiceMapper.xml

@@ -15,14 +15,33 @@
         <result column="remark" property="remark" />
     </resultMap>
 
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultWrapperMap" type="com.diagbot.entity.wrapper.ProductServiceWrapper">
+        <id column="id" property="id" />
+        <result column="is_deleted" property="isDeleted" />
+        <result column="gmt_create" property="gmtCreate" />
+        <result column="gmt_modified" property="gmtModified" />
+        <result column="creator" property="creator" />
+        <result column="modifier" property="modifier" />
+        <result column="product_id" property="productId" />
+        <result column="service_id" property="serviceId" />
+        <result column="remark" property="remark" />
+    </resultMap>
+
     <select id="findByProductIdAndServiceId" resultMap="BaseResultMap" parameterType="java.util.Map">
         select * from diag_product_service
-        where product_id = #{procuctId} and service_id=#{serviceId} and is_deleted = 'N'
+        where product_id = #{productId} and service_id=#{serviceId} and is_deleted = 'N'
     </select>
 
     <select id="findByProductId" resultMap="BaseResultMap" parameterType="java.lang.Long">
         select * from diag_product_service
-        where product_id = #{procuctId} and is_deleted = 'N'
+        where product_id = #{productId} and is_deleted = 'N'
+    </select>
+
+    <select id="selectProductServiceByUserIdPage" resultMap="BaseResultWrapperMap">
+        select a.* from diag_product_service a,diag_opened_products b,diag_service_info c ,diag_lantone_product d
+        where a.product_id=b.product_id and a.product_id=d.id and a.service_id=c.id and a.is_deleted='N' and b.is_deleted='N' and c.is_deleted='N' and b.service_status=1  and d.is_deleted='N'
+        and b.user_id=#{productService.userId} and c.user_id=#{productService.userId} and (find_in_set('1',d.access_type) or FIND_IN_SET('2',d.access_type))
     </select>
 
     <update id="deleteById" parameterType="java.lang.Long">