Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] 已激活实际时长没更新 #1879

Closed
34556676 opened this issue Apr 1, 2023 · 12 comments
Closed

[BUG] 已激活实际时长没更新 #1879

34556676 opened this issue Apr 1, 2023 · 12 comments

Comments

@34556676
Copy link

34556676 commented Apr 1, 2023

Environment 环境

OS:
PHP version:
DB version:
Commit:

Bug Info

前端时间就出现过这个情况,不知道是不是刚升级导致的。定时任务查看执行都是successful,已激活就是没有实际更新等级时间。

@AutisticShark
Copy link
Contributor

不如你貼一下你的產品到底是怎麽設置的,不然是沒有辦法復現你説的問題。

@34556676
Copy link
Author

34556676 commented Apr 1, 2023

PHP Fatal error: Uncaught PDOException: SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect integer value: '' for column sspanel.user.node_group at row 1 in /www/wwwroot/sspanel/vendor/illuminate/database/Connection.php:570
Stack trace:
#0 /www/wwwroot/sspanel/vendor/illuminate/database/Connection.php(570): PDOStatement->execute()
#1 /www/wwwroot/sspanel/vendor/illuminate/database/Connection.php(753): Illuminate\Database\Connection->Illuminate\Database{closure}()
#2 /www/wwwroot/sspanel/vendor/illuminate/database/Connection.php(720): Illuminate\Database\Connection->runQueryCallback()
#3 /www/wwwroot/sspanel/vendor/illuminate/database/Connection.php(558): Illuminate\Database\Connection->run()
#4 /www/wwwroot/sspanel/vendor/illuminate/database/Connection.php(510): Illuminate\Database\Connection->affectingStatement()
#5 /www/wwwroot/sspanel/vendor/illuminate/database/Query/Builder.php(3356): Illuminate\Database\Connection->update()
#6 /www/wwwroot/sspanel/vendor/illuminate/database/Eloquent/Builder.php(1011): Illuminate\Database\Query\Builder->update()
#7 /www/wwwroot/sspanel/vendor/illuminate/database/Eloquent/Model.php(1214): Illuminate\Database\Eloquent\Builder->update()
#8 /www/wwwroot/sspanel/vendor/illuminate/database/Eloquent/Model.php(1131): Illuminate\Database\Eloquent\Model->performUpdate()
#9 /www/wwwroot/sspanel/src/Command/Cron.php(87): Illuminate\Database\Eloquent\Model->save()
#10 /www/wwwroot/sspanel/xcat(51): App\Command\Cron->boot()
#11 {main}

Next Illuminate\Database\QueryException: SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect integer value: '' for column sspanel.user.node_group at row 1 (SQL: update user set transfer_enable = 13194139533312, node_speedlimit = 50, node_iplimit = 3, class = 2, class_expire = 2024-03-31 21:27:01, expire_in = 2024-03-31 21:27:01, node_group = where id = 40) in /www/wwwroot/sspanel/vendor/illuminate/database/Connection.php:760
Stack trace:
#0 /www/wwwroot/sspanel/vendor/illuminate/database/Connection.php(720): Illuminate\Database\Connection->runQueryCallback()
#1 /www/wwwroot/sspanel/vendor/illuminate/database/Connection.php(558): Illuminate\Database\Connection->run()
#2 /www/wwwroot/sspanel/vendor/illuminate/database/Connection.php(510): Illuminate\Database\Connection->affectingStatement()
#3 /www/wwwroot/sspanel/vendor/illuminate/database/Query/Builder.php(3356): Illuminate\Database\Connection->update()
#4 /www/wwwroot/sspanel/vendor/illuminate/database/Eloquent/Builder.php(1011): Illuminate\Database\Query\Builder->update()
#5 /www/wwwroot/sspanel/vendor/illuminate/database/Eloquent/Model.php(1214): Illuminate\Database\Eloquent\Builder->update()
#6 /www/wwwroot/sspanel/vendor/illuminate/database/Eloquent/Model.php(1131): Illuminate\Database\Eloquent\Model->performUpdate()
#7 /www/wwwroot/sspanel/src/Command/Cron.php(87): Illuminate\Database\Eloquent\Model->save()
#8 /www/wwwroot/sspanel/xcat(51): App\Command\Cron->boot()
#9 {main}
thrown in /www/wwwroot/sspanel/vendor/illuminate/database/Connection.php on line 760

@34556676
Copy link
Author

34556676 commented Apr 1, 2023

@34556676
Copy link
Author

34556676 commented Apr 1, 2023

@34556676
Copy link
Author

34556676 commented Apr 2, 2023

紧急求助啊

@77-QiQi
Copy link
Contributor

77-QiQi commented Apr 2, 2023

紧急求助啊

Environment 环境

OS:
PHP version:
DB version:
Commit:

Bug Info

Describe the issue you run into. 请描述你遇到的问题。

@34556676
Copy link
Author

34556676 commented Apr 2, 2023

Centos7.9
Php8.2
Mariadb10.6

@34556676
Copy link
Author

34556676 commented Apr 3, 2023

咋说

@lmfcc
Copy link

lmfcc commented Apr 3, 2023

https://www.myclash.xyz/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202023-04-01%20213707.png

PHP Fatal error: Uncaught PDOException: SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect integer value: '' for column sspanel.user.node_group at row 1 in /www/wwwroot/sspanel/vendor/illuminate/database/Connection.php:570 Stack trace: #0 /www/wwwroot/sspanel/vendor/illuminate/database/Connection.php(570): PDOStatement->execute() #1 /www/wwwroot/sspanel/vendor/illuminate/database/Connection.php(753): Illuminate\Database\Connection->Illuminate\Database{closure}() #2 /www/wwwroot/sspanel/vendor/illuminate/database/Connection.php(720): Illuminate\Database\Connection->runQueryCallback() #3 /www/wwwroot/sspanel/vendor/illuminate/database/Connection.php(558): Illuminate\Database\Connection->run() #4 /www/wwwroot/sspanel/vendor/illuminate/database/Connection.php(510): Illuminate\Database\Connection->affectingStatement() #5 /www/wwwroot/sspanel/vendor/illuminate/database/Query/Builder.php(3356): Illuminate\Database\Connection->update() #6 /www/wwwroot/sspanel/vendor/illuminate/database/Eloquent/Builder.php(1011): Illuminate\Database\Query\Builder->update() #7 /www/wwwroot/sspanel/vendor/illuminate/database/Eloquent/Model.php(1214): Illuminate\Database\Eloquent\Builder->update() #8 /www/wwwroot/sspanel/vendor/illuminate/database/Eloquent/Model.php(1131): Illuminate\Database\Eloquent\Model->performUpdate() #9 /www/wwwroot/sspanel/src/Command/Cron.php(87): Illuminate\Database\Eloquent\Model->save() #10 /www/wwwroot/sspanel/xcat(51): App\Command\Cron->boot() #11 {main}

Next Illuminate\Database\QueryException: SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect integer value: '' for column sspanel.user.node_group at row 1 (SQL: update user set transfer_enable = 13194139533312, node_speedlimit = 50, node_iplimit = 3, class = 2, class_expire = 2024-03-31 21:27:01, expire_in = 2024-03-31 21:27:01, node_group = where id = 40) in /www/wwwroot/sspanel/vendor/illuminate/database/Connection.php:760 Stack trace: #0 /www/wwwroot/sspanel/vendor/illuminate/database/Connection.php(720): Illuminate\Database\Connection->runQueryCallback() #1 /www/wwwroot/sspanel/vendor/illuminate/database/Connection.php(558): Illuminate\Database\Connection->run() #2 /www/wwwroot/sspanel/vendor/illuminate/database/Connection.php(510): Illuminate\Database\Connection->affectingStatement() #3 /www/wwwroot/sspanel/vendor/illuminate/database/Query/Builder.php(3356): Illuminate\Database\Connection->update() #4 /www/wwwroot/sspanel/vendor/illuminate/database/Eloquent/Builder.php(1011): Illuminate\Database\Query\Builder->update() #5 /www/wwwroot/sspanel/vendor/illuminate/database/Eloquent/Model.php(1214): Illuminate\Database\Eloquent\Builder->update() #6 /www/wwwroot/sspanel/vendor/illuminate/database/Eloquent/Model.php(1131): Illuminate\Database\Eloquent\Model->performUpdate() #7 /www/wwwroot/sspanel/src/Command/Cron.php(87): Illuminate\Database\Eloquent\Model->save() #8 /www/wwwroot/sspanel/xcat(51): App\Command\Cron->boot() #9 {main} thrown in /www/wwwroot/sspanel/vendor/illuminate/database/Connection.php on line 760

商品内容的用户分组如果不设组的要填0,不然会报错,你这个应该是之前面板前后端没有判断必填或空值造成写入数据库的product表商品content里的"node_group":"",造成获取时为空。
*目前最新dev应该在后端add时有判断获取空值时,自动设定为0。(Commit: d7b3bb4

你试下修改商品内容的用户分组为0,如果没有order状态是等待激活的,新增或找笔订单在数据库order状态status先手工改回pending_activation,再到ssp目录手动执行php xcat Cron看下有没有抛错,没抛错看下订单的用户相关内容有没有变动。

  • 因为Cron执行原理是先检查账单支付状态,支付的标记订单为等待激活,待支付的判断有没有超时,有超时就取消,之后在等待激活的订单中去判断user有多少已激活的订单,没有已激活的订单就去找等待激活的订单,找最早的激活,激活过程中有写入user的node group,这个在数据库user的表内是不能为空,如果为空会抛错。估计你在这处抛错了,所以没有走save到user表。

*Cron这处建议应该写个throw会比较严谨点,如果抛错了,没有save上,order就不打上activated、update和echo 已激活

AutisticShark added a commit to The-NeXT-Project/NeXT-Panel that referenced this issue Apr 3, 2023
Anankke/SSPanel-UIM#1879

I can't believe I have to spend time on this stupid "problem".
@AutisticShark
Copy link
Contributor

*Cron这处建议应该写个throw会比较严谨点,如果抛错了,没有save上,order就不打上activated、update和echo 已激活

This has been implemented along with a better input check.

@34556676
Copy link
Author

34556676 commented Apr 4, 2023

我手动修改了product表里面的content字段当中的json数据为"node_group":"0" 。现在定时任务没有报错,问题卡在订单一直处于等待激活状态,不激活。

@34556676
Copy link
Author

34556676 commented Apr 4, 2023

我新注册个账户就可以,之前那个账户手动设置等级过期,订单就一直处于等待激活,不会激活,如果是订单购买自然过期的就没问题。

AutisticShark added a commit that referenced this issue Jul 10, 2023
#1879

I can't believe I have to spend time on this stupid "problem".
AutisticShark added a commit that referenced this issue Jul 10, 2023
#1879

I can't believe I have to spend time on this stupid "problem".
AutisticShark added a commit that referenced this issue Jul 10, 2023
#1879

I can't believe I have to spend time on this stupid "problem".
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants