SubMemberModel.php 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * Author: 芸众商城 www.yunzshop.com
  5. * Date: 17/2/23
  6. * Time: 上午11:00
  7. */
  8. /**
  9. * 会员辅助表
  10. */
  11. namespace app\frontend\modules\member\models;
  12. use app\common\models\MemberShopInfo;
  13. use app\common\traits\ReplaceableModelTrait;
  14. class SubMemberModel extends MemberShopInfo
  15. {
  16. use ReplaceableModelTrait;
  17. public static function getInfo($uniacid, $referralsn)
  18. {
  19. return self::where('uniacid', $uniacid)
  20. ->where('referralsn', $referralsn)
  21. ->first()
  22. ->toArray();
  23. }
  24. public static function updateDate($data, $where)
  25. {
  26. self::where('mobile', $where['mobile'])
  27. ->where('uniacid', $where['uniacid'])
  28. ->update($data);
  29. }
  30. /**
  31. * 添加数据
  32. *
  33. * @param $data
  34. */
  35. public static function insertData($data)
  36. {
  37. return self::create($data);
  38. }
  39. public static function getMemberId($openid)
  40. {
  41. return self::uniacid()
  42. ->where('yz_openid', $openid)
  43. ->value('member_id');
  44. }
  45. public static function updateOpenid($uid, $data)
  46. {
  47. self::uniacid()
  48. ->where('member_id', $uid)
  49. ->update($data);
  50. }
  51. public static function getMemberByWechatTokenAndOpenid($token, $openid)
  52. {
  53. return self::uniacid()
  54. ->whereHas('hasOneMember')
  55. ->whereHas('hasOneMappingFans')
  56. ->with(['hasOneMember' => function ($query) {
  57. $query->select(['uid', 'nickname', 'avatar']);
  58. }, 'hasOneMappingFans' => function ($query) use ($openid) {
  59. $query->select(['uid', 'openid', 'follow'])->where('openid', $openid);
  60. }])
  61. ->where('access_token_1', $token)
  62. ->first();
  63. }
  64. public static function getMemberByOpenid($openid)
  65. {
  66. return self::uniacid()
  67. ->where('yz_openid', $openid)
  68. ->join('mc_members', function ($join) {
  69. $join->on('yz_member.member_id', '=' , 'mc_members.uid');
  70. })
  71. ->orderBy('created_at', 'desc')
  72. ->first();
  73. }
  74. public static function getMemberByNativeToken($token)
  75. {
  76. return self::uniacid()
  77. ->where('access_token_2', $token)
  78. ->join('mc_members', function ($join) {
  79. $join->on('yz_member.member_id', '=' , 'mc_members.uid');
  80. })
  81. ->first();
  82. }
  83. }