/** * 创建未付款订单 * $order参数:一维数组,存放订单基本信息, * 包括卖家ID,卖家机构名称,收货地址ID,商品总价,以及订单总金额; * $address参数:一维数组,存放订单收货地址信息, * 包括订单ID,收货人信息,邮编,手机,固话,省,市,区,详细地址和添加时间 * $goodsList参数:二维数组,存放订单商品信息, * 包括商品ID,商品编号,商品OE号,商品名称,标准名称,品牌,单价,促销价,数量以及商品总价。 * @param type $result:eg array("order"=>array(),"address"=>array(),"goodsList"=> array()) */ public static function create($result) { //添加订单基本信息 $model = new PapOrder(); if ($result['order']['BuyerID']) { $result['order']['OrganID'] = $result['order']['BuyerID']; } else { $result['order']['OrganID'] = Yii::app()->user->getOrganID(); } $model->attributes = $result["order"]; $model->save(); $orderId = $model->ID; // $model = PapOrder::model()->findByPk(557); if ($orderId) { $key = $model['Status']; //待付款提醒发给修理厂 if ($key == 1) { $params = array('OrganID' => $result['order']['BuyerID'], 'OrganType' => 3, 'HandleID' => $orderId); $params['type'] = array('name' => 'DD', 'key' => $key); RemindService::sendRemind($params); } //发送待付款、待发货提醒给经销商 $params = array('OrganID' => $result['order']['SellerID'], 'OrganType' => 2, 'HandleID' => $orderId); $params['type'] = array('name' => 'DD', 'key' => $key); RemindService::sendRemind($params); // //生成订单发送邮件 if (Yii::app()->Params['sendEmail']['send']) { self::createSendEmail($result); } //添加订单收货地址 unset($model); $model = new PapOrderAddress(); // $model->OrderID = $orderId; $result['address']['OrderID'] = $orderId; $model->attributes = $result["address"]; Yii::app()->papdb->createCommand()->insert('pap_order_address', $result['address']); // $model->save(); } foreach ($result["goodsList"] as $list) { //添加订单商品信息 $list["OrderID"] = $orderId; unset($model); if (is_array($list)) { //判断商品是否已经添加 $model = PapOrderGoods::model()->findByAttributes(array("OrderID" => $orderId, "GoodsID" => $list["GoodsID"])); //没有添加则添加,有则累加商品(数量、物流费及总价) if (empty($model) && !isset($model)) { $model = new PapOrderGoods(); $b = self::UgoodsSalesByGoodsID($list["GoodsID"], $list["Quantity"]); } else { $list["Quantity"] = $model['Quantity'] + $list["Quantity"]; $list["ShipCost"] = $model['ShipCost'] + $list["ShipCost"]; $list["GoodsAmount"] = $model['ProPrice'] ? $model['ProPrice'] + $list["GoodsAmount"] : $model['Price'] + $list["GoodsAmount"]; // 修改商品表的销售数量 $b = self::UgoodsSalesByGoodsID($list["GoodsID"], $list["Quantity"]); } } else { return false; } $model->attributes = $list; $res = Yii::app()->papdb->createCommand()->insert('pap_order_goods', $list); //$model->save(); } //插入机构活动记录表 // if (!empty($result['order']['PromoID'])) { // $times = self::insert_promotion_times($result); // } if (!empty($result['order']['PromoID'])) { OrderService::insert_active_times(); } //优惠活动添加记录 if (in_array($result['order']['Type'], array(1, 2))) { $promotion_order = array('OrderID' => $orderId, 'PromoID' => $result['order']['PromoID'], 'Amount' => $result['order']['DecrTotal'], 'CreateTime' => time(), 'SellerID' => $result['order']['SellerID']); //插入优惠活动订单表 self::insert_promotion_order($promotion_order); } if (isset($result['order']['UseCouponID']) && !empty($result['order']['UseCouponID'])) { //使用优惠券更新使用状态 self::update_coupon_status($result['order']['UseCouponID']); $promotion_order = array('OrderID' => $orderId, 'CouponID' => $result['order']['UseCouponID'], 'Amount' => $result['order']['DecrTotal'], 'CreateTime' => time(), 'SellerID' => $result['order']['SellerID']); //插入优惠活动订单表 self::insert_promotion_order($promotion_order); } return $orderId; }