添加缓存
This commit is contained in:
parent
2342ba6af4
commit
e81b954d0a
|
|
@ -98,7 +98,20 @@ class Cardextractor extends Base
|
||||||
}
|
}
|
||||||
$itme['join_user'] = $new_join_user;
|
$itme['join_user'] = $new_join_user;
|
||||||
#参与次数
|
#参与次数
|
||||||
$join_count = OrderList::field('id')->where('goods_id', '=', $itme['id'])->where('order_type', '=', 4)->count();
|
$redis = (new \app\common\server\RedisHelper())->getRedis();
|
||||||
|
$cacheKey = "order_goods_count:{$itme['id']}";
|
||||||
|
$join_count = $redis->get($cacheKey);
|
||||||
|
|
||||||
|
// 缓存未命中,从数据库获取并缓存
|
||||||
|
if ($join_count === false) {
|
||||||
|
$join_count = OrderList::field('id')->where('goods_id', '=', $itme['id'])->where('order_type', '=', 4)->count();
|
||||||
|
|
||||||
|
// 设置缓存,5分钟过期
|
||||||
|
$redis->set($cacheKey, $join_count, 300);
|
||||||
|
} else {
|
||||||
|
// 转为整数
|
||||||
|
$join_count = intval($join_count);
|
||||||
|
}
|
||||||
$itme['join_count'] = $join_count;
|
$itme['join_count'] = $join_count;
|
||||||
});
|
});
|
||||||
$new_data = [
|
$new_data = [
|
||||||
|
|
|
||||||
|
|
@ -69,10 +69,23 @@ class FuLiWu extends Base
|
||||||
->toArray();
|
->toArray();
|
||||||
$itme['goodslist'] = $goodslist;
|
$itme['goodslist'] = $goodslist;
|
||||||
#参与次数
|
#参与次数
|
||||||
$join_count = OrderList::field('id')
|
$redis = (new \app\common\server\RedisHelper())->getRedis();
|
||||||
->where('goods_id', '=', $itme['id'])
|
$cacheKey = "order_goods_count:{$itme['id']}";
|
||||||
->where('order_type', '=', $itme['type'])
|
$join_count = $redis->get($cacheKey);
|
||||||
->count();
|
|
||||||
|
// 缓存未命中,从数据库获取并缓存
|
||||||
|
if ($join_count === false) {
|
||||||
|
$join_count = OrderList::field('id')
|
||||||
|
->where('goods_id', '=', $itme['id'])
|
||||||
|
->where('order_type', '=', $itme['type'])
|
||||||
|
->count();
|
||||||
|
|
||||||
|
// 设置缓存,5分钟过期
|
||||||
|
$redis->set($cacheKey, $join_count, 300);
|
||||||
|
} else {
|
||||||
|
// 转为整数
|
||||||
|
$join_count = intval($join_count);
|
||||||
|
}
|
||||||
$itme['join_count'] = $join_count;
|
$itme['join_count'] = $join_count;
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -68,6 +68,23 @@ class Goods extends Base
|
||||||
// 如果缓存存在,直接返回缓存数据
|
// 如果缓存存在,直接返回缓存数据
|
||||||
if ($cache_data) {
|
if ($cache_data) {
|
||||||
$cached_data = json_decode($cache_data, true);
|
$cached_data = json_decode($cache_data, true);
|
||||||
|
|
||||||
|
// 在返回缓存数据前,更新参与次数
|
||||||
|
if (!empty($cached_data['data'])) {
|
||||||
|
$redis = (new \app\common\server\RedisHelper())->getRedis();
|
||||||
|
foreach ($cached_data['data'] as &$item) {
|
||||||
|
// 读取商品参与次数缓存
|
||||||
|
$goods_id = $item['id'];
|
||||||
|
$cacheKey = "order_goods_count:{$goods_id}";
|
||||||
|
$join_count = $redis->get($cacheKey);
|
||||||
|
|
||||||
|
// 如果参与次数缓存存在,更新数据
|
||||||
|
if ($join_count !== false) {
|
||||||
|
$item['join_count'] = intval($join_count);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return $this->renderSuccess('请求成功', $cached_data);
|
return $this->renderSuccess('请求成功', $cached_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -172,22 +189,8 @@ class Goods extends Base
|
||||||
}
|
}
|
||||||
|
|
||||||
// 批量查询所有商品的参与次数
|
// 批量查询所有商品的参与次数
|
||||||
$joinCountMap = [];
|
// 移除外部查询,使用Redis缓存在循环中查询每个商品的参与次数
|
||||||
if (!empty($goodsIds)) {
|
$redis = (new \app\common\server\RedisHelper())->getRedis();
|
||||||
$joinCounts = OrderList::field('goods_id, order_type, COUNT(1) as count')
|
|
||||||
->where('shang_id', 'between', self::$shang_count_id)
|
|
||||||
->where('goods_id', 'in', $goodsIds)
|
|
||||||
->where('parent_goods_list_id', '=', 0)
|
|
||||||
->group('goods_id, order_type')
|
|
||||||
->select()
|
|
||||||
->toArray();
|
|
||||||
|
|
||||||
// 转为映射关系,键为"goods_id_order_type"格式
|
|
||||||
foreach ($joinCounts as $joinCount) {
|
|
||||||
$key = $joinCount['goods_id'] . '_' . $joinCount['order_type'];
|
|
||||||
$joinCountMap[$key] = $joinCount['count'];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 批量查询type=10的商品库存
|
// 批量查询type=10的商品库存
|
||||||
$goodslistMap = [];
|
$goodslistMap = [];
|
||||||
|
|
@ -222,9 +225,29 @@ class Goods extends Base
|
||||||
$item['stock'] = $goodslistData['stock'];
|
$item['stock'] = $goodslistData['stock'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 使用Redis缓存获取参与次数
|
||||||
|
$goods_id = $item['id'];
|
||||||
|
$cacheKey = "order_goods_count:{$goods_id}";
|
||||||
|
$join_count = $redis->get($cacheKey);
|
||||||
|
|
||||||
|
// 缓存未命中,从数据库获取并缓存
|
||||||
|
if ($join_count === false) {
|
||||||
|
$join_count = OrderList::field('id')
|
||||||
|
->where('goods_id', '=', $goods_id)
|
||||||
|
->where('num', '=', $item['num'])
|
||||||
|
->where('shang_id', 'between', self::$shang_count_id)
|
||||||
|
->where('order_type', '=', $item['type'])
|
||||||
|
->count();
|
||||||
|
|
||||||
|
// 设置缓存,5分钟过期
|
||||||
|
$redis->set($cacheKey, $join_count, 300);
|
||||||
|
} else {
|
||||||
|
// 转为整数
|
||||||
|
$join_count = intval($join_count);
|
||||||
|
}
|
||||||
|
|
||||||
// 设置参与次数
|
// 设置参与次数
|
||||||
$joinCountKey = $item['id'] . '_' . $item['type'];
|
$item['join_count'] = $join_count;
|
||||||
$item['join_count'] = isset($joinCountMap[$joinCountKey]) ? $joinCountMap[$joinCountKey] : 0;
|
|
||||||
|
|
||||||
// 设置需要抽奖的数量
|
// 设置需要抽奖的数量
|
||||||
$item['need_draw_num'] = $item['type'] == 7 ? 1 : 0;
|
$item['need_draw_num'] = $item['type'] == 7 ? 1 : 0;
|
||||||
|
|
@ -283,7 +306,7 @@ class Goods extends Base
|
||||||
#奖品信息
|
#奖品信息
|
||||||
$goodslist_info = GoodsList::field('num,sum(`surplus_stock`) as all_surplus_stock')
|
$goodslist_info = GoodsList::field('num,sum(`surplus_stock`) as all_surplus_stock')
|
||||||
->where(['goods_id' => $goods_id])
|
->where(['goods_id' => $goods_id])
|
||||||
->where('shang_id', 'not in', [1, 2, 3, 4, 5])
|
->where('shang_id', '>', 5)//[1, 2, 3, 4, 5]
|
||||||
->where('goods_list_id', '=', 0)
|
->where('goods_list_id', '=', 0)
|
||||||
->having('all_surplus_stock', '>', 0)
|
->having('all_surplus_stock', '>', 0)
|
||||||
->group('num')
|
->group('num')
|
||||||
|
|
@ -409,11 +432,25 @@ class Goods extends Base
|
||||||
$new_join_user[] = $join_user_value['userinfo']['headimg'];
|
$new_join_user[] = $join_user_value['userinfo']['headimg'];
|
||||||
}
|
}
|
||||||
#参与次数
|
#参与次数
|
||||||
$join_count = OrderList::field('id')->where('goods_id', '=', $goods_id)
|
$redis = (new \app\common\server\RedisHelper())->getRedis();
|
||||||
->where('num', '=', $goods_num)
|
$cacheKey = "order_goods_count:{$goods_id}";
|
||||||
->where('shang_id', 'between', self::$shang_count_id)
|
$join_count = $redis->get($cacheKey);
|
||||||
->where('order_type', '=', $goods['type'])
|
|
||||||
->count();
|
// 缓存未命中,从数据库获取并缓存
|
||||||
|
if ($join_count === false) {
|
||||||
|
$join_count = OrderList::field('id')
|
||||||
|
->where('goods_id', '=', $goods_id)
|
||||||
|
->where('num', '=', $goods_num)
|
||||||
|
->where('shang_id', 'between', self::$shang_count_id)
|
||||||
|
->where('order_type', '=', $goods['type'])
|
||||||
|
->count();
|
||||||
|
|
||||||
|
// 设置缓存,5分钟过期
|
||||||
|
$redis->set($cacheKey, $join_count, 300);
|
||||||
|
} else {
|
||||||
|
// 转为整数
|
||||||
|
$join_count = intval($join_count);
|
||||||
|
}
|
||||||
#时间配置
|
#时间配置
|
||||||
$config = getConfig('base');
|
$config = getConfig('base');
|
||||||
$goods['three_time'] = $config['three_time'];
|
$goods['three_time'] = $config['three_time'];
|
||||||
|
|
|
||||||
|
|
@ -44,6 +44,16 @@ class Infinite extends Base
|
||||||
// 如果缓存存在,直接返回缓存数据
|
// 如果缓存存在,直接返回缓存数据
|
||||||
if ($cache_data) {
|
if ($cache_data) {
|
||||||
$cached_data = json_decode($cache_data, true);
|
$cached_data = json_decode($cache_data, true);
|
||||||
|
|
||||||
|
// 检查是否有最新的热度值,并更新缓存中的数据
|
||||||
|
$heat_cache_key = "order_goods_count:{$goods_id}";
|
||||||
|
$latest_heat = $redis->get($heat_cache_key);
|
||||||
|
|
||||||
|
if ($latest_heat !== false) {
|
||||||
|
// 更新缓存数据中的热度值
|
||||||
|
$cached_data['goods']['join_count'] = intval($latest_heat);
|
||||||
|
}
|
||||||
|
|
||||||
return $this->renderSuccess("请求成功", $cached_data);
|
return $this->renderSuccess("请求成功", $cached_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -107,11 +117,24 @@ class Infinite extends Base
|
||||||
}
|
}
|
||||||
$goods['join_user'] = $new_join_user;
|
$goods['join_user'] = $new_join_user;
|
||||||
#参与次数
|
#参与次数
|
||||||
$join_count1 = OrderList::field('id')->where('goods_id', '=', $goods_id)
|
$redis = (new \app\common\server\RedisHelper())->getRedis();
|
||||||
->where('shang_id', 'between', [34, 38])
|
$cacheKey = "order_goods_count:{$goods_id}";
|
||||||
->where('order_type', '=', $goods['type'])
|
$join_count1 = $redis->get($cacheKey);
|
||||||
->where('source', '=', 1)
|
|
||||||
->count();
|
// 缓存未命中,从数据库获取并缓存
|
||||||
|
if ($join_count1 === false) {
|
||||||
|
$join_count1 = OrderList::field('id')->where('goods_id', '=', $goods_id)
|
||||||
|
->where('shang_id', 'between', [34, 38])
|
||||||
|
->where('order_type', '=', $goods['type'])
|
||||||
|
->where('source', '=', 1)
|
||||||
|
->count();
|
||||||
|
|
||||||
|
// 设置缓存,5分钟过期
|
||||||
|
$redis->set($cacheKey, $join_count1, 300);
|
||||||
|
} else {
|
||||||
|
// 转为整数
|
||||||
|
$join_count1 = intval($join_count1);
|
||||||
|
}
|
||||||
$goods['join_count'] = $join_count1;
|
$goods['join_count'] = $join_count1;
|
||||||
|
|
||||||
#赏池分类
|
#赏池分类
|
||||||
|
|
@ -256,11 +279,24 @@ class Infinite extends Base
|
||||||
}
|
}
|
||||||
$goods['join_user'] = $new_join_user;
|
$goods['join_user'] = $new_join_user;
|
||||||
#参与次数
|
#参与次数
|
||||||
$join_count1 = OrderList::field('id')->where('goods_id', '=', $goods_id)
|
$redis = (new \app\common\server\RedisHelper())->getRedis();
|
||||||
->where('shang_id', 'between', [34, 38])
|
$cacheKey = "order_goods_count:{$goods_id}";
|
||||||
->where('order_type', '=', $goods['type'])
|
$join_count1 = $redis->get($cacheKey);
|
||||||
->where('source', '=', 1)
|
|
||||||
->count();
|
// 缓存未命中,从数据库获取并缓存
|
||||||
|
if ($join_count1 === false) {
|
||||||
|
$join_count1 = OrderList::field('id')->where('goods_id', '=', $goods_id)
|
||||||
|
->where('shang_id', 'between', [34, 38])
|
||||||
|
->where('order_type', '=', $goods['type'])
|
||||||
|
->where('source', '=', 1)
|
||||||
|
->count();
|
||||||
|
|
||||||
|
// 设置缓存,5分钟过期
|
||||||
|
$redis->set($cacheKey, $join_count1, 300);
|
||||||
|
} else {
|
||||||
|
// 转为整数
|
||||||
|
$join_count1 = intval($join_count1);
|
||||||
|
}
|
||||||
$goods['join_count'] = $join_count1;
|
$goods['join_count'] = $join_count1;
|
||||||
|
|
||||||
#赏池分类
|
#赏池分类
|
||||||
|
|
@ -321,6 +357,7 @@ class Infinite extends Base
|
||||||
// 尝试从缓存获取数据
|
// 尝试从缓存获取数据
|
||||||
$cached_data = $redis->get($cache_key);
|
$cached_data = $redis->get($cache_key);
|
||||||
if ($cached_data) {
|
if ($cached_data) {
|
||||||
|
// 直接返回缓存的数据,这个方法不涉及热度值显示,无需更新
|
||||||
return $this->renderSuccess("请求成功", json_decode($cached_data, true));
|
return $this->renderSuccess("请求成功", json_decode($cached_data, true));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1289,6 +1289,9 @@ class Notify extends Base
|
||||||
if ($goodslist) {
|
if ($goodslist) {
|
||||||
|
|
||||||
$res[] = $this->infinite_drawprize_box($goodslist, $prize_num, $order_id, $user_id, $goods_id, $order_type, $infinite_goods);
|
$res[] = $this->infinite_drawprize_box($goodslist, $prize_num, $order_id, $user_id, $goods_id, $order_type, $infinite_goods);
|
||||||
|
|
||||||
|
// 更新Redis中盒子的热度值(增加本次抽奖次数)
|
||||||
|
$this->updateGoodsHeat($goods_id, $prize_num);
|
||||||
|
|
||||||
//去除秘宝池次数
|
//去除秘宝池次数
|
||||||
if ($infinite_goods['type'] == 9 && $order['is_mibao'] == 1) {
|
if ($infinite_goods['type'] == 9 && $order['is_mibao'] == 1) {
|
||||||
|
|
@ -1432,6 +1435,7 @@ class Notify extends Base
|
||||||
$res[] = $this->infinite_drawprize_box($goodslist_1, 1, $order_id, $user_id, $goods_id, $order_type, $infinite_goods);
|
$res[] = $this->infinite_drawprize_box($goodslist_1, 1, $order_id, $user_id, $goods_id, $order_type, $infinite_goods);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $res;
|
return $res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -2006,6 +2010,9 @@ class Notify extends Base
|
||||||
#开奖==================================================
|
#开奖==================================================
|
||||||
$res[] = $this->draw_drawprize($order);
|
$res[] = $this->draw_drawprize($order);
|
||||||
#开奖==================================================
|
#开奖==================================================
|
||||||
|
|
||||||
|
// 更新Redis中盒子的热度值
|
||||||
|
$this->updateGoodsHeat($goods_id, $order['prize_num']);
|
||||||
} else {
|
} else {
|
||||||
$res[] = 0;
|
$res[] = 0;
|
||||||
}
|
}
|
||||||
|
|
@ -2116,6 +2123,9 @@ class Notify extends Base
|
||||||
#开奖==================================================
|
#开奖==================================================
|
||||||
$res[] = $this->draw_drawprize($order);
|
$res[] = $this->draw_drawprize($order);
|
||||||
#开奖==================================================
|
#开奖==================================================
|
||||||
|
|
||||||
|
// 更新Redis中盒子的热度值
|
||||||
|
$this->updateGoodsHeat($goods_id, $order['prize_num']);
|
||||||
} else {
|
} else {
|
||||||
$res[] = 0;
|
$res[] = 0;
|
||||||
}
|
}
|
||||||
|
|
@ -2190,4 +2200,46 @@ class Notify extends Base
|
||||||
|
|
||||||
return $res;
|
return $res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新Redis中盒子的热度值
|
||||||
|
*
|
||||||
|
* @param int $goods_id 盒子ID
|
||||||
|
* @param int $prize_num 本次抽奖次数
|
||||||
|
* @return bool 更新结果
|
||||||
|
*/
|
||||||
|
private function updateGoodsHeat($goods_id, $prize_num)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
// 获取Redis实例
|
||||||
|
$redis = (new \app\common\server\RedisHelper())->getRedis();
|
||||||
|
$cacheKey = "order_goods_count:{$goods_id}";
|
||||||
|
|
||||||
|
// 获取当前热度值
|
||||||
|
$current_heat = $redis->get($cacheKey);
|
||||||
|
|
||||||
|
// 如果缓存不存在,先从数据库获取
|
||||||
|
if ($current_heat === false) {
|
||||||
|
$current_heat = \app\common\model\OrderList::where('goods_id', '=', $goods_id)
|
||||||
|
->where('shang_id', 'between', [34, 38])
|
||||||
|
->where('parent_goods_list_id', '=', 0)
|
||||||
|
->count();
|
||||||
|
} else {
|
||||||
|
// 转为整数
|
||||||
|
$current_heat = intval($current_heat);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 计算新的热度值
|
||||||
|
$new_heat = $current_heat + $prize_num;
|
||||||
|
|
||||||
|
// 更新Redis缓存,设置5分钟过期时间
|
||||||
|
$redis->set($cacheKey, $new_heat, 300);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
// 发生异常时记录日志
|
||||||
|
\think\facade\Log::error("更新盒子热度值失败:" . $e->getMessage());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
108
app/command/UpdateGoodsHeat.php
Normal file
108
app/command/UpdateGoodsHeat.php
Normal file
|
|
@ -0,0 +1,108 @@
|
||||||
|
<?php
|
||||||
|
declare (strict_types = 1);
|
||||||
|
|
||||||
|
namespace app\command;
|
||||||
|
|
||||||
|
use app\common\model\Goods as GoodsModel;
|
||||||
|
use app\common\model\OrderList;
|
||||||
|
use app\common\server\RedisHelper;
|
||||||
|
use think\console\Command;
|
||||||
|
use think\console\Input;
|
||||||
|
use think\console\Output;
|
||||||
|
use think\facade\Db;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新盒子热度值到Redis命令
|
||||||
|
*/
|
||||||
|
class UpdateGoodsHeat extends Command
|
||||||
|
{
|
||||||
|
// 盒子热度值的Redis缓存时间(秒)
|
||||||
|
protected $cacheTime = 300; // 5分钟
|
||||||
|
|
||||||
|
// 统计中奖记录的商品ID范围(和Goods类中的定义保持一致)
|
||||||
|
protected $shangCountIdRange = [10, 38];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 配置命令
|
||||||
|
*/
|
||||||
|
protected function configure()
|
||||||
|
{
|
||||||
|
$this->setName('update_goods_heat')
|
||||||
|
->setDescription('更新所有盒子的热度值到Redis中');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 执行命令
|
||||||
|
*
|
||||||
|
* @param Input $input
|
||||||
|
* @param Output $output
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
protected function execute(Input $input, Output $output)
|
||||||
|
{
|
||||||
|
$startTime = microtime(true);
|
||||||
|
$output->writeln('开始更新盒子热度值到Redis...');
|
||||||
|
|
||||||
|
// 获取Redis实例
|
||||||
|
$redis = (new RedisHelper())->getRedis();
|
||||||
|
|
||||||
|
try {
|
||||||
|
// 获取所有上架的盒子ID
|
||||||
|
$goodsIds = GoodsModel::where('status', 1)
|
||||||
|
->field('id')
|
||||||
|
->select()
|
||||||
|
->column('id');
|
||||||
|
|
||||||
|
if (empty($goodsIds)) {
|
||||||
|
$output->writeln('没有找到上架的盒子');
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
$output->writeln('找到 ' . count($goodsIds) . ' 个上架的盒子');
|
||||||
|
|
||||||
|
// 更新到Redis
|
||||||
|
$updatedCount = 0;
|
||||||
|
$successCount = 0;
|
||||||
|
$failCount = 0;
|
||||||
|
|
||||||
|
// 逐个查询盒子的参与次数并更新到Redis
|
||||||
|
foreach ($goodsIds as $goodsId) {
|
||||||
|
try {
|
||||||
|
// 查询单个盒子的参与次数(命中索引)
|
||||||
|
$count = OrderList::where('goods_id', '=', $goodsId)
|
||||||
|
->where('shang_id', 'between', $this->shangCountIdRange)
|
||||||
|
->where('parent_goods_list_id', '=', 0)
|
||||||
|
->count();
|
||||||
|
|
||||||
|
// 构建缓存键
|
||||||
|
$cacheKey = "order_goods_count:{$goodsId}";
|
||||||
|
|
||||||
|
// 存入Redis,设置5分钟过期时间
|
||||||
|
$redis->set($cacheKey, $count, $this->cacheTime);
|
||||||
|
$successCount++;
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
$output->writeln("更新盒子(ID:{$goodsId})热度值失败: {$e->getMessage()}");
|
||||||
|
$failCount++;
|
||||||
|
}
|
||||||
|
|
||||||
|
$updatedCount++;
|
||||||
|
|
||||||
|
// 每处理50个盒子输出一次进度
|
||||||
|
if ($updatedCount % 50 == 0) {
|
||||||
|
$output->writeln("已处理 {$updatedCount} 个盒子...");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$endTime = microtime(true);
|
||||||
|
$executionTime = round($endTime - $startTime, 2);
|
||||||
|
|
||||||
|
$output->writeln("处理完成! 总计 {$updatedCount} 个盒子,成功 {$successCount} 个,失败 {$failCount} 个");
|
||||||
|
$output->writeln("执行耗时: {$executionTime} 秒");
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
$output->writeln("更新盒子热度值失败: {$e->getMessage()}");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -8,5 +8,6 @@ return [
|
||||||
'AutoGoodsOffshelf' => 'app\command\AutoGoodsOffshelf',#自动下架利润率过低的盒子
|
'AutoGoodsOffshelf' => 'app\command\AutoGoodsOffshelf',#自动下架利润率过低的盒子
|
||||||
'CreateOffshelfLogTable' => 'app\command\CreateOffshelfLogTable',#创建盒子自动下架日志表
|
'CreateOffshelfLogTable' => 'app\command\CreateOffshelfLogTable',#创建盒子自动下架日志表
|
||||||
'FlwOpen' => 'app\command\FlwOpen',#福利屋开奖
|
'FlwOpen' => 'app\command\FlwOpen',#福利屋开奖
|
||||||
|
'UpdateGoodsHeat' => 'app\command\UpdateGoodsHeat',#更新盒子热度值到Redis
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user