123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- <?php
- /**
- *
- * @author: xaboy<365615158@qq.com>
- * @day: 2017/12/26
- */
- namespace app\models\store;
- use crmeb\basic\BaseModel;
- use crmeb\traits\ModelTrait;
- /**
- * TODO 订单记录Model
- * Class StoreOrderCartInfo
- * @package app\models\store
- */
- class StoreOrderCartInfo extends BaseModel
- {
- /**
- * 模型名称
- * @var string
- */
- protected $name = 'store_order_cart_info';
- use ModelTrait;
- public static function getCartInfoAttr($value)
- {
- return json_decode($value,true)?:[];
- }
- public static function setCartInfo($oid,array $cartInfo)
- {
- $group = [];
- foreach ($cartInfo as $cart){
- $group[] = [
- 'oid'=>$oid,
- 'cart_id'=>$cart['id'],
- 'product_id'=>$cart['productInfo']['id'],
- 'cart_num' => intval($cart['productInfo']['attrInfo']['suk'])>0?:$cart['cart_num'],
- 'cart_cost' => $cart['productInfo']['cost'],
- 'cart_price' => intval($cart['productInfo']['attrInfo']['suk'])>0?bcdiv($cart['truePrice'],intval($cart['productInfo']['attrInfo']['suk']),2):$cart['truePrice'],
- 'cart_info'=>json_encode($cart),
- 'unique'=>md5($cart['id'].''.$oid)
- ];
- }
- return self::setAll($group);
- }
- public static function getProductNameList($oid)
- {
- $cartInfo = self::where('oid',$oid)->select();
- $goodsName = [];
- foreach ($cartInfo as $cart){
- $suk = isset($cart['cart_info']['productInfo']['attrInfo']) ? '('.$cart['cart_info']['productInfo']['attrInfo']['suk'].')' : '';
- $goodsName[] = $cart['cart_info']['productInfo']['store_name'].$suk;
- }
- return $goodsName;
- }
- public static function getcartinfo($oid)
- {
- return self::where('oid',$oid)->select();
- }
- /**
- * 获取订单数据商品
- * @param $oid
- * @return array
- * @throws \think\db\exception\DataNotFoundException
- * @throws \think\db\exception\DbException
- * @throws \think\db\exception\ModelNotFoundException
- * @throws \think\exception\DbException
- */
- public static function getProductList($oid)
- {
- $cartInfo = self::where('oid',$oid)->select()->toArray();
- $cartlist = [];
- foreach ($cartInfo as $cart){
- $cartlist[] = $cart['cart_info'];
- }
- return $cartlist;
- }
- /**
- * 获取订单数量
- * @param $oid
- * @return int
- * @throws \think\db\exception\DataNotFoundException
- * @throws \think\db\exception\DbException
- * @throws \think\db\exception\ModelNotFoundException
- * @throws \think\exception\DbException
- */
- public static function getProductcount($oid)
- {
- $cartlist = self::getProductList($oid);
- $sum = 0;
- foreach ($cartlist as $v)
- {
- if(isset($v['productInfo']['attrInfo']['suk'])) {
- $sum += intval($v['productInfo']['attrInfo']['suk']);
- }
- }
- return $sum;
- }
- }
|