Cart.php 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. <?php
  2. /**
  3. * Niushop商城系统 - 团队十年电商经验汇集巨献!
  4. * =========================================================
  5. * Copy right 2019-2029 山西牛酷信息科技有限公司, 保留所有权利。
  6. * ----------------------------------------------
  7. * 官方网址: https://www.niushop.com.cn
  8. * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
  9. * 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
  10. * =========================================================
  11. */
  12. namespace app\model\goods;
  13. use app\model\BaseModel;
  14. /**
  15. * 购物车
  16. */
  17. class Cart extends BaseModel
  18. {
  19. /**
  20. * 添加购物车
  21. * @param unknown $data
  22. */
  23. public function addCart($data)
  24. {
  25. $cart_info = model("goods_cart")->getInfo([ [ 'sku_id', '=', $data['sku_id'] ], [ 'member_id', '=', $data['member_id'] ] ], 'cart_id, num');
  26. if (!empty($cart_info)) {
  27. $res = model("goods_cart")->update([ 'num' => $cart_info['num'] + $data['num'] ], [ [ 'cart_id', '=', $cart_info['cart_id'] ] ]);
  28. } else {
  29. $res = model("goods_cart")->add($data);
  30. }
  31. return $this->success($res);
  32. }
  33. /**
  34. * 更新购物车商品数量
  35. * @param unknown $data
  36. */
  37. public function editCart($data)
  38. {
  39. $res = model("goods_cart")->update([ 'num' => $data['num'] ], [ [ 'cart_id', '=', $data['cart_id'] ], [ 'member_id', '=', $data['member_id'] ] ]);
  40. return $this->success($res);
  41. }
  42. /**
  43. * 删除购物车商品项(可以多项)
  44. * @param unknown $data
  45. */
  46. public function deleteCart($data)
  47. {
  48. $res = model("goods_cart")->delete([ [ 'cart_id', '=', $data['cart_id'] ], [ 'member_id', '=', $data['member_id'] ] ]);
  49. return $this->success($res);
  50. }
  51. /**
  52. * 清空购物车
  53. * @param unknown $data
  54. */
  55. public function clearCart($data)
  56. {
  57. $res = model("goods_cart")->delete([ [ 'member_id', '=', $data['member_id'] ] ]);
  58. return $this->success($res);
  59. }
  60. /**
  61. * 获取会员购物车
  62. * @param unknown $member_id
  63. */
  64. public function getCart($member_id)
  65. {
  66. $field = 'ngc.cart_id, ngc.site_id, ngc.member_id, ngc.sku_id, ngc.num,ngc.create_time,ngs.goods_id, ngs.sku_name,
  67. ngs.sku_no, ngs.sku_spec_format, ngs.price, ngs.market_price, ngs.cost_price,
  68. ngs.discount_price, ngs.promotion_type, ngs.start_time, ngs.end_time, ngs.stock,
  69. ngs.sku_image, ngs.sku_images, ngs.site_name, ngs.website_id, ngs.is_own, ngs.goods_state,
  70. ngs.verify_state, ngs.verify_state_remark, ngs.goods_stock_alarm, ngs.is_virtual,
  71. ngs.virtual_indate, ngs.is_free_shipping, ngs.shipping_template, ngs.unit, ngs.introduction, ngs.keywords,ngs.is_delete';
  72. $alias = 'ngc';
  73. $join = [
  74. [
  75. 'goods_sku ngs',
  76. 'ngc.sku_id = ngs.sku_id',
  77. 'inner'
  78. ],
  79. ];
  80. $list = model("goods_cart")->getList([ [ 'ngc.member_id', '=', $member_id ] ], $field, 'ngc.create_time desc', $alias, $join);
  81. return $this->success($list);
  82. }
  83. /**
  84. * 获取购物车数量
  85. * @param unknown $member_id
  86. */
  87. public function getCartCount($member_id)
  88. {
  89. $list = model("goods_cart")->getCount([ [ 'member_id', '=', $member_id ] ]);
  90. return $this->success($list);
  91. }
  92. }