package jielong import ( "go_dreamfactory/comm" "go_dreamfactory/pb" ) // 参数校验 func (this *apiComp) RewardCheck(session comm.IUserSession, req *pb.JielongRewardReq) (errdata *pb.ErrorData) { if req.Rewardkey == 0 { errdata = &pb.ErrorData{ Code: pb.ErrorCode_ReqParameterError, Title: pb.ErrorCode_ReqParameterError.ToString(), } } return } func (this *apiComp) Reward(session comm.IUserSession, req *pb.JielongRewardReq) (errdata *pb.ErrorData) { var ( list *pb.DBJielongData err error update map[string]interface{} ) update = make(map[string]interface{}, 0) if errdata = this.RewardCheck(session, req); errdata != nil { return } // TODO 等策划配置来再做数据校验 list, err = this.module.modelJielong.getUserJielongData(session.GetUserId()) if err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, Title: pb.ErrorCode_DBError.ToString(), Message: err.Error(), } return } if req.Cur { if _, ok := list.Reward[req.Rewardkey]; ok { errdata = &pb.ErrorData{ Code: pb.ErrorCode_UserRepeadReward, Title: pb.ErrorCode_UserRepeadReward.ToString(), } return } list.Reward[req.Rewardkey] = 1 update["reward"] = list.Reward } else { if _, ok := list.Gotarr[req.Rewardkey]; ok { errdata = &pb.ErrorData{ Code: pb.ErrorCode_UserRepeadReward, Title: pb.ErrorCode_UserRepeadReward.ToString(), } return } list.Gotarr[req.Rewardkey] = 1 update["gotarr"] = list.Gotarr } this.module.modelJielong.changeJielongData(session.GetUserId(), update) session.SendMsg(string(this.module.GetType()), "reward", &pb.JielongRewardResp{}) return }