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 cd85a69..d626e9b 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 @@ -1,5 +1,6 @@ package com.lyms.platform.permission.dao.master; +import com.lyms.platform.permission.model.UserScore; import com.lyms.platform.permission.model.Users; import com.lyms.platform.permission.model.UsersQuery; @@ -23,4 +24,5 @@ public interface MasterUsersMapper { public List getUsersByLoginCenterId(Integer id); + void addUserScore(UserScore userScore); } \ No newline at end of file diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/model/UserScore.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/UserScore.java new file mode 100644 index 0000000..f17b17c --- /dev/null +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/UserScore.java @@ -0,0 +1,64 @@ +package com.lyms.platform.permission.model; + +import java.util.Date; + +/** + * Created by Administrator on 2018-10-19. + */ +public class UserScore { + + private Integer id; + private Integer userId; + private String courseId; + private String patientCourseId; + private Integer score; + private Date created; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getUserId() { + return userId; + } + + public void setUserId(Integer userId) { + this.userId = userId; + } + + public String getCourseId() { + return courseId; + } + + public void setCourseId(String courseId) { + this.courseId = courseId; + } + + public String getPatientCourseId() { + return patientCourseId; + } + + public void setPatientCourseId(String patientCourseId) { + this.patientCourseId = patientCourseId; + } + + public Integer getScore() { + return score; + } + + public void setScore(Integer score) { + this.score = score; + } + + public Date getCreated() { + return created; + } + + public void setCreated(Date created) { + this.created = created; + } +} 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 d29fd47..97e3c4a 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 @@ -1,5 +1,6 @@ package com.lyms.platform.permission.service; +import com.lyms.platform.permission.model.UserScore; import com.lyms.platform.permission.model.Users; import com.lyms.platform.permission.model.UsersQuery; @@ -22,4 +23,5 @@ public interface UsersService { public Users getUsersByLoginCenterId(Integer id); + void addUserScore(UserScore userScore); } \ 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 beb415f..358080d 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 @@ -9,6 +9,7 @@ import com.lyms.platform.common.utils.CacheHelper; import com.lyms.platform.permission.DataAccessLayerService; import com.lyms.platform.permission.dao.master.MasterUsersMapper; import com.lyms.platform.permission.dao.slave.UsersMapper; +import com.lyms.platform.permission.model.UserScore; import com.lyms.platform.permission.model.Users; import com.lyms.platform.permission.model.UsersQuery; import com.lyms.platform.permission.service.UsersService; @@ -101,4 +102,9 @@ public class UsersServiceImpl extends DataAccessLayerService implements UsersSer } return null; } + + @Override + public void addUserScore(UserScore userScore) { + usersMapper.addUserScore(userScore); + } } \ 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 c29a2b5..d79ea9e 100644 --- a/platform-biz-service/src/main/resources/mainOrm/master/MasterUsers.xml +++ b/platform-biz-service/src/main/resources/mainOrm/master/MasterUsers.xml @@ -320,4 +320,13 @@ select id,logincenter_id,type,org_id,dept_id,name,account,pwd,phone,publish_id,p + + insert into lyms_user_score + (user_id,course_id,patient_course_id,score,created) + values + (#{userId},#{courseId},#{patientCourseId},#{score},#{created}) + + + + \ No newline at end of file diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/CourseEvaluateModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/CourseEvaluateModel.java index 09b2288..a940d0a 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/CourseEvaluateModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/CourseEvaluateModel.java @@ -39,6 +39,9 @@ public class CourseEvaluateModel extends BaseModel { //医院id private String hospitalId; + //课程主讲 + private String courseSpeaker; + //孕妇预约课程id private String patientCourseId; @@ -47,6 +50,45 @@ public class CourseEvaluateModel extends BaseModel { private Date modified; private Date created; + //医生总分数 + private Integer score; + //医人数 + private Integer numbers; + //医平均分数 + private Integer avg; + + public String getCourseSpeaker() { + return courseSpeaker; + } + + public void setCourseSpeaker(String courseSpeaker) { + this.courseSpeaker = courseSpeaker; + } + + public Integer getScore() { + return score; + } + + public void setScore(Integer score) { + this.score = score; + } + + public Integer getNumbers() { + return numbers; + } + + public void setNumbers(Integer numbers) { + this.numbers = numbers; + } + + public Integer getAvg() { + return avg; + } + + public void setAvg(Integer avg) { + this.avg = avg; + } + public Date getModified() { return modified; } diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/CourseTypeModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/CourseTypeModel.java index 14b9bef..edf0c74 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/CourseTypeModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/CourseTypeModel.java @@ -35,6 +35,37 @@ public class CourseTypeModel extends BaseModel { private Integer yn; + //总分数 + private Integer score; + //人数 + private Integer numbers; + //平均分数 + private Integer avg; + + public Integer getScore() { + return score; + } + + public void setScore(Integer score) { + this.score = score; + } + + public Integer getNumbers() { + return numbers; + } + + public void setNumbers(Integer numbers) { + this.numbers = numbers; + } + + public Integer getAvg() { + return avg; + } + + public void setAvg(Integer avg) { + this.avg = avg; + } + public Integer getYn() { return yn; } 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 0c5c939..5ddeb62 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 @@ -19,6 +19,7 @@ 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.UserScore; import com.lyms.platform.permission.model.Users; import com.lyms.platform.permission.service.UsersService; import com.lyms.platform.pojo.*; @@ -401,7 +402,7 @@ public class CourseFacade { System.out.println("course====" + patientCourseModel.getPhone()); query1.setYn(YnEnums.YES.getId()); query1.setId(patientCourseModel.getCourseId()); - List courseModels1 = courseService.queryCourseList(query); + List courseModels1 = courseService.queryCourseList(query1); String speaker = ""; if (CollectionUtils.isNotEmpty(courseModels1)) { @@ -688,14 +689,41 @@ public class CourseFacade { } public BaseResponse addCoureseEval(CourseEvaluateModel model) { + + CourseModel courseModel = courseService.getCourseById(model.getCourseId()); + dealScore(courseModel, model); BaseResponse objectResponse = new BaseResponse(); + model.setCourseSpeaker(courseModel.getCourseSpeaker()); model.setCreated(new Date()); model.setModified(new Date()); model.setEvaluateDate(new Date()); model.setYn(YnEnums.YES.getId()); + UserScore userScore = new UserScore(); + userScore.setScore(model.getScore()); + userScore.setCourseId(model.getCourseId()); + userScore.setPatientCourseId(model.getPatientCourseId()); + userScore.setUserId(StringUtils.isNumeric(courseModel.getCourseSpeaker()) ? Integer.parseInt(courseModel.getCourseSpeaker()) : null); + usersService.addUserScore(userScore); + courseEvalService.addCourseEval(model); objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); objectResponse.setErrormsg("成功"); return objectResponse; } + + public synchronized void dealScore(CourseModel courseModel,CourseEvaluateModel model) + { + if (courseModel != null) + { + CourseTypeQuery courseTypeQuery = new CourseTypeQuery(); + courseTypeQuery.setYn(YnEnums.YES.getId()); + courseTypeQuery.setId(courseModel.getCourseTypeId()); + List courseTypeModels = courseTypeService.queryCourseTypeList(courseTypeQuery); + CourseTypeModel courseTypeModel = courseTypeModels.get(0); + courseTypeModel.setScore(courseTypeModel.getScore() == null ? 0 : (courseTypeModel.getScore()+model.getCourseTypeSocre())); + courseTypeModel.setNumbers(courseTypeModel.getNumbers() == null ? 0 : (courseTypeModel.getNumbers() + 1)); + courseTypeModel.setAvg(courseTypeModel.getNumbers() / courseTypeModel.getScore()); + courseTypeService.updateCourseType(courseTypeModel); + } + } } \ No newline at end of file