Users.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | A3Mall
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2020 http://www.a3-mall.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Author: xzncit <158373108@qq.com>
  8. // +----------------------------------------------------------------------
  9. namespace app\common\service\users;
  10. use app\common\service\Service;
  11. use app\common\models\users\Users as UsersModel;
  12. use app\common\models\users\UsersGroup as UsersGroupModel;
  13. use app\common\models\users\UsersBonus as UsersBonusModel;
  14. use app\common\models\Cart as CartModel;
  15. class Users extends Service {
  16. private static $data = [];
  17. public static function isEmpty($field){
  18. return empty(self::$data[$field]);
  19. }
  20. public static function get($field=null){
  21. if(is_null($field)){
  22. return null;
  23. }
  24. return isset(self::$data[$field]) ? self::$data[$field] : null;
  25. }
  26. public static function set($data){
  27. self::$data = $data;
  28. }
  29. public static function info($user_id){
  30. if(!$row=UsersModel::where("id",$user_id)->find()){
  31. throw new \Exception("查找会员信息失败",0);
  32. }
  33. $row["group_name"] = UsersGroupModel::where(["id"=>$row["group_id"]])->value("name");
  34. $row["shop_count"] = (int)CartModel::where("user_id",$user_id)->count();
  35. $row["coupon_count"] = (int)UsersBonusModel::alias("u")
  36. ->field("b.*")
  37. ->join("promotion_bonus b","u.bonus_id=b.id","LEFT")
  38. ->where('u.status=0 and b.end_time > ' . time())
  39. ->where("u.user_id",$user_id)->count();
  40. self::set($row);
  41. return $row;
  42. }
  43. }