Browse Source

小程序查询全部订单接口

liyuan 8 months ago
parent
commit
6b616d0242

+ 8 - 1
blade-service-api/blade-sales-part-api/src/main/java/org/springblade/salesPart/entity/PjOrder.java

@@ -117,8 +117,15 @@ public class PjOrder implements Serializable {
 	 */
 	@ApiModelProperty(value = "小程序订单状态")
 	private String xcxStatus;
+
 	/**
-	 * 业务类型(XS,CG)
+	 * 业务类型
+	 * XS 销售
+	 * CG 采购
+	 * GX 共享
+	 * TKXS 退款销售
+	 * TKCG 退款采购
+	 * JF 积分订单
 	 */
 	@ApiModelProperty(value = "业务类型")
 	private String bsType;

+ 1 - 75
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/controller/OrderController.java

@@ -615,81 +615,7 @@ public class OrderController extends BladeController {
 	@ApiOperationSupport(order = 11)
 	@ApiOperation(value = "小程序我的订单查询", notes = "传入order")
 	public R<IPage<PjOrder>> appStatusShareList(PjOrder order, Query query) {
-		LambdaQueryWrapper<PjOrder> lambdaQueryWrapper = new LambdaQueryWrapper<>();
-		lambdaQueryWrapper.select(PjOrder::getSrcOrdNo,PjOrder::getCustomerId);
-		lambdaQueryWrapper.eq(PjOrder::getTenantId, AuthUtil.getTenantId())
-			.eq(PjOrder::getIsDeleted, 0)
-			.apply("find_in_set(bs_type,'XS,GX')")
-			.eq(PjOrder::getSalesCompanyId, AuthUtil.getDeptId())//公司
-			.eq(ObjectUtils.isNotEmpty(order.getActualPaymentStatus()), PjOrder::getActualPaymentStatus, order.getActualPaymentStatus())//状态
-			.eq(ObjectUtils.isNotEmpty(order.getSalesCompanyName()), PjOrder::getSalesCompanyName, order.getSalesCompanyName())//所属公司
-			.and(ObjectUtils.isNotNull(order.getRetrieval()), i -> i.like(PjOrder::getGoodsNameJoin, order.getRetrieval())
-				.or().like(PjOrder::getShortcutJoin, order.getRetrieval()))
-			.apply(ObjectUtils.isNotEmpty(order.getXcxStatus()), "find_in_set(xcx_status,'" + order.getXcxStatus() + "')")
-			.orderByDesc(PjOrder::getCreateTime);
-		if (AuthUtil.getUserRole().contains("客户")) {
-			lambdaQueryWrapper.eq(PjOrder::getCreateUser, AuthUtil.getUserId());
-		}
-		lambdaQueryWrapper.groupBy(PjOrder::getSrcOrdNo);
-		IPage<PjOrder> pages = orderService.page(Condition.getPage(query), lambdaQueryWrapper);
-		if (!pages.getRecords().isEmpty()) {
-			List<Long> ids = new ArrayList<>();
-			List<PjOrder> orderList = orderService.list(new LambdaQueryWrapper<PjOrder>()
-				.eq(PjOrder::getTenantId, AuthUtil.getTenantId())
-				.eq(PjOrder::getIsDeleted, 0)
-				.eq(PjOrder::getBsType, "XS")
-				.in(PjOrder::getSrcOrdNo, pages.getRecords().stream().map(PjOrder::getSrcOrdNo).collect(Collectors.toList())));
-			if (!orderList.isEmpty()) {
-				ids.addAll(orderList.stream().map(PjOrder::getId).collect(Collectors.toList()));
-			}
-			List<PjOrder> orderShareList = orderService.list(new LambdaQueryWrapper<PjOrder>()
-				.eq(PjOrder::getTenantId, AuthUtil.getTenantId())
-				.eq(PjOrder::getIsDeleted, 0)
-				.eq(PjOrder::getBsType, "GX")
-				.in(PjOrder::getSrcOrdNo, pages.getRecords().stream().map(PjOrder::getSrcOrdNo).collect(Collectors.toList())));
-			if (!orderShareList.isEmpty()) {
-				ids.addAll(orderShareList.stream().map(PjOrder::getId).collect(Collectors.toList()));
-			}
-			//获得销售明细
-			LambdaQueryWrapper<PjOrderItems> itemsLambdaQueryWrapper = new LambdaQueryWrapper<>();
-			itemsLambdaQueryWrapper.eq(PjOrderItems::getTenantId, AuthUtil.getTenantId())
-				.eq(PjOrderItems::getIsDeleted, 0)
-				.in(PjOrderItems::getPid, ids);
-			List<PjOrderItems> itemsList = orderItemsService.list(itemsLambdaQueryWrapper);
-			for (PjOrder e : pages.getRecords()) {
-				if (!orderList.isEmpty()) {
-					PjOrder item = orderList.stream().filter(i -> e.getSrcOrdNo().equals(i.getSrcOrdNo())).findFirst().orElse(null);
-					if (item != null) {
-						BeanUtil.copyProperties(item, e);
-						if (!orderShareList.isEmpty()) {
-							PjOrder itemShare = orderShareList.stream().filter(i -> e.getSrcOrdNo().equals(i.getSrcOrdNo())).findFirst().orElse(null);
-							if (itemShare != null) {
-								e.setGoodsTotalNum(e.getGoodsTotalShipNum().add(itemShare.getGoodsTotalNum()));
-								e.setTotalMoney(e.getTotalMoney().add(itemShare.getTotalMoney()));
-							}
-						}
-					} else {
-						if (!orderShareList.isEmpty()) {
-							PjOrder itemShare = orderShareList.stream().filter(i -> e.getSrcOrdNo().equals(i.getSrcOrdNo())).findFirst().orElse(null);
-							if (itemShare != null) {
-								BeanUtil.copyProperties(itemShare, e);
-							}
-						}
-					}
-				} else {
-					if (!orderShareList.isEmpty()) {
-						PjOrder itemShare = orderShareList.stream().filter(i -> e.getSrcOrdNo().equals(i.getSrcOrdNo())).findFirst().orElse(null);
-						if (itemShare != null) {
-							BeanUtil.copyProperties(itemShare, e);
-						}
-					}
-				}
-				if (!itemsList.isEmpty()) {
-					e.setGoodsNameJoin(itemsList.stream().filter(i -> i.getPid().equals(e.getId())).map(PjOrderItems::getGoodsName).collect(Collectors.joining(",")));
-				}
-			}
-		}
-		return R.data(pages);
+		return R.data(orderService.appStatusShareList(order, query));
 	}
 
 	/**

+ 10 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/service/IOrderService.java

@@ -18,6 +18,7 @@ package org.springblade.salesPart.order.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.api.R;
 import org.springblade.salesPart.dto.FinancingProcurement;
 import org.springblade.salesPart.dto.SaleDetail;
@@ -273,4 +274,13 @@ public interface IOrderService extends IService<PjOrder> {
 	R<List<PjOrderItems>> importItemFinancing(List<InventoryFinancingExcel> excelList);
 
 	PjOrder appShareDetail(PjOrder order);
+
+	/**
+	 * 小程序我的订单查询
+	 *
+	 * @param order 参数
+	 * @param query 分页
+	 * @return 结果
+	 */
+    IPage<PjOrder> appStatusShareList(PjOrder order, Query query);
 }

+ 50 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/service/impl/OrderServiceImpl.java

@@ -34,6 +34,8 @@ import me.chanjar.weixin.mp.bean.template.WxMpTemplateData;
 import okhttp3.*;
 import org.springblade.client.entity.Message;
 import org.springblade.client.feign.IMessageClient;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.jackson.JsonUtil;
@@ -192,6 +194,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 
 	private final ISharePutOnShelvesService sharePutOnShelvesService;
 
+	private final OrderMapper orderMapper;
+
+
 	/**
 	 * 获取销售订单详情
 	 *
@@ -4677,6 +4682,51 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 		return detail;
 	}
 
+	@Override
+	public IPage<PjOrder> appStatusShareList(PjOrder order, Query query) {
+		LambdaQueryWrapper<PjOrder> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.select(PjOrder::getSrcOrdNo,PjOrder::getCustomerId,
+			PjOrder::getId,PjOrder::getCustomerName, PjOrder::getRecAddress,
+			PjOrder::getPhone, PjOrder::getContacts,PjOrder::getChargeType,
+			PjOrder::getTotalMoney,PjOrder::getStatus,PjOrder::getXcxStatus,
+			PjOrder::getSalesCompanyName,PjOrder::getOrdNo,PjOrder::getGoodsTotalNum,
+			PjOrder::getCreateTime);
+		lambdaQueryWrapper.eq(PjOrder::getTenantId, AuthUtil.getTenantId())
+			.eq(PjOrder::getIsDeleted, 0)
+			.in(PjOrder::getBsType, "XS", "GX")
+			// 公司
+			.eq(PjOrder::getSalesCompanyId, AuthUtil.getDeptId())
+			// 状态
+			.eq(ObjectUtils.isNotEmpty(order.getActualPaymentStatus()), PjOrder::getActualPaymentStatus, order.getActualPaymentStatus())
+			// 所属公司
+			.eq(ObjectUtils.isNotEmpty(order.getSalesCompanyName()), PjOrder::getSalesCompanyName, order.getSalesCompanyName())
+			.and(ObjectUtils.isNotNull(order.getRetrieval()), i -> i.like(PjOrder::getGoodsNameJoin, order.getRetrieval())
+				.or().like(PjOrder::getShortcutJoin, order.getRetrieval()))
+			.apply(ObjectUtils.isNotEmpty(order.getXcxStatus()), "find_in_set(xcx_status,'" + order.getXcxStatus() + "')")
+			.orderByDesc(PjOrder::getCreateTime);
+		if (AuthUtil.getUserRole().contains("客户")) {
+			lambdaQueryWrapper.eq(PjOrder::getCreateUser, AuthUtil.getUserId());
+		}
+		lambdaQueryWrapper.groupBy(PjOrder::getSrcOrdNo);
+		IPage<PjOrder> pages = orderMapper.selectPage(Condition.getPage(query), lambdaQueryWrapper);
+		if (pages.getRecords().isEmpty()) {
+			return pages;
+		}
+		List<Long> orderIds = pages.getRecords().stream().map(PjOrder::getId).collect(Collectors.toList());
+		LambdaQueryWrapper<PjOrderItems> itemsLambdaQueryWrapper = new LambdaQueryWrapper<>();
+		itemsLambdaQueryWrapper.eq(PjOrderItems::getTenantId, AuthUtil.getTenantId())
+			.eq(PjOrderItems::getIsDeleted, 0)
+			.in(PjOrderItems::getPid, orderIds);
+		List<PjOrderItems> itemsList = orderItemsService.list(itemsLambdaQueryWrapper);
+		if (itemsList.isEmpty()) {
+			return pages;
+		}
+		for (PjOrder e : pages.getRecords()) {
+			e.setOrderItemsList(itemsList.stream().filter(e1 -> e1.getPid().equals(e.getId())).collect(Collectors.toList()));
+		}
+		return pages;
+	}
+
 	/**
 	 * 保存订单信息
 	 */