first
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Mall\Http\Resources\Api\Activity;
|
||||
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
use Jason\Api\Api;
|
||||
use Modules\Mall\Http\Resources\Api\Category\CategoryBaseResource;
|
||||
use Modules\Mall\Http\Resources\Api\Shop\ShopBaseInfoResource;
|
||||
|
||||
class ActivityBaseResource extends JsonResource
|
||||
{
|
||||
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'activity_id' => $this->id,
|
||||
'cover' => $this->cover_url,
|
||||
'title' => $this->title,
|
||||
'description' => $this->description,
|
||||
'created_at' => (string)$this->created_at,
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Mall\Http\Resources\Api\Activity;
|
||||
|
||||
use App\Api\Resources\BaseCollection;
|
||||
|
||||
class ActivityCollection extends BaseCollection
|
||||
{
|
||||
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'data' => $this->collection->map(function ($activity) {
|
||||
return new ActivityBaseResource($activity);
|
||||
}),
|
||||
'page' => $this->page(),
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Mall\Http\Resources\Api\Activity;
|
||||
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
use Jason\Api\Api;
|
||||
use Modules\Mall\Http\Resources\Api\Category\CategoryBaseResource;
|
||||
use Modules\Mall\Http\Resources\Api\Shop\ShopBaseInfoResource;
|
||||
|
||||
class ActivityResource extends JsonResource
|
||||
{
|
||||
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'activity_id' => $this->id,
|
||||
'cover' => $this->cover_url,
|
||||
'title' => $this->title,
|
||||
'description' => $this->description,
|
||||
'content' => $this->content,
|
||||
'created_at' => $this->created_at->format('Y-m-d'),
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
28
modules/Mall/Http/Resources/Api/Address/AddressResource.php
Normal file
28
modules/Mall/Http/Resources/Api/Address/AddressResource.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Mall\Http\Resources\Api\Address;
|
||||
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
use Modules\Mall\Http\Resources\Api\Region\RegionResource;
|
||||
|
||||
class AddressResource extends JsonResource
|
||||
{
|
||||
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'address_id' => $this->id,
|
||||
'name' => $this->name,
|
||||
'mobile' => $this->mobile,
|
||||
'province' => new RegionResource($this->province),
|
||||
'city' => new RegionResource($this->city),
|
||||
'district' => new RegionResource($this->district),
|
||||
'address' => $this->address,
|
||||
'full_address' => $this->getFullAddress(),
|
||||
'default' => $this->is_default,
|
||||
'created_at' => (string) $this->created_at,
|
||||
'updated_at' => (string) $this->updated_at,
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
19
modules/Mall/Http/Resources/Api/Banner/BannerResource.php
Normal file
19
modules/Mall/Http/Resources/Api/Banner/BannerResource.php
Normal file
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Mall\Http\Resources\Api\Banner;
|
||||
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class BannerResource extends JsonResource
|
||||
{
|
||||
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'title' => $this->title,
|
||||
'cover' => $this->cover_url,
|
||||
'url' => $this->linker,
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Mall\Http\Resources\Api\Category;
|
||||
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class CategoryBaseResource extends JsonResource
|
||||
{
|
||||
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'category_id' => $this->id,
|
||||
'name' => $this->name,
|
||||
'cover' => $this->cover_url,
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Mall\Http\Resources\Api\Category;
|
||||
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class CategoryResource extends JsonResource
|
||||
{
|
||||
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'category_id' => $this->id,
|
||||
'name' => $this->name,
|
||||
'cover' => $this->cover_url,
|
||||
'children' => $this->when(!$this->children()->shown()->get()->isEmpty(), function () {
|
||||
return self::collection($this->children()->shown()->get());
|
||||
}),
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
18
modules/Mall/Http/Resources/Api/Goods/BrandResource.php
Normal file
18
modules/Mall/Http/Resources/Api/Goods/BrandResource.php
Normal file
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Mall\Http\Resources\Api\Goods;
|
||||
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class BrandResource extends JsonResource
|
||||
{
|
||||
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'brand_id' => $this->id,
|
||||
'name' => $this->name,
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
24
modules/Mall/Http/Resources/Api/Goods/CartResource.php
Normal file
24
modules/Mall/Http/Resources/Api/Goods/CartResource.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Mall\Http\Resources\Api\Goods;
|
||||
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class CartResource extends JsonResource
|
||||
{
|
||||
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'cart_id' => $this->id,
|
||||
'sku_id' => $this->sku_id,
|
||||
'goods_id' => $this->sku->goods_id,
|
||||
'qty' => $this->qty,
|
||||
'max_qty' => $this->sku->stock,
|
||||
'price' => (float) $this->sku->price,
|
||||
'cover' => $this->sku->cover_url,
|
||||
'name' => $this->sku->goods->name,
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
24
modules/Mall/Http/Resources/Api/Goods/DetailResource.php
Normal file
24
modules/Mall/Http/Resources/Api/Goods/DetailResource.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Mall\Http\Resources\Api\Goods;
|
||||
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
use Modules\Mall\Models\Goods;
|
||||
|
||||
class DetailResource extends JsonResource
|
||||
{
|
||||
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'cart_id' => $this->id,
|
||||
'sku_id' => $this->sku_id,
|
||||
'qty' => $this->qty,
|
||||
'max_qty' => $this->sku->stock,
|
||||
'price' => (float) $this->sku->price,
|
||||
'cover' => ($this->sku->goods->type === Goods::TYPE_SINGLE) ? $this->sku->goods->cover_url : $this->sku->cover_url,
|
||||
'name' => $this->sku->goods->name,
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
33
modules/Mall/Http/Resources/Api/Goods/GoodsBaseResource.php
Normal file
33
modules/Mall/Http/Resources/Api/Goods/GoodsBaseResource.php
Normal file
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Mall\Http\Resources\Api\Goods;
|
||||
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
use Modules\Mall\Http\Resources\Api\Shop\ShopBaseInfoResource;
|
||||
|
||||
class GoodsBaseResource extends JsonResource
|
||||
{
|
||||
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'goods_id' => $this->id,
|
||||
'shop' => new ShopBaseInfoResource($this->shop),
|
||||
'is_self' => (bool) $this->shop->is_self,
|
||||
'name' => $this->name,
|
||||
'description' => $this->description ?? '',
|
||||
'cover' => $this->cover_url,
|
||||
'tags' => TagResource::collection($this->tags),
|
||||
'original_price' => (float) $this->original_price,
|
||||
'price' => [
|
||||
'show' => $this->price,
|
||||
'score' => $this->score,
|
||||
'price_min' => $this->price_min,
|
||||
'price_max' => $this->price_max,
|
||||
],
|
||||
'clicks' => $this->clicks,
|
||||
'sales' => $this->sales,
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
20
modules/Mall/Http/Resources/Api/Goods/GoodsCollection.php
Normal file
20
modules/Mall/Http/Resources/Api/Goods/GoodsCollection.php
Normal file
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Mall\Http\Resources\Api\Goods;
|
||||
|
||||
use App\Api\Resources\BaseCollection;
|
||||
|
||||
class GoodsCollection extends BaseCollection
|
||||
{
|
||||
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'data' => $this->collection->map(function ($goods) {
|
||||
return new GoodsBaseResource($goods);
|
||||
}),
|
||||
'page' => $this->page(),
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
50
modules/Mall/Http/Resources/Api/Goods/GoodsResource.php
Normal file
50
modules/Mall/Http/Resources/Api/Goods/GoodsResource.php
Normal file
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Mall\Http\Resources\Api\Goods;
|
||||
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
use Jason\Api\Api;
|
||||
use Modules\Mall\Http\Resources\Api\Category\CategoryBaseResource;
|
||||
use Modules\Mall\Http\Resources\Api\Shop\ShopBaseInfoResource;
|
||||
|
||||
class GoodsResource extends JsonResource
|
||||
{
|
||||
|
||||
public function toArray($request): array
|
||||
{
|
||||
$user = Api::user();
|
||||
|
||||
return [
|
||||
'goods_id' => $this->id,
|
||||
'shop' => new ShopBaseInfoResource($this->shop),
|
||||
'brand' => new BrandResource($this->brand),
|
||||
'category' => new CategoryBaseResource($this->category),
|
||||
'tags' => TagResource::collection($this->tags),
|
||||
|
||||
'type' => $this->type,
|
||||
'pay_type' => $this->pay_type,
|
||||
'clicks' => $this->clicks,
|
||||
'sales' => $this->sales,
|
||||
|
||||
'name' => $this->name,
|
||||
'cover' => $this->cover_url,
|
||||
'pictures' => $this->pictures_url,
|
||||
'description' => $this->description ?? '',
|
||||
'content' => $this->content,
|
||||
'created_at' => (string) $this->created_at,
|
||||
'original_price' => (float) $this->original_price,
|
||||
'price' => [
|
||||
'show' => $this->price,
|
||||
'score' => $this->score,
|
||||
'price_min' => $this->price_min,
|
||||
'price_max' => $this->price_max,
|
||||
],
|
||||
'specs' => SpecResource::collection($this->specs),
|
||||
'skus' => SkuResource::collection($this->skus),
|
||||
'canPick' => $user && $user->canPick(),
|
||||
'hasCase' => $user && (bool) $user->case,
|
||||
'hasLogin' => (bool) $user,
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
19
modules/Mall/Http/Resources/Api/Goods/SkuBaseResource.php
Normal file
19
modules/Mall/Http/Resources/Api/Goods/SkuBaseResource.php
Normal file
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Mall\Http\Resources\Api\Goods;
|
||||
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class SkuBaseResource extends JsonResource
|
||||
{
|
||||
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'sku_id' => $this->id,
|
||||
'goods_name' => $this->goods->name,
|
||||
'cover' => $this->cover_url,
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
26
modules/Mall/Http/Resources/Api/Goods/SkuResource.php
Normal file
26
modules/Mall/Http/Resources/Api/Goods/SkuResource.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Mall\Http\Resources\Api\Goods;
|
||||
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class SkuResource extends JsonResource
|
||||
{
|
||||
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'sku_id' => $this->id,
|
||||
'goods_id' => $this->goods_id,
|
||||
'goods_name' => $this->goods->name,
|
||||
'cover' => $this->cover_url,
|
||||
'price' => (float) $this->price,
|
||||
'score' => (float) $this->score,
|
||||
'assets' => (float) $this->assets,
|
||||
'unit' => $this->unit ?? '',
|
||||
'stock' => $this->stock,
|
||||
'weight' => $this->weight,
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
19
modules/Mall/Http/Resources/Api/Goods/SpecResource.php
Normal file
19
modules/Mall/Http/Resources/Api/Goods/SpecResource.php
Normal file
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Mall\Http\Resources\Api\Goods;
|
||||
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class SpecResource extends JsonResource
|
||||
{
|
||||
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'spec_id' => $this->id,
|
||||
'name' => $this->name,
|
||||
'values' => SpecValueResource::collection($this->values),
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
18
modules/Mall/Http/Resources/Api/Goods/SpecValueResource.php
Normal file
18
modules/Mall/Http/Resources/Api/Goods/SpecValueResource.php
Normal file
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Mall\Http\Resources\Api\Goods;
|
||||
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class SpecValueResource extends JsonResource
|
||||
{
|
||||
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'value_id' => $this->id,
|
||||
'value' => $this->value,
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
18
modules/Mall/Http/Resources/Api/Goods/TagResource.php
Normal file
18
modules/Mall/Http/Resources/Api/Goods/TagResource.php
Normal file
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Mall\Http\Resources\Api\Goods;
|
||||
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class TagResource extends JsonResource
|
||||
{
|
||||
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'tag_id' => $this->id,
|
||||
'name' => $this->name,
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
21
modules/Mall/Http/Resources/Api/Order/LogisticResource.php
Normal file
21
modules/Mall/Http/Resources/Api/Order/LogisticResource.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Mall\Http\Resources\Api\Order;
|
||||
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class LogisticResource extends JsonResource
|
||||
{
|
||||
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'time' => $this->time,
|
||||
'context' => $this->context,
|
||||
'ftime' => $this->ftime,
|
||||
'areaName' => $this->areaName ?? "",
|
||||
'status' => $this->status,
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
34
modules/Mall/Http/Resources/Api/Order/OrderCollection.php
Normal file
34
modules/Mall/Http/Resources/Api/Order/OrderCollection.php
Normal file
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Mall\Http\Resources\Api\Order;
|
||||
|
||||
use App\Api\Resources\BaseCollection;
|
||||
use Modules\Mall\Http\Resources\Api\Shop\ShopBaseInfoResource;
|
||||
use Modules\Mall\Models\Order;
|
||||
|
||||
class OrderCollection extends BaseCollection
|
||||
{
|
||||
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'data' => $this->collection->map(function ($order) {
|
||||
return [
|
||||
'order_no' => $order->order_no,
|
||||
'shop' => new ShopBaseInfoResource($order->shop),
|
||||
'amount' => $order->amount,
|
||||
'freight' => $order->freight,
|
||||
'total' => $order->total,
|
||||
'type' => $order->type_text,
|
||||
'state' => $order->state_text,
|
||||
'can' => $order->getCanAction(),
|
||||
'is_logistic_show' => $order->is_logistic_show,
|
||||
'created_at' => (string) $order->created_at,
|
||||
'items' => OrderItemResource::collection($order->items),
|
||||
];
|
||||
}),
|
||||
'page' => $this->page(),
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Mall\Http\Resources\Api\Order;
|
||||
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class OrderExpressResource extends JsonResource
|
||||
{
|
||||
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'express_id' => $this->id,
|
||||
'name' => $this->name,
|
||||
'mobile' => $this->mobile,
|
||||
'express_name' => $this->express_id ? $this->express->name : '',
|
||||
'express_no' => $this->express_no,
|
||||
'full_address' => $this->getFullAddress(),
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
26
modules/Mall/Http/Resources/Api/Order/OrderItemResource.php
Normal file
26
modules/Mall/Http/Resources/Api/Order/OrderItemResource.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Mall\Http\Resources\Api\Order;
|
||||
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
use Modules\Mall\Http\Resources\Api\Goods\SkuResource;
|
||||
|
||||
class OrderItemResource extends JsonResource
|
||||
{
|
||||
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'item_id' => $this->id,
|
||||
'qty' => $this->qty,
|
||||
'price' => $this->price,
|
||||
'total' => $this->total,
|
||||
'can' => [
|
||||
'refund' => $this->canRefund(),
|
||||
],
|
||||
'sku' => $this->source,
|
||||
'refund_status_text' => $this->refund_status_text,
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Mall\Http\Resources\Api\Order;
|
||||
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class OrderLogisticResource extends JsonResource
|
||||
{
|
||||
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'express_id' => $this->express_id,
|
||||
'express_no' => $this->express_no,
|
||||
'order_state' => $this->order->state_text,
|
||||
'logistic_name' => $this->express->name,
|
||||
'logistic_cover' => $this->express->cover_url,
|
||||
'address' => $this->getFullAddress(),
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
32
modules/Mall/Http/Resources/Api/Order/OrderResource.php
Normal file
32
modules/Mall/Http/Resources/Api/Order/OrderResource.php
Normal file
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Mall\Http\Resources\Api\Order;
|
||||
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
use Modules\Mall\Http\Resources\Api\Shop\ShopBaseInfoResource;
|
||||
|
||||
class OrderResource extends JsonResource
|
||||
{
|
||||
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'order_no' => $this->order_no,
|
||||
'shop' => new ShopBaseInfoResource($this->shop),
|
||||
'amount' => $this->amount,
|
||||
'freight' => $this->freight,
|
||||
'total' => $this->total,
|
||||
'type' => $this->type_text,
|
||||
'state' => $this->state_text,
|
||||
'can' => $this->getCanAction(),
|
||||
'is_logistic_show' => $this->is_logistic_show,
|
||||
'items' => OrderItemResource::collection($this->items),
|
||||
'express' => new OrderExpressResource($this->express),
|
||||
'remark' => (string) $this->remark,
|
||||
'expired_at' => (string) $this->expired_at,
|
||||
'paid_at' => (string) $this->paid_at,
|
||||
'created_at' => (string) $this->created_at,
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
37
modules/Mall/Http/Resources/Api/Order/RefundCollection.php
Normal file
37
modules/Mall/Http/Resources/Api/Order/RefundCollection.php
Normal file
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Mall\Http\Resources\Api\Order;
|
||||
|
||||
use App\Api\Resources\BaseCollection;
|
||||
use Modules\Mall\Http\Resources\Api\Shop\ShopBaseInfoResource;
|
||||
|
||||
class RefundCollection extends BaseCollection
|
||||
{
|
||||
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'data' => $this->collection->map(function ($refund) {
|
||||
return [
|
||||
'refund_no' => $refund->refund_no,
|
||||
'order_no' => $refund->order->order_no,
|
||||
'shop' => new ShopBaseInfoResource($refund->shop),
|
||||
'refund_total' => $refund->refund_total,
|
||||
'actual_total' => $refund->actual_total,
|
||||
'state' => [
|
||||
'state' => $refund->state,
|
||||
'text' => $refund->status_text,
|
||||
'remark' => $refund->state_text,
|
||||
],
|
||||
'can' => collect($refund->transitions())->map(function ($item) {
|
||||
return $item->getName();
|
||||
}),
|
||||
'created_at' => (string) $refund->created_at,
|
||||
'items' => RefundItemsResource::collection($refund->items),
|
||||
];
|
||||
}),
|
||||
'page' => $this->page(),
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Mall\Http\Resources\Api\Order;
|
||||
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class RefundItemsResource extends JsonResource
|
||||
{
|
||||
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'refund_item_id' => $this->id,
|
||||
'price' => $this->price,
|
||||
'goods_id' => $this->source ? $this->source['goods_id'] : '',
|
||||
'cover' => $this->source ? $this->source['cover'] : '',
|
||||
'goods_name' => $this->source ? $this->source['goods_name'] : '',
|
||||
'qty' => $this->qty,
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
22
modules/Mall/Http/Resources/Api/Order/RefundLogResource.php
Normal file
22
modules/Mall/Http/Resources/Api/Order/RefundLogResource.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Mall\Http\Resources\Api\Order;
|
||||
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class RefundLogResource extends JsonResource
|
||||
{
|
||||
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'refund_log_id' => $this->id,
|
||||
'title' => $this->title,
|
||||
'remark' => $this->remark,
|
||||
'state_text' => $this->state_text,
|
||||
'isMy' => $this->refund->user->is($this->userable),
|
||||
'created_at' => (string) $this->created_at,
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
40
modules/Mall/Http/Resources/Api/Order/RefundResource.php
Normal file
40
modules/Mall/Http/Resources/Api/Order/RefundResource.php
Normal file
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Mall\Http\Resources\Api\Order;
|
||||
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class RefundResource extends JsonResource
|
||||
{
|
||||
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'refund_id' => $this->id,
|
||||
'refund_no' => $this->refund_no,
|
||||
'order_no' => $this->order->order_no,
|
||||
'state' => [
|
||||
'state' => $this->state,
|
||||
'text' => $this->status_text,
|
||||
'remark' => $this->state_text,
|
||||
],
|
||||
'refund_total' => $this->refund_total,
|
||||
'actual_total' => $this->actual_total,
|
||||
'order' => [
|
||||
'order_id' => $this->order->id,
|
||||
'order_no' => $this->order->order_no,
|
||||
'paid_at' => $this->order->paid_at ? $this->order->paid_at->toDateTimeString() : '',
|
||||
'deliver_at' => $this->order->express->deliver_at ? $this->order->express->deliver_at->toDateTimeString() : '',
|
||||
'receive_at' => $this->order->express->receive_at ? $this->order->express->receive_at->toDateTimeString() : '',
|
||||
],
|
||||
'items' => RefundItemsResource::collection($this->items),
|
||||
'can' => collect($this->transitions())->map(function ($item) {
|
||||
return $item->getName();
|
||||
}),
|
||||
'log' => new RefundLogResource($this->logs()->oldest()->first()),
|
||||
'created_at' => $this->created_at->toDateTimeString(),
|
||||
'updated_at' => $this->updated_at->toDateTimeString(),
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
18
modules/Mall/Http/Resources/Api/Region/RegionResource.php
Normal file
18
modules/Mall/Http/Resources/Api/Region/RegionResource.php
Normal file
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Mall\Http\Resources\Api\Region;
|
||||
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class RegionResource extends JsonResource
|
||||
{
|
||||
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'region_id' => $this->id,
|
||||
'name' => $this->name,
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
19
modules/Mall/Http/Resources/Api/Shop/ExpressResource.php
Normal file
19
modules/Mall/Http/Resources/Api/Shop/ExpressResource.php
Normal file
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Mall\Http\Resources\Api\Shop;
|
||||
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class ExpressResource extends JsonResource
|
||||
{
|
||||
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'express_id' => $this->id,
|
||||
'name' => $this->name,
|
||||
'cover' => $this->cover_url,
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Mall\Http\Resources\Api\Shop;
|
||||
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class ShopBaseInfoResource extends JsonResource
|
||||
{
|
||||
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'shop_id' => $this->id,
|
||||
'name' => $this->name,
|
||||
'cover' => $this->cover_url,
|
||||
'is_self' => (bool) $this->is_self,
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
27
modules/Mall/Http/Resources/Api/Shop/ShopCollection.php
Normal file
27
modules/Mall/Http/Resources/Api/Shop/ShopCollection.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Mall\Http\Resources\Api\Shop;
|
||||
|
||||
use App\Api\Resources\BaseCollection;
|
||||
|
||||
class ShopCollection extends BaseCollection
|
||||
{
|
||||
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'data' => $this->collection->map(function ($shop) {
|
||||
return [
|
||||
'shop_id' => $shop->id,
|
||||
'name' => $shop->name,
|
||||
'is_self' => (bool) $shop->is_self,
|
||||
'mobile' => $shop->mobile,
|
||||
'description' => $shop->description,
|
||||
'cover' => $shop->cover_url,
|
||||
];
|
||||
}),
|
||||
'page' => $this->page(),
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
35
modules/Mall/Http/Resources/Api/Shop/ShopEditResource.php
Normal file
35
modules/Mall/Http/Resources/Api/Shop/ShopEditResource.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Mall\Http\Resources\Api\Shop;
|
||||
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class ShopEditResource extends JsonResource
|
||||
{
|
||||
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'shop_id' => $this->id,
|
||||
'name' => $this->name,
|
||||
'mobile' => $this->mobile,
|
||||
'cover' => $this->cover_url,
|
||||
'description' => $this->description,
|
||||
'province' => [
|
||||
'id' => $this->province_id,
|
||||
'name' => $this->province->name,
|
||||
],
|
||||
'city' => [
|
||||
'id' => $this->city_id,
|
||||
'name' => $this->city->name,
|
||||
],
|
||||
'district' => [
|
||||
'id' => $this->district_id,
|
||||
'name' => $this->district->name,
|
||||
],
|
||||
'address' => $this->address ?? '',
|
||||
'created_at' => (string) $this->created_at,
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
35
modules/Mall/Http/Resources/Api/Shop/ShopResource.php
Normal file
35
modules/Mall/Http/Resources/Api/Shop/ShopResource.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Mall\Http\Resources\Api\Shop;
|
||||
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class ShopResource extends JsonResource
|
||||
{
|
||||
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'shop_id' => $this->id,
|
||||
'name' => $this->name,
|
||||
'is_self' => (bool) $this->is_self,
|
||||
'description' => $this->description,
|
||||
'user' => [
|
||||
'user_id' => $this->user->id,
|
||||
'nickname' => $this->user->info->nickname,
|
||||
'avatar' => $this->user->info->avatar ?? '',
|
||||
],
|
||||
'mobile' => $this->mobile,
|
||||
'cover' => $this->cover_url,
|
||||
'goodsCount' => $this->goods()->count(),
|
||||
'region' => [
|
||||
'province' => $this->province->name,
|
||||
'city' => $this->city->name,
|
||||
'district' => $this->district->name,
|
||||
'address' => $this->address,
|
||||
],
|
||||
'created_at' => (string) $this->created_at,
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
20
modules/Mall/Http/Resources/Api/Video/VideoResource.php
Normal file
20
modules/Mall/Http/Resources/Api/Video/VideoResource.php
Normal file
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Mall\Http\Resources\Api\Video;
|
||||
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class VideoResource extends JsonResource
|
||||
{
|
||||
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'id' => $this->id,
|
||||
'name' => $this->name,
|
||||
'cover' => $this->cover_url,
|
||||
'path' => $this->path_url,
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user