UserService.php 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  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\model\recharge\RechargeOrder;
  19. use app\common\service\FileService;
  20. use app\common\model\User\User;
  21. use think\model\concern\SoftDelete;
  22. /**
  23. * 服务管理模型
  24. * Class ArticleCate
  25. * @package app\common\model\article;
  26. */
  27. class UserService extends BaseModel
  28. {
  29. use SoftDelete;
  30. protected $deleteTime = 'delete_time';
  31. /**
  32. * @notes 关联用户
  33. * @return \think\model\relation\HasMany
  34. * @author 段誉
  35. * @date 2022/10/19 16:59
  36. */
  37. public function user()
  38. {
  39. return $this->hasOne(User::class, 'id', 'user_id')->field('id,nickname,avatar');
  40. }
  41. public function orderInfo()
  42. {
  43. return $this->hasOne(RechargeOrder::class, 'id', 'order_id');
  44. }
  45. /**
  46. * @notes 状态描述
  47. * @param $value
  48. * @param $data
  49. * @return string
  50. * @author 段誉
  51. * @date 2022/9/15 11:25
  52. */
  53. public function getStatusDescAttr($value, $data)
  54. {
  55. return $data['status'] ? '启用' : '停用';
  56. }
  57. /**
  58. * @notes
  59. * @param $value
  60. * @param $data
  61. * @return int
  62. * @author 段誉
  63. * @date 2022/9/15 11:32
  64. */
  65. public function getPayInfoAttr($value, $data)
  66. {
  67. $where['user_id'] = $data['user_id'];
  68. $rechare_order = RechargeOrder::where($where)->order('id desc')->find();
  69. return $rechare_order;
  70. }
  71. public function getTypeDescAttr($value,$data){
  72. $type = $data['type'];
  73. $desc = [
  74. 1 => '农机手',
  75. 2 => '烘干服务',
  76. 3 => '飞防服务',
  77. ];
  78. return $desc[$type] ?? '';
  79. }
  80. public function getCateDescAttr($value,$data){
  81. $cate_id_arr = explode(',',$data['cate_id']);
  82. $cate_id_arr = array_filter($cate_id_arr);
  83. $cateWhere = [];
  84. $cateWhere[]=['id','in',$cate_id_arr];
  85. $cate_list = ServiceCategory::where($cateWhere)->field('id,name')->select()->toArray();
  86. $cate_arr = array_column($cate_list,'name');
  87. $cate_str = implode(',',$cate_arr);
  88. return['cate_str'=>$cate_str,'cate_arr'=>$cate_list];
  89. }
  90. public function getAreaDescAttr($value,$data){
  91. $area_id_arr = explode(',',$data['area_id']);
  92. $area_id_arr = array_filter($area_id_arr);
  93. $aresWhere = [];
  94. $aresWhere[]=['id','in',$area_id_arr];
  95. $area_list = AssetArea::where($aresWhere)->field('id,title')->select()->toArray();
  96. $area_arr = array_column($area_list,'title');
  97. $area_str = implode(',',$area_arr);
  98. return['area_str'=>$area_str,'area_arr'=>$area_list];
  99. }
  100. /**
  101. * @notes 设置图片域名
  102. * @param $value
  103. * @param $data
  104. * @return array|string|string[]|null
  105. * @author 段誉
  106. * @date 2022/9/28 10:17
  107. */
  108. public function getContentAttr($value, $data)
  109. {
  110. return get_file_domain($value);
  111. }
  112. /**
  113. * @notes 清除图片域名
  114. * @param $value
  115. * @param $data
  116. * @return array|string|string[]
  117. * @author 段誉
  118. * @date 2022/9/28 10:17
  119. */
  120. public function setContentAttr($value, $data)
  121. {
  122. return clear_file_domain($value);
  123. }
  124. /**
  125. * @notes 清除图片域名
  126. * @param $value
  127. * @param $data
  128. * @return array|string|string[]
  129. * @author 段誉
  130. * @date 2022/9/28 10:17
  131. */
  132. public function setImagesAttr($value)
  133. {
  134. $imagesArr = explode(',',$value);
  135. $imagesStr = '';
  136. foreach($imagesArr as $k=>$v){
  137. if($k==0){
  138. $imagesStr = clear_file_domain($v);
  139. }else{
  140. $imagesStr .=','. clear_file_domain($v);
  141. }
  142. }
  143. return $imagesStr;
  144. }
  145. /**
  146. * @notes 加图片域名
  147. * @param $value
  148. * @param $data
  149. * @return array|string|string[]
  150. * @author 段誉
  151. * @date 2022/9/28 10:17
  152. */
  153. public function getImagesAttr($value,$data)
  154. {
  155. $imagesArr = explode(',',$data['images']);
  156. $imagesStr = '';
  157. foreach($imagesArr as $k=>$v){
  158. if($k==0){
  159. $imagesStr = FileService::getFileUrl(trim($v, '/')); //get_file_domain($v);
  160. }else{
  161. $imagesStr .=','. FileService::getFileUrl(trim($v, '/')); //get_file_domain($v);
  162. }
  163. }
  164. return $imagesStr;
  165. }
  166. }