购物车后台完成

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
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.RuleInfoCache
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 org.springframework.cloud.openfeign.FallbackFactory;
import java.util.List;
/**
* @author DongZl
* @description:
@ -18,6 +20,18 @@ public class RemoteProjectSkuFactory implements FallbackFactory<RemoteProjectSku
public Result<ProjectSkuInfo> getInfoByProjectIdAndSku (Long projectId, String projectSku) {
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.service.ProjectInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Service;
/**
@ -12,6 +13,7 @@ import org.springframework.stereotype.Service;
* @Date 2024-3-27 03:37
*/
@Service
@Primary
public class ProjectInfoDataImpl implements ProjectInfoData {
@Autowired

View File

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

View File

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

View File

@ -180,6 +180,7 @@ public class CartInfoServiceImpl extends ServiceImpl<CartInfoMapper, CartInfo>
.name(projectInfo.getName())
.image(projectSkuInfo.getImage())
.stock(stock)
.subtotal(projectSkuInfo.getPrice().multiply(new BigDecimal(cartInfo.getNum())))
.skuRuleList(ruleModelList)
.price(projectSkuInfo.getPrice())
.cartInfoId(cartInfo.getId())
@ -190,10 +191,29 @@ public class CartInfoServiceImpl extends ServiceImpl<CartInfoMapper, CartInfo>
StatisticsCartModel statisticsCartModel = StatisticsCartModel.builder()
.total(0L)
.selectTotal(0L)
.priceTotal(BigDecimal.ZERO)
.actualTotal(BigDecimal.ZERO)
.total(
cartSkuModelList.stream()
.mapToLong(CartSkuModel::getNum)
.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();
return CartDetailResp.builder()
.cartSkuList(cartSkuModelList)