购物车后台完成
parent
3d665a91bf
commit
702046bc3e
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过商品ID和SKU获取SKU信息
|
||||
*
|
||||
* @param projectId 商品ID
|
||||
*
|
||||
* @return 商品SKU信息
|
||||
*/
|
||||
@Override
|
||||
public Result<List<ProjectSkuInfo>> listByProjectId (Long projectId) {
|
||||
return Result.error(cause.getMessage());
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue