UserService.php 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | likeadmin快速开发前后端分离管理后台(PHP版)
  4. // +----------------------------------------------------------------------
  5. // | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
  6. // | 开源版本可自由商用,可去除界面版权logo
  7. // | gitee下载:https://gitee.com/likeshop_gitee/likeadmin
  8. // | github下载:https://github.com/likeshop-github/likeadmin
  9. // | 访问官网:https://www.likeadmin.cn
  10. // | likeadmin团队 版权所有 拥有最终解释权
  11. // +----------------------------------------------------------------------
  12. // | author: likeadminTeam
  13. // +----------------------------------------------------------------------
  14. namespace app\common\model\agricultural_machinery;
  15. use app\common\model\agricultural_machinery\ServiceCategory;
  16. use app\common\model\BaseModel;
  17. use app\common\model\asset\AssetArea;
  18. use app\common\service\FileService;
  19. use think\model\concern\SoftDelete;
  20. /**
  21. * 服务管理模型
  22. * Class ArticleCate
  23. * @package app\common\model\article;
  24. */
  25. class UserService extends BaseModel
  26. {
  27. use SoftDelete;
  28. protected $deleteTime = 'delete_time';
  29. /**
  30. * @notes 关联文章
  31. * @return \think\model\relation\HasMany
  32. * @author 段誉
  33. * @date 2022/10/19 16:59
  34. */
  35. public function article()
  36. {
  37. return $this->hasMany(Article::class, 'cid', 'id');
  38. }
  39. /**
  40. * @notes 状态描述
  41. * @param $value
  42. * @param $data
  43. * @return string
  44. * @author 段誉
  45. * @date 2022/9/15 11:25
  46. */
  47. public function getStatusDescAttr($value, $data)
  48. {
  49. return $data['status'] ? '启用' : '停用';
  50. }
  51. /**
  52. * @notes 文章数量
  53. * @param $value
  54. * @param $data
  55. * @return int
  56. * @author 段誉
  57. * @date 2022/9/15 11:32
  58. */
  59. public function getAriculturalMachineryCountAttr($value, $data)
  60. {
  61. return 10;
  62. // return Article::where(['cid' => $data['id']])->count('id');
  63. }
  64. public function getTypeDescAttr($value,$data){
  65. $type = $data['type'];
  66. $desc = [
  67. 1 => '农机手',
  68. 2 => '烘干服务',
  69. 3 => '飞防服务',
  70. ];
  71. return $desc[$type] ?? '';
  72. }
  73. public function getCateDescAttr($value,$data){
  74. $cate_id_arr = explode(',',$data['cate_id']);
  75. $cate_id_arr = array_filter($cate_id_arr);
  76. $cateWhere = [];
  77. $cateWhere[]=['id','in',$cate_id_arr];
  78. $cate_list = ServiceCategory::where($cateWhere)->field('id,name')->select()->toArray();
  79. $cate_arr = array_column($cate_list,'name');
  80. $cate_str = implode(',',$cate_arr);
  81. return['cate_str'=>$cate_str,'cate_arr'=>$cate_list];
  82. }
  83. public function getAreaDescAttr($value,$data){
  84. $area_id_arr = explode(',',$data['area_id']);
  85. $area_id_arr = array_filter($area_id_arr);
  86. $aresWhere = [];
  87. $aresWhere[]=['id','in',$area_id_arr];
  88. $area_list = AssetArea::where($aresWhere)->field('id,title')->select()->toArray();
  89. $area_arr = array_column($area_list,'title');
  90. $area_str = implode(',',$area_arr);
  91. return['area_str'=>$area_str,'area_arr'=>$area_list];
  92. }
  93. /**
  94. * @notes 设置图片域名
  95. * @param $value
  96. * @param $data
  97. * @return array|string|string[]|null
  98. * @author 段誉
  99. * @date 2022/9/28 10:17
  100. */
  101. public function getContentAttr($value, $data)
  102. {
  103. return get_file_domain($value);
  104. }
  105. /**
  106. * @notes 清除图片域名
  107. * @param $value
  108. * @param $data
  109. * @return array|string|string[]
  110. * @author 段誉
  111. * @date 2022/9/28 10:17
  112. */
  113. public function setContentAttr($value, $data)
  114. {
  115. return clear_file_domain($value);
  116. }
  117. /**
  118. * @notes 清除图片域名
  119. * @param $value
  120. * @param $data
  121. * @return array|string|string[]
  122. * @author 段誉
  123. * @date 2022/9/28 10:17
  124. */
  125. public function setImagesAttr($value)
  126. {
  127. $imagesArr = explode(',',$value);
  128. $imagesStr = '';
  129. foreach($imagesArr as $k=>$v){
  130. if($k==0){
  131. $imagesStr = clear_file_domain($v);
  132. }else{
  133. $imagesStr .=','. clear_file_domain($v);
  134. }
  135. }
  136. return $imagesStr;
  137. }
  138. /**
  139. * @notes 加图片域名
  140. * @param $value
  141. * @param $data
  142. * @return array|string|string[]
  143. * @author 段誉
  144. * @date 2022/9/28 10:17
  145. */
  146. public function getImagesAttr($value,$data)
  147. {
  148. $imagesArr = explode(',',$data['images']);
  149. $imagesStr = '';
  150. foreach($imagesArr as $k=>$v){
  151. if($k==0){
  152. $imagesStr = FileService::getFileUrl(trim($v, '/')); //get_file_domain($v);
  153. }else{
  154. $imagesStr .=','. FileService::getFileUrl(trim($v, '/')); //get_file_domain($v);
  155. }
  156. }
  157. return $imagesStr;
  158. }
  159. }