diff --git a/kbqa-graph/src/main/java/com/supervision/controller/PolicyController.java b/kbqa-graph/src/main/java/com/supervision/controller/PolicyController.java new file mode 100644 index 0000000..46dd1f0 --- /dev/null +++ b/kbqa-graph/src/main/java/com/supervision/controller/PolicyController.java @@ -0,0 +1,36 @@ +package com.supervision.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.supervision.model.KgPolicy; +import com.supervision.service.KgPolicyService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Api(tags = "政策法规") +@RestController +@RequestMapping("policy") +@RequiredArgsConstructor +public class PolicyController { + + private final KgPolicyService kgPolicyService; + + + @GetMapping("queryPolicyPage") + @ApiImplicitParams({ + @ApiImplicitParam(name = "keyword", value = "模糊搜索", required = false, dataType = "String", paramType = "query"), + @ApiImplicitParam(name = "level", value = "政策层级(1国家级;2省级;3市级;4县级)", required = false, dataType = "String", paramType = "query"), + @ApiImplicitParam(name = "subject", value = "主题(1养老退休;2人事人才;3就业创业;4社会保障;5劳动关系)", required = false, dataType = "String", paramType = "query"), + @ApiImplicitParam(name = "type", value = "政策类型(1意见;2方案;3通知;4规章;5政策解读)", required = false, dataType = "String", paramType = "query"), + @ApiImplicitParam(name = "order", value = "排序方式 默认发文时间降序,1最多收藏降序;2最多浏览降序", required = false, dataType = "Integer", paramType = "query"), + @ApiImplicitParam(name = "pageSize", value = "pageSize", required = true, dataType = "Integer", paramType = "query"), + @ApiImplicitParam(name = "pageNum", value = "pageNum", required = true, dataType = "Integer", paramType = "query") + }) + public IPage queryPolicyPage(String keyword, Integer level, Integer subject, Integer type, Integer order, Integer pageNum, Integer pageSize) { + return kgPolicyService.queryPolicyPage(keyword, level, subject, type, order, pageNum, pageSize); + } +} diff --git a/kbqa-model/src/main/java/com/supervision/mapper/KgPolicyMapper.java b/kbqa-model/src/main/java/com/supervision/mapper/KgPolicyMapper.java index 232e6cd..376a299 100644 --- a/kbqa-model/src/main/java/com/supervision/mapper/KgPolicyMapper.java +++ b/kbqa-model/src/main/java/com/supervision/mapper/KgPolicyMapper.java @@ -1,16 +1,25 @@ package com.supervision.mapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.supervision.model.KgPolicy; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; /** -* @author Administrator -* @description 针对表【kg_policy(政策法规表)】的数据库操作Mapper -* @createDate 2024-04-16 13:05:24 -* @Entity com.supervision.model.KgPolicy -*/ + * @author Administrator + * @description 针对表【kg_policy(政策法规表)】的数据库操作Mapper + * @createDate 2024-04-16 13:05:24 + * @Entity com.supervision.model.KgPolicy + */ public interface KgPolicyMapper extends BaseMapper { + IPage queryPolicyPage(@Param("keyword") String keyword, + @Param("level") Integer level, + @Param("subject") Integer subject, + @Param("type") Integer type, + @Param("page") Page page); + } diff --git a/kbqa-model/src/main/java/com/supervision/service/KgPolicyService.java b/kbqa-model/src/main/java/com/supervision/service/KgPolicyService.java index d09822c..85298e3 100644 --- a/kbqa-model/src/main/java/com/supervision/service/KgPolicyService.java +++ b/kbqa-model/src/main/java/com/supervision/service/KgPolicyService.java @@ -1,5 +1,6 @@ package com.supervision.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.supervision.model.KgPolicy; import com.baomidou.mybatisplus.extension.service.IService; @@ -10,4 +11,6 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface KgPolicyService extends IService { + IPage queryPolicyPage(String keyword, Integer level, Integer subject, Integer type, Integer order,Integer pageNum, Integer pageSize); + } diff --git a/kbqa-model/src/main/java/com/supervision/service/impl/KgPolicyServiceImpl.java b/kbqa-model/src/main/java/com/supervision/service/impl/KgPolicyServiceImpl.java index 4b8a514..866fe21 100644 --- a/kbqa-model/src/main/java/com/supervision/service/impl/KgPolicyServiceImpl.java +++ b/kbqa-model/src/main/java/com/supervision/service/impl/KgPolicyServiceImpl.java @@ -1,5 +1,9 @@ package com.supervision.service.impl; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.metadata.OrderItem; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.supervision.model.KgPolicy; import com.supervision.service.KgPolicyService; @@ -7,14 +11,34 @@ import com.supervision.mapper.KgPolicyMapper; import org.springframework.stereotype.Service; /** -* @author Administrator -* @description 针对表【kg_policy(政策法规表)】的数据库操作Service实现 -* @createDate 2024-04-16 13:05:24 -*/ + * @author Administrator + * @description 针对表【kg_policy(政策法规表)】的数据库操作Service实现 + * @createDate 2024-04-16 13:05:24 + */ @Service public class KgPolicyServiceImpl extends ServiceImpl - implements KgPolicyService{ + implements KgPolicyService { + @Override + public IPage queryPolicyPage(String keyword, Integer level, Integer subject, Integer type, Integer order, Integer pageNum, Integer pageSize) { + // 排序方式 默认发文时间降序,1最多收藏降序;2最多浏览降序 + Page page = new Page<>(pageNum, pageSize); + if (ObjectUtils.isNull(order)) { + // 默认发文时间排序 + page.addOrder(OrderItem.desc("publish_time")); + } else { + if (1 == order) { + // 收藏降序 + page.addOrder(OrderItem.desc("mark_count")); + } + if (2 == order) { + // 浏览降序 + page.addOrder(OrderItem.desc("read_count")); + } + } + + return this.baseMapper.queryPolicyPage(keyword, level, subject, type, page); + } } diff --git a/kbqa-model/src/main/resources/mapper/KgPolicyMapper.xml b/kbqa-model/src/main/resources/mapper/KgPolicyMapper.xml index feabc47..209ec4f 100644 --- a/kbqa-model/src/main/resources/mapper/KgPolicyMapper.xml +++ b/kbqa-model/src/main/resources/mapper/KgPolicyMapper.xml @@ -5,26 +5,44 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + - id,title,content, + id + ,title,content, status,doc_number,level, subject,type,read_count, mark_count,publish_time,write_time, publish_dept +