Commit a5739cf1 by 杨树贤

完善并且修复添加流水的异步任务

parent 95e814ff
......@@ -38,7 +38,7 @@ class IntegralBillsController extends Controller
* @param IntegralBill $integralBill
* @return array
*/
public function create(Request $request, IntegralBill $integralBill)
public function store(Request $request, IntegralBill $integralBill)
{
$data = [
'user_id' => $request->user_id,
......
......@@ -6,6 +6,8 @@ namespace App\Models;
use App\Http\Filters\IntegralBillFilter;
use App\Http\Filters\QueryFilter;
use App\Tasks\IntegralBillTask;
use Hhxsv5\LaravelS\Swoole\Task\Task;
use http\Env\Request;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\DB;
......@@ -47,6 +49,15 @@ class IntegralBill extends Model
$res = DB::table('integral_bills')->insert($data);
return $res;
// public function addIntegralBill($userId,$integralId)
// {
// $task = new IntegralBillTask($data);
// $result = Task::deliver($task);
// if (!$result) {
// return false;
// }
// }
}
//更新用户红包兑换列表
......
......@@ -22,6 +22,13 @@ class UserIntegral extends Model
return $filters->apply($query);
}
public function addUserIntegral($data = [])
{
$result = DB::table('user_integrals')->insert($data);
return $result;
}
public function getUserIntegralList($page, $pageSize, $filter)
{
$settings = UserIntegral::filter($filter)
......
......@@ -40,16 +40,31 @@ class IntegralBillTask extends Task
throw new \Exception("插入用户红包账单失败,用户id是$userId,兑换类型id是$integralId");
}
//先判断user_integrals表里面存不存在这条记录,如果不存在的话,要初始化一条记录
$userIntegral = new UserIntegral();
$data = (array)$userIntegral->getUserIntegral($userId);
if ($data) {
if (!$data) {
$data = [
'user_id' => $userId,
'status' => 1,
'add_time' => $this->data['add_time'],
];
$result = $userIntegral->addUserIntegral($data);
if (!$result) {
throw new \Exception("初始化用户红包详情失败,用户id是$userId");
}
}
//将用户的累计可兑换金额写进redis里面的ic_user里面去
$integral = new Integral();
$res = $integral->getIntegral($integralId);
if (!$res) {
throw new \Exception("获取红包信息失败,红包id是$integralId");
}
$amount = $res->amount;
$redis = new RedisModel();
$user = json_decode($redis->hget('ic_user', $userId), true);
$data = (array)$userIntegral->getUserIntegral($userId);
$user['integral'] = $data['integral'] + $amount;
$result = $redis->hset('ic_user', $userId, json_encode($user));
//还要写进user_integrals数据库
......@@ -65,7 +80,6 @@ class IntegralBillTask extends Task
} else {
throw new \Exception("更新redis里ic_user的integral失败,用户id是$userId,兑换类型id是$integralId");
}
}
});
} catch (\Exception $e) {
//抛出致命错误日志
......
......@@ -19,7 +19,7 @@ $router->get('/key', function () {
return str_random(32);
});
//积分信息
//红包信息
$router->post('/integrals/list', 'IntegralsController@index');
$router->post('/integrals/info', 'IntegralsController@show');
$router->post('/integrals/add', 'IntegralsController@create');
......@@ -28,20 +28,13 @@ $router->post('/integrals/updateStatus', 'IntegralsController@updateStatus');
$router->post('/integrals/delete', 'IntegralsController@destroy');
$router->post('/integrals/batchUpdateStatus', 'IntegralsController@batchUpdateStatus');
//积分类型
$router->post('/integral_types/list', 'IntegralTypesController@index');
$router->post('/integral_types/add', 'IntegralTypesController@create');
$router->post('/integral_types/update', 'IntegralTypesController@update');
$router->post('/integral_types/delete', 'IntegralTypesController@destroy');
//用户积分账单
//用户红包流水
$router->post('/integral_bills/list', 'IntegralBillsController@index');
$router->post('/integral_bills/add', 'IntegralBillsController@create');
$router->post('/integral_bills/add', 'IntegralBillsController@store');
$router->post('/integral_bills/update', 'IntegralBillsController@update');
$router->post('/integral_bills/delete', 'IntegralBillsController@destroy');
//用户积分信息
//用户红包信息
$router->post('/user_integrals/info', 'UserIntegralsController@show');
$router->post('/user_integrals/list', 'UserIntegralsController@index');
$router->post('/user_integrals/updateStatus', 'UserIntegralsController@updateStatus');
......@@ -49,8 +42,6 @@ $router->post('/user_integrals/batchUpdateStatus', 'UserIntegralsController@batc
$router->post('/user_integrals/updateExchangedIntegral', 'UserIntegralsController@updateExchangedIntegral');
$router->post('/user_integrals/statistics', 'UserIntegralsController@statistics');
//兑换配置
$router->post('/exchange_settings/info', 'ExchangeSettingsController@show');
$router->post('/exchange_settings/list', 'ExchangeSettingsController@index');
......@@ -74,3 +65,4 @@ $router->post('/rob/exchange/quota', 'ExchangeController@create');
//用户签到
$router->post('/check_in/list','CheckInController@index');
$router->post('/check_in/add','CheckInController@store');
{"server":{"listen_ip":"0.0.0.0","listen_port":"61009","socket_type":1,"enable_coroutine_runtime":false,"server":"LaravelS","handle_static":false,"laravel_base_path":"/home/vagrant/code/ic_server_welfare","inotify_reload":{"enable":false,"watch_path":"/home/vagrant/code/ic_server_welfare","file_types":[".php"],"excluded_dirs":[],"log":true},"event_handlers":[],"websocket":{"enable":false},"sockets":[],"processes":[],"timer":{"enable":false,"jobs":[],"max_wait_time":5},"events":[],"swoole_tables":[],"register_providers":[],"cleaners":[],"destroy_controllers":{"enable":false,"excluded_list":[]},"swoole":{"daemonize":true,"dispatch_mode":2,"reactor_num":2,"worker_num":2,"task_worker_num":2,"task_ipc_mode":1,"task_max_request":8000,"task_tmpdir":"/dev/shm","max_request":8000,"open_tcp_nodelay":true,"pid_file":"/home/vagrant/code/ic_server_welfare/storage/laravels.pid","log_file":"/home/vagrant/code/ic_server_welfare/storage/logs/swoole-2019-08.log","log_level":4,"document_root":"/home/vagrant/code/ic_server_welfare/public","buffer_output_size":2097152,"socket_buffer_size":134217728,"package_max_length":4194304,"reload_async":true,"max_wait_time":60,"enable_reuse_port":true,"enable_coroutine":false,"http_compression":false},"enable_gzip":false,"process_prefix":"/home/vagrant/code/ic_server_welfare","ignore_check_pid":false},"laravel":{"root_path":"/home/vagrant/code/ic_server_welfare","static_path":"/home/vagrant/code/ic_server_welfare/public","cleaners":[],"register_providers":[],"destroy_controllers":{"enable":false,"excluded_list":[]},"is_lumen":true,"_SERVER":{"LESSOPEN":"| /usr/bin/lesspipe %s","MAIL":"/var/mail/vagrant","USER":"vagrant","SSH_CLIENT":"10.0.2.2 50246 22","LANGUAGE":"en_US:","SHLVL":"1","HOME":"/home/vagrant","OLDPWD":"/home/vagrant/code","SSH_TTY":"/dev/pts/0","LOGNAME":"vagrant","_":"/usr/bin/php","XDG_SESSION_ID":"5","TERM":"cygwin","RBENV_SHELL":"bash","PATH":"/home/vagrant/.composer/vendor/bin:/usr/local/go/bin:/home/vagrant/.rbenv/plugins/ruby-build/bin:/home/vagrant/.rbenv/shims:/home/vagrant/.rbenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/vagrant/.dotnet/tools","S_COLORS":"auto","XDG_RUNTIME_DIR":"/run/user/1000","LANG":"en_US.UTF-8","LS_COLORS":"rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:","SHELL":"/bin/bash","LESSCLOSE":"/usr/bin/lesspipe %s %s","LC_ALL":"en_US.UTF-8","PWD":"/home/vagrant/code/ic_server_welfare","SSH_CONNECTION":"10.0.2.2 50246 10.0.2.15 22","XDG_DATA_DIRS":"/usr/local/share:/usr/share:/var/lib/snapd/desktop","PHP_SELF":"/home/vagrant/code/ic_server_welfare/artisan","SCRIPT_NAME":"/home/vagrant/code/ic_server_welfare/artisan","SCRIPT_FILENAME":"/home/vagrant/code/ic_server_welfare/artisan","PATH_TRANSLATED":"/home/vagrant/code/ic_server_welfare/artisan","DOCUMENT_ROOT":"","REQUEST_TIME_FLOAT":1566628404.935304,"REQUEST_TIME":1566628404,"argv":["/home/vagrant/code/ic_server_welfare/artisan","laravels","config","--daemonize"],"argc":4,"APP_ENV":"local","APP_DEBUG":"true","APP_KEY":"0uUBt7t4fFIttyqkyLxDhLC7gn9361Yt","APP_TIMEZONE":"PRC","DB_CONNECTION":"mysql","DB_HOST":"192.168.2.232","DB_PORT":"3306","DB_DATABASE":"ic_welfare","DB_USERNAME":"ic_welfare","DB_PASSWORD":"ic_welfare#zsyM","DB_PREFIX":"ic_","CACHE_DRIVER":"file","QUEUE_DRIVER":"sync","SYSTEM_CODE":"09","SYSTEM_NAME":"IC业务助手福利中心服务","LARAVELS_LISTEN_IP":"0.0.0.0","LARAVELS_LISTEN_PORT":"61009","REDIS_HOST":"192.168.1.235","REDIS_PASSWORD":"icDb29mLy2s","REDIS_PORT":"6379","REDIS_READ_HOST":"192.168.1.235","REDIS_READ_PASSWORD":"icDb29mLy2s","REDIS_READ_PORT":"6379","SHELL_VERBOSITY":0},"_ENV":{"APP_ENV":"local","APP_DEBUG":"true","APP_KEY":"0uUBt7t4fFIttyqkyLxDhLC7gn9361Yt","APP_TIMEZONE":"PRC","DB_CONNECTION":"mysql","DB_HOST":"192.168.2.232","DB_PORT":"3306","DB_DATABASE":"ic_welfare","DB_USERNAME":"ic_welfare","DB_PASSWORD":"ic_welfare#zsyM","DB_PREFIX":"ic_","CACHE_DRIVER":"file","QUEUE_DRIVER":"sync","SYSTEM_CODE":"09","SYSTEM_NAME":"IC业务助手福利中心服务","LARAVELS_LISTEN_IP":"0.0.0.0","LARAVELS_LISTEN_PORT":"61009","REDIS_HOST":"192.168.1.235","REDIS_PASSWORD":"icDb29mLy2s","REDIS_PORT":"6379","REDIS_READ_HOST":"192.168.1.235","REDIS_READ_PASSWORD":"icDb29mLy2s","REDIS_READ_PORT":"6379","SHELL_VERBOSITY":0}}}
\ No newline at end of file
{"server":{"listen_ip":"0.0.0.0","listen_port":"61009","socket_type":1,"enable_coroutine_runtime":false,"server":"LaravelS","handle_static":false,"laravel_base_path":"/home/vagrant/code/ic_server_welfare","inotify_reload":{"enable":false,"watch_path":"/home/vagrant/code/ic_server_welfare","file_types":[".php"],"excluded_dirs":[],"log":true},"event_handlers":[],"websocket":{"enable":false},"sockets":[],"processes":[],"timer":{"enable":true,"jobs":["Hhxsv5\\LaravelS\\Illuminate\\LaravelScheduleJob"],"max_wait_time":5},"events":[],"swoole_tables":[],"register_providers":[],"cleaners":[],"destroy_controllers":{"enable":false,"excluded_list":[]},"swoole":{"daemonize":true,"dispatch_mode":2,"reactor_num":2,"worker_num":2,"task_worker_num":2,"task_ipc_mode":1,"task_max_request":8000,"task_tmpdir":"/dev/shm","max_request":8000,"open_tcp_nodelay":true,"pid_file":"/home/vagrant/code/ic_server_welfare/storage/laravels.pid","log_file":"/home/vagrant/code/ic_server_welfare/storage/logs/swoole-2019-08.log","log_level":4,"document_root":"/home/vagrant/code/ic_server_welfare/public","buffer_output_size":2097152,"socket_buffer_size":134217728,"package_max_length":4194304,"reload_async":true,"max_wait_time":60,"enable_reuse_port":true,"enable_coroutine":false,"http_compression":false},"enable_gzip":false,"process_prefix":"/home/vagrant/code/ic_server_welfare","ignore_check_pid":false},"laravel":{"root_path":"/home/vagrant/code/ic_server_welfare","static_path":"/home/vagrant/code/ic_server_welfare/public","cleaners":[],"register_providers":[],"destroy_controllers":{"enable":false,"excluded_list":[]},"is_lumen":true,"_SERVER":{"LESSOPEN":"| /usr/bin/lesspipe %s","MAIL":"/var/mail/vagrant","USER":"vagrant","SSH_CLIENT":"10.0.2.2 50246 22","LANGUAGE":"en_US:","SHLVL":"1","HOME":"/home/vagrant","OLDPWD":"/home/vagrant/code","SSH_TTY":"/dev/pts/0","LOGNAME":"vagrant","_":"/usr/bin/php","XDG_SESSION_ID":"5","TERM":"cygwin","RBENV_SHELL":"bash","PATH":"/home/vagrant/.composer/vendor/bin:/usr/local/go/bin:/home/vagrant/.rbenv/plugins/ruby-build/bin:/home/vagrant/.rbenv/shims:/home/vagrant/.rbenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/vagrant/.dotnet/tools","S_COLORS":"auto","XDG_RUNTIME_DIR":"/run/user/1000","LANG":"en_US.UTF-8","LS_COLORS":"rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:","SHELL":"/bin/bash","LESSCLOSE":"/usr/bin/lesspipe %s %s","LC_ALL":"en_US.UTF-8","PWD":"/home/vagrant/code/ic_server_welfare","SSH_CONNECTION":"10.0.2.2 50246 10.0.2.15 22","XDG_DATA_DIRS":"/usr/local/share:/usr/share:/var/lib/snapd/desktop","PHP_SELF":"/home/vagrant/code/ic_server_welfare/artisan","SCRIPT_NAME":"/home/vagrant/code/ic_server_welfare/artisan","SCRIPT_FILENAME":"/home/vagrant/code/ic_server_welfare/artisan","PATH_TRANSLATED":"/home/vagrant/code/ic_server_welfare/artisan","DOCUMENT_ROOT":"","REQUEST_TIME_FLOAT":1566783856.185851,"REQUEST_TIME":1566783856,"argv":["/home/vagrant/code/ic_server_welfare/artisan","laravels","config","--daemonize"],"argc":4,"APP_ENV":"local","APP_DEBUG":"true","APP_KEY":"0uUBt7t4fFIttyqkyLxDhLC7gn9361Yt","APP_TIMEZONE":"PRC","DB_CONNECTION":"mysql","DB_HOST":"192.168.2.232","DB_PORT":"3306","DB_DATABASE":"ic_welfare","DB_USERNAME":"ic_welfare","DB_PASSWORD":"ic_welfare#zsyM","DB_PREFIX":"ic_","CACHE_DRIVER":"file","QUEUE_DRIVER":"sync","SYSTEM_CODE":"09","SYSTEM_NAME":"IC业务助手福利中心服务","LARAVELS_LISTEN_IP":"0.0.0.0","LARAVELS_LISTEN_PORT":"61009","REDIS_HOST":"192.168.1.235","REDIS_PASSWORD":"icDb29mLy2s","REDIS_PORT":"6379","REDIS_READ_HOST":"192.168.1.235","REDIS_READ_PASSWORD":"icDb29mLy2s","REDIS_READ_PORT":"6379","SHELL_VERBOSITY":0},"_ENV":{"APP_ENV":"local","APP_DEBUG":"true","APP_KEY":"0uUBt7t4fFIttyqkyLxDhLC7gn9361Yt","APP_TIMEZONE":"PRC","DB_CONNECTION":"mysql","DB_HOST":"192.168.2.232","DB_PORT":"3306","DB_DATABASE":"ic_welfare","DB_USERNAME":"ic_welfare","DB_PASSWORD":"ic_welfare#zsyM","DB_PREFIX":"ic_","CACHE_DRIVER":"file","QUEUE_DRIVER":"sync","SYSTEM_CODE":"09","SYSTEM_NAME":"IC业务助手福利中心服务","LARAVELS_LISTEN_IP":"0.0.0.0","LARAVELS_LISTEN_PORT":"61009","REDIS_HOST":"192.168.1.235","REDIS_PASSWORD":"icDb29mLy2s","REDIS_PORT":"6379","REDIS_READ_HOST":"192.168.1.235","REDIS_READ_PASSWORD":"icDb29mLy2s","REDIS_READ_PORT":"6379","SHELL_VERBOSITY":0}}}
\ No newline at end of file
23914
\ No newline at end of file
478
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment