From e1bbc0cf1d8bb72fbd41976712bb847d242f3671 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期一, 09 三月 2026 20:59:36 +0800
Subject: [PATCH] 门票对接
---
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTicketOrderServiceImpl.java | 70 +++++++++++++++++++++++++++++++++++
1 files changed, 70 insertions(+), 0 deletions(-)
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTicketOrderServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTicketOrderServiceImpl.java
index e1ed51b..5f9092a 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTicketOrderServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTicketOrderServiceImpl.java
@@ -1,16 +1,28 @@
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.utils.OrderNos;
+import com.ruoyi.system.dto.CreateOrderDto;
+import com.ruoyi.system.dto.CreateOrderRequest;
+import com.ruoyi.system.dto.VisitPerson;
import com.ruoyi.system.model.TTicketOrder;
import com.ruoyi.system.mapper.TTicketOrderMapper;
+import com.ruoyi.system.model.TTourist;
import com.ruoyi.system.query.AppletOrderListQuery;
import com.ruoyi.system.query.TTicketOrderQuery;
+import com.ruoyi.system.service.TAppUserService;
import com.ruoyi.system.service.TTicketOrderService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.system.service.TTouristService;
+import com.ruoyi.system.utils.ticketUtil.TicketUtil;
+import com.ruoyi.system.vo.CreateOrderVo;
import com.ruoyi.system.vo.TTicketOrderVo;
import org.springframework.stereotype.Service;
+import java.math.BigDecimal;
+import java.util.ArrayList;
import java.util.List;
+import java.util.stream.Collectors;
/**
* <p>
@@ -22,6 +34,19 @@
*/
@Service
public class TTicketOrderServiceImpl extends ServiceImpl<TTicketOrderMapper, TTicketOrder> implements TTicketOrderService {
+
+
+ private final TicketUtil ticketUtil;
+ private final TTouristService tTouristService;
+
+
+
+
+ public TTicketOrderServiceImpl(TicketUtil ticketUtil, TTouristService tTouristService) {
+ this.ticketUtil = ticketUtil;
+ this.tTouristService = tTouristService;
+ }
+
@Override
public Page<TTicketOrderVo> pageList(Page<TTicketOrderVo> page, TTicketOrderQuery query) {
@@ -44,4 +69,49 @@
page.setRecords( list);
return page;
}
+
+ @Override
+ public boolean addOrder(CreateOrderDto dto, Integer userId) throws Exception {
+
+ CreateOrderRequest request = new CreateOrderRequest();
+ String did = OrderNos.getDid();
+ request.setOrderId(did);
+ request.setTravelDate(dto.getTravelDate());
+ request.setQuantity(dto.getQuantity());
+ request.setProductId(dto.getProductId());
+
+ if (dto.getQuantity()!=dto.getVisitPersons().size()) {
+ throw new RuntimeException("人数不匹配");
+ }
+
+ List<TTourist> tTourists = tTouristService.listByIds(dto.getVisitPersons());
+ ArrayList<VisitPerson> visitPeople = new ArrayList<>();
+ for (TTourist tTourist : tTourists) {
+ VisitPerson visitPerson = new VisitPerson();
+ visitPerson.setName(tTourist.getName());
+ visitPerson.setMobile(tTourist.getPhone());
+ visitPerson.setIdCard(tTourist.getIdCard());
+ visitPeople.add(visitPerson);
+ }
+ request.setVisitPersons(visitPeople);
+ CreateOrderVo createOrderVo = ticketUtil.saveOrder(request);
+
+ TTicketOrder order = new TTicketOrder();
+ order.setAppUserId(userId);
+ order.setOrderNo(did);
+ order.setPartnerOrderId(createOrderVo.getPartnerOrderId());
+ order.setOrderPrice(new BigDecimal(createOrderVo.getOrderAmount()).setScale(2, BigDecimal.ROUND_HALF_UP));
+
+
+ String result = dto.getVisitPersons().stream()
+ .map(String::valueOf) // Integer 转 String
+ .collect(Collectors.joining(","));
+ order.setTourist(result);
+ order.setTicketNum(dto.getQuantity());
+ order.setStatus(0);
+
+ order.setTicketInfo(dto.getProductName());
+ boolean save = this.save(order);
+ return save;
+ }
}
--
Gitblit v1.7.1