Beispiel #1
0
 public static function sendOrder($params, $ID, $OrganID)
 {
     $sql = "select * from pap_order t where t.SellerID = {$OrganID} and t.IsDelete=0 and Status=2 and t.ID in({$ID})";
     $model = Yii::app()->papdb->createCommand($sql)->queryAll();
     if (!$model) {
         return array('error' => 4, 'msg' => '发货失败,请稍后再试!');
     }
     $goodsid = explode(',', $params['goodsid']);
     $pn = explode('|', $params['PN']);
     $idarr = explode(',', $ID);
     if (count($model) != count($idarr)) {
         return array('error' => 1, 'msg' => '发货失败,请稍后再试!');
     }
     foreach ($model as $v) {
         // 如果是支付宝订单,则调用确认收货接口
         $isAlipay = false;
         $alipayResult = false;
         $alipayError = "";
         $paymentMethod = $v['Payment'];
         if ($paymentMethod == '1') {
             $isAlipay = true;
             // 订单交易号是否存在
             if (!$v['AlipayTN']) {
                 return array('error' => 2, 'msg' => '订单支付信息错误');
                 Yii::app()->end();
             }
             $payment = Yii::app()->alipay;
             // 确认收货请求参数
             $request = new AlipaySendConfirmRequest();
             $request->trade_no = $v['AlipayTN'];
             if ($params['ShipSn']) {
                 $request->invoice_no = $params['ShipSn'];
             }
             $request->logistics_name = $params['ShipLogis'];
             $request->transport_type = "EXPRESS";
             // var_dump($request).'<br>';
             //建立请求
             $html_text = $payment->buildRequestHttp($request);
             //解析XML
             //注意:该功能PHP5环境及以上支持,需开通curl、SSL等PHP配置环境。建议本地调试时使用PHP开发软件
             $doc = new DOMDocument();
             $doc->loadXML($html_text);
             if (!empty($doc->getElementsByTagName("alipay")->item(0)->nodeValue)) {
                 $alipay = $doc->getElementsByTagName("alipay")->item(0);
                 //echo $alipay->nodeValue;
                 $is_success = $alipay->getElementsByTagName("is_success")->item(0)->nodeValue;
                 if ($is_success == 'T') {
                     $alipayResult = true;
                 } else {
                     $alipayResult = false;
                     $alipayError = $alipay->getElementsByTagName("error")->item(0)->nodeValue;
                 }
             }
             // 记录日志
             $userId = Yii::app()->user->id;
             $payment->put_send_goods_log($v, $request->getParams(), $html_text, $alipayResult, $userId);
         }
         // 如果是支付宝,并且支付宝接口返回成功  或者 不是支付宝,保存物流信息
         $bool = false;
         if (!$isAlipay || $isAlipay && $alipayResult) {
             $bool = PapOrder::model()->updateByPk($v['ID'], array('Status' => 3, 'UpdateTime' => time(), 'DeliveryTime' => time(), 'ShipSn' => $params['ShipSn'], 'ShipLogis' => $params['ShipLogis'], 'PayStatus' => $isAlipay === true ? 'WAIT_BUYER_CONFIRM_GOODS' : ''));
             if ($bool) {
                 //更新待发货提醒状态
                 RemindService::updateRemindStatus($v['ID'], 2, $v['SellerID']);
                 //待收货提醒给修理厂
                 $params = array('OrganID' => $v['BuyerID'], 'OrganType' => 3, 'HandleID' => $v['ID']);
                 $params['type'] = array('name' => 'DD', 'key' => 2);
                 RemindService::sendRemind($params, $v);
             }
         } else {
             return array('error' => 3, 'msg' => '支付宝接口繁忙,请重新发货!');
         }
     }
     //订单商品
     if ($goodsid && $pn) {
         foreach ($goodsid as $k => $v) {
             if (preg_match('/^[A-Za-z0-9][A-Za-z0-9,,-]*$/', $pn[$k])) {
                 PapOrderGoods::model()->updateByPk($v, array('PN' => $pn[$k], 'UpdateTime' => time()));
             }
         }
     }
     return array('success' => 1);
     //$userid = RemindService::getUserID($model[0]['BuyerID']);
     // return array('success' => 1, 'userid' => $userid);
 }
Beispiel #2
0
        echo $goods['GoodsInfo']['GoodsNO'];
        ?>
</span> | 品牌:<span><?php 
        echo $goods['GoodsInfo']['Brand'];
        ?>
</span></p>
                            <p class="m-top5" style="width:300px;height: 18px;white-space: nowrap;overflow: hidden; text-overflow: ellipsis;">标准名称:<span><?php 
        echo $goods['GoodsInfo']['StandCodeName'];
        ?>
</span> | 拼音代码:<span><?php 
        echo $goods['GoodsInfo']['Pinyin'];
        ?>
</span> </p>

                            <?php 
        $orderGoods = PapOrderGoods::model()->find("OrderID=:OrderID and GoodsID=:GoodsID", array(":OrderID" => $v['OrderID'], ":GoodsID" => $goods['GoodsInfo']['ID']));
        ?>
                            <p>定位车型:<span><?php 
        echo MallService::getCarmodeltxt(array('make' => $orderGoods['MakeID'], 'series' => $orderGoods['CarID'], 'year' => $orderGoods['Year'], 'model' => $orderGoods['ModelID']));
        ?>
</span></p>
                            <p class="m-top5">配件档次:<span><?php 
        echo $goods['GoodsInfo']['PartsLevelName'];
        ?>
</span></p>

                            <p class="m-top5" style="width:300px;height: 18px;white-space: nowrap;overflow: hidden; text-overflow: ellipsis;" >OE号:<span><?php 
        if ($goods['GoodsInfo']['oeno']) {
            foreach ($goods['GoodsInfo']['oeno'] as $key => $value) {
                if ($key) {
                    echo '、' . $value;
Beispiel #3
0
 public function actionOrderexport()
 {
     $model = PapOrder::model()->findByPk($_GET['ID']);
     //订单信息
     $data['SellerID'] = $model->SellerID;
     $data['BuyerID'] = $model->BuyerID;
     $data['CreateTime'] = date("Y-m-d H:i:s", $model->CreateTime);
     $data['OrderSN'] = $model->OrderSN;
     $data['SellerName'] = $model->SellerName;
     $data['BuyerName'] = $model->BuyerName;
     $data['GoodsList'] = "商品清单";
     $data['TotalAmount'] = "¥" . $model->TotalAmount;
     $data['ShipSn'] = $model->ShipSn;
     $data['ShipLogis'] = $model->ShipLogis;
     $data['ReShipSn'] = $model->ReShipSn;
     $data['ReShipLogis'] = $model->ReShipLogis;
     $data['ListShip'] = $model->ShipCost;
     $data['PayTime'] = $model->PayTime ? date("Y-m-d H:i:s", $model->PayTime) : '';
     $data['DeliveryTime'] = $model->DeliveryTime ? date("Y-m-d H:i:s", $model->DeliveryTime) : '';
     $data['ReceiptTime'] = $model->ReceiptTime ? date("Y-m-d H:i:s", $model->ReceiptTime) : '';
     if ($model->Payment == '1') {
         $data['Payment'] = "支付宝担保交易";
     } elseif ($model->Payment == '2') {
         $data['Payment'] = "物流代收款";
     }
     $data['Status'] = $model->Status;
     $data['IsUnusual'] = $model->IsUnusual;
     //获取收货地址
     //        $ship = JporderService::getShip($model->ID);
     $ship = PapOrderAddress::model()->find("OrderID=:ID", array(":ID" => $model->ID))->attributes;
     $data['Consignee'] = $ship['ShippingName'] ? $ship['ShippingName'] : '';
     $data['Mobile'] = $ship['Mobile'] ? $ship['Mobile'] : '';
     $data['Phone'] = $ship['TelePhone'] ? $ship['TelePhone'] : '';
     $data['Delivery'] = Area::getCity($ship['Province']) . Area::getCity($ship['City']) . Area::getCity($ship['Area']) . $ship['Address'];
     $data['ZipCode'] = $ship['ZipCode'] ? $ship['ZipCode'] : '';
     //获取卖方基本信息
     $seller = $this->getSeller($model->SellerID);
     $data['OrganName'] = $seller['organName'];
     $data['ContactPhone'] = $seller['Phone'];
     $data['QQ'] = $seller['QQ'];
     $data['Address'] = Area::getCity($seller['province']) . Area::getCity($seller['city']) . Area::getCity($seller['area']);
     $model1 = PapOrderGoods::model()->findAll("OrderID=:ID", array(":ID" => $model->ID));
     foreach ($model1 as $key => $value) {
         $data['goods'][$key]['ID'] = $value['ID'];
         $data['goods'][$key]['CreateTime'] = F::msubstr(date("Y-m-d", $value['CreateTime']));
         $data['goods'][$key]['GoodsNum'] = F::msubstr($value['GoodsNum']);
         $data['goods'][$key]['GoodsOE'] = F::msubstr($value['GoodsOE']);
         $data['goods'][$key]['GoodsName'] = F::msubstr($value['GoodsName']);
         $data['goods'][$key]['Brand'] = F::msubstr($value['Brand']);
         $data['goods'][$key]['Price'] = $value['Price'];
         $data['goods'][$key]['editPrice'] = $value['ProPrice'] ? $value['ProPrice'] : $value['Price'];
         $data['goods'][$key]['ShipCost'] = $value['ShipCost'];
         $data['goods'][$key]['Quantity'] = $value['Quantity'];
         $data['goods'][$key]['PN'] = $value['PN'];
         $data['goods'][$key]['ReQuantity'] = $value['ReQuantity'];
         $data['goods'][$key]['GoodsAmount'] = "¥" . $value['GoodsAmount'];
     }
     $this->renderPartial('orderexport', array('row' => $data));
 }
Beispiel #4
0
 public function run($args)
 {
     Yii::app()->getComponent('log');
     Yii::log(date('Y-m-d H:i:s') . " [AutoEvaluation] start", 'info', 'command');
     //所要执行的任务,如数据符合某条件更新,删除,修改
     $Timeeva = time() - 24 * 60 * 60 * 10;
     //定义时间  收货15天后自动评价
     //服务店评价
     $model = PapOrder::model()->findAll("Status=9 and (EvaStatus = 0 or EvaStatus = 16)");
     //查询符合要求的已收货订单
     foreach ($model as $value) {
         if ($value['ReceiptTime'] < $Timeeva) {
             //已经收货订单执行下面代码
             $modelg = PapOrderGoods::model()->findAll("OrderID=:ID", array(":ID" => $value['ID']));
             //获得订单的商品
             $gbool = 1;
             foreach ($modelg as $valueg) {
                 //获得机构ID
                 $goodsinfo = PapGoods::model()->find("ID=:ID", array(":ID" => $valueg['GoodsID']));
                 $gevaluation = new PapEvaluationGoods();
                 $gevaluation->OrganID = $goodsinfo->OrganID;
                 $gevaluation->OrderID = $value['ID'];
                 $gevaluation->GoodsID = $goodsinfo->ID;
                 $gevaluation->BuyerID = $value['BuyerID'];
                 $gevaluation->CreateTime = time();
                 $gevaluation->Status = 1;
                 $model = $gevaluation->save();
                 //插入对单个商品的评价
                 if ($model) {
                     $m = PapGoods::model()->findByPk($goodsinfo->ID);
                     if ($m['CommentNo']) {
                         PapGoods::model()->updateByPk($goodsinfo->ID, array('CommentNo' => $m['CommentNo'] + 1));
                     } else {
                         PapGoods::model()->updateByPk($goodsinfo->ID, array('CommentNo' => 1));
                     }
                 } else {
                     $gbool = 0;
                 }
             }
             $oevaluation = new PapEvaluationDealer();
             $oevaluation->OrganID = $value['BuyerID'];
             $oevaluation->SellerID = $value['SellerID'];
             $ID = $oevaluation->OrderID = $value['ID'];
             $oevaluation->SellerBusiness = 5;
             $oevaluation->SellerService = 5;
             $oevaluation->SellerExact = 5;
             $oevaluation->SellerSpeed = 5;
             $oevaluation->ItemDescription = 5;
             $oevaluation->SellerPrice = 5;
             $oevaluation->SellerScore = 5;
             $oevaluation->CreateTime = time();
             $obool = $oevaluation->save();
             //插入对商家的评价
             if ($obool && $gbool) {
                 //评价插入成功后,修改订单的状态
                 if ($value['EvaStatus'] == 0) {
                     $EvaStatus = 15;
                     //如果该订单服务店先评价,把状态改为15
                 } elseif ($value['EvaStatus'] == 16) {
                     $EvaStatus = 20;
                     //如果该订单之前经销商评价过一次,则服务店此时评价状态改为20
                 }
                 PapOrder::model()->updateByPK($ID, array('EvaStatus' => $EvaStatus));
             }
         }
     }
     //经销商评价
     $modeld = PapOrder::model()->findAll("Status=9 and (EvaStatus = 0 or EvaStatus = 15)");
     //查询符合要求的已收货订单
     foreach ($modeld as $value) {
         if ($value['ReceiptTime'] < $Timeeva) {
             $model = new PapEvaluationService();
             $model->BuyerID = $value['BuyerID'];
             $ID = $model->OrderID = $value['ID'];
             $model->OrganID = $value['SellerID'];
             $model->BuyerFamily = 5;
             $model->BuyerAccept = 5;
             $model->BuyerBusiness = 5;
             $model->BuyerSpeed = 5;
             $model->BuyerCommunication = 5;
             $model->BuyerScore = 5;
             $model->CreateTime = time();
             $bool = $model->insert();
             if ($bool) {
                 if ($value['EvaStatus'] == 0) {
                     $EvaStatus = 16;
                     //如果该订单经销商先评价,把状态改为16
                 } else {
                     if ($value['EvaStatus'] == 15) {
                         $EvaStatus = 20;
                         //如果该订单之前服务店评价过一次,则经销商此时评价状态改为20
                     }
                 }
                 PapOrder::model()->updateByPK($ID, array('EvaStatus' => $EvaStatus));
             }
         }
     }
     Yii::log(date('Y-m-d H:i:s') . " [AutoEvaluation] end \n", 'info', 'command');
     echo date('Y-m-d H:i:s') . " [AutoEvaluation] end \n";
 }
Beispiel #5
0
 public static function idgetordergoods($OrderID, $GoodsID, $Name)
 {
     $model = PapOrderGoods::model()->find("OrderID=:OrderID and GoodsID=:GoodsID", array(":OrderID" => $OrderID, ":GoodsID" => $GoodsID));
     return $model->{$Name};
 }
Beispiel #6
0
 public static function changeOrder($params)
 {
     $ID = $params['ID'];
     $idArr = explode(',', $params['idArr']);
     $amountArr = explode(',', $params['amountArr']);
     $payment = $params['payment'];
     $ProPrice = explode(',', $params['ProPrice']);
     $criteria = new CDbCriteria();
     $organID = Yii::app()->user->getOrganID();
     $criteria->condition = "t.BuyerID={$organID} and t.IsDelete=0 and ((t.Payment=1 and t.Status=1 and ISNULL(t.AlipayTN)) or (t.Payment=2 and t.Status=2))";
     $order = PapOrder::model()->findByPk($ID, $criteria);
     if ($payment == 1) {
         $status = 1;
     } elseif ($payment == 2) {
         $status = 2;
     }
     if (!$payment) {
         return array('error' => 1, 'msg' => '修改失败,请稍后再试!');
     }
     //订单是否存在
     if (!$order) {
         return array('error' => 1, 'msg' => '改价失败,请稍后再试!');
     }
     //商品数量是否合理
     foreach ($idArr as $k => $v) {
         if (!is_int(intval($amountArr[$k])) || $amountArr[$k] < 0) {
             return array('error' => 2, 'msg' => '改价失败,请稍后再试!');
         }
         $orderGoods[$k] = PapOrderGoods::model()->findByPk($v, array('condition' => "OrderID={$ID}"))->attributes;
         if (!$orderGoods[$k]) {
             return array('error' => 3, 'msg' => '改价失败,请稍后再试!');
         }
     }
     //订单商品价格修改
     $sum = 0;
     //$discount = number_format(($order['RealPrice'] - $order['ShipCost']) / $order['GoodsAmount'], 4);
     // $discount = $order['Discount'] ? $order['Discount'] : "100%";
     foreach ($orderGoods as $k => $v) {
         if ($amountArr[$k] == 0) {
             PapOrderGoods::model()->updateByPk($idArr[$k], array('IsDelete' => 1, 'UpdateTime' => time()), "Quantity!={$amountArr[$k]} OR ProPrice!={$ProPrice[$k]}");
         } else {
             $goods = $ProPrice[$k] * $amountArr[$k];
             PapOrderGoods::model()->updateByPk($idArr[$k], array('Quantity' => $amountArr[$k], 'ProPrice' => $ProPrice[$k], 'GoodsAmount' => $goods, 'UpdateTime' => time()), "Quantity!={$amountArr[$k]} OR ProPrice!={$ProPrice[$k]}");
             $sum += $goods;
         }
     }
     //return $discount;
     //  $real = sprintf("%.2f", $sum * $discount / 100) + $order['ShipCost'];
     $real = $sum + $order['ShipCost'];
     $RealPrice = $real >= 0.01 ? $real : 0.01;
     PapOrder::model()->updateByPk($ID, array('GoodsAmount' => $sum, 'TotalAmount' => $RealPrice, 'RealPrice' => $RealPrice, 'UpdateTime' => time(), 'Payment' => $payment, 'Status' => $status));
     return array('success' => 1);
 }
Beispiel #7
0
 public static function saveordergoods($data, $orderID, $mine)
 {
     //参数为数据源,订单ID,均价
     foreach ($data as $value) {
         $factprice = $value['ProPrice'] + $mine;
         $facttotal = $factprice * $value['Quantity'];
         $value['ProPrice'] = $factprice;
         $value['GoodsAmount'] = $facttotal;
         $arr = new PapOrderGoods();
         $arr->attributes = $value;
         $arr->OrderID = $orderID;
         $arr->Version = $value['Version'] ? $value['Version'] : '';
         $arr->save();
     }
 }
Beispiel #8
0
 public function actionOrderGoods()
 {
     $this->layout = '//layouts/base';
     $goodsid = Yii::app()->request->getParam('goods');
     $version = Yii::app()->request->getParam('Version');
     $order = Yii::app()->request->getParam('Order');
     $return = Yii::app()->request->getParam('return');
     $quo = Yii::app()->request->getParam('quo');
     //版本信息
     $good = DealergoodsService::getmongoversion($goodsid, $version);
     $result = $good['GoodsInfo'];
     $result['SellerID'] = $result['OrganID'];
     if ($order) {
         $model = PapOrderGoods::model()->find(array('select' => 'ProPrice as Price,Quantity,MakeID,CarID,Year,ModelID', 'condition' => "OrderID={$order} and GoodsID={$goodsid}"))->attributes;
         $result['Quantity'] = $model['Quantity'];
         $result['Price'] = $model['Price'];
         $car = array('make' => $model['MakeID'], 'series' => $model['CarID'], 'year' => $model['Year'], 'model' => $model['ModelID']);
     } else {
         if ($return) {
             $model = PapReturnGoods::model()->find(array('select' => 'Price,OrderID', 'condition' => "ReturnID='{$return}' and GoodsID='{$goodsid}'"))->attributes;
             $result['Quantity'] = $model['Quantity'];
             $result['Price'] = $model['Price'];
             $ordermodel = PapOrderGoods::model()->find(array('select' => 'MakeID,CarID,Year,ModelID', 'condition' => "OrderID={$model['OrderID']} and GoodsID={$goodsid}"))->attributes;
             $car = array('make' => $ordermodel['MakeID'], 'series' => $ordermodel['CarID'], 'year' => $ordermodel['Year'], 'model' => $ordermodel['ModelID']);
         } else {
             if ($quo) {
                 $model = PapQuotationGoods::model()->findByPk($quo, array('select' => 'Price,Num', 'condition' => "GoodsID='{$goodsid}'"))->attributes;
                 $result['Quantity'] = $model['Num'];
                 $result['Price'] = $model['Price'];
             } else {
                 $this->redirect(array('index'));
             }
         }
     }
     //发货公告
     $model = new PapGoodsSendnotice();
     $notice = $model->find("OrganID = {$result['SellerID']}");
     //商品基本信息
     $result['GoodsID'] = $goodsid;
     $result['BrandName'] = $result['Brand'];
     $goods = PapGoods::model()->findByPk($goodsid, array('select' => 'IsSale,CommentNo'));
     $result['IsSale'] = $goods->attributes['IsSale'];
     $result['CommentNo'] = $goods->attributes['CommentNo'];
     if ($result['oeno']) {
         $oe = '';
         foreach ($result['oeno'] as $v) {
             $oe .= $v . ',';
         }
         $result['OENO'] = substr($oe, 0, -1);
     } else {
         $result['OENO'] = '';
     }
     //最小交易金额
     $result['MinTurnover'] = PapOrderMinTurnover::model()->find("OrganID=:ID", array(":ID" => $result['SellerID']))->attributes['MinTurnover'];
     //店家积分
     $result['TotalScore'] = DefaultService::getrecord($result['SellerID']);
     //店家信息
     $organInfo = Organ::model()->findByPk($result['SellerID'])->attributes;
     $result['OrganName'] = $organInfo['OrganName'];
     $result['QQ'] = $organInfo['QQ'];
     $result['Phone'] = $organInfo['Phone'];
     $result['Address'] = array(Area::getCity($organInfo['Province']), Area::getCity($organInfo['City']), Area::getCity($organInfo['Area']));
     //大类子类标准名称
     $result['StandCodeName'] = Gcategory::model()->find(array('select' => 'Name', 'condition' => "Code='{$result['StandCode']}'"))->attributes['Name'];
     $cpArr = MallService::getCategory($result['StandCode']);
     $result['BigName'] = $cpArr['BigParts'];
     $result['SubName'] = $cpArr['SubParts'];
     $result['sub'] = $cpArr['sub'];
     $result['ValidityType'] = $result['spec']['ValidityType'];
     $result['ValidityDate'] = $result['spec']['ValidityDate'];
     $result['BganCompany'] = $result['spec']['BganCompany'] ? $result['spec']['BganCompany'] : '';
     //标品
     $result['BganGoodsNO'] = $result['spec']['BganGoodsNO'] ? $result['spec']['BganGoodsNO'] : '';
     //标商
     $result['Unit'] = $result['spec']['Unit'] ? $result['spec']['Unit'] : '';
     //单位ID
     $result['UnitName'] = GoodsUnit::model()->findByPk($result['Unit'])->attributes['UnitName'];
     //单位
     $result['MinQuantity'] = $result['pack']['MinQuantity'] ? $result['pack']['MinQuantity'] : '';
     //最小包装
     // 图片
     if (!$result['img']) {
         $result['Images'][0]['ImageUrl'] = 'dealer/goods-img-big.jpg';
         $result['Images'][0]['BigImage'] = 'dealer/goods-img-big.jpg';
     } else {
         foreach ($result['img'] as $k => $v) {
             $result['Images'][$k]['MallImage'] = $v['MallImage'];
             $result['Images'][$k]['ImageUrl'] = $v['ImageUrl'];
             if (!$v['BigImage']) {
                 $result['Images'][$k]['BigImage'] = $v['ImageUrl'];
             } else {
                 $result['Images'][$k]['BigImage'] = $v['BigImage'];
             }
         }
     }
     if (!$result) {
         $this->redirect(array('index'));
     }
     $carmodeltext = MallService::getCarmodeltxt($car);
     $carfit = $car;
     $carfit['goodsid'] = $goodsid;
     $fitres = MallService::checkCarfit($carfit);
     $rows = $this->Getmaincate($result['SellerID']);
     $cate = $this->findsub($rows);
     $this->pageTitle = Yii::app()->name . '-' . "订单商品详情";
     //获取经销商客服列表
     $csparams['organID'] = $result['SellerID'];
     $csparams['type'] = 1;
     $csinfo = CsService::getcslists($csparams);
     $this->render('ordergoods', array('r' => $result, 'cate' => $cate, 'carmodeltext' => $carmodeltext, 'fitres' => $fitres['success'] == 1 ? 1 : 0, 'csinfo' => $csinfo, 'car' => $car, 'data' => $notice, 'goodsid' => $goodsid));
 }
Beispiel #9
0
 public static function idgetgoodsinfo($OrderID, $GoodsID, $goodsinfo)
 {
     $model = PapOrderGoods::model()->find("OrderID=:OrderID and GoodsID=:GoodsID", array(":OrderID" => $OrderID, ":GoodsID" => $GoodsID));
     return $model->{$goodsinfo};
 }