api\Gift::transfer PHP Method

transfer() public method

转增虚拟礼物
Author: Seven Du ([email protected])
public transfer ( )
    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' => '礼物转赠成功!');
    }