|
@@ -1,16 +1,21 @@
|
|
|
package cn.kdan.cloud.pdf.office.product.service.impl;
|
|
|
|
|
|
import cn.kdan.cloud.pdf.office.api.product.dto.ProductListDTO;
|
|
|
+import cn.kdan.cloud.pdf.office.api.product.vo.ActivityInfoVO;
|
|
|
import cn.kdan.cloud.pdf.office.api.product.vo.ProductPriceVo;
|
|
|
import cn.kdan.cloud.pdf.office.api.product.vo.ProductVO;
|
|
|
import cn.kdan.cloud.pdf.office.common.utils.JsonUtils;
|
|
|
import cn.kdan.cloud.pdf.office.product.entity.Product;
|
|
|
import cn.kdan.cloud.pdf.office.product.mapper.ProductMapper;
|
|
|
+import cn.kdan.cloud.pdf.office.product.service.ActivityInformationService;
|
|
|
import cn.kdan.cloud.pdf.office.product.service.ProductService;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import lombok.RequiredArgsConstructor;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
@@ -20,8 +25,12 @@ import java.util.List;
|
|
|
* @author ComPDFKit-WPH 2023-01-28
|
|
|
*/
|
|
|
@Service
|
|
|
+@Slf4j
|
|
|
+@RequiredArgsConstructor
|
|
|
public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> implements ProductService {
|
|
|
|
|
|
+ private final ActivityInformationService activityService;
|
|
|
+
|
|
|
@Override
|
|
|
public IPage<ProductVO> page(ProductListDTO query) {
|
|
|
Page<Product> productPage = this.page(new Page<>(query.getPage(), query.getSize()), new LambdaQueryWrapper<>());
|
|
@@ -32,18 +41,29 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> impl
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public ProductPriceVo getProductPrice(String productId) {
|
|
|
+ public ProductPriceVo getProductPrice(String productId, String userId) {
|
|
|
ProductPriceVo productPriceVo = new ProductPriceVo();
|
|
|
BeanUtils.copyProperties(this.baseMapper.selectOne(new LambdaQueryWrapper<Product>()
|
|
|
.select(Product::getPrice, Product::getCnyPrice, Product::getPaddleProductId)
|
|
|
.eq(Product::getId, productId)), productPriceVo);
|
|
|
+
|
|
|
+ // 判断当前产品是否有活动 获取活动的最终价格
|
|
|
+ ActivityInfoVO activityInfo = activityService.getActivityInfoByProductId(productId);
|
|
|
+ if (!ObjectUtils.isEmpty(activityInfo)) {
|
|
|
+ // 判断是否是新用户专用
|
|
|
+ if (activityInfo.getActivityTypeId() == 1) {
|
|
|
+ // TODO 判断当前用户是否是新用户
|
|
|
+ }else {
|
|
|
+ productPriceVo.setPrice(activityInfo.getFinalPrice());
|
|
|
+ }
|
|
|
+ }
|
|
|
return productPriceVo;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public ProductVO getProduct(String productId) {
|
|
|
ProductVO productVO = new ProductVO();
|
|
|
- BeanUtils.copyProperties(this.baseMapper.selectOne(new LambdaQueryWrapper<Product>().eq(Product::getId,productId)),productVO);
|
|
|
+ BeanUtils.copyProperties(this.baseMapper.selectOne(new LambdaQueryWrapper<Product>().eq(Product::getId, productId)), productVO);
|
|
|
return productVO;
|
|
|
}
|
|
|
|