Переглянути джерело

fix 无登录账号密码订单展示

zoujiajian 2 роки тому
батько
коміт
bd57e2550c

+ 12 - 8
netflix-service/src/main/java/com/cyksj/service/order/impl/OrderDonServiceImpl.java

@@ -975,15 +975,19 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 		}
 		OrderDetailView detail = beanSearcher.searchFirst(OrderDetailView.class, builder.build());
 		//获取对应车票订单 账号密码
-		RenewalView renewalView = beanSearcher.searchFirst(RenewalView.class, MapUtils.builder()
-				.field(RenewalView::getUserId, userId)
-				.field(RenewalView::getRelationId, detail.getRelationId())
-				.onlySelect(RenewalView::getAccount, RenewalView::getPassword)
-				.build());
-		if (renewalView != null) {
-			detail.setAccount(renewalView.getAccount());
-			detail.setPassword(renewalView.getPassword());
+		if (userId != null) {
+			List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, null);
+			RenewalView renewalView = beanSearcher.searchFirst(RenewalView.class, MapUtils.builder()
+					.field(RenewalView::getUserId, userIdList).op(Operator.InList)
+					.field(RenewalView::getRelationId, detail.getRelationId())
+					.onlySelect(RenewalView::getAccount, RenewalView::getPassword)
+					.build());
+			if (renewalView != null) {
+				detail.setAccount(renewalView.getAccount());
+				detail.setPassword(renewalView.getPassword());
+			}
 		}
+
 		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")));