| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227 |
- <?php
- namespace addons\RealAuth\backend\controllers;
- use addons\RealAuth\common\models\RealAuthUser;
- use addons\RealAuth\common\models\RealAuthDetail;
- use addons\RealAuth\common\logic\AuthLogic;
- use common\enums\AddonsEnum;
- use common\enums\DownloadEnum;
- use common\enums\StatusEnum;
- use common\enums\ApiStatusEnum;
- use common\helpers\csv\CsvExportHelper;
- use common\models\user\User;
- use Exception;
- use Yii;
- use common\controllers\AddonsController;
- /**
- * 会员控制器
- *
- * Class DefaultController
- * @package addons\RealAuth\backend\controllers
- */
- class UserController extends BaseController
- {
- public $enableCsrfValidation = false;
- /**
- * 认证会员记录
- *
- * @return string
- */
- public function actionIndex()
- {
- if ($this->request->isAjax) {
- if(\Yii::$app->request->post('flag') == 'EXPORT'){
- $post = \Yii::$app->request->post();
- $post['mall_id'] = $this->mall_id;
- $filename = '订认证记录-' . date('YmdHis').'_'.rand(10000,99999);
- $res = CsvExportHelper::exportDownLoadCenter($this->mall_id,$filename,DownloadEnum::TYPE_MEMBER,RealAuthUser::class,'exportHandle',$post);
- if ($res === false) return $this->error('加入导出任务失败'.CsvExportHelper::getStaticError());
- return $this->success('添加导出任务成功,任务完成后请在下载中心进行下载!');
- }
- $get = \Yii::$app->request->get();
- $params['where'][] = ['=', 'mall_id',$this->mall_id];
- /**
- if(isset($get['mobile']) && !empty($get['mobile'])){
- $params['where'][] = ['=', 'mobile',$get['mobile']];
- }
- **/
- if(isset($get['user_id']) && !empty($get['user_id'])){
- $params['where'][] = ['=', 'user_id',$get['user_id']];
- }
- if(isset($get['real_name']) && !empty($get['real_name'])){
- $params['where'][] = ['=', 'real_name',$get['real_name']];
- }
- if(isset($get['id_no']) && !empty($get['id_no'])){
- $params['where'][] = ['=', 'id_no',$get['id_no']];
- }
- if (!empty($get['data'])) {
- list($start, $end) = $get['data'];
- $end .= ' 23:59:59';
- $params['where'][] = ['between', 'created_at',strtotime($start), strtotime($end)];
- }
- // $params['where'][] = ['=', 'auth_type',RealAuthUser::USER];
- // $detail_ids = RealAuthDetail::find()->select('auth_id')->where(['auth_type'=>RealAuthUser::BUSINESS,'status'=>StatusEnum::ENABLED])->column();
- // if(!empty($detail_ids)){
- // $params['where'][] = ['not in','id',$detail_ids];
- // }
- $params['limit'] = $get['limit'] ?? 10;
- $params['order'] = 'id DESC';
- $pageData = RealAuthUser::listPage($params, false);
- if(!empty($pageData['list'])){
- $user_ids = array_column($pageData['list'],'user_id');
- //查询对应用户
- $user_list = User::lists(['where'=>[['id'=>$user_ids]],'select'=>'id,username,nickname,avatar_url,mobile']);
- $user_list = array_column($user_list,null,'id');
- foreach($pageData['list'] as $key => $val){
- $val['username'] = $user_list[$val['user_id']]['username'] ?? '';
- $val['nickname'] = $user_list[$val['user_id']]['nickname'] ?? '';
- $val['avatar_url'] = $user_list[$val['user_id']]['avatar_url'] ?? '';
- $val['mobile'] = $user_list[$val['user_id']]['mobile'] ?? '';
- $val['id_no'] = $val['id_no'];
- $pageData['list'][$key] = $val;
- }
- }
- $export_list = RealAuthUser::fieldsList();
- $pageData['export_list'] = $export_list;
- return $this->success('操作成功', $pageData,ApiStatusEnum::CODE_SUCCESS,JSON_UNESCAPED_UNICODE);
- }
- return $this->render('index');
- }
- /**
- * 企业认证记录记录
- *
- * @return string
- */
- public function actionBusiness()
- {
- if ($this->request->isAjax) {
- $get = \Yii::$app->request->get();
- $params['where'][] = ['=', 'mall_id',$this->mall_id];
- /**
- if(isset($get['mobile']) && !empty($get['mobile'])){
- $params['where'][] = ['=', 'mobile',$get['mobile']];
- }
- **/
- if(isset($get['user_id']) && !empty($get['user_id'])){
- $params['where'][] = ['=', 'user_id',$get['user_id']];
- }
- if(isset($get['real_name']) && !empty($get['real_name'])){
- $user_list = User::find()->where(['or',
- ['id' => $get['real_name']],
- ['mobile' => $get['real_name']],
- ['nickname' => $get['real_name']]])->select('id')->asArray()->all();
- $user_id_arr = array_column($user_list, 'id');
- $params['where'][] = ['user_id' => $user_id_arr];
- }
- if(isset($get['business_name']) && !empty($get['business_name'])){
- // $params['where'][] = "JSON_CONTAINS(detail,JSON_OBJECT('business_name', ".$get['business_name']."))";
- $params['where'][] = ['like',"json_extract(detail, '$.business_name')",$get['business_name']];
- }
- $params['where'][] = ['=', 'auth_type',RealAuthUser::BUSINESS];
- $params['with'] = ['auth'];
- $params['limit'] = $get['limit'] ?? 10;
- $params['order'] = 'id DESC';
- $pageData = RealAuthDetail::listPage($params, false);
- if(!empty($pageData['list'])){
- $user_ids = array_column($pageData['list'],'user_id');
- //查询对应用户
- $user_list = User::lists(['where'=>[['id'=>$user_ids]],'select'=>'id,username,nickname,avatar_url,mobile']);
- $user_list = array_column($user_list,null,'id');
- foreach($pageData['list'] as $key => $val){
- $val['username'] = $user_list[$val['user_id']]['username'] ?? '';
- $val['nickname'] = $user_list[$val['user_id']]['nickname'] ?? '';
- $val['avatar_url'] = $user_list[$val['user_id']]['avatar_url'] ?? '';
- $val['mobile'] = $user_list[$val['user_id']]['mobile'] ?? '';
- $val['id_no'] = $val['auth']['id_no'];
- $val['detail'] = $val['detail'];
- if(!is_array($val['detail'])){
- $val['detail'] = json_decode($val['detail'],true);
- }
- $pageData['list'][$key] = $val;
- }
- }
- return $this->success('操作成功', $pageData,ApiStatusEnum::CODE_SUCCESS,JSON_UNESCAPED_UNICODE);
- }
- return $this->render('business');
- }
- public function actionBusinessDetail(){
- if ($this->request->isAjax) {
- $get = \Yii::$app->request->get();
- $detail = RealAuthDetail::find()->with(['auth'])->where(['id'=>$get['id']])->asArray()->one();
- if($detail){
- if(!is_array($detail['detail'])){
- $detail['detail'] = json_decode($detail['detail'],true);
- }
- if(isset($detail['detail']['province'])){
- $detail['detail']['address'].= $detail['detail']['province'];
- }
- if(isset($detail['detail']['city'])){
- $detail['detail']['address'].= $detail['detail']['city'];
- }
- if(isset($detail['detail']['district'])){
- $detail['detail']['address'].= $detail['detail']['district'];
- }
- if(isset($detail['detail']['town'])){
- $detail['detail']['address'].= $detail['detail']['town'];
- }
- if(isset($detail['detail']['detail'])){
- $detail['detail']['address'].= $detail['detail']['detail'];
- }
- if(!empty($detail['auth'])){
- $detail['auth']['id_no'] = $detail['auth']['id_no'];
- }
- }
- return $this->success('操作成功', ['detail'=>$detail],ApiStatusEnum::CODE_SUCCESS,JSON_UNESCAPED_UNICODE);
- }
- return $this->render('business-detail');
- }
- public function actionBusinessApply()
- {
- $retuest = Yii::$app->request;
- if ($retuest->isAjax) {
- if ($retuest->isPost) {
- $params = Yii::$app->request->post();
- $res = Yii::$app->services->validate->validate($params,[
- [['status','id'], 'required'],
- [['remark'], 'string'],
- [['status','id'], 'integer'],
- ]);
- if($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
- try{
- $logic = new AuthLogic();
- $logic->apply($params);
- }catch(\Exception $e){
- return $this->error($e->getMessage());
- }
- if (!$res) return $this->error(AddonsBoss::getStaticError());
- $this->success('修改成功');
- }
- }
- }
- }
|