|
@@ -24,14 +24,12 @@ import com.qs.mp.utils.ExcelUtil;
|
|
|
import com.qs.mp.web.controller.common.BaseApiController;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
-
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Comparator;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import ma.glasnost.orika.MapperFacade;
|
|
|
-
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
@@ -39,7 +37,6 @@ import org.springframework.web.bind.annotation.PostMapping;
|
|
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
-import java.util.stream.Collectors;
|
|
|
|
|
|
@RestController
|
|
|
@RequestMapping("/api/v1/mp/admin/deliver/order")
|
|
@@ -47,203 +44,222 @@ import java.util.stream.Collectors;
|
|
|
@AllArgsConstructor
|
|
|
public class UserDeliverOrderMgrController extends BaseApiController {
|
|
|
|
|
|
- @Autowired
|
|
|
- private IUserDeliverOrderService userDeliverOrderService;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private IUserDeliverOrderItemService userDeliverOrderItemService;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private IUserPrizeStorageService userPrizeStorageService;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private IUserAddrService userAddrService;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private IWalletService walletService;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private MapperFacade mapperFacade;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private RedisCache redisCache;
|
|
|
-
|
|
|
- /**
|
|
|
- * 用户提货订单列表
|
|
|
- */
|
|
|
- @PostMapping("/list")
|
|
|
- @ApiOperation(value = "用户提货订单列表", notes = "获取用户提货订单列表")
|
|
|
- @PreAuthorize("@ss.hasPermi('order:deliver:list')")
|
|
|
- public TableDataInfo list(@RequestBody UserDeliverOrderQueryParam queryParam) {
|
|
|
- startPage();
|
|
|
- QueryWrapper<UserDeliverOrder> queryWrapper = new QueryWrapper<UserDeliverOrder>();
|
|
|
- queryWrapper.eq(null != queryParam && StringUtils.isNotBlank(queryParam.getOrderId()), "t1.order_id" ,queryParam.getOrderId());
|
|
|
- queryWrapper.eq(null != queryParam && null != queryParam.getStatus(), "t1.`status`" ,queryParam.getStatus());
|
|
|
- queryWrapper.ge(null != queryParam && null != queryParam.getStartTime(), "t1.create_time", queryParam.getStartTime());
|
|
|
- queryWrapper.le(null != queryParam && null != queryParam.getEndTime(), "t1.create_time", queryParam.getEndTime());
|
|
|
- queryWrapper.like(null != queryParam && StringUtils.isNotBlank(queryParam.getNickName()), "t2.nick_name", queryParam.getNickName());
|
|
|
- queryWrapper.like(null != queryParam && StringUtils.isNotBlank(queryParam.getTitle()), "t3.title", queryParam.getTitle());
|
|
|
- queryWrapper.orderByDesc("t1.order_id");
|
|
|
- List<UserDeliverOrderVO> userDeliverOrderVOList = userDeliverOrderService.selectUserDeliverOrderVoList(queryWrapper);
|
|
|
- for (UserDeliverOrderVO userDeliverOrderVO : userDeliverOrderVOList) {
|
|
|
- userDeliverOrderVO.setItems(userDeliverOrderItemService.list(new LambdaQueryWrapper<UserDeliverOrderItem>()
|
|
|
- .eq(UserDeliverOrderItem::getOrderId, userDeliverOrderVO.getOrderId())));
|
|
|
- }
|
|
|
- TableDataInfo rspData = getDataTable(userDeliverOrderVOList);
|
|
|
- return rspData;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 订单详情
|
|
|
- */
|
|
|
- @PostMapping("/detail")
|
|
|
- @ApiOperation(value = "订单详情", notes = "在订单列表页面查看详情")
|
|
|
- @PreAuthorize("@ss.hasPermi('order:deliver:query')")
|
|
|
- public AjaxResult query(@RequestBody UserDeliverOrder order) {
|
|
|
- if (null == order || StringUtils.isBlank(order.getOrderId())) {
|
|
|
- return error(ErrorCodeEnum.ERROR_CODE_1001);
|
|
|
- }
|
|
|
- LambdaQueryWrapper<UserDeliverOrder> queryWrapper = new LambdaQueryWrapper<UserDeliverOrder>();
|
|
|
- queryWrapper.eq(UserDeliverOrder::getOrderId, order.getOrderId());
|
|
|
- UserDeliverOrder userDeliverOrder = userDeliverOrderService.getOne(queryWrapper);
|
|
|
- UserDeliverOrderVO userDeliverOrderVO = mapperFacade.map(userDeliverOrder, UserDeliverOrderVO.class);
|
|
|
-
|
|
|
- List<UserDeliverOrderItem> orderItems = userDeliverOrderItemService.list(new LambdaQueryWrapper<UserDeliverOrderItem>()
|
|
|
- .eq(UserDeliverOrderItem::getOrderId, userDeliverOrderVO.getOrderId()));
|
|
|
-
|
|
|
- userDeliverOrderVO.setItems(orderItems);
|
|
|
- // 获取物流详情
|
|
|
- userDeliverOrderVO.setDeliverList(getDeliverItemList(order.getOrderId()));
|
|
|
- return AjaxResult.success(userDeliverOrderVO);
|
|
|
- }
|
|
|
-
|
|
|
- // 获取用户提货订单物流封装列表
|
|
|
- private List<OrderDeliverItemVO> getDeliverItemList(String orderId){
|
|
|
- List<OrderDeliverItemVO> itemList = new ArrayList<OrderDeliverItemVO>();
|
|
|
- // 1.查询物流公司信息
|
|
|
- itemList = userDeliverOrderItemService.selectOrderDeliverItemVOList(orderId);
|
|
|
- // 2.查询物流包裹内的商品信息
|
|
|
- if(null != itemList && itemList.size() >0 ) {
|
|
|
- for(OrderDeliverItemVO itemVO : itemList) {
|
|
|
- if(null != itemVO && StringUtils.isNotBlank(itemVO.getDeliveryFlowId())) {
|
|
|
- List<UserDeliverOrderItem> items = userDeliverOrderItemService.list(new LambdaQueryWrapper<UserDeliverOrderItem>()
|
|
|
- .eq(UserDeliverOrderItem::getOrderId, orderId).eq(UserDeliverOrderItem::getDeliveryFlowId, itemVO.getDeliveryFlowId()));
|
|
|
- itemVO.setItems(items);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- return itemList;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
- * 订单发货
|
|
|
- */
|
|
|
- @Log(title = "用户提货订单发货", businessType = BusinessType.UPDATE)
|
|
|
- @PostMapping("/ship")
|
|
|
- @ApiOperation(value = "订单发货", notes = "在订单发货页面提交")
|
|
|
- @PreAuthorize("@ss.hasPermi('order:deliver:ship')")
|
|
|
- public AjaxResult ship(@RequestBody UserDeliverOrderShipParam shipParam) {
|
|
|
- if(null == shipParam || StringUtils.isBlank(shipParam.getOrderId())) {
|
|
|
- return error(ErrorCodeEnum.ERROR_CODE_1001);
|
|
|
- }
|
|
|
- List<UserDeliverOrderItem> itemList = new ArrayList<UserDeliverOrderItem>();
|
|
|
- if(null != shipParam && null != shipParam.getItemIds()
|
|
|
- && shipParam.getItemIds().size() > 0) {
|
|
|
- Date deliveryTime = new Date();
|
|
|
- for(String itemId : shipParam.getItemIds() ) {
|
|
|
- if(StringUtils.isNotBlank(itemId)) {
|
|
|
- UserDeliverOrderItem item = new UserDeliverOrderItem();
|
|
|
- item.setItemId(itemId);
|
|
|
- item.setDeliveryId(shipParam.getDeliveryId());
|
|
|
- item.setDeliveryFlowId(shipParam.getDeliveryFlowId());
|
|
|
- item.setDeliveryTime(deliveryTime);
|
|
|
- itemList.add(item);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- if(null != itemList && itemList.size() > 0) {
|
|
|
- boolean rtn = userDeliverOrderService.userDeliverOrderShip(shipParam.getOrderId(), itemList);
|
|
|
- return rtn ? AjaxResult.success() : AjaxResult.error("发货失败");
|
|
|
- }
|
|
|
- return AjaxResult.error("发货失败");
|
|
|
- }
|
|
|
-
|
|
|
- @Log(title = "提货订单导出", businessType = BusinessType.EXPORT)
|
|
|
- @PostMapping("/export")
|
|
|
- @PreAuthorize("@ss.hasPermi('order:deliver:export')")
|
|
|
- public AjaxResult export(@RequestBody UserDeliverOrderQueryParam queryParam) {
|
|
|
-
|
|
|
- List<DeliverOrderExcel> excelList = new ArrayList<DeliverOrderExcel>();
|
|
|
- List<UserDeliverOrderVO> listAll = new ArrayList<UserDeliverOrderVO>();
|
|
|
- // 首先查询要导出的数据总数
|
|
|
- QueryWrapper<UserDeliverOrder> queryWrapper = new QueryWrapper<UserDeliverOrder>();
|
|
|
- queryWrapper.eq(null != queryParam && StringUtils.isNotBlank(queryParam.getOrderId()), "t1.order_id" ,queryParam.getOrderId());
|
|
|
- queryWrapper.eq(null != queryParam && null != queryParam.getStatus(), "t1.`status`" ,queryParam.getStatus());
|
|
|
- queryWrapper.ge(null != queryParam && null != queryParam.getStartTime(), "t1.create_time", queryParam.getStartTime());
|
|
|
- queryWrapper.le(null != queryParam && null != queryParam.getEndTime(), "t1.create_time", queryParam.getEndTime());
|
|
|
- queryWrapper.like(null != queryParam && StringUtils.isNotBlank(queryParam.getNickName()), "t2.nick_name", queryParam.getNickName());
|
|
|
- queryWrapper.like(null != queryParam && StringUtils.isNotBlank(queryParam.getTitle()), "t3.title", queryParam.getTitle());
|
|
|
- queryWrapper.orderByDesc("t1.order_id");
|
|
|
- int totalSize = userDeliverOrderService.selectUserDeliverOrderCount(queryWrapper);
|
|
|
- if (totalSize == 0) {
|
|
|
- return AjaxResult.error("没有符合条件的用户提货订单");
|
|
|
- }
|
|
|
- int pageSize = 2000;
|
|
|
- if (totalSize > pageSize) {
|
|
|
- int totalPage = totalSize % pageSize == 0 ? totalSize / pageSize : totalSize / pageSize + 1;
|
|
|
- for (int i = 0; i < totalPage; i++) {
|
|
|
- queryWrapper.last("limit " + (i * pageSize) + ", " + pageSize);
|
|
|
- List<UserDeliverOrderVO> userDeliverOrderVOList = userDeliverOrderService.selectUserDeliverOrderVoList(queryWrapper);
|
|
|
- for (UserDeliverOrderVO userDeliverOrderVO : userDeliverOrderVOList) {
|
|
|
- userDeliverOrderVO.setItems(userDeliverOrderItemService.list(new LambdaQueryWrapper<UserDeliverOrderItem>()
|
|
|
- .eq(UserDeliverOrderItem::getOrderId, userDeliverOrderVO.getOrderId())));
|
|
|
- }
|
|
|
- if (null != userDeliverOrderVOList && userDeliverOrderVOList.size() > 0) {
|
|
|
- listAll.addAll(userDeliverOrderVOList);
|
|
|
- }
|
|
|
- }
|
|
|
- } else {
|
|
|
- listAll = userDeliverOrderService.selectUserDeliverOrderVoList(queryWrapper);
|
|
|
- for (UserDeliverOrderVO userDeliverOrderVO : listAll) {
|
|
|
- userDeliverOrderVO.setItems(userDeliverOrderItemService.list(new LambdaQueryWrapper<UserDeliverOrderItem>()
|
|
|
- .eq(UserDeliverOrderItem::getOrderId, userDeliverOrderVO.getOrderId())));
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if (null != listAll && listAll.size() > 0) {
|
|
|
- listAll.sort(Comparator.comparing(UserDeliverOrderVO::getOrderId));
|
|
|
- for (UserDeliverOrderVO deliverOrder : listAll) {
|
|
|
- if (null != deliverOrder && StringUtils.isNotBlank(deliverOrder.getOrderId())
|
|
|
- && StringUtils.isNotBlank(deliverOrder.getReceiver())
|
|
|
- && StringUtils.isNotBlank(deliverOrder.getTel())
|
|
|
- && StringUtils.isNotBlank(deliverOrder.getProvince())
|
|
|
- && StringUtils.isNotBlank(deliverOrder.getCity())
|
|
|
- && StringUtils.isNotBlank(deliverOrder.getArea())
|
|
|
- && StringUtils.isNotBlank(deliverOrder.getAddress()) && null != deliverOrder.getItems()
|
|
|
- && deliverOrder.getItems().size() > 0) {
|
|
|
- for (UserDeliverOrderItem userDeliverOrderItem : deliverOrder.getItems()) {
|
|
|
- if (null != userDeliverOrderItem) {
|
|
|
- DeliverOrderExcel deliverOrderExcel = new DeliverOrderExcel();
|
|
|
- deliverOrderExcel.setTitle(userDeliverOrderItem.getTitle());
|
|
|
- deliverOrderExcel.setProperties(userDeliverOrderItem.getProperties());
|
|
|
- deliverOrderExcel.setGoodsNum(userDeliverOrderItem.getGoodsNum());
|
|
|
- deliverOrderExcel.setCreatedTime(deliverOrder.getCreatedTime());
|
|
|
- deliverOrderExcel.setOrderId(deliverOrder.getOrderId());
|
|
|
- deliverOrderExcel.setReceiver(deliverOrder.getReceiver());
|
|
|
- deliverOrderExcel.setTel(deliverOrder.getTel());
|
|
|
- String address = deliverOrder.getProvince() + deliverOrder.getCity()
|
|
|
- + deliverOrder.getArea() + deliverOrder.getAddress();
|
|
|
- deliverOrderExcel.setAddress(address);
|
|
|
- deliverOrderExcel.setStatus(deliverOrder.getStatus().getDesc());
|
|
|
- deliverOrderExcel.setItemStatus(StringUtils.isNotBlank(userDeliverOrderItem.getDeliveryFlowId())?"已发货":"未发货");
|
|
|
- excelList.add(deliverOrderExcel);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- ExcelUtil<DeliverOrderExcel> util = new ExcelUtil<DeliverOrderExcel>(DeliverOrderExcel.class);
|
|
|
- return util.exportExcel(excelList, "用户提货订单导出", false);
|
|
|
- }
|
|
|
+ @Autowired
|
|
|
+ private IUserDeliverOrderService userDeliverOrderService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IUserDeliverOrderItemService userDeliverOrderItemService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IUserPrizeStorageService userPrizeStorageService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IUserAddrService userAddrService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IWalletService walletService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private MapperFacade mapperFacade;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private RedisCache redisCache;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 用户提货订单列表
|
|
|
+ */
|
|
|
+ @PostMapping("/list")
|
|
|
+ @ApiOperation(value = "用户提货订单列表", notes = "获取用户提货订单列表")
|
|
|
+ @PreAuthorize("@ss.hasPermi('order:deliver:list')")
|
|
|
+ public TableDataInfo list(@RequestBody UserDeliverOrderQueryParam queryParam) {
|
|
|
+ startPage();
|
|
|
+ QueryWrapper<UserDeliverOrder> queryWrapper = new QueryWrapper<UserDeliverOrder>();
|
|
|
+ queryWrapper.eq(null != queryParam && StringUtils.isNotBlank(queryParam.getOrderId()),
|
|
|
+ "t1.order_id", queryParam.getOrderId());
|
|
|
+ queryWrapper.eq(null != queryParam && null != queryParam.getStatus(), "t1.`status`",
|
|
|
+ queryParam.getStatus());
|
|
|
+ queryWrapper.ge(null != queryParam && null != queryParam.getStartTime(), "t1.create_time",
|
|
|
+ queryParam.getStartTime());
|
|
|
+ queryWrapper.le(null != queryParam && null != queryParam.getEndTime(), "t1.create_time",
|
|
|
+ queryParam.getEndTime());
|
|
|
+ queryWrapper.like(null != queryParam && StringUtils.isNotBlank(queryParam.getNickName()),
|
|
|
+ "t2.nick_name", queryParam.getNickName());
|
|
|
+ queryWrapper.like(null != queryParam && StringUtils.isNotBlank(queryParam.getTitle()),
|
|
|
+ "t3.title", queryParam.getTitle());
|
|
|
+ queryWrapper.orderByDesc("t1.order_id");
|
|
|
+ List<UserDeliverOrderVO> userDeliverOrderVOList = userDeliverOrderService.selectUserDeliverOrderVoList(
|
|
|
+ queryWrapper);
|
|
|
+ for (UserDeliverOrderVO userDeliverOrderVO : userDeliverOrderVOList) {
|
|
|
+ userDeliverOrderVO.setItems(
|
|
|
+ userDeliverOrderItemService.list(new LambdaQueryWrapper<UserDeliverOrderItem>()
|
|
|
+ .eq(UserDeliverOrderItem::getOrderId, userDeliverOrderVO.getOrderId())));
|
|
|
+ }
|
|
|
+ TableDataInfo rspData = getDataTable(userDeliverOrderVOList);
|
|
|
+ return rspData;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 订单详情
|
|
|
+ */
|
|
|
+ @PostMapping("/detail")
|
|
|
+ @ApiOperation(value = "订单详情", notes = "在订单列表页面查看详情")
|
|
|
+ @PreAuthorize("@ss.hasPermi('order:deliver:query')")
|
|
|
+ public AjaxResult query(@RequestBody UserDeliverOrder order) {
|
|
|
+ if (null == order || StringUtils.isBlank(order.getOrderId())) {
|
|
|
+ return error(ErrorCodeEnum.ERROR_CODE_1001);
|
|
|
+ }
|
|
|
+ LambdaQueryWrapper<UserDeliverOrder> queryWrapper = new LambdaQueryWrapper<UserDeliverOrder>();
|
|
|
+ queryWrapper.eq(UserDeliverOrder::getOrderId, order.getOrderId());
|
|
|
+ UserDeliverOrder userDeliverOrder = userDeliverOrderService.getOne(queryWrapper);
|
|
|
+ UserDeliverOrderVO userDeliverOrderVO = mapperFacade.map(userDeliverOrder,
|
|
|
+ UserDeliverOrderVO.class);
|
|
|
+
|
|
|
+ List<UserDeliverOrderItem> orderItems = userDeliverOrderItemService.list(
|
|
|
+ new LambdaQueryWrapper<UserDeliverOrderItem>()
|
|
|
+ .eq(UserDeliverOrderItem::getOrderId, userDeliverOrderVO.getOrderId()));
|
|
|
+
|
|
|
+ userDeliverOrderVO.setItems(orderItems);
|
|
|
+ // 获取物流详情
|
|
|
+ userDeliverOrderVO.setDeliverList(getDeliverItemList(order.getOrderId(), orderItems));
|
|
|
+ return AjaxResult.success(userDeliverOrderVO);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 获取用户提货订单物流封装列表
|
|
|
+ private List<OrderDeliverItemVO> getDeliverItemList(String orderId,
|
|
|
+ List<UserDeliverOrderItem> orderItems) {
|
|
|
+ List<OrderDeliverItemVO> itemList = new ArrayList<OrderDeliverItemVO>();
|
|
|
+ // 1.查询物流公司信息
|
|
|
+ itemList = userDeliverOrderItemService.selectOrderDeliverItemVOList(orderId);
|
|
|
+ // 2.查询物流包裹内的商品信息
|
|
|
+ for (OrderDeliverItemVO itemVO : itemList) {
|
|
|
+ for (UserDeliverOrderItem item : orderItems) {
|
|
|
+ if (itemVO.getDeliveryFlowId().equals(item.getDeliveryFlowId())) {
|
|
|
+ itemVO.getItems().add(item);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return itemList;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 订单发货
|
|
|
+ */
|
|
|
+ @Log(title = "用户提货订单发货", businessType = BusinessType.UPDATE)
|
|
|
+ @PostMapping("/ship")
|
|
|
+ @ApiOperation(value = "订单发货", notes = "在订单发货页面提交")
|
|
|
+ @PreAuthorize("@ss.hasPermi('order:deliver:ship')")
|
|
|
+ public AjaxResult ship(@RequestBody UserDeliverOrderShipParam shipParam) {
|
|
|
+ if (null == shipParam || StringUtils.isBlank(shipParam.getOrderId())) {
|
|
|
+ return error(ErrorCodeEnum.ERROR_CODE_1001);
|
|
|
+ }
|
|
|
+ List<UserDeliverOrderItem> itemList = new ArrayList<UserDeliverOrderItem>();
|
|
|
+ if (null != shipParam && null != shipParam.getItemIds()
|
|
|
+ && shipParam.getItemIds().size() > 0) {
|
|
|
+ Date deliveryTime = new Date();
|
|
|
+ for (String itemId : shipParam.getItemIds()) {
|
|
|
+ if (StringUtils.isNotBlank(itemId)) {
|
|
|
+ UserDeliverOrderItem item = new UserDeliverOrderItem();
|
|
|
+ item.setItemId(itemId);
|
|
|
+ item.setDeliveryId(shipParam.getDeliveryId());
|
|
|
+ item.setDeliveryFlowId(shipParam.getDeliveryFlowId());
|
|
|
+ item.setDeliveryTime(deliveryTime);
|
|
|
+ itemList.add(item);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (null != itemList && itemList.size() > 0) {
|
|
|
+ boolean rtn = userDeliverOrderService.userDeliverOrderShip(shipParam.getOrderId(), itemList);
|
|
|
+ return rtn ? AjaxResult.success() : AjaxResult.error("发货失败");
|
|
|
+ }
|
|
|
+ return AjaxResult.error("发货失败");
|
|
|
+ }
|
|
|
+
|
|
|
+ @Log(title = "提货订单导出", businessType = BusinessType.EXPORT)
|
|
|
+ @PostMapping("/export")
|
|
|
+ @PreAuthorize("@ss.hasPermi('order:deliver:export')")
|
|
|
+ public AjaxResult export(@RequestBody UserDeliverOrderQueryParam queryParam) {
|
|
|
+
|
|
|
+ List<DeliverOrderExcel> excelList = new ArrayList<DeliverOrderExcel>();
|
|
|
+ List<UserDeliverOrderVO> listAll = new ArrayList<UserDeliverOrderVO>();
|
|
|
+ // 首先查询要导出的数据总数
|
|
|
+ QueryWrapper<UserDeliverOrder> queryWrapper = new QueryWrapper<UserDeliverOrder>();
|
|
|
+ queryWrapper.eq(null != queryParam && StringUtils.isNotBlank(queryParam.getOrderId()),
|
|
|
+ "t1.order_id", queryParam.getOrderId());
|
|
|
+ queryWrapper.eq(null != queryParam && null != queryParam.getStatus(), "t1.`status`",
|
|
|
+ queryParam.getStatus());
|
|
|
+ queryWrapper.ge(null != queryParam && null != queryParam.getStartTime(), "t1.create_time",
|
|
|
+ queryParam.getStartTime());
|
|
|
+ queryWrapper.le(null != queryParam && null != queryParam.getEndTime(), "t1.create_time",
|
|
|
+ queryParam.getEndTime());
|
|
|
+ queryWrapper.like(null != queryParam && StringUtils.isNotBlank(queryParam.getNickName()),
|
|
|
+ "t2.nick_name", queryParam.getNickName());
|
|
|
+ queryWrapper.like(null != queryParam && StringUtils.isNotBlank(queryParam.getTitle()),
|
|
|
+ "t3.title", queryParam.getTitle());
|
|
|
+ queryWrapper.orderByDesc("t1.order_id");
|
|
|
+ int totalSize = userDeliverOrderService.selectUserDeliverOrderCount(queryWrapper);
|
|
|
+ if (totalSize == 0) {
|
|
|
+ return AjaxResult.error("没有符合条件的用户提货订单");
|
|
|
+ }
|
|
|
+ int pageSize = 2000;
|
|
|
+ if (totalSize > pageSize) {
|
|
|
+ int totalPage = totalSize % pageSize == 0 ? totalSize / pageSize : totalSize / pageSize + 1;
|
|
|
+ for (int i = 0; i < totalPage; i++) {
|
|
|
+ queryWrapper.last("limit " + (i * pageSize) + ", " + pageSize);
|
|
|
+ List<UserDeliverOrderVO> userDeliverOrderVOList = userDeliverOrderService.selectUserDeliverOrderVoList(
|
|
|
+ queryWrapper);
|
|
|
+ for (UserDeliverOrderVO userDeliverOrderVO : userDeliverOrderVOList) {
|
|
|
+ userDeliverOrderVO.setItems(
|
|
|
+ userDeliverOrderItemService.list(new LambdaQueryWrapper<UserDeliverOrderItem>()
|
|
|
+ .eq(UserDeliverOrderItem::getOrderId, userDeliverOrderVO.getOrderId())));
|
|
|
+ }
|
|
|
+ if (null != userDeliverOrderVOList && userDeliverOrderVOList.size() > 0) {
|
|
|
+ listAll.addAll(userDeliverOrderVOList);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ listAll = userDeliverOrderService.selectUserDeliverOrderVoList(queryWrapper);
|
|
|
+ for (UserDeliverOrderVO userDeliverOrderVO : listAll) {
|
|
|
+ userDeliverOrderVO.setItems(
|
|
|
+ userDeliverOrderItemService.list(new LambdaQueryWrapper<UserDeliverOrderItem>()
|
|
|
+ .eq(UserDeliverOrderItem::getOrderId, userDeliverOrderVO.getOrderId())));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (null != listAll && listAll.size() > 0) {
|
|
|
+ listAll.sort(Comparator.comparing(UserDeliverOrderVO::getOrderId));
|
|
|
+ for (UserDeliverOrderVO deliverOrder : listAll) {
|
|
|
+ if (null != deliverOrder && StringUtils.isNotBlank(deliverOrder.getOrderId())
|
|
|
+ && StringUtils.isNotBlank(deliverOrder.getReceiver())
|
|
|
+ && StringUtils.isNotBlank(deliverOrder.getTel())
|
|
|
+ && StringUtils.isNotBlank(deliverOrder.getProvince())
|
|
|
+ && StringUtils.isNotBlank(deliverOrder.getCity())
|
|
|
+ && StringUtils.isNotBlank(deliverOrder.getArea())
|
|
|
+ && StringUtils.isNotBlank(deliverOrder.getAddress()) && null != deliverOrder.getItems()
|
|
|
+ && deliverOrder.getItems().size() > 0) {
|
|
|
+ for (UserDeliverOrderItem userDeliverOrderItem : deliverOrder.getItems()) {
|
|
|
+ if (null != userDeliverOrderItem) {
|
|
|
+ DeliverOrderExcel deliverOrderExcel = new DeliverOrderExcel();
|
|
|
+ deliverOrderExcel.setTitle(userDeliverOrderItem.getTitle());
|
|
|
+ deliverOrderExcel.setProperties(userDeliverOrderItem.getProperties());
|
|
|
+ deliverOrderExcel.setGoodsNum(userDeliverOrderItem.getGoodsNum());
|
|
|
+ deliverOrderExcel.setCreatedTime(deliverOrder.getCreatedTime());
|
|
|
+ deliverOrderExcel.setOrderId(deliverOrder.getOrderId());
|
|
|
+ deliverOrderExcel.setReceiver(deliverOrder.getReceiver());
|
|
|
+ deliverOrderExcel.setTel(deliverOrder.getTel());
|
|
|
+ String address = deliverOrder.getProvince() + deliverOrder.getCity()
|
|
|
+ + deliverOrder.getArea() + deliverOrder.getAddress();
|
|
|
+ deliverOrderExcel.setAddress(address);
|
|
|
+ deliverOrderExcel.setStatus(deliverOrder.getStatus().getDesc());
|
|
|
+ deliverOrderExcel.setItemStatus(
|
|
|
+ StringUtils.isNotBlank(userDeliverOrderItem.getDeliveryFlowId()) ? "已发货" : "未发货");
|
|
|
+ excelList.add(deliverOrderExcel);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ExcelUtil<DeliverOrderExcel> util = new ExcelUtil<DeliverOrderExcel>(DeliverOrderExcel.class);
|
|
|
+ return util.exportExcel(excelList, "用户提货订单导出", false);
|
|
|
+ }
|
|
|
}
|