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

代码优化

上级 d0ae12dc
package org.dromara.order.api.domain; package org.dromara.order.api.domain;
import lombok.Data; import lombok.Data;
import lombok.experimental.Accessors;
import org.dromara.order.api.enums.FeeType; import org.dromara.order.api.enums.FeeType;
import org.dromara.order.api.enums.OrderType; import org.dromara.order.api.enums.OrderType;
import org.dromara.order.api.enums.Source; import org.dromara.order.api.enums.Source;
...@@ -16,6 +17,7 @@ import java.util.List; ...@@ -16,6 +17,7 @@ import java.util.List;
* @date 2024-12-05 * @date 2024-12-05
**/ **/
@Data @Data
@Accessors(chain = true)
public class RemoteSaveOrder { public class RemoteSaveOrder {
/** /**
...@@ -47,6 +49,7 @@ public class RemoteSaveOrder { ...@@ -47,6 +49,7 @@ public class RemoteSaveOrder {
* 费用信息 * 费用信息
*/ */
@Data @Data
@Accessors(chain = true)
public static class Fee { public static class Fee {
/** /**
......
...@@ -11,6 +11,14 @@ import lombok.Getter; ...@@ -11,6 +11,14 @@ import lombok.Getter;
@AllArgsConstructor @AllArgsConstructor
public enum FeeType { 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", "服务费"); SERVICE_FEE("SERVICE_FEE", "服务费");
......
...@@ -2,10 +2,16 @@ package org.dromara.server.service.impl; ...@@ -2,10 +2,16 @@ package org.dromara.server.service.impl;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; 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.domain.RemoteSaveOrder;
import org.dromara.order.api.enums.FeeType;
import org.dromara.server.service.IOrderStrategy; import org.dromara.server.service.IOrderStrategy;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
/** /**
* 机场订单策略 * 机场订单策略
* *
...@@ -16,8 +22,33 @@ import org.springframework.stereotype.Service; ...@@ -16,8 +22,33 @@ import org.springframework.stereotype.Service;
@Service("AIRPORT" + IOrderStrategy.BASE_NAME) @Service("AIRPORT" + IOrderStrategy.BASE_NAME)
@RequiredArgsConstructor @RequiredArgsConstructor
public class AirportOrderStrategy implements IOrderStrategy { public class AirportOrderStrategy implements IOrderStrategy {
private IAirportService airportService;
@Override @Override
public RemoteSaveOrder createOrder(String orderNo) { 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; ...@@ -6,6 +6,7 @@ import org.dromara.order.api.RemoteOrderService;
import org.dromara.order.api.domain.RemoteSaveOrder; import org.dromara.order.api.domain.RemoteSaveOrder;
import org.dromara.order.api.enums.OrderType; import org.dromara.order.api.enums.OrderType;
import org.dromara.order.api.enums.Source; 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.IOrderStrategy;
import org.dromara.server.service.IPayOrderService; import org.dromara.server.service.IPayOrderService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -25,6 +26,8 @@ public class PayOrderServiceImpl implements IPayOrderService { ...@@ -25,6 +26,8 @@ public class PayOrderServiceImpl implements IPayOrderService {
public String createOrder(String orderNo, OrderType orderType) { public String createOrder(String orderNo, OrderType orderType) {
RemoteSaveOrder order = IOrderStrategy.createOrder(orderNo, orderType); RemoteSaveOrder order = IOrderStrategy.createOrder(orderNo, orderType);
order.setSource(Source.YSH); order.setSource(Source.YSH);
return null; order.setOriginOrderNo(orderNo);
order.setTradeType(TradeType.JSAPI);
return remoteOrderService.createOrder(order);
} }
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论