Explorar o código

用户-产品展示关于Not In 修改 改为逻辑判断

wangyu %!s(int64=6) %!d(string=hai) anos
pai
achega
46085bc661

+ 9 - 4
diagbotman-service/src/main/java/com/diagbot/facade/LantoneProductFacade.java

@@ -8,7 +8,6 @@ import com.diagbot.dto.UserOrgDTO;
 import com.diagbot.entity.LantoneProduct;
 import com.diagbot.entity.OpenedProducts;
 import com.diagbot.entity.OpenedProductsIndex;
-import com.diagbot.entity.User;
 import com.diagbot.entity.wrapper.LantoneProductWrapper;
 import com.diagbot.entity.wrapper.OpendProductWrapper;
 import com.diagbot.enums.IsDeleteEnum;
@@ -41,7 +40,6 @@ public class LantoneProductFacade extends LantoneProductServiceImpl {
     @Autowired
     private UserServiceClient userServiceClient;
 
-
     /**
      * 产品线管理添加产品
      *
@@ -136,8 +134,15 @@ public class LantoneProductFacade extends LantoneProductServiceImpl {
      * @return 根据用户id查询是否有开通产品
      */
     public RespDTO<IPage<LantoneProduct>> productLine(Page page) {
-        Long userId = Long.parseLong(UserUtils.getCurrentPrincipleID());
-        IPage<LantoneProduct> diagLantoneProducts = productLine(page, userId);
+        /*Long userId = Long.parseLong(UserUtils.getCurrentPrincipleID());*/
+        IPage<LantoneProduct> diagLantoneProducts =null;
+        String name =null;
+        List<Long> list = openedProductsFacade.getOpendCountByUserId(1L);
+        if(list.size()!=0){
+            diagLantoneProducts=this.productLine(page,list);
+            return RespDTO.onSuc(diagLantoneProducts);
+        }
+        diagLantoneProducts = this.selectProduct(page,name);
         return RespDTO.onSuc(diagLantoneProducts);
     }
 

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

@@ -24,7 +24,7 @@ public interface LantoneProductMapper extends BaseMapper<LantoneProduct> {
      * @Author: wangyu
      * @Date: 9:49 2018/9/18
      */
-    IPage<LantoneProduct> productLine(Page page, @Param("userId") Long userId);
+    IPage<LantoneProduct> productLine(Page page, @Param("productId") List<Long> productId);
 
     /**
      * @Description: 根据产品名称分页查询

+ 9 - 3
diagbotman-service/src/main/java/com/diagbot/mapper/OpenedProductsMapper.java

@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.diagbot.dto.GetConsoleOnTrialDTO;
 import com.diagbot.dto.GetConsoleOpenedDTO;
-import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.UserAndProdutDTO;
 import com.diagbot.entity.OpenedProducts;
 import com.diagbot.entity.OpenedProductsIndex;
@@ -30,7 +29,7 @@ public interface OpenedProductsMapper extends BaseMapper<OpenedProducts> {
      * @param userId 用户id
      * @return
      */
-    IPage<OpenedProducts> selectOpendInfoByUserId(Page page, @Param("userId") int userId);
+    IPage<OpenedProducts> selectOpendInfoByUserId(Page page, @Param("userId") Long userId);
 
     /**
      * 查询已开通产品
@@ -111,8 +110,15 @@ public interface OpenedProductsMapper extends BaseMapper<OpenedProducts> {
     
     /**
      * 
-     * @param List<long> userIds
+     * @param  userIds
      * @return 
      */
     public List<UserAndProdutDTO> getInformationAvailableByUserIds(List<Long> userIds);
+
+    /**
+     * 根据用户id查询是否有开通产品
+     * @param userId
+     * @return
+     */
+    public List<Long> getOpendCountByUserId(Long userId);
 }

+ 1 - 1
diagbotman-service/src/main/java/com/diagbot/service/LantoneProductService.java

@@ -23,7 +23,7 @@ public interface LantoneProductService extends IService<LantoneProduct> {
      * @Author: wangyu
      * @Date: 9:49 2018/9/18
      */
-    IPage<LantoneProduct> productLine(Page<LantoneProduct> page, Long userId);
+    IPage<LantoneProduct> productLine(Page<LantoneProduct> page, List<Long> productId);
 
     /**
      * @Description: 朗通查询所有产品线

+ 20 - 10
diagbotman-service/src/main/java/com/diagbot/service/OpenedProductsService.java

@@ -26,7 +26,7 @@ public interface OpenedProductsService extends IService<OpenedProducts> {
      * @param userId 用户id
      * @return
      */
-    IPage<OpenedProducts> selectOpendInfoByUserId(Page<OpenedProducts> page, int userId);
+    IPage<OpenedProducts> selectOpendInfoByUserId(Page<OpenedProducts> page, Long userId);
 
     /**
      * 查询已开通产品
@@ -57,23 +57,33 @@ public interface OpenedProductsService extends IService<OpenedProducts> {
     public boolean modifyOpeningTime(OpenedProducts openedProducts);
 
     /**
-     * @Description: 根据产品id查询所有开通用户信息
-     * @Author: wangyu
-     * @Date: 20:23 2018/9/20
+     * 根据产品id查询所有开通用户信息
+     *
+     * @param openedProductsIndex
+     * @return
      */
     public List<OpendProductWrapper> getByProductId(OpenedProductsIndex openedProductsIndex);
 
     /**
-     * @Description: 根据产品id查询该产品是否有用户开通
-     * @Author: wangyu
-     * @Date: 20:23 2018/9/20
+     * 根据产品id查询该产品是否有用户开通
+     *
+     * @param openedProducts
+     * @return
      */
     public List<OpenedProducts> getOpendById(OpenedProducts openedProducts);
+
     /**
-     * 
-     * @param List<long> userIds
-     * @return 
+     *
+     * @param userIds
+     * @return
      */
     public List<UserAndProdutDTO> getInformationAvailableByUserIds(List<Long> userIds);
 
+
+    /**
+     * 根据用户id查询是否有开通产品
+     * @param userId
+     * @return list
+     */
+    public List<Long> getOpendCountByUserId(Long userId);
 }

+ 2 - 2
diagbotman-service/src/main/java/com/diagbot/service/impl/LantoneProductServiceImpl.java

@@ -33,8 +33,8 @@ public class LantoneProductServiceImpl extends ServiceImpl<LantoneProductMapper,
      * @Date: 13:29 2018/9/18
      */
     @Override
-    public IPage<LantoneProduct> productLine(Page<LantoneProduct> page, Long userId) {
-        return baseMapper.productLine(page, userId);
+    public IPage<LantoneProduct> productLine(Page<LantoneProduct> page, List<Long> productId) {
+        return baseMapper.productLine(page, productId);
     }
 
     /**

+ 6 - 2
diagbotman-service/src/main/java/com/diagbot/service/impl/OpenedProductsServiceImpl.java

@@ -3,7 +3,6 @@ package com.diagbot.service.impl;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.UserAndProdutDTO;
 import com.diagbot.entity.OpenedProducts;
 import com.diagbot.entity.OpenedProductsIndex;
@@ -31,7 +30,7 @@ public class OpenedProductsServiceImpl extends ServiceImpl<OpenedProductsMapper,
     OpenedProductsMapper openedProductsMapper;
 
     @Override
-    public IPage<OpenedProducts> selectOpendInfoByUserId(Page<OpenedProducts> page, int userId) {
+    public IPage<OpenedProducts> selectOpendInfoByUserId(Page<OpenedProducts> page, Long userId) {
         return baseMapper.selectOpendInfoByUserId(page, userId);
     }
 
@@ -87,4 +86,9 @@ public class OpenedProductsServiceImpl extends ServiceImpl<OpenedProductsMapper,
     public List<UserAndProdutDTO> getInformationAvailableByUserIds(List<Long> userIds){
     	return openedProductsMapper.getInformationAvailableByUserIds(userIds);
     }
+
+    @Override
+    public List<Long> getOpendCountByUserId(Long userId) {
+        return baseMapper.getOpendCountByUserId(userId);
+    }
 }

+ 6 - 2
diagbotman-service/src/main/resources/mapper/LantoneProductMapper.xml

@@ -44,10 +44,14 @@
 
     <!--根据用户id查询用户是否有开通产品-->
     <select id="productLine" resultMap="BaseResultMap">
-        SELECT * from diag_lantone_product p WHERE p.is_deleted ='N'
+        <!--SELECT * from diag_lantone_product p WHERE p.is_deleted ='N'
         <if test="userId != null">
             and id NOT IN (SELECT product_id FROM diag_opened_products WHERE user_id =#{userId})
-        </if>
+        </if>-->
+        SELECT * FROM `diag_lantone_product` WHERE 1=1
+        <foreach item="productId" collection="productId" open="" separator="" close="">
+            and id != #{productId}
+        </foreach>
     </select>
 
     <!--根据产品名称分页查询-->

+ 4 - 0
diagbotman-service/src/main/resources/mapper/OpenedProductsMapper.xml

@@ -209,4 +209,8 @@
             #{ids}
         </foreach>
     </select>
+
+    <select id="getOpendCountByUserId" resultType="java.lang.String">
+        SELECT a.product_id FROM diag_opened_products a WHERE a.is_deleted ='N' and a.user_id = #{userId}
+    </select>
 </mapper>