Example #1
0
 /**
  * 定时处理竞价结束的数据处理
  *
  *
  */
 public function checkAcuctionStatusAction()
 {
     // step1 取出已过交易结束时间,类型为竞价的并且有买家id的交易记录
     $taoModel = new NewTaoModel();
     $taoData = $taoModel->getExpiredByType(\core\Config::item('isInquiry')->toArray()[1], time());
     // step2 将step1的记录修改状态为等待买卖双方确认的状态,存到new_trans_result表,并更新用户关注表
     $historyModel = new NewTransHistoryModel();
     $transLogic = new TransLogic();
     if (!empty($taoData)) {
         foreach ($taoData as $data) {
             $data = get_object_vars($data);
             $data['t_status'] = 2;
             //存表
             if ($historyModel->setTransHistory($data)) {
                 //更新用户关注表
                 if ($transLogic->updateWatchInfo($data['t_id'], $data['t_now_price'], $data['t_nickname'], $endTime = $data['t_end_time'])) {
                     // step3 删除new_tao里面该条交易记录
                     if ($taoModel->delByTid($data['t_id'])) {
                         echo 'tid 为' . $data['t_id'] . '操作成功';
                     } else {
                         echo 'tid 为' . $data['t_id'] . '删除net_tao原表数据失败';
                     }
                 } else {
                     echo 'tid 为' . $data['t_id'] . '更新用户关注表失败';
                 }
             } else {
                 echo 'tid 为' . $data['t_id'] . '复制到history 失败';
             }
         }
     }
 }
Example #2
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 #3
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 #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;
 }