Files
anmo/server/app/common/model/coach/Coach.php
2025-08-19 14:16:51 +08:00

350 lines
7.4 KiB
PHP
Executable File

<?php
namespace app\common\model\coach;
use app\common\enum\coach\CoachEnum;
use app\common\model\BaseModel;
use app\common\model\Region;
use app\common\model\skill\Skill;
use app\common\service\FileService;
use think\model\concern\SoftDelete;
/**
* 技师模型类
* Class Coach
* @package app\common\model\coach
*/
class Coach extends BaseModel
{
use SoftDelete;
protected $deleteTime = 'delete_time';
protected $json = ['location'];
// 设置JSON数据返回数组
protected $jsonAssoc = true;
public function lifePhoto()
{
return $this->hasMany(CoachLifePhoto::class,'coach_id')->field('uri,coach_id');
}
public function goodsIds()
{
return $this->hasMany(CoachGoodsIndex::class,'coach_id')->field('goods_id,coach_id');
}
public function goods()
{
return $this->hasMany(CoachGoodsIndex::class,'coach_id');
}
/**
* @notes 获取工作状态
* @param $value
* @param $data
* @return string|string[]
* @author cjhao
* @date 2024/8/21 17:48
*/
public function getWorkStatusDescAttr($value,$data){
return CoachEnum::getWorkStatusDesc($data['work_status']);
}
public function getServerStatusDescAttr($value,$data){
return CoachEnum::getServerStatusDesc($data['server_status']);
}
/**
* @notes 将距离转成km格式显示
* @param $value
* @param $data
* @return string
* @author cjhao
* @date 2024/9/3 22:56
*/
public function getDistanceDescAttr($value,$data){
return round($data['distance'],2).'km';
}
/**
* @notes 获取审核状态
* @param $value
* @param $data
* @return string|string[]
* @author cjhao
* @date 2024/8/21 17:48
*/
public function getAuditStatusDescAttr($value,$data){
return CoachEnum::getAuditStatusDesc($data['audit_status']);
}
// public function getWorkInfoAttr($value,$data)
// {
// return [
// 'take_order' => 22,
// 'total_order' => 22,
// ];
// }
/**
* @notes 补全图片路径
* @param $value
* @param $data
* @return string
* @author ljj
* @date 2022/2/17 6:11 下午
*/
public function getIdCardFrontAttr($value,$data)
{
return FileService::getFileUrl($value);
}
/**
* @notes 去掉图片路径
* @param $value
* @param $data
* @return string
* @author ljj
* @date 2022/2/17 6:11 下午
*/
public function setIdCardFrontAttr($value,$data)
{
return FileService::setFileUrl($value);
}
/**
* @notes 补全图片路径
* @param $value
* @param $data
* @return string
* @author ljj
* @date 2022/2/17 6:11 下午
*/
public function getIdCardBackAttr($value,$data)
{
return FileService::getFileUrl($value);
}
/**
* @notes 去掉图片路径
* @param $value
* @param $data
* @return string
* @author ljj
* @date 2022/2/17 6:11 下午
*/
public function setIdCardBackAttr($value,$data)
{
return FileService::setFileUrl($value);
}
/**
* @notes 补全图片路径
* @param $value
* @param $data
* @return string
* @author ljj
* @date 2022/2/17 6:11 下午
*/
public function getPortraitShootingAttr($value,$data)
{
return FileService::getFileUrl($value);
}
/**
* @notes 去掉图片路径
* @param $value
* @param $data
* @return string
* @author ljj
* @date 2022/2/17 6:11 下午
*/
public function setPortraitShootingAttr($value,$data)
{
return FileService::setFileUrl($value);
}
/**
* @notes 补全图片路径
* @param $value
* @param $data
* @return string
* @author ljj
* @date 2022/2/17 6:11 下午
*/
public function getWorkPhotoAttr($value,$data)
{
return FileService::getFileUrl($value);
}
/**
* @notes 去掉图片路径
* @param $value
* @param $data
* @return string
* @author ljj
* @date 2022/2/17 6:11 下午
*/
public function setWorkPhotoAttr($value,$data)
{
return FileService::setFileUrl($value);
}
/**
* @notes 补全图片路径
* @param $value
* @param $data
* @return string
* @author ljj
* @date 2022/2/17 6:11 下午
*/
public function getCertificationAttr($value,$data)
{
return FileService::getFileUrl($value);
}
/**
* @notes 去掉图片路径
* @param $value
* @param $data
* @return string
* @author ljj
* @date 2022/2/17 6:11 下午
*/
public function setCertificationAttr($value,$data)
{
return FileService::setFileUrl($value);
}
/**
* @notes 补全图片路径
* @param $value
* @param $data
* @return string
* @author ljj
* @date 2022/2/17 6:11 下午
*/
public function getHealthCertificateAttr($value,$data)
{
return FileService::getFileUrl($value);
}
/**
* @notes 去掉图片路径
* @param $value
* @param $data
* @return string
* @author ljj
* @date 2022/2/17 6:11 下午
*/
public function setHealthCertificateAttr($value,$data)
{
return FileService::setFileUrl($value);
}
/**
* @notes 获取技能名称
* @param $value
* @param $data
* @return void
* @author cjhao
* @date 2024/8/26 12:49
*/
public function getSkillDescAttr($value,$data)
{
return Skill::where(['id'=>$data['skill_id']])->value('name');
}
/**
* @notes 获取地区
* @param $value
* @param $data
* @return string
* @author cjhao
* @date 2024/8/26 12:52
*/
public function getRegionDescAttr($value,$data)
{
if($data){
$lists = Region::where(['id'=>[$data['province_id'],$data['city_id'],$data['region_id']]])->column('name');
return implode('',$lists);
}
return '';
}
/**
* @notes 获取地区
* @param $value
* @param $data
* @return string
* @author cjhao
* @date 2024/8/26 12:52
*/
public function getRegionNameAttr($value,$data)
{
if($data){
return Region::where(['id'=>$data['region_id']])->value('name');
}
return '';
}
/**
* @notes 省份id
* @param $value
* @param $data
* @return mixed
* @author cjhao
* @date 2024/11/26 14:47
*/
public function getProvinceNameAttr($value,$data)
{
if($data){
return Region::where(['id'=>$data['province_id']])->value('name');
}
return '';
}
/**
* @notes 省份id
* @param $value
* @param $data
* @return mixed
* @author cjhao
* @date 2024/11/26 14:47
*/
public function getCityNameAttr($value,$data)
{
if($data){
return Region::where(['id'=>$data['city_id']])->value('name');
}
return '';
}
/**
* @notes 补全图片路径
* @param $value
* @param $data
* @return string
* @author ljj
* @date 2022/2/17 6:11 下午
*/
public function getAvatarAttr($value,$data)
{
return FileService::getFileUrl($value);
}
}