Commit 5128196eacc8ea12a920a6da624db611f941dcde

Authored by zhangchao
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 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;