From 6dc728606705739820520ae5d786a60cb614aa6f Mon Sep 17 00:00:00 2001 From: lemon <15040771@qq.com> Date: Fri, 3 Sep 2021 14:00:28 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9F=AD=E4=BF=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Api/VerificationController.php | 21 ++++++++-- .../DemandBiddingServiceProvider.php | 39 ++++++++++--------- app/Providers/ProductServiceProvider.php | 7 +++- app/Traits/SmsTraits.php | 18 +++++++++ config/sms.php | 9 +++-- 5 files changed, 67 insertions(+), 27 deletions(-) create mode 100644 app/Traits/SmsTraits.php diff --git a/app/Http/Controllers/Api/VerificationController.php b/app/Http/Controllers/Api/VerificationController.php index fcbea2c..42ddf41 100644 --- a/app/Http/Controllers/Api/VerificationController.php +++ b/app/Http/Controllers/Api/VerificationController.php @@ -4,9 +4,13 @@ namespace App\Http\Controllers\Api; use App\Http\Controllers\Controller; use App\Models\Agent; use App\Models\Order; +use App\Models\Supplier; use App\Models\Product; +use App\Models\OrderProductItem; use App\Models\User; use App\Common\OrderStatus; +use App\Service\SmsService; +use App\Traits\SmsTraits; use EasyWeChat\Factory; use Illuminate\Support\Facades\Storage; @@ -22,9 +26,8 @@ class VerificationController extends Controller return $this->error('参数错误'); } list($id, $verify_code) = $code_arr; - - $order = Order::with('agentProduct:id,verifier') - ->where(['agent_id' => $this->agent_id, 'verify_code' => $verify_code]) + $order = Order::with(['agentProduct:id,verifier','user','agent']) + ->where(['verify_code' => $verify_code]) ->whereIn('status', [OrderStatus::PAID, OrderStatus::PAID_RETAINAGE, OrderStatus::OFFLINE_PAID]) ->find($id); if (!$order) { @@ -39,7 +42,17 @@ class VerificationController extends Controller } $order->status = OrderStatus::SUCCESS; - $order->save(); + if ($order->save()) { + if(env('SMS_SWITCH','') == true) { + if (!empty($order->user->mobile)) { + (new SmsService)->send('verify', [$order->order_no,SmsTraits::$systeaNameText['user']], [$order->user->mobile]);//用户 + } + $supplierIds = OrderProductItem::query()->with('supplier')->where('order_id',$order->id)->distinct()->pluck('supplier_id'); + $phone = Supplier::query()->whereIn('id',$supplierIds)->pluck('contact_phone')->toArray(); + (new SmsService)->send('verify', [$order->order_no,SmsTraits::$systeaNameText['supplier']], $phone);//供应商 + (new SmsService)->send('verify', [$order->order_no,SmsTraits::$systeaNameText['agent']], [$order->agent->contact_phone]);//代理商 + } + } return $this->success(); } diff --git a/app/Providers/DemandBiddingServiceProvider.php b/app/Providers/DemandBiddingServiceProvider.php index 542ed0c..fbb0720 100644 --- a/app/Providers/DemandBiddingServiceProvider.php +++ b/app/Providers/DemandBiddingServiceProvider.php @@ -6,6 +6,7 @@ use App\Models\Demand; use App\Models\DemandBidding; use App\Service\SmsService; use App\Traits\DemandTraits; +use App\Traits\SmsTraits; use Illuminate\Support\Facades\Log; use Illuminate\Support\ServiceProvider; @@ -28,23 +29,25 @@ class DemandBiddingServiceProvider extends ServiceProvider */ public function boot() { - //DemandBidding::created(function ($order) { - // $demand = Demand::query()->with(['publisher'])->where('id',$order->demand_id)->first(); - // if(!empty($demand->publisher->contact_phone)) { - // $sms = new SmsService(); - // $sms->send('bidding',[$order->biddingUser->name,$demand->id,DemandTraits::$polymorphic[$demand->publisher_type]],[$demand->publisher->contact_phone]); - // } - //}); - // - // - //Demand::updated(function ($demand) { - // //如果状态改变了 - // if($demand->isDirty('bidding_id')) { - // if(!empty($demand->publisher->contact_phone)) { - // $sms = new SmsService(); - // $sms->send('demand',[$demand->publisher->name,$demand->id,DemandTraits::$polymorphic[$demand->bidding_user_type]],[$demand->biddingUser->contact_phone]); - // } - // } - //}); + DemandBidding::created(function ($order) { + if(env('SMS_SWITCH','') == true){ + $demand = Demand::query()->with(['publisher'])->where('id', $order->demand_id)->first(); + if (!empty($demand->publisher->contact_phone)) { + $sms = new SmsService(); + $sms->send('bidding', [$order->biddingUser->name, $demand->id, SmsTraits::$systeaNameText['agent']], [$demand->publisher->contact_phone]); + } + } + }); + + + Demand::updated(function ($demand) { + //如果状态改变了 + if(env('SMS_SWITCH' , '') == true && $demand->isDirty('bidding_id')) { + if(!empty($demand->publisher->contact_phone)) { + $sms = new SmsService(); + $sms->send('demand',[$demand->publisher->name,$demand->id,SmsTraits::$systeaNameText['supplier']],[$demand->biddingUser->contact_phone]); + } + } + }); } } diff --git a/app/Providers/ProductServiceProvider.php b/app/Providers/ProductServiceProvider.php index 426e0bd..33f7b57 100644 --- a/app/Providers/ProductServiceProvider.php +++ b/app/Providers/ProductServiceProvider.php @@ -7,8 +7,10 @@ use App\Models\AgentProduct; use App\Models\AgentProductItem; use App\Models\AgentSetting; use App\Models\Category; +use App\Models\Agent; use App\Models\Product; use App\Service\SmsService; +use App\Traits\SmsTraits; use Illuminate\Database\Eloquent\Model; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Log; @@ -90,7 +92,10 @@ class ProductServiceProvider extends ServiceProvider 'product_id' => $product->id, ]); DB::commit(); - (new SmsService)->send('auto_shelves',[$product->supplier->name,now(),'代理商后台'],$product->supplier->contact_phone); + if(env('SMS_SWITCH','') == true) { + $phone = Agent::query()->where('id',$v)->value('contact_phone'); + (new SmsService)->send('auto_shelves',[$product->supplier->name,now(),SmsTraits::$systeaNameText['agent']],[$phone]); + } } catch (\Exception $e) { Log::error('自动上架失败::' . $e->getTraceAsString()); DB::rollBack(); diff --git a/app/Traits/SmsTraits.php b/app/Traits/SmsTraits.php new file mode 100644 index 0000000..566522e --- /dev/null +++ b/app/Traits/SmsTraits.php @@ -0,0 +1,18 @@ + '代理商后台', + 'supplier' => '供应商后台', + 'user' => '海南小程序', + ]; +} diff --git a/config/sms.php b/config/sms.php index 8d274cd..a8b311f 100644 --- a/config/sms.php +++ b/config/sms.php @@ -10,9 +10,10 @@ return [ 'secret_key' => env('SECRET_KEY'), 'sign_name' => '领峰远扬', 'templates' => [ - 'bidding' => '1100494', //发标人:[{竞标人的公司名称}]参与了您发起的竞标[{编号}],详情请登录{系统名称}查看。 - 'demand' => '1100494', //竞标人:恭喜您中标啦!竞标[{编号}]已成功中标!详情请登录{系统名称}查看。 - 'auto_shelves' => '1100494', //代理商:供应商[{供应商名称}]在{时间}上传了一件新的产品,已为您自动上架,如需修改产品利润,请登录{系统名称}查看并修改。 + 'bidding' => '1076646', //{竞标人的公司名称}]参与了您发起的竞标{编号},详情请登录{系统名称}查看。 + 'demand' => '1100494', //恭喜您中标啦!竞标[{编号}]已成功中标!详情请登录{系统名称}查看。 + 'auto_shelves' => '1100494', //供应商[{供应商名称}]在{时间}上传了一件新的产品,已为您自动上架,如需修改产品利润,请登录{系统名称}查看并修改。 + 'verify' => '1076646', //您有一笔订单[{订单号}]已成功核销,详情请登录{系统名称}查看 ] - ] + ], ];