Example #1
0
 /**
  * 从new_tao表中找出状态为15的交易,请求dc接口解锁域名,解锁成功后,将该记录复制到new_trans_history表,同时从new_tao表删除该记录
  *
  *
  *
  */
 public function downAction()
 {
     $taoModel = new NewTaoModel();
     $taoData = $taoModel->getDataByStatus(15);
     if (!empty($taoData)) {
         $dLogic = new DomainLogic();
         foreach ($taoData as $v) {
             $data[$v->t_id] = (array) $v;
             $res = $dLogic->setDomainStatus(\core\Config::item('doPubSta')->toArray()['down'], 1);
             if ($res !== true) {
                 unset($data[$v->t_id]);
                 echo "解锁new_tao状态为15的域名id{$v->t_id}失败,解锁时间:" . date('Y-m-d H:i:s', $_SERVER['REQUEST_TIME']) . "\n";
             }
         }
         if (!empty($data)) {
             $data = array_values($data);
             $TransLogic = new TransLogic();
             //将信息更新到历史表中,并在new_tao中删除
             foreach ($data as $v) {
                 $copyRes = $TransLogic->copyToHistory($v, $v['t_status']);
                 $delRes = $TransLogic->delByTid($v['t_id']);
                 if (!$copyRes) {
                     echo "域名id{$v['t_id']}解锁成功,但在插入new_trans_history时发生错误.时间:" . date('Y-m-d H:i:s', $_SERVER['REQUEST_TIME']) . "\n";
                 }
                 if (!$delRes) {
                     echo "域名id{$v['t_id']}解锁成功,但在从new_tao删除该条记录时发生错误.时间:" . date('Y-m-d H:i:s', $_SERVER['REQUEST_TIME']) . "\n";
                 }
             }
         }
     }
 }
Example #2
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 #3
0
 /**
  * 判断一口价交易卖家是否违约
  */
 public function IndexAction()
 {
     $limit = 100;
     $condition = array('t_status' => 4, 't_end_time <' => time());
     $transResult = new \NewTransResultModel();
     $data = $transResult->getListByWhere($condition, '0,100', '*');
     $domains = new \common\Domain();
     foreach ($data as $v) {
         $transId = $v['t_id'];
         // 判断域名是否在卖家ID下
         $result = $domains->checkDnInUser($v['t_enameId'], $v['t_dn']);
         // 如果如果存在 则执行“一口价交易流程”
         if ($result) {
             $lock = $domains->lockDomain($v['t_dn'], 2);
             // 设置成交易状态
             if (!$lock) {
                 Logger::write('buynowtask_index', 'lock domain false ' . $v['t_id'] . '-' . $v['t_dn'] . '--' . $lock[1]);
                 continue;
             }
             $finance = new \finance\Orders($v['t_enameId']);
             if (!$finance->cancelOrder($v['t_seller_order'])) {
                 Logger::write('buynowtask_index', 'cancel order false .' . $v['t_seller_order']);
             }
             //PUSH域名
             $domains->PushDomain($v['t_enameId'], $v['t_buyer'], $v['t_dn']);
             //确认订单 扣掉买家的钱给卖家
             unset($finance);
             $finance = new \finance\Orders($v['t_buyer']);
             $finance->confirmOrder($v['t_order_id'], $v['t_money_type'], $v['t_enameId']);
             //更新关注表
             $transLogic = new \TransLogic();
             $transLogic->updateWatchInfo($v['t_id'], $v['t_now_price']);
             $messageObj = new \common\Message();
             //通知卖家
             $sms = (new \common\Users())->noticeSellerIsOk($v['t_enameId'], 'T204');
             $messageObj->sendBuyNowSeller($v['t_enameId'], $v['t_dn'], $v['t_now_price'], $v['t_id'], $sms);
             //通知买家
             $messageObj->sendBuyNowBuyer($v['t_buyer'], $v['t_dn'], $v['t_now_price'], $v['t_id']);
         } else {
             Logger::write('buynowtask_index', 'lock domain false not at user id ' . $v['t_id'] . '-' . $v['t_dn']);
             $trans = new \trans\Weiyue();
             $trans->main($v);
         }
     }
 }