getOneData([ ['uid', '=', $this->mid], ['user_id', '=', $user_id] ], 'id,user_id,money,total_money'); // 如果用户没有初始化则初始化,再重新获取用户数据 if (empty($my)) { $my_data = [ 'uid' => $this->mid, 'user_id' => $user_id, 'money' => 0, 'total_money' => 0 ]; $res = $my_model->dataUpdate($my_data); if (!$res) { return sendErrorArray(2002, '平台初始化失败'); } // 查找我的信息 $my = $my_model->getOneData([ 'user_id' => $user_id, 'uid' => $this->mid ], 'id,user_id,money,total_money'); } // 不可减为负数 if ($money < 0 && abs($money) > $my['money']) { return sendErrorArray(2003, '变动余额不可大于当前余额'); } // 更新我的余额表 $my_update = [ 'id' => $my['id'], 'user_id' => $user_id, 'money' => Db::raw('money + ' . $money) ]; if (in_array($type, $log_model->getJoinStatisticsTypes())) { $my_update['total_money'] = Db::raw('total_money + ' . $money); } $res = $my_model->dataUpdate($my_update); if (!$res) { return sendErrorArray(2004, '用户余额更新失败'); } // 更新LOG表 $my_log_data = [ 'uid' => $this->mid, 'user_id' => $user_id, 'type' => $type, 'money' => $money, 'after_money' => $my['money'] + $money, 'show_text' => $show_text, 'relation_order_number' => $relation_order_number, 'remark' => $remark ]; $res = $log_model->dataUpdate($my_log_data); if (!$res) { return sendErrorArray(2005, '用户余额日志更新失败'); } return sendSuccessArray(); } }