123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- <?php
- namespace backend\controllers;
- use api\models\Common;
- use common\library\Apireturn;
- use common\library\Sms;
- use common\models\SendOrder;
- use common\models\SendOrderLog;
- use common\models\UserCompany;
- use yii;
- use yii\filters\AccessControl;
- /**
- * 派单记录管理
- * @package backend\controllers
- */
- class SendorderLogController extends BaseController
- {
- public $layout = 'iframe';
- const PAGESIZE = 20;//分页数
- public function behaviors()
- {
- return [
- 'access' => [
- 'class' => AccessControl::className(),
- 'rules' => [
- [
- 'actions' => [],
- 'allow' => true,
- 'roles' => ['@'],
- ],
- ],
- ],
- ];
- }
- /**
- * 列表
- * @return string
- */
- public function actionIndex()
- {
- $id = Yii::$app->request->get('id');
- $modelSendOrder = SendOrder::find()->where(['id'=>$id])->one();
- if(empty($modelSendOrder))
- {
- Yii::$app->getSession()->setFlash('error', '找不到派单');
- return $this->redirect(Yii::$app->request->referrer);
- }
- $models = SendOrderLog::find()->where('send_id = :id AND status != :status ',[':id'=>$id,':status'=>SendOrderLog::STATUS_CANCEL])->with("company");
- $pages = new yii\data\Pagination(["totalCount" => $models->count(), "pageSize" => self::PAGESIZE]);
- $models = $models->offset($pages->offset)->limit($pages->limit)->orderBy("id DESC")->all();
- return $this->render('index', ['models' => $models, 'pages' => $pages,'name'=>'派单记录','modelSendOrder'=>$modelSendOrder]);
- }
- /**
- * 取消派单
- */
- public function actionCancel()
- {
- if(Yii::$app->request->isPost) {
- $id = Yii::$app->request->post('id');//派单id
- $model = SendOrderLog::findOne($id);
- if(empty($model))
- return Apireturn::returnJson(0,'找不到记录');
- $model->status = SendOrderLog::STATUS_CANCEL;
- if($model->save())
- return Apireturn::returnJson(1,'取消派单成功');
- else
- return Apireturn::returnJson(0,'取消派单失败');
- }
- }
- /**
- * 发送短信
- */
- public function actionSendMessage()
- {
- if(Yii::$app->request->isPost) {
- $uid = Yii::$app->request->post('uid');//用户id
- $model = UserCompany::find()->where(['uid'=>$uid])->select('tel')->one();
- if(empty($model))
- return Apireturn::returnJson(0,'找不到装修公司');
- if(!Common::is_tel($model->tel))
- return Apireturn::returnJson(0,'装修公司的手机号错误');
- $sms = new Sms();
- $result =$sms->SendMessage($model->tel,"您好,豪省心装修导航向您派送了一个订单,请登录后台查看客户信息。");
- if($result)
- return Apireturn::returnJson(1,'发送短信成功');
- else
- return Apireturn::returnJson(0,'发送短信失败');
- }
- }
- /**
- * 编辑订单状态
- */
- public function actionUpdateStatus()
- {
- if(Yii::$app->request->isPost)
- {
- $status = Yii::$app->request->post('status');
- $id = Yii::$app->request->post('id');
- $model = SendOrderLog::findOne($id);
- if(empty($model))
- return Apireturn::returnJson(0,'找不到记录');
- $model->status = $status;
- if($model->save())
- return Apireturn::returnJson(1,'更新状态成功',['status'=>SendOrderLog::status_list()[$status]]);
- else
- return Apireturn::returnJson(0,'找不到记录');
- }
- $id = Yii::$app->request->get('id');
- $model = SendOrderLog::findOne($id);
- if(empty($model))
- {
- Yii::$app->getSession()->setFlash('error', '找不到记录');
- return $this->redirect(Yii::$app->request->referrer);
- }
- return $this->render('status_list',['id'=>$id,'status'=>$model->status]);
- }
- }
|