发布于 

实习笔记-RPC

一、dj_admin/Controller层

在controller中写list方法,展示黑名单中所有用户:

1
2
3
4
5
6
7
@RequestMapping("list")
public Object list(String userId, String phone, String startTime, String endTime,
@RequestParam(defaultValue = "1") Integer page,
@RequestParam(defaultValue = "10") Integer size) {
PageResponseBean<ExtractAudit> pageResponseBean = extractBlacklistService.list(userId, phone, startTime, endTime, page, size);
return new ResponseResult<>(pageResponseBean);
}
  1. 传入userId、phone、startTime、endTime和分页参数page、size;
  2. 调用Service层extractBlacklistService中的list方法进行查询;
  3. 返回分页结果;

二、dj_admin/Service层

定义IExtractBlacklistService接口,以及list方法:

1
2
3
4
5
public interface IExtractBlacklistService {
void black(String id, String operator);

PageResponseBean<ExtractAudit> list(String userId, String phone, String startTime, String endTime, Integer page, Integer size);
}

实现这个接口,并在list中书写具体的业务逻辑:

1
2
3
4
5
6
7
8
9
10
11
12
@Override
public PageResponseBean<ExtractAudit> list(String userId, String phone, String startTime, String endTime, Integer page,
Integer size) {
/*
业务逻辑。。。。
*/
PageResponseBean<ExtractAudit> pageBean = vcService.pageBlackList(userId, startTime, endTime, page, size);
/*
业务逻辑。。。。
*/
return pageBean;
}
  1. 调用vcServic的pageBlackList方法处理分页;
  2. 后面就是具体的业务逻辑,处理分页返回结果;

三、dj_admin/RPC层

1
2
3
4
5
6
7
8
9
10
public PageResponseBean<ExtractAudit> pageBlackList(String userId, String startTime, String endTime, Integer page,
Integer size) {
/*
业务逻辑。。。。
*/
String res = HttpUtils.doGet(vcConfig.getExtractBlacklistPageUrl(), params, HttpConstant.DEFAULT_CHARSET, null, HttpConstant.DEFAULT_OUT_TIME, null);
/*
业务逻辑。。。。
*/
}

通过HttpUtils.doGet()方法发送请求到dj_vc项目处理;

四、dj_vc/Controller层

接收到请求,调用blackListService的pageInfo方法处理分页请求。

1
2
3
4
5
6
7
@RequestMapping("page")
public Object page(String user, Long startTime, Long endTime, String status,
@RequestParam(required = false, defaultValue = "1") int page,
@RequestParam(required = false, defaultValue = "10") int size) {
PageResponseBean<BlackList> pageResponseBean = blackListService.pageInfo(user, startTime, endTime, status, page, size);
return new ResponseResult<>(pageResponseBean);
}

五、dj_vc/Service层

调用持久层blackListDao的pageInfo方法。

1
2
3
4
public PageResponseBean<BlackList> pageInfo(String user, Long startTime, Long endTime, String status, int page, int size) {
IPage<BlackList> blackListIPage = blackListDao.pageInfo(user, startTime, endTime, status, page, size);
return new PageResponseBean<>(blackListIPage.getRecords(), (int) blackListIPage.getTotal(), page, size);
}

六、dj_vc/Dao层

利用MybatisPlus构建查询条件,查询MySQL数据库,并返回结果

1
2
3
4
5
6
public IPage<BlackList> pageInfo(String user, Long startTime, Long endTime, String status, int page, int size) {
/*
业务逻辑。。。。
*/
return blackListMapper.selectPage(new Page<>(page, size), wrapper);
}

七、返回结果

沿着上述路径返回结果给dj_admin,展示黑名单页面。


本站由 Cccccpg 使用 Stellar 主题创建。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。