dev-v2 #3

Merged
bunny merged 122 commits from dev-v2 into master-v2 2024-03-30 23:40:58 +08:00
4 changed files with 44 additions and 2 deletions
Showing only changes of commit a191aa60f2 - Show all commits

View File

@ -10,11 +10,9 @@ import java.util.List;
@Data @Data
@Schema(description = "结算实体类") @Schema(description = "结算实体类")
public class TradeVo { public class TradeVo {
@Schema(description = "结算总金额") @Schema(description = "结算总金额")
private BigDecimal totalAmount; private BigDecimal totalAmount;
@Schema(description = "结算商品列表") @Schema(description = "结算商品列表")
private List<OrderItem> orderItemList; private List<OrderItem> orderItemList;
} }

View File

@ -38,4 +38,11 @@ public class OrderInfoController {
OrderInfo orderInfo = orderInfoService.getOrderInfo(orderId); OrderInfo orderInfo = orderInfoService.getOrderInfo(orderId);
return Result.success(orderInfo); return Result.success(orderInfo);
} }
@Operation(summary = "立即购买")
@GetMapping("auth/buy/{skuId}")
public Result<TradeVo> buy(@Parameter(name = "skuId", description = "商品skuId", required = true) @PathVariable Long skuId) {
TradeVo tradeVo = orderInfoService.buy(skuId);
return Result.success(tradeVo);
}
} }

View File

@ -27,4 +27,12 @@ public interface OrderInfoService {
* @return OrderInfo * @return OrderInfo
*/ */
OrderInfo getOrderInfo(Long orderId); OrderInfo getOrderInfo(Long orderId);
/**
* 立即购买
*
* @param skuId 商品Id
* @return 结算实体类
*/
TradeVo buy(Long skuId);
} }

View File

@ -160,4 +160,33 @@ public class OrderInfoServiceImpl implements OrderInfoService {
public OrderInfo getOrderInfo(Long orderId) { public OrderInfo getOrderInfo(Long orderId) {
return orderInfoMapper.getById(orderId); return orderInfoMapper.getById(orderId);
} }
/**
* 立即购买
*
* @param skuId 商品Id
* @return 结算实体类
*/
@Override
public TradeVo buy(Long skuId) {
// 查询商品
ProductSku productSku = productFeignClient.getBySkuId(skuId).getData();
List<OrderItem> orderItemList = new ArrayList<>();
OrderItem orderItem = new OrderItem();
orderItem.setSkuId(skuId);
orderItem.setSkuName(productSku.getSkuName());
orderItem.setSkuNum(1);
orderItem.setSkuPrice(productSku.getSalePrice());
orderItem.setThumbImg(productSku.getThumbImg());
orderItemList.add(orderItem);
// 计算总金额
BigDecimal totalAmount = productSku.getSalePrice();
TradeVo tradeVo = new TradeVo();
tradeVo.setTotalAmount(totalAmount);
tradeVo.setOrderItemList(orderItemList);
// 返回
return tradeVo;
}
} }