鲜花2.0-接口测试bug修复+类型树型接口改造
This commit is contained in:
parent
5734c08ba4
commit
0bdd35f15b
@ -64,7 +64,7 @@ class CheckSkuQualityPeriod extends Command
|
|||||||
$messageService->skuQualityPeriodNoticeMessage((array)$v);
|
$messageService->skuQualityPeriodNoticeMessage((array)$v);
|
||||||
}
|
}
|
||||||
//更新下状态
|
//更新下状态
|
||||||
PurchaseRecords::query()->update([
|
PurchaseRecords::query()->where('id', '=', $v->id)->update([
|
||||||
"status" => 1
|
"status" => 1
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -51,7 +51,7 @@ class GoodsController extends Controller
|
|||||||
$goods->title = $request->title;
|
$goods->title = $request->title;
|
||||||
$goods->img_url = $request->img_url;
|
$goods->img_url = $request->img_url;
|
||||||
$goods->type_id = $request->type_id;
|
$goods->type_id = $request->type_id;
|
||||||
$goods->brand_id = $request->brand_id;
|
$goods->brand_id = $request->brand_id ?? 0;
|
||||||
$goods->goods_code = $request->goods_code;
|
$goods->goods_code = $request->goods_code;
|
||||||
$goods->save();
|
$goods->save();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,6 +6,7 @@ use App\Http\Controllers\Controller;
|
|||||||
use App\Http\Resources\GoodsTypeResource;
|
use App\Http\Resources\GoodsTypeResource;
|
||||||
use App\Models\GoodsType;
|
use App\Models\GoodsType;
|
||||||
use App\Models\Log as LogModel;
|
use App\Models\Log as LogModel;
|
||||||
|
use App\Utils\FormatUtils;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Facades\Validator;
|
use Illuminate\Support\Facades\Validator;
|
||||||
use Illuminate\Validation\Rule;
|
use Illuminate\Validation\Rule;
|
||||||
@ -31,27 +32,29 @@ class GoodsTypesController extends Controller
|
|||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
$validator = Validator::make($request->all(), [
|
$validator = Validator::make($request->all(), [
|
||||||
'names' => 'required|array',
|
'name' => 'required|string|max:191',
|
||||||
'names.*' => 'required|string|max:191|unique:goods_types,name',
|
'parent_id' => 'sometimes',
|
||||||
|
'show' => 'sometimes|integer',
|
||||||
]);
|
]);
|
||||||
if ($validator->fails()) {
|
if ($validator->fails()) {
|
||||||
$this->setValidatorFailResponse($validator->getMessageBag()->getMessages());
|
$this->setValidatorFailResponse($validator->getMessageBag()->getMessages());
|
||||||
|
|
||||||
return response($this->res, $this->res['httpCode']);
|
return response($this->res, $this->res['httpCode']);
|
||||||
}
|
}
|
||||||
$goodsTypes = [];
|
$level = 1;
|
||||||
foreach ($request->names as $name) {
|
if ($request->parent_id) {
|
||||||
$goodsTypes[] = ['name' => $name];
|
$parentGoodsType = GoodsType::query()->where("id", "=", $request->parent_id)->get()->toArray();
|
||||||
|
$level = $parentGoodsType['level'] ?? 1 + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
$goodsType = new GoodsType();
|
$goodsType = new GoodsType();
|
||||||
if (!$goodsType->batchInsert($goodsTypes)) {
|
$goodsType->parent_id = $request->parent_id ?? 0;
|
||||||
$this->res = [
|
$goodsType->show = $request->show ?? 1;
|
||||||
'httpCode' => 500,
|
$goodsType->name = $request->name;
|
||||||
'errorCode' => 500500,
|
$goodsType->level = $level;
|
||||||
'errorMessage' => '批量添加失败',
|
$goodsType->save();
|
||||||
];
|
|
||||||
}
|
$this->setAfterUpdateForLog($request->all());
|
||||||
$this->setAfterUpdateForLog($goodsTypes);
|
|
||||||
$this->addLog(0, 'add');
|
$this->addLog(0, 'add');
|
||||||
|
|
||||||
return response($this->res, $this->res['httpCode']);
|
return response($this->res, $this->res['httpCode']);
|
||||||
@ -65,12 +68,9 @@ class GoodsTypesController extends Controller
|
|||||||
public function update($id, Request $request)
|
public function update($id, Request $request)
|
||||||
{
|
{
|
||||||
$validator = Validator::make($request->all(), [
|
$validator = Validator::make($request->all(), [
|
||||||
'name' => [
|
'name' => 'sometimes|string|max:191',
|
||||||
'required',
|
'parent_id' => 'sometimes',
|
||||||
'string',
|
'show' => 'sometimes|integer',
|
||||||
'max:191',
|
|
||||||
Rule::unique('goods_types')->ignore($id),
|
|
||||||
]
|
|
||||||
]);
|
]);
|
||||||
if ($validator->fails()) {
|
if ($validator->fails()) {
|
||||||
$this->setValidatorFailResponse($validator->getMessageBag()->getMessages());
|
$this->setValidatorFailResponse($validator->getMessageBag()->getMessages());
|
||||||
@ -79,7 +79,18 @@ class GoodsTypesController extends Controller
|
|||||||
}
|
}
|
||||||
$goodsType = GoodsType::query()->find($id);
|
$goodsType = GoodsType::query()->find($id);
|
||||||
$this->setBeforeUpdateForLog($goodsType->name);
|
$this->setBeforeUpdateForLog($goodsType->name);
|
||||||
$goodsType->name = request('name');
|
$level= 1;
|
||||||
|
if ($request->parent_id) {
|
||||||
|
$parentGoodsType = GoodsType::query()->where("id", "=", $request->parent_id)->get()->toArray();
|
||||||
|
$level = $parentGoodsType['level'] ?? 1 + 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
$goodsType->parent_id = $request->parent_id ?? 0;
|
||||||
|
$goodsType->show = $request->show ?? 1;
|
||||||
|
if($request->name){
|
||||||
|
$goodsType->name = $request->name;
|
||||||
|
}
|
||||||
|
$goodsType->level = $level;
|
||||||
$goodsType->save();
|
$goodsType->save();
|
||||||
$this->setAfterUpdateForLog($goodsType->name);
|
$this->setAfterUpdateForLog($goodsType->name);
|
||||||
$this->addLog($id, 'name');
|
$this->addLog($id, 'name');
|
||||||
@ -95,4 +106,11 @@ class GoodsTypesController extends Controller
|
|||||||
|
|
||||||
return response($this->res, $this->res['httpCode']);
|
return response($this->res, $this->res['httpCode']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function tree(Request $request)
|
||||||
|
{
|
||||||
|
$goodsTypes = GoodsType::query()->get()->toArray();
|
||||||
|
$menus = FormatUtils::formatTreeData($goodsTypes, $request->parent_id??0);
|
||||||
|
return $this->success($menus);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -74,7 +74,12 @@ class PurchaseRecordController extends Controller
|
|||||||
$purchaseRecords->buyer_name = $allParams['buyer_name'] ?? '';
|
$purchaseRecords->buyer_name = $allParams['buyer_name'] ?? '';
|
||||||
$purchaseRecords->supplier_name = $allParams['supplier_name'] ?? '';
|
$purchaseRecords->supplier_name = $allParams['supplier_name'] ?? '';
|
||||||
$purchaseRecords->supplier_id = $allParams['supplier_id'] ?? 0;
|
$purchaseRecords->supplier_id = $allParams['supplier_id'] ?? 0;
|
||||||
$purchaseRecords->expire_time = $allParams['expire_time'] ?? Carbon::now()->addDays($expireDay)->toDateTimeString();
|
if (!empty($allParams['expire_time'])) {
|
||||||
|
$purchaseRecords->expire_time = Carbon::parse($allParams['expire_time'])->toDateTimeString();
|
||||||
|
}else{
|
||||||
|
$purchaseRecords->expire_time = Carbon::now()->addDays($expireDay)->toDateTimeString();
|
||||||
|
|
||||||
|
}
|
||||||
$purchaseRecords->save();
|
$purchaseRecords->save();
|
||||||
|
|
||||||
$updateIds = GoodSkuService::computeSkuStock($goodsSku->toArray(), $allParams);
|
$updateIds = GoodSkuService::computeSkuStock($goodsSku->toArray(), $allParams);
|
||||||
@ -115,7 +120,7 @@ class PurchaseRecordController extends Controller
|
|||||||
$purchaseRecords->supplier_name = $allParams['supplier_name'] ?? '';
|
$purchaseRecords->supplier_name = $allParams['supplier_name'] ?? '';
|
||||||
$purchaseRecords->supplier_id = $allParams['supplier_id'] ?? 0;
|
$purchaseRecords->supplier_id = $allParams['supplier_id'] ?? 0;
|
||||||
if (!empty($allParams['expire_time'])) {
|
if (!empty($allParams['expire_time'])) {
|
||||||
$purchaseRecords->expire_time = $allParams['expire_time'];
|
$purchaseRecords->expire_time = Carbon::parse($allParams['expire_time'])->toDateTimeString();
|
||||||
}
|
}
|
||||||
|
|
||||||
$purchaseRecords->save();
|
$purchaseRecords->save();
|
||||||
|
|||||||
@ -50,7 +50,7 @@ class MessageService
|
|||||||
}
|
}
|
||||||
$date = Carbon::now()->format('Y-m-d');
|
$date = Carbon::now()->format('Y-m-d');
|
||||||
foreach ($roleIds as $v) {
|
foreach ($roleIds as $v) {
|
||||||
$arr['title'] = "订单库存不足告警";
|
$arr['title'] = "商品库存不足告警";
|
||||||
$arr['role_id'] = $v;
|
$arr['role_id'] = $v;
|
||||||
$arr['unique_key'] = $date . "-" . $goodsSku['id'] . "-" . $v;
|
$arr['unique_key'] = $date . "-" . $goodsSku['id'] . "-" . $v;
|
||||||
$arr['type'] = MessageTypeEnum::LOW_STOCK_NOTICE;
|
$arr['type'] = MessageTypeEnum::LOW_STOCK_NOTICE;
|
||||||
@ -72,11 +72,11 @@ class MessageService
|
|||||||
}
|
}
|
||||||
$date = Carbon::now()->format('Y-m-d');
|
$date = Carbon::now()->format('Y-m-d');
|
||||||
foreach ($roleIds as $v) {
|
foreach ($roleIds as $v) {
|
||||||
$arr['title'] = "订单库存不足告警";
|
$arr['title'] = "商品保质期告警";
|
||||||
$arr['role_id'] = $v;
|
$arr['role_id'] = $v;
|
||||||
$arr['unique_key'] = $date . "-" . $goodsSku['id'] . "-" . $v;//这个场景下实际是采购单的id
|
$arr['unique_key'] = $date . "-" . $goodsSku['id'] . "-" . $v;//这个场景下实际是采购单的id
|
||||||
$arr['type'] = MessageTypeEnum::QUALITY_PERIOD_EXPIRE_NOTICE;
|
$arr['type'] = MessageTypeEnum::QUALITY_PERIOD_EXPIRE_NOTICE;
|
||||||
$arr['content'] = $date . "规格{$goodsSku['title']},即将过期,实际库存{$goodsSku['stock']}
|
$arr['content'] = $date . "规格{$goodsSku['title']}编码{$goodsSku['external_sku_id']},即将过期,目前实际库存{$goodsSku['stock']}
|
||||||
,当时采购数量为{$goodsSku['num']},录入采购时间为{$goodsSku['created_at']}";
|
,当时采购数量为{$goodsSku['num']},录入采购时间为{$goodsSku['created_at']}";
|
||||||
|
|
||||||
$this->saveWebsiteMessages($arr);
|
$this->saveWebsiteMessages($arr);
|
||||||
|
|||||||
@ -8,6 +8,8 @@ use App\Models\Shop;
|
|||||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||||
use Illuminate\Queue\InteractsWithQueue;
|
use Illuminate\Queue\InteractsWithQueue;
|
||||||
use App\Services\Business\BusinessFactory;
|
use App\Services\Business\BusinessFactory;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
use Illuminate\Support\Facades\Log;
|
||||||
|
|
||||||
class BatchStockUpdateListener implements ShouldQueue
|
class BatchStockUpdateListener implements ShouldQueue
|
||||||
{
|
{
|
||||||
@ -35,18 +37,22 @@ class BatchStockUpdateListener implements ShouldQueue
|
|||||||
if (empty($shops)) {
|
if (empty($shops)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
foreach ($shops as $shop) {
|
try {
|
||||||
foreach ($event->goodsSkus as $goodsSku) {
|
foreach ($shops as $shop) {
|
||||||
$num = $goodsSku->sale_stock;
|
foreach ($event->goodsSkus as $goodsSku) {
|
||||||
$businessGoodsSkus = BusinessGoodsSku::query()
|
$num = $goodsSku->sale_stock;
|
||||||
->select(['goods_id', 'sku_id', 'external_sku_id'])
|
$businessGoodsSkus = BusinessGoodsSku::query()
|
||||||
->where('shop_id', $shop->id)
|
->select(['goods_id', 'sku_id', 'external_sku_id'])
|
||||||
->where('is_sync', 1)
|
->where('shop_id', $shop->id)
|
||||||
->where('external_sku_id', $goodsSku->external_sku_id)
|
->where('is_sync', 1)
|
||||||
->get();
|
->where('external_sku_id', $goodsSku->external_sku_id)
|
||||||
BusinessFactory::init()->make($shop['plat_id'])->setShopWithId($shop['id'])->batchIncrQuantity($businessGoodsSkus->toArray(), $num, false);
|
->get();
|
||||||
usleep(140);
|
BusinessFactory::init()->make($shop['plat_id'])->setShopWithId($shop['id'])->batchIncrQuantity($businessGoodsSkus->toArray(), $num, false);
|
||||||
|
usleep(140);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
} catch (\Exception $exception) {
|
||||||
|
Log::error("同步三方库存出现异常",[$exception->getMessage()]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -33,6 +33,8 @@ class SaleDataService
|
|||||||
|
|
||||||
public static function skuSaleStatisticsByToday(Request $request)
|
public static function skuSaleStatisticsByToday(Request $request)
|
||||||
{
|
{
|
||||||
|
$startTime = Carbon::parse($request->input("start_day"))->toDateTimeString();
|
||||||
|
$endTime = Carbon::parse($request->input("end_day"))->endOfDay()->toDateTimeString();
|
||||||
$orderItems = BusinessOrderItem::query()
|
$orderItems = BusinessOrderItem::query()
|
||||||
->leftJoin("business_orders as b", "business_order_id", "=", "b.id")
|
->leftJoin("business_orders as b", "business_order_id", "=", "b.id")
|
||||||
->select("business_order_items.external_sku_id"
|
->select("business_order_items.external_sku_id"
|
||||||
@ -40,7 +42,7 @@ class SaleDataService
|
|||||||
, DB::raw("sum(CASE WHEN b.shipping_status=0 THEN goods_number-already_cancel_number ELSE 0 END) as unshipping_num")
|
, DB::raw("sum(CASE WHEN b.shipping_status=0 THEN goods_number-already_cancel_number ELSE 0 END) as unshipping_num")
|
||||||
, DB::raw("sum(goods_number-already_cancel_number) as goods_total")
|
, DB::raw("sum(goods_number-already_cancel_number) as goods_total")
|
||||||
, DB::raw("ROUND(sum(goods_amount) / 100,2) as goods_total_amount"))
|
, DB::raw("ROUND(sum(goods_amount) / 100,2) as goods_total_amount"))
|
||||||
->where("business_order_items.created_at", ">", Carbon::now()->subDays(3)->startOfDay()->toDateTimeString())
|
->whereBetween("business_order_items.created_at", [$startTime, $endTime])
|
||||||
->where("business_order_items.cancel_status", "=", 0)
|
->where("business_order_items.cancel_status", "=", 0)
|
||||||
->groupBy('external_sku_id')
|
->groupBy('external_sku_id')
|
||||||
->orderBy("goods_total", "DESC")
|
->orderBy("goods_total", "DESC")
|
||||||
@ -136,15 +138,17 @@ class SaleDataService
|
|||||||
{
|
{
|
||||||
//spu 基本就是全统计了
|
//spu 基本就是全统计了
|
||||||
if (StaticTypeEnum::TODAY == $request->type) {
|
if (StaticTypeEnum::TODAY == $request->type) {
|
||||||
return static::spuSaleStatisticsByToday();
|
return static::spuSaleStatisticsByToday($request);
|
||||||
} else {
|
} else {
|
||||||
//统计历史数据 这里走缓存
|
//统计历史数据 这里走缓存
|
||||||
return static::spuSaleStatisticsByHistoryCache($request);
|
return static::spuSaleStatisticsByHistoryCache($request);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function spuSaleStatisticsByToday()
|
public static function spuSaleStatisticsByToday(Request $request)
|
||||||
{
|
{
|
||||||
|
$startTime = Carbon::parse($request->input("start_day"))->toDateTimeString();
|
||||||
|
$endTime = Carbon::parse($request->input("end_day"))->endOfDay()->toDateTimeString();
|
||||||
//实时统计 sku维度
|
//实时统计 sku维度
|
||||||
$orderItems = BusinessOrderItem::query()
|
$orderItems = BusinessOrderItem::query()
|
||||||
->leftJoin("business_orders as b", "business_order_id", "=", "b.id")
|
->leftJoin("business_orders as b", "business_order_id", "=", "b.id")
|
||||||
@ -153,7 +157,7 @@ class SaleDataService
|
|||||||
, DB::raw("sum(CASE WHEN b.shipping_status=0 THEN goods_number-already_cancel_number ELSE 0 END) as unshipping_num")
|
, DB::raw("sum(CASE WHEN b.shipping_status=0 THEN goods_number-already_cancel_number ELSE 0 END) as unshipping_num")
|
||||||
, DB::raw("sum(goods_number-already_cancel_number) as goods_total")
|
, DB::raw("sum(goods_number-already_cancel_number) as goods_total")
|
||||||
, DB::raw("ROUND(sum(goods_amount) / 100,2) as goods_total_amount"))
|
, DB::raw("ROUND(sum(goods_amount) / 100,2) as goods_total_amount"))
|
||||||
->where("business_order_items.created_at", ">", Carbon::now()->startOfDay()->toDateTimeString())
|
->whereBetween("business_order_items.created_at", [$startTime, $endTime])
|
||||||
->where("business_order_items.cancel_status", "=", 0)
|
->where("business_order_items.cancel_status", "=", 0)
|
||||||
->groupBy('external_sku_id')->get()->toArray();
|
->groupBy('external_sku_id')->get()->toArray();
|
||||||
$externalSkuIds = collect($orderItems)->pluck("external_sku_id")->toArray();
|
$externalSkuIds = collect($orderItems)->pluck("external_sku_id")->toArray();
|
||||||
@ -240,42 +244,15 @@ class SaleDataService
|
|||||||
|
|
||||||
public static function gmvStatistics(Request $request)
|
public static function gmvStatistics(Request $request)
|
||||||
{
|
{
|
||||||
//gmv
|
//gmv 目前只统计历史数据 后续看看是否需要拓展
|
||||||
if (StaticTypeEnum::TODAY == $request->type) {
|
$startTime = Carbon::parse($request->input("start_day"))->toDateTimeString();
|
||||||
//以半小时为间隔统计数据
|
$endTime = Carbon::parse($request->input("end_day"))->endOfDay()->toDateTimeString();
|
||||||
$todayStartTime = Carbon::now()->startOfDay()->toDateTimeString();
|
return DailyStockRecord::query()
|
||||||
$orderItems = BusinessOrderItem::query()
|
->select("day", DB::raw("sum(order_total_amount) as goods_total_amount")
|
||||||
->select("business_order_items.external_sku_id", "goods_number", "already_cancel_number", "goods_amount", "created_at")
|
, DB::raw("sum(order_goods_num) as goods_total"))
|
||||||
->where("business_order_items.created_at", ">", $todayStartTime)
|
->whereBetween("created_at", [$startTime, $endTime])
|
||||||
->where("business_order_items.cancel_status", "=", 0)
|
->groupBy("day")->orderBy("day")
|
||||||
->get()->toArray();
|
->get()->toArray();
|
||||||
$interval = $request->input("interval", 30);
|
|
||||||
return collect($orderItems)->groupBy(function ($v) use ($todayStartTime, $interval) {
|
|
||||||
$diff = Carbon::parse($v['created_at'])->diffInMinutes(Carbon::parse($todayStartTime));
|
|
||||||
return (int)floor($diff / $interval);
|
|
||||||
})->map(function ($v, $key) use ($todayStartTime, $interval) {
|
|
||||||
return [
|
|
||||||
"sort_key" => $key,
|
|
||||||
"interval" => $interval,
|
|
||||||
"time_start" => Carbon::parse($todayStartTime)->addMinutes($key * $interval)->toTimeString(),
|
|
||||||
"time_end" => Carbon::parse($todayStartTime)->addMinutes(($key + 1) * $interval)->toTimeString(),
|
|
||||||
"goods_total" => $v->sum("goods_number") - $v->sum("already_cancel_number"),
|
|
||||||
"goods_total_amount" => $v->sum("goods_amount"),
|
|
||||||
];
|
|
||||||
})->sort()->values()->toArray();
|
|
||||||
} else {
|
|
||||||
//统计历史数据
|
|
||||||
$startTime = Carbon::parse($request->input("start_day"))->toDateTimeString();
|
|
||||||
$endTime = Carbon::parse($request->input("end_day"))->endOfDay()->toDateTimeString();
|
|
||||||
return DailyStockRecord::query()
|
|
||||||
->select("day", DB::raw("sum(order_total_amount) as goods_total_amount")
|
|
||||||
, DB::raw("sum(order_goods_num) as goods_total"))
|
|
||||||
->whereBetween("created_at", [$startTime, $endTime])
|
|
||||||
->groupBy("day")->orderBy("day")
|
|
||||||
->get()->toArray();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -30,6 +30,7 @@ class AddOrderTotalAmountToDailyStockRecord extends Migration
|
|||||||
{
|
{
|
||||||
Schema::table('daily_stock_record', function (Blueprint $table) {
|
Schema::table('daily_stock_record', function (Blueprint $table) {
|
||||||
//
|
//
|
||||||
|
$table->dropColumn('order_total_amount');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,40 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class AddFieldsToGoodsTypes extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
if (Schema::hasColumns('goods_types', ['parent_id', 'show',"level"])) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Schema::table('goods_types', function (Blueprint $table) {
|
||||||
|
$table->integer('parent_id')->default(0)->comment('父id');
|
||||||
|
$table->integer('show')->default(1)->comment('是否显示 0隐藏 1显示');
|
||||||
|
$table->integer('level')->default(1)->comment('层级 目前仅记录使用 默认1');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::table('goods_types', function (Blueprint $table) {
|
||||||
|
//
|
||||||
|
$table->dropColumn('parent_id');
|
||||||
|
$table->dropColumn('show');
|
||||||
|
$table->dropColumn('level');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -643,4 +643,9 @@ return [
|
|||||||
'name' => '售后单列表-接口查询',
|
'name' => '售后单列表-接口查询',
|
||||||
'parent_id' => 141,
|
'parent_id' => 141,
|
||||||
],
|
],
|
||||||
|
'goods_types.tree' => [
|
||||||
|
'id' => 35,
|
||||||
|
'name' => '类型树',
|
||||||
|
'parent_id' => 3,
|
||||||
|
],
|
||||||
];
|
];
|
||||||
|
|||||||
@ -16,7 +16,7 @@ use App\Http\Controllers\Supplier\DailyStockRecordController;
|
|||||||
use App\Http\Controllers\Supplier\LossRecordController;
|
use App\Http\Controllers\Supplier\LossRecordController;
|
||||||
use App\Http\Controllers\Supplier\PurchaseRecordController;
|
use App\Http\Controllers\Supplier\PurchaseRecordController;
|
||||||
use App\Http\Controllers\Business\BusinessAfterSaleOrderController;
|
use App\Http\Controllers\Business\BusinessAfterSaleOrderController;
|
||||||
|
use App\Http\Controllers\Goods\GoodsTypesController;
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
| API Routes
|
| API Routes
|
||||||
@ -93,6 +93,8 @@ Route::middleware(['auth:api', 'check.permissions'])->group(function () {
|
|||||||
Route::get('data_center/gmv_statistics', [DataCenterController::class, 'gmvStatistics'])->name('data_center.gmv_statistics');
|
Route::get('data_center/gmv_statistics', [DataCenterController::class, 'gmvStatistics'])->name('data_center.gmv_statistics');
|
||||||
|
|
||||||
Route::get('plat_after_sale_orders', [BusinessAfterSaleOrderController::class, 'index'])->name('plat_after_sale_orders.index');
|
Route::get('plat_after_sale_orders', [BusinessAfterSaleOrderController::class, 'index'])->name('plat_after_sale_orders.index');
|
||||||
|
//获取树
|
||||||
|
Route::get('goodsTypes/tree', [GoodsTypesController::class, 'tree'])->name('goods_types.tree');
|
||||||
|
|
||||||
});
|
});
|
||||||
Route::get('stock/goods_skus', [GoodsSkusController::class, 'stockNum'])->middleware('auth:api');
|
Route::get('stock/goods_skus', [GoodsSkusController::class, 'stockNum'])->middleware('auth:api');
|
||||||
@ -133,7 +135,7 @@ Route::post('upload', [UploadController::class, 'store'])->name('upload.file');
|
|||||||
Route::get('goodsSkusList', [GoodsSkusController::class, 'goodsSkusList'])->name('goods_sku.list_for_goods_sku');
|
Route::get('goodsSkusList', [GoodsSkusController::class, 'goodsSkusList'])->name('goods_sku.list_for_goods_sku');
|
||||||
|
|
||||||
// 采购导入
|
// 采购导入
|
||||||
Route::post('supplier/purchase_record/purchase_import', [PurchaseRecordController::class, 'purchaseImport'])->name('supplier.purchase_record.purchase_import');
|
Route::post('purchase_record/purchase_import', [PurchaseRecordController::class, 'purchaseImport'])->name('supplier.purchase_record.purchase_import');
|
||||||
|
|
||||||
//报损导入
|
//报损导入
|
||||||
Route::post('supplier/loss_record/loss_import', [LossRecordController::class, 'lossImport'])->name('supplier.loss_record.loss_import');
|
Route::post('supplier/loss_record/loss_import', [LossRecordController::class, 'lossImport'])->name('supplier.loss_record.loss_import');
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user