购物车后台完成

master
DongZeLiang 2024-04-08 11:48:18 +08:00
parent 3d665a91bf
commit 702046bc3e
7 changed files with 54 additions and 5 deletions

View File

@ -52,6 +52,12 @@ public class ProjectSkuDataRemoteImpl implements ProjectSkuData {
*/ */
@Override @Override
public ProjectSkuInfo getData (Long projectId, String projectSku) { public ProjectSkuInfo getData (Long projectId, String projectSku) {
return new ProjectSkuInfo(); Result<ProjectSkuInfo> projectSkuInfoResult = remoteProjectSkuService.getInfoByProjectIdAndSku(
projectId, projectSku
);
if (Result.isError(projectSkuInfoResult)){
return new ProjectSkuInfo();
}
return projectSkuInfoResult.getData();
} }
} }

View File

@ -3,3 +3,6 @@ com.muyu.product.cache.ProjectSkuCache
com.muyu.product.cache.ProjectSkuStockCache com.muyu.product.cache.ProjectSkuStockCache
com.muyu.product.cache.RuleInfoCache com.muyu.product.cache.RuleInfoCache
com.muyu.product.cache.datasource.impl.RuleCacheDataRemoteImpl com.muyu.product.cache.datasource.impl.RuleCacheDataRemoteImpl
com.muyu.product.cache.datasource.impl.ProjectInfoDataRemoteImpl
com.muyu.product.cache.datasource.impl.ProjectSkuDataRemoteImpl
com.muyu.product.cache.datasource.impl.ProjectSkuStockDataRemoteImpl

View File

@ -5,6 +5,8 @@ import com.muyu.product.domain.ProjectSkuInfo;
import com.muyu.product.remote.RemoteProjectSkuService; import com.muyu.product.remote.RemoteProjectSkuService;
import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.cloud.openfeign.FallbackFactory;
import java.util.List;
/** /**
* @author DongZl * @author DongZl
* @description: * @description:
@ -18,6 +20,18 @@ public class RemoteProjectSkuFactory implements FallbackFactory<RemoteProjectSku
public Result<ProjectSkuInfo> getInfoByProjectIdAndSku (Long projectId, String projectSku) { public Result<ProjectSkuInfo> getInfoByProjectIdAndSku (Long projectId, String projectSku) {
return Result.error(cause.getMessage()); return Result.error(cause.getMessage());
} }
/**
* IDSKUSKU
*
* @param projectId ID
*
* @return SKU
*/
@Override
public Result<List<ProjectSkuInfo>> listByProjectId (Long projectId) {
return Result.error(cause.getMessage());
}
}; };
} }
} }

View File

@ -4,6 +4,7 @@ import com.muyu.product.cache.datasource.ProjectInfoData;
import com.muyu.product.domain.ProjectInfo; import com.muyu.product.domain.ProjectInfo;
import com.muyu.product.service.ProjectInfoService; import com.muyu.product.service.ProjectInfoService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
/** /**
@ -12,6 +13,7 @@ import org.springframework.stereotype.Service;
* @Date 2024-3-27 03:37 * @Date 2024-3-27 03:37
*/ */
@Service @Service
@Primary
public class ProjectInfoDataImpl implements ProjectInfoData { public class ProjectInfoDataImpl implements ProjectInfoData {
@Autowired @Autowired

View File

@ -5,6 +5,7 @@ import com.muyu.product.cache.datasource.ProjectSkuData;
import com.muyu.product.domain.ProjectSkuInfo; import com.muyu.product.domain.ProjectSkuInfo;
import com.muyu.product.service.ProjectSkuInfoService; import com.muyu.product.service.ProjectSkuInfoService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
@ -18,6 +19,7 @@ import java.util.stream.Collectors;
* @Date 2024-4-1 11:38 * @Date 2024-4-1 11:38
*/ */
@Service @Service
@Primary
public class ProjectSkuDataImpl implements ProjectSkuData { public class ProjectSkuDataImpl implements ProjectSkuData {
@Autowired @Autowired

View File

@ -6,6 +6,7 @@ import com.muyu.product.cache.key.SkuStockKey;
import com.muyu.product.domain.ProjectSkuInfo; import com.muyu.product.domain.ProjectSkuInfo;
import com.muyu.product.service.ProjectSkuInfoService; import com.muyu.product.service.ProjectSkuInfoService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
/** /**
@ -14,6 +15,7 @@ import org.springframework.stereotype.Service;
* @Date 2024-4-2 10:53 * @Date 2024-4-2 10:53
*/ */
@Service @Service
@Primary
public class ProjectSkuStockDataImpl implements ProjectSkuStockData { public class ProjectSkuStockDataImpl implements ProjectSkuStockData {
@Autowired @Autowired

View File

@ -180,6 +180,7 @@ public class CartInfoServiceImpl extends ServiceImpl<CartInfoMapper, CartInfo>
.name(projectInfo.getName()) .name(projectInfo.getName())
.image(projectSkuInfo.getImage()) .image(projectSkuInfo.getImage())
.stock(stock) .stock(stock)
.subtotal(projectSkuInfo.getPrice().multiply(new BigDecimal(cartInfo.getNum())))
.skuRuleList(ruleModelList) .skuRuleList(ruleModelList)
.price(projectSkuInfo.getPrice()) .price(projectSkuInfo.getPrice())
.cartInfoId(cartInfo.getId()) .cartInfoId(cartInfo.getId())
@ -190,10 +191,29 @@ public class CartInfoServiceImpl extends ServiceImpl<CartInfoMapper, CartInfo>
StatisticsCartModel statisticsCartModel = StatisticsCartModel.builder() StatisticsCartModel statisticsCartModel = StatisticsCartModel.builder()
.total(0L) .total(
.selectTotal(0L) cartSkuModelList.stream()
.priceTotal(BigDecimal.ZERO) .mapToLong(CartSkuModel::getNum)
.actualTotal(BigDecimal.ZERO) .sum()
)
.selectTotal(
cartSkuModelList.stream()
.filter(cartSkuModel -> "Y".equals(cartSkuModel.getIsSelected()))
.mapToLong(CartSkuModel::getNum)
.sum()
)
.priceTotal(
cartSkuModelList.stream()
.filter(cartSkuModel -> "Y".equals(cartSkuModel.getIsSelected()))
.map(CartSkuModel::getSubtotal)
.reduce(BigDecimal.ZERO, BigDecimal::add)
)
.actualTotal(
cartSkuModelList.stream()
.filter(cartSkuModel -> "Y".equals(cartSkuModel.getIsSelected()))
.map(CartSkuModel::getSubtotal)
.reduce(BigDecimal.ZERO, BigDecimal::add)
)
.build(); .build();
return CartDetailResp.builder() return CartDetailResp.builder()
.cartSkuList(cartSkuModelList) .cartSkuList(cartSkuModelList)