package sys import ( "go_dreamfactory/comm" "go_dreamfactory/pb" "google.golang.org/protobuf/proto" ) func (this *apiComp) ActivateCheck(session comm.IUserSession, req *pb.SysFuncActivateReq) (code pb.ErrorCode) { return } func (this *apiComp) Activate(session comm.IUserSession, req *pb.SysFuncActivateReq) (code pb.ErrorCode, data proto.Message) { rsp := &pb.SysFuncActivateResp{} iuser := this.module.ModuleUser user := iuser.GetUser(session.GetUserId()) if user == nil { code = pb.ErrorCode_UserSessionNobeing return } if opencfg := this.module.configure.getOpencondCfgByCid(req.Cid); opencfg != nil { if id := this.module.modelSys.validCond(session.GetUserId(), opencfg); id == "" { // 条件不满足 code = pb.ErrorCode_OpenCondErr return } } list, _ := this.module.modelSys.GetOpenCondList(session.GetUserId()) for k, v := range list.Cond { if k == req.Cid && v != 0 { code = pb.ErrorCode_OpenCondActivate return } } list.Cond[req.Cid] = 1 this.module.modelSys.ChangeOpenCondData(session.GetUserId(), map[string]interface{}{ "cond": list, }) if err := session.SendMsg(string(this.module.GetType()), SysSubTypeFunc, rsp); err != nil { code = pb.ErrorCode_SystemError } return }