소스 검색

fix 优化后台订单管理列表

zoujiajian 7 달 전
부모
커밋
555a512ce7

+ 2 - 0
netflix-dao/src/main/java/com/cyksj/mapper/OrderDonMapper.java

@@ -99,4 +99,6 @@ public interface OrderDonMapper extends BaseMapper<OrderDon> {
 	List<DistributeOrderStatisticsDataView> getDistributeOrderView(@Param("goodsId") Long goodsId, @Param("start") String start, @Param("end") String end, @Param("isGeneral") Boolean isGeneral, @Param("chain") Integer chain);
 
 	Integer hasPaymentAiGoods(Long userId);
+
+	List<Long> selectTransportOids(@Param("phone") String phone, @Param("receiver") String receiver);
 }

+ 6 - 7
netflix-dao/src/main/java/com/cyksj/model/manage/views/OrderDonBackView.java

@@ -24,7 +24,6 @@ import java.util.List;
 @Getter
 @Setter
 @SearchBean(tables = "order_don o left join goods_don g on g.id = o.goods_id" +
-		" left join order_don_transport odt on odt.order_id = o.id" +
 		" left join goods_don_sku sku on sku.id = o.sku_id" +
 		" :tb:",
 		where = ":condition:"
@@ -223,37 +222,37 @@ public class OrderDonBackView {
 	/**
 	 * 收货人
 	 */
-	@DbField("odt.receiver")
+	@DbIgnore
 	private String receiver;
 
 	/**
 	 * 手机号
 	 */
-	@DbField("odt.phone")
+	@DbIgnore
 	private String phone;
 
 	/**
 	 * 省份
 	 */
-	@DbField("odt.province")
+	@DbIgnore
 	private String province;
 
 	/**
 	 * 城市
 	 */
-	@DbField("odt.city")
+	@DbIgnore
 	private String city;
 
 	/**
 	 * 区/县
 	 */
-	@DbField("odt.district")
+	@DbIgnore
 	private String district;
 
 	/**
 	 * 详细地址
 	 */
-	@DbField("odt.address")
+	@DbIgnore
 	private String address;
 
 	/**

+ 10 - 0
netflix-dao/src/main/resources/mapper/OrderDonMapper.xml

@@ -599,4 +599,14 @@
         select count(1) from order_don where user_id = #{userId} and status not in ('close','noPayment')
         and goods_id in (select distinct goods_id from goods_don_category_relate where category = 1)
     </select>
+
+    <select id="selectTransportOids" resultType="java.lang.Long">
+        select order_id from order_don_transport where 1 = 1
+        <if test="phone != null">
+            and phone = #{phone}
+        </if>
+        <if test="receiver != null">
+            and receiver = #{receiver}
+        </if>
+    </select>
 </mapper>

+ 14 - 1
netflix-web/src/main/java/com/cyksj/web/controller/manage/CmsOrderController.java

@@ -146,7 +146,7 @@ public class CmsOrderController {
 
 	@GetMapping("/get")
 	@SaCheckPermission("order:view")
-	public Result<SearchResult<OrderDonBackView>> get(Long channelId, String account, String showId, Long acId, String nickname, String register, Boolean isGoogle, Boolean isSubsidy, Boolean isRenewPackage, Integer otherOrderType, Long userMirrorShopId, String operator, Long diffGoodsId, Boolean isTp) {
+	public Result<SearchResult<OrderDonBackView>> get(Long channelId, String account, String showId, Long acId, String nickname, String register, Boolean isGoogle, Boolean isSubsidy, Boolean isRenewPackage, Integer otherOrderType, Long userMirrorShopId, String operator, Long diffGoodsId, Boolean isTp, String phone, String receiver) {
 		MapBuilder builder = MapUtils.flatBuilder(request.getParameterMap());
 		if (channelId != null) {
 			List<Long> popularizeIds = channelPopularizeMapper.getPopularizeIdByChannelId(channelId);
@@ -222,6 +222,10 @@ public class CmsOrderController {
 			}
 			conditionSql += String.format(" exists (select 1 from user_mirror_shop_order_relate umr where mp_id = %s and umr.order_id = o.id limit 1)", userMirrorShopId);
 		}
+		if (!StrUtil.isAllEmpty(phone, receiver)) {
+			List<Long> transportOrderIds = orderDonMapper.selectTransportOids(phone, receiver);
+			builder.field(OrderDonBackView::getId, transportOrderIds).op(Operator.InList);
+		}
 		if (diffGoodsId != null || StrUtil.isNotBlank(operator) || isTp != null) {
 			if (StrUtil.isNotEmpty(conditionSql)) {
 				conditionSql += " and ";
@@ -254,6 +258,15 @@ public class CmsOrderController {
 					data.setBeforeServiceName(realGoodsOrderHandle.getBeforeServiceName());
 					data.setAfterServiceName(realGoodsOrderHandle.getAfterServiceName());
 				}
+				OrderDonTransportView transportView = beanSearcher.searchFirst(OrderDonTransportView.class, MapUtils.builder().field(OrderDonTransportView::getOrderId, data.getId()).build());
+				if (transportView != null) {
+					data.setReceiver(transportView.getReceiver());
+					data.setPhone(transportView.getPhone());
+					data.setProvince(transportView.getProvince());
+					data.setCity(transportView.getCity());
+					data.setDistrict(transportView.getDistrict());
+					data.setAddress(transportView.getAddress());
+				}
 			}
 
 			//使用优惠码