MemberService.php 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | Laravel框架 [ Laravel ]
  4. // +----------------------------------------------------------------------
  5. // | 版权所有 2017~2021 南京Laravel研发中心
  6. // +----------------------------------------------------------------------
  7. // | 官方网站: http://www.laravel.cn
  8. // +----------------------------------------------------------------------
  9. // | Author: wesmiler <12345678@qq.com>
  10. // +----------------------------------------------------------------------
  11. namespace App\Services;
  12. use App\Models\MemberModel;
  13. /**
  14. * 会员管理-服务类
  15. * @author wesmiler
  16. * @since 2020/11/11
  17. * Class MemberService
  18. * @package App\Services
  19. */
  20. class MemberService extends BaseService
  21. {
  22. /**
  23. * 构造函数
  24. * @author wesmiler
  25. * @since 2020/11/11
  26. * MemberService constructor.
  27. */
  28. public function __construct()
  29. {
  30. $this->model = new MemberModel();
  31. }
  32. /**
  33. * 添加会编辑会员
  34. * @return array
  35. * @since 2020/11/11
  36. * @author wesmiler
  37. */
  38. public function edit()
  39. {
  40. // 请求参数
  41. $data = request()->all();
  42. // 头像处理
  43. $avatar = trim($data['avatar']);
  44. if (strpos($avatar, "temp")) {
  45. $data['avatar'] = save_image($avatar, 'member');
  46. } else {
  47. $data['avatar'] = str_replace(IMG_URL, "", $data['avatar']);
  48. }
  49. // 出生日期
  50. if ($data['birthday']) {
  51. $data['birthday'] = strtotime($data['birthday']);
  52. }
  53. // 城市处理
  54. $city = isset($data['city']) ? $data['city'] : [3];
  55. if (!empty($data['city'])) {
  56. // 省份
  57. $data['province_id'] = $city[0];
  58. // 城市
  59. $data['city_id'] = $city[1];
  60. // 县区
  61. $data['district_id'] = $city[2];
  62. }
  63. unset($data['city']);
  64. return parent::edit($data); // TODO: Change the autogenerated stub
  65. }
  66. /**
  67. * 获取用户信息
  68. * @param $openid OPENID
  69. * @param array $field m用户表
  70. * @return array
  71. */
  72. public function getUserInfo($where, $field = [])
  73. {
  74. $field = $field ? $field : ['m.id', 'm.openid', 'm.invite_id', 'ms.type as mtype', 'ms.master_type', 'ms.realname as master_name', 'ms.status as master_status', 'm.mobile', 'm.nickname', 'm.avatar', 'm.gender', 'm.member_level', 'm.is_vip', 'm.realname', 'm.balance', 'm.salary', 'm.merits_num', 'm.coupon', 'm.score', 'm.login_time', 'm.status'];
  75. $info = $this->model::from('member as m')
  76. ->leftJoin('member_level as ml', 'ml.id', '=', 'm.member_level')
  77. ->leftJoin('master as ms', 'ms.user_id', '=', 'm.id')
  78. ->select($field)
  79. ->where($where)
  80. ->where('m.status', '>', 0)
  81. ->first();
  82. $info = $info ? $info->toArray() : [];
  83. if (isset($info['avatar'])) {
  84. $info['avatar'] = $info['avatar'] ? get_image_url($info['avatar']) : '';
  85. }
  86. if($info){
  87. if(array_key_exists('mtype', $info)){
  88. $info['mtype'] = $info['mtype']? intval($info['mtype']) : 0;
  89. }
  90. if(array_key_exists('master_type', $info)){
  91. $info['master_type'] = $info['master_type']? intval($info['master_type']) : 0;
  92. }
  93. if(array_key_exists('master_status', $info)){
  94. $info['master_status'] = $info['master_status']? intval($info['master_status']) : 0;
  95. }
  96. if(array_key_exists('master_name', $info)){
  97. $info['master_name'] = $info['master_name']? trim($info['master_status']) : '';
  98. }
  99. }
  100. return $info;
  101. }
  102. }