where('id', $userID)->find(); } public function getByAddress($address) { return $this->where("address", $address)->find(); } public function getAllAddress() { $all_list = $this->field('id,address')->select(); $arr = []; foreach ($all_list as $item){ $arr[$item['address']] = $item['id']; } return $arr; } //获取用户余额 冻结金额 和 折合金额 frozen_amount convert_mount public static function getUserAmount(int $uid): float { return self::where('id', $uid)->sum("balance-frozen_amount"); } /** * 余额更新数据 * @param int $uid * @param string $power * @return void */ public static function updateForRBalance(int $uid, string $score, string $action) { if($action == '+'){ return self::where('id', $uid)->setInc('balance', $score); }else{ return self::where('id', $uid)->setDec('balance', $score); } } /** * 添加上级的分享奖励和直推人数 * @return void * @throws DbException * @throws Exception * @throws DataNotFoundException * @throws ModelNotFoundException */ public static function updateParentData(string $uid, string $from_id) { $parent = self::where('id', $uid)->find(); $amount = getConfig('direct_income'); UserBalanceLog::create([ 'user_id' => $uid, 'from_id' => $from_id, 'type_id' => UserBalanceLog::Share, 'amount' => $amount, 'before' => $parent['balance'], 'after' => $parent['balance'] + $amount, 'action' => '+' ]); $parent['balance'] = $parent['balance'] + $amount; $parent['team_num'] = $parent['team_num'] +1; $parent['direct_num'] = $parent['direct_num'] +1; $parent->save(); } }