Fix(Store): Fix specify platform to search tools

This commit is contained in:
2024-05-10 05:33:23 +08:00
parent cf2165cc80
commit 0c9de223fb
3 changed files with 11 additions and 11 deletions

View File

@@ -27,11 +27,7 @@ interface StoreMapper : BaseMapper<Tool> {
* @since 1.0.0
* @see IPage
*/
fun selectAuthorToolIdPage(
page: IPage<Long>,
@Param("searchValue") searchValue: String?,
@Param("platform") platform: Platform
): IPage<String>
fun selectAuthorToolIdPage(page: IPage<Long>, @Param("searchValue") searchValue: String?): IPage<String>
/**
* Select author and tool ID by username in page
@@ -54,7 +50,11 @@ interface StoreMapper : BaseMapper<Tool> {
* @since 1.0.0
* @see Tool
*/
fun selectListByAuthorToolIds(@Param("ids") ids: List<String>, @Param("operator") operator: Long?): List<Tool>
fun selectListByAuthorToolIds(
@Param("ids") ids: List<String>,
@Param("operator") operator: Long?,
@Param("platform") platform: Platform? = null
): List<Tool>
/**
* Count published tool by username and toolId

View File

@@ -40,10 +40,10 @@ class StoreServiceImpl(
toolIdsPage.setOptimizeCountSql(false)
val toolIdsIPage =
baseMapper.selectAuthorToolIdPage(toolIdsPage, toolStoreGetParam.searchValue, toolStoreGetParam.platform)
baseMapper.selectAuthorToolIdPage(toolIdsPage, toolStoreGetParam.searchValue)
val toolPage = Page<Tool>(toolIdsIPage.current, toolIdsIPage.size, toolIdsIPage.total)
if (toolIdsIPage.total > 0) {
toolPage.setRecords(baseMapper.selectListByAuthorToolIds(toolIdsIPage.records, WebUtil.getLoginUserId()))
toolPage.setRecords(baseMapper.selectListByAuthorToolIds(toolIdsIPage.records, WebUtil.getLoginUserId(), toolStoreGetParam.platform))
}
return ToolConverter.toolPageToToolPageVo(toolPage)

View File

@@ -20,9 +20,6 @@
or tk.keyword like concat('%', #{searchValue}, '%')
)
</if>
<if test="platform != null">
and temp1.platform = #{platform}
</if>
</where>
<choose>
<when test="searchValue != null">
@@ -110,6 +107,9 @@
on tbtf.user_id = #{operator} and tbtf.author_id = tbtm.author_id and tbtf.tool_id = tbtm.tool_id
<where>
and tbtm.rn = 1
<if test="platform != null">
and tbtm.platform = #{platform}
</if>
<foreach collection="ids" item="item" index="index" open="and concat(tbtm.author_id, ':', tbtm.tool_id) in (" separator="," close=")"
nullable="true">
#{item}