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/aws/session"
|
||||||
"github.com/aws/aws-sdk-go/service/sqs"
|
"github.com/aws/aws-sdk-go/service/sqs"
|
||||||
"go.uber.org/zap"
|
"go.uber.org/zap"
|
||||||
|
"gorm.io/datatypes"
|
||||||
)
|
)
|
||||||
|
|
||||||
func ProcessSqsMessage() {
|
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))
|
global.GVA_LOG.Info("Processing SqsActionSaveBonus", zap.String("msgId", msgId))
|
||||||
} else if sqsMessage.Action == awssqs.SqsActionGenDepositDailyClaim {
|
} else if sqsMessage.Action == awssqs.SqsActionGenDepositDailyClaim {
|
||||||
global.GVA_LOG.Info("Processing SqsActionGenDepositDailyClaim", zap.String("msgId", msgId))
|
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 {
|
} else {
|
||||||
global.GVA_LOG.Warn("Unknown action",
|
global.GVA_LOG.Warn("Unknown action",
|
||||||
zap.String("action", string(sqsMessage.Action)),
|
zap.String("action", string(sqsMessage.Action)),
|
||||||
|
|||||||
@ -2,13 +2,18 @@ package initialize
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"bygdata/global"
|
"bygdata/global"
|
||||||
|
"bygdata/model/awssqs"
|
||||||
)
|
)
|
||||||
|
|
||||||
func bizModel() error {
|
func bizModel() error {
|
||||||
db := global.GVA_DB
|
db := global.GVA_DB
|
||||||
err := db.AutoMigrate()
|
err := db.AutoMigrate(
|
||||||
|
&awssqs.SqsUserBehaviorLog{},
|
||||||
|
&awssqs.SqsWalletBalanceChangeLog{},
|
||||||
|
)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -36,6 +36,14 @@ const (
|
|||||||
SqsActionInviteBonusCheck = SqsAction(110)
|
SqsActionInviteBonusCheck = SqsAction(110)
|
||||||
SqsActionGenDepositDailyClaim = SqsAction(120)
|
SqsActionGenDepositDailyClaim = SqsAction(120)
|
||||||
SqsActionDeductWithdrawLimitAfterTransfer = SqsAction(130) // 回收后才结算,扣除稽核流水
|
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 {
|
var SqsActionMap = map[SqsAction]struct {
|
||||||
@ -56,6 +64,13 @@ var SqsActionMap = map[SqsAction]struct {
|
|||||||
SqsActionInviteBonusCheck: {Id: 110, Name: "SqsActionInviteBonus"},
|
SqsActionInviteBonusCheck: {Id: 110, Name: "SqsActionInviteBonus"},
|
||||||
SqsActionGenDepositDailyClaim: {Id: 120, Name: "SqsActionGenDepositDailyClaim"},
|
SqsActionGenDepositDailyClaim: {Id: 120, Name: "SqsActionGenDepositDailyClaim"},
|
||||||
SqsActionDeductWithdrawLimitAfterTransfer: {Id: 130, Name: "SqsActionDeductWithdrawLimitAfterTransfer"},
|
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 {
|
type SqsActionRegisterContent struct {
|
||||||
@ -115,6 +130,26 @@ type SqsActionDeductWithdrawLimitAfterTransferContent struct {
|
|||||||
SourceType int32 `json:"sourceType"` // WalletRecordSourceType
|
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) {
|
func (m SqsMessage) Json() (string, error) {
|
||||||
marshal, err := json.Marshal(m)
|
marshal, err := json.Marshal(m)
|
||||||
if err != nil {
|
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