redis 变成配置项

This commit is contained in:
manghe 2025-03-20 11:15:04 +00:00
parent 9a6b882a1b
commit 4aba2cb52c
17 changed files with 127 additions and 116 deletions

3
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,3 @@
{
"php.version": "7.4"
}

View File

@ -143,14 +143,7 @@ class Upload extends Base
}
}
}
public function uploadimage()
{
// return
return '{"imageActionName":"uploadimage","imageFieldName":"upfile","imageMaxSize":51200000,"imageAllowFiles":[".png",".jpg",".jpeg",".gif",".bmp",".php"],"imageCompressEnable":true,"imageCompressBorder":600,"imageInsertAlign":"none","imageUrlPrefix":"","imagePathFormat":"\/ueditor\/php\/upload\/image\/{yyyy}{mm}{dd}\/{time}{rand:6}","scrawlActionName":"uploadscrawl","scrawlFieldName":"upfile","scrawlPathFormat":"\/ueditor\/php\/upload\/image\/{yyyy}{mm}{dd}\/{time}{rand:6}","scrawlMaxSize":51200000,"scrawlUrlPrefix":"","scrawlInsertAlign":"none","snapscreenActionName":"uploadimage","snapscreenPathFormat":"\/ueditor\/php\/upload\/image\/{yyyy}{mm}{dd}\/{time}{rand:6}","snapscreenUrlPrefix":"","snapscreenInsertAlign":"none","catcherLocalDomain":["127.0.0.1","localhost","img.baidu.com"],"catcherActionName":"catchimage","catcherFieldName":"source","catcherPathFormat":"\/ueditor\/php\/upload\/image\/{yyyy}{mm}{dd}\/{time}{rand:6}","catcherUrlPrefix":"","catcherMaxSize":51200000,"catcherAllowFiles":[".png",".jpg",".jpeg",".gif",".bmp"],"videoActionName":"uploadvideo","videoFieldName":"upfile","videoPathFormat":"\/ueditor\/php\/upload\/video\/{yyyy}{mm}{dd}\/{time}{rand:6}","videoUrlPrefix":"","videoMaxSize":102400000,"videoAllowFiles":[".flv",".swf",".mkv",".avi",".rm",".rmvb",".mpeg",".mpg",".ogg",".ogv",".mov",".wmv",".mp4",".webm",".mp3",".php",".wav",".mid"],"fileActionName":"uploadfile","fileFieldName":"upfile","filePathFormat":"\/ueditor\/php\/upload\/file\/{yyyy}{mm}{dd}\/{time}{rand:6}","fileUrlPrefix":"","fileMaxSize":51200000,"fileAllowFiles":[".png",".jpg",".jpeg",".gif",".bmp",".flv",".swf",".mkv",".avi",".rm",".rmvb",".mpeg",".mpg",".ogg",".ogv",".mov",".wmv",".mp4",".webm",".mp3",".wav",".mid",".rar",".zip",".tar",".gz",".7z",".bz2",".cab",".php",".iso",".doc",".docx",".xls",".xlsx",".ppt",".pptx",".pdf",".txt",".md",".xml"],"imageManagerActionName":"listimage","imageManagerListPath":"\/ueditor\/php\/upload\/image\/","imageManagerListSize":20,"imageManagerUrlPrefix":"","imageManagerInsertAlign":"none","imageManagerAllowFiles":[".png",".jpg",".jpeg",".gif",".php",".bmp"],"fileManagerActionName":"listfile","fileManagerListPath":"\/ueditor\/php\/upload\/file\/","fileManagerUrlPrefix":"","fileManagerListSize":20,"fileManagerAllowFiles":[".png",".jpg",".jpeg",".gif",".bmp",".flv",".swf",".mkv",".avi",".rm",".rmvb",".mpeg",".php",".mpg",".ogg",".ogv",".mov",".wmv",".mp4",".webm",".mp3",".wav",".mid",".rar",".zip",".tar",".gz",".7z",".bz2",".cab",".iso",".doc",".docx",".xls",".xlsx",".ppt",".pptx",".pdf",".txt",".md",".xml"]}';
}
/**
* 阿里云oss上传

View File

@ -19,7 +19,7 @@ use app\common\model\UserAccount;
use app\common\model\UserLoginIp;
use think\facade\Db;
use think\helper\Str;
use app\common\server\RedisHelper;
class User extends Base
{
/**
@ -208,8 +208,9 @@ class User extends Base
*/
public function usertest(Request $request)
{
$redis = new RedisHelper();
$redis->set('test', '123');
// \think\facade\Filesystem::disk('public')-/
$id = request()->post('id/d', 0);
$type = request()->post('type/d', 0);
if ($type != 1 && $type != 0 && $type != 2) {

View File

@ -291,5 +291,4 @@ Route::rule('user_invite', 'user/user_invite', 'GET');
Route::rule('user_statistics', 'Statistics/UserStatistics', 'GET');
Route::rule('ueditor_uploadimage', 'Upload/uploadimage', 'GET|POST');

View File

@ -2454,17 +2454,7 @@ class AliNotify extends Base
{
//微信官方发货
$wxServer = new \app\common\server\Wx($this->app);
// //获取access_token
// $redis = new \Redis();
// $redis->connect('127.0.0.1',6379);
// $weixinpay = getConfig('weixinpay');
// $key = $weixinpay['appid'].'_access_token';
// if(empty($redis->get($key))){
// $access_token = $wxServer->get_access_token();
// $redis->setEx($key,3600,$access_token);
// }else{
// $access_token = $redis->get($key);
// }
$access_token = $wxServer->get_access_token();
$open_id = Db::name('user')->where('id', $user_id)->value('openid');
$wxServer->post_order($open_id, $access_token, $order_num);

View File

@ -465,8 +465,7 @@ class CardGoods extends Base
}
}
//更新缓存
$redis = new \Redis();
$redis->connect('127.0.0.1', 6379);
$redis = (new \app\common\server\RedisHelper())->getRedis();
$redis_key = "kpw_cardextractor_orderbuy" . '_' . $user['id'];
$redis_key_info = $redis->get($redis_key);
if ($redis_key_info) {

View File

@ -1,5 +1,5 @@
<?php
declare (strict_types=1);
declare(strict_types=1);
namespace app\api\controller;
@ -78,7 +78,7 @@ class Cardextractor extends Base
$goods = GoodsModel::where($whe)
->field("id,title,imgurl,price,show_price,type,stock,sale_stock,status,card_set")
->order("sort desc,id desc")->paginate(15)->each(function ($itme) {
// $card_set = json_decode($itme['card_set'], true);
// $card_set = json_decode($itme['card_set'], true);
// $itme['price'] = bcmul("{$itme['price']}", "{$card_set['left_count']}", 2);
$itme['price'] = $itme['show_price'];
$itme['imgurl'] = imageUrl($itme['imgurl']);
@ -129,7 +129,7 @@ class Cardextractor extends Base
$goods['imgurl_detail'] = imageUrl($goods['imgurl_detail']);
$goods['card_banner'] = imageUrl($goods['card_banner']);
$card_set = json_decode($goods['card_set'], true);
// $goods['price'] = bcmul("{$goods['price']}", "{$card_set['left_count']}", 2);
// $goods['price'] = bcmul("{$goods['price']}", "{$card_set['left_count']}", 2);
$goods['price'] = $goods['show_price'];
unset($card_set['left_shang_id']);
unset($card_set['left_shang_count']);
@ -165,7 +165,7 @@ class Cardextractor extends Base
})
->order('sort desc,id asc')
->select()->toArray();
// array_unshift($category, ['id' => 0, 'title' => '全部', 'pro' => 0]);
// array_unshift($category, ['id' => 0, 'title' => '全部', 'pro' => 0]);
$where = [];
if ($shang_id) {
$where[] = ['shang_id', '=', $shang_id];
@ -220,7 +220,7 @@ class Cardextractor extends Base
->where('goods_id', '=', $goods_id)
->order('sort desc,id asc')
->select()->toArray();
// array_unshift($category, ['id' => 0, 'title' => '全部']);
// array_unshift($category, ['id' => 0, 'title' => '全部']);
$where = [];
if ($shang_id) {
$where[] = ['shang_id', '=', $shang_id];
@ -400,7 +400,7 @@ class Cardextractor extends Base
}
$key_shang_id = $pre_type . '_shang_id';
$key_shang_count = $pre_type . '_shang_count';
if (isset($card_set[$key_shang_id]) && isset($card_set[$key_shang_count])) {
$prize_card_set = json_encode([
'shang_id' => $card_set[$key_shang_id],
@ -442,8 +442,8 @@ class Cardextractor extends Base
}
}
$redis = new \Redis();
$redis->connect('127.0.0.1', 6379);
$redis = (new \app\common\server\RedisHelper())->getRedis();
$redis_key = "kpw_cardextractor_orderbuy" . '_' . $user['id'];
$redis_key_info = $redis->get($redis_key);
if ($redis_key_info) {

View File

@ -63,7 +63,7 @@ class Goods extends Base
$whe[] = ['type', '=', 2];
} elseif ($type_str == 3) {
$whe[] = ['type', '=', 3];
} elseif ($type_str == 5) {
} elseif ($type_str == 5) {
$whe[] = ['type', '=', 5];
} elseif ($type_str == 6) {
$whe[] = ['type', '=', 6];
@ -521,13 +521,13 @@ class Goods extends Base
if ($goods['type'] == 6 && $goods['quanju_xiangou'] > 0) {
//限购
$user_xiangou_count = OrderList::field('id')->where('goods_id', '=', $goods_id)
->where('num', '=', $num)
->where('shang_id', 'between', self::$shang_count_id)
->where('order_type', '=', $goods['type'])
->where('user_id', '=', $user['id'])
->count();
->where('num', '=', $num)
->where('shang_id', 'between', self::$shang_count_id)
->where('order_type', '=', $goods['type'])
->where('user_id', '=', $user['id'])
->count();
//已经达到限购先上限
if($goods['quanju_xiangou']<=$user_xiangou_count){
if ($goods['quanju_xiangou'] <= $user_xiangou_count) {
return $this->renderError('当前箱子限购' . $goods['quanju_xiangou'] . '次');
}
}
@ -859,8 +859,8 @@ class Goods extends Base
$goods_id_num = $goods_id . '_' . $num;
#盒子是否配置锁箱
if ($goods['lock_is'] == 1 && $goods['lock_time'] > 0) {
$redis = new \Redis();
$redis->connect('127.0.0.1', 6379);
$redis = (new \app\common\server\RedisHelper())->getRedis();
$redis_key = "kpw_lock" . '_' . $goods_id_num;
$redis_key_info = $redis->get($redis_key);
if ($redis_key_info) {
@ -925,8 +925,7 @@ class Goods extends Base
}
#一番赏锁箱
$redis = new \Redis();
$redis->connect('127.0.0.1', 6379);
$redis = (new \app\common\server\RedisHelper())->getRedis();
$redis_key = "kpw_orderbuy" . '_' . $user['id'];
$redis_key_info = $redis->get($redis_key);
if ($redis_key_info) {

View File

@ -633,8 +633,7 @@ class Infinite extends Base
$redis = new \Redis();
$redis->connect('127.0.0.1', 6379);
$redis = (new \app\common\server\RedisHelper())->getRedis();
$redis_key = "kpw_infinite_orderbuy" . '_' . $user['id'];
$redis_key_info = $redis->get($redis_key);
if ($redis_key_info) {
@ -790,8 +789,7 @@ class Infinite extends Base
$price = 0;
}
$redis = new \Redis();
$redis->connect('127.0.0.1', 6379);
$redis = (new \app\common\server\RedisHelper())->getRedis();
$redis_key = "kpw_infinite_orderbuy" . '_' . $user['id'];
$redis_key_info = $redis->get($redis_key);
if ($redis_key_info) {
@ -1089,8 +1087,7 @@ class Infinite extends Base
if ($user['draw_num'] == 0 || bccomp("$draw_num", "$prize_num") < 0) {
return $this->renderError("抽奖券不足,无法进行抽奖");
}
$redis = new \Redis();
$redis->connect('127.0.0.1', 6379);
$redis = (new \app\common\server\RedisHelper())->getRedis();
$redis_key = "kpw_infinite_orderbuy_draw" . '_' . $user['id'];
$redis_key_info = $redis->get($redis_key);
if ($redis_key_info) {
@ -1185,8 +1182,7 @@ class Infinite extends Base
return $this->renderError("消费满" . $choujiang_xianzhi . "元可参与 已消费" . round($user_price, 2) . "");
}
}
$redis = new \Redis();
$redis->connect('127.0.0.1', 6379);
$redis = (new \app\common\server\RedisHelper())->getRedis();
$redis_key = "item_card_chou" . '_' . $user['id'];
$redis_key_info = $redis->get($redis_key);
if ($redis_key_info) {

View File

@ -123,8 +123,7 @@ class Mall extends Base
$redis = new \Redis();
$redis->connect('127.0.0.1', 6379);
$redis = (new \app\common\server\RedisHelper())->getRedis();
$redis_key = "kpw_mall_orderbuy" . '_' . $user['id'];
$redis_key_info = $redis->get($redis_key);
if ($redis_key_info) {
@ -260,8 +259,7 @@ class Mall extends Base
$price = 0;
}
$redis = new \Redis();
$redis->connect('127.0.0.1', 6379);
$redis = (new \app\common\server\RedisHelper())->getRedis();
$redis_key = "kpw_infinite_orderbuy" . '_' . $user['id'];
$redis_key_info = $redis->get($redis_key);
if ($redis_key_info) {
@ -559,8 +557,7 @@ class Mall extends Base
if ($user['draw_num'] == 0 || bccomp("$draw_num", "$prize_num") < 0) {
return $this->renderError("抽奖券不足,无法进行抽奖");
}
$redis = new \Redis();
$redis->connect('127.0.0.1', 6379);
$redis = (new \app\common\server\RedisHelper())->getRedis();
$redis_key = "kpw_infinite_orderbuy_draw" . '_' . $user['id'];
$redis_key_info = $redis->get($redis_key);
if ($redis_key_info) {
@ -655,8 +652,7 @@ class Mall extends Base
return $this->renderError("消费满" . $choujiang_xianzhi . "元可参与 已消费" . round($user_price, 2) . "");
}
}
$redis = new \Redis();
$redis->connect('127.0.0.1', 6379);
$redis = (new \app\common\server\RedisHelper())->getRedis();
$redis_key = "item_card_chou" . '_' . $user['id'];
$redis_key_info = $redis->get($redis_key);
if ($redis_key_info) {

View File

@ -481,8 +481,8 @@ class Notify extends Base
#套库存=============================
// $all_stock = GoodsList::field('stock')->where('goods_id', '=', $goods_id)->where('num', '=', $num)
// ->where('shang_id', 'between', self::$shang_prize_id)->sum('stock');
// $redis = new \Redis();
// $redis->connect('127.0.0.1', 6379);
//
// $redis = (new \app\common\server\RedisHelper())->getRedis();
// $redis_key = 'kpw_' . $goods_id . '_' . $num;
// for ($r = 1; $r <= $order['prize_num']; $r++) {
// $redis->lPush($redis_key, 1);
@ -1948,17 +1948,7 @@ class Notify extends Base
{
//微信官方发货
$wxServer = new \app\common\server\Wx($this->app);
// //获取access_token
// $redis = new \Redis();
// $redis->connect('127.0.0.1',6379);
// $weixinpay = getConfig('weixinpay');
// $key = $weixinpay['appid'].'_access_token';
// if(empty($redis->get($key))){
// $access_token = $wxServer->get_access_token();
// $redis->setEx($key,3600,$access_token);
// }else{
// $access_token = $redis->get($key);
// }
$access_token = $wxServer->get_access_token();
$open_id = Db::name('user')->where('id', $user_id)->value('openid');
$wxServer->post_order($open_id, $access_token, $order_num);

View File

@ -522,8 +522,7 @@ class Seckill extends Base
return $this->renderError("规格选择错误");
}
// dd(11);
// $redis = new \Redis();
// $redis->connect('127.0.0.1', 6379);
// $redis = (new \app\common\server\RedisHelper())->getRedis();
// $key = "shop_order_buy".'_'.$goods_id;
// $redis_key_info = $redis->get($key);
// if($redis_key_info){

View File

@ -605,8 +605,7 @@ class Warehouse extends Base
->where('status', '=', 0)
->where('insurance_is', '=', 0)
->sum("goodslist_money");
$redis = new \Redis();
$redis->connect('127.0.0.1', 6379);
$redis = (new \app\common\server\RedisHelper())->getRedis();
$redis_key = "kpw_warehouse_recovery" . '_' . $user['id'];
$redis_key_info = $redis->get($redis_key);
if ($redis_key_info) {
@ -718,8 +717,7 @@ class Warehouse extends Base
}
#发货订单
$send_num = create_order_no('FH_', 'order_list_send', 'send_num');
$redis = new \Redis();
$redis->connect('127.0.0.1', 6379);
$redis = (new \app\common\server\RedisHelper())->getRedis();
$redis_key = "kpw_warehouse_send" . '_' . $user['id'];
$redis_key_info = $redis->get($redis_key);
if ($redis_key_info) {
@ -821,8 +819,7 @@ class Warehouse extends Base
if (!$order_list_id) {
return $this->renderError("请刷新重新选择奖品");
}
$redis = new \Redis();
$redis->connect('127.0.0.1', 6379);
$redis = (new \app\common\server\RedisHelper())->getRedis();
$redis_key = "kpw_warehouse_movein" . '_' . $user['id'];
$redis_key_info = $redis->get($redis_key);
if ($redis_key_info) {
@ -877,8 +874,7 @@ class Warehouse extends Base
if (!$order_list_id) {
return $this->renderError("请刷新重新选择奖品");
}
$redis = new \Redis();
$redis->connect('127.0.0.1', 6379);
$redis = (new \app\common\server\RedisHelper())->getRedis();
$redis_key = "kpw_warehouse_remove" . '_' . $user['id'];
$redis_key_info = $redis->get($redis_key);
if ($redis_key_info) {

View File

@ -2,34 +2,73 @@
namespace app\common\server;
/**
* Class RedisHelper
*
* 这是一个用于操作 Redis 的帮助类,提供了基本的 Redis 操作方法。
*/
class RedisHelper
{
/**
* @var \Redis Redis 实例
*/
private $redis;
public $redis;
/**
* 构造函数,初始化 Redis 连接
*/
public function __construct()
{
$host = getenv('REDIS_HOST') ?: '127.0.0.1';
// $config = include '/../../../config/redis.php'; // 确保路径正确
$port = getenv('REDIS_PORT') ?: 6379;
// 从环境变量中获取 Redis 主机和端口,默认为 127.0.0.1 和 6379
$host = env('redis.host', '127.0.0.1');
$port = env('redis.port', '6379');
// 创建 Redis 实例
$this->redis = new \Redis();
// 连接到 Redis 服务器
$this->connect($host, $port);
}
/**
* 连接到 Redis 服务器
*
* @param string $host Redis 主机地址
* @param int $port Redis 端口
*/
private function connect($host, $port)
{
$this->redis->connect($host, $port);
}
/**
* 获取 Redis 实例
*
* @return \Redis
*/
public function getRedis()
{
return $this->redis;
}
/**
* Redis 中获取指定键的值
*
* @param string $key 键名
* @return mixed 键对应的值
*/
public function get($key)
{
return $this->redis->get($key);
}
public function set($key, $value, $timeout = 0)
/**
* 设置指定键的值,并可选设置过期时间(默认 600 秒)
*
* @param string $key 键名
* @param mixed $value 键值
* @param int $timeout 过期时间(秒)
* @return bool 设置是否成功
*/
public function set($key, $value, $timeout = 600)
{
if ($timeout > 0) {
return $this->redis->setex($key, $timeout, $value);
@ -37,19 +76,37 @@ class RedisHelper
return $this->redis->set($key, $value);
}
/**
* 删除指定键
*
* @param string $key 键名
* @return int 被删除的键的数量
*/
public function delete($key)
{
return $this->redis->del($key);
}
/**
* 检查指定键是否存在
*
* @param string $key 键名
* @return bool 键是否存在
*/
public function exists($key)
{
return $this->redis->exists($key);
}
/**
* 设置指定键的过期时间
*
* @param string $key 键名
* @param int $timeout 过期时间(秒)
* @return bool 设置是否成功
*/
public function expire($key, $timeout)
{
return $this->redis->expire($key, $timeout);
}
}

View File

@ -2,13 +2,13 @@
namespace app\common\server;
use app\MyController;
class RedisLock extends MyController{
class RedisLock extends MyController
{
private $_redis;
public function initialize(){
$this->_redis = new \Redis();
$this->_redis->connect('127.0.0.1',6379);
public function initialize()
{
$_redis = (new \app\common\server\RedisHelper())->getRedis();
}
/**
@ -17,20 +17,21 @@ class RedisLock extends MyController{
* @param Int $expire 锁过期时间
* @return Boolean
*/
public function lock($key, $expire=5){
$is_lock = $this->_redis->setnx($key, time()+$expire);
public function lock($key, $expire = 5)
{
$is_lock = $this->_redis->setnx($key, time() + $expire);
// 不能获取锁
if(!$is_lock){
if (!$is_lock) {
// 判断锁是否过期
$lock_time = $this->_redis->get($key);
// 锁已过期,删除锁,重新获取
if(time()>$lock_time){
if (time() > $lock_time) {
$this->unlock($key);
$is_lock = $this->_redis->setnx($key, time()+$expire);
$is_lock = $this->_redis->setnx($key, time() + $expire);
}
}
return $is_lock? true : false;
return $is_lock ? true : false;
}
@ -39,7 +40,8 @@ class RedisLock extends MyController{
* @param String $key 锁标识
* @return Boolean
*/
public function unlock($key){
public function unlock($key)
{
return $this->_redis->del($key);
}

View File

@ -171,8 +171,7 @@ class Wx extends MyController
*/
public function get_access_token()
{
$redis = new \Redis();
$redis->connect('127.0.0.1', 6379);
$redis = (new \app\common\server\RedisHelper())->getRedis();
$redis_key = 'wx_access_token';
$access_token_info = $redis->get($redis_key);

View File

@ -1,8 +0,0 @@
<?php
return [
// 默认使用的数据库连接配置
'host' => env('redis.host', '127.0.0.1'),
'port' => env('redis.port', 6379),
'password' => env('redis.password', ''),
];