コード例 #1
0
ファイル: Question.php プロジェクト: eappl/prototype
 function ApplyCancel($QuestionId)
 {
     $oOperator = new Kubao_Operator();
     //事务开启
     $this->db->begin();
     //获取问题
     $QuestionInfo = $this->getQuestion($QuestionId, "id,status,js_kf,pid");
     //问题存在
     if ($QuestionInfo['id']) {
         //如果已经被接手
         if ($QuestionInfo['js_kf'] != '') {
             //如果尚未被回答或尚未完结
             if ($QuestionInfo['status'] < 2) {
                 //标识未被分单
                 $updateArr = array("is_hawb" => 0, "js_kf" => "", "receive_time" => 0);
                 $UpdateQuestion = $this->updateQuestion($QuestionInfo['id'], $updateArr);
                 //减去单量
                 if ($QuestionInfo['pid'] == 0) {
                     //更新首问数量
                     $UpdateAcceptedNum = $oOperator->UpdateOperatorAccecpted($QuestionInfo['js_kf'], -1, 0);
                 } else {
                     //更新追问数量
                     $UpdateAcceptedNum = $oOperator->UpdateOperatorAccecpted($QuestionInfo['js_kf'], -1, 1);
                 }
                 if ($UpdateQuestion && $UpdateAcceptedNum) {
                     //事务成功,提交
                     $this->db->commit();
                     return true;
                 } else {
                     //事务失败,回滚
                     $this->db->rollback();
                     return false;
                 }
             } else {
                 //问题已被回答,回滚
                 $this->db->rollback();
                 return false;
             }
         } else {
             //问题无接手,回滚
             $this->db->rollback();
             return false;
         }
     } else {
         //问题未找到,回滚
         return false;
         $this->db->rollback();
     }
 }