p-honggang.li
5 天以前 cda9decfde8c6b518639c5da506aa293c07f88ff
src/main/java/com/webmanage/service/impl/CartPersistenceServiceImpl.java
@@ -8,6 +8,7 @@
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.AsyncConfigurer;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import javax.annotation.Resource;
import java.time.LocalDateTime;
@@ -20,14 +21,16 @@
    @Override
    @Async("asyncExecutor")
    public void saveOrUpdate(Long userId, Long unitId, CartItemVO item) {
    public void saveOrUpdate(String userId, String unitId, CartItemVO item) {
        try {
            Cart cart = new Cart();
            BeanUtils.copyProperties(item, cart);
            cart.setUserId(userId);
            cart.setUnitId(unitId);
            if(StringUtils.hasText(unitId)){
                cart.setUnitId(unitId);
            }
            cart.setUpdateTime(LocalDateTime.now());
            Cart existing = cartMapper.selectByUserIdUnitIdAndPricingId(userId, unitId, item.getPricingId());
            Cart existing = cartMapper.selectByUserIdUnitIdAndPricingId(userId, unitId,item.getProductId(), item.getPricingId());
            if (existing != null) {
                cart.setId(existing.getId());
                cartMapper.updateById(cart);
@@ -40,9 +43,9 @@
    @Override
    @Async("asyncExecutor")
    public void remove(Long userId, Long unitId, Long pricingId) {
    public void remove(String userId, String unitId, String productId,Long pricingId) {
        try {
            Cart existing = cartMapper.selectByUserIdUnitIdAndPricingId(userId, unitId, pricingId);
            Cart existing = cartMapper.selectByUserIdUnitIdAndPricingId(userId, unitId, productId,pricingId);
            if (existing != null) {
                cartMapper.deleteById(existing.getId());
            }
@@ -51,9 +54,9 @@
    @Override
    @Async("asyncExecutor")
    public void clear(Long userId, Long unitId) {
    public void clear(String userId, String unitId,String productId) {
        try {
            java.util.List<Cart> cartItems = cartMapper.selectByUserIdAndUnitId(userId, unitId);
            java.util.List<Cart> cartItems = cartMapper.selectByUserIdAndUnitId(userId, unitId, productId);
            for (Cart item : cartItems) {
                cartMapper.deleteById(item.getId());
            }