ShopAccountLog.php 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | Niucloud-admin 企业快速开发的多应用管理平台
  4. // +----------------------------------------------------------------------
  5. // | 官方网址:https://www.niucloud.com
  6. // +----------------------------------------------------------------------
  7. // | niucloud团队 版权所有 开源版本可自由商用
  8. // +----------------------------------------------------------------------
  9. // | Author: Niucloud Team
  10. // +----------------------------------------------------------------------
  11. namespace app\model\shop;
  12. use app\dict\shop\ShopAccountDict;
  13. use core\base\BaseModel;
  14. use think\db\Query;
  15. /**
  16. * 店铺账单记录模型
  17. * Class Category
  18. * @package addon\mall\app\model\shop
  19. */
  20. class ShopAccountLog extends BaseModel
  21. {
  22. /**
  23. * 数据表主键
  24. * @var string
  25. */
  26. protected $pk = 'id';
  27. /**
  28. * 模型名称
  29. * @var string
  30. */
  31. protected $name = 'site_shop_account_log';
  32. /**
  33. * 账单编号搜索器
  34. * @param $query
  35. * @param $value
  36. * @param $data
  37. */
  38. public function searchRelatedIdAttr($query, $value, $data)
  39. {
  40. if ($value) {
  41. $query->where('related_id', '=', $value);
  42. }
  43. }
  44. /**
  45. * 账单类型搜索
  46. * @param $query
  47. * @param $value
  48. * @param $data
  49. */
  50. public function searchFromTypeAttr($query, $value, $data)
  51. {
  52. if ($value) {
  53. $query->where('from_type', '=', $value);
  54. }
  55. }
  56. /**
  57. * 创建时间搜索器
  58. * @param Query $query
  59. * @param $value
  60. * @param $data
  61. */
  62. public function searchCreateTimeAttr(Query $query, $value, $data)
  63. {
  64. $start_time = empty($value[0]) ? 0 : strtotime($value[0]);
  65. $end_time = empty($value[1]) ? 0 : strtotime($value[1]);
  66. if ($start_time > 0 && $end_time > 0) {
  67. $query->whereBetweenTime('create_time', $start_time, $end_time);
  68. } else if ($start_time > 0 && $end_time == 0) {
  69. $query->where([['create_time', '>=', $start_time]]);
  70. } else if ($start_time == 0 && $end_time > 0) {
  71. $query->where([['create_time', '<=', $end_time]]);
  72. }
  73. }
  74. /**
  75. * 状态字段转化
  76. * @param $value
  77. * @param $data
  78. * @return mixed
  79. */
  80. public function getFromTypeNameAttr($value, $data)
  81. {
  82. if (empty($data['from_type']))
  83. return '';
  84. return ShopAccountDict::getType()[$data['from_type']]['name'] ?? '';
  85. }
  86. }