package guser import ( "fmt" "server/call" "server/common" "server/db" "server/modules/backend/values" "server/modules/customer/app" "github.com/gin-gonic/gin" "github.com/liangdas/mqant/log" ) // 将用户相关信息拉入黑名单 func AddUserBlackList(c *gin.Context) { a := app.NewApp(c) defer func() { a.Response() }() req := new(values.AddUserBlackListReq) if !a.S(req) { return } user, err := call.GetUserInfo(req.UID) if err != nil { log.Error("err:%v", err) a.Code = values.CodeRetry return } list := []common.RechargeOrder{} db.Mysql().QueryList(0, 20, fmt.Sprintf("uid = %v and event = %v", user.Id, common.CurrencyEventWithDraw), "", common.RechargeOrder{}, &list) banAccounts := map[string]struct{}{} for _, v := range list { info := common.WithdrawCommon{} json.Unmarshal([]byte(v.PayAccount), &info) acc := "" if info.PayType == common.PayTypeBank { if info.BankCardNo != "" { acc = info.BankCardNo } } else if info.PayType == common.PayTypeUPI { if info.BankCode != "" { acc = info.BankCode } } if acc == "" { continue } if _, ok := banAccounts[acc]; !ok { banAccounts[acc] = struct{}{} } } if len(banAccounts) == 0 { black := &common.BlackList{ Phone: user.Mobile, IP: user.IP, } if user.DeviceId != "00000000-0000-0000-0000-000000000000" { black.DeviceID = user.DeviceId } err := db.Mysql().Create(black) if err != nil { log.Error("err:%v", err) a.Code = values.CodeParam a.Msg = "该用户信息已在黑名单里" } } else { for k := range banAccounts { black := &common.BlackList{ Phone: user.Mobile, IP: user.IP, PayAccount: k, } if user.DeviceId != "00000000-0000-0000-0000-000000000000" { black.DeviceID = user.DeviceId } err := db.Mysql().Create(black) if err != nil { log.Error("err:%v", err) a.Code = values.CodeParam a.Msg = "该用户信息已在黑名单里" } } } }