Browse Source

fix 修复首页因为字段更改后出现的问题

杨兴卓 1 month ago
parent
commit
e121e92932

+ 3 - 1
xyzc-start/src/main/java/com/xyzc/start/domain/vo/BaseUserSelectAppVo.java

@@ -1,15 +1,17 @@
 package com.xyzc.start.domain.vo;
 
+import com.fasterxml.jackson.annotation.JsonInclude;
 import lombok.Data;
 
 /**
  * 用户精选应用
  */
 @Data
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class BaseUserSelectAppVo {
 
     /**
-     * 职业id
+     * 职业名称
      */
     private String careerName;
 

+ 1 - 1
xyzc-start/src/main/java/com/xyzc/start/mapper/BaseUserCollectMapper.java

@@ -92,7 +92,7 @@ public interface BaseUserCollectMapper extends BaseMapperPlus<BaseUserCollect, B
      *
      * @return
      */
-    List<BaseUserSelectAppVo> queryCarefulSelectAppBy(Long appId, Integer length);
+    List<BaseUserSelectAppVo> queryCarefulSelectAppBy(Long userId, Long appId, Integer length);
 
     /**
      * 查询该用户是否收藏应用

+ 2 - 12
xyzc-start/src/main/java/com/xyzc/start/service/impl/HomePageServiceImpl.java

@@ -41,18 +41,8 @@ public class HomePageServiceImpl implements IHomePageService {
         List<BaseUserCollectAppVo> historyAppList = baseUserCollectMapper.queryHistoryAppBy(SecurityUser.getUserId());
 
         // 获取精选应用 前4个
-        List<BaseUserSelectAppVo> carefulSelectAppList = baseUserCollectMapper.queryCarefulSelectAppBy(null, 4);
-        // 以精选应用id为key,精选应用为value,生成一个map,并且去重
-        Map<Long, BaseUserSelectAppVo> collect = carefulSelectAppList
-                .stream()
-                .collect(Collectors.toMap(BaseUserSelectAppVo::getAppId, Function.identity(), (k1, k2) -> k1));
+        List<BaseUserSelectAppVo> carefulSelectAppList = baseUserCollectMapper.queryCarefulSelectAppBy(SecurityUser.getUserId(), null,4);
 
-        // 将map的id值转换为list
-        List<Long> appIdList = new ArrayList<>(collect.keySet());
-        List<BaseUserCollect> baseUserCollect = baseUserCollectMapper.queryCollectAppByUserIdAndAppId(SecurityUser.getUserId(), appIdList, BaseUserConst.COLLECT_APP);
-        for (BaseUserCollect app : baseUserCollect){
-            collect.get(app.getCollectId()).setIsCollect(app.getIsCollect());
-        }
 
         //生成数据返回给视图
         WebHomePageVo webHomePageVo = new WebHomePageVo();
@@ -107,7 +97,7 @@ public class HomePageServiceImpl implements IHomePageService {
     @Override
     public List<BaseUserSelectAppVo> getMoreSelector(Long appId) {
         // 获取更多精选应用
-        List<BaseUserSelectAppVo> baseUserSelectAppVos = baseUserCollectMapper.queryCarefulSelectAppBy(appId, 10);
+        List<BaseUserSelectAppVo> baseUserSelectAppVos = baseUserCollectMapper.queryCarefulSelectAppBy(null, appId, 10);
 
         // 以精选应用id未key,精选应用为value,生成一个map,并且去重
         Map<Long, BaseUserSelectAppVo> collect = baseUserSelectAppVos.stream().collect(Collectors.toMap(BaseUserSelectAppVo::getAppId, Function.identity(), (k1, k2) -> k1));

+ 14 - 13
xyzc-start/src/main/resources/mapper/WebStart/BaseUserCollectMapper.xml

@@ -124,23 +124,24 @@
 
     <select id="queryCarefulSelectAppBy" resultType="com.xyzc.start.domain.vo.BaseUserSelectAppVo">
         SELECT
-            app.id AS app_id,
-            app.app_name AS app_name,
+            app.id          AS app_id,
+            app.app_name    AS app_name,
             app.description AS app_desc,
-            oss.url AS app_icon,
+            oss.url         AS app_icon,
             app.route_path,
-            oss2.url AS ai_model_icon,
+            oss2.url        AS ai_model_icon,
             am.ai_model_name AS ai_model_name,
-            app.use_count AS use_count
-        FROM xy_app app
-        LEFT JOIN sys_oss oss ON app.oss_id = oss.oss_id
-        LEFT JOIN xy_ai_model_app ama ON ama.app_id = app.id
-        LEFT JOIN xy_ai_model am ON ama.ai_model_id = am.id
-        LEFT JOIN sys_oss oss2 ON am.ai_model_logo_oss_id = oss2.oss_id
-        WHERE   app.is_choiceness = 1
+            app.use_count   AS use_count
+        FROM xy_discover_app xda
+            LEFT JOIN xy_app app ON xda.app_id = app.id
+            LEFT JOIN sys_oss oss ON app.oss_id = oss.oss_id
+            LEFT JOIN xy_ai_model_app ama ON ama.app_id = app.id
+            LEFT JOIN xy_ai_model am ON ama.ai_model_id = am.id
+            LEFT JOIN sys_oss oss2 ON am.ai_model_logo_oss_id = oss2.oss_id
+        WHERE   xda.discover_app_type = 1
             AND app.del_flag = '0'
-        <if test = "appId != null" >
-            AND app.id > #{appId}
+        <if test = "appId != null">
+            AND app.id &lt; #{appId}
         </if >
         LIMIT #{length}
     </select>