You've already forked FrameTour-BE
feat(mobile): 新增移动端订单V2接口
- 添加 AppOrderV2Controller 控制器,实现移动端价格计算和下单功能 - 新增 MobilePriceCalculationRequest DTO 类,用于移动端价格计算请求- 集成 Redis 缓存机制,提升价格查询性能- 实现人脸权限验证和价格缓存验证逻辑 - 优化日志记录和异常处理
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
package com.ycwl.basic.pricing.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 移动端价格计算请求DTO
|
||||
*/
|
||||
@Data
|
||||
public class MobilePriceCalculationRequest {
|
||||
|
||||
/**
|
||||
* 商品列表
|
||||
*/
|
||||
private List<ProductItem> products;
|
||||
|
||||
/**
|
||||
* 人脸ID(必填,用于权限验证)
|
||||
*/
|
||||
private Long faceId;
|
||||
|
||||
/**
|
||||
* 是否自动使用优惠券
|
||||
*/
|
||||
private Boolean autoUseCoupon = true;
|
||||
|
||||
/**
|
||||
* 用户输入的券码
|
||||
*/
|
||||
private String voucherCode;
|
||||
|
||||
/**
|
||||
* 是否自动使用券码优惠
|
||||
*/
|
||||
private Boolean autoUseVoucher = true;
|
||||
|
||||
/**
|
||||
* 是否仅预览优惠(不实际使用)
|
||||
*/
|
||||
private Boolean previewOnly = false;
|
||||
|
||||
/**
|
||||
* 转换为标准价格计算请求
|
||||
*
|
||||
* @param userId 用户ID
|
||||
* @param scenicId 景区ID
|
||||
* @return 标准价格计算请求
|
||||
*/
|
||||
public PriceCalculationRequest toStandardRequest(Long userId, Long scenicId) {
|
||||
PriceCalculationRequest request = new PriceCalculationRequest();
|
||||
request.setProducts(this.products);
|
||||
request.setUserId(userId);
|
||||
request.setScenicId(scenicId);
|
||||
request.setFaceId(this.faceId);
|
||||
request.setAutoUseCoupon(this.autoUseCoupon);
|
||||
request.setVoucherCode(this.voucherCode);
|
||||
request.setAutoUseVoucher(this.autoUseVoucher);
|
||||
request.setPreviewOnly(this.previewOnly);
|
||||
return request;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user