Răsfoiți Sursa

fix 订单查询

zoujiajian 3 ani în urmă
părinte
comite
35d8dc2b4e

+ 155 - 0
netflix-dao/src/main/java/com/cyksj/model/manage/views/OrderDonSearchView.java

@@ -0,0 +1,155 @@
+package com.cyksj.model.manage.views;
+
+import com.cyksj.model.entity.GoodsDon;
+import com.cyksj.model.entity.OrderDon;
+import com.cyksj.model.entity.OrderDonWaybill;
+import com.cyksj.model.views.GoodsDonSkuView;
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.DbIgnore;
+import com.ejlchina.searcher.bean.SearchBean;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+/*
+ *项目名: netflix
+ *文件名: OrderDonSearchView
+ *创建者: JavaZou
+ *创建时间:2023/7/28 16:21
+ */
+@Getter
+@Setter
+@SearchBean(tables = "(select * from order_don :orderId:) o left join goods_don_sku sku on o.sku_id = sku.id " +
+		"left join goods_don g on g.id = sku.goods_id " +
+		"left join order_don_transport odt on odt.order_id = o.id")
+public class OrderDonSearchView {
+	@DbField("o.id")
+	private Long id;
+
+	@DbField("o.relation_id")
+	private Long relationId;
+
+	@DbField("g.type")
+	private Integer goodsDonType;
+
+	@DbField("g.second_type")
+	private Integer secondType;
+
+	@DbField("o.order_no")
+	private String orderNo;
+
+	@DbField("g.logo")
+	private String logo;
+
+	@DbField("g.title")
+	private String title;
+
+	@DbField("g.id")
+	private Long goodsId;
+
+	@DbField("g.pay_desc")
+	private String payDesc;
+
+	@DbField("sku.is_benefits")
+	private Boolean isBenefits;
+
+	@DbField("sku.benefits_list")
+	@JsonIgnore
+	private String benefitsList;
+
+	@DbField("sku.spec_val")
+	private String specVal;
+
+	@DbField("sku.months")
+	private Integer months;
+
+	@DbField("o.user_id")
+	@JsonIgnore
+	private Long userId;
+
+	@DbField("o.money")
+	private BigDecimal money;
+
+	@DbField("o.refund_money")
+	@JsonIgnore
+	private BigDecimal refundMoney;
+
+	@DbField("o.balance")
+	private BigDecimal balance;
+
+	@DbField("o.coupon_money")
+	private BigDecimal couponMoney;
+
+	@DbField("o.refund_desc")
+	private String refundDesc;
+
+	@DbField("o.status")
+	private OrderDon.Status status;
+
+	@DbField("o.type")
+	private OrderDon.Type type;
+
+	@DbField("o.num")
+	private Integer num;
+
+	@DbField("o.created_time")
+	private Date createdTime;
+
+	@DbField("o.pay_time")
+	private Date payTime;
+
+	/**
+	 * 收货人
+	 */
+	@DbField("odt.receiver")
+	private String receiver;
+
+	/**
+	 * 手机号
+	 */
+	@DbField("odt.phone")
+	private String phone;
+
+	/**
+	 * 省份
+	 */
+	@DbField("odt.province")
+	private String province;
+
+	/**
+	 * 城市
+	 */
+	@DbField("odt.city")
+	private String city;
+
+	/**
+	 * 区/县
+	 */
+	@DbField("odt.district")
+	private String district;
+
+	/**
+	 * 详细地址
+	 */
+	@DbField("odt.address")
+	private String address;
+
+	@DbField("g.special_type")
+	private GoodsDon.SpecialType specialType;
+
+	@DbIgnore
+	private OrderDonWaybill waybill;
+
+	/**
+	 * 是否可领取实物购买权益
+	 */
+	@DbIgnore
+	private Boolean isHasBenefits;
+
+	@DbIgnore
+	private List<GoodsDonSkuView> benefitsViews;
+}

+ 5 - 2
netflix-web/src/main/java/com/cyksj/web/controller/payment/OrderController.java

@@ -23,6 +23,7 @@ import com.cyksj.mapper.market.task.UserBindDetailMapper;
 import com.cyksj.model.dto.AliPayParams;
 import com.cyksj.model.dto.H5JsPayParams;
 import com.cyksj.model.entity.*;
+import com.cyksj.model.manage.views.OrderDonSearchView;
 import com.cyksj.model.manage.views.OrderDonView;
 import com.cyksj.model.request.AlipayOrderDonReq;
 import com.cyksj.model.request.OrderPayRequest;
@@ -392,11 +393,13 @@ public class OrderController {
     }
 
     @GetMapping("/get/order/status/{orderId}")
-    public Result<OrderDonView> getOrderStatusById(@PathVariable Long orderId) {
+    public Result<OrderDonSearchView> getOrderStatusById(@PathVariable Long orderId) {
         if (orderId < 1) {
             throw BusinessRuntimeException.getInstance("订单不存在");
         }
-        OrderDonView orderDonView = beanSearcher.searchFirst(OrderDonView.class, MapUtils.builder().field(OrderDonView::getId, orderId).build());
+        OrderDonSearchView orderDonView = beanSearcher.searchFirst(OrderDonSearchView.class, MapUtils.builder()
+                .put("orderId", String.format("where id = %s", orderId))
+                .build());
         if (orderDonView == null) {
             throw BusinessRuntimeException.getInstance("订单不存在");
         }