/**
  * 添加退货申请
  *
  * @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' => '申请失败');
     }
 }
Ejemplo n.º 2
0
 /**
  * 更新用户
  *
  * @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' => '未知错误');
     }
 }