Browse Source

Merge remote-tracking branch 'origin/develop' into develop

develop
李可松 4 years ago
parent
commit
c85115bcac
  1. 31
      app/AdminAgent/Controllers/DemandController.php
  2. 21
      app/Http/Controllers/Api/VerificationController.php
  3. 39
      app/Providers/DemandBiddingServiceProvider.php
  4. 7
      app/Providers/ProductServiceProvider.php
  5. 18
      app/Traits/SmsTraits.php
  6. 7
      config/sms.php

31
app/AdminAgent/Controllers/DemandController.php

@ -4,6 +4,7 @@ namespace App\AdminAgent\Controllers;
use App\AdminAgent\Actions\Grid\DemandConfirm;
use App\AdminAgent\Lazys\DemandBiddingLazys;
use App\Common\AgentType;
use App\Models\AgentProduct;
use App\Models\Product;
use App\Traits\ResponseHelper;
@ -147,17 +148,25 @@ class DemandController extends AdminController
return json_encode($path);
});
$form->hidden('deadline');
$form->select('bidding_user_type','竞标用户类型')
->when([2],function (Form $form){
$form->select('agent_product_id','产品')->options(function (){
return AgentProduct::query()->where('agent_id',Admin::user()->id)->where('status',1)->pluck('title','id');
});
})
->options([
1 => '供应商',
2 => '地接'
])
->default(1);
if (Admin::user()->type == AgentType::CLUSTER) {
$form->select('bidding_user_type', '竞标用户类型')
->when([2], function (Form $form) {
$form->select('agent_product_id', '产品')->options(function () {
return AgentProduct::query()->where('agent_id', Admin::user()->id)->where('status', 1)->pluck('title', 'id');
});
})
->options([
1 => '供应商',
2 => '地接'
])
->default(1);
}else{
$form->select('bidding_user_type', '竞标用户类型')
->options([
1 => '供应商',
])
->default(1);
}
$form->decimal('price');
$form->number('stock');
$form->hidden('publisher_type');

21
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();
}

39
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('bidding',[$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]);
}
}
});
}
}

7
app/Providers/ProductServiceProvider.php

@ -7,7 +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;
@ -89,6 +92,10 @@ class ProductServiceProvider extends ServiceProvider
'product_id' => $product->id,
]);
DB::commit();
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();

18
app/Traits/SmsTraits.php

@ -0,0 +1,18 @@
<?php
namespace App\Traits;
trait SmsTraits
{
public static $systeaName = [
'agent',
'supplier',
'user',
];
public static $systeaNameText = [
'agent' => '代理商后台',
'supplier' => '供应商后台',
'user' => '海南小程序',
];
}

7
config/sms.php

@ -10,7 +10,10 @@ return [
'secret_key' => env('SECRET_KEY'),
'sign_name' => '领峰远扬',
'templates' => [
'bidding' => '1100494' //{1}参与了您发起的竞标{2},详情请登录{3}查看。
'bidding' => '1076646', //{竞标人的公司名称}]参与了您发起的竞标{编号},详情请登录{系统名称}查看。
'demand' => '1100494', //恭喜您中标啦!竞标[{编号}]已成功中标!详情请登录{系统名称}查看。
'auto_shelves' => '1100494', //供应商[{供应商名称}]在{时间}上传了一件新的产品,已为您自动上架,如需修改产品利润,请登录{系统名称}查看并修改。
'verify' => '1076646', //您有一笔订单[{订单号}]已成功核销,详情请登录{系统名称}查看
]
]
],
];
Loading…
Cancel
Save