package user import ( "go_dreamfactory/comm" "go_dreamfactory/pb" cfg "go_dreamfactory/sys/configure/structs" ) // 储蓄金领取 func (this *apiComp) DepositCheck(session comm.IUserSession, req *pb.UserDepositReq) (errdata *pb.ErrorData) { return } func (this *apiComp) Deposit(session comm.IUserSession, req *pb.UserDepositReq) (errdata *pb.ErrorData) { if errdata = this.DepositCheck(session, req); errdata != nil { return } user := this.module.GetUser(session.GetUserId()) if user == nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_UserSessionNobeing, Title: pb.ErrorCode_UserSessionNobeing.ToString(), } return } if user.Deposit <= 0 { errdata = &pb.ErrorData{ Code: pb.ErrorCode_UserDepositNoEnough, Title: pb.ErrorCode_UserDepositNoEnough.ToString(), } return } gold := user.Deposit this.module.DispenseRes(session, []*cfg.Gameatn{{A: "attr", T: "gold", N: int32(gold)}}, true) // 储蓄金清零 update := map[string]interface{}{ "deposit": 0, } if err := this.module.modelUser.Change(session.GetUserId(), update); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } this.module.Errorf("更新储蓄金失败 uid:%v gold:%v err:%v", session.GetUserId(), gold, err) return } session.SendMsg(string(this.module.GetType()), UserSubTYpeModifyBgp, &pb.UserDepositResp{ Gold: gold, }) return }