6
0
Fork 0

添加推送日志表

release
vine_liutk 2021-12-22 10:25:07 +08:00
parent cf052f0047
commit 12da37b1b4
4 changed files with 89 additions and 5 deletions

View File

@ -4,7 +4,6 @@ namespace App\Admin\Controllers;
use App\Admin\Repositories\Message; use App\Admin\Repositories\Message;
use App\Models\Message as MessageModel; use App\Models\Message as MessageModel;
use App\Services\Push\MallUnipushService;
use Dcat\Admin\Admin; use Dcat\Admin\Admin;
use Dcat\Admin\Form; use Dcat\Admin\Form;
use Dcat\Admin\Grid; use Dcat\Admin\Grid;
@ -104,9 +103,11 @@ class MessageController extends AdminController
} }
$form->saved(function (Form $form, $result) { $form->saved(function (Form $form, $result) {
// 判断是否是新增操作 // 判断是否是新增操作
if ($form->isCreating() && $form->is_push) { if ($form->isCreating()) {
$pushService = new MallUnipushService(); $message = MessageModel::findOrFail($result);
$pushService->pushAllMessage(MessageModel::findOrFail($result)); if ($message->needPush()) {
$message->pushMessage();
}
return; return;
} }
}); });

View File

@ -3,6 +3,7 @@
namespace App\Models; namespace App\Models;
use App\Casts\JsonArray; use App\Casts\JsonArray;
use App\Helpers\Order as OrderHelper;
use Dcat\Admin\Traits\HasDateTimeFormatter; use Dcat\Admin\Traits\HasDateTimeFormatter;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
@ -45,7 +46,7 @@ class Message extends Model
public static function createOrderMessage(Order $order) public static function createOrderMessage(Order $order)
{ {
self::create([ $message = self::create([
'type' => 1, 'type' => 1,
'title' => '订单编号:'.$order->sn, 'title' => '订单编号:'.$order->sn,
'user_id' => $order->user_id, 'user_id' => $order->user_id,
@ -57,6 +58,27 @@ class Message extends Model
], ],
'jump_type'=> self::JUMP_MIINE, 'jump_type'=> self::JUMP_MIINE,
'jump_link'=> '/pages/order_details/index?id='.$order->id, 'jump_link'=> '/pages/order_details/index?id='.$order->id,
'is_push' => 1,
]);
if ($message && $message->needPush()) {
$message->pushMessage();
}
return $message;
}
public function needPush()
{
return $this->is_push;
}
public function pushMessage()
{
//填入推送内容
PushMessageTask::create([
'sn' => OrderHelper::serialNumber(),
'message_id' => $this->id,
]); ]);
} }
} }

View File

@ -0,0 +1,26 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class PushMessageTask extends Model
{
use HasFactory;
protected $casts = [
'is_pushed'=>'bool',
];
/**
* @var array
*/
protected $fillable = [
'sn',
'message_id',
'is_pushed',
'status',
];
}

View File

@ -0,0 +1,35 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreatePushMessageTasksTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('push_message_tasks', function (Blueprint $table) {
$table->id();
$table->string('sn')->comment('消息流水号');
$table->unsignedBigInteger('message_id')->comment('消息ID');
$table->unsignedTinyInteger('is_pushed')->default(0)->comment('是否已经推送');
$table->unsignedBigInteger('status')->default(0)->comment('0待处理1成功2失败');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('push_message_tasks');
}
}