|
|
@@ -12,10 +12,7 @@ import com.google.common.collect.Lists;
|
|
|
import com.google.common.collect.Maps;
|
|
|
import com.poyee.constant.ProductConstant;
|
|
|
import com.poyee.domain.*;
|
|
|
-import com.poyee.enums.ProductTypeEnum;
|
|
|
-import com.poyee.enums.ReviewStatusEnum;
|
|
|
-import com.poyee.enums.SaleTypeEnum;
|
|
|
-import com.poyee.enums.StatusEnum;
|
|
|
+import com.poyee.enums.*;
|
|
|
import com.poyee.exception.BusinessException;
|
|
|
import com.poyee.facade.IProductInfoFacade;
|
|
|
import com.poyee.mapstruct.ProductInfoMapstruct;
|
|
|
@@ -33,6 +30,7 @@ import lombok.AllArgsConstructor;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
+import java.time.LocalDateTime;
|
|
|
import java.util.Arrays;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
@@ -84,7 +82,7 @@ public class ProductInfoFacade implements IProductInfoFacade {
|
|
|
.collect(Collectors.toMap(ProductFastSale::getSku, Function.identity()));
|
|
|
List<ProductListRes> productListResList = productInfos.stream()
|
|
|
.map(productInfo -> {
|
|
|
- ProductListBO productBO = productInfoMapstruct.productDo2Bo(productInfo);
|
|
|
+ ProductListBO productBO = productInfoMapstruct.productDo2Bo(productInfo);
|
|
|
ProductListRes productListRes = productInfoMapstruct.productBO2Res(productBO);
|
|
|
if (Objects.nonNull(productInfo.getFastSaleFlag()) && productInfo.getFastSaleFlag() == StatusEnum.TRUE.getCode() && Objects.nonNull(fastSaleMap.get(productInfo.getSku()))) {
|
|
|
productListRes.setSaleTime(fastSaleMap.get(productInfo.getSku()).getSaleTime());
|
|
|
@@ -92,7 +90,7 @@ public class ProductInfoFacade implements IProductInfoFacade {
|
|
|
}
|
|
|
return productListRes;
|
|
|
})
|
|
|
- .collect(Collectors.toList());
|
|
|
+ .collect(Collectors.toList());
|
|
|
return PageInfo.of(productListResList);
|
|
|
}
|
|
|
|
|
|
@@ -106,7 +104,7 @@ public class ProductInfoFacade implements IProductInfoFacade {
|
|
|
Arrays.asList(productMedia.getOtherImages().split(",")) : Lists.newArrayList();
|
|
|
if (Objects.equals(productTypeEnum, ProductTypeEnum.STAR_CARD)) {
|
|
|
CardAttribute cardAttribute = cardAttributeService.lambdaQuery().eq(CardAttribute::getRelationSku, productInfo.getSku()).one();
|
|
|
- Assert.notNull(cardAttribute, "The_product_attribute_does_not_exist");
|
|
|
+ Assert.notNull(cardAttribute, "the_product_attribute_does_not_exist");
|
|
|
return ProductDetailRes.builder()
|
|
|
.productType(productInfo.getProductType())
|
|
|
.year(cardAttribute.getYear())
|
|
|
@@ -141,7 +139,7 @@ public class ProductInfoFacade implements IProductInfoFacade {
|
|
|
validateReviewStatus(productInfo, productReviewReq.getStatus());
|
|
|
sysDictDataService.validateOptions(ProductConstant.DICT_KEY_PRODUCT_STATUS, StrUtil.toString(productReviewReq.getStatus()));
|
|
|
productInfo.setStatus(productReviewReq.getStatus());
|
|
|
- productInfo.setUpdateBy(Objects.nonNull(ServletUtils.getCurrentUser()) ? ServletUtils.getCurrentUser().getString("sub") : null);
|
|
|
+ productInfo.setUpdateBy(Objects.nonNull(ServletUtils.getCurrentUser()) ? ServletUtils.getCurrentUser().getString(ProductConstant.SUB) : null);
|
|
|
productInfo.setUpdateTime(LocaleTimeZoneUtil.nowUtc());
|
|
|
return productInfoService.updateById(productInfo);
|
|
|
}
|
|
|
@@ -159,7 +157,7 @@ public class ProductInfoFacade implements IProductInfoFacade {
|
|
|
public Boolean idleAttribute(IdleAttributeReq idleAttributeReq) {
|
|
|
ProductInfo productInfo = productInfo(idleAttributeReq.getSku());
|
|
|
|
|
|
- sysDictDataService.validateOptions(ProductConstant.DICT_KEY_WHETHER, idleAttributeReq.getIdleFlag() ? "1" : "0");
|
|
|
+ sysDictDataService.validateOptions(ProductConstant.DICT_KEY_WHETHER, idleAttributeReq.getIdleFlag() ? StrUtil.toString(WhetherEnum.YES.getCode()) : StrUtil.toString(WhetherEnum.NO.getCode()));
|
|
|
sysDictDataService.validateOptions(ProductConstant.DICT_KEY_PERMISSION, StrUtil.toString(idleAttributeReq.getPermission()));
|
|
|
|
|
|
productInfo.setIdleFlag(BooleanUtil.isTrue(idleAttributeReq.getIdleFlag()) ? StatusEnum.TRUE.getCode() : StatusEnum.FALSE.getCode());
|
|
|
@@ -201,28 +199,29 @@ public class ProductInfoFacade implements IProductInfoFacade {
|
|
|
.eq(ProductFastSale::getSku, fastSaleReq.getSku())
|
|
|
.one();
|
|
|
|
|
|
- sysDictDataService.validateOptions(ProductConstant.DICT_KEY_WHETHER, fastSaleReq.getRecycleFlag() ? "1" : "0");
|
|
|
+ sysDictDataService.validateOptions(ProductConstant.DICT_KEY_WHETHER, fastSaleReq.getRecycleFlag() ? StrUtil.toString(WhetherEnum.YES.getCode()) : StrUtil.toString(WhetherEnum.NO.getCode()));
|
|
|
sysDictDataService.validateOptions(ProductConstant.DICT_KEY_PERMISSION, StrUtil.toString(fastSaleReq.getPermission()));
|
|
|
-
|
|
|
+ LocalDateTime saleTimeUtc = LocaleTimeZoneUtil.toUtc(fastSaleReq.getSaleTime());
|
|
|
+ int saleType = Objects.nonNull(saleTimeUtc) ? SaleTypeEnum.PRE_SALE.getCode() : SaleTypeEnum.SPOT.getCode();
|
|
|
if (Objects.isNull(existingFastSale)) {
|
|
|
ProductFastSale newFastSale = ProductFastSale.builder()
|
|
|
- .saleType(Objects.nonNull(fastSaleReq.getSaleTime()) ? SaleTypeEnum.PRE_SALE.getCode() : SaleTypeEnum.SPOT.getCode())
|
|
|
+ .saleType(saleType)
|
|
|
.sku(fastSaleReq.getSku())
|
|
|
.recycleFlag(BooleanUtil.isTrue(fastSaleReq.getRecycleFlag()) ? StatusEnum.TRUE.getCode() : StatusEnum.FALSE.getCode())
|
|
|
.recycleInventory(fastSaleReq.getRecycleInventory())
|
|
|
- .saleTime(fastSaleReq.getSaleTime())
|
|
|
- .createBy(Objects.nonNull(ServletUtils.getCurrentUser()) ? ServletUtils.getCurrentUser().getString("sub") : null)
|
|
|
+ .saleTime(saleTimeUtc)
|
|
|
+ .createBy(Objects.nonNull(ServletUtils.getCurrentUser()) ? ServletUtils.getCurrentUser().getString(ProductConstant.SUB) : null)
|
|
|
.createTime(LocaleTimeZoneUtil.nowUtc())
|
|
|
.build();
|
|
|
this.productFastSaleService.save(newFastSale);
|
|
|
productInfo.setFastSaleFlag(StatusEnum.TRUE.getCode());
|
|
|
return this.productInfoService.updateById(productInfo);
|
|
|
} else {
|
|
|
- existingFastSale.setSaleType(Objects.nonNull(fastSaleReq.getSaleTime()) ? SaleTypeEnum.PRE_SALE.getCode() : SaleTypeEnum.SPOT.getCode());
|
|
|
+ existingFastSale.setSaleType(saleType);
|
|
|
existingFastSale.setRecycleFlag(BooleanUtil.isTrue(fastSaleReq.getRecycleFlag()) ? StatusEnum.TRUE.getCode() : StatusEnum.FALSE.getCode());
|
|
|
existingFastSale.setRecycleInventory(fastSaleReq.getRecycleInventory());
|
|
|
- existingFastSale.setSaleTime(fastSaleReq.getSaleTime());
|
|
|
- existingFastSale.setUpdateBy(Objects.nonNull(ServletUtils.getCurrentUser()) ? ServletUtils.getCurrentUser().getString("sub") : null);
|
|
|
+ existingFastSale.setSaleTime(saleTimeUtc);
|
|
|
+ existingFastSale.setUpdateBy(Objects.nonNull(ServletUtils.getCurrentUser()) ? ServletUtils.getCurrentUser().getString(ProductConstant.SUB) : null);
|
|
|
existingFastSale.setUpdateTime(LocaleTimeZoneUtil.nowUtc());
|
|
|
return this.productFastSaleService.updateById(existingFastSale);
|
|
|
}
|
|
|
@@ -264,7 +263,7 @@ public class ProductInfoFacade implements IProductInfoFacade {
|
|
|
.relationCode(productInfoAddReq.getRelationCode())
|
|
|
.productProperties(productInfoAddReq.getProductProperties())
|
|
|
.sort(productInfoAddReq.getSort())
|
|
|
- .createBy(Objects.nonNull(ServletUtils.getCurrentUser()) ? ServletUtils.getCurrentUser().getString("sub") : null)
|
|
|
+ .createBy(Objects.nonNull(ServletUtils.getCurrentUser()) ? ServletUtils.getCurrentUser().getString(ProductConstant.SUB) : null)
|
|
|
.createTime(LocaleTimeZoneUtil.nowUtc())
|
|
|
.build();
|
|
|
this.productInfoService.save(productInfo);
|
|
|
@@ -279,7 +278,7 @@ public class ProductInfoFacade implements IProductInfoFacade {
|
|
|
.productType(productInfoAddReq.getProductType())
|
|
|
.label(productInfoAddReq.getLabelKey())
|
|
|
.sort(productInfoAddReq.getSort())
|
|
|
- .createBy(Objects.nonNull(ServletUtils.getCurrentUser()) ? ServletUtils.getCurrentUser().getString("sub") : null)
|
|
|
+ .createBy(Objects.nonNull(ServletUtils.getCurrentUser()) ? ServletUtils.getCurrentUser().getString(ProductConstant.SUB) : null)
|
|
|
.productProperties(productInfoAddReq.getProductProperties())
|
|
|
.productDesc(productInfoAddReq.getProductDesc())
|
|
|
.relationCode(productInfoAddReq.getRelationCode())
|