diff --git a/app-wx/config/params.php b/app-wx/config/params.php index db06082..a210b95 100644 --- a/app-wx/config/params.php +++ b/app-wx/config/params.php @@ -1,5 +1,5 @@ 'admin@example.com', - 'VERSION' => 'v0.1.0 build 7', // 当前发布版本号: v0.1.0 是版本号 | build 1 是编译次数 + 'VERSION' => 'v0.1.0 build 8', // 当前发布版本号: v0.1.0 是版本号 | build 1 是编译次数 ]; diff --git a/app-wx/controllers/BaseController.php b/app-wx/controllers/BaseController.php index 3d9417d..ee61e95 100644 --- a/app-wx/controllers/BaseController.php +++ b/app-wx/controllers/BaseController.php @@ -80,11 +80,11 @@ class BaseController extends AppController private function getWxArray() { $wxArray = [ - 'name' => '配件维修', - 'intro' => '报修', + 'name' => '汽车维修店系统', + 'intro' => '汽车维修店系统', 'logo_path' => '', - 'subscribe_title' => '报修', - 'subscribe_desc' => '报修', + 'subscribe_title' => '汽车维修店系统', + 'subscribe_desc' => '汽车维修店系统', 'subscribe_img' => '', 'subscribe_url' => '', 'appid' => 'appid', diff --git a/app-wx/modules/order/controllers/CustomerController.php b/app-wx/modules/order/controllers/CustomerController.php index 955b152..a6fb9d8 100644 --- a/app-wx/modules/order/controllers/CustomerController.php +++ b/app-wx/modules/order/controllers/CustomerController.php @@ -2,6 +2,9 @@ namespace app\wx\modules\order\controllers; +use common\helpers\Utils; +use domain\order\RepairOrderRate; +use domain\order\RepairOrderRateRepository; use Yii; @@ -34,29 +37,36 @@ class CustomerController extends CustomerBaseController $orderUUId = $this->request->post('id'); $md5Mobile = $this->request->post('sn'); - $orderModel = RepairOrderRepository::findOne(['uuid' => $orderUUId]); + $orderModel = RepairOrderRepository::findOne(['short_uuid' => $orderUUId]); if (empty($orderModel)) { $e->message = '找不到该订单'; return $this->renderJson($e); } - $brokenImageModels = RepairOrderRepository::findOrderImageAll(['repair_order_id' => $orderModel->id]); + $orderId = $orderModel->id; + $brokenImageModels = RepairOrderRepository::findOrderImageAll(['repair_order_id' => $orderId]); $brokenImages = []; $baseURL = Yii::$app->request->getHostInfo(); foreach($brokenImageModels as $k => $v) { $brokenImages[] = $baseURL.'/'.$v->image_path; } $totalPrice = $orderModel->order_price; - $rPlans = RepairOrderRepository::findOrderPlansAll(['repair_order_id' => $orderModel->id]); + $rPlans = RepairOrderRepository::findOrderPlansAll(['repair_order_id' => $orderId]); $repairPlans = []; foreach($rPlans as $k => $plan) { $repairPlans[] = ['plan' => $plan['repair_plan'] ,'price' => $plan['price']]; } - $fImages = RepairOrderRepository::findOrderFinishImageAll(['repair_order_id' => $orderModel->id]); + $fImages = RepairOrderRepository::findOrderFinishImageAll(['repair_order_id' => $orderId]); $finishImages = []; foreach($fImages as $k => $image) { $finishImages[] = $baseURL.'/'.$image['image_path']; } + $comments = []; $hasComment = false; + $rateModel = RepairOrderRateRepository::findOne(['repair_order_id' => $orderId]); + if ($rateModel) { + $hasComment = true; + $comments = ['starTxt' => RepairOrderRate::starLabel($rateModel->star_count), 'comment' => $rateModel->comment]; + } $e->success = true; $e->item = [ @@ -70,6 +80,7 @@ class CustomerController extends CustomerBaseController 'orderDateTime' => date('Y-m-d H:00', $orderModel->created_at), 'status' => RepairOrderStatus::getEnLabel($orderModel->status), 'hasComment' => $hasComment, + 'comments' => $comments, 'brokenImages' => $brokenImages, 'repairPlans' => $repairPlans, 'totalPrice' => $totalPrice, @@ -88,10 +99,47 @@ class CustomerController extends CustomerBaseController $e->success = false; $e->message = 'ok'; $star = $this->request->post('star'); + $orderUUId = $this->request->post('id'); $comment = $this->request->post('comment'); + $userId = $this->getUserId(); + $orderModel = RepairOrderRepository::findOne(['short_uuid' => $orderUUId]); + if (empty($orderModel)) { + $e->message = '找不到订单'; + return $this->renderJson($e); + } + if (RepairOrderStatus::WORKING == $orderModel->status) { + $e->message = '订单还在维修中'; + return $this->renderJson($e); + } + + if(mb_strlen($comment) > 200) { + $e->message = '评论只能200字内'; + return $this->renderJson($e); + } + $rateModel = RepairOrderRateRepository::findOne(['repair_order_id' => $orderModel->id]); + if ($rateModel) { + $e->message = '已经评价过了'; + return $this->renderJson($e); + } + if ($userId > 0) { + $e->message = '维修厂人员不能评论'; + return $this->renderJson($e); + } + $items = [ + 'ip_address' => Utils::clientIp(), + 'user_id' => 0, + 'star_count' => $star, + 'repair_order_id' => $orderModel->id, + 'comment' => $comment, + ]; + $rateModel = RepairOrderRate::create($items); + if($rateModel) { + $e->success = false; + $e->message = '提交成功'; + } else { + $e->message = '提交评论失败'; + } - //echo $star.'_'.$comment; - $e->success = true; return $this->renderJson($e); } diff --git a/app-wx/modules/order/controllers/DefaultController.php b/app-wx/modules/order/controllers/DefaultController.php index 5d7d3c8..e64fd61 100644 --- a/app-wx/modules/order/controllers/DefaultController.php +++ b/app-wx/modules/order/controllers/DefaultController.php @@ -2,6 +2,8 @@ namespace app\wx\modules\order\controllers; +use domain\order\RepairOrderRate; +use domain\order\RepairOrderRateRepository; use Yii; use yii\helpers\HtmlPurifier; use yii\base\Exception; @@ -71,7 +73,7 @@ class DefaultController extends BaseController 'predict_fault' => $preRepair, 'predict_price' => $predictPrice, 'predict_finish_time' => strtotime($finishDate.':00:00'), - 'status' => RepairOrderStatus::REPAIRING, + 'status' => RepairOrderStatus::WORKING, ]; $tran = Yii::$app->db->beginTransaction(); try { @@ -110,13 +112,13 @@ class DefaultController extends BaseController } $allItemList = [0, 0, 0]; if ('working' == $status || '' == $status) { - $allItemList = $this->getOrderList($page, 1); + $allItemList = $this->getOrderList($page, RepairOrderStatus::WORKING); } else { - $allItemList = $this->getOrderList($page, 0); + $allItemList = $this->getOrderList($page, RepairOrderStatus::FINISH); } $e->page_count = $allItemList[1]; - $e->page = $page ; + $e->page = $page; $e->items = $allItemList[2]; $e->success = true; @@ -129,18 +131,24 @@ class DefaultController extends BaseController */ private function getOrderList($page, $status) { - $pageSize = 5 ; + $pageSize = 8 ; $pager_offset = ($page -1) * $pageSize; $limitPage = $pageSize; - $count = 15; + $userId = $this->getUserId(); + $where = ['status' => $status, 'user_id' => $userId]; + $list = RepairOrderRepository::getList($pager_offset, $limitPage, $where); + $count = RepairOrderRepository::getListCount($where); $items = []; $pageCount = ceil(($count*1) / $pageSize); - $carModelList = ['宝马X3','宝马X4','宝马X5','宝马X6','奔驰c200l','奔驰E260','奔驰E260','奔驰E300']; - $customerList = ['张先生','李先生','王先生','赵先生','刘先生','宝先生','好先生','费先生']; - for ($i = $pager_offset; $i < ($pager_offset+$limitPage); $i++ ) { - $carModel = $carModelList[mt_rand(0,7)]; - $customer = $customerList[mt_rand(0,7)]; - $items[] = ['id'=> $i ,'carNo' => 'XA'.mt_rand(10000,99999), 'carModel' => $carModel, 'status' => $status, 'customer' => $customer ,'createdTime' => date('Y-m-d H:i')]; + + foreach($list as $k => $item) { + + $items[] = [ + 'id'=> $item['uuid'] ,'carNo' => $item['car_no'], + 'carModel' => $item['car_model'], + 'status' => $item['status'], + 'customer' => $item['customer'] ,'createdTime' => date('Y-m-d H:i', $item['created_at']) + ]; } return [$count, $pageCount, $items]; @@ -161,24 +169,31 @@ class DefaultController extends BaseController $e->message = '找不到该订单'; return $this->renderJson($e); } - $brokenImageModels = RepairOrderRepository::findOrderImageAll(['repair_order_id' => $orderModel->id]); + $orderId = $orderModel->id; + $brokenImageModels = RepairOrderRepository::findOrderImageAll(['repair_order_id' => $orderId]); $brokenImages = []; $baseURL = Yii::$app->request->getHostInfo(); foreach($brokenImageModels as $k => $v) { $brokenImages[] = $baseURL.'/'.$v->image_path; } $totalPrice = $orderModel->order_price; - $rPlans = RepairOrderRepository::findOrderPlansAll(['repair_order_id' => $orderModel->id]); + $rPlans = RepairOrderRepository::findOrderPlansAll(['repair_order_id' => $orderId]); $repairPlans = []; foreach($rPlans as $k => $plan) { $repairPlans[] = ['plan' => $plan['repair_plan'] ,'price' => $plan['price']]; } - $fImages = RepairOrderRepository::findOrderFinishImageAll(['repair_order_id' => $orderModel->id]); + $fImages = RepairOrderRepository::findOrderFinishImageAll(['repair_order_id' => $orderId]); $finishImages = []; foreach($fImages as $k => $image) { $finishImages[] = $baseURL.'/'.$image['image_path']; } $hasComment = false; + $comments = []; + $rateModel = RepairOrderRateRepository::findOne(['repair_order_id' => $orderId]); + if ($rateModel) { + $hasComment = true; + $comments = ['starTxt' => RepairOrderRate::starLabel($rateModel->star_count), 'comment' => $rateModel->comment]; + } $e->success = true; $e->item = [ @@ -192,6 +207,7 @@ class DefaultController extends BaseController 'orderDateTime' => date('Y-m-d H:00', $orderModel->created_at), 'status' => RepairOrderStatus::getEnLabel($orderModel->status), 'hasComment' => $hasComment, + 'comments' => $comments, 'brokenImages' => $brokenImages, 'repairPlans' => $repairPlans, 'totalPrice' => $totalPrice, diff --git a/app-wx/modules/order/views/default/pages/customer-order-template.php b/app-wx/modules/order/views/default/pages/customer-order-template.php index 1f8a9b0..ece258e 100644 --- a/app-wx/modules/order/views/default/pages/customer-order-template.php +++ b/app-wx/modules/order/views/default/pages/customer-order-template.php @@ -135,15 +135,13 @@ $baseUrl = Url::base(true);