mirror of
https://gitee.com/hzchunfen/erp.git
synced 2025-12-01 14:40:44 +00:00
鲜花2.0-新增父级分类的数据返回和预警状态维护
This commit is contained in:
parent
89a2df396e
commit
2468a9c751
@ -106,7 +106,9 @@ class GoodsSkusController extends Controller
|
|||||||
$idField = implode(',', $finalIds);
|
$idField = implode(',', $finalIds);
|
||||||
|
|
||||||
$goodsSkus = (clone $builder)->with(['goods' => function ($query) {
|
$goodsSkus = (clone $builder)->with(['goods' => function ($query) {
|
||||||
$query->with(['type:id,name', 'brand:id,name']);
|
$query->with(['type' => function ($query) {
|
||||||
|
$query->with("parentType:id,name")->select(["id","name","parent_id"]);
|
||||||
|
}]);
|
||||||
}])
|
}])
|
||||||
->with(['daily' => function ($query) use ($day) {
|
->with(['daily' => function ($query) use ($day) {
|
||||||
$query->where('day', $day);
|
$query->where('day', $day);
|
||||||
|
|||||||
@ -3,6 +3,9 @@
|
|||||||
namespace App\Http\Controllers\Message;
|
namespace App\Http\Controllers\Message;
|
||||||
|
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
|
use App\Http\Enum\Goods\SkuStatusEnum;
|
||||||
|
use App\Http\Enum\Message\MessageTypeEnum;
|
||||||
|
use App\Models\GoodsSku;
|
||||||
use App\Models\WebsiteMessages;
|
use App\Models\WebsiteMessages;
|
||||||
use Illuminate\Http\Resources\Json\JsonResource;
|
use Illuminate\Http\Resources\Json\JsonResource;
|
||||||
use Illuminate\Support\Facades\Log;
|
use Illuminate\Support\Facades\Log;
|
||||||
@ -38,9 +41,37 @@ class WebsiteMessageController extends Controller
|
|||||||
}
|
}
|
||||||
//更新站內信狀態
|
//更新站內信狀態
|
||||||
$websiteMessages = WebsiteMessages::query()->find($id);
|
$websiteMessages = WebsiteMessages::query()->find($id);
|
||||||
|
if (empty($websiteMessages)) {
|
||||||
|
$this->res = [
|
||||||
|
'httpCode' => 400,
|
||||||
|
'errorCode' => 400404,
|
||||||
|
'errorMessage' => "站内信数据不存在",
|
||||||
|
];
|
||||||
|
|
||||||
|
return response($this->res, "400");
|
||||||
|
}
|
||||||
$websiteMessages->status = $request->status;
|
$websiteMessages->status = $request->status;
|
||||||
Log::info("管理員更新站內信", (array)$request->user());
|
Log::info("管理員更新站內信", (array)$request->user());
|
||||||
$websiteMessages->save();
|
$websiteMessages->save();
|
||||||
|
|
||||||
|
if ($request->status == 1) {
|
||||||
|
//标记已读触发
|
||||||
|
$this->hook($websiteMessages);
|
||||||
|
}
|
||||||
|
|
||||||
return $websiteMessages;
|
return $websiteMessages;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function hook($websiteMessages)
|
||||||
|
{
|
||||||
|
if ($websiteMessages->type == MessageTypeEnum::LOW_STOCK_NOTICE) {
|
||||||
|
$keyArray = explode("-", $websiteMessages->unique_key);//时间Ymd-对应id-角色id
|
||||||
|
$skuId = $keyArray[1] ?? 0;
|
||||||
|
if (!empty($skuId)) {
|
||||||
|
//变更回上架状态
|
||||||
|
GoodsSku::query()->where("id", "=", $skuId)->update(["status" => SkuStatusEnum::UP]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
15
app/Http/Enum/Goods/SkuStatusEnum.php
Normal file
15
app/Http/Enum/Goods/SkuStatusEnum.php
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Enum\Goods;
|
||||||
|
|
||||||
|
|
||||||
|
class SkuStatusEnum
|
||||||
|
{
|
||||||
|
const DOWN = 0;
|
||||||
|
|
||||||
|
const UP = 1;
|
||||||
|
|
||||||
|
const NOTICE = 2;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -30,14 +30,13 @@ class MessageService
|
|||||||
//值为角色ids
|
//值为角色ids
|
||||||
|
|
||||||
|
|
||||||
public function createPriceExceptionMessage(string $businessOrderId, string $productName, string $skuName
|
public function createPriceExceptionMessage(string $businessOrderId, string $productName, string $skuName, string $goodsPrice, string $cost)
|
||||||
, string $goodsPrice, string $cost)
|
|
||||||
{
|
{
|
||||||
$roleIds = $this->roleIdsMapKeyByNoticeType[MessageTypeEnum::PRICE_EXCEPTION_NOTICE] ?? [];
|
$roleIds = $this->roleIdsMapKeyByNoticeType[MessageTypeEnum::PRICE_EXCEPTION_NOTICE] ?? [];
|
||||||
if (empty($roleIds)) {
|
if (empty($roleIds)) {
|
||||||
Log::error("消息配置异常", $this->roleIdsMapKeyByNoticeType);
|
Log::error("消息配置异常", $this->roleIdsMapKeyByNoticeType);
|
||||||
}
|
}
|
||||||
$date = Carbon::now()->format('Y-m-d');
|
$date = Carbon::now()->format('Ymd');
|
||||||
foreach ($roleIds as $v) {
|
foreach ($roleIds as $v) {
|
||||||
$arr['title'] = "订单价格异常告警";
|
$arr['title'] = "订单价格异常告警";
|
||||||
$arr['role_id'] = $v;
|
$arr['role_id'] = $v;
|
||||||
@ -62,7 +61,7 @@ class MessageService
|
|||||||
if (empty($roleIds)) {
|
if (empty($roleIds)) {
|
||||||
Log::error("消息配置异常", $this->roleIdsMapKeyByNoticeType);
|
Log::error("消息配置异常", $this->roleIdsMapKeyByNoticeType);
|
||||||
}
|
}
|
||||||
$date = Carbon::now()->format('Y-m-d');
|
$date = Carbon::now()->format('Ymd');
|
||||||
foreach ($roleIds as $v) {
|
foreach ($roleIds as $v) {
|
||||||
$arr['title'] = "商品库存不足告警";
|
$arr['title'] = "商品库存不足告警";
|
||||||
$arr['role_id'] = $v;
|
$arr['role_id'] = $v;
|
||||||
@ -84,7 +83,7 @@ class MessageService
|
|||||||
if (empty($roleIds)) {
|
if (empty($roleIds)) {
|
||||||
Log::error("消息配置异常", $this->roleIdsMapKeyByNoticeType);
|
Log::error("消息配置异常", $this->roleIdsMapKeyByNoticeType);
|
||||||
}
|
}
|
||||||
$date = Carbon::now()->format('Y-m-d');
|
$date = Carbon::now()->format('Ymd');
|
||||||
foreach ($roleIds as $v) {
|
foreach ($roleIds as $v) {
|
||||||
$arr['title'] = "商品保质期告警";
|
$arr['title'] = "商品保质期告警";
|
||||||
$arr['role_id'] = $v;
|
$arr['role_id'] = $v;
|
||||||
|
|||||||
@ -6,10 +6,12 @@ use App\Events\BatchStockUpdateEvent;
|
|||||||
use App\Events\BusinessOrdersUpdate;
|
use App\Events\BusinessOrdersUpdate;
|
||||||
use App\Http\Enum\CacheKeyEnum;
|
use App\Http\Enum\CacheKeyEnum;
|
||||||
use App\Http\Enum\DevConfigKeyEnum;
|
use App\Http\Enum\DevConfigKeyEnum;
|
||||||
|
use App\Http\Enum\Goods\SkuStatusEnum;
|
||||||
use App\Http\Service\MessageService;
|
use App\Http\Service\MessageService;
|
||||||
use App\Models\BusinessGoodsSku;
|
use App\Models\BusinessGoodsSku;
|
||||||
use App\Models\DailyStockRecord;
|
use App\Models\DailyStockRecord;
|
||||||
use App\Models\DeveloperConfig;
|
use App\Models\DeveloperConfig;
|
||||||
|
use App\Models\GoodsSku;
|
||||||
use App\Models\Shop;
|
use App\Models\Shop;
|
||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||||
@ -55,6 +57,10 @@ class BusinessOrderUpdateListener implements ShouldQueue
|
|||||||
if ($inventory > 10 && $inventory * $proportion > $event->goodsSku->stock) {
|
if ($inventory > 10 && $inventory * $proportion > $event->goodsSku->stock) {
|
||||||
$messageService = new MessageService();
|
$messageService = new MessageService();
|
||||||
$messageService->createLowerStockNoticeMessage($inventory, $event->goodsSku->toArray());
|
$messageService->createLowerStockNoticeMessage($inventory, $event->goodsSku->toArray());
|
||||||
|
//更新库存状态
|
||||||
|
GoodsSku::query()->where("id", "=", $event->goodsSku->id)->update([
|
||||||
|
"status" => SkuStatusEnum::NOTICE
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (\Exception $exception) {
|
} catch (\Exception $exception) {
|
||||||
|
|||||||
@ -78,7 +78,7 @@ return [
|
|||||||
// 商品种类
|
// 商品种类
|
||||||
'GOODS_TYPE' => [
|
'GOODS_TYPE' => [
|
||||||
'id' => 3,
|
'id' => 3,
|
||||||
'name' => '商品库管理',
|
'name' => '品类管理',
|
||||||
'parent_id' => 1,
|
'parent_id' => 1,
|
||||||
'show' => 1,
|
'show' => 1,
|
||||||
],
|
],
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user