def handle(param): ret = 0 userid = param.get('userid') skey = param.get('skey') bid = param.get('bid') if userid and skey and bid != None: tmp = userstruct.read_redis(userid) if not tmp or tmp.skey != skey: return {'ret': 0, 'data': {'des': 'skey error'}} mapdata = tmp.getmap() logger.info(mapdata) if mapdata: upoint = mapdata.getUpgrade(bid) if upoint > 0 and tmp.gamepoint > upoint and mapdata.upgrade(bid): logger.info('change point:%s,%s', tmp.gamepoint, tmp.gamepoint - upoint) rds = rdsmanager.get_client(userid) rkey = 'hashuser:%s' % userid pipe = rds.pipeline() pipe.hset(rkey, 'mapdata', mapdata.tojson()) pipe.hincrby(rkey, 'gamepoint', -upoint) pipe.execute() userstruct.write_redis_updateuser(userid) return {'ret': 1, 'data': mapdata.todict()} return {'ret': ret, 'data': {'des': 'input error'}}
def handle(param): ret = 0 userid = param.get('userid') skey = param.get('skey') bid = param.get('bid') if userid and skey and bid != None: tmp = userstruct.read_redis(userid) if not tmp or tmp.skey != skey: return {'ret': 0, 'data': {'des': 'skey error'}} mapdata = tmp.getmap() logger.info(mapdata) if mapdata: bret = mapdata.activate(bid) if bret: tmpgen = mapdata.getGenAll() userstruct.write_redis_dict(userid, {'mapdata': mapdata.tojson()}) return {'ret': 1, 'data': tmpgen} else: return {'ret': 0, 'data': {'des': 'input error'}} return {'ret': 0, 'data': {}}
def handle(param): ret = 0 userid = param.get('userid') skey = param.get('skey') oldpwd = param.get('oldpwd') newpwd = param.get('newpwd') logger.info("%s,%s", userid, skey) if userid and skey and oldpwd: tmp = userstruct.read_redis(userid) if not tmp or tmp.skey != skey: return {'ret': 0, 'data': {'des': 'skey error'}} if tmp.password != oldpwd: return {'ret': 0, 'data': {'des': 'oldpwd error'}} if not userstruct.checkpwdfrt(newpwd): return {'ret': 0, 'data': {'des': 'newpwd format error'}} #skey = md5('%s%s%s' % (tmp.username, time.ctime(), random.random())) #tmp.skey = skey #userstruct.write_redis_dict(userid, {'skey':skey}) sqlutil.execsqlcommit( "UPDATE userinfo SET `password` = '%s' where userid = %s" % (newpwd, userid)) logger.debug(tmp) return {'ret': 1, 'data': tmp.todict()} return {'ret': 0, 'data': {}}
def handle(param): ret = 1 userid = param.get('userid') skey = param.get('skey') otherid = param.get('otherid') mapdata = mapstruct.MapInfo() tmpgen = mapdata.getGenAll() if userid and skey: tmp = userstruct.read_redis(userid) if not tmp or tmp.skey != skey: return {'ret': 0, 'data': {'des': 'skey error'}} if not otherid: mapdata = tmp.getmap() logger.info("%s", tmp) if mapdata: tmpgen = mapdata.getGenAll() tmpgen['exp'] = tmp.exp else: other = userstruct.read_user(otherid) if not other: return {'ret': 0, 'data': {'des': 'otherid error'}} mapdata = other.getmap() logger.info("%s", tmp) if mapdata: tmpgen = mapdata.getGenAll() tmpgen['exp'] = other.exp return {'ret': ret, 'data': tmpgen}
def handle(param): ret = 0 userid = param.get('userid') skey = param.get('skey') bid = param.get('bid') if userid and skey and bid != None: tmp = userstruct.read_redis(userid) if not tmp or tmp.skey != skey: return {'ret':0, 'data':{'des': 'skey error'}} mapdata = tmp.getmap() logger.info('mapdata:%s', mapdata) if mapdata: gentmp = mapdata.getGen(bid) logger.info('gentmp:%s', gentmp) if gentmp['genflag']: mapdata.updatetime[bid] = time.time() if gentmp['buildstate'] == 2: mapdata.buildstate[bid] = 0 logger.info('%s,%s', gentmp['buildstate'], mapdata.buildstate[bid]) mapdata.delAttack(bid) logger.info('after:%s', mapdata) rds = rdsmanager.get_client(userid) rkey = 'hashuser:%s' % userid pipe = rds.pipeline() pipe.hset(rkey, 'mapdata', mapdata.tojson()) pipe.hincrby(rkey, 'gamepoint', gentmp['gen']) pipe.hincrby(rkey, 'exp', gentmp['gen']) pipe.execute() userstruct.write_redis_updateuser(userid) logger.info('mapdata:%s', mapdata) return {'ret':1, 'data':gentmp} return {'ret':1, 'data':gentmp} return {'ret':ret, 'data':{}}
def handle_accept(param): ret = 0 userid = param.get('userid') skey = param.get('skey') otherid = param.get('otherid') acode = param.get('acode') if userid and skey and otherid != None and acode != None: tmp = userstruct.read_redis(userid) if not tmp or tmp.skey != skey: return {'ret': 0, 'data': {'des': 'skey error'}} dbret = friendstruct.acc_friend(otherid, userid, acode) return {'ret': 1, 'data': dbret} return {'ret': 0, 'data': {'des': 'input error'}}
def handle_getfriendreq(param): ret = 0 userid = param.get('userid') skey = param.get('skey') if userid and skey: tmp = userstruct.read_redis(userid) if not tmp or tmp.skey != skey: return {'ret': 0, 'data': {'des': 'skey error'}} dbreq = friendstruct.get_friendreq(userid) dbacc = friendstruct.get_friendacc(userid) return {'ret': 1, 'data': {'req': dbreq, 'acc': dbacc}} return {'ret': 0, 'data': {'des': 'input error'}}
def handle(param): ret = 0 userid = param.get('userid') skey = param.get('skey') attackuserid = param.get('attackuserid') attackid = param.get('attackid') bid = param.get('attackbid') if userid and skey and attackuserid and attackid and bid != None: tmp = userstruct.read_redis(userid) if not tmp or tmp.skey != skey: return {'ret': 0, 'data': {'des': 'skey error'}} if userid == attackuserid: return {'ret': 0, 'data': {'des': 'not can attac youself'}} apoint = mapstruct.getAttacPoint(attackid) if apoint <= 0: return {'ret': 0, 'data': {'des': 'attackid input error'}} if tmp.gamepoint < apoint: return {'ret': 0, 'data': {'des': 'you point not enough'}} attackuser = userstruct.read_user(attackuserid) if not attackuser: return {'ret': 0, 'data': {'des': 'attackbid error'}} mapdata = attackuser.getmap() aret = mapdata.addAttack(bid, attackid) if not aret: return {'ret': 0, 'data': {'des': 'aret error'}} logger.info('mapdata:%s, apoint:%s', mapdata, apoint) userstruct.write_redis_dict(attackuserid, {'mapdata': mapdata.tojson()}) rds = rdsmanager.get_client(userid) rkey = 'hashuser:%s' % userid rds.hincrby(rkey, 'gamepoint', -apoint) return {'ret': 1, 'data': {'des': 'attac ok'}} return {'ret': 0, 'data': {'des': 'input error'}}
def handle_getfriend(param): ret = 0 userid = param.get('userid') skey = param.get('skey') if userid and skey: tmp = userstruct.read_redis(userid) if not tmp or tmp.skey != skey: return {'ret': 0, 'data': {'des': 'skey error'}} dbret = friendstruct.get_friend(userid) ftmp = [] for p in dbret: p['title'] = userstruct.getusertitle(p['exp']) return {'ret': 1, 'data': dbret} return {'ret': 0, 'data': {'des': 'input error'}}
def handle(param): ret = 0 userid = param.get('userid') skey = param.get('skey') logger.info("%s,%s", userid, skey) if userid and skey: tmp = userstruct.read_redis(userid) if not tmp or tmp.skey != skey: return {'ret': 0, 'data': {'des': 'skey error'}} userstruct.write_redis_dict(tmp.userid, {}) return {'ret': 1, 'data': tmp.todict()} return {'ret': 0, 'data': {}}
def handle_add(param): ret = 0 userid = param.get('userid') skey = param.get('skey') otherusername = param.get('otherusername') if userid and skey and otherusername: tmp = userstruct.read_redis(userid) if not tmp or tmp.skey != skey: return {'ret': 0, 'data': {'des': 'skey error'}} other = userstruct.read_mysql(otherusername) if not other: return {'ret': 0, 'data': {'des': 'otherusername error'}} logger.debug("%s, %s", userid, other.userid) dbret = friendstruct.req_friend(userid, other.userid) return {'ret': 1, 'data': dbret} return {'ret': 0, 'data': {'des': 'input error'}}
def handle(param): ret = 0 userid = param.get('userid') skey = param.get('skey') guardid = param.get('guardid') bid = param.get('guardbid') if userid and skey and guardid and bid != None: tmp = userstruct.read_redis(userid) if not tmp or tmp.skey != skey: return {'ret': 0, 'data': {'des': 'skey error'}} apoint = mapstruct.getGuardPoint(guardid) if apoint <= 0: return {'ret': 0, 'data': {'des': 'attackid input error'}} if tmp.gamepoint < apoint: return {'ret': 0, 'data': {'des': 'you point not enough'}} mapdata = tmp.getmap() aret = mapdata.guard(bid, guardid) if not aret: return {'ret': 0, 'data': {'des': 'aret error'}} logger.info('mapdata:%s, apoint:%s', mapdata, apoint) rds = rdsmanager.get_client(userid) rkey = 'hashuser:%s' % userid pipe = rds.pipeline() pipe.hset(rkey, 'mapdata', mapdata.tojson()) pipe.hincrby(rkey, 'gamepoint', -apoint) pipe.execute() userstruct.write_redis_updateuser(userid) return {'ret': 1, 'data': {'des': 'attac ok'}} return {'ret': 0, 'data': {'des': 'input error'}}
def handle(param): ret = 0 userid = param.get('userid') skey = param.get('skey') otherid = param.get('otherid') if userid and skey: tmp = userstruct.read_redis(userid) if not tmp or tmp.skey != skey: return {'ret':0, 'data':{'des': 'skey error'}} #myself if not otherid: mapdata = tmp.getmap() logger.debug('%s, %s', mapdata, type(mapdata)) if not mapdata: mapdata = mapstruct.MapInfo() userstruct.write_redis_dict(userid, {'mapdata': mapdata.tojson()}) logger.debug('%s, %s', mapdata, type(mapdata)) return {'ret':1, 'data':mapdata.todict()} #other else: other = userstruct.read_user(otherid) if not other: return {'ret':0, 'data':{'des': 'otherid error'}} mapdata = other.getmap() logger.debug('%s, %s', mapdata, type(mapdata)) if not mapdata: mapdata = mapstruct.MapInfo() userstruct.write_redis_dict(otherid, {'mapdata': mapdata.tojson()}) logger.debug('%s, %s', mapdata, type(mapdata)) return {'ret':1, 'data':mapdata.todict()} return {'ret':ret, 'data':{'des': 'skey error'}}
def handle(param): ret = 0 username = param.get('username') passwd = param.get('password') if not username or not passwd: return {'ret': 0, 'date': {'desc': 'input error'}} tmp = userstruct.read_mysql(username) logger.debug(tmp) if tmp and passwd == tmp.password: rtmp = userstruct.read_redis(tmp.userid) if rtmp: tmp = rtmp skey = md5('%s%s%s' % (username, time.ctime(), random.random())) tmp.skey = skey userstruct.write_redis_all(tmp) logger.debug(tmp) return {'ret': 1, 'data': tmp.todict()} return {'ret': 0, 'data': {'desc': 'username or password error'}}