add sqs
This commit is contained in:
parent
f8f7fd76e4
commit
27e1cc91fd
@ -19,6 +19,7 @@ import (
|
||||
"github.com/aws/aws-sdk-go/aws/session"
|
||||
"github.com/aws/aws-sdk-go/service/sqs"
|
||||
"go.uber.org/zap"
|
||||
"gorm.io/datatypes"
|
||||
)
|
||||
|
||||
func ProcessSqsMessage() {
|
||||
@ -252,6 +253,56 @@ func processMessage(svc *sqs.SQS, queueURL string, msg *sqs.Message) {
|
||||
global.GVA_LOG.Info("Processing SqsActionSaveBonus", zap.String("msgId", msgId))
|
||||
} else if sqsMessage.Action == awssqs.SqsActionGenDepositDailyClaim {
|
||||
global.GVA_LOG.Info("Processing SqsActionGenDepositDailyClaim", zap.String("msgId", msgId))
|
||||
} else if sqsMessage.Action == awssqs.SqsActionUserBehaviorRegister ||
|
||||
sqsMessage.Action == awssqs.SqsActionUserBehaviorLogin ||
|
||||
sqsMessage.Action == awssqs.SqsActionUserBehaviorEditPassword ||
|
||||
sqsMessage.Action == awssqs.SqsActionUserBehaviorEditPayPassword ||
|
||||
sqsMessage.Action == awssqs.SqsActionUserBehaviorUpdateWallet {
|
||||
|
||||
global.GVA_LOG.Info("Processing SqsActionUserBehavior", zap.String("msgId", msgId), zap.String("action", sqsMessage.Action.GetName()))
|
||||
var req awssqs.SqsActionUserBehaviorContent
|
||||
err = json.Unmarshal([]byte(sqsMessage.Content), &req)
|
||||
if err != nil {
|
||||
processErr = err
|
||||
} else {
|
||||
log := awssqs.SqsUserBehaviorLog{
|
||||
ActionId: int32(sqsMessage.Action),
|
||||
Userno: req.Userno,
|
||||
Ip: req.Ip,
|
||||
Phone: req.Phone,
|
||||
}
|
||||
if req.Header != "" {
|
||||
log.Header = datatypes.JSON([]byte(req.Header))
|
||||
}
|
||||
err = global.GVA_DB.Create(&log).Error
|
||||
if err != nil {
|
||||
processErr = err
|
||||
global.GVA_LOG.Error("Save SqsUserBehaviorLog error", zap.Error(err))
|
||||
}
|
||||
}
|
||||
} else if sqsMessage.Action == awssqs.SqsActionWalletBalanceChange {
|
||||
global.GVA_LOG.Info("Processing SqsActionWalletBalanceChange", zap.String("msgId", msgId))
|
||||
var req awssqs.SqsActionWalletBalanceChangeContent
|
||||
err = json.Unmarshal([]byte(sqsMessage.Content), &req)
|
||||
if err != nil {
|
||||
processErr = err
|
||||
} else {
|
||||
log := awssqs.SqsWalletBalanceChangeLog{
|
||||
Userno: req.Userno,
|
||||
Amount: req.Amount,
|
||||
SourceType: req.SourceType,
|
||||
SourceId: req.SourceId,
|
||||
GameId: req.GameId,
|
||||
BeforeBalance: req.BeforeBalance,
|
||||
AfterBalance: req.AfterBalance,
|
||||
RecordNo: req.RecordNo,
|
||||
}
|
||||
err = global.GVA_DB.Create(&log).Error
|
||||
if err != nil {
|
||||
processErr = err
|
||||
global.GVA_LOG.Error("Save SqsWalletBalanceChangeLog error", zap.Error(err))
|
||||
}
|
||||
}
|
||||
} else {
|
||||
global.GVA_LOG.Warn("Unknown action",
|
||||
zap.String("action", string(sqsMessage.Action)),
|
||||
|
||||
@ -2,13 +2,18 @@ package initialize
|
||||
|
||||
import (
|
||||
"bygdata/global"
|
||||
"bygdata/model/awssqs"
|
||||
)
|
||||
|
||||
func bizModel() error {
|
||||
db := global.GVA_DB
|
||||
err := db.AutoMigrate()
|
||||
err := db.AutoMigrate(
|
||||
&awssqs.SqsUserBehaviorLog{},
|
||||
&awssqs.SqsWalletBalanceChangeLog{},
|
||||
)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@ -36,6 +36,14 @@ const (
|
||||
SqsActionInviteBonusCheck = SqsAction(110)
|
||||
SqsActionGenDepositDailyClaim = SqsAction(120)
|
||||
SqsActionDeductWithdrawLimitAfterTransfer = SqsAction(130) // 回收后才结算,扣除稽核流水
|
||||
|
||||
// 用户行为日志
|
||||
SqsActionUserBehaviorRegister = SqsAction(200) // 注册
|
||||
SqsActionUserBehaviorLogin = SqsAction(201) // 登录
|
||||
SqsActionUserBehaviorEditPassword = SqsAction(202) // 修改登录密码
|
||||
SqsActionUserBehaviorEditPayPassword = SqsAction(203) // 修改支付密码
|
||||
SqsActionUserBehaviorUpdateWallet = SqsAction(204) // 更新钱包地址(绑定钱包/银行卡)
|
||||
SqsActionWalletBalanceChange = SqsAction(205) // 用户账户余额变更(充值、提现、游戏交易)
|
||||
)
|
||||
|
||||
var SqsActionMap = map[SqsAction]struct {
|
||||
@ -56,6 +64,13 @@ var SqsActionMap = map[SqsAction]struct {
|
||||
SqsActionInviteBonusCheck: {Id: 110, Name: "SqsActionInviteBonus"},
|
||||
SqsActionGenDepositDailyClaim: {Id: 120, Name: "SqsActionGenDepositDailyClaim"},
|
||||
SqsActionDeductWithdrawLimitAfterTransfer: {Id: 130, Name: "SqsActionDeductWithdrawLimitAfterTransfer"},
|
||||
|
||||
SqsActionUserBehaviorRegister: {Id: 200, Name: "SqsActionUserBehaviorRegister"},
|
||||
SqsActionUserBehaviorLogin: {Id: 201, Name: "SqsActionUserBehaviorLogin"},
|
||||
SqsActionUserBehaviorEditPassword: {Id: 202, Name: "SqsActionUserBehaviorEditPassword"},
|
||||
SqsActionUserBehaviorEditPayPassword: {Id: 203, Name: "SqsActionUserBehaviorEditPayPassword"},
|
||||
SqsActionUserBehaviorUpdateWallet: {Id: 204, Name: "SqsActionUserBehaviorUpdateWallet"},
|
||||
SqsActionWalletBalanceChange: {Id: 205, Name: "SqsActionWalletBalanceChange"},
|
||||
}
|
||||
|
||||
type SqsActionRegisterContent struct {
|
||||
@ -115,6 +130,26 @@ type SqsActionDeductWithdrawLimitAfterTransferContent struct {
|
||||
SourceType int32 `json:"sourceType"` // WalletRecordSourceType
|
||||
}
|
||||
|
||||
// SqsActionUserBehaviorContent 用户行为日志:注册、登录、修改密码、修改支付密码、更新钱包地址
|
||||
type SqsActionUserBehaviorContent struct {
|
||||
Userno string `json:"userno"`
|
||||
Ip string `json:"ip"`
|
||||
Header string `json:"header"`
|
||||
Phone string `json:"phone,omitempty"` // 手机号(注册时有值)
|
||||
}
|
||||
|
||||
// 用户账户余额变更:充值、提现、游戏交易
|
||||
type SqsActionWalletBalanceChangeContent struct {
|
||||
Userno string `json:"userno"`
|
||||
Amount string `json:"amount"` // 变更金额(正=加,负=减)
|
||||
SourceType int32 `json:"sourceType"` // WalletRecordSourceType
|
||||
SourceId string `json:"sourceId"` // 订单号/actionId等
|
||||
GameId string `json:"gameId"` // 游戏ID(游戏交易时有值)
|
||||
BeforeBalance string `json:"beforeBalance"` // 变更前余额
|
||||
AfterBalance string `json:"afterBalance"` // 变更后余额
|
||||
RecordNo string `json:"recordNo"` // 账变流水号
|
||||
}
|
||||
|
||||
func (m SqsMessage) Json() (string, error) {
|
||||
marshal, err := json.Marshal(m)
|
||||
if err != nil {
|
||||
|
||||
37
model/awssqs/sqs_log.go
Normal file
37
model/awssqs/sqs_log.go
Normal file
@ -0,0 +1,37 @@
|
||||
package awssqs
|
||||
|
||||
import (
|
||||
"bygdata/global"
|
||||
|
||||
"gorm.io/datatypes"
|
||||
)
|
||||
|
||||
type SqsUserBehaviorLog struct {
|
||||
global.GVA_MODEL2
|
||||
ActionId int32 `json:"actionId" gorm:"column:action_id;comment:行为ID;index"`
|
||||
Userno string `json:"userno" gorm:"column:userno;comment:用户号;index"`
|
||||
Ip string `json:"ip" gorm:"column:ip;comment:IP地址"`
|
||||
Header datatypes.JSON `json:"header" gorm:"column:header;comment:请求头(key-value)"`
|
||||
Phone string `json:"phone" gorm:"column:phone;comment:手机号"`
|
||||
}
|
||||
|
||||
func (SqsUserBehaviorLog) TableName() string {
|
||||
return "byl_data.sqs_user_behavior_log"
|
||||
}
|
||||
|
||||
type SqsWalletBalanceChangeLog struct {
|
||||
global.GVA_MODEL2
|
||||
Userno string `json:"userno" gorm:"column:userno;comment:用户号;index"`
|
||||
Amount string `json:"amount" gorm:"column:amount;comment:变更金额"`
|
||||
SourceType int32 `json:"sourceType" gorm:"column:source_type;comment:来源类型"`
|
||||
SourceId string `json:"sourceId" gorm:"column:source_id;comment:来源ID;index"`
|
||||
GameId string `json:"gameId" gorm:"column:game_id;comment:游戏ID"`
|
||||
BeforeBalance string `json:"beforeBalance" gorm:"column:before_balance;comment:变更前余额"`
|
||||
AfterBalance string `json:"afterBalance" gorm:"column:after_balance;comment:变更后余额"`
|
||||
RecordNo string `json:"recordNo" gorm:"column:record_no;comment:账变流水号"`
|
||||
}
|
||||
|
||||
func (SqsWalletBalanceChangeLog) TableName() string {
|
||||
return "byl_data.sqs_wallet_balance_change_log"
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user