123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198 |
- <?php
- /**
- * Created by PhpStorm.
- * User: Administrator
- * Date: 2020-09-25
- * Time: 11:43
- */
-
- namespace api\js\controller;
- use api\js\model\JsDiscountModel;
- use api\js\model\JsModel;
- use api\js\model\UserDiscountModel;
- use api\js\model\UserModel;
- use cmf\controller\RestBaseController;
- use think\Db;
- class WxloginController extends RestBaseController
- {
-
- public function wxLogin()
- {
- $data['nickname'] = $this->request->param('nickname');
- $data['openid'] = $this->request->param('openid');
- $data['union_id'] = '微信平台';
- $data['avatar'] = $this->request->param('avatar');
- $data['type'] = $this->request->param('type');
- $info = Db::name('third_party_user')->where(['openid'=>$data['openid'],'union_id'=>$data['union_id'],'type'=>$data['type']])->find();
- if($info['user_id']){
- $findUserToken = Db::name("user_token")
- ->where('user_id', $info['user_id'])
- ->where('device_type', $this->deviceType)
- ->find();
- $currentTime = time();
- $expireTime = $currentTime + 24 * 3600 * 180;
- $token = md5(uniqid()) . md5(uniqid());
- if (empty($findUserToken)) {
- $result = Db::name("user_token")->insert([
- 'token' => $token,
- 'user_id' => $info['user_id'],
- 'expire_time' => $expireTime,
- 'create_time' => $currentTime,
- 'device_type' => $this->deviceType
- ]);
- } else {
- $result = Db::name("user_token")
- ->where('user_id', $info['user_id'])
- ->where('device_type', $this->deviceType)
- ->update([
- 'token' => $token,
- 'expire_time' => $expireTime,
- 'create_time' => $currentTime
- ]);
- }
- if (empty($result)) {
- $this->error("登录失败!");
- }
- Db::name('user')->where('id',$info['user_id'])->update(['last_login_ip'=>get_client_ip(),'last_login_time'=>time()]);
- $this->success("登录成功!", ['token' => $token,'id'=>$info['user_id']]);
- }else{
- if(!$info){
- $id = Db::name('third_party_user')->insertGetId($data);
- }else{
- $id = $info['id'];
- }
- $this->success('ok',['token'=>'','id'=>$id]);
- }
- }
- public function wxInfo(){
- $openid = $this->request->param('openid');
- $info = Db::name('third_party_user')->where('openid',$openid)->find();
- $this->success("登录成功!", ['wxInfo' => $info]);
- }
-
- public function bangding()
- {
- $openid = $this->request->param('openid');
- $mobile = $this->request->param('mobile');
- // $password = $this->request->param('password');
- $code = $this->request->param('code');
- $type = $this->request->param('type',1);
- $referral = $this->request->param('referral');
-
-
- // $district = $this->request->param('district');
- // $district_id = Db::name('region')->where('cityName',$district)->value('id');
- // $data['city_id'] = Db::name('region')->where('id',$district_id)->value('parentId');
- // $data['province_id'] = Db::name('region')->where('id',$data['city_id'])->value('parentId');
- // $data['district_id'] = $district_id;
- $user_type = 2;
- if($type == 2){
- $user_type = 3;
- }
- $where['mobile'] = $mobile;
- $where['user_type'] = $user_type;
- $bool = cmf_check_verification_code($mobile, $code);
- if ($bool) {
- $this->error($bool);
- }
- $UserModel = new UserModel();
-
- $user_id = $UserModel->where($where)->value('id');
-
-
- $info = Db::name('third_party_user')->where('openid',$openid)->where('type',$user_type)->find();
- if($user_id){
- // $user_info = $UserModel::get($user_id);
- // if(!$user_info['avatar']){
- // $up['avatar'] = $info['avatar'];
- // $UserModel::where('id',$user_id)->update(['avatar'=>$info['avatar']]);
- // }
- // if(!$user_info['user_nickname']){
- // $up['user_nickname'] = $info['nickname'];
- // }
- // $up['user_pass'] = cmf_password($password);
- // $UserModel::where('id',$user_id)->update($up);
- if($type == 2){
- $JsModel = new JsModel();
- $js_info = $JsModel::where('user_id',$user_id)->find();
- if(!$js_info){
- $JsModel->allowField(true)->isUpdate(false)->save(['user_id'=>$user_id]);
- }
- }
-
- }else{
- $data['mobile'] = $mobile;
- // $data['user_pass'] = cmf_password($password);
- $data['user_type'] = $user_type;
- $data['create_time'] = time();
- $data['referral'] = cmf_get_referral();
- if($referral){
- $parentInfo = $UserModel->where('referral',$referral)->find();
- if($parentInfo){
- $data['parent_id'] = $parentInfo['id'];
- $data['parent_id1'] = $parentInfo['parent_id'];
- }
- }
- $UserModel->allowField(true)->isUpdate(false)->save($data);
- // $JsDiscountModel = new JsDiscountModel();
- // $discountInfo = $JsDiscountModel::get(1);
- // if($discountInfo['dispark'] == 1){
- // if($discountInfo['quantit'] > 0){
- // $UserDiscountModel = new UserDiscountModel();
- // $draw_time = time();
- // $UserDiscountModel->allowField(true)->isUpdate(false)->save(['user_id'=>$UserModel->id,'discount_id'=>1,'draw_time'=>$draw_time,'past_time'=>($draw_time+($discountInfo['day_num']*24*3600)),'project_id'=>$discountInfo['project_id'],'store_id'=>$discountInfo['store_id']]);
- // $JsDiscountModel::where('id',1)->setDec('quantit',1);
-
- // }
- // }
- $user_id = $UserModel->id;
- }
-
-
- Db::name('third_party_user')->where('openid',$openid)->where('type',$user_type)->update(['user_id'=>$user_id]);
-
-
- $findUserToken = Db::name("user_token")
- ->where('user_id', $user_id)
- ->where('device_type', $this->deviceType)
- ->find();
- $currentTime = time();
- $expireTime = $currentTime + 24 * 3600 * 180;
- $token = md5(uniqid()) . md5(uniqid());
- if (empty($findUserToken)) {
- $result = Db::name("user_token")->insert([
- 'token' => $token,
- 'user_id' => $user_id,
- 'expire_time' => $expireTime,
- 'create_time' => $currentTime,
- 'device_type' => $this->deviceType
- ]);
- } else {
- $result = Db::name("user_token")
- ->where('user_id', $user_id)
- ->where('device_type', $this->deviceType)
- ->update([
- 'token' => $token,
- 'expire_time' => $expireTime,
- 'create_time' => $currentTime
- ]);
- }
- if (empty($result)) {
- $this->error("登录失败!");
- }
- Db::name('user')->where('id',$user_id)->update(['last_login_ip'=>get_client_ip(),'last_login_time'=>time()]);
-
- if($type == 2){
- $JsModel = new JsModel();
- $js_info = $JsModel::where('user_id',$user_id)->find();
- if(!$js_info){
- $JsModel->allowField(true)->isUpdate(true)->save(['user_id'=>$user_id]);
- }
- }
- $this->success("登录成功!", ['token' => $token,'id'=>$user_id]);
-
-
- }
- }
|