Commit c3323e2e by wanglei

条件分页查询

parent e64b2a0b
......@@ -4,9 +4,11 @@ import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.ruoyi.common.core.validate.QueryGroup;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
......@@ -63,4 +65,14 @@ public class BaseEntity implements Serializable {
@TableField(exist = false)
private Map<String, Object> params = new HashMap<>();
@Schema(name = "当前页数")
@NotNull(message = "当前页数不能为空", groups = {QueryGroup.class})
@TableField(exist = false)
private Integer currentPage;
@Schema(name = "页面大小")
@NotNull(message = "页面大小不能为空", groups = {QueryGroup.class})
@TableField(exist = false)
private Integer pageSize;
}
package com.yongqi.xinrenli.admin.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.core.validate.QueryGroup;
import com.yongqi.xinrenli.domain.bo.OrderBo;
import com.yongqi.xinrenli.domain.vo.OrderVo;
import com.yongqi.xinrenli.service.IOrderService;
......@@ -12,6 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
......@@ -32,14 +35,15 @@ public class OrderController {
/**
* 用户发布需求订单
*
* @param orderBo
* @return
*/
@ResponseBody
@PostMapping("/publishOrder")
public R publishOrder(@RequestBody @Validated(AddGroup.class) OrderBo orderBo){
log.info("wanglei-orderBo:{}",orderBo);
if(iOrderService.isAllEmpty(orderBo)){
public R publishOrder(@RequestBody @Validated(AddGroup.class) OrderBo orderBo) {
log.info("wanglei-orderBo:{}", orderBo);
if (iOrderService.isAllEmpty(orderBo)) {
return R.fail("图片,视频,语音必传一项");
}
boolean flag = iOrderService.addOrder(orderBo);
......@@ -51,31 +55,49 @@ public class OrderController {
/**
* 查看订单详情 根据id查询
*
* @param id
* @return
*/
@ResponseBody
@GetMapping("/getOrderDetailById/{id}")
public R<OrderVo> getOrderDetailById(@PathVariable Long id){
if(id==null){
public R<OrderVo> getOrderDetailById(@PathVariable Long id) {
if (id == null) {
return R.ok("查询失败,id为空");
}
OrderVo orderVo = iOrderService.getOrderById(id);
if(orderVo==null){
if (orderVo == null) {
return R.ok("查询失败,请稍后重试");
}
return R.ok("查询成功", orderVo);
}
/**
* 条件分页查询
*
* @param orderBo
* @return
*/
@ResponseBody
@GetMapping("/getOrderByPage")
public R<Page> getOrderByPage(@RequestBody @Validated(QueryGroup.class) OrderBo orderBo) {
Page<OrderVo> orderVo = iOrderService.getOrderByPage(orderBo);
if (orderVo == null) {
return R.ok("查询失败,请稍后重试");
}
return R.ok("查询成功",orderVo);
return R.ok("查询成功", orderVo);
}
/**
* 修改订单
*
* @param orderBo
* @return
*/
@ResponseBody
@PutMapping("/updateOrder")
public R updateOrder(@RequestBody @Validated(EditGroup.class) OrderBo orderBo){
if(iOrderService.isAllEmpty(orderBo)){
public R updateOrder(@RequestBody @Validated(EditGroup.class) OrderBo orderBo) {
if (iOrderService.isAllEmpty(orderBo)) {
return R.fail("图片,视频,语音必传一项");
}
boolean flag = iOrderService.updateOrder(orderBo);
......@@ -87,17 +109,18 @@ public class OrderController {
/**
* 取消订单
*
* @param id
* @return
*/
@ResponseBody
@DeleteMapping("/cancelOrderById/{id}")
public R cancelOrderById(@PathVariable Long id){
if(id==null){
public R cancelOrderById(@PathVariable Long id) {
if (id == null) {
return R.ok("取消失败,id为空");
}
boolean flag = iOrderService.cancelOrderById(id);
if(!flag){
if (!flag) {
return R.ok("取消订单失败,请稍后重试");
}
return R.ok("取消订单成功");
......@@ -105,11 +128,12 @@ public class OrderController {
/**
* 测试连通用
*
* @return
*/
@ResponseBody
@GetMapping("/test")
public String test(){
public String test() {
return "test_success";
}
}
package com.yongqi.xinrenli.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yongqi.xinrenli.domain.Order;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yongqi.xinrenli.domain.bo.OrderBo;
import com.yongqi.xinrenli.domain.vo.OrderVo;
import java.util.List;
/**
* <p>
* 订单表 服务类
......@@ -50,5 +53,10 @@ public interface IOrderService extends IService<Order> {
*/
boolean isAllEmpty(OrderBo order);
/**
* 条件分页查询
* @param orderBo
* @return
*/
Page<OrderVo> getOrderByPage(OrderBo orderBo);
}
......@@ -3,6 +3,9 @@ package com.yongqi.xinrenli.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.json.JSON;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yongqi.xinrenli.domain.Order;
import com.yongqi.xinrenli.domain.bo.OrderBo;
......@@ -11,9 +14,11 @@ import com.yongqi.xinrenli.mapper.OrderMapper;
import com.yongqi.xinrenli.service.IOrderService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.aspectj.weaver.ast.Or;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
......@@ -30,7 +35,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
@Override
public boolean addOrder(OrderBo orderBo) {
Order order = BeanUtil.toBean(orderBo,Order.class);
Order order = BeanUtil.toBean(orderBo, Order.class);
//图片地址转为json数据存储
order.setImageSrc(JSONUtil.toJsonStr(orderBo.getImageSrc()));
return this.save(order);
......@@ -43,11 +48,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
@Override
public boolean updateOrder(OrderBo orderBo) {
Order order = BeanUtil.toBean(orderBo,Order.class);
Order order = BeanUtil.toBean(orderBo, Order.class);
//图片地址转为json数据存储
order.setImageSrc(JSONUtil.toJsonStr(orderBo.getImageSrc()));
//测试
log.info("wanglei-order:{}",order);
log.info("wanglei-order:{}", order);
return this.updateById(order);
}
......@@ -55,20 +60,45 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
public OrderVo getOrderById(Long id) {
Order order = this.getById(id);
//若不存在则返回null
if (order==null){
if (order == null) {
return null;
}
//将order转为vo
OrderVo orderVo = BeanUtil.toBean(order,OrderVo.class);
OrderVo orderVo = BeanUtil.toBean(order, OrderVo.class);
//vo中将Json转为列表
orderVo.setImageSrc(JSONUtil.toList(order.getImageSrc(), String.class));
return orderVo;
}
@Override
public Page<OrderVo> getOrderByPage(OrderBo orderBo) {
Page<Order> orderPage = new Page<>(orderBo.getCurrentPage(), orderBo.getPageSize());
Page<OrderVo> voPage = new Page<>(orderBo.getCurrentPage(), orderBo.getPageSize());
//创建查询条件
QueryWrapper<Order> wrapper = new QueryWrapper<>();
wrapper.lambda().like(null != orderBo.getLinkman() && !"".equals(orderBo.getLinkman()), Order::getLinkman, orderBo.getLinkman())
.like(null != orderBo.getPhone() && !"".equals(orderBo.getPhone()), Order::getPhone, orderBo.getPhone())
.eq(null != orderBo.getRepairTime(), Order::getRepairTime, orderBo.getRepairTime())
.eq(null != orderBo.getStatus(), Order::getStatus, orderBo.getStatus());
this.page(orderPage, wrapper);
List<Order> orderList = orderPage.getRecords();
List<OrderVo> voList = new ArrayList<>();
//遍历将图片地址转为列表 同时添加到voList
for (Order order : orderList) {
OrderVo orderVo = BeanUtil.toBean(order, OrderVo.class);
orderVo.setImageSrc(JSONUtil.toList(order.getImageSrc(), String.class));
voList.add(orderVo);
}
//copy属性
BeanUtil.copyProperties(orderPage, voPage);
voPage.setRecords(voList);
return voPage;
}
@Override
public boolean isAllEmpty(OrderBo order) {
int flag = 0;
if (order.getImageSrc() != null && !"".equals(order.getImageSrc()) && order.getImageSrc().size()!=0) {
if (order.getImageSrc() != null && !"".equals(order.getImageSrc()) && order.getImageSrc().size() != 0) {
flag++;
}
if (order.getVideoSrc() != null && !"".equals(order.getVideoSrc())) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment