邮件补偿20250717

This commit is contained in:
hahwu 2025-07-16 16:19:49 +08:00
parent e4abe4ead6
commit cd05ef1935
8 changed files with 163 additions and 2 deletions

View File

@ -0,0 +1,37 @@
package game
import (
"server/game/mod/compensation"
"server/game/mod/mail"
)
func (p *Player) Compensation() {
p.Compensation20250716()
}
func (p *Player) Compensation20250716() {
compensationMod := p.PlayMod.getCompensationMod()
if compensationMod.Is20250716() {
return // 已经领取过补偿
}
PlayerBaseMod := p.GetPlayerBaseMod()
items := compensationMod.Compensation20250716(PlayerBaseMod.GetName())
if items == nil {
return // 没有补偿物品
}
MailMod := p.PlayMod.getMailMod()
MailMod.SendMail(&mail.MailStruct{
Title: compensation.Compensation20250716_Mail_Config.Title,
SubTitle: "",
Content: compensation.Compensation20250716_Mail_Config.Content,
TitleEn: compensation.Compensation20250716_Mail_Config.Title,
SubTitleEn: "",
ContentEn: compensation.Compensation20250716_Mail_Config.Content,
Items: items,
Type: mail.MAIL_TYPE_NORMAL,
})
compensationMod.Set20250716()
p.PlayMod.save()
p.PushAndSendClienRes(MailMod.BackData())
}

View File

@ -217,6 +217,13 @@ func (ad *GameLogic) NewAccountInsertDataToDB() bool {
Uid: insertId,
EventName: "register",
})
G_GameLogicPtr.AddLog(&Log{
Uid: insertId,
EventName: "register_info",
Param: map[string]interface{}{
"username": ad.Db_AccountInfo.UserName,
},
})
return true
}

View File

@ -1025,3 +1025,10 @@ func (p *Player) SubCard(Id int) error {
})
return nil
}
func (p *Player) GetIp() string {
if p.GetAgent() == nil {
return ""
}
return p.GetAgent().RemoteAddr().String()
}

View File

@ -13,6 +13,7 @@ import (
"server/game/mod/charge"
"server/game/mod/chess"
"server/game/mod/collect"
"server/game/mod/compensation"
"server/game/mod/dailyTask"
"server/game/mod/decorate"
"server/game/mod/emoji"
@ -77,6 +78,7 @@ type PlayerModList struct {
Emoji emoji.EmojiMod // 表情
Collect collect.Collect // 收集
Activity activity.Activity // 活动
Compensation compensation.Compensation // 补偿
}
func (p *PlayerModData) LoadDataFromDB(dwUin interface{}) bool {
@ -148,7 +150,7 @@ func (p *PlayerModData) InitMod(player *Player) (bool, error) {
BaseMod.FackBookId = PlayerBaseMod.Data.FaceBookId
is_update = true
}
Ip := p.GetPlayer().agent.RemoteAddr().String()
Ip := p.GetPlayer().GetIp()
p.ModList.Handbook.InitData()
p.ModList.Order.InitData()
p.ModList.Decorate.InitData()
@ -361,3 +363,6 @@ func (p *PlayerMod) getCollectMod() *collect.Collect {
func (p *PlayerMod) getActivityMod() *activity.Activity {
return &p.mod_list.Activity
}
func (p *PlayerMod) getCompensationMod() *compensation.Compensation {
return &p.mod_list.Compensation
}

View File

@ -29,6 +29,11 @@ var AdminFuncMap = map[string]func([]interface{}) error{
}
func AdminProcess(Func string, args []interface{}) {
defer func() {
if r := recover(); r != nil {
GoUtil.SendFeishuFatal(0, Func, fmt.Sprintf("fatal : %s", r))
}
}()
if f, ok := AdminFuncMap[Func]; ok {
err := f(args)
if err != nil {

View File

@ -46,7 +46,7 @@ type Base struct {
}
func (b *Base) InitData(Uid int, Ip string) {
if b.AddCode == "" {
if b.AddCode == "" && Ip != "" {
Code, _ := GoUtil.GetCountryByIP(Ip)
CountryCode := conf.Server.CountryCode
if CountryCode == "" {

View File

@ -0,0 +1,69 @@
package compensation
import (
"server/GoUtil"
"server/game/mod/item"
)
type Compensation struct {
C20250716 bool // 2025年7月16日补偿
}
func (c *Compensation) InitData() {
}
func (c *Compensation) Is20250716() bool {
return c.C20250716
}
func (c *Compensation) Set20250716() {
c.C20250716 = true
}
func (c *Compensation) Compensation20250716(UserName string) []*item.Item {
if !c.Is20250716() {
return nil
}
c.Set20250716()
// 获取补偿物品
items := make([]*item.Item, 0, len(Compensation20250716_UserList))
for i := 0; i < len(Compensation20250716_UserList); i++ {
if GoUtil.InStringArray(UserName, Compensation20250716_UserList[i]) {
return Compensation20250716_Mail_Item[i]
}
}
return items
}
var Compensation20250716_UserList = map[int][]string{
// 大R
1: {"aaa001", "xinshou76", "4920601d6e34e87038919438e242d52e", "93c80508360e35b7571f1a0a03f56a776370cfa0"},
// 中R
2: {"xinhou75", "9c65224bb7ed95148260db8f0fe3a0bd", "2efc5e0f7517c825cd7e4702085f885b", "b559595638f42a679284fef0374a549e", "26e701c36fbb004ee00dcccd9bd8cf0f", "51afdcc7d1b0d60044f3a33389f2c734", "ed0f5c193171226d343eae6996fa5ebf", "5c80e4c852b9a4cd1e28c6bcc04f308f", "48289bca7f497297b885203b2cc037bb", "5de84a24101ee25a3ac33168c8083abe", "a9264ed76dafbed52ed9e7afe63d4129", "051d7f087832091750d7d9cc00a5e04a", "04b4de4d67f2ed0399c6abffb956cade", "41c70beb9f22bada780feada5e62bbd1", "fc085d60508bc2e39fc51e5640d75516", "7c0fcfac6e9e8e056b983a30e4f30a09", "20d4b2aed241eda005679a1671bedeac", "857706a740154c8023ea9201d08b8864", "7f47313cd3dcd45a06ad985f2cb27cae", "057bf7221b86d61cce1f80558b929090", "95328e05928a61493c801e05e9e6270a", "491d7d28ce106938aee8b1e1a19b4ae5", "823943647d9adc4d8ddeb596614c0cfb", "d6ce7a43a045d4cd71dbc687787bd0bf", "c75a5faa056b819ad5bb41f4a3ba4a38", "e5815e97add54cb3ceca7dbd2e45bf97", "2cd42018cf56cb9d5a355aff14137b31", "820b48695d2dac1656a84d73e420178b", "2bf69272d55fb9d9d9e15894fb4694a4", "424ccad8b512d91d2f29c80939424564", "a51377da6a792ff69f6faf937e3417ce", "f5ff321d2b2c073e64042852a15dd9b1", "5d80e08adde8e9d59bc79501b16afe20", "53d8041da3964505857ddd1b3cdecf94", "0cc86c12b97d15019dfe25a3285a3e96", "235eb2c144e5b9edf6c44e8ab96082dd", "ed5bbc10a0fba93e591a35a2ec0291c5", "831ab28d8820675ad109c9b184ce9013", "445007c8ca0cc7a12d44d7abdff5cce3", "63f081723bd0e847d1434f5a04598683", "54e715c5c1f4ed795c9c17593de1b7e7", "addb314c66e16f13ddae30896b96c703", "6fc757735b67cf08a7a5ec3baf2a75a3", "2f50d795ddaab2eab1907b5f252705ac", "2137703e941d639f61aeded20f9dbb2b", "02439d94926af2d1473c75f74a00e119", "bd5f5f3e57bd3924e914cdbbc34cce5c", "ab5b80213f12aaaf6d07be2f1932ec43", "ceeb48146b3ebcad66a4cc036ed54d22", "a71625538207fa2b95bb9e8e21449c43", "a0ce6002bb25c2ae0f090a90018fc54c", "a3f5aef9e7dad7d5aa605a49430835b1", "1cf2a5325fa89bb9bb8be2c8616cb9d7", "b04b3963228f85182b6e62c3ef6d8144", "1e8dde7c182488128a5106c5e2d30b42", "71f91ead33b74f7d45be1e37c519286f", "dead5b7820a93351f2e97fe55c0ea5b4", "8732360803535d860fc16d7911c909a1", "7f957a374879d6a2fb635928ce89a525", "0d8ade527e8f3679392260d07b2912e5", "7bf0a3e6df56f0f209814f6547865f55", "d2438f28296a975d52b7d60d287e84ad", "6cafd1059a6c45a31f19f42ed092d633", "55655483cd1cce10b3461d947062f801", "08e04219504d9f37d32e2cfba2874762", "a3d83249211bc380a8ff97f8ab47583a", "c7b75f7ab09002bd245a6a182cbc18df", "d5ded02c0489e177e8f698e5204cfa3d", "e05933874f35069eb0632a433da36ca7", "684ad5e04c21c5a11ac77f2eda19847a", "bd269aa65aa8db830ecbba58bc64902d", "4ec2fd320c4c5ff36dc52fc88720b395", "863db41256074f9656ebbd46fbd85290", "411ca5c6b78844dea836aa399f42ed27", "f0cb8a1825c417e2f7b06a58cac75143", "fd9df16ee523e74d8003f46e47dcb642", "f4a9060aea89d38e2e3f01660491f5c5", "34ed9d69301c301953b2b88dcd13ee9a", "347376f2bf14f156e24fbc4a7285f81c", "dc264e609290d0f94f3e16ca37bbe0c9", "26347928b465b7ba373e9ba641b48199", "f29998d94e79b86c7c3d8937fa9e91e8", "d23081f6510236f4e4be9fb6d5304a6a", "e6718d5d9280570cc31d7a6473143e38", "8083f7ee7c1258aed3db5f40531c334c", "bcdd1c131475dcea35cab935057772eb", "eeb59425fc240ec52454e7dda9889633", "120e7116d570a2554b65f28e724ae758", "675899c81cfece5caa982844538b0191", "9a08781243dba23cbe85bf47c64aa8c4", "0bf5220563363300c6cf43ed20cb5ae7", "c071328705938dc141c8d646d345bf99", "659d71e3896f2f2c98c86c730d394f0b", "96fe50777f7562384e5d71eb010eae7c", "f621506531e0d8cf2bf343ec87042960", "38738aed39f8cea218bc055b5a400cc3", "970653b0d90e2fd43465f436c27845b5", "d7d93978b35d4af85daba89530bf668a", "5d50835ff8c5fdbecd4e92423b5754d3", "ee5648d165c5bab14896741b632b641b", "0b193cbcc1aa07dee619c5d74fdaf92e", "515701c302a9ac871e5b83af734cbdbc", "276c9182dd46575aeb66aac4cef03b7c", "464483a547102c193a44045c9e68fc54", "f421c2c4e1ef383e96df09476502bdaf", "b34e90cbbc0d6f9bf4d6ef80114c5b73", "7d204e48d8c2615c257c2520769fe6ca"},
// 未付费 18级以上
3: {"8c22f4e8d8edb80d591e716cf016a01a", "ad154577c6ed0c1234c971931fe44353", "cd5fc4cfb76993f1fb62f430895805b5", "ce2107e0f2d5e7c8095928127da643e9", "d95d63f6cbafa348dca4398c61eb7edc", "3c62b0c0e554a16fc54bd9c09a6c76b7", "af31d50b8c98869e9fde4562de7e3b89", "8b3dd61d65a21da33efd3fb9b0a99b55", "0351a4df40069b71de39a9be8c46e705", "786bf20cb74a4e1b9ddfa3035c96aa34", "7b3a3e96d92b48e6fc7fb8dc54c6f177", "05442D5E8EF144F8", "huang015", "585797c5605a8ad80f677312f3c76d64", "acbe55ba2c95f1cb72f4ed4d598cb4b2", "8770ee5ad6e7180ca831f9b23ae0fb2a", "6dea915a82fed9186e6461d2ed2da2aa", "c6bcac871e44dca717c2fd6fab7480d0", "dc9904a54b46116e6534e2c91b8e5164", "dd59d0d8f0e1384e14635035cf17c668", "379a4d820d6e52a7cb781c8f2d7eef5d", "729b80c2155f49043b266744065b5941", "6b997d889562961b44d62bc3e99b8af5"},
// 未付费 7-17级
4: {"764abc676187b5fb45cb2218b4076e32", "5c790273c5e51e9b8247f4614f6f4f1f", "bdcde03b4dc399118ce1e546690d8c61", "eaf25de5835afb920984eb09297103dd", "8b321645bb2df7ac618c085c849be2e6", "1f2066cb8fd35f6e8cc00c58f919f012", "f75ef1bf55789c8851338712aa1a3c25", "ac5d178c66ddaad2b04d82183dc902f7", "9baad73794e1e7f6f7284cb3fe679160", "20d207e40820d7879baa0781294ff021", "507416eb227f7f012a728f190537530b", "32beaaad0fa90c6dcafc456663d9d417", "7e4dcb931c89033cceac11a1b24b7d45", "b33892d661937e3bd1c3be62120fbf51", "7aed3a3c4703bf898bc20c360f38d09d", "172a008cab6d3606962bcb7add5b1553", "e838a9130e0bf7e0e2680eb825c0ff5a", "167d1a2c6944c65be30c2feb43bdedea", "fcf00eb8002da8ddc6cc72b9de48de55", "3edb0a525ae8a708d12ce15e8d606351", "2901b8332f6a39785194f52dbdecb420", "8efb7602f08d08351798e60791926d79", "8664fc8e96eea3cff44be59a72980635", "a40fedab76a2912bd896fcd8048a3842", "99c592a99716450e59a910d6c5192c7f", "bc3c3b7ca9e5de311ed337d6c3d617c6", "b12acbb51580947a7c1869070dea0d75", "c0ad232262fb2b912ade9aa1412e5406", "0f7e7c8a43f8f502356329ca4fe01a8d", "1eb7a5f2f9390a36b92488645baa6544", "0d56e34bac14cd02ecf98e880234485b", "cf9152a0206da604126c848e3abe3173", "d6c787411fc914c546092a6a6ee33873", "5c427a9e417dea683874bb9117a83899", "3eafdc409abd63f6fa40fcee615bb886", "ea224eb2ab657afe381535c8935b58dd", "717810be22b82f567e14f00c6eecdae7", "f38ce2b02121c800395a19e28174d3b4", "fcd7bce06319b6a590e04baca8958260", "4c5aca1ed18bd529e92792cc9e82d659", "6695418802da285c421eafc09c48256b", "fcb93bd158d212ec031b6f1ae05ab724", "b701386139828ec8f3a3db11731b0f81", "915d608525150d974f7f85bdf0f7b4e1", "0b2244d9b6c01cbb0daf685080d6d975"},
}
var Compensation20250716_Mail_Item = map[int][]*item.Item{
1: {item.NewItem(item.ITEM_DIAMOND_ID, 500), item.NewItem(item.ITEM_ENERGY_ID, 5000)}, // 大R
2: {item.NewItem(item.ITEM_DIAMOND_ID, 200), item.NewItem(item.ITEM_ENERGY_ID, 3000)}, // 中R
3: {item.NewItem(item.ITEM_DIAMOND_ID, 100), item.NewItem(item.ITEM_ENERGY_ID, 1500)}, // 未付费 18级以上
4: {item.NewItem(item.ITEM_ENERGY_ID, 500)}, // 未付费 7-17级
}
type MailConfig struct {
Title string
Content string
Items []*item.Item
}
var Compensation20250716_Mail_Config = MailConfig{
Title: "Update Issue and Compensation Notice",
Content: `Dear players, sorry about the update issues due to our release process and strategy changessome even lost data. We take this issue very seriously.
We truly appreciate your support, so we've prepared a special compensation just for you. Please check it
We're already working on fixing things to make future updates smoother and more stable.
Thanks again for sticking with us. Enjoy your game! `,
}

View File

@ -45,6 +45,37 @@ func (m *MailMod) InitData() {
}
}
type MailStruct struct {
Title string
SubTitle string
Content string
TitleEn string
SubTitleEn string
ContentEn string
Items []*item.Item
Type int
}
func (m *MailMod) SendMail(mail *MailStruct) int {
if mail == nil {
return 0
}
m.AutoId++
m.List[m.AutoId] = &MailInfo{
Title: mail.Title,
SubTitle: mail.SubTitle,
Content: mail.Content,
TitleEn: mail.TitleEn,
SubTitleEn: mail.SubTitleEn,
ContentEn: mail.ContentEn,
Items: mail.Items,
Send: GoUtil.Now(),
Type: mail.Type,
Status: MAIL_STATUS_IDLE,
}
return m.AutoId
}
// 发送邮件
func (m *MailMod) Send(Title, SubTitle, Content, TitleEn, SubTitleEn, ContentEn string, Items []*item.Item, t int) int {
m.AutoId++