/** * 添加退货申请 * * @param int $user_id * 用户ID * @param string $order_number * 订单号 * @param string $reason * 退货原因 * @param string $image_1 * 图片1 * @param string $image_2 * 图片2 * @param string $image_3 * 图片3 * @param string $postscript * 补充说明 * @return array */ public function addReturns($user_id, $order_number, $reason, $image_1, $image_2, $image_3, $postscript) { if (!M('Order')->where(array('order_number' => $order_number, 'status' => 3))->count()) { return array('status' => 0, 'result' => '该状态的订单不能申请退货'); } $order_add_time = M('Order')->where(array('order_number' => $order_number))->find(); if (time() - $order_add_time['add_time'] > 24 * 60 * 60) { return array('status' => 0, 'result' => '超过24小时不能退货'); } $image_1 = $image_1 ? base64Code2Image($image_1) : $image_1; $image_2 = $image_2 ? base64Code2Image($image_2) : $image_2; $image_3 = $image_3 ? base64Code2Image($image_3) : $image_3; // 开启事务 $this->startTrans(); if ($this->add(array('user_id' => $user_id, 'order_number' => $order_number, 'reason' => $reason, 'image_1' => $image_1, 'image_2' => $image_2, 'image_3' => $image_3, 'postscript' => $postscript, 'add_time' => time()))) { if (M('Order')->where(array('order_number' => $order_number))->save(array('status' => 6))) { // 申请成功,提交事务 $this->commit(); return array('status' => 1, 'result' => '申请成功'); } else { // 申请失败,回滚事务 $this->rollback(); return array('status' => 0, 'result' => '申请失败'); } } else { // 申请失败,回滚事务 $this->rollback(); return array('status' => 0, 'result' => '申请失败'); } }
/** * 更新用户 * * @param int $id * 用户ID * @param string $username * 用户名 * @param string $real_name * 真实姓名 * @param string $avatar * 头像 * @param int $sex * 性别(0:保密,1:男,2:女) * @return array */ public function updateMember($id, $username, $real_name, $avatar, $sex) { $getResult = function () use($id) { $result = $this->field(array('id', 'phone', 'username', 'real_name', 'avatar', 'sex', 'register_time', 'last_time'))->where(array('id' => $id))->find(); $result['register_time'] = date("Y-m-d H:i:s", $result['register_time']); $result['last_time'] = $result['last_time'] ? date("Y-m-d H:i:s", $result['last_time']) : $result['last_time']; return $result; }; $data = array(); $username && ($data['username'] = $username); $real_name && ($data['real_name'] = $real_name); $avatar && ($data['avatar'] = base64Code2Image($avatar)); !is_null($sex) && in_array($sex, array(0, 1, 2)) && ($data['sex'] = $sex); if (empty($data)) { return array('status' => 1, 'result' => $getResult()); } // 修改前后没有变化 $where = array_merge($data, array('id' => $id)); if ($this->where($where)->count()) { return array('status' => 1, 'result' => $getResult()); } if ($this->where(array('id' => $id))->save($data)) { return array('status' => 1, 'result' => $getResult()); } else { return array('status' => 0, 'result' => '未知错误'); } }