public function buy()
{
list($id, $uid, $num, $addres, $say, $type) = Common::getInput(array('id', 'uid', 'num', 'addres', 'say', 'type'));
list($name, $phone) = Common::getInput(array('name', 'phone'));
/* # 参数过滤处理 */
$id = intval($id);
$uid = intval($uid);
$num = intval($num);
$type = intval($type);
$addres = t($addres);
$say = t($say);
$name = t($name);
$phone = t($phone);
/* # 获取当前用户积分 */
$score = model('Credit')->getUserCredit($this->mid);
$score = $score['credit']['score']['value'];
/* # 判断是否登陆 */
if (!$this->mid) {
return array('status' => 0, 'mesage' => '请先登录后再兑换');
/* # 判断物品是否不存在 */
} elseif (!$id || !($gift = GiftModel::getInstance()->getById($id))) {
return array('status' => -1, 'mesage' => '兑换的该物品不存在');
/* # 判断赠送的用户是否不存在 */
} elseif (!$uid || !model('User')->hasUser($uid, true)) {
return array('status' => -2, 'mesage' => '对不起,您赠送的用户不存在');
/* # 判断是否赠送过了 */
} elseif (LogModel::getInstance()->hasGive($id, $uid, $this->mid)) {
return array('status' => -3, 'mesage' => '您已经赠送过给该用户,请勿重复赠送');
/* # 判断积分是否充足 */
} elseif ($gift['score'] > $score) {
return array('status' => -4, 'mesage' => '您的积分余额不足,请先充值积分,或者做任务获得积分。');
/* # 判断数量是否少于1 */
} elseif ($num < 1) {
return array('status' => -5, 'mesage' => '赠送数量不得少于1份');
/* # 判断是否超出库存 */
} elseif ($gift['stock'] < $num) {
return array('status' => -7, 'mesage' => '数量超出库存数量:' . $gift['stock']);
/* # 判断是否超出限购 */
} elseif ($gift['max'] < $num && $gift['max']) {
return array('status' => -6, 'mesage' => '数量超出限购数量:' . $gift['max']);
/* # 判断是否缺少祝福语 */
} elseif (!$say) {
return array('status' => -8, 'mesage' => '请输入祝福语');
/* # 判断真实姓名是否为空 */
} elseif (!$name && $gift['cate'] == 2) {
return array('status' => -12, 'mesage' => '用户真实姓名不能为空');
/* # 判断是否输入了联系方式 */
} elseif (!$phone && $gift['cate'] == 2) {
return array('status' => -13, 'mesage' => '用户联系方式不能为空');
/* # 判断是否输入了地址 */
} elseif (!$addres && $gift['cate'] == 2) {
return array('status' => -9, 'mesage' => '请输入正确的收货地址');
/* # 判断是否是不允许的赠送类型 */
} elseif (!in_array($type, array(1, 2, 3))) {
return array('status' => -10, 'mesage' => '不允许的赠送类型,请在页面上正确的选择赠送类型');
/* # 判断是否兑换失败 */
} elseif (!LogModel::getInstance()->add($uid, $this->mid, $id, $type, $say, $num, $addres)) {
return array('status' => -11, 'mesage' => LogModel::getInstance()->getError());
}
/* # 发送系统消息 */
if ($gift['cate'] == 1) {
$message = '礼物提示:' . getUserName($this->mid) . '送给了您' . $num . '份“' . $gift['name'] . '”,快<a href="' . U('Gift/Index/my', array('type' => '1')) . '">去看看</a>!';
if ($type == 1) {
$message = '礼物提示:您收到了' . $num . '份你们赠送的礼物“' . $gift['name'] . '”,快<a href="' . U('Gift/Index/my', array('type' => '1')) . '">去看看</a>!';
}
} else {
$message = '礼物提示:' . getUserName($this->mid) . '送给了您' . $num . '份“' . $gift['name'] . '”,请等待快递发货通知!';
if ($type == 1) {
$message = '礼物提示:您收到了' . $num . '份你们赠送的礼物“' . $gift['name'] . '”,请等待快递发货通知!';
}
}
LogModel::getInstance()->sendMessage($uid, $message);
return array('status' => 1, 'mesage' => '恭喜您,成功的为您的好友送出了礼物!您可以去充值或者完成任务获得更多积分哦!');
}