startTrans(); try{ $data = [ 'org_id' => $orgId, 'user_id' => $userId, 'worker_id' => $workerId, 'money' => $money, 'type' => $type, 'remark' => $content, 'from_id' => $fromId, 'settlement_log_id' => $logId, 'create_time' => date('Y-m-d H:i:s'), ]; $ret = Db::name('worker_balance')->insert($data); if(!$ret){ \exception('余额记录保存失败'); } $workerInfo = Db::name('worker') ->where('id',$workerId) ->find(); if($money>0){ $a = [ 'cumulative_money'=>$workerInfo['cumulative_money']+$money, 'balance'=>$workerInfo['balance']+$money, ]; }else{ if($workerInfo['balance'] $workerInfo['balance']-abs($money), ]; } $ret = Db::name('worker') ->where('id',$workerId) ->update($a); if(!$ret){ \exception('余额更新失败'); } $this->commit(); return true; }catch (Exception $e){ $this->error = $e->getMessage(); $this->rollback(); return false; } } public function lists($workerId,$page,$size){ $start = ($page - 1) * $size; $map[] = ['worker_id','=',$workerId]; $list = $this->where($map) ->limit($start,$size) ->order('id','desc') ->select() ->toArray(); foreach ($list as $k=>$v){ $list[$k]['date'] = date('Y-m-d',strtotime($v['create_time'])); $list[$k]['time'] = date('H:i',strtotime($v['create_time'])); } return $list; } }