mirror of
https://gitee.com/hzchunfen/erp.git
synced 2025-12-01 14:40:44 +00:00
鲜花2.0-接口测试bug修复
This commit is contained in:
parent
45882b4a72
commit
5734c08ba4
@ -6,6 +6,7 @@ use App\Models\Shop;
|
|||||||
use App\Services\Business\BusinessFactory;
|
use App\Services\Business\BusinessFactory;
|
||||||
use App\Utils\DateTimeUtils;
|
use App\Utils\DateTimeUtils;
|
||||||
use Illuminate\Console\Command;
|
use Illuminate\Console\Command;
|
||||||
|
use Illuminate\Support\Facades\Log;
|
||||||
|
|
||||||
class KttOrderQuery extends Command
|
class KttOrderQuery extends Command
|
||||||
{
|
{
|
||||||
|
|||||||
@ -47,19 +47,18 @@ class BusinessOrdersUpdate
|
|||||||
Log::error("sku 业务更新失败", (array)$this->businessGoodSku);
|
Log::error("sku 业务更新失败", (array)$this->businessGoodSku);
|
||||||
}
|
}
|
||||||
} catch (\Exception $exception) {
|
} catch (\Exception $exception) {
|
||||||
Log::error("库存告警发生异常", ["error" => $exception->getMessage()]);
|
Log::error("sku 业务更新发生异常", ["error" => $exception->getMessage()]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private
|
private function updateStock()
|
||||||
function updateStock()
|
|
||||||
{
|
{
|
||||||
$this->goodsSku = GoodsSku::query()
|
$this->goodsSku = GoodsSku::query()
|
||||||
->where('external_sku_id', $this->businessGoodSku['external_sku_id'])
|
->where('external_sku_id', $this->businessGoodSku['external_sku_id'])
|
||||||
->first();
|
->first();
|
||||||
if (is_null($this->goodsSku)) {
|
if (is_null($this->goodsSku)) {
|
||||||
return false;
|
return true;
|
||||||
}
|
}
|
||||||
$oldStock = $this->goodsSku->stock;
|
$oldStock = $this->goodsSku->stock;
|
||||||
$stock = $this->goodsSku->stock + $this->num;
|
$stock = $this->goodsSku->stock + $this->num;
|
||||||
@ -82,8 +81,7 @@ class BusinessOrdersUpdate
|
|||||||
*
|
*
|
||||||
* @return \Illuminate\Broadcasting\Channel|array
|
* @return \Illuminate\Broadcasting\Channel|array
|
||||||
*/
|
*/
|
||||||
public
|
public function broadcastOn()
|
||||||
function broadcastOn()
|
|
||||||
{
|
{
|
||||||
return new PrivateChannel('channel-name');
|
return new PrivateChannel('channel-name');
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,6 +6,7 @@ use App\Http\Controllers\Controller;
|
|||||||
use App\Models\Log as LogModel;
|
use App\Models\Log as LogModel;
|
||||||
use App\Utils\ArrayUtils;
|
use App\Utils\ArrayUtils;
|
||||||
use App\Utils\FormatUtils;
|
use App\Utils\FormatUtils;
|
||||||
|
use Illuminate\Support\Facades\Log;
|
||||||
use Spatie\Permission\Models\Permission;
|
use Spatie\Permission\Models\Permission;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Facades\Validator;
|
use Illuminate\Support\Facades\Validator;
|
||||||
|
|||||||
@ -41,7 +41,7 @@ class DailyStockRecordController extends Controller
|
|||||||
$query->where('external_sku_id', '=', $request->external_sku_id);
|
$query->where('external_sku_id', '=', $request->external_sku_id);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
$dailyStockRecord = $build->paginate($request->get('per_page'));
|
$dailyStockRecord = $build->orderByDesc("id")->paginate($request->get('per_page'));
|
||||||
return JsonResource::collection($dailyStockRecord);
|
return JsonResource::collection($dailyStockRecord);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -42,7 +42,7 @@ class LossRecordController extends Controller
|
|||||||
$query->where('name', 'like', '%' . $request->title . '%');
|
$query->where('name', 'like', '%' . $request->title . '%');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
$dailyStockRecord = $builder->paginate($request->get('per_page'));
|
$dailyStockRecord = $builder->orderByDesc("id")->paginate($request->get('per_page'));
|
||||||
return JsonResource::collection($dailyStockRecord);
|
return JsonResource::collection($dailyStockRecord);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -44,7 +44,7 @@ class PurchaseRecordController extends Controller
|
|||||||
$query->where('name', 'like', '%' . $request->title . '%');
|
$query->where('name', 'like', '%' . $request->title . '%');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
$dailyStockRecord = $builder->paginate($request->get('per_page'));
|
$dailyStockRecord = $builder->orderByDesc("id")->paginate($request->get('per_page'));
|
||||||
return JsonResource::collection($dailyStockRecord);
|
return JsonResource::collection($dailyStockRecord);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -42,22 +42,26 @@ class BusinessOrderUpdateListener implements ShouldQueue
|
|||||||
public function handle(BusinessOrdersUpdate $event)
|
public function handle(BusinessOrdersUpdate $event)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
//查询库存是否满足告警规则
|
|
||||||
$skuId = $event->goodsSku->id;
|
if(!empty($event->goodsSku)){
|
||||||
$nowTime = Carbon::now()->toDateTimeString();
|
//查询库存是否满足告警规则
|
||||||
//查找最后一次盘点数据
|
$skuId = $event->goodsSku->id;
|
||||||
$dailyStockRecord = DailyStockRecord::query()->where("sku_id", '=', $skuId)->
|
$nowTime = Carbon::now()->toDateTimeString();
|
||||||
where("inventory_time", '<', $nowTime)->orderByDesc('id')->first();
|
//查找最后一次盘点数据
|
||||||
$inventory = $dailyStockRecord['inventory'] ?? 0;
|
$dailyStockRecord = DailyStockRecord::query()->where("sku_id", '=', $skuId)->
|
||||||
$expireTime = Carbon::now()->addMinutes(30)->toDateTimeString();
|
where("inventory_time", '<', $nowTime)->orderByDesc('id')->first();
|
||||||
$proportion = Cache::remember(CacheKeyEnum::STOCK_RULE_PROPORTION, $expireTime, function () {
|
|
||||||
$developerConfig = DeveloperConfig::query()->where("key", "=", DevConfigKeyEnum::STOCK_RULE_PROPORTION)->first();
|
$inventory = $dailyStockRecord['inventory'] ?? 0;
|
||||||
return $developerConfig['value'] ?? DevConfigKeyEnum::DEFAULT_STOCK_RULE_PROPORTION;
|
$expireTime = Carbon::now()->addMinutes(30)->toDateTimeString();
|
||||||
});
|
$proportion = Cache::remember(CacheKeyEnum::STOCK_RULE_PROPORTION, $expireTime, function () {
|
||||||
//库存比例小于最近盘点多少告警 一天也只是告警一次
|
$developerConfig = DeveloperConfig::query()->where("key", "=", DevConfigKeyEnum::STOCK_RULE_PROPORTION)->first();
|
||||||
if ($inventory > 10 && $inventory * $proportion > $event->goodsSku->stock) {
|
return $developerConfig['value'] ?? DevConfigKeyEnum::DEFAULT_STOCK_RULE_PROPORTION;
|
||||||
$messageService = new MessageService();
|
});
|
||||||
$messageService->createLowerStockNoticeMessage($inventory, $event->goodsSku->toArray());
|
//库存比例小于最近盘点多少告警 一天也只是告警一次
|
||||||
|
if ($inventory > 10 && $inventory * $proportion > $event->goodsSku->stock) {
|
||||||
|
$messageService = new MessageService();
|
||||||
|
$messageService->createLowerStockNoticeMessage($inventory, $event->goodsSku->toArray());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}catch(\Exception $exception) {
|
}catch(\Exception $exception) {
|
||||||
Log::error("库存告警发生异常",["error"=>$exception->getMessage()]);
|
Log::error("库存告警发生异常",["error"=>$exception->getMessage()]);
|
||||||
|
|||||||
@ -77,6 +77,7 @@ class CombinationGoodsStockUpdateListener implements ShouldQueue
|
|||||||
$updateIds[] = $goodsSku->id;
|
$updateIds[] = $goodsSku->id;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Log::info("updateIds:", $updateIds);
|
||||||
// 计算主商品库存
|
// 计算主商品库存
|
||||||
if ($combinationGoodsItemIds) {
|
if ($combinationGoodsItemIds) {
|
||||||
$goodsSkuIds = CombinationGood::query()
|
$goodsSkuIds = CombinationGood::query()
|
||||||
|
|||||||
@ -94,6 +94,7 @@ abstract class BusinessClient
|
|||||||
}
|
}
|
||||||
$orderItem->update($item);
|
$orderItem->update($item);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 增量更新库存
|
// 增量更新库存
|
||||||
if ($num && $item['external_sku_id']) {
|
if ($num && $item['external_sku_id']) {
|
||||||
event(new BusinessOrdersUpdate($orderItem, $num));
|
event(new BusinessOrdersUpdate($orderItem, $num));
|
||||||
|
|||||||
@ -20,14 +20,14 @@ class BusinessOrderUpdateTest extends TestCase
|
|||||||
*/
|
*/
|
||||||
public function testBasicTest()
|
public function testBasicTest()
|
||||||
{
|
{
|
||||||
/* $shop = new \App\Models\Shop();
|
// $shop = new \App\Models\Shop();
|
||||||
$shop->id = 19;
|
// $shop->id = 19;
|
||||||
$shop->plat_id = 1;
|
// $shop->plat_id = 1;
|
||||||
$shop->name = "test";
|
// $shop->name = "test";
|
||||||
$shop->access_token = "7e00e77428cf45348cb1ca190dc769670377bd0c";
|
// $shop->access_token = "7e00e77428cf45348cb1ca190dc769670377bd0c";
|
||||||
$endTime = DateTimeUtils::getMicroTime();
|
// $endTime = DateTimeUtils::getMicroTime();
|
||||||
$beginTime = $endTime - 2*60*60*1000;
|
// $beginTime = $endTime - 2*60*60*1000;
|
||||||
BusinessFactory::init()->make("快团团")->setShop($shop)->downloadAfterSaleOrdersAndSave($beginTime, $endTime, 1);*/
|
// BusinessFactory::init()->make("快团团")->setShop($shop)->downloadOrdersAndSave($beginTime, $endTime);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user