This commit is contained in:
aozhiwei 2024-07-12 17:31:15 +08:00
parent bafb83cb87
commit 9d23b4465a
3 changed files with 1 additions and 219 deletions

View File

@ -5,8 +5,6 @@ type App interface {
}
type TaskMgr interface {
LockOpenGodBullion()
UnLockOpenGodBullion()
}
type ServiceMgr interface {

View File

@ -22,7 +22,7 @@ type table struct {
var Table = f5.New(func(this *table) {
this.BackTaskCluster = f5.New(func(this *BackTaskClusterTable) {
this.FileName = "../config/backtask.cluster.json"
this.FileName = "../config/light_backtask.cluster.json"
this.PrimKey = "instance_id"
})

View File

@ -3,10 +3,7 @@ package service
import (
"q5"
"f5"
"jccommon"
"main/constant"
. "main/global"
"fmt"
)
func UpdateSpecTransferStatus(dbIdx int64, status int32) bool {
@ -25,216 +22,3 @@ func UpdateSpecTransferStatus(dbIdx int64, status int32) bool {
})
return dbErr == nil
}
func OpenGoldBullion(accountId string, accountAddress string, netId int32, tokenId string) bool {
GetTaskMgr().LockOpenGodBullion()
defer GetTaskMgr().UnLockOpenGodBullion()
if !AccountIdExistsAndIgnoreError(accountId) {
return false
}
var itemId int32
if !GetNoOpenGoldBullionItemIdByTokenId(tokenId, &itemId) {
return false
}
goldNum := jccommon.GetGoldBullionGoldNum(itemId)
if goldNum <= 0 {
return false
}
{
var dbErr error
nowTime := f5.GetApp().GetRealSeconds()
f5.GetGoStyleDb().Update(
constant.GAME_DB,
"t_gold_bullion",
[][]string {
{"token_id", tokenId},
{"status", q5.ToString(jccommon.GOLD_BULLION_NO_OPEN)},
},
[][]string {
{"status", q5.ToString(jccommon.GOLD_BULLION_OPENED)},
{"open_status", q5.ToString(jccommon.GOLD_BULLION_OPEN_STATUS_SENT)},
{"open_address", accountAddress},
{"open_time", q5.ToString(nowTime)},
{"open_account_id", accountId},
},
func (err error, lastInsertId int64, rowsAffected int64) {
dbErr = err
})
if dbErr != nil {
return false
}
}
{
if !UserAddGold(accountId, goldNum, netId, tokenId, constant.USER_ADD_GOLD_REASON_USE) {
return false
}
}
{
var dbErr error
f5.GetGoStyleDb().Update(
constant.GAME_DB,
"t_gold_bullion",
[][]string {
{"token_id", tokenId},
{"status", q5.ToString(jccommon.GOLD_BULLION_OPENED)},
},
[][]string {
{"open_status", q5.ToString(jccommon.GOLD_BULLION_OPEN_STATUS_RECEIVED)},
},
func (err error, lastInsertId int64, rowsAffected int64) {
dbErr = err
})
if dbErr != nil {
return false
}
}
return true
}
func ReturnGoldBullion(accountId string, netId int32, tokenId string) bool {
GetTaskMgr().LockOpenGodBullion()
defer GetTaskMgr().UnLockOpenGodBullion()
if !AccountIdExistsAndIgnoreError(accountId) {
return false
}
var itemId int32
if !GetNoOpenGoldBullionItemIdByTokenId(tokenId, &itemId) {
return false
}
goldNum := jccommon.GetGoldBullionGoldNum(itemId)
if goldNum <= 0 {
return false
}
{
goldNumStr := q5.ToString(goldNum)
if goldNum == 1000 {
goldNumStr = "1,000"
} else if goldNum == 10000 {
goldNumStr = "10,000"
}
nowTime := f5.GetApp().GetRealSeconds()
subject := "gold return"
content := fmt.Sprintf("We regret to inform you that the minting of your Gold Card has failed. The %s gold has been refunded to your account. Please check your balance to confirm the refund.", goldNumStr)
uniKey := fmt.Sprintf("gold_bullion.return:%d_%s", netId, tokenId)
sendOk := SendSysMail(
uniKey,
accountId,
subject,
content,
q5.ToInt32(nowTime),
q5.ToInt32(nowTime) + 3600 * 24 * 14,
jccommon.MAIL_TAG1_GOLD_BULLION,
jccommon.MAIL_TAG2_GOLD_BULLION_RETURN)
if !sendOk {
return false
}
}
{
var dbErr error
returned := false
f5.GetGoStyleDb().OrmSelectOne(
constant.GAME_DB,
"t_gold_bullion_return",
[][]string {
{"net_id", q5.ToString(netId)},
{"token_id", tokenId},
},
func (err error, ds *f5.DataSet) {
dbErr = err
if err != nil {
return
}
if ds.Next() {
returned = true
}
})
if dbErr != nil {
return false
}
if returned {
return false
}
}
{
var dbErr error
nowTime := f5.GetApp().GetRealSeconds()
f5.GetGoStyleDb().Upsert(
constant.GAME_DB,
"t_gold_bullion_return",
[][]string {
{"token_id", tokenId},
},
[][]string {},
[][]string {
{"account_id", accountId},
{"token_id", tokenId},
{"net_id", q5.ToString(netId)},
{"item_id", q5.ToString(itemId)},
{"gold", q5.ToString(goldNum)},
{"createtime", q5.ToString(nowTime)},
{"modifytime", q5.ToString(nowTime)},
},
func (err error, lastInsertId int64, rowsAffected int64) {
dbErr = err
})
if dbErr != nil {
return false
}
}
{
var dbErr error
nowTime := f5.GetApp().GetRealSeconds()
f5.GetGoStyleDb().Update(
constant.GAME_DB,
"t_gold_bullion",
[][]string {
{"token_id", tokenId},
},
[][]string {
{"return_status", q5.ToString(1)},
{"returned", q5.ToString(1)},
{"return_time", q5.ToString(nowTime)},
},
func (err error, lastInsertId int64, rowsAffected int64) {
dbErr = err
})
if dbErr != nil {
return false
}
}
{
if !UserAddGold(accountId, goldNum, netId, tokenId, constant.USER_ADD_GOLD_REASON_RETURN) {
return false
}
}
{
var dbErr error
f5.GetGoStyleDb().Update(
constant.GAME_DB,
"t_gold_bullion",
[][]string {
{"token_id", tokenId},
},
[][]string {
{"return_status", q5.ToString(2)},
},
func (err error, lastInsertId int64, rowsAffected int64) {
dbErr = err
})
if dbErr != nil {
return false
}
}
return true
}