Code cleanup

Signed-off-by: Yuan Si <do4suki@gmail.com>
This commit is contained in:
2023-05-08 22:15:54 +08:00
parent b1fd31c167
commit a45a67ff35
31 changed files with 447 additions and 1873 deletions
+3 -6
View File
@@ -10,10 +10,9 @@ import (
"time"
"github.com/gin-gonic/gin"
_ "github.com/mattn/go-sqlite3"
)
type AlbumSearchResult struct {
type AlbumRes struct {
UnitId int `xorm:"unit_id"`
Rarity int `xorm:"rarity"`
}
@@ -26,7 +25,7 @@ func AlbumSeriesAll(ctx *gin.Context) {
albumSeriesAllRes := []model.AlbumSeriesRes{}
for _, albumId := range albumIds {
unitList := []AlbumSearchResult{}
unitList := []AlbumRes{}
err = MainEng.Table("unit_m").Where("album_series_id = ?", albumId).Cols("unit_id,rarity").Find(&unitList)
CheckErr(err)
@@ -62,9 +61,7 @@ func AlbumSeriesAll(ctx *gin.Context) {
albumSeries.HighestLovePerUnit = 1000
// IsSigned
exists, err := MainEng.Table("unit_sign_asset_m").Where("unit_id = ?", unit.UnitId).Exist()
CheckErr(err)
albumSeries.SignFlag = exists
albumSeries.SignFlag = IsSigned(unit.UnitId)
}
albumSeriesAll = append(albumSeriesAll, albumSeries)
+69 -66
View File
@@ -17,6 +17,27 @@ import (
"github.com/gin-gonic/gin"
)
type EventRes struct {
EventScenarioId int `xorm:"event_scenario_id"`
Chapter int `xorm:"chapter"`
ChapterAsset string `xorm:"chapter_asset"`
OpenDate string `xorm:"open_date"`
}
type MultiRes struct {
MultiUnitScenarioId int `xorm:"multi_unit_scenario_id"`
Chapter int `xorm:"chapter"`
MultiUnitScenarioBtnAsset string `xorm:"multi_unit_scenario_btn_asset"`
OpenDate string `xorm:"open_date"`
}
type MuseumRes struct {
MuseumContentsId int `xorm:"museum_contents_id"`
SmileBuff int `xorm:"smile_buff"`
PureBuff int `xorm:"pure_buff"`
CoolBuff int `xorm:"cool_buff"`
}
func Api(ctx *gin.Context) {
apiReq := []model.ApiReq{}
err := json.Unmarshal([]byte(ctx.GetString("request_data")), &apiReq)
@@ -226,13 +247,13 @@ func Api(ctx *gin.Context) {
CheckErr(err)
case "deckInfo":
// key = "unit_deck_result"
userDeck := []tools.UserDeckData{}
userDeck := []model.UserDeckData{}
err = UserEng.Table("user_deck_m").Where("user_id = ?", ctx.GetString("userid")).Asc("deck_id").Find(&userDeck)
CheckErr(err)
unitDeckInfo := []model.UnitDeckInfoRes{}
for _, deck := range userDeck {
deckUnit := []tools.UnitDeckData{}
deckUnit := []model.UnitDeckData{}
err = UserEng.Table("deck_unit_m").Where("user_deck_id = ?", deck.ID).Asc("position").Find(&deckUnit)
CheckErr(err)
@@ -379,7 +400,7 @@ func Api(ctx *gin.Context) {
case "album":
// key = "album_unit_result"
albumLists := []model.AlbumResult{}
unitList := []AlbumSearchResult{}
unitList := []AlbumRes{}
err = MainEng.Table("unit_m").Cols("unit_id,rarity").OrderBy("unit_id ASC").Find(&unitList)
CheckErr(err)
for _, unit := range unitList {
@@ -411,9 +432,7 @@ func Api(ctx *gin.Context) {
albumList.TotalLove = 1000
// IsSigned
exists, err := MainEng.Table("unit_sign_asset_m").Where("unit_id = ?", unit.UnitId).Exist()
CheckErr(err)
albumList.SignFlag = exists
albumList.SignFlag = IsSigned(unit.UnitId)
}
albumLists = append(albumLists, albumList)
}
@@ -478,20 +497,16 @@ func Api(ctx *gin.Context) {
err = MainEng.Table("event_scenario_m").Cols("event_id").GroupBy("event_id").OrderBy("event_id DESC").Find(&eventIds)
CheckErr(err)
for _, id := range eventIds {
sql := `SELECT event_scenario_id,chapter,chapter_asset,open_date FROM event_scenario_m WHERE event_id = ? ORDER BY chapter DESC`
chaps, err := MainEng.DB().Query(sql, id)
CheckErr(err)
defer chaps.Close()
eventRes := []EventRes{}
chapsList := []model.EventScenarioChapterList{}
var open_date string
for chaps.Next() {
var event_scenario_id, chapter int
var chapter_asset interface{}
err = chaps.Scan(&event_scenario_id, &chapter, &chapter_asset, &open_date)
CheckErr(err)
err = MainEng.Table("event_scenario_m").Where("event_id = ?", id).Cols("event_scenario_id,chapter,chapter_asset,open_date").
OrderBy("chapter DESC").Find(&eventRes)
CheckErr(err)
for _, res := range eventRes {
chapList := model.EventScenarioChapterList{
EventScenarioID: event_scenario_id,
Chapter: chapter,
EventScenarioID: res.EventScenarioId,
Chapter: res.Chapter,
ChapterAsset: res.ChapterAsset,
Status: 2,
OpenFlashFlag: 0,
IsReward: false,
@@ -499,16 +514,12 @@ func Api(ctx *gin.Context) {
ItemID: 1200,
Amount: 1,
}
if chapter_asset != nil {
chapList.ChapterAsset = chapter_asset.(string)
}
chapsList = append(chapsList, chapList)
}
eventList := model.EventScenarioList{
EventID: id,
OpenDate: strings.ReplaceAll(open_date, "/", "-"),
OpenDate: strings.ReplaceAll(eventRes[0].OpenDate, "/", "-"),
ChapterList: chapsList,
}
@@ -525,7 +536,7 @@ func Api(ctx *gin.Context) {
}
eventScenarioResp := model.EventScenarioStatusResp{
Result: model.EventScenarioStatusRes{
EventScenarioList: eventsList, //
EventScenarioList: eventsList,
},
Status: 200,
CommandNum: false,
@@ -540,26 +551,22 @@ func Api(ctx *gin.Context) {
err = MainEng.Table("multi_unit_scenario_m").Cols("multi_unit_id").GroupBy("multi_unit_id").OrderBy("multi_unit_id ASC").Find(&multiIds)
CheckErr(err)
for _, id := range multiIds {
sql := `SELECT multi_unit_scenario_btn_asset,open_date,multi_unit_scenario_id,chapter FROM multi_unit_scenario_m a LEFT JOIN multi_unit_scenario_open_m b ON a.multi_unit_id = b.multi_unit_id WHERE a.multi_unit_id = ?`
units, err := MainEng.DB().Query(sql, id)
multiRes := MultiRes{}
_, err = MainEng.Table("multi_unit_scenario_m").
Join("LEFT", "multi_unit_scenario_open_m", "multi_unit_scenario_m.multi_unit_id = multi_unit_scenario_open_m.multi_unit_id").
Cols("multi_unit_scenario_btn_asset,open_date,multi_unit_scenario_id,chapter").
Where("multi_unit_scenario_m.multi_unit_id = ?", id).Get(&multiRes)
CheckErr(err)
defer units.Close()
var multi_unit_scenario_id, chapter int
var multi_unit_scenario_btn_asset, open_date string
for units.Next() {
err = units.Scan(&multi_unit_scenario_btn_asset, &open_date, &multi_unit_scenario_id, &chapter)
CheckErr(err)
}
multiUnitsList = append(multiUnitsList, model.MultiUnitScenarioStatusList{
MultiUnitID: id,
Status: 2,
MultiUnitScenarioBtnAsset: multi_unit_scenario_btn_asset,
OpenDate: strings.ReplaceAll(open_date, "/", "-"),
MultiUnitScenarioBtnAsset: multiRes.MultiUnitScenarioBtnAsset,
OpenDate: strings.ReplaceAll(multiRes.OpenDate, "/", "-"),
ChapterList: []model.MultiUnitScenarioChapterList{
{
MultiUnitScenarioID: multi_unit_scenario_id,
Chapter: chapter,
MultiUnitScenarioID: multiRes.MultiUnitScenarioId,
Chapter: multiRes.Chapter,
Status: 2,
},
},
@@ -827,31 +834,27 @@ func Api(ctx *gin.Context) {
CheckErr(err)
case "museum":
// key = "museum_result"
sql := `SELECT museum_contents_id,smile_buff,pure_buff,cool_buff FROM museum_contents_m ORDER BY museum_contents_id ASC`
rows, err := MainEng.DB().Query(sql)
museumRes := []MuseumRes{}
var museumIds []int
var smileBuff, pureBuff, coolBuff int
err = MainEng.Table("museum_contents_m").Cols("museum_contents_id,smile_buff,pure_buff,cool_buff").
OrderBy("museum_contents_id ASC").Find(&museumRes)
CheckErr(err)
defer rows.Close()
var smileBuf, pureBuf, coolBuf int
var mIds []int
for rows.Next() {
var museum_contents_id, smile_buff, pure_buff, cool_buff int
err = rows.Scan(&museum_contents_id, &smile_buff, &pure_buff, &cool_buff)
CheckErr(err)
smileBuf += smile_buff
pureBuf += pure_buff
coolBuf += cool_buff
mIds = append(mIds, museum_contents_id)
for _, res := range museumRes {
smileBuff += res.SmileBuff
pureBuff += res.PureBuff
coolBuff += res.CoolBuff
museumIds = append(museumIds, res.MuseumContentsId)
}
museumInfoResp := model.MuseumInfoResp{
Result: model.MuseumInfoRes{
MuseumInfo: model.Museum{
Parameter: model.MuseumParameter{
Smile: smileBuf,
Pure: pureBuf,
Cool: coolBuf,
Smile: smileBuff,
Pure: pureBuff,
Cool: coolBuff,
},
ContentsIDList: mIds,
ContentsIDList: museumIds,
},
},
Status: 200,
@@ -863,8 +866,8 @@ func Api(ctx *gin.Context) {
case "profile":
if v.Action == "liveCnt" {
// key = "profile_livecnt_result"
difficultyResp := tools.DifficultyResp{
Result: []tools.DifficultyResult{
difficultyResp := model.DifficultyResp{
Result: []model.DifficultyRes{
{
Difficulty: 1,
ClearCnt: 315,
@@ -898,7 +901,7 @@ func Api(ctx *gin.Context) {
love := utils.ReadAllText("assets/love.json")
err := json.Unmarshal([]byte(love), &result)
CheckErr(err)
loveResp := tools.LoveResp{
loveResp := model.LoveResp{
Result: result,
Status: 200,
CommandNum: false,
@@ -921,7 +924,7 @@ func Api(ctx *gin.Context) {
userUnit, err := UserEng.Table("user_unit_m").Where("user_id = ?", ctx.GetString("userid")).Count()
CheckErr(err)
unitData := tools.UnitData{}
unitData := model.UnitData{}
exists, err = MainEng.Table("common_unit_m").Where("unit_owning_user_id = ?", pref.UnitOwningUserID).Get(&unitData)
CheckErr(err)
isCommon := true
@@ -956,7 +959,7 @@ func Api(ctx *gin.Context) {
_, err = MainEng.Table("common_accessory_m").Where("accessory_owning_user_id = ?", accessoryOwningId).
Cols("accessory_id,exp").Get(&accessoryId, &exp)
CheckErr(err)
accessoryInfo := tools.AccessoryInfo{
accessoryInfo := model.AccessoryInfo{
AccessoryOwningUserID: accessoryOwningId,
AccessoryID: accessoryId,
Exp: exp,
@@ -972,9 +975,9 @@ func Api(ctx *gin.Context) {
Cols("unit_removable_skill_id").Find(&removeSkillIds)
CheckErr(err)
profileResp := tools.ProfileResp{
Result: tools.ProfileResult{
UserInfo: tools.UserInfo{
profileResp := model.ProfileResp{
Result: model.ProfileRes{
UserInfo: model.ProfileUserInfo{
UserID: pref.UserID,
Name: pref.UserName,
Level: pref.UserLevel,
@@ -987,7 +990,7 @@ func Api(ctx *gin.Context) {
ElapsedTimeFromLogin: "14\u5c0f\u65f6\u524d",
Introduction: pref.UserDesc,
},
CenterUnitInfo: tools.CenterUnitInfo{
CenterUnitInfo: model.CenterUnitInfo{
UnitOwningUserID: unitData.UnitOwningUserID,
UnitID: unitData.UnitID,
Exp: unitData.Exp,
@@ -1017,13 +1020,13 @@ func Api(ctx *gin.Context) {
SettingAwardID: pref.AwardID,
RemovableSkillIds: removeSkillIds,
AccessoryInfo: accessoryInfo,
Costume: tools.Costume{},
Costume: model.Costume{},
TotalSmile: smileMax,
TotalCute: pureMax,
TotalCool: coolMax,
TotalHp: maxHp,
},
NaviUnitInfo: tools.NaviUnitInfo{
NaviUnitInfo: model.NaviUnitInfo{
UnitOwningUserID: unitData.UnitOwningUserID,
UnitID: unitData.UnitID,
Exp: unitData.Exp,
-1
View File
@@ -12,7 +12,6 @@ import (
"time"
"github.com/gin-gonic/gin"
_ "github.com/mattn/go-sqlite3"
"xorm.io/builder"
)
+7
View File
@@ -27,3 +27,10 @@ func CheckErr(err error) {
panic(err)
}
}
func IsSigned(unitId int) bool {
exists, err := MainEng.Table("unit_sign_asset_m").Where("unit_id = ?", unitId).Exist()
CheckErr(err)
return exists
}
-1
View File
@@ -14,7 +14,6 @@ import (
"time"
"github.com/gin-gonic/gin"
_ "github.com/mattn/go-sqlite3"
"github.com/tidwall/gjson"
)
-1
View File
@@ -12,7 +12,6 @@ import (
"time"
"github.com/gin-gonic/gin"
_ "github.com/mattn/go-sqlite3"
)
func AuthKey(ctx *gin.Context) {
+4 -24
View File
@@ -5,40 +5,20 @@ import (
"encoding/json"
"fmt"
"honoka-chan/encrypt"
"honoka-chan/model"
"net/http"
"time"
"github.com/gin-gonic/gin"
)
type MultiUnitStartUpResp struct {
ResponseData MultiUnitStartUpData `json:"response_data"`
ReleaseInfo []interface{} `json:"release_info"`
StatusCode int `json:"status_code"`
}
type MultiUnitStartUpData struct {
MultiUnitScenarioID int `json:"multi_unit_scenario_id"`
ScenarioAdjustment int `json:"scenario_adjustment"`
ServerTimestamp int64 `json:"server_timestamp"`
}
type MultiUnitStartUpReq struct {
Module string `json:"module"`
Action string `json:"action"`
TimeStamp int `json:"timeStamp"`
Mgd int `json:"mgd"`
MultiUnitScenarioID int `json:"multi_unit_scenario_id"`
CommandNum string `json:"commandNum"`
}
func MultiUnitStartUp(ctx *gin.Context) {
startReq := MultiUnitStartUpReq{}
startReq := model.MultiUnitStartUpReq{}
err := json.Unmarshal([]byte(ctx.PostForm("request_data")), &startReq)
CheckErr(err)
startResp := MultiUnitStartUpResp{
ResponseData: MultiUnitStartUpData{
startResp := model.MultiUnitStartUpResp{
ResponseData: model.MultiUnitStartUpRes{
MultiUnitScenarioID: startReq.MultiUnitScenarioID,
ScenarioAdjustment: 50,
ServerTimestamp: time.Now().Unix(),
+5 -28
View File
@@ -5,43 +5,20 @@ import (
"encoding/json"
"fmt"
"honoka-chan/encrypt"
"honoka-chan/model"
"net/http"
"time"
"github.com/gin-gonic/gin"
)
type ProductResp struct {
ResponseData ProductData `json:"response_data"`
ReleaseInfo []interface{} `json:"release_info"`
StatusCode int `json:"status_code"`
}
type RestrictionInfo struct {
Restricted bool `json:"restricted"`
}
type UnderAgeInfo struct {
BirthSet bool `json:"birth_set"`
HasLimit bool `json:"has_limit"`
LimitAmount interface{} `json:"limit_amount"`
MonthUsed int `json:"month_used"`
}
type ProductData struct {
RestrictionInfo RestrictionInfo `json:"restriction_info"`
UnderAgeInfo UnderAgeInfo `json:"under_age_info"`
SnsProductList []interface{} `json:"sns_product_list"`
ProductList []interface{} `json:"product_list"`
SubscriptionList []interface{} `json:"subscription_list"`
ShowPointShop bool `json:"show_point_shop"`
ServerTimestamp int64 `json:"server_timestamp"`
}
func ProductList(ctx *gin.Context) {
prodReesp := ProductResp{
ResponseData: ProductData{
RestrictionInfo: RestrictionInfo{
prodReesp := model.ProductResp{
ResponseData: model.ProductRes{
RestrictionInfo: model.RestrictionInfo{
Restricted: false,
},
UnderAgeInfo: UnderAgeInfo{
UnderAgeInfo: model.UnderAgeInfo{
BirthSet: true,
HasLimit: false,
LimitAmount: nil,
+21 -32
View File
@@ -17,7 +17,6 @@ import (
"github.com/forgoer/openssl"
"github.com/gin-gonic/gin"
_ "github.com/mattn/go-sqlite3"
)
type LoginResp struct {
@@ -50,7 +49,7 @@ type LoginAutoResp struct {
Result int `json:"result"`
Message string `json:"message"`
Autokey string `json:"autokey"`
Userid string `json:"userid"`
UserId string `json:"userid"`
Ticket string `json:"ticket"`
}
@@ -222,21 +221,17 @@ func LoginAuto(ctx *gin.Context) {
return
}
stmt, err := UserEng.DB().Prepare("SELECT userid,ticket AS ct FROM users WHERE autokey = ?")
CheckErr(err)
defer stmt.Close()
var userid, ticket string
err = stmt.QueryRow(autoKey).Scan(&userid, &ticket)
var userId, ticket string
_, err = UserEng.Table("users").Cols("userid,ticket").Where("autokey = ?", autoKey).Get(&userId, &ticket)
CheckErr(err)
var resp string
if userid != "" {
if userId != "" {
autoResp := LoginAutoResp{
Result: 0,
Message: "ok",
Autokey: autoKey,
Userid: userid,
UserId: userId,
Ticket: ticket,
}
data, err := json.Marshal(autoResp)
@@ -314,18 +309,10 @@ func AccountLogin(ctx *gin.Context) {
// "userid" INTEGER,
// "key" INTEGER
// );`
stmt, err := UserEng.DB().Prepare("SELECT password,autokey,ticket,userid FROM users WHERE phone = ?")
var pass, autoKey, ticket, userId string
_, err = UserEng.Table("users").Cols("password,autokey,ticket,userid").Where("phone = ?", phone).
Get(&pass, &autoKey, &ticket, &userId)
CheckErr(err)
defer stmt.Close()
var pass, autokey, ticket, userid string
rows, err := stmt.Query(phone)
CheckErr(err)
defer rows.Close()
for rows.Next() {
err = rows.Scan(&pass, &autokey, &ticket, &userid)
CheckErr(err)
}
loginResp := LoginResp{}
loginCode := 0
@@ -336,15 +323,16 @@ func AccountLogin(ctx *gin.Context) {
session := UserEng.NewSession()
defer session.Close()
// 开始会话
if err = session.Begin(); err != nil {
session.Rollback()
panic(err)
}
pass = openssl.Md5ToString(password)
autokey = "AUTO" + strings.ToUpper(utils.RandomStr(32))
userid = strconv.Itoa(int(loginTime))
ticket = "9999999" + userid + userid
autoKey = "AUTO" + strings.ToUpper(utils.RandomStr(32))
userId = strconv.Itoa(int(loginTime))
ticket = "9999999" + userId + userId
userStmt, err := session.DB().Prepare("INSERT INTO users(phone,password,autokey,ticket,userid,last_login_time) VALUES (?,?,?,?,?,?)")
if err != nil {
session.Rollback()
@@ -352,7 +340,7 @@ func AccountLogin(ctx *gin.Context) {
}
defer userStmt.Close()
_, err = userStmt.Exec(phone, pass, autokey, ticket, userid, loginTime)
_, err = userStmt.Exec(phone, pass, autoKey, ticket, userId, loginTime)
if err != nil {
session.Rollback()
panic(err)
@@ -367,12 +355,13 @@ func AccountLogin(ctx *gin.Context) {
}
// 方便起见初始化 userid 和 key 一样
// 注意:user_key 表中的 key 是上文生成的用于登录的 userid,而 userid 则是用于 Authorize Token 生成用的
_, err = keyStmt.Exec(userid, userid)
_, err = keyStmt.Exec(userId, userId)
if err != nil {
session.Rollback()
panic(err)
}
// 结束会话
if err = session.Commit(); err != nil {
session.Rollback()
panic(err)
@@ -381,32 +370,32 @@ func AccountLogin(ctx *gin.Context) {
tools.InitUserData(int(loginTime))
// Login Response
loginResp.Autokey = autokey
loginResp.Autokey = autoKey
loginResp.HasRealInfo = 1
loginResp.Message = "ok"
loginResp.RealInfoForce = 1
loginResp.Ticket = ticket
loginResp.UserAttribute = "0"
loginResp.Userid = userid
loginResp.Userid = userId
} else {
// 已注册
if openssl.Md5ToString(password) == pass {
// 密码正确
// Login Response
loginResp.Autokey = autokey // 注意:更换设备(deviceId 发生变化)应重新生成 autokey
loginResp.Autokey = autoKey // 注意:更换设备(deviceId 发生变化)应重新生成 autokey
loginResp.HasRealInfo = 1
loginResp.Message = "ok"
loginResp.RealInfoForce = 1
loginResp.Ticket = "9999999" + userid + strconv.Itoa(int(loginTime)) // 实际登录用的密码(每次登录都会重新生成新的)
loginResp.Ticket = "9999999" + userId + strconv.Itoa(int(loginTime)) // 实际登录用的密码(每次登录都会重新生成新的)
loginResp.UserAttribute = "0"
loginResp.Userid = userid // 实际登录用的账号
loginResp.Userid = userId // 实际登录用的账号
// 更新信息
userStmt, err := UserEng.DB().Prepare("UPDATE users SET autokey=?,ticket=?,last_login_time=? WHERE userid=?")
CheckErr(err)
defer userStmt.Close()
_, err = userStmt.Exec(autokey, ticket, loginTime, userid)
_, err = userStmt.Exec(autoKey, ticket, loginTime, userId)
CheckErr(err)
// aff, _ := res.RowsAffected()
// fmt.Println("RowsAffected:", aff)
+4 -24
View File
@@ -5,6 +5,7 @@ import (
"encoding/json"
"fmt"
"honoka-chan/encrypt"
"honoka-chan/model"
"honoka-chan/utils"
"net/http"
"time"
@@ -12,34 +13,13 @@ import (
"github.com/gin-gonic/gin"
)
type ScenarioResp struct {
ResponseData ScenarioData `json:"response_data"`
ReleaseInfo []interface{} `json:"release_info"`
StatusCode int `json:"status_code"`
}
type ScenarioData struct {
ScenarioID int `json:"scenario_id"`
ScenarioAdjustment int `json:"scenario_adjustment"`
ServerTimestamp int64 `json:"server_timestamp"`
}
type ScenarioReq struct {
Module string `json:"module"`
Action string `json:"action"`
TimeStamp int `json:"timeStamp"`
Mgd int `json:"mgd"`
CommandNum string `json:"commandNum"`
ScenarioID int `json:"scenario_id"`
}
func ScenarioStartup(ctx *gin.Context) {
startReq := ScenarioReq{}
startReq := model.ScenarioReq{}
err := json.Unmarshal([]byte(ctx.PostForm("request_data")), &startReq)
CheckErr(err)
startResp := ScenarioResp{
ResponseData: ScenarioData{
startResp := model.ScenarioResp{
ResponseData: model.ScenarioRes{
ScenarioID: startReq.ScenarioID,
ScenarioAdjustment: 50,
ServerTimestamp: time.Now().Unix(),
+4 -24
View File
@@ -5,6 +5,7 @@ import (
"encoding/json"
"fmt"
"honoka-chan/encrypt"
"honoka-chan/model"
"honoka-chan/utils"
"net/http"
"time"
@@ -12,34 +13,13 @@ import (
"github.com/gin-gonic/gin"
)
type SubScenarioResp struct {
ResponseData SubScenarioData `json:"response_data"`
ReleaseInfo []interface{} `json:"release_info"`
StatusCode int `json:"status_code"`
}
type SubScenarioData struct {
SubscenarioID int `json:"subscenario_id"`
ScenarioAdjustment int `json:"scenario_adjustment"`
ServerTimestamp int64 `json:"server_timestamp"`
}
type SubScenarioReq struct {
Module string `json:"module"`
Action string `json:"action"`
TimeStamp int `json:"timeStamp"`
SubscenarioID int `json:"subscenario_id"`
Mgd int `json:"mgd"`
CommandNum string `json:"commandNum"`
}
func SubScenarioStartup(ctx *gin.Context) {
startReq := SubScenarioReq{}
startReq := model.SubScenarioReq{}
err := json.Unmarshal([]byte(ctx.PostForm("request_data")), &startReq)
CheckErr(err)
startResp := SubScenarioResp{
ResponseData: SubScenarioData{
startResp := model.SubScenarioResp{
ResponseData: model.SubScenarioRes{
SubscenarioID: startReq.SubscenarioID,
ScenarioAdjustment: 50,
ServerTimestamp: time.Now().Unix(),
+11 -6
View File
@@ -6,7 +6,6 @@ import (
"fmt"
"honoka-chan/encrypt"
"honoka-chan/model"
"honoka-chan/tools"
"net/http"
"strconv"
"time"
@@ -76,7 +75,7 @@ func SetDeck(ctx *gin.Context) {
// 遍历新队伍
for _, deck := range deckReq.UnitDeckList {
// 新队伍信息
userDeck := tools.UserDeckData{
userDeck := model.UserDeckData{
DeckID: deck.UnitDeckID,
MainFlag: deck.MainFlag,
DeckName: deck.DeckName,
@@ -94,7 +93,7 @@ func SetDeck(ctx *gin.Context) {
// 队伍成员信息
for _, unit := range deck.UnitDeckDetail {
// 成员信息
newUnitData := tools.UnitData{}
newUnitData := model.UnitData{}
exists, err := session.Table("user_unit_m").Where("unit_owning_user_id = ?", unit.UnitOwningUserID).Exist()
if err != nil {
session.Rollback()
@@ -129,7 +128,7 @@ func SetDeck(ctx *gin.Context) {
// fmt.Println("新的成员信息:", newUnitData)
// 插入新成员信息
newUnitDeckData := tools.UnitDeckData{}
newUnitDeckData := model.UnitDeckData{}
b, err := json.Marshal(newUnitData)
if err != nil {
session.Rollback()
@@ -191,10 +190,10 @@ func SetDeckName(ctx *gin.Context) {
ctx.String(http.StatusForbidden, ErrorMsg)
return
}
userDeck := tools.UserDeckData{
userDeck := model.UserDeckData{
DeckName: deckReq.DeckName,
}
_, err = UserEng.Table("user_deck_m").Update(&userDeck, &tools.UserDeckData{
_, err = UserEng.Table("user_deck_m").Update(&userDeck, &model.UserDeckData{
UserID: userId,
DeckID: deckReq.UnitDeckID,
})
@@ -245,6 +244,7 @@ func WearAccessory(ctx *gin.Context) {
panic(err)
}
}
// 佩戴饰品
for _, v := range req.Wear {
fmt.Println("Wear:", v.AccessoryOwningUserID, v.UnitOwningUserID)
@@ -256,6 +256,8 @@ func WearAccessory(ctx *gin.Context) {
_, err := session.Table("accessory_wear_m").Insert(&data)
CheckErr(err)
}
// 结束事务
if err := session.Commit(); err != nil {
session.Rollback()
panic(err)
@@ -306,6 +308,7 @@ func RemoveSkillEquip(ctx *gin.Context) {
panic(err)
}
}
// 佩戴宝石
for _, v := range req.Equip {
fmt.Println("Equip:", v.UnitOwningUserID, v.UnitRemovableSkillID)
@@ -317,6 +320,8 @@ func RemoveSkillEquip(ctx *gin.Context) {
_, err := session.Table("skill_equip_m").Insert(&data)
CheckErr(err)
}
// 结束事务
if err := session.Commit(); err != nil {
session.Rollback()
panic(err)
+1 -7
View File
@@ -14,14 +14,8 @@ import (
"github.com/tidwall/gjson"
)
type NotificationResp struct {
ResponseData []interface{} `json:"response_data"`
ReleaseInfo []interface{} `json:"release_info"`
StatusCode int `json:"status_code"`
}
func SetNotificationToken(ctx *gin.Context) {
notifResp := NotificationResp{
notifResp := model.NotificationResp{
ResponseData: []interface{}{},
ReleaseInfo: []interface{}{},
StatusCode: 200,
+1 -2
View File
@@ -3,7 +3,6 @@ package handler
import (
"encoding/json"
"honoka-chan/model"
"honoka-chan/tools"
"honoka-chan/utils"
"net/http"
"path"
@@ -130,7 +129,7 @@ func Upload(ctx *gin.Context) {
skillExp = 29900
}
unitData := tools.UnitData{
unitData := model.UnitData{
UserID: ctx.GetInt("userid"),
UnitID: unitId,
Exp: unitExp + diffExp,