提交 414b3c1b authored 作者: hzh's avatar hzh

代码优化

上级 d0ae12dc
package org.dromara.order.api.domain;
import lombok.Data;
import lombok.experimental.Accessors;
import org.dromara.order.api.enums.FeeType;
import org.dromara.order.api.enums.OrderType;
import org.dromara.order.api.enums.Source;
......@@ -16,6 +17,7 @@ import java.util.List;
* @date 2024-12-05
**/
@Data
@Accessors(chain = true)
public class RemoteSaveOrder {
/**
......@@ -47,6 +49,7 @@ public class RemoteSaveOrder {
* 费用信息
*/
@Data
@Accessors(chain = true)
public static class Fee {
/**
......
......@@ -11,6 +11,14 @@ import lombok.Getter;
@AllArgsConstructor
public enum FeeType {
//保险费
INSURANCE_FEE("INSURANCE_FEE", "保险费"),
//燃油费
FUEL_FEE("FUEL_FEE", "燃油费"),
//云上服务费
CLOUD_SERVICE_FEE("CLOUD_SERVICE_FEE", "云上服务费"),
//飞机票费
AIRPLANE_TICKET_FEE("AIRPLANE_TICKET_FEE", "飞机票费"),
//服务费
SERVICE_FEE("SERVICE_FEE", "服务费");
......
......@@ -2,10 +2,16 @@ package org.dromara.server.service.impl;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.common.ys.model.req.airport.QueryTkOrderModel;
import org.dromara.common.ys.service.IAirportService;
import org.dromara.order.api.domain.RemoteSaveOrder;
import org.dromara.order.api.enums.FeeType;
import org.dromara.server.service.IOrderStrategy;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 机场订单策略
*
......@@ -16,8 +22,33 @@ import org.springframework.stereotype.Service;
@Service("AIRPORT" + IOrderStrategy.BASE_NAME)
@RequiredArgsConstructor
public class AirportOrderStrategy implements IOrderStrategy {
private IAirportService airportService;
@Override
public RemoteSaveOrder createOrder(String orderNo) {
return null;
org.dromara.common.ys.model.res.airport.QueryTkOrderModel detail = airportService.detail(LoginHelper.getUserNo(), new QueryTkOrderModel().setOrderNo(orderNo));
// 保险金额
RemoteSaveOrder.Fee insuranceFee = new RemoteSaveOrder.Fee()
.setFeeDesc("保险费")
.setFeeAmount(detail.getInsureAmount())
.setFeeType(FeeType.INSURANCE_FEE);
//服务费
RemoteSaveOrder.Fee serviceFee = new RemoteSaveOrder.Fee()
.setFeeDesc("服务费")
.setFeeAmount(detail.getServiceFee())
.setFeeType(FeeType.CLOUD_SERVICE_FEE);
//燃油费
RemoteSaveOrder.Fee fuelFee = new RemoteSaveOrder.Fee()
.setFeeDesc("燃油费")
.setFeeAmount(detail.getInsureAmount())
.setFeeType(FeeType.FUEL_FEE);
//飞机票费
RemoteSaveOrder.Fee planeTicket = new RemoteSaveOrder.Fee()
.setFeeDesc("飞机票")
.setFeeAmount(detail.getSalePrice())
.setFeeType(FeeType.AIRPLANE_TICKET_FEE);
return new RemoteSaveOrder()
.setFeeList(List.of(insuranceFee, serviceFee, fuelFee, planeTicket));
}
}
......@@ -6,6 +6,7 @@ import org.dromara.order.api.RemoteOrderService;
import org.dromara.order.api.domain.RemoteSaveOrder;
import org.dromara.order.api.enums.OrderType;
import org.dromara.order.api.enums.Source;
import org.dromara.order.api.enums.TradeType;
import org.dromara.server.service.IOrderStrategy;
import org.dromara.server.service.IPayOrderService;
import org.springframework.stereotype.Service;
......@@ -25,6 +26,8 @@ public class PayOrderServiceImpl implements IPayOrderService {
public String createOrder(String orderNo, OrderType orderType) {
RemoteSaveOrder order = IOrderStrategy.createOrder(orderNo, orderType);
order.setSource(Source.YSH);
return null;
order.setOriginOrderNo(orderNo);
order.setTradeType(TradeType.JSAPI);
return remoteOrderService.createOrder(order);
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论