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

View File

@ -3,6 +3,7 @@
namespace App\Models;
use App\Casts\JsonArray;
use App\Helpers\Order as OrderHelper;
use Dcat\Admin\Traits\HasDateTimeFormatter;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
@ -45,7 +46,7 @@ class Message extends Model
public static function createOrderMessage(Order $order)
{
self::create([
$message = self::create([
'type' => 1,
'title' => '订单编号:'.$order->sn,
'user_id' => $order->user_id,
@ -57,6 +58,27 @@ class Message extends Model
],
'jump_type'=> self::JUMP_MIINE,
'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');
}
}