@ -20,19 +20,19 @@ import com.yami.shop.bean.event.ShopCartEvent;
import com.yami.shop.bean.model.Basket ;
import com.yami.shop.bean.model.Basket ;
import com.yami.shop.bean.model.Product ;
import com.yami.shop.bean.model.Product ;
import com.yami.shop.bean.model.Sku ;
import com.yami.shop.bean.model.Sku ;
import com.yami.shop.common.response.ServerResponseEntity ;
import com.yami.shop.common.util.Arith ;
import com.yami.shop.common.util.Arith ;
import com.yami.shop.security.api.util.SecurityUtils ;
import com.yami.shop.security.api.util.SecurityUtils ;
import com.yami.shop.service.BasketService ;
import com.yami.shop.service.BasketService ;
import com.yami.shop.service.ProductService ;
import com.yami.shop.service.ProductService ;
import com.yami.shop.service.SkuService ;
import com.yami.shop.service.SkuService ;
import io.swagger.v3.oas.annotations.tags.Tag ;
import io.swagger.v3.oas.annotations.Operation ;
import io.swagger.v3.oas.annotations.Operation ;
import io.swagger.v3.oas.annotations.tags.Tag ;
import jakarta.validation.Valid ;
import lombok.AllArgsConstructor ;
import lombok.AllArgsConstructor ;
import org.springframework.context.ApplicationContext ;
import org.springframework.context.ApplicationContext ;
import com.yami.shop.common.response.ServerResponseEntity ;
import org.springframework.web.bind.annotation.* ;
import org.springframework.web.bind.annotation.* ;
import jakarta.validation.Valid ;
import java.util.Collections ;
import java.util.Collections ;
import java.util.List ;
import java.util.List ;
import java.util.Map ;
import java.util.Map ;
@ -214,10 +214,10 @@ public class ShopCartController {
// 根据店铺ID划分item
// 根据店铺ID划分item
Map < Long , List < ShopCartItemDto > > shopCartMap = chooseShopCartItems . stream ( ) . collect ( Collectors . groupingBy ( ShopCartItemDto : : getShopId ) ) ;
Map < Long , List < ShopCartItemDto > > shopCartMap = chooseShopCartItems . stream ( ) . collect ( Collectors . groupingBy ( ShopCartItemDto : : getShopId ) ) ;
double total = 0.0 ;
double total = 0.0 ;
int count = 0 ;
int count = 0 ;
double reduce = 0.0 ;
double reduce = 0.0 ;
int totalScore = 0 ;
for ( Long shopId : shopCartMap . keySet ( ) ) {
for ( Long shopId : shopCartMap . keySet ( ) ) {
//获取店铺的所有商品项
//获取店铺的所有商品项
List < ShopCartItemDto > shopCartItemDtoList = shopCartMap . get ( shopId ) ;
List < ShopCartItemDto > shopCartItemDtoList = shopCartMap . get ( shopId ) ;
@ -234,7 +234,12 @@ public class ShopCartController {
for ( ShopCartItemDto shopCartItem : shopCartItems ) {
for ( ShopCartItemDto shopCartItem : shopCartItems ) {
count = shopCartItem . getProdCount ( ) + count ;
count = shopCartItem . getProdCount ( ) + count ;
if ( shopCartItem . getProductType ( ) ! = 2 ) {
total = Arith . add ( shopCartItem . getProductTotalAmount ( ) , total ) ;
total = Arith . add ( shopCartItem . getProductTotalAmount ( ) , total ) ;
} else {
totalScore + = ( shopCartItem . getPayScore ( ) * shopCartItem . getProdCount ( ) ) ;
}
}
}
}
}
}
}
@ -242,6 +247,7 @@ public class ShopCartController {
shopCartAmountDto . setCount ( count ) ;
shopCartAmountDto . setCount ( count ) ;
shopCartAmountDto . setTotalMoney ( total ) ;
shopCartAmountDto . setTotalMoney ( total ) ;
shopCartAmountDto . setSubtractMoney ( reduce ) ;
shopCartAmountDto . setSubtractMoney ( reduce ) ;
shopCartAmountDto . setTotalScore ( totalScore ) ;
shopCartAmountDto . setFinalMoney ( Arith . sub ( shopCartAmountDto . getTotalMoney ( ) , shopCartAmountDto . getSubtractMoney ( ) ) ) ;
shopCartAmountDto . setFinalMoney ( Arith . sub ( shopCartAmountDto . getTotalMoney ( ) , shopCartAmountDto . getSubtractMoney ( ) ) ) ;
return ServerResponseEntity . success ( shopCartAmountDto ) ;
return ServerResponseEntity . success ( shopCartAmountDto ) ;