UserBillService.php 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. namespace app\extra\service\user;
  3. use app\extra\basic\Service;
  4. use app\extra\dao\user\UserBillDao;
  5. class UserBillService extends Service
  6. {
  7. /**
  8. * 设置模型
  9. * @return string
  10. */
  11. public function __construct()
  12. {
  13. $this->dao = new UserBillDao();
  14. }
  15. /**
  16. * 列表
  17. * @param array $param
  18. */
  19. public function getList(array $param = [],string $field = '*', int $page = 0,int $limit = 0,string $order = 'id desc')
  20. {
  21. $list = $this->dao->getList($this->searchFilter($param),$field,$page,$limit,$order);
  22. $count = $this->dao->count($this->searchFilter($param));
  23. return compact('list','count');
  24. }
  25. protected function searchFilter(array $param = []): array
  26. {
  27. $filter = [];
  28. !empty($param['status']) && $filter[] = ["status", '=', $param['status']];
  29. !empty($param['is_del']) && $filter[] = ["is_del", '=', $param['is_del']];
  30. return $filter;
  31. }
  32. /**
  33. * 用户增加经验
  34. * @param int $uid
  35. * @param int $exp_num
  36. */
  37. public function incomeExp(int $uid,int $exp_num,string $title,string $mark,$link_id = 0)
  38. {
  39. if (!$uid) {
  40. return false;
  41. }
  42. $userService = new UserService();
  43. $user = $userService->getOne(['uid'=>$uid]);
  44. if (!$user) {
  45. return false;
  46. }
  47. if ($exp_num) {
  48. $userService->incField(['uid'=>$uid], 'exp', (int)$exp_num);
  49. $data = [];
  50. $data['uid'] = $uid;
  51. $data['number'] = $exp_num;
  52. $data['category'] = 'exp';
  53. $data['type'] = 'invite_user';
  54. $data['title'] = $title;
  55. $data['mark'] = $mark;
  56. $data['balance'] = (int)$user['exp'] + (int)$exp_num;
  57. $data['pm'] = 1;
  58. $data['status'] = 1;
  59. $data['link_id'] = $link_id;
  60. $this->dao->save($data);
  61. }
  62. //检测会员等级
  63. $userLevelService = new UserLevelService();
  64. $userLevelService->detection($uid);
  65. return true;
  66. }
  67. }