|
|
@@ -1,6 +1,7 @@
|
|
|
package com.poyee.facade.impl;
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
+import cn.hutool.core.date.LocalDateTimeUtil;
|
|
|
import cn.hutool.core.lang.Assert;
|
|
|
import cn.hutool.core.util.BooleanUtil;
|
|
|
import cn.hutool.core.util.IdUtil;
|
|
|
@@ -27,12 +28,12 @@ import com.poyee.res.ProductFastSaleRes;
|
|
|
import com.poyee.res.ProductListRes;
|
|
|
import com.poyee.service.*;
|
|
|
import com.poyee.utils.I18nUtil;
|
|
|
+import com.poyee.utils.LocaleTimeZoneUtil;
|
|
|
import com.poyee.utils.ServletUtils;
|
|
|
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;
|
|
|
@@ -118,6 +119,7 @@ public class ProductInfoFacade implements IProductInfoFacade {
|
|
|
.defaultImage(productMedia.getMainImage())
|
|
|
.productProperties(productInfo.getProductProperties())
|
|
|
.sort(productInfo.getSort())
|
|
|
+ .createTime(productInfo.getCreateTime())
|
|
|
.productDesc(productInfo.getProductDesc())
|
|
|
.otherImages(otherImages).build();
|
|
|
} else {
|
|
|
@@ -140,6 +142,8 @@ 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().getUsername() : null);
|
|
|
+ productInfo.setUpdateTime(LocaleTimeZoneUtil.nowUtc());
|
|
|
return productInfoService.updateById(productInfo);
|
|
|
}
|
|
|
|
|
|
@@ -161,16 +165,15 @@ public class ProductInfoFacade implements IProductInfoFacade {
|
|
|
|
|
|
productInfo.setIdleFlag(BooleanUtil.isTrue(idleAttributeReq.getIdleFlag()) ? StatusEnum.TRUE.getCode() : StatusEnum.FALSE.getCode());
|
|
|
ProductPermission productPermission = productPermissionService.lambdaQuery().eq(ProductPermission::getRelationSku, productInfo.getSku()).one();
|
|
|
- LocalDateTime utcNow = LocalDateTime.now(java.time.ZoneOffset.UTC);
|
|
|
if (Objects.isNull(productPermission)) {
|
|
|
productPermission = ProductPermission.builder()
|
|
|
.permission(idleAttributeReq.getPermission())
|
|
|
- .createTme(utcNow)
|
|
|
+ .createTme(LocaleTimeZoneUtil.nowUtc())
|
|
|
.relationSku(productInfo.getSku()).build();
|
|
|
productPermissionService.save(productPermission);
|
|
|
} else {
|
|
|
productPermission.setPermission(idleAttributeReq.getPermission());
|
|
|
- productPermission.setUpdateTime(utcNow);
|
|
|
+ productPermission.setUpdateTime(LocaleTimeZoneUtil.nowUtc());
|
|
|
productPermissionService.updateById(productPermission);
|
|
|
}
|
|
|
return this.productInfoService.updateById(productInfo);
|
|
|
@@ -209,8 +212,8 @@ public class ProductInfoFacade implements IProductInfoFacade {
|
|
|
.recycleFlag(BooleanUtil.isTrue(fastSaleReq.getRecycleFlag()) ? StatusEnum.TRUE.getCode() : StatusEnum.FALSE.getCode())
|
|
|
.recycleInventory(fastSaleReq.getRecycleInventory())
|
|
|
.saleTime(fastSaleReq.getSaleTime())
|
|
|
- .createBy(Objects.nonNull(ServletUtils.getCurrentUser()) ? ServletUtils.getCurrentUser().getId() : null)
|
|
|
- .createTime(LocalDateTime.now())
|
|
|
+ .createBy(Objects.nonNull(ServletUtils.getCurrentUser()) ? ServletUtils.getCurrentUser().getUsername() : null)
|
|
|
+ .createTime(LocaleTimeZoneUtil.nowUtc())
|
|
|
.build();
|
|
|
this.productFastSaleService.save(newFastSale);
|
|
|
productInfo.setFastSaleFlag(StatusEnum.TRUE.getCode());
|
|
|
@@ -220,8 +223,8 @@ public class ProductInfoFacade implements IProductInfoFacade {
|
|
|
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().getId() : null);
|
|
|
- existingFastSale.setUpdateTime(LocalDateTime.now());
|
|
|
+ existingFastSale.setUpdateBy(Objects.nonNull(ServletUtils.getCurrentUser()) ? ServletUtils.getCurrentUser().getUsername() : null);
|
|
|
+ existingFastSale.setUpdateTime(LocaleTimeZoneUtil.nowUtc());
|
|
|
return this.productFastSaleService.updateById(existingFastSale);
|
|
|
}
|
|
|
}
|
|
|
@@ -232,7 +235,6 @@ public class ProductInfoFacade implements IProductInfoFacade {
|
|
|
ProductTypeEnum productTypeEnum = getByCode(productInfoAddReq.getProductType());
|
|
|
sysDictDataService.validateOptions(ProductConstant.DICT_KEY_PRODUCT_TYPE, StrUtil.toString(productInfoAddReq.getProductType()));
|
|
|
sysDictDataService.validateOptions(ProductConstant.DICT_KEY_LABEL, StrUtil.toString(productInfoAddReq.getLabelKey()));
|
|
|
-
|
|
|
String sku = SKU_PREFIX + IdUtil.getSnowflakeNextId() % 1000000000000000000L;
|
|
|
ProductInfo productInfo;
|
|
|
switch (productTypeEnum) {
|
|
|
@@ -243,13 +245,13 @@ public class ProductInfoFacade implements IProductInfoFacade {
|
|
|
.manufacturer(productInfoAddReq.getManufacturer())
|
|
|
.sets(productInfoAddReq.getSets())
|
|
|
.setsVersion(productInfoAddReq.getSetsVersion())
|
|
|
- .createTime(LocalDateTime.now(java.time.ZoneOffset.UTC))
|
|
|
+ .createTime(LocaleTimeZoneUtil.nowUtc())
|
|
|
.relationSku(sku)
|
|
|
.build();
|
|
|
ProductMedia productMedia = ProductMedia.builder()
|
|
|
.mainImage(productInfoAddReq.getDefaultImage())
|
|
|
.relationSku(sku)
|
|
|
- .createTime(LocalDateTime.now(java.time.ZoneOffset.UTC))
|
|
|
+ .createTime(LocaleTimeZoneUtil.nowUtc())
|
|
|
.otherImages(StrUtil.join(",", productInfoAddReq.getOtherImages()))
|
|
|
.build();
|
|
|
productInfo = ProductInfo.builder()
|
|
|
@@ -261,7 +263,8 @@ public class ProductInfoFacade implements IProductInfoFacade {
|
|
|
.relationCode(productInfoAddReq.getRelationCode())
|
|
|
.productProperties(productInfoAddReq.getProductProperties())
|
|
|
.sort(productInfoAddReq.getSort())
|
|
|
- .createTime(LocalDateTime.now(java.time.ZoneOffset.UTC))
|
|
|
+ .createBy(Objects.nonNull(ServletUtils.getCurrentUser()) ? ServletUtils.getCurrentUser().getUsername() : null)
|
|
|
+ .createTime(LocaleTimeZoneUtil.nowUtc())
|
|
|
.build();
|
|
|
this.productInfoService.save(productInfo);
|
|
|
this.cardAttributeService.save(cardAttribute);
|
|
|
@@ -275,10 +278,11 @@ public class ProductInfoFacade implements IProductInfoFacade {
|
|
|
.productType(productInfoAddReq.getProductType())
|
|
|
.label(productInfoAddReq.getLabelKey())
|
|
|
.sort(productInfoAddReq.getSort())
|
|
|
+ .createBy(Objects.nonNull(ServletUtils.getCurrentUser()) ? ServletUtils.getCurrentUser().getUsername() : null)
|
|
|
.productProperties(productInfoAddReq.getProductProperties())
|
|
|
.productDesc(productInfoAddReq.getProductDesc())
|
|
|
.relationCode(productInfoAddReq.getRelationCode())
|
|
|
- .createTime(LocalDateTime.now(java.time.ZoneOffset.UTC))
|
|
|
+ .createTime(LocaleTimeZoneUtil.nowUtc())
|
|
|
.build();
|
|
|
this.productInfoService.save(productInfo);
|
|
|
break;
|
|
|
@@ -308,6 +312,7 @@ public class ProductInfoFacade implements IProductInfoFacade {
|
|
|
if (Objects.nonNull(productInfoEditReq.getSort())) {
|
|
|
productInfo.setSort(productInfoEditReq.getSort());
|
|
|
}
|
|
|
+ productInfo.setUpdateTime(LocaleTimeZoneUtil.nowUtc());
|
|
|
this.productInfoService.updateById(productInfo);
|
|
|
if (StrUtil.isNotBlank(productInfoEditReq.getDefaultImage()) ||
|
|
|
CollUtil.isNotEmpty(productInfoEditReq.getOtherImages())) {
|
|
|
@@ -318,6 +323,7 @@ public class ProductInfoFacade implements IProductInfoFacade {
|
|
|
productMedia = ProductMedia.builder()
|
|
|
.relationSku(productInfoEditReq.getSku())
|
|
|
.mainImage(productInfoEditReq.getDefaultImage())
|
|
|
+ .createTime(LocaleTimeZoneUtil.nowUtc())
|
|
|
.otherImages(CollUtil.join(productInfoEditReq.getOtherImages(), ","))
|
|
|
.build();
|
|
|
this.productMediaService.save(productMedia);
|
|
|
@@ -328,6 +334,7 @@ public class ProductInfoFacade implements IProductInfoFacade {
|
|
|
if (CollUtil.isNotEmpty(productInfoEditReq.getOtherImages())) {
|
|
|
productMedia.setOtherImages(CollUtil.join(productInfoEditReq.getOtherImages(), ","));
|
|
|
}
|
|
|
+ productMedia.setUpdateTime(LocaleTimeZoneUtil.nowUtc());
|
|
|
this.productMediaService.updateById(productMedia);
|
|
|
}
|
|
|
}
|