objDZone = new DZone('default'); } /** * 增加区块 * @param $params * @return ResultWrapper */ public function addZone($params) { $zoneId = $this->objDZone->insert($params); if ($zoneId === false) { return ResultWrapper::fail($this->objDZone->error(), ErrorCode::$dberror); } return ResultWrapper::success($zoneId); } /** * 区块启用和禁用 * @param array $params * @return ResultWrapper */ public function updateEnableStatus($params) { $dbResult = $this->objDZone->update(['enableStatus' => $params['enableStatus']], $params['id']); if ($dbResult === false) { return ResultWrapper::fail($this->objDZone->error(), ErrorCode::$dberror); } return ResultWrapper::success($dbResult); } /** * 获取指定区块信息 * @param $id * @return ResultWrapper */ public function getZoneInfoById($id) { $dbResult = $this->objDZone->get_by('id', $id); if ($dbResult === false) { return ResultWrapper::fail($this->objDZone->error(), ErrorCode::$dberror); } return ResultWrapper::success($dbResult); } /** * 编辑区块 * * @param int|array $params 修改区块的信息 * * @return ResultWrapper */ public function editZone($params) { if (empty($params['id'])) { return ResultWrapper::fail('没有指定要修改的区块字段id', ErrorCode::$paramError); } $id = $params['id']; unset($params['id']); $dbResult = $this->objDZone->update($params, ['id' => $id]); if ($dbResult === false) { return ResultWrapper::fail($this->objDZone->error(), ErrorCode::$dberror); } return ResultWrapper::success($dbResult); } /** * 获取所有区块 * @param $selectParams * @return ResultWrapper */ public function getAllZone($selectParams) { $limit = $selectParams['limit']; unset($selectParams['limit']); $offset = $selectParams['offset']; unset($selectParams['offset']); $dbResult = $this->objDZone->select($selectParams, '*', 'sort DESC', $limit, $offset); if ($dbResult === false) { return ResultWrapper::fail($this->objDZone->error(), ErrorCode::$dberror); } $total = $this->objDZone->count($selectParams); $return = [ 'data' => self::format($dbResult), 'total' => ($total) ? intval($total) : 0, ]; return ResultWrapper::success($return); } /** * 格式化返回数据 * @param $data * @return array */ private function format($data) { foreach ($data as &$v) { if (isset($v['zoneData'])) { $v['zoneData'] = json_decode($v['zoneData'], true); } } return $data; } }