feat: cycle
This commit is contained in:
@@ -6,6 +6,7 @@ namespace App\Controller\Admin;
|
|||||||
|
|
||||||
use App\Middleware\Admin\JwtAuthMiddleware;
|
use App\Middleware\Admin\JwtAuthMiddleware;
|
||||||
use App\Request\Admin\GoodRequest;
|
use App\Request\Admin\GoodRequest;
|
||||||
|
use App\Service\Admin\Good\CycleService;
|
||||||
use App\Service\Admin\Good\SkuService;
|
use App\Service\Admin\Good\SkuService;
|
||||||
use App\Service\Admin\Good\SpuService;
|
use App\Service\Admin\Good\SpuService;
|
||||||
use Exception;
|
use Exception;
|
||||||
@@ -82,12 +83,74 @@ class GoodController
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* sku 添加
|
||||||
* @param GoodRequest $request
|
* @param GoodRequest $request
|
||||||
|
* @return array
|
||||||
*/
|
*/
|
||||||
#[RequestMapping(path: "add_sku", methods: "POST")]
|
#[RequestMapping(path: "add_sku", methods: "POST")]
|
||||||
#[Scene(scene: "add_sku")]
|
#[Scene(scene: "add_sku")]
|
||||||
public function add_sku(GoodRequest $request)
|
public function addSku(GoodRequest $request)
|
||||||
{
|
{
|
||||||
return (new SkuService)->add();
|
return (new SkuService)->add();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* sku 修改
|
||||||
|
* @param GoodRequest $request
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
#[RequestMapping(path: "edit_sku", methods: "POST")]
|
||||||
|
#[Scene(scene: "edit_sku")]
|
||||||
|
public function editSku(GoodRequest $request): array
|
||||||
|
{
|
||||||
|
return (new SkuService)->edit();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* sku 删除
|
||||||
|
* @param GoodRequest $request
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
#[RequestMapping(path: "del_sku", methods: "POST")]
|
||||||
|
#[Scene(scene: "del_sku")]
|
||||||
|
public function delSku(GoodRequest $request): array
|
||||||
|
{
|
||||||
|
return (new SkuService)->del();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* sku 详情
|
||||||
|
* @param GoodRequest $request
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
#[RequestMapping(path: "sku", methods: "POST")]
|
||||||
|
#[Scene(scene: "sku")]
|
||||||
|
public function sku(GoodRequest $request): array
|
||||||
|
{
|
||||||
|
return (new SkuService)->view();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* sku 列表
|
||||||
|
* @param GoodRequest $request
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
#[RequestMapping(path: "list_sku", methods: "POST")]
|
||||||
|
#[Scene(scene: "list_sku")]
|
||||||
|
public function skuList(GoodRequest $request): array
|
||||||
|
{
|
||||||
|
return (new SkuService)->handle();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* cycle 列表
|
||||||
|
* @param GoodRequest $request
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
#[RequestMapping(path: "list_cycle", methods: "POST")]
|
||||||
|
#[Scene(scene: "list_cycle")]
|
||||||
|
public function cycleList(GoodRequest $request): array
|
||||||
|
{
|
||||||
|
return (new CycleService)->handle();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,8 +9,7 @@ use Hyperf\DbConnection\Model\Model;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @property int $id
|
* @property int $id
|
||||||
* @property string $dates
|
* @property string $dates
|
||||||
* @property int $is_use
|
|
||||||
* @property string $create_time
|
* @property string $create_time
|
||||||
*/
|
*/
|
||||||
class Cycle extends Model
|
class Cycle extends Model
|
||||||
@@ -30,7 +29,7 @@ class Cycle extends Model
|
|||||||
/**
|
/**
|
||||||
* The attributes that should be cast to native types.
|
* The attributes that should be cast to native types.
|
||||||
*/
|
*/
|
||||||
protected array $casts = ['id' => 'integer', 'is_use' => 'integer'];
|
protected array $casts = ['id' => 'integer'];
|
||||||
|
|
||||||
const string CREATED_AT = 'create_time';
|
const string CREATED_AT = 'create_time';
|
||||||
const null UPDATED_AT = null;
|
const null UPDATED_AT = null;
|
||||||
|
|||||||
@@ -31,6 +31,10 @@ class GoodRequest extends FormRequest
|
|||||||
'saleable' => 'required|integer|in:1,2',
|
'saleable' => 'required|integer|in:1,2',
|
||||||
'id' => 'required|integer',
|
'id' => 'required|integer',
|
||||||
'cycle_id' => 'required|integer|exists:cycle,id',
|
'cycle_id' => 'required|integer|exists:cycle,id',
|
||||||
|
'spu_id' => 'required|integer|exists:spu,id',
|
||||||
|
'image_ids' => 'required|string',
|
||||||
|
'stock' => 'required|integer',
|
||||||
|
'price' => 'required|string',
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
40
app/Service/Admin/Good/CycleService.php
Normal file
40
app/Service/Admin/Good/CycleService.php
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* This service file is part of item.
|
||||||
|
*
|
||||||
|
* @author ctexthuang
|
||||||
|
* @contact ctexthuang@qq.com
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace App\Service\Admin\Good;
|
||||||
|
|
||||||
|
use App\Model\Cycle;
|
||||||
|
use App\Service\Admin\BaseService;
|
||||||
|
use Hyperf\Di\Annotation\Inject;
|
||||||
|
|
||||||
|
class CycleService extends BaseService
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @var Cycle $cycleModel
|
||||||
|
*/
|
||||||
|
#[Inject]
|
||||||
|
protected Cycle $cycleModel;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function handle(): array
|
||||||
|
{
|
||||||
|
$arr = $this->cycleModel->whereBetween('dates',[
|
||||||
|
date('Y-m-d',strtotime('-10 day',time())),
|
||||||
|
date('Y-m-d',strtotime('+10 day',time())),
|
||||||
|
])->orderBy('dates')->get();
|
||||||
|
if (empty($arr)) return $this->return->success('success',['list' => []]);
|
||||||
|
|
||||||
|
$arr = $arr->toArray();
|
||||||
|
|
||||||
|
return $this->return->success('success',['list' => $arr]);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -27,9 +27,33 @@ class SkuService extends BaseService
|
|||||||
#[Inject]
|
#[Inject]
|
||||||
protected Sku $skuModel;
|
protected Sku $skuModel;
|
||||||
|
|
||||||
public function handle()
|
/**
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function handle(): array
|
||||||
{
|
{
|
||||||
//todo Write logic
|
$limit = (int)$this->request->input('limit', 10);
|
||||||
|
$spuId = (int)$this->request->input('spu_id');
|
||||||
|
|
||||||
|
$list = $this->skuModel->where('spu_id',$spuId)->paginate($limit)->toArray();
|
||||||
|
|
||||||
|
$imageIdArr = array_column($list['data'],'image_ids');
|
||||||
|
$imageIds = array_unique(explode(',',implode(',',$imageIdArr)));
|
||||||
|
$imageList = $this->getOssObjects($imageIds);
|
||||||
|
|
||||||
|
foreach ($list['data'] as &$item) {
|
||||||
|
$imageOneArr = [];
|
||||||
|
foreach (explode(',',$item['image_ids']) as $imageId) {
|
||||||
|
$imageOneArr[] = [
|
||||||
|
'id' => $imageId,
|
||||||
|
'url' => $imageList[$imageId]['url']
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
$item['image_list'] = $imageOneArr;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->return->success('success', ['list' => $list]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -93,7 +117,7 @@ class SkuService extends BaseService
|
|||||||
if ($skuInfo->order_num > 0 && $skuInfo->price != $this->request->input('price')) throw new ErrException('已有订单不可改价,退单后即可操作');
|
if ($skuInfo->order_num > 0 && $skuInfo->price != $this->request->input('price')) throw new ErrException('已有订单不可改价,退单后即可操作');
|
||||||
else $skuInfo->price = $this->request->input('price');
|
else $skuInfo->price = $this->request->input('price');
|
||||||
|
|
||||||
$requestOssIds = $this->request->input('oss_ids');
|
$requestOssIds = $this->request->input('image_ids');
|
||||||
|
|
||||||
$updateOssIds = array_diff(explode(',',$requestOssIds), explode(',',$skuInfo->image_ids));
|
$updateOssIds = array_diff(explode(',',$requestOssIds), explode(',',$skuInfo->image_ids));
|
||||||
$delOssIds = array_diff(explode(',',$skuInfo->image_ids), explode(',',$requestOssIds));
|
$delOssIds = array_diff(explode(',',$skuInfo->image_ids), explode(',',$requestOssIds));
|
||||||
@@ -113,7 +137,8 @@ class SkuService extends BaseService
|
|||||||
|
|
||||||
if (!$skuInfo->save()) throw new ErrException('修改失败');
|
if (!$skuInfo->save()) throw new ErrException('修改失败');
|
||||||
|
|
||||||
if ($forceCleanStockCache == 1) return $this->return->success();//todo 修改缓存
|
if ($forceCleanStockCache == 1) return $this->return->success();
|
||||||
|
//todo 修改缓存
|
||||||
|
|
||||||
return $this->return->success();
|
return $this->return->success();
|
||||||
}
|
}
|
||||||
@@ -153,7 +178,7 @@ class SkuService extends BaseService
|
|||||||
|
|
||||||
$res = $skuInfo->toArray();
|
$res = $skuInfo->toArray();
|
||||||
|
|
||||||
$res['image_list'] = $imageList;
|
$res['image_list'] = array_values($imageList);
|
||||||
|
|
||||||
return $this->return->success('success',$res);
|
return $this->return->success('success',$res);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user