孙永军 2 vuotta sitten
vanhempi
commit
fd6aaee396

+ 3 - 2
src/main/java/com/sxtvs/open/api/news/controller/HotRankController.java

@@ -6,6 +6,7 @@ import com.sxtvs.open.api.news.service.impl.HotRankServiceImpl;
 import com.sxtvs.open.core.auth.LoginRequired;
 import jakarta.annotation.Resource;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.List;
@@ -27,7 +28,7 @@ public class HotRankController {
 
     @RequestMapping("list")
     @LoginRequired
-    public List<HotRankDTO> rank(){
-        return hotRankService.todayRank();
+    public List<HotRankDTO> rank(@RequestParam(value = "province", required = false, defaultValue = "") String province){
+        return hotRankService.todayRank(province);
     }
 }

+ 10 - 3
src/main/java/com/sxtvs/open/api/news/service/impl/HotRankServiceImpl.java

@@ -5,6 +5,7 @@ import com.sxtvs.open.api.news.entity.HotRank;
 import com.sxtvs.open.api.news.mapper.HotRankMapper;
 import com.sxtvs.open.api.news.service.IHotRankService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.http.util.TextUtils;
 import org.springframework.stereotype.Service;
 
 import java.time.LocalDate;
@@ -23,9 +24,15 @@ import java.util.stream.Collectors;
 @Service
 public class HotRankServiceImpl extends ServiceImpl<HotRankMapper, HotRank> implements IHotRankService {
 
-    public List<HotRankDTO> todayRank(){
+    public List<HotRankDTO> todayRank(String province){
         String dt = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"));
-        return lambdaQuery().eq(HotRank::getDt, dt).eq(HotRank::getRankName, "密度-头条热榜").orderByAsc(HotRank::getRk)
-                .last("limit 20").list().stream().map(HotRankDTO::new).collect(Collectors.toList());
+
+        if(TextUtils.isEmpty(province)){
+            return lambdaQuery().eq(HotRank::getDt, dt).eq(HotRank::getRankName, "密度-头条热榜").orderByAsc(HotRank::getRk)
+                    .last("limit 20").list().stream().map(HotRankDTO::new).collect(Collectors.toList());
+        }else{
+            return lambdaQuery().eq(HotRank::getDt, dt).eq(HotRank::getRankName,province).eq(HotRank::getPlatform, "地域热点")
+                    .orderByAsc(HotRank::getRk).last("limit 10").list().stream().map(HotRankDTO::new).collect(Collectors.toList());
+        }
     }
 }