口腔客户管理系统
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <?php
  2. namespace app\admin\model;
  3. use think\Model;
  4. class SmsLog extends Model
  5. {
  6. public function getAll($param, $page, $pageSize)
  7. {
  8. unset($param['page']);
  9. unset($param['pageSize']);
  10. foreach ($param as $k => $v) {
  11. if ($param[$k] === '' || $param[$k] === null) {
  12. unset($param[$k]);
  13. }
  14. }
  15. $where = [];
  16. if (isset($param['create_time_start'])) {
  17. $where[] = ['s.create_time', 'between', [$param['create_time_start'], $param['create_time_end']]];
  18. unset($param['create_time_start']);
  19. unset($param['create_time_end']);
  20. }
  21. if (isset($param['keyword'])) {
  22. $where[] = ['c.name|c.phone', 'like', '%' . $param['keyword'] . '%'];
  23. }
  24. if (isset($param['status'])) {
  25. $where[] = ['s.status', '=', $param['status']];
  26. }
  27. $field = 's.*,FROM_UNIXTIME(s.create_time) as create_time';
  28. $Customer_model = new \app\admin\model\Customer();
  29. $result = $this->alias('s')->join($Customer_model->getTable() . ' c', 's.customer_id = c.id')->field($field)->where($where)->with(['getCustomerOneData', 'getDistrictOneData', 'getUserOneData'])->select();
  30. $total = $this->alias('s')->join($Customer_model->getTable() . ' c', 's.customer_id = c.id')->where($where)->count();
  31. foreach ($result as $k => $v) {
  32. switch ($v['status']) {
  33. case 0:
  34. $result[$k]['status'] = '正常';
  35. break;
  36. case 1:
  37. $result[$k]['status'] = '失败';
  38. break;
  39. }
  40. }
  41. return ['rows' => $result, 'total' => $total];
  42. }
  43. public function getDistrictOneData()
  44. {
  45. return $this->hasOne(\app\admin\model\District::class, 'adcode', 'city_id')->bind(['city_name' => 'name']);
  46. }
  47. public function getCustomerOneData()
  48. {
  49. return $this->hasOne(\app\admin\model\Customer::class, 'id', 'customer_id')->bind(['customer_name' => 'name', 'sex' => 'sex', 'phone' => 'phone', 'city_id' => 'city_id', 'user_id' => 'user_id']);
  50. }
  51. public function getUserOneData()
  52. {
  53. return $this->hasOne(\app\admin\model\User::class, 'id', 'user_id')->bind(['username' => 'username']);
  54. }
  55. // public function read($param)
  56. // {
  57. // $result = $this->where($this->getPk(), $param[$this->getPk()])->find();
  58. // if (isset($result[$this->getPk()])) {
  59. // return $result->toArray();
  60. // } else {
  61. // return [];
  62. // }
  63. // }
  64. }