文章目录

  • 一.介绍
  • 二.数据模型
  • 三.数据模型类
  • 四.字典查询API接口
  • 五.服务器端
    • 1.Dao
    • 2.Service
    • 3.Controller

一.介绍

在新增课程界面需要选择课程等级、课程状态等,这些信息统一采用数据字典管理的方式。

本项目对一些业务的分类配置信息,比如:课程等级、课程状态、用户类型、用户状态等进行统一管理,通过在数据库创建数据字典表来维护这些分类信息。

数据字典对系统的业务分类进行统一管理,并且也可以解决硬编码问题,比如添加课程时选择课程等级,下拉框中的课程等级信息如果在页面硬编码将造成不易修改维护的问题,所以从数据字典表中获取,如果要修改名称则在数据字典修改即可,提高系统的可维护性。

二.数据模型

在mongodb中创建数据字典表sys_dictionary
字段说明如下:
d_name:字典名称
d_type:字典分类
d_value:字典数据
sd_name:项目名称
sd_id:项目id
sd_status:项目状态(1:可用,0不可用)

三.数据模型类

文件位置:xcEduService01\xc-framework-model\src\main\java\com\xuecheng\framework\domain\system\SysDictionary.java

@Data
@ToString
@Document(collection = "sys_dictionary")
public class SysDictionary {@Idprivate String id;@Field("d_name")private String dName;@Field("d_type")private String dType;@Field("d_value")private List<SysDictionaryValue> dValue;
}

SysDictionaryValue类型:
文件位置:xcEduService01\xc-framework-model\src\main\java\com\xuecheng\framework\domain\system\SysDictionaryValue.java

@Data
@ToString
public class SysDictionaryValue {@Field("sd_id")private String sdId;@Field("sd_name")private String sdName;@Field("sd_status")private String sdStatus;
}

四.字典查询API接口

为了方便其它子系统使用,在cms模块下创建字典查询接口,根据字典的type查询字典信息,接口定义如下:
文件位置:xcEduService01\xc-service-api\src\main\java\com\xuecheng\api\cms\SysDicthinaryControllerApi.java

@Api(value = "数据字典接口",description = "提供数据字典接口的管理、查询功能")
public interface SysDicthinaryControllerApi {//数据字典@ApiOperation(value="数据字典查询接口")public SysDictionary getByType(String type);
}

五.服务器端

1.Dao

文件位置:xcEduService01\xc-service-manage-cms\src\main\java\com\xuecheng\manage_cms\dao\SysDictionaryDao.java

@Repository
public interface SysDictionaryDao extends MongoRepository<SysDictionary,String> {//根据字典分类查询字典信息SysDictionary findBydType(String dType);
}

2.Service

文件位置:xcEduService01\xc-service-manage-cms\src\main\java\com\xuecheng\manage_cms\service\SysdictionaryService.java

@Service
public class SysdictionaryService {@AutowiredSysDictionaryDao sysDictionaryDao;//根据字典分类type查询字典信息public SysDictionary findDictionaryByType(String type){return sysDictionaryDao.findBydType(type);}
}

3.Controller

文件位置:xcEduService01\xc-service-manage-cms\src\main\java\com\xuecheng\manage_cms\controller\SysDictionaryController.java

@RestController
@RequestMapping("/sys/dictionary")
public class SysDictionaryController implements SysDictionaryControllerApi {@AutowiredSysdictionaryService sysdictionaryService;//根据字典分类id查询字典信息@Override@GetMapping("/get/{type}")public SysDictionary getByType(@PathVariable("type") String type) {return sysdictionaryService.findDictionaryByType(type);}
}

学成在线--19.新增课程(数据字典)相关推荐

  1. 学成在线--18.新增课程(课程分类查询)

    文章目录 一.需求分析 二.课程分类查询介绍 三.数据结构 四.数据格式 五.数据模型 六.Api接口 七.服务器端 1.Dao 1)定义mapper 2)定义mapper映射文件 2.Service ...

  2. 学成在线--20.新增课程(最后完善)

    文章目录 一.效果展示 二.服务端 1.Api接口 2.Dao 3.Service 4.Controller 三.前端 1.页面完善 1)创建course_add.vue页面 2)course_add ...

  3. 学成在线--16.添加课程计划

    文章目录 一.需求分析 二.API接口 三.后端 1.Dao 2.Service 3.Controller 4.测试 四.前端 1.页面原型说明 1)添加按钮 2)视图部分 3)在数据模型中添加如下变 ...

  4. 学成在线--21.课程信息修改

    文章目录 一.需求分析 二.课程管理导航页面 1.定义course_manage.vue为课程管理页面 2.创建各个信息管理页面 3.创建路由 三.服务端 1.Api接口 1)根据课程ID查询课程信息 ...

  5. 微服务实战项目-学成在线-课程发布模块

    学成在线-课程发布模块 1 模块需求分析 1.1 模块介绍 课程信息编辑完毕即可发布课程,发布课程相当于一个确认操作,课程发布后学习者在网站可以搜索到课程,然后查看课程的详细信息,进一步选课.支付.在 ...

  6. 学成在线-第19天-讲义-分布式事务

    1订单与选课需求分析 1.1订单支付流程 学成在线的课程分为免费和收费两种.对于收费课程,用户需提交订单并完成支付方可在线学习. 提交订单及支付流程如下: 1.用户提交订单需要先登录系统 2.提交订单 ...

  7. 学成在线--课程发布模块

    完整版请移步至我的个人博客查看:https://cyborg2077.github.io/ 学成在线–项目环境搭建 学成在线–内容管理模块 学成在线–媒资管理模块 学成在线–课程发布模块 学成在线–认 ...

  8. 学成在线 课程 页面

    学成在线 课程 页面 先把剩下两个页面中比较复杂的,也许要超链接的页面做掉了. 大部分布局上的功能都实现了,就剩下一些细节上的:例如说没有补上的注释,以及字体大小颜色上的细节方面.div都分了,cla ...

  9. 学成在线 课程列表 页面

    学成在线 课程列表 页面 在美好的礼拜天,正好我们不调休,把最后一个页面给完成了. 和其他用浮动座位布局方式比起来,课程类表页面最终还是使用了flexbox去布局,一来主要内容最下面的 分页 部分用浮 ...

最新文章

  1. Windows Vista for Developers——第三部分补充:控件和桌面窗口管理器
  2. 八个非常实用的vsCode扩展插件,千万别错过了!
  3. add结果 bigdecimal_java.math.BigDecimal.add(BigDecimal augend)方法
  4. 八、Java的可变参数例子
  5. Spring Boot过滤器和拦截器详解
  6. seaborn关联图表之折线图和散点图
  7. 计算机win7启动不起来,详解电脑启动不了怎么办
  8. 如何剔除数组中得空字符串 null undefined
  9. wallpaper 壁纸提取
  10. 视频直播连麦技术详解
  11. python re 正则提取中文
  12. 【最新】滤器完整性检测各国规定
  13. 京东20210618活动脚本
  14. 压力测试软件怎么用,鲁大师温度压力测试如何使用
  15. 文科类文献综述怎么写?
  16. python 证书-在python使用SSL(HTTPS)
  17. c语言地震子波6,地震子波显示及合成地震记录
  18. Focus和SetFocus、GetFocus、LoseFocus
  19. CSS 水平居中、垂直居中、水平垂直居中
  20. 慕课面板数据分析与Stata应用—第一章总结

热门文章

  1. java-web前端 javascript
  2. Android Canvas的drawText()和文字居中方案
  3. 专访联想谢政维:功耗和价格是天蝎项目最大障碍!
  4. 汽车熄火是什么原因?
  5. GCC笔记 命令行分析
  6. 1566:基础练习 十六进制转八进制
  7. Mint-ui中loadmore(上拉加载下拉刷新)组件在ios中滑动会触发点击事件的解决方法...
  8. spring用的很开心的标签(随时增加)
  9. Win7 U盘安装Ubuntu16.04 双系统
  10. 高可用与负载均衡(5)之基于客户端的负载均衡