935090232@qq.com
2022-02-22 bbe0a2fd03063316e50cf141986bda984599bbda
zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShoppingCartAction.java
@@ -1,13 +1,15 @@
package com.matrix.system.shopXcx.api.action;
import com.matrix.biz.bean.BizUser;
import com.matrix.component.redis.RedisUserLoginUtils;
import com.matrix.system.hive.bean.SysVipInfo;
import com.matrix.system.common.init.UserCacheManager;
import com.matrix.core.constance.SystemErrorCode;
import com.matrix.core.constance.SystemMessageCode;
import com.matrix.core.exception.GlobleException;
import com.matrix.core.pojo.AjaxResult;
import com.matrix.core.tools.StringUtils;
import com.matrix.system.common.constance.AppConstance;
import com.matrix.system.common.interceptor.HostInterceptor;
import com.matrix.system.shopXcx.api.service.OrderCouponGroupService;
import com.matrix.system.shopXcx.api.service.ShoppingCartService;
import com.matrix.system.shopXcx.api.service.WxShopCouponService;
import com.matrix.system.shopXcx.api.vo.ShopCartBillVo;
@@ -17,6 +19,7 @@
import com.matrix.system.shopXcx.dao.ShopShoppingCartDao;
import com.matrix.system.shopXcx.dao.ShopSkuDao;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -38,7 +41,7 @@
    @Autowired
    private ShopShoppingCartDao shoppingCartDao;
    @Autowired
    private RedisUserLoginUtils redisUserLoginUtils;
    private UserCacheManager userCacheManager;
    @Autowired
    WxShopCouponService shopCouponService;
@@ -49,13 +52,10 @@
    @Autowired
    ShopSkuDao skuDao;
    @Autowired
    OrderCouponGroupService orderCouponGroupService;
    /**
     * 根据ID删除购物车
     *
     * @param
     * @return
     */
    @ApiOperation(value = "根据ID删除购物车", notes = "")
    @PostMapping("/deleteByCartId/{cartId}")
    @ResponseBody
    public AjaxResult deleteByCartId(@PathVariable("cartId") Integer cartId) {
@@ -66,18 +66,16 @@
        return new AjaxResult(AjaxResult.STATUS_SUCCESS, "删除成功");
    }
    /**
     * 根据用户ID查询购物车 没有分页
     *
     * @param
     * @return
     */
    @ApiOperation(value = "根据用户ID查询购物车 没有分页", notes = "")
    @PostMapping("/findShoppingCart")
    @ResponseBody
    public AjaxResult getShoppingCartByUserId(@RequestBody ShopShoppingCart shoppingCart) {
        List<ShopCartVo> cartList = shoppingCartService.findUserCartList(shoppingCart.getShopId(),ShopShoppingCart.CAR_TYPE_MICRO);
        AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, cartList, cartList.size());
        ShopCartBillVo shopCartBill = shoppingCartService.buildShopCartBillVo(cartList);
        SysVipInfo loginUser = userCacheManager.getLoginUser();
        List<ShopShoppingCart> list = shoppingCartDao.selectByCartUserId(shoppingCart.getShopId(),loginUser.getId());
        List<ShopCartVo> shopCartVoList = shoppingCartService.buildShopCart(list);
        AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, shopCartVoList, shopCartVoList.size());
        ShopCartBillVo shopCartBill = shoppingCartService.buildShopCartBillVo(shopCartVoList);
        result.putInMap("billTotal", shopCartBill.getBillTotal().stripTrailingZeros().toPlainString());
        result.putInMap("selectCount", shopCartBill.getSelectCount());
        result.putInMap("cartCount", shopCartBill.getCartCount());
@@ -86,9 +84,8 @@
        return result;
    }
    /**
     * 批量删除
     */
    @ApiOperation(value = "批量删除", notes = "")
    @PostMapping(value = "/delShoppingCart/{keys}")
    public
    @ResponseBody
@@ -102,12 +99,13 @@
        }
    }
    @ApiOperation(value = "查询微商城购物车数量", notes = "")
    @PostMapping(value = "/getUserCartCount/{shopId}")
    public
    @ResponseBody
    AjaxResult getUserCartCount(@PathVariable("shopId") Long shopId) {
        BizUser loginUser = redisUserLoginUtils.getLoginUser(BizUser.class);
        Integer userCartCount = shoppingCartDao.selectUserCartCount(shopId, loginUser.getOpenId());
        SysVipInfo loginUser = userCacheManager.getLoginUser();
        Integer userCartCount = shoppingCartDao.selectUserCartCount(shopId, loginUser.getId());
        if (userCartCount == null) {
            userCartCount = 0;
        }
@@ -125,18 +123,18 @@
    AjaxResult saveShoppingCart(@RequestBody ShopShoppingCart shoppingCart) {
        //查询到sku设置对应的产品id
        ShopSku sku= skuDao.selectById(shoppingCart.getCartSkuId());
        if(sku==null){
            return new AjaxResult(AjaxResult.STATUS_FAIL,"无效的产品id");
        ShopSku sku = skuDao.selectById(shoppingCart.getCartSkuId());
        if (sku == null) {
            return new AjaxResult(AjaxResult.STATUS_FAIL, "无效的产品id");
        }
        shoppingCart.setCartProductId(sku.getpId());
        BizUser loginUser = redisUserLoginUtils.getLoginUser(BizUser.class);
        SysVipInfo loginUser = userCacheManager.getLoginUser();
        shoppingCart.setCreateBy(loginUser.getOpenId());
        shoppingCart.setUpdateBy(loginUser.getOpenId());
        shoppingCart.setCartUserId(loginUser.getOpenId());
        shoppingCart.setCartType(ShopShoppingCart.CAR_TYPE_MICRO);
        shoppingCart.setCartUserId(loginUser.getId());
        shoppingCart.setCompanyId(HostInterceptor.getCompanyId());
        ShopShoppingCart shoppCartLimt = shoppingCartDao.selectBuyLimit(shoppingCart.getCartProductId(),
                shoppingCart.getCartSkuId());
        // Integer buyLimitNum = 0;
@@ -162,7 +160,7 @@
        ShopShoppingCart shopShoppingCart = new ShopShoppingCart();
        shopShoppingCart.setCartProductId(cartProductId);
        shopShoppingCart.setCartSkuId(cartSkuId);
        shopShoppingCart.setCartUserId(loginUser.getOpenId());
        shopShoppingCart.setCartUserId(loginUser.getId());
        shopShoppingCart.setShopId(shoppingCart.getShopId());
        List<ShopShoppingCart> shopShoppingCarts = shoppingCartDao.selectByModel(shopShoppingCart);
        int i = 0;
@@ -195,7 +193,7 @@
            return new AjaxResult(AjaxResult.STATUS_FAIL, "保存失败");
        }
        int userCartCount = shoppingCartDao.selectUserCartCount(shoppingCart.getShopId(),
                loginUser.getOpenId());
                loginUser.getId());
        AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, "保存成功");
        result.putInMap("userCartCount", userCartCount);
        return result;
@@ -275,13 +273,12 @@
     * @param
     * @return
     */
    @PostMapping("/updateCartAllSelected/{shopId}/{isSelected}/{cartType}")
    @PostMapping("/updateCartAllSelected/{shopId}/{isSelected}")
    @ResponseBody
    public AjaxResult updateCartAllSelected(@PathVariable("isSelected") Integer isSelected,
                                            @PathVariable("shopId") Long shopId,@PathVariable("cartType") Integer cartType) {
        Map<String, Object> modifyMap = new HashMap<>();
        BizUser user = redisUserLoginUtils.getLoginUser(BizUser.class);
        shoppingCartDao.updateAllSelected(user.getOpenId(),shopId, isSelected,cartType);
                                            @PathVariable("shopId") Long shopId) {
        SysVipInfo user = userCacheManager.getLoginUser();
        shoppingCartDao.updateAllSelected(user.getOpenId(), shopId, isSelected);
        return new AjaxResult(AjaxResult.STATUS_SUCCESS, "修改成功");
    }
}