Manage.php 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: hp
  5. * Date: 2017/11/21
  6. * Time: 8:59
  7. */
  8. namespace App\Modules\Manage\Models;
  9. use Illuminate\Database\Eloquent\Model;
  10. class Manage extends Model
  11. {
  12. protected $table = 'distribution_manages';
  13. protected $fillable = ['id','account','role','nickname', 'latest_login_time','remark','latest_login_ip','password','register_ip','is_enabled','number'];
  14. static function getByAccount($account)
  15. {
  16. return self::where('account', $account)->first();
  17. }
  18. static function getAll($is_all=1)
  19. {
  20. if($is_all){
  21. return self::orderBy('is_enabled', 'desc')->orderBy('id', 'desc')->paginate();
  22. }else{
  23. return self::where('is_enabled', 1)->orderBy('id', 'desc')->paginate();
  24. }
  25. }
  26. static function add($params)
  27. {
  28. return self::firstOrCreate($params);
  29. }
  30. static function getById($id)
  31. {
  32. return self::where('id', $id)->first();
  33. }
  34. //创建管理后台
  35. static function createManage($params)
  36. {
  37. $name = isset($params['name']) ? trim($params['name']) : '';
  38. $account = isset($params['account']) ? trim($params['account']) : '';
  39. $password = isset($params['password']) ? trim($params['password']) : '';
  40. $role = isset($params['role']) ? trim($params['role']) : '';
  41. $nickname = isset($params['nickname']) ? trim($params['nickname']) : '';
  42. $latest_login_time = date("Y-m-d H:i:s");
  43. $remark = isset($params['remark']) ? trim($params['remark']) : '';
  44. $latest_login_ip = $register_ip = isset($params['register_ip']) ? trim($params['register_ip']) : '';
  45. if(!$account || !$password) return response()->error('PARAM_ERROR');
  46. return self::firstOrCreate(compact('account'),compact('password','role','nickname','latest_login_ip','latest_login_time','remark','register_ip'));
  47. }
  48. //根据商务编号获取商务用户信息
  49. static function getBusinesserByNumber($number)
  50. {
  51. return self::where('number',$number)->first();
  52. }
  53. /**
  54. * 获取商务列表
  55. * @param $params[]
  56. * search_name: 搜索名称 可选
  57. * start_date:开始时间 可选
  58. * end_date:结束时间 可选
  59. * is_enabled: 0:不可用; 1:可用
  60. * @param $isAll
  61. * @return mixed
  62. */
  63. public static function getBusinessManageList($params=[], $isAll = false) {
  64. $search_object = self::orderBy('id','asc');
  65. $search_object->whereIn('role', ['business', 'business_leader']);
  66. if(isset($params['search_name']) && $params['search_name']) {
  67. $search_object->where('nickname', 'like', "%".$params['search_name']."%");
  68. }
  69. if(isset($params['start_date']) && $params['start_date']) $search_object->where('created_at','>=', $params['start_date']);
  70. if(isset($params['end_date']) && $params['end_date']) $search_object->where('created_at','<=', $params['end_date']);
  71. if(isset($params['is_enabled']) && is_numeric($params['is_enabled'])) $search_object->where('is_enabled', $params['is_enabled']);
  72. if($isAll) {
  73. return $search_object->get();
  74. } else {
  75. return $search_object->paginate();
  76. }
  77. }
  78. }