项目记录——week8/9/10/11
本篇仍然介绍系统后端开发过程,主要介绍系统配置、导航栏等系统管理
均只展示后端方法实的核心代码
后台系统配置管理API设计
概述
本设计文档提供了系统配置管理 API 的详细设计,包括系统配置分页查询、添加、查看、修改、删除、列举和初始化。这些 API 旨在提供管理员对系统配置的全面管理功能。
API 详细设计
-
系统配置分页查询
- 描述: 分页查询系统配置。
- 请求方法: POST
- 请求参数:
AdminSysConfigPageReq
包含当前页码和每页记录数。 - 响应格式: 返回系统配置分页列表。
- 示例代码:
public Result<Page<AdminSysConfigPageResp>> page(AdminSysConfigPageReq req) { SysConfigExample example = new SysConfigExample(); Criteria c = example.createCriteria(); Page<SysConfig> page = dao.page(req.getPageCurrent(), req.getPageSize(), example); Page<AdminSysConfigPageResp> respPage = PageUtil.transform(page, AdminSysConfigPageResp.class); return Result.success(respPage); }
-
系统配置添加
- 描述: 添加新的系统配置。
- 请求方法: POST
- 请求参数:
AdminSysConfigSaveReq
包含系统配置信息。 - 响应格式: 返回操作结果。
- 示例代码:
public Result<String> save(AdminSysConfigSaveReq req) { SysConfig record = BeanUtil.copyProperties(req, SysConfig.class); if (dao.save(record) > 0) { return Result.success("操作成功"); } return Result.error("操作失败"); }
-
系统配置查看
- 描述: 查看指定系统配置的详细信息。
- 请求方法: POST
- 请求参数: 主键ID。
- 响应格式: 返回系统配置详情。
- 示例代码:
public Result<AdminSysConfigViewResp> view(Long id) { return Result.success(BeanUtil.copyProperties(dao.getById(id), AdminSysConfigViewResp.class)); }
-
系统配置修改
- 描述: 修改指定的系统配置信息。
- 请求方法: POST
- 请求参数:
AdminSysConfigEditReq
包含更新后的系统配置信息。 - 响应格式: 返回操作结果。
- 示例代码:
public Result<String> edit(AdminSysConfigEditReq req) { SysConfig record = BeanUtil.copyProperties(req, SysConfig.class); if (dao.updateById(record) > 0) { return Result.success("操作成功"); } return Result.error("操作失败"); }
-
系统配置删除
- 描述: 删除指定的系统配置。
- 请求方法: POST
- 请求参数: 主键ID。
- 响应格式: 返回操作结果。
- 示例代码:
public Result<String> delete(Long id) { if (dao.deleteById(id) > 0) { return Result.success("操作成功"); } return Result.error("操作失败"); }
-
列举系统配置
- 描述: 根据条件列举系统配置。
- 请求方法: POST
- 请求参数:
AdminSysConfigListReq
包含查询条件。 - 响应格式: 返回系统配置列表。
- 示例代码:
public Result<List<AdminSysConfigListResp>> list(AdminSysConfigListReq req) { SysConfigExample example = new SysConfigExample(); example.setOrderByClause("sort asc, id desc"); Criteria c = example.createCriteria(); if (ObjectUtil.isNotEmpty(req.getConfigType())) { c.andConfigTypeEqualTo(req.getConfigType()); if (req.getConfigType().equals(3)) { c.andConfigKeyLike(VodPlatformEnum.byCode(Integer.valueOf(dao.getByConfigKey("vodPlatform").getConfigValue())).getTag()); example.or(example.createCriteria().andConfigKeyLike(PageUtil.rightLike("vod"))); } if (req.getConfigType().equals(4)) { c.andConfigKeyLike(StoragePlatformEnum.byCode(Integer.valueOf(dao.getByConfigKey("storagePlatform").getConfigValue())).getTag()); example.or(example.createCriteria().andConfigKeyLike(PageUtil.rightLike("storage"))); } if (req.getConfigType().equals(5)) { c.andConfigKeyLike(SmsPlatformEnum.byCode(Integer.valueOf(dao.getByConfigKey("smsPlatform").getConfigValue())).getTag()); example.or(example.createCriteria().andConfigKeyLike(PageUtil.rightLike("sms"))); } } if (ObjectUtil.isNotEmpty(req.getContentType())) { c.andContentTypeEqualTo(req.getContentType()); } if (StrUtil.isNotBlank(req.getConfigName())) { c.andConfigNameLike(PageUtil.like(req.getConfigName())); } if (StrUtil.isNotBlank(req.getConfigKey())) { c.andConfigKeyLike(PageUtil.like(req.getConfigKey())); } if (ObjectUtil.isNotEmpty(req.getConfigShow())) { c.andConfigShowEqualTo(req.getConfigShow()); } if (StrUtil.isNotBlank(req.getRemark())) { c.andRemarkLike(PageUtil.like(req.getRemark())); } List<SysConfig> configList = dao.listByExample(example); return Result.success(BeanUtil.copyProperties(configList, AdminSysConfigListResp.class)); }
-
初始化系统配置
- 描述: 初始化系统配置。
- 请求方法: POST
- 请求参数: 无
- 响应格式: 返回操作结果。
- 示例代码:
public Result<String> init() { Map<String, String> configMap = dao.listByExample(new SysConfigExample()).stream().collect(Collectors.toMap(SysConfig::getConfigKey, SysConfig::getConfigValue)); VodConfig vodConfig = BeanUtil.objToBean(configMap, VodConfig.class); // 初始化 VodUtil.init(vodConfig); return Result.success("操作成功"); }
后台头部导航管理 API 设计
概述
本设计文档提供了头部导航管理 API 的详细设计,包括头部导航分页查询、添加、查看、修改、删除等功能。这些 API 旨在提供管理员对网站头部导航的全面管理功能。
API 详细设计
-
头部导航分页查询
- 描述: 分页查询头部导航。
- 请求方法: POST
- 请求参数:
AdminWebsiteNavPageReq
包含当前页码、每页记录数及导航标题(可选)。 - 响应格式: 返回头部导航分页列表。
- 示例代码:
public Result<Page<AdminWebsiteNavPageResp>> page(AdminWebsiteNavPageReq req) { WebsiteNavExample example = new WebsiteNavExample(); Criteria c = example.createCriteria(); if (StringUtils.hasText(req.getNavTitle())) { c.andNavTitleLike(PageUtil.rightLike(req.getNavTitle())); } example.setOrderByClause("sort asc, id desc"); Page<WebsiteNav> page = dao.page(req.getPageCurrent(), req.getPageSize(), example); Page<AdminWebsiteNavPageResp> respPage = PageUtil.transform(page, AdminWebsiteNavPageResp.class); return Result.success(respPage); }
-
头部导航添加
- 描述: 添加新的头部导航。
- 请求方法: POST
- 请求参数:
AdminWebsiteNavSaveReq
包含头部导航信息。 - 响应格式: 返回操作结果。
- 示例代码:
public Result<String> save(AdminWebsiteNavSaveReq req) { WebsiteNav record = BeanUtil.copyProperties(req, WebsiteNav.class); if (dao.save(record) > 0) { return Result.success("操作成功"); } return Result.error("操作失败"); }
-
头部导航查看
- 描述: 查看指定头部导航的详细信息。
- 请求方法: POST
- 请求参数: 主键ID。
- 响应格式: 返回头部导航详情。
- 示例代码:
public Result<AdminWebsiteNavViewResp> view(Long id) { return Result.success(BeanUtil.copyProperties(dao.getById(id), AdminWebsiteNavViewResp.class)); }
-
头部导航修改
- 描述: 修改指定的头部导航信息。
- 请求方法: POST
- 请求参数:
AdminWebsiteNavEditReq
包含更新后的头部导航信息。 - 响应格式: 返回操作结果。
- 示例代码:
public Result<String> edit(AdminWebsiteNavEditReq req) { WebsiteNav record = BeanUtil.copyProperties(req, WebsiteNav.class); if (dao.updateById(record) > 0) { return Result.success("操作成功"); } return Result.error("操作失败"); }
-
头部导航删除
- 描述: 删除指定的头部导航。
- 请求方法: POST
- 请求参数: 主键ID。
- 响应格式: 返回操作结果。
- 示例代码:
public Result<String> delete(Long id) { if (dao.deleteById(id) > 0) { return Result.success("操作成功"); } return Result.error("操作失败"); }