Index.php 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. <?php
  2. namespace app\api\controller\user;
  3. use app\api\controller\Controller;
  4. use app\api\model\plus\agent\Setting;
  5. use app\api\model\user\User as UserModel;
  6. use app\api\model\order\Order as OrderModel;
  7. use app\api\model\settings\Setting as SettingModel;
  8. use app\api\model\plus\coupon\UserCoupon as UserCouponModel;
  9. use app\common\enum\settings\GetPhoneTypeEnum;
  10. use app\common\model\supplier\Supplier;
  11. use think\facade\Cache;
  12. use app\api\model\supplier\Supplier as SupplierModel;
  13. use app\api\model\plus\chat\Chat as ChatModel;
  14. /**
  15. * 个人中心主页
  16. */
  17. class Index extends Controller
  18. {
  19. /**
  20. * 获取当前用户信息
  21. */
  22. public function detail($source = 'wx')
  23. {
  24. // 当前用户信息
  25. $user = $this->getUser();
  26. //店铺信息
  27. $user['is_recycle'] = $user['supplierUser']?SupplierModel::detail($user['supplierUser']['shop_supplier_id'])['is_recycle']:'';
  28. $user['supplierUser'] = !empty($user['supplierUser']) && $user['supplierUser'] != null? $user['supplierUser'] : [];
  29. $coupon_model = new UserCouponModel();
  30. $coupon = count($coupon_model->getList($user['user_id'], -1, false, false));
  31. // 订单总数
  32. $model = new OrderModel;
  33. // 分销商基本设置
  34. $setting = Setting::getItem('basic');
  35. // 是否开启分销功能
  36. $agent_open = $setting['is_open'];
  37. //商城设置
  38. $store = SettingModel::getItem('store');
  39. //供应商入住背景图
  40. $supplier_image = isset($store['supplier_image'])?$store['supplier_image']:'';
  41. // 充值功能是否开启
  42. $balance_setting = SettingModel::getItem('balance');
  43. $balance_open = intval($balance_setting['is_open']);
  44. $shop_supplier_id = input('shop_supplier_id', 0);
  45. return $this->renderSuccess('', [
  46. 'coupon' => $coupon,
  47. 'userInfo' => $user,
  48. 'orderCount' => [
  49. 'payment' => $model->getCount($user, 'payment'),
  50. 'delivery' => $model->getCount($user, 'delivery'),
  51. 'received' => $model->getCount($user, 'received'),
  52. 'comment' => $model->getCount($user, 'comment'),
  53. ],
  54. 'setting' => [
  55. 'points_name' => SettingModel::getPointsName(),
  56. 'agent_open' => $agent_open,
  57. 'supplier_image' => $supplier_image,
  58. 'balance_open' => $balance_open
  59. ],
  60. 'sign' => SettingModel::getItem('sign'),
  61. 'getPhone' => $this->isGetPhone(),
  62. 'msgcount' => (new ChatModel)->mCount($user),
  63. 'menus' => UserModel::getMenus($user, $source), // 个人中心菜单列表
  64. 'dyLink'=> Supplier::getDyLink($shop_supplier_id, $this->app_id),
  65. ]);
  66. }
  67. /**
  68. * 获取当前用户信息
  69. */
  70. public function info($source = 'wx')
  71. {
  72. // 当前用户信息
  73. $user = $this->getUser();
  74. //店铺信息
  75. $user['is_recycle'] = $user['supplierUser']?SupplierModel::detail($user['supplierUser']['shop_supplier_id'])['is_recycle']:'';
  76. $shop_supplier_id = input('shop_supplier_id', 0);
  77. return $this->renderSuccess('', [
  78. 'userInfo' => $user,
  79. 'dyLink'=> Supplier::getDyLink($shop_supplier_id, $this->app_id),
  80. ]);
  81. }
  82. /**
  83. * 当前用户设置
  84. */
  85. public function setting()
  86. {
  87. // 当前用户信息
  88. $user = $this->getUser();
  89. return $this->renderSuccess('', [
  90. 'userInfo' => $user
  91. ]);
  92. }
  93. private function isGetPhone(){
  94. $user = $this->getUser();
  95. if($user['mobile'] != ''){
  96. return false;
  97. }
  98. $settings = SettingModel::getItem('getPhone');
  99. if(in_array(GetPhoneTypeEnum::USER, $settings['area_type'])){
  100. // 缓存时间
  101. $key = 'get_phone_' . $user['user_id'];
  102. if (!$data = Cache::get($key)) {
  103. $settings['send_day'] > 0 && Cache::set($key, '1', 86400 * $settings['send_day']);
  104. return true;
  105. }
  106. }
  107. return false;
  108. }
  109. }