|
|
|
|
@ -1,13 +1,12 @@
|
|
|
|
|
package cn.iocoder.yudao.module.product.convert.spu;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
|
|
|
import cn.iocoder.yudao.framework.dict.core.util.DictFrameworkUtils;
|
|
|
|
|
import cn.iocoder.yudao.module.product.api.spu.dto.ProductSpuRespDTO;
|
|
|
|
|
import cn.iocoder.yudao.module.product.controller.admin.spu.vo.*;
|
|
|
|
|
import cn.iocoder.yudao.module.product.controller.app.spu.vo.AppProductSpuDetailRespVO;
|
|
|
|
|
import cn.iocoder.yudao.module.product.controller.app.spu.vo.AppProductSpuPageRespVO;
|
|
|
|
|
import cn.iocoder.yudao.module.product.controller.app.spu.vo.AppProductSpuPageReqVO;
|
|
|
|
|
import cn.iocoder.yudao.module.product.controller.app.spu.vo.AppProductSpuPageRespVO;
|
|
|
|
|
import cn.iocoder.yudao.module.product.convert.sku.ProductSkuConvert;
|
|
|
|
|
import cn.iocoder.yudao.module.product.dal.dataobject.sku.ProductSkuDO;
|
|
|
|
|
import cn.iocoder.yudao.module.product.dal.dataobject.spu.ProductSpuDO;
|
|
|
|
|
@ -46,20 +45,6 @@ public interface ProductSpuConvert {
|
|
|
|
|
|
|
|
|
|
List<ProductSpuSimpleRespVO> convertList02(List<ProductSpuDO> list);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 列表转字符串
|
|
|
|
|
*
|
|
|
|
|
* @param list 列表
|
|
|
|
|
* @return 字符串
|
|
|
|
|
*/
|
|
|
|
|
@Named("convertListToString")
|
|
|
|
|
default String convertListToString(List<?> list) {
|
|
|
|
|
return StrUtil.toString(list);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Mapping(source = "sliderPicUrls", target = "sliderPicUrls", qualifiedByName = "convertListToString")
|
|
|
|
|
@Mapping(source = "giveCouponTemplateIds", target = "giveCouponTemplateIds", qualifiedByName = "convertListToString")
|
|
|
|
|
@Mapping(source = "activityOrders", target = "activityOrders", qualifiedByName = "convertListToString")
|
|
|
|
|
@Mapping(target = "price", expression = "java(spu.getPrice() / 100)")
|
|
|
|
|
@Mapping(target = "marketPrice", expression = "java(spu.getMarketPrice() / 100)")
|
|
|
|
|
@Mapping(target = "costPrice", expression = "java(spu.getCostPrice() / 100)")
|
|
|
|
|
@ -83,7 +68,16 @@ public interface ProductSpuConvert {
|
|
|
|
|
default List<AppProductSpuPageRespVO> convertListForGetSpuList(List<ProductSpuDO> list) {
|
|
|
|
|
// 处理虚拟销量
|
|
|
|
|
list.forEach(spu -> spu.setSalesCount(spu.getSalesCount() + spu.getVirtualSalesCount()));
|
|
|
|
|
return convertListForGetSpuList0(list);
|
|
|
|
|
// 处理 VO 字段
|
|
|
|
|
List<AppProductSpuPageRespVO> voList = convertListForGetSpuList0(list);
|
|
|
|
|
for (int i = 0; i < list.size(); i++) {
|
|
|
|
|
ProductSpuDO spu = list.get(i);
|
|
|
|
|
AppProductSpuPageRespVO spuVO = voList.get(i);
|
|
|
|
|
spuVO.setUnitName(DictFrameworkUtils.getDictDataLabel(DictTypeConstants.PRODUCT_UNIT, spu.getUnit()));
|
|
|
|
|
// 计算 vip 价格 TODO 芋艿:临时的逻辑,等 vip 支持后
|
|
|
|
|
spuVO.setVipPrice((int) (spuVO.getPrice() * 0.9));
|
|
|
|
|
}
|
|
|
|
|
return voList;
|
|
|
|
|
}
|
|
|
|
|
@Named("convertListForGetSpuList0")
|
|
|
|
|
List<AppProductSpuPageRespVO> convertListForGetSpuList0(List<ProductSpuDO> list);
|
|
|
|
|
|