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); }
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;
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)); }
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"; }
public static function idgetordergoods($OrderID, $GoodsID, $Name) { $model = PapOrderGoods::model()->find("OrderID=:OrderID and GoodsID=:GoodsID", array(":OrderID" => $OrderID, ":GoodsID" => $GoodsID)); return $model->{$Name}; }
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); }
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(); } }
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)); }
public static function idgetgoodsinfo($OrderID, $GoodsID, $goodsinfo) { $model = PapOrderGoods::model()->find("OrderID=:OrderID and GoodsID=:GoodsID", array(":OrderID" => $OrderID, ":GoodsID" => $GoodsID)); return $model->{$goodsinfo}; }