Skip to content

Commit 31b7017

Browse files
author
vatebur
authored
fix(wallet): 修复钱包余额判断逻辑 (#957)
- ”管理钱包余额“里的amount变量带符号 - “钱包转账”里的amount变量不带符号
1 parent 5d2898b commit 31b7017

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1311,7 +1311,7 @@ print("run[CQ:image,file="+j["img"]+"]")
13111311

13121312
- [x] 管理钱包余额[+金额|-金额][@xxx]
13131313

1314-
- [x] 查看我的钱包|查询钱包余额[@xxx]
1314+
- [x] 查看我的钱包|查看钱包余额[@xxx]
13151315

13161316
- [x] 钱包转账[金额][@xxx]
13171317

plugin/wallet/wallet.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ func init() {
2929
Help: "- 查看钱包排名\n" +
3030
"- 设置硬币名称XX\n" +
3131
"- 管理钱包余额[+金额|-金额][@xxx]\n" +
32-
"- 查看我的钱包|查询钱包余额[@xxx]\n" +
32+
"- 查看我的钱包|查看钱包余额[@xxx]\n" +
3333
"- 钱包转账[金额][@xxx]\n" +
3434
"注:仅超级用户能“管理钱包余额”\n",
3535
PrivateDataFolder: "wallet",
@@ -177,8 +177,8 @@ func init() {
177177
ctx.SendChain(message.Reply(ctx.Event.MessageID), message.Text("QQ号处理失败"))
178178
return
179179
}
180-
if amount < wallet.GetWalletOf(uidInt) {
181-
ctx.SendChain(message.Text("管理失败:对方钱包余额不足,扣款失败:"))
180+
if amount+wallet.GetWalletOf(uidInt) < 0 {
181+
ctx.SendChain(message.Text("管理失败:对方钱包余额不足,扣款失败"))
182182
return
183183
}
184184
err = wallet.InsertWalletOf(uidInt, amount)
@@ -190,7 +190,7 @@ func init() {
190190
})
191191

192192
// 保留用户习惯,兼容旧语法“查看我的钱包”
193-
en.OnPrefixGroup([]string{`查询钱包余额`, `查看我的钱包`}).SetBlock(true).Limit(ctxext.LimitByGroup).
193+
en.OnPrefixGroup([]string{`查看钱包余额`, `查看我的钱包`}).SetBlock(true).Limit(ctxext.LimitByGroup).
194194
Handle(func(ctx *zero.Ctx) {
195195
param := ctx.State["args"].(string)
196196
var uidStr string
@@ -212,8 +212,8 @@ func init() {
212212
Handle(func(ctx *zero.Ctx) {
213213
param := strings.TrimSpace(ctx.State["args"].(string))
214214

215-
// 捕获修改的金额
216-
re := regexp.MustCompile(`^[+-]?\d+$`)
215+
// 捕获修改的金额,amount扣款金额恒正(要注意符号)
216+
re := regexp.MustCompile(`^[+]?\d+$`)
217217
amount, err := strconv.Atoi(re.FindString(param))
218218
if err != nil || amount <= 0 {
219219
ctx.SendChain(message.Reply(ctx.Event.MessageID), message.Text("输入额异常,请检查金额或at是否正常"))

0 commit comments

Comments
 (0)