Commit c3323e2e by wanglei

条件分页查询

parent e64b2a0b
...@@ -4,9 +4,11 @@ import com.baomidou.mybatisplus.annotation.FieldFill; ...@@ -4,9 +4,11 @@ import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.ruoyi.common.core.validate.QueryGroup;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
...@@ -63,4 +65,14 @@ public class BaseEntity implements Serializable { ...@@ -63,4 +65,14 @@ public class BaseEntity implements Serializable {
@TableField(exist = false) @TableField(exist = false)
private Map<String, Object> params = new HashMap<>(); 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; 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.domain.R;
import com.ruoyi.common.core.validate.AddGroup; import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup; 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.bo.OrderBo;
import com.yongqi.xinrenli.domain.vo.OrderVo; import com.yongqi.xinrenli.domain.vo.OrderVo;
import com.yongqi.xinrenli.service.IOrderService; import com.yongqi.xinrenli.service.IOrderService;
...@@ -12,6 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -12,6 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
/** /**
...@@ -32,14 +35,15 @@ public class OrderController { ...@@ -32,14 +35,15 @@ public class OrderController {
/** /**
* 用户发布需求订单 * 用户发布需求订单
*
* @param orderBo * @param orderBo
* @return * @return
*/ */
@ResponseBody @ResponseBody
@PostMapping("/publishOrder") @PostMapping("/publishOrder")
public R publishOrder(@RequestBody @Validated(AddGroup.class) OrderBo orderBo){ public R publishOrder(@RequestBody @Validated(AddGroup.class) OrderBo orderBo) {
log.info("wanglei-orderBo:{}",orderBo); log.info("wanglei-orderBo:{}", orderBo);
if(iOrderService.isAllEmpty(orderBo)){ if (iOrderService.isAllEmpty(orderBo)) {
return R.fail("图片,视频,语音必传一项"); return R.fail("图片,视频,语音必传一项");
} }
boolean flag = iOrderService.addOrder(orderBo); boolean flag = iOrderService.addOrder(orderBo);
...@@ -51,31 +55,49 @@ public class OrderController { ...@@ -51,31 +55,49 @@ public class OrderController {
/** /**
* 查看订单详情 根据id查询 * 查看订单详情 根据id查询
*
* @param id * @param id
* @return * @return
*/ */
@ResponseBody @ResponseBody
@GetMapping("/getOrderDetailById/{id}") @GetMapping("/getOrderDetailById/{id}")
public R<OrderVo> getOrderDetailById(@PathVariable Long id){ public R<OrderVo> getOrderDetailById(@PathVariable Long id) {
if(id==null){ if (id == null) {
return R.ok("查询失败,id为空"); return R.ok("查询失败,id为空");
} }
OrderVo orderVo = iOrderService.getOrderById(id); OrderVo orderVo = iOrderService.getOrderById(id);
if(orderVo==null){ if (orderVo == null) {
return R.ok("查询失败,请稍后重试"); return R.ok("查询失败,请稍后重试");
} }
return R.ok("查询成功",orderVo); 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);
} }
/** /**
* 修改订单 * 修改订单
*
* @param orderBo * @param orderBo
* @return * @return
*/ */
@ResponseBody @ResponseBody
@PutMapping("/updateOrder") @PutMapping("/updateOrder")
public R updateOrder(@RequestBody @Validated(EditGroup.class) OrderBo orderBo){ public R updateOrder(@RequestBody @Validated(EditGroup.class) OrderBo orderBo) {
if(iOrderService.isAllEmpty(orderBo)){ if (iOrderService.isAllEmpty(orderBo)) {
return R.fail("图片,视频,语音必传一项"); return R.fail("图片,视频,语音必传一项");
} }
boolean flag = iOrderService.updateOrder(orderBo); boolean flag = iOrderService.updateOrder(orderBo);
...@@ -87,17 +109,18 @@ public class OrderController { ...@@ -87,17 +109,18 @@ public class OrderController {
/** /**
* 取消订单 * 取消订单
*
* @param id * @param id
* @return * @return
*/ */
@ResponseBody @ResponseBody
@DeleteMapping("/cancelOrderById/{id}") @DeleteMapping("/cancelOrderById/{id}")
public R cancelOrderById(@PathVariable Long id){ public R cancelOrderById(@PathVariable Long id) {
if(id==null){ if (id == null) {
return R.ok("取消失败,id为空"); return R.ok("取消失败,id为空");
} }
boolean flag = iOrderService.cancelOrderById(id); boolean flag = iOrderService.cancelOrderById(id);
if(!flag){ if (!flag) {
return R.ok("取消订单失败,请稍后重试"); return R.ok("取消订单失败,请稍后重试");
} }
return R.ok("取消订单成功"); return R.ok("取消订单成功");
...@@ -105,11 +128,12 @@ public class OrderController { ...@@ -105,11 +128,12 @@ public class OrderController {
/** /**
* 测试连通用 * 测试连通用
*
* @return * @return
*/ */
@ResponseBody @ResponseBody
@GetMapping("/test") @GetMapping("/test")
public String test(){ public String test() {
return "test_success"; return "test_success";
} }
} }
package com.yongqi.xinrenli.service; package com.yongqi.xinrenli.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yongqi.xinrenli.domain.Order; import com.yongqi.xinrenli.domain.Order;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.yongqi.xinrenli.domain.bo.OrderBo; import com.yongqi.xinrenli.domain.bo.OrderBo;
import com.yongqi.xinrenli.domain.vo.OrderVo; import com.yongqi.xinrenli.domain.vo.OrderVo;
import java.util.List;
/** /**
* <p> * <p>
* 订单表 服务类 * 订单表 服务类
...@@ -50,5 +53,10 @@ public interface IOrderService extends IService<Order> { ...@@ -50,5 +53,10 @@ public interface IOrderService extends IService<Order> {
*/ */
boolean isAllEmpty(OrderBo order); boolean isAllEmpty(OrderBo order);
/**
* 条件分页查询
* @param orderBo
* @return
*/
Page<OrderVo> getOrderByPage(OrderBo orderBo);
} }
...@@ -3,6 +3,9 @@ package com.yongqi.xinrenli.service.impl; ...@@ -3,6 +3,9 @@ package com.yongqi.xinrenli.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.json.JSON; import cn.hutool.json.JSON;
import cn.hutool.json.JSONUtil; 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.fasterxml.jackson.annotation.JsonFormat;
import com.yongqi.xinrenli.domain.Order; import com.yongqi.xinrenli.domain.Order;
import com.yongqi.xinrenli.domain.bo.OrderBo; import com.yongqi.xinrenli.domain.bo.OrderBo;
...@@ -11,9 +14,11 @@ import com.yongqi.xinrenli.mapper.OrderMapper; ...@@ -11,9 +14,11 @@ import com.yongqi.xinrenli.mapper.OrderMapper;
import com.yongqi.xinrenli.service.IOrderService; import com.yongqi.xinrenli.service.IOrderService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.aspectj.weaver.ast.Or;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
...@@ -30,7 +35,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements ...@@ -30,7 +35,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
@Override @Override
public boolean addOrder(OrderBo orderBo) { public boolean addOrder(OrderBo orderBo) {
Order order = BeanUtil.toBean(orderBo,Order.class); Order order = BeanUtil.toBean(orderBo, Order.class);
//图片地址转为json数据存储 //图片地址转为json数据存储
order.setImageSrc(JSONUtil.toJsonStr(orderBo.getImageSrc())); order.setImageSrc(JSONUtil.toJsonStr(orderBo.getImageSrc()));
return this.save(order); return this.save(order);
...@@ -43,11 +48,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements ...@@ -43,11 +48,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
@Override @Override
public boolean updateOrder(OrderBo orderBo) { public boolean updateOrder(OrderBo orderBo) {
Order order = BeanUtil.toBean(orderBo,Order.class); Order order = BeanUtil.toBean(orderBo, Order.class);
//图片地址转为json数据存储 //图片地址转为json数据存储
order.setImageSrc(JSONUtil.toJsonStr(orderBo.getImageSrc())); order.setImageSrc(JSONUtil.toJsonStr(orderBo.getImageSrc()));
//测试 //测试
log.info("wanglei-order:{}",order); log.info("wanglei-order:{}", order);
return this.updateById(order); return this.updateById(order);
} }
...@@ -55,20 +60,45 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements ...@@ -55,20 +60,45 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
public OrderVo getOrderById(Long id) { public OrderVo getOrderById(Long id) {
Order order = this.getById(id); Order order = this.getById(id);
//若不存在则返回null //若不存在则返回null
if (order==null){ if (order == null) {
return null; return null;
} }
//将order转为vo //将order转为vo
OrderVo orderVo = BeanUtil.toBean(order,OrderVo.class); OrderVo orderVo = BeanUtil.toBean(order, OrderVo.class);
//vo中将Json转为列表 //vo中将Json转为列表
orderVo.setImageSrc(JSONUtil.toList(order.getImageSrc(), String.class)); orderVo.setImageSrc(JSONUtil.toList(order.getImageSrc(), String.class));
return orderVo; return orderVo;
} }
@Override @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) { public boolean isAllEmpty(OrderBo order) {
int flag = 0; 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++; flag++;
} }
if (order.getVideoSrc() != null && !"".equals(order.getVideoSrc())) { 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