Example #1
0
 /**
  * 定时从new_tao表拷贝交易表的交易流拍记录和卖家取消的记录到new_trans_history表
  * 拷贝成功后删除原new_tao表对应的原始记录,若删除失败直接输入对应记录id
  *
  *
  */
 public function cpActToHistoryAction()
 {
     $status = \core\Config::item('transStaCode');
     $status = array($status->failure, $status->sellerCancel);
     $newTaoModel = new NewTaoModel();
     $res = $newTaoModel->getDatasByStatus($status);
     $newTransHistoryModel = new NewTransHistoryModel();
     foreach ($res as $value) {
         $ins = $newTransHistoryModel->setTransHistory((array) $value);
         if ($ins === false) {
             echo $value->t_id . PHP_EOL;
         }
     }
 }
Example #2
0
 /**
  * 卖家违约流程 
  * @param array $data 交易结果表全部字段的记录
  */
 public function main(array $data)
 {
     if (!in_array($data['t_status'], array(2, 4))) {
         throw new \Exception('交易状态错误不能执行违约操作');
     }
     $dn = $data['t_dn'];
     $money = $data['t_now_price'];
     $buyer = $data['t_buyer'];
     $seller = $data['t_enameId'];
     $sellerOrderId = $data['t_seller_order'];
     //卖家保证金订单
     $orderId = $this->createOrder($dn, $money, $buyer, $seller, $sellerOrderId);
     if (!$orderId) {
         return false;
         //违约失败
     }
     // 设置卖家违约
     $newTao = new \NewTaoModel();
     $newTao->updateTrans(array("t_status" => 7), array("t_id" => $data['t_id']));
     // 如果是我司域名 解锁域名
     if (1 == $data['t_is_out']) {
         $domains = new \common\Domain();
         $domains->lockDomain($data['t_dn'], 1);
     }
     // 如果买家已经确认 取消买家支付订单 一口价买家肯定是确认状态
     $finance = new \finance\Orders($buyer);
     if (!$finance->cancelOrder($data['t_order_id'])) {
         //log
     }
     // 如果买家未确认 取消买家保证金订单 一口价没有这个 竞价才有这个
     // 确认违约订单
     // $moneyType['UNWITHDRAWAL']
     $finance = new \finance\Orders($seller);
     if ($finance->confirmOrder($orderid, 2, $buyer)) {
         //log
     }
     // 违约是否要评论
     //移动交易记录 到历史表
     $newHistory = new \NewTransHistoryModel();
     if (!$newHistory->setTransHistory($data)) {
         //log
     }
     // 通知卖家
     $nowTime = date('Y-m-d H:i:s');
     $message = new \common\Message();
     $message->sendAuctionBuyerrefuseSeller($dn, $nowTime, $id, $seller);
     // 通知买家
     $message->sendAuctionBuyerrefuseBuyer($dn, $nowTime, $id, $buyer);
     return true;
 }
Example #3
0
 /**
  * 获取new_trans_result表里面状态为成功或者失败的记录
  * 将取出的记录原封不动的存入new_trans_history表
  * 存入成功后删除new_trans_result表里面对应的记录
  *
  */
 public function checkResultStatus()
 {
     $newTransResultModel = new NewTransResultModel();
     $newTransHistoryModel = new NewTransHistoryModel();
     $res = $newTransResultModel->getSuccAndFail();
     if ($res) {
         foreach ($res as $k => $v) {
             $newTransHistoryModel->begin();
             $v = (array) $v;
             $newTransHistoryModel->insert($v);
             $rs = $newTransHistoryModel->affectRow();
             if ($rs) {
                 $del = $newTransResultModel->delSuccAndFail($v['t_id']);
                 if ($del) {
                     $newTransHistoryModel->commit();
                     echo 't_id为' . $v['t_id'] . '的交易记录从result转存history成功' . PHP_EOL;
                 } else {
                     $newTransHistoryModel->rollback();
                     echo 't_id为' . $v['t_id'] . '的交易记录从result删除失败' . PHP_EOL;
                 }
             } else {
                 $newTransHistoryModel->rollback();
                 echo 't_id为' . $v['t_id'] . '的交易记录从result写入history失败' . PHP_EOL;
             }
         }
     }
 }
Example #4
0
 /**
  *  将原来交易信息写入到new_trans_history表
  *  NOTICE: 这步骤处理必须修改$transInfo里面的状态字段为交易成功的状态值
  * @params $transInfo array 为交易记录完整信息
  * @param $status int [修改交易状态]
  * @param $finishTime int [交易完成时间]
  * @return int|boolean [lastid or false]
  */
 public function copyToHistory($transInfo, $status, $finishTime = false)
 {
     $transInfo['t_status'] = $status;
     $transInfo['t_last_time'] = $transInfo['t_complate_time'] = !$finishTime ? $_SERVER['REQUEST_TIME'] : $finishTime;
     $historyModel = new NewTransHistoryModel();
     $res = $historyModel->setTransHistory($transInfo);
     if (!$res) {
         \core\Logger::write("domain.log", array(__METHOD__, "域名{$transInfo['t_dn']}插入到交易历史表new_trans_history失败,发布时间:" . date('Y-m-d H:i:s', $_SERVER['REQUEST_TIME'])));
     }
     return $res;
 }