| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- <?php
- /**
- * Created by PhpStorm.
- * User: dingran
- * Date: 2019/7/9
- * Time: 上午11:03
- */
- namespace app\frontend\modules\member\services;
- use app\backend\modules\charts\modules\phone\models\PhoneAttribution;
- use app\backend\modules\charts\modules\phone\services\PhoneAttributionService;
- use app\common\exceptions\AppException;
- use app\common\exceptions\ShopException;
- use app\common\facades\Setting;
- use app\common\helpers\Client;
- use app\common\helpers\Url;
- use app\common\models\AccountWechats;
- use app\common\models\MemberGroup;
- use app\common\models\Store;
- use app\common\models\SynchronizedBinder;
- use app\common\services\api\WechatApi;
- use app\frontend\models\Member;
- use app\frontend\models\MemberShopInfo;
- use app\frontend\modules\member\models\McMappingFansModel;
- use app\frontend\modules\member\models\MemberModel;
- use app\frontend\modules\member\models\MemberUniqueModel;
- use app\frontend\modules\member\models\MemberWechatModel;
- use app\frontend\modules\member\models\SubMemberModel;
- use Illuminate\Support\Str;
- use app\common\services\Session;
- use Yunshop\AggregationCps\services\FreeLoginSign;
- use Yunshop\AggregationCps\services\SettingManageService;
- class MemberTjpCpsService extends MemberService
- {
- private $appId;
- private $appSecret;
- private $uniqueCode;
- private $expires = 120;
- private $error = false;
- /**
- * @throws ShopException
- */
- public function login()
- {
- $this->verify(request()->input());
- }
- /**
- * 验证登录状态
- * @return bool
- * @throws ShopException
- */
- public function checkLogged()
- {
- return $this->verify(request()->input());
- }
- /**
- * @param $data
- * @return bool
- * @throws ShopException
- */
- public function verify($data)
- {
- $this->getAppData();
- if ($this->error) {
- return false;
- }
- $hfSign = new FreeLoginSign();
- $hfSign->setKey($this->appSecret);
- $hfSign->setUniqueCode($this->uniqueCode ? : '');
- $yzMember = MemberShopInfo::getMemberShopInfo($data['mob_user']);
- if (!$yzMember) {
- $bind_member = SynchronizedBinder::uniacid()->where('old_uid', $data['mob_user'])->first();
- if (!$bind_member) {
- return false;
- }
- $yzMember = MemberShopInfo::getMemberShopInfo($bind_member->new_uid);
- if (!$yzMember) {
- return false;
- }
- }
- if (!$data['app_token'] || $data['app_token'] != $yzMember->access_token_2) {
- return false;
- }
- $uid = $yzMember->member_id;
- Session::set('member_id', $uid);
- return true;
- }
- private function getAppData()
- {
- $appData = \Setting::get('plugin.aggregation-cps');
- if (is_null($appData) || !app('plugins')->isEnabled('aggregation-cps')) {
- $this->error = true;
- throw new ShopException('应用未启用');
- }
- if (!empty($appData['plat_unique_code']) && $appData['unique_mode']) {
- $appData['app_key'] = SettingManageService::getDefaultKey();
- $appData['app_secret'] = SettingManageService::getDefaultSecret();
- $this->uniqueCode = trim($appData['plat_unique_code']) ?: '';
- } elseif (empty($appData['app_key']) || empty($appData['app_secret'])) {
- $this->error = true;
- throw new ShopException('应用未启用');
- }
- if ($appData['app_key'] != request()->input('appid')) {
- $this->error = true;
- throw new ShopException('访问身份异常');
- }
- $this->appId = $appData['app_key'];
- $this->appSecret = $appData['app_secret'];
- }
- public function addMcMember($data)
- {
- $member_model = new MemberModel();
- $member_model->uniacid = $data['i'];
- $member_model->email = '';
- $member_model->mobile = $data['mob_user'];
- $member_model->groupid = 0;
- $member_model->createtime = time();
- $member_model->nickname = stripslashes($data['nickname']);
- $member_model->avatar = isset($data['headimgurl']) ? $data['headimgurl'] : Url::shopUrl('static/images/photo-mr.jpg');;
- $member_model->gender = isset($data['sex']) ? $data['sex'] : -1;
- $member_model->nationality = isset($data['country']) ? $data['country'] : '';
- $member_model->resideprovince = isset($data['province']) ? $data['province'] : '' . '省';
- $member_model->residecity = isset($data['city']) ? $data['city'] : '' . '市';
- $member_model->credit1 = isset($data['credit1']) ? $data['credit1'] : 0;
- $member_model->credit2 = isset($data['credit2']) ? $data['credit2'] : 0;
- $member_model->salt = Str::random(8);
- $member_model->password = md5(mt_rand());
- if ($member_model->save()) {
- return $member_model->uid;
- } else {
- return 0;
- }
- }
- public function addYzMember($member_id, $uniacid)
- {
- SubMemberModel::insertData(array(
- 'member_id' => $member_id,
- 'uniacid' => $uniacid,
- 'group_id' => 0,
- 'level_id' => 0,
- 'pay_password' => '',
- 'salt' => '',
- 'yz_openid' => '',
- ));
- }
- }
|