/** * 根据经纪人id查询该经纪人的还款记录 */ public function searchQueue() { $brokerId = APF::get_instance()->get_request()->get_parameter('brokerId'); $sqlResult = Model_Broker_AjkPppccoinQueen::data_access()->filter_by_op('brokerid', '=', $brokerId)->find(); return array('status' => 'success', 'info' => $sqlResult); }
/** * 写返现日志和返现队列 * * @param int $cityId * @param int $brokerId * @param int $amount * @param string $note * @param int $cashBackType * @return bool */ private function doCashBack($cityId, $brokerId, $amount, $note, $cashBackType) { $cashBackLog = array('cityId' => $cityId, 'brokerId' => $brokerId, 'amount' => $amount, 'remark' => $note, 'createTime' => date('Y-m-d H:i:s')); $effectRowCount = Model_Choice_AjkBrokerChoiceConsumeCashBackLog::create($cashBackLog)->save(); if ($effectRowCount != 1) { $this->logMsg(sprintf('保存经纪人返现日志失败 %s', json_encode($cashBackLog))); return false; } $this->logMsg(sprintf('保存经纪人返现日志成功 %s', json_encode($cashBackLog))); /** 写返现队列开始 */ $cashBackTypeId = intval($this->getCashBackTypeId($cashBackType, $this->_calculateDate)); if ($cashBackTypeId == 0) { $this->logMsg(sprintf('获取经纪人返现队列类型ID失败, actType=%d typeDate=%d', $cashBackType, $this->_calculateDate)); return false; } /** 获取经纪人返现队列中是否已经存在 */ $cashBackQueue = Model_Broker_AjkPppccoinQueen::getBrokerQueue($brokerId, $cashBackTypeId, true); if (!empty($cashBackQueue)) { $this->logMsg(sprintf('经纪人[%d] 返现[%d] 队列已经存在 %s', $brokerId, $amount, json_encode($cashBackQueue))); return false; } $cashBackQueueData = array('typeid' => $cashBackTypeId, 'brokerid' => $brokerId, 'accounttype' => 1, 'amount' => $amount, 'remark' => $note, 'addtime' => time(), 'cityid' => $cityId); try { if (1 != Model_Broker_AjkPppccoinQueen::create($cashBackQueueData)->save()) { $this->logMsg(sprintf('经纪人[%d] 返现[%d] 写返现队列失败 %s', $brokerId, $amount, json_encode($cashBackQueueData))); return false; } } catch (Exception $e) { $this->logMsg(sprintf('经纪人[%d] 返现[%d] 写返现队列失败 %s', $brokerId, $amount, json_encode($cashBackQueueData))); $this->logMsg(sprintf('经纪人[%d] 返现[%d] 写返现队列异常 %s', $brokerId, $amount, $e->getMessage())); return false; } return true; }
/** * 安币返还,每个$cashBackTypeId只能返还一次 * @param $brokerId * @param $cityId * @param $amount 返还金额,单位“分” * @param $cashBackTypeId 该id由self::getCashBackTypeId生成 * @param $note 经纪人账户日志里面展示的备注 * @param int $accounttype 1-经纪人个人账户,2-经纪人公司账户 * @return bool */ public static function addCashBack($brokerId, $cityId, $amount, $cashBackTypeId, $note, $accounttype = 2) { $cashBackQueueData = array('typeid' => $cashBackTypeId, 'brokerid' => $brokerId, 'accounttype' => $accounttype, 'amount' => $amount, 'remark' => $note, 'addtime' => time(), 'cityid' => $cityId); return Model_Broker_AjkPppccoinQueen::addQueue($cashBackQueueData); }
/** * 返钱 * @param $typeId 返还类型Id -> ppc_db.ajk_ppccoin_type * @param $accountType '送回帐号类型,1个人账户,2公司账户' * @param $brokerId * @param $brokerType int 经纪人类型,1-二手房经纪人,2-好租经纪人,3-金铺经纪人 -> 建议统一二手房 * @param $amount 送钱金额,单位分 * @param $remark 备注 * @param $cityId * @param $brokerAccountType int 账户类型,1-二手房经纪人,2-好租经纪人,3-金铺经纪人 * @return int */ public static function addReturnQueue($brokerId, $cityId, $typeId, $amount, $remark, $accountType = 2, $brokerAccountType = 1, $brokerType = 1) { return Model_Broker_AjkPppccoinQueen::addQueue(array('typeid' => $typeId, 'accounttype' => $accountType, 'brokerid' => $brokerId, 'amount' => $amount, 'remark' => $remark, 'cityid' => $cityId, 'brokertype' => $brokerType, 'brokeraccounttype' => $brokerAccountType, 'addtime' => time(), 'updatetime' => time())); }