From 1de3211f597969db25ce6b679c563fab791f5dab Mon Sep 17 00:00:00 2001 From: xu Date: Mon, 6 Jan 2020 10:08:16 +0800 Subject: [PATCH] app-wx(v0.1.0 build 15) 1.F 短信接口审核成功,配置参数 --- app-wx/config/params.php | 3 ++- app-wx/controllers/BaseController.php | 18 +----------------- app-wx/models/UserIdentity.php | 24 +++++++++++++++++++----- app-wx/modules/order/controllers/CustomerController.php | 15 ++++++++++----- app-wx/modules/order/controllers/DefaultController.php | 116 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------- app-wx/modules/order/views/default/pages/customer-order-template.php | 30 +++++++++++++++++++----------- app-wx/modules/order/views/default/pages/order-details-template.php | 17 +++++++++-------- app-wx/modules/order/views/default/pages/rate-template.php | 11 +++++------ app-wx/modules/order/views/default/pages/submit-template.php | 13 +++---------- app-wx/modules/user/controllers/DefaultController.php | 49 +++++++++++++++++++++++++++++++++++++++++++++---- app-wx/modules/user/controllers/LoginController.php | 11 +++++++---- app-wx/modules/user/views/default/pages/register-template.php | 23 ++++++++++++++++------- app-wx/views/widgets/js-site.php | 3 ++- common/helpers/FileHelper.php | 2 +- common/helpers/ImageManager.php | 32 ++++++++++++++++++++++++++++++++ composer.json | 3 ++- composer.lock | 749 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- domain/system/SmsMessage.php | 46 ++++++++++++++++++++++++++++++++-------------- web/admin/favicon.ico | Bin 4286 -> 0 bytes web/assets/d0eeab2b/js/cmpts/uploadjs/uploadjs.js | 2 +- web/dist/js/cmpts/uploadjs/uploadjs.js | 2 +- web/dist/js/order-app.js | 2 +- web/dist/js/user-app.js | 2 +- web/src/js/order/customer-order-controller.js | 37 ++++++++++++++----------------------- web/src/js/order/order-details-controller.js | 53 ++++++++++++++--------------------------------------- web/src/js/order/rate-controller.js | 3 +-- web/src/js/order/submit-controller.js | 25 +++++++------------------ web/src/js/user/login-controller.js | 4 ++-- web/src/js/user/register-controller.js | 38 +++++++++++++++++++++++++++++--------- web/src/vendor/mk7/cmpts/uploadjs/uploadjs.js | 205 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------- 30 files changed, 1043 insertions(+), 495 deletions(-) delete mode 100644 web/admin/favicon.ico diff --git a/app-wx/config/params.php b/app-wx/config/params.php index 80416d5..e2c6efe 100644 --- a/app-wx/config/params.php +++ b/app-wx/config/params.php @@ -1,5 +1,6 @@ 'admin@example.com', - 'VERSION' => 'v0.1.0 build 14', // 当前发布版本号: v0.1.0 是版本号 | build 1 是编译次数 + 'testLoginPhones' => ['13900139001'], + 'VERSION' => 'v0.1.0 build 15', // 当前发布版本号: v0.1.0 是版本号 | build 1 是编译次数 ]; diff --git a/app-wx/controllers/BaseController.php b/app-wx/controllers/BaseController.php index fd98f17..cc26b6a 100644 --- a/app-wx/controllers/BaseController.php +++ b/app-wx/controllers/BaseController.php @@ -3,19 +3,6 @@ namespace app\wx\controllers; use Yii; -use yii\helpers\Url; -use yii\web\BadRequestHttpException; -use yii\db\Query; -use app\wx\models\Engineer; -use common\helpers\WxHelper; -use common\helpers\ImageManager; -use common\exts\wechat\Log as WxLog; -use common\helpers\Log as AppLog; -use common\helpers\PerformanceUtils; -use common\models\SysSetting; -use domain\engineer\EngineerRole; -use domain\engineer\EngineerStatus; -use domain\engineer\EngineerSkillTagsRepository; use stdClass; use function header; use function in_array; @@ -25,12 +12,8 @@ use function urlencode; /** - * 只有通过 微信 OAuth 验证后才能访问整个App, - * 这是所有应用控制器的基类 * Class BaseController * @package app\wx\controllers - * @author lee.li <34923862@qq.com> - * @date 2015/07/01 */ class BaseController extends AppController { @@ -168,6 +151,7 @@ class BaseController extends AppController $this->site->timestamp = time(); $this->site->noncestr = 'noncestr'; $this->site->signature = 'signature'; + $this->site->servicePhone = Yii::$app->params['SERVICE_PHONE']; } /** diff --git a/app-wx/models/UserIdentity.php b/app-wx/models/UserIdentity.php index 17f6eb1..ae353d3 100644 --- a/app-wx/models/UserIdentity.php +++ b/app-wx/models/UserIdentity.php @@ -159,19 +159,28 @@ class UserIdentity extends UserModel return $e; } $code = PhoneCodeHelper::getLoginCode($mobile); + $testPhones = Yii::$app->params['testLoginPhones']; $sms = new SmsMessage(); if ($code) { // 发送短信 - $sms->sendLoginCode($mobile, $code); + if (!in_array($mobile, $testPhones)) { + $sms->sendLoginCode($mobile, $code); + } $e->message = '您的登录码已经发送,请注意查收短信!'; } else { $code = PhoneCodeHelper::setLoginCode($mobile); // 发送短信 - $sms->sendLoginCode($mobile, $code); + if (!in_array($mobile, $testPhones)) { + $sms->sendLoginCode($mobile, $code); + } $e->message = '您的登录码已经发送,请注意查收短信!'; } + if (!in_array($mobile, $testPhones)) { + $e->code = ''; + } else { + $e->code = $code; + } $e->success = true; - $e->code = $code; return $e; } @@ -213,6 +222,7 @@ class UserIdentity extends UserModel 'user_id' => $userEntity->id, 'emergency_contact' => $rData['emergencyContact'], 'emergency_person' => $rData['emergencyPerson'], + 'address' => $rData['address'] ]; $userProfile = UserProfile::create($pData); PhoneCodeHelper::removeRegisterCode($mobile); @@ -228,6 +238,8 @@ class UserIdentity extends UserModel $userProfile->qa_charge_pic = $QAChargePicImage[0].$QAChargePicImage[1]; $userProfile->save(); $tran->commit(); + // 因为注册完成之后要审核,必须把已经登录的退出去 + Yii::$app->user->logout(); $e->success = true; $e->message = '注册完成,账号审核通过后即可使用'; } catch (Exception $ex) { @@ -248,6 +260,7 @@ class UserIdentity extends UserModel $e = new stdClass(); $e->success = false; $e->message = ''; + $e->code = ''; $userModel = UserModel::findOne(['mobile' => $mobile]); $sms = new SmsMessage(); if ($userModel) { @@ -261,14 +274,15 @@ class UserIdentity extends UserModel //发送短信 $sms->sendRegCode($mobile, $code); $e->message = '您的注册码已经发送,请注意查收短信!'; - $e->code = $code; + } else { $code = PhoneCodeHelper::setRegisterCode($mobile); //发送短信 $sms->sendRegCode($mobile, $code); $e->message = '您的注册码已经发送,请注意查收短信!'; - $e->code = $code; } + $e->code = ''; + $e->success = true; return $e; } diff --git a/app-wx/modules/order/controllers/CustomerController.php b/app-wx/modules/order/controllers/CustomerController.php index c28635d..a24547a 100644 --- a/app-wx/modules/order/controllers/CustomerController.php +++ b/app-wx/modules/order/controllers/CustomerController.php @@ -2,12 +2,11 @@ namespace app\wx\modules\order\controllers; +use Yii; +use common\helpers\ImageManager; use common\helpers\Utils; use domain\order\RepairOrderRate; use domain\order\RepairOrderRateRepository; -use Yii; - - use domain\order\RepairOrderRepository; use domain\order\RepairOrderStatus; @@ -48,7 +47,10 @@ class CustomerController extends CustomerBaseController $brokenImages = []; $baseURL = Yii::$app->request->getHostInfo(); foreach($brokenImageModels as $k => $v) { - $brokenImages[] = $baseURL.'/'.$v->image_path; + $brokenImages[] = [ + 'url' => ImageManager::getUrl($v->image_path), + 'thumb' => ImageManager::getUrl($v->image_path, 'min') + ]; } $totalPrice = $orderModel->order_price; $rPlans = RepairOrderRepository::findOrderPlansAll(['repair_order_id' => $orderId]); @@ -59,7 +61,10 @@ class CustomerController extends CustomerBaseController $fImages = RepairOrderRepository::findOrderFinishImageAll(['repair_order_id' => $orderId]); $finishImages = []; foreach($fImages as $k => $image) { - $finishImages[] = $baseURL.'/'.$image['image_path']; + $finishImages[] = [ + 'url' => ImageManager::getUrl($image['image_path']), + 'thumb' => ImageManager::getUrl($image['image_path'], 'min') + ]; } $comments = []; $hasComment = false; diff --git a/app-wx/modules/order/controllers/DefaultController.php b/app-wx/modules/order/controllers/DefaultController.php index be0463a..1ec03ea 100644 --- a/app-wx/modules/order/controllers/DefaultController.php +++ b/app-wx/modules/order/controllers/DefaultController.php @@ -7,6 +7,7 @@ use yii\helpers\HtmlPurifier; use yii\base\Exception; use yii\log\Logger; +use common\helpers\ImageManager; use domain\order\RepairOrder; use domain\order\RepairOrderImages; use domain\order\RepairOrderRepository; @@ -17,8 +18,7 @@ use domain\order\RepairOrderRate; use domain\order\RepairOrderRateRepository; use domain\order\CarModelRepository; use domain\system\SmsMessage; -use domain\user\models\UserProfile as UserProfileModel; -use domain\user\UserProfile; +use domain\user\UserRepository; use stdClass; @@ -38,30 +38,6 @@ class DefaultController extends BaseController /** * @return string */ - public function actionSubmit() - { - $e = new stdClass(); - $e->success = false; - $e->message = 'ok'; - $e->address = ''; - $userId = $this->getUserId(); - $userProfile = UserProfileModel::findOne(['user_id' => $userId]); - if ($userProfile) { - if (!empty($userProfile->address)) { - $e->address = $userProfile->address; - } - $e->success = true; - } else { - - $e->message = '找不到维修厂信息'; - } - - return $this->renderJson($e); - } - - /** - * @return string - */ public function actionDoSubmit() { $e = new stdClass(); @@ -76,7 +52,6 @@ class DefaultController extends BaseController $preRepair = HtmlPurifier::process($req->post('preRepair'), ['HTML.Allowed' => '']); $predictPrice = HtmlPurifier::process($req->post('repairPrice'), ['HTML.Allowed' => '']); $finishDate = HtmlPurifier::process($req->post('finishDate'), ['HTML.Allowed' => '']); - $address = HtmlPurifier::process($req->post('address'), ['HTML.Allowed' => '']); $images = $req->post('images'); if (empty($carNo)) { @@ -98,10 +73,17 @@ class DefaultController extends BaseController } else { $predict_finish_time = strtotime($finishDate.':00:00'); } - if (empty($address)) { - $e->message = '维修厂地址必填'; - return $this->renderJson($e); + $address = ''; + $maintainer = ''; + $tel = ''; + $userModel = UserRepository::findOne(['id' => $userId]); + if ($userModel) { + $maintainer = $userModel->name; + $tel = $userModel->mobile; + $profileModel = $userModel->profile; + $address = isset($profileModel)?$profileModel->address:''; } + $data = [ 'user_id' => $userId, 'car_no' => $carNo, @@ -111,6 +93,8 @@ class DefaultController extends BaseController 'predict_fault' => $preRepair, 'predict_price' => $predictPrice, 'maintainer_address' => $address, + 'maintainer_tel' => $tel, + 'maintainer_name' => $maintainer, 'predict_finish_time' => $predict_finish_time, 'status' => RepairOrderStatus::WORKING, ]; @@ -119,11 +103,10 @@ class DefaultController extends BaseController $repairOrder = RepairOrder::create($data); $uuid = $repairOrder->uuid; RepairOrderImages::createBrokenImages($repairOrder->id, $uuid, $images); - UserProfile::updateAddress($userId, $address); $tran->commit(); RepairOrderImages::mvBrokenImages($uuid, $images); - //$sms = new SmsMessage(); - //$sms->sendSubmitInfo($phone, $finishDate); + + $this->sendSubmitSMS($repairOrder, $userId); $e->orderId = $uuid; $e->success = true; } catch(Exception $ex) { @@ -138,6 +121,59 @@ class DefaultController extends BaseController } /** + * 下维修单短信 + * @param $orderModel + * @param $userId + * @return array + */ + private function sendSubmitSMS($orderModel, $userId) + { + /* + 您好,维修厂${maintainer}已进行维修,预计完成时间${dateTime},预估维修内容${repairPlan},预估维修费用${repairPrice},维修厂地址:${address},联系电话:${tel} + * */ + $smsVars = ['maintainer' => '', 'tel' => '', 'address' => '', 'dateTime' => '', 'repairPlan' => '', 'repairPrice' => '']; + $smsVars['maintainer'] = $orderModel->maintainer_name; + $smsVars['tel'] = $orderModel->maintainer_tel; + $smsVars['address'] = $orderModel->maintainer_address; + $smsVars['dateTime'] = date('Y年m月d日 H点', $orderModel->predict_finish_time); + $smsVars['repairPlan'] = $orderModel->predict_fault; + $smsVars['repairPrice'] = $orderModel->predict_price; + $phone = $orderModel->contact_mobile; + $sms = new SmsMessage(); + return $sms->sendSubmitInfo($phone, $smsVars); + } + + /** + * @param $orderModel + * @param $userId + */ + private function sendFinishSMS($orderModel, $userId) + { + /* + 您好,${maintainer}已对您的车维修完成,点击http://gkauto.jiwork.com/site/t?o=${code}可以给本次服务评分。如有意见请拨打投诉热线:${tel} + * */ + + $smsVars = ['maintainer' => '', 'code' => '', 'tel' => '']; + + $smsVars['tel'] = Yii::$app->params['SERVICE_PHONE']; + $smsVars['maintainer'] = $orderModel->maintainer_name; + $smsVars['code'] = $orderModel->short_uuid; + $phone = $orderModel->contact_mobile; + $sms = new SmsMessage(); + return $sms->sendFinishInfo($phone, $smsVars); + + } + + public function actionSms() + { + $userId = $this->getUserId(); + $orderModel = RepairOrderRepository::findOne(['id' => 12]); + //$result = $this->sendSubmitSMS($orderModel, $userId); + //var_dump($result); + //$this->sendFinishSMS($orderModel, $userId); + } + + /** * @return string */ public function actionOrderList() @@ -218,7 +254,10 @@ class DefaultController extends BaseController $brokenImages = []; $baseURL = Yii::$app->request->getHostInfo(); foreach($brokenImageModels as $k => $v) { - $brokenImages[] = $baseURL.'/'.$v->image_path; + $brokenImages[] = [ + 'url' => ImageManager::getUrl($v->image_path), + 'thumb' => ImageManager::getUrl($v->image_path, 'min') + ]; } $totalPrice = $orderModel->order_price; $rPlans = RepairOrderRepository::findOrderPlansAll(['repair_order_id' => $orderId]); @@ -229,7 +268,10 @@ class DefaultController extends BaseController $fImages = RepairOrderRepository::findOrderFinishImageAll(['repair_order_id' => $orderId]); $finishImages = []; foreach($fImages as $k => $image) { - $finishImages[] = $baseURL.'/'.$image['image_path']; + $finishImages[] = [ + 'url' => ImageManager::getUrl($image['image_path']), + 'thumb' => ImageManager::getUrl($image['image_path'], 'min') + ]; } $hasComment = false; $comments = []; @@ -316,8 +358,8 @@ class DefaultController extends BaseController $orderModel->save(); $tran->commit(); RepairFinishImages::mvFinishImages($orderModel->uuid, $images); - //$sms = new SmsMessage(); - //$sms->sendFinishInfo($phone, $finishDate); + $this->sendFinishSMS($orderModel, $userId); + $e->success = true; } catch (Exception $ex) { $tran->rollBack(); 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 8ef825f..abb9a76 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 @@ -6,6 +6,7 @@ $baseUrl = Url::base(true); body,div,p,span,input,ul,li{padding: 0;margin: 0} input{-webkit-appearance: none;} ul,li{list-style: none } + .navbar-inner{background-color:#ff7b24} #customer-order .content-div { width:100%; background: #fff; display:inline-flex;padding-top: 1rem} #customer-order .left-title-div {width:33%; font-size:1rem; font-weight:400; color:rgba(0,0,0,1); line-height:1.81rem;} #customer-order .center-content-div {width:47%; font-size:1rem; font-weight:400; color:rgba(118,118,118,1); line-height:1.81rem;} @@ -66,14 +67,14 @@ $baseUrl = Url::base(true); #customer-order .content-wrapper .rate-btn-cls{color:#fff;border-radius: 1.5rem;padding:0.6rem 0.8rem;text-align: center;background:#FF8728;width:4rem;} #customer-order .content-wrapper .comment-txt-cls{color:#000;font-size: 1rem;line-height: 1.5rem} - #customer-order #warranty-wrapper{position: absolute;top: 0;bottom: 0;width: 100%;z-index: 2;padding:3rem 2rem;box-sizing: border-box;background: rgba(0,0,0,0.3);} + #customer-order #warranty-wrapper{position: absolute;top: 0;bottom: 0;width: 100%;z-index: 2;padding:3rem 1rem;box-sizing: border-box;background: rgba(0,0,0,0.3);} #customer-order #warranty-wrapper .warranty-wrapper-inner{width:100%;background: #fff;height:100%;position: relative} #customer-order #warranty-wrapper .paragraph-cls{width:100%;padding:0.5rem 1rem;box-sizing: border-box;margin:0.25rem 0 ;} #customer-order #warranty-wrapper .agree-btn{position: absolute;bottom:0;right:0;width:100%;color:#FF8728;background: #fff;padding:0.8rem 0.5rem;box-sizing: border-box;text-align: center} - #customer-order #warranty-wrapper h2{font-size: 1.0rem;font-weight: bold;} - #customer-order #warranty-wrapper p{line-height: 1.5rem;padding:0;margin: 0;} + #customer-order #warranty-wrapper h2{font-size: 0.875rem;font-weight: bold;color:#000} + #customer-order #warranty-wrapper p{line-height: 1.5rem;padding:0;margin: 0;color:#000} \ No newline at end of file + diff --git a/app-wx/modules/order/views/default/pages/rate-template.php b/app-wx/modules/order/views/default/pages/rate-template.php index dc691dd..c7c8937 100644 --- a/app-wx/modules/order/views/default/pages/rate-template.php +++ b/app-wx/modules/order/views/default/pages/rate-template.php @@ -4,17 +4,17 @@ $baseUrl = Url::base(true); ?>