// +---------------------------------------------------------------------- namespace App\Services\Common; use App\Models\MemberModel; use App\Models\UserModel; use App\Services\BaseService; use Earnp\GoogleAuthenticator\GoogleAuthenticator; /** * 会员管理-服务类 * @author laravel开发员 * @since 2020/11/11 * Class MemberService * @package App\Services\Common */ class MemberService extends BaseService { /** * 构造函数 * @author laravel开发员 * @since 2020/11/11 * MemberService constructor. */ public function __construct() { $this->model = new MemberModel(); } /** * 获取资料详情 * @param $where * @param array $field */ public function getInfo($where, array $field = []) { $field = $field ? $field : ['id', 'username', 'realname', 'credit','trade_password', 'nickname', 'openid', 'idcard', 'trc_address', 'erc_address', 'erc_hexaddress', 'source', 'idcard_check', 'idcard_front_img', 'idcard_back_img', 'idcard_hand_img', 'safe_level', 'user_type', 'member_level', 'usdt_num', 'user_type', 'status', 'credit', 'avatar']; if (is_array($where)) { $info = $this->model->where($where)->select($field)->first(); } else { $info = $this->model->where(['id' => (int)$where])->select($field)->first(); } $info = $info ? $info->toArray() : []; if ($info) { $info['avatar'] = $info['avatar'] ? get_image_url($info['avatar']) : ''; $info['idcard_front_img'] = $info['idcard_front_img'] ? get_image_url($info['idcard_front_img']) : ''; $info['idcard_back_img'] = $info['idcard_back_img'] ? get_image_url($info['idcard_back_img']) : ''; $info['usdt_num'] = isset($info['usdt_num']) ? moneyFormat($info['usdt_num'], 4) : '0.0000'; $bond = UserModel::where(['user_id'=> $info['id']])->value('bond'); $info['bond'] = moneyFormat($bond, 2); // 收款二维码 $qrcode = \App\Services\Api\MemberService::make()->makeQrcode($info['trc_address']); $info['trc_qrcode'] = $qrcode? get_image_url($qrcode) : ''; $ercQrcode = \App\Services\Api\MemberService::make()->makeQrcode($info['erc_hexaddress']); $info['erc_qrcode'] = $ercQrcode? get_image_url($ercQrcode) : ''; // 谷歌验证码 $info['google_qrcode'] = ''; $googleSecret = UserModel::where(['user_id'=> $info['id']])->value('google_secret'); if(empty($googleSecret)){ $google = GoogleAuthenticator::CreateSecret(); $googleSecret = isset($google['secret'])? $google['secret'] : ''; UserModel::where(['user_id'=> $info['id']])->update(['google_secret'=>$googleSecret]); } if($googleSecret){ $url = "otpauth://totp/".'otc168('.$info['username'].")?secret=".$googleSecret; $googleQrcode = \App\Services\Api\MemberService::make()->makeQrcode($url); $info['google_qrcode'] = $googleQrcode? get_image_url($googleQrcode) : ''; } } return $info; } /** * 添加会编辑会员 * @return array * @since 2020/11/11 * @author laravel开发员 */ public function edit() { // 请求参数 $data = request()->all(); // 头像处理 $avatar = trim($data['avatar']); if (strpos($avatar, "temp")) { $data['avatar'] = save_image($avatar, 'member'); } else { $data['avatar'] = str_replace(IMG_URL, "", $data['avatar']); } // 出生日期 if ($data['birthday']) { $data['birthday'] = strtotime($data['birthday']); } // 登录密码 if ($data['password']) { $data['password'] = get_password($data['password'] . $data['username']); } // 城市处理 $city = isset($data['city']) ? $data['city'] : [3]; if (!empty($data['city'])) { // 省份 $data['province_id'] = $city[0]; // 城市 $data['city_id'] = $city[1]; // 县区 $data['district_id'] = $city[2]; } $id = isset($data['id'])? $data['id'] : 0; if($id && $this->model->where(['id'=> $id])->value('trade_password')){ $data['safe_level'] = 2; } if(isset($data['idcard_check']) && $data['idcard_check']==1){ $data['safe_level'] = $data['safe_level']==2? 3 : $data['safe_level']; } unset($data['city']); return parent::edit($data); // TODO: Change the autogenerated stub } }