浏览代码

作者:张哲
时间:2023/02/24
类型:优化
描述:里程碑(2)bug修复(模糊查询%问题处理)

ZizgZh 2 年之前
父节点
当前提交
ca2a2405ec

+ 9 - 1
src/main/java/com/redxun/knowledge/album/mapper/AlbumInfoMapper.java

@@ -26,7 +26,7 @@ public interface AlbumInfoMapper extends BaseDao<AlbumInfo> {
     Integer selectCountKnowledge(@Param("albumId") String albumId, @Param("versionId") String versionId);
 
     /**
-     * 我的专辑分页(scope = 1)
+     * 我的专辑分页(scope = 1)(有分页)
      * @param page
      * @param params
      * @param params1
@@ -47,4 +47,12 @@ public interface AlbumInfoMapper extends BaseDao<AlbumInfo> {
      * @param ids
      */
     void deleteByIds(String ids);
+
+    /**
+     * 我创建的专辑(没有分页)
+     * @param params
+     * @param params1
+     * @return
+     */
+    List<AlbumInfo> findAllAlbumInfoByOwnerIdsNoPage(@Param("params")Map<String, Object> params, @Param("w")Map<String, Object> params1);
 }

+ 4 - 10
src/main/java/com/redxun/knowledge/album/service/AlbumInfoServiceImpl.java

@@ -152,8 +152,7 @@ public class AlbumInfoServiceImpl extends SuperServiceImpl<AlbumInfoMapper, Albu
             switch (scope) {
                 case "1":
                     //我的专辑
-                    map.put("ownerIds", userService.queryLoginUser());
-                    queryFilter.setParams(map);
+                    queryFilter.getParams().put("ownerIds", userService.queryLoginUser());
                     //查询我的专辑
                     IPage page1 = albumInfoMapper.findAllAlbumInfoByOwnerIds(queryFilter.getPage(), queryFilter.getParams(), params);
                     List<AlbumInfo> records = page1.getRecords();
@@ -162,15 +161,10 @@ public class AlbumInfoServiceImpl extends SuperServiceImpl<AlbumInfoMapper, Albu
                     return page1;
                 case "2":
                     //我的专辑
-                    QueryWrapper<AlbumInfo> queryWrapper = new QueryWrapper<>();
-                    queryWrapper.eq("OWNER_ID", userService.queryLoginUser());
-                    queryWrapper.eq("STATE", 1);
-                    queryWrapper.like(StringUtils.isNotEmpty((String) queryFilter.getParams().get("name")), "NAME", (String) queryFilter.getParams().get("name"));
-                    queryWrapper.orderByDesc("CREATE_TIME_");
-                    List<AlbumInfo> ownerIdsList = albumInfoMapper.selectList(queryWrapper);
+                    queryFilter.getParams().put("ownerId", userService.queryLoginUser());
+                    List<AlbumInfo> ownerIdsList = albumInfoMapper.findAllAlbumInfoByOwnerIdsNoPage(queryFilter.getParams(), params);
                     //已发布的专辑
-                    map.put("versionState", 2);
-                    queryFilter.setParams(map);
+                    queryFilter.getParams().put("versionState", 2);
                     List<AlbumInfo> albumInfoList = albumInfoMapper.findAllAlbumInfoByVersionState(queryFilter.getParams(), params);
                     if (albumInfoList != null) {
                         ownerIdsList.addAll(albumInfoList);

+ 3 - 3
src/main/resources/mapper/knowledge/album/AlbumApproveMapper.xml

@@ -90,13 +90,13 @@
                 )
             </if>
             <if test="@rx.Ognl@isNotEmpty(params.name)">
-                and ai.NAME LIKE '%' || #{params.name} || '%'
+                and instr(ai.NAME,#{params.name}) > 0
             </if>
             <if test="@rx.Ognl@isNotEmpty(params.applyUserName)">
-                and os.FULLNAME_ LIKE '%' || #{params.applyUserName} || '%'
+                and instr(os.FULLNAME_,#{params.applyUserName}) > 0
             </if>
             <if test="@rx.Ognl@isNotEmpty(params.ownerName)">
-                and oss.FULLNAME_ LIKE '%' || #{params.ownerName} || '%'
+                and instr(oss.FULLNAME_,#{params.ownerName}) > 0
             </if>
             <if test="@rx.Ognl@isNotEmpty(params.approvalState)">
                 and av.APPROVAL_STATE = #{params.approvalState}

+ 3 - 3
src/main/resources/mapper/knowledge/album/AlbumCategoryMapper.xml

@@ -54,7 +54,7 @@
         FROM KM_ALBUM_CATEGORY
         <where>
             <if test="@rx.Ognl@isNotEmpty(params.name)">
-                NAME LIKE '%' || #{params.name} || '%'
+             and instr(NAME,#{params.name}) > 0
             </if>
              and IS_DEL = 0 and PARENT = '0'
         </where>
@@ -67,7 +67,7 @@
         FROM KM_ALBUM_CATEGORY
         <where>
             <if test="@rx.Ognl@isNotEmpty(params.name)">
-                NAME LIKE '%' || #{params.name} || '%'
+                and instr(NAME,#{params.name}) > 0
             </if>
             and IS_DEL = 0 and PARENT = '0'
         </where>
@@ -80,7 +80,7 @@
         FROM KM_ALBUM_CATEGORY
         <where>
             <if test="@rx.Ognl@isNotEmpty(params.name)">
-                NAME LIKE '%' || #{params.name} || '%'
+                and instr(NAME,#{params.name}) > 0
             </if>
             and IS_DEL = 0 and PARENT != '0'
         </where>

+ 36 - 8
src/main/resources/mapper/knowledge/album/AlbumInfoMapper.xml

@@ -58,7 +58,7 @@
         ON OWNER_ID = USER_ID_
         <where>
             <if test="@rx.Ognl@isNotEmpty(params.name)">
-                ai.NAME LIKE '%' || #{params.name} || '%'
+                instr(ai.NAME,#{params.name}) > 0
             </if>
             <if test="@rx.Ognl@isNotEmpty(params.categoryId)">
                 and CATEGORY_ID IN (
@@ -67,7 +67,7 @@
                 )
             </if>
             <if test="@rx.Ognl@isNotEmpty(params.ownerName)">
-                and FULLNAME_ LIKE '%' || #{params.ownerName} || '%'
+                and instr(FULLNAME_,#{params.ownerName}) > 0
             </if>
             <if test="@rx.Ognl@isNotEmpty(params.createTimeStart)">
                 and TO_CHAR(ai.CREATE_TIME_,'yyyy-mm-dd') &gt;= #{params.createTimeStart}
@@ -100,7 +100,13 @@
         from KM_ALBUM_INFO ai
         <where>
             <if test="@rx.Ognl@isNotEmpty(params.name)">
-                ai.NAME LIKE '%' || #{params.name} || '%'
+                instr(ai.NAME,#{params.name}) > 0
+            </if>
+            <if test="@rx.Ognl@isNotEmpty(params.categoryId)">
+                and CATEGORY_ID IN (
+                SELECT PK_ID FROM KM_ALBUM_CATEGORY c WHERE c.IS_DEL = 0
+                START WITH c.PK_ID = #{params.categoryId} CONNECT BY PRIOR c.PK_ID = c.PARENT and c.IS_DEL = 0
+                )
             </if>
             and ai.owner_id = #{params.ownerIds} and ai.state = 1
             and ai.IS_DEL = 0
@@ -113,14 +119,14 @@
         select
         <include refid="COLUMNS"/>
         from KM_ALBUM_INFO ai
-        join KM_ALBUM_VERSION av
-        on ai.PK_ID = av.ALBUM_ID
+        left join KM_ALBUM_VERSION av
+        on ai.PK_ID = av.ALBUM_ID and av.IS_DEL = 0
         <where>
             <if test="@rx.Ognl@isNotEmpty(params.name)">
-                ai.NAME LIKE '%' || #{params.name} || '%'
+                instr(ai.NAME,#{params.name}) > 0
             </if>
-            av.STATE = #{params.versionState}
-            and ai.IS_DEL = 0 and av.IS_DEL = 0 and ai.STATE = 1
+            and av.STATE = #{params.versionState}
+            and ai.IS_DEL = 0 and ai.STATE = 1
         </where>
         ORDER BY ai.CREATE_TIME_ DESC
     </select>
@@ -131,6 +137,28 @@
         where PK_ID = #{pkId}
     </delete>
 
+    <select id="findAllAlbumInfoByOwnerIdsNoPage" resultType="com.redxun.knowledge.album.entity.dao.AlbumInfo">
+        select
+        <include refid="COLUMNS"/>
+        from KM_ALBUM_INFO ai
+        <where>
+            <if test="@rx.Ognl@isNotEmpty(params.name)">
+                instr(ai.NAME,#{params.name}) > 0
+            </if>
+            <if test="@rx.Ognl@isNotEmpty(params.categoryId)">
+                and CATEGORY_ID IN (
+                SELECT PK_ID FROM KM_ALBUM_CATEGORY c WHERE c.IS_DEL = 0
+                START WITH c.PK_ID = #{params.categoryId} CONNECT BY PRIOR c.PK_ID = c.PARENT and c.IS_DEL = 0
+                )
+            </if>
+            and ai.owner_id = #{params.ownerId} and ai.state = 1
+            and ai.IS_DEL = 0
+        </where>
+        ORDER BY ai.CREATE_TIME_ DESC
+
+    </select>
+
+
 </mapper>
 
 

+ 2 - 2
src/main/resources/mapper/knowledge/album/AlbumYelpApproveMapper.xml

@@ -120,10 +120,10 @@
                 )
             </if>
             <if test="@rx.Ognl@isNotEmpty(params.name)">
-                and ai.NAME LIKE '%' || #{params.name} || '%'
+                and instr(ai.NAME,#{params.name}) > 0
             </if>
             <if test="@rx.Ognl@isNotEmpty(params.createName)">
-                and os.FULLNAME_ LIKE '%' || #{params.createName} || '%'
+                and instr(os.FULLNAME_,#{params.createName}) > 0
             </if>
             <if test="@rx.Ognl@isNotEmpty(params.approvalState)">
                 and ay.APPROVAL_STATE = #{params.approvalState}

+ 2 - 2
src/main/resources/mapper/knowledge/map/MapMapper.xml

@@ -49,7 +49,7 @@
         FROM KM_MAP map JOIN LEARNING_USER_DEV.OS_USER users ON map.UPDATE_BY_ = users.USER_ID_
         <where>
             <if test="@rx.Ognl@isNotEmpty(params.name)">
-                map.NAME LIKE '%' || #{params.name} || '%'
+                and instr(map.NAME,#{params.name}) > 0
             </if>
             <if test="@rx.Ognl@isNotEmpty(params.groupId)">
                 and map.PK_ID in (
@@ -66,7 +66,7 @@
                 and map.TYPE = #{params.type}
             </if>
             <if test="@rx.Ognl@isNotEmpty(params.operator)">
-                and users.FULLNAME_ LIKE '%' || #{params.operator} || '%'
+                and instr(users.FULLNAME_,#{params.operator}) > 0
             </if>
             <if test="@rx.Ognl@isNotEmpty(params.operateTimeStart)">
                 and TO_CHAR(map.UPDATE_TIME_,'yyyy-mm-dd') &gt;= #{params.operateTimeStart}