6
0
Fork 0

添加发货时推送物流订阅

release
vine_liutk 2021-12-17 20:45:46 +08:00
parent 50d5173a74
commit 5c5c3e4dd6
11 changed files with 1622 additions and 17 deletions

View File

@ -28,7 +28,11 @@ class ArticleController extends Controller
{ {
$cate = (string) $request->query('cate'); $cate = (string) $request->query('cate');
$key = (string) $request->query('key'); $key = (string) $request->query('key');
$categoryId = Arr::get(Article::$cateMap, $cate); $categoryId = Arr::get([
'help'=> config('settings.article_help'),
'agreement'=> config('settings.article_agreement'),
'health'=> config('settings.article_health'),
], $cate);
$query = Article::query()->with(['likesInfo'=>function ($q) use ($request) { $query = Article::query()->with(['likesInfo'=>function ($q) use ($request) {
return $q->where('user_id', $request->user()->id); return $q->where('user_id', $request->user()->id);
}])->where('is_show', 1); }])->where('is_show', 1);

View File

@ -63,15 +63,15 @@ class ClickController extends Controller
]); ]);
//发放当天签到积分 //发放当天签到积分
$points = 5; $points = config('settings.sign_click_points');
$pointsService->sendPoints(1, $user, $points, '签到奖励'); $pointsService->sendPoints(1, $user, $points, '签到奖励');
//发放额外的奖励积分 //发放额外的奖励积分
// $continueClickDays = 7;//默认7天 $continueClickDays = config('settings.sign_click_continue', 0);
// $continueClickPoints = 10;//默认10分 $continueClickPoints = config('settings.sign_click_continue_points');
// if (($click->continue_click_times % $continueClickDays) == 0) { if (($continueClickDays > 0 && $click->continue_click_times % $continueClickDays) == 0) {
// $pointsService->sendPoints(1, $user, $continueClickPoints, '连续签到奖励'); $pointsService->sendPoints(1, $user, $continueClickPoints, '连续签到奖励');
// } }
DB::commit(); DB::commit();
} catch (Throwable $th) { } catch (Throwable $th) {

View File

@ -0,0 +1,15 @@
<?php
namespace App\Endpoint\Callback\Http\Controllers;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Routing\Controller as BaseController;
class Controller extends BaseController
{
use AuthorizesRequests;
use DispatchesJobs;
use ValidatesRequests;
}

View File

@ -0,0 +1,30 @@
<?php
namespace App\Endpoint\Callback\Http\Controllers;
use App\Services\Kuaidi100Service;
use Illuminate\Http\Request;
use Illuminate\Support\Arr;
class Kuaidi100Controller extends Controller
{
/**
* 回调推送处理
* @param \Illuminate\Http\Request $request
* @return void
*/
public function callback(Request $request, Kuaidi100Service $kuaidi100Service)
{
$data = $request->all();
//校验回调签名
if ($kuaidi100Service->unPollSign(Arr::get($data, 'sign', ''), Arr::get($data, 'param', []))) {
dd(132465);
}
return response()->json([
'result'=>true,
'returnCode'=>'200',
'message'=>'成功',
]);
}
}

View File

@ -0,0 +1,10 @@
<?php
use App\Endpoint\Callback\Http\Controllers\Kuaidi100Controller;
use Illuminate\Support\Facades\Route;
Route::group([
'prefix' => 'v1',
], function () {
Route::post('kuaidi100', [Kuaidi100Controller::class, 'callback']);
});

View File

@ -10,16 +10,6 @@ class Article extends Model
{ {
use HasDateTimeFormatter; use HasDateTimeFormatter;
protected const CATE_HELP = 1;
protected const CATE_AGREEMENT = 2;
protected const CATE_HEALTH = 3;
public static $cateMap = [
'help'=> self::CATE_HELP,
'agreement'=> self::CATE_AGREEMENT,
'health'=> self::CATE_HEALTH,
];
protected $casts = [ protected $casts = [
'is_show' => 'boolean', 'is_show' => 'boolean',
'is_recommend' => 'boolean', 'is_recommend' => 'boolean',

View File

@ -0,0 +1,11 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class KuaidiLog extends Model
{
use HasFactory;
}

View File

@ -46,6 +46,10 @@ class RouteServiceProvider extends ServiceProvider
Route::middleware('web') Route::middleware('web')
->namespace($this->namespace) ->namespace($this->namespace)
->group(base_path('routes/web.php')); ->group(base_path('routes/web.php'));
Route::prefix('callback')
->namespace($this->namespace)
->group(app_path('Endpoint/Callback/routes.php'));
}); });
} }

File diff suppressed because it is too large Load Diff

View File

@ -6,4 +6,24 @@ return [
// 售后过期时间(天) // 售后过期时间(天)
'sale_after_expire_days' => 7, 'sale_after_expire_days' => 7,
// 签到配置每次积分、连续N天、连续奖励积分
'sign_click_points'=>5,
'sign_click_continue'=>7,
'sign_click_continue_points'=>10,
// 文章分类配置: 帮助、协议、健康
'article_help'=>1,
'article_agreement'=>2,
'article_health'=>3,
// 快递100是否开启
'kuaidi100_is_use' => true,
'kuaidi100_callback'=> '',
'kuaidi100_app_key'=> 'BTvgbjti4727',
'kuaidi100_customer'=> '064109188EC4D85DA655DFC342144C6A',
'kuaidi100_secret'=> '1bd287d1981749f2a30ea74cac0ab99c',
'kuaidi100_userid'=> 'ec0b6ec7729d4f22824cfd3c519dd45b',
]; ];

View File

@ -0,0 +1,37 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateKuaidiLogsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('kuaidi_logs', function (Blueprint $table) {
$table->id();
$table->string('shipping_number')->comment('快递单号');
$table->string('shipping_company')->comment('快递公司');
$table->string('shipping_code')->nullable()->comment('快递公司编号');
$table->json('shipping_info')->nullable()->comment('物流情况明细');
$table->timestamps();
$table->index('shipping_number');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('kuaidi_logs');
}
}