12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- package controller
- import (
- "ktogame/models"
- )
- func (uc *UserController) Reinput(user string) {
- var ui models.UserInfo
- ok, err := uc.engine.Id(user).Get(&ui)
- if err != nil {
- ErrResponse(uc.Controller, err)
- return
- }
- if !ok {
- ErrResponse(uc.Controller, "db get failed!")
- return
- }
- if ui.AvailableReinput < ModBase*Decimals {
- ErrResponse(uc.Controller, "no available reinput balance")
- return
- }
- ///update availableReinput by left in db
- ///update totalReinput
- left := uint64(ui.AvailableReinput) % (ModBase * Decimals)
- reinputValue := ui.AvailableReinput - float64(left)
- ui.AvailableReinput = float64(left)
- ui.TotalReinputed += reinputValue
- if ui.TotalReinputed >= CommunityLimit*Decimals {
- ui.State = CommunityUsers
- }
- _, err = uc.engine.ID(user).Cols("available_reinput").Update(&ui)
- if err != nil {
- ErrResponse(uc.Controller, err)
- return
- }
- _, err = uc.engine.ID(user).Cols("total_reinput").Update(&ui)
- if err != nil {
- ErrResponse(uc.Controller, err)
- return
- }
- ///update Recommendation Rewards
- ///update direct recommend rewards
- rewards := reinputValue * 10 / 100
- if ui.Direct != -1 {
- err := UpdateAvailableRewards(uc.engine, rewards, ui.Direct)
- if err != nil {
- ErrResponse(uc.Controller, err)
- return
- }
- }
- ///update indirect recommend rewards
- if ui.Indirect != -1 {
- err := UpdateAvailableRewards(uc.engine, rewards, ui.Indirect)
- if err != nil {
- ErrResponse(uc.Controller, err)
- return
- }
- }
- err = UpdateRewardsPool(uc.engine, reinputValue)
- if err != nil {
- ErrResponse(uc.Controller, err)
- return
- }
- err = UpdateSuperiorsPerformance(uc.engine, ui.Superiors, reinputValue)
- if err != nil {
- ErrResponse(uc.Controller, err)
- return
- }
- TxObjectResponse(uc.Controller, "success")
- }
- func (uc *UserController) GetSignature(user string) {
- var uinfo models.UserInfo
- uc.engine.Id(user).Get(&uinfo)
- }
- func (uc *UserController) GetUserInfo(amount uint64) {}
- func (uc *UserController) GetTeamList(user string) {}
|