diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/CourseEvalService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/CourseEvalService.java index 193793f..09fd875 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/CourseEvalService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/CourseEvalService.java @@ -30,7 +30,7 @@ public class CourseEvalService { courseEvalQuery.mysqlBuild(courseEvalDao.queryCourseEvalListCount(courseEvalQuery.convertToQuery())); query.start(courseEvalQuery.getOffset()).end(courseEvalQuery.getLimit()); } - return courseEvalDao.queryCourseEvalList(query.addOrder(Sort.Direction.DESC, "modified")); + return courseEvalDao.queryCourseEvalList(query.addOrder(Sort.Direction.DESC, "created")); } diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/MasterUsersMapper.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/MasterUsersMapper.java index d626e9b..5ccda02 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/MasterUsersMapper.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/MasterUsersMapper.java @@ -25,4 +25,6 @@ public interface MasterUsersMapper { void addUserScore(UserScore userScore); + + Integer findUserAvgScore(Integer userId); } \ No newline at end of file diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/UsersService.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/UsersService.java index 97e3c4a..27beada 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/UsersService.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/UsersService.java @@ -24,4 +24,6 @@ public interface UsersService { public Users getUsersByLoginCenterId(Integer id); void addUserScore(UserScore userScore); + + Integer findUserAvgScore(Integer i); } \ No newline at end of file diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/UsersServiceImpl.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/UsersServiceImpl.java index 358080d..1df7fef 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/UsersServiceImpl.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/UsersServiceImpl.java @@ -107,4 +107,9 @@ public class UsersServiceImpl extends DataAccessLayerService implements UsersSer public void addUserScore(UserScore userScore) { usersMapper.addUserScore(userScore); } + + @Override + public Integer findUserAvgScore(Integer userId) { + return usersMapper.findUserAvgScore(userId); + } } \ No newline at end of file diff --git a/platform-biz-service/src/main/resources/mainOrm/master/MasterUsers.xml b/platform-biz-service/src/main/resources/mainOrm/master/MasterUsers.xml index d79ea9e..fcd47a0 100644 --- a/platform-biz-service/src/main/resources/mainOrm/master/MasterUsers.xml +++ b/platform-biz-service/src/main/resources/mainOrm/master/MasterUsers.xml @@ -327,6 +327,9 @@ select id,logincenter_id,type,org_id,dept_id,name,account,pwd,phone,publish_id,p (#{userId},#{courseId},#{patientCourseId},#{score},#{created}) - + \ No newline at end of file diff --git a/platform-dal/src/main/java/com/lyms/platform/query/CourseEvalQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/CourseEvalQuery.java index 3e16b96..ae8a0a5 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/CourseEvalQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/CourseEvalQuery.java @@ -9,6 +9,7 @@ import org.springframework.data.mongodb.core.query.Criteria; import java.util.Date; import java.util.List; +import java.util.Map; /** * 孕妇课程评分查询 @@ -16,70 +17,21 @@ import java.util.List; public class CourseEvalQuery extends BaseQuery implements IConvertToNativeQuery { private String id; + //课程id + private String courseId; - //课程名称 - private String courseName; - //课程主讲 - private String courseSpeaker; - - //课程地址 - private String courseAddress; - - //课程时间 - private Date courseTimeStart; - - private Date courseTimeEnd; - - //课程发布时间 - private Date publishTimeStart; - - private Date publishTimeEnd; - - //时长 - private String timeLong; - - //上线人数 - private Integer limitNum; - - //报名人数 - private Integer enrolmentNum; - - //签到人数 - private Integer signNum; - - //状态 1待发布,2 已发布,3已结束 - private Integer status; - - //课程描述 - private String courseDesc; - //课程备注 - private String courseRemark; - - //课程类别id - private String courseTypeId; - - //创建人id - private String createUserId; - - //发布人id - private String publishUserId; + //孕妇id + private String patientId; + //医院id + private String hospitalId; - private Date createdStart; - private Date createdEnd; - private Date modifiedStart; - private Date modifiedEnd; + //孕妇预约课程id + private String patientCourseId; private Integer yn; - private String hospitalId; - private List hospitalIds; - - private Date courseEndTime; - private String keyword; - - private boolean isSend; @Override public MongoQuery convertToQuery() { @@ -87,180 +39,29 @@ public class CourseEvalQuery extends BaseQuery implements IConvertToNativeQuery if (null != id) { condition = condition.and("id", id, MongoOper.IS); } - if (null != yn) { condition = condition.and("yn", yn, MongoOper.IS); } - - if (null != courseName) { - condition = condition.and("courseName", courseName, MongoOper.IS); - } - - - if (null != courseTypeId) { - condition = condition.and("courseTypeId", courseTypeId, MongoOper.IS); - } - - - if (null != courseSpeaker) { - condition = condition.and("courseSpeaker", courseSpeaker, MongoOper.IS); + if (null != patientId) { + condition = condition.and("patientId", patientId, MongoOper.IS); } - - if (null != hospitalId) { condition = condition.and("hospitalId", hospitalId, MongoOper.IS); } - - - if (null != createUserId) { - condition = condition.and("createUserId", createUserId, MongoOper.IS); - } - - if (null != status) { - condition = condition.and("status", status, MongoOper.IS); - } - - if (isSend) { - condition = condition.and("isSend", false, MongoOper.EXISTS); - } - - if (null != courseEndTime) { - condition = condition.and("courseEndTime", courseEndTime, MongoOper.LTE); - } - - if (null != keyword) - { - MongoCondition con1 = MongoCondition.newInstance("courseSpeaker", keyword, MongoOper.LIKE); - MongoCondition con = MongoCondition.newInstance("courseName", keyword, MongoOper.LIKE); - condition = condition.orCondition(new MongoCondition[]{con1, con}); + if (null != courseId) { + condition = condition.and("courseId", courseId, MongoOper.IS); } - - if (null != hospitalIds && hospitalIds.size() > 0) { - condition = condition.and("hospitalId", hospitalIds, MongoOper.IN); + if (null != patientCourseId) { + condition = condition.and("patientCourseId", patientCourseId, MongoOper.IS); } - - -// if (null != keyword && null != hospitalIds && hospitalIds.size() > 0) { -// MongoCondition con1 = MongoCondition.newInstance("courseSpeaker", keyword, MongoOper.LIKE); -// MongoCondition con = MongoCondition.newInstance("courseName", keyword, MongoOper.LIKE); -// MongoCondition condition2 = MongoCondition.newInstance("hospitalId", hospitalIds, MongoOper.IN); -// condition = condition.orCondition(new MongoCondition[]{con1, con,condition2}); -// } -// else if (null != keyword) -// { -// MongoCondition con1 = MongoCondition.newInstance("courseSpeaker", keyword, MongoOper.LIKE); -// MongoCondition con = MongoCondition.newInstance("courseName", keyword, MongoOper.LIKE); -// condition = condition.orCondition(new MongoCondition[]{con1, con}); -// } -// else if (null != hospitalIds && hospitalIds.size() > 0) { -// condition = condition.and("hospitalId", hospitalIds, MongoOper.IN); -// } - Criteria c1 = null; - if (null != courseTimeStart) { - if (null != c1) { - c1 = c1.and("courseTime").gte(courseTimeStart); - } else { - c1 = Criteria.where("courseTime").gte(courseTimeStart); - } - } - - if (null != courseTimeEnd) { - if (null != c1) { - c1 = c1.lte(courseTimeEnd); - } else { - c1 = Criteria.where("courseTime").lte(courseTimeEnd); - } - } - - - if (null != publishTimeStart) { - if (null != c1) { - c1 = c1.and("publishTime").gte(publishTimeStart); - } else { - c1 = Criteria.where("publishTime").gte(publishTimeStart); - } - } - - if (null != publishTimeEnd) { - if (null != c1) { - c1 = c1.lte(publishTimeEnd); - } else { - c1 = Criteria.where("publishTime").lte(publishTimeEnd); - } - } - - if (null != createdStart) { - if (null != c1) { - c1 = c1.and("created").gte(createdStart); - } else { - c1 = Criteria.where("created").gte(createdStart); - } - } - - if (null != createdEnd) { - if (null != c1) { - c1 = c1.lte(createdEnd); - } else { - c1 = Criteria.where("created").lte(createdEnd); - } - } - if (null != c1) { condition = condition.andCondition(new MongoCondition(c1)); } return condition.toMongoQuery(); } - public Date getPublishTimeStart() { - return publishTimeStart; - } - - public void setPublishTimeStart(Date publishTimeStart) { - this.publishTimeStart = publishTimeStart; - } - - public Date getPublishTimeEnd() { - return publishTimeEnd; - } - - public void setPublishTimeEnd(Date publishTimeEnd) { - this.publishTimeEnd = publishTimeEnd; - } - - public boolean isSend() { - return isSend; - } - - public void setIsSend(boolean isSend) { - this.isSend = isSend; - } - - public String getKeyword() { - return keyword; - } - - public void setKeyword(String keyword) { - this.keyword = keyword; - } - - public List getHospitalIds() { - return hospitalIds; - } - - public void setHospitalIds(List hospitalIds) { - this.hospitalIds = hospitalIds; - } - - public Date getCourseEndTime() { - return courseEndTime; - } - - public void setCourseEndTime(Date courseEndTime) { - this.courseEndTime = courseEndTime; - } - public String getId() { return id; } @@ -269,156 +70,36 @@ public class CourseEvalQuery extends BaseQuery implements IConvertToNativeQuery this.id = id; } - public String getCourseName() { - return courseName; - } - - public void setCourseName(String courseName) { - this.courseName = courseName; - } - - public String getCourseSpeaker() { - return courseSpeaker; - } - - public void setCourseSpeaker(String courseSpeaker) { - this.courseSpeaker = courseSpeaker; - } - - public String getCourseAddress() { - return courseAddress; - } - - public void setCourseAddress(String courseAddress) { - this.courseAddress = courseAddress; - } - - public Date getCourseTimeStart() { - return courseTimeStart; - } - - public void setCourseTimeStart(Date courseTimeStart) { - this.courseTimeStart = courseTimeStart; - } - - public Date getCourseTimeEnd() { - return courseTimeEnd; + public String getCourseId() { + return courseId; } - public void setCourseTimeEnd(Date courseTimeEnd) { - this.courseTimeEnd = courseTimeEnd; + public void setCourseId(String courseId) { + this.courseId = courseId; } - public String getTimeLong() { - return timeLong; + public String getPatientId() { + return patientId; } - public void setTimeLong(String timeLong) { - this.timeLong = timeLong; + public void setPatientId(String patientId) { + this.patientId = patientId; } - public Integer getLimitNum() { - return limitNum; - } - - public void setLimitNum(Integer limitNum) { - this.limitNum = limitNum; - } - - public Integer getEnrolmentNum() { - return enrolmentNum; - } - - public void setEnrolmentNum(Integer enrolmentNum) { - this.enrolmentNum = enrolmentNum; - } - - public Integer getSignNum() { - return signNum; - } - - public void setSignNum(Integer signNum) { - this.signNum = signNum; - } - - public Integer getStatus() { - return status; - } - - public void setStatus(Integer status) { - this.status = status; - } - - public String getCourseDesc() { - return courseDesc; - } - - public void setCourseDesc(String courseDesc) { - this.courseDesc = courseDesc; - } - - public String getCourseRemark() { - return courseRemark; - } - - public void setCourseRemark(String courseRemark) { - this.courseRemark = courseRemark; - } - - public String getCourseTypeId() { - return courseTypeId; - } - - public void setCourseTypeId(String courseTypeId) { - this.courseTypeId = courseTypeId; - } - - public String getCreateUserId() { - return createUserId; - } - - public void setCreateUserId(String createUserId) { - this.createUserId = createUserId; - } - - public String getPublishUserId() { - return publishUserId; - } - - public void setPublishUserId(String publishUserId) { - this.publishUserId = publishUserId; - } - - public Date getCreatedStart() { - return createdStart; - } - - public void setCreatedStart(Date createdStart) { - this.createdStart = createdStart; - } - - public Date getCreatedEnd() { - return createdEnd; - } - - public void setCreatedEnd(Date createdEnd) { - this.createdEnd = createdEnd; - } - - public Date getModifiedStart() { - return modifiedStart; + public String getHospitalId() { + return hospitalId; } - public void setModifiedStart(Date modifiedStart) { - this.modifiedStart = modifiedStart; + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; } - public Date getModifiedEnd() { - return modifiedEnd; + public String getPatientCourseId() { + return patientCourseId; } - public void setModifiedEnd(Date modifiedEnd) { - this.modifiedEnd = modifiedEnd; + public void setPatientCourseId(String patientCourseId) { + this.patientCourseId = patientCourseId; } public Integer getYn() { @@ -428,12 +109,4 @@ public class CourseEvalQuery extends BaseQuery implements IConvertToNativeQuery public void setYn(Integer yn) { this.yn = yn; } - - public String getHospitalId() { - return hospitalId; - } - - public void setHospitalId(String hospitalId) { - this.hospitalId = hospitalId; - } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CourseController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CourseController.java index 4c79a85..697c885 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CourseController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CourseController.java @@ -206,4 +206,22 @@ public class CourseController extends BaseController { return courseFacade.addCoureseEval(model); } + + + /** + * 院内系统查询课程评价列表 + * @param courseId + * @param request + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/queryCourseEvalList") + @ResponseBody + public BaseResponse queryCourseEvalList(@RequestParam String courseId, + @RequestParam Integer page, + @RequestParam Integer limit, + HttpServletRequest request) { + + return courseFacade.queryCourseEvalList(courseId, page, limit); + } + } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/CourseFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/CourseFacade.java index 6ab7afd..36527d7 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/CourseFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/CourseFacade.java @@ -2,10 +2,7 @@ package com.lyms.platform.operate.web.facade; import com.lyms.platform.beans.MsgRequest; -import com.lyms.platform.biz.service.CourseEvalService; -import com.lyms.platform.biz.service.CourseService; -import com.lyms.platform.biz.service.CourseTypeService; -import com.lyms.platform.biz.service.PatientCourseService; +import com.lyms.platform.biz.service.*; import com.lyms.platform.common.constants.ErrorCodeConstants; import com.lyms.platform.common.enums.*; import com.lyms.platform.common.result.BaseListResponse; @@ -19,10 +16,12 @@ import com.lyms.platform.operate.web.result.CourseTypeResult; import com.lyms.platform.operate.web.utils.BabyListTask; import com.lyms.platform.operate.web.utils.MessageCenterService; import com.lyms.platform.operate.web.worker.CourseCountWorker; +import com.lyms.platform.permission.model.PatientService; import com.lyms.platform.permission.model.UserScore; import com.lyms.platform.permission.model.Users; import com.lyms.platform.permission.service.UsersService; import com.lyms.platform.pojo.*; +import com.lyms.platform.query.CourseEvalQuery; import com.lyms.platform.query.CourseQuery; import com.lyms.platform.query.CourseTypeQuery; import com.lyms.platform.query.PatientCourseQuery; @@ -71,6 +70,9 @@ public class CourseFacade { private CourseEvalService courseEvalService; @Autowired + private PatientsService patientsService; + + @Autowired @Qualifier("commonThreadPool") private ThreadPoolTaskExecutor commonThreadPool; @@ -186,10 +188,19 @@ public class CourseFacade { if (CollectionUtils.isNotEmpty(typeModels)) { courseType = typeModels.get(0).getCourseTypeName(); + result.setCourseTypeAvg(typeModels.get(0).getAvg()); } result.setCourseType(courseType); result.setCourseTypeId(model.getCourseTypeId()); + Integer docAvg = null; + if (model.getCourseSpeaker() != null && StringUtils.isNumeric(model.getCourseSpeaker())) + { + docAvg = usersService.findUserAvgScore(Integer.parseInt(model.getCourseSpeaker())); + } + + result.setCourseDocAvg(docAvg); + result.setCourseName(model.getCourseName()); String courseSpeakerName = model.getCourseSpeaker(); if (model.getCourseSpeaker() != null && StringUtils.isNumeric(model.getCourseSpeaker())) @@ -726,4 +737,40 @@ public class CourseFacade { courseTypeService.updateCourseType(courseTypeModel); } } + + public BaseResponse queryCourseEvalList(String courseId,Integer page,Integer limit) { + + CourseEvalQuery courseEvalQuery = new CourseEvalQuery(); + courseEvalQuery.setYn(YnEnums.YES.getId()); + courseEvalQuery.setCourseId(courseId); + courseEvalQuery.setNeed("true"); + courseEvalQuery.setLimit(limit); + courseEvalQuery.setPage(page); + BaseListResponse objectResponse = new BaseListResponse(); + List resultData = new ArrayList<>(); + List courseEvaluateModels = courseEvalService.queryCourseEvalList(courseEvalQuery); + if (CollectionUtils.isNotEmpty(courseEvaluateModels)) + { + for (CourseEvaluateModel eval : courseEvaluateModels) + { + Map map = new HashMap(); + map.put("id",eval.getId()); + map.put("courseScore",eval.getCourseTypeSocre()); + map.put("docScore",eval.getCourseDocSocre()); + map.put("evalDate",DateUtil.getyyyy_MM_dd_hms(eval.getEvaluateDate())); + String name = ""; + Patients pat = patientsService.findOnePatientById(eval.getPatientId()); + if (pat != null) + { + name = pat.getUsername(); + } + map.put("name", name); + } + } + objectResponse.setData(resultData); + objectResponse.setPageInfo(courseEvalQuery.getPageInfo()); + objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); + objectResponse.setErrormsg("成功"); + return objectResponse; + } } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/CourseTypeFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/CourseTypeFacade.java index 3f54696..549fb38 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/CourseTypeFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/CourseTypeFacade.java @@ -110,6 +110,7 @@ public class CourseTypeFacade { createUser = users.getName(); } result.setCreateUser(createUser); + result.setAvg(model.getAvg()); results.add(result); } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/CourseResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/CourseResult.java index cf82f99..640115f 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/CourseResult.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/CourseResult.java @@ -53,6 +53,25 @@ public class CourseResult { private Integer courseObjId; + private Integer courseTypeAvg; + private Integer courseDocAvg; + + public Integer getCourseTypeAvg() { + return courseTypeAvg; + } + + public void setCourseTypeAvg(Integer courseTypeAvg) { + this.courseTypeAvg = courseTypeAvg; + } + + public Integer getCourseDocAvg() { + return courseDocAvg; + } + + public void setCourseDocAvg(Integer courseDocAvg) { + this.courseDocAvg = courseDocAvg; + } + public Integer getCourseObjId() { return courseObjId; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/CourseTypeResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/CourseTypeResult.java index 02b81fc..389c8fc 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/CourseTypeResult.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/CourseTypeResult.java @@ -19,6 +19,15 @@ public class CourseTypeResult { private String createUser; private String created; + private Integer avg; + + public Integer getAvg() { + return avg; + } + + public void setAvg(Integer avg) { + this.avg = avg; + } public String getId() { return id;