认清现实,放弃幻想,准备斗争

需求

一、后端接口实现

1、创建查询对象

UserInfoQuery

@Data
@ApiModel(description="会员搜索对象")
public class UserInfoQuery {@ApiModelProperty(value = "手机号")private String mobile;@ApiModelProperty(value = "状态")private Integer status;@ApiModelProperty(value = "1:出借人 2:借款人")private Integer userType;
}

2、Service

接口:UserInfoService

IPage<UserInfo> listPage(Page<UserInfo> pageParam, UserInfoQuery userInfoQuery);

实现:UserInfoServiceImpl 

@Override
public IPage<UserInfo> listPage(Page<UserInfo> pageParam, UserInfoQuery userInfoQuery) {String mobile = userInfoQuery.getMobile();Integer status = userInfoQuery.getStatus();Integer userType = userInfoQuery.getUserType();QueryWrapper<UserInfo> userInfoQueryWrapper = new QueryWrapper<>();if(userInfoQuery == null){return baseMapper.selectPage(pageParam, null);}userInfoQueryWrapper.eq(StringUtils.isNotBlank(mobile), "mobile", mobile).eq(status != null, "status", userInfoQuery.getStatus()).eq(userType != null, "user_type", userType);return baseMapper.selectPage(pageParam, userInfoQueryWrapper);
}

注意点

这里由于查询信息不一定会传这个参数过来需要,也可能传过来的对象的属性不全,所以这里需要对传递过来的对象属性进行一个判断操作再封装查询

3、Controller

AdminUserInfoController

@Api(tags = "会员管理")
@RestController
@RequestMapping("/admin/core/userInfo")
@Slf4j
@CrossOrigin
public class AdminUserInfoController {@Resourceprivate UserInfoService userInfoService;@ApiOperation("获取会员分页列表")@GetMapping("/list/{page}/{limit}")public R listPage(@ApiParam(value = "当前页码", required = true)@PathVariable Long page,@ApiParam(value = "每页记录数", required = true)@PathVariable Long limit,@ApiParam(value = "查询对象", required = false)UserInfoQuery userInfoQuery) {Page<UserInfo> pageParam = new Page<>(page, limit);IPage<UserInfo> pageModel = userInfoService.listPage(pageParam, userInfoQuery);return R.ok().data("pageModel", pageModel);}
}

注意点:

 在restful风格中查询对应是get请求,但这里的话 UserInfoQuery userInfoQuery是作为一个对象,不能把这个对象封装在respondBody中,这个时候前端要进行一定处理

4、LocalDateTime的json格式化问题

service-base中添加json格式化配置文件

@Configuration
public class LocalDateTimeSerializerConfig {@Value("${spring.jackson.date-format:yyyy-MM-dd HH:mm:ss}")private String pattern;public LocalDateTimeSerializer localDateTimeDeserializer() {return new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(pattern));}@Beanpublic Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {return builder -> builder.serializerByType(LocalDateTime.class, localDateTimeDeserializer());}
}

上面的方案全局生效,当全局的格式化方式无法满足我们需求时,我们对日期格式要做特殊的处理:在类的属性上添加注解 

@JsonFormat(pattern = "yyyy-MM-dd")
@ApiModelProperty(value = "创建时间")
private LocalDateTime createTime;

 

微服务项目:尚融宝(30)(后端搭建:会员列表搭建(1))相关推荐

  1. 尚融宝30(终)-资金记录和个人中心展示

    目录 一.资金记录 (一)后端 (二)前端 二.个人中心 (一)后端 (二)前端 三.整合rabbitmq (一)linux下rabbitmq 的安装 (二)整合rabbitmq发送短信 1.MQ服务 ...

  2. 【Spring Cloud】新闻头条微服务项目:自媒体前后端搭建素材管理(含优化)

    个人简介:  >

  3. 微服务项目:尚融宝(1)(项目介绍)

    从今天开始做一个全栈项目,巩固学完的springcloud,复习之前学过的ssm mp redis MQ等知识点,拿下我的第二个项目 .技术栈中未掌握部署,计划到项目后期部署的时候,再自学一波 放弃幻 ...

  4. 微服务项目:尚融宝(53)(核心业务流程:投标(4))

    认清现实,放弃幻想,准备斗争 前端整合 投资 pages/lend/_id.vue //投资commitInvest() {//校验用户是否登录let userInfo = cookie.get('u ...

  5. 微服务项目:尚融宝(59)(核心业务流程:提现和还款(2))

    认清现实,放弃幻想,准备斗争 需求 放款成功后,会生成借款人的还款计划与出借人的回款计划,然后借款人按照还款计划日期操作还款即可. 参考<汇付宝商户账户技术文档>3.14还款扣款,处理业务 ...

  6. 【金融项目】尚融宝项目(十五)

    29.提现和还款 29.1.提现 29.1.1.需求 放款成功后,借款人可以申请提现. 参考<汇付宝商户账户技术文档>3.15用户申请提现 29.1.2.前端整合 pages/user/w ...

  7. 【金融项目】尚融宝项目(十)

    19.申请借款额度 19.1.需求介绍 19.1.1.借款人申请额度 1.需求描述 平台管理员根据借款人个人信息设置积分,通过积分规则借款人可以获取额度. 2.相关数据库表 19.1.2.具体步骤 s ...

  8. 【金融项目】尚融宝项目(四)

    6.Alibaba EasyExcel 6.1.EasyExcel简介 6.1.1.Excel导入导出的应用场景 6.1.1.1.数据导入 减轻录入工作量 6.1.1.2.数据导出 统计信息归档 6. ...

  9. 【金融项目】尚融宝项目(三)

    5.管理平台前端搭建 5.1.搭建管理平台前端程序 5.1.1.vue-element-admin vue-element-admin是基于element-ui 的一套后台管理系统集成方案. GitH ...

  10. 【金融项目】尚融宝项目(十四)

    27.放款 27.1.需求介绍 27.1.1.平台放款 1.需求描述 标的募资时间到,平台会操作放款或撤标,如果达到放款条件则操作放款 说明:撤标过程与放款过程一致,处理业务相对简单,只是将出借金额返 ...

最新文章

  1. 新能源汽车电驱系统行业深度报告
  2. linux平台的实验描述,基于LINUX的操作系统实验平台的设计与实现
  3. centos amd双显卡_讯景RX590 AMD 50周年纪念版显卡评测
  4. 淡谈泛型约束T(转)
  5. $(function() {})
  6. Spring MVC面试题
  7. linux基础知识——进程相关概念
  8. 学会用Go解析复杂JSON的思路
  9. 小米高管:已投大量精力研发手机AI芯片,造不造还没定
  10. php检测是目录还是文件,php检测文件目录大小类
  11. 学前教育试题库及答案_学前教育学考试试题及答案
  12. IIS 的安装for xp3
  13. css实现宽高比固定
  14. 字母易位词(anagram)
  15. 连接到系统上的设备没有发挥作用解决方案
  16. IDEA小游戏数字炸弹
  17. SPC是什么,有什么用
  18. (纪中)2431. 移动奶牛(herding)
  19. html5制作八卦图,使用HTML+CSS画太极八卦图
  20. DB2使用db2advis工具调优SQL

热门文章

  1. 三相电源U,V,W代表什么线 三相无刷电机低压检测仪
  2. 智融科技冲刺科创板上市:拟募资4.5亿元,产品单价和毛利率高
  3. JUnit测试命名规范
  4. 算法实战应用案例精讲-【自动化办公】使用Python解析web页面(python代码实战)
  5. 基于火鹰优化算法的函数寻优算法
  6. H3C PPPOE实验
  7. 名画85 江参《千里江山图》
  8. 【JCVI-MCScan】安装与使用
  9. android 仿钉钉日历,仿钉钉左右滑动日历
  10. RestFul是什么?怎样理解RestFul?