示例#1
0
 public function actionEditorderdis()
 {
     $this->pageTitle = Yii::app()->name . '-' . "修改订单折扣率";
     $id = Yii::app()->request->getParam('id');
     //获取要修改的ID
     if ($id) {
         $model = PapOrderDiscount::model()->findByPk($id);
     }
     if (isset($_POST['PapOrderDiscount'])) {
         $model->OrderAlipay = $_POST['PapOrderDiscount']['OrderAlipay'];
         $model->OrderLogis = $_POST['PapOrderDiscount']['OrderLogis'];
         $model->UpdateTime = time();
         //            $bool=  PapOrderDiscount::model()->updateByPk($id);
         if ($model->save()) {
             $this->redirect(array('discountset'));
         }
     }
     switch ($model['OrderType']) {
         case '1':
             $orderType = '商城订单';
             break;
         case '2':
             $orderType = '询价单订单';
             break;
     }
     $this->performAjaxValidation($model);
     $this->render('editorderdis', array('model' => $model, 'orderType' => $orderType));
 }
示例#2
0
 public static function remindService($params)
 {
     $service = ' select OrganName,Phone from jpd_organ where ID=' . $params['OrganID'];
     $serviceres = Yii::app()->jpdb->createCommand($service)->queryRow();
     $scheme = 'SELECT SchID FROM `pap_quotation_scheme` where QuoID=' . $params['quoID'];
     $schemeres = Yii::app()->papdb->createCommand($scheme)->queryRow();
     //获取支付方式折扣率
     $discount = PapOrderDiscount::model()->find('OrderType=:OrderType', array(':OrderType' => 2));
     if ($discount) {
         if ($params['Payment'] == 1) {
             $factdiscount = $discount['OrderAlipay'] ? $discount['OrderAlipay'] : 100;
         } else {
             if ($params['Payment'] == 2) {
                 $factdiscount = $discount['OrderLogis'] ? $discount['OrderLogis'] : 100;
             }
         }
     } else {
         $factdiscount = 100;
     }
     $totalprices = self::Getsumprices($schemeres['SchID'], $factdiscount, trim($params['DealerID'], ','));
     $msg = '尊敬的' . $serviceres['OrganName'] . '客户,您的报价单方案已生成,总计' . $totalprices . '元。回复 ' . $params['checkSN'] . 'Y 确认、' . $params['checkSN'] . 'N 拒绝。详情:';
     $dealerinfo = QuotationService::getorganinfo(array('organID' => trim($params['DealerID'], ','), 'identity' => 2));
     //收货地址
     $addressql = ' select  ContactName,State,City,District,Address from jpd_receive_address where ID=' . $params['AddressID'];
     $address = Yii::app()->jpdb->createCommand($addressql)->queryRow();
     $address['site'] = Area::getaddress($address['State'], $address['City'], $address['District']) . $address['Address'];
     //获取报价单商品
     $goodssql = ' SELECT GoodsID,Num from pap_quotation_goods where SchID=' . $schemeres['SchID'];
     $goodses = Yii::app()->papdb->createCommand($goodssql)->queryAll();
     foreach ($goodses as $g) {
         $sql = ' select Name from pap_goods where ID=' . $g['GoodsID'];
         $gres = Yii::app()->papdb->createCommand($sql)->queryRow();
         $msg .= $gres['Name'] . ',' . $g['Num'] . '个;';
     }
     $msg .= '收货地址:' . $address['site'] . ';收货人:' . $address['ContactName'] . '。若有疑问请联系经销商:' . $dealerinfo['OrganName'] . ',电话:' . $dealerinfo['Phone'] . '。';
     $res = F::sendSMS(array('msg' => $msg, 'phone' => $serviceres['Phone']));
     if ($res['code'] == 0) {
         //发送成功,添加报价单短信确认数据
         $time = $_SERVER['REQUEST_TIME'];
         $insertsql = ' insert into pap_quotation_confirm (QuoID,DealerID,ServiceID,CreateTime) values(' . $params['quoID'] . $params['DealerID'] . $params['OrganID'] . ',' . $time . ')';
         $count = Yii::app()->papdb->createCommand($insertsql)->execute();
     }
     return $res;
 }
示例#3
0
 public static function createbuynoworder($params)
 {
     $goods = $params['goods'];
     $payment = $params['payment'];
     $ShipLogis = $params['shiplogis'];
     $ship = $params['ship'];
     $quantity = $params['quantity'];
     $locate = $params['locate'];
     $BuyerID = Yii::app()->user->getOrganID();
     $organ = Organ::model()->findByPk($BuyerID)->attributes;
     $BuyName = $organ['OrganName'];
     $usecouponID = $params['usecouponID'];
     //获取订单最小交易额
     $turnover = PapOrderMinTurnover::model()->find("OrganID=:ID", array(":ID" => $goods['SellerID']));
     $min_price = $turnover['MinTurnover'] ? $turnover['MinTurnover'] : 0;
     //获取经销商订单折扣率--商城订单
     $discount = PapOrderDiscount::model()->find(array("condition" => " OrderType = 1"));
     if ($discount) {
         if ($payment == 1) {
             $dis = $discount['OrderAlipay'];
         } else {
             if ($payment == 2) {
                 $dis = $discount['OrderLogis'];
             }
         }
         if (isset($dis) && !empty($dis)) {
             $dis = $dis;
         } else {
             $dis = 100;
         }
     } else {
         $dis = 100;
     }
     $orderArr = array();
     $order_sn = self::gen_order_sn();
     //array("order"=>array(),"goodsList"=> array())
     $orderArr["order"] = array("OrderSN" => "DD" . $order_sn, "OrderName" => "嘉配订单:DD" . $order_sn, "SellerID" => $goods["SellerID"], "SellerName" => $goods["OrganName"], "BuyerID" => $BuyerID, "BuyerName" => $BuyName, "Payment" => $payment, "OrderType" => 1, "Discount" => $dis, "ShipLogis" => $ShipLogis['0'], "Status" => $payment == 1 ? 1 : 2, "CreateTime" => time(), "UpdateTime" => time());
     //收货地址
     $orderArr["address"] = array("ShippingName" => $ship['ContactName'], "ZipCode" => $ship['ZipCode'], "Mobile" => $ship['Phone'], "Province" => $ship['State'], "City" => $ship['City'], "Area" => $ship['District'], "Address" => $ship['Address'], "CreateTime" => time());
     $SellPrice = $goods["ProPrice"] ? $goods["ProPrice"] : $goods["DisPrice"];
     //生成平摊金额
     $amount = round($SellPrice * $dis / 100, 2) * $quantity;
     $GoodsAmount = $amount;
     //$GoodsAmount = round($amount * $dis / 100, 2);
     $avg = 0;
     $SellPrice = round($SellPrice * $dis / 100, 2);
     //定位车系
     $locate = explode('_', $locate);
     $data[] = array("GoodsID" => $goods['GoodsID'], "GoodsNum" => $goods['GoodsNO'], "GoodsOE" => $goods['OENO'], "GoodsName" => $goods['Name'], "CpName" => $goods['CpName'], "Brand" => $goods['BrandName'], "Price" => $goods['Price'], "ProPrice" => $SellPrice, "Quantity" => $quantity, "ShipCost" => $goods['LogisticsPrice'] * $quantity, "GoodsAmount" => $GoodsAmount, "Version" => $goods['Version'], "CreateTime" => time(), "UpdateTime" => time(), "MakeID" => $locate[0], "CarID" => $locate[1], "Year" => $locate[2], "ModelID" => $locate[3]);
     $goodsPrice = $data['0']["GoodsAmount"];
     $shipCost = $data['0']["ShipCost"];
     $totalPrice = $goodsPrice + $shipCost;
     //订单总价
     //订单实付金额折扣率
     $amountPrice = $GoodsAmount;
     //商品总价
     $realPrice = $amountPrice + $shipCost;
     //实付金额:折后价+物流费
     $orderArr["goodsList"] = $data;
     $orderArr["order"]["GoodsAmount"] = $goodsPrice;
     $orderArr["order"]["ShipCost"] = $shipCost;
     $orderArr["order"]["TotalAmount"] = $totalPrice;
     //实付金额
     $orderArr["order"]["RealPrice"] = $realPrice;
     $actparam = array('total' => $totalPrice, 'payment' => $payment);
     $act_res = self::activedecre($actparam);
     if (!empty($act_res) && is_array($act_res)) {
         $orderArr["order"]['PromoID'] = intval($act_res['PromoID']);
         $orderArr["order"]['DecrAmount'] = floatval($act_res["DecrAmount"]);
         $orderArr["order"]['DecrTotal'] = floatval($act_res["DecrTotal"]);
         $orderArr['order']['Type'] = $act_res['Type'];
         $orderArr["order"]["RealPrice"] = floatval($act_res['RealPrice']);
         $orderArr["order"]["TotalAmount"] = floatval($act_res['RealPrice']);
         $orderArr["order"]['CouponID'] = $act_res['CouponID'];
     }
     /*优惠活动 使用优惠券
      * params $decoupon 优惠券内容,$totalPrice订单金额 $orderArr订单数组
      */
     if (isset($usecouponID) && !empty($usecouponID)) {
         $decoupon = self::couponbyID($usecouponID);
         $orderArr = self::usecoupon($decoupon, $totalPrice, $orderArr);
     }
     $orderId = OrderService::create($orderArr);
     return $orderId;
 }
示例#4
0
 public static function createorder($quoID, $schID, $payment, $address, $ordertype, $goodsids, $nums, $CouponSn)
 {
     $opration = array();
     //错误时执行操作
     $sql_findQuo = 'select * from pap_quotation where QuoID=' . $quoID;
     $Quoinfo = Yii::app()->papdb->createCommand($sql_findQuo)->queryRow();
     //获取方案对应的商品
     $sql_goods = 'select * from pap_quotation_goods where SchID=' . $schID . ' and GoodsID in(' . $goodsids . ') ';
     $goodsinfo = self::excutesql(array('sql' => $sql_goods, 'db' => 'pap'));
     //获取经销商最小价格
     $min_price = PapOrderMinTurnover::model()->find('OrganID=:OrganID', array(':OrganID' => $Quoinfo['DealerID']));
     $min_price = $min_price['MinTurnover'];
     //获取经销商信息
     $sql_dealer = 'select ID,OrganName from jpd_organ where ID=' . $Quoinfo['DealerID'];
     $dealerinfo = Yii::app()->jpdb->createCommand($sql_dealer)->queryRow();
     //获取修理厂信息
     $find_lsm_orgname = 'select OrganName from jpd_organ where ID=' . $Quoinfo['ServiceID'];
     $serviceinfo = Yii::app()->jpdb->createCommand($find_lsm_orgname)->queryRow();
     //调用商城生成订单方法
     $carts = array();
     $carts['SellerID'] = $Quoinfo['DealerID'];
     $carts['BuyerID'] = $Quoinfo['ServiceID'];
     $carts['SellerName'] = $dealerinfo['OrganName'];
     $carts['BuyerName'] = $serviceinfo['OrganName'];
     $carts['MinTurnover'] = $min_price ? $min_price : '0';
     //获取经销商订单折扣率--询报价订单
     $dis = 100;
     $discount = PapOrderDiscount::model()->find(array("condition" => " OrderType = 2"));
     if ($discount) {
         if ($payment == 1 && $discount['OrderAlipay']) {
             $dis = $discount['OrderAlipay'];
         } else {
             if ($payment == 2 && $discount['OrderLogis']) {
                 $dis = $discount['OrderLogis'];
             } else {
                 $dis = 100;
             }
         }
     } else {
         $dis = 100;
     }
     $carts['discount'] = $dis;
     $totalgoods;
     $nums = explode(',', $nums);
     foreach ($goodsinfo as $kk => $value) {
         $goodsbyid = DealergoodsService::getmongoversion($value['GoodsID'], $value['Version']);
         if ($goodsbyid) {
             $totalgoods[$kk] = array('BuyerID' => $Quoinfo['ServiceID'], 'BuyerName' => $serviceinfo['OrganName'], 'SellerID' => $dealerinfo['ID'], 'SellerName' => $dealerinfo['OrganName'], "GoodsID" => $value['GoodsID'], "GoodsNum" => $goodsbyid['GoodsInfo']['GoodsNO'], "GoodsOE" => is_array($goodsbyid['GoodsInfo']['oeno']) ? implode(',', $goodsbyid['GoodsInfo']['oeno']) : (is_string($goodsbyid['GoodsInfo']['oeno']) ? ['GoodsInfo']['oeno'] : ''), "GoodsName" => $goodsbyid['GoodsInfo']['Name'], "CpName" => $goodsbyid['GoodsInfo']['StandCode'] ? self::getCpName($goodsbyid['GoodsInfo']['StandCode']) : '', "Brand" => $goodsbyid['GoodsInfo']['Brand'], "Price" => $goodsbyid['GoodsInfo']['Price'], "ProPrice" => $value['Price'], "Quantity" => $nums[$kk], "ShipCost" => null, "CreateTime" => time(), "UpdateTime" => time(), "Version" => $goodsbyid['Version']);
         }
     }
     $carts['GoodsList'] = $totalgoods;
     if ($ordertype == 2) {
         //如果是由询价单生成的订单
         //获取询价单信息
         $sql = 'select * from pap_inquiry where InquiryID=' . $Quoinfo['InquiryID'];
         $Inquiryinfo = Yii::app()->papdb->createCommand($sql)->queryRow();
         if (!$Inquiryinfo) {
             return json_encode(array('success' => false, 'message' => '确认失败,该询价单不存在'));
         }
         if ($Inquiryinfo['Status'] == 2) {
             return json_encode(array('success' => false, 'message' => '确认失败,该询价单已确认'));
         }
         if ($Inquiryinfo['Status'] == 3) {
             return json_encode(array('success' => false, 'message' => '确认失败,该询价单已撤销'));
         }
         // 修改询价单状态
         $updateinquiry = PapInquiry::model()->updateByPK($Quoinfo['InquiryID'], array('Status' => 2));
         if ($updateinquiry != 1) {
             return json_encode(array('success' => false, 'message' => '确认询价单失败', 'msg' => 'check inquiry fail', 'QuoID' => $quoID, 'data' => '确认询价单失败'));
         } else {
             //成功时插入return的SQL
             $opration[1] = 'update pap_inquiry set Status=1 where InquiryID=' . $Quoinfo['InquiryID'];
         }
     }
     //修改方案状态
     $updateschem = InquiryorderService::changeschstatus(array('status' => 2, 'SchID' => $schID));
     if ($updateschem != 1) {
         self::returnint($opration);
         return json_encode(array('success' => false, 'message' => '确认方案失败', 'msg' => 'check scheme fail', 'QuoID' => $quoID, 'data' => '确认方案失败'));
     } else {
         $opration[2] = 'update pap_quotation_scheme set Status="1" where SchID=' . $schID;
     }
     // 修改报价单状态
     $discountdesc = QuotationService::getpriceratio($Quoinfo['DealerID'], $Quoinfo['ServiceID']);
     $updateQuo = PapQuotation::model()->updateByPK($quoID, array('Status' => '2', 'Discount' => $discountdesc['type'] . ',' . $discountdesc['discount']));
     if ($updateQuo != 1) {
         self::returnint($opration);
         return json_encode(array('success' => false, 'message' => '确认报价单失败', 'msg' => 'check quo scheme fail', 'QuoID' => $quoID, 'data' => '确认报价单方案失败'));
     } else {
         $opration[3] = 'update pap_quotation set Status=1 where QuoID=' . $quoID;
     }
     $adressinfo = self::getaddressbypk($address);
     $params = array('payment' => $payment, 'ship' => $adressinfo, 'ordertype' => $ordertype, 'cartsGoods' => array($carts));
     //根据优惠券编号查询优惠券金额
     if ($CouponSn) {
         $copinfo = BuyGoodsService::couponbysn(array('couponsn' => $CouponSn));
         if ($copinfo) {
             $params['coupon'] = $copinfo['Amount'];
             $params['couponsn'] = $copinfo['CouponSn'];
             $params['usecouponID'] = $copinfo['CouponID'];
         }
     }
     //self::returnint($opration);
     $orderID = BuyGoodsService::createorder($params);
     //        exit;
     $orderID = intval($orderID);
     //获取订单编号
     $sql_order = 'select OrderSN from pap_order where ID=' . $orderID;
     $res = Yii::app()->papdb->createCommand($sql_order)->queryRow();
     $order_sn = $res['OrderSN'];
     if (!$orderID) {
         self::returnint($opration);
         return json_encode(array('success' => false, 'message' => '生成订单失败', 'msg' => 'create order fail', 'QuoID' => $quoID, 'data' => '创建订单失败'));
     }
     //保存订单编号到询价单表
     if ($ordertype == 2) {
         PapInquiry::model()->updateByPK($Quoinfo['InquiryID'], array('OrderSn' => $order_sn));
     }
     //保存订单ID到报价单表
     PapQuotation::model()->updateByPK($quoID, array('OrderID' => $orderID));
     //更改报价单待确认状态为已处理
     $sql = 'update pap_remind_business set HandleStatus=2 where HandleID=' . $quoID . ' and OrganID=' . $Quoinfo['ServiceID'];
     Yii::app()->papdb->createCommand($sql)->execute();
     return json_encode(array('success' => true, 'message' => '生成订单成功,点击跳转', 'msg' => 'carate order success', 'QuoID' => $quoID, 'data' => '创建订单成功', 'orderID' => $orderID, 'ordersn' => $order_sn));
 }
示例#5
0
 public static function order($orderId)
 {
     $orderArr = array();
     $organID = Yii::app()->user->getOrganID();
     $orders = PapOrder::model()->findAll("ID=:ID and BuyerID=:BuyerID", array(":ID" => $orderId, ':BuyerID' => $organID));
     foreach ($orders as $order) {
         $orderArr['order'] = $order->attributes;
         if (!empty($order['OrderType'])) {
             $discount = PapOrderDiscount::model()->find(array("condition" => "OrderType = {$order['OrderType']}"));
             $orderArr['discount'] = $discount->attributes;
         }
         $goods = PapOrderGoods::model()->findAll("OrderID=:ID and IsDelete=0", array(":ID" => $orderId));
         foreach ($goods as $key => $value) {
             $data = $value->attributes;
             $image = PapGoodsImageRelation::model()->find('GoodsID=:goodsID', array(':goodsID' => $value['GoodsID']));
             $data['ImageUrl'] = $image['ImageUrl'];
             $orderArr['goodsList'][$key] = $data;
         }
     }
     return $orderArr;
 }
示例#6
0
 public static function createorder($quoID, $schID, $payment, $address)
 {
     $sql_findQuo = 'select * from pap_quotation where QuoID=' . $quoID;
     $Quoinfo = self::excutesql(array('sql' => $sql_findQuo, 'db' => 'pap'));
     $Quoinfo = $Quoinfo[0];
     //获取方案信息
     $sql_findshem = 'select * from pap_quotation_scheme where SchID=' . $schID;
     $schemeinfo = self::excutesql(array('sql' => $sql_findshem, 'db' => 'pap'));
     $schemeinfo = $schemeinfo[0];
     //获取方案对应的商品
     $sql_goods = 'select * from pap_quotation_goods where SchID=' . $schID;
     $goodsinfo = self::excutesql(array('sql' => $sql_goods, 'db' => 'pap'));
     //获取商品数量,以便生成均价
     $totalnum = 0;
     //总数量
     $lmstotal = 0;
     //总价
     $factdiscount = 100;
     $discount = PapOrderDiscount::model()->find('OrderType=:OrderType', array(':OrderType' => 2));
     if ($discount) {
         if ($payment == 1) {
             $factdiscount = $discount['OrderAlipay'] ? $discount['OrderAlipay'] : 100;
         } else {
             if ($payment == 2) {
                 $factdiscount = $discount['OrderLogis'] ? $discount['OrderLogis'] : 100;
             }
         }
     } else {
         $factdiscount = 100;
     }
     $totalgoods;
     foreach ($goodsinfo as $kk => $value) {
         if (!empty($value['Version'])) {
             $_sql_find_version = 'select Info from pap_goods_version where GoodsID=' . $value['GoodsID'] . ' and Version=' . $value['Version'];
             $goods_versi = Yii::app()->papdb->createCommand($_sql_find_version)->queryRow();
             $goodsbyid = json_decode($goods_versi['Info'], true);
             $oes;
             if ($goodsbyid['oeno']) {
                 if (!is_array($goodsbyid['oeno'][0])) {
                     $oes = implode('、', $goodsbyid['oeno']);
                 }
             } else {
                 $oes = PapGoods::getOENOSByGoodsID($value['GoodsID']);
             }
         } else {
             $goodsbyid = PapGoods::model()->findByPK($value['GoodsID']);
             $oes = PapGoods::getOENOSByGoodsID($value['GoodsID']);
         }
         if ($goodsbyid) {
             $lmstotal += round($value['Price'] * $value['Num'] * $factdiscount / 100, 2);
             $ppprice = $value['Price'] * $factdiscount / 100;
             $totalnum += $value['Num'];
             $totalgoods[$kk] = array("GoodsID" => $value['GoodsID'], "GoodsNum" => $goodsbyid['GoodsNO'], "GoodsOE" => $oes ? $oes : '', "GoodsName" => $goodsbyid['Name'], "CpName" => $goodsbyid['StandCode'] ? self::getCpName($goodsbyid['StandCode']) : '', "Brand" => self::getBrand($goodsbyid['BrandID']), "Price" => $goodsbyid['Price'], "ProPrice" => round($ppprice, 2), "Quantity" => $value['Num'], "GoodsAmount" => round($value['Num'] * $ppprice, 2), "CreateTime" => time(), "UpdateTime" => time(), "Version" => $goodsbyid['Version']);
         }
     }
     //获取经销商最小价格
     $min_price = PapOrderMinTurnover::model()->find('OrganID=:OrganID', array(':OrganID' => $Quoinfo['DealerID']));
     $min_price = $min_price['MinTurnover'];
     //获取经销商信息
     $sql_dealer = 'select * from jpd_organ where ID=' . $Quoinfo['DealerID'];
     $dealerinfo = self::excutesql(array('sql' => $sql_dealer, 'db' => 'jpd'));
     $dealerinfo = $dealerinfo[0];
     //生成订单编号
     $order_sn = self::gen_order_sn();
     // 修改询价单状态
     $updateinquiry = PapInquiry::model()->updateByPK($Quoinfo['InquiryID'], array('Status' => 2));
     //修改别的报价单状态,改为已拒绝
     $sql_dppend = 'select * from pap_quotation where InquiryID=' . $Quoinfo['InquiryID'];
     $dppall = self::excutesql(array('sql' => $sql_dppend, 'db' => 'pap'));
     foreach ($dppall as $keyy => $valuee) {
         if ($valuee['QuoID'] != $quoID) {
             PapQuotation::model()->updateByPK($valuee['QuoID'], array('Status' => 4));
         }
     }
     if ($updateinquiry != 1) {
         //确认询价单失败
         return array('success' => false, 'msg' => 'check inquiry fail', 'QuoID' => $quoID, 'data' => '确认询价单失败');
         exit;
     }
     //修改方案状态
     $updateschemsql = 'update pap_quotation_scheme set Status="2" where SchID=' . $schID;
     $updateschem = Yii::app()->papdb->createCommand($updateschemsql)->execute();
     if ($updateschem != 1) {
         //确认报价单方案失败
         return array('success' => false, 'msg' => 'check quo scheme fail', 'QuoID' => $quoID, 'data' => '确认报价单方案失败');
         exit;
     }
     // 修改报价单状态
     $discountdesc = self::getpriceratio($Quoinfo['DealerID'], $Quoinfo['ServiceID']);
     $updateQuo = PapQuotation::model()->updateByPK($quoID, array('Status' => 2, 'Discount' => $discountdesc['type'] . ',' . $discountdesc['discount']));
     if ($updateQuo != 1) {
         //更新报价单状态失败
         return array('success' => false, 'msg' => 'update quo status fail', 'QuoID' => $quoID, 'data' => '更新报价单状态失败');
         exit;
     }
     //生成平摊金额
     $amountlist = 0;
     $minus = 0;
     if ($min_price && $min_price > $lmstotal) {
         $minus = round(($min_price - $lmstotal) / $totalnum, 2);
         $amountlist = $lmstotal + $minus * $totalnum;
         if ($amountlist < $min_price) {
             $amountlist = $min_price;
         }
     } else {
         $amountlist += $lmstotal;
     }
     $find_lsm_orgname = 'select OrganName from jpd_organ where ID=' . $Quoinfo['ServiceID'];
     $lms_orgname = Yii::app()->jpdb->createCommand($find_lsm_orgname)->queryRow();
     $params = array("OrderSN" => "DD" . $order_sn, "OrderName" => "嘉配订单:DD" . $order_sn, "SellerID" => $dealerinfo["ID"], "OrganID" => $dealerinfo["ID"], "SellerName" => $dealerinfo["OrganName"], "BuyerID" => $Quoinfo['ServiceID'], "BuyerName" => $lms_orgname['OrganName'], "Payment" => $payment, "OrderType" => 2, 'Discount' => $factdiscount, 'GoodsAmount' => $amountlist, 'ShipCost' => $schemeinfo['ShipFee'], 'TotalAmount' => $amountlist + $schemeinfo['ShipFee'], 'RealPrice' => $amountlist + $schemeinfo['ShipFee'], "Status" => $payment == 1 ? 1 : 2, "CreateTime" => time(), "UpdateTime" => time());
     $orderID = self::saveorderinfo($params);
     if (!$orderID) {
         //创建订单失败
         return array('success' => false, 'msg' => 'create order fail', 'QuoID' => $quoID, 'data' => '创建订单失败');
         exit;
     }
     //保存订单编号到询价单表
     PapInquiry::model()->updateByPK($Quoinfo['InquiryID'], array('OrderSn' => "DD" . $order_sn));
     //保存订单ID到报价单表
     PapQuotation::model()->updateByPK($quoID, array('OrderID' => $orderID));
     //保存订单商品
     self::saveordergoods($totalgoods, $orderID, $minus);
     //保存地址
     if ($orderID) {
         $adressinfo = self::getaddressbypk($address);
         $addr = array('OrderID' => $orderID, 'ShippingName' => $adressinfo['ContactName'], 'ZipCode' => $adressinfo['ZipCode'], 'Mobile' => $adressinfo['Phone'], 'TelePhone' => $adressinfo['TelPhone'], 'Province' => $adressinfo['State'], 'City' => $adressinfo['City'], 'Area' => $adressinfo['District'], 'Address' => $adressinfo['Address'], 'CreateTime' => time());
         self::saveinquiryaddress($addr);
     }
     //生成订单通知经销商
     if ($payment == 1) {
         //待付款
         $params = array('OrganID' => $Quoinfo['DealerID'], 'OrganType' => 2, 'HandleID' => $orderID);
         $params['type'] = array('name' => 'DD', 'key' => 1);
         RemindService::sendRemind($params);
     } elseif ($payment == 2) {
         //待发货
         $params = array('OrganID' => $Quoinfo['DealerID'], 'OrganType' => 2, 'HandleID' => $orderID);
         $params['type'] = array('name' => 'DD', 'key' => 2);
         //命令行链接
         $params['from'] = 'http://192.168.2.29:8000/pap/sellerorder/detail&ID=' . $orderID;
         RemindService::sendRemind($params);
     }
     //更改报价单待确认状态为已处理
     $sql = 'update pap_remind_business set HandleStatus=2 where HandleID=' . $quoID . ' and OrganID=' . $Quoinfo['ServiceID'];
     Yii::app()->papdb->createCommand($sql)->execute();
     //创建订单成功
     return array('success' => true, 'msg' => 'carate order success', 'QuoID' => $quoID, 'data' => '创建订单成功', 'orderID' => $orderID, 'ordersn' => $order_sn);
 }
示例#7
0
 public function actionChangepay()
 {
     $data = array();
     //订单类别  商城订单、询价单订单、报价单订单---1/2/3
     $OrderType = Yii::app()->request->getParam("OrderType");
     if ($OrderType != 1) {
         $OrderType = 2;
     }
     //付款方式(支付宝担保交易/物流代收款--1/2)
     $Payment = Yii::app()->request->getParam("Payment");
     $SellerID = Yii::app()->request->getParam("SellerID");
     $BuyerID = Yii::app()->request->getParam("BuyerID");
     $IDArr = explode(',', Yii::app()->request->getParam("idArr"));
     $discount = PapOrderDiscount::model()->find(array("condition" => "OrderType = {$OrderType}"));
     if (isset($discount) && !empty($discount)) {
         if ($Payment == 1) {
             $dis = $discount['OrderAlipay'] / 100;
         } else {
             if ($Payment == 2) {
                 $dis = $discount['OrderLogis'] / 100;
             }
         }
     }
     //获取订单折扣率或促销价
     $price = MallService::getContactprice($SellerID, $BuyerID);
     $PriceRatio = $price['PriceRatio'] ? $price['PriceRatio'] : "100%";
     foreach ($IDArr as $key => $val) {
         $Price = 0;
         $model = PapGoods::model()->findByPk($val, array("condition" => "ISdelete=1"));
         if ($model['IsPro'] == 1) {
             //判断是否有促销价
             if (!is_null($model['ProPrice']) && $model['ProPrice']) {
                 $Price = $model['ProPrice'];
             }
         } else {
             if ($PriceRatio > 0) {
                 $Price = sprintf("%.2f", $model['Price'] * $PriceRatio / 100);
                 // 折扣价,小数点后面保留两位
             }
         }
         $data[$key] = sprintf("%.2f", $Price * $dis);
     }
     echo json_encode($data);
     die;
 }
示例#8
0
文件: MallService.php 项目: zwq/unpei
 public static function getGoodByID($id, $payment, $m = '')
 {
     Yii::app()->cache->flush();
     $criteria = new CDbCriteria();
     $criteria->condition = "t.ISdelete = 1 and t.OrganID!=''";
     // 上架的和没有删除的商品
     $criteria->with = array("img", 'spec', 'pack');
     $model = PapGoods::model()->findByPk($id, $criteria);
     if (!$model) {
         return false;
     } else {
         if ($model->IsSale == 0) {
             if ($m == 'mall') {
                 return 'nosale';
             } else {
                 return false;
             }
         }
     }
     $data = array();
     $sellerID = $model->OrganID;
     $discount = PapOrderDiscount::model()->find(array("condition" => " OrderType = 1"));
     if ($discount) {
         if ($payment == 1) {
             $dis = $discount['OrderAlipay'];
         } else {
             if ($payment == 2) {
                 $dis = $discount['OrderLogis'];
             }
         }
         if (isset($dis) && !empty($dis)) {
             $dis = $dis;
         } else {
             $dis = 100;
         }
     } else {
         $dis = 100;
     }
     //获取该经销商最小交易额
     $turnover = PapOrderMinTurnover::model()->find("OrganID=:ID", array(":ID" => $model['OrganID']));
     if ($turnover) {
         $data["MinTurnover"] = $turnover['MinTurnover'];
     }
     $data['Version'] = $model->Version;
     $data['discount'] = $dis;
     //商品基本信息
     $data['GoodsID'] = $id;
     $data['Name'] = $model['Name'];
     $data['GoodsNO'] = $model['GoodsNO'];
     $data['CommentNo'] = $model['CommentNo'];
     $data['Info'] = $model['Info'];
     $data['Memo'] = $model['Memo'];
     $data['IsSale'] = $model['IsSale'];
     $data['PartsLevel'] = $model['PartsLevel'];
     $data['code'] = $model['StandCode'];
     if ($model['BrandID']) {
         $sql = "select BrandName from pap_brand where ID={$model['BrandID']}";
         $res = Yii::app()->papdb->createCommand($sql)->queryRow();
     }
     $data['BrandName'] = $res['BrandName'];
     $organID = Yii::app()->user->getOrganID();
     //商品价格
     $priceRatio = self::getContactprice($model['OrganID'], $organID);
     $data['Price'] = $model['Price'];
     $data['LogisticsPrice'] = 0;
     $data['PriceRatio'] = $priceRatio['PriceRatio'] > 0 && $priceRatio['PriceRatio'] <= 100 ? $priceRatio['PriceRatio'] : 100;
     $data['DisPrice'] = sprintf("%.2f", $model['Price'] * $data['PriceRatio'] / 100);
     // 折扣价,小数点后面保留两位
     if ($model['IsPro'] == 1) {
         if (!is_null($model['ProPrice']) && $model['ProPrice']) {
             $data['ProPrice'] = $model['ProPrice'];
         }
     }
     //店家信息
     $organInfo = Organ::model()->findByPk($model['OrganID'])->attributes;
     $data['OrganName'] = $organInfo['OrganName'];
     $data['SellerID'] = $model['OrganID'];
     $data['QQ'] = $organInfo['QQ'];
     $data['Phone'] = $organInfo['Phone'];
     //$address = self::getOrganAddress($organInfo['Province'], $organInfo['City'], $organInfo['Area']);
     $data['Address'] = array(Area::getCity($organInfo['Province']), Area::getCity($organInfo['City']), Area::getCity($organInfo['Area']));
     //商品OE号
     $data['OENO'] = PapGoods::model()->getOENOSByGoodsID($id);
     //$data['LogisticsPrice'] = $goods['LogisticsPrice'];
     //商品大类、子类、标准名称
     $cpArr = self::getCategory($model['StandCode']);
     $data['BigParts'] = $cpArr['BigParts'];
     $data['SubParts'] = $cpArr['SubParts'];
     $data['CpName'] = $cpArr['CpName'];
     $data['sub'] = $cpArr['sub'];
     $data['BganCompany'] = $model->spec->BganCompany ? $model->spec->BganCompany : '';
     //标品
     $data['BganGoodsNO'] = $model->spec->BganGoodsNO ? $model->spec->BganGoodsNO : '';
     //标商
     $data['Unit'] = $model->spec->Unit ? $model->spec->Unit : '';
     //单位ID
     $data['UnitName'] = GoodsUnit::model()->findByPk($data['Unit'])->attributes['UnitName'];
     //单位
     $data['MinQuantity'] = $model->pack->MinQuantity ? $model->pack->MinQuantity : '';
     //最小包装
     //        $data['pLength'] = $model->pack->Volume ? $model->pack->Volume : ''; //体积
     //        $data['Weight'] = $model->pack->Weight ? $model->pack->Weight : ''; //重量
     $data['ValidityType'] = $model->spec->ValidityType;
     $data['ValidityDate'] = $model->spec->ValidityDate;
     // 图片
     if (!$model->img) {
         $data['Images'][0]['ImageUrl'] = 'dealer/goods-img-big.jpg';
     } else {
         foreach ($model->img as $v) {
             $data['Images'][] = $v->attributes;
         }
     }
     return $data;
 }