* @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; } }