Jelajahi Sumber

fix 后台订单数据列表

zoujiajian 2 tahun lalu
induk
melakukan
fc2ea198c7

+ 3 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/OrderDetailView.java

@@ -31,6 +31,9 @@ public class OrderDetailView {
 	@DbField("o.m_oid")
 	private Long mOid;
 
+	@DbField("o.relation_id")
+	private Long relationId;
+
 	/**
 	 * 商品id
 	 */

+ 0 - 5
netflix-dao/src/main/java/com/cyksj/model/request/UnifiedOrderPayReq.java

@@ -16,11 +16,6 @@ import java.util.List;
 public class UnifiedOrderPayReq {
 	private Long userId;
 
-	/**
-	 * 推荐人id
-	 */
-	private Long sharedId;
-
 	/**
 	 * 是否是网页端支付 默认0移动端支付
 	 */

+ 14 - 3
netflix-service/src/main/java/com/cyksj/service/order/impl/OrderDonServiceImpl.java

@@ -583,6 +583,7 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 			if (user.getIsBlack()) throw BusinessRuntimeException.getInstance("系统检测操作异常,请稍后再试");
 			openId = user.getOpenId();
 		}
+		userId = user.getId();
 		for (OrderPayRequest payRequest : payGoods) {
 			GoodsDonSku sku = null;
 			Long goodsId;
@@ -666,6 +667,9 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 				if (StrUtil.isEmpty(specificGoodsIds)) {
 					throw BusinessRuntimeException.getInstance("系统异常,请刷新页面重试");
 				}
+				if (payRequest.getDonMoney() == null) {
+					throw BusinessRuntimeException.getInstance("商品支付价格为空");
+				}
 				if (payRequest.getDonMoney().compareTo(sku.getSpecificPrice()) <= 0) {
 					payRequest.setDonMoney(sku.getSpecificPrice());
 				}
@@ -894,6 +898,9 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 		}
 		orderMasterDon.setMoney(pay_money);
 		orderMasterDon.setRealMoney(real_money);
+		orderMasterDon.setUserId(userId);
+		orderMasterDonService.save(orderMasterDon);
+
 		orderDonMapper.update(null, Wrappers.lambdaUpdate(OrderDon.class)
 				.set(OrderDon::getMOid, orderMasterDon.getId())
 				.in(OrderDon::getId, orderIds));
@@ -903,7 +910,7 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 				closeOrder(orderMasterDon.getId(), null);
 			});
 		}
-		return null;
+		return orderMasterDon;
 	}
 
 	private Boolean checkIsNeedGroupsRelation(GoodsDon goodsDon) {
@@ -1302,6 +1309,8 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 
 			orderMasterDon.setStatus(OrderMasterDon.Status.hasPayment);
 		}
+
+		orderMasterDonService.save(orderMasterDon);
 		if (orderMasterDon.getStatus() == OrderMasterDon.Status.noPayment) {
 			jobManager.addJob(EXPIRY_TIME, () -> {
 				closeOrder(orderMasterDon.getId(), null);
@@ -1324,8 +1333,10 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 		List<OrderDetailView> orderDetailViews = beanSearcher.searchAll(OrderDetailView.class, MapUtils.builder().field(OrderDetailView::getMOid, mOid)
 				.build());
 		orderDetailViews.forEach(detail -> {
-			detail.setTransport(transportMapper.selectOne(Wrappers.lambdaQuery(OrderDonTransport.class).eq(OrderDonTransport::getOrderId, detail.getId()).last(" limit 1")));
-			detail.setWaybill(waybillMapper.selectOne(Wrappers.lambdaQuery(OrderDonWaybill.class).eq(OrderDonWaybill::getOrderId, detail.getId()).last(" limit 1")));
+			if (detail.getRelationId() == 0) {
+				detail.setTransport(transportMapper.selectOne(Wrappers.lambdaQuery(OrderDonTransport.class).eq(OrderDonTransport::getOrderId, detail.getId()).last(" limit 1")));
+				detail.setWaybill(waybillMapper.selectOne(Wrappers.lambdaQuery(OrderDonWaybill.class).eq(OrderDonWaybill::getOrderId, detail.getId()).last(" limit 1")));
+			}
 		});
 		orderMasterDetailView.setOrderDetailViews(orderDetailViews);
 		return orderMasterDetailView;

+ 7 - 6
netflix-web/src/main/java/com/cyksj/web/controller/manage/CmsOrderController.java

@@ -11,6 +11,7 @@ import com.cyksj.common.annotation.NoSubmit;
 import com.cyksj.common.constant.Constant;
 import com.cyksj.common.exception.BusinessRuntimeException;
 import com.cyksj.common.util.IoKit;
+import com.cyksj.common.util.Jsons;
 import com.cyksj.common.util.Xmls;
 import com.cyksj.dto.Result;
 import com.cyksj.enums.BusinessType;
@@ -154,14 +155,14 @@ public class CmsOrderController {
 	 * @return
 	 */
 	@GetMapping("/get/mOrder")
-	public Result<SearchResult<OrderMasterDonBackView>> getMOrder(Long channelId, String account, String showId, Long goodsDonType, Long goodsId, Long skuId, Boolean isNoBind, Integer dsType, List<String> status) {
+	public Result<SearchResult<OrderMasterDonBackView>> getMOrder(Long channelId, String account, String showId, Long goodsDonType, Long goodsId, Long skuId, Boolean isNoBind, Integer dsType, @RequestParam(value = "orderStatus", required = false) List<String> orderStatus) throws Exception {
 		StringBuilder conditionSb = new StringBuilder();
 
 		if (goodsId != null) {
 			conditionSb.append(String.format(" and goods_id = %s", goodsId));
 		}
 		if (skuId != null) {
-			conditionSb.append(String.format(" and os.sku_id = %s"));
+			conditionSb.append(String.format(" and os.sku_id = %s", skuId));
 		}
 		if (goodsDonType != null) {
 			conditionSb.append(String.format(" and os.goods_id in (select id from goods_don where type = %s)", goodsDonType));
@@ -180,12 +181,12 @@ public class CmsOrderController {
 			}
 			conditionSb.append(String.format(" and os.%s != 0", dsTypeField));
 		}
-		if (status != null) {
-			conditionSb.append(String.format(" and os.status in %s", status.toString().replaceAll("\\[", "(").replaceAll("]", ")")));
+		if (orderStatus != null) {
+			conditionSb.append(String.format(" and os.status in %s", Jsons.toJson(orderStatus).replaceAll("\\[", "(").replaceAll("]", ")")));
 		}
 		String conditionSql = null;
 		if (conditionSb.length() > 0) {
-			conditionSql = String.format(" exists (select count(*) from order_don os where os.m_oid = o.id %s) > 0", conditionSb.toString());
+			conditionSql = String.format(" (select count(*) from order_don os where os.m_oid = o.id %s) > 0", conditionSb.toString());
 		}
 
 		//主订单
@@ -211,7 +212,7 @@ public class CmsOrderController {
 		}
 		SearchResult<OrderMasterDonBackView> search1 = beanSearcher.search(OrderMasterDonBackView.class, builder.build());
 		search1.getDataList().forEach(mData -> {
-			List<OrderDonBackView> orderDonBackViews = beanSearcher.searchAll(OrderDonBackView.class, MapUtils.builder().field(OrderDonBackView::getMOid).build());
+			List<OrderDonBackView> orderDonBackViews = beanSearcher.searchAll(OrderDonBackView.class, MapUtils.builder().field(OrderDonBackView::getMOid, mData.getMOid()).build());
 			mData.setOrderDonViews(orderDonBackViews);
 			mData.getOrderDonViews().forEach(data -> {
 				if (data.getPopularizeId() != null) {

+ 18 - 0
netflix-web/src/main/java/com/cyksj/web/controller/payment/OrderController.java

@@ -28,6 +28,7 @@ import com.cyksj.model.manage.views.OrderMasterDonView;
 import com.cyksj.model.manage.views.OrderMasterSearchView;
 import com.cyksj.model.request.AlipayOrderDonReq;
 import com.cyksj.model.request.OrderPayRequest;
+import com.cyksj.model.request.UnifiedOrderPayReq;
 import com.cyksj.model.response.AliPayTradeStatus;
 import com.cyksj.model.views.GoodsDonSkuView;
 import com.cyksj.model.views.OrderCommentView;
@@ -136,6 +137,23 @@ public class OrderController {
         return GatewayResponse.SUCCESS.newBuilder().toResult(orderDon);
     }
 
+
+    /**
+     * 统一预下单支付
+     * @author chan
+     * @date 2021-10-11 下午4:56
+     */
+    @PostMapping("/post/unifiedSubmit")
+    public Result<OrderMasterDon> unifiedSubmit(@RequestBody UnifiedOrderPayReq unifiedOrderPayReq) throws Exception {
+        final String methodName = "吊起微信支付";
+        unifiedOrderPayReq.setUserId(StpUserUtil.getUserIdAfterLogin());
+        log.info("{}[start] params:{}", methodName, unifiedOrderPayReq);
+
+        OrderMasterDon orderMasterDon = orderDonService.unifiedSubmit(unifiedOrderPayReq);
+
+        return GatewayResponse.SUCCESS.newBuilder().toResult(orderMasterDon);
+    }
+
     /**
      * 0元订单确认
      */