SyncController.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * Author: 芸众商城 www.yunzshop.com
  5. * Date: 17/2/22
  6. * Time: 上午11:56
  7. */
  8. namespace app\frontend\modules\member\controllers;
  9. use app\common\components\BaseController;
  10. use app\common\helpers\Url;
  11. use app\common\services\Session;
  12. use app\frontend\modules\member\models\MemberModel;
  13. use app\frontend\modules\member\models\SubMemberModel;
  14. class SyncController extends BaseController
  15. {
  16. public function index()
  17. {
  18. $token = \YunShop::request()->token;
  19. $type = \YunShop::request()->type ?: 7;
  20. $servceSet = \Setting::get('plugins.sync-land');
  21. if (! $servceSet['encryption']){
  22. return $this->errorJson('加密key为空');
  23. }
  24. $key = $servceSet['encryption'];
  25. if ($token) {
  26. $decrypt = $this->decrypt($key, $token);
  27. $uid = $decrypt ? explode('_', $decrypt) : 0;
  28. $uid = $uid ? $uid[0] : 0;
  29. $member = SubMemberModel::getMemberShopInfo($uid);
  30. if (!$member) {
  31. $member = MemberModel::getMemberById($uid);
  32. if (!$member) {
  33. return $this->errorJson('会员不存在');
  34. }
  35. SubMemberModel::insertData(array(
  36. 'member_id' => $member->uid,
  37. 'uniacid' => $member->uniacid,
  38. 'parent_id' => 0,
  39. 'group_id' => $member->groupid,
  40. 'level_id' => 0,
  41. 'pay_password' => '',
  42. 'salt' => '',
  43. 'invite_code' => MemberModel::generateInviteCode(),
  44. 'yz_openid' => 0,
  45. ));
  46. }
  47. Session::set('member_id', $uid);
  48. $url = yzAppFullUrl('home', ['i'=> $member->uniacid, 'type' => $type]);
  49. redirect($url)->send();
  50. }
  51. return $this->errorJson('参数有误');
  52. }
  53. private function decrypt($key, $plain_text)
  54. {
  55. $decrypted = openssl_decrypt(hex2bin($plain_text), 'AES-128-ECB', $key, OPENSSL_RAW_DATA);
  56. return $decrypted;
  57. }
  58. }