订单列表

pull/1/head
feijinping 3 years ago
parent c798766efb
commit 20b2e5c4f9

@ -1,15 +1,20 @@
package com.cyl.h5.controller; package com.cyl.h5.controller;
import com.cyl.h5.pojo.vo.form.OrderSubmitForm; import com.cyl.h5.pojo.vo.form.OrderSubmitForm;
import com.cyl.h5.pojo.vo.query.OrderH5Query;
import com.cyl.oms.pojo.vo.OrderVO; import com.cyl.oms.pojo.vo.OrderVO;
import com.cyl.oms.service.OrderService; import com.cyl.oms.service.OrderService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController @RestController
@RequestMapping("/h5-order") @RequestMapping("/h5-order")
public class Order1Controller { public class Order1Controller {
@ -19,4 +24,8 @@ public class Order1Controller {
public ResponseEntity<OrderVO> submit(@RequestBody OrderSubmitForm form) { public ResponseEntity<OrderVO> submit(@RequestBody OrderSubmitForm form) {
return ResponseEntity.ok(orderService.submit(form)); return ResponseEntity.ok(orderService.submit(form));
} }
@PostMapping("orders")
public ResponseEntity<Page<OrderVO>> queryOrderPage(@RequestBody OrderH5Query query, Pageable pageReq) {
return ResponseEntity.ok(orderService.queryOrderPage(query, pageReq));
}
} }

@ -0,0 +1,8 @@
package com.cyl.h5.pojo.vo.query;
import lombok.Data;
@Data
public class OrderH5Query {
private Integer tab;
}

@ -2,17 +2,18 @@ package com.cyl.oms.service;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.*;
import java.util.Arrays;
import java.util.List;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil; import cn.hutool.crypto.SecureUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.cyl.h5.pojo.vo.form.OrderSubmitForm; import com.cyl.h5.pojo.vo.form.OrderSubmitForm;
import com.cyl.h5.pojo.vo.query.OrderH5Query;
import com.cyl.oms.convert.OrderConvert; import com.cyl.oms.convert.OrderConvert;
import com.cyl.oms.domain.OrderItem; import com.cyl.oms.domain.OrderItem;
import com.cyl.oms.mapper.OrderItemMapper; import com.cyl.oms.mapper.OrderItemMapper;
@ -30,6 +31,8 @@ import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.system.mapper.SysUserMapper; import com.ruoyi.system.mapper.SysUserMapper;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -294,4 +297,48 @@ public class OrderService {
vo.setItems(items); vo.setItems(items);
return vo; return vo;
} }
public Page<OrderVO> queryOrderPage(OrderH5Query query, Pageable pageReq) {
QueryWrapper<Order> qw = new QueryWrapper<>();
qw.eq("member_id", SecurityUtils.getUserId());
IPage<Order> page = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>();
page.setCurrent(pageReq.getPageNumber())
.setSize(pageReq.getPageSize());
if (CollUtil.isEmpty(pageReq.getSort())) {
pageReq.getSort().forEach(it -> {
qw.orderBy(true, it.getDirection().isAscending(), it.getProperty());
});
}
Integer tab = query.getTab();
if (tab != null) {
qw.eq("delete_status", 0);
if (tab == 1) {
qw.eq("status", 0);
} else if (tab == 2) {
qw.eq("status", 1);
qw.eq("aftersale_status", 1);
} else if (tab == 3) {
qw.eq("status", 2);
qw.eq("confirm_status", 0);
} else if (tab == 4) {
qw.eq("status", 2);
qw.eq("confirm_status", 1);
}
}
orderMapper.selectPage(page, qw);
List<Order> orders = page.getRecords();
long total = page.getPages();
if (CollUtil.isEmpty(orders)) {
return new PageImpl<>(Collections.emptyList(), pageReq, total);
}
LambdaQueryWrapper<OrderItem> qw1 = new LambdaQueryWrapper<>();
qw1.in(OrderItem::getOrderId, orders.stream().map(Order::getId).collect(Collectors.toList()));
Map<Long, List<OrderItem>> oid2items = orderItemMapper.selectList(qw1)
.stream().collect(Collectors.groupingBy(OrderItem::getOrderId));
List<OrderVO> res = orderConvert.dos2vos(orders);
res.forEach(it -> {
it.setItems(oid2items.get(it.getId()));
});
return new PageImpl<>(res, pageReq, total);
}
} }

Loading…
Cancel
Save