From 465b93e0355959f57ac681e75d861bf9fbdff687 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E5=BB=BA=E7=82=8A?= <924182103@qq.com> Date: Fri, 16 Aug 2024 17:19:12 +0800 Subject: [PATCH] =?UTF-8?q?=E9=B2=9C=E8=8A=B12.0-=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E8=BD=AF=E5=88=A0=E9=99=A4+=E7=BB=9F=E8=AE=A1=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Goods/GoodsCombinationController.php | 2 +- .../Controllers/Goods/GoodsController.php | 2 +- app/Http/Enum/Message/MessageTypeEnum.php | 2 +- app/Models/GoodsType.php | 3 ++ .../Business/KuaiTuanTuan/KuaiTuanTuan.php | 5 ++- app/Services/Statistic/SaleDataService.php | 41 ++++++++++++------- 6 files changed, 36 insertions(+), 19 deletions(-) diff --git a/app/Http/Controllers/Goods/GoodsCombinationController.php b/app/Http/Controllers/Goods/GoodsCombinationController.php index ec9d2bf..6887302 100644 --- a/app/Http/Controllers/Goods/GoodsCombinationController.php +++ b/app/Http/Controllers/Goods/GoodsCombinationController.php @@ -194,7 +194,7 @@ class GoodsCombinationController extends Controller public function goodsSkus(Request $request, $title) { $skus = GoodsSku::query() - ->where('title', 'like', '%' . $title . '%') + ->where('name', 'like', '%' . $title . '%') ->where('is_combination', 0) ->with('goods:id,title') ->get(['id', 'title', 'goods_id']); diff --git a/app/Http/Controllers/Goods/GoodsController.php b/app/Http/Controllers/Goods/GoodsController.php index bdc2206..68b4b4c 100644 --- a/app/Http/Controllers/Goods/GoodsController.php +++ b/app/Http/Controllers/Goods/GoodsController.php @@ -58,7 +58,7 @@ class GoodsController extends Controller $item['reference_price'] = $item['cost'] * 1.5; $item['sku_code'] = !empty($item['sku_code']) ? $item['sku_code'] : $goodService->getRandomCode(); $item['external_sku_id'] = $goods->goods_code . '_' .$item['sku_code']; - $item['name'] = $goods->title . $item['title']; + $item['name'] = $goods->title ." ". $item['title']; $goodsSkus[] = $item; } diff --git a/app/Http/Enum/Message/MessageTypeEnum.php b/app/Http/Enum/Message/MessageTypeEnum.php index 38eb68c..3f8bd56 100644 --- a/app/Http/Enum/Message/MessageTypeEnum.php +++ b/app/Http/Enum/Message/MessageTypeEnum.php @@ -11,7 +11,7 @@ class MessageTypeEnum const QUALITY_PERIOD_EXPIRE_NOTICE = "quality_period_expire_notice"; - const DEFAULT_ROLE_IDS = [9]; + const DEFAULT_ROLE_IDS = [11]; const MESSAGE_ALL_TYPE = [ self::LOW_STOCK_NOTICE, diff --git a/app/Models/GoodsType.php b/app/Models/GoodsType.php index d3ede64..230638d 100644 --- a/app/Models/GoodsType.php +++ b/app/Models/GoodsType.php @@ -2,8 +2,11 @@ namespace App\Models; +use Illuminate\Database\Eloquent\SoftDeletes; + class GoodsType extends Model { + use SoftDeletes; /** * 数组中的属性会被隐藏。 * diff --git a/app/Services/Business/KuaiTuanTuan/KuaiTuanTuan.php b/app/Services/Business/KuaiTuanTuan/KuaiTuanTuan.php index 43fafb4..1df6e7d 100644 --- a/app/Services/Business/KuaiTuanTuan/KuaiTuanTuan.php +++ b/app/Services/Business/KuaiTuanTuan/KuaiTuanTuan.php @@ -150,11 +150,11 @@ class KuaiTuanTuan extends BusinessClient $shopId = $this->getShop()->id; $now = Carbon::now()->toDateTimeString(); foreach ($orders as $k => $v) { - $model = BusinessAfterSaleOrder::query()->where("shop_id","=",$shopId) + $model = BusinessAfterSaleOrder::query()->where("shop_id", "=", $shopId) ->where("after_sales_biz_sn", "=", $v['after_sales_biz_sn'])->first(); if (empty($model)) { $model = new BusinessAfterSaleOrder(); - }else{ + } else { $model->updated_at = $now; } $model->shop_id = $shopId; @@ -215,6 +215,7 @@ class KuaiTuanTuan extends BusinessClient $publicParams = array_merge($publicParams, $appendParams); $publicParams['sign'] = $this->getSign($publicParams); $res = $this->formDataPostRequest($url, $publicParams); + Log::info("快团团请求", ["param" => $publicParams, "res" => $res]); if (isset($res['error_response'])) { // "error_msg":"业务服务错误","sub_msg":"该店铺下不存在该商品","sub_code":"11","error_code":50001 // "error_msg":"业务服务错误","sub_msg":"该SKU在快团团中设置的库存为无限库存,不支持修改库存","sub_code":"13","error_code":50001 diff --git a/app/Services/Statistic/SaleDataService.php b/app/Services/Statistic/SaleDataService.php index 390b072..305b296 100644 --- a/app/Services/Statistic/SaleDataService.php +++ b/app/Services/Statistic/SaleDataService.php @@ -34,8 +34,18 @@ class SaleDataService public static function skuSaleStatisticsByToday(Request $request) { - [$startTime,$endTime] = static::getTimeRange($request); - $orderItems = BusinessOrderItem::query() + [$startTime, $endTime] = static::getTimeRange($request); + $build = BusinessOrderItem::query(); + if (!empty($request->sku_id)) { + $externalSkuId = GoodsSku::query()->where("id", "=", $request->sku_id) + ->pluck("external_sku_id")->first(); + if (!empty($externalSkuId)) { + $build->where("external_sku_id", "=", $externalSkuId); + } else { + return []; + } + } + $orderItems = $build ->leftJoin("business_orders as b", "business_order_id", "=", "b.id") ->select("business_order_items.external_sku_id" , DB::raw("sum(CASE WHEN b.shipping_status>0 THEN goods_number-already_cancel_number ELSE 0 END) as shipping_num") @@ -61,10 +71,13 @@ class SaleDataService public static function skuSaleStatisticsByHistory(Request $request) { - [$startTime,$endTime] = static::getTimeRange($request); - $dailyRecord = DailyStockRecord::query() - ->select("sku_id", DB::raw("sum(order_goods_num) as goods_total") - , DB::raw("sum(order_total_amount) as goods_total_amount")) + [$startTime, $endTime] = static::getTimeRange($request); + $build = DailyStockRecord::query(); + if (!empty($request->sku_id)) { + $build->where("sku_id", "=", $request->sku_id); + } + $dailyRecord = $build->select("sku_id", DB::raw("sum(order_goods_num) as goods_total") + , DB::raw("sum(order_total_amount) as goods_total_amount")) ->whereBetween("created_at", [$startTime, $endTime]) ->groupBy("sku_id") ->having(DB::raw("sum(order_goods_num)"), ">", 0) @@ -147,20 +160,20 @@ class SaleDataService public static function getTimeRange(Request $request) { - if(!empty($request->input("start_time"))&&!empty($request->input("start_time"))){ + if (!empty($request->input("start_time")) && !empty($request->input("start_time"))) { $startTime = Carbon::parse($request->input("start_time"))->toDateTimeString(); $endTime = Carbon::parse($request->input("end_time"))->toDateTimeString(); - }else{ + } else { $startTime = Carbon::parse($request->input("start_day"))->toDateTimeString(); $endTime = Carbon::parse($request->input("end_day"))->endOfDay()->toDateTimeString(); } - return [$startTime,$endTime]; + return [$startTime, $endTime]; } public static function spuSaleStatisticsByToday(Request $request) { - [$startTime,$endTime] = static::getTimeRange($request); + [$startTime, $endTime] = static::getTimeRange($request); //实时统计 sku维度 $orderItems = BusinessOrderItem::query() ->leftJoin("business_orders as b", "business_order_id", "=", "b.id") @@ -208,7 +221,7 @@ class SaleDataService public static function spuSaleStatisticsByHistoryCache(Request $request) { - [$startTime,$endTime] = static::getTimeRange($request); + [$startTime, $endTime] = static::getTimeRange($request); $cacheKey = CacheKeyEnum::SPU_STATISTIC_BY_DATE . $request->input("start_day") . "_" . $request->input("end_day"); $expireTime = Carbon::now()->addHour(); return Cache::remember($cacheKey, $expireTime, function () use ($startTime, $endTime) { @@ -260,7 +273,7 @@ class SaleDataService static function gmvStatistics(Request $request) { if (StaticTypeEnum::TODAY == $request->type) { - [$startTime,$endTime] = static::getTimeRange($request); + [$startTime, $endTime] = static::getTimeRange($request); $build = BusinessOrderItem::query(); if (!empty($request->sku_id)) { $externalSkuId = GoodsSku::query()->where("id", "=", $request->sku_id) @@ -291,8 +304,8 @@ class SaleDataService ]; })->sort()->values()->toArray(); } else { - //gmv 目前只统计历史数据 后续看看是否需要拓展 - [$startTime,$endTime] = static::getTimeRange($request); + //gmv 统计历史数据 + [$startTime, $endTime] = static::getTimeRange($request); $build = DailyStockRecord::query(); if (!empty($request->sku_id)) { $build->where("sku_id", "=", $request->sku_id);