pull/1/head
parent
6f5d5d2b84
commit
9e24362a1d
@ -0,0 +1,87 @@ |
|||||||
|
<?php |
||||||
|
|
||||||
|
namespace app\common\model\server; |
||||||
|
|
||||||
|
use app\common\model\ServerCategory; |
||||||
|
use app\common\model\UploadFile; |
||||||
|
use cores\BaseModel; |
||||||
|
use think\db\exception\DbException; |
||||||
|
use think\model\concern\SoftDelete; |
||||||
|
use think\model\relation\HasOne; |
||||||
|
use think\Paginator; |
||||||
|
|
||||||
|
class Server extends BaseModel |
||||||
|
{ |
||||||
|
|
||||||
|
// 定义表名 |
||||||
|
protected $name = 'server'; |
||||||
|
|
||||||
|
// 定义主键 |
||||||
|
protected $pk = 'server_id'; |
||||||
|
|
||||||
|
use SoftDelete; |
||||||
|
|
||||||
|
protected string $deleteTime = 'delete_time'; |
||||||
|
protected $defaultSoftDelete = 0; |
||||||
|
|
||||||
|
/** |
||||||
|
* 图片 |
||||||
|
* @return HasOne |
||||||
|
*/ |
||||||
|
public function image(): HasOne |
||||||
|
{ |
||||||
|
return $this->hasOne(UploadFile::class, 'file_id', 'image_id'); |
||||||
|
} |
||||||
|
|
||||||
|
public function category(): HasOne |
||||||
|
{ |
||||||
|
return $this->hasOne(ServerCategory::class, 'category_id', 'category_id'); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* @notes:服务详情 |
||||||
|
* @param $where |
||||||
|
* @param array $with |
||||||
|
* @return static|array|null |
||||||
|
* @author: wanghousheng |
||||||
|
*/ |
||||||
|
public static function detail($where, array $with = []) |
||||||
|
{ |
||||||
|
return static::get($where, $with); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* @notes:获取全部记录 |
||||||
|
* @param array $where |
||||||
|
* @param int $listRows |
||||||
|
* @param string $sort |
||||||
|
* @param string $sort_type |
||||||
|
* @return Paginator |
||||||
|
* @throws DbException |
||||||
|
* @author: wanghousheng |
||||||
|
*/ |
||||||
|
public function getList(array $where = [], int $listRows = 15, string $sort = '', string $sort_type = 'desc'): Paginator |
||||||
|
{ |
||||||
|
$where = $this->setQueryDefaultValue($where); |
||||||
|
$sort_arr = ['sort' => $sort_type, 'create_time' => $sort_type]; |
||||||
|
if ($sort) { |
||||||
|
$sort_arr = [$sort => $sort_type, 'create_time' => $sort_type]; |
||||||
|
} |
||||||
|
return $this->with(['image'])->withJoin(['category' => ['category_id', 'name']]) |
||||||
|
->where($where) |
||||||
|
->order($sort_arr) |
||||||
|
->paginate($listRows); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 文章详情:HTML实体转换回普通字符 |
||||||
|
* @param $value |
||||||
|
* @return string |
||||||
|
*/ |
||||||
|
public function getContentAttr($value): string |
||||||
|
{ |
||||||
|
return htmlspecialchars_decode($value); |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,69 @@ |
|||||||
|
<?php |
||||||
|
|
||||||
|
namespace app\store\model\server; |
||||||
|
|
||||||
|
use app\common\model\server\Server as ServerModel; |
||||||
|
use think\db\exception\DataNotFoundException; |
||||||
|
use think\db\exception\DbException; |
||||||
|
use think\db\exception\ModelNotFoundException; |
||||||
|
|
||||||
|
class Server extends ServerModel |
||||||
|
{ |
||||||
|
|
||||||
|
/** |
||||||
|
* @notes:新增 |
||||||
|
* @param $data |
||||||
|
* @return bool |
||||||
|
* @author: wanghousheng |
||||||
|
*/ |
||||||
|
public function add($data): bool |
||||||
|
{ |
||||||
|
$data['store_id'] = self::$storeId; |
||||||
|
return $this->save($data); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* @notes:编辑 |
||||||
|
* @param $data |
||||||
|
* @return bool |
||||||
|
* @author: wanghousheng |
||||||
|
*/ |
||||||
|
public function edit($data): bool |
||||||
|
{ |
||||||
|
// 是否删除图片 |
||||||
|
!isset($data['image_id']) && $data['image_id'] = 0; |
||||||
|
return $this->save($data) !== false; |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* @notes:删除 |
||||||
|
* @param array $serverId |
||||||
|
* @return bool |
||||||
|
* @author: wanghousheng |
||||||
|
*/ |
||||||
|
public function remove(array $serverId): bool |
||||||
|
{ |
||||||
|
try { |
||||||
|
return static::whereIn('server_id', $serverId)->select()->delete(); |
||||||
|
} catch (DataNotFoundException|ModelNotFoundException|DbException $e) { |
||||||
|
return false; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 修改服务状态 |
||||||
|
* @param array $serverIds 商品id集 |
||||||
|
* @param bool $state 为true表示上架 |
||||||
|
* @return bool|false |
||||||
|
*/ |
||||||
|
public function setStatus(array $serverIds, bool $state): bool |
||||||
|
{ |
||||||
|
// 批量更新记录 |
||||||
|
return static::updateBase(['status' => $state ? 1 : 2], [['server_id', 'in', $serverIds]]); |
||||||
|
} |
||||||
|
|
||||||
|
public function getDetail(int $serverId) |
||||||
|
{ |
||||||
|
return static::detail($serverId, ['image', 'category']); |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue