Compare commits
8 Commits
20250806-0
...
20250806-1
| Author | SHA1 | Date | |
|---|---|---|---|
| a3a079edd4 | |||
| 26f58eee32 | |||
| 00aa36c574 | |||
| ff1ab9a008 | |||
| cf4a2d9436 | |||
| 30bed90d27 | |||
| ed4ce5bebe | |||
| eb0ce8a347 |
@@ -210,7 +210,7 @@ class GoodCache
|
||||
|
||||
foreach ($list as &$item) {
|
||||
$item['sku_list'] = $skuListArr[$item['id']] ?? [];
|
||||
$item['spu_image_url'] = $imageList[$item['image_id']] ?? '';
|
||||
$item['spu_image_url']['url'] = $imageList[$item['image_id']]['url'] ?? '';
|
||||
$item['image_list'] = $imageArr[$item['id']] ?? [];
|
||||
$item['price'] = !empty($price[$item['id']]) ? (min($price[$item['id']]) ?? 0) : 0;
|
||||
}
|
||||
@@ -349,7 +349,10 @@ class GoodCache
|
||||
*/
|
||||
private function buildStockData(&$data): mixed
|
||||
{
|
||||
if (empty($data)) return $data;
|
||||
|
||||
foreach ($data as &$spu) {
|
||||
if (empty($spu['sku_list'])) continue;
|
||||
foreach ($spu['sku_list'] as &$sku) {
|
||||
$sku['stock'] = $this->getStock($sku['id']);
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ use App\Service\Api\System\GetLeaderboardService;
|
||||
use App\Service\Api\System\MiniWxConfigService;
|
||||
use App\Service\Api\System\SiteListService;
|
||||
use App\Service\Api\System\SystemConfigService;
|
||||
use App\Service\Api\System\TestService;
|
||||
use App\Service\Api\User\IndexService;
|
||||
use DateMalformedStringException;
|
||||
use Hyperf\HttpServer\Annotation\Controller;
|
||||
@@ -87,4 +88,10 @@ class SystemController extends AbstractController
|
||||
{
|
||||
return (new GetLeaderboardService)->handle();
|
||||
}
|
||||
|
||||
#[RequestMapping(path: "test", methods: "GET")]
|
||||
public function test()
|
||||
{
|
||||
return (new TestService)->handle();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,8 +13,11 @@ namespace App\Cron\Coupon;
|
||||
use App\Constants\Common\CouponCode;
|
||||
use App\Lib\Log;
|
||||
use App\Model\UserCoupon;
|
||||
use Exception;
|
||||
use Hyperf\Crontab\Annotation\Crontab;
|
||||
use Hyperf\Di\Annotation\Inject;
|
||||
use Psr\Container\ContainerExceptionInterface;
|
||||
use Psr\Container\NotFoundExceptionInterface;
|
||||
|
||||
#[Crontab(rule: "* * * * *", name: "UserCouponTask", singleton: true , callback: "execute", memo: "每秒执行优惠券过期")]
|
||||
class UserCouponTask
|
||||
@@ -31,12 +34,17 @@ class UserCouponTask
|
||||
#[Inject]
|
||||
protected UserCoupon $userCouponModel;
|
||||
|
||||
public function execute()
|
||||
/**
|
||||
* @return void
|
||||
* @throws ContainerExceptionInterface
|
||||
* @throws NotFoundExceptionInterface
|
||||
*/
|
||||
public function execute(): void
|
||||
{
|
||||
try {
|
||||
$this->userCouponModel
|
||||
->whereTime('validity_end_time', '<', date('Y-m-d H:i:s'))
|
||||
->where('status', CouponCode::COUPON_STATUS_UNUSED)
|
||||
->where('validity_end_time', '<', date('Y-m-d H:i:s'))
|
||||
->update(['status' => CouponCode::COUPON_STATUS_EXPIRE]);
|
||||
}catch (Exception $e){
|
||||
$this->log->error(__CLASS__.$e->getMessage());
|
||||
|
||||
@@ -87,10 +87,16 @@ class ChefService extends BaseService
|
||||
|
||||
$skuIds = array_column($list['data'], 'sku_id');
|
||||
$chefIds = array_column($list['data'], 'chef_id');
|
||||
$skuList = $this->skuModel->whereIn('id', $skuIds)->pluck('title', 'id')->toArray();
|
||||
$chefList = $this->adminUserModel->whereIn('id',$chefIds)->pluck('chinese_name','id')->toArray();
|
||||
$skuList = $this->skuModel->whereIn('id', $skuIds)->select('price','title','id')->get();
|
||||
if ($skuList->isNotEmpty()) {
|
||||
$skuList = array_column($skuList->toArray(), null,'id');
|
||||
}
|
||||
|
||||
$chefList = $this->adminUserModel->getChefNameByIds($chefIds);
|
||||
foreach ($list['data'] as &$v) {
|
||||
$v['sku_title'] = $skuList[$v['sku_id']] ?? '';
|
||||
$v['sku_title'] = $skuList[$v['sku_id']]['title'] ?? '';
|
||||
$v['sku_price'] = $skuList[$v['sku_id']]['price'] ?? '0.00';
|
||||
$v['total_price'] = bcmul($skuList[$v['sku_id']]['price'],(string)$v['sale'],2);
|
||||
$v['chef_name'] = $chefList[$v['chef_id']] ?? '';
|
||||
}
|
||||
|
||||
|
||||
@@ -114,9 +114,11 @@ class OptionalListService extends BaseService
|
||||
$favorable = [];
|
||||
$skuList = [];
|
||||
foreach ($data as &$item) {
|
||||
foreach ($item['sku_list'] as &$v) {
|
||||
$v['surplus_stock'] = $this->redisCache->zScore($stockKey,$v['id']) ?? 0;
|
||||
$v['category_id'] = $item['category_id'];
|
||||
if (!empty($item['sku_list'])) {
|
||||
foreach ($item['sku_list'] as &$v) {
|
||||
$v['surplus_stock'] = $this->redisCache->zScore($stockKey,$v['id']) ?? 0;
|
||||
$v['category_id'] = $item['category_id'];
|
||||
}
|
||||
}
|
||||
|
||||
if ($item['favorable'] == GoodCode::IS_FAVORABLE) {
|
||||
@@ -136,10 +138,10 @@ class OptionalListService extends BaseService
|
||||
}
|
||||
|
||||
$res[$item['category_id']]['spu_list'][] = $item;
|
||||
$skuList = array_merge($skuList, $item['sku_list']);
|
||||
$skuList = array_merge($skuList, $item['sku_list'] ?? []);
|
||||
}
|
||||
|
||||
if (empty($skuList)) throw new ErrException('数据错误');
|
||||
if (empty($skuList)) return array_values($res);
|
||||
$skuList = array_column($skuList,null,'id');
|
||||
|
||||
if (!empty($purchaseData)) {
|
||||
|
||||
39
app/Service/Api/System/TestService.php
Normal file
39
app/Service/Api/System/TestService.php
Normal file
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
/**
|
||||
* This service file is part of item.
|
||||
*
|
||||
* @author ctexthuang
|
||||
* @contact ctexthuang@qq.com
|
||||
*/
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Service\Api\System;
|
||||
|
||||
use App\Constants\Common\CouponCode;
|
||||
use App\Model\UserCoupon;
|
||||
use App\Service\Api\BaseService;
|
||||
use Hyperf\Di\Annotation\Inject;
|
||||
|
||||
class TestService extends BaseService
|
||||
{
|
||||
|
||||
/**
|
||||
* @var UserCoupon
|
||||
*/
|
||||
#[Inject]
|
||||
protected UserCoupon $userCouponModel;
|
||||
|
||||
public function handle()
|
||||
{
|
||||
var_dump(date('Y-m-d H:i:s'));
|
||||
$data = $this->userCouponModel
|
||||
->where('status', CouponCode::COUPON_STATUS_UNUSED)
|
||||
->where('validity_end_time', '<', date('Y-m-d H:i:s'))
|
||||
->get();
|
||||
|
||||
$data = $data->toArray();
|
||||
|
||||
var_dump($data);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user