diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/feign/INoticeClient.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/feign/INoticeClient.java index bbe9c389..c189eb42 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/feign/INoticeClient.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/feign/INoticeClient.java @@ -17,14 +17,12 @@ package org.springblade.desk.feign; import org.springblade.core.launch.constant.AppConstant; -import org.springblade.core.tool.api.R; +import org.springblade.core.mp.support.BladePage; import org.springblade.desk.entity.Notice; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; -import java.util.List; - /** * Notice Feign接口类 * @@ -41,10 +39,11 @@ public interface INoticeClient { /** * 获取notice列表 * - * @param number + * @param current + * @param size * @return */ @GetMapping(TOP) - R> top(@RequestParam("number") Integer number); + BladePage top(@RequestParam("current") Integer current, @RequestParam("size") Integer size); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/controller/NoticeController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/controller/NoticeController.java index 6b2283df..7e4b8a62 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/controller/NoticeController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/controller/NoticeController.java @@ -21,11 +21,14 @@ import io.swagger.annotations.*; import lombok.AllArgsConstructor; import org.springblade.common.cache.CacheNames; import org.springblade.core.boot.ctrl.BladeController; +import org.springblade.core.mp.support.BladePage; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; +import org.springblade.core.secure.annotation.PreAuth; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springblade.desk.entity.Notice; +import org.springblade.desk.feign.INoticeClient; import org.springblade.desk.service.INoticeService; import org.springblade.desk.vo.NoticeVO; import org.springblade.desk.wrapper.NoticeWrapper; @@ -47,9 +50,12 @@ public class NoticeController extends BladeController implements CacheNames { private INoticeService noticeService; + private INoticeClient noticeClient; + /** * 详情 */ + @PreAuth("hasPermission('desk:notice:detail')") @GetMapping("/detail") @ApiOperationSupport(order = 1) @ApiOperation(value = "详情", notes = "传入notice") @@ -129,4 +135,15 @@ public class NoticeController extends BladeController implements CacheNames { return R.status(temp); } + /** + * 远程调用分页接口 + */ + @GetMapping("/top") + @ApiOperationSupport(order = 8) + @ApiOperation(value = "分页远程调用", notes = "传入current,size") + public R> top(@ApiParam(value = "当前页") @RequestParam Integer current, @ApiParam(value = "每页显示条数") @RequestParam Integer size) { + BladePage page = noticeClient.top(current, size); + return R.data(page); + } + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/feign/NoticeClient.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/feign/NoticeClient.java index b3622012..74fb2890 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/feign/NoticeClient.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/feign/NoticeClient.java @@ -16,16 +16,17 @@ */ package org.springblade.desk.feign; +import com.baomidou.mybatisplus.core.metadata.IPage; import lombok.AllArgsConstructor; -import org.springblade.core.tool.api.R; -import org.springblade.desk.mapper.NoticeMapper; +import org.springblade.core.mp.support.BladePage; +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; import org.springblade.desk.entity.Notice; +import org.springblade.desk.service.INoticeService; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import springfox.documentation.annotations.ApiIgnore; -import java.util.List; - /** * Notice Feign * @@ -36,12 +37,16 @@ import java.util.List; @AllArgsConstructor public class NoticeClient implements INoticeClient { - NoticeMapper mapper; + private INoticeService service; @Override @GetMapping(TOP) - public R> top(Integer number) { - return R.data(mapper.topList(number)); + public BladePage top(Integer current, Integer size) { + Query query = new Query(); + query.setCurrent(current); + query.setSize(size); + IPage page = service.page(Condition.getPage(query)); + return BladePage.of(page); } }