代码如下:
public function checkset() {
$post = I ( 'post.' );
$id = intval ( $post ['id'] );
if ($id < 1) {
$this->error ( 'ID不存在,非法操作' );
}
$list = $this->task_is_own ( $id );
if (empty ( $list )) {
$this->error ( '数据为空,审核失败' );
}
$innum = 0;
$checks = intval ( $post ['checks'] );
if ($checks > 0) {
if (intval ( $list ['is_praise'] ) < 1) {
$post ['status'] = 5;
$innum = 1;
}
}
$order = M ( 'olist' );
// 启动事务
$order->startTrans ();
if ($order->create ( $post )) {
if (false === $order->save ()) {
// 事务回滚
$order->rollback ();
$this->error ( '审核失败' );
}
} else {
// 事务回滚
$order->rollback ();
$this->error ( '验证失败' );
}
if ($checks < 2) {
// 提交事务
$order->commit ();
$this->success ( "提交成功!", U ( 'checkno' ) );
exit ();
}
$money = format_money ( $list ['trademoney'] );
if (false === $this->deduct_taskmoney ( $list ['taskid'], $money ) || false === $this->deduct_sellermoney ( $list ['sellerid'], $money )) {
// 事务回滚
$order->rollback ();
$this->error ( '更新金额失败' );
}
if (false === $this->add_usermoney ( $list ['userid'], $money )) {
// 事务回滚
$order->rollback ();
$this->error ( '添加金额失败' );
}
$order->commit ();
$this->success ( "提交成功!", U ( 'checktaskok' ) );
$this->add_money_logs ( $money, $list ['userid'], $list ['username'], $list ['orderid'], "$id 金额" );
$this->smallset ( $list ['smallid'], $money, $innum );
if ($innum > 0) {
$this->add_usernum ( $list ['userid'] );
}
exit ();
}
最佳答案
