public function transfer()
{
list($id, $uid, $say) = Common::getInput(array('id', 'uid', 'say'));
$data = LogModel::getInstance()->getById($id);
$data = array_merge($data, GiftModel::getInstance()->getById($data['gid']));
$uid = intval($uid);
$say = t($say);
list($num, $type) = Common::getInput(array('num', 'type'));
list($num, $type) = array(intval($num), intval($type));
/* # 判断是否存在礼物 */
if (!$data) {
return array('status' => 0, 'message' => '转增的礼物不存在');
/* # 判断赠送的用户是否不存在 */
} elseif (!$uid || !model('User')->hasUser($uid, true)) {
return array('status' => 0, 'message' => '对不起,您赠送的用户不存在');
/* # 判断祝福语是否为空 */
} elseif (!$say) {
return array('status' => 0, 'message' => '请输入祝福语');
/* # 判断是否不是虚拟礼物 */
} elseif ($data['cate'] != 1) {
return array('status' => 0, 'message' => '您转账的礼物不是虚拟物品!');
/* # 判断礼物是否属于自己 */
} elseif ($data['inUid'] != $this->mid || $data['notIn'] == 1) {
return array('status' => 0, 'message' => '该礼物不属于您!');
/* # 判断该礼物是否已经赠送过了 */
/*} elseif (LogModel::getInstance()->hasGive($data['gid'], $uid, $this->mid)) {*/
/*return array('status' => 0, 'message' => '您已经赠送过给该用户,请勿重复赠送');*/
/* # 判断转赠的数量是否不合法 */
} elseif ($num <= 0 || $num > $data['num']) {
return array('status' => 0, 'message' => '您转赠的数量不合法,必须大于0且小于或等于您收到的数量!');
/* # 判断转赠类似是否不合法 */
} elseif (!in_array($type, array(1, 2, 3))) {
return array('status' => 0, 'message' => '不允许的赠送类型,请在页面上正确的选择赠送类型');
/* # 检查是否转增失败 */
} elseif (!LogModel::getInstance()->transfer($id, $uid, $say, $num, $type)) {
return array('status' => 0, 'message' => '转增失败!');
}
/* # 发送提示 */
$message = '礼物提示:' . getUserName($this->mid) . '送给了您' . $data['num'] . '份“' . $data['name'] . '”,快<a href="' . U('Gift/Index/my') . '">去看看</a>!';
LogModel::getInstance()->sendMessage($uid, $message);
/* # 转增成功 */
return array('status' => 1, 'message' => '礼物转赠成功!');
}