/** * 添加一条记录 * * @param PwThreadBuyDm $dm 帖子购买记录数据模型 * return mixed */ public function add(PwThreadAttachBuyDm $dm) { if (($result = $dm->beforeAdd()) !== true) { return $result; } return $this->_getDao()->add($dm->getData()); }
protected function _operateBuyCredit($attach) { $user = Wekit::getLoginUser(); if (!$attach['cost'] || $attach['created_userid'] == $user->uid) { return false; } Wind::import('SRV:credit.bo.PwCreditBo'); $creditBo = PwCreditBo::getInstance(); Wind::import('SRV:attach.dm.PwThreadAttachBuyDm'); $dm = new PwThreadAttachBuyDm(); $dm->setAid($attach['aid'])->setCreatedUserid($user->uid)->setCreatedTime(Pw::getTime())->setCtype($attach['ctype'])->setCost($attach['cost']); Wekit::load('attach.PwThreadAttachBuy')->add($dm); $creditBo->addLog('attach_buy', array($attach['ctype'] => -$attach['cost']), $user, array('name' => $attach['name'])); $creditBo->set($user->uid, $attach['ctype'], -$attach['cost'], true); $user = new PwUserBo($attach['created_userid']); if (($max = $user->getPermission('sell_credit_range.maxincome')) && Wekit::load('attach.PwThreadAttachBuy')->sumCost($attach['aid']) > $max) { } else { $creditBo->addLog('attach_sell', array($attach['ctype'] => $attach['cost']), $user, array('name' => $attach['name'])); $creditBo->set($user->uid, $attach['ctype'], $attach['cost'], true); } $creditBo->execute(); }