后端:增加 MyBatis JSONTypeHandler
后端:增加指定商品的促销价格计算 前端:商品详情页,增加促销价格计算
This commit is contained in:
@@ -4,9 +4,11 @@ import cn.iocoder.common.framework.vo.CommonResult;
|
||||
import cn.iocoder.mall.order.api.CartService;
|
||||
import cn.iocoder.mall.order.api.OrderService;
|
||||
import cn.iocoder.mall.order.api.bo.CalcOrderPriceBO;
|
||||
import cn.iocoder.mall.order.api.bo.CalcSkuPriceBO;
|
||||
import cn.iocoder.mall.order.api.bo.CartItemBO;
|
||||
import cn.iocoder.mall.order.api.dto.CalcOrderPriceDTO;
|
||||
import cn.iocoder.mall.order.application.convert.CartConvert;
|
||||
import cn.iocoder.mall.order.application.vo.UsersCalcSkuPriceVO;
|
||||
import cn.iocoder.mall.order.application.vo.UsersCartDetailVO;
|
||||
import cn.iocoder.mall.order.application.vo.UsersOrderConfirmCreateVO;
|
||||
import cn.iocoder.mall.user.sdk.context.UserSecurityContextHolder;
|
||||
@@ -129,6 +131,17 @@ public class UsersCartController {
|
||||
return cartService.calcOrderPrice(calcOrderPriceDTO);
|
||||
}
|
||||
|
||||
@GetMapping("/calc_sku_price")
|
||||
public CommonResult<UsersCalcSkuPriceVO> calcSkuPrice(@RequestParam("skuId") Integer skuId) {
|
||||
// 计算 sku 的价格
|
||||
CommonResult<CalcSkuPriceBO> calcSkuPriceResult = cartService.calcSkuPrice(skuId);
|
||||
// 返回结果
|
||||
if (calcSkuPriceResult.isError()) {
|
||||
return CommonResult.error(calcSkuPriceResult);
|
||||
}
|
||||
return CommonResult.success(CartConvert.INSTANCE.convert2(calcSkuPriceResult.getData()));
|
||||
}
|
||||
|
||||
public CommonResult<Object> confirmOrder() {
|
||||
// 查询购物车列表(选中的)
|
||||
// cartService.list(userId, true);
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package cn.iocoder.mall.order.application.convert;
|
||||
|
||||
import cn.iocoder.mall.order.api.bo.CalcOrderPriceBO;
|
||||
import cn.iocoder.mall.order.api.bo.CalcSkuPriceBO;
|
||||
import cn.iocoder.mall.order.application.vo.UsersCalcSkuPriceVO;
|
||||
import cn.iocoder.mall.order.application.vo.UsersCartDetailVO;
|
||||
import cn.iocoder.mall.order.application.vo.UsersOrderConfirmCreateVO;
|
||||
import org.mapstruct.Mapper;
|
||||
@@ -15,4 +17,6 @@ public interface CartConvert {
|
||||
|
||||
UsersCartDetailVO convert2(CalcOrderPriceBO calcOrderPriceBO);
|
||||
|
||||
UsersCalcSkuPriceVO convert2(CalcSkuPriceBO calcSkuPriceBO);
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
package cn.iocoder.mall.order.application.vo;
|
||||
|
||||
import cn.iocoder.mall.promotion.api.bo.PromotionActivityBO;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
@ApiModel("计算商品 SKU 价格结果 VO")
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class UsersCalcSkuPriceVO {
|
||||
|
||||
/**
|
||||
* 满减送促销活动
|
||||
*
|
||||
* TODO 芋艿,后续改成 VO
|
||||
*/
|
||||
private PromotionActivityBO fullPrivilege;
|
||||
/**
|
||||
* 电视和折扣促销活动
|
||||
*
|
||||
* TODO 芋艿,后续改成 VO
|
||||
*/
|
||||
private PromotionActivityBO timeLimitedDiscount;
|
||||
/**
|
||||
* 原价格,单位:分。
|
||||
*/
|
||||
private Integer originalPrice;
|
||||
/**
|
||||
* 最终价格,单位:分。
|
||||
*/
|
||||
private Integer presentPrice;
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user