Commit 5128196eacc8ea12a920a6da624db611f941dcde
1 parent
a1101f01b7
Exists in
dev
#fix:优化孕妇学校通知公告,新增高危类型通知
Showing 8 changed files with 530 additions and 81 deletions
- platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/CourseEvalService.java
- platform-dal/src/main/java/com/lyms/platform/pojo/CourseModel.java
- platform-dal/src/main/java/com/lyms/platform/pojo/MsgModel.java
- platform-dal/src/main/java/com/lyms/platform/pojo/MsgModelRecord.java
- platform-dal/src/main/java/com/lyms/platform/query/MsgQuery.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CourseController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/CourseFacade.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/CourseRequest.java
platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/CourseEvalService.java
View file @
5128196
... | ... | @@ -10,6 +10,7 @@ |
10 | 10 | import com.lyms.platform.common.enums.YnEnums; |
11 | 11 | import com.lyms.platform.pojo.CourseEvaluateModel; |
12 | 12 | import com.lyms.platform.pojo.MsgModel; |
13 | +import com.lyms.platform.pojo.MsgModelRecord; | |
13 | 14 | import com.lyms.platform.pojo.ReviewModel; |
14 | 15 | import com.lyms.platform.query.CourseEvalQuery; |
15 | 16 | import com.lyms.platform.query.MsgQuery; |
... | ... | @@ -18,6 +19,7 @@ |
18 | 19 | import org.apache.commons.lang.StringUtils; |
19 | 20 | import org.springframework.beans.factory.annotation.Autowired; |
20 | 21 | import org.springframework.data.domain.Sort; |
22 | +import org.springframework.data.mongodb.core.MongoTemplate; | |
21 | 23 | import org.springframework.stereotype.Service; |
22 | 24 | |
23 | 25 | import java.util.List; |
... | ... | @@ -35,6 +37,10 @@ |
35 | 37 | |
36 | 38 | @Autowired |
37 | 39 | private ReviewDao reviewDao; |
40 | + | |
41 | + @Autowired | |
42 | + private MongoTemplate mongoTemplate; | |
43 | + | |
38 | 44 | public List<CourseEvaluateModel> queryCourseEvalList(CourseEvalQuery courseEvalQuery) { |
39 | 45 | |
40 | 46 | MongoQuery query = courseEvalQuery.convertToQuery(); |
... | ... | @@ -79,6 +85,17 @@ |
79 | 85 | } |
80 | 86 | return msgDao.queryMsgList(query.addOrder(Sort.Direction.DESC, "created")); |
81 | 87 | } |
88 | + | |
89 | + public List<MsgModelRecord> queryMsgRecordList(MsgQuery msgQuery) { | |
90 | + MongoQuery query = msgQuery.convertToQuery(); | |
91 | + if (StringUtils.isNotEmpty(msgQuery.getNeed())) { | |
92 | + msgQuery.mysqlBuild((int)mongoTemplate.count(query.convertToMongoQuery(),MsgModelRecord.class)); | |
93 | + query.start(msgQuery.getOffset()).end(msgQuery.getLimit()); | |
94 | + } | |
95 | + System.out.println(query.convertToMongoQuery()); | |
96 | + return mongoTemplate.find(query.convertToMongoQuery(),MsgModelRecord.class); | |
97 | + } | |
98 | + | |
82 | 99 | |
83 | 100 | public void addMsg(MsgModel model) { |
84 | 101 | msgDao.addMsg(model); |
platform-dal/src/main/java/com/lyms/platform/pojo/CourseModel.java
View file @
5128196
... | ... | @@ -83,7 +83,16 @@ |
83 | 83 | |
84 | 84 | private byte[][] chunks; |
85 | 85 | |
86 | + //听课方式 1线上 2现场 | |
87 | + private Integer courseType; | |
86 | 88 | |
89 | + public Integer getCourseType() { | |
90 | + return courseType; | |
91 | + } | |
92 | + | |
93 | + public void setCourseType(Integer courseType) { | |
94 | + this.courseType = courseType; | |
95 | + } | |
87 | 96 | |
88 | 97 | public byte[][] getChunks() { |
89 | 98 | return chunks; |
platform-dal/src/main/java/com/lyms/platform/pojo/MsgModel.java
View file @
5128196
... | ... | @@ -32,8 +32,6 @@ |
32 | 32 | private String created; |
33 | 33 | //状态 0.未读 1.已读 |
34 | 34 | private Integer state; |
35 | - // | |
36 | - private Integer oarentId; | |
37 | 35 | //标题0.医生停诊通知 1.检查停诊通知 2.医院放假通知 3.排课表 |
38 | 36 | private Integer title; |
39 | 37 | |
40 | 38 | |
41 | 39 | |
... | ... | @@ -41,12 +39,52 @@ |
41 | 39 | |
42 | 40 | private String readCount; |
43 | 41 | |
44 | - | |
45 | 42 | //阅读量 |
46 | 43 | private Integer readNum; |
47 | 44 | |
48 | 45 | private String img; |
46 | + //发送人群 1、双胎专病 2、稀有血型 3、稀有血型专病 4、糖尿病专病 5、高血压专病 6、瘢痕子宫专病 7、剖宫产再孕专病 8、高龄孕产妇专病 9、传染性疾病专病 | |
47 | + private Integer crowd; | |
48 | + //发送人数 | |
49 | + private Integer crowdNum; | |
50 | + //课程Id | |
51 | + private String courseId; | |
52 | + //状态 0是未发布 1发布 | |
53 | + private Integer status; | |
49 | 54 | |
55 | + | |
56 | + public String getCourseId() { | |
57 | + return courseId; | |
58 | + } | |
59 | + | |
60 | + public void setCourseId(String courseId) { | |
61 | + this.courseId = courseId; | |
62 | + } | |
63 | + | |
64 | + public Integer getStatus() { | |
65 | + return status; | |
66 | + } | |
67 | + | |
68 | + public void setStatus(Integer status) { | |
69 | + this.status = status; | |
70 | + } | |
71 | + | |
72 | + public Integer getCrowd() { | |
73 | + return crowd; | |
74 | + } | |
75 | + | |
76 | + public void setCrowd(Integer crowd) { | |
77 | + this.crowd = crowd; | |
78 | + } | |
79 | + | |
80 | + public Integer getCrowdNum() { | |
81 | + return crowdNum; | |
82 | + } | |
83 | + | |
84 | + public void setCrowdNum(Integer crowdNum) { | |
85 | + this.crowdNum = crowdNum; | |
86 | + } | |
87 | + | |
50 | 88 | public String getImg() { |
51 | 89 | return img; |
52 | 90 | } |
... | ... | @@ -150,14 +188,6 @@ |
150 | 188 | |
151 | 189 | public void setState(Integer state) { |
152 | 190 | this.state = state; |
153 | - } | |
154 | - | |
155 | - public Integer getOarentId() { | |
156 | - return oarentId; | |
157 | - } | |
158 | - | |
159 | - public void setOarentId(Integer oarentId) { | |
160 | - this.oarentId = oarentId; | |
161 | 191 | } |
162 | 192 | |
163 | 193 | public Integer getTitle() { |
platform-dal/src/main/java/com/lyms/platform/pojo/MsgModelRecord.java
View file @
5128196
1 | +package com.lyms.platform.pojo; | |
2 | + | |
3 | +import com.lyms.platform.beans.SerialIdEnum; | |
4 | +import com.lyms.platform.common.result.BaseModel; | |
5 | +import org.springframework.data.mongodb.core.mapping.Document; | |
6 | + | |
7 | +@Document(collection="lyms_msg_record") | |
8 | +public class MsgModelRecord extends BaseModel { | |
9 | + private static final long serialVersionUID = SerialIdEnum.ModularFunctionConfigModel.getCid(); | |
10 | + //消息id | |
11 | + private String id; | |
12 | + //1.用户端APP 2. 医生端APP | |
13 | + private Integer type; | |
14 | + //消息内容 | |
15 | + private String content; | |
16 | + //发布人id | |
17 | + private Integer publishId; | |
18 | + //发布人名称 | |
19 | + private String publishName; | |
20 | + //1.有效 2.无效 | |
21 | + private Integer yn; | |
22 | + //最后修改时间 | |
23 | + private String modified; | |
24 | + //创建时间 | |
25 | + private String created; | |
26 | + //状态 0.未读 1.已读 | |
27 | + private Integer state; | |
28 | + //标题0.医生停诊通知 1.检查停诊通知 2.医院放假通知 3.排课表 | |
29 | + private Integer title; | |
30 | + | |
31 | + private String hospitalId; | |
32 | + | |
33 | + private String img; | |
34 | + //课程Id | |
35 | + private String courseId; | |
36 | + private String msgId; | |
37 | + private String patientId; | |
38 | + | |
39 | + public String getMsgId() { | |
40 | + return msgId; | |
41 | + } | |
42 | + | |
43 | + public void setMsgId(String msgId) { | |
44 | + this.msgId = msgId; | |
45 | + } | |
46 | + | |
47 | + public static long getSerialVersionUID() { | |
48 | + return serialVersionUID; | |
49 | + } | |
50 | + | |
51 | + public String getPatientId() { | |
52 | + return patientId; | |
53 | + } | |
54 | + | |
55 | + public void setPatientId(String patientId) { | |
56 | + this.patientId = patientId; | |
57 | + } | |
58 | + | |
59 | + public String getCourseId() { | |
60 | + return courseId; | |
61 | + } | |
62 | + | |
63 | + public void setCourseId(String courseId) { | |
64 | + this.courseId = courseId; | |
65 | + } | |
66 | + | |
67 | + public String getImg() { | |
68 | + return img; | |
69 | + } | |
70 | + | |
71 | + public void setImg(String img) { | |
72 | + this.img = img; | |
73 | + } | |
74 | + | |
75 | + | |
76 | + public String getHospitalId() { | |
77 | + return hospitalId; | |
78 | + } | |
79 | + | |
80 | + public void setHospitalId(String hospitalId) { | |
81 | + this.hospitalId = hospitalId; | |
82 | + } | |
83 | + | |
84 | + public String getId() { | |
85 | + return id; | |
86 | + } | |
87 | + | |
88 | + public void setId(String id) { | |
89 | + this.id = id; | |
90 | + } | |
91 | + | |
92 | + public Integer getType() { | |
93 | + return type; | |
94 | + } | |
95 | + | |
96 | + public void setType(Integer type) { | |
97 | + this.type = type; | |
98 | + } | |
99 | + | |
100 | + public String getContent() { | |
101 | + return content; | |
102 | + } | |
103 | + | |
104 | + public void setContent(String content) { | |
105 | + this.content = content; | |
106 | + } | |
107 | + | |
108 | + public Integer getPublishId() { | |
109 | + return publishId; | |
110 | + } | |
111 | + | |
112 | + public void setPublishId(Integer publishId) { | |
113 | + this.publishId = publishId; | |
114 | + } | |
115 | + | |
116 | + public String getPublishName() { | |
117 | + return publishName; | |
118 | + } | |
119 | + | |
120 | + public void setPublishName(String publishName) { | |
121 | + this.publishName = publishName; | |
122 | + } | |
123 | + | |
124 | + public Integer getYn() { | |
125 | + return yn; | |
126 | + } | |
127 | + | |
128 | + public void setYn(Integer yn) { | |
129 | + this.yn = yn; | |
130 | + } | |
131 | + | |
132 | + public String getModified() { | |
133 | + return modified; | |
134 | + } | |
135 | + | |
136 | + public void setModified(String modified) { | |
137 | + this.modified = modified; | |
138 | + } | |
139 | + | |
140 | + public String getCreated() { | |
141 | + return created; | |
142 | + } | |
143 | + | |
144 | + public void setCreated(String created) { | |
145 | + this.created = created; | |
146 | + } | |
147 | + | |
148 | + public Integer getState() { | |
149 | + return state; | |
150 | + } | |
151 | + | |
152 | + public void setState(Integer state) { | |
153 | + this.state = state; | |
154 | + } | |
155 | + | |
156 | + public Integer getTitle() { | |
157 | + return title; | |
158 | + } | |
159 | + | |
160 | + public void setTitle(Integer title) { | |
161 | + this.title = title; | |
162 | + } | |
163 | +} |
platform-dal/src/main/java/com/lyms/platform/query/MsgQuery.java
View file @
5128196
... | ... | @@ -28,8 +28,10 @@ |
28 | 28 | private Date created; |
29 | 29 | //状态 0.已读 1.未读 |
30 | 30 | private Integer state; |
31 | + | |
32 | + private Integer status; | |
31 | 33 | // |
32 | - private Integer parentId; | |
34 | + private String parentId; | |
33 | 35 | //标题0.医生停诊通知 1.检查停诊通知 2.医院放假通知 |
34 | 36 | private Integer title; |
35 | 37 | |
... | ... | @@ -43,6 +45,14 @@ |
43 | 45 | |
44 | 46 | private String img; |
45 | 47 | |
48 | + public Integer getStatus() { | |
49 | + return status; | |
50 | + } | |
51 | + | |
52 | + public void setStatus(Integer status) { | |
53 | + this.status = status; | |
54 | + } | |
55 | + | |
46 | 56 | public String getImg() { |
47 | 57 | return img; |
48 | 58 | } |
49 | 59 | |
... | ... | @@ -155,11 +165,11 @@ |
155 | 165 | this.state = state; |
156 | 166 | } |
157 | 167 | |
158 | - public Integer getParentId() { | |
168 | + public String getParentId() { | |
159 | 169 | return parentId; |
160 | 170 | } |
161 | 171 | |
162 | - public void setParentId(Integer parentId) { | |
172 | + public void setParentId(String parentId) { | |
163 | 173 | this.parentId = parentId; |
164 | 174 | } |
165 | 175 | |
166 | 176 | |
... | ... | @@ -195,9 +205,12 @@ |
195 | 205 | }if(null != state){ |
196 | 206 | condition = condition.and("state", state, MongoOper.IS); |
197 | 207 | }if(null != parentId){ |
198 | - condition = condition.and("parentId", parentId, MongoOper.IS); | |
208 | + condition = condition.and("patientId", parentId, MongoOper.IS); | |
199 | 209 | }if(null != title){ |
200 | 210 | condition = condition.and("title", title, MongoOper.IS); |
211 | + } | |
212 | + if (null!=status){ | |
213 | + condition = condition.and("status", status, MongoOper.IS); | |
201 | 214 | } |
202 | 215 | return condition.toMongoQuery(); |
203 | 216 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CourseController.java
View file @
5128196
... | ... | @@ -139,6 +139,7 @@ |
139 | 139 | @RequestParam(required = false) String courseSpeaker, |
140 | 140 | @RequestParam(required = false) String createdTime, |
141 | 141 | @RequestParam(required = false) String courseTime, |
142 | + | |
142 | 143 | HttpServletRequest request) { |
143 | 144 | |
144 | 145 | return courseFacade.getCoureseList(courseTypeId, status, courseName, courseSpeaker, |
145 | 146 | |
146 | 147 | |
147 | 148 | |
148 | 149 | |
... | ... | @@ -312,22 +313,33 @@ |
312 | 313 | @TokenRequired |
313 | 314 | public BaseResponse msgList(@RequestParam Integer page, |
314 | 315 | @RequestParam Integer limit, |
316 | + Integer status, | |
315 | 317 | HttpServletRequest request) { |
316 | 318 | LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); |
317 | - return courseFacade.msgList(page,limit,loginState.getId()); | |
319 | + return courseFacade.msgList(page,limit,status,loginState.getId()); | |
318 | 320 | } |
319 | 321 | |
320 | 322 | /* |
321 | - * 发布消息 | |
323 | + * 添加消息 | |
322 | 324 | * */ |
323 | 325 | @RequestMapping(method = RequestMethod.POST, value = "/msgAdd") |
324 | 326 | @ResponseBody |
325 | 327 | @TokenRequired |
326 | 328 | public BaseResponse msgAdd(@RequestBody MsgModel model, HttpServletRequest request) { |
327 | - return courseFacade.msgAdd(model,getUserId(request)); | |
329 | + return courseFacade.msgAdd(model); | |
328 | 330 | } |
329 | 331 | |
330 | 332 | /* |
333 | + * 发布消息 | |
334 | + * */ | |
335 | + @RequestMapping(method = RequestMethod.GET, value = "/msgSend") | |
336 | + @ResponseBody | |
337 | + @TokenRequired | |
338 | + public BaseResponse msgSend(String msgId, HttpServletRequest request) { | |
339 | + return courseFacade.msgSend(msgId,getUserId(request)); | |
340 | + } | |
341 | + | |
342 | + /* | |
331 | 343 | * 编辑消息 |
332 | 344 | * */ |
333 | 345 | @RequestMapping(method = RequestMethod.POST, value = "/msgUpdate") |
334 | 346 | |
335 | 347 | |
336 | 348 | |
... | ... | @@ -358,24 +370,22 @@ |
358 | 370 | @RequestMapping(method = RequestMethod.GET, value = "/getMsgList") |
359 | 371 | @ResponseBody |
360 | 372 | public BaseResponse msgList( |
361 | - HttpServletRequest request) { | |
362 | - return courseFacade.getMsgList(); | |
373 | + HttpServletRequest request,String patientId,Integer limit,Integer page) { | |
374 | + return courseFacade.getMsgList(patientId,limit,page); | |
363 | 375 | } |
364 | 376 | |
365 | 377 | |
366 | 378 | /** |
367 | 379 | * 消息详情 |
368 | 380 | * @param msgId |
369 | - * @param parentId | |
370 | 381 | * @param request |
371 | 382 | * @return |
372 | 383 | */ |
373 | 384 | @RequestMapping(method = RequestMethod.GET, value = "/getMsgById") |
374 | 385 | @ResponseBody |
375 | 386 | public BaseResponse getMsgById(@RequestParam(required = false) String msgId, |
376 | - @RequestParam(required = false) String parentId, | |
377 | 387 | HttpServletRequest request) { |
378 | - return courseFacade.getMsgById(msgId,parentId); | |
388 | + return courseFacade.getMsgById(msgId); | |
379 | 389 | } |
380 | 390 | |
381 | 391 |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/CourseFacade.java
View file @
5128196
... | ... | @@ -5,13 +5,14 @@ |
5 | 5 | import com.lyms.platform.beans.MsgRequest; |
6 | 6 | import com.lyms.platform.biz.service.*; |
7 | 7 | import com.lyms.platform.common.constants.ErrorCodeConstants; |
8 | +import com.lyms.platform.common.dao.operator.MongoCondition; | |
9 | +import com.lyms.platform.common.dao.operator.MongoOper; | |
10 | +import com.lyms.platform.common.dao.operator.MongoQuery; | |
8 | 11 | import com.lyms.platform.common.enums.*; |
9 | 12 | import com.lyms.platform.common.result.BaseListResponse; |
10 | 13 | import com.lyms.platform.common.result.BaseObjectResponse; |
11 | 14 | import com.lyms.platform.common.result.BaseResponse; |
12 | -import com.lyms.platform.common.utils.DateUtil; | |
13 | -import com.lyms.platform.common.utils.ExceptionUtils; | |
14 | -import com.lyms.platform.common.utils.PropertiesUtils; | |
15 | +import com.lyms.platform.common.utils.*; | |
15 | 16 | import com.lyms.platform.operate.web.request.CourseRequest; |
16 | 17 | import com.lyms.platform.operate.web.result.CourseResult; |
17 | 18 | import com.lyms.platform.operate.web.worker.CourseCountWorker; |
... | ... | @@ -20,6 +21,7 @@ |
20 | 21 | import com.lyms.platform.permission.service.UsersService; |
21 | 22 | import com.lyms.platform.pojo.*; |
22 | 23 | import com.lyms.platform.query.*; |
24 | +import com.mongodb.WriteResult; | |
23 | 25 | import org.apache.commons.collections.CollectionUtils; |
24 | 26 | import org.apache.commons.lang3.StringUtils; |
25 | 27 | import org.slf4j.Logger; |
... | ... | @@ -27,6 +29,9 @@ |
27 | 29 | import org.springframework.beans.factory.annotation.Autowired; |
28 | 30 | import org.springframework.beans.factory.annotation.Qualifier; |
29 | 31 | import org.springframework.data.mongodb.core.MongoTemplate; |
32 | +import org.springframework.data.mongodb.core.query.Criteria; | |
33 | +import org.springframework.data.mongodb.core.query.Query; | |
34 | +import org.springframework.data.mongodb.core.query.Update; | |
30 | 35 | import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; |
31 | 36 | import org.springframework.stereotype.Component; |
32 | 37 | |
... | ... | @@ -76,6 +81,7 @@ |
76 | 81 | private PatientsService patientsService; |
77 | 82 | |
78 | 83 | |
84 | + | |
79 | 85 | @Autowired |
80 | 86 | private MongoTemplate mongoTemplate; |
81 | 87 | |
... | ... | @@ -129,6 +135,7 @@ |
129 | 135 | model.setCourseSpeaker(request.getCourseSpeaker()); |
130 | 136 | model.setCourseVideo(request.getCourseVideo()); |
131 | 137 | model.setId(request.getId()); |
138 | + model.setCourseType(request.getCourseType()); | |
132 | 139 | return model; |
133 | 140 | } |
134 | 141 | |
135 | 142 | |
... | ... | @@ -1131,9 +1138,12 @@ |
1131 | 1138 | return new BaseObjectResponse().setData(results).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION); |
1132 | 1139 | } |
1133 | 1140 | |
1134 | - public BaseResponse msgList(Integer page, Integer limit,Integer userId) { | |
1141 | + public BaseResponse msgList(Integer page, Integer limit,Integer status,Integer userId) { | |
1135 | 1142 | String hospitalId = autoMatchFacade.getHospitalId(userId); |
1136 | 1143 | MsgQuery msgQuery = new MsgQuery(); |
1144 | + if (status!=null){ | |
1145 | + msgQuery.setStatus(status); | |
1146 | + } | |
1137 | 1147 | msgQuery.setYn(YnEnums.YES.getId()); |
1138 | 1148 | msgQuery.setNeed("true"); |
1139 | 1149 | msgQuery.setLimit(limit); |
1140 | 1150 | |
1141 | 1151 | |
... | ... | @@ -1148,9 +1158,196 @@ |
1148 | 1158 | return objectResponse; |
1149 | 1159 | } |
1150 | 1160 | |
1151 | - public BaseResponse msgAdd(MsgModel model,Integer userId) { | |
1161 | + public BaseResponse msgSend( String msgId,Integer userId) { | |
1162 | + BaseResponse objectResponse = new BaseResponse(); | |
1163 | + final String hospitalId = autoMatchFacade.getHospitalId(userId); | |
1164 | + Date day=new Date(); | |
1165 | + SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); | |
1166 | + String format = df.format(day); | |
1167 | + MsgQuery msgQuery = new MsgQuery(); | |
1168 | + msgQuery.setId(msgId); | |
1169 | + msgQuery.setState(0); | |
1170 | + msgQuery.setHospitalId(hospitalId); | |
1171 | + List<MsgModel> msgModels= courseEvalService.queryMsgList(msgQuery); | |
1172 | + if(CollectionUtils.isEmpty(msgModels)){ | |
1173 | + objectResponse.setErrorcode(-1); | |
1174 | + objectResponse.setErrormsg("当前通知状态异常"); | |
1175 | + return objectResponse; | |
1176 | + } | |
1177 | + final MsgModel model= msgModels.get(0); | |
1178 | + model.setModified(format); | |
1179 | + model.setStatus(1); | |
1180 | + //操作人为当前用户id | |
1181 | + model.setPublishId(userId); | |
1182 | + courseEvalService.updateMsg(model); | |
1152 | 1183 | |
1184 | + final Integer crowd=model.getCrowd(); | |
1185 | + //发送通知 | |
1186 | + commonThreadPool.execute(new Runnable() { | |
1187 | + @Override | |
1188 | + public void run() { | |
1189 | + PatientsQuery patientsQuery=new PatientsQuery(); | |
1190 | + patientsQuery.setYn(1); | |
1191 | + patientsQuery.setHospitalId(hospitalId); | |
1192 | + List <Patients> patientses =null; | |
1193 | + if (crowd==null){ | |
1194 | + patientses= patientsService.queryPatient(patientsQuery); | |
1195 | + }else { | |
1196 | + //发送人群 0、健康 1、双胎专病 2、稀有血型专病 3、糖尿病专病 4、高血压专病 5、瘢痕子宫专病 6、剖宫产再孕专病 7、甲减专病 8、高龄孕产妇专病 9传染性疾病专病 | |
1197 | + if (crowd==0){ | |
1198 | + //健康 | |
1199 | + List <String> rFactorList = new ArrayList <>(); | |
1200 | + rFactorList.add("d42eec03-aa86-45b8-a4e0-78a0ff365fb6"); | |
1201 | + patientsQuery.setrFactorList(rFactorList); | |
1202 | + patientses = patientsService.queryPatient(patientsQuery); | |
1203 | + }else{ | |
1204 | + Query yn =null; | |
1205 | + if (crowd==1){ | |
1206 | + //双胎专病 | |
1207 | + Criteria criteria1 = Criteria.where("name").is("双胎妊娠(双绒双羊)"); | |
1208 | + Criteria criteria2 = Criteria.where("name").is("双胎妊娠(单绒双羊)"); | |
1209 | + Criteria criteria3 = Criteria.where("name").is("双胎妊娠(单绒单羊)"); | |
1210 | + Criteria criteria4 = Criteria.where("name").is("双胎妊娠"); | |
1211 | + yn = Query.query(Criteria.where("yn").is(1).orOperator(criteria1, criteria2, criteria3,criteria4)); | |
1212 | + }else if (crowd==2){ | |
1213 | + //稀有血型专病 | |
1214 | + Criteria criteria1 = Criteria.where("name").is("RH(-)"); | |
1215 | + Criteria criteria2 = Criteria.where("name").is("Rh血型不合"); | |
1216 | + yn = Query.query(Criteria.where("yn").is(1).orOperator(criteria1, criteria2)); | |
1217 | + }else if (crowd==3){ | |
1218 | + //糖尿病专病 | |
1219 | + Criteria criteria1 = Criteria.where("name").is("妊娠期糖尿病(无需药物治疗)"); | |
1220 | + Criteria criteria2 = Criteria.where("name").is("妊娠期糖尿病病史"); | |
1221 | + Criteria criteria3 = Criteria.where("name").is("糖尿病合并妊娠(无需药物治疗)"); | |
1222 | + Criteria criteria4 = Criteria.where("name").is("糖尿病并发肾病V级、严重心血管病、增生性视网膜病变或玻璃体出血、周围神经病变等"); | |
1223 | + Criteria criteria5 = Criteria.where("name").is("糖尿病并发肾病V级"); | |
1224 | + Criteria criteria6 = Criteria.where("name").is("糖尿病并发严重心血管病"); | |
1225 | + Criteria criteria7 = Criteria.where("name").is("糖尿病并发增生性视网膜病变"); | |
1226 | + Criteria criteria8 = Criteria.where("name").is("糖尿病并发玻璃体出血"); | |
1227 | + Criteria criteria9 = Criteria.where("name").is("糖尿病并发周围神经病变等"); | |
1228 | + yn = Query.query(Criteria.where("yn").is(1).orOperator(criteria1, criteria2, criteria3, criteria4, criteria5, criteria6, criteria7, criteria8, criteria9)); | |
1229 | + }else if (crowd==4){ | |
1230 | + //高血压专病 | |
1231 | + Criteria criteria1 = Criteria.where("name").is("妊娠期高血压疾病(除外红、橙色)"); | |
1232 | + Criteria criteria2 = Criteria.where("name").is("妊娠期高血压"); | |
1233 | + Criteria criteria3 = Criteria.where("name").is("子痫前期(轻)"); | |
1234 | + Criteria criteria4 = Criteria.where("name").is("慢性高血压合并妊娠"); | |
1235 | + Criteria criteria5 = Criteria.where("name").is("妊娠期高血压性心脏病"); | |
1236 | + Criteria criteria6 = Criteria.where("name").is("急性肾脏疾病伴高血压"); | |
1237 | + Criteria criteria7 = Criteria.where("name").is("慢性肾脏疾病伴高血压"); | |
1238 | + Criteria criteria8 = Criteria.where("name").is("妊娠期高血压疾病病史"); | |
1239 | + Criteria criteria9 = Criteria.where("name").is("重度子痫前期"); | |
1240 | + Criteria criteria10 = Criteria.where("name").is("慢性高血压合并子痫前期"); | |
1241 | + Criteria criteria12 = Criteria.where("name").is("泌尿系统疾病:急、慢性肾脏疾病伴高血压、肾功能不全(肌酐超过正常值上限的1.5倍)"); | |
1242 | + yn = Query.query(Criteria.where("yn").is(1).orOperator(criteria1, criteria2, criteria3, criteria4, criteria5, criteria6, criteria7,criteria8,criteria9,criteria10,criteria12)); | |
1243 | + }else if (crowd==5){ | |
1244 | + //瘢痕子宫专病 | |
1245 | + Criteria criteria1 = Criteria.where("name").is("瘢痕子宫"); | |
1246 | + Criteria criteria2 = Criteria.where("name").is("剖宫产1次"); | |
1247 | + Criteria criteria3 = Criteria.where("name").is("子宫肌瘤挖出术1次"); | |
1248 | + Criteria criteria4 = Criteria.where("name").is("宫角妊娠1次"); | |
1249 | + Criteria criteria5 = Criteria.where("name").is("瘢痕子宫(距末次子宫手术间隔<18月)"); | |
1250 | + Criteria criteria6 = Criteria.where("name").is("疤痕子宫伴中央性前置胎盘或伴有可疑胎盘植入"); | |
1251 | + Criteria criteria7 = Criteria.where("name").is("瘢痕子宫伴中央性前置胎盘"); | |
1252 | + Criteria criteria8 = Criteria.where("name").is("瘢痕子宫伴有可疑胎盘植入"); | |
1253 | + Criteria criteria9 = Criteria.where("name").is("各类子宫手术史(如剖宫产、宫角妊娠、子宫肌瘤挖除术等)≥2次"); | |
1254 | + Criteria criteria10 = Criteria.where("name").is("剖宫产≥2次"); | |
1255 | + Criteria criteria11 = Criteria.where("name").is("宫角妊娠≥2次"); | |
1256 | + Criteria criteria12 = Criteria.where("name").is("子宫肌瘤挖出术≥2次"); | |
1257 | + Criteria criteria13 = Criteria.where("name").is("各类子宫手术史≥2次"); | |
1258 | + yn = Query.query(Criteria.where("yn").is(1).orOperator(criteria1, criteria2, criteria3, criteria4, criteria5, criteria6, criteria7, criteria8, criteria9, criteria10, criteria11, criteria12, criteria13)); | |
1153 | 1259 | |
1260 | + }else if (crowd==6){ | |
1261 | + //剖宫产再孕专病 | |
1262 | + Criteria criteria1 = Criteria.where("name").is("各类子宫手术史(如剖宫产、宫角妊娠、子宫肌瘤挖除术等)≥2次"); | |
1263 | + Criteria criteria2 = Criteria.where("name").is("剖宫产1次"); | |
1264 | + Criteria criteria3 = Criteria.where("name").is("剖宫产≥2次"); | |
1265 | + yn = Query.query(Criteria.where("yn").is(1).orOperator(criteria1, criteria2, criteria3)); | |
1266 | + }else if (crowd==7){ | |
1267 | + //甲减专病 | |
1268 | + Criteria criteria1 = Criteria.where("name").is("亚临床甲减"); | |
1269 | + Criteria criteria2 = Criteria.where("name").is("甲减(需药物治疗)"); | |
1270 | + Criteria criteria3 = Criteria.where("name").is("甲状腺功能减退引起相应系统功能障碍,基础代谢率小于-50%"); | |
1271 | + Criteria criteria4 = Criteria.where("name").is("甲状腺功能减低(无需药物治疗)"); | |
1272 | + yn = Query.query(Criteria.where("yn").is(1).orOperator(criteria1, criteria2, criteria3, criteria4)); | |
1273 | + | |
1274 | + }else if (crowd==8){ | |
1275 | + //高龄孕产妇专病 | |
1276 | + Criteria criteria1 = Criteria.where("name").is("40岁>年龄≥35岁"); | |
1277 | + Criteria criteria2 = Criteria.where("name").is("年龄≥40岁"); | |
1278 | + yn = Query.query(Criteria.where("yn").is(1).orOperator(criteria1, criteria2)); | |
1279 | + | |
1280 | + }else if (crowd==9){ | |
1281 | + // 传染性疾病专病 | |
1282 | + Criteria criteria1 = Criteria.where("name").is("梅毒"); | |
1283 | + Criteria criteria2 = Criteria.where("name").is("HIV感染及艾滋病"); | |
1284 | + Criteria criteria3 = Criteria.where("name").is("特殊病毒感染(H1N7、寨卡等)"); | |
1285 | + Criteria criteria4 = Criteria.where("name").is("结核病"); | |
1286 | + Criteria criteria5 = Criteria.where("name").is("病毒性肝炎"); | |
1287 | + Criteria criteria6 = Criteria.where("name").is("重症感染性肺炎"); | |
1288 | + Criteria criteria7 = Criteria.where("name").is("所有妊娠合并传染性疾病"); | |
1289 | + Criteria criteria8 = Criteria.where("name").is("尖锐湿疣"); | |
1290 | + Criteria criteria9 = Criteria.where("name").is("淋病"); | |
1291 | + Criteria criteria10 = Criteria.where("name").is("丙肝阳性"); | |
1292 | + Criteria criteria11 = Criteria.where("name").is("乙肝大三阳"); | |
1293 | + Criteria criteria12 = Criteria.where("name").is("乙肝小三阳"); | |
1294 | + Criteria criteria13=Criteria.where("name").is("所有妊娠合井传染性疾病--如病毒性肝炎、梅毒、HV感染及艾滋病、结核病、重症盛染性肺炎、特殊病毒感染(H1N7、寨卡等)"); | |
1295 | + yn = Query.query(Criteria.where("yn").is(1).orOperator(criteria1, criteria2, criteria3, criteria4,criteria5,criteria6,criteria7,criteria8,criteria9,criteria10,criteria11,criteria12,criteria13)); | |
1296 | + | |
1297 | + } | |
1298 | + List <BasicConfig> models = mongoTemplate.find(yn, BasicConfig.class); | |
1299 | + List <String> rFactorList = new ArrayList <>(); | |
1300 | + if (models != null && models.size() > 0) { | |
1301 | + for (int i = 0; i < models.size(); i++) { | |
1302 | + rFactorList.add(models.get(i).getId()); | |
1303 | + } | |
1304 | + } | |
1305 | + patientsQuery.setrFactorList(rFactorList); | |
1306 | + patientses = patientsService.queryPatient(patientsQuery); | |
1307 | + } | |
1308 | + } | |
1309 | + if (CollectionUtils.isNotEmpty(patientses)){ | |
1310 | + List<MsgModelRecord> msgModelRecords=new ArrayList<>(); | |
1311 | + for (Patients patients:patientses){ | |
1312 | + MsgModelRecord msgModelRecord=getRecord(model); | |
1313 | + System.out.println(patients.getId()); | |
1314 | + msgModelRecord.setPatientId(patients.getId()); | |
1315 | + msgModelRecords.add(msgModelRecord); | |
1316 | + } | |
1317 | + mongoTemplate.insertAll(msgModelRecords); | |
1318 | + model.setCrowdNum(patientses.size()); | |
1319 | + courseEvalService.updateMsg(model); | |
1320 | + } | |
1321 | + } | |
1322 | + }); | |
1323 | + objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); | |
1324 | + objectResponse.setErrormsg("成功"); | |
1325 | + return objectResponse; | |
1326 | + } | |
1327 | + | |
1328 | + | |
1329 | + public MsgModelRecord getRecord(MsgModel msgModel){ | |
1330 | + MsgModelRecord msgModelRecord=new MsgModelRecord(); | |
1331 | + msgModelRecord.setMsgId(msgModel.getId()); | |
1332 | + msgModelRecord.setContent(msgModel.getContent()); | |
1333 | + msgModelRecord.setCourseId(msgModel.getCourseId()); | |
1334 | + msgModelRecord.setCreated(msgModel.getCreated()); | |
1335 | + msgModelRecord.setHospitalId(msgModel.getHospitalId()); | |
1336 | + msgModelRecord.setImg(msgModel.getImg()); | |
1337 | + msgModelRecord.setState(msgModel.getState()); | |
1338 | + msgModelRecord.setPublishId(msgModel.getPublishId()); | |
1339 | + msgModelRecord.setPublishName(msgModel.getPublishName()); | |
1340 | + msgModelRecord.setTitle(msgModel.getTitle()); | |
1341 | + msgModelRecord.setType(msgModel.getType()); | |
1342 | + msgModelRecord.setYn(1); | |
1343 | + return msgModelRecord; | |
1344 | + } | |
1345 | + | |
1346 | + | |
1347 | + | |
1348 | + public BaseResponse msgAdd(MsgModel model) { | |
1349 | + | |
1350 | + | |
1154 | 1351 | BaseResponse objectResponse = new BaseResponse(); |
1155 | 1352 | |
1156 | 1353 | Date day=new Date(); |
... | ... | @@ -1158,9 +1355,7 @@ |
1158 | 1355 | model.setCreated(df.format(day)); |
1159 | 1356 | model.setState(0); |
1160 | 1357 | model.setYn(YnEnums.YES.getId()); |
1161 | - //发布人id | |
1162 | - model.setPublishId(userId); | |
1163 | - model.setHospitalId(model.getHospitalId()); | |
1358 | + model.setStatus(0); | |
1164 | 1359 | courseEvalService.addMsg(model); |
1165 | 1360 | objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); |
1166 | 1361 | objectResponse.setErrormsg("成功"); |
1167 | 1362 | |
1168 | 1363 | |
1169 | 1364 | |
1170 | 1365 | |
1171 | 1366 | |
... | ... | @@ -1168,21 +1363,29 @@ |
1168 | 1363 | } |
1169 | 1364 | |
1170 | 1365 | public BaseResponse msgUpdate(MsgModel model,Integer userId) { |
1366 | + MsgQuery msgQuery=new MsgQuery(); | |
1367 | + msgQuery.setId(model.getId()); | |
1368 | + msgQuery.setYn(1); | |
1369 | + | |
1370 | + List<MsgModel> list= courseEvalService.queryMsgList(msgQuery); | |
1371 | + MsgModel msgModel= list.get(0); | |
1171 | 1372 | BaseResponse objectResponse = new BaseResponse(); |
1373 | + if (msgModel==null ||(msgModel.getStatus()!=null && msgModel.getStatus()==1)){ | |
1374 | + objectResponse.setErrorcode(-1); | |
1375 | + objectResponse.setErrormsg("已经发布的通知不能做修改"); | |
1376 | + return objectResponse; | |
1377 | + } | |
1378 | + | |
1172 | 1379 | Date day=new Date(); |
1173 | 1380 | SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
1174 | 1381 | String format = df.format(day); |
1175 | 1382 | model.setModified(format); |
1176 | 1383 | model.setState(0); |
1177 | - model.setYn(YnEnums.YES.getId()); | |
1178 | 1384 | //操作人为当前用户id |
1179 | 1385 | model.setPublishId(userId); |
1180 | - model.setHospitalId(model.getHospitalId()); | |
1181 | 1386 | |
1182 | - | |
1183 | 1387 | courseEvalService.updateMsg(model); |
1184 | 1388 | |
1185 | - | |
1186 | 1389 | objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); |
1187 | 1390 | objectResponse.setErrormsg("成功"); |
1188 | 1391 | return objectResponse; |
... | ... | @@ -1190,6 +1393,19 @@ |
1190 | 1393 | |
1191 | 1394 | public BaseResponse deleteMsgById(String id) { |
1192 | 1395 | BaseResponse objectResponse = new BaseResponse(); |
1396 | + | |
1397 | + MsgQuery msgQuery=new MsgQuery(); | |
1398 | + msgQuery.setId(id); | |
1399 | + msgQuery.setYn(1); | |
1400 | + | |
1401 | + List<MsgModel> list= courseEvalService.queryMsgList(msgQuery); | |
1402 | + MsgModel msgModel= list.get(0); | |
1403 | + if (msgModel==null || (msgModel.getStatus()!=null &&msgModel.getStatus()==1)){ | |
1404 | + objectResponse.setErrorcode(-1); | |
1405 | + objectResponse.setErrormsg("已经发布的通知不能删除"); | |
1406 | + return objectResponse; | |
1407 | + } | |
1408 | + | |
1193 | 1409 | Date day=new Date(); |
1194 | 1410 | SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
1195 | 1411 | String format = df.format(day); |
1196 | 1412 | |
1197 | 1413 | |
... | ... | @@ -1208,12 +1424,15 @@ |
1208 | 1424 | return objectResponse; |
1209 | 1425 | } |
1210 | 1426 | |
1211 | - public BaseResponse getMsgList() { | |
1427 | + public BaseResponse getMsgList(String patientId,Integer limit,Integer page) { | |
1212 | 1428 | MsgQuery msgQuery = new MsgQuery(); |
1213 | 1429 | msgQuery.setYn(YnEnums.YES.getId()); |
1214 | 1430 | msgQuery.setNeed("true"); |
1431 | + msgQuery.setLimit(limit); | |
1432 | + msgQuery.setPage(page); | |
1433 | + msgQuery.setParentId(patientId); | |
1215 | 1434 | BaseListResponse objectResponse = new BaseListResponse(); |
1216 | - List<MsgModel> models = courseEvalService.queryMsgList(msgQuery); | |
1435 | + List<MsgModelRecord> models= courseEvalService.queryMsgRecordList(msgQuery); | |
1217 | 1436 | objectResponse.setData(models); |
1218 | 1437 | objectResponse.setPageInfo(msgQuery.getPageInfo()); |
1219 | 1438 | objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); |
1220 | 1439 | |
1221 | 1440 | |
1222 | 1441 | |
1223 | 1442 | |
1224 | 1443 | |
... | ... | @@ -1221,60 +1440,38 @@ |
1221 | 1440 | return objectResponse; |
1222 | 1441 | } |
1223 | 1442 | |
1224 | - public BaseResponse getMsgById(String msgId, String parentId) { | |
1443 | + public BaseResponse getMsgById(String msgId) { | |
1225 | 1444 | MsgQuery msgQuery = new MsgQuery(); |
1226 | 1445 | msgQuery.setYn(YnEnums.YES.getId()); |
1227 | - msgQuery.setNeed("true"); | |
1228 | 1446 | msgQuery.setId(msgId); |
1229 | - BaseListResponse objectResponse = new BaseListResponse(); | |
1230 | - List<MsgModel> models = courseEvalService.queryMsgList(msgQuery); | |
1231 | - for (MsgModel model : models) { | |
1232 | - if (parentId!=null){ | |
1233 | - String readCount = model.getReadCount(); | |
1234 | - //判断此条信息有没有值 | |
1235 | - if (readCount==null || readCount==""){ | |
1236 | - //如果没有值,直接添加数据 | |
1237 | - model.setReadCount(parentId); | |
1238 | - model.setReadNum(1); | |
1239 | - courseEvalService.updateMsgReadCount(model); | |
1240 | - }else{ | |
1241 | - // 判断 parentId 是否存在于 readCount 中 | |
1242 | - if (!readCount.contains(parentId)) { | |
1243 | - // 如果不存在,执行下面的逻辑 | |
1244 | - // 继续添加 parentId,并设置到 model 中 | |
1245 | - readCount += "," + parentId; | |
1246 | - model.setReadCount(readCount); | |
1247 | - | |
1248 | - int commaCount = readCount.split(",").length-1; | |
1249 | - // 统计逗号数量,用于计算字段数量 | |
1250 | - //int commaCount = 0; | |
1251 | - //for (int i = 0; i < readCount.length(); i++) { | |
1252 | - // if (readCount.charAt(i) == ',') { | |
1253 | - // commaCount++; | |
1254 | - // } | |
1255 | - //} | |
1256 | - | |
1257 | - // 计算字段数量 | |
1258 | - //int fieldCount = commaCount + 1; | |
1259 | - model.setReadNum(commaCount+1); | |
1260 | - // 更新消息阅读量 | |
1261 | - courseEvalService.updateMsgReadCount(model); | |
1262 | - } | |
1263 | - } | |
1264 | - } | |
1447 | + BaseResponse objectResponse = new BaseResponse(); | |
1448 | + List<MsgModelRecord> models = courseEvalService.queryMsgRecordList(msgQuery); | |
1449 | + MsgModelRecord msgModelRecord= models.get(0); | |
1450 | + if (msgModelRecord.getState()==0){ | |
1451 | + msgModelRecord.setState(1); | |
1452 | + Update update= MongoConvertHelper | |
1453 | + .convertToNativeUpdate(ReflectionUtils.getUpdateField(msgModelRecord)); | |
1454 | + mongoTemplate.updateMulti(msgQuery.convertToQuery().convertToMongoQuery(),update, MsgModelRecord.class); | |
1455 | + msgQuery.setId(msgModelRecord.getMsgId()); | |
1456 | + List<MsgModel> msgModels= courseEvalService.queryMsgList(msgQuery); | |
1457 | + MsgModel msgModel= msgModels.get(0); | |
1458 | + msgModel.setReadNum(msgModel.getReadNum()+1); | |
1459 | + courseEvalService.updateMsg(msgModel); | |
1265 | 1460 | } |
1266 | - objectResponse.setData(models); | |
1267 | - objectResponse.setPageInfo(msgQuery.getPageInfo()); | |
1461 | + objectResponse.setObject(msgModelRecord); | |
1268 | 1462 | objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); |
1269 | 1463 | objectResponse.setErrormsg("成功"); |
1270 | 1464 | return objectResponse; |
1271 | 1465 | } |
1272 | 1466 | |
1273 | 1467 | public BaseResponse getMsgCountById(String parentId) { |
1274 | - BaseListResponse baseResponse = new BaseListResponse(); | |
1468 | + BaseResponse baseResponse = new BaseResponse(); | |
1275 | 1469 | MsgQuery msgQuery = new MsgQuery(); |
1276 | 1470 | msgQuery.setYn(YnEnums.YES.getId()); |
1277 | - msgQuery.setNeed("true"); | |
1471 | + msgQuery.setState(0); | |
1472 | + msgQuery.setParentId(parentId); | |
1473 | + List<MsgModelRecord> models = courseEvalService.queryMsgRecordList(msgQuery); | |
1474 | + /* msgQuery.setNeed("true"); | |
1278 | 1475 | List<MsgModel> models = courseEvalService.queryMsgList(msgQuery); |
1279 | 1476 | // 初始化计数器 |
1280 | 1477 | int notContainCount = 0; |
... | ... | @@ -1287,8 +1484,8 @@ |
1287 | 1484 | // readCount 为空,或者不包含当前登录人的 ID,则增加计数器 |
1288 | 1485 | notContainCount++; |
1289 | 1486 | } |
1290 | - } | |
1291 | - baseResponse.setData(Collections.singletonList(notContainCount)); | |
1487 | + }*/ | |
1488 | + baseResponse.setObject(models.size()); | |
1292 | 1489 | baseResponse.setErrorcode(ErrorCodeConstants.SUCCESS); |
1293 | 1490 | baseResponse.setErrormsg("成功"); |
1294 | 1491 | return baseResponse; |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/CourseRequest.java
View file @
5128196
... | ... | @@ -16,6 +16,8 @@ |
16 | 16 | |
17 | 17 | //课程地址 |
18 | 18 | private String courseAddress; |
19 | + //听课方式 1线上 2现场 | |
20 | + private Integer courseType; | |
19 | 21 | |
20 | 22 | //课程时间 |
21 | 23 | private String courseTime; |
... | ... | @@ -42,6 +44,14 @@ |
42 | 44 | private String courseEndTime; |
43 | 45 | |
44 | 46 | private String courseVideo; |
47 | + | |
48 | + public Integer getCourseType() { | |
49 | + return courseType; | |
50 | + } | |
51 | + | |
52 | + public void setCourseType(Integer courseType) { | |
53 | + this.courseType = courseType; | |
54 | + } | |
45 | 55 | |
46 | 56 | public String getCourseVideo() { |
47 | 57 | return courseVideo; |