Commit e0129d0d8c2aa0a55292e5b5ee1a28294e4b1ea2
1 parent
629a330b
Exists in
master
猫咖啡接口提交
Showing
7 changed files
with
561 additions
and
467 deletions
Show diff stats
src/HttpServer/logic/datadef.go
| 1 | package logic | 1 | package logic |
| 2 | 2 | ||
| 3 | -type UserLoginData struct { | ||
| 4 | - //Uuid int `json:"uuid"` | ||
| 5 | - Fromid int `json:"fromid"` | ||
| 6 | - Sharetype int `json:"sharetype"` | ||
| 7 | -} | ||
| 8 | - | ||
| 9 | -type UserLoginResp struct { | ||
| 10 | - Code int `json:"code"` | ||
| 11 | - Message string `json:"message"` | ||
| 12 | - Gold int64 `json:"gold"` | ||
| 13 | - Love int64 `json:"love"` | ||
| 14 | - Goldrate int64 `json:"goldrate"` | ||
| 15 | - Loverate int64 `json:"loverate"` | ||
| 16 | - Highestlv int `json:"highestlv"` | ||
| 17 | - Curboxlv int `json:"curboxlv"` | ||
| 18 | - Isdoublegold int `json:"isdoublegold"` | ||
| 19 | - Isauto int `json:"isauto"` | ||
| 20 | - Offlinegold int64 `json:"offlinegold"` | ||
| 21 | - Offlinelove int64 `json:"offlinelove"` | ||
| 22 | - Data []DataDesc `json:"data"` | ||
| 23 | -} | ||
| 24 | - | ||
| 25 | -type GetUserDataReq struct { | ||
| 26 | - //Uuid int `json:"uuid"` | ||
| 27 | -} | ||
| 28 | - | ||
| 29 | -type GetUserDataResp struct { | ||
| 30 | - Code int `json:"code"` | ||
| 31 | - Message string `json:"message"` | ||
| 32 | - Gold int64 `json:"gold"` | ||
| 33 | - Love int64 `json:"love"` | ||
| 34 | - Dougoldlefttime int `json:"dougoldlefttime"` | ||
| 35 | - Automlefttime int `json:"automlefttime"` | ||
| 36 | - Acclcteboxlefttime int `json:"acclcteboxlefttime"` | ||
| 37 | - Israndgift int `json:"israndgift"` | ||
| 38 | -} | ||
| 39 | - | ||
| 40 | -type DataDesc struct { | ||
| 41 | - Pos int `json:"pos"` | ||
| 42 | - Catlv int `json:"cat_lv"` | ||
| 43 | - Countdown int `json:"countdown"` | ||
| 44 | -} | ||
| 45 | - | ||
| 46 | -type ExchangePosReq struct { | ||
| 47 | - //Uuid int `json:"uuid"` | ||
| 48 | - Pos_1 int `json:"pos_1"` | ||
| 49 | - Pos_2 int `json:"pos_2"` | ||
| 50 | -} | ||
| 51 | - | ||
| 52 | -type ExchangePosResp struct { | ||
| 53 | - Code int `json:"code"` | ||
| 54 | - Message string `json:"message"` | ||
| 55 | - Pos1_lv int `json:"pos1_lv"` | ||
| 56 | - Pos2_lv int `json:"pos2_lv"` | ||
| 57 | - Highest_lv int `json:"highest_lv"` | ||
| 58 | - Add_num int `json:"add_num"` | ||
| 59 | -} | ||
| 60 | - | ||
| 61 | -type ClickBoxReq struct { | ||
| 62 | - //Uuid int `json:"uuid"` | ||
| 63 | - Pos int `json:"pos"` | ||
| 64 | -} | ||
| 65 | - | ||
| 66 | -type ClickBoxResp struct { | ||
| 67 | - Code int `json:"code"` | ||
| 68 | - Message string `json:"message"` | ||
| 69 | - Pos int `json:"pos"` | ||
| 70 | - Lv int `json:"lv"` | ||
| 71 | -} | ||
| 72 | - | ||
| 73 | -type UpgradeBoxReq struct { | ||
| 74 | - //Uuid int `json:"uuid"` | ||
| 75 | -} | ||
| 76 | -type UpgradeBoxResp struct { | ||
| 77 | - Code int `json:"code"` | ||
| 78 | - Message string `json:"message"` | ||
| 79 | - Boxlv int `json:"boxlv"` | ||
| 80 | -} | ||
| 81 | - | ||
| 82 | -type GenerateBoxReq struct { | ||
| 83 | - //Uuid int `json:"uuid"` | ||
| 84 | - Pos int `json:"pos"` | ||
| 85 | -} | ||
| 86 | - | ||
| 87 | -type GenerateBoxResp struct { | ||
| 88 | - Code int `json:"code"` | ||
| 89 | - Message string `json:"message"` | ||
| 90 | -} | ||
| 91 | - | ||
| 92 | -type AcclecteReq struct { | ||
| 93 | - //Uuid int `json:"uuid"` | ||
| 94 | -} | ||
| 95 | -type AcclecteResp struct { | ||
| 96 | - Code int `json:"code"` | ||
| 97 | - Message string `json:"message"` | ||
| 98 | -} | ||
| 99 | - | ||
| 100 | -type AcclecteBoxResp struct { | ||
| 101 | - Code int `json:"code"` | ||
| 102 | - Message string `json:"message"` | ||
| 103 | -} | ||
| 104 | - | ||
| 105 | -type AutomergeReq struct { | ||
| 106 | - //Uuid int `json:"uuid"` | ||
| 107 | -} | ||
| 108 | -type AutomergeResp struct { | ||
| 109 | - Code int `json:"code"` | ||
| 110 | - Message string `json:"message"` | ||
| 111 | -} | ||
| 112 | - | ||
| 113 | -type QueryBuyCatReq struct { | ||
| 114 | - //Uuid int `json:"uuid"` | ||
| 115 | -} | ||
| 116 | -type QueryBuyCatResp struct { | ||
| 117 | - Code int `json:"code"` | ||
| 118 | - Message string `json:"message"` | ||
| 119 | - Maxcatlv int `json:"maxcatlv"` | ||
| 120 | - Data []BuyCatDesc `json:"data"` | ||
| 121 | -} | ||
| 122 | - | ||
| 123 | -type BuyCatDesc struct { | ||
| 124 | - Lv int `json:"lv"` | ||
| 125 | - Goldnum int64 `json:"goldnum"` | ||
| 126 | -} | ||
| 127 | - | ||
| 128 | -type ClickRandGiftReq struct { | ||
| 129 | - //Uuid int `json:"uuid"` | ||
| 130 | -} | ||
| 131 | -type ClickRandGiftResp struct { | ||
| 132 | - Code int `json:"code"` | ||
| 133 | - Message string `json:"message"` | ||
| 134 | - Gold int64 `json:"gold"` | ||
| 135 | - Lefttime int `json:"lefttime"` | ||
| 136 | -} | ||
| 137 | - | ||
| 138 | -type DoBuyCatReq struct { | ||
| 139 | - Lv int `json:"lv"` | ||
| 140 | -} | ||
| 141 | -type DoBuyCatResp struct { | ||
| 142 | - Code int `json:"code"` | ||
| 143 | - Message string `json:"message"` | ||
| 144 | - Pos int `json:"pos"` | ||
| 145 | -} | ||
| 146 | - | ||
| 147 | -type QueryWareHouseResp struct { | ||
| 148 | - Code int `json:"code"` | ||
| 149 | - Message string `json:"message"` | ||
| 150 | - Data []DataDesc `json:"data"` | ||
| 151 | -} | ||
| 152 | - | ||
| 153 | -type QueryAutomergeResp struct { | ||
| 154 | - Code int `json:"code"` | ||
| 155 | - Message string `json:"message"` | ||
| 156 | - Goldrate int64 `json:"goldrate"` | ||
| 157 | - Higestlv int `json:"higestlv"` | ||
| 158 | - Curcatjianum int `json:"curcatjianum"` | ||
| 159 | - Data []DataDesc `json:"data"` | ||
| 160 | -} | ||
| 161 | - | ||
| 162 | -type PutWareHouseReq struct { | ||
| 163 | - Pos int `json:"pos"` | ||
| 164 | -} | ||
| 165 | -type PutWareHouseResp struct { | ||
| 166 | - Code int `json:"code"` | ||
| 167 | - Message string `json:"message"` | ||
| 168 | - Warepos int `json:"warepos"` | ||
| 169 | -} | ||
| 170 | - | ||
| 171 | -type TakeWareHouseReq struct { | ||
| 172 | - Warepos int `json:"warepos"` | ||
| 173 | -} | ||
| 174 | -type TakeWareHouseResp struct { | ||
| 175 | - Code int `json:"code"` | ||
| 176 | - Message string `json:"message"` | ||
| 177 | - Pos int `json:"pos"` | ||
| 178 | -} | ||
| 179 | 3 | ||
| 180 | -type CatRoomDesc struct { | ||
| 181 | - Pos int `json:"pos"` | ||
| 182 | - Catlv int `json:"cat_lv"` | ||
| 183 | -} | 4 | +//登录类型枚举 |
| 5 | +const ( | ||
| 6 | + LOGIN_TYPE_TOURIST = 1 //游客登录 | ||
| 7 | + LOGIN_TYPE_ACCOUNT = 2 //账号密码登录 | ||
| 8 | + LOGIN_TYPE_WECHAT = 3 //微信登录 | ||
| 184 | 9 | ||
| 185 | -type QueryCatRoomInfoResp struct { | ||
| 186 | - Code int `json:"code"` | ||
| 187 | - Message string `json:"message"` | ||
| 188 | - Data []CatRoomDesc `json:"data"` | ||
| 189 | -} | 10 | +) |
| 190 | 11 | ||
| 191 | -type BuyCatRoomReq struct { | 12 | +type UserLoginReq struct { |
| 13 | + Channel_id int `json:"channel_id"` | ||
| 14 | + Invite_type int `json:"invite_type"` | ||
| 15 | + Invite_res_id int `json:"invite_res_id"` | ||
| 16 | + User_invite_uid int `json:"user_invite_uid"` | ||
| 17 | + Scene int `json:"scene"` | ||
| 18 | + RefAppId int `json:"refAppId"` | ||
| 19 | + Code string `json:"code"` | ||
| 20 | + Token string `json:"token"` | ||
| 21 | + Logintype int `json:"logintype"` | ||
| 22 | + Useraccount string `json:"useraccount"` | ||
| 23 | + Userpwd string `json:"userpwd"` | ||
| 24 | + Version string `json:"version"` | ||
| 25 | + | ||
| 26 | +} | ||
| 27 | + | ||
| 28 | +type UserBaseData struct { | ||
| 29 | + User_id int `json:"user_id"` | ||
| 30 | + User_gender int `json:"user_gender"` | ||
| 31 | + User_nickname string `json:"user_nickname"` | ||
| 32 | + User_openid string `json:"user_openid"` | ||
| 33 | + User_avatar_url string `json:"user_avatar_url"` | ||
| 34 | + User_city string `json:"user_city"` | ||
| 35 | + User_token string `json:"user_token"` | ||
| 36 | +} | ||
| 37 | + | ||
| 38 | +type UserExtData struct { | ||
| 39 | + User_id int `json:"user_id"` | ||
| 40 | + Hot int `json:"hot"` | ||
| 41 | + Coin int64 `json:"coin"` | ||
| 42 | + LoveExp int `json:"loveExp"` | ||
| 43 | + Bean int `json:"bean"` | ||
| 44 | + ShopNum int `json:"shopNum"` | ||
| 192 | Lv int `json:"lv"` | 45 | Lv int `json:"lv"` |
| 46 | + Exp int `json:"exp"` | ||
| 47 | + User_invite_uid int `json:"user_invite_uid"` | ||
| 48 | + User_reg_time int `json:"user_reg_time"` | ||
| 49 | + User_channel int `json:"user_channel"` | ||
| 50 | + User_is_black int `json:"user_is_black"` | ||
| 51 | + User_scene int `json:"user_scene"` | ||
| 52 | + Reg_time int `json:"reg_time"` | ||
| 53 | + Invite_uid int `json:"invite_uid"` | ||
| 193 | } | 54 | } |
| 194 | 55 | ||
| 195 | -type BuyCatRoomResp struct { | ||
| 196 | - Code int `json:"code"` | ||
| 197 | - Message string `json:"message"` | ||
| 198 | -} | ||
| 199 | - | ||
| 200 | -type UpCattoRoomReq struct { | ||
| 201 | - Roompos int `json:"roompos"` | ||
| 202 | - Callv int `json:"callv"` | ||
| 203 | - Optype int `json:"optype"` | ||
| 204 | -} | ||
| 205 | - | ||
| 206 | -type UpCattoRoommResp struct { | ||
| 207 | - Code int `json:"code"` | ||
| 208 | - Message string `json:"message"` | ||
| 209 | -} | ||
| 210 | - | ||
| 211 | -type QueryCatShopInfoResp struct { | ||
| 212 | - Code int `json:"code"` | ||
| 213 | - Message string `json:"message"` | ||
| 214 | - Chapter int `json:"chapter"` | ||
| 215 | - Section int `json:"section"` | ||
| 216 | - Lefttime int `json:"lefttime"` | ||
| 217 | - Canwatch int `json:"canwatch"` | ||
| 218 | - Storyhappen int `json:"storyhappen"` | ||
| 219 | -} | ||
| 220 | - | ||
| 221 | -type CatShoPlayReq struct { | ||
| 222 | - Catlv int `json:"catlv"` | ||
| 223 | -} | ||
| 224 | -type CatShoPlayResp struct { | ||
| 225 | - Code int `json:"code"` | ||
| 226 | - Message string `json:"message"` | ||
| 227 | - Lefttime int `json:"lefttime"` | ||
| 228 | - Canwatch int `json:"canwatch"` | ||
| 229 | -} | ||
| 230 | - | ||
| 231 | -type GetCatShopRewardReq struct { | ||
| 232 | - Optype int `json:"optype"` | ||
| 233 | -} | ||
| 234 | - | ||
| 235 | -type GetCatShopRewardResp struct { | ||
| 236 | - Code int `json:"code"` | ||
| 237 | - Message string `json:"message"` | ||
| 238 | - Love int64 `json:"love"` | ||
| 239 | -} | ||
| 240 | - | ||
| 241 | -type AcclecteCatStoryResp struct { | ||
| 242 | - Code int `json:"code"` | ||
| 243 | - Message string `json:"message"` | ||
| 244 | -} | ||
| 245 | - | ||
| 246 | -type UpdateUserInfoReq struct { | ||
| 247 | - Headurl string `json:"headurl"` | ||
| 248 | - Nickname string `json:"nickname"` | ||
| 249 | - Realname string `json:"realname"` | ||
| 250 | -} | ||
| 251 | - | ||
| 252 | -type UpdateUserInfoResp struct { | ||
| 253 | - Code int `json:"code"` | ||
| 254 | - Message string `json:"message"` | 56 | +type UserLoginData struct { |
| 57 | + Dasedata UserBaseData `json:"UserBaseData"` | ||
| 58 | + Extdata UserExtData `json:"user_ext_data"` | ||
| 255 | } | 59 | } |
| 256 | 60 | ||
| 257 | -type RankInfoDesc struct { | ||
| 258 | - Rank int `json:"rank"` | ||
| 259 | - Headurl string `json:"headurl"` | ||
| 260 | - Nickname string `json:"nickname"` | ||
| 261 | - Catlv int `json:"catlv"` | ||
| 262 | - Goldnum int64 `json:"goldnum"` | 61 | +type UserLoginResult struct { |
| 62 | + Code int `json:"code"` | ||
| 63 | + Data UserLoginData `json:"data"` | ||
| 263 | } | 64 | } |
| 264 | 65 | ||
| 265 | -type QueryPlayerRankResp struct { | ||
| 266 | - Code int `json:"code"` | ||
| 267 | - Message string `json:"message"` | ||
| 268 | - Data []RankInfoDesc `json:"data"` | ||
| 269 | -} | ||
| 270 | 66 | ||
| 271 | -type QueryCompleteTaskDesc struct { | ||
| 272 | - Taskid int `json:"taskid"` | ||
| 273 | -} | ||
| 274 | 67 | ||
| 275 | -type QueryOnlienTaskDesc struct { | ||
| 276 | - Taskid int `json:"taskid"` | ||
| 277 | - Lefttime int64 `json:"lefttime"` | ||
| 278 | -} | 68 | +type UserLoginResp struct { |
| 69 | + Status string `json:"status"` | ||
| 70 | + Result UserLoginResult `json:"result"` | ||
| 279 | 71 | ||
| 280 | -type QueryCompleteTaskResp struct { | ||
| 281 | - Code int `json:"code"` | ||
| 282 | - Message string `json:"message"` | ||
| 283 | - Data []QueryCompleteTaskDesc `json:"data"` | ||
| 284 | - Online []QueryOnlienTaskDesc `json:"online"` | ||
| 285 | } | 72 | } |
| 286 | 73 | ||
| 287 | -type QueryCompleteAchievementDesc struct { | ||
| 288 | - Achieveid int `json:"achieveid"` | 74 | +type SaveUserDataReq struct{ |
| 75 | + Token string `json:"token"` | ||
| 76 | + Hot int `json:"hot"` | ||
| 77 | + Coin int64 `json:"coin"` | ||
| 78 | + Loveexp int `json:"loveexp"` | ||
| 79 | + Bean int `json:"bean"` | ||
| 80 | + Shopnum int `json:"shopnum"` | ||
| 289 | } | 81 | } |
| 290 | 82 | ||
| 291 | -type QueryCompleteAchievementResp struct { | ||
| 292 | - Code int `json:"code"` | ||
| 293 | - Message string `json:"message"` | ||
| 294 | - Data []QueryCompleteAchievementDesc `json:"data"` | 83 | +type SaveUserDataResp struct { |
| 84 | + Status string `json:"status"` | ||
| 85 | + Result UserLoginResult `json:"result"` | ||
| 295 | } | 86 | } |
| 296 | 87 | ||
| 297 | -type GetTaskRewardReq struct { | ||
| 298 | - Taskid int `json:"taskid"` | 88 | +type CommonResult struct { |
| 89 | + Code int `json:"code"` | ||
| 90 | + Data string `json:"data"` | ||
| 299 | } | 91 | } |
| 300 | 92 | ||
| 301 | -type GetTaskRewardResp struct { | ||
| 302 | - Code int `json:"code"` | ||
| 303 | - Message string `json:"message"` | 93 | +type SaveDataReq struct{ |
| 94 | + Token string `json:"token"` | ||
| 95 | + Field string `json:"field"` | ||
| 96 | + Value string `json:"value"` | ||
| 304 | } | 97 | } |
| 305 | 98 | ||
| 306 | -type GetAchieveRewardReq struct { | ||
| 307 | - Achieveid int `json:"achieveid"` | 99 | +type SaveDataResp struct { |
| 100 | + Status string `json:"status"` | ||
| 101 | + Result CommonResult `json:"result"` | ||
| 308 | } | 102 | } |
| 309 | 103 | ||
| 310 | -type GetAchieveRewardResp struct { | ||
| 311 | - Code int `json:"code"` | ||
| 312 | - Message string `json:"message"` | 104 | +type GetDataDesc struct { |
| 105 | + Base_data string `json:"base_data"` | ||
| 313 | } | 106 | } |
| 314 | 107 | ||
| 315 | -type StartOnlineTaskReq struct { | ||
| 316 | - Taskid int `json:"taskid"` | 108 | +type GetDataResult struct { |
| 109 | + Code int `json:"code"` | ||
| 110 | + Data GetDataDesc `json:"data"` | ||
| 317 | } | 111 | } |
| 318 | 112 | ||
| 319 | -type StartOnlineTaskResp struct { | ||
| 320 | - Code int `json:"code"` | ||
| 321 | - Message string `json:"message"` | ||
| 322 | - Lefttime int `json:"lefttime"` | 113 | +type GetDataReq struct{ |
| 114 | + Token string `json:"token"` | ||
| 115 | + Field string `json:"field"` | ||
| 323 | } | 116 | } |
| 324 | 117 | ||
| 325 | -type GetOfflineRewardReq struct { | ||
| 326 | - Optype int `json:"optype"` | 118 | +type GetDataResp struct { |
| 119 | + Status string `json:"status"` | ||
| 120 | + Result GetDataResult `json:"result"` | ||
| 327 | } | 121 | } |
| 328 | 122 | ||
| 329 | -type GetOfflineRewardResp struct { | ||
| 330 | - Code int `json:"code"` | ||
| 331 | - Message string `json:"message"` | ||
| 332 | - Gold int64 `json:"gold"` | ||
| 333 | - Love int64 `json:"love"` | ||
| 334 | -} | ||
| 335 | 123 | ||
| 336 | //********************************************************************************************************** | 124 | //********************************************************************************************************** |
| 337 | 125 | ||
| 338 | -type PosData struct { | ||
| 339 | - Pos int | ||
| 340 | - Catlv int | ||
| 341 | - Countdown int //倒计时 为0表示没有 | ||
| 342 | - //UpPos int //上阵的位置 0表示未上阵 | ||
| 343 | -} | ||
| 344 | - | ||
| 345 | -//玩家购买猫详情 | ||
| 346 | -type BuyCatInfoData struct { | ||
| 347 | - Buytime int //购买次数 | ||
| 348 | - IsMaxBuytime int //是否达到涨价上线 1是0否 | ||
| 349 | - CurPrice int64 //当前价格 | ||
| 350 | -} | ||
| 351 | - | ||
| 352 | -//猫咖店家具数据 | ||
| 353 | -type CatRoomData struct { | ||
| 354 | - LvCatlv int //入住猫的等级 | ||
| 355 | -} | ||
| 356 | - | ||
| 357 | -//猫咖门店数据 | ||
| 358 | -type CatShopData struct { | ||
| 359 | - Chapter int //当前所处进度 对应shopcaofig的id | ||
| 360 | - Section int //当前小节进度 ,即当前大章节第几次故事 | ||
| 361 | - IsPlaying int //是否处于探险模式 1是0否 | ||
| 362 | - LeftTime int //探险剩余时间 | ||
| 363 | - PlayTimes int //当前为第几次探险 | ||
| 364 | - DayNum int //当天日期,用于判断跨天 | ||
| 365 | - TotalWatchNumLeft int //当天剩余看视频次数 | ||
| 366 | - ThisIsWatch int //本次探险是否已经看过视频 | ||
| 367 | - IsMax int //是否已经通关 1是0否 | ||
| 368 | - CurCatLv int //参加探险的猫等级 | ||
| 369 | - IsStoryHappen int //此次是否触发故事 | ||
| 370 | -} | ||
| 371 | - | ||
| 372 | -//玩家排行榜数据 | ||
| 373 | -type UserRankInfo struct { | ||
| 374 | - Gold int64 //金币 | ||
| 375 | - Head string //头像地址 | ||
| 376 | - NickName string //昵称 | ||
| 377 | - Highestlv int //当前最高猫等级 | ||
| 378 | - Uuid int //uuid | ||
| 379 | -} | ||
| 380 | - | ||
| 381 | -//玩家任务数据 每日清零 | ||
| 382 | -type TaskData struct { | ||
| 383 | - //StartOnline int //开始计算在线时间 | ||
| 384 | - StartOnline map[int]int64 //记录对应takid 和开始计时的时间 | ||
| 385 | - BuyCatTime int //商店购买猫次数 | ||
| 386 | - MergeTime int //合成猫次数 | ||
| 387 | - PlayWithTime int //陪玩次数 | ||
| 388 | - WatchAddTime int //看广告次数 | ||
| 389 | - CompleteId map[int]int //已经完成的任务的id,对应task表的id value无用 | ||
| 390 | - HaveComplete map[int]int //记录当日已完成的任务,已完成则不再完成 | ||
| 391 | -} | ||
| 392 | - | ||
| 393 | -//玩家成就数据 | ||
| 394 | -type AchieveMentData struct { | ||
| 395 | - GetNewCatTime int //累计解锁新猫次数 | ||
| 396 | - GetAllJia int //累计获得猫爬架次数 | ||
| 397 | - GetRoomJu int //累计解锁新家具次数 | ||
| 398 | - StoryTime int //累计解锁故事 | ||
| 399 | - ShopTime int //累计解锁店铺 | ||
| 400 | - CompleteId map[int]int //已经完成的任务的id,对应achievement表id value为无用 | ||
| 401 | - HaveComplete map[int]int //记录已完成成就已完成则不再触发 | ||
| 402 | -} | ||
| 403 | 126 | ||
| 404 | //玩家数据 | 127 | //玩家数据 |
| 405 | type UserData struct { | 128 | type UserData struct { |
| 406 | - Gold int64 //金币 | ||
| 407 | - Love int64 //爱心值 | ||
| 408 | - Goldrate int64 //金币生成速率 | ||
| 409 | - Loverate int64 //爱心生产速率 | ||
| 410 | - Highestlv int //当前最高猫等级 | ||
| 411 | - InviteId int //邀请者uid | ||
| 412 | - CurBoxLv int //当前猫箱子等级 | ||
| 413 | - IsDouble int //当前加速标签 1表示双倍收益 0表示正常 | ||
| 414 | - IsAuto int //当前是否自动合成 | ||
| 415 | - IsBoxAcc int //是否处于加速生成箱子状态 | ||
| 416 | - RandGiftNum int //当前剩余空投猫粮次数 | ||
| 417 | - RandGiftDay int //记录当前猫粮日期,当日期变化则重置RandGiftNum | ||
| 418 | - RandGiftTime int //记录上一次空投猫粮时间 | ||
| 419 | - Redbag int //红包值 单位为分 | ||
| 420 | - Head string //头像地址 | ||
| 421 | - NickName string //昵称 | ||
| 422 | - RealName string //实名 | ||
| 423 | - IsFirstRedBgCat int //是否合成过红包猫 0表示否1表示是 | ||
| 424 | - OfflineGold int64 //离线金币 | ||
| 425 | - OfflineLove int64 //离线爱心 | ||
| 426 | - CatShopInfo CatShopData //猫咖门店数据 | ||
| 427 | - Taskinfo TaskData //任务数据 | ||
| 428 | - AchieveMent AchieveMentData //成就数据 | ||
| 429 | - PosInfo []PosData //位置信息 从0开始 | ||
| 430 | - BuyCatInfo []BuyCatInfoData //商店购买猫数据 第一个元素为1级猫 第二个为2级猫以此类推 | ||
| 431 | - CatRoomInfo []CatRoomData //猫咖店数据 | 129 | + Userid int //玩家id |
| 130 | + Hot int | ||
| 131 | + Coin int64 //金币 | ||
| 132 | + Loevexp int | ||
| 133 | + Bean int //咖啡豆 | ||
| 134 | + Shopnum int //店铺数量 | ||
| 135 | + Lv int | ||
| 136 | + Exp int | ||
| 137 | + UserInviteId int | ||
| 138 | + Userregtime int | ||
| 139 | + Channel int | ||
| 140 | + Isblack int | ||
| 141 | + Scene int | ||
| 142 | + Regtime int | ||
| 143 | + InviteUid int | ||
| 432 | 144 | ||
| 433 | } | 145 | } |
| 434 | 146 | ||
| 435 | -//仓库数据详情 | ||
| 436 | -type WareHouseDesc struct { | ||
| 437 | - Warelv int //红包猫等级 对应表id | ||
| 438 | -} | ||
| 439 | - | ||
| 440 | -//玩家仓库数据 | ||
| 441 | -type UserWareHouseData struct { | ||
| 442 | - Info []WareHouseDesc //下标表示位置 | ||
| 443 | -} | ||
| 444 | - | ||
| 445 | -const ( | ||
| 446 | - TASK_TYPE_ONLINE = 1 //在线 | ||
| 447 | - TASK_TYPE_BUYCAT = 2 //商店购买猫 | ||
| 448 | - TASK_TYPE_MERGE = 3 //合成猫 | ||
| 449 | - TASK_TYPE_PLAYWITHCAT = 4 //猫咪陪玩 | ||
| 450 | - TASK_TYPE_WATCHADD = 5 //观看广告 | ||
| 451 | - ACH_TYPE_GETCAT = 6 //累计解锁猫 | ||
| 452 | - ACH_TYPE_GETCATJIA = 7 //累计获得猫爬架 | ||
| 453 | - ACH_TYPE_GETCATROOMJIA = 8 //累计解锁新家具 | ||
| 454 | - ACH_TYPE_GETSTORY = 9 //累计解锁新故事 | ||
| 455 | - ACH_TYPE_GBESHOP = 10 //累计用于新店铺 | ||
| 456 | -) |
| @@ -0,0 +1,12 @@ | @@ -0,0 +1,12 @@ | ||
| 1 | +package logic | ||
| 2 | + | ||
| 3 | + | ||
| 4 | +const ( | ||
| 5 | + ERROR_OK = 0 //没有错误 | ||
| 6 | + ERROR_JSONUNMASHFAILED = 1 //json解析失败 | ||
| 7 | + ERROR_GETUSERBASICFAILED = 2 //获取玩家basic数据失败 | ||
| 8 | + ERROR_GETUSEREXTFAILED = 3 //获取玩家ext数据失败 | ||
| 9 | + ERROR_GETUSERIDFAILED = 4 //获取玩家uuid失败 | ||
| 10 | + ERROR_GETUSERMAPBYUIDFAILED = 5 //从玩家在线数据获取失败 | ||
| 11 | + ERROR_SRVDB_FAILED = 6 //服務器存储数据失败或者读取失败 | ||
| 12 | +) | ||
| 0 | \ No newline at end of file | 13 | \ No newline at end of file |
| @@ -0,0 +1,104 @@ | @@ -0,0 +1,104 @@ | ||
| 1 | +package logic | ||
| 2 | + | ||
| 3 | +import ( | ||
| 4 | + "HttpServer/redishandler" | ||
| 5 | + "common/logger" | ||
| 6 | + "common/redis" | ||
| 7 | + "encoding/json" | ||
| 8 | + "net/http" | ||
| 9 | + "strconv" | ||
| 10 | +) | ||
| 11 | + | ||
| 12 | +func SetHeader(w http.ResponseWriter) { | ||
| 13 | + w.Header().Set("Access-Control-Allow-Origin", "*") //允许访问所有域 | ||
| 14 | + w.Header().Set("Content-Type", "application/json") | ||
| 15 | + w.Header().Set("Access-Control-Allow-Headers", "Content-Type,Uuid") | ||
| 16 | +} | ||
| 17 | + | ||
| 18 | +//设置 | ||
| 19 | +func SetTouristUid(utoken string,uid int) error{ | ||
| 20 | + err := redishandler.GetRedisClient().HSet(redis.USER_TOURIST_UID, utoken,strconv.Itoa(uid)) | ||
| 21 | + if err != nil { | ||
| 22 | + logger.Error("SetTouristUid failed,err=%v",err) | ||
| 23 | + return err | ||
| 24 | + } | ||
| 25 | + return nil | ||
| 26 | +} | ||
| 27 | + | ||
| 28 | +//获取游客的uid 返回值为uid | ||
| 29 | +func GetTouristUid(utoken string) (int,error){ | ||
| 30 | + uidstr, err := redishandler.GetRedisClient().HGet(redis.USER_TOURIST_UID, utoken) | ||
| 31 | + if err != nil { | ||
| 32 | + return 0,err | ||
| 33 | + } | ||
| 34 | + | ||
| 35 | + uid,err := strconv.Atoi(uidstr) | ||
| 36 | + return uid,err | ||
| 37 | +} | ||
| 38 | + | ||
| 39 | +//获取新的uuid | ||
| 40 | +func GetNewUUid() int { | ||
| 41 | + redishandler.GetRedisClient().Incr(redis.USER_MAX_UUID) | ||
| 42 | + newuuid ,err:= redishandler.GetRedisClient().GetInt(redis.USER_MAX_UUID) | ||
| 43 | + if err != nil { | ||
| 44 | + logger.Error("GetNewUUid failed,err=%v",err) | ||
| 45 | + return 0 | ||
| 46 | + } | ||
| 47 | + | ||
| 48 | + return newuuid+10000 | ||
| 49 | +} | ||
| 50 | + | ||
| 51 | +func SaveUserBaseData(uuid int,value string) error { | ||
| 52 | + err := redishandler.GetRedisClient().HSet(redis.USER_BASE_DATA, strconv.Itoa(uuid), value) | ||
| 53 | + return err | ||
| 54 | +} | ||
| 55 | + | ||
| 56 | +func GetUserBaseData(uuid int ) (string,error) { | ||
| 57 | + strval,err := redishandler.GetRedisClient().HGet(redis.USER_BASIC_DATA, strconv.Itoa(uuid)) | ||
| 58 | + if err != nil { | ||
| 59 | + logger.Error("GetUserBasic failed,err=%v",err) | ||
| 60 | + return "",err | ||
| 61 | + } | ||
| 62 | + | ||
| 63 | + return strval,err | ||
| 64 | + | ||
| 65 | +} | ||
| 66 | + | ||
| 67 | +func SaveUserBasic(uuid int,value string) error { | ||
| 68 | + err := redishandler.GetRedisClient().HSet(redis.USER_BASIC_DATA, strconv.Itoa(uuid), value) | ||
| 69 | + return err | ||
| 70 | +} | ||
| 71 | + | ||
| 72 | +func GetUserBasic(uuid int ) (*UserBaseData,error) { | ||
| 73 | + strval,err := redishandler.GetRedisClient().HGet(redis.USER_BASIC_DATA, strconv.Itoa(uuid)) | ||
| 74 | + if err != nil { | ||
| 75 | + logger.Error("GetUserBasic failed,err=%v",err) | ||
| 76 | + return nil,err | ||
| 77 | + } | ||
| 78 | + basic := new(UserBaseData) | ||
| 79 | + err = json.Unmarshal([]byte(strval), basic) | ||
| 80 | + return basic,err | ||
| 81 | + | ||
| 82 | +} | ||
| 83 | + | ||
| 84 | +func SaveUserExt(extdata * UserData) error { | ||
| 85 | + if extdata == nil { | ||
| 86 | + return nil | ||
| 87 | + } | ||
| 88 | + m_userInfo.Set(uint32(extdata.Userid),extdata) | ||
| 89 | + | ||
| 90 | + ext,_ := json.Marshal(&extdata) | ||
| 91 | + err := redishandler.GetRedisClient().HSet(redis.USER_EXT_DATA, strconv.Itoa(extdata.Userid), string(ext)) | ||
| 92 | + return err | ||
| 93 | +} | ||
| 94 | + | ||
| 95 | +func GetUserExt(uuid int) (*UserExtData,error) { | ||
| 96 | + strval,err := redishandler.GetRedisClient().HGet(redis.USER_EXT_DATA, strconv.Itoa(uuid)) | ||
| 97 | + if err != nil { | ||
| 98 | + logger.Error("GetUserExt failed,err=%v",err) | ||
| 99 | + return nil,err | ||
| 100 | + } | ||
| 101 | + ext := new(UserExtData) | ||
| 102 | + err = json.Unmarshal([]byte(strval), ext) | ||
| 103 | + return ext,err | ||
| 104 | +} | ||
| 0 | \ No newline at end of file | 105 | \ No newline at end of file |
src/HttpServer/logic/httpserver.go
| @@ -2,11 +2,7 @@ package logic | @@ -2,11 +2,7 @@ package logic | ||
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | "HttpServer/conf" | 4 | "HttpServer/conf" |
| 5 | - "bytes" | ||
| 6 | "common/logger" | 5 | "common/logger" |
| 7 | - "encoding/json" | ||
| 8 | - "strconv" | ||
| 9 | - | ||
| 10 | "io/ioutil" | 6 | "io/ioutil" |
| 11 | //"log" | 7 | //"log" |
| 12 | "net/http" | 8 | "net/http" |
| @@ -23,42 +19,7 @@ func StartHttpServe() { | @@ -23,42 +19,7 @@ func StartHttpServe() { | ||
| 23 | 19 | ||
| 24 | //just for test | 20 | //just for test |
| 25 | func Testsendhttp() { | 21 | func Testsendhttp() { |
| 26 | - var test UserLoginData | ||
| 27 | - //test.Uuid = 100 | ||
| 28 | - test.Fromid = 200 | ||
| 29 | - test.Sharetype = 1 | ||
| 30 | - | ||
| 31 | - client := &http.Client{} | ||
| 32 | 22 | ||
| 33 | - bys, err := json.Marshal(&test) | ||
| 34 | - if err != nil { | ||
| 35 | - logger.Error("testsendhttp failed=%v", err) | ||
| 36 | - return | ||
| 37 | - } | ||
| 38 | - body := bytes.NewBuffer(bys) | ||
| 39 | - url := "http://127.0.0.1:50056/cat/login" | ||
| 40 | - reqest, err := http.NewRequest("POST", url, body) | ||
| 41 | - if err != nil { | ||
| 42 | - logger.Error("http.NewRequest failed") | ||
| 43 | - } | ||
| 44 | - reqest.Header.Add("Uuid", "101") | ||
| 45 | - //发送 | ||
| 46 | - //res, err := http.Post(url, "application/json;charset=utf-8", body) | ||
| 47 | - res, err := client.Do(reqest) | ||
| 48 | - if err != nil { | ||
| 49 | - logger.Error(" post failed to %v err:%v data:%v", url, err, string(bys)) | ||
| 50 | - return | ||
| 51 | - } | ||
| 52 | - | ||
| 53 | - result, _ := ioutil.ReadAll(res.Body) | ||
| 54 | - res.Body.Close() | ||
| 55 | - | ||
| 56 | - s := string(result) | ||
| 57 | - var resp GetUserDataResp | ||
| 58 | - resp.Code = 0 | ||
| 59 | - var rdata UserLoginResp | ||
| 60 | - _ = json.Unmarshal([]byte(s), &rdata) | ||
| 61 | - logger.Info("testsendhttp , body:%v", rdata) | ||
| 62 | } | 23 | } |
| 63 | 24 | ||
| 64 | func CheckErr(err error) { | 25 | func CheckErr(err error) { |
| @@ -68,13 +29,48 @@ func CheckErr(err error) { | @@ -68,13 +29,48 @@ func CheckErr(err error) { | ||
| 68 | } | 29 | } |
| 69 | 30 | ||
| 70 | func startServerHttpServe() { | 31 | func startServerHttpServe() { |
| 71 | - http.HandleFunc("/cat/login", UserLogin) //登录 | 32 | + http.HandleFunc("/catcafe/login", UserLogin) //登录 |
| 33 | + http.HandleFunc("/catcafe/user/saveUserData", saveUserData) //登录 | ||
| 34 | + http.HandleFunc("/catcafe/data/saveData", saveData) //登录 | ||
| 35 | + http.HandleFunc("/catcafe/data/getData", getData) //登录 | ||
| 72 | 36 | ||
| 73 | 37 | ||
| 74 | err := http.ListenAndServe(conf.GetServerHttpAddrConf(), nil) | 38 | err := http.ListenAndServe(conf.GetServerHttpAddrConf(), nil) |
| 75 | CheckErr(err) | 39 | CheckErr(err) |
| 76 | } | 40 | } |
| 77 | 41 | ||
| 42 | +func saveUserData(w http.ResponseWriter, r *http.Request) { | ||
| 43 | + | ||
| 44 | + result, _ := ioutil.ReadAll(r.Body) | ||
| 45 | + r.Body.Close() | ||
| 46 | + | ||
| 47 | + s := string(result) | ||
| 48 | + logger.Info("saveUserData , body:%v,uuid=%v", s) | ||
| 49 | + | ||
| 50 | + HandleSaveUserData(w,s) | ||
| 51 | +} | ||
| 52 | + | ||
| 53 | +func saveData(w http.ResponseWriter, r *http.Request) { | ||
| 54 | + | ||
| 55 | + result, _ := ioutil.ReadAll(r.Body) | ||
| 56 | + r.Body.Close() | ||
| 57 | + | ||
| 58 | + s := string(result) | ||
| 59 | + logger.Info("saveData , body:%v,uuid=%v", s) | ||
| 60 | + | ||
| 61 | + HandlesaveData(w,s) | ||
| 62 | +} | ||
| 63 | + | ||
| 64 | +func getData(w http.ResponseWriter, r *http.Request) { | ||
| 65 | + | ||
| 66 | + result, _ := ioutil.ReadAll(r.Body) | ||
| 67 | + r.Body.Close() | ||
| 68 | + | ||
| 69 | + s := string(result) | ||
| 70 | + logger.Info("UserLogin , body:%v,uuid=%v", s) | ||
| 71 | + | ||
| 72 | + HandlegetData(w,s) | ||
| 73 | +} | ||
| 78 | 74 | ||
| 79 | 75 | ||
| 80 | func UserLogin(w http.ResponseWriter, r *http.Request) { | 76 | func UserLogin(w http.ResponseWriter, r *http.Request) { |
| @@ -86,21 +82,21 @@ func UserLogin(w http.ResponseWriter, r *http.Request) { | @@ -86,21 +82,21 @@ func UserLogin(w http.ResponseWriter, r *http.Request) { | ||
| 86 | //w.Header().Add("Access-Control-Allow-Headers", "") | 82 | //w.Header().Add("Access-Control-Allow-Headers", "") |
| 87 | //w.Header().Set("Access-Control-Allow-Headers", "Authorization, Content-Length, X-CSRF-Token, Token,session,X_Requested_With,Accept, Origin, Host, Connection, Accept-Encoding, Accept-Language,DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, Cache-Control, Content-Type, Pragma") | 83 | //w.Header().Set("Access-Control-Allow-Headers", "Authorization, Content-Length, X-CSRF-Token, Token,session,X_Requested_With,Accept, Origin, Host, Connection, Accept-Encoding, Accept-Language,DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, Cache-Control, Content-Type, Pragma") |
| 88 | 84 | ||
| 89 | - Uuid := 0 | 85 | + /*Uuid := 0 |
| 90 | if len(r.Header) > 0 { | 86 | if len(r.Header) > 0 { |
| 91 | Uuid, _ = strconv.Atoi(r.Header.Get("Uuid")) | 87 | Uuid, _ = strconv.Atoi(r.Header.Get("Uuid")) |
| 92 | } | 88 | } |
| 93 | 89 | ||
| 94 | if Uuid == 0 { | 90 | if Uuid == 0 { |
| 95 | return | 91 | return |
| 96 | - } | 92 | + }*/ |
| 97 | result, _ := ioutil.ReadAll(r.Body) | 93 | result, _ := ioutil.ReadAll(r.Body) |
| 98 | r.Body.Close() | 94 | r.Body.Close() |
| 99 | 95 | ||
| 100 | s := string(result) | 96 | s := string(result) |
| 101 | - logger.Info("UserLogin , body:%v,uuid=%v", s, Uuid) | 97 | + logger.Info("UserLogin , body:%v,uuid=%v", s) |
| 102 | 98 | ||
| 103 | - //HandlerLogin(w, s, Uuid) | 99 | + HandleUserLogin(w,s) |
| 104 | } | 100 | } |
| 105 | 101 | ||
| 106 | 102 |
src/HttpServer/logic/logic.go
| 1 | -package logic | ||
| 2 | \ No newline at end of file | 1 | \ No newline at end of file |
| 2 | +package logic | ||
| 3 | + | ||
| 4 | +import ( | ||
| 5 | + | ||
| 6 | + "common/beegomap" | ||
| 7 | + "common/logger" | ||
| 8 | + | ||
| 9 | + "encoding/json" | ||
| 10 | + "fmt" | ||
| 11 | + "net/http" | ||
| 12 | + | ||
| 13 | + "time" | ||
| 14 | +) | ||
| 15 | + | ||
| 16 | +var ( | ||
| 17 | + m_userInfo *beegomap.BeeMap //make(map[int32]*UserData | ||
| 18 | +) | ||
| 19 | + | ||
| 20 | +func init() { | ||
| 21 | + m_userInfo = beegomap.NewBeeMap() | ||
| 22 | +} | ||
| 23 | + | ||
| 24 | + | ||
| 25 | + | ||
| 26 | +func InitTourist(req *UserLoginReq,resp *UserLoginResp) { | ||
| 27 | + //首先生成user_base_data | ||
| 28 | + var basedata UserBaseData | ||
| 29 | + basedata.User_id = GetNewUUid() | ||
| 30 | + basedata.User_avatar_url = "" | ||
| 31 | + basedata.User_city = "天堂" | ||
| 32 | + basedata.User_gender = 1 | ||
| 33 | + basedata.User_nickname = "游客" + string(basedata.User_id) | ||
| 34 | + basedata.User_openid = "" | ||
| 35 | + basedata.User_token = req.Token | ||
| 36 | + resp.Result.Data.Dasedata = basedata | ||
| 37 | + //保存base data | ||
| 38 | + basic, _ := json.Marshal(&basedata) | ||
| 39 | + SaveUserBasic(basedata.User_id,string(basic)) | ||
| 40 | + | ||
| 41 | + SetTouristUid(req.Token,basedata.User_id) | ||
| 42 | + //然后生成user_ext_data | ||
| 43 | + var extdata UserExtData | ||
| 44 | + extdata.User_id = basedata.User_id | ||
| 45 | + extdata.Lv = 1 | ||
| 46 | + extdata.Bean = 0 | ||
| 47 | + extdata.Coin = 0 | ||
| 48 | + extdata.Exp = 0 | ||
| 49 | + extdata.Hot = 0 | ||
| 50 | + extdata.Invite_uid = req.User_invite_uid | ||
| 51 | + extdata.LoveExp = 0 | ||
| 52 | + extdata.Reg_time = int(time.Now().Unix()) | ||
| 53 | + extdata.ShopNum = 0 | ||
| 54 | + extdata.User_channel = req.Channel_id | ||
| 55 | + extdata.User_is_black = 0 | ||
| 56 | + extdata.User_reg_time = int(time.Now().Unix()) | ||
| 57 | + extdata.User_scene = req.Scene | ||
| 58 | + resp.Result.Data.Extdata = extdata | ||
| 59 | + //保存 | ||
| 60 | + udata :=new(UserData) | ||
| 61 | + udata.Scene = extdata.User_scene | ||
| 62 | + udata.Hot = extdata.Hot | ||
| 63 | + udata.Exp = extdata.Exp | ||
| 64 | + udata.Coin = extdata.Coin | ||
| 65 | + udata.Bean = extdata.Bean | ||
| 66 | + udata.Lv = extdata.Lv | ||
| 67 | + udata.Channel = extdata.User_channel | ||
| 68 | + udata.InviteUid = extdata.Invite_uid | ||
| 69 | + udata.Isblack = extdata.User_is_black | ||
| 70 | + udata.Loevexp = extdata.LoveExp | ||
| 71 | + udata.Regtime = extdata.Reg_time | ||
| 72 | + udata.Shopnum = extdata.ShopNum | ||
| 73 | + udata.Userid = extdata.User_id | ||
| 74 | + udata.UserInviteId = extdata.User_invite_uid | ||
| 75 | + udata.Userregtime = extdata.User_reg_time | ||
| 76 | + | ||
| 77 | + SaveUserExt(udata) | ||
| 78 | + | ||
| 79 | +} | ||
| 80 | + | ||
| 81 | +//处理游客登录 | ||
| 82 | +func HandleTouristLogin(w http.ResponseWriter, req *UserLoginReq,resp *UserLoginResp) { | ||
| 83 | + | ||
| 84 | + logger.Info("HandleTouristLogin req=%v,resp=%v",req,resp) | ||
| 85 | + for { | ||
| 86 | + //首先判断是否存在这个游客账号 | ||
| 87 | + uuid,err := GetTouristUid(req.Token) | ||
| 88 | + if err != nil { | ||
| 89 | + //新账号 初始化 | ||
| 90 | + InitTourist(req,resp) | ||
| 91 | + }else { | ||
| 92 | + //读取数据 | ||
| 93 | + basic,err := GetUserBasic(uuid) | ||
| 94 | + if err != nil { | ||
| 95 | + logger.Error("HandleTouristLogin getbasic failed=%v", err) | ||
| 96 | + resp.Result.Code = ERROR_GETUSERBASICFAILED | ||
| 97 | + break | ||
| 98 | + } | ||
| 99 | + resp.Result.Data.Dasedata = *basic | ||
| 100 | + | ||
| 101 | + ext,err := GetUserExt(uuid) | ||
| 102 | + if err != nil { | ||
| 103 | + logger.Error("HandleTouristLogin getext failed=%v", err) | ||
| 104 | + resp.Result.Code = ERROR_GETUSEREXTFAILED | ||
| 105 | + break | ||
| 106 | + } | ||
| 107 | + resp.Result.Data.Extdata = *ext | ||
| 108 | + | ||
| 109 | + m_userInfo.Set(uint32(ext.User_id),ext) | ||
| 110 | + } | ||
| 111 | + | ||
| 112 | + resp.Result.Code = ERROR_OK | ||
| 113 | + break | ||
| 114 | + } | ||
| 115 | + //回包 | ||
| 116 | + respstr, _ := json.Marshal(&resp) | ||
| 117 | + fmt.Fprint(w, string(respstr)) | ||
| 118 | +} | ||
| 119 | + | ||
| 120 | +func HandleUserLogin(w http.ResponseWriter, data string) { | ||
| 121 | + SetHeader(w) | ||
| 122 | + var resp UserLoginResp | ||
| 123 | + resp.Status = "true" | ||
| 124 | + resp.Result.Code = ERROR_OK | ||
| 125 | + var rdata UserLoginReq | ||
| 126 | + err := json.Unmarshal([]byte(data), &rdata) | ||
| 127 | + for { | ||
| 128 | + if err != nil { | ||
| 129 | + logger.Error("HandleUserLogin json unmarshal failed=%v", err) | ||
| 130 | + resp.Result.Code = ERROR_JSONUNMASHFAILED | ||
| 131 | + break | ||
| 132 | + } | ||
| 133 | + | ||
| 134 | + if rdata.Logintype ==LOGIN_TYPE_TOURIST { | ||
| 135 | + //游客登录 | ||
| 136 | + HandleTouristLogin(w,&rdata,&resp) | ||
| 137 | + break | ||
| 138 | + } | ||
| 139 | + | ||
| 140 | + if rdata.Logintype == LOGIN_TYPE_ACCOUNT { | ||
| 141 | + //账号密码登录 | ||
| 142 | + | ||
| 143 | + break | ||
| 144 | + } | ||
| 145 | + | ||
| 146 | + if rdata.Logintype == LOGIN_TYPE_WECHAT { | ||
| 147 | + //微信登录 | ||
| 148 | + | ||
| 149 | + break | ||
| 150 | + } | ||
| 151 | + | ||
| 152 | + | ||
| 153 | + } | ||
| 154 | + | ||
| 155 | + //回包 | ||
| 156 | + //respstr, _ := json.Marshal(&resp) | ||
| 157 | + //fmt.Fprint(w, string(respstr)) | ||
| 158 | +} | ||
| 159 | + | ||
| 160 | +func HandleSaveUserData(w http.ResponseWriter, data string) { | ||
| 161 | + SetHeader(w) | ||
| 162 | + var resp SaveUserDataResp | ||
| 163 | + resp.Status = "true" | ||
| 164 | + resp.Result.Code = ERROR_OK | ||
| 165 | + var rdata SaveUserDataReq | ||
| 166 | + err := json.Unmarshal([]byte(data), &rdata) | ||
| 167 | + for { | ||
| 168 | + if err != nil { | ||
| 169 | + logger.Error("HandleSaveUserData json unmarshal failed=%v", err) | ||
| 170 | + resp.Result.Code = ERROR_JSONUNMASHFAILED | ||
| 171 | + break | ||
| 172 | + } | ||
| 173 | + | ||
| 174 | + uuid,err := GetTouristUid(rdata.Token) | ||
| 175 | + if err != nil || uuid==0{ | ||
| 176 | + logger.Error("HandleSaveUserData json unmarshal failed=%v", err) | ||
| 177 | + resp.Result.Code = ERROR_GETUSERIDFAILED | ||
| 178 | + break | ||
| 179 | + } | ||
| 180 | + | ||
| 181 | + vv := m_userInfo.Get(uint32(uuid)) | ||
| 182 | + if vv == nil { | ||
| 183 | + logger.Error("HandleSaveUserData failed=%v", err) | ||
| 184 | + resp.Result.Code = ERROR_GETUSERMAPBYUIDFAILED | ||
| 185 | + break | ||
| 186 | + } | ||
| 187 | + | ||
| 188 | + uinfo := vv.(*UserData) | ||
| 189 | + uinfo.Coin = rdata.Coin | ||
| 190 | + uinfo.Loevexp = rdata.Loveexp | ||
| 191 | + uinfo.Hot = rdata.Hot | ||
| 192 | + uinfo.Bean = rdata.Bean | ||
| 193 | + uinfo.Shopnum = rdata.Shopnum | ||
| 194 | + SaveUserExt(uinfo) | ||
| 195 | + | ||
| 196 | + basic,err := GetUserBasic(uuid) | ||
| 197 | + if err != nil { | ||
| 198 | + logger.Error("HandleTouristLogin getbasic failed=%v", err) | ||
| 199 | + resp.Result.Code = ERROR_GETUSERBASICFAILED | ||
| 200 | + break | ||
| 201 | + } | ||
| 202 | + resp.Result.Data.Dasedata = *basic | ||
| 203 | + | ||
| 204 | + ext,err := GetUserExt(uuid) | ||
| 205 | + if err != nil { | ||
| 206 | + logger.Error("HandleTouristLogin getext failed=%v", err) | ||
| 207 | + resp.Result.Code = ERROR_GETUSEREXTFAILED | ||
| 208 | + break | ||
| 209 | + } | ||
| 210 | + resp.Result.Data.Extdata = *ext | ||
| 211 | + | ||
| 212 | + resp.Result.Code = ERROR_OK | ||
| 213 | + break | ||
| 214 | + } | ||
| 215 | + | ||
| 216 | + //回包 | ||
| 217 | + respstr, _ := json.Marshal(&resp) | ||
| 218 | + fmt.Fprint(w, string(respstr)) | ||
| 219 | +} | ||
| 220 | + | ||
| 221 | +func HandlesaveData(w http.ResponseWriter, data string) { | ||
| 222 | + SetHeader(w) | ||
| 223 | + var resp SaveDataResp | ||
| 224 | + resp.Status = "true" | ||
| 225 | + resp.Result.Code = ERROR_OK | ||
| 226 | + var rdata SaveDataReq | ||
| 227 | + err := json.Unmarshal([]byte(data), &rdata) | ||
| 228 | + for { | ||
| 229 | + if err != nil { | ||
| 230 | + logger.Error("HandlesaveData json unmarshal failed=%v", err) | ||
| 231 | + resp.Result.Code = ERROR_JSONUNMASHFAILED | ||
| 232 | + break | ||
| 233 | + } | ||
| 234 | + | ||
| 235 | + uuid,err := GetTouristUid(rdata.Token) | ||
| 236 | + if err != nil || uuid==0{ | ||
| 237 | + logger.Error("HandlesaveData GetTouristUid failed=%v", err) | ||
| 238 | + resp.Result.Code = ERROR_GETUSERIDFAILED | ||
| 239 | + break | ||
| 240 | + } | ||
| 241 | + | ||
| 242 | + | ||
| 243 | + err = SaveUserBaseData(uuid,rdata.Value) | ||
| 244 | + | ||
| 245 | + if err != nil { | ||
| 246 | + logger.Error("HandlesaveData save failed=%v", err) | ||
| 247 | + resp.Result.Code = ERROR_SRVDB_FAILED | ||
| 248 | + break | ||
| 249 | + } | ||
| 250 | + | ||
| 251 | + resp.Result.Code = ERROR_OK | ||
| 252 | + break | ||
| 253 | + } | ||
| 254 | + | ||
| 255 | + //回包 | ||
| 256 | + respstr, _ := json.Marshal(&resp) | ||
| 257 | + fmt.Fprint(w, string(respstr)) | ||
| 258 | +} | ||
| 259 | + | ||
| 260 | +func HandlegetData(w http.ResponseWriter, data string) { | ||
| 261 | + SetHeader(w) | ||
| 262 | + var resp SaveDataResp | ||
| 263 | + resp.Status = "true" | ||
| 264 | + resp.Result.Code = ERROR_OK | ||
| 265 | + var rdata SaveDataReq | ||
| 266 | + err := json.Unmarshal([]byte(data), &rdata) | ||
| 267 | + for { | ||
| 268 | + if err != nil { | ||
| 269 | + logger.Error("HandlegetData json unmarshal failed=%v", err) | ||
| 270 | + resp.Result.Code = ERROR_JSONUNMASHFAILED | ||
| 271 | + break | ||
| 272 | + } | ||
| 273 | + | ||
| 274 | + uuid,err := GetTouristUid(rdata.Token) | ||
| 275 | + if err != nil || uuid==0{ | ||
| 276 | + logger.Error("HandlegetData GetTouristUid failed=%v", err) | ||
| 277 | + resp.Result.Code = ERROR_GETUSERIDFAILED | ||
| 278 | + break | ||
| 279 | + } | ||
| 280 | + | ||
| 281 | + | ||
| 282 | + ubase,err := GetUserBaseData(uuid) | ||
| 283 | + | ||
| 284 | + if err != nil { | ||
| 285 | + logger.Error("HandlegetData get failed=%v", err) | ||
| 286 | + resp.Result.Code = ERROR_SRVDB_FAILED | ||
| 287 | + break | ||
| 288 | + } | ||
| 289 | + | ||
| 290 | + resp.Result.Data = ubase | ||
| 291 | + resp.Result.Code = ERROR_OK | ||
| 292 | + break | ||
| 293 | + } | ||
| 294 | + | ||
| 295 | + //回包 | ||
| 296 | + respstr, _ := json.Marshal(&resp) | ||
| 297 | + fmt.Fprint(w, string(respstr)) | ||
| 298 | +} | ||
| 3 | \ No newline at end of file | 299 | \ No newline at end of file |
src/HttpServer/main/main.go
src/common/redis/def.go
| 1 | package redis | 1 | package redis |
| 2 | 2 | ||
| 3 | const ( | 3 | const ( |
| 4 | - USER_LAST_LOGIN_TIME = "CATSERVER_USER_LAST_LOGIN_TIME" //玩家上次登陆时间 | ||
| 5 | - USER_INFO = "CATSERVER_USER_USER_INFO" //玩家数据 | ||
| 6 | - USER_LAST_CALC_TIME = "CATSERVER_USER_LAST_CALC_TIME" //玩家上一次数据计算时间 | ||
| 7 | - USER_INVITE_ID = "CATSERVER_USER_INVITE_ID" //玩家邀请者ID | ||
| 8 | - USER_STARTDOUBLE_TIME = "CATSERVER_USER_STARTDOUBLE_TIME" //开启双倍时间 | ||
| 9 | - USER_STARTAUTO_TIME = "CATSERVER_USER_STARTAUTO_TIME" //开启自动合成时间 | ||
| 10 | - USER_STARTACC_BOX_TIME = "CATSERVER_USER_STARTACC_BOX_TIME" //开启加速成产箱子 | ||
| 11 | - USER_WAREHOUSE_INFO = "CATSERVER_USER_WAREHOUSE_INFO" //玩家仓库信息 | ||
| 12 | - USER_GOLD_RANK = "CATSERVER_USER_GOLD_RANK" //玩家排行榜,根据金币排 | 4 | + USER_TOURIST_UID = "CATCAFE_USER_TOURIST_UID" //存储对应设备编码与uid的对应关系 |
| 5 | + USER_MAX_UUID = "CATCAFE_USER_MAX_UUID" //记录当前最大的uid,新增自增即可 | ||
| 6 | + USER_BASIC_DATA = "CATCAFE_USER_BASIC_DATA" //玩家基础信息 | ||
| 7 | + USER_EXT_DATA = "CATCAFE_USER_EXT_DATA" //玩家游戏数据 | ||
| 8 | + USER_BASE_DATA = "CATCAFE_USER_BASE_DATA" //小游戏自定义数据 | ||
| 13 | ) | 9 | ) |