package com.matrix.system.hive.action; import com.matrix.core.pojo.AjaxResult; import com.matrix.core.tools.WebUtil; import com.matrix.system.constance.Dictionary; import com.matrix.system.constance.SystemConstance; import com.matrix.system.hive.bean.ShoppingGoods; import com.matrix.system.hive.bean.ShoppingGoodsAssemble; import com.matrix.system.hive.dao.ShoppingGoodsAssembleDao; import com.matrix.system.hive.pojo.ShoppingCarItem; import com.matrix.system.hive.service.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; /** * 线下订单 * * @author jiangyouyao * @date 2016-09-08 */ @Controller @RequestMapping(value = "admin/shoppingCar") public class ShoppingCarController extends BaseController { @Resource private SysOrderService currentService; @Resource private MoneyCardUseService cardUseService; @Resource private SysOrderService orderService; // 订单信息Service @Resource private SysProjUseService projUseService; // 产品使用Service @Resource private ShoppingGoodsService shoppingGoodsService; @Resource private ShoppingGoodsAssembleService shoppingGoodsAssembleService; @Autowired private ShoppingGoodsAssembleDao shoppingGoodsAssembleDao; /** * 在购物车中添加一个产品 * * @author jiangyouyao */ @RequestMapping(value = "/addItemToCar") @SuppressWarnings("unchecked") public @ResponseBody AjaxResult findProject(ShoppingCarItem carItem) { List carItems = null; // 查看购物车是否存在 if (WebUtil.getSession().getAttribute(SystemConstance.SHOPPING_CAR) == null) { WebUtil.getSession().setAttribute(SystemConstance.SHOPPING_CAR, new ArrayList<>()); } carItems = (List) WebUtil.getSession().getAttribute( SystemConstance.SHOPPING_CAR); // 根据类型不同设置不同的实体对象,并且去重 toAdd(carItem, carItems); return new AjaxResult(AjaxResult.STATUS_SUCCESS, "添加成功!"); } /** * 原来存在的商品则只是增加数量,原来存在在购物车则只改变数量 * * @param carItem * @param carItems * @author jiangyouyao */ private void toAdd(ShoppingCarItem carItem, List carItems) { ShoppingGoods shopGoods = shoppingGoodsService.findById(carItem.getGoodsId()); carItem.setShoppingGoods(shopGoods); boolean flag = true; // 去重 for (ShoppingCarItem shoppingCarItem : carItems) { Long existId = shoppingCarItem.getGoodsId(); Long getId = carItem.getGoodsId(); boolean idIsSame = existId.equals(getId); boolean bothIsFree = shoppingCarItem.getIsFree().equals(carItem.getIsFree()); if (idIsSame && bothIsFree) { shoppingCarItem.setCount(shoppingCarItem.getCount() + carItem.getCount()); flag = false; break; } } if (flag) { carItems.add(carItem); } } /** * 清空购物车 */ @RequestMapping(value = "/clearShoppingCar") public @ResponseBody AjaxResult clearShoppingCar() { WebUtil.getSession().removeAttribute(SystemConstance.SHOPPING_CAR); return new AjaxResult(AjaxResult.STATUS_SUCCESS, "购物车已清空"); } /** * 查询购物车产品 * * @author 姜友瑶 */ @RequestMapping(value = "/showCar") public @ResponseBody AjaxResult showCar() { @SuppressWarnings("unchecked") List carItems = (List) WebUtil.getSession().getAttribute( SystemConstance.SHOPPING_CAR); return new AjaxResult(AjaxResult.STATUS_SUCCESS, carItems, 0); } }