/** * 赠送礼物,暂只支持赠送已有物品 * @param $params * require u -- 送礼人id * f -- 受礼人id * msg -- 送礼人的留言 * option xid -- 礼物id,赠送已有物品时传此参数, * xtag -- 新买物品的xml id,赠送新买物品时传此参数 * @return * s -- OK */ public function send_gift($params) { $uid = $params['u']; $fid = $params['f']; $msg = $params['msg']; $xid = $params['xid']; $xtag = $params['xtag']; if (!$fid) { $ret['s'] = 'friendnotexsit'; return $ret; } if (!$xid) { //赠送已有物品 if (0) { //验证xml中是否存在此类物品 } //验证送礼人是否有此物品 $tm = new TTMain(); //礼物只能是装饰品? $gift_obj = $tm->getbyid($xid, $uid); if (!$gift_obj) { $ret['s'] = 'giftnotexsit'; return $ret; } //从送礼人的物品列表中除去此礼物 $tm->remove($uid, $gift_obj['id']); } if (!$xtag) { //赠送新买物品 if (0) { //验证xml中是否存在此类物品 } $tu = new TTUser($uid); $buy_ret = $tu->buyItem($xtag); if ($buy_ret['s'] != 'OK') { return $buy_ret; } //如何得到新买物品的id? } $db = ServerConfig::connect_main_mysql(0); $present = ModelFactory::Present($db); $now = time(); $data['user_id'] = $fid; $data['donor_id'] = $uid; $data['message'] = $msg; $data['item_id'] = $gift_obj['tag']; //如果是新买物品 $data['item_id'] = 新物品的tag $data['done'] = 0; //未被好友领取 $data['created_at'] = date(TM_FORMAT, $now); $present->insert($data); $ret['s'] = 'OK'; return $ret; }
/** * @param $params * require u -- user id * d -- item 支持购买多种物品 * tag -- tag to distiguish item type * pos -- position for describe item * @return * s -- OK ,or other fail * notexsit ,配置不一致 * notbuy ,不能购买的物品 * level,等级未到 * achive, 所需成就buy_need_achiveid 未达成 * task,所需任务未达成 * buynumlimit,限量版已经卖完 * money, * gem * index -- 第几个物品开始后面的物品没有购买成功 * * ids -- the new generate id */ public function buy($params) { $uid = $params['u']; $ids = array(); $tu = new TTUser($uid); if ($tu->check_dup($params['_cid'], $ret)) { return $ret; } $pop = 0; $now = time(); foreach ($params['d'] as $index => $row) { $tag = $row['tag']; $num = 1; $item = ItemConfig::getItem($tag); if (!$item) { $ret['s'] = 'notexsit'; $ret['index'] = $index; return $ret; } $buy_ret = $tu->buyItem($tag, $num); if ($buy_ret['s'] != 'OK') { $buy_ret['index'] = $index; return $buy_ret; } if ($item['type'] == "ro") { $row['id'] = $tu->getdid(false, TT::SHOP_GROUP); //shop id } else { //不维护店面人气,但厕所的人气需包含 $row['id'] = $tu->getdid(false, TT::ITEM_GROUP); //other $pop += $item['pop']; if ($item['type'] == 'rs') { //特殊店需记录一个结算时间 $row['ctime'] = $now; } } $ret['ids'][$index] = $tu->puto($row, TT::ITEM_GROUP, false); } if ($pop) { $popu = $tu->numch(TT::POPU, $pop); } $ret['s'] = 'OK'; return $ret; }
/** * 进货 * @param $params * require u -- user_id * require c -- the car to be lold * id -- id of the car * goodsTag -- goods type the car can load * @return * s -- OK * c -- car status */ public function go_goods($params) { $uid = $params['u']; $goodsTag = $params['c']['goodsTag']; $cid = $params['c']['id']; $tu = new TTUser($uid); $car_obj = $tu->getbyid($cid); if (!$car_obj) { $ret['s'] = 'notexist'; return $ret; } if ($car_obj['t']) { $ret['s'] = 'doing'; return $ret; } $car = ItemConfig::getItem($car_obj['tag']); if (!$car) { $ret['s'] = 'caritemnotexist'; return $ret; } $goods = ItemConfig::getItem($goodsTag); if (!$goods) { $ret['s'] = 'goodsitemnotexist'; return $ret; } $buy_ret = $tu->buyItem($goods['tag'], $car['goodsNumber']); if ($buy_ret['s'] != 'OK') { return $buy_ret; } $add_exp = $goods['exp'] * $car['goodsNumber']; if ($add_exp) { $tu->addExp($add_exp); } $now = time(); $car_obj['goodsTag'] = $goodsTag; $car_obj['t'] = $now; $tu->puto($car_obj, TT::CAR_GROUP); $gogoods_count = $tu->numch('gogoods_count', 1); $ret['s'] = 'OK'; $params['c']['t'] = $now; $ret['c'] = $params['c']; // $ret['c'] = $car_obj; return $ret; }