StoreOrderCartInfo.php 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. <?php
  2. /**
  3. *
  4. * @author: xaboy<365615158@qq.com>
  5. * @day: 2017/12/26
  6. */
  7. namespace app\models\store;
  8. use crmeb\basic\BaseModel;
  9. use crmeb\traits\ModelTrait;
  10. /**
  11. * TODO 订单记录Model
  12. * Class StoreOrderCartInfo
  13. * @package app\models\store
  14. */
  15. class StoreOrderCartInfo extends BaseModel
  16. {
  17. /**
  18. * 模型名称
  19. * @var string
  20. */
  21. protected $name = 'store_order_cart_info';
  22. use ModelTrait;
  23. public static function getCartInfoAttr($value)
  24. {
  25. return json_decode($value,true)?:[];
  26. }
  27. public static function setCartInfo($oid,array $cartInfo)
  28. {
  29. $group = [];
  30. foreach ($cartInfo as $cart){
  31. $group[] = [
  32. 'oid'=>$oid,
  33. 'cart_id'=>$cart['id'],
  34. 'product_id'=>$cart['productInfo']['id'],
  35. 'cart_num' => intval($cart['productInfo']['attrInfo']['suk'])>0?:$cart['cart_num'],
  36. 'cart_cost' => $cart['productInfo']['cost'],
  37. 'cart_price' => intval($cart['productInfo']['attrInfo']['suk'])>0?bcdiv($cart['truePrice'],intval($cart['productInfo']['attrInfo']['suk']),2):$cart['truePrice'],
  38. 'cart_info'=>json_encode($cart),
  39. 'unique'=>md5($cart['id'].''.$oid)
  40. ];
  41. }
  42. return self::setAll($group);
  43. }
  44. public static function getProductNameList($oid)
  45. {
  46. $cartInfo = self::where('oid',$oid)->select();
  47. $goodsName = [];
  48. foreach ($cartInfo as $cart){
  49. $suk = isset($cart['cart_info']['productInfo']['attrInfo']) ? '('.$cart['cart_info']['productInfo']['attrInfo']['suk'].')' : '';
  50. $goodsName[] = $cart['cart_info']['productInfo']['store_name'].$suk;
  51. }
  52. return $goodsName;
  53. }
  54. public static function getcartinfo($oid)
  55. {
  56. return self::where('oid',$oid)->select();
  57. }
  58. /**
  59. * 获取订单数据商品
  60. * @param $oid
  61. * @return array
  62. * @throws \think\db\exception\DataNotFoundException
  63. * @throws \think\db\exception\DbException
  64. * @throws \think\db\exception\ModelNotFoundException
  65. * @throws \think\exception\DbException
  66. */
  67. public static function getProductList($oid)
  68. {
  69. $cartInfo = self::where('oid',$oid)->select()->toArray();
  70. $cartlist = [];
  71. foreach ($cartInfo as $cart){
  72. $cartlist[] = $cart['cart_info'];
  73. }
  74. return $cartlist;
  75. }
  76. /**
  77. * 获取订单数量
  78. * @param $oid
  79. * @return int
  80. * @throws \think\db\exception\DataNotFoundException
  81. * @throws \think\db\exception\DbException
  82. * @throws \think\db\exception\ModelNotFoundException
  83. * @throws \think\exception\DbException
  84. */
  85. public static function getProductcount($oid)
  86. {
  87. $cartlist = self::getProductList($oid);
  88. $sum = 0;
  89. foreach ($cartlist as $v)
  90. {
  91. if(isset($v['productInfo']['attrInfo']['suk'])) {
  92. $sum += intval($v['productInfo']['attrInfo']['suk']);
  93. }
  94. }
  95. return $sum;
  96. }
  97. }