From 068fc7f2e81178e55fa191a13709af64b1a163f6 Mon Sep 17 00:00:00 2001
From: EricsHu <hrr145632>
Date: 星期一, 05 十二月 2022 14:27:43 +0800
Subject: [PATCH] 处理编码

---
 src/main/java/com/qxueyou/scc/school/model/SchStudyReport.java                             |   60 
 src/main/java/com/qxueyou/scc/base/util/TraceUtils.java                                    |   22 
 src/main/java/com/qxueyou/scc/controller/AttendanceController.java                         |    8 
 src/main/java/com/qxueyou/scc/exercise/model/ExerciseAnalisisResult.java                   |   34 
 src/main/java/com/qxueyou/scc/exercise/model/ExerciseFaultStatistics.java                  |    8 
 src/main/java/com/qxueyou/scc/school/model/SchClassCardTemplet.java                        |   26 
 src/main/java/com/qxueyou/scc/school/model/SchImg.java                                     |   32 
 src/main/java/com/qxueyou/scc/admin/classes/service/impl/ClsClassService.java              |   36 
 src/main/java/com/qxueyou/scc/admin/progress/model/SubjectLectureProgressDetail.java       |    2 
 src/main/java/com/qxueyou/scc/stucontroller/StuSubjectController.java                      |  206 
 src/main/java/com/qxueyou/scc/controller/ClassRoomController.java                          |   46 
 src/main/java/com/qxueyou/scc/media/model/MediaVideoStatistic.java                         |    4 
 src/main/java/com/qxueyou/scc/exam/service/impl/ExamBatchService.java                      |   28 
 src/main/java/com/qxueyou/scc/exercise/service/impl/parser/ItemAnswerParser.java           |   30 
 src/main/java/com/qxueyou/scc/school/model/SchTermReDay.java                               |   22 
 src/main/java/com/qxueyou/scc/teach/live/model/MediaVideoLiveExtend.java                   |   40 
 src/main/java/com/qxueyou/scc/school/model/InteractResultData.java                         |    8 
 src/main/java/com/qxueyou/scc/teach/res/model/ResItemVideo.java                            |   12 
 src/main/java/com/qxueyou/scc/teach/live/model/MediaVideoLiveOrder.java                    |   26 
 src/main/java/com/qxueyou/scc/teach/res/service/impl/resitem/ResItemVideoService.java      |   10 
 src/main/java/com/qxueyou/scc/school/service/impl/DocdealMsgDealService.java               |   10 
 src/main/java/com/qxueyou/scc/admin/notice/dao/NoticeDAO.java                              |    8 
 src/main/java/com/qxueyou/scc/exam/dao/ExamDaoImpl.java                                    |    2 
 src/main/java/com/qxueyou/scc/school/service/impl/SchoolDayService.java                    |   32 
 src/main/java/com/qxueyou/scc/school/service/impl/ClassCardService.java                    |   40 
 src/main/java/com/qxueyou/scc/school/model/SchInteractResult.java                          |    2 
 src/main/java/com/qxueyou/scc/org/model/OrgText.java                                       |   14 
 src/main/java/com/qxueyou/scc/teach/subject/service/impl/SubjectLectureService.java        |   16 
 src/main/java/com/qxueyou/scc/base/util/docConverterUtil.java                              |   30 
 src/main/java/com/qxueyou/scc/admin/examroom/model/ExamRoom.java                           |   12 
 src/main/java/com/qxueyou/scc/operation/comment/mode/CommentPraise.java                    |   30 
 src/main/java/com/qxueyou/scc/school/service/impl/SignService.java                         |  236 
 src/main/java/com/qxueyou/scc/school/service/impl/SpreadFootprintService.java              |    4 
 src/main/java/com/qxueyou/scc/admin/teacher/service/impl/TeacherService.java               |   16 
 src/main/java/com/qxueyou/scc/base/util/QBeanUtils.java                                    |   30 
 src/main/java/com/qxueyou/scc/school/model/SchArticleReCourse.java                         |   22 
 src/main/java/com/qxueyou/scc/exercise/action/ExerciseInfoController.java                  |  144 
 src/main/java/com/qxueyou/scc/school/dao/SignDAO.java                                      |   22 
 src/main/java/com/qxueyou/scc/base/model/ExcelExportParam.java                             |   20 
 src/main/java/com/qxueyou/scc/msg/model/Message.java                                       |   58 
 src/main/java/com/qxueyou/scc/admin/classes/dao/ClassDAO.java                              |    4 
 src/main/java/com/qxueyou/scc/exercise/service/IExerciseCorrectionService.java             |    8 
 src/main/java/com/qxueyou/scc/media/model/VideoInf.java                                    |   12 
 src/main/java/com/qxueyou/scc/base/model/ApiResult.java                                    |   30 
 src/main/java/com/qxueyou/scc/school/model/SchSpreadFootprint.java                         |   56 
 src/main/java/com/qxueyou/scc/exercise/model/ExerciseImportResult.java                     |    6 
 src/main/java/com/qxueyou/scc/base/util/RequestClientUtils.java                            |   28 
 src/main/java/com/qxueyou/scc/school/model/SchSchoolDayItem.java                           |   12 
 src/main/java/com/qxueyou/scc/school/model/SchChapter.java                                 |    2 
 src/main/java/com/qxueyou/scc/exam/action/ExamPaperSectionController.java                  |   32 
 src/main/java/com/qxueyou/scc/base/util/CollectionUtils.java                               |   12 
 src/main/java/com/qxueyou/scc/school/model/InterateAnswer.java                             |    2 
 src/main/java/com/qxueyou/scc/sys/service/IPrivilegeService.java                           |   16 
 src/main/java/com/qxueyou/scc/sys/utils/VideoUtil.java                                     |   10 
 src/main/java/com/qxueyou/scc/base/model/Result.java                                       |   18 
 src/main/java/com/qxueyou/scc/teach/subject/service/ISubjectService.java                   |  144 
 src/main/java/com/qxueyou/scc/stucontroller/StuLiveController.java                         |   24 
 src/main/java/com/qxueyou/scc/base/util/SpringUtil.java                                    |   28 
 src/main/java/com/qxueyou/scc/org/dao/OrgCourseDAO.java                                    |   12 
 src/main/java/com/qxueyou/scc/exam/action/ExamPaperController.java                         |   24 
 src/main/java/com/qxueyou/scc/exercise/service/IExerciseVerService.java                    |   40 
 src/main/java/com/qxueyou/scc/base/model/UserInfoWrapper.java                              |  124 
 src/main/java/com/qxueyou/scc/teach/live/utils/FfmpegFileVO.java                           |    4 
 src/main/java/com/qxueyou/scc/school/model/SchReClassUser.java                             |    8 
 src/main/java/com/qxueyou/scc/school/model/HandoutConverTask.java                          |   12 
 src/main/java/com/qxueyou/scc/controller/ExamRoomController.java                           |   46 
 src/main/java/com/qxueyou/scc/sms/model/Sms.java                                           |   76 
 src/main/java/com/qxueyou/scc/org/model/OrgClassReTeacher.java                             |    2 
 src/main/java/com/qxueyou/scc/base/util/CommonUtils.java                                   |   66 
 src/main/java/com/qxueyou/scc/school/service/impl/RankMsgDealService.java                  |   44 
 src/main/java/com/qxueyou/scc/exercise/model/ExerciseCorrection.java                       |   46 
 src/main/java/com/qxueyou/scc/courseware/action/CourceController.java                      |   52 
 src/main/java/com/qxueyou/scc/exercise/service/impl/node/Doc.java                          |    8 
 src/main/java/com/qxueyou/scc/school/model/SchEvaRecordRe.java                             |    6 
 src/main/java/com/qxueyou/scc/school/model/SchFile.java                                    |    2 
 src/main/java/com/qxueyou/scc/teach/student/service/IStudentService.java                   |   44 
 src/main/java/com/qxueyou/scc/controller/IndexController.java                              |    2 
 src/main/java/com/qxueyou/scc/media/model/MediaVideoRecord.java                            |   44 
 src/main/java/com/qxueyou/scc/notice/model/Notice.java                                     |  110 
 src/main/java/com/qxueyou/scc/controller/SchoolRollController.java                         |   24 
 src/main/java/com/qxueyou/scc/exam/model/ExamReExamPaper.java                              |   10 
 src/main/java/com/qxueyou/scc/sys/service/ISysAttachmentService.java                       |    6 
 src/main/java/com/qxueyou/scc/exercise/model/ExciseAnswerResult.java                       |    2 
 src/main/java/com/qxueyou/scc/exercise/model/ExerciseCorrectionImg.java                    |   10 
 src/main/java/com/qxueyou/scc/sms/model/SmsConfig.java                                     |   12 
 src/main/java/com/qxueyou/scc/media/model/MediaVideoCache.java                             |   44 
 src/main/java/com/qxueyou/scc/admin/notice/service/INoticeService.java                     |   76 
 src/main/java/com/qxueyou/scc/exercise/action/ExerciseItemController.java                  |   12 
 src/main/java/com/qxueyou/scc/org/model/DiscoverBanner.java                                |   12 
 src/main/java/com/qxueyou/scc/controller/NoticeController.java                             |   72 
 src/main/java/com/qxueyou/scc/school/dao/HandoutDAO.java                                   |   24 
 src/main/java/com/qxueyou/scc/user/service/IUserSignService.java                           |    6 
 src/main/java/com/qxueyou/scc/base/service/impl/DictionaryService.java                     |    2 
 src/main/java/com/qxueyou/scc/base/util/QFileUtils.java                                    |    4 
 src/main/java/com/qxueyou/scc/org/model/OrgBankAccount.java                                |   10 
 src/main/java/com/qxueyou/scc/school/model/SchReLessonVideo.java                           |   22 
 src/main/java/com/qxueyou/scc/teach/subject/model/Subject.java                             |   10 
 src/main/java/com/qxueyou/scc/school/model/SchHandout.java                                 |   56 
 src/main/java/com/qxueyou/scc/exercise/model/ExerciseObjectImg.java                        |    2 
 src/main/java/com/qxueyou/scc/school/service/IRankService.java                             |   44 
 src/main/java/com/qxueyou/scc/sms/model/SmsContants.java                                   |  146 
 src/main/java/com/qxueyou/scc/admin/score/action/ScoreController.java                      |    6 
 src/main/java/com/qxueyou/scc/base/util/PhoneNOUtils.java                                  |    8 
 src/main/java/com/qxueyou/scc/exam/service/impl/ExamPaperService.java                      |   18 
 src/main/java/com/qxueyou/scc/exam/model/ExamBatchInfo.java                                |   10 
 src/main/java/com/qxueyou/scc/base/service/impl/ONSExceptionLogService.java                |    4 
 src/main/java/com/qxueyou/scc/base/service/impl/RedisCacheBean.java                        |    4 
 src/main/java/com/qxueyou/scc/controller/SubjectController.java                            |  108 
 src/main/java/com/qxueyou/scc/exercise/model/ExerciseCorrectionResult.java                 |    4 
 src/main/java/com/qxueyou/scc/base/util/UUIDUtils.java                                     |   12 
 src/main/java/com/qxueyou/scc/web/AuthorizeFilter.java                                     |   18 
 src/main/java/com/qxueyou/scc/base/util/ParamsUtils.java                                   |   26 
 src/main/java/com/qxueyou/scc/exercise/model/ExciseExtendReqListData.java                  |    2 
 src/main/java/com/qxueyou/scc/exercise/action/ExerciseGroupController.java                 |   40 
 src/main/java/com/qxueyou/scc/exercise/service/IExerciseService.java                       |  148 
 src/main/java/com/qxueyou/scc/exercise/service/impl/parser/ItemParser.java                 |   36 
 src/main/java/com/qxueyou/scc/school/service/ISchoolTermService.java                       |    8 
 src/main/java/com/qxueyou/scc/exercise/model/ExerciseItemStatis.java                       |    8 
 src/main/java/com/qxueyou/scc/controller/TeacherController.java                            |   32 
 src/main/java/com/qxueyou/scc/school/model/SchSchoolYear.java                              |   10 
 src/main/java/com/qxueyou/scc/school/service/impl/CoursewareService.java                   |  120 
 src/main/java/com/qxueyou/scc/operation/topic/service/impl/TopicService.java               |   88 
 src/main/java/com/qxueyou/scc/admin/course/model/CourseScheduleReCls.java                  |    8 
 src/main/java/com/qxueyou/scc/user/model/UserSign.java                                     |   54 
 src/main/java/com/qxueyou/scc/user/service/IUserRegistrationService.java                   |   70 
 src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseGroupAccuracyDealService.java  |   20 
 src/main/java/com/qxueyou/scc/exam/dao/ExamDao.java                                        |    2 
 src/main/java/com/qxueyou/scc/stucontroller/HomePageController.java                        |   20 
 src/main/java/com/qxueyou/scc/exercise/model/ExerciseFavoriteBook.java                     |    6 
 src/main/java/com/qxueyou/scc/user/service/IUserOperateService.java                        |    4 
 src/main/java/com/qxueyou/scc/org/model/OrgCourseCategory.java                             |    6 
 src/main/java/com/qxueyou/scc/exam/service/IExamPaperService.java                          |   36 
 src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseStatisticsDealService.java     |    2 
 src/main/java/com/qxueyou/scc/evaluate/service/IEvaluateTemplateService.java               |   10 
 src/main/java/com/qxueyou/scc/exercise/service/impl/parser/DocParser.java                  |   12 
 src/main/java/com/qxueyou/scc/base/service/IONSExceptionLogService.java                    |   12 
 src/main/java/com/qxueyou/scc/base/model/WbCacheKey.java                                   |   12 
 src/main/java/com/qxueyou/scc/teach/live/model/MediaVideoLiveClip.java                     |   30 
 src/main/java/com/qxueyou/scc/media/model/SchLiveReVideo.java                              |   26 
 src/main/java/com/qxueyou/scc/base/dao/CommonRedisCache.java                               |    6 
 src/main/java/com/qxueyou/scc/sys/service/impl/PriviledgeService.java                      |   40 
 src/main/java/com/qxueyou/scc/school/dao/RankDAO.java                                      |   10 
 src/main/java/com/qxueyou/scc/org/model/OrgStudent.java                                    |   26 
 src/main/java/com/qxueyou/scc/msg/model/MsgGroupUserRe.java                                |   22 
 src/main/java/com/qxueyou/scc/base/util/WordExportUtils.java                               |   14 
 src/main/java/com/qxueyou/scc/user/service/IUserService.java                               |   56 
 src/main/java/com/qxueyou/scc/exercise/model/ExerItemResponseData.java                     |   14 
 src/main/java/com/qxueyou/scc/courseware/service/impl/CourseService.java                   |   18 
 src/main/java/com/qxueyou/scc/exercise/model/ExerciseCompleteInfo.java                     |   14 
 src/main/java/com/qxueyou/scc/base/dao/AbstractRedisTemplate.java                          |   20 
 src/main/java/com/qxueyou/scc/exercise/action/ExerciseCorrectionController.java            |   86 
 src/main/java/com/qxueyou/scc/exercise/model/ExerciseFaultRecord.java                      |    2 
 src/main/java/com/qxueyou/scc/user/service/impl/UserService.java                           |   28 
 src/main/java/com/qxueyou/scc/exercise/service/IExerciseDeepAnaService.java                |    2 
 src/main/java/com/qxueyou/scc/base/util/QueryDslOptionBuilder.java                         |   14 
 src/main/java/com/qxueyou/scc/controller/VideoLiveController.java                          |   86 
 src/main/java/com/qxueyou/scc/media/model/VideoLiveChatroom.java                           |   36 
 src/main/java/com/qxueyou/scc/operation/comment/mode/SnsMyPraise.java                      |   26 
 src/main/java/com/qxueyou/scc/user/dao/UserRoleDAO.java                                    |   18 
 src/main/java/com/qxueyou/scc/base/model/PaginationData.java                               |   40 
 src/main/java/com/qxueyou/scc/exam/model/ExamInfo.java                                     |   16 
 src/main/java/com/qxueyou/scc/msg/model/MsgUser.java                                       |   42 
 src/main/java/com/qxueyou/scc/base/service/impl/LicenseService.java                        |   12 
 src/main/java/com/qxueyou/scc/media/service/IMediaVideoService.java                        |   64 
 src/main/java/com/qxueyou/scc/controller/UserController.java                               |   34 
 src/main/java/com/qxueyou/scc/org/model/OrgBank.java                                       |    2 
 src/main/java/com/qxueyou/scc/school/model/SchYearReClass.java                             |   22 
 src/main/java/com/qxueyou/scc/school/model/SchStudentAchievement.java                      |   20 
 src/main/java/com/qxueyou/scc/teach/live/service/impl/MediaLiveService.java                |   20 
 src/main/java/com/qxueyou/scc/user/model/UserStudent.java                                  |   28 
 src/main/java/com/qxueyou/scc/base/model/WxTemplateMsg.java                                |    4 
 src/main/java/com/qxueyou/scc/school/helper/judge/CommonJudgeStrategy.java                 |    6 
 src/main/java/com/qxueyou/scc/school/service/ISchoolYearService.java                       |    8 
 src/main/java/com/qxueyou/scc/teach/res/service/IResAudioService.java                      |    8 
 src/main/java/com/qxueyou/scc/operation/topic/action/StuTopicController.java               |  208 
 src/main/java/com/qxueyou/scc/school/model/viewvo/SchSemesterViewVO.java                   |   10 
 src/main/java/com/qxueyou/scc/exercise/model/ExciseExtendResult.java                       |    2 
 src/main/java/com/qxueyou/scc/org/model/OrgClassReUser.java                                |   12 
 src/main/java/com/qxueyou/scc/exercise/model/ExerciseDeepAnalysis.java                     |   50 
 src/main/java/com/qxueyou/scc/school/helper/IJudgeUpdateStrategy.java                      |    8 
 src/main/java/com/qxueyou/scc/school/model/SchStudentSchedule.java                         |   48 
 src/main/java/com/qxueyou/scc/org/model/Organization.java                                  |    6 
 src/main/java/com/qxueyou/scc/org/service/impl/OrgClassTeacherService.java                 |    2 
 src/main/java/com/qxueyou/scc/teach/subject/model/SubjectUtils.java                        |    2 
 src/main/java/com/qxueyou/scc/media/model/MediaVideo.java                                  |  262 
 src/main/java/com/qxueyou/scc/school/model/SchHandoutReCourse.java                         |   22 
 src/main/java/com/qxueyou/scc/base/service/impl/FileUploadService.java                     |   34 
 src/main/java/com/qxueyou/scc/school/service/impl/LessonService.java                       |  146 
 src/main/java/com/qxueyou/scc/teach/live/model/MediaVideoLiveRecord.java                   |   50 
 src/main/java/com/qxueyou/scc/operation/comment/mode/SnsPraiseToMe.java                    |   26 
 src/main/java/com/qxueyou/scc/teach/res/service/impl/FileService.java                      |   16 
 src/main/java/com/qxueyou/scc/base/service/IFileUploadService.java                         |   48 
 src/main/java/com/qxueyou/scc/org/model/OrgTeacher.java                                    |    6 
 src/main/java/com/qxueyou/scc/school/service/impl/StudyReportService.java                  |   32 
 src/main/java/com/qxueyou/scc/exercise/service/IExercisePyService.java                     |    2 
 src/main/java/com/qxueyou/scc/teach/res/model/ResItemAudio.java                            |   12 
 src/main/java/com/qxueyou/scc/evaluate/service/impl/EvaluateService.java                   |  182 
 src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseGroupService.java              |  132 
 src/main/java/com/qxueyou/scc/exercise/model/ExerciseItem.java                             |   50 
 src/main/java/com/qxueyou/scc/operation/comment/mode/CommentObject.java                    |   30 
 src/main/java/com/qxueyou/scc/admin/classroom/service/IClassRoomService.java               |   46 
 src/main/java/com/qxueyou/scc/org/model/OrgClass.java                                      |   96 
 src/main/java/com/qxueyou/scc/teach/live/utils/FfmpegVideoInfo.java                        |   88 
 src/main/java/com/qxueyou/scc/school/model/SchInteract.java                                |    4 
 src/main/java/com/qxueyou/scc/base/util/ReisUtils.java                                     |    8 
 src/main/java/com/qxueyou/scc/school/service/IClassCardService.java                        |   18 
 src/main/java/com/qxueyou/scc/school/service/impl/SchSignMsgDealService.java               |    6 
 src/main/java/com/qxueyou/scc/org/service/IOrgClassService.java                            |   12 
 src/main/java/com/qxueyou/scc/evaluate/service/impl/EvaluateTemplateService.java           |   26 
 src/main/java/com/qxueyou/scc/school/model/SchSignCode.java                                |    8 
 src/main/java/com/qxueyou/scc/school/service/impl/ClassCircleService.java                  |   40 
 src/main/java/com/qxueyou/scc/exam/service/IExamService.java                               |   58 
 src/main/java/com/qxueyou/scc/school/model/SchClassCard.java                               |   38 
 src/main/java/com/qxueyou/scc/base/model/Param.java                                        |    6 
 src/main/java/com/qxueyou/scc/school/service/impl/VideoIssueStopDealService.java           |    2 
 src/main/java/com/qxueyou/scc/school/model/SchSignOrder.java                               |    2 
 src/main/java/com/qxueyou/scc/controller/CourseScheduleController.java                     |   58 
 src/main/java/com/qxueyou/scc/sys/model/ResponseResult.java                                |   76 
 src/main/java/com/qxueyou/scc/base/util/ImageUtils.java                                    |   28 
 src/main/java/com/qxueyou/scc/admin/classes/service/impl/ClassLectureService.java          |   54 
 src/main/java/com/qxueyou/scc/base/handler/QCacheReader.java                               |   12 
 src/main/java/com/qxueyou/scc/admin/progress/dao/ProgressDAO.java                          |   18 
 src/main/java/com/qxueyou/scc/exercise/action/ExerciseDeepAnaController.java               |   10 
 src/main/java/com/qxueyou/scc/exercise/action/ExerciseCompleteController.java              |   40 
 src/main/java/com/qxueyou/scc/teach/student/service/impl/StudentService.java               |  174 
 src/main/java/com/qxueyou/scc/school/model/SchSign.java                                    |   76 
 src/main/java/com/qxueyou/scc/school/model/SchTerm.java                                    |   16 
 src/main/java/com/qxueyou/scc/school/service/impl/NoteService.java                         |   42 
 src/main/java/com/qxueyou/scc/base/util/WordProcessUtils.java                              |   22 
 src/main/java/com/qxueyou/scc/school/model/SchHandoutPage.java                             |   12 
 src/main/java/com/qxueyou/scc/exercise/model/ExerciseGroupExtend.java                      |   18 
 src/main/java/com/qxueyou/scc/admin/classroom/model/ClassRoom.java                         |   12 
 src/main/java/com/qxueyou/scc/base/model/ResultJson.java                                   |   16 
 src/main/java/com/qxueyou/scc/school/model/SchClassCourseware.java                         |    2 
 src/main/java/com/qxueyou/scc/sms/utils/SmsUtils.java                                      |   36 
 src/main/java/com/qxueyou/scc/base/util/PageUtils.java                                     |    4 
 src/main/java/com/qxueyou/scc/base/util/DateUtils.java                                     |   62 
 src/main/java/com/qxueyou/scc/admin/course/model/CourseScheduleDetail.java                 |    8 
 src/main/java/com/qxueyou/scc/school/service/impl/DocdealMsgSenderService.java             |    2 
 src/main/java/com/qxueyou/scc/user/model/User.java                                         |   38 
 src/main/java/com/qxueyou/scc/school/model/StudentEvaCategory.java                         |   18 
 src/main/java/com/qxueyou/scc/user/service/impl/UserOperateService.java                    |   22 
 src/main/java/com/qxueyou/scc/school/service/IStudentScoreService.java                     |    6 
 src/main/java/com/qxueyou/scc/admin/notice/service/impl/NoticeService.java                 |    4 
 src/main/java/com/qxueyou/scc/base/model/MsgTypeConstants.java                             |   10 
 src/main/java/com/qxueyou/scc/base/service/IDictionaryService.java                         |    4 
 src/main/java/com/qxueyou/scc/media/model/VideoLiveViewVO.java                             |   68 
 src/main/java/com/qxueyou/scc/admin/teacher/service/ITeacherService.java                   |   20 
 src/main/java/com/qxueyou/scc/sys/service/IOssService.java                                 |   36 
 src/main/java/com/qxueyou/scc/exercise/model/ExerciseChapter.java                          |   28 
 src/main/java/com/qxueyou/scc/base/handler/QXueyouExceptionHandler.java                    |    6 
 src/main/java/com/qxueyou/scc/exercise/model/ExerciseItemAnswerU.java                      |   26 
 src/main/java/com/qxueyou/scc/school/model/SignResult.java                                 |    8 
 src/main/java/com/qxueyou/scc/school/model/TeachEvaScoreData.java                          |    2 
 src/main/java/com/qxueyou/scc/teach/live/model/MediaVideoLive.java                         |  124 
 src/main/java/com/qxueyou/scc/school/action/ArticleController.java                         |   56 
 src/main/java/com/qxueyou/scc/teach/subject/service/impl/SubjectService.java               |  214 
 src/main/java/com/qxueyou/scc/exercise/model/ExerciseItemOption.java                       |    6 
 src/main/java/com/qxueyou/scc/admin/classes/model/ClsClass.java                            |  124 
 src/main/java/com/qxueyou/scc/sys/utils/AudioUtil.java                                     |   18 
 src/main/java/com/qxueyou/scc/shorturl/util/ShortUrlUtils.java                             |    8 
 src/main/java/com/qxueyou/scc/courseware/service/impl/OrgCourseService.java                |   26 
 src/main/java/com/qxueyou/scc/school/model/SchSchoolDay.java                               |    8 
 src/main/java/com/qxueyou/scc/base/model/FlowPrice.java                                    |    8 
 src/main/java/com/qxueyou/scc/base/util/NumRandomUtils.java                                |    4 
 src/main/java/com/qxueyou/scc/courseware/service/impl/CourceCategoryAppService.java        |   64 
 src/main/java/com/qxueyou/scc/school/model/LessionSignStatistics.java                      |   54 
 src/main/java/com/qxueyou/scc/base/model/TransactException.java                            |    2 
 src/main/java/com/qxueyou/scc/school/util/StudyReportUtils.java                            |   26 
 src/main/java/com/qxueyou/scc/exercise/model/ExerciseInfo.java                             |   10 
 src/main/java/com/qxueyou/scc/school/service/impl/SchoolTermService.java                   |   34 
 src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseService.java                   |  778 +-
 src/main/java/com/qxueyou/scc/exercise/model/ExerciseParse.java                            |    6 
 src/main/java/com/qxueyou/scc/exercise/action/ExerciseController.java                      |  768 +-
 src/main/java/com/qxueyou/scc/exercise/model/ExerciseParseResult.java                      |    8 
 src/main/java/com/qxueyou/scc/teach/res/service/impl/resitem/ResItemDocService.java        |    4 
 src/main/java/com/qxueyou/scc/base/util/Base64Utils.java                                   |    4 
 src/main/java/com/qxueyou/scc/exercise/model/ExerciseItemAnalisiU.java                     |    2 
 src/main/java/com/qxueyou/scc/org/model/OrgCourse.java                                     |   16 
 src/main/java/com/qxueyou/scc/statistic/model/SchFlowStatisticDetail.java                  |   20 
 src/main/java/com/qxueyou/scc/user/model/UserAuthorizeTrace.java                           |    2 
 src/main/java/com/qxueyou/scc/base/util/QrCodeUtils.java                                   |   42 
 src/main/java/com/qxueyou/scc/school/service/impl/WBONSProducer.java                       |    2 
 src/main/java/com/qxueyou/scc/exercise/model/ExerciseExtendData.java                       |    2 
 src/main/java/com/qxueyou/scc/sys/service/impl/OssService.java                             |   12 
 src/main/java/com/qxueyou/scc/base/util/JacobUtil.java                                     |   44 
 src/main/java/com/qxueyou/scc/controller/ClassController.java                              |  302 
 src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseItemStatisticsDealService.java |   12 
 src/main/java/com/qxueyou/scc/org/model/OrgCategoryLevel.java                              |   10 
 src/main/java/com/qxueyou/scc/admin/score/service/IScoreService.java                       |    8 
 src/main/java/com/qxueyou/scc/admin/classes/dao/ClassRepository.java                       |    6 
 src/main/java/com/qxueyou/scc/teach/live/model/MediaVideoLiveReplayReClip.java             |   30 
 src/main/java/com/qxueyou/scc/base/model/WeixinContants.java                               |    8 
 src/main/java/com/qxueyou/scc/org/model/OrgPhotoalbum.java                                 |   12 
 src/main/java/com/qxueyou/scc/school/service/impl/InteactService.java                      |   76 
 src/main/java/com/qxueyou/scc/operation/comment/mode/Comment.java                          |   62 
 src/main/java/com/qxueyou/scc/base/util/RSAUtils.java                                      |   14 
 src/main/java/com/qxueyou/scc/base/service/ICacheService.java                              |   72 
 src/main/java/com/qxueyou/scc/sys/model/CacheParamters.java                                |   24 
 src/main/java/com/qxueyou/scc/exercise/service/impl/ParseResult.java                       |   10 
 src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseSysMsgDealService.java         |   36 
 src/main/java/com/qxueyou/scc/org/model/OrganizationExtend.java                            |    2 
 src/main/java/com/qxueyou/scc/school/model/SchYearReOrg.java                               |   22 
 src/main/java/com/qxueyou/scc/school/model/SignScreenResult.java                           |    4 
 src/main/java/com/qxueyou/scc/msg/model/MsgFriend.java                                     |   22 
 src/main/java/com/qxueyou/scc/org/service/IOrgClassTeacherService.java                     |    2 
 src/main/java/com/qxueyou/scc/courseware/service/IOrgCourseService.java                    |   14 
 src/main/java/com/qxueyou/scc/school/dao/EvaluateDAO.java                                  |   30 
 src/main/java/com/qxueyou/scc/org/model/OrgClassUserCustom.java                            |   64 
 src/main/java/com/qxueyou/scc/base/model/Pager.java                                        |   12 
 src/main/java/com/qxueyou/scc/school/service/impl/StudentsScoreService.java                |   10 
 src/main/java/com/qxueyou/scc/exercise/service/IExerciseExtendService.java                 |   68 
 src/main/java/com/qxueyou/scc/school/model/SchNote.java                                    |   34 
 src/main/java/com/qxueyou/scc/school/model/SchClassSubject.java                            |   36 
 src/main/java/com/qxueyou/scc/exercise/service/impl/parser/OptionParser.java               |   24 
 src/main/java/com/qxueyou/scc/evaluate/action/EvaluateTemplateController.java              |   20 
 src/main/java/com/qxueyou/scc/media/model/VideoRecordDTO.java                              |   18 
 src/main/java/com/qxueyou/scc/operation/comment/mode/CommentImg.java                       |   24 
 src/main/java/com/qxueyou/scc/teach/live/service/IMediaLiveService.java                    |  112 
 src/main/java/com/qxueyou/scc/admin/examroom/service/impl/ExamRoomService.java             |   10 
 src/main/java/com/qxueyou/scc/school/model/HandoutAnswerResult.java                        |    4 
 src/main/java/com/qxueyou/scc/org/service/ITeacherService.java                             |   10 
 src/main/java/com/qxueyou/scc/base/dao/CommonRedisTemplate.java                            |    6 
 src/main/java/com/qxueyou/scc/base/util/AESUtil.java                                       |    6 
 src/main/java/com/qxueyou/scc/base/util/HttpClient.java                                    |   88 
 src/main/java/com/qxueyou/scc/exercise/model/ExerciseRecord.java                           |    8 
 src/main/java/com/qxueyou/scc/org/service/impl/OrganizationService.java                    |   12 
 src/main/java/com/qxueyou/scc/msg/model/MsgChatroomMsg.java                                |   22 
 src/main/java/com/qxueyou/scc/media/model/MediaVideoReCourse.java                          |   24 
 src/main/java/com/qxueyou/scc/school/model/EvaluateStuStudentVId.java                      |    4 
 src/main/java/com/qxueyou/scc/exam/action/ExamController.java                              |  198 
 src/main/java/com/qxueyou/scc/base/util/StringMapUtils.java                                |   14 
 src/main/java/com/qxueyou/scc/evaluate/service/IEvaluateService.java                       |   32 
 src/main/java/com/qxueyou/scc/exercise/util/ExerciseUtils.java                             |  226 
 src/main/java/com/qxueyou/scc/school/service/ISpreadFootprintService.java                  |    4 
 src/main/java/com/qxueyou/scc/admin/classroom/service/impl/ClassRoomService.java           |   10 
 src/main/java/com/qxueyou/scc/teach/live/service/IMediaVideoLivePlayBackService.java       |    6 
 src/main/java/com/qxueyou/scc/teach/subject/service/ILectureService.java                   |  158 
 src/main/java/com/qxueyou/scc/base/util/MyJsCssVersionUtils.java                           |  118 
 src/main/java/com/qxueyou/scc/school/model/SchCourseware.java                              |    6 
 src/main/java/com/qxueyou/scc/exercise/model/ExerciseAddItemParams.java                    |  134 
 src/main/java/com/qxueyou/scc/exercise/model/ExerciseReCourse.java                         |   24 
 src/main/java/com/qxueyou/scc/school/action/StudentScoreController.java                    |   12 
 src/main/java/com/qxueyou/scc/org/model/OrgCourseCateData.java                             |    2 
 src/main/java/com/qxueyou/scc/admin/course/service/impl/CourseScheduleService.java         |   42 
 src/main/java/com/qxueyou/scc/org/model/OrgMarketPrivilege.java                            |   12 
 src/main/java/com/qxueyou/scc/config/Swagger2.java                                         |    8 
 src/main/java/com/qxueyou/scc/school/model/SchQRUrl.java                                   |    2 
 src/main/java/com/qxueyou/scc/school/service/IStudyReportService.java                      |   56 
 src/main/java/com/qxueyou/scc/teach/res/service/IFileService.java                          |   18 
 src/main/java/com/qxueyou/scc/teach/live/model/MediaVideoLiveClipVer.java                  |   26 
 src/main/java/com/qxueyou/scc/exam/model/ExamPaperInfo.java                                |   12 
 src/main/java/com/qxueyou/scc/controller/FileController.java                               |   18 
 src/main/java/com/qxueyou/scc/exercise/service/IExerciseCompleteService.java               |   24 
 src/main/java/com/qxueyou/scc/base/model/CacheConstants.java                               |  132 
 src/main/java/com/qxueyou/scc/admin/course/service/ICourseScheduleService.java             |   54 
 src/main/java/com/qxueyou/scc/base/util/ClientUtils.java                                   |   62 
 src/main/java/com/qxueyou/scc/school/service/impl/HandoutConvertPDFDealService.java        |    4 
 src/main/java/com/qxueyou/scc/exercise/model/ExerciseSubmitAnswerData.java                 |   32 
 src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseCompleteService.java           |   10 
 src/main/java/com/qxueyou/scc/school/model/EvaluateStuStudentV.java                        |    6 
 src/main/java/com/qxueyou/scc/teach/res/service/impl/resitem/ResItemAudioService.java      |    2 
 src/main/java/com/qxueyou/scc/exam/service/impl/ExamService.java                           |  176 
 src/main/java/com/qxueyou/scc/teach/res/service/impl/ResService.java                       |   26 
 src/main/java/com/qxueyou/scc/school/service/IClassCircleService.java                      |   20 
 src/main/java/com/qxueyou/scc/base/handler/QLog.java                                       |   10 
 src/main/java/com/qxueyou/scc/controller/MsgChatroomMsgCtrl.java                           |    8 
 src/main/java/com/qxueyou/scc/exercise/model/ExerciseGroupShareInfo.java                   |    8 
 src/main/java/com/qxueyou/scc/teach/live/utils/FfmpegMediaHelper.java                      |  176 
 src/main/java/com/qxueyou/scc/base/util/MD5Utils.java                                      |    6 
 src/main/java/com/qxueyou/scc/base/util/XmlUtils.java                                      |    2 
 src/main/java/com/qxueyou/scc/teach/live/service/impl/MediaVideoLivePlayBackService.java   |   60 
 src/main/java/com/qxueyou/scc/user/model/UserExtend.java                                   |   22 
 src/main/java/com/qxueyou/scc/base/util/DateTimeUtils.java                                 |  216 
 src/main/java/com/qxueyou/scc/org/dao/OrgDAO.java                                          |   38 
 src/main/java/com/qxueyou/scc/stucontroller/StuNoticeController.java                       |   26 
 src/main/java/com/qxueyou/scc/org/model/OrgCourseJsonData.java                             |    2 
 src/main/java/com/qxueyou/scc/operation/topic/model/TopicInfo.java                         |    8 
 src/main/java/com/qxueyou/scc/stucontroller/StuResController.java                          |   22 
 src/main/java/com/qxueyou/scc/sys/service/impl/VideoOssService.java                        |   12 
 src/main/java/com/qxueyou/scc/exercise/service/IExerciseInfoService.java                   |   54 
 src/main/java/com/qxueyou/scc/school/model/SchScheduleAddress.java                         |   34 
 src/main/java/com/qxueyou/scc/base/util/FreeMarkerMd5MethodDefine.java                     |    2 
 src/main/java/com/qxueyou/scc/org/util/CourseMarketUtils.java                              |   12 
 src/main/java/com/qxueyou/scc/base/model/UserCipher.java                                   |    8 
 src/main/java/com/qxueyou/scc/evaluate/dao/EvaluateRepository.java                         |   12 
 src/main/java/com/qxueyou/scc/user/model/UserRegistration.java                             |   42 
 src/main/java/com/qxueyou/scc/admin/schoolRoll/impl/SchoolRollServiceImpl.java             |    8 
 src/main/java/com/qxueyou/scc/school/service/IArticleService.java                          |   34 
 src/main/java/com/qxueyou/scc/school/service/impl/SchoolYearService.java                   |   36 
 src/main/java/com/qxueyou/scc/school/model/SchRankHis.java                                 |   38 
 src/main/java/com/qxueyou/scc/base/handler/QCacheCleaner.java                              |    6 
 src/main/java/com/qxueyou/scc/school/model/viewvo/SchWeekScheduleViewVO.java               |    6 
 src/main/java/com/qxueyou/scc/exam/service/IExamPaperSectionService.java                   |   36 
 src/main/java/com/qxueyou/scc/courseware/service/ICourseService.java                       |   94 
 src/main/java/com/qxueyou/scc/base/model/Constants.java                                    |  206 
 src/main/java/com/qxueyou/scc/operation/comment/mode/SnsCommentToMe.java                   |   28 
 src/main/java/com/qxueyou/scc/controller/EvaluateController.java                           |  106 
 src/main/java/com/qxueyou/scc/exercise/service/impl/ExercisePyService.java                 |   56 
 src/main/java/com/qxueyou/scc/media/model/VideoConverTask.java                             |   20 
 src/main/java/com/qxueyou/scc/school/model/viewvo/SchNoteViewVO.java                       |   24 
 src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseVerService.java                |  736 
 src/main/java/com/qxueyou/scc/school/model/SchArticle.java                                 |   50 
 src/main/java/com/qxueyou/scc/msg/model/MsgGroup.java                                      |   26 
 src/main/java/com/qxueyou/scc/base/util/SerializeUtils.java                                |   18 
 src/main/java/com/qxueyou/scc/portal/information/model/Information.java                    |   48 
 src/main/java/com/qxueyou/scc/exercise/service/impl/parser/ItemAnalysisParser.java         |   22 
 src/main/java/com/qxueyou/scc/admin/classes/service/IClassService.java                     |   40 
 src/main/java/com/qxueyou/scc/media/model/MediaVideoTrans.java                             |   54 
 src/main/java/com/qxueyou/scc/school/model/SchRank.java                                    |   42 
 src/main/java/com/qxueyou/scc/exercise/model/ExerciseSubmitAnswerDataList.java             |   10 
 src/main/java/com/qxueyou/scc/exam/service/IExamBatchService.java                          |   24 
 src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseCorrectionService.java         |   32 
 src/main/java/com/qxueyou/scc/msg/service/impl/ChatroomMessageBean.java                    |   70 
 src/main/java/com/qxueyou/scc/exercise/model/ExerciseExtendRecordData.java                 |    2 
 src/main/java/com/qxueyou/scc/org/model/OrgCollegeCourse.java                              |   32 
 src/main/java/com/qxueyou/scc/school/model/ClassCardTemplet.java                           |   24 
 src/main/java/com/qxueyou/scc/teach/live/model/MediaVideoLiveReplay.java                   |   52 
 src/main/java/com/qxueyou/scc/exercise/model/ExerGroupResponseData.java                    |   60 
 src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseInfoService.java               |  152 
 src/main/java/com/qxueyou/scc/school/model/SignStatisResult.java                           |   30 
 src/main/java/com/qxueyou/scc/org/model/ExternelTeacherInfo.java                           |    2 
 src/main/java/com/qxueyou/scc/org/model/OrgBanner.java                                     |   18 
 src/main/java/com/qxueyou/scc/admin/attendance/impl/AttendanceServiceImpl.java             |   20 
 src/main/java/com/qxueyou/scc/base/handler/QCacheMonitor.java                              |   54 
 src/main/java/com/qxueyou/scc/controller/ClsLectureController.java                         |  128 
 src/main/java/com/qxueyou/scc/exercise/service/impl/node/Item.java                         |   30 
 src/main/java/com/qxueyou/scc/msg/model/MsgInfo.java                                       |    4 
 src/main/java/com/qxueyou/scc/sys/utils/DrawingUtil.java                                   |  106 
 src/main/java/com/qxueyou/scc/teach/res/service/IResItemService.java                       |   26 
 src/main/java/com/qxueyou/scc/org/model/OrgCollege.java                                    |   28 
 src/main/java/com/qxueyou/scc/school/model/viewvo/SchYearViewVO.java                       |   12 
 src/main/java/com/qxueyou/scc/sys/service/IAuthorizeService.java                           |    6 
 src/main/java/com/qxueyou/scc/exam/model/ExamPaperSectionInfo.java                         |    8 
 src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseDeepAnaService.java            |    6 
 src/main/java/com/qxueyou/scc/school/model/SchHandoutRecordDetail.java                     |   24 
 src/main/java/com/qxueyou/scc/school/service/ILessonService.java                           |   40 
 src/main/java/com/qxueyou/scc/sys/action/LoginController.java                              |  256 
 src/main/java/com/qxueyou/scc/school/model/viewvo/SchStudentScheduleViewVO.java            |   40 
 src/main/java/com/qxueyou/scc/exercise/model/ExciseExtendReqData.java                      |    2 
 src/main/java/com/qxueyou/scc/stucontroller/StuExamController.java                         |   70 
 src/main/java/com/qxueyou/scc/operation/topic/service/ITopicService.java                   |   54 
 src/main/java/com/qxueyou/scc/school/model/SchEvaluateDetail.java                          |    2 
 src/main/java/com/qxueyou/scc/org/model/OrgAppInfo.java                                    |   18 
 src/main/java/com/qxueyou/scc/base/handler/QLogMonitor.java                                |   10 
 src/main/java/com/qxueyou/scc/sys/utils/SpringContextHolder.java                           |   14 
 src/main/java/com/qxueyou/scc/courseware/service/ICourceCategoryService.java               |   10 
 src/main/java/com/qxueyou/scc/base/model/FilePathConstants.java                            |   22 
 src/main/java/com/qxueyou/scc/user/service/impl/UserRoleService.java                       |   14 
 src/main/java/com/qxueyou/scc/org/model/OrgAppMenu.java                                    |   10 
 src/main/java/com/qxueyou/scc/user/util/ExcelReader.java                                   |   22 
 src/main/java/com/qxueyou/scc/base/dao/BaseDAO.java                                        |  254 
 src/main/java/com/qxueyou/scc/exercise/model/ExerciseAnswerData.java                       |    2 
 src/main/java/com/qxueyou/scc/teach/res/model/ResItemDoc.java                              |   12 
 src/main/java/com/qxueyou/scc/org/model/OrgNewUserModel.java                               |   18 
 src/main/java/com/qxueyou/scc/org/model/OrgSalesman.java                                   |    2 
 src/main/java/com/qxueyou/scc/school/model/SchRankVer.java                                 |   30 
 src/main/java/com/qxueyou/scc/school/dao/InteractDAO.java                                  |   18 
 src/main/java/com/qxueyou/scc/exercise/model/ExerciseGroup.java                            |   40 
 src/main/java/com/qxueyou/scc/school/model/SchReLessonLiveVideo.java                       |   22 
 src/main/java/com/qxueyou/scc/exam/model/ExamBatchClassRe.java                             |    8 
 src/main/java/com/qxueyou/scc/org/model/OrgClassBanner.java                                |   12 
 src/main/java/com/qxueyou/scc/school/model/TeachEvaScoreResult.java                        |   14 
 src/main/java/com/qxueyou/scc/user/service/IUserRoleService.java                           |   26 
 src/main/java/com/qxueyou/scc/courseware/action/CourceCategoryController.java              |  150 
 src/main/java/com/qxueyou/scc/school/dao/LessonDAO.java                                    |   16 
 src/main/java/com/qxueyou/scc/sys/model/SysConfigFile.java                                 |    2 
 src/main/java/com/qxueyou/scc/exercise/model/ExerciseExamReGroup.java                      |    4 
 src/main/java/com/qxueyou/scc/org/model/OrgCollegePublic.java                              |   24 
 src/main/java/com/qxueyou/scc/school/model/SchClassSchedule.java                           |   64 
 src/main/java/com/qxueyou/scc/exercise/model/ExerciseItemAnswerData.java                   |   14 
 src/main/java/com/qxueyou/scc/school/model/HandoutAnswerData.java                          |   12 
 src/main/java/com/qxueyou/scc/sys/model/SysCondition.java                                  |    8 
 src/main/java/com/qxueyou/scc/operation/topic/model/TopicClassRe.java                      |   10 
 src/main/java/com/qxueyou/scc/school/model/SchArticleStatistic.java                        |    2 
 src/main/java/com/qxueyou/scc/school/model/SchVideoFile.java                               |    2 
 src/main/java/com/qxueyou/scc/admin/attendance/AttendanceService.java                      |    6 
 src/main/java/com/qxueyou/scc/school/util/StudentEvaUtils.java                             |    2 
 src/main/java/com/qxueyou/scc/base/service/ICommonService.java                             |   30 
 src/main/java/com/qxueyou/scc/base/service/impl/CommonAppService.java                      |  120 
 src/main/java/com/qxueyou/scc/school/service/impl/HandoutService.java                      |  342 
 src/main/java/com/qxueyou/scc/base/StsCtrl.java                                            |   50 
 src/main/java/com/qxueyou/scc/sys/model/SysButton.java                                     |    2 
 src/main/java/com/qxueyou/scc/org/service/impl/OrgTextService.java                         |   18 
 src/main/java/com/qxueyou/scc/stucontroller/StuExerciseController.java                     |   98 
 src/main/java/com/qxueyou/scc/school/service/ISchoolDayService.java                        |   12 
 src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseExtendService.java             |  712 
 src/main/java/com/qxueyou/scc/teach/student/model/StuStudent.java                          |    2 
 src/main/java/com/qxueyou/scc/exercise/dao/ExerciseDAO.java                                |   36 
 src/main/java/com/qxueyou/scc/school/service/IScoreChangeService.java                      |   36 
 src/main/java/com/qxueyou/scc/exercise/model/ExerciseFaultBook.java                        |    6 
 src/main/java/com/qxueyou/scc/media/model/MediaVideoViewVO.java                            |   62 
 src/main/java/com/qxueyou/scc/school/model/SchSubjectExtend.java                           |   30 
 src/main/java/com/qxueyou/scc/sys/model/SysLog.java                                        |    4 
 src/main/java/com/qxueyou/scc/school/service/INoteService.java                             |   24 
 src/main/java/com/qxueyou/scc/school/model/SchSignItem.java                                |   38 
 src/main/java/com/qxueyou/scc/school/service/impl/ArticleService.java                      |  138 
 src/main/resources/application.properties                                                  |   19 
 src/main/java/com/qxueyou/scc/school/service/ICourseWareService.java                       |   76 
 src/main/java/com/qxueyou/scc/org/service/IOrgTextService.java                             |   10 
 src/main/java/com/qxueyou/scc/exam/action/ExamBatchController.java                         |   26 
 src/main/java/com/qxueyou/scc/exercise/model/ExerciseOptionStatistics.java                 |    8 
 src/main/java/com/qxueyou/scc/base/service/impl/LicenseChecker.java                        |    2 
 src/main/java/com/qxueyou/scc/msg/service/IMsgInfoService.java                             |   26 
 src/main/java/com/qxueyou/scc/org/model/OrgPrivilege.java                                  |   20 
 src/main/java/com/qxueyou/scc/base/util/DateTimeFormatUtils.java                           |   20 
 src/main/java/com/qxueyou/scc/sys/action/ImgController.java                                |   48 
 src/main/java/com/qxueyou/scc/exercise/model/ExerciseItemStatistics.java                   |    8 
 src/main/java/com/qxueyou/scc/base/dao/CommonDAO.java                                      |   14 
 src/main/java/com/qxueyou/scc/sys/service/impl/SysAttachmentService.java                   |   12 
 src/main/java/com/qxueyou/scc/admin/course/model/CourseSchedule.java                       |   12 
 src/main/java/com/qxueyou/scc/operation/comment/mode/SnsMyComment.java                     |   28 
 src/main/java/com/qxueyou/scc/base/util/ExcelExportUtils.java                              |   68 
 src/main/java/com/qxueyou/scc/org/model/OrgClassQueryCm.java                               |   60 
 src/main/java/com/qxueyou/scc/school/model/SchEvaluateTemplate.java                        |    4 
 src/main/java/com/qxueyou/scc/exercise/service/IExerciseGroupService.java                  |   74 
 src/main/java/com/qxueyou/scc/org/model/OrgStringExtend.java                               |   24 
 src/main/java/com/qxueyou/scc/school/service/impl/RankService.java                         |  108 
 src/main/java/com/qxueyou/scc/exercise/model/ExerciseFavoriteRecord.java                   |    4 
 src/main/java/com/qxueyou/scc/user/dao/RegistrationDAO.java                                |   16 
 src/main/java/com/qxueyou/scc/admin/examroom/service/IExamRoomService.java                 |   46 
 src/main/java/com/qxueyou/scc/media/dao/MediaVideoDAO.java                                 |   20 
 src/main/java/com/qxueyou/scc/school/service/IHandoutService.java                          |   98 
 src/main/java/com/qxueyou/scc/school/service/ISignService.java                             |   68 
 src/main/java/com/qxueyou/scc/controller/ResController.java                                |   98 
 src/main/java/com/qxueyou/scc/school/model/SchHandoutStatistic.java                        |    2 
 src/main/java/com/qxueyou/scc/school/service/IDocdealMsgSenderService.java                 |    4 
 src/main/java/com/qxueyou/scc/school/model/SchSignStatistics.java                          |   88 
 src/main/java/com/qxueyou/scc/exercise/model/ExerciseDataSubmitLog.java                    |    4 
 src/main/java/com/qxueyou/scc/exercise/service/impl/Handler.java                           |  128 
 src/main/java/com/qxueyou/scc/controller/CoursewareController.java                         |  140 
 src/main/java/com/qxueyou/scc/teach/res/service/IResService.java                           |  200 
 src/main/java/com/qxueyou/scc/controller/MsgInfoController.java                            |   40 
 src/main/java/com/qxueyou/scc/org/model/OrgCourseData.java                                 |    6 
 src/main/java/com/qxueyou/scc/base/util/UserCodeUtils.java                                 |   10 
 src/main/java/com/qxueyou/scc/exercise/service/impl/parser/ItemTypeParser.java             |   22 
 src/main/java/com/qxueyou/scc/base/handler/QCacheRedis.java                                |    8 
 src/main/java/com/qxueyou/scc/org/model/OrgReCollegePublic.java                            |    6 
 src/main/java/com/qxueyou/scc/exam/service/impl/ExamPaperSectionService.java               |   42 
 src/main/java/com/qxueyou/scc/school/model/SchEvaluate.java                                |   26 
 src/main/java/com/qxueyou/scc/school/model/SchHandoutRecord.java                           |   46 
 src/main/java/com/qxueyou/scc/exercise/action/ExerciseExtendController.java                |  460 
 src/main/java/com/qxueyou/scc/org/service/IOrganizationService.java                        |   14 
 src/main/java/com/qxueyou/scc/msg/service/impl/MsgInfoService.java                         |    8 
 src/main/java/com/qxueyou/scc/school/model/SchSubjectReCourse.java                         |    4 
 src/main/java/com/qxueyou/scc/school/service/IInteractService.java                         |   24 
 src/main/java/com/qxueyou/scc/exercise/timer/ExerciseTimer.java                            |    6 
 src/main/java/com/qxueyou/scc/school/helper/IJudgeLimitStrategy.java                       |    8 
 src/main/java/com/qxueyou/scc/school/model/SchReLessonPeriod.java                          |   22 
 549 files changed, 11,302 insertions(+), 11,285 deletions(-)

diff --git a/src/main/java/com/qxueyou/scc/admin/attendance/AttendanceService.java b/src/main/java/com/qxueyou/scc/admin/attendance/AttendanceService.java
index 68ce734..2d47bc8 100644
--- a/src/main/java/com/qxueyou/scc/admin/attendance/AttendanceService.java
+++ b/src/main/java/com/qxueyou/scc/admin/attendance/AttendanceService.java
@@ -7,17 +7,17 @@
 
 public interface AttendanceService {
     /**
-     * 打卡
+     * 鎵撳崱
      */
     String attendanceUpAndAdd(String studentId,String SubjectId);
 
     /**
-     * 查询考勤信息
+     * 鏌ヨ鑰冨嫟淇℃伅
      */
     List<StuStudent> findAttendanceList(Integer limit, Integer pageNum, String keyword, String subjectId);
 
     /**
-     *修改打卡状态
+     *淇敼鎵撳崱鐘舵��
      */
     Result updateAttendanceStatus(String studentId, String attendanceStatus);
 
diff --git a/src/main/java/com/qxueyou/scc/admin/attendance/impl/AttendanceServiceImpl.java b/src/main/java/com/qxueyou/scc/admin/attendance/impl/AttendanceServiceImpl.java
index 91902b8..7d6ce60 100644
--- a/src/main/java/com/qxueyou/scc/admin/attendance/impl/AttendanceServiceImpl.java
+++ b/src/main/java/com/qxueyou/scc/admin/attendance/impl/AttendanceServiceImpl.java
@@ -31,31 +31,31 @@
 
         try{
             SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
-            //上课时间
-            String s1 = "9:00:00";
-            //如果上课时间(9点)>当前时间
+            //涓婅鏃堕棿
+            String s1 = "9锛�00:00";
+            //濡傛灉涓婅鏃堕棿(9鐐�)>褰撳墠鏃堕棿
             String s2 = sdf.format(new Date());
             int compareTo = s1.compareTo(s2);
             if(compareTo>0)
             {
-                s="签到时间已过,本节课按照旷课处理";
-                stuStudent.setAttendanceStatus("旷课");
+                s="绛惧埌鏃堕棿宸茶繃锛屾湰鑺傝鎸夌収鏃疯澶勭悊";
+                stuStudent.setAttendanceStatus("鏃疯");
             }
             else
             {
-                String s3 = "8:50:00";
+                String s3 = "8锛�50:00";
                 compareTo = s2.compareTo(s3);
                 if(compareTo<0)
                 {
-                    s="未到签到时间,请与上课时间前10分钟签到";
-                    stuStudent.setAttendanceStatus("未打卡");
+                    s="鏈埌绛惧埌鏃堕棿锛岃涓庝笂璇炬椂闂村墠10鍒嗛挓绛惧埌";
+                    stuStudent.setAttendanceStatus("鏈墦鍗�");
                 }
                 else
                 {
                     if(stuStudent!=null && subjectId!=null){
                         stuStudent.setSubjectId(subjectId);
-                        stuStudent.setAttendanceStatus("已打卡");
-                        s = "成功完成签到";
+                        stuStudent.setAttendanceStatus("宸叉墦鍗�");
+                        s = "鎴愬姛瀹屾垚绛惧埌";
                     }
                 }
             }
diff --git a/src/main/java/com/qxueyou/scc/admin/classes/dao/ClassDAO.java b/src/main/java/com/qxueyou/scc/admin/classes/dao/ClassDAO.java
index b94b959..f1271e6 100644
--- a/src/main/java/com/qxueyou/scc/admin/classes/dao/ClassDAO.java
+++ b/src/main/java/com/qxueyou/scc/admin/classes/dao/ClassDAO.java
@@ -29,7 +29,7 @@
 
 
     /**
-     * 获取这个通知的总人数
+     * 鑾峰彇杩欎釜閫氱煡鐨勬�讳汉鏁�
      */
     public int getStudentCount(List<String> classIds) {
 
@@ -44,7 +44,7 @@
     }
 
     /**
-     * 获取通知的班级名称
+     * 鑾峰彇閫氱煡鐨勭彮绾у悕绉�
      */
     public List<String> getClassNameByclsId(List<String> classIds) {
         List<ClsClass> clsLst = findByComplexHql("from ClsClass where deleteFlag is false and classId in(:ids)", CollectionUtils.newObjectMap("ids", classIds), ClsClass.class);
diff --git a/src/main/java/com/qxueyou/scc/admin/classes/dao/ClassRepository.java b/src/main/java/com/qxueyou/scc/admin/classes/dao/ClassRepository.java
index f18fd19..1a0ec04 100644
--- a/src/main/java/com/qxueyou/scc/admin/classes/dao/ClassRepository.java
+++ b/src/main/java/com/qxueyou/scc/admin/classes/dao/ClassRepository.java
@@ -6,12 +6,12 @@
 import com.qxueyou.scc.base.service.IBaseJpaRepository;
 
 /**
- * 评估
+ * 璇勪及
  * @author zhiyong
  *
  */
 @Repository
 public interface ClassRepository extends IBaseJpaRepository<ClsClass>{
-	
-	
+
+
 }
diff --git a/src/main/java/com/qxueyou/scc/admin/classes/model/ClsClass.java b/src/main/java/com/qxueyou/scc/admin/classes/model/ClsClass.java
index 07283c3..d589787 100644
--- a/src/main/java/com/qxueyou/scc/admin/classes/model/ClsClass.java
+++ b/src/main/java/com/qxueyou/scc/admin/classes/model/ClsClass.java
@@ -32,7 +32,7 @@
 
 /**
  * The persistent class for the org_class database table.
- * 
+ *
  */
 @Entity
 @Table(name = "cls_class")
@@ -41,46 +41,46 @@
 	 * UID
 	 */
 	private static final long serialVersionUID = 5971007065116777117L;
-	
-	/** 面授 */
+
+	/** 闈㈡巿 */
 	public static final String CLASS_FACE = "FACE_TO_FACE";
-	/** 网络 */
+	/** 缃戠粶 */
 	public static final String CLASS_NETWORK = "NETWORK";
 
-	/** 有直播 */
+	/** 鏈夌洿鎾� */
 	public static final int HAVE_LIVE = 1;
-	
-	/** 无直播 */
+
+	/** 鏃犵洿鎾� */
 	public static final int NOT_HAVE_LIVE = 0;
 
-	/** 有视频 */
+	/** 鏈夎棰� */
 	public static final int HAVE_VIDEO = 1;
-	/** 无视频 */
+	/** 鏃犺棰� */
 	public static final int NOT_HAVE_VIDEO = 0;
 
-	/** 有讲义 */
+	/** 鏈夎涔� */
 	public static final int HAVE_HANDOUT = 1;
-	/** 无讲义 */
+	/** 鏃犺涔� */
 	public static final int NOT_HAVE_HANDOUT = 0;
 
-	/** 有推荐奖励 */
+	/** 鏈夋帹鑽愬鍔� */
 	public static final int HAVE_AWARD = 1;
-	/** 无推荐奖励 */
+	/** 鏃犳帹鑽愬鍔� */
 	public static final int NOT_HAVE_AWARD = 0;
 
-	/** 消息处理业务类型:发送消息 */
+	/** 娑堟伅澶勭悊涓氬姟绫诲瀷锛氬彂閫佹秷鎭� */
 	public static final String MSG_ACTION_TYPE_SEND = "send_sms";
-	/** 消息处理业务类型:新建班级 */
+	/** 娑堟伅澶勭悊涓氬姟绫诲瀷锛氭柊寤虹彮绾� */
 	public static final String MSG_ACTION_TYPE_ADD = "add_Class";
-	/** 消息处理业务类型:复制班级 */
+	/** 娑堟伅澶勭悊涓氬姟绫诲瀷锛氬鍒剁彮绾� */
 	public static final String MSG_ACTION_TYPE_COPY = "copy_Class";
 
-	/** 班级进度:报名 */
-	public static final String CLASS_PROGRESS_START = "报名";
-	/** 班级进度:学习 */
-	public static final String CLASS_PROGRESS_STUDY = "学习";
-	/** 班级进度:结束 */
-	public static final String CLASS_PROGRESS_END = "结束";
+	/** 鐝骇杩涘害锛氭姤鍚� */
+	public static final String CLASS_PROGRESS_START = "鎶ュ悕";
+	/** 鐝骇杩涘害锛氬涔� */
+	public static final String CLASS_PROGRESS_STUDY = "瀛︿範";
+	/** 鐝骇杩涘害锛氱粨鏉� */
+	public static final String CLASS_PROGRESS_END = "缁撴潫";
 
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
@@ -138,7 +138,7 @@
 	@Column(name = "ARRANGEMENT", length = 255)
 	private String arrangement;
 
-	/** 班级优势 */
+	/** 鐝骇浼樺娍 */
 	@Column(name = "ADVANTAGE", length = 255)
 	private String advantage;
 
@@ -153,7 +153,7 @@
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
 	private Date endTime;
 
-	/** 当前已报名学生人数 */
+	/** 褰撳墠宸叉姤鍚嶅鐢熶汉鏁� */
 	@Column(name = "STUDENT_COUNT")
 	private int studentCount;
 
@@ -176,7 +176,7 @@
 	@JsonIgnore
 	private String updator;
 
-	/** 是否推广 false:不推广 true:推广 */
+	/** 鏄惁鎺ㄥ箍 false锛氫笉鎺ㄥ箍 true锛氭帹骞� */
 	@Column(name = "EXTENDED")
 	private boolean extended;
 
@@ -195,7 +195,7 @@
 	@Column(name = "SCORE", precision = 10, scale = 2)
 	private BigDecimal score;
 
-	/** 学生总数 计划招生人数,用于机构 指定 */
+	/** 瀛︾敓鎬绘暟 璁″垝鎷涚敓浜烘暟,鐢ㄤ簬鏈烘瀯 鎸囧畾 */
 	@Column(name = "STU_ALL_COUNT")
 	private BigInteger stuAllCount;
 
@@ -205,67 +205,67 @@
 	@Column(name = "POINTER", length = 255)
 	private String pointer;
 
-	/*** 点击次数 **/
+	/*** 鐐瑰嚮娆℃暟 **/
 	@Column(name = "CLICK_NUM", precision = 11, scale = 0)
 	private BigDecimal clickNum;
 
-	/*** 省份 **/
+	/*** 鐪佷唤 **/
 	@Column(name = "PROVINCE", length = 255)
 	private String province;
 
-	/*** 城市 **/
+	/*** 鍩庡競 **/
 	@Column(name = "CITY", length = 255)
 	private String city;
 
-	/*** 区域 **/
+	/*** 鍖哄煙 **/
 	@Column(name = "REGION", length = 255)
 	private String region;
 
-	/*** 是否置顶 **/
+	/*** 鏄惁缃《 **/
 	@Column(name = "TOP_FLAG", length = 255)
 	private Boolean topFlag;
 
-	/*** 方式 **/
+	/*** 鏂瑰紡 **/
 	@Column(name = "MODE", length = 255)
 	private String mode;
 
-	/*** 商品ID **/
+	/*** 鍟嗗搧ID **/
 	@Column(name = "GOOD_ID", length = 32)
 	private String goodId;
 
-	/*** 产品ID **/
+	/*** 浜у搧ID **/
 	@Column(name = "PRODUCT_ID", length = 255)
 	private String productId;
 
-	/*** 机构ID **/
+	/*** 鏈烘瀯ID **/
 	@Column(name = "ORG_ID", length = 32)
 	private String orgId;
 
-	/*** 是否有直播 **/
+	/*** 鏄惁鏈夌洿鎾� **/
 	@Column(name = "HAVE_LIVE", length = 1)
 	private Integer haveLive;
 
-	/*** 是否有视频 **/
+	/*** 鏄惁鏈夎棰� **/
 	@Column(name = "HAVE_VIDEO", length = 1)
 	private Integer haveVideo;
 
-	/*** 是否有讲义 **/
+	/*** 鏄惁鏈夎涔� **/
 	@Column(name = "HAVE_HANDOUT", length = 1)
 	private Integer haveHandout;
 
-	/*** 经度 **/
+	/*** 缁忓害 **/
 	@Column(name = "LONGITUDE_X", length = 32)
 	private String logitudeX;
 
-	/*** 纬度 **/
+	/*** 绾害 **/
 	@Column(name = "LATITUDE_Y", length = 32)
 	private String latitudeY;
 
-	/*** 付款人数 **/
+	/*** 浠樻浜烘暟 **/
 	@Column(name = "PAYMENT_NUM", length = 11)
 	private BigInteger paymentNum;
 
-	/*** 是否有推荐奖励 **/
+	/*** 鏄惁鏈夋帹鑽愬鍔� **/
 	@Column(name = "HAVA_AWARD", length = 32)
 	private Integer haveAward;
 
@@ -284,63 +284,63 @@
 	@Transient
 	private String orgShortName;
 
-	// 班级引荐费
+	// 鐝骇寮曡崘璐�
 	@Transient
 	private BigDecimal referFee;
 
-	/** 激活人数 **/
+	/** 婵�娲讳汉鏁� **/
 	@Transient
 	private Integer registCount;
 
-	// ============================新添加字段=================================
-	/** 是否有学生加班审批 */
+	// ============================鏂版坊鍔犲瓧娈�=================================
+	/** 鏄惁鏈夊鐢熷姞鐝鎵� */
 
 	@Column(name = "NEED_JOIN_AUDIT", nullable = false)
 	private Boolean needJoinAudit;
 
-	/** 班级编码 */
+	/** 鐝骇缂栫爜 */
 	@Column(name = "CLASS_NUMBER", nullable = false)
 	private String classNumber;
 
-	/** 是否有需要学生退班审批 */
+	/** 鏄惁鏈夐渶瑕佸鐢熼��鐝鎵� */
 	@Column(name = "NEED_QUIT_AUDIT", nullable = false)
 	private Boolean needQuitAudit;
 
-	/** 完成练习是否显示答案 */
+	/** 瀹屾垚缁冧範鏄惁鏄剧ず绛旀 */
 	@Column(name = "SHOU_ANALYSIS_AFTER_EXER", nullable = false)
 	private Boolean showAnalysisAfterExer;
 
-	/** 是否允许重复练习 */
+	/** 鏄惁鍏佽閲嶅缁冧範 */
 	@Column(name = "CAN_MULTI_EXER", nullable = false)
 	private Boolean canMultiExer;
 
-	/** 是否开通班级论坛 */
+	/** 鏄惁寮�閫氱彮绾ц鍧� */
 	@Column(name = "NEED_FORUM", nullable = false)
 	private Boolean needForum;
 
-	/** 班级老师 */
+	/** 鐝骇鑰佸笀 */
 	@Column(name = "TEACHER_ID", length = 32)
 	private String teacherId;
-	
+
 	@ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.REFRESH)
-	@JoinTable(name = "CLS_CLASS_RE_SUBJECT", joinColumns = { 
-			@JoinColumn(name = "CLASS_ID") }, 
+	@JoinTable(name = "CLS_CLASS_RE_SUBJECT", joinColumns = {
+			@JoinColumn(name = "CLASS_ID") },
 			inverseJoinColumns = { @JoinColumn(name = "SUBJECT_ID") })
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@CollectionId(
-		        columns = @Column(name="CLS_RE_SUBJECT_ID"), 
-		        type=@Type(type="string"), 
-		        generator = "hibernate-uuid"
-		    )
+			columns = @Column(name="CLS_RE_SUBJECT_ID"),
+			type=@Type(type="string"),
+			generator = "hibernate-uuid"
+	)
 	@Where(clause="DELETE_FLAG=0")
 	private List<Subject> subjects = new ArrayList<>();
-	
-	
+
+
 	@ManyToMany(fetch = FetchType.LAZY, mappedBy = "classes")
 	@JsonIgnore
 	private List<MediaVideoLive> videoLives;
-	
+
 
 	public String getTeacherId() {
 		return teacherId;
diff --git a/src/main/java/com/qxueyou/scc/admin/classes/service/IClassService.java b/src/main/java/com/qxueyou/scc/admin/classes/service/IClassService.java
index ddedc65..7bcce08 100644
--- a/src/main/java/com/qxueyou/scc/admin/classes/service/IClassService.java
+++ b/src/main/java/com/qxueyou/scc/admin/classes/service/IClassService.java
@@ -9,14 +9,14 @@
 import com.qxueyou.scc.base.model.Result;
 
 /**
- * 班级管理服务层
+ * 鐝骇绠$悊鏈嶅姟灞�
  *
  * @author chenjunliang
  */
 public interface IClassService {
 
     /**
-     * 新增班级
+     * 鏂板鐝骇
      *
      * @param course
      * @return
@@ -26,14 +26,14 @@
 
 	/**
 	 *
-	 *新增补考分组
+	 *鏂板琛ヨ�冨垎缁�
 	 * @param classTypes
 	 * @return
 	 */
 	Result insertReClass(String className, String classNumber, Date startTime, Date endTime, String subjectId,
 						 String teacherId,String classTypes);
 	/**
-     * 修改班级
+     * 淇敼鐝骇
      *
      * @param course
      * @return
@@ -43,14 +43,14 @@
                        boolean canMultiExer, boolean needForum, String teacherId);
 
     /**
-     * 获取班级列表
+     * 鑾峰彇鐝骇鍒楄〃
      *
      * @return
      */
     List<ClsClass> getClassLst(String keyword, String teacherId, Integer pageSize, Integer pageNum, Integer pageType);
 
     /**
-     * 获取班级列表数量
+     * 鑾峰彇鐝骇鍒楄〃鏁伴噺
      *
      * @return
      */
@@ -62,21 +62,21 @@
     List<ClsClass> listMyClass();
 
     /**
-     * 获取班级考试、作业等活动信息
+     * 鑾峰彇鐝骇鑰冭瘯銆佷綔涓氱瓑娲诲姩淇℃伅
      *
      * @return
      */
     Map<String, Object> getClassActivityInfo(String classId);
 
     /**
-     * 获取班级详情
+     * 鑾峰彇鐝骇璇︽儏
      *
      * @return
      */
     ClsClass read(String classId);
 
     /**
-     * 删除班级
+     * 鍒犻櫎鐝骇
      *
      * @param classIds
      * @return
@@ -84,15 +84,15 @@
     Result deleteClass(String[] classIds);
 
     /**
-     * 新增学生
+     * 鏂板瀛︾敓
      *
-     * @param count 学生数量
+     * @param count 瀛︾敓鏁伴噺
      * @return
      */
     Result addStudent(String classId, int count);
 
     /**
-     * 获取个人已加入班级的课程及学习情况
+     * 鑾峰彇涓汉宸插姞鍏ョ彮绾х殑璇剧▼鍙婂涔犳儏鍐�
      *
      * @param classId
      * @return
@@ -102,20 +102,20 @@
     Result getAllClassLst();
 
     /**
-     * 老师获取班级列表
+     * 鑰佸笀鑾峰彇鐝骇鍒楄〃
      */
     List<ClsClass> getClassLstByTeacherId();
 
     /**
-     * 查询老师或管理员可用的班级ID和名称列表
-     * @param teacherId  根据教师ID过滤
-     * @param subjectId  根据课程ID过滤
+     * 鏌ヨ鑰佸笀鎴栫鐞嗗憳鍙敤鐨勭彮绾D鍜屽悕绉板垪琛�
+     * @param teacherId  鏍规嵁鏁欏笀ID杩囨护
+     * @param subjectId  鏍规嵁璇剧▼ID杩囨护
      * @return
      */
 	List<Map<String, Object>> queryAvailableClassIdAndName(String teacherId,String subjectId);
 
 	/**
-	 * app教师端班级列表
+	 * app鏁欏笀绔彮绾у垪琛�
 	 *
 	 * @param keyword
 	 * @param limit
@@ -125,21 +125,21 @@
 	Result classList(String keyword, Pager pager, int type);
 
 	/**
-	 * 根据班级ID获取班级名字,顺序与传入的id顺序一致
+	 * 鏍规嵁鐝骇ID鑾峰彇鐝骇鍚嶅瓧,椤哄簭涓庝紶鍏ョ殑id椤哄簭涓�鑷�
 	 * @param classIds
 	 * @return
 	 */
 	String [] queryClassNamesByIds(String[] classIds);
 
 	/**
-	 * 根据用户ID查询所用户加入的班级
+	 * 鏍规嵁鐢ㄦ埛ID鏌ヨ鎵�鐢ㄦ埛鍔犲叆鐨勭彮绾�
 	 * @param userId
 	 * @return
 	 */
 	List<ClsClass> queryStudentClassesByUserId(String userId);
 
 	/**
-	 * 查询所有班级信息
+	 * 鏌ヨ鎵�鏈夌彮绾т俊鎭�
 	 * @return
 	 */
 	List<Map<String, Object>> queryAllClassIdAndName();
diff --git a/src/main/java/com/qxueyou/scc/admin/classes/service/impl/ClassLectureService.java b/src/main/java/com/qxueyou/scc/admin/classes/service/impl/ClassLectureService.java
index ce622f0..18a3e55 100644
--- a/src/main/java/com/qxueyou/scc/admin/classes/service/impl/ClassLectureService.java
+++ b/src/main/java/com/qxueyou/scc/admin/classes/service/impl/ClassLectureService.java
@@ -115,13 +115,13 @@
     }
 
     /**
-     * 课程课件
+     * 璇剧▼璇句欢
      *
      */
     @Override
     public Map<String,Object> listLectureBySubjectOrderCreateTime(String subjectId, String classId, String sort, Pager pager) {
     	Subject subject = this.read(Subject.class, subjectId);
-    	if(Subject.TYPE_PUBLIC_SUBJECT == subject.getType()) {//公开课课件
+    	if(Subject.TYPE_PUBLIC_SUBJECT == subject.getType()) {//鍏紑璇捐浠�
     		return this.listOpenLectureBySubjectOrderCreateTime(subjectId, sort, pager);
     	}
 
@@ -152,7 +152,7 @@
     }
 
     /**
-	 * 公开课课件
+	 * 鍏紑璇捐浠�
 	 *
 	 * @param subjectId
 	 * @param sort
@@ -207,9 +207,9 @@
     }
 
     /**
-     * 删除单个章节
+     * 鍒犻櫎鍗曚釜绔犺妭
      *
-     * @param chapterId 章节id
+     * @param chapterId 绔犺妭id
      * @return
      */
     private Result deleteChapter(String chapterId) {
@@ -243,13 +243,13 @@
         lecture.setStatus(res.getStatus());
         save(lecture);
 
-        // 发送消息
+        // 鍙戦�佹秷鎭�
         doPublishMsg(lecture);
 
         return new Result(true, "success");
     }
 
-    //添加课程,发送消息
+    //娣诲姞璇剧▼锛屽彂閫佹秷鎭�
     private void doPublishMsg(ClsSubjectLecture lecture){
     	Subject subject = this.read(Subject.class, lecture.getSubjectId());
 
@@ -257,7 +257,7 @@
     		return ;
     	}
 
-		//查询直播关联的班级
+		//鏌ヨ鐩存挱鍏宠仈鐨勭彮绾�
 		String hql = "select userId from StuStudent  where classId =:classId and deleteFlag is false ";
 
 		List<String> lstUserIds = this.findByComplexHql(hql, CollectionUtils.newObjectMap("classId",lecture.getClassId()), String.class);
@@ -266,7 +266,7 @@
 			Map<String,String> attrs = CollectionUtils.newStringMap("lectureId",lecture.getLectureId(),"lectureName",lecture.getName(),"subjectId",subject.getSubjectId(),
 					"lectureType",lecture.getLectureType(),"subjectName",subject.getName());
 
-			msgInfoService.doSendTextMsgToUsers(lstUserIds.toArray(new String[lstUserIds.size()]),MsgInfo.TYPE_COURSEWARE,"发布了课件",attrs);
+			msgInfoService.doSendTextMsgToUsers(lstUserIds.toArray(new String[lstUserIds.size()]),MsgInfo.TYPE_COURSEWARE,"鍙戝竷浜嗚浠�",attrs);
 		}
 	}
 
@@ -311,7 +311,7 @@
     }
 
     /**
-     * @param lectureId 课件id
+     * @param lectureId 璇句欢id
      * @return
      */
     private Result deleteLecture(String lectureId) {
@@ -320,7 +320,7 @@
         TraceUtils.setUpdateTrace(lecture);
         lecture.setDeleteFlag(true);
         save(lecture);
-        deleteProgress(lectureId);// 删除对应的进度
+        deleteProgress(lectureId);// 鍒犻櫎瀵瑰簲鐨勮繘搴�
         return new Result(true, "success");
     }
 
@@ -411,7 +411,7 @@
     }
 
     /**
-     * 我的公开课课件查询
+     * 鎴戠殑鍏紑璇捐浠舵煡璇�
      *
      * @param subjectId
      * @return
@@ -439,7 +439,7 @@
     }
 
     /**
-     * 查询数量
+     * 鏌ヨ鏁伴噺
      *
      * @param subjectId
      * @param classId
@@ -459,7 +459,7 @@
         ClsSubjectLecture lecture = read(ClsSubjectLecture.class, lectureId);
 		String resItemId = null;
 		if(lecture == null) {
-			resItemId = read(SubjectLecture.class, lectureId).getResItemId();//班级课件
+			resItemId = read(SubjectLecture.class, lectureId).getResItemId();//鐝骇璇句欢
 		}else {
 			resItemId = lecture.getResItemId();
 		}
@@ -598,7 +598,7 @@
     @Override
     public Result listSubjectLecture(String classId, String sort, Pager pager) {
     	if(StringUtils.isEmpty(classId)) {
-    		return new Result(false, "班级id不能为空");
+    		return new Result(false, "鐝骇id涓嶈兘涓虹┖");
     	}
     	QMyLectureV qMyLectureV = QMyLectureV.myLectureV;
 
@@ -614,7 +614,7 @@
 
     	long count = query.fetchCount();
 
-    	// 获取查询结果集合
+    	// 鑾峰彇鏌ヨ缁撴灉闆嗗悎
 		QueryResults<MyLectureV> results = query.limit(pager.getPageSize()).offset(pager.getOffset()).orderBy(order).fetchResults();
 
 		List<Map<String,Object>> resultLst =
@@ -648,7 +648,7 @@
     }
 
     /**
-     * 删除对应的课件
+     * 鍒犻櫎瀵瑰簲鐨勮浠�
      *
      * @param chapterId
      * @return
@@ -663,7 +663,7 @@
 
 
     /**
-     * 获取章节下的课件
+     * 鑾峰彇绔犺妭涓嬬殑璇句欢
      *
      * @param chapterLst
      * @param lectures
@@ -693,7 +693,7 @@
     }
 
     /**
-     * 获取章节的第一层数据
+     * 鑾峰彇绔犺妭鐨勭涓�灞傛暟鎹�
      *
      * @param chapterLst
      * @return
@@ -742,7 +742,7 @@
 	}
 
 	 /**
-     * 课件按目录分类
+     * 璇句欢鎸夌洰褰曞垎绫�
      *
      * @param classId
      * @param subjectId
@@ -752,9 +752,9 @@
     public Result coursewareChapterList(String classId,String subjectId, String type) {
     	Subject subject = this.read(Subject.class, subjectId);
 
-    	if(Subject.TYPE_PUBLIC_SUBJECT == subject.getType() || Subject.TYPE_ORG_SUBJECT == subject.getType()) {//公开课和管理员课程
+    	if(Subject.TYPE_PUBLIC_SUBJECT == subject.getType() || Subject.TYPE_ORG_SUBJECT == subject.getType()) {//鍏紑璇惧拰绠$悊鍛樿绋�
     		QSubjectLecture qSubjectLecture = QSubjectLecture.subjectLecture;
-    		//课件
+    		//璇句欢
     		List<Map<String, Object>> lectures = this.listStuLectureByOpenSubject(subjectId);
 
     		List<SubjectChapter> lstSubjectChapterLst = this.getListOpenChapter(subjectId);
@@ -766,15 +766,15 @@
     				try {
 						BeanUtils.copyProperties(objClsSubjectChapter, objSubjectChapter);
 					} catch (IllegalAccessException e) {
-						log.error("拷贝属性失败BeanUtils.copyProperties(objClsSubjectChapter, objSubjectChapter)", e);
+						log.error("鎷疯礉灞炴�уけ璐eanUtils.copyProperties(objClsSubjectChapter, objSubjectChapter)", e);
 					} catch (InvocationTargetException e) {
-						log.error("拷贝属性失败BeanUtils.copyProperties(objClsSubjectChapter, objSubjectChapter)", e);
+						log.error("鎷疯礉灞炴�уけ璐eanUtils.copyProperties(objClsSubjectChapter, objSubjectChapter)", e);
 					}
 
     				lstClsSubjectChapter.add(objClsSubjectChapter);
     			}
     		}
-    		//章节
+    		//绔犺妭
     		List<ClsSubjectChapter> chapterLst = this.getChapterLectures(lstClsSubjectChapter, lectures);
 
     		long count =  this.getQueryFactory().selectFrom(qSubjectLecture)
@@ -785,9 +785,9 @@
     				CollectionUtils.newStringMap("name", "name", "chapterId", "chapterId", "lectures", "lectures"))));
 
     	}else{
-    		//课件
+    		//璇句欢
     		List<Map<String, Object>> lectures = this.listStuLectureBySubject(subjectId, classId);
-    		//章节
+    		//绔犺妭
     		List<ClsSubjectChapter> chapterLst = this.getChapterLectures(this.getListChapter(classId, subjectId, null), lectures);
 
     		return new Result(true, "success", CollectionUtils.newObjectMap("count",this.stuLectureCountBySubject(subjectId, classId), "listData", QBeanUtils.listBean2ListMap(chapterLst,
diff --git a/src/main/java/com/qxueyou/scc/admin/classes/service/impl/ClsClassService.java b/src/main/java/com/qxueyou/scc/admin/classes/service/impl/ClsClassService.java
index 2b9e1a3..3aa4e02 100644
--- a/src/main/java/com/qxueyou/scc/admin/classes/service/impl/ClsClassService.java
+++ b/src/main/java/com/qxueyou/scc/admin/classes/service/impl/ClsClassService.java
@@ -34,7 +34,7 @@
 import com.qxueyou.scc.teach.subject.model.Subject;
 
 /**
- * 班级服务类
+ * 鐝骇鏈嶅姟绫�
  *
  * @author xiadehu
  */
@@ -57,7 +57,7 @@
     ILectureService lectureService;
 
     /**
-     * 添加班级
+     * 娣诲姞鐝骇
      */
     @Override
     public Result insertClass(String className, String classNumber, Date startTime, Date endTime, String subjectId,
@@ -77,7 +77,7 @@
         return new Result(true, "success",CollectionUtils.newStringMap("classId",cls.getClassId()));
     }
     /**
-     * 添加补考班级班级
+     * 娣诲姞琛ヨ�冪彮绾х彮绾�
      */
     @Override
     public Result insertReClass(String className, String classNumber, Date startTime, Date endTime, String subjectId,
@@ -136,7 +136,7 @@
     }
 
     /**
-     * 获取班级列表
+     * 鑾峰彇鐝骇鍒楄〃
      */
     @Override
     public List<ClsClass> getClassLst(String keyword, String teacherId, Integer pageSize, Integer pageNum, Integer pageType) {
@@ -197,15 +197,15 @@
     }
 
     /**
-     * 删除班级
+     * 鍒犻櫎鐝骇
      */
     @Override
     public Result deleteClass(String[] classIds) {
         for (String classId : classIds) {
             deleteClass(classId);
-            //删除班级学员
+            //鍒犻櫎鐝骇瀛﹀憳
             this.deleteStudent(classId);
-            //删除班级课程
+            //鍒犻櫎鐝骇璇剧▼
             this.deleteClassSubject(classId);
         }
 
@@ -213,21 +213,21 @@
     }
 
     /**
-     * 删除班级学员
+     * 鍒犻櫎鐝骇瀛﹀憳
      */
     private void deleteStudent(String classId) {
         this.bulkUpdate("update StuStudent set deleteFlag = 1 where classId = ?", new Object[] {classId});
     }
 
     /**
-     * 删除班级课程
+     * 鍒犻櫎鐝骇璇剧▼
      */
     private void deleteClassSubject(String classId) {
         this.bulkUpdate("delete from ClsClassReSubject  where classId=?", new Object[] {classId});
     }
 
     /**
-     * @param classId 班级id
+     * @param classId 鐝骇id
      * @return
      */
     private Result deleteClass(String classId) {
@@ -317,7 +317,7 @@
     @Override
     public List<Map<String,Object>> queryAvailableClassIdAndName(String teacherId,String subjectId) {
     	StringBuffer hql = new StringBuffer(1000);
-    	// and c.endTime>=sysdate() 增加条件过滤掉历史班级
+    	// and c.endTime>=sysdate() 澧炲姞鏉′欢杩囨护鎺夊巻鍙茬彮绾�
     	hql.append("select c.classId as classId ,c.name as className from ClsClass c where c.deleteFlag is false and c.orgId=:orgId and c.createId=:createId " );
     	Map<String,Object> queryParam = new HashMap<String,Object>();
     	queryParam.put("orgId", ClientUtils.getOrgId());
@@ -356,22 +356,22 @@
 
 
 	/**
-	 * 查询班级
+	 * 鏌ヨ鐝骇
 	 *
-	 * type 1正常班級,2历史班級
+	 * type 1姝e父鐝礆锛�2鍘嗗彶鐝礆
 	 */
 	public Result classList(String keyword, Pager pager, int type) {
-		//获取老师id
+		//鑾峰彇鑰佸笀id
 		String teacherId = teacherService.getTeacherIdByUserId(ClientUtils.getUserId());
 		if (StringUtils.isEmpty(teacherId)) {
-			return new Result(false, "非老师角色无法查看班级");
+			return new Result(false, "闈炶�佸笀瑙掕壊鏃犳硶鏌ョ湅鐝骇");
 		}
 		QClsClass qClsClass = QClsClass.clsClass;
 		QSubject qSubject = QSubject.subject;
 		QClsClassReSubject qClsClassReSubject = QClsClassReSubject.clsClassReSubject;
 		QSubjectProgressTreeV qSubjectProgressTreeV = QSubjectProgressTreeV.subjectProgressTreeV;
 
-		//查询脚本
+		//鏌ヨ鑴氭湰
 		JPAQuery<Tuple> queryDsl = this.getQueryFactory()
 				.select(qClsClass.name, qClsClass.classId, qClsClass.classNumber, qClsClass.studentCount,
 						qClsClass.createTime, qClsClass.startTime, qClsClass.endTime, qSubject)
@@ -383,7 +383,7 @@
 						.and(qClsClassReSubject.subjectId.eq(qSubject.subjectId)))
 				.groupBy(qClsClass.classId);
 
-		//总数
+		//鎬绘暟
 		long count = queryDsl.fetchCount();
 
 		//listData
@@ -408,7 +408,7 @@
 												.and(qSubjectProgressTreeV.nodeType.eq(Progress.PROGRESS_TYPE_SUBJECT)))
 										.groupBy(qSubjectProgressTreeV.id.nodeId).fetchOne());
 					} else {
-						map.put("subjectName", "暂无开班课程");
+						map.put("subjectName", "鏆傛棤寮�鐝绋�");
 						map.put("progressPercent", 0);
 					}
 					return map;
diff --git a/src/main/java/com/qxueyou/scc/admin/classroom/model/ClassRoom.java b/src/main/java/com/qxueyou/scc/admin/classroom/model/ClassRoom.java
index 4f9703e..caadf20 100644
--- a/src/main/java/com/qxueyou/scc/admin/classroom/model/ClassRoom.java
+++ b/src/main/java/com/qxueyou/scc/admin/classroom/model/ClassRoom.java
@@ -30,7 +30,7 @@
 	private static final long serialVersionUID = -8815707507227185401L;
 	
 	/*
-	 * 草稿 :0  已发布:1
+	 * 鑽夌 :0  宸插彂甯冿細1
 	 */
 	public static final short STATUS_DRAFT = 0;
 	
@@ -58,25 +58,25 @@
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date createTime;
 
-	/** 修改人ID */
+	/** 淇敼浜篒D */
 	@Column(name = "UPDATE_ID", length = 32)
 	private String updateId;
 
-	/** 修改时间 */
+	/** 淇敼鏃堕棿 */
 	@Column(name = "UPDATE_TIME", nullable = false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date updateTime;
 
-	/** 修改人 */
+	/** 淇敼浜� */
 	@Column(name = "UPDATOR", length = 100)
 	private String updator;
 
-	/** 删除标志 */
+	/** 鍒犻櫎鏍囧織 */
 	@Column(name = "DELETE_FLAG", nullable = false)
 	@JsonIgnore
 	private boolean deleteFlag;
 	
-	/** 状态 */
+	/** 鐘舵�� */
 	private short status;
 	
 	@Column(name="ORG_ID")
diff --git a/src/main/java/com/qxueyou/scc/admin/classroom/service/IClassRoomService.java b/src/main/java/com/qxueyou/scc/admin/classroom/service/IClassRoomService.java
index dee0205..27b232d 100644
--- a/src/main/java/com/qxueyou/scc/admin/classroom/service/IClassRoomService.java
+++ b/src/main/java/com/qxueyou/scc/admin/classroom/service/IClassRoomService.java
@@ -10,82 +10,82 @@
 public interface IClassRoomService {
 
 	/**
-	 * 新增教室
+	 * 鏂板鏁欏
 	 * 
-	 * @param ClassRoom 教室
+	 * @param ClassRoom 鏁欏
 	 *            
 	 * @return
 	 */
 	String add(ClassRoom classRoom);
 
 	/**
-	 * 修改教室
+	 * 淇敼鏁欏
 	 * 
-	 * @param ClassRoom 教室
+	 * @param ClassRoom 鏁欏
 	 * 
 	 * @return
 	 */
 	Result update(ClassRoom classRoom);
 
 	/**
-	 * 删除教室
+	 * 鍒犻櫎鏁欏
 	 * 
-	 * @param roomIds  课表ID数组
+	 * @param roomIds  璇捐〃ID鏁扮粍
 	 *           
 	 */
 	Result delete(String[] roomIds);
 
 	/**
-	 * 发布教室
+	 * 鍙戝竷鏁欏
 	 * 
-	 * @param roomIds  教室ID数组
+	 * @param roomIds  鏁欏ID鏁扮粍
 	 *           
 	 */
 	Result doRelease(String[] roomIds);
 
 	/**
-	 * 撤回教室
+	 * 鎾ゅ洖鏁欏
 	 * 
-	 * @param roomIds 教室id数组
+	 * @param roomIds 鏁欏id鏁扮粍
 	 *            
 	 */
 	Result doCancel(String[] roomIds);
 
 	/**
-	 * 查询教室
+	 * 鏌ヨ鏁欏
 	 * 
-	 * @param keyword   搜索文本(教室名称)
+	 * @param keyword   鎼滅储鏂囨湰(鏁欏鍚嶇О)
 	 *           
-     * @param status  状态
+     * @param status  鐘舵��
 	 *           
-	 * @param pageSize 页码
+	 * @param pageSize 椤电爜
 	 *            
-	 * @param pageNum   每页显示行数
+	 * @param pageNum   姣忛〉鏄剧ず琛屾暟
 	 *           
-	 * @return 返回课程列表
+	 * @return 杩斿洖璇剧▼鍒楄〃
 	 */
 	List<ClassRoom> list(String keyword,Short status,Integer pageSize, Integer pageNum);
 
 	/**
-	 * 查询教室个数
+	 * 鏌ヨ鏁欏涓暟
 	 * 
-	 * @param keyword 搜索文本(教室名称)
+	 * @param keyword 鎼滅储鏂囨湰锛堟暀瀹ゅ悕绉帮級
 	 *            
-	 * @return 返回教室总数
+	 * @return 杩斿洖鏁欏鎬绘暟
 	 */
 	int listCount(String keyword,Short status);
 
 	/**
-	 * 读取教室详情
+	 * 璇诲彇鏁欏璇︽儏
 	 * 
-	 * @param roomId 教室ID
+	 * @param roomId 鏁欏ID
 	 *            
-	 * @return 返回教室详情信息
+	 * @return 杩斿洖鏁欏璇︽儏淇℃伅
 	 */
 	ClassRoom detail(String roomId);
 	
 	/**
-	 * 获取教室ID和名称列表
+	 * 鑾峰彇鏁欏ID鍜屽悕绉板垪琛�
 	 * @return
 	 */
 	List<Map<String, Object>> queryAllRoomIdAndNames();
diff --git a/src/main/java/com/qxueyou/scc/admin/classroom/service/impl/ClassRoomService.java b/src/main/java/com/qxueyou/scc/admin/classroom/service/impl/ClassRoomService.java
index 7e9a5d1..d75b99e 100644
--- a/src/main/java/com/qxueyou/scc/admin/classroom/service/impl/ClassRoomService.java
+++ b/src/main/java/com/qxueyou/scc/admin/classroom/service/impl/ClassRoomService.java
@@ -31,7 +31,7 @@
 		ClassRoom newClassRoom = read(ClassRoom.class, classRoom.getRoomId());
 
 		if (newClassRoom == null) {
-			return new Result(false, "教室不存在");
+			return new Result(false, "鏁欏涓嶅瓨鍦�");
 		}
 
 		TraceUtils.setUpdateTrace(newClassRoom);
@@ -53,7 +53,7 @@
 	@Override
 	public Result doRelease(String[] roomIds) {
 		if(roomIds==null || roomIds.length==0){
-			return new Result(false, "没有选择要发布的教室");
+			return new Result(false, "娌℃湁閫夋嫨瑕佸彂甯冪殑鏁欏");
 		}
 		
 		List<ClassRoom> lstClsRoom = this.findByComplexHql("from ClassRoom where roomId in (:roomIds)", 
@@ -61,7 +61,7 @@
 
 		for (ClassRoom room : lstClsRoom) {
 			if (ExamInfo.STATUS_DRAFT != room.getStatus()) {
-				return new Result(false, "只有草稿状态的教室,才能发布。");
+				return new Result(false, "鍙湁鑽夌鐘舵�佺殑鏁欏,鎵嶈兘鍙戝竷銆�");
 			}
 			room.setStatus(ClassRoom.STATUS_PUBLISH);
 			TraceUtils.setUpdateTrace(room);
@@ -74,7 +74,7 @@
 	@Override
 	public Result doCancel(String[] roomIds) {
 		if(roomIds==null || roomIds.length==0){
-			return new Result(false, "没有选择要撤回的教室");
+			return new Result(false, "娌℃湁閫夋嫨瑕佹挙鍥炵殑鏁欏");
 		}
 		
 		List<ClassRoom> lstClsRoom = this.findByComplexHql("from ClassRoom where roomId in (:roomIds)", 
@@ -82,7 +82,7 @@
 		
 		for (ClassRoom room : lstClsRoom) {
 			if (ExamInfo.STATUS_PUBLISH != room.getStatus()) {
-				return new Result(false, "只有发布状态的 教室,才能撤回");
+				return new Result(false, "鍙湁鍙戝竷鐘舵�佺殑 鏁欏,鎵嶈兘鎾ゅ洖");
 			}
 			room.setStatus(ExamInfo.STATUS_DRAFT);
 			TraceUtils.setUpdateTrace(room);
diff --git a/src/main/java/com/qxueyou/scc/admin/course/model/CourseSchedule.java b/src/main/java/com/qxueyou/scc/admin/course/model/CourseSchedule.java
index 23bcffb..6833825 100644
--- a/src/main/java/com/qxueyou/scc/admin/course/model/CourseSchedule.java
+++ b/src/main/java/com/qxueyou/scc/admin/course/model/CourseSchedule.java
@@ -50,14 +50,14 @@
 	private static final long serialVersionUID = -6281684815713519425L;
 
 	/*
-	 * 草稿 :0  已发布:1
+	 * 鑽夌 :0  宸插彂甯冿細1
 	 */
 	public static final short STATUS_DRAFT = 0;
 	
 	public static final short STATUS_PUBLISH = 1;
 		
 	/*
-	 * 非开放 :0  ,开放:1
+	 * 闈炲紑鏀� :0  锛屽紑鏀撅細1
 	 */
 	public static final short OPEN_FALSE = 0;
 	
@@ -132,23 +132,23 @@
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date createTime;
 
-	/** 修改人ID */
+	/** 淇敼浜篒D */
 	@Column(name = "UPDATE_ID", length = 32)
 	private String updateId;
 
-	/** 修改时间 */
+	/** 淇敼鏃堕棿 */
 	@Column(name = "UPDATE_TIME", nullable = false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date updateTime;
 
-	/** 修改人 */
+	/** 淇敼浜� */
 	@Column(name = "UPDATOR", length = 100)
 	private String updator;
 	
 	@Column(name="ORG_ID")
 	private String orgId;
 
-	/** 删除标志 */
+	/** 鍒犻櫎鏍囧織 */
 	@Column(name = "DELETE_FLAG", nullable = false)
 	@JsonIgnore
 	private boolean deleteFlag;
diff --git a/src/main/java/com/qxueyou/scc/admin/course/model/CourseScheduleDetail.java b/src/main/java/com/qxueyou/scc/admin/course/model/CourseScheduleDetail.java
index 68a9479..871b038 100644
--- a/src/main/java/com/qxueyou/scc/admin/course/model/CourseScheduleDetail.java
+++ b/src/main/java/com/qxueyou/scc/admin/course/model/CourseScheduleDetail.java
@@ -60,20 +60,20 @@
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date createTime;
 
-	/** 修改人ID */
+	/** 淇敼浜篒D */
 	@Column(name = "UPDATE_ID", length = 32)
 	private String updateId;
 
-	/** 修改时间 */
+	/** 淇敼鏃堕棿 */
 	@Column(name = "UPDATE_TIME", nullable = false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date updateTime;
 
-	/** 修改人 */
+	/** 淇敼浜� */
 	@Column(name = "UPDATOR", length = 100)
 	private String updator;
 
-	/** 删除标志 */
+	/** 鍒犻櫎鏍囧織 */
 	@Column(name = "DELETE_FLAG", nullable = false)
 	@JsonIgnore
 	private boolean deleteFlag;
diff --git a/src/main/java/com/qxueyou/scc/admin/course/model/CourseScheduleReCls.java b/src/main/java/com/qxueyou/scc/admin/course/model/CourseScheduleReCls.java
index 4f9c6cf..86e674c 100644
--- a/src/main/java/com/qxueyou/scc/admin/course/model/CourseScheduleReCls.java
+++ b/src/main/java/com/qxueyou/scc/admin/course/model/CourseScheduleReCls.java
@@ -60,20 +60,20 @@
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date createTime;
 
-	/** 修改人ID */
+	/** 淇敼浜篒D */
 	@Column(name = "UPDATE_ID", length = 32)
 	private String updateId;
 
-	/** 修改时间 */
+	/** 淇敼鏃堕棿 */
 	@Column(name = "UPDATE_TIME", nullable = false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date updateTime;
 
-	/** 修改人 */
+	/** 淇敼浜� */
 	@Column(name = "UPDATOR", length = 100)
 	private String updator;
 
-	/** 删除标志 */
+	/** 鍒犻櫎鏍囧織 */
 	@Column(name = "DELETE_FLAG", nullable = false)
 	@JsonIgnore
 	private boolean deleteFlag;
diff --git a/src/main/java/com/qxueyou/scc/admin/course/service/ICourseScheduleService.java b/src/main/java/com/qxueyou/scc/admin/course/service/ICourseScheduleService.java
index 8a6ec47..5925776 100644
--- a/src/main/java/com/qxueyou/scc/admin/course/service/ICourseScheduleService.java
+++ b/src/main/java/com/qxueyou/scc/admin/course/service/ICourseScheduleService.java
@@ -9,82 +9,82 @@
 public interface ICourseScheduleService {
 	
 	/**
-	 * 新增课表
+	 * 鏂板璇捐〃
 	 * 
-	 * @param courseSchedule 课表
+	 * @param courseSchedule 璇捐〃
 	 *            
 	 * @return
 	 */
 	String add(CourseSchedule courseSchedule)  throws Exception;
 
 	/**
-	 * 修改课表
+	 * 淇敼璇捐〃
 	 * 
-	 * @param courseSchedule 课表
+	 * @param courseSchedule 璇捐〃
 	 * 
 	 * @return
 	 */
 	Result update(CourseSchedule courseSchedule)  throws Exception;
 
 	/**
-	 * 删除课表
+	 * 鍒犻櫎璇捐〃
 	 * 
-	 * @param scheduleIds  课表ID数组
+	 * @param scheduleIds  璇捐〃ID鏁扮粍
 	 *           
 	 */
 	Result delete(String[] scheduleIds);
 
 	/**
-	 * 发布课表
+	 * 鍙戝竷璇捐〃
 	 * 
-	 * @param scheduleIds  课表ID数组
+	 * @param scheduleIds  璇捐〃ID鏁扮粍
 	 *           
 	 */
 	Result doRelease(String[] scheduleIds);
 
 	/**
-	 * 撤回课表
+	 * 鎾ゅ洖璇捐〃
 	 * 
-	 * @param scheduleIds 课表id数组
+	 * @param scheduleIds 璇捐〃id鏁扮粍
 	 *            
 	 */
 	Result doCancel(String[] scheduleIds);
 
 	/**
-	 * 查询课表
+	 * 鏌ヨ璇捐〃
 	 * 
-	 * @param keyword   搜索文本(课程名称)
+	 * @param keyword   鎼滅储鏂囨湰(璇剧▼鍚嶇О)
 	 *           
-     * @param status  状态
+     * @param status  鐘舵��
 	 *           
-	 * @param pageSize 页码
+	 * @param pageSize 椤电爜
 	 *            
-	 * @param pageNum   每页显示行数
+	 * @param pageNum   姣忛〉鏄剧ず琛屾暟
 	 *           
-	 * @return 返回课程列表
+	 * @return 杩斿洖璇剧▼鍒楄〃
 	 */
 	List<CourseSchedule> list(String keyword,Short status,Integer pageSize, Integer pageNum);
 
 	/**
-	 * 查询课表个数
+	 * 鏌ヨ璇捐〃涓暟
 	 * 
-	 * @param keyword 搜索文本
+	 * @param keyword 鎼滅储鏂囨湰
 	 *            
-	 * @return 返回课表总数
+	 * @return 杩斿洖璇捐〃鎬绘暟
 	 */
 	int listCount(String keyword,Short status);
 
 	/**
-	 * 读取课表详情
+	 * 璇诲彇璇捐〃璇︽儏
 	 * 
-	 * @param scheduleId 课表ID
+	 * @param scheduleId 璇捐〃ID
 	 *            
-	 * @return 返回课表列表
+	 * @return 杩斿洖璇捐〃鍒楄〃
 	 */
 	CourseSchedule detail(String scheduleId);
 
 	/**
-	 * 获取课程列表
+	 * 鑾峰彇璇剧▼鍒楄〃
 	 * @param date
 	 * @param pageSize
 	 * @param pageNum
@@ -94,7 +94,7 @@
 	List<CourseSchedule> listTeacherOfSchedule(String date, Integer pageSize, Integer pageNum) throws Exception;
 	
 	/**
-	 * 获取课程列表数量
+	 * 鑾峰彇璇剧▼鍒楄〃鏁伴噺
 	 * @param date
 	 * @param pageSize
 	 * @param pageNum
@@ -104,7 +104,7 @@
 	int listTeacherOfScheduleCount(String date, Integer pageSize, Integer pageNum) throws ParseException;
 	
 	/**
-	 * 获取学生课表列表
+	 * 鑾峰彇瀛︾敓璇捐〃鍒楄〃
 	 * @param date
 	 * @param pageSize
 	 * @param pageNum
@@ -114,7 +114,7 @@
 	List<CourseSchedule> listStudentSchedule(String date, Integer pageSize, Integer pageNum) throws Exception;
 	
 	/**
-	 * 获取学生课表列表数量
+	 * 鑾峰彇瀛︾敓璇捐〃鍒楄〃鏁伴噺
 	 * @param date
 	 * @param pageSize
 	 * @param pageNum
@@ -124,7 +124,7 @@
 	int listStudentScheduleCount(String date, Integer pageSize, Integer pageNum) throws Exception;
 	
 	/**
-	 * 查询有课日期标识
+	 * 鏌ヨ鏈夎鏃ユ湡鏍囪瘑
 	 * @param year
 	 * @param month
 	 * @return
diff --git a/src/main/java/com/qxueyou/scc/admin/course/service/impl/CourseScheduleService.java b/src/main/java/com/qxueyou/scc/admin/course/service/impl/CourseScheduleService.java
index d73ba88..90a97ef 100644
--- a/src/main/java/com/qxueyou/scc/admin/course/service/impl/CourseScheduleService.java
+++ b/src/main/java/com/qxueyou/scc/admin/course/service/impl/CourseScheduleService.java
@@ -47,7 +47,7 @@
 		courseSchedule.setOrgId(ClientUtils.getOrgId());
 		courseSchedule.setStatus(CourseSchedule.STATUS_DRAFT);
 		
-		//保存教师信息
+		//淇濆瓨鏁欏笀淇℃伅
 		UserTeacher teacher= teacherService.getTeacherByUserId(ClientUtils.getUserId());
 		
 		if(teacher!=null){
@@ -68,11 +68,11 @@
 		
 		this.insert(courseSchedule);
 		
-		//生成关联关系
+		//鐢熸垚鍏宠仈鍏崇郴
 		List<String> lstClassIds= QBeanUtils.listPropertyVal(courseSchedule.getReClasses(), "classId");
 		this.doClearAndAddReClass(courseSchedule.getScheduleId(),lstClassIds==null?null:lstClassIds.toArray(new String[lstClassIds.size()]));
 		
-		//生成明细
+		//鐢熸垚鏄庣粏
 		this.doCreateScheduleDetail(courseSchedule);
 		
 		return courseSchedule.getScheduleId();
@@ -83,7 +83,7 @@
 		CourseSchedule newCourseSchedule = read(CourseSchedule.class, courseSchedule.getScheduleId());
 
 		if (newCourseSchedule == null) {
-			return new Result(false, "课表不存在");
+			return new Result(false, "璇捐〃涓嶅瓨鍦�");
 		}
 
 		TraceUtils.setUpdateTrace(newCourseSchedule);
@@ -100,7 +100,7 @@
 		newCourseSchedule.setSatTime(courseSchedule.getSatTime());
 		newCourseSchedule.setSumTime(courseSchedule.getSumTime());
 		
-		//保存教师信息
+		//淇濆瓨鏁欏笀淇℃伅
 		UserTeacher teacher= teacherService.getTeacherByUserId(ClientUtils.getUserId());
 				
 		if(teacher!=null){
@@ -123,18 +123,18 @@
 		
 		List<String> lstClassIds= QBeanUtils.listPropertyVal(newCourseSchedule.getReClasses(), "classId");
 		
-		//更新关联关系
+		//鏇存柊鍏宠仈鍏崇郴
 		this.doClearAndAddReClass(courseSchedule.getScheduleId(),lstClassIds==null?null:lstClassIds.toArray(new String[lstClassIds.size()]));
 		
-		//生成明细
+		//鐢熸垚鏄庣粏
 		this.doCreateScheduleDetail(courseSchedule);
 		
-		// 保存课程班级信息
+		// 淇濆瓨璇剧▼鐝骇淇℃伅
 		return new Result(true);
 	}
 	
 	/**
-	 * 清理并添加直播权限班级
+	 * 娓呯悊骞舵坊鍔犵洿鎾潈闄愮彮绾�
 	 * @param liveId
 	 * @param classIds
 	 */
@@ -142,7 +142,7 @@
 		List<String>  reIdLst =  this.find("select r.reId from CourseScheduleReCls r where r.scheduleId=?",
 					CollectionUtils.newList(scheduleId), String.class);
 
-		//删除关联关系
+		//鍒犻櫎鍏宠仈鍏崇郴
 		if(reIdLst!=null && reIdLst.size()>0){
 			this.bulkUpdateInLoop("delete from CourseScheduleReCls where reId=?", reIdLst.toArray());  
 		}
@@ -171,7 +171,7 @@
 	@Override
 	public Result doRelease(String[] scheduleIds) {
 		if(scheduleIds==null || scheduleIds.length==0){
-			return new Result(false, "没有选择要发布的课表");
+			return new Result(false, "娌℃湁閫夋嫨瑕佸彂甯冪殑璇捐〃");
 		}
 		
 		List<CourseSchedule> lstCourseSchedule = this.findByComplexHql("from CourseSchedule where scheduleId in (:scheduleIds)", 
@@ -179,7 +179,7 @@
 
 		for (CourseSchedule schedule : lstCourseSchedule) {
 			if (CourseSchedule.STATUS_DRAFT != schedule.getStatus()) {
-				return new Result(false, "只有草稿状态的课表,才能发布。");
+				return new Result(false, "鍙湁鑽夌鐘舵�佺殑璇捐〃,鎵嶈兘鍙戝竷銆�");
 			}
 			schedule.setStatus(ClassRoom.STATUS_PUBLISH);
 			TraceUtils.setUpdateTrace(schedule);
@@ -192,7 +192,7 @@
 	@Override
 	public Result doCancel(String[] scheduleIds) {
 		if(scheduleIds==null || scheduleIds.length==0){
-			return new Result(false, "没有选择要撤回的课表");
+			return new Result(false, "娌℃湁閫夋嫨瑕佹挙鍥炵殑璇捐〃");
 		}
 		
 		List<CourseSchedule> lstCourseSchedule = this.findByComplexHql("from CourseSchedule where scheduleId in (:scheduleIds)", 
@@ -200,7 +200,7 @@
 		
 		for (CourseSchedule schedule : lstCourseSchedule) {
 			if (CourseSchedule.STATUS_PUBLISH != schedule.getStatus()) {
-				return new Result(false, "只有发布状态的课表,才能撤回");
+				return new Result(false, "鍙湁鍙戝竷鐘舵�佺殑璇捐〃,鎵嶈兘鎾ゅ洖");
 			}
 			schedule.setStatus(ExamInfo.STATUS_DRAFT);
 			TraceUtils.setUpdateTrace(schedule);
@@ -247,7 +247,7 @@
 		return this.read(CourseSchedule.class, courseScheduleId);
 	}
 	
-	//查询当前的课表明细信息,
+	//鏌ヨ褰撳墠鐨勮琛ㄦ槑缁嗕俊鎭紝
 	@Override
 	public List<CourseSchedule> listTeacherOfSchedule(String date,Integer pageSize, Integer pageNum) throws Exception{
 		
@@ -275,7 +275,7 @@
 		return findList(hql.toString(),new Pager(pageSize, pageNum),params, CourseSchedule.class);
 	}	
 	
-	//查询当前的课表明细信息
+	//鏌ヨ褰撳墠鐨勮琛ㄦ槑缁嗕俊鎭�
 	@Override
 	public int listTeacherOfScheduleCount(String date,Integer pageSize, Integer pageNum) throws ParseException{
 		
@@ -301,7 +301,7 @@
 		return findCount(hql.toString(),params);
 	}
 	
-	//查询当前的课表明细信息
+	//鏌ヨ褰撳墠鐨勮琛ㄦ槑缁嗕俊鎭�
 	@Override
 	public List<CourseSchedule> listStudentSchedule(String date,Integer pageSize, Integer pageNum) throws Exception{
 		StringBuffer hql = new StringBuffer(1000);
@@ -323,7 +323,7 @@
 		return findList(hql.toString(),new Pager(pageSize, pageNum),params, CourseSchedule.class);
 	}
 	
-	//查询当前的课表明细信息
+	//鏌ヨ褰撳墠鐨勮琛ㄦ槑缁嗕俊鎭�
 	@Override
 	public int listStudentScheduleCount(String date,Integer pageSize, Integer pageNum) throws Exception{
 		StringBuffer hql = new StringBuffer(1000);
@@ -345,12 +345,12 @@
 	}
 
 	
-	//生成明细数据
+	//鐢熸垚鏄庣粏鏁版嵁
 	private void doCreateScheduleDetail(CourseSchedule  courseSchedule) throws Exception{
 		SimpleDateFormat sdf = new SimpleDateFormat(SHORT_DATE_FORMAT);
 		String scheduleId = courseSchedule.getScheduleId();
 		
-		//清理旧的关联关系
+		//娓呯悊鏃х殑鍏宠仈鍏崇郴
 		List<String>  detailIdLst =  this.find("select d.detailId from CourseScheduleDetail d where d.scheduleId=?",
 				CollectionUtils.newList(scheduleId), String.class);
 
@@ -358,7 +358,7 @@
 			this.bulkUpdateInLoop("delete from CourseScheduleDetail  where detailId=?", detailIdLst.toArray());  
 		}
 			
-		//重新生成新的明细
+		//閲嶆柊鐢熸垚鏂扮殑鏄庣粏
 		Calendar cal = Calendar.getInstance();
 		cal.setTime(courseSchedule.getBeginTime());
 		cal.set(Calendar.HOUR, 0);
diff --git a/src/main/java/com/qxueyou/scc/admin/examroom/model/ExamRoom.java b/src/main/java/com/qxueyou/scc/admin/examroom/model/ExamRoom.java
index 9637d9e..0f9e1c3 100644
--- a/src/main/java/com/qxueyou/scc/admin/examroom/model/ExamRoom.java
+++ b/src/main/java/com/qxueyou/scc/admin/examroom/model/ExamRoom.java
@@ -23,7 +23,7 @@
 	private static final long serialVersionUID = -8815707507227185401L;
 	
 	/*
-	 * 草稿 :0  已发布:1
+	 * 鑽夌 :0  宸插彂甯冿細1
 	 */
 	public static final short STATUS_DRAFT = 0;
 	
@@ -57,25 +57,25 @@
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date createTime;
 
-	/** 修改人ID */
+	/** 淇敼浜篒D */
 	@Column(name = "UPDATE_ID", length = 32)
 	private String updateId;
 
-	/** 修改时间 */
+	/** 淇敼鏃堕棿 */
 	@Column(name = "UPDATE_TIME", nullable = false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date updateTime;
 
-	/** 修改人 */
+	/** 淇敼浜� */
 	@Column(name = "UPDATOR", length = 100)
 	private String updator;
 
-	/** 删除标志 */
+	/** 鍒犻櫎鏍囧織 */
 	@Column(name = "DELETE_FLAG", nullable = false)
 	@JsonIgnore
 	private boolean deleteFlag;
 
-	/** 状态 */
+	/** 鐘舵�� */
 	private short status;
 
 	public ExamRoom() {
diff --git a/src/main/java/com/qxueyou/scc/admin/examroom/service/IExamRoomService.java b/src/main/java/com/qxueyou/scc/admin/examroom/service/IExamRoomService.java
index 74460e6..5435307 100644
--- a/src/main/java/com/qxueyou/scc/admin/examroom/service/IExamRoomService.java
+++ b/src/main/java/com/qxueyou/scc/admin/examroom/service/IExamRoomService.java
@@ -9,82 +9,82 @@
 public interface IExamRoomService {
 
 	/**
-	 * 新增考场
+	 * 鏂板鑰冨満
 	 * 
-	 * @param examRoom 考场
+	 * @param examRoom 鑰冨満
 	 *            
 	 * @return
 	 */
 	String add(ExamRoom examRoom);
 
 	/**
-	 * 修改考场
+	 * 淇敼鑰冨満
 	 * 
-	 * @param examRoom 考场
+	 * @param examRoom 鑰冨満
 	 * 
 	 * @return
 	 */
 	Result update(ExamRoom examRoom);
 
 	/**
-	 * 删除考场
+	 * 鍒犻櫎鑰冨満
 	 * 
-	 * @param roomIds  课表ID数组
+	 * @param roomIds  璇捐〃ID鏁扮粍
 	 *           
 	 */
 	Result delete(String[] roomIds);
 
 	/**
-	 * 发布考场
+	 * 鍙戝竷鑰冨満
 	 * 
-	 * @param roomIds  考场ID数组
+	 * @param roomIds  鑰冨満ID鏁扮粍
 	 *           
 	 */
 	Result doRelease(String[] roomIds);
 
 	/**
-	 * 撤回考场
+	 * 鎾ゅ洖鑰冨満
 	 * 
-	 * @param roomIds 考场id数组
+	 * @param roomIds 鑰冨満id鏁扮粍
 	 *            
 	 */
 	Result doCancel(String[] roomIds);
 
 	/**
-	 * 查询考场
+	 * 鏌ヨ鑰冨満
 	 * 
-	 * @param keyword   搜索文本(考场名称)
+	 * @param keyword   鎼滅储鏂囨湰(鑰冨満鍚嶇О)
 	 *           
-     * @param status  状态
+     * @param status  鐘舵��
 	 *           
-	 * @param pageSize 页码
+	 * @param pageSize 椤电爜
 	 *            
-	 * @param pageNum   每页显示行数
+	 * @param pageNum   姣忛〉鏄剧ず琛屾暟
 	 *           
-	 * @return 返回课程列表
+	 * @return 杩斿洖璇剧▼鍒楄〃
 	 */
 	List<ExamRoom> list(String roomId, String keyword, Short status, Integer pageSize, Integer pageNum);
 
 	/**
-	 * 查询考场个数
+	 * 鏌ヨ鑰冨満涓暟
 	 *
-	 * @param keyword 搜索文本(考场名称)
+	 * @param keyword 鎼滅储鏂囨湰锛堣�冨満鍚嶇О锛�
 	 *
-	 * @return 返回考场总数
+	 * @return 杩斿洖鑰冨満鎬绘暟
 	 */
 	int listCount(String roomId,String keyword, Short status);
 
 	/**
-	 * 读取考场详情
+	 * 璇诲彇鑰冨満璇︽儏
 	 * 
-	 * @param roomId 考场ID
+	 * @param roomId 鑰冨満ID
 	 *            
-	 * @return 返回考场详情信息
+	 * @return 杩斿洖鑰冨満璇︽儏淇℃伅
 	 */
 	ExamRoom detail(String roomId);
 	
 	/**
-	 * 获取考场ID和名称列表
+	 * 鑾峰彇鑰冨満ID鍜屽悕绉板垪琛�
 	 * @return
 	 */
 	List<Map<String, Object>> queryAllRoomIdAndNames();
diff --git a/src/main/java/com/qxueyou/scc/admin/examroom/service/impl/ExamRoomService.java b/src/main/java/com/qxueyou/scc/admin/examroom/service/impl/ExamRoomService.java
index 9cdf77d..399750d 100644
--- a/src/main/java/com/qxueyou/scc/admin/examroom/service/impl/ExamRoomService.java
+++ b/src/main/java/com/qxueyou/scc/admin/examroom/service/impl/ExamRoomService.java
@@ -30,7 +30,7 @@
 		ExamRoom newExamRoom = read(ExamRoom.class, examRoom.getExamroomId());
 
 		if (newExamRoom == null) {
-			return new Result(false, "考场不存在");
+			return new Result(false, "鑰冨満涓嶅瓨鍦�");
 		}
 
 		TraceUtils.setUpdateTrace(newExamRoom);
@@ -52,7 +52,7 @@
 	@Override
 	public Result doRelease(String[] examroomIds) {
 		if(examroomIds==null || examroomIds.length==0){
-			return new Result(false, "没有选择要发布的考场");
+			return new Result(false, "娌℃湁閫夋嫨瑕佸彂甯冪殑鑰冨満");
 		}
 		
 		List<ExamRoom> lstClsRoom = this.findByComplexHql("from ExamRoom where examroomId in (:examroomIds)",
@@ -60,7 +60,7 @@
 
 		for (ExamRoom room : lstClsRoom) {
 			if (ExamInfo.STATUS_DRAFT != room.getStatus()) {
-				return new Result(false, "只有草稿状态的考场,才能发布。");
+				return new Result(false, "鍙湁鑽夌鐘舵�佺殑鑰冨満,鎵嶈兘鍙戝竷銆�");
 			}
 			room.setStatus(ExamRoom.STATUS_PUBLISH);
 			TraceUtils.setUpdateTrace(room);
@@ -73,7 +73,7 @@
 	@Override
 	public Result doCancel(String[] examroomIds) {
 		if(examroomIds==null || examroomIds.length==0){
-			return new Result(false, "没有选择要撤回的考场");
+			return new Result(false, "娌℃湁閫夋嫨瑕佹挙鍥炵殑鑰冨満");
 		}
 		
 		List<ExamRoom> lstClsRoom = this.findByComplexHql("from ExamRoom where examroomId in (:examroomIds)",
@@ -81,7 +81,7 @@
 		
 		for (ExamRoom room : lstClsRoom) {
 			if (ExamInfo.STATUS_PUBLISH != room.getStatus()) {
-				return new Result(false, "只有发布状态的 考场,才能撤回");
+				return new Result(false, "鍙湁鍙戝竷鐘舵�佺殑 鑰冨満,鎵嶈兘鎾ゅ洖");
 			}
 			room.setStatus(ExamInfo.STATUS_DRAFT);
 			TraceUtils.setUpdateTrace(room);
diff --git a/src/main/java/com/qxueyou/scc/admin/notice/dao/NoticeDAO.java b/src/main/java/com/qxueyou/scc/admin/notice/dao/NoticeDAO.java
index 6639d7e..530320c 100644
--- a/src/main/java/com/qxueyou/scc/admin/notice/dao/NoticeDAO.java
+++ b/src/main/java/com/qxueyou/scc/admin/notice/dao/NoticeDAO.java
@@ -47,18 +47,18 @@
     }
 
     /**
-     * 记录已读的学员
+     * 璁板綍宸茶鐨勫鍛�
      *
      * @param noticeId
      * @param userId
      */
     public void addReadCount(String noticeId, String userId) {
-        cache.lstRemove("noticeReadCount" + noticeId, userId);//删除用户之前查看的记录,避免重复记录;
+        cache.lstRemove("noticeReadCount" + noticeId, userId);//鍒犻櫎鐢ㄦ埛涔嬪墠鏌ョ湅鐨勮褰�,閬垮厤閲嶅璁板綍;
         cache.lstRightPush("noticeReadCount" + noticeId, userId);
     }
 
     /**
-     * 获取已读的学员人数
+     * 鑾峰彇宸茶鐨勫鍛樹汉鏁�
      */
     public int getReadCount(String noticeId) {
         List<Object> lstAll = cache.lstAll("noticeReadCount" + noticeId);
@@ -66,7 +66,7 @@
     }
 
     /**
-     * 删除cache的key
+     * 鍒犻櫎cache鐨刱ey
      */
     public void deleteNoticeForCache(String noticeId) {
         cache.delete("noticeReadCount" + noticeId);
diff --git a/src/main/java/com/qxueyou/scc/admin/notice/service/INoticeService.java b/src/main/java/com/qxueyou/scc/admin/notice/service/INoticeService.java
index a5ab9df..b46ba65 100644
--- a/src/main/java/com/qxueyou/scc/admin/notice/service/INoticeService.java
+++ b/src/main/java/com/qxueyou/scc/admin/notice/service/INoticeService.java
@@ -9,124 +9,124 @@
 public interface INoticeService {
 
     /**
-     * 新增通知
+     * 鏂板閫氱煡
      *
-     * @param name     通知名称
-     * @param content  通知介绍
-     * @param type     通知类型
-     * @param classIds 班级ids
+     * @param name     閫氱煡鍚嶇О
+     * @param content  閫氱煡浠嬬粛
+     * @param type     閫氱煡绫诲瀷
+     * @param classIds 鐝骇ids
      * @return
      */
     Result add(String name, String content, String type, List<String> classIds);
 
     /**
-     * 修改通知
+     * 淇敼閫氱煡
      *
-     * @param noticeId 通知ID
-     * @param name     通知名称
-     * @param content  通知介绍
-     * @param type     通知类型
-     * @param classIds 班级ids
+     * @param noticeId 閫氱煡ID
+     * @param name     閫氱煡鍚嶇О
+     * @param content  閫氱煡浠嬬粛
+     * @param type     閫氱煡绫诲瀷
+     * @param classIds 鐝骇ids
      * @return
      */
     Result update(String noticeId, String name, String content, String type, List<String> classIds);
 
     /**
-     * 查询通知
+     * 鏌ヨ閫氱煡
      *
-     * @param noticeId 通知Id
+     * @param noticeId 閫氱煡Id
      * @return
      */
     Notice read(String noticeId);
 
     /**
-     * 查询通知
+     * 鏌ヨ閫氱煡
      *
-     * @param noticeIdLst 通知Id
+     * @param noticeIdLst 閫氱煡Id
      * @return
      */
     List<Notice> readByStatus(Collection<String> noticeIdLst, short status);
 
     /**
-     * 查询通知
+     * 鏌ヨ閫氱煡
      *
-     * @param keyword  查询关键字
-     * @param pageNum  页码
-     * @param pageSize 每页数据大小
-     * @param sort     排序
+     * @param keyword  鏌ヨ鍏抽敭瀛�
+     * @param pageNum  椤电爜
+     * @param pageSize 姣忛〉鏁版嵁澶у皬
+     * @param sort     鎺掑簭
      * @return
      */
     List<Notice> list(String keyword, Integer pageNum, Integer pageSize, String createId, String sort);
 
     /**
-     * 查询通知总数
+     * 鏌ヨ閫氱煡鎬绘暟
      *
-     * @param keyword 查询关键字
+     * @param keyword 鏌ヨ鍏抽敭瀛�
      * @return
      */
     int listCount(String keyword, String createId);
 
     /**
-     * 删除通知
+     * 鍒犻櫎閫氱煡
      *
-     * @param noticeId 通知ID
+     * @param noticeId 閫氱煡ID
      * @return
      */
     Result delete(String noticeId);
 
     /**
-     * 删除通知
+     * 鍒犻櫎閫氱煡
      *
-     * @param noticeIds 通知ID数组
+     * @param noticeIds 閫氱煡ID鏁扮粍
      * @return
      */
     Result delete(String[] noticeIds);
 
     /**
-     * 发布通知
+     * 鍙戝竷閫氱煡
      *
-     * @param noticeId 通知ID
+     * @param noticeId 閫氱煡ID
      * @return
      */
     Result doIssue(String noticeId);
 
     /**
-     * 发布通知
+     * 鍙戝竷閫氱煡
      *
-     * @param noticeId 通知ID
+     * @param noticeId 閫氱煡ID
      * @return
      */
     Result doIssue(String[] noticeIds);
 
     /**
-     * 取消通知
+     * 鍙栨秷閫氱煡
      *
-     * @param noticeId 通知ID
+     * @param noticeId 閫氱煡ID
      * @return
      */
     Result doCancel(String noticeId);
 
     /**
-     * 取消通知
+     * 鍙栨秷閫氱煡
      *
-     * @param noticeId 通知ID
+     * @param noticeId 閫氱煡ID
      * @return
      */
     Result doCancel(String[] noticeIds);
 
 
     /**
-     * 读取通知班级
+     * 璇诲彇閫氱煡鐝骇
      *
-     * @param noticeId 通知ID
+     * @param noticeId 閫氱煡ID
      * @return
      */
     List<String> getNoticeClasses(String noticeId);
 
     /**
-     * 查看通知
+     * 鏌ョ湅閫氱煡
      *
-     * @param noticeId 通知ID
+     * @param noticeId 閫氱煡ID
      * @return
      */
     Result view(String noticeId);
diff --git a/src/main/java/com/qxueyou/scc/admin/notice/service/impl/NoticeService.java b/src/main/java/com/qxueyou/scc/admin/notice/service/impl/NoticeService.java
index fc542fd..022da78 100644
--- a/src/main/java/com/qxueyou/scc/admin/notice/service/impl/NoticeService.java
+++ b/src/main/java/com/qxueyou/scc/admin/notice/service/impl/NoticeService.java
@@ -150,7 +150,7 @@
     	if(lstClassIds == null || lstClassIds.size()==0){
     		return ;
     	}
-		//查询直播关联的班级
+		//鏌ヨ鐩存挱鍏宠仈鐨勭彮绾�
 		String hql = "select userId from StuStudent  where classId in (:classIds) and deleteFlag is false ";
 		
 		List<String> lstUserIds = this.findByComplexHql(hql, CollectionUtils.newObjectMap("classIds",lstClassIds.toArray(new String[lstClassIds.size()])), String.class);
@@ -160,7 +160,7 @@
 					"creator",notice.getCreator(),"noticeTypeName",notice.getNoticeTypeName());
 				
 			msgInfoService.doSendTextMsgToUsers(lstUserIds.toArray(new String[lstUserIds.size()]), 
-											MsgInfo.TYPE_NOTICE," 发布了公告", attrs);
+											MsgInfo.TYPE_NOTICE," 鍙戝竷浜嗗叕鍛�", attrs);
 		}
 	}
     
diff --git a/src/main/java/com/qxueyou/scc/admin/progress/dao/ProgressDAO.java b/src/main/java/com/qxueyou/scc/admin/progress/dao/ProgressDAO.java
index 8bca560..1948350 100644
--- a/src/main/java/com/qxueyou/scc/admin/progress/dao/ProgressDAO.java
+++ b/src/main/java/com/qxueyou/scc/admin/progress/dao/ProgressDAO.java
@@ -29,12 +29,12 @@
 	}
 
 	/**
-	 * 根据targetId和learnerId获取进度
+	 * 鏍规嵁targetId鍜宭earnerId鑾峰彇杩涘害
 	 *
 	 * @param targetId
 	 *            targetId
 	 * @param learnerId
-	 *            学习者id
+	 *            瀛︿範鑰卛d
 	 * @return
 	 */
 	@Cacheable(value = "progress", key = "#targetId+#learnerId")
@@ -59,7 +59,7 @@
 	}
 
 	/**
-	 * 获取学生的各个节点的学习进度,进度值
+	 * 鑾峰彇瀛︾敓鐨勫悇涓妭鐐圭殑瀛︿範杩涘害,杩涘害鍊�
 	 *
 	 * @param parentId
 	 * @param userId
@@ -75,7 +75,7 @@
 	}
 
 	/**
-	 * 获取当前节点下的父节点
+	 * 鑾峰彇褰撳墠鑺傜偣涓嬬殑鐖惰妭鐐�
 	 *
 	 * @param nodeId
 	 * @return
@@ -88,7 +88,7 @@
 	}
 
 	/**
-	 * 根据subjectId获取章节列表
+	 * 鏍规嵁subjectId鑾峰彇绔犺妭鍒楄〃
 	 *
 	 * @param parentId
 	 * @param userId
@@ -101,7 +101,7 @@
 	}
 
 	/**
-	 * 获取progress 对象
+	 * 鑾峰彇progress 瀵硅薄
 	 */
 	public Progress getProgressObject(String targetId, String userId) {
 		return findUniqueByHql(
@@ -110,7 +110,7 @@
 	}
 
 	/**
-	 * 记录用户每个课程学习的位置
+	 * 璁板綍鐢ㄦ埛姣忎釜璇剧▼瀛︿範鐨勪綅缃�
 	 */
 	@CachePut(value = "lastStudied", key = "#userId + #subjectId + #classId")
 	public Map<String, Object> putStudyById(String userId, String subjectId, String lectureId, String lectureParentId,
@@ -137,7 +137,7 @@
 	}
 
 	/**
-	 * 获取用户每个课程上次学习的数据
+	 * 鑾峰彇鐢ㄦ埛姣忎釜璇剧▼涓婃瀛︿範鐨勬暟鎹�
 	 */
 	@Cacheable(value = "lastStudied", key = "#userId + #subjectId +#classId")
 	public Map<String, Object> getStudyById(String userId, String subjectId, String classId) {
@@ -145,7 +145,7 @@
 	}
 
 	/**
-	 * 获取用户上次学习的数据
+	 * 鑾峰彇鐢ㄦ埛涓婃瀛︿範鐨勬暟鎹�
 	 */
 	@Cacheable(value = "lastStudied", key = "#userId")
 	public Map<String, Object> getStudyByUserId(String userId) {
diff --git a/src/main/java/com/qxueyou/scc/admin/progress/model/SubjectLectureProgressDetail.java b/src/main/java/com/qxueyou/scc/admin/progress/model/SubjectLectureProgressDetail.java
index ee7e535..12b8e43 100644
--- a/src/main/java/com/qxueyou/scc/admin/progress/model/SubjectLectureProgressDetail.java
+++ b/src/main/java/com/qxueyou/scc/admin/progress/model/SubjectLectureProgressDetail.java
@@ -18,7 +18,7 @@
 import com.qxueyou.scc.base.model.ITrace;
 
 /**
- * 学习进度明细
+ * 瀛︿範杩涘害鏄庣粏
  *
  * @author sven
  *
diff --git a/src/main/java/com/qxueyou/scc/admin/schoolRoll/impl/SchoolRollServiceImpl.java b/src/main/java/com/qxueyou/scc/admin/schoolRoll/impl/SchoolRollServiceImpl.java
index 2b978e2..92f3715 100644
--- a/src/main/java/com/qxueyou/scc/admin/schoolRoll/impl/SchoolRollServiceImpl.java
+++ b/src/main/java/com/qxueyou/scc/admin/schoolRoll/impl/SchoolRollServiceImpl.java
@@ -68,7 +68,7 @@
                 stuStudent.setClassId(classId);
                 save(stuStudent);
             }else {
-                return new Result(false,"班级不存在或学生不存在");
+                return new Result(false,"鐝骇涓嶅瓨鍦ㄦ垨瀛︾敓涓嶅瓨鍦�");
             }
         }
 
@@ -85,7 +85,7 @@
         List<StuStudent> stuStudents = find(hql.toString(), args, StuStudent.class);
 
         ExcelExportUtils<StuStudent> ex = new ExcelExportUtils<StuStudent>();
-        String[] headers = { "姓名", "性别" ,"手机号" ,"身份证"};
+        String[] headers = { "濮撳悕", "鎬у埆" ,"鎵嬫満鍙�" ,"韬唤璇�"};
         List<StuStudent> dataset = new ArrayList<StuStudent>();
         for (StuStudent stuStudent:
         stuStudents) {
@@ -106,7 +106,7 @@
             obj.setOut(out);
             ex.exportExcel(obj);
             out.close();
-            System.out.println("excel导出成功!");
+            System.out.println("excel瀵煎嚭鎴愬姛锛�");
         } catch (FileNotFoundException e) {
             e.printStackTrace();
         } catch (IOException e) {
@@ -122,7 +122,7 @@
             obj.setOut(out);
             ex.exportExcelByColomn(obj);
             out.close();
-            System.out.println("excel指定列导出成功!");
+            System.out.println("excel鎸囧畾鍒楀鍑烘垚鍔燂紒");
         } catch (FileNotFoundException e) {
             e.printStackTrace();
         } catch (IOException e) {
diff --git a/src/main/java/com/qxueyou/scc/admin/score/action/ScoreController.java b/src/main/java/com/qxueyou/scc/admin/score/action/ScoreController.java
index 0a789f9..e7b18c2 100644
--- a/src/main/java/com/qxueyou/scc/admin/score/action/ScoreController.java
+++ b/src/main/java/com/qxueyou/scc/admin/score/action/ScoreController.java
@@ -30,13 +30,13 @@
 import java.util.List;
 import java.util.Map;
 
-@Api(tags = "成绩管理接口")
+@Api(tags = "鎴愮哗绠$悊鎺ュ彛")
 @Controller
 @CrossOrigin(origins="*",maxAge=3600)
 @RequestMapping(value = "admin/score")
 public class ScoreController {
 
-    // 分页查询中,默认记录条数和页数
+    // 鍒嗛〉鏌ヨ涓紝榛樿璁板綍鏉℃暟鍜岄〉鏁�
     private static final int DEFAULT_PAGE_SIZE = 10;
     private static final int DEFAULT_PAGE_NUM = 1;
 
@@ -63,7 +63,7 @@
         List<Map<String,Object>> mapList = new ArrayList<>();
         List<ExamResultV> examResultVS =  scoreService.allExamResultV(classId);
         List<ExerciseResultV> exerciseResultVS = scoreService.allExerciseResultV(classId);
-        //总成绩数量
+        //鎬绘垚缁╂暟閲�
         int totalCount = scoreService.findCount("from ExamResultV where class_Id Like ? and score != null and score != 0",CollectionUtils.newList(classId));
         if (examResultVS.size() < exerciseResultVS.size()){
             totalCount = exerciseResultVS.size();
diff --git a/src/main/java/com/qxueyou/scc/admin/score/service/IScoreService.java b/src/main/java/com/qxueyou/scc/admin/score/service/IScoreService.java
index f05f8b7..ce0d6ea 100644
--- a/src/main/java/com/qxueyou/scc/admin/score/service/IScoreService.java
+++ b/src/main/java/com/qxueyou/scc/admin/score/service/IScoreService.java
@@ -10,27 +10,27 @@
 public interface IScoreService {
 
 	/**
-	 * 获取班级考试成绩信息
+	 * 鑾峰彇鐝骇鑰冭瘯鎴愮哗淇℃伅
 	 * @param classId
 	 * @return
 	 */
 	Map<String,Object> queryClassExamScoreInfo(String classId);
 
 	/**
-	 * 获取班级作业成绩信息
+	 * 鑾峰彇鐝骇浣滀笟鎴愮哗淇℃伅
 	 * @param classId
 	 * @return
 	 */
 	Map<String,Object> queryClassHomeworkScoreInfo(String classId);
 
 	/**
-	 * 获取考试成绩信息
+	 * 鑾峰彇鑰冭瘯鎴愮哗淇℃伅
 	 * @return
 	 */
 	List<ExamResultV> allExamResultV(String classId);
 
 	/**
-	 *获取作业成绩信息
+	 *鑾峰彇浣滀笟鎴愮哗淇℃伅
 	 */
 	List<ExerciseResultV> allExerciseResultV(String classId);
 
diff --git a/src/main/java/com/qxueyou/scc/admin/teacher/service/ITeacherService.java b/src/main/java/com/qxueyou/scc/admin/teacher/service/ITeacherService.java
index d07dda5..80056d0 100644
--- a/src/main/java/com/qxueyou/scc/admin/teacher/service/ITeacherService.java
+++ b/src/main/java/com/qxueyou/scc/admin/teacher/service/ITeacherService.java
@@ -8,23 +8,23 @@
 
 public interface ITeacherService {
 	/**
-	 * 教师管理新增
+	 * 鏁欏笀绠$悊鏂板
 	 */
 	Result add(String teacherName, String password, String mobilePhone, String teacherNo);
 
 	/**
-	 * 更新
+	 * 鏇存柊
 	 */
 	Result update(String teacherId, String teacherName, String account, String password, String mobilePhone,
 			String teacherNo);
 
 	/**
-	 * 教师管理显示列表
+	 * 鏁欏笀绠$悊鏄剧ず鍒楄〃
 	 */
 	List<UserTeacher> lstTeacher(String keyword, Integer pageSize, Integer pageNum);
 
 	/**
-	 * 删除教师
+	 * 鍒犻櫎鏁欏笀
 	 */
 	Result deleteTeacher(String[] teacherIds);
 
@@ -36,12 +36,12 @@
 	int findTeacherCount(String keyword);
 
 	/**
-	 * 新增班级获取教师列表
+	 * 鏂板鐝骇鑾峰彇鏁欏笀鍒楄〃
 	 */
 	List<UserTeacher> LstTeacher4Cls();
 
 	/**
-	 * 角色管理获取教师列表
+	 * 瑙掕壊绠$悊鑾峰彇鏁欏笀鍒楄〃
 	 * 
 	 * @param keyword
 	 * @param pageSize
@@ -51,7 +51,7 @@
 	List<Map<String, Object>> findLstToRole(String keyword, Integer pageSize, Integer pageNum, String roleId);
 
 	/**
-	 * 角色管理获取教师总条数
+	 * 瑙掕壊绠$悊鑾峰彇鏁欏笀鎬绘潯鏁�
 	 * 
 	 * @param roleId
 	 * @param keyword
@@ -60,17 +60,17 @@
 	int findLstCountToRole(String roleId, String keyword);
 
 	/**
-	 * 获取userId
+	 * 鑾峰彇userId
 	 */
 	String getTeacherIdByUserId(String teacherId);
 
 	/**
-	 * 获取userId
+	 * 鑾峰彇userId
 	 */
 	UserTeacher getTeacherByUserId(String userId);
 	
 	/**
-	 * 获取教师信息
+	 * 鑾峰彇鏁欏笀淇℃伅
 	 * 
 	 * @param teacherId
 	 * @return
diff --git a/src/main/java/com/qxueyou/scc/admin/teacher/service/impl/TeacherService.java b/src/main/java/com/qxueyou/scc/admin/teacher/service/impl/TeacherService.java
index 3a00d5e..53a09ab 100644
--- a/src/main/java/com/qxueyou/scc/admin/teacher/service/impl/TeacherService.java
+++ b/src/main/java/com/qxueyou/scc/admin/teacher/service/impl/TeacherService.java
@@ -37,13 +37,13 @@
     TeacherDAO dao;
 
     /**
-     * 教师管理新增
+     * 鏁欏笀绠$悊鏂板
      */
     @Override
     public Result add(String teacherName, String password, String mobilePhone, String teacherNo) {
 
         if (dao.exists(teacherNo) || userService.exists(teacherNo)) {
-            return new Result(false, "老师编号已存在或被其他用户占用");
+            return new Result(false, "鑰佸笀缂栧彿宸插瓨鍦ㄦ垨琚叾浠栫敤鎴峰崰鐢�");
         }
 
         User user = userService.insertUser(teacherName, teacherNo, mobilePhone, password, Boolean.FALSE, ClientUtils.getOrgId());
@@ -64,13 +64,13 @@
     }
 
     /**
-     * 更新
+     * 鏇存柊
      */
     @Override
     public Result update(String teacherId, String teacherName, String account, String password, String mobilePhone,
                          String teacherNo) {
         if (StringUtils.isNotEmpty(mobilePhone) && dao.exists(mobilePhone, teacherId)) {
-            return new Result(false, "手机号已存在");
+            return new Result(false, "鎵嬫満鍙峰凡瀛樺湪");
         }
 
         UserTeacher teacher = read(UserTeacher.class, teacherId);
@@ -94,7 +94,7 @@
     }
 
     /**
-     * 教师管理显示列表
+     * 鏁欏笀绠$悊鏄剧ず鍒楄〃
      */
     @Override
     public List<UserTeacher> lstTeacher(String keyword, Integer pageSize, Integer pageNum) {
@@ -108,7 +108,7 @@
     }
     
     /**
-     * 获取教师总条数
+     * 鑾峰彇鏁欏笀鎬绘潯鏁�
      */
     @Override
     public int findTeacherCount(String keyword) {
@@ -139,7 +139,7 @@
     }
 
     /**
-     * 教师管理 删除教师
+     * 鏁欏笀绠$悊 鍒犻櫎鏁欏笀
      */
     @Override
     public Result deleteTeacher(String[] teacherIds) {
@@ -205,7 +205,7 @@
     	User u = this.read(User.class, ClientUtils.getUserId());
     	String teacherId = this.getTeacherIdByUserId(u.getUserId());
     	if(StringUtils.isEmpty(teacherId)) {
-    		return new Result(false, "当前用户无教师角色信息");
+    		return new Result(false, "褰撳墠鐢ㄦ埛鏃犳暀甯堣鑹蹭俊鎭�");
     	}
     	
 		long subjectCount = this.getQueryFactory().selectDistinct(subject.subjectId).from(subject)
diff --git a/src/main/java/com/qxueyou/scc/base/StsCtrl.java b/src/main/java/com/qxueyou/scc/base/StsCtrl.java
index 2f8d49f..adc7634 100644
--- a/src/main/java/com/qxueyou/scc/base/StsCtrl.java
+++ b/src/main/java/com/qxueyou/scc/base/StsCtrl.java
@@ -24,7 +24,7 @@
 import com.qxueyou.scc.sys.service.IOssService;
 
 /**
- * aliyun资源临时授权
+ * aliyun璧勬簮涓存椂鎺堟潈
  * @author cyq
  *
  */
@@ -45,13 +45,13 @@
 	IOssService ossService;
 	
 	/**
-	 * 公共数据访问对象
+	 * 鍏叡鏁版嵁璁块棶瀵硅薄
 	 */
 	@Autowired
 	private CommonDAO commonDAO;
 	
 	/**
-	 * 获取视频的m3u8访问权限,用获取临时访问权限的key路径作为解密密钥,临时生成m3u8文件,并上传到阿里云,并返回路径
+	 * 鑾峰彇瑙嗛鐨刴3u8璁块棶鏉冮檺锛岀敤鑾峰彇涓存椂璁块棶鏉冮檺鐨刱ey璺緞浣滀负瑙e瘑瀵嗛挜锛屼复鏃剁敓鎴恗3u8鏂囦欢锛屽苟涓婁紶鍒伴樋閲屼簯锛屽苟杩斿洖璺緞
 	 * @param videoId
 	 * @param definition
 	 * @return
@@ -59,11 +59,11 @@
 	@RequestMapping(value="video/m3u8", method=RequestMethod.GET, produces = "application/json;charset=utf-8")
 	public @ResponseBody Result videoM3u8(@RequestParam("videoId") String videoId, String definition) {
 		if (StringUtils.isEmpty(videoId)) {
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
 		
 //		json.put("result", "success");
-//		// 检查缓存中是否有可用的url,如果有,则直接返回
+//		// 妫�鏌ョ紦瀛樹腑鏄惁鏈夊彲鐢ㄧ殑url锛屽鏋滄湁锛屽垯鐩存帴杩斿洖
 //		String urlCache = cacheService.get("sts_url_" + resId, String.class);
 //		if (StringUtils.isNotEmpty(urlCache)) {
 //			json.put("url", urlCache);
@@ -76,14 +76,14 @@
 			MediaVideo video = commonDAO.read(MediaVideo.class, videoId);
 			
 			if (video == null) {
-				return new Result(false, "资源不存在");
+				return new Result(false, "璧勬簮涓嶅瓨鍦�");
 			}
 			
 			String resId = "";
 			String resUrl = null;
 			JSONObject json = null;
 			
-			//判断是否是mp3等音乐格式文件,如果是则直接返回original地址
+			//鍒ゆ柇鏄惁鏄痬p3绛夐煶涔愭牸寮忔枃浠讹紝濡傛灉鏄垯鐩存帴杩斿洖original鍦板潃
 			if(checkIsVoiceMedia(video)){
 				json =  new JSONObject();
 				json.put("result", "success");
@@ -94,14 +94,14 @@
 			
 			resUrl = this.getM3u8ResUrl(def, video);
 			
-			//判断是否是加密视频,未加密则直接返回视频地址
+			//鍒ゆ柇鏄惁鏄姞瀵嗚棰戯紝鏈姞瀵嗗垯鐩存帴杩斿洖瑙嗛鍦板潃
 			if(StringUtils.isEmpty(video.getSecretKey())){
-				//如果未转码加密,且m3u8视频不存在,则尝试读取MP4视频。
+				//濡傛灉鏈浆鐮佸姞瀵嗭紝涓攎3u8瑙嗛涓嶅瓨鍦紝鍒欏皾璇曡鍙朚P4瑙嗛銆�
 				if (StringUtils.isEmpty(resUrl)) {
 					resUrl = StringUtils.isNotEmpty(video.getAndroidHD()) ? video.getAndroidHD() : StringUtils.isNotEmpty(video.getAndroidSD()) ? video.getAndroidSD() : video.getAndroidLD();
 					
 					if (StringUtils.isEmpty(resUrl)) {
-						return new Result(false, "资源不存在");
+						return new Result(false, "璧勬簮涓嶅瓨鍦�");
 					}
 				}
 				
@@ -110,9 +110,9 @@
 				json.put("url", video.getOrigUrl().substring(video.getOrigUrl().indexOf("/video/") + 1));
 				json.put("isConver",false);
 			}else{
-				//如果转码加密后,依然不能读取到M3U8视频或读取到的是MP4直接返回,提示视屏不存在
+				//濡傛灉杞爜鍔犲瘑鍚庯紝渚濈劧涓嶈兘璇诲彇鍒癕3U8瑙嗛鎴栬鍙栧埌鐨勬槸MP4鐩存帴杩斿洖锛屾彁绀鸿灞忎笉瀛樺湪
 				if (StringUtils.isEmpty(resUrl)||resUrl.endsWith(MP4)) {
-					return new Result(false, "资源不存在");
+					return new Result(false, "璧勬簮涓嶅瓨鍦�");
 				}
 				
 				resId = resUrl.substring(resUrl.indexOf("/video/") + 1);
@@ -125,13 +125,13 @@
 				
 //				String resDir = resId.substring(0, resId.lastIndexOf('/'));
 				
-				//获取原视频VideoId
+				//鑾峰彇鍘熻棰慥ideoId
 //				String keyAddr = video.getOriginVideoId();
 //				if(StringUtils.isBlank(keyAddr)){
 //					keyAddr = video.getVideoId();
 //				}
 				
-//				// 获取解密key的临时访问权限
+//				// 鑾峰彇瑙e瘑key鐨勪复鏃惰闂潈闄�
 //				if(StringUtils.isNotEmpty(video.getM3u8KeyPath())){
 //					json.put("url", video.getM3u8KeyPath().substring(video.getM3u8KeyPath().indexOf("/video/") + 1));
 //				}else{
@@ -169,7 +169,7 @@
 	
 	
 	/**
-	 * 获取视频的m3u8访问权限,用获取临时访问权限的key路径作为解密密钥,临时生成m3u8文件,并上传到阿里云,并返回路径
+	 * 鑾峰彇瑙嗛鐨刴3u8璁块棶鏉冮檺锛岀敤鑾峰彇涓存椂璁块棶鏉冮檺鐨刱ey璺緞浣滀负瑙e瘑瀵嗛挜锛屼复鏃剁敓鎴恗3u8鏂囦欢锛屽苟涓婁紶鍒伴樋閲屼簯锛屽苟杩斿洖璺緞
 	 * @param videoId
 	 * @param definition
 	 * @return
@@ -178,7 +178,7 @@
 	@RequestMapping(value="video/mp4", method=RequestMethod.GET, produces = "application/json;charset=utf-8")
 	public @ResponseBody Result videoMp4(@RequestParam("videoId") String videoId, String definition) {
 		if (StringUtils.isEmpty(videoId)) {
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}		
 		
 		BufferedReader bf = null;
@@ -188,14 +188,14 @@
 			MediaVideo video = commonDAO.read(MediaVideo.class, videoId);
 			
 			if (video == null) {
-				return new Result(false, "资源不存在");
+				return new Result(false, "璧勬簮涓嶅瓨鍦�");
 			}
 			
 			String resId = "";
 			String resUrl = null;
 			JSONObject json = null;
 			
-			//判断是否是mp3等音乐格式文件,如果是则直接返回original地址
+			//鍒ゆ柇鏄惁鏄痬p3绛夐煶涔愭牸寮忔枃浠讹紝濡傛灉鏄垯鐩存帴杩斿洖original鍦板潃
 			if(checkIsVoiceMedia(video)){
 				json =  new JSONObject();
 				json.put("result", "success");
@@ -206,14 +206,14 @@
 			
 			resUrl = this.getMp4ResUrl(def, video);
 			
-			//如果转码地址不存在,并且源码地址是mp4则直接使用原视频地址播放
+			//濡傛灉杞爜鍦板潃涓嶅瓨鍦紝骞朵笖婧愮爜鍦板潃鏄痬p4鍒欑洿鎺ヤ娇鐢ㄥ師瑙嗛鍦板潃鎾斁
 			if(StringUtils.isEmpty(resUrl) && video.getOrigUrl().endsWith(MP4)){
 					resUrl =  video.getOrigUrl().substring(video.getOrigUrl().indexOf("/video/") + 1);
 			}
 			
-			//查看原视频是否是MP4
+			//鏌ョ湅鍘熻棰戞槸鍚︽槸MP4
 			if (StringUtils.isEmpty(resUrl)) {
-				return new Result(false, "资源不存在");
+				return new Result(false, "璧勬簮涓嶅瓨鍦�");
 			}
 			
 			json =  new JSONObject();
@@ -233,7 +233,7 @@
 	
 	
 	/**
-	 * 获取resurl
+	 * 鑾峰彇resurl
 	 * 
 	 * @param def
 	 * @param video
@@ -244,7 +244,7 @@
 	}
 	
 	/**
-	 * 获取resurl
+	 * 鑾峰彇resurl
 	 * 
 	 * @param def
 	 * @param video
@@ -255,7 +255,7 @@
 	}
 	
 	/**
-	 * 判断是否是音频media,精确判断需要枚举音频格式
+	 * 鍒ゆ柇鏄惁鏄煶棰憁edia,绮剧‘鍒ゆ柇闇�瑕佹灇涓鹃煶棰戞牸寮�
 	 * @return
 	 */
 	private  boolean checkIsVoiceMedia(MediaVideo media){
@@ -272,7 +272,7 @@
 	}
 	
 	/**
-	 * 测试接口专用
+	 * 娴嬭瘯鎺ュ彛涓撶敤
 	 * @param request
 	 * @return
 	 */
diff --git a/src/main/java/com/qxueyou/scc/base/dao/AbstractRedisTemplate.java b/src/main/java/com/qxueyou/scc/base/dao/AbstractRedisTemplate.java
index 1c4e455..b4a413a 100644
--- a/src/main/java/com/qxueyou/scc/base/dao/AbstractRedisTemplate.java
+++ b/src/main/java/com/qxueyou/scc/base/dao/AbstractRedisTemplate.java
@@ -32,14 +32,14 @@
 	}
 
 	/**
-	 * 设置过期时间的set方法
+	 * 璁剧疆杩囨湡鏃堕棿鐨剆et鏂规硶
 	 * 
 	 * @param key
-	 *            键
+	 *            閿�
 	 * @param value
 	 *            value
 	 * @param timeout
-	 *            过期时间 单位(s)
+	 *            杩囨湡鏃堕棿 鍗曚綅(s)
 	 */
 	public void setex(String key, String value, int timeout) {
 		ShardedJedis client = null;
@@ -80,7 +80,7 @@
 		return expire(key, timeOut);
 	}
 
-	/** 根据键获取字符串值 */
+	/** 鏍规嵁閿幏鍙栧瓧绗︿覆鍊� */
 	public String get(String key) {
 		ShardedJedis client = null;
 		String value = "";
@@ -93,7 +93,7 @@
 		return value;
 	}
 
-	/** 获取并删除键 */
+	/** 鑾峰彇骞跺垹闄ら敭 */
 	public String getAndDel(String key) {
 		ShardedJedis client = null;
 		String value = "";
@@ -107,7 +107,7 @@
 		return value;
 	}
 
-	/** 删除键 */
+	/** 鍒犻櫎閿� */
 	public void del(String key) {
 		ShardedJedis client = null;
 		try {
@@ -118,7 +118,7 @@
 		}
 	}
 
-	/** 获取并删除键 */
+	/** 鑾峰彇骞跺垹闄ら敭 */
 	public void del(String[] keys) {
 		ShardedJedis client = null;
 		try {
@@ -311,7 +311,7 @@
 	}
 
 	/**
-	 * 多长时间内尝试获取锁
+	 * 澶氶暱鏃堕棿鍐呭皾璇曡幏鍙栭攣
 	 * 
 	 * @param key
 	 * @param timeOut
@@ -326,7 +326,7 @@
 				return false;
 			}
 			try {
-				// 每隔200ms秒尝试获取锁
+				// 姣忛殧200ms绉掑皾璇曡幏鍙栭攣
 				Thread.sleep(200);
 			} catch (InterruptedException e) {
 				throw e;
@@ -451,7 +451,7 @@
 	}
 	
 	/**
-	 * 对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。
+	 * 瀵逛竴涓垪琛ㄨ繘琛屼慨鍓�(trim)锛屽氨鏄锛岃鍒楄〃鍙繚鐣欐寚瀹氬尯闂村唴鐨勫厓绱狅紝涓嶅湪鎸囧畾鍖洪棿涔嬪唴鐨勫厓绱犻兘灏嗚鍒犻櫎銆�
 	 * 
 	 * @param key
 	 * @param start
diff --git a/src/main/java/com/qxueyou/scc/base/dao/BaseDAO.java b/src/main/java/com/qxueyou/scc/base/dao/BaseDAO.java
index 5335a03..5dec6f7 100644
--- a/src/main/java/com/qxueyou/scc/base/dao/BaseDAO.java
+++ b/src/main/java/com/qxueyou/scc/base/dao/BaseDAO.java
@@ -1,8 +1,8 @@
 /******************************************************************************
  * Copyright (C) 2015 Shenzhen Penguin Network Technology Co., Ltd
  * All Rights Reserved.
- * 本软件为深圳企鹅网络科技有限公司开发研制。未经本公司正式书面同意,其他任何个人、团体
- * 不得使用、复制、修改或发布本软件.
+ * 鏈蒋浠朵负娣卞湷浼侀箙缃戠粶绉戞妧鏈夐檺鍏徃寮�鍙戠爺鍒躲�傛湭缁忔湰鍏徃姝e紡涔﹂潰鍚屾剰锛屽叾浠栦换浣曚釜浜恒�佸洟浣�
+ * 涓嶅緱浣跨敤銆佸鍒躲�佷慨鏀规垨鍙戝竷鏈蒋浠�.
  *****************************************************************************/
 
 package com.qxueyou.scc.base.dao;
@@ -31,19 +31,19 @@
 import com.qxueyou.scc.base.model.Result;
 
 /**
- * 基础DAO类,自动注入sessionFactory
+ * 鍩虹DAO绫�,鑷姩娉ㄥ叆sessionFactory
  *
- * @author 夏德虎
+ * @author 澶忓痉铏�
  * @since JDK1.6
- * @history 2010-07-28 夏德虎 新建
+ * @history 2010-07-28 澶忓痉铏� 鏂板缓
  */
 public class BaseDAO extends HibernateDaoSupport {
 	
-	/** 注释 rawtypes  */
+	/** 娉ㄩ噴 rawtypes  */
 	private static final String RAW_TYPES = "rawtypes";
 	
     /**
-     * 注入sessionFactory
+     * 娉ㄥ叆sessionFactory
      *
      * @param sessionFactory
      */
@@ -53,12 +53,12 @@
     }
 
     /**
-     * 读取对象
+     * 璇诲彇瀵硅薄
      *
-     * @param <T> 泛型类型
-     * @param clz VO CLASS类型
-     * @param key VO 主键
-     * @return 查找到的结果,如果没找到,返回null
+     * @param <T> 娉涘瀷绫诲瀷
+     * @param clz VO CLASS绫诲瀷
+     * @param key VO 涓婚敭
+     * @return 鏌ユ壘鍒扮殑缁撴灉,濡傛灉娌℃壘鍒�,杩斿洖null
      */
     public <T> T read(Class<T> clz, Serializable key) {
     	if(key==null){
@@ -68,28 +68,28 @@
     }
 
     /**
-     * 保存对象
+     * 淇濆瓨瀵硅薄
      */
     public void update(Object obj) {
         this.getHibernateTemplate().update(obj);
     }
     
     /**
-     * 保存对象
+     * 淇濆瓨瀵硅薄
      */
     public void save(Object obj) {
         this.getHibernateTemplate().save(obj);
     }
 
     /**
-     * 保存或更新对象
+     * 淇濆瓨鎴栨洿鏂板璞�
      */
     public void saveOrUpdate(Object obj) {
         this.getHibernateTemplate().saveOrUpdate(obj);
     }
 
     /**
-     * 保存或更新集合对象
+     * 淇濆瓨鎴栨洿鏂伴泦鍚堝璞�
      */
     public void saveOrUpdateAll(@SuppressWarnings(RAW_TYPES) Collection collection) {
         for(Object obj:collection){
@@ -98,17 +98,17 @@
     }
 
     /**
-     * 保存或更新对象
+     * 淇濆瓨鎴栨洿鏂板璞�
      */
     public void deleteAll(@SuppressWarnings(RAW_TYPES) Collection col) {
         this.getHibernateTemplate().deleteAll(col);
     }
     
     /**
-     * 根据hql查询,并返回执行类型的列表结果
+     * 鏍规嵁hql鏌ヨ,骞惰繑鍥炴墽琛岀被鍨嬬殑鍒楄〃缁撴灉
      *
-     * @param hql 查询语句
-     * @param cls 返回类型
+     * @param hql 鏌ヨ璇彞
+     * @param cls 杩斿洖绫诲瀷
      * @return
      */
     @SuppressWarnings("unchecked")
@@ -117,11 +117,11 @@
     }
     
     /**
-     * 根据hql查询,并返回执行类型的列表结果
+     * 鏍规嵁hql鏌ヨ,骞惰繑鍥炴墽琛岀被鍨嬬殑鍒楄〃缁撴灉
      *
-     * @param hql 查询语句
-     * @param args 参数
-     * @param cls 返回类型
+     * @param hql 鏌ヨ璇彞
+     * @param args 鍙傛暟
+     * @param cls 杩斿洖绫诲瀷
      * @return
      */
 	public <T> List<T> find(final String hql,final List<Object> args,final Class<T> cls) {
@@ -142,11 +142,11 @@
     }
     
     /**
-     * 根据hql查询,并返回执行类型的列表
+     * 鏍规嵁hql鏌ヨ,骞惰繑鍥炴墽琛岀被鍨嬬殑鍒楄〃
      *
-     * @param hql 查询语句
-     * @param args 参数
-     * @param cls 返回类型 
+     * @param hql 鏌ヨ璇彞
+     * @param args 鍙傛暟
+     * @param cls 杩斿洖绫诲瀷 
      * @return
      */
 	@SuppressWarnings("unchecked")
@@ -155,11 +155,11 @@
     }
     
     /**
-     * 根据hql查询,返回列表数据总数
+     * 鏍规嵁hql鏌ヨ,杩斿洖鍒楄〃鏁版嵁鎬绘暟
      *
-     * @param hql 查询语句
-     * @param args 参数
-     * @param cls 返回类型
+     * @param hql 鏌ヨ璇彞
+     * @param args 鍙傛暟
+     * @param cls 杩斿洖绫诲瀷
      * @return
      */
 	public int findCount(final String hql, final List<Object> args) {
@@ -184,11 +184,11 @@
     }
 	
 	 /**
-     * 根据hql查询,返回列表数据总数
+     * 鏍规嵁hql鏌ヨ,杩斿洖鍒楄〃鏁版嵁鎬绘暟
      *
-     * @param hql 查询语句
-     * @param args 参数
-     * @param cls 返回类型
+     * @param hql 鏌ヨ璇彞
+     * @param args 鍙傛暟
+     * @param cls 杩斿洖绫诲瀷
      * @return
      */
 	public int findCountBySql(final String sql, final List<Object> args) {
@@ -213,11 +213,11 @@
     }
     
     /**
-     * 根据hql查询,返回列表分页数据
+     * 鏍规嵁hql鏌ヨ,杩斿洖鍒楄〃鍒嗛〉鏁版嵁
      *
-     * @param hql 查询语句
-     * @param args 参数
-     * @param cls 返回类型
+     * @param hql 鏌ヨ璇彞
+     * @param args 鍙傛暟
+     * @param cls 杩斿洖绫诲瀷
      * @return
      */
     @SuppressWarnings({ "unchecked" })
@@ -238,11 +238,11 @@
     }
     
     /**
-     * 根据hql查询,返回唯一的数据
+     * 鏍规嵁hql鏌ヨ,杩斿洖鍞竴鐨勬暟鎹�
      *
-     * @param hql 查询语句
-     * @param args 参数
-     * @param cls 返回类型
+     * @param hql 鏌ヨ璇彞
+     * @param args 鍙傛暟
+     * @param cls 杩斿洖绫诲瀷
      * @return
      */
     @SuppressWarnings({ RAW_TYPES, "unchecked" })
@@ -265,11 +265,11 @@
     }
 
     /**
-     * 根据hql查询,并返回执行类型的列表结果
+     * 鏍规嵁hql鏌ヨ,骞惰繑鍥炴墽琛岀被鍨嬬殑鍒楄〃缁撴灉
      *
-     * @param hql 查询语句
-     * @param args 参数
-     * @param cls 返回类型
+     * @param hql 鏌ヨ璇彞
+     * @param args 鍙傛暟
+     * @param cls 杩斿洖绫诲瀷
      * @return
      */
     @SuppressWarnings({ RAW_TYPES})
@@ -289,11 +289,11 @@
     }
     
     /**
-     * 根据hql查询,并返回执行类型的列表结果
+     * 鏍规嵁hql鏌ヨ,骞惰繑鍥炴墽琛岀被鍨嬬殑鍒楄〃缁撴灉
      *
-     * @param hql 查询语句
-     * @param args 参数
-     * @param cls 返回类型
+     * @param hql 鏌ヨ璇彞
+     * @param args 鍙傛暟
+     * @param cls 杩斿洖绫诲瀷
      * @return
      */
     @SuppressWarnings({ RAW_TYPES})
@@ -316,11 +316,11 @@
     
     
     /**
-     * hql只含单一参数
+     * hql鍙惈鍗曚竴鍙傛暟
      *
-     * @param hql 查询语句
-     * @param args 参数数组
-     * @param cls 返回类型
+     * @param hql 鏌ヨ璇彞
+     * @param args 鍙傛暟鏁扮粍
+     * @param cls 杩斿洖绫诲瀷
      * @return
      */
     public Result bulkUpdateInLoop(String hql, Object args[]) {
@@ -336,11 +336,11 @@
     }
     
     /**
-     * hql只含单一参数
+     * hql鍙惈鍗曚竴鍙傛暟
      *
-     * @param hql 查询语句
-     * @param args 参数数组
-     * @param cls 返回类型
+     * @param hql 鏌ヨ璇彞
+     * @param args 鍙傛暟鏁扮粍
+     * @param cls 杩斿洖绫诲瀷
      * @return
      */
     public Result bulkUpdate(String hql, Object args[]) {
@@ -353,10 +353,10 @@
     }
     
     /**
-     * 存储过程语句
+     * 瀛樺偍杩囩▼璇彞
      *
-     * @param hql call 存储语句 sql语句
-     * @param args 参数数组
+     * @param hql call 瀛樺偍璇彞 sql璇彞
+     * @param args 鍙傛暟鏁扮粍
      * @return
      */
 	public Result executeProduce(final String sql, final Object args[]) {
@@ -379,10 +379,10 @@
     }
     
     /**
-     * 执行sql删除
+     * 鎵цsql鍒犻櫎
      *
-     * @param hql 查询语句
-     * @param args 参数数组
+     * @param hql 鏌ヨ璇彞
+     * @param args 鍙傛暟鏁扮粍
      * @return
      */
 	public int executeSqlDelete(final String sql, final Object args[]) {
@@ -404,16 +404,16 @@
     }
     
     /**
-     * 根据hql查询,并返回执行类型的列表结果
+     * 鏍规嵁hql鏌ヨ,骞惰繑鍥炴墽琛岀被鍨嬬殑鍒楄〃缁撴灉
      *
-     * @param hql 查询语句
-     * @param args 参数
-     * @param cls 返回类型
+     * @param hql 鏌ヨ璇彞
+     * @param args 鍙傛暟
+     * @param cls 杩斿洖绫诲瀷
      * @return
      */
     @SuppressWarnings({RAW_TYPES, "unchecked" })
     public List<Object[]> findRawByComplexHql(final String hql, final Map<String, Object> map) {
-    	// 查询结果
+    	// 鏌ヨ缁撴灉
         return  (List<Object[]>)this.getHibernateTemplate().execute(new HibernateCallback<List>() {
             public List doInHibernate(Session session) {
                 Query query = session.createQuery(hql);
@@ -421,7 +421,7 @@
                     Set<String> keySet = map.keySet();  
                     for (String string : keySet) {  
                         Object obj = map.get(string);  
-                        //这里考虑传入的参数是什么类型,不同类型使用的方法不同  
+                        //杩欓噷鑰冭檻浼犲叆鐨勫弬鏁版槸浠�涔堢被鍨嬶紝涓嶅悓绫诲瀷浣跨敤鐨勬柟娉曚笉鍚�  
                         if(obj instanceof Collection<?>){  
                             query.setParameterList(string, (Collection<?>)obj);  
                         }else if(obj instanceof Object[]){  
@@ -438,11 +438,11 @@
     }   
     
     /**
-     * 根据hql查询,返回列表数据总数
+     * 鏍规嵁hql鏌ヨ,杩斿洖鍒楄〃鏁版嵁鎬绘暟
      *
-     * @param hql 查询语句
-     * @param args 参数
-     * @param cls 返回类型
+     * @param hql 鏌ヨ璇彞
+     * @param args 鍙傛暟
+     * @param cls 杩斿洖绫诲瀷
      * @return
      */
 	public int findCountByComplexHql(final String hql, final Map<String, Object> map) {
@@ -457,7 +457,7 @@
                     Set<String> keySet = map.keySet();  
                     for (String string : keySet) {  
                         Object obj = map.get(string);  
-                        //这里考虑传入的参数是什么类型,不同类型使用的方法不同  
+                        //杩欓噷鑰冭檻浼犲叆鐨勫弬鏁版槸浠�涔堢被鍨嬶紝涓嶅悓绫诲瀷浣跨敤鐨勬柟娉曚笉鍚�  
                         if(obj instanceof Collection<?>){  
                         	queryHql.setParameterList(string, (Collection<?>)obj);  
                         }else if(obj instanceof Object[]){  
@@ -478,11 +478,11 @@
     }
 	
 	 /**
-     * 根据sql查询,返回列表数据总数
+     * 鏍规嵁sql鏌ヨ,杩斿洖鍒楄〃鏁版嵁鎬绘暟
      *
-     * @param hql 查询语句
-     * @param args 参数
-     * @param cls 返回类型
+     * @param hql 鏌ヨ璇彞
+     * @param args 鍙傛暟
+     * @param cls 杩斿洖绫诲瀷
      * @return
      */
 	public int findCountByComplexSql(final String hql, final Map<String, Object> map) {
@@ -497,7 +497,7 @@
                     Set<String> keySet = map.keySet();  
                     for (String string : keySet) {  
                         Object obj = map.get(string);  
-                        //这里考虑传入的参数是什么类型,不同类型使用的方法不同  
+                        //杩欓噷鑰冭檻浼犲叆鐨勫弬鏁版槸浠�涔堢被鍨嬶紝涓嶅悓绫诲瀷浣跨敤鐨勬柟娉曚笉鍚�  
                         if(obj instanceof Collection<?>){  
                         	querySql.setParameterList(string, (Collection<?>)obj);  
                         }else if(obj instanceof Object[]){  
@@ -518,11 +518,11 @@
     }
 	
     /**
-     * 根据hql查询,并返回执行类型的列表结果
+     * 鏍规嵁hql鏌ヨ,骞惰繑鍥炴墽琛岀被鍨嬬殑鍒楄〃缁撴灉
      *
-     * @param hql 查询语句
-     * @param args 参数
-     * @param cls 返回类型
+     * @param hql 鏌ヨ璇彞
+     * @param args 鍙傛暟
+     * @param cls 杩斿洖绫诲瀷
      * @return
      */
     public <T> List<T> findByComplexHql(final String hql, final Map<String, Object> map, Class<T> cls) {
@@ -533,14 +533,14 @@
     }
     
     /**
-     * 复杂hql
+     * 澶嶆潅hql
      * @param sql
      * @param map
      * @param cls
      * @return
      */
     public <T> T findUniqueByHql(final String hql, final Map<String, Object> map){
-    	// 查询结果
+    	// 鏌ヨ缁撴灉
         List<T> lst =  this.getHibernateTemplate().execute(new HibernateCallback<List<T>>() {
         	
             @SuppressWarnings("unchecked")
@@ -550,7 +550,7 @@
                     Set<String> keySet = map.keySet();  
                     for (String string : keySet) {  
                         Object obj = map.get(string);  
-                        //这里考虑传入的参数是什么类型,不同类型使用的方法不同  
+                        //杩欓噷鑰冭檻浼犲叆鐨勫弬鏁版槸浠�涔堢被鍨嬶紝涓嶅悓绫诲瀷浣跨敤鐨勬柟娉曚笉鍚�  
                         if(obj instanceof Collection<?>){  
                         	queryHql.setParameterList(string, (Collection<?>)obj);  
                         }else if(obj instanceof Object[]){  
@@ -578,10 +578,10 @@
     }
     
     /**
-     * 根据hql查询,并返回执行类型的列表结果,列表数据为Map
+     * 鏍规嵁hql鏌ヨ,骞惰繑鍥炴墽琛岀被鍨嬬殑鍒楄〃缁撴灉锛屽垪琛ㄦ暟鎹负Map
      *
-     * @param hql 查询语句
-     * @param args 参数
+     * @param hql 鏌ヨ璇彞
+     * @param args 鍙傛暟
      * @return
      */
     public List<Map<String,Object>> findListWithMapByHql(final String hql, final Map<String, Object> map) {
@@ -593,15 +593,15 @@
     }
     
     /**
-     * 根据hql查询,并返回执行类型的列表结果,列表数据为Map
+     * 鏍规嵁hql鏌ヨ,骞惰繑鍥炴墽琛岀被鍨嬬殑鍒楄〃缁撴灉锛屽垪琛ㄦ暟鎹负Map
      *
-     * @param hql 查询语句
-     * @param args 参数
+     * @param hql 鏌ヨ璇彞
+     * @param args 鍙傛暟
      * @return
      */
     @SuppressWarnings("unchecked")
     public List<Map<String,Object>> findListWithMapByHql(final String hql, final Map<String, Object> map,final Pager page) {
-    	// 查询结果
+    	// 鏌ヨ缁撴灉
         List<Map<String,Object>> lst =  getHibernateTemplate().execute(new HibernateCallback<List<Map<String,Object>>>() {
 			public List<Map<String,Object>> doInHibernate(Session session) {
                 Query query = session.createQuery(hql).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
@@ -609,7 +609,7 @@
                     Set<String> keySet = map.keySet();  
                     for (String string : keySet) {  
                         Object obj = map.get(string);  
-                        //这里考虑传入的参数是什么类型,不同类型使用的方法不同  
+                        //杩欓噷鑰冭檻浼犲叆鐨勫弬鏁版槸浠�涔堢被鍨嬶紝涓嶅悓绫诲瀷浣跨敤鐨勬柟娉曚笉鍚�  
                         if(obj instanceof Collection<?>){  
                             query.setParameterList(string, (Collection<?>)obj);  
                         }else if(obj instanceof Object[]){  
@@ -630,16 +630,16 @@
     }
     
     /**
-     * 根据hql查询,并返回唯一一条结果
+     * 鏍规嵁hql鏌ヨ,骞惰繑鍥炲敮涓�涓�鏉$粨鏋�
      *
-     * @param hql 查询语句
-     * @param args 参数
-     * @param cls 返回类型
+     * @param hql 鏌ヨ璇彞
+     * @param args 鍙傛暟
+     * @param cls 杩斿洖绫诲瀷
      * @return
      */
     @SuppressWarnings({RAW_TYPES })
     public <T> T findUniqueByComplexHql(final String hql, final Map<String, Object> map, Class<T> cls) {
-    	// 查询结果
+    	// 鏌ヨ缁撴灉
         List<T> lst =  this.getHibernateTemplate().execute(new HibernateCallback<List<T>>() {
             public List doInHibernate(Session session) {
                 Query query = session.createQuery(hql);
@@ -647,7 +647,7 @@
                     Set<String> keySet = map.keySet();  
                     for (String string : keySet) {  
                         Object obj = map.get(string);  
-                        //这里考虑传入的参数是什么类型,不同类型使用的方法不同  
+                        //杩欓噷鑰冭檻浼犲叆鐨勫弬鏁版槸浠�涔堢被鍨嬶紝涓嶅悓绫诲瀷浣跨敤鐨勬柟娉曚笉鍚�  
                         if(obj instanceof Collection<?>){  
                             query.setParameterList(string, (Collection<?>)obj);  
                         }else if(obj instanceof Object[]){  
@@ -669,11 +669,11 @@
 
     
     /**
-     * 根据Sql查询,并返回执行类型的列表结果
+     * 鏍规嵁Sql鏌ヨ,骞惰繑鍥炴墽琛岀被鍨嬬殑鍒楄〃缁撴灉
      *
-     * @param hql 查询语句
-     * @param args 参数
-     * @param cls 返回类型
+     * @param hql 鏌ヨ璇彞
+     * @param args 鍙傛暟
+     * @param cls 杩斿洖绫诲瀷
      * @return
      */
     public <T> List<T> findByComplexSql(final String sql, final Map<String, Object> map, Class<T> cls) {
@@ -685,16 +685,16 @@
     
     
     /**
-     * 根据Sql查询,并返回执行类型的列表结果
+     * 鏍规嵁Sql鏌ヨ,骞惰繑鍥炴墽琛岀被鍨嬬殑鍒楄〃缁撴灉
      *
-     * @param hql 查询语句
-     * @param args 参数
-     * @param cls 返回类型
+     * @param hql 鏌ヨ璇彞
+     * @param args 鍙傛暟
+     * @param cls 杩斿洖绫诲瀷
      * @return
      */
     @SuppressWarnings({RAW_TYPES, "unchecked" })
     public List<Object[]> findRawByComplexSql(final String sql, final Map<String, Object> map) {
-    	// 查询结果
+    	// 鏌ヨ缁撴灉
         return  (List<Object[]>)this.getHibernateTemplate().execute(new HibernateCallback<List>() {
             public List doInHibernate(Session session) {
                 SQLQuery query = session.createSQLQuery(sql);
@@ -702,7 +702,7 @@
                     Set<String> keySet = map.keySet();  
                     for (String string : keySet) {  
                         Object obj = map.get(string);  
-                        //这里考虑传入的参数是什么类型,不同类型使用的方法不同  
+                        //杩欓噷鑰冭檻浼犲叆鐨勫弬鏁版槸浠�涔堢被鍨嬶紝涓嶅悓绫诲瀷浣跨敤鐨勬柟娉曚笉鍚�  
                         if(obj instanceof Collection<?>){  
                             query.setParameterList(string, (Collection<?>)obj);  
                         }else if(obj instanceof Object[]){  
@@ -721,16 +721,16 @@
     }
     
     /**
-     * 根据hql查询,并返回执行类型的列表结果
+     * 鏍规嵁hql鏌ヨ,骞惰繑鍥炴墽琛岀被鍨嬬殑鍒楄〃缁撴灉
      *
-     * @param hql 查询语句
-     * @param args 参数
-     * @param cls 返回类型
+     * @param hql 鏌ヨ璇彞
+     * @param args 鍙傛暟
+     * @param cls 杩斿洖绫诲瀷
      * @return
      */
     @SuppressWarnings({RAW_TYPES })
     public <T> List<T> findByComplexHql(final String hql,final Pager page, final Map<String, Object> map, Class<T> cls) {
-    	// 查询结果
+    	// 鏌ヨ缁撴灉
         List lst =  this.getHibernateTemplate().execute(new HibernateCallback<List>() {
             public List doInHibernate(Session session) {
                 Query queryHql = session.createQuery(hql);
@@ -738,7 +738,7 @@
                     Set<String> keySet = map.keySet();  
                     for (String string : keySet) {  
                         Object obj = map.get(string);  
-                        //这里考虑传入的参数是什么类型,不同类型使用的方法不同  
+                        //杩欓噷鑰冭檻浼犲叆鐨勫弬鏁版槸浠�涔堢被鍨嬶紝涓嶅悓绫诲瀷浣跨敤鐨勬柟娉曚笉鍚�  
                         if(obj instanceof Collection<?>){  
                         	queryHql.setParameterList(string, (Collection<?>)obj);  
                         }else if(obj instanceof Object[]){  
@@ -755,7 +755,7 @@
 
         });
         
-        // 组装结果
+        // 缁勮缁撴灉
         List<T> result = new ArrayList<T>();
         for (Object obj : lst) {
             result.add(cls.cast(obj));
@@ -764,16 +764,16 @@
     }
     
     /**
-     * 根据Sql查询,并返回执行类型的列表结果
+     * 鏍规嵁Sql鏌ヨ,骞惰繑鍥炴墽琛岀被鍨嬬殑鍒楄〃缁撴灉
      *
-     * @param hql 查询语句
-     * @param args 参数
-     * @param cls 返回类型
+     * @param hql 鏌ヨ璇彞
+     * @param args 鍙傛暟
+     * @param cls 杩斿洖绫诲瀷
      * @return
      */
     @SuppressWarnings({RAW_TYPES })
     public <T> List<T> findByComplexSql(final String sql,final Pager page, final Map<String, Object> map, Class<T> cls) {
-    	// 查询结果
+    	// 鏌ヨ缁撴灉
         List lst =  this.getHibernateTemplate().execute(new HibernateCallback<List>() {
             public List doInHibernate(Session session) {
             	 SQLQuery querySql = session.createSQLQuery(sql);
@@ -781,7 +781,7 @@
                     Set<String> keySet = map.keySet();  
                     for (String string : keySet) {  
                         Object obj = map.get(string);  
-                        //这里考虑传入的参数是什么类型,不同类型使用的方法不同  
+                        //杩欓噷鑰冭檻浼犲叆鐨勫弬鏁版槸浠�涔堢被鍨嬶紝涓嶅悓绫诲瀷浣跨敤鐨勬柟娉曚笉鍚�  
                         if(obj instanceof Collection<?>){  
                         	querySql.setParameterList(string, (Collection<?>)obj);  
                         }else if(obj instanceof Object[]){  
@@ -798,7 +798,7 @@
 
         });
         
-        // 组装结果
+        // 缁勮缁撴灉
         List<T> result = new ArrayList<T>();
         for (Object obj : lst) {
             result.add(cls.cast(obj));
diff --git a/src/main/java/com/qxueyou/scc/base/dao/CommonDAO.java b/src/main/java/com/qxueyou/scc/base/dao/CommonDAO.java
index 708a820..96a9565 100644
--- a/src/main/java/com/qxueyou/scc/base/dao/CommonDAO.java
+++ b/src/main/java/com/qxueyou/scc/base/dao/CommonDAO.java
@@ -1,8 +1,8 @@
 /******************************************************************************
 O * Copyright (C) 2014 Shenzhen Penguin Network Technology Co., Ltd
  * All Rights Reserved.
- * 本软件为深圳企鹅网络科技有限公司开发研制。未经本公司正式书面同意,其他任何个人、团体
- * 不得使用、复制、修改或发布本软件.
+ * 鏈蒋浠朵负娣卞湷浼侀箙缃戠粶绉戞妧鏈夐檺鍏徃寮�鍙戠爺鍒躲�傛湭缁忔湰鍏徃姝e紡涔﹂潰鍚屾剰锛屽叾浠栦换浣曚釜浜恒�佸洟浣�
+ * 涓嶅緱浣跨敤銆佸鍒躲�佷慨鏀规垨鍙戝竷鏈蒋浠�.
  *****************************************************************************/
 
 package com.qxueyou.scc.base.dao;
@@ -17,16 +17,16 @@
 
 @Repository(value="commonDao")
 /**
- * 通用DAO类
+ * 閫氱敤DAO绫�
  *
- * @author  夏德虎
+ * @author  澶忓痉铏�
  * @since   JDK1.7
- * @history 2014-11-18 夏德虎 新建
+ * @history 2014-11-18 澶忓痉铏� 鏂板缓
  */
 public class CommonDAO extends BaseDAO{
 	
 	/**
-	 * 根据配置key查询value值 
+	 * 鏍规嵁閰嶇疆key鏌ヨvalue鍊� 
 	 * @param key
 	 * @return
 	 */
@@ -44,7 +44,7 @@
 	}
 	
 	/**
-	 * 根据字典类型查询字典内容的list
+	 * 鏍规嵁瀛楀吀绫诲瀷鏌ヨ瀛楀吀鍐呭鐨刲ist
 	 * @param dicType
 	 * @return
 	 */
diff --git a/src/main/java/com/qxueyou/scc/base/dao/CommonRedisCache.java b/src/main/java/com/qxueyou/scc/base/dao/CommonRedisCache.java
index e6724cf..bd0bda3 100644
--- a/src/main/java/com/qxueyou/scc/base/dao/CommonRedisCache.java
+++ b/src/main/java/com/qxueyou/scc/base/dao/CommonRedisCache.java
@@ -10,7 +10,7 @@
 import redis.clients.jedis.ShardedJedis;
 
 /***
- * redis常用操作类
+ * redis甯哥敤鎿嶄綔绫�
  * 
  * @author kevin
  * @date 2017-05-15 17:00
@@ -30,7 +30,7 @@
 				jedisClient = reidsSharedPoolWrapper.getResource();
 			}
 		} catch (Exception e) {
-			log.error("获取redisClient异常!");
+			log.error("鑾峰彇redisClient寮傚父锛�");
 		}
 		return jedisClient;
 	}
@@ -41,7 +41,7 @@
 				jedisClient.close();
 			}
 		} catch (Exception e) {
-			log.error("关闭redis连接失败");
+			log.error("鍏抽棴redis杩炴帴澶辫触");
 		}
 	}
 
diff --git a/src/main/java/com/qxueyou/scc/base/dao/CommonRedisTemplate.java b/src/main/java/com/qxueyou/scc/base/dao/CommonRedisTemplate.java
index 0817cf0..b27808f 100644
--- a/src/main/java/com/qxueyou/scc/base/dao/CommonRedisTemplate.java
+++ b/src/main/java/com/qxueyou/scc/base/dao/CommonRedisTemplate.java
@@ -8,7 +8,7 @@
 import redis.clients.jedis.ShardedJedis;
 
 /***
- * redis常用操作类
+ * redis甯哥敤鎿嶄綔绫�
  * 
  * @author kevin
  * @date 2017-05-15 17:00
@@ -28,7 +28,7 @@
 				jedisClient = reidsSharedPoolWrapper.getResource();
 			}
 		} catch (Exception e) {
-			log.error("获取redisClient异常!");
+			log.error("鑾峰彇redisClient寮傚父锛�");
 		}
 		return jedisClient;
 	}
@@ -39,7 +39,7 @@
 				jedisClient.close();
 			}
 		} catch (Exception e) {
-			log.error("关闭redis连接失败");
+			log.error("鍏抽棴redis杩炴帴澶辫触");
 		}
 	}
 
diff --git a/src/main/java/com/qxueyou/scc/base/handler/QCacheCleaner.java b/src/main/java/com/qxueyou/scc/base/handler/QCacheCleaner.java
index febdb72..f3a33ae 100644
--- a/src/main/java/com/qxueyou/scc/base/handler/QCacheCleaner.java
+++ b/src/main/java/com/qxueyou/scc/base/handler/QCacheCleaner.java
@@ -10,12 +10,12 @@
 @Retention(RetentionPolicy.RUNTIME)
 @Inherited
 public @interface QCacheCleaner {
-	//阀值(暂不用)
+	//闃�鍊硷紙鏆備笉鐢級
 	public int threshold() default 0;
 	 
-	//需要清理的keyTag
+	//闇�瑕佹竻鐞嗙殑keyTag
 	public String clearBucket() default "";
 	
-	//tag分割正则表达式
+	//tag鍒嗗壊姝e垯琛ㄨ揪寮�
 	public String bucketSplitReg() default "";	 
 }
diff --git a/src/main/java/com/qxueyou/scc/base/handler/QCacheMonitor.java b/src/main/java/com/qxueyou/scc/base/handler/QCacheMonitor.java
index 51c599c..c878daf 100644
--- a/src/main/java/com/qxueyou/scc/base/handler/QCacheMonitor.java
+++ b/src/main/java/com/qxueyou/scc/base/handler/QCacheMonitor.java
@@ -47,12 +47,12 @@
 
 	private static Pattern argPattern = Pattern.compile("\\$\\{arg([0-9])\\}");
 	
-	//判断当前线程是否已经执行过目标方法的标志
+	//鍒ゆ柇褰撳墠绾跨▼鏄惁宸茬粡鎵ц杩囩洰鏍囨柟娉曠殑鏍囧織
 	private final ThreadLocal<Map<String, Object>> targetMethodResult = new ThreadLocal<Map<String, Object>>();
 	
 	private Configuration cfg;
 
-	/** 缓存 **/
+	/** 缂撳瓨 **/
 	@Autowired
 	ICacheService cache;
 
@@ -86,9 +86,9 @@
 			
 			excuteMethodKey = this.getExecuteMethodKey(pjp);
 			
-			//读取缓存的注解
+			//璇诲彇缂撳瓨鐨勬敞瑙�
 			annoQCacheReader = AnnotationUtils.findAnnotation(methodSignature.getMethod(), QCacheReader.class);
-			//清理缓存注解
+			//娓呯悊缂撳瓨娉ㄨВ
 			annoQCacheCleaner = AnnotationUtils.findAnnotation(methodSignature.getMethod(), QCacheCleaner.class);
 			
 			if(annoQCacheReader!=null && annoQCacheCleaner==null){
@@ -104,7 +104,7 @@
 				this.processReadCache(pjp, annoQCacheReader, methodSignature);
 			}
 		} catch (Exception e) {
-			logger.error("缓存处理失败,msg=" + e.getMessage(), e);
+			logger.error("缂撳瓨澶勭悊澶辫触锛宮sg=" + e.getMessage(), e);
 		}
 		
 		return clearAndReturnMethodResult(pjp,excuteMethodKey);
@@ -120,7 +120,7 @@
 			
 			strCacheKey = this.checkAndGenerateCacheKey(pjp.getTarget().getClass(), qCacheReader.cacheKey(), methodSignature,
 					converToParamMap(pjp.getArgs()));
-			//执行方法对应的key值
+			//鎵ц鏂规硶瀵瑰簲鐨刱ey鍊�
 			String excuteMethodKey =  this.getExecuteMethodKey(pjp);
 
 			if (StringUtils.isNotEmpty(strCacheKey)) {
@@ -138,7 +138,7 @@
 								targetMethodResult.get().get(excuteMethodKey), expireTime);
 					}
 				}else{
-					//如果result存在,则直接放入targetMethodResult中
+					//濡傛灉result瀛樺湪锛屽垯鐩存帴鏀惧叆targetMethodResult涓�
 					Map<String,Object> map = new HashMap<String,Object>();
 					map.put(excuteMethodKey, result);
 					targetMethodResult.set(map);
@@ -147,7 +147,7 @@
 				executeTargetMethod(pjp,excuteMethodKey);
 			}
 		} catch (Throwable e) {
-			throw new Exception("添加缓存发生异常,strCacheKey=" + strCacheKey, e);
+			throw new Exception("娣诲姞缂撳瓨鍙戠敓寮傚父,strCacheKey=" + strCacheKey, e);
 		}
 	}
 
@@ -169,11 +169,11 @@
 				for (int i = 0; i < strClearBucketArr.length; i++) {
 					strClearBucketArr[i] = CacheConstants.QXY_SERVICE_CACHE_NS.concat(strClearBucketArr[i]);
 				}
-				logger.info("清理的bucket:"+ArrayUtils.toString(strClearBucketArr));
+				logger.info("娓呯悊鐨刡ucket:"+ArrayUtils.toString(strClearBucketArr));
 				this.qCacheRedis.del(strClearBucketArr);
 			}
 		} catch (Throwable e) {
-			logger.error("清理缓存发生异常,strClearBucketArr" + ArrayUtils.toString(strClearBucketArr, ""), e);
+			logger.error("娓呯悊缂撳瓨鍙戠敓寮傚父锛宻trClearBucketArr" + ArrayUtils.toString(strClearBucketArr, ""), e);
 		}
 	}
 
@@ -182,16 +182,16 @@
 		String strNewKey = null;
 
 		if (StringUtils.isNotEmpty(key)) {
-			logger.info("处理前的key:" + key);
+			logger.info("澶勭悊鍓嶇殑key:" + key);
 
-			// 对部分参数进行替换处理
+			// 瀵归儴鍒嗗弬鏁拌繘琛屾浛鎹㈠鐞�
 			strNewKey = replaceArgInfo(key, paramMap);
-			// freeMarker解析cackeKey
+			// freeMarker瑙f瀽cackeKey
 			strNewKey = parseCacheKey(strNewKey, targetClass, methodSignature, paramMap);
 
-			logger.info("处理后的key:" + strNewKey);
+			logger.info("澶勭悊鍚庣殑key:" + strNewKey);
 			if (strNewKey.length() > MAX_KEY_LENGTH) {
-				throw new Exception("Service缓存时Key过长,大于250个字符");
+				throw new Exception("Service缂撳瓨鏃禟ey杩囬暱锛屽ぇ浜�250涓瓧绗�");
 			}
 		}
 		return strNewKey;
@@ -227,7 +227,7 @@
 			out.flush();
 			return new String(stream.toByteArray(), "UTF-8");
 		} catch (Exception e) {
-			logger.error("使用freemark解析cacheKey失败", e);
+			logger.error("浣跨敤freemark瑙f瀽cacheKey澶辫触", e);
 			throw e;
 		} finally {
 			IoUtils.closeQuietly(stream);
@@ -241,17 +241,17 @@
 		String strParamName = null;
 		Class<?> paramClz = null;
 
-		logger.info("替换前的key:" + strCacheKey);
+		logger.info("鏇挎崲鍓嶇殑key:" + strCacheKey);
 		if (StringUtils.isNotEmpty(strCacheKey) && paramMap != null && !paramMap.isEmpty()) {
 			matcher = argPattern.matcher(strCacheKey);
 			while (matcher.find()) {
 				strParamName = "arg" + matcher.group(1);
-				// 参数类型判断
+				// 鍙傛暟绫诲瀷鍒ゆ柇
 				if (paramMap.containsKey(strParamName)) {
 					if(paramMap.get(strParamName)!=null){
 						paramClz = paramMap.get(strParamName).getClass();
 						if (paramClz.isAssignableFrom(java.lang.Object.class)) {
-							throw new Exception("错误:缓存参数类型不能是Object.class类型的对象");
+							throw new Exception("閿欒:缂撳瓨鍙傛暟绫诲瀷涓嶈兘鏄疧bject.class绫诲瀷鐨勫璞�");
 						} else if (paramClz.isAssignableFrom(java.util.List.class) || paramClz.isArray()) {
 							matcher.appendReplacement(sbBuffer, "<#list " + strParamName + " as node>_${node}</#list>");
 						} else if (paramClz.isAssignableFrom(java.util.Map.class)) {
@@ -262,11 +262,11 @@
 						}
 					}
 				} else {
-					throw new Exception("错误:参数表达式中存在不合法的参数");
+					throw new Exception("閿欒:鍙傛暟琛ㄨ揪寮忎腑瀛樺湪涓嶅悎娉曠殑鍙傛暟");
 				}
 			}
 			matcher.appendTail(sbBuffer);
-			logger.info("替换后的key:" + sbBuffer.toString());
+			logger.info("鏇挎崲鍚庣殑key:" + sbBuffer.toString());
 			return sbBuffer.toString();
 		}else{
 			return strCacheKey;
@@ -305,7 +305,7 @@
 	}
 	
 	/**
-	 * 执行目标方法,只允许执行一次,并保存当前结果
+	 * 鎵ц鐩爣鏂规硶锛屽彧鍏佽鎵ц涓�娆★紝骞朵繚瀛樺綋鍓嶇粨鏋�
 	 * @param pjp
 	 * @param key
 	 * @throws Throwable
@@ -315,7 +315,7 @@
 		if(StringUtils.isEmpty(excuteMethodKey)){
 			excuteMethodKey = this.getExecuteMethodKey(pjp);
 		}
-		//是否需要判断是否是void方法
+		//鏄惁闇�瑕佸垽鏂槸鍚︽槸void鏂规硶
 		if(targetMethodResult.get()==null || !targetMethodResult.get().containsKey(excuteMethodKey)){
 			Map<String,Object> map = new HashMap<String,Object>();
 			map.put(excuteMethodKey, pjp.proceed());
@@ -324,7 +324,7 @@
 	}
 	
 	/**
-	 * 返回并清理ThreadLocal<Map<String, Object>>的MAP中的KEY
+	 * 杩斿洖骞舵竻鐞員hreadLocal<Map<String, Object>>鐨凪AP涓殑KEY
 	 * @param pjp
 	 * @param key
 	 * @throws Throwable
@@ -335,7 +335,7 @@
 		if(StringUtils.isEmpty(excuteMethodKey)){
 			excuteMethodKey = getExecuteMethodKey(pjp);
 		}
-		//是否需要判断是否是void方法(TODO)
+		//鏄惁闇�瑕佸垽鏂槸鍚︽槸void鏂规硶(TODO)
 		if(targetMethodResult.get()!=null && targetMethodResult.get().containsKey(excuteMethodKey)){
 			result =targetMethodResult.get().get(excuteMethodKey);
 			targetMethodResult.get().remove(excuteMethodKey);
@@ -346,7 +346,7 @@
 	}
 	
 	/**
-	 * 返回当前目标方法的执行结果存储在ThreadLocal<Map<String, Object>>的MAP中的KEY
+	 * 杩斿洖褰撳墠鐩爣鏂规硶鐨勬墽琛岀粨鏋滃瓨鍌ㄥ湪ThreadLocal<Map<String, Object>>鐨凪AP涓殑KEY
 	 * @param pjp
 	 * @return key
 	 */
@@ -382,7 +382,7 @@
 //				}
 //				es.shutdown();
 //				if(es.awaitTermination(1, java.util.concurrent.TimeUnit.HOURS)){
-//					System.out.println("线程执行完成");	
+//					System.out.println("绾跨▼鎵ц瀹屾垚");	
 //				}
 //				long end = System.currentTimeMillis();
 //				System.out.println(start-end);
diff --git a/src/main/java/com/qxueyou/scc/base/handler/QCacheReader.java b/src/main/java/com/qxueyou/scc/base/handler/QCacheReader.java
index a7059de..72bd2b3 100644
--- a/src/main/java/com/qxueyou/scc/base/handler/QCacheReader.java
+++ b/src/main/java/com/qxueyou/scc/base/handler/QCacheReader.java
@@ -10,24 +10,24 @@
 @Retention(RetentionPolicy.RUNTIME)
 @Inherited
 public @interface QCacheReader {
-	//缓存时间单位枚举(秒,分,时)
+	//缂撳瓨鏃堕棿鍗曚綅鏋氫妇(绉掞紝鍒嗭紝鏃�)
 	public enum TimeUnit{SECOND,MINUTE,HOUR,DAY};
 		
 	public enum ClearStrategy {KEY,TAG};
 	
-	 //缓存的KEY
+	 //缂撳瓨鐨凨EY
 	public String cacheKey();
 	
-	//标签 方便多数据的清理
+	//鏍囩 鏂逛究澶氭暟鎹殑娓呯悊
 	public String bucket() default "";
 	
-	//阀值(暂不用)
+	//闃�鍊硷紙鏆備笉鐢級
 	public int threshold() default 0;
 	
-	//缓存时长
+	//缂撳瓨鏃堕暱
 	public int cacheTime() default 60;
 	 
-	//缓存时间单位(默认秒)
+	//缂撳瓨鏃堕棿鍗曚綅锛堥粯璁ょ锛�
 	public TimeUnit timeUnit() default TimeUnit.SECOND;
 	 
 }
diff --git a/src/main/java/com/qxueyou/scc/base/handler/QCacheRedis.java b/src/main/java/com/qxueyou/scc/base/handler/QCacheRedis.java
index 47ef3e4..f37c0a2 100644
--- a/src/main/java/com/qxueyou/scc/base/handler/QCacheRedis.java
+++ b/src/main/java/com/qxueyou/scc/base/handler/QCacheRedis.java
@@ -34,9 +34,9 @@
 //			Object obj = ReisUtils.unserialize(client.hget(bucket.getBytes(), cachekey.getBytes()));
 			if(obj!=null){
 				Map<String, Object> valueMap =(Map<String, Object>)obj;
-				//判断是否过期
+				//鍒ゆ柇鏄惁杩囨湡
 				if(checkIsExpire((Long)valueMap.get("expireTime"))){
-					//删除键
+					//鍒犻櫎閿�
 					client.hdel(bucket.getBytes(), cachekey.getBytes());
 					result = null;
 				}else{
@@ -74,9 +74,9 @@
 		}
 	}
 	
-	/** 校验是否过期 */
+	/** 鏍¢獙鏄惁杩囨湡 */
 	private boolean checkIsExpire(long expireTime){
-		//负数表示永不过期
+		//璐熸暟琛ㄧず姘镐笉杩囨湡
 		if(expireTime>0){
 			return new Date(expireTime).compareTo(Calendar.getInstance().getTime())==-1;	
 		}else{
diff --git a/src/main/java/com/qxueyou/scc/base/handler/QLog.java b/src/main/java/com/qxueyou/scc/base/handler/QLog.java
index 3f7a28c..b4e2314 100644
--- a/src/main/java/com/qxueyou/scc/base/handler/QLog.java
+++ b/src/main/java/com/qxueyou/scc/base/handler/QLog.java
@@ -10,19 +10,19 @@
 @Retention(RetentionPolicy.RUNTIME)
 @Inherited
 public @interface QLog {
-	//日志类型枚举 SYS:系统,BUSINESS:业务
+	//鏃ュ織绫诲瀷鏋氫妇 SYS锛氱郴缁燂紝BUSINESS锛氫笟鍔�
 	public enum LogType{SYS,BUSINESS};
 	
-	 //日志类型
+	 //鏃ュ織绫诲瀷
 	public LogType type() default LogType.BUSINESS;
 	
-	//日志内容
+	//鏃ュ織鍐呭
 	public String content() default "";
 	
-	//描述信息
+	//鎻忚堪淇℃伅
 	public String desp() default "";
 	
-	//模块
+	//妯″潡
 	public String module() default "";
 	
 	 
diff --git a/src/main/java/com/qxueyou/scc/base/handler/QLogMonitor.java b/src/main/java/com/qxueyou/scc/base/handler/QLogMonitor.java
index 1170edc..1e19e9e 100644
--- a/src/main/java/com/qxueyou/scc/base/handler/QLogMonitor.java
+++ b/src/main/java/com/qxueyou/scc/base/handler/QLogMonitor.java
@@ -82,15 +82,15 @@
 				strModule = parserSpel(qLog.module(), joinPoint);
 				qLogType = qLog.type();
 			}
-			// 默认为参数相关信息
+			// 榛樿涓哄弬鏁扮浉鍏充俊鎭�
 			if (StringUtils.isEmpty(strContent)) {
 				strContent = createDefaultContentInfo(joinPoint, methodSignature);
 			}
-			// 默认为请求的URI信息
+			// 榛樿涓鸿姹傜殑URI淇℃伅
 			if(StringUtils.isEmpty(strDesp) && request!=null){
 				strDesp =request.getRequestURI();
 			}
-			// 默认为:控制器模块注解value值+方法名
+			// 榛樿涓猴細鎺у埗鍣ㄦā鍧楁敞瑙alue鍊�+鏂规硶鍚�
 			if (StringUtils.isEmpty(strModule)) {
 				strModule = createDefaultModuleInfo(joinPoint);
 			}
@@ -99,7 +99,7 @@
 
 			this.saveLog(strContent, strDesp, strModule.toUpperCase(), sLogType, ip,userAgent);
 		} catch (Exception e) {
-			logger.error("记录action操作日志发生异常!,errMsg:" + e.getMessage(), e);
+			logger.error("璁板綍action鎿嶄綔鏃ュ織鍙戠敓寮傚父!,errMsg:" + e.getMessage(), e);
 		}
 	}
 
@@ -203,7 +203,7 @@
 		MethodSignature methodSignature = (MethodSignature) joinPoint.getSignature();
 		ExpressionParser parser = new SpelExpressionParser();
 		EvaluationContext ctx = new StandardEvaluationContext();
-		// 设置变量
+		// 璁剧疆鍙橀噺
 		if (joinPoint.getArgs() != null && joinPoint.getArgs().length > 0) {
 			for (int i = 0; i < joinPoint.getArgs().length; i++) {
 				if (joinPoint.getArgs()[i] != null && this.checkParam(joinPoint.getArgs()[i].getClass())) {
diff --git a/src/main/java/com/qxueyou/scc/base/handler/QXueyouExceptionHandler.java b/src/main/java/com/qxueyou/scc/base/handler/QXueyouExceptionHandler.java
index 6df277b..ca847d6 100644
--- a/src/main/java/com/qxueyou/scc/base/handler/QXueyouExceptionHandler.java
+++ b/src/main/java/com/qxueyou/scc/base/handler/QXueyouExceptionHandler.java
@@ -11,8 +11,8 @@
 import org.springframework.web.servlet.ModelAndView;
 
 /**
- * Spring MVC 异常处理类
- * @author 德虎
+ * Spring MVC 寮傚父澶勭悊绫�
+ * @author 寰疯檸
  *
  */
 @ControllerAdvice
@@ -25,7 +25,7 @@
 			throws Exception {
 
 		long exepCode = System.currentTimeMillis();
-		log.error(req.getRequestURL() + ",诊断代码:" + exepCode + ":" + e.getMessage(), e);
+		log.error(req.getRequestURL() + ",璇婃柇浠g爜:" + exepCode + ":" + e.getMessage(), e);
 
 		if (AnnotationUtils.findAnnotation(e.getClass(), ResponseStatus.class) != null) {
 			throw e;
diff --git a/src/main/java/com/qxueyou/scc/base/model/ApiResult.java b/src/main/java/com/qxueyou/scc/base/model/ApiResult.java
index 6f9b32d..b43918a 100644
--- a/src/main/java/com/qxueyou/scc/base/model/ApiResult.java
+++ b/src/main/java/com/qxueyou/scc/base/model/ApiResult.java
@@ -1,25 +1,25 @@
 package com.qxueyou.scc.base.model;
 
 /**
- * api专用返回结果model
+ * api涓撶敤杩斿洖缁撴灉model
  * @author cyq
  *
  */
 public class ApiResult {
 	
 	/**
-	 * 返回结果的枚举
+	 * 杩斿洖缁撴灉鐨勬灇涓�
 	 * @author cyq
 	 *
 	 */
 	public enum ResultCode {
-		Success(1),						// 成功
-		UserNotExist(40001),			// 用户不存在
-		PasswordInvalid(40002),			// 密码不正确
-		TokenInvalid(50001),			// Token无效
-		ParamInvalid(60001),			// 参数无效
-		SystemException(60002),			// 系统异常
-		DataNotExist(60003);			// 数据不存在
+		Success(1),						// 鎴愬姛
+		UserNotExist(40001),			// 鐢ㄦ埛涓嶅瓨鍦�
+		PasswordInvalid(40002),			// 瀵嗙爜涓嶆纭�
+		TokenInvalid(50001),			// Token鏃犳晥
+		ParamInvalid(60001),			// 鍙傛暟鏃犳晥
+		SystemException(60002),			// 绯荤粺寮傚父
+		DataNotExist(60003);			// 鏁版嵁涓嶅瓨鍦�
 		
 		private Integer resultCode;
 
@@ -36,12 +36,12 @@
 	private boolean result;
 	
 	/**
-	 * 40001用户不存在
-	 * 40002密码错误
-	 * 50001token无效
-	 * 60001参数错误
-	 * 60001系统异常
-	 * 60003数据不存在
+	 * 40001鐢ㄦ埛涓嶅瓨鍦�
+	 * 40002瀵嗙爜閿欒
+	 * 50001token鏃犳晥
+	 * 60001鍙傛暟閿欒
+	 * 60001绯荤粺寮傚父
+	 * 60003鏁版嵁涓嶅瓨鍦�
 	 */
 	private int code = 1;
 	
diff --git a/src/main/java/com/qxueyou/scc/base/model/CacheConstants.java b/src/main/java/com/qxueyou/scc/base/model/CacheConstants.java
index b31bf9c..b49ea70 100644
--- a/src/main/java/com/qxueyou/scc/base/model/CacheConstants.java
+++ b/src/main/java/com/qxueyou/scc/base/model/CacheConstants.java
@@ -2,205 +2,205 @@
 
 
 /**
- * 缓存常量实体类
+ * 缂撳瓨甯搁噺瀹炰綋绫�
  * @author ody.yuan
  *
  */
 public class CacheConstants {
-	/** 业务缓存模块,通过模块删除对应的key
-	 *  1.app机构介绍
+	/** 涓氬姟缂撳瓨妯″潡锛岄�氳繃妯″潡鍒犻櫎瀵瑰簲鐨刱ey
+	 *  1.app鏈烘瀯浠嬬粛
 	 *  2.
 	 *   */
 	public static final int CACHE_MODULE_H5_ORG_INFO = 1 ;
 	
-	/** 手机短信最小间隔时间-缓存前缀 */
+	/** 鎵嬫満鐭俊鏈�灏忛棿闅旀椂闂�-缂撳瓨鍓嶇紑 */
 	public static final String SMS_MB_MIN_INTERVAL_PREFIX = "SMS_MB_MIN_INTERVAL_";
 	
-	/** 手机短信最小间隔时间-缓存时间 */
+	/** 鎵嬫満鐭俊鏈�灏忛棿闅旀椂闂�-缂撳瓨鏃堕棿 */
 	public static final Integer SMS_MB_MIN_INTERVAL_CACHE_TIME = 60;
 	
-	/** 手机、IP短信最小间隔时间-缓存时间 */
+	/** 鎵嬫満銆両P鐭俊鏈�灏忛棿闅旀椂闂�-缂撳瓨鏃堕棿 */
 	public static final Integer SMS_MB_IP_DAY_MAX_CACHE_TIME = 24 * 60 * 60 ;
 	
-	/** 手机短信同一天最多次数-缓存前缀 */
+	/** 鎵嬫満鐭俊鍚屼竴澶╂渶澶氭鏁�-缂撳瓨鍓嶇紑 */
 	public static final String SMS_MB_DAY_MAX_PREFIX = "SMS_MB_DAY_MAX_";
 	
-	/** 缓存当天发送短信次数 */
+	/** 缂撳瓨褰撳ぉ鍙戦�佺煭淇℃鏁� */
 	public static final String SMS_DAY_NUM = "SMS_DAY_NUM_";
 	
-	/** 手机短信同一天最多次数-最大次数 */
+	/** 鎵嬫満鐭俊鍚屼竴澶╂渶澶氭鏁�-鏈�澶ф鏁� */
 	public static final Integer SMS_MB_DAY_MAX_TIME = 15;
 	
-	/** IP短信同一天最多次数 -缓存前缀*/
+	/** IP鐭俊鍚屼竴澶╂渶澶氭鏁� -缂撳瓨鍓嶇紑*/
 	public static final String SMS_IP_DAY_MAX_PREFIX = "SMS_IP_DAY_MAX_";
 	
-	/** IP短信同一天最多次数-最大次数 */
+	/** IP鐭俊鍚屼竴澶╂渶澶氭鏁�-鏈�澶ф鏁� */
 	public static final Integer SMS_IP_DAY_MAX_TIME = 20;
 	
-	/** 机构层级删除缓存orgIds 缓存前缀 */
+	/** 鏈烘瀯灞傜骇鍒犻櫎缂撳瓨orgIds 缂撳瓨鍓嶇紑 */
 	public static final String ORG_DELETE_ORGIDS_PREFIX = "ORG_DEL_ORG_IDS_";
 	
-	/** 机构层级删除缓存classIds 缓存前缀 */
+	/** 鏈烘瀯灞傜骇鍒犻櫎缂撳瓨classIds 缂撳瓨鍓嶇紑 */
 	public static final String ORG_DELETE_CLASSIDS_PREFIX = "ORG_DEL_CLS_IDS_";
 	
-	/** 机构层级删除缓存classIds 缓存时间 3小时 */
+	/** 鏈烘瀯灞傜骇鍒犻櫎缂撳瓨classIds 缂撳瓨鏃堕棿 3灏忔椂 */
 	public static final Integer ORG_DELETE_ORG_CLASS_IDS_TIME = 60 * 60 * 3;
 	
-	/** 用户唯一编码:数字水印 */
+	/** 鐢ㄦ埛鍞竴缂栫爜锛氭暟瀛楁按鍗� */
 	public static final String USER_UNIQUE_CODE_PREFIX = "USER_UNIQUE_CODE_MAIN_WEB";
 	
-	/** 用户唯一编码:数字水印 */
+	/** 鐢ㄦ埛鍞竴缂栫爜锛氭暟瀛楁按鍗� */
 	public static final Integer USER_UNIQUE_CODE_MAX_TIME = 60 * 60 * 24 ;
 	
-	/** 抽奖间隔缓存前缀 */
+	/** 鎶藉闂撮殧缂撳瓨鍓嶇紑 */
 	public static final String LOTTERY_MAX_INTERNAL_PREFIX = "LOTTERY_MAX_INTERNAL_PREFIX_ID_";
 	
-	/** 抽奖间隔缓存时间 */
+	/** 鎶藉闂撮殧缂撳瓨鏃堕棿 */
 	public static final Integer LOTTERY_MAX_INTERNAL_TIME = 5 ;
 	
-	/** 流量班级对应机构ID */
+	/** 娴侀噺鐝骇瀵瑰簲鏈烘瀯ID */
 	public static final String FLOW_CLASS_ORG_ID_PREFIX = "FLOW_CLASS_ORG_ID_";
 	
-	/** 流量班级对应顶层机构ID */
+	/** 娴侀噺鐝骇瀵瑰簲椤跺眰鏈烘瀯ID */
 	public static final String FLOW_ORG_TOP_ORG_ID_PREFIX = "FLOW_ORG_TOP_ORG_ID_";
 	
-	/** 流量班级对应机构层级编码 */
+	/** 娴侀噺鐝骇瀵瑰簲鏈烘瀯灞傜骇缂栫爜 */
 	public static final String FLOW_ORG_CODE_ORG_ID_PREFIX = "FLOW_ORG_CODE_ORG_ID_";
 	
-	/** 流量班级对应顶层机构ID */
+	/** 娴侀噺鐝骇瀵瑰簲椤跺眰鏈烘瀯ID */
 	public static final String FLOW_ORG_CLASS_ID_PREFIX = "FLOW_ORG_CLASS_ID_";
 	
-	/** 流量班级对应视频名 */
+	/** 娴侀噺鐝骇瀵瑰簲瑙嗛鍚� */
 	public static final String FLOW_ORG_VIDEO_NAME_PREFIX = "FLOW_ORG_VIDEO_NAME_";
 	
-	/** 流量班级对应直播名 */
+	/** 娴侀噺鐝骇瀵瑰簲鐩存挱鍚� */
 	public static final String FLOW_ORG_LIVE_NAME_PREFIX = "FLOW_ORG_LIVE_NAME_";
 	
-	/** 流量班级对应顶层机构、机构ID缓存时间  5min */
+	/** 娴侀噺鐝骇瀵瑰簲椤跺眰鏈烘瀯銆佹満鏋処D缂撳瓨鏃堕棿  5min */
 	public static final Integer FLOW_CLASS_TOP_ORG_ID_TIME = 60 * 5 ;
 	
-	/** 机构人民币账户是否合法 */
+	/** 鏈烘瀯浜烘皯甯佽处鎴锋槸鍚﹀悎娉� */
 	public static final String FLOW_ORG_RMB_ACCOUNT_VALIDATE_PREFIX = "FLOW_ORG_RMB_ACCOUNT_VALIDATE_ORG_ID_";
 	
-	/** 流量班级对应顶层机构、机构ID缓存时间  1 HOUR */
+	/** 娴侀噺鐝骇瀵瑰簲椤跺眰鏈烘瀯銆佹満鏋処D缂撳瓨鏃堕棿  1 HOUR */
 	public static final Integer FLOW_ORG_RMB_ACCOUNT_VALIDATE_TIME = 60 * 60  ;
 	
-	/** 激活学员:缓存班级key前缀 */
+	/** 婵�娲诲鍛橈細缂撳瓨鐝骇key鍓嶇紑 */
 	public static final String USER_REG_ACT_CLASS= "USER_REG_ACT_CLASS_INFO";
 	
-	/** 激活学员:缓存班级 */
+	/** 婵�娲诲鍛橈細缂撳瓨鐝骇 */
 	public static final Integer USER_REG_ACT_CLASS_MAX_TIME = 60 * 60 * 1 ;
 	
-	/** 基础数据缓存:地址省 */
+	/** 鍩虹鏁版嵁缂撳瓨锛氬湴鍧�鐪� */
 	public static final String BASE_DATA_PROVICE_PREFIX = "BASE_DATA_PROVICE_PREFIX";
 	
-	/** 基础数据缓存:地址市 */
+	/** 鍩虹鏁版嵁缂撳瓨锛氬湴鍧�甯� */
 	public static final String BASE_DATA_CITY_PREFIX = "BASE_DATA_CITY_";
 	
-	/** 基础数据缓存:非高校公共科目 */
+	/** 鍩虹鏁版嵁缂撳瓨锛氶潪楂樻牎鍏叡绉戠洰 */
 	public static final String BASE_DATA_COURSE_CATEGORY_PREFIX = "BASE_DATA_COURSE_CATEGORY_";
 	
-	/** 基础数据缓存:非高校公共科目(直播慧眼端) */
+	/** 鍩虹鏁版嵁缂撳瓨锛氶潪楂樻牎鍏叡绉戠洰(鐩存挱鎱х溂绔�) */
 	public static final String BASE_DATA_COURSE_CATEGORY_LIVE_PREFIX = "BASE_DATA_COURSE_CATEGORY_LIVE_";
 	
-	/** 基础数据缓存时长:一天 */
+	/** 鍩虹鏁版嵁缂撳瓨鏃堕暱:涓�澶� */
 	public static final Integer BASE_DATA_TIME = 60 * 60 * 24 ;
 	
-	/** 业务数据缓存:机构介绍(App接口) */
+	/** 涓氬姟鏁版嵁缂撳瓨锛氭満鏋勪粙缁嶏紙App鎺ュ彛锛� */
 	public static final String BUSINESS_DATA_ORG_INFO_PREFIX = "BUSINESS_DATA_ORG_INFO_PREFIX_";
 	
-	/** 业务数据缓存时长:一小时 */
+	/** 涓氬姟鏁版嵁缂撳瓨鏃堕暱:涓�灏忔椂 */
 	public static final Integer BUSINESS_DATA_TIME = 60 * 60 ;
 	
-	/** 签到:缓存签到主表前缀 */
+	/** 绛惧埌锛氱紦瀛樼鍒颁富琛ㄥ墠缂� */
 	public static final String SCH_SIGN_ID_PREFIX = "SCH_SIGN_ID_";
 	
-	/** 签到:缓存签到时长 , 10min */
+	/** 绛惧埌锛氱紦瀛樼鍒版椂闀� , 10min */
 	public static final Integer SCH_SIGN_ID_TIME = 60 * 10 ;
 	
-	/** 签到:缓存签到第一页明细前缀 */
+	/** 绛惧埌锛氱紦瀛樼鍒扮涓�椤垫槑缁嗗墠缂� */
 	public static final String SCH_SIGN_STATISTICS_FIRST_PAGE_PREFIX = "SCH_SIGN_STATISTICS_FIRST_PAGE_";
 	
-	/** 签到:缓存签到第一页明细时长 , 10min */
+	/** 绛惧埌锛氱紦瀛樼鍒扮涓�椤垫槑缁嗘椂闀� , 10min */
 	public static final Integer SCH_SIGN_STATISTICS_FIRST_PAGE_TIME = 60 * 10 ;
 	
-	/** 签到:缓存签到活动主表前缀 */
+	/** 绛惧埌锛氱紦瀛樼鍒版椿鍔ㄤ富琛ㄥ墠缂� */
 	public static final String SCH_SIGN_ACTIVITY_PREFIX = "SCH_SIGN_ACTIVITY_";
 	
-	/** 签到:缓存签到活动时长 , 10min */
+	/** 绛惧埌锛氱紦瀛樼鍒版椿鍔ㄦ椂闀� , 10min */
 	public static final Integer SCH_SIGN_ACTIVITY_TIME = 60 * 10 ;
 	
-	/** 签到:缓存签到机构前缀 */
+	/** 绛惧埌锛氱紦瀛樼鍒版満鏋勫墠缂� */
 	public static final String SCH_SIGN_ORG_PREFIX = "SCH_SIGN_ORG_";
 	
-	/** 签到:缓存签到机构时长 , 10min */
+	/** 绛惧埌锛氱紦瀛樼鍒版満鏋勬椂闀� , 10min */
 	public static final Integer SCH_SIGN_ORG_TIME = 60 * 10 ;
 	
-	/** 签到:缓存签到活动第一页明细前缀 */
+	/** 绛惧埌锛氱紦瀛樼鍒版椿鍔ㄧ涓�椤垫槑缁嗗墠缂� */
 	public static final String SCH_SIGN_STATISTICS_FIRST_ACTPAGE_PREFIX = "SCH_SIGN_STATISTICS_FIRST_PAGE_";
 	
-	/** 签到:缓存签到活动第一页明细时长 , 10min */
+	/** 绛惧埌锛氱紦瀛樼鍒版椿鍔ㄧ涓�椤垫槑缁嗘椂闀� , 10min */
 	public static final Integer SCH_SIGN_STATISTICS_FIRST_ACTPAGE_TIME = 60 * 10 ;
 	
-	/** 获取地址:调用百度IP缓存Key:已达当日最大上限 */
+	/** 鑾峰彇鍦板潃锛氳皟鐢ㄧ櫨搴P缂撳瓨Key:宸茶揪褰撴棩鏈�澶т笂闄� */
 	public static final String USER_OPERATE_LAT_LNG_MAX = "USER_OPERATE_IP_LAT_LNG_MAX_NUM";
 	
-	/** 获取地址:调用百度IP缓存Key:获取地址失败 */
+	/** 鑾峰彇鍦板潃锛氳皟鐢ㄧ櫨搴P缂撳瓨Key:鑾峰彇鍦板潃澶辫触 */
 	public static final String USER_OPERATE_LAT_LNG_FAIL = "USER_OPERATE_IP_LAT_LNG_FAIL_";
 	
-	/** 签到:缓存签到活动第一页明细时长 , 24小时 */
+	/** 绛惧埌锛氱紦瀛樼鍒版椿鍔ㄧ涓�椤垫槑缁嗘椂闀� , 24灏忔椂 */
 	public static final Integer USER_OPERATE_LAT_LNG_TIME = 60 * 60 * 24 ;
 	
-	/** 配置项:配置项缓存前缀 */
+	/** 閰嶇疆椤癸細閰嶇疆椤圭紦瀛樺墠缂� */
 	public static final String QXY_SYSCONFIG_CACHE_PREFIX = "QXY_SYSCONFIG_CACHE_";
 	
-	/** 积分上限配置项时长 */
+	/** 绉垎涓婇檺閰嶇疆椤规椂闀� */
 	public static final Integer QXY_SYSCONFIG_SCORE_CACHE_TIME = 60 * 60 ;
 	
-	/** 个人当日积分缓存前缀 */
+	/** 涓汉褰撴棩绉垎缂撳瓨鍓嶇紑 */
 	public static final String QXY_DAY_SCORE_RECORD_PREFIX = "QXY_DAY_SCORE_RECORD_";
 	
-	/** 个人当日积分缓存时长 */
+	/** 涓汉褰撴棩绉垎缂撳瓨鏃堕暱 */
 	public static final Integer QXY_DAY_SCORE_RECORD_TIME = 60 * 60 * 24 ;
 	
-	/** 个人当日登录积分前缀 */
+	/** 涓汉褰撴棩鐧诲綍绉垎鍓嶇紑 */
 	public static final String QXY_DAY_LOGIN_SCORE_RECORD_PREFIX = "QXY_DAY_LOGIN_SCORE_RECORD_";
 	
-	/** 个人当日登录积分缓存时长 */
+	/** 涓汉褰撴棩鐧诲綍绉垎缂撳瓨鏃堕暱 */
 	public static final Integer QXY_DAY_LOGIN_SCORE_RECORD_TIME = 60 * 60 * 24 ;
 	
-	/** 个人当日签到积分前缀 */
+	/** 涓汉褰撴棩绛惧埌绉垎鍓嶇紑 */
 	public static final String QXY_DAY_SIGN_SCORE_RECORD_PREFIX = "QXY_DAY_SIGN_SCORE_RECORD_";
 	
-	/** 个人当日签到积分缓存时长 */
+	/** 涓汉褰撴棩绛惧埌绉垎缂撳瓨鏃堕暱 */
 	public static final Integer QXY_DAY_SIGN_SCORE_RECORD_TIME = 60 * 60 * 24 ;
 	
 	
-	/** app首页:推荐讲义缓存前缀 */
+	/** app棣栭〉锛氭帹鑽愯涔夌紦瀛樺墠缂� */
 	public static final String APP_INDEX_HANDOUT_RECOMMEND_PREFIX = "APP_INDEX_HANDOUT_RECOMMEND_CLASSID_";
 	
-	/** app首页:推荐视频缓存前缀 */
+	/** app棣栭〉锛氭帹鑽愯棰戠紦瀛樺墠缂� */
 	public static final String APP_INDEX_VIDEO_RECOMMEND_PREFIX = "APP_INDEX_VIDEO_RECOMMEND_CLASSID_";
 	
-	/** app首页:推荐直播缓存前缀 */
+	/** app棣栭〉锛氭帹鑽愮洿鎾紦瀛樺墠缂� */
 	public static final String APP_INDEX_LIVE_RECOMMEND_PREFIX = "APP_INDEX_LIVE_RECOMMEND_CLASSID_";
 	
-	/** app首页:推荐讲义、直播及直播缓存时间  一天 */
+	/** app棣栭〉锛氭帹鑽愯涔夈�佺洿鎾強鐩存挱缂撳瓨鏃堕棿  涓�澶� */
 	public static final Integer APP_INDEX_CONTENT_RECOMMEND_PREFIX = 60 * 60 * 24 ;
 	
-	/** ping++ 消息处理错误次数缓存前缀 */
+	/** ping++ 娑堟伅澶勭悊閿欒娆℃暟缂撳瓨鍓嶇紑 */
 	public static final String PINGPP_MQ_EXCEPTION_COUNT_PREFIX = "PINGPP_MQ_EXCEPTION_COUNT_" ;
 	
-	/** ping++ 消息处理错误次数缓存时间*/
+	/** ping++ 娑堟伅澶勭悊閿欒娆℃暟缂撳瓨鏃堕棿*/
 	public static final Integer PINGPP_MQ_EXCEPTION_COUNT_TIME = 60 * 60 ;
 	
-	/** 订单防止重复执行  缓存前缀 */
+	/** 璁㈠崟闃叉閲嶅鎵ц  缂撳瓨鍓嶇紑 */
 	public static final String GLOBAL_TRANS_ORDER_ID_PREFIX = "GLOBAL_TRANS_ORDER_ID_" ;
 	
-	/** 订单防止重复执行  缓存时间*/
+	/** 璁㈠崟闃叉閲嶅鎵ц  缂撳瓨鏃堕棿*/
 	public static final Integer GLOBAL_TRANS_ORDER_ID_TIME = 60 ;
 	
-	/** 服务层缓存空间  缓存前缀*/
+	/** 鏈嶅姟灞傜紦瀛樼┖闂�  缂撳瓨鍓嶇紑*/
 	public static final String QXY_SERVICE_CACHE_NS ="QXU_SERVICE_CACHE_NS_";
 
 }
diff --git a/src/main/java/com/qxueyou/scc/base/model/Constants.java b/src/main/java/com/qxueyou/scc/base/model/Constants.java
index 0c8523c..cfc70c6 100644
--- a/src/main/java/com/qxueyou/scc/base/model/Constants.java
+++ b/src/main/java/com/qxueyou/scc/base/model/Constants.java
@@ -6,27 +6,27 @@
 import com.qxueyou.scc.base.util.CollectionUtils;
 
 /**
- * 常量实体类
+ * 甯搁噺瀹炰綋绫�
  * @author zhiyong
  *
  */
 public class Constants {
-	/** 实体类 */
+	/** 瀹炰綋绫� */
 	
-	/** int型常量  */
+	/** int鍨嬪父閲�  */
 	public static final int INT_0 = 0;
 	
 	public static final int INT_1 = 1;
 	
-	/**定时发送消息类型 :1、修改班级进度*/
+	/**瀹氭椂鍙戦�佹秷鎭被鍨� 锛�1銆佷慨鏀圭彮绾ц繘搴�*/
 	public static final String MSG_TYPE_CLASS_PROGRESS = "progress";
 	
-	/** 虚拟一个 错题 收藏本的groupId */
+	/** 铏氭嫙涓�涓� 閿欓 鏀惰棌鏈殑groupId */
 	public static final String EXERCISE_FAULT_GROUP_ID="faultExercise001";
 	
 	public static final String EXERCISE_FAVOR_GROUP_ID="favorExercise001";
 	
-	/** 错题 收藏本类型 */
+	/** 閿欓 鏀惰棌鏈被鍨� */
 	public static final String EXERCISE_TYPE_FAULT="fault";
 	
 	public static final String EXERCISE_TYPE_FAVORT="favor";
@@ -37,7 +37,7 @@
 	/** android app versionCODE */
 	public static final String CONFIG_ANDROID_APP_VERSION_CODE="appVersionCode";
 	
-	/**下载路径 */
+	/**涓嬭浇璺緞 */
 	public static final String CONFIG_ANDROID_APP_DOWNLOAD_URL="appVersionDownloadUrl";
 	
 	/** android app version tips*/
@@ -67,25 +67,25 @@
 	/** score day max limit  */
 	public static final String CONFIG_QXY_SCORE_DYA_LIMIT = "scoreDayLimit";
 	
-	/** 游客班级id */
+	/** 娓稿鐝骇id */
 	public static final String VISITOR_CLASS_ID="1";
 	
-	/** 游客用户id */
+	/** 娓稿鐢ㄦ埛id */
 	public static final String VISITOR_USER_ID="visitor_001";
 	
-	/** 游客手机号 */
+	/** 娓稿鎵嬫満鍙� */
 	public static final String VISITOR_USER_PHONE="0000";
 	
-	/** 选课报名 不限值 */
+	/** 閫夎鎶ュ悕 涓嶉檺鍊� */
 	public static final String NOT_LIMIT_VALUE="00";
 	
-	/** 报名码 */
+	/** 鎶ュ悕鐮� */
 	public static final String USER_SALES_CODE="qxueyou";
 	
-	/** 报名码来源微信 */
+	/** 鎶ュ悕鐮佹潵婧愬井淇� */
 	public static final String USER_SALES_CODE_WEIXIN="qxueyou_weixin";
 	
-	/** 签到码时效性是否开启 */
+	/** 绛惧埌鐮佹椂鏁堟�ф槸鍚﹀紑鍚� */
 	public static final boolean SIGN_CODE_VALIDATE_FLAG = false;
 	
 	/** boolean:false  */
@@ -94,245 +94,245 @@
 	/** boolean:true */
 	public static final boolean BOOLEAN_FLAG_TRUE = true;
 	
-	/** 签到码时效性开启时的具体值,前后几天 */
+	/** 绛惧埌鐮佹椂鏁堟�у紑鍚椂鐨勫叿浣撳��,鍓嶅悗鍑犲ぉ */
 	public static final Integer SIGN_CODE_VALIDATE_VALUE = 1;
 	
-	/** 文档处理URL */
+	/** 鏂囨。澶勭悊URL */
 	public static final String CONFIG_DOC_DEAL_URL = "docdealUrl";
 	
-	/** 积分,QXUEYOU积分账户userId  */
+	/** 绉垎锛孮XUEYOU绉垎璐︽埛userId  */
 	public static final String COMMON_TRASACT_USER_ID = "admin.qie";
 	
-	/** Q学友机构编码  */
+	/** Q瀛﹀弸鏈烘瀯缂栫爜  */
 	public static final String QXUEYOU_ORG_CODE = "QIE";
 	
-	/** 登录有效获取积分额度 */
+	/** 鐧诲綍鏈夋晥鑾峰彇绉垎棰濆害 */
 	public static final BigDecimal SCORE_LOGIN_VALUE = BigDecimal.ONE;
 	
-	/** 习题纠错有效获取积分额度 */
+	/** 涔犻绾犻敊鏈夋晥鑾峰彇绉垎棰濆害 */
 	public static final BigDecimal SCORE_EXE_CORRECTION_VALUE = new BigDecimal("2");
 	
-	/** 习题纠错被处理有效获取积分额度 */
+	/** 涔犻绾犻敊琚鐞嗘湁鏁堣幏鍙栫Н鍒嗛搴� */
 	public static final BigDecimal SCORE_EXECORREC_DEAL_VALUE = new BigDecimal("3");
 	
-	/** APP签到有效获取积分额度 */
+	/** APP绛惧埌鏈夋晥鑾峰彇绉垎棰濆害 */
 	public static final BigDecimal SCORE_SIGN_VALUE = new BigDecimal("4");
 	
-	/** 评论有效获取积分额度 */
+	/** 璇勮鏈夋晥鑾峰彇绉垎棰濆害 */
 	public static final BigDecimal SCORE_COMMENT_VALUE = new BigDecimal("2");
 	
-	/** 赞评论有效获取积分额度 */
+	/** 璧炶瘎璁烘湁鏁堣幏鍙栫Н鍒嗛搴� */
 	public static final BigDecimal SCORE_COMMENT_PRAISE_VALUE = BigDecimal.ONE;
 	
-	/** 评论被赞有效获取积分额度 */
+	/** 璇勮琚禐鏈夋晥鑾峰彇绉垎棰濆害 */
 	public static final BigDecimal SCORE_COMMENT_PRAISED_VALUE = BigDecimal.ONE;
 	
-	/**发布问题有效获取积分额度*/
+	/**鍙戝竷闂鏈夋晥鑾峰彇绉垎棰濆害*/
 	public static final BigDecimal SCORE_QA_NEWQUESTION_VALUE = new BigDecimal("2");
 	
-	/**回答问题有效获取积分额度*/
+	/**鍥炵瓟闂鏈夋晥鑾峰彇绉垎棰濆害*/
 	public static final BigDecimal SCORE_QA_ANSWER_VALUE = new BigDecimal("2");
 	
-	/**点赞问题或答案或人有效获取积分额度*/
+	/**鐐硅禐闂鎴栫瓟妗堟垨浜烘湁鏁堣幏鍙栫Н鍒嗛搴�*/
 	public static final BigDecimal SCORE_QA_PRAISE_VALUE = BigDecimal.ONE;
 	
-	/**被点赞问题或答案或人有效获取积分额度*/
+	/**琚偣璧為棶棰樻垨绛旀鎴栦汉鏈夋晥鑾峰彇绉垎棰濆害*/
 	public static final BigDecimal SCORE_QA_PRAISED_VALUE = new BigDecimal("2");
 	
-	/**分享问题或答案或人有效获取积分额度*/
+	/**鍒嗕韩闂鎴栫瓟妗堟垨浜烘湁鏁堣幏鍙栫Н鍒嗛搴�*/
 	public static final BigDecimal SCORE_QA_SHARE_VALUE = new BigDecimal("5");
 	
-	/**被分享问题或答案或人有效获取积分额度*/
+	/**琚垎浜棶棰樻垨绛旀鎴栦汉鏈夋晥鑾峰彇绉垎棰濆害*/
 	public static final BigDecimal SCORE_QA_SHARED_VALUE = new BigDecimal("2");
 	
-	/**回复答案有效获取积分额度*/
+	/**鍥炲绛旀鏈夋晥鑾峰彇绉垎棰濆害*/
 	public static final BigDecimal SCORE_QA_REPLY_VALUE = BigDecimal.ONE;
 	
-	/**被回复答案有效获取积分额度*/
+	/**琚洖澶嶇瓟妗堟湁鏁堣幏鍙栫Н鍒嗛搴�*/
 	public static final BigDecimal SCORE_QA_REPLYED_VALUE = BigDecimal.ONE;
 	
-	/**  刷新统计缓存键值 :根据groupId 统计按钮的统计 */
+	/**  鍒锋柊缁熻缂撳瓨閿�� 锛氭牴鎹甮roupId 缁熻鎸夐挳鐨勭粺璁� */
 	public static final String REFRESH_STATIS_GROUPID_CACHE_KEY = "refresh_statis_groupid_cache_key";
 	
-	/**  刷新统计缓存键值 :根据groupId 学员提交数据的统计 */
+	/**  鍒锋柊缁熻缂撳瓨閿�� 锛氭牴鎹甮roupId 瀛﹀憳鎻愪氦鏁版嵁鐨勭粺璁� */
 	public static final String REFRESH_STATIS_GROUPID_LSTNEWANSWERU_CACHE_KEY = "refresh_statis_groupid_lstnewansweru_cache_key";
 	
-	/**  刷新统计练习组班级正确率缓存键值*/
+	/**  鍒锋柊缁熻缁冧範缁勭彮绾ф纭巼缂撳瓨閿��*/
 	public static final String EXER_GROUP_ACCURACY_CACHE_KEY = "exer_group_accuracy_cache_key";
 	
-	/**  刷新统计练习统计分析结果缓存键值*/
+	/**  鍒锋柊缁熻缁冧範缁熻鍒嗘瀽缁撴灉缂撳瓨閿��*/
 	public static final String EXER_ITEM_STATISTICAL_CACHE_KEY = "exer_item_statistical_cache_key";
 	
-	/**  后台登录:获取菜单缓存 */
+	/**  鍚庡彴鐧诲綍锛氳幏鍙栬彍鍗曠紦瀛� */
 	public static final String WEB_LOGIN_MENU_CACHE_KEY = "web_login_menu_cache_key";
 	
-	/**  系统app自定义菜单基础数据 :获取菜单缓存 */
+	/**  绯荤粺app鑷畾涔夎彍鍗曞熀纭�鏁版嵁 锛氳幏鍙栬彍鍗曠紦瀛� */
 	public static final String SYS_APP_COMMON_MENU_CACHE_KEY = "sys_app_common_menu_cache_key";
 	
-	/**  后台登录:获取用户菜单缓存 */
+	/**  鍚庡彴鐧诲綍锛氳幏鍙栫敤鎴疯彍鍗曠紦瀛� */
 	public static final String WEB_USER_MENU_CACHE_KEY = "web_user_menu_cache_key";
 	
-	/**  团购课程值*/
+	/**  鍥㈣喘璇剧▼鍊�*/
 	public static final String PURCHASE_COURSE = "purchase_course";
 	
-	/**  课程表背景颜色  透明度 */
+	/**  璇剧▼琛ㄨ儗鏅鑹�  閫忔槑搴� */
 	public static final String SCHEDULE_COLOR_TRANSPARENT = "255";
 	
-	/** 练习来源(1:练习题库 2:考试题库  3:家庭作业) */
+	/** 缁冧範鏉ユ簮(1:缁冧範棰樺簱 2锛氳�冭瘯棰樺簱  3锛氬搴綔涓�) */
 	public static final String EXERCISE_SOURCE_EXERICSE = "1";
 	
 	public static final String EXERCISE_SOURCE_EXAMS = "2";
 	
 	public static final String EXERCISE_SOURCE_HOMEWORK = "3";
 	
-	/** 做题方式(1:未做题优先  2:错题优先) */
+	/** 鍋氶鏂瑰紡锛�1锛氭湭鍋氶浼樺厛  2锛氶敊棰樹紭鍏堬級 */
 	public static final String EXERCISE_STRATEGY_NO_DO = "1";
 	
 	public static final String EXERCISE_STRATEGY_FAULT = "2";
 	
-	/** 问答排名CACHE key */
+	/** 闂瓟鎺掑悕CACHE key */
 	public static final String QA_HOT_RANK_CACHE_KEY="qa_hot_rank_cache_key";
 	
-	/** 百度推广报名码 */
+	/** 鐧惧害鎺ㄥ箍鎶ュ悕鐮� */
 	public static final String USER_SALES_CODE_BAIDU="qxy_groupbuy_baidu";
 	
 	
-	/** 注册service */
+	/** 娉ㄥ唽service */
 	
-	/** 学生 */
+	/** 瀛︾敓 */
 	public static final String REG_ROLE_STUDENT="student";
 	
-	/** 班主任 */
+	/** 鐝富浠� */
 	public static final String REG_ROLE_CHARGER="charger";
 	
-	/** 讲师 */
+	/** 璁插笀 */
 	public static final String REG_ROLE_TEACHER="teacher";
 	
-	/** 销售人员*/
+	/** 閿�鍞汉鍛�*/
 	public static final String REG_ROLE_SALESMAN="salesman";
 	
-	/** 管理员*/
+	/** 绠$悊鍛�*/
 	public static final String REG_ROLE_ADMIN="admin";
 	
-	/** 游客 */
+	/** 娓稿 */
 	public static final String REG_ROLE_VISITOR="visitor";
 	
-	/** 后台 */
+	/** 鍚庡彴 */
 	public static final String REG_TYPE_BACKSTAGE="backstage";
 	
-	/** 微信*/
+	/** 寰俊*/
 	public static final String REG_TYPE_WEIXIN="weixin";
 	
 	/** APP */
 	public static final String REG_TYPE_APP="app";
 	
-	/** 网页端(课程超市) */
+	/** 缃戦〉绔紙璇剧▼瓒呭競锛� */
 	public static final String REG_TYPE_WEB="web";
 	
 	/** sdk */
 	public static final String REG_TYPE_SDK="sdk";
 	
-	/** 内容分享 、课程分享、直播互动*/
+	/** 鍐呭鍒嗕韩 銆佽绋嬪垎浜�佺洿鎾簰鍔�*/
 	public static final String REG_TYPE_CONTENT_SHARE="content_share";
 	
-	/** 增加学员*/
+	/** 澧炲姞瀛﹀憳*/
 	public static final String REG_MODE_ADD="add";
 	
-	/** 激活*/
+	/** 婵�娲�*/
 	public static final String REG_MODE_ACTIVATION="activation";
 	
-	/** 冻结*/
+	/** 鍐荤粨*/
 	public static final String REG_MODE_FROZEN="frozen";
 	
-	/** 授权 */
+	/** 鎺堟潈 */
 	public static final String REG_MODE_AUTHOR="author";
 	
-	/** 报名 */
+	/** 鎶ュ悕 */
 	public static final String REG_MODE_SIGNUP="signup";
 	
-	/** 注册*/
+	/** 娉ㄥ唽*/
 	public static final String REG_MODE_REGIST="regist";
 	
-	/** 生成用户*/
+	/** 鐢熸垚鐢ㄦ埛*/
 	public static final String REG_MODE_GENERATE="generate";
 	
-	/** 编辑用户*/
+	/** 缂栬緫鐢ㄦ埛*/
 	public static final String REG_MODE_EDIT="edit";
 	
-	/** 加入班级(活动)*/
+	/** 鍔犲叆鐝骇(娲诲姩)*/
 	public static final String REG_MODE_JOIN="join";
 	
-	/** IMEI加入班级*/
+	/** IMEI鍔犲叆鐝骇*/
 	public static final String REG_MODE_IMEI_JOIN="imei_join";
 	
-	/** 不加入班级(活动)*/
+	/** 涓嶅姞鍏ョ彮绾�(娲诲姩)*/
 	public static final String REG_MODE_NOT_JOIN="not_join";
 	
-	/** 微信加入当前机构体验班 */
+	/** 寰俊鍔犲叆褰撳墠鏈烘瀯浣撻獙鐝� */
 	public static final String REG_MODE_WX_VISITOR="wx_visitor";
 	
-	/** 不加入班级(内容分享、课程分享、直播互动)    wx端       */
+	/** 涓嶅姞鍏ョ彮绾э紙鍐呭鍒嗕韩銆佽绋嬪垎浜�佺洿鎾簰鍔級    wx绔�       */
 	public static final String REG_MODE_NOT_CLASS_SHARE_WX ="share_wx";
 	
-	/** 不加入班级(直播互动)    其他:PC、手机浏览器       */
+	/** 涓嶅姞鍏ョ彮绾э紙鐩存挱浜掑姩锛�    鍏朵粬锛歅C銆佹墜鏈烘祻瑙堝櫒       */
 	public static final String REG_MODE_NOT_CLASS_OTHER="other";
 	
-	/** Q学友账号用户初始化key  */
+	/** Q瀛﹀弸璐﹀彿鐢ㄦ埛鍒濆鍖杒ey  */
 	public static final String QXUEYOU_ACCOUNT_MAX_VALUE = "qxy_account_max_value";
 	
-	/** Q学友账号用户初始化值  */
+	/** Q瀛﹀弸璐﹀彿鐢ㄦ埛鍒濆鍖栧��  */
 	public static final int QXUEYOU_ACCOUNT_INIT_VALUE = 20000;
 	
-	/** Q学友账号用户初始化值  */
+	/** Q瀛﹀弸璐﹀彿鐢ㄦ埛鍒濆鍖栧��  */
 	public static final String WEIXIN_MICRO_DOMAIN = "wx";
 	
-	/** ffmpeg转码及截图缓存的key  */
+	/** ffmpeg杞爜鍙婃埅鍥剧紦瀛樼殑key  */
 	public static final String FFMPEG_VIDEO_LIST_KEY_PREFIX = "qxueyou-ffmpeg-transcode-list-";
 	
-	/** ffmpeg转码及截图缓存的key  */
+	/** ffmpeg杞爜鍙婃埅鍥剧紦瀛樼殑key  */
 	public static final String FFMPEG_VIDEO_TRANSCODEING_KEY_PREFIX = "qxueyou-ffmpeg-transcode-executing-";
 	
-	/** ffmpeg转码及截图临时存放oss原始video及转码文件的路径  */
+	/** ffmpeg杞爜鍙婃埅鍥句复鏃跺瓨鏀緊ss鍘熷video鍙婅浆鐮佹枃浠剁殑璺緞  */
 	public static final String FFMPEG_VIDEO_FILE_DIR = "/usr/qxueyou/ossVideo/";
 	
-	/** 获取媒体信息缓存服务  默认缓存时间1天 */
+	/** 鑾峰彇濯掍綋淇℃伅缂撳瓨鏈嶅姟  榛樿缂撳瓨鏃堕棿1澶� */
 	public static final Integer FFMPEG_TRANS_LIST_CACHE_TIME = 86400;
 	
-	/** 使用ffmpeg转码 */
+	/** 浣跨敤ffmpeg杞爜 */
 	public static final String VIDEO_TRANS_TYPE_FFMPEG = "1";
 	
-	/** 视频默认封面    */
+	/** 瑙嗛榛樿灏侀潰    */
 	public static final String VIDEO_DEFAULT_IMG = "/web/res/img/app/sys-video-home.png";
 	
-	/**流米回调 结果标识 成功  */
-	public static final String FLOW_ORDER_SUCCESS = "成功";
+	/**娴佺背鍥炶皟 缁撴灉鏍囪瘑 鎴愬姛  */
+	public static final String FLOW_ORDER_SUCCESS = "鎴愬姛";
 	
-	/** 流米回调结果标识 失败  */
-	public static final String FLOW_ORDER_FAILED = "失败";
+	/** 娴佺背鍥炶皟缁撴灉鏍囪瘑 澶辫触  */
+	public static final String FLOW_ORDER_FAILED = "澶辫触";
 	
-	/** 默认缓存登录信息时长:三小时  */
+	/** 榛樿缂撳瓨鐧诲綍淇℃伅鏃堕暱:涓夊皬鏃�  */
 	public static final int SYS_DEFAULT_LOGOUT_TIME = 3 * 60 * 60;
 	
-	/** 练习成绩统计更新时间,5分钟更新一次   */
+	/** 缁冧範鎴愮哗缁熻鏇存柊鏃堕棿,5鍒嗛挓鏇存柊涓�娆�   */
 	public static final int EXE_STATIS_UPDATE_MINUTES = 300;
 	
-	/** 后台登录:获取菜单缓存 更新时间,5秒钟更新一次   */
+	/** 鍚庡彴鐧诲綍锛氳幏鍙栬彍鍗曠紦瀛� 鏇存柊鏃堕棿锛�5绉掗挓鏇存柊涓�娆�   */
 	public static final int WEB_LOGIN_MENU_UPDATE_MINUTES = 5;
 	
-	/** 后台登录:获取菜单缓存 更新时间,一天   */
+	/** 鍚庡彴鐧诲綍锛氳幏鍙栬彍鍗曠紦瀛� 鏇存柊鏃堕棿锛屼竴澶�   */
 	public static final int WEB_USER_MENU_UPDATE_MINUTES = 86400;
 	
 	/** SysLog module */
 	public static final String LOG_MODULE_SIGN_PRAISE = "MODULE_SIGN_PRAISE";
 	
-	/** 二维码直播模板配置  */
+	/** 浜岀淮鐮佺洿鎾ā鏉块厤缃�  */
 	public static final String DICT_LIVE_QR_TEMPLATE = "LIVE_QR_TEMPLATE";
 	
 	public static final String DEVICE_ANDROID = "android";
 	
 	public static final String DEVICE_IOS = "ios";
 	
-	/** 学情监控常量:专业、用户、练习、账号、校区、视频、班级、讲义、通用(可用账号—+学员)  */
+	/** 瀛︽儏鐩戞帶甯搁噺:涓撲笟銆佺敤鎴枫�佺粌涔犮�佽处鍙枫�佹牎鍖恒�佽棰戙�佺彮绾с�佽涔夈�侀�氱敤锛堝彲鐢ㄨ处鍙封��+瀛﹀憳锛�  */
 	public static final Map<String,String> LEARING_MONITOR_MAP = CollectionUtils.newStringMap(
 			"MAJOR","1",
 			"USER","2",
@@ -344,49 +344,49 @@
 			"HANDOUT","8",
 			"COMMON","9");
 	
-	/** 消息队列:同时接收消息线程数  1,5,10*/
+	/** 娑堟伅闃熷垪锛氬悓鏃舵帴鏀舵秷鎭嚎绋嬫暟  1,5,10*/
 	public static final int ONS_CONSUME_THREAD_NUMS_ONE = 1 ;
 	
 	public static final int ONS_CONSUME_THREAD_NUMS_FIVE = 5 ;
 	
 	public static final int ONS_CONSUME_THREAD_NUMS_TEN = 10 ;
 	
-	/** ping++ 消息处理错误重发次数 */
+	/** ping++ 娑堟伅澶勭悊閿欒閲嶅彂娆℃暟 */
 	public static final Integer PINGPP_MQ_EXCEPTION_COUNT = 2 ;
 	
-	/** 活动报名来源  */
-	public static final String ACTIVITYS_REG_IMPORT = "后台导入" ;
+	/** 娲诲姩鎶ュ悕鏉ユ簮  */
+	public static final String ACTIVITYS_REG_IMPORT = "鍚庡彴瀵煎叆" ;
 	
-	public static final String ACTIVITYS_REG_WEIXIN = "微信报名" ;
+	public static final String ACTIVITYS_REG_WEIXIN = "寰俊鎶ュ悕" ;
 	
-	/**-------- 登录平台------  */
+	/**-------- 鐧诲綍骞冲彴------  */
 	/** APP  */
 	public static final String LOGIN_PLATFORM_APP = "app" ;
 	
-	/** web后台  */
+	/** web鍚庡彴  */
 	public static final String LOGIN_PLATFORM_WEB = "web" ;
 	
-	/** Q慧眼 直播  */
+	/** Q鎱х溂 鐩存挱  */
 	public static final String LOGIN_PLATFORM_APP_LIVE = "qLive" ;
 	
 	/** PC  */
 	public static final String LOGIN_PLATFORM_PC = "pc" ;
 	
-	/** 微信  */
+	/** 寰俊  */
 	public static final String LOGIN_PLATFORM_WEIXIN = "weixin" ;
 	
 
 	
-	/** 练习导入解析,分割参数的值  */
+	/** 缁冧範瀵煎叆瑙f瀽,鍒嗗壊鍙傛暟鐨勫��  */
 	public static final String EXERCISE_PARSE_SPLIT_VALUE = " $ML-EP-V1$ " ;
 	
-	/** 练习导入解析,结果的值  */
+	/** 缁冧範瀵煎叆瑙f瀽,缁撴灉鐨勫��  */
 	public static final String EXERCISE_PARSE_CONTENT_VALUE_VALUE = "c" ;
 	
-	/** 练习导入解析,结果的键  */
+	/** 缁冧範瀵煎叆瑙f瀽,缁撴灉鐨勯敭  */
 	public static final String EXERCISE_PARSE_RESULT_CODE_VALUE = "k" ;
 	
-	/** 练习导入解析,结果的值  */
+	/** 缁冧範瀵煎叆瑙f瀽,缁撴灉鐨勫��  */
 	public static final String EXERCISE_PARSE_RESULT_VALUE_VALUE = "v" ;
 	
 	public static final String EXERCISE_PARSE_PY_URL = "py-exercise-parse-url" ;
diff --git a/src/main/java/com/qxueyou/scc/base/model/ExcelExportParam.java b/src/main/java/com/qxueyou/scc/base/model/ExcelExportParam.java
index 24f92d7..d2b9ea6 100644
--- a/src/main/java/com/qxueyou/scc/base/model/ExcelExportParam.java
+++ b/src/main/java/com/qxueyou/scc/base/model/ExcelExportParam.java
@@ -7,38 +7,38 @@
 
 
 /**
- * 导出excel时的参数
+ * 瀵煎嚭excel鏃剁殑鍙傛暟
  * 
  */
 public class ExcelExportParam<T> implements Serializable {
 	
 	private static final long serialVersionUID = 1L;
 	
-	//导出文件名称
+	//瀵煎嚭鏂囦欢鍚嶇О
 	private String fileName;
 	
-	//sheet页名称
+	//sheet椤靛悕绉�
 	private String title;
 	
-	//导出的题头
+	//瀵煎嚭鐨勯澶�
 	private String[] headers;
 	
-	//需要导出的内容
+	//闇�瑕佸鍑虹殑鍐呭
 	private Collection<T> colData;
 	
-	//输出流
+	//杈撳嚭娴�
 	private OutputStream out;
 	
-	//如果需要格式化日期,默认"yyyy-MM-dd"
+	//濡傛灉闇�瑕佹牸寮忓寲鏃ユ湡,榛樿"yyyy-MM-dd"
 	private String pattern;
 	
-	//数字类型是否使用需要格式化
+	//鏁板瓧绫诲瀷鏄惁浣跨敤闇�瑕佹牸寮忓寲
 	private boolean numberFormat;
 	
-	//导出指定列
+	//瀵煎嚭鎸囧畾鍒�
     private List<String> lstColumn;
 	
-	//指定各列宽度
+	//鎸囧畾鍚勫垪瀹藉害
     private List<Integer> lstColumnWidth;
 
 	public String getFileName() {
diff --git a/src/main/java/com/qxueyou/scc/base/model/FilePathConstants.java b/src/main/java/com/qxueyou/scc/base/model/FilePathConstants.java
index b968d1d..be562ae 100644
--- a/src/main/java/com/qxueyou/scc/base/model/FilePathConstants.java
+++ b/src/main/java/com/qxueyou/scc/base/model/FilePathConstants.java
@@ -4,37 +4,37 @@
 import java.util.Map;
 
 /**
- * app及后台默认图片设置
+ * app鍙婂悗鍙伴粯璁ゅ浘鐗囪缃�
  * @author ody.yuan
  *
  */
 public class FilePathConstants {
 	
-	/** 点播视频默认封面    */
+	/** 鐐规挱瑙嗛榛樿灏侀潰    */
 	public static final String VIDEO_DEFAULT_IMG = "/web/res/img/app/sys-video-home.png";
 	
-	/** 直播视频默认封面    */
+	/** 鐩存挱瑙嗛榛樿灏侀潰    */
 	public static final String VIDEO_LIVE_DEFAULT_IMG = "/web/res/img/app/sys-video-live.png";
 	
-	/** 班级默认图标    */
+	/** 鐝骇榛樿鍥炬爣    */
 	public static final String CLASS_DEFAULT_IMG = "/web/res/img/app/course-detail-default-cover.png";
 	
-	/** 课程表默认图标    */
+	/** 璇剧▼琛ㄩ粯璁ゅ浘鏍�    */
 	public static final String SCHEDULE_DEFAULT_IMG = "/web/res/img/app/default-schedule-info.png";
 	
-	/** 机构默认图标    */
+	/** 鏈烘瀯榛樿鍥炬爣    */
 	public static final String ORG_DEFAULT_IMG = "/web/res/img/app/org-log.png";
 	
-	/** 班级通知、学校通知默认图标    */
+	/** 鐝骇閫氱煡銆佸鏍¢�氱煡榛樿鍥炬爣    */
 	public static final String NOTICE_DEFAULT_IMG = "/web/res/img/app/notice-default.png";
 	
-	/** 固定默认评估图标    */
+	/** 鍥哄畾榛樿璇勪及鍥炬爣    */
 	public static final String EVALUATE_DEFAULT_IMG = "/web/res/img/app/evaluate-default.png";
 	
-	/** 固定默认用户图标    */
+	/** 鍥哄畾榛樿鐢ㄦ埛鍥炬爣    */
 	public static final String USER_DEFAULT_IMG = "/web/res/img/user/user-default-square.png";
 	
-	/** 所有图片    */
+	/** 鎵�鏈夊浘鐗�    */
 	public static final Map<Integer, String> USER_DEFAULT_IMG_MAP = new HashMap<Integer, String>();
 	static{
 		USER_DEFAULT_IMG_MAP.put(0, "/web/res/img/user/user-default-square.png");
@@ -45,7 +45,7 @@
 		USER_DEFAULT_IMG_MAP.put(5, "/web/res/img/user/user-default-square5.png");
 	}
 	
-	/** 随机获取头像  **/
+	/** 闅忔満鑾峰彇澶村儚  **/
 	public static String getUserDefaultImg(){
 		return USER_DEFAULT_IMG_MAP.get((int)(Math.random()*6));
 	}
diff --git a/src/main/java/com/qxueyou/scc/base/model/FlowPrice.java b/src/main/java/com/qxueyou/scc/base/model/FlowPrice.java
index 1ca52ce..1cb9b8b 100644
--- a/src/main/java/com/qxueyou/scc/base/model/FlowPrice.java
+++ b/src/main/java/com/qxueyou/scc/base/model/FlowPrice.java
@@ -1,13 +1,13 @@
 package com.qxueyou.scc.base.model;
 
 /**
- * 流量定价实体类
+ * 娴侀噺瀹氫环瀹炰綋绫�
  * @author zhanglinqing
  *
  */
 public class FlowPrice {
 	
-	/** 流量规格值 */
+	/** 娴侀噺瑙勬牸鍊� */
 	public static final int FLOW_VALUE_10 = 10;
 	public static final int FLOW_VALUE_30 = 30;
 	public static final int FLOW_VALUE_70 = 70;
@@ -18,7 +18,7 @@
 	public static final int FLOW_VALUE_3072 = 3072;
 	public static final int FLOW_VALUE_4096 = 4096;
 	
-	/** 流量定价值 */
+	/** 娴侀噺瀹氫环鍊� */
 	public static final double FLOW_PRICING_VALUE_10 = 0.2400;
 	public static final double FLOW_PRICING_VALUE_30 = 0.0800;
 	public static final double FLOW_PRICING_VALUE_70 = 0.1000;
@@ -29,7 +29,7 @@
 	public static final double FLOW_PRICING_VALUE_3072 = 0.0234;
 	public static final double FLOW_PRICING_VALUE_4096 = 0.0234;
 	
-	/** 折后售价 */
+	/** 鎶樺悗鍞环 */
 	public static final double FLOW_PRICE_10 = 2.4;
 	public static final double FLOW_PRICE_30 = 4;
 	public static final double FLOW_PRICE_70 = 8;
diff --git a/src/main/java/com/qxueyou/scc/base/model/MsgTypeConstants.java b/src/main/java/com/qxueyou/scc/base/model/MsgTypeConstants.java
index 4023fd5..633893c 100644
--- a/src/main/java/com/qxueyou/scc/base/model/MsgTypeConstants.java
+++ b/src/main/java/com/qxueyou/scc/base/model/MsgTypeConstants.java
@@ -2,21 +2,21 @@
 
 
 /**
- * 消息类型常量实体类
+ * 娑堟伅绫诲瀷甯搁噺瀹炰綋绫�
  * @author ody.yuan
  *
  */
 public class MsgTypeConstants {
 	
-	/** 直播:生成回放 */
+	/** 鐩存挱锛氱敓鎴愬洖鏀� */
 	public static final String LIVE_DOWN_LOAD_VIDEO = "DOWN_LOAD_RECORD";
 	
-	/** 直播:编辑 -生成回放 */
+	/** 鐩存挱锛氱紪杈� -鐢熸垚鍥炴斁 */
 	public static final String LIVE_EDIT_GENERATE_VIDEO = "EDIT_GENERATE_VIDEO";
 	
-	/** 直播:重新初始化(预处理)*/
+	/** 鐩存挱锛氶噸鏂板垵濮嬪寲锛堥澶勭悊锛�*/
 	public static final String LIVE_REPLAY_DATA_INIT = "REPLAY_DATA_INIT";
 	
-	/** 直播:上传视频截图*/
+	/** 鐩存挱锛氫笂浼犺棰戞埅鍥�*/
 	public static final String LIVE_REPLAY_SCREENSHOT = "REPLAY_SCREENSHOT";
 }
diff --git a/src/main/java/com/qxueyou/scc/base/model/Pager.java b/src/main/java/com/qxueyou/scc/base/model/Pager.java
index 7169ea9..0cdc4d6 100644
--- a/src/main/java/com/qxueyou/scc/base/model/Pager.java
+++ b/src/main/java/com/qxueyou/scc/base/model/Pager.java
@@ -3,17 +3,17 @@
 public class Pager {
 	
 	/*
-	 * 每页显示条数
+	 * 姣忛〉鏄剧ず鏉℃暟
 	 */
 	private int pageSize;
 	
 	/*
-	 * 当前页码
+	 * 褰撳墠椤电爜
 	 */
 	private int pageNum;
 	
 	/*
-	 * 记录总数
+	 * 璁板綍鎬绘暟
 	 */
 	private int totalCount;
 	
@@ -55,7 +55,7 @@
 	}
 
 	/**
-	 * 计算总页数
+	 * 璁$畻鎬婚〉鏁�
 	 * @return
 	 */
 	public int getPageCount(){
@@ -63,7 +63,7 @@
 	}
 	
 	/**
-	 * 计算分页栏起始页
+	 * 璁$畻鍒嗛〉鏍忚捣濮嬮〉
 	 * @return
 	 */
 	public int getPageDispayStart(){
@@ -80,7 +80,7 @@
 	}
 	
 	/**
-	 * 计算分页栏结束页
+	 * 璁$畻鍒嗛〉鏍忕粨鏉熼〉
 	 * @return
 	 */
 	public int getPageDispayEnd(){
diff --git a/src/main/java/com/qxueyou/scc/base/model/PaginationData.java b/src/main/java/com/qxueyou/scc/base/model/PaginationData.java
index 34e9318..ca76607 100644
--- a/src/main/java/com/qxueyou/scc/base/model/PaginationData.java
+++ b/src/main/java/com/qxueyou/scc/base/model/PaginationData.java
@@ -4,51 +4,51 @@
 import io.swagger.annotations.ApiModelProperty;
 
 /**
- * 后端分页时使用,接收前端传来分页信息
+ * 鍚庣鍒嗛〉鏃朵娇鐢紝鎺ユ敹鍓嶇浼犳潵鍒嗛〉淇℃伅
  * @author ody.yuan
  *
  */
-@ApiModel(description="接收前台分页、查询和排序")
+@ApiModel(description="鎺ユ敹鍓嶅彴鍒嗛〉銆佹煡璇㈠拰鎺掑簭")
 public class PaginationData {
 	
-	//从第几条记录开始(从0开始)
-	@ApiModelProperty(name="从第几条记录开始(从0开始)",  value="offset")
+	//浠庣鍑犳潯璁板綍寮�濮�(浠�0寮�濮�)
+	@ApiModelProperty(name="浠庣鍑犳潯璁板綍寮�濮�(浠�0寮�濮�)",  value="offset")
 	private Integer offset;
 	
-	//每页显示记录数
-	@ApiModelProperty(name="每页显示记录数",  value="limit")
+	//姣忛〉鏄剧ず璁板綍鏁�
+	@ApiModelProperty(name="姣忛〉鏄剧ず璁板綍鏁�",  value="limit")
 	private Integer limit;
 	
-	//排序字段
-	@ApiModelProperty(name="排序字段", example="createTime",  value="sort")
+	//鎺掑簭瀛楁
+	@ApiModelProperty(name="鎺掑簭瀛楁", example="createTime",  value="sort")
 	private String sort;
 	
-	//排序方式,默认升序
-	@ApiModelProperty(name="排序方式,默认升序", example="desc",  value="order")
+	//鎺掑簭鏂瑰紡锛岄粯璁ゅ崌搴�
+	@ApiModelProperty(name="鎺掑簭鏂瑰紡锛岄粯璁ゅ崌搴�", example="desc",  value="order")
 	private String order = "asc";
 	
-	//总记录数
-	@ApiModelProperty(name="总记录数",  value="total")
+	//鎬昏褰曟暟
+	@ApiModelProperty(name="鎬昏褰曟暟",  value="total")
 	private Integer total;
 	
-	//查询输入框
-	@ApiModelProperty(name="查询输入框",  value="keyword")
+	//鏌ヨ杈撳叆妗�
+	@ApiModelProperty(name="鏌ヨ杈撳叆妗�",  value="keyword")
 	private String keyword = "";
 	
-	//查询输入框
-	@ApiModelProperty(name="查询输入框",  value="search")
+	//鏌ヨ杈撳叆妗�
+	@ApiModelProperty(name="鏌ヨ杈撳叆妗�",  value="search")
 	private String search = "";
 	
 	/*
-	 * 每页显示条数
+	 * 姣忛〉鏄剧ず鏉℃暟
 	 */
-	@ApiModelProperty(name="每页显示记录数",  value="pageSize")
+	@ApiModelProperty(name="姣忛〉鏄剧ず璁板綍鏁�",  value="pageSize")
 	private Integer pageSize;
 	
 	/*
-	 * 当前页码
+	 * 褰撳墠椤电爜
 	 */
-	@ApiModelProperty(name="从第几条记录开始(从0开始)",  value="pageNum")
+	@ApiModelProperty(name="浠庣鍑犳潯璁板綍寮�濮�(浠�0寮�濮�)",  value="pageNum")
 	private Integer pageNum;
 	
 	public String getKeyword() {
diff --git a/src/main/java/com/qxueyou/scc/base/model/Param.java b/src/main/java/com/qxueyou/scc/base/model/Param.java
index f1c6338..a851bfe 100644
--- a/src/main/java/com/qxueyou/scc/base/model/Param.java
+++ b/src/main/java/com/qxueyou/scc/base/model/Param.java
@@ -1,19 +1,19 @@
 package com.qxueyou.scc.base.model;
 
 /**
- * 查询参数
+ * 鏌ヨ鍙傛暟
  * @author ody.yuan
  *
  */
 public class Param {
 	
-	//查询字段
+	//鏌ヨ瀛楁
 	private String name;
 	
 	//
 	private String code;
 	
-	//查询值
+	//鏌ヨ鍊�
 	private String value;
 	
 	public Param(){
diff --git a/src/main/java/com/qxueyou/scc/base/model/Result.java b/src/main/java/com/qxueyou/scc/base/model/Result.java
index 8bd5e5d..cbb9343 100644
--- a/src/main/java/com/qxueyou/scc/base/model/Result.java
+++ b/src/main/java/com/qxueyou/scc/base/model/Result.java
@@ -5,12 +5,12 @@
 import java.util.Map;
 
 /**
- * 操作结果类 接口统一返回数据类型
+ * 鎿嶄綔缁撴灉绫� 鎺ュ彛缁熶竴杩斿洖鏁版嵁绫诲瀷
  * 
  * {
-	 * 	"result": 返回结果(boolean值),
-	 *  "data": 返回数据(object),
-	 *  "msg": 返回消息,
+	 * 	"result": 杩斿洖缁撴灉(boolean鍊�),
+	 *  "data": 杩斿洖鏁版嵁(object),
+	 *  "msg": 杩斿洖娑堟伅,
  * }
  * 
  * @author zhiyong
@@ -20,20 +20,20 @@
 	
 	private static final long serialVersionUID = -9024761391789730558L;
 
-	/** 成功:true,失败:false */
+	/** 鎴愬姛:true,澶辫触:false */
 	private boolean success;
 	
-	/** 返回编码 */
+	/** 杩斿洖缂栫爜 */
 	private int resultCode ;
 	
-	/** 返回消息 */
+	/** 杩斿洖娑堟伅 */
 	private String msg;
 	
-	/** 结果数据  */
+	/** 缁撴灉鏁版嵁  */
 	private Object data;
 	
 	/**
-	 * 非法请求状态码
+	 * 闈炴硶璇锋眰鐘舵�佺爜
 	 */
 	public static final int CODE_FORBIDDEN = 403;
 	
diff --git a/src/main/java/com/qxueyou/scc/base/model/ResultJson.java b/src/main/java/com/qxueyou/scc/base/model/ResultJson.java
index 2b59486..bd84463 100644
--- a/src/main/java/com/qxueyou/scc/base/model/ResultJson.java
+++ b/src/main/java/com/qxueyou/scc/base/model/ResultJson.java
@@ -3,12 +3,12 @@
 import java.io.Serializable;
 
 /**
- * 操作结果类 接口统一返回数据类型
+ * 鎿嶄綔缁撴灉绫� 鎺ュ彛缁熶竴杩斿洖鏁版嵁绫诲瀷
  * 
  * {
-	 * 	"result": 返回结果(boolean值),
-	 *  "data": 返回数据(object),
-	 *  "msg": 返回消息,
+	 * 	"result": 杩斿洖缁撴灉(boolean鍊�),
+	 *  "data": 杩斿洖鏁版嵁(object),
+	 *  "msg": 杩斿洖娑堟伅,
  * }
  * 
  * @author zhiyong
@@ -18,16 +18,16 @@
 	
 	private static final long serialVersionUID = -9024761391789730558L;
 
-	/** 成功:true,失败:false */
+	/** 鎴愬姛:true,澶辫触:false */
 	private boolean result;
 	
-	/** 返回编码 */
+	/** 杩斿洖缂栫爜 */
 	private int resultCode ;
 	
-	/** 返回消息 */
+	/** 杩斿洖娑堟伅 */
 	private String msg;
 	
-	/** 结果数据  */
+	/** 缁撴灉鏁版嵁  */
 	private Object data;
 	
 	public ResultJson() {
diff --git a/src/main/java/com/qxueyou/scc/base/model/TransactException.java b/src/main/java/com/qxueyou/scc/base/model/TransactException.java
index d466158..999801d 100644
--- a/src/main/java/com/qxueyou/scc/base/model/TransactException.java
+++ b/src/main/java/com/qxueyou/scc/base/model/TransactException.java
@@ -1,7 +1,7 @@
 package com.qxueyou.scc.base.model;
 
 /**
- * 自定义事务异常
+ * 鑷畾涔変簨鍔″紓甯�
  * @author zhiyong
  *
  */
diff --git a/src/main/java/com/qxueyou/scc/base/model/UserCipher.java b/src/main/java/com/qxueyou/scc/base/model/UserCipher.java
index cd55533..84f4667 100644
--- a/src/main/java/com/qxueyou/scc/base/model/UserCipher.java
+++ b/src/main/java/com/qxueyou/scc/base/model/UserCipher.java
@@ -18,20 +18,20 @@
 
 	private static final long serialVersionUID = 898178024362728710L;
 
-	// 用户ID
+	// 鐢ㄦ埛ID
 	@Id
 	@Column(name = "user_id", unique = true, nullable = false, length = 32)
 	private String userId;
 	
-	// RSA密钥模
+	// RSA瀵嗛挜妯�
 	@Column(name = "MODULUS", length = 255)
 	private String modulus;
 	
-	// RSA公钥指数
+	// RSA鍏挜鎸囨暟
 	@Column(name = "PUBLIC_EXPONENT", length = 255)
 	private String publicExponent;
 	
-	// RSA私钥指数
+	// RSA绉侀挜鎸囨暟
 	@Column(name = "PRIVATE_EXPONENT", length = 255)
 	private String privateExponent;
 	
diff --git a/src/main/java/com/qxueyou/scc/base/model/UserInfoWrapper.java b/src/main/java/com/qxueyou/scc/base/model/UserInfoWrapper.java
index dabd02b..48f989d 100644
--- a/src/main/java/com/qxueyou/scc/base/model/UserInfoWrapper.java
+++ b/src/main/java/com/qxueyou/scc/base/model/UserInfoWrapper.java
@@ -13,8 +13,8 @@
 import com.qxueyou.scc.user.model.User;
 
 /**
- * 保存用户缓存信息
- * @author 德虎
+ * 淇濆瓨鐢ㄦ埛缂撳瓨淇℃伅
+ * @author 寰疯檸
  *
  */
 public class UserInfoWrapper implements Serializable{
@@ -25,121 +25,121 @@
 
 	private boolean admin = false;
 
-	/** 用户信息map */
+	/** 鐢ㄦ埛淇℃伅map */
 	private final Map<String,Object> currentUser = new HashMap<String,Object>(10);
 
-	/** "role":"角色", [STUDENT,CHARGER,TEACHER,SALESMAN,ADMIN] */
+	/** "role":"瑙掕壊", [STUDENT,CHARGER,TEACHER,SALESMAN,ADMIN] */
 	public final static String INF_ROLE = "role";
 
-	/** "roleId":session中UserInfoWrapper保存的key */
+	/** "roleId":session涓璘serInfoWrapper淇濆瓨鐨刱ey */
 	public static final String SESSION_USER_INFO_KEY = "SESSION_USER_INFO_KEY";
 
-	/**保存当前在线用户ID与sessionID*/
+	/**淇濆瓨褰撳墠鍦ㄧ嚎鐢ㄦ埛ID涓巗essionID*/
 	public static final String REDIS_USER_ONLINE_MAP_KEY="redis.user.online.map.key";
 
-	/** "roleId":角色ID */
+	/** "roleId":瑙掕壊ID */
 	public final static String INF_ROLE_ID = "roleId";
 
-	/** "roleIsAdmin":是否为管理员 */
+	/** "roleIsAdmin":鏄惁涓虹鐞嗗憳 */
 	public final static String INF_ROLE_IS_ADMIN = "roleIsAdmin";
 
-	/** "roleValue":"角色值" */
+	/** "roleValue":"瑙掕壊鍊�" */
 	public final static String INF_ROLE_VALUE = "roleValue";
 
-	/** "roleValue":"角色" */
+	/** "roleValue":"瑙掕壊" */
 	public final static String INF_ROLE_ENAME = "roleEname";
 
-	/** "userId":"用户ID" */
+	/** "userId":"鐢ㄦ埛ID" */
 	public final static String INF_USER_ID = "userId";
 
-	/** "userName":"用户名" */
+	/** "userName":"鐢ㄦ埛鍚�" */
 	public final static String INF_USER_NAME = "userName";
 
-	/** "userNickName":"用户昵称" */
+	/** "userNickName":"鐢ㄦ埛鏄电О" */
 	public final static String INF_USER_NICK_NAME = "userNickName";
 
-	/** "userMobilePhone":"手机号" */
+	/** "userMobilePhone":"鎵嬫満鍙�" */
 	public final static String INF_USER_MOBILE_PHONE = "userMobilePhone";
 
-	/** "userAccount":"帐号" */
+	/** "userAccount":"甯愬彿" */
 	public final static String INF_USER_ACCOUNT = "userAccount";
 
-	/** "userHeadImg":"头像" */
+	/** "userHeadImg":"澶村儚" */
 	public final static String INF_USER_HEAD_IMG = "userHeadImg";
 
-	/** "orgId":"机构ID" */
+	/** "orgId":"鏈烘瀯ID" */
 	public final static String INF_ORG_ID = "orgId";
 
-	/** "topOrgId":"最上层机构ID" */
+	/** "topOrgId":"鏈�涓婂眰鏈烘瀯ID" */
 	public final static String INF_TOP_ORG_ID = "topOrgId";
 
-	/** "orgName":"机构名称" */
+	/** "orgName":"鏈烘瀯鍚嶇О" */
 	public final static String INF_ORG_NAME = "orgName";
 
-	/** "orgShortName":"机构简称" */
+	/** "orgShortName":"鏈烘瀯绠�绉�" */
 	public final static String INF_ORG_SHORT_NAME = "orgShortName";
 
-	/** "orgCode":"机构代码" */
+	/** "orgCode":"鏈烘瀯浠g爜" */
 	public final static String INF_ORG_CODE = "orgCode";
 
-	/** "orgType":"机构类型" */
+	/** "orgType":"鏈烘瀯绫诲瀷" */
 	public final static String INF_ORG_TYPE = "orgType";
 
-	/** "orgLogPath":"机构LOGO" */
+	/** "orgLogPath":"鏈烘瀯LOGO" */
 	public final static String INF_ORG_LOGO_PATH = "orgLogPath";
 
-	/** "courseId":"科目ID" */
+	/** "courseId":"绉戠洰ID" */
 	public final static String INF_COURSE_ID = "courseId";
 
-	/** "courseCode":"科目代码" */
+	/** "courseCode":"绉戠洰浠g爜" */
 	public final static String INF_COURSE_CODE = "courseCode";
 
-	/** "courseName":"科目名称" */
+	/** "courseName":"绉戠洰鍚嶇О" */
 	public final static String INF_COURSE_NAME = "courseName";
 
-	/** "courseType":"科目类型" */
+	/** "courseType":"绉戠洰绫诲瀷" */
 	public final static String INF_COURSE_TYPE = "courseType";
 
-	/** "classId":"班级ID" */
+	/** "classId":"鐝骇ID" */
 	public final static String INF_CLASS_ID = "classId";
 
-	/** "className":"班级名" */
+	/** "className":"鐝骇鍚�" */
 	public final static String INF_CLASS_NAME = "className";
 
-	/** "classCharger":"班主任" */
+	/** "classCharger":"鐝富浠�" */
 	public final static String INF_CLASS_CHARGER = "classCharger";
 
-	/** "teacher":"讲师" */
+	/** "teacher":"璁插笀" */
 	public final static String ROLE_TEACHER = "teacher";
 
-	/** "assistantTeacher":"助理讲师" */
+	/** "assistantTeacher":"鍔╃悊璁插笀" */
 	public final static String ROLE_ASSISTANT_TEACHER = "assistantTeacher";
 
-	/** "salesman":"销售" */
+	/** "salesman":"閿�鍞�" */
 	public final static String ROLE_SALESMAN = "salesman";
 
-	/** "role":"角色", [STUDENT,CHARGER,TEACHER,SALESMAN,ADMIN] */
+	/** "role":"瑙掕壊", [STUDENT,CHARGER,TEACHER,SALESMAN,ADMIN] */
 	public final static String ROLE_CHARGER = "charger";
 
-	/** "role":"角色", [STUDENT,CHARGER,TEACHER,SALESMAN,ADMIN] */
+	/** "role":"瑙掕壊", [STUDENT,CHARGER,TEACHER,SALESMAN,ADMIN] */
 	public final static String ROLE_ADMIN = "admin";
 
-	/** "role":"角色", [STUDENT,CHARGER,TEACHER,SALESMAN,ADMIN] */
+	/** "role":"瑙掕壊", [STUDENT,CHARGER,TEACHER,SALESMAN,ADMIN] */
 	public final static String ROLE_STUDENT = "student";
 
-	/** "role":"角色", [STUDENT,CHARGER,TEACHER,SALESMAN,ADMIN] */
+	/** "role":"瑙掕壊", [STUDENT,CHARGER,TEACHER,SALESMAN,ADMIN] */
 	public final static String ROLE_CUSTOM = "custom";
 
 	/** "buttonPrivilege":"" */
 	public final static String INF_BUTTON_PRIVILEGE_EDIT = "buttonPrivilege";
 
-	/** "loginIp":"登录IP" */
+	/** "loginIp":"鐧诲綍IP" */
 	public final static String INF_LOGIN_IP = "loginIp";
 
-	/** "loginPlatForm":"登录平台" */
+	/** "loginPlatForm":"鐧诲綍骞冲彴" */
 	public final static String INF_LOGIN_PLAT_FORM = "loginPlatForm";
 
-	/** "loginCacheIpFlag":"是否需要在过滤器对当前用户增加缓存(用于保证一个用户只能在一个IP上登录)" */
+	/** "loginCacheIpFlag":"鏄惁闇�瑕佸湪杩囨护鍣ㄥ褰撳墠鐢ㄦ埛澧炲姞缂撳瓨锛堢敤浜庝繚璇佷竴涓敤鎴峰彧鑳藉湪涓�涓狪P涓婄櫥褰曪級" */
 	public final static String INF_LOGIN_CACHE_IP_FLAG = "loginCacheIpFlag";
 
 	/** "rolesKey":"",  */
@@ -149,7 +149,7 @@
 	private final Map<String,List<Map<String,Object>>> roles = new HashMap<String,List<Map<String,Object>>>(5);
 
 	/**
-	 * 根据key值获取当前用户信息
+	 * 鏍规嵁key鍊艰幏鍙栧綋鍓嶇敤鎴蜂俊鎭�
 	 * @param key
 	 * @return
 	 */
@@ -158,7 +158,7 @@
 	}
 
 	/**
-	 * 获取当前用户角色
+	 * 鑾峰彇褰撳墠鐢ㄦ埛瑙掕壊
 	 * @param key
 	 * @return
 	 */
@@ -167,7 +167,7 @@
 	}
 
 	/**
-	 * 获取当前用户角色ID
+	 * 鑾峰彇褰撳墠鐢ㄦ埛瑙掕壊ID
 	 * @param key
 	 * @return
 	 */
@@ -176,7 +176,7 @@
 	}
 
 	/**
-	 * 获取当前用户角色值
+	 * 鑾峰彇褰撳墠鐢ㄦ埛瑙掕壊鍊�
 	 * @param key
 	 * @return
 	 */
@@ -185,7 +185,7 @@
 	}
 
 	/**
-	 * 根据key值设置当前用户信息
+	 * 鏍规嵁key鍊艰缃綋鍓嶇敤鎴蜂俊鎭�
 	 * @param key
 	 * @return
 	 */
@@ -194,7 +194,7 @@
 	}
 
 	/**
-	 * 设置用户信息
+	 * 璁剧疆鐢ㄦ埛淇℃伅
 	 * @param key
 	 * @return
 	 */
@@ -210,7 +210,7 @@
 	}
 
 	/**
-	 * 设置机构信息
+	 * 璁剧疆鏈烘瀯淇℃伅
 	 * @param key
 	 * @return
 	 */
@@ -235,7 +235,7 @@
 	}
 
 	/**
-	 * 设置班级信息
+	 * 璁剧疆鐝骇淇℃伅
 	 * @param key
 	 * @return
 	 */
@@ -254,7 +254,7 @@
 	}
 
 	/**
-	 * 设置科目信息
+	 * 璁剧疆绉戠洰淇℃伅
 	 * @param key
 	 * @return
 	 */
@@ -275,7 +275,7 @@
 	}
 
 	/**
-	 * 设置当前客户是否编辑过角色的按钮权限信息
+	 * 璁剧疆褰撳墠瀹㈡埛鏄惁缂栬緫杩囪鑹茬殑鎸夐挳鏉冮檺淇℃伅
 	 * @param key
 	 * @return
 	 */
@@ -291,7 +291,7 @@
 	}
 
 	/**
-	 * 获取当前用户角色是否处理过按钮权限
+	 * 鑾峰彇褰撳墠鐢ㄦ埛瑙掕壊鏄惁澶勭悊杩囨寜閽潈闄�
 	 * @param key
 	 * @return
 	 */
@@ -300,8 +300,8 @@
 	}
 
 	/**
-	 * 设置用户登录IP信息
-	 * @param cacheIpFlag 是否需要缓存
+	 * 璁剧疆鐢ㄦ埛鐧诲綍IP淇℃伅
+	 * @param cacheIpFlag 鏄惁闇�瑕佺紦瀛�
 	 * @param ip
 	 */
 	public void setLoginInfo(boolean cacheIpFlag,String ip, String platForm){
@@ -311,7 +311,7 @@
 	}
 
 	/**
-	 * 获取当前用户登录IP
+	 * 鑾峰彇褰撳墠鐢ㄦ埛鐧诲綍IP
 	 * @param key
 	 * @return
 	 */
@@ -320,7 +320,7 @@
 	}
 
 	/**
-	 * 获取当前用户是否需要缓存
+	 * 鑾峰彇褰撳墠鐢ㄦ埛鏄惁闇�瑕佺紦瀛�
 	 * @param key
 	 * @return
 	 */
@@ -329,7 +329,7 @@
 	}
 
 	/**
-	 * 获取当前登录平台
+	 * 鑾峰彇褰撳墠鐧诲綍骞冲彴
 	 * @param key
 	 * @return
 	 */
@@ -338,7 +338,7 @@
 	}
 
 	/**
-	 * 添加角色
+	 * 娣诲姞瑙掕壊
 	 * @param key
 	 * @param value
 	 * @return
@@ -348,7 +348,7 @@
 	}
 
 	/**
-	 * 获取最高优先级角色
+	 * 鑾峰彇鏈�楂樹紭鍏堢骇瑙掕壊
 	 * @return
 	 */
 	public List<Map<String,Object>> getDefaultRole(){
@@ -364,7 +364,7 @@
 	}
 
 	/**
-	 * 获取指定角色的信息
+	 * 鑾峰彇鎸囧畾瑙掕壊鐨勪俊鎭�
 	 * @return
 	 */
 	public List<Map<String,Object>> getRoleInfo(String roleKey){
@@ -380,7 +380,7 @@
 	}
 
 	/**
-	 * 获取最高优先级角色名字
+	 * 鑾峰彇鏈�楂樹紭鍏堢骇瑙掕壊鍚嶅瓧
 	 * @return
 	 */
 	public String getDefaultRoleName(){
@@ -396,7 +396,7 @@
 	}
 
 	/**
-	 * 获取所有菜单
+	 * 鑾峰彇鎵�鏈夎彍鍗�
 	 * @return
 	 */
 	public List<SysMenu> getMenus() {
@@ -404,7 +404,7 @@
 	}
 
 	/**
-	 * 设置所有菜单
+	 * 璁剧疆鎵�鏈夎彍鍗�
 	 * @return
 	 */
 	public void setMenus(List<SysMenu> menus) {
diff --git a/src/main/java/com/qxueyou/scc/base/model/WbCacheKey.java b/src/main/java/com/qxueyou/scc/base/model/WbCacheKey.java
index b536446..a8cafd0 100644
--- a/src/main/java/com/qxueyou/scc/base/model/WbCacheKey.java
+++ b/src/main/java/com/qxueyou/scc/base/model/WbCacheKey.java
@@ -16,7 +16,7 @@
 import com.fasterxml.jackson.annotation.JsonIgnore;
 
 /**
- * 微商缓存表
+ * 寰晢缂撳瓨琛�
  * @author zhiyong
  *
  */
@@ -36,15 +36,15 @@
 	@Column(name="cache_key", length=255)
 	private String cacheKey;
 
-	/** 课程id  */
+	/** 璇剧▼id  */
 	@Column(name="SUBJECT_ID", length=32)
 	private String subjectId;
 	
-	/** 对象id  */
+	/** 瀵硅薄id  */
 	@Column(name="object_id", length=32)
 	private String objectId;
 
-	/**  对象type 1:机构 2:班级 */
+	/**  瀵硅薄type 1:鏈烘瀯 2锛氱彮绾� */
 	@Column(name="OBJECT_TYPE")
 	private int objectType;
 	
@@ -52,13 +52,13 @@
 	
 	public static final int OBJECT_TYPE_CLASS = 2;
 	
-	/**  创建时间 */
+	/**  鍒涘缓鏃堕棿 */
 	@Column(name="CREATE_TIME")
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date createTime;
 	
-	/** 删除标志  */
+	/** 鍒犻櫎鏍囧織  */
 	@Column(name="DELETE_FLAG", nullable=false)
 	@JsonIgnore
 	private boolean deleteFlag;
diff --git a/src/main/java/com/qxueyou/scc/base/model/WeixinContants.java b/src/main/java/com/qxueyou/scc/base/model/WeixinContants.java
index c16aff7..4eee76c 100644
--- a/src/main/java/com/qxueyou/scc/base/model/WeixinContants.java
+++ b/src/main/java/com/qxueyou/scc/base/model/WeixinContants.java
@@ -1,19 +1,19 @@
 package com.qxueyou.scc.base.model;
 
 /**
- * 微信发送公用实体类
+ * 寰俊鍙戦�佸叕鐢ㄥ疄浣撶被
  * @author ody
  *
  */
 public class WeixinContants {
 	
-	/** 报名成功消息模板 */
+	/** 鎶ュ悕鎴愬姛娑堟伅妯℃澘 */
 	public static final String TEMPLATE_REGISTRATION_SUCCESS = "-qY8x7f_2vUf_vle1O6kxHL5iWeTD-eSCUSmzfTfwWs";
 	
-	/** 学校通知消息模板 */
+	/** 瀛︽牎閫氱煡娑堟伅妯℃澘 */
 	public static final String TEMPLATE_ORG_NOTICE = "MI4bTdEoElJy5BaCWm_9P-tvAftVwFmvTZm8Bq0lV-s";
 	
-	/** 班级通知消息模板 */
+	/** 鐝骇閫氱煡娑堟伅妯℃澘 */
 	public static final String TEMPLATE_CLASS_NOTICE = "Qm9Vbypj6y7-x6_jI2TudmqxjPs7krxr9OsYYg3Nt3A";
 	
 }
diff --git a/src/main/java/com/qxueyou/scc/base/model/WxTemplateMsg.java b/src/main/java/com/qxueyou/scc/base/model/WxTemplateMsg.java
index d89f344..8d19f56 100644
--- a/src/main/java/com/qxueyou/scc/base/model/WxTemplateMsg.java
+++ b/src/main/java/com/qxueyou/scc/base/model/WxTemplateMsg.java
@@ -4,8 +4,8 @@
 import java.util.Map;
 
 /**
- * 微信模板消息
- * @author 德虎
+ * 寰俊妯℃澘娑堟伅
+ * @author 寰疯檸
  */
 public class WxTemplateMsg  extends BaseVO {
 	
diff --git a/src/main/java/com/qxueyou/scc/base/service/ICacheService.java b/src/main/java/com/qxueyou/scc/base/service/ICacheService.java
index ba3e781..88b279a 100644
--- a/src/main/java/com/qxueyou/scc/base/service/ICacheService.java
+++ b/src/main/java/com/qxueyou/scc/base/service/ICacheService.java
@@ -6,29 +6,29 @@
 import java.util.concurrent.TimeUnit;
 
 /**
- * 缓存服务接口
+ * 缂撳瓨鏈嶅姟鎺ュ彛
  * 
- * @author 德虎
+ * @author 寰疯檸
  *
  */
 public interface ICacheService {
 
 	/**
-	 * 根据key值获取指定类型对象
+	 * 鏍规嵁key鍊艰幏鍙栨寚瀹氱被鍨嬪璞�
 	 * 
 	 * @param key
-	 *            对象key值
+	 *            瀵硅薄key鍊�
 	 * @param cls
-	 *            对象类型
+	 *            瀵硅薄绫诲瀷
 	 * @return
 	 */
 	<T> T get(String key, Class<T> cls);
 
 	/**
-	 * 根据key值获取指定类型对象
+	 * 鏍规嵁key鍊艰幏鍙栨寚瀹氱被鍨嬪璞�
 	 * 
 	 * @param key
-	 *            对象key值
+	 *            瀵硅薄key鍊�
 	 * @return
 	 */
 	<T> T get(String key);
@@ -40,7 +40,7 @@
 	Long decr(String key);
 
 	/**
-	 * 根据key值获取指定类型对象
+	 * 鏍规嵁key鍊艰幏鍙栨寚瀹氱被鍨嬪璞�
 	 * 
 	 * @param keys
 	 * @return
@@ -48,90 +48,90 @@
 	Map<String, Object> getBulk(String... keys);
 
 	/**
-	 * 将对象缓存到缓存池
+	 * 灏嗗璞$紦瀛樺埌缂撳瓨姹�
 	 * 
 	 * @param key
-	 *            对象key值
+	 *            瀵硅薄key鍊�
 	 * @param expiredTime
-	 *            超时时间,单位秒
+	 *            瓒呮椂鏃堕棿锛屽崟浣嶇
 	 * @param obj
-	 *            要缓存的对象
+	 *            瑕佺紦瀛樼殑瀵硅薄
 	 * @return
 	 */
 	void set(String key, int expiredTime, Object obj);
 
 	/**
-	 * 将对象缓存到缓存池,永不过期
+	 * 灏嗗璞$紦瀛樺埌缂撳瓨姹�,姘镐笉杩囨湡
 	 * 
 	 * @param key
-	 *            对象key值
+	 *            瀵硅薄key鍊�
 	 * @param obj
-	 *            要缓存的对象
+	 *            瑕佺紦瀛樼殑瀵硅薄
 	 * @return
 	 */
 	void set(String key, Object obj);
 
 	/**
-	 * 将对象缓存到缓存池
+	 * 灏嗗璞$紦瀛樺埌缂撳瓨姹�
 	 * 
 	 * @param key
-	 *            cache名称
+	 *            cache鍚嶇О
 	 * @param hashKey
-	 *            键值
+	 *            閿��
 	 * @param obj
-	 *            要缓存的对象
+	 *            瑕佺紦瀛樼殑瀵硅薄
 	 * @return
 	 */
 	void set(String key, String hashKey, Object obj);
 
 	/**
-	 * 将对象缓存到缓存池
+	 * 灏嗗璞$紦瀛樺埌缂撳瓨姹�
 	 * 
 	 * @param key
-	 *            对象key值
+	 *            瀵硅薄key鍊�
 	 * @param expiredTime
-	 *            超时时间,单位秒
+	 *            瓒呮椂鏃堕棿锛屽崟浣嶇
 	 * @param obj
-	 *            要缓存的对象
+	 *            瑕佺紦瀛樼殑瀵硅薄
 	 * @return
 	 */
 	boolean add(String key, int expiredTime, Object obj);
 
 	/**
-	 * 将对象从缓存池删除
+	 * 灏嗗璞′粠缂撳瓨姹犲垹闄�
 	 * 
 	 * @param key
-	 *            对象key值
+	 *            瀵硅薄key鍊�
 	 * @return
 	 */
 	void delete(String key);
 
 	/**
-	 * 追加缓存池的值
+	 * 杩藉姞缂撳瓨姹犵殑鍊�
 	 * 
 	 * @param key
-	 *            对象key值
+	 *            瀵硅薄key鍊�
 	 * @return
 	 */
 	void append(String key, String value);
 
 	/**
-	 * 获取list缓存中key所有value值
+	 * 鑾峰彇list缂撳瓨涓璳ey鎵�鏈塿alue鍊�
 	 */
 	<T> List<T> lstAll(String key);
 
 	/**
-	 * 向list缓存中放入值
+	 * 鍚憀ist缂撳瓨涓斁鍏ュ��
 	 */
 	void lstRightPush(String key, Object value);
 
 	/**
-	 * 向list缓存中放入值
+	 * 鍚憀ist缂撳瓨涓斁鍏ュ��
 	 */
 	<T> void lstRightPushAll(String key, Collection<T> values);
 
 	/**
-	 * 从列表获取指定范围内的数据
+	 * 浠庡垪琛ㄨ幏鍙栨寚瀹氳寖鍥村唴鐨勬暟鎹�
 	 * 
 	 * @param key
 	 * @param start
@@ -145,17 +145,17 @@
 	void lstClear(String key);
 
 	/**
-	 * 根据key,index删除list中的value
+	 * 鏍规嵁key,index鍒犻櫎list涓殑value
 	 */
 	void lstRemove(String key, Object value);
 
 	/**
-	 * 通过key返回list中的值,并移除值
+	 * 閫氳繃key杩斿洖list涓殑鍊�,骞剁Щ闄ゅ��
 	 */
 	String lstLeftPop(String key);
 	
 	/**
-     * 向hash缓存中存入对象
+     * 鍚慼ash缂撳瓨涓瓨鍏ュ璞�
      *
      * @param key
      * @param hashKey
@@ -164,7 +164,7 @@
     void putKeyForHash(Object key, Object hashKey, Object value);
     
     /**
-     * 对key设置过其实键
+     * 瀵筴ey璁剧疆杩囧叾瀹為敭
      * @param key
      * @param timeout
      * @param unit
@@ -172,7 +172,7 @@
 	void expire(String key, long timeout, TimeUnit unit);
 	
 	/**
-	 * 如果不存在就添加
+	 * 濡傛灉涓嶅瓨鍦ㄥ氨娣诲姞
 	 * @param key
 	 * @param obj
 	 * @return
diff --git a/src/main/java/com/qxueyou/scc/base/service/ICommonService.java b/src/main/java/com/qxueyou/scc/base/service/ICommonService.java
index dda2c88..c73887d 100644
--- a/src/main/java/com/qxueyou/scc/base/service/ICommonService.java
+++ b/src/main/java/com/qxueyou/scc/base/service/ICommonService.java
@@ -1,8 +1,8 @@
 /******************************************************************************
  * Copyright (C) 2015 Shenzhen Penguin Network Technology Co., Ltd
  * All Rights Reserved.
- * 本软件为深圳市企鹅网络科技有限公司开发研制。未经本公司正式书面同意,其他任何个人、团体
- * 不得使用、复制、修改或发布本软件.
+ * 鏈蒋浠朵负娣卞湷甯備紒楣呯綉缁滅鎶�鏈夐檺鍏徃寮�鍙戠爺鍒躲�傛湭缁忔湰鍏徃姝e紡涔﹂潰鍚屾剰锛屽叾浠栦换浣曚釜浜恒�佸洟浣�
+ * 涓嶅緱浣跨敤銆佸鍒躲�佷慨鏀规垨鍙戝竷鏈蒋浠�.
  *****************************************************************************/
 
 package com.qxueyou.scc.base.service;
@@ -13,33 +13,33 @@
 import com.qxueyou.scc.base.model.Result;
 
 /**
- * 通用服务
- * @history 2010-09-12 夏德虎 新建
+ * 閫氱敤鏈嶅姟
+ * @history 2010-09-12 澶忓痉铏� 鏂板缓
  *
  */
 public interface ICommonService {
 
     /**
-     * 读取对象
-     * @param <T> 泛型
-     * @param clz 实体类型
-     * @param pk 实体主键
-     * @return 查询结果
+     * 璇诲彇瀵硅薄
+     * @param <T> 娉涘瀷
+     * @param clz 瀹炰綋绫诲瀷
+     * @param pk 瀹炰綋涓婚敭
+     * @return 鏌ヨ缁撴灉
      */
     <T> T read(Class<T> clz,Serializable pk);
 
     /**
-     * 保存对象
-     * @return 查询结果
+     * 淇濆瓨瀵硅薄
+     * @return 鏌ヨ缁撴灉
      */
     public Result save(Object obj);
 
 
     /**
-     * 根据hql查询,并返回执行类型的列表结果
-     * @param hql 查询语句
-     * @param args 参数
-     * @param cls 返回类型
+     * 鏍规嵁hql鏌ヨ,骞惰繑鍥炴墽琛岀被鍨嬬殑鍒楄〃缁撴灉
+     * @param hql 鏌ヨ璇彞
+     * @param args 鍙傛暟
+     * @param cls 杩斿洖绫诲瀷
      * @return
      */
     <T> List<T> find(String hql,List<Object> args,Class<T> cls);
diff --git a/src/main/java/com/qxueyou/scc/base/service/IDictionaryService.java b/src/main/java/com/qxueyou/scc/base/service/IDictionaryService.java
index bae7c2d..30bf23c 100644
--- a/src/main/java/com/qxueyou/scc/base/service/IDictionaryService.java
+++ b/src/main/java/com/qxueyou/scc/base/service/IDictionaryService.java
@@ -5,14 +5,14 @@
 public interface IDictionaryService {
 	
 	/**
-	 * 获取配置
+	 * 鑾峰彇閰嶇疆
 	 * @param key
 	 * @return
 	 */
 	String getConfig(String key);
 	
 	/**
-	 * 更新配置
+	 * 鏇存柊閰嶇疆
 	 * @param key
 	 * @param value
 	 * @return
diff --git a/src/main/java/com/qxueyou/scc/base/service/IFileUploadService.java b/src/main/java/com/qxueyou/scc/base/service/IFileUploadService.java
index 3dba509..f567e72 100644
--- a/src/main/java/com/qxueyou/scc/base/service/IFileUploadService.java
+++ b/src/main/java/com/qxueyou/scc/base/service/IFileUploadService.java
@@ -5,7 +5,7 @@
 import com.qxueyou.scc.base.model.Result;
 
 /**
- * 所有文件上传的操作,单独到文件上传工程后,后续业务操作需要下载文件调用的方法
+ * 鎵�鏈夋枃浠朵笂浼犵殑鎿嶄綔锛屽崟鐙埌鏂囦欢涓婁紶宸ョ▼鍚庯紝鍚庣画涓氬姟鎿嶄綔闇�瑕佷笅杞芥枃浠惰皟鐢ㄧ殑鏂规硶
  * @author ody.yuan
  *
  */
@@ -13,54 +13,54 @@
 	
 	
 	/**
-	 * 从oss将文件拿到应用服务器
-	 * @param key           相对路径
-	 * @param directory		拿到应用服务器的存储路径
-	 * @param module		调用业务模块编码
-	 * @param userId		操作人
+	 * 浠巓ss灏嗘枃浠舵嬁鍒板簲鐢ㄦ湇鍔″櫒
+	 * @param key           鐩稿璺緞
+	 * @param directory		鎷垮埌搴旂敤鏈嶅姟鍣ㄧ殑瀛樺偍璺緞
+	 * @param module		璋冪敤涓氬姟妯″潡缂栫爜
+	 * @param userId		鎿嶄綔浜�
 	 * @return
 	 */
 	File doGetOssFile(String key, String directory,String module,String userId);
 	
 	/**
-	 * 从杭州 oss将音视频文件拿到本地
-	 * @param key           相对路径
-	 * @param directory		拿到应用服务器的存储路径
-	 * @param module		调用业务模块编码
-	 * @param userId		操作人
+	 * 浠庢澀宸� oss灏嗛煶瑙嗛鏂囦欢鎷垮埌鏈湴
+	 * @param key           鐩稿璺緞
+	 * @param directory		鎷垮埌搴旂敤鏈嶅姟鍣ㄧ殑瀛樺偍璺緞
+	 * @param module		璋冪敤涓氬姟妯″潡缂栫爜
+	 * @param userId		鎿嶄綔浜�
 	 * @return
 	 */
 	File doGetOssVideoFile(String key, String directory,String module,String userId);
 	
 	/**
-	 * 操作完之后,删除临时文件
-	 * @param derectory		拿到应用服务器的存储路径
-	 * @param module		调用业务模块编码
-	 * @param userId		操作人
+	 * 鎿嶄綔瀹屼箣鍚庯紝鍒犻櫎涓存椂鏂囦欢
+	 * @param derectory		鎷垮埌搴旂敤鏈嶅姟鍣ㄧ殑瀛樺偍璺緞
+	 * @param module		璋冪敤涓氬姟妯″潡缂栫爜
+	 * @param userId		鎿嶄綔浜�
 	 * @return
 	 */
 	Result doDeleteTempOssFile(String directory,String module,String userId);
 	
 	/**
-	 * 操作完之后,删除临时文件
-	 * @param file			拿到应用服务器的文件
-	 * @param module		调用业务模块编码
-	 * @param userId		操作人
+	 * 鎿嶄綔瀹屼箣鍚庯紝鍒犻櫎涓存椂鏂囦欢
+	 * @param file			鎷垮埌搴旂敤鏈嶅姟鍣ㄧ殑鏂囦欢
+	 * @param module		璋冪敤涓氬姟妯″潡缂栫爜
+	 * @param userId		鎿嶄綔浜�
 	 * @return
 	 */
 	Result doDeleteTempOssFile(File file,String module,String userId);
 	/**
-	 * 更新上传文件使用轨迹
-	 * @param fullPath 路径
+	 * 鏇存柊涓婁紶鏂囦欢浣跨敤杞ㄨ抗
+	 * @param fullPath 璺緞
 	 * @param module 
-	 * @param useFlag 使用状态
-	 * @param bussinessId 业务ID
+	 * @param useFlag 浣跨敤鐘舵��
+	 * @param bussinessId 涓氬姟ID
 	 * @return
 	 */
 	Result updateUploadTrace(String fullPath,String module,int useFlag,String bussinessId);
 	
 	/**
-	 * 通过路径下载微信图像到服务器
+	 * 閫氳繃璺緞涓嬭浇寰俊鍥惧儚鍒版湇鍔″櫒
 	 * @return
 	 */
 	String downloadWxImg(String strUrl,String openId);
diff --git a/src/main/java/com/qxueyou/scc/base/service/IONSExceptionLogService.java b/src/main/java/com/qxueyou/scc/base/service/IONSExceptionLogService.java
index 59a9144..dfcf467 100644
--- a/src/main/java/com/qxueyou/scc/base/service/IONSExceptionLogService.java
+++ b/src/main/java/com/qxueyou/scc/base/service/IONSExceptionLogService.java
@@ -3,7 +3,7 @@
 import com.qxueyou.scc.base.model.Result;
 
 /**
- * ONS严格异常处理,消息处理都捕获Exception,并且不抛出,将异常存入表中
+ * ONS涓ユ牸寮傚父澶勭悊锛屾秷鎭鐞嗛兘鎹曡幏Exception锛屽苟涓斾笉鎶涘嚭锛屽皢寮傚父瀛樺叆琛ㄤ腑
  * @author ody.yuan
  *
  */
@@ -11,12 +11,12 @@
 	
 	
 	/**
-	 * ONS 日志记录
+	 * ONS 鏃ュ織璁板綍
 	 * 
-	 * @param topic		订阅主题
-	 * @param msgType	同一订阅主题支撑多个业务类型时,业务类型
-	 * @param businessId异常堆栈:自定义ID
-	 * @param desp		参数列表
+	 * @param topic		璁㈤槄涓婚
+	 * @param msgType	鍚屼竴璁㈤槄涓婚鏀拺澶氫釜涓氬姟绫诲瀷鏃讹紝涓氬姟绫诲瀷
+	 * @param businessId寮傚父鍫嗘爤锛氳嚜瀹氫箟ID
+	 * @param desp		鍙傛暟鍒楄〃
 	 * @return
 	 */
 	Result logSaveExceptionLog(String topic, String msgType, String businessId, String desp);
diff --git a/src/main/java/com/qxueyou/scc/base/service/impl/CommonAppService.java b/src/main/java/com/qxueyou/scc/base/service/impl/CommonAppService.java
index 8eeeff7..9a27eb9 100644
--- a/src/main/java/com/qxueyou/scc/base/service/impl/CommonAppService.java
+++ b/src/main/java/com/qxueyou/scc/base/service/impl/CommonAppService.java
@@ -1,8 +1,8 @@
 /******************************************************************************
  * Copyright (C) 2015 Shenzhen Penguin Network Technology Co., Ltd
  * All Rights Reserved.
- * 本软件为深圳市企鹅网络科技有限公司开发研制。未经本公司正式书面同意,其他任何个人、团体
- * 不得使用、复制、修改或发布本软件.
+ * 鏈蒋浠朵负娣卞湷甯備紒楣呯綉缁滅鎶�鏈夐檺鍏徃寮�鍙戠爺鍒躲�傛湭缁忔湰鍏徃姝e紡涔﹂潰鍚屾剰锛屽叾浠栦换浣曚釜浜恒�佸洟浣�
+ * 涓嶅緱浣跨敤銆佸鍒躲�佷慨鏀规垨鍙戝竷鏈蒋浠�.
  *****************************************************************************/
 
 package com.qxueyou.scc.base.service.impl;
@@ -30,19 +30,19 @@
 
 @Service(value = "commonAppService")
 /**
- * @author 夏德虎
+ * @author 澶忓痉铏�
  * @since JDK1.7
- * @history 2014-11-18 夏德虎 新建
+ * @history 2014-11-18 澶忓痉铏� 鏂板缓
  */
 public class CommonAppService implements ICommonService {
 	/**
-	 * 获取事务管理器
+	 * 鑾峰彇浜嬪姟绠$悊鍣�
 	 */
     @PersistenceContext
     public EntityManager em;
     
     /**
-     * 获取querydsl 查询工厂
+     * 鑾峰彇querydsl 鏌ヨ宸ュ巶
      */
     public JPAQueryFactory queryFactory;
     
@@ -59,7 +59,7 @@
 
 
 	/**
-     * 删除实体
+     * 鍒犻櫎瀹炰綋
      * @param trace
      */
 	public void deleteTrace(ITrace trace) {
@@ -69,7 +69,7 @@
 	}
 
     /**
-     * 删除实体集合
+     * 鍒犻櫎瀹炰綋闆嗗悎
      * @param traces
      */
 	public <T extends ITrace> void  deleteTraces(List<T> traces) {
@@ -79,7 +79,7 @@
 	}
 
     /**
-     * 依赖注入
+     * 渚濊禆娉ㄥ叆
      *
      * @param commonDAO
      */
@@ -90,11 +90,11 @@
     }
 
     /**
-     * 读取对象
-     * @param <T> 泛型
-     * @param clz 实体类型
-     * @param pk 实体主键
-     * @return 查询结果
+     * 璇诲彇瀵硅薄
+     * @param <T> 娉涘瀷
+     * @param clz 瀹炰綋绫诲瀷
+     * @param pk 瀹炰綋涓婚敭
+     * @return 鏌ヨ缁撴灉
      */
     public <T> T read(Class<T> clz,Serializable pk){
         return this.commonDAO.read(clz, pk);
@@ -102,8 +102,8 @@
     
 
     /**
-     * 保存对象
-     * @return 查询结果
+     * 淇濆瓨瀵硅薄
+     * @return 鏌ヨ缁撴灉
      */
     public Result save(Object obj){
         this.commonDAO.saveOrUpdate(obj);
@@ -112,30 +112,30 @@
     }
     
     /**
-     * 刷新对象 手动提交
-     * @return 查询结果
+     * 鍒锋柊瀵硅薄 鎵嬪姩鎻愪氦
+     * @return 鏌ヨ缁撴灉
      */
     public void flush(){
     	getCommonDAO().getHibernateTemplate().flush();
     }
     
     /**
-     * 清除缓存
+     * 娓呴櫎缂撳瓨
      */
     public void clearCache(){
     	getCommonDAO().getHibernateTemplate().clear();
     }
     
     /**
-     * 清除单个缓存
+     * 娓呴櫎鍗曚釜缂撳瓨
      */
     public void evict(Object obj){
     	getCommonDAO().getHibernateTemplate().evict(obj);
     }
     
     /**
-     * 保存对象
-     * @return 查询结果
+     * 淇濆瓨瀵硅薄
+     * @return 鏌ヨ缁撴灉
      */
     public Result insert(Object obj){
         this.commonDAO.save(obj);
@@ -144,8 +144,8 @@
     }
     
     /**
-     * 保存对象
-     * @return 查询结果
+     * 淇濆瓨瀵硅薄
+     * @return 鏌ヨ缁撴灉
      */
     @SuppressWarnings("rawtypes")
 	public Result saveOrUpdateAll(Collection collection){
@@ -155,10 +155,10 @@
     }
     
     /**
-     * 根据hql查询,并返回执行类型的列表结果
-     * @param hql 查询语句
-     * @param args 参数
-     * @param cls 返回类型
+     * 鏍规嵁hql鏌ヨ,骞惰繑鍥炴墽琛岀被鍨嬬殑鍒楄〃缁撴灉
+     * @param hql 鏌ヨ璇彞
+     * @param args 鍙傛暟
+     * @param cls 杩斿洖绫诲瀷
      * @return
      */
     public <T> List<T> find(String hql,List<Object> args,Class<T> cls){
@@ -166,10 +166,10 @@
     }
     
     /**
-     * 根据hql查询,并返回执行类型的列表结果
+     * 鏍规嵁hql鏌ヨ,骞惰繑鍥炴墽琛岀被鍨嬬殑鍒楄〃缁撴灉
      *
-     * @param hql 查询语句
-     * @param cls 返回类型
+     * @param hql 鏌ヨ璇彞
+     * @param cls 杩斿洖绫诲瀷
      * @return
      */
 	public int findCount(String hql, List<Object> args) {
@@ -178,17 +178,17 @@
 	
     
 	/**
-     * 保存或更新对象
+     * 淇濆瓨鎴栨洿鏂板璞�
      */
     public void deleteAll(@SuppressWarnings("rawtypes") Collection col) {
     	this.commonDAO.deleteAll(col);
     }
     
     /**
-     * 根据hql查询,并返回执行类型的唯一结果
-     * @param hql 查询语句
-     * @param args 参数
-     * @param cls 返回类型
+     * 鏍规嵁hql鏌ヨ,骞惰繑鍥炴墽琛岀被鍨嬬殑鍞竴缁撴灉
+     * @param hql 鏌ヨ璇彞
+     * @param args 鍙傛暟
+     * @param cls 杩斿洖绫诲瀷
      * @return
      */
     public <T> T findUnique(String hql,List<Object> args,Class<T> cls){
@@ -196,7 +196,7 @@
     }
 
     /**
-     * 使用sql查询结果
+     * 浣跨敤sql鏌ヨ缁撴灉
      * @param sql
      * @param args
      * @return
@@ -207,7 +207,7 @@
     }
     
     /**
-     * 使用sql查询结果
+     * 浣跨敤sql鏌ヨ缁撴灉
      * @param sql
      * @param args
      * @return
@@ -218,7 +218,7 @@
     }
     
     /**
-     * 使用sql查询结果
+     * 浣跨敤sql鏌ヨ缁撴灉
      * @param sql
      * @param args
      * @return
@@ -240,11 +240,11 @@
     }
     
     /**
-     * hql只含单一参数
+     * hql鍙惈鍗曚竴鍙傛暟
      *
-     * @param hql 查询语句
-     * @param args 参数数组
-     * @param cls 返回类型
+     * @param hql 鏌ヨ璇彞
+     * @param args 鍙傛暟鏁扮粍
+     * @param cls 杩斿洖绫诲瀷
      * @return
      */
     public Result bulkUpdateInLoop(String hql, Object args[]) {
@@ -252,7 +252,7 @@
     }
     
     /**
-     * 复杂hql
+     * 澶嶆潅hql
      * @param sql
      * @param map
      * @param cls
@@ -263,7 +263,7 @@
     }
     
     /**
-     * 复杂hql
+     * 澶嶆潅hql
      * @param sql
      * @param map
      * @param cls
@@ -274,7 +274,7 @@
     }
     
     /**
-     * 复杂hql
+     * 澶嶆潅hql
      * @param sql
      * @param map
      * @param cls
@@ -285,10 +285,10 @@
     }
     
     /**
-     * 返回个数 复杂hql
+     * 杩斿洖涓暟 澶嶆潅hql
      *
-     * @param hql 查询语句
-     * @param cls 返回类型
+     * @param hql 鏌ヨ璇彞
+     * @param cls 杩斿洖绫诲瀷
      * @return
      */
 	public int findCountByComplexHql(final String hql, final Map<String, Object> map) {
@@ -296,10 +296,10 @@
     }
 	
 	 /**
-     * 返回个数 复杂sql
+     * 杩斿洖涓暟 澶嶆潅sql
      *
-     * @param hql 查询语句
-     * @param cls 返回类型
+     * @param hql 鏌ヨ璇彞
+     * @param cls 杩斿洖绫诲瀷
      * @return
      */
 	public int findCountByComplexSql(final String hql, final Map<String, Object> map) {
@@ -307,7 +307,7 @@
     }
 	
     /**
-     * 复杂sql
+     * 澶嶆潅sql
      * @param sql
      * @param map
      * @param cls
@@ -318,7 +318,7 @@
     }
     
     /**
-     * 复杂hql
+     * 澶嶆潅hql
      * @param sql
      * @param map
      * @param cls
@@ -329,7 +329,7 @@
     }
     
     /**
-     * 根据hql查询,并返回执行类型的列表结果,列表数据为Map
+     * 鏍规嵁hql鏌ヨ,骞惰繑鍥炴墽琛岀被鍨嬬殑鍒楄〃缁撴灉锛屽垪琛ㄦ暟鎹负Map
      * @param hql
      * @param map
      * @return
@@ -339,7 +339,7 @@
     }
     
     /**
-     * 根据hql查询,并返回执行类型的列表结果,列表数据为Map
+     * 鏍规嵁hql鏌ヨ,骞惰繑鍥炴墽琛岀被鍨嬬殑鍒楄〃缁撴灉锛屽垪琛ㄦ暟鎹负Map
      * @param hql
      * @param args
      * @return
@@ -349,7 +349,7 @@
     }
     
     /**
-     * 分页查询
+     * 鍒嗛〉鏌ヨ
      * @param hql
      * @param page
      * @param args
@@ -361,7 +361,7 @@
     }
     
     /**
-     * 查询
+     * 鏌ヨ
      * @param hql
      * @param args
      * @return
@@ -372,7 +372,7 @@
 	
 
 	/**
-	 * 根据配置key查询value值 
+	 * 鏍规嵁閰嶇疆key鏌ヨvalue鍊� 
 	 * @param key
 	 * @return
 	 */
@@ -381,7 +381,7 @@
 	}
 	
 	/**
-	 * 根据字典类型查询字典内容的list
+	 * 鏍规嵁瀛楀吀绫诲瀷鏌ヨ瀛楀吀鍐呭鐨刲ist
 	 * @param dicType
 	 * @return
 	 */
diff --git a/src/main/java/com/qxueyou/scc/base/service/impl/DictionaryService.java b/src/main/java/com/qxueyou/scc/base/service/impl/DictionaryService.java
index 0d5a9a9..a8c2cb8 100644
--- a/src/main/java/com/qxueyou/scc/base/service/impl/DictionaryService.java
+++ b/src/main/java/com/qxueyou/scc/base/service/impl/DictionaryService.java
@@ -8,7 +8,7 @@
 import com.qxueyou.scc.base.util.CollectionUtils;
 
 /**
- * 配置服务,读取配置项
+ * 閰嶇疆鏈嶅姟锛岃鍙栭厤缃」
  * 
  * @author lyl
  *
diff --git a/src/main/java/com/qxueyou/scc/base/service/impl/FileUploadService.java b/src/main/java/com/qxueyou/scc/base/service/impl/FileUploadService.java
index 6a767a0..9df5e10 100644
--- a/src/main/java/com/qxueyou/scc/base/service/impl/FileUploadService.java
+++ b/src/main/java/com/qxueyou/scc/base/service/impl/FileUploadService.java
@@ -25,7 +25,7 @@
 
 
 /**
- * 所有文件上传的操作,单独到文件上传工程后,后续业务操作需要下载文件调用的方法
+ * 鎵�鏈夋枃浠朵笂浼犵殑鎿嶄綔锛屽崟鐙埌鏂囦欢涓婁紶宸ョ▼鍚庯紝鍚庣画涓氬姟鎿嶄綔闇�瑕佷笅杞芥枃浠惰皟鐢ㄧ殑鏂规硶
  * @author ody.yuan
  *
  */
@@ -53,7 +53,7 @@
 			file = ossService.getObject(key, directory);
 			return file;
 		}catch( Exception e ){
-			log.error(userId + "失败:OSS下载路径:" + key + " ;应用服务器路径:" + directory  + " ; errMsg=" + e.getMessage() , e );
+			log.error(userId + "澶辫触锛歄SS涓嬭浇璺緞锛�" + key + " ;搴旂敤鏈嶅姟鍣ㄨ矾寰勶細" + directory  + " ; errMsg=" + e.getMessage() , e );
 			return file ;
 		}
 		
@@ -66,7 +66,7 @@
 			file = ossVideoService.getObject(key, directory);
 			return file;
 		}catch( Exception e ){
-			log.error(userId + "失败:OSSVideo下载路径:" + key + " ;应用服务器路径:" + directory  + " ; errMsg=" + e.getMessage() , e );
+			log.error(userId + "澶辫触锛歄SSVideo涓嬭浇璺緞锛�" + key + " ;搴旂敤鏈嶅姟鍣ㄨ矾寰勶細" + directory  + " ; errMsg=" + e.getMessage() , e );
 			return file ;
 		}
 		
@@ -78,7 +78,7 @@
 		Boolean result = FileUtils.deleteQuietly(new File(directory));
 		
 		if( result ){
-			this.insertUploadLog(userId,"成功删除:OSS-OSSVideo0:" + directory  , module );
+			this.insertUploadLog(userId,"鎴愬姛鍒犻櫎锛歄SS-OSSVideo0锛�" + directory  , module );
 			return new Result(true);
 		}else{
 			return new Result(false);
@@ -91,11 +91,11 @@
 		Boolean result = FileUtils.deleteQuietly(file);
 		
 		if( result ){
-			this.insertUploadLog(userId,"成功删除:OSS-OSSVideo1:" + file.getAbsolutePath()  , module );
+			this.insertUploadLog(userId,"鎴愬姛鍒犻櫎锛歄SS-OSSVideo1锛�" + file.getAbsolutePath()  , module );
 			return new Result(true);
 		}else{
-			log.error(userId + "失败:OSS-OSSVideo删除本地文件1:" + file.getAbsolutePath()   );
-			this.insertUploadLog(userId,"失败删除:OSS-OSSVideo1:"  + file.getAbsolutePath()   , module );
+			log.error(userId + "澶辫触锛歄SS-OSSVideo鍒犻櫎鏈湴鏂囦欢1:" + file.getAbsolutePath()   );
+			this.insertUploadLog(userId,"澶辫触鍒犻櫎锛歄SS-OSSVideo1锛�"  + file.getAbsolutePath()   , module );
 			return new Result(false);
 		}
 		
@@ -103,9 +103,9 @@
 	}
 	
 	/**
-	 * 插入本地文件下载日志
-	 * @param content		内容
-	 * @param desp			上传模块
+	 * 鎻掑叆鏈湴鏂囦欢涓嬭浇鏃ュ織
+	 * @param content		鍐呭
+	 * @param desp			涓婁紶妯″潡
 	 * @return
 	 */
 	private Result insertUploadLog(String userId ,String content, String desp ){
@@ -126,11 +126,11 @@
 	}
 	
 	/**
-	 * 更新上传文件使用轨迹
-	 * @param fullPath 路径
+	 * 鏇存柊涓婁紶鏂囦欢浣跨敤杞ㄨ抗
+	 * @param fullPath 璺緞
 	 * @param module 
-	 * @param useFlag 使用状态
-	 * @param bussinessId 业务ID
+	 * @param useFlag 浣跨敤鐘舵��
+	 * @param bussinessId 涓氬姟ID
 	 * @return
 	 */
 	public Result updateUploadTrace(String fullPath,String module,int useFlag,String bussinessId){
@@ -147,7 +147,7 @@
 	}
 	
 	/**
-	 * 通过路径下载微信图像到服务器
+	 * 閫氳繃璺緞涓嬭浇寰俊鍥惧儚鍒版湇鍔″櫒
 	 * @return
 	 */
 	@SuppressWarnings("unused")
@@ -161,7 +161,7 @@
             HttpURLConnection conn = (HttpURLConnection)url.openConnection();  
             conn.setRequestMethod("GET");  
             conn.setConnectTimeout(5 * 1000);  
-            InputStream inStream = conn.getInputStream();//通过输入流获取图片数据  
+            InputStream inStream = conn.getInputStream();//閫氳繃杈撳叆娴佽幏鍙栧浘鐗囨暟鎹�  
             String uuid = UUIDUtils.generateUUID();
             String imgPath = "/web/res/img/user/"+uuid+"/" + openId + ".png";
 //            Result result = ossService.uplpadImage(inStream, "png", imgPath);
@@ -171,7 +171,7 @@
 //			}
         } catch (Exception e) {  
             e.printStackTrace();  
-            log.error("微信头像上传失败" + e);
+            log.error("寰俊澶村儚涓婁紶澶辫触" + e);
         }  
 		
        return null;
diff --git a/src/main/java/com/qxueyou/scc/base/service/impl/LicenseChecker.java b/src/main/java/com/qxueyou/scc/base/service/impl/LicenseChecker.java
index cd20636..3684c97 100644
--- a/src/main/java/com/qxueyou/scc/base/service/impl/LicenseChecker.java
+++ b/src/main/java/com/qxueyou/scc/base/service/impl/LicenseChecker.java
@@ -138,7 +138,7 @@
 	private void exit(String msg) {
 		log.error("license invalid:"+msg);
 		/**
-		 * 临时屏蔽
+		 * 涓存椂灞忚斀
 		 */
 //		System.exit(-1);
 	}
diff --git a/src/main/java/com/qxueyou/scc/base/service/impl/LicenseService.java b/src/main/java/com/qxueyou/scc/base/service/impl/LicenseService.java
index 8176bb7..cb66575 100644
--- a/src/main/java/com/qxueyou/scc/base/service/impl/LicenseService.java
+++ b/src/main/java/com/qxueyou/scc/base/service/impl/LicenseService.java
@@ -21,7 +21,7 @@
 	public boolean isValid() {
 		return true;
 		/**
-		 * 临时屏蔽
+		 * 涓存椂灞忚斀
 		 */
 //		if(isLicenseNull()) {
 //			return false;
@@ -32,7 +32,7 @@
 	private boolean isLicenseNull() {
 		return false;
 		/**
-		 * 临时屏蔽
+		 * 涓存椂灞忚斀
 		 */
 //		if(license==null && (license=checker.getLicense())==null) {
 //			return true;
@@ -43,9 +43,9 @@
 	@Override
 	public String getCustomerName() {
 		/**
-		 * 临时屏蔽
+		 * 涓存椂灞忚斀
 		 */
-		return "开发公司";
+		return "寮�鍙戝叕鍙�";
 //		if(isLicenseNull()) {
 //			return null;
 //		}
@@ -55,9 +55,9 @@
 	@Override
 	public String getProductName() {
 		/**
-		 * 临时屏蔽
+		 * 涓存椂灞忚斀
 		 */
-		return "开发产品";
+		return "寮�鍙戜骇鍝�";
 //		if(isLicenseNull()) {
 //			return null;
 //		}
diff --git a/src/main/java/com/qxueyou/scc/base/service/impl/ONSExceptionLogService.java b/src/main/java/com/qxueyou/scc/base/service/impl/ONSExceptionLogService.java
index 0610cde..9363955 100644
--- a/src/main/java/com/qxueyou/scc/base/service/impl/ONSExceptionLogService.java
+++ b/src/main/java/com/qxueyou/scc/base/service/impl/ONSExceptionLogService.java
@@ -13,7 +13,7 @@
 import com.qxueyou.scc.sys.service.ISysLogService;
 
 /**
- * ONS严格异常处理,消息处理都捕获Exception,并且不抛出,将异常存入表中
+ * ONS涓ユ牸寮傚父澶勭悊锛屾秷鎭鐞嗛兘鎹曡幏Exception锛屽苟涓斾笉鎶涘嚭锛屽皢寮傚父瀛樺叆琛ㄤ腑
  * @author ody.yuan
  *
  */
@@ -27,7 +27,7 @@
 	@Transactional(propagation=Propagation.REQUIRES_NEW)
 	public Result logSaveExceptionLog(String topic, String msgType,String businessId ,String desp ) {
 		
-		// 处理长度
+		// 澶勭悊闀垮害
 		String currTopic = null == topic ? "" : topic ;
 		String currDesp = StringUtils.isNotBlank(desp) && desp.length() > 125 ? desp.substring(0,125) : desp ;
 		
diff --git a/src/main/java/com/qxueyou/scc/base/service/impl/RedisCacheBean.java b/src/main/java/com/qxueyou/scc/base/service/impl/RedisCacheBean.java
index eaec772..9669bbe 100644
--- a/src/main/java/com/qxueyou/scc/base/service/impl/RedisCacheBean.java
+++ b/src/main/java/com/qxueyou/scc/base/service/impl/RedisCacheBean.java
@@ -22,9 +22,9 @@
 import javax.annotation.Resource;
 
 /**
- * 阿里云OCS缓存服务
+ * 闃块噷浜慜CS缂撳瓨鏈嶅姟
  *
- * @author 德虎
+ * @author 寰疯檸
  *
  */
 @Service
diff --git a/src/main/java/com/qxueyou/scc/base/util/AESUtil.java b/src/main/java/com/qxueyou/scc/base/util/AESUtil.java
index 5190f97..f79f43f 100644
--- a/src/main/java/com/qxueyou/scc/base/util/AESUtil.java
+++ b/src/main/java/com/qxueyou/scc/base/util/AESUtil.java
@@ -50,7 +50,7 @@
 	}
 
 	/**
-	 * 将16进制转换为二进制
+	 * 灏�16杩涘埗杞崲涓轰簩杩涘埗
 	 * 
 	 * @param hexStr
 	 * @return
@@ -69,7 +69,7 @@
 	}
 
 	/**
-	 * 将二进制转换成16进制
+	 * 灏嗕簩杩涘埗杞崲鎴�16杩涘埗
 	 * 
 	 * @param buf
 	 * @return
@@ -87,7 +87,7 @@
 	}
 	
 	/**
-	 * AES解密
+	 * AES瑙e瘑
 	 */
 	public static String decode(String aesKey, String encryptText) {
 		try {
diff --git a/src/main/java/com/qxueyou/scc/base/util/Base64Utils.java b/src/main/java/com/qxueyou/scc/base/util/Base64Utils.java
index 7ae18e8..b74db77 100644
--- a/src/main/java/com/qxueyou/scc/base/util/Base64Utils.java
+++ b/src/main/java/com/qxueyou/scc/base/util/Base64Utils.java
@@ -9,7 +9,7 @@
     private static final String UTF8 = "utf-8";  
   
     /** 
-     * BASE64编码
+     * BASE64缂栫爜
      * @param src 
      * @return 
      * @throws Exception 
@@ -20,7 +20,7 @@
     }  
       
     /** 
-     * BASE64解码
+     * BASE64瑙g爜
      * @param dest 
      * @return 
      * @throws Exception 
diff --git a/src/main/java/com/qxueyou/scc/base/util/ClientUtils.java b/src/main/java/com/qxueyou/scc/base/util/ClientUtils.java
index b633fbf..0fadbd9 100644
--- a/src/main/java/com/qxueyou/scc/base/util/ClientUtils.java
+++ b/src/main/java/com/qxueyou/scc/base/util/ClientUtils.java
@@ -32,21 +32,21 @@
 
 
 /**
- * 客户端信息处理工具类
- * @author 德虎 2014-12-29
+ * 瀹㈡埛绔俊鎭鐞嗗伐鍏风被
+ * @author 寰疯檸 2014-12-29
  *
  */
 public final class ClientUtils {
 
 	/*
-	 * 线程变量: 用户信息
+	 * 绾跨▼鍙橀噺: 鐢ㄦ埛淇℃伅
 	 */
 	private static ThreadLocal<UserInfoWrapper> threadLocalUserInfo = new ThreadLocal<UserInfoWrapper>();
 	private static UserInfoWrapper wrapper = threadLocalUserInfo.get();
 
 	private static RedisTemplate redisTemplate = (RedisTemplate)SpringContextHolder.getBean("redisTemplate");
 
-	/** 得到用户信息*/
+	/** 寰楀埌鐢ㄦ埛淇℃伅*/
 	public static UserInfoWrapper getUserInfo() {
 //		UserInfoWrapper wrapper = threadLocalUserInfo.get();
 //		if(wrapper == null) {
@@ -54,7 +54,7 @@
 		if (wrapper == null) {
 			wrapper = new UserInfoWrapper();
 			User user = new User();
-			//默认值,上传可以作为默认上传者
+			//榛樿鍊硷紝涓婁紶鍙互浣滀负榛樿涓婁紶鑰�
 			user.setUserId(Constants.VISITOR_USER_ID);
 			user.setName(Constants.VISITOR_USER_ID);
 			wrapper.setUser(user);
@@ -69,13 +69,13 @@
 	}
 
 
-	/** 设置用户信息*/
+	/** 璁剧疆鐢ㄦ埛淇℃伅*/
 	public static void setUserInfo(UserInfoWrapper wrapper) {
 		threadLocalUserInfo.remove();
 		threadLocalUserInfo.set(wrapper);
 	}
 
-	/** 得到userId*/
+	/** 寰楀埌userId*/
 	public static String getUserId(){
 		HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
 		HttpSession session = request.getSession();
@@ -86,7 +86,7 @@
 		return info;
 	}
 
-	/** 得到userName*/
+	/** 寰楀埌userName*/
 	public static String getUserName(){
 		HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
 		HttpSession session = request.getSession();
@@ -97,23 +97,23 @@
 		return info;
 	}
 
-	/** 得到用户头像*/
+	/** 寰楀埌鐢ㄦ埛澶村儚*/
 	public static String getUserImg(){
 		return getUserInfo().getInfo(UserInfoWrapper.INF_USER_HEAD_IMG);
 //		return session.getAttribute();
 	}
 
-	/** 得到手机号*/
+	/** 寰楀埌鎵嬫満鍙�*/
 	public static String getUserMobilePhone(){
 		return getUserInfo().getInfo(UserInfoWrapper.INF_USER_MOBILE_PHONE);
 	}
 
-	/** 得到帐号*/
+	/** 寰楀埌甯愬彿*/
 	public static String getUserAccount(){
 		return getUserInfo().getInfo(UserInfoWrapper.INF_USER_ACCOUNT);
 	}
 
-	/** 得到classId*/
+	/** 寰楀埌classId*/
 	public static String getClassId(){
 		HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
 		HttpSession session = request.getSession();
@@ -125,7 +125,7 @@
 //		return getUserInfo().getInfo(UserInfoWrapper.);
 	}
 
-	/** 得到className*/
+	/** 寰楀埌className*/
 	public static String getClassName(){
 		HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
 		HttpSession session = request.getSession();
@@ -143,73 +143,73 @@
 		return getUserInfo().getInfo(UserInfoWrapper.INF_CLASS_CHARGER);
 	}
 
-	/** 得到科目ID*/
+	/** 寰楀埌绉戠洰ID*/
 	public static String getCourseId(){
 		return getUserInfo().getInfo(UserInfoWrapper.INF_COURSE_ID);
 	}
 
-	/** 得到科目Name*/
+	/** 寰楀埌绉戠洰Name*/
 	public static String getCourseName(){
 		return getUserInfo().getInfo(UserInfoWrapper.INF_COURSE_NAME);
 	}
 
-	/** 得到机构ID*/
+	/** 寰楀埌鏈烘瀯ID*/
 	public static String getOrgId(){
 		return "1";
 	}
 
-	/** 得到最上层机构ID*/
+	/** 寰楀埌鏈�涓婂眰鏈烘瀯ID*/
 	public static String getTopOrgId(){
 		return getUserInfo().getInfo(UserInfoWrapper.INF_TOP_ORG_ID);
 	}
 
-	/** 得到机构CODE*/
+	/** 寰楀埌鏈烘瀯CODE*/
 	public static String getOrgCode(){
 		return getUserInfo().getInfo(UserInfoWrapper.INF_ORG_CODE);
 	}
 
-	/** 得到机构NAME*/
+	/** 寰楀埌鏈烘瀯NAME*/
 	public static String getOrgName(){
 		return getUserInfo().getInfo(UserInfoWrapper.INF_ORG_NAME);
 	}
 
-	/** 得到机构SHORTNAME*/
+	/** 寰楀埌鏈烘瀯SHORTNAME*/
 	public static String getOrgShortName(){
 		return getUserInfo().getInfo(UserInfoWrapper.INF_ORG_SHORT_NAME);
 	}
 
-	/** 得到机构LOGO*/
+	/** 寰楀埌鏈烘瀯LOGO*/
 	public static String getOrgLogoPath(){
 		return getUserInfo().getInfo(UserInfoWrapper.INF_ORG_LOGO_PATH);
 	}
 
-	/** 得到当前角色*/
+	/** 寰楀埌褰撳墠瑙掕壊*/
 	public static String getCurrentRole(){
 		return getUserInfo().getCurrentRole();
 	}
 
 
-	/** 得到当前角色编码*/
+	/** 寰楀埌褰撳墠瑙掕壊缂栫爜*/
 	public static String getCurrentRoleEName(){
 		return getUserInfo().getInfo(UserInfoWrapper.INF_ROLE_ENAME);
 	}
 
-	/** 得到当前角色ID*/
+	/** 寰楀埌褰撳墠瑙掕壊ID*/
 	public static String getCurrentRoleId(){
 		return getUserInfo().getCurrentRoleId();
 	}
 
-	/** 得到当前角色值*/
+	/** 寰楀埌褰撳墠瑙掕壊鍊�*/
 	public static String getCurrentRoleValue(){
 		return getUserInfo().getCurrentRoleValue();
 	}
 
-	/** 得到当前角色信息*/
+	/** 寰楀埌褰撳墠瑙掕壊淇℃伅*/
 	public static List<Map<String,Object>> getRoleInfo(String role){
 		return getUserInfo().getRoleInfo(role);
 	}
 
-	/** 获取当前就是 菜单信息*/
+	/** 鑾峰彇褰撳墠灏辨槸 鑿滃崟淇℃伅*/
 	public static List<SysMenu> getMenuInfo(){
 		return getUserInfo().getMenus();
 	}
@@ -219,18 +219,18 @@
 		return getUserInfo().getButtonPrivilegeEdit();
 	}
 
-	/** 当前登录IP*/
+	/** 褰撳墠鐧诲綍IP*/
 	public static String getCurrentLoginIp(){
 		return getUserInfo().getCurrentLoginIp();
 	}
 
 	/**
-	 * 获取用户基本信息
+	 * 鑾峰彇鐢ㄦ埛鍩烘湰淇℃伅
 	 * @return
 	 */
 	public static ResponseResult getUserBaseInfo(User user){
 		ResponseResult userInfo = new ResponseResult();
-		// 用户
+		// 鐢ㄦ埛
 		userInfo.setUserId(user.getUserId());
 		userInfo.setUserName(user.getName());
 		userInfo.setImgPath(StringUtils.isNotBlank(user.getImgPath()) ? user.getImgPath() : FilePathConstants.USER_DEFAULT_IMG );
@@ -239,7 +239,7 @@
 	}
 
 	/**
-	 * 是否为管理员
+	 * 鏄惁涓虹鐞嗗憳
 	 * @return
 	 */
 	public static boolean isAdmin(){
diff --git a/src/main/java/com/qxueyou/scc/base/util/CollectionUtils.java b/src/main/java/com/qxueyou/scc/base/util/CollectionUtils.java
index 213f010..2b07739 100644
--- a/src/main/java/com/qxueyou/scc/base/util/CollectionUtils.java
+++ b/src/main/java/com/qxueyou/scc/base/util/CollectionUtils.java
@@ -8,7 +8,7 @@
 public final class CollectionUtils {
 
 	/**
-	 * 构造list
+	 * 鏋勯�爈ist
 	 * @param objs
 	 * @return
 	 */
@@ -23,7 +23,7 @@
 	}
 	
 	/**
-	 * 构造list
+	 * 鏋勯�爈ist
 	 * @param objs
 	 * @return
 	 */
@@ -39,8 +39,8 @@
 	}
 	
 	/**
-	 * 构造Map
-	 * @param objs 数组串
+	 * 鏋勯�燤ap
+	 * @param objs 鏁扮粍涓�
 	 * @return
 	 */
 	public static Map<String,String> newStringMap(String... objs){
@@ -64,8 +64,8 @@
 	}
 	
 	/**
-	 * 构造Map
-	 * @param objs 数组串
+	 * 鏋勯�燤ap
+	 * @param objs 鏁扮粍涓�
 	 * @return
 	 */
 	public static Map<String,Object> newObjectMap(Object... objs){
diff --git a/src/main/java/com/qxueyou/scc/base/util/CommonUtils.java b/src/main/java/com/qxueyou/scc/base/util/CommonUtils.java
index ddbde55..cc11146 100644
--- a/src/main/java/com/qxueyou/scc/base/util/CommonUtils.java
+++ b/src/main/java/com/qxueyou/scc/base/util/CommonUtils.java
@@ -13,16 +13,16 @@
 import com.qxueyou.scc.exercise.model.ExerciseItemAnswerU;
 
 public class CommonUtils {
-	/** 一位小数 */
+	/** 涓�浣嶅皬鏁� */
 	public static final String PARTEN_ONE = "#.#";
-	/** 二位小数 */
+	/** 浜屼綅灏忔暟 */
 	public static final String PARTEN_TWO = "#.##";
 	
-	//地球半径
+	//鍦扮悆鍗婂緞
 	private static final double EARTH_RADIUS = 6378.137;
 	
 	/**
-	 * 答案显示图形颜色 自定义
+	 * 绛旀鏄剧ず鍥惧舰棰滆壊 鑷畾涔�
 	 * @return
 	 */
 	public static String[] getColors(){
@@ -32,7 +32,7 @@
 	}
 	
 	/**
-	 * 课程表显示图形颜色 自定义
+	 * 璇剧▼琛ㄦ樉绀哄浘褰㈤鑹� 鑷畾涔�
 	 * @return
 	 */
 	public static String[] getRGBColors(){
@@ -43,7 +43,7 @@
 	}
 	
 	/**
-	 * 换算为2位小数
+	 * 鎹㈢畻涓�2浣嶅皬鏁�
 	 * @return
 	 */
 	public static String formatDecimalFormat(Object obj, String parten){
@@ -52,7 +52,7 @@
 	}
 	
 	/**
-	 * 删除字符最后的符号
+	 * 鍒犻櫎瀛楃鏈�鍚庣殑绗﹀彿
 	 * @return
 	 */
 	public static String removeStrLastComma(String string){
@@ -70,7 +70,7 @@
 	}
 	
 	/**
-	 * 转换答案值 0,1,2
+	 * 杞崲绛旀鍊� 0,1,2
 	 * @param correct
 	 * @return
 	 */
@@ -78,18 +78,18 @@
 		byte value;
 		
 		if("true".equals(correct)){
-			value=ExerciseItemAnswerU.CORRECT_RIGHT;//正确
+			value=ExerciseItemAnswerU.CORRECT_RIGHT;//姝g‘
 		}else if("false".equals(correct)){
-			value=ExerciseItemAnswerU.CORRECT_ERROR;//错误
+			value=ExerciseItemAnswerU.CORRECT_ERROR;//閿欒
 		}else{
-			value=7;//未知
+			value=7;//鏈煡
 		}
 		
 		return value;
 	}
 	
 	/**
-	 *   // 进行加法运算
+	 *   // 杩涜鍔犳硶杩愮畻
 	 * @param d1
 	 * @param d2
 	 * @return
@@ -102,7 +102,7 @@
 	}
 	
 	/**
-	 * // 进行减法运算
+	 * // 杩涜鍑忔硶杩愮畻
 	 * @param d1
 	 * @param d2
 	 * @return
@@ -115,7 +115,7 @@
     }
     
     /**
-     * // 进行乘法运算
+     * // 杩涜涔樻硶杩愮畻
      * @param d1
      * @param d2
      * @return
@@ -128,12 +128,12 @@
 	}
 	
 	 /**
-     * // 进行除法运算 四舍五入
+     * // 杩涜闄ゆ硶杩愮畻 鍥涜垗浜斿叆
      * @param d1
      * @param d2
      * @return
      */
-	public static double divide(double d1,double d2,int len) {// 进行除法运算
+	public static double divide(double d1,double d2,int len) {// 杩涜闄ゆ硶杩愮畻
         BigDecimal b1 = new BigDecimal(String.valueOf(d1));
         BigDecimal b2 = new BigDecimal(String.valueOf(d2));
         
@@ -141,12 +141,12 @@
 	}
 	
 	 /**
-     * // 进行除法运算 四舍五入
+     * // 杩涜闄ゆ硶杩愮畻 鍥涜垗浜斿叆
      * @param d1
      * @param d2
      * @return
      */
-	public static double divide(String d1,String d2,int len) {// 进行除法运算
+	public static double divide(String d1,String d2,int len) {// 杩涜闄ゆ硶杩愮畻
         BigDecimal b1 = new BigDecimal(d1);
         BigDecimal b2 = new BigDecimal(d2);
         
@@ -155,12 +155,12 @@
 	
 	
 	 /**
-     * // 进行除法运算 四舍五入
+     * // 杩涜闄ゆ硶杩愮畻 鍥涜垗浜斿叆
      * @param d1
      * @param d2
      * @return
      */
-	public static BigDecimal divide(BigDecimal b1,BigDecimal b2,int len) {// 进行除法运算
+	public static BigDecimal divide(BigDecimal b1,BigDecimal b2,int len) {// 杩涜闄ゆ硶杩愮畻
         
         return b1.divide(b2, new MathContext(len));
 	}
@@ -169,7 +169,7 @@
 	}
 	/*
 	 * 
-	 * 按指定长度截取源字符串,若源字符串不大于指定长度,则原样返回
+	 * 鎸夋寚瀹氶暱搴︽埅鍙栨簮瀛楃涓诧紝鑻ユ簮瀛楃涓蹭笉澶т簬鎸囧畾闀垮害锛屽垯鍘熸牱杩斿洖
 	 */
 	public static String cutString(String res, Integer length, String suffix) {
 		if (StringUtils.isEmpty(res)) {
@@ -182,7 +182,7 @@
 	}
 	
 	/**
-     * 生成流水号 :  module+时间戳 + 5位随机数,长度20位
+     * 鐢熸垚娴佹按鍙� 锛�  module+鏃堕棿鎴� + 5浣嶉殢鏈烘暟锛岄暱搴�20浣�
      */
     public static String generateNo(String module){
     	
@@ -198,7 +198,7 @@
     }
 	
 	/**
-	 * 计算单位数字
+	 * 璁$畻鍗曚綅鏁板瓧
 	 * 
 	 * @param number
 	 * @return
@@ -209,27 +209,27 @@
 			return "0";
 		}
 		
-		if(number.compareTo(new BigInteger("10000")) < 0){// 小于1万
+		if(number.compareTo(new BigInteger("10000")) < 0){// 灏忎簬1涓�
 			return String.valueOf(number);
 		}
 		
 		if(number.compareTo(new BigInteger("10000")) >= 0 
-				&& number.compareTo(new BigInteger("100000000")) < 0){// 大于1万 小于一亿    前进1位为1.2万
+				&& number.compareTo(new BigInteger("100000000")) < 0){// 澶т簬1涓� 灏忎簬涓�浜�    鍓嶈繘1浣嶄负1.2涓�
 			
-			return Math.ceil(number.doubleValue()/1000)/10 + "万";
+			return Math.ceil(number.doubleValue()/1000)/10 + "涓�";
 			
 		}
 		
-		if(number.compareTo(new BigInteger("100000000")) >= 0){// 大于一亿    前进1位为1.2亿
+		if(number.compareTo(new BigInteger("100000000")) >= 0){// 澶т簬涓�浜�    鍓嶈繘1浣嶄负1.2浜�
 			
-			return Math.ceil(number.doubleValue()/1000000)/10 + "亿";
+			return Math.ceil(number.doubleValue()/1000000)/10 + "浜�";
 		}
 		
 		return "0";
 	}
 	
 	/**
-	 * 格式化文本
+	 * 鏍煎紡鍖栨枃鏈�
 	 * @param str
 	 * @return
 	 */
@@ -246,7 +246,7 @@
         return d * Math.PI / 180.0;
     }
 
-    //获取两个坐标距离
+    //鑾峰彇涓や釜鍧愭爣璺濈
     public static double GetDistance(double long1, double lat1, double long2, double lat2) {
         double a, b, d, sa2, sb2;
         double latA = rad(lat1);
@@ -263,7 +263,7 @@
     }
     
     /**
-	 * 银行卡验证
+	 * 閾惰鍗¢獙璇�
 	 * 
 	 * @param cardNo
 	 * @return
@@ -273,7 +273,7 @@
 	}
 	
 	/**
-	 * ftl-返回错误信息页面
+	 * ftl-杩斿洖閿欒淇℃伅椤甸潰
 	 * @param mv
 	 * @param msg
 	 * @return
@@ -284,7 +284,7 @@
 		return mv;
 	}
 	
-	/** 得到classId*/
+	/** 寰楀埌classId*/
 	public static String getClassId(String classId){
 		return StringUtils.isEmpty(classId)?(StringUtils.isEmpty(ClientUtils.getClassId())?StringUtils.EMPTY:ClientUtils.getClassId()):classId;
 	}
diff --git a/src/main/java/com/qxueyou/scc/base/util/DateTimeFormatUtils.java b/src/main/java/com/qxueyou/scc/base/util/DateTimeFormatUtils.java
index 1647b3f..9dc3d99 100644
--- a/src/main/java/com/qxueyou/scc/base/util/DateTimeFormatUtils.java
+++ b/src/main/java/com/qxueyou/scc/base/util/DateTimeFormatUtils.java
@@ -7,11 +7,11 @@
 import org.apache.commons.lang3.StringUtils;
 
 /**
- * 提供日期或者是时间格式化处理工具类。
+ * 鎻愪緵鏃ユ湡鎴栬�呮槸鏃堕棿鏍煎紡鍖栧鐞嗗伐鍏风被銆�
  *
- * @author 邓志永
+ * @author 閭撳織姘�
  * @since JDK1.6
- * @history 2014-11-28 邓志永 新建
+ * @history 2014-11-28 閭撳織姘� 鏂板缓
  */
 public final class DateTimeFormatUtils {
     /** ISO_DATETIME_FORMAT*/
@@ -27,24 +27,24 @@
     }
 
     /**
-     * 根据配置的默认日期时间格式来获取指定的对象的字符串信息。
+     * 鏍规嵁閰嶇疆鐨勯粯璁ゆ棩鏈熸椂闂存牸寮忔潵鑾峰彇鎸囧畾鐨勫璞$殑瀛楃涓蹭俊鎭��
      *
      * @param value
-     *            需要被转换的日期时间对象引用。
-     * @return 返回的是格式化后的字符串。
+     *            闇�瑕佽杞崲鐨勬棩鏈熸椂闂村璞″紩鐢ㄣ��
+     * @return 杩斿洖鐨勬槸鏍煎紡鍖栧悗鐨勫瓧绗︿覆銆�
      */
     public static String formatDateTime(Timestamp value) {
         return formatDateTime(value, ISO_DATETIME_FORMAT);
     }
 
     /**
-     * 根据配置的默认日期时间格式来获取指定的对象的字符串信息。
+     * 鏍规嵁閰嶇疆鐨勯粯璁ゆ棩鏈熸椂闂存牸寮忔潵鑾峰彇鎸囧畾鐨勫璞$殑瀛楃涓蹭俊鎭��
      *
      * @param value
-     *            需要被转换的日期时间对象引用。
+     *            闇�瑕佽杞崲鐨勬棩鏈熸椂闂村璞″紩鐢ㄣ��
      * @param defaultFormat
-     *            按照指定的格式来处理当前的日期时间对象。
-     * @return 返回的是格式化后的字符串。
+     *            鎸夌収鎸囧畾鐨勬牸寮忔潵澶勭悊褰撳墠鐨勬棩鏈熸椂闂村璞°��
+     * @return 杩斿洖鐨勬槸鏍煎紡鍖栧悗鐨勫瓧绗︿覆銆�
      */
     public static String formatDateTime(Timestamp value, String defaultFormat) {
         if (value == null) {
diff --git a/src/main/java/com/qxueyou/scc/base/util/DateTimeUtils.java b/src/main/java/com/qxueyou/scc/base/util/DateTimeUtils.java
index efe7145..4ac91eb 100644
--- a/src/main/java/com/qxueyou/scc/base/util/DateTimeUtils.java
+++ b/src/main/java/com/qxueyou/scc/base/util/DateTimeUtils.java
@@ -16,16 +16,16 @@
 import org.apache.commons.lang3.StringUtils;
 
 /**
- * 扩展有关日期工具类的方法。
+ * 鎵╁睍鏈夊叧鏃ユ湡宸ュ叿绫荤殑鏂规硶銆�
  *
- * @author 邓志永
+ * @author 閭撳織姘�
  * @since JDK1.6
- * @history 2014-11-28 邓志永 新建
+ * @history 2014-11-28 閭撳織姘� 鏂板缓
  */
 public class DateTimeUtils {
 
 	/**
-	 * 设置 UTC time zone (often referred to as GMT)区域.
+	 * 璁剧疆 UTC time zone (often referred to as GMT)鍖哄煙.
 	 */
 	public static final TimeZone UTC_TIME_ZONE = TimeZone.getTimeZone("GMT");
 
@@ -35,22 +35,22 @@
 	public final static int YEAR_RANGE_SCOPE = 4;
 
 	/**
-	 * 设置毫秒和秒之间的对应关系
+	 * 璁剧疆姣鍜岀涔嬮棿鐨勫搴斿叧绯�
 	 */
 	public static final long MILLIS_PER_SECOND = 1000;
 
 	/**
-	 * 设置毫秒和分之间的关系.
+	 * 璁剧疆姣鍜屽垎涔嬮棿鐨勫叧绯�.
 	 */
 	public static final long MILLIS_PER_MINUTE = 60 * MILLIS_PER_SECOND;
 
 	/**
-	 * 设置毫秒和分之间的约束关系。
+	 * 璁剧疆姣鍜屽垎涔嬮棿鐨勭害鏉熷叧绯汇��
 	 */
 	public static final long MILLIS_PER_HOUR = 60 * MILLIS_PER_MINUTE;
 
 	/**
-	 * 设置一天为多少小时.
+	 * 璁剧疆涓�澶╀负澶氬皯灏忔椂.
 	 */
 	public static final long MILLIS_PER_DAY = 24 * MILLIS_PER_HOUR;
 
@@ -114,24 +114,24 @@
 
 	
 	/**
-	 * 根据配置的默认日期时间格式来获取指定的对象的字符串信息。
+	 * 鏍规嵁閰嶇疆鐨勯粯璁ゆ棩鏈熸椂闂存牸寮忔潵鑾峰彇鎸囧畾鐨勫璞$殑瀛楃涓蹭俊鎭��
 	 *
 	 * @param value
-	 *            需要被转换的日期时间对象引用。
-	 * @return 返回的是格式化后的字符串。
+	 *            闇�瑕佽杞崲鐨勬棩鏈熸椂闂村璞″紩鐢ㄣ��
+	 * @return 杩斿洖鐨勬槸鏍煎紡鍖栧悗鐨勫瓧绗︿覆銆�
 	 */
 	public static String formatDateTime(Timestamp value) {
 		return formatDateTime(value, ISO_DATETIME_FORMAT);
 	}
 
 	/**
-	 * 根据配置的默认日期时间格式来获取指定的对象的字符串信息。
+	 * 鏍规嵁閰嶇疆鐨勯粯璁ゆ棩鏈熸椂闂存牸寮忔潵鑾峰彇鎸囧畾鐨勫璞$殑瀛楃涓蹭俊鎭��
 	 *
 	 * @param value
-	 *            需要被转换的日期时间对象引用。
+	 *            闇�瑕佽杞崲鐨勬棩鏈熸椂闂村璞″紩鐢ㄣ��
 	 * @param defaultFormat
-	 *            按照指定的格式来处理当前的日期时间对象。
-	 * @return 返回的是格式化后的字符串。
+	 *            鎸夌収鎸囧畾鐨勬牸寮忔潵澶勭悊褰撳墠鐨勬棩鏈熸椂闂村璞°��
+	 * @return 杩斿洖鐨勬槸鏍煎紡鍖栧悗鐨勫瓧绗︿覆銆�
 	 */
 	public static String formatDateTime(Timestamp value, String defaultFormat) {
 		if (value == null) {
@@ -212,13 +212,13 @@
 	}
 
 	/**
-	 * 确定两个日期是否是同一天
+	 * 纭畾涓や釜鏃ユ湡鏄惁鏄悓涓�澶�
 	 *
 	 * @param dateSource
-	 *            需要执行判断的第一个日期时间
+	 *            闇�瑕佹墽琛屽垽鏂殑绗竴涓棩鏈熸椂闂�
 	 * @param dateDesti
-	 *            需要执行的第二个日期时间。
-	 * @return true 如果两个日期都代表了同一天,那么将会返回true。
+	 *            闇�瑕佹墽琛岀殑绗簩涓棩鏈熸椂闂淬��
+	 * @return true 濡傛灉涓や釜鏃ユ湡閮戒唬琛ㄤ簡鍚屼竴澶╋紝閭d箞灏嗕細杩斿洖true銆�
 	 */
 	public static boolean isSameDay(Date dateSource, Date dateDesti) {
 		if (dateSource == null || dateDesti == null) {
@@ -457,7 +457,7 @@
 			date.setTime(time);
 			val.setTime(date);
 		}
-		//子方法
+		//瀛愭柟娉�
 		modifyChild(val, field, round);
 		
 		throw new IllegalArgumentException("The field " + field + " is not supported");
@@ -516,10 +516,10 @@
 	}
 
 	/**
-	 * 得到指定周的第一天(周日)00:00:00秒,返回对应的Timestamp,可以用作时间区间的计算
+	 * 寰楀埌鎸囧畾鍛ㄧ殑绗竴澶�(鍛ㄦ棩)00:00:00绉掞紝杩斿洖瀵瑰簲鐨凾imestamp锛屽彲浠ョ敤浣滄椂闂村尯闂寸殑璁$畻
 	 *
 	 * @param cal
-	 *            Calendar对象,如果为null,则使用本地JVM中的Calendar对象
+	 *            Calendar瀵硅薄锛屽鏋滀负null锛屽垯浣跨敤鏈湴JVM涓殑Calendar瀵硅薄
 	 * @param week
 	 * @return
 	 */
@@ -537,10 +537,10 @@
 	}
 
 	/**
-	 * 得到指定周的最后一天(周日)23:23:59秒,返回对应的Timestamp,可以用作时间区间的计算
+	 * 寰楀埌鎸囧畾鍛ㄧ殑鏈�鍚庝竴澶�(鍛ㄦ棩)23:23:59绉掞紝杩斿洖瀵瑰簲鐨凾imestamp锛屽彲浠ョ敤浣滄椂闂村尯闂寸殑璁$畻
 	 *
 	 * @param cal
-	 *            Calendar对象,如果为null,则使用本地JVM中的Calendar对象
+	 *            Calendar瀵硅薄锛屽鏋滀负null锛屽垯浣跨敤鏈湴JVM涓殑Calendar瀵硅薄
 	 * @param week
 	 * @return
 	 */
@@ -558,10 +558,10 @@
 	}
 
 	/**
-	 * 得到当前周在一年中的周数
+	 * 寰楀埌褰撳墠鍛ㄥ湪涓�骞翠腑鐨勫懆鏁�
 	 *
 	 * @param cal
-	 *            Calendar对象,如果为null,则使用本地JVM中的Calendar对象
+	 *            Calendar瀵硅薄锛屽鏋滀负null锛屽垯浣跨敤鏈湴JVM涓殑Calendar瀵硅薄
 	 * @return
 	 */
 	public static int getCurrentWeek() {
@@ -570,10 +570,10 @@
 	}
 
 	/**
-	 * 得到当前周在一年中的周数
+	 * 寰楀埌褰撳墠鍛ㄥ湪涓�骞翠腑鐨勫懆鏁�
 	 *
 	 * @param cal
-	 *            Calendar对象,如果为null,则使用本地JVM中的Calendar对象
+	 *            Calendar瀵硅薄锛屽鏋滀负null锛屽垯浣跨敤鏈湴JVM涓殑Calendar瀵硅薄
 	 * @return
 	 */
 	public static int getCurrentWeek(Calendar calen) {
@@ -596,13 +596,13 @@
 	}
 
 	/**
-	 * 得到指定Timestamp代表的日期第一年中第几周
+	 * 寰楀埌鎸囧畾Timestamp浠h〃鐨勬棩鏈熺涓�骞翠腑绗嚑鍛�
 	 *
 	 * @param cal
-	 *            Calendar对象,如果为null,则使用本地JVM中的Calendar对象
+	 *            Calendar瀵硅薄锛屽鏋滀负null锛屽垯浣跨敤鏈湴JVM涓殑Calendar瀵硅薄
 	 * @param ts
-	 *            指定Timestamp
-	 * @return 周数
+	 *            鎸囧畾Timestamp
+	 * @return 鍛ㄦ暟
 	 */
 	public static int getWeekOfYear(Calendar cale, Timestamp ts) {
 		Calendar cal =cale;
@@ -614,9 +614,9 @@
 	}
 
 	/**
-	 * 得到当前年份
+	 * 寰楀埌褰撳墠骞翠唤
 	 *
-	 * @return 年
+	 * @return 骞�
 	 */
 	public static int getCurrentYear() {
 		Calendar calendar = new GregorianCalendar();
@@ -631,9 +631,9 @@
 	}
 
 	/**
-	 * 得到当前月份
+	 * 寰楀埌褰撳墠鏈堜唤
 	 *
-	 * @return 月份
+	 * @return 鏈堜唤
 	 */
 	public static int getCurrentMonth() {
 		Calendar calendar = new GregorianCalendar();
@@ -654,7 +654,7 @@
 	}
 
 	/**
-	 * 获取指定时间的前后多少天的日期以分秒
+	 * 鑾峰彇鎸囧畾鏃堕棿鐨勫墠鍚庡灏戝ぉ鐨勬棩鏈熶互鍒嗙
 	 */
 	public static Timestamp getTimestamp(Timestamp timestamp, int day, int hour, int minute) {
 		Calendar calendar = new GregorianCalendar();
@@ -670,15 +670,15 @@
 	}
 
 	/**
-	 * 给出两个日期,计算他们之间相差的年数|月数|天数
+	 * 缁欏嚭涓や釜鏃ユ湡锛岃绠椾粬浠箣闂寸浉宸殑骞存暟|鏈堟暟|澶╂暟
 	 *
 	 * @param c1
-	 *            日期1
+	 *            鏃ユ湡1
 	 * @param c2
-	 *            日期2
+	 *            鏃ユ湡2
 	 * @param what
-	 *            比较模式,如果是Calendar.YEAR则在年份上比较; 如果是Calendar.MONTH则在月数上比较; 如果是Calendar.DATE则在天数上比较(默认情形)
-	 * @return 相差的年数或月数或天数
+	 *            姣旇緝妯″紡锛屽鏋滄槸Calendar.YEAR鍒欏湪骞翠唤涓婃瘮杈冿紱 濡傛灉鏄疌alendar.MONTH鍒欏湪鏈堟暟涓婃瘮杈冿紱 濡傛灉鏄疌alendar.DATE鍒欏湪澶╂暟涓婃瘮杈冿紙榛樿鎯呭舰锛�
+	 * @return 鐩稿樊鐨勫勾鏁版垨鏈堟暟鎴栧ぉ鏁�
 	 */
 	public static int compare(Calendar c1, Calendar c2, int what) {
 		int number = 0;
@@ -701,41 +701,41 @@
 	}
 
 	/*
-	 * 得到指定日期的所在年份的最后一天
+	 * 寰楀埌鎸囧畾鏃ユ湡鐨勬墍鍦ㄥ勾浠界殑鏈�鍚庝竴澶�
 	 */
 	public static Timestamp getLastOfYear(Timestamp t1) {
 		Calendar a = new GregorianCalendar();
 		a.setTime(t1);
 		a.set(Calendar.MONTH, 11);
-		a.set(Calendar.DATE, 1);// 把日期设置为12月第一天
-		a.roll(Calendar.DATE, -1);// 日期回滚一天,也就是当年最后一天
+		a.set(Calendar.DATE, 1);// 鎶婃棩鏈熻缃负12鏈堢涓�澶�
+		a.roll(Calendar.DATE, -1);// 鏃ユ湡鍥炴粴涓�澶╋紝涔熷氨鏄綋骞存渶鍚庝竴澶�
 		return new Timestamp(a.getTimeInMillis());
 	}
 
 	/*
-	 * 得到指定日期的所在年份的第一天
+	 * 寰楀埌鎸囧畾鏃ユ湡鐨勬墍鍦ㄥ勾浠界殑绗竴澶�
 	 */
 	public static Timestamp getFirstOfYear(Timestamp t1) {
 		Calendar a = new GregorianCalendar();
 		a.setTime(t1);
 		a.set(Calendar.MONTH, 0);
-		a.set(Calendar.DATE, 1);// 把日期设置为12月第一天
+		a.set(Calendar.DATE, 1);// 鎶婃棩鏈熻缃负12鏈堢涓�澶�
 		return new Timestamp(a.getTimeInMillis());
 	}
 
 	/*
-	 * 得到指定日期的所在月份的最后一天
+	 * 寰楀埌鎸囧畾鏃ユ湡鐨勬墍鍦ㄦ湀浠界殑鏈�鍚庝竴澶�
 	 */
 	public static Timestamp getLastOfMonth(Timestamp t1) {
 		Calendar a = new GregorianCalendar();
 		a.setTime(t1);
-		a.set(Calendar.DATE, 1);// 把日期设置为当月第一天
-		a.roll(Calendar.DATE, -1);// 日期回滚一天,也就是最后一天
+		a.set(Calendar.DATE, 1);// 鎶婃棩鏈熻缃负褰撴湀绗竴澶�
+		a.roll(Calendar.DATE, -1);// 鏃ユ湡鍥炴粴涓�澶╋紝涔熷氨鏄渶鍚庝竴澶�
 		return new Timestamp(a.getTimeInMillis());
 	}
 
 	/**
-	 * 得到指定日期的所在月份的第一天
+	 * 寰楀埌鎸囧畾鏃ユ湡鐨勬墍鍦ㄦ湀浠界殑绗竴澶�
 	 *
 	 * @param t1
 	 * @return
@@ -743,20 +743,20 @@
 	public static Timestamp getFirstOfMonth(Timestamp t1) {
 		Calendar a = new GregorianCalendar();
 		a.setTime(t1);
-		a.set(Calendar.DATE, 1);// 把日期设置为当月第一天
+		a.set(Calendar.DATE, 1);// 鎶婃棩鏈熻缃负褰撴湀绗竴澶�
 		return new Timestamp(a.getTimeInMillis());
 	}
 
 	/**
-	 * 给出两个日期,计算他们之间相差的年数|月数|天数
+	 * 缁欏嚭涓や釜鏃ユ湡锛岃绠椾粬浠箣闂寸浉宸殑骞存暟|鏈堟暟|澶╂暟
 	 *
 	 * @param c1
-	 *            日期1
+	 *            鏃ユ湡1
 	 * @param c2
-	 *            日期2
+	 *            鏃ユ湡2
 	 * @param what
-	 *            比较模式,如果是Calendar.YEAR则在年份上比较; 如果是Calendar.MONTH则在月数上比较; 如果是Calendar.DATE则在天数上比较(默认情形)
-	 * @return 相差的年数或月数或天数
+	 *            姣旇緝妯″紡锛屽鏋滄槸Calendar.YEAR鍒欏湪骞翠唤涓婃瘮杈冿紱 濡傛灉鏄疌alendar.MONTH鍒欏湪鏈堟暟涓婃瘮杈冿紱 濡傛灉鏄疌alendar.DATE鍒欏湪澶╂暟涓婃瘮杈冿紙榛樿鎯呭舰锛�
+	 * @return 鐩稿樊鐨勫勾鏁版垨鏈堟暟鎴栧ぉ鏁�
 	 */
 	public static int compare(Timestamp t1, Timestamp t2, int what) {
 
@@ -798,11 +798,11 @@
 	}
 
 	/**
-	 * 把字符串的日期转成Timestamp
+	 * 鎶婂瓧绗︿覆鐨勬棩鏈熻浆鎴怲imestamp
 	 *
 	 * @param time
-	 *            字符串的日期
-	 * @return int Timestamp型日期
+	 *            瀛楃涓茬殑鏃ユ湡
+	 * @return int Timestamp鍨嬫棩鏈�
 	 */
 	public static Timestamp stringConvertTimestamp(String stime) {
 		String time =stime;
@@ -820,11 +820,11 @@
 	}
 
 	/**
-	 * 把字符串的日期转成Timestamp
+	 * 鎶婂瓧绗︿覆鐨勬棩鏈熻浆鎴怲imestamp
 	 *
 	 * @param date
-	 *            字符串的日期
-	 * @return int Timestamp型日期
+	 *            瀛楃涓茬殑鏃ユ湡
+	 * @return int Timestamp鍨嬫棩鏈�
 	 */
 	public static Date stringConvertDate(String sdate) {
 		String date =sdate;
@@ -845,11 +845,11 @@
 	}
 
 	/**
-	 * 把字符串的日期转成Timestamp
+	 * 鎶婂瓧绗︿覆鐨勬棩鏈熻浆鎴怲imestamp
 	 *
 	 * @param date
-	 *            字符串的日期
-	 * @return int Timestamp型日期
+	 *            瀛楃涓茬殑鏃ユ湡
+	 * @return int Timestamp鍨嬫棩鏈�
 	 */
 	public static Timestamp stringConvertTS(String sdate) {
 		String date =sdate;
@@ -873,24 +873,24 @@
 
 
 	/**
-	 * 去除date的毫秒数
+	 * 鍘婚櫎date鐨勬绉掓暟
 	 *
 	 * @param date
-	 *            字符串的日期
-	 * @return int Timestamp型日期
+	 *            瀛楃涓茬殑鏃ユ湡
+	 * @return int Timestamp鍨嬫棩鏈�
 	 */
 	public static Date getCurrDateTime(Date date) {
 		return stringConvertTS(formatDate(date, ISO_DATETIME_FORMAT));
 	}
 	
 	/**
-	 * 比较两日期大小
+	 * 姣旇緝涓ゆ棩鏈熷ぇ灏�
 	 *
 	 * @param DATE1
 	 * @param DATE2
 	 * @param what
-	 *            比较模式,如果是Calendar.YEAR则在年份上比较; 如果是Calendar.MONTH则在月数上比较; 如果是Calendar.DATE则在天数上比较(默认情形)
-	 * @return date1 在date2前=1;date1在date2后=-1;否则=0;
+	 *            姣旇緝妯″紡锛屽鏋滄槸Calendar.YEAR鍒欏湪骞翠唤涓婃瘮杈冿紱 濡傛灉鏄疌alendar.MONTH鍒欏湪鏈堟暟涓婃瘮杈冿紱 濡傛灉鏄疌alendar.DATE鍒欏湪澶╂暟涓婃瘮杈冿紙榛樿鎯呭舰锛�
+	 * @return date1 鍦╠ate2鍓�=1;date1鍦╠ate2鍚�=-1;鍚﹀垯=0;
 	 * @throws ParseException
 	 */
 	public static int compareDate(String date1, String date2, int what) throws ParseException {
@@ -901,13 +901,13 @@
 	}
 
 	/**
-	 * 比较两日期大小
+	 * 姣旇緝涓ゆ棩鏈熷ぇ灏�
 	 *
 	 * @param DATE1
 	 * @param DATE2
 	 * @param what
-	 *            比较模式,如果是Calendar.YEAR则在年份上比较; 如果是Calendar.MONTH则在月数上比较; 如果是Calendar.DATE则在天数上比较(默认情形)
-	 * @return date1 在date2前=1;date1在date2后=-1;否则=0;
+	 *            姣旇緝妯″紡锛屽鏋滄槸Calendar.YEAR鍒欏湪骞翠唤涓婃瘮杈冿紱 濡傛灉鏄疌alendar.MONTH鍒欏湪鏈堟暟涓婃瘮杈冿紱 濡傛灉鏄疌alendar.DATE鍒欏湪澶╂暟涓婃瘮杈冿紙榛樿鎯呭舰锛�
+	 * @return date1 鍦╠ate2鍓�=1;date1鍦╠ate2鍚�=-1;鍚﹀垯=0;
 	 */
 	public static int compareDate(Date date1, Date date2, int what) {
 		Calendar objCalendar1 = Calendar.getInstance();
@@ -925,20 +925,20 @@
 	}
 
 	/**
-	 * 和当前日期比较大小
+	 * 鍜屽綋鍓嶆棩鏈熸瘮杈冨ぇ灏�
 	 *
 	 * @param currentDate
-	 * @return currentDate 在当前日期前=1;date1在当前日期后=-1;否则=0;
+	 * @return currentDate 鍦ㄥ綋鍓嶆棩鏈熷墠=1;date1鍦ㄥ綋鍓嶆棩鏈熷悗=-1;鍚﹀垯=0;
 	 */
 	public static int compareCurrentDate(Date currentDate) {
 		return compareDate(currentDate, nowAsDate(), Calendar.DATE);
 	}
 
 	/**
-	 * 和当前日期比较大小
+	 * 鍜屽綋鍓嶆棩鏈熸瘮杈冨ぇ灏�
 	 *
 	 * @param currentDate
-	 * @return currentDate 在当前日期前=1;date1在当前日期后=-1;否则=0;
+	 * @return currentDate 鍦ㄥ綋鍓嶆棩鏈熷墠=1;date1鍦ㄥ綋鍓嶆棩鏈熷悗=-1;鍚﹀垯=0;
 	 * @throws ParseException
 	 */
 	public static int compareCurrentDate(String currentDate) throws ParseException {
@@ -949,10 +949,10 @@
 	}
 
 	/**
-	 * 根据日期,输出日期对应的月份
+	 * 鏍规嵁鏃ユ湡锛岃緭鍑烘棩鏈熷搴旂殑鏈堜唤
 	 * 
 	 * @param date
-	 * @return month
+	 * @return銆�month
 	 */
 	public static int getMonth(Date date) {
 		if (null == date) {
@@ -966,11 +966,11 @@
 	}
 
 	/**
-	 * 封装每月的最后一天
+	 * 灏佽姣忔湀鐨勬渶鍚庝竴澶�
 	 * 
 	 * @param date
-	 * @author 伍升存
-	 * @history 2012-03-13 伍升存
+	 * @author 浼嶅崌瀛�
+	 * @history 2012-03-13 浼嶅崌瀛�
 	 * @return
 	 */
 	public static Date lastDayOfMonth(Date date) {
@@ -982,7 +982,7 @@
 	}
 
 	/**
-	 * 当前时间的前几个小时
+	 * 褰撳墠鏃堕棿鐨勫墠鍑犱釜灏忔椂
 	 * 
 	 * @return
 	 */
@@ -993,7 +993,7 @@
 	}
 
 	/**
-	 * 当前时间的后几个小时
+	 * 褰撳墠鏃堕棿鐨勫悗鍑犱釜灏忔椂
 	 * 
 	 * @return
 	 */
@@ -1003,7 +1003,7 @@
 		return calendar.getTime();
 	}
 
-	// 计算时间
+	// 璁$畻鏃堕棿
 	public static String showTime(Date ctime, String sformat) {
 		String format = sformat;
 		String r = "";
@@ -1017,25 +1017,25 @@
 		long nowtime = nowtimelong;
 		long ctimelong = ctime.getTime();
 		long result = nowtime - ctimelong;
-		if (result - (long) 60 * 1000 < (long) 0)// 一分钟内
+		if (result - (long) 60 * 1000 < (long) 0)// 涓�鍒嗛挓鍐�
 		{
 			BigDecimal seconds = cal(new BigDecimal(result), (long) 1000, 0);
-			r = seconds + "秒钟前";
-		} else if (result - (long) 60 * 1000 >= (long) 0 && result - (long) 60 * 60 * 1000 < (long) 0)// 一小时内
+			r = seconds + "绉掗挓鍓�";
+		} else if (result - (long) 60 * 1000 >= (long) 0 && result - (long) 60 * 60 * 1000 < (long) 0)// 涓�灏忔椂鍐�
 		{
 			BigDecimal seconds = cal(new BigDecimal(result), (long) (60 * 1000), 0);
-			r = seconds + "分钟前";
-		} else if (result - (long) 60 * 60 * 1000 >= (long) 0 && result - (long) 24 * 60 * 60 * 1000 < (long) 0)// 一天内
+			r = seconds + "鍒嗛挓鍓�";
+		} else if (result - (long) 60 * 60 * 1000 >= (long) 0 && result - (long) 24 * 60 * 60 * 1000 < (long) 0)// 涓�澶╁唴
 		{
 			BigDecimal seconds = cal(new BigDecimal(result), (long) (60 * 60 * 1000), 0);
-			r = seconds + "小时前";
-		} else if (result - (long) 24 * 60 * 60 * 1000 >= (long) 0 && result - (long) 30 * 24 * 60 * 60 * 1000 < (long) 0) {// 一个月内
+			r = seconds + "灏忔椂鍓�";
+		} else if (result - (long) 24 * 60 * 60 * 1000 >= (long) 0 && result - (long) 30 * 24 * 60 * 60 * 1000 < (long) 0) {// 涓�涓湀鍐�
 			BigDecimal seconds = cal(new BigDecimal(result), (long) (24 * 60 * 60 * 1000), 0);
-			r = seconds + "天前";
-		} else if (result - (long) 30 * 24 * 60 * 60 * 1000 >= (long) 0 && result - (long) 12 * 30 * 24 * 60 * 60 * 1000 < (long) 0) {// 一年内
+			r = seconds + "澶╁墠";
+		} else if (result - (long) 30 * 24 * 60 * 60 * 1000 >= (long) 0 && result - (long) 12 * 30 * 24 * 60 * 60 * 1000 < (long) 0) {// 涓�骞村唴
 			BigDecimal seconds = cal(new BigDecimal(result), new BigDecimal(30).multiply(new BigDecimal(24)).multiply(new BigDecimal(60)).multiply(new BigDecimal(60)).multiply(new BigDecimal(1000)).longValue(), 0);
-			r = seconds + "个月前";
-		} else{// 日期格式
+			r = seconds + "涓湀鍓�";
+		} else{// 鏃ユ湡鏍煎紡
 			SimpleDateFormat sdf = new SimpleDateFormat(format,Locale.CHINA);
 			r = sdf.format(ctime);
 		}
@@ -1049,7 +1049,7 @@
 	public static String transForm(Date beginTime, Date endTime) {
 		Calendar cal = Calendar.getInstance();
 		String trans = "";
-		SimpleDateFormat sdf = new SimpleDateFormat("MM月dd日-HH:mm",Locale.CHINA);
+		SimpleDateFormat sdf = new SimpleDateFormat("MM鏈坉d鏃�-HH:mm",Locale.CHINA);
 		String str_begin = sdf.format(beginTime);
 		String str_end = sdf.format(endTime);
 		cal.setTime(beginTime);
@@ -1063,12 +1063,12 @@
 		String str_end_hour = str_end.substring(str_end.indexOf('-') + 1);
 
 		if (str_begin_month.equals(str_end_month)) {
-			trans = str_begin_month + " (" + str_begin_week + ") " + str_begin_hour + " 至  " + str_end_hour;
+			trans = str_begin_month + " (" + str_begin_week + ") " + str_begin_hour + " 鑷�  " + str_end_hour;
 		} else {
 			cal.setTime(endTime);
 			int end_week = cal.get(Calendar.DAY_OF_WEEK);
 			String str_end_week = getWeek(end_week);
-			trans = str_begin_month + " (" + str_begin_week + ") " + str_begin_hour + " 至  " + str_end_month + " (" + str_end_week + ") " + str_end_hour;
+			trans = str_begin_month + " (" + str_begin_week + ") " + str_begin_hour + " 鑷�  " + str_end_month + " (" + str_end_week + ") " + str_end_hour;
 		}
 		return trans;
 	}
@@ -1076,25 +1076,25 @@
 	public static String getWeek(int week) {
 		String str_week = "";
 		if (week == 2) {
-			str_week = "周一";
+			str_week = "鍛ㄤ竴";
 		}
 		if (week == 3) {
-			str_week = "周二";
+			str_week = "鍛ㄤ簩";
 		}
 		if (week == 4) {
-			str_week = "周三";
+			str_week = "鍛ㄤ笁";
 		}
 		if (week == 5) {
-			str_week = "周四";
+			str_week = "鍛ㄥ洓";
 		}
 		if (week == 6) {
-			str_week = "周五";
+			str_week = "鍛ㄤ簲";
 		}
 		if (week == 7) {
-			str_week = "周六";
+			str_week = "鍛ㄥ叚";
 		}
 		if (week == 1) {
-			str_week = "周日";
+			str_week = "鍛ㄦ棩";
 		}
 		return str_week;
 
diff --git a/src/main/java/com/qxueyou/scc/base/util/DateUtils.java b/src/main/java/com/qxueyou/scc/base/util/DateUtils.java
index 302b434..491e22c 100644
--- a/src/main/java/com/qxueyou/scc/base/util/DateUtils.java
+++ b/src/main/java/com/qxueyou/scc/base/util/DateUtils.java
@@ -1,11 +1,11 @@
 package com.qxueyou.scc.base.util;
 
 /**
- * 记录项目管理部分核心的数据库字典信息;基础操作Form
+ * 璁板綍椤圭洰绠$悊閮ㄥ垎鏍稿績鐨勬暟鎹簱瀛楀吀淇℃伅锛涘熀纭�鎿嶄綔Form
  *
- * @author 邓志永
+ * @author 閭撳織姘�
  * @since JDK1.6
- * @history 2014-11-28 邓志永 新建
+ * @history 2014-11-28 閭撳織姘� 鏂板缓
  */
 import java.sql.Timestamp;
 import java.text.ParseException;
@@ -21,7 +21,7 @@
 
 
     /**
-     * 根据格式获得日期字符串
+     * 鏍规嵁鏍煎紡鑾峰緱鏃ユ湡瀛楃涓�
      *
      * @param sFormat
      * @return
@@ -35,7 +35,7 @@
     }
 
     /**
-     * 根据给定格式获取特定时间的格式化显示
+     * 鏍规嵁缁欏畾鏍煎紡鑾峰彇鐗瑰畾鏃堕棿鐨勬牸寮忓寲鏄剧ず
      *
      * @param ts
      * @param sFormat
@@ -48,7 +48,7 @@
     }
 
     /**
-     * 格式化日期
+     * 鏍煎紡鍖栨棩鏈�
      *
      * @param ts
      * @return
@@ -60,7 +60,7 @@
     }
 
     /**
-     * 将String类型的日期转换为时间
+     * 灏哠tring绫诲瀷鐨勬棩鏈熻浆鎹负鏃堕棿
      *
      * @param dt
      * @return
@@ -73,7 +73,7 @@
     }
 
     /**
-     * 建议获得短日期的处理方式 例如: getShortDate(2004-10-10 10:10:10.123) = 2004-10-10
+     * 寤鸿鑾峰緱鐭棩鏈熺殑澶勭悊鏂瑰紡 渚嬪: getShortDate(2004-10-10 10:10:10.123) = 2004-10-10
      *
      * @param dt
      * @return
@@ -87,7 +87,7 @@
     }
 
     /**
-     * 取得当前日期时间
+     * 鍙栧緱褰撳墠鏃ユ湡鏃堕棿
      *
      * @return
      */
@@ -97,7 +97,7 @@
     }
 
     /**
-     * 取得当前日期时间 毫秒为0
+     * 鍙栧緱褰撳墠鏃ユ湡鏃堕棿 姣涓�0
      *
      * @return
      */
@@ -108,7 +108,7 @@
     }
     
     /**
-     * 获得最常见的日期格式内容 : 年-月-日 小时-分钟-秒
+     * 鑾峰緱鏈�甯歌鐨勬棩鏈熸牸寮忓唴瀹� : 骞�-鏈�-鏃� 灏忔椂-鍒嗛挓-绉�
      *
      * @param ts
      * @return
@@ -117,13 +117,13 @@
         return getDateFormat(ts, "yyyy-MM-dd HH:mm:ss");
     }
 
-    /* 格式化日期 */
+    /* 鏍煎紡鍖栨棩鏈� */
     public String getSTime(Timestamp ts) {
         return getDateFormat(ts, "HH:mm:ss");
     }
 
     /**
-     * 获取当天的日期
+     * 鑾峰彇褰撳ぉ鐨勬棩鏈�
      *
      * @return
      */
@@ -134,7 +134,7 @@
 
     }
 
-    // 根据时间获得随机数
+    // 鏍规嵁鏃堕棿鑾峰緱闅忔満鏁�
     public String getRnd() {
         Calendar tCal = Calendar.getInstance();
         Timestamp ts = new Timestamp(tCal.getTime().getTime());
@@ -146,7 +146,7 @@
     }
 
     /**
-     * 计算日期之间的差值 2004-3-25 增加
+     * 璁$畻鏃ユ湡涔嬮棿鐨勫樊鍊� 2004-3-25 澧炲姞
      *
      * @param dt1
      * @param dt2
@@ -159,7 +159,7 @@
     }
     
     /**
-     * 计算分钟
+     * 璁$畻鍒嗛挓
      *
      * @param dt1
      * @param dt2
@@ -172,7 +172,7 @@
     }
     
     /**
-     * 获取明天的日期
+     * 鑾峰彇鏄庡ぉ鐨勬棩鏈�
      *
      * @return
      */
@@ -181,7 +181,7 @@
     }
 
     /**
-     * 获得当前日期的下一天
+     * 鑾峰緱褰撳墠鏃ユ湡鐨勪笅涓�澶�
      *
      * @param date
      * @return
@@ -202,7 +202,7 @@
     }
 
     /**
-     * LST num为正:当前日期后num天是返回值 num为负:当前日期前num天是返回值 返回的日期的格式:yyyy-MM-dd
+     * LST num涓烘:褰撳墠鏃ユ湡鍚巒um澶╂槸杩斿洖鍊� num涓鸿礋:褰撳墠鏃ユ湡鍓峮um澶╂槸杩斿洖鍊� 杩斿洖鐨勬棩鏈熺殑鏍煎紡:yyyy-MM-dd
      */
     public static String getTheDay(int num) {
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd", Locale.CHINA);
@@ -213,7 +213,7 @@
     }
 
     /**
-     * 将日期由String转换为Date类型
+     * 灏嗘棩鏈熺敱String杞崲涓篋ate绫诲瀷
      *
      * @param date
      * @return
@@ -232,7 +232,7 @@
     }
 
     /**
-     * 将日期由String转换为Date类型
+     * 灏嗘棩鏈熺敱String杞崲涓篋ate绫诲瀷
      *
      * @param date
      * @param format
@@ -254,7 +254,7 @@
 
 
     /**
-     * 将日期由yyyy年MM月String转换为Date类型
+     * 灏嗘棩鏈熺敱yyyy骞碝M鏈圫tring杞崲涓篋ate绫诲瀷
      *
      * @param date
      * @return
@@ -262,7 +262,7 @@
      */
     public static Date convertStringToDateCh(String sdate) throws ParseException {
     	String date = sdate;
-        SimpleDateFormat objDateFormat = new SimpleDateFormat("yyyy年MM月", Locale.CHINA);
+        SimpleDateFormat objDateFormat = new SimpleDateFormat("yyyy骞碝M鏈�", Locale.CHINA);
 
         if (StringUtils.isBlank(date)) {
             java.sql.Timestamp ts = new java.sql.Timestamp(System.currentTimeMillis());
@@ -275,7 +275,7 @@
     }
     
     /**
-     * 取得指定年月的第一天
+     * 鍙栧緱鎸囧畾骞存湀鐨勭涓�澶�
      * @param year
      * @param month
      * @return
@@ -289,7 +289,7 @@
     }
     
     /**
-     * 取得指定年月的最后一天
+     * 鍙栧緱鎸囧畾骞存湀鐨勬渶鍚庝竴澶�
      * @param year
      * @param month
      * @return
@@ -303,7 +303,7 @@
     }
     
     /**
-     * 取得指定年月的第一天
+     * 鍙栧緱鎸囧畾骞存湀鐨勭涓�澶�
      * @param year
      * @param month
      * @return
@@ -317,7 +317,7 @@
     }
     
     /**
-     * 取得指定年月的最后一天
+     * 鍙栧緱鎸囧畾骞存湀鐨勬渶鍚庝竴澶�
      * @param year
      * @param month
      * @return
@@ -331,7 +331,7 @@
     }
     
     /**
-     * 得到一段时间内有多少周
+     * 寰楀埌涓�娈垫椂闂村唴鏈夊灏戝懆
      * @param startTime
      * @param endTime
      * @return
@@ -356,7 +356,7 @@
     }
     
     /**
-     * 得到日期的年
+     * 寰楀埌鏃ユ湡鐨勫勾
      * @param date
      * @return
      */
@@ -368,7 +368,7 @@
     }
 
     /**
-     * 当前时间处于一段时间的第几周
+     * 褰撳墠鏃堕棿澶勪簬涓�娈垫椂闂寸殑绗嚑鍛�
      * @param startTime
      * @param endTime
      * @return
@@ -403,7 +403,7 @@
     }
     
     /**
-     * 指定时间处于一段时间的第几周
+     * 鎸囧畾鏃堕棿澶勪簬涓�娈垫椂闂寸殑绗嚑鍛�
      * @param startTime
      * @param endTime
      * @return
diff --git a/src/main/java/com/qxueyou/scc/base/util/ExcelExportUtils.java b/src/main/java/com/qxueyou/scc/base/util/ExcelExportUtils.java
index ba735e4..2f13ace 100644
--- a/src/main/java/com/qxueyou/scc/base/util/ExcelExportUtils.java
+++ b/src/main/java/com/qxueyou/scc/base/util/ExcelExportUtils.java
@@ -36,15 +36,15 @@
  * 
  * 
  * @param <T>
- * 应用泛型,代表任意一个符合javabean风格的类
- * boolean型的属性xxx的get器方式为getXxx(),而不是isXxx()
+ * 搴旂敤娉涘瀷锛屼唬琛ㄤ换鎰忎竴涓鍚坖avabean椋庢牸鐨勭被
+ * boolean鍨嬬殑灞炴�xx鐨刧et鍣ㄦ柟寮忎负getXxx(),鑰屼笉鏄痠sXxx()
  */
 public class ExcelExportUtils<T> {
 	
 	private static Logger log = LogManager.getLogger("ExcelExport");
 	
 	/**
-	 * 设置标题样式,字体
+	 * 璁剧疆鏍囬鏍峰紡,瀛椾綋
 	 * @param objStyle
 	 * @param workbook
 	 */
@@ -57,16 +57,16 @@
 		objStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);
 		objStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
 		
-		// 生成一个字体
+		// 鐢熸垚涓�涓瓧浣�
         HSSFFont font = workbook.createFont();
         font.setFontHeightInPoints((short) 12);
         font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
-        // 把字体应用到标题样式
+        // 鎶婂瓧浣撳簲鐢ㄥ埌鏍囬鏍峰紡
         objStyle.setFont(font);
 	}
 	
 	/**
-	 * 设置导出内容样式
+	 * 璁剧疆瀵煎嚭鍐呭鏍峰紡
 	 * @param objStyle
 	 * @param workbook
 	 */
@@ -81,7 +81,7 @@
 	}
 	
 	/**
-	 * 是否指定列宽
+	 * 鏄惁鎸囧畾鍒楀
 	 * @param sheet
 	 * @param lstColumnWidth
 	 */
@@ -94,7 +94,7 @@
 	}
 	
 	/**
-	 * 初始化导出标题
+	 * 鍒濆鍖栧鍑烘爣棰�
 	 * @param row
 	 * @param headers
 	 * @param titleStyle
@@ -109,7 +109,7 @@
 	}
 	
 	/**
-	 * 按照T,导出所有列内容
+	 * 鎸夌収T锛屽鍑烘墍鏈夊垪鍐呭
 	 * @param objExcelExportParam
 	 */
     public void exportExcel(ExcelExportParam<T> objExcelExportParam) {
@@ -117,7 +117,7 @@
     }
     
     /**
-     * 指定列导出
+     * 鎸囧畾鍒楀鍑�
      * @param objExcelExportParam
      */
     public void exportExcelByColomn(ExcelExportParam<T> objExcelExportParam) {
@@ -125,12 +125,12 @@
     }
     
 	/**
-	 * 导出excel实现
+	 * 瀵煎嚭excel瀹炵幇
 	 * @param objExcelExportParam
 	 * @param exportByCol
 	 */
 	public void exportExcel(ExcelExportParam<T> objExcelExportParam,boolean exportByCol){
-		//获取参数:
+		//鑾峰彇鍙傛暟锛�
     	String title = objExcelExportParam.getTitle();
     	Collection<T>   colData = objExcelExportParam.getColData();
     	OutputStream out = objExcelExportParam.getOut();
@@ -144,32 +144,32 @@
         	lstColumn = objExcelExportParam.getLstColumn();
         }
         
-        // 声明一个工作薄
+        // 澹版槑涓�涓伐浣滆杽
         HSSFWorkbook workbook = new HSSFWorkbook();
         HSSFSheet sheet = null;
-        // 生成一个表格
+        // 鐢熸垚涓�涓〃鏍�
         if(StringUtils.isNotBlank(title)){
         	sheet = workbook.createSheet(title);
         }else{
         	sheet = workbook.createSheet("Sheet1");
         }
-        // 设置表格默认列宽度为18个字节
+        // 璁剧疆琛ㄦ牸榛樿鍒楀搴︿负18涓瓧鑺�
         sheet.setDefaultColumnWidth(18);
-        // 设置表格默认行高度
+        // 璁剧疆琛ㄦ牸榛樿琛岄珮搴�
         sheet.setDefaultRowHeight((short)300);
-        //是否指定列宽
+        //鏄惁鎸囧畾鍒楀
         initColumnWidth(sheet,objExcelExportParam.getLstColumnWidth());
-        // 标题样式
+        // 鏍囬鏍峰紡
         HSSFCellStyle titleStyle = workbook.createCellStyle();
         initTitleCellStyle(titleStyle,workbook);
-        // 内容样式
+        // 鍐呭鏍峰紡
         HSSFCellStyle contentStyle = workbook.createCellStyle();
         initContentCellStyle(contentStyle,workbook);
-        // 产生表格标题行
+        // 浜х敓琛ㄦ牸鏍囬琛�
         HSSFRow row = sheet.createRow(0);
         initTitleRow(row,objExcelExportParam.getHeaders(),titleStyle,lstColumn);
 
-        // 遍历集合数据,产生数据行
+        // 閬嶅巻闆嗗悎鏁版嵁锛屼骇鐢熸暟鎹
         Iterator<T> it = colData.iterator();
         int index = 0;
         while (it.hasNext()) {
@@ -177,7 +177,7 @@
             row = sheet.createRow(index);
             T t = (T) it.next();
             
-            //默认给序号列
+            //榛樿缁欏簭鍙峰垪
             HSSFCell cell = row.createCell(0);
     		cell.setCellStyle(contentStyle);
     		HSSFRichTextString richString = new HSSFRichTextString(String.valueOf(index));
@@ -185,13 +185,13 @@
 			richString.applyFont(font3);
 			cell.setCellValue(richString);
             
-            //指定列导出使用
+            //鎸囧畾鍒楀鍑轰娇鐢�
             if(exportByCol){
             	for(int j = 0; j < lstColumn.size() ; j++ ){
             		doExportExcel(row,contentStyle,pattern,numberFormat,workbook,lstColumn.get(j),t,j+1);
             	}
             }else{
-            	// 利用反射,根据javabean属性的先后顺序,动态调用getXxx()方法得到属性值
+            	// 鍒╃敤鍙嶅皠锛屾牴鎹甹avabean灞炴�х殑鍏堝悗椤哄簭锛屽姩鎬佽皟鐢╣etXxx()鏂规硶寰楀埌灞炴�у��
                 Field[] fields = t.getClass().getDeclaredFields();
                 for (int i = 0; i < fields.length; i++) {
                 	if(!"serialVersionUID".equals(fields[i].getName())){
@@ -213,7 +213,7 @@
 	private void doExportExcel(HSSFRow row,HSSFCellStyle contentStyle,String pattern,boolean numberFormat,HSSFWorkbook workbook,String fieldName,T t,int i){
 		HSSFCell cell = row.createCell(i);
 		cell.setCellStyle(contentStyle);
-		//boolean类型默认使用get,而非is
+		//boolean绫诲瀷榛樿浣跨敤get锛岃�岄潪is
 		String getMethodName = "get" + fieldName.substring(0, 1).toUpperCase() + fieldName.substring(1);
 		try {
 			@SuppressWarnings("rawtypes")
@@ -221,7 +221,7 @@
 			@SuppressWarnings("unchecked")
 			Method getMethod = tCls.getMethod(getMethodName,new Class[] {});
 			Object value = getMethod.invoke(t, new Object[] {});
-			// 格式化内容
+			// 鏍煎紡鍖栧唴瀹�
 			String textValue = "";
 			if (value instanceof Date) {
 				Date date = (Date) value;
@@ -232,12 +232,12 @@
 					textValue = String.valueOf(value);
 				}
 			}
-			//利用正则表达式判断textValue是否全部由数字组成
+			//鍒╃敤姝e垯琛ㄨ揪寮忓垽鏂璽extValue鏄惁鍏ㄩ儴鐢辨暟瀛楃粍鎴�
 			if (null != textValue) {
 				Pattern p = Pattern.compile("^//d+(//.//d+)?$");
 				Matcher matcher = p.matcher(textValue);
 				if (matcher.matches() && numberFormat) {
-					// 是数字当作double处理
+					// 鏄暟瀛楀綋浣渄ouble澶勭悊
 					cell.setCellValue(Double.parseDouble(textValue));
 				} else {
 					HSSFRichTextString richString = new HSSFRichTextString(textValue);
@@ -263,17 +263,17 @@
 	
     public static void main(String[] args) {
     	System.out.println(new Date().getTime());
-        /*// 测试学生
+        /*// 娴嬭瘯瀛︾敓
     	ExcelExportUtils<UserRegistrationExport> ex = new ExcelExportUtils<UserRegistrationExport>();
-        String[] headers = { "序号","班级", "姓名", "性别" ,"报名码" ,"手机号" ,"其他联系方式","状态"};
+        String[] headers = { "搴忓彿","鐝骇", "濮撳悕", "鎬у埆" ,"鎶ュ悕鐮�" ,"鎵嬫満鍙�" ,"鍏朵粬鑱旂郴鏂瑰紡","鐘舵��"};
         List<UserRegistrationExport> dataset = new ArrayList<UserRegistrationExport>();
         UserRegistrationExport u = new UserRegistrationExport();
-        u.setClassName("高级JAVA工程师一班");
+        u.setClassName("楂樼骇JAVA宸ョ▼甯堜竴鐝�");
         u.setMobilePhone("13312886688");
         u.setSalesCode("123.34");
         u.setSex(false);
         u.setStatus(UserRegistration.STATUS_ACTIVE);
-        u.setUserName("刘美幸子");
+        u.setUserName("鍒樼編骞稿瓙");
         dataset.add(u);
         ExcelExportParam<UserRegistrationExport> obj = new ExcelExportParam<UserRegistrationExport>();
         obj.setColData(dataset);
@@ -284,7 +284,7 @@
             obj.setOut(out);
             ex.exportExcel(obj);
             out.close();
-            System.out.println("excel导出成功!");
+            System.out.println("excel瀵煎嚭鎴愬姛锛�");
         } catch (FileNotFoundException e) {
             e.printStackTrace();
         } catch (IOException e) {
@@ -300,7 +300,7 @@
             obj.setOut(out);
             ex.exportExcelByColomn(obj);
             out.close();
-            System.out.println("excel指定列导出成功!");
+            System.out.println("excel鎸囧畾鍒楀鍑烘垚鍔燂紒");
         } catch (FileNotFoundException e) {
             e.printStackTrace();
         } catch (IOException e) {
diff --git a/src/main/java/com/qxueyou/scc/base/util/FreeMarkerMd5MethodDefine.java b/src/main/java/com/qxueyou/scc/base/util/FreeMarkerMd5MethodDefine.java
index 815a650..a5723f1 100644
--- a/src/main/java/com/qxueyou/scc/base/util/FreeMarkerMd5MethodDefine.java
+++ b/src/main/java/com/qxueyou/scc/base/util/FreeMarkerMd5MethodDefine.java
@@ -11,7 +11,7 @@
 	@Override
 	public Object exec(List args) throws TemplateModelException {
 		if (args == null || args.isEmpty()) {
-			throw new TemplateModelException("错误:MD5加密参数字符串不存在");
+			throw new TemplateModelException("閿欒:MD5鍔犲瘑鍙傛暟瀛楃涓蹭笉瀛樺湪");
 		}
 		StringBuffer sb = new StringBuffer(1024);
 		for (Object md5Arg : args) {
diff --git a/src/main/java/com/qxueyou/scc/base/util/HttpClient.java b/src/main/java/com/qxueyou/scc/base/util/HttpClient.java
index 0ed3874..3622ad7 100644
--- a/src/main/java/com/qxueyou/scc/base/util/HttpClient.java
+++ b/src/main/java/com/qxueyou/scc/base/util/HttpClient.java
@@ -75,7 +75,7 @@
 	}
 	
 	private void init() {
-		X509TrustManager xtm = new X509TrustManager() { // 创建TrustManager
+		X509TrustManager xtm = new X509TrustManager() { // 鍒涘缓TrustManager
 			public void checkClientTrusted(X509Certificate[] chain,
 					String authType) throws CertificateException {
 			}
@@ -89,9 +89,9 @@
 			}
 		};
 		try {
-			// TLS1.0与SSL3.0基本上没有太大的差别,可粗略理解为TLS是SSL的继承者,但它们使用的是相同的SSLContext
+			// TLS1.0涓嶴SL3.0鍩烘湰涓婃病鏈夊お澶х殑宸埆锛屽彲绮楃暐鐞嗚В涓篢LS鏄疭SL鐨勭户鎵胯�咃紝浣嗗畠浠娇鐢ㄧ殑鏄浉鍚岀殑SSLContext
 			SSLContext ctx = SSLContext.getInstance("TLS");
-			// 使用TrustManager来初始化该上下文,TrustManager只是被SSL的Socket所使用
+			// 浣跨敤TrustManager鏉ュ垵濮嬪寲璇ヤ笂涓嬫枃锛孴rustManager鍙槸琚玈SL鐨凷ocket鎵�浣跨敤
 			ctx.init(null, new TrustManager[] { xtm }, null);
 
 			/*
@@ -145,13 +145,13 @@
 	}
 
 	/**
-	 * 向HTTPS地址发送POST请求
+	 * 鍚慔TTPS鍦板潃鍙戦�丳OST璇锋眰
 	 * 
 	 * @param reqURL
-	 *            请求地址
+	 *            璇锋眰鍦板潃
 	 * @param params
-	 *            请求参数
-	 * @return 响应内容
+	 *            璇锋眰鍙傛暟
+	 * @return 鍝嶅簲鍐呭
 	 */
 	@SuppressWarnings("unchecked")
 	public String sendStringPostRequest(String reqURL, Map<String, String> params1) {
@@ -161,7 +161,7 @@
 				params = Collections.EMPTY_MAP;
 			}
 
-			HttpEntity entity = sendPostRequest(reqURL, params); // 获取响应实体
+			HttpEntity entity = sendPostRequest(reqURL, params); // 鑾峰彇鍝嶅簲瀹炰綋
 			
 			if( null != entity ){
 				String content = EntityUtils.toString(entity, UTF_8);
@@ -184,13 +184,13 @@
 	}
 
 	/**
-	 * 向HTTPS地址发送POST请求
+	 * 鍚慔TTPS鍦板潃鍙戦�丳OST璇锋眰
 	 * 
 	 * @param reqURL
-	 *            请求地址
+	 *            璇锋眰鍦板潃
 	 * @param params
-	 *            请求参数
-	 * @return 响应内容
+	 *            璇锋眰鍙傛暟
+	 * @return 鍝嶅簲鍐呭
 	 */
 	@SuppressWarnings("unchecked")
 	public String sendStringPostRequest(String reqURL, String data) {
@@ -198,7 +198,7 @@
 
 			StringEntity reqEntity = new StringEntity(data, UTF_8);
 
-			HttpEntity entity = sendPostRequest(reqURL, Collections.EMPTY_MAP, reqEntity); // 获取响应实体
+			HttpEntity entity = sendPostRequest(reqURL, Collections.EMPTY_MAP, reqEntity); // 鑾峰彇鍝嶅簲瀹炰綋
 
 			if( null != entity ){
 				
@@ -223,13 +223,13 @@
 	}
 
 	/**
-	 * 向HTTPS地址发送POST请求
+	 * 鍚慔TTPS鍦板潃鍙戦�丳OST璇锋眰
 	 * 
 	 * @param reqURL
-	 *            请求地址
+	 *            璇锋眰鍦板潃
 	 * @param params
-	 *            请求参数
-	 * @return 响应内容
+	 *            璇锋眰鍙傛暟
+	 * @return 鍝嶅簲鍐呭
 	 */
 	public String sendStringPostRequest(String reqURL, Map<String, String> headerParas1, String data) {
 		Map<String, String> headerParas = headerParas1;
@@ -237,7 +237,7 @@
 
 			StringEntity reqEntity = new StringEntity(data, UTF_8);
 
-			HttpEntity entity = sendPostRequest(reqURL, headerParas, reqEntity); // 获取响应实体
+			HttpEntity entity = sendPostRequest(reqURL, headerParas, reqEntity); // 鑾峰彇鍝嶅簲瀹炰綋
 			
 			if( null != entity ){
 				String content = EntityUtils.toString(entity, UTF_8);
@@ -260,13 +260,13 @@
 	}
 
 	/**
-	 * 向HTTPS地址发送POST请求
+	 * 鍚慔TTPS鍦板潃鍙戦�丳OST璇锋眰
 	 * 
 	 * @param reqURL
-	 *            请求地址
+	 *            璇锋眰鍦板潃
 	 * @param params
-	 *            请求参数
-	 * @return 响应内容
+	 *            璇锋眰鍙傛暟
+	 * @return 鍝嶅簲鍐呭
 	 */
 	@SuppressWarnings("unchecked")
 	public HttpEntity sendPostRequest(String reqURL, Map<String, String> params1) {
@@ -319,7 +319,7 @@
 		Map<String, String> headerParas = headerParas1;
 		try {
 
-			HttpPost httpPost = new HttpPost(reqURL); // 创建HttpPost
+			HttpPost httpPost = new HttpPost(reqURL); // 鍒涘缓HttpPost
 			httpPost.setEntity(reqEntity);
 
 			headerParas = checkUserAgent(headerParas);
@@ -332,18 +332,18 @@
 				log.debug("request--header:" + header.getName() + ":" + header.getValue());
 			}
 
-			HttpResponse response = httpClient.execute(httpPost); // 执行POST请求
+			HttpResponse response = httpClient.execute(httpPost); // 鎵цPOST璇锋眰
 			headers = response.getAllHeaders();
 			for (Header header : headers) {
 				log.debug("response--header:" + header.getName() + ":" + header.getValue());
 			}
-			HttpEntity entity = response.getEntity(); // 获取响应实体
+			HttpEntity entity = response.getEntity(); // 鑾峰彇鍝嶅簲瀹炰綋
 
 			this.debug(httpPost.getURI(), response.getStatusLine().getStatusCode(), entity.getContentLength(), entity.getContentType());
 
 			if (302 == response.getStatusLine().getStatusCode() && response.containsHeader("location")) {
 				String location = response.getLastHeader("location").getValue();
-				log.debug("重定向:" + location);
+				log.debug("閲嶅畾鍚�:" + location);
 				EntityUtils.consume(entity);
 				return sendPostRequest(location, headerParas, reqEntity);
 			}
@@ -366,7 +366,7 @@
 		Map<String, String> headerParas = headerParas1;
 		try {
 
-			HttpDelete httpDelete = new HttpDelete(reqURL); // 创建HttpPost
+			HttpDelete httpDelete = new HttpDelete(reqURL); // 鍒涘缓HttpPost
 
 			headerParas = checkUserAgent(headerParas);
 			for (String key : headerParas.keySet()) {
@@ -378,12 +378,12 @@
 				log.debug("request--header:" + header.getName() + ":" + header.getValue());
 			}
 
-			HttpResponse response = httpClient.execute(httpDelete); // 执行POST请求
+			HttpResponse response = httpClient.execute(httpDelete); // 鎵цPOST璇锋眰
 			headers = response.getAllHeaders();
 			for (Header header : headers) {
 				log.debug("response--header:" + header.getName() + ":" + header.getValue());
 			}
-			HttpEntity entity = response.getEntity(); // 获取响应实体
+			HttpEntity entity = response.getEntity(); // 鑾峰彇鍝嶅簲瀹炰綋
 
 			this.debug(httpDelete.getURI(), response.getStatusLine().getStatusCode(), entity.getContentLength(), entity.getContentType());
 
@@ -414,17 +414,17 @@
 	 * @param header
 	 */
 	private void debug(URI uri, int code, long length, Header header){
-		log.debug("请求地址: " + uri);
-		log.debug("响应状态: " + code);
-		log.debug("响应长度: " + length);
-		log.debug("响应类型: " + header);
+		log.debug("璇锋眰鍦板潃: " + uri);
+		log.debug("鍝嶅簲鐘舵��: " + code);
+		log.debug("鍝嶅簲闀垮害: " + length);
+		log.debug("鍝嶅簲绫诲瀷: " + header);
 	}
 
 	public String sendStringPutRequest(String reqURL, Map<String, String> headerParas1, String body) {
 		Map<String, String> headerParas = headerParas1;
 		try {
 
-			HttpPut httpPut = new HttpPut(reqURL); // 创建HttpPost
+			HttpPut httpPut = new HttpPut(reqURL); // 鍒涘缓HttpPost
 
 			headerParas = checkUserAgent(headerParas);
 			for (String key : headerParas.keySet()) {
@@ -439,12 +439,12 @@
 			StringEntity reqEntity = new StringEntity(body, UTF_8);
 			httpPut.setEntity(reqEntity);
 
-			HttpResponse response = httpClient.execute(httpPut); // 执行POST请求
+			HttpResponse response = httpClient.execute(httpPut); // 鎵цPOST璇锋眰
 			headers = response.getAllHeaders();
 			for (Header header : headers) {
 				log.debug("response--header:" + header.getName() + ":" + header.getValue());
 			}
-			HttpEntity entity = response.getEntity(); // 获取响应实体
+			HttpEntity entity = response.getEntity(); // 鑾峰彇鍝嶅簲瀹炰綋
 
 			this.debug(httpPut.getURI(), response.getStatusLine().getStatusCode(), entity.getContentLength(), entity.getContentType());
 			
@@ -470,7 +470,7 @@
 		Map<String, String> headerParas = headerParas1;
 		try {
 
-			HttpPost httpPost = new HttpPost(reqURL); // 创建HttpPost
+			HttpPost httpPost = new HttpPost(reqURL); // 鍒涘缓HttpPost
 
 			BasicHttpEntity requestBody = new BasicHttpEntity();
 			requestBody.setContent(new ByteArrayInputStream(param.getBytes(UTF_8)));
@@ -490,18 +490,18 @@
 
 			log.debug("request--param:" + param);
 
-			HttpResponse response = httpClient.execute(httpPost); // 执行POST请求
+			HttpResponse response = httpClient.execute(httpPost); // 鎵цPOST璇锋眰
 			headers = response.getAllHeaders();
 			for (Header header : headers) {
 				log.debug("response--header:" + header.getName() + ":" + header.getValue());
 			}
-			HttpEntity entity = response.getEntity(); // 获取响应实体
+			HttpEntity entity = response.getEntity(); // 鑾峰彇鍝嶅簲瀹炰綋
 
 			this.debug(httpPost.getURI(), response.getStatusLine().getStatusCode(), entity.getContentLength(), entity.getContentType());
 			
 			if (302 == response.getStatusLine().getStatusCode() && response.containsHeader("location")) {
 				String location = response.getLastHeader("location").getValue();
-				log.debug("重定向:" + location);
+				log.debug("閲嶅畾鍚�:" + location);
 				EntityUtils.consume(entity);
 				return sendPostRequest(location, headerParas, param);
 			}
@@ -566,7 +566,7 @@
 		Map<String, String> params = params1;
 		Map<String, String> headerParas = headerParas1;
 		try {
-			// HttpGet httpGet = new HttpGet(reqURL); // 创建HttpPost
+			// HttpGet httpGet = new HttpGet(reqURL); // 鍒涘缓HttpPost
 
 			headerParas = checkUserAgent(headerParas);
 
@@ -590,19 +590,19 @@
 				log.debug("request--header:" + header.getName() + ":" + header.getValue());
 			}
 
-			// HttpResponse response = httpClient.execute(httpGet); // 执行POST请求
+			// HttpResponse response = httpClient.execute(httpGet); // 鎵цPOST璇锋眰
 			HttpResponse response = httpClient.execute(request);
 			headers = response.getAllHeaders();
 			for (Header header : headers) {
 				log.debug("response--header:" + header.getName() + ":" + header.getValue());
 			}
-			HttpEntity entity = response.getEntity(); // 获取响应实体
+			HttpEntity entity = response.getEntity(); // 鑾峰彇鍝嶅簲瀹炰綋
 
 			this.debug(request.getURI(), response.getStatusLine().getStatusCode(), entity.getContentLength(), entity.getContentType());
 			
 			if (302 == response.getStatusLine().getStatusCode() && response.containsHeader("location")) {
 				String location = response.getLastHeader("location").getValue();
-				log.debug("重定向");
+				log.debug("閲嶅畾鍚�");
 				return sendGetRequestAsResponse(location, headerParas, params);
 			}
 
diff --git a/src/main/java/com/qxueyou/scc/base/util/ImageUtils.java b/src/main/java/com/qxueyou/scc/base/util/ImageUtils.java
index c52db28..7414f0a 100644
--- a/src/main/java/com/qxueyou/scc/base/util/ImageUtils.java
+++ b/src/main/java/com/qxueyou/scc/base/util/ImageUtils.java
@@ -30,50 +30,50 @@
 			Ellipse2D.Double shapeEllipse = new Ellipse2D.Double(0, 0, Math.min(bi1.getWidth(),bi1.getHeight()),
 					Math.min(bi1.getWidth(),bi1.getHeight()));
 
-			// 设置透明背景
+			// 璁剧疆閫忔槑鑳屾櫙
 			BufferedImage bi2 = new BufferedImage(bi1.getWidth(),
 					bi1.getHeight(), BufferedImage.TRANSLUCENT);
 			Graphics2D g2 = bi2.createGraphics();
 			g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
 			g2.setClip(shapeEllipse);
 
-			// 画图片
+			// 鐢诲浘鐗�
 			g2.drawImage(bi1, 0, 0, null);
 			g2.dispose();
 
 			ImageIO.write(bi2, "PNG", file);
 
 		} catch (IOException e) {
-			log.error("图片处理失败", e);
+			log.error("鍥剧墖澶勭悊澶辫触", e);
 		}
 	}
-	//矩形头像
+	//鐭╁舰澶村儚
 	public static void doRectangle(File file){
 		try {
 			BufferedImage bi1 = ImageIO.read(file);
 			Rectangle2D.Double shapeRectangle = new Rectangle2D.Double(0, 0, Math.min(bi1.getWidth(),bi1.getHeight()),
 					Math.min(bi1.getWidth(),bi1.getHeight()));
 
-			// 设置透明背景
+			// 璁剧疆閫忔槑鑳屾櫙
 			BufferedImage bi2 = new BufferedImage(bi1.getWidth(),
 					bi1.getHeight(), BufferedImage.TRANSLUCENT);
 			Graphics2D g2 = bi2.createGraphics();
 			g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
 			g2.setClip(shapeRectangle);
 
-			// 画图片
+			// 鐢诲浘鐗�
 			g2.drawImage(bi1, 0, 0, null);
 			g2.dispose();
 
 			ImageIO.write(bi2, "PNG", file);
 
 		} catch (IOException e) {
-			log.error("图片处理失败", e);
+			log.error("鍥剧墖澶勭悊澶辫触", e);
 		}
 	}
 	
 	/**
-	 * 为图片生成缩略图
+	 * 涓哄浘鐗囩敓鎴愮缉鐣ュ浘
 	 * @param file
 	 */
 	public static void decreaseSizeImage(File file) {
@@ -87,12 +87,12 @@
 			int height = bi1.getHeight();
 			
 
-			// 设置透明背景
+			// 璁剧疆閫忔槑鑳屾櫙
 			BufferedImage bi2 = new BufferedImage(getPriviewImageWidth(width,height),
 					getPriviewImageHeight(width,height), bi1.getType());
 			Graphics2D g2 = bi2.createGraphics();
 
-			// 画图片
+			// 鐢诲浘鐗�
 			Image image = bi1.getScaledInstance(getPriviewImageWidth(width,height), getPriviewImageHeight(width,height), Image.SCALE_DEFAULT);  
 			g2.drawImage(image, 0, 0, null);
 			g2.dispose();
@@ -100,7 +100,7 @@
 			ImageIO.write(bi2, "PNG", createPreviewFile(file));
 
 		} catch (IOException e) {
-			log.error("图片处理失败", e);
+			log.error("鍥剧墖澶勭悊澶辫触", e);
 		}
 	}
 	
@@ -136,7 +136,7 @@
 		}
 	}
 	
-	public static String encodeImgageToBase64(String imgStr) { // 将图片文件转化为字节数组字符串,并对其进行Base64编码处理  
+	public static String encodeImgageToBase64(String imgStr) { // 灏嗗浘鐗囨枃浠惰浆鍖栦负瀛楄妭鏁扮粍瀛楃涓诧紝骞跺鍏惰繘琛孊ase64缂栫爜澶勭悊  
         
 		
 		ByteArrayOutputStream outputStream = null;  
@@ -150,9 +150,9 @@
         } catch (IOException e) {  
             e.printStackTrace();  
         }  
-        // 对字节数组Base64编码  
+        // 瀵瑰瓧鑺傛暟缁凚ase64缂栫爜  
         BASE64Encoder encoder = new BASE64Encoder();  
-        return encoder.encode(outputStream.toByteArray());// 返回Base64编码过的字节数组字符串  
+        return encoder.encode(outputStream.toByteArray());// 杩斿洖Base64缂栫爜杩囩殑瀛楄妭鏁扮粍瀛楃涓�  
     } 
 	
 	public static void main(String[] args){
diff --git a/src/main/java/com/qxueyou/scc/base/util/JacobUtil.java b/src/main/java/com/qxueyou/scc/base/util/JacobUtil.java
index 9cd5140..ef71e21 100644
--- a/src/main/java/com/qxueyou/scc/base/util/JacobUtil.java
+++ b/src/main/java/com/qxueyou/scc/base/util/JacobUtil.java
@@ -16,15 +16,15 @@
     public static final String PPT = "ppt";  
     public static final String PPTX = "pptx";  
    
-     // 8 代表word保存成html    
+     // 8 浠h〃word淇濆瓨鎴恏tml    
      public static final int WORD2HTML = 8;    
-     // 17代表word保存成pdf  
+     // 17浠h〃word淇濆瓨鎴恜df  
      public static final int WD2PDF = 17;  
      public static final int PPT2PDF = 32;  
      public static final int XLS2PDF = 0;  
    
  public static void main(String[] args) {     
-     String pptfile = "D:/upload/新员工入职向导及信息201605.xlsx";    
+     String pptfile = "D:/upload/鏂板憳宸ュ叆鑱屽悜瀵煎強淇℃伅201605.xlsx";    
      //String pdffile = "D:/upload/b.pdf";    
      String htmlfile="D:/upload/excel.pdf";
      //ppt2pdf(pptfile,pdffile);    
@@ -32,24 +32,24 @@
  }    
      
 /** 
-  * @param resourceType 资源类型 
-  * @param path 资源路径 
+  * @param resourceType 璧勬簮绫诲瀷 
+  * @param path 璧勬簮璺緞 
   * @return 
-  * TODO 文件转换 
+  * TODO 鏂囦欢杞崲 
   */  
  public static Integer formatConvert(String resourceType, String resourcePath) {  
      Integer pages = 0;  
      String resource = resourcePath.substring(0, resourcePath.lastIndexOf("."));  
      if(resourceType.equalsIgnoreCase(DOC)||resourceType.equalsIgnoreCase(DOCX)){  
-         //word转成pdf和图??  
+         //word杞垚pdf鍜屽浘??  
          word2pdf(resourcePath, resource+".pdf");  
      }else if(resourceType.equalsIgnoreCase(XLS)||resourceType.equalsIgnoreCase(XLSX)){  
-         //excel文件转成图片  
+         //excel鏂囦欢杞垚鍥剧墖  
          excel2pdf(resourcePath, resource+".pdf");  
      }else if(resourceType.equalsIgnoreCase(PPT)||resourceType.equalsIgnoreCase(PPTX)){  
          ppt2pdf(resourcePath, resource+".pdf");  
      }else if(resourceType.equalsIgnoreCase(MP4)){  
-         //视频文件不转??  
+         //瑙嗛鏂囦欢涓嶈浆??  
          pages = 0;  
      }  
      return pages;  
@@ -58,18 +58,18 @@
    
  public static void word2pdf(String docfile, String pdffile)       
  {       
-     // 启动word应用程序(Microsoft Office Word 2003)    
+     // 鍚姩word搴旂敤绋嬪簭(Microsoft Office Word 2003)    
      ActiveXComponent app = null;    
      try{  
          ComThread.InitSTA();  
          app = new ActiveXComponent("Word.Application");       
          app.setProperty("Visible", false);  
-         System.out.println("*****正在转换...*****");    
-         // 设置word应用程序不可??  
+         System.out.println("*****姝e湪杞崲...*****");    
+         // 璁剧疆word搴旂敤绋嬪簭涓嶅彲??  
         // app.setProperty("Visible", new Variant(false));      
-         // documents表示word程序的所有文档窗口,(word是多文档应用程序???   
+         // documents琛ㄧずword绋嬪簭鐨勬墍鏈夋枃妗g獥鍙o紝锛坵ord鏄鏂囨。搴旂敤绋嬪簭???   
          Dispatch docs = app.getProperty("Documents").toDispatch();      
-         // 打开要转换的word文件    
+         // 鎵撳紑瑕佽浆鎹㈢殑word鏂囦欢    
         /* Dispatch doc = Dispatch.invoke(      
                  docs,      
                  "Open",      
@@ -83,12 +83,12 @@
                  docfile,  
                  false,  
                  true).toDispatch();       
-         // 调用Document对象的saveAs方法,将文档保存为pdf格式  
+         // 璋冪敤Document瀵硅薄鐨剆aveAs鏂规硶,灏嗘枃妗d繚瀛樹负pdf鏍煎紡  
          /*Dispatch.invoke(doc, "ExportAsFixedFormat", Dispatch.Method, new Object[] {      
                  pdffile, new Variant(wdFormatPDF) }, new int[1]);*/    
            
          Dispatch.call(doc, "ExportAsFixedFormat", pdffile, WD2PDF);    
-         // 关闭word文件    
+         // 鍏抽棴word鏂囦欢    
          Dispatch.call(doc, "Close", false);   
      }       
      catch (Exception e)       
@@ -97,11 +97,11 @@
      }       
      finally      
      {       
-         //关闭word应用程序    
+         //鍏抽棴word搴旂敤绋嬪簭    
          app.invoke("Quit", 0);     
          ComThread.Release();  
      }     
-     System.out.println("*****转换完毕********");    
+     System.out.println("*****杞崲瀹屾瘯********");    
  }  
       
    
@@ -132,7 +132,7 @@
          ComThread.InitSTA(true);  
          app = new ActiveXComponent("Excel.Application");  
          app.setProperty("Visible", false);  
-         app.setProperty("AutomationSecurity", new Variant(3));//禁用??  
+         app.setProperty("AutomationSecurity", new Variant(3));//绂佺敤??  
          Dispatch excels = app.getProperty("Workbooks").toDispatch();  
          /*Dispatch excel = Dispatch.invoke(excels, "Open", Dispatch.Method, new Object[]{ 
                  excelfile, 
@@ -141,11 +141,11 @@
          },new int[9]).toDispatch();*/  
          Dispatch excel = Dispatch.call(excels, "Open",   
                  excelfile,false,true).toDispatch();  
-         //转换格式ExportAsFixedFormat  
+         //杞崲鏍煎紡ExportAsFixedFormat  
          /*Dispatch.invoke(excel, "ExportAsFixedFormat", Dispatch.Method, new Object[]{ 
-                 new Variant(0),//pdf格式=0 
+                 new Variant(0),//pdf鏍煎紡=0 
                  pdffile, 
-                 new Variant(0)//0=标准(生成的pdf图片不会变模??) 1=??小文??(生成的pdf图片模糊的一塌糊??) 
+                 new Variant(0)//0=鏍囧噯(鐢熸垚鐨刾df鍥剧墖涓嶄細鍙樻ā??) 1=??灏忔枃??(鐢熸垚鐨刾df鍥剧墖妯$硦鐨勪竴濉岀硦??) 
          }, new int[1]);*/  
          Dispatch.call(excel, "ExportAsFixedFormat",XLS2PDF,  
                  pdffile);  
diff --git a/src/main/java/com/qxueyou/scc/base/util/MD5Utils.java b/src/main/java/com/qxueyou/scc/base/util/MD5Utils.java
index 25be54e..9bbf76d 100644
--- a/src/main/java/com/qxueyou/scc/base/util/MD5Utils.java
+++ b/src/main/java/com/qxueyou/scc/base/util/MD5Utils.java
@@ -12,7 +12,7 @@
     private static Logger log = LogManager.getLogger("MD5Utils");
     
     /** 
-     * MD5数字签名 
+     * MD5鏁板瓧绛惧悕 
      * @param src 
      * @return 
      * @throws Exception 
@@ -29,7 +29,7 @@
 	} 
 	
     /** 
-     * 字节数组转化为大写16进制字符串 
+     * 瀛楄妭鏁扮粍杞寲涓哄ぇ鍐�16杩涘埗瀛楃涓� 
      * @param b 
      * @return 
      */  
@@ -46,7 +46,7 @@
     }  
     
     /***
-	 * MD5加码 生成32位md5码
+	 * MD5鍔犵爜 鐢熸垚32浣峬d5鐮�
 	 */  
     public static String string2MD5(String inStr){  
         MessageDigest md5 = null;  
diff --git a/src/main/java/com/qxueyou/scc/base/util/MyJsCssVersionUtils.java b/src/main/java/com/qxueyou/scc/base/util/MyJsCssVersionUtils.java
index 6a339ba..9806409 100644
--- a/src/main/java/com/qxueyou/scc/base/util/MyJsCssVersionUtils.java
+++ b/src/main/java/com/qxueyou/scc/base/util/MyJsCssVersionUtils.java
@@ -23,35 +23,35 @@
 import org.apache.commons.lang3.StringUtils;
 
 /**
- * 前三个属性根据实际存储位置设置
+ * 鍓嶄笁涓睘鎬ф牴鎹疄闄呭瓨鍌ㄤ綅缃缃�
  * @author ody.yuan
  *
  */
 public class MyJsCssVersionUtils {
 	
-	 /** web工程的发布路径  */
+	 /** web宸ョ▼鐨勫彂甯冭矾寰�  */
     private static String webContent = "qxueyou";
     
-    /** web工程中web文件夹的绝对路径 D:\project\workspace_web\versioncontroller0\web\js\qxueyou.js  */
-    /** web工程中web文件夹的绝对路径 D:\project\workspaceStkkk\qxueyou_web\web\js\qxueyou.js  */
+    /** web宸ョ▼涓瓀eb鏂囦欢澶圭殑缁濆璺緞 D:\project\workspace_web\versioncontroller0\web\js\qxueyou.js  */
+    /** web宸ョ▼涓瓀eb鏂囦欢澶圭殑缁濆璺緞 D:\project\workspaceStkkk\qxueyou_web\web\js\qxueyou.js  */
     private static String webFileAbsolutePath = "C:" + File.separator + "workspace" + File.separator + "qxueyou_web";
     
-    /** 扫描js、css、html文件的文件夹绝对路径,固定设置为web目录  */
+    /** 鎵弿js銆乧ss銆乭tml鏂囦欢鐨勬枃浠跺す缁濆璺緞锛屽浐瀹氳缃负web鐩綍  */
     private static String fileScanDirec = "C:" + File.separator + "workspace" + File.separator + "qxueyou_web";
     
-	/** 匹配html中引入js文件  */
+	/** 鍖归厤html涓紩鍏s鏂囦欢  */
     private static Pattern scriptImportPattrrn = Pattern.compile("<script(.*)src(.*)</script>");
     
-    /** 匹配html中引入css文件  */
+    /** 鍖归厤html涓紩鍏ss鏂囦欢  */
     private static Pattern cssImportPattrrn = Pattern.compile("<link(.*)href(.*)rel(.*)>");
     
     private static char hexDigits[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
     
     
     /**
-     * 得到处理过的文件路径为key,文件md5值为value的map
-     * @param filePath 文件路径
-     * @param fileExtension 文件类型
+     * 寰楀埌澶勭悊杩囩殑鏂囦欢璺緞涓簁ey锛屾枃浠秏d5鍊间负value鐨刴ap
+     * @param filePath 鏂囦欢璺緞
+     * @param fileExtension 鏂囦欢绫诲瀷
      * @param map map
      */
     private static void getFileMD5Map(String filePath,String fileExtension,Map<String,String> map,String version){
@@ -59,7 +59,7 @@
     }
     
     /**
-     * 得到路径下的所需文件和文件的md5值
+     * 寰楀埌璺緞涓嬬殑鎵�闇�鏂囦欢鍜屾枃浠剁殑md5鍊�
      * @param filePath
      * @param fileExtension
      * @param map
@@ -69,7 +69,7 @@
     	File file = new File(filePath);
     	if(file.isFile()){
     		String fiePath = file.getAbsolutePath();
-    		//符合指定类型
+    		//绗﹀悎鎸囧畾绫诲瀷
     		if(fiePath.endsWith(fileExtension)){
     			generateMap(file,fileExtension,map,version);
     		}
@@ -82,12 +82,12 @@
     }
     
     /**
-     * 得到一个文件的map
+     * 寰楀埌涓�涓枃浠剁殑map
      * @param file
      * @param map
      */
     private static void generateMap(File file, String fileExtension, Map<String,String> map,String version){
-    	//TODO  缩短md5值
+    	//TODO  缂╃煭md5鍊�
     	String strKey = file.getAbsolutePath();
 		strKey = strKey.replace(webFileAbsolutePath, File.separator + webContent);
 		strKey = strKey.replace("\\", "/");
@@ -100,11 +100,11 @@
     }
     
     /**
-     * 对文件全文生成MD5摘要
+     * 瀵规枃浠跺叏鏂囩敓鎴怣D5鎽樿
      * 
      * @param file
-     *            要加密的文件
-     * @return MD5摘要码
+     *            瑕佸姞瀵嗙殑鏂囦欢
+     * @return MD5鎽樿鐮�
      */
     public static String getMD5(File file) {
         FileInputStream fis = null;
@@ -113,14 +113,14 @@
             fis = new FileInputStream(file);
             byte[] buffer = new byte[2048];
             int length = -1;
-            //暂时不用
+            //鏆傛椂涓嶇敤
             //long s = System.currentTimeMillis();
             while ((length = fis.read(buffer)) != -1) {
                 md.update(buffer, 0, length);
             }
             byte[] b = md.digest();
             return byteToHexString(b);
-            // 16位加密
+            // 16浣嶅姞瀵�
             // return buf.toString().substring(8, 24);
         } catch (Exception ex) {
             ex.printStackTrace();
@@ -135,25 +135,25 @@
     }
  
     /**
-     * 把byte[]数组转换成十六进制字符串表示形式
-     * @param tmp    要转换的byte[]
-     * @return 十六进制字符串表示形式
+     * 鎶奲yte[]鏁扮粍杞崲鎴愬崄鍏繘鍒跺瓧绗︿覆琛ㄧず褰㈠紡
+     * @param tmp    瑕佽浆鎹㈢殑byte[]
+     * @return 鍗佸叚杩涘埗瀛楃涓茶〃绀哄舰寮�
      */
     private static String byteToHexString(byte[] tmp) {
     	
         String s;
-        // 用字节表示就是 16 个字节
-        char str[] = new char[16 * 2]; // 每个字节用 16 进制表示的话,使用两个字符,
-        // 所以表示成 16 进制需要 32 个字符
-        int k = 0; // 表示转换结果中对应的字符位置
-        for (int i = 0; i < 16; i++) { // 从第一个字节开始,对 MD5 的每一个字节
-            // 转换成 16 进制字符的转换
-            byte byte0 = tmp[i]; // 取第 i 个字节
-            str[k++] = hexDigits[byte0 >>> 4 & 0xf]; // 取字节中高 4 位的数字转换, 
-            // >>> 为逻辑右移,将符号位一起右移
-            str[k++] = hexDigits[byte0 & 0xf]; // 取字节中低 4 位的数字转换
+        // 鐢ㄥ瓧鑺傝〃绀哄氨鏄� 16 涓瓧鑺�
+        char str[] = new char[16 * 2]; // 姣忎釜瀛楄妭鐢� 16 杩涘埗琛ㄧず鐨勮瘽锛屼娇鐢ㄤ袱涓瓧绗︼紝
+        // 鎵�浠ヨ〃绀烘垚 16 杩涘埗闇�瑕� 32 涓瓧绗�
+        int k = 0; // 琛ㄧず杞崲缁撴灉涓搴旂殑瀛楃浣嶇疆
+        for (int i = 0; i < 16; i++) { // 浠庣涓�涓瓧鑺傚紑濮嬶紝瀵� MD5 鐨勬瘡涓�涓瓧鑺�
+            // 杞崲鎴� 16 杩涘埗瀛楃鐨勮浆鎹�
+            byte byte0 = tmp[i]; // 鍙栫 i 涓瓧鑺�
+            str[k++] = hexDigits[byte0 >>> 4 & 0xf]; // 鍙栧瓧鑺備腑楂� 4 浣嶇殑鏁板瓧杞崲, 
+            // >>> 涓洪�昏緫鍙崇Щ锛屽皢绗﹀彿浣嶄竴璧峰彸绉�
+            str[k++] = hexDigits[byte0 & 0xf]; // 鍙栧瓧鑺備腑浣� 4 浣嶇殑鏁板瓧杞崲
         }
-        s = new String(str); // 换后的结果转换为字符串
+        s = new String(str); // 鎹㈠悗鐨勭粨鏋滆浆鎹负瀛楃涓�
         return s;
     }
     
@@ -168,7 +168,7 @@
     }
     
     /**
-     * 得到路径下的所需文件和文件的md5值
+     * 寰楀埌璺緞涓嬬殑鎵�闇�鏂囦欢鍜屾枃浠剁殑md5鍊�
      * @param filePath
      * @param fileExtension
      * @param map
@@ -178,7 +178,7 @@
     	File file = new File(filePath);
     	if(file.isFile()){
     		String fiePath = file.getAbsolutePath();
-    		//符合指定类型
+    		//绗﹀悎鎸囧畾绫诲瀷
     		if(fiePath.endsWith(fileExtension)){
     			addVersion(file,map);
     		}
@@ -191,24 +191,24 @@
     }
     
     /**
-     * 得到一个文件的map
+     * 寰楀埌涓�涓枃浠剁殑map
      * @param file
      * @param map
      */
     private static void addVersion(File file,Map<String,String> map){
-    	//TODO  缩短md5值
+    	//TODO  缂╃煭md5鍊�
     	InputStream is = null;
         OutputStream os = null;
         List<String> contentList = new ArrayList<String>();
     	
-    	// 读文件
+    	// 璇绘枃浠�
         try {
-            //指定utf-8格式
+            //鎸囧畾utf-8鏍煎紡
             BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file), "utf-8"));
             String line = null;
             
             while ((line = br.readLine()) != null) {
-            	//TODO version 传null值
+            	//TODO version 浼爊ull鍊�
                 String modLine = getModLine(line, null,map);
                 if (modLine != null) {
                 	//System.out.println(modLine);
@@ -217,10 +217,10 @@
                 line = line + "\r\n";
                 contentList.add(line);
             }
-            // 关闭流
+            // 鍏抽棴娴�
             br.close();
         } catch (Exception e) {
-            System.out.println("读文件失败:" + file.getAbsolutePath());
+            System.out.println("璇绘枃浠跺け璐ワ細" + file.getAbsolutePath());
             e.printStackTrace();
         } finally {
             if (null != is) {
@@ -232,21 +232,21 @@
             }
 
         }
-        // 写文件
+        // 鍐欐枃浠�
         try {
-        	//指定utf8格式
+        	//鎸囧畾utf8鏍煎紡
         	BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file),"utf-8"));
         	
             for (Iterator<String> it = contentList.iterator(); it.hasNext();) {
                 String line = it.next();
                 bw.write(line);
             } 
-            // 更新到文件
+            // 鏇存柊鍒版枃浠�
             bw.flush();
-            // 关闭流
+            // 鍏抽棴娴�
             bw.close();
         } catch (Exception e) {
-            System.out.println("写文件失败:" + file.getAbsolutePath());
+            System.out.println("鍐欐枃浠跺け璐ワ細" + file.getAbsolutePath());
             e.printStackTrace();
         } finally {
             if (null != os) {
@@ -261,17 +261,17 @@
     
     /**
      * 
-     * 查找文件需要的版本号的js 与css 行
-     * @param line 行字符
-     * @param version 默认版本
+     * 鏌ユ壘鏂囦欢闇�瑕佺殑鐗堟湰鍙风殑js 涓巆ss 琛�
+     * @param line 琛屽瓧绗�
+     * @param version 榛樿鐗堟湰
      * @param map md5 map
      * @return 
      */
     private static String getModLine(String line, String version, Map<String, String> map) {
     	
-        //匹配html引入js文件       eg:<script type="text/javascript" src="/qxueyou/web/js/qxueyou.js"></script>
+        //鍖归厤html寮曞叆js鏂囦欢       eg:<script type="text/javascript" src="/qxueyou/web/js/qxueyou.js"></script>
         if (scriptImportPattrrn.matcher(line).find()) {
-        	//以引号分隔,以/开始
+        	//浠ュ紩鍙峰垎闅旓紝浠�/寮�濮�
         	String md5Version = null;
         	String strLine[] = line.split("\"");
         	for(String str:strLine){
@@ -279,7 +279,7 @@
         			break;
         		}
         		if(str.startsWith("/")){
-        			//如果已有版本号,按?分隔,取第一个
+        			//濡傛灉宸叉湁鐗堟湰鍙凤紝鎸�?鍒嗛殧锛屽彇绗竴涓�
         			if(str.lastIndexOf("?version") != -1){
         				str = str.substring(0, str.lastIndexOf("?version"));
         			}
@@ -293,10 +293,10 @@
         		return modLine;
         	}
         
-        //匹配html引入css文件      eg:<link href="/qxueyou/web/css/bootstrap.min.css" rel="stylesheet">
+        //鍖归厤html寮曞叆css鏂囦欢      eg锛�<link href="/qxueyou/web/css/bootstrap.min.css" rel="stylesheet">
         } else if (cssImportPattrrn.matcher(line).find()) {
         	
-        	//以引号分隔,以/开始
+        	//浠ュ紩鍙峰垎闅旓紝浠�/寮�濮�
         	String md5Version = null;
         	String strLine[] = line.split("\"");
         	for(String str:strLine){
@@ -304,7 +304,7 @@
         			break;
         		}
         		if(str.startsWith("/")){
-        			//如果已有版本号,按?分隔,取第一个
+        			//濡傛灉宸叉湁鐗堟湰鍙凤紝鎸�?鍒嗛殧锛屽彇绗竴涓�
         			if(str.lastIndexOf("?version") != -1){
         				str = str.substring(0, str.lastIndexOf("?version"));
         			}
@@ -334,12 +334,12 @@
         String version = df.format(date);
 		
 		Map<String,String> objMap = new HashMap<String,String>();
-		//添加js文件
+		//娣诲姞js鏂囦欢
 		getFileMD5Map(fileScanDirec,".js",objMap,version);
-		//添加CSS文件
+		//娣诲姞CSS鏂囦欢
 		getFileMD5Map(fileScanDirec,".css",objMap,version);
 		
-		//循环html文件,修改其中的css和js引入路径
+		//寰幆html鏂囦欢锛屼慨鏀瑰叾涓殑css鍜宩s寮曞叆璺緞
 		getHtml(fileScanDirec,".ftl",objMap);
 		
 		System.out.println("successful");
diff --git a/src/main/java/com/qxueyou/scc/base/util/NumRandomUtils.java b/src/main/java/com/qxueyou/scc/base/util/NumRandomUtils.java
index f655200..f776ddf 100644
--- a/src/main/java/com/qxueyou/scc/base/util/NumRandomUtils.java
+++ b/src/main/java/com/qxueyou/scc/base/util/NumRandomUtils.java
@@ -1,12 +1,12 @@
 package com.qxueyou.scc.base.util;
 /**
- * 数字随机
+ * 鏁板瓧闅忔満
  * @author iqtogether
  *
  */
 public class NumRandomUtils {
 	/**
-	 * 随机6位数字
+	 * 闅忔満6浣嶆暟瀛�
 	 * @return
 	 */
 	public static String randomSixNum(){
diff --git a/src/main/java/com/qxueyou/scc/base/util/PageUtils.java b/src/main/java/com/qxueyou/scc/base/util/PageUtils.java
index 005805a..2ddb808 100644
--- a/src/main/java/com/qxueyou/scc/base/util/PageUtils.java
+++ b/src/main/java/com/qxueyou/scc/base/util/PageUtils.java
@@ -15,8 +15,8 @@
 	}
 	
 	/**
-	 * bootstrap自动组装的分页对象解析为hibernate提供接口的分页对象
-	 * @param objPaginationData 前台自动组装的分页对象
+	 * bootstrap鑷姩缁勮鐨勫垎椤靛璞¤В鏋愪负hibernate鎻愪緵鎺ュ彛鐨勫垎椤靛璞�
+	 * @param objPaginationData 鍓嶅彴鑷姩缁勮鐨勫垎椤靛璞�
 	 * @return
 	 */
 	public static Pager getPager(PaginationData objPaginationData){
diff --git a/src/main/java/com/qxueyou/scc/base/util/ParamsUtils.java b/src/main/java/com/qxueyou/scc/base/util/ParamsUtils.java
index f6f2f37..bf4b560 100644
--- a/src/main/java/com/qxueyou/scc/base/util/ParamsUtils.java
+++ b/src/main/java/com/qxueyou/scc/base/util/ParamsUtils.java
@@ -14,11 +14,11 @@
 public class ParamsUtils {
 	
 	/**
-     * 获取查询条件的公用方法
+     * 鑾峰彇鏌ヨ鏉′欢鐨勫叕鐢ㄦ柟娉�
      * 
      * @param request HttpServletRequest
-     * @param strSupportQueryArray 定义自己功能模块支持查询的条件数组集合
-     * @param lstQueryCondition 查询条件
+     * @param strSupportQueryArray 瀹氫箟鑷繁鍔熻兘妯″潡鏀寔鏌ヨ鐨勬潯浠舵暟缁勯泦鍚�
+     * @param lstQueryCondition 鏌ヨ鏉′欢
      */
     public static void getAllQueryCondition(HttpServletRequest request, String[] strSupportQueryArray,
         List<Param> lstParams) {
@@ -28,28 +28,28 @@
         String strValue = "";
         List<String> lstSupportQuery = Arrays.asList(strSupportQueryArray);
         /**
-         * 条件分为以下几种情况: 1、关键字查询  2、单选按钮的数据字典值  3、复选数组,比如类型
-         * 4、时间范围,比如开始时间和结束时间 5、数字范围, 6、其它类型
+         * 鏉′欢鍒嗕负浠ヤ笅鍑犵鎯呭喌: 1銆佸叧閿瓧鏌ヨ  2銆佸崟閫夋寜閽殑鏁版嵁瀛楀吀鍊�  3銆佸閫夋暟缁勶紝姣斿绫诲瀷
+         * 4銆佹椂闂磋寖鍥达紝姣斿寮�濮嬫椂闂村拰缁撴潫鏃堕棿 5銆佹暟瀛楄寖鍥达紝 6銆佸叾瀹冪被鍨�
          */
         for (Map.Entry<String, String[]> entry : entryseSet) {
-            /** 获取参数中的键值对 */
+            /** 鑾峰彇鍙傛暟涓殑閿�煎 */
             strKey = entry.getKey().toString();
             strValue = entry.getValue()[0];
-            /** 不支持的条件将会被过滤 */
+            /** 涓嶆敮鎸佺殑鏉′欢灏嗕細琚繃婊� */
             if (lstSupportQuery.contains(strKey) && StringUtils.isNotBlank(strValue)) {
-                // 去空格
+                // 鍘荤┖鏍�
                 strValue = strValue.trim();
-                if (strValue.matches("^[0-9]*[0-9][0-9]*$")) {// 单选 数字
+                if (strValue.matches("^[0-9]*[0-9][0-9]*$")) {// 鍗曢�� 鏁板瓧
                 	lstParams.add(new Param(strKey, " = ", strValue));
-                } else if (strValue.contains(",")) {// 复选 数字
+                } else if (strValue.contains(",")) {// 澶嶉�� 鏁板瓧
                     if (strValue.replace(",", "").matches("^-?[0-9]*$")){
                     	lstParams.add(new Param(strKey, " in ",  strValue ));
                     }
-                } else if (strValue.contains("~")) {// 时间范围
+                } else if (strValue.contains("~")) {// 鏃堕棿鑼冨洿
                     
-                }else if (strValue.contains("-")) {// 数字范围
+                }else if (strValue.contains("-")) {// 鏁板瓧鑼冨洿
                 	
-                }  else {// 其它
+                }  else {// 鍏跺畠
                 	lstParams.add(new Param(strKey, " LIKE ", "%"+strValue+"%"));
                 }
             }
diff --git a/src/main/java/com/qxueyou/scc/base/util/PhoneNOUtils.java b/src/main/java/com/qxueyou/scc/base/util/PhoneNOUtils.java
index fc211d2..b4b893c 100644
--- a/src/main/java/com/qxueyou/scc/base/util/PhoneNOUtils.java
+++ b/src/main/java/com/qxueyou/scc/base/util/PhoneNOUtils.java
@@ -3,8 +3,8 @@
 import java.util.regex.Pattern;
 
 /**
- * 手机号码工具类
- * @author 德虎
+ * 鎵嬫満鍙风爜宸ュ叿绫�
+ * @author 寰疯檸
  *
  */
 public final class PhoneNOUtils {
@@ -12,7 +12,7 @@
 	private final static Pattern pattern = Pattern.compile("1[3,4,5,7,8]\\d{9}");
 	
 	/**
-	 * 验证是否为有效手机号
+	 * 楠岃瘉鏄惁涓烘湁鏁堟墜鏈哄彿
 	 * @param phoneNo
 	 * @return
 	 */
@@ -23,7 +23,7 @@
 	}
 	
 	/**
-	 * 替换手机号关键号码为*
+	 * 鏇挎崲鎵嬫満鍙峰叧閿彿鐮佷负*
 	 * @param phoneNo
 	 * @return
 	 */
diff --git a/src/main/java/com/qxueyou/scc/base/util/QBeanUtils.java b/src/main/java/com/qxueyou/scc/base/util/QBeanUtils.java
index d7526ff..e048a8e 100644
--- a/src/main/java/com/qxueyou/scc/base/util/QBeanUtils.java
+++ b/src/main/java/com/qxueyou/scc/base/util/QBeanUtils.java
@@ -11,8 +11,8 @@
 import org.apache.logging.log4j.Logger;
 
 /**
- * Bean 工具类
- * @author 夏德虎
+ * Bean 宸ュ叿绫�
+ * @author 澶忓痉铏�
  *
  */
 public class QBeanUtils {
@@ -20,9 +20,9 @@
 	private static final Logger log = LogManager.getLogger("QBeanUtils");
 	
 	/**
-	 * 将 Bean 转换成 Map,支持 将 id 转换为 id1
-	 * @param src bean对象
-	 * @param propertyMap 字段映射
+	 * 灏� Bean 杞崲鎴� Map,鏀寔 灏� id 杞崲涓� id1
+	 * @param src bean瀵硅薄
+	 * @param propertyMap 瀛楁鏄犲皠
 	 * @return
 	 */
 	public static final <T> Map<String,Object> bean2Map(T src,Map<String,String> propertyMap) {
@@ -68,9 +68,9 @@
 	}
 	
 	/**
-	 * 将List<T> 转换成 List<Map>,支持 将 id 转换为 id1
-	 * @param src List<T>对象
-	 * @param propertyMap 字段映射
+	 * 灏哃ist<T> 杞崲鎴� List<Map>,鏀寔 灏� id 杞崲涓� id1
+	 * @param src List<T>瀵硅薄
+	 * @param propertyMap 瀛楁鏄犲皠
 	 * @return
 	 */
 	public static final <T> List<Map<String,Object>> listBean2ListMap(List<T> src,Map<String,String> propertyMap) {
@@ -88,9 +88,9 @@
 	}
 	
 	/**
-	 * 将List<T> 转换成 List<Map>,支持 将 id 转换为 id1
-	 * @param src List<T>对象
-	 * @param propertyMap 字段映射
+	 * 灏哃ist<T> 杞崲鎴� List<Map>,鏀寔 灏� id 杞崲涓� id1
+	 * @param src List<T>瀵硅薄
+	 * @param propertyMap 瀛楁鏄犲皠
 	 * @return
 	 * @throws NoSuchMethodException 
 	 * @throws InvocationTargetException 
@@ -124,7 +124,7 @@
 	}
 	
 	/**
-	 * 将bean列表中的一个属性值作为KEY,另一个属性值作为value
+	 * 灏哹ean鍒楄〃涓殑涓�涓睘鎬у�间綔涓篕EY锛屽彟涓�涓睘鎬у�间綔涓簐alue
 	 * @param src
 	 * @param propertyKey
 	 * @param propertyVal
@@ -173,9 +173,9 @@
 	
 	
 	/**
-	 * 将Object 挑选指定属性转换成  Map<String,Object>
-	 * @param src 源目标
-	 * @param propertyMap 字段映射
+	 * 灏哋bject 鎸戦�夋寚瀹氬睘鎬ц浆鎹㈡垚  Map<String,Object>
+	 * @param src 婧愮洰鏍�
+	 * @param propertyMap 瀛楁鏄犲皠
 	 * @return
 	 */
 	public static final Map<String,Object> copyPropertiesToMap(Object src,Map<String,String> propertyMap) {
diff --git a/src/main/java/com/qxueyou/scc/base/util/QFileUtils.java b/src/main/java/com/qxueyou/scc/base/util/QFileUtils.java
index 3c1959e..32ee58d 100644
--- a/src/main/java/com/qxueyou/scc/base/util/QFileUtils.java
+++ b/src/main/java/com/qxueyou/scc/base/util/QFileUtils.java
@@ -3,14 +3,14 @@
 import org.apache.commons.lang3.StringUtils;
 
 /**
- * 文件工具类
+ * 鏂囦欢宸ュ叿绫�
  * @author xiadehu
  *
  */
 public final class QFileUtils {  
 
 	/**
-	 * 根据后缀名得到文件类型
+	 * 鏍规嵁鍚庣紑鍚嶅緱鍒版枃浠剁被鍨�
 	 * @param fileName
 	 * @return
 	 */
diff --git a/src/main/java/com/qxueyou/scc/base/util/QrCodeUtils.java b/src/main/java/com/qxueyou/scc/base/util/QrCodeUtils.java
index 0a442e5..c9c449a 100644
--- a/src/main/java/com/qxueyou/scc/base/util/QrCodeUtils.java
+++ b/src/main/java/com/qxueyou/scc/base/util/QrCodeUtils.java
@@ -32,9 +32,9 @@
 import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
 
 /**
- * 二维码生成工具类
+ * 浜岀淮鐮佺敓鎴愬伐鍏风被
  * 
- * @author 德虎
+ * @author 寰疯檸
  * 
  */
 public final class QrCodeUtils {
@@ -42,29 +42,29 @@
 	private static Logger log = LogManager.getLogger(QrCodeUtils.class);
 
 	/**
-	 * 生成二维码图片并输出到流
-	 * @param msg 需要生成的二维码信息
-	 * @param os 二维码图片输出流,输出后会自动关闭
-	 * @param logoFlag 是否添加logo
+	 * 鐢熸垚浜岀淮鐮佸浘鐗囧苟杈撳嚭鍒版祦
+	 * @param msg 闇�瑕佺敓鎴愮殑浜岀淮鐮佷俊鎭�
+	 * @param os 浜岀淮鐮佸浘鐗囪緭鍑烘祦锛岃緭鍑哄悗浼氳嚜鍔ㄥ叧闂�
+	 * @param logoFlag 鏄惁娣诲姞logo
 	 * 
 	 */
 	public static void createQRCodeImgAndSend(String msg, OutputStream os, boolean logoFlag) {
 		try {
-			//如果是网址,则转换为短网址
+			//濡傛灉鏄綉鍧�锛屽垯杞崲涓虹煭缃戝潃
 			/*if(ShortUrlUtils.IsUrl(msg)){
 				IShortUrlService shortUrlService = SpringUtil.getBean(IShortUrlService.class);
 				ShortUrl oldShortUrl = shortUrlService.queryShortUrl(msg);
-				if(oldShortUrl != null){//判断是否已经存在数据
+				if(oldShortUrl != null){//鍒ゆ柇鏄惁宸茬粡瀛樺湪鏁版嵁
 					msg = oldShortUrl.getShortUrl();
 				}else{
-					//获取域
+					//鑾峰彇鍩�
 					String domain = SpringUtil.getBean(IConfigService.class).getConfigByEnv("domain-name");
-					//获取短链接编码
+					//鑾峰彇鐭摼鎺ョ紪鐮�
 					String strShortUrlCode = ShortUrlUtils.shortUrl(msg);
-					//拼接成短链接
+					//鎷兼帴鎴愮煭閾炬帴
 					String shortUrl = domain+(domain.indexOf("/qxueyou", 10)>=0?"/s/":"/qxueyou/s/")+strShortUrlCode;
 					ShortUrl objShortUrl = new ShortUrl();
-					//保存短链接的值
+					//淇濆瓨鐭摼鎺ョ殑鍊�
 					objShortUrl.setShortUrl(shortUrl);
 					objShortUrl.setLongUrl(msg);
 					objShortUrl.setShortUrlCode(strShortUrlCode);
@@ -85,7 +85,7 @@
 					msg,
 					BarcodeFormat.QR_CODE, 300, 300, hints);
 			MatrixToImageConfig config = new MatrixToImageConfig(0xFF000000, -1);
-			//添加机构图标
+			//娣诲姞鏈烘瀯鍥炬爣
 			if(StringUtils.isNoneBlank(ClientUtils.getOrgLogoPath()) && ShortUrlUtils.IsUrl(msg) && logoFlag){
 			    int width = bitMatrix.getWidth();  
 		        int height = bitMatrix.getHeight();  
@@ -113,9 +113,9 @@
 	}
 	
 	/**
-	 * 添加机构logo
+	 * 娣诲姞鏈烘瀯logo
 	 * 
-	 * @param buf 生成的二维码
+	 * @param buf 鐢熸垚鐨勪簩缁寸爜
 	 * @return
 	 * @throws IOException 
 	 */
@@ -126,25 +126,25 @@
 //			String domain = SpringUtil.getBean(IConfigService.class).getConfigByEnv("oss-domain");
 			String domain =null;
 			httpClient = HttpClients.createDefault();
-			//获取机构logo
+			//鑾峰彇鏈烘瀯logo
 			httpget = new HttpGet(domain+ClientUtils.getOrgLogoPath());  
 			HttpResponse response = httpClient.execute(httpget);
 			HttpEntity entity = response.getEntity();
 			/**
-			* 读取Logo图片
+			* 璇诲彇Logo鍥剧墖
 			*/
 			BufferedImage logo = ImageIO.read(entity.getContent());
 			/**
-			* 读取二维码图片,并构建绘图对象
+			* 璇诲彇浜岀淮鐮佸浘鐗囷紝骞舵瀯寤虹粯鍥惧璞�
 			*/
 			Graphics2D g = buf.createGraphics();
 			int widthLogo = 65, heightLogo = 65;
 		
-			// 计算图片放置位置
+			// 璁$畻鍥剧墖鏀剧疆浣嶇疆
 			int x = (buf.getWidth() - widthLogo) / 2;
 			int y = (buf.getHeight() - heightLogo) / 2;
 		
-			//开始绘制图片
+			//寮�濮嬬粯鍒跺浘鐗�
 			g.setColor(Color.WHITE);
 			g.drawImage(logo, x, y, widthLogo, heightLogo, null);
 	        g.setStroke(new BasicStroke(1));  
@@ -152,7 +152,7 @@
 			ImageIO.write(buf, "PNG", os);
 		}catch (Exception e) {
 			ImageIO.write(buf, "PNG", os);
-			log.error("二维码添加logo失败"+e);
+			log.error("浜岀淮鐮佹坊鍔爈ogo澶辫触"+e);
 		}finally {
 			httpClient.close();
 		}
diff --git a/src/main/java/com/qxueyou/scc/base/util/QueryDslOptionBuilder.java b/src/main/java/com/qxueyou/scc/base/util/QueryDslOptionBuilder.java
index 1c79344..8e94630 100644
--- a/src/main/java/com/qxueyou/scc/base/util/QueryDslOptionBuilder.java
+++ b/src/main/java/com/qxueyou/scc/base/util/QueryDslOptionBuilder.java
@@ -11,7 +11,7 @@
 import com.querydsl.core.types.dsl.Expressions;
 
 /**
- * jpa查询  参数为空包装builder
+ * jpa鏌ヨ  鍙傛暟涓虹┖鍖呰builder
  * @author zhiyong
  *
  */
@@ -28,7 +28,7 @@
     }
     
     /**
-     * 不为空 and 对象
+     * 涓嶄负绌� and 瀵硅薄
      * @param expressionFunction
      * @param value
      * @return
@@ -41,7 +41,7 @@
     }
     
     /**
-     * 不为空 and  String类型
+     * 涓嶄负绌� and  String绫诲瀷
      * @param expressionFunction
      * @param value
      * @return
@@ -54,7 +54,7 @@
     }
     
     /**
-     * 不为空 and  集合类型
+     * 涓嶄负绌� and  闆嗗悎绫诲瀷
      * @param expressionFunction
      * @param collection
      * @return
@@ -68,7 +68,7 @@
     }
     
     /**
-     * 不为空 or 所有对象
+     * 涓嶄负绌� or 鎵�鏈夊璞�
      * @param expressionFunction
      * @param value
      * @return
@@ -81,7 +81,7 @@
     }
     
     /**
-     * 不为空 or  String类型
+     * 涓嶄负绌� or  String绫诲瀷
      * @param expressionFunction
      * @param value
      * @return
@@ -94,7 +94,7 @@
     }
 
     /**
-     * 不为空 or  集合类型
+     * 涓嶄负绌� or  闆嗗悎绫诲瀷
      * @param expressionFunction
      * @param collection
      * @return
diff --git a/src/main/java/com/qxueyou/scc/base/util/RSAUtils.java b/src/main/java/com/qxueyou/scc/base/util/RSAUtils.java
index 2e633c3..ddf7f61 100644
--- a/src/main/java/com/qxueyou/scc/base/util/RSAUtils.java
+++ b/src/main/java/com/qxueyou/scc/base/util/RSAUtils.java
@@ -9,8 +9,8 @@
 //import com.qxueyou.scc.base.service.IConfigService;
 
 /**
- * RSA加解密--调用远程加解密服务
- * @author 德虎
+ * RSA鍔犺В瀵�--璋冪敤杩滅▼鍔犺В瀵嗘湇鍔�
+ * @author 寰疯檸
  *
  */
 public class RSAUtils {
@@ -20,7 +20,7 @@
 	private static RSAClient client;
 	
 	/**
-	 * 构建远程RSA加解密客户端
+	 * 鏋勫缓杩滅▼RSA鍔犺В瀵嗗鎴风
 	 */
 	private static void buildClient() {
 		try {
@@ -33,7 +33,7 @@
 	}
 	
 	/**
-	 * 调用远程加密服务对字符串加密
+	 * 璋冪敤杩滅▼鍔犲瘑鏈嶅姟瀵瑰瓧绗︿覆鍔犲瘑
 	 * @param string
 	 * @return
 	 */
@@ -47,13 +47,13 @@
 		try {
 			return client.encrypt(string);
 		} catch (Exception e) {
-			log.error("加解密服务初始化错误:"+e.getMessage(), e);
+			log.error("鍔犺В瀵嗘湇鍔″垵濮嬪寲閿欒:"+e.getMessage(), e);
 		}
 		return null;
 	}
 	
 	/**
-	 * 调用远程解密服务对密文字符串解决
+	 * 璋冪敤杩滅▼瑙e瘑鏈嶅姟瀵瑰瘑鏂囧瓧绗︿覆瑙e喅
 	 * @param string
 	 * @return
 	 */
@@ -73,7 +73,7 @@
 	}
 
 	/**
-	 * Hessian本地接口
+	 * Hessian鏈湴鎺ュ彛
 	 * @author user
 	 *
 	 */
diff --git a/src/main/java/com/qxueyou/scc/base/util/ReisUtils.java b/src/main/java/com/qxueyou/scc/base/util/ReisUtils.java
index af1229c..ca915e8 100644
--- a/src/main/java/com/qxueyou/scc/base/util/ReisUtils.java
+++ b/src/main/java/com/qxueyou/scc/base/util/ReisUtils.java
@@ -13,7 +13,7 @@
 	private static Logger log = LogManager.getLogger(ReisUtils.class);
 	
 	/**
-	 * 序列化对象
+	 * 搴忓垪鍖栧璞�
 	 */
 	public static byte[] serialize(Object obj){
 		ObjectOutputStream objectOs = null;
@@ -25,7 +25,7 @@
 			objectOs.writeObject(obj);
 			bytes = byteArrOs.toByteArray();
 		} catch (Exception e) {
-			log.error("序列化对象失败!");
+			log.error("搴忓垪鍖栧璞″け璐ワ紒");
 		}finally {
 			IOUtils.closeQuietly(objectOs);
 			IOUtils.closeQuietly(byteArrOs);
@@ -34,7 +34,7 @@
 	}
 
 	/**
-	 * 反序列化对象
+	 * 鍙嶅簭鍒楀寲瀵硅薄
 	 */
 	public static Object unserialize(byte[] bytes){
 		Object returnObject = null;
@@ -47,7 +47,7 @@
 				returnObject = objectIns.readObject();
 			}
 		}catch (Exception e) {
-			log.error("反序列化对象失败!",e);
+			log.error("鍙嶅簭鍒楀寲瀵硅薄澶辫触锛�",e);
 		}finally {
 			IOUtils.closeQuietly(objectIns);
 			IOUtils.closeQuietly(byteArrIns);
diff --git a/src/main/java/com/qxueyou/scc/base/util/RequestClientUtils.java b/src/main/java/com/qxueyou/scc/base/util/RequestClientUtils.java
index 35f9d88..3c1afec 100644
--- a/src/main/java/com/qxueyou/scc/base/util/RequestClientUtils.java
+++ b/src/main/java/com/qxueyou/scc/base/util/RequestClientUtils.java
@@ -28,7 +28,7 @@
 		
 	
 	/**
-	 * 获取客户端ip地址
+	 * 鑾峰彇瀹㈡埛绔痠p鍦板潃
 	 * 
 	 * @param request
 	 * @return
@@ -43,7 +43,7 @@
 	}
 	
 	/**
-	 * 获取服务器本地IP
+	 * 鑾峰彇鏈嶅姟鍣ㄦ湰鍦癐P
 	 * @return
 	 */
 	public static String getLocalIP() {
@@ -55,7 +55,7 @@
 				Enumeration<InetAddress> ips = ni.getInetAddresses();
 				while (ips.hasMoreElements()) {
 					ip = (InetAddress) ips.nextElement();
-					// 127.开头的都是lookback地址
+					// 127.寮�澶寸殑閮芥槸lookback鍦板潃
 					if (ip.isSiteLocalAddress() && !ip.isLoopbackAddress() && ip.getHostAddress().indexOf(":") == -1) {
 						return ip.getHostAddress();
 					}
@@ -68,7 +68,7 @@
 	}
 	
 	/**
-	 * 获取COOKIE : KEY
+	 * 鑾峰彇COOKIE : KEY
 	 * @param httpRequest
 	 * @return
 	 */
@@ -90,7 +90,7 @@
 	}
 
 	/**
-	 * 解析客户端
+	 * 瑙f瀽瀹㈡埛绔�
 	 * @param userAgent userAgent
 	 * @return
 	 */
@@ -113,16 +113,16 @@
 	
 	
 	/**
-	 * 判断是PC端还是移动端
+	 * 鍒ゆ柇鏄疨C绔繕鏄Щ鍔ㄧ
 	 * 
 	 * @return
 	 */
 	public static boolean  isMobileDevice(String requestHeader){
         /**
-         * android : 所有android设备
+         * android : 鎵�鏈塧ndroid璁惧
          * iphone : iphone 
-         * windows phone:Nokia等windows系统的手机
-         * ipad :ipad
+         * windows phone:Nokia绛墂indows绯荤粺鐨勬墜鏈�
+         * ipad 锛歩pad
          */
 		String lowerRequestHeader = requestHeader;
         String[] deviceArray = new String[]{"android","iphone","windows phone","ipad"};
@@ -140,7 +140,7 @@
 	}
 	
 	/**
-	 * 判断是PC端还是移动端
+	 * 鍒ゆ柇鏄疨C绔繕鏄Щ鍔ㄧ
 	 * 
 	 * @return
 	 */
@@ -151,11 +151,11 @@
                 return agent[1];
             }
         }
-        return "未知";
+        return "鏈煡";
 	}
 	
 	/**
-	 * 判断是否在微信浏览器打开
+	 * 鍒ゆ柇鏄惁鍦ㄥ井淇℃祻瑙堝櫒鎵撳紑
 	 * 
 	 * @return
 	 */
@@ -165,7 +165,7 @@
 	}
 	
 	/**
-	 * 获取头信息
+	 * 鑾峰彇澶翠俊鎭�
 	 * 
 	 * @param userAgent
 	 * @return
@@ -176,7 +176,7 @@
 			uaParser = new Parser();
 			return uaParser.parse(userAgent);
 		} catch (IOException e) {
-			log.error("解析头信息失败", e);
+			log.error("瑙f瀽澶翠俊鎭け璐�", e);
 		}
 		return null;
 	}
diff --git a/src/main/java/com/qxueyou/scc/base/util/SerializeUtils.java b/src/main/java/com/qxueyou/scc/base/util/SerializeUtils.java
index a0cb26c..f42c296 100644
--- a/src/main/java/com/qxueyou/scc/base/util/SerializeUtils.java
+++ b/src/main/java/com/qxueyou/scc/base/util/SerializeUtils.java
@@ -12,8 +12,8 @@
 import org.apache.logging.log4j.Logger;
 
 /**
- * 序列化工具类
- * @author 德虎
+ * 搴忓垪鍖栧伐鍏风被
+ * @author 寰疯檸
  *
  */
 public class SerializeUtils {
@@ -21,9 +21,9 @@
 	private static Logger log = LogManager.getLogger("SerializeUtils");
 
 	/**
-	 * 将对象转换为字节数组
-	 * @param obj 可序列化的对象
-	 * @return 字节数组
+	 * 灏嗗璞¤浆鎹负瀛楄妭鏁扮粍
+	 * @param obj 鍙簭鍒楀寲鐨勫璞�
+	 * @return 瀛楄妭鏁扮粍
 	 */
 	public static byte[] toByteArrayFromObject(Object obj){
 		
@@ -53,10 +53,10 @@
 	}
 	
 	/**
-	 * 将字节数组为对象转换
-	 * @param data 字节数组
-	 * @param cls 要转化的对象类型
-	 * @return 要转化的对象
+	 * 灏嗗瓧鑺傛暟缁勪负瀵硅薄杞崲
+	 * @param data 瀛楄妭鏁扮粍
+	 * @param cls 瑕佽浆鍖栫殑瀵硅薄绫诲瀷
+	 * @return 瑕佽浆鍖栫殑瀵硅薄
 	 */
 	public static <T> T toObjectFromByte(byte[] data,Class<T> cls){
 		
diff --git a/src/main/java/com/qxueyou/scc/base/util/SpringUtil.java b/src/main/java/com/qxueyou/scc/base/util/SpringUtil.java
index a9f1507..c82ebc5 100644
--- a/src/main/java/com/qxueyou/scc/base/util/SpringUtil.java
+++ b/src/main/java/com/qxueyou/scc/base/util/SpringUtil.java
@@ -1,8 +1,8 @@
 /******************************************************************************
  * Copyright (C) 2015 Shenzhen Penguin Network Technology Co., Ltd
  * All Rights Reserved.
- * 本软件为深圳企鹅网络科技有限公司开发研制。未经本公司正式书面同意,其他任何个人、团体
- * 不得使用、复制、修改或发布本软件.
+ * 鏈蒋浠朵负娣卞湷浼侀箙缃戠粶绉戞妧鏈夐檺鍏徃寮�鍙戠爺鍒躲�傛湭缁忔湰鍏徃姝e紡涔﹂潰鍚屾剰锛屽叾浠栦换浣曚釜浜恒�佸洟浣�
+ * 涓嶅緱浣跨敤銆佸鍒躲�佷慨鏀规垨鍙戝竷鏈蒋浠�.
  *****************************************************************************/
 
 package com.qxueyou.scc.base.util;
@@ -14,8 +14,8 @@
 
 /**
 *
-* Spring 工具类,提供获取Sping上下文环境及获取Bean的接口
-* @history 2010-09-12 夏德虎 新建
+* Spring 宸ュ叿绫�,鎻愪緵鑾峰彇Sping涓婁笅鏂囩幆澧冨強鑾峰彇Bean鐨勬帴鍙�
+* @history 2010-09-12 澶忓痉铏� 鏂板缓
 *
 */
 @Component
@@ -26,23 +26,23 @@
     private SpringUtil(){}
     
     /**
-     * 获取bean
-     * @param <T> 泛型类型
+     * 鑾峰彇bean
+     * @param <T> 娉涘瀷绫诲瀷
      * @param name bean name
-     * @param clz bean 类型
-     * @param context servlet上下文
-     * @return bean实例
+     * @param clz bean 绫诲瀷
+     * @param context servlet涓婁笅鏂�
+     * @return bean瀹炰緥
      */
     public static <T> T getBean(String name,Class<T> clz){
         return applicationContext.getBean(name,clz);
     }
     
     /**
-     * 获取bean
-     * @param <T> 泛型类型
-     * @param clz bean 类型
-     * @param context servlet上下文
-     * @return bean实例
+     * 鑾峰彇bean
+     * @param <T> 娉涘瀷绫诲瀷
+     * @param clz bean 绫诲瀷
+     * @param context servlet涓婁笅鏂�
+     * @return bean瀹炰緥
      */
     public static <T> T getBean(Class<T> clz){
         return applicationContext.getBean(clz);
diff --git a/src/main/java/com/qxueyou/scc/base/util/StringMapUtils.java b/src/main/java/com/qxueyou/scc/base/util/StringMapUtils.java
index f67d309..07aa106 100644
--- a/src/main/java/com/qxueyou/scc/base/util/StringMapUtils.java
+++ b/src/main/java/com/qxueyou/scc/base/util/StringMapUtils.java
@@ -11,16 +11,16 @@
 import com.alibaba.fastjson.JSON;
 
 /**
- * String  和  map<String,String>的转换
+ * String  鍜�  map<String,String>鐨勮浆鎹�
  * @author ody.yuan
  *
  */
 public class StringMapUtils {
 	
 	/**
-	 * Map<String,String> 转 String
+	 * Map<String,String> 杞� String
 	 * 
-	 * @param map         需要转换的map
+	 * @param map         闇�瑕佽浆鎹㈢殑map
 	 * @return
 	 */
 	public static String transMapToString(Map<String,String> map){
@@ -40,9 +40,9 @@
 	}  
 	
 	/**
-	 * 调用transMapToString方法有map转得String,重新转回map
+	 * 璋冪敤transMapToString鏂规硶鏈塵ap杞緱String锛岄噸鏂拌浆鍥瀖ap
 	 * 
-	 * @param mapString    调用transMapToString方法有map转得String
+	 * @param mapString    璋冪敤transMapToString鏂规硶鏈塵ap杞緱String
 	 * @return
 	 */
 	public static Map<String,String> transStringToMap(String mapString){
@@ -61,7 +61,7 @@
 		}
 	
 	/**
-	 * json 转 map
+	 * json 杞� map
 	 * @param json
 	 */
 	@SuppressWarnings("unchecked")
@@ -74,7 +74,7 @@
 	 }
 	
 	/**
-	 * map 转  json
+	 * map 杞�  json
 	 * @param json
 	 */
 	public static String map2Json(Map<String,Object> map){ 
diff --git a/src/main/java/com/qxueyou/scc/base/util/TraceUtils.java b/src/main/java/com/qxueyou/scc/base/util/TraceUtils.java
index d0d218d..8b205cb 100644
--- a/src/main/java/com/qxueyou/scc/base/util/TraceUtils.java
+++ b/src/main/java/com/qxueyou/scc/base/util/TraceUtils.java
@@ -11,17 +11,17 @@
 import com.qxueyou.scc.base.model.ITrace;
 
 /**
- * 数据修改轨迹记录工具类
+ * 鏁版嵁淇敼杞ㄨ抗璁板綍宸ュ叿绫�
  */
 public class TraceUtils {
 	
-	/** 管理员账号、账号id */
+	/** 绠$悊鍛樿处鍙枫�佽处鍙穒d */
 	public static final String ADMIN_ACCOUNT="admin";
 	
 	public static final String ADMIN_ACCOUNT_ID="admin";
 	
 	/**
-	 * 设置激活 新增轨迹信息
+	 * 璁剧疆婵�娲� 鏂板杞ㄨ抗淇℃伅
 	 * @param trace
 	 */
 	public static void setCreateActiveTrace(ITrace trace){
@@ -36,7 +36,7 @@
 	}
 	
 	/**
-	 * 设置新增轨迹信息
+	 * 璁剧疆鏂板杞ㄨ抗淇℃伅
 	 * @param trace
 	 */
 	public static void setCreateTrace(ITrace trace){
@@ -57,7 +57,7 @@
 	}
 	
 	/**
-	 * 设置新增轨迹信息
+	 * 璁剧疆鏂板杞ㄨ抗淇℃伅
 	 * @param trace
 	 */
 	@SuppressWarnings("rawtypes")
@@ -71,7 +71,7 @@
 	}
 	
 	/**
-	 * 删除已删除的记录
+	 * 鍒犻櫎宸插垹闄ょ殑璁板綍
 	 * @param trace
 	 */
 	@SuppressWarnings("rawtypes")
@@ -87,7 +87,7 @@
 	}
 	
 	/**
-	 * 设置更新轨迹信息
+	 * 璁剧疆鏇存柊杞ㄨ抗淇℃伅
 	 * @param trace
 	 */
 	public static void setUpdateTrace(ITrace trace){
@@ -106,7 +106,7 @@
 	}
 	
 	/**
-	 * 设置新增轨迹信息
+	 * 璁剧疆鏂板杞ㄨ抗淇℃伅
 	 * @param trace
 	 */
 	@SuppressWarnings("rawtypes")
@@ -120,7 +120,7 @@
 	}
 	
 	/**
-	 * 通过HashSet踢除重复元素
+	 * 閫氳繃HashSet韪㈤櫎閲嶅鍏冪礌
 	 * @param list
 	 * @return
 	 */
@@ -133,7 +133,7 @@
     }
 	
 	/**
-	 * 初始化代理实体
+	 * 鍒濆鍖栦唬鐞嗗疄浣�
 	 * @param entity
 	 * @return
 	 */
@@ -141,7 +141,7 @@
 	public static <T> T initializeAndUnproxy(T entity) {
 	    if (entity == null) {
 	        throw new 
-	           NullPointerException("初始化实体为空");
+	           NullPointerException("鍒濆鍖栧疄浣撲负绌�");
 	    }
 
 	    Hibernate.initialize(entity);
diff --git a/src/main/java/com/qxueyou/scc/base/util/UUIDUtils.java b/src/main/java/com/qxueyou/scc/base/util/UUIDUtils.java
index ed0c3a4..8257511 100644
--- a/src/main/java/com/qxueyou/scc/base/util/UUIDUtils.java
+++ b/src/main/java/com/qxueyou/scc/base/util/UUIDUtils.java
@@ -4,8 +4,8 @@
 import java.util.UUID;
 
 /**
- * UUID工具类
- * @author 德虎
+ * UUID宸ュ叿绫�
+ * @author 寰疯檸
  *
  */
 public final class UUIDUtils {
@@ -20,7 +20,7 @@
 	public static String specifalChars = "0123456789abcdefghijklmnopqrstuvwxyz";  
 	
 	/**
-	 * 生成UUID
+	 * 鐢熸垚UUID
 	 * @return
 	 */
 	public static String generateUUID(){
@@ -28,7 +28,7 @@
 	}
 	
 	/**
-	 * 生成UUID
+	 * 鐢熸垚UUID
 	 * @return
 	 */
 	public static String UUID(){
@@ -40,7 +40,7 @@
 	}
 	
 	/**
-	 * 生成8位随机码
+	 * 鐢熸垚8浣嶉殢鏈虹爜
 	 * @return
 	 */
 	public static String generateShortUuid() {  
@@ -56,7 +56,7 @@
 	} 
 	
 	/**
-	 * 生成最少16位随机码
+	 * 鐢熸垚鏈�灏�16浣嶉殢鏈虹爜
 	 * @return
 	 */
 	public static String generateSpecialUuid(int length) {
diff --git a/src/main/java/com/qxueyou/scc/base/util/UserCodeUtils.java b/src/main/java/com/qxueyou/scc/base/util/UserCodeUtils.java
index babdb21..1841b6c 100644
--- a/src/main/java/com/qxueyou/scc/base/util/UserCodeUtils.java
+++ b/src/main/java/com/qxueyou/scc/base/util/UserCodeUtils.java
@@ -6,9 +6,9 @@
 	
 	public static final String allChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
 	
-	// 0 - 9     对应ascii值为  48 --> 57
-	// A - Z  对应ascii值为  65 --> 90
-	// a - z  对应ascii值为  97 --> 122
+	// 0 - 9     瀵瑰簲ascii鍊间负  48 --> 57
+	// A - Z  瀵瑰簲ascii鍊间负  65 --> 90
+	// a - z  瀵瑰簲ascii鍊间负  97 --> 122
 
 	public static void main(String[] args) {
 		
@@ -19,7 +19,7 @@
 	}
 	
 	/**
-	 * 生成code
+	 * 鐢熸垚code
 	 * @param length
 	 * @param index
 	 * @return
@@ -41,7 +41,7 @@
 	}
 	
 	/**
-	 * 生成每个位置上的序号
+	 * 鐢熸垚姣忎釜浣嶇疆涓婄殑搴忓彿
 	 * @param length
 	 * @param index
 	 * @return
diff --git a/src/main/java/com/qxueyou/scc/base/util/WordExportUtils.java b/src/main/java/com/qxueyou/scc/base/util/WordExportUtils.java
index 62fe6da..1f54c55 100644
--- a/src/main/java/com/qxueyou/scc/base/util/WordExportUtils.java
+++ b/src/main/java/com/qxueyou/scc/base/util/WordExportUtils.java
@@ -15,19 +15,19 @@
         configure.setDefaultEncoding("utf-8");
     }
     /**
-     * 根据Doc模板生成word文件
-     * @param dataMap 需要填入模板的数据
-     * @param downloadType 文件名称
+     * 鏍规嵁Doc妯℃澘鐢熸垚word鏂囦欢
+     * @param dataMap 闇�瑕佸~鍏ユā鏉跨殑鏁版嵁
+     * @param downloadType 鏂囦欢鍚嶇О
      */
     public Template createDoc(String downloadType){
         try {
-            //设置模板装置方法和路径,FreeMarker支持多种模板装载方法。可以重servlet,classpath,数据库装载。
-            //加载模板文件,放在testDoc下
+            //璁剧疆妯℃澘瑁呯疆鏂规硶鍜岃矾寰勶紝FreeMarker鏀寔澶氱妯℃澘瑁呰浇鏂规硶銆傚彲浠ラ噸servlet锛宑lasspath,鏁版嵁搴撹杞姐��
+            //鍔犺浇妯℃澘鏂囦欢锛屾斁鍦╰estDoc涓�
         	configure.setClassForTemplateLoading(this.getClass(), "");
-            //设置异常处理器
+            //璁剧疆寮傚父澶勭悊鍣�
             configure.setTemplateExceptionHandler(TemplateExceptionHandler.IGNORE_HANDLER);
             
-            return configure.getTemplate(downloadType);//定义Template对象,注意模板类型名字与downloadType要一致
+            return configure.getTemplate(downloadType);//瀹氫箟Template瀵硅薄锛屾敞鎰忔ā鏉跨被鍨嬪悕瀛椾笌downloadType瑕佷竴鑷�
         } catch (IOException e) {
             e.printStackTrace();
         }
diff --git a/src/main/java/com/qxueyou/scc/base/util/WordProcessUtils.java b/src/main/java/com/qxueyou/scc/base/util/WordProcessUtils.java
index 2ee8733..e7fabb6 100644
--- a/src/main/java/com/qxueyou/scc/base/util/WordProcessUtils.java
+++ b/src/main/java/com/qxueyou/scc/base/util/WordProcessUtils.java
@@ -7,7 +7,7 @@
 //import com.qxueyou.scc.base.service.IConfigService;
 
 /**
- * 使用远程服务HanLP引擎,处理文本,包括分词,转拼音,提取摘要,词频统计,关键字提取
+ * 浣跨敤杩滅▼鏈嶅姟HanLP寮曟搸锛屽鐞嗘枃鏈紝鍖呮嫭鍒嗚瘝锛岃浆鎷奸煶锛屾彁鍙栨憳瑕侊紝璇嶉缁熻锛屽叧閿瓧鎻愬彇
  * @author xiadehu
  *
  */
@@ -30,9 +30,9 @@
 
 	
 	/**
-	 * 分词,如果传入null,则返回空
-	 * @param text 原文
-	 * @return 分词后的结果
+	 * 鍒嗚瘝,濡傛灉浼犲叆null,鍒欒繑鍥炵┖
+	 * @param text 鍘熸枃
+	 * @return 鍒嗚瘝鍚庣殑缁撴灉
 	 */
 	public static String segment(String text){
 		if (client == null) {
@@ -42,9 +42,9 @@
 	}
 	
 	/**
-	 * 转拼音,无分隔符
-	 * @param text 原文
-	 * @return 转拼音的结果
+	 * 杞嫾闊�,鏃犲垎闅旂
+	 * @param text 鍘熸枃
+	 * @return 杞嫾闊崇殑缁撴灉
 	 */
 	public static String toPinyin(String text){
 		if (client == null) {
@@ -55,10 +55,10 @@
 	}
 	
 	/**
-	 * 转拼音
-	 * @param text 原文
-	 * @param seperator 分隔符
-	 * @return 转拼音的结果
+	 * 杞嫾闊�
+	 * @param text 鍘熸枃
+	 * @param seperator 鍒嗛殧绗�
+	 * @return 杞嫾闊崇殑缁撴灉
 	 */
 	public static String toPinyin(String text,String seperator){
 		if (client == null) {
diff --git a/src/main/java/com/qxueyou/scc/base/util/XmlUtils.java b/src/main/java/com/qxueyou/scc/base/util/XmlUtils.java
index 3d92264..00ff18d 100644
--- a/src/main/java/com/qxueyou/scc/base/util/XmlUtils.java
+++ b/src/main/java/com/qxueyou/scc/base/util/XmlUtils.java
@@ -73,7 +73,7 @@
 			for(Object element:root.elements()){
 				child = (Element) element;
 				
-				if(child.getName().contains("list")){// lst组合
+				if(child.getName().contains("list")){// lst缁勫悎
 					result.put(child.getName(), getXMLList(child));
 				}else{
 					result.put(child.getName(), child.getText());
diff --git a/src/main/java/com/qxueyou/scc/base/util/docConverterUtil.java b/src/main/java/com/qxueyou/scc/base/util/docConverterUtil.java
index ba1f554..1a59e2d 100644
--- a/src/main/java/com/qxueyou/scc/base/util/docConverterUtil.java
+++ b/src/main/java/com/qxueyou/scc/base/util/docConverterUtil.java
@@ -8,16 +8,16 @@
 import com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter;
 
 /**
- * 文件转换为pdf的工具类
+ * 鏂囦欢杞崲涓簆df鐨勫伐鍏风被
  * 
  * @author lyl
  *
  */
 public class docConverterUtil {
 	@SuppressWarnings("unused")
-	private String fileString; // (待转换文件的根路径)
+	private String fileString; // (寰呰浆鎹㈡枃浠剁殑鏍硅矾寰�)
 	@SuppressWarnings("unused")
-	private String outputPath = ""; // pdf输出路径 ,如果不设置就输出在默认的位置
+	private String outputPath = ""; // pdf杈撳嚭璺緞 锛屽鏋滀笉璁剧疆灏辫緭鍑哄湪榛樿鐨勪綅缃�
 	@SuppressWarnings("unused")
 	private String fileName;
 	private File pdfFile;
@@ -28,7 +28,7 @@
 	}
 
 	/**
-	 * 可自定义设置转换文件全路径名
+	 * 鍙嚜瀹氫箟璁剧疆杞崲鏂囦欢鍏ㄨ矾寰勫悕
 	 * 
 	 * @param fileString
 	 */
@@ -37,7 +37,7 @@
 	}
 
 	/**
-	 * 初始化
+	 * 鍒濆鍖�
 	 * 
 	 * @param fileString
 	 */
@@ -47,7 +47,7 @@
 	}
 
 	/**
-	 * 设置输出路径
+	 * 璁剧疆杈撳嚭璺緞
 	 */
 	public void setOutputPath(String outputPath) {
 		this.outputPath = outputPath;
@@ -64,7 +64,7 @@
 	}
 
 	/**
-	 * 转为PDF
+	 * 杞负PDF
 	 * 
 	 * @param file
 	 */
@@ -73,11 +73,11 @@
 		if (docFile.exists()) {
 			if (!pdfFile.exists()) {
 				String OpenOffice_HOME = "C:\\Program Files (x86)\\OpenOffice 4";
-				// 如果从文件中读取的URL地址最后一个字符不是 '\',则添加'\'
+				// 濡傛灉浠庢枃浠朵腑璇诲彇鐨刄RL鍦板潃鏈�鍚庝竴涓瓧绗︿笉鏄� '\'锛屽垯娣诲姞'\'
 				if (OpenOffice_HOME.charAt(OpenOffice_HOME.length() - 1) != '\\') {
 					OpenOffice_HOME += "\\";
 				}
-				// 启动OpenOffice的服务
+				// 鍚姩OpenOffice鐨勬湇鍔�
 				String command = OpenOffice_HOME
 						+ "program\\soffice.exe -headless -accept=\"socket,host=127.0.0.1,port=8100;urp;\"";
 				Process pro = Runtime.getRuntime().exec(command);
@@ -88,29 +88,29 @@
 					DocumentConverter converter = new OpenOfficeDocumentConverter(connection);
 					converter.convert(docFile, pdfFile);
 					connection.disconnect();
-					System.out.println("df转换成功,保存路径:" + pdfFile.getPath());
+					System.out.println("df杞崲鎴愬姛锛屼繚瀛樿矾寰勶細" + pdfFile.getPath());
 				} catch (java.net.ConnectException e) {
 					e.printStackTrace();
-					System.out.println("转换失败,openoffice服务未启动!");
+					System.out.println("杞崲澶辫触锛宱penoffice鏈嶅姟鏈惎鍔紒");
 					throw e;
 				} catch (com.artofsolving.jodconverter.openoffice.connection.OpenOfficeException e) {
 					e.printStackTrace();
-					System.out.println("读取转换文件失败");
+					System.out.println("璇诲彇杞崲鏂囦欢澶辫触");
 					throw e;
 				} catch (Exception e) {
 					e.printStackTrace();
 					throw e;
 				}
 			} else {
-				System.out.println("文件已存在,不需要转换");
+				System.out.println("鏂囦欢宸插瓨鍦紝涓嶉渶瑕佽浆鎹�");
 			}
 		} else {
-			System.out.println("需要转换的文档不存在,无法转换");
+			System.out.println("闇�瑕佽浆鎹㈢殑鏂囨。涓嶅瓨鍦紝鏃犳硶杞崲");
 		}
 	}
 
 	/**
-	 * 返回pdf文件路径
+	 * 杩斿洖pdf鏂囦欢璺緞
 	 * 
 	 * @return
 	 */
diff --git a/src/main/java/com/qxueyou/scc/config/Swagger2.java b/src/main/java/com/qxueyou/scc/config/Swagger2.java
index 275df8b..5cf4f34 100644
--- a/src/main/java/com/qxueyou/scc/config/Swagger2.java
+++ b/src/main/java/com/qxueyou/scc/config/Swagger2.java
@@ -14,13 +14,13 @@
 import springfox.documentation.swagger2.annotations.EnableSwagger2;
 
 /**
- * SWAGGER2配置,访问地址:http://xxxx:8090/scc/swagger-ui.html
+ * SWAGGER2閰嶇疆,璁块棶鍦板潃:http://xxxx:8090/scc/swagger-ui.html
  * 
  * @author kevin
  */
 @Configuration
 @EnableSwagger2
-//@Profile("dev")//测试环境配置,正式环境不配置
+//@Profile("dev")//娴嬭瘯鐜閰嶇疆锛屾寮忕幆澧冧笉閰嶇疆
 public class Swagger2 {
 	
 	@Autowired
@@ -38,8 +38,8 @@
 
     private ApiInfo apiInfo() {
         return new ApiInfoBuilder()
-                .title("智慧蓝项目接口 restful api")
-                .description("本API基于Swagger 2.9.2版本构建")
+                .title("鏅烘収钃濋」鐩帴鍙� restful api")
+                .description("鏈珹PI鍩轰簬Swagger 2.9.2鐗堟湰鏋勫缓")
                 .termsOfServiceUrl(config.getDomain())
                 .contact(new Contact("kevin","",""))
                 .version("1.0")
diff --git a/src/main/java/com/qxueyou/scc/controller/AttendanceController.java b/src/main/java/com/qxueyou/scc/controller/AttendanceController.java
index ef7cb52..ce4222d 100644
--- a/src/main/java/com/qxueyou/scc/controller/AttendanceController.java
+++ b/src/main/java/com/qxueyou/scc/controller/AttendanceController.java
@@ -15,20 +15,20 @@
 
 import java.util.List;
 
-@Api(tags="考勤管理接口")
+@Api(tags="鑰冨嫟绠$悊鎺ュ彛")
 @RestController
 @RequestMapping("/admin/Attendance")
 public class AttendanceController {
     @Autowired
     private AttendanceService attendanceService;
 
-    @ApiOperation(value = "打卡", notes = "")
+    @ApiOperation(value = "鎵撳崱", notes = "")
     @PostMapping(value = "/attendanceUpAndAdd")
     public String attendanceUpAndAdd(String studentId, String subjectId) {
         return attendanceService.attendanceUpAndAdd(studentId,subjectId);
     }
 
-    @ApiOperation(value = "考勤信息", notes = "")
+    @ApiOperation(value = "鑰冨嫟淇℃伅", notes = "")
     @GetMapping(value = "/attendanceList")
     public Result attendanceList(@RequestParam(defaultValue = "10") Integer limit, @RequestParam(defaultValue = "1") Integer pageNum, String keyword, String subjectId) {
 
@@ -44,7 +44,7 @@
                 "attendanceCount", count));
     }
 
-    @ApiOperation(value = "修改考勤状态", notes = "")
+    @ApiOperation(value = "淇敼鑰冨嫟鐘舵��", notes = "")
     @GetMapping(value = "/updateAttendanceStatus")
     public Result updateAttendanceStatus(String studentId, String attendanceStatus) {
         return attendanceService.updateAttendanceStatus(studentId,attendanceStatus);
diff --git a/src/main/java/com/qxueyou/scc/controller/ClassController.java b/src/main/java/com/qxueyou/scc/controller/ClassController.java
index fbcb148..c6037be 100644
--- a/src/main/java/com/qxueyou/scc/controller/ClassController.java
+++ b/src/main/java/com/qxueyou/scc/controller/ClassController.java
@@ -42,11 +42,11 @@
 import io.swagger.annotations.ApiOperation;
 
 /**
- * 班级管理控制器
+ * 鐝骇绠$悊鎺у埗鍣�
  *
  * @author chenjunliang
  */
-@Api(tags="班级管理接口")
+@Api(tags="鐝骇绠$悊鎺ュ彛")
 @RestController
 @RequestMapping("/admin/class")
 public class ClassController {
@@ -68,46 +68,46 @@
 	@Autowired
 	IClassLectureService clsLectureService;
 
-    //---------------------------------------------------------------------------------app接口--------------------------------------------------------------------------------------------------------------------/
+    //---------------------------------------------------------------------------------app鎺ュ彛--------------------------------------------------------------------------------------------------------------------/
     /**
-     * 获取正常班级列表
+     * 鑾峰彇姝e父鐝骇鍒楄〃
      *
      * @param keyword
      * @param limit
      * @param pageNum
      * @return
      */
-    @ApiOperation(value = "获取正常班级列表", notes = "")
+    @ApiOperation(value = "鑾峰彇姝e父鐝骇鍒楄〃", notes = "")
 	@GetMapping(value = "/app/classList")
     public Result classList(@RequestParam(defaultValue = "") String keyword, Pager pager) {
         return this.classService.classList(keyword, pager, 1);
     }
 
     /**
-     * 获取历史班级列表
+     * 鑾峰彇鍘嗗彶鐝骇鍒楄〃
      *
      * @param keyword
      * @param limit
      * @param pageNum
      * @return
      */
-    @ApiOperation(value = "获取历史班级列表", notes = "")
+    @ApiOperation(value = "鑾峰彇鍘嗗彶鐝骇鍒楄〃", notes = "")
 	@GetMapping(value = "/app/historyClassList")
     public Result historyClassList(@RequestParam(defaultValue = "") String keyword, Pager pager) {
         return this.classService.classList(keyword, pager, 2);
     }
 
     /**
-     * 学员详情
+     * 瀛﹀憳璇︽儏
      *
      * @param classId
      * @param studentId
      * @return
      */
-    @ApiOperation(value = "学员详情", notes = "")
+    @ApiOperation(value = "瀛﹀憳璇︽儏", notes = "")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "studentId", value = "学员id", required = true, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "classId", value = "班级id", required = true, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "studentId", value = "瀛﹀憳id", required = true, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "classId", value = "鐝骇id", required = true, paramType="query", dataType = "String"),
     })
    	@GetMapping(value = "/app/studentInfo")
    	public Result studentInfo(String classId, String studentId) {
@@ -115,16 +115,16 @@
    	}
 
     /**
-     * 学员详情
+     * 瀛﹀憳璇︽儏
      *
      * @param classId
      * @param studentId
      * @return
      */
-    @ApiOperation(value = "学员学习进度", notes = "")
+    @ApiOperation(value = "瀛﹀憳瀛︿範杩涘害", notes = "")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "studentId", value = "学员id", required = true, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "classId", value = "班级id", required = true, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "studentId", value = "瀛﹀憳id", required = true, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "classId", value = "鐝骇id", required = true, paramType="query", dataType = "String"),
     })
    	@GetMapping(value = "/app/studentProgress")
    	public Result studentProgress(String classId, String studentId) {
@@ -132,14 +132,14 @@
    	}
 
    	/**
-   	 * 获取首页数据排行
+   	 * 鑾峰彇棣栭〉鏁版嵁鎺掕
    	 *
    	 *
    	 * @param subjectId
    	 */
-       @ApiOperation(value = "班级排行榜", notes = "")
+       @ApiOperation(value = "鐝骇鎺掕姒�", notes = "")
        @ApiImplicitParams({
-           @ApiImplicitParam(name = "classId", value = "班级id", required = true, paramType="query", dataType = "String"),
+           @ApiImplicitParam(name = "classId", value = "鐝骇id", required = true, paramType="query", dataType = "String"),
        })
    	@GetMapping(value = "/app/getDataDesc")
    	public Result getDataDesc(String classId, String subjectId) {
@@ -147,16 +147,16 @@
    	}
 
     /**
-     * 学员课程进度
+     * 瀛﹀憳璇剧▼杩涘害
      *
      *
      * @param subjectId
     */
-    @ApiOperation(value = "学员课程进度", notes = "")
+    @ApiOperation(value = "瀛﹀憳璇剧▼杩涘害", notes = "")
    	@ApiImplicitParams({
-	   	@ApiImplicitParam(name = "classId", value = "班级id", required = true, paramType="query", dataType = "String"),
-	   	@ApiImplicitParam(name = "subjectId", value = "课程id", required = true, paramType="query", dataType = "String"),
-	   	@ApiImplicitParam(name = "studentId", value = "学员id", required = true, paramType="query", dataType = "String"),
+	   	@ApiImplicitParam(name = "classId", value = "鐝骇id", required = true, paramType="query", dataType = "String"),
+	   	@ApiImplicitParam(name = "subjectId", value = "璇剧▼id", required = true, paramType="query", dataType = "String"),
+	   	@ApiImplicitParam(name = "studentId", value = "瀛﹀憳id", required = true, paramType="query", dataType = "String"),
    	})
    	@GetMapping(value = "/app/studentSubjectProgress")
    	public Result studentSubjectProgress(String classId, String subjectId, String studentId) {
@@ -166,46 +166,46 @@
    	}
 
     /**
-     * 班级学员课程总体进度
+     * 鐝骇瀛﹀憳璇剧▼鎬讳綋杩涘害
      *
      *
      * @param classId
     */
-    @ApiOperation(value = "班级学员课程总体进度", notes = "")
+    @ApiOperation(value = "鐝骇瀛﹀憳璇剧▼鎬讳綋杩涘害", notes = "")
    	@ApiImplicitParams({
-	   	@ApiImplicitParam(name = "classId", value = "班级id", required = true, paramType="query", dataType = "String"),
+	   	@ApiImplicitParam(name = "classId", value = "鐝骇id", required = true, paramType="query", dataType = "String"),
    	})
    	@GetMapping(value = "/app/studentAllSubjectProgress")
    	public Result studentSubjectProgress(String classId) {
     	if(StringUtils.isEmpty(classId)) {
-    		return new Result(false, "班级id参数不能为空");
+    		return new Result(false, "鐝骇id鍙傛暟涓嶈兘涓虹┖");
     	}
 	   	return new Result(true, "success", CollectionUtils.newObjectMap("subjectList", this.subjectService.studentSubjectProgress(classId, new Pager())));
    	}
 
     /**
-     * 班级学员课件总体进度
+     * 鐝骇瀛﹀憳璇句欢鎬讳綋杩涘害
      *
      *
      * @param classId
      */
-    @ApiOperation(value = "班级学员课件总体进度", notes = "")
+    @ApiOperation(value = "鐝骇瀛﹀憳璇句欢鎬讳綋杩涘害", notes = "")
     @ApiImplicitParams({
-    	@ApiImplicitParam(name = "classId", value = "班级id", required = true, paramType="query", dataType = "String"),
-    	@ApiImplicitParam(name = "subjectId", value = "课程id", required = true, paramType="query", dataType = "String"),
+    	@ApiImplicitParam(name = "classId", value = "鐝骇id", required = true, paramType="query", dataType = "String"),
+    	@ApiImplicitParam(name = "subjectId", value = "璇剧▼id", required = true, paramType="query", dataType = "String"),
     })
     @GetMapping(value = "/app/studentSubjectLectureProgress")
     public Result studentSubjectLectureProgress(String classId, String subjectId) {
     	if(StringUtils.isEmpty(classId)) {
-    		return new Result(false, "班级id参数不能为空");
+    		return new Result(false, "鐝骇id鍙傛暟涓嶈兘涓虹┖");
     	}
     	if(StringUtils.isEmpty(subjectId)) {
-    		return new Result(false, "课程id参数不能为空");
+    		return new Result(false, "璇剧▼id鍙傛暟涓嶈兘涓虹┖");
     	}
 
-    	//获取所有课件
+    	//鑾峰彇鎵�鏈夎浠�
 		List<Map<String, Object>> lectures = this.subjectService.studentSubjectLectureProgress(subjectId, classId);
-		//获取所以章节
+		//鑾峰彇鎵�浠ョ珷鑺�
 		List<ClsSubjectChapter> chapterLst = clsLectureService.getChapterLectures(clsLectureService.getListChapter(classId, subjectId, null), lectures);
 
 		return new Result(true, "success", CollectionUtils.newObjectMap("count",clsLectureService.stuLectureCountBySubject(subjectId, classId), "listData", QBeanUtils.listBean2ListMap(chapterLst,
@@ -213,37 +213,37 @@
     }
 
     /**
-     * 学员注册
+     * 瀛﹀憳娉ㄥ唽
      *
-     * @param name          学员名称
-     * @param studentNumber 学号
-     * @param sex           性别
-     * @param mobilePhone   手机号
+     * @param name          瀛﹀憳鍚嶇О
+     * @param studentNumber 瀛﹀彿
+     * @param sex           鎬у埆
+     * @param mobilePhone   鎵嬫満鍙�
      */
-    @ApiOperation(value = "app端学员注册接口", notes = "")
+    @ApiOperation(value = "app绔鍛樻敞鍐屾帴鍙�", notes = "")
    	@ApiImplicitParams({
-	   	@ApiImplicitParam(name = "name", value = "名称", required = true, paramType="query", dataType = "String"),
-	   	@ApiImplicitParam(name = "studentNumber", value = "学号", required = true, paramType="query", dataType = "String"),
-	   	@ApiImplicitParam(name = "sex", value = "性别(0女,1男)", required = true, paramType="query", dataType = "String"),
-	   	@ApiImplicitParam(name = "mobilePhone", value = "手机号", required = false, paramType="query", dataType = "String"),
-	   	@ApiImplicitParam(name = "orgId", value = "机构", required = true, paramType="query", dataType = "String"),
+	   	@ApiImplicitParam(name = "name", value = "鍚嶇О", required = true, paramType="query", dataType = "String"),
+	   	@ApiImplicitParam(name = "studentNumber", value = "瀛﹀彿", required = true, paramType="query", dataType = "String"),
+	   	@ApiImplicitParam(name = "sex", value = "鎬у埆(0濂筹紝1鐢�)", required = true, paramType="query", dataType = "String"),
+	   	@ApiImplicitParam(name = "mobilePhone", value = "鎵嬫満鍙�", required = false, paramType="query", dataType = "String"),
+	   	@ApiImplicitParam(name = "orgId", value = "鏈烘瀯", required = true, paramType="query", dataType = "String"),
    	})
     @PostMapping(value = "/app/studentRegister")
     public Result studentRegister(String name, String studentNumber, Boolean sex, String mobilePhone, String orgId) {
         return studentService.insertStudent(null, name, studentNumber, sex, mobilePhone, orgId);
     }
 
-    //---------------------------------------------------------------------------------app接口--------------------------------------------------------------------------------------------------------------------/
+    //---------------------------------------------------------------------------------app鎺ュ彛--------------------------------------------------------------------------------------------------------------------/
 
 
     /**
-     * 新增班级
+     * 鏂板鐝骇
      *
-     * @param className   班级名称
-     * @param classNumber 班级编码
-     * @param startTime   开班时间
-     * @param endTime     结束时间
-     * @param subjectId   课程id
+     * @param className   鐝骇鍚嶇О
+     * @param classNumber 鐝骇缂栫爜
+     * @param startTime   寮�鐝椂闂�
+     * @param endTime     缁撴潫鏃堕棿
+     * @param subjectId   璇剧▼id
      */
     @PostMapping(value = "add")
     public Result add(String className, String classNumber, String startTime, String endTime, String subjectId,
@@ -254,38 +254,38 @@
 
         } catch (ParseException e) {
             log.error(e, e);
-            return new Result(false, "日期参数错误");
+            return new Result(false, "鏃ユ湡鍙傛暟閿欒");
         }
     }
     /**
-     * 新增补考分组
-     * @param className   班级名称
-     * @param classNumber 班级编码
-     * @param startTime   开班时间
-     * @param endTime     结束时间
-     * @param subjectId   课程id
+     * 鏂板琛ヨ�冨垎缁�
+     * @param className   鐝骇鍚嶇О
+     * @param classNumber 鐝骇缂栫爜
+     * @param startTime   寮�鐝椂闂�
+     * @param endTime     缁撴潫鏃堕棿
+     * @param subjectId   璇剧▼id
      */
     @PostMapping(value = "addRe")
     public Result addRe(String className, String classNumber, String startTime, String endTime, String subjectId,
                       String teacherId,String classTypes) {
         try {
 			ClsClass reClass = classService.getReClass("1");
-        	//如果补考类型分组不存在,新增
+        	//濡傛灉琛ヨ�冪被鍨嬪垎缁勪笉瀛樺湪锛屾柊澧�
 			if (reClass==null){
 				return classService.insertReClass(className, classNumber, DateUtils.convertStringToDate(startTime),
 						DateUtils.convertStringToDate(endTime), subjectId, teacherId,classTypes);
 			}else {
-				//存在返回false
-				return new Result(false, "补考分组已存在");
+				//瀛樺湪杩斿洖false
+				return new Result(false, "琛ヨ�冨垎缁勫凡瀛樺湪");
 			}
         } catch (ParseException e) {
             log.error(e, e);
-            return new Result(false, "日期参数错误");
+            return new Result(false, "鏃ユ湡鍙傛暟閿欒");
         }
     }
 
     /**
-     * 新增班级获取课程列表
+     * 鏂板鐝骇鑾峰彇璇剧▼鍒楄〃
      */
     @GetMapping(value = "getSubjectLst")
     public Result getSubjectlst() {
@@ -297,31 +297,31 @@
     }
 
     /**
-     * 获取班级列表
+     * 鑾峰彇鐝骇鍒楄〃
      *
      * @param keyword
      * @param limit
      * @param pageNum
      * @return
      */
-    @ApiOperation(value = "获取班级列表", notes = "")
+    @ApiOperation(value = "鑾峰彇鐝骇鍒楄〃", notes = "")
     @SuppressWarnings({ "unchecked", "rawtypes" })
 	@GetMapping(value = "list")
     public Result list(@RequestParam(defaultValue = "") String keyword,
                        @RequestParam(defaultValue = "10") Integer limit, @RequestParam(defaultValue = "1") Integer pageNum, @RequestParam(defaultValue = "1")Integer pageType) {
 
         String teacherId = ClientUtils.isAdmin() ? null : teacherService.getTeacherIdByUserId(ClientUtils.getUserId());
-        // 获取数据
+        // 鑾峰彇鏁版嵁
         List<ClsClass> clsLst = classService.getClassLst(keyword, teacherId, limit, pageNum, pageType);
-        // 获取班级总数
+        // 鑾峰彇鐝骇鎬绘暟
         int count = classService.getClassLstCount(keyword, teacherId, pageType);
-        // 转成前端所需字段和结构
+        // 杞垚鍓嶇鎵�闇�瀛楁鍜岀粨鏋�
        List<Map<String, Object>> lstResult = QBeanUtils.listBean2ListMap(clsLst,
                 CollectionUtils.newStringMap("name", "className", "classId", "classId", "classNumber", "classNumber","classTypes","classTypes",
                         "studentCount", "studentCount", "createTime", "createTime", "startTime", "startTime", "endTime",
                         "endTime", "subjects", "sbjLst"));
 
-        // 单独处理课程的字段和结构
+        // 鍗曠嫭澶勭悊璇剧▼鐨勫瓧娈靛拰缁撴瀯
         for (Map<String, Object> item : lstResult) {
 
         	if(item.get("sbjLst")==null){
@@ -360,14 +360,14 @@
 
 
     /**
-     * 查询班级基本信息
+     * 鏌ヨ鐝骇鍩烘湰淇℃伅
      *
-     * @param classId 班级id
+     * @param classId 鐝骇id
      * @return
      */
-    @ApiOperation(value = "查询班级基本信息", notes = "")
+    @ApiOperation(value = "鏌ヨ鐝骇鍩烘湰淇℃伅", notes = "")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "classId", value = "班级id", required = true, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "classId", value = "鐝骇id", required = true, paramType="query", dataType = "String"),
     })
     @GetMapping(value = "queryClass")
     public Result findClass(String classId) {
@@ -383,9 +383,9 @@
     }
 
     /**
-     * 删除班级
+     * 鍒犻櫎鐝骇
      *
-     * @param classId 班级id
+     * @param classId 鐝骇id
      * @return
      */
     @GetMapping("delete")
@@ -396,19 +396,19 @@
     }
 
     /**
-     * 复制班级
+     * 澶嶅埗鐝骇
      *
-     * @param classId               班级id
-     * @param className             班级名称
-     * @param classNumber           班级编码
-     * @param startTime             开班时间
-     * @param endTime               结束时间
+     * @param classId               鐝骇id
+     * @param className             鐝骇鍚嶇О
+     * @param classNumber           鐝骇缂栫爜
+     * @param startTime             寮�鐝椂闂�
+     * @param endTime               缁撴潫鏃堕棿
      * @param subjectId
-     * @param needJoinAudit         是否加班审批
-     * @param needQuitAudit         是否退班审批
-     * @param showAnalysisAfterExer 完成练习后是否显示答案
-     * @param canMultiExer          是否允许重复学习
-     * @param needForum             是否开通论坛
+     * @param needJoinAudit         鏄惁鍔犵彮瀹℃壒
+     * @param needQuitAudit         鏄惁閫�鐝鎵�
+     * @param showAnalysisAfterExer 瀹屾垚缁冧範鍚庢槸鍚︽樉绀虹瓟妗�
+     * @param canMultiExer          鏄惁鍏佽閲嶅瀛︿範
+     * @param needForum             鏄惁寮�閫氳鍧�
      * @return
      */
     @PostMapping(value = "copy")
@@ -419,19 +419,19 @@
     }
 
     /**
-     * 更新班级
+     * 鏇存柊鐝骇
      *
-     * @param classId               班级id
-     * @param className             班级名称
-     * @param classNumber           班级编码
-     * @param startTime             开班时间
-     * @param endTime               结束时间
+     * @param classId               鐝骇id
+     * @param className             鐝骇鍚嶇О
+     * @param classNumber           鐝骇缂栫爜
+     * @param startTime             寮�鐝椂闂�
+     * @param endTime               缁撴潫鏃堕棿
      * @param subjectId
-     * @param needJoinAudit         是否加班审批
-     * @param needQuitAudit         是否退班审批
-     * @param showAnalysisAfterExer 完成练习后是否显示答案
-     * @param canMultiExer          是否允许重复学习
-     * @param needForum             是否开通论坛
+     * @param needJoinAudit         鏄惁鍔犵彮瀹℃壒
+     * @param needQuitAudit         鏄惁閫�鐝鎵�
+     * @param showAnalysisAfterExer 瀹屾垚缁冧範鍚庢槸鍚︽樉绀虹瓟妗�
+     * @param canMultiExer          鏄惁鍏佽閲嶅瀛︿範
+     * @param needForum             鏄惁寮�閫氳鍧�
      * @return
      */
     @PostMapping(value = "update")
@@ -447,22 +447,22 @@
                     showAnalysisAfterExer, canMultiExer, needForum, teacherId);
         } catch (ParseException e) {
             log.error(e, e);
-            return new Result(false, "日期参数错误");
+            return new Result(false, "鏃ユ湡鍙傛暟閿欒");
         }
     }
 
     /**
-     * 班级管理 学员管理 获取学员列表
+     * 鐝骇绠$悊 瀛﹀憳绠$悊 鑾峰彇瀛﹀憳鍒楄〃
      *
-     * @param classId 班级id
-     * @param limit   每页显示几条
-     * @param pageNum 页码
-     * @param keyword 搜索关键字
-     * @return 学习状态说明(0, 未开始 。 1, 学习中 。 2, 已结束, 3, 待激活 。 4, 已冻结)
+     * @param classId 鐝骇id
+     * @param limit   姣忛〉鏄剧ず鍑犳潯
+     * @param pageNum 椤电爜
+     * @param keyword 鎼滅储鍏抽敭瀛�
+     * @return 瀛︿範鐘舵�佽鏄�(0, 鏈紑濮� 銆� 1, 瀛︿範涓� 銆� 2, 宸茬粨鏉�, 3, 寰呮縺娲� 銆� 4, 宸插喕缁�)
      */
-    @ApiOperation(value = "获取学员列表", notes = "学习状态说明(0, 未开始 。 1, 学习中 。 2, 已结束, 3, 待激活 。 4, 已冻结)")
+    @ApiOperation(value = "鑾峰彇瀛﹀憳鍒楄〃", notes = "瀛︿範鐘舵�佽鏄�(0, 鏈紑濮� 銆� 1, 瀛︿範涓� 銆� 2, 宸茬粨鏉�, 3, 寰呮縺娲� 銆� 4, 宸插喕缁�)")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "classId", value = "班级id", required = true, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "classId", value = "鐝骇id", required = true, paramType="query", dataType = "String"),
     })
     @GetMapping(value = "lstStudent4Class")
     public Result lstStudent4Class(String classId, @RequestParam(defaultValue = "10") Integer limit,
@@ -476,9 +476,9 @@
     }
 
     /**
-     * 导入学员
+     * 瀵煎叆瀛﹀憳
      *
-     * @param classId 班级id
+     * @param classId 鐝骇id
      */
     @GetMapping(value = "importStudent")
     public Result importStudent(String classId) {
@@ -486,13 +486,13 @@
     }
 
     /**
-     * 新增学员
+     * 鏂板瀛﹀憳
      *
-     * @param name          学员名称
-     * @param studentNumber 学号
-     * @param classId       班级id
-     * @param sex           性别
-     * @param mobilePhone   手机号
+     * @param name          瀛﹀憳鍚嶇О
+     * @param studentNumber 瀛﹀彿
+     * @param classId       鐝骇id
+     * @param sex           鎬у埆
+     * @param mobilePhone   鎵嬫満鍙�
      */
     @PostMapping(value = "addStudent")
     public Result addStudent(String classId, String name, String studentNumber, Boolean sex, String mobilePhone,String comName) {
@@ -502,13 +502,13 @@
     }
 
     /**
-     * 更新学员
+     * 鏇存柊瀛﹀憳
      *
-     * @param name          学员名称
-     * @param studentNumber 学号
-     * @param classId       班级id
-     * @param sex           性别
-     * @param mobilePhone   手机号
+     * @param name          瀛﹀憳鍚嶇О
+     * @param studentNumber 瀛﹀彿
+     * @param classId       鐝骇id
+     * @param sex           鎬у埆
+     * @param mobilePhone   鎵嬫満鍙�
      */
     @PostMapping(value = "updateStudent")
     public Result updateStudent(String studentId, String name,String password, String studentNumber, Boolean sex, String mobilePhone) {
@@ -520,9 +520,9 @@
 
 
     /**
-     * 激活学员
+     * 婵�娲诲鍛�
      *
-     * @param studentIds 学员Ids
+     * @param studentIds 瀛﹀憳Ids
      */
     @GetMapping(value = "activateStudent")
     public Result activate(String studentIds) {
@@ -530,9 +530,9 @@
     }
 
     /**
-     * 冻结学员
+     * 鍐荤粨瀛﹀憳
      *
-     * @param studentIds 学员Ids
+     * @param studentIds 瀛﹀憳Ids
      */
     @GetMapping(value = "blockStudent")
     public Result block(String studentIds) {
@@ -540,9 +540,9 @@
     }
 
     /**
-     * 删除学员
+     * 鍒犻櫎瀛﹀憳
      *
-     * @param studentIds 学员Ids
+     * @param studentIds 瀛﹀憳Ids
      */
     @GetMapping(value = "deleteStudent")
     public Result deleteStudent(String classId, String studentIds) {
@@ -550,7 +550,7 @@
     }
 
     /**
-     * 添加班级课程
+     * 娣诲姞鐝骇璇剧▼
      * @throws InvocationTargetException
      * @throws IllegalAccessException
      *
@@ -561,7 +561,7 @@
     }
 
     /**
-     * 更新班级课程
+     * 鏇存柊鐝骇璇剧▼
      */
     @PostMapping(value = "updateClsSubject")
     public Result updateClsSubject(String classId,String subjectId, String origSubjectId,String teacherId,Integer schoolYear ,Integer term) {
@@ -569,17 +569,17 @@
     }
 
     /**
-     * 删除班级课程
+     * 鍒犻櫎鐝骇璇剧▼
      */
     @GetMapping(value = "deleteClsSubject")
     public Result deleteClsSubject(String classId,String subjectIds){
-    	//删除课程及课程班级关联关系
+    	//鍒犻櫎璇剧▼鍙婅绋嬬彮绾у叧鑱斿叧绯�
     	return subjectService.deleteClsSubject(classId,subjectIds.split(","));
     }
 
     /**
-     * 所有班级列表
-     * @param subjectId 根据subjectId过滤
+     * 鎵�鏈夌彮绾у垪琛�
+     * @param subjectId 鏍规嵁subjectId杩囨护
      * @return
      */
 	@RequestMapping(value = "/selectlist", method = RequestMethod.GET)
@@ -588,35 +588,35 @@
 	}
 
     /**
-     * 获取学员详细信息
+     * 鑾峰彇瀛﹀憳璇︾粏淇℃伅
      *
-     * @param studentId 学员id
-     * @return percent (状态说明:0,未开始。1,学习中。2,已结束。) status (0,未提交。1,已提交)
+     * @param studentId 瀛﹀憳id
+     * @return percent (鐘舵�佽鏄庯細0,鏈紑濮嬨��1,瀛︿範涓��2,宸茬粨鏉熴��) status (0,鏈彁浜ゃ��1,宸叉彁浜�)
      */
     @GetMapping(value = "getStudentDetail")
     public Result getStudentDetail(String studentId) {
-        // 学员信息
-        Map<String, Object> studentDetail = CollectionUtils.newObjectMap("studentName", "李刚", "classNumber", "123456",
+        // 瀛﹀憳淇℃伅
+        Map<String, Object> studentDetail = CollectionUtils.newObjectMap("studentName", "鏉庡垰", "classNumber", "123456",
                 "sex", 1, "registerTime", new Date(), "email", "12345676@qq.com", "mobilePhone", "13611111123",
                 "stuSubjects", 3, "commitExerInfo", 3, "examCount", 3, "releaseTopic", 3, "commentCount", 2);
-        // 学习档案
-        Map<String, Object> subjectOne = CollectionUtils.newObjectMap("subjectName", "物流科学与工程", "percent", 2,
+        // 瀛︿範妗f
+        Map<String, Object> subjectOne = CollectionUtils.newObjectMap("subjectName", "鐗╂祦绉戝涓庡伐绋�", "percent", 2,
                 "studyDuration", 18, "endStudyTime", new Date(), "score", 96.2);
-        Map<String, Object> subjectTwo = CollectionUtils.newObjectMap("subjectName", "物流工程基础", "percent", 1,
+        Map<String, Object> subjectTwo = CollectionUtils.newObjectMap("subjectName", "鐗╂祦宸ョ▼鍩虹", "percent", 1,
                 "studyDuration", 18, "endStudyTime", new Date(), "score", "");
-        Map<String, Object> subjectThree = CollectionUtils.newObjectMap("subjectName", "物流工程基础2", "percent", 0,
+        Map<String, Object> subjectThree = CollectionUtils.newObjectMap("subjectName", "鐗╂祦宸ョ▼鍩虹2", "percent", 0,
                 "studyDuration", "", "endStudyTime", "", "score", "");
-        // 作业记录
-        Map<String, Object> exerOne = CollectionUtils.newObjectMap("exerciseName", "物流科学与工程", "subjectName", "物流科学与工程",
+        // 浣滀笟璁板綍
+        Map<String, Object> exerOne = CollectionUtils.newObjectMap("exerciseName", "鐗╂祦绉戝涓庡伐绋�", "subjectName", "鐗╂祦绉戝涓庡伐绋�",
                 "status", 1, "commitTime", new Date(), "score", 96.2);
-        Map<String, Object> exerTwo = CollectionUtils.newObjectMap("exerciseName", "物流工程基础", "subjectName", "物流工程基础",
+        Map<String, Object> exerTwo = CollectionUtils.newObjectMap("exerciseName", "鐗╂祦宸ョ▼鍩虹", "subjectName", "鐗╂祦宸ョ▼鍩虹",
                 "status", 0, "commitTime", "", "score", "");
-        Map<String, Object> exerThree = CollectionUtils.newObjectMap("exerciseName", "物流工程基础2", "subjectName",
-                "物流工程基础2", "status", 0, "commitTime", "", "score", "");
-        // 考试记录
-        Map<String, Object> examOne = CollectionUtils.newObjectMap("examName", "物流科学与工程", "subjectName", "物流科学与工程",
+        Map<String, Object> exerThree = CollectionUtils.newObjectMap("exerciseName", "鐗╂祦宸ョ▼鍩虹2", "subjectName",
+                "鐗╂祦宸ョ▼鍩虹2", "status", 0, "commitTime", "", "score", "");
+        // 鑰冭瘯璁板綍
+        Map<String, Object> examOne = CollectionUtils.newObjectMap("examName", "鐗╂祦绉戝涓庡伐绋�", "subjectName", "鐗╂祦绉戝涓庡伐绋�",
                 "status", 1, "commintTime", new Date(), "score", 90.6);
-        Map<String, Object> examTwo = CollectionUtils.newObjectMap("examName", "物流科学与工程", "subjectName", "物流科学与工程",
+        Map<String, Object> examTwo = CollectionUtils.newObjectMap("examName", "鐗╂祦绉戝涓庡伐绋�", "subjectName", "鐗╂祦绉戝涓庡伐绋�",
                 "status", 0, "commintTime", new Date(), "score", "");
         return new Result(true, "success",
                 CollectionUtils.newObjectMap("studentDetail", studentDetail, "subjectLst",
diff --git a/src/main/java/com/qxueyou/scc/controller/ClassRoomController.java b/src/main/java/com/qxueyou/scc/controller/ClassRoomController.java
index 01bf552..0208d88 100644
--- a/src/main/java/com/qxueyou/scc/controller/ClassRoomController.java
+++ b/src/main/java/com/qxueyou/scc/controller/ClassRoomController.java
@@ -27,14 +27,14 @@
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 
-@Api(tags = "教室管理")
+@Api(tags = "鏁欏绠$悊")
 @RestController
 @RequestMapping(value = "admin/classroom")
 public class ClassRoomController {
-	//日志
+	//鏃ュ織
 	private final Logger log = LogManager.getLogger(ClassRoomController.class);
 	
-	// 分页查询中,默认记录条数和页数
+	// 鍒嗛〉鏌ヨ涓紝榛樿璁板綍鏉℃暟鍜岄〉鏁�
 	private static final int DEFAULT_PAGE_SIZE = 10;
 	private static final int DEFAULT_PAGE_NUM = 1;
 
@@ -45,15 +45,15 @@
 	private CommonDAO commonDAO;
     
     /**
-	 * 课表列表
+	 * 璇捐〃鍒楄〃
 	 */
-    @ApiOperation(value = "获取教室列表")
+    @ApiOperation(value = "鑾峰彇鏁欏鍒楄〃")
 	@RequestMapping(value = "list", method = RequestMethod.GET)
 	public @ResponseBody Result list(String keyword,Short status,Integer pageSize,Integer pageNum) {
 		pageSize = pageSize != null && pageSize > 0 ? pageSize : DEFAULT_PAGE_SIZE;
 		pageNum = pageNum != null && pageNum > 0 ? pageNum : DEFAULT_PAGE_NUM;
 		
-		//总考试数量
+		//鎬昏�冭瘯鏁伴噺
 		int totalCount = classRoomService.listCount(keyword, status);
 		Pager pager = new Pager(pageSize,pageNum);
 		pager.setTotalCount(totalCount);
@@ -68,16 +68,16 @@
 	}
 
 	/**
-	 * 保存
+	 * 淇濆瓨
 	 * @param classRoom
 	 * @return
 	 */
-    @ApiOperation(value = "保存教室")
+    @ApiOperation(value = "淇濆瓨鏁欏")
 	@RequestMapping(value = "/save", method = RequestMethod.POST)
 	public @ResponseBody Result save(@RequestBody ClassRoom classRoom) {
     	
     	if(checkIsDumplicate(classRoom.getRoomId(),classRoom.getName(),classRoom.getAddress())){
-    		return new Result(false, "添加失败!重复的教室信息"); 
+    		return new Result(false, "娣诲姞澶辫触锛侀噸澶嶇殑鏁欏淇℃伅"); 
     	}
     	
 		if (StringUtils.isEmpty(classRoom.getRoomId())) {
@@ -113,13 +113,13 @@
     
 
 	/**
-	 * 删除
+	 * 鍒犻櫎
 	 * 
 	 * @param examIds
 	 * @return
 	 */
-	@ApiOperation(value = "删除教室", httpMethod = "GET")
-	@ApiImplicitParam(name = "roomIds", value = "教室ID字符串", required = true, dataType = "String", paramType = "body")
+	@ApiOperation(value = "鍒犻櫎鏁欏", httpMethod = "GET")
+	@ApiImplicitParam(name = "roomIds", value = "鏁欏ID瀛楃涓�", required = true, dataType = "String", paramType = "body")
 	@RequestMapping(value = "delete", method = RequestMethod.GET)
 	public @ResponseBody Result delete(String roomIds) {
 		Result result = new Result(true);
@@ -130,32 +130,32 @@
 	}
 	
 	/**
-	 * 发布教室
+	 * 鍙戝竷鏁欏
 	 * 
 	 * @param scheduleIds
 	 * @return
 	 */
-	@ApiOperation(value = "发布教室", httpMethod = "GET")
+	@ApiOperation(value = "鍙戝竷鏁欏", httpMethod = "GET")
 	@RequestMapping(value = "/publish", method = RequestMethod.GET)
 	public @ResponseBody Result publish(String roomIds) {
 		if (StringUtils.isEmpty(roomIds)) {
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
 		
 		return this.classRoomService.doRelease(roomIds.split(","));
 	}
 
 	/**
-	 * 撤回发布的教室
+	 * 鎾ゅ洖鍙戝竷鐨勬暀瀹�
 	 * 
 	 * @param scheduleIds
 	 * @return
 	 */
-	@ApiOperation(value = "撤回教室", httpMethod = "GET")
+	@ApiOperation(value = "鎾ゅ洖鏁欏", httpMethod = "GET")
 	@RequestMapping(value = "/cancel", method = RequestMethod.GET)
 	public @ResponseBody Result cancel(String roomIds) {
 		if (StringUtils.isEmpty(roomIds)) {
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
 		
 		return this.classRoomService.doCancel(roomIds.split(","));
@@ -163,14 +163,14 @@
     
 	
 	/**
-	 * 详情页面数据
+	 * 璇︽儏椤甸潰鏁版嵁
 	 * 
 	 * @param examId
 	 * @return
 	 */
-	@ApiOperation(value = "详情页面数据")
+	@ApiOperation(value = "璇︽儏椤甸潰鏁版嵁")
 	@ApiImplicitParams({
-		@ApiImplicitParam(name="roomId", dataType="String", paramType="query", value="教室ID", required=true),
+		@ApiImplicitParam(name="roomId", dataType="String", paramType="query", value="鏁欏ID", required=true),
 	})
 	@RequestMapping(value = "/detail", method = RequestMethod.GET)
 	public @ResponseBody Result detail(String roomId) {
@@ -178,12 +178,12 @@
 	}
     
 	/**
-	 *查询所有教室的ID和名称
+	 *鏌ヨ鎵�鏈夋暀瀹ょ殑ID鍜屽悕绉�
 	 * 
 	 * @param scheduleIds
 	 * @return
 	 */
-	@ApiOperation(value = "可选择教室ID和名称")
+	@ApiOperation(value = "鍙�夋嫨鏁欏ID鍜屽悕绉�")
 	@RequestMapping(value = "/allRoomIdAndNames", method = RequestMethod.GET)
 	public @ResponseBody Result listClassRoomIdAndNames() {
 		List<Map<String,Object>> listResult =  this.classRoomService.queryAllRoomIdAndNames();
diff --git a/src/main/java/com/qxueyou/scc/controller/ClsLectureController.java b/src/main/java/com/qxueyou/scc/controller/ClsLectureController.java
index 23e65a2..0b1cba2 100644
--- a/src/main/java/com/qxueyou/scc/controller/ClsLectureController.java
+++ b/src/main/java/com/qxueyou/scc/controller/ClsLectureController.java
@@ -29,7 +29,7 @@
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 
-@Api(tags = "课件管理-教师端")
+@Api(tags = "璇句欢绠$悊-鏁欏笀绔�")
 @RestController
 @RequestMapping(value = "teach/clsLecture")
 public class ClsLectureController {
@@ -42,22 +42,22 @@
 	@Autowired
 	IResService resService;
 	
-	/**-------------------------------------------------------------------app接口------------------------------------------------------------------------------------------**/
+	/**-------------------------------------------------------------------app鎺ュ彛------------------------------------------------------------------------------------------**/
 	@SuppressWarnings("unchecked")
-	@ApiOperation(value = "获取课程下课件", notes = "")
+	@ApiOperation(value = "鑾峰彇璇剧▼涓嬭浠�", notes = "")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "classId", value = "班级id", required = true, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "subjectId", value = "课程id", required = true, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "type", value = "课件类型", required = false, paramType="query", dataType = "String")
+        @ApiImplicitParam(name = "classId", value = "鐝骇id", required = true, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "subjectId", value = "璇剧▼id", required = true, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "type", value = "璇句欢绫诲瀷", required = false, paramType="query", dataType = "String")
     })
 	@GetMapping(value = "/app/coursewareList")
 	public Result coursewareList(String classId,String subjectId, String type) {
 		
 		if(StringUtils.isEmpty(subjectId)) {
-			return new Result(false, "课程id不能为空");
+			return new Result(false, "璇剧▼id涓嶈兘涓虹┖");
 		}
 		
-		//公开课和管理员课程
+		//鍏紑璇惧拰绠$悊鍛樿绋�
 		if(StringUtils.isEmpty(classId)) {
 			Object obj = this.classLectureService.coursewareChapterList(classId, subjectId, type).getData();
 			if(obj == null) {
@@ -66,29 +66,29 @@
 			return new Result(true, "success", ((Map<String, Object>)obj).get("listData"));
 		}
 		
-		//查询课件
+		//鏌ヨ璇句欢
 		List<Map<String, Object>> lectures = classLectureService.listLectureBySubject(subjectId, type, classId);
 
-		//查询章节
+		//鏌ヨ绔犺妭
 		List<ClsSubjectChapter> chapterLst = classLectureService.getChapterLectures(classLectureService.getListChapter(classId, subjectId, null), lectures);
 
 		return new Result(true, "success", QBeanUtils.listBean2ListMap(chapterLst,
 				CollectionUtils.newStringMap("name", "name", "chapterId", "chapterId", "lectures", "lectures")));
 	}
 	
-	/**-------------------------------------------------------------------后端接口------------------------------------------------------------------------------------------**/
+	/**-------------------------------------------------------------------鍚庣鎺ュ彛------------------------------------------------------------------------------------------**/
 
 	/**
-	 * 加载课件tree
+	 * 鍔犺浇璇句欢tree
 	 *
 	 * @param parentId
-	 *            父节点id
+	 *            鐖惰妭鐐筰d
 	 */
-	@ApiOperation(value = "获取课程下章节", notes = "")
+	@ApiOperation(value = "鑾峰彇璇剧▼涓嬬珷鑺�", notes = "")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "classId", value = "班级id", required = false, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "subjectId", value = "课程id", required = false, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "parentId", value = "父节点id", required = false, paramType="query", dataType = "String")
+        @ApiImplicitParam(name = "classId", value = "鐝骇id", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "subjectId", value = "璇剧▼id", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "parentId", value = "鐖惰妭鐐筰d", required = false, paramType="query", dataType = "String")
     })
 	@GetMapping(value = "categoryTree")
 	public Result categoryTree(String classId,String subjectId, String parentId) {
@@ -100,25 +100,25 @@
 	}
 
 	/**
-	 * 获取课件列表
+	 * 鑾峰彇璇句欢鍒楄〃
 	 * 
 	 * @param chapterId
-	 *            章节id
+	 *            绔犺妭id
 	 * @param type
-	 *            课件类型
+	 *            璇句欢绫诲瀷
 	 * @param keyword
-	 *            搜索关键字
+	 *            鎼滅储鍏抽敭瀛�
 	 * @param limit
-	 *            每页显示几条
+	 *            姣忛〉鏄剧ず鍑犳潯
 	 * @param pageNum
-	 *            页码
-	 * @return 状态说明(0,视频。1,音频。2,文档。3,练习。)
+	 *            椤电爜
+	 * @return 鐘舵�佽鏄�(0,瑙嗛銆�1,闊抽銆�2,鏂囨。銆�3,缁冧範銆�)
 	 */
-	@ApiOperation(value = "获取课程下章节", notes = "")
+	@ApiOperation(value = "鑾峰彇璇剧▼涓嬬珷鑺�", notes = "")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "classId", value = "班级id", required = false, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "chapterId", value = "章节id", required = false, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "type", value = "课件类型", required = false, paramType="query", dataType = "String")
+        @ApiImplicitParam(name = "classId", value = "鐝骇id", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "chapterId", value = "绔犺妭id", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "type", value = "璇句欢绫诲瀷", required = false, paramType="query", dataType = "String")
     })
 	@GetMapping(value = "coursewareList")
 	public Result lectureList(String chapterId, String type, String keyword, Integer limit, Integer pageNum,
@@ -139,17 +139,17 @@
 	}
 
 	/**
-	 * 查看课件
+	 * 鏌ョ湅璇句欢
 	 * 
 	 * @param id
-	 *            课件id
+	 *            璇句欢id
 	 * @param attribute
-	 *            扩展属性 video:"mp4:HD","m3u8:SD" 可不用传 audio:可不用传 doc:可不用传
+	 *            鎵╁睍灞炴�� video:"mp4:HD","m3u8:SD" 鍙笉鐢ㄤ紶 audio:鍙笉鐢ㄤ紶 doc:鍙笉鐢ㄤ紶
 	 */
-	@ApiOperation(value = "查看课件", notes = "")
+	@ApiOperation(value = "鏌ョ湅璇句欢", notes = "")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "id", value = "课件id", required = false, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "attribute", value = "扩展属性 video:\"mp4:HD\",\"m3u8:SD\" 可不用传 audio:可不用传 doc:可不用传", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "id", value = "璇句欢id", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "attribute", value = "鎵╁睍灞炴�� video:\"mp4:HD\",\"m3u8:SD\" 鍙笉鐢ㄤ紶 audio:鍙笉鐢ㄤ紶 doc:鍙笉鐢ㄤ紶", required = false, paramType="query", dataType = "String"),
     })
 	@GetMapping(value = "showCourseware")
 	public Result showLecture(String id, String attribute) {
@@ -164,10 +164,10 @@
 	}
 
 	/**
-	 * 删除课件
+	 * 鍒犻櫎璇句欢
 	 * 
 	 * @param id
-	 *            课件ids
+	 *            璇句欢ids
 	 */
 	@GetMapping(value = "deleteCourseware")
 	public Result deleteLecture(String id) {
@@ -177,18 +177,18 @@
 	}
 
 	/**
-	 * 课件管理 新增下级,同级
+	 * 璇句欢绠$悊 鏂板涓嬬骇锛屽悓绾�
 	 * 
 	 * @param type
-	 *            (add:新增,edit :编辑)
+	 *            (add:鏂板,edit :缂栬緫)
 	 * @param chapterId
-	 *            章节id
+	 *            绔犺妭id
 	 * @param classId
-	 *            班级id
+	 *            鐝骇id
 	 * @param name
-	 *            名称
+	 *            鍚嶇О
 	 * @param childFlag
-	 *            是否操作下级
+	 *            鏄惁鎿嶄綔涓嬬骇
 	 * 
 	 */
 	@PostMapping(value = "addOrUpdateChapter")
@@ -204,10 +204,10 @@
 	}
 
 	/**
-	 * 课件管理 目录删除
+	 * 璇句欢绠$悊 鐩綍鍒犻櫎
 	 * 
 	 * @param chapterId
-	 *            目录id
+	 *            鐩綍id
 	 */
 	@GetMapping(value = "deleteChapter")
 	public Result deleteChapter(String chapterId) {
@@ -215,24 +215,24 @@
 	}
 
 	/**
-	 * 添加/更新(视频,讲义,音频)
+	 * 娣诲姞/鏇存柊(瑙嗛锛岃涔夛紝闊抽)
 	 * 
 	 * @param name
-	 *            名称
+	 *            鍚嶇О
 	 * @param coverUrl
-	 *            封面Url
+	 *            灏侀潰Url
 	 * @param remark:
 	 *            <p>
-	 *            视频啊啊啊
+	 *            瑙嗛鍟婂晩鍟�
 	 *            </p>
-	 *            介绍
+	 *            浠嬬粛
 	 *
 	 * @param id
-	 *            课件id
+	 *            璇句欢id
 	 * @param sectionId
-	 *            小节Id
+	 *            灏忚妭Id
 	 * @param type
-	 * @return 状态说明(0,视频。1,音频。2,文档。3,练习。)
+	 * @return 鐘舵�佽鏄�(0,瑙嗛銆�1,闊抽銆�2,鏂囨。銆�3,缁冧範銆�)
 	 */
 	@PostMapping(value = "addOrUpdate")
 	public Result addOrUpdate(String id, String remark, String name, String coverUrl, String type, String fileId,
@@ -253,10 +253,10 @@
 	}
 
 	/**
-	 * 编辑 获取内容
+	 * 缂栬緫 鑾峰彇鍐呭
 	 * 
 	 * @param id
-	 *            课件id
+	 *            璇句欢id
 	 */
 	@GetMapping(value = "getCoursewareDetail")
 	public Result getLectureDetail(String id) {
@@ -272,19 +272,19 @@
 	}
 
 	/**
-	 * 课件获取资源列表
+	 * 璇句欢鑾峰彇璧勬簮鍒楄〃
 	 * 
 	 * @param dirId
-	 *            目录Id
+	 *            鐩綍Id
 	 * @param limit
-	 *            每页显示几条
+	 *            姣忛〉鏄剧ず鍑犳潯
 	 * @param pageNum
-	 *            页码
-	 * @return 状态说明(0,视频。1,音频。2,文档。3,练习。)
+	 *            椤电爜
+	 * @return 鐘舵�佽鏄�(0,瑙嗛銆�1,闊抽銆�2,鏂囨。銆�3,缁冧範銆�)
 	 */
-	@ApiOperation(value = "课件获取资源列表", notes = "")
+	@ApiOperation(value = "璇句欢鑾峰彇璧勬簮鍒楄〃", notes = "")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "dirId", value = "目录Id", required = false, paramType="query", dataType = "String")
+        @ApiImplicitParam(name = "dirId", value = "鐩綍Id", required = false, paramType="query", dataType = "String")
     })
 	@GetMapping(value = "getResLst")
 	public Result getResLst(String dirId, Integer limit, Integer pageNum, String keyword) {
@@ -299,12 +299,12 @@
 	}
 
 	/**
-	 * 课件从资源选择后保存
+	 * 璇句欢浠庤祫婧愰�夋嫨鍚庝繚瀛�
 	 * 
 	 * @param resId
-	 *            资源文件id
+	 *            璧勬簮鏂囦欢id
 	 * @param sectionId
-	 *            小节id
+	 *            灏忚妭id
 	 * 
 	 */
 	@GetMapping(value = "saveCourseware4Res")
diff --git a/src/main/java/com/qxueyou/scc/controller/CourseScheduleController.java b/src/main/java/com/qxueyou/scc/controller/CourseScheduleController.java
index d1124c5..f49fc58 100644
--- a/src/main/java/com/qxueyou/scc/controller/CourseScheduleController.java
+++ b/src/main/java/com/qxueyou/scc/controller/CourseScheduleController.java
@@ -27,16 +27,16 @@
 import io.swagger.annotations.ApiOperation;
 
 /**
- * 班级管理控制器
+ * 鐝骇绠$悊鎺у埗鍣�
  *
  * @author kevin
  */
-@Api(tags="课表接口")
+@Api(tags="璇捐〃鎺ュ彛")
 @Controller
 @RequestMapping("/admin/schedule")
 public class CourseScheduleController {
 	
-	// 分页查询中,默认记录条数和页数
+	// 鍒嗛〉鏌ヨ涓紝榛樿璁板綍鏉℃暟鍜岄〉鏁�
 	private static final int DEFAULT_PAGE_SIZE = 10;
 	private static final int DEFAULT_PAGE_NUM = 1;
 
@@ -47,16 +47,16 @@
     IClassRoomService classRoomService;
     
     /**
-	 * 课表列表
+	 * 璇捐〃鍒楄〃
 	 */
     @SuppressWarnings("unchecked")
-	@ApiOperation(value = "获取课表列表")
+	@ApiOperation(value = "鑾峰彇璇捐〃鍒楄〃")
 	@RequestMapping(value = "list", method = RequestMethod.GET)
 	public @ResponseBody Result list(String keyword,Short status,Integer pageSize,Integer pageNum) {
 		pageSize = pageSize != null && pageSize > 0 ? pageSize : DEFAULT_PAGE_SIZE;
 		pageNum = pageNum != null && pageNum > 0 ? pageNum : DEFAULT_PAGE_NUM;
 		
-		//总考试数量
+		//鎬昏�冭瘯鏁伴噺
 		int totalCount = scheduleService.listCount(keyword, status);
 		Pager pager = new Pager(pageSize,pageNum);
 		pager.setTotalCount(totalCount);
@@ -92,16 +92,16 @@
 	}
     
     /**
-  	 * 课表列表
+  	 * 璇捐〃鍒楄〃
      * @throws ParseException 
   	 */
-    @ApiOperation(value = "教师获取当天课表信息")
+    @ApiOperation(value = "鏁欏笀鑾峰彇褰撳ぉ璇捐〃淇℃伅")
   	@RequestMapping(value = "teacher/list", method = RequestMethod.GET)
   	public @ResponseBody Result teacherList(String date,Integer pageSize,Integer pageNum) throws Exception {
   		pageSize = pageSize != null && pageSize > 0 ? pageSize : DEFAULT_PAGE_SIZE;
   		pageNum = pageNum != null && pageNum > 0 ? pageNum : DEFAULT_PAGE_NUM;
   		
-  		//总考试数量
+  		//鎬昏�冭瘯鏁伴噺
   		int totalCount = scheduleService.listTeacherOfScheduleCount(date, pageSize, pageNum);
   		Pager pager = new Pager(pageSize,pageNum);
   		pager.setTotalCount(totalCount);
@@ -144,16 +144,16 @@
     
     
     /**
-  	 * 课表列表
+  	 * 璇捐〃鍒楄〃
      * @throws ParseException 
   	 */
-    @ApiOperation(value = "学生获取当天课表信息")
+    @ApiOperation(value = "瀛︾敓鑾峰彇褰撳ぉ璇捐〃淇℃伅")
   	@RequestMapping(value = "student/list", method = RequestMethod.GET)
   	public @ResponseBody Result studentList(String date,Integer pageSize,Integer pageNum) throws Exception {
   		pageSize = pageSize != null && pageSize > 0 ? pageSize : DEFAULT_PAGE_SIZE;
   		pageNum = pageNum != null && pageNum > 0 ? pageNum : DEFAULT_PAGE_NUM;
   		
-  		//总考试数量
+  		//鎬昏�冭瘯鏁伴噺
   		int totalCount = scheduleService.listStudentScheduleCount(date, pageSize, pageNum);
   		Pager pager = new Pager(pageSize,pageNum);
   		pager.setTotalCount(totalCount);
@@ -193,13 +193,13 @@
   	}
      
 	/**
-	 * 保存
+	 * 淇濆瓨
 	 * 
 	 * @param examInfo
 	 * @return
 	 * @throws Exception 
 	 */
-    @ApiOperation(value = "保存课表")
+    @ApiOperation(value = "淇濆瓨璇捐〃")
 	@RequestMapping(value = "/save", method = RequestMethod.POST)
 	public @ResponseBody Result save(@RequestBody CourseSchedule courseSchedule) throws Exception {
     	if (StringUtils.isEmpty(courseSchedule.getScheduleId())) {
@@ -212,13 +212,13 @@
 	}
 
 	/**
-	 * 删除
+	 * 鍒犻櫎
 	 * 
 	 * @param examIds
 	 * @return
 	 */
-	@ApiOperation(value = "删除课表", httpMethod = "GET")
-	@ApiImplicitParam(name = "scheduleIds", value = "课表ID字符串", required = true, dataType = "String", paramType = "body")
+	@ApiOperation(value = "鍒犻櫎璇捐〃", httpMethod = "GET")
+	@ApiImplicitParam(name = "scheduleIds", value = "璇捐〃ID瀛楃涓�", required = true, dataType = "String", paramType = "body")
 	@RequestMapping(value = "delete", method = RequestMethod.GET)
 	public @ResponseBody Result delete(String scheduleIds) {
 		Result result = new Result(true);
@@ -229,47 +229,47 @@
 	}
 	
 	/**
-	 * 发布课表
+	 * 鍙戝竷璇捐〃
 	 * 
 	 * @param scheduleIds
 	 * @return
 	 */
-	@ApiOperation(value = "发布课表")
+	@ApiOperation(value = "鍙戝竷璇捐〃")
 	@RequestMapping(value = "/publish", method = RequestMethod.GET)
 	public @ResponseBody Result publish(String scheduleIds) {
 		if (StringUtils.isEmpty(scheduleIds)) {
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
 		return this.scheduleService.doRelease(scheduleIds.split(","));
 	}
 
 	/**
-	 * 撤回课表
+	 * 鎾ゅ洖璇捐〃
 	 * 
 	 * @param scheduleIds
 	 * @return
 	 */
-	@ApiOperation(value = "撤回课表")
+	@ApiOperation(value = "鎾ゅ洖璇捐〃")
 	@RequestMapping(value = "/cancel", method = RequestMethod.GET)
 	public @ResponseBody Result cancel(String scheduleIds) {
 		if (StringUtils.isEmpty(scheduleIds)) {
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
 		
 		return this.scheduleService.doCancel(scheduleIds.split(","));
 	}
 	
 	/**
-	 * 课表详情
+	 * 璇捐〃璇︽儏
 	 * 
 	 * @param scheduleIds
 	 * @return
 	 */
-	@ApiOperation(value = "课表详情")
+	@ApiOperation(value = "璇捐〃璇︽儏")
 	@RequestMapping(value = "/detail", method = RequestMethod.GET)
 	public @ResponseBody Result detail(String scheduleId) {
 		if (StringUtils.isEmpty(scheduleId)) {
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
 		
 		CourseSchedule sche =  this.scheduleService.detail(scheduleId);
@@ -300,16 +300,16 @@
 	}
 	
 	/**
-	 * 标记有课的日期
+	 * 鏍囪鏈夎鐨勬棩鏈�
 	 * 
 	 * @param scheduleIds
 	 * @return
 	 */
-	@ApiOperation(value = "教师课表是否有课标识查询")
+	@ApiOperation(value = "鏁欏笀璇捐〃鏄惁鏈夎鏍囪瘑鏌ヨ")
 	@RequestMapping(value = "teacher/flag", method = RequestMethod.GET)
 	public @ResponseBody Result listTeacherDateFlag(Integer year,Integer month) {
 		if (year==null || month==null) {
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
 		
 		List<Integer> listResult =  this.scheduleService.queryDateFlag(year, month);
diff --git a/src/main/java/com/qxueyou/scc/controller/CoursewareController.java b/src/main/java/com/qxueyou/scc/controller/CoursewareController.java
index 85d8290..2474063 100644
--- a/src/main/java/com/qxueyou/scc/controller/CoursewareController.java
+++ b/src/main/java/com/qxueyou/scc/controller/CoursewareController.java
@@ -33,12 +33,12 @@
 import io.swagger.annotations.ApiOperation;
 
 /**
- * 课件控制器
+ * 璇句欢鎺у埗鍣�
  *
  * @author chenjunliang
  *
  */
-@Api(tags = "课件管理-管理员端")
+@Api(tags = "璇句欢绠$悊-绠$悊鍛樼")
 @RestController
 @RequestMapping(value = "teach/courseware")
 public class CoursewareController {
@@ -56,10 +56,10 @@
 	IProgressService progressService;
 
 	/**
-	 * 加载课件tree
+	 * 鍔犺浇璇句欢tree
 	 *
 	 * @param parentId
-	 *            父节点id
+	 *            鐖惰妭鐐筰d
 	 */
 	@GetMapping(value = "categoryTree")
 	public Result categoryTree(String subjectId, String parentId) {
@@ -71,19 +71,19 @@
 	}
 
 	/**
-	 * 获取课件列表
+	 * 鑾峰彇璇句欢鍒楄〃
 	 *
 	 * @param chapterId
-	 *            章节id
+	 *            绔犺妭id
 	 * @param type
-	 *            课件类型
+	 *            璇句欢绫诲瀷
 	 * @param keyword
-	 *            搜索关键字
+	 *            鎼滅储鍏抽敭瀛�
 	 * @param limit
-	 *            每页显示几条
+	 *            姣忛〉鏄剧ず鍑犳潯
 	 * @param pageNum
-	 *            页码
-	 * @return 状态说明(0,视频。1,音频。2,文档。3,练习。)
+	 *            椤电爜
+	 * @return 鐘舵�佽鏄�(0,瑙嗛銆�1,闊抽銆�2,鏂囨。銆�3,缁冧範銆�)
 	 */
 	@GetMapping(value = "coursewareList")
 	public Result coursewareList(String chapterId, String type, String keyword, Integer limit, Integer pageNum) {
@@ -102,17 +102,17 @@
 	}
 
 	/**
-	 * 查看课件
+	 * 鏌ョ湅璇句欢
 	 *
 	 * @param id
-	 *            课件id
+	 *            璇句欢id
 	 * @param attribute
-	 *            扩展属性 video:"mp4:HD","m3u8:SD" 可不用传 audio:可不用传 doc:可不用传
+	 *            鎵╁睍灞炴�� video:"mp4:HD","m3u8:SD" 鍙笉鐢ㄤ紶 audio:鍙笉鐢ㄤ紶 doc:鍙笉鐢ㄤ紶
 	 */
-	@ApiOperation(value = "查看课件", notes = "")
+	@ApiOperation(value = "鏌ョ湅璇句欢", notes = "")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "id", value = "课件id", required = false, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "attribute", value = "扩展属性 video:\"mp4:HD\",\"m3u8:SD\" 可不用传 audio:可不用传 doc:可不用传", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "id", value = "璇句欢id", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "attribute", value = "鎵╁睍灞炴�� video:\"mp4:HD\",\"m3u8:SD\" 鍙笉鐢ㄤ紶 audio:鍙笉鐢ㄤ紶 doc:鍙笉鐢ㄤ紶", required = false, paramType="query", dataType = "String"),
     })
 	@GetMapping(value = "showCourseware")
 	public Result showCourseware(String id, String attribute) {
@@ -127,10 +127,10 @@
 	}
 
 	/**
-	 * 删除课件
+	 * 鍒犻櫎璇句欢
 	 *
 	 * @param id
-	 *            课件ids
+	 *            璇句欢ids
 	 */
 	@GetMapping(value = "deleteCourseware")
 	public Result deleteCourseware(String id) {
@@ -142,20 +142,20 @@
 	}
 
 	/**
-	 * 课件的复制
+	 * 璇句欢鐨勫鍒�
 	 *
 	 * @param id
-	 *            课件id
+	 *            璇句欢id
 	 * @param type
-	 *            课件类型
+	 *            璇句欢绫诲瀷
 	 * @param chapterId
-	 *            章Id
+	 *            绔營d
 	 * @param sectionId
-	 *            节id
+	 *            鑺俰d
 	 * @param smallSectionId
-	 *            小节id
+	 *            灏忚妭id
 	 * @param name
-	 *            课件名称
+	 *            璇句欢鍚嶇О
 	 */
 	@GetMapping(value = "copy")
 	public Result copy(String id, String type, String subjectId, String chapterId, String name) {
@@ -163,18 +163,18 @@
 	}
 
 	/**
-	 * 课件的移动
+	 * 璇句欢鐨勭Щ鍔�
 	 *
 	 * @param id
-	 *            课件id
+	 *            璇句欢id
 	 * @param type
-	 *            课件类型
+	 *            璇句欢绫诲瀷
 	 * @param chapterId
-	 *            章Id
+	 *            绔營d
 	 * @param sectionId
-	 *            节id
+	 *            鑺俰d
 	 * @param smallSectionId
-	 *            小节id
+	 *            灏忚妭id
 	 */
 	@GetMapping(value = "move")
 	public Result moveCourseware(String id, String type, String subjectId, String chapterId, String name) {
@@ -182,18 +182,18 @@
 	}
 
 	/**
-	 * 课件管理 新增下级,同级
+	 * 璇句欢绠$悊 鏂板涓嬬骇锛屽悓绾�
 	 *
 	 * @param type
-	 *            (add:新增,edit :编辑)
+	 *            (add:鏂板,edit :缂栬緫)
 	 * @param chapterId
-	 *            章节id
+	 *            绔犺妭id
 	 * @param subjectId
-	 *            课程id
+	 *            璇剧▼id
 	 * @param name
-	 *            名称
+	 *            鍚嶇О
 	 * @param childFlag
-	 *            是否操作下级
+	 *            鏄惁鎿嶄綔涓嬬骇
 	 *
 	 */
 	@PostMapping(value = "addOrUpdateChapter")
@@ -211,10 +211,10 @@
 	}
 
 	/**
-	 * 课件管理 目录删除
+	 * 璇句欢绠$悊 鐩綍鍒犻櫎
 	 *
 	 * @param chapterId
-	 *            目录id
+	 *            鐩綍id
 	 */
 	@GetMapping(value = "deleteChapter")
 	public Result deleteChapter(String chapterId) {
@@ -222,24 +222,24 @@
 	}
 
 	/**
-	 * 添加/更新(视频,讲义,音频)
+	 * 娣诲姞/鏇存柊(瑙嗛锛岃涔夛紝闊抽)
 	 *
 	 * @param name
-	 *            名称
+	 *            鍚嶇О
 	 * @param coverUrl
-	 *            封面Url
+	 *            灏侀潰Url
 	 * @param remark:
 	 *            <p>
-	 *            视频啊啊啊
+	 *            瑙嗛鍟婂晩鍟�
 	 *            </p>
-	 *            介绍
+	 *            浠嬬粛
 	 *
 	 * @param id
-	 *            课件id
+	 *            璇句欢id
 	 * @param sectionId
-	 *            小节Id
+	 *            灏忚妭Id
 	 * @param type
-	 * @return 状态说明(0,视频。1,音频。2,文档。3,练习。)
+	 * @return 鐘舵�佽鏄�(0,瑙嗛銆�1,闊抽銆�2,鏂囨。銆�3,缁冧範銆�)
 	 */
 	@PostMapping(value = "addOrUpdate")
 	public Result addOrUpdate(String id, String remark, String name, String coverUrl, String type, String fileId,
@@ -263,10 +263,10 @@
 	}
 
 	/**
-	 * 编辑 获取内容
+	 * 缂栬緫 鑾峰彇鍐呭
 	 *
 	 * @param id
-	 *            课件id
+	 *            璇句欢id
 	 */
 	@GetMapping(value = "getCoursewareDetail")
 	public Result getCoursewareDetail(String id) {
@@ -282,15 +282,15 @@
 	}
 
 	/**
-	 * 课件获取资源列表
+	 * 璇句欢鑾峰彇璧勬簮鍒楄〃
 	 *
 	 * @param dirId
-	 *            目录Id
+	 *            鐩綍Id
 	 * @param limit
-	 *            每页显示几条
+	 *            姣忛〉鏄剧ず鍑犳潯
 	 * @param pageNum
-	 *            页码
-	 * @return 状态说明(0,视频。1,音频。2,文档。3,练习。)
+	 *            椤电爜
+	 * @return 鐘舵�佽鏄�(0,瑙嗛銆�1,闊抽銆�2,鏂囨。銆�3,缁冧範銆�)
 	 */
 	@GetMapping(value = "getResLst")
 	public Result getResLst(String dirId, Integer limit, Integer pageNum, String keyword) {
@@ -305,12 +305,12 @@
 	}
 
 	/**
-	 * 课件从资源选择后保存
+	 * 璇句欢浠庤祫婧愰�夋嫨鍚庝繚瀛�
 	 *
 	 * @param resId
-	 *            资源文件id
+	 *            璧勬簮鏂囦欢id
 	 * @param sectionId
-	 *            小节id
+	 *            灏忚妭id
 	 *
 	 */
 	@GetMapping(value = "saveCourseware4Res")
@@ -329,27 +329,27 @@
 	}
 
 	/**
-	 * 获取练习成绩列表
+	 * 鑾峰彇缁冧範鎴愮哗鍒楄〃
 	 *
 	 * @param subjectId
-	 *            课程id
+	 *            璇剧▼id
 	 * @param exerciseId
-	 *            练习id
+	 *            缁冧範id
 	 * @param pageSize
-	 *            每页显示几条
+	 *            姣忛〉鏄剧ず鍑犳潯
 	 * @param pageNum
-	 *            页码
+	 *            椤电爜
 	 *
 	 */
 	@GetMapping(value = "lstExerciseScore")
 	public Result lstExerciseScore(String subjectId, String exerciseId, Integer pageSize, Integer pageNum) {
 		Map<String, Object> lstExerciseGradeOne = CollectionUtils.newObjectMap("studentNumber", 201342, "studentName",
-				"李刚1", "className", "catti", "mockTime", new Date(), "status", 1, "score", 60, // status 0 表示未提交,1是已提交
-				"passingFlag", 1);// passingFlag 1,true,0 false
+				"鏉庡垰1", "className", "catti", "mockTime", new Date(), "status", 1, "score", 60, // status 0 琛ㄧず鏈彁浜わ紝1鏄凡鎻愪氦
+				"passingFlag", 1);// passingFlag 1锛宼rue,0 false
 		Map<String, Object> lstExerciseGradeTwo = CollectionUtils.newObjectMap("studentNumber", 201342, "studentName",
-				"李刚2", "className", "catti", "mockTime", new Date(), "status", 0, "score", 70, "passingFlag", 0);
+				"鏉庡垰2", "className", "catti", "mockTime", new Date(), "status", 0, "score", 70, "passingFlag", 0);
 		Map<String, Object> lstExerciseGradeThree = CollectionUtils.newObjectMap("studentNumber", 201342, "studentName",
-				"李刚3", "className", "catti", "mockTime", new Date(), "status", 1, "score", 80, "passingFlag", 1);
+				"鏉庡垰3", "className", "catti", "mockTime", new Date(), "status", 1, "score", 80, "passingFlag", 1);
 		return new Result(true, "success",
 				CollectionUtils.newObjectMap("scoreLst",
 						CollectionUtils.newList(lstExerciseGradeOne, lstExerciseGradeTwo, lstExerciseGradeThree),
@@ -357,11 +357,11 @@
 	}
 
 	/**
-	 * 练习成绩的导出
+	 * 缁冧範鎴愮哗鐨勫鍑�
 	 *
 	 * @param subjectId
-	 *            课程id
-	 * @param exerciseId练习id
+	 *            璇剧▼id
+	 * @param exerciseId缁冧範id
 	 */
 	@GetMapping(value = "exportScore")
 	public Result exportScore(String subjectId, String exerciseId) {
diff --git a/src/main/java/com/qxueyou/scc/controller/EvaluateController.java b/src/main/java/com/qxueyou/scc/controller/EvaluateController.java
index 01f3a1d..1004e0f 100644
--- a/src/main/java/com/qxueyou/scc/controller/EvaluateController.java
+++ b/src/main/java/com/qxueyou/scc/controller/EvaluateController.java
@@ -25,11 +25,11 @@
 
 
 /**
- * 评估控制器
+ * 璇勪及鎺у埗鍣�
  *
  * @author zhiyong
  */
-@Api(tags = "问卷接口")
+@Api(tags = "闂嵎鎺ュ彛")
 @Controller
 @CrossOrigin(origins="*",maxAge=3600)
 @RequestMapping(value = "/evaluate")
@@ -44,19 +44,19 @@
     @Autowired
     IOssService ossService;
 
-    // ------------------------------后台   start------------------------------------------------------------
+    // ------------------------------鍚庡彴   start------------------------------------------------------------
 
     /**
-     * 获取列表数据
+     * 鑾峰彇鍒楄〃鏁版嵁
      *
      * @return
      */
-    @ApiOperation(value = "获取列表数据-教师端", notes = "", httpMethod = "GET")
+    @ApiOperation(value = "鑾峰彇鍒楄〃鏁版嵁-鏁欏笀绔�", notes = "", httpMethod = "GET")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "pageNum", value = "页码", required = false, paramType="query", dataType = "Integer"),
-        @ApiImplicitParam(name = "pageSize", value = "每页数目", required = false, paramType="query", dataType = "Integer"),
-        @ApiImplicitParam(name = "keyword", value = "查询字段", required = false, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "sort", value = "排序字段", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "pageNum", value = "椤电爜", required = false, paramType="query", dataType = "Integer"),
+        @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏁扮洰", required = false, paramType="query", dataType = "Integer"),
+        @ApiImplicitParam(name = "keyword", value = "鏌ヨ瀛楁", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "sort", value = "鎺掑簭瀛楁", required = false, paramType="query", dataType = "String"),
     })
     @RequestMapping(value = "list", method = RequestMethod.GET)
     public @ResponseBody
@@ -66,15 +66,15 @@
     }
 
     /**
-     * 获取范围选择
+     * 鑾峰彇鑼冨洿閫夋嫨
      * <p>
-     * type:   lesson:课程  class:班级     person:人员
+     * type:   lesson:璇剧▼  class:鐝骇     person:浜哄憳
      *
      * @return
      */
-    @ApiOperation(value = "获取范围选择", notes = "根据填写范围获取下拉列表的值")
+    @ApiOperation(value = "鑾峰彇鑼冨洿閫夋嫨", notes = "鏍规嵁濉啓鑼冨洿鑾峰彇涓嬫媺鍒楄〃鐨勫��")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "type", value = "填写范围【lesson:课程  class:班级     person:人员】", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "type", value = "濉啓鑼冨洿銆恖esson:璇剧▼  class:鐝骇     person:浜哄憳銆�", required = false, paramType="query", dataType = "String"),
     })
     @RequestMapping(value = "rangeList", method = RequestMethod.GET)
     public @ResponseBody
@@ -84,13 +84,13 @@
     }
 
     /**
-     * 后台管理
-     * 新增或修改教学评估
+     * 鍚庡彴绠$悊
+     * 鏂板鎴栦慨鏀规暀瀛﹁瘎浼�
      *
      * @param obj
      * @return
      */
-    @ApiOperation(value = "新增或修改问卷", notes = "")
+    @ApiOperation(value = "鏂板鎴栦慨鏀归棶鍗�", notes = "")
     @RequestMapping(value = "addOrUpdate", method = RequestMethod.POST)
     public @ResponseBody
     ResultJson addOrUpdateEvaluate(@RequestBody SchEvaluate eva) {
@@ -99,13 +99,13 @@
     }
 
     /**
-     * 获取回显数据
+     * 鑾峰彇鍥炴樉鏁版嵁
      *
      * @return
      */
-    @ApiOperation(value = "读取问卷的信息", notes = "")
+    @ApiOperation(value = "璇诲彇闂嵎鐨勪俊鎭�", notes = "")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "evaluateId", value = "问卷id", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "evaluateId", value = "闂嵎id", required = false, paramType="query", dataType = "String"),
     })
     @RequestMapping(value = "baseInfo", method = RequestMethod.GET)
     public @ResponseBody
@@ -115,13 +115,13 @@
     }
 
     /**
-     * 删除
+     * 鍒犻櫎
      *
      * @return
      */
-    @ApiOperation(value = "删除问卷", notes = "")
+    @ApiOperation(value = "鍒犻櫎闂嵎", notes = "")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "evaluateIds", value = "问卷id,id", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "evaluateIds", value = "闂嵎id,id", required = false, paramType="query", dataType = "String"),
     })
     @RequestMapping(value = "delete", method = RequestMethod.POST)
     public @ResponseBody
@@ -131,14 +131,14 @@
     }
 
     /**
-     * 后台管理
-     * 激活教学评估
+     * 鍚庡彴绠$悊
+     * 婵�娲绘暀瀛﹁瘎浼�
      *
      * @return
      */
-    @ApiOperation(value = "激活教学评估", notes = "")
+    @ApiOperation(value = "婵�娲绘暀瀛﹁瘎浼�", notes = "")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "evaluateIds", value = "问卷id,id", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "evaluateIds", value = "闂嵎id,id", required = false, paramType="query", dataType = "String"),
     })
     @RequestMapping(value = "active", method = RequestMethod.POST)
     @ResponseBody
@@ -149,14 +149,14 @@
     }
 
     /**
-     * 后台管理
-     * 撤回
+     * 鍚庡彴绠$悊
+     * 鎾ゅ洖
      *
      * @return
      */
-    @ApiOperation(value = "撤回教学评估", notes = "")
+    @ApiOperation(value = "鎾ゅ洖鏁欏璇勪及", notes = "")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "evaluateIds", value = "问卷id,id", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "evaluateIds", value = "闂嵎id,id", required = false, paramType="query", dataType = "String"),
     })
     @RequestMapping(value = "withdraw", method = RequestMethod.POST)
     @ResponseBody
@@ -167,12 +167,12 @@
     }
 
     /**
-     * 后台管理
-     * 复制
+     * 鍚庡彴绠$悊
+     * 澶嶅埗
      *
      * @return
      */
-    @ApiOperation(value = "复制教学评估", notes = "")
+    @ApiOperation(value = "澶嶅埗鏁欏璇勪及", notes = "")
     @RequestMapping(value = "copy", method = RequestMethod.POST)
     @ResponseBody
     public ResultJson doCopy(@RequestBody SchEvaluate eva) {
@@ -183,17 +183,17 @@
 
 
     /**
-     * 查看结果  问卷整体情况
+     * 鏌ョ湅缁撴灉  闂嵎鏁翠綋鎯呭喌
      *
      * @param groupId
      * @param schEvaluateId
      * @param classId
      * @return
      */
-    @ApiOperation(value = "问卷整体答题情况", notes = "")
+    @ApiOperation(value = "闂嵎鏁翠綋绛旈鎯呭喌", notes = "")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "evaluateId", value = "问卷id", required = false, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "groupId", value = "练习组id", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "evaluateId", value = "闂嵎id", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "groupId", value = "缁冧範缁刬d", required = false, paramType="query", dataType = "String"),
     })
     @RequestMapping(value = "queryEvaluateDetail", method = RequestMethod.GET)
     @ResponseBody
@@ -203,16 +203,16 @@
     }
 
     /**
-     * 查看统计
+     * 鏌ョ湅缁熻
      *
      * @param groupId
      * @param schEvaluateId
      * @return
      */
-    @ApiOperation(value = "查看问卷统计情况", notes = "")
+    @ApiOperation(value = "鏌ョ湅闂嵎缁熻鎯呭喌", notes = "")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "evaluateId", value = "问卷id", required = false, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "groupId", value = "练习组id", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "evaluateId", value = "闂嵎id", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "groupId", value = "缁冧範缁刬d", required = false, paramType="query", dataType = "String"),
     })
     @RequestMapping(value = "evaluateStatisDetail", method = RequestMethod.GET)
     @ResponseBody
@@ -222,18 +222,18 @@
     }
 
 
-    // ------------------------------后台   end------------------------------------------------------------
+    // ------------------------------鍚庡彴   end------------------------------------------------------------
 
-    // ------------------------------前端  start-----------------------------------------------------------
+    // ------------------------------鍓嶇  start-----------------------------------------------------------
 
     /**
-     * 微信提交问卷
+     * 寰俊鎻愪氦闂嵎
      *
      * @param answers
      * @param userId
      * @return
      */
-    @ApiOperation(value = "提交问卷答案", notes = "")
+    @ApiOperation(value = "鎻愪氦闂嵎绛旀", notes = "")
     @ApiImplicitParams({
         @ApiImplicitParam(name = "answers", value = "{\"evaluateId\":\"297ebe0e653d1bf601654064de690004\",\"exerciseGroupId\":\"297ebe0e653d1bf601654064de2b0002\",\"items\":[{\"exerciseId\":\"297ebe0e653d1bf60165407d5e9f0033\",\"answer\":\"B,C\"},{\"exerciseId\":\"297ebe0e653d1bf60165407eb3b6003e\",\"answer\":\"B\"},{\"exerciseId\":\"297ebe0e653d1bf6016541a801c5009e\",\"answer\":\"A,B\"},{\"exerciseId\":\"297ebe0e653d1bf6016540755a4a0005\",\"answer\":\"B\"},{\"exerciseId\":\"297ebe0e653d1bf6016540787e42001d\",\"answer\":\"B\"},{\"exerciseId\":\"297ebe0e653d1bf60165407b48a80028\",\"answer\":\"B\"}]}", required = false, paramType="query", dataType = "String"),
     })
@@ -245,9 +245,9 @@
 
         try {
             ObjectMapper mapper = new ObjectMapper();
-            // 装换json到对象
+            // 瑁呮崲json鍒板璞�
             TeachEvaScoreResult scoreResult = mapper.readValue(answers, TeachEvaScoreResult.class);
-            // 提交答卷入库
+            // 鎻愪氦绛斿嵎鍏ュ簱
             result = evaluateService.doSubmitTeachEvalScoreData(scoreResult, userId);
             
             evaluateService.updateEvaluateCount(scoreResult.getEvaluateId());
@@ -261,11 +261,11 @@
     }
 
     /**
-     * 查询学生评估list
+     * 鏌ヨ瀛︾敓璇勪及list
      *
      * @return
      */
-    @ApiOperation(value = "问卷列表-学员端", notes = "")
+    @ApiOperation(value = "闂嵎鍒楄〃-瀛﹀憳绔�", notes = "")
     @RequestMapping(value = "stuEvaluateList", method = RequestMethod.GET)
     public @ResponseBody
     ResultJson queryStuEvaluateList(Pager pager) {
@@ -274,14 +274,14 @@
     }
 
     /**
-     * 问卷查询题目
+     * 闂嵎鏌ヨ棰樼洰
      *
      * @param evaluateId
      * @return
      */
-    @ApiOperation(value = "问卷题目列表", notes = "")
+    @ApiOperation(value = "闂嵎棰樼洰鍒楄〃", notes = "")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "evaluateId", value = "问卷id", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "evaluateId", value = "闂嵎id", required = false, paramType="query", dataType = "String"),
     })
     @RequestMapping(value = "viewStuEvaluate", method = RequestMethod.GET)
     public @ResponseBody
@@ -290,5 +290,5 @@
         return evaluateService.doGetEvalExerItemResponseDataNew(evaluateId);
     }
 
-    // ------------------------------前端   end------------------------------------------------------------
+    // ------------------------------鍓嶇   end------------------------------------------------------------
 }
diff --git a/src/main/java/com/qxueyou/scc/controller/ExamRoomController.java b/src/main/java/com/qxueyou/scc/controller/ExamRoomController.java
index c8a760c..8b204a0 100644
--- a/src/main/java/com/qxueyou/scc/controller/ExamRoomController.java
+++ b/src/main/java/com/qxueyou/scc/controller/ExamRoomController.java
@@ -20,14 +20,14 @@
 import java.util.List;
 import java.util.Map;
 
-@Api(tags = "考场管理")
+@Api(tags = "鑰冨満绠$悊")
 @RestController
 @RequestMapping(value = "admin/examroom")
 public class ExamRoomController {
-	//日志
+	//鏃ュ織
 	private final Logger log = LogManager.getLogger(ExamRoomController.class);
 
-	// 分页查询中,默认记录条数和页数
+	// 鍒嗛〉鏌ヨ涓紝榛樿璁板綍鏉℃暟鍜岄〉鏁�
 	private static final int DEFAULT_PAGE_SIZE = 10;
 	private static final int DEFAULT_PAGE_NUM = 1;
 
@@ -38,15 +38,15 @@
 	private CommonDAO commonDAO;
 
     /**
-	 * 考场列表
+	 * 鑰冨満鍒楄〃
 	 */
-    @ApiOperation(value = "获取考场列表")
+    @ApiOperation(value = "鑾峰彇鑰冨満鍒楄〃")
 	@RequestMapping(value = "list", method = RequestMethod.GET)
 	public @ResponseBody Result list(String roomId,String keyword,Short status,Integer pageSize,Integer pageNum) {
 		pageSize = pageSize != null && pageSize > 0 ? pageSize : DEFAULT_PAGE_SIZE;
 		pageNum = pageNum != null && pageNum > 0 ? pageNum : DEFAULT_PAGE_NUM;
 
-		//总考试数量
+		//鎬昏�冭瘯鏁伴噺
 		int totalCount = examRoomService.listCount(roomId,keyword, status);
 		Pager pager = new Pager(pageSize,pageNum);
 		pager.setTotalCount(totalCount);
@@ -61,19 +61,19 @@
 	}
 
 	/**
-	 * 保存
+	 * 淇濆瓨
 	 *
 	 * @param examRoom
 	 * @return
 	 */
-    @ApiOperation(value = "保存考场")
+    @ApiOperation(value = "淇濆瓨鑰冨満")
 	@RequestMapping(value = "/save", method = RequestMethod.POST)
 	public @ResponseBody Result save(@RequestBody ExamRoom examRoom) {
 
 
 		if (StringUtils.isEmpty(examRoom.getExamroomId())) {
 			if(checkIsDumplicate(examRoom.getExamroomId(),examRoom.getExamroomName())){
-				return new Result(false, "添加失败!重复的考场信息");
+				return new Result(false, "娣诲姞澶辫触锛侀噸澶嶇殑鑰冨満淇℃伅");
 			}
 			return new Result(true,"",CollectionUtils.newObjectMap("examroomId", examRoomService.add(examRoom)));
 		} else {
@@ -107,13 +107,13 @@
 
 
 	/**
-	 * 删除
+	 * 鍒犻櫎
 	 *
 	 * @param examroomIds
 	 * @return
 	 */
-	@ApiOperation(value = "删除考场", httpMethod = "GET")
-	@ApiImplicitParam(name = "examroomIds", value = "考场ID字符串", required = true, dataType = "String", paramType = "body")
+	@ApiOperation(value = "鍒犻櫎鑰冨満", httpMethod = "GET")
+	@ApiImplicitParam(name = "examroomIds", value = "鑰冨満ID瀛楃涓�", required = true, dataType = "String", paramType = "body")
 	@RequestMapping(value = "delete", method = RequestMethod.GET)
 	public @ResponseBody Result delete(String examroomIds) {
 		Result result = new Result(true);
@@ -124,32 +124,32 @@
 	}
 
 	/**
-	 * 发布考场
+	 * 鍙戝竷鑰冨満
 	 *
 	 * @param roomIds
 	 * @return
 	 */
-	@ApiOperation(value = "发布考场", httpMethod = "GET")
+	@ApiOperation(value = "鍙戝竷鑰冨満", httpMethod = "GET")
 	@RequestMapping(value = "/publish", method = RequestMethod.GET)
 	public @ResponseBody Result publish(String roomIds) {
 		if (StringUtils.isEmpty(roomIds)) {
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
 
 		return this.examRoomService.doRelease(roomIds.split(","));
 	}
 
 	/**
-	 * 撤回发布的考场
+	 * 鎾ゅ洖鍙戝竷鐨勮�冨満
 	 *
 	 * @param roomIds
 	 * @return
 	 */
-	@ApiOperation(value = "撤回考场", httpMethod = "GET")
+	@ApiOperation(value = "鎾ゅ洖鑰冨満", httpMethod = "GET")
 	@RequestMapping(value = "/cancel", method = RequestMethod.GET)
 	public @ResponseBody Result cancel(String roomIds) {
 		if (StringUtils.isEmpty(roomIds)) {
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
 
 		return this.examRoomService.doCancel(roomIds.split(","));
@@ -157,14 +157,14 @@
 
 
 	/**
-	 * 详情页面数据
+	 * 璇︽儏椤甸潰鏁版嵁
 	 *
 	 * @param examroomId
 	 * @return
 	 */
-	@ApiOperation(value = "详情页面数据")
+	@ApiOperation(value = "璇︽儏椤甸潰鏁版嵁")
 	@ApiImplicitParams({
-		@ApiImplicitParam(name="roomId", dataType="String", paramType="query", value="考场ID", required=true),
+		@ApiImplicitParam(name="roomId", dataType="String", paramType="query", value="鑰冨満ID", required=true),
 	})
 	@RequestMapping(value = "/detail", method = RequestMethod.GET)
 	public @ResponseBody Result detail(String examroomId) {
@@ -172,10 +172,10 @@
 	}
 
 	/**
-	 * 查询所有考场的ID和名称
+	 * 鏌ヨ鎵�鏈夎�冨満鐨処D鍜屽悕绉�
 	 * @return
 	 */
-	@ApiOperation(value = "可选择考场ID和名称")
+	@ApiOperation(value = "鍙�夋嫨鑰冨満ID鍜屽悕绉�")
 	@RequestMapping(value = "/allExamRoomIdAndNames", method = RequestMethod.GET)
 	public @ResponseBody Result listClassRoomIdAndNames() {
 		List<Map<String,Object>> listResult =  this.examRoomService.queryAllRoomIdAndNames();
diff --git a/src/main/java/com/qxueyou/scc/controller/FileController.java b/src/main/java/com/qxueyou/scc/controller/FileController.java
index 98b552f..f93b11e 100644
--- a/src/main/java/com/qxueyou/scc/controller/FileController.java
+++ b/src/main/java/com/qxueyou/scc/controller/FileController.java
@@ -24,11 +24,11 @@
 import io.swagger.annotations.ApiOperation;
 
 /**
- * 文件上传控制器
+ * 鏂囦欢涓婁紶鎺у埗鍣�
  * 
  * @author xiadehu
  */
-@Api(tags="文件上传通用接口")
+@Api(tags="鏂囦欢涓婁紶閫氱敤鎺ュ彛")
 @Controller
 @RequestMapping(value = "/base/file")
 public class FileController {
@@ -39,27 +39,27 @@
 	IFileService fileService;
 
 	/**
-	 * 通用上传接口
+	 * 閫氱敤涓婁紶鎺ュ彛
 	 * 
-	 * @TODO : 目前缺少对 各模块文件个数、文件格式、文件大小的上传控制,统一增加在configFileModule表里面即可实现 1 图片; 2 文档  3 视频 4 音频
+	 * @TODO : 鐩墠缂哄皯瀵� 鍚勬ā鍧楁枃浠朵釜鏁般�佹枃浠舵牸寮忋�佹枃浠跺ぇ灏忕殑涓婁紶鎺у埗,缁熶竴澧炲姞鍦╟onfigFileModule琛ㄩ噷闈㈠嵆鍙疄鐜� 1 鍥剧墖锛� 2 鏂囨。  3 瑙嗛 4 闊抽
 	 * @param response
 	 * @return
 	 */
-	@ApiOperation(value="通用上传接口", notes="目前缺少对 各模块文件个数、文件格式、文件大小的上传控制,统一增加在configFileModule表里面即可实现 1 图片; 2 文档  3 视频 4 音频")
+	@ApiOperation(value="閫氱敤涓婁紶鎺ュ彛", notes="鐩墠缂哄皯瀵� 鍚勬ā鍧楁枃浠朵釜鏁般�佹枃浠舵牸寮忋�佹枃浠跺ぇ灏忕殑涓婁紶鎺у埗,缁熶竴澧炲姞鍦╟onfigFileModule琛ㄩ噷闈㈠嵆鍙疄鐜� 1 鍥剧墖锛� 2 鏂囨。  3 瑙嗛 4 闊抽")
 	@RequestMapping(value = "/upload", headers = "content-type=multipart/*", method = RequestMethod.POST)
 	public @ResponseBody List<FileMeta> doUpload(MultipartHttpServletRequest request, HttpServletResponse response) {
 
-		// 2.循环取得文件
+		// 2.寰幆鍙栧緱鏂囦欢
 		Iterator<String> itr = request.getFileNames();
 		MultipartFile mpf = null;
 		List<FileMeta> files = new ArrayList<FileMeta>(2);
 		FileMeta fileMeta = null;
 
 		while (itr.hasNext()) {
-			// 2.从request中取的下一个 MultipartFile
+			// 2.浠巖equest涓彇鐨勪笅涓�涓� MultipartFile
 			mpf = request.getFile(itr.next());
 
-			// 2.2 创建一个FileMeta
+			// 2.2 鍒涘缓涓�涓狥ileMeta
 			fileMeta = new FileMeta();
 			try {
 				Result uploadResult = fileService.doUpload(mpf.getInputStream(), mpf.getOriginalFilename());
@@ -69,7 +69,7 @@
 			} catch (Exception e) {
 				String desp = e.getMessage();
 				desp = desp.length() > 120 ? desp.substring(0, 120) : desp;
-				log.error("上传模块解析出错:" + e);
+				log.error("涓婁紶妯″潡瑙f瀽鍑洪敊锛�" + e);
 			}
 
 			fileMeta.setFileName(mpf.getOriginalFilename());
diff --git a/src/main/java/com/qxueyou/scc/controller/IndexController.java b/src/main/java/com/qxueyou/scc/controller/IndexController.java
index 92f8cac..73694c4 100644
--- a/src/main/java/com/qxueyou/scc/controller/IndexController.java
+++ b/src/main/java/com/qxueyou/scc/controller/IndexController.java
@@ -23,7 +23,7 @@
 import org.springframework.web.context.request.ServletRequestAttributes;
 
 /**
- * 后台首页控制器
+ * 鍚庡彴棣栭〉鎺у埗鍣�
  * 
  * @author xiadehu
  *
diff --git a/src/main/java/com/qxueyou/scc/controller/MsgChatroomMsgCtrl.java b/src/main/java/com/qxueyou/scc/controller/MsgChatroomMsgCtrl.java
index bfa1872..e434d73 100644
--- a/src/main/java/com/qxueyou/scc/controller/MsgChatroomMsgCtrl.java
+++ b/src/main/java/com/qxueyou/scc/controller/MsgChatroomMsgCtrl.java
@@ -28,12 +28,12 @@
             String userType) {
         try {
             if (StringUtils.isEmpty(chatroomId) || StringUtils.isEmpty(senderId) || StringUtils.isEmpty(content)) {
-                return new Result(false, "参数错误");
+                return new Result(false, "鍙傛暟閿欒");
             }
             return service.doSendMessage(chatroomId, senderId, imgPath, alias, content, type, userType);
         } catch (Exception e) {
             e.printStackTrace();
-            return new Result(false, "系统异常");
+            return new Result(false, "绯荤粺寮傚父");
         }
     }
 
@@ -44,7 +44,7 @@
             return service.getHistoryMes(chatroomId, pageNum);
         } catch (Exception e) {
             e.printStackTrace();
-            return new Result(false, "系统异常");
+            return new Result(false, "绯荤粺寮傚父");
         }
     }
 
@@ -55,7 +55,7 @@
             return service.latestMsg(chatroomId);
         } catch (Exception e) {
             e.printStackTrace();
-            return new Result(false, "系统异常");
+            return new Result(false, "绯荤粺寮傚父");
         }
     }
 }
diff --git a/src/main/java/com/qxueyou/scc/controller/MsgInfoController.java b/src/main/java/com/qxueyou/scc/controller/MsgInfoController.java
index a95520d..5017220 100644
--- a/src/main/java/com/qxueyou/scc/controller/MsgInfoController.java
+++ b/src/main/java/com/qxueyou/scc/controller/MsgInfoController.java
@@ -21,13 +21,13 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 
-@Api(tags="消息管理接口")
+@Api(tags="娑堟伅绠$悊鎺ュ彛")
 @Controller
 @CrossOrigin(origins="*",maxAge=3600)
 @RequestMapping(value = "/msg/msg/")
 public class MsgInfoController {
 
-	// 分页查询中,默认记录条数和页数
+	// 鍒嗛〉鏌ヨ涓紝榛樿璁板綍鏉℃暟鍜岄〉鏁�
 	private static final int DEFAULT_PAGE_SIZE = 10;
 	private static final int DEFAULT_PAGE_NUM = 1;
 
@@ -35,15 +35,15 @@
     IMsgInfoService msgInfoService;
 	
 	/**
-	 * 消息列表
+	 * 娑堟伅鍒楄〃
 	 */
-    @ApiOperation(value = "获取消息列表")
+    @ApiOperation(value = "鑾峰彇娑堟伅鍒楄〃")
 	@RequestMapping(value = "list", method = RequestMethod.GET)
 	public @ResponseBody Result list(Short type,Integer pageSize,Integer pageNum) {
 		pageSize = pageSize != null && pageSize > 0 ? pageSize : DEFAULT_PAGE_SIZE;
 		pageNum = pageNum != null && pageNum > 0 ? pageNum : DEFAULT_PAGE_NUM;
 		
-		//消息数量
+		//娑堟伅鏁伴噺
 		int totalCount = msgInfoService.listCount(type);
 		Pager pager = new Pager(pageSize,pageNum);
 		pager.setTotalCount(totalCount);
@@ -58,48 +58,48 @@
 	}
 	
 	/**
-	 *  删除消息
+	 *  鍒犻櫎娑堟伅
 	 * @param msgIds
 	 * @return
 	 */
-    @ApiOperation(value = "删除消息")
+    @ApiOperation(value = "鍒犻櫎娑堟伅")
 	@RequestMapping(value = "delete", method = RequestMethod.GET)
     public @ResponseBody Result deleteUserMsg(String  msgIds){
 		if(StringUtils.isEmpty(msgIds)){
-			return new Result(false,"参数错误!");
+			return new Result(false,"鍙傛暟閿欒锛�");
 		}
 		
 		return this.msgInfoService.deleteUserMsg(msgIds.split(","));
 	}
 
 	/**
-	 * 清空个人消息
+	 * 娓呯┖涓汉娑堟伅
 	 * 
 	 * @return
 	 */
-    @ApiOperation(value = "清空消息")
+    @ApiOperation(value = "娓呯┖娑堟伅")
 	@RequestMapping(value = "clear", method = RequestMethod.GET)
     public @ResponseBody Result deleteAllUserMsg(Short type){
 		return this.msgInfoService.deleteAllUserMsg(type);
 	}
 	
 	/**
-	 *  修改已读标志位
+	 *  淇敼宸茶鏍囧織浣�
 	 * @param msgId
 	 * @return
 	 */
-    @ApiOperation(value = "更新为已读")
+    @ApiOperation(value = "鏇存柊涓哄凡璇�")
 	@RequestMapping(value = "read", method = RequestMethod.GET)
     public @ResponseBody Result updateReadFlag(String msgIds){
 		return this.msgInfoService.updateReadStatus(msgIds.split(","));
 	}
 	
 	/**
-	 *  全部已读
+	 *  鍏ㄩ儴宸茶
 	 * @param msgId
 	 * @return
 	 */
-    @ApiOperation(value = "全部更新为已读")
+    @ApiOperation(value = "鍏ㄩ儴鏇存柊涓哄凡璇�")
 	@RequestMapping(value = "readall", method = RequestMethod.GET)
     public @ResponseBody Result updateAllUserReadFlag(Short type){
 		return this.msgInfoService.updateUserAllReadStatus(type);
@@ -107,11 +107,11 @@
     
     
    /**
-	 *  最近的提醒消息
+	 *  鏈�杩戠殑鎻愰啋娑堟伅
 	 * @param msgId
 	 * @return
 	 */
-   @ApiOperation(value = "最近的一条提醒信息")
+   @ApiOperation(value = "鏈�杩戠殑涓�鏉℃彁閱掍俊鎭�")
    @RequestMapping(value = "last", method = RequestMethod.GET)
    public @ResponseBody Result getLatest(){
 	   return new Result(true,"",this.msgInfoService.readLastRemindMsg());
@@ -119,22 +119,22 @@
     
    
    /**
-	 *  最近的提醒消息
+	 *  鏈�杩戠殑鎻愰啋娑堟伅
 	 * @param msgId
 	 * @return
 	 */
-   @ApiOperation(value = "按类型获取未读消息的数量")
+   @ApiOperation(value = "鎸夌被鍨嬭幏鍙栨湭璇绘秷鎭殑鏁伴噺")
    @RequestMapping(value = "count", method = RequestMethod.GET)
    public @ResponseBody Result queryUnReadMsgCountByType(){
 	   return new Result(true,"",this.msgInfoService.queryUnReadMsgCountByType());
    }
    
    /**
-	 *  查询未读消息总数
+	 *  鏌ヨ鏈娑堟伅鎬绘暟
 	 * @param msgId
 	 * @return
 	 */
-   @ApiOperation(value = "查询用户未读消息总数")
+   @ApiOperation(value = "鏌ヨ鐢ㄦ埛鏈娑堟伅鎬绘暟")
    @RequestMapping(value = "totalcount", method = RequestMethod.GET)
    public @ResponseBody Result queryUnReadTotalCount(){
 	   return new Result(true,"",CollectionUtils.newObjectMap("totalCount",this.msgInfoService.queryUnReadTotalCount()));
diff --git a/src/main/java/com/qxueyou/scc/controller/NoticeController.java b/src/main/java/com/qxueyou/scc/controller/NoticeController.java
index 676be85..e95f1a1 100644
--- a/src/main/java/com/qxueyou/scc/controller/NoticeController.java
+++ b/src/main/java/com/qxueyou/scc/controller/NoticeController.java
@@ -31,7 +31,7 @@
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 
-@Api(tags = "公告接口-教师端")
+@Api(tags = "鍏憡鎺ュ彛-鏁欏笀绔�")
 @RestController
 @RequestMapping(value = "/admin/notice")
 public class NoticeController {
@@ -49,18 +49,18 @@
     ClassDAO classDao;
 
     /**
-     * 显示 公告列表
+     * 鏄剧ず 鍏憡鍒楄〃
      *
      * @param keyword
      * @param pageNum
      * @param pageSize
      * @return
      */
-    @ApiOperation(value = "公告列表", notes = "获取班级列表及班级所在公告列表")
+    @ApiOperation(value = "鍏憡鍒楄〃", notes = "鑾峰彇鐝骇鍒楄〃鍙婄彮绾ф墍鍦ㄥ叕鍛婂垪琛�")
     @GetMapping(value = "list")
     public Result list(String keyword, Integer pageNum, Integer pageSize) {
 		if (!ClientUtils.isAdmin()) {
-			// 获取班级列表及班级所在公告列表
+			// 鑾峰彇鐝骇鍒楄〃鍙婄彮绾ф墍鍦ㄥ叕鍛婂垪琛�
 			List<String> noticeIds = new ArrayList<String>(10);
 			List<ClsClass> clsLst = classService.getClassLstByTeacherId();
 			for (ClsClass cls : clsLst) {
@@ -91,13 +91,13 @@
     }
 
     /**
- 	  *   显示 公告管理列表
+ 	  *   鏄剧ず 鍏憡绠$悊鍒楄〃
      * @param keyword
      * @param pageNum
      * @param pageSize
      * @return
      */
-    @ApiOperation(value = "公告管理列表", notes = "")
+    @ApiOperation(value = "鍏憡绠$悊鍒楄〃", notes = "")
     @GetMapping(value = "managerLst")
     public Result managerLst(String keyword, Pager pager, @RequestParam(defaultValue = "desc") String sort) {
         String keyword_ = StringUtils.isBlank(keyword) ? "" : keyword;
@@ -127,23 +127,23 @@
     
     private String getTypeName(String key) {
     	Map<String, String> typeMap = new HashMap<>();
-    	typeMap.put("homework", "作业公告");
-    	typeMap.put("exam", "考试公告");
-    	typeMap.put("other", "其他公告");
-    	typeMap.put("class", "上课公告");
+    	typeMap.put("homework", "浣滀笟鍏憡");
+    	typeMap.put("exam", "鑰冭瘯鍏憡");
+    	typeMap.put("other", "鍏朵粬鍏憡");
+    	typeMap.put("class", "涓婅鍏憡");
     	
     	return typeMap.get(key);
     }
 
     /**
-     * 发布公告/多个id已逗号隔开
+     * 鍙戝竷鍏憡/澶氫釜id宸查�楀彿闅斿紑
      *
-     * @param noticeIds 公告ids
+     * @param noticeIds 鍏憡ids
      * @return
      */
-    @ApiOperation(value = "发布公告", notes = "多个id已逗号隔开")
+    @ApiOperation(value = "鍙戝竷鍏憡", notes = "澶氫釜id宸查�楀彿闅斿紑")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "noticeIds", value = "多个id已逗号隔开", required = true, paramType="query", dataType = "String")
+        @ApiImplicitParam(name = "noticeIds", value = "澶氫釜id宸查�楀彿闅斿紑", required = true, paramType="query", dataType = "String")
     })
     @PostMapping(value = "release")
     public Result release(String noticeIds) {
@@ -151,14 +151,14 @@
     }
 
     /**
-     * 取消发布/多个id已逗号隔开
+     * 鍙栨秷鍙戝竷/澶氫釜id宸查�楀彿闅斿紑
      *
-     * @param noticeIds 公告ids
+     * @param noticeIds 鍏憡ids
      * @return
      */
-    @ApiOperation(value = "取消发布", notes = "多个id已逗号隔开")
+    @ApiOperation(value = "鍙栨秷鍙戝竷", notes = "澶氫釜id宸查�楀彿闅斿紑")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "noticeIds", value = "多个id已逗号隔开", required = true, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "noticeIds", value = "澶氫釜id宸查�楀彿闅斿紑", required = true, paramType="query", dataType = "String"),
     })
     @PostMapping(value = "cancel")
     public Result cancel(String noticeIds) {
@@ -166,14 +166,14 @@
     }
 
     /**
-     * 删除 公告/多个id已逗号隔开
+     * 鍒犻櫎 鍏憡/澶氫釜id宸查�楀彿闅斿紑
      *
-     * @param noticeIds 公告ids
+     * @param noticeIds 鍏憡ids
      * @return
      */
-    @ApiOperation(value = "删除公告", notes = "多个id已逗号隔开")
+    @ApiOperation(value = "鍒犻櫎鍏憡", notes = "澶氫釜id宸查�楀彿闅斿紑")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "noticeIds", value = "多个id已逗号隔开", required = true, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "noticeIds", value = "澶氫釜id宸查�楀彿闅斿紑", required = true, paramType="query", dataType = "String"),
     })
     @PostMapping(value = "delete")
     public Result delete(String noticeIds) {
@@ -181,7 +181,7 @@
     }
 
     /**
-     * 新增/更新
+     * 鏂板/鏇存柊
      *
      * @param noticeId
      * @param name
@@ -191,12 +191,12 @@
      * @param pathUrl
      * @return
      */
-	@ApiOperation(value = "新增/更新公告", notes = "noticeId存在则更新,否则新增")
+	@ApiOperation(value = "鏂板/鏇存柊鍏憡", notes = "noticeId瀛樺湪鍒欐洿鏂帮紝鍚﹀垯鏂板")
 	@ApiImplicitParams({
-			@ApiImplicitParam(name = "name", value = "公告标题", required = true, paramType = "query", dataType = "String"),
-			@ApiImplicitParam(name = "content", value = "公告内容", required = true, paramType = "query", dataType = "String"),
-			@ApiImplicitParam(name = "type", value = "公告类型名称", required = true, paramType = "query", dataType = "String"),
-			@ApiImplicitParam(name = "classIds", value = "关联的班级id,逗号组装", required = true, paramType = "query", dataType = "String") })
+			@ApiImplicitParam(name = "name", value = "鍏憡鏍囬", required = true, paramType = "query", dataType = "String"),
+			@ApiImplicitParam(name = "content", value = "鍏憡鍐呭", required = true, paramType = "query", dataType = "String"),
+			@ApiImplicitParam(name = "type", value = "鍏憡绫诲瀷鍚嶇О", required = true, paramType = "query", dataType = "String"),
+			@ApiImplicitParam(name = "classIds", value = "鍏宠仈鐨勭彮绾d锛岄�楀彿缁勮", required = true, paramType = "query", dataType = "String") })
 	@PostMapping(value = "addOrUpdate")
 	public Result addOrUpdate(String noticeId, String name, String content, String type, String classIds,
 			String pathUrl) {
@@ -209,14 +209,14 @@
 	}
 
     /**
-     * 获取公告详情
+     * 鑾峰彇鍏憡璇︽儏
      *
      * @param noticeId
      * @return
      */
-	@ApiOperation(value = "获取公告详情", notes = "")
+	@ApiOperation(value = "鑾峰彇鍏憡璇︽儏", notes = "")
 	@ApiImplicitParams({
-			@ApiImplicitParam(name = "noticeId", value = "公告id", required = true, paramType = "query", dataType = "String")
+			@ApiImplicitParam(name = "noticeId", value = "鍏憡id", required = true, paramType = "query", dataType = "String")
 	})
     @GetMapping(value = "detail")
     public Result detail(String noticeId) {
@@ -241,27 +241,27 @@
         ));
     }
 
-	@ApiOperation(value = "获取班级列表", notes = "")
+	@ApiOperation(value = "鑾峰彇鐝骇鍒楄〃", notes = "")
     @GetMapping(value = "findClassLst")
     public Result findClassLst() {
         if (ClientUtils.isAdmin()) {
             List<Map<String, Object>> clsLst = classService.getAllClassLst().getDataT("classLst");
-            return new Result(true, "操作成功", QBeanUtils.listBean2ListMap(clsLst, CollectionUtils.newStringMap(
+            return new Result(true, "鎿嶄綔鎴愬姛", QBeanUtils.listBean2ListMap(clsLst, CollectionUtils.newStringMap(
                     "classId", "classId",
                     "className", "className"
             )));
         } else {
             List<ClsClass> clsLst = classService.getClassLstByTeacherId();
-            return new Result(true, "操作成功", QBeanUtils.listBean2ListMap(clsLst, CollectionUtils.newStringMap(
+            return new Result(true, "鎿嶄綔鎴愬姛", QBeanUtils.listBean2ListMap(clsLst, CollectionUtils.newStringMap(
                     "classId", "classId",
                     "name", "className"
             )));
         }
     }
 
-	@ApiOperation(value = "更新公告查看次数", notes = "")
+	@ApiOperation(value = "鏇存柊鍏憡鏌ョ湅娆℃暟", notes = "")
 	@ApiImplicitParams({
-			@ApiImplicitParam(name = "noticeId", value = "公告id", required = false, paramType = "query", dataType = "String")
+			@ApiImplicitParam(name = "noticeId", value = "鍏憡id", required = false, paramType = "query", dataType = "String")
 	})
     @GetMapping(value = "view")
     public Result view(String noticeId) {
diff --git a/src/main/java/com/qxueyou/scc/controller/ResController.java b/src/main/java/com/qxueyou/scc/controller/ResController.java
index ea597bb..89e1119 100644
--- a/src/main/java/com/qxueyou/scc/controller/ResController.java
+++ b/src/main/java/com/qxueyou/scc/controller/ResController.java
@@ -19,11 +19,11 @@
 import java.util.Map;
 
 /**
- * 资源管理控制器
+ * 璧勬簮绠$悊鎺у埗鍣�
  *
  * @author chenjunliang
  */
-@Api(tags = "资源管理接口")
+@Api(tags = "璧勬簮绠$悊鎺ュ彛")
 @RestController
 @RequestMapping(value = "/teach/res")
 public class ResController {
@@ -32,7 +32,7 @@
     IResService resService;
 
     /**
-     * 资源库层级管理Tree
+     * 璧勬簮搴撳眰绾х鐞員ree
      */
     @GetMapping(value = "categoryLevel")
     public Result categoryLevel(String parentId) {
@@ -45,12 +45,12 @@
     }
 
     /**
-     * 资源库根节点
+     * 璧勬簮搴撴牴鑺傜偣
      *
-     * @param type    资源库类型
-     *                user,个人资源库
-     *                class,班级资源库
-     * @param ownerId 资源库所属主体id,个人资源库传userId,班级资源库传classId
+     * @param type    璧勬簮搴撶被鍨�
+     *                user,涓汉璧勬簮搴�
+     *                class,鐝骇璧勬簮搴�
+     * @param ownerId 璧勬簮搴撴墍灞炰富浣搃d,涓汉璧勬簮搴撲紶userId,鐝骇璧勬簮搴撲紶classId
      */
     @GetMapping(value = "rootDir")
     public Result getRoot(String type, String ownerId) {
@@ -66,14 +66,14 @@
     }
 
     /**
-     * 资源管理获取 资源列表
+     * 璧勬簮绠$悊鑾峰彇 璧勬簮鍒楄〃
      *
-     * @param dirId   目录id
-     * @param keyword 搜索关键字
-     * @param limit   每页显示几条
-     * @param pageNum 页码
-     * @param type    类型(0,视频。1,音频。2,文档。3,练习。)
-     * @return 资源列表数据
+     * @param dirId   鐩綍id
+     * @param keyword 鎼滅储鍏抽敭瀛�
+     * @param limit   姣忛〉鏄剧ず鍑犳潯
+     * @param pageNum 椤电爜
+     * @param type    绫诲瀷(0,瑙嗛銆�1,闊抽銆�2,鏂囨。銆�3,缁冧範銆�)
+     * @return 璧勬簮鍒楄〃鏁版嵁
      */
     @GetMapping(value = "lstRes")
     public Result lstRes(String dirId, String keyword, Integer limit, Integer pageNum, String type) {
@@ -90,9 +90,9 @@
     }
 
     /**
-     * 资源管理删除 资源
+     * 璧勬簮绠$悊鍒犻櫎 璧勬簮
      *
-     * @param id 资源id,英文逗号区分,可传多个
+     * @param id 璧勬簮id,鑻辨枃閫楀彿鍖哄垎,鍙紶澶氫釜
      */
     @GetMapping(value = "deleteFile")
     public Result deleteRes(String fileId) {
@@ -100,11 +100,11 @@
     }
 
     /**
-     * 资源管理 复制资源
+     * 璧勬簮绠$悊 澶嶅埗璧勬簮
      *
-     * @param resId 资源id
-     * @param dirId 目录id
-     * @param type  类型
+     * @param resId 璧勬簮id
+     * @param dirId 鐩綍id
+     * @param type  绫诲瀷
      */
     @GetMapping(value = "copyRes")
     public Result copyRes(String resId, String dirId, String type) {
@@ -112,11 +112,11 @@
     }
 
     /**
-     * 资源管理 资源的移动
+     * 璧勬簮绠$悊 璧勬簮鐨勭Щ鍔�
      *
-     * @param resId 要移动的资源
-     * @param type  目录类型
-     * @param dirId 目录id
+     * @param resId 瑕佺Щ鍔ㄧ殑璧勬簮
+     * @param type  鐩綍绫诲瀷
+     * @param dirId 鐩綍id
      */
     @GetMapping(value = "moveRes")
     public Result moveRes(String resId, String type, String dirId) {
@@ -124,12 +124,12 @@
     }
 
     /**
-     * 资源管理新增or编辑目录
+     * 璧勬簮绠$悊鏂板or缂栬緫鐩綍
      *
-     * @param dirId     目录id
-     * @param name      目录名
-     * @param type      (add新增 and edit修改)
-     * @param childFlag 是否操作下级
+     * @param dirId     鐩綍id
+     * @param name      鐩綍鍚�
+     * @param type      (add鏂板 and edit淇敼)
+     * @param childFlag 鏄惁鎿嶄綔涓嬬骇
      */
     @GetMapping(value = "addOrUpdateDir")
     public Result addOrUpdateDir(String type, String name, String dirId, boolean childFlag) {
@@ -145,9 +145,9 @@
     }
 
     /**
-     * 资源管理 删除目录
+     * 璧勬簮绠$悊 鍒犻櫎鐩綍
      *
-     * @param dirId 目录id
+     * @param dirId 鐩綍id
      */
     @GetMapping(value = "deleteDir")
     public Result deleteDir(String dirId) {
@@ -155,19 +155,19 @@
     }
 
     /**
-     * 添加/更新(视频,讲义,音频)
+     * 娣诲姞/鏇存柊(瑙嗛锛岃涔夛紝闊抽)
      *
-     * @param dirId    资源夹id
-     * @param name     名称
-     * @param coverUrl 封面Url
+     * @param dirId    璧勬簮澶筰d
+     * @param name     鍚嶇О
+     * @param coverUrl 灏侀潰Url
      * @param remark:  <p>
-     *                 视频啊啊啊
+     *                 瑙嗛鍟婂晩鍟�
      *                 </p>
-     *                 介绍
-     * @param fileId   资源id
-     * @param id       资源id
+     *                 浠嬬粛
+     * @param fileId   璧勬簮id
+     * @param id       璧勬簮id
      * @param type
-     * @return 状态说明(0, 视频 。 1, 音频 。 2, 文档 。 3, 练习 。)
+     * @return 鐘舵�佽鏄�(0, 瑙嗛 銆� 1, 闊抽 銆� 2, 鏂囨。 銆� 3, 缁冧範 銆�)
      */
     @PostMapping(value = "addOrUpdateRes")
     public Result addOrUpdateRes(String dirId, String id, String remark, String name, String coverUrl, String type,
@@ -181,16 +181,16 @@
     }
 
     /**
-     * 批量添加资源
+     * 鎵归噺娣诲姞璧勬簮
      *
-     * @param dirId    节点id
-     * @param fileId   文件id
-     * @param fileName 文件名称
-     * @param fileType 资源类型
+     * @param dirId    鑺傜偣id
+     * @param fileId   鏂囦欢id
+     * @param fileName 鏂囦欢鍚嶇О
+     * @param fileType 璧勬簮绫诲瀷
      */
     @PostMapping(value = "addOfBatch")
     public Result addOfBatch(String dirId, String type, @RequestParam(value = "datas") String datas) {
-        // 转换json到对象
+        // 杞崲json鍒板璞�
         ObjectMapper mapper = new ObjectMapper();
         try {
             ResDatas resDatas = mapper.readValue(datas, ResDatas.class);
@@ -202,9 +202,9 @@
     }
 
     /**
-     * 编辑 获取内容
+     * 缂栬緫 鑾峰彇鍐呭
      *
-     * @param id 资源id
+     * @param id 璧勬簮id
      */
     @GetMapping(value = "getResDetail")
     public Result getResDetail(String id) {
diff --git a/src/main/java/com/qxueyou/scc/controller/SchoolRollController.java b/src/main/java/com/qxueyou/scc/controller/SchoolRollController.java
index b204a3e..1b5533e 100644
--- a/src/main/java/com/qxueyou/scc/controller/SchoolRollController.java
+++ b/src/main/java/com/qxueyou/scc/controller/SchoolRollController.java
@@ -16,11 +16,11 @@
 import java.util.List;
 
 /**
- * 学籍管理控制器
+ * 瀛︾睄绠$悊鎺у埗鍣�
  *
  * @author hurenrong
  */
-@Api(tags="学籍管理接口")
+@Api(tags="瀛︾睄绠$悊鎺ュ彛")
 @RestController
 @RequestMapping("/admin/schoolRoller")
 public class SchoolRollController {
@@ -29,14 +29,14 @@
     private ISchoolRollService iSchoolRollService;
 
     /**
-     * 获取正常学员列表
+     * 鑾峰彇姝e父瀛﹀憳鍒楄〃
      *
      * @param keyword
      * @param limit
      * @param pageNum
      * @return
      */
-    @ApiOperation(value = "获取正学籍列表", notes = "")
+    @ApiOperation(value = "鑾峰彇姝e绫嶅垪琛�", notes = "")
     @GetMapping(value = "/schoolList")
     public Result schoolList(@RequestParam(defaultValue = "10") Integer limit, @RequestParam(defaultValue = "1") Integer pageNum,String keyword,String status) {
 
@@ -52,44 +52,44 @@
     }
 
     /**
-     * 给学员分配班级
+     * 缁欏鍛樺垎閰嶇彮绾�
      *
      * @return
      */
-    @ApiOperation(value = "给学员分配班级", notes = "")
+    @ApiOperation(value = "缁欏鍛樺垎閰嶇彮绾�", notes = "")
     @GetMapping(value = "/updateSchoolClass")
     public Result updateSchoolClass(String [] studentIds,String classId) {
         return iSchoolRollService.updateSchool(studentIds, classId);
     }
 
     /**
-     * 审核学员并生成学号
+     * 瀹℃牳瀛﹀憳骞剁敓鎴愬鍙�
      *
      * @return
      */
-    @ApiOperation(value = "审核学员并生成学号", notes = "")
+    @ApiOperation(value = "瀹℃牳瀛﹀憳骞剁敓鎴愬鍙�", notes = "")
     @GetMapping(value = "/auditStudent")
     public Result auditStudent(String studentIds) {
         return iSchoolRollService.loopStudentIds(studentIds.split(","));
     }
 
     /**
-     * 导出学员信息
+     * 瀵煎嚭瀛﹀憳淇℃伅
      *
      * @return
      */
-    @ApiOperation(value = "导出学员信息", notes = "")
+    @ApiOperation(value = "瀵煎嚭瀛﹀憳淇℃伅", notes = "")
     @GetMapping(value = "/deriveStudentMessage")
     public void deriveStudentMessage(String StudentId,String ClassId) {
         iSchoolRollService.deriveStudentMessage();
     }
 
     /**
-     * 查询班级
+     * 鏌ヨ鐝骇
      *
      * @return
      */
-    @ApiOperation(value = "查询班级", notes = "")
+    @ApiOperation(value = "鏌ヨ鐝骇", notes = "")
     @GetMapping(value = "/findClass")
     public Result findClass() {
         List<ClsClass> aClass = iSchoolRollService.findClass();
diff --git a/src/main/java/com/qxueyou/scc/controller/SubjectController.java b/src/main/java/com/qxueyou/scc/controller/SubjectController.java
index b25bcab..88c0c9d 100644
--- a/src/main/java/com/qxueyou/scc/controller/SubjectController.java
+++ b/src/main/java/com/qxueyou/scc/controller/SubjectController.java
@@ -30,12 +30,12 @@
 import io.swagger.annotations.ApiOperation;
 
 /**
- * 课程管理控制器
+ * 璇剧▼绠$悊鎺у埗鍣�
  * 
  * @author chenjunliang
  *
  */
-@Api(tags = "课程管理-教师端")
+@Api(tags = "璇剧▼绠$悊-鏁欏笀绔�")
 @RestController
 @RequestMapping(value = "/teach/subject")
 public class SubjectController {
@@ -49,46 +49,46 @@
 	@Autowired
 	private ITeacherService teacherService;
 	
-	/**-------------------------------------------------------------------app接口------------------------------------------------------------------------------------------**/
+	/**-------------------------------------------------------------------app鎺ュ彛------------------------------------------------------------------------------------------**/
 	
 	/**
-	 * 课程管理列表
+	 * 璇剧▼绠$悊鍒楄〃
 	 * 
 	 * @param keyword
-	 *            索搜关键字
+	 *            绱㈡悳鍏抽敭瀛�
 	 * @param limit
-	 *            显示几条
+	 *            鏄剧ず鍑犳潯
 	 * @param pageNum
-	 *            当前页码
+	 *            褰撳墠椤电爜
 	 * @param status
-	 *            状态
+	 *            鐘舵��
 	 */
-	@ApiOperation(value = "获取列表数据-教师端", notes = "")
+	@ApiOperation(value = "鑾峰彇鍒楄〃鏁版嵁-鏁欏笀绔�", notes = "")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "status", value = "状态", required = false, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "type", value = "类型(1:班级课程,3:公开课程)", required = false, paramType="query", dataType = "Integer")
+        @ApiImplicitParam(name = "status", value = "鐘舵��", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "type", value = "绫诲瀷(1:鐝骇璇剧▼,3:鍏紑璇剧▼)", required = false, paramType="query", dataType = "Integer")
     })
 	@GetMapping(value = "/app/teacherSubjectList")
 	public Result list(Pager pager, @RequestParam(defaultValue="")String keyword, String status, Integer type) {
 		if(type == null) {
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
 		return subjectService.teacherSubjectList(pager, keyword, status, type);
 	}
 	
-	/**-------------------------------------------------------------------后端接口------------------------------------------------------------------------------------------**/
+	/**-------------------------------------------------------------------鍚庣鎺ュ彛------------------------------------------------------------------------------------------**/
 
 	/**
-	 * 课程管理列表
+	 * 璇剧▼绠$悊鍒楄〃
 	 * 
 	 * @param keyword
-	 *            索搜关键字
+	 *            绱㈡悳鍏抽敭瀛�
 	 * @param limit
-	 *            显示几条
+	 *            鏄剧ず鍑犳潯
 	 * @param pageNum
-	 *            当前页码
+	 *            褰撳墠椤电爜
 	 * @param status
-	 *            状态
+	 *            鐘舵��
 	 */
 	@GetMapping(value = "/list")
 	public Result list(String keyword,String status,Integer type, Integer limit, Integer pageNum) {
@@ -108,16 +108,16 @@
 	}
 
 	/**
-	 * 课程管理列表
+	 * 璇剧▼绠$悊鍒楄〃
 	 * 
 	 * @param keyword
-	 *            索搜关键字
+	 *            绱㈡悳鍏抽敭瀛�
 	 * @param limit
-	 *            显示几条
+	 *            鏄剧ず鍑犳潯
 	 * @param pageNum
-	 *            当前页码
+	 *            褰撳墠椤电爜
 	 * @param status
-	 *            状态
+	 *            鐘舵��
 	 */
 	@GetMapping(value = "/listAllSimple")
 	public Result listAllSimple() {
@@ -129,9 +129,9 @@
 	}
 
 	/**
-	 * 课程发布
+	 * 璇剧▼鍙戝竷
 	 * a
-	 * @param 课程ids
+	 * @param 璇剧▼ids
 	 */
 	@GetMapping(value = "/release")
 	public Result release(String subjectIds) {
@@ -141,10 +141,10 @@
 	}
 
 	/**
-	 * 课程下架
+	 * 璇剧▼涓嬫灦
 	 * 
 	 * @param subjectIds
-	 *            课程ids
+	 *            璇剧▼ids
 	 */
 	@GetMapping(value = "/soldOut")
 	public Result soldOut(String subjectIds) {
@@ -152,10 +152,10 @@
 	}
 
 	/**
-	 * 课程删除
+	 * 璇剧▼鍒犻櫎
 	 * 
 	 * @param subjectIds
-	 *            课程ids
+	 *            璇剧▼ids
 	 */
 	@GetMapping(value = "/delete")
 	public Result delete(String subjectIds) {
@@ -163,16 +163,16 @@
 	}
 
 	/**
-	 * 复制课程
+	 * 澶嶅埗璇剧▼
 	 * 
 	 * @param subjectId
-	 *            课程id
+	 *            璇剧▼id
 	 * @param subjectName
-	 *            课程名称
+	 *            璇剧▼鍚嶇О
 	 * @param imgPath
-	 *            图片url
+	 *            鍥剧墖url
 	 * @param content
-	 *            课程介绍
+	 *            璇剧▼浠嬬粛
 	 */
 	@PostMapping(value = "/copy")
 	public Result copy(String subjectId, String subjectName, String imgPath, String content,int type) {
@@ -180,14 +180,14 @@
 	}
 
 	/**
-	 * 新增课程
+	 * 鏂板璇剧▼
 	 * 
 	 * @param subjectName
-	 *            课程名称
+	 *            璇剧▼鍚嶇О
 	 * @param imgPath
-	 *            图片url
+	 *            鍥剧墖url
 	 * @param content
-	 *            课程介绍
+	 *            璇剧▼浠嬬粛
 	 * @return
 	 */
 	@PostMapping(value = "/add")
@@ -209,16 +209,16 @@
 	}
 
 	/**
-	 * 新增练习
+	 * 鏂板缁冧範
 	 * 
 	 * @param name
-	 *            题目名称
+	 *            棰樼洰鍚嶇О
 	 * @param type
-	 *            题库类型
+	 *            棰樺簱绫诲瀷
 	 * @param difficulty
-	 *            难度系数
+	 *            闅惧害绯绘暟
 	 * @param repeatFlag
-	 *            是否重复
+	 *            鏄惁閲嶅
 	 * @return
 	 */
 	@PostMapping(value = "addExercise")
@@ -227,16 +227,16 @@
 	}
 
 	/**
-	 * 更新课程
+	 * 鏇存柊璇剧▼
 	 * 
 	 * @param subjectId
-	 *            课程id
+	 *            璇剧▼id
 	 * @param subjectName
-	 *            课程名称
+	 *            璇剧▼鍚嶇О
 	 * @param imgPath
-	 *            图片url
+	 *            鍥剧墖url
 	 * @param content
-	 *            课程介绍
+	 *            璇剧▼浠嬬粛
 	 */
 	@PostMapping(value = "/update")
 	public Result update(String subjectId, String subjectName, String imgPath, String content,int type) {
@@ -256,14 +256,14 @@
 	}
 
 	/**
-	 * 更新课程获取课程内容
+	 * 鏇存柊璇剧▼鑾峰彇璇剧▼鍐呭
 	 * 
 	 * @param subjectId
-	 *            课程id
+	 *            璇剧▼id
 	 */
-	@ApiOperation(value = "获取课程详情-教师端", notes = "")
+	@ApiOperation(value = "鑾峰彇璇剧▼璇︽儏-鏁欏笀绔�", notes = "")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "subjectId", value = "课程id", required = false, paramType="query", dataType = "String")
+        @ApiImplicitParam(name = "subjectId", value = "璇剧▼id", required = false, paramType="query", dataType = "String")
     })
 	@GetMapping(value = "getSubjectDetail")
 	public Result getSubjectDetail(String subjectId) {
@@ -288,14 +288,14 @@
 	
 	
 	/**
-	 * 获取可用课程下拉列表接口
+	 * 鑾峰彇鍙敤璇剧▼涓嬫媺鍒楄〃鎺ュ彛
 	 * 
 	 * @param examId
 	 * @return
 	 */
 	@RequestMapping(value = "/selectlist", method = RequestMethod.GET)
 	public @ResponseBody List<Map<String,Object>> subjectList(Integer subjectType) {
-		//判断是否是教师
+		//鍒ゆ柇鏄惁鏄暀甯�
     	String teacherId = ClientUtils.isAdmin() ? null : teacherService.getTeacherIdByUserId(ClientUtils.getUserId());
 		
     	if(subjectType==null){
diff --git a/src/main/java/com/qxueyou/scc/controller/TeacherController.java b/src/main/java/com/qxueyou/scc/controller/TeacherController.java
index 78c17ab..2564cdb 100644
--- a/src/main/java/com/qxueyou/scc/controller/TeacherController.java
+++ b/src/main/java/com/qxueyou/scc/controller/TeacherController.java
@@ -18,7 +18,7 @@
 import com.qxueyou.scc.user.model.UserTeacher;
 
 /**
- * 教师管理控制器
+ * 鏁欏笀绠$悊鎺у埗鍣�
  * 
  * @author chenjunliang
  *
@@ -30,14 +30,14 @@
 	private ITeacherService teacherService;
 
 	/**
-	 * 教师管理显示列表
+	 * 鏁欏笀绠$悊鏄剧ず鍒楄〃
 	 * 
 	 * @param pageSize
-	 *            每页显示几条
+	 *            姣忛〉鏄剧ず鍑犳潯
 	 * @param pageNum
-	 *            页码
+	 *            椤电爜
 	 * @param keyword
-	 *            索搜关键字
+	 *            绱㈡悳鍏抽敭瀛�
 	 */
 	@GetMapping(value = "lstTeacher")
 	public Result lstTeacher(String keyword, Integer pageSize, Integer pageNum) {
@@ -55,18 +55,18 @@
 	}
 
 	/**
-	 * 教师管理新增/更新
+	 * 鏁欏笀绠$悊鏂板/鏇存柊
 	 * 
 	 * @param teacherId
 	 * 
 	 * @param teacherName
-	 *            老师名称
+	 *            鑰佸笀鍚嶇О
 	 * @param account
-	 *            账号
+	 *            璐﹀彿
 	 * @param password
-	 *            密码
+	 *            瀵嗙爜
 	 * @param mobilePhone
-	 *            手机
+	 *            鎵嬫満
 	 */
 	@PostMapping(value = "addOrUpdate")
 	public Result addOrUpdate(String teacherId, String teacherName, String account, String password, String mobilePhone,
@@ -80,10 +80,10 @@
 	}
 
 	/**
-	 * 教师管理 删除教师
+	 * 鏁欏笀绠$悊 鍒犻櫎鏁欏笀
 	 * 
 	 * @param teacherIds
-	 *            老师ids
+	 *            鑰佸笀ids
 	 */
 	@PostMapping(value = "delete")
 	public Result deleteTeacher(String teacherIds) {
@@ -91,7 +91,7 @@
 	}
 
 	/**
-	 * 教师管理导出
+	 * 鏁欏笀绠$悊瀵煎嚭
 	 */
 	@GetMapping(value = "exportTeacher")
 	public Result export(HttpServletResponse response) {
@@ -99,7 +99,7 @@
 	}
 
 	/**
-	 * 教室管理导入
+	 * 鏁欏绠$悊瀵煎叆
 	 */
 	@GetMapping(value = "importTeacher")
 	public Result importTeacher() {
@@ -107,7 +107,7 @@
 	}
 
 	/**
-	 * 新增班级获取教师列表
+	 * 鏂板鐝骇鑾峰彇鏁欏笀鍒楄〃
 	 */
 	@GetMapping(value = "getLstTeacher4Cls")
 	public Result getLstTeacher4Cls() {
@@ -117,7 +117,7 @@
 	}
 	
 	/**
-	 * 新增班级获取教师列表
+	 * 鏂板鐝骇鑾峰彇鏁欏笀鍒楄〃
 	 */
 	@GetMapping(value = "getTeacherbyUserId")
 	public Result getTeacherbyUserId(String userId) {
diff --git a/src/main/java/com/qxueyou/scc/controller/UserController.java b/src/main/java/com/qxueyou/scc/controller/UserController.java
index 290d4d0..b1f8953 100644
--- a/src/main/java/com/qxueyou/scc/controller/UserController.java
+++ b/src/main/java/com/qxueyou/scc/controller/UserController.java
@@ -21,7 +21,7 @@
 import java.util.Map;
 
 /**
- * 角色管理前端控制器
+ * 瑙掕壊绠$悊鍓嶇鎺у埗鍣�
  * 
  * @author chenjunliang
  *
@@ -39,7 +39,7 @@
 	ITeacherService teacherService;
 
 	/**
-	 * 获取角色列表
+	 * 鑾峰彇瑙掕壊鍒楄〃
 	 * 
 	 * @return
 	 */
@@ -51,7 +51,7 @@
 	}
 
 	/**
-	 * 获取人员列表
+	 * 鑾峰彇浜哄憳鍒楄〃
 	 */
 	@GetMapping(value = "getUserLst")
 	public Result getUserLstByRoleId(String roleId, Integer pageSize, Integer pageNum, String keyword) {
@@ -60,10 +60,10 @@
 	}
 
 	/**
-	 * 删除人员
+	 * 鍒犻櫎浜哄憳
 	 * 
 	 * @param userid
-	 *            用户id可以多个 ,分隔
+	 *            鐢ㄦ埛id鍙互澶氫釜 ,鍒嗛殧
 	 */
 	@PostMapping(value = "delete")
 	public Result delete(String userId) {
@@ -72,7 +72,7 @@
 	}
 
 	/**
-	 * 新增人员
+	 * 鏂板浜哄憳
 	 */
 	@PostMapping(value = "add")
 	public Result insertUser(String roleId, String name, String account, String password, String mobilePhone) {
@@ -81,10 +81,10 @@
 		User user = userService.getUserByAccount(account, ClientUtils.getOrgId());
 
 	    if (null != user) {
-	    	return new Result(false,"重复的用户,不允许添加!");
+	    	return new Result(false,"閲嶅鐨勭敤鎴凤紝涓嶅厑璁告坊鍔狅紒");
 	    }
 		
-		//如果角色是老师,添加老师信息
+		//濡傛灉瑙掕壊鏄�佸笀锛屾坊鍔犺�佸笀淇℃伅
 		if(roleId.equals(UserRole.ROLE_TEACHER_ID)){
 			result= teacherService.add(name, password, mobilePhone, account);
 		}else{
@@ -96,7 +96,7 @@
 	}
 
 	/**
-	 * 新增教师
+	 * 鏂板鏁欏笀
 	 */
 	@PostMapping(value = "addTeachers")
 	public Result addTeachers(String teacherIds, String roleId) {
@@ -104,7 +104,7 @@
 	}
 
 	/**
-	 * 更新
+	 * 鏇存柊
 	 */
 	@PostMapping(value = "update")
 	public Result updateUser(String userId, String name, String account, String password, String mobilePhone) {
@@ -112,7 +112,7 @@
 		
 		UserTeacher teacher = ClientUtils.isAdmin() ? null : teacherService.getTeacherByUserId(ClientUtils.getUserId());
 		
-		//如果用户是老师,更新老师信息
+		//濡傛灉鐢ㄦ埛鏄�佸笀锛屾洿鏂拌�佸笀淇℃伅
 		if(teacher!=null){
 			result = teacherService.update(teacher.getTeacherId(), name, account, password, mobilePhone, account);
 		}else{
@@ -123,7 +123,7 @@
 	}
 
 	/**
-	 * 角色管理 显示角色信息
+	 * 瑙掕壊绠$悊 鏄剧ず瑙掕壊淇℃伅
 	 */
 	@GetMapping(value = "queryRoleDetail")
 	public Result queryRoleDetail(String roleId) {
@@ -131,7 +131,7 @@
 	}
 
 	/**
-	 * 显示教师列表
+	 * 鏄剧ず鏁欏笀鍒楄〃
 	 */
 	@GetMapping(value = "findTeacherLst")
 	public Result findTeacherLst(String keyword, Integer pageSize, Integer pageNum, String roleId) {
@@ -143,7 +143,7 @@
 	}
 
 	/**
-	 * 修改角色信息
+	 * 淇敼瑙掕壊淇℃伅
 	 */
 	@PostMapping(value = "updateRole")
 	public Result updateRole(String roleId, String menuIds, String name) {
@@ -151,7 +151,7 @@
 	}
 
 	/**
-	 * 删除角色
+	 * 鍒犻櫎瑙掕壊
 	 */
 	@PostMapping(value = "deleteRole")
 	public Result deleteRole(String roleId) {
@@ -159,7 +159,7 @@
 	}
 
 	/**
-	 * 获取所有菜单列表
+	 * 鑾峰彇鎵�鏈夎彍鍗曞垪琛�
 	 */
 	@GetMapping(value = "findAllMenuLst")
 	public Result findMenuLst() {
@@ -168,7 +168,7 @@
 	}
 
 	/**
-	 * 新增角色
+	 * 鏂板瑙掕壊
 	 */
 	@PostMapping(value = "addRole")
 	public Result addRole(String name,Integer roleType) {
diff --git a/src/main/java/com/qxueyou/scc/controller/VideoLiveController.java b/src/main/java/com/qxueyou/scc/controller/VideoLiveController.java
index e1046b7..3597283 100644
--- a/src/main/java/com/qxueyou/scc/controller/VideoLiveController.java
+++ b/src/main/java/com/qxueyou/scc/controller/VideoLiveController.java
@@ -25,13 +25,13 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 
-@Api(tags="直播管理接口")
+@Api(tags="鐩存挱绠$悊鎺ュ彛")
 @RestController
 @CrossOrigin(origins="*",maxAge=3600)
 @RequestMapping(value = "/admin/videoLive")
 public class VideoLiveController {
 	
-	// 分页查询中,默认记录条数和页数
+	// 鍒嗛〉鏌ヨ涓紝榛樿璁板綍鏉℃暟鍜岄〉鏁�
 	private static final int DEFAULT_PAGE_SIZE = 10;
 	private static final int DEFAULT_PAGE_NUM = 1;
 	
@@ -48,17 +48,17 @@
 	MediaLiveDAO dao;
 	
 	/**
-	 * 获取直播列表
+	 * 鑾峰彇鐩存挱鍒楄〃
 	 * 
 	 * @param keyword
-	 *            搜索关键字
+	 *            鎼滅储鍏抽敭瀛�
 	 * @param pageNum
-	 *            页码
+	 *            椤电爜
 	 * @param pageSize
-	 *            页数
+	 *            椤垫暟
 	 * @return
 	 */
-	@ApiOperation(value = "获取创建人的直播列表")
+	@ApiOperation(value = "鑾峰彇鍒涘缓浜虹殑鐩存挱鍒楄〃")
 	@GetMapping(value = "list")
 	public Result list(String keyword, Integer pageNum, Integer pageSize) {
 		
@@ -83,27 +83,27 @@
 	}
 
 	/**
-	 * 新增直播/更新直播
+	 * 鏂板鐩存挱/鏇存柊鐩存挱
 	 * 
 	 * @param videoLiveId
-	 *            直播id(更新的时候才需要传)
+	 *            鐩存挱id锛堟洿鏂扮殑鏃跺�欐墠闇�瑕佷紶锛�
 	 * @param name
-	 *            直播名称
+	 *            鐩存挱鍚嶇О
 	 * @param content
-	 *            直播介绍
+	 *            鐩存挱浠嬬粛
 	 * @param imgPath
-	 *            图片地址
+	 *            鍥剧墖鍦板潃
 	 * @param startTime
-	 *            开始时间
+	 *            寮�濮嬫椂闂�
 	 * @param endTime
-	 *            结束时间
+	 *            缁撴潫鏃堕棿
 	 * @param isPlayBack
-	 *            是否回放
+	 *            鏄惁鍥炴斁
 	 * @param classIds
-	 *            班级id
+	 *            鐝骇id
 	 * @return
 	 */
-	@ApiOperation(value = "创建编辑直播")
+	@ApiOperation(value = "鍒涘缓缂栬緫鐩存挱")
 	@PostMapping(value = "addOrUpdate")
 	public Result addOrUpdate(String videoLiveId, String name, String content,String teacherId,String teacherName,String subjectId,
 			String subjectName,String definition,String imgPath, long startTime,long endTime, boolean isPlayBack, String classIds) {
@@ -115,13 +115,13 @@
 	}
 
 	/**
-	 * 查询直播详情
+	 * 鏌ヨ鐩存挱璇︽儏
 	 * 
 	 * @param videoLiveId
-	 *            直播id
+	 *            鐩存挱id
 	 * @return
 	 */
-	@ApiOperation(value = "获取直播详情")
+	@ApiOperation(value = "鑾峰彇鐩存挱璇︽儏")
 	@GetMapping(value = "queryDetail")
 	public Result detail(String videoLiveId) {
 		List<String> lstClassIds = null;
@@ -165,13 +165,13 @@
 	}
 
 	/**
-	 * 发布/多个以逗号隔开
+	 * 鍙戝竷/澶氫釜浠ラ�楀彿闅斿紑
 	 * 
 	 * @param videoLiveIds
-	 *            直播ids
+	 *            鐩存挱ids
 	 * @return
 	 */
-	@ApiOperation(value = "发布直播")
+	@ApiOperation(value = "鍙戝竷鐩存挱")
 	@PostMapping(value = "release")
 	public Result release(String videoLiveIds) {
 		for(String liveId:videoLiveIds.split(",")) {
@@ -181,13 +181,13 @@
 	}
 
 	/**
-	 * 取消发布/多个以逗号隔开
+	 * 鍙栨秷鍙戝竷/澶氫釜浠ラ�楀彿闅斿紑
 	 * 
 	 * @param videoLiveIds
-	 *            直播ids
+	 *            鐩存挱ids
 	 * @return
 	 */
-	@ApiOperation(value = "取消发布直播")
+	@ApiOperation(value = "鍙栨秷鍙戝竷鐩存挱")
 	@PostMapping(value = "cancel")
 	public Result cance(String videoLiveIds) {
 		
@@ -198,12 +198,12 @@
 	}
 
 	/**
-	 * 删除/多个以逗号隔开
+	 * 鍒犻櫎/澶氫釜浠ラ�楀彿闅斿紑
 	 * 
 	 * @param videoLiveId
 	 * @return
 	 */
-	@ApiOperation(value = "删除创建的直播")
+	@ApiOperation(value = "鍒犻櫎鍒涘缓鐨勭洿鎾�")
 	@PostMapping(value = "delete")
 	public Result delete(String videoLiveIds) {
 		return liveService.delete(videoLiveIds.split(","));
@@ -211,12 +211,12 @@
 	
 	
 	/**
-	 * 直播开始
+	 * 鐩存挱寮�濮�
 	 * 
 	 * @param videoLiveIds
-	 *            直播id
+	 *            鐩存挱id
 	 */
-	@ApiOperation(value = "直播开始")
+	@ApiOperation(value = "鐩存挱寮�濮�")
 	@PostMapping(value = "start")
 	public Result start(String videoLiveIds) {
 
@@ -228,12 +228,12 @@
 	
 	
 	/**
-	 * 直播暂停
+	 * 鐩存挱鏆傚仠
 	 * 
 	 * @param videoLiveIds
-	 *            直播id
+	 *            鐩存挱id
 	 */
-	@ApiOperation(value = "直播暂停")
+	@ApiOperation(value = "鐩存挱鏆傚仠")
 	@PostMapping(value = "pause")
 	public Result pause(String videoLiveIds) {
 		
@@ -244,12 +244,12 @@
 	}
 
 	/**
-	 * 直播结束
+	 * 鐩存挱缁撴潫
 	 * 
 	 * @param videoLiveId
-	 *            直播id
+	 *            鐩存挱id
 	 */
-	@ApiOperation(value = "直播结束")
+	@ApiOperation(value = "鐩存挱缁撴潫")
 	@PostMapping(value = "stop")
 	public Result stop(String videoLiveIds) {
 
@@ -262,18 +262,18 @@
 	
 	
 	/**
-	 * 直播点赞
+	 * 鐩存挱鐐硅禐
 	 * 
 	 * @param videoLiveId
-	 *            直播id
+	 *            鐩存挱id
 	 */
-	@ApiOperation(value = "直播点赞")
+	@ApiOperation(value = "鐩存挱鐐硅禐")
 	@PostMapping(value = "praise")
 	public Result praise(String videoLiveId) {
 		return liveService.doPraise(videoLiveId);
 	}
 	
-	@ApiOperation(value = "学生端根据班级,课程过滤直播列表")
+	@ApiOperation(value = "瀛︾敓绔牴鎹彮绾э紝璇剧▼杩囨护鐩存挱鍒楄〃")
 	@GetMapping(value = "student/list")
 	public Result list(String keyword,String classIds,String subjectId,Short status,Integer pageNum, Integer pageSize) {
 		pageSize = pageSize != null && pageSize > 0 ? pageSize : DEFAULT_PAGE_SIZE;
@@ -304,7 +304,7 @@
 				))));
 	}
 	
-	@ApiOperation(value = "直播回放列表")
+	@ApiOperation(value = "鐩存挱鍥炴斁鍒楄〃")
 	@GetMapping(value = "replay/list")
 	public Result listReplay(String videoLiveId) {
 		
@@ -326,7 +326,7 @@
 		))));
 	}
 	
-	@ApiOperation(value = "测试直播回放")
+	@ApiOperation(value = "娴嬭瘯鐩存挱鍥炴斁")
 	@GetMapping(value = "replay/test")
 	public Result testReplay(String liveId) {
 		mediaVideoLivePlayBackService.testPlayBack(liveId);
diff --git a/src/main/java/com/qxueyou/scc/courseware/action/CourceCategoryController.java b/src/main/java/com/qxueyou/scc/courseware/action/CourceCategoryController.java
index 1331a6b..7f9f80a 100644
--- a/src/main/java/com/qxueyou/scc/courseware/action/CourceCategoryController.java
+++ b/src/main/java/com/qxueyou/scc/courseware/action/CourceCategoryController.java
@@ -37,10 +37,10 @@
 import com.qxueyou.scc.school.model.SchHandoutReCourse;
 
 /**
- * 科目类别管理controller
+ * 绉戠洰绫诲埆绠$悊controller
  * 
- * @author 德虎
- * @history 2014-11-25 新建 夏德虎
+ * @author 寰疯檸
+ * @history 2014-11-25 鏂板缓 澶忓痉铏�
  *
  */
 @Controller
@@ -65,24 +65,24 @@
 	ISysBusinessCacheService sysBusinessCacheService ;*/
 
 	/**
-	 * APP2.0: 课程超市 选课 获取所有分类 <br>
+	 * APP2.0: 璇剧▼瓒呭競 閫夎 鑾峰彇鎵�鏈夊垎绫� <br>
 	 * URL /org/courcecategory/courseCatNew<br>
 	 * 
 	 * @method GET
-	 * @return 返回值JSON串:<br>
+	 * @return 杩斿洖鍊糐SON涓�:<br>
 	 *
 	 *         <pre>
-	 * [{"index":1,"code":"1CKJR","categoryName":"财会金融","categoryId":"18","imgPath":"/web/res/img/app/coursemarket_ico_accounting.png"},
+	 * [{"index":1,"code":"1CKJR","categoryName":"璐細閲戣瀺","categoryId":"18","imgPath":"/web/res/img/app/coursemarket_ico_accounting.png"},
 	 * ......
-	 * {"index":8,"code":"9QB","categoryName":"全部","categoryId":"26","imgPath":"/web/res/img/app/coursemarket_ico_classify.png"}]
+	 * {"index":8,"code":"9QB","categoryName":"鍏ㄩ儴","categoryId":"26","imgPath":"/web/res/img/app/coursemarket_ico_classify.png"}]
 	 * </pre>
 	 *
-	 *         字段值说明:
+	 *         瀛楁鍊艰鏄�:
 	 * 
 	 *         <pre>
-	 * index:索引
-	 * code:编码
-	 * categoryName:名字
+	 * index:绱㈠紩
+	 * code:缂栫爜
+	 * categoryName:鍚嶅瓧
 	 * categoryId:id
 	 * imgPath:logo URL
 	 * </pre>
@@ -94,7 +94,7 @@
 		page.setPageNum(1);
 		page.setPageSize(Integer.MAX_VALUE);
 
-		// 1. 查询该机构下所有的科目
+		// 1. 鏌ヨ璇ユ満鏋勪笅鎵�鏈夌殑绉戠洰
 		String hql = "select c from OrgCourseCategory c where c.deleteFlag is false and c.categoryLevel = ? order by c.code asc ";
 
 		List<OrgCourseCategory> lstLastCategory = commonDAO.findList(hql, page, CollectionUtils.newList(OrgCourseCategory.CATEGORY_LEVEL_FIRST), OrgCourseCategory.class);
@@ -144,29 +144,29 @@
 	}
 
 	/**
-	 * APP2.0: 课程超市 所有查询条件 <br>
+	 * APP2.0: 璇剧▼瓒呭競 鎵�鏈夋煡璇㈡潯浠� <br>
 	 * URL /org/courcecategory/courseCatContitionNew<br>
 	 * 
-	 * 返回值JSON串:<br>
+	 * 杩斿洖鍊糐SON涓�:<br>
 	 *
 	 * <pre>
 	 * {
 	 * "course":[
-	 * 		{"code":"0QB","children":[],"index":1,"categoryName":"全部","categoryId":"26","parentId":null},
-	 * 		{"code":"1CKJR","children":[],"index":2,"categoryName":"财会金融","categoryId":"18","parentId":null},
-	 * 		{"code":"2YYKS","children":[],"index":3,"categoryName":"语言考试","categoryId":"19","parentId":null},
-	 * 		{"code":"3YYL","children":[],"index":4,"categoryName":"医药类","categoryId":"20","parentId":null},
-	 * 		{"code":"4JGL","children":[],"index":5,"categoryName":"建工类","categoryId":"21","parentId":null},
-	 * 		{"code":"5ZYKZ","children":null,"index":6,"categoryName":"职业考证","categoryId":"22","parentId":null},
+	 * 		{"code":"0QB","children":[],"index":1,"categoryName":"鍏ㄩ儴","categoryId":"26","parentId":null},
+	 * 		{"code":"1CKJR","children":[],"index":2,"categoryName":"璐細閲戣瀺","categoryId":"18","parentId":null},
+	 * 		{"code":"2YYKS","children":[],"index":3,"categoryName":"璇█鑰冭瘯","categoryId":"19","parentId":null},
+	 * 		{"code":"3YYL","children":[],"index":4,"categoryName":"鍖昏嵂绫�","categoryId":"20","parentId":null},
+	 * 		{"code":"4JGL","children":[],"index":5,"categoryName":"寤哄伐绫�","categoryId":"21","parentId":null},
+	 * 		{"code":"5ZYKZ","children":null,"index":6,"categoryName":"鑱屼笟鑰冭瘉","categoryId":"22","parentId":null},
 	 * 		{"code":"6XLJY","children":[
-	 * 				{"code":null,"index":1,"categoryName":"经济学","categoryId":"5","parentId":"23"},
-	 * 			{"code":null,"index":2,"categoryName":"法学","categoryId":"6","parentId":"23"}
-	 * 			],"index":7,"categoryName":"学历教育","categoryId":"23","parentId":null},
-	 * 		{"code":"7ITJN","children":[],"index":8,"categoryName":"IT技能","categoryId":"24","parentId":null},
-	 * 		{"code":"8QT","children":[],"index":9,"categoryName":"其他","categoryId":"25","parentId":null}
+	 * 				{"code":null,"index":1,"categoryName":"缁忔祹瀛�","categoryId":"5","parentId":"23"},
+	 * 			{"code":null,"index":2,"categoryName":"娉曞","categoryId":"6","parentId":"23"}
+	 * 			],"index":7,"categoryName":"瀛﹀巻鏁欒偛","categoryId":"23","parentId":null},
+	 * 		{"code":"7ITJN","children":[],"index":8,"categoryName":"IT鎶�鑳�","categoryId":"24","parentId":null},
+	 * 		{"code":"8QT","children":[],"index":9,"categoryName":"鍏朵粬","categoryId":"25","parentId":null}
 	 * 	],
-	 * "city":[{"name":"深圳","index":1,"code":"sz"},{"name":"广州","index":2,"code":"gz"}],
-	 * "sort":[{"name":"价格由低到高","index":1,"code":"PRICE_ASC"},{"name":"价格由高到低","index":2,"code":"PRICE_DESC"}]
+	 * "city":[{"name":"娣卞湷","index":1,"code":"sz"},{"name":"骞垮窞","index":2,"code":"gz"}],
+	 * "sort":[{"name":"浠锋牸鐢变綆鍒伴珮","index":1,"code":"PRICE_ASC"},{"name":"浠锋牸鐢遍珮鍒颁綆","index":2,"code":"PRICE_DESC"}]
 	 * }
 	 * 
 	 * <pre>
@@ -179,7 +179,7 @@
 	}
 
 	/**
-	 * APP2.0: 该机构下所有课程的分类和科目 URL: /org/courcecategory/courseCategoryNew
+	 * APP2.0: 璇ユ満鏋勪笅鎵�鏈夎绋嬬殑鍒嗙被鍜岀鐩� URL: /org/courcecategory/courseCategoryNew
 	 * 
 	 * @return
 	 */
@@ -187,27 +187,27 @@
 	@RequestMapping(value = "courseCategoryNew", method = RequestMethod.GET)
 	public @ResponseBody List<OrgCourseCategory> getCourseCategoryData() {
 
-		// 1. 查询该机构下所有的科目
+		// 1. 鏌ヨ璇ユ満鏋勪笅鎵�鏈夌殑绉戠洰
 		String hql = "select courseId,name,price,imgPath,courseCategoryId " + " from OrgCourse c where c.deleteFlag is false";
 
-		// 2. 查询该机构下所有的科目对应的类别
+		// 2. 鏌ヨ璇ユ満鏋勪笅鎵�鏈夌殑绉戠洰瀵瑰簲鐨勭被鍒�
 		String hql_type = "select distinct c.category.categoryId,c.category.categoryName from OrgCourse c where " + " c.deleteFlag is false order by c.createTime ";
 
 		List<Object> args = new ArrayList<Object>(1);
-		// 如果是游客班 查所有机构 1:表示游客班
+		// 濡傛灉鏄父瀹㈢彮 鏌ユ墍鏈夋満鏋� 1:琛ㄧず娓稿鐝�
 //		if (!orgClassService.isCurrentVistorClass()) {
 //			hql = hql.concat(" and c.org.organizationId=?");
 //			hql_type = "select distinct c.category.categoryId,c.category.categoryName from OrgCourse c where " + " c.org.organizationId=? and c.deleteFlag is false order by c.createTime ";
 //			args = CollectionUtils.newList(ClientUtils.getOrgId());
 //		}
 
-		// 1. 查询该机构下所有的科目
+		// 1. 鏌ヨ璇ユ満鏋勪笅鎵�鏈夌殑绉戠洰
 		List<OrgCollegeCourse> lstCourse = categoryService.queryOrgCourseListNew(hql, args);
 
-		// 2. 查询该机构下所有的科目对应的类别
+		// 2. 鏌ヨ璇ユ満鏋勪笅鎵�鏈夌殑绉戠洰瀵瑰簲鐨勭被鍒�
 		List<OrgCourseCategory> lstCategory = categoryService.queryOrgCourseCategoryList(hql_type, args);
 
-		// 组装结构
+		// 缁勮缁撴瀯
 		List<OrgCollegeCourse> newLstCourse = null;
 		for (OrgCourseCategory category : lstCategory) {
 			newLstCourse = new ArrayList<OrgCollegeCourse>();
@@ -218,19 +218,19 @@
 			}
 			category.setCourseList(newLstCourse);
 		}
-		// 不限制值
+		// 涓嶉檺鍒跺��
 		String not_limit = Constants.NOT_LIMIT_VALUE;
-		// 重新组装类型 添加不限
+		// 閲嶆柊缁勮绫诲瀷 娣诲姞涓嶉檺
 		List<OrgCourseCategory> lstLastCategory = new ArrayList<OrgCourseCategory>();
-		// 添加第一个不限
+		// 娣诲姞绗竴涓笉闄�
 		OrgCourseCategory category = new OrgCourseCategory();
 		category.setCategoryId(not_limit);
-		category.setCategoryName("不限");
+		category.setCategoryName("涓嶉檺");
 
 		List<OrgCollegeCourse> lstLastCourse = new ArrayList<OrgCollegeCourse>();
 		OrgCollegeCourse course = new OrgCollegeCourse();
 		course.setCourseId(not_limit);
-		course.setName("不限");
+		course.setName("涓嶉檺");
 
 		lstLastCategory.add(category);
 		lstLastCategory.addAll(lstCategory);
@@ -238,7 +238,7 @@
 		for (OrgCourseCategory cate : lstLastCategory) {
 			lstLastCourse = new ArrayList<OrgCollegeCourse>();
 			lstLastCourse.add(course);
-			if (not_limit.equals(cate.getCategoryId())) {// 不限
+			if (not_limit.equals(cate.getCategoryId())) {// 涓嶉檺
 				lstLastCourse.addAll(lstCourse);
 			} else {
 				lstLastCourse.addAll(cate.getCourseList());
@@ -250,10 +250,10 @@
 		return lstLastCategory;
 	}
 
-	/******************************************************************* 上面为App接口,下面为后台接口 **************************/
+	/******************************************************************* 涓婇潰涓篈pp鎺ュ彛锛屼笅闈负鍚庡彴鎺ュ彛 **************************/
 
 	/**
-	 * 科目类别列表
+	 * 绉戠洰绫诲埆鍒楄〃
 	 * 
 	 * @return
 	 */
@@ -265,7 +265,7 @@
 	}
 
 	/**
-	 * 根据科目ID查询科目
+	 * 鏍规嵁绉戠洰ID鏌ヨ绉戠洰
 	 * 
 	 * @return
 	 */
@@ -276,7 +276,7 @@
 	}
 
 	/**
-	 * 新增
+	 * 鏂板
 	 * 
 	 * @return
 	 */
@@ -287,7 +287,7 @@
 	}
 
 	/**
-	 * 删除
+	 * 鍒犻櫎
 	 * 
 	 * @return
 	 */
@@ -298,7 +298,7 @@
 	}
 
 	/**
-	 * 更新
+	 * 鏇存柊
 	 * 
 	 * @return
 	 */
@@ -309,7 +309,7 @@
 	}
 
 	/**
-	 * 新增类别层级
+	 * 鏂板绫诲埆灞傜骇
 	 * 
 	 * @return
 	 */
@@ -325,12 +325,12 @@
 			return result;
 		}
 		
-		return new Result(false,"参数错误");
+		return new Result(false,"鍙傛暟閿欒");
 		
 	}
 
 	/**
-	 * 类别层级数据
+	 * 绫诲埆灞傜骇鏁版嵁
 	 * 
 	 * @return
 	 */
@@ -355,7 +355,7 @@
 			if(null == orgCollegeCourse){
 				continue;
 			}
-			//去除掉不content内容
+			//鍘婚櫎鎺変笉content鍐呭
 			orgCollegeCourse.setContent("");
 	
 			if(null == map.get(orgCollegeCourse.getCourseCategoryId())){
@@ -374,7 +374,7 @@
 	}
 	
 	/**
-	 * 视频类别层级数据
+	 * 瑙嗛绫诲埆灞傜骇鏁版嵁
 	 * 
 	 * @return
 	 */
@@ -384,7 +384,7 @@
 	}
 	
 	/**
-	 * 讲义类别层级数据
+	 * 璁蹭箟绫诲埆灞傜骇鏁版嵁
 	 * 
 	 * @return
 	 */
@@ -394,7 +394,7 @@
 	}
 	
 	/**
-	 * 练习类别层级数据
+	 * 缁冧範绫诲埆灞傜骇鏁版嵁
 	 * 
 	 * @return
 	 */
@@ -404,7 +404,7 @@
 	}
 	
 	/**
-	 * 讲义类别层级数据
+	 * 璁蹭箟绫诲埆灞傜骇鏁版嵁
 	 * 
 	 * @return
 	 */
@@ -414,8 +414,8 @@
 	}
 	
 	/**
-	 * 查询视频讲义练习在各个科目下的数量
-	 * @param type 1:视频 2:讲义 3:练习
+	 * 鏌ヨ瑙嗛璁蹭箟缁冧範鍦ㄥ悇涓鐩笅鐨勬暟閲�
+	 * @param type 1:瑙嗛 2锛氳涔� 3锛氱粌涔�
 	 * @return
 	 */
 	@SuppressWarnings("unchecked")
@@ -470,7 +470,7 @@
 	}
 
 	/**
-	 * ztree层级数据
+	 * ztree灞傜骇鏁版嵁
 	 * 
 	 * @return
 	 *//*
@@ -482,7 +482,7 @@
 	}
 	
 	*//**
-	 * ztree层级数据
+	 * ztree灞傜骇鏁版嵁
 	 * 
 	 * @return
 	 *//*
@@ -494,7 +494,7 @@
 	}*/
 
 	/**
-	 * 查询
+	 * 鏌ヨ
 	 * 
 	 * @return
 	 */
@@ -506,7 +506,7 @@
 	}
 	
 	/**
-	 * 查询专业信息
+	 * 鏌ヨ涓撲笟淇℃伅
 	 * 
 	 * @return
 	 */
@@ -556,7 +556,7 @@
 	}
 
 	/**
-	 * 获取机构名字
+	 * 鑾峰彇鏈烘瀯鍚嶅瓧
 	 * 
 	 * @return
 	 */
@@ -568,7 +568,7 @@
 	}
 
 	/**
-	 * 删除科目
+	 * 鍒犻櫎绉戠洰
 	 * 
 	 * @return
 	 */
@@ -579,7 +579,7 @@
 	}
 
 	/**
-	 * 删除专业
+	 * 鍒犻櫎涓撲笟
 	 * 
 	 * @return
 	 */
@@ -590,7 +590,7 @@
 	}
 
 	/**
-	 * 3初始化科目
+	 * 3鍒濆鍖栫鐩�
 	 * 
 	 * @return
 	 */
@@ -651,18 +651,18 @@
 			
 			i++;
 		}
-		return new Result(true,"总共有"+lstCourse.size()+",初始化了"+i+"条");
+		return new Result(true,"鎬诲叡鏈�"+lstCourse.size()+",鍒濆鍖栦簡"+i+"鏉�");
 	}
 	
 	/**
-	 * 2先初始化课件数据,再初始化上面的科目
+	 * 2鍏堝垵濮嬪寲璇句欢鏁版嵁锛屽啀鍒濆鍖栦笂闈㈢殑绉戠洰
 	 * 
 	 * @return
 	 */
 	@RequestMapping(value = "/initCourseWare", method = RequestMethod.POST)
 	public @ResponseBody Result initCourseWare() {
 		
-		//视频
+		//瑙嗛
 		int i = 0;
 		String hql = " from MediaVideoReCourse where deleteFlag is false";
 		List<MediaVideoReCourse> videos = commonDAO.find(hql, MediaVideoReCourse.class);
@@ -677,7 +677,7 @@
 			commonService.save(course);
 			i++;
 		}
-		//讲义
+		//璁蹭箟
 		int y = 0;
 		hql = " from SchHandoutReCourse where deleteFlag is false";
 		List<SchHandoutReCourse> handouts = commonDAO.find(hql, SchHandoutReCourse.class);
@@ -692,7 +692,7 @@
 			commonService.save(course);
 			y++;
 		}
-		//练习
+		//缁冧範
 		int z = 0;
 		hql = " from ExerciseReCourse where deleteFlag is false";
 		List<ExerciseReCourse> exers = commonDAO.find(hql, ExerciseReCourse.class);
@@ -707,11 +707,11 @@
 			commonService.save(course);
 			z++;
 		}
-		return new Result(true,"视频总共"+videos.size()+"个,成功了"+i+"个"+"讲义总共"+handouts.size()+"个,成功了"+y+"个"+"练习总共"+exers.size()+"个,成功了"+z+"个");
+		return new Result(true,"瑙嗛鎬诲叡"+videos.size()+"涓�,鎴愬姛浜�"+i+"涓�"+"璁蹭箟鎬诲叡"+handouts.size()+"涓�,鎴愬姛浜�"+y+"涓�"+"缁冧範鎬诲叡"+exers.size()+"涓�,鎴愬姛浜�"+z+"涓�");
 	}
 	
 	/**
-	 * 1初始化班级 机构ID
+	 * 1鍒濆鍖栫彮绾� 鏈烘瀯ID
 	 * 
 	 * @return
 	 */
@@ -736,11 +736,11 @@
 			commonService.save(orgClass);
 			i++;
 		}
-		return new Result(true,"班级总共"+ocs.size()+",成功了"+i+"个");
+		return new Result(true,"鐝骇鎬诲叡"+ocs.size()+",鎴愬姛浜�"+i+"涓�");
 	}
 	
 	/**
-	 * 初始化levelCode
+	 * 鍒濆鍖杔evelCode
 	 * 
 	 * @return
 	 */
@@ -834,8 +834,8 @@
 	@SuppressWarnings("unused")
 	private String generateLevelCode(String name) {
 
-		// 转拼音
-		//使用微软自带中文输入法用鼠标翻页,选择第一页之后的数据时,会生成(li'zhi.dr)这种账号
+		// 杞嫾闊�
+		//浣跨敤寰蒋鑷甫涓枃杈撳叆娉曠敤榧犳爣缈婚〉锛岄�夋嫨绗竴椤典箣鍚庣殑鏁版嵁鏃讹紝浼氱敓鎴�(li'zhi.dr)杩欑璐﹀彿
 		String[] arrUnidecode = WordProcessUtils.toPinyin(name.replace(" ",""), " ").replaceAll("'", "").split(" ");
 		
 		String orgCode = "";
diff --git a/src/main/java/com/qxueyou/scc/courseware/action/CourceController.java b/src/main/java/com/qxueyou/scc/courseware/action/CourceController.java
index 1ad514a..2d866fc 100644
--- a/src/main/java/com/qxueyou/scc/courseware/action/CourceController.java
+++ b/src/main/java/com/qxueyou/scc/courseware/action/CourceController.java
@@ -22,10 +22,10 @@
 import com.qxueyou.scc.org.model.OrgCourse;
 
 /**
- * 科目管理controller
+ * 绉戠洰绠$悊controller
  * 
- * @author 德虎
- * @history 2014-11-25 新建 夏德虎
+ * @author 寰疯檸
+ * @history 2014-11-25 鏂板缓 澶忓痉铏�
  * 
  */
 @Controller
@@ -49,10 +49,10 @@
 	private ICourseService service;
 	
 	/**
-	 * APP2.0: 查询科目内容
+	 * APP2.0: 鏌ヨ绉戠洰鍐呭
 	 * URL:    /org/cource/queryCourseNew/{courseId}
 	 * 
-	 * @param courseId   科目ID  
+	 * @param courseId   绉戠洰ID  
 	 * @return
 	 */
 	@RequestMapping(value = "queryCourseNew/{courseId}", method = RequestMethod.GET)
@@ -61,7 +61,7 @@
 
 		OrgCollegeCourse course = commonDAO.read(OrgCollegeCourse.class, courseId);
 		
-//		// 如果是游客班 	 1:表示游客班	
+//		// 濡傛灉鏄父瀹㈢彮 	 1:琛ㄧず娓稿鐝�	
 //		if(orgClassService.isCurrentVistorClass()){
 //			//Organization org = course.getOrg();
 //			Organization org = commonDAO.read(Organization.class, course.getTopOrgId());
@@ -73,7 +73,7 @@
 	}
 
 	/**
-	 * APP2.0: 推荐课程
+	 * APP2.0: 鎺ㄨ崘璇剧▼
 	 * URL:    /org/cource/recommendCourseNew
 	 * 
 	 * @return
@@ -82,12 +82,12 @@
 	public @ResponseBody
 	List<OrgCollegeCourse> recommendCourse() {
 
-		// 1. 查询该机构下推荐课程 只取前三个
+		// 1. 鏌ヨ璇ユ満鏋勪笅鎺ㄨ崘璇剧▼ 鍙彇鍓嶄笁涓�
 		String hql = "select courseId,name,price,imgPath,courseCategoryId "
 				+ " from OrgCourse c where c.deleteFlag is false and c.recommend is true";
 		
 		List<Object> args = new ArrayList<Object>(1);
-		// 如果是游客班  查所有机构	 1:表示游客班		 
+		// 濡傛灉鏄父瀹㈢彮  鏌ユ墍鏈夋満鏋�	 1:琛ㄧず娓稿鐝�		 
 //		if(!orgClassService.isCurrentVistorClass()){
 //			 hql += " and c.org.organizationId=?";
 //			 args = CollectionUtils.newList(ClientUtils.getOrgId());
@@ -100,7 +100,7 @@
 			return lstCourse;
 		}
 
-		// 只取前三项数据
+		// 鍙彇鍓嶄笁椤规暟鎹�
 		List<OrgCollegeCourse> lstResultCourse = new ArrayList<OrgCollegeCourse>();
 		int count = lstCourse.size() >= 3 ? 3 : lstCourse.size();
 		for (int i = 0; i < count; i++) {
@@ -110,10 +110,10 @@
 		return lstResultCourse;
 	}
 	
-	/******************************************************************* 上面为App接口,下面为后台接口 **************************/
+	/******************************************************************* 涓婇潰涓篈pp鎺ュ彛锛屼笅闈负鍚庡彴鎺ュ彛 **************************/
 
 	/**
-	 * 科目列表
+	 * 绉戠洰鍒楄〃
 	 * 
 	 * @return
 	 */
@@ -123,7 +123,7 @@
 	}
 
 	/**
-	 * 获取列表数据
+	 * 鑾峰彇鍒楄〃鏁版嵁
 	 * 
 	 * @return
 	 */
@@ -136,7 +136,7 @@
 	}
 
 	/**
-	 * 根据科目ID查询科目
+	 * 鏍规嵁绉戠洰ID鏌ヨ绉戠洰
 	 * 
 	 * @return
 	 */
@@ -147,7 +147,7 @@
 	}
 
 	/**
-	 * 专业编辑 - 选择科目类别后加载专业列表
+	 * 涓撲笟缂栬緫 - 閫夋嫨绉戠洰绫诲埆鍚庡姞杞戒笓涓氬垪琛�
 	 * 
 	 * @return
 	 */
@@ -161,7 +161,7 @@
 	}
 	
 	/**
-	 * 新增
+	 * 鏂板
 	 * 
 	 * @return
 	 */
@@ -174,7 +174,7 @@
 	}
 
 	/**
-	 * 编辑
+	 * 缂栬緫
 	 * 
 	 * @return
 	 */
@@ -185,7 +185,7 @@
 	}
 
 	/**
-	 * 删除
+	 * 鍒犻櫎
 	 * 
 	 * @return
 	 */
@@ -193,13 +193,13 @@
 	public @ResponseBody
 	Result delete(String courseIds) {
 
-		// 保存到服务器
+		// 淇濆瓨鍒版湇鍔″櫒
 		return orgCourseService.deleteCourses(courseIds.split(","));
 
 	}
 	
 	/**
-	 * 推荐
+	 * 鎺ㄨ崘
 	 * 
 	 * @return
 	 */
@@ -207,13 +207,13 @@
 	public @ResponseBody
 	Result recommend(String courseIds) {
 
-		// 保存到服务器
+		// 淇濆瓨鍒版湇鍔″櫒
 		return orgCourseService.doRecommend(courseIds.split(","));
 
 	}
 	
 	/**
-	 * 取消推荐
+	 * 鍙栨秷鎺ㄨ崘
 	 * 
 	 * @return
 	 */
@@ -221,13 +221,13 @@
 	public @ResponseBody
 	Result unrecommend(String courseIds) {
 
-		// 保存到服务器
+		// 淇濆瓨鍒版湇鍔″櫒
 		return orgCourseService.doUnRecommend(courseIds.split(","));
 
 	}
 
 	/**
-	 * 更新
+	 * 鏇存柊
 	 * 
 	 * @return
 	 */
@@ -238,7 +238,7 @@
 	}
 
 	/**
-	 * 科目介绍预览
+	 * 绉戠洰浠嬬粛棰勮
 	 * @param orgClass
 	 * @param mobilePhone
 	 * @return
@@ -250,7 +250,7 @@
 	
 	
 	/**
-	 * 查询所有机构项目
+	 * 鏌ヨ鎵�鏈夋満鏋勯」鐩�
 	 * @return
 	 */
 	@RequestMapping(value="/allCourseName",method=RequestMethod.GET)
diff --git a/src/main/java/com/qxueyou/scc/courseware/service/ICourceCategoryService.java b/src/main/java/com/qxueyou/scc/courseware/service/ICourceCategoryService.java
index dc3a1a9..b349d5d 100644
--- a/src/main/java/com/qxueyou/scc/courseware/service/ICourceCategoryService.java
+++ b/src/main/java/com/qxueyou/scc/courseware/service/ICourceCategoryService.java
@@ -10,7 +10,7 @@
 
 public interface ICourceCategoryService {
 	/**
-	 * 查询科目list  根据条件
+	 * 鏌ヨ绉戠洰list  鏍规嵁鏉′欢
 	 * @param hql
 	 * @param args
 	 * @return
@@ -18,7 +18,7 @@
 	List<OrgCollegeCourse> queryOrgCourseList(String hql, List<Object> args);
 	
 	/**
-	 * 查询科目list  根据条件
+	 * 鏌ヨ绉戠洰list  鏍规嵁鏉′欢
 	 * @param hql
 	 * @param args
 	 * @return
@@ -26,7 +26,7 @@
 	List<OrgCollegeCourse> queryOrgCourseListNew(String hql, List<Object> args);
 	
 	/**
-	 * 查询科目类型list  根据条件
+	 * 鏌ヨ绉戠洰绫诲瀷list  鏍规嵁鏉′欢
 	 * @param hql
 	 * @param args
 	 * @return
@@ -34,7 +34,7 @@
 	List<OrgCourseCategory> queryOrgCourseCategoryList(String hql, List<Object> args);
 	
 	/**
-	 * 组装   全部课程    所有查询条件
+	 * 缁勮   鍏ㄩ儴璇剧▼    鎵�鏈夋煡璇㈡潯浠�
 	 * @return
 	 * @version 2.0
 	 */
@@ -47,7 +47,7 @@
 	Result doDeleteCourse(String id);
 	
 	/**
-	 * 新增科目
+	 * 鏂板绉戠洰
 	 * @param id
 	 * @param name
 	 * @param code
diff --git a/src/main/java/com/qxueyou/scc/courseware/service/ICourseService.java b/src/main/java/com/qxueyou/scc/courseware/service/ICourseService.java
index 8645014..c0007f5 100644
--- a/src/main/java/com/qxueyou/scc/courseware/service/ICourseService.java
+++ b/src/main/java/com/qxueyou/scc/courseware/service/ICourseService.java
@@ -6,38 +6,38 @@
 import com.qxueyou.scc.base.model.Result;
 
 /**
- * 项目服务接口
- * @author 岩龙
+ * 椤圭洰鏈嶅姟鎺ュ彛
+ * @author 宀╅緳
  * @createtime 2017-10-31
  */
 public interface ICourseService {
 
 	/**
-	 * 查询科目类别
-	 * @param categoryId 当前目录id
+	 * 鏌ヨ绉戠洰绫诲埆
+	 * @param categoryId 褰撳墠鐩綍id
 	 * @return
 	 */
 	public List<Map<String, Object>> queryCategoryList() ;
 	
 	/**
-	 * 添加科目类别
-	 * @param parentId 父节点id
-	 * @param catalogName 目录名 
+	 * 娣诲姞绉戠洰绫诲埆
+	 * @param parentId 鐖惰妭鐐筰d
+	 * @param catalogName 鐩綍鍚� 
 	 * @return
 	 */
 	public Result insertCourseCategory(String parentId,String catalogName);
 	
 	/**
-	 * 修改科目类别
-	 * @param categoryId  类别id
-	 * @param categoryName 类别名
+	 * 淇敼绉戠洰绫诲埆
+	 * @param categoryId  绫诲埆id
+	 * @param categoryName 绫诲埆鍚�
 	 * @return
 	 */
 	public Result updateCourseCategory(String categoryId,String categoryName);
 	
 	/**
-	 * 删除科目类别
-	 * @param categoryId 当前目录id
+	 * 鍒犻櫎绉戠洰绫诲埆
+	 * @param categoryId 褰撳墠鐩綍id
 	 * @return
 	 */
 	public Result deleteCategory(String categoryId) ;
@@ -45,88 +45,88 @@
 	
 	
 	/**
-	 * 查询项目
-	 * @param categoryId 类别id
+	 * 鏌ヨ椤圭洰
+	 * @param categoryId 绫诲埆id
 	 * @return
 	 */
 	public List<Map<String, Object>> queryCourse(String categoryId) ;
 	
 	/**
-	 * 添加项目
-	 * @param categoryId 科目类别id
-	 * @param courseName 项目名
+	 * 娣诲姞椤圭洰
+	 * @param categoryId 绉戠洰绫诲埆id
+	 * @param courseName 椤圭洰鍚�
 	 * @return
 	 */
 	public Result insertCourse(String categoryId,String courseName);
 	
 	/**
-	 * 修改项目
-	 * @param courseId 项目id
-	 * @param courseName 项目名
+	 * 淇敼椤圭洰
+	 * @param courseId 椤圭洰id
+	 * @param courseName 椤圭洰鍚�
 	 * @return
 	 */
 	public Result updateCourse(String courseId,String courseName);
 	
 	/**
-	 * 删除项目
-	 * @param courseId  项目id
+	 * 鍒犻櫎椤圭洰
+	 * @param courseId  椤圭洰id
 	 * @return
 	 */
 	public Result deleteCourse(String courseId);
 	
 	
 	/**
-	 * 查询课程
-	 * @param courseId 项目id
+	 * 鏌ヨ璇剧▼
+	 * @param courseId 椤圭洰id
 	 * @return
 	 */
 	public List<Map<String, Object>> querySubject(String courseId);
 	
 	
 	/**
-	 * 添加课程
-	 * @param courseId 项目id
-	 * @param subjectName 课程名
+	 * 娣诲姞璇剧▼
+	 * @param courseId 椤圭洰id
+	 * @param subjectName 璇剧▼鍚�
 	 * @return
 	 */
 	public Result insertSubject(String courseId,String subjectName);
 	
 	/**
-	 *  修改课程
-	 * @param subjectId 课程id
-	 * @param subjectName 课程名
+	 *  淇敼璇剧▼
+	 * @param subjectId 璇剧▼id
+	 * @param subjectName 璇剧▼鍚�
 	 * @return
 	 */
 	public Result updateSubject(String subjectId,String subjectName);
 	
 	/**
-	 * 删除课程
-	 * @param subjectId  课程id
+	 * 鍒犻櫎璇剧▼
+	 * @param subjectId  璇剧▼id
 	 * @return
 	 */
 	public Result deleteSubject(String subjectId);
 	
 	
 	/**
-	 * 查询章
-	 * @param subjectId 课程Id
+	 * 鏌ヨ绔�
+	 * @param subjectId 璇剧▼Id
 	 * @return
 	 */
 	public List<Map<String, Object>> queryChapter(String subjectId);
 	
 	/**
-	 * 查询节
+	 * 鏌ヨ鑺�
 	 * @param id
 	 * @return
 	 */
 	public List<Map<String, Object>> querychildChapter(String id);
 	
 	/**
-	 * 添加章节
-	 * @param subjectId 课程Id
-	 * @param chapterName 父章节Id
-	 * @param chapterName 章节名称
-	 * @param courseId 项目Id
+	 * 娣诲姞绔犺妭
+	 * @param subjectId 璇剧▼Id
+	 * @param chapterName 鐖剁珷鑺侷d
+	 * @param chapterName 绔犺妭鍚嶇О
+	 * @param courseId 椤圭洰Id
 	 * @return
 	 */
 	public Result insertChapter(String subjectId,String chapterId,String chapterName,String courseId);
@@ -134,29 +134,29 @@
 	
 	
 	/**
-	 * 修改章节
-	 * @param chapterId 章节id
-	 * @param chapterName 章节名称
+	 * 淇敼绔犺妭
+	 * @param chapterId 绔犺妭id
+	 * @param chapterName 绔犺妭鍚嶇О
 	 * @return
 	 */
 	public Result updateChapter(String chapterId,String chapterName);
 	
 	/**
-	 * 删除章节
+	 * 鍒犻櫎绔犺妭
 	 * @param chapterId
 	 * @return
 	 */
 	public Result deleteChapter(String chapterId);
 
 	/**
-	 * 查询所有机构项目名
+	 * 鏌ヨ鎵�鏈夋満鏋勯」鐩悕
 	 * @return
 	 */
 	public List<Map<String, Object>> queryCourseName();
 	
 	
 	/**
-	 * 删除树节点
+	 * 鍒犻櫎鏍戣妭鐐�
 	 * @param id
 	 * @param type
 	 * @return
@@ -164,7 +164,7 @@
 	public Result deleteNode(String id, String type);
 	
 	/**
-	 * pc端显示项目名称
+	 * pc绔樉绀洪」鐩悕绉�
 	 * @return
 	 */
 	List<Map<String, Object>> findclassNameByCourse(String mode);
diff --git a/src/main/java/com/qxueyou/scc/courseware/service/IOrgCourseService.java b/src/main/java/com/qxueyou/scc/courseware/service/IOrgCourseService.java
index c3f0fa1..199e325 100644
--- a/src/main/java/com/qxueyou/scc/courseware/service/IOrgCourseService.java
+++ b/src/main/java/com/qxueyou/scc/courseware/service/IOrgCourseService.java
@@ -10,7 +10,7 @@
 public interface IOrgCourseService {
 	
 	/**
-	 * 后台  科目列表
+	 * 鍚庡彴  绉戠洰鍒楄〃
 	 * @param sql
 	 * @param args
 	 * @return
@@ -18,42 +18,42 @@
 	public List<OrgCollegeCourse> queryCourseList(String OrgId);
 	
 	/**
-	 * 新增科目
+	 * 鏂板绉戠洰
 	 * @param course
 	 * @return
 	 */
 	Result insertCourse(OrgCollegeCourse course);
 	
 	/**
-	 * 更新科目
+	 * 鏇存柊绉戠洰
 	 * @param course
 	 * @return
 	 */
 	Result updateCourse(OrgCollegeCourse course);
 	
 	/**
-	 * 删除科目
+	 * 鍒犻櫎绉戠洰
 	 * @param courseIds
 	 * @return
 	 */
 	Result deleteCourses(String[] courseIds);
 	
 	/**
-	 * 推荐科目
+	 * 鎺ㄨ崘绉戠洰
 	 * @param courseIds
 	 * @return
 	 */
 	Result doRecommend(String[] courseIds);
 	
 	/**
-	 * 取消推荐科目
+	 * 鍙栨秷鎺ㄨ崘绉戠洰
 	 * @param courseIds
 	 * @return
 	 */
 	Result doUnRecommend(String[] courseIds);
 
 	/**
-	 * 专业编辑 - 选择科目类别后加载专业列表
+	 * 涓撲笟缂栬緫 - 閫夋嫨绉戠洰绫诲埆鍚庡姞杞戒笓涓氬垪琛�
 	 * 
 	 * @return
 	 */
diff --git a/src/main/java/com/qxueyou/scc/courseware/service/impl/CourceCategoryAppService.java b/src/main/java/com/qxueyou/scc/courseware/service/impl/CourceCategoryAppService.java
index c754ce0..033e75c 100644
--- a/src/main/java/com/qxueyou/scc/courseware/service/impl/CourceCategoryAppService.java
+++ b/src/main/java/com/qxueyou/scc/courseware/service/impl/CourceCategoryAppService.java
@@ -39,7 +39,7 @@
 	private OrgDAO orgDAO;
 	
 	/**
-	 * IHandoutService服务
+	 * IHandoutService鏈嶅姟
 	 */
 	@Autowired
 	IHandoutService handoutService;
@@ -52,7 +52,7 @@
 	}
 
 	/**
-     * 依赖注入
+     * 渚濊禆娉ㄥ叆
      *
      * @param commonDAO
      */
@@ -79,7 +79,7 @@
 	}
 	
 	/**
-	 * 组装   全部课程    所有查询条件
+	 * 缁勮   鍏ㄩ儴璇剧▼    鎵�鏈夋煡璇㈡潯浠�
 	 * 
 	 * @return
 	 * @version 2.0
@@ -88,7 +88,7 @@
 		
 		Map<String,Object> result = new HashMap<String,Object>(3);
 		
-		// 1.课程分类
+		// 1.璇剧▼鍒嗙被
 		String firstHql = "select c from OrgCourseCategory c where c.deleteFlag is false and c.categoryLevel = ? order by c.code asc ";
 		List<OrgCourseCategory> lstFirstCategory = this.find(firstHql, 
 				CollectionUtils.newList(OrgCourseCategory.CATEGORY_LEVEL_FIRST) , OrgCourseCategory.class);
@@ -98,7 +98,7 @@
 				CollectionUtils.newList(OrgCourseCategory.CATEGORY_LEVEL_SECOND,Organization.ORG_TYPE_DEGREE_EDUCATION) , OrgCourseCategory.class);
 		
 		
-		// 1.1 第二层
+		// 1.1 绗簩灞�
 		Map<String,List<OrgCourseCategory>> secondMap = new HashMap<String,List<OrgCourseCategory>>(lstFirstCategory.size());
 		for(OrgCourseCategory second : lstSecondCategory ){
 			if(StringUtils.isNotBlank(second.getParentCategoryId()) && null == secondMap.get(second.getParentCategoryId())){
@@ -108,7 +108,7 @@
 			}
 		}
 		
-		// 组装的数据格式
+		// 缁勮鐨勬暟鎹牸寮�
 		Map<String,Object> sMap;
 		List<Map<String,Object>> lstS ;
 		
@@ -118,7 +118,7 @@
 		int fIndex = 0; 
 		int sIndex = 0; 
 		
-		// 循环
+		// 寰幆
 		for(OrgCourseCategory first : lstFirstCategory){
 			
 			fIndex = fIndex + 1 ;
@@ -132,7 +132,7 @@
 			fMap.put("code", first.getCode());
 			fMap.put("parentId", null);
 			
-			// 第二层
+			// 绗簩灞�
 			if(null != secondMap.get(first.getCategoryId()) ){
 				for(OrgCourseCategory second : secondMap.get(first.getCategoryId())){
 					
@@ -155,7 +155,7 @@
 		
 		result.put("course", lstF);
 		
-		// 2.排序
+		// 2.鎺掑簭
 		List<Map<String,Object>> lstSort = new ArrayList<Map<String,Object>>(5);
 		Map<String,Object> sort;
 		
@@ -171,7 +171,7 @@
 		}
 		result.put("sort", lstSort);
 		
-		// 3.地区
+		// 3.鍦板尯
 		List<Map<String,Object>> lstCity = new ArrayList<Map<String,Object>>(6);
 		Map<String,Object> city;
 		
@@ -194,7 +194,7 @@
 	public Result insertLevelCategory(String id,String name,String code,String type){
 		Organization org = read(Organization.class, ClientUtils.getOrgId());
 		Result result = new Result(true);
-		//保存
+		//淇濆瓨
 		if("save".equals(type)){
 			OrgCategoryLevel ocl = read(OrgCategoryLevel.class, id);
 			ocl.setCategoryName(name);
@@ -203,7 +203,7 @@
 			result.setData(ocl);
 			return result;
 		}
-		//增加同级
+		//澧炲姞鍚岀骇
 		if("add".equals(type)){
 			OrgCategoryLevel ocl0 = read(OrgCategoryLevel.class, id);
 			OrgCategoryLevel ocl = new OrgCategoryLevel();
@@ -223,7 +223,7 @@
 			return result;
 		}
 		
-		//增加下级
+		//澧炲姞涓嬬骇
 		if("addNext".equals(type)){
 			OrgCategoryLevel parent = read(OrgCategoryLevel.class, id);
 			OrgCategoryLevel ocl = new OrgCategoryLevel();
@@ -242,7 +242,7 @@
 			return result;
 		}
 		
-		return new Result(false,"参数错误");
+		return new Result(false,"鍙傛暟閿欒");
 		
 	
 	}
@@ -254,11 +254,11 @@
 		OrgCategoryLevel origCateLevel ;
 		//BeanUtils.copyProperties(ocl, origCateLevel);
 		if(parent==null){
-			// 首层:直接生成
+			// 棣栧眰锛氱洿鎺ョ敓鎴�
 			levelCode = UUIDUtils.generateUUID();
 			origLevelCode = levelCode;
 		}else{
-			// 下层:根据parent生成
+			// 涓嬪眰锛氭牴鎹畃arent鐢熸垚
 			levelCode = parent.getLevelCode()+"00";
 		}
 		do {
@@ -267,10 +267,10 @@
 
 				origCateLevel = new OrgCategoryLevel();
 				BeanUtils.copyProperties(ocl ,  origCateLevel);
-				if(parent==null){ // 首层:直接生成
+				if(parent==null){ // 棣栧眰锛氱洿鎺ョ敓鎴�
 					origCateLevel.setLevel(BigDecimal.ONE.shortValue());
 					origCateLevel.setLevelCode(levelCode+"_00");
-				}else{ // 下层:根据parent生成
+				}else{ // 涓嬪眰锛氭牴鎹畃arent鐢熸垚
 					origCateLevel.setLevel(new BigDecimal(parent.getLevel()).add(BigDecimal.ONE).shortValue());
 					origCateLevel.setLevelCode(levelCode);
 				}
@@ -286,10 +286,10 @@
 				
 				loop++;
 				if(parent==null){
-					// 首层:直接生成
+					// 棣栧眰锛氱洿鎺ョ敓鎴�
 					levelCode = origLevelCode.concat(String.valueOf(loop));
 				}else{
-					// 下层:根据parent生成
+					// 涓嬪眰锛氭牴鎹畃arent鐢熸垚
 					String h = String.valueOf(loop);
 					if(loop<10){
 						h = "0"+loop;
@@ -307,8 +307,8 @@
 	@SuppressWarnings("unused")
 	private String generateLevelCode(String name) {
 
-		// 转拼音
-		//使用微软自带中文输入法用鼠标翻页,选择第一页之后的数据时,会生成(li'zhi.dr)这种账号
+		// 杞嫾闊�
+		//浣跨敤寰蒋鑷甫涓枃杈撳叆娉曠敤榧犳爣缈婚〉锛岄�夋嫨绗竴椤典箣鍚庣殑鏁版嵁鏃讹紝浼氱敓鎴�(li'zhi.dr)杩欑璐﹀彿
 		String[] arrUnidecode = WordProcessUtils.toPinyin(name," ").replaceAll("'", "").split(" ");
 		
 		String orgCode = "";
@@ -344,7 +344,7 @@
 			
 		}
 		if(flag){
-			return new Result(false,"该分类下的科目下存在班级,请先删除班级");
+			return new Result(false,"璇ュ垎绫讳笅鐨勭鐩笅瀛樺湪鐝骇,璇峰厛鍒犻櫎鐝骇");
 		}
 		for (OrgCategoryLevel orgCategoryLevel : lstCate) {
 			hql = " from OrgCollegeCourse where deleteFlag is false and courseCategoryId = ?";
@@ -364,13 +364,13 @@
 		String hql = " from ClsClass where deleteFlag is false and collegeCourseId = ?";
 		ClsClass cls = findUnique(hql, CollectionUtils.newList(id), ClsClass.class);
 		if(cls!=null){
-			return new Result(false,"该科目下存在班级,请先删除班级");
+			return new Result(false,"璇ョ鐩笅瀛樺湪鐝骇,璇峰厛鍒犻櫎鐝骇");
 		}
-		//删除所有视频
+		//鍒犻櫎鎵�鏈夎棰�
 		doDeleteVideo(id);
-		//删除所有练习
+		//鍒犻櫎鎵�鏈夌粌涔�
 		doDeleteExe(id);
-		//删除所有讲义
+		//鍒犻櫎鎵�鏈夎涔�
 		doDeleteHandout(id);
 		
 		hql = " from OrgCollegeCourse where deleteFlag is false and collegeCourseId = ?";
@@ -418,7 +418,7 @@
 	}
 	
 	/**
-	 * 新增科目
+	 * 鏂板绉戠洰
 	 * @param id
 	 * @param name
 	 * @param code
@@ -428,7 +428,7 @@
 	@Override
 	public Result addCategory(Organization org, String id, String name, String code, String type) {
 		Result result = new Result(true);
-		//保存
+		//淇濆瓨
 		if("save".equals(type)){
 			OrgCategoryLevel ocl = this.read(OrgCategoryLevel.class, id);
 			ocl.setCategoryName(name);
@@ -437,7 +437,7 @@
 			result.setData(ocl);
 			return result;
 		}
-		//增加同级
+		//澧炲姞鍚岀骇
 		if("add".equals(type)){
 			OrgCategoryLevel ocl0 = this.read(OrgCategoryLevel.class, id);
 			OrgCategoryLevel ocl = new OrgCategoryLevel();
@@ -451,11 +451,11 @@
 			OrgCategoryLevel parent = this.read(OrgCategoryLevel.class, ocl0.getParentId());
 			TraceUtils.setCreateTrace(ocl);
 			
-			result.setData(insertOcl(ocl,parent,name));//插入ocl
+			result.setData(insertOcl(ocl,parent,name));//鎻掑叆ocl
 			return result;
 		}
 		
-		//增加下级
+		//澧炲姞涓嬬骇
 		if("addNext".equals(type)){
 			OrgCategoryLevel parent = this.read(OrgCategoryLevel.class, id);
 			OrgCategoryLevel ocl = new OrgCategoryLevel();
diff --git a/src/main/java/com/qxueyou/scc/courseware/service/impl/CourseService.java b/src/main/java/com/qxueyou/scc/courseware/service/impl/CourseService.java
index 84908e5..18d2199 100644
--- a/src/main/java/com/qxueyou/scc/courseware/service/impl/CourseService.java
+++ b/src/main/java/com/qxueyou/scc/courseware/service/impl/CourseService.java
@@ -20,9 +20,9 @@
 import com.qxueyou.scc.teach.subject.model.SubjectChapter;
 
 /**
- * 项目服务类
+ * 椤圭洰鏈嶅姟绫�
  * 
- * @author 岩龙
+ * @author 宀╅緳
  * @createtime 2017-10-31
  */
 @Service
@@ -216,10 +216,10 @@
 	public Result deleteChapter(String chapterId) {
 		this.bulkUpdate("update SchChapter set deleteFlag is true where chapterId=?", new Object[] { chapterId });
 
-		return new Result(true, "操作成功!");
+		return new Result(true, "鎿嶄綔鎴愬姛!");
 	}
 
-	// 显示有过班级的项目名称
+	// 鏄剧ず鏈夎繃鐝骇鐨勯」鐩悕绉�
 	@Override
 	public List<Map<String, Object>> queryCourseName() {
 		String hql = "select collegeCourseId as id , name as name  from OrgCollegeCourse where  deleteFlag is false  order by createTime asc";
@@ -227,7 +227,7 @@
 		return findListWithMapByHql(hql, null);
 	}
 
-	// PC端首页显示有过班级的项目名称
+	// PC绔椤垫樉绀烘湁杩囩彮绾х殑椤圭洰鍚嶇О
 	@Override
 	public List<Map<String, Object>> findclassNameByCourse(String mode) {
 		String hql = "select  distinct  c.collegeCourseId as id , c.name as name  from OrgCollegeCourse c ,ClsClass o where  o.deleteFlag is false and c.deleteFlag is false and o.collegeCourseId =c.collegeCourseId ";
@@ -245,7 +245,7 @@
 	}
 
 	/**
-	 * 删除科目下的项目
+	 * 鍒犻櫎绉戠洰涓嬬殑椤圭洰
 	 * 
 	 * @param categoryId
 	 * @return
@@ -264,7 +264,7 @@
 	}
 
 	/**
-	 * 删除项目下的课程
+	 * 鍒犻櫎椤圭洰涓嬬殑璇剧▼
 	 * 
 	 * @param courseId
 	 * @return
@@ -283,7 +283,7 @@
 	}
 
 	/**
-	 * 删除节
+	 * 鍒犻櫎鑺�
 	 * 
 	 * @param chapterId
 	 * @return
@@ -304,7 +304,7 @@
 	}
 
 	/**
-	 * 删除树节点
+	 * 鍒犻櫎鏍戣妭鐐�
 	 */
 	public Result deleteNode(String id, String type) {
 		if (type.equals("category")) {
diff --git a/src/main/java/com/qxueyou/scc/courseware/service/impl/OrgCourseService.java b/src/main/java/com/qxueyou/scc/courseware/service/impl/OrgCourseService.java
index c495822..e22930d 100644
--- a/src/main/java/com/qxueyou/scc/courseware/service/impl/OrgCourseService.java
+++ b/src/main/java/com/qxueyou/scc/courseware/service/impl/OrgCourseService.java
@@ -37,7 +37,7 @@
 	}
 	
 	/**
-     * 依赖注入
+     * 渚濊禆娉ㄥ叆
      *
      * @param lessonDAO
      */
@@ -47,7 +47,7 @@
 	}
 	
 	/**
-	 * 后台  科目列表
+	 * 鍚庡彴  绉戠洰鍒楄〃
 	 * @param sql
 	 * @param args
 	 * @return
@@ -73,7 +73,7 @@
 	@Override
 	public Result insertCourse(OrgCollegeCourse course) {
 
-		if(StringUtils.isNotBlank(course.getCollegeCourseId())){ // 编辑
+		if(StringUtils.isNotBlank(course.getCollegeCourseId())){ // 缂栬緫
 			String hql = " from ClsClass where collegeCourseId = ? and deleteFlag is false";
 			List<ClsClass> classes = find(hql, CollectionUtils.newList(course.getCollegeCourseId()), ClsClass.class);
 			for (ClsClass orgClass : classes) {
@@ -92,7 +92,7 @@
 			dbCourse.setRecommend(course.isRecommend());
 			dbCourse.setTeacher(course.getTeacher());
 			dbCourse.setCourseId(course.getCourseId());
-			dbCourse.setCode(course.getName());//增加设置code
+			dbCourse.setCode(course.getName());//澧炲姞璁剧疆code
 			TraceUtils.setUpdateTrace(dbCourse);
 			Result result = save(dbCourse);
 			result.setMsg(course.getCollegeCourseId());
@@ -111,7 +111,7 @@
 			return result;
 		}
 		
-		// 设置基本信息
+		// 璁剧疆鍩烘湰淇℃伅
 		TraceUtils.setCreateTrace(course);
 
 		course.setDeleteFlag(false);
@@ -138,7 +138,7 @@
 	@Override
 	public Result updateCourse(OrgCollegeCourse course) {
 
-		// 设置基本信息
+		// 璁剧疆鍩烘湰淇℃伅
 		String hql = " from ClsClass where collegeCourseId = ? and deleteFlag is false";
 		List<ClsClass> classes = find(hql, CollectionUtils.newList(course.getCollegeCourseId()), ClsClass.class);
 		for (ClsClass orgClass : classes) {
@@ -158,7 +158,7 @@
 		dbCourse.setRecommend(course.isRecommend());
 		dbCourse.setTeacher(course.getTeacher());
 		dbCourse.setCourseId(course.getCourseId());
-		//增加设置code
+		//澧炲姞璁剧疆code
 		dbCourse.setCode(course.getName());
 		TraceUtils.setUpdateTrace(dbCourse);
 		Result result = save(dbCourse);
@@ -180,18 +180,18 @@
 	}
 
 	/**
-	 * 专业编辑 - 选择科目类别后加载专业列表
+	 * 涓撲笟缂栬緫 - 閫夋嫨绉戠洰绫诲埆鍚庡姞杞戒笓涓氬垪琛�
 	 * 
 	 * @return
 	 */
 	@Override
 	public List<OrgCourse> loadCourse( String courseCategoryId,String courseId) {
 		
-		// 查询当前机构的专业
+		// 鏌ヨ褰撳墠鏈烘瀯鐨勪笓涓�
 		String hql_coll = "from OrgCollegeCourse where deleteFlag is false and organizationId = ? and courseId is not null";
 		List<OrgCollegeCourse> orgCollLst = find(hql_coll, CollectionUtils.newList(ClientUtils.getOrgId()), OrgCollegeCourse.class);
 		
-		// 过滤掉courseID
+		// 杩囨护鎺塩ourseID
 		String courseIds = "";
 		for (int i = 0; i < orgCollLst.size(); i++) {
 			
@@ -202,11 +202,11 @@
 			
 		}
 		
-		// 根据选择的科目ID查询专业ID
+		// 鏍规嵁閫夋嫨鐨勭鐩甀D鏌ヨ涓撲笟ID
 		String hql = "from OrgCourse where deleteFlag is false and courseCategoryId = ? ";
 		List<OrgCourse> orgCourse = find(hql, CollectionUtils.newList(courseCategoryId), OrgCourse.class);
 		
-		// 过滤当前机构已经添加的专业列表
+		// 杩囨护褰撳墠鏈烘瀯宸茬粡娣诲姞鐨勪笓涓氬垪琛�
 		List<OrgCourse> orgCourseLst = new ArrayList<OrgCourse>(orgCourse.size());
 		for (OrgCourse course : orgCourse) {
 			if(!ArrayUtils.contains(courseIds.split(","), course.getCourseId())){
@@ -230,7 +230,7 @@
 				"update OrgCollegeCourse set deleteFlag = true where collegeCourseId = ?",
 				courseIds);
 		
-		//发送消息异步维护科目关联关系
+		//鍙戦�佹秷鎭紓姝ョ淮鎶ょ鐩叧鑱斿叧绯�
 		for(String courseId:courseIds){
 //			sendUpdateCourseRelationMsg(courseId);
 		}
diff --git a/src/main/java/com/qxueyou/scc/evaluate/action/EvaluateTemplateController.java b/src/main/java/com/qxueyou/scc/evaluate/action/EvaluateTemplateController.java
index 2cef816..23cda93 100644
--- a/src/main/java/com/qxueyou/scc/evaluate/action/EvaluateTemplateController.java
+++ b/src/main/java/com/qxueyou/scc/evaluate/action/EvaluateTemplateController.java
@@ -18,7 +18,7 @@
 import com.qxueyou.scc.school.model.SchEvaluateTemplate;
 
 /**
- * 评分模板控制器,基本和练习一致
+ * 璇勫垎妯℃澘鎺у埗鍣紝鍩烘湰鍜岀粌涔犱竴鑷�
  * @author Ody.yuan
  *
  */
@@ -35,7 +35,7 @@
 	private IEvaluateTemplateService evaluateTemplateService;
 	
 	/**
-	 * 评估模板主页
+	 * 璇勪及妯℃澘涓婚〉
 	 * 
 	 * @return
 	 */
@@ -45,8 +45,8 @@
 	}
 	
 	/**
-	 * 后台
-	 * 评估模板列表,获取列表数据
+	 * 鍚庡彴
+	 * 璇勪及妯℃澘鍒楄〃锛岃幏鍙栧垪琛ㄦ暟鎹�
 	 * 
 	 * @return
 	 */
@@ -62,7 +62,7 @@
 	}
 	
 	/**
-	 * 删除评估模板
+	 * 鍒犻櫎璇勪及妯℃澘
 	 * 
 	 * @return
 	 */
@@ -72,13 +72,13 @@
 	public Result delete(String groupId,String templateId) {
 		int iCount = this.commonDAO.findCount("from SchEvaluate s where s.evalTemplateId = ? and s.deleteFlag is false", CollectionUtils.newList(templateId));
 		if(iCount > 0){
-			return new Result(false, "有问卷正在使用此模板,不能删除!");
+			return new Result(false, "鏈夐棶鍗锋鍦ㄤ娇鐢ㄦ妯℃澘锛屼笉鑳藉垹闄わ紒");
 		}
 		return evaluateTemplateService.deleteEvaluateTemplate(groupId,templateId);
 	}
 	
 	/**
-	 * 查询模板是否添加了问卷
+	 * 鏌ヨ妯℃澘鏄惁娣诲姞浜嗛棶鍗�
 	 * 
 	 * @param templateId
 	 * @return
@@ -92,7 +92,7 @@
 	
 	
 	/**
-	 * 获取评分标准
+	 * 鑾峰彇璇勫垎鏍囧噯
 	 * 
 	 * @return
 	 */
@@ -107,7 +107,7 @@
 	}
 	
 	/**
-	 * 获取评分标准
+	 * 鑾峰彇璇勫垎鏍囧噯
 	 * 
 	 * @return
 	 */
@@ -122,7 +122,7 @@
 	}
 	
 	/**
-	 * 编辑模板
+	 * 缂栬緫妯℃澘
 	 * 
 	 * @param evaluateTemplateId
 	 * @return
diff --git a/src/main/java/com/qxueyou/scc/evaluate/dao/EvaluateRepository.java b/src/main/java/com/qxueyou/scc/evaluate/dao/EvaluateRepository.java
index d9cdacb..2e19872 100644
--- a/src/main/java/com/qxueyou/scc/evaluate/dao/EvaluateRepository.java
+++ b/src/main/java/com/qxueyou/scc/evaluate/dao/EvaluateRepository.java
@@ -1,17 +1,17 @@
 package com.qxueyou.scc.evaluate.dao;
 
-import org.springframework.stereotype.Repository;
+        import org.springframework.stereotype.Repository;
 
-import com.qxueyou.scc.base.service.IBaseJpaRepository;
-import com.qxueyou.scc.school.model.SchEvaluate;
+        import com.qxueyou.scc.base.service.IBaseJpaRepository;
+        import com.qxueyou.scc.school.model.SchEvaluate;
 
 /**
- * 评估
+ * 锟斤拷锟斤拷
  * @author zhiyong
  *
  */
 @Repository
 public interface EvaluateRepository extends IBaseJpaRepository<SchEvaluate>{
-	
-	
+
+
 }
diff --git a/src/main/java/com/qxueyou/scc/evaluate/service/IEvaluateService.java b/src/main/java/com/qxueyou/scc/evaluate/service/IEvaluateService.java
index fe3b7cf..909339c 100644
--- a/src/main/java/com/qxueyou/scc/evaluate/service/IEvaluateService.java
+++ b/src/main/java/com/qxueyou/scc/evaluate/service/IEvaluateService.java
@@ -10,7 +10,7 @@
 public interface IEvaluateService {
 	
 	/**
-	 * 查询列表数据
+	 * 鏌ヨ鍒楄〃鏁版嵁
 	 * @param pageNum
 	 * @param pageSize
 	 * @return
@@ -18,58 +18,58 @@
 	ResultJson queryList(Integer pageNum, Integer pageSize, String keyword, String sort);
 	
 	/**
-	 * 获取范围选择
+	 * 鑾峰彇鑼冨洿閫夋嫨
 	 * 
-	 * type:   lesson:课程  class:班级     person:人员
+	 * type:   lesson:璇剧▼  class:鐝骇     person:浜哄憳
 	 * 
 	 * @return
 	 */
 	ResultJson queryRangeList(String type,String searchName);
 	
 	/**
-	 * 后台新增评估
+	 * 鍚庡彴鏂板璇勪及
 	 * @param eva
 	 * @return
 	 */
 	ResultJson addOrUpdateEvaluate(SchEvaluate eva);
 	
 	/**
-	 * 获取基本信息
+	 * 鑾峰彇鍩烘湰淇℃伅
 	 * @param eva
 	 * @return
 	 */
 	ResultJson queryBaseInfo(String evaluateId);
 	
 	/**
-	 * 删除
+	 * 鍒犻櫎
 	 * @param evaluateIds
 	 * @return
 	 */
 	ResultJson delete(String evaluateIds);
 	
 	/**
-	 * 激活
+	 * 婵�娲�
 	 * @param evaluateIds
 	 * @return
 	 */
 	ResultJson doActive(String evaluateIds);
 	
 	/**
-	 * 撤回
+	 * 鎾ゅ洖
 	 * @param evaluateIds
 	 * @return
 	 */
 	ResultJson doWithdraw(String evaluateIds);
 	
 	/**
-	 * 复制
+	 * 澶嶅埗
 	 * @param evaluateIds
 	 * @return
 	 */
 	ResultJson doCopy(SchEvaluate eva);
 	
 	/**
-	 *  查看结果  问卷整体情况
+	 *  鏌ョ湅缁撴灉  闂嵎鏁翠綋鎯呭喌
 	 * @param evaluateId
 	 * @param groupId
 	 * @param evalRangeType
@@ -78,7 +78,7 @@
 	ResultJson queryEvaluateDetail(String evaluateId,String groupId);
 	
 	/**
-	 * 查询问卷统计
+	 * 鏌ヨ闂嵎缁熻
 	 * @param groupId
 	 * @param evaluateId
 	 * @return
@@ -86,7 +86,7 @@
 	ResultJson queryEvaluateStatis(String groupId,String evaluateId);
 	
 	/**
-	 * 微信端提交答案
+	 * 寰俊绔彁浜ょ瓟妗�
 	 * @param score
 	 * @return
 	 */
@@ -94,27 +94,27 @@
 	
 	
 	/**
-	 * 查询学生评估list
+	 * 鏌ヨ瀛︾敓璇勪及list
 	 * @return
 	 */
 	ResultJson queryStuEvaluateList(Pager pager);
 	
 	
 	/**
-	 * 获取评估题目(新接口)
+	 * 鑾峰彇璇勪及棰樼洰(鏂版帴鍙�)
 	 * @param templateId
 	 * @return
 	 */
 	ResultJson doGetEvalExerItemResponseDataNew(String evaluateId);
 	
 	/**
-	 * 查询学生评估count
+	 * 鏌ヨ瀛︾敓璇勪及count
 	 * @return
 	 */
 	public Map<String, Object> queryStuEvaluateCount();
 	
 	/**
-	 * 更新评估表记录
+	 * 鏇存柊璇勪及琛ㄨ褰�
 	 * @return
 	 */
 	public SchEvaluate updateEvaluateCount(String evaluateId);
diff --git a/src/main/java/com/qxueyou/scc/evaluate/service/IEvaluateTemplateService.java b/src/main/java/com/qxueyou/scc/evaluate/service/IEvaluateTemplateService.java
index d942c35..bc9d8d1 100644
--- a/src/main/java/com/qxueyou/scc/evaluate/service/IEvaluateTemplateService.java
+++ b/src/main/java/com/qxueyou/scc/evaluate/service/IEvaluateTemplateService.java
@@ -8,7 +8,7 @@
 public interface IEvaluateTemplateService {
 	
 	/**
-	 * 新增评估模板
+	 * 鏂板璇勪及妯℃澘
 	 * @param name
 	 * @return
 	 */
@@ -16,7 +16,7 @@
 	
 	
 	/**
-	 * 删除评估模板
+	 * 鍒犻櫎璇勪及妯℃澘
 	 * @param ids
 	 * @param templateId
 	 * @return
@@ -24,7 +24,7 @@
 	public abstract Result deleteEvaluateTemplate(String ids,String templateId);
 	
 	/**
-	 * 增加评分标准
+	 * 澧炲姞璇勫垎鏍囧噯
 	 * @param exerciseId
 	 * @param type
 	 * @param lstScore
@@ -33,8 +33,8 @@
 	public abstract Result insertExerciseScore(String exerciseId,short type,List<String> lstScore,String scoreAnswer, String exerciseItemScoreId);
 	
 	/**
-	 * 批量删除ExerciseGroup,删除逻辑
-	 * @param groupId 主键,
+	 * 鎵归噺鍒犻櫎ExerciseGroup锛屽垹闄ら�昏緫
+	 * @param groupId 涓婚敭锛�
 	 * @return
 	 */
 	public  Result deleteExerciseGroup(String groupId);
diff --git a/src/main/java/com/qxueyou/scc/evaluate/service/impl/EvaluateService.java b/src/main/java/com/qxueyou/scc/evaluate/service/impl/EvaluateService.java
index bb89a25..844a2f4 100644
--- a/src/main/java/com/qxueyou/scc/evaluate/service/impl/EvaluateService.java
+++ b/src/main/java/com/qxueyou/scc/evaluate/service/impl/EvaluateService.java
@@ -85,7 +85,7 @@
 	IMsgInfoService msgInfoService;
 
 	/**
-	 * 查询列表数据
+	 * 鏌ヨ鍒楄〃鏁版嵁
 	 * @param pageNum
 	 * @param pageSize
 	 * @return
@@ -98,10 +98,10 @@
 		QExerciseGroup group = QExerciseGroup.exerciseGroup;
 		QSubject subject = QSubject.subject;
 		
-		// 搜索名
+		// 鎼滅储鍚�
 		keyword = StringUtils.isBlank(keyword) ? null : "%"+keyword+"%";
 		
-		// 获取查询结果集合
+		// 鑾峰彇鏌ヨ缁撴灉闆嗗悎
 		QueryResults<Tuple> results = this.getQueryFactory()
 			.select(qEva, group,subject)
 			.from(qEva, template, group,subject)
@@ -117,7 +117,7 @@
 			.orderBy(qEva.createTime.desc())
 			.fetchResults();
 		
-		// 封装参数
+		// 灏佽鍙傛暟
 		List<Map<String,Object>> resultLst = 
 				results.getResults()
 				.stream()
@@ -135,9 +135,9 @@
 			    	map.put("createTime", tuple.get(qEva).getCreateTime());
 			    	map.put("groupId",  tuple.get(group).getGroupId());
 			    	map.put("exerCount",  tuple.get(group).getAllCount());
-			    	map.put("evaluateCount",  this.getEvaluateCount(tuple.get(qEva).getEvaluateId()));//已评估人数
+			    	map.put("evaluateCount",  this.getEvaluateCount(tuple.get(qEva).getEvaluateId()));//宸茶瘎浼颁汉鏁�
 			    	map.put("evaluateAllCount",  this
-							.queryEvaluateAllCount(tuple.get(qEva).getEvalRangeType(), tuple.get(qEva).getEvalRangeId().split(",")));//应评估人数
+							.queryEvaluateAllCount(tuple.get(qEva).getEvalRangeType(), tuple.get(qEva).getEvalRangeId().split(",")));//搴旇瘎浼颁汉鏁�
 			    	return map;
 			    }).collect(Collectors.toList());
 		
@@ -147,9 +147,9 @@
 	}
 
 	/**
-	 * 获取范围选择
+	 * 鑾峰彇鑼冨洿閫夋嫨
 	 * 
-	 * type:   lesson:课程  class:班级     person:人员
+	 * type:   lesson:璇剧▼  class:鐝骇     person:浜哄憳
 	 * 
 	 * @return
 	 */
@@ -157,18 +157,18 @@
 	public ResultJson queryRangeList(String type,String searchName) {
 		
 		List<Tuple> tupleLst = null;
-		// 搜索名
+		// 鎼滅储鍚�
 		searchName = StringUtils.isBlank(searchName) ? null : "%"+searchName+"%";
 		
-		if(ClientUtils.isAdmin()){// 管理员
+		if(ClientUtils.isAdmin()){// 绠$悊鍛�
 			
 			tupleLst = getAdminRangeList(type,searchName);
-		}else{// 老师
+		}else{// 鑰佸笀
 			
 			tupleLst = getTeacherRangeList(type,searchName);
 		}
 		
-		// 统一处理返回数据
+		// 缁熶竴澶勭悊杩斿洖鏁版嵁
 		List<Map<String,Object>> resultLst = tupleLst.stream()
 			    .map(tuple -> {
 			    	Map<String,Object> map = new HashMap<String,Object>(2);
@@ -181,7 +181,7 @@
 	}
 
 	/**
-	 * 获取管理员范围选择
+	 * 鑾峰彇绠$悊鍛樿寖鍥撮�夋嫨
 	 * @param type
 	 * @return
 	 */
@@ -191,7 +191,7 @@
 		QUser user = QUser.user;
 		List<Tuple> tupleLst = null;
 		
-		if(SchEvaluate.EVALUATE_RANGE_LESSON.equals(type)){//课程
+		if(SchEvaluate.EVALUATE_RANGE_LESSON.equals(type)){//璇剧▼
 			
 			tupleLst = this.getQueryFactory().select(subject.name.as("name"),subject.subjectId.as("id")).distinct()
 			    .from(subject)
@@ -202,7 +202,7 @@
 			    .orderBy(subject.createTime.desc())
 			    .fetch();
 			
-		}else if(SchEvaluate.EVALUATE_RANGE_CLASS.equals(type)){//班级
+		}else if(SchEvaluate.EVALUATE_RANGE_CLASS.equals(type)){//鐝骇
 			
 			tupleLst = this.getQueryFactory().select(cls.name.as("name"),cls.classId.as("id")).distinct()
 				    .from(cls)
@@ -212,7 +212,7 @@
 							.build())
 				    .orderBy(cls.createTime.desc())
 				    .fetch();
-		}else if(SchEvaluate.EVALUATE_RANGE_PERSON.equals(type)){//人员
+		}else if(SchEvaluate.EVALUATE_RANGE_PERSON.equals(type)){//浜哄憳
 			QStuStudent stu = QStuStudent.stuStudent;
 
 			tupleLst = this.getQueryFactory().select(user.name.as("name"),user.userId.as("id")).distinct()
@@ -230,7 +230,7 @@
 	}
 	
 	/**
-	 * 	获取老师范围选择
+	 * 	鑾峰彇鑰佸笀鑼冨洿閫夋嫨
 	 * @param type
 	 * @return
 	 */
@@ -242,7 +242,7 @@
 		List<Tuple> tupleLst = null;
 		String teacherId =  teacherService.getTeacherIdByUserId(ClientUtils.getUserId());
 		
-		if(SchEvaluate.EVALUATE_RANGE_LESSON.equals(type)){//课程
+		if(SchEvaluate.EVALUATE_RANGE_LESSON.equals(type)){//璇剧▼
 			
 			tupleLst = this.getQueryFactory().select(subject.name.as("name"),subject.subjectId.as("id")).distinct()
 				    .from(subject)
@@ -254,7 +254,7 @@
 				    .orderBy(subject.createTime.desc())
 				    .fetch();
 			
-		}else if(SchEvaluate.EVALUATE_RANGE_CLASS.equals(type)){//班级
+		}else if(SchEvaluate.EVALUATE_RANGE_CLASS.equals(type)){//鐝骇
 			
 			tupleLst = this.getQueryFactory().select(cls.name.as("name"),cls.classId.as("id")).distinct()
 				    .from(subject, re, cls)
@@ -270,7 +270,7 @@
 				    .orderBy(subject.createTime.desc())
 				    .fetch();
 			
-		}else if(SchEvaluate.EVALUATE_RANGE_PERSON.equals(type)){//人员
+		}else if(SchEvaluate.EVALUATE_RANGE_PERSON.equals(type)){//浜哄憳
 			QStuStudent stu = QStuStudent.stuStudent;
 			
 			tupleLst = this.getQueryFactory().select(stu.name.as("name"),stu.userId.as("id")).distinct()
@@ -297,7 +297,7 @@
 	}
 
 	/**
-	 * 后台新增评估
+	 * 鍚庡彴鏂板璇勪及
 	 * @param eva
 	 * @return
 	 */
@@ -305,12 +305,12 @@
 	public ResultJson addOrUpdateEvaluate(SchEvaluate eva) {
 		String evaluateId = eva.getEvaluateId();
 		String groupId = null;
-		if(StringUtils.isBlank(evaluateId)){// 新增
-			//1、插入组
+		if(StringUtils.isBlank(evaluateId)){// 鏂板
+			//1銆佹彃鍏ョ粍
 			ExerciseGroup obj = this.insertExerciseGroup(eva.getEvaluateName(),
 					ExerciseGroup.TYPE_EXERCISE_TEACH_EVALUATE);
 			
-			//2、插入评估模板
+			//2銆佹彃鍏ヨ瘎浼版ā鏉�
 			SchEvaluateTemplate objTemplate = new SchEvaluateTemplate();
 			TraceUtils.setCreateTrace(objTemplate);
 			objTemplate.setEvaluateTemplateName(eva.getEvaluateName());
@@ -320,7 +320,7 @@
 			objTemplate.setOrgName(ClientUtils.getOrgName());
 			this.save(objTemplate);
 			
-			// 3、插入评估表
+			// 3銆佹彃鍏ヨ瘎浼拌〃
 			eva.setEvalTemplateId(objTemplate.getEvaluateTemplateId());
 			eva.setEvalTemplateName(objTemplate.getEvaluateTemplateName());
 			eva.setEvaluateCount(BigInteger.ZERO);
@@ -332,7 +332,7 @@
 			
 			evaluateId = eva.getEvaluateId();
 			groupId = obj.getGroupId();
-		}else{// 编辑
+		}else{// 缂栬緫
 			SchEvaluate newEva = this.read(SchEvaluate.class, eva.getEvaluateId());
 			
 			newEva.setEvaluateName(eva.getEvaluateName());
@@ -349,7 +349,7 @@
 	}
 	
 	/**
-	 * :后台 插入评估模板时调用
+	 * 锛氬悗鍙� 鎻掑叆璇勪及妯℃澘鏃惰皟鐢�
 	 * 
 	 * @param name
 	 * @param type
@@ -366,12 +366,12 @@
 		obj.setAllCount(BigInteger.ZERO);
 		this.save(obj);
 
-		// 保存
+		// 淇濆瓨
 		return obj;
 	}
 
 	/**
-	 * 查询基本信息
+	 * 鏌ヨ鍩烘湰淇℃伅
 	 */
 	@Override
 	public ResultJson queryBaseInfo(String evaluateId) {
@@ -381,7 +381,7 @@
 		QSchEvaluateTemplate template = QSchEvaluateTemplate.schEvaluateTemplate;
 		QExerciseGroup group = QExerciseGroup.exerciseGroup;
 		
-		// 获取查询结果集合
+		// 鑾峰彇鏌ヨ缁撴灉闆嗗悎
 		ExerciseGroup g = this.getQueryFactory()
 			.select(group)
 			.from(qEva, template, group)
@@ -407,7 +407,7 @@
 	}
 	
 	/**
-	 * 删除
+	 * 鍒犻櫎
 	 */
 	@Override
 	public ResultJson delete(String evaluateIds){
@@ -423,7 +423,7 @@
 	}
 	
 	/**
-	 * 激活
+	 * 婵�娲�
 	 */
 	@Override
 	public ResultJson doActive(String evaluateIds){
@@ -446,7 +446,7 @@
 		return new ResultJson(true, "success");
 	}
 	
-	//发布消息
+	//鍙戝竷娑堟伅
     private void doSendhMsg(String evaluateId){
     	SchEvaluate  evaluate = this.read(SchEvaluate.class,evaluateId);
     	
@@ -462,12 +462,12 @@
     		Map<String,String> attrs = CollectionUtils.newStringMap("evaluateId",evaluate.getEvaluateId(),"evaluateName",evaluate.getEvaluateName(),
 					"templateId",evaluate.getEvalTemplateId(),"evalRangeName",evaluate.getEvalRangeName(),"creator",evaluate.getCreator());
     		
-    		msgInfoService.doSendTextMsgToUsersLoop(lstUserIds, MsgInfo.TYPE_EVALUATE, "发布了问卷调查", attrs);
+    		msgInfoService.doSendTextMsgToUsersLoop(lstUserIds, MsgInfo.TYPE_EVALUATE, "鍙戝竷浜嗛棶鍗疯皟鏌�", attrs);
     	}
 	}
 	
 	/**
-	 *回退
+	 *鍥為��
 	 */
 	@Override
 	public ResultJson doWithdraw(String evaluateIds){
@@ -483,7 +483,7 @@
 	}
 	
 	/**
-	 * 复制
+	 * 澶嶅埗
 	 */
 	@Override
 	public ResultJson doCopy(SchEvaluate eva){
@@ -491,10 +491,10 @@
 			SchEvaluate schEva = evaRepository.getOne(eva.getEvaluateId());
 			SchEvaluateTemplate oldTemplate = this.read(SchEvaluateTemplate.class, schEva.getEvalTemplateId());
 			
-			// 1、生成习题组
+			// 1銆佺敓鎴愪範棰樼粍
 			String newGroupId = exerciseService.doCopyExerciseByEvaluate(oldTemplate.getGroupId());
 			
-			// 2、生成模板
+			// 2銆佺敓鎴愭ā鏉�
 			SchEvaluateTemplate newTemplate = new SchEvaluateTemplate();
 			
 			BeanUtils.copyProperties(newTemplate, oldTemplate);
@@ -503,7 +503,7 @@
 			TraceUtils.setCreateTrace(newTemplate);
 			this.save(newTemplate);
 		
-			// 3、生成评估表
+			// 3銆佺敓鎴愯瘎浼拌〃
 			SchEvaluate newEva = new SchEvaluate();
 			BeanUtils.copyProperties(newEva, eva);
 			newEva.setEvaluateId(null);
@@ -519,14 +519,14 @@
 			return new ResultJson(true, "success", CollectionUtils.newObjectMap("evaluateId", newEva.getEvaluateId(), "groupId", newGroupId));
 			
 		} catch (Exception e) {
-			log.error("doCopy评估复制:复制练习BeanUtils.copyProperties()方法copy失败", e);
+			log.error("doCopy璇勪及澶嶅埗锛氬鍒剁粌涔燘eanUtils.copyProperties()鏂规硶copy澶辫触", e);
 		}
 		
 		return new ResultJson(false);
 	}
 	
 	/**
-	 *  查看结果  问卷整体情况
+	 *  鏌ョ湅缁撴灉  闂嵎鏁翠綋鎯呭喌
 	 * @param evaluateId
 	 * @param groupId
 	 * @param evalRangeType
@@ -535,16 +535,16 @@
 	@Override
 	public ResultJson queryEvaluateDetail(String evaluateId,String groupId){
 		
-		// 1、查询已提交问卷list
+		// 1銆佹煡璇㈠凡鎻愪氦闂嵎list
 		List<Map<String, Object>> answerUserLst = queryAnswerEvaLst(evaluateId);
 		
-		// 已经答题过的学员id
+		// 宸茬粡绛旈杩囩殑瀛﹀憳id
 		List<String> userAnswerList = new ArrayList<String>(answerUserLst.size());
 		for(Map<String,Object> map:answerUserLst){
 			userAnswerList.add(String.valueOf(map.get("userId")));
 		}
 		
-		// 2、查询未提交答案list
+		// 2銆佹煡璇㈡湭鎻愪氦绛旀list
 		List<Map<String,Object>> notAnswerUserLst = this.queryNotAnswerEvaLst(evaluateId, userAnswerList);
 		
 		
@@ -554,7 +554,7 @@
 	}
 
 	/**
-	 *  查询已答题的学员list
+	 *  鏌ヨ宸茬瓟棰樼殑瀛﹀憳list
 	 * @param evaluateId
 	 * @return
 	 */
@@ -584,7 +584,7 @@
 	}
 	
 	/**
-	 * 查询未答题的学员list
+	 * 鏌ヨ鏈瓟棰樼殑瀛﹀憳list
 	 * @param rangeType
 	 * @param evalRangeIds
 	 * @param userAnswerList
@@ -601,22 +601,22 @@
 		QSubject qSubject = QSubject.subject;
 		
 		Predicate predicate = null;
-		if(SchEvaluate.EVALUATE_RANGE_LESSON.equals(rangeType)){//课程
+		if(SchEvaluate.EVALUATE_RANGE_LESSON.equals(rangeType)){//璇剧▼
 			
 			predicate = stu.classId.in(getQueryFactory().select(re.classId).from(re,qSubject)
 					.where(qSubject.origSubjectId.in(evalRangeIds).and(re.subjectId.eq(qSubject.subjectId))
 							.and(qSubject.deleteFlag.isFalse()).and(re.deleteFlag.eq(false))));
-		}else if(SchEvaluate.EVALUATE_RANGE_CLASS.equals(rangeType)){//班级
+		}else if(SchEvaluate.EVALUATE_RANGE_CLASS.equals(rangeType)){//鐝骇
 			
 			predicate = stu.classId.in(evalRangeIds);
-		}else if(SchEvaluate.EVALUATE_RANGE_PERSON.equals(rangeType)){//人员
+		}else if(SchEvaluate.EVALUATE_RANGE_PERSON.equals(rangeType)){//浜哄憳
 			
 			predicate = stu.userId.in(evalRangeIds);
 		}
 		
 		List<Map<String,Object>> notAnswerUserLst = this.getQueryFactory().select(stu.userId, stu.name).distinct()
 			    .from(stu)
-			    .where(stu.userId.notIn(userAnswerList)// 过滤掉已经答题过的学员
+			    .where(stu.userId.notIn(userAnswerList)// 杩囨护鎺夊凡缁忕瓟棰樿繃鐨勫鍛�
 			    		.and(stu.deleteFlag.eq(false))
 			    		.and(predicate))
 			    .orderBy(stu.createTime.desc())
@@ -635,10 +635,10 @@
 	}
 	
 	
-	/**  ------前端       ---------------------------start------------------------------------------------------------------ */
+	/**  ------鍓嶇       ---------------------------start------------------------------------------------------------------ */
 	
 	/**
-	 * 提交答案
+	 * 鎻愪氦绛旀
 	 * @param score
 	 * @return
 	 */
@@ -648,37 +648,37 @@
 		List<TeachEvaScoreData> lstScore = scoreResult.getItems();
 		String evaluateId = scoreResult.getEvaluateId();
 		
-		// 1.操作ExerciseRecord做题记录
+		// 1.鎿嶄綔ExerciseRecord鍋氶璁板綍
 		ExerciseRecord record = this.doOperExerciseRecord(scoreResult);
 		
 		if(null == record){
-			return new ResultJson(false,"您已经提交,不能重复提交");
+			return new ResultJson(false,"鎮ㄥ凡缁忔彁浜わ紝涓嶈兘閲嶅鎻愪氦");
 		}
 		String exerciseRecordId = record.getRecordId();
 		
 		if(!scoreResult.getItems().isEmpty()){
-			// 2.记录练习答案  ExerciseItemAnswerU
+			// 2.璁板綍缁冧範绛旀  ExerciseItemAnswerU
 			this.doOperExerciseItemAnswerUBatch(lstScore, exerciseRecordId);
 		}
 		
-		// 3.插入评估记录关联表
+		// 3.鎻掑叆璇勪及璁板綍鍏宠仈琛�
 		this.doOperSchEvaRecordRe(exerciseRecordId, evaluateId);
 		
-		// 4.更新评估表的完成人数
+		// 4.鏇存柊璇勪及琛ㄧ殑瀹屾垚浜烘暟
 		SchEvaluate eval = this.updateEvaluateCount(evaluateId);
 		
 		if(!scoreResult.getItems().isEmpty()){
-			// 5.插入评估明细表
+			// 5.鎻掑叆璇勪及鏄庣粏琛�
 			this.insertEvaluateDetailBatch(lstScore,evaluateId);
 		}
 		
-		return new ResultJson(true, "操作成功", 
+		return new ResultJson(true, "鎿嶄綔鎴愬姛", 
 				CollectionUtils.newObjectMap("doNumber", eval.getEvaluateCount(), "recordId", exerciseRecordId));
 	}
 	
 	
 	/**
-	 * 操作本次做题记录
+	 * 鎿嶄綔鏈鍋氶璁板綍
 	 * @return
 	 */
 	public ExerciseRecord doOperExerciseRecord(TeachEvaScoreResult scoreResult) {
@@ -694,14 +694,14 @@
 		
 		String doCount = String.valueOf(scoreResult.getItems().size());
 		
-		// 2.查询总题目数
+		// 2.鏌ヨ鎬婚鐩暟
 		ExerciseGroup group = this.findUnique("select g from ExerciseGroup g,SchEvaluate e,SchEvaluateTemplate t "
 				+ "where g.groupId=t.groupId and e.evalTemplateId=t.evaluateTemplateId and e.evaluateId=?"
 				+ " and g.deleteFlag is false and e.deleteFlag is false ",  
 				CollectionUtils.newList(scoreResult.getEvaluateId()), ExerciseGroup.class);
 		BigInteger allCount = group.getAllCount();
 		
-		// 3.查询做题记录obj
+		// 3.鏌ヨ鍋氶璁板綍obj
 		BigDecimal completionRate =  ExerciseUtils.parseStrToBigDecimal(doCount, String.valueOf(allCount));
 		
 		ExerciseRecord record = new ExerciseRecord();
@@ -721,14 +721,14 @@
 	}
 	
 	/**
-	 * 批量增加或修改练习记录答案
+	 * 鎵归噺澧炲姞鎴栦慨鏀圭粌涔犺褰曠瓟妗�
 	 * @return
 	 */
 	public Result doOperExerciseItemAnswerUBatch(List<TeachEvaScoreData> lstScore, String exerciseRecordId) {
 		String userId = ClientUtils.getUserId();
 		
 		List<ExerciseItemAnswerU> lstNewAnswerU = new ArrayList<ExerciseItemAnswerU>(lstScore.size());
-		// 组装答案记录
+		// 缁勮绛旀璁板綍
 		ExerciseItemAnswerU	answerU = null;
 		for(TeachEvaScoreData score:lstScore){
 			if(StringUtils.isBlank(score.getAnswer())){
@@ -745,14 +745,14 @@
 			lstNewAnswerU.add(answerU);
 		}
 		
-		// 批量保存
+		// 鎵归噺淇濆瓨
 		this.saveOrUpdateAll(lstNewAnswerU);
 		
 		return new Result(true);
 	}
 	
 	/**
-	 * 批量增加或修改评估明细记录
+	 * 鎵归噺澧炲姞鎴栦慨鏀硅瘎浼版槑缁嗚褰�
 	 * @return
 	 */
 	public Result insertEvaluateDetailBatch(List<TeachEvaScoreData> lstScore,String evaluateId) {
@@ -793,14 +793,14 @@
 			lstDetail.add(record);
 		}
 		
-		// 批量保存
+		// 鎵归噺淇濆瓨
 		this.saveOrUpdateAll(lstDetail);
 		
 		return new Result(true);
 	}
 	
 	/**
-	 * 新增评估与记录关联表
+	 * 鏂板璇勪及涓庤褰曞叧鑱旇〃
 	 * @param groupId
 	 * @return 
 	 */
@@ -818,7 +818,7 @@
 		SchEvaRecordRe record = new SchEvaRecordRe();
 		record.setEvaluateId(evaluateId);
 		record.setExerciseRecordId(recordId);
-		//记录答题所在班级
+		//璁板綍绛旈鎵�鍦ㄧ彮绾�
 		if(null != ClientUtils.getUserInfo()){
 			record.setClassId(ClientUtils.getClassId());
 			record.setOrgId(ClientUtils.getOrgId());
@@ -830,7 +830,7 @@
 	}
 	
 	/**
-	 * 更新评估表记录
+	 * 鏇存柊璇勪及琛ㄨ褰�
 	 * @return
 	 */
 	public SchEvaluate updateEvaluateCount(String evaluateId) {
@@ -844,14 +844,14 @@
 		record.setEvaluateCount(BigInteger.valueOf(this.getEvaluateCount(evaluateId)));
 		TraceUtils.setUpdateTrace(record);
 		
-		// 保存
+		// 淇濆瓨
 		this.save(record);
 		
 		return record;
 	}
 	
 	/**
-	 * 查询问卷统计
+	 * 鏌ヨ闂嵎缁熻
 	 * @param groupId
 	 * @param evaluateId
 	 * @return
@@ -888,16 +888,16 @@
 					lstExerciseItemAnswerU.add(objExerciseItemAnswerU);
 				}
 				
-				// 查询答案
+				// 鏌ヨ绛旀
 				objExerciseItem.setExerciseItemAnswerU(lstExerciseItemAnswerU);
 			}
 		}
 		objSchEvaluate.setEvaluateCount(BigInteger.valueOf(this.getEvaluateCount(evaluateId)));
-		// 查询应评估总人数
+		// 鏌ヨ搴旇瘎浼版�讳汉鏁�
 		objSchEvaluate.setEvaluateAllCount(BigInteger.valueOf(this
 				.queryEvaluateAllCount(objSchEvaluate.getEvalRangeType(),objSchEvaluate.getEvalRangeId().split(","))));
 		
-		//拼装前端所需要的数据
+		//鎷艰鍓嶇鎵�闇�瑕佺殑鏁版嵁
 		 Map<String, Object> resultMap = 
 				 ExerciseUtils.packageExerciseDetail(items, objSchEvaluate);
 		
@@ -905,7 +905,7 @@
 	}
 	
 	/**
-	 * 查询应评估人数
+	 * 鏌ヨ搴旇瘎浼颁汉鏁�
 	 * @param rangeType
 	 * @param evalRangeIds
 	 * @return
@@ -917,15 +917,15 @@
 		QSubject qSubject = QSubject.subject;
 		
 		Predicate predicate = null;
-		if(SchEvaluate.EVALUATE_RANGE_LESSON.equals(rangeType)){//课程
+		if(SchEvaluate.EVALUATE_RANGE_LESSON.equals(rangeType)){//璇剧▼
 			
 			predicate = stu.classId.in(getQueryFactory().select(re.classId).from(re,qSubject)
 					.where(qSubject.origSubjectId.in(evalRangeIds).and(re.subjectId.eq(qSubject.subjectId))
 							.and(qSubject.deleteFlag.isFalse()).and(re.deleteFlag.eq(false))));
-		}else if(SchEvaluate.EVALUATE_RANGE_CLASS.equals(rangeType)){//班级
+		}else if(SchEvaluate.EVALUATE_RANGE_CLASS.equals(rangeType)){//鐝骇
 			
 			predicate = stu.classId.in(evalRangeIds);
-		}else if(SchEvaluate.EVALUATE_RANGE_PERSON.equals(rangeType)){//人员
+		}else if(SchEvaluate.EVALUATE_RANGE_PERSON.equals(rangeType)){//浜哄憳
 			
 			return evalRangeIds.length;
 		}
@@ -939,7 +939,7 @@
 	}
 	
 	/**
-	 * 获取问卷答卷人数
+	 * 鑾峰彇闂嵎绛斿嵎浜烘暟
 	 * 
 	 * @param schEvaluateId
 	 * @param classId
@@ -960,7 +960,7 @@
 	}
 
 	/**
-	 * 查询学生评估list
+	 * 鏌ヨ瀛︾敓璇勪及list
 	 * @return
 	 */
 	@Override
@@ -999,7 +999,7 @@
 	}
 	
 	/**
-	 * 查询学生评估count
+	 * 鏌ヨ瀛︾敓璇勪及count
 	 * @return
 	 */
 	@Override
@@ -1026,7 +1026,7 @@
 	}
 
 	/**
-	 * 获取评估题目
+	 * 鑾峰彇璇勪及棰樼洰
 	 * @param templateId
 	 * @param status
 	 * @param exerciseRecordId
@@ -1038,7 +1038,7 @@
 				+ "where t.evaluateTemplateId=e.evalTemplateId and e.evaluateId=?", 
 				CollectionUtils.newList(evaluateId),String.class);
 		
-		// 2.查找评估组下所有对应的练习
+		// 2.鏌ユ壘璇勪及缁勪笅鎵�鏈夊搴旂殑缁冧範
 		String hql_item = "select item"
 				+ " from ExerciseItem item, ExerciseGroupItemRe re, ExerciseGroup g"
 				+ " where item.exerciseId=re.exerciseItemId "
@@ -1051,9 +1051,9 @@
 				
 		List<ExerciseItem> lstItems = this.find(hql_item, CollectionUtils.newList(groupId), ExerciseItem.class);
 		if(lstItems.isEmpty()){
-			return new ResultJson(false,"当前评估未添加题目");
+			return new ResultJson(false,"褰撳墠璇勪及鏈坊鍔犻鐩�");
 		}
-		//查询用户所填答案
+		//鏌ヨ鐢ㄦ埛鎵�濉瓟妗�
 		List<ExerciseItemAnswerU> lstUserAnswer = null;
 		String exerciseRecordId = this.findUnique("select r.recordId from SchEvaRecordRe re, ExerciseRecord r "
 				+ "where re.exerciseRecordId=r.recordId and re.evaluateId=? and r.deleteFlag is false and r.userId = ?",
@@ -1062,7 +1062,7 @@
 			String hql_options = "select o from ExerciseItemAnswerU o where o.exerciseRecordId = ? and o.deleteFlag is false";
 			lstUserAnswer = this.find(hql_options, CollectionUtils.newList(exerciseRecordId), ExerciseItemAnswerU.class);
 		}
-		// 2.1.组装参数 用于查询问卷选项图片
+		// 2.1.缁勮鍙傛暟 鐢ㄤ簬鏌ヨ闂嵎閫夐」鍥剧墖
 		Map<String, Object> argsImgMap = new HashMap<String, Object>();
 		String argImgs = "";
 		Map<String, Object> argsMap = new HashMap<String, Object>();
@@ -1082,20 +1082,20 @@
 		}
 		argsMap.put("exerciseIds", args);
 		argsImgMap.put("optionIds", argImgs.split(";"));
-		// 2-3-1查询题目是否关联图片
+		// 2-3-1鏌ヨ棰樼洰鏄惁鍏宠仈鍥剧墖
 		String hql_itemImgs = "from ExerciseObjectImg where exerciseObjectId in (:exerciseIds) and deleteFlag is false and objectType=1 order by exerciseObjectId,imgOrder ";
 		List<ExerciseObjectImg> lstItemImgs = this.findByComplexHql(hql_itemImgs, argsMap, ExerciseObjectImg.class);
-		// 2-3-2查询题目选项是否关联图片
+		// 2-3-2鏌ヨ棰樼洰閫夐」鏄惁鍏宠仈鍥剧墖
 		String hql_optionImgs = "from ExerciseObjectImg where exerciseObjectId in (:optionIds) and deleteFlag is false and objectType=2";
 		List<ExerciseObjectImg> lstOptionImgs = this.findByComplexHql(hql_optionImgs, argsImgMap, ExerciseObjectImg.class);
 
-		// 重新组装练习选项
+		// 閲嶆柊缁勮缁冧範閫夐」
 		ExerciseUtils.packageExerciseItem(lstItems, lstUserAnswer, lstOptionImgs);
 		
 		Map<String, List<ExerciseObjectImg>> imgItemMap = ExerciseUtils.packageExerciseItemImg(lstItemImgs);
 		
 		for(ExerciseItem item:lstItems){
-			// 4.5题目中是否有图片
+			// 4.5棰樼洰涓槸鍚︽湁鍥剧墖
 			if(imgItemMap.get(item.getExerciseId()) != null){
 				item.setImgs(imgItemMap.get(item.getExerciseId()));
 			}
diff --git a/src/main/java/com/qxueyou/scc/evaluate/service/impl/EvaluateTemplateService.java b/src/main/java/com/qxueyou/scc/evaluate/service/impl/EvaluateTemplateService.java
index 69ef136..2334ebd 100644
--- a/src/main/java/com/qxueyou/scc/evaluate/service/impl/EvaluateTemplateService.java
+++ b/src/main/java/com/qxueyou/scc/evaluate/service/impl/EvaluateTemplateService.java
@@ -29,15 +29,15 @@
 	private IExerciseService exerciseService;
 	
 	/**
-	 *  新增评估模板
+	 *  鏂板璇勪及妯℃澘
 	 */
 	public String insertEvaluateTemplate(SchEvaluateTemplate schEvaluateTemplate){
 		String evaluateTemplateId = schEvaluateTemplate.getEvaluateTemplateId();
 		if(StringUtils.isBlank(evaluateTemplateId)){
-			//插入组
+			//鎻掑叆缁�
 			ExerciseGroup obj = exerciseService.insertExerciseGroup(schEvaluateTemplate.getEvaluateTemplateName(),ExerciseGroup.TYPE_EXERCISE_TEACH_EVALUATE);
 			if(null != obj){
-				//插入评估模板
+				//鎻掑叆璇勪及妯℃澘
 				SchEvaluateTemplate objTemplate = new SchEvaluateTemplate();
 				TraceUtils.setCreateTrace(objTemplate);
 				objTemplate.setEvaluateTemplateName(schEvaluateTemplate.getEvaluateTemplateName());
@@ -64,7 +64,7 @@
 	
 	
 	/**
-	 * 删除评估模板
+	 * 鍒犻櫎璇勪及妯℃澘
 	 * @param ids
 	 * @param templateId
 	 * @return
@@ -83,16 +83,16 @@
 	}
 	
 	/**
-	 * 批量删除ExerciseGroup,删除逻辑:修改评估模板的同时修改习题组和练习题
-	 * @param groupId 主键,多个id时以","分隔
+	 * 鎵归噺鍒犻櫎ExerciseGroup锛屽垹闄ら�昏緫锛氫慨鏀硅瘎浼版ā鏉跨殑鍚屾椂淇敼涔犻缁勫拰缁冧範棰�
+	 * @param groupId 涓婚敭锛屽涓猧d鏃朵互","鍒嗛殧
 	 * @return
 	 */
 	@Override
 	public Result deleteExerciseGroup(String groupId) {
 		
-		//逻辑删除,只需要修改exercise_group、exercise_item的删除标识即可
+		//閫昏緫鍒犻櫎锛屽彧闇�瑕佷慨鏀筫xercise_group銆乪xercise_item鐨勫垹闄ゆ爣璇嗗嵆鍙�
 		if(StringUtils.isNotBlank(groupId)){
-			//需要删除的练习组
+			//闇�瑕佸垹闄ょ殑缁冧範缁�
 			Object[] arrGroupId = groupId.split(",");
 		
 			String exeGroupHql = " from ExerciseGroup where groupId in (:groupId) ";
@@ -102,20 +102,20 @@
 			
 			List<ExerciseGroup> exeGroupList = this.findByComplexHql(exeGroupHql, groupIdMap, ExerciseGroup.class);
 			
-			//删除习题组
+			//鍒犻櫎涔犻缁�
 			if(exeGroupList != null){
 				for(ExerciseGroup group : exeGroupList){
 					group.setDeleteFlag(true);
 				}
 			}
-			//20150618:配合前台app,所有修改同时修改group表最后修改时间
+			//20150618锛氶厤鍚堝墠鍙癮pp锛屾墍鏈変慨鏀瑰悓鏃朵慨鏀筭roup琛ㄦ渶鍚庝慨鏀规椂闂�
 			updateGroupUpdateTimeByList(exeGroupList);
 			
 			String exeItemHql = "select i from ExerciseGroupItemRe g, ExerciseItem i where g.exerciseItemId = i.exerciseId and g.exerciseGroupId in (:groupId)";
 			
 			List<ExerciseItem> exeItemList = this.findByComplexHql(exeItemHql, groupIdMap, ExerciseItem.class);
 			
-			//删除习题
+			//鍒犻櫎涔犻
 			if(exeItemList != null){
 				for(ExerciseItem item : exeItemList){
 					item.setDeleteFlag(true);
@@ -128,7 +128,7 @@
 	}
 	
 	/**
-	 * 所有练习修改操作需要同时修改group的updateTime
+	 * 鎵�鏈夌粌涔犱慨鏀规搷浣滈渶瑕佸悓鏃朵慨鏀筭roup鐨剈pdateTime
 	 * @param lstGroup
 	 */
 	private void updateGroupUpdateTimeByList(List<ExerciseGroup> lstGroup){
@@ -141,7 +141,7 @@
 	}
 	
 	/**
-	 * 增加评分标准   
+	 * 澧炲姞璇勫垎鏍囧噯   
 	 * @param exerciseId
 	 * @param type
 	 * @param lstScore
diff --git a/src/main/java/com/qxueyou/scc/exam/action/ExamBatchController.java b/src/main/java/com/qxueyou/scc/exam/action/ExamBatchController.java
index 1986b04..8e554b2 100644
--- a/src/main/java/com/qxueyou/scc/exam/action/ExamBatchController.java
+++ b/src/main/java/com/qxueyou/scc/exam/action/ExamBatchController.java
@@ -29,11 +29,11 @@
  * @history 2018-03-11 create kevin
  *
  */
-@Api(tags="考试批次管理接口")
+@Api(tags="鑰冭瘯鎵规绠$悊鎺ュ彛")
 @Controller
 @RequestMapping(value = "/exam/exambatch")
 public class ExamBatchController {
-	//分页查询中,默认记录条数和页数
+	//鍒嗛〉鏌ヨ涓紝榛樿璁板綍鏉℃暟鍜岄〉鏁�
 	private static final int DEFAULT_PAGE_SIZE=Integer.MAX_VALUE;
 	private static final int DEFAULT_PAGE_NUM=1;
 
@@ -48,21 +48,21 @@
 	IExamBatchService examBatchService;
 
 	/**
-	 * 考试批次列表
+	 * 鑰冭瘯鎵规鍒楄〃
 	 * */
-	@ApiOperation(value = "考试批次列表")
+	@ApiOperation(value = "鑰冭瘯鎵规鍒楄〃")
 	@ApiImplicitParams({
-		@ApiImplicitParam(name="examId", dataType="String", paramType="query", value="考试id", required=false),
+		@ApiImplicitParam(name="examId", dataType="String", paramType="query", value="鑰冭瘯id", required=false),
 	})
 	@RequestMapping(value = "/list", method = RequestMethod.GET)
 	public @ResponseBody Result pageList(String examId,Integer pageSize,Integer pageNum){
 		Result result = new Result(Boolean.TRUE);
 		Pager pager = new Pager();
-		// 查询记录数
+		// 鏌ヨ璁板綍鏁�
 		String hqlCount="from ExamBatchInfo where examId=? and deleteFlag is false";
 		int totalCount = commonDAO.findCount(hqlCount, CollectionUtils.newList(examId));
 
-        // page赋值
+        // page璧嬪��
         pager.setTotalCount(totalCount);
         pager.setPageSize(pageSize!=null&&pageSize>0?pageSize:DEFAULT_PAGE_SIZE);
         pager.setPageNum (pageNum!=null&&pageNum>0?pageNum:DEFAULT_PAGE_NUM);
@@ -75,7 +75,7 @@
 	}
 
 	/**
-	 * 详情页面数据
+	 * 璇︽儏椤甸潰鏁版嵁
 	 * @param examBatchId
 	 * @return
 	 */
@@ -86,7 +86,7 @@
 		return result;
 	}
 	/**
-	 * 获取批次
+	 * 鑾峰彇鎵规
 	 * @param
 	 * @return
 	 */
@@ -98,7 +98,7 @@
 		return result;
 	}
 	/**
-	 * 获取批次
+	 * 鑾峰彇鎵规
 	 * @param
 	 * @return
 	 */
@@ -110,7 +110,7 @@
 		return result;
 	}
 	/**
-	 * 获取批次
+	 * 鑾峰彇鎵规
 	 * @param
 	 * @return
 	 */
@@ -125,7 +125,7 @@
 
 
 	/**
-	 * 保存
+	 * 淇濆瓨
 	 * @param
 	 * @return
 	 */
@@ -143,7 +143,7 @@
 	}
 
 	/**
-	 * 删除
+	 * 鍒犻櫎
 	 * @param examBatchIds
 	 * @return
 	 */
diff --git a/src/main/java/com/qxueyou/scc/exam/action/ExamController.java b/src/main/java/com/qxueyou/scc/exam/action/ExamController.java
index 4f61ae9..43a1405 100644
--- a/src/main/java/com/qxueyou/scc/exam/action/ExamController.java
+++ b/src/main/java/com/qxueyou/scc/exam/action/ExamController.java
@@ -60,18 +60,18 @@
  * @history 2018-03-11 create kevin
  *
  */
-@Api(tags = "考试管理接口")
+@Api(tags = "鑰冭瘯绠$悊鎺ュ彛")
 @Controller
 @CrossOrigin(origins="*",maxAge=3600)
 @RequestMapping(value = "/exam/exam")
 public class ExamController {
 	private final Logger log = LogManager.getLogger(ExamController.class);
 
-	// 分页查询中,默认记录条数和页数
+	// 鍒嗛〉鏌ヨ涓紝榛樿璁板綍鏉℃暟鍜岄〉鏁�
 	private static final int DEFAULT_PAGE_SIZE = 10;
 	private static final int DEFAULT_PAGE_NUM = 1;
 
-	//生成密码长度
+	//鐢熸垚瀵嗙爜闀垮害
 	private static final int EXAM_CERT_PWD_LENGTH = 8;
 
 	@Autowired
@@ -103,14 +103,14 @@
 	IClassService classService;
 
 	/**
-	 * 考试列表
+	 * 鑰冭瘯鍒楄〃
 	 */
 	@SuppressWarnings("unchecked")
 	@RequestMapping(value = "list", method = RequestMethod.GET)
 	public @ResponseBody Result list(String keyword,String classId,String subjectId,Short status,Integer pageSize,Integer pageNum) {
 		pageSize = pageSize != null && pageSize > 0 ? pageSize : DEFAULT_PAGE_SIZE;
 		pageNum = pageNum != null && pageNum > 0 ? pageNum : DEFAULT_PAGE_NUM;
-		//总考试数量
+		//鎬昏�冭瘯鏁伴噺
 		int totalCount = examService.listCount(keyword == null ? "" : keyword.trim(),classId,subjectId,status);
 		Pager pager = new Pager(pageSize,pageNum);
 		pager.setTotalCount(totalCount);
@@ -125,7 +125,7 @@
 
 
 		if(listResult!=null && listResult.size()>0){
-			//查询待批阅,已批阅,未提交数量
+			//鏌ヨ寰呮壒闃咃紝宸叉壒闃咃紝鏈彁浜ゆ暟閲�
 			Map<String,Integer> countMap = examService.queryExamResultStatusCount(QBeanUtils.listPropertyVal(list, "examId"));
 			countMap = countMap==null?new HashMap<String,Integer>(1):countMap;
 			Integer tempCount = null;
@@ -164,13 +164,13 @@
 	private String getExamProgressStatus(List<ExamBatchInfo> lstBatchInfos){
 
 		if(lstBatchInfos == null ||lstBatchInfos.size()==0){
-			return "已结束";
+			return "宸茬粨鏉�";
 		}
 
-		String progressStatus="待开始";
+		String progressStatus="寰呭紑濮�";
 		Date now = new Date();
 
-		//根据开始时间倒序
+		//鏍规嵁寮�濮嬫椂闂村�掑簭
 		lstBatchInfos.sort(new Comparator<ExamBatchInfo>(){
 			@Override
 			public int compare(ExamBatchInfo o1, ExamBatchInfo o2) {
@@ -178,13 +178,13 @@
 			}
 		});
 
-			//如果所有批次都小于当前时间,则已结束,如果有一个批次正在进行中,则进行中
+			//濡傛灉鎵�鏈夋壒娆¢兘灏忎簬褰撳墠鏃堕棿锛屽垯宸茬粨鏉燂紝濡傛灉鏈変竴涓壒娆℃鍦ㄨ繘琛屼腑锛屽垯杩涜涓�
 		if(lstBatchInfos.get(0).getEndTime().getTime()<now.getTime()){
-			progressStatus="已结束";
+			progressStatus="宸茬粨鏉�";
 		}else{
 			for(ExamBatchInfo f : lstBatchInfos){
 				if(f.getStartTime().getTime()<=now.getTime() && f.getEndTime().getTime()>=now.getTime()){
-					progressStatus = "进行中";
+					progressStatus = "杩涜涓�";
 					break;
 				}
 			}
@@ -194,22 +194,22 @@
 
 
 	/**
-	 * 教师查看考试成绩列表
+	 * 鏁欏笀鏌ョ湅鑰冭瘯鎴愮哗鍒楄〃
 	 *
 	 * @return
 	 */
-	@ApiOperation(value = "老师查看学生考试结果列表")
+	@ApiOperation(value = "鑰佸笀鏌ョ湅瀛︾敓鑰冭瘯缁撴灉鍒楄〃")
 	@ApiImplicitParams({
-		@ApiImplicitParam(name="examId", dataType="String", paramType="query", value="考试id", required=true),
-		@ApiImplicitParam(name="examBatchId", dataType="String", paramType="query", value="批次id", required=true),
-		@ApiImplicitParam(name="classId", dataType="String", paramType="query", value="班级id", required=true),
+		@ApiImplicitParam(name="examId", dataType="String", paramType="query", value="鑰冭瘯id", required=true),
+		@ApiImplicitParam(name="examBatchId", dataType="String", paramType="query", value="鎵规id", required=true),
+		@ApiImplicitParam(name="classId", dataType="String", paramType="query", value="鐝骇id", required=true),
 	})
 	@RequestMapping(value = "teacher/examresultlist", method = RequestMethod.GET)
 	public @ResponseBody Result queryStudentExamResultList(String examId, String examBatchId, String classId,String keyword, Integer pageSize, Integer pageNum) {
 		pageSize = pageSize != null && pageSize > 0 ? pageSize : DEFAULT_PAGE_SIZE;
 		pageNum = pageNum != null && pageNum > 0 ? pageNum : DEFAULT_PAGE_NUM;
 
-		//总考试数量
+		//鎬昏�冭瘯鏁伴噺
 		int totalCount = examService.listResultCount(examId,
 					StringUtils.isEmpty(examBatchId)?null:new String[]{examBatchId}, classId, keyword == null ? "" : keyword.trim());
 
@@ -229,7 +229,7 @@
 		for(Map<String, Object>  map:listResult){
 			map.put("rank", rank);
 			map.put("isPass", (map.get("studentScore")==null ? BigDecimal.ZERO :(BigDecimal)map.get("studentScore"))
-					.compareTo((BigDecimal)map.get("passingScore")) == -1 ? "否" : "是");
+					.compareTo((BigDecimal)map.get("passingScore")) == -1 ? "鍚�" : "鏄�");
 			rank++;
 		}
 
@@ -237,23 +237,23 @@
 	}
 
 	/**
-	 * 详情页面数据
+	 * 璇︽儏椤甸潰鏁版嵁
 	 *
 	 * @param examId
 	 * @return
 	 */
-	@ApiOperation(value = "详情页面数据")
+	@ApiOperation(value = "璇︽儏椤甸潰鏁版嵁")
 	@ApiImplicitParams({
-		@ApiImplicitParam(name="examId", dataType="String", paramType="query", value="考试id", required=true),
+		@ApiImplicitParam(name="examId", dataType="String", paramType="query", value="鑰冭瘯id", required=true),
 	})
 	@RequestMapping(value = "/detail", method = RequestMethod.GET)
 	public @ResponseBody Result detail(String examId) {
 		return new Result(true,"",CollectionUtils.newObjectMap("detail",examService.queryExamDetail(examId)));
 	}
 
-	@ApiOperation(value = "获取补考考试,根据maxLateMin标记")
+	@ApiOperation(value = "鑾峰彇琛ヨ�冭�冭瘯锛屾牴鎹甿axLateMin鏍囪")
 	@ApiImplicitParams({
-//		@ApiImplicitParam(name="examId", dataType="String", paramType="query", value="考试id", required=true),
+//		@ApiImplicitParam(name="examId", dataType="String", paramType="query", value="鑰冭瘯id", required=true),
 	})
 	@RequestMapping(value = "/getReExam", method = RequestMethod.GET)
 	public @ResponseBody Result getReExam() {
@@ -261,7 +261,7 @@
 	}
 
 	/**
-	 * 保存
+	 * 淇濆瓨
 	 *
 	 * @param examInfo
 	 * @return
@@ -280,20 +280,20 @@
 	}
 
 	/**
-	 * 保存
+	 * 淇濆瓨
 	 * @param
 	 * @return
 	 */
 	@RequestMapping(value = "/saveRemedy", method = RequestMethod.POST)
 	public @ResponseBody Result saveRemedy(@RequestBody ExamBatchInfo examBatchInfo) {
 		Result result = null;
-		//获取考试ID
+		//鑾峰彇鑰冭瘯ID
 		String examId = examBatchInfo.getExamId();
-		//获取开始时间
+		//鑾峰彇寮�濮嬫椂闂�
 		Date startTime = examBatchInfo.getStartTime();
-		//获取结束时间
+		//鑾峰彇缁撴潫鏃堕棿
 		Date endTime = examBatchInfo.getEndTime();
-		//生成补考考试
+		//鐢熸垚琛ヨ�冭�冭瘯
 			examService.addRemedy(examId,startTime,endTime);
 			result = new Result(true,"",CollectionUtils.newObjectMap("examId", examId));
 
@@ -301,13 +301,13 @@
 	}
 
 	/**
-	 * 删除
+	 * 鍒犻櫎
 	 *
 	 * @param examIds
 	 * @return
 	 */
-	@ApiOperation(value = "删除考试", notes = "根据传入的考试ID字符串参数进行删除(多个ID以逗号分割, 如:examId1,examId2)", httpMethod = "GET")
-	@ApiImplicitParam(name = "examIds", value = "考试ID字符串", required = true, dataType = "String", paramType = "body")
+	@ApiOperation(value = "鍒犻櫎鑰冭瘯", notes = "鏍规嵁浼犲叆鐨勮�冭瘯ID瀛楃涓插弬鏁拌繘琛屽垹闄�(澶氫釜ID浠ラ�楀彿鍒嗗壊锛� 濡傦細examId1,examId2)", httpMethod = "GET")
+	@ApiImplicitParam(name = "examIds", value = "鑰冭瘯ID瀛楃涓�", required = true, dataType = "String", paramType = "body")
 	@RequestMapping(value = "delete", method = RequestMethod.GET)
 	public @ResponseBody Result delete(String examIds) {
 		Result result = new Result(true);
@@ -318,7 +318,7 @@
 	}
 
    /**
-	 * 设置考试题目
+	 * 璁剧疆鑰冭瘯棰樼洰
 	 *
 	 * @param examInfo
 	 * @return
@@ -329,7 +329,7 @@
 	}
 
 	/**
-	 * 发布考试
+	 * 鍙戝竷鑰冭瘯
 	 *
 	 * @param
 	 * @return
@@ -337,13 +337,13 @@
 	@RequestMapping(value = "/publish", method = RequestMethod.GET)
 	public @ResponseBody Result publishExam(String examIds) {
 		if (StringUtils.isEmpty(examIds)) {
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
 		return this.examService.doPublishExam(examIds.split(","));
 	}
 
 	/**
-	 * 撤回考试
+	 * 鎾ゅ洖鑰冭瘯
 	 *
 	 * @param
 	 * @return
@@ -351,22 +351,22 @@
 	@RequestMapping(value = "/revoke", method = RequestMethod.GET)
 	public @ResponseBody Result revokeExam(String examIds) {
 		if (StringUtils.isEmpty(examIds)) {
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
 		return this.examService.doRevokeExam(examIds.split(","));
 	}
 
 	/**
-	 * 学生考试信息列表
+	 * 瀛︾敓鑰冭瘯淇℃伅鍒楄〃
 	 *
 	 * @return
 	 */
-	@ApiOperation(value = "学生考试信息列表")
+	@ApiOperation(value = "瀛︾敓鑰冭瘯淇℃伅鍒楄〃")
 	@ApiImplicitParams({
-		@ApiImplicitParam(name="keyword", dataType="String", paramType="query", value="关键字考试名称模糊查询"),
-		@ApiImplicitParam(name="classId", dataType="String", paramType="query", value="班级id"),
-		@ApiImplicitParam(name="subjectId", dataType="String", paramType="query", value="课程id", required=false),
-		@ApiImplicitParam(name="status", dataType="String", paramType="query", value="状态(默认全部,1未开始,2未交卷,3已交卷,4逾期未交,5已批阅)", required=false),
+		@ApiImplicitParam(name="keyword", dataType="String", paramType="query", value="鍏抽敭瀛楄�冭瘯鍚嶇О妯$硦鏌ヨ"),
+		@ApiImplicitParam(name="classId", dataType="String", paramType="query", value="鐝骇id"),
+		@ApiImplicitParam(name="subjectId", dataType="String", paramType="query", value="璇剧▼id", required=false),
+		@ApiImplicitParam(name="status", dataType="String", paramType="query", value="鐘舵�侊紙榛樿鍏ㄩ儴锛�1鏈紑濮嬶紝2鏈氦鍗凤紝3宸蹭氦鍗凤紝4閫炬湡鏈氦,5宸叉壒闃咃級", required=false),
 	})
 	@RequestMapping(value = "/student/list", method = RequestMethod.GET)
 	public @ResponseBody Result queryStudentExamList(String keyword, String classId, String subjectId, Integer status, Integer pageSize, Integer pageNum) {
@@ -402,17 +402,17 @@
 		return new Result(true,"",CollectionUtils.newObjectMap("stuExams",listResult,"examCount",totalCount));
 	}
 	/**
-	 * 学生考试信息列表
+	 * 瀛︾敓鑰冭瘯淇℃伅鍒楄〃
 	 *
 	 * @return
 	 */
-	@ApiOperation(value = "学生考试信息列表")
+	@ApiOperation(value = "瀛︾敓鑰冭瘯淇℃伅鍒楄〃")
 	@ApiImplicitParams({
-		@ApiImplicitParam(name="classId", dataType="String", paramType="query", value="班级id"),
+		@ApiImplicitParam(name="classId", dataType="String", paramType="query", value="鐝骇id"),
 	})
 	@RequestMapping(value = "/student/nowExam", method = RequestMethod.GET)
 	public @ResponseBody Result queryStudentExam(String classId) {
-		//获取当前考试列表以结束时间排序最新的在最前面
+		//鑾峰彇褰撳墠鑰冭瘯鍒楄〃浠ョ粨鏉熸椂闂存帓搴忔渶鏂扮殑鍦ㄦ渶鍓嶉潰
 		String [] classIds= null;
 		if(!StringUtils.isEmpty(classId)){
 			classIds = new String[]{classId};
@@ -437,14 +437,14 @@
 		return new Result(true,"",CollectionUtils.newObjectMap("stuExams",listResult!=null && listResult.size()>0?listResult.get(0):null));
 	}
 
-	@ApiOperation(value = "学生考试信息列表")
+	@ApiOperation(value = "瀛︾敓鑰冭瘯淇℃伅鍒楄〃")
 	@ApiImplicitParams({
-		@ApiImplicitParam(name="examBatchId", dataType="String", paramType="query", value="班级id"),
-		@ApiImplicitParam(name="classId", dataType="String", paramType="query", value="班级id")
+		@ApiImplicitParam(name="examBatchId", dataType="String", paramType="query", value="鐝骇id"),
+		@ApiImplicitParam(name="classId", dataType="String", paramType="query", value="鐝骇id")
 	})
 	@RequestMapping(value = "/student/record", method = RequestMethod.GET)
 	public @ResponseBody Result queryStudentRecord(String examBatchId, String classId) {
-		// 查询是否有进行中的考试
+		// 鏌ヨ鏄惁鏈夎繘琛屼腑鐨勮�冭瘯
 		ExerciseRecord record = commonDAO.findUnique(
 				"from ExerciseRecord where examBatchId=? and classId=? and userId = ? and deleteFlag is false ",
 				CollectionUtils.newList(examBatchId,classId,ClientUtils.getUserId()),
@@ -454,13 +454,13 @@
 	}
 
 	/**
-	 * 学生考试信息列表
+	 * 瀛︾敓鑰冭瘯淇℃伅鍒楄〃
 	 *
 	 * @return
 	 */
-	@ApiOperation(value = "学生考试信息列表")
+	@ApiOperation(value = "瀛︾敓鑰冭瘯淇℃伅鍒楄〃")
 	@ApiImplicitParams({
-		@ApiImplicitParam(name="classId", dataType="String", paramType="query", value="班级id"),
+		@ApiImplicitParam(name="classId", dataType="String", paramType="query", value="鐝骇id"),
 	})
 	@RequestMapping(value = "/student/stuMessage", method = RequestMethod.GET)
 	public @ResponseBody Result queryStudent() {
@@ -469,21 +469,21 @@
 	}
 
 	/**
-	 * 根据考试批次ID获取考试题目信息
+	 * 鏍规嵁鑰冭瘯鎵规ID鑾峰彇鑰冭瘯棰樼洰淇℃伅
 	 *
 	 * @param examBatchId
 	 * @return
 	 */
-	@ApiOperation(value = "学生开始考试接口")
+	@ApiOperation(value = "瀛︾敓寮�濮嬭�冭瘯鎺ュ彛")
 	@ApiImplicitParams({
-		@ApiImplicitParam(name="examBatchId", dataType="String", paramType="query", value="考试批次id", required=true),
-		@ApiImplicitParam(name="classId", dataType="String", paramType="query", value="班级id", required=false)
+		@ApiImplicitParam(name="examBatchId", dataType="String", paramType="query", value="鑰冭瘯鎵规id", required=true),
+		@ApiImplicitParam(name="classId", dataType="String", paramType="query", value="鐝骇id", required=false)
 	})
 	@RequestMapping(value = "/student/startexam", method = RequestMethod.GET)
 	public @ResponseBody Result doStartExam(String examBatchId, String classId,String studentUserId) {
 
 		if (StringUtils.isEmpty(examBatchId) || StringUtils.isEmpty(classId)) {
-			return new Result(false, "参数错误,班级,考试批次不能为空");
+			return new Result(false, "鍙傛暟閿欒,鐝骇锛岃�冭瘯鎵规涓嶈兘涓虹┖");
 		}
 
 		Result result = this.examService.doStartExam(examBatchId,classId,StringUtils.isNotEmpty(studentUserId)?studentUserId:ClientUtils.getUserId());
@@ -496,9 +496,9 @@
 
 		return result;
 	}
-	@ApiOperation(value = "学生开始补考接口")
+	@ApiOperation(value = "瀛︾敓寮�濮嬭ˉ鑰冩帴鍙�")
 	@ApiImplicitParams({
-		@ApiImplicitParam(name="examId", dataType="String", paramType="query", value="考试批次id", required=true),
+		@ApiImplicitParam(name="examId", dataType="String", paramType="query", value="鑰冭瘯鎵规id", required=true),
 	})
 	@RequestMapping(value = "/student/startReExam", method = RequestMethod.GET)
 	public @ResponseBody Result doStartReExam(String examId) {
@@ -511,9 +511,9 @@
 		}
 		return result;
 	}
-	@ApiOperation(value = "学生补考记录")
+	@ApiOperation(value = "瀛︾敓琛ヨ�冭褰�")
 	@ApiImplicitParams({
-//		@ApiImplicitParam(name="examId", dataType="String", paramType="query", value="考试批次id", required=true),
+//		@ApiImplicitParam(name="examId", dataType="String", paramType="query", value="鑰冭瘯鎵规id", required=true),
 	})
 	@RequestMapping(value = "/student/getReExamRecordList", method = RequestMethod.GET)
 	public @ResponseBody Result getReExamRecordList() {
@@ -526,20 +526,20 @@
 			});
 			return reExamRecordList;
 		}
-		return new Result(false,"没有设置补考");
+		return new Result(false,"娌℃湁璁剧疆琛ヨ��");
 	}
 
-	@ApiOperation(value = "学生考试详情")
-	@ApiImplicitParams({@ApiImplicitParam(name="examBatchId", dataType="String", paramType="query", value="考试批次id", required=true)})
+	@ApiOperation(value = "瀛︾敓鑰冭瘯璇︽儏")
+	@ApiImplicitParams({@ApiImplicitParam(name="examBatchId", dataType="String", paramType="query", value="鑰冭瘯鎵规id", required=true)})
 	@RequestMapping(value = "/student/examdetail", method = RequestMethod.GET)
 	public @ResponseBody Result viewExamDetail(String examBatchId) {
 		ExamBatchInfo batchInfo = this.commonService.read(ExamBatchInfo.class, examBatchId);
-		//考试信息
+		//鑰冭瘯淇℃伅
 		ExamInfo examInfo =this.examService.queryExamDetail(batchInfo.getExamId());
 		examInfo.setExamStartTime(batchInfo.getStartTime());
 		examInfo.setExamEndTime(batchInfo.getEndTime());
 
-		// 获取考卷信息
+		// 鑾峰彇鑰冨嵎淇℃伅
 		Map<String, ExamPaperInfo> paperStatistic  =null;
 		if(examInfo.getExamType()!=ExamInfo.EXAM_TYPE_RANDOM && examInfo.getExamType()!=ExamInfo.EXAM_TYPE_RANDOM_BY_GROUP){
 			paperStatistic = examPaperService.queryExamPaperItemsStatistic(
@@ -548,55 +548,55 @@
 		return new Result(true,"",CollectionUtils.newObjectMap("examInfo",examInfo,"paperStatistic",paperStatistic));
 	}
 
-	@ApiOperation(value = "提交考试答案")
-	@ApiImplicitParams({@ApiImplicitParam(name="answers", dataType="String", paramType="query", value="提交答案", required=true)})
+	@ApiOperation(value = "鎻愪氦鑰冭瘯绛旀")
+	@ApiImplicitParams({@ApiImplicitParam(name="answers", dataType="String", paramType="query", value="鎻愪氦绛旀", required=true)})
 	@RequestMapping(value = "/student/submitExam", method = RequestMethod.POST)
 	public @ResponseBody Object doSubmitExamAnswer(@RequestParam(value = "answers") String answers) throws IOException {
 		Result result = new Result(true);
-		// 用户本次做题提交的数据
+		// 鐢ㄦ埛鏈鍋氶鎻愪氦鐨勬暟鎹�
 		String recordId =null;
 //		try {
 			ExerciseSubmitAnswerData answerData = new ObjectMapper().readValue(answers, ExerciseSubmitAnswerData.class);
 			recordId = answerData.getExerciseRecordId();
-			// 提交试卷答案
-			result = new Result(true, "答案提交成功",exerciseVerService.doOperExerciseAnswerData(answerData));
-			// 记录提交的数据日志
+			// 鎻愪氦璇曞嵎绛旀
+			result = new Result(true, "绛旀鎻愪氦鎴愬姛",exerciseVerService.doOperExerciseAnswerData(answerData));
+			// 璁板綍鎻愪氦鐨勬暟鎹棩蹇�
 			exerciseVerService.doSaveExerciseDataSubmitLog(answers, recordId,ExerciseDataSubmitLog.TYPE_SUBMIT_ANSWER, ExerciseDataSubmitLog.STATUS_SUCCESS,"/exercise/Exercise/exerAnswers");
 //		} catch (Exception e) {
-//			log.error("考试保存错误", e);
-//			result = new Result(false, "提交考试答案请求异常");
+//			log.error("鑰冭瘯淇濆瓨閿欒", e);
+//			result = new Result(false, "鎻愪氦鑰冭瘯绛旀璇锋眰寮傚父");
 //			exerciseVerService.doSaveExerciseDataSubmitLog(answers, recordId,ExerciseDataSubmitLog.TYPE_SUBMIT_ANSWER, ExerciseDataSubmitLog.STATUS_FAILED,"/exercise/Exercise/exerAnswers");
 //		}
 		return result;
 	}
 
-	@ApiOperation(value = "老师阅卷")
-	@ApiImplicitParams({@ApiImplicitParam(name="answerData", dataType="object", paramType="query", value="提交答案", required=true)})
+	@ApiOperation(value = "鑰佸笀闃呭嵎")
+	@ApiImplicitParams({@ApiImplicitParam(name="answerData", dataType="object", paramType="query", value="鎻愪氦绛旀", required=true)})
 	@RequestMapping(value = "/teacher/checkExam", method = RequestMethod.POST)
 	public @ResponseBody Object doCheckExam(@RequestBody ExerciseSubmitAnswerData answerData) {
 		Result result = new Result(true);
 		String recordId = null;
 		try {
-			// 提交记录id
+			// 鎻愪氦璁板綍id
 			recordId = answerData.getExerciseRecordId();
-			// 提交试卷答案
-			result = new Result(true, "答案提交成功",exerciseVerService.doOperExerciseAnswerData(answerData));
-			// 记录提交的数据日志
+			// 鎻愪氦璇曞嵎绛旀
+			result = new Result(true, "绛旀鎻愪氦鎴愬姛",exerciseVerService.doOperExerciseAnswerData(answerData));
+			// 璁板綍鎻愪氦鐨勬暟鎹棩蹇�
 			exerciseVerService.doSaveExerciseDataSubmitLog(JSON.toJSONString(answerData),recordId,ExerciseDataSubmitLog.TYPE_SUBMIT_ANSWER, ExerciseDataSubmitLog.STATUS_SUCCESS,"/exam/exam/teacher/checkExam");
 		} catch (Exception e) {
-			log.error("考试保存错误", e);
-			result = new Result(false, "提交练习答案请求异常");
+			log.error("鑰冭瘯淇濆瓨閿欒", e);
+			result = new Result(false, "鎻愪氦缁冧範绛旀璇锋眰寮傚父");
 			exerciseVerService.doSaveExerciseDataSubmitLog(JSON.toJSONString(answerData),recordId,ExerciseDataSubmitLog.TYPE_SUBMIT_ANSWER, ExerciseDataSubmitLog.STATUS_FAILED,"/exam/exam/teacher/checkExam");
 		}
 		return result;
 	}
 
 	/**
-	 * 查询考试凭证信息列表
+	 * 鏌ヨ鑰冭瘯鍑瘉淇℃伅鍒楄〃
 	 *
 	 * @return
 	 */
-	@ApiOperation(value = "查询学生考试凭证")
+	@ApiOperation(value = "鏌ヨ瀛︾敓鑰冭瘯鍑瘉")
 	@RequestMapping(value = "/teacher/examacertificatelist", method = RequestMethod.GET)
 	public @ResponseBody Result queryStudentExamCertificateList(String examId, String classId, String examBatchId,
 			String keyword, Integer pageSize, Integer pageNum) {
@@ -604,7 +604,7 @@
 		StringBuffer hql = new StringBuffer(500);
 		hql.append("select r.classId from  ExamBatchInfo f,ExamBatchClassRe r where f.examBatchId = r.examBatchId and f.deleteFlag is false and r.deleteFlag is false ");
 
-		// 如果examBatchId为空,则获取考试对应的所有批次
+		// 濡傛灉examBatchId涓虹┖锛屽垯鑾峰彇鑰冭瘯瀵瑰簲鐨勬墍鏈夋壒娆�
 		if (StringUtils.isNotEmpty(examBatchId)) {
 			hql.append(" and f.examBatchId=:examBatchId");
 			queryParams.put("examBatchId", examBatchId);
@@ -614,16 +614,16 @@
 		}
 
 		List<String> classLst =this.commonDAO.findByComplexHql(hql.toString(), queryParams, String.class);
-		//如果不存在关联的班级信息,则直接返回
+		//濡傛灉涓嶅瓨鍦ㄥ叧鑱旂殑鐝骇淇℃伅锛屽垯鐩存帴杩斿洖
 		if (classLst == null || classLst.size() == 0) {
-			return new Result(false,"无班级考生信息",CollectionUtils.newObjectMap("list",null));
+			return new Result(false,"鏃犵彮绾ц�冪敓淇℃伅",CollectionUtils.newObjectMap("list",null));
 		}
 
-		// 查询记录数
+		// 鏌ヨ璁板綍鏁�
 		int totalCount = commonDAO.findCountByComplexHql("from StuStudent t WHERE t.classId in(:classIds) and t.deleteFlag is false",
 				CollectionUtils.newObjectMap("classIds",classLst.toArray(new String[]{})));
 
-		// page赋值
+		// page璧嬪��
 		Pager page = new Pager();
 		page.setTotalCount(totalCount);
 		page.setPageSize(pageSize != null && pageSize > 0 ? pageSize : DEFAULT_PAGE_SIZE);
@@ -638,16 +638,16 @@
 	}
 
 	/**
-	 * 学生考试信息列表
+	 * 瀛︾敓鑰冭瘯淇℃伅鍒楄〃
 	 *
 	 * @return
 	 */
-	@ApiOperation(value = "生成学生考试凭证")
+	@ApiOperation(value = "鐢熸垚瀛︾敓鑰冭瘯鍑瘉")
 	@RequestMapping(value = "/teacher/genstudentacertificate", method = RequestMethod.GET)
 	public @ResponseBody Result queryStudentExamCertificateList(String examId, String examBatchId) {
 		Map<String, Object> queryParams = new HashMap<String, Object>(1);
 
-		// 如果examBatchId为空,则获取考试对应的所有批次
+		// 濡傛灉examBatchId涓虹┖锛屽垯鑾峰彇鑰冭瘯瀵瑰簲鐨勬墍鏈夋壒娆�
 		String hql ="select distinct r.classId from  ExamBatchInfo f,ExamBatchClassRe r where f.examBatchId = r.examBatchId  and f.deleteFlag is false and r.deleteFlag is false";
 
 		if (StringUtils.isNotEmpty(examBatchId)) {
@@ -660,12 +660,12 @@
 
 		List<String> classLst =this.commonDAO.findByComplexHql(hql, queryParams, String.class);
 
-		//如果不存在关联的班级信息,则直接返回
+		//濡傛灉涓嶅瓨鍦ㄥ叧鑱旂殑鐝骇淇℃伅锛屽垯鐩存帴杩斿洖
 		if (classLst == null || classLst.size() == 0) {
-			return new Result(false, "无班级考生信息",CollectionUtils.newObjectMap("list", null));
+			return new Result(false, "鏃犵彮绾ц�冪敓淇℃伅",CollectionUtils.newObjectMap("list", null));
 		}
 
-		//查询所有学生用户信息
+		//鏌ヨ鎵�鏈夊鐢熺敤鎴蜂俊鎭�
 		List<User> lstUser = this.commonDAO.findByComplexHql(
 				"select distinct u from StuStudent t,User u WHERE t.userId=u.userId AND t.classId in(:classIds) and t.deleteFlag is false and u.deleteFlag is false",
 				CollectionUtils.newObjectMap("classIds",classLst.toArray(new String[]{})),User.class);
@@ -677,7 +677,7 @@
 		}
 
 		if(!this.userService.doBatchUpdateUser(lstUser)){
-			return new Result(false,"更新学生考试凭证密码失败!");
+			return new Result(false,"鏇存柊瀛︾敓鑰冭瘯鍑瘉瀵嗙爜澶辫触!");
 		}
 
 		return new Result(true);
diff --git a/src/main/java/com/qxueyou/scc/exam/action/ExamPaperController.java b/src/main/java/com/qxueyou/scc/exam/action/ExamPaperController.java
index 8021f1f..7e68cb0 100644
--- a/src/main/java/com/qxueyou/scc/exam/action/ExamPaperController.java
+++ b/src/main/java/com/qxueyou/scc/exam/action/ExamPaperController.java
@@ -33,11 +33,11 @@
  * @history 2018-03-11 create kevin
  * 
  */
-@Api(tags="试卷管理接口")
+@Api(tags="璇曞嵎绠$悊鎺ュ彛")
 @Controller
 @RequestMapping(value = "/exam/paper")
 public class ExamPaperController {
-	//分页查询中,默认记录条数和页数
+	//鍒嗛〉鏌ヨ涓紝榛樿璁板綍鏉℃暟鍜岄〉鏁�
 	private static final int DEFAULT_PAGE_SIZE=Integer.MAX_VALUE;
 	private static final int DEFAULT_PAGE_NUM=1;
 	
@@ -56,14 +56,14 @@
 	
 	
 	/**
-	 * 试卷列表
+	 * 璇曞嵎鍒楄〃
 	 * */
 	@RequestMapping(value = "/list", method = RequestMethod.GET)
 	public @ResponseBody Result pageList(String keyword,Short status, Integer pageSize,Integer pageNum){
 		Result result = new Result(Boolean.TRUE);
 		Pager pager = new Pager();
 		List<Object> queryParamLst = null;
-		// 查询记录数
+		// 鏌ヨ璁板綍鏁�
 		String hqlCount="from ExamPaperInfo where createId=? and examPaperName like ?  and deleteFlag is false";
 		if(status!=null){
 			hqlCount = hqlCount.concat(" and paperStatus = ?");
@@ -73,7 +73,7 @@
 		}
 		int totalCount = commonDAO.findCount(hqlCount,queryParamLst);
         
-        // page赋值
+        // page璧嬪��
         pager.setTotalCount(totalCount);
         pager.setPageSize(pageSize!=null&&pageSize>0?pageSize:DEFAULT_PAGE_SIZE);
         pager.setPageNum (pageNum!=null&&pageNum>0?pageNum:DEFAULT_PAGE_NUM);
@@ -99,7 +99,7 @@
 	}
 	
 	/**
-	 * 详情页面数据
+	 * 璇︽儏椤甸潰鏁版嵁
 	 * @param examPaperId
 	 * @return
 	 */
@@ -111,7 +111,7 @@
 	}
 	
 	/**
-	 * 保存
+	 * 淇濆瓨
 	 * 
 	 * @param examInfo
 	 * @return
@@ -129,7 +129,7 @@
 	}
 	
 	/**
-	 * 删除
+	 * 鍒犻櫎
 	 * @param examPaperIds
 	 * @return
 	 */
@@ -178,7 +178,7 @@
 	
 	
 	/**
-	 * 发布试卷
+	 * 鍙戝竷璇曞嵎
 	 * 
 	 * @param exerciseIds
 	 * @return
@@ -186,13 +186,13 @@
 	@RequestMapping(value = "/publish", method = RequestMethod.GET)
 	public @ResponseBody Result publishExamPaper(String examPaperIds) {
 		if (StringUtils.isEmpty(examPaperIds)) {
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
 		return this.examPaperService.doPublishExamPaper(examPaperIds.split(","));
 	}
 
 	/**
-	 * 撤回试卷
+	 * 鎾ゅ洖璇曞嵎
 	 * 
 	 * @param exerciseIds
 	 * @return
@@ -200,7 +200,7 @@
 	@RequestMapping(value = "/revoke", method = RequestMethod.GET)
 	public @ResponseBody Result revokeExamPaper(String examPaperIds) {
 		if (StringUtils.isEmpty(examPaperIds)) {
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
 		return this.examPaperService.doRevokeExamPaper(examPaperIds.split(","));
 	}
diff --git a/src/main/java/com/qxueyou/scc/exam/action/ExamPaperSectionController.java b/src/main/java/com/qxueyou/scc/exam/action/ExamPaperSectionController.java
index ab0bb79..054b567 100644
--- a/src/main/java/com/qxueyou/scc/exam/action/ExamPaperSectionController.java
+++ b/src/main/java/com/qxueyou/scc/exam/action/ExamPaperSectionController.java
@@ -30,11 +30,11 @@
  * @author kevin
  * @history 2018-03-11 create kevin
  */
-@Api(tags = "试卷部分管理接口")
+@Api(tags = "璇曞嵎閮ㄥ垎绠$悊鎺ュ彛")
 @Controller
 @RequestMapping(value = "/exam/papersection")
 public class ExamPaperSectionController {
-    //分页查询中,默认记录条数和页数
+    //鍒嗛〉鏌ヨ涓紝榛樿璁板綍鏉℃暟鍜岄〉鏁�
     private static final int DEFAULT_PAGE_SIZE = Integer.MAX_VALUE;
     private static final int DEFAULT_PAGE_NUM = 1;
 
@@ -52,18 +52,18 @@
     IExerciseGroupService exerciseGroupService;
 
     /**
-     * 试卷部分列表
+     * 璇曞嵎閮ㄥ垎鍒楄〃
      */
     @RequestMapping(value = "/list", method = RequestMethod.GET)
     public @ResponseBody
     Result pageList(String examPaperId, Integer pageSize, Integer pageNum) {
         Result result = new Result(Boolean.TRUE);
         Pager pager = new Pager();
-        // 查询记录数
+        // 鏌ヨ璁板綍鏁�
         String hqlCount = "from ExamPaperSectionInfo where examPaperId=? and deleteFlag is false";
         int totalCount = commonDAO.findCount(hqlCount, CollectionUtils.newList(examPaperId));
 
-        // page赋值
+        // page璧嬪��
         pager.setTotalCount(totalCount);
         pager.setPageSize(pageSize != null && pageSize > 0 ? pageSize : DEFAULT_PAGE_SIZE);
         pager.setPageNum(pageNum != null && pageNum > 0 ? pageNum : DEFAULT_PAGE_NUM);
@@ -76,7 +76,7 @@
     }
 
     /**
-     * 详情
+     * 璇︽儏
      *
      * @param examPaperSectionId
      * @return
@@ -90,7 +90,7 @@
     }
 
     /**
-     * 保存
+     * 淇濆瓨
      *
      * @param examPaperSectionInfo
      * @return
@@ -110,7 +110,7 @@
     }
 
     /**
-     * 删除
+     * 鍒犻櫎
      *
      * @param examPaperSectionIds
      * @return
@@ -126,7 +126,7 @@
     }
 
     /**
-     * 设置题库
+     * 璁剧疆棰樺簱
      *
      * @param examPaperSectionInfo
      * @return
@@ -137,7 +137,7 @@
     public @ResponseBody
     Result saveSectionGroup(String sectionId, String selectedGroupIds, String selectedItemTypes) throws Exception {
         if (StringUtils.isEmpty(sectionId) || StringUtils.isEmpty(selectedGroupIds) || StringUtils.isEmpty(selectedItemTypes)) {
-            return new Result(false, "请求参数错误!");
+            return new Result(false, "璇锋眰鍙傛暟閿欒!");
         }
 
         String[] arrGroupIds = selectedGroupIds.split(",");
@@ -152,7 +152,7 @@
     }
 
     /**
-     * 自主选题
+     * 鑷富閫夐
      *
      * @param examPaperSectionInfo
      * @return
@@ -162,7 +162,7 @@
     public @ResponseBody
     Result saveSectionSeletedItems(String sectionId, String sourceGroupId, String selectedItemIds) throws Exception {
         if (StringUtils.isEmpty(sectionId) || StringUtils.isEmpty(sourceGroupId) || StringUtils.isEmpty(selectedItemIds)) {
-            return new Result(false, "请求参数错误!");
+            return new Result(false, "璇锋眰鍙傛暟閿欒!");
         }
 
         String[] arrItemIds = selectedItemIds.split(",");
@@ -170,7 +170,7 @@
     }
 
     /**
-     * 交换题目顺序
+     * 浜ゆ崲棰樼洰椤哄簭
      *
      * @param examPaperSectionInfo
      * @return
@@ -183,7 +183,7 @@
     }
 
     /**
-     * 删除题目
+     * 鍒犻櫎棰樼洰
      *
      * @param examPaperSectionInfo
      * @return
@@ -196,7 +196,7 @@
     }
 
     /**
-     * 考试保存题目
+     * 鑰冭瘯淇濆瓨棰樼洰
      *
      * @return
      */
@@ -210,7 +210,7 @@
 
 
     /**
-     * 查询当前题组中被选中的题目ID
+     * 鏌ヨ褰撳墠棰樼粍涓閫変腑鐨勯鐩甀D
      */
     @RequestMapping(value = "/group/itemIds", method = RequestMethod.GET)
     public @ResponseBody
diff --git a/src/main/java/com/qxueyou/scc/exam/dao/ExamDao.java b/src/main/java/com/qxueyou/scc/exam/dao/ExamDao.java
index f3bcce9..45e253a 100644
--- a/src/main/java/com/qxueyou/scc/exam/dao/ExamDao.java
+++ b/src/main/java/com/qxueyou/scc/exam/dao/ExamDao.java
@@ -3,7 +3,7 @@
 import com.qxueyou.scc.exam.model.ExamInfo;
 
 /**
- * 测试集成的JPA使用
+ * 娴嬭瘯闆嗘垚鐨凧PA浣跨敤
  * @author kevin
  *
  */
diff --git a/src/main/java/com/qxueyou/scc/exam/dao/ExamDaoImpl.java b/src/main/java/com/qxueyou/scc/exam/dao/ExamDaoImpl.java
index 8d886a3..2b78908 100644
--- a/src/main/java/com/qxueyou/scc/exam/dao/ExamDaoImpl.java
+++ b/src/main/java/com/qxueyou/scc/exam/dao/ExamDaoImpl.java
@@ -8,7 +8,7 @@
 import com.qxueyou.scc.exam.model.ExamInfo;
 
 /**
- * 测试集成JPA使用
+ * 娴嬭瘯闆嗘垚JPA浣跨敤
  * @author kevin
  *
  */
diff --git a/src/main/java/com/qxueyou/scc/exam/model/ExamBatchClassRe.java b/src/main/java/com/qxueyou/scc/exam/model/ExamBatchClassRe.java
index 85fb65f..7abc705 100644
--- a/src/main/java/com/qxueyou/scc/exam/model/ExamBatchClassRe.java
+++ b/src/main/java/com/qxueyou/scc/exam/model/ExamBatchClassRe.java
@@ -58,21 +58,21 @@
 	@JsonIgnore
 	private Date createTime;
 	
-	/**  修改人ID */
+	/**  淇敼浜篒D */
 	@Column(name="UPDATE_ID", length=32)
 	@JsonIgnore
 	private String updateId;
 
-	/**  修改时间 */
+	/**  淇敼鏃堕棿 */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date updateTime;
-	/**  修改人 */
+	/**  淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	@JsonIgnore
 	private String updator;
 
-	/** 删除标志  */
+	/** 鍒犻櫎鏍囧織  */
 	@Column(name="DELETE_FLAG", nullable=false)
 	@JsonIgnore
 	private boolean deleteFlag;
diff --git a/src/main/java/com/qxueyou/scc/exam/model/ExamBatchInfo.java b/src/main/java/com/qxueyou/scc/exam/model/ExamBatchInfo.java
index 4e0e00f..2491b58 100644
--- a/src/main/java/com/qxueyou/scc/exam/model/ExamBatchInfo.java
+++ b/src/main/java/com/qxueyou/scc/exam/model/ExamBatchInfo.java
@@ -27,7 +27,7 @@
 import com.qxueyou.scc.base.model.ITrace;
 
 /**
- * The persistent class for the exam_batch_info database table. 试卷批次表
+ * The persistent class for the exam_batch_info database table. 璇曞嵎鎵规琛�
  */
 @Entity
 @Table(name = "exam_batch_info")
@@ -82,21 +82,21 @@
 	@JsonIgnore
 	private Date createTime;
 
-	/** 修改人ID */
+	/** 淇敼浜篒D */
 	@Column(name = "UPDATE_ID", length = 32)
 	@JsonIgnore
 	private String updateId;
 
-	/** 修改时间 */
+	/** 淇敼鏃堕棿 */
 	@Column(name = "UPDATE_TIME", nullable = false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date updateTime;
-	/** 修改人 */
+	/** 淇敼浜� */
 	@Column(name = "UPDATOR", length = 100)
 	@JsonIgnore
 	private String updator;
 
-	/** 删除标志 */
+	/** 鍒犻櫎鏍囧織 */
 	@Column(name = "DELETE_FLAG", nullable = false)
 	@JsonIgnore
 	private boolean deleteFlag;
diff --git a/src/main/java/com/qxueyou/scc/exam/model/ExamInfo.java b/src/main/java/com/qxueyou/scc/exam/model/ExamInfo.java
index 0a231dc..5413d65 100644
--- a/src/main/java/com/qxueyou/scc/exam/model/ExamInfo.java
+++ b/src/main/java/com/qxueyou/scc/exam/model/ExamInfo.java
@@ -29,7 +29,7 @@
 import com.qxueyou.scc.teach.subject.model.Subject;
 
 /**
- * The persistent class for the exam_info database table. 考试表
+ * The persistent class for the exam_info database table. 鑰冭瘯琛�
  */
 
 @Entity
@@ -45,14 +45,14 @@
 	private static final long serialVersionUID = -6364452839157071345L;
 
 	/*
-	 * 草稿 :0  已发布:1
+	 * 鑽夌 :0  宸插彂甯冿細1
 	 */
 	public static final short STATUS_DRAFT = 0;
 	
 	public static final short STATUS_PUBLISH = 1;
 	
 	/**
-	 * 试卷类型:1:统一卷,2:AB卷,3:ABC卷,4:随机组卷,5:随机组卷2
+	 * 璇曞嵎绫诲瀷:1:缁熶竴鍗凤紝2锛欰B鍗凤紝3锛欰BC鍗凤紝4锛氶殢鏈虹粍鍗凤紝5锛氶殢鏈虹粍鍗�2
 	 */
 	public static final short EXAM_TYPE_A =1;
 	public static final short EXAM_TYPE_AB =2;
@@ -118,25 +118,25 @@
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date createTime;
 
-	/** 修改人ID */
+	/** 淇敼浜篒D */
 	@Column(name = "UPDATE_ID", length = 32)
 	private String updateId;
 
-	/** 修改时间 */
+	/** 淇敼鏃堕棿 */
 	@Column(name = "UPDATE_TIME", nullable = false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date updateTime;
 
-	/** 修改人 */
+	/** 淇敼浜� */
 	@Column(name = "UPDATOR", length = 100)
 	private String updator;
 
-	/** 删除标志 */
+	/** 鍒犻櫎鏍囧織 */
 	@Column(name = "DELETE_FLAG", nullable = false)
 	@JsonIgnore
 	private boolean deleteFlag;
 	
-//	//考试试卷关联
+//	//鑰冭瘯璇曞嵎鍏宠仈
 //	@ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
 //	@JoinTable(name = "EXAM_RE_EXAM_PAPER", joinColumns = { 
 //			@JoinColumn(name = "EXAM_ID") }, 
diff --git a/src/main/java/com/qxueyou/scc/exam/model/ExamPaperInfo.java b/src/main/java/com/qxueyou/scc/exam/model/ExamPaperInfo.java
index fd65fd3..558eed3 100644
--- a/src/main/java/com/qxueyou/scc/exam/model/ExamPaperInfo.java
+++ b/src/main/java/com/qxueyou/scc/exam/model/ExamPaperInfo.java
@@ -22,7 +22,7 @@
 import com.qxueyou.scc.exercise.model.ExerciseGroup;
 
 /**
- * The persistent class for the exam_paper_info database table. 试卷表
+ * The persistent class for the exam_paper_info database table. 璇曞嵎琛�
  */
 @Entity
 @Table(name = "exam_paper_info")
@@ -31,7 +31,7 @@
 	private static final long serialVersionUID = 1L;
 	
 	/*
-	 * 草稿 :0  已发布:1
+	 * 鑽夌 :0  宸插彂甯冿細1
 	 */
 	public static final short STATUS_DRAFT = 0;
 	
@@ -69,20 +69,20 @@
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date createTime;
 
-	/** 修改人ID */
+	/** 淇敼浜篒D */
 	@Column(name = "UPDATE_ID", length = 32)
 	private String updateId;
 
-	/** 修改时间 */
+	/** 淇敼鏃堕棿 */
 	@Column(name = "UPDATE_TIME", nullable = false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date updateTime;
 
-	/** 修改人 */
+	/** 淇敼浜� */
 	@Column(name = "UPDATOR", length = 100)
 	private String updator;
 
-	/** 删除标志 */
+	/** 鍒犻櫎鏍囧織 */
 	@Column(name = "DELETE_FLAG", nullable = false)
 	@JsonIgnore
 	private boolean deleteFlag;
diff --git a/src/main/java/com/qxueyou/scc/exam/model/ExamPaperSectionInfo.java b/src/main/java/com/qxueyou/scc/exam/model/ExamPaperSectionInfo.java
index 0d43cc1..f42133a 100644
--- a/src/main/java/com/qxueyou/scc/exam/model/ExamPaperSectionInfo.java
+++ b/src/main/java/com/qxueyou/scc/exam/model/ExamPaperSectionInfo.java
@@ -70,22 +70,22 @@
 	@JsonIgnore
 	private Date createTime;
 	
-	/**  修改人ID */
+	/**  淇敼浜篒D */
 	@Column(name="UPDATE_ID", length=32)
 	@JsonIgnore
 	private String updateId;
 
-	/**  修改时间 */
+	/**  淇敼鏃堕棿 */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date updateTime;
 	
-	/**  修改人 */
+	/**  淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	@JsonIgnore
 	private String updator;
 
-	/** 删除标志  */
+	/** 鍒犻櫎鏍囧織  */
 	@Column(name="DELETE_FLAG", nullable=false)
 	@JsonIgnore
 	private boolean deleteFlag;
diff --git a/src/main/java/com/qxueyou/scc/exam/model/ExamReExamPaper.java b/src/main/java/com/qxueyou/scc/exam/model/ExamReExamPaper.java
index 377dc03..f34a381 100644
--- a/src/main/java/com/qxueyou/scc/exam/model/ExamReExamPaper.java
+++ b/src/main/java/com/qxueyou/scc/exam/model/ExamReExamPaper.java
@@ -21,7 +21,7 @@
 import com.qxueyou.scc.base.model.ITrace;
 
 /**
- * The persistent class for the exam_re_exam_paper database table. 考试试卷关联表
+ * The persistent class for the exam_re_exam_paper database table. 鑰冭瘯璇曞嵎鍏宠仈琛�
  */
 @Entity
 @Table(name = "exam_re_exam_paper")
@@ -60,22 +60,22 @@
 	@JsonIgnore
 	private Date createTime;
 
-	/** 修改人ID */
+	/** 淇敼浜篒D */
 	@Column(name = "UPDATE_ID", length = 32)
 	@JsonIgnore
 	private String updateId;
 
-	/** 修改时间 */
+	/** 淇敼鏃堕棿 */
 	@Column(name = "UPDATE_TIME", nullable = false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date updateTime;
 
-	/** 修改人 */
+	/** 淇敼浜� */
 	@Column(name = "UPDATOR", length = 100)
 	@JsonIgnore
 	private String updator;
 
-	/** 删除标志 */
+	/** 鍒犻櫎鏍囧織 */
 	@Column(name = "DELETE_FLAG", nullable = false)
 	@JsonIgnore
 	private boolean deleteFlag;
diff --git a/src/main/java/com/qxueyou/scc/exam/service/IExamBatchService.java b/src/main/java/com/qxueyou/scc/exam/service/IExamBatchService.java
index 42739d8..609ab3c 100644
--- a/src/main/java/com/qxueyou/scc/exam/service/IExamBatchService.java
+++ b/src/main/java/com/qxueyou/scc/exam/service/IExamBatchService.java
@@ -9,7 +9,7 @@
 import com.qxueyou.scc.exam.model.ExamBatchInfo;
 
 /**
- * 考试批次服务类
+ * 鑰冭瘯鎵规鏈嶅姟绫�
  *
  * @author kevin
  * @createTime 2018-03-11
@@ -17,17 +17,17 @@
 public interface IExamBatchService {
 
 	/**
-	 * 查询考试批次数量
-	 * @param param 查询参数
+	 * 鏌ヨ鑰冭瘯鎵规鏁伴噺
+	 * @param param 鏌ヨ鍙傛暟
 	 * @return
 	 */
 	int queryExamBatchCount(Map<String,Object> param);
 
 
 	/**
-	 * 查询考试批次列表
-	 * @param param  查询参数
-	 * @param page   分页对象
+	 * 鏌ヨ鑰冭瘯鎵规鍒楄〃
+	 * @param param  鏌ヨ鍙傛暟
+	 * @param page   鍒嗛〉瀵硅薄
 	 * @return
 	 */
 	List<ExamBatchInfo> queryExamBatchList(Map<String,Object> param,Pager page);
@@ -39,7 +39,7 @@
 
 
 	/**
-	 * 新增考试批次
+	 * 鏂板鑰冭瘯鎵规
 	 *
 	 * @param examBatchInfo
 	 *
@@ -48,25 +48,25 @@
 	String addExamBatch(ExamBatchInfo examBatchInfo);
 
 	/**
-	 * 删除考试批次
+	 * 鍒犻櫎鑰冭瘯鎵规
 	 *
 	 * @param elxamBatchIds
-	 *            考试批次id
+	 *            鑰冭瘯鎵规id
 	 * @return
 	 */
 	Result deleteExamBatch(String[] elxamBatchIds);
 
 	/**
-	 * 更新考试批次信息
+	 * 鏇存柊鑰冭瘯鎵规淇℃伅
 	 *
 	 * @param noticeId
-	 *            考试批次id
+	 *            鑰冭瘯鎵规id
 	 * @return
 	 */
 	Result updateExamBatch(ExamBatchInfo examBatchInfo);
 
 	/**
-	 * 考试批次id  查询考试批次
+	 * 鑰冭瘯鎵规id  鏌ヨ鑰冭瘯鎵规
 	 * @param examBatchId
 	 * @return
 	 */
diff --git a/src/main/java/com/qxueyou/scc/exam/service/IExamPaperSectionService.java b/src/main/java/com/qxueyou/scc/exam/service/IExamPaperSectionService.java
index 92ddcf3..ec75334 100644
--- a/src/main/java/com/qxueyou/scc/exam/service/IExamPaperSectionService.java
+++ b/src/main/java/com/qxueyou/scc/exam/service/IExamPaperSectionService.java
@@ -10,7 +10,7 @@
 import com.qxueyou.scc.exercise.model.ExerciseGroup;
 
 /**
- * 试卷部分服务类
+ * 璇曞嵎閮ㄥ垎鏈嶅姟绫�
  * 
  * @author kevin
  * @createTime 2018-03-11
@@ -18,24 +18,24 @@
 public interface IExamPaperSectionService {
 	
 	/**
-	 * 查询试卷部分数量
-	 * @param param 查询参数
+	 * 鏌ヨ璇曞嵎閮ㄥ垎鏁伴噺
+	 * @param param 鏌ヨ鍙傛暟
 	 * @return
 	 */
 	int queryExamPaperSectionCount(Map<String,Object> param);
 	
 	
 	/**
-	 * 查询试卷部分列表
-	 * @param param  查询参数
-	 * @param page   分页对象
+	 * 鏌ヨ璇曞嵎閮ㄥ垎鍒楄〃
+	 * @param param  鏌ヨ鍙傛暟
+	 * @param page   鍒嗛〉瀵硅薄
 	 * @return
 	 */
 	List<ExamPaperSectionInfo> queryExamPaperSectionList(Map<String,Object> param,Pager page);
 	
 
 	/**
-	 * 新增试卷部分
+	 * 鏂板璇曞嵎閮ㄥ垎
 	 * 
 	 * @param examPaperSectionInfo
 	 *            
@@ -44,32 +44,32 @@
 	String addExamPaperSection(ExamPaperSectionInfo examPaperSectionInfo);
 
 	/**
-	 * 删除试卷部分
+	 * 鍒犻櫎璇曞嵎閮ㄥ垎
 	 * 
 	 * @param elxamBatchIds
-	 *            试卷部分id
-	 * @return 1表示删除成功,0表示删除失败
+	 *            璇曞嵎閮ㄥ垎id
+	 * @return 1琛ㄧず鍒犻櫎鎴愬姛锛�0琛ㄧず鍒犻櫎澶辫触
 	 */
 	Result deleteExamPaperSection(String[] elxamBatchIds);
 
 	/**
-	 * 更新试卷部分信息
+	 * 鏇存柊璇曞嵎閮ㄥ垎淇℃伅
 	 * 
 	 * @param noticeId
-	 *            试卷部分id
-	 * @return 1表示更新成功,0表示更新失败
+	 *            璇曞嵎閮ㄥ垎id
+	 * @return 1琛ㄧず鏇存柊鎴愬姛锛�0琛ㄧず鏇存柊澶辫触
 	 */
 	Result updateExamPaperSection(ExamPaperSectionInfo examPaperSectionInfo);
 
 	/**
-	 * 试卷部分id  查询试卷部分
+	 * 璇曞嵎閮ㄥ垎id  鏌ヨ璇曞嵎閮ㄥ垎
 	 * @param examPaperSectionId
 	 * @return
 	 */
 	ExamPaperSectionInfo queryExamPaperSectionDetail(String examPaperSectionId);
 	
 	/**
-	 * 保存试卷所选题库
+	 * 淇濆瓨璇曞嵎鎵�閫夐搴�
 	 * @param param
 	 * @return
 	 * @throws Exception 
@@ -79,7 +79,7 @@
 	
 	
 	/**
-	 * 保存试卷选题
+	 * 淇濆瓨璇曞嵎閫夐
 	 * @param param
 	 * @return
 	 * @throws Exception 
@@ -88,7 +88,7 @@
 
 
 	/**
-	 * 删除部分的题目
+	 * 鍒犻櫎閮ㄥ垎鐨勯鐩�
 	 * @param sectionId
 	 * @param groupId
 	 * @param exerciseItemIds
@@ -97,7 +97,7 @@
 	Result deleteSectionItem(String sectionId, String groupId, String[] exerciseItemIds);
 
 	/**
-	 * 部分保存题目分数信息
+	 * 閮ㄥ垎淇濆瓨棰樼洰鍒嗘暟淇℃伅
 	 * @param exerciseGroup
 	 * @return
 	 */
diff --git a/src/main/java/com/qxueyou/scc/exam/service/IExamPaperService.java b/src/main/java/com/qxueyou/scc/exam/service/IExamPaperService.java
index 77249ac..d35c2a8 100644
--- a/src/main/java/com/qxueyou/scc/exam/service/IExamPaperService.java
+++ b/src/main/java/com/qxueyou/scc/exam/service/IExamPaperService.java
@@ -6,14 +6,14 @@
 import com.qxueyou.scc.exam.model.ExamPaperInfo;
 
 /**
- * 试卷服务类
+ * 璇曞嵎鏈嶅姟绫�
  * 
  * @author kevin
  * @createTime 2018-03-11
  */
 public interface IExamPaperService {	
 	/**
-	 * 新增试卷
+	 * 鏂板璇曞嵎
 	 * 
 	 * @param examPaperInfo
 	 *            
@@ -22,57 +22,57 @@
 	Result addExamPaper(ExamPaperInfo examPaperInfo);
 
 	/**
-	 * 删除试卷
+	 * 鍒犻櫎璇曞嵎
 	 * 
-	 * @param elxamBatchIds  试卷id
+	 * @param elxamBatchIds  璇曞嵎id
 	 *            
-	 * @return 1表示删除成功,0表示删除失败
+	 * @return 1琛ㄧず鍒犻櫎鎴愬姛锛�0琛ㄧず鍒犻櫎澶辫触
 	 */
 	Result deleteExamPaper(String[] elxamBatchIds);
 
 	/**
-	 * 更新试卷信息
+	 * 鏇存柊璇曞嵎淇℃伅
 	 * 
-	 * @param noticeId   试卷id
+	 * @param noticeId   璇曞嵎id
 	 *           
-	 * @return 1表示更新成功,0表示更新失败
+	 * @return 1琛ㄧず鏇存柊鎴愬姛锛�0琛ㄧず鏇存柊澶辫触
 	 */
 	Result updateExamPaper(ExamPaperInfo examPaperInfo);
 
 	/**
-	 * 发布试卷
+	 * 鍙戝竷璇曞嵎
 	 * 
-	 * @param examPaperIds  试卷的Ids
+	 * @param examPaperIds  璇曞嵎鐨処ds
 	 *           
-	 * @return 1表示发布成功,0表示发布失败
+	 * @return 1琛ㄧず鍙戝竷鎴愬姛锛�0琛ㄧず鍙戝竷澶辫触
 	 */
 	Result doPublishExamPaper(String[] examPaperIds);
 
 	/**
-	 * 撤回发布的试卷
+	 * 鎾ゅ洖鍙戝竷鐨勮瘯鍗�
 	 * 
-	 * @param examPaperIds 试卷的Ids 
+	 * @param examPaperIds 璇曞嵎鐨処ds 
 	 *             
-	 * @return 1表示撤回成功,0表示撤回失败失败
+	 * @return 1琛ㄧず鎾ゅ洖鎴愬姛锛�0琛ㄧず鎾ゅ洖澶辫触澶辫触
 	 */
 	Result doRevokeExamPaper(String[] examPaperIds);
 	
 	/**
-	 * 试卷id  查询试卷
+	 * 璇曞嵎id  鏌ヨ璇曞嵎
 	 * @param examPaperId
 	 * @return
 	 */
 	ExamPaperInfo queryExamPaperDetail(String examPaperId);
 
 	/**
-	 * 查询考试题目统计信息
+	 * 鏌ヨ鑰冭瘯棰樼洰缁熻淇℃伅
 	 * @param examPaperIds
 	 * @return
 	 */
 	Map<String, ExamPaperInfo> queryExamPaperItemsStatistic(String[] examPaperIds);
 	
 	/**
-	 * 根据考试信息和考卷编码获取试卷信息
+	 * 鏍规嵁鑰冭瘯淇℃伅鍜岃�冨嵎缂栫爜鑾峰彇璇曞嵎淇℃伅
 	 * @param examId
 	 * @param paperCode
 	 * @return
@@ -80,7 +80,7 @@
 	ExamPaperInfo queryExamPaperByCode(String examId, String paperCode);
 	
 	/**
-	 * 根据groupId获取试卷信息
+	 * 鏍规嵁groupId鑾峰彇璇曞嵎淇℃伅
 	 * @param groupId
 	 * @return
 	 */
diff --git a/src/main/java/com/qxueyou/scc/exam/service/IExamService.java b/src/main/java/com/qxueyou/scc/exam/service/IExamService.java
index 2e75322..a512e2a 100644
--- a/src/main/java/com/qxueyou/scc/exam/service/IExamService.java
+++ b/src/main/java/com/qxueyou/scc/exam/service/IExamService.java
@@ -9,42 +9,42 @@
 import com.qxueyou.scc.exam.model.ExamResultV;
 
 /**
- * 考试服务类
+ * 鑰冭瘯鏈嶅姟绫�
  *
  * @author kevin
  * @createTime 2018-03-11
  */
 public interface IExamService {
 	/**
-	 * 新增考试
+	 * 鏂板鑰冭瘯
 	 *
 	 * @param examInfo
 	 *
-	 * @return 新增考试ID
+	 * @return 鏂板鑰冭瘯ID
 	 */
 	String addExam(ExamInfo examInfo);
 	void addRemedy(String examId, Date startTime, Date endTime);
 
 	/**
-	 * 删除考试
+	 * 鍒犻櫎鑰冭瘯
 	 *
 	 * @param elxamIds
-	 *            考试id
+	 *            鑰冭瘯id
 	 * @return
 	 */
 	Result deleteExam(String[] examIds);
 
 	/**
-	 * 更新考试信息
+	 * 鏇存柊鑰冭瘯淇℃伅
 	 *
 	 * @param noticeId
-	 *            考试id
+	 *            鑰冭瘯id
 	 * @return
 	 */
 	Result updateExam(ExamInfo examInfo);
 
 	/**
-	 * 考试id 查询考试
+	 * 鑰冭瘯id 鏌ヨ鑰冭瘯
 	 *
 	 * @param examId
 	 * @return
@@ -53,7 +53,7 @@
 	ExamInfo queryReExam();
 
 	/**
-	 * 设置考试试卷
+	 * 璁剧疆鑰冭瘯璇曞嵎
 	 *
 	 * @param param
 	 * @return
@@ -61,7 +61,7 @@
 	Result updateExamPaperInfo(ExamInfo param);
 
 	/**
-	 * 开始考试
+	 * 寮�濮嬭�冭瘯
 	 *
 	 * @param examBatchId
 	 * @param classId
@@ -72,25 +72,25 @@
 	Result doStartReExam(String examId,String studentUserId);
 
 	/**
-	 * 发布考试
+	 * 鍙戝竷鑰冭瘯
 	 *
 	 * @param examIds
-	 *            考试的Ids
-	 * @return 1表示发布成功,0表示发布失败
+	 *            鑰冭瘯鐨処ds
+	 * @return 1琛ㄧず鍙戝竷鎴愬姛锛�0琛ㄧず鍙戝竷澶辫触
 	 */
 	Result doPublishExam(String[] examIds);
 
 	/**
-	 * 撤回发布的考试
+	 * 鎾ゅ洖鍙戝竷鐨勮�冭瘯
 	 *
 	 * @param examIds
-	 *            考试的Ids
-	 * @return 1表示撤回成功,0表示撤回失败失败
+	 *            鑰冭瘯鐨処ds
+	 * @return 1琛ㄧず鎾ゅ洖鎴愬姛锛�0琛ㄧず鎾ゅ洖澶辫触澶辫触
 	 */
 	Result doRevokeExam(String[] examIds);
 
 	/**
-	 * 首页获取学生考试的总条数
+	 * 棣栭〉鑾峰彇瀛︾敓鑰冭瘯鐨勬�绘潯鏁�
 	 *
 	 * @param classId
 	 * @param userId
@@ -99,7 +99,7 @@
 	int getExamCount(String classId, String userId);
 
 	/**
-	 * 首页获取学生逾期未交的考试个数
+	 * 棣栭〉鑾峰彇瀛︾敓閫炬湡鏈氦鐨勮�冭瘯涓暟
 	 *
 	 * @param classId
 	 * @param userId
@@ -108,7 +108,7 @@
 	int getUnCommitExamCount(String classId, String userId);
 
 	/**
-	 * 首页获取学生待完成的考试个数
+	 * 棣栭〉鑾峰彇瀛︾敓寰呭畬鎴愮殑鑰冭瘯涓暟
 	 *
 	 * @param classId
 	 * @param userId
@@ -117,7 +117,7 @@
 	int getToBeCommitExamCount(String classId, String userId);
 
 	/**
-	 * 首页获取学生已经提交的考试个数
+	 * 棣栭〉鑾峰彇瀛︾敓宸茬粡鎻愪氦鐨勮�冭瘯涓暟
 	 *
 	 * @param classId
 	 * @param userId
@@ -126,7 +126,7 @@
 	int getCommitExamCount(String classId, String userId);
 
 	/**
-	 * 后台查询考试列表
+	 * 鍚庡彴鏌ヨ鑰冭瘯鍒楄〃
 	 * @param keyword
 	 * @param pageSize
 	 * @param pageNum
@@ -135,7 +135,7 @@
 	List<ExamInfo> list(String keyword,String classId,String subjectId,Short status,Integer pageSize,Integer pageNum);
 
 	/**
-	 * 后台查询考试数量
+	 * 鍚庡彴鏌ヨ鑰冭瘯鏁伴噺
 	 * @param keyword
 	 * @param creatorId
 	 * @return
@@ -143,7 +143,7 @@
 	int listCount(String keyword,String classId,String subjectId,Short status);
 
 	/**
-	 * 获取考试成绩列表
+	 * 鑾峰彇鑰冭瘯鎴愮哗鍒楄〃
 	 * @param examId
 	 * @param examBatchIds
 	 * @param classId
@@ -156,7 +156,7 @@
 			Integer pageNum);
 
 	/**
-	 * 获取考试成绩列表数量
+	 * 鑾峰彇鑰冭瘯鎴愮哗鍒楄〃鏁伴噺
 	 * @param examId
 	 * @param examBatchIds
 	 * @param classId
@@ -166,9 +166,9 @@
 	int listResultCount(String examId,String[] examBatchIds, String classId, String keyword);
 
 	/**
-	 * 查询学生考试列表数量
-	 * @param keyword 考试名称过滤
-	 * @param classIds 班级过滤
+	 * 鏌ヨ瀛︾敓鑰冭瘯鍒楄〃鏁伴噺
+	 * @param keyword 鑰冭瘯鍚嶇О杩囨护
+	 * @param classIds 鐝骇杩囨护
 	 * @param subjectId
 	 * @param status
 	 * @return
@@ -176,7 +176,7 @@
 	int listStudentExamCount(String keyword, String[] classIds,String subjectId,Integer status);
 
 	/**
-	 * 查询学生考试列表
+	 * 鏌ヨ瀛︾敓鑰冭瘯鍒楄〃
 	 * @param keyword
 	 * @param classIds
 	 * @param subjectId
@@ -190,7 +190,7 @@
 	List<ExamResultV> studentExam( String [] classIds);
 
 	/**
-	 * 查询考试结果状态数量
+	 * 鏌ヨ鑰冭瘯缁撴灉鐘舵�佹暟閲�
 	 * @param lstExamIds
 	 * @return
 	 */
diff --git a/src/main/java/com/qxueyou/scc/exam/service/impl/ExamBatchService.java b/src/main/java/com/qxueyou/scc/exam/service/impl/ExamBatchService.java
index 117385c..f28d20f 100644
--- a/src/main/java/com/qxueyou/scc/exam/service/impl/ExamBatchService.java
+++ b/src/main/java/com/qxueyou/scc/exam/service/impl/ExamBatchService.java
@@ -16,7 +16,7 @@
 import com.qxueyou.scc.exam.service.IExamBatchService;
 
 /**
- * 试卷批次管理服务层
+ * 璇曞嵎鎵规绠$悊鏈嶅姟灞�
  *
  * @author kevin
  * @createTime 2017-11-1
@@ -39,24 +39,24 @@
 	@Override
 	public List<Map<String,Object>> queryListForIdName() {
 //		String hql="select v from ExamResultV v where v.startTime >? ";
-		//根据考试获取所有批次信息
+		//鏍规嵁鑰冭瘯鑾峰彇鎵�鏈夋壒娆′俊鎭�
 		String hql="select r from ExamBatchInfo i , ExamBatchClassRe r where i.examId in (SELECT e.examId from ExamInfo e where e.deleteFlag is false )" +
 				" and i.deleteFlag is false and i.startTime>? and r.examBatchId=i.examBatchId ";
-		//获取列表,开始时间大于当前时间,也就是还未开始
+		//鑾峰彇鍒楄〃锛屽紑濮嬫椂闂村ぇ浜庡綋鍓嶆椂闂达紝涔熷氨鏄繕鏈紑濮�
 		List<ExamBatchClassRe> examResults = this.find(hql, CollectionUtils.newList(new Date()), ExamBatchClassRe.class);
 		List<Map<String,Object>> list=new ArrayList<>();
 		for (ExamBatchClassRe examResult : examResults) {
-			//封装成前端要用的数据
+			//灏佽鎴愬墠绔鐢ㄧ殑鏁版嵁
 			Map<String,Object> map=new HashMap<>();
-			//获取考试名称加批次信息
+			//鑾峰彇鑰冭瘯鍚嶇О鍔犳壒娆′俊鎭�
 			String ql="SELECT e.examName from ExamInfo e where e.deleteFlag is false and e.examId=?";
-			//获取考试名称
+			//鑾峰彇鑰冭瘯鍚嶇О
 			String s = this.findUnique(ql, CollectionUtils.newList(examResult.getExamId()), String.class);
 			String q="SELECT e from ExamBatchInfo e where e.deleteFlag is false and e.examBatchId=?";
-			//批次信息
+			//鎵规淇℃伅
 			ExamBatchInfo examBatchInfo = this.findUnique(q, CollectionUtils.newList(examResult.getExamBatchId()), ExamBatchInfo.class);
 			SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-			//测试考试(考场一_2020-06-16 9:00 ~ 06-16 12:00)
+			//娴嬭瘯鑰冭瘯(鑰冨満涓�_2020-06-16 9:00 ~ 06-16 12:00)
 			s+="("+examBatchInfo.getExamRoomName()+"_"+format.format(examBatchInfo.getStartTime())+" ~ "+new SimpleDateFormat("MM-dd HH:mm:ss").format(examBatchInfo.getEndTime())+")";
 			map.put("batchName",s);
 			map.put("batchId",examResult.getExamBatchId());
@@ -67,24 +67,24 @@
 	}
 	@Override
 	public List<String> queryComNameByBatchId(String classId) {
-		//根据所在组id
+		//鏍规嵁鎵�鍦ㄧ粍id
 		String hql="select f.subjectId from StuStudent f where f.subjectId is not null and f.classId =? and f.deleteFlag is false group by f.subjectId";
-		//获取公司名称列表
+		//鑾峰彇鍏徃鍚嶇О鍒楄〃
 		return this.find(hql, CollectionUtils.newList(classId), String.class);
 	}
 	@Override
 	public List<String> queryStudentNoByComNameAndBatch(String subjectId,String classId) {
-		//根据所在组id
+		//鏍规嵁鎵�鍦ㄧ粍id
 //		String hql="select f.studentNo from StuStudent f where f.subjectId=? and f.classId =? and f.deleteFlag is false ";
 		String hql="select f.studentNo from StuStudent f where  f.classId =? and f.deleteFlag is false ";
-		//获取列表
+		//鑾峰彇鍒楄〃
 //		return this.find(hql, CollectionUtils.newList(subjectId,classId), String.class);
 		return this.find(hql, CollectionUtils.newList(classId), String.class);
 	}
 
 	@Override
 	public String addExamBatch(ExamBatchInfo examBatchInfo) {
-		//查询最大批次号
+		//鏌ヨ鏈�澶ф壒娆″彿
 		Short  maxBatchNo = this.findUnique("select max(f.examBatchNo) from ExamBatchInfo f where f.examId =? and f.deleteFlag is false", CollectionUtils.newList(examBatchInfo.getExamId()), Short.class);
 		maxBatchNo = maxBatchNo==null?0:maxBatchNo;
 		examBatchInfo.setExamBatchNo(++maxBatchNo);
@@ -120,7 +120,7 @@
 			examBatchInfo.setStartTime(param.getStartTime());
 			examBatchInfo.setEndTime(param.getEndTime());
 			List<ExamBatchClassRe> lstExamBatchClassRe = param.getReClasses();
-			//删除原来的关联关系
+			//鍒犻櫎鍘熸潵鐨勫叧鑱斿叧绯�
 			String hql="update ExamBatchClassRe set deleteFlag = true where examBatchId=? ";
 			this.bulkUpdate(hql, new Object[]{ param.getExamBatchId()});
 
diff --git a/src/main/java/com/qxueyou/scc/exam/service/impl/ExamPaperSectionService.java b/src/main/java/com/qxueyou/scc/exam/service/impl/ExamPaperSectionService.java
index db82279..536044d 100644
--- a/src/main/java/com/qxueyou/scc/exam/service/impl/ExamPaperSectionService.java
+++ b/src/main/java/com/qxueyou/scc/exam/service/impl/ExamPaperSectionService.java
@@ -27,7 +27,7 @@
 import com.qxueyou.scc.exercise.service.IExerciseService;
 
 /**
- * 试卷部分管理服务层
+ * 璇曞嵎閮ㄥ垎绠$悊鏈嶅姟灞�
  *
  * @author kevin
  * @createTime 2017-11-1
@@ -60,14 +60,14 @@
     @Override
     public String addExamPaperSection(ExamPaperSectionInfo examPaperSectionInfo) {
         TraceUtils.setCreateTrace(examPaperSectionInfo);
-        // 查询当前最大的sectionOrder
+        // 鏌ヨ褰撳墠鏈�澶х殑sectionOrder
         String hql = "select max(sectionOrder) from ExamPaperSectionInfo where examPaperId=? and deleteFlag is false";
         Integer maxOrder = this.findUnique(hql, CollectionUtils.newList(examPaperSectionInfo.getExamPaperId()),
                 Integer.class);
         int beginOrder = maxOrder == null ? 0 : maxOrder.intValue();
         examPaperSectionInfo.setSectionOrder(++beginOrder);
 
-        // 获取当前section对应的开始index
+        // 鑾峰彇褰撳墠section瀵瑰簲鐨勫紑濮媔ndex
         int count = this.findCount("from ExerciseGroupItemRe r where r.deleteFlag is false and r.exerciseGroupId=?",
                 CollectionUtils.newList(examPaperSectionInfo.getGroupId()));
 
@@ -111,7 +111,7 @@
         ExamPaperSectionInfo examPaperSectionInfo = read(ExamPaperSectionInfo.class, sectionId);
         ExerciseGroup exerciseGroup = read(ExerciseGroup.class, examPaperSectionInfo.getGroupId());
 
-        // 获取试卷部分原开始位置和结束位置
+        // 鑾峰彇璇曞嵎閮ㄥ垎鍘熷紑濮嬩綅缃拰缁撴潫浣嶇疆
         int origStartIndex = examPaperSectionInfo.getItemStartOrder();
         int origEndIndex = examPaperSectionInfo.getItemEndOrder();
 
@@ -119,7 +119,7 @@
             this.deleteAllSectionItem(examPaperSectionInfo.getSectionId());
         }
 
-        // 将题库的题目复制到试卷题库
+        // 灏嗛搴撶殑棰樼洰澶嶅埗鍒拌瘯鍗烽搴�
         int itemIndex = origStartIndex;
         ExerciseGroup targetExerciseGroup = new ExerciseGroup();
         targetExerciseGroup.setGroupId(examPaperSectionInfo.getGroupId());
@@ -148,19 +148,19 @@
         ExamPaperSectionInfo examPaperSectionInfo = read(ExamPaperSectionInfo.class, sectionId);
         ExerciseGroup exerciseGroup = read(ExerciseGroup.class, examPaperSectionInfo.getGroupId());
 
-        // 获取试卷部分原开始位置和结束位置
+        // 鑾峰彇璇曞嵎閮ㄥ垎鍘熷紑濮嬩綅缃拰缁撴潫浣嶇疆
         int origStartIndex = examPaperSectionInfo.getItemStartOrder();
         int origEndIndex = examPaperSectionInfo.getItemEndOrder();
 
-        //如果试卷其他部分中已经存在该题目,则返回错误,重复的题目
+        //濡傛灉璇曞嵎鍏朵粬閮ㄥ垎涓凡缁忓瓨鍦ㄨ棰樼洰锛屽垯杩斿洖閿欒锛岄噸澶嶇殑棰樼洰
         int count = this.findCountByComplexHql("from ExerciseGroupItemRe r where r.deleteFlag is false and r.exerciseGroupId=:paperGroupId and (r.itemOrder<:startIdx or r.itemOrder>:endIdx)  and r.exerciseItemId in (:exerciseItemIds)",
                 CollectionUtils.newObjectMap("startIdx", origStartIndex, "endIdx", origEndIndex, "paperGroupId", examPaperSectionInfo.getGroupId(), "exerciseItemIds", selectedItemIds));
 
         if (count > 0) {
-            return new Result(false, "请检查选择的题目,同一份试卷中不允许存在相同的题目!");
+            return new Result(false, "璇锋鏌ラ�夋嫨鐨勯鐩紝鍚屼竴浠借瘯鍗蜂腑涓嶅厑璁稿瓨鍦ㄧ浉鍚岀殑棰樼洰锛�");
         }
 
-        // 将题库的题目复制到试卷题库
+        // 灏嗛搴撶殑棰樼洰澶嶅埗鍒拌瘯鍗烽搴�
         int copyStartIndex = origEndIndex > 0 ? origEndIndex : origStartIndex;
         ExerciseGroup targetExerciseGroup = new ExerciseGroup();
         targetExerciseGroup.setGroupId(examPaperSectionInfo.getGroupId());
@@ -169,7 +169,7 @@
                 copyStartIndex);
         long allCount = exerciseGroup.getAllCount() == null ? 0 : exerciseGroup.getAllCount().longValue() + (copyEndIndex - copyStartIndex);
         exerciseGroup.setAllCount(BigInteger.valueOf(allCount));
-        //如果有保存题目则处理索引,否则不处理
+        //濡傛灉鏈変繚瀛橀鐩垯澶勭悊绱㈠紩锛屽惁鍒欎笉澶勭悊
         if (copyEndIndex - copyStartIndex > 0) {
             examPaperSectionInfo.setItemEndOrder((short) (copyEndIndex));
         }
@@ -183,7 +183,7 @@
         ExamPaperSectionInfo examPaperSectionInfo = this.read(ExamPaperSectionInfo.class, examPaperSectionId);
         ExerciseGroup exerciseGroup = exerciseGroupService.queryExerciseGroupDetail(examPaperSectionInfo.getGroupId());
         List<ExerciseItem> items = null;
-        // 查询出section 对应的题目信息
+        // 鏌ヨ鍑簊ection 瀵瑰簲鐨勯鐩俊鎭�
         if (examPaperSectionInfo.getItemEndOrder() > 0) {
             int itemCount = examPaperSectionInfo.getItemEndOrder() - examPaperSectionInfo.getItemStartOrder();
             items = new ArrayList<ExerciseItem>(itemCount);
@@ -197,7 +197,7 @@
     @SuppressWarnings("unchecked")
     private Result updateSectionRangeIndex(String currentSectionid, int adjustNum) {
         ExamPaperSectionInfo currentSectionInfo = this.read(ExamPaperSectionInfo.class, currentSectionid);
-        // 如果部分对应的end为-1,则不需要更新endorder
+        // 濡傛灉閮ㄥ垎瀵瑰簲鐨別nd涓�-1锛屽垯涓嶉渶瑕佹洿鏂癳ndorder
         String hql = "from ExamPaperSectionInfo where examPaperId=? and sectionOrder>? and deleteFlag is false";
         List<ExamPaperSectionInfo> lstExamPaperSectionInfo = this.find(hql,
                 CollectionUtils.newList(currentSectionInfo.getExamPaperId(), currentSectionInfo.getSectionOrder()),
@@ -213,7 +213,7 @@
                 this.saveOrUpdateAll(lstExamPaperSectionInfo);
             }
         }
-        //清理试卷缓存
+        //娓呯悊璇曞嵎缂撳瓨
         this.redisTemplate.delete(currentSectionInfo.getGroupId());
         return new Result(true);
     }
@@ -237,7 +237,7 @@
             }
             this.deleteSectionItem(examPaperSectionInfo.getSectionId(), examPaperSectionInfo.getGroupId(),
                     exerciseItemIds);
-            // section坐标置空
+            // section鍧愭爣缃┖
             examPaperSectionInfo.setItemEndOrder((short) -1);
             this.save(examPaperSectionInfo);
 
@@ -247,7 +247,7 @@
     @Override
     public Result deleteSectionItem(String sectionId, String groupId, String[] exerciseItemIds) {
         if (exerciseItemIds != null && exerciseItemIds.length > 0) {
-            // 查询题库与题目的关系
+            // 鏌ヨ棰樺簱涓庨鐩殑鍏崇郴
             List<String> lstRelationIds = new ArrayList<String>(exerciseItemIds.length);
             ExamPaperSectionInfo currentSectionInfo = this.read(ExamPaperSectionInfo.class, sectionId);
 
@@ -267,7 +267,7 @@
                 lstRelationIds.add(itemReMap.get(strExerciseItemId).getRelationId());
             }
 
-            // 如果题目删除完了,则设置end为-1
+            // 濡傛灉棰樼洰鍒犻櫎瀹屼簡锛屽垯璁剧疆end涓�-1
             if (currentSectionInfo.getItemEndOrder() - exerciseItemIds.length == currentSectionInfo
                     .getItemStartOrder()) {
                 currentSectionInfo.setItemEndOrder((short) -1);
@@ -287,7 +287,7 @@
     }
 
     /**
-     * 删除试卷习题
+     * 鍒犻櫎璇曞嵎涔犻
      *
      *
      * @param reIds
@@ -298,15 +298,15 @@
 
         ExerciseGroup group = this.read(ExerciseGroup.class, groupId);
 
-        // 更新组试卷习题数量
+        // 鏇存柊缁勮瘯鍗蜂範棰樻暟閲�
         group.setAllCount(group.getAllCount().subtract(new BigInteger(String.valueOf(reIds.length))));
         TraceUtils.setUpdateTrace(group);
         this.save(group);
 
-        // 2.删除试卷题目组关联表数据
+        // 2.鍒犻櫎璇曞嵎棰樼洰缁勫叧鑱旇〃鏁版嵁
         this.bulkUpdateInLoop("delete from ExerciseGroupItemRe  where relationId=?", reIds);
 
-        // 更新item的顺序号
+        // 鏇存柊item鐨勯『搴忓彿
         String hql = "from ExerciseGroupItemRe re where re.exerciseGroupId=? and re.deleteFlag is false order by re.itemOrder asc ";
         List<ExerciseGroupItemRe> lstRe = this.find(hql, CollectionUtils.newList(groupId), ExerciseGroupItemRe.class);
         if (lstRe != null && lstRe.size() > 0) {
@@ -320,7 +320,7 @@
 
     @Override
     public Result saveSectionItem(ExerciseGroup exerciseGroup) {
-        //保存题目信息
+        //淇濆瓨棰樼洰淇℃伅
         return exerciseService.saveExerciseItemBatch(exerciseGroup.getGroupId(), exerciseGroup.getItems());
     }
 
diff --git a/src/main/java/com/qxueyou/scc/exam/service/impl/ExamPaperService.java b/src/main/java/com/qxueyou/scc/exam/service/impl/ExamPaperService.java
index 334525c..98ec5f3 100644
--- a/src/main/java/com/qxueyou/scc/exam/service/impl/ExamPaperService.java
+++ b/src/main/java/com/qxueyou/scc/exam/service/impl/ExamPaperService.java
@@ -21,7 +21,7 @@
 import com.qxueyou.scc.exercise.service.IExerciseGroupService;
 
 /**
- * 试卷管理服务层
+ * 璇曞嵎绠$悊鏈嶅姟灞�
  * 
  * @author kevin
  * @createTime 2017-11-1
@@ -41,13 +41,13 @@
 		String examPaperId = null, groupId = null;
 		ExerciseGroup exerciseGroup = null;
 		
-		//创建试卷关联题库
+		//鍒涘缓璇曞嵎鍏宠仈棰樺簱
 		exerciseGroup = new ExerciseGroup();
-		exerciseGroup.setName(examPaperInfo.getExamPaperName()+"-试卷题库");
+		exerciseGroup.setName(examPaperInfo.getExamPaperName()+"-璇曞嵎棰樺簱");
 		exerciseGroup.setType(ExerciseGroup.TYPE_EXERCISE_EXAM_ITEM);
 		groupId = exerciseGroupService.addExerciseGroup(exerciseGroup);
 		
-		//保存试卷
+		//淇濆瓨璇曞嵎
 		examPaperId = UUIDUtils.generateUUID().replace("-", "");
 		examPaperInfo.setExamPaperId(examPaperId);
 		examPaperInfo.setPaperStatus(ExamPaperInfo.STATUS_DRAFT);
@@ -92,11 +92,11 @@
 
 			for (ExamPaperInfo examPaperInfo : lstExamPaperInfo) {
 				if(ExamPaperInfo.STATUS_DRAFT!=examPaperInfo.getPaperStatus()){
-					return new Result(false, "只有草稿状态的试卷,才能发布。");
+					return new Result(false, "鍙湁鑽夌鐘舵�佺殑璇曞嵎,鎵嶈兘鍙戝竷銆�");
 				}
 				
 				if(examPaperInfo.getTotalScore()<=0){
-					return new Result(false, "试卷总分大于零,才能发布。");
+					return new Result(false, "璇曞嵎鎬诲垎澶т簬闆�,鎵嶈兘鍙戝竷銆�");
 				}
 				
 				examPaperInfo.setPaperStatus(ExamPaperInfo.STATUS_PUBLISH);
@@ -104,7 +104,7 @@
 				save(examPaperInfo);
 			}
 		}else{
-			return new Result(false, "没有选择要发布的试卷。");
+			return new Result(false, "娌℃湁閫夋嫨瑕佸彂甯冪殑璇曞嵎銆�");
 		}
 		return new Result(true);
 	}
@@ -119,14 +119,14 @@
 			List<ExamPaperInfo> lstExamPaperInfo = this.findByComplexHql(hql,pramMap, ExamPaperInfo.class);
 			for (ExamPaperInfo examPaperInfo : lstExamPaperInfo) {
 				if(ExamPaperInfo.STATUS_PUBLISH!=examPaperInfo.getPaperStatus()){
-					return new Result(false, "只有发布状态的试卷,才能撤回。");
+					return new Result(false, "鍙湁鍙戝竷鐘舵�佺殑璇曞嵎,鎵嶈兘鎾ゅ洖銆�");
 				}
 				examPaperInfo.setPaperStatus(ExamPaperInfo.STATUS_DRAFT);
 				TraceUtils.setUpdateTrace(examPaperInfo);
 				save(examPaperInfo);
 			}
 		}else{
-			return new Result(false, "没有选择要撤回的试卷。");
+			return new Result(false, "娌℃湁閫夋嫨瑕佹挙鍥炵殑璇曞嵎銆�");
 		}
 		
 		return new Result(true);
diff --git a/src/main/java/com/qxueyou/scc/exam/service/impl/ExamService.java b/src/main/java/com/qxueyou/scc/exam/service/impl/ExamService.java
index f2f6045..df4dcb0 100644
--- a/src/main/java/com/qxueyou/scc/exam/service/impl/ExamService.java
+++ b/src/main/java/com/qxueyou/scc/exam/service/impl/ExamService.java
@@ -31,7 +31,7 @@
 import com.qxueyou.scc.msg.service.IMsgInfoService;
 
 /**
- * 考试管理服务层
+ * 鑰冭瘯绠$悊鏈嶅姟灞�
  *
  * @author kevin
  * @createTime 2017-11-1
@@ -174,7 +174,7 @@
 			params.put("subjectId", subjectId);
 		}
 
-		//根据状态查询:1未开始,2未交卷,3已交卷,4逾期未交,5已批阅
+		//鏍规嵁鐘舵�佹煡璇細1鏈紑濮嬶紝2鏈氦鍗凤紝3宸蹭氦鍗凤紝4閫炬湡鏈氦,5宸叉壒闃�
 		if(status != null) {
 			switch(status){
 				case 1:hql.append(" and v.status is null") ;break;
@@ -214,7 +214,7 @@
 			params.put("subjectId", subjectId);
 		}
 
-		//根据状态查询:1未开始,2未交卷,3已交卷,4逾期未交,5已批阅
+		//鏍规嵁鐘舵�佹煡璇細1鏈紑濮嬶紝2鏈氦鍗凤紝3宸蹭氦鍗凤紝4閫炬湡鏈氦,5宸叉壒闃�
 		if(status != null) {
 			switch(status){
 				case 1:hql.append(" and v.status is null") ;break;
@@ -230,32 +230,32 @@
 
 	@Override
 	public void addRemedy(String examId,Date startTime,Date endTime) {
-		//根据考试ID获取考试信息
+		//鏍规嵁鑰冭瘯ID鑾峰彇鑰冭瘯淇℃伅
 		ExamInfo examInfo = queryExamDetail(examId);
-		//根据考试ID获取对应的批次信息
+		//鏍规嵁鑰冭瘯ID鑾峰彇瀵瑰簲鐨勬壒娆′俊鎭�
 		String hql = "from ExamBatchInfo where examId=? and deleteFlag is false";
 		List<ExamBatchInfo> list = this.find(hql, CollectionUtils.newList(examId), ExamBatchInfo.class);
 		List<ExamBatchInfo> remedylist = new ArrayList<>(list.size());
-		//根据考试ID获取对应的题目设置
+		//鏍规嵁鑰冭瘯ID鑾峰彇瀵瑰簲鐨勯鐩缃�
 		List<ExerciseItemSet> exerciseItemSets = queryExerciseItemSet(examId);
 		List<ExerciseItemSet> exerciseItemSetses = new ArrayList<>(exerciseItemSets.size());
 		//...
 		List<ExamReExamPaper> reExamPapers = examInfo.getReExamPapers();
 		List<ExamReExamPaper> reExamPaperses = new ArrayList<>(reExamPapers.size());
-		//复制信息
+		//澶嶅埗淇℃伅
 		ExamInfo examInfo1=new ExamInfo();
-		//重新指向一个对象并复制属性
+		//閲嶆柊鎸囧悜涓�涓璞″苟澶嶅埗灞炴��
 		BeanUtils.copyProperties(examInfo,examInfo1);
-		//设置考试名称
-		examInfo1.setExamName(examInfo1.getExamName()+"(补考"+new Date().getTime()+")");
-		//设置新指向批次集合
+		//璁剧疆鑰冭瘯鍚嶇О
+		examInfo1.setExamName(examInfo1.getExamName()+"(琛ヨ��"+new Date().getTime()+")");
+		//璁剧疆鏂版寚鍚戞壒娆¢泦鍚�
 		examInfo1.setExamBatchInfos(remedylist);
 		examInfo1.setExerciseItemSets(exerciseItemSetses);
-		//设置新指向试卷集合
+		//璁剧疆鏂版寚鍚戣瘯鍗烽泦鍚�
 		reExamPapers.forEach(reExamPaper -> reExamPaperses.add(reExamPaper));
 		examInfo1.setReExamPapers(reExamPaperses);
 		String examremedyId = addExam(examInfo1);
-		//设置新指向题目设置集合并复制添加
+		//璁剧疆鏂版寚鍚戦鐩缃泦鍚堝苟澶嶅埗娣诲姞
 		exerciseItemSets.forEach(exerciseItemSet -> {
 			ExerciseItemSet exerciseItemSet1 = new ExerciseItemSet();
 			BeanUtils.copyProperties(exerciseItemSet,exerciseItemSet1);
@@ -264,28 +264,28 @@
 			this.insert(exerciseItemSet1);
 			exerciseItemSetses.add(exerciseItemSet1);
 		});
-		//根据考试ID获取题库关联信息
+		//鏍规嵁鑰冭瘯ID鑾峰彇棰樺簱鍏宠仈淇℃伅
 		String ql = "from ExerciseExamReGroup where examId=? and deleteFlag is false";
 		List<ExerciseExamReGroup> exerciseExamReGroups = this.find(ql, CollectionUtils.newList(examId), ExerciseExamReGroup.class);
 		exerciseExamReGroups.forEach(exerciseExamReGroup -> {
 			ExerciseExamReGroup exerciseExamReGroup1 = new ExerciseExamReGroup();
 			BeanUtils.copyProperties(exerciseExamReGroup,exerciseExamReGroup1);
-			//设置考试ID保存信息
+			//璁剧疆鑰冭瘯ID淇濆瓨淇℃伅
 			exerciseExamReGroup1.setExamId(examremedyId);
 			TraceUtils.setCreateTrace(exerciseExamReGroup1);
 			this.insert(exerciseExamReGroup1);
 		});
-		//循环复制批次
+		//寰幆澶嶅埗鎵规
 		for (ExamBatchInfo examBatchInfo : list) {
 			String remedyExamBatchId = UUIDUtils.generateSpecialUuid(32);
 			List<ExamBatchClassRe> reClasses = examBatchInfo.getReClasses();
 			List<ExamBatchClassRe> examBatchClassRes = new ArrayList<>();
 			reClasses.forEach(reClass -> {
-				//新建bean
+				//鏂板缓bean
 				ExamBatchClassRe examBatchClassRe = new ExamBatchClassRe();
-				//复制属性
+				//澶嶅埗灞炴��
 				BeanUtils.copyProperties(reClass,examBatchClassRe);
-				//修改考试ID以及批次ID
+				//淇敼鑰冭瘯ID浠ュ強鎵规ID
 				examBatchClassRe.setExamId(examremedyId);
 				examBatchClassRe.setExamBatchId(remedyExamBatchId);
 				examBatchClassRe.setExamClassReId(UUIDUtils.generateSpecialUuid(32));
@@ -293,14 +293,14 @@
 			});
 			ExamBatchInfo examBatchInfo1 = new ExamBatchInfo();
 			BeanUtils.copyProperties(examBatchInfo,examBatchInfo1);
-			//设置批次考试ID为补考的ID
+			//璁剧疆鎵规鑰冭瘯ID涓鸿ˉ鑰冪殑ID
 			examBatchInfo1.setExamId(examremedyId);
-			//设置开始结束时间
+			//璁剧疆寮�濮嬬粨鏉熸椂闂�
 			examBatchInfo1.setStartTime(startTime);
 			examBatchInfo1.setEndTime(endTime);
 			examBatchInfo1.setExamBatchId(remedyExamBatchId);
 			examBatchInfo1.setReClasses(examBatchClassRes);
-			//添加批次
+			//娣诲姞鎵规
 			examBatchService.addExamBatch(examBatchInfo1);
 			remedylist.add(examBatchInfo1);
 		}
@@ -319,13 +319,13 @@
 		Result result = new Result(true);
 		if (examIds != null && examIds.length > 0) {
 			String hql = "update ExamInfo set deleteFlag = true where examId=?";
-			//判断ID里是否包含补考考试
+			//鍒ゆ柇ID閲屾槸鍚﹀寘鍚ˉ鑰冭�冭瘯
 			ExamInfo examInfo = queryReExam();
 			if (examInfo!=null) {
 				for (String examId : examIds) {
 					if (examId.equals(examInfo.getExamId())){
 						result.setSuccess(false);
-						result.setMsg("含有补考考试,不可删除");
+						result.setMsg("鍚湁琛ヨ�冭�冭瘯锛屼笉鍙垹闄�");
 						return result;
 					}
 				}
@@ -340,7 +340,7 @@
 		ExamInfo examInfo = read(ExamInfo.class, param.getExamId());
 
 		if (examInfo == null) {
-			return new Result(false, "考试不存在");
+			return new Result(false, "鑰冭瘯涓嶅瓨鍦�");
 		}
 
 		TraceUtils.setUpdateTrace(examInfo);
@@ -365,16 +365,16 @@
 			examInfo.setTotalScore(param.getTotalScore());
 			examInfo.setPassingScore(param.getPassingScore());
 
-			//如果是随机组卷
+			//濡傛灉鏄殢鏈虹粍鍗�
 			if(ExamInfo.EXAM_TYPE_RANDOM==examInfo.getExamType()||ExamInfo.EXAM_TYPE_RANDOM_BY_GROUP==examInfo.getExamType()){
-				// 删除之前的Exercise关联的group
+				// 鍒犻櫎涔嬪墠鐨凟xercise鍏宠仈鐨刧roup
 				this.bulkUpdate("update ExerciseExamReGroup set deleteFlag = 1 where examId = ?",new Object[] { param.getExamId()});
 
 				List<ExerciseItemSet> lstExerciseItemSet = param.getExerciseItemSets();
 
-				// 保存题目类型
+				// 淇濆瓨棰樼洰绫诲瀷
 				if (lstExerciseItemSet != null && lstExerciseItemSet.size() > 0) {
-					// 删除历史数据
+					// 鍒犻櫎鍘嗗彶鏁版嵁
 					this.bulkUpdate("update ExerciseItemSet set deleteFlag = 1 where deleteFlag is false and exerciseInfoId = ?",
 							new Object[] { param.getExamId()});
 					for (ExerciseItemSet itemSet : lstExerciseItemSet) {
@@ -384,10 +384,10 @@
 					}
 				}
 
-				//保存考试,源题目组信息
+				//淇濆瓨鑰冭瘯锛屾簮棰樼洰缁勪俊鎭�
 				String [] sourceGroupIds = param.getSourceGroupIds().split(",");
 
-				// 保存关联练习组
+				// 淇濆瓨鍏宠仈缁冧範缁�
 				if (sourceGroupIds != null && sourceGroupIds.length > 0) {
 					ExerciseExamReGroup reGroup = null;
 					for (String groupId : sourceGroupIds) {
@@ -402,7 +402,7 @@
 				}
 
 			}else{
-				// 删除原来的关联关系
+				// 鍒犻櫎鍘熸潵鐨勫叧鑱斿叧绯�
 				String hql = "update ExamReExamPaper set deleteFlag = true where examId=? ";
 				this.bulkUpdate(hql, new Object[] { param.getExamId() });
 				List<ExamReExamPaper> lstExamReExamPaper = param.getReExamPapers();
@@ -432,7 +432,7 @@
 
 			for (ExamInfo examInfo : lstExamInfo) {
 				if (ExamInfo.STATUS_DRAFT != examInfo.getExamStatus()) {
-					return new Result(false, "只有草稿状态的考试,才能发布。");
+					return new Result(false, "鍙湁鑽夌鐘舵�佺殑鑰冭瘯,鎵嶈兘鍙戝竷銆�");
 				}
 				examInfo.setExamStatus(ExamInfo.STATUS_PUBLISH);
 				TraceUtils.setUpdateTrace(examInfo);
@@ -442,7 +442,7 @@
 				this.doExamPublishMsg(examInfo.getExamId());
 			}
 		} else {
-			return new Result(false, "没有选择要发布的考试。");
+			return new Result(false, "娌℃湁閫夋嫨瑕佸彂甯冪殑鑰冭瘯銆�");
 		}
 		return new Result(true);
 	}
@@ -459,14 +459,14 @@
 				Map<String,String> attrs = CollectionUtils.newStringMap("examId",examId,"examName",examInfo.getExamName(),
 					"subjectId",examInfo.getSubjectId(),"subjectName",examInfo.getSubject().getName(),
 					"examBatchId",(String)temp.get("examBatchId"),"classId",(String)temp.get("classId"),"recordId",(String)temp.get("recordId"));
-				msgInfoService.doSendTextMsgToUsers(new String[]{(String)temp.get("userId")},MsgInfo.TYPE_EXAM, "发布了考试", attrs);
+				msgInfoService.doSendTextMsgToUsers(new String[]{(String)temp.get("userId")},MsgInfo.TYPE_EXAM, "鍙戝竷浜嗚�冭瘯", attrs);
 			}
 		}
 	}
 
 	@Scheduled(cron = " 0 0/5 * * * ?")
 	protected void doTimer() {
-//		System.out.println("执行考试提醒定时器");
+//		System.out.println("鎵ц鑰冭瘯鎻愰啋瀹氭椂鍣�");
 		Calendar cal =Calendar.getInstance();
 		cal.add(Calendar.HOUR, 1);
 		Date beginDate = cal.getTime();
@@ -477,12 +477,12 @@
 		String hql = "select b.examBatchId from ExamBatchInfo b ,ExamInfo f where b.examId = f.examId "
 				+ " and b.startTime>=? and b.startTime<? and f.examStatus=? and f.deleteFlag is false and b.deleteFlag is false order by b.startTime desc";
 
-		//查询1小时内将开始的直播
+		//鏌ヨ1灏忔椂鍐呭皢寮�濮嬬殑鐩存挱
  		List<String> lstBatchIds = this.find(hql,CollectionUtils.newList(beginDate,endDate,ExamInfo.STATUS_PUBLISH), String.class);
 
 		if(lstBatchIds!=null && lstBatchIds.size()>0){
 			for(String batchId:lstBatchIds){
-				this.doExamRemindMsg(batchId,MsgInfo.TYPE_REMIND, "考试马上开始了,请做好考试准备");
+				this.doExamRemindMsg(batchId,MsgInfo.TYPE_REMIND, "鑰冭瘯椹笂寮�濮嬩簡锛岃鍋氬ソ鑰冭瘯鍑嗗");
 			}
 		}
 	}
@@ -510,14 +510,14 @@
 			List<ExamInfo> lstExamInfo = this.findByComplexHql(hql, pramMap, ExamInfo.class);
 			for (ExamInfo examInfo : lstExamInfo) {
 				if (ExamInfo.STATUS_PUBLISH != examInfo.getExamStatus()) {
-					return new Result(false, "只有发布状态的考试,才能撤回");
+					return new Result(false, "鍙湁鍙戝竷鐘舵�佺殑鑰冭瘯,鎵嶈兘鎾ゅ洖");
 				}
 				examInfo.setExamStatus(ExamInfo.STATUS_DRAFT);
 				TraceUtils.setUpdateTrace(examInfo);
 				save(examInfo);
 			}
 		} else {
-			return new Result(false, "没有选择要撤回的考试");
+			return new Result(false, "娌℃湁閫夋嫨瑕佹挙鍥炵殑鑰冭瘯");
 		}
 		return new Result(true);
 	}
@@ -537,7 +537,7 @@
 	}
 	@Override
 	public ExamInfo queryReExam() {
-		// 查询是否有进行中的考试
+		// 鏌ヨ鏄惁鏈夎繘琛屼腑鐨勮�冭瘯
 		ExamInfo examInfo = this.findUnique(
 				"from ExamInfo where maxLateMin=?  and deleteFlag is false ",
 				CollectionUtils.newList((short)1),
@@ -547,7 +547,7 @@
 	}
 
 	/**
-	 * 开始考试
+	 * 寮�濮嬭�冭瘯
 	 *
 	 * @param
 	 * @return
@@ -565,17 +565,17 @@
 				//TODO
 				"remainingSeconds",record.getRemainingSeconds(),"itemSet", lstItemSets,"subjectName", examInfo.getSubject().getName());
 
-		// 如果已提交就查询用户答案信息
-		//TODO 暂时不可以查看考试答案,已提交就不可以进入
+		// 濡傛灉宸叉彁浜ゅ氨鏌ヨ鐢ㄦ埛绛旀淇℃伅
+		//TODO 鏆傛椂涓嶅彲浠ユ煡鐪嬭�冭瘯绛旀锛屽凡鎻愪氦灏变笉鍙互杩涘叆
 		if (Integer.valueOf(record.getStatus())> 0) {
 			resultData.put("studentScore", record.getScore());
 			resultData.put("objStudentScore", record.getObjScore()==null?BigDecimal.ZERO:record.getObjScore());
-			return new Result(false,"考试已提交");
+			return new Result(false,"鑰冭瘯宸叉彁浜�");
 		}
-		//获取考试
+		//鑾峰彇鑰冭瘯
 		String ql="select i from ExamInfo i , ExamBatchClassRe r where i.deleteFlag is false and r.examBatchId=? and r.examId=i.examId";
 		ExamInfo exam = this.findUnique(ql, CollectionUtils.newList(examBatchId), ExamInfo.class);
-		//添加考试总时长
+		//娣诲姞鑰冭瘯鎬绘椂闀�
 		resultData.put("durationMin",exam.getDurationMin());
 		resultData.put("groupId", record.getExerciseGroupId());
 		resultData.put("totalScore", examInfo.getTotalScore());
@@ -585,7 +585,7 @@
 		return new Result(true,"",resultData);
 	}
 	/**
-	 * 开始补考考试
+	 * 寮�濮嬭ˉ鑰冭�冭瘯
 	 *
 	 * @param examId
 	 * @return
@@ -601,7 +601,7 @@
 		Map<String,Object> resultData = CollectionUtils.newObjectMap("exerciseRecordId", record.getRecordId(),"submitTime",record.getSubmitTime(),
 				//TODO
 				"remainingSeconds",record.getRemainingSeconds(),"itemSet", lstItemSets,"subjectName", examInfo.getSubject().getName());
-		//添加考试总时长
+		//娣诲姞鑰冭瘯鎬绘椂闀�
 		resultData.put("durationMin",examInfo.getDurationMin());
 		resultData.put("groupId", record.getExerciseGroupId());
 		resultData.put("totalScore", examInfo.getTotalScore());
@@ -612,7 +612,7 @@
 	}
 
 	/**
-	 * 判断是否是随机考试
+	 * 鍒ゆ柇鏄惁鏄殢鏈鸿�冭瘯
 	 * @param examType
 	 * @return
 	 */
@@ -621,7 +621,7 @@
 	}
 
 	/**
-	 * 获取考试试卷信息
+	 * 鑾峰彇鑰冭瘯璇曞嵎淇℃伅
 	 * @param examId
 	 * @param groupId
 	 * @param examType
@@ -645,7 +645,7 @@
 	}
 
 	/**
-	 * 手动添加题目位置信息
+	 * 鎵嬪姩娣诲姞棰樼洰浣嶇疆淇℃伅
 	 * @param groupId
 	 * @param examType
 	 * @param totalSocre
@@ -669,12 +669,12 @@
 				int itemCount = lstItemSets.get(i).getItemCount();
 				if (itemCount>0) {
 					examPaperSectionInfo.setGroupId(groupId);
-					//设置开始结束
+					//璁剧疆寮�濮嬬粨鏉�
 					examPaperSectionInfo.setItemStartOrder((short)count);
-					//获取题目设置的count,下次循环用
+					//鑾峰彇棰樼洰璁剧疆鐨刢ount,涓嬫寰幆鐢�
 					count+=itemCount;
 					examPaperSectionInfo.setItemEndOrder((short)count);
-					//名称
+					//鍚嶇О
 					examPaperSectionInfo.setSectionName(String.valueOf(lstItemSets.get(i).getItemType()));
 					examPaperSectionInfos.add(examPaperSectionInfo);
 				}
@@ -685,21 +685,21 @@
 			examPaperInfo = examPaperService.queryExamPaperDetail(examPaperInfo.getExamPaperId());
 			List<ExamPaperSectionInfo> examPaperSectionInfos = new ArrayList<>();
 			int count=0;
-			//获取试卷里的各种题数量设置
+			//鑾峰彇璇曞嵎閲岀殑鍚勭棰樻暟閲忚缃�
 			Map<String, ExamPaperInfo> statisticsMap = examPaperService.queryExamPaperItemsStatistic(new String[]{examPaperInfo.getExamPaperId()});
-			//把设置封装成itemSets
+			//鎶婅缃皝瑁呮垚itemSets
 			lstItemSets=new ArrayList<ExerciseItemSet>();
-			//单选
+			//鍗曢��
 			ExerciseItemSet exerciseItemSet1 = new ExerciseItemSet();
 			exerciseItemSet1.setItemCount(statisticsMap.get(examPaperInfo.getExamPaperId()).getSingleSelectCount());
 			exerciseItemSet1.setItemType((short) 1);
 			lstItemSets.add(exerciseItemSet1);
-			//多选
+			//澶氶��
 			ExerciseItemSet exerciseItemSet2 = new ExerciseItemSet();
 			exerciseItemSet2.setItemCount(statisticsMap.get(examPaperInfo.getExamPaperId()).getMultiSelectCount());
 			exerciseItemSet2.setItemType((short) 2);
 			lstItemSets.add(exerciseItemSet2);
-			//判断
+			//鍒ゆ柇
 			ExerciseItemSet exerciseItemSet3 = new ExerciseItemSet();
 			exerciseItemSet3.setItemCount(statisticsMap.get(examPaperInfo.getExamPaperId()).getJudgeCount());
 			exerciseItemSet3.setItemType((short) 3);
@@ -714,18 +714,18 @@
 			exerciseItemSet4.setItemCount(statisticsMap.get(examPaperInfo.getExamPaperId()).getFillBlanksCount());
 			exerciseItemSet4.setItemType((short) 4);
 			lstItemSets.add(exerciseItemSet4);
-			//将itemSets设置成页面要用到的ExamPaperSectionInfo设置
+			//灏唅temSets璁剧疆鎴愰〉闈㈣鐢ㄥ埌鐨凟xamPaperSectionInfo璁剧疆
 			for (int i=0;i<lstItemSets.size();i++) {
 				ExamPaperSectionInfo examPaperSectionInfo=new ExamPaperSectionInfo();
 				int itemCount = lstItemSets.get(i).getItemCount();
 				if (itemCount>0) {
 					examPaperSectionInfo.setGroupId(groupId);
-					//设置开始结束
+					//璁剧疆寮�濮嬬粨鏉�
 					examPaperSectionInfo.setItemStartOrder((short)count);
-					//获取题目设置的count,下次循环用
+					//鑾峰彇棰樼洰璁剧疆鐨刢ount,涓嬫寰幆鐢�
 					count+=itemCount;
 					examPaperSectionInfo.setItemEndOrder((short)count);
-					//名称
+					//鍚嶇О
 					examPaperSectionInfo.setSectionName(String.valueOf(lstItemSets.get(i).getItemType()));
 					examPaperSectionInfos.add(examPaperSectionInfo);
 				}
@@ -736,7 +736,7 @@
 	}
 
 	/**
-	 * 获取用户答题信息
+	 * 鑾峰彇鐢ㄦ埛绛旈淇℃伅
 	 * @param recordId
 	 * @return
 	 */
@@ -748,7 +748,7 @@
 	}
 
 	/**
-	 * 获取用户的考试记录,如果不存在则创建并返回
+	 * 鑾峰彇鐢ㄦ埛鐨勮�冭瘯璁板綍锛屽鏋滀笉瀛樺湪鍒欏垱寤哄苟杩斿洖
 	 * @param examBatchInfo
 	 * @param itemSets
 	 * @param classId
@@ -763,7 +763,7 @@
 		short examType = examBatchInfo.getExamInfo().getExamType();
 		int remainingSeconds = examBatchInfo.getExamInfo().getDurationMin()*60;
 
-		// 查询是否有进行中的考试
+		// 鏌ヨ鏄惁鏈夎繘琛屼腑鐨勮�冭瘯
 		ExerciseRecord record = this.findUnique(
 				"from ExerciseRecord where examBatchId=? and classId=? and userId = ? and deleteFlag is false ",
 				CollectionUtils.newList(examBatchId,classId,StringUtils.isNotEmpty(studentUserId) ? studentUserId : ClientUtils.getUserId()),
@@ -774,10 +774,10 @@
 			String cacheKey = "EXAM_DO_COUNT_".concat(examBatchId);
 			int doCount = this.getCachedRecordCount(cacheKey,examBatchId);
 
-			//随机创建题目组
+			//闅忔満鍒涘缓棰樼洰缁�
 			if(checkIsRandomExam(examType)){
-				String newGroupName = examId+"-"+examBatchNo+"-随机试卷题库-"+(++doCount);
-				//查题库
+				String newGroupName = examId+"-"+examBatchNo+"-闅忔満璇曞嵎棰樺簱-"+(++doCount);
+				//鏌ラ搴�
 				List<ExerciseGroup> lstSourceGroup = queryExamGroups(examId, ExerciseExamReGroup.GROUP_TYPE_SOURCE);
 				String[] sourceGroupIds = QBeanUtils.listPropertyVal(lstSourceGroup, "groupId").toArray(new String[lstSourceGroup.size()]);
 				groupId = this.exerciseGroupService.doCreateRandomExerciseGroup(newGroupName,ExerciseGroup.TYPE_EXERCISE_EXAM_ITEM,sourceGroupIds,itemSets);
@@ -791,7 +791,7 @@
 		return record;
 	}
 	/**
-	 * 创建补考考试记录
+	 * 鍒涘缓琛ヨ�冭�冭瘯璁板綍
 	 * @param examBatchInfo
 	 * @param itemSets
 	 * @param studentUserId
@@ -805,15 +805,15 @@
 		short examType = examInfo.getExamType();
 		int remainingSeconds = examInfo.getDurationMin()*60;
 
-		//创建考试记录
+		//鍒涘缓鑰冭瘯璁板綍
 		String groupId = null;
 		String cacheKey = "EXAM_DO_COUNT_".concat(examId);
 		int doCount = this.getCachedRecordCount(cacheKey,examId);
 
-		//随机创建题目组
+		//闅忔満鍒涘缓棰樼洰缁�
 		if(checkIsRandomExam(examType)){
-			String newGroupName = examId+"-"+UUIDUtils.generateSpecialUuid(4)+"-随机试卷题库-"+(++doCount);
-			//查题库
+			String newGroupName = examId+"-"+UUIDUtils.generateSpecialUuid(4)+"-闅忔満璇曞嵎棰樺簱-"+(++doCount);
+			//鏌ラ搴�
 			List<ExerciseGroup> lstSourceGroup = queryExamGroups(examId, ExerciseExamReGroup.GROUP_TYPE_SOURCE);
 			String[] sourceGroupIds = QBeanUtils.listPropertyVal(lstSourceGroup, "groupId").toArray(new String[lstSourceGroup.size()]);
 			groupId = this.exerciseGroupService.doCreateRandomExerciseGroup(newGroupName,ExerciseGroup.TYPE_EXERCISE_EXAM_ITEM,sourceGroupIds,itemSets);
@@ -826,7 +826,7 @@
 		return record;
 	}
 
-	// 获取正在做试卷的学生数
+	// 鑾峰彇姝e湪鍋氳瘯鍗风殑瀛︾敓鏁�
 	private int getCachedRecordCount(String cacheKey,String examBatchId){
 		String cacheCount = stringRedisTemplate.opsForValue().get(cacheKey);
 		int doCount = StringUtils.isEmpty(cacheCount) ? 0 : Integer.valueOf(cacheCount);
@@ -854,7 +854,7 @@
 		record.setUserId(ClientUtils.getUserId());
 		record.setOrgId(ClientUtils.getOrgId());
 
-		//获取考试题目统计信息,并保存
+		//鑾峰彇鑰冭瘯棰樼洰缁熻淇℃伅锛屽苟淇濆瓨
 		Map<String,Object> result = this.queryItemStatics(itemSets, groupId);
 		record.setTotalScore(new BigDecimal(examInfo.getTotalScore()));
 		record.setPassingScore(new BigDecimal(examInfo.getPassingScore()));
@@ -868,27 +868,27 @@
 		return record;
 	}
 
-	//设置补考考试记录
+	//璁剧疆琛ヨ�冭�冭瘯璁板綍
 	private ExerciseRecord insertReExerRecord(ExamInfo examInfo,List<ExerciseItemSet> itemSets,String groupId,int remainingSeconds) {
 //		ExamInfo examInfo = examBatchInfo.getExamInfo();
 
 		ExerciseRecord record = new ExerciseRecord();
 		record.setDeleteFlag(false);
 		record.setExerciseGroupId(groupId);
-		//因为没有批次,所有时间所有人都可以考,所以这里将批次ID设置成考试ID
+		//鍥犱负娌℃湁鎵规锛屾墍鏈夋椂闂存墍鏈変汉閮藉彲浠ヨ�冿紝鎵�浠ヨ繖閲屽皢鎵规ID璁剧疆鎴愯�冭瘯ID
 		record.setExamBatchId(examInfo.getExamId());
 		record.setDoCount(BigInteger.ZERO);
 		record.setCorrectCount(BigInteger.ZERO);
 		record.setTitleMaxNumber("0");
 		record.setStatus("0");
-		//不设置classID
+		//涓嶈缃甤lassID
 //		record.setClassId(classId);
 		record.setRemainingSeconds(remainingSeconds);
 		record.setScore(BigDecimal.ZERO);
 		record.setUserId(ClientUtils.getUserId());
 		record.setOrgId(ClientUtils.getOrgId());
 
-		//获取考试题目统计信息,并保存
+		//鑾峰彇鑰冭瘯棰樼洰缁熻淇℃伅锛屽苟淇濆瓨
 		Map<String,Object> result = this.queryItemStatics(itemSets, groupId);
 		record.setTotalScore(new BigDecimal(examInfo.getTotalScore()));
 		record.setPassingScore(new BigDecimal(examInfo.getPassingScore()));
@@ -903,14 +903,14 @@
 	}
 
 	/**
-	 * 获取补考记录集合
+	 * 鑾峰彇琛ヨ�冭褰曢泦鍚�
 	 * @param examId
 	 * @param userId
 	 * @return
 	 */
 	@Override
 	public Result getReExamRecordList(String examId, String userId) {
-		// 查询是否有进行中的考试
+		// 鏌ヨ鏄惁鏈夎繘琛屼腑鐨勮�冭瘯
 		List<ExerciseRecord> exerciseRecords = this.find(
 				"from ExerciseRecord where examBatchId=?  and userId = ? and deleteFlag is false ",
 				CollectionUtils.newList(examId, StringUtils.isNotEmpty(userId) ? userId : ClientUtils.getUserId()),
@@ -922,7 +922,7 @@
 		float subTotalScore = 0,objTotalScore=0;
 		int subItemCount=0,objItemCount=0;
 
-		//如果是随机组卷
+		//濡傛灉鏄殢鏈虹粍鍗�
 		if(itemSets!=null && itemSets.size()>0){
 			for(ExerciseItemSet s:itemSets){
 				if(s.getItemType()==ExerciseItem.TYPE_ESSAY_QUESTION){
@@ -963,7 +963,7 @@
 
 	@Override
 	public int getExamCount(String classId, String userId) {
-		// 查询记录数
+		// 鏌ヨ璁板綍鏁�
 		String hqlCount = "from ExamInfo i, ExamBatchInfo b,ExamBatchClassRe r WHERE "
 				+ " i.examId=b.examId and b.examBatchId = r.examBatchId AND r.classId =:classId AND i.examStatus=:examStatus  AND b.deleteFlag is false AND r.deleteFlag is false ";
 		int examCount = findCountByComplexHql(hqlCount,
@@ -972,10 +972,10 @@
 	}
 
 	/**
-	 * 查询考试关联的题目组
+	 * 鏌ヨ鑰冭瘯鍏宠仈鐨勯鐩粍
 	 * @param examId
 	 * @param
-	 * @return  题目组Map<id,>
+	 * @return  棰樼洰缁凪ap<id锛�>
 	 */
 	private List<ExerciseGroup> queryExamGroups(String examId,Short reType){
 		return this.find( "select p  from ExerciseExamReGroup g,ExerciseGroup p where g.groupId = p.groupId and g.examId=? and g.type=? and g.deleteFlag is false",
@@ -984,7 +984,7 @@
 
 
 	/**
-	 * 查询考试关联的题目配置信息
+	 * 鏌ヨ鑰冭瘯鍏宠仈鐨勯鐩厤缃俊鎭�
 	 * @param examId
 	 * @param
 	 * @return
diff --git a/src/main/java/com/qxueyou/scc/exercise/action/ExerciseCompleteController.java b/src/main/java/com/qxueyou/scc/exercise/action/ExerciseCompleteController.java
index 8c6466a..31e96d3 100644
--- a/src/main/java/com/qxueyou/scc/exercise/action/ExerciseCompleteController.java
+++ b/src/main/java/com/qxueyou/scc/exercise/action/ExerciseCompleteController.java
@@ -28,17 +28,17 @@
 import io.swagger.annotations.ApiOperation;
 
 /**
- *作业完成情况
+ *浣滀笟瀹屾垚鎯呭喌
  * 
  * @author kevin
  * @history 2018-03-11 create kevin
  * 
  */
-@Api(tags="作业完成情况管理接口")
+@Api(tags="浣滀笟瀹屾垚鎯呭喌绠$悊鎺ュ彛")
 @Controller
 @RequestMapping(value = "/exercise/complete")
 public class ExerciseCompleteController {
-	//分页查询中,默认记录条数和页数
+	//鍒嗛〉鏌ヨ涓紝榛樿璁板綍鏉℃暟鍜岄〉鏁�
 	private static final int DEFAULT_PAGE_SIZE=10;
 	private static final int DEFAULT_PAGE_NUM=1;
 	
@@ -54,23 +54,23 @@
 	
 	
 	/**
-	 * 作业完成情况列表
+	 * 浣滀笟瀹屾垚鎯呭喌鍒楄〃
 	 * */
-	@ApiOperation(value = "作业完成情况列表", notes = "")
+	@ApiOperation(value = "浣滀笟瀹屾垚鎯呭喌鍒楄〃", notes = "")
     @ApiImplicitParams({
-    	@ApiImplicitParam(name = "keyword", value = "学生名称", required = false, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "exerciseInfoId", value = "作业id", required = true, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "status", value = "状态(0未提交,1待批阅,2已批阅,3需重写)", required = false, paramType="query", dataType = "Short"),
+    	@ApiImplicitParam(name = "keyword", value = "瀛︾敓鍚嶇О", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "exerciseInfoId", value = "浣滀笟id", required = true, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "status", value = "鐘舵�侊紙0鏈彁浜わ紝1寰呮壒闃咃紝2宸叉壒闃咃紝3闇�閲嶅啓锛�", required = false, paramType="query", dataType = "Short"),
     })
 	@RequestMapping(value = "/list", method = RequestMethod.GET)
 	public @ResponseBody Result list(String keyword,String exerciseInfoId,Short status,Integer pageSize,Integer pageNum){
 		pageSize = pageSize != null && pageSize > 0 ? pageSize : DEFAULT_PAGE_SIZE;
 		pageNum = pageNum != null && pageNum > 0 ? pageNum : DEFAULT_PAGE_NUM;
 		
-		//读取作业信息
+		//璇诲彇浣滀笟淇℃伅
 		ExerciseInfo exerciseInfo =  commonService.read(ExerciseInfo.class, exerciseInfoId);
 		
-		//总考试数量
+		//鎬昏�冭瘯鏁伴噺
 		int totalCount = exerciseCompleteService.listCount(keyword == null ? "" : keyword.trim(),exerciseInfoId,status);
 		Pager pager = new Pager(pageSize,pageNum);
 		pager.setTotalCount(totalCount);
@@ -86,19 +86,19 @@
 	}
 	
 	/**
-	 * 根据不同的作业类型,返回作业完成情况及审批详情
+	 * 鏍规嵁涓嶅悓鐨勪綔涓氱被鍨嬶紝杩斿洖浣滀笟瀹屾垚鎯呭喌鍙婂鎵硅鎯�
 	 * @param exerciseCompleteId
 	 * @return
 	 */
-	@ApiOperation(value = "详情页面数据", notes = "")
-    @ApiImplicitParams({@ApiImplicitParam(name = "exerciseCompleteId", value = "作业完成情况id", required = true, paramType="query", dataType = "String")})
+	@ApiOperation(value = "璇︽儏椤甸潰鏁版嵁", notes = "")
+    @ApiImplicitParams({@ApiImplicitParam(name = "exerciseCompleteId", value = "浣滀笟瀹屾垚鎯呭喌id", required = true, paramType="query", dataType = "String")})
 	@RequestMapping(value = "/detail", method = RequestMethod.GET)
 	public @ResponseBody Result detail(String exerciseCompleteId) {
 		return new Result(true,"",CollectionUtils.newObjectMap("detail",exerciseCompleteService.queryExerciseCompleteDetail(exerciseCompleteId)));
 	}
 	
 	/**
-	 * 批阅
+	 * 鎵归槄
 	 * @param exerciseCompleteInfo
 	 * @return
 	 */
@@ -112,23 +112,23 @@
 	}	
 	
 	/**
-	 * 批阅
+	 * 鎵归槄
 	 * @param examInfo
 	 * @return
 	 */
-	@ApiOperation(value = "批阅", notes = "")
+	@ApiOperation(value = "鎵归槄", notes = "")
 	@RequestMapping(value = "/check", method = RequestMethod.POST)
 	public @ResponseBody Result checkExerciseComplateInfo(@RequestBody ExerciseCompleteInfo exerciseCompleteInfo) {
 		return  exerciseCompleteService.updateExerciseComplete(exerciseCompleteInfo);
 	}
 	
 	/**
-	 * 批阅下一个
+	 * 鎵归槄涓嬩竴涓�
 	 * @param examInfo
 	 * @return
 	 */
-	@ApiOperation(value = "批阅下一个", notes = "")
-	@ApiImplicitParams({@ApiImplicitParam(name = "exerciseInfoId", value = "作业id", required = true, paramType="query", dataType = "String")})
+	@ApiOperation(value = "鎵归槄涓嬩竴涓�", notes = "")
+	@ApiImplicitParams({@ApiImplicitParam(name = "exerciseInfoId", value = "浣滀笟id", required = true, paramType="query", dataType = "String")})
 	@RequestMapping(value = "/checknext", method = RequestMethod.GET)
 	public @ResponseBody Result checkExerciseComplateInfo(String exerciseInfoId) {
 		String hql = "from ExerciseCompleteInfo where exerciseInfoId=? and completeStatus=? and deleteFlag is false order by studentNo asc";
@@ -136,7 +136,7 @@
 		if(lastCompleteInfo!=null){
 			return new Result(true,"",CollectionUtils.newObjectMap("detail",exerciseCompleteService.queryExerciseCompleteDetail(lastCompleteInfo.getExerciseCompleteId())));
 		}else{
-			return new Result(false,"已经没有待批阅的作业!");
+			return new Result(false,"宸茬粡娌℃湁寰呮壒闃呯殑浣滀笟!");
 		}
 	}
 
diff --git a/src/main/java/com/qxueyou/scc/exercise/action/ExerciseController.java b/src/main/java/com/qxueyou/scc/exercise/action/ExerciseController.java
index 3170c63..dd41866 100644
--- a/src/main/java/com/qxueyou/scc/exercise/action/ExerciseController.java
+++ b/src/main/java/com/qxueyou/scc/exercise/action/ExerciseController.java
@@ -70,33 +70,33 @@
 import com.qxueyou.scc.user.model.ExportUserScore;
 
 /**
- * 练习题目控制
+ * 缁冧範棰樼洰鎺у埗
  * @author zhiyong
  *
  */
 @Controller
 @RequestMapping(value = "/exercise/Exercise")
 public class ExerciseController {
-	/** 日志  */
+	/** 鏃ュ織  */
 	private static final Logger log = LogManager.getLogger("ExerciseController");
 	
 	/** commonDAO  */
 	@Autowired
 	private CommonDAO commonDAO;
 	
-	/** 练习 service */
+	/** 缁冧範 service */
 	@Autowired
 	private IExerciseService exerciseService;
 	
-	/** 练习导入 service */
+	/** 缁冧範瀵煎叆 service */
 	@Autowired
 	private IExercisePyService exercisePyService;
 	
-	/** 练习V2.0版本接口service */
+	/** 缁冧範V2.0鐗堟湰鎺ュ彛service */
 	@Autowired
 	private IExerciseVerService exerciseVerService;
 
-	/** 练习V2.0版本接口service */
+	/** 缁冧範V2.0鐗堟湰鎺ュ彛service */
 //	@Autowired
 //	IConfigService cfg;
 	
@@ -104,52 +104,52 @@
 	@Autowired
 	IOssService ossService;
 	
-	/** 消息发送 service */
+	/** 娑堟伅鍙戦�� service */
 //	@Autowired
 //	IMsgVenderService  easemobService;
 	
-	/** 组id */
+	/** 缁刬d */
 	private static final String GROUP_ID = "groupId";
 	
-	/** 做题记录id */
+	/** 鍋氶璁板綍id */
 	private static final String EXERCISE_RECORD_ID = "exerciseRecordId";
 	
-	/** ---------------------------APP V2.0接口 start----------------------*/
+	/** ---------------------------APP V2.0鎺ュ彛 start----------------------*/
 	/**
-	 * APP2.0: 获取家庭作业list
+	 * APP2.0: 鑾峰彇瀹跺涵浣滀笟list
 	 * URL:    /exercise/Exercise/homeWorkListNew
 	 * 
 	 * 
-	 *请求参数={
-			subjectId:课程id,//可选,用于高校版
-			page:当前页,//必传,大于0
-			limit:每页限制条数,//必传,大于0
+	 *璇锋眰鍙傛暟={
+			subjectId:璇剧▼id锛�//鍙�夛紝鐢ㄤ簬楂樻牎鐗�
+			page:褰撳墠椤�,//蹇呬紶,澶т簬0
+			limit:姣忛〉闄愬埗鏉℃暟,//蹇呬紶,澶т簬0
 		}
-		 返回参数=[
+		 杩斿洖鍙傛暟=[
 		    {
-		        GROUP_ID:"组id",
-		        "classId":班级id,
-		        "courseId":科目id,
-		        "orgId":机构id,
-		        "subjectId":课程id,
-		        "name":"组名",
-		        "type":组类型 ,
-		        "updateTime":更新时间,
-		        "answerUpdateTime":本套题答题更新时间,
-		        "allCount":题目总数,
-		        "exerciseTime":"考试时间",
-		        EXERCISE_RECORD_ID:"记录id",
-		        "doCount": 做题个数,
-		        "correctCount": 正确个数,
-		        "submitNumber":已提交人数(家庭作业),
-		        "currTitleNumber":当前做题序号,
-		        "status":做题状态(0:未提交 1:已提交),
-		        "completionRate": 完成率, 
-		        "accuracy": 正确率, 
-		        "score": 分数,
-		        "extendAllCount":错题本、收藏本总数
+		        GROUP_ID:"缁刬d",
+		        "classId":鐝骇id,
+		        "courseId":绉戠洰id,
+		        "orgId":鏈烘瀯id,
+		        "subjectId":璇剧▼id,
+		        "name":"缁勫悕",
+		        "type":缁勭被鍨� ,
+		        "updateTime":鏇存柊鏃堕棿,
+		        "answerUpdateTime":鏈棰樼瓟棰樻洿鏂版椂闂�,
+		        "allCount":棰樼洰鎬绘暟,
+		        "exerciseTime":"鑰冭瘯鏃堕棿",
+		        EXERCISE_RECORD_ID:"璁板綍id",
+		        "doCount": 鍋氶涓暟,
+		        "correctCount": 姝g‘涓暟,
+		        "submitNumber":宸叉彁浜や汉鏁�(瀹跺涵浣滀笟),
+		        "currTitleNumber":褰撳墠鍋氶搴忓彿,
+		        "status":鍋氶鐘舵��(0锛氭湭鎻愪氦 1锛氬凡鎻愪氦),
+		        "completionRate": 瀹屾垚鐜�, 
+		        "accuracy": 姝g‘鐜�, 
+		        "score": 鍒嗘暟,
+		        "extendAllCount":閿欓鏈�佹敹钘忔湰鎬绘暟
 		    },
-		    ...循环多个
+		    ...寰幆澶氫釜
 		]
 	 * 
 	 * @return
@@ -159,9 +159,9 @@
 			@RequestParam(value="subjectId", required = false) String subjectId,
 			@RequestParam(value="page") int page,
 			@RequestParam(value="limit") int limit,
-			@RequestParam(value="selected", required = false) Integer selected)  {// 0:全部  1:未开始 2:做题中 3:已提交
+			@RequestParam(value="selected", required = false) Integer selected)  {// 0:鍏ㄩ儴  1锛氭湭寮�濮� 2锛氬仛棰樹腑 3锛氬凡鎻愪氦
 
-		// 获取group data
+		// 鑾峰彇group data
 		List<ExerGroupResponseData> lstResult = getExericseListData(ExerciseGroup.TYPE_HOMEWORK, 
 				null, page, limit, selected, null);
 		
@@ -170,7 +170,7 @@
 	
 	
 	/**
-	 * APP2.0: 获取章节练习list
+	 * APP2.0: 鑾峰彇绔犺妭缁冧範list
 	 * URL:    /exercise/Exercise/chapterListNew
 	 * 
 	 * @return
@@ -182,7 +182,7 @@
 			@RequestParam(value="limit") int limit,
 			@RequestParam(value="selected", required = false) Integer selected, String chapterId)  {
 		
-		// 获取group data
+		// 鑾峰彇group data
 		List<ExerGroupResponseData> lstResult = getExericseListData(ExerciseGroup.TYPE_CHAPTER_ITEM, 
 				subjectId, page, limit, selected, chapterId);
 		
@@ -190,7 +190,7 @@
 	}
 	
 	/**
-	 * APP2.0: 获取模拟考试list
+	 * APP2.0: 鑾峰彇妯℃嫙鑰冭瘯list
 	 * URL:    /exercise/Exercise/examsListNew
 	 * 
 	 * @return
@@ -202,7 +202,7 @@
 			@RequestParam(value="limit") int limit,
 			@RequestParam(value="selected", required = false) Integer selected)  {
 		
-		// 获取group data
+		// 鑾峰彇group data
 		List<ExerGroupResponseData> lstResult = getExericseListData(ExerciseGroup.TYPE_MOCK_EXAM, 
 				null, page, limit, selected, null);
 		
@@ -210,7 +210,7 @@
 	}
 	
 	/**
-	 * APP2.0: 获取专题练习list
+	 * APP2.0: 鑾峰彇涓撻缁冧範list
 	 * URL:    /exercise/Exercise/topicListNew
 	 * 
 	 * @return
@@ -222,7 +222,7 @@
 			@RequestParam(value="limit") int limit,
 			@RequestParam(value="selected", required = false) Integer selected)  {
 		
-		// 获取group data
+		// 鑾峰彇group data
 		List<ExerGroupResponseData> lstResult = getExericseListData(ExerciseGroup.TYPE_EXERCISE_TOPIC, 
 				null, page, limit, selected, null);
 		
@@ -230,7 +230,7 @@
 	}
 	
 	/**
-	 * APP2.0: 获取专题练习list
+	 * APP2.0: 鑾峰彇涓撻缁冧範list
 	 * URL:    /exercise/Exercise/freeListNew
 	 * 
 	 * @return
@@ -242,7 +242,7 @@
 			@RequestParam(value="limit") int limit,
 			@RequestParam(value="selected", required = false) Integer selected)  {
 		
-		// 获取group data
+		// 鑾峰彇group data
 		List<ExerGroupResponseData> lstResult = getExericseListData(ExerciseGroup.TYPE_EXERCISE_FREE, 
 				null, page, limit, selected, null);
 		
@@ -250,12 +250,12 @@
 	}
 	
 	/**
-	 * 获取练习列表数据
+	 * 鑾峰彇缁冧範鍒楄〃鏁版嵁
 	 * @param exerType
 	 * @param subjectId
 	 * @param page
 	 * @param limit
-	 * @param selected // 0:全部  1:未开始 2:做题中 3:已提交
+	 * @param selected // 0:鍏ㄩ儴  1锛氭湭寮�濮� 2锛氬仛棰樹腑 3锛氬凡鎻愪氦
 	 * @return
 	 */
 	private List<ExerGroupResponseData> getExericseListData(short exerType, 
@@ -264,24 +264,24 @@
 		int pageSize = limit;
 		Integer iSelected = selected;
 		
-		// 1.分页信息
+		// 1.鍒嗛〉淇℃伅
 		if(pageNum < 1){
 			pageNum = 1;
 		}
 		if(pageSize < 1){
 			pageSize = 1;
 		}
-		if(iSelected == null){//为空设置为 全部
+		if(iSelected == null){//涓虹┖璁剧疆涓� 鍏ㄩ儴
 			iSelected = 0;
 		}
 		Pager pager = new Pager();
 		pager.setPageNum(pageNum);
 		pager.setPageSize(limit);
 		
-		// 2.得到列表数据
+		// 2.寰楀埌鍒楄〃鏁版嵁
 		List<ExerGroupResponseData> lstResult = exerciseVerService.queryExericseListData(exerType,subjectId,pager,iSelected, chapterId);
 		
-		if(null == lstResult){// 结果转换成 []
+		if(null == lstResult){// 缁撴灉杞崲鎴� []
 			lstResult = new ArrayList<ExerGroupResponseData>();
 		}
 		
@@ -289,40 +289,40 @@
 	}
 
 	/**
-	 * APP2.0: 查询做题记录
+	 * APP2.0: 鏌ヨ鍋氶璁板綍
 	 * URL:    /exercise/Exercise/exerRecord
-	 *  请求参数={
-			exerType:练习类型,//必传
-			subjectId:课程id,//可选,用于高校版
-			page:当前页,//必传,大于0
-			limit:每页限制条数,//必传,大于0
+	 *  璇锋眰鍙傛暟={
+			exerType:缁冧範绫诲瀷,//蹇呬紶
+			subjectId:璇剧▼id锛�//鍙�夛紝鐢ㄤ簬楂樻牎鐗�
+			page:褰撳墠椤�,//蹇呬紶,澶т簬0
+			limit:姣忛〉闄愬埗鏉℃暟,//蹇呬紶,澶т簬0
 		}
 		
-		返回参数=[
+		杩斿洖鍙傛暟=[
 			    {
-			        GROUP_ID:"组id",
-			        "classId":班级id,
-			        "courseId":科目id,
-			        "orgId":机构id,
-			        "subjectId":课程id,
-			        "name":"组名",
-			        "type":组类型 ,
-			        "updateTime":更新时间,
-			        "answerUpdateTime":本套题答题更新时间,
-			        "allCount":题目总数,
-			        "exerciseTime":"考试时间",
-			        EXERCISE_RECORD_ID:"记录id",
-			        "doCount": 做题个数,
-			        "correctCount": 正确个数,
-			        "submitNumber":已提交人数(家庭作业),
-			        "currTitleNumber":当前做题序号,
-			        "status":做题状态(0:未提交 1:已提交),
-			        "completionRate": 完成率, 
-			        "accuracy": 正确率, 
-			        "score": 分数,
-			        "extendAllCount":错题本、收藏本总数
+			        GROUP_ID:"缁刬d",
+			        "classId":鐝骇id,
+			        "courseId":绉戠洰id,
+			        "orgId":鏈烘瀯id,
+			        "subjectId":璇剧▼id,
+			        "name":"缁勫悕",
+			        "type":缁勭被鍨� ,
+			        "updateTime":鏇存柊鏃堕棿,
+			        "answerUpdateTime":鏈棰樼瓟棰樻洿鏂版椂闂�,
+			        "allCount":棰樼洰鎬绘暟,
+			        "exerciseTime":"鑰冭瘯鏃堕棿",
+			        EXERCISE_RECORD_ID:"璁板綍id",
+			        "doCount": 鍋氶涓暟,
+			        "correctCount": 姝g‘涓暟,
+			        "submitNumber":宸叉彁浜や汉鏁�(瀹跺涵浣滀笟),
+			        "currTitleNumber":褰撳墠鍋氶搴忓彿,
+			        "status":鍋氶鐘舵��(0锛氭湭鎻愪氦 1锛氬凡鎻愪氦),
+			        "completionRate": 瀹屾垚鐜�, 
+			        "accuracy": 姝g‘鐜�, 
+			        "score": 鍒嗘暟,
+			        "extendAllCount":閿欓鏈�佹敹钘忔湰鎬绘暟
 			    },
-			    ...循环多个
+			    ...寰幆澶氫釜
 			]
 	 * @param page
 	 * @param start
@@ -339,7 +339,7 @@
 		int pageNum = page;
 		int pageSize = limit;
 		
-		// 1.分页信息
+		// 1.鍒嗛〉淇℃伅
 		if(pageNum < 1){
 			pageNum = 1;
 		}
@@ -353,7 +353,7 @@
 		
 		
 		StringBuffer hql = new StringBuffer(512);
-		// 2.查询结果
+		// 2.鏌ヨ缁撴灉
 		hql.append("select g,"
 					+ "  r.recordId,r.updateTime,r.doCount,r.titleMaxNumber,r.status,"
 					+ "	 r.correctCount,r.completionRate,r.score,r.accuracy,e.repeatFlag,e.classAccuracy, "
@@ -379,10 +379,10 @@
 		
 		List<ExerGroupResponseData> lstResult = new ArrayList<ExerGroupResponseData>(lstRecord.size());
 		
-		// 3.重组字段
+		// 3.閲嶇粍瀛楁
 		for(Object[] obj:lstRecord){
 			
-			// 组装练习做题记录列表数据
+			// 缁勮缁冧範鍋氶璁板綍鍒楄〃鏁版嵁
 			lstResult.add(packagingExerciseRecordListData(exerType, obj));
 			
 		}
@@ -391,7 +391,7 @@
 	}
 
 	/**
-	 * 组装练习做题记录列表数据
+	 * 缁勮缁冧範鍋氶璁板綍鍒楄〃鏁版嵁
 	 * @param exerType
 	 * @param obj
 	 * @param group
@@ -403,7 +403,7 @@
 		ExerciseGroup group = (ExerciseGroup)obj[0];
 		ExerGroupResponseData result =  new ExerGroupResponseData();
 		
-		// 赋值字段值
+		// 璧嬪�煎瓧娈靛��
 		BeanUtils.copyProperties(group, result);
 		
 		result.setExerciseRecordId(String.valueOf(obj[1]));
@@ -416,26 +416,26 @@
 		result.setCurrTitleNumber(String.valueOf(obj[4]));
 		result.setStatus(String.valueOf(obj[5]));
 		
-		// 组装练习做题记录部分参数
+		// 缁勮缁冧範鍋氶璁板綍閮ㄥ垎鍙傛暟
 		packagingExerciseRecordListParam(obj, result);
 		
 		result.setExtendAllCount(group.getAllCount());
 		
 		if(obj[10] == null){
-			if(exerType == ExerciseGroup.TYPE_HOMEWORK){// 家庭作业
+			if(exerType == ExerciseGroup.TYPE_HOMEWORK){// 瀹跺涵浣滀笟
 				result.setRepeatFlag(false);
 			}else{
 				result.setRepeatFlag(true);
 			}
 		}else{
-			result.setRepeatFlag(!(boolean)obj[10]);// true 可以重做 false不能重做
+			result.setRepeatFlag(!(boolean)obj[10]);// true 鍙互閲嶅仛 false涓嶈兘閲嶅仛
 		}
 		
-		// 班级正确率
+		// 鐝骇姝g‘鐜�
 		result.setClassAccuracy(obj[11] == null ? "--" :obj[11]+"%");
 		
 		if(exerType == ExerciseGroup.TYPE_EXERCISE_FREE 
-				|| exerType == ExerciseGroup.TYPE_MOCK_EXAM ){// 自由练习 模拟考试
+				|| exerType == ExerciseGroup.TYPE_MOCK_EXAM ){// 鑷敱缁冧範 妯℃嫙鑰冭瘯
 			result.setExerciseTime(String.valueOf(obj[12]));
 			result.setExerciseStrategy(String.valueOf(obj[13]));
 			result.setExerciseSource(String.valueOf(obj[14]));
@@ -445,7 +445,7 @@
 	}
 
 	/**
-	 * 组装练习做题记录部分参数 拆分方法
+	 * 缁勮缁冧範鍋氶璁板綍閮ㄥ垎鍙傛暟 鎷嗗垎鏂规硶
 	 * @param obj
 	 * @param result
 	 */
@@ -474,88 +474,88 @@
 	}
 	
 	/**
-	 * APP2.0: 获取家庭作业练习题目数据
+	 * APP2.0: 鑾峰彇瀹跺涵浣滀笟缁冧範棰樼洰鏁版嵁
 	 * URL:    /exercise/Exercise/homeworkExercise
 	 * 
-	 * 请求参数={
-			groupId:组id,//必传
-			exerciseRecordId:当前页,//必传,没有传""
-			getExercise:是否更新题目,//必传,
-			boolean值,没有传false
-			getAnswer:是否更新答案,//必传,
-			boolean值,没有传false
+	 * 璇锋眰鍙傛暟={
+			groupId:缁刬d锛�//蹇呬紶
+			exerciseRecordId:褰撳墠椤�,//蹇呬紶,娌℃湁浼�""
+			getExercise:鏄惁鏇存柊棰樼洰,//蹇呬紶,
+			boolean鍊硷紝娌℃湁浼爁alse
+			getAnswer:鏄惁鏇存柊绛旀,//蹇呬紶,
+			boolean鍊硷紝娌℃湁浼爁alse
 		}
 	      
-		返回参数={
-	    "items":[// 题目集合
+		杩斿洖鍙傛暟={
+	    "items":[// 棰樼洰闆嗗悎
 	        {
-	            "exerciseId":练习id,
+	            "exerciseId":缁冧範id,
 	            "chapterId":null,
 	            "lessonId":null,
-	            "title":标题,
-	            "type":题目类型,
-	            "answer":正确答案,
+	            "title":鏍囬,
+	            "type":棰樼洰绫诲瀷,
+	            "answer":姝g‘绛旀,
 	            "options":[
 	                {
-	                    "optionId":选项id,
+	                    "optionId":閫夐」id,
 	                    "checked":true,
-	                    "content":内容,
-	                    "optionOrder":题目序号,
-	                    "exerciseItemId":"练习id",
+	                    "content":鍐呭,
+	                    "optionOrder":棰樼洰搴忓彿,
+	                    "exerciseItemId":"缁冧範id",
 	                    "imgs":[
 	                        {
-	                            "imgId":"图片id",
+	                            "imgId":"鍥剧墖id",
 	                            "exerciseObjectId":null,
-	                            "imgPath":图片路径,
-	                            "imgOrder":排序,
-	                            "objectType":图片类型 1:题目 2:选项
+	                            "imgPath":鍥剧墖璺緞,
+	                            "imgOrder":鎺掑簭,
+	                            "objectType":鍥剧墖绫诲瀷 1锛氶鐩� 2锛氶�夐」
 	                        },
-	                        ... 循环多个
+	                        ... 寰幆澶氫釜
 	                    ]
 	                },
-	                ... 循环多个
+	                ... 寰幆澶氫釜
 	            ],
 	            "scores":null,
 	            "itemNo":null,
 	            "analisisResult":{
-	                "allAccuracy":全站统计 正确率,
-	                "analysis":"解析",
-	                "submitAllNumber":全站 提交总数,
-	                "usualFaultAnswers":易错题,
+	                "allAccuracy":鍏ㄧ珯缁熻 姝g‘鐜�,
+	                "analysis":"瑙f瀽",
+	                "submitAllNumber":鍏ㄧ珯 鎻愪氦鎬绘暟,
+	                "usualFaultAnswers":鏄撻敊棰�,
 	                "exerciseAnalisisUId":null,
-	                "accuracy":个人统计 正确率,
-	                "submitNumber":个人统计  提交总数,
-	                "submitErrorNumber":个人统计  提交错误总数,
+	                "accuracy":涓汉缁熻 姝g‘鐜�,
+	                "submitNumber":涓汉缁熻  鎻愪氦鎬绘暟,
+	                "submitErrorNumber":涓汉缁熻  鎻愪氦閿欒鎬绘暟,
 	            },
 	            "imgs":[
 	                {
-	                   "imgId":"图片id",
+	                   "imgId":"鍥剧墖id",
 	                    "exerciseObjectId":null,
-	                    "imgPath":图片路径,
-	                    "imgOrder":排序,
-	                    "objectType":图片类型 1:题目 2:选项
+	                    "imgPath":鍥剧墖璺緞,
+	                    "imgOrder":鎺掑簭,
+	                    "objectType":鍥剧墖绫诲瀷 1锛氶鐩� 2锛氶�夐」
 	                },
-	                ... 循环多个
+	                ... 寰幆澶氫釜
 	            ],
 	            "commentFlag": null,
 	        }
 	    ],
-	    "answers":[// 个人答案集合
+	    "answers":[// 涓汉绛旀闆嗗悎
 	        {
-	            "answerUId":"主键id",
-	            "answer":选择答案  如:多选为(A,B,C),
+	            "answerUId":"涓婚敭id",
+	            "answer":閫夋嫨绛旀  濡傦細澶氶�変负(A,B,C),
 	            "correct":0,
-	            "exerciseItemId":练习id,
-	            EXERCISE_RECORD_ID:记录id,
-	            "userId":用户id
+	            "exerciseItemId":缁冧範id,
+	            EXERCISE_RECORD_ID:璁板綍id,
+	            "userId":鐢ㄦ埛id
 	        },
-	        ... 循环多个
+	        ... 寰幆澶氫釜
 	    ]
 	}
-	 * @param groupId 组id
-	 * @param exerciseRecordId 练习记录id
-	 * @param getExercise 是否获取练习题
-	 * @param getAnswer 是否获取答案
+	 * @param groupId 缁刬d
+	 * @param exerciseRecordId 缁冧範璁板綍id
+	 * @param getExercise 鏄惁鑾峰彇缁冧範棰�
+	 * @param getAnswer 鏄惁鑾峰彇绛旀
 	 * @return
 	 */
 	@RequestMapping(value = "homeworkExercise", method = RequestMethod.GET)
@@ -565,7 +565,7 @@
 			@RequestParam(value = "getExercise") boolean getExercise,
 			@RequestParam(value = "getAnswer") boolean getAnswer)  {
 		
-		// 获取结果
+		// 鑾峰彇缁撴灉
 		ExerItemResponseData result = exerciseVerService.queryExerItemResponseData(groupId,
 				exerciseRecordId, getExercise, getAnswer, ExerciseGroup.TYPE_HOMEWORK);
 		
@@ -573,12 +573,12 @@
 	}
 	
 	/**
-	 * APP2.0: 获取模拟考试练习题目数据
+	 * APP2.0: 鑾峰彇妯℃嫙鑰冭瘯缁冧範棰樼洰鏁版嵁
 	 * URL:    /exercise/Exercise/examExercise
-	 * @param groupId 组id
-	 * @param exerciseRecordId 练习记录id
-	 * @param getExercise 是否获取练习题
-	 * @param getAnswer 是否获取答案
+	 * @param groupId 缁刬d
+	 * @param exerciseRecordId 缁冧範璁板綍id
+	 * @param getExercise 鏄惁鑾峰彇缁冧範棰�
+	 * @param getAnswer 鏄惁鑾峰彇绛旀
 	 * @return
 	 */
 	@RequestMapping(value = "examExercise", method = RequestMethod.GET)
@@ -588,7 +588,7 @@
 			@RequestParam(value = "getExercise") boolean getExercise,
 			@RequestParam(value = "getAnswer") boolean getAnswer)  {
 		
-		// 获取结果
+		// 鑾峰彇缁撴灉
 		ExerItemResponseData result = exerciseVerService.queryExerItemResponseData(groupId,
 				exerciseRecordId, getExercise, getAnswer, ExerciseGroup.TYPE_MOCK_EXAM);
 		
@@ -597,12 +597,12 @@
 	
 	
 	/**
-	 * APP2.0: 获取章节练习题目数据
+	 * APP2.0: 鑾峰彇绔犺妭缁冧範棰樼洰鏁版嵁
 	 * URL:    /exercise/Exercise/chapterExercise
-	 * @param groupId 组id
-	 * @param exerciseRecordId 练习记录id
-	 * @param getExercise 是否获取练习题
-	 * @param getAnswer 是否获取答案
+	 * @param groupId 缁刬d
+	 * @param exerciseRecordId 缁冧範璁板綍id
+	 * @param getExercise 鏄惁鑾峰彇缁冧範棰�
+	 * @param getAnswer 鏄惁鑾峰彇绛旀
 	 * @return
 	 */
 	@RequestMapping(value = "chapterExercise", method = RequestMethod.GET)
@@ -612,7 +612,7 @@
 			@RequestParam(value = "getExercise") boolean getExercise,
 			@RequestParam(value = "getAnswer") boolean getAnswer)  {
 		
-		// 获取结果
+		// 鑾峰彇缁撴灉
 		ExerItemResponseData result = exerciseVerService.queryExerItemResponseData(groupId,
 				exerciseRecordId, getExercise, getAnswer, ExerciseGroup.TYPE_CHAPTER_ITEM);
 		
@@ -620,12 +620,12 @@
 	}
 	
 	/**
-	 * APP2.0: 获取专题练习题目数据
+	 * APP2.0: 鑾峰彇涓撻缁冧範棰樼洰鏁版嵁
 	 * URL:    /exercise/Exercise/topicExercise
-	 * @param groupId 组id
-	 * @param exerciseRecordId 练习记录id
-	 * @param getExercise 是否获取练习题
-	 * @param getAnswer 是否获取答案
+	 * @param groupId 缁刬d
+	 * @param exerciseRecordId 缁冧範璁板綍id
+	 * @param getExercise 鏄惁鑾峰彇缁冧範棰�
+	 * @param getAnswer 鏄惁鑾峰彇绛旀
 	 * @return
 	 */
 	@RequestMapping(value = "topicExercise", method = RequestMethod.GET)
@@ -635,7 +635,7 @@
 			@RequestParam(value = "getExercise") boolean getExercise,
 			@RequestParam(value = "getAnswer") boolean getAnswer)  {
 		
-		// 获取结果
+		// 鑾峰彇缁撴灉
 		ExerItemResponseData result = exerciseVerService.queryExerItemResponseData(groupId,
 				exerciseRecordId, getExercise, getAnswer, ExerciseGroup.TYPE_EXERCISE_TOPIC);
 		
@@ -644,12 +644,12 @@
 	
 	
 	/**
-	 * APP2.0: 获取专题练习题目数据
+	 * APP2.0: 鑾峰彇涓撻缁冧範棰樼洰鏁版嵁
 	 * URL:    /exercise/Exercise/freeExercise
-	 * @param groupId 组id
-	 * @param exerciseRecordId 练习记录id
-	 * @param getExercise 是否获取练习题
-	 * @param getAnswer 是否获取答案
+	 * @param groupId 缁刬d
+	 * @param exerciseRecordId 缁冧範璁板綍id
+	 * @param getExercise 鏄惁鑾峰彇缁冧範棰�
+	 * @param getAnswer 鏄惁鑾峰彇绛旀
 	 * @return
 	 */
 	@RequestMapping(value = "freeExercise", method = RequestMethod.GET)
@@ -659,7 +659,7 @@
 			@RequestParam(value = "getExercise") boolean getExercise,
 			@RequestParam(value = "getAnswer") boolean getAnswer)  {
 		
-		// 获取结果
+		// 鑾峰彇缁撴灉
 		ExerItemResponseData result = exerciseVerService.queryExerItemResponseData(groupId,
 				exerciseRecordId, getExercise, getAnswer, ExerciseGroup.TYPE_EXERCISE_FREE);
 		
@@ -668,15 +668,15 @@
 	}
 	
 	/**
-	 * APP2.0: 获取专题练习题目数据
+	 * APP2.0: 鑾峰彇涓撻缁冧範棰樼洰鏁版嵁
 	 * URL:    /exercise/Exercise/newFreeExercise
 	 * 
 	 * {
-	 * 	source: 练习来源(1:练习题库 2:考试题库  3:家庭作业)   多个以逗号分开
-		strategy:做题方式(1:未做题优先  2:错题优先)
-		mode:做题模式(1:练习模式 2:考试模式)
-		count:数量(30 50 100 200)
-		exerciseTime:练习时间
+	 * 	source: 缁冧範鏉ユ簮(1:缁冧範棰樺簱 2锛氳�冭瘯棰樺簱  3锛氬搴綔涓�)   澶氫釜浠ラ�楀彿鍒嗗紑
+		strategy:鍋氶鏂瑰紡锛�1锛氭湭鍋氶浼樺厛  2锛氶敊棰樹紭鍏堬級
+		mode:鍋氶妯″紡(1:缁冧範妯″紡 2锛氳�冭瘯妯″紡)
+		count:鏁伴噺锛�30 50 100 200锛�
+		exerciseTime:缁冧範鏃堕棿
 	 * }
 	 * 
 	 * @return
@@ -697,7 +697,7 @@
 			return null;
 		}
 		
-		// 根据条件获取自由练习
+		// 鏍规嵁鏉′欢鑾峰彇鑷敱缁冧範
 		ExerItemResponseData result = exerciseVerService.doGetFreeExercise(
 				null, source, strategy, mode, count, exerciseTime);
 		
@@ -706,41 +706,41 @@
 	
 	
 	/**
-	 * APP2.0: 提交练习答案
+	 * APP2.0: 鎻愪氦缁冧範绛旀
 	 * URL:    /exercise/Exercise/exerAnswers
 	 * 
-	 * 请求参数={
-	    "exerciseGroupId": 组id, 
-	    EXERCISE_RECORD_ID: 记录id, 
+	 * 璇锋眰鍙傛暟={
+	    "exerciseGroupId": 缁刬d, 
+	    EXERCISE_RECORD_ID: 璁板綍id, 
 	    "exerciseExtendId": null, 
-	    "currTitleNum": "当前题号", 
-	    "status": 状态,
-	    "type": 练习类型,// 整型
-	    "doCount": 练习类型,
-	    "correctCount": 正确个数, 
-	    "allCount":题目总数,
+	    "currTitleNum": "褰撳墠棰樺彿", 
+	    "status": 鐘舵��,
+	    "type": 缁冧範绫诲瀷,// 鏁村瀷
+	    "doCount": 缁冧範绫诲瀷,
+	    "correctCount": 姝g‘涓暟, 
+	    "allCount":棰樼洰鎬绘暟,
 	    "items": [
 	        {
-	            "exerciseId": "练习id", 
-	            "type": 练习类型,// 整数型
-	            "answer": "选择答案", 
-	            "correct": 是否正确(0:错误 1:正确 2:未知)
+	            "exerciseId": "缁冧範id", 
+	            "type": 缁冧範绫诲瀷,// 鏁存暟鍨�
+	            "answer": "閫夋嫨绛旀", 
+	            "correct": 鏄惁姝g‘(0:閿欒 1锛氭纭� 2:鏈煡)
 	        }, 
 	        {
-	            "exerciseId": "练习id", 
-	            "type": 练习类型, 
-	            "answer": "选择答案", 
-	            "correct": 是否正确(0:错误 1:正确 2:未知)
+	            "exerciseId": "缁冧範id", 
+	            "type": 缁冧範绫诲瀷, 
+	            "answer": "閫夋嫨绛旀", 
+	            "correct": 鏄惁姝g‘(0:閿欒 1锛氭纭� 2:鏈煡)
 	        }
 	    ]
 		}
 		
-		返回参数={
-			"success":true,//true:成功 false:失败
-			"attrs":{EXERCISE_RECORD_ID:练习记录id,
-					"updateTime":修改时间
+		杩斿洖鍙傛暟={
+			"success":true,//true:鎴愬姛 false:澶辫触
+			"attrs":{EXERCISE_RECORD_ID:缁冧範璁板綍id,
+					"updateTime":淇敼鏃堕棿
 			 },
-			"msg":"提交成功",//结果信息
+			"msg":"鎻愪氦鎴愬姛",//缁撴灉淇℃伅
 			}
 
 	 * 
@@ -751,7 +751,7 @@
 	public @ResponseBody Object doSubmitExerAnswer(
 			@RequestParam(value = "answers")  String answers)  {
 		
-		// 用户本次做题提交的数据
+		// 鐢ㄦ埛鏈鍋氶鎻愪氦鐨勬暟鎹�
 		List<ExerciseItemAnswerData> lstAnswers = null;
 		
 		Result result = new Result(false);
@@ -759,12 +759,12 @@
 		try {
 			ObjectMapper mapper = new ObjectMapper();
 			
-			// 装换json到对象
+			// 瑁呮崲json鍒板璞�
 			ExerciseSubmitAnswerData answerData = mapper.readValue(answers, ExerciseSubmitAnswerData.class);
 			
 			lstAnswers = answerData.getItems();
 			
-			// 记录id
+			// 璁板綍id
 			String initExerciseRecordId = answerData.getExerciseRecordId();
 						
 			if(lstAnswers.isEmpty() 
@@ -775,38 +775,38 @@
 						initExerciseRecordId, ExerciseDataSubmitLog.TYPE_SUBMIT_ANSWER,
 						ExerciseDataSubmitLog.STATUS_FAILED, "/exercise/Exercise/exerAnswers");
 				
-				return new Result(false,"提交数据异常");
+				return new Result(false,"鎻愪氦鏁版嵁寮傚父");
 			}
 				
-			// 1.---------记录提交的数据日志
-			// 记录提交的数据日志
+			// 1.---------璁板綍鎻愪氦鐨勬暟鎹棩蹇�
+			// 璁板綍鎻愪氦鐨勬暟鎹棩蹇�
 			String exerciseDataLogId = exerciseVerService.doSaveExerciseDataSubmitLog(answers,
 					initExerciseRecordId, ExerciseDataSubmitLog.TYPE_SUBMIT_ANSWER, 
 					ExerciseDataSubmitLog.STATUS_SUCCESS,"/exercise/Exercise/exerAnswers");
 			
-			// 2.-------- 提交答案
-			// 操作练习数据
+			// 2.-------- 鎻愪氦绛旀
+			// 鎿嶄綔缁冧範鏁版嵁
 			Map<String,Object> resultMap = exerciseVerService.doOperExerciseAnswerData(answerData);
 			
-			result = new Result(true, "答案提交成功");
+			result = new Result(true, "绛旀鎻愪氦鎴愬姛");
 			result.setData(resultMap);
 			
-			// 3.-------- 班级统计数据
+			// 3.-------- 鐝骇缁熻鏁版嵁
 			if(resultMap.get("exerciseGroupId") != null){
 				
 				String exerciseGroupId = String.valueOf(resultMap.get("exerciseGroupId"));
 				
-				// 2.发送班级排名请求
+				// 2.鍙戦�佺彮绾ф帓鍚嶈姹�
 				exerciseVerService.sendUpdateClassRankMsg(exerciseGroupId);
 				
-				// 3.发送 题目的全站统计 、个人统计、班级正确率请求消息
+				// 3.鍙戦�� 棰樼洰鐨勫叏绔欑粺璁� 銆佷釜浜虹粺璁°�佺彮绾ф纭巼璇锋眰娑堟伅
 				exerciseVerService.sendUpdateExerItemStatisticsMsg(exerciseGroupId, answerData);
 				//exerciseVerService.doStatisUserExerciseItemData(ClientUtils.getUserId(), ClientUtils.getUserName(), answerData);
 			}
 			
-			// 4.---------更新本次提交的数据日志exerciseRecordId
+			// 4.---------鏇存柊鏈鎻愪氦鐨勬暟鎹棩蹇梕xerciseRecordId
 			if(StringUtils.isBlank(initExerciseRecordId) 
-					&& resultMap.get(EXERCISE_RECORD_ID) != null){// 为空 说明第一次提交  更新日志记录id
+					&& resultMap.get(EXERCISE_RECORD_ID) != null){// 涓虹┖ 璇存槑绗竴娆℃彁浜�  鏇存柊鏃ュ織璁板綍id
 				
 				exerciseRecordId = String.valueOf(resultMap.get(EXERCISE_RECORD_ID));
 				
@@ -815,8 +815,8 @@
 			
 		} catch (Exception e) {
 			
-			result = new Result(false, "提交练习答案请求异常");
-			log.error("提交练习答案请求异常===",e);
+			result = new Result(false, "鎻愪氦缁冧範绛旀璇锋眰寮傚父");
+			log.error("鎻愪氦缁冧範绛旀璇锋眰寮傚父===",e);
 			
 			exerciseVerService.doSaveExerciseDataSubmitLog(answers,
 					exerciseRecordId, ExerciseDataSubmitLog.TYPE_SUBMIT_ANSWER, 
@@ -828,44 +828,44 @@
 	
 	
 	/**
-	 * APP2.0: 提交练习答案
+	 * APP2.0: 鎻愪氦缁冧範绛旀
 	 * URL:    /exercise/Exercise/exerAnswers
 	 * 
-	 * 请求参数=[{
-	    "exerciseGroupId": 组id, 
-	    EXERCISE_RECORD_ID: 记录id, 
+	 * 璇锋眰鍙傛暟=[{
+	    "exerciseGroupId": 缁刬d, 
+	    EXERCISE_RECORD_ID: 璁板綍id, 
 	    "exerciseExtendId": null, 
-	    "currTitleNum": "当前题号", 
-	    "status": 状态,
-	    "type": 练习类型,// 整型
-	    "doCount": 练习类型,
-	    "correctCount": 正确个数, 
-	    "allCount":题目总数,
+	    "currTitleNum": "褰撳墠棰樺彿", 
+	    "status": 鐘舵��,
+	    "type": 缁冧範绫诲瀷,// 鏁村瀷
+	    "doCount": 缁冧範绫诲瀷,
+	    "correctCount": 姝g‘涓暟, 
+	    "allCount":棰樼洰鎬绘暟,
 	    "items": [
 	        {
-	            "exerciseId": "练习id", 
-	            "type": 练习类型,// 整数型
-	            "answer": "选择答案", 
-	            "correct": 是否正确(0:错误 1:正确 2:未知)
+	            "exerciseId": "缁冧範id", 
+	            "type": 缁冧範绫诲瀷,// 鏁存暟鍨�
+	            "answer": "閫夋嫨绛旀", 
+	            "correct": 鏄惁姝g‘(0:閿欒 1锛氭纭� 2:鏈煡)
 	        }, 
 	        {
-	            "exerciseId": "练习id", 
-	            "type": 练习类型, 
-	            "answer": "选择答案", 
-	            "correct": 是否正确(0:错误 1:正确 2:未知)
+	            "exerciseId": "缁冧範id", 
+	            "type": 缁冧範绫诲瀷, 
+	            "answer": "閫夋嫨绛旀", 
+	            "correct": 鏄惁姝g‘(0:閿欒 1锛氭纭� 2:鏈煡)
 	        }
 	    ]
 		},
 		   ...
 		]
 		
-		返回参数={"success":true,//true:成功 false:失败
-			"attrs":[{EXERCISE_RECORD_ID:练习记录id,
-			exerciseGroupId:练习组id,
-			isNewRecord:是否为新增的record(true:是 false:否)
-			"updateTime":修改时间
+		杩斿洖鍙傛暟={"success":true,//true:鎴愬姛 false:澶辫触
+			"attrs":[{EXERCISE_RECORD_ID:缁冧範璁板綍id,
+			exerciseGroupId:缁冧範缁刬d锛�
+			isNewRecord锛氭槸鍚︿负鏂板鐨剅ecord(true:鏄� false:鍚�)
+			"updateTime":淇敼鏃堕棿
 			},...],
-			"msg":"提交成功",//结果信息
+			"msg":"鎻愪氦鎴愬姛",//缁撴灉淇℃伅
 			}
 
 	 * 
@@ -876,7 +876,7 @@
 	public @ResponseBody Object doSubmitMutiExerAnswer(
 			@RequestParam(value = "answers")  String answers)  {
 		
-		// 用户本次做题提交的数据
+		// 鐢ㄦ埛鏈鍋氶鎻愪氦鐨勬暟鎹�
 		List<ExerciseSubmitAnswerData> lstRecord = null;
 		List<ExerciseItemAnswerData> lstAnswers= null;
 		String exerciseRecordId = null;
@@ -890,7 +890,7 @@
 		try {
 			ObjectMapper mapper = new ObjectMapper();
 			
-			// 装换json到对象
+			// 瑁呮崲json鍒板璞�
 			ExerciseSubmitAnswerDataList answerDataList = mapper.readValue(answers, ExerciseSubmitAnswerDataList.class);
 			
 			lstRecord = answerDataList.getDatas();
@@ -903,17 +903,17 @@
 					continue;
 				}
 				
-				// 记录id
+				// 璁板綍id
 				String initExerciseRecordId = answerData.getExerciseRecordId();
 							
-				// 记录提交的数据日志
+				// 璁板綍鎻愪氦鐨勬暟鎹棩蹇�
 				String recordData = JSONObject.toJSONString(answerData);
 				
 				lstAnswers = answerData.getItems();
 						
 				if(lstAnswers.isEmpty() 
 						&& !ExerciseRecord.STATUS_SUBMIT.equals(answerData.getStatus())
-						&& answerData.getSubmitType() != 1){// 仅提交 或仅仅本地无网重做
+						&& answerData.getSubmitType() != 1){// 浠呮彁浜� 鎴栦粎浠呮湰鍦版棤缃戦噸鍋�
 					
 					exerciseVerService.doSaveExerciseDataSubmitLog(recordData,
 							initExerciseRecordId, ExerciseDataSubmitLog.TYPE_SUBMIT_ANSWER,
@@ -922,36 +922,36 @@
 					continue;
 				}
 				
-				// 1.---------记录提交的数据日志
+				// 1.---------璁板綍鎻愪氦鐨勬暟鎹棩蹇�
 				String exerciseDataLogId = exerciseVerService.doSaveExerciseDataSubmitLog(recordData,
 						initExerciseRecordId, ExerciseDataSubmitLog.TYPE_SUBMIT_ANSWER,
 						ExerciseDataSubmitLog.STATUS_SUCCESS,"/exercise/Exercise/exerMutiAnswers");
 				
-				// 2.-------- 提交答案
-				// 操作练习数据
+				// 2.-------- 鎻愪氦绛旀
+				// 鎿嶄綔缁冧範鏁版嵁
 				returnMap = exerciseVerService.doOperExerciseAnswerData(answerData);
-				if(StringUtils.isBlank(initExerciseRecordId)){// 表示recordId为新增
+				if(StringUtils.isBlank(initExerciseRecordId)){// 琛ㄧずrecordId涓烘柊澧�
 					returnMap.put("isNewRecord", true);
 				}else{
 					returnMap.put("isNewRecord", false);
 				}
 				
 				resultList.add(returnMap);
-				// 3.-------- 班级统计数据;
+				// 3.-------- 鐝骇缁熻鏁版嵁;
 				if(returnMap.get("exerciseGroupId") != null){
 					
 					String exerciseGroupId = String.valueOf(returnMap.get("exerciseGroupId"));
 					
-					// 2.发送班级排名请求
+					// 2.鍙戦�佺彮绾ф帓鍚嶈姹�
 					exerciseVerService.sendUpdateClassRankMsg(exerciseGroupId);
 					
-					// 3.发送 题目的全站统计  个人统计请求消息
+					// 3.鍙戦�� 棰樼洰鐨勫叏绔欑粺璁�  涓汉缁熻璇锋眰娑堟伅
 					exerciseVerService.sendUpdateExerItemStatisticsMsg(exerciseGroupId, answerData);
 				}
 				
-				// 4.---------更新本次提交的数据日志exerciseRecordId
+				// 4.---------鏇存柊鏈鎻愪氦鐨勬暟鎹棩蹇梕xerciseRecordId
 				if(StringUtils.isBlank(initExerciseRecordId) 
-						&& returnMap.get(EXERCISE_RECORD_ID) != null){// 为空 说明第一次提交  更新日志记录id
+						&& returnMap.get(EXERCISE_RECORD_ID) != null){// 涓虹┖ 璇存槑绗竴娆℃彁浜�  鏇存柊鏃ュ織璁板綍id
 					
 					exerciseRecordId = String.valueOf(returnMap.get(EXERCISE_RECORD_ID));
 					
@@ -962,12 +962,12 @@
 			
 			resultMap.put("success", true);
 			resultMap.put("attrs", resultList);
-			resultMap.put("msg", "提交成功");
+			resultMap.put("msg", "鎻愪氦鎴愬姛");
 			
 		} catch (Exception e) {
 			
-			log.error("提交练习答案请求异常===",e);
-			resultMap.put("msg", "提交练习答案请求异常");
+			log.error("鎻愪氦缁冧範绛旀璇锋眰寮傚父===",e);
+			resultMap.put("msg", "鎻愪氦缁冧範绛旀璇锋眰寮傚父");
 			
 			exerciseVerService.doSaveExerciseDataSubmitLog(answers,
 					"exerMutiAnswers", ExerciseDataSubmitLog.TYPE_SUBMIT_ANSWER,
@@ -978,10 +978,10 @@
 	}
 	
 	/**
-	 * APP2.0: 更新练习家庭作业、模拟考试是否提交
+	 * APP2.0: 鏇存柊缁冧範瀹跺涵浣滀笟銆佹ā鎷熻�冭瘯鏄惁鎻愪氦
 	 * URL:    /exercise/Exercise/updateHomeExerSubmitNew
 	 * 
-	 * @param exerciseRecordId     练习记录ID
+	 * @param exerciseRecordId     缁冧範璁板綍ID
 	 * @return
 	 */
 	@RequestMapping(value = "updateHomeExerSubmitNew", method = RequestMethod.GET)
@@ -992,7 +992,7 @@
 		ExerciseRecord record = commonDAO.read(ExerciseRecord.class, exerciseRecordId);
 		if(record == null 
 				|| !ClientUtils.getUserId().equals(record.getUserId())){
-			return new Result(false, "非法操作,不是当前用户操作");
+			return new Result(false, "闈炴硶鎿嶄綔锛屼笉鏄綋鍓嶇敤鎴锋搷浣�");
 		}
 		
 		record.setStatus(ExerciseRecord.STATUS_SUBMIT);
@@ -1002,10 +1002,10 @@
 	} 
 	
 	/**
-	 * APP2.0: 更新练习家庭作业、模拟考试是否提交
+	 * APP2.0: 鏇存柊缁冧範瀹跺涵浣滀笟銆佹ā鎷熻�冭瘯鏄惁鎻愪氦
 	 * URL:    /exercise/Exercise/updateExerciseRecord
 	 * 
-	 * @param exerciseRecordId     练习记录ID
+	 * @param exerciseRecordId     缁冧範璁板綍ID
 	 * @return
 	 */
 	@RequestMapping(value = "updateExerciseRecord", method = RequestMethod.GET)
@@ -1020,10 +1020,10 @@
 	} 
 	
 	/**
-	 * APP2.0: 更新练习作业题号 app端重新开始做题
+	 * APP2.0: 鏇存柊缁冧範浣滀笟棰樺彿 app绔噸鏂板紑濮嬪仛棰�
 	 * URL:    /exercise/Exercise/updateNewExerRecordNew
 	 * 
-	 * @param groupId         习题组ID
+	 * @param groupId         涔犻缁処D
 	 * @return
 	 */
 	@RequestMapping(value = "updateNewExerRecordNew", method = RequestMethod.GET)
@@ -1032,26 +1032,26 @@
 		
 		Map<String,Object> map = exerciseVerService.doInsertExerRecord(groupId);
 
-		Result result = new Result(true, "状态更新成功");
+		Result result = new Result(true, "鐘舵�佹洿鏂版垚鍔�");
 		result.setData(map);
 		
 		return result;
 	} 
 	
 	/**
-	 * APP2.0: 题目答案分析
+	 * APP2.0: 棰樼洰绛旀鍒嗘瀽
 	 * URL:    /exercise/Exercise/itemstatisics
 	 * 
 	 * 
 	 * 
-	 * @param groupId         习题组ID
+	 * @param groupId         涔犻缁処D
 	 * @return
 	 */
 	@RequestMapping(value = "itemStatisics", method = RequestMethod.GET)
 	public @ResponseBody List<Map<String, Object>> doQueryExerciseItemStatisics(
 			@RequestParam(value = GROUP_ID)  String groupId)  {
 		
-		// 查询结果
+		// 鏌ヨ缁撴灉
 		List<Map<String, Object>> resultLst = exerciseVerService.queryExerciseItemStatisics(groupId);
 		
 		return resultLst;
@@ -1059,13 +1059,13 @@
 	
 	
 	
-	/** -----------------------------------------------APP V2.0接口 end--------------------------------------------------------*/
+	/** -----------------------------------------------APP V2.0鎺ュ彛 end--------------------------------------------------------*/
 	
 	
-	/**------------------------------  web 后端------------------------------------------------------------------------*/
+	/**------------------------------  web 鍚庣------------------------------------------------------------------------*/
 	
 	/**
-	 * 练习管理主页
+	 * 缁冧範绠$悊涓婚〉
 	 * 
 	 * @return
 	 */
@@ -1075,7 +1075,7 @@
 	}
 	
 	/**
-	 * 机构练习管理主页
+	 * 鏈烘瀯缁冧範绠$悊涓婚〉
 	 * 
 	 * @return
 	 */
@@ -1085,9 +1085,9 @@
 	}
 	
 	/**
-	 * (后台管理系统)
+	 * 锛堝悗鍙扮鐞嗙郴缁燂級
 	 * 
-	 * 练习管理列表,获取列表数据
+	 * 缁冧範绠$悊鍒楄〃锛岃幏鍙栧垪琛ㄦ暟鎹�
 	 * 
 	 * @return
 	 */
@@ -1111,7 +1111,7 @@
 		}
 		sql = sql.concat(" order by g.order_num asc");
 		
-		//剔除互动及教学评估
+		//鍓旈櫎浜掑姩鍙婃暀瀛﹁瘎浼�
 		List<ExerciseGroup> result = new ArrayList<ExerciseGroup>();
 		if(StringUtils.isNotBlank(tid)){
 			result = exerciseService.queryExerciceGroupList(sql, CollectionUtils.newList(ExerciseGroup.TYPE_EXERCISE_FREE,
@@ -1135,9 +1135,9 @@
 	}
 	
 	/**
-	 * (后台管理系统)
+	 * 锛堝悗鍙扮鐞嗙郴缁燂級
 	 * 
-	 * 机构练习管理列表,获取列表数据
+	 * 鏈烘瀯缁冧範绠$悊鍒楄〃锛岃幏鍙栧垪琛ㄦ暟鎹�
 	 * 
 	 * @return
 	 */
@@ -1183,7 +1183,7 @@
 	}
 	
 	/**
-	 * 查看练习已经指定的机构和班级
+	 * 鏌ョ湅缁冧範宸茬粡鎸囧畾鐨勬満鏋勫拰鐝骇
 	 * @param groupId
 	 * @return
 	 */
@@ -1233,7 +1233,7 @@
 		return result;
 	}
 	/**
-	 * 获取练习组数据
+	 * 鑾峰彇缁冧範缁勬暟鎹�
 	 * 
 	 * @return
 	 */
@@ -1250,7 +1250,7 @@
 	}
 	
 	/**
-	 * 获取练习数据
+	 * 鑾峰彇缁冧範鏁版嵁
 	 * 
 	 * @return
 	 */
@@ -1265,7 +1265,7 @@
 	}
 	
 	/**
-	 * 获取练习数据
+	 * 鑾峰彇缁冧範鏁版嵁
 	 * 
 	 * @return
 	 */
@@ -1316,10 +1316,10 @@
 	
 	
 	/**
-	 * (后台管理系统)
-	 * 删除练习组(优化)
+	 * 锛堝悗鍙扮鐞嗙郴缁燂級
+	 * 鍒犻櫎缁冧範缁�(浼樺寲)
 	 * 
-	 * 更新20150907:更新习题组最后修改时间
+	 * 鏇存柊20150907锛氭洿鏂颁範棰樼粍鏈�鍚庝慨鏀规椂闂�
 	 * @return
 	 */
 	@RequestMapping(value = "deleteNew", method = RequestMethod.POST)
@@ -1330,10 +1330,10 @@
 	}
 	
 	/**
-	 * (后台管理系统)
-	 * 删除练习组(优化)
+	 * 锛堝悗鍙扮鐞嗙郴缁燂級
+	 * 鍒犻櫎缁冧範缁�(浼樺寲)
 	 * 
-	 * 更新20150907:更新习题组最后修改时间
+	 * 鏇存柊20150907锛氭洿鏂颁範棰樼粍鏈�鍚庝慨鏀规椂闂�
 	 * @return
 	 */
 	@RequestMapping(value = "deleteOrg", method = RequestMethod.POST)
@@ -1346,7 +1346,7 @@
 	
 	
 	/**
-	 * 获取习题列表
+	 * 鑾峰彇涔犻鍒楄〃
 	 * 
 	 * @return
 	 */
@@ -1361,8 +1361,8 @@
 	}
 	
 	/**
-	 * (后台管理系统)
-	 *  管理员同步习题到班级
+	 * 锛堝悗鍙扮鐞嗙郴缁燂級
+	 *  绠$悊鍛樺悓姝ヤ範棰樺埌鐝骇
 	 * 
 	 * @param exerciseItemId
 	 * @return
@@ -1376,10 +1376,10 @@
 	}
 	
 	/**
-	 * (后台管理系统)
-	 * 增加习题
+	 * 锛堝悗鍙扮鐞嗙郴缁燂級
+	 * 澧炲姞涔犻
 	 * 
-	 * 更新20150617:更新习题组最后修改时间
+	 * 鏇存柊20150617锛氭洿鏂颁範棰樼粍鏈�鍚庝慨鏀规椂闂�
 	 * @return
 	 */
 	@RequestMapping(value = "item/addOrUpdate", method = RequestMethod.POST)
@@ -1422,7 +1422,7 @@
 			createItemOption(getOptionOrder(type,'N'),params.getOptionN(), checkN, params.getOptionN_Id(), params.getOptionN_imgIds(), lstOptions);
 			createItemOption(getOptionOrder(type,'O'),params.getOptionO(), checkO, params.getOptionO_Id(), params.getOptionO_imgIds(), lstOptions);
 			
-			// 得到正确答案
+			// 寰楀埌姝g‘绛旀
 			if(StringUtils.isBlank(params.getOptionE())){
 				checkE=false;
 			}
@@ -1438,10 +1438,10 @@
 				item.setTitle(params.getTitle());
 				item.setType(type);
 				item.setImgs(getExerciseTitleImgs(params.getTitle_imgsIds()));
-				if(groupId.contains("#")){// groupid结尾多#
+				if(groupId.contains("#")){// groupid缁撳熬澶�#
 					groupId = groupId.substring(0, groupId.indexOf('#'));
 				}
-				// 练习不发系统通知
+				// 缁冧範涓嶅彂绯荤粺閫氱煡
 				//sendSysNotice(0, groupId);
 				return exerciseService.insertExerciseItem(groupId, item, lstOptions,params.getAnalysis());	
 			}else{
@@ -1449,7 +1449,7 @@
 				item.setAnswer(answer);
 				item.setTitle(params.getTitle());
 				item.setType(type);
-				// 练习不发系统通知
+				// 缁冧範涓嶅彂绯荤粺閫氱煡
 				//sendSysNotice(1, groupId);
 				return exerciseService.updateExerciseItem(item, lstOptions,params.getAnalysis());	
 			}
@@ -1458,7 +1458,7 @@
 	
 	
 	/**
-	 * 得到正确答案
+	 * 寰楀埌姝g‘绛旀
 	 * @param checkA
 	 * @param checkB
 	 * @param checkC
@@ -1470,7 +1470,7 @@
 	private String getCorrectAnswer(ExerciseAddItemParams params,short type){
 		StringBuffer answer = new StringBuffer(64);
 		
-		if(ExerciseItem.TYPE_TRUE_OR_FALSE==type){//判断
+		if(ExerciseItem.TYPE_TRUE_OR_FALSE==type){//鍒ゆ柇
 			return params.getCheckA()?"True":params.getCheckB()?"False":null;
 		}
 		
@@ -1481,7 +1481,7 @@
 			answer.append(',').append('B');
 		}
 		
-		// 组装余下正确答案
+		// 缁勮浣欎笅姝g‘绛旀
 		packagingCorrectAnswer(params, answer);
 		
 		String answers = answer.toString();
@@ -1494,7 +1494,7 @@
 	}
 
 	/**
-	 * 组装正确答案
+	 * 缁勮姝g‘绛旀
 	 * @param checkC
 	 * @param checkD
 	 * @param checkE
@@ -1524,7 +1524,7 @@
 	}
 	
 	/**
-	 * 组装正确答案
+	 * 缁勮姝g‘绛旀
 	 * @param checkC
 	 * @param checkD
 	 * @param checkE
@@ -1556,12 +1556,12 @@
 	}
 	
 	/**
-	 * 得到练习题目图片list
+	 * 寰楀埌缁冧範棰樼洰鍥剧墖list
 	 * @param title_imgsIds
 	 * @return
 	 */
 	private List<ExerciseObjectImg> getExerciseTitleImgs(String title_imgsIds){
-		if(StringUtils.isBlank(title_imgsIds)){//新增图片
+		if(StringUtils.isBlank(title_imgsIds)){//鏂板鍥剧墖
 			return null;
 		}
 		String[] strImgsId = title_imgsIds.split(",");
@@ -1576,7 +1576,7 @@
 	}
 	
 	/**
-	 * 创建习题选项
+	 * 鍒涘缓涔犻閫夐」
 	 * @param option
 	 * @param check
 	 * @param lstOptions
@@ -1590,7 +1590,7 @@
 		}
 		
 		ExerciseItemOption a = new ExerciseItemOption();
-		if(StringUtils.isNotBlank(optionId)){// 更新
+		if(StringUtils.isNotBlank(optionId)){// 鏇存柊
 			a.setOptionId(optionId);
 		}else{
 			if(StringUtils.isEmpty(option)){
@@ -1598,7 +1598,7 @@
 			}
 		}
 		
-		if(StringUtils.isNotBlank(imgsId)){//新增图片
+		if(StringUtils.isNotBlank(imgsId)){//鏂板鍥剧墖
 			String[] strImgsId = imgsId.split(",");
 			List<ExerciseObjectImg> imgs = new ArrayList<ExerciseObjectImg>(strImgsId.length);
 			ExerciseObjectImg objImg = null;
@@ -1627,7 +1627,7 @@
 	}
 	
 	/**
-	 * 更新习题
+	 * 鏇存柊涔犻
 	 * 
 	 * @return
 	 */
@@ -1638,9 +1638,9 @@
 	}
 	
 	/**
-	 * (后台管理)
-	 * 删除习题
-	 * 更新20150617:更新习题组最后修改时间
+	 * 锛堝悗鍙扮鐞嗭級
+	 * 鍒犻櫎涔犻
+	 * 鏇存柊20150617锛氭洿鏂颁範棰樼粍鏈�鍚庝慨鏀规椂闂�
 	 * 
 	 * @return
 	 */
@@ -1651,7 +1651,7 @@
 	}
 	
 	/**
-	 * 根据classID获取所有课程
+	 * 鏍规嵁classID鑾峰彇鎵�鏈夎绋�
 	 * 
 	 * @return
 	 */ 
@@ -1666,7 +1666,7 @@
 	}
 	
 	/**
-	 * 获取组名称
+	 * 鑾峰彇缁勫悕绉�
 	 * 
 	 * @return
 	 */ 
@@ -1677,7 +1677,7 @@
 		List<Map<String,Object>> lstMap = new ArrayList<Map<String,Object>>(1);
 		Map<String,Object> map = null;
 		
-		if(group.getType() == ExerciseGroup.TYPE_CHAPTER_ITEM || group.getType() == ExerciseGroup.TYPE_EXERCISE_TOPIC || group.getType() == ExerciseGroup.TYPE_EXERCISE_EXAM){ // 章节练习 、 专项练习
+		if(group.getType() == ExerciseGroup.TYPE_CHAPTER_ITEM || group.getType() == ExerciseGroup.TYPE_EXERCISE_TOPIC || group.getType() == ExerciseGroup.TYPE_EXERCISE_EXAM){ // 绔犺妭缁冧範 銆� 涓撻」缁冧範
 			map = new HashMap<String, Object>(7);
 			map.put("groupId", group.getGroupId());
 			map.put("name", group.getName());
@@ -1710,7 +1710,7 @@
 	}
 	
 	/**
-	 * 编辑练习保存
+	 * 缂栬緫缁冧範淇濆瓨
 	 * 
 	 * @return
 	 */ 
@@ -1721,7 +1721,7 @@
 	}
 	
 	/**
-	 * 根据lessionId获取所有章节,排除掉当前班级
+	 * 鏍规嵁lessionId鑾峰彇鎵�鏈夌珷鑺�,鎺掗櫎鎺夊綋鍓嶇彮绾�
 	 * 
 	 * @return
 	 */ 
@@ -1743,7 +1743,7 @@
 	}
 	
 	/**
-	 * 根据classID获取顺序练习
+	 * 鏍规嵁classID鑾峰彇椤哄簭缁冧範
 	 * 
 	 * @return
 	 */ 
@@ -1754,7 +1754,7 @@
 		
 		int result = commonDAO.findCount(hql, CollectionUtils.newList(ClientUtils.getClassId(),ExerciseGroup.TYPE_EXERCISE_SEQUENCE));
 		List<ClsClass> lstResult = new ArrayList<ClsClass>();
-		//存在顺序练习,将班级信息传回
+		//瀛樺湪椤哄簭缁冧範锛屽皢鐝骇淇℃伅浼犲洖
 		if( result > 0){
 			hql = "from ClsClass where classId = ? ";
 			lstResult = commonDAO.find(hql, CollectionUtils.newList(ClientUtils.getClassId()), ClsClass.class);
@@ -1764,7 +1764,7 @@
 	}
 	
 	/**
-	 * 根据classID获取顺序练习
+	 * 鏍规嵁classID鑾峰彇椤哄簭缁冧範
 	 * 
 	 * @return
 	 */ 
@@ -1780,7 +1780,7 @@
 	}
 	
 	/**
-	 * 新增练习
+	 * 鏂板缁冧範
 	 * 
 	 * @return
 	 */
@@ -1791,7 +1791,7 @@
 	}
 	
 	/**
-	 * 机构新增练习
+	 * 鏈烘瀯鏂板缁冧範
 	 * 
 	 * @return
 	 */
@@ -1802,7 +1802,7 @@
 	}
 	
 	/**
-	 * 机构指定练习
+	 * 鏈烘瀯鎸囧畾缁冧範
 	 * 
 	 * @return
 	 */
@@ -1813,7 +1813,7 @@
 	}
 	
 	/**
-	 * ORG 获取机构科目列表
+	 * ORG 鑾峰彇鏈烘瀯绉戠洰鍒楄〃
 	 * 
 	 * @return
 	 */
@@ -1832,7 +1832,7 @@
 	}
 	
 	/**
-	 * 新增图片路径到数据库
+	 * 鏂板鍥剧墖璺緞鍒版暟鎹簱
 	 * @param fullPaths
 	 * @param imgObjId
 	 * @param imgObjType
@@ -1849,13 +1849,13 @@
 		}
 		String[] imgPaths = fullPaths.split(";");
 		
-		// 更新路径到数据库
+		// 鏇存柊璺緞鍒版暟鎹簱
 		List<Map<String,Object>> lstResult = exerciseService.doAddExerciseObjImg(imgPaths, imgObjId, imgObjType);
 		
 		return lstResult;
 	}
 	
-	/** 新增图片路径到数据库 */
+	/** 鏂板鍥剧墖璺緞鍒版暟鎹簱 */
 	@RequestMapping(value = "delExerObjImg",method = RequestMethod.POST)
 	public @ResponseBody Result dodelExerciseObjImg(
 			@RequestParam("imgId") String imgId){
@@ -1865,7 +1865,7 @@
 		return result;
 	}
 	
-	/** 查询图片路径 */
+	/** 鏌ヨ鍥剧墖璺緞 */
 	@RequestMapping(value = "queryExerObjImg",method = RequestMethod.POST)
 	public @ResponseBody List<Map<String,Object>> doQueryExerciseObjImg(
 			@RequestParam("imgObjId") String imgObjId,
@@ -1874,7 +1874,7 @@
 			return null;
 		}
 		String hql = "from ExerciseObjectImg where deleteFlag is false and exerciseObjectId=? and objectType=? order by imgOrder";
-		// 查询此练习是否已经存在记录
+		// 鏌ヨ姝ょ粌涔犳槸鍚﹀凡缁忓瓨鍦ㄨ褰�
 		List<ExerciseObjectImg> lstObjImg = commonDAO.find(hql,
 				CollectionUtils.newList(imgObjId,imgObjType), ExerciseObjectImg.class);
 		
@@ -1894,12 +1894,12 @@
 	}
 	
 	/**
-	 * (后台管理系统:导入习题模块)
-	 *  导入习题-习题导入深度解析
+	 * 锛堝悗鍙扮鐞嗙郴缁�:瀵煎叆涔犻妯″潡锛�
+	 *  瀵煎叆涔犻-涔犻瀵煎叆娣卞害瑙f瀽
 	 * 
-	 * @param groupId 习题组ID
+	 * @param groupId 涔犻缁処D
 	 * @param uuid uuid
-	 * @param fileName 文件名称
+	 * @param fileName 鏂囦欢鍚嶇О
 	 * @return
 	 */
 	@RequestMapping(value = "/item/deepAnalysisDoc", method = RequestMethod.POST)
@@ -1912,12 +1912,12 @@
 	
 	
 	/**
-	 * (后台管理系统:导入习题模块)
-	 *  导入习题-第一次将word解析结果返回给前台,并不保存到数据库
+	 * 锛堝悗鍙扮鐞嗙郴缁�:瀵煎叆涔犻妯″潡锛�
+	 *  瀵煎叆涔犻-绗竴娆″皢word瑙f瀽缁撴灉杩斿洖缁欏墠鍙帮紝骞朵笉淇濆瓨鍒版暟鎹簱
 	 *  
-	 * @param groupId 习题组ID
+	 * @param groupId 涔犻缁処D
 	 * @param uuid uuid
-	 * @param fileName 文件名称
+	 * @param fileName 鏂囦欢鍚嶇О
 	 * @return
 	 */
 	@RequestMapping(value = "/item/import/parser/{groupId}", method = RequestMethod.POST)
@@ -1929,10 +1929,10 @@
 	}
 	
 	/**
-	 * (后台管理系统:导入习题模块)
-	 *  校验内容,返回解析结果
+	 * 锛堝悗鍙扮鐞嗙郴缁�:瀵煎叆涔犻妯″潡锛�
+	 *  鏍¢獙鍐呭锛岃繑鍥炶В鏋愮粨鏋�
 	 * 
-	 * @param content 文本内容
+	 * @param content 鏂囨湰鍐呭
 	 * @return
 	 */
 	@RequestMapping(value = "/item/import/validateExercise", method = RequestMethod.POST)
@@ -1943,7 +1943,7 @@
 	}
 	
 	/**
-	 * 获取所有班级,当前班级除外,增加过滤没有习题的班级
+	 * 鑾峰彇鎵�鏈夌彮绾э紝褰撳墠鐝骇闄ゅ,澧炲姞杩囨护娌℃湁涔犻鐨勭彮绾�
 	 * @return
 	 */
 	@RequestMapping(value = "loadClasses", method = RequestMethod.GET)
@@ -1969,7 +1969,7 @@
 	}
 	
 	/**
-	 * 复制习题
+	 * 澶嶅埗涔犻
 	 * @param fromClassId
 	 * @return
 	 */
@@ -1981,7 +1981,7 @@
 	}
 	
 	/**
-	 * 学员得分详情列表
+	 * 瀛﹀憳寰楀垎璇︽儏鍒楄〃
 	 * @param groupId
 	 * @return
 	 */
@@ -1995,7 +1995,7 @@
 	}
 	
 	/**
-	 * 初始化平均成绩和最高成绩
+	 * 鍒濆鍖栧钩鍧囨垚缁╁拰鏈�楂樻垚缁�
 	 * @param groupId
 	 * @return
 	 */
@@ -2008,7 +2008,7 @@
 	}
 	
 	/**
-	 * 每道题得分详情
+	 * 姣忛亾棰樺緱鍒嗚鎯�
 	 * @param groupId
 	 * @return
 	 */
@@ -2021,7 +2021,7 @@
 	}
 	
 	/**
-	 * 加载题目选项详情 - 班级、机构
+	 * 鍔犺浇棰樼洰閫夐」璇︽儏 - 鐝骇銆佹満鏋�
 	 * @param groupId
 	 * @return
 	 */
@@ -2034,7 +2034,7 @@
 	}
 	
 	/**
-	 * 刷新更新统计
+	 * 鍒锋柊鏇存柊缁熻
 	 * @param groupId
 	 * @return
 	 */
@@ -2047,7 +2047,7 @@
 	}
 	
 	/**
-	 * 导出练习每道题得分详情
+	 * 瀵煎嚭缁冧範姣忛亾棰樺緱鍒嗚鎯�
 	 * 
 	 * @return
 	 * @throws IOException 
@@ -2056,13 +2056,13 @@
 	public String exportItemStatis(@PathVariable String groupId,HttpServletResponse response) throws IOException {
 		ExerciseGroup exeGroup= this.commonDAO.read(ExerciseGroup.class, groupId);
 		
-		//获取每道题得分详情列表
+		//鑾峰彇姣忛亾棰樺緱鍒嗚鎯呭垪琛�
 		List<ExerciseItemStatistics> itemStatisLst = exerciseService.itemDetailList(groupId);
 		
 		ExcelExportUtils<ExerciseItemStatistics> ex = new ExcelExportUtils<ExerciseItemStatistics>();
 		ExcelExportParam<ExerciseItemStatistics> obj = new ExcelExportParam<ExerciseItemStatistics>();
 		obj.setColData(itemStatisLst);
-		String[] headers = { "序号","题号","题目", "类型", "正确答案","班级正确率","全站正确率"};
+		String[] headers = { "搴忓彿","棰樺彿","棰樼洰", "绫诲瀷", "姝g‘绛旀","鐝骇姝g‘鐜�","鍏ㄧ珯姝g‘鐜�"};
 		
 		obj.setHeaders(headers);
 		obj.setLstColumn(new ArrayList<String>(Arrays.asList("itemNo","exerciseItemTitel","itemTypeName","correctAnswer","classAccuracyShow","orgAccuracyShow")));
@@ -2070,7 +2070,7 @@
 		
 		response.reset();
 		response.setContentType("application/vnd.ms-excel;charset=utf-8");
-		response.setHeader("Content-Disposition", "attachment;filename="+ new String((ClientUtils.getClassName()+ "_" + exeGroup.getName() + "_详情.xls").getBytes(), "iso-8859-1"));
+		response.setHeader("Content-Disposition", "attachment;filename="+ new String((ClientUtils.getClassName()+ "_" + exeGroup.getName() + "_璇︽儏.xls").getBytes(), "iso-8859-1"));
 		response.setCharacterEncoding("utf-8");
 		OutputStream ouputStream = response.getOutputStream();
 		obj.setOut(ouputStream);
@@ -2082,23 +2082,23 @@
 	}
 	
 	/**
-	 * 导出练习学员得分详情
+	 * 瀵煎嚭缁冧範瀛﹀憳寰楀垎璇︽儏
 	 * 
 	 * @return
 	 * @throws IOException 
 	 */
 	@RequestMapping(value = "userScoreStatis/data/{groupId}", method = RequestMethod.GET)
 	public String exportUserScore(@PathVariable String groupId,HttpServletResponse response) throws IOException {
-		// 获取组名称
+		// 鑾峰彇缁勫悕绉�
 		ExerciseGroup exeGroup= this.commonDAO.read(ExerciseGroup.class, groupId);
 		
-		// 获取之前组装的排名List<Map<String, Object>>列表
+		// 鑾峰彇涔嬪墠缁勮鐨勬帓鍚峀ist<Map<String, Object>>鍒楄〃
 		List<Map<String, Object>> userScoreMap = exerciseService.resultList(groupId);
 		List<ExportUserScore> userLst = new ArrayList<ExportUserScore>(userScoreMap.size());
 		ExportUserScore user = null;
 		
 		if(userScoreMap != null){
-			// 将获取的Map列表转换为List列表
+			// 灏嗚幏鍙栫殑Map鍒楄〃杞崲涓篖ist鍒楄〃
 			for(Map<String, Object> userScore:userScoreMap){
 				user = new ExportUserScore();
 				user.setName(String.valueOf(userScore.get("name")));
@@ -2113,7 +2113,7 @@
 			ExcelExportUtils<ExportUserScore> ex = new ExcelExportUtils<ExportUserScore>();
 			ExcelExportParam<ExportUserScore> obj = new ExcelExportParam<ExportUserScore>();
 			obj.setColData(userLst);
-			String[] headers = { "排名","学员姓名","报名码","报名时间","手机号码", "提交时间", "成绩"};
+			String[] headers = { "鎺掑悕","瀛﹀憳濮撳悕","鎶ュ悕鐮�","鎶ュ悕鏃堕棿","鎵嬫満鍙风爜", "鎻愪氦鏃堕棿", "鎴愮哗"};
 			
 			obj.setHeaders(headers);
 			obj.setLstColumn(new ArrayList<String>(Arrays.asList("name","salesCode","createTime","mobilePhone","submitTime","score")));
@@ -2121,7 +2121,7 @@
 			
 			response.reset();
 			response.setContentType("application/vnd.ms-excel;charset=utf-8");
-			response.setHeader("Content-Disposition", "attachment;filename="+ new String((ClientUtils.getClassName() + "_" + exeGroup.getName() + "_成绩.xls").getBytes(), "iso-8859-1"));
+			response.setHeader("Content-Disposition", "attachment;filename="+ new String((ClientUtils.getClassName() + "_" + exeGroup.getName() + "_鎴愮哗.xls").getBytes(), "iso-8859-1"));
 			response.setCharacterEncoding("utf-8");
 			OutputStream ouputStream = response.getOutputStream();
 			obj.setOut(ouputStream);
@@ -2136,7 +2136,7 @@
 	
 	
 	/**
-	 * 习题组排序
+	 * 涔犻缁勬帓搴�
 	 * 
 	 * @param key
 	 * @return
@@ -2148,7 +2148,7 @@
 	}
 	
 	/**
-	 * 习题排序
+	 * 涔犻鎺掑簭
 	 * 
 	 * @param key
 	 * @return
@@ -2161,14 +2161,14 @@
 	
 	
 	
-	/******************************************py导入******************************************************************/
+	/******************************************py瀵煎叆******************************************************************/
 	/**
-	 * (后台管理系统:导入习题模块)
-	 *  导入习题-第一次将word解析结果返回给前台,并不保存到数据库
+	 * 锛堝悗鍙扮鐞嗙郴缁�:瀵煎叆涔犻妯″潡锛�
+	 *  瀵煎叆涔犻-绗竴娆″皢word瑙f瀽缁撴灉杩斿洖缁欏墠鍙帮紝骞朵笉淇濆瓨鍒版暟鎹簱
 	 *  
-	 * @param groupId 习题组ID
+	 * @param groupId 涔犻缁処D
 	 * @param uuid uuid
-	 * @param fileName 文件名称
+	 * @param fileName 鏂囦欢鍚嶇О
 	 * @return
 	 */
 	@RequestMapping(value = "/item/importpy/parse/{groupId}", method = RequestMethod.POST)
@@ -2179,10 +2179,10 @@
 	}
 	
 	/**
-	 * (后台管理系统:导入习题模块)
-	 *  校验内容,返回解析结果
+	 * 锛堝悗鍙扮鐞嗙郴缁�:瀵煎叆涔犻妯″潡锛�
+	 *  鏍¢獙鍐呭锛岃繑鍥炶В鏋愮粨鏋�
 	 * 
-	 * @param content 文本内容
+	 * @param content 鏂囨湰鍐呭
 	 * @return
 	 */
 	@RequestMapping(value = "/item/importpy/validate", method = RequestMethod.POST)
@@ -2192,10 +2192,10 @@
 	}
 	
 	/**
-	 * (后台管理系统:导入习题模块)
-	 *  导入内容,返回解析结果
+	 * 锛堝悗鍙扮鐞嗙郴缁�:瀵煎叆涔犻妯″潡锛�
+	 *  瀵煎叆鍐呭锛岃繑鍥炶В鏋愮粨鏋�
 	 * 
-	 * @param content 文本内容
+	 * @param content 鏂囨湰鍐呭
 	 * @return
 	 */
 	@SuppressWarnings("unchecked")
@@ -2211,18 +2211,18 @@
 			return exercisePyService.doImportPyExercise(lst,groupId);
 			
 		} catch (Exception e) {
-			log.error("提交数据有误" + e );
+			log.error("鎻愪氦鏁版嵁鏈夎" + e );
 		}
 		
-		return new Result(false,"解析json失败");
+		return new Result(false,"瑙f瀽json澶辫触");
 	}
 	
 	
 	
 	
-	/**-----------------  问卷调查----start-----------------------------------*/
+	/**-----------------  闂嵎璋冩煡----start-----------------------------------*/
 	/**
-	 * 评估模块添加问答
+	 * 璇勪及妯″潡娣诲姞闂瓟
 	 * 
 	 * @param jsonExerciseItemDTO
 	 * @return
@@ -2237,19 +2237,19 @@
 		boolean mustAnswer = jsonObject.getBooleanValue("mustAnswer");
 		short type = jsonObject.getShort("type");
 		String analysis = jsonObject.getString("analysis");
-		JSONArray titleImgs = jsonObject.getJSONArray("imags");// 题目的图片路径
+		JSONArray titleImgs = jsonObject.getJSONArray("imags");// 棰樼洰鐨勫浘鐗囪矾寰�
 		
-		//获取选项
+		//鑾峰彇閫夐」
 		List<ExerciseItemOption> lstOptions = JSONArray.parseArray(jsonObject.getString("lstOptions"), ExerciseItemOption.class);
 		ExerciseItem item = null;
 		
-		if(StringUtils.isEmpty(exerciseId)){// 新增
+		if(StringUtils.isEmpty(exerciseId)){// 鏂板
 			item = new ExerciseItem();
 			item.setTitle(title);
 			item.setType(type);
 			item.setMustAnswer(mustAnswer);
 			exerciseService.insertExerciseItem4Evaluate(groupId, item, lstOptions,analysis,titleImgs);
-		}else{// 编辑
+		}else{// 缂栬緫
 			item = this.commonDAO.read(ExerciseItem.class, exerciseId);
 			item.setTitle(title);
 			item.setType(type);
@@ -2264,7 +2264,7 @@
 	
 	
 	/**
-	 * 获取问卷习题列表
+	 * 鑾峰彇闂嵎涔犻鍒楄〃
 	 * 
 	 * @return
 	 */
@@ -2277,9 +2277,9 @@
 	}
 	
 	/**
-	 * 查看学员答卷情况
+	 * 鏌ョ湅瀛﹀憳绛斿嵎鎯呭喌
 	 * 
-	 * @param recordId 答题记录id
+	 * @param recordId 绛旈璁板綍id
 	 * @param schEvaluateId
 	 * @return
 	 */
@@ -2289,14 +2289,14 @@
 		return exerciseService.queryUserEvaExerciseDetail(recordId, evaluateId);
 	}
 	
-	/** 查询图片路径 */
+	/** 鏌ヨ鍥剧墖璺緞 */
 	@RequestMapping(value = "evaluate/queryExerObjImg",method = RequestMethod.GET)
 	public @ResponseBody ResultJson queryEvaExerciseObjImg(
 			@RequestParam("imgObjId") String imgObjId,
 			@RequestParam("imgObjType") int imgObjType){
 		
 		if(StringUtils.isBlank(imgObjId)){
-			return new ResultJson(false,"参数为空");
+			return new ResultJson(false,"鍙傛暟涓虹┖");
 		}
 		
 		List<Map<String,Object>> lstResult =  exerciseService.queryEvaExerciseObjImg(imgObjId, imgObjType);
@@ -2305,7 +2305,7 @@
 	}
 	
 	/**
-	 * 新增图片路径到数据库
+	 * 鏂板鍥剧墖璺緞鍒版暟鎹簱
 	 * @param fullPaths
 	 * @param imgObjId
 	 * @param imgObjType
@@ -2322,13 +2322,13 @@
 		}
 		String[] imgPaths = fullPaths.split(";");
 		
-		// 更新路径到数据库
+		// 鏇存柊璺緞鍒版暟鎹簱
 		List<Map<String,Object>> lstResult = exerciseService.doAddEvaExerciseObjImg(imgPaths, imgObjId, imgObjType);
 		
 		return new ResultJson(true,"success",lstResult);
 	}
 	
-	/** 删除图片路径到数据库 */
+	/** 鍒犻櫎鍥剧墖璺緞鍒版暟鎹簱 */
 	@RequestMapping(value = "evaluate/delExerObjImg",method = RequestMethod.POST)
 	public @ResponseBody ResultJson dodelEvaExerciseObjImg(
 			@RequestParam("imgId") String imgId){
@@ -2337,9 +2337,9 @@
 		
 		return result;
 	}
-	/**------------------  问卷调查----end------------------------------------*/
+	/**------------------  闂嵎璋冩煡----end------------------------------------*/
 	
 	
-	/**------------------------------  web 后端----end--------------------------------------------------------------------*/
+	/**------------------------------  web 鍚庣----end--------------------------------------------------------------------*/
 	
 }
\ No newline at end of file
diff --git a/src/main/java/com/qxueyou/scc/exercise/action/ExerciseCorrectionController.java b/src/main/java/com/qxueyou/scc/exercise/action/ExerciseCorrectionController.java
index 5494085..dab6a88 100644
--- a/src/main/java/com/qxueyou/scc/exercise/action/ExerciseCorrectionController.java
+++ b/src/main/java/com/qxueyou/scc/exercise/action/ExerciseCorrectionController.java
@@ -27,7 +27,7 @@
 import com.qxueyou.scc.sys.model.SysDictionary;
 
 /**
- * 练习纠错控制
+ * 缁冧範绾犻敊鎺у埗
  * @author alger
  */
 @Controller
@@ -41,15 +41,15 @@
 	private IExerciseCorrectionService exerciseCorrectionService;
 	
 	/**
-	 * APP2.0: 从客户端接收纠错信息
+	 * APP2.0: 浠庡鎴风鎺ユ敹绾犻敊淇℃伅
 	 * URL:    /exercise/correction/addCorrInfoNew
 	 * 
-	 * @param groupId	     组Id
-	 * @param groupName   组名
-	 * @param exerciseNum 练习
-	 * @param exerciseId  练习id
-	 * @param correctids  错误选项信息
-	 * @param content	      错误内容
+	 * @param groupId	     缁処d
+	 * @param groupName   缁勫悕
+	 * @param exerciseNum 缁冧範
+	 * @param exerciseId  缁冧範id
+	 * @param correctids  閿欒閫夐」淇℃伅
+	 * @param content	      閿欒鍐呭
 	 * @return
 	 */
 	@RequestMapping(value="addCorrInfoNew",method=RequestMethod.GET)
@@ -63,25 +63,25 @@
 	{
 		
 		Result objResult = exerciseCorrectionService.insertExerciseCorrection(groupId,groupName,exerciseNum,exerciseId,correctids,content);
-		// 返回给客户端结果信息
+		// 杩斿洖缁欏鎴风缁撴灉淇℃伅
 		return objResult; 
 	}
 	
 	/**
-	 * APP2.0: 客户端通过此从字典中查找信息
+	 * APP2.0: 瀹㈡埛绔�氳繃姝や粠瀛楀吀涓煡鎵句俊鎭�
 	 * URL:    /exercise/correction/corrOptionsNew
 	 * 
-	 * @return lst的键值对
+	 * @return lst鐨勯敭鍊煎
 	 */
 	@RequestMapping(value="corrOptionsNew",method=RequestMethod.POST)
     public @ResponseBody List<Map<String, String>> queryExerCorrectionOptions() {
-		//从字典中查出数据
+		//浠庡瓧鍏镐腑鏌ュ嚭鏁版嵁
 		List<SysDictionary> lstDict = commonDAO.queryDictConfigMap("EXERCISE_CORRECTION_INFO");
 		
 		if(lstDict.isEmpty()){
 			 return new ArrayList<Map<String, String>>(); 
 		}
-		//赋值给map集合
+		//璧嬪�肩粰map闆嗗悎
 		List<Map<String, String>> lstMap = new ArrayList<Map<String, String>>(lstDict.size());
 		Map<String, String> map = null;
 		for(SysDictionary dict:lstDict){
@@ -93,10 +93,10 @@
         return lstMap; 	
 	}
 	
-	/******************************************************************* 上面为App接口,下面为后台接口 **************************/
+	/******************************************************************* 涓婇潰涓篈pp鎺ュ彛锛屼笅闈负鍚庡彴鎺ュ彛 **************************/
 	
 	/**
-	 * list页
+	 * list椤�
 	 * 
 	 * @return
 	 */
@@ -108,21 +108,21 @@
 	}
 	
 	/**
-	 * 获取列表数据
+	 * 鑾峰彇鍒楄〃鏁版嵁
 	 * 
 	 * @return
 	 */
 	@RequestMapping(value = "data", method = RequestMethod.GET)
 	public @ResponseBody List<ExerciseCorrection> data() {
-		//查找
+		//鏌ユ壘
 		String hql = "from ExerciseCorrection where deleteFlag is false and classId= ? order by createTime Desc";
-		//获取列表数据,显示在屏幕的后台纠错页面表的基本信息
+		//鑾峰彇鍒楄〃鏁版嵁锛屾樉绀哄湪灞忓箷鐨勫悗鍙扮籂閿欓〉闈㈣〃鐨勫熀鏈俊鎭�
 		List<ExerciseCorrection> list = commonDAO.find(hql, CollectionUtils.newList(ClientUtils.getClassId()), ExerciseCorrection.class);
 		return list;
 	}
 	
 	/**
-	 * 点击查看,读取题目
+	 * 鐐瑰嚮鏌ョ湅锛岃鍙栭鐩�
 	 * @param exerciseCorrectionId
 	 * @return
 	 */
@@ -130,7 +130,7 @@
 	public @ResponseBody ExerciseCorrectionResult read(String exerciseCorrectionId,String exerciseItemId) {
 		ExerciseCorrectionResult obj = new ExerciseCorrectionResult();
 		String hql = "from ExerciseCorrection where deleteFlag is false and  exerciseItemId = ? ";
-		//通过集合查询所有相同题目,不同人,以及不同类型的错误
+		//閫氳繃闆嗗悎鏌ヨ鎵�鏈夌浉鍚岄鐩紝涓嶅悓浜猴紝浠ュ強涓嶅悓绫诲瀷鐨勯敊璇�
 		List<ExerciseCorrection> list = commonDAO.find(hql, CollectionUtils.newList(exerciseItemId), ExerciseCorrection.class);
 		if(null != list && !list.isEmpty()){
 			String itemId1 = list.get(0).getExerciseItemId();
@@ -143,24 +143,24 @@
 
 
 	/**
-	 * 用来保存前台修改的数据
-	 * @param correctionType  保存和纠错保存区分的状态码
-	 * @param exerciseId  练习Id
-	 * @param analysis	题目分析
-	 * @param title	 题目
-	 * @param type	类型
-	 * @param optionA	选项A
-	 * @param optionB	选项B
-	 * @param optionC	选项C
-	 * @param optionD	选项D
-	 * @param optionE	选项E
-	 * @param optionF	选项F
-	 * @param checkA	判断A
-	 * @param checkB	判断B
-	 * @param checkC	判断C
-	 * @param checkD	判断D
-	 * @param checkE	判断E
-	 * @param checkF	判断F
+	 * 鐢ㄦ潵淇濆瓨鍓嶅彴淇敼鐨勬暟鎹�
+	 * @param correctionType  淇濆瓨鍜岀籂閿欎繚瀛樺尯鍒嗙殑鐘舵�佺爜
+	 * @param exerciseId  缁冧範Id
+	 * @param analysis	棰樼洰鍒嗘瀽
+	 * @param title	 棰樼洰
+	 * @param type	绫诲瀷
+	 * @param optionA	閫夐」A
+	 * @param optionB	閫夐」B
+	 * @param optionC	閫夐」C
+	 * @param optionD	閫夐」D
+	 * @param optionE	閫夐」E
+	 * @param optionF	閫夐」F
+	 * @param checkA	鍒ゆ柇A
+	 * @param checkB	鍒ゆ柇B
+	 * @param checkC	鍒ゆ柇C
+	 * @param checkD	鍒ゆ柇D
+	 * @param checkE	鍒ゆ柇E
+	 * @param checkF	鍒ゆ柇F
 	 * @return
 	 */
 	@RequestMapping(value = "item/addOrUpdate", method = RequestMethod.POST)
@@ -205,7 +205,7 @@
 			createItemOption(getOptionOrder(type,'E'),optionE, checkE, optionE_Id, optionE_imgIds, lstOptions);
 			createItemOption(getOptionOrder(type,'F'),optionF, checkF, optionF_Id, optionF_imgIds, lstOptions);
 			
-			//读取练习,查找题目名和题目类型
+			//璇诲彇缁冧範锛屾煡鎵鹃鐩悕鍜岄鐩被鍨�
 			ExerciseItem item = this.commonDAO.read(ExerciseItem.class, exerciseId);
 			item.setTitle(title);
 			item.setType(type);
@@ -214,7 +214,7 @@
 	}
 	
 	/**
-	 * 创建习题选项
+	 * 鍒涘缓涔犻閫夐」
 	 * @param option
 	 * @param check
 	 * @param lstOptions
@@ -231,10 +231,10 @@
 		}
 		
 		ExerciseItemOption a = new ExerciseItemOption();
-		if(StringUtils.isNotBlank(optionId)){// 更新
+		if(StringUtils.isNotBlank(optionId)){// 鏇存柊
 			a.setOptionId(optionId);
 		}
-		if(StringUtils.isNotBlank(imgsId)){//新增图片
+		if(StringUtils.isNotBlank(imgsId)){//鏂板鍥剧墖
 			String[] strImgsId = imgsId.split(",");
 			List<ExerciseObjectImg> imgs = new ArrayList<ExerciseObjectImg>(strImgsId.length);
 			ExerciseObjectImg objImg = null;
@@ -252,7 +252,7 @@
 	}
 	
 	/**
-	 * 获得题目选项的顺序编号
+	 * 鑾峰緱棰樼洰閫夐」鐨勯『搴忕紪鍙�
 	 * @param type2
 	 * @param order
 	 * @return
diff --git a/src/main/java/com/qxueyou/scc/exercise/action/ExerciseDeepAnaController.java b/src/main/java/com/qxueyou/scc/exercise/action/ExerciseDeepAnaController.java
index 3f6e1ee..eaf6ec2 100644
--- a/src/main/java/com/qxueyou/scc/exercise/action/ExerciseDeepAnaController.java
+++ b/src/main/java/com/qxueyou/scc/exercise/action/ExerciseDeepAnaController.java
@@ -22,7 +22,7 @@
 import com.qxueyou.scc.sys.service.IOssService;
 
 /**
- * 练习深度解析控制
+ * 缁冧範娣卞害瑙f瀽鎺у埗
  * @author ody
  *
  */
@@ -40,7 +40,7 @@
 	IExerciseDeepAnaService exerciseDeepAnaService;
 	
 	/**
-	 * 练习深度解析主页
+	 * 缁冧範娣卞害瑙f瀽涓婚〉
 	 * 
 	 * @return
 	 */
@@ -50,7 +50,7 @@
 	}
 	
 	/**
-	 * 列表加载解析数据
+	 * 鍒楄〃鍔犺浇瑙f瀽鏁版嵁
 	 * @param signId
 	 * @return
 	 */
@@ -63,7 +63,7 @@
 	}
 	
 	/**
-	 * 下载文档
+	 * 涓嬭浇鏂囨。
 	 * 
 	 * @return
 	 * @throws IOException 
@@ -98,7 +98,7 @@
 	}
 	
 	/**
-	 * 文档处理完毕 修改状态
+	 * 鏂囨。澶勭悊瀹屾瘯 淇敼鐘舵��
 	 * @param deepAnalysisIds
 	 * @return
 	 * @throws IOException
diff --git a/src/main/java/com/qxueyou/scc/exercise/action/ExerciseExtendController.java b/src/main/java/com/qxueyou/scc/exercise/action/ExerciseExtendController.java
index 5774e78..4afb954 100644
--- a/src/main/java/com/qxueyou/scc/exercise/action/ExerciseExtendController.java
+++ b/src/main/java/com/qxueyou/scc/exercise/action/ExerciseExtendController.java
@@ -34,81 +34,81 @@
 import com.qxueyou.scc.exercise.service.IExerciseExtendService;
 
 /**
- * 练习扩展控制  
- * 如收藏 错题 笔记
+ * 缁冧範鎵╁睍鎺у埗  
+ * 濡傛敹钘� 閿欓 绗旇
  * @author zhiyong
  *
  */
 @Controller
 @RequestMapping(value = "/exercise/Extend")
 public class ExerciseExtendController {
-	/** 日志 */
+	/** 鏃ュ織 */
 	private static final Logger log = LogManager.getLogger("ExerciseExtendController");
 	
 	/** commonDAO */
 	@Autowired
 	private CommonDAO commonDAO;
 	
-	/** 练习扩展service */
+	/** 缁冧範鎵╁睍service */
 	@Autowired
 	private IExerciseExtendService exerciseExtendService;
 	
-	/**-----------------------------------------APP  V2.0 接口 start----------------------------------------------------------- */
+	/**-----------------------------------------APP  V2.0 鎺ュ彛 start----------------------------------------------------------- */
 	
 	/**
-	 * APP2.0: 查询错题本ListItem
+	 * APP2.0: 鏌ヨ閿欓鏈琇istItem
 	 * URL:    /exercise/Extend/faultList
 	 * 
-	 * 请求参数={
-			subjectId:课程id,//可选,用于高校版
-			exerType:练习类型,//必传
-			page:当前页,//必传,大于0
-			limit:每页限制条数,//必传,大于0
+	 * 璇锋眰鍙傛暟={
+			subjectId:璇剧▼id锛�//鍙�夛紝鐢ㄤ簬楂樻牎鐗�
+			exerType:缁冧範绫诲瀷,//蹇呬紶
+			page:褰撳墠椤�,//蹇呬紶,澶т簬0
+			limit:姣忛〉闄愬埗鏉℃暟,//蹇呬紶,澶т簬0
 			}
-	  返回参数=[
+	  杩斿洖鍙傛暟=[
 		    {
-		        "groupId":"组id",
-		        "classId":班级id,
-		        "courseId":科目id,
-		        "orgId":机构id,
-		        "subjectId":课程id,
-		        "name":"组名",
-		        "type":组类型 ,
-		        "updateTime":更新时间,
-		        "answerUpdateTime":本套题答题更新时间,
-		        "allCount":题目总数,
-		        "exerciseTime":"考试时间",
-		        "exerciseRecordId":"记录id",
-		        "doCount": 做题个数,
-		        "correctCount": 正确个数,
-		        "submitNumber":已提交人数(家庭作业),
-		        "currTitleNumber":当前做题序号,
-		        "status":做题状态(0:未提交 1:已提交),
-		        "completionRate": 完成率, 
-		        "accuracy": 正确率, 
-		        "score": 分数,
-		        "extendAllCount":错题本、收藏本总数
+		        "groupId":"缁刬d",
+		        "classId":鐝骇id,
+		        "courseId":绉戠洰id,
+		        "orgId":鏈烘瀯id,
+		        "subjectId":璇剧▼id,
+		        "name":"缁勫悕",
+		        "type":缁勭被鍨� ,
+		        "updateTime":鏇存柊鏃堕棿,
+		        "answerUpdateTime":鏈棰樼瓟棰樻洿鏂版椂闂�,
+		        "allCount":棰樼洰鎬绘暟,
+		        "exerciseTime":"鑰冭瘯鏃堕棿",
+		        "exerciseRecordId":"璁板綍id",
+		        "doCount": 鍋氶涓暟,
+		        "correctCount": 姝g‘涓暟,
+		        "submitNumber":宸叉彁浜や汉鏁�(瀹跺涵浣滀笟),
+		        "currTitleNumber":褰撳墠鍋氶搴忓彿,
+		        "status":鍋氶鐘舵��(0锛氭湭鎻愪氦 1锛氬凡鎻愪氦),
+		        "completionRate": 瀹屾垚鐜�, 
+		        "accuracy": 姝g‘鐜�, 
+		        "score": 鍒嗘暟,
+		        "extendAllCount":閿欓鏈�佹敹钘忔湰鎬绘暟
 		    },
-		    ...循环多个
+		    ...寰幆澶氫釜
 		]
 	 * 
 	 * @return
 	 */
 	@RequestMapping(value = "faultList", method = RequestMethod.GET)
 	public @ResponseBody List<ExerGroupResponseData> queryFaultList(
-			@RequestParam(value="exerType") int exerType,// 0 表示全部错题
+			@RequestParam(value="exerType") int exerType,// 0 琛ㄧず鍏ㄩ儴閿欓
 			@RequestParam(value="subjectId", required = false) String subjectId,
 			@RequestParam(value="page", required = false) Integer page,
 			@RequestParam(value="limit", required = false) Integer limit)  {
 
-		// 得到分页数据
+		// 寰楀埌鍒嗛〉鏁版嵁
 		Pager pager = getPager(page, limit);
 		
-		// 查询结果
+		// 鏌ヨ缁撴灉
 		List<ExerGroupResponseData> lstResult = exerciseExtendService.
 				queryExerciseFaultListData(exerType, null, pager);
 		
-		if(null == lstResult){// 结果转换成 []
+		if(null == lstResult){// 缁撴灉杞崲鎴� []
 			lstResult = new ArrayList<ExerGroupResponseData>();
 		}
 		
@@ -116,26 +116,26 @@
 	}
 	
 	/**
-	 * APP2.0: 查询收藏本ListItem
+	 * APP2.0: 鏌ヨ鏀惰棌鏈琇istItem
 	 * URL:    /exercise/Extend/favorList
 	 * 
 	 * @return 
 	 */
 	@RequestMapping(value = "favorList", method = RequestMethod.GET)
 	public @ResponseBody List<ExerGroupResponseData> queryFavorList(
-			@RequestParam(value="exerType") int exerType,// 0全部收藏
+			@RequestParam(value="exerType") int exerType,// 0鍏ㄩ儴鏀惰棌
 			@RequestParam(value="subjectId", required = false) String subjectId,
 			@RequestParam(value="page", required = false) Integer page,
 			@RequestParam(value="limit", required = false) Integer limit)  {
 		
-		// 得到分页数据
+		// 寰楀埌鍒嗛〉鏁版嵁
 		Pager pager = getPager(page, limit);
 		
-		// 查询结果
+		// 鏌ヨ缁撴灉
 		List<ExerGroupResponseData> lstResult = exerciseExtendService.
 				queryExerciseFavorListData(exerType, null, pager);
 		
-		if(null == lstResult){// 结果转换成 []
+		if(null == lstResult){// 缁撴灉杞崲鎴� []
 			lstResult = new ArrayList<ExerGroupResponseData>();
 		}
 		
@@ -144,25 +144,25 @@
 	
 	
 	/**
-	 * APP2.0: 获取错题练习题目数据
+	 * APP2.0: 鑾峰彇閿欓缁冧範棰樼洰鏁版嵁
 	 * URL:    /exercise/Exercise/faultExercise
-	 * @param groupId 组id
-	 * @param exerciseRecordId 练习记录id
+	 * @param groupId 缁刬d
+	 * @param exerciseRecordId 缁冧範璁板綍id
 	 * @return
 	 */
 	@RequestMapping(value = "faultExercise", method = RequestMethod.GET)
 	public @ResponseBody ExerItemResponseData getFaultExerciseData(
 			@RequestParam(value = "groupId") String groupId)  {
 		
-			// 查询结果
+			// 鏌ヨ缁撴灉
 			ExerItemResponseData resultData = exerciseExtendService.queryExerciseFaultData(groupId);
 			
 			return resultData;
 	}
 	
 	/**
-	 * 查询多套题收藏题目
-	 * @param groupId 格式"111,222,333...."
+	 * 鏌ヨ澶氬棰樻敹钘忛鐩�
+	 * @param groupId 鏍煎紡"111,222,333...."
 	 * @return
 	 */
 	@RequestMapping(value = "faultMutiExercise", method = RequestMethod.GET)
@@ -180,12 +180,12 @@
 			
 			for(String exerGroupId:groupIds){
 				try{
-					// 查询结果
+					// 鏌ヨ缁撴灉
 					resultDataLst.add(exerciseExtendService.queryExerciseMutiFaultData(exerGroupId));
 					
 				}catch(Exception e){
 					
-					log.error("查询多套题faultMutiExercise结果失败,groupId="+exerGroupId,e);
+					log.error("鏌ヨ澶氬棰榝aultMutiExercise缁撴灉澶辫触锛実roupId="+exerGroupId,e);
 				}
 			}
 			
@@ -217,7 +217,7 @@
 	}
 	
 	/**
-	 * APP2.0: 获取全部错题练习题目数据
+	 * APP2.0: 鑾峰彇鍏ㄩ儴閿欓缁冧範棰樼洰鏁版嵁
 	 * URL:    /exercise/Extend/allFaultExercise
 	 * @return
 	 */
@@ -226,103 +226,103 @@
 			@RequestParam(value="limit", required = false) Integer limit,
 			@RequestParam(value="page", required = false) Integer page)  {
 			
-			// 得到分页数据
+			// 寰楀埌鍒嗛〉鏁版嵁
 			Pager pager = getPager(page, limit);
 		
-			// 查询结果
+			// 鏌ヨ缁撴灉
 			ExerItemResponseData resultData = exerciseExtendService.queryAllExerciseFaultData(pager);
 			
 			return resultData;
 	}
 	
 	/**
-	 * APP2.0: 获取收藏练习题目数据
+	 * APP2.0: 鑾峰彇鏀惰棌缁冧範棰樼洰鏁版嵁
 	 * URL:    /exercise/Exercise/favorExercise
 	 * 
-		返回数据={
-		    "items":[// 题目集合
+		杩斿洖鏁版嵁={
+		    "items":[// 棰樼洰闆嗗悎
 		        {
-		            "exerciseId":练习id,
+		            "exerciseId":缁冧範id,
 		            "chapterId":null,
 		            "lessonId":null,
-		            "title":标题,
-		            "type":题目类型,
-		            "answer":正确答案,
+		            "title":鏍囬,
+		            "type":棰樼洰绫诲瀷,
+		            "answer":姝g‘绛旀,
 		            "options":[
 		                {
-		                    "optionId":选项id,
+		                    "optionId":閫夐」id,
 		                    "checked":true,
-		                    "content":内容,
-		                    "optionOrder":题目序号,
-		                    "exerciseItemId":"练习id",
+		                    "content":鍐呭,
+		                    "optionOrder":棰樼洰搴忓彿,
+		                    "exerciseItemId":"缁冧範id",
 		                    "imgs":[
 		                        {
-		                            "imgId":"图片id",
+		                            "imgId":"鍥剧墖id",
 		                            "exerciseObjectId":null,
-		                            "imgPath":图片路径,
-		                            "imgOrder":排序,
-		                            "objectType":图片类型 1:题目 2:选项
+		                            "imgPath":鍥剧墖璺緞,
+		                            "imgOrder":鎺掑簭,
+		                            "objectType":鍥剧墖绫诲瀷 1锛氶鐩� 2锛氶�夐」
 		                        },
-		                        ... 循环多个
+		                        ... 寰幆澶氫釜
 		                    ]
 		                },
-		                ... 循环多个
+		                ... 寰幆澶氫釜
 		            ],
 		            "scores":null,
 		            "itemNo":null,
 		            "analisisResult":{
-		                "allAccuracy":全站统计 正确率,
-		                "analysis":"解析",
-		                "submitAllNumber":全站 提交总数,
-		                "usualFaultAnswers":易错题,
+		                "allAccuracy":鍏ㄧ珯缁熻 姝g‘鐜�,
+		                "analysis":"瑙f瀽",
+		                "submitAllNumber":鍏ㄧ珯 鎻愪氦鎬绘暟,
+		                "usualFaultAnswers":鏄撻敊棰�,
 		                "exerciseAnalisisUId":null,
-		                "accuracy":个人统计 正确率,
-		                "submitNumber":个人统计  提交总数,
-		                "submitErrorNumber":个人统计  提交错误总数,
+		                "accuracy":涓汉缁熻 姝g‘鐜�,
+		                "submitNumber":涓汉缁熻  鎻愪氦鎬绘暟,
+		                "submitErrorNumber":涓汉缁熻  鎻愪氦閿欒鎬绘暟,
 		            },
 		            "imgs":[
 		                {
-		                   "imgId":"图片id",
+		                   "imgId":"鍥剧墖id",
 		                    "exerciseObjectId":null,
-		                    "imgPath":图片路径,
-		                    "imgOrder":排序,
-		                    "objectType":图片类型 1:题目 2:选项
+		                    "imgPath":鍥剧墖璺緞,
+		                    "imgOrder":鎺掑簭,
+		                    "objectType":鍥剧墖绫诲瀷 1锛氶鐩� 2锛氶�夐」
 		                },
-		                ... 循环多个
+		                ... 寰幆澶氫釜
 		            ],
 		            "commentFlag": null,
 		        }
 		    ],
-		    "answers":[// 个人答案集合
+		    "answers":[// 涓汉绛旀闆嗗悎
 		        {
-		            "answerUId":"主键id",
-		            "answer":选择答案  如:多选为(A,B,C),
+		            "answerUId":"涓婚敭id",
+		            "answer":閫夋嫨绛旀  濡傦細澶氶�変负(A,B,C),
 		            "correct":0,
-		            "exerciseItemId":练习id,
-		            "exerciseRecordId":记录id,
-		            "userId":用户id
+		            "exerciseItemId":缁冧範id,
+		            "exerciseRecordId":璁板綍id,
+		            "userId":鐢ㄦ埛id
 		        },
-		        ... 循环多个
+		        ... 寰幆澶氫釜
 		    ]
 		}
 	 * 
-	 * @param groupId 组id
-	 * @param exerciseRecordId 练习记录id
+	 * @param groupId 缁刬d
+	 * @param exerciseRecordId 缁冧範璁板綍id
 	 * @return
 	 */
 	@RequestMapping(value = "favorExercise", method = RequestMethod.GET)
 	public @ResponseBody ExerItemResponseData getFavorExerciseData(
 			@RequestParam(value = "groupId") String groupId)  {
 		
-			// 查询结果
+			// 鏌ヨ缁撴灉
 			ExerItemResponseData resultData = exerciseExtendService.queryExerciseFavorData(groupId);
 			
 			return resultData;
 	}
 	
 	/**
-	 * 查询多套题收藏题目
-	 * @param groupId 格式"111,222,333...."
+	 * 鏌ヨ澶氬棰樻敹钘忛鐩�
+	 * @param groupId 鏍煎紡"111,222,333...."
 	 * @return
 	 */
 	@RequestMapping(value = "favorMutiExercise", method = RequestMethod.GET)
@@ -340,12 +340,12 @@
 			
 			for(String exerGroupId:groupIds){
 				try{
-					// 查询结果
+					// 鏌ヨ缁撴灉
 					resultDataLst.add(exerciseExtendService.queryExerciseMutiFavorData(exerGroupId));
 					
 				}catch(Exception e){
 					
-					log.error("查询多套题favorMutiExercise结果失败,groupId="+exerGroupId,e);
+					log.error("鏌ヨ澶氬棰榝avorMutiExercise缁撴灉澶辫触锛実roupId="+exerGroupId,e);
 				}
 			}
 			
@@ -355,7 +355,7 @@
 	
 	
 	/**
-	 * APP2.0: 获取全部收藏练习题目数据
+	 * APP2.0: 鑾峰彇鍏ㄩ儴鏀惰棌缁冧範棰樼洰鏁版嵁
 	 * URL:    /exercise/Exercise/allFavorExercise
 	 * @return
 	 */
@@ -364,26 +364,26 @@
 			@RequestParam(value="limit", required = false) Integer limit,
 			@RequestParam(value="page", required = false) Integer page)  {
 		
-			// 得到分页数据
+			// 寰楀埌鍒嗛〉鏁版嵁
 			Pager pager = getPager(page, limit);
 		
-			// 查询结果
+			// 鏌ヨ缁撴灉
 			ExerItemResponseData resultData = exerciseExtendService.queryAllExerciseFavorData(pager);
 			
 			return resultData;
 	}
 	
 	/**
-	 * APP2.0: 提交错题本的记录到DB
+	 * APP2.0: 鎻愪氦閿欓鏈殑璁板綍鍒癉B
 	 * URL:    /exercise/Extend/submitFaultData
 	 * 
-	 * 	  返回数据={
-	   		"exerciseGroupType": 练习类型, 
-		    "exerciseGroupId": 练习组id, 
+	 * 	  杩斿洖鏁版嵁={
+	   		"exerciseGroupType": 缁冧範绫诲瀷, 
+		    "exerciseGroupId": 缁冧範缁刬d, 
 		    "items":[
 			   	{
-				    "exerciseId": 练习id, 
-				    "flag": 状态, // (true:添加  false:移除)
+				    "exerciseId": 缁冧範id, 
+				    "flag": 鐘舵��, // (true:娣诲姞  false:绉婚櫎)
 	
 			   	},
 			   	.....
@@ -402,7 +402,7 @@
 		
 		try {
 			ObjectMapper mapper = new ObjectMapper();
-			// 装换json到对象
+			// 瑁呮崲json鍒板璞�
 			ExciseExtendReqData recordResult = mapper.readValue(records, ExciseExtendReqData.class);
 			List<ExerciseExtendRecordData> lstRecords = recordResult.getItems();
 			
@@ -410,7 +410,7 @@
 				return result; 
 			}
 			
-			// 提交结果
+			// 鎻愪氦缁撴灉
 			Map<String,Object> resultMap = exerciseExtendService.doOperExerciseFaultRecordData(null, recordResult);
 			result.setResult(true);
 			result.setData(resultMap);
@@ -425,16 +425,16 @@
 	
 	
 	/**
-	 * APP2.0: 提交错题本的记录到DB
+	 * APP2.0: 鎻愪氦閿欓鏈殑璁板綍鍒癉B
 	 * URL:    /exercise/Extend/submitFaultData
 	 * 
-	 * 	  返回数据={
-	   		"exerciseGroupType": 练习类型, 
-		    "exerciseGroupId": 练习组id, 
+	 * 	  杩斿洖鏁版嵁={
+	   		"exerciseGroupType": 缁冧範绫诲瀷, 
+		    "exerciseGroupId": 缁冧範缁刬d, 
 		    "items":[
 			   	{
-				    "exerciseId": 练习id, 
-				    "flag": 状态, // (true:添加  false:移除)
+				    "exerciseId": 缁冧範id, 
+				    "flag": 鐘舵��, // (true:娣诲姞  false:绉婚櫎)
 	
 			   	},
 			   	.....
@@ -456,14 +456,14 @@
 		try {
 			ObjectMapper mapper = new ObjectMapper();
 			
-			// 装换json到对象
+			// 瑁呮崲json鍒板璞�
 			ExciseExtendReqListData recordData = mapper.readValue(records, ExciseExtendReqListData.class);
 			
 			//String subjectId = recordData.getSubjectId();
 			List<ExciseExtendReqData> recordResults = recordData.getDatas();
 			
 			resultList = new ArrayList<Map<String,Object>>(recordResults.size());
-			// 循环记录
+			// 寰幆璁板綍
 			List<ExerciseExtendRecordData> lstRecords = null;
 			for(ExciseExtendReqData recordResult:recordResults){
 				
@@ -473,7 +473,7 @@
 					continue;
 				}
 				
-				// 提交结果
+				// 鎻愪氦缁撴灉
 				returnMap = exerciseExtendService.doOperExerciseFaultRecordData(null, recordResult);
 				
 				resultList.add(returnMap);
@@ -481,9 +481,9 @@
 			
 			resultMap.put("success", true);
 			resultMap.put("attrs", resultList);
-			resultMap.put("msg", "提交成功");
+			resultMap.put("msg", "鎻愪氦鎴愬姛");
 		} catch (Exception e) {
-			resultMap.put("msg", "提交失败");
+			resultMap.put("msg", "鎻愪氦澶辫触");
 			log.error(e);
 		}
 		
@@ -491,10 +491,10 @@
 	}
 	
 	/**
-	 * APP2.0: 提交收藏本的记录到DB
+	 * APP2.0: 鎻愪氦鏀惰棌鏈殑璁板綍鍒癉B
 	 * URL:    /exercise/Extend/submitFavorData
 	 * 
-	 * @param records  json字符串
+	 * @param records  json瀛楃涓�
 	 * @return
 	 */
 	@RequestMapping(value = "submitFavorData", method = RequestMethod.POST)
@@ -505,7 +505,7 @@
 		Result result = new Result(false);
 		try {
 			ObjectMapper mapper = new ObjectMapper();
-			// 装换json到对象
+			// 瑁呮崲json鍒板璞�
 			ExciseExtendReqData recordResult = mapper.readValue(records, ExciseExtendReqData.class);
 			List<ExerciseExtendRecordData> lstRecords = recordResult.getItems();
 			
@@ -513,7 +513,7 @@
 				return result; 
 			}
 			
-			// 提交结果
+			// 鎻愪氦缁撴灉
 			Map<String,Object> resultMap = exerciseExtendService.doOperExerciseFavorRecordData(null, recordResult);
 			result.setResult(true);
 			result.setData(resultMap);
@@ -528,10 +528,10 @@
 	
 	
 	/**
-	 * APP2.0: 提交收藏本的记录到DB
+	 * APP2.0: 鎻愪氦鏀惰棌鏈殑璁板綍鍒癉B
 	 * URL:    /exercise/Extend/submitFavorData
 	 * 
-	 * @param records  json字符串
+	 * @param records  json瀛楃涓�
 	 * @return
 	 */
 	@RequestMapping(value = "submitFavorMutiData", method = RequestMethod.POST)
@@ -547,14 +547,14 @@
 			
 			ObjectMapper mapper = new ObjectMapper();
 			
-			// 装换json到对象
+			// 瑁呮崲json鍒板璞�
 			ExciseExtendReqListData recordData = mapper.readValue(records, ExciseExtendReqListData.class);
 			
 			//String subjectId = recordData.getSubjectId();
 			List<ExciseExtendReqData> recordResults = recordData.getDatas();
 			resultList = new ArrayList<Map<String,Object>>(recordResults.size());
 			
-			// 循环记录
+			// 寰幆璁板綍
 			List<ExerciseExtendRecordData> lstRecords = null;
 			for(ExciseExtendReqData recordResult:recordResults){
 				
@@ -564,14 +564,14 @@
 					continue;
 				}
 				
-				// 提交结果
+				// 鎻愪氦缁撴灉
 				returnMap = exerciseExtendService.doOperExerciseFavorRecordData(null, recordResult);
 				
 				resultList.add(returnMap);
 			}
 			resultMap.put("success", true);
 			resultMap.put("attrs", resultList);
-			resultMap.put("msg", "提交成功");
+			resultMap.put("msg", "鎻愪氦鎴愬姛");
 			
 		} catch (Exception e) {
 			log.error(e);
@@ -581,8 +581,8 @@
 	}
 	
 	/**
-	 * 获得多套题答案
-	 * @param groupId 格式"111,222,333...."
+	 * 鑾峰緱澶氬棰樼瓟妗�
+	 * @param groupId 鏍煎紡"111,222,333...."
 	 * @return
 	 */
 	@RequestMapping(value = "getExtendAnswers", method = RequestMethod.GET)
@@ -602,13 +602,13 @@
 			for(String exerGroupId:groupIds){
 				try{
 					
-					if(Constants.EXERCISE_TYPE_FAULT.equals(exerciseType)){// 错题本
+					if(Constants.EXERCISE_TYPE_FAULT.equals(exerciseType)){// 閿欓鏈�
 						
-						// 查询结果
+						// 鏌ヨ缁撴灉
 						resultDataLst.add(exerciseExtendService.queryExerciseFaultAnswerData(exerGroupId));
 						
-					}else if(Constants.EXERCISE_TYPE_FAVORT.equals(exerciseType)){// 收藏
-						// 查询结果
+					}else if(Constants.EXERCISE_TYPE_FAVORT.equals(exerciseType)){// 鏀惰棌
+						// 鏌ヨ缁撴灉
 						resultDataLst.add(exerciseExtendService.queryExerciseFavorAnswerData(exerGroupId));
 					}else{
 						return null;
@@ -616,7 +616,7 @@
 					
 				}catch(Exception e){
 					
-					log.error("获得多套题答案getExtendAnswers结果失败,groupId="+exerGroupId,e);
+					log.error("鑾峰緱澶氬棰樼瓟妗坓etExtendAnswers缁撴灉澶辫触锛実roupId="+exerGroupId,e);
 				}
 			}
 			
@@ -625,40 +625,40 @@
 	
 	
 	/**
-	 * APP2.0: 提交练习答案
+	 * APP2.0: 鎻愪氦缁冧範绛旀
 	 * URL:    /exercise/Extend/exerExtendAnswers
 	 * 
-	 * 请求数据= answers={
-			    "exerciseGroupId": 组id, 
-			    "exerciseRecordId": 记录id, 
+	 * 璇锋眰鏁版嵁= answers={
+			    "exerciseGroupId": 缁刬d, 
+			    "exerciseRecordId": 璁板綍id, 
 			    "exerciseExtendId": null, 
-			    "currTitleNum": "当前题号", 
-			    "status": 状态,
-			    "type": 练习类型,// 整型
-			    "doCount": 练习类型,
-			    "correctCount": 正确个数, 
-			    "allCount":题目总数,
+			    "currTitleNum": "褰撳墠棰樺彿", 
+			    "status": 鐘舵��,
+			    "type": 缁冧範绫诲瀷,// 鏁村瀷
+			    "doCount": 缁冧範绫诲瀷,
+			    "correctCount": 姝g‘涓暟, 
+			    "allCount":棰樼洰鎬绘暟,
 			    "items": [
 			        {
-			            "exerciseId": "练习id", 
-			            "type": 练习类型,// 整数型
-			            "answer": "选择答案", 
-			            "correct": 是否正确(0:错误 1:正确 2:未知)
+			            "exerciseId": "缁冧範id", 
+			            "type": 缁冧範绫诲瀷,// 鏁存暟鍨�
+			            "answer": "閫夋嫨绛旀", 
+			            "correct": 鏄惁姝g‘(0:閿欒 1锛氭纭� 2:鏈煡)
 			        }, 
 			        {
-			            "exerciseId": "练习id", 
-			            "type": 练习类型, 
-			            "answer": "选择答案", 
-			            "correct": 是否正确(0:错误 1:正确 2:未知)
+			            "exerciseId": "缁冧範id", 
+			            "type": 缁冧範绫诲瀷, 
+			            "answer": "閫夋嫨绛旀", 
+			            "correct": 鏄惁姝g‘(0:閿欒 1锛氭纭� 2:鏈煡)
 			        }
 			    ]
 			}
 			
-		返回数据=	{"success":true,//true:成功 false:失败
-				"attrs":{"exerciseRecordId":练习记录id,
-						"updateTime":修改时间
+		杩斿洖鏁版嵁=	{"success":true,//true:鎴愬姛 false:澶辫触
+				"attrs":{"exerciseRecordId":缁冧範璁板綍id,
+						"updateTime":淇敼鏃堕棿
 			     },
-				"msg":"提交成功",//结果信息
+				"msg":"鎻愪氦鎴愬姛",//缁撴灉淇℃伅
 		}
 	 * 
 	 * @param answers 
@@ -667,21 +667,21 @@
 	@RequestMapping(value = "exerExtendAnswers", method = RequestMethod.POST)
 	public @ResponseBody Result doSubmitExerExtendAnswer(
 			@RequestParam(value = "answers")  String answers)  {
-		// 用户本次做题提交的数据
+		// 鐢ㄦ埛鏈鍋氶鎻愪氦鐨勬暟鎹�
 		Result result = new Result(false);
 		String initExerciseRecordId = "";
 		try {
 			ObjectMapper mapper = new ObjectMapper();
-			// 装换json到对象
+			// 瑁呮崲json鍒板璞�
 			ExerciseSubmitAnswerData answerResult = mapper.readValue(answers, ExerciseSubmitAnswerData.class);
 			
-			// 1.---------记录提交的数据日志
-			// 记录id
+			// 1.---------璁板綍鎻愪氦鐨勬暟鎹棩蹇�
+			// 璁板綍id
 			initExerciseRecordId = answerResult.getExerciseRecordId();
 			
 			if(answerResult.getItems().isEmpty() 
 					&& !ExerciseRecord.STATUS_SUBMIT.equals(answerResult.getStatus()) 
-					&& answerResult.getSubmitType() != 1){// 提交状态
+					&& answerResult.getSubmitType() != 1){// 鎻愪氦鐘舵��
 				
 				exerciseExtendService.doSaveExerciseDataSubmitLog(answers,
 						initExerciseRecordId, ExerciseDataSubmitLog.TYPE_SUBMIT_EXTEND_ANSWER,
@@ -690,7 +690,7 @@
 				return result;
 			}
 			
-			// 2.提交答案
+			// 2.鎻愪氦绛旀
 			result = exerciseExtendService.doSubmitExerciseAnswerData(answerResult);
 			
 			int status = 0;
@@ -700,13 +700,13 @@
 				status = ExerciseDataSubmitLog.STATUS_FAILED;
 			}
 			
-			// 记录提交的数据日志
+			// 璁板綍鎻愪氦鐨勬暟鎹棩蹇�
 			String exerciseDataLogId = exerciseExtendService.doSaveExerciseDataSubmitLog(answers,
 					initExerciseRecordId, ExerciseDataSubmitLog.TYPE_SUBMIT_EXTEND_ANSWER, 
 					status,"/exercise/Extend/exerExtendAnswers");
 			
 			if(StringUtils.isBlank(initExerciseRecordId) 
-					&& result.getData("exerciseRecordId") != null){// 为空 说明第一次提交  更新日志记录id
+					&& result.getData("exerciseRecordId") != null){// 涓虹┖ 璇存槑绗竴娆℃彁浜�  鏇存柊鏃ュ織璁板綍id
 				exerciseExtendService.doUpdateExerciseDataSubmitLog(exerciseDataLogId, 
 						String.valueOf(result.getData("exerciseRecordId")));
 				
@@ -716,7 +716,7 @@
 			result = new Result(false);
 			log.error(e);
 			
-			// 记录提交的数据日志
+			// 璁板綍鎻愪氦鐨勬暟鎹棩蹇�
 			exerciseExtendService.doSaveExerciseDataSubmitLog(answers,
 					initExerciseRecordId, ExerciseDataSubmitLog.TYPE_SUBMIT_EXTEND_ANSWER,
 					ExerciseDataSubmitLog.STATUS_FAILED,"/exercise/Extend/exerExtendAnswers");
@@ -727,40 +727,40 @@
 	
 	
 	/**
-	 * APP2.0: 提交练习答案
+	 * APP2.0: 鎻愪氦缁冧範绛旀
 	 * URL:    /exercise/Extend/exerExtendMutiAnswers
 	 * 
-	 * 请求数据= answers=[{
-			    "exerciseGroupId": 组id, 
-			    "exerciseRecordId": 记录id, 
+	 * 璇锋眰鏁版嵁= answers=[{
+			    "exerciseGroupId": 缁刬d, 
+			    "exerciseRecordId": 璁板綍id, 
 			    "exerciseExtendId": null, 
-			    "currTitleNum": "当前题号", 
-			    "status": 状态,
-			    "type": 练习类型,// 整型
-			    "doCount": 练习类型,
-			    "correctCount": 正确个数, 
-			    "allCount":题目总数,
+			    "currTitleNum": "褰撳墠棰樺彿", 
+			    "status": 鐘舵��,
+			    "type": 缁冧範绫诲瀷,// 鏁村瀷
+			    "doCount": 缁冧範绫诲瀷,
+			    "correctCount": 姝g‘涓暟, 
+			    "allCount":棰樼洰鎬绘暟,
 			    "items": [
 			        {
-			            "exerciseId": "练习id", 
-			            "type": 练习类型,// 整数型
-			            "answer": "选择答案", 
-			            "correct": 是否正确(0:错误 1:正确 2:未知)
+			            "exerciseId": "缁冧範id", 
+			            "type": 缁冧範绫诲瀷,// 鏁存暟鍨�
+			            "answer": "閫夋嫨绛旀", 
+			            "correct": 鏄惁姝g‘(0:閿欒 1锛氭纭� 2:鏈煡)
 			        }, 
 			        {
-			            "exerciseId": "练习id", 
-			            "type": 练习类型, 
-			            "answer": "选择答案", 
-			            "correct": 是否正确(0:错误 1:正确 2:未知)
+			            "exerciseId": "缁冧範id", 
+			            "type": 缁冧範绫诲瀷, 
+			            "answer": "閫夋嫨绛旀", 
+			            "correct": 鏄惁姝g‘(0:閿欒 1锛氭纭� 2:鏈煡)
 			        }
 			    ]
 			}]
 			
-		返回数据=	{"success":true,//true:成功 false:失败
-				"attrs":{"exerciseRecordId":练习记录id,
-						"updateTime":修改时间
+		杩斿洖鏁版嵁=	{"success":true,//true:鎴愬姛 false:澶辫触
+				"attrs":{"exerciseRecordId":缁冧範璁板綍id,
+						"updateTime":淇敼鏃堕棿
 			     },
-				"msg":"提交成功",//结果信息
+				"msg":"鎻愪氦鎴愬姛",//缁撴灉淇℃伅
 		}
 	 * 
 	 * @param answers 
@@ -769,21 +769,21 @@
 	@RequestMapping(value = "exerExtendMutiAnswers", method = RequestMethod.POST)
 	public @ResponseBody Object doSubmitExerExtendMutiAnswer(
 			@RequestParam(value = "answers")  String answers)  {
-		// 用户本次做题提交的数据
+		// 鐢ㄦ埛鏈鍋氶鎻愪氦鐨勬暟鎹�
 		Map<String,Object> resultMap = new HashMap<String,Object>(2);
 		resultMap.put("success", false);
 		resultMap.put("attrs", null);
 		try {
 			ObjectMapper mapper = new ObjectMapper();
-			// 装换json到对象
+			// 瑁呮崲json鍒板璞�
 			ExerciseSubmitAnswerDataList answerDataList = mapper.readValue(answers, ExerciseSubmitAnswerDataList.class);
 			
-			// 提交答案
+			// 鎻愪氦绛旀
 			resultMap = exerciseExtendService.doSubmitMutiExerciseAnswerData(answerDataList);
 			
 		} catch (Exception e) {
 			log.error(e);
-			resultMap.put("msg", "提交练习答案请求异常");
+			resultMap.put("msg", "鎻愪氦缁冧範绛旀璇锋眰寮傚父");
 			
 			exerciseExtendService.doSaveExerciseDataSubmitLog(answers,
 					"exerExtendMutiAnswers", ExerciseDataSubmitLog.TYPE_SUBMIT_EXTEND_ANSWER, 
@@ -794,29 +794,29 @@
 	}
 	
 	/**
-	 * APP2.0:  app端重新开始做题 更新状态
+	 * APP2.0:  app绔噸鏂板紑濮嬪仛棰� 鏇存柊鐘舵��
 	 * URL:    /exercise/Extend/updateNewExerRecordNew
 	 * 
-	 * @param groupId 习题组ID  如果为All时,表示全部错题
+	 * @param groupId 涔犻缁処D  濡傛灉涓篈ll鏃讹紝琛ㄧず鍏ㄩ儴閿欓
 	 * @return
 	 */
 	@RequestMapping(value = "updateNewExerRecordNew", method = RequestMethod.GET)
 	public @ResponseBody Result doUpdateExerItemNumber(
-			@RequestParam(value = "groupId")  String groupId,// 习题组ID  如果为All时,表示全部错题、全部收藏
+			@RequestParam(value = "groupId")  String groupId,// 涔犻缁処D  濡傛灉涓篈ll鏃讹紝琛ㄧず鍏ㄩ儴閿欓銆佸叏閮ㄦ敹钘�
 			@RequestParam(value = "exerciseType")  String exerciseType)  {
 		
 		Map<String,Object> map = null;
-		Result result = new Result(true, "状态更新成功");
-		if(Constants.EXERCISE_TYPE_FAULT.equals(exerciseType)){// 错题本
+		Result result = new Result(true, "鐘舵�佹洿鏂版垚鍔�");
+		if(Constants.EXERCISE_TYPE_FAULT.equals(exerciseType)){// 閿欓鏈�
 			
 			 map = exerciseExtendService.doUpdateFaultExerRecordNew(groupId);
 			
-		}else if(Constants.EXERCISE_TYPE_FAVORT.equals(exerciseType)){// 收藏
+		}else if(Constants.EXERCISE_TYPE_FAVORT.equals(exerciseType)){// 鏀惰棌
 			
 			map = exerciseExtendService.doUpdateFavortExerRecordNew(groupId);
 		}else{
 			
-			result = new Result(false, "exerciseType传值错误:exerciseType="+exerciseType);
+			result = new Result(false, "exerciseType浼犲�奸敊璇細exerciseType="+exerciseType);
 		}
 		
 		result.setData(map);
@@ -825,29 +825,29 @@
 	} 
 	
 	/**
-	 * APP2.0: 更新练习作业题号 app端重新开始做题
+	 * APP2.0: 鏇存柊缁冧範浣滀笟棰樺彿 app绔噸鏂板紑濮嬪仛棰�
 	 * URL:    /exercise/Extend/updateExerciseRecord
 	 * 
-	 * @param groupId         习题组ID
+	 * @param groupId         涔犻缁処D
 	 * @return
 	 */
 	@RequestMapping(value = "updateExerciseRecord", method = RequestMethod.GET)
 	public @ResponseBody Result doUpdateExerciseRecord(
-			@RequestParam(value = "groupId")  String groupId,// all 表示全部错误或收藏
+			@RequestParam(value = "groupId")  String groupId,// all 琛ㄧず鍏ㄩ儴閿欒鎴栨敹钘�
 			@RequestParam(value = "exerciseType")  String exerciseType,
 			@RequestParam(value = "exerciseRecordId") String exerciseRecordId,
 			@RequestParam(value = "currTitleNum", required = false) String currTitleNum)  {
 		
 		
-		Result result = new Result(true, "状态更新成功");
+		Result result = new Result(true, "鐘舵�佹洿鏂版垚鍔�");
 		
 		if(StringUtils.isBlank(exerciseRecordId) && !"All".equals(groupId)){
-			return new Result(false, "更新失败,exerciseRecordId为空");
+			return new Result(false, "鏇存柊澶辫触锛宔xerciseRecordId涓虹┖");
 		}
 
-		if(Constants.EXERCISE_TYPE_FAULT.equals(exerciseType)){// 错题本
+		if(Constants.EXERCISE_TYPE_FAULT.equals(exerciseType)){// 閿欓鏈�
 			
-			if("All".equals(groupId)){// 全部错题
+			if("All".equals(groupId)){// 鍏ㄩ儴閿欓
 				return exerciseExtendService.doUpdateExerciseFaultBook(currTitleNum);
 			}
 			
@@ -856,9 +856,9 @@
 			
 			result = exerciseExtendService.doUpdateExerciseFaultRecord(record);
 			
-		}else if(Constants.EXERCISE_TYPE_FAVORT.equals(exerciseType)){// 收藏
+		}else if(Constants.EXERCISE_TYPE_FAVORT.equals(exerciseType)){// 鏀惰棌
 			
-			if("All".equals(groupId)){// 全部收藏
+			if("All".equals(groupId)){// 鍏ㄩ儴鏀惰棌
 				return exerciseExtendService.doUpdateExerciseFavorBook(currTitleNum);
 			}
 			
@@ -868,16 +868,16 @@
 			result = exerciseExtendService.doUpdateExerciseFavorRecord(record);
 		}else{
 			
-			result = new Result(false, "exerciseType传值错误:exerciseType="+exerciseType);
+			result = new Result(false, "exerciseType浼犲�奸敊璇細exerciseType="+exerciseType);
 		}
 		
 		return result;
 	}
 
 	/**
-	 * APP2.0: 查询错题 收藏笔记个数
+	 * APP2.0: 鏌ヨ閿欓 鏀惰棌绗旇涓暟
 	 * URL:    /exercise/Extend/queryExerCount
-	 * @return 键值对:iFavor 收藏个数   iFault 错误个数
+	 * @return 閿�煎锛歩Favor 鏀惰棌涓暟   iFault 閿欒涓暟
 	 */
 	@RequestMapping(value = "exerBookInfo", method = RequestMethod.GET)
 	public @ResponseBody Result queryExtendListCount(
@@ -885,45 +885,45 @@
 		
 		Map<String, Object> map = null;
 		Result result = new Result(false);
-		if(Constants.EXERCISE_TYPE_FAULT.equals(exerciseType)){// 错题本
+		if(Constants.EXERCISE_TYPE_FAULT.equals(exerciseType)){// 閿欓鏈�
 			
 			map = exerciseExtendService.queryExerFaultInfo();
 			
-		}else if(Constants.EXERCISE_TYPE_FAVORT.equals(exerciseType)){// 收藏
+		}else if(Constants.EXERCISE_TYPE_FAVORT.equals(exerciseType)){// 鏀惰棌
 			
 			map = exerciseExtendService.queryExerFavorInfo();
 		}else{
 			
-			result = new Result(false, "exerciseType传值错误:exerciseType="+exerciseType);
+			result = new Result(false, "exerciseType浼犲�奸敊璇細exerciseType="+exerciseType);
 		}
 		
-		result = new Result(true, "查询成功");
+		result = new Result(true, "鏌ヨ鎴愬姛");
 		result.setData(map);
 		
 		return result; 
 	}
 
 	/**
-	 * APP2.0: 题目答案分析
+	 * APP2.0: 棰樼洰绛旀鍒嗘瀽
 	 * URL:    /exercise/Extend/itemstatisics
 	 * 
 	 * 
 	 * 
-	 * @param groupId         习题组ID
+	 * @param groupId         涔犻缁処D
 	 * @return
 	 */
 	@RequestMapping(value = "itemStatisics", method = RequestMethod.GET)
 	public @ResponseBody List<Map<String, Object>> doQueryExerciseItemStatisics(
 			@RequestParam(value = "exerciseType")  String exerciseType)  {
 		
-		// 查询结果
+		// 鏌ヨ缁撴灉
 		List<Map<String, Object>> resultLst = exerciseExtendService.queryExerciseItemStatisics(exerciseType);
 		
 		return resultLst;
 	} 
 	
 	/**
-	 * 错题统计接口
+	 * 閿欓缁熻鎺ュ彛
 	 * URL:    /exercise/Extend/faultStatis
 	 * 
 	 * @return
@@ -935,10 +935,10 @@
 	} 
 	
 	/**
-	 *得到 错题统计信息
+	 *寰楀埌 閿欓缁熻淇℃伅
 	 * URL:    /exercise/Extend/faultStatis
 	 * 
-	 * type :week 最近一周   month:最近一月  year:最近一年
+	 * type :week 鏈�杩戜竴鍛�   month:鏈�杩戜竴鏈�  year锛氭渶杩戜竴骞�
 	 * @return
 	 */
 	@RequestMapping(value = "getfaultStatis", method = RequestMethod.GET)
@@ -948,7 +948,7 @@
 		return exerciseExtendService.doGetFaultStatisInfo(type);
 	} 
 	
-	/**-----------------------------------------APP  V2.0 接口 end----------------------------------------------------------- */
+	/**-----------------------------------------APP  V2.0 鎺ュ彛 end----------------------------------------------------------- */
 	
 	@RequestMapping(value = "initFaultStatisData", method = RequestMethod.GET)
 	public @ResponseBody Result doInitExerRecentRecord()  {
@@ -980,8 +980,8 @@
 		
 		List<Object[]> lstData2 =commonDAO.findwithRawResult(sql2, new ArrayList<Object>());
 		
-		if(lstData2.isEmpty()){//抛异常回滚
-			return new Result(false,"错题数据为空2222");
+		if(lstData2.isEmpty()){//鎶涘紓甯稿洖婊�
+			return new Result(false,"閿欓鏁版嵁涓虹┖2222");
 		}
 		
 		String hql_existRecord = "from ExerciseFaultRecord where  resumeBookId=? and exerciseGroupId=? ";
@@ -1020,7 +1020,7 @@
 			i++;
 		}
 		
-		return new Result(true, "更新ExerciseFault条数:"+i);
+		return new Result(true, "鏇存柊ExerciseFault鏉℃暟锛�"+i);
 	}
 	
 	
@@ -1042,8 +1042,8 @@
 		
 		List<Object[]> lstData2 =commonDAO.findwithRawResult(sql2, new ArrayList<Object>());
 		
-		if(lstData2.isEmpty()){//抛异常回滚
-			return new Result(false,"收藏数据为空2222");
+		if(lstData2.isEmpty()){//鎶涘紓甯稿洖婊�
+			return new Result(false,"鏀惰棌鏁版嵁涓虹┖2222");
 		}
 		
 		String hql_existRecord = "from ExerciseFavoriteRecord where  favoriteBookId=? and exerciseGroupId=? ";
@@ -1083,7 +1083,7 @@
 			i++;
 		}
 		
-		return new Result(true,"|更新ExerciseFavorite条数:"+i);
+		return new Result(true,"|鏇存柊ExerciseFavorite鏉℃暟锛�"+i);
 	}
 	
 	@SuppressWarnings("unchecked")
@@ -1136,6 +1136,6 @@
 			}
 		}
 		
-		return new Result(true,"|更新ExerciseItemAnswerU条数:"+j);
+		return new Result(true,"|鏇存柊ExerciseItemAnswerU鏉℃暟锛�"+j);
 	}*/
 }
diff --git a/src/main/java/com/qxueyou/scc/exercise/action/ExerciseGroupController.java b/src/main/java/com/qxueyou/scc/exercise/action/ExerciseGroupController.java
index 13cf07f..15fcc9a 100644
--- a/src/main/java/com/qxueyou/scc/exercise/action/ExerciseGroupController.java
+++ b/src/main/java/com/qxueyou/scc/exercise/action/ExerciseGroupController.java
@@ -28,18 +28,18 @@
 import io.swagger.annotations.Api;
 
 /**
- * 练习题目控制
+ * 缁冧範棰樼洰鎺у埗
  * 
  * @author kevin
  * @history 2018-03-11 create kevin
  */
 
-@Api(tags = "题库管理接口")
+@Api(tags = "棰樺簱绠$悊鎺ュ彛")
 @Controller
 @RequestMapping(value = "/exercise/group")
 public class ExerciseGroupController {
 
-	// 分页查询中,默认记录条数和页数
+	// 鍒嗛〉鏌ヨ涓紝榛樿璁板綍鏉℃暟鍜岄〉鏁�
 	private static final int DEFAULT_PAGE_SIZE = Integer.MAX_VALUE;
 	private static final int DEFAULT_PAGE_NUM = 1;
 
@@ -59,7 +59,7 @@
     ISubjectService subjectService;
 
 	/**
-	 * 题库列表
+	 * 棰樺簱鍒楄〃
 	 */
 	@RequestMapping(value = "/list", method = RequestMethod.GET)
 	public @ResponseBody Result pageList(String keyword,Short status, Integer pageSize, Integer pageNum) {
@@ -67,7 +67,7 @@
 		Pager page = new Pager();
 		List<ExerciseGroup> listResult = null;
 		List<Object> queryParam = null;
-		// 查询记录数
+		// 鏌ヨ璁板綍鏁�
 		String hqlCount = "from ExerciseGroup where createId=? and type=? and name like ? and  deleteFlag is false ";
 		if(status!=null){
 			hqlCount = hqlCount.concat(" and status = ?");
@@ -77,7 +77,7 @@
 		}
 		
 		int totalCount = commonDAO.findCount(hqlCount,queryParam);
-		// page赋值
+		// page璧嬪��
 		page.setTotalCount(totalCount);
 		page.setPageSize(pageSize != null && pageSize > 0 ? pageSize : DEFAULT_PAGE_SIZE);
 		page.setPageNum(pageNum != null && pageNum > 0 ? pageNum : DEFAULT_PAGE_NUM);
@@ -104,7 +104,7 @@
 	}
 
 	/**
-	 * 详情页面数据
+	 * 璇︽儏椤甸潰鏁版嵁
 	 * 
 	 * @param exerciseGroupId
 	 * @return
@@ -117,7 +117,7 @@
 	}
 
 	/**
-	 * 保存题库基本信息
+	 * 淇濆瓨棰樺簱鍩烘湰淇℃伅
 	 * 
 	 * @param exerciseGroup
 	 * @return
@@ -126,7 +126,7 @@
 	public @ResponseBody Result save(@RequestBody ExerciseGroup exerciseGroup) {
 		Result result = null;
 		String exerciseGroupId = exerciseGroup.getGroupId();
-		// 暂时题库类型配置为题库类型
+		// 鏆傛椂棰樺簱绫诲瀷閰嶇疆涓洪搴撶被鍨�
 		if(StringUtils.isEmpty(exerciseGroupId)){
 			result = new Result(true);
 			exerciseGroup.setType(ExerciseGroup.TYPE_EXERCISE_GROUP_LIB);
@@ -139,7 +139,7 @@
 	}
 
 	/**
-	 * 删除
+	 * 鍒犻櫎
 	 * 
 	 * @param exerciseGroupIds
 	 * @return
@@ -155,14 +155,14 @@
 	
 	
 	/**
-	 * 作业布置班级列表
+	 * 浣滀笟甯冪疆鐝骇鍒楄〃
 	 * 
 	 * @param examId
 	 * @return
 	 */
 	@RequestMapping(value = "/subject/list", method = RequestMethod.GET)
 	public @ResponseBody List<Map<String,Object>> subjectList(Integer subjectType) {
-		//判断是否是教师
+		//鍒ゆ柇鏄惁鏄暀甯�
     	String teacherId = ClientUtils.isAdmin() ? null : teacherService.getTeacherIdByUserId(ClientUtils.getUserId());
     	
     	if(subjectType==null){
@@ -173,21 +173,21 @@
 	}
 	
 	/**
-	 * 作业布置班级列表
+	 * 浣滀笟甯冪疆鐝骇鍒楄〃
 	 * 
 	 * @param examId
 	 * @return
 	 */
 	@RequestMapping(value = "/class/list", method = RequestMethod.GET)
 	public @ResponseBody List<Map<String,Object>> classList(String subjectId) {
-		//判断是否是教师
+		//鍒ゆ柇鏄惁鏄暀甯�
     	String teacherId = ClientUtils.isAdmin() ? null : teacherService.getTeacherIdByUserId(ClientUtils.getUserId());
     	
 		return classService.queryAvailableClassIdAndName(teacherId,subjectId);
 	}
 	
 	/**
-	 * 发布题库
+	 * 鍙戝竷棰樺簱
 	 * 
 	 * @param exerciseIds
 	 * @return
@@ -195,13 +195,13 @@
 	@RequestMapping(value = "/exerciselib/publish", method = RequestMethod.GET)
 	public @ResponseBody Result publishExerciseLib(String groupIds) {
 		if (StringUtils.isEmpty(groupIds)) {
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
 		return this.exerciseGroupService.doPublishExerciseLib(groupIds.split(","));
 	}
 
 	/**
-	 * 撤回题库
+	 * 鎾ゅ洖棰樺簱
 	 * 
 	 * @param exerciseIds
 	 * @return
@@ -209,20 +209,20 @@
 	@RequestMapping(value = "/exerciselib/revoke", method = RequestMethod.GET)
 	public @ResponseBody Result revokeExerciseLib(String groupIds) {
 		if (StringUtils.isEmpty(groupIds)) {
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
 		return this.exerciseGroupService.doRevokeExerciseLib(groupIds.split(","));
 	}
 	
 	/**
-	 * 题目统计
+	 * 棰樼洰缁熻
 	 * @param examPaperIds
 	 * @return
 	 */
 	@RequestMapping(value = "/item/statistics", method = RequestMethod.GET)
 	public @ResponseBody Result statisticsItem (String groupIds) {
 		if (StringUtils.isEmpty(groupIds)) {
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
 		
 		List<ExerciseGroup> lstGroupStatistics = this.exerciseGroupService.queryExerciseGroupItemsStatistic(groupIds.split(","));
diff --git a/src/main/java/com/qxueyou/scc/exercise/action/ExerciseInfoController.java b/src/main/java/com/qxueyou/scc/exercise/action/ExerciseInfoController.java
index 5d3a686..ee9e96e 100644
--- a/src/main/java/com/qxueyou/scc/exercise/action/ExerciseInfoController.java
+++ b/src/main/java/com/qxueyou/scc/exercise/action/ExerciseInfoController.java
@@ -43,12 +43,12 @@
 import javax.servlet.http.HttpServletRequest;
 
 /**
- * 作业管理
+ * 浣滀笟绠$悊
  * 
  * @author kevin
  *
  */
-@Api(tags = "作业管理接口")
+@Api(tags = "浣滀笟绠$悊鎺ュ彛")
 @Controller
 @CrossOrigin(origins="*",maxAge=3600)
 @RequestMapping(value = "/exercise/info")
@@ -73,25 +73,25 @@
 	@Autowired
 	private IExerciseCompleteService exerciseCompleteService;
 	
-	/** 练习V2.0版本接口service */
+	/** 缁冧範V2.0鐗堟湰鎺ュ彛service */
 	@Autowired
 	private IExerciseVerService exerciseVerService;
 	
-	//------------------------------------------------app接口-------------------------------------------
+	//------------------------------------------------app鎺ュ彛-------------------------------------------
 	/**
-	 * 获取作业详情
+	 * 鑾峰彇浣滀笟璇︽儏
 	 * 
 	 * @param examId
 	 * @return
 	 */
-	@ApiOperation(value = "获取作业详情", notes = "")
+	@ApiOperation(value = "鑾峰彇浣滀笟璇︽儏", notes = "")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "exerciseInfoId", value = "作业id", required = true, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "exerciseInfoId", value = "浣滀笟id", required = true, paramType="query", dataType = "String"),
     })
 	@RequestMapping(value = "/app/detail", method = RequestMethod.GET)
 	public @ResponseBody Result queryDetail(String exerciseInfoId) {
 		if (StringUtils.isEmpty(exerciseInfoId)) {
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
 		
 		ExerciseInfo exerciseInfo = this.commonDAO.read(ExerciseInfo.class, exerciseInfoId);
@@ -122,10 +122,10 @@
 	}
 	
 	
-   //-------------------------------------------------后台端接口-----------------------------------------
+   //-------------------------------------------------鍚庡彴绔帴鍙�-----------------------------------------
 	
 	/**
-	 * 考试列表
+	 * 鑰冭瘯鍒楄〃
 	 * 
 	 * @return
 	 */
@@ -134,7 +134,7 @@
 		pageSize = pageSize != null && pageSize > 0 ? pageSize : DEFAULT_PAGE_SIZE;
 		pageNum = pageNum != null && pageNum > 0 ? pageNum : DEFAULT_PAGE_NUM;
 		
-		//作业数量
+		//浣滀笟鏁伴噺
 		int totalCount = exerciseInfoService.listCount(keyword == null ? "" : keyword.trim(),classId,status);
 		Pager pager = new Pager(pageSize,pageNum);
 		pager.setTotalCount(totalCount);
@@ -168,7 +168,7 @@
 	}
 	
 	/**
-	 * 保存作业基础信息
+	 * 淇濆瓨浣滀笟鍩虹淇℃伅
 	 * 
 	 * @return
 	 */
@@ -179,7 +179,7 @@
 	}
 
 	/**
-	 * 删除作业
+	 * 鍒犻櫎浣滀笟
 	 * 
 	 * @param examId
 	 * @return
@@ -187,13 +187,13 @@
 	@RequestMapping(value = "/delete", method = RequestMethod.GET)
 	public @ResponseBody Result deleteExercise(String exerciseInfoId) {
 		if (StringUtils.isEmpty(exerciseInfoId)) {
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
 		return this.exerciseInfoService.deleteExerciseInfo(exerciseInfoId);
 	}
 
 	/**
-	 * 发布作业
+	 * 鍙戝竷浣滀笟
 	 * 
 	 * @param exerciseIds
 	 * @return
@@ -201,13 +201,13 @@
 	@RequestMapping(value = "/publish", method = RequestMethod.GET)
 	public @ResponseBody Result publishExerciseInfo(String exerciseIds) {
 		if (StringUtils.isEmpty(exerciseIds)) {
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
 		return this.exerciseInfoService.doPublishExercise(exerciseIds.split(","));
 	}
 
 	/**
-	 * 撤回作业
+	 * 鎾ゅ洖浣滀笟
 	 * 
 	 * @param exerciseIds
 	 * @return
@@ -215,14 +215,14 @@
 	@RequestMapping(value = "/revoke", method = RequestMethod.GET)
 	public @ResponseBody Result revokeExerciseInfo(String exerciseIds) {
 		if (StringUtils.isEmpty(exerciseIds)) {
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
 		
 		return this.exerciseInfoService.doRevokeExercise(exerciseIds.split(","));
 	}
 
 	/**
-	 * 撤回作业校验
+	 * 鎾ゅ洖浣滀笟鏍¢獙
 	 * 
 	 * @param exerciseIds
 	 * @return
@@ -232,29 +232,29 @@
 		int count= this.commonDAO.findCountByComplexHql("from ExerciseInfo f where f.startTime<=:startTime and f.exerciseInfoId in (:exerciseIds)", 
 				CollectionUtils.newObjectMap("startTime",new Date(),"exerciseIds",exerciseIds));
 
-		return count>0?new Result(false,"已开始的作业不能撤回"):new Result(true);
+		return count>0?new Result(false,"宸插紑濮嬬殑浣滀笟涓嶈兘鎾ゅ洖"):new Result(true);
 	}
 	
 	/**
-	 * 获取作业详情
+	 * 鑾峰彇浣滀笟璇︽儏
 	 * 
 	 * @param examId
 	 * @return
 	 */
-	@ApiOperation(value = "获取作业详情", notes = "")
+	@ApiOperation(value = "鑾峰彇浣滀笟璇︽儏", notes = "")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "exerciseInfoId", value = "作业id", required = true, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "exerciseInfoId", value = "浣滀笟id", required = true, paramType="query", dataType = "String"),
     })
 	@RequestMapping(value = "/detail", method = RequestMethod.GET)
 	public @ResponseBody Result initExerciseInfo(String exerciseInfoId) {
 		Result result = new Result(true);
 		if (StringUtils.isEmpty(exerciseInfoId)) {
-			new Result(false, "参数错误");
+			new Result(false, "鍙傛暟閿欒");
 		}
 		ExerciseInfo exerciseInfo = this.commonDAO.read(ExerciseInfo.class, exerciseInfoId);
 		exerciseInfo.setSubjectName(exerciseInfo.getSubject().getName());
 		
-		// 获取关联班机信息
+		// 鑾峰彇鍏宠仈鐝満淇℃伅
 		if (exerciseInfo.getReClasses() != null) {
 			List<ExerciseExamReClass> reClasses = new ArrayList<ExerciseExamReClass>(
 					exerciseInfo.getReClasses().size());
@@ -270,13 +270,13 @@
 			exerciseInfo.setReClasses(reClasses);
 		}
 		
-		//答题作业取题目信息
+		//绛旈浣滀笟鍙栭鐩俊鎭�
 		if(exerciseInfo.getType()== ExerciseInfo.EXERCISE_TYPE_ANSWER){
 			String groupId = exerciseInfoService.queryExerciseInfoRelatedGroupId(exerciseInfoId);
 			@SuppressWarnings("deprecation")
 			List<ExerciseItem> lstItem = exerciseVerService.queryExerciseItemList(groupId);
 			
-			// 3.组装返回参数
+			// 3.缁勮杩斿洖鍙傛暟
 			ExerItemResponseData responseData = new ExerItemResponseData();
 			responseData.setExerciseGroupId(groupId);
 			responseData.setItems(lstItem);
@@ -289,12 +289,12 @@
 
 	
 	/**
-	 * 作业题型配置
+	 * 浣滀笟棰樺瀷閰嶇疆
 	 * 
 	 * @param examId
 	 * @return
 	 */
-	@ApiOperation(value = "作业题型配置查询")
+	@ApiOperation(value = "浣滀笟棰樺瀷閰嶇疆鏌ヨ")
 	@RequestMapping(value = "/itemset/list", method = RequestMethod.GET)
 	public @ResponseBody List<Map<String, Object>> examItemTypeList(String exerciseInfoId) {
 		return this.commonDAO.findListWithMapByHql("select blankScore as blankScore,halfRightScore as halfRightScore,"
@@ -304,14 +304,14 @@
 	}
 
 	/**
-	 * 作业布置班级列表
+	 * 浣滀笟甯冪疆鐝骇鍒楄〃
 	 * 
 	 * @param examId
 	 * @return
 	 */
 	@RequestMapping(value = "/relatedclass/list", method = RequestMethod.GET)
 	public @ResponseBody List<Map<String, Object>> classList(String exerciseInfoId) {
-		// TODO 作业布置查询班级需要修改
+		// TODO 浣滀笟甯冪疆鏌ヨ鐝骇闇�瑕佷慨鏀�
 		return this.commonDAO.findListWithMapByHql(
 				"select  s.classId as classId,s.name as className from ExerciseExamReClass c,ClsClass s where c.deleteFlag is false and s.deleteFlag is false"
 						+ " and s.classId = c.classId  and c.examId = :exerciseInfoId",
@@ -319,7 +319,7 @@
 	}
 
 	/**
-	 * 作业题库来源列表
+	 * 浣滀笟棰樺簱鏉ユ簮鍒楄〃
 	 * 
 	 * @param examId
 	 * @return
@@ -334,15 +334,15 @@
 	
 	
 	/**
-	 * 学员得分详情列表
+	 * 瀛﹀憳寰楀垎璇︽儏鍒楄〃
 	 * 
 	 * @param groupId
 	 * @return
 	 */
-	@ApiOperation(value = "学员得分详情列表", notes = "")
+	@ApiOperation(value = "瀛﹀憳寰楀垎璇︽儏鍒楄〃", notes = "")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "exerciseInfoId", value = "作业id", required = false, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "subjectId", value = "课程id", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "exerciseInfoId", value = "浣滀笟id", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "subjectId", value = "璇剧▼id", required = false, paramType="query", dataType = "String"),
     })
 	@RequestMapping(value = "/teacher/answerresultlist", method = RequestMethod.GET)
 	public @ResponseBody Result resultList(String keyword,String exerciseInfoId,String subjectId, Short status,Integer pageSize,
@@ -350,7 +350,7 @@
 		pageSize = pageSize != null && pageSize > 0 ? pageSize : DEFAULT_PAGE_SIZE;
 		pageNum = pageNum != null && pageNum > 0 ? pageNum : DEFAULT_PAGE_NUM;
 		
-		//作业数量
+		//浣滀笟鏁伴噺
 		int totalCount = exerciseInfoService.queryStuExerciseListCount(keyword,exerciseInfoId,null,subjectId,status);
 		Pager pager = new Pager(pageSize,pageNum);
 		pager.setTotalCount(totalCount);
@@ -365,18 +365,18 @@
 		return new Result(true,"",CollectionUtils.newObjectMap("list", listResult,"pager", pager));
 	}
 	
-	//查询个人需要做的作业
-	@ApiOperation(value = "查询个人需要做的作业列表", notes = "")
+	//鏌ヨ涓汉闇�瑕佸仛鐨勪綔涓�
+	@ApiOperation(value = "鏌ヨ涓汉闇�瑕佸仛鐨勪綔涓氬垪琛�", notes = "")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "classId", value = "班级id", required = true, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "subjectId", value = "课程id", required = true, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "status", value = "作业状态查询(默认全部,0待完成,1已提交 ,2:已批阅,3需重写,4:逾期未交)", required = true, paramType="query", dataType = "Short"),
+        @ApiImplicitParam(name = "classId", value = "鐝骇id", required = true, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "subjectId", value = "璇剧▼id", required = true, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "status", value = "浣滀笟鐘舵�佹煡璇紙榛樿鍏ㄩ儴锛�0寰呭畬鎴愶紝1宸叉彁浜� ,2:宸叉壒闃�,3闇�閲嶅啓,4:閫炬湡鏈氦锛�", required = true, paramType="query", dataType = "Short"),
     })
 	@RequestMapping(value = "/student/list", method = RequestMethod.GET)
 	public @ResponseBody Result queryStudentExerciseList(String keyword, String subjectId, Short status, Integer pageSize, Integer pageNum, HttpServletRequest request) {
 		pageSize = pageSize != null && pageSize > 0 ? pageSize : DEFAULT_PAGE_SIZE;
 		pageNum = pageNum != null && pageNum > 0 ? pageNum : DEFAULT_PAGE_NUM;
-		//作业数量
+		//浣滀笟鏁伴噺
 		int totalCount = exerciseInfoService.queryStuExerciseListCount(keyword,null,ClientUtils.getUserId(),subjectId,status);
 		List<ExerciseResultV> list = exerciseInfoService.queryStuExerciselist(keyword,null,ClientUtils.getUserId(),subjectId,status,pageSize, pageNum);
 		List<Map<String, Object>> listResult =QBeanUtils.listBean2ListMap(list,
@@ -388,22 +388,22 @@
 	}
 	
 	/**
-	 * 开始做作业
+	 * 寮�濮嬪仛浣滀笟
 	 *
 	 * @param examId
 	 * @return
 	 */
-	@ApiOperation(value = "开始做作业", notes = "")
+	@ApiOperation(value = "寮�濮嬪仛浣滀笟", notes = "")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "exerciseInfoId", value = "作业id", required = false, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "classId", value = "班级id", required = true, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "exerciseInfoId", value = "浣滀笟id", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "classId", value = "鐝骇id", required = true, paramType="query", dataType = "String"),
         @ApiImplicitParam(name = "studentUserId", value = "userId", required = true, paramType="query", dataType = "String"),
     })
 	@RequestMapping(value = "/student/startexercise", method = RequestMethod.GET)
 	public @ResponseBody Result doStartExercise(String exerciseInfoId, String classId,String studentUserId) {
-		System.out.println(ClientUtils.getUserId()+"做作业"+ClientUtils.getClassName()+"aaa"+ClientUtils.getClassId());
+		System.out.println(ClientUtils.getUserId()+"鍋氫綔涓�"+ClientUtils.getClassName()+"aaa"+ClientUtils.getClassId());
 		if (StringUtils.isEmpty(exerciseInfoId)) {
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
 		
 		if(StringUtils.isEmpty(studentUserId)){
@@ -414,18 +414,18 @@
 	}
 
 	/**
-	 * 提交文件和写作作业
+	 * 鎻愪氦鏂囦欢鍜屽啓浣滀綔涓�
 	 *
 	 * @param examId
 	 * @return
 	 */
-	@ApiOperation(value = "提交文件和写作作业", notes = "")
+	@ApiOperation(value = "鎻愪氦鏂囦欢鍜屽啓浣滀綔涓�", notes = "")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "exerciseCompleteInfoId", value = "提交记录id", required = false, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "content", value = "内容", required = true, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "fileId", value = "文件id", required = true, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "filePath", value = "文件路径", required = true, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "submitType", value = "提交方式(1:已提交作业,待批阅  2:已批阅  3:需重写 重写完后重新提交状态变为 1)", required = true, paramType="query", dataType = "short"),
+        @ApiImplicitParam(name = "exerciseCompleteInfoId", value = "鎻愪氦璁板綍id", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "content", value = "鍐呭", required = true, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "fileId", value = "鏂囦欢id", required = true, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "filePath", value = "鏂囦欢璺緞", required = true, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "submitType", value = "鎻愪氦鏂瑰紡锛�1锛氬凡鎻愪氦浣滀笟锛屽緟鎵归槄  2锛氬凡鎵归槄  3锛氶渶閲嶅啓 閲嶅啓瀹屽悗閲嶆柊鎻愪氦鐘舵�佸彉涓� 1锛�", required = true, paramType="query", dataType = "short"),
     })
 	@RequestMapping(value = "/student/submitexercise", method = RequestMethod.POST)
 	public @ResponseBody Result doSubmitFileExercise(
@@ -434,14 +434,14 @@
 			@RequestParam(value = "filePath") String filePath, @RequestParam(value = "submitType") short submitType) {
 
 		if (StringUtils.isEmpty(completeInfoId)) {
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
 
 		return this.exerciseInfoService.doSubmitOtherExerciseInfo(completeInfoId, content, fileId, filePath,submitType);
 	}
 
 	/**
-	 * 提交答题作业
+	 * 鎻愪氦绛旈浣滀笟
 	 *
 	 * @param examId
 	 * @return
@@ -449,11 +449,11 @@
 	 * @throws JsonMappingException 
 	 * @throws JsonParseException 
 	 */
-	@ApiOperation(value = "提交答题作业", notes = "")
+	@ApiOperation(value = "鎻愪氦绛旈浣滀笟", notes = "")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "exerciseCompleteInfoId", value = "提交记录id", required = false, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "exerciseInfoId", value = "作业id", required = false, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "answers", value = "答题内容", required = true, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "exerciseCompleteInfoId", value = "鎻愪氦璁板綍id", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "exerciseInfoId", value = "浣滀笟id", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "answers", value = "绛旈鍐呭", required = true, paramType="query", dataType = "String"),
     })
 	@RequestMapping(value = "/student/submitanswer", method = RequestMethod.POST)
 	public @ResponseBody Result doSubmitAnswerExercise(@RequestParam(value = "answers") String answers,
@@ -461,7 +461,7 @@
 			@RequestParam(value = "exerciseCompleteId") String exerciseCompleteId) throws Exception {
 		
 		if (StringUtils.isEmpty(answers)) {
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
 		
 		ExerciseSubmitAnswerData answerData = new ObjectMapper().readValue(answers, ExerciseSubmitAnswerData.class);
@@ -469,29 +469,29 @@
 		return this.exerciseInfoService.doSubmitAnswerExerciseInfo(answerData, exerciseInfoId, exerciseCompleteId);
 	}
 	
-	@ApiOperation(value = "老师阅卷")
-	@ApiImplicitParams({@ApiImplicitParam(name="answerData", dataType="String", paramType="query", value="提交答案", required=true)})
+	@ApiOperation(value = "鑰佸笀闃呭嵎")
+	@ApiImplicitParams({@ApiImplicitParam(name="answerData", dataType="String", paramType="query", value="鎻愪氦绛旀", required=true)})
 	@RequestMapping(value = "/teacher/check", method = RequestMethod.POST)
 	public @ResponseBody Object doCheck(@RequestBody ExerciseSubmitAnswerData answerData) {
 		return this.exerciseInfoService.doSubmitAnswerExerciseInfo(answerData, answerData.getExerciseInfoId(), answerData.getExerciseCompleteId());
 	}
 
 	/**
-	 * 前端查看作业详情
+	 * 鍓嶇鏌ョ湅浣滀笟璇︽儏
 	 *
 	 * @param examId
 	 * @return
 	 */
-	@ApiOperation(value = "查看学生作业详情", notes = "")
+	@ApiOperation(value = "鏌ョ湅瀛︾敓浣滀笟璇︽儏", notes = "")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "exerciseCompleteInfoId", value = "提交记录id", required = false, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "classId", value = "班级id", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "exerciseCompleteInfoId", value = "鎻愪氦璁板綍id", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "classId", value = "鐝骇id", required = false, paramType="query", dataType = "String"),
         @ApiImplicitParam(name = "studentUserId", value = "userId", required = true, paramType="query", dataType = "String"),
     })
 	@RequestMapping(value = "/student/detail", method = RequestMethod.GET)
 	public @ResponseBody Result queryStudentExerciseDetail(String exerciseInfoId, String classId,String studentUserId) {
 		if (StringUtils.isEmpty(exerciseInfoId)) {
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
 		Map<String, Object> detailMap = new HashMap<String,Object>(30);
 		ExerciseInfo exerciseInfo = this.commonDAO.read(ExerciseInfo.class, exerciseInfoId);
@@ -525,7 +525,7 @@
 	}
 
 	/**
-	 * 初始化平均成绩和最高成绩
+	 * 鍒濆鍖栧钩鍧囨垚缁╁拰鏈�楂樻垚缁�
 	 * 
 	 * @param groupId
 	 * @return
@@ -537,7 +537,7 @@
 	}
 
 	/**
-	 * 每道题得分详情
+	 * 姣忛亾棰樺緱鍒嗚鎯�
 	 * 
 	 * @param groupId
 	 * @return
diff --git a/src/main/java/com/qxueyou/scc/exercise/action/ExerciseItemController.java b/src/main/java/com/qxueyou/scc/exercise/action/ExerciseItemController.java
index 41ea66a..37e1928 100644
--- a/src/main/java/com/qxueyou/scc/exercise/action/ExerciseItemController.java
+++ b/src/main/java/com/qxueyou/scc/exercise/action/ExerciseItemController.java
@@ -20,13 +20,13 @@
 import io.swagger.annotations.Api;
 
 /**
- * 练习题目控制
+ * 缁冧範棰樼洰鎺у埗
  * 
  * @author kevin
  * @history 2018-03-11 create kevin
  */
 
-@Api(tags = "题目基础处理接口")
+@Api(tags = "棰樼洰鍩虹澶勭悊鎺ュ彛")
 @Controller
 @RequestMapping(value = "/exercise/item")
 public class ExerciseItemController {
@@ -38,7 +38,7 @@
 	private IExerciseService exerciseService;
 
 	/**
-	 * 删除题目
+	 * 鍒犻櫎棰樼洰
 	 * 
 	 * @param exerciseGroupIds
 	 * @return
@@ -46,10 +46,10 @@
 	@RequestMapping(value = "/delete", method = RequestMethod.GET)
 	public @ResponseBody Result delete(String groupId,String exerciseItemIds) {
 		if(StringUtils.isEmpty(exerciseItemIds)){
-			return new Result(false,"没有选择需要删除的题目");
+			return new Result(false,"娌℃湁閫夋嫨闇�瑕佸垹闄ょ殑棰樼洰");
 		}
 		
-		//查询题库与题目的关系
+		//鏌ヨ棰樺簱涓庨鐩殑鍏崇郴
 		Map<String,Object> params = new HashMap<String, Object>(1);
 		String queryHql = "select r.relationId from ExerciseGroupItemRe r where r.deleteFlag is false  and exerciseGroupId=:groupId and r.exerciseItemId in (:exerciseItemIds)";
 		params.put("groupId",groupId);
@@ -67,7 +67,7 @@
 	}
 
 	/**
-	 * (后台管理系统)保存题目
+	 * 锛堝悗鍙扮鐞嗙郴缁燂級淇濆瓨棰樼洰
 	 * @return
 	 */
 	@RequestMapping(value = "/save", method = RequestMethod.POST)
diff --git a/src/main/java/com/qxueyou/scc/exercise/dao/ExerciseDAO.java b/src/main/java/com/qxueyou/scc/exercise/dao/ExerciseDAO.java
index 4d96cfa..0b603cd 100644
--- a/src/main/java/com/qxueyou/scc/exercise/dao/ExerciseDAO.java
+++ b/src/main/java/com/qxueyou/scc/exercise/dao/ExerciseDAO.java
@@ -1,8 +1,8 @@
 /******************************************************************************
  * Copyright (C) 2015 Shenzhen Penguin Network Technology Co., Ltd
  * All Rights Reserved.
- * 本软件为深圳市企鹅网络科技有限公司开发研制。未经本公司正式书面同意,其他任何个人、团体
- * 不得使用、复制、修改或发布本软件.
+ * 鏈蒋浠朵负娣卞湷甯備紒楣呯綉缁滅鎶�鏈夐檺鍏徃寮�鍙戠爺鍒躲�傛湭缁忔湰鍏徃姝e紡涔﹂潰鍚屾剰锛屽叾浠栦换浣曚釜浜恒�佸洟浣�
+ * 涓嶅緱浣跨敤銆佸鍒躲�佷慨鏀规垨鍙戝竷鏈蒋浠�.
  *****************************************************************************/
 
 package com.qxueyou.scc.exercise.dao;
@@ -30,18 +30,18 @@
 
 @Repository(value="exerciseDAO")
 /**
- * 自动注入sessionFactory
+ * 鑷姩娉ㄥ叆sessionFactory
  *
- * @author 邓志永
+ * @author 閭撳織姘�
  * @since JDK1.6
- * @history 2010-07-28 夏德虎 新建
+ * @history 2010-07-28 澶忓痉铏� 鏂板缓
  */
 
 public class ExerciseDAO extends BaseDAO {
 	
 
     /**
-	 * 组装查询练习题目  顺序、随机练习
+	 * 缁勮鏌ヨ缁冧範棰樼洰  椤哄簭銆侀殢鏈虹粌涔�
 	 * @return
 	 */
 	@SuppressWarnings("unchecked")
@@ -67,7 +67,7 @@
 	}
 	
 	/**
-	 *查询错题 收藏对应的练习记录
+	 *鏌ヨ閿欓 鏀惰棌瀵瑰簲鐨勭粌涔犺褰�
 	 * @return
 	 * @throws ParseException 
 	 */
@@ -92,16 +92,16 @@
 	}
 	
 	/**
-     * 根据hql查询,返回列表分页数据
+     * 鏍规嵁hql鏌ヨ,杩斿洖鍒楄〃鍒嗛〉鏁版嵁
      *
-     * @param hql 查询语句
-     * @param args 参数
-     * @param cls 返回类型
+     * @param hql 鏌ヨ璇彞
+     * @param args 鍙傛暟
+     * @param cls 杩斿洖绫诲瀷
      * @return
      */
 	@SuppressWarnings("unchecked")
 	public List<Map<String,String>> queryRecentRecords(final String sql, final Pager page, final List<Object> args) {
-       // 查询得到结果
+       // 鏌ヨ寰楀埌缁撴灉
         
 		List<Object[]> resultLst = this.getHibernateTemplate().execute(
 				new HibernateCallback<List<Object[]>>() {
@@ -140,16 +140,16 @@
     }
     
     /**
-     * 根据hql查询,返回列表分页数据
+     * 鏍规嵁hql鏌ヨ,杩斿洖鍒楄〃鍒嗛〉鏁版嵁
      *
-     * @param hql 查询语句
-     * @param args 参数
-     * @param cls 返回类型
+     * @param hql 鏌ヨ璇彞
+     * @param args 鍙傛暟
+     * @param cls 杩斿洖绫诲瀷
      * @return
      */
     @SuppressWarnings({"unchecked" })
 	public List<Map<String,String>> queryExerciseRecentRecords(final String sql, final List<Object> args) {
-       // 查询得到结果
+       // 鏌ヨ寰楀埌缁撴灉
        List<Object[]> resultLst = this.getHibernateTemplate().execute(new HibernateCallback<List<Object[]>>() {
 
             public List<Object[]> doInHibernate(Session session) {
@@ -180,7 +180,7 @@
     }
     
     /**
-	 *查询练习列表,还需查询联系下面习题个数
+	 *鏌ヨ缁冧範鍒楄〃锛岃繕闇�鏌ヨ鑱旂郴涓嬮潰涔犻涓暟
 	 * @return
 	 */
 	@SuppressWarnings("unchecked")
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExciseAnswerResult.java b/src/main/java/com/qxueyou/scc/exercise/model/ExciseAnswerResult.java
index e92bff7..7f5d409 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExciseAnswerResult.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExciseAnswerResult.java
@@ -3,7 +3,7 @@
 import java.util.List;
 
 /**
- * 练习答案提交结果
+ * 缁冧範绛旀鎻愪氦缁撴灉
  * @author zhiyong
  *
  */
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExciseExtendReqData.java b/src/main/java/com/qxueyou/scc/exercise/model/ExciseExtendReqData.java
index 82241c3..e6d8073 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExciseExtendReqData.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExciseExtendReqData.java
@@ -4,7 +4,7 @@
 import java.util.List;
 
 /**
- * 练习 收藏 错题提交结果 V2.0
+ * 缁冧範 鏀惰棌 閿欓鎻愪氦缁撴灉 V2.0
  * @author zhiyong
  *
  */
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExciseExtendReqListData.java b/src/main/java/com/qxueyou/scc/exercise/model/ExciseExtendReqListData.java
index 4c36099..9a6d3bc 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExciseExtendReqListData.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExciseExtendReqListData.java
@@ -4,7 +4,7 @@
 import java.util.List;
 
 /**
- * 练习 收藏 错题提交结果 V2.0
+ * 缁冧範 鏀惰棌 閿欓鎻愪氦缁撴灉 V2.0
  * @author zhiyong
  *
  */
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExciseExtendResult.java b/src/main/java/com/qxueyou/scc/exercise/model/ExciseExtendResult.java
index 841ad9e..db5f35b 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExciseExtendResult.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExciseExtendResult.java
@@ -3,7 +3,7 @@
 import java.util.List;
 
 /**
- * 练习 收藏 错题提交结果
+ * 缁冧範 鏀惰棌 閿欓鎻愪氦缁撴灉
  * @author zhiyong
  *
  */
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExerGroupResponseData.java b/src/main/java/com/qxueyou/scc/exercise/model/ExerGroupResponseData.java
index e143cf2..c88a152 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExerGroupResponseData.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExerGroupResponseData.java
@@ -6,7 +6,7 @@
 import java.util.Date;
 
 /**
- * 练习组题目返回数据  V2.0
+ * 缁冧範缁勯鐩繑鍥炴暟鎹�  V2.0
  * @author zhiyong
  *
  */
@@ -17,81 +17,81 @@
 	private static final long serialVersionUID = -5268126429792723826L;
 	
 	
-	/**-----------------------练习组基本信息      */
-	/** 本套题目总数  */
+	/**-----------------------缁冧範缁勫熀鏈俊鎭�      */
+	/** 鏈棰樼洰鎬绘暟  */
 	private String groupId;
 	
-	/** 班级id  */
+	/** 鐝骇id  */
 	private String classId;
 	
-	/** 科目id  */
+	/** 绉戠洰id  */
 	private String collegeCourseId;
 	
-	/** 机构id  */
+	/** 鏈烘瀯id  */
 	private String orgId;
 	
-	/** 课程id  */
+	/** 璇剧▼id  */
 	private String subjectId;
 	
-	/** 练习组名称  */
+	/** 缁冧範缁勫悕绉�  */
 	private String name;
 	
-	/** 练习组类型  */
+	/** 缁冧範缁勭被鍨�  */
 	private short type;
 	
-	/**练习时间  */
+	/**缁冧範鏃堕棿  */
 	private String exerciseTime;
 	
-	/** 做题方式(1:未做题优先  2:错题优先) */
+	/** 鍋氶鏂瑰紡锛�1锛氭湭鍋氶浼樺厛  2锛氶敊棰樹紭鍏堬級 */
 	private String exerciseStrategy;
 	
-	/** 做题来源(1:练习题库  2:考试题库  3:家庭作业) */
+	/** 鍋氶鏉ユ簮(1:缁冧範棰樺簱  2锛氳�冭瘯棰樺簱  3锛氬搴綔涓�) */
 	private String exerciseSource;
 	
-	/** 做题模式(1:练习  2:考试) */
+	/** 鍋氶妯″紡(1:缁冧範  2锛氳�冭瘯) */
 	private String exerciseMode;
 	
-	/** 本套题目总数  */
+	/** 鏈棰樼洰鎬绘暟  */
 	private BigInteger allCount;
 	
-	/** 用于列表排序  */
+	/** 鐢ㄤ簬鍒楄〃鎺掑簭  */
 	private BigInteger orderNum;
 	
-	/** 题目更新时间  */
+	/** 棰樼洰鏇存柊鏃堕棿  */
 	private Date updateTime;
 	
-	/** 最近一次提交答案的时间  */
+	/** 鏈�杩戜竴娆℃彁浜ょ瓟妗堢殑鏃堕棿  */
 	private Date answerUpdateTime;
 	
-	/** 本套题错题本更新时间  */
+	/** 鏈棰橀敊棰樻湰鏇存柊鏃堕棿  */
 	private Date faultUpdateTime;
 	
-	/** 本套题收藏本更新时间  */
+	/** 鏈棰樻敹钘忔湰鏇存柊鏃堕棿  */
 	private Date favorUpdateTime;
 	
-	/** 本套题错题本个数 */
+	/** 鏈棰橀敊棰樻湰涓暟 */
 	private BigInteger faultCount;
 	
-	/** 本套题收藏本个数  */
+	/** 鏈棰樻敹钘忔湰涓暟  */
 	private BigInteger favorCount;
 	
-	/**-----------------------做题记录基本信息      */
+	/**-----------------------鍋氶璁板綍鍩烘湰淇℃伅      */
 	
 	private String exerciseRecordId;
 	
-	/** 是否交卷  */
+	/** 鏄惁浜ゅ嵎  */
 	private String status;
 	
-	/** 当前做题序号  */
+	/** 褰撳墠鍋氶搴忓彿  */
 	private String currTitleNumber;
 	
-	/** 本次习题已做的个数  */
+	/** 鏈涔犻宸插仛鐨勪釜鏁�  */
 	private BigInteger doCount;
 	
-	/** 本次习题正确的个数  */
+	/** 鏈涔犻姝g‘鐨勪釜鏁�  */
 	private BigInteger correctCount;
 	
-	/** 已提交人数  */
+	/** 宸叉彁浜や汉鏁�  */
 	private BigInteger submitNumber;
 	
 	private BigDecimal completionRate;
@@ -100,15 +100,15 @@
 	
 	private BigDecimal score;
 
-	/** 错题本 收藏本总数  */
+	/** 閿欓鏈� 鏀惰棌鏈�绘暟  */
 	private BigInteger extendAllCount;
 	
-	/** 班级正确率 排名  */
+	/** 鐝骇姝g‘鐜� 鎺掑悕  */
 	private String classAccuracy;
 	
 	private String classRank;
 	
-	/** 是否可重做true 可以重做  false 不能 */
+	/** 鏄惁鍙噸鍋歵rue 鍙互閲嶅仛  false 涓嶈兘 */
 	private boolean repeatFlag;
 	
 	public String getGroupId() {
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExerItemResponseData.java b/src/main/java/com/qxueyou/scc/exercise/model/ExerItemResponseData.java
index 56c2c6c..f4e2eba 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExerItemResponseData.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExerItemResponseData.java
@@ -6,7 +6,7 @@
 import com.qxueyou.scc.base.model.Result;
 
 /**
- * 练习组题目返回数据 
+ * 缁冧範缁勯鐩繑鍥炴暟鎹� 
  * @author zhiyong
  *
  */
@@ -16,22 +16,22 @@
 	 */
 	private static final long serialVersionUID = -5268126429792723826L;
 	
-	/** 练习题 */
+	/** 缁冧範棰� */
 	private List<ExerciseItem> items;
 	
-	/** 个人答案*/
+	/** 涓汉绛旀*/
 	private List<ExerciseItemAnswerU> answers;
 	
-	/** 组id */
+	/** 缁刬d */
 	private String exerciseGroupId;
 	
-	/** 记录id */
+	/** 璁板綍id */
 	private String exerciseRecordId;
 	
-	/** 答题状态 */
+	/** 绛旈鐘舵�� */
 	private String status;
 	
-	/** 返回结果  */
+	/** 杩斿洖缁撴灉  */
 	private Result result;
 
 	public String getStatus() {
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseAddItemParams.java b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseAddItemParams.java
index 163dfe7..3617a0e 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseAddItemParams.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseAddItemParams.java
@@ -3,7 +3,7 @@
 import java.io.Serializable;
 
 /**
- * 后台添加练习参数
+ * 鍚庡彴娣诲姞缁冧範鍙傛暟
  * @author zhiyong
  *
  */
@@ -13,202 +13,202 @@
 	 */
 	private static final long serialVersionUID = 5231270523566561011L;
 
-	/**  组id */
+	/**  缁刬d */
 	private String groupId;
 	
-	/**  练习id */
+	/**  缁冧範id */
 	private String exerciseId;
 
-	/** 标题图片ids  */
+	/** 鏍囬鍥剧墖ids  */
 	private String title_imgsIds;
 
-	/** 标题  */
+	/** 鏍囬  */
 	private String title;
 	
-	/** 分析   */
+	/** 鍒嗘瀽   */
 	private String analysis;
 
-	/** 类型  */
+	/** 绫诲瀷  */
 	private short type;
 	
-	/**  选项  */
+	/**  閫夐」  */
 	private String optionA;
 	
-	/**  选项id   */
+	/**  閫夐」id   */
 	private String optionA_Id;
 	
-	/**  图片id集合  */
+	/**  鍥剧墖id闆嗗悎  */
 	private String optionA_imgIds;
 	
-	/**  选项  */
+	/**  閫夐」  */
 	private String optionB;
 	
-	/**  选项id   */
+	/**  閫夐」id   */
 	private String optionB_Id;
 	
-	/**  图片id集合  */
+	/**  鍥剧墖id闆嗗悎  */
 	private String optionB_imgIds;
 	
-	/**  选项  */
+	/**  閫夐」  */
 	private String optionC;
 	
-	/**  选项id   */
+	/**  閫夐」id   */
 	private String optionC_Id;
 	
-	/**  图片id集合  */
+	/**  鍥剧墖id闆嗗悎  */
 	private String optionC_imgIds;
 	
-	/**  选项  */
+	/**  閫夐」  */
 	private String optionD;
 	
-	/**  选项id   */
+	/**  閫夐」id   */
 	private String optionD_Id;
 	
-	/**  图片id集合  */
+	/**  鍥剧墖id闆嗗悎  */
 	private String optionD_imgIds;
 	
-	/**  选项  */
+	/**  閫夐」  */
 	private String optionE;
 	
-	/**  选项id   */
+	/**  閫夐」id   */
 	private String optionE_Id;
 	
-	/**  图片id集合  */
+	/**  鍥剧墖id闆嗗悎  */
 	private String optionE_imgIds;
 	
-	/**  选项  */
+	/**  閫夐」  */
 	private String optionF;
 	
-	/**  选项id   */
+	/**  閫夐」id   */
 	private String optionF_Id;
 	
-	/**  图片id集合  */
+	/**  鍥剧墖id闆嗗悎  */
 	private String optionF_imgIds;
 	
-	/**  选项  */
+	/**  閫夐」  */
 	private String optionG;
 	
-	/**  选项id   */
+	/**  閫夐」id   */
 	private String optionG_Id;
 	
-	/**  图片id集合  */
+	/**  鍥剧墖id闆嗗悎  */
 	private String optionG_imgIds;
 	
-	/**  选项  */
+	/**  閫夐」  */
 	private String optionH;
 	
-	/**  选项id   */
+	/**  閫夐」id   */
 	private String optionH_Id;
 	
-	/**  图片id集合  */
+	/**  鍥剧墖id闆嗗悎  */
 	private String optionH_imgIds;
 	
-	/**  选项  */
+	/**  閫夐」  */
 	private String optionI;
 	
-	/**  选项id   */
+	/**  閫夐」id   */
 	private String optionI_Id;
 	
-	/**  图片id集合  */
+	/**  鍥剧墖id闆嗗悎  */
 	private String optionI_imgIds;
 	
-	/**  选项  */
+	/**  閫夐」  */
 	private String optionJ;
 	
-	/**  选项id   */
+	/**  閫夐」id   */
 	private String optionJ_Id;
 	
-	/**  图片id集合  */
+	/**  鍥剧墖id闆嗗悎  */
 	private String optionJ_imgIds;
 	
-	/**  选项  */
+	/**  閫夐」  */
 	private String optionK;
 	
-	/**  选项id   */
+	/**  閫夐」id   */
 	private String optionK_Id;
 	
-	/**  图片id集合  */
+	/**  鍥剧墖id闆嗗悎  */
 	private String optionK_imgIds;
 	
-	/**  选项  */
+	/**  閫夐」  */
 	private String optionL;
 	
-	/**  选项id   */
+	/**  閫夐」id   */
 	private String optionL_Id;
 	
-	/**  图片id集合  */
+	/**  鍥剧墖id闆嗗悎  */
 	private String optionL_imgIds;
 	
-	/**  选项  */
+	/**  閫夐」  */
 	private String optionM;
 	
-	/**  选项id   */
+	/**  閫夐」id   */
 	private String optionM_Id;
 	
-	/**  图片id集合  */
+	/**  鍥剧墖id闆嗗悎  */
 	private String optionM_imgIds;
 	
-	/**  选项  */
+	/**  閫夐」  */
 	private String optionN;
 	
-	/**  选项id   */
+	/**  閫夐」id   */
 	private String optionN_Id;
 	
-	/**  图片id集合  */
+	/**  鍥剧墖id闆嗗悎  */
 	private String optionN_imgIds;
 	
-	/**  选项  */
+	/**  閫夐」  */
 	private String optionO;
 	
-	/**  选项id   */
+	/**  閫夐」id   */
 	private String optionO_Id;
 	
-	/**  图片id集合  */
+	/**  鍥剧墖id闆嗗悎  */
 	private String optionO_imgIds;
 	
-	/**  选择A  */
+	/**  閫夋嫨A  */
 	private boolean checkA;
 	
-	/**  选择B  */
+	/**  閫夋嫨B  */
 	private boolean checkB;
 	
-	/**  选择C  */
+	/**  閫夋嫨C  */
 	private boolean checkC;
 	
-	/**  选择D  */
+	/**  閫夋嫨D  */
 	private boolean checkD;
 	
-	/**  选择E  */
+	/**  閫夋嫨E  */
 	private boolean checkE;
 	
-	/**  选择F */
+	/**  閫夋嫨F */
 	private boolean checkF;
 	
-	/**  选择G  */
+	/**  閫夋嫨G  */
 	private boolean checkG;
 	
-	/**  选择H  */
+	/**  閫夋嫨H  */
 	private boolean checkH;
 	
-	/**  选择I  */
+	/**  閫夋嫨I  */
 	private boolean checkI;
 	
-	/**  选择J  */
+	/**  閫夋嫨J  */
 	private boolean checkJ;
 	
-	/**  选择K  */
+	/**  閫夋嫨K  */
 	private boolean checkK;
 	
-	/**  选择L */
+	/**  閫夋嫨L */
 	private boolean checkL;
 	
-	/**  选择M  */
+	/**  閫夋嫨M  */
 	private boolean checkM;
 	
-	/**  选择N  */
+	/**  閫夋嫨N  */
 	private boolean checkN;
 	
-	/**  选择O  */
+	/**  閫夋嫨O  */
 	private boolean checkO;
 	
 	public String getGroupId() {
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseAnalisisResult.java b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseAnalisisResult.java
index edff45e..55c4afd 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseAnalisisResult.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseAnalisisResult.java
@@ -6,7 +6,7 @@
 import java.util.List;
 
 /**
- * 习题分析结果
+ * 涔犻鍒嗘瀽缁撴灉
  * @author zhiyong
  *
  */
@@ -17,41 +17,41 @@
 	 */
 	private static final long serialVersionUID = 6958613163152616538L;
 	
-	/** 题目统计结果分析 ------------------------------------ */
-	/** 正确率 */
+	/** 棰樼洰缁熻缁撴灉鍒嗘瀽 ------------------------------------ */
+	/** 姝g‘鐜� */
 	private BigDecimal allAccuracy;
-	/** 习题解析 */
+	/** 涔犻瑙f瀽 */
 	private String analysis;
-	/** 习题提交总人数 */
+	/** 涔犻鎻愪氦鎬讳汉鏁� */
 	private BigInteger submitAllNumber;
-	/** 易错答案 */
+	/** 鏄撻敊绛旀 */
 	private String usualFaultAnswers;
 
-	/** 个人统计结果分析----------------------------------- */
-	/** 个人统计分析表id */
+	/** 涓汉缁熻缁撴灉鍒嗘瀽----------------------------------- */
+	/** 涓汉缁熻鍒嗘瀽琛╥d */
 	private String exerciseAnalisisUId;
-	/** 正确率 */
+	/** 姝g‘鐜� */
 	private BigDecimal accuracy;
-	/** 个人习题提交次数 */
+	/** 涓汉涔犻鎻愪氦娆℃暟 */
 	private BigInteger submitNumber;
-	/** 个人习题错误次数 */
+	/** 涓汉涔犻閿欒娆℃暟 */
 	private BigInteger submitErrorNumber;
-	/** 此题的正确答案 */
+	/** 姝ら鐨勬纭瓟妗� */
 	private String correctAnswers;
 	
-	/** 做题当前题号  */
+	/** 鍋氶褰撳墠棰樺彿  */
 	private String currTitleNumber;
 	
-	/** 是否交卷  */
+	/** 鏄惁浜ゅ嵎  */
 	private String isSubmitAnswer;
 	
-	/** 本次习题的正确率  */
+	/** 鏈涔犻鐨勬纭巼  */
 	private String exerAccuracy;
 	
-	/** 本次习题的正确个数  */
+	/** 鏈涔犻鐨勬纭釜鏁�  */
 	private String exerCorrectCount;
 	
-	/** 个人做题答案  */
+	/** 涓汉鍋氶绛旀  */
 	private List<ExerciseItemAnswerU> answerU;
 	
 	public BigDecimal getAllAccuracy() {
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseAnswerData.java b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseAnswerData.java
index a311272..cca1275 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseAnswerData.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseAnswerData.java
@@ -3,7 +3,7 @@
 import java.io.Serializable;
 
 /**
- * 练习答案提交结果数据
+ * 缁冧範绛旀鎻愪氦缁撴灉鏁版嵁
  * @author zhiyong
  *
  */
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseChapter.java b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseChapter.java
index 7ff73f1..5a481fd 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseChapter.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseChapter.java
@@ -25,7 +25,7 @@
 
 
 /**
- * 章节表 实体
+ * 绔犺妭琛� 瀹炰綋
  * @author ody.yuan
  *
  */
@@ -35,66 +35,66 @@
 public class ExerciseChapter implements Serializable,ITrace {
 	private static final long serialVersionUID = 1L;
 
-	/** 主键:章节ID  */
+	/** 涓婚敭锛氱珷鑺侷D  */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="CHAPTER_ID", unique=true, nullable=false, length=32)
 	private String chapterId;
 
-	/** 编码  */
+	/** 缂栫爜  */
 	@Column(name="CODE", length=64)
 	private String code;
 
-	/** 创建人ID  */
+	/** 鍒涘缓浜篒D  */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	@JsonIgnore
 	private String createId;
 
-	/** 创建时间  */
+	/** 鍒涘缓鏃堕棿  */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date createTime;
 
-	/** 创建者  */
+	/** 鍒涘缓鑰�  */
 	@Column(name="CREATOR", nullable=false, length=100)
 	@JsonIgnore
 	private String creator;
 
-	/**  删除标志 */
+	/**  鍒犻櫎鏍囧織 */
 	@Column(name="DELETE_FLAG", nullable=false)
 	@JsonIgnore
 	private boolean deleteFlag;
 	
-	/**  班级课表ID */
+	/**  鐝骇璇捐〃ID */
 	@Column(name="CLASS_SCHEDULE_ID", length=32)
 	private String classScheduleId;
 	
-	/**  班级课程ID */
+	/**  鐝骇璇剧▼ID */
 	@Column(name="CLASS_SUBJECT_ID", length=32)
 	private String classSubjectId;
 
-	/**  父章节ID */
+	/**  鐖剁珷鑺侷D */
 	@Column(name="PARENT_CHAPTER_ID", length=32)
 	private String parentChapterId;
 
-	/**  标题 */
+	/**  鏍囬 */
 	@Column(name="TITLE", length=150)
 	private String title;
 
-	/**  修改人ID */
+	/**  淇敼浜篒D */
 	@Column(name="UPDATE_ID", length=32)
 	@JsonIgnore
 	private String updateId;
 
-	/**  修改时间 */
+	/**  淇敼鏃堕棿 */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date updateTime;
 
-	/**  修改人 */
+	/**  淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	@JsonIgnore
 	private String updator;
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseCompleteInfo.java b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseCompleteInfo.java
index 1b4b252..868030a 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseCompleteInfo.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseCompleteInfo.java
@@ -29,7 +29,7 @@
 	private static final long serialVersionUID = 1L;
 	
 	/*
-	 * 0:草稿,未交作业  1:已提交作业,待批阅  2:已批阅  3:需重写 重写完后重新提交状态变为 1
+	 * 0:鑽夌锛屾湭浜や綔涓�  1锛氬凡鎻愪氦浣滀笟锛屽緟鎵归槄  2锛氬凡鎵归槄  3锛氶渶閲嶅啓 閲嶅啓瀹屽悗閲嶆柊鎻愪氦鐘舵�佸彉涓� 1
 	 */
 	public static final short STATUS_DRAFT = 0;
 	
@@ -41,7 +41,7 @@
 	
 	
 	/**
-	 * 作业是否可预览
+	 * 浣滀笟鏄惁鍙瑙�
 	 */
 	public static final short PREVIEW_STATUS_NO = 0;
 	
@@ -68,7 +68,7 @@
 	@Column(name="CLASS_ID")
 	private String classId;
 	
-	//TODO:需要修改数据库数据类型
+	//TODO:闇�瑕佷慨鏀规暟鎹簱鏁版嵁绫诲瀷
 	@Column(name="STUDENT_SCORE")
 	private BigDecimal studentScore;
 	
@@ -103,12 +103,12 @@
 	@JsonIgnore
 	private Date createTime;
 	
-	/**  修改人ID */
+	/**  淇敼浜篒D */
 	@Column(name="UPDATE_ID", length=32)
 	@JsonIgnore
 	private String updateId;
 
-	/**  修改时间 */
+	/**  淇敼鏃堕棿 */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date updateTime;
@@ -117,12 +117,12 @@
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date submitTime;
 	
-	/**  修改人 */
+	/**  淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	@JsonIgnore
 	private String updator;
 
-	/** 删除标志  */
+	/** 鍒犻櫎鏍囧織  */
 	@Column(name="DELETE_FLAG", nullable=false)
 	@JsonIgnore
 	private boolean deleteFlag;
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseCorrection.java b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseCorrection.java
index f68750e..cb8bce6 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseCorrection.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseCorrection.java
@@ -18,7 +18,7 @@
 import com.qxueyou.scc.base.model.ITrace;
 
 /**
- * 纠错表 实体
+ * 绾犻敊琛� 瀹炰綋
  * @author ody.yuan
  *
  */
@@ -32,95 +32,95 @@
 	 */
 	private static final long serialVersionUID = 1L;
 	
-	/** 未处理状态码 */
+	/** 鏈鐞嗙姸鎬佺爜 */
 	public static final short DEAL_STATUS_TODO = 0;
 	
-	/** 处理状态码 */
+	/** 澶勭悊鐘舵�佺爜 */
 	public static final short DEAL_STATUS_DONE = 1;
 
-	/**  主键 */
+	/**  涓婚敭 */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="EXERCISE_CORRECTION_ID", unique=true,nullable=false, length=32)
 	private String exerciseCorrectionId;
 
-	/**  习题组ID */
+	/**  涔犻缁処D */
 	@Column(name="EXERCISE_GROUP_ID", length=32)
 	private String  exerciseGroupId;
 
-	/**  习题组名 */
+	/**  涔犻缁勫悕 */
 	@Column(name="EXERCISE_GROUP_NAME",nullable=false,length=128)
 	private String exerciseGroupName;
 
-	/**  习题ID */
+	/**  涔犻ID */
 	@Column(name="EXERCISE_ITEM_ID", length=32)
 	private String exerciseItemId;
 
-	/**  习题序号 */
+	/**  涔犻搴忓彿 */
 	@Column(name="EXERCISE_ITEM_ORDER", length=20)
 	private String exerciseItemOrder;
 
-	/**  错误类型ID */
+	/**  閿欒绫诲瀷ID */
 	@Column(name="ERROR_TYPE_ID", length=128)
 	private String errorTypeId;
 
-	/**  错误类型名称 */
+	/**  閿欒绫诲瀷鍚嶇О */
 	@Column(name="ERROR_TYPE_NAME", length=128)
 	private String errorTypeName;
 
-	/**  备注 */
+	/**  澶囨敞 */
 	@Column(name="REMARK",length=500)
 	private String remark; 
 
-	/**  纠错提交人ID */
+	/**  绾犻敊鎻愪氦浜篒D */
 	@Column(name="SUBMIT_USER_ID", length=32)
 	private String submitUserId;
 
-	/**  纠错提交人 */
+	/**  绾犻敊鎻愪氦浜� */
 	@Column(name="SUBMIT_USER_NAME", length=32)
 	private String submitUserName;
 
-	/**  纠错提交时间 */
+	/**  绾犻敊鎻愪氦鏃堕棿 */
 	@Column(name="SUBMIT_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date submitTime;
 
-	/**  处理状态 */
+	/**  澶勭悊鐘舵�� */
 	@Column(name="DEAL_STATUS",length=6)
 	private Short dealStatus;
 
-	/**  班级ID */
+	/**  鐝骇ID */
 	@Column(name="CLASS_ID", nullable=false, length=32)
 	private String classId;
 
-	/**  创建时间 */
+	/**  鍒涘缓鏃堕棿 */
 	@Temporal(TemporalType.TIMESTAMP)
 	@Column(name = "CREATE_TIME", nullable = false, length = 19)
 	private Date createTime;
 
-	/** 删除标志  */
+	/** 鍒犻櫎鏍囧織  */
 	@Column(name="DELETE_FLAG", nullable=false,length=6)
 	private boolean deleteFlag;
 
-	/** 修改时间  */
+	/** 淇敼鏃堕棿  */
 	@Temporal(TemporalType.TIMESTAMP)
 	@Column(name = "UPDATE_TIME", nullable = false, length = 19)
 	private Date updateTime;
 
-	/** 创建人  */
+	/** 鍒涘缓浜�  */
 	@Column(name = "CREATOR", nullable = false, length = 100)
 	private String creator;
 
-	/** 创建人ID  */
+	/** 鍒涘缓浜篒D  */
 	@Column(name = "CREATE_ID", nullable = false, length = 32)
 	private String createId;
 
-	/**  修改人 */
+	/**  淇敼浜� */
 	@Column(name = "UPDATOR", length = 100)
 	private String updator;
 
-	/**  修改者ID */
+	/**  淇敼鑰匢D */
 	@Column(name = "UPDATE_ID", length = 32)
 	private String updateId;
 
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseCorrectionImg.java b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseCorrectionImg.java
index 19c12d2..2b6fa99 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseCorrectionImg.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseCorrectionImg.java
@@ -16,7 +16,7 @@
 import com.qxueyou.scc.base.model.ITrace;
 
 /**
- * 练习纠错 图片表  实体
+ * 缁冧範绾犻敊 鍥剧墖琛�  瀹炰綋
  * @author alger
  *
  */
@@ -29,24 +29,24 @@
 	 */
 	private static final long serialVersionUID = 1L;
 	
-	/** 主键  */
+	/** 涓婚敭  */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="CORRECTION_IMG_ID", unique=true, nullable=false, length=32)
 	private String correctionImgId;
 
-	/** 纠错ID  */
+	/** 绾犻敊ID  */
 	@Column(name="EXERCISE_CORRECTION",nullable=false, length=32)
 	@JsonIgnore
 	private String exercisecorrectionId;
 
-	/** 图片路径  */
+	/** 鍥剧墖璺緞  */
 	@Column(name="IMG_PATH",nullable=false, length=32)
 	@JsonIgnore
 	private String imgPath;
 
-	/** 图片顺序  */
+	/** 鍥剧墖椤哄簭  */
 	@Column(name="IMG_ORDER",nullable=false, length=32)
 	@JsonIgnore
 	private String imgOrper;
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseCorrectionResult.java b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseCorrectionResult.java
index bd45415..c4dd8ae 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseCorrectionResult.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseCorrectionResult.java
@@ -4,7 +4,7 @@
 import java.util.List;
 
 /**
- * 纠错结果
+ * 绾犻敊缁撴灉
  * @author ody.yuan
  *
  */
@@ -12,7 +12,7 @@
 		
 	
 	/**
-	 *  ExerciseCorrection和ExerciseItem 数据集
+	 *  ExerciseCorrection鍜孍xerciseItem 鏁版嵁闆�
 	 */
 	private static final long serialVersionUID = -7981226595598231398L;
 
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseDataSubmitLog.java b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseDataSubmitLog.java
index 631cea0..63ec887 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseDataSubmitLog.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseDataSubmitLog.java
@@ -15,7 +15,7 @@
 
 
 /**
- * app端做题答案提交数据格式
+ * app绔仛棰樼瓟妗堟彁浜ゆ暟鎹牸寮�
  * The persistent class for the exercise_data_submit_log database table.
  * 
  */
@@ -41,7 +41,7 @@
 	private short type;
 	
 
-	/** 日志类型(1,提交做题答案(错题、收藏除外); 2,提交做题答案(错题、收藏); */
+	/** 鏃ュ織绫诲瀷(1,鎻愪氦鍋氶绛旀锛堥敊棰樸�佹敹钘忛櫎澶栵級; 2,鎻愪氦鍋氶绛旀锛堥敊棰樸�佹敹钘�); */
 	
 	public final static short TYPE_SUBMIT_ANSWER = 1;
 	
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseDeepAnalysis.java b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseDeepAnalysis.java
index 3f11af6..5369030 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseDeepAnalysis.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseDeepAnalysis.java
@@ -18,7 +18,7 @@
 
 
 /**
- * 练习导入深度解析表 实体
+ * 缁冧範瀵煎叆娣卞害瑙f瀽琛� 瀹炰綋
  * @author ody.yuan
  *
  */
@@ -29,112 +29,112 @@
 	
 	private static final long serialVersionUID = 1L;
 
-	/**  主键 */
+	/**  涓婚敭 */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="DEEP_ANALYSIS_ID", unique=true, nullable=false, length=32)
 	private String deepAnalysisId;
 
-	/**  创建时间 */
+	/**  鍒涘缓鏃堕棿 */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date createTime;
 
-	/**  修改时间 */
+	/**  淇敼鏃堕棿 */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date updateTime;
 
-	/**  创建人 */
+	/**  鍒涘缓浜� */
 	@Column(name="CREATOR", nullable=false, length=100)
 	@JsonIgnore
 	private String creator;
 
-	/** 创建人ID  */
+	/** 鍒涘缓浜篒D  */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	@JsonIgnore
 	private String createId;
 
-	/**  修改人ID */
+	/**  淇敼浜篒D */
 	@Column(name="UPDATOR", length=100)
 	@JsonIgnore
 	private String updator;
 
-	/**  修改人ID */
+	/**  淇敼浜篒D */
 	@Column(name="UPDATE_ID", length=32)
 	@JsonIgnore
 	private String updateId;
 
-	/**  删除标志 */
+	/**  鍒犻櫎鏍囧織 */
 	@Column(name="DELETE_FLAG", nullable=false)
 	@JsonIgnore
 	private boolean deleteFlag;
 
-	/**  练习组ID */
+	/**  缁冧範缁処D */
 	@Column(name="EXERCISE_GROUP_ID", length=32)
 	private String exerciseGroupId;
 
-	/**  联系组名称 */
+	/**  鑱旂郴缁勫悕绉� */
 	@Column(name="EXERCISE_GROUP_NAME", length=128)
 	private String exerciseGroupName;
 
-	/** 机构ID  */
+	/** 鏈烘瀯ID  */
 	@Column(name="ORG_ID", length=32)
 	private String orgId;
 
-	/**  机构名称 */
+	/**  鏈烘瀯鍚嶇О */
 	@Column(name="ORG_NAME", length=150)
 	private String orgName;
 
-	/**  班级 */
+	/**  鐝骇 */
 	@Column(name="CLASS_ID", length=32)
 	private String classId;
 
-	/** 班级名称  */
+	/** 鐝骇鍚嶇О  */
 	@Column(name="CLASS_NAME", length=255)
 	private String className;
 
-	/** 班主任ID  */
+	/** 鐝富浠籌D  */
 	@Column(name="CHARGER_ID", length=32)
 	private String chargerId;
 
-	/** 班主任 */
+	/** 鐝富浠� */
 	@Column(name="CHARGER_NAME", length=150)
 	private String chargerName;
 
-	/** 提交用户ID  */
+	/** 鎻愪氦鐢ㄦ埛ID  */
 	@Column(name="USER_ID", length=32)
 	private String userId;
 
-	/** 提交用户账号  */
+	/** 鎻愪氦鐢ㄦ埛璐﹀彿  */
 	@Column(name="USER_ACCOUNT", length=64)
 	private String userAccount;
 
-	/** 文档路径  */
+	/** 鏂囨。璺緞  */
 	@Column(name="DOC_PATH", length=255)
 	private String docPath;
 
-	/** 处理状态  */
+	/** 澶勭悊鐘舵��  */
 	@Column(name="STATUS")
 	private Short status;
 
-	/** 提交时间  */
+	/** 鎻愪氦鏃堕棿  */
 	@Column(name="SUBMIT_TIME")
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date submitTime;
 
-	/** 处理时间 */
+	/** 澶勭悊鏃堕棿 */
 	@Column(name="HANDLE_TIME")
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date handleTime;
 	
-	// 未处理
+	// 鏈鐞�
 	public static final short STATUS_TODO = 0;
 	
-	// 已处理
+	// 宸插鐞�
 	public static final short STATUS_DONE = 1;
 
 	public String getDeepAnalysisId() {
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseExamReGroup.java b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseExamReGroup.java
index 18c46a3..f900736 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseExamReGroup.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseExamReGroup.java
@@ -31,13 +31,13 @@
 public class ExerciseExamReGroup implements Serializable, ITrace {
 	private static final long serialVersionUID = 1L;
 	
-	//试卷类型
+	//璇曞嵎绫诲瀷
 	public static final String EXAM_TYPE_A = "A";
 	public static final String EXAM_TYPE_B = "B";
 	public static final String EXAM_TYPE_C = "C";
 	public static final String EXAM_TYPE_D = "D";
 	
-	//关联类型
+	//鍏宠仈绫诲瀷
 	public static final short GROUP_TYPE_SOURCE = 1;
 	public static final short GROUP_TYPE_EXAM = 2;
 	
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseExtendData.java b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseExtendData.java
index 08da04a..a1f44da 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseExtendData.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseExtendData.java
@@ -3,7 +3,7 @@
 import java.io.Serializable;
 
 /**
- * 练习 收藏 错题结果数据
+ * 缁冧範 鏀惰棌 閿欓缁撴灉鏁版嵁
  * @author zhiyong
  *
  */
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseExtendRecordData.java b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseExtendRecordData.java
index dea83b9..1d60aec 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseExtendRecordData.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseExtendRecordData.java
@@ -3,7 +3,7 @@
 import java.io.Serializable;
 
 /**
- * 练习 收藏 错题结果数据
+ * 缁冧範 鏀惰棌 閿欓缁撴灉鏁版嵁
  * @author zhiyong
  *
  */
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseFaultBook.java b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseFaultBook.java
index c87bd2c..a0c75aa 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseFaultBook.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseFaultBook.java
@@ -74,7 +74,7 @@
 	@Column(name="USER_ID", length=32)
 	private String userId;
 	
-	/** 当前做题最大题号  */
+	/** 褰撳墠鍋氶鏈�澶ч鍙�  */
 	@Column(name="TITLE_MAX_NUMBER", length=32)
 	private String titleMaxNumber;
 	
@@ -84,7 +84,7 @@
 	@Column(name="CORRECT_COUNT")
 	private BigInteger correctCount;
 	
-	/** 题目总数  */
+	/** 棰樼洰鎬绘暟  */
 	@Column(name="ALL_COUNT")
 	private BigInteger allCount;
 
@@ -100,7 +100,7 @@
 	@Column(name="TYPE", length=32)
 	private short type;
 	
-	/**类型           机构:1    高校:2 */
+	/**绫诲瀷           鏈烘瀯锛�1    楂樻牎锛�2 */
 	public static final short TYPE_ORGANIZATION = 1;
 	
 	public static final short TYPE_COLLEGE = 2;
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseFaultRecord.java b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseFaultRecord.java
index 4a0aba2..e1cc800 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseFaultRecord.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseFaultRecord.java
@@ -101,7 +101,7 @@
 	@Column(name="STATUS", length=32)
 	private String status;
 	
-	/** 题目总数  */
+	/** 棰樼洰鎬绘暟  */
 	@Column(name="ALL_COUNT")
 	private BigInteger allCount;
 	
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseFaultStatistics.java b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseFaultStatistics.java
index 172aac2..82d1a11 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseFaultStatistics.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseFaultStatistics.java
@@ -35,19 +35,19 @@
 	@Column(name="FAULT_STATISTICS_ID", unique=true, nullable=false, length=32)
 	private String faultStatisticsId;
 
-	// 做题个数
+	// 鍋氶涓暟
 	@Column(name="DO_COUNT")
 	private BigInteger doCount;
 
-	// 错误个数
+	// 閿欒涓暟
 	@Column(name="FAULT_COUNT") 
 	private BigInteger faultCount;
 	
-	// 错误率
+	// 閿欒鐜�
 	@Column(name="FAULT_RATE", precision=10, scale=2)
 	private BigDecimal faultRate;
 	
-	// 做题时间
+	// 鍋氶鏃堕棿
 	@Column(name="EXERCISE_TIME")
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date exerciseTime;
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseFavoriteBook.java b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseFavoriteBook.java
index 490a6a3..de19ae0 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseFavoriteBook.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseFavoriteBook.java
@@ -78,7 +78,7 @@
 	@JsonIgnore 
 	private List<ExerciseFavorite> favors;
 	
-	/** 当前做题最大题号  */
+	/** 褰撳墠鍋氶鏈�澶ч鍙�  */
 	@Column(name="TITLE_MAX_NUMBER", length=32)
 	private String titleMaxNumber;
 	
@@ -88,7 +88,7 @@
 	@Column(name="CORRECT_COUNT")
 	private BigInteger correctCount;
 	
-	/** 题目总数  */
+	/** 棰樼洰鎬绘暟  */
 	@Column(name="ALL_COUNT")
 	private BigInteger allCount;
 	
@@ -115,7 +115,7 @@
 	@Column(name="DO_COUNT")
 	private BigInteger doCount;
 	
-	/**类型           机构:1    高校:2 */
+	/**绫诲瀷           鏈烘瀯锛�1    楂樻牎锛�2 */
 	public static final short TYPE_ORGANIZATION = 1;
 	
 	public static final short TYPE_COLLEGE = 2;
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseFavoriteRecord.java b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseFavoriteRecord.java
index 443270e..2ff23c9 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseFavoriteRecord.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseFavoriteRecord.java
@@ -91,7 +91,7 @@
 	@JsonIgnore
 	private Date updateTime;
 	
-	/** 答案更新时间  */
+	/** 绛旀鏇存柊鏃堕棿  */
 	@Column(name="ANSWER_UPDATE_TIME")
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
@@ -116,7 +116,7 @@
 	@JsonIgnore
 	private ExerciseFavoriteBook favorBook;
 	
-	/** 题目总数  */
+	/** 棰樼洰鎬绘暟  */
 	@Column(name="ALL_COUNT")
 	private BigInteger allCount;
 	
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseGroup.java b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseGroup.java
index eee336d..860dfc2 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseGroup.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseGroup.java
@@ -35,12 +35,12 @@
 public class ExerciseGroup implements Serializable,ITrace {
 	private static final long serialVersionUID = 1L;
 	
-	//题库状态   草稿0,已发布2  已下架3
+	//棰樺簱鐘舵��   鑽夌0锛屽凡鍙戝竷2  宸蹭笅鏋�3
 	public static final short STATUS_DRAFT = 0;
 	public static final short STATUS_PUBLISHED = 2;
 	public static final short STATUS_TAKEOFF = 3;
 	
-	//题库类型  1:个人题库,2:学校题库  3:共享题库
+	//棰樺簱绫诲瀷  1锛氫釜浜洪搴擄紝2:瀛︽牎棰樺簱  3锛氬叡浜搴�
 	public static final short GROUP_RANGE_PRIV = 1;
 	public static final short GROUP_RANGE_SCHOOL = 2;
 	public static final short GROUP_RANGE_SHARE = 3;
@@ -85,11 +85,11 @@
 	@Column(name="NAME", length=128)
 	private String name;
 	
-	/** 用于模拟考试 存放 考试设置时间*/
+	/** 鐢ㄤ簬妯℃嫙鑰冭瘯 瀛樻斁 鑰冭瘯璁剧疆鏃堕棿*/
 	@Column(name="ATTRIBUTE1", length=128)
 	private String attribute1;
 	
-	/** 用于 章节练习  存放章节ID */
+	/** 鐢ㄤ簬 绔犺妭缁冧範  瀛樻斁绔犺妭ID */
 	@Column(name="ATTRIBUTE2", length=128)
 	private String attribute2;
 	
@@ -99,7 +99,7 @@
 	@Column(name="TYPE")
 	private short type;
 	
-	/** 习题组类型(1,家庭作业;2,互动;3,顺序练习;4模拟考试;5真题;6:章节;7:随机练习;8:教学评估;9:专项练习;10:自由练习;11:考题题库;12:考试题目;13:智慧蓝项目题库) */
+	/** 涔犻缁勭被鍨�(1,瀹跺涵浣滀笟;2,浜掑姩;3,椤哄簭缁冧範;4妯℃嫙鑰冭瘯;5鐪熼;6:绔犺妭;7:闅忔満缁冧範;8:鏁欏璇勪及;9锛氫笓椤圭粌涔�;10锛氳嚜鐢辩粌涔�;11锛氳�冮棰樺簱;12锛氳�冭瘯棰樼洰;13锛氭櫤鎱ц摑椤圭洰棰樺簱) */
 	
 	public final static short TYPE_HOMEWORK = 1;
 	
@@ -110,7 +110,7 @@
 	public final static short TYPE_MOCK_EXAM = 4;
 	
 	/*
-	 * 历史真题
+	 * 鍘嗗彶鐪熼
 	 */
 	public final static short TYPE_HISTORY_ITEM = 5;
 	
@@ -152,26 +152,26 @@
 	@JsonIgnore
 	private List<ExerciseRecord> records;
 	
-	/** 题目总数  */
+	/** 棰樼洰鎬绘暟  */
 	@Column(name="ALL_COUNT")
 	private BigInteger allCount;
 	
-	/** 当前做题总数  */
+	/** 褰撳墠鍋氶鎬绘暟  */
 	@Transient
 	private String doCount;
 	
-	/** 班主任能不能编辑  */
+	/** 鐝富浠昏兘涓嶈兘缂栬緫  */
 	@Transient
 	private boolean editFlag;
 	
-	/** 练习管理排序,班主任排序 */
+	/** 缁冧範绠$悊鎺掑簭,鐝富浠绘帓搴� */
 	@Column(name="ORDER_NUM")
 	private BigInteger orderNum;
 	
 	@Column(name="CHAPTER_ID")
 	private String chapterId;
 	
-	/**  状态 */
+	/**  鐘舵�� */
 	@Column(name="STATUS")
 	private short status;
 	
@@ -331,31 +331,31 @@
 	public String getTypeName() {
 		switch (this.type) {
 			case 1: {
-				return "家庭作业";
+				return "瀹跺涵浣滀笟";
 			}
 			case 2: {
-				return "互动练习";
+				return "浜掑姩缁冧範";
 			}
 			case 3: {
-				return "顺序练习";
+				return "椤哄簭缁冧範";
 			}
 			case 4: {
-				return "模拟考试";
+				return "妯℃嫙鑰冭瘯";
 			}
 			case 5: {
-				return "真题";
+				return "鐪熼";
 			}
 			case 6: {
-				return "章节练习";
+				return "绔犺妭缁冧範";
 			}
 			case 7: {
-				return "随机练习";
+				return "闅忔満缁冧範";
 			}
 			case 9: {
-				return "专项练习";
+				return "涓撻」缁冧範";
 			}
 			case 10: {
-				return "自由练习";
+				return "鑷敱缁冧範";
 			}
 			default:{
 				return "";
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseGroupExtend.java b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseGroupExtend.java
index 7c81d61..054ebb6 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseGroupExtend.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseGroupExtend.java
@@ -38,39 +38,39 @@
 	@Column(name="GROUP_ID", nullable=false, length=32)
 	private String groupId;
 	
-	/** 做题时间  */
+	/** 鍋氶鏃堕棿  */
 	@Column(name="EXERCISE_TIME")
 	private String exerciseTime;
 	
-	/** 做题方式(1:未做题优先  2:错题优先) */
+	/** 鍋氶鏂瑰紡锛�1锛氭湭鍋氶浼樺厛  2锛氶敊棰樹紭鍏堬級 */
 	@Column(name="EXERCISE_STRATEGY")
 	private String exerciseStrategy;
 	
-	/** 做题来源(1:练习题库  2:考试题库  3:家庭作业) */
+	/** 鍋氶鏉ユ簮(1:缁冧範棰樺簱  2锛氳�冭瘯棰樺簱  3锛氬搴綔涓�) */
 	@Column(name="EXERCISE_SOURCE")
 	private String exerciseSource;
 	
-	/** 做题模式(1:练习  2:考试) */
+	/** 鍋氶妯″紡(1:缁冧範  2锛氳�冭瘯) */
 	@Column(name="EXERCISE_MODE")
 	private String exerciseMode;
 	
-	/** 是否重做(0:可重做 1:不可重做)  */
+	/** 鏄惁閲嶅仛(0:鍙噸鍋� 1锛氫笉鍙噸鍋�)  */
 	@Column(name="REPEAT_FLAG", nullable=false)
 	private boolean repeatFlag;
 	
-	/** 总做题个数 */
+	/** 鎬诲仛棰樹釜鏁� */
 	@Column(name="DO_COUNT")
 	private BigInteger doCount;
 	
-	/** 总正确个数  */
+	/** 鎬绘纭釜鏁�  */
 	@Column(name="CORRECT_COUNT")
 	private BigInteger correctCount;
 	
-	/** 班级正确率=总正确个数/总做题个数  */
+	/** 鐝骇姝g‘鐜�=鎬绘纭釜鏁�/鎬诲仛棰樹釜鏁�  */
 	@Column(name="CLASS_ACCURACY",precision=10, scale=2)
 	private BigDecimal classAccuracy;
 	
-	/** 提交人数 完成 */
+	/** 鎻愪氦浜烘暟 瀹屾垚 */
 	@Column(name="SUBMIT_NUMBER")
 	private BigInteger submitNumber;
 	
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseGroupShareInfo.java b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseGroupShareInfo.java
index ee09f1e..95839bb 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseGroupShareInfo.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseGroupShareInfo.java
@@ -64,22 +64,22 @@
 	@JsonIgnore
 	private Date createTime;
 	
-	/**  修改人ID */
+	/**  淇敼浜篒D */
 	@Column(name="UPDATE_ID", length=32)
 	@JsonIgnore
 	private String updateId;
 
-	/**  修改时间 */
+	/**  淇敼鏃堕棿 */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date updateTime;
 	
-	/**  修改人 */
+	/**  淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	@JsonIgnore
 	private String updator;
 
-	/** 删除标志  */
+	/** 鍒犻櫎鏍囧織  */
 	@Column(name="DELETE_FLAG", nullable=false)
 	@JsonIgnore
 	private boolean deleteFlag;
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseImportResult.java b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseImportResult.java
index 1a2365e..fdc7486 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseImportResult.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseImportResult.java
@@ -8,13 +8,13 @@
 	
 	private static final long serialVersionUID = 1L;
 	
-	/** 一行文本  */
+	/** 涓�琛屾枃鏈�  */
 	private String lineText;
 	
-	/** 解析结果  */
+	/** 瑙f瀽缁撴灉  */
 	private Integer type;
 	
-	/** 如果解析不出来,跟随上一解析类型时,存储上一次成功解析的类型 */
+	/** 濡傛灉瑙f瀽涓嶅嚭鏉ワ紝璺熼殢涓婁竴瑙f瀽绫诲瀷鏃讹紝瀛樺偍涓婁竴娆℃垚鍔熻В鏋愮殑绫诲瀷 */
 	private String lastParse;
 
 	public String getLineText() {
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseInfo.java b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseInfo.java
index b89acac..690dfa9 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseInfo.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseInfo.java
@@ -35,12 +35,12 @@
 public class ExerciseInfo implements Serializable, ITrace {
 	private static final long serialVersionUID = 1L;
 	
-	//作业类型   1:答题作业,2:文件作业,3:写作作业
+	//浣滀笟绫诲瀷   1锛氱瓟棰樹綔涓氾紝2锛氭枃浠朵綔涓氾紝3锛氬啓浣滀綔涓�
 	public static final short EXERCISE_TYPE_ANSWER = 1;
 	public static final short EXERCISE_TYPE_FILE = 2;
 	public static final short EXERCISE_TYPE_WRITING = 3;
 	
-	//文件作业提交作业类型  1 图片; 2 文档 ; 3 视频 ; 4 音频; 5 附件
+	//鏂囦欢浣滀笟鎻愪氦浣滀笟绫诲瀷  1 鍥剧墖锛� 2 鏂囨。 锛� 3 瑙嗛 锛� 4 闊抽锛� 5 闄勪欢
 	public static final short EXERCISE_FILE_COMMIT_IMG = 1;
 	public static final short EXERCISE_FILE_COMMIT_DOC = 2;
 	public static final short EXERCISE_FILE_COMMIT_VIDEO = 3;
@@ -48,7 +48,7 @@
 	public static final short EXERCISE_FILE_COMMIT_ATTACH = 5;
 	
 	
-	//文件作业状态
+	//鏂囦欢浣滀笟鐘舵��
 	public static final short EXERCISE_STATUS_DRAFT = 0;
 	public static final short EXERCISE_STATUS_PUBLISHED = 1;
 	
@@ -123,12 +123,12 @@
 	@JsonIgnore
 	private Subject subject;
 	
-	//关联的题库信息
+	//鍏宠仈鐨勯搴撲俊鎭�
 	@OneToMany(fetch = FetchType.LAZY, mappedBy = "exerciseInfo")
 	@Where(clause="DELETE_FLAG=0 AND TYPE=1 ")
 	private List<ExerciseExamReGroup> reGroups;
 	
-	//关联的班级信息
+	//鍏宠仈鐨勭彮绾т俊鎭�
 	@OneToMany(fetch = FetchType.LAZY, mappedBy = "exerciseInfo")
 	@Where(clause="DELETE_FLAG=0")
 	private List<ExerciseExamReClass> reClasses;
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseItem.java b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseItem.java
index 7a6c7de..9ee4a65 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseItem.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseItem.java
@@ -49,7 +49,7 @@
 	@Column(name="CHAPTER_ID", length=32)
 	private String chapterId;
 	
-	/** 来源练习id **/
+	/** 鏉ユ簮缁冧範id **/
 	@Column(name="ORGI_EXERCISE_ID", length=32)
 	private String orgiExerciseId;
 
@@ -70,7 +70,7 @@
 	@JsonIgnore
 	private boolean deleteFlag;
 
-	/**  班级课表ID */
+	/**  鐝骇璇捐〃ID */
 	@Column(name="CLASS_SCHEDULE_ID", length=32)
 	private String classScheduleId;
 
@@ -81,42 +81,42 @@
 	private short type;
 	
 	/*
-	 * 单选 
+	 * 鍗曢�� 
 	 */
 	public static short TYPE_SINGLE_SELECT = 1;
 	
 	/*
-	 * 多选 
+	 * 澶氶�� 
 	 */
 	public static short TYPE_MULTI_SELECT = 2;
 	
 	/*
-	 * 判断题 
+	 * 鍒ゆ柇棰� 
 	 */
 	public static short TYPE_TRUE_OR_FALSE = 3;
 	
 	/*
-	 * 问答题
+	 * 闂瓟棰�
 	 */
 	public static short TYPE_ESSAY_QUESTION = 4;
 	
 	/*
-	 * 分值题
+	 * 鍒嗗�奸
 	 */
 	public static short TYPE_SCORE = 5;
 	
 	/*
-	 * 量值题
+	 * 閲忓�奸
 	 */
 	public static short TYPE_MEASUREMENT = 6;
 	
 	/*
-	 * 附件题
+	 * 闄勪欢棰�
 	 */
 	public static short TYPE_ATTACHMENT = 7;
 	
 	/*
-	 * 填空题
+	 * 濉┖棰�
 	 */
 	public static short TYPE_FILL_BLANKS = 8;
 
@@ -132,7 +132,7 @@
 	@JsonIgnore
 	private String updator;
 	
-	/** 正确答案  */
+	/** 姝g‘绛旀  */
 	@Column(name="ANSWER")
 	private String answer;
 	
@@ -155,35 +155,35 @@
 	@JsonIgnore
 	private ExerciseChapter chapter;
 	
-	/** 用户答题记录**/
+	/** 鐢ㄦ埛绛旈璁板綍**/
 	@Transient
 	private List<ExerciseItemAnswerU> exerciseItemAnswerU;
 	
-	/** 是否必答 **/
+	/** 鏄惁蹇呯瓟 **/
 	@Column(name="MUST_ANSWER", nullable=true)
 	private boolean mustAnswer;
 	
-	/** 组Id  */
+	/** 缁処d  */
 	@Transient
 	private String exerciseGroupId;
 	
-	/** 记录Id  错题、收藏为bookId  */
+	/** 璁板綍Id  閿欓銆佹敹钘忎负bookId  */
 	@Transient
 	private String exerciseRecordId;
 	
-	/** 错题、收藏为主键Id  */
+	/** 閿欓銆佹敹钘忎负涓婚敭Id  */
 	@Transient
 	private String exerciseExtendId;
 	
-	/** 习题编号 */
+	/** 涔犻缂栧彿 */
 	@Transient
 	private Integer itemNo;
 	
-	/** 习题状态  1:未提交 1:提交 */
+	/** 涔犻鐘舵��  1锛氭湭鎻愪氦 1锛氭彁浜� */
 	@Transient
 	private String status;
 	
-	/** 习题分析结果 */
+	/** 涔犻鍒嗘瀽缁撴灉 */
 	@Transient
 	private ExerciseAnalisisResult analisisResult;
 	
@@ -193,27 +193,27 @@
 	@Transient
 	private List<ExerciseObjectImg> imgs;
 	
-	/** 文档中的序号,数据库中存储的序号(导入) **/
+	/** 鏂囨。涓殑搴忓彿锛屾暟鎹簱涓瓨鍌ㄧ殑搴忓彿锛堝鍏ワ級 **/
 	@Transient
 	private Integer docNo;
 	
-	/** 关联表ID **/
+	/** 鍏宠仈琛↖D **/
 	@Transient
 	private String reId;
 	
-	/** 每题最大分数 **/
+	/** 姣忛鏈�澶у垎鏁� **/
 	@Transient
 	private double maxScore;
 	
-	/** 每题平均分数 **/
+	/** 姣忛骞冲潎鍒嗘暟 **/
 	@Transient
 	private double averageScore;
 	
-	/** 题目选项统计情况 **/
+	/** 棰樼洰閫夐」缁熻鎯呭喌 **/
 	@Transient
 	private Map<String, Integer> optionsDetail;
 	
-	/** 题目选项统计情况 **/
+	/** 棰樼洰閫夐」缁熻鎯呭喌 **/
 	@Transient
 	private List<Map<String, Object>> optionsOrderDetail;
 
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseItemAnalisiU.java b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseItemAnalisiU.java
index da47267..af7b226 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseItemAnalisiU.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseItemAnalisiU.java
@@ -20,7 +20,7 @@
 
 
 /**
- * 用户做题 结果分析
+ * 鐢ㄦ埛鍋氶 缁撴灉鍒嗘瀽
  * 
  */
 @Entity
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseItemAnswerData.java b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseItemAnswerData.java
index 9ec0423..aea48aa 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseItemAnswerData.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseItemAnswerData.java
@@ -3,7 +3,7 @@
 import java.io.Serializable;
 
 /**
- * 练习答案提交结果数据
+ * 缁冧範绛旀鎻愪氦缁撴灉鏁版嵁
  * @author zhiyong
  *
  */
@@ -14,23 +14,23 @@
 	private static final long serialVersionUID = 5231270523566561011L;
 
 	/**
-	 * 答案ID
+	 * 绛旀ID
 	 */
 	private String answerUId;
 	
-	/**  练习id  */
+	/**  缁冧範id  */
 	private String exerciseId;
 	
-	/** 题目类型   */
+	/** 棰樼洰绫诲瀷   */
 	private int type;
 
-	/** 选择答案  */
+	/** 閫夋嫨绛旀  */
 	private String answer;
 
-	/** 是否正确  0:错误  1:正确  */
+	/** 鏄惁姝g‘  0:閿欒  1锛氭纭�  */
 	private String correct;
 	
-	/**主观题打分 */
+	/**涓昏棰樻墦鍒� */
 	private String teacherScore;
 
 	public String getExerciseId() {
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseItemAnswerU.java b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseItemAnswerU.java
index c89cc74..b5a929d 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseItemAnswerU.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseItemAnswerU.java
@@ -45,19 +45,19 @@
 	@Column(name="CORRECT", length=128)
 	private byte correct;
 	
-	/** 未知 */
+	/** 鏈煡 */
 	public static final byte CORRECT_UNKNOWN = 2;
 	
-	/** 正确 */
+	/** 姝g‘ */
 	public static final byte CORRECT_RIGHT = 1;
 	
-	/** 错误 */
+	/** 閿欒 */
 	public static final byte CORRECT_ERROR = 0;
 	
-	/** 正确 */
+	/** 姝g‘ */
 	public static final String CORRECT_RIGHT_STR = "1";
 	
-	/** 错误 */
+	/** 閿欒 */
 	public static final String CORRECT_ERROR_STR = "0";
 	
 	@Column(name="CREATE_ID", nullable=false, length=32)
@@ -110,27 +110,27 @@
 	@JsonIgnore
 	private ExerciseRecord exerciseRecord;
 	
-	// 用于成绩统计功能  add by zhanglinqing 2015-12-01 
+	// 鐢ㄤ簬鎴愮哗缁熻鍔熻兘  add by zhanglinqing 2015-12-01 
 	@Transient 
-	private String lastAnswer;  // 修改答案时才有值
+	private String lastAnswer;  // 淇敼绛旀鏃舵墠鏈夊��
 	
-	//答案转换为文字
+	//绛旀杞崲涓烘枃瀛�
 	@Transient 
 	private String answerValue;
 	
 	@Transient  
-	private int updateStatus;  // 修改答案时才有值
+	private int updateStatus;  // 淇敼绛旀鏃舵墠鏈夊��
 	
 	@Transient  
-	private String imgPath;//用户头像
+	private String imgPath;//鐢ㄦ埛澶村儚
 	
-	//答案为新增
+	//绛旀涓烘柊澧�
 	public static final int STATUS_ADD = 1;
 	
-	//答案为修改时 上次错误本次修改为正确 统计正确结果 +1
+	//绛旀涓轰慨鏀规椂 涓婃閿欒鏈淇敼涓烘纭� 缁熻姝g‘缁撴灉 +1
 	public static final int STATUS_UPDATE_CORRECT = 2;
 	
-	//答案为修改时 上次正确本次修改为错误 统计正确结果 -1
+	//绛旀涓轰慨鏀规椂 涓婃姝g‘鏈淇敼涓洪敊璇� 缁熻姝g‘缁撴灉 -1
 	public static final int STATUS_UPDATE_ERROR = 3;
 	
 	public ExerciseRecord getExerciseRecord() {
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseItemOption.java b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseItemOption.java
index c03ea20..785ff92 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseItemOption.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseItemOption.java
@@ -89,15 +89,15 @@
 	@Transient
 	private List<ExerciseObjectImg> imgs;
 	
-	//选项图片地址
+	//閫夐」鍥剧墖鍦板潃
 	@Transient
 	private String imgPath;
 	
-	//接受前台传过来的分数
+	//鎺ュ彈鍓嶅彴浼犺繃鏉ョ殑鍒嗘暟
 	@Transient
 	private int score;
 	
-	//接受前台传过来的分数id
+	//鎺ュ彈鍓嶅彴浼犺繃鏉ョ殑鍒嗘暟id
 	@Transient
 	private String exerciseItemScoreId;
 	
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseItemStatis.java b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseItemStatis.java
index 7073044..fdd1942 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseItemStatis.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseItemStatis.java
@@ -2,16 +2,16 @@
 
 
 /**
- * 练习每道题目的统计信息VO
+ * 缁冧範姣忛亾棰樼洰鐨勭粺璁′俊鎭疺O
  * @author zhiyong
  *
  */
 public class ExerciseItemStatis {
-	// 练习id
+	// 缁冧範id
 	private String exerciseId;
-	// 统计总个数
+	// 缁熻鎬讳釜鏁�
 	private int allCount;
-	// 正确个数
+	// 姝g‘涓暟
 	private int correctCount;
 
 	public String getExerciseId() {
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseItemStatistics.java b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseItemStatistics.java
index deadc14..d35590a 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseItemStatistics.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseItemStatistics.java
@@ -66,28 +66,28 @@
 	@Column(name="ORG_ID", length=32) 
 	private String orgId;
 	
-	// 机构统计  正确次数
+	// 鏈烘瀯缁熻  姝g‘娆℃暟
 	@Column(name="ORG_CORRECT_NUM")
 	private BigInteger orgCorrectNum;
 
 	@Column(name="ORG_TOTAL_NUM") 
 	private BigInteger orgTotalNum;
 	
-	// 机构统计 正确率
+	// 鏈烘瀯缁熻 姝g‘鐜�
 	@Column(name="ORG_ACCURACY", precision=10, scale=2)
 	private BigDecimal orgAccuracy;
 	
 	@Column(name="CLASS_ID", length=32)
 	private String classId;
 	
-	// 班级统计  正确次数
+	// 鐝骇缁熻  姝g‘娆℃暟
 	@Column(name="CLASS_CORRECT_NUM")
 	private BigInteger classCorrectNum;
 
 	@Column(name="CLASS_TOTAL_NUM") 
 	private BigInteger classTotalNum;
 	
-	// 班级统计 正确率
+	// 鐝骇缁熻 姝g‘鐜�
 	@Column(name="CLASS_ACCURACY", precision=10, scale=2)
 	private BigDecimal classAccuracy;
 	
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseObjectImg.java b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseObjectImg.java
index 7a8979f..8fd1f9d 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseObjectImg.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseObjectImg.java
@@ -45,7 +45,7 @@
 	@Column(name="OBJECT_TYPE")
 	private Integer objectType;
 	
-	/** 对象类型   1:标题   2:选项 */
+	/** 瀵硅薄绫诲瀷   1锛氭爣棰�   2锛氶�夐」 */
 	public static final int OBJECT_TYPE_ITEM = 1;
 	
 	public static final int OBJECT_TYPE_ITEM_OPTION = 2;
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseOptionStatistics.java b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseOptionStatistics.java
index 5df0977..f0764b9 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseOptionStatistics.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseOptionStatistics.java
@@ -50,28 +50,28 @@
 	@Column(name="CLASS_ID", length=32)
 	private String classId;
 	
-	// 班级统计   选中该选项的次数
+	// 鐝骇缁熻   閫変腑璇ラ�夐」鐨勬鏁�
 	@Column(name="CLASS_CORRECT_NUM")
 	private BigInteger classCorrectNum;  
 	
 	@Column(name="CLASS_TOTAL_NUM") 
 	private BigInteger classTotalNum;
 	
-	// 班级统计 选中率
+	// 鐝骇缁熻 閫変腑鐜�
 	@Column(name="CLASS_ACCURACY", precision=10, scale=2)
 	private BigDecimal classAccuracy;
 	
 	@Column(name="ORG_ID", length=32) 
 	private String orgId;
 	
-	// 机构统计   选中该选项的次数
+	// 鏈烘瀯缁熻   閫変腑璇ラ�夐」鐨勬鏁�
 	@Column(name="ORG_CORRECT_NUM")
 	private BigInteger orgCorrectNum;
 
 	@Column(name="ORG_TOTAL_NUM") 
 	private BigInteger orgTotalNum;
 	
-	// 机构统计 选中率
+	// 鏈烘瀯缁熻 閫変腑鐜�
 	@Column(name="ORG_ACCURACY", precision=10, scale=2)
 	private BigDecimal orgAccuracy;
 	
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseParse.java b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseParse.java
index 22d4764..0a26b49 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseParse.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseParse.java
@@ -6,13 +6,13 @@
 	
 	private static final long serialVersionUID = 1L;
 	
-	//解析结果:成功,失败,上一类型
+	//瑙f瀽缁撴灉锛氭垚鍔燂紝澶辫触锛屼笂涓�绫诲瀷
 	private Integer parseResult;
 	
-	//解析类型:Doc的类型     习题主题、习题选项、习题解析
+	//瑙f瀽绫诲瀷锛欴oc鐨勭被鍨�     涔犻涓婚銆佷範棰橀�夐」銆佷範棰樿В鏋�
 	private String parseType;
 	
-	//解析行的文本
+	//瑙f瀽琛岀殑鏂囨湰
 	private String parseLine;
 	
 	public ExerciseParse(Integer parseResult){
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseParseResult.java b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseParseResult.java
index 1702e52..358112a 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseParseResult.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseParseResult.java
@@ -7,16 +7,16 @@
 	
 	private static final long serialVersionUID = 1L;
 	
-	//文本  解析结果
+	//鏂囨湰  瑙f瀽缁撴灉
 	private List<ExerciseImportResult> lstResult;
 	
-	//解析出的练习题
+	//瑙f瀽鍑虹殑缁冧範棰�
 	private List<ExerciseItem> lstItems ;
 	
-	//解析出的练习题个数
+	//瑙f瀽鍑虹殑缁冧範棰樹釜鏁�
 	private Integer itemCount;
 	
-	//解析结果
+	//瑙f瀽缁撴灉
 	private boolean parseFlag;
 	
 	private String parseInfo ;
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseReCourse.java b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseReCourse.java
index 6700492..dbf5cd6 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseReCourse.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseReCourse.java
@@ -23,63 +23,63 @@
 	 */
 	private static final long serialVersionUID = 1L;
 
-	/**  主键  */
+	/**  涓婚敭  */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="EXERCISE_COURSE_ID", unique=true, nullable=false, length=32)
 	private String exerciseCourseId;
 
-	/**  创建人ID  */
+	/**  鍒涘缓浜篒D  */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	@JsonIgnore
 	private String createId;
 
-	/**  创建时间  */
+	/**  鍒涘缓鏃堕棿  */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date createTime;
 
-	/**  创建人  */
+	/**  鍒涘缓浜�  */
 	@Column(name="CREATOR", nullable=false, length=100)
 	@JsonIgnore
 	private String creator;
 
-	/**  删除标志  */
+	/**  鍒犻櫎鏍囧織  */
 	@Column(name="DELETE_FLAG", nullable=false)
 	@JsonIgnore
 	private boolean deleteFlag;
 
-	/**  科目ID */
+	/**  绉戠洰ID */
 	@Column(name="COLLEGE_COURSE_ID", length=32)
 	private String collegeCourseId;
 	
-	/**  讲义ID  */
+	/**  璁蹭箟ID  */
 	@Column(name="GROUP_ID", length=32)
 	private String groupId;
 
-	/**  修改人ID  */
+	/**  淇敼浜篒D  */
 	@Column(name="UPDATE_ID", length=32)
 	@JsonIgnore
 	private String updateId;
 
-	/**  修改时间  */
+	/**  淇敼鏃堕棿  */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date updateTime;
 
-	/**   修改人 */
+	/**   淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	@JsonIgnore
 	private String updator;
 	
-	/**  机构ID  */
+	/**  鏈烘瀯ID  */
 	@Column(name="ORG_ID", length=32)
 	private String orgId;
 
-	/** 练习管理排序,管理员排序 */
+	/** 缁冧範绠$悊鎺掑簭,绠$悊鍛樻帓搴� */
 	@Column(name="ORDER_NUM")
 	private Integer orderNum;
 
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseRecord.java b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseRecord.java
index a102a73..2b2b729 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseRecord.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseRecord.java
@@ -96,14 +96,14 @@
 	@Column(name="STATUS") 
 	private String status;
 	
-	/** 0:未交卷 1:已经交卷  */
+	/** 0:鏈氦鍗� 1锛氬凡缁忎氦鍗�  */
 	public final static String STATUS_NOT_SUBMIT = "0";
 	
 	public final static String STATUS_SUBMIT = "1";
 	
 	public final static String STATUS_CHECK = "3";
 	
-	/** 当前做题最大题号  */
+	/** 褰撳墠鍋氶鏈�澶ч鍙�  */
 	@Column(name="TITLE_MAX_NUMBER", length=32)
 	private String titleMaxNumber;
 	
@@ -162,11 +162,11 @@
 	@OneToMany(fetch = FetchType.LAZY,mappedBy = "exerciseRecord")
 	private List<ExerciseItemAnswerU> exerciseItemAnswerU;
 	
-	//班级名称
+	//鐝骇鍚嶇О
 	@Transient
 	private String className;
 	
-	//答题用户
+	//绛旈鐢ㄦ埛
 	@Formula("(select u.name from user u WHERE u.USER_ID=USER_ID and u.DELETE_FLAG = 0)")
 	private String userName;
 	
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseSubmitAnswerData.java b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseSubmitAnswerData.java
index ffab2dc..449dc60 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseSubmitAnswerData.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseSubmitAnswerData.java
@@ -5,7 +5,7 @@
 import java.util.List;
 
 /**
- * 练习答案提交结果数据
+ * 缁冧範绛旀鎻愪氦缁撴灉鏁版嵁
  * @author zhiyong
  *
  */
@@ -16,52 +16,52 @@
 	private static final long serialVersionUID = 5231270523566561011L;
 
 
-	/**  组id */
+	/**  缁刬d */
 	private String exerciseGroupId;
 	
-	/**  组id */
+	/**  缁刬d */
 	private String subjectId;
 
-	/** 记录id  */
+	/** 璁板綍id  */
 	private String exerciseRecordId;
 	
-	/**作业完成情况ID*/
+	/**浣滀笟瀹屾垚鎯呭喌ID*/
 	private  String  exerciseCompleteId;
 	
-	/**作业ID*/
+	/**浣滀笟ID*/
 	private  String  exerciseInfoId;
 	
 	/**   */
 	private String exerciseExtendId;
 	
-	/** 当前题号   */
+	/** 褰撳墠棰樺彿   */
 	private String currTitleNum;
 
-	/** 是否提交  0:未提交  1:提交  */
+	/** 鏄惁鎻愪氦  0:鏈彁浜�  1锛氭彁浜�  */
 	private String status;
 	
-	/**  练习类型  */
+	/**  缁冧範绫诲瀷  */
 	private String type;
 	
-	/** 本次习题已做的个数  */
+	/** 鏈涔犻宸插仛鐨勪釜鏁�  */
 	private String doCount;
 	
-	/** 本次习题正确的个数  */
+	/** 鏈涔犻姝g‘鐨勪釜鏁�  */
 	private String correctCount;
 	
-	/** 本套题目总数  */
+	/** 鏈棰樼洰鎬绘暟  */
 	private String allCount;
 	
-	/** 本套题目总数  */
+	/** 鏈棰樼洰鎬绘暟  */
 	private BigDecimal score;
 	
-	/**  练习题目集合  */
+	/**  缁冧範棰樼洰闆嗗悎  */
 	private List<ExerciseItemAnswerData> items;
 	
-	/**  做题时间  */
+	/**  鍋氶鏃堕棿  */
 	private String submitTime;
 	
-	/**  提交类型  1:已经重做过  */
+	/**  鎻愪氦绫诲瀷  1锛氬凡缁忛噸鍋氳繃  */
 	private int submitType;
 	
 	private int remainingSeconds;
diff --git a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseSubmitAnswerDataList.java b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseSubmitAnswerDataList.java
index 06933fa..da625be 100644
--- a/src/main/java/com/qxueyou/scc/exercise/model/ExerciseSubmitAnswerDataList.java
+++ b/src/main/java/com/qxueyou/scc/exercise/model/ExerciseSubmitAnswerDataList.java
@@ -4,7 +4,7 @@
 import java.util.List;
 
 /**
- * 练习答案提交结果集合数据
+ * 缁冧範绛旀鎻愪氦缁撴灉闆嗗悎鏁版嵁
  * @author zhiyong
  *
  */
@@ -15,16 +15,16 @@
 	 */
 	private static final long serialVersionUID = 4613854508218403663L;
 	
-	/** 练习类型  favor:全部收藏   fault:全部错题  也为空  */
+	/** 缁冧範绫诲瀷  favor:鍏ㄩ儴鏀惰棌   fault:鍏ㄩ儴閿欓  涔熶负绌�  */
 	private String exerciseType;
 	
-	/** 当前题号   */
+	/** 褰撳墠棰樺彿   */
 	private String currTitleNum;
 
-	/** 是否提交  0:未提交  1:提交  */
+	/** 鏄惁鎻愪氦  0:鏈彁浜�  1锛氭彁浜�  */
 	private String status;
 	
-	/** 混合list 可能错题、收藏都有  */
+	/** 娣峰悎list 鍙兘閿欓銆佹敹钘忛兘鏈�  */
 	private List<ExerciseSubmitAnswerData> datas;
 
 	public List<ExerciseSubmitAnswerData> getDatas() {
diff --git a/src/main/java/com/qxueyou/scc/exercise/service/IExerciseCompleteService.java b/src/main/java/com/qxueyou/scc/exercise/service/IExerciseCompleteService.java
index c07d6d6..0a728ae 100644
--- a/src/main/java/com/qxueyou/scc/exercise/service/IExerciseCompleteService.java
+++ b/src/main/java/com/qxueyou/scc/exercise/service/IExerciseCompleteService.java
@@ -6,7 +6,7 @@
 import com.qxueyou.scc.exercise.model.ExerciseCompleteInfo;
 
 /**
- * 作业完成信息类
+ * 浣滀笟瀹屾垚淇℃伅绫�
  * 
  * @author kevin
  * @createTime 2018-03-11
@@ -14,41 +14,41 @@
 public interface IExerciseCompleteService {
 
 	/**
-	 * 新增作业完成信息
+	 * 鏂板浣滀笟瀹屾垚淇℃伅
 	 * 
 	 * @param exerciseCompleteInfo
 	 *            
-	 * @return 新增考试ID
+	 * @return 鏂板鑰冭瘯ID
 	 */
 	String addExerciseComplete(ExerciseCompleteInfo exerciseCompleteInfo);
 
 	/**
-	 * 删除作业完成信息
+	 * 鍒犻櫎浣滀笟瀹屾垚淇℃伅
 	 * 
 	 * @param elxamIds
-	 *            作业完成信息ID
+	 *            浣滀笟瀹屾垚淇℃伅ID
 	 * @return 
 	 */
 	Result deleteExerciseComplete(String[] exerciseCompleteIds);
 
 	/**
-	 * 更新作业完成信息
+	 * 鏇存柊浣滀笟瀹屾垚淇℃伅
 	 * 
 	 * @param noticeId
-	 *            作业信息id
+	 *            浣滀笟淇℃伅id
 	 * @return 
 	 */
 	Result updateExerciseComplete(ExerciseCompleteInfo exerciseCompleteInfo);
 
 	/**
-	 * 作业id  查询作业详情
+	 * 浣滀笟id  鏌ヨ浣滀笟璇︽儏
 	 * @param exerciseCompleteId
 	 * @return
 	 */
 	ExerciseCompleteInfo queryExerciseCompleteDetail(String exerciseCompleteId);
 	
 	/**
-	 * 检查并初始化学生完成情况信息
+	 * 妫�鏌ュ苟鍒濆鍖栧鐢熷畬鎴愭儏鍐典俊鎭�
 	 * @param exerciseInfoId
 	 * @param classId
 	 * @param userId
@@ -57,7 +57,7 @@
 	ExerciseCompleteInfo doCheckAndCreateExerciseCompleteInfo(String exerciseInfoId, String classId,String studentUserId);
 	
 	/**
-	 * 后台查询作业列表
+	 * 鍚庡彴鏌ヨ浣滀笟鍒楄〃
 	 * @param keyword
 	 * @param exerciseInfoId
 	 * @param status
@@ -66,7 +66,7 @@
 	int listCount(String keyword, String exerciseInfoId, Short status);
 
 	/**
-	 * 后台查询作业列表
+	 * 鍚庡彴鏌ヨ浣滀笟鍒楄〃
 	 * @param keyword
 	 * @param exerciseInfoId
 	 * @param status
@@ -77,7 +77,7 @@
 	List<ExerciseCompleteInfo> list(String keyword, String exerciseInfoId, Short status, Integer pageSize, Integer pageNum);
 	
 	/**
-	 * 根据作业ID,班级ID,学生ID,查询作业完成情况
+	 * 鏍规嵁浣滀笟ID锛岀彮绾D锛屽鐢烮D锛屾煡璇綔涓氬畬鎴愭儏鍐�
 	 * @param exerciseInfoId
 	 * @param classId
 	 * @param studentUserId
diff --git a/src/main/java/com/qxueyou/scc/exercise/service/IExerciseCorrectionService.java b/src/main/java/com/qxueyou/scc/exercise/service/IExerciseCorrectionService.java
index c46e7c3..249b513 100644
--- a/src/main/java/com/qxueyou/scc/exercise/service/IExerciseCorrectionService.java
+++ b/src/main/java/com/qxueyou/scc/exercise/service/IExerciseCorrectionService.java
@@ -9,7 +9,7 @@
 public interface IExerciseCorrectionService {
 	
 	/**
-	 * app接口调用插入数据
+	 * app鎺ュ彛璋冪敤鎻掑叆鏁版嵁
 	 * @param groupId
 	 * @param groupName
 	 * @param exerciseNum
@@ -21,7 +21,7 @@
 	public abstract Result insertExerciseCorrection(String groupId,String groupName,String exerciseNum,String exerciseId,String correctids,String content);
 	
 	/**
-	 * 更新练习
+	 * 鏇存柊缁冧範
 	 * @param item
 	 * @param lstOptions
 	 * @param analysis
@@ -31,8 +31,8 @@
 	public abstract Result updateExerciseItemCorrection(ExerciseItem item, List<ExerciseItemOption> lstOptions,String analysis,short correctionType) ;
 	
 	/**
-	 * 根据纠错习题id查询提交者id
-	 * @param exerciseItemId 练习id
+	 * 鏍规嵁绾犻敊涔犻id鏌ヨ鎻愪氦鑰卛d
+	 * @param exerciseItemId 缁冧範id
 	 * @return
 	 */
 	List<String> querySubmitorIdsByExerItemId(String exerciseItemId);
diff --git a/src/main/java/com/qxueyou/scc/exercise/service/IExerciseDeepAnaService.java b/src/main/java/com/qxueyou/scc/exercise/service/IExerciseDeepAnaService.java
index 7956b8d..c152479 100644
--- a/src/main/java/com/qxueyou/scc/exercise/service/IExerciseDeepAnaService.java
+++ b/src/main/java/com/qxueyou/scc/exercise/service/IExerciseDeepAnaService.java
@@ -6,7 +6,7 @@
 public interface IExerciseDeepAnaService {
 	
 	/**
-	 * 文档解析完成
+	 * 鏂囨。瑙f瀽瀹屾垚
 	 * @param deepAnalysisId
 	 * @return
 	 */
diff --git a/src/main/java/com/qxueyou/scc/exercise/service/IExerciseExtendService.java b/src/main/java/com/qxueyou/scc/exercise/service/IExerciseExtendService.java
index a6a3ea1..6873a2d 100644
--- a/src/main/java/com/qxueyou/scc/exercise/service/IExerciseExtendService.java
+++ b/src/main/java/com/qxueyou/scc/exercise/service/IExerciseExtendService.java
@@ -15,28 +15,28 @@
 
 
 /**
- * 练习扩展service
+ * 缁冧範鎵╁睍service
  * @author zhiyong
  *
  */
 public interface IExerciseExtendService {
 	
 	/**
-	 * 计算错题统计信息
+	 * 璁$畻閿欓缁熻淇℃伅
 	 * @param type
 	 * @return
 	 */
 	 Result doCalcExerFaultStatisticsByDay();
 	
 	/**
-	 * 查询错题统计信息
+	 * 鏌ヨ閿欓缁熻淇℃伅
 	 * @param type
 	 * @return
 	 */
 	List<Map<String,Object>> doGetFaultStatisInfo(String type);
 	
 	/**
-	 * 查询错题本列表数据
+	 * 鏌ヨ閿欓鏈垪琛ㄦ暟鎹�
 	 * @param exerType
 	 * @param subjectId
 	 * @param pager
@@ -47,7 +47,7 @@
 	
 
 	/**
-	 * 查询收藏本列表数据
+	 * 鏌ヨ鏀惰棌鏈垪琛ㄦ暟鎹�
 	 * @param exerType
 	 * @param subjectId
 	 * @param pager
@@ -57,21 +57,21 @@
 			String subjectId,Pager pager);
 	
 	/**
-	 * 获取收藏练习数据
+	 * 鑾峰彇鏀惰棌缁冧範鏁版嵁
 	 * @param groupId
 	 * @return
 	 */
 	ExerItemResponseData queryExerciseFavorData(String groupId);
 	
 	/**
-	 * 获取收藏练习数据
+	 * 鑾峰彇鏀惰棌缁冧範鏁版嵁
 	 * @param groupId
 	 * @return
 	 */
 	Map<String,Object> queryExerciseMutiFavorData(String groupId);
 	
 	/**
-	 * 获取收藏练习答案数据
+	 * 鑾峰彇鏀惰棌缁冧範绛旀鏁版嵁
 	 * @param groupId
 	 * @return
 	 */
@@ -79,78 +79,78 @@
 	
 	
 	/**
-	 * 获取错题练习数据
+	 * 鑾峰彇閿欓缁冧範鏁版嵁
 	 * @param groupId
 	 * @return
 	 */
 	ExerItemResponseData queryExerciseFaultData(String groupId);
 	
 	/**
-	 * 获取多套题错题练习数据
+	 * 鑾峰彇澶氬棰橀敊棰樼粌涔犳暟鎹�
 	 * @param groupId
 	 * @return
 	 */
 	Map<String,Object> queryExerciseMutiFaultData(String groupId);
 	
 	/**
-	 * 获取错题练习组答案
+	 * 鑾峰彇閿欓缁冧範缁勭瓟妗�
 	 * @param groupId
 	 * @return
 	 */
 	ExerItemResponseData queryExerciseFaultAnswerData(String groupId);
 	
 	/**
-	 * 获取全部错题练习数据
+	 * 鑾峰彇鍏ㄩ儴閿欓缁冧範鏁版嵁
 	 * @return
 	 */
 	ExerItemResponseData queryAllExerciseFaultData(Pager pager);
 	
 	
 	/**
-	 * 获取全部收藏练习数据
+	 * 鑾峰彇鍏ㄩ儴鏀惰棌缁冧範鏁版嵁
 	 * @return
 	 */
 	ExerItemResponseData queryAllExerciseFavorData(Pager pager);
 	
 	/**
-	 * 操作错题Book记录
+	 * 鎿嶄綔閿欓Book璁板綍
 	 * @return
 	 */
 	Map<String,Object> doOperExerciseFaultRecordData(String subjectId, ExciseExtendReqData recordResult);
 	
 	/**
-	 * 操作收藏Book记录
+	 * 鎿嶄綔鏀惰棌Book璁板綍
 	 * @return
 	 */
 	Map<String,Object>  doOperExerciseFavorRecordData(String subjectId, ExciseExtendReqData recordResult);
 	
 	/**
-	 *提交单套题答案结果到db 
+	 *鎻愪氦鍗曞棰樼瓟妗堢粨鏋滃埌db 
 	 * @return
 	 */
 	Result doSubmitExerciseAnswerData(ExerciseSubmitAnswerData answerResult);
 	
 	/**
-	 *提交多套题答案结果到db 
+	 *鎻愪氦澶氬棰樼瓟妗堢粨鏋滃埌db 
 	 * @return
 	 */
 	Map<String,Object> doSubmitMutiExerciseAnswerData(ExerciseSubmitAnswerDataList answerDataList);
 	
 	/**
-	 *提交错题结果到db
+	 *鎻愪氦閿欓缁撴灉鍒癲b
 	 * @return
 	 */
 	Map<String,Object> doSubmitExerFaultAnswerDataNew(ExerciseSubmitAnswerData answerResult);
 	
 	
 	/**
-	 *提交收藏 结果到db
+	 *鎻愪氦鏀惰棌 缁撴灉鍒癲b
 	 * @return
 	 */
 	Map<String,Object> doSubmitExerFavorAnswerDataNew(ExerciseSubmitAnswerData answerResult);
 	
 	/**
-	 * 更新错题book信息 by提交全部错题答案
+	 * 鏇存柊閿欓book淇℃伅 by鎻愪氦鍏ㄩ儴閿欓绛旀
 	 * @param currTitleNum
 	 * @param status
 	 * @return
@@ -158,7 +158,7 @@
 	Result doOperFaultBookBySubmitAllAnswer(String currTitleNum, String status, String faultBookId, String exerciseType);
 	
 	/**
-	 * 更新收藏book信息 by提交全部收藏答案
+	 * 鏇存柊鏀惰棌book淇℃伅 by鎻愪氦鍏ㄩ儴鏀惰棌绛旀
 	 * @param currTitleNum
 	 * @param status
 	 * @return
@@ -167,57 +167,57 @@
 	
 	
 	/**
-	 * 操作本次做题记录 错题
+	 * 鎿嶄綔鏈鍋氶璁板綍 閿欓
 	 * @return
 	 */
 	Map<String,Object> doUpdateFaultExerRecordNew(String groupId);
 	
 	/**
-	 * 操作本次做题记录 全部错题
+	 * 鎿嶄綔鏈鍋氶璁板綍 鍏ㄩ儴閿欓
 	 * @return
 	 */
 	Result doUpdateExerciseFaultBook(String currTitleNum);
 	
 	/**
-	 * 操作本次做题记录 全部收藏
+	 * 鎿嶄綔鏈鍋氶璁板綍 鍏ㄩ儴鏀惰棌
 	 * @return
 	 */
 	Result doUpdateExerciseFavorBook(String currTitleNum);
 	
 	/**
-	 * 操作本次做题记录 错题
+	 * 鎿嶄綔鏈鍋氶璁板綍 閿欓
 	 * @return
 	 */
 	Result doUpdateExerciseFaultRecord(ExerciseFaultRecord record);
 	
 	/**
-	 * 操作本次做题记录 收藏
+	 * 鎿嶄綔鏈鍋氶璁板綍 鏀惰棌
 	 * @return
 	 */
 	Result doUpdateExerciseFavorRecord(ExerciseFavoriteRecord record );
 	
 	/**
-	 * 操作本次做题记录 收藏
+	 * 鎿嶄綔鏈鍋氶璁板綍 鏀惰棌
 	 * @return
 	 */
 	Map<String,Object> doUpdateFavortExerRecordNew(String groupId);
 	
 	/**
 	 * 
-	 * 保存app端请求保存的数据
+	 * 淇濆瓨app绔姹備繚瀛樼殑鏁版嵁
 	 * @return
 	 */
 	String doSaveExerciseDataSubmitLog(String data, String exerBussinessId, short type, int status, String url);
 	
 	/**
 	 * 
-	 * 保存app端请求保存的数据
+	 * 淇濆瓨app绔姹備繚瀛樼殑鏁版嵁
 	 * @return
 	 */
 	Result doUpdateExerciseDataSubmitLog(String exerciseDataLogId, String exerBussinessId);
 	
 	/**
-	 * 查询题目统计分析结果 个人统计 全站统计
+	 * 鏌ヨ棰樼洰缁熻鍒嗘瀽缁撴灉 涓汉缁熻 鍏ㄧ珯缁熻
 	 * @param groupId
 	 * @return
 	 */
@@ -225,7 +225,7 @@
 	
 
 	/**
-	 * 获取个人用户组对应的错题题目更新时间
+	 * 鑾峰彇涓汉鐢ㄦ埛缁勫搴旂殑閿欓棰樼洰鏇存柊鏃堕棿
 	 * @param subjectId
 	 * @param args
 	 * @return
@@ -233,7 +233,7 @@
 	Map<String, Map<String, Object>> queryFaultRecordByGroup(String subjectId, Object[] args);
 	
 	/**
-	 * 获取个人用户组对应的收藏题目更新时间
+	 * 鑾峰彇涓汉鐢ㄦ埛缁勫搴旂殑鏀惰棌棰樼洰鏇存柊鏃堕棿
 	 * @param subjectId
 	 * @param args
 	 * @return
@@ -241,12 +241,12 @@
 	Map<String, Map<String, Object>> queryFavorRecordByGroup(String subjectId, Object[] args);
 	
 	/**
-	 * 查询错题做题信息
+	 * 鏌ヨ閿欓鍋氶淇℃伅
 	 * @return
 	 */
 	Map<String, Object> queryExerFaultInfo();
 	/**
-	 * 查询收藏做题信息
+	 * 鏌ヨ鏀惰棌鍋氶淇℃伅
 	 * @return
 	 */
 	Map<String, Object> queryExerFavorInfo();
diff --git a/src/main/java/com/qxueyou/scc/exercise/service/IExerciseGroupService.java b/src/main/java/com/qxueyou/scc/exercise/service/IExerciseGroupService.java
index f25be4b..699092c 100644
--- a/src/main/java/com/qxueyou/scc/exercise/service/IExerciseGroupService.java
+++ b/src/main/java/com/qxueyou/scc/exercise/service/IExerciseGroupService.java
@@ -9,7 +9,7 @@
 import com.qxueyou.scc.exercise.model.ExerciseItemSet;
 
 /**
- * 题库服务类
+ * 棰樺簱鏈嶅姟绫�
  *
  * @author kevin
  * @createTime 2018-03-11
@@ -17,45 +17,45 @@
 public interface IExerciseGroupService {
 
 	/**
-	 * 查询题库数量
-	 * @param param 查询参数
+	 * 鏌ヨ棰樺簱鏁伴噺
+	 * @param param 鏌ヨ鍙傛暟
 	 * @return
 	 */
 	int queryExerciseGroupCount(Map<String,Object> param);
 
 
 	/**
-	 * 查询题库列表
-	 * @param param  查询参数
-	 * @param page   分页对象
+	 * 鏌ヨ棰樺簱鍒楄〃
+	 * @param param  鏌ヨ鍙傛暟
+	 * @param page   鍒嗛〉瀵硅薄
 	 * @return
 	 */
 	List<ExerciseGroup> queryExerciseGroupList(Map<String,Object> param,Pager page);
 
 
 	/**
-	 * 新增题库
+	 * 鏂板棰樺簱
 	 *
 	 * @param exerciseGroupInfo
 	 *
-	 * @return 新增题库ID
+	 * @return 鏂板棰樺簱ID
 	 */
 	String addExerciseGroup(ExerciseGroup exerciseGroup);
 
 	/**
-	 * 删除题库
+	 * 鍒犻櫎棰樺簱
 	 *
 	 * @param elxamIds
-	 *            题库id
+	 *            棰樺簱id
 	 * @return
 	 */
 	Result deleteExerciseGroup(String[] exerciseGroupIds);
 
 	/**
-	 * 更新题库信息
+	 * 鏇存柊棰樺簱淇℃伅
 	 *
 	 * @param noticeId
-	 *            题库id
+	 *            棰樺簱id
 	 * @return
 	 */
 	Result updateExerciseGroup(ExerciseGroup exerciseGroup);
@@ -64,25 +64,25 @@
 	ExerciseGroup queryReExerciseGroupDetail(String groupId,String examId);
 
 	/**
-	 * 发布题库
+	 * 鍙戝竷棰樺簱
 	 *
 	 * @param exerciseGroupIds
-	 *            题库的Ids
-	 * @return 1表示发布成功,0表示发布失败
+	 *            棰樺簱鐨処ds
+	 * @return 1琛ㄧず鍙戝竷鎴愬姛锛�0琛ㄧず鍙戝竷澶辫触
 	 */
 	Result doExerciseGroupRealease(String[] exerciseGroupIds);
 
 	/**
-	 * 撤回发布的题库
+	 * 鎾ゅ洖鍙戝竷鐨勯搴�
 	 *
 	 * @param exerciseGroupIds
-	 *             题库的Ids
-	 * @return 1表示撤回成功,0表示撤回失败失败
+	 *             棰樺簱鐨処ds
+	 * @return 1琛ㄧず鎾ゅ洖鎴愬姛锛�0琛ㄧず鎾ゅ洖澶辫触澶辫触
 	 */
 	Result doExerciseGroupRevocation(String[] exerciseGroupIds);
 
 	/**
-	 * 题库id  查询题库
+	 * 棰樺簱id  鏌ヨ棰樺簱
 	 * @param exerciseGroupId
 	 * @return
 	 */
@@ -90,26 +90,26 @@
 
 
 	/**
-	 * 根据原题目组及类型复制题目
-	 * @param sourceGroup  原题库
-	 * @param targetGroup  目标题库
-	 * @param startOrder   复制的起始顺序号
-	 * @return    返回复制的题库题目数量
+	 * 鏍规嵁鍘熼鐩粍鍙婄被鍨嬪鍒堕鐩�
+	 * @param sourceGroup  鍘熼搴�
+	 * @param targetGroup  鐩爣棰樺簱
+	 * @param startOrder   澶嶅埗鐨勮捣濮嬮『搴忓彿
+	 * @return    杩斿洖澶嶅埗鐨勯搴撻鐩暟閲�
 	 * @throws Exception
 	 */
 	public int doCopyExerciseGroupItem(ExerciseGroup sourceGroup, ExerciseGroup targetGroup,Short[] itemType,int startOrder) throws Exception;
 
 	/**
-	 * 根据题目复制原题库题目到新题库
-     * @param sourceGroup  原题库
-	 * @param targetGroup  目标题库
+	 * 鏍规嵁棰樼洰澶嶅埗鍘熼搴撻鐩埌鏂伴搴�
+     * @param sourceGroup  鍘熼搴�
+	 * @param targetGroup  鐩爣棰樺簱
 	 * @param exerciseItemIds
 	 * @return
 	 */
 	int doCopyExerciseGroupItem(ExerciseGroup sourceGroup, ExerciseGroup targetGroup, String[] exerciseItemIds,int startOrder) throws Exception;
 
 	/**
-	 * 交换题库中的题目的位置顺序
+	 * 浜ゆ崲棰樺簱涓殑棰樼洰鐨勪綅缃『搴�
 	 * @param paperGroupId
 	 * @param examItemId1
 	 * @param examIemId2
@@ -118,7 +118,7 @@
 	Result doExchangeExamPaperGroupItemOrder(String paperGroupId, String examItemId1, String examIemId2);
 
 	/**
-	 * 发布考试题库
+	 * 鍙戝竷鑰冭瘯棰樺簱
 	 * @param groupIds
 	 * @return
 	 */
@@ -134,17 +134,17 @@
 	 */
 
 	/**
-	 * 根据源题目组随机,生成新的题目组
-	 * @param sourceGroupIds  新题库名称
-	 * @param newGroupType    新题库类型
-	 * @param sourceGroupIds  源题库ID
-	 * @param lstExerciseItemSet  随机题目配置
-	 * @return string 返回新生成的题目组ID
+	 * 鏍规嵁婧愰鐩粍闅忔満锛岀敓鎴愭柊鐨勯鐩粍
+	 * @param sourceGroupIds  鏂伴搴撳悕绉�
+	 * @param newGroupType    鏂伴搴撶被鍨�
+	 * @param sourceGroupIds  婧愰搴揑D
+	 * @param lstExerciseItemSet  闅忔満棰樼洰閰嶇疆
+	 * @return string 杩斿洖鏂扮敓鎴愮殑棰樼洰缁処D
 	 */
 	String doCreateRandomExerciseGroup(String newGroupName,short newGroupType,String[] sourceGroupIds,List<ExerciseItemSet> lstExerciseItemSet);
 
 	/**
-	 * 根据题库ID获取题库题目统计信息
+	 * 鏍规嵁棰樺簱ID鑾峰彇棰樺簱棰樼洰缁熻淇℃伅
 	 * @param groupIds
 	 * @return
 	 */
@@ -152,7 +152,7 @@
 
 
 	/**
-	 * 根据groupIds按顺序返回名称数组
+	 * 鏍规嵁groupIds鎸夐『搴忚繑鍥炲悕绉版暟缁�
 	 * @param groupIds
 	 * @return
 	 */
diff --git a/src/main/java/com/qxueyou/scc/exercise/service/IExerciseInfoService.java b/src/main/java/com/qxueyou/scc/exercise/service/IExerciseInfoService.java
index d58fe77..e43bbfc 100644
--- a/src/main/java/com/qxueyou/scc/exercise/service/IExerciseInfoService.java
+++ b/src/main/java/com/qxueyou/scc/exercise/service/IExerciseInfoService.java
@@ -11,7 +11,7 @@
 import com.qxueyou.scc.exercise.model.ExerciseSubmitAnswerData;
 
 /**
- * 作业
+ * 浣滀笟
  * 
  * @author lihanqi
  *
@@ -19,7 +19,7 @@
 public interface IExerciseInfoService {
 
 	/**
-	 * 保存作业
+	 * 淇濆瓨浣滀笟
 	 * 
 	 * @return
 	 * @throws Exception
@@ -27,7 +27,7 @@
 	public Result insertExerciseInfo(ExerciseInfo exerciseInfo);
 
 	/**
-	 * 开始作业
+	 * 寮�濮嬩綔涓�
 	 * 
 	 * @param exerciseInfoId
 	 * @return
@@ -35,7 +35,7 @@
 	public Result doStartExerciseInfo(String exerciseInfoId, String classId, String studentUserId);
 
 	/**
-	 * 修改作业
+	 * 淇敼浣滀笟
 	 * 
 	 * @return
 	 * @throws Exception
@@ -43,7 +43,7 @@
 	public Result updateExerciseInfo(ExerciseInfo exerciseInfo);
 
 	/**
-	 * 删除作业
+	 * 鍒犻櫎浣滀笟
 	 * 
 	 * @param exerciseInfoId
 	 * @return
@@ -51,7 +51,7 @@
 	public Result deleteExerciseInfo(String exerciseInfoId);
 
 	/**
-	 * 初始化平均成绩和最高成绩
+	 * 鍒濆鍖栧钩鍧囨垚缁╁拰鏈�楂樻垚缁�
 	 * 
 	 * @param groupId
 	 * @return
@@ -59,7 +59,7 @@
 	Map<String, Object> initScore(String exerciseInfoId);
 
 	/**
-	 * 题目得分详情
+	 * 棰樼洰寰楀垎璇︽儏
 	 * 
 	 * @param groupId
 	 * @return
@@ -67,7 +67,7 @@
 	List<ExerciseItemStatistics> itemDetailList(String exerciseInfoId);
 
 	/**
-	 * 提交文件作业和写作作业
+	 * 鎻愪氦鏂囦欢浣滀笟鍜屽啓浣滀綔涓�
 	 * 
 	 * @param exerciseInfoId
 	 * @param fileId
@@ -79,7 +79,7 @@
 			short submitType);
 
 	/**
-	 * 提交习题作业
+	 * 鎻愪氦涔犻浣滀笟
 	 * 
 	 * @param answers
 	 * @return
@@ -87,25 +87,25 @@
 	Result doSubmitAnswerExerciseInfo(ExerciseSubmitAnswerData answerData, String exerciseInfoId, String exerciseCompleteId);
 
 	/**
-	 * 发布作业
+	 * 鍙戝竷浣滀笟
 	 * 
 	 * @param examIds
-	 *            作业的的Ids
-	 * @return 1表示发布成功,0表示发布失败
+	 *            浣滀笟鐨勭殑Ids
+	 * @return 1琛ㄧず鍙戝竷鎴愬姛锛�0琛ㄧず鍙戝竷澶辫触
 	 */
 	Result doPublishExercise(String[] exerciseId);
 
 	/**
-	 * 撤回发布的作业
+	 * 鎾ゅ洖鍙戝竷鐨勪綔涓�
 	 * 
 	 * @param examIds
-	 *            发布的作业的Ids
-	 * @return 1表示撤回成功,0表示撤回失败失败
+	 *            鍙戝竷鐨勪綔涓氱殑Ids
+	 * @return 1琛ㄧず鎾ゅ洖鎴愬姛锛�0琛ㄧず鎾ゅ洖澶辫触澶辫触
 	 */
 	Result doRevokeExercise(String[] exerciseId);
 
 	/**
-	 * 首页获取学生作业总条数
+	 * 棣栭〉鑾峰彇瀛︾敓浣滀笟鎬绘潯鏁�
 	 * 
 	 * @param classId
 	 * @param userId
@@ -113,7 +113,7 @@
 	int getExerciseCount(String classId, String userId);
 
 	/**
-	 * 首页获取学生已完成的作业条数
+	 * 棣栭〉鑾峰彇瀛︾敓宸插畬鎴愮殑浣滀笟鏉℃暟
 	 * 
 	 * @param classId
 	 * @param userId
@@ -122,7 +122,7 @@
 	int getCommitExerciseCount(String classId, String userId);
 
 	/**
-	 * 首页获取学生带完成的条数
+	 * 棣栭〉鑾峰彇瀛︾敓甯﹀畬鎴愮殑鏉℃暟
 	 * 
 	 * @param classId
 	 * @param userId
@@ -131,7 +131,7 @@
 	int getToBeCommitExerciseCount(String classId, String userId);
 
 	/**
-	 * 首页获取逾期未交的作业条数
+	 * 棣栭〉鑾峰彇閫炬湡鏈氦鐨勪綔涓氭潯鏁�
 	 * 
 	 * @param classId
 	 * @param userId
@@ -140,7 +140,7 @@
 	int getUnCommitExerciseCount(String classId, String userId);
 
 	/**
-	 * 删除考试
+	 * 鍒犻櫎鑰冭瘯
 	 * 
 	 * @param examId
 	 * @return
@@ -148,7 +148,7 @@
 	String queryExerciseInfoRelatedGroupId(String exerciseInfoId);
 	
 	/**
-	 * 查询作业列表-教师端
+	 * 鏌ヨ浣滀笟鍒楄〃-鏁欏笀绔�
 	 * 
 	 * @param pageSize
 	 * @param keyword
@@ -159,7 +159,7 @@
 	List<Map<String, Object>> teacherExerciseInfoList(Integer pageSize,String keyword,String classId,Integer pageNum);
 	
 	/**
-	 * 后台查询作业列表
+	 * 鍚庡彴鏌ヨ浣滀笟鍒楄〃
 	 * @param keyword
 	 * @param pageSize
 	 * @param pageNum
@@ -168,7 +168,7 @@
 	List<ExerciseInfo> list(String keyword,String classId,Short status,Integer pageSize, Integer pageNum);
 	
 	/**
-	 * 后台查询作业列表数量
+	 * 鍚庡彴鏌ヨ浣滀笟鍒楄〃鏁伴噺
 	 * @param keyword
 	 * @param creatorId
 	 * @return
@@ -176,14 +176,14 @@
 	int listCount(String keyword,String classId,Short status);
 	
 	/**
-	 * 查询答题作业的作业设置
+	 * 鏌ヨ绛旈浣滀笟鐨勪綔涓氳缃�
 	 * @param exerciseInfoId
 	 * @return
 	 */
 	List<ExerciseItemSet> queryExerciseItemSet(String exerciseInfoId);
 
 	/**
-	 * 查询学生作业数量
+	 * 鏌ヨ瀛︾敓浣滀笟鏁伴噺
 	 * @param keyword
 	 * @param exerciseInfoId
 	 * @param subjectId
@@ -193,7 +193,7 @@
 	int queryStuExerciseListCount(String keyword,String exerciseInfoId,String userId, String subjectId, Short status);
 	
 	/**
-	 * 查询学生作业情况列表
+	 * 鏌ヨ瀛︾敓浣滀笟鎯呭喌鍒楄〃
 	 * @param keyword
 	 * @param exerciseInfoId
 	 * @param subjectId
@@ -205,7 +205,7 @@
 	List<ExerciseResultV> queryStuExerciselist(String keyword,String exerciseInfoId,String userId,String subjectId, Short status, Integer pageSize, Integer pageNum);
 	
 	/**
-	 * 查询作业完成情况数量
+	 * 鏌ヨ浣滀笟瀹屾垚鎯呭喌鏁伴噺
 	 * @param lstExerciseIds
 	 * @return
 	 */
diff --git a/src/main/java/com/qxueyou/scc/exercise/service/IExercisePyService.java b/src/main/java/com/qxueyou/scc/exercise/service/IExercisePyService.java
index 8a1e709..d51da53 100644
--- a/src/main/java/com/qxueyou/scc/exercise/service/IExercisePyService.java
+++ b/src/main/java/com/qxueyou/scc/exercise/service/IExercisePyService.java
@@ -9,7 +9,7 @@
 
 /**
  * 
- * 练习导入解析
+ * 缁冧範瀵煎叆瑙f瀽
  *
  */
 public interface IExercisePyService {
diff --git a/src/main/java/com/qxueyou/scc/exercise/service/IExerciseService.java b/src/main/java/com/qxueyou/scc/exercise/service/IExerciseService.java
index 1e12af3..099748b 100644
--- a/src/main/java/com/qxueyou/scc/exercise/service/IExerciseService.java
+++ b/src/main/java/com/qxueyou/scc/exercise/service/IExerciseService.java
@@ -15,7 +15,7 @@
 import com.qxueyou.scc.exercise.model.ExerciseParseResult;
 
 /**
- * 练习service
+ * 缁冧範service
  * @author zhiyong
  *
  */
@@ -23,55 +23,55 @@
 	
 
 	/**
-	 * 新增练习组
-	 * @param name 练习组名称
-	 * @param type 练习组类型
-	 * @param lessonId 课程id
-	 * @param chapterId 章节id
-	 * @param singleType 练习是否只保存章节练习
+	 * 鏂板缁冧範缁�
+	 * @param name 缁冧範缁勫悕绉�
+	 * @param type 缁冧範缁勭被鍨�
+	 * @param lessonId 璇剧▼id
+	 * @param chapterId 绔犺妭id
+	 * @param singleType 缁冧範鏄惁鍙繚瀛樼珷鑺傜粌涔�
 	 * @return
 	 */
 	Result insertExerciseGroup(String name, short type,String lessonId, String chapterId);
 	
 	/**
-	 * 新增练习组
-	 * @param name 练习组名称
-	 * @param type 练习组类型
-	 * @param lessonId 课程id
-	 * @param chapterId 章节id
-	 * @param singleType 练习是否只保存章节练习
-	 * @param 模拟考试   时间设置
+	 * 鏂板缁冧範缁�
+	 * @param name 缁冧範缁勫悕绉�
+	 * @param type 缁冧範缁勭被鍨�
+	 * @param lessonId 璇剧▼id
+	 * @param chapterId 绔犺妭id
+	 * @param singleType 缁冧範鏄惁鍙繚瀛樼珷鑺傜粌涔�
+	 * @param 妯℃嫙鑰冭瘯   鏃堕棿璁剧疆
 	 * @return
 	 */
 	Result insertExerciseGroup(String groupId,String name, short type,String lessonId,
 			String chapterId,String attribute1,boolean repeatFlag);
 	
-	/**新增机构练习组
-	 * name 练习组名称
-	 * type 练习组类型
-	 * collegeCourseId 科目id
-	 * attribute1  模拟练习时间
+	/**鏂板鏈烘瀯缁冧範缁�
+	 * name 缁冧範缁勫悕绉�
+	 * type 缁冧範缁勭被鍨�
+	 * collegeCourseId 绉戠洰id
+	 * attribute1  妯℃嫙缁冧範鏃堕棿
 	 * **/
 	Result insertOrgExercise(ExerciseGroup group, boolean repeatFlag);
 	
 	Result insertAppointExercise(String groupId [],String orgId [],String classIds[]);
 	/**
-	 * 读取练习组所有习题
-	 * @param groupId 练习组id
+	 * 璇诲彇缁冧範缁勬墍鏈変範棰�
+	 * @param groupId 缁冧範缁刬d
 	 * @return
 	 */
 	List<ExerciseItem> readExerciseItems(String groupId);
 	
 	
 	/**
-	 * 读取练习组所有习题,带编号
-	 * @param groupId 练习组id
+	 * 璇诲彇缁冧範缁勬墍鏈変範棰�,甯︾紪鍙�
+	 * @param groupId 缁冧範缁刬d
 	 * @return
 	 */
 	List<ExerciseItem> readExerciseItemsWithNo(String groupId);
 	
 	/**
-	 * 插入ExerciseItem
+	 * 鎻掑叆ExerciseItem
 	 * @param item
 	 * @param lstOptions
 	 * @return
@@ -80,7 +80,7 @@
 	
 
 	/**
-	 * 批量保存题目
+	 * 鎵归噺淇濆瓨棰樼洰
 	 * @param groupId
 	 * @param items
 	 * @return
@@ -89,7 +89,7 @@
 	
 	
 	/**
-	 * 更新练习
+	 * 鏇存柊缁冧範
 	 * @param item
 	 * @param lstOptions
 	 * @return
@@ -98,45 +98,45 @@
 	
 	
 	/**
-	 * 删除习题
-	 * @param strings 习题id
+	 * 鍒犻櫎涔犻
+	 * @param strings 涔犻id
 	 * @return
 	 */
 	Result deleteExerciseItems(String[] exerciceIds,String[] reIds,String groupId);
 
 	/**
-	 * 导入习题
-	 * @param groupId 练习组id
-	 * @param file 文件
+	 * 瀵煎叆涔犻
+	 * @param groupId 缁冧範缁刬d
+	 * @param file 鏂囦欢
 	 * @return
 	 */
 	Result doImportItems(String groupId, File file);
 	
 	/**
-	 * 组装ExerciseGroup的list
-	 * @param groupId 主键
+	 * 缁勮ExerciseGroup鐨刲ist
+	 * @param groupId 涓婚敭
 	 * @return
 	 */
 	List<ExerciseGroup> initExerciseGroup(String groupId);
 	
 	/**
-	 * 批量删除ExerciseGroup
-	 * @param groupId 主键,多个id时以","分隔
+	 * 鎵归噺鍒犻櫎ExerciseGroup
+	 * @param groupId 涓婚敭锛屽涓猧d鏃朵互","鍒嗛殧
 	 * @return
 	 */
 	Result deleteExerciseGroup(String groupId) ;
 	
 	/**
-	 * 批量删除ExerciseGroup
-	 * @param groupId 主键,多个id时以","分隔
-	 * @param type 多个type时以","分隔
+	 * 鎵归噺鍒犻櫎ExerciseGroup
+	 * @param groupId 涓婚敭锛屽涓猧d鏃朵互","鍒嗛殧
+	 * @param type 澶氫釜type鏃朵互","鍒嗛殧
 	 * @return
 	 */
 	Result deleteExerciseGroup(String groupId,String type,String deleteType,Integer delAll, String orgIds[], String classIds[]) ;
 	
 	/**
-	 * :后台
-	 * 插入评估模板时调用
+	 * 锛氬悗鍙�
+	 * 鎻掑叆璇勪及妯℃澘鏃惰皟鐢�
 	 * @param name
 	 * @param type
 	 * @return
@@ -144,7 +144,7 @@
 	ExerciseGroup insertExerciseGroup(String name,short type) ;
 	
 	/**
-	 * 查询练习列表,还需查询联系下面习题个数
+	 * 鏌ヨ缁冧範鍒楄〃锛岃繕闇�鏌ヨ鑱旂郴涓嬮潰涔犻涓暟
 	 * @param hql
 	 * @param args
 	 * @return
@@ -152,7 +152,7 @@
 	List<ExerciseGroup> queryExerciceGroupList(String hql,List<Object> args);
 	
 	/**
-	 * 添加练习图片
+	 * 娣诲姞缁冧範鍥剧墖
 	 * @param imgPath
 	 * @param imgObjId
 	 * @param imgObjType
@@ -162,7 +162,7 @@
 	
 	
 	/**
-	 * 添加练习图片
+	 * 娣诲姞缁冧範鍥剧墖
 	 * @param imgPath
 	 * @param imgObjId
 	 * @param imgObjType
@@ -171,7 +171,7 @@
 	List<Map<String,Object>> doAddEvaExerciseObjImg(String[] imgPath, String imgObjId, int imgObjType);
 	
 	/**
-	 * 删除练习图片
+	 * 鍒犻櫎缁冧範鍥剧墖
 	 * @return
 	 */
 	Result dodelExerciseObjImg(String imgObjId);
@@ -179,13 +179,13 @@
 	
 	
 	/**
-	 * 删除练习图片 问卷
+	 * 鍒犻櫎缁冧範鍥剧墖 闂嵎
 	 * @return
 	 */
 	ResultJson dodelEvaExerciseObjImg(String imgObjId);
 	
 	/**
-	 * 导入习题模块:深度解析word文档
+	 * 瀵煎叆涔犻妯″潡锛氭繁搴﹁В鏋恮ord鏂囨。
 	 * @param groupId
 	 * @param file
 	 * @param uuid
@@ -194,7 +194,7 @@
 	Result doDeepAnalysisDoc(String groupId,String fullPath);
 	
 	/**
-	 * 导入习题模块:将解析结果返回到前台
+	 * 瀵煎叆涔犻妯″潡锛氬皢瑙f瀽缁撴灉杩斿洖鍒板墠鍙�
 	 * @param groupId
 	 * @param file
 	 * @return
@@ -202,42 +202,42 @@
 	ExerciseParseResult doParseItems(String groupId, String fullPath , String module );
 	
 	/**
-	 * 导入习题模块: 校验习题,将解析结果返回到前台
+	 * 瀵煎叆涔犻妯″潡锛� 鏍¢獙涔犻锛屽皢瑙f瀽缁撴灉杩斿洖鍒板墠鍙�
 	 * @param content
 	 * @return
 	 */
 	ExerciseParseResult validateExercise(String content);
 	
 	/**
-	 * 复制历史练习
+	 * 澶嶅埗鍘嗗彶缁冧範
 	 * @param fromClassId
 	 * @return
 	 */
 	Result executeCopyExercise(String groupId, String subjectId, String subjectName, String chapterId) ;
 	
 	/**
-	 * 学员得分详情列表
+	 * 瀛﹀憳寰楀垎璇︽儏鍒楄〃
 	 * @param groupId
 	 * @return
 	 */
 	List<Map<String, Object>> resultList(String groupId);
 	
 	/**
-	 * 初始化平均成绩和最高成绩
+	 * 鍒濆鍖栧钩鍧囨垚缁╁拰鏈�楂樻垚缁�
 	 * @param groupId
 	 * @return
 	 */
 	Map<String, Object> initScore(String groupId);
 	
 	/**
-	 * 题目得分详情
+	 * 棰樼洰寰楀垎璇︽儏
 	 * @param groupId
 	 * @return
 	 */
 	List<ExerciseItemStatistics> itemDetailList(String groupId);
 	
 	/**
-	 * 加载题目选项详情 - 班级、机构
+	 * 鍔犺浇棰樼洰閫夐」璇︽儏 - 鐝骇銆佹満鏋�
 	 * @param groupId
 	 * @return
 	 */
@@ -246,7 +246,7 @@
 	Result addExerciseGroupExtendTime(String groupId, String exerciseTime,boolean repeatFlag);
 	
 	/**
-	 * 评价模块习题修改
+	 * 璇勪环妯″潡涔犻淇敼
 	 * 
 	 * @param item
 	 * @param lstOptions
@@ -255,7 +255,7 @@
 	ResultJson updateExerciseItem4Evaluate(ExerciseItem item, List<ExerciseItemOption> lstOptions,String analysis);
 
 	/**
-	 * 评价模块习题新增
+	 * 璇勪环妯″潡涔犻鏂板
 	 * 
 	 * @param groupId
 	 * @param item
@@ -266,16 +266,16 @@
 			List<ExerciseItemOption> lstOptions,String analysis,JSONArray titleImgs);
 	
 	/**
-	 * 查看问卷详情
+	 * 鏌ョ湅闂嵎璇︽儏
 	 * 
-	 * @param groupId 问题组id
-	 * @param evaluateTemId 模板id
+	 * @param groupId 闂缁刬d
+	 * @param evaluateTemId 妯℃澘id
 	 * @return
 	 */
 	List<ExerciseItem> readExerciseItems4Evaluate(String groupId);
 	
 	/**
-	 * 查询问卷用户练习详情
+	 * 鏌ヨ闂嵎鐢ㄦ埛缁冧範璇︽儏
 	 * @param recordId
 	 * @param evaluateId
 	 * @return
@@ -283,7 +283,7 @@
 	ResultJson queryUserEvaExerciseDetail(String recordId,String evaluateId);
 	
 	/**
-	 * 查询问卷图片
+	 * 鏌ヨ闂嵎鍥剧墖
 	 * @param imgObjId
 	 * @param imgObjType
 	 * @return
@@ -291,30 +291,30 @@
 	List<Map<String,Object>> queryEvaExerciseObjImg(String imgObjId, int imgObjType);
 
 	/**
-	 * 编辑练习保存
+	 * 缂栬緫缁冧範淇濆瓨
 	 */
 	Result doSaveEditGroup(String groupId, String groupName);
 	
 	/**
-	 * 排序
+	 * 鎺掑簭
 	 * 
-	 * @param ids 排序id
-	 * @param index 序号
+	 * @param ids 鎺掑簭id
+	 * @param index 搴忓彿
 	 * @return
 	 */
 	Result doOrder(List<String> ids,  List<Integer> index);
 	
 	/**
-	 * 问卷模板练习题排序
+	 * 闂嵎妯℃澘缁冧範棰樻帓搴�
 	 * 
-	 * @param ids 排序id
-	 * @param index 序号
+	 * @param ids 鎺掑簭id
+	 * @param index 搴忓彿
 	 * @return
 	 */
 	Result doitemOrder(List<String> ids,  List<Integer> index,String groupId);
 	
 	/**
-	 * 拷贝练习
+	 * 鎷疯礉缁冧範
 	 * 
 	 * @param id
 	 * @param subjectId
@@ -329,7 +329,7 @@
 	Result doCopyExerciseGroup(String id, String subjectId, String collegeCourseId, String chapterId) throws IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException;
 	
 	/**
-	 * 保存练习接口
+	 * 淇濆瓨缁冧範鎺ュ彛
 	 * 
 	 * @param group
 	 * @return
@@ -337,8 +337,8 @@
 	public Result saveExerciseGroup(ExerciseGroup group);
 	
 	/**
-	 * (后台管理系统)
-	 *  管理员同步习题到班级
+	 * 锛堝悗鍙扮鐞嗙郴缁燂級
+	 *  绠$悊鍛樺悓姝ヤ範棰樺埌鐝骇
 	 * 
 	 * @param exerciseItemId
 	 * @return
@@ -346,7 +346,7 @@
 	public Result doSynExercise(String[] exerciseItemIds) throws IllegalAccessException, InvocationTargetException;
 	
 	/**
-	 * 拷贝练习题
+	 * 鎷疯礉缁冧範棰�
 	 * 
 	 * @param items
 	 * @param newGroupId
@@ -359,7 +359,7 @@
 	public void doCopyExerciseItem(String newGroupId, String oldGroupId, List<ExerciseItem> items, int type) throws IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException;
 	
 	/**
-	 * 数据同步接口,同步下发到班级的数据
+	 * 鏁版嵁鍚屾鎺ュ彛锛屽悓姝ヤ笅鍙戝埌鐝骇鐨勬暟鎹�
 	 * 
 	 * @param orgId
 	 * @param groupId
@@ -368,7 +368,7 @@
 	public Result doSynExerciseItem(String orgId, String groupId);
 	
 	/**
-	 * 问卷评估  复制练习
+	 * 闂嵎璇勪及  澶嶅埗缁冧範
 	 * @param groupId
 	 * @return
 	 */
diff --git a/src/main/java/com/qxueyou/scc/exercise/service/IExerciseVerService.java b/src/main/java/com/qxueyou/scc/exercise/service/IExerciseVerService.java
index 869352c..554bd82 100644
--- a/src/main/java/com/qxueyou/scc/exercise/service/IExerciseVerService.java
+++ b/src/main/java/com/qxueyou/scc/exercise/service/IExerciseVerService.java
@@ -13,7 +13,7 @@
 import com.qxueyou.scc.exercise.model.ExerciseSubmitAnswerData;
 
 /** 
- * 练习service   V2.0接口
+ * 缁冧範service   V2.0鎺ュ彛
  * @author zhiyong
  *
  */
@@ -21,7 +21,7 @@
 	
 	
 	/**
-	 * 查询练习列表数据
+	 * 鏌ヨ缁冧範鍒楄〃鏁版嵁
 	 * @param exerType
 	 * @param subjectId
 	 * @param pager
@@ -31,7 +31,7 @@
 			String subjectId,Pager pager, Integer selected, String chapterId);
 	
 	/**
-	 * 获取练习题目
+	 * 鑾峰彇缁冧範棰樼洰
 	 * @param groupId
 	 * @param exerciseRecordId
 	 * @param getExercise
@@ -44,7 +44,7 @@
 	
 	
 	/**
-	 * 组装题目
+	 * 缁勮棰樼洰
 	 * @param lstItems
 	 * @param exerciseGroupId
 	 * @return
@@ -53,14 +53,14 @@
 	
 	/**
 	 * 
-	 * 操作练习答案数据同步
+	 * 鎿嶄綔缁冧範绛旀鏁版嵁鍚屾
 	 * @return
 	 */
 	Map<String,Object> doOperExerciseAnswerData(ExerciseSubmitAnswerData answerData);
 	
 	/**
 	 * 
-	 * 统计用户做题结果数据
+	 * 缁熻鐢ㄦ埛鍋氶缁撴灉鏁版嵁
 	 * @return
 	 */
 	Result doStatisUserExerciseItemData(String userId, String userName, ExerciseSubmitAnswerData answerData);
@@ -68,21 +68,21 @@
 	
 	/**
 	 * 
-	 * 保存app端请求保存的数据
+	 * 淇濆瓨app绔姹備繚瀛樼殑鏁版嵁
 	 * @return
 	 */
 	String doSaveExerciseDataSubmitLog(String data, String exerBussinessId, short type, int status, String url);
 	
 	/**
 	 * 
-	 * 保存app端请求保存的数据
+	 * 淇濆瓨app绔姹備繚瀛樼殑鏁版嵁
 	 * @return
 	 */
 	Result doUpdateExerciseDataSubmitLog(String exerciseDataLogId, String exerBussinessId);
 	
 	
 	/**
-	 * 根据条件获取自由练习
+	 * 鏍规嵁鏉′欢鑾峰彇鑷敱缁冧範
 	 * @param source
 	 * @param strategy
 	 * @param mode
@@ -94,56 +94,56 @@
 			String source,String strategy,String mode, int count, String exerciseTime);
 	
 	/**
-	 * 查询题目统计分析结果 个人统计 全站统计
+	 * 鏌ヨ棰樼洰缁熻鍒嗘瀽缁撴灉 涓汉缁熻 鍏ㄧ珯缁熻
 	 * @param exerciseType
 	 * @return
 	 */
 	List<Map<String,Object>> queryExerciseItemStatisics(String groupId);
 	/**
-	 * 操作本次做题记录
+	 * 鎿嶄綔鏈鍋氶璁板綍
 	 * @return
 	 */
 	Map<String,Object> doInsertExerRecord(String groupId);
 	
 	/**
-	 * 更新练习组班级正确率信息
+	 * 鏇存柊缁冧範缁勭彮绾ф纭巼淇℃伅
 	 * @return
 	 */
 	Result doUpdateExerGroupClsAccuracy(String groupId, String doCount, String correctCount);
 	
 	/**
-	 * 发送班级正确率请求消息
+	 * 鍙戦�佺彮绾ф纭巼璇锋眰娑堟伅
 	 * @return
 	 */
 	Result sendUpdateClassAccuracyMsg(String groupId, String doCount, String correctCount);
 	
 	/**
-	 * 发送班级排名请求消息
+	 * 鍙戦�佺彮绾ф帓鍚嶈姹傛秷鎭�
 	 * @return
 	 */
 	Result sendUpdateClassRankMsg(String groupId);
 	
 	/**
-	 * 操作本次做题记录
+	 * 鎿嶄綔鏈鍋氶璁板綍
 	 * @return
 	 */
 	Result doUpdateExerciseRecord(String exerciseRecordId, String groupId, String currTitleNum);
 	
 	/**
-	 * 操作本次做题记录
+	 * 鎿嶄綔鏈鍋氶璁板綍
 	 * @return
 	 */
 	Result updateExerciseRecordObj(ExerciseRecord record);
 	
 	/**
-	 * 重新校对答案正确性
+	 * 閲嶆柊鏍″绛旀姝g‘鎬�
 	 * @param answerData
 	 * @return
 	 */
 	ExerciseSubmitAnswerData getExerciseSubmitAnswerDataNew(ExerciseSubmitAnswerData answerData);
 	
 	/**
-	 * 发送练习统计数据消息 
+	 * 鍙戦�佺粌涔犵粺璁℃暟鎹秷鎭� 
 	 * @param exerciseGroupId
 	 * @param exerItemIdMap
 	 * @return
@@ -151,7 +151,7 @@
 	Result sendUpdateExerItemStatisticsMsg(String exerciseGroupId, ExerciseSubmitAnswerData answerData);
 	
 	/**
-	 * 更新统计 - 提交数据调用、单击统计按钮调用
+	 * 鏇存柊缁熻 - 鎻愪氦鏁版嵁璋冪敤銆佸崟鍑荤粺璁℃寜閽皟鐢�
 	 * @param groupId
 	 * @return
 	 */
@@ -163,7 +163,7 @@
 	List<ExerciseItem> queryExerciseItemList(String groupId);
 	
 	/**
-	 * 计算填空题得分
+	 * 璁$畻濉┖棰樺緱鍒�
 	 * @param itemAnswer
 	 * @param useranswer
 	 * @param itemRightScore
diff --git a/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseCompleteService.java b/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseCompleteService.java
index 41fb136..f6f577a 100644
--- a/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseCompleteService.java
+++ b/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseCompleteService.java
@@ -24,7 +24,7 @@
 import com.qxueyou.scc.school.model.SchHandout;
 
 /**
- * 考试管理服务层
+ * 鑰冭瘯绠$悊鏈嶅姟灞�
  * 
  * @author kevin
  * @createTime 2017-11-1
@@ -103,7 +103,7 @@
 					"subjectId",exerciseInfo.getSubjectId(),"subjectName",exerciseInfo.getSubject().getName()
 					,"exerciseCompleteId",completeInfo.getExerciseCompleteId());
 			
-		msgInfoService.doSendTextMsgToUsers(new String[]{completeInfo.getStudentUserId()},MsgInfo.TYPE_CHECK,"老师批改了作业 ", attrs);
+		msgInfoService.doSendTextMsgToUsers(new String[]{completeInfo.getStudentUserId()},MsgInfo.TYPE_CHECK,"鑰佸笀鎵规敼浜嗕綔涓� ", attrs);
 	}
 	
 
@@ -118,7 +118,7 @@
 		completeInfo.setContent(completeInfo.getUploadDesc());
 		completeInfo.setTotalScore(exerciseInfo.getScore());
 
-		// 如果文件作业是视频音频作业
+		// 濡傛灉鏂囦欢浣滀笟鏄棰戦煶棰戜綔涓�
 		if (exerciseInfo.getCommitUploadType() == ExerciseInfo.EXERCISE_FILE_COMMIT_VIDEO 
 				|| exerciseInfo.getCommitUploadType() == ExerciseInfo.EXERCISE_FILE_COMMIT_AUDIO) {
 			if (StringUtils.isNotEmpty(completeInfo.getTargetObjectId())) {
@@ -134,7 +134,7 @@
 			}
 		}
 
-		// 如果文件作业是讲义
+		// 濡傛灉鏂囦欢浣滀笟鏄涔�
 		if (exerciseInfo.getCommitUploadType() == ExerciseInfo.EXERCISE_FILE_COMMIT_DOC) {
 			if (StringUtils.isNotEmpty(completeInfo.getTargetObjectId())) {
 				SchHandout handout = this.read(SchHandout.class, completeInfo.getTargetObjectId());
@@ -147,7 +147,7 @@
 			}
 		}
 
-		// 如果是写作作业
+		// 濡傛灉鏄啓浣滀綔涓�
 		if (exerciseInfo.getType() == ExerciseInfo.EXERCISE_TYPE_WRITING && StringUtils.isNotEmpty(completeInfo.getTargetObjectId())) {
 			completeInfo.setContent(this.orgTextService.getOrgText(completeInfo.getExerciseCompleteId(), OrgText.TABLE_WRITING_EXERCISE).getContent());
 		}
diff --git a/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseCorrectionService.java b/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseCorrectionService.java
index ea4bc76..f87a027 100644
--- a/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseCorrectionService.java
+++ b/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseCorrectionService.java
@@ -25,7 +25,7 @@
 
 
 /**
- * 练习  实现service
+ * 缁冧範  瀹炵幇service
  * @author 
  *
  */
@@ -39,7 +39,7 @@
 //	IScoreChangeService  scoreChangeService;
 
 	/**
-	 * app接口调用插入数据
+	 * app鎺ュ彛璋冪敤鎻掑叆鏁版嵁
 	 * @param groupId
 	 * @param groupName
 	 * @param exerciseNum
@@ -49,14 +49,14 @@
 	 * @return
 	 */
 	public Result insertExerciseCorrection(String groupId,String groupName,String exerciseNum,String exerciseId,String correctids,String content){
-		//赋值
+		//璧嬪��
 		ExerciseCorrection exerCorrection=new ExerciseCorrection();
 		exerCorrection.setDeleteFlag(false);
 		TraceUtils.setCreateTrace(exerCorrection);
 		exerCorrection.setExerciseGroupId(groupId);
 		exerCorrection.setExerciseGroupName(groupName);
 		
-		// 修改为从数据库取,如果数据库中有值
+		// 淇敼涓轰粠鏁版嵁搴撳彇锛屽鏋滄暟鎹簱涓湁鍊�
 		String hql = " from ExerciseGroupItemRe r where r.exerciseGroupId = ? and r.exerciseItemId = ? and r.deleteFlag is false  ";
 		ExerciseGroupItemRe re = this.findUnique(hql, CollectionUtils.newList(groupId,exerciseId), ExerciseGroupItemRe.class);
 		if(null != re && re.getItemOrder() != null ){
@@ -67,10 +67,10 @@
 		
 		exerCorrection.setExerciseItemId(exerciseId);
 		exerCorrection.setRemark(content);
-		//字典字段的赋值
+		//瀛楀吀瀛楁鐨勮祴鍊�
 		initDicForExerciseCorrection(correctids,exerCorrection);
 		
-		//提交人,提交人id 以及其他信息赋值通过查找ClientUtils
+		//鎻愪氦浜猴紝鎻愪氦浜篿d 浠ュ強鍏朵粬淇℃伅璧嬪�奸�氳繃鏌ユ壘ClientUtils
 		String classId = ClientUtils.getClassId();
 		exerCorrection.setClassId(classId);
 		exerCorrection.setSubmitUserId(ClientUtils.getUserId());
@@ -80,14 +80,14 @@
 		
 		this.save(exerCorrection);
 		
-		//纠错增加积分
+		//绾犻敊澧炲姞绉垎
 //		scoreChangeService.doExerCor(ClientUtils.getUserId(), exerciseId);
 		
 		return new Result(true);
 	}
 	
 	/**
-	 * 字典字段赋值
+	 * 瀛楀吀瀛楁璧嬪��
 	 * @param correctids
 	 * @param exerCorrection
 	 */
@@ -102,7 +102,7 @@
 			errorTypeId = errorTypeId.concat(sysDic.getDictionaryId()).concat(",");
 			errorTypeName = errorTypeName.concat(sysDic.getValue()).concat(",");
 		}
-		//去掉多余","
+		//鍘绘帀澶氫綑","
 		if(StringUtils.isNotBlank(errorTypeId) && errorTypeId.indexOf(',') != -1){
 			errorTypeId = errorTypeId.substring(0, errorTypeId.length()-1);
 			errorTypeName = errorTypeName.substring(0, errorTypeName.length()-1);
@@ -113,7 +113,7 @@
 	}
 	
 	/**
-	 * 更新练习
+	 * 鏇存柊缁冧範
 	 * @param item
 	 * @param lstOptions
 	 * @param analysis
@@ -124,17 +124,17 @@
 		
 		if(correctionType==ExerciseCorrection.DEAL_STATUS_DONE){
 			
-			//待推送用户id列表
+			//寰呮帹閫佺敤鎴穒d鍒楄〃
 			List<String> submitorIdsLst = querySubmitorIdsByExerItemId(item.getExerciseId());
 			
 			String hql = "update ExerciseCorrection set dealStatus = " + ExerciseCorrection.DEAL_STATUS_DONE + " where exerciseItemId = ? "  ;
 			
 			bulkUpdateInLoop(hql, new String[]{item.getExerciseId()});
 			
-			//推送消息给习题纠错学员
+			//鎺ㄩ�佹秷鎭粰涔犻绾犻敊瀛﹀憳
 			pushNotification(item,submitorIdsLst);
 			
-			//纠错被处理增加积分
+			//绾犻敊琚鐞嗗鍔犵Н鍒�
 //			scoreChangeService.doExerCorDeal(null, item.getExerciseId());
 			
 		}
@@ -142,7 +142,7 @@
 	}
 
 	/**
-	 * 推送通知给用户
+	 * 鎺ㄩ�侀�氱煡缁欑敤鎴�
 	 * @param item
 	 */
 	private void pushNotification(ExerciseItem item,List<String> submitorIdsLst) {
@@ -151,8 +151,8 @@
 		extras.put("senderId", "sys_msg");
 		extras.put("type", "SYS_MSG");
 		
-		//jpushService.doJpushByUserIds(submitorIdsLst, extras, "习题纠错", "纠错已处理:"+item.getTitle(), "纠错已处理:"+item.getTitle());
-		//pushService.pushToAccountList("exerciseCorrect", "习题纠错", "纠错已处理:"+item.getTitle(), submitorIdsLst,"sys_msg","SYS_MSG");
+		//jpushService.doJpushByUserIds(submitorIdsLst, extras, "涔犻绾犻敊", "绾犻敊宸插鐞�:"+item.getTitle(), "绾犻敊宸插鐞�:"+item.getTitle());
+		//pushService.pushToAccountList("exerciseCorrect", "涔犻绾犻敊", "绾犻敊宸插鐞�:"+item.getTitle(), submitorIdsLst,"sys_msg","SYS_MSG");
 	}
 
 	/*
diff --git a/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseDeepAnaService.java b/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseDeepAnaService.java
index 8ad1ef3..75b09c6 100644
--- a/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseDeepAnaService.java
+++ b/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseDeepAnaService.java
@@ -14,7 +14,7 @@
 
 
 /**
- * 练习  实现service
+ * 缁冧範  瀹炵幇service
  * @author 
  *
  */
@@ -22,13 +22,13 @@
 public class ExerciseDeepAnaService extends CommonAppService implements IExerciseDeepAnaService {
 	
 	/**
-	 * 文档解析完成
+	 * 鏂囨。瑙f瀽瀹屾垚
 	 * @param deepAnalysisId
 	 * @return
 	 */
 	public Result updateExerciseDocStatus(String[] deepAnalysisId){
 		
-		//TODO  发送短信
+		//TODO  鍙戦�佺煭淇�
 		
 		
 		List<ExerciseDeepAnalysis> lstAna = new ArrayList<ExerciseDeepAnalysis>();
diff --git a/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseExtendService.java b/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseExtendService.java
index b6f25fb..d4e90be 100644
--- a/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseExtendService.java
+++ b/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseExtendService.java
@@ -57,27 +57,27 @@
 
 
 /**
- * 练习  实现service
+ * 缁冧範  瀹炵幇service
  * @author zhiyong
  *
  */
 @Service(value = "exerciseExtendService")
 public class ExerciseExtendService extends CommonAppService implements IExerciseExtendService {
-	/** 日志 */
+	/** 鏃ュ織 */
 	private static final Logger log = LogManager.getLogger(ExerciseExtendService.class);
 	
-	/** 练习接口service  */
+	/** 缁冧範鎺ュ彛service  */
 	@Autowired
 	private IExerciseVerService exerciseVerService;
 	
-	/** 做题记录id */
+	/** 鍋氶璁板綍id */
 	private static final String EXERCISE_RECORD_ID = "exerciseRecordId";
 	
-	/** 更新时间 */
+	/** 鏇存柊鏃堕棿 */
 	private static final String UPDATE_TIME = "updateTime";
 	
 	/**
-	 * 新增收藏book记录
+	 * 鏂板鏀惰棌book璁板綍
 	 * @param groupId
 	 * @return 
 	 */
@@ -96,7 +96,7 @@
 	}
 	
 	/**
-	 * 新增错题book记录
+	 * 鏂板閿欓book璁板綍
 	 * @param groupId
 	 * @return 
 	 */
@@ -114,7 +114,7 @@
 	}
 	
 	/**
-	 * 新增收藏记录
+	 * 鏂板鏀惰棌璁板綍
 	 * @param groupId
 	 * @return 
 	 */
@@ -131,7 +131,7 @@
 	}
 	
 	/**
-	 * 新增错题记录
+	 * 鏂板閿欓璁板綍
 	 * @param groupId
 	 * @return 
 	 */
@@ -149,30 +149,30 @@
 	
 	/** -------------------------APP--V2.0- start------------------------------------------- */
 	/**
-	 * 操作错题记录
+	 * 鎿嶄綔閿欓璁板綍
 	 */
 	public Map<String,Object> doOperExerciseFaultRecordData(String subjectId, ExciseExtendReqData recordResult) {
-		// 练习组id
+		// 缁冧範缁刬d
 		String exerciseGroupId = recordResult.getExerciseGroupId();
 		String exerciseGroupType = recordResult.getExerciseGroupType();
 		
-		// 1.操作练习总记录
+		// 1.鎿嶄綔缁冧範鎬昏褰�
 		ExerciseFaultBook resumeBook = doOperExerciseFaultBook(subjectId,recordResult);
 		String resumeBookId = resumeBook.getResumeBookId();
 		
-		// 2.操作练习记录
+		// 2.鎿嶄綔缁冧範璁板綍
 		ExerciseFaultRecord record = doOperExerciseFaultRecord(resumeBookId,
 				exerciseGroupId, exerciseGroupType, recordResult);
 		
 		String faultRecordId = record.getFaultRecordId();
 		
-		// 3.组装错题结果入库
+		// 3.缁勮閿欓缁撴灉鍏ュ簱
 		doOperFaultExerciseToDB(resumeBookId, faultRecordId, recordResult);
 		
-		// 4.重新计算做题记录正确个数 做题个数  正确率  错题本
+		// 4.閲嶆柊璁$畻鍋氶璁板綍姝g‘涓暟 鍋氶涓暟  姝g‘鐜�  閿欓鏈�
 		record = this.doCalcFaultExericseStatisBySubmitData(record,resumeBook,subjectId);
 		
-		// 5.返回结果
+		// 5.杩斿洖缁撴灉
 		Map<String,Object> map = new HashMap<String, Object>(3);
 		map.put(EXERCISE_RECORD_ID, faultRecordId);
 		map.put("exerciseGroupId", exerciseGroupId);
@@ -182,7 +182,7 @@
 	}
 	
 	/**
-	 * 重新计算错题record数据结果
+	 * 閲嶆柊璁$畻閿欓record鏁版嵁缁撴灉
 	 * @param record
 	 * @return
 	 */
@@ -202,14 +202,14 @@
 		
 		Object[] objs = lstFault.get(0);
 		
-		// 拆分子数据
+		// 鎷嗗垎瀛愭暟鎹�
 		packagingExerciseFaultRecordData(record, objs);
 		
-		if(record.getAllCount().compareTo(BigInteger.ZERO) == 0){// 全部删除后 数据清0
+		if(record.getAllCount().compareTo(BigInteger.ZERO) == 0){// 鍏ㄩ儴鍒犻櫎鍚� 鏁版嵁娓�0
 			record.setTitleMaxNumber("0");
 			record.setStatus("0");
 		}else if(StringUtils.isNotBlank(record.getTitleMaxNumber()) && 
-				record.getAllCount().compareTo(new BigInteger(record.getTitleMaxNumber())) < 0){// 总个数小于最大题号数
+				record.getAllCount().compareTo(new BigInteger(record.getTitleMaxNumber())) < 0){// 鎬讳釜鏁板皬浜庢渶澶ч鍙锋暟
 			record.setTitleMaxNumber(String.valueOf(record.getAllCount()));
 		}
 		TraceUtils.setUpdateTrace(record);
@@ -219,7 +219,7 @@
 	}
 	
 	/**
-	 * 重新计算错题record数据结果   拆分子数据
+	 * 閲嶆柊璁$畻閿欓record鏁版嵁缁撴灉   鎷嗗垎瀛愭暟鎹�
 	 * @param record
 	 * @param objs
 	 */
@@ -234,21 +234,21 @@
 	}
 	
 	/**
-	 * 重新计算做题记录总个数    错题本 正确个数 做题个数  正确率  错题本
+	 * 閲嶆柊璁$畻鍋氶璁板綍鎬讳釜鏁�    閿欓鏈� 姝g‘涓暟 鍋氶涓暟  姝g‘鐜�  閿欓鏈�
 	 * @return
 	 */
 	public ExerciseFaultRecord doCalcFaultExericseStatisBySubmitData(ExerciseFaultRecord record,
 			ExerciseFaultBook resumeBook, String subjectId){
-		// 1.计算做题总个数 record
+		// 1.璁$畻鍋氶鎬讳釜鏁� record
 		this.updateExerciseFaultRecordData(record);
 		
-		// 2.计算该班级的总个数
+		// 2.璁$畻璇ョ彮绾х殑鎬讳釜鏁�
 		this.updateExerciseFaultBookInfo(resumeBook);
-		if(resumeBook.getAllCount().compareTo(BigInteger.ZERO) == 0){// 全部删除后 数据清0
+		if(resumeBook.getAllCount().compareTo(BigInteger.ZERO) == 0){// 鍏ㄩ儴鍒犻櫎鍚� 鏁版嵁娓�0
 			resumeBook.setTitleMaxNumber("0");
 			resumeBook.setStatus("0");
 		}else if(StringUtils.isNotBlank(resumeBook.getTitleMaxNumber()) && 
-				resumeBook.getAllCount().compareTo(new BigInteger(resumeBook.getTitleMaxNumber())) < 0){// 总个数小于最大题号数
+				resumeBook.getAllCount().compareTo(new BigInteger(resumeBook.getTitleMaxNumber())) < 0){// 鎬讳釜鏁板皬浜庢渶澶ч鍙锋暟
 			resumeBook.setTitleMaxNumber(String.valueOf(resumeBook.getAllCount()));
 		}
 		TraceUtils.setUpdateTrace(resumeBook);
@@ -258,7 +258,7 @@
 	}
 	
 	/**
-	 * 组装错题结果入库
+	 * 缁勮閿欓缁撴灉鍏ュ簱
 	 * @param resumeBookId
 	 * @param faultRecordId
 	 * @param recordResult
@@ -275,7 +275,7 @@
 		argsMap.put("exerciseIds", args);
 		argsMap.put("resumeBookId", resumeBookId);
 		
-		//  查询此用户是否有错题记录
+		//  鏌ヨ姝ょ敤鎴锋槸鍚︽湁閿欓璁板綍
 		String hql = "from ExerciseFault where exerciseItemId in (:exerciseIds) and resumeBookId=:resumeBookId and deleteFlag is false ";
 		List<ExerciseFault> lstExistfavor = this.findByComplexHql(hql, argsMap, ExerciseFault.class);
 		
@@ -287,18 +287,18 @@
 		List<ExerciseFault> lstFault = new ArrayList<ExerciseFault>(recordResult.getItems().size());
 		ExerciseFault fault=null;
 		
-		// 循环每一条记录
-		// 判断客户端提交的数据是否重复map
+		// 寰幆姣忎竴鏉¤褰�
+		// 鍒ゆ柇瀹㈡埛绔彁浜ょ殑鏁版嵁鏄惁閲嶅map
 		Map<String,Object> repeatMap = new HashMap<String,Object>(lstItems.size());
 		
 		for(ExerciseExtendRecordData record:lstItems){
 				if(repeatMap.get(record.getExerciseId()) != null && 
-						(boolean)repeatMap.get(record.getExerciseId()) == record.getFlag()){//重复数据
+						(boolean)repeatMap.get(record.getExerciseId()) == record.getFlag()){//閲嶅鏁版嵁
 					continue;
 				}
 			
 				fault=faultMap.get(record.getExerciseId());
-				if(record.getFlag()){//添加错题
+				if(record.getFlag()){//娣诲姞閿欓
 					if(fault == null){
 						fault = new ExerciseFault();
 						fault.setFaultRecordId(faultRecordId);
@@ -306,7 +306,7 @@
 						fault.setExerciseItemId(record.getExerciseId());
 						fault.setDeleteFlag(false);
 						TraceUtils.setCreateTrace(fault);
-					}else{// 原来已经删除  恢复
+					}else{// 鍘熸潵宸茬粡鍒犻櫎  鎭㈠
 						if(fault.getDeleteFlag()){
 							fault.setDeleteFlag(false);
 							fault.setAnswer(null);
@@ -317,7 +317,7 @@
 						}
 					}
 					
-				}else{// 删除错题
+				}else{// 鍒犻櫎閿欓
 					if(fault == null){
 						continue;
 					}
@@ -331,8 +331,8 @@
 				repeatMap.put(record.getExerciseId(), record.getFlag());
 		}
 		
-		// 2.记录错题itemList
-		// 批量增加
+		// 2.璁板綍閿欓itemList
+		// 鎵归噺澧炲姞
 		this.saveOrUpdateAll(lstFault);
 		this.flush();
 		
@@ -340,19 +340,19 @@
 	}
 	
 	/**
-	 * 操作练习记录
+	 * 鎿嶄綔缁冧範璁板綍
 	 * @param subjectId
 	 * @return
 	 */
 	public ExerciseFaultRecord doOperExerciseFaultRecord(String resumeBookId,String exerciseGroupId,
 			String exerciseGroupType, ExciseExtendReqData recordResult){
-		// 错题记录 当前组
+		// 閿欓璁板綍 褰撳墠缁�
 		String hql = "from ExerciseFaultRecord where resumeBookId=? and exerciseGroupId=? and deleteFlag is false ";
 		
 		ExerciseFaultRecord record = this.findUnique(hql, 
 				CollectionUtils.newList(resumeBookId, exerciseGroupId), ExerciseFaultRecord.class);
 		
-		if(null == record){// 记录不存在
+		if(null == record){// 璁板綍涓嶅瓨鍦�
 			
 			record = new ExerciseFaultRecord();
 			record.setResumeBookId(resumeBookId);
@@ -370,7 +370,7 @@
 	
 	
 	/**
-	 * 操作练习记录
+	 * 鎿嶄綔缁冧範璁板綍
 	 * @param subjectId
 	 * @return
 	 */
@@ -380,27 +380,27 @@
 		
 		List<Object> args = CollectionUtils.newList(ClientUtils.getClassId(), 
 					ClientUtils.getUserId());
-		if(StringUtils.isNotBlank(subjectId)){// 高校
+		if(StringUtils.isNotBlank(subjectId)){// 楂樻牎
 			hql.append(" and subjectId=? ");
 			 args.add(subjectId);
 		}
 		
-		//  查询此用户是否有错题记录
+		//  鏌ヨ姝ょ敤鎴锋槸鍚︽湁閿欓璁板綍
 		List<ExerciseFaultBook> lstFault = this.find(hql.toString(), args, ExerciseFaultBook.class);
 		
 		ExerciseFaultBook book = null;
 		String hql_book;
-		if(lstFault.isEmpty()){// 记录为空
+		if(lstFault.isEmpty()){// 璁板綍涓虹┖
 			
-			if(StringUtils.isNotBlank(subjectId)){// 高校
+			if(StringUtils.isNotBlank(subjectId)){// 楂樻牎
 				
-				// 先查询上级记录是否存在
+				// 鍏堟煡璇笂绾ц褰曟槸鍚﹀瓨鍦�
 				hql_book = "from ExerciseFaultBook where classId=? and userId=? and deleteFlag is false ";
 				
 				lstFault = this.find(hql_book, CollectionUtils.newList(ClientUtils.getClassId(), 
 						ClientUtils.getUserId()), ExerciseFaultBook.class);
 				
-				if(lstFault.isEmpty()){//班级记录不存在
+				if(lstFault.isEmpty()){//鐝骇璁板綍涓嶅瓨鍦�
 					book = this.insertExerciseFaultBookNew(ExerciseFaultBook.TYPE_ORGANIZATION, null);
 				}
 				
@@ -420,7 +420,7 @@
 	
 	
 	/**
-	 * 新增错题book记录
+	 * 鏂板閿欓book璁板綍
 	 * @param groupId
 	 * @return 
 	 */
@@ -443,7 +443,7 @@
 	}
 	
 	/**
-	 * 更新错题book记录
+	 * 鏇存柊閿欓book璁板綍
 	 * @param groupId
 	 * @return 
 	 */
@@ -458,30 +458,30 @@
 	
 	
 	/**
-	 * 操作错题记录
+	 * 鎿嶄綔閿欓璁板綍
 	 */
 	public Map<String,Object> doOperExerciseFavorRecordData(String subjectId, ExciseExtendReqData recordResult) {
-		// 练习组id
+		// 缁冧範缁刬d
 		String exerciseGroupId = recordResult.getExerciseGroupId();
 		String exerciseGroupType = recordResult.getExerciseGroupType();
 		
-		// 1.操作练习总记录
+		// 1.鎿嶄綔缁冧範鎬昏褰�
 		ExerciseFavoriteBook  favorBook = doOperExerciseFavoriteBook(subjectId, recordResult);
 		String favoriteBookId = favorBook.getFavoriteBookId();
 		
-		// 2.操作练习记录
+		// 2.鎿嶄綔缁冧範璁板綍
 		ExerciseFavoriteRecord record = doOperExerciseFavorRecord(favoriteBookId,
 				exerciseGroupId, exerciseGroupType,recordResult);
 		String favoriteRecordId = record.getFavoriteRecordId();
 		
-		// 3.组装错题结果入库
+		// 3.缁勮閿欓缁撴灉鍏ュ簱
 		doOperFavorExerciseToDB(favoriteBookId, favoriteRecordId, recordResult);
 		
 		
-		// 4. 重新计算做题记录总个数  收藏
+		// 4. 閲嶆柊璁$畻鍋氶璁板綍鎬讳釜鏁�  鏀惰棌
 		record = this.doCalcFavorExericseStatisBySubmitData(record, favorBook, subjectId);
 		
-		// 5.返回结果
+		// 5.杩斿洖缁撴灉
 		Map<String,Object> map = new HashMap<String, Object>(3);
 		map.put(EXERCISE_RECORD_ID, favoriteRecordId);
 		map.put("exerciseGroupId", exerciseGroupId);
@@ -491,7 +491,7 @@
 	}
 	
 	/**
-	 * 更新ExerciseFavoriteRecord数据
+	 * 鏇存柊ExerciseFavoriteRecord鏁版嵁
 	 * @param record
 	 * @return
 	 */
@@ -511,14 +511,14 @@
 		
 		Object[] objs = lstFault.get(0);
 		
-		//  拆分子数据
+		//  鎷嗗垎瀛愭暟鎹�
 		packagingExerciseFavoriteRecordData(record, objs);
 		
-		if(record.getAllCount().compareTo(BigInteger.ZERO) == 0){// 全部删除后 数据清0
+		if(record.getAllCount().compareTo(BigInteger.ZERO) == 0){// 鍏ㄩ儴鍒犻櫎鍚� 鏁版嵁娓�0
 			record.setTitleMaxNumber("0");
 			record.setStatus("0");
 		}else if(StringUtils.isNotBlank(record.getTitleMaxNumber()) && 
-				record.getAllCount().compareTo(new BigInteger(record.getTitleMaxNumber())) < 0){// 总个数小于最大题号数
+				record.getAllCount().compareTo(new BigInteger(record.getTitleMaxNumber())) < 0){// 鎬讳釜鏁板皬浜庢渶澶ч鍙锋暟
 			record.setTitleMaxNumber(String.valueOf(record.getAllCount()));
 		}
 		TraceUtils.setUpdateTrace(record);
@@ -528,7 +528,7 @@
 	}
 	
 	/**
-	 * 拆分子数据
+	 * 鎷嗗垎瀛愭暟鎹�
 	 * @param record
 	 * @param objs
 	 */
@@ -543,23 +543,23 @@
 	}
 	
 	/**
-	 * 重新计算做题记录总个数  收藏
+	 * 閲嶆柊璁$畻鍋氶璁板綍鎬讳釜鏁�  鏀惰棌
 	 * @param exerciseGroupId
 	 * @param exerciseRecordId
 	 * @return
 	 */
 	public ExerciseFavoriteRecord doCalcFavorExericseStatisBySubmitData(ExerciseFavoriteRecord record,
 			ExerciseFavoriteBook favorBook,String subjectId){
-		// 1.计算做题总个数 record
+		// 1.璁$畻鍋氶鎬讳釜鏁� record
 		this.updateExerciseFavoriteRecordData(record);
 				
-		// 2.计算该班级的总个数
+		// 2.璁$畻璇ョ彮绾х殑鎬讳釜鏁�
 		this.updateExerciseFavorBookInfo(favorBook);
-		if(favorBook.getAllCount().compareTo(BigInteger.ZERO) == 0){// 全部删除后 数据清0
+		if(favorBook.getAllCount().compareTo(BigInteger.ZERO) == 0){// 鍏ㄩ儴鍒犻櫎鍚� 鏁版嵁娓�0
 			favorBook.setTitleMaxNumber("0");
 			favorBook.setStatus("0");
 		}else if(StringUtils.isNotBlank(favorBook.getTitleMaxNumber()) 
-				&& favorBook.getAllCount().compareTo(new BigInteger(favorBook.getTitleMaxNumber())) < 0){// 总个数小于最大题号数
+				&& favorBook.getAllCount().compareTo(new BigInteger(favorBook.getTitleMaxNumber())) < 0){// 鎬讳釜鏁板皬浜庢渶澶ч鍙锋暟
 			favorBook.setTitleMaxNumber(String.valueOf(favorBook.getAllCount()));
 		}
 		TraceUtils.setUpdateTrace(favorBook);
@@ -569,7 +569,7 @@
 	}
 	
 	/**
-	 * 组装错题结果入库
+	 * 缁勮閿欓缁撴灉鍏ュ簱
 	 * @param resumeBookId
 	 * @param faultRecordId
 	 * @param recordResult
@@ -585,7 +585,7 @@
 		argsMap.put("exerciseIds", args);
 		argsMap.put("favoriteRecordId", favoriteRecordId);
 		
-		//  查询此用户是否有收藏记录
+		//  鏌ヨ姝ょ敤鎴锋槸鍚︽湁鏀惰棌璁板綍
 		String hql = "from ExerciseFavorite where exerciseItemId in (:exerciseIds) and favoriteRecordId=:favoriteRecordId and deleteFlag is false";
 		List<ExerciseFavorite>  lstExistfavor =  this.findByComplexHql(hql, argsMap, ExerciseFavorite.class);
 		Map<String, ExerciseFavorite> favorMap = new HashMap<String, ExerciseFavorite>();
@@ -595,18 +595,18 @@
 		
 		List<ExerciseFavorite> lstFavor= new ArrayList<ExerciseFavorite>();
 		ExerciseFavorite favor=null;
-		// 循环每一条记录
-		// 判断客户端提交的数据是否重复map
+		// 寰幆姣忎竴鏉¤褰�
+		// 鍒ゆ柇瀹㈡埛绔彁浜ょ殑鏁版嵁鏄惁閲嶅map
 		Map<String,Object> repeatMap = new HashMap<String,Object>(lstItems.size());
 		
 		for(ExerciseExtendRecordData record:lstItems){
 			if(repeatMap.get(record.getExerciseId()) != null && 
-					(boolean)repeatMap.get(record.getExerciseId()) == record.getFlag()){//重复数据
+					(boolean)repeatMap.get(record.getExerciseId()) == record.getFlag()){//閲嶅鏁版嵁
 				continue;
 			}
 				
 			favor = favorMap.get(record.getExerciseId());
-			if(record.getFlag()){//添加收藏记录
+			if(record.getFlag()){//娣诲姞鏀惰棌璁板綍
 				if(favor == null){
 					favor = new ExerciseFavorite();
 					favor.setFavoriteBookId(favoriteBookId);
@@ -614,7 +614,7 @@
 					favor.setExerciseItemId(record.getExerciseId());
 					TraceUtils.setCreateTrace(favor);
 					favor.setDeleteFlag(false);
-				}else{//原来已经删除 现在恢复
+				}else{//鍘熸潵宸茬粡鍒犻櫎 鐜板湪鎭㈠
 					if(favor.getDeleteFlag()){
 						favor.setAnswer(null);
 						favor.setCorrect(Byte.valueOf("0"));
@@ -625,7 +625,7 @@
 					}
 				}
 				
-			}else{// 删除收藏
+			}else{// 鍒犻櫎鏀惰棌
 				if(favor == null){
 					continue;
 				}
@@ -640,27 +640,27 @@
 			repeatMap.put(record.getExerciseId(), record.getFlag());
 		}
 		
-		// 2.记录收藏itemList
-		// 批量增加或者更新
+		// 2.璁板綍鏀惰棌itemList
+		// 鎵归噺澧炲姞鎴栬�呮洿鏂�
 		this.saveOrUpdateAll(lstFavor);
 		this.flush();
 		
 		return new Result(true);
 	}
 	/**
-	 * 操作练习记录
+	 * 鎿嶄綔缁冧範璁板綍
 	 * @param subjectId
 	 * @return
 	 */
 	public ExerciseFavoriteRecord doOperExerciseFavorRecord(String favoriteBookId,String exerciseGroupId,
 			String exerciseGroupType,ExciseExtendReqData recordResult){
-		// 错题记录 当前组
+		// 閿欓璁板綍 褰撳墠缁�
 		String hql = "from ExerciseFavoriteRecord where favoriteBookId=? and exerciseGroupId=? and deleteFlag is false ";
 		
 		ExerciseFavoriteRecord record = this.findUnique(hql, 
 				CollectionUtils.newList(favoriteBookId, exerciseGroupId), ExerciseFavoriteRecord.class);
 		
-		if(null == record){// 记录不存在
+		if(null == record){// 璁板綍涓嶅瓨鍦�
 			
 			record = new ExerciseFavoriteRecord();
 			record.setFavoriteBookId(favoriteBookId);
@@ -677,7 +677,7 @@
 	
 	
 	/**
-	 * 操作练习记录
+	 * 鎿嶄綔缁冧範璁板綍
 	 * @param subjectId
 	 * @return
 	 */
@@ -687,27 +687,27 @@
 		
 		List<Object> args = CollectionUtils.newList(ClientUtils.getClassId(), 
 					ClientUtils.getUserId());
-		if(StringUtils.isNotBlank(subjectId)){// 高校
+		if(StringUtils.isNotBlank(subjectId)){// 楂樻牎
 			hql.append(" and subjectId=? ");
 			args.add(subjectId);
 		}
 		
-		//  查询此用户是否有错题记录
+		//  鏌ヨ姝ょ敤鎴锋槸鍚︽湁閿欓璁板綍
 		List<ExerciseFavoriteBook> lstFavor = this.find(hql.toString(), args, ExerciseFavoriteBook.class);
 		
 		ExerciseFavoriteBook book = null;
 		String hql_book;
-		if(lstFavor.isEmpty()){// 记录为空
+		if(lstFavor.isEmpty()){// 璁板綍涓虹┖
 			
-			if(StringUtils.isNotBlank(subjectId)){// 高校
+			if(StringUtils.isNotBlank(subjectId)){// 楂樻牎
 				
-				// 先查询上级记录是否存在
+				// 鍏堟煡璇笂绾ц褰曟槸鍚﹀瓨鍦�
 				hql_book = "from ExerciseFavoriteBook where classId=? and userId=? and deleteFlag is false ";
 				
 				lstFavor = this.find(hql_book, CollectionUtils.newList(ClientUtils.getClassId(), 
 						ClientUtils.getUserId()), ExerciseFavoriteBook.class);
 				
-				if(lstFavor.isEmpty()){//班级记录不存在
+				if(lstFavor.isEmpty()){//鐝骇璁板綍涓嶅瓨鍦�
 					book = this.insertExerciseFavorBookNew(ExerciseFavoriteBook.TYPE_ORGANIZATION, null);
 				}else{
 					book = lstFavor.get(0);
@@ -727,7 +727,7 @@
 	}
 	
 	/**
-	 * 新增错题book记录
+	 * 鏂板閿欓book璁板綍
 	 * @param groupId
 	 * @return 
 	 */
@@ -741,7 +741,7 @@
 	}
 	
 	/**
-	 * 新增错题book记录
+	 * 鏂板閿欓book璁板綍
 	 * @param groupId
 	 * @return 
 	 */
@@ -763,15 +763,15 @@
 	}
 	
 	/**
-	 * 错题本提交答案
+	 * 閿欓鏈彁浜ょ瓟妗�
 	 */
 	@Override
 	public Map<String,Object> doSubmitExerFaultAnswerDataNew(ExerciseSubmitAnswerData clientAnswerResult) {
 		
-		// 0.重新整理答题数据
+		// 0.閲嶆柊鏁寸悊绛旈鏁版嵁
 		ExerciseSubmitAnswerData answerResult = exerciseVerService.getExerciseSubmitAnswerDataNew(clientAnswerResult);
 		
-		// 1.更新错题记录
+		// 1.鏇存柊閿欓璁板綍
 		ExerciseFaultRecord record = this.doOperExerFaultRecord(answerResult);
 		
 		if(null == record){
@@ -780,7 +780,7 @@
 		
 		String faultRecordId = record.getFaultRecordId();
 		
-		// 返回结果
+		// 杩斿洖缁撴灉
 		Map<String,Object> map = new HashMap<String, Object>(3);
 		map.put(EXERCISE_RECORD_ID, faultRecordId);
 		map.put("exerciseGroupId", record.getExerciseGroupId());
@@ -790,16 +790,16 @@
 		map.put("doCount", answerResult.getDoCount());
 				
 		if(answerResult.getItems().isEmpty() 
-				&& answerResult.getSubmitType() != 1){//  submitType:1表示本地无网情况下重新做题过
+				&& answerResult.getSubmitType() != 1){//  submitType:1琛ㄧず鏈湴鏃犵綉鎯呭喌涓嬮噸鏂板仛棰樿繃
 			return map;
 		}
 		
-		// 2.判断是否本地重新做过 submitType:1表示本地无网情况下重新做题过
+		// 2.鍒ゆ柇鏄惁鏈湴閲嶆柊鍋氳繃 submitType:1琛ㄧず鏈湴鏃犵綉鎯呭喌涓嬮噸鏂板仛棰樿繃
 		if(1 == answerResult.getSubmitType()){
 			doOperExerciseFaultRecordByRedo(faultRecordId);
 		}
 		
-		// 2.更新答案
+		// 2.鏇存柊绛旀
 		answerResult.setExerciseRecordId(faultRecordId);
 		Result result = this.doUpdateExerFaultAnswerData(answerResult);
 		
@@ -807,14 +807,14 @@
 			return null;
 		}
 		
-		// 3.重新计算做题记录正确个数 做题个数  正确率
+		// 3.閲嶆柊璁$畻鍋氶璁板綍姝g‘涓暟 鍋氶涓暟  姝g‘鐜�
 		this.updateExerciseFaultRecordData(record);
 		
 		return map;
 	}
 	
 	/**
-	 * 更新错题记录
+	 * 鏇存柊閿欓璁板綍
 	 * @param answerResult
 	 * @return 
 	 */
@@ -822,11 +822,11 @@
 		
 		ExerciseFaultRecord record = null;
 		String exerciseRecordId = answerResult.getExerciseRecordId();
-		if(StringUtils.isNotBlank(exerciseRecordId)){// 正常做题
+		if(StringUtils.isNotBlank(exerciseRecordId)){// 姝e父鍋氶
 			
 			record = this.read(ExerciseFaultRecord.class, answerResult.getExerciseRecordId());
 			
-		}else{// 无网情况下
+		}else{// 鏃犵綉鎯呭喌涓�
 			String hql = "from ExerciseFaultRecord r where r.deleteFlag is false and "
 					+ "r.faultBook.userId=? and r.faultBook.classId=? and r.exerciseGroupId=?";
 			
@@ -839,9 +839,9 @@
 		}
 		
 		if(answerResult.getItems().isEmpty() 
-				&& ExerciseRecord.STATUS_SUBMIT.equals(answerResult.getStatus())){//仅仅交卷
+				&& ExerciseRecord.STATUS_SUBMIT.equals(answerResult.getStatus())){//浠呬粎浜ゅ嵎
 			record.setStatus(answerResult.getStatus());
-			// 更新答案时间
+			// 鏇存柊绛旀鏃堕棿
 			record.setAnswerUpdateTime(new Date(System.currentTimeMillis()));
 			
 			this.save(record);
@@ -850,14 +850,14 @@
 		}
 		
 		
-		// 计算
-//		if(!"1".equals(record.getStatus())){// 非提交的就更新  
+		// 璁$畻
+//		if(!"1".equals(record.getStatus())){// 闈炴彁浜ょ殑灏辨洿鏂�  
 //		}
 		record.setStatus(StringUtils.isBlank(answerResult.getStatus()) ? "0" : answerResult.getStatus());
 		if(!"0".equals(answerResult.getCurrTitleNum())){
 			record.setTitleMaxNumber(StringUtils.isBlank(answerResult.getCurrTitleNum()) ? "0" : answerResult.getCurrTitleNum());
 		}
-		// 更新答案时间
+		// 鏇存柊绛旀鏃堕棿
 		record.setAnswerUpdateTime(new Date(System.currentTimeMillis()));
 		
 		this.save(record);
@@ -866,7 +866,7 @@
 	}
 	
 	/**
-	 *提交 错题结果到db
+	 *鎻愪氦 閿欓缁撴灉鍒癲b
 	 * @return
 	 */
 	public Result doUpdateExerFaultAnswerData(ExerciseSubmitAnswerData answerResult) {
@@ -875,10 +875,10 @@
 			return new Result(true);
 		}
 		
-		// 批量更新答案
+		// 鎵归噺鏇存柊绛旀
 		List<ExerciseFault> lstResultFault =new ArrayList<ExerciseFault>(lstAnswers.size());
 		
-		// 2.1.组装参数 用于查询练习选项图片
+		// 2.1.缁勮鍙傛暟 鐢ㄤ簬鏌ヨ缁冧範閫夐」鍥剧墖
 		Map<String, Object> argsMap = new HashMap<String, Object>(2);
 		Object[] args = new Object[lstAnswers.size()];
 		for(int i=0; i<lstAnswers.size(); i++){
@@ -890,7 +890,7 @@
 		String hql = "from ExerciseFault where deleteFlag is false and exerciseItemId in (:exerciseIds) and faultRecordId =:exerciseRecordId ";
 		List<ExerciseFault> lstFault = this.findByComplexHql(hql, argsMap, ExerciseFault.class);
 		
-		// 按练习id 对应放到map中
+		// 鎸夌粌涔爄d 瀵瑰簲鏀惧埌map涓�
 		Map<String, ExerciseFault> faultMap = new HashMap<String, ExerciseFault>(lstFault.size());
 		for(ExerciseFault fault:lstFault){
 			faultMap.put(fault.getExerciseItemId(), fault);
@@ -902,7 +902,7 @@
 			if(null == fault){
 				continue;
 			}
-			if(StringUtils.isBlank(answer.getAnswer())){// 答案为空
+			if(StringUtils.isBlank(answer.getAnswer())){// 绛旀涓虹┖
 				continue;
 			}
 			
@@ -912,7 +912,7 @@
 			lstResultFault.add(fault);
 		}
 		
-		// 1.保存 错题 收集lst
+		// 1.淇濆瓨 閿欓 鏀堕泦lst
 		this.saveOrUpdateAll(lstResultFault);
 		this.flush();
 		
@@ -920,38 +920,38 @@
 	}
 	
 	/**
-	 *  收藏本提交答案
+	 *  鏀惰棌鏈彁浜ょ瓟妗�
 	 */
 	@Override
 	public Map<String,Object> doSubmitExerFavorAnswerDataNew(ExerciseSubmitAnswerData clientAnswerResult) {
 		
-		// 0.重新整理答题数据
+		// 0.閲嶆柊鏁寸悊绛旈鏁版嵁
 		ExerciseSubmitAnswerData answerResult = exerciseVerService.getExerciseSubmitAnswerDataNew(clientAnswerResult);
 		
-		// 1.更新错题记录
+		// 1.鏇存柊閿欓璁板綍
 		ExerciseFavoriteRecord record = doOperExerFavorRecord(answerResult);
 		if(null == record){
 			return null;
 		}
 		String favoriteRecordId = record.getFavoriteRecordId();
 		
-		// 返回结果
+		// 杩斿洖缁撴灉
 		Map<String,Object> map = new HashMap<String, Object>(3);
 		map.put(EXERCISE_RECORD_ID, favoriteRecordId);
 		map.put("exerciseGroupId", record.getExerciseGroupId());
 		map.put(UPDATE_TIME,   DateTimeUtils.getCurrDateTime(record.getAnswerUpdateTime()));
 		map.put("exerciseBookId", record.getFavoriteBookId());
 		
-		if(answerResult.getItems().isEmpty() && answerResult.getSubmitType() != 1){//仅仅交卷
+		if(answerResult.getItems().isEmpty() && answerResult.getSubmitType() != 1){//浠呬粎浜ゅ嵎
 			return map;
 		}
 		
-		// 2.判断是否本地重新做过 submitType:1表示本地无网情况下重新做题过
+		// 2.鍒ゆ柇鏄惁鏈湴閲嶆柊鍋氳繃 submitType:1琛ㄧず鏈湴鏃犵綉鎯呭喌涓嬮噸鏂板仛棰樿繃
 		if(1 == answerResult.getSubmitType()){
 			doOperExerciseFavorRecordByRedo(favoriteRecordId);
 		}
 				
-		// 2.更新答案
+		// 2.鏇存柊绛旀
 		answerResult.setExerciseRecordId(favoriteRecordId);
 		Result result = doUpdateExerFavorAnswerData(answerResult);
 		
@@ -959,14 +959,14 @@
 			return null;
 		}
 		
-		//  3.重新计算做题记录正确个数 做题个数  正确率  收藏
+		//  3.閲嶆柊璁$畻鍋氶璁板綍姝g‘涓暟 鍋氶涓暟  姝g‘鐜�  鏀惰棌
 		this.updateExerciseFavoriteRecordData(record);
 		
 		return map;
 	}
 	
 	/**
-	 * 更新错题记录
+	 * 鏇存柊閿欓璁板綍
 	 * @param answerResult
 	 * @return 
 	 */
@@ -974,11 +974,11 @@
 		
 		ExerciseFavoriteRecord record = null;
 		String exerciseRecordId = answerResult.getExerciseRecordId();
-		if(StringUtils.isNotBlank(exerciseRecordId)){// 正常做题
+		if(StringUtils.isNotBlank(exerciseRecordId)){// 姝e父鍋氶
 			
 			record = this.read(ExerciseFavoriteRecord.class, exerciseRecordId);
 			
-		}else{// 无网情况下
+		}else{// 鏃犵綉鎯呭喌涓�
 			String hql = "from ExerciseFavoriteRecord r where r.deleteFlag is false "
 					+ " and r.favorBook.userId=? and r.favorBook.classId=? and r.exerciseGroupId=?";
 			
@@ -991,9 +991,9 @@
 		}
 		
 		if(answerResult.getItems().isEmpty() 
-				&& ExerciseRecord.STATUS_SUBMIT.equals(answerResult.getStatus())){//仅仅交卷
+				&& ExerciseRecord.STATUS_SUBMIT.equals(answerResult.getStatus())){//浠呬粎浜ゅ嵎
 			record.setStatus(answerResult.getStatus());
-			// 更新答案时间
+			// 鏇存柊绛旀鏃堕棿
 			record.setAnswerUpdateTime(new Date(System.currentTimeMillis()));
 			
 			this.save(record);
@@ -1001,15 +1001,15 @@
 			return record;
 		}
 		
-//		// 计算
-//		if(!"1".equals(record.getStatus())){// 非提交的就更新
+//		// 璁$畻
+//		if(!"1".equals(record.getStatus())){// 闈炴彁浜ょ殑灏辨洿鏂�
 //		}
 		record.setStatus(answerResult.getStatus());
 		if(!"0".equals(answerResult.getCurrTitleNum())){
 			record.setTitleMaxNumber(answerResult.getCurrTitleNum());
 		}
 		
-		// 更新答案时间
+		// 鏇存柊绛旀鏃堕棿
 		record.setAnswerUpdateTime(new Date(System.currentTimeMillis()));
 		
 		this.save(record);
@@ -1019,7 +1019,7 @@
 	
 	
 	/**
-	 *提交 错题结果到db
+	 *鎻愪氦 閿欓缁撴灉鍒癲b
 	 * @return
 	 */
 	public Result doUpdateExerFavorAnswerData(ExerciseSubmitAnswerData answerResult) {
@@ -1028,10 +1028,10 @@
 		if(lstAnswers.isEmpty()){
 			return new Result(true);
 		}
-		// 批量更新答案
+		// 鎵归噺鏇存柊绛旀
 		List<ExerciseFavorite> lstResultFavor =new ArrayList<ExerciseFavorite>(lstAnswers.size());
 		
-		// 2.1.组装参数 用于查询练习选项图片
+		// 2.1.缁勮鍙傛暟 鐢ㄤ簬鏌ヨ缁冧範閫夐」鍥剧墖
 		Map<String, Object> argsMap = new HashMap<String, Object>(2);
 		Map<String, Object> exerItemIdMap = new HashMap<String, Object>(1);
 		Object[] args = new Object[lstAnswers.size()];
@@ -1045,7 +1045,7 @@
 		String hql = "from ExerciseFavorite where deleteFlag is false and exerciseItemId in (:exerciseIds) and favoriteRecordId =:exerciseRecordId ";
 		List<ExerciseFavorite> lstFavor = this.findByComplexHql(hql, argsMap, ExerciseFavorite.class);
 		
-		// 按练习id 对应放到map中
+		// 鎸夌粌涔爄d 瀵瑰簲鏀惧埌map涓�
 		Map<String, ExerciseFavorite> favorMap = new HashMap<String, ExerciseFavorite>(lstFavor.size());
 		for(ExerciseFavorite favor:lstFavor){
 			favorMap.put(favor.getExerciseItemId(), favor);
@@ -1057,7 +1057,7 @@
 			if(null == favor){
 				continue;
 			}
-			if(StringUtils.isBlank(answer.getAnswer())){// 答案为空
+			if(StringUtils.isBlank(answer.getAnswer())){// 绛旀涓虹┖
 				continue;
 			}
 			favor.setAnswer(answer.getAnswer());
@@ -1073,7 +1073,7 @@
 	}
 	
 	/**
-	 * 查询错题本列表数据
+	 * 鏌ヨ閿欓鏈垪琛ㄦ暟鎹�
 	 * @param exerType
 	 * @param subjectId
 	 * @param pager
@@ -1083,7 +1083,7 @@
 	public List<ExerGroupResponseData> queryExerciseFaultListData(
 			int exerType, String subjectId, Pager pager) {
 		StringBuffer hql = new StringBuffer(512);
-		//  1.查询分组列表
+		//  1.鏌ヨ鍒嗙粍鍒楄〃
 		hql.append("select r,g from ExerciseFaultRecord r, ExerciseFaultBook b, ExerciseGroup g "
 				+ " where r.resumeBookId=b.resumeBookId "
 				+ " and r.exerciseGroupId=g.groupId "
@@ -1092,18 +1092,18 @@
 				+ "	and b.userId=?  and r.allCount>0 ");
 		
 		List<Object> args = CollectionUtils.newList(ClientUtils.getUserId());
-		if(exerType != 0){ //表示查询全部错题
+		if(exerType != 0){ //琛ㄧず鏌ヨ鍏ㄩ儴閿欓
 			hql.append(" and r.exerciseGroupType=?");
 			args.add((short)exerType);
 		}
 				
-		if(StringUtils.isNotBlank(subjectId)){// 高校  通过课程过滤
+		if(StringUtils.isNotBlank(subjectId)){// 楂樻牎  閫氳繃璇剧▼杩囨护
 			
 			hql.append(" and b.type=? and b.subjectId=? and g.subjectId=? ");
 			args.add(ExerciseFaultBook.TYPE_COLLEGE);
 			args.add(subjectId);
 			args.add(subjectId);
-		}else{// 非高校
+		}else{// 闈為珮鏍�
 			
 			hql.append(" and b.type=? and b.classId=? and g.classId=?");
 			args.add(ExerciseFaultBook.TYPE_ORGANIZATION);
@@ -1112,14 +1112,14 @@
 		}
 		hql.append(" order by r.updateTime desc ");
 		
-		// 根据结构查询得到所需记录
+		// 鏍规嵁缁撴瀯鏌ヨ寰楀埌鎵�闇�璁板綍
 		List<Object[]> lstRecord = this.findList(hql.toString(), pager, args, Object[].class);
 		
-		if(lstRecord.isEmpty()){// 查询结果记录为空
+		if(lstRecord.isEmpty()){// 鏌ヨ缁撴灉璁板綍涓虹┖
 			return null;
 		}
 		
-		// 3.组装参数
+		// 3.缁勮鍙傛暟
 		Object[] argss = new Object[lstRecord.size()];
 		ExerciseGroup groupp=null;
 		for(int i=0; i<lstRecord.size(); i++){
@@ -1127,15 +1127,15 @@
 			argss[i] = groupp.getGroupId();
 		}
 		
-		// 获取个人用户组对应的收藏记录 题目更新时间
+		// 鑾峰彇涓汉鐢ㄦ埛缁勫搴旂殑鏀惰棌璁板綍 棰樼洰鏇存柊鏃堕棿
 		Map<String, Map<String, Object>> favorMap = this.queryFavorRecordByGroup(subjectId, argss);
 				
-		// 结果返回参数
+		// 缁撴灉杩斿洖鍙傛暟
 		List<ExerGroupResponseData> lstResult = new ArrayList<ExerGroupResponseData>(lstRecord.size());
 		
 		for(Object[] objs:lstRecord){
 			
-			// 组装练习错题本列表数据
+			// 缁勮缁冧範閿欓鏈垪琛ㄦ暟鎹�
 			lstResult.add(packagingExerciseFaultListData(
 					favorMap, objs));
 		}
@@ -1144,7 +1144,7 @@
 	}
 
 	/**
-	 * 组装练习错题本列表数据
+	 * 缁勮缁冧範閿欓鏈垪琛ㄦ暟鎹�
 	 * @param favorMap
 	 * @param objs
 	 * @return
@@ -1156,7 +1156,7 @@
 		
 		ExerGroupResponseData resultObj = new ExerGroupResponseData();
 		
-		// 拆分方法
+		// 鎷嗗垎鏂规硶
 		packagingExerciseFaultListChildData(record, resultObj);
 		
 		resultObj.setExtendAllCount(record.getAllCount()==null ? BigInteger.ZERO  : record.getAllCount());
@@ -1170,7 +1170,7 @@
 		resultObj.setFaultUpdateTime(record.getUpdateTime());
 		resultObj.setFaultCount(resultObj.getAllCount());
 		if(favorMap != null && favorMap.get(group.getGroupId()) != null){
-			resultObj.setFavorUpdateTime((Timestamp)favorMap.get(group.getGroupId()).get(UPDATE_TIME));//设置收藏本题目更新时间
+			resultObj.setFavorUpdateTime((Timestamp)favorMap.get(group.getGroupId()).get(UPDATE_TIME));//璁剧疆鏀惰棌鏈鐩洿鏂版椂闂�
 			resultObj.setFavorCount((BigInteger)favorMap.get(group.getGroupId()).get("allCount"));
 		}
 		
@@ -1181,7 +1181,7 @@
 	}
 	
 	/**
-	 * 组装练习错题本列表数据 拆分方法
+	 * 缁勮缁冧範閿欓鏈垪琛ㄦ暟鎹� 鎷嗗垎鏂规硶
 	 * @param record
 	 * @param resultObj
 	 */
@@ -1197,7 +1197,7 @@
 	}
 	
 	/**
-	 * 获取个人用户组对应的错题题目更新时间
+	 * 鑾峰彇涓汉鐢ㄦ埛缁勫搴旂殑閿欓棰樼洰鏇存柊鏃堕棿
 	 * @param subjectId
 	 * @param args
 	 * @return
@@ -1205,7 +1205,7 @@
 	@Override
 	public Map<String, Map<String, Object>> queryFaultRecordByGroup(String subjectId, Object[] args) {
 		StringBuffer hql = new StringBuffer(512);
-		//  1.查询分组列表
+		//  1.鏌ヨ鍒嗙粍鍒楄〃
 		hql.append("select r.exerciseGroupId,r.updateTime,r.allCount from ExerciseFaultRecord r, ExerciseFaultBook b "
 				+ " where r.resumeBookId=b.resumeBookId "
 				+ "	and b.userId = :userId and r.exerciseGroupId in (:groupIds)  ");
@@ -1215,19 +1215,19 @@
 		argsMap.put("userId", ClientUtils.getUserId());
 		argsMap.put("groupIds", args);
 		
-		if(StringUtils.isNotBlank(subjectId)){// 高校  通过课程过滤
+		if(StringUtils.isNotBlank(subjectId)){// 楂樻牎  閫氳繃璇剧▼杩囨护
 			
 			hql.append(" and b.type=:type and b.subjectId=:subjectId ");
 			argsMap.put("type", ExerciseFaultBook.TYPE_COLLEGE);
 			argsMap.put("subjectId", subjectId);
-		}else{// 非高校
+		}else{// 闈為珮鏍�
 			
 			hql.append(" and b.type=:type and b.classId=:classId ");
 			argsMap.put("type", ExerciseFaultBook.TYPE_ORGANIZATION);
 			argsMap.put("classId", ClientUtils.getClassId());
 		}
 		
-		// 根据结构查询得到所需记录
+		// 鏍规嵁缁撴瀯鏌ヨ寰楀埌鎵�闇�璁板綍
 		List<Object[]> lstRecord = this.findByComplexHql(hql.toString(), argsMap, Object[].class);
 		
 		Map<String, Map<String, Object>> resultMap = new HashMap<String, Map<String, Object>>(lstRecord.size());
@@ -1243,7 +1243,7 @@
 	}
 	
 	/**
-	 *获取个人用户组对应的收藏题目更新时间
+	 *鑾峰彇涓汉鐢ㄦ埛缁勫搴旂殑鏀惰棌棰樼洰鏇存柊鏃堕棿
 	 * @param subjectId
 	 * @param args
 	 * @return
@@ -1251,7 +1251,7 @@
 	@Override
 	public Map<String, Map<String, Object>> queryFavorRecordByGroup(String subjectId, Object[] args) {
 		StringBuffer hql = new StringBuffer(512);
-		//  1.查询分组列表
+		//  1.鏌ヨ鍒嗙粍鍒楄〃
 		hql.append("select r.exerciseGroupId,r.updateTime,r.allCount from ExerciseFavoriteRecord r, ExerciseFavoriteBook b"
 				+ " where r.favoriteBookId=b.favoriteBookId "
 				+ "	and b.userId = :userId and r.exerciseGroupId in (:groupIds)  ");
@@ -1261,19 +1261,19 @@
 		argsMap.put("userId", ClientUtils.getUserId());
 		argsMap.put("groupIds", args);
 		
-		if(StringUtils.isNotBlank(subjectId)){// 高校  通过课程过滤
+		if(StringUtils.isNotBlank(subjectId)){// 楂樻牎  閫氳繃璇剧▼杩囨护
 			
 			hql.append(" and b.type=:type and b.subjectId=:subjectId ");
 			argsMap.put("type", ExerciseFaultBook.TYPE_COLLEGE);
 			argsMap.put("subjectId", subjectId);
-		}else{// 非高校
+		}else{// 闈為珮鏍�
 			
 			hql.append(" and b.type=:type and b.classId=:classId ");
 			argsMap.put("type", ExerciseFaultBook.TYPE_ORGANIZATION);
 			argsMap.put("classId", ClientUtils.getClassId());
 		}
 		
-		// 根据结构查询得到所需记录
+		// 鏍规嵁缁撴瀯鏌ヨ寰楀埌鎵�闇�璁板綍
 		List<Object[]> lstRecord = this.findByComplexHql(hql.toString(), argsMap, Object[].class);
 		Map<String, Map<String, Object>> resultMap = new HashMap<String, Map<String, Object>>(lstRecord.size());
 		Map<String, Object> paramMap = null;
@@ -1288,8 +1288,8 @@
 	}
 	
 	/**
-	 * 查询收藏本列表数据
-	 * @param exerType 0:表示全部错题
+	 * 鏌ヨ鏀惰棌鏈垪琛ㄦ暟鎹�
+	 * @param exerType 0:琛ㄧず鍏ㄩ儴閿欓
 	 * @param subjectId
 	 * @param pager
 	 * @return
@@ -1298,7 +1298,7 @@
 	public List<ExerGroupResponseData> queryExerciseFavorListData(int exerType,
 			String subjectId, Pager pager) {
 		StringBuffer hql = new StringBuffer(512);
-		//  1.查询分组列表
+		//  1.鏌ヨ鍒嗙粍鍒楄〃
 		hql.append("select r, g from ExerciseFavoriteRecord r, ExerciseFavoriteBook b, ExerciseGroup g"
 				+ " where r.favoriteBookId=b.favoriteBookId "
 				+ " and r.exerciseGroupId=g.groupId "
@@ -1307,18 +1307,18 @@
 				+ " and b.userId=? and r.allCount>0 ");
 		
 		List<Object> args = CollectionUtils.newList(ClientUtils.getUserId());
-		if(exerType != 0){ //表示查询非全部收藏  exerType=0为查询全部收藏
+		if(exerType != 0){ //琛ㄧず鏌ヨ闈炲叏閮ㄦ敹钘�  exerType=0涓烘煡璇㈠叏閮ㄦ敹钘�
 			hql.append(" and r.exerciseGroupType=?");
 			args.add((short)exerType);
 		}
 		
-		if(StringUtils.isNotBlank(subjectId)){// 高校  通过课程过滤
+		if(StringUtils.isNotBlank(subjectId)){// 楂樻牎  閫氳繃璇剧▼杩囨护
 			
 			hql.append(" and b.type=? and b.subjectId=? and g.subjectId=? ");
 			args.add(ExerciseFaultBook.TYPE_COLLEGE);
 			args.add(subjectId);
 			args.add(subjectId);
-		}else{// 非高校
+		}else{// 闈為珮鏍�
 			
 			hql.append(" and b.type=? and b.classId=? and g.classId=?");
 			args.add(ExerciseFaultBook.TYPE_ORGANIZATION);
@@ -1327,10 +1327,10 @@
 		}
 		hql.append(" order by r.updateTime desc ");
 		
-		// 根据结构查询得到所需记录
+		// 鏍规嵁缁撴瀯鏌ヨ寰楀埌鎵�闇�璁板綍
 		List<Object[]> lstRecord = this.findList(hql.toString(), pager, args,Object[].class);
 		
-		if(lstRecord.isEmpty()){// 查询结果记录为空
+		if(lstRecord.isEmpty()){// 鏌ヨ缁撴灉璁板綍涓虹┖
 			return null;
 		}
 		
@@ -1341,15 +1341,15 @@
 			argss[i] = groupp.getGroupId();
 		}
 		
-		// 获取个人用户组对应的错题记录 题目更新时间
+		// 鑾峰彇涓汉鐢ㄦ埛缁勫搴旂殑閿欓璁板綍 棰樼洰鏇存柊鏃堕棿
 		Map<String, Map<String, Object>> faultMap = this.queryFaultRecordByGroup(subjectId, argss);
 		
-		// 结果返回参数
+		// 缁撴灉杩斿洖鍙傛暟
 		List<ExerGroupResponseData> lstResult = new ArrayList<ExerGroupResponseData>(lstRecord.size());
 		
 		for(Object[] objs:lstRecord){
 			
-			// 组装练习收藏列表数据
+			// 缁勮缁冧範鏀惰棌鍒楄〃鏁版嵁
 			lstResult.add(packagingExerciseFavorListData(
 					faultMap, objs));
 			
@@ -1359,7 +1359,7 @@
 	}
 	
 	/**
-	 * 组装练习收藏列表数据
+	 * 缁勮缁冧範鏀惰棌鍒楄〃鏁版嵁
 	 * @param faultMap
 	 * @param objs
 	 * @return
@@ -1371,7 +1371,7 @@
 		
 		ExerGroupResponseData resultObj = new ExerGroupResponseData();
 		
-		// 拆分组装数据
+		// 鎷嗗垎缁勮鏁版嵁
 		packagingExerciseFavorListChildData(record, resultObj);
 		
 		resultObj.setExtendAllCount(record.getAllCount()==null ? BigInteger.ZERO  : record.getAllCount());
@@ -1386,7 +1386,7 @@
 		resultObj.setFavorUpdateTime(record.getUpdateTime());
 		resultObj.setFavorCount(resultObj.getAllCount());
 		if(faultMap !=null && faultMap.get(group.getGroupId()) !=null){
-			resultObj.setFaultUpdateTime((Timestamp)faultMap.get(group.getGroupId()).get(UPDATE_TIME));//设置错题本题目更新时间
+			resultObj.setFaultUpdateTime((Timestamp)faultMap.get(group.getGroupId()).get(UPDATE_TIME));//璁剧疆閿欓鏈鐩洿鏂版椂闂�
 			resultObj.setFaultCount((BigInteger)faultMap.get(group.getGroupId()).get("allCount"));
 		}
 		
@@ -1397,7 +1397,7 @@
 	}
 	
 	/**
-	 * 组装练习收藏列表数据 拆分组装数据
+	 * 缁勮缁冧範鏀惰棌鍒楄〃鏁版嵁 鎷嗗垎缁勮鏁版嵁
 	 * @param record
 	 * @param resultObj
 	 */
@@ -1414,12 +1414,12 @@
 	
 
 	/**
-	 * 获取全部收藏练习数据
+	 * 鑾峰彇鍏ㄩ儴鏀惰棌缁冧範鏁版嵁
 	 * @return
 	 */
 	@Override
 	public ExerItemResponseData queryAllExerciseFavorData(Pager pager) {
-		//  1.查询此用户是否有错题记录
+		//  1.鏌ヨ姝ょ敤鎴锋槸鍚︽湁閿欓璁板綍
 		String hql = "select item, favor.favorRecord.exerciseGroupId,favor.favorRecord.favorBook.status "
 				+ " from ExerciseItem item, ExerciseFavorite favor "
 				+ " where item.exerciseId=favor.exerciseItemId"
@@ -1445,34 +1445,34 @@
 				status = String.valueOf(objs[2]);
 			}
 			item = new ExerciseItem();
-			BeanUtils.copyProperties((ExerciseItem)objs[0], item);// 防止item同一个内存地址
-			item.setExerciseGroupId(String.valueOf(objs[1]));//设置每个题目的组id
+			BeanUtils.copyProperties((ExerciseItem)objs[0], item);// 闃叉item鍚屼竴涓唴瀛樺湴鍧�
+			item.setExerciseGroupId(String.valueOf(objs[1]));//璁剧疆姣忎釜棰樼洰鐨勭粍id
 			lstItems.add(item);
 		}
 		
-		// 2.重新组装练习题 加入分析结果
+		// 2.閲嶆柊缁勮缁冧範棰� 鍔犲叆鍒嗘瀽缁撴灉
 		lstItems =  exerciseVerService.getCommonExerItemDetail(lstItems, null);
 		
-		// 3.组装答案
+		// 3.缁勮绛旀
 		ExerItemResponseData result = new ExerItemResponseData();
 				
 		result.setItems(lstItems);
 		result.setStatus(status);
 		
-		result.setResult(new Result(true,"查询成功"));
+		result.setResult(new Result(true,"鏌ヨ鎴愬姛"));
 		
 		return result; 
 	}
 	
 	/**
-	 * 获取收藏练习数据
+	 * 鑾峰彇鏀惰棌缁冧範鏁版嵁
 	 * @param groupId
-	 * @param exerciseRecordId 废弃
+	 * @param exerciseRecordId 搴熷純
 	 * @return
 	 */
 	@Override
 	public ExerItemResponseData queryExerciseFavorData(String groupId) {
-		//  1.查询此用户是否有错题记录
+		//  1.鏌ヨ姝ょ敤鎴锋槸鍚︽湁閿欓璁板綍
 		String hql = "select item, favor "
 				+ " from ExerciseItem item, ExerciseFavorite favor "
 				+ " where item.exerciseId=favor.exerciseItemId"
@@ -1489,13 +1489,13 @@
 	}
 	
 	/**
-	 * 获取多套收藏练习数据
+	 * 鑾峰彇澶氬鏀惰棌缁冧範鏁版嵁
 	 * @param groupId
 	 * @return
 	 */
 	@Override
 	public Map<String,Object> queryExerciseMutiFavorData(String groupId) {
-		//  1.查询此用户是否有错题记录
+		//  1.鏌ヨ姝ょ敤鎴锋槸鍚︽湁閿欓璁板綍
 		String hql = "select item.exerciseId "
 				+ " from ExerciseItem item, ExerciseFavorite favor "
 				+ " where item.exerciseId=favor.exerciseItemId"
@@ -1525,7 +1525,7 @@
 	}
 	
 	/**
-	 * 查询收藏题目明细
+	 * 鏌ヨ鏀惰棌棰樼洰鏄庣粏
 	 * @param lstResult
 	 * @param groupId
 	 * @return
@@ -1560,11 +1560,11 @@
 			
 		}
 		
-		// 2.重新组装练习题 加入分析结果
+		// 2.閲嶆柊缁勮缁冧範棰� 鍔犲叆鍒嗘瀽缁撴灉
 		lstItems =  exerciseVerService.getCommonExerItemDetail(lstItems, groupId);
 		
 		
-		// 3.组装答案
+		// 3.缁勮绛旀
 		ExerItemResponseData result = new ExerItemResponseData();
 				
 		result.setExerciseGroupId(groupId);
@@ -1573,18 +1573,18 @@
 		
 		result.setAnswers(lstAnswers);
 		
-		result.setResult(new Result(true,"查询成功"));
+		result.setResult(new Result(true,"鏌ヨ鎴愬姛"));
 		
 		return result; 
 	}
 	
 	/**
-	 * 获取全部错题练习数据
+	 * 鑾峰彇鍏ㄩ儴閿欓缁冧範鏁版嵁
 	 * @return
 	 */
 	@Override
 	public ExerItemResponseData queryAllExerciseFaultData(Pager pager) {
-		//  1.查询此用户是否有错题记录
+		//  1.鏌ヨ姝ょ敤鎴锋槸鍚︽湁閿欓璁板綍
 		String hql = "select item, fault.faultRecord.exerciseGroupId,fault.faultRecord.faultBook.status "
 				+ " from ExerciseItem item, ExerciseFault fault "
 				+ " where item.exerciseId=fault.exerciseItemId"
@@ -1606,37 +1606,37 @@
 		String status=null;
 		for(Object[] objs:lstResult){
 			if(objs[2] !=null) {
-				status=String.valueOf(objs[2]);//获取全部题目的提交状态
+				status=String.valueOf(objs[2]);//鑾峰彇鍏ㄩ儴棰樼洰鐨勬彁浜ょ姸鎬�
 			}
 			item = new ExerciseItem();
-			BeanUtils.copyProperties((ExerciseItem)objs[0], item);// 防止item同一个内存地址
-			item.setExerciseGroupId(String.valueOf(objs[1]));//设置每个题目的组id
+			BeanUtils.copyProperties((ExerciseItem)objs[0], item);// 闃叉item鍚屼竴涓唴瀛樺湴鍧�
+			item.setExerciseGroupId(String.valueOf(objs[1]));//璁剧疆姣忎釜棰樼洰鐨勭粍id
 			lstItems.add(item);
 		}
 		
-		// 2.重新组装练习题 加入分析结果
+		// 2.閲嶆柊缁勮缁冧範棰� 鍔犲叆鍒嗘瀽缁撴灉
 		lstItems = exerciseVerService.getCommonExerItemDetail(lstItems, null);
 		
 		
-		// 3.组装答案
+		// 3.缁勮绛旀
 		ExerItemResponseData result = new ExerItemResponseData();
 		
 		result.setStatus(status);
 		result.setItems(lstItems);
 		
-		result.setResult(new Result(true,"查询成功"));
+		result.setResult(new Result(true,"鏌ヨ鎴愬姛"));
 		
 		return result; 
 	}
 	
 	/**
-	 * 获取单套题错题练习数据
+	 * 鑾峰彇鍗曞棰橀敊棰樼粌涔犳暟鎹�
 	 * @param groupId
 	 * @return
 	 */
 	@Override
 	public ExerItemResponseData queryExerciseFaultData(String groupId) {
-		//  1.查询此用户是否有错题记录
+		//  1.鏌ヨ姝ょ敤鎴锋槸鍚︽湁閿欓璁板綍
 		String hql = "select item, fault "
 				+ " from ExerciseItem item, ExerciseFault fault "
 				+ " where item.exerciseId=fault.exerciseItemId"
@@ -1645,7 +1645,7 @@
 				+ " and item.deleteFlag is false"
 				+ " and fault.deleteFlag is false"
 				+ " order by fault.createTime";
-		// 2.查询答案
+		// 2.鏌ヨ绛旀
 		
 		List<Object[]> lstResult = this.findwithRawResult(hql, CollectionUtils.newList(ClientUtils.getUserId(), groupId));
 		
@@ -1653,14 +1653,14 @@
 	}
 	
 	/**
-	 * 获取多套题错题练习数据
+	 * 鑾峰彇澶氬棰橀敊棰樼粌涔犳暟鎹�
 	 * @param groupId
 	 * @return
 	 */
 	@Override
 	public Map<String,Object> queryExerciseMutiFaultData(String groupId) {
 		
-		//  1.查询题目
+		//  1.鏌ヨ棰樼洰
 		String hql = "select item.exerciseId "
 				+ " from ExerciseItem item, ExerciseFault fault "
 				+ " where item.exerciseId=fault.exerciseItemId"
@@ -1691,7 +1691,7 @@
 	
 	
 	/**
-	 * 查询错题明细数据
+	 * 鏌ヨ閿欓鏄庣粏鏁版嵁
 	 * @param lstResult
 	 * @param groupId
 	 * @return
@@ -1710,8 +1710,8 @@
 		for(Object[] objs:lstResult){
 			
 			item = (ExerciseItem)objs[0];
-			if(StringUtils.isBlank(groupId)){// 表示查询所有错题
-				item.setExerciseGroupId(String.valueOf(objs[2]));//设置每个题目的组id
+			if(StringUtils.isBlank(groupId)){// 琛ㄧず鏌ヨ鎵�鏈夐敊棰�
+				item.setExerciseGroupId(String.valueOf(objs[2]));//璁剧疆姣忎釜棰樼洰鐨勭粍id
 			}
 			lstItems.add(item);
 			
@@ -1729,11 +1729,11 @@
 			}
 		}
 		
-		// 2.重新组装练习题 加入分析结果
+		// 2.閲嶆柊缁勮缁冧範棰� 鍔犲叆鍒嗘瀽缁撴灉
 		lstItems = exerciseVerService.getCommonExerItemDetail(lstItems, groupId);
 		
 		
-		// 3.组装答案
+		// 3.缁勮绛旀
 		ExerItemResponseData result = new ExerItemResponseData();
 		
 		result.setExerciseGroupId(groupId);
@@ -1742,13 +1742,13 @@
 		
 		result.setAnswers(lstAnswers);
 		
-		result.setResult(new Result(true,"查询成功"));
+		result.setResult(new Result(true,"鏌ヨ鎴愬姛"));
 		
 		return result; 
 	}
 	
 	/**
-	 * 获取收藏本答案数据 
+	 * 鑾峰彇鏀惰棌鏈瓟妗堟暟鎹� 
 	 */
 	@Override
 	public ExerItemResponseData queryExerciseFavorAnswerData(String groupId) {
@@ -1760,7 +1760,7 @@
 				+ " and f.favorRecord.favorBook.classId=?"
 				+ " and f.answer is not null and f.deleteFlag is false";
 		
-		//  1.查询错题
+		//  1.鏌ヨ閿欓
 		List<ExerciseFavorite> lstFavors = this.find(hql, CollectionUtils.newList(groupId,
 				ClientUtils.getUserId(),ClientUtils.getClassId()), ExerciseFavorite.class);
 		
@@ -1775,7 +1775,7 @@
 			lstAnswers.add(answerU);
 		}
 			
-		// 3.组装答案
+		// 3.缁勮绛旀
 		ExerItemResponseData result = new ExerItemResponseData();
 				
 		result.setAnswers(lstAnswers);
@@ -1785,7 +1785,7 @@
 	}
 	
 	/**
-	 * 获取错题本答案数据 
+	 * 鑾峰彇閿欓鏈瓟妗堟暟鎹� 
 	 */
 	@Override
 	public ExerItemResponseData queryExerciseFaultAnswerData(String groupId) {
@@ -1797,7 +1797,7 @@
 				+ " and f.faultRecord.faultBook.classId=?"
 				+ " and f.answer is not null and f.deleteFlag is false";
 		
-		//  1.查询错题
+		//  1.鏌ヨ閿欓
 		List<ExerciseFault> lstFaults = this.find(hql, CollectionUtils.newList(groupId, 
 				ClientUtils.getUserId(),ClientUtils.getClassId()), ExerciseFault.class);
 		
@@ -1812,7 +1812,7 @@
 			lstAnswers.add(answerU);
 		}
 			
-		// 3.组装答案
+		// 3.缁勮绛旀
 		ExerItemResponseData result = new ExerItemResponseData();
 				
 		result.setAnswers(lstAnswers);
@@ -1822,14 +1822,14 @@
 	}
 
 	/**
-	 * 操作本次做题记录
-	 * groupId 习题组ID  如果为All时,表示全部错题、全部收藏
+	 * 鎿嶄綔鏈鍋氶璁板綍
+	 * groupId 涔犻缁処D  濡傛灉涓篈ll鏃讹紝琛ㄧず鍏ㄩ儴閿欓銆佸叏閮ㄦ敹钘�
 	 * @return
 	 */
 	@Override
 	public Map<String, Object> doUpdateFaultExerRecordNew(String groupId) {
 		
-		if("All".equals(groupId)){//表示全部错题重做
+		if("All".equals(groupId)){//琛ㄧず鍏ㄩ儴閿欓閲嶅仛
 			return doCleanAllFaultRecordByRedo();
 		}
 		
@@ -1857,11 +1857,11 @@
 		
 		String faultRecordId = record.getFaultRecordId();
 		
-		//  重新做题 清理旧数据 
+		//  閲嶆柊鍋氶 娓呯悊鏃ф暟鎹� 
 		doOperExerciseFaultRecordByRedo(faultRecordId);
 		
 		
-		// 更新全部收藏题目的信息
+		// 鏇存柊鍏ㄩ儴鏀惰棌棰樼洰鐨勪俊鎭�
 		this.doOperFaultBookBySubmitAllAnswer(
 				null, null, record.getResumeBookId(),null);
 		
@@ -1875,12 +1875,12 @@
 	}
 	
 	/**
-	 * 全部错题重做
+	 * 鍏ㄩ儴閿欓閲嶅仛
 	 * @return
 	 */
 	private Map<String,Object> doCleanAllFaultRecordByRedo(){
 		
-		/** 1.更新错题book记录为初始值 */
+		/** 1.鏇存柊閿欓book璁板綍涓哄垵濮嬪�� */
 		String hql_book = "from ExerciseFaultBook b where b.userId=? and b.classId=? and b.type=? ";
 		
 		ExerciseFaultBook book = this.findUnique(hql_book, CollectionUtils.newList(ClientUtils.getUserId(),
@@ -1904,7 +1904,7 @@
 		BigDecimal decimalZero = BigDecimal.ZERO;
 		BigInteger integerZero = BigInteger.ZERO;
 		
-		/** 2.更新所有错题record记录为初始值 */
+		/** 2.鏇存柊鎵�鏈夐敊棰榬ecord璁板綍涓哄垵濮嬪�� */
 		String hql_record = "update ExerciseFaultRecord t set t.score="+decimalZero+", t.completionRate="+decimalZero+", t.doCount="+integerZero+","
 				+ "  t.correctCount="+integerZero+", t.accuracy="+decimalZero+", t.titleMaxNumber='0', t.status='0'"
 				+ "  where t.resumeBookId=? and t.deleteFlag is false";
@@ -1912,17 +1912,17 @@
 		this.bulkUpdateInLoop(hql_record, new String[]{resumeBookId});
 		
 		
-		/** 3.重新做题 清理所有旧数据    */
-		// 3.1复制错题数据到历史表
+		/** 3.閲嶆柊鍋氶 娓呯悊鎵�鏈夋棫鏁版嵁    */
+		// 3.1澶嶅埗閿欓鏁版嵁鍒板巻鍙茶〃
 		String hql_fault = "from ExerciseFault where resumeBookId=? and answer is not null and deleteFlag is false";
 		doCopyExerciseFaultToHis(hql_fault,resumeBookId);
 		
-		// 3.2清空错题做题记录
+		// 3.2娓呯┖閿欓鍋氶璁板綍
 		String hql_delFault = "update ExerciseFault t set t.answer=null,t.correct=0"
 				+ " where t.resumeBookId=? and t.answer is not null and t.deleteFlag is false";
 		this.bulkUpdateInLoop(hql_delFault, new String[]{resumeBookId});
 		
-		/** 4.返回结果    */
+		/** 4.杩斿洖缁撴灉    */
 		Map<String,Object> resultMap = new HashMap<String, Object>(3);
 		resultMap.put(EXERCISE_RECORD_ID, null);
 		resultMap.put("exerciseGroupId", "All");
@@ -1932,31 +1932,31 @@
 	}
 	
 	/**
-	 * 重新做题 清理旧数据 
+	 * 閲嶆柊鍋氶 娓呯悊鏃ф暟鎹� 
 	 * @param faultRecordId
 	 * @return
 	 */
 	public Result doOperExerciseFaultRecordByRedo(String faultRecordId){
 		
-		// 1.拷贝做题记录到错题答案历史表
+		// 1.鎷疯礉鍋氶璁板綍鍒伴敊棰樼瓟妗堝巻鍙茶〃
 		String hql = "from ExerciseFault where faultRecordId=? and answer is not null and deleteFlag is false";
 		doCopyExerciseFaultToHis(hql, faultRecordId);
 		
-		// 2.删除做题记录
+		// 2.鍒犻櫎鍋氶璁板綍
 		deleteExerciseFaultRecord(faultRecordId);
 				
 		return new Result(true);
 	}
 	
 	/**
-	 * 拷贝做题记录到错题答案历史表
+	 * 鎷疯礉鍋氶璁板綍鍒伴敊棰樼瓟妗堝巻鍙茶〃
 	 * @param faultRecordId/resumeBookId
 	 * @return
 	 */
 	public Result doCopyExerciseFaultToHis(String hql,String recordId){
 		List<ExerciseFault> lstFault = this.find(hql, CollectionUtils.newList(recordId), ExerciseFault.class);
 		
-		// 错题历史记录表
+		// 閿欓鍘嗗彶璁板綍琛�
 		List<ExerciseFaultHis> lstFaultHis = new ArrayList<ExerciseFaultHis>(lstFault.size());
 		ExerciseFaultHis his = null;
 		for(ExerciseFault fault:lstFault){
@@ -1973,7 +1973,7 @@
 	}
 	
 	/**
-	 * 批量刪除错题做题记录
+	 * 鎵归噺鍒櫎閿欓鍋氶璁板綍
 	 * @param faultRecordId
 	 * @return
 	 */
@@ -1988,7 +1988,7 @@
 	}
 	
 	/**
-	 * 批量刪除错题做题记录
+	 * 鎵归噺鍒櫎閿欓鍋氶璁板綍
 	 * @param faultRecordId
 	 * @return
 	 */
@@ -2003,13 +2003,13 @@
 	}
 	
 	/**
-	 * 操作本次做题记录 收藏
+	 * 鎿嶄綔鏈鍋氶璁板綍 鏀惰棌
 	 * @return
 	 */
 	@Override
 	public Map<String, Object> doUpdateFavortExerRecordNew(String groupId) {
 		
-		if("All".equals(groupId)){//表示全部收藏重做
+		if("All".equals(groupId)){//琛ㄧず鍏ㄩ儴鏀惰棌閲嶅仛
 			return doCleanAllFavorRecordByRedo();
 		}
 		
@@ -2038,10 +2038,10 @@
 		
 		String favoriteRecordId = record.getFavoriteRecordId();
 	
-		//  重新开始做题 清理旧数据
+		//  閲嶆柊寮�濮嬪仛棰� 娓呯悊鏃ф暟鎹�
 		doOperExerciseFavorRecordByRedo(favoriteRecordId);
 		
-		// 更新全部收藏题目的统计信息
+		// 鏇存柊鍏ㄩ儴鏀惰棌棰樼洰鐨勭粺璁′俊鎭�
 		this.doOperFavorBookBySubmitAllAnswer(null, null, record.getFavoriteBookId(),null);
 		
 		Map<String,Object> resultMap = new HashMap<String, Object>(3);
@@ -2051,12 +2051,12 @@
 	}
 	
 	/**
-	 * 全部收藏重做
+	 * 鍏ㄩ儴鏀惰棌閲嶅仛
 	 * @return
 	 */
 	private Map<String,Object> doCleanAllFavorRecordByRedo(){
 		
-		/** 1.更新收藏book记录为初始值 */
+		/** 1.鏇存柊鏀惰棌book璁板綍涓哄垵濮嬪�� */
 		String hql_book = "from ExerciseFavoriteBook b where b.userId=? and b.classId=? and b.type=? ";
 		
 		ExerciseFavoriteBook book = this.findUnique(hql_book, CollectionUtils.newList(ClientUtils.getUserId(),
@@ -2080,7 +2080,7 @@
 		BigDecimal decimalZero = BigDecimal.ZERO;
 		BigInteger integerZero = BigInteger.ZERO;
 		
-		/** 2.更新所有收藏record记录为初始值 */
+		/** 2.鏇存柊鎵�鏈夋敹钘弐ecord璁板綍涓哄垵濮嬪�� */
 		String hql_record = "update ExerciseFavoriteRecord t set t.score="+decimalZero+", t.completionRate="+decimalZero+", t.doCount="+integerZero+","
 				+ "  t.correctCount="+integerZero+", t.accuracy="+decimalZero+", t.titleMaxNumber='0', t.status='0'"
 				+ "  where t.favoriteBookId=? and t.deleteFlag is false";
@@ -2088,17 +2088,17 @@
 		this.bulkUpdateInLoop(hql_record, new String[]{favoriteBookId});
 		
 		
-		/** 3.重新做题 清理所有旧数据    */
-		// 3.1复制收藏数据到历史表
+		/** 3.閲嶆柊鍋氶 娓呯悊鎵�鏈夋棫鏁版嵁    */
+		// 3.1澶嶅埗鏀惰棌鏁版嵁鍒板巻鍙茶〃
 		String hql_favor = "from ExerciseFavorite where favoriteBookId=? and answer is not null and deleteFlag is false";
 		doCopyExerciseFavorToHis(hql_favor,favoriteBookId);
 		
-		// 3.2清空收藏做题记录
+		// 3.2娓呯┖鏀惰棌鍋氶璁板綍
 		String hql_delFavor = "update ExerciseFavorite t set t.answer=null,t.correct=0"
 				+ " where t.favoriteBookId=? and t.answer is not null and t.deleteFlag is false";
 		this.bulkUpdateInLoop(hql_delFavor, new String[]{favoriteBookId});
 		
-		/** 4.返回结果    */
+		/** 4.杩斿洖缁撴灉    */
 		Map<String,Object> resultMap = new HashMap<String, Object>(3);
 		resultMap.put(EXERCISE_RECORD_ID, null);
 		resultMap.put("exerciseGroupId", "All");
@@ -2108,31 +2108,31 @@
 	}
 	
 	/**
-	 * 重新开始做题 清理旧数据
+	 * 閲嶆柊寮�濮嬪仛棰� 娓呯悊鏃ф暟鎹�
 	 * @param favoriteRecordId
 	 * @return
 	 */
 	public Result doOperExerciseFavorRecordByRedo(String favoriteRecordId){
 		
-		// 1.拷贝做题记录到收藏答案历史表
+		// 1.鎷疯礉鍋氶璁板綍鍒版敹钘忕瓟妗堝巻鍙茶〃
 		String hql = "from ExerciseFavorite where favoriteRecordId=? and answer is not null and deleteFlag is false";
 		doCopyExerciseFavorToHis(hql, favoriteRecordId);
 		
-		// 2.删除做题记录
+		// 2.鍒犻櫎鍋氶璁板綍
 		deleteExerciseFavorRecord(favoriteRecordId);
 		
 		return new Result(true);
 	}
 	
 	/**
-	 * 拷贝做题记录到收藏答案历史表
+	 * 鎷疯礉鍋氶璁板綍鍒版敹钘忕瓟妗堝巻鍙茶〃
 	 * @param faultRecordId/favoriteBookId
 	 * @return
 	 */
 	public Result doCopyExerciseFavorToHis(String hql, String recordId){
 		List<ExerciseFavorite> lstFavor = this.find(hql, CollectionUtils.newList(recordId), ExerciseFavorite.class);
 		
-		// 错题历史记录表
+		// 閿欓鍘嗗彶璁板綍琛�
 		List<ExerciseFavoriteHis> lstFavorHis = new ArrayList<ExerciseFavoriteHis>(lstFavor.size());
 		ExerciseFavoriteHis his = null;
 		for(ExerciseFavorite favor:lstFavor){
@@ -2149,20 +2149,20 @@
 	}
 	
 	/**
-	 * 查询题目统计分析结果 个人统计 全站统计
+	 * 鏌ヨ棰樼洰缁熻鍒嗘瀽缁撴灉 涓汉缁熻 鍏ㄧ珯缁熻
 	 * @param exerciseType
 	 * @return
 	 */
 	@Override
 	public List<Map<String, Object>> queryExerciseItemStatisics(String exerciseType) {
-		// 题目个人统计
+		// 棰樼洰涓汉缁熻
 		String hql_analisisU = "";
-		// 题目全站统计
+		// 棰樼洰鍏ㄧ珯缁熻
 		String hql_analisis = "";
-		// 题目
+		// 棰樼洰
 		String hql_item = "";
 		
-		if(Constants.EXERCISE_TYPE_FAULT.equals(exerciseType)){// 错题本
+		if(Constants.EXERCISE_TYPE_FAULT.equals(exerciseType)){// 閿欓鏈�
 			
 			hql_analisisU = "select a from ExerciseItemAnalisiU a,ExerciseFault re"
 					+ " where a.exerciseItemId=re.exerciseItemId "
@@ -2178,7 +2178,7 @@
 					+ " where re.faultBook.userId=? and re.faultBook.classId=? "
 					+ " and re.deleteFlag is false order by re.createTime";
 			
-		}else if(Constants.EXERCISE_TYPE_FAVORT.equals(exerciseType)){// 收藏
+		}else if(Constants.EXERCISE_TYPE_FAVORT.equals(exerciseType)){// 鏀惰棌
 			
 			hql_analisisU =  "select a from ExerciseItemAnalisiU a,ExerciseFavorite re"
 					+ " where a.exerciseItemId=re.exerciseItemId "
@@ -2201,12 +2201,12 @@
 	}
 	
 	/**
-	 * 查询错题题目统计
+	 * 鏌ヨ閿欓棰樼洰缁熻
 	 * @return
 	 */
 	private List<Map<String, Object>> doQueryExerciseItemStatisicsData(String hql_analisisU,
 			String hql_analisis, String hql_item) {
-		// 1.查询个人统计
+		// 1.鏌ヨ涓汉缁熻
 		List<ExerciseItemAnalisiU> lstAnalisiU = this.find(hql_analisisU,
 				CollectionUtils.newList(ClientUtils.getUserId(),ClientUtils.getUserId(),ClientUtils.getClassId()), ExerciseItemAnalisiU.class);
 		
@@ -2215,7 +2215,7 @@
 			anasisUMap.put(analisisU.getExerciseItemId(), analisisU);
 		}
 		
-		// 2.查询全站统计
+		// 2.鏌ヨ鍏ㄧ珯缁熻
 		List<ExerciseItemAnalisi> lstAnalisi = this.find(hql_analisis,
 				CollectionUtils.newList(ClientUtils.getUserId(),ClientUtils.getClassId()), ExerciseItemAnalisi.class);
 		Map<String, ExerciseItemAnalisi> anasisMap = new HashMap<String, ExerciseItemAnalisi>(lstAnalisi.size());
@@ -2227,7 +2227,7 @@
 			return null;
 		}
 		
-		// 3.查询此组所有题目
+		// 3.鏌ヨ姝ょ粍鎵�鏈夐鐩�
 		List<String> lstItemIds = this.find(hql_item,
 				CollectionUtils.newList(ClientUtils.getUserId(),ClientUtils.getClassId()), String.class);
 		
@@ -2236,22 +2236,22 @@
 		ExerciseItemAnalisi analisis;
 		ExerciseItemAnalisiU analisisU;
 		
-		// 3.组装结果 
+		// 3.缁勮缁撴灉 
 		
-		// 循坏组所有题目
+		// 寰潖缁勬墍鏈夐鐩�
 		for(String  exerciseItemId:lstItemIds){
-			// 结果map
+			// 缁撴灉map
 			resultMap = new HashMap<String, Object>(10);
 			
-			// 1.个人分析结果
+			// 1.涓汉鍒嗘瀽缁撴灉
 			analisisU = anasisUMap.get(exerciseItemId);
-			// 2.全站分析结果
+			// 2.鍏ㄧ珯鍒嗘瀽缁撴灉
 			analisis = anasisMap.get(exerciseItemId);
 			
 			resultMap.put("exerciseId", exerciseItemId);
 			
-			// 3.个人统计
-			if(null == analisisU){// 为空
+			// 3.涓汉缁熻
+			if(null == analisisU){// 涓虹┖
 				resultMap.put("doAll_u", 0);
 				resultMap.put("doError_u", 0);
 				resultMap.put("doAccuracy_u", 0);
@@ -2261,8 +2261,8 @@
 				resultMap.put("doAccuracy_u", analisisU.getAccuracy());
 			}
 			
-			// 4.全站统计
-			if(null == analisis){// 为空
+			// 4.鍏ㄧ珯缁熻
+			if(null == analisis){// 涓虹┖
 				resultMap.put("doAll", 0);
 				resultMap.put("doAccuracy", 0);
 			}else{
@@ -2278,7 +2278,7 @@
 	}
 	
 	/**
-	 * 更新错题book信息
+	 * 鏇存柊閿欓book淇℃伅
 	 * @param faultBookId
 	 * @return
 	 */
@@ -2307,7 +2307,7 @@
 	}
 	
 	/**
-	 * 更新错题book信息 by提交全部错题答案
+	 * 鏇存柊閿欓book淇℃伅 by鎻愪氦鍏ㄩ儴閿欓绛旀
 	 * @param currTitleNum
 	 * @param status
 	 * @return
@@ -2316,9 +2316,9 @@
 	public Result doOperFaultBookBySubmitAllAnswer(String currTitleNum,
 			String status,String faultBookId, String exerciseType) {
 		ExerciseFaultBook book = null;
-		if(StringUtils.isBlank(faultBookId)){// 是否全部错题  仅仅提交操作
+		if(StringUtils.isBlank(faultBookId)){// 鏄惁鍏ㄩ儴閿欓  浠呬粎鎻愪氦鎿嶄綔
 			if(Constants.EXERCISE_TYPE_FAULT.equals(exerciseType)
-				&& ExerciseRecord.STATUS_SUBMIT.equals(status)){// 全部错题仅提交答案
+				&& ExerciseRecord.STATUS_SUBMIT.equals(status)){// 鍏ㄩ儴閿欓浠呮彁浜ょ瓟妗�
 				
 				book = this.findUnique("from ExerciseFaultBook where classId=? and userId=? and type=? and deleteFlag is false ",
 						CollectionUtils.newList(ClientUtils.getClassId(), 
@@ -2328,25 +2328,25 @@
 				return new Result(false);
 			}
 			
-		}else{// 混合提交
+		}else{// 娣峰悎鎻愪氦
 			book = this.read(ExerciseFaultBook.class, faultBookId);
 			if(book == null){
 				return new Result(false);
 			}
 		}
 		
-		// 更新book信息
+		// 鏇存柊book淇℃伅
 		this.updateExerciseFaultBookInfo(book);
 		
 		if(StringUtils.isNotBlank(currTitleNum)){
 			book.setTitleMaxNumber(currTitleNum);
 		}
 		if(StringUtils.isNotBlank(status)){
-			book.setStatus("1".equals(status)?"1":"0");// 1:提交 0:未提交
+			book.setStatus("1".equals(status)?"1":"0");// 1锛氭彁浜� 0锛氭湭鎻愪氦
 			
-			if("1".equals(status)){// 全部错题提交答案时  对应的record也改为提交状态
+			if("1".equals(status)){// 鍏ㄩ儴閿欓鎻愪氦绛旀鏃�  瀵瑰簲鐨剅ecord涔熸敼涓烘彁浜ょ姸鎬�
 				
-				/** 更新所有错题record记录为提交状态 */
+				/** 鏇存柊鎵�鏈夐敊棰榬ecord璁板綍涓烘彁浜ょ姸鎬� */
 				String hql_record = "update ExerciseFaultRecord t set t.status='1'"
 						+ "  where t.resumeBookId=? and t.deleteFlag is false";
 				
@@ -2361,7 +2361,7 @@
 	}
 
 	/**
-	 * 更新收藏book信息
+	 * 鏇存柊鏀惰棌book淇℃伅
 	 * @param faultBookId
 	 * @return
 	 */
@@ -2389,7 +2389,7 @@
 	}
 	
 	/**
-	 * 更新收藏book信息 by提交全部收藏答案
+	 * 鏇存柊鏀惰棌book淇℃伅 by鎻愪氦鍏ㄩ儴鏀惰棌绛旀
 	 * @param currTitleNum
 	 * @param status
 	 * @return
@@ -2399,9 +2399,9 @@
 			String status,String favoriteBookId, String exerciseType) {
 		
 		ExerciseFavoriteBook book = null;
-		if(StringUtils.isBlank(favoriteBookId)){// 是否全部收藏  仅仅提交操作
+		if(StringUtils.isBlank(favoriteBookId)){// 鏄惁鍏ㄩ儴鏀惰棌  浠呬粎鎻愪氦鎿嶄綔
 			if(Constants.EXERCISE_TYPE_FAVORT.equals(exerciseType)
-				&& ExerciseRecord.STATUS_SUBMIT.equals(status)){// 全部错题仅提交答案
+				&& ExerciseRecord.STATUS_SUBMIT.equals(status)){// 鍏ㄩ儴閿欓浠呮彁浜ょ瓟妗�
 				
 				book = this.findUnique("from ExerciseFavoriteBook where classId=? and userId=? and type=? and deleteFlag is false ",
 						CollectionUtils.newList(ClientUtils.getClassId(), 
@@ -2411,14 +2411,14 @@
 				return new Result(false);
 			}
 			
-		}else{// 混合提交
+		}else{// 娣峰悎鎻愪氦
 			book = this.read(ExerciseFavoriteBook.class, favoriteBookId);
 			if(book == null){
 				return new Result(false);
 			}
 		}
 		
-		// 更新收藏book信息
+		// 鏇存柊鏀惰棌book淇℃伅
 		this.updateExerciseFavorBookInfo(book);
 		
 		if(StringUtils.isNotBlank(currTitleNum)){
@@ -2426,11 +2426,11 @@
 		}
 		
 		if(StringUtils.isNotBlank(status)){
-			book.setStatus("1".equals(status)?"1":"0");// 1:提交 0:未提交
+			book.setStatus("1".equals(status)?"1":"0");// 1锛氭彁浜� 0锛氭湭鎻愪氦
 			
-			if("1".equals(status)){// 全部收藏提交答案时  对应的record也改为提交状态
+			if("1".equals(status)){// 鍏ㄩ儴鏀惰棌鎻愪氦绛旀鏃�  瀵瑰簲鐨剅ecord涔熸敼涓烘彁浜ょ姸鎬�
 				
-				/** 更新所有收藏record记录为提交状态 */
+				/** 鏇存柊鎵�鏈夋敹钘弐ecord璁板綍涓烘彁浜ょ姸鎬� */
 				String hql_record = "update ExerciseFavoriteRecord t set t.status='1'"
 						+ "  where t.favoriteBookId=? and t.deleteFlag is false";
 				
@@ -2445,7 +2445,7 @@
 	}
 	
 	/**
-	 * 查询错题本book信息
+	 * 鏌ヨ閿欓鏈琤ook淇℃伅
 	 */
 	@Override
 	public Map<String, Object> queryExerFaultInfo() {
@@ -2475,7 +2475,7 @@
 	}
 
 	/**
-	 * 查询收藏本book信息
+	 * 鏌ヨ鏀惰棌鏈琤ook淇℃伅
 	 */
 	@Override
 	public Map<String, Object> queryExerFavorInfo() {
@@ -2505,13 +2505,13 @@
 	}
 	
 	/**
-	 * 计算用户每天做错题的统计信息
+	 * 璁$畻鐢ㄦ埛姣忓ぉ鍋氶敊棰樼殑缁熻淇℃伅
 	 */
 	@SuppressWarnings("unchecked")
 	@Override
 	public Result doCalcExerFaultStatisticsByDay(){
-		log.info("---------------定时器 开始统计做题错题统计信息-----------start ------------------");
-		// 1.计算前一天 对应做题人的做题信息
+		log.info("---------------瀹氭椂鍣� 寮�濮嬬粺璁″仛棰橀敊棰樼粺璁′俊鎭�-----------start ------------------");
+		// 1.璁$畻鍓嶄竴澶� 瀵瑰簲鍋氶浜虹殑鍋氶淇℃伅
 		String sql = "SELECT"
 				+ " 	r.CLASS_ID,"
 				+ " 	t.USER_ID,"
@@ -2537,7 +2537,7 @@
 		List<Object[]> resultlst = this.findBySql(sql, CollectionUtils.newList(yesterday, DateUtils.getToday()));
 		
 		
-		// 2.错题信息记录表
+		// 2.閿欓淇℃伅璁板綍琛�
 		List<ExerciseFaultStatistics> statisLst = new ArrayList<ExerciseFaultStatistics>(resultlst.size());
 		ExerciseFaultStatistics faultStatis = null;
 		for(Object[] objs:resultlst){
@@ -2559,30 +2559,30 @@
 		
 		this.saveOrUpdateAll(statisLst);
 		
-		log.info("---------------定时器 开始统计做题错题统计信息-----------end ------------------");
-		return new Result(true, "操作成功,统计记录总条数:"+statisLst.size());
+		log.info("---------------瀹氭椂鍣� 寮�濮嬬粺璁″仛棰橀敊棰樼粺璁′俊鎭�-----------end ------------------");
+		return new Result(true, "鎿嶄綔鎴愬姛,缁熻璁板綍鎬绘潯鏁帮細"+statisLst.size());
 	}
 	
 	/**
-	 * 查询错题统计信息
-	 * @param type:  week 最近一周   month:最近一月  year:最近一年
+	 * 鏌ヨ閿欓缁熻淇℃伅
+	 * @param type:  week 鏈�杩戜竴鍛�   month:鏈�杩戜竴鏈�  year锛氭渶杩戜竴骞�
 	 * @return
 	 */
 	@Override
 	public List<Map<String,Object>> doGetFaultStatisInfo(String type) {
 		try {
-			// 开始时间
+			// 寮�濮嬫椂闂�
 			String startDate = "";
-			// 结束时间  今天
+			// 缁撴潫鏃堕棿  浠婂ぉ
 			String endDate = DateUtils.getToday();
 				
-			if("week".equals(type)){// 最近一周     7天前到今天 不包含今天
+			if("week".equals(type)){// 鏈�杩戜竴鍛�     7澶╁墠鍒颁粖澶� 涓嶅寘鍚粖澶�
 				
 				startDate= DateUtils.getTheDay(-7);
-			}else if("month".equals(type)){// 最近一月   30天前到今天  不包含今天
+			}else if("month".equals(type)){// 鏈�杩戜竴鏈�   30澶╁墠鍒颁粖澶�  涓嶅寘鍚粖澶�
 				
 				startDate= DateUtils.getTheDay(-30);
-			}else if("year".equals(type)){// 最近一年 365天前到今天  不包含今天
+			}else if("year".equals(type)){// 鏈�杩戜竴骞� 365澶╁墠鍒颁粖澶�  涓嶅寘鍚粖澶�
 				
 				startDate= DateUtils.getTheDay(-365);
 			}
@@ -2593,7 +2593,7 @@
 					+ " and exerciseTime >=? and exerciseTime<=?"
 					+ " order by exerciseTime";
 			
-			// 查询结果
+			// 鏌ヨ缁撴灉
 			List<Object[]> statisLst = this.findwithRawResult(hql, 
 						CollectionUtils.newList(ClientUtils.getUserId(),ClientUtils.getClassId(), 
 								DateUtils.convertStringToDate(startDate, "yyyy-MM-dd"), 
@@ -2620,37 +2620,37 @@
 			return resultLst;
 			
 		} catch (ParseException e) {
-			log.error("查询错题容错率接口异常", e);
+			log.error("鏌ヨ閿欓瀹归敊鐜囨帴鍙e紓甯�", e);
 		}
 		
 		return null;
 	}
 	
 	/**
-	 * 操作本次做题记录 错题
+	 * 鎿嶄綔鏈鍋氶璁板綍 閿欓
 	 * @return
 	 */
 	@Override
 	public Result doUpdateExerciseFaultRecord(ExerciseFaultRecord record) {
-		//TraceUtils.setUpdateTrace(record);不更新updateTime
+		//TraceUtils.setUpdateTrace(record);涓嶆洿鏂皍pdateTime
 		this.save(record);
 		return new Result(true);
 	}
 
 	/**
-	 * 操作本次做题记录 收藏
+	 * 鎿嶄綔鏈鍋氶璁板綍 鏀惰棌
 	 * @return
 	 */
 	@Override
 	public Result doUpdateExerciseFavorRecord(ExerciseFavoriteRecord record) {
-		//TraceUtils.setUpdateTrace(record); 不更新updateTime
+		//TraceUtils.setUpdateTrace(record); 涓嶆洿鏂皍pdateTime
 		this.save(record);
 		return new Result(true);
 	}
 	
 	/**
 	 * 
-	 * 保存app端请求保存的数据
+	 * 淇濆瓨app绔姹備繚瀛樼殑鏁版嵁
 	 * @return
 	 */
 	@Override
@@ -2663,7 +2663,7 @@
 	
 	@Override
 	public Result doUpdateExerciseFaultBook(String currTitleNum) {
-		//  查询此用户是否有收藏记录
+		//  鏌ヨ姝ょ敤鎴锋槸鍚︽湁鏀惰棌璁板綍
 		String hql = "from ExerciseFaultBook where classId=? and userId=? and deleteFlag is false ";
 		
 		List<ExerciseFaultBook> lstFault = this.find(hql,
@@ -2681,7 +2681,7 @@
 
 	@Override
 	public Result doUpdateExerciseFavorBook(String currTitleNum) {
-		//  查询此用户是否有收藏记录
+		//  鏌ヨ姝ょ敤鎴锋槸鍚︽湁鏀惰棌璁板綍
 		String hql = "from ExerciseFavoriteBook where classId=? and userId=? and deleteFlag is false ";
 		
 		List<ExerciseFavoriteBook> lstFavor = this.find(hql,
@@ -2698,11 +2698,11 @@
 	}
 
 	/**
-	 *提交多套题答案结果到db 
+	 *鎻愪氦澶氬棰樼瓟妗堢粨鏋滃埌db 
 	 */
 	@Override
 	public Map<String, Object> doSubmitMutiExerciseAnswerData(ExerciseSubmitAnswerDataList answerDataList) {
-		// 用户本次做题提交的数据
+		// 鐢ㄦ埛鏈鍋氶鎻愪氦鐨勬暟鎹�
 		List<ExerciseSubmitAnswerData> lstRecord = null;
 		ExerciseSubmitAnswerData answerResult= null;
 		List<ExerciseItemAnswerData> lstAnswers= null;
@@ -2715,7 +2715,7 @@
 		
 		List<Map<String,Object>> resultList = new ArrayList<Map<String,Object>>(lstRecord.size());
 		
-		// 错题、收藏本bookid
+		// 閿欓銆佹敹钘忔湰bookid
 		String faultBookId = null;
 		String favoriteBookId = null;
 		for(int i=0; i<lstRecord.size(); i++){
@@ -2727,30 +2727,30 @@
 			
 			lstAnswers = answerResult.getItems();
 			
-			// 记录id
+			// 璁板綍id
 			String initExerciseRecordId = answerResult.getExerciseRecordId();
 						
 			String recordData = JSONObject.toJSONString(answerResult);
 			
 			if(lstAnswers.isEmpty() 
 					&& !ExerciseRecord.STATUS_SUBMIT.equals(answerResult.getStatus()) 
-					&& answerResult.getSubmitType() != 1){// 提交状态
+					&& answerResult.getSubmitType() != 1){// 鎻愪氦鐘舵��
 				this.doSaveExerciseDataSubmitLog(recordData,
 						initExerciseRecordId, ExerciseDataSubmitLog.TYPE_SUBMIT_EXTEND_ANSWER,
 						ExerciseDataSubmitLog.STATUS_FAILED, "/exercise/Extend/exerExtendMutiAnswers");
 				continue;
 			}
 			
-			/**  1.---------记录提交的数据日志 */
-			// 记录提交的数据日志
+			/**  1.---------璁板綍鎻愪氦鐨勬暟鎹棩蹇� */
+			// 璁板綍鎻愪氦鐨勬暟鎹棩蹇�
 			String exerciseDataLogId = this.doSaveExerciseDataSubmitLog(recordData,
 					initExerciseRecordId, ExerciseDataSubmitLog.TYPE_SUBMIT_EXTEND_ANSWER, 
 					ExerciseDataSubmitLog.STATUS_SUCCESS, "/exercise/Extend/exerExtendMutiAnswers");
 						
-			/** 2.提交答案  */
+			/** 2.鎻愪氦绛旀  */
 			String exerciseType = answerResult.getType();
-			if(Constants.EXERCISE_TYPE_FAULT.equals(exerciseType)){// 错题本
-				// 更新 提交练习答案
+			if(Constants.EXERCISE_TYPE_FAULT.equals(exerciseType)){// 閿欓鏈�
+				// 鏇存柊 鎻愪氦缁冧範绛旀
 				returnMap = this.doSubmitExerFaultAnswerDataNew(answerResult);
 				
 				if(null == returnMap){
@@ -2758,8 +2758,8 @@
 				}
 				
 				faultBookId = (String) returnMap.get("exerciseBookId");
-			}else if(Constants.EXERCISE_TYPE_FAVORT.equals(exerciseType)){// 收藏
-				// 更新 提交练习答案
+			}else if(Constants.EXERCISE_TYPE_FAVORT.equals(exerciseType)){// 鏀惰棌
+				// 鏇存柊 鎻愪氦缁冧範绛旀
 				returnMap = this.doSubmitExerFavorAnswerDataNew(answerResult);
 				
 				if(null == returnMap){
@@ -2771,15 +2771,15 @@
 				continue;
 			}
 			
-			/** 3.发送 题目的全站统计  个人统计请求消息  */
+			/** 3.鍙戦�� 棰樼洰鐨勫叏绔欑粺璁�  涓汉缁熻璇锋眰娑堟伅  */
 			exerciseVerService.sendUpdateExerItemStatisticsMsg(answerResult.getExerciseGroupId(), answerResult);
 			
 			returnMap.put("type", exerciseType);
 			resultList.add(returnMap);
 			
-			// 4.---------更新本次提交的数据日志exerciseRecordId
+			// 4.---------鏇存柊鏈鎻愪氦鐨勬暟鎹棩蹇梕xerciseRecordId
 			if(StringUtils.isBlank(initExerciseRecordId) 
-					&& returnMap.get(EXERCISE_RECORD_ID) != null){// 为空 说明第一次提交  更新日志记录id
+					&& returnMap.get(EXERCISE_RECORD_ID) != null){// 涓虹┖ 璇存槑绗竴娆℃彁浜�  鏇存柊鏃ュ織璁板綍id
 				exerciseVerService.doUpdateExerciseDataSubmitLog(exerciseDataLogId, 
 						String.valueOf(returnMap.get(EXERCISE_RECORD_ID)));
 				
@@ -2787,66 +2787,66 @@
 						
 		}
 		
-		/** 4.判断是否全部做题时 统计全部做题信息  */
+		/** 4.鍒ゆ柇鏄惁鍏ㄩ儴鍋氶鏃� 缁熻鍏ㄩ儴鍋氶淇℃伅  */
 		this.doOperFaultBookBySubmitAllAnswer(
 				answerDataList.getCurrTitleNum(), answerDataList.getStatus(),faultBookId, answerDataList.getExerciseType());
 		
 		this.doOperFavorBookBySubmitAllAnswer(
 				answerDataList.getCurrTitleNum(), answerDataList.getStatus(),favoriteBookId, answerDataList.getExerciseType());
 		
-		/**  5.返回结果 */
+		/**  5.杩斿洖缁撴灉 */
 		resultMap.put("success", true);
 		resultMap.put("attrs", resultList);
-		resultMap.put("msg", "提交成功");
+		resultMap.put("msg", "鎻愪氦鎴愬姛");
 		
 		return resultMap;
 	}
 	
 	/**
-	 * 提交单套题答案结果到db 
+	 * 鎻愪氦鍗曞棰樼瓟妗堢粨鏋滃埌db 
 	 */
 	@Override
 	public Result doSubmitExerciseAnswerData(ExerciseSubmitAnswerData answerResult) {
-		// 用户本次做题提交的数据
+		// 鐢ㄦ埛鏈鍋氶鎻愪氦鐨勬暟鎹�
 		Result result = new Result(false);
 					
 		if(answerResult.getItems().isEmpty() 
 				&& !ExerciseRecord.STATUS_SUBMIT.equals(answerResult.getStatus()) 
-				&& answerResult.getSubmitType() != 1){// 提交状态
+				&& answerResult.getSubmitType() != 1){// 鎻愪氦鐘舵��
 			return result;
 		}
 		
 		String exerciseType = answerResult.getType();
 		
 		Map<String,Object> resultMap = null;
-		if(Constants.EXERCISE_TYPE_FAULT.equals(exerciseType)){// 错题本
-			// 更新 提交练习答案
+		if(Constants.EXERCISE_TYPE_FAULT.equals(exerciseType)){// 閿欓鏈�
+			// 鏇存柊 鎻愪氦缁冧範绛旀
 			resultMap = this.doSubmitExerFaultAnswerDataNew(answerResult);
 			
 			if(null == resultMap){
-				return new Result(false,"提交失败");
+				return new Result(false,"鎻愪氦澶辫触");
 			}
 			
-			// 统计全部做题信息/
+			// 缁熻鍏ㄩ儴鍋氶淇℃伅/
 			this.doOperFaultBookBySubmitAllAnswer(null,null,(String) resultMap.get("exerciseBookId"),null);
 			
-		}else if(Constants.EXERCISE_TYPE_FAVORT.equals(exerciseType)){// 收藏
-			// 更新 提交练习答案
+		}else if(Constants.EXERCISE_TYPE_FAVORT.equals(exerciseType)){// 鏀惰棌
+			// 鏇存柊 鎻愪氦缁冧範绛旀
 			resultMap = this.doSubmitExerFavorAnswerDataNew(answerResult);
 			
 			if(null == resultMap){
-				return new Result(false,"提交失败");
+				return new Result(false,"鎻愪氦澶辫触");
 			}
 			
-			// 统计全部做题信息/
+			// 缁熻鍏ㄩ儴鍋氶淇℃伅/
 			this.doOperFavorBookBySubmitAllAnswer(null,null, (String) resultMap.get("exerciseBookId"),null);
 		}else{
 			
-			return new Result(false, "exerciseType传值错误:exerciseType="+exerciseType);
+			return new Result(false, "exerciseType浼犲�奸敊璇細exerciseType="+exerciseType);
 		}
 		
 		
-		// 3.发送 题目的全站统计  个人统计请求消息
+		// 3.鍙戦�� 棰樼洰鐨勫叏绔欑粺璁�  涓汉缁熻璇锋眰娑堟伅
 		List<ExerciseItemAnswerData> lstAnswers= answerResult.getItems();
 		if(!lstAnswers.isEmpty()){
 			exerciseVerService.sendUpdateExerItemStatisticsMsg(answerResult.getExerciseGroupId(), answerResult);
@@ -2859,13 +2859,13 @@
 	}
 	
 	/**
-	 * 初始化错题统计数据
+	 * 鍒濆鍖栭敊棰樼粺璁℃暟鎹�
 	 */
 	@SuppressWarnings("unchecked")
 	@Override
 	public Result doInitFaultStatisData() {
-		log.info("---------------定时器 开始统计做题错题统计信息-----------start ------------------");
-		// 1.计算前一天 对应做题人的做题信息
+		log.info("---------------瀹氭椂鍣� 寮�濮嬬粺璁″仛棰橀敊棰樼粺璁′俊鎭�-----------start ------------------");
+		// 1.璁$畻鍓嶄竴澶� 瀵瑰簲鍋氶浜虹殑鍋氶淇℃伅
 		String sql = "SELECT"
 				+ " 	r.CLASS_ID,"
 				+ " 	t.USER_ID,"
@@ -2892,7 +2892,7 @@
 		List<Object[]> resultlst = this.findBySql(sql, CollectionUtils.newList(yesterday));
 		
 		
-		// 2.错题信息记录表
+		// 2.閿欓淇℃伅璁板綍琛�
 		List<ExerciseFaultStatistics> statisLst = new ArrayList<ExerciseFaultStatistics>(resultlst.size());
 		ExerciseFaultStatistics faultStatis = null;
 		for(Object[] objs:resultlst){
@@ -2914,8 +2914,8 @@
 		
 		this.saveOrUpdateAll(statisLst);
 		
-		log.info("---------------定时器 开始统计做题错题统计信息-----------end ------------------");
-		return new Result(true, "操作成功,统计记录总条数:"+statisLst.size());
+		log.info("---------------瀹氭椂鍣� 寮�濮嬬粺璁″仛棰橀敊棰樼粺璁′俊鎭�-----------end ------------------");
+		return new Result(true, "鎿嶄綔鎴愬姛,缁熻璁板綍鎬绘潯鏁帮細"+statisLst.size());
 	}
 
 	@Override
@@ -2958,7 +2958,7 @@
 		List<Object[]> lstData =this.findBySql(sql, new ArrayList<Object>());
 		
 		if(lstData.isEmpty()){
-			return new Result(false,"最近做题记录数据为空");
+			return new Result(false,"鏈�杩戝仛棰樿褰曟暟鎹负绌�");
 		}
 		
 		List<ExerciseRecentRecord> lstRecord = new ArrayList<ExerciseRecentRecord>(lstData.size());
@@ -2983,7 +2983,7 @@
 		
 		this.saveOrUpdateAll(lstRecord);
 		
-		return new Result(true,"此次插入ExerciseRecentRecord条数:"+lstRecord.size());
+		return new Result(true,"姝ゆ鎻掑叆ExerciseRecentRecord鏉℃暟锛�"+lstRecord.size());
 	}
 
 	@SuppressWarnings({ "unchecked" })
@@ -3003,7 +3003,7 @@
 		List<Object[]> lstData =this.findBySql(sql, new ArrayList<Object>());
 		
 		if(lstData.isEmpty()){
-			return new Result(false,"错题数据为空,本次没有需要更新的错题数据");
+			return new Result(false,"閿欓鏁版嵁涓虹┖,鏈娌℃湁闇�瑕佹洿鏂扮殑閿欓鏁版嵁");
 		}
 		
 		
@@ -3056,7 +3056,7 @@
 		
 		this.saveOrUpdateAll(lstRecord);
 		
-		return new Result(true, "插入ExerciseFaultRecord条数:"+lstRecord.size());
+		return new Result(true, "鎻掑叆ExerciseFaultRecord鏉℃暟锛�"+lstRecord.size());
 	}
 
 	@SuppressWarnings("unchecked")
@@ -3077,7 +3077,7 @@
 				List<Object[]> lstData =this.findBySql(sql, new ArrayList<Object>());
 				
 				if(lstData.isEmpty()){
-					return new Result(false,"收藏数据为空,本次没有需要更新的收藏数据");
+					return new Result(false,"鏀惰棌鏁版嵁涓虹┖,鏈娌℃湁闇�瑕佹洿鏂扮殑鏀惰棌鏁版嵁");
 				}
 				
 				String hql_existRecord = "from ExerciseFavoriteRecord where  favoriteBookId=? and exerciseGroupId=? ";
@@ -3130,7 +3130,7 @@
 				this.saveOrUpdateAll(lstRecord);
 				
 				
-				return new Result(true,"插入ExerciseFavoriteRecord条数:"+lstRecord.size());
+				return new Result(true,"鎻掑叆ExerciseFavoriteRecord鏉℃暟锛�"+lstRecord.size());
 	}
 
 	@Override
@@ -3143,8 +3143,8 @@
 		
 		List<Object[]> lstData2 =this.findwithRawResult(sql2, new ArrayList<Object>());
 		
-		if(lstData2.isEmpty()){//抛异常回滚
-			return new Result(false,"错题数据为空2222");
+		if(lstData2.isEmpty()){//鎶涘紓甯稿洖婊�
+			return new Result(false,"閿欓鏁版嵁涓虹┖2222");
 		}
 		
 		String hql_existRecord = "from ExerciseFaultRecord where  resumeBookId=? and exerciseGroupId=? ";
@@ -3184,7 +3184,7 @@
 		
 		this.saveOrUpdateAll(lstFaults);
 		
-		return new Result(true, "更新ExerciseFault条数:"+lstFaults.size());
+		return new Result(true, "鏇存柊ExerciseFault鏉℃暟锛�"+lstFaults.size());
 	}
 
 	@Override
@@ -3197,8 +3197,8 @@
 		
 		List<Object[]> lstData2 =this.findwithRawResult(sql2, new ArrayList<Object>());
 		
-		if(lstData2.isEmpty()){//抛异常回滚
-			return new Result(false,"收藏数据为空2222");
+		if(lstData2.isEmpty()){//鎶涘紓甯稿洖婊�
+			return new Result(false,"鏀惰棌鏁版嵁涓虹┖2222");
 		}
 		
 		String hql_existRecord = "from ExerciseFavoriteRecord where  favoriteBookId=? and exerciseGroupId=? ";
@@ -3239,7 +3239,7 @@
 		
 		this.saveOrUpdateAll(lstFavors);
 		
-		return new Result(true,"|更新ExerciseFavorite条数:"+lstFavors.size());
+		return new Result(true,"|鏇存柊ExerciseFavorite鏉℃暟锛�"+lstFavors.size());
 	}
 
 	@Override
diff --git a/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseGroupAccuracyDealService.java b/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseGroupAccuracyDealService.java
index 2f0e8f4..56954aa 100644
--- a/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseGroupAccuracyDealService.java
+++ b/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseGroupAccuracyDealService.java
@@ -10,27 +10,27 @@
 import com.qxueyou.scc.exercise.service.IExerciseVerService;
 
 /**
- * 班级正确率处理service
+ * 鐝骇姝g‘鐜囧鐞唖ervice
  * @author zhiyong
  *
  */	
 @Service("ExerciseGroupAccuracyDealService")
 public class ExerciseGroupAccuracyDealService  {
 	
-	/** 缓存service  */
+	/** 缂撳瓨service  */
 	@Autowired
 	ICacheService cache;
 	
-	/** 练习接口service  */
+	/** 缁冧範鎺ュ彛service  */
 	@Autowired
 	IExerciseVerService exerciseVerService;
 	
-	/** 配置service  */
+	/** 閰嶇疆service  */
 	/*@Autowired
 	IConfigService config;*/
 	
 	/**
-	 * 排名更新时间,默认60秒  半小时更新一次
+	 * 鎺掑悕鏇存柊鏃堕棿,榛樿60绉�  鍗婂皬鏃舵洿鏂颁竴娆�
 	 */
 	//private int updateRankMinutes = 60;
 	
@@ -54,19 +54,19 @@
 			String doCount = msg.getUserProperties("doCount");
 			String correctCount = msg.getUserProperties("correctCount");
 			
-			if(cache.get(getCacheIdFromRank(groupId), Integer.class) != null){// 缓存不为空 说明已经处理过
+			if(cache.get(getCacheIdFromRank(groupId), Integer.class) != null){// 缂撳瓨涓嶄负绌� 璇存槑宸茬粡澶勭悊杩�
 				return;
 			}
 			
 			updateUpdateTime(groupId);
 			
-			// 更新字段值到exercise_group_extend表
+			// 鏇存柊瀛楁鍊煎埌exercise_group_extend琛�
 			exerciseVerService.doUpdateExerGroupClsAccuracy(groupId,doCount,correctCount);
 			
 			
 		} catch (Exception e) {
 
-			log.error("更新练习组班级正确率失败:" + e, e);
+			log.error("鏇存柊缁冧範缁勭彮绾ф纭巼澶辫触:" + e, e);
 
 			throw e;
 
@@ -74,7 +74,7 @@
 	}*/
 
 	/**
-	 * 插入缓存记录,标记本次更新排名时间    半小时更新一次
+	 * 鎻掑叆缂撳瓨璁板綍锛屾爣璁版湰娆℃洿鏂版帓鍚嶆椂闂�    鍗婂皬鏃舵洿鏂颁竴娆�
 	 * 
 	 * @param rank
 	private void updateUpdateTime(String groupId) {
@@ -82,7 +82,7 @@
 	}
 
 	/**
-	 * 获取cacheId
+	 * 鑾峰彇cacheId
 	 * 
 	 * @param rank
 	 * @return
diff --git a/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseGroupService.java b/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseGroupService.java
index 95d0528..16dcd25 100644
--- a/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseGroupService.java
+++ b/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseGroupService.java
@@ -39,7 +39,7 @@
 import com.qxueyou.scc.exercise.util.ExerciseUtils;
 
 /**
- * 通知管理服务层
+ * 閫氱煡绠$悊鏈嶅姟灞�
  *
  * @author kevin
  * @createTime 2017-11-1
@@ -106,14 +106,14 @@
 
 			for (ExerciseGroup exerciseGroup : lstExerciseGroup) {
 				if (ExerciseGroup.STATUS_DRAFT != exerciseGroup.getStatus()) {
-					return new Result(false, "只有草稿状态的题库,才能发布。");
+					return new Result(false, "鍙湁鑽夌鐘舵�佺殑棰樺簱,鎵嶈兘鍙戝竷銆�");
 				}
 				exerciseGroup.setStatus(ExerciseGroup.STATUS_PUBLISHED);
 				TraceUtils.setUpdateTrace(exerciseGroup);
 				save(exerciseGroup);
 			}
 		} else {
-			return new Result(false, "没有选择要发布的题库。");
+			return new Result(false, "娌℃湁閫夋嫨瑕佸彂甯冪殑棰樺簱銆�");
 		}
 		return new Result(true);
 	}
@@ -128,14 +128,14 @@
 			List<ExerciseGroup> lstExerciseGroup = this.findByComplexHql(hql, pramMap, ExerciseGroup.class);
 			for (ExerciseGroup exerciseGroup : lstExerciseGroup) {
 				if (ExerciseGroup.STATUS_DRAFT != exerciseGroup.getStatus()) {
-					return new Result(false, "只有发布状态的题库,才能撤回。");
+					return new Result(false, "鍙湁鍙戝竷鐘舵�佺殑棰樺簱,鎵嶈兘鎾ゅ洖銆�");
 				}
 				exerciseGroup.setStatus(ExerciseGroup.STATUS_DRAFT);
 				TraceUtils.setUpdateTrace(exerciseGroup);
 				save(exerciseGroup);
 			}
 		} else {
-			return new Result(false, "没有选择要撤回的题库。");
+			return new Result(false, "娌℃湁閫夋嫨瑕佹挙鍥炵殑棰樺簱銆�");
 		}
 
 		return new Result(true);
@@ -153,14 +153,14 @@
 	public ExerciseGroup queryExerciseGroupDetail(String groupId,String batchId) {
 		ExerciseGroup exerciseGroup = this.read(ExerciseGroup.class, groupId);
 		if(exerciseGroup!=null){
-			//根据批次ID查询考试ID
+			//鏍规嵁鎵规ID鏌ヨ鑰冭瘯ID
 			String hql="select r.examId from ExamBatchClassRe r where r.examBatchId=?";
 			String examId = this.findUnique(hql, CollectionUtils.newList(batchId), String.class);
 			exerciseGroup.setItems(this.queryExerciseItemList(exerciseGroup,examId));
 		}
 		return exerciseGroup;
 	}
-	//补考考试获取试卷设置
+	//琛ヨ�冭�冭瘯鑾峰彇璇曞嵎璁剧疆
 	@Override
 	public ExerciseGroup queryReExerciseGroupDetail(String groupId,String examId) {
 		ExerciseGroup exerciseGroup = this.read(ExerciseGroup.class, groupId);
@@ -171,7 +171,7 @@
 	}
 
 	/**
-	 * 查询练习题目list
+	 * 鏌ヨ缁冧範棰樼洰list
 	 *
 	 * @param groupId
 	 * @return
@@ -182,12 +182,12 @@
 		List<ExerciseItem> lstItems = boundValueOperations.get();
 
 		if(lstItems==null){
-			// 1.查询练习题目信息
+			// 1.鏌ヨ缁冧範棰樼洰淇℃伅
 			StringBuffer hqlBuffer = new StringBuffer(1000);
 			hqlBuffer.append("select item from ExerciseItem item, ExerciseGroupItemRe re, ExerciseGroup g");
 			hqlBuffer.append(" where item.exerciseId=re.exerciseItemId and re.exerciseGroupId=g.groupId");
 			hqlBuffer.append(" and g.groupId = ?  and item.deleteFlag is false  and g.deleteFlag is false");
-			//如果是题库按照题目类型排序,其他按照题目顺序排序
+			//濡傛灉鏄搴撴寜鐓ч鐩被鍨嬫帓搴忥紝鍏朵粬鎸夌収棰樼洰椤哄簭鎺掑簭
 			if(exerciseGroup.getType() == ExerciseGroup.TYPE_EXERCISE_GROUP_LIB){
 				hqlBuffer.append(" and re.deleteFlag is false order by item.type, re.itemOrder");
 			}else{
@@ -196,12 +196,12 @@
 
 			lstItems = this.find(hqlBuffer.toString(), CollectionUtils.newList(exerciseGroup.getGroupId()), ExerciseItem.class);
 
-			// 为空
+			// 涓虹┖
 			if (lstItems.isEmpty()) {
 				return lstItems;
 			}
 
-			// 组装选项,答案,解析等信息
+			// 缁勮閫夐」锛岀瓟妗堬紝瑙f瀽绛変俊鎭�
 			lstItems = getCommonExerItemDetail(lstItems, exerciseGroup.getGroupId());
 
 			boundValueOperations.setIfAbsent(lstItems);
@@ -215,12 +215,12 @@
 		List<ExerciseItem> lstItems = boundValueOperations.get();
 
 		if(true){
-			// 1.查询练习题目信息
+			// 1.鏌ヨ缁冧範棰樼洰淇℃伅
 			StringBuffer hqlBuffer = new StringBuffer(1000);
 			hqlBuffer.append("select item from ExerciseItem item, ExerciseGroupItemRe re, ExerciseGroup g");
 			hqlBuffer.append(" where item.exerciseId=re.exerciseItemId and re.exerciseGroupId=g.groupId");
 			hqlBuffer.append(" and g.groupId = ?  and item.deleteFlag is false  and g.deleteFlag is false");
-			//如果是题库按照题目类型排序,其他按照题目顺序排序
+			//濡傛灉鏄搴撴寜鐓ч鐩被鍨嬫帓搴忥紝鍏朵粬鎸夌収棰樼洰椤哄簭鎺掑簭
 			if(exerciseGroup.getType() == ExerciseGroup.TYPE_EXERCISE_GROUP_LIB){
 				hqlBuffer.append(" and re.deleteFlag is false order by item.type, re.itemOrder");
 			}else{
@@ -229,12 +229,12 @@
 
 			lstItems = this.find(hqlBuffer.toString(), CollectionUtils.newList(exerciseGroup.getGroupId()), ExerciseItem.class);
 
-			// 为空
+			// 涓虹┖
 			if (lstItems.isEmpty()) {
 				return lstItems;
 			}
 
-			// 组装选项,答案,解析等信息
+			// 缁勮閫夐」锛岀瓟妗堬紝瑙f瀽绛変俊鎭�
 			lstItems = getCommonExerItemDetail(lstItems, exerciseGroup.getGroupId(),examId);
 
 			boundValueOperations.setIfAbsent(lstItems);
@@ -245,7 +245,7 @@
 	}
 
 	/**
-	 * 重新组装练习题 加入分析结果
+	 * 閲嶆柊缁勮缁冧範棰� 鍔犲叆鍒嗘瀽缁撴灉
 	 *
 	 * @param lstItems
 	 * @param exerciseGroupId
@@ -253,20 +253,20 @@
 	 * @return
 	 */
 	private List<ExerciseItem> getCommonExerItemDetail(List<ExerciseItem> lstItems, String exerciseGroupId) {
-		// 0.组装参数
+		// 0.缁勮鍙傛暟
 		Map<String, Object> argsMap = new HashMap<String, Object>();
 		Object[] args = new Object[lstItems.size()];
 		for (int i = 0; i < lstItems.size(); i++) {
 			args[i] = lstItems.get(i).getExerciseId();
 		}
 		argsMap.put("exerciseIds", args);
-		//查询题目得分
+		//鏌ヨ棰樼洰寰楀垎
 		String hql_itemScores = "from ExerciseItemScore s where s.groupId=:groupId and s.exerciseItemId in (:exerciseIds) and s.deleteFlag is false  order by exerciseItemId";
 		List<ExerciseItemScore> lstItemScores = this.findByComplexHql(hql_itemScores, CollectionUtils.newObjectMap("groupId",exerciseGroupId,"exerciseIds",args), ExerciseItemScore.class);
 		Map<String, List<ExerciseItemScore>> scoresMap=  new HashMap<String,List<ExerciseItemScore>>(lstItemScores.size());
 		ExerciseUtils.packageExerciseItemScore(scoresMap, lstItemScores);
 
-		// 1.查询练习题目全站分析
+		// 1.鏌ヨ缁冧範棰樼洰鍏ㄧ珯鍒嗘瀽
 		String hql_analisis = "from ExerciseItemAnalisi  where exerciseItemId in (:exerciseIds)  and deleteFlag is false ";
 		List<ExerciseItemAnalisi> lstAnalisis = this.findByComplexHql(hql_analisis, argsMap, ExerciseItemAnalisi.class);
 		Map<String, List<ExerciseItemAnalisi>> analisiMap = new HashMap<String, List<ExerciseItemAnalisi>>(lstAnalisis.size());
@@ -278,42 +278,42 @@
 			}
 		}
 
-		// 2.查询练习题目答案选项
+		// 2.鏌ヨ缁冧範棰樼洰绛旀閫夐」
 		Map<String, List<ExerciseItemOption>> optionsMap = new HashMap<String, List<ExerciseItemOption>>(
 				lstItems.size());
 		Map<String, String> answerMap = new HashMap<String, String>();
 		String hql_options = "from ExerciseItemOption where exerciseItemId in (:exerciseIds) and deleteFlag is false order by exerciseItemId, optionOrder ";
 		List<ExerciseItemOption> lstAllOptions = this.findByComplexHql(hql_options, argsMap, ExerciseItemOption.class);
 
-		// 重新组装练习
+		// 閲嶆柊缁勮缁冧範
 		ExerciseUtils.packageExerciseItem(optionsMap, answerMap, lstAllOptions, null);
 
 		String exerciseId = null;
 		for (ExerciseItem item : lstItems) {
 
-			// 4.0 分析结果
+			// 4.0 鍒嗘瀽缁撴灉
 			exerciseId = item.getExerciseId();
 
-			// 得到练习组id
+			// 寰楀埌缁冧範缁刬d
 			if (StringUtils.isNotBlank(exerciseGroupId)) {
 				item.setExerciseGroupId(exerciseGroupId);
 			}
 
-			// 4.3 题目选项
+			// 4.3 棰樼洰閫夐」
 			item.setOptions(optionsMap.get(exerciseId));
 
 			item.setAnalisisResult(null);
 			item.setAnalysises(null);
 			item.setAnalysises(analisiMap.get(exerciseId));
 
-			//组装练习题目
+			//缁勮缁冧範棰樼洰
 			item.setScores(scoresMap.get(exerciseId));
 		}
 
 		return lstItems;
 	}
 	/**
-	 * 重新组装练习题 加入分析结果
+	 * 閲嶆柊缁勮缁冧範棰� 鍔犲叆鍒嗘瀽缁撴灉
 	 *
 	 * @param lstItems
 	 * @param exerciseGroupId
@@ -321,7 +321,7 @@
 	 * @return
 	 */
 	private List<ExerciseItem> getCommonExerItemDetail(List<ExerciseItem> lstItems, String exerciseGroupId,String examId) {
-		// 0.组装参数
+		// 0.缁勮鍙傛暟
 		Map<String, Object> argsMap = new HashMap<String, Object>();
 		Object[] args = new Object[lstItems.size()];
 		for (int i = 0; i < lstItems.size(); i++) {
@@ -329,21 +329,21 @@
 		}
 		argsMap.put("exerciseIds", args);
 
-		//查询题目得分
+		//鏌ヨ棰樼洰寰楀垎
 		String hql_itemScores = "from ExerciseItemScore s where s.groupId=:groupId and s.exerciseItemId in (:exerciseIds) and s.deleteFlag is false  order by exerciseItemId";
 		List<ExerciseItemScore> lstItemScores = this.findByComplexHql(hql_itemScores, CollectionUtils.newObjectMap("groupId",exerciseGroupId,"exerciseIds",args), ExerciseItemScore.class);
 		Map<String, List<ExerciseItemScore>> scoresMap= new HashMap<String,List<ExerciseItemScore>>();
 		log.error("=================================================");
 		List<ExerciseItemSet> exerciseItemSets=null;
 		if (lstItemScores==null||lstItemScores.size()<=0){
-			//根据考试ID查询itemSet
+			//鏍规嵁鑰冭瘯ID鏌ヨitemSet
 			String hql = "select r from ExerciseItemSet r where r.exerciseInfoId=?";
 			exerciseItemSets = this.find(hql, CollectionUtils.newList(examId), ExerciseItemSet.class);
 		}else {
 			ExerciseUtils.packageExerciseItemScore(scoresMap, lstItemScores);
 		}
 
-		// 1.查询练习题目全站分析
+		// 1.鏌ヨ缁冧範棰樼洰鍏ㄧ珯鍒嗘瀽
 		String hql_analisis = "from ExerciseItemAnalisi  where exerciseItemId in (:exerciseIds)  and deleteFlag is false ";
 		List<ExerciseItemAnalisi> lstAnalisis = this.findByComplexHql(hql_analisis, argsMap, ExerciseItemAnalisi.class);
 		Map<String, List<ExerciseItemAnalisi>> analisiMap = new HashMap<String, List<ExerciseItemAnalisi>>(lstAnalisis.size());
@@ -355,40 +355,40 @@
 			}
 		}
 
-		// 2.查询练习题目答案选项
+		// 2.鏌ヨ缁冧範棰樼洰绛旀閫夐」
 		Map<String, List<ExerciseItemOption>> optionsMap = new HashMap<String, List<ExerciseItemOption>>(
 				lstItems.size());
 		Map<String, String> answerMap = new HashMap<String, String>();
 		String hql_options = "from ExerciseItemOption where exerciseItemId in (:exerciseIds) and deleteFlag is false order by exerciseItemId, optionOrder ";
 		List<ExerciseItemOption> lstAllOptions = this.findByComplexHql(hql_options, argsMap, ExerciseItemOption.class);
 
-		// 重新组装练习
+		// 閲嶆柊缁勮缁冧範
 		ExerciseUtils.packageExerciseItem(optionsMap, answerMap, lstAllOptions, null);
 
 		String exerciseId = null;
 		for (ExerciseItem item : lstItems) {
 
-			// 4.0 分析结果
+			// 4.0 鍒嗘瀽缁撴灉
 			exerciseId = item.getExerciseId();
 
-			// 得到练习组id
+			// 寰楀埌缁冧範缁刬d
 			if (StringUtils.isNotBlank(exerciseGroupId)) {
 				item.setExerciseGroupId(exerciseGroupId);
 			}
 
-			// 4.3 题目选项
+			// 4.3 棰樼洰閫夐」
 			item.setOptions(optionsMap.get(exerciseId));
 
 			item.setAnalisisResult(null);
 			item.setAnalysises(null);
 			item.setAnalysises(analisiMap.get(exerciseId));
-			//组装练习题目
+			//缁勮缁冧範棰樼洰
 			item.setScores(scoresMap.get(exerciseId));
-			//随机试题没有对应分数,需要根据考试Id从item_set里查询每种题目的分数设置
+			//闅忔満璇曢娌℃湁瀵瑰簲鍒嗘暟锛岄渶瑕佹牴鎹�冭瘯Id浠巌tem_set閲屾煡璇㈡瘡绉嶉鐩殑鍒嗘暟璁剧疆
 			if (exerciseItemSets != null ) {
-				//遍历每个item
+				//閬嶅巻姣忎釜item
 				short type = item.getType();
-				//遍历itemset,每个item根据type获取对应类型的分数设置
+				//閬嶅巻itemset锛屾瘡涓猧tem鏍规嵁type鑾峰彇瀵瑰簲绫诲瀷鐨勫垎鏁拌缃�
 				for (ExerciseItemSet exerciseItemSet : exerciseItemSets) {
 					if (exerciseItemSet.getItemType() == type) {
 						/**
@@ -417,12 +417,12 @@
 	@Override
 	public int doCopyExerciseGroupItem(ExerciseGroup sourceGroup, ExerciseGroup targetGroup,Short[] itemTypes, int startOrder)
 			throws IllegalAccessException, InvocationTargetException {
-		//参数判断
+		//鍙傛暟鍒ゆ柇
 		if(sourceGroup==null || targetGroup==null || ArrayUtils.isEmpty(itemTypes)){
 			return  0;
 		}
 
-		//查询题目组与题目关联关系,需要过滤掉在目标题目组中已拷贝过的题目
+		//鏌ヨ棰樼洰缁勪笌棰樼洰鍏宠仈鍏崇郴,闇�瑕佽繃婊ゆ帀鍦ㄧ洰鏍囬鐩粍涓凡鎷疯礉杩囩殑棰樼洰
 		String hql = "select r1 from ExerciseGroupItemRe r1,ExerciseItem i where r1.exerciseItemId = i.exerciseId and i.type in(:itemTypes) and r1.deleteFlag is false and r1.exerciseGroupId = :sourceGroupId "
 				+ " and not exists (select 1 from ExerciseGroupItemRe r2 where r2.deleteFlag is false and r2.exerciseItemId = r1.exerciseItemId  and r2.exerciseGroupId = :targetGroupId ) order by r1.itemOrder ASC ";
 
@@ -432,7 +432,7 @@
 		queryParamMap.put("itemTypes", itemTypes);
 		List<ExerciseGroupItemRe> lstSourceGroupRe = this.findByComplexHql(hql,queryParamMap,ExerciseGroupItemRe.class);
 
-		//查询题目组关联的得分信息,只关联获取没初化过的
+		//鏌ヨ棰樼洰缁勫叧鑱旂殑寰楀垎淇℃伅,鍙叧鑱旇幏鍙栨病鍒濆寲杩囩殑
 		String hql_itemScores = "select s1 from ExerciseItemScore s1,ExerciseItem i where s1.exerciseItemId = i.exerciseId and i.type in(:itemTypes) and s1.groupId=:sourceGroupId and s1.deleteFlag is false and not exists ("
 				+ " select 1 from ExerciseItemScore s2 where s2.deleteFlag is false and s2.exerciseItemId = s1.exerciseItemId  and s2.groupId =:targetGroupId ) order by s1.exerciseItemId";
 		List<ExerciseItemScore> lstItemScores = this.findByComplexHql(hql_itemScores,queryParamMap, ExerciseItemScore.class);
@@ -444,11 +444,11 @@
 
 		int copyItemSize=0;
 		if(lstSourceGroupRe!=null && lstSourceGroupRe.size()>0){
-			//更新item的顺序号
+			//鏇存柊item鐨勯『搴忓彿
 			this.bulkUpdate("update ExerciseGroupItemRe r set r.itemOrder=r.itemOrder+"+lstSourceGroupRe.size()
 				+" where r.exerciseGroupId=? and r.itemOrder>? and r.deleteFlag is false ", new Object[]{targetGroup.getGroupId(),startOrder});
 
-			//拷贝item
+			//鎷疯礉item
 			copyItemSize=lstSourceGroupRe.size();
 			int itemOrder = startOrder;
 			ExerciseItemScore objItemScore = null;
@@ -461,7 +461,7 @@
 				ojbItemRe.setExerciseGroupId(targetGroup.getGroupId());
 				lstTargetItemRe.add(ojbItemRe);
 
-				//复制题目分数信息
+				//澶嶅埗棰樼洰鍒嗘暟淇℃伅
 				List<ExerciseItemScore> scores = scoresMap.get(it.getExerciseItemId());
 				if(scores!=null && scores.size()>0){
 					for(int i=0;i<scores.size();i++){
@@ -482,12 +482,12 @@
 	@Override
 	public int doCopyExerciseGroupItem(ExerciseGroup sourceGroup, ExerciseGroup targetGroup,String[] exerciseItemIds, int startOrder)
 			throws IllegalAccessException, InvocationTargetException {
-		//参数判断
+		//鍙傛暟鍒ゆ柇
 		if(sourceGroup==null || targetGroup==null || ArrayUtils.isEmpty(exerciseItemIds)){
 			return  0;
 		}
 
-		//查询题目组与题目关联关系,需要过滤掉在目标题目组中已拷贝过的题目
+		//鏌ヨ棰樼洰缁勪笌棰樼洰鍏宠仈鍏崇郴,闇�瑕佽繃婊ゆ帀鍦ㄧ洰鏍囬鐩粍涓凡鎷疯礉杩囩殑棰樼洰
 		String hql = "select r1 from ExerciseGroupItemRe r1 where r1.exerciseItemId in(:exerciseItemIds) and r1.deleteFlag is false and r1.exerciseGroupId = :sourceGroupId "
 				+ " and not exists (select 1 from ExerciseGroupItemRe r2 where r2.deleteFlag is false and r2.exerciseItemId = r1.exerciseItemId  and r2.exerciseGroupId = :targetGroupId ) order by r1.itemOrder ASC ";
 
@@ -497,7 +497,7 @@
 		queryParamMap.put("exerciseItemIds", exerciseItemIds);
 		List<ExerciseGroupItemRe> lstSourceGroupRe = this.findByComplexHql(hql,queryParamMap,ExerciseGroupItemRe.class);
 
-		//查询题目组关联的得分信息,只关联获取没初化过的
+		//鏌ヨ棰樼洰缁勫叧鑱旂殑寰楀垎淇℃伅,鍙叧鑱旇幏鍙栨病鍒濆寲杩囩殑
 		String hql_itemScores = "select s1 from ExerciseItemScore s1 where s1.exerciseItemId in (:exerciseItemIds) and  s1.groupId=:sourceGroupId and s1.deleteFlag is false and not exists ("
 				+ " select 1 from ExerciseItemScore s2 where s2.deleteFlag is false and s2.exerciseItemId = s1.exerciseItemId  and s2.groupId =:targetGroupId ) order by s1.exerciseItemId";
 		List<ExerciseItemScore> lstItemScores = this.findByComplexHql(hql_itemScores,queryParamMap, ExerciseItemScore.class);
@@ -509,11 +509,11 @@
 
 		int copyItemSize=0;
 		if(lstSourceGroupRe!=null && lstSourceGroupRe.size()>0){
-			//更新item的顺序号
+			//鏇存柊item鐨勯『搴忓彿
 			this.bulkUpdate("update ExerciseGroupItemRe r set r.itemOrder=r.itemOrder+"+lstSourceGroupRe.size()
 				+" where r.exerciseGroupId=? and r.itemOrder>? and r.deleteFlag is false ", new Object[]{targetGroup.getGroupId(),startOrder});
 
-			//拷贝item
+			//鎷疯礉item
 			copyItemSize=lstSourceGroupRe.size();
 			int itemOrder = startOrder;
 			ExerciseItemScore objItemScore = null;
@@ -526,7 +526,7 @@
 				ojbItemRe.setExerciseGroupId(targetGroup.getGroupId());
 				lstTargetItemRe.add(ojbItemRe);
 
-				//复制题目分数信息
+				//澶嶅埗棰樼洰鍒嗘暟淇℃伅
 				List<ExerciseItemScore> scores = scoresMap.get(it.getExerciseItemId());
 				if(scores!=null && scores.size()>0){
 					for(int i=0;i<scores.size();i++){
@@ -553,7 +553,7 @@
 		queryParams.put("groupId", groupId);
 		queryParams.put("exerciseItemIds", new String[] { exerciseItemId1, exerciseItemId2 });
 		List<ExerciseGroupItemRe> lstItemRe = this.findByComplexHql(hql, queryParams, ExerciseGroupItemRe.class);
-		// 交换顺序号
+		// 浜ゆ崲椤哄簭鍙�
 		int tempOrder = lstItemRe.get(0).getItemOrder();
 		lstItemRe.get(0).setItemOrder(lstItemRe.get(1).getItemOrder());
 		lstItemRe.get(1).setItemOrder(tempOrder);
@@ -575,18 +575,18 @@
 
 			for (ExerciseGroup exerciseGroup : lstExerciseLibs) {
 				if (ExerciseGroup.STATUS_DRAFT != exerciseGroup.getStatus()) {
-					return new Result(false, "只有草稿状态的题库,才能发布。");
+					return new Result(false, "鍙湁鑽夌鐘舵�佺殑棰樺簱,鎵嶈兘鍙戝竷銆�");
 				}
-				//判断题库中是否有题,有题目的题库才能发布
+				//鍒ゆ柇棰樺簱涓槸鍚︽湁棰橈紝鏈夐鐩殑棰樺簱鎵嶈兘鍙戝竷
 				if(exerciseGroup.getAllCount()==null || exerciseGroup.getAllCount().intValue()<=0){
-					return new Result(false, "只有已经配置题目的题库,才能发布。");
+					return new Result(false, "鍙湁宸茬粡閰嶇疆棰樼洰鐨勯搴�,鎵嶈兘鍙戝竷銆�");
 				}
 				exerciseGroup.setStatus(ExerciseGroup.STATUS_PUBLISHED);
 				TraceUtils.setUpdateTrace(exerciseGroup);
 				save(exerciseGroup);
 			}
 		} else {
-			return new Result(false, "没有选择要发布的题库。");
+			return new Result(false, "娌℃湁閫夋嫨瑕佸彂甯冪殑棰樺簱銆�");
 		}
 		return new Result(true);
 	}
@@ -603,14 +603,14 @@
 
 			for (ExerciseGroup exerciseGroup : lstExerciseLibs) {
 				if (ExerciseGroup.STATUS_PUBLISHED != exerciseGroup.getStatus()) {
-					return new Result(false, "只有发布状态的题库,才能撤回。");
+					return new Result(false, "鍙湁鍙戝竷鐘舵�佺殑棰樺簱,鎵嶈兘鎾ゅ洖銆�");
 				}
 				exerciseGroup.setStatus(ExerciseGroup.STATUS_DRAFT);
 				TraceUtils.setUpdateTrace(exerciseGroup);
 				save(exerciseGroup);
 			}
 		} else {
-			return new Result(false, "没有选择要撤回的题库。");
+			return new Result(false, "娌℃湁閫夋嫨瑕佹挙鍥炵殑棰樺簱銆�");
 		}
 		return new Result(true);
 	}
@@ -653,19 +653,19 @@
 
 
 	/**
-	 * 创建考试题目
+	 * 鍒涘缓鑰冭瘯棰樼洰
 	 *
 	 * @param groupIds
 	 * @return
 	 */
 	private Result doCreateRandomExerciseItem(String[] groupIds, List<ExerciseItemSet> lstExerciseItemSet) {
 		if (groupIds.length == 0 || lstExerciseItemSet == null || lstExerciseItemSet.size() == 0) {
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
 
 		List<Map<String, Object>> lstExerciseItem = new ArrayList<Map<String, Object>>();
 
-		//按照题型(单选题(1),多选题(2),判断题(3), 填空题(8),简答题(4))排序lstExerciseItemSet
+		//鎸夌収棰樺瀷(鍗曢�夐(1)锛屽閫夐(2)锛屽垽鏂(3)锛� 濉┖棰�(8)锛岀畝绛旈(4))鎺掑簭lstExerciseItemSet
 		Collections.sort(lstExerciseItemSet, new Comparator<ExerciseItemSet>(){
 			@Override
 			public int compare(ExerciseItemSet o1, ExerciseItemSet o2) {
@@ -690,7 +690,7 @@
 					CollectionUtils.newObjectMap("exerciseGroupId", paramGroupIds, "type", itemSet.getItemType()));
 
 			if (lstItem.size() < itemSet.getItemCount()) {
-				return new Result(false, "题目数据不够,请增加题库的题目或者减少试卷的题数");
+				return new Result(false, "棰樼洰鏁版嵁涓嶅锛岃澧炲姞棰樺簱鐨勯鐩垨鑰呭噺灏戣瘯鍗风殑棰樻暟");
 			}
 
 			lstExerciseItem.addAll(this.getRandomList(lstItem, itemSet.getItemCount()));
@@ -700,7 +700,7 @@
 	}
 
 	/**
-	 * 随机获取List中若干数据
+	 * 闅忔満鑾峰彇List涓嫢骞叉暟鎹�
 	 *
 	 * @param paramList
 	 * @param count
@@ -715,7 +715,7 @@
 		List<Map<String, Object>> newList = new ArrayList<Map<String, Object>>();
 		int temp = 0;
 		for (int i = 0; i < count; i++) {
-			temp = random.nextInt(paramList.size());// 将产生的随机数作为被抽list的索引
+			temp = random.nextInt(paramList.size());// 灏嗕骇鐢熺殑闅忔満鏁颁綔涓鸿鎶絣ist鐨勭储寮�
 			if (!tempList.contains(temp)) {
 				tempList.add(temp);
 				newList.add(paramList.get(temp));
@@ -727,7 +727,7 @@
 	}
 
 	/**
-	 * 获取题库中各种题型的数量
+	 * 鑾峰彇棰樺簱涓悇绉嶉鍨嬬殑鏁伴噺
 	 * @param groupIds
 	 * @return
 	 */
diff --git a/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseInfoService.java b/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseInfoService.java
index 99b8d9e..8efc799 100644
--- a/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseInfoService.java
+++ b/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseInfoService.java
@@ -61,7 +61,7 @@
 import com.qxueyou.scc.teach.res.model.ResFile;
 
 /**
- * 考试
+ * 鑰冭瘯
  * 
  * @author lihanqi
  *
@@ -72,7 +72,7 @@
 
 	private final String[] EXAM_TYPES = new String[] { "A", "B", "C", "D" };
 
-	/** 练习V2.0版本接口service */
+	/** 缁冧範V2.0鐗堟湰鎺ュ彛service */
 	@Autowired
 	private IExerciseVerService exerciseVerService;
 
@@ -138,7 +138,7 @@
 	}
 	
 	/**
-	 * 保存作业
+	 * 淇濆瓨浣滀笟
 	 * 
 	 * @return
 	 */
@@ -154,34 +154,34 @@
 		this.save(exerciseInfo);
 
 		if (exerciseInfo.getType() == ExerciseInfo.EXERCISE_TYPE_ANSWER) {
-			// 保存题目类型
+			// 淇濆瓨棰樼洰绫诲瀷
 			List<ExerciseItemSet> lstExerciseItemSet = exerciseInfo.getExerciseItemSets();
 			this.saveExerciseItemSet(exerciseInfoId,lstExerciseItemSet);
 			
-			//生成作业题目信息
+			//鐢熸垚浣滀笟棰樼洰淇℃伅
 			String[] sourceGroupIds = QBeanUtils.listPropertyVal(exerciseInfo.getReGroups(), "groupId").toArray(new String[exerciseInfo.getReGroups().size()]);
 			
 			String newGroupId = this.exerciseGroupService.doCreateRandomExerciseGroup(
-					exerciseInfo.getName() + "-作业",ExerciseGroup.TYPE_EXERCISE_EXAM_ITEM,sourceGroupIds,lstExerciseItemSet);
+					exerciseInfo.getName() + "-浣滀笟",ExerciseGroup.TYPE_EXERCISE_EXAM_ITEM,sourceGroupIds,lstExerciseItemSet);
 				
 			if(StringUtils.isEmpty(newGroupId)){
-				return new Result(false, "题目数据不够,请增加题库的题目或者减少试卷的题数",exerciseInfoId);
+				return new Result(false, "棰樼洰鏁版嵁涓嶅锛岃澧炲姞棰樺簱鐨勯鐩垨鑰呭噺灏戣瘯鍗风殑棰樻暟",exerciseInfoId);
 			}
 			
 			this.saveExerciseExamReGroup(exerciseInfoId,new String[]{newGroupId},EXAM_TYPES[0],ExerciseExamReGroup.GROUP_TYPE_EXAM);
 			
-			// 保存关联题库信息
+			// 淇濆瓨鍏宠仈棰樺簱淇℃伅
 			this.saveExerciseExamReGroup(exerciseInfoId,sourceGroupIds,null,ExerciseExamReGroup.GROUP_TYPE_SOURCE);
 		}
 		
-		// 保存关联班级
+		// 淇濆瓨鍏宠仈鐝骇
 		this.saveExerciseExamReClass(exerciseInfoId, classIds);
 		
 		return new Result(true, "", exerciseInfoId);
 	}
 
 	/**
-	 * 修改练习
+	 * 淇敼缁冧範
 	 * 
 	 * @return
 	 */
@@ -204,42 +204,42 @@
 		TraceUtils.setUpdateTrace(newExerciseInfo);
 		this.save(newExerciseInfo);
 		
-		//清理旧关系数据
+		//娓呯悊鏃у叧绯绘暟鎹�
 		this.doClearExerciseExamReData(exerciseInfoId);
 		
-		// 答题作业默认按照统一卷生成作业题目
+		// 绛旈浣滀笟榛樿鎸夌収缁熶竴鍗风敓鎴愪綔涓氶鐩�
 		
 		if (newExerciseInfo.getType() == ExerciseInfo.EXERCISE_TYPE_ANSWER) {
 			
-			// 保存题目类型
+			// 淇濆瓨棰樼洰绫诲瀷
 			List<ExerciseItemSet> lstExerciseItemSet = exerciseInfo.getExerciseItemSets();
 			
 			saveExerciseItemSet(exerciseInfoId,lstExerciseItemSet);
 			
-			//生成作业题目信息
+			//鐢熸垚浣滀笟棰樼洰淇℃伅
 			String[] groupIds = QBeanUtils.listPropertyVal(exerciseInfo.getReGroups(), "groupId").toArray(new String[exerciseInfo.getReGroups().size()]);
 			String newGroupId = this.exerciseGroupService.doCreateRandomExerciseGroup(
-						exerciseInfo.getName() + "-作业",ExerciseGroup.TYPE_EXERCISE_EXAM_ITEM,groupIds, lstExerciseItemSet);
+						exerciseInfo.getName() + "-浣滀笟",ExerciseGroup.TYPE_EXERCISE_EXAM_ITEM,groupIds, lstExerciseItemSet);
 				
 			if(StringUtils.isEmpty(newGroupId)){
-				return new Result(false, "题目数据不够,请增加题库的题目或者减少试卷的题数");
+				return new Result(false, "棰樼洰鏁版嵁涓嶅锛岃澧炲姞棰樺簱鐨勯鐩垨鑰呭噺灏戣瘯鍗风殑棰樻暟");
 			}
 			
 			this.saveExerciseExamReGroup(exerciseInfoId,new String[]{newGroupId},EXAM_TYPES[0],ExerciseExamReGroup.GROUP_TYPE_EXAM);
 			
-			// 保存关联题库信息
+			// 淇濆瓨鍏宠仈棰樺簱淇℃伅
 			this.saveExerciseExamReGroup(exerciseInfoId,groupIds,null,ExerciseExamReGroup.GROUP_TYPE_SOURCE);
 			
 		
 		}
 
-		// 保存关联班级
+		// 淇濆瓨鍏宠仈鐝骇
 		this.saveExerciseExamReClass(exerciseInfoId, classIds);
 		
 		return new Result(true, "", exerciseInfoId);
 	}
 	
-	//清除之前的练习关联关系数据
+	//娓呴櫎涔嬪墠鐨勭粌涔犲叧鑱斿叧绯绘暟鎹�
 	private void doClearExerciseExamReData(String exerciseInfoId){
 		this.bulkUpdate("update ExerciseExamReGroup set deleteFlag = 1 where examId = ?",new Object[]{exerciseInfoId});
 		this.bulkUpdate("update ExerciseExamReClass set deleteFlag = 1 where examId = ?",new Object[] {exerciseInfoId});
@@ -281,7 +281,7 @@
 	}
 
 	/**
-	 * 删除作业
+	 * 鍒犻櫎浣滀笟
 	 * 
 	 * @param examId
 	 * @return
@@ -330,7 +330,7 @@
 			params.add(subjectId);
 		}
 		
-		//默认全部,0待完成,1已提交 ,2:已批阅,3需重写,4:逾期未交
+		//榛樿鍏ㄩ儴锛�0寰呭畬鎴愶紝1宸叉彁浜� ,2:宸叉壒闃�,3闇�閲嶅啓,4:閫炬湡鏈氦
 		if(status!=null){
 			Date nowTime = new Date();
 			if(status==0){
@@ -385,7 +385,7 @@
 			params.add(subjectId);
 		}
 		
-		//默认全部,0待完成,1已提交 ,2:已批阅,3需重写,4:逾期未交
+		//榛樿鍏ㄩ儴锛�0寰呭畬鎴愶紝1宸叉彁浜� ,2:宸叉壒闃�,3闇�閲嶅啓,4:閫炬湡鏈氦
 		if(status!=null){
 			Date nowTime = new Date();
 			if(status==0){
@@ -413,7 +413,7 @@
 	}
 	
 	/**
-	 * 初始化平均成绩和最高成绩
+	 * 鍒濆鍖栧钩鍧囨垚缁╁拰鏈�楂樻垚缁�
 	 * 
 	 * @param groupId
 	 * @return
@@ -427,7 +427,7 @@
 	}
 
 	/**
-	 * 题目得分详情
+	 * 棰樼洰寰楀垎璇︽儏
 	 * 
 	 * @param groupId
 	 * @return
@@ -443,13 +443,13 @@
 			return new ArrayList<ExerciseItemStatistics>();
 		}
 
-		// 默认章节练习
+		// 榛樿绔犺妭缁冧範
 		String hql = "select item from ExerciseItem item,ExerciseGroupItemRe re where re.exerciseGroupId in("
 				+ " select c.groupId from ExerciseExamReGroup c where c.examId = ? and c.type = ? and c.deleteFlag is false)"
 				+ "and re.exerciseItemId=item.exerciseId and item.deleteFlag is false "
 				+ "and re.deleteFlag is false order by re.itemOrder ";
 
-		// 查询当前组的所有题目
+		// 鏌ヨ褰撳墠缁勭殑鎵�鏈夐鐩�
 		List<ExerciseItem> itemAllLst = this.find(hql,
 				CollectionUtils.newList(examId, ExerciseExamReGroup.GROUP_TYPE_EXAM), ExerciseItem.class);
 
@@ -457,7 +457,7 @@
 			return new ArrayList<ExerciseItemStatistics>();
 		}
 
-		// 同步编号
+		// 鍚屾缂栧彿
 		List<ExerciseItemStatistics> listResult = new ArrayList<ExerciseItemStatistics>(itemStatisLst.size());
 		ExerciseItemStatistics obj = null;
 		for (int j = 0; j < itemAllLst.size(); j++) {
@@ -469,7 +469,7 @@
 					obj.setClassAccuracyShow(obj.getClassAccuracy() + "%");
 					obj.setOrgAccuracyShow(obj.getOrgAccuracy() + "%");
 
-					// 给类型赋值
+					// 缁欑被鍨嬭祴鍊�
 					setExerItemTypeNewName(obj);
 					listResult.add(obj);
 					break;
@@ -481,20 +481,20 @@
 	}
 
 	private void setExerItemTypeNewName(ExerciseItemStatistics obj) {
-		// 判断类型文字显示
+		// 鍒ゆ柇绫诲瀷鏂囧瓧鏄剧ず
 		if (obj.getExerciseItemType() == ExerciseItem.TYPE_SINGLE_SELECT) {
-			obj.setItemTypeName("单选题");
+			obj.setItemTypeName("鍗曢�夐");
 		} else if (obj.getExerciseItemType() == ExerciseItem.TYPE_MULTI_SELECT) {
-			obj.setItemTypeName("多选题");
+			obj.setItemTypeName("澶氶�夐");
 		} else if (obj.getExerciseItemType() == ExerciseItem.TYPE_TRUE_OR_FALSE) {
-			obj.setItemTypeName("判断题");
+			obj.setItemTypeName("鍒ゆ柇棰�");
 		} else if (obj.getExerciseItemType() == ExerciseItem.TYPE_ESSAY_QUESTION) {
-			obj.setItemTypeName("问答题");
+			obj.setItemTypeName("闂瓟棰�");
 		}
 	}
 
 	/**
-	 * 开始题目作业
+	 * 寮�濮嬮鐩綔涓�
 	 * 
 	 * @param examId
 	 * @return
@@ -510,14 +510,14 @@
 	}
 
 	/**
-	 * 开始题目作业
+	 * 寮�濮嬮鐩綔涓�
 	 * 
 	 * @param examId
 	 * @return
 	 */
 	private Result doStartAnswerExercise(ExerciseInfo exerciseInfo, ClsClass clsClass, String studentUserId) {
 		Result result = new Result(true);
-		// 正在做题数
+		// 姝e湪鍋氶鏁�
 		ExerciseRecord record = this.findUnique(
 				"select r from ExerciseRecord r where r.deleteFlag is false and r.userId = ? and r.exerciseGroupId in"
 						+ " (select g.groupId from ExerciseExamReGroup g where g.examId = ? and g.deleteFlag is false and g.type = ?)",
@@ -525,23 +525,23 @@
 						exerciseInfo.getExerciseInfoId(), ExerciseExamReGroup.GROUP_TYPE_EXAM),ExerciseRecord.class);
 
 		if (record == null) {
-			// 获取分组练习
+			// 鑾峰彇鍒嗙粍缁冧範
 			String groupId = this.findUnique(
 					"select g.groupId from ExerciseExamReGroup g where g.examId = ? and g.deleteFlag is false and g.type = ?",
 					CollectionUtils.newList(exerciseInfo.getExerciseInfoId(), ExerciseExamReGroup.GROUP_TYPE_EXAM),
 					String.class);
 
 			if (StringUtils.isEmpty(groupId)) {
-				return new Result(false, "开始作业获取题目失败");
+				return new Result(false, "寮�濮嬩綔涓氳幏鍙栭鐩け璐�");
 			}
 
 			Map<String, Object> recordResult = this.insertExerRecord(exerciseInfo,groupId);
 
-			// 生成做题记录
+			// 鐢熸垚鍋氶璁板綍
 			record = (ExerciseRecord) recordResult.get("record");
 		}
 
-		// 获取结果
+		// 鑾峰彇缁撴灉
 		ExerItemResponseData responseData = exerciseVerService.queryExerItemResponseData(record.getExerciseGroupId(),
 				record.getRecordId(), true, true, ExerciseGroup.TYPE_EXERCISE_EXAM_ITEM);
 		responseData.setExerciseRecordId(record.getRecordId());
@@ -549,14 +549,14 @@
 		responseData.setStatus(record.getStatus());
 		result.addData("exerItem", responseData);
 
-		// 如果已提交就查询用户答案信息
+		// 濡傛灉宸叉彁浜ゅ氨鏌ヨ鐢ㄦ埛绛旀淇℃伅
 		// if (Integer.valueOf(record.getStatus()) > 0) {
 		result.addData("userAnswers", this.findListWithMapByHql(
 				"select u.answerUId as answerUId, u.exerciseItemId as exerciseId,u.answer as answer,u.correct as correct,i.type as type,u.teacherScore as teacherScore"
 						+ "	from ExerciseItemAnswerU u,ExerciseItem i  where u.exerciseItemId = i.exerciseId and u.exerciseRecordId=:recordId  and u.deleteFlag is false order by u.createTime asc ",
 				CollectionUtils.newObjectMap("recordId", record.getRecordId())));
 
-		// 查询学生考试总分
+		// 鏌ヨ瀛︾敓鑰冭瘯鎬诲垎
 		result.addData("studentScore", record.getScore());
 		result.addData("objStudentScore", record.getObjScore()==null?BigDecimal.ZERO:record.getObjScore());
 		
@@ -572,7 +572,7 @@
 	}
 	
 	private ExerciseCompleteInfo doGetOrCreateExerciseCompleteInfo(String exerciseInfoId,String classId,String studentUserId){
-		  // 判断是否已经初始化
+		  // 鍒ゆ柇鏄惁宸茬粡鍒濆鍖�
 			ExerciseCompleteInfo completeInfo = exerciseCompleteService.queryCompleteInfo(exerciseInfoId,classId , studentUserId);
 			
 			if(completeInfo==null){
@@ -617,7 +617,7 @@
 		record.setOrgId(ClientUtils.getOrgId());
 		TraceUtils.setCreateTrace(record);
 		
-		//获取考试题目统计信息,并保存
+		//鑾峰彇鑰冭瘯棰樼洰缁熻淇℃伅锛屽苟淇濆瓨
 		Map<String,Object> result = this.queryItemStatics(exerciseInfo.getExerciseItemSets());
 		record.setTotalScore(new BigDecimal(exerciseInfo.getScore()));
 		record.setPassingScore(exerciseInfo.getPassingScore());
@@ -642,7 +642,7 @@
 		float subTotalScore = 0,objTotalScore=0;
 		int subItemCount=0,objItemCount=0;
 		
-		//如果是随机组卷
+		//濡傛灉鏄殢鏈虹粍鍗�
 		if(itemSets!=null && itemSets.size()>0){
 			for(ExerciseItemSet s:itemSets){
 				if(s.getItemType()==ExerciseItem.TYPE_ESSAY_QUESTION){
@@ -665,13 +665,13 @@
 	}	
 
 	/**
-	 * 开始文件和写作作业
+	 * 寮�濮嬫枃浠跺拰鍐欎綔浣滀笟
 	 * 
 	 * @param examId
 	 * @return
 	 */
 	private Result doStartOtherExercise(ExerciseInfo exerciseInfo, ClsClass clsClass, String studentUserId) {
-		// 查询是否已经存在做题记录,如果不存在需要新建
+		// 鏌ヨ鏄惁宸茬粡瀛樺湪鍋氶璁板綍锛屽鏋滀笉瀛樺湪闇�瑕佹柊寤�
 		ExerciseCompleteInfo exerciseCompleteInfo = exerciseCompleteService.doCheckAndCreateExerciseCompleteInfo(
 				exerciseInfo.getExerciseInfoId(), clsClass.getClassId(), studentUserId);
 		
@@ -737,7 +737,7 @@
 	}
 
 	/**
-	 * 提交写作作业
+	 * 鎻愪氦鍐欎綔浣滀笟
 	 * 
 	 * @param exerciseInfoId
 	 * @param content
@@ -746,7 +746,7 @@
 	 */
 	private Result doSubmitWritingExerciseInfo(String exerciseCompleteInfoId, String content, short submitType) {
 		ExerciseCompleteInfo exerciseCompleteInfo = this.read(ExerciseCompleteInfo.class, exerciseCompleteInfoId);
-		// 保存到orgtext
+		// 淇濆瓨鍒皁rgtext
 		if (StringUtils.isEmpty(exerciseCompleteInfo.getTargetObjectId())) {
 			Result result =  orgTextService.doInsertOrgText(exerciseCompleteInfoId, OrgText.TABLE_WRITING_EXERCISE, content);
 			exerciseCompleteInfo.setTargetObjectId((String)result.getData("orgTextId"));
@@ -768,7 +768,7 @@
 	}
 
 	/**
-	 * 提交文件作业
+	 * 鎻愪氦鏂囦欢浣滀笟
 	 * 
 	 * @param exerciseCompleteInfoId
 	 * @param content
@@ -799,7 +799,7 @@
 
 		exerciseCompleteInfo.setUploadDesc(content);
 
-		// 判断作业提交类型,不同提交类型保存到不同地方
+		// 鍒ゆ柇浣滀笟鎻愪氦绫诲瀷锛屼笉鍚屾彁浜ょ被鍨嬩繚瀛樺埌涓嶅悓鍦版柟
 		if (StringUtils.isNotEmpty(fileId)) {
 			String fileType = filePath.substring(filePath.lastIndexOf("."));
 			String fileName = filePath.substring(filePath.lastIndexOf("/"));
@@ -841,7 +841,7 @@
 					targetObjectId = handout.getHandoutId();
 
 					if (!"PDF".equals(fileType.toUpperCase())) {
-						// 添加到讲义转码队列表
+						// 娣诲姞鍒拌涔夎浆鐮侀槦鍒楄〃
 						HandoutConverTask task = new HandoutConverTask();
 						task.setCreateTime(new Date(System.currentTimeMillis()));
 						task.setUpdateTime(new Date(System.currentTimeMillis()));
@@ -867,14 +867,14 @@
 	public Result doSubmitAnswerExerciseInfo(ExerciseSubmitAnswerData answerData, String exerciseInfoId, String exerciseCompleteId) {
 		Result result = new Result(true);
 
-		// 用户本次做题提交的数据
+		// 鐢ㄦ埛鏈鍋氶鎻愪氦鐨勬暟鎹�
 		List<ExerciseItemAnswerData> lstAnswers = null;
 		String initRecordId = null;
 		ExerciseCompleteInfo exerciseCompleteInfo = null;
 		ExerciseInfo exerciseInfo = this.read(ExerciseInfo.class, exerciseInfoId);
 
 		try {
-			// 提交记录id
+			// 鎻愪氦璁板綍id
 			initRecordId = answerData.getExerciseRecordId();
 			lstAnswers = answerData.getItems();
 
@@ -883,24 +883,24 @@
 						ExerciseDataSubmitLog.TYPE_SUBMIT_ANSWER, ExerciseDataSubmitLog.STATUS_FAILED,
 						"/exercise/Exercise/exerAnswers");
 
-				return new Result(false, "提交数据异常");
+				return new Result(false, "鎻愪氦鏁版嵁寮傚父");
 			}
 			
 			ExerciseRecord record = this.read(ExerciseRecord.class, initRecordId);
 
-			//计算得分
+			//璁$畻寰楀垎
 			double studentScore = this.doCalculateExerciseScores(answerData, exerciseInfo.getExerciseItemSets());
 			
-			// 提交试卷答案
+			// 鎻愪氦璇曞嵎绛旀
 			answerData.setScore(new BigDecimal(studentScore));
 			Map<String, Object> resultMap = exerciseVerService.doOperExerciseAnswerData(answerData);
 
-			// 更新得分记录及状态
+			// 鏇存柊寰楀垎璁板綍鍙婄姸鎬�
 			exerciseCompleteInfo = this.read(ExerciseCompleteInfo.class, exerciseCompleteId);
 			resultMap.put("studentScore", studentScore);
 		
 			
-			// 更新完成得分
+			// 鏇存柊瀹屾垚寰楀垎
 			if (ExerciseRecord.STATUS_SUBMIT.equals(answerData.getStatus())) {
 				resultMap.put("objScore", studentScore);
 				exerciseCompleteInfo.setSubmitTime(new Date());
@@ -932,18 +932,18 @@
 			
 			this.save(exerciseCompleteInfo);
 			
-			// 记录提交的数据日志
+			// 璁板綍鎻愪氦鐨勬暟鎹棩蹇�
 			exerciseVerService.doSaveExerciseDataSubmitLog(JSON.toJSONString(answerData), initRecordId,
 					ExerciseDataSubmitLog.TYPE_SUBMIT_ANSWER, ExerciseDataSubmitLog.STATUS_SUCCESS,
 					"/exercise/Exercise/exerAnswers");
 
-			result = new Result(true, "答案提交成功");
+			result = new Result(true, "绛旀鎻愪氦鎴愬姛");
 			result.setData(resultMap);
 
 		} catch (Exception e) {
-			log.error("考试保存错误", e);
+			log.error("鑰冭瘯淇濆瓨閿欒", e);
 
-			result = new Result(false, "提交练习答案请求异常");
+			result = new Result(false, "鎻愪氦缁冧範绛旀璇锋眰寮傚父");
 
 			exerciseVerService.doSaveExerciseDataSubmitLog(JSON.toJSONString(answerData), initRecordId,
 					ExerciseDataSubmitLog.TYPE_SUBMIT_ANSWER, ExerciseDataSubmitLog.STATUS_FAILED,
@@ -954,7 +954,7 @@
 	}
 
 	private double doCalculateExerciseScores(ExerciseSubmitAnswerData answerData, List<ExerciseItemSet> lstItemSet) {
-		//获取填空题答案信息
+		//鑾峰彇濉┖棰樼瓟妗堜俊鎭�
 		Map<String,String> exerciseFillItemMap= null;
 		List<Object[]> lstObj =  this.find("select i.exerciseId,i.answer from ExerciseGroupItemRe r, ExerciseItem i where r.exerciseItemId=i.exerciseId and  r.exerciseGroupId=? and r.deleteFlag is false and i.type=? and i.deleteFlag is false", 
 				CollectionUtils.newList(answerData.getExerciseGroupId(),ExerciseItem.TYPE_FILL_BLANKS), Object[].class);
@@ -1043,16 +1043,16 @@
 	
 	@Override
 	public Result doPublishExercise(String[] exerciseIds) {
-		// 更新作业状态
+		// 鏇存柊浣滀笟鐘舵��
 		this.bulkUpdateInLoop("update ExerciseInfo set status=" + ExerciseInfo.EXERCISE_STATUS_PUBLISHED + " WHERE exerciseInfoId=?",exerciseIds);
 
-		// 初始化作业完成记录
+		// 鍒濆鍖栦綔涓氬畬鎴愯褰�
 		String hql = null;
 		List<Map<String, Object>> students = null;
 		ExerciseCompleteInfo temp = null;
 		List<ExerciseCompleteInfo> lstCompleteInfos = null;
 		for (String exerciseId : exerciseIds) {
-			// 判断是否已经初始化,如果已经初始化则继续 -> TODO:需要处理新加入班级学生
+			// 鍒ゆ柇鏄惁宸茬粡鍒濆鍖栵紝濡傛灉宸茬粡鍒濆鍖栧垯缁х画 -> TODO:闇�瑕佸鐞嗘柊鍔犲叆鐝骇瀛︾敓
 			int count = this.findCount("from ExerciseCompleteInfo f where f.deleteFlag is false and f.exerciseInfoId=?",CollectionUtils.newList(exerciseId));
 			
 			if (count == 0) {
@@ -1080,7 +1080,7 @@
 				}
 			}
 			
-			//发布作业消息
+			//鍙戝竷浣滀笟娑堟伅
 			this.doExercisePublishMsg(exerciseId);
 		}
 		
@@ -1098,22 +1098,22 @@
 					"subjectId",exerciseInfo.getSubjectId(),"subjectName",exerciseInfo.getSubject().getName()); 
 			
 			msgInfoService.doSendTextMsgToUsers(lstUserIds.toArray(new String[lstUserIds.size()]), 
-										MsgInfo.TYPE_EXERCISE," 发布了作业 ", attrs);
+										MsgInfo.TYPE_EXERCISE," 鍙戝竷浜嗕綔涓� ", attrs);
 		}
 	}
 
 	@Override
 	public Result doRevokeExercise(String[] exerciseIds) {
-		// 更新作业状态
+		// 鏇存柊浣滀笟鐘舵��
 		this.bulkUpdateInLoop("update ExerciseInfo set status=" + ExerciseInfo.EXERCISE_STATUS_DRAFT + " WHERE exerciseInfoId=?",exerciseIds);
-		// 清除作业完成情况
+		// 娓呴櫎浣滀笟瀹屾垚鎯呭喌
 		this.bulkUpdateInLoop("update ExerciseCompleteInfo set deleteFlag= true  WHERE exerciseInfoId=?", exerciseIds);
 		
 		return new Result(true);
 	}
 
 	/**
-	 * 获取逾期未交的作业
+	 * 鑾峰彇閫炬湡鏈氦鐨勪綔涓�
 	 */
 	@Override
 	public int getUnCommitExerciseCount(String classId, String userId) {
@@ -1136,7 +1136,7 @@
 	}
 
 	/**
-	 * 获取待完成的作业
+	 * 鑾峰彇寰呭畬鎴愮殑浣滀笟
 	 */
 	@Override
 	public int getToBeCommitExerciseCount(String classId, String userId) {
@@ -1159,7 +1159,7 @@
 	}
 
 	/**
-	 * 获取完成的作业个数
+	 * 鑾峰彇瀹屾垚鐨勪綔涓氫釜鏁�
 	 * 
 	 * @param classId
 	 * @param userId
@@ -1186,7 +1186,7 @@
 	}
 
 	/**
-	 * 获取作业总数
+	 * 鑾峰彇浣滀笟鎬绘暟
 	 */
 	@Override
 	public int getExerciseCount(String classId, String userId) {
@@ -1199,7 +1199,7 @@
 	}
 	
 	/**
-	 * 查询作业列表-教师端
+	 * 鏌ヨ浣滀笟鍒楄〃-鏁欏笀绔�
 	 * 
 	 * @param pageSize
 	 * @param keyword
diff --git a/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseItemStatisticsDealService.java b/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseItemStatisticsDealService.java
index 0dfab0a..5654577 100644
--- a/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseItemStatisticsDealService.java
+++ b/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseItemStatisticsDealService.java
@@ -15,18 +15,18 @@
 import com.qxueyou.scc.msg.model.Message;*/
 
 /**
- * 练习题目全站统计 个人统计
+ * 缁冧範棰樼洰鍏ㄧ珯缁熻 涓汉缁熻
  * @author zhiyong
  *
  */
 @Service("ExerciseItemStatisticsDealService")
 public class ExerciseItemStatisticsDealService{
 	
-//	/** 缓存service  */
+//	/** 缂撳瓨service  */
 //	@Autowired
 //	ICacheService cacheService;
 	
-	/** 练习接口service  */
+	/** 缁冧範鎺ュ彛service  */
 	@Autowired
 	IExerciseVerService exerciseVerService;
 	
@@ -52,9 +52,9 @@
 //			String key = Constants.EXER_ITEM_STATISTICAL_CACHE_KEY 
 //					+ userId + exerciseGroupId +  currTime;
 //			
-//			// 获取答案集合
+//			// 鑾峰彇绛旀闆嗗悎
 //			ExerciseSubmitAnswerData answerData = cacheService.get(key, ExerciseSubmitAnswerData.class);
-//			//log.error("练习个人全站统计开始---------exerItemIdMap="+exerItemIdMap);
+//			//log.error("缁冧範涓汉鍏ㄧ珯缁熻寮�濮�---------exerItemIdMap="+exerItemIdMap);
 //			if(answerData == null){
 //				return;
 //			}
@@ -66,7 +66,7 @@
 //			
 //		} catch (Exception e) {
 //
-//			log.error("更新用户练习个人统计全站统计数据失败:" + e, e);
+//			log.error("鏇存柊鐢ㄦ埛缁冧範涓汉缁熻鍏ㄧ珯缁熻鏁版嵁澶辫触:" + e, e);
 //
 //			throw e;
 //		}
diff --git a/src/main/java/com/qxueyou/scc/exercise/service/impl/ExercisePyService.java b/src/main/java/com/qxueyou/scc/exercise/service/impl/ExercisePyService.java
index c3db240..88f426d 100644
--- a/src/main/java/com/qxueyou/scc/exercise/service/impl/ExercisePyService.java
+++ b/src/main/java/com/qxueyou/scc/exercise/service/impl/ExercisePyService.java
@@ -58,7 +58,7 @@
 	private static Logger log = LogManager.getLogger("ExercisePyService");
 
 	/**
-	 * 上传解析
+	 * 涓婁紶瑙f瀽
 	 */
 	public Map<String, Object> parserPyExercise(String groupId, String fullPath,
 			String module) {
@@ -67,7 +67,7 @@
 		List<String> lst = generateLstFromFile(file, fullPath);
 
 		if (null == lst || lst.isEmpty()) {
-			return CollectionUtils.newObjectMap("resultCode",0,"msg","文档解析内容为空");
+			return CollectionUtils.newObjectMap("resultCode",0,"msg","鏂囨。瑙f瀽鍐呭涓虹┖");
 		}
 
 		return exerciseParsePy(lst, fullPath);
@@ -75,10 +75,10 @@
 	}
 
 	/**
-	 * 校验
+	 * 鏍¢獙
 	 * 
 	 * @param content
-	 *            习题文本内容
+	 *            涔犻鏂囨湰鍐呭
 	 * @return
 	 */
 	public Map<String, Object> validatePyExercise(String content) {
@@ -93,9 +93,9 @@
 			lst.add(arrLine[i]);
 		}
 
-		// 判断:是否为空
+		// 鍒ゆ柇锛氭槸鍚︿负绌�
 		if (null == lst || lst.isEmpty()) {
-			return CollectionUtils.newObjectMap("resultCode",0,"msg","文档解析内容为空");
+			return CollectionUtils.newObjectMap("resultCode",0,"msg","鏂囨。瑙f瀽鍐呭涓虹┖");
 		}
 
 		return exerciseParsePy(lst, "" );
@@ -105,7 +105,7 @@
 	public Result doImportPyExercise(List<ExerciseItemData> lstItems,String groupId) {
 		
 		if(null == lstItems || lstItems.isEmpty()){
-			return new Result(false, "没有记录");
+			return new Result(false, "娌℃湁璁板綍");
 		}
 		
 		ExerciseGroupItemRe re ;
@@ -175,11 +175,11 @@
 					new Object[]{ iCount,ClientUtils.getUserId(), ClientUtils.getUserName(), groupId } );
 			
 		} catch (Exception e) {
-			log.error("解析习题copyProperties 失败:" ,e );
-			return new Result(false , "服务器内部转换错误");
+			log.error("瑙f瀽涔犻copyProperties 澶辫触锛�" ,e );
+			return new Result(false , "鏈嶅姟鍣ㄥ唴閮ㄨ浆鎹㈤敊璇�");
 		}
 		
-		return new Result(true , "成功导入" + iCount + "道习题");
+		return new Result(true , "鎴愬姛瀵煎叆" + iCount + "閬撲範棰�");
 	}
 	
 
@@ -192,7 +192,7 @@
 	}
 	
 	/**
-	 * post传参
+	 * post浼犲弬
 	 * @param key
 	 * @param size
 	 * @return
@@ -207,7 +207,7 @@
 
 
 	/**
-	 * 缓存版本
+	 * 缂撳瓨鐗堟湰
 	 * @param key
 	 * @param size
 	 * @return
@@ -255,7 +255,7 @@
 				}
 			}
 		} catch (Exception e) {
-			log.error("解析练习txt文档失败:" + fullPath, e);
+			log.error("瑙f瀽缁冧範txt鏂囨。澶辫触锛�" + fullPath, e);
 		} finally {
 			IOUtils.closeQuietly(br);
 			IOUtils.closeQuietly(reader);
@@ -269,7 +269,7 @@
 	}
 
 	/**
-	 * 从office转换到txt:2007转换:自带序号格式会丢失;2003会解析出来
+	 * 浠巓ffice杞崲鍒皌xt锛�2007杞崲锛氳嚜甯﹀簭鍙锋牸寮忎細涓㈠け锛�2003浼氳В鏋愬嚭鏉�
 	 * 
 	 * @param file
 	 * @return
@@ -285,7 +285,7 @@
 
 			if ("doc".equals(fileExtention)) {
 				WordExtractor extractor = new WordExtractor(is);
-				// 获取Word文件中的文本+自带序号
+				// 鑾峰彇Word鏂囦欢涓殑鏂囨湰+鑷甫搴忓彿
 				strText = extractor.getText();
 				extractor.close();
 			} else if ("docx".equals(fileExtention)) {
@@ -293,18 +293,18 @@
 						.getAbsolutePath());
 				POIXMLTextExtractor extractor = new XWPFWordExtractor(
 						opcPackage);
-				// 只能获取Word文件中的文本,不能取到office序号
+				// 鍙兘鑾峰彇Word鏂囦欢涓殑鏂囨湰锛屼笉鑳藉彇鍒皁ffice搴忓彿
 				strText = extractor.getText();
 				extractor.close();
 			} else {
-				throw new RuntimeException("文件格式错误, 请上传word文档(.doc及.docx)格式",
+				throw new RuntimeException("鏂囦欢鏍煎紡閿欒, 璇蜂笂浼爓ord鏂囨。锛�.doc鍙�.docx锛夋牸寮�",
 						null);
 			}
 
-			// 将得到的文本全角转半角
+			// 灏嗗緱鍒扮殑鏂囨湰鍏ㄨ杞崐瑙�
 			strText = formatFullToHalf(strText);
 
-			// 解决空格保存为txt的时候,乱码为?
+			// 瑙e喅绌烘牸淇濆瓨涓簍xt鐨勬椂鍊欙紝涔辩爜涓猴紵
 			byte bytes[] = { (byte) 0xC2, (byte) 0xA0 };
 			String UTFSpace = new String(bytes, "UTF-8");
 			strText = strText.replaceAll(UTFSpace, " ");
@@ -319,9 +319,9 @@
 			return txtFile.getAbsolutePath();
 
 		} catch (FileNotFoundException e) {
-			throw new RuntimeException("office文档未找到", e);
+			throw new RuntimeException("office鏂囨。鏈壘鍒�", e);
 		} catch (IOException e) {
-			throw new RuntimeException("office文档读取失败", e);
+			throw new RuntimeException("office鏂囨。璇诲彇澶辫触", e);
 		} catch (Exception e) {
 			throw new RuntimeException(e.getMessage(), e);
 		} finally {
@@ -331,7 +331,7 @@
 	}
 
 	/**
-	 * 全角转半角
+	 * 鍏ㄨ杞崐瑙�
 	 * 
 	 * @param oriText
 	 * @return
@@ -342,23 +342,23 @@
 		}
 
 		char[] charArray = oriText.toCharArray();
-		// 对全角字符转换的char数组遍历
+		// 瀵瑰叏瑙掑瓧绗﹁浆鎹㈢殑char鏁扮粍閬嶅巻
 		for (int i = 0; i < charArray.length; ++i) {
 			int charIntValue = (int) charArray[i];
 
-			// 如果符合转换关系,将对应下标之间减掉偏移量65248;如果是空格的话,直接做转换
+			// 濡傛灉绗﹀悎杞崲鍏崇郴,灏嗗搴斾笅鏍囦箣闂村噺鎺夊亸绉婚噺65248;濡傛灉鏄┖鏍肩殑璇�,鐩存帴鍋氳浆鎹�
 			if (charIntValue >= 65281 && charIntValue <= 65374) {
 				charArray[i] = (char) (charIntValue - 65248);
 			} else if (charIntValue == 12288) {
 				charArray[i] = (char) 32;
 			} else if (charIntValue == 58033) {
-				// 空格
+				// 绌烘牸
 				charArray[i] = (char) 32;
 			} else if (charIntValue == 65380) {
-				// 顿号
+				// 椤垮彿
 				charArray[i] = (char) 12289;
 			} else if (charIntValue == 65377) {
-				// 句号
+				// 鍙ュ彿
 				charArray[i] = (char) 12290;
 			}
 		}
@@ -367,7 +367,7 @@
 	}
 
 	/**
-	 * 解析文件后缀
+	 * 瑙f瀽鏂囦欢鍚庣紑
 	 * 
 	 * @param filename
 	 * @return
diff --git a/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseService.java b/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseService.java
index 22de33b..5de500c 100644
--- a/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseService.java
+++ b/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseService.java
@@ -87,7 +87,7 @@
 import com.qxueyou.scc.user.model.UserRegistration;
 
 /**
- * 练习 实现service  练习后台
+ * 缁冧範 瀹炵幇service  缁冧範鍚庡彴
  * 
  * @author zhiyong
  *
@@ -122,7 +122,7 @@
 	}
 
 	/**
-	 * 依赖注入
+	 * 渚濊禆娉ㄥ叆
 	 *
 	 * @param exerExtendDAO
 	 */
@@ -143,8 +143,8 @@
 
 		int iCount = 0;
 		if (type == 3) {
-			// 查询当前class存在的存在的顺序、随机练习或者 章节练习 个数
-			// 可能结果:0、 新增三种;1,新增两种(顺序随机),2,新增一种(章节),3的话,不增加
+			// 鏌ヨ褰撳墠class瀛樺湪鐨勫瓨鍦ㄧ殑椤哄簭銆侀殢鏈虹粌涔犳垨鑰� 绔犺妭缁冧範 涓暟
+			// 鍙兘缁撴灉锛�0銆� 鏂板涓夌锛�1锛屾柊澧炰袱绉嶏紙椤哄簭闅忔満锛夛紝2锛屾柊澧炰竴绉嶏紙绔犺妭锛夛紝3鐨勮瘽锛屼笉澧炲姞
 			String hsql = "from ExerciseGroup where classId = ? and  case when type = ? then 1 when type = ? then 1 when type = ? and "
 					+ " attribute1 = ? and attribute2 = ? then 1 else 0 end  = 1 and deleteFlag is false";
 			iCount = findCount(hsql, CollectionUtils.newList(ClientUtils.getClassId(), ExerciseGroup.TYPE_EXERCISE_RANDOM, ExerciseGroup.TYPE_EXERCISE_SEQUENCE, ExerciseGroup.TYPE_CHAPTER_ITEM, lessonId, chapterId));
@@ -152,31 +152,31 @@
 
 		Result objResult = saveOrUpdateAll(initExerciseGroupList(name, type, lessonId, chapterId, iCount));
 
-		// 保存
+		// 淇濆瓨
 		return objResult;
 	}
 
 	/**
-	 * 新增练习组
+	 * 鏂板缁冧範缁�
 	 * 
 	 * @param name
-	 *            练习组名称
+	 *            缁冧範缁勫悕绉�
 	 * @param type
-	 *            练习组类型
+	 *            缁冧範缁勭被鍨�
 	 * @param lessonId
-	 *            课程id
+	 *            璇剧▼id
 	 * @param chapterId
-	 *            章节id
-	 * @param 模拟考试
-	 *            时间设置
+	 *            绔犺妭id
+	 * @param 妯℃嫙鑰冭瘯
+	 *            鏃堕棿璁剧疆
 	 * @return
 	 */
 	public Result insertExerciseGroup(String groupId,String name, short type, String lessonId, String chapterId, String attribute1, boolean repeatFlag) {
 		
-		if(StringUtils.isNotBlank(groupId)){ // 更新
+		if(StringUtils.isNotBlank(groupId)){ // 鏇存柊
 			
 			return updateExerciseGroup(groupId, name, type, lessonId, chapterId, attribute1, repeatFlag);
-		}else{ // 新增
+		}else{ // 鏂板
 			
 			return saveExerciseGroup(name, type, lessonId, chapterId, attribute1, repeatFlag);
 		}
@@ -185,16 +185,16 @@
 	public Result updateExerciseGroup(String groupId,String name, short type, String subjectId, String chapterId, String attribute1, boolean repeatFlag) {
 		ExerciseGroup group = read(ExerciseGroup.class, groupId);
 		
-		if(type == ExerciseGroup.TYPE_CHAPTER_ITEM){ // 章节练习
+		if(type == ExerciseGroup.TYPE_CHAPTER_ITEM){ // 绔犺妭缁冧範
 			
 			group.setAttribute2(chapterId);
 		}
-		if (type == ExerciseGroup.TYPE_MOCK_EXAM) {// 模拟考试
-			// 添加练习组时间 、是否重做
+		if (type == ExerciseGroup.TYPE_MOCK_EXAM) {// 妯℃嫙鑰冭瘯
+			// 娣诲姞缁冧範缁勬椂闂� 銆佹槸鍚﹂噸鍋�
 			addExerciseGroupExtendTime(groupId, attribute1, repeatFlag);
 		}
-		if (type == ExerciseGroup.TYPE_HOMEWORK) {// 家庭作业
-			// 添加是否重做
+		if (type == ExerciseGroup.TYPE_HOMEWORK) {// 瀹跺涵浣滀笟
+			// 娣诲姞鏄惁閲嶅仛
 			addExerciseGroupExtendTime(groupId, null, repeatFlag);
 		}
 		
@@ -208,8 +208,8 @@
 	public Result saveExerciseGroup(String name, short type, String lessonId, String chapterId, String attribute1, boolean repeatFlag) {
 		int iCount = 0;
 		if (type == ExerciseGroup.TYPE_EXERCISE_SEQUENCE) {
-			// 查询当前class存在的存在的顺序、随机练习或者 章节练习 个数
-			// 可能结果:0、 新增三种;1,新增两种(顺序随机),2,新增一种(章节),3的话,不增加
+			// 鏌ヨ褰撳墠class瀛樺湪鐨勫瓨鍦ㄧ殑椤哄簭銆侀殢鏈虹粌涔犳垨鑰� 绔犺妭缁冧範 涓暟
+			// 鍙兘缁撴灉锛�0銆� 鏂板涓夌锛�1锛屾柊澧炰袱绉嶏紙椤哄簭闅忔満锛夛紝2锛屾柊澧炰竴绉嶏紙绔犺妭锛夛紝3鐨勮瘽锛屼笉澧炲姞
 			String hsql = "from ExerciseGroup where classId = ? and  case when type = ? then 1 when type = ? then 1 when type = ? and "
 					+ " attribute1 = ? and attribute2 = ? then 1 else 0 end  = 1 and deleteFlag is false";
 			iCount = findCount(hsql, CollectionUtils.newList(ClientUtils.getClassId(), ExerciseGroup.TYPE_EXERCISE_RANDOM, ExerciseGroup.TYPE_EXERCISE_SEQUENCE, ExerciseGroup.TYPE_CHAPTER_ITEM, lessonId, chapterId));
@@ -217,7 +217,7 @@
 
 		List<ExerciseGroup> lstExeGroup = initExerciseGroupList(name, type, lessonId, chapterId, iCount);
 
-		// 兼容1.0版本 模拟考试时间设置
+		// 鍏煎1.0鐗堟湰 妯℃嫙鑰冭瘯鏃堕棿璁剧疆
 		for (ExerciseGroup group : lstExeGroup) {
 			
 			group.setOrderNum(BigInteger.valueOf(SchCourseware.COURSEWARE_MAX_ORDER));
@@ -231,40 +231,40 @@
 
 		//Result objResult = saveOrUpdateAll(lstExeGroup);
 
-		if (type == ExerciseGroup.TYPE_MOCK_EXAM) {// 模拟考试
-			// 添加练习组时间 、是否重做
+		if (type == ExerciseGroup.TYPE_MOCK_EXAM) {// 妯℃嫙鑰冭瘯
+			// 娣诲姞缁冧範缁勬椂闂� 銆佹槸鍚﹂噸鍋�
 			addExerciseGroupExtendTime(lstExeGroup.get(0).getGroupId(), attribute1, repeatFlag);
 		}
-		if (type == ExerciseGroup.TYPE_HOMEWORK) {// 家庭作业
-			// 添加是否重做
+		if (type == ExerciseGroup.TYPE_HOMEWORK) {// 瀹跺涵浣滀笟
+			// 娣诲姞鏄惁閲嶅仛
 			addExerciseGroupExtendTime(lstExeGroup.get(0).getGroupId(), null, repeatFlag);
 		}
 
-		// 保存
+		// 淇濆瓨
 		return new Result(true);
 	}
 
 	/**
-	 * 新增题库
+	 * 鏂板棰樺簱
 	 * 
 	 * @param name
-	 *            练习组名称
+	 *            缁冧範缁勫悕绉�
 	 * @param type
-	 *            练习组类型
+	 *            缁冧範缁勭被鍨�
 	 * @param lessonId
-	 *            课程id
+	 *            璇剧▼id
 	 * @param chapterId
-	 *            章节id
-	 * @param 模拟考试
-	 *            时间设置
+	 *            绔犺妭id
+	 * @param 妯℃嫙鑰冭瘯
+	 *            鏃堕棿璁剧疆
 	 * @return
 	 */
 	public Result insertOrgExercise(ExerciseGroup group, boolean repeatFlag) {
 		
-		if(StringUtils.isNotBlank(group.getGroupId())){ // 更新
+		if(StringUtils.isNotBlank(group.getGroupId())){ // 鏇存柊
 			
 			return updateOrgExerciseGroup(group, repeatFlag);
-		}else{ // 新增
+		}else{ // 鏂板
 			
 			return saveOrgExerciseGroup(group, repeatFlag);
 		}
@@ -274,12 +274,12 @@
 		
 		ExerciseGroup oldGroup = read(ExerciseGroup.class, group.getGroupId());
 		
-		if (oldGroup.getType() == ExerciseGroup.TYPE_MOCK_EXAM) {// 模拟考试
-			// 添加练习组时间 、是否重做
+		if (oldGroup.getType() == ExerciseGroup.TYPE_MOCK_EXAM) {// 妯℃嫙鑰冭瘯
+			// 娣诲姞缁冧範缁勬椂闂� 銆佹槸鍚﹂噸鍋�
 			addExerciseGroupExtendTime(group.getGroupId(), group.getAttribute1(), repeatFlag);
 		}
-		if (oldGroup.getType() == ExerciseGroup.TYPE_HOMEWORK) {// 家庭作业
-			// 添加是否重做
+		if (oldGroup.getType() == ExerciseGroup.TYPE_HOMEWORK) {// 瀹跺涵浣滀笟
+			// 娣诲姞鏄惁閲嶅仛
 			addExerciseGroupExtendTime(group.getGroupId(), null, repeatFlag);
 		}
 		
@@ -302,8 +302,8 @@
 		if (StringUtils.isNotBlank(group.getAttribute1())) {
 			addExerciseGroupExtendTime(group.getGroupId(), group.getAttribute1(), repeatFlag);
 		}
-		if (group.getType() == ExerciseGroup.TYPE_HOMEWORK) {// 家庭作业
-			// 添加是否重做
+		if (group.getType() == ExerciseGroup.TYPE_HOMEWORK) {// 瀹跺涵浣滀笟
+			// 娣诲姞鏄惁閲嶅仛
 			addExerciseGroupExtendTime(group.getGroupId(), null, repeatFlag);
 		}
 		
@@ -313,7 +313,7 @@
 	}
 	
 	/**
-	 * 拷贝练习
+	 * 鎷疯礉缁冧範
 	 * 
 	 * @param id
 	 * @param subjectId
@@ -348,23 +348,23 @@
 		
 		this.saveExerciseGroup(newGroup);
 		
-		//班级拷贝不需要新增关联表
+		//鐝骇鎷疯礉涓嶉渶瑕佹柊澧炲叧鑱旇〃
 		if(StringUtils.isEmpty(ClientUtils.getClassId())){
 			newGroup.setOriginExerciseId(newGroup.getGroupId());
 			this.saveExerciseGroup(newGroup);
 			this.insertReCourse(collegeCourseId, newGroup.getGroupId());
 		}
 		
-		// 扩展表: extend
+		// 鎵╁睍琛細 extend
 		this.doSaveCopyExtend(oldExercise,newGroup);
 		
-		this.doCopyExerciseItem(newGroup.getGroupId(), oldExercise.getGroupId(), null, 1);//拷贝
+		this.doCopyExerciseItem(newGroup.getGroupId(), oldExercise.getGroupId(), null, 1);//鎷疯礉
 		
 		return new Result(true);
 	}
 	
 	/**
-	 * 拷贝练习题
+	 * 鎷疯礉缁冧範棰�
 	 * 
 	 * @param items
 	 * @param newGroupId
@@ -385,14 +385,14 @@
 			List<ExerciseGroupItemRe> reNew = new ArrayList<>();
 			List<ExerciseObjectImg> exerciseObjectImgNew = new ArrayList<>();
 			
-			// 得到当前组题目的最大题号
+			// 寰楀埌褰撳墠缁勯鐩殑鏈�澶ч鍙�
 			int maxGroupItemOrder = queryExerciseGroupItemNo(newGroupId);
 			
 			for(ExerciseItem objExerciseItem : items){
 				ExerciseGroupItemRe oldExerciseGroupItemRe = this.findUnique("from ExerciseGroupItemRe where deleteFlag is false and exerciseGroupId = ? and exerciseItemId = ?",
 						CollectionUtils.newList(oldGroupId, objExerciseItem.getExerciseId()), ExerciseGroupItemRe.class);
 				
-				//临时对象
+				//涓存椂瀵硅薄
 				ExerciseItem tem = new ExerciseItem();
 				tem = (ExerciseItem) BeanUtils.cloneBean(objExerciseItem);
 				List<ExerciseObjectImg> exerciseObjectImg = this.find("from ExerciseObjectImg m where m.deleteFlag is false and m.exerciseObjectId = ?",
@@ -408,7 +408,7 @@
 				ExerciseItem objExerciseItemNew = new ExerciseItem();
 				BeanUtils.copyProperties(objExerciseItemNew, tem);
 				objExerciseItemNew.setExerciseId(null);
-				//拷贝的练习不同步
+				//鎷疯礉鐨勭粌涔犱笉鍚屾
 				objExerciseItemNew.setOrgiExerciseId(type == 1?null:StringUtils.isEmpty(objExerciseItem.getOrgiExerciseId())?objExerciseItem.getExerciseId():objExerciseItem.getOrgiExerciseId());
 				TraceUtils.setCreateTrace(objExerciseItemNew);
 				
@@ -482,19 +482,19 @@
 			this.saveOrUpdateAll(analysisesNew);
 			this.saveOrUpdateAll(exerciseObjectImgNew);
 			
-			//更新统计
+			//鏇存柊缁熻
 			this.updateGroupUpdateTimeByList(this.find("from ExerciseGroup where groupId = ?", CollectionUtils.newList(newGroupId), ExerciseGroup.class));
 		}
 	}
 	
 	/**
-	 * 插入练习和科目关联
+	 * 鎻掑叆缁冧範鍜岀鐩叧鑱�
 	 * 
 	 * @param collegeCourseId
 	 * @param handoutId
 	 */
 	private void insertReCourse(String collegeCourseId, String groupId){
-		// 序号
+		// 搴忓彿
 		String hql = "select MAX(c.orderNum) from ExerciseReCourse c where c.deleteFlag is false and c.collegeCourseId = ? and orgId = ? ";
 		Integer iMax = this.findUnique(hql, CollectionUtils.newList(collegeCourseId, ClientUtils.getOrgId()), Integer.class);
 	
@@ -517,21 +517,21 @@
 	public Result insertAppointExercise(String groupIds[], String orgIds[], String classIds[]) {
 
 		if (null == groupIds || groupIds.length == 0) {
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
-		// 一次性查询groupId对应的collegeCourseId
+		// 涓�娆℃�ф煡璇roupId瀵瑰簲鐨刢ollegeCourseId
 		String hql = " from ExerciseReCourse where groupId in (:groupIds) and deleteFlag is false";
 		Map<String, Object> argsMap = new HashMap<String, Object>();
 		argsMap.put("groupIds", groupIds);
 		List<ExerciseReCourse> courseList = findByComplexHql(hql, argsMap, ExerciseReCourse.class);
 
-		// 放入map中 KEY:groupId VALUE:collegeCourseId
+		// 鏀惧叆map涓� KEY:groupId VALUE:collegeCourseId
 		Map<String, String> groupReCourse = new HashMap<String, String>();
 		for (ExerciseReCourse exerciseReCourse : courseList) {
 			groupReCourse.put(exerciseReCourse.getGroupId(), exerciseReCourse.getCollegeCourseId());
 		}
 
-		// 一次性查询classId对应的orgId
+		// 涓�娆℃�ф煡璇lassId瀵瑰簲鐨刼rgId
 		Map<String, String> classMap = new HashMap<String, String>();
 		if (classIds.length > 0) {
 			hql = " from ClsClass where classId in (:classIds) and deleteFlag is false";
@@ -539,14 +539,14 @@
 			argsMap.put("classIds", classIds);
 			List<ClsClass> classList = findByComplexHql(hql, argsMap, ClsClass.class);
 
-			// 放入map中 KEY:classId VALUE:orgId
+			// 鏀惧叆map涓� KEY:classId VALUE:orgId
 
 			for (ClsClass orgClass : classList) {
 				classMap.put(orgClass.getClassId(), orgClass.getOrgId());
 			}
 		}
 		
-		// 一次性查询groupId对应的orderNum
+		// 涓�娆℃�ф煡璇roupId瀵瑰簲鐨刼rderNum
 		Map<String, Integer> orderMap = new HashMap<String, Integer>();
 		
 		hql = " from ExerciseReCourse where groupId in (:groupIds) and deleteFlag is false and orgId = :currOrgId";
@@ -555,16 +555,16 @@
 		argsMap.put("currOrgId", ClientUtils.getOrgId());
 		List<ExerciseReCourse> courseLst = findByComplexHql(hql, argsMap, ExerciseReCourse.class);
 
-		// 放入map中 KEY:classId VALUE:orgId
+		// 鏀惧叆map涓� KEY:classId VALUE:orgId
 		for (ExerciseReCourse c : courseLst) {
 			orderMap.put(c.getGroupId(), c.getOrderNum());
 		}
 		
 		for (String groupId : groupIds) {
-			if (orgIds.length > 0) { // 指定给机构
+			if (orgIds.length > 0) { // 鎸囧畾缁欐満鏋�
 				insertOrgGroup(groupId, orgIds, groupReCourse.get(groupId),orderMap);
 			}
-			if (classIds.length > 0) { // 指定给班级
+			if (classIds.length > 0) { // 鎸囧畾缁欑彮绾�
 				ExerciseGroup group = read(ExerciseGroup.class, groupId);
 				insertClassGroup(groupId, classIds, group, groupReCourse.get(groupId), classMap,orderMap);
 			}
@@ -573,7 +573,7 @@
 	}
 
 	/**
-	 * 指定给机构
+	 * 鎸囧畾缁欐満鏋�
 	 * 
 	 * @param groupId
 	 * @param orgIds
@@ -581,7 +581,7 @@
 	 * @return
 	 */
 	public void insertOrgGroup(String groupId, String orgIds[], String collegeCourseId,Map<String, Integer> orderMap) {
-		// 查询出所有不符合条件的数据
+		// 鏌ヨ鍑烘墍鏈変笉绗﹀悎鏉′欢鐨勬暟鎹�
 		String hql = "select orgId from ExerciseReCourse where groupId = :groupId and deleteFlag is false and orgId in (:orgIds)";
 		Map<String, Object> args = new HashMap<String, Object>();
 		args.put("groupId", groupId);
@@ -591,7 +591,7 @@
 		for (String orgId : orgIds) {
 			orgList.add(orgId);
 		}
-		// 剔除掉不符合条件的orgId
+		// 鍓旈櫎鎺変笉绗﹀悎鏉′欢鐨刼rgId
 		orgList.removeAll(strings);
 		if(orgList.isEmpty()){
 			return;
@@ -613,7 +613,7 @@
 
 	}
 	/**
-	 * 指定给班级
+	 * 鎸囧畾缁欑彮绾�
 	 * @param groupId
 	 * @param classIds
 	 * @param group
@@ -621,17 +621,17 @@
 	 * @param classMap
 	 */
 	public void insertClassGroup(String groupId, String classIds[], ExerciseGroup group, String collegeCourseId, Map<String, String> classMap,Map<String, Integer> orderMap) {
-		//章节id
+		//绔犺妭id
 		Map<String,SubjectChapter> origChapterMap = new HashMap<String, SubjectChapter>();
 		Map<String, String> subjectMap = new HashMap<String, String>();
 		String hql = "from ExerciseGroupExtend where deleteFlag is false and groupId=? ";
-		// 查询练习组扩展表
+		// 鏌ヨ缁冧範缁勬墿灞曡〃
 		ExerciseGroupExtend extend = this.findUnique(hql, CollectionUtils.newList(groupId), ExerciseGroupExtend.class);
 
 		//hql = " from ExerciseGroupItemRe where exerciseGroupId = ? and deleteFlag is false ";
 		//List<ExerciseGroupItemRe> lstItem = find(hql, CollectionUtils.newList(groupId), ExerciseGroupItemRe.class);
 
-		// 查询出所有不符合条件的数据
+		// 鏌ヨ鍑烘墍鏈変笉绗﹀悎鏉′欢鐨勬暟鎹�
 		hql = "select classId from ExerciseGroup where classId in (:classIds) and originExerciseId = :groupId and deleteFlag is false";
 		Map<String, Object> args = new HashMap<String, Object>();
 		args.put("classIds", classIds);
@@ -641,13 +641,13 @@
 		for (String classId : classIds) {
 			classList.add(classId);
 		}
-		// 剔除不符合的classId
+		// 鍓旈櫎涓嶇鍚堢殑classId
 		classList.removeAll(strings);
 		if(classList.isEmpty()){
 			return;
 		}
 		if(StringUtils.isNotEmpty(group.getSubjectId())){
-			// 一次性查询班级ID对应的classSubjectId
+			// 涓�娆℃�ф煡璇㈢彮绾D瀵瑰簲鐨刢lassSubjectId
 			hql = " from SchClassSubject where classId in(:classIds) and origSubjectId = :subjectId and deleteFlag is false";
 			args = new HashMap<String, Object>();
 			args.put("classIds", classList.toArray());
@@ -685,8 +685,8 @@
 				if (StringUtils.isNotBlank(extend.getExerciseTime())) {
 					addExerciseGroupExtendTime(newGroup.getGroupId(), extend.getExerciseTime(), extend.getRepeatFlag());
 				}
-				if (newGroup.getType() == ExerciseGroup.TYPE_HOMEWORK) {// 家庭作业
-					// 添加是否重做
+				if (newGroup.getType() == ExerciseGroup.TYPE_HOMEWORK) {// 瀹跺涵浣滀笟
+					// 娣诲姞鏄惁閲嶅仛
 					addExerciseGroupExtendTime(newGroup.getGroupId(), null, extend.getRepeatFlag());
 				}
 			}
@@ -695,13 +695,13 @@
 				this.doCopyExerciseItem(newGroup.getGroupId(), groupId, null, 2);
 				
 			}catch (IllegalAccessException e) {
-				log.error("下发练习出错", e);
+				log.error("涓嬪彂缁冧範鍑洪敊", e);
 			} catch (InvocationTargetException e) {
-				log.error("下发练习出错", e);
+				log.error("涓嬪彂缁冧範鍑洪敊", e);
 			} catch (InstantiationException e) {
-				log.error("下发练习出错", e);
+				log.error("涓嬪彂缁冧範鍑洪敊", e);
 			} catch (NoSuchMethodException e) {
-				log.error("下发练习出错", e);
+				log.error("涓嬪彂缁冧範鍑洪敊", e);
 			}
 		}
 	}
@@ -709,7 +709,7 @@
 
 
 	/**
-	 * 添加练习时间
+	 * 娣诲姞缁冧範鏃堕棿
 	 * 
 	 * @param groupId
 	 * @param exerciseTime
@@ -719,7 +719,7 @@
 
 		String hql = "from ExerciseGroupExtend where deleteFlag is false and groupId=? ";
 
-		// 查询练习组扩展表
+		// 鏌ヨ缁冧範缁勬墿灞曡〃
 		ExerciseGroupExtend extend = this.findUnique(hql, CollectionUtils.newList(groupId), ExerciseGroupExtend.class);
 
 		if (null == extend) {
@@ -739,7 +739,7 @@
 	}
 
 	/**
-	 * 新增练习扩展表
+	 * 鏂板缁冧範鎵╁睍琛�
 	 * 
 	 * @param extend
 	 * @return
@@ -754,7 +754,7 @@
 	}
 
 	/**
-	 * 更新练习扩展表
+	 * 鏇存柊缁冧範鎵╁睍琛�
 	 * 
 	 * @param extend
 	 * @return
@@ -783,7 +783,7 @@
 	/*
 	 * (non-Javadoc)
 	 * 
-	 * @see com.iqtogether.qxueyou.exercise.service.IExerciseService#readExerciseItems(java.lang.String) 20150901:增加排序,习题数据和前台app顺序默认一致,题号保持一致。随机练习处理
+	 * @see com.iqtogether.qxueyou.exercise.service.IExerciseService#readExerciseItems(java.lang.String) 20150901锛氬鍔犳帓搴忥紝涔犻鏁版嵁鍜屽墠鍙癮pp椤哄簭榛樿涓�鑷达紝棰樺彿淇濇寔涓�鑷淬�傞殢鏈虹粌涔犲鐞�
 	 */
 	@Override
 	public List<ExerciseItem> readExerciseItemsWithNo(String groupId) {
@@ -793,10 +793,10 @@
 			return null;
 		}
 
-		// 默认章节练习
+		// 榛樿绔犺妭缁冧範
 		String hql = "select item,re.docOrder,re.relationId " + "from ExerciseItem item,ExerciseGroupItemRe re " + "where re.exerciseGroupId=? " + "and re.exerciseItemId=item.exerciseId " + "and item.deleteFlag is false " + "and re.deleteFlag is false " + "order by re.itemOrder ";
 
-		// 随机练习,顺序练习
+		// 闅忔満缁冧範,椤哄簭缁冧範
 		if (ExerciseGroup.TYPE_EXERCISE_RANDOM == group.getType() || ExerciseGroup.TYPE_EXERCISE_SEQUENCE == group.getType()) {
 			hql = "select item,re.docOrder,re.relationId " + "from ExerciseItem item,ExerciseGroupItemRe re " + "where re.exerciseGroupId=? and " + "re.exerciseItemId=item.exerciseId " + "and item.deleteFlag is false " + "and re.deleteFlag is false " + "order by item.chapterId, re.itemOrder ";
 		}
@@ -826,15 +826,15 @@
 					log.error(e, e);
 				}
 
-				// 此序号和app一致
+				// 姝ゅ簭鍙峰拰app涓�鑷�
 				item.setItemNo(iNum + 1);
 
-				// 此序号和导入的doc文档一致,如果是导入的习题
+				// 姝ゅ簭鍙峰拰瀵煎叆鐨刣oc鏂囨。涓�鑷达紝濡傛灉鏄鍏ョ殑涔犻
 				if (null != objs.get(iNum)[1]) {
 					item.setDocNo((int) objs.get(iNum)[1]);
 				}
 
-				// 关联表ID
+				// 鍏宠仈琛↖D
 				if (null != objs.get(iNum)[2]) {
 					item.setReId((String) objs.get(iNum)[2]);
 				}
@@ -848,12 +848,12 @@
 	}
 
 	/**
-	 * 查看问卷详情
+	 * 鏌ョ湅闂嵎璇︽儏
 	 * 
 	 * @param groupId
-	 *            问题组id
+	 *            闂缁刬d
 	 * @param evaluateTemId
-	 *            模板id
+	 *            妯℃澘id
 	 * @return
 	 */
 	@Override
@@ -861,7 +861,7 @@
 
 		ExerciseGroup group = this.read(ExerciseGroup.class, groupId);
 		if (null == group) {
-			new ResultJson(false, "习题组不存在");
+			new ResultJson(false, "涔犻缁勪笉瀛樺湪");
 		}
 
 		QExerciseItem qItem = QExerciseItem.exerciseItem;
@@ -881,7 +881,7 @@
 			return lstItems;
 		}
 		
-		// 0.组装参数
+		// 0.缁勮鍙傛暟
 		Map<String, Object> argsMap = new HashMap<String, Object>();
 		Object[] args = new Object[lstItems.size()];
 		for(int i=0; i<lstItems.size(); i++){
@@ -889,7 +889,7 @@
 		}
 		argsMap.put("exerciseIds", args);
 		
-		// 1.查询练习题目全站分析
+		// 1.鏌ヨ缁冧範棰樼洰鍏ㄧ珯鍒嗘瀽
 		String hql_analisis = "from ExerciseItemAnalisi  where exerciseItemId in (:exerciseIds)  and deleteFlag is false ";
 		List<ExerciseItemAnalisi> lstAnalisis = this.findByComplexHql(hql_analisis, argsMap, ExerciseItemAnalisi.class);
 		Map<String, ExerciseItemAnalisi> analisiMap = new HashMap<String, ExerciseItemAnalisi>(lstAnalisis.size());
@@ -897,12 +897,12 @@
 			analisiMap.put(analisis.getExerciseItemId(), analisis);
 		}
 		
-		// 2.查询练习题目答案选项
+		// 2.鏌ヨ缁冧範棰樼洰绛旀閫夐」
 		Map<String, List<ExerciseItemOption>> optionsMap = new HashMap<String, List<ExerciseItemOption>>(lstItems.size());
 		Map<String, String> answerMap = new HashMap<String, String>();
 		String hql_options = "from ExerciseItemOption where exerciseItemId in (:exerciseIds) and deleteFlag is false order by exerciseItemId, optionOrder ";
 		List<ExerciseItemOption> lstAllOptions = this.findByComplexHql(hql_options, argsMap, ExerciseItemOption.class);
-		// 2.1.组装参数 用于查询练习选项图片
+		// 2.1.缁勮鍙傛暟 鐢ㄤ簬鏌ヨ缁冧範閫夐」鍥剧墖
 		Map<String, Object> argsImgMap = new HashMap<String, Object>();
 		Object[] argImgs = new Object[lstAllOptions.size()];
 		for(int i=0; i<lstAllOptions.size(); i++){
@@ -910,38 +910,38 @@
 		}
 		argsImgMap.put("optionIds", argImgs);
 		
-		// 2-3-1查询题目是否关联图片
+		// 2-3-1鏌ヨ棰樼洰鏄惁鍏宠仈鍥剧墖
 		String hql_itemImgs = "from ExerciseObjectImg where exerciseObjectId in (:exerciseIds) and deleteFlag is false and objectType=1 order by exerciseObjectId,imgOrder ";
 		List<ExerciseObjectImg> lstItemImgs = this.findByComplexHql(hql_itemImgs, argsMap, ExerciseObjectImg.class);
 		Map<String, List<ExerciseObjectImg>> imgItemMap = ExerciseUtils.packageExerciseItemImg(lstItemImgs);
 		
 		Map<String, List<ExerciseObjectImg>> imgOptionMap = null;
 		if(argImgs.length > 0) {
-			// 2-3-2查询题目选项是否关联图片
+			// 2-3-2鏌ヨ棰樼洰閫夐」鏄惁鍏宠仈鍥剧墖
 			String hql_optionImgs = "from ExerciseObjectImg where exerciseObjectId in (:optionIds) and deleteFlag is false and objectType=2";
 			List<ExerciseObjectImg> lstOptionImgs = this.findByComplexHql(hql_optionImgs, argsImgMap, ExerciseObjectImg.class);
 			imgOptionMap = ExerciseUtils.packageExerciseItemImg(lstOptionImgs);
 		}
 		
-		// 重新组装练习
+		// 閲嶆柊缁勮缁冧範
 		ExerciseUtils.packageExerciseItem(optionsMap, answerMap, lstAllOptions, imgOptionMap);
 		
 		
-		// 4.重新组装返回结果
+		// 4.閲嶆柊缁勮杩斿洖缁撴灉
 		String exerciseId = null;
 		for(ExerciseItem item:lstItems){
-			// 4.0  分析结果
+			// 4.0  鍒嗘瀽缁撴灉
 			exerciseId = item.getExerciseId();
 			
-			// 得到练习组id
+			// 寰楀埌缁冧範缁刬d
 			if(StringUtils.isNotBlank(groupId)){
 				item.setExerciseGroupId(groupId);
 			}
 			
-			// 4.3 题目选项
+			// 4.3 棰樼洰閫夐」
 			item.setOptions(optionsMap.get(exerciseId));
 			
-			// 4.5题目中是否有图片
+			// 4.5棰樼洰涓槸鍚︽湁鍥剧墖
 			if(imgItemMap.get(exerciseId) != null){
 				item.setImgs(imgItemMap.get(exerciseId));
 			}
@@ -963,27 +963,27 @@
 	public Result insertExerciseItem(String groupId, ExerciseItem item, List<ExerciseItemOption> lstOptions, String analysis) {
 
 		TraceUtils.setCreateTrace(lstOptions);
-		// 1. 保存习题
+		// 1. 淇濆瓨涔犻
 		ExerciseGroup group = this.read(ExerciseGroup.class, groupId);
 		handlerExerciseItem(group, item);
 		save(item);
 
-		// 2. 保存习题和习题组关系
-		// 获取一个习题需要跟新的关系条数
+		// 2. 淇濆瓨涔犻鍜屼範棰樼粍鍏崇郴
+		// 鑾峰彇涓�涓範棰橀渶瑕佽窡鏂扮殑鍏崇郴鏉℃暟
 		List<ExerciseGroup> result = initExerciseGroup(groupId);
 
-		// 得到当前组题目的最大题号
+		// 寰楀埌褰撳墠缁勯鐩殑鏈�澶ч鍙�
 		int maxGroupItemOrder = queryExerciseGroupItemNo(groupId);
 
 		List<ExerciseGroupItemRe> groupRes = initExerciseGroupItemRe(result, item.getExerciseId(), getGroupReMaxOrder(groupId), ++maxGroupItemOrder );
 
-		// 得到最大的ORDER
+		// 寰楀埌鏈�澶х殑ORDER
 		saveOrUpdateAll(groupRes);
 		
-		// 20150618:配合前台app,所有修改同时修改group表最后修改时间
+		// 20150618锛氶厤鍚堝墠鍙癮pp锛屾墍鏈変慨鏀瑰悓鏃朵慨鏀筭roup琛ㄦ渶鍚庝慨鏀规椂闂�
 		updateGroupUpdateTimeByList(result);
 
-		// 3. 保存习题解析
+		// 3. 淇濆瓨涔犻瑙f瀽
 		ExerciseItemAnalisi analysisVO = new ExerciseItemAnalisi();
 		analysisVO.setAnalysis(analysis);
 		analysisVO.setAccuracy(BigDecimal.ZERO);
@@ -993,19 +993,19 @@
 		saveAnalysis(item);
 		
 
-		// 4. 保存习题选项
+		// 4. 淇濆瓨涔犻閫夐」
 		for (ExerciseItemOption option : lstOptions) {
 			option.setExerciseItemId(item.getExerciseId());
 			save(option);
-			// 新增习题选项图片
+			// 鏂板涔犻閫夐」鍥剧墖
 			updateExerOptionObjImgId(option);
 		}
 		item.setOptions(lstOptions);
 
-		// 新增习题图片
+		// 鏂板涔犻鍥剧墖
 		updateExerciseObjImgId(item);
 		
-		//保存题目分数
+		//淇濆瓨棰樼洰鍒嗘暟
 		List<ExerciseItemScore>  lstExerciseItemScore = item.getScores();
 		if(lstExerciseItemScore!=null && lstExerciseItemScore.size()>0){
 			for (ExerciseItemScore score : lstExerciseItemScore) {
@@ -1017,7 +1017,7 @@
 		}
 		
 //		if(StringUtils.isEmpty(group.getClassId())){
-//			// 同步习题
+//			// 鍚屾涔犻
 //			String hql = " from ExerciseGroup where originExerciseId = ?  and deleteFlag is false and groupId != ?";
 //			List<ExerciseGroup> lstGroup = find(hql, CollectionUtils.newList(group.getOriginExerciseId(), groupId), ExerciseGroup.class);
 //			List<ExerciseItem> items = find("from ExerciseItem where exerciseId = ?", CollectionUtils.newList(item.getExerciseId()), ExerciseItem.class);
@@ -1029,7 +1029,7 @@
 //					this.doCopyExerciseItem(exerciseGroup.getGroupId(), groupId, items, 2);
 //				} catch (IllegalAccessException | InstantiationException | InvocationTargetException
 //						| NoSuchMethodException e) {
-//					log.error("新增练习同步到班级错误", e);
+//					log.error("鏂板缁冧範鍚屾鍒扮彮绾ч敊璇�", e);
 //				}
 //			}
 //		}
@@ -1045,11 +1045,11 @@
 	@Override
 	public ResultJson insertExerciseItem4Evaluate(String groupId, ExerciseItem item,
 			List<ExerciseItemOption> lstOptions,String analysis,JSONArray titleImgs) {
-		// 1. 保存习题
+		// 1. 淇濆瓨涔犻
 		TraceUtils.setCreateTrace(item);
 		this.save(item);
 
-		// 2、保存习题关联组
+		// 2銆佷繚瀛樹範棰樺叧鑱旂粍
 		QExerciseGroupItemRe qRe =QExerciseGroupItemRe.exerciseGroupItemRe;
 		Integer maxGroupItemOrder = 
 				this.getQueryFactory().select(qRe.itemOrder.max())
@@ -1067,7 +1067,7 @@
 		re.setDeleteFlag(false);
 		this.save(re);
 		
-		// 题目组题目个数+1
+		// 棰樼洰缁勯鐩釜鏁�+1
 		QExerciseGroup g = QExerciseGroup.exerciseGroup;
 		this.getQueryFactory()
 		.update(g)
@@ -1076,7 +1076,7 @@
 		.execute();
 		
 		
-		// 3. 保存习题选项
+		// 3. 淇濆瓨涔犻閫夐」
 		for (int i = 0; i < lstOptions.size(); i++) {
 			ExerciseItemOption option = lstOptions.get(i);
 			option.setExerciseItemId(item.getExerciseId());
@@ -1085,7 +1085,7 @@
 			TraceUtils.setCreateTrace(option);
 			this.save(option);
 			
-			// 更新选项图片
+			// 鏇存柊閫夐」鍥剧墖
 			updateEvaExerOptionObjImgId(option);
 			
 			ExerciseItemScore objExerciseItemScore = new ExerciseItemScore();
@@ -1097,10 +1097,10 @@
 			this.save(objExerciseItemScore);
 		}
 		
-		// 更新题目图片
+		// 鏇存柊棰樼洰鍥剧墖
 		this.updateEvaExerciseObjImgId(titleImgs,item.getExerciseId());
 
-		// 4. 保存习题解析
+		// 4. 淇濆瓨涔犻瑙f瀽
 		ExerciseItemAnalisi analysisVO = new ExerciseItemAnalisi();
 		analysisVO.setAnalysis(analysis);
 		analysisVO.setAccuracy(BigDecimal.ZERO);
@@ -1115,7 +1115,7 @@
 	}
 
 	/**
-	 * 更新习题选项图片对象结果
+	 * 鏇存柊涔犻閫夐」鍥剧墖瀵硅薄缁撴灉
 	 * 
 	 * @param optionId
 	 * @param imgIds
@@ -1139,7 +1139,7 @@
 	}
 
 	/**
-	 * 更新习题选项图片对象结果
+	 * 鏇存柊涔犻閫夐」鍥剧墖瀵硅薄缁撴灉
 	 * 
 	 * @param optionId
 	 * @param imgIds
@@ -1163,13 +1163,13 @@
 	}
 
 	/**
-	 * 处理exerciseItem
+	 * 澶勭悊exerciseItem
 	 * 
 	 * @param groupId
 	 * @param item
 	 */
 	private void handlerExerciseItem(ExerciseGroup group, ExerciseItem item) {
-		// 如果是章节练习,将章节写到exerciseItem
+		// 濡傛灉鏄珷鑺傜粌涔狅紝灏嗙珷鑺傚啓鍒癳xerciseItem
 		if (ExerciseGroup.TYPE_CHAPTER_ITEM == group.getType()) {
 			item.setChapterId(group.getAttribute2());
 		}
@@ -1186,7 +1186,7 @@
 	}
 
 	/**
-	 * 刪除练习关联表数据
+	 * 鍒櫎缁冧範鍏宠仈琛ㄦ暟鎹�
 	 * 
 	 * @param reIds
 	 * @return
@@ -1201,7 +1201,7 @@
 	}
 
 	/**
-	 * 删除练习题:只删除关系 (统一班级下,顺序随机 同步删除)
+	 * 鍒犻櫎缁冧範棰橈細鍙垹闄ゅ叧绯� (缁熶竴鐝骇涓嬶紝椤哄簭闅忔満 鍚屾鍒犻櫎)
 	 * 
 	 * @param exerciceIds
 	 * @param reIds
@@ -1212,30 +1212,30 @@
 	public Result deleteExerciseItems(String[] exerciceIds, String[] reIds, String groupId) {
 		ExerciseGroup group = this.read(ExerciseGroup.class, groupId);
 
-		// 1.更新组练习数量值 总量减去本次删除个数
+		// 1.鏇存柊缁勭粌涔犳暟閲忓�� 鎬婚噺鍑忓幓鏈鍒犻櫎涓暟
 		group.setAllCount(group.getAllCount().subtract(new BigInteger(String.valueOf(exerciceIds.length))));
 		TraceUtils.setUpdateTrace(group);
 		this.save(group);
 
-		// 2.删除练习组关联表数据
+		// 2.鍒犻櫎缁冧範缁勫叧鑱旇〃鏁版嵁
 		deleteExerciseGroupRe(reIds);
 
-		// 3.重新排序此组的字段
+		// 3.閲嶆柊鎺掑簭姝ょ粍鐨勫瓧娈�
 		updateExerciseItemNewNo(groupId);
 		
-		//清除缓存
+		//娓呴櫎缂撳瓨
 		redisTemplate.delete(groupId);
 		return new Result(true);
 	}
 
 	/**
-	 * 重新排序
+	 * 閲嶆柊鎺掑簭
 	 * 
 	 * @param groupId
 	 * @return
 	 */
 	private Result updateExerciseItemNewNo(String groupId) {
-		// 升序排序
+		// 鍗囧簭鎺掑簭
 		String hql = "from ExerciseGroupItemRe re " + "where re.exerciseGroupId=? " + "and re.deleteFlag is false " + "order by re.itemOrder asc ";
 
 		List<ExerciseGroupItemRe> lstRe = this.find(hql, CollectionUtils.newList(groupId), ExerciseGroupItemRe.class);
@@ -1244,7 +1244,7 @@
 			return null;
 		}
 
-		// 重新排序
+		// 閲嶆柊鎺掑簭
 		for (int i = 0; i < lstRe.size(); i++) {
 			lstRe.get(i).setItemOrder(i + 1);
 		}
@@ -1255,7 +1255,7 @@
 	}
 
 	/**
-	 * 根据groupId 和 itemId 读取 ExerciseGroupItemRe
+	 * 鏍规嵁groupId 鍜� itemId 璇诲彇 ExerciseGroupItemRe
 	 * 
 	 * @param groupId
 	 * @param itemId
@@ -1270,7 +1270,7 @@
 	 */
 
 	/**
-	 * 查询最近的记录
+	 * 鏌ヨ鏈�杩戠殑璁板綍
 	 * 
 	 * @param hql
 	 * @param page
@@ -1291,20 +1291,20 @@
 			items = parseFile(file);
 		} catch (Exception e) {
 			log.error(e, e);
-			return new Result(false, "读取文档失败");
+			return new Result(false, "璇诲彇鏂囨。澶辫触");
 		}
 
 		insertItems(groupId, items);
 
-		// 4.20150618:配合前台app,所有修改同时修改group表最后修改时间
+		// 4.20150618锛氶厤鍚堝墠鍙癮pp锛屾墍鏈変慨鏀瑰悓鏃朵慨鏀筭roup琛ㄦ渶鍚庝慨鏀规椂闂�
 		List<ExerciseGroup> result = initExerciseGroup(groupId);
 		updateGroupUpdateTimeByList(result);
 		FileUtils.deleteQuietly(file.getParentFile());
-		return new Result(true, "已导入" + items.size() + "道习题");
+		return new Result(true, "宸插鍏�" + items.size() + "閬撲範棰�");
 	}
 
 	/**
-	 * 插入习题
+	 * 鎻掑叆涔犻
 	 * 
 	 * @param items
 	 */
@@ -1312,12 +1312,12 @@
 
 		int i = 0;
 
-		// 获取一个习题需要跟新的关系条数
+		// 鑾峰彇涓�涓範棰橀渶瑕佽窡鏂扮殑鍏崇郴鏉℃暟
 		List<ExerciseGroup> result = initExerciseGroup(groupId);
 
 		ExerciseGroup group = this.read(ExerciseGroup.class, groupId);
 
-		// 得到当前组题目的最大题号
+		// 寰楀埌褰撳墠缁勯鐩殑鏈�澶ч鍙�
 		int maxGroupItemOrder = queryExerciseGroupItemNo(groupId);
 
 		/*String hql = " from ExerciseGroup where originExerciseId = ?  and deleteFlag is false and groupId != ?";
@@ -1327,16 +1327,16 @@
 
 			TraceUtils.setCreateTrace(item);
 			item.setDeleteFlag(false);
-			// 1. 习题
+			// 1. 涔犻
 			handlerExerciseItem(group, item);
 			save(item);
 
-			// 2. 保存习题组-习题关系(练习和非练习)
+			// 2. 淇濆瓨涔犻缁�-涔犻鍏崇郴(缁冧範鍜岄潪缁冧範)
 			List<ExerciseGroupItemRe> groupRes = initExerciseGroupItemRe(result, item.getExerciseId(), item.getItemNo() == null ? i++ : item.getItemNo(), ++maxGroupItemOrder );
 			saveOrUpdateAll(groupRes);
 
 			if(StringUtils.isEmpty(group.getClassId())){
-				// 同步习题
+				// 鍚屾涔犻
 				String hql = " from ExerciseGroup where originExerciseId = ?  and deleteFlag is false and groupId != ?";
 				List<ExerciseGroup> lstGroup = find(hql, CollectionUtils.newList(group.getOriginExerciseId(), groupId), ExerciseGroup.class);
 				List<ExerciseItem> lstItems = find("from ExerciseItem where exerciseId = ?", CollectionUtils.newList(item.getExerciseId()), ExerciseItem.class);
@@ -1348,16 +1348,16 @@
 						this.doCopyExerciseItem(exerciseGroup.getGroupId(), groupId, lstItems, 2);
 					} catch (IllegalAccessException | InstantiationException | InvocationTargetException
 							| NoSuchMethodException e) {
-						log.error("新增练习同步到班级错误", e);
+						log.error("鏂板缁冧範鍚屾鍒扮彮绾ч敊璇�", e);
 					}
 				}
 			}
-			// 3. 保存习题解析
+			// 3. 淇濆瓨涔犻瑙f瀽
 			if (item.getAnalisis() != null) {
 				saveAnalysis(item);
 			}
 
-			// 4. 保存习题选项
+			// 4. 淇濆瓨涔犻閫夐」
 			for (ExerciseItemOption option : item.getOptions()) {
 				TraceUtils.setCreateTrace(option);
 				option.setDeleteFlag(false);
@@ -1369,7 +1369,7 @@
 	}
 
 	/**
-	 * 保存习题解析
+	 * 淇濆瓨涔犻瑙f瀽
 	 * 
 	 * @param item
 	 */
@@ -1387,12 +1387,12 @@
 	}
 
 	/**
-	 * 解析word
+	 * 瑙f瀽word
 	 * 
 	 * @param groupId
-	 *            习题组id
+	 *            涔犻缁刬d
 	 * @param file
-	 *            word文件绝对路径
+	 *            word鏂囦欢缁濆璺緞
 	 * @return
 	 * @throws RuntimeException
 	 */
@@ -1400,7 +1400,7 @@
 
 		Handler handler = new Handler();
 
-		// from office to txt,docx:自带序号无法解析出来,doc可以
+		// from office to txt,docx:鑷甫搴忓彿鏃犳硶瑙f瀽鍑烘潵,doc鍙互
 
 		String txtFilePath = transformDocToTxt(file);
 
@@ -1415,7 +1415,7 @@
 				handler.parse(currLine);
 			}
 		} catch (Exception e) {
-			throw new Exception("读取文档失败", e);
+			throw new Exception("璇诲彇鏂囨。澶辫触", e);
 		}  finally {
 			IOUtils.closeQuietly(br);
 			IOUtils.closeQuietly(reader);
@@ -1426,10 +1426,10 @@
 	}
 
 	/**
-	 * 从office转换到txt:2007转换:自带序号格式会丢失;2003会解析出来
+	 * 浠巓ffice杞崲鍒皌xt锛�2007杞崲锛氳嚜甯﹀簭鍙锋牸寮忎細涓㈠け锛�2003浼氳В鏋愬嚭鏉�
 	 * 
 	 * @param file
-	 *            office文档
+	 *            office鏂囨。
 	 * @return
 	 */
 	private String transformDocToTxt(File file) {
@@ -1443,23 +1443,23 @@
 
 			if ("doc".equals(fileExtention)) {
 				WordExtractor extractor = new WordExtractor(fis);
-				// 获取Word文件中的文本+自带序号
+				// 鑾峰彇Word鏂囦欢涓殑鏂囨湰+鑷甫搴忓彿
 				strText = extractor.getText();
 				extractor.close();
 			} else if ("docx".equals(fileExtention)) {
 				OPCPackage opcPackage = POIXMLDocument.openPackage(file.getAbsolutePath());
 				POIXMLTextExtractor extractor = new XWPFWordExtractor(opcPackage);
-				// 只能获取Word文件中的文本,不能取到office序号
+				// 鍙兘鑾峰彇Word鏂囦欢涓殑鏂囨湰锛屼笉鑳藉彇鍒皁ffice搴忓彿
 				strText = extractor.getText();
 				extractor.close();
 			} else {
-				throw new RuntimeException("文件格式错误, 请上传word文档(.doc及.docx)格式", null);
+				throw new RuntimeException("鏂囦欢鏍煎紡閿欒, 璇蜂笂浼爓ord鏂囨。锛�.doc鍙�.docx锛夋牸寮�", null);
 			}
 
-			// 将得到的文本全角转半角
+			// 灏嗗緱鍒扮殑鏂囨湰鍏ㄨ杞崐瑙�
 			strText = formatFullToHalf(strText);
 
-			// 解决空格保存为txt的时候,乱码为?
+			// 瑙e喅绌烘牸淇濆瓨涓簍xt鐨勬椂鍊欙紝涔辩爜涓猴紵
 			byte bytes[] = { (byte) 0xC2, (byte) 0xA0 };
 			String UTFSpace = new String(bytes, "UTF-8");
 			strText = strText.replaceAll(UTFSpace, " ");
@@ -1471,9 +1471,9 @@
 			return txtFile.getAbsolutePath();
 
 		} catch (FileNotFoundException e) {
-			throw new RuntimeException("office文档未找到", e);
+			throw new RuntimeException("office鏂囨。鏈壘鍒�", e);
 		} catch (IOException e) {
-			throw new RuntimeException("office文档读取失败", e);
+			throw new RuntimeException("office鏂囨。璇诲彇澶辫触", e);
 		} catch (Exception e) {
 			throw new RuntimeException(e.getMessage(), e);
 		} finally {
@@ -1483,7 +1483,7 @@
 	}
 
 	/**
-	 * 全角转半角
+	 * 鍏ㄨ杞崐瑙�
 	 * 
 	 * @param oriText
 	 * @return
@@ -1494,23 +1494,23 @@
 		}
 
 		char[] charArray = oriText.toCharArray();
-		// 对全角字符转换的char数组遍历
+		// 瀵瑰叏瑙掑瓧绗﹁浆鎹㈢殑char鏁扮粍閬嶅巻
 		for (int i = 0; i < charArray.length; ++i) {
 			int charIntValue = (int) charArray[i];
 
-			// 如果符合转换关系,将对应下标之间减掉偏移量65248;如果是空格的话,直接做转换
+			// 濡傛灉绗﹀悎杞崲鍏崇郴,灏嗗搴斾笅鏍囦箣闂村噺鎺夊亸绉婚噺65248;濡傛灉鏄┖鏍肩殑璇�,鐩存帴鍋氳浆鎹�
 			if (charIntValue >= 65281 && charIntValue <= 65374) {
 				charArray[i] = (char) (charIntValue - 65248);
 			} else if (charIntValue == 12288) {
 				charArray[i] = (char) 32;
 			} else if (charIntValue == 58033) {
-				// 空格
+				// 绌烘牸
 				charArray[i] = (char) 32;
 			} else if (charIntValue == 65380) {
-				// 顿号
+				// 椤垮彿
 				charArray[i] = (char) 12289;
 			} else if (charIntValue == 65377) {
-				// 句号
+				// 鍙ュ彿
 				charArray[i] = (char) 12290;
 			}
 		}
@@ -1519,7 +1519,7 @@
 	}
 
 	/**
-	 * 解析文件后缀
+	 * 瑙f瀽鏂囦欢鍚庣紑
 	 * 
 	 * @param filename
 	 * @return
@@ -1536,9 +1536,9 @@
 	 */
 	@Override
 	public Result updateExerciseItem(ExerciseItem item, List<ExerciseItemOption> lstOptions, String analysis) {
-		//先删除所有的option,然后恢复已有的option
+		//鍏堝垹闄ゆ墍鏈夌殑option锛岀劧鍚庢仮澶嶅凡鏈夌殑option
 		this.bulkUpdate("update ExerciseItemOption  set deleteFlag = true where exerciseItemId=?", new String[]{item.getExerciseId()});
-		// 保存Option
+		// 淇濆瓨Option
 		String answer = "";
 		if(lstOptions!=null){
 			for (ExerciseItemOption option : lstOptions) {
@@ -1562,20 +1562,20 @@
 		}
 		
 		
-		// 保存item
+		// 淇濆瓨item
 		if(StringUtils.isNotBlank(answer)){
 			item.setAnswer(answer.substring(0,answer.length()-1));
 		}
 		TraceUtils.setCreateTrace(item);
 		save(item);
 
-		// 保存解析
+		// 淇濆瓨瑙f瀽
 		updateItemAnalysis(item, analysis);
 
-		// 配合前台app,所有修改同时修改group表最后修改时间
+		// 閰嶅悎鍓嶅彴app锛屾墍鏈変慨鏀瑰悓鏃朵慨鏀筭roup琛ㄦ渶鍚庝慨鏀规椂闂�
 //		updateGroupUpdateTimeByList(initUpdateExerciseGroup(item.getExerciseId()));
 		
-		//保存题目分数
+		//淇濆瓨棰樼洰鍒嗘暟
 		List<ExerciseItemScore>  lstExerciseItemScore = item.getScores();
 		if(lstExerciseItemScore!=null && lstExerciseItemScore.size()>0){
 			for (ExerciseItemScore score : lstExerciseItemScore) {
@@ -1588,7 +1588,7 @@
 	}
 
 	/*
-	 * 评价模块修改题目
+	 * 璇勪环妯″潡淇敼棰樼洰
 	 */
 	@Override
 	public ResultJson updateExerciseItem4Evaluate(ExerciseItem item, 
@@ -1597,7 +1597,7 @@
 		TraceUtils.setUpdateTrace(item);
 		
 		
-/*		// 先移除全部习题
+/*		// 鍏堢Щ闄ゅ叏閮ㄤ範棰�
 		QExerciseItemOption qOption = QExerciseItemOption.exerciseItemOption;
 		this.getQueryFactory()
 		.update(qOption)
@@ -1605,7 +1605,7 @@
 		.where(qOption.exerciseItemId.eq(item.getExerciseId()))
 		.execute();
 		
-		// 移除全部分数
+		// 绉婚櫎鍏ㄩ儴鍒嗘暟
 		QExerciseItemScore qScore = QExerciseItemScore.exerciseItemScore;
 		this.getQueryFactory()
 		.update(qScore)
@@ -1613,14 +1613,14 @@
 		.where(qScore.exerciseItemId.eq(item.getExerciseId()))
 		.execute();*/
 		
-		// 先移除全部习题
+		// 鍏堢Щ闄ゅ叏閮ㄤ範棰�
 		String hql = "update ExerciseItemOption set DELETE_FLAG = 1 where EXERCISE_ITEM_ID = ?";
 		super.bulkUpdateInLoop(hql, new String[] { item.getExerciseId() });
-		// 移除全部分数
+		// 绉婚櫎鍏ㄩ儴鍒嗘暟
 		String hql2 = "update ExerciseItemScore set DELETE_FLAG = 1 where EXERCISE_ITEM_ID = ?";
 		super.bulkUpdateInLoop(hql2, new String[] { item.getExerciseId() });
 		
-		// 1.保存item
+		// 1.淇濆瓨item
 		this.save(item);
 		if(lstOptions != null && lstOptions.size() > 0) {
 			TraceUtils.setCreateTrace(lstOptions);
@@ -1644,7 +1644,7 @@
 			}
 		}
 		
-		// 4. 更新习题解析
+		// 4. 鏇存柊涔犻瑙f瀽
 		QExerciseItemAnalisi analysisVO = QExerciseItemAnalisi.exerciseItemAnalisi;
 		this.getQueryFactory()
 		.update(analysisVO)
@@ -1657,7 +1657,7 @@
 	}
 
 	/**
-	 * 更新解析
+	 * 鏇存柊瑙f瀽
 	 * 
 	 * @param item
 	 * @param analysis
@@ -1687,17 +1687,17 @@
 	}
 
 	/**
-	 * 组装ExerciseGroup的list,传入一个groupid,得到同时需要修改的一个或者多个group对象
+	 * 缁勮ExerciseGroup鐨刲ist,浼犲叆涓�涓猤roupid锛屽緱鍒板悓鏃堕渶瑕佷慨鏀圭殑涓�涓垨鑰呭涓猤roup瀵硅薄
 	 * 
 	 * @param groupId
-	 *            主键
+	 *            涓婚敭
 	 * @return
 	 */
 	@Override
 	public List<ExerciseGroup> initExerciseGroup(String groupId) {
-		// 0.获取groupID对应的type,如果是习题(顺机序、随和章节,需要按不同情况同时更新)
-		// 1.如果是章节练习,需要同步修改顺序随机练习
-		// 2.如果是顺序,需同步修改随机;如果是随机练习亦然
+		// 0.鑾峰彇groupID瀵瑰簲鐨則ype锛屽鏋滄槸涔犻锛堥『鏈哄簭銆侀殢鍜岀珷鑺傦紝闇�瑕佹寜涓嶅悓鎯呭喌鍚屾椂鏇存柊锛�
+		// 1.濡傛灉鏄珷鑺傜粌涔狅紝闇�瑕佸悓姝ヤ慨鏀归『搴忛殢鏈虹粌涔�
+		// 2.濡傛灉鏄『搴忥紝闇�鍚屾淇敼闅忔満锛涘鏋滄槸闅忔満缁冧範浜︾劧
 		ExerciseGroup group = read(ExerciseGroup.class, groupId);
 		List<ExerciseGroup> result = new ArrayList<ExerciseGroup>();
 		short sType = 0;
@@ -1716,14 +1716,14 @@
 	}
 
 	/**
-	 * 组装ExerciseGroup的list,传入一个groupid,得到同时需要修改的一个或者多个group对象
+	 * 缁勮ExerciseGroup鐨刲ist,浼犲叆涓�涓猤roupid锛屽緱鍒板悓鏃堕渶瑕佷慨鏀圭殑涓�涓垨鑰呭涓猤roup瀵硅薄
 	 * 
 	 * @param groupId
-	 *            主键
+	 *            涓婚敭
 	 * @return
 	 */
 	public List<ExerciseGroup> initUpdateExerciseGroup(String exerciseId) {
-		// 修改关联的exerciseId,deleteflag is false(暂时全部处理)
+		// 淇敼鍏宠仈鐨別xerciseId锛宒eleteflag is false锛堟殏鏃跺叏閮ㄥ鐞嗭級
 		List<ExerciseGroup> lstGroup = new ArrayList<ExerciseGroup>();
 
 		String hql = "select e.exerciseGroupId from ExerciseGroupItemRe e where deleteFlag is false and e.exerciseItemId = ? ";
@@ -1745,25 +1745,25 @@
 	}
 
 	/**
-	 * 批量删除ExerciseGroup,删除逻辑:如果是练习,顺序和随机练习时同步删除的(此处代码)
+	 * 鎵归噺鍒犻櫎ExerciseGroup锛屽垹闄ら�昏緫锛氬鏋滄槸缁冧範锛岄『搴忓拰闅忔満缁冧範鏃跺悓姝ュ垹闄ょ殑(姝ゅ浠g爜)
 	 * 
 	 * @param groupId
-	 *            主键,多个id时以","分隔
+	 *            涓婚敭锛屽涓猧d鏃朵互","鍒嗛殧
 	 * @return
 	 */
 	public Result deleteExerciseGroup(String groupId) {
 
-		// 逻辑删除,只需要修改exercise_group、exercise_item的删除标识即可
+		// 閫昏緫鍒犻櫎锛屽彧闇�瑕佷慨鏀筫xercise_group銆乪xercise_item鐨勫垹闄ゆ爣璇嗗嵆鍙�
 		if (StringUtils.isNotBlank(groupId)) {
-			// 需要删除的练习组
+			// 闇�瑕佸垹闄ょ殑缁冧範缁�
 			Object[] arrGroupId = groupId.split(",");
-			// 存储顺序练习或者随机练习
+			// 瀛樺偍椤哄簭缁冧範鎴栬�呴殢鏈虹粌涔�
 			List<ExerciseGroup> lstResults = initDeleteExerciseGroup(arrGroupId);
 
-			// 需要删除的练习类型下的练习题
+			// 闇�瑕佸垹闄ょ殑缁冧範绫诲瀷涓嬬殑缁冧範棰�
 			//List<ExerciseItem> lstItem = initDeleteExerciseItem(lstResults);
 
-			// 删除习题组,修改习题组最后修改时间
+			// 鍒犻櫎涔犻缁�,淇敼涔犻缁勬渶鍚庝慨鏀规椂闂�
 			if (lstResults != null) {
 				for (ExerciseGroup group : lstResults) {
 					group.setDeleteFlag(true);
@@ -1774,37 +1774,37 @@
 				}
 			}
 
-			/*// 删除习题
+			/*// 鍒犻櫎涔犻
 			if (lstItem != null) {
 				for (ExerciseItem item : lstItem) {
 					item.setDeleteFlag(true);
 				}
 				saveOrUpdateAll(lstItem);
 			}*/
-			// 20150618:配合前台app,所有修改同时修改group表最后修改时间
+			// 20150618锛氶厤鍚堝墠鍙癮pp锛屾墍鏈変慨鏀瑰悓鏃朵慨鏀筭roup琛ㄦ渶鍚庝慨鏀规椂闂�
 			//updateGroupUpdateTimeByList(lstResults);
 		}
 		return new Result(true);
 	}
 
 	/**
-	 * 组装练习组
+	 * 缁勮缁冧範缁�
 	 * 
 	 * @param name
-	 *            练习名称
+	 *            缁冧範鍚嶇О
 	 * @param type
-	 *            练习组类型
+	 *            缁冧範缁勭被鍨�
 	 * @param lessonId
-	 *            课程
+	 *            璇剧▼
 	 * @param chapterId
-	 *            章节
+	 *            绔犺妭
 	 * @return
 	 */
 	private List<ExerciseGroup> initExerciseGroupList(String name, short type, String lessonId, String chapterId, int iCount) {
 		List<ExerciseGroup> lstExerciseGroup = new ArrayList<ExerciseGroup>();
 		List<Short> lstType = new ArrayList<Short>();
 
-		// iCount:0、 新增三种(选择了章节),增加两种:没有选择章节;1,新增两种(顺序随机),2,新增一种(章节),3的话,不增加
+		// iCount:0銆� 鏂板涓夌(閫夋嫨浜嗙珷鑺�)锛屽鍔犱袱绉嶏細娌℃湁閫夋嫨绔犺妭锛�1锛屾柊澧炰袱绉嶏紙椤哄簭闅忔満锛夛紝2锛屾柊澧炰竴绉嶏紙绔犺妭锛夛紝3鐨勮瘽锛屼笉澧炲姞
 		if (type == ExerciseGroup.TYPE_EXERCISE_SEQUENCE) {
 			if (iCount == 0) {
 				lstType.add(type);
@@ -1817,7 +1817,7 @@
 				lstType.add(ExerciseGroup.TYPE_EXERCISE_RANDOM);
 			} else if (iCount == 2) {
 				lstType.add(ExerciseGroup.TYPE_CHAPTER_ITEM);
-			} else if (iCount == 3 && StringUtils.isNotBlank(chapterId)) {// 等于3,章节练习,顺序练习,随机练习都有,增加章节练习
+			} else if (iCount == 3 && StringUtils.isNotBlank(chapterId)) {// 绛変簬3锛岀珷鑺傜粌涔狅紝椤哄簭缁冧範锛岄殢鏈虹粌涔犻兘鏈夛紝澧炲姞绔犺妭缁冧範
 				lstType.add(ExerciseGroup.TYPE_CHAPTER_ITEM);
 			}
 		} else {
@@ -1831,20 +1831,20 @@
 	}
 
 	/**
-	 * 组装练习
+	 * 缁勮缁冧範
 	 * 
 	 * @param name
-	 *            练习名称
+	 *            缁冧範鍚嶇О
 	 * @param type
-	 *            练习类型
+	 *            缁冧範绫诲瀷
 	 * @param lessonId
-	 *            课程
+	 *            璇剧▼
 	 * @param chapterId
-	 *            章节
+	 *            绔犺妭
 	 * @return
 	 */
 	private ExerciseGroup initExerciseGroup(String name, short type, String lessonId, String chapterId) {
-		// 构建实体
+		// 鏋勫缓瀹炰綋
 		ExerciseGroup objExerciseGroup = new ExerciseGroup();
 
 		TraceUtils.setCreateTrace(objExerciseGroup);
@@ -1853,9 +1853,9 @@
 		objExerciseGroup.setSubjectId(lessonId);
 		objExerciseGroup.setChapterId(chapterId);
 		if (ExerciseGroup.TYPE_EXERCISE_RANDOM == type) {
-			objExerciseGroup.setName("随机练习");
+			objExerciseGroup.setName("闅忔満缁冧範");
 		} else if (ExerciseGroup.TYPE_EXERCISE_SEQUENCE == type) {
-			objExerciseGroup.setName("顺序练习");
+			objExerciseGroup.setName("椤哄簭缁冧範");
 		} else {
 			objExerciseGroup.setName(name);
 		}
@@ -1864,25 +1864,25 @@
 		objExerciseGroup.setClassId(ClientUtils.getClassId());
 		objExerciseGroup.setOrgId(ClientUtils.getOrgId());
 		objExerciseGroup.setCollegeCourseId(ClientUtils.getCourseId());
-		// 章节练习需要存储
+		// 绔犺妭缁冧範闇�瑕佸瓨鍌�
 		if (type == ExerciseGroup.TYPE_CHAPTER_ITEM) {
-			// 章节练习存放lessonId
+			// 绔犺妭缁冧範瀛樻斁lessonId
 			//objExerciseGroup.setAttribute1(lessonId);
-			// 章节练习存放chapterID
+			// 绔犺妭缁冧範瀛樻斁chapterID
 			objExerciseGroup.setAttribute2(chapterId);
 		}
 		return objExerciseGroup;
 	}
 
 	/**
-	 * 组装关联信息
+	 * 缁勮鍏宠仈淇℃伅
 	 * 
 	 * @param lstGroup
-	 *            练习组
+	 *            缁冧範缁�
 	 * @param itemId
-	 *            练习题id
+	 *            缁冧範棰榠d
 	 * @param itemOrder
-	 *            练习题序号
+	 *            缁冧範棰樺簭鍙�
 	 * @return
 	 */
 	private List<ExerciseGroupItemRe> initExerciseGroupItemRe(List<ExerciseGroup> lstGroup, String itemId, int docOrder,int maxGroupItemOrder) {
@@ -1904,7 +1904,7 @@
 	}
 
 	/**
-	 * 查询当前组的最大题号
+	 * 鏌ヨ褰撳墠缁勭殑鏈�澶ч鍙�
 	 * 
 	 * @param groupId
 	 * @return
@@ -1923,14 +1923,14 @@
 	}
 
 	/**
-	 * 组装需要删除的练习组
+	 * 缁勮闇�瑕佸垹闄ょ殑缁冧範缁�
 	 * 
 	 * @param lstResult
-	 *            存储非顺序 练习非随机练习
+	 *            瀛樺偍闈為『搴� 缁冧範闈為殢鏈虹粌涔�
 	 * @param lstResults
-	 *            存储顺序练习或者随机练习
+	 *            瀛樺偍椤哄簭缁冧範鎴栬�呴殢鏈虹粌涔�
 	 * @param arrGroupId
-	 *            groupid的数组
+	 *            groupid鐨勬暟缁�
 	 */
 	private List<ExerciseGroup> initDeleteExerciseGroup(Object[] arrGroupId) {
 		List<ExerciseGroup> lstResults = new ArrayList<ExerciseGroup>();
@@ -1941,7 +1941,7 @@
 		}
 		hsql =  hsql.concat("? ) ");
 		List<ExerciseGroup> result = find(hsql, CollectionUtils.newList(arrGroupId), ExerciseGroup.class);
-		// 一个班级只有一个顺序练习和一个随机练习
+		// 涓�涓彮绾у彧鏈変竴涓『搴忕粌涔犲拰涓�涓殢鏈虹粌涔�
 		int iNumber = 0;
 		for (ExerciseGroup group : result) {
 			if (group.getType() == ExerciseGroup.TYPE_EXERCISE_SEQUENCE || group.getType() == ExerciseGroup.TYPE_EXERCISE_RANDOM) {
@@ -1951,7 +1951,7 @@
 				lstResult.add(group);
 			}
 		}
-		// 一个班级只选择了顺序或者只选择了随机,两个类型都需要删除
+		// 涓�涓彮绾у彧閫夋嫨浜嗛『搴忔垨鑰呭彧閫夋嫨浜嗛殢鏈猴紝涓や釜绫诲瀷閮介渶瑕佸垹闄�
 		if (iNumber == 1) {
 			hsql = "from ExerciseGroup where type in (?,?) and classId = ? and deleteFlag is false ";
 			lstResults = find(hsql, CollectionUtils.newList(ExerciseGroup.TYPE_EXERCISE_SEQUENCE, ExerciseGroup.TYPE_EXERCISE_RANDOM, lstResults.get(0).getClassId()), ExerciseGroup.class);
@@ -1962,10 +1962,10 @@
 	}
 
 	/**
-	 * 获取需要删除的练习题(删除习题组时调用)
+	 * 鑾峰彇闇�瑕佸垹闄ょ殑缁冧範棰�(鍒犻櫎涔犻缁勬椂璋冪敤)
 	 * 
 	 * @param lstResults
-	 *            需要删除的练习组
+	 *            闇�瑕佸垹闄ょ殑缁冧範缁�
 	 *//*
 	private List<ExerciseItem> initDeleteExerciseItem(List<ExerciseGroup> lstResults) {
 		String hsql = "from ExerciseItem where exerciseId in ( select exerciseItemId from ExerciseGroupItemRe " + "  where deleteFlag is false and  exerciseGroupId in ( ";
@@ -1977,14 +1977,14 @@
 			arrGroupId.add(lstResults.get(i).getGroupId());
 		}
 
-		// 需要删除的练习题(为练习类型时)
+		// 闇�瑕佸垹闄ょ殑缁冧範棰橈紙涓虹粌涔犵被鍨嬫椂锛�
 		hsql = hsql.concat("? )  group by exerciseItemId having count(1) = 3 )");
 
-		// 这个SQL特别慢
+		// 杩欎釜SQL鐗瑰埆鎱�
 		List<ExerciseItem> lstItem = find(hsql, arrGroupId, ExerciseItem.class);
 		List<ExerciseItem> lstItems = new ArrayList<ExerciseItem>();
 
-		// 剔除顺序,随机、章节练习
+		// 鍓旈櫎椤哄簭锛岄殢鏈恒�佺珷鑺傜粌涔�
 		List<Object> lstParams = new ArrayList<Object>();
 		for (ExerciseGroup group : lstResults) {
 			if (group.getType() != ExerciseGroup.TYPE_EXERCISE_SEQUENCE && group.getType() != ExerciseGroup.TYPE_CHAPTER_ITEM && group.getType() != ExerciseGroup.TYPE_EXERCISE_RANDOM) {
@@ -1999,7 +1999,7 @@
 			hsql =hsql.concat( "? )  )");
 			lstItems = find(hsql, lstParams, ExerciseItem.class);
 		}
-		// 需要删除的习题
+		// 闇�瑕佸垹闄ょ殑涔犻
 		if (lstItem != null) {
 			lstItem.addAll(lstItems);
 		}
@@ -2007,7 +2007,7 @@
 	}*/
 
 	/**
-	 * :后台 插入评估模板时调用
+	 * 锛氬悗鍙� 鎻掑叆璇勪及妯℃澘鏃惰皟鐢�
 	 * 
 	 * @param name
 	 * @param type
@@ -2023,12 +2023,12 @@
 		obj.setOrgId(ClientUtils.getOrgId());
 		save(obj);
 
-		// 保存
+		// 淇濆瓨
 		return obj;
 	}
 
 	/**
-	 * 查询练习列表,还需查询联系下面习题个数
+	 * 鏌ヨ缁冧範鍒楄〃锛岃繕闇�鏌ヨ鑱旂郴涓嬮潰涔犻涓暟
 	 * 
 	 * @param hql
 	 * @param args
@@ -2039,7 +2039,7 @@
 	}
 
 	/**
-	 * 所有练习修改操作需要同时修改group的updateTime
+	 * 鎵�鏈夌粌涔犱慨鏀规搷浣滈渶瑕佸悓鏃朵慨鏀筭roup鐨剈pdateTime
 	 * 
 	 * @param lstGroup
 	 */
@@ -2057,12 +2057,12 @@
 	}
 
 	/**
-	 * 后台:批量删除ExerciseGroup
+	 * 鍚庡彴锛氭壒閲忓垹闄xerciseGroup
 	 * 
 	 * @param groupId
-	 *            主键,多个id时以","分隔
+	 *            涓婚敭锛屽涓猧d鏃朵互","鍒嗛殧
 	 * @param type
-	 *            多个type时以","分隔
+	 *            澶氫釜type鏃朵互","鍒嗛殧
 	 * @return
 	 */
 	public Result deleteExerciseGroup(String groupId, String type, String deleteType,Integer delAll, String orgIds[], String classIds[]) {
@@ -2075,13 +2075,13 @@
 			return new Result(false);
 		}
 		if ("org".equals(deleteType)) {
-			//管理员删除练习
+			//绠$悊鍛樺垹闄ょ粌涔�
 			deleteOrgGroup(groupIds,delAll,orgIds,classIds);
 			return new Result(true);
 		}
-		// 删除逻辑:练习和其他分开处理(SQL执行简单)
-		// 删除练习:随机和顺序是一致的;如果只删除随机或者顺序,只删除章节,则只删除习题组;如果只删除章节:同样只删除组
-		// 删除时:顺序或者随机+章节:删除组+章节对应的习题
+		// 鍒犻櫎閫昏緫锛氱粌涔犲拰鍏朵粬鍒嗗紑澶勭悊(SQL鎵ц绠�鍗�)
+		// 鍒犻櫎缁冧範锛氶殢鏈哄拰椤哄簭鏄竴鑷寸殑锛涘鏋滃彧鍒犻櫎闅忔満鎴栬�呴『搴忥紝鍙垹闄ょ珷鑺傦紝鍒欏彧鍒犻櫎涔犻缁勶紱濡傛灉鍙垹闄ょ珷鑺傦細鍚屾牱鍙垹闄ょ粍
+		// 鍒犻櫎鏃讹細椤哄簭鎴栬�呴殢鏈�+绔犺妭锛氬垹闄ょ粍+绔犺妭瀵瑰簲鐨勪範棰�
 		boolean randomFlag = false;
 		boolean chapterFlag = false;
 
@@ -2093,7 +2093,7 @@
 			chapterFlag = true;
 		}
 
-		//  拆除子方法
+		//  鎷嗛櫎瀛愭柟娉�
 		Result  result = deleteChildExerciseGroup(groupIds, types, randomFlag, chapterFlag);
 		
 		if(!result.isSuccess()){
@@ -2105,7 +2105,7 @@
 	}
 	
 	/**
-	 * 拆除子方法
+	 * 鎷嗛櫎瀛愭柟娉�
 	 * @param groupIds
 	 * @param types
 	 * @param randomFlag
@@ -2114,15 +2114,15 @@
 	 */
 	private Result deleteChildExerciseGroup(String[] groupIds, String[] types,
 			boolean randomFlag, boolean chapterFlag) {
-		// 1. 无练习
+		// 1. 鏃犵粌涔�
 		if (!randomFlag && !chapterFlag) {
 			return deleteExercise(groupIds, groupIds);
 		}
-		// 2. 有随机有章节
+		// 2. 鏈夐殢鏈烘湁绔犺妭
 		if (randomFlag && chapterFlag) {
 			return deleteExerciseAll(groupIds);
 		}
-		// 3.1. 随机、章节只有一种,删除组:第一种情况:保证顺序随机一致;第二种:删除章节
+		// 3.1. 闅忔満銆佺珷鑺傚彧鏈変竴绉�,鍒犻櫎缁�:绗竴绉嶆儏鍐碉細淇濊瘉椤哄簭闅忔満涓�鑷达紱绗簩绉嶏細鍒犻櫎绔犺妭
 		if (randomFlag) {
 			return deleteExerciseSequence(groupIds, types);
 		}
@@ -2132,7 +2132,7 @@
 	private void deleteOrgGroup(String groupIds[],Integer delAll, String orgIds[], String classIds[]){
 		for (String string : groupIds) {
 			if ((orgIds != null && orgIds.length != 0)  || (classIds != null && classIds.length != 0)) {
-				//删除要回撤的练习
+				//鍒犻櫎瑕佸洖鎾ょ殑缁冧範
 				deleteAppoint(string,orgIds,classIds);
 			}else{
 				String hql = " from ExerciseReCourse where groupId = ? and deleteFlag is false and orgId = ?";
@@ -2151,7 +2151,7 @@
 					this.saveExerciseGroup(group);
 				}*/
 				if(delAll==1){
-					//删除下级
+					//鍒犻櫎涓嬬骇
 					deleteSub(string,ClientUtils.getOrgId());
 				}
 			}
@@ -2162,7 +2162,7 @@
 	
 	@SuppressWarnings("unchecked")
 	private void deleteSub(String groupId,String currOrgId){
-		// 机构层级视频是没有重新new ,查询出机构下级ID再删关联表
+		// 鏈烘瀯灞傜骇瑙嗛鏄病鏈夐噸鏂皀ew 锛屾煡璇㈠嚭鏈烘瀯涓嬬骇ID鍐嶅垹鍏宠仈琛�
 				String sql = " select oa.organization_id from organization as oa,organization ob " +
 						" where " +
 						" ob.ORGANIZATION_ID = ? " +
@@ -2184,7 +2184,7 @@
 				this.save(groupCourse);
 			}
 			
-			// 班主任层面视频指定过后都是new 出来的,通过originVideoId 可以查出所有指定过去的视频
+			// 鐝富浠诲眰闈㈣棰戞寚瀹氳繃鍚庨兘鏄痭ew 鍑烘潵鐨勶紝閫氳繃originVideoId 鍙互鏌ュ嚭鎵�鏈夋寚瀹氳繃鍘荤殑瑙嗛
 			hql = "select classId from ClsClass where orgId in (:orgIds) and deleteFlag is false";
 			map = new HashMap<String, Object>();
 			map.put("orgIds", orgIds.toArray());
@@ -2205,7 +2205,7 @@
 	
 	private Result deleteAppoint(String groupId,String orgIds[],String classIds[]){
 		Map<String, Object> args = new HashMap<String, Object>();
-		// 删除需要回撤的机构视频
+		// 鍒犻櫎闇�瑕佸洖鎾ょ殑鏈烘瀯瑙嗛
 		if (orgIds.length != 0) {
 			
 			String hql = " from ExerciseReCourse where groupId = :groupId and deleteFlag is false and orgId in (:orgIds) and orgId != :currOrgId";
@@ -2223,7 +2223,7 @@
 			}
 		}
 
-		// 删除需要回撤的班主任视频
+		// 鍒犻櫎闇�瑕佸洖鎾ょ殑鐝富浠昏棰�
 		if (classIds.length != 0) {
 			args = new HashMap<String, Object>();
 			args.put("groupId", groupId);
@@ -2242,7 +2242,7 @@
 	}
 
 	/**
-	 * 有顺序和章节练习时的删除逻辑
+	 * 鏈夐『搴忓拰绔犺妭缁冧範鏃剁殑鍒犻櫎閫昏緫
 	 * 
 	 * @param groupIds
 	 * @param types
@@ -2251,14 +2251,14 @@
 	private Result deleteExerciseAll(String[] groupIds) {
 		String hql = "select groupId from ExerciseGroup where deleteFlag is false and classId = ? and type in (?,?) ";
 		List<String> exeGroupId = find(hql, CollectionUtils.newList(ClientUtils.getClassId(), ExerciseGroup.TYPE_EXERCISE_RANDOM, ExerciseGroup.TYPE_EXERCISE_SEQUENCE), String.class);
-		// 组
+		// 缁�
 		exeGroupId.addAll(Arrays.asList(groupIds));
 
 		return deleteExercise((String[]) exeGroupId.toArray(new String[exeGroupId.size()]), groupIds);
 	}
 
 	/**
-	 * 只有順序或者随机时删除逻辑
+	 * 鍙湁闋嗗簭鎴栬�呴殢鏈烘椂鍒犻櫎閫昏緫
 	 * 
 	 * @param groupIds
 	 * @param types
@@ -2267,10 +2267,10 @@
 	private Result deleteExerciseSequence(String[] groupIds, String[] types) {
 		String hql = "select groupId from ExerciseGroup where deleteFlag is false and classId = ? and type in (?,?) ";
 		List<String> exeGroupId = find(hql, CollectionUtils.newList(ClientUtils.getClassId(), ExerciseGroup.TYPE_EXERCISE_RANDOM, ExerciseGroup.TYPE_EXERCISE_SEQUENCE), String.class);
-		// 1.组
+		// 1.缁�
 		exeGroupId.addAll(Arrays.asList(groupIds));
 
-		// 2.删除题,不处理练习
+		// 2.鍒犻櫎棰�,涓嶅鐞嗙粌涔�
 		for (int i = 0; i < types.length; i++) {
 			if (types[i] == String.valueOf(ExerciseGroup.TYPE_EXERCISE_RANDOM) || types[i] == String.valueOf(ExerciseGroup.TYPE_EXERCISE_SEQUENCE)) {
 				groupIds[i] = "";
@@ -2280,15 +2280,15 @@
 	}
 
 	/**
-	 * 只有章节练习是的删除逻辑
+	 * 鍙湁绔犺妭缁冧範鏄殑鍒犻櫎閫昏緫
 	 * 
 	 * @param groupIds
 	 * @param types
 	 * @return
 	 */
 	private Result deleteExerciseChapter(String[] groupIds, String[] types) {
-		// 1.组 groupIds
-		// 2.删除题,不处理练习
+		// 1.缁� groupIds
+		// 2.鍒犻櫎棰�,涓嶅鐞嗙粌涔�
 		String[] groupItemIds = new String[groupIds.length];
 		for (int i = 0; i < types.length; i++) {
 			if (types[i] == String.valueOf(ExerciseGroup.TYPE_CHAPTER_ITEM)) {
@@ -2301,21 +2301,21 @@
 	}
 
 	/**
-	 * 后台:执行删除习题组操作
+	 * 鍚庡彴锛氭墽琛屽垹闄や範棰樼粍鎿嶄綔
 	 * 
 	 * @param groupIds
-	 *            删除组的组id
+	 *            鍒犻櫎缁勭殑缁刬d
 	 * @param groupItemIds
-	 *            需要删除题的组id
+	 *            闇�瑕佸垹闄ら鐨勭粍id
 	 * @return
 	 */
 	private Result deleteExercise(String[] groupIds, String[] groupItemIds) {
-		// 1.删除组
+		// 1.鍒犻櫎缁�
 		bulkUpdateInLoop("update ExerciseGroup set deleteFlag = true where groupId = ? ", groupIds);
-		// 1.删除课件
+		// 1.鍒犻櫎璇句欢
 		bulkUpdateInLoop("update SchCourseware set deleteFlag = true where id = ? ", groupIds);
 		
-		// 2.删除题
+		// 2.鍒犻櫎棰�
 		bulkUpdateInLoop("update ExerciseGroupItemRe set deleteFlag = true "
 				+ " where exerciseGroupId = ? and deleteFlag = false ", groupItemIds);
 		
@@ -2323,7 +2323,7 @@
 	}
 
 	/**
-	 * 发送练习系统通知
+	 * 鍙戦�佺粌涔犵郴缁熼�氱煡
 	 * 
 	 * @param notice
 	 * @return
@@ -2346,7 +2346,7 @@
 	 */
 
 	/**
-	 * 添加练习图片
+	 * 娣诲姞缁冧範鍥剧墖
 	 * 
 	 * @param imgPath
 	 * @param imgObjId
@@ -2356,7 +2356,7 @@
 	public List<Map<String, Object>> doAddExerciseObjImg(String[] imgPath, String imgObjId, int imgObjType) {
 
 		String hql = "from ExerciseObjectImg where deleteFlag is false and exerciseObjectId=? and objectType=? order by imgOrder desc";
-		// 查询此练习是否已经存在记录
+		// 鏌ヨ姝ょ粌涔犳槸鍚﹀凡缁忓瓨鍦ㄨ褰�
 		List<ExerciseObjectImg> lstObjImg = this.find(hql, CollectionUtils.newList(imgObjId, imgObjType), ExerciseObjectImg.class);
 
 		int imgOrder = 1;
@@ -2394,7 +2394,7 @@
 	}
 
 	/**
-	 * 删除图片
+	 * 鍒犻櫎鍥剧墖
 	 */
 	public Result dodelExerciseObjImg(String imgId) {
 
@@ -2407,10 +2407,10 @@
 	}
 
 	/**
-	 * 导入习题:深度解析word文档
+	 * 瀵煎叆涔犻锛氭繁搴﹁В鏋恮ord鏂囨。
 	 * 
 	 * @param groupId
-	 *            习题组Id
+	 *            涔犻缁処d
 	 * @param file
 	 * @param uuid
 	 * @return
@@ -2422,12 +2422,12 @@
 	}
 
 	/**
-	 * 新增深度解析记录
+	 * 鏂板娣卞害瑙f瀽璁板綍
 	 * 
 	 * @param destPath
-	 *            文件路径
+	 *            鏂囦欢璺緞
 	 * @param groupId
-	 *            习题组ID
+	 *            涔犻缁処D
 	 * @return
 	 */
 	private Result insertDeepAnalysis(String destPath, String groupId) {
@@ -2461,16 +2461,16 @@
 	}
 
 	/**
-	 * 导入习题,将解析结果返回到前台
+	 * 瀵煎叆涔犻,灏嗚В鏋愮粨鏋滆繑鍥炲埌鍓嶅彴
 	 * 
 	 * @param groupId
-	 *            习题组ID
+	 *            涔犻缁処D
 	 * @param file
 	 * @return
 	 */
 	public ExerciseParseResult doParseItems(String groupId, String fullPath , String module ) {
 		
-		//取得当前上传文件类型
+		//鍙栧緱褰撳墠涓婁紶鏂囦欢绫诲瀷
 		String filePart[] = fullPath.split("\\.");
 		String fileType = filePart[filePart.length -1];
 		String uuid =  UUIDUtils.generateUUID();
@@ -2483,13 +2483,13 @@
 			objResult = parseWordFile(file);
 		} catch (Exception e) {
 			log.error(e, e);
-			if ("文件格式错误, 请上传word文档(.doc及.docx)格式".equals(e.getMessage())) {
+			if ("鏂囦欢鏍煎紡閿欒, 璇蜂笂浼爓ord鏂囨。锛�.doc鍙�.docx锛夋牸寮�".equals(e.getMessage())) {
 				return new ExerciseParseResult(false, e.getMessage());
 			}
-			return new ExerciseParseResult(false, "读取文档失败");
+			return new ExerciseParseResult(false, "璇诲彇鏂囨。澶辫触");
 		}
 		
-		//更新上传文件使用轨迹
+		//鏇存柊涓婁紶鏂囦欢浣跨敤杞ㄨ抗
 		fileUploadService.updateUploadTrace(fullPath, module, SysFileUploadTrace.FILE_USE, groupId);
 		
 		objResult.setItemCount(objResult.getLstItems().size());
@@ -2504,12 +2504,12 @@
 	}
 
 	/**
-	 * 解析word
+	 * 瑙f瀽word
 	 * 
 	 * @param groupId
-	 *            习题组id
+	 *            涔犻缁刬d
 	 * @param file
-	 *            word文件绝对路径
+	 *            word鏂囦欢缁濆璺緞
 	 * @return
 	 * @throws RuntimeException
 	 */
@@ -2521,7 +2521,7 @@
 
 		Handler handler = new Handler();
 
-		// from office to txt,docx:自带序号无法解析出来,doc可以
+		// from office to txt,docx:鑷甫搴忓彿鏃犳硶瑙f瀽鍑烘潵,doc鍙互
 		String txtFilePath = transformDocToTxt(file);
 
 		FileReader reader = null;
@@ -2548,7 +2548,7 @@
 
 			}
 		} catch (Exception e) {
-			throw new Exception("读取文档失败", e);
+			throw new Exception("璇诲彇鏂囨。澶辫触", e);
 		} finally {
 			IOUtils.closeQuietly(br);
 			IOUtils.closeQuietly(reader);
@@ -2563,10 +2563,10 @@
 	}
 
 	/**
-	 * 导入习题 校验习题,将解析结果返回到前台
+	 * 瀵煎叆涔犻 鏍¢獙涔犻锛屽皢瑙f瀽缁撴灉杩斿洖鍒板墠鍙�
 	 * 
 	 * @param content
-	 *            习题文本内容
+	 *            涔犻鏂囨湰鍐呭
 	 * @return
 	 */
 	public ExerciseParseResult validateExercise(String content) {
@@ -2579,10 +2579,10 @@
 	}
 
 	/**
-	 * 导入习题:将传回的文本内容解析出来
+	 * 瀵煎叆涔犻锛氬皢浼犲洖鐨勬枃鏈唴瀹硅В鏋愬嚭鏉�
 	 * 
 	 * @param content
-	 *            习题文本内容
+	 *            涔犻鏂囨湰鍐呭
 	 * @return
 	 */
 	private ExerciseParseResult parsePlainText(String content) {
@@ -2622,12 +2622,12 @@
 	}
 
 	/**
-	 * 导入习题模块 :导入习题,将解析结果返回到前台
+	 * 瀵煎叆涔犻妯″潡 锛氬鍏ヤ範棰橈紝灏嗚В鏋愮粨鏋滆繑鍥炲埌鍓嶅彴
 	 * 
 	 * @param content
-	 *            文本内容
+	 *            鏂囨湰鍐呭
 	 * @param groupId
-	 *            习题组ID
+	 *            涔犻缁処D
 	 * @return
 	 */
 //	public ExerciseParseResult doImportExercise(String content, String groupId) {
@@ -2642,11 +2642,11 @@
 //
 //		insertItems(groupId, lstItems);
 //
-//		// 修改习题组最后修改时间
+//		// 淇敼涔犻缁勬渶鍚庝慨鏀规椂闂�
 //		List<ExerciseGroup> result = initExerciseGroup(groupId);
 //		updateGroupUpdateTimeByList(result);
 //
-//		// 减少返回数据
+//		// 鍑忓皯杩斿洖鏁版嵁
 //		parseResult.setLstItems(null);
 //		ONSMsg msg = new ONSMsg(onsProducer.getTopic());
 //		msg.put("msgType", "SYS_EXER_SAVE"); 
@@ -2662,24 +2662,24 @@
 //	}
 
 	/**
-	 * 拷贝练习题
+	 * 鎷疯礉缁冧範棰�
 	 * 
 	 * @param newGroupId
 	 * @param oldGroupId
 	 */
 	public void doCopyExerciseItem(String newGroupId, String oldGroupId) {
-		//改用存储过程 
+		//鏀圭敤瀛樺偍杩囩▼ 
 		Session session = getCommonDAO().getSessionFactory().getCurrentSession();
 		SQLQuery query = session.createSQLQuery("{call copy_exercise_item(?,?)}");
 		query.setString(0, newGroupId);
 		query.setString(1, oldGroupId);
 		
-		//执行
+		//鎵ц
 		query.executeUpdate();
 	}
 	
 	/**
-	 * 复制历史练习
+	 * 澶嶅埗鍘嗗彶缁冧範
 	 * 
 	 * @param fromClassId
 	 * @return
@@ -2702,7 +2702,7 @@
 	}
 
 	/**
-	 * 复制习题
+	 * 澶嶅埗涔犻
 	 * 
 	 * @param sourceGroup
 	 * @param sequenceGroup
@@ -2715,13 +2715,13 @@
 
 		ExerciseGroup targetGroup = new ExerciseGroup();
 
-		// 主表:组
+		// 涓昏〃锛氱粍
 		doSaveCopyGroup(sourceGroup, targetGroup, subjectId, subjectName, chapterId);
 
-		// 关联表: 组   习题
+		// 鍏宠仈琛細 缁�   涔犻
 		doSaveCopyRe(sourceGroup, targetGroup);
 		
-		// 扩展表: extend
+		// 鎵╁睍琛細 extend
 		doSaveCopyExtend(sourceGroup,targetGroup);
 
 		return new Result(true);
@@ -2760,7 +2760,7 @@
 	}
 
 	/**
-	 * 复制习题时,保存习题组
+	 * 澶嶅埗涔犻鏃讹紝淇濆瓨涔犻缁�
 	 * 
 	 * @param sourceGroup
 	 * @param targetGroup
@@ -2788,7 +2788,7 @@
 	}
 
 	/**
-	 * 复制练习时 保存习题关联
+	 * 澶嶅埗缁冧範鏃� 淇濆瓨涔犻鍏宠仈
 	 * 
 	 * @param sourceGroup
 	 * @param targetGroup
@@ -2818,7 +2818,7 @@
 	}
 
 	/**
-	 * 学员得分详情列表
+	 * 瀛﹀憳寰楀垎璇︽儏鍒楄〃
 	 * 
 	 * @param groupId
 	 * @return
@@ -2858,7 +2858,7 @@
 			recordMap.put(String.valueOf(obj[2]) , obj);
 		}
 		
-		// 组装为Map
+		// 缁勮涓篗ap
 		List<Map<String, Object>> lstMap = new ArrayList<Map<String, Object>>(userRegLst.size());
 		Map<String, Object> map = null;
 
@@ -2899,7 +2899,7 @@
 	}
 
 	/**
-	 * 初始化平均成绩和最高成绩
+	 * 鍒濆鍖栧钩鍧囨垚缁╁拰鏈�楂樻垚缁�
 	 * 
 	 * @param groupId
 	 * @return
@@ -2934,12 +2934,12 @@
 
 		BigDecimal score = BigDecimal.ZERO;
 
-		// 计算已做学员总分数
+		// 璁$畻宸插仛瀛﹀憳鎬诲垎鏁�
 		for (BigDecimal obj : reLst) {
 			score = score.add(obj);
 		}
 
-		// 计算班级平均成绩
+		// 璁$畻鐝骇骞冲潎鎴愮哗
 		Double scoreNew = Double.valueOf(String.valueOf(score)) / userRegLst.size();
 
 		DecimalFormat df = new DecimalFormat("0.00");
@@ -2950,7 +2950,7 @@
 	}
 
 	/**
-	 * 题目得分详情
+	 * 棰樼洰寰楀垎璇︽儏
 	 * 
 	 * @param groupId
 	 * @return
@@ -2965,28 +2965,28 @@
 			return new ArrayList<ExerciseItemStatistics>();
 		}
 
-		// 获取组
+		// 鑾峰彇缁�
 		ExerciseGroup group = read(ExerciseGroup.class, groupId);
 		if (null == group) {
 			return new ArrayList<ExerciseItemStatistics>();
 		}
 
-		// 默认章节练习
+		// 榛樿绔犺妭缁冧範
 		String hql = "select item from ExerciseItem item,ExerciseGroupItemRe re " + "where re.exerciseGroupId=? " + "and re.exerciseItemId=item.exerciseId " + "and item.deleteFlag is false " + "and re.deleteFlag is false " + "order by re.itemOrder ";
 
-		// 随机练习,顺序练习
+		// 闅忔満缁冧範,椤哄簭缁冧範
 		if (ExerciseGroup.TYPE_EXERCISE_RANDOM == group.getType() || ExerciseGroup.TYPE_EXERCISE_SEQUENCE == group.getType()) {
 			hql = "select item from ExerciseItem item,ExerciseGroupItemRe re " + "where re.exerciseGroupId=? and " + "re.exerciseItemId=item.exerciseId " + "and item.deleteFlag is false " + "and re.deleteFlag is false " + "order by item.chapterId, re.itemOrder ";
 		}
 
-		// 查询当前组的所有题目
+		// 鏌ヨ褰撳墠缁勭殑鎵�鏈夐鐩�
 		List<ExerciseItem> itemAllLst = this.exerDAO.find(hql, CollectionUtils.newList(groupId), ExerciseItem.class);
 
 		if (itemAllLst.isEmpty()) {
 			return new ArrayList<ExerciseItemStatistics>();
 		}
 
-		// 同步编号
+		// 鍚屾缂栧彿
 		List<ExerciseItemStatistics> exeItemStatisLst = new ArrayList<ExerciseItemStatistics>(itemStatisLst.size());
 		ExerciseItemStatistics obj = null;
 		for (int j = 0; j < itemAllLst.size(); j++) {
@@ -2999,7 +2999,7 @@
 					obj.setClassAccuracyShow(obj.getClassAccuracy() + "%");
 					obj.setOrgAccuracyShow(obj.getOrgAccuracy() + "%");
 
-					// 给类型赋值
+					// 缁欑被鍨嬭祴鍊�
 					setExerItemTypeNewName(obj);
 
 					exeItemStatisLst.add(obj);
@@ -3012,20 +3012,20 @@
 	}
 
 	private void setExerItemTypeNewName(ExerciseItemStatistics obj) {
-		// 判断类型文字显示
+		// 鍒ゆ柇绫诲瀷鏂囧瓧鏄剧ず
 		if (obj.getExerciseItemType() == ExerciseItem.TYPE_SINGLE_SELECT) {
-			obj.setItemTypeName("单选题");
+			obj.setItemTypeName("鍗曢�夐");
 		} else if (obj.getExerciseItemType() == ExerciseItem.TYPE_MULTI_SELECT) {
-			obj.setItemTypeName("多选题");
+			obj.setItemTypeName("澶氶�夐");
 		} else if (obj.getExerciseItemType() == ExerciseItem.TYPE_TRUE_OR_FALSE) {
-			obj.setItemTypeName("判断题");
+			obj.setItemTypeName("鍒ゆ柇棰�");
 		} else if (obj.getExerciseItemType() == ExerciseItem.TYPE_ESSAY_QUESTION) {
-			obj.setItemTypeName("问答题");
+			obj.setItemTypeName("闂瓟棰�");
 		}
 	}
 
 	/**
-	 * 加载题目选项详情 - 班级、机构
+	 * 鍔犺浇棰樼洰閫夐」璇︽儏 - 鐝骇銆佹満鏋�
 	 * 
 	 * @param groupId
 	 * @return
@@ -3055,23 +3055,23 @@
 			map.put("exerciseItemTitel", item.getTitle());
 			map.put("correctAnswer", item.getAnswer());
 
-			if (optionStatis.getOptionOrder().equals("True")) {// 为True - 正确
-				map.put("optionOrder", "正确");
-			} else if (optionStatis.getOptionOrder().equals("False")) {// 为False - 错误
-				map.put("optionOrder", "错误");
+			if (optionStatis.getOptionOrder().equals("True")) {// 涓篢rue - 姝g‘
+				map.put("optionOrder", "姝g‘");
+			} else if (optionStatis.getOptionOrder().equals("False")) {// 涓篎alse - 閿欒
+				map.put("optionOrder", "閿欒");
 			} else {
 				map.put("optionOrder", optionStatis.getOptionOrder());
 			}
 
-			// 判断题目的类型
+			// 鍒ゆ柇棰樼洰鐨勭被鍨�
 			if ((short) item.getType() == ExerciseItem.TYPE_SINGLE_SELECT) {
-				map.put("exerciseItemType", "单选题");
+				map.put("exerciseItemType", "鍗曢�夐");
 			} else if ((short) item.getType() == ExerciseItem.TYPE_MULTI_SELECT) {
-				map.put("exerciseItemType", "多选题");
+				map.put("exerciseItemType", "澶氶�夐");
 			} else if ((short) item.getType() == ExerciseItem.TYPE_TRUE_OR_FALSE) {
-				map.put("exerciseItemType", "判断题");
+				map.put("exerciseItemType", "鍒ゆ柇棰�");
 			} else if ((short) item.getType() == ExerciseItem.TYPE_ESSAY_QUESTION) {
-				map.put("exerciseItemType", "问答题");
+				map.put("exerciseItemType", "闂瓟棰�");
 			}
 
 			lstResult.add(map);
@@ -3080,7 +3080,7 @@
 	}
 
 	/**
-	 * 编辑练习保存
+	 * 缂栬緫缁冧範淇濆瓨
 	 */
 	@Override
 	public Result doSaveEditGroup(String groupId,String groupName) {
@@ -3095,14 +3095,14 @@
 	}
 	
 	/**
-	 * 排序
+	 * 鎺掑簭
 	 * 
-	 * @param ids 排序id
-	 * @param index 序号
+	 * @param ids 鎺掑簭id
+	 * @param index 搴忓彿
 	 * @return
 	 */
 	public Result doOrder(List<String> ids,  List<Integer> index){
-		// 循环修改order
+		// 寰幆淇敼order
 		CommonDAO commonDAO = this.getCommonDAO();
 		for( int i=0;i< ids.size();i++){
 			String id = ids.get(i);
@@ -3113,14 +3113,14 @@
 	}
 	
 	/**
-	 * 排序
+	 * 鎺掑簭
 	 * 
-	 * @param ids 排序id
-	 * @param index 序号
+	 * @param ids 鎺掑簭id
+	 * @param index 搴忓彿
 	 * @return
 	 */
 	public Result doitemOrder(List<String> ids,  List<Integer> index,String groupId){
-		// 循环修改order
+		// 寰幆淇敼order
 		CommonDAO commonDAO = this.getCommonDAO();
 		for( int i=0;i< ids.size();i++){
 			String id = ids.get(i);
@@ -3130,7 +3130,7 @@
 	}
 	
 	/**
-	 * 保存练习接口
+	 * 淇濆瓨缁冧範鎺ュ彛
 	 * 
 	 * @param group
 	 * @return
@@ -3143,7 +3143,7 @@
 		
 		Map<String, Integer> order = courseWareService.getOrder(!isClass, group.getSubjectId(), group.getChapterId());
 		
-		//同步排序
+		//鍚屾鎺掑簭
 		int subjectOrder = order.get("subjectOrder");
 		int chapterOrder = order.get("chapterOrder");
 		int partOrder = order.get("partOrder");
@@ -3217,8 +3217,8 @@
 	}
 	
 	/**
-	 * (后台管理系统)
-	 *  管理员同步习题到班级
+	 * 锛堝悗鍙扮鐞嗙郴缁燂級
+	 *  绠$悊鍛樺悓姝ヤ範棰樺埌鐝骇
 	 * 
 	 * @param exerciseItemId
 	 * @return
@@ -3227,11 +3227,11 @@
 	 */
 	public Result doSynExercise(String[] exerciseItemIds) throws IllegalAccessException, InvocationTargetException{
 		if(exerciseItemIds == null || exerciseItemIds.length == 0){
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
 		List<Object> lstSaveObject = new ArrayList<>();
 		for(String exerciseItemId : exerciseItemIds){
-			//待同步的练习
+			//寰呭悓姝ョ殑缁冧範
 			ExerciseItem sourceItem = this.read(ExerciseItem.class, exerciseItemId);
 			if(sourceItem == null){
 				continue;
@@ -3242,29 +3242,29 @@
 			List<ExerciseObjectImg> lstSourceImg = this.find("from ExerciseObjectImg where exerciseObjectId = ? and deleteFlag is false and objectType = ?",
 					CollectionUtils.newList(exerciseItemId, ExerciseObjectImg.OBJECT_TYPE_ITEM), ExerciseObjectImg.class);
 			
-			//下发的练习
+			//涓嬪彂鐨勭粌涔�
 			List<ExerciseItem> lstExerciseItem = this.find("from ExerciseItem where deleteFlag is false and orgiExerciseId = ?",
 					CollectionUtils.newList(exerciseItemId), ExerciseItem.class);
 			if(lstExerciseItem == null || lstExerciseItem.size() == 0){
 				continue;
 			}
-			//同步题目
+			//鍚屾棰樼洰
 			for(ExerciseItem exerciseItem :lstExerciseItem){
 				exerciseItem.setTitle(sourceItem.getTitle());
 				exerciseItem.setAnswer(sourceItem.getAnswer());
 				TraceUtils.setUpdateTrace(exerciseItem);
 				
-				//同步更新练习组的时间
+				//鍚屾鏇存柊缁冧範缁勭殑鏃堕棿
 				this.bulkUpdate("update ExerciseGroup p set p.updateTime = sysdate() where EXISTS "+
 						" (select 1 from ExerciseGroupItemRe i where i.exerciseItemId = ? and i.deleteFlag is false and i.exerciseGroupId = p.groupId)", new Object[]{exerciseItem.getExerciseId()});
 				
 				List<ExerciseItemAnalisi> lstExerciseItemAnalisi = exerciseItem.getAnalysises();
 				List<ExerciseObjectImg> lstExerciseObjectImg = this.find("from ExerciseObjectImg where exerciseObjectId = ? and deleteFlag is false and objectType = ?",
 						CollectionUtils.newList(exerciseItem.getExerciseId(), ExerciseObjectImg.OBJECT_TYPE_ITEM), ExerciseObjectImg.class);
-				//同步选项
+				//鍚屾閫夐」
 				if(lstSourceOption != null && lstSourceOption.size() > 0){
 					ExerciseItemOption option;
-					//删除选项的题目
+					//鍒犻櫎閫夐」鐨勯鐩�
 					this.bulkUpdate("update ExerciseItemOption p set p.deleteFlag = true where  exerciseItemId = ?", new Object[]{exerciseItem.getExerciseId()});
 					for(ExerciseItemOption sourceOption : lstSourceOption){
 						ExerciseObjectImg objExerciseObjectImg;
@@ -3281,7 +3281,7 @@
 							
 							TraceUtils.setCreateTrace(option);
 							
-							if(objSourceImg != null){//选项图片
+							if(objSourceImg != null){//閫夐」鍥剧墖
 								objExerciseObjectImg = new ExerciseObjectImg();
 								BeanUtils.copyProperties(objExerciseObjectImg, objSourceImg);
 								objExerciseObjectImg.setExerciseObjectId(option.getOptionId());
@@ -3320,7 +3320,7 @@
 						lstSaveObject.add(option);
 					}
 				}
-				//同步解析
+				//鍚屾瑙f瀽
 				if(lstSourceAnalisi != null && lstSourceAnalisi.size() > 0){
 					ExerciseItemAnalisi objExerciseItemAnalisi;
 					if(lstExerciseItemAnalisi == null || lstExerciseItemAnalisi.size() == 0){
@@ -3337,7 +3337,7 @@
 					}
 					lstSaveObject.add(objExerciseItemAnalisi);
 				}
-				//同步题目图片
+				//鍚屾棰樼洰鍥剧墖
 				if(lstSourceImg != null && lstSourceImg.size() > 0){
 					ExerciseObjectImg objExerciseObjectImg;
 					if(lstExerciseObjectImg == null || lstExerciseObjectImg.size() == 0){
@@ -3363,7 +3363,7 @@
 	}
 	
 	/**
-	 * 数据同步接口,同步下发到班级的数据
+	 * 鏁版嵁鍚屾鎺ュ彛锛屽悓姝ヤ笅鍙戝埌鐝骇鐨勬暟鎹�
 	 * 
 	 * @param orgId
 	 * @param groupId
@@ -3383,11 +3383,11 @@
 		}else if(StringUtils.isNotBlank(groupId)){
 			lstGroup = this.find("from ExerciseGroup g where g.groupId = ?", CollectionUtils.newList(groupId), ExerciseGroup.class);
 		}else{
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
 		
 		if(lstGroup == null || lstGroup.size() == 0){
-			return new Result(false, "数据为空");
+			return new Result(false, "鏁版嵁涓虹┖");
 		}
 		
 		for(ExerciseGroup group : lstGroup){
@@ -3414,14 +3414,14 @@
 				
 			}
 		}
-		return new Result(true, "成功");
+		return new Result(true, "鎴愬姛");
 	}
 	
 	@SuppressWarnings("unchecked")
 	@Override
 	public Result saveExerciseItemBatch(String groupId,List<ExerciseItem> items) {
 		if (items == null || items.size() == 0) {
-			return new Result(false, "没有要保存或更新的题目数据!");
+			return new Result(false, "娌℃湁瑕佷繚瀛樻垨鏇存柊鐨勯鐩暟鎹�!");
 		}
 	
 		ExerciseGroup group = this.read(ExerciseGroup.class, groupId);
@@ -3442,19 +3442,19 @@
 		
 		this.save(group);
 		redisTemplate.delete(groupId);
-		return new Result(true, "成功",lstExerciseItemIds.toArray());
+		return new Result(true, "鎴愬姛",lstExerciseItemIds.toArray());
 	}
 	
 
 	/**
-	 * 问卷评估  复制练习
+	 * 闂嵎璇勪及  澶嶅埗缁冧範
 	 * @param groupId
 	 * @return
 	 */
 	@Override
 	public String doCopyExerciseByEvaluate(String groupId) {
 		
-		// 1、复制练习组
+		// 1銆佸鍒剁粌涔犵粍
 		ExerciseGroup group = this.read(ExerciseGroup.class, groupId);
 		ExerciseGroup newGroup = new ExerciseGroup();
 		try {
@@ -3462,31 +3462,31 @@
 			newGroup.setGroupId(null);
 			newGroup.setRecords(null);
 		} catch (Exception e) {
-			log.error("问卷复制:复制练习BeanUtils.copyProperties()方法copy失败", e);
+			log.error("闂嵎澶嶅埗锛氬鍒剁粌涔燘eanUtils.copyProperties()鏂规硶copy澶辫触", e);
 		} 
 		TraceUtils.setCreateTrace(newGroup);
 		this.save(newGroup);
 		
-		// 2、复制题目
+		// 2銆佸鍒堕鐩�
 		this.doCopyEvaExerciseItem(newGroup.getGroupId(), groupId);
 		
 		return newGroup.getGroupId();
 	}
 	
 	/**
-	 * 拷贝练习题
+	 * 鎷疯礉缁冧範棰�
 	 * 
 	 * @param newGroupId
 	 * @param oldGroupId
 	 */
 	public void doCopyEvaExerciseItem(String newGroupId, String oldGroupId) {
-		//改用存储过程 
-		//执行
+		//鏀圭敤瀛樺偍杩囩▼ 
+		//鎵ц
 		this.executeProduce("{call copy_exercise_item(?,?)}", new Object[]{newGroupId, oldGroupId});
 	}
 
 	/**
-	 * 查询问卷用户练习详情
+	 * 鏌ヨ闂嵎鐢ㄦ埛缁冧範璇︽儏
 	 * @param recordId
 	 * @param evaluateId
 	 * @return
@@ -3497,7 +3497,7 @@
 		
 		QExerciseItem item = QExerciseItem.exerciseItem;
 		QExerciseGroupItemRe re = QExerciseGroupItemRe.exerciseGroupItemRe;
-		// 查询题目list
+		// 鏌ヨ棰樼洰list
 		List<ExerciseItem> itemLst = this.getQueryFactory().select(item).from(item,re)
 				.where(item.exerciseId.eq(re.exerciseItemId)
 						.and(item.deleteFlag.eq(false))
@@ -3510,7 +3510,7 @@
 		SchEvaluate objSchEvaluate = this.read(SchEvaluate.class, evaluateId);
 		List<ExerciseObjectImg> lstExerciseObjectImg = null;
 		for (ExerciseItem objExerciseItem : itemLst) {
-			if(objExerciseItem.getType() == ExerciseItem.TYPE_ATTACHMENT){//附件题读取题目的图片信息
+			if(objExerciseItem.getType() == ExerciseItem.TYPE_ATTACHMENT){//闄勪欢棰樿鍙栭鐩殑鍥剧墖淇℃伅
 				
 				lstExerciseObjectImg = this.getQueryFactory().selectFrom(objImg)
 						.where(objImg.exerciseObjectId.in(
@@ -3523,7 +3523,7 @@
 				
 			}
 			
-			//查询用户答题
+			//鏌ヨ鐢ㄦ埛绛旈
 			List<ExerciseItemAnswerU> lstExerciseItemAnswerU = this.getQueryFactory().selectFrom(answerU)
 					.where(answerU.deleteFlag.eq(false)
 						.and(answerU.exerciseRecordId.eq(objExerciseRecord.getRecordId()))
@@ -3533,14 +3533,14 @@
 			objExerciseItem.setExerciseItemAnswerU(lstExerciseItemAnswerU);
 		}
 		
-		//拼装前端所需要的数据
+		//鎷艰鍓嶇鎵�闇�瑕佺殑鏁版嵁
 		Map<String, Object> resultMap =  ExerciseUtils.packageUserExerciseDetail(itemLst, objSchEvaluate, lstExerciseObjectImg);
 		
 		return new ResultJson(true,"success",resultMap);
 	}
 	
 	/**
-	 * 删除问卷图片
+	 * 鍒犻櫎闂嵎鍥剧墖
 	 */
 	@Override
 	public ResultJson dodelEvaExerciseObjImg(String imgObjId) {
@@ -3550,15 +3550,15 @@
 		
 		this.save(img);
 
-		return new ResultJson(true,"操作成功");
+		return new ResultJson(true,"鎿嶄綔鎴愬姛");
 	}
 
 	/**
-	 * 新增问卷图片
+	 * 鏂板闂嵎鍥剧墖
 	 */
 	@Override
 	public List<Map<String, Object>> doAddEvaExerciseObjImg(String[] imgPath, String imgObjId, int imgObjType) {
-		// 查询此练习是否已经存在记录
+		// 鏌ヨ姝ょ粌涔犳槸鍚﹀凡缁忓瓨鍦ㄨ褰�
 		QExerciseObjectImg objImg = QExerciseObjectImg.exerciseObjectImg;
 		List<ExerciseObjectImg> lstObjImg = this.getQueryFactory()
 				.selectFrom(objImg)
@@ -3603,11 +3603,11 @@
 	}
 
 	/**
-	 * 查询问卷图片
+	 * 鏌ヨ闂嵎鍥剧墖
 	 */
 	@Override
 	public List<Map<String, Object>> queryEvaExerciseObjImg(String imgObjId, int imgObjType) {
-		// 查询此练习是否已经存在记录
+		// 鏌ヨ姝ょ粌涔犳槸鍚﹀凡缁忓瓨鍦ㄨ褰�
 		QExerciseObjectImg objImg = QExerciseObjectImg.exerciseObjectImg;
 		List<ExerciseObjectImg> lstObjImg = this.getQueryFactory()
 				.selectFrom(objImg)
@@ -3632,7 +3632,7 @@
 	}
 	
 	/**
-	 * 更新习题选项图片对象结果
+	 * 鏇存柊涔犻閫夐」鍥剧墖瀵硅薄缁撴灉
 	 * 
 	 * @param optionId
 	 * @param imgIds
@@ -3658,7 +3658,7 @@
 	}
 	
 	/**
-	 * 更新习题选项图片对象结果
+	 * 鏇存柊涔犻閫夐」鍥剧墖瀵硅薄缁撴灉
 	 * 
 	 * @param optionId
 	 * @param imgIds
diff --git a/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseStatisticsDealService.java b/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseStatisticsDealService.java
index 73d92c8..6050069 100644
--- a/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseStatisticsDealService.java
+++ b/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseStatisticsDealService.java
@@ -45,7 +45,7 @@
 			
 		} catch (Exception e) {
 
-			log.error("更新成绩统计失败:" + e, e);
+			log.error("鏇存柊鎴愮哗缁熻澶辫触:" + e, e);
 
 			throw e;
 
diff --git a/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseSysMsgDealService.java b/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseSysMsgDealService.java
index 0220f43..ccee49e 100644
--- a/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseSysMsgDealService.java
+++ b/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseSysMsgDealService.java
@@ -37,7 +37,7 @@
 //			String groupId = msg.getUserProperties("groupId");
 //			String classId = msg.getUserProperties("classId");
 //			String actionType = msg.getUserProperties("actionType");
-			// 练习不再发系统通知 by cyq 20160823
+			// 缁冧範涓嶅啀鍙戠郴缁熼�氱煡 by cyq 20160823
 			//sendSysNotice(groupId, classId, actionType);
 
 		} catch (Exception e) {
@@ -47,14 +47,14 @@
 					";groupId:" + msg.getUserProperties("groupId") + 
 					";actionType:" + msg.getUserProperties("actionType") ;
 
-			log.error( businessId + " :更新练习系统消息发送失败:" + e , e);
+			log.error( businessId + " :鏇存柊缁冧範绯荤粺娑堟伅鍙戦�佸け璐�:" + e , e);
 			onsExceptionLogService.doSaveExceptionLog(cfg.getConfigByEnv("ons-common-topic"), "SYS_EXER_SAVE", businessId , desp );
 
 		}*/
 	}
 	
 	/**
-	 * 发送消息
+	 * 鍙戦�佹秷鎭�
 	 * @param groupId
 	 * @param classId
 	 * @param actionType
@@ -75,11 +75,11 @@
 		extra.put("classId", classId);
 		extra.put("className", cls.getName());
 		if ("new".equalsIgnoreCase(actionType)) {
-			extra.put("title", "有新的习题啦");
-			content = cls.getName() + "班有新的习题哦,赶快去瞄瞄吧!";
+			extra.put("title", "鏈夋柊鐨勪範棰樺暒");
+			content = cls.getName() + "鐝湁鏂扮殑涔犻鍝︼紝璧跺揩鍘荤瀯鐬勫惂锛�";
 		} else if ("update".equalsIgnoreCase(actionType)) {
-			extra.put("title", "习题有更新啦");
-			content = cls.getName() + "班习题有更新哦,赶快去瞄瞄吧!";
+			extra.put("title", "涔犻鏈夋洿鏂板暒");
+			content = cls.getName() + "鐝範棰樻湁鏇存柊鍝︼紝璧跺揩鍘荤瀯鐬勫惂锛�";
 		}
 		// add cyq 
 		JSONObject androidParam = new JSONObject();
@@ -87,49 +87,49 @@
 		if (group.getType() == ExerciseGroup.TYPE_HOMEWORK) {
 			
 			extra.put("type", SysNoticeConfigMetadata.TYPE_EXERCISE_HOMEWORK);
-			androidParam.put("key_exercise_type_name", "家庭作业");
+			androidParam.put("key_exercise_type_name", "瀹跺涵浣滀笟");
 			androidParam.put("key_exercise_list_url", "http://www.qxueyou.com/qxueyou/exercise/Exercise/homeWorkListNew");
 			androidParam.put("key_exercise_type", "1");
-			iOSParam.put("Titlename", "家庭作业");
+			iOSParam.put("Titlename", "瀹跺涵浣滀笟");
 			
 		} else if (group.getType() == ExerciseGroup.TYPE_MOCK_EXAM) {
 			
 			extra.put("type", SysNoticeConfigMetadata.TYPE_EXERCISE_ANALOGY);
-			androidParam.put("key_exercise_type_name", "模拟考试");
+			androidParam.put("key_exercise_type_name", "妯℃嫙鑰冭瘯");
 			androidParam.put("key_exercise_list_url", "http://www.qxueyou.com/qxueyou/exercise/Exercise/examsListNew");
 			androidParam.put("key_exercise_type", "4");
-			iOSParam.put("Titlename", "模拟考试");
+			iOSParam.put("Titlename", "妯℃嫙鑰冭瘯");
 			
 		} else if (group.getType() == ExerciseGroup.TYPE_CHAPTER_ITEM) {
 			
 			extra.put("type", SysNoticeConfigMetadata.TYPE_EXERCISE_CHAPTER);
-			androidParam.put("key_exercise_type_name", "章节练习");
+			androidParam.put("key_exercise_type_name", "绔犺妭缁冧範");
 			androidParam.put("key_exercise_list_url", "http://www.qxueyou.com/qxueyou/exercise/Exercise/chapterListNew");
 			androidParam.put("key_exercise_type", "6");
-			iOSParam.put("Titlename", "章节练习");
+			iOSParam.put("Titlename", "绔犺妭缁冧範");
 			
 		} else if (group.getType() == ExerciseGroup.TYPE_EXERCISE_TOPIC) {
 			
 			extra.put("type", SysNoticeConfigMetadata.TYPE_EXERCISE_CHAPTER);
-			androidParam.put("key_exercise_type_name", "专项练习");
+			androidParam.put("key_exercise_type_name", "涓撻」缁冧範");
 			androidParam.put("key_exercise_list_url", "http://www.qxueyou.com/qxueyou/exercise/Exercise/topicListNew");
 			androidParam.put("key_exercise_type", "9");
-			iOSParam.put("Titlename", "专项练习");
+			iOSParam.put("Titlename", "涓撻」缁冧範");
 			
 		} else if (group.getType() == ExerciseGroup.TYPE_EXERCISE_FREE) {
 			
 			extra.put("type", SysNoticeConfigMetadata.TYPE_EXERCISE_FREEDOM);
-			androidParam.put("key_exercise_type_name", "自由练习");
+			androidParam.put("key_exercise_type_name", "鑷敱缁冧範");
 			androidParam.put("key_exercise_list_url", "http://www.qxueyou.com/qxueyou/exercise/Exercise/freeListNew");
 			androidParam.put("key_exercise_type", "10");
-			iOSParam.put("Titlename", "自由练习");
+			iOSParam.put("Titlename", "鑷敱缁冧範");
 			
 		}
 		
 		extra.put("androidParams", androidParam.toString());
 		extra.put("iosParams", iOSParam.toString());
 		if (StringUtils.isNotEmpty(content)) {
-			// 对消息接收人按每批最多20人分批发送
+			// 瀵规秷鎭帴鏀朵汉鎸夋瘡鎵规渶澶�20浜哄垎鎵瑰彂閫�
 			String[] receivers;
 			int loop = (userIdList.size() + 19) / 20;
 			for (int i = 0; i < loop; i ++) {
diff --git a/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseVerService.java b/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseVerService.java
index 9d0d70f..594c3d4 100644
--- a/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseVerService.java
+++ b/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseVerService.java
@@ -68,13 +68,13 @@
 import com.qxueyou.scc.school.service.IRankService;
 
 /**
- * 练习  实现service  APP V2.0接口
+ * 缁冧範  瀹炵幇service  APP V2.0鎺ュ彛
  * @author zhiyong
  *
  */
 @Service
 public class ExerciseVerService extends CommonAppService implements IExerciseVerService {
-	/** ons生产者 */
+	/** ons鐢熶骇鑰� */
 //	@Autowired
 //	CommonONSProducer onsProducer;
 
@@ -82,19 +82,19 @@
 
 	private static final double  SIMILARITY_PASS_LINE =0.8;
 
-	/** 缓存service */
+	/** 缂撳瓨service */
 	@Autowired
 	ICacheService cacheService;
 
-	/** 排名service */
+	/** 鎺掑悕service */
 	@Autowired
 	IRankService  rankService;
 
-	/** 扩展练习service */
+	/** 鎵╁睍缁冧範service */
 	@Autowired
 	private IExerciseExtendService exerciseExtendService;
 
-	/** 扩展练习service */
+	/** 鎵╁睍缁冧範service */
 	@Autowired
 	private IExerciseService exerciseService;
 
@@ -105,23 +105,23 @@
 	@Autowired
 	IMsgInfoService msgInfoService;
 
-	/** 日志 */
+	/** 鏃ュ織 */
 	private static Logger log = LogManager.getLogger("ExerciseVerService");
 
-	/**    ---------------练习成绩统计  start---------------- */
+	/**    ---------------缁冧範鎴愮哗缁熻  start---------------- */
 
 	/**
-	 * 更新统计 - 提交数据调用、单击统计按钮调用
-	 * @param groupId       习题组Id
-	 * @param orgId         机构Id
-	 * @param classId       班级Id
-	 * @param btnFlag       调用入口(true)
+	 * 鏇存柊缁熻 - 鎻愪氦鏁版嵁璋冪敤銆佸崟鍑荤粺璁℃寜閽皟鐢�
+	 * @param groupId       涔犻缁処d
+	 * @param orgId         鏈烘瀯Id
+	 * @param classId       鐝骇Id
+	 * @param btnFlag       璋冪敤鍏ュ彛锛坱rue锛�
 	 */
 	@SuppressWarnings("unchecked")
 	@Override
 	public Result updateRefreshStatistical(String groupId, String orgId, String classId,boolean btnFlag) {
 
-		// 结果Map
+		// 缁撴灉Map
 		Map<String, Object> resultMap = packageMapValue(groupId, orgId, classId, btnFlag);
 
 		if(null == resultMap){
@@ -132,13 +132,13 @@
 		List<ExerciseOptionStatistics> newOrgOStaLst = new ArrayList<ExerciseOptionStatistics>();
 		for (ExerciseItem item : (List<ExerciseItem>) resultMap.get("itemLst")) {
 
-			// 获取当前机构该题目的所有记录
+			// 鑾峰彇褰撳墠鏈烘瀯璇ラ鐩殑鎵�鏈夎褰�
 			for (ExerciseItemStatistics orgItemSta : (List<ExerciseItemStatistics>) resultMap.get("orgIStaLst")) {
 				if (orgItemSta.getExerciseItemId().equals(item.getExerciseId())) {
 					newOrgIStaLst.add(orgItemSta);
 				}
 			}
-			// 获取当前机构该题目选项的所有记录
+			// 鑾峰彇褰撳墠鏈烘瀯璇ラ鐩�夐」鐨勬墍鏈夎褰�
 			for (ExerciseOptionStatistics orgOptionSta : (List<ExerciseOptionStatistics>)resultMap.get("orgOStaLst")) {
 				if (orgOptionSta.getExerciseItemId().equals(item.getExerciseId())) {
 					newOrgOStaLst.add(orgOptionSta);
@@ -154,7 +154,7 @@
 	}
 
 	/**
-	 * 组装数据返回Map值
+	 * 缁勮鏁版嵁杩斿洖Map鍊�
 	 * @param groupId
 	 * @param orgId
 	 * @param classId
@@ -163,13 +163,13 @@
 	 */
 	private Map<String, Object> packageMapValue(String groupId,String orgId,String classId,boolean btnFlag){
 
-		// 组装参数 - 练习组Id、机构Id、班级Id
+		// 缁勮鍙傛暟 - 缁冧範缁処d銆佹満鏋処d銆佺彮绾d
 		Map<String, String> paramsMap = new HashMap<String, String>();
 		paramsMap.put("groupId", groupId);
 		paramsMap.put("orgId", orgId);
 		paramsMap.put("classIdTo", classId);
 
-		// 组装习题组下所有题目的编号
+		// 缁勮涔犻缁勪笅鎵�鏈夐鐩殑缂栧彿
 		Map<String, Object> exerciseItemMap = new HashMap<String, Object>();
 
 		List<ExerciseItem> itemLst = packageMapValue1(paramsMap, exerciseItemMap, btnFlag);
@@ -177,19 +177,19 @@
 			return null;
 		}
 
-		// 组装当前班级的ExerciseItemStatistics数据
+		// 缁勮褰撳墠鐝骇鐨凟xerciseItemStatistics鏁版嵁
 		Map<String, ExerciseItemStatistics> itemStatisMap = new HashMap<String, ExerciseItemStatistics>();
 
-		// 组装当前习题组所有题目的所有做题记录
+		// 缁勮褰撳墠涔犻缁勬墍鏈夐鐩殑鎵�鏈夊仛棰樿褰�
 		Map<String, Object> answerUMap = new HashMap<String, Object>();
-		// 组装当前习题组所有题目当前班级的做题记录
+		// 缁勮褰撳墠涔犻缁勬墍鏈夐鐩綋鍓嶇彮绾х殑鍋氶璁板綍
 		Map<String, Object> classAnswerUMap = new HashMap<String, Object>();
-		// 组装所有题目的当前班级统计记录
+		// 缁勮鎵�鏈夐鐩殑褰撳墠鐝骇缁熻璁板綍
 		Map<String, Object> optionStatisMap = new HashMap<String, Object>();
-		// 组装所有题目的选项
+		// 缁勮鎵�鏈夐鐩殑閫夐」
 		Map<String, Object> itemOptionMap = new HashMap<String, Object>();
 
-		// 组装所有题目的所有做题记录
+		// 缁勮鎵�鏈夐鐩殑鎵�鏈夊仛棰樿褰�
 		String hql_answerUorg = "from ExerciseItemAnswerU where deleteFlag is false and exerciseItemId in (:exerciseItemIds) order by exerciseItemId";
 		List<ExerciseItemAnswerU> answerULstO = this.findByComplexHql(hql_answerUorg, exerciseItemMap, ExerciseItemAnswerU.class);
 		if(answerULstO.isEmpty()){
@@ -197,18 +197,18 @@
 		}
 		ExerciseUtils.packageExerciseItemAnswerStatis(answerULstO, answerUMap);
 
-		// 查询当前题目当前班级的所有做题记录
+		// 鏌ヨ褰撳墠棰樼洰褰撳墠鐝骇鐨勬墍鏈夊仛棰樿褰�
 		String hql_answerUclass = "select u from ExerciseRecord r,ExerciseItemAnswerU u where r.deleteFlag is false "
 				+ "and u.deleteFlag is false and r.recordId = u.exerciseRecordId and r.exerciseGroupId = ? order by u.exerciseItemId";
 		List<ExerciseItemAnswerU> answerULstC = this.find(hql_answerUclass, CollectionUtils.newList(groupId), ExerciseItemAnswerU.class);
 		ExerciseUtils.packageExerciseItemAnswerStatis(answerULstC, classAnswerUMap);
 
-		// 组装所有题目的选项
+		// 缁勮鎵�鏈夐鐩殑閫夐」
 		String hql_option = "from ExerciseItemOption where deleteFlag is false and exerciseItemId in (:exerciseItemIds) order by exerciseItemId";
 		List<ExerciseItemOption> itemOptionLst = this.findByComplexHql(hql_option, exerciseItemMap, ExerciseItemOption.class);
 		ExerciseUtils.packageExerciseItemOption(itemOptionLst, itemOptionMap);
 
-		// 当前机构的所有题目统计 —— 题目的全站统计
+		// 褰撳墠鏈烘瀯鐨勬墍鏈夐鐩粺璁� 鈥斺�� 棰樼洰鐨勫叏绔欑粺璁�
 		exerciseItemMap.put("orgId", paramsMap.get("orgId"));
 		String hql_orgItemStatis = "from ExerciseItemStatistics where exerciseItemId in (:exerciseItemIds) and orgId=:orgId and deleteFlag is false";
 		List<ExerciseItemStatistics> orgItemStatisLst = this.findByComplexHql(hql_orgItemStatis, exerciseItemMap, ExerciseItemStatistics.class);
@@ -222,7 +222,7 @@
 			itemStatisMap.put(item.getExerciseItemId(), item);
 		}
 
-		// 当前机构的所有题目选项统计 —— 题目选项的全站统计
+		// 褰撳墠鏈烘瀯鐨勬墍鏈夐鐩�夐」缁熻 鈥斺�� 棰樼洰閫夐」鐨勫叏绔欑粺璁�
 		String hql_optionStatisO = "from ExerciseOptionStatistics where deleteFlag is false and exerciseItemId in (:exerciseItemIds) and orgId=:orgId";
 		List<ExerciseOptionStatistics> orgOptionStatisLst = this.findByComplexHql(hql_optionStatisO, exerciseItemMap, ExerciseOptionStatistics.class);
 		List<ExerciseOptionStatistics> claOptionStatisLst = new ArrayList<ExerciseOptionStatistics>(orgOptionStatisLst.size());
@@ -249,7 +249,7 @@
 	}
 
 	/**
-	 * 组装数据返回Map值
+	 * 缁勮鏁版嵁杩斿洖Map鍊�
 	 * @param paramsMap
 	 * @param exerciseItemMap
 	 * @param btnFlag
@@ -259,7 +259,7 @@
 	private List<ExerciseItem> packageMapValue1(Map<String, String> paramsMap,Map<String, Object> exerciseItemMap,boolean btnFlag){
 
 		String groupId = paramsMap.get("groupId");
-		// 组装习题组下所有题目的编号
+		// 缁勮涔犻缁勪笅鎵�鏈夐鐩殑缂栧彿
 		Object[] itemArgs = null;
 		List<ExerciseItem> itemLst = null;
 
@@ -276,13 +276,13 @@
 			String hql = "from ExerciseItem where exerciseId in (:exerciseItemIds) and deleteFlag is false";
 			itemLst = findByComplexHql(hql, exerciseItemMap, ExerciseItem.class);
 		}else{
-			// 判断5分钟内 是否有当前组ID的缓存
+			// 鍒ゆ柇5鍒嗛挓鍐� 鏄惁鏈夊綋鍓嶇粍ID鐨勭紦瀛�
 			String cache = cacheService.get(Constants.REFRESH_STATIS_GROUPID_CACHE_KEY + groupId , String.class);
 			if (cache != null) {
 				return null;
 			}
 
-			// 将当前组ID放在缓存中
+			// 灏嗗綋鍓嶇粍ID鏀惧湪缂撳瓨涓�
 			cacheService.set(Constants.REFRESH_STATIS_GROUPID_CACHE_KEY + groupId , Constants.EXE_STATIS_UPDATE_MINUTES, groupId);
 			String hql = "select g.items from ExerciseGroup g where g.groupId=? and g.deleteFlag is false";
 			itemLst = find(hql, CollectionUtils.newList(groupId), ExerciseItem.class);
@@ -302,8 +302,8 @@
 
 
 	/**
-	 * 刷新更新统计
-	 * @param exerciseItem     练习
+	 * 鍒锋柊鏇存柊缁熻
+	 * @param exerciseItem     缁冧範
 	 * @param newOrgIStaLst
 	 * @param newOrgOStaLst
 	 * @param resultMap
@@ -313,26 +313,26 @@
 	public Result updateExerciseStatis(ExerciseItem exerciseItem, List<ExerciseItemStatistics> newOrgIStaLst,
 			List<ExerciseOptionStatistics> newOrgOStaLst, Map<String, Object> resultMap) {
 
-		// 所有题目的所有做题记录
+		// 鎵�鏈夐鐩殑鎵�鏈夊仛棰樿褰�
 		Map<String, Object> answerUMap = (Map<String, Object>) resultMap.get("answerUMap");
-		// 当前习题组所有题目当前班级的做题记录
+		// 褰撳墠涔犻缁勬墍鏈夐鐩綋鍓嶇彮绾х殑鍋氶璁板綍
 		Map<String, Object> classAnswerUMap = (Map<String, Object>) resultMap.get("classAnswerUMap");
-		// 所有题目的当前班级统计记录
+		// 鎵�鏈夐鐩殑褰撳墠鐝骇缁熻璁板綍
 		Map<String, Object> optionStatisMap = (Map<String, Object>)resultMap.get("optionStatisMap");
-		// 所有题目的选项
+		// 鎵�鏈夐鐩殑閫夐」
 		Map<String, Object> itemOptionMap = (Map<String, Object>) resultMap.get("itemOptionMap");
-		// 当前班级的ExerciseItemStatistics数据
+		// 褰撳墠鐝骇鐨凟xerciseItemStatistics鏁版嵁
 		Map<String, ExerciseItemStatistics> itemStatisMap = (Map<String, ExerciseItemStatistics>) resultMap.get("itemStatisMap");
-		// 组装参数 - 练习组Id、机构Id、班级Id
+		// 缁勮鍙傛暟 - 缁冧範缁処d銆佹満鏋処d銆佺彮绾d
 		Map<String, String> paramsMap = (Map<String, String>)resultMap.get("paramsMap");
 
-		// 查询当前题目的所有做题记录
+		// 鏌ヨ褰撳墠棰樼洰鐨勬墍鏈夊仛棰樿褰�
 		List<ExerciseItemAnswerU> answerULstO = (List<ExerciseItemAnswerU>) answerUMap.get(exerciseItem.getExerciseId());
 		if(null == answerULstO){
 			return null;
 		}
-		String orgAnswer = "";// 组装已选的答案 - 机构
-		int orgCorrectNum = 0;// 组装正确的次数 - 机构
+		String orgAnswer = "";// 缁勮宸查�夌殑绛旀 - 鏈烘瀯
+		int orgCorrectNum = 0;// 缁勮姝g‘鐨勬鏁� - 鏈烘瀯
 		for (ExerciseItemAnswerU item : answerULstO) {
 			if (item.getCorrect() == 1) {
 				orgCorrectNum++;
@@ -340,13 +340,13 @@
 			orgAnswer = orgAnswer.concat(item.getAnswer()).concat(",");
 		}
 
-		// 查询当前题目的当前班级做题记录
+		// 鏌ヨ褰撳墠棰樼洰鐨勫綋鍓嶇彮绾у仛棰樿褰�
 		List<ExerciseItemAnswerU> answerULstC = (List<ExerciseItemAnswerU>) classAnswerUMap.get(exerciseItem.getExerciseId());
 		if(null == answerULstC){
 			return null;
 		}
-		String classAnswer = "";// 组装已选的答案 - 班级
-		int classCorrectNum = 0;// 组装正确的次数 - 班级
+		String classAnswer = "";// 缁勮宸查�夌殑绛旀 - 鐝骇
+		int classCorrectNum = 0;// 缁勮姝g‘鐨勬鏁� - 鐝骇
 		for (ExerciseItemAnswerU item : answerULstC) {
 			if (item.getCorrect() == 1) {
 				classCorrectNum++;
@@ -354,17 +354,17 @@
 			classAnswer = classAnswer.concat(item.getAnswer()).concat(",") ;
 		}
 
-		// 查询当前班级是否有当前题目的统计记录
+		// 鏌ヨ褰撳墠鐝骇鏄惁鏈夊綋鍓嶉鐩殑缁熻璁板綍
 		List<ExerciseOptionStatistics> optionStatisLst = (List<ExerciseOptionStatistics>) optionStatisMap.get(exerciseItem.getExerciseId());
-		// 查询当前题目的选项
+		// 鏌ヨ褰撳墠棰樼洰鐨勯�夐」
 		List<ExerciseItemOption> itemOptionLst = (List<ExerciseItemOption>) itemOptionMap.get(exerciseItem.getExerciseId());
 
-		// 更新数据 - 题目
+		// 鏇存柊鏁版嵁 - 棰樼洰
 		updateItemStatistics(itemStatisMap.get(exerciseItem.getExerciseId()), exerciseItem, paramsMap, orgCorrectNum, classCorrectNum, answerULstO.size(), answerULstC.size());
-		// 更新数据 - 题目的选项
+		// 鏇存柊鏁版嵁 - 棰樼洰鐨勯�夐」
 		updateOptionStatistics(optionStatisLst, itemOptionLst, newOrgOStaLst, paramsMap, orgAnswer, classAnswer, answerULstO.size(), answerULstC.size());
 
-		// 更新全站数据 - 题目
+		// 鏇存柊鍏ㄧ珯鏁版嵁 - 棰樼洰
 		for (ExerciseItemStatistics itemStatis : newOrgIStaLst) {
 			itemStatis.setOrgCorrectNum(new BigInteger(String.valueOf(orgCorrectNum)));
 			itemStatis.setOrgTotalNum(new BigInteger(String.valueOf(answerULstO.size())));
@@ -373,7 +373,7 @@
 			save(itemStatis);
 		}
 
-		// 更新全站数据 - 题目的选项
+		// 鏇存柊鍏ㄧ珯鏁版嵁 - 棰樼洰鐨勯�夐」
 		for (ExerciseOptionStatistics optionSta : newOrgOStaLst) {
 			optionSta.setOrgTotalNum(new BigInteger(String.valueOf(answerULstO.size())));
 			optionSta.setOrgAccuracy(new BigDecimal(optionSta.getOrgCorrectNum().doubleValue() / optionSta.getOrgTotalNum().doubleValue() * 100));
@@ -385,11 +385,11 @@
 	}
 
 	/**
-	 * 新增或修改ExerciseOptionStatistics记录
+	 * 鏂板鎴栦慨鏀笶xerciseOptionStatistics璁板綍
 	 *
-	 * @param itemStatis       练习题目
-	 * @param exerciseItem     练习
-	 * @param paramsMap        参数map - 练习组Id、机构Id、班级Id
+	 * @param itemStatis       缁冧範棰樼洰
+	 * @param exerciseItem     缁冧範
+	 * @param paramsMap        鍙傛暟map - 缁冧範缁処d銆佹満鏋処d銆佺彮绾d
 	 * @param orgCorrectNum
 	 * @param classCorrectNum
 	 * @param answerULstO
@@ -399,14 +399,14 @@
 	public Result updateItemStatistics(ExerciseItemStatistics itemStatis, ExerciseItem exerciseItem, Map<String, String> paramsMap,
 			int orgCorrectNum, int classCorrectNum, int answerULstO, int answerULstC) {
 		Result result = null;
-		if (itemStatis != null && StringUtils.isNoneBlank(itemStatis.getItemStatisticsId())) { // 有记录 更新
+		if (itemStatis != null && StringUtils.isNoneBlank(itemStatis.getItemStatisticsId())) { // 鏈夎褰� 鏇存柊
 
 			itemStatis.setClassTotalNum(new BigInteger(String.valueOf(answerULstC)));
 			itemStatis.setClassCorrectNum(new BigInteger(String.valueOf(classCorrectNum)));
 			itemStatis.setClassAccuracy(new BigDecimal(itemStatis.getClassCorrectNum().doubleValue() / itemStatis.getClassTotalNum().doubleValue() * 100));
 			TraceUtils.setUpdateTrace(itemStatis);
 			save(itemStatis);
-		} else {// 否则新增
+		} else {// 鍚﹀垯鏂板
 
 			ExerciseItemStatistics newItemStatis = new ExerciseItemStatistics();
 
@@ -430,13 +430,13 @@
 	}
 
 	/**
-	 * 新增或修改ExerciseOptionStatistics记录
+	 * 鏂板鎴栦慨鏀笶xerciseOptionStatistics璁板綍
 	 *
-	 * @param optionStatisLst     练习题目选项
-	 * @param itemOptionLst       练习
+	 * @param optionStatisLst     缁冧範棰樼洰閫夐」
+	 * @param itemOptionLst       缁冧範
 	 * @param orgOptionStatisLst
-	 * @param orgOptionStatisLst  提交题目的常见错误答案map
-	 * @param paramsMap           参数map - 练习组Id、机构Id、班级Id
+	 * @param orgOptionStatisLst  鎻愪氦棰樼洰鐨勫父瑙侀敊璇瓟妗坢ap
+	 * @param paramsMap           鍙傛暟map - 缁冧範缁処d銆佹満鏋処d銆佺彮绾d
 	 * @param classAnswer
 	 * @param orgAnswer
 	 * @param answerULstO
@@ -447,7 +447,7 @@
 			List<ExerciseOptionStatistics> orgOptionStatisLst, Map<String, String> paramsMap,
 			String orgAnswer, String classAnswer, int answerULstO, int answerULstC) {
 		Result result = null;
-		if (null != optionStatisLst) { // 有记录 更新
+		if (null != optionStatisLst) { // 鏈夎褰� 鏇存柊
 
 			for (ExerciseOptionStatistics optionSta : optionStatisLst) {
 
@@ -467,7 +467,7 @@
 					}
 				}
 			}
-		} else {// 否则新增
+		} else {// 鍚﹀垯鏂板
 
 			for (ExerciseItemOption itemOption : itemOptionLst) {
 				ExerciseOptionStatistics newOptionSta = new ExerciseOptionStatistics();
@@ -500,7 +500,7 @@
 	}
 
 	/**
-	 * 获取某个字符的个数
+	 * 鑾峰彇鏌愪釜瀛楃鐨勪釜鏁�
 	 *
 	 * @return
 	 */
@@ -515,20 +515,20 @@
 	}
 
 	/**
-	 * 提交题目发送消息 - 保存成绩统计
+	 * 鎻愪氦棰樼洰鍙戦�佹秷鎭� - 淇濆瓨鎴愮哗缁熻
 	 * @param notice
 	 * @return
 	 *//*
 	private Result sendMsgExerciseStatistics(List<ExerciseItemAnswerU> lstNewAnswerU,String groupId){
 
-		// 4、获取提交当前题目的客户端班级、机构
+		// 4銆佽幏鍙栨彁浜ゅ綋鍓嶉鐩殑瀹㈡埛绔彮绾с�佹満鏋�
 		String classId = ClientUtils.getClassId();
 		String orgId = ClientUtils.getOrgId();
 
-		// 2、答案记录放在缓存中
+		// 2銆佺瓟妗堣褰曟斁鍦ㄧ紦瀛樹腑
 		cacheService.set(Constants.REFRESH_STATIS_GROUPID_LSTNEWANSWERU_CACHE_KEY + groupId, Constants.EXE_STATIS_UPDATE_MINUTES, lstNewAnswerU);
 
-		// 3、异步调用 发送消息
+		// 3銆佸紓姝ヨ皟鐢� 鍙戦�佹秷鎭�
 		ONSMsg msg = new ONSMsg(onsProducer.getTopic());
 
 		msg.put("msgType", "EXER_STATIS_SAVE");
@@ -549,14 +549,14 @@
 		return new Result(false);
 	}*/
 
-	/**    ---------------练习成绩统计  end---------------- */
+	/**    ---------------缁冧範鎴愮哗缁熻  end---------------- */
 
 	/** ------------------------- APP V2.0  start------------------------------------------*/
 
 
 
 	/**
-	 * 重新组装新结果
+	 * 閲嶆柊缁勮鏂扮粨鏋�
 	 * @param answerData
 	 * @return
 	 */
@@ -566,7 +566,7 @@
 			return answerData;
 		}
 
-		// 1.组装参数
+		// 1.缁勮鍙傛暟
 		List<ExerciseItemAnswerData> lstAnswers = answerData.getItems();
 		Map<String, Object> argsMap = new HashMap<String, Object>(lstAnswers.size());
 
@@ -576,7 +576,7 @@
 		}
 		argsMap.put("exerciseIds", args);
 
-		// 2.查询正确答案
+		// 2.鏌ヨ姝g‘绛旀
 		String hql_answerU = "from ExerciseItem where exerciseId in (:exerciseIds) ";
 		List<ExerciseItem> lstItem= this.findByComplexHql(hql_answerU, argsMap, ExerciseItem.class);
 
@@ -587,18 +587,18 @@
 
 		ExerciseItem item = null;
 		int correctCount=0;
-		// 2.重新组装结果
+		// 2.閲嶆柊缁勮缁撴灉
 		for(ExerciseItemAnswerData data:lstAnswers){
 			item = itemMap.get(data.getExerciseId());
 
 			if(null == item){
 				continue;
 			}
-			//简答题都需要进行主观评分,用户答案统一标识为错误
-			if(checkIsCorrect(item,data.getAnswer())){// 答案正确
+			//绠�绛旈閮介渶瑕佽繘琛屼富瑙傝瘎鍒嗭紝鐢ㄦ埛绛旀缁熶竴鏍囪瘑涓洪敊璇�
+			if(checkIsCorrect(item,data.getAnswer())){// 绛旀姝g‘
 				data.setCorrect(String.valueOf(ExerciseItemAnswerU.CORRECT_RIGHT));
 				correctCount++;
-			}else{// 答案错误
+			}else{// 绛旀閿欒
 				data.setCorrect(String.valueOf(ExerciseItemAnswerU.CORRECT_ERROR));
 			}
 		}
@@ -652,7 +652,7 @@
 				if(tmpCorrectAsw.equals(tmpUsertAsw)){
 					++tempRightFillCount;
 				}else{
-					//如果不完全相同,则根据hanlp计算相似度
+					//濡傛灉涓嶅畬鍏ㄧ浉鍚岋紝鍒欐牴鎹甴anlp璁$畻鐩镐技搴�
 					if(this.checkSimilarity(tmpCorrectAsw, tmpUsertAsw)){
 						++tempRightFillCount;
 					}
@@ -665,12 +665,12 @@
 	}
 
 	/**
-	 * 操作用户 练习组排名信息
+	 * 鎿嶄綔鐢ㄦ埛 缁冧範缁勬帓鍚嶄俊鎭�
 	 * @param record
 	 * @return
 	 */
 	public Result doOperExerciseGroupRank(ExerciseRecord record){
-		// 查询该用户在排名表中 此组是否有值
+		// 鏌ヨ璇ョ敤鎴峰湪鎺掑悕琛ㄤ腑 姝ょ粍鏄惁鏈夊��
 		String hql = "from SchRank where rankType=? and userId=? and scopeType=? and scopeId=? ";
 
 		String userId = record.getUserId();
@@ -679,7 +679,7 @@
 						userId,SchRank.SCOPE_TYPE_CLASS_GROUP,
 						record.getExerciseGroupId()), SchRank.class);
 
-		if(null == rank){// 新增记录
+		if(null == rank){// 鏂板璁板綍
 			rank = new SchRank();
 
 			rank.setRankType(SchRank.RANK_TYPE_EXERCISE_SCORE);
@@ -689,20 +689,20 @@
 			rank.setUserId(userId);
 			rank.setDeleteFlag(false);
 			TraceUtils.setCreateTrace(rank);
-		}else{// 更新记录
+		}else{// 鏇存柊璁板綍
 			rank.setValue(record.getAccuracy());
 
 			TraceUtils.setUpdateTrace(rank);
 		}
 
-		// 保存结果
+		// 淇濆瓨缁撴灉
 		this.save(rank);
 
 		return new Result(true);
 	}
 
 	/**
-	 * 操作最近一次记录
+	 * 鎿嶄綔鏈�杩戜竴娆¤褰�
 	 * @param record
 	 * @return
 	 */
@@ -714,10 +714,10 @@
 				CollectionUtils.newList(record.getExerciseGroupId(), record.getUserId()), ExerciseRecentRecord.class);
 
 		String recentRecordId = null;
-		if(null == rRecord){//新增记录
+		if(null == rRecord){//鏂板璁板綍
 
 			recentRecordId = insertExerciseRecentRecord(record);
-		}else{// 更新记录
+		}else{// 鏇存柊璁板綍
 
 			updateExerciseRecentRecord(rRecord, record.getRecordId());
 
@@ -728,7 +728,7 @@
 	}
 
 	/**
-	 * 新增记录 最近一次做题记录
+	 * 鏂板璁板綍 鏈�杩戜竴娆″仛棰樿褰�
 	 * @param record
 	 * @return
 	 */
@@ -752,7 +752,7 @@
 	}
 
 	/**
-	 * 更新记录 最近一次做题记录
+	 * 鏇存柊璁板綍 鏈�杩戜竴娆″仛棰樿褰�
 	 * @param record
 	 * @return
 	 */
@@ -767,7 +767,7 @@
 	}
 
 	/**
-	 * 新增练习记录
+	 * 鏂板缁冧範璁板綍
 	 * @param groupId
 	 * @return
 	 * @throws ParseException
@@ -786,7 +786,7 @@
 	}
 
 	/**
-	 * 新增练习记录
+	 * 鏂板缁冧範璁板綍
 	 * @param groupId
 	 * @return
 	 */
@@ -805,7 +805,7 @@
 	}
 
 	/**
-	 * 更新练习记录
+	 * 鏇存柊缁冧範璁板綍
 	 * @param groupId
 	 * @return
 	 */
@@ -814,18 +814,18 @@
 			record.setTitleMaxNumber(answerData.getCurrTitleNum());
 		}
 
-		//如果是考试
+		//濡傛灉鏄�冭瘯
 		if(String.valueOf(ExerciseGroup.TYPE_EXERCISE_EXAM_ITEM).equals(answerData.getType())){
 			if(answerData.getScore()!=null){
 				record.setScore(answerData.getScore());
 			}else{
-				//判断是否是随机考试,如果是随机考试,则按照配置来计算得分
+				//鍒ゆ柇鏄惁鏄殢鏈鸿�冭瘯锛屽鏋滄槸闅忔満鑰冭瘯锛屽垯鎸夌収閰嶇疆鏉ヨ绠楀緱鍒�
 				ExamInfo examInfo =  null;
 				List<ExerciseItemSet> lstItemSets = null;
 				if(StringUtils.isNotEmpty(record.getExamBatchId())&& StringUtils.isNotEmpty(record.getClassId())){
 					examInfo =  this.read(ExamBatchInfo.class,record.getExamBatchId()).getExamInfo();
 				}else {
-					//TODO 这里是因为补考考试的时候添加的记录的批次ID改成了考试ID,并且没有添加ClassID
+					//TODO 杩欓噷鏄洜涓鸿ˉ鑰冭�冭瘯鐨勬椂鍊欐坊鍔犵殑璁板綍鐨勬壒娆D鏀规垚浜嗚�冭瘯ID锛屽苟涓旀病鏈夋坊鍔燙lassID
 					examInfo =  this.read(ExamInfo.class,record.getExamBatchId());
 				}
 
@@ -838,11 +838,11 @@
 				}
 			}
 		}else{
-			//如果是作业
+			//濡傛灉鏄綔涓�
 			record.setScore(answerData.getScore());
 		}
 
-		//设置状态,如果没有主观题,并是提交状态,则直接设置状态为已批阅
+		//璁剧疆鐘舵�侊紝濡傛灉娌℃湁涓昏棰橈紝骞舵槸鎻愪氦鐘舵�侊紝鍒欑洿鎺ヨ缃姸鎬佷负宸叉壒闃�
 		if(record.getSubItemCount()==0 && answerData.getStatus().equals(String.valueOf(ExerciseRecord.STATUS_SUBMIT))){
 			record.setStatus(ExerciseRecord.STATUS_CHECK);
 		}else{
@@ -851,12 +851,12 @@
 
 		record.setRemainingSeconds(answerData.getRemainingSeconds());
 
-		//设置提交时间
+		//璁剧疆鎻愪氦鏃堕棿
 		if(answerData.getStatus().equals(String.valueOf(ExerciseRecord.STATUS_SUBMIT))){
 			record.setSubmitTime(new Date());
 		}
 
-		//保存客观题分数和主观题分数
+		//淇濆瓨瀹㈣棰樺垎鏁板拰涓昏棰樺垎鏁�
 		if(answerData.getStatus().equals(String.valueOf(ExerciseRecord.STATUS_CHECK))){
 			record.setSubScore(record.getScore().subtract(record.getObjScore()));
 		}else{
@@ -869,7 +869,7 @@
 	}
 
 
-	//后台计算考试得分
+	//鍚庡彴璁$畻鑰冭瘯寰楀垎
 	private  BigDecimal  calculateScore(String groupId,List<ExerciseItemAnswerData> items){
 		BigDecimal resultScore = BigDecimal.ZERO;
 
@@ -877,13 +877,13 @@
 			return BigDecimal.ZERO;
 		}
 
-		//查询题目分数信息
+		//鏌ヨ棰樼洰鍒嗘暟淇℃伅
 		List<Object[]> lstObj =  this.find("select c.exerciseItemId,c.score,i.answer from ExerciseItemScore c,ExerciseItem i where c.exerciseItemId = i.exerciseId and c.groupId=? and c.deleteFlag is false",  CollectionUtils.newList(groupId), Object[].class);
 		if(lstObj==null || lstObj.isEmpty()){
 			return BigDecimal.ZERO;
 		}
 
-		//组装题目分数MAP
+		//缁勮棰樼洰鍒嗘暟MAP
 		Map<String,Object[]> exerciseScoreMap = new HashMap<String,Object[]>(lstObj.size());
 		for(Object[] arrObj : lstObj){
 			exerciseScoreMap.put((String)arrObj[0],arrObj);
@@ -892,7 +892,7 @@
 		BigDecimal tempScore = null,itemScore = null;
 		String itemAnswer = "";
 		for(ExerciseItemAnswerData data : items){
-			//如果正确并且存在分数信息,则处理
+			//濡傛灉姝g‘骞朵笖瀛樺湪鍒嗘暟淇℃伅锛屽垯澶勭悊
 			if(exerciseScoreMap.containsKey(data.getExerciseId())){
 				itemScore = new BigDecimal((String)exerciseScoreMap.get(data.getExerciseId())[1]);
 				itemAnswer = (String)exerciseScoreMap.get(data.getExerciseId())[2];
@@ -900,16 +900,16 @@
 				itemScore =BigDecimal.ZERO;
 			}
 
-			if(data.getType()==ExerciseItem.TYPE_ESSAY_QUESTION){	//问答题计算分数
+			if(data.getType()==ExerciseItem.TYPE_ESSAY_QUESTION){	//闂瓟棰樿绠楀垎鏁�
 				if(StringUtils.isNotEmpty(data.getTeacherScore())){
 					tempScore = new BigDecimal(data.getTeacherScore());
 				}else{
 					tempScore = BigDecimal.ZERO;
 				}
 				tempScore = tempScore.compareTo(itemScore)>0?itemScore:tempScore;
-			}else if(data.getType()==ExerciseItem.TYPE_FILL_BLANKS){ //填空题计算分数
+			}else if(data.getType()==ExerciseItem.TYPE_FILL_BLANKS){ //濉┖棰樿绠楀垎鏁�
 				tempScore  = this.calFillBlanksItemScore(itemAnswer, data.getAnswer(), itemScore.floatValue());
-				data.setTeacherScore(tempScore.toPlainString()); //设置填空题分数
+				data.setTeacherScore(tempScore.toPlainString()); //璁剧疆濉┖棰樺垎鏁�
 			}else{
 				tempScore = Integer.valueOf(data.getCorrect())>0?itemScore:BigDecimal.ZERO;
 			}
@@ -920,13 +920,13 @@
 	}
 
 	/**
-	 * 根据随机选题配置计算题目得分
+	 * 鏍规嵁闅忔満閫夐閰嶇疆璁$畻棰樼洰寰楀垎
 	 * @param lstItemSet
 	 * @param items
 	 * @return
 	 */
 	private BigDecimal calculateScore(String groupId,List<ExerciseItemSet> lstItemSet,List<ExerciseItemAnswerData> items) {
-		//获取填空题答案信息
+		//鑾峰彇濉┖棰樼瓟妗堜俊鎭�
 		Map<String,String> exerciseFillItemMap= null;
 		List<Object[]> lstObj =  this.find("select i.exerciseId,i.answer from ExerciseGroupItemRe r, ExerciseItem i where r.exerciseItemId=i.exerciseId and  r.exerciseGroupId=? and r.deleteFlag is false and i.type=? and i.deleteFlag is false",
 					CollectionUtils.newList(groupId,ExerciseItem.TYPE_FILL_BLANKS), Object[].class);
@@ -1019,7 +1019,7 @@
 		String[] arrUserAnswer = null;
 		String[] arrItemAnswer = null;
 
-		//填空题计算分数
+		//濉┖棰樿绠楀垎鏁�
 		tempRightFillCount =0;
 		if(StringUtils.isNotEmpty(itemAnswer) && StringUtils.isNotEmpty(useranswer)){
 			arrUserAnswer = useranswer.split(FILL_BLANKS_ANSWER_SPLIT_STR);
@@ -1040,7 +1040,7 @@
 				if(tmpCorrectAsw.equals(tmpUsertAsw)){
 					++tempRightFillCount;
 				}else{
-					//如果不完全相同,则根据hanlp计算相似度
+					//濡傛灉涓嶅畬鍏ㄧ浉鍚岋紝鍒欐牴鎹甴anlp璁$畻鐩镐技搴�
 					if(this.checkSimilarity(tmpCorrectAsw, tmpUsertAsw)){
 						++tempRightFillCount;
 					}
@@ -1064,7 +1064,7 @@
 //		System.out.println(correctLst);
 //		System.out.println(userLst);
 
-		//根据正确的list进行参照,如果user中含有正确的词汇+1
+		//鏍规嵁姝g‘鐨刲ist杩涜鍙傜収锛屽鏋渦ser涓惈鏈夋纭殑璇嶆眹+1
 		for(String t :correctLst){
 			if(userLst.contains(t)){
 				correctWord++;
@@ -1080,39 +1080,39 @@
 	}
 
 	/**
-	 * 提交用户本次做题数据结果 以及分析结果
+	 * 鎻愪氦鐢ㄦ埛鏈鍋氶鏁版嵁缁撴灉 浠ュ強鍒嗘瀽缁撴灉
 	 * @return
 	 */
 	public Result doSubmitExerciseAnswerDataNew(ExerciseSubmitAnswerData answerData, String exerciseRecordId) {
-		// 1.组装参数
+		// 1.缁勮鍙傛暟
 		String exerciseGroupId = answerData.getExerciseGroupId();
 
 		List<ExerciseItemAnswerData> lstAnswers = answerData.getItems();
-		//TODO 添加用户做题答案时,判断提交的做题记录是否为空
+		//TODO 娣诲姞鐢ㄦ埛鍋氶绛旀鏃讹紝鍒ゆ柇鎻愪氦鐨勫仛棰樿褰曟槸鍚︿负绌�
 		if (lstAnswers!=null&& !lstAnswers.isEmpty()) {
 			Object[] args = new Object[lstAnswers.size()];
 			for(int i=0; i<lstAnswers.size(); i++){
 				args[i] = lstAnswers.get(i).getExerciseId();
 			}
 
-			// 1.记录练习答案  ExerciseItemAnswerU
+			// 1.璁板綍缁冧範绛旀  ExerciseItemAnswerU
 			this.doOperExerciseItemAnswerUNew(lstAnswers, exerciseRecordId,exerciseGroupId, CollectionUtils.newObjectMap("exerciseIds",args));
 		}
 
-		// 2.重新计算做题记录正确个数 做题个数  正确率
+		// 2.閲嶆柊璁$畻鍋氶璁板綍姝g‘涓暟 鍋氶涓暟  姝g‘鐜�
 		Result result = this.doCalcExericseRecordStatisData(exerciseGroupId, exerciseRecordId, answerData);
 
-		// 3.计算组已经提交人数
+		// 3.璁$畻缁勫凡缁忔彁浜や汉鏁�
 		this.doCalcExericseGroupSubmitNumber(exerciseGroupId);
 
-		// 4、计算班级正确率
+		// 4銆佽绠楃彮绾ф纭巼
 		this.doUpdateExerGroupClsAccuracy(exerciseGroupId, answerData.getDoCount(), answerData.getCorrectCount());
 
 		return result;
 	}
 
 	/**
-	 * 计算组已经提交人数
+	 * 璁$畻缁勫凡缁忔彁浜や汉鏁�
 	 * @param exerciseGroupId
 	 * @return
 	 */
@@ -1140,22 +1140,22 @@
 	}
 
 	/**
-	 * 发送个人统计 全站统计消息
+	 * 鍙戦�佷釜浜虹粺璁� 鍏ㄧ珯缁熻娑堟伅
 	 * @param lstAnswers
 	 * @return
 	 */
 	@Override
 	public Result sendUpdateExerItemStatisticsMsg(String exerciseGroupId, ExerciseSubmitAnswerData answerData){
 
-		// 1、 获取当前时间
+		// 1銆� 鑾峰彇褰撳墠鏃堕棿
 		DateUtils objDateUtils = new DateUtils();
 		String currTime = objDateUtils.getDateFormat(objDateUtils.getCurrDateTime(),"yyyyMMddHHmmss");
 
-		// 2、答案记录放在缓存中   默认放入10分钟
+		// 2銆佺瓟妗堣褰曟斁鍦ㄧ紦瀛樹腑   榛樿鏀惧叆10鍒嗛挓
 		cacheService.set(Constants.EXER_ITEM_STATISTICAL_CACHE_KEY
 				+ ClientUtils.getUserId() + exerciseGroupId +  currTime, 600, answerData);
 
-		// 异步调用 发送消息
+		// 寮傛璋冪敤 鍙戦�佹秷鎭�
 //		ONSMsg msg = new ONSMsg(onsProducer.getTopic());
 //
 //		msg.put("msgType", "USER_EXER_ITEM_STATIS");
@@ -1177,7 +1177,7 @@
 	}
 
 	/**
-	 * 重新计算做题记录正确个数 做题个数  正确率
+	 * 閲嶆柊璁$畻鍋氶璁板綍姝g‘涓暟 鍋氶涓暟  姝g‘鐜�
 	 * @param exerciseGroupId
 	 * @param exerciseRecordId
 	 * @return
@@ -1186,7 +1186,7 @@
 	public Result doCalcExericseRecordStatisData(String exerciseGroupId, String exerciseRecordId
 			, ExerciseSubmitAnswerData answerData){
 
-		// 1.计算做题个数   做题正确个数
+		// 1.璁$畻鍋氶涓暟   鍋氶姝g‘涓暟
 		String sql_answerU = "select count(1) doCount, sum(CORRECT=1) correctCount"
 				+ " from exercise_item_answer_u where DELETE_FLAG=0 and EXERCISE_RECORD_ID=? ";
 		List<Object[]> lstAnswerU = this.findBySql(sql_answerU, CollectionUtils.newList(exerciseRecordId));
@@ -1194,7 +1194,7 @@
 		String doCount = String.valueOf(lstAnswerU.get(0)[0]);
 		String correctCount = String.valueOf(lstAnswerU.get(0)[1] == null ? 0 : lstAnswerU.get(0)[1]);
 
-		// 3.查询总题目数
+		// 3.鏌ヨ鎬婚鐩暟
 		ExerciseGroup group = this.read(ExerciseGroup.class, exerciseGroupId);
 		BigInteger allCount = group.getAllCount();
 
@@ -1202,13 +1202,13 @@
 			allCount = BigInteger.valueOf(this.findCount("from ExerciseGroupItemRe  where exerciseGroupId=? and deleteFlag is false", CollectionUtils.newList(exerciseGroupId)));;
 		}
 
-		// 4.查询做题记录obj
+		// 4.鏌ヨ鍋氶璁板綍obj
 		ExerciseRecord record = this.read(ExerciseRecord.class, exerciseRecordId);
 
 		BigDecimal accuracy = ExerciseUtils.parseStrToBigDecimal(correctCount, String.valueOf(allCount));
 		BigDecimal completionRate =  ExerciseUtils.parseStrToBigDecimal(doCount,  String.valueOf(allCount));
 
-		// 更新最新值
+		// 鏇存柊鏈�鏂板��
 		record.setAccuracy(accuracy);
 		record.setCompletionRate(completionRate);
 		record.setStatus(answerData.getStatus());
@@ -1218,14 +1218,14 @@
 
 		this.save(record);
 
-		// 5.操作练习组此次排名情况
+		// 5.鎿嶄綔缁冧範缁勬娆℃帓鍚嶆儏鍐�
 //		doOperExerciseGroupRank(record);
 
 		return new Result(true);
 	}
 
 	/**
-	 * 计算考试分数
+	 * 璁$畻鑰冭瘯鍒嗘暟
 	 *
 	 * @param exerciseGroupId
 	 * @param exerciseRecordId
@@ -1242,7 +1242,7 @@
 			return BigDecimal.ZERO;
 		}
 
-		// 1.计算做题个数   做题正确个数
+		// 1.璁$畻鍋氶涓暟   鍋氶姝g‘涓暟
 		String sql_answerU = "SELECT COUNT(1), SUM(u.CORRECT = 1), SUM(u.CORRECT = 0),"
 				+ "i.TYPE FROM exercise_item_answer_u u, exercise_item i "
 				+ "WHERE u.EXERCISE_RECORD_ID = ? AND i.EXERCISE_ID = u.EXERCISE_ITEM_ID GROUP BY i.type";
@@ -1271,7 +1271,7 @@
 	}
 
 	/**
-	 * 操作练习答案结果
+	 * 鎿嶄綔缁冧範绛旀缁撴灉
 	 * @param answer
 	 * @param userId
 	 * @param exerciseRecordId
@@ -1279,7 +1279,7 @@
 	 */
 	public Result doOperExerciseItemAnswerUNew(List<ExerciseItemAnswerData> lstAnswers,
 			String exerciseRecordId, String exerciseGroupId, Map<String, Object> argsMap) {
-		// 记录练习答案  ExerciseItemAnswerU
+		// 璁板綍缁冧範绛旀  ExerciseItemAnswerU
 		String hql_answerU = "from ExerciseItemAnswerU where exerciseItemId in (:exerciseIds) and "
 				+ " exerciseRecordId=:exerciseRecordId and  deleteFlag is false ";
 		argsMap.put("exerciseRecordId",exerciseRecordId);
@@ -1294,17 +1294,17 @@
 		List<ExerciseItemAnswerU> lstNewAnswerU = new ArrayList<ExerciseItemAnswerU>(lstAnswers.size());
 		ExerciseItemAnswerU answerU = null;
 		byte currCorrect;
-		// 批量操作
+		// 鎵归噺鎿嶄綔
 		for(ExerciseItemAnswerData answer:lstAnswers){
 			answerU=answerUMap.get(answer.getExerciseId());
-			// 1.组装批量练习答案
+			// 1.缁勮鎵归噺缁冧範绛旀
 			if(answerU == null){
-				//为空 新增一个
-//				if(StringUtils.isBlank(answer.getAnswer())){//答案为空 跳过
+				//涓虹┖ 鏂板涓�涓�
+//				if(StringUtils.isBlank(answer.getAnswer())){//绛旀涓虹┖ 璺宠繃
 //					continue;
 //				}
 
-				// 组装答案记录
+				// 缁勮绛旀璁板綍
 				answerU = new ExerciseItemAnswerU();
 				answerU.setExerciseItemId(answer.getExerciseId());
 				answerU.setExerciseRecordId(exerciseRecordId);
@@ -1315,23 +1315,23 @@
 				answerU.setTeacherScore(answer.getTeacherScore());
 				answerU.setUpdateStatus(ExerciseItemAnswerU.STATUS_ADD);
 				TraceUtils.setCreateTrace(answerU);
-			}else{//更新
-				// 本次修改结果
+			}else{//鏇存柊
+				// 鏈淇敼缁撴灉
 				currCorrect = Byte.valueOf(answer.getCorrect());
 				if(answerU.getCorrect() == ExerciseItemAnswerU.CORRECT_ERROR &&
-						currCorrect == ExerciseItemAnswerU.CORRECT_RIGHT){//上次错误本次修改为正确 统计正确结果 +1
+						currCorrect == ExerciseItemAnswerU.CORRECT_RIGHT){//涓婃閿欒鏈淇敼涓烘纭� 缁熻姝g‘缁撴灉 +1
 					answerU.setUpdateStatus(ExerciseItemAnswerU.STATUS_UPDATE_CORRECT);
 				}else if(answerU.getCorrect() == ExerciseItemAnswerU.CORRECT_RIGHT &&
-						currCorrect == ExerciseItemAnswerU.CORRECT_ERROR){// 上次正确本次修改为错误 统计正确结果 -1
+						currCorrect == ExerciseItemAnswerU.CORRECT_ERROR){// 涓婃姝g‘鏈淇敼涓洪敊璇� 缁熻姝g‘缁撴灉 -1
 					answerU.setUpdateStatus(ExerciseItemAnswerU.STATUS_UPDATE_ERROR);
 				}
 
-				answerU.setLastAnswer(answerU.getAnswer());// 存储上一次答案
+				answerU.setLastAnswer(answerU.getAnswer());// 瀛樺偍涓婁竴娆$瓟妗�
 				answerU.setAnswer(answer.getAnswer());
 				answerU.setCorrect(currCorrect);
 				answerU.setTeacherScore(answer.getTeacherScore());
 
-				if(StringUtils.isBlank(answer.getAnswer())){// 取消答案 删除
+				if(StringUtils.isBlank(answer.getAnswer())){// 鍙栨秷绛旀 鍒犻櫎
 					answerU.setDeleteFlag(true);
 				}
 
@@ -1341,11 +1341,11 @@
 			lstNewAnswerU.add(answerU);
 		}
 
-		//批量保存
+		//鎵归噺淇濆瓨
 		this.saveOrUpdateAll(lstNewAnswerU);
 //		this.flush();
 
-		// -----------------开始答题结果统计-------------------
+		// -----------------寮�濮嬬瓟棰樼粨鏋滅粺璁�-------------------
 //		sendMsgExerciseStatistics(lstNewAnswerU, exerciseGroupId);
 
 		return new Result(true);
@@ -1354,17 +1354,17 @@
 
 	/**
 	 *
-	 * 统计用户做题结果数据
+	 * 缁熻鐢ㄦ埛鍋氶缁撴灉鏁版嵁
 	 * @return
 	 */
 	@Override
 	public Result doStatisUserExerciseItemData(String userId, String userName, ExerciseSubmitAnswerData answerData) {
 
-		// 数据统计
+		// 鏁版嵁缁熻
 		List<ExerciseItemAnswerData> lstAnswers = answerData.getItems();
 
 		if(lstAnswers.isEmpty()){
-			return new Result(false,"数据为空");
+			return new Result(false,"鏁版嵁涓虹┖");
 		}
 
 		ExerciseItemAnalisi analisis = null;
@@ -1379,11 +1379,11 @@
 			number = 0;
 			exerciseItemId = answer.getExerciseId();
 
-			if(ExerciseItemAnswerU.CORRECT_RIGHT_STR.equals(answer.getCorrect())){// 答案正确
+			if(ExerciseItemAnswerU.CORRECT_RIGHT_STR.equals(answer.getCorrect())){// 绛旀姝g‘
 				number = 1;
 			}
 
-			// 1、全站统计
+			// 1銆佸叏绔欑粺璁�
 			hql_analisis = "update ExerciseItemAnalisi"
 					+ " set submitNumber=IFNULL(submitNumber,0)+1"
 					+ ",submitCorrectNumber=IFNULL(submitCorrectNumber,0)+"+number
@@ -1394,7 +1394,7 @@
 
 			result = this.bulkUpdate(hql_analisis, new String[]{exerciseItemId});
 
-			if(Integer.parseInt(String.valueOf(result.getData("doCount"))) < 1){// 为空 新增记录
+			if(Integer.parseInt(String.valueOf(result.getData("doCount"))) < 1){// 涓虹┖ 鏂板璁板綍
 				analisis = new ExerciseItemAnalisi();
 				analisis.setDeleteFlag(false);
 				analisis.setExerciseItemId(exerciseItemId);
@@ -1412,7 +1412,7 @@
 				this.save(analisis);
 			}
 
-			// 2、个人统计
+			// 2銆佷釜浜虹粺璁�
 			hql_analisisU = "update ExerciseItemAnalisiU"
 					+ " set submitNumber=IFNULL(submitNumber,0)+1"
 					+ ",submitCorrectNumber=IFNULL(submitCorrectNumber,0)+"+number
@@ -1425,7 +1425,7 @@
 
 			result = this.bulkUpdate(hql_analisisU, new String[]{exerciseItemId});
 
-			if(Integer.parseInt(String.valueOf(result.getData("doCount"))) < 1){// 为空 新增记录
+			if(Integer.parseInt(String.valueOf(result.getData("doCount"))) < 1){// 涓虹┖ 鏂板璁板綍
 				analisisU = new ExerciseItemAnalisiU();
 				analisisU.setDeleteFlag(false);
 				analisisU.setExerciseItemId(exerciseItemId);
@@ -1450,29 +1450,29 @@
 
 
 	/**
-	 * 查询每道题 做题个数,正确个数
+	 * 鏌ヨ姣忛亾棰� 鍋氶涓暟锛屾纭釜鏁�
 	 * @return
 	 */
 	private Map<String,ExerciseItemStatis> getExerciseItemAnalisisResultDataList(Map<String, Object> argsMap){
 
 		String sql = "select tmp.EXERCISE_ITEM_ID,sum(allCount),sum(correctCount) from ("
-					+ "		select t.EXERCISE_ITEM_ID,count(1) allCount,sum(t.CORRECT=1) correctCount from exercise_item_answer_u t"// 1.(公共答案表)查询每道题 做题个数,正确个数
+					+ "		select t.EXERCISE_ITEM_ID,count(1) allCount,sum(t.CORRECT=1) correctCount from exercise_item_answer_u t"// 1.锛堝叕鍏辩瓟妗堣〃锛夋煡璇㈡瘡閬撻 鍋氶涓暟锛屾纭釜鏁�
 					+ " 		where t.EXERCISE_ITEM_ID in (:exerciseIds) and t.DELETE_FLAG=0"
 					+ " 		group by t.EXERCISE_ITEM_ID "
 					+ " 	union all "
-					+ "		select t.EXERCISE_ITEM_ID,count(1) allCount,sum(t.CORRECT=1) correctCount from exercise_fault t"	// 2.错题本
+					+ "		select t.EXERCISE_ITEM_ID,count(1) allCount,sum(t.CORRECT=1) correctCount from exercise_fault t"	// 2.閿欓鏈�
 					+ " 		where t.EXERCISE_ITEM_ID in (:exerciseIds) and t.answer is not null and t.DELETE_FLAG=0"
 					+ " 		group by t.EXERCISE_ITEM_ID "
 					+ " 	union all "
-					+ "		select t.EXERCISE_ITEM_ID,count(1) allCount,sum(t.CORRECT=1) correctCount from exercise_fault_his t"// 3.错题本历史
+					+ "		select t.EXERCISE_ITEM_ID,count(1) allCount,sum(t.CORRECT=1) correctCount from exercise_fault_his t"// 3.閿欓鏈巻鍙�
 					+ " 		where t.EXERCISE_ITEM_ID in (:exerciseIds) and t.answer is not null and t.DELETE_FLAG=0"
 					+ " 		group by t.EXERCISE_ITEM_ID "
 					+ " 	union all "
-					+ "		select t.EXERCISE_ITEM_ID,count(1) allCount,sum(t.CORRECT=1) correctCount from exercise_favorite t"// 4.收藏本
+					+ "		select t.EXERCISE_ITEM_ID,count(1) allCount,sum(t.CORRECT=1) correctCount from exercise_favorite t"// 4.鏀惰棌鏈�
 					+ " 		where t.EXERCISE_ITEM_ID in (:exerciseIds) and t.answer is not null and t.DELETE_FLAG=0"
 					+ " 		group by t.EXERCISE_ITEM_ID "
 					+ " 	union all "
-					+ "		select t.EXERCISE_ITEM_ID,count(1) allCount,sum(t.CORRECT=1) correctCount from exercise_favorite_his t"// 5.收藏本历史
+					+ "		select t.EXERCISE_ITEM_ID,count(1) allCount,sum(t.CORRECT=1) correctCount from exercise_favorite_his t"// 5.鏀惰棌鏈巻鍙�
 					+ " 		where t.EXERCISE_ITEM_ID in (:exerciseIds) and t.answer is not null and t.DELETE_FLAG=0"
 					+ " 		group by t.EXERCISE_ITEM_ID "
 					+ ") tmp group by tmp.EXERCISE_ITEM_ID ";
@@ -1488,17 +1488,17 @@
 		for(Object[] obj:lstResult){
 			statis = new ExerciseItemStatis();
 			statis.setExerciseId(String.valueOf(obj[0]));
-			statis.setAllCount(Integer.parseInt(String.valueOf(obj[1])));// 总个数
-			statis.setCorrectCount(Integer.parseInt(String.valueOf(obj[2])));// 正确个数
+			statis.setAllCount(Integer.parseInt(String.valueOf(obj[1])));// 鎬讳釜鏁�
+			statis.setCorrectCount(Integer.parseInt(String.valueOf(obj[2])));// 姝g‘涓暟
 
-			resultMap.put(String.valueOf(obj[0]), statis);// 练习id
+			resultMap.put(String.valueOf(obj[0]), statis);// 缁冧範id
 		}
 
 		return resultMap;
 	}
 
 	/**
-	 * 练习题目的全站统计
+	 * 缁冧範棰樼洰鐨勫叏绔欑粺璁�
 	 * @param answer
 	 * @return
 	 */
@@ -1506,17 +1506,17 @@
 		Object[] exerIds = (Object[]) argsMap.get("exerciseIds");
 
 		if(exerIds.length<1){
-			return new Result(false,"数据为空");
+			return new Result(false,"鏁版嵁涓虹┖");
 		}
 
-		// 1.查询每道题 做题个数,正确个数
+		// 1.鏌ヨ姣忛亾棰� 鍋氶涓暟锛屾纭釜鏁�
 		Map<String,ExerciseItemStatis> analisResultMap = getExerciseItemAnalisisResultDataList(argsMap);
 
 		if(analisResultMap.isEmpty()){
-			return new Result(false,"查询全站统计数据为空,异常");
+			return new Result(false,"鏌ヨ鍏ㄧ珯缁熻鏁版嵁涓虹┖锛屽紓甯�");
 		}
 
-		// 2.题目的全站统计  ExerciseItemAnalisi
+		// 2.棰樼洰鐨勫叏绔欑粺璁�  ExerciseItemAnalisi
 
 		String hql_analisis = "from ExerciseItemAnalisi where deleteFlag is false and exerciseItemId in (:exerciseIds) ";
 		List<ExerciseItemAnalisi> lstAnalisis = this.findByComplexHql(hql_analisis, argsMap, ExerciseItemAnalisi.class);
@@ -1530,13 +1530,13 @@
 		String exerciseItemId = null;
 
 		ExerciseItemStatis statis = null;
-		// 批量操作
+		// 鎵归噺鎿嶄綔
 		for(Object obj:exerIds){
 
 			exerciseItemId = String.valueOf(obj);
-			// 1.组装批量练习答案
-			if(analisisMap.get(exerciseItemId) == null){//为空 新增一个
-				// 组装答案记录
+			// 1.缁勮鎵归噺缁冧範绛旀
+			if(analisisMap.get(exerciseItemId) == null){//涓虹┖ 鏂板涓�涓�
+				// 缁勮绛旀璁板綍
 				analisis = new ExerciseItemAnalisi();
 				analisis.setDeleteFlag(false);
 				analisis.setExerciseItemId(exerciseItemId);
@@ -1553,7 +1553,7 @@
 			analisis.setUpdateTime(DateUtils.getCurrTime());
 			analisis.setUpdator(userName);
 
-			// 更新统计数据
+			// 鏇存柊缁熻鏁版嵁
 			statis = analisResultMap.get(exerciseItemId);
 			if(null != statis){
 				analisis.setSubmitNumber(new BigInteger(String.valueOf(statis.getAllCount())));
@@ -1569,14 +1569,14 @@
 			lstNewAnalisis.add(analisis);
 		}
 
-		//批量保存
+		//鎵归噺淇濆瓨
 		this.saveOrUpdateAll(lstNewAnalisis);
 
 		return new Result(true);
 	}
 
 	/**
-	 * 练习题目的个人统计
+	 * 缁冧範棰樼洰鐨勪釜浜虹粺璁�
 	 * @param answer
 	 * @return
 	 */
@@ -1585,17 +1585,17 @@
 		Object[] exerIds =   (Object[]) argsMap.get("exerciseIds");
 
 		if(exerIds.length<1){
-			return new Result(false,"数据为空");
+			return new Result(false,"鏁版嵁涓虹┖");
 		}
 
-		// 1. 查询个人 每道题 做题个数,正确个数
+		// 1. 鏌ヨ涓汉 姣忛亾棰� 鍋氶涓暟锛屾纭釜鏁�
 		Map<String,ExerciseItemStatis> analisUResultMap = getExerciseItemAnalisisUResultDataList(userId, argsMap);
 
 		if(analisUResultMap.isEmpty()){
-			return new Result(false,"查询全站统计数据为空,异常");
+			return new Result(false,"鏌ヨ鍏ㄧ珯缁熻鏁版嵁涓虹┖锛屽紓甯�");
 		}
 
-		// 2.题目的个人统计  ExerciseItemAnalisiU
+		// 2.棰樼洰鐨勪釜浜虹粺璁�  ExerciseItemAnalisiU
 		String hql_analisisU = "from ExerciseItemAnalisiU where deleteFlag is false "
 				+ " and exerciseItemId in (:exerciseIds) and userId=:userId ";
 		argsAnalisiMap.put("userId", userId);
@@ -1610,14 +1610,14 @@
 		ExerciseItemStatis statis = null;
 
 		String exerciseItemId = null;
-		// 批量操作
+		// 鎵归噺鎿嶄綔
 		for(Object obj:exerIds){
 
 			exerciseItemId = String.valueOf(obj);
 
-			// 1.组装批量练习答案
-			if(analisisUMap.get(exerciseItemId) == null){//为空 新增一个
-				// 组装答案记录
+			// 1.缁勮鎵归噺缁冧範绛旀
+			if(analisisUMap.get(exerciseItemId) == null){//涓虹┖ 鏂板涓�涓�
+				// 缁勮绛旀璁板綍
 				analisisU = new ExerciseItemAnalisiU();
 				analisisU.setDeleteFlag(false);
 				analisisU.setExerciseItemId(exerciseItemId);
@@ -1630,7 +1630,7 @@
 				analisisU = analisisUMap.get(exerciseItemId);
 			}
 
-			// 更新统计数据
+			// 鏇存柊缁熻鏁版嵁
 			statis = analisUResultMap.get(exerciseItemId);
 			if(null != statis){
 				analisisU.setSubmitNumber(new BigInteger(String.valueOf(statis.getAllCount())));
@@ -1650,7 +1650,7 @@
 			lstNewAnalisiU.add(analisisU);
 		}
 
-		//批量保存
+		//鎵归噺淇濆瓨
 		this.saveOrUpdateAll(lstNewAnalisiU);
 
 		return new Result(true);
@@ -1658,7 +1658,7 @@
 
 
 	/**
-	 * 查询个人 每道题 做题个数,正确个数
+	 * 鏌ヨ涓汉 姣忛亾棰� 鍋氶涓暟锛屾纭釜鏁�
 	 * @return
 	 */
 	private Map<String,ExerciseItemStatis> getExerciseItemAnalisisUResultDataList(String userId, Map<String, Object> argsMap){
@@ -1666,26 +1666,26 @@
 		argsMap.put("userId", userId);
 
 		String sql = "select tmp.EXERCISE_ITEM_ID,sum(allCount),sum(correctCount) from ("
-				+ "		select t.EXERCISE_ITEM_ID,count(1) allCount,sum(t.CORRECT=1) correctCount from exercise_item_answer_u t"// 1.(公共答案表)查询每道题 做题个数,正确个数
+				+ "		select t.EXERCISE_ITEM_ID,count(1) allCount,sum(t.CORRECT=1) correctCount from exercise_item_answer_u t"// 1.锛堝叕鍏辩瓟妗堣〃锛夋煡璇㈡瘡閬撻 鍋氶涓暟锛屾纭釜鏁�
 				+ " 		where t.EXERCISE_ITEM_ID in (:exerciseIds) and t.user_id=:userId  and t.DELETE_FLAG=0"
 				+ " 		group by t.EXERCISE_ITEM_ID "
 				+ " 	union all "
-				+ "		select t.EXERCISE_ITEM_ID,count(1) allCount,sum(t.CORRECT=1) correctCount from exercise_fault t, exercise_fault_book b "// 2.错题本
+				+ "		select t.EXERCISE_ITEM_ID,count(1) allCount,sum(t.CORRECT=1) correctCount from exercise_fault t, exercise_fault_book b "// 2.閿欓鏈�
 				+ " 		where t.RESUME_BOOK_ID=b.RESUME_BOOK_ID and t.EXERCISE_ITEM_ID in (:exerciseIds) and b.user_id=:userId"
 				+ " 		and t.answer is not null and t.DELETE_FLAG=0"
 				+ "			group by t.EXERCISE_ITEM_ID "
 				+ " 	union all "
-				+ "		select t.EXERCISE_ITEM_ID,count(1) allCount,sum(t.CORRECT=1) correctCount from exercise_fault_his t, exercise_fault_book b "// 3.错题本历史
+				+ "		select t.EXERCISE_ITEM_ID,count(1) allCount,sum(t.CORRECT=1) correctCount from exercise_fault_his t, exercise_fault_book b "// 3.閿欓鏈巻鍙�
 				+ " 		where t.RESUME_BOOK_ID=b.RESUME_BOOK_ID and t.EXERCISE_ITEM_ID in (:exerciseIds) and b.user_id=:userId"
 				+ " 		and t.answer is not null and t.DELETE_FLAG=0"
 				+ "			group by t.EXERCISE_ITEM_ID "
 				+ " 	union all "
-				+ "		select t.EXERCISE_ITEM_ID,count(1) allCount,sum(t.CORRECT=1) correctCount from exercise_favorite t, exercise_favorite_book b "// 4.收藏本
+				+ "		select t.EXERCISE_ITEM_ID,count(1) allCount,sum(t.CORRECT=1) correctCount from exercise_favorite t, exercise_favorite_book b "// 4.鏀惰棌鏈�
 				+ "	 		where t.FAVORITE_BOOK_ID=b.FAVORITE_BOOK_ID and t.EXERCISE_ITEM_ID in (:exerciseIds) and b.user_id=:userId"
 				+ " 		and t.answer is not null and t.DELETE_FLAG=0 "
 				+ "			group by t.EXERCISE_ITEM_ID "
 				+ " 	union all "
-				+ "		select t.EXERCISE_ITEM_ID,count(1) allCount,sum(t.CORRECT=1) correctCount from exercise_favorite_his t, exercise_favorite_book b "// 5.收藏本历史
+				+ "		select t.EXERCISE_ITEM_ID,count(1) allCount,sum(t.CORRECT=1) correctCount from exercise_favorite_his t, exercise_favorite_book b "// 5.鏀惰棌鏈巻鍙�
 				+ "	 		where t.FAVORITE_BOOK_ID=b.FAVORITE_BOOK_ID and t.EXERCISE_ITEM_ID in (:exerciseIds) and b.user_id=:userId"
 				+ " 		and t.answer is not null and t.DELETE_FLAG=0 "
 				+ "			group by t.EXERCISE_ITEM_ID "
@@ -1702,17 +1702,17 @@
 		for(Object[] obj:lstResult){
 			statis = new ExerciseItemStatis();
 			statis.setExerciseId(String.valueOf(obj[0]));
-			statis.setAllCount(Integer.parseInt(String.valueOf(obj[1])));// 总个数
-			statis.setCorrectCount(Integer.parseInt(String.valueOf(obj[2])));// 正确个数
+			statis.setAllCount(Integer.parseInt(String.valueOf(obj[1])));// 鎬讳釜鏁�
+			statis.setCorrectCount(Integer.parseInt(String.valueOf(obj[2])));// 姝g‘涓暟
 
-			resultMap.put(String.valueOf(obj[0]), statis);// 练习id
+			resultMap.put(String.valueOf(obj[0]), statis);// 缁冧範id
 		}
 
 		return resultMap;
 	}
 
 	/**
-	 *  查询自由练习练习做题组
+	 *  鏌ヨ鑷敱缁冧範缁冧範鍋氶缁�
 	 * @param exerType
 	 * @param subjectId
 	 * @param pager
@@ -1734,22 +1734,22 @@
 
 		List<Object> args = CollectionUtils.newList((short)exerType, ClientUtils.getClassId(),ClientUtils.getUserId(), ExerciseGroup.STATUS_PUBLISHED);
 
-		if(selected == 1){//未开始
+		if(selected == 1){//鏈紑濮�
 			hql.append(" and r.status=? and (r.doCount=0 or r.doCount is null) ");
 			args.add(ExerciseRecord.STATUS_NOT_SUBMIT);
 
-		}else if(selected == 2){//做题中
+		}else if(selected == 2){//鍋氶涓�
 
 			hql.append(" and r.status=? and r.doCount>0 ");
 			args.add(ExerciseRecord.STATUS_NOT_SUBMIT);
 
-		}else if(selected == 3){//已提交
+		}else if(selected == 3){//宸叉彁浜�
 
 			hql.append( " and r.status=? ");
 			args.add(ExerciseRecord.STATUS_SUBMIT);
 		}
 
-//		if(StringUtils.isNotBlank(subjectId)){// 高校  课程id
+//		if(StringUtils.isNotBlank(subjectId)){// 楂樻牎  璇剧▼id
 //			hql.append("  and g.subjectId=? ");
 //			args.add(subjectId);
 //		}
@@ -1762,7 +1762,7 @@
 	}
 
 	/**
-	 * 查询通用练习做题组
+	 * 鏌ヨ閫氱敤缁冧範鍋氶缁�
 	 * @param exerType
 	 * @param subjectId
 	 * @param pager
@@ -1779,7 +1779,7 @@
 
 		List<Object> args = CollectionUtils.newList((short)exerType, ClientUtils.getClassId(), ExerciseGroup.STATUS_PUBLISHED);
 
-		if(selected == 1){//未开始
+		if(selected == 1){//鏈紑濮�
 			hql.append(" and not EXISTS" +
 					" (select 1 from ExerciseRecord r,ExerciseRecentRecord rr " +
 					" where r.recordId=rr.exerciseRecordId " +
@@ -1791,7 +1791,7 @@
 			args.add(ClientUtils.getUserId());
 			args.add(ExerciseRecord.STATUS_SUBMIT);
 
-		}else if(selected == 2){//做题中
+		}else if(selected == 2){//鍋氶涓�
 			hql.append(" and EXISTS" +
 					" (select 1 from ExerciseRecord r,ExerciseRecentRecord rr " +
 					" where r.recordId=rr.exerciseRecordId " +
@@ -1803,7 +1803,7 @@
 			args.add(ClientUtils.getUserId());
 			args.add(ExerciseRecord.STATUS_NOT_SUBMIT);
 
-		}else if(selected == 3){//已提交
+		}else if(selected == 3){//宸叉彁浜�
 			hql.append(" and EXISTS" +
 					" (select 1 from ExerciseRecord r,ExerciseRecentRecord rr " +
 					" where r.recordId=rr.exerciseRecordId " +
@@ -1817,11 +1817,11 @@
 
 		}
 
-		if(StringUtils.isNotBlank(subjectId)){// 高校  课程id
+		if(StringUtils.isNotBlank(subjectId)){// 楂樻牎  璇剧▼id
 			hql.append("  and g.subjectId=? ");
 			args.add(subjectId);
 		}
-		if(StringUtils.isNotBlank(chapterId)){// 章节id
+		if(StringUtils.isNotBlank(chapterId)){// 绔犺妭id
 			hql.append("  and (g.chapterId=? or g.chapterId in(select c.chapterId from SchChapter c where c.parentChapterId = ? and c.deleteFlag is false)) ");
 			args.add(chapterId);
 			args.add(chapterId);
@@ -1842,11 +1842,11 @@
 	}
 
 	/**
-	 * 查询练习列表数据
+	 * 鏌ヨ缁冧範鍒楄〃鏁版嵁
 	 * @param exerType
 	 * @param subjectId
 	 * @param pager
-	 * @param selected // 0:全部  1:未开始 2:做题中 3:已提交
+	 * @param selected // 0:鍏ㄩ儴  1锛氭湭寮�濮� 2锛氬仛棰樹腑 3锛氬凡鎻愪氦
 	 * @return
 	 */
 	@Override
@@ -1855,12 +1855,12 @@
 
 		List<ExerciseGroup> lstGroup = null;
 
-		// 1.查询当前用户所在班级的练习组
-		if(exerType == ExerciseGroup.TYPE_EXERCISE_FREE){//自由练习
+		// 1.鏌ヨ褰撳墠鐢ㄦ埛鎵�鍦ㄧ彮绾х殑缁冧範缁�
+		if(exerType == ExerciseGroup.TYPE_EXERCISE_FREE){//鑷敱缁冧範
 
 			lstGroup = queryFreeExerciseGroupList(exerType, subjectId, pager, selected);
 
-		}else{// 非自由练习
+		}else{// 闈炶嚜鐢辩粌涔�
 
 			lstGroup = queryCommonExerciseGroupList(exerType, subjectId, pager, selected, chapterId);
 		}
@@ -1869,7 +1869,7 @@
 			return null;
 		}
 
-		// 3.组装参数
+		// 3.缁勮鍙傛暟
 		Map<String, Object> argsMap = new HashMap<String, Object>(2);
 		Object[] argss = new Object[lstGroup.size()];
 		for(int i=0; i<lstGroup.size(); i++){
@@ -1877,7 +1877,7 @@
 		}
 		argsMap.put("groupIds", argss);
 
-		// 4.0查询练习组extend
+		// 4.0鏌ヨ缁冧範缁別xtend
 		String hql_extend = "from ExerciseGroupExtend "
 				+ " where groupId in (:groupIds) and deleteFlag is false ";
 		List<ExerciseGroupExtend> lstExtend = this.findByComplexHql(hql_extend, argsMap, ExerciseGroupExtend.class);
@@ -1886,7 +1886,7 @@
 			extendMap.put(record.getGroupId(), record);
 		}
 
-		// 4.查询做题记录集合
+		// 4.鏌ヨ鍋氶璁板綍闆嗗悎
 		argsMap.put("userId", ClientUtils.getUserId());
 		String hql_record = "select r from ExerciseRecord r,ExerciseRecentRecord rd "
 				+ " where r.recordId=rd.exerciseRecordId and rd.exerciseGroupId in (:groupIds) and rd.userId=:userId ";
@@ -1896,21 +1896,21 @@
 			recordMap.put(record.getExerciseGroupId(), record);
 		}
 
-		// 4.2获取该用户组内排名
+		// 4.2鑾峰彇璇ョ敤鎴风粍鍐呮帓鍚�
 		Map<String, String> groupRankMap = getUserExerGroupRank(argss);
 
-		// 4.3获取个人用户组对应的错题记录 题目更新时间
+		// 4.3鑾峰彇涓汉鐢ㄦ埛缁勫搴旂殑閿欓璁板綍 棰樼洰鏇存柊鏃堕棿
 		Map<String, Map<String, Object>> faultMap = exerciseExtendService.queryFaultRecordByGroup(subjectId, argss);
 
-		// 4.4获取个人用户组对应的收藏记录 题目更新时间
+		// 4.4鑾峰彇涓汉鐢ㄦ埛缁勫搴旂殑鏀惰棌璁板綍 棰樼洰鏇存柊鏃堕棿
 		Map<String, Map<String, Object>> favorMap = exerciseExtendService.queryFavorRecordByGroup(subjectId, argss);
 
-		// 5.组装参数
+		// 5.缁勮鍙傛暟
 		List<ExerGroupResponseData> lstResult = new ArrayList<ExerGroupResponseData>(lstRecord.size());
 
 		ExerGroupResponseData result;
 		for(ExerciseGroup g:lstGroup){
-			// 组装练习列表返回数据
+			// 缁勮缁冧範鍒楄〃杩斿洖鏁版嵁
 			result = packagingExerciseListData(exerType, extendMap, recordMap,
 					groupRankMap, faultMap, favorMap, g);
 
@@ -1921,7 +1921,7 @@
 	}
 
 	/**
-	 * 组装练习列表返回数据
+	 * 缁勮缁冧範鍒楄〃杩斿洖鏁版嵁
 	 * @param exerType
 	 * @param extendMap
 	 * @param recordMap
@@ -1941,7 +1941,7 @@
 		String groupId = g.getGroupId();
 		ExerGroupResponseData result = new ExerGroupResponseData();
 
-		// 5.1.赋值练习记录字段
+		// 5.1.璧嬪�肩粌涔犺褰曞瓧娈�
 		ExerciseRecord record=recordMap.get(groupId);
 		if(null != record){
 			BeanUtils.copyProperties(record, result);
@@ -1959,38 +1959,38 @@
 			result.setStatus("0");
 		}
 
-		// 5.3.赋值练习组字段
+		// 5.3.璧嬪�肩粌涔犵粍瀛楁
 		BeanUtils.copyProperties(g, result);
 
-		// 5.4 获取练习组扩展表
+		// 5.4 鑾峰彇缁冧範缁勬墿灞曡〃
 		ExerciseGroupExtend extend = extendMap.get(groupId);
-		if(null != extend){// 扩展表字段
+		if(null != extend){// 鎵╁睍琛ㄥ瓧娈�
 			result.setExerciseTime(extend.getExerciseTime());
 			result.setExerciseMode(extend.getExerciseMode());
 			result.setExerciseStrategy(extend.getExerciseStrategy());
 			result.setExerciseSource(extend.getExerciseSource());
-			result.setRepeatFlag(!extend.getRepeatFlag());// true 可以重做 false不能重做
+			result.setRepeatFlag(!extend.getRepeatFlag());// true 鍙互閲嶅仛 false涓嶈兘閲嶅仛
 			result.setClassAccuracy(extend.getClassAccuracy() == null ? "--" : extend.getClassAccuracy()+"%");
 			result.setSubmitNumber(extend.getSubmitNumber());
 		}else{
 			result.setClassAccuracy("--");
-			if(exerType == ExerciseGroup.TYPE_HOMEWORK){// 家庭作业
+			if(exerType == ExerciseGroup.TYPE_HOMEWORK){// 瀹跺涵浣滀笟
 				result.setRepeatFlag(false);
 			}else{
 				result.setRepeatFlag(true);
 			}
 		}
 
-		// 5.5  获取用户组内排名
+		// 5.5  鑾峰彇鐢ㄦ埛缁勫唴鎺掑悕
 		result.setClassRank(groupRankMap.get(groupId) == null ? "--" : groupRankMap.get(groupId));
 
-		// 5.6更新个人用户组对应的错题时间
+		// 5.6鏇存柊涓汉鐢ㄦ埛缁勫搴旂殑閿欓鏃堕棿
 		if(faultMap != null && faultMap.get(groupId) !=null){
 			result.setFaultUpdateTime((Timestamp)faultMap.get(groupId).get("updateTime"));
 			result.setFaultCount((BigInteger)faultMap.get(groupId).get("allCount"));
 		}
 
-		// 5.7更新个人用户组对应的收藏时间
+		// 5.7鏇存柊涓汉鐢ㄦ埛缁勫搴旂殑鏀惰棌鏃堕棿
 		if(favorMap != null && favorMap.get(groupId) !=null){
 			result.setFavorUpdateTime((Timestamp)favorMap.get(groupId).get("updateTime"));
 			result.setFavorCount((BigInteger)favorMap.get(groupId).get("allCount"));
@@ -2001,7 +2001,7 @@
 
 
 	/**
-	 * 根据groupid得出该用户的组内排名
+	 * 鏍规嵁groupid寰楀嚭璇ョ敤鎴风殑缁勫唴鎺掑悕
 	 * @param argss
 	 * @return
 	 */
@@ -2038,19 +2038,19 @@
 			String exerciseRecordId, boolean getExercise, boolean getAnswer,
 			short exerType) {
 
-		// 1.获取练习题目
+		// 1.鑾峰彇缁冧範棰樼洰
 		List<ExerciseItem> lstItem = null;
 		if(getExercise){
 			lstItem = queryExerciseItemList(groupId);
 		}
 
-		// 2.获取练习答案
+		// 2.鑾峰彇缁冧範绛旀
 		List<ExerciseItemAnswerU> lstAnswer = null;
 		if(getAnswer && StringUtils.isNotBlank(exerciseRecordId)){
 			lstAnswer = queryExerciseItemAnswerList(exerciseRecordId);
 		}
 
-		// 3.组装返回参数
+		// 3.缁勮杩斿洖鍙傛暟
 		ExerItemResponseData result = new ExerItemResponseData();
 
 		result.setItems(lstItem);
@@ -2061,14 +2061,14 @@
 	}
 
 	/**
-	 * 查询练习答案list
+	 * 鏌ヨ缁冧範绛旀list
 	 * @param groupId
 	 * @param exerciseRecordId
 	 * @return
 	 */
 	private  List<ExerciseItemAnswerU> queryExerciseItemAnswerList(String exerciseRecordId){
 
-		//3.1 查询个人做题答案
+		//3.1 鏌ヨ涓汉鍋氶绛旀
 		String sql_answerU = "from ExerciseItemAnswerU where exerciseRecordId=?  and deleteFlag is false order by createTime asc ";
 
 		List<ExerciseItemAnswerU> lstAnswerU = this.find(sql_answerU,
@@ -2078,7 +2078,7 @@
 	}
 
 	/**
-	 * 查询练习题目list
+	 * 鏌ヨ缁冧範棰樼洰list
 	 * @param groupId
 	 * @return
 	 */
@@ -2089,7 +2089,7 @@
 		List<ExerciseItem> lstItems = boundValueOperations.get();
 
 		if(lstItems==null){
-			// 1.查询练习题目信息
+			// 1.鏌ヨ缁冧範棰樼洰淇℃伅
 			String hql = "select item from ExerciseItem item, ExerciseGroupItemRe re, ExerciseGroup g"
 					+ " where item.exerciseId=re.exerciseItemId "
 					+ "	and re.exerciseGroupId=g.groupId"
@@ -2101,11 +2101,11 @@
 
 			lstItems = this.find(hql, CollectionUtils.newList(groupId), ExerciseItem.class);
 
-			// 为空
+			// 涓虹┖
 			if(lstItems.isEmpty()){
 				return lstItems;
 			}
-			// 2.组装答案
+			// 2.缁勮绛旀
 			lstItems = getCommonExerItemDetail(lstItems, groupId);
 
 			boundValueOperations.setIfAbsent(lstItems);
@@ -2116,7 +2116,7 @@
 	}
 
 	/**
-	 * 重新组装练习题 加入分析结果
+	 * 閲嶆柊缁勮缁冧範棰� 鍔犲叆鍒嗘瀽缁撴灉
 	 * @param lstItems
 	 * @param exerciseGroupId
 	 * @param currTitleNumber
@@ -2127,7 +2127,7 @@
 	public List<ExerciseItem> getCommonExerItemDetail(List<ExerciseItem> lstItems, String exerciseGroupId){
 		String userId = ClientUtils.getUserId();
 
-		// 0.组装参数
+		// 0.缁勮鍙傛暟
 		Map<String, Object> argsMap = new HashMap<String, Object>();
 		Object[] args = new Object[lstItems.size()];
 		for(int i=0; i<lstItems.size(); i++){
@@ -2135,7 +2135,7 @@
 		}
 		argsMap.put("exerciseIds", args);
 
-		// 1.查询练习题目全站分析
+		// 1.鏌ヨ缁冧範棰樼洰鍏ㄧ珯鍒嗘瀽
 		String hql_analisis = "from ExerciseItemAnalisi  where exerciseItemId in (:exerciseIds)  and deleteFlag is false ";
 		List<ExerciseItemAnalisi> lstAnalisis = this.findByComplexHql(hql_analisis, argsMap, ExerciseItemAnalisi.class);
 		Map<String, ExerciseItemAnalisi> analisiMap = new HashMap<String, ExerciseItemAnalisi>(lstAnalisis.size());
@@ -2143,12 +2143,12 @@
 			analisiMap.put(analisis.getExerciseItemId(), analisis);
 		}
 
-		// 2.查询练习题目答案选项
+		// 2.鏌ヨ缁冧範棰樼洰绛旀閫夐」
 		Map<String, List<ExerciseItemOption>> optionsMap = new HashMap<String, List<ExerciseItemOption>>(lstItems.size());
 		Map<String, String> answerMap = new HashMap<String, String>();
 		String hql_options = "from ExerciseItemOption where exerciseItemId in (:exerciseIds) and deleteFlag is false order by exerciseItemId, optionOrder ";
 		List<ExerciseItemOption> lstAllOptions = this.findByComplexHql(hql_options, argsMap, ExerciseItemOption.class);
-		// 2.1.组装参数 用于查询练习选项图片
+		// 2.1.缁勮鍙傛暟 鐢ㄤ簬鏌ヨ缁冧範閫夐」鍥剧墖
 		Map<String, Object> argsImgMap = new HashMap<String, Object>();
 		Object[] argImgs = new Object[lstAllOptions.size()];
 		for(int i=0; i<lstAllOptions.size(); i++){
@@ -2156,20 +2156,20 @@
 		}
 		argsImgMap.put("optionIds", argImgs);
 
-		// 2-3-1查询题目是否关联图片
+		// 2-3-1鏌ヨ棰樼洰鏄惁鍏宠仈鍥剧墖
 //		String hql_itemImgs = "from ExerciseObjectImg where exerciseObjectId in (:exerciseIds) and deleteFlag is false and objectType=1 order by exerciseObjectId,imgOrder ";
 //		List<ExerciseObjectImg> lstItemImgs = this.findByComplexHql(hql_itemImgs, argsMap, ExerciseObjectImg.class);
 //		Map<String, List<ExerciseObjectImg>> imgItemMap = ExerciseUtils.packageExerciseItemImg(lstItemImgs);
 
-		// 2-3-2查询题目选项是否关联图片
+		// 2-3-2鏌ヨ棰樼洰閫夐」鏄惁鍏宠仈鍥剧墖
 //		String hql_optionImgs = "from ExerciseObjectImg where exerciseObjectId in (:optionIds) and deleteFlag is false and objectType=2 order by exerciseObjectId,imgOrder ";
 //		List<ExerciseObjectImg> lstOptionImgs = this.findByComplexHql(hql_optionImgs, argsImgMap, ExerciseObjectImg.class);
 //		Map<String, List<ExerciseObjectImg>> imgOptionMap = ExerciseUtils.packageExerciseItemImg(lstOptionImgs);
 
-		// 重新组装练习
+		// 閲嶆柊缁勮缁冧範
 		ExerciseUtils.packageExerciseItem(optionsMap, answerMap, lstAllOptions, Collections.EMPTY_MAP);
 
-		// 3.查询练习题目个人分析
+		// 3.鏌ヨ缁冧範棰樼洰涓汉鍒嗘瀽
 		String hql_analisisU = "from ExerciseItemAnalisiU where exerciseItemId in (:exerciseIds) and userId=:userId and deleteFlag is false ";
 		argsMap.put("userId", userId);
 		List<ExerciseItemAnalisiU> lstAnalisisU = this.findByComplexHql(hql_analisisU, argsMap, ExerciseItemAnalisiU.class);
@@ -2179,7 +2179,7 @@
 		}
 
 
-		// 4.重新组装返回结果
+		// 4.閲嶆柊缁勮杩斿洖缁撴灉
 		ExerciseAnalisisResult analisiResult = null;
 		ExerciseItemAnalisi analisis = null;
 		ExerciseItemAnalisiU analisiU = null;
@@ -2187,15 +2187,15 @@
 		for(ExerciseItem item:lstItems){
 			analisiResult = new ExerciseAnalisisResult();
 
-			// 4.0  分析结果
+			// 4.0  鍒嗘瀽缁撴灉
 			exerciseId = item.getExerciseId();
 
-			// 得到练习组id
+			// 寰楀埌缁冧範缁刬d
 			if(StringUtils.isNotBlank(exerciseGroupId)){
 				item.setExerciseGroupId(exerciseGroupId);
 			}
 
-			// 4.1 全站分析结果
+			// 4.1 鍏ㄧ珯鍒嗘瀽缁撴灉
 			analisis = analisiMap.get(exerciseId);
 			if(null != analisis){
 				analisiResult.setAllAccuracy(analisis.getAccuracy());
@@ -2207,7 +2207,7 @@
 				analisiResult.setSubmitAllNumber(BigInteger.ZERO);
 			}
 
-			// 4.2 个人分析结果
+			// 4.2 涓汉鍒嗘瀽缁撴灉
 			analisiU = analisiUMap.get(exerciseId);
 			if(analisiU != null){
 				analisiResult.setAccuracy(analisiU.getAccuracy());
@@ -2220,10 +2220,10 @@
 				analisiResult.setSubmitErrorNumber(BigInteger.ZERO);
 			}
 
-			// 4.3 题目选项
+			// 4.3 棰樼洰閫夐」
 			item.setOptions(optionsMap.get(exerciseId));
 
-//			// 4.5题目中是否有图片
+//			// 4.5棰樼洰涓槸鍚︽湁鍥剧墖
 //			if(imgItemMap.get(exerciseId) != null){
 //				item.setImgs(imgItemMap.get(exerciseId));
 //			}
@@ -2240,14 +2240,14 @@
 	}
 
 	/**
-	 * 根据条件获取自由练习
+	 * 鏍规嵁鏉′欢鑾峰彇鑷敱缁冧範
 	 *
 	 *  * {
-	 * 	source: 练习来源(1:练习题库 2:考试题库  3:家庭作业)   多个以逗号分开
-		strategy:做题方式(1:未做题优先  2:错题优先)
-		mode:做题模式(1:练习模式 2:考试模式)
-		count:数量(30 50 100 200)
-		exerciseTime:练习时间
+	 * 	source: 缁冧範鏉ユ簮(1:缁冧範棰樺簱 2锛氳�冭瘯棰樺簱  3锛氬搴綔涓�)   澶氫釜浠ラ�楀彿鍒嗗紑
+		strategy:鍋氶鏂瑰紡锛�1锛氭湭鍋氶浼樺厛  2锛氶敊棰樹紭鍏堬級
+		mode:鍋氶妯″紡(1:缁冧範妯″紡 2锛氳�冭瘯妯″紡)
+		count:鏁伴噺锛�30 50 100 200锛�
+		exerciseTime:缁冧範鏃堕棿
 	 * }
 	 *
 	 * @return
@@ -2258,37 +2258,37 @@
 
 		Result resultMsg = new Result(false);
 		ExerItemResponseData result = new ExerItemResponseData();
-		/** 1.得到练习题目  */
+		/** 1.寰楀埌缁冧範棰樼洰  */
 		List<ExerciseItem> lstItems = getExerciseItemListForFree(subjectId, source, strategy, count);
 
 		if(lstItems.isEmpty()){
-			resultMsg.setMsg("当前题库中题目数量为空");
+			resultMsg.setMsg("褰撳墠棰樺簱涓鐩暟閲忎负绌�");
 			result.setResult(resultMsg);
 			return result;
 		}
 
-		if(lstItems.size() < count){//题库中题目不够
-			resultMsg.setMsg("当前题库中题目数量少于"+count+",请重新组合");
+		if(lstItems.size() < count){//棰樺簱涓鐩笉澶�
+			resultMsg.setMsg("褰撳墠棰樺簱涓鐩暟閲忓皯浜�"+count+"锛岃閲嶆柊缁勫悎");
 			result.setResult(resultMsg);
 			return result;
 		}
 
-		/** 2.生成此次做题练习组  */
+		/** 2.鐢熸垚姝ゆ鍋氶缁冧範缁�  */
 		ExerciseGroup group = generateExerciseGroupByFree(subjectId, source,
 				strategy, mode, count, exerciseTime);
 
 		String exerciseGroupId = group.getGroupId();
 
-		/** 3.生成此次做题record  */
+		/** 3.鐢熸垚姝ゆ鍋氶record  */
 		ExerciseRecord record = generateExerciseRecordByFree(subjectId, exerciseGroupId);
 
-		/** 4.根据题练习组生成练习组关联表数据  */
+		/** 4.鏍规嵁棰樼粌涔犵粍鐢熸垚缁冧範缁勫叧鑱旇〃鏁版嵁  */
 		generateExerciseGroupItemRe(lstItems, exerciseGroupId);
 
-		/** 5.组装练习数据  */
+		/** 5.缁勮缁冧範鏁版嵁  */
 		lstItems = getCommonExerItemDetail(lstItems, exerciseGroupId);
 
-		/** 6.返回结果  */
+		/** 6.杩斿洖缁撴灉  */
 		result.setItems(lstItems);
 		result.setExerciseGroupId(exerciseGroupId);
 		result.setExerciseRecordId(record.getRecordId());
@@ -2306,12 +2306,12 @@
 	}
 
 	/**
-	 * 得到练习类型
+	 * 寰楀埌缁冧範绫诲瀷
 	 * @param source
 	 * @return
 	 */
 	private Object[] getExerciseTypeForFree(String source){
-		//  练习来源(1:练习题库 2:考试题库  3:家庭作业)   多个以逗号分开
+		//  缁冧範鏉ユ簮(1:缁冧範棰樺簱 2锛氳�冭瘯棰樺簱  3锛氬搴綔涓�)   澶氫釜浠ラ�楀彿鍒嗗紑
 		String[] types = source.split(",");
 		Object[] groupTypes = new Object[4];
 
@@ -2319,7 +2319,7 @@
 		int i = 0;
 		for(String type:types){
 
-			if(type.equals(Constants.EXERCISE_SOURCE_EXERICSE)){//练习题库  -章节、专题
+			if(type.equals(Constants.EXERCISE_SOURCE_EXERICSE)){//缁冧範棰樺簱  -绔犺妭銆佷笓棰�
 
 				groupTypes[i]= ExerciseGroup.TYPE_CHAPTER_ITEM;
 
@@ -2329,13 +2329,13 @@
 
 				i++;
 
-			}else if(type.equals(Constants.EXERCISE_SOURCE_EXAMS)){// 考试题库 - 模拟考试
+			}else if(type.equals(Constants.EXERCISE_SOURCE_EXAMS)){// 鑰冭瘯棰樺簱 - 妯℃嫙鑰冭瘯
 
 				groupTypes[i]= ExerciseGroup.TYPE_MOCK_EXAM;
 
 				i++;
 
-			}else if(type.equals(Constants.EXERCISE_SOURCE_HOMEWORK)){// 家庭作业
+			}else if(type.equals(Constants.EXERCISE_SOURCE_HOMEWORK)){// 瀹跺涵浣滀笟
 
 				groupTypes[i]= ExerciseGroup.TYPE_HOMEWORK;
 
@@ -2348,7 +2348,7 @@
 	}
 
 	/**
-	 * 得到练习题
+	 * 寰楀埌缁冧範棰�
 	 * @param subjectId
 	 * @param source
 	 * @param strategy
@@ -2358,29 +2358,29 @@
 	private List<ExerciseItem> getExerciseItemListForFree(String subjectId,
 				String source, String strategy, int count){
 
-		// 得到组类型集合
+		// 寰楀埌缁勭被鍨嬮泦鍚�
 		Object[] groupTypes = getExerciseTypeForFree(source);
 
-		// 查询结果练习item list
+		// 鏌ヨ缁撴灉缁冧範item list
 		List<ExerciseItem> lstItems = null;
 
-		// 查询结果不够时,新增练习item list
+		// 鏌ヨ缁撴灉涓嶅鏃讹紝鏂板缁冧範item list
 		List<ExerciseItem> lstAddItems = null;
 
-		/** 1.获取题目  */
-		if(Constants.EXERCISE_STRATEGY_NO_DO.equals(strategy)){// 未做题
+		/** 1.鑾峰彇棰樼洰  */
+		if(Constants.EXERCISE_STRATEGY_NO_DO.equals(strategy)){// 鏈仛棰�
 
-			// 1.获取未做题
+			// 1.鑾峰彇鏈仛棰�
 			lstItems = getFreeExerciseForNoDo(subjectId, count, groupTypes);
 
-		}else if(Constants.EXERCISE_STRATEGY_FAULT.equals(strategy)){// 错题
+		}else if(Constants.EXERCISE_STRATEGY_FAULT.equals(strategy)){// 閿欓
 
-			// 1.获取错题
+			// 1.鑾峰彇閿欓
 			lstItems = getFreeExerciseForFault(subjectId, count, groupTypes);
 
 		}
 
-		// 2.错题不够,从普通题目中挑选
+		// 2.閿欓涓嶅锛屼粠鏅�氶鐩腑鎸戦��
 		if(lstItems.size() < count){
 
 			Object[] exerciseIds = new Object[lstItems.size()];
@@ -2392,18 +2392,18 @@
 					count-exerciseIds.length, groupTypes,exerciseIds);
 
 
-			// 3.组合为最新的一个练习 item list
+			// 3.缁勫悎涓烘渶鏂扮殑涓�涓粌涔� item list
 			lstItems.addAll(lstAddItems);
 		}
 
-		// 打乱顺序
+		// 鎵撲贡椤哄簭
 		Collections.shuffle(lstItems);
 
 		return lstItems;
 	}
 
 	/**
-	 * 生成练习组关联关系
+	 * 鐢熸垚缁冧範缁勫叧鑱斿叧绯�
 	 * @param lstItems
 	 * @param groupId
 	 * @return
@@ -2430,7 +2430,7 @@
 	}
 
 	/**
-	 * 生成练习record数据
+	 * 鐢熸垚缁冧範record鏁版嵁
 	 *
 	 * @param subjectId
 	 * @param exerciseGroupId
@@ -2443,14 +2443,14 @@
 
 		this.insertExerciseRecordNew(record, exerciseGroupId, subjectId);
 
-		// 操作最近一次做题记录
+		// 鎿嶄綔鏈�杩戜竴娆″仛棰樿褰�
 		doOperExerciseRecentRecord(record);
 
 		return record;
 	}
 
 	/**
-	 * 生成 练习组以及扩展数据
+	 * 鐢熸垚 缁冧範缁勪互鍙婃墿灞曟暟鎹�
 	 * @param subjectId
 	 * @param source
 	 * @param strategy
@@ -2462,7 +2462,7 @@
 	private ExerciseGroup generateExerciseGroupByFree(String subjectId, String source,
 			String strategy, String mode, int count, String exerciseTime){
 
-		// 1.练习组
+		// 1.缁冧範缁�
 		ExerciseGroup group = new ExerciseGroup();
 
 		group.setClassId(ClientUtils.getClassId());
@@ -2474,11 +2474,11 @@
 		group.setDeleteFlag(false);
 		group.setStatus(ExerciseGroup.STATUS_PUBLISHED);
 		TraceUtils.setCreateTrace(group);
-		group.setName("自由练习-"+DateTimeUtils.formatDate(group.getCreateTime(),"MMdd_HHmmss"));
+		group.setName("鑷敱缁冧範-"+DateTimeUtils.formatDate(group.getCreateTime(),"MMdd_HHmmss"));
 
 		this.exerciseService.saveExerciseGroup(group);
 
-		// 2.练习组扩展表
+		// 2.缁冧範缁勬墿灞曡〃
 		ExerciseGroupExtend extend = new ExerciseGroupExtend();
 		extend.setGroupId(group.getGroupId());
 		extend.setExerciseSource(source);
@@ -2494,7 +2494,7 @@
 	}
 
 	/**
-	 * 得到已经做完的题目 个人
+	 * 寰楀埌宸茬粡鍋氬畬鐨勯鐩� 涓汉
 	 * @param subjectId
 	 * @return
 	 */
@@ -2516,7 +2516,7 @@
 
 		List<Object[]> lstObjs = this.findwithRawResult(hql.toString(), args);
 
-		// 组装练习ids
+		// 缁勮缁冧範ids
 		Object[] exerciseIds = new Object[lstObjs.size()];
 
 		for(int i=0; i<lstObjs.size(); i++){
@@ -2529,14 +2529,14 @@
 	}
 
 	/**
-	 * 根据条件获取错题练习   未做题
+	 * 鏍规嵁鏉′欢鑾峰彇閿欓缁冧範   鏈仛棰�
 	 * @param subjectId
 	 * @param count
 	 * @param groupTypes
 	 * @return
 	 */
 	private List<ExerciseItem> getFreeExerciseForNoDo(String subjectId, int count, Object[] groupTypes){
-		// 获取已经做完的题目
+		// 鑾峰彇宸茬粡鍋氬畬鐨勯鐩�
 		Object[] exerciseIds = getExerciseIsHasDo(subjectId);
 
 		StringBuffer hql = new StringBuffer(512);
@@ -2563,11 +2563,11 @@
 			argsMap.put("subjectId", subjectId);
 		}
 
-		// 1.查询分页数据
+		// 1.鏌ヨ鍒嗛〉鏁版嵁
 		Pager pager = getFreeExercisePagerData("select count(distinct i.exerciseId) " + hql.toString(),
 				argsMap, count);
 
-		// 2.分页查询结果list
+		// 2.鍒嗛〉鏌ヨ缁撴灉list
 		List<ExerciseItem> lstItems = this.findByComplexHql("select distinct i " + hql.toString(),
 				pager, argsMap, ExerciseItem.class);
 
@@ -2575,7 +2575,7 @@
 	}
 
 	/**
-	 * 得到自由练习分页数据
+	 * 寰楀埌鑷敱缁冧範鍒嗛〉鏁版嵁
 	 * @param hql
 	 * @param argsMap
 	 * @param count
@@ -2585,19 +2585,19 @@
 
 		int iAllCount = this.findCountByComplexHql(hql, argsMap);
 
-		// 总页数
+		// 鎬婚〉鏁�
 		int allPage = iAllCount / pageSize;
 
-		// 页码
+		// 椤电爜
 		int pageNum = 0;
 
 		if(allPage < 1){
 			pageNum = 1;
 		}else{
-			pageNum = new Random().nextInt(allPage);//随机取页数
+			pageNum = new Random().nextInt(allPage);//闅忔満鍙栭〉鏁�
 		}
 
-		// 分页
+		// 鍒嗛〉
 		Pager page = new Pager();
 		page.setPageNum(pageNum);
 		page.setPageSize(pageSize);
@@ -2606,7 +2606,7 @@
 	}
 
 	/**
-	 * 获取题目 根据题目类型
+	 * 鑾峰彇棰樼洰 鏍规嵁棰樼洰绫诲瀷
 	 * @param subjectId
 	 * @param count
 	 * @param groupTypes
@@ -2615,7 +2615,7 @@
 	private List<ExerciseItem> getFreeExerciseForCommon(String subjectId,
 				int count, Object[] groupTypes, Object[] exerciseIds){
 
-		// 获取题目
+		// 鑾峰彇棰樼洰
 		Pager page = new Pager();
 		page.setPageNum(1);
 		page.setPageSize(count);
@@ -2645,7 +2645,7 @@
 		}
 
 
-		// 获取题目
+		// 鑾峰彇棰樼洰
 		List<ExerciseItem> lstItem = this.findByComplexHql(hql.toString(), page, argsMap, ExerciseItem.class);
 
 
@@ -2653,7 +2653,7 @@
 	}
 
 	/**
-	 * 根据条件获取错题练习  错题
+	 * 鏍规嵁鏉′欢鑾峰彇閿欓缁冧範  閿欓
 	 * @param subjectId
 	 * @param count
 	 * @param groupTypes
@@ -2681,11 +2681,11 @@
 			argsMap.put("subjectId", subjectId);
 		}
 
-		// 1.查询分页数据
+		// 1.鏌ヨ鍒嗛〉鏁版嵁
 		Pager pager = getFreeExercisePagerData("select count(distinct i.exerciseId) " + hql.toString(),
 				argsMap, count);
 
-		// 2.获取题目list
+		// 2.鑾峰彇棰樼洰list
 		List<ExerciseItem> lstItems = this.findByComplexHql("select distinct i " + hql.toString(),
 				pager, argsMap, ExerciseItem.class);
 
@@ -2693,13 +2693,13 @@
 	}
 
 	/**
-	 * 查询题目统计分析结果 个人统计 全站统计
+	 * 鏌ヨ棰樼洰缁熻鍒嗘瀽缁撴灉 涓汉缁熻 鍏ㄧ珯缁熻
 	 * @param groupId
 	 * @return
 	 */
 	@Override
 	public List<Map<String, Object>> queryExerciseItemStatisics(String groupId) {
-		// 1.查询个人统计
+		// 1.鏌ヨ涓汉缁熻
 		String hql_analisisU = "select a from ExerciseItemAnalisiU a,ExerciseGroupItemRe re"
 				+ " where a.exerciseItemId=re.exerciseItemId and re.exerciseGroupId=? "
 				+ " and a.userId=? and a.deleteFlag is false and re.deleteFlag is false ";
@@ -2711,7 +2711,7 @@
 			anasisUMap.put(analisisU.getExerciseItemId(), analisisU);
 		}
 
-		// 2.查询全站统计
+		// 2.鏌ヨ鍏ㄧ珯缁熻
 		String hql_analisis = "select a from ExerciseItemAnalisi a,ExerciseGroupItemRe re"
 				+ " where a.exerciseItemId=re.exerciseItemId and re.exerciseGroupId=? "
 				+ " and a.deleteFlag is false and re.deleteFlag is false ";
@@ -2726,7 +2726,7 @@
 			return null;
 		}
 
-		// 3.查询此组所有题目
+		// 3.鏌ヨ姝ょ粍鎵�鏈夐鐩�
 		String hql_group = "from ExerciseGroupItemRe re where re.deleteFlag is false and re.exerciseGroupId = ? order by re.itemOrder";
 		List<ExerciseGroupItemRe> lstGroup = this.find(hql_group,
 				CollectionUtils.newList(groupId), ExerciseGroupItemRe.class);
@@ -2737,23 +2737,23 @@
 		ExerciseItemAnalisi analisis;
 		ExerciseItemAnalisiU analisisU;
 
-		// 3.组装结果
+		// 3.缁勮缁撴灉
 
-		// 循坏组所有题目
+		// 寰潖缁勬墍鏈夐鐩�
 		for(ExerciseGroupItemRe group:lstGroup){
-			// 结果map
+			// 缁撴灉map
 			resultMap = new HashMap<String, Object>(10);
 
 			exerciseItemId = group.getExerciseItemId();
-			// 1.个人分析结果
+			// 1.涓汉鍒嗘瀽缁撴灉
 			analisisU = anasisUMap.get(exerciseItemId);
-			// 2.全站分析结果
+			// 2.鍏ㄧ珯鍒嗘瀽缁撴灉
 			analisis = anasisMap.get(exerciseItemId);
 
 			resultMap.put("exerciseId", exerciseItemId);
 
-			// 3.个人统计
-			if(null == analisisU){// 为空
+			// 3.涓汉缁熻
+			if(null == analisisU){// 涓虹┖
 				resultMap.put("doAll_u", 0);
 				resultMap.put("doError_u", 0);
 				resultMap.put("doAccuracy_u", 0);
@@ -2763,8 +2763,8 @@
 				resultMap.put("doAccuracy_u", analisisU.getAccuracy());
 			}
 
-			// 4.全站统计
-			if(null == analisis){// 为空
+			// 4.鍏ㄧ珯缁熻
+			if(null == analisis){// 涓虹┖
 				resultMap.put("doAll", 0);
 				resultMap.put("doAccuracy", 0);
 			}else{
@@ -2780,7 +2780,7 @@
 	}
 
 	/**
-	 * 操作本次做题记录
+	 * 鎿嶄綔鏈鍋氶璁板綍
 	 * @return
 	 */
 	@Override
@@ -2799,7 +2799,7 @@
 		TraceUtils.setCreateTrace(record);
 		this.save(record);
 
-		// 操作最近一次做题记录
+		// 鎿嶄綔鏈�杩戜竴娆″仛棰樿褰�
 		doOperExerciseRecentRecord(record);
 
 		Map<String,Object> resultMap = new HashMap<String, Object>(3);
@@ -2812,7 +2812,7 @@
 	}
 
 	/**
-	 * 操作本次做题记录
+	 * 鎿嶄綔鏈鍋氶璁板綍
 	 * @return
 	 */
 	@Deprecated
@@ -2834,7 +2834,7 @@
 		TraceUtils.setCreateTrace(record);
 		this.save(record);
 
-		// 操作最近一次做题记录
+		// 鎿嶄綔鏈�杩戜竴娆″仛棰樿褰�
 		doOperExerciseRecentRecord(record);
 
 		Map<String,Object> resultMap = new HashMap<String, Object>(3);
@@ -2848,7 +2848,7 @@
 
 
 	/**
-	 * 更新练习组班级正确率信息
+	 * 鏇存柊缁冧範缁勭彮绾ф纭巼淇℃伅
 	 * @return
 	 */
 	@Override
@@ -2864,12 +2864,12 @@
 	}
 
 	/**
-	 * 发送班级排名请求消息
+	 * 鍙戦�佺彮绾ф帓鍚嶈姹傛秷鎭�
 	 * @return
 	 */
 	@Override
 	public Result sendUpdateClassRankMsg(String groupId) {
-		// 更新练习得分排名
+		// 鏇存柊缁冧範寰楀垎鎺掑悕
 		rankService.reqUpdateRank(ClientUtils.getUserId(), SchRank.RANK_TYPE_EXERCISE_SCORE,
 				SchRank.SCOPE_TYPE_CLASS_GROUP, groupId);
 
@@ -2878,14 +2878,14 @@
 
 
 	/**
-	 * 请求修改该组班级正确率
+	 * 璇锋眰淇敼璇ョ粍鐝骇姝g‘鐜�
 	 * @param record
 	 * @return
 	 */
 	@Override
 	public Result sendUpdateClassAccuracyMsg(String exerciseGroupId, String doCount, String correctCount){
 
-		// 异步调用 发送消息
+		// 寮傛璋冪敤 鍙戦�佹秷鎭�
 //		ONSMsg msg = new ONSMsg(onsProducer.getTopic());
 //
 //		msg.put("msgType", "EXER_GROUP_ACCURACY");
@@ -2910,18 +2910,18 @@
 	public Result doUpdateExerciseRecord(String exerciseRecordId,
 			String groupId, String currTitleNum) {
 
-		if(StringUtils.isBlank(exerciseRecordId)){ // 记录ID为空
-			return new Result(false, "记录id为空");
+		if(StringUtils.isBlank(exerciseRecordId)){ // 璁板綍ID涓虹┖
+			return new Result(false, "璁板綍id涓虹┖");
 		}
 
 		ExerciseRecord record = this.read(ExerciseRecord.class, exerciseRecordId);
 
 		if(record == null
 				|| !ClientUtils.getUserId().equals(record.getUserId())){
-			return new Result(false, "非法操作,不是当前用户更新题号");
+			return new Result(false, "闈炴硶鎿嶄綔锛屼笉鏄綋鍓嶇敤鎴锋洿鏂伴鍙�");
 		}
 
-		if(StringUtils.isNotBlank(currTitleNum)){// 当前题号
+		if(StringUtils.isNotBlank(currTitleNum)){// 褰撳墠棰樺彿
 			record.setTitleMaxNumber(currTitleNum);
 		}
 
@@ -2929,7 +2929,7 @@
 
 		return new Result(true);
 
-		/*// 2.重新生成新的记录    ios导致重做  先关闭此段代码
+		/*// 2.閲嶆柊鐢熸垚鏂扮殑璁板綍    ios瀵艰嚧閲嶅仛  鍏堝叧闂娈典唬鐮�
 		ExerciseRecord record = new ExerciseRecord();
 		record.setAccuracy(BigDecimal.ZERO);
 		record.setCompletionRate(BigDecimal.ZERO);
@@ -2948,20 +2948,20 @@
 
 		this.save(record);
 
-		// 3.操作最近一次做题记录
+		// 3.鎿嶄綔鏈�杩戜竴娆″仛棰樿褰�
 		doOperExerciseRecentRecord(record);*/
 	}
 
 	@Override
 	public Result updateExerciseRecordObj(ExerciseRecord record) {
-		// TraceUtils.setUpdateTrace(record); ---不更新时间
+		// TraceUtils.setUpdateTrace(record); ---涓嶆洿鏂版椂闂�
 		this.save(record);
 		return new Result(true);
 	}
 
 	/**
 	 *
-	 * 保存app端请求保存的数据
+	 * 淇濆瓨app绔姹備繚瀛樼殑鏁版嵁
 	 * @return
 	 */
 	@Override
@@ -3001,25 +3001,25 @@
 
 
 	/**
-	 * 操作练习答案数据同步
+	 * 鎿嶄綔缁冧範绛旀鏁版嵁鍚屾
 	 */
 	public Map<String,Object> doOperExerciseAnswerData(ExerciseSubmitAnswerData clientAnswerData) {
 
-		// 0.重新整理答题数据
+		// 0.閲嶆柊鏁寸悊绛旈鏁版嵁
 		ExerciseSubmitAnswerData answerData = this.getExerciseSubmitAnswerDataNew(clientAnswerData);
 
-		//  1.当前练习组 判断 是否新纪录   提交的为同一个组  ExerciseRecord
+		//  1.褰撳墠缁冧範缁� 鍒ゆ柇 鏄惁鏂扮邯褰�   鎻愪氦鐨勪负鍚屼竴涓粍  ExerciseRecord
 		Map<String,Object> resultMap = doOperExerciseRecordNew(answerData);
 
-		//  2.提交练习答案
+		//  2.鎻愪氦缁冧範绛旀
 		Result result = doSubmitExerciseAnswerDataNew(answerData, String.valueOf(resultMap.get("exerciseRecordId")));
 
-		//如果是是阅卷,发布消息
+		//濡傛灉鏄槸闃呭嵎锛屽彂甯冩秷鎭�
 		if(answerData.getStatus().equals(String.valueOf(ExerciseRecord.STATUS_CHECK))){
 			this.doCheckMsg(answerData);
 		}
 
-		// 该套题总做题个数、正确个数
+		// 璇ュ棰樻�诲仛棰樹釜鏁般�佹纭釜鏁�
 		resultMap.put("doCount", result.getData("doCount"));
 		resultMap.put("correctCount", result.getData("correctCount"));
 
@@ -3030,29 +3030,29 @@
 		String msg = null;
 		Map<String,String> attrs = null;
 
-		//答题记录
+		//绛旈璁板綍
 		ExerciseRecord record= this.read(ExerciseRecord.class, answerData.getExerciseRecordId());
 
-		//考试
+		//鑰冭瘯
 		if(StringUtils.isNotEmpty(record.getExamBatchId())){
 			ExamBatchInfo batchInfo = this.read(ExamBatchInfo.class,record.getExamBatchId());
 			attrs = CollectionUtils.newStringMap("examBatchId",record.getExamBatchId(),"examName",batchInfo.getExamInfo().getExamName(),
 					    "subjectId",batchInfo.getExamInfo().getSubjectId(),
 						"subjectName",batchInfo.getExamInfo().getSubject().getName());
-			msg = "老师批改了考试";
+			msg = "鑰佸笀鎵规敼浜嗚�冭瘯";
 		}else{
 			ExerciseInfo exerciseInfo = this.read(ExerciseInfo.class,answerData.getExerciseInfoId());
 			attrs = CollectionUtils.newStringMap("exerciseInfoId",exerciseInfo.getExerciseInfoId(),"exerciseName",exerciseInfo.getName(),
 					"subjectId",exerciseInfo.getSubjectId(),
 					"subjectName",exerciseInfo.getSubject().getName(),"creator",exerciseInfo.getCreator(),"exerciseType",String.valueOf(exerciseInfo.getType()));
-			msg = "老师批改了答题作业";
+			msg = "鑰佸笀鎵规敼浜嗙瓟棰樹綔涓�";
 		}
 
 		msgInfoService.doSendTextMsgToUsers(new String[]{record.getUserId()}, MsgInfo.TYPE_CHECK, msg, attrs);
 	}
 
 	/**
-	 * 操作练习记录
+	 * 鎿嶄綔缁冧範璁板綍
 	 * @param answerData
 	 * @return
 	 */
@@ -3061,8 +3061,8 @@
 
 		ExerciseRecord record = this.read(ExerciseRecord.class, recordId);
 
-		//如果是作业需要处理
-		if(record == null){// 第一次做题
+		//濡傛灉鏄綔涓氶渶瑕佸鐞�
+		if(record == null){// 绗竴娆″仛棰�
 			record = new ExerciseRecord();
 			record.setStatus(answerData.getStatus());
 			record = this.insertExerciseRecordMutiNew(record,
@@ -3070,7 +3070,7 @@
 
 			doOperExerciseRecentRecord(record);
 		}else{
-			// 更新做题记录
+			// 鏇存柊鍋氶璁板綍
 			record = this.updateExerciseRecordNew(record, answerData);
 		}
 
@@ -3084,7 +3084,7 @@
 
 
 	/**
-	 * 操作练习记录
+	 * 鎿嶄綔缁冧範璁板綍
 	 * @param answerData
 	 * @return
 	 */
@@ -3097,24 +3097,24 @@
 			record = this.read(ExerciseRecord.class, recordId);
 		}
 
-		// 2.操作做题记录
+		// 2.鎿嶄綔鍋氶璁板綍
 		if(record != null){
-			// 更新做题记录
+			// 鏇存柊鍋氶璁板綍
 			record = this.updateExerciseRecordNew(record, answerData);
 		}else{
 			record = new ExerciseRecord();
 			record.setStatus(answerData.getStatus());
 			record.setTitleMaxNumber(answerData.getCurrTitleNum());
-			// 新增做题记录
+			// 鏂板鍋氶璁板綍
 			record = this.insertExerciseRecordMutiNew(record, exerciseGroupId,
 					answerData.getSubjectId(),answerData.getSubmitTime());
 			recordId =record.getRecordId();
 		}
 
-		// 3.操作最近一次做题记录
+		// 3.鎿嶄綔鏈�杩戜竴娆″仛棰樿褰�
 		doOperExerciseRecentRecord(record);
 
-		// 4.返回结果
+		// 4.杩斿洖缁撴灉
 		Map<String,Object> resultMap = new HashMap<String, Object>(4);
 
 		resultMap.put("exerciseRecordId", record.getRecordId());
@@ -3144,13 +3144,13 @@
 
 //	public static void main(String [] args){
 //		ExerciseVerService s = new ExerciseVerService();
-//		s.checkSimilarity("1981年", "1981");
-//		s.checkSimilarity("教与学系统", "教与学的系统");
-//		s.checkSimilarity("教与学的系统", "教与学系统");
-//		System.out.println(HanLP.extractKeyword("中国人", 100));
-//		System.out.println(HanLP.extractKeyword("中国  人  def", 100));
-//		System.out.println(HanLP.segment("中国人"));
-//		s.checkSimilarity("中国人", "中国");
+//		s.checkSimilarity("1981骞�", "1981");
+//		s.checkSimilarity("鏁欎笌瀛︾郴缁�", "鏁欎笌瀛︾殑绯荤粺");
+//		s.checkSimilarity("鏁欎笌瀛︾殑绯荤粺", "鏁欎笌瀛︾郴缁�");
+//		System.out.println(HanLP.extractKeyword("涓浗浜�", 100));
+//		System.out.println(HanLP.extractKeyword("涓浗  浜�  def", 100));
+//		System.out.println(HanLP.segment("涓浗浜�"));
+//		s.checkSimilarity("涓浗浜�", "涓浗");
 //	}
 
 
diff --git a/src/main/java/com/qxueyou/scc/exercise/service/impl/Handler.java b/src/main/java/com/qxueyou/scc/exercise/service/impl/Handler.java
index 185d785..fb58b2e 100644
--- a/src/main/java/com/qxueyou/scc/exercise/service/impl/Handler.java
+++ b/src/main/java/com/qxueyou/scc/exercise/service/impl/Handler.java
@@ -15,67 +15,67 @@
 import com.qxueyou.scc.exercise.service.impl.parser.OptionParser;
 
 public class Handler {
-	
+
 	private Doc doc;
-	
+
 	private Node currentNode;
-	
-	/** 失败 */
+
+	/** 澶辫触 */
 	public static final Integer HANDLER_RESULT_FAIL = 1 ;
-	
-	/** 上一类型 */
+
+	/** 涓婁竴绫诲瀷 */
 	public static final Integer HANDLER_RESULT_CONTINUE = 2;
-	
-	/** 成功*/
+
+	/** 鎴愬姛*/
 	public static final Integer HANDLER_RESULT_SUCCESS = 3;
-	
-	/** 校验是否有中文 */
-	private static String regEx = "[\u4e00-\u9fa5]"; 
-	private static Pattern pat = Pattern.compile(regEx); 
-	
+
+	/** 鏍¢獙鏄惁鏈変腑鏂� */
+	private static String regEx = "[\u4e00-\u9fa5]";
+	private static Pattern pat = Pattern.compile(regEx);
+
 	public Handler(){
 		doc = new Doc();
 		currentNode = doc;
 	}
-	
+
 	/**
-	 * 解析文本,每次读取一个段落
-	 * @param content 段落文本内容
+	 * 瑙f瀽鏂囨湰,姣忔璇诲彇涓�涓钀�
+	 * @param content 娈佃惤鏂囨湰鍐呭
 	 */
 	public ExerciseParse parse(String content){
-		
+
 		ParseResult result = null;
-		
+
 		content = content.replace((char)12288, (char)32);
 		content = content.replace((char)160, (char)32);
-		
-		//将得到的文本全角转半角
+
+		//灏嗗緱鍒扮殑鏂囨湰鍏ㄨ杞崐瑙�
 		//content = formatFullToHalf(content);
-		content = content.replace('(', '(');
-		content = content.replace(')', ')');
-		
-		// 非全部英文题   非全部空格,  需要将空格替换掉
+		content = content.replace('锛�', '(');
+		content = content.replace('锛�', ')');
+
+		// 闈炲叏閮ㄨ嫳鏂囬   闈炲叏閮ㄧ┖鏍硷紝  闇�瑕佸皢绌烘牸鏇挎崲鎺�
 		if(isContentContainsChinese(content) || content.trim().isEmpty()){
 			content = content.replace(" ", "");
 		}
-		
+
 		content = content.replace("\t", "");
-		
+
 		if(StringUtils.isEmpty(content)||content.equals("\r")){
 			return new ExerciseParse(HANDLER_RESULT_SUCCESS,content);
 		}
-		
-		//是否需要人为去掉回车
+
+		//鏄惁闇�瑕佷汉涓哄幓鎺夊洖杞�
 		content = content.replace("\r", "");
 
 		int count = 0;
-		
+
 		do{
 			result = currentNode.getParser().parse(currentNode, content);
-			
+
 			if(result.isSuccess()){
 				if(ParseResult.STEP_CUR.equals(result.getNextStep())){
-					//成功后,取得当前parser
+					//鎴愬姛鍚庯紝鍙栧緱褰撳墠parser
 					generateLastSuccessType(doc,currentNode,result.getNextNode());
 					return new ExerciseParse(HANDLER_RESULT_SUCCESS,content);
 				}
@@ -89,7 +89,7 @@
 				}
 			}else{
 				if(ParseResult.STEP_CUR.equals(result.getNextStep())){
-					//20150907 修改;抛到最上层doc解析器仍然无法定位,直接将文本内容添加到上一个解析成功的位置
+					//20150907 淇敼;鎶涘埌鏈�涓婂眰doc瑙f瀽鍣ㄤ粛鐒舵棤娉曞畾浣嶏紝鐩存帴灏嗘枃鏈唴瀹规坊鍔犲埌涓婁竴涓В鏋愭垚鍔熺殑浣嶇疆
 					appendTextToLastPosition(doc,content);
 					return new ExerciseParse(HANDLER_RESULT_CONTINUE,doc.getLastSuccessType(),content);
 				}
@@ -106,24 +106,24 @@
 					currentNode = result.getNextNode();
 				}
 			}
-			
+
 		}while( count++ < 15);
-		
+
 		return new ExerciseParse(HANDLER_RESULT_FAIL,content);
-		
+
 	}
-	
+
 	public Doc result(){
 		return doc;
 	}
-	
-	
+
+
 	/**
-	 * 得到最新成功的解析类型
-	 * 
+	 * 寰楀埌鏈�鏂版垚鍔熺殑瑙f瀽绫诲瀷
+	 *
 	 * @param doc doc
-	 * @param currNode 当前节点
-	 * @param analysisNode 如果是解析  部分的解析器,返回非空数据,用于获取解析器类型
+	 * @param currNode 褰撳墠鑺傜偣
+	 * @param analysisNode 濡傛灉鏄В鏋�  閮ㄥ垎鐨勮В鏋愬櫒锛岃繑鍥為潪绌烘暟鎹紝鐢ㄤ簬鑾峰彇瑙f瀽鍣ㄧ被鍨�
 	 */
 	private void generateLastSuccessType(Doc doc,Node currNode,Node analysisNode){
 		Parser currParser = currNode.getParser();
@@ -140,39 +140,39 @@
 			return ;
 		}
 	}
-	
+
 	/**
-	 * 得到当前解析成功的最新位置:如果是题目的:题干、选项或者解析,将他们组装对应位置
-	 * 
+	 * 寰楀埌褰撳墠瑙f瀽鎴愬姛鐨勬渶鏂颁綅缃細濡傛灉鏄鐩殑锛氶骞层�侀�夐」鎴栬�呰В鏋愶紝灏嗕粬浠粍瑁呭搴斾綅缃�
+	 *
 	 * @param doc
 	 * @param content
 	 */
 	private void appendTextToLastPosition(Doc doc,String content){
 		String currSuccessType = doc.getLastSuccessType();
-		
-		//第一层 ItemType
+
+		//绗竴灞� ItemType
 		List<Node>  lstItemType = doc.getChildren();
 		if(null == lstItemType || lstItemType.isEmpty()){
 			return ;
 		}
-		
-		//第二层Item
+
+		//绗簩灞侷tem
 		ItemType objItemType = (ItemType)lstItemType.get(lstItemType.size() - 1);
 		List<Node>  lstItem = objItemType.getChildren();
 		if(null == lstItem || lstItem.isEmpty()){
 			return ;
 		}
-		
-		//取到最新位置的Item
+
+		//鍙栧埌鏈�鏂颁綅缃殑Item
 		Item objItem = (Item)lstItem.get(lstItem.size() - 1);
 		if(null != objItem){
 			appendTextToCurrPosition(objItem,currSuccessType,content);
 		}
 	}
-	
+
 	/**
-	 * 将当前没有归档的内容加入到对应的位置
-	 * 
+	 * 灏嗗綋鍓嶆病鏈夊綊妗g殑鍐呭鍔犲叆鍒板搴旂殑浣嶇疆
+	 *
 	 * @param objItem
 	 * @param currSuccessType
 	 * @param content
@@ -181,25 +181,25 @@
 		if(Doc.CURR_SUCCESS_CONTENT == currSuccessType){
 			objItem.setTitle(objItem.getTitle()+ content);
 			currentNode = objItem;
-			
+
 		}else if(Doc.CURR_SUCCESS_ANALYSIS == currSuccessType){
 			objItem.setAnalysis(objItem.getAnalysis() + content);
 			currentNode = objItem;
-			
+
 		}else if(Doc.CURR_SUCCESS_OPTION == currSuccessType){
-			
+
 			List<Option> lstOptions = objItem.getOptions();
 			if(null == lstOptions || lstOptions.isEmpty()){
 				return ;
 			}
-			
+
 			Option opt = null ;
 			for(int i = lstOptions.size() -1 ; i>=0 ; i --){
 				opt = lstOptions.get(i);
 				if(null == opt){
 					return ;
 				}
-				//将选项添加到最新位置
+				//灏嗛�夐」娣诲姞鍒版渶鏂颁綅缃�
 				if(StringUtils.isNotBlank(opt.getNo())){
 					opt.setContent(opt.getContent() + content);
 					currentNode = objItem;
@@ -208,20 +208,20 @@
 			}
 		}
 	}
-	
+
 	/**
-	 * 字符串是否包含中文
+	 * 瀛楃涓叉槸鍚﹀寘鍚腑鏂�
 	 * @param content
 	 * @return
 	 */
 	private boolean isContentContainsChinese( String content ){
-		
+
 		Matcher matcher = pat.matcher(content);
 		boolean flg = false;
 		if (matcher.find())    {
 			flg = true;
 		}
-		return flg;		
+		return flg;
 	}
-	
+
 }
diff --git a/src/main/java/com/qxueyou/scc/exercise/service/impl/ParseResult.java b/src/main/java/com/qxueyou/scc/exercise/service/impl/ParseResult.java
index a3befd0..b8e2ae9 100644
--- a/src/main/java/com/qxueyou/scc/exercise/service/impl/ParseResult.java
+++ b/src/main/java/com/qxueyou/scc/exercise/service/impl/ParseResult.java
@@ -5,10 +5,10 @@
 	private boolean success;
 	
 	/**
-	 * 下一步尝试:
-	 * PRE: 往上尝试
-	 * CUR: 当前
-	 * NEXT: 有新的子节点
+	 * 涓嬩竴姝ュ皾璇曪細
+	 * PRE: 寰�涓婂皾璇�
+	 * CUR: 褰撳墠
+	 * NEXT: 鏈夋柊鐨勫瓙鑺傜偣
 	 */
 	private String nextStep;
 	
@@ -27,7 +27,7 @@
 	
 	
 	/**
-	 * 有新的节点时新节点引用
+	 * 鏈夋柊鐨勮妭鐐规椂鏂拌妭鐐瑰紩鐢�
 	 */
 	private Node nextNode;
 
diff --git a/src/main/java/com/qxueyou/scc/exercise/service/impl/node/Doc.java b/src/main/java/com/qxueyou/scc/exercise/service/impl/node/Doc.java
index b899907..afef760 100644
--- a/src/main/java/com/qxueyou/scc/exercise/service/impl/node/Doc.java
+++ b/src/main/java/com/qxueyou/scc/exercise/service/impl/node/Doc.java
@@ -12,8 +12,8 @@
 import com.qxueyou.scc.exercise.service.impl.parser.ItemAnswerParser;
 
 /**
- * 带解析的文档
- * @author 德虎
+ * 甯﹁В鏋愮殑鏂囨。
+ * @author 寰疯檸
  *
  */
 public class Doc extends Node {
@@ -24,7 +24,7 @@
 	
 	public static final String CURR_SUCCESS_ANALYSIS ="ANALYSIS";
 	
-	//上一次解析成功的类型
+	//涓婁竴娆¤В鏋愭垚鍔熺殑绫诲瀷
 	private String lastSuccessType;
 	
 	public String getLastSuccessType() {
@@ -84,7 +84,7 @@
 		return exerciseItems;
 	}
 	
-	//如果没有答案,重新解析一遍答案
+	//濡傛灉娌℃湁绛旀锛岄噸鏂拌В鏋愪竴閬嶇瓟妗�
 	private void generateItemAnswerAgain(Item item){
 		ItemAnswerParser parser = new ItemAnswerParser();
 		parser.parse(item, item.getTitle());
diff --git a/src/main/java/com/qxueyou/scc/exercise/service/impl/node/Item.java b/src/main/java/com/qxueyou/scc/exercise/service/impl/node/Item.java
index 0583796..4b37858 100644
--- a/src/main/java/com/qxueyou/scc/exercise/service/impl/node/Item.java
+++ b/src/main/java/com/qxueyou/scc/exercise/service/impl/node/Item.java
@@ -92,7 +92,7 @@
 	}
 
 	/**
-	 * 转换为数据模型
+	 * 杞崲涓烘暟鎹ā鍨�
 	 * @return
 	 */
 	public ExerciseItem convertExerciseItem() {
@@ -100,13 +100,13 @@
 		//new ExerciseItem
 		ExerciseItem item = new ExerciseItem();
 		
-		//转换 ExerciseItemOption
+		//杞崲 ExerciseItemOption
 		List<ExerciseItemOption> options = new ArrayList<ExerciseItemOption>();
 		
-		//确保判断题的OPTION
+		//纭繚鍒ゆ柇棰樼殑OPTION
 		ensureTrueOrFalseOpt();
 		
-		//更新参考答案 最终的答案 格式如A,B,C
+		//鏇存柊鍙傝�冪瓟妗� 鏈�缁堢殑绛旀 鏍煎紡濡侫,B,C
 		String resultAnswer = updateAnswer();
 		
 		for(Option opt:getOptions()){
@@ -116,22 +116,22 @@
 			options.add(opt.convertExerciseItemOption());
 		}
 		
-		// 设置正确答案
+		// 璁剧疆姝g‘绛旀
 		item.setAnswer(resultAnswer);
 		item.setTitle(this.getTitle());
 		item.setType(getExerciseType());
 		item.setOptions(options);
 		item.setItemNo(Integer.valueOf(getNo()));
 		
-		//转换解析内容
+		//杞崲瑙f瀽鍐呭
 		addAnalysis(item);
 		
-		//返回
+		//杩斿洖
 		return item;
 	}
 	
 	/**
-	 * 增加解析实体
+	 * 澧炲姞瑙f瀽瀹炰綋
 	 * @param item
 	 */
 	private void addAnalysis(ExerciseItem item) {
@@ -150,7 +150,7 @@
 	}
 
 	/**
-	 * 更新参考答案
+	 * 鏇存柊鍙傝�冪瓟妗�
 	 */
 	private String updateAnswer() {
 		
@@ -160,7 +160,7 @@
 			return resultAnswer;
 		}
 		
-		//判断题
+		//鍒ゆ柇棰�
 		if(answer.equals("True")||answer.equals("False")){
 			Node node = getChild("NO", answer);
 			if(node==null){
@@ -169,7 +169,7 @@
 			Option opt = (Option) node;
 			opt.setCheck(true);
 			resultAnswer = answer;
-		}else{//单选或多选题
+		}else{//鍗曢�夋垨澶氶�夐
 			for(int i=0;i<answer.length();i++){
 				String optAnswer = String.valueOf(answer.charAt(i));
 				Node node = getChild("NO", optAnswer);
@@ -179,9 +179,9 @@
 				Option opt = (Option) node;
 				opt.setCheck(true);
 				
-				// 拼接答案
+				// 鎷兼帴绛旀
 				resultAnswer += answer.charAt(i);
-				if(i < answer.length()-1){//最后一次不添加
+				if(i < answer.length()-1){//鏈�鍚庝竴娆′笉娣诲姞
 					resultAnswer += ",";
 				}
 				
@@ -193,7 +193,7 @@
 	}
 
 	/**
-	 * 特殊处理判断题的 option,自动添加 True 和 False 选项
+	 * 鐗规畩澶勭悊鍒ゆ柇棰樼殑 option锛岃嚜鍔ㄦ坊鍔� True 鍜� False 閫夐」
 	 */
 	private void ensureTrueOrFalseOpt(){
 		ItemType type = (ItemType) getParent();
@@ -216,7 +216,7 @@
 	}
 	
 	/**
-	 * 获取习题类型
+	 * 鑾峰彇涔犻绫诲瀷
 	 * @return
 	 */
 	public short getExerciseType(){
diff --git a/src/main/java/com/qxueyou/scc/exercise/service/impl/parser/DocParser.java b/src/main/java/com/qxueyou/scc/exercise/service/impl/parser/DocParser.java
index ef591fc..cea3cf4 100644
--- a/src/main/java/com/qxueyou/scc/exercise/service/impl/parser/DocParser.java
+++ b/src/main/java/com/qxueyou/scc/exercise/service/impl/parser/DocParser.java
@@ -9,8 +9,8 @@
 import com.qxueyou.scc.exercise.service.impl.node.ItemType;
 
 /**
- * 文档解析器
- * @author 德虎
+ * 鏂囨。瑙f瀽鍣�
+ * @author 寰疯檸
  *
  */
 public class DocParser extends Parser {
@@ -21,22 +21,22 @@
 	}
 	
 	/**
-	 * 解析 Doc
+	 * 瑙f瀽 Doc
 	 * @param doc
 	 * @param str
 	 * @return
 	 */
 	private ParseResult parse(Doc doc, String str) {
 
-		if(str.contains("单选")||str.contains("单项选择")){
+		if(str.contains("鍗曢��")||str.contains("鍗曢」閫夋嫨")){
 			return tryNextNodeParser(doc,ItemType.TYPE_SINGLE);
 		}
 		
-		if(str.contains("多选")||str.contains("多项选择")){
+		if(str.contains("澶氶��")||str.contains("澶氶」閫夋嫨")){
 			return tryNextNodeParser(doc,ItemType.TYPE_MULTI);
 		}
 		
-		if(str.contains("判断")){
+		if(str.contains("鍒ゆ柇")){
 			return tryNextNodeParser(doc,ItemType.TYPE_TRUE_OR_FALSE);
 		}
 		
diff --git a/src/main/java/com/qxueyou/scc/exercise/service/impl/parser/ItemAnalysisParser.java b/src/main/java/com/qxueyou/scc/exercise/service/impl/parser/ItemAnalysisParser.java
index d0eaa30..1495e0d 100644
--- a/src/main/java/com/qxueyou/scc/exercise/service/impl/parser/ItemAnalysisParser.java
+++ b/src/main/java/com/qxueyou/scc/exercise/service/impl/parser/ItemAnalysisParser.java
@@ -13,12 +13,12 @@
 public class ItemAnalysisParser extends Parser {
 	
 	/**
-	 * 解析字符串
+	 * 瑙f瀽瀛楃涓�
 	 */
-	private String analysisStr = "解析";
+	private String analysisStr = "瑙f瀽";
 	
 	/**
-	 * 解析字符串正则模式
+	 * 瑙f瀽瀛楃涓叉鍒欐ā寮�
 	 */
 	private Pattern analysis = Pattern.compile(analysisStr);
 	
@@ -29,19 +29,19 @@
 	}
 	
 	/**
-	 * 解析 Item 参考答案
-	 * 1.解析出类似  *** ( ab ) 这样的参考答案
-	 * 2.将类似参考答案 ( ab ) 替换成 ( )
+	 * 瑙f瀽 Item 鍙傝�冪瓟妗�
+	 * 1.瑙f瀽鍑虹被浼�  *** ( ab ) 杩欐牱鐨勫弬鑰冪瓟妗�
+	 * 2.灏嗙被浼煎弬鑰冪瓟妗� ( ab ) 鏇挎崲鎴� ( )
 	 * @param item
 	 * @param str
 	 * @return
 	 */
 	private ParseResult parseAnalysis(Item item, String str) {
 		
-		//习题选项
+		//涔犻閫夐」
 		Matcher analysisMatch = analysis.matcher(str);
 		
-		//返回
+		//杩斿洖
 		if(!matchBegin(analysisMatch)){
 			return new ParseResult(false,ParseResult.STEP_CUR,null);
 		}
@@ -61,18 +61,18 @@
 			
 		}
 		
-		//20150907修改:本来返回true,没有解析到一个类型,抛到上层
+		//20150907淇敼锛氭湰鏉ヨ繑鍥瀟rue锛屾病鏈夎В鏋愬埌涓�涓被鍨嬶紝鎶涘埌涓婂眰
 		return new ParseResult(false,ParseResult.STEP_CUR,null);
 		
 	}
 	
 	/**
-	 * 去除文本中多余字符
+	 * 鍘婚櫎鏂囨湰涓浣欏瓧绗�
 	 * @param content
 	 * @return
 	 */
 	private String beautyContent(String str){
-		String prefix = "::.。~、、..";
+		String prefix = "锛�:.銆倊銆併�侊紟锛�";
 		String content = str;
 		while(content.length()>0 && prefix.contains(content.substring(0, 1))){
 			content = content.substring(1);
diff --git a/src/main/java/com/qxueyou/scc/exercise/service/impl/parser/ItemAnswerParser.java b/src/main/java/com/qxueyou/scc/exercise/service/impl/parser/ItemAnswerParser.java
index 5bc62c4..908c288 100644
--- a/src/main/java/com/qxueyou/scc/exercise/service/impl/parser/ItemAnswerParser.java
+++ b/src/main/java/com/qxueyou/scc/exercise/service/impl/parser/ItemAnswerParser.java
@@ -13,22 +13,22 @@
 public class ItemAnswerParser extends Parser {
 	
 	/**
-	 * 参考答案[带括号]
+	 * 鍙傝�冪瓟妗圼甯︽嫭鍙穄
 	 */
-	private static final String answerWithBracketsStr = "\\([ABCDEFGHIJKLMNOabcdefghijklmno√╳×TFtf]+\\)";
+	private static final String answerWithBracketsStr = "\\([ABCDEFGHIJKLMNOabcdefghijklmno鈭氣暢脳TFtf]+\\)";
 	
 	/**
-	 * 参考答案
+	 * 鍙傝�冪瓟妗�
 	 */
-	private static final String answerStr = "[ABCDEFGHIJKLMNOabcdefghijklmno√╳×TFtf]+";
+	private static final String answerStr = "[ABCDEFGHIJKLMNOabcdefghijklmno鈭氣暢脳TFtf]+";
 	
 	/**
-	 * 参考答案模式[带括号]
+	 * 鍙傝�冪瓟妗堟ā寮廩甯︽嫭鍙穄
 	 */
 	private static final Pattern answerWithBrackets = Pattern.compile(answerWithBracketsStr);
 	
 	/**
-	 * 参考答案模式
+	 * 鍙傝�冪瓟妗堟ā寮�
 	 */
 	private static final Pattern answer = Pattern.compile(answerStr);
 
@@ -38,19 +38,19 @@
 	}
 	
 	/**
-	 * 解析 Item 参考答案
-	 * 1.解析出类似  *** ( ab ) 这样的参考答案
-	 * 2.将类似参考答案 ( ab ) 替换成 ( )
+	 * 瑙f瀽 Item 鍙傝�冪瓟妗�
+	 * 1.瑙f瀽鍑虹被浼�  *** ( ab ) 杩欐牱鐨勫弬鑰冪瓟妗�
+	 * 2.灏嗙被浼煎弬鑰冪瓟妗� ( ab ) 鏇挎崲鎴� ( )
 	 * @param item
 	 * @param str
 	 * @return
 	 */
 	private ParseResult parseAnswer(Item item, String str) {
 		
-		//习题选项
+		//涔犻閫夐」
 		Matcher answerBracketsMatch = answerWithBrackets.matcher(str);
 		
-		//返回
+		//杩斿洖
 		if(!answerBracketsMatch.find() || answerBracketsMatch.start()==0){
 			return new ParseResult(false,ParseResult.STEP_CUR,null);
 		}
@@ -70,21 +70,21 @@
 			item.setTitle(item.getTitle().replaceAll(answerWithBracketsStr, "( )"));
 		}
 		
-		//20150907修改:本来返回true,没有解析到一个类型,抛到上层
+		//20150907淇敼锛氭湰鏉ヨ繑鍥瀟rue锛屾病鏈夎В鏋愬埌涓�涓被鍨嬶紝鎶涘埌涓婂眰
 		return new ParseResult(false,ParseResult.STEP_PRE,null);
 		
 	}
 	
 	/**
-	 * 处理answer
+	 * 澶勭悊answer
 	 * @param answer
 	 * @return
 	 */
 	private String dealAnswer(String answer){
-		if(StringUtils.equalsIgnoreCase("√",answer)||StringUtils.equalsIgnoreCase("√",answer)||StringUtils.equalsIgnoreCase("T",answer)){
+		if(StringUtils.equalsIgnoreCase("鈭�",answer)||StringUtils.equalsIgnoreCase("鈭�",answer)||StringUtils.equalsIgnoreCase("T",answer)){
 			return "True";
 		}
-		if(StringUtils.equalsIgnoreCase("×",answer)||StringUtils.equalsIgnoreCase("╳",answer)||StringUtils.equalsIgnoreCase("F",answer)){
+		if(StringUtils.equalsIgnoreCase("脳",answer)||StringUtils.equalsIgnoreCase("鈺�",answer)||StringUtils.equalsIgnoreCase("F",answer)){
 			return "False";
 		}
 		return answer;
diff --git a/src/main/java/com/qxueyou/scc/exercise/service/impl/parser/ItemParser.java b/src/main/java/com/qxueyou/scc/exercise/service/impl/parser/ItemParser.java
index d2e0658..fd5bd7b 100644
--- a/src/main/java/com/qxueyou/scc/exercise/service/impl/parser/ItemParser.java
+++ b/src/main/java/com/qxueyou/scc/exercise/service/impl/parser/ItemParser.java
@@ -14,21 +14,21 @@
 public class ItemParser extends Parser {
 	
 	/**
-	 * 习题开始模式匹配
+	 * 涔犻寮�濮嬫ā寮忓尮閰�
 	 */
 	Pattern patternItem = Pattern.compile("\\d+");
 	
-	private Pattern analysis = Pattern.compile("解析");
+	private Pattern analysis = Pattern.compile("瑙f瀽");
 	
 	/**
-	 * 习题选项编号模式[带括号]
+	 * 涔犻閫夐」缂栧彿妯″紡[甯︽嫭鍙穄
 	 */
-	//Pattern optNoWithBrackets = Pattern.compile("\\(?[ABCDEFabcdef]\\)?[、..]");
+	//Pattern optNoWithBrackets = Pattern.compile("\\(?[ABCDEFabcdef]\\)?[銆�.锛嶿");
 	
 	/**
-	 * 习题选项  word自带的格式的 a.a、a)	这三种较为普遍,目前03可以解析成功,07解析失败*[\t]
+	 * 涔犻閫夐」  word鑷甫鐨勬牸寮忕殑 a.a銆乤)	杩欎笁绉嶈緝涓烘櫘閬嶏紝鐩墠03鍙互瑙f瀽鎴愬姛锛�07瑙f瀽澶辫触*[\t]
 	 */
-	Pattern optNoWithBrackets = Pattern.compile("\\(?[ABCDEFabcdef]\\)?[..、]");
+	Pattern optNoWithBrackets = Pattern.compile("\\(?[ABCDEFabcdef]\\)?[.锛庛�乚");
 	
 	ItemAnswerParser answerParser = new ItemAnswerParser();
 	
@@ -40,25 +40,25 @@
 	}
 	
 	/**
-	 * 解析 Item
+	 * 瑙f瀽 Item
 	 * @param item
 	 * @param str
 	 * @return
 	 */
 	private ParseResult parse(Item item, String str) {
 		
-		//习题
+		//涔犻
 		Matcher itemNoMatch = patternItem.matcher(str);
 		Matcher optNoWithBracketsMatch = optNoWithBrackets.matcher(str);
 		Matcher analysisMatch = analysis.matcher(str);
 		
-		//尝试调用上级解析器继续解析
+		//灏濊瘯璋冪敤涓婄骇瑙f瀽鍣ㄧ户缁В鏋�
 		if(!matchBegin(itemNoMatch) && !matchBegin(optNoWithBracketsMatch) && !matchBegin(analysisMatch)){
 			return new ParseResult(false,ParseResult.STEP_PRE,null);
 		}
 		
 		
-		//解析 no,title
+		//瑙f瀽 no,title
 		if(matchBegin(itemNoMatch)){
 			itemNoMatch.find();
 			String no = itemNoMatch.group();
@@ -71,39 +71,39 @@
 				item.setNo(no);
 				item.setTitle(beautyTitle(title));
 				
-				//解析参考答案
+				//瑙f瀽鍙傝�冪瓟妗�
 				answerParser.parse(item, str);
 				
 				return new ParseResult(true,ParseResult.STEP_CUR,null);
 			}
 		}
 		
-		//习题选项
+		//涔犻閫夐」
 		if(matchBegin(optNoWithBracketsMatch)){
 			Option opt = new Option();
 			item.addNode(opt);
 			return new ParseResult(false,ParseResult.STEP_NEXT,opt);
 		}
 		
-		//解析  习题分析
+		//瑙f瀽  涔犻鍒嗘瀽
 		if(matchBegin(analysisMatch)){
 			analysisParser.parse(item,str);
-			//20150907修改:返回item
+			//20150907淇敼锛氳繑鍥瀒tem
 			return new ParseResult(true,ParseResult.STEP_CUR,item);
 		}
 		
-		//20150907修改:本来返回true,没有解析到一个类型,抛到上层
+		//20150907淇敼锛氭湰鏉ヨ繑鍥瀟rue锛屾病鏈夎В鏋愬埌涓�涓被鍨嬶紝鎶涘埌涓婂眰
 		return new ParseResult(false,ParseResult.STEP_PRE,null);
 		
 	}
 	
 	/**
-	 * 去除习题标题多余字符
+	 * 鍘婚櫎涔犻鏍囬澶氫綑瀛楃
 	 * @param title
 	 * @return
 	 */
 	private String beautyTitle(String title){
-		String prefix = ".。~、.";
+		String prefix = ".銆倊銆侊紟";
 		while(title.length()>0 && prefix.contains(title.substring(0, 1))){
 			title = title.substring(1);
 		}
@@ -112,7 +112,7 @@
 	
 	public static void main(String[] args){
 		ItemParser parser  = new ItemParser();
-		parser.parse(null, "59、在培训效果评估的指标中,技能转换指标通常通过()来判断。");
+		parser.parse(null, "59銆佸湪鍩硅鏁堟灉璇勪及鐨勬寚鏍囦腑锛屾妧鑳借浆鎹㈡寚鏍囬�氬父閫氳繃()鏉ュ垽鏂��");
 	}
 
 }
diff --git a/src/main/java/com/qxueyou/scc/exercise/service/impl/parser/ItemTypeParser.java b/src/main/java/com/qxueyou/scc/exercise/service/impl/parser/ItemTypeParser.java
index 2c32010..eb09693 100644
--- a/src/main/java/com/qxueyou/scc/exercise/service/impl/parser/ItemTypeParser.java
+++ b/src/main/java/com/qxueyou/scc/exercise/service/impl/parser/ItemTypeParser.java
@@ -16,20 +16,20 @@
 public class ItemTypeParser extends Parser {
 
 	/**
-	 * 习题类型关键字
+	 * 涔犻绫诲瀷鍏抽敭瀛�
 	 */
 	private static Map<String,String> typeMap = new HashMap<String,String>();
 	
 	static{
-		typeMap.put("单选", ItemType.TYPE_SINGLE);
-		typeMap.put("单项选择", ItemType.TYPE_SINGLE);
-		typeMap.put("多选", ItemType.TYPE_MULTI);
-		typeMap.put("多项选择", ItemType.TYPE_MULTI);
-		typeMap.put("判断", ItemType.TYPE_TRUE_OR_FALSE);
+		typeMap.put("鍗曢��", ItemType.TYPE_SINGLE);
+		typeMap.put("鍗曢」閫夋嫨", ItemType.TYPE_SINGLE);
+		typeMap.put("澶氶��", ItemType.TYPE_MULTI);
+		typeMap.put("澶氶」閫夋嫨", ItemType.TYPE_MULTI);
+		typeMap.put("鍒ゆ柇", ItemType.TYPE_TRUE_OR_FALSE);
 	}
 
 	/**
-	 * 习题开始模式匹配
+	 * 涔犻寮�濮嬫ā寮忓尮閰�
 	 */
 	Pattern itemPattern = Pattern.compile("\\d+");
 
@@ -39,7 +39,7 @@
 	}
 
 	/**
-	 * 解析 ItemType
+	 * 瑙f瀽 ItemType
 	 * 
 	 * @param doc
 	 * @param str
@@ -47,7 +47,7 @@
 	 */
 	private ParseResult parse(ItemType itemType, String str) {
 		
-		// 习题
+		// 涔犻
 		Matcher matcher = itemPattern.matcher(str);
 
 		if (matchBegin(matcher) && StringUtils.isNotEmpty(itemType.getType())) {
@@ -56,7 +56,7 @@
 			return new ParseResult(false, ParseResult.STEP_NEXT, item);
 		}
 		
-		// 题目类型
+		// 棰樼洰绫诲瀷
 		for (String keyword : typeMap.keySet()) {
 			if (str.contains(keyword)) {
 				if(itemType.getType().equals(typeMap.get(keyword))){
@@ -67,7 +67,7 @@
 			}
 		}
 
-		//20150907修改:本来返回true,没有解析到一个类型,抛到上层
+		//20150907淇敼锛氭湰鏉ヨ繑鍥瀟rue锛屾病鏈夎В鏋愬埌涓�涓被鍨嬶紝鎶涘埌涓婂眰
 		return new ParseResult(false, ParseResult.STEP_PRE, null);
 
 	}
diff --git a/src/main/java/com/qxueyou/scc/exercise/service/impl/parser/OptionParser.java b/src/main/java/com/qxueyou/scc/exercise/service/impl/parser/OptionParser.java
index 095882a..43f42b5 100644
--- a/src/main/java/com/qxueyou/scc/exercise/service/impl/parser/OptionParser.java
+++ b/src/main/java/com/qxueyou/scc/exercise/service/impl/parser/OptionParser.java
@@ -14,17 +14,17 @@
 public class OptionParser extends Parser {
 	
 	/**
-	 * 习题选项编号模式[带括号]
+	 * 涔犻閫夐」缂栧彿妯″紡[甯︽嫭鍙穄
 	 */
-	//Pattern optNoWithBrackets = Pattern.compile("\\(?[ABCDEFabcdef]\\)?[、..]");
+	//Pattern optNoWithBrackets = Pattern.compile("\\(?[ABCDEFabcdef]\\)?[銆�.锛嶿");
 	
 	/**
-	 * 习题选项  word自带的格式的 a.a、a)	这三种较为普遍,目前03可以解析成功,07解析失败*[\t]
+	 * 涔犻閫夐」  word鑷甫鐨勬牸寮忕殑 a.a銆乤)	杩欎笁绉嶈緝涓烘櫘閬嶏紝鐩墠03鍙互瑙f瀽鎴愬姛锛�07瑙f瀽澶辫触*[\t]
 	 */
-	Pattern optNoWithBrackets = Pattern.compile("\\(?[ABCDEFGHIJKLMNOabcdefghijklmno]\\)?[..、]");
+	Pattern optNoWithBrackets = Pattern.compile("\\(?[ABCDEFGHIJKLMNOabcdefghijklmno]\\)?[.锛庛�乚");
 	
 	/**
-	 * 习题选项编号模式
+	 * 涔犻閫夐」缂栧彿妯″紡
 	 */
 	Pattern optNo = Pattern.compile("[ABCDEFGHIJKLMNOabcdefghijklmno]");
 	
@@ -35,17 +35,17 @@
 	}
 	
 	/**
-	 * 解析 Item
+	 * 瑙f瀽 Item
 	 * @param item
 	 * @param str
 	 * @return
 	 */
 	private ParseResult parse(Option option, String str) {
 		
-		//习题选项
+		//涔犻閫夐」
 		Matcher optNoWithBracketsMatch = optNoWithBrackets.matcher(str);
 		
-		//尝试调用上级解析器继续解析
+		//灏濊瘯璋冪敤涓婄骇瑙f瀽鍣ㄧ户缁В鏋�
 		if(!matchBegin(optNoWithBracketsMatch)){
 			return new ParseResult(false,ParseResult.STEP_PRE,null);
 		}
@@ -75,7 +75,7 @@
 			preOpt = opt;
 			start = optNoWithBracketsMatch.end();
 			
-			// 在最开始匹配成功即跳出循环
+			// 鍦ㄦ渶寮�濮嬪尮閰嶆垚鍔熷嵆璺冲嚭寰幆
 			//break ;
 		}
 		
@@ -86,12 +86,12 @@
 	}
 	
 	/**
-	 * 去除文本中多余字符
+	 * 鍘婚櫎鏂囨湰涓浣欏瓧绗�
 	 * @param content
 	 * @return
 	 */
 	private String beautyContent(String str){
-		String prefix = ".。~、、..)";
+		String prefix = ".銆倊銆併�侊紟锛�)";
 		String content = str;
 		while(content.length()>0 && prefix.contains(content.substring(0, 1))){
 			content = content.substring(1);
@@ -100,7 +100,7 @@
 	}
 	
 	/**
-	 * 获取题目选项
+	 * 鑾峰彇棰樼洰閫夐」
 	 * @param no
 	 * @param item
 	 * @return
diff --git a/src/main/java/com/qxueyou/scc/exercise/timer/ExerciseTimer.java b/src/main/java/com/qxueyou/scc/exercise/timer/ExerciseTimer.java
index b9a7815..e66dfe4 100644
--- a/src/main/java/com/qxueyou/scc/exercise/timer/ExerciseTimer.java
+++ b/src/main/java/com/qxueyou/scc/exercise/timer/ExerciseTimer.java
@@ -4,20 +4,20 @@
 import com.qxueyou.scc.exercise.service.IExerciseExtendService;
 
 /**
- * 练习定时器
+ * 缁冧範瀹氭椂鍣�
  * @author zhiyong
  *
  */
 public class ExerciseTimer {
 	
 	/**
-	 * 练习错题本错误率统计
+	 * 缁冧範閿欓鏈敊璇巼缁熻
 	 */
 	public void exerciseFaultStatisTask() {
 		
 		IExerciseExtendService exerciseExtendService = SpringUtil.getBean("exerciseExtendService", IExerciseExtendService.class);
 	
-		// 开始计算结果
+		// 寮�濮嬭绠楃粨鏋�
 		exerciseExtendService.doCalcExerFaultStatisticsByDay();
 	}
 	
diff --git a/src/main/java/com/qxueyou/scc/exercise/util/ExerciseUtils.java b/src/main/java/com/qxueyou/scc/exercise/util/ExerciseUtils.java
index bfbc6f2..46ffef6 100644
--- a/src/main/java/com/qxueyou/scc/exercise/util/ExerciseUtils.java
+++ b/src/main/java/com/qxueyou/scc/exercise/util/ExerciseUtils.java
@@ -22,7 +22,7 @@
 import com.qxueyou.scc.school.model.SchEvaluate;
 
 /**
- * 练习工具类
+ * 缁冧範宸ュ叿绫�
  * 
  * @author zhiyong
  *
@@ -30,7 +30,7 @@
 public class ExerciseUtils {
 
 	/**
-	 * 重新组装练习item
+	 * 閲嶆柊缁勮缁冧範item
 	 * 
 	 * @param lstItems
 	 * @return
@@ -38,16 +38,16 @@
 	public static void packageExerciseItem(List<ExerciseItem> lstItems, List<ExerciseItemAnswerU> lstUserAnswer,
 			List<ExerciseObjectImg> lstOptionImgs) {
 		for (ExerciseItem objExerciseItem : lstItems) {
-			// 选项
+			// 閫夐」
 			List<ExerciseItemOption> options = objExerciseItem.getOptions();
-			// 选项分数
+			// 閫夐」鍒嗘暟
 			List<ExerciseItemScore> scores = objExerciseItem.getScores();
 			ExerciseUtils.packOption(options, scores, lstOptionImgs);
 			if (lstUserAnswer == null || lstUserAnswer.isEmpty()) {
 				continue;
 			}
 			for (ExerciseItemAnswerU answerU : lstUserAnswer) {
-				// 获用户答案
+				// 鑾风敤鎴风瓟妗�
 				if (answerU.getExerciseItemId().equals(objExerciseItem.getExerciseId())) {
 					objExerciseItem.setAnswer(answerU.getAnswer());
 					break;
@@ -57,7 +57,7 @@
 	}
 
 	/**
-	 * 为选项组装分数和图片
+	 * 涓洪�夐」缁勮鍒嗘暟鍜屽浘鐗�
 	 * 
 	 * @return
 	 */
@@ -76,7 +76,7 @@
 					break;
 				}
 			}
-			// 图片
+			// 鍥剧墖
 			if (lstOptionImgs == null || lstOptionImgs.isEmpty()) {
 				continue;
 			}
@@ -94,7 +94,7 @@
 	}
 
 	/**
-	 * 组装问卷详细统计情况
+	 * 缁勮闂嵎璇︾粏缁熻鎯呭喌
 	 * 
 	 * @param lstItems
 	 * @param objSchEvaluate
@@ -105,22 +105,22 @@
 		double iTotalAverageScore = 0;
 		double iTotalScore = 0;
 		for (ExerciseItem objExerciseItem : lstItems) {
-			// 选项
+			// 閫夐」
 			List<ExerciseItemOption> options = objExerciseItem.getOptions();
-			// 选项分数
+			// 閫夐」鍒嗘暟
 			List<ExerciseItemScore> scores = objExerciseItem.getScores();
 
 			ExerciseUtils.packOption(options, scores, null);
 			List<ExerciseItemAnswerU> exerciseItemAnswerU = objExerciseItem.getExerciseItemAnswerU();
-			// 平均分数
+			// 骞冲潎鍒嗘暟
 			double dAverageScore = 0;
 			double dUserScore = 0;
-			// 是否存在答题学员
+			// 鏄惁瀛樺湪绛旈瀛﹀憳
 			boolean hasAnswerU = exerciseItemAnswerU != null && !exerciseItemAnswerU.isEmpty();
 			if (options == null || options.isEmpty()) {
 				continue;
 			}
-			// 统计每个选项的情况
+			// 缁熻姣忎釜閫夐」鐨勬儏鍐�
 			LinkedHashMap<String, Integer> mOptionsDetail = new LinkedHashMap<String, Integer>();
 			LinkedHashMap<String, Integer> mOptionOrderDetail = new LinkedHashMap<String, Integer>();
 			if (!hasAnswerU) {
@@ -128,7 +128,7 @@
 			}
 			for (ExerciseItemAnswerU objExerciseItemAnswerU : exerciseItemAnswerU) {
 				String strAnswer = objExerciseItemAnswerU.getAnswer();
-				if (StringUtils.isEmpty(strAnswer)) {// 为空自动跳出循环
+				if (StringUtils.isEmpty(strAnswer)) {// 涓虹┖鑷姩璺冲嚭寰幆
 					break;
 				}
 				Map<String, Object> mResult2 = packageItemOption(objExerciseItem, strAnswer, mOptionsDetail, mOptionOrderDetail);
@@ -136,11 +136,11 @@
 				objExerciseItem.setMaxScore((Double) mResult2.get("dMaxScore"));
 				dUserScore += (Double) mResult2.get("dUserScore");
 			}
-			// 计算平均值
+			// 璁$畻骞冲潎鍊�
 			if (hasAnswerU) {
 				dAverageScore = dUserScore / exerciseItemAnswerU.size();
 			}
-			// 最大值
+			// 鏈�澶у��
 			iTotalScore += objExerciseItem.getMaxScore();
 			objExerciseItem.setOptionsDetail(mOptionsDetail);
 			if(!mOptionOrderDetail.isEmpty()) {
@@ -162,7 +162,7 @@
 	}
 
 	/**
-	 * 组装问卷详细统计情况
+	 * 缁勮闂嵎璇︾粏缁熻鎯呭喌
 	 * 
 	 * @param lstItems
 	 * @param objSchEvaluate
@@ -178,22 +178,22 @@
 		for (ExerciseItem objExerciseItem : result) {
 			lstItems.add(objExerciseItem);
 			List<ExerciseItemAnswerU> lstExerciseItemAnswerU = objExerciseItem.getExerciseItemAnswerU();
-			// 选项
+			// 閫夐」
 			List<ExerciseItemOption> options = objExerciseItem.getOptions();
-			// 选项分数
+			// 閫夐」鍒嗘暟
 			List<ExerciseItemScore> scores = objExerciseItem.getScores();
-			// 组装选项和分数
+			// 缁勮閫夐」鍜屽垎鏁�
 			ExerciseUtils.packOption(options, scores, lstExerciseObjectImg);
 			if (lstExerciseItemAnswerU == null || lstExerciseItemAnswerU.isEmpty()) {
 				continue;
 			}
-			// 用户答案
+			// 鐢ㄦ埛绛旀
 			String strAnswer = lstExerciseItemAnswerU.get(0).getAnswer();
-			if (StringUtils.isEmpty(strAnswer)) {// 为空自动跳出循环
+			if (StringUtils.isEmpty(strAnswer)) {// 涓虹┖鑷姩璺冲嚭寰幆
 				break;
 			}
 			strCreator = lstExerciseItemAnswerU.get(0).getCreator();
-			if (objExerciseItem.getType() == ExerciseItem.TYPE_ESSAY_QUESTION) {// 问答题
+			if (objExerciseItem.getType() == ExerciseItem.TYPE_ESSAY_QUESTION) {// 闂瓟棰�
 				objExerciseItem.setAnswer(strAnswer);
 			} else {
 				if (options == null || options.isEmpty()) {
@@ -217,48 +217,48 @@
 	}
 
 	/**
-	 * 判断题目类型
+	 * 鍒ゆ柇棰樼洰绫诲瀷
 	 * 
 	 * @param objExerciseItem
-	 *            题目
+	 *            棰樼洰
 	 * @param strAnswer
-	 *            用户选择答案
+	 *            鐢ㄦ埛閫夋嫨绛旀
 	 * @param mOptionsDetail
-	 *            统计值
+	 *            缁熻鍊�
 	 * @return
 	 */
 	public static Map<String, Object> packageItemOption(ExerciseItem objExerciseItem, String strAnswer,
 			LinkedHashMap<String, Integer> mOptionsDetail, LinkedHashMap<String, Integer> mOptionOrderDetail) {
 		Map<String, Object> mResult = new HashMap<String, Object>();
-		// 选项
+		// 閫夐」
 		List<ExerciseItemOption> options = objExerciseItem.getOptions();
 		double dMaxScore = 0;
 		double dUserScore = 0;
 		String[] c = "A B C D E F G H I J K L M N".split(" ");
-		// 题目类型
+		// 棰樼洰绫诲瀷
 		int iType = objExerciseItem.getType();
 		int index = 0;
 		StringBuffer userAnswerContent = new StringBuffer(256);
 		for (ExerciseItemOption objExerciseItemOption : options) {
 			double dScore = Double.valueOf(objExerciseItemOption.getScore());
-			// 获取最大值
+			// 鑾峰彇鏈�澶у��
 			dMaxScore = iType == 2 ? dMaxScore + dScore : dScore > dMaxScore ? dScore : dMaxScore;
 			if (iType == ExerciseItem.TYPE_SINGLE_SELECT
-					&& strAnswer.substring(0, 1).equals(objExerciseItemOption.getOptionOrder())) {// 单选A或B或C或D_补充xxxxxx
+					&& strAnswer.substring(0, 1).equals(objExerciseItemOption.getOptionOrder())) {// 鍗曢�堿鎴朆鎴朇鎴朌_琛ュ厖xxxxxx
 				dUserScore += dScore;
 				userAnswerContent.append(strAnswer.length() > 2
-						? objExerciseItemOption.getContent() + strAnswer.substring(1, strAnswer.length()) : // 拼接补充内容
+						? objExerciseItemOption.getContent() + strAnswer.substring(1, strAnswer.length()) : // 鎷兼帴琛ュ厖鍐呭
 						objExerciseItemOption.getContent());
 				mOptionsDetail.put(ExerciseUtils.getOptionsContent(objExerciseItemOption),
 						ExerciseUtils.getValue(ExerciseUtils.getOptionsContent(objExerciseItemOption), mOptionsDetail));
 				mOptionOrderDetail.put(objExerciseItemOption.getOptionOrder(),mOptionsDetail.get(ExerciseUtils.getOptionsContent(objExerciseItemOption)));
-			} else if (iType == ExerciseItem.TYPE_MULTI_SELECT) {// 多选A,B,C,D_补充xxxxxx
+			} else if (iType == ExerciseItem.TYPE_MULTI_SELECT) {// 澶氶�堿,B,C,D_琛ュ厖xxxxxx
 				String[] arrAnswer = strAnswer.split("_");
 				String[] strAnswerOrder = arrAnswer[0].split(",");
 				for (int i = 0; i < strAnswerOrder.length; i++) {
 					if (strAnswerOrder[i].equals(objExerciseItemOption.getOptionOrder())) {
 						dUserScore += dScore;
-						// 拼接补充的内容
+						// 鎷兼帴琛ュ厖鐨勫唴瀹�
 						if (index == options.size() - 1) {
 							userAnswerContent.append(objExerciseItemOption.getContent());
 							userAnswerContent.append(arrAnswer.length > 1 && arrAnswer[1].length() > 2
@@ -272,18 +272,18 @@
 					}
 				}
 			} else if (iType == ExerciseItem.TYPE_SCORE
-					&& c[Integer.valueOf(strAnswer) - 1].equals(objExerciseItemOption.getOptionOrder())) {// 分值,1,2,3,4,5颗星
+					&& c[Integer.valueOf(strAnswer) - 1].equals(objExerciseItemOption.getOptionOrder())) {// 鍒嗗�硷紝1锛�2锛�3锛�4锛�5棰楁槦
 				dUserScore += dScore;
-				userAnswerContent.append(ExerciseUtils.getOptionsContent(objExerciseItemOption));// 给答案文字赋值
+				userAnswerContent.append(ExerciseUtils.getOptionsContent(objExerciseItemOption));// 缁欑瓟妗堟枃瀛楄祴鍊�
 				mOptionsDetail.put(ExerciseUtils.getOptionsContent(objExerciseItemOption),
 						ExerciseUtils.getValue(ExerciseUtils.getOptionsContent(objExerciseItemOption), mOptionsDetail));
 				mOptionOrderDetail.put(objExerciseItemOption.getOptionOrder(),mOptionsDetail.get(ExerciseUtils.getOptionsContent(objExerciseItemOption)));
-			} else if (iType == ExerciseItem.TYPE_MEASUREMENT && index == 0) {// 量值,直接存分数
+			} else if (iType == ExerciseItem.TYPE_MEASUREMENT && index == 0) {// 閲忓�硷紝鐩存帴瀛樺垎鏁�
 				dUserScore += Integer.valueOf(strAnswer);
-				userAnswerContent.append(strAnswer).append("分");
-				mOptionsDetail.put(strAnswer + "分",
-						mOptionsDetail.get(strAnswer + "分") == null ? 1 : mOptionsDetail.get(strAnswer + "分") + 1);
-				mOptionOrderDetail.put(strAnswer,mOptionsDetail.get(strAnswer + "分"));
+				userAnswerContent.append(strAnswer).append("鍒�");
+				mOptionsDetail.put(strAnswer + "鍒�",
+						mOptionsDetail.get(strAnswer + "鍒�") == null ? 1 : mOptionsDetail.get(strAnswer + "鍒�") + 1);
+				mOptionOrderDetail.put(strAnswer,mOptionsDetail.get(strAnswer + "鍒�"));
 			}
 			index++;
 		}
@@ -294,7 +294,7 @@
 	}
 
 	/**
-	 * 获取值
+	 * 鑾峰彇鍊�
 	 * 
 	 * @param content
 	 * @param mOptionsDetail
@@ -306,18 +306,18 @@
 	}
 
 	/**
-	 * 获取选项的值和分数
+	 * 鑾峰彇閫夐」鐨勫�煎拰鍒嗘暟
 	 * 
 	 * @param objExerciseItemOption
 	 * @return
 	 */
 	public static String getOptionsContent(ExerciseItemOption objExerciseItemOption) {
 		return objExerciseItemOption.getContent().concat("(").concat(String.valueOf(objExerciseItemOption.getScore()))
-				.concat("分)");
+				.concat("鍒�)");
 	}
 
 	/**
-	 * 重新组装练习item
+	 * 閲嶆柊缁勮缁冧範item
 	 * 
 	 * @param lstAllOptions
 	 * @return
@@ -325,12 +325,12 @@
 	public static void packageExerciseItem(Map<String, List<ExerciseItemOption>> optionsMap,
 			Map<String, String> answerMap, List<ExerciseItemOption> lstAllOptions,
 			Map<String, List<ExerciseObjectImg>> imgOptionMap) {
-		// 上一次练习id
+		// 涓婁竴娆$粌涔爄d
 		String lastExerciseId = "";
 		ExerciseItemOption option = null;
 		List<ExerciseItemOption> lstOptions = null;
-		StringBuffer correctAnswers = new StringBuffer(128); // 正确答案
-		// 4.3 题目选项
+		StringBuffer correctAnswers = new StringBuffer(128); // 姝g‘绛旀
+		// 4.3 棰樼洰閫夐」
 		for (int i = 0; i < lstAllOptions.size(); i++) {
 			option = lstAllOptions.get(i);
 
@@ -338,27 +338,27 @@
 				option.setImgs(imgOptionMap.get(option.getOptionId()));
 			}
 
-			if (i == 0) {// 第一次
+			if (i == 0) {// 绗竴娆�
 				lstOptions = new ArrayList<ExerciseItemOption>();
 				lstOptions.add(option);
 
-				if (option.getChecked()) {// 正确答案
+				if (option.getChecked()) {// 姝g‘绛旀
 					correctAnswers.append(option.getOptionOrder()).append(',');
 				}
-			} else {// 第二次开始
-				if (lastExerciseId.equals(option.getExerciseItemId())) {// 相同
+			} else {// 绗簩娆″紑濮�
+				if (lastExerciseId.equals(option.getExerciseItemId())) {// 鐩稿悓
 					lstOptions.add(option);
 
-					if (option.getChecked()) {// 正确答案
+					if (option.getChecked()) {// 姝g‘绛旀
 						correctAnswers.append(option.getOptionOrder()).append(',');
 					}
-				} else {// 不相同
-						// 添加到map
+				} else {// 涓嶇浉鍚�
+						// 娣诲姞鍒癿ap
 					optionsMap.put(lastExerciseId, lstOptions);
 					answerMap.put(lastExerciseId, correctAnswers.toString());
 
 					correctAnswers = new StringBuffer(128);
-					if (option.getChecked()) {// 正确答案
+					if (option.getChecked()) {// 姝g‘绛旀
 						correctAnswers.append(option.getOptionOrder()).append(',');
 					}
 					lstOptions = new ArrayList<ExerciseItemOption>();
@@ -366,40 +366,40 @@
 				}
 			}
 
-			if (i == lstAllOptions.size() - 1) {// 最后一次
+			if (i == lstAllOptions.size() - 1) {// 鏈�鍚庝竴娆�
 				answerMap.put(option.getExerciseItemId(), correctAnswers.toString());
 				optionsMap.put(option.getExerciseItemId(), lstOptions);
 			}
 
-			// 上一次练习id
+			// 涓婁竴娆$粌涔爄d
 			lastExerciseId = option.getExerciseItemId();
 		}
 	}
 
 	/**
-	 * 重新组装练习item 题目图片
+	 * 閲嶆柊缁勮缁冧範item 棰樼洰鍥剧墖
 	 * 
 	 * @param lstAllOptions
 	 * @return
 	 */
 	public static Map<String, List<ExerciseObjectImg>> packageExerciseItemImg(List<ExerciseObjectImg> lstImgs) {
 		Map<String, List<ExerciseObjectImg>> imgMap = new HashMap<String, List<ExerciseObjectImg>>();
-		// 上一次练习id
+		// 涓婁竴娆$粌涔爄d
 		String lastExerciseId = "";
 		ExerciseObjectImg objImg = null;
 		List<ExerciseObjectImg> lstImg = null;
-		// 4.3 题目选项
+		// 4.3 棰樼洰閫夐」
 		for (int i = 0; i < lstImgs.size(); i++) {
 			objImg = lstImgs.get(i);
 
-			if (i == 0) {// 第一次
+			if (i == 0) {// 绗竴娆�
 				lstImg = new ArrayList<ExerciseObjectImg>();
 				lstImg.add(objImg);
-			} else {// 第二次开始
-				if (lastExerciseId.equals(objImg.getExerciseObjectId())) {// 相同
+			} else {// 绗簩娆″紑濮�
+				if (lastExerciseId.equals(objImg.getExerciseObjectId())) {// 鐩稿悓
 					lstImg.add(objImg);
-				} else {// 不相同
-						// 添加到map
+				} else {// 涓嶇浉鍚�
+						// 娣诲姞鍒癿ap
 					imgMap.put(lastExerciseId, lstImg);
 
 					lstImg = new ArrayList<ExerciseObjectImg>();
@@ -407,11 +407,11 @@
 				}
 			}
 
-			if (i == lstImgs.size() - 1) {// 最后一次
+			if (i == lstImgs.size() - 1) {// 鏈�鍚庝竴娆�
 				imgMap.put(objImg.getExerciseObjectId(), lstImg);
 			}
 
-			// 上一次练习id
+			// 涓婁竴娆$粌涔爄d
 			lastExerciseId = objImg.getExerciseObjectId();
 		}
 
@@ -419,29 +419,29 @@
 	}
 
 	/**
-	 * 重新组装练习item
+	 * 閲嶆柊缁勮缁冧範item
 	 * 
 	 * @param lstAllOptions
 	 * @return
 	 */
 	public static void packageExerciseItemScore(Map<String, List<ExerciseItemScore>> scoreMap,
 			List<ExerciseItemScore> lstAllscores) {
-		// 上一次练习id
+		// 涓婁竴娆$粌涔爄d
 		String lastExerciseId = "";
 		ExerciseItemScore score = null;
 		List<ExerciseItemScore> lstscore = null;
-		// 4.3 题目选项
+		// 4.3 棰樼洰閫夐」
 		for (int i = 0; i < lstAllscores.size(); i++) {
 			score = lstAllscores.get(i);
 
-			if (i == 0) {// 第一次
+			if (i == 0) {// 绗竴娆�
 				lstscore = new ArrayList<ExerciseItemScore>();
 				lstscore.add(score);
-			} else {// 第二次开始
-				if (lastExerciseId.equals(score.getExerciseItemId())) {// 相同
+			} else {// 绗簩娆″紑濮�
+				if (lastExerciseId.equals(score.getExerciseItemId())) {// 鐩稿悓
 					lstscore.add(score);
-				} else {// 不相同
-						// 添加到map
+				} else {// 涓嶇浉鍚�
+						// 娣诲姞鍒癿ap
 					scoreMap.put(lastExerciseId, lstscore);
 
 					lstscore = new ArrayList<ExerciseItemScore>();
@@ -449,40 +449,40 @@
 				}
 			}
 
-			if (i == lstAllscores.size() - 1) {// 最后一次
+			if (i == lstAllscores.size() - 1) {// 鏈�鍚庝竴娆�
 				scoreMap.put(score.getExerciseItemId(), lstscore);
 			}
 
-			// 上一次练习id
+			// 涓婁竴娆$粌涔爄d
 			lastExerciseId = score.getExerciseItemId();
 		}
 	}
 
 	/**
-	 * 重新组装做题记录 ExerciseItemAnswer —— 成绩统计
+	 * 閲嶆柊缁勮鍋氶璁板綍 ExerciseItemAnswer 鈥斺�� 鎴愮哗缁熻
 	 * 
 	 * @param lstAllOptions
 	 * @return
 	 */
 	public static void packageExerciseItemAnswerStatis(List<ExerciseItemAnswerU> answers,
 			Map<String, Object> answerUMap) {
-		// 上一次练习id
+		// 涓婁竴娆$粌涔爄d
 		String lastExerciseId = "";
 		ExerciseItemAnswerU answer = null;
 		List<ExerciseItemAnswerU> lstAnswers = null;
-		// 做题记录
+		// 鍋氶璁板綍
 		for (int i = 0; i < answers.size(); i++) {
 			answer = answers.get(i);
 
-			if (i == 0) {// 第一次
+			if (i == 0) {// 绗竴娆�
 				lstAnswers = new ArrayList<ExerciseItemAnswerU>();
 				lstAnswers.add(answer);
-			} else {// 第二次开始
-				if (lastExerciseId.equals(answer.getExerciseItemId())) {// 相同
+			} else {// 绗簩娆″紑濮�
+				if (lastExerciseId.equals(answer.getExerciseItemId())) {// 鐩稿悓
 					lstAnswers.add(answer);
 
-				} else {// 不相同
-						// 添加到map
+				} else {// 涓嶇浉鍚�
+						// 娣诲姞鍒癿ap
 					answerUMap.put(lastExerciseId, lstAnswers);
 
 					lstAnswers = new ArrayList<ExerciseItemAnswerU>();
@@ -490,40 +490,40 @@
 				}
 			}
 
-			if (i == answers.size() - 1) {// 最后一次
+			if (i == answers.size() - 1) {// 鏈�鍚庝竴娆�
 				answerUMap.put(answer.getExerciseItemId(), lstAnswers);
 			}
 
-			// 上一次练习id
+			// 涓婁竴娆$粌涔爄d
 			lastExerciseId = answer.getExerciseItemId();
 		}
 	}
 
 	/**
-	 * 重新组装题目选项ExerciseItemOption —— 成绩统计
+	 * 閲嶆柊缁勮棰樼洰閫夐」ExerciseItemOption 鈥斺�� 鎴愮哗缁熻
 	 * 
 	 * @param lstAllOptions
 	 * @return
 	 */
 	public static void packageExerciseItemOption(List<ExerciseItemOption> itemOptionLst,
 			Map<String, Object> itemOptionMap) {
-		// 上一次练习id
+		// 涓婁竴娆$粌涔爄d
 		String lastExerciseId = "";
 		ExerciseItemOption option = null;
 		List<ExerciseItemOption> lstOptions = null;
-		// 题目选项
+		// 棰樼洰閫夐」
 		for (int i = 0; i < itemOptionLst.size(); i++) {
 			option = itemOptionLst.get(i);
 
-			if (i == 0) {// 第一次
+			if (i == 0) {// 绗竴娆�
 				lstOptions = new ArrayList<ExerciseItemOption>();
 				lstOptions.add(option);
-			} else {// 第二次开始
-				if (lastExerciseId.equals(option.getExerciseItemId())) {// 相同
+			} else {// 绗簩娆″紑濮�
+				if (lastExerciseId.equals(option.getExerciseItemId())) {// 鐩稿悓
 					lstOptions.add(option);
 
-				} else {// 不相同
-						// 添加到map
+				} else {// 涓嶇浉鍚�
+						// 娣诲姞鍒癿ap
 					itemOptionMap.put(lastExerciseId, lstOptions);
 
 					lstOptions = new ArrayList<ExerciseItemOption>();
@@ -531,40 +531,40 @@
 				}
 			}
 
-			if (i == itemOptionLst.size() - 1) {// 最后一次
+			if (i == itemOptionLst.size() - 1) {// 鏈�鍚庝竴娆�
 				itemOptionMap.put(option.getExerciseItemId(), lstOptions);
 			}
 
-			// 上一次练习id
+			// 涓婁竴娆$粌涔爄d
 			lastExerciseId = option.getExerciseItemId();
 		}
 	}
 
 	/**
-	 * 重新组装题目选项统计ExerciseOptionStatistics —— 成绩统计
+	 * 閲嶆柊缁勮棰樼洰閫夐」缁熻ExerciseOptionStatistics 鈥斺�� 鎴愮哗缁熻
 	 * 
 	 * @param lstAllOptions
 	 * @return
 	 */
 	public static void packageExerciseOptionStatis(List<ExerciseOptionStatistics> claOptionStatisLst,
 			Map<String, Object> optionStatisMap) {
-		// 上一次练习id
+		// 涓婁竴娆$粌涔爄d
 		String lastExerciseId = "";
 		ExerciseOptionStatistics optionSta = null;
 		List<ExerciseOptionStatistics> lstOptionStas = null;
-		// 题目选项
+		// 棰樼洰閫夐」
 		for (int i = 0; i < claOptionStatisLst.size(); i++) {
 			optionSta = claOptionStatisLst.get(i);
 
-			if (i == 0) {// 第一次
+			if (i == 0) {// 绗竴娆�
 				lstOptionStas = new ArrayList<ExerciseOptionStatistics>();
 				lstOptionStas.add(optionSta);
-			} else {// 第二次开始
-				if (lastExerciseId.equals(optionSta.getExerciseItemId())) {// 相同
+			} else {// 绗簩娆″紑濮�
+				if (lastExerciseId.equals(optionSta.getExerciseItemId())) {// 鐩稿悓
 					lstOptionStas.add(optionSta);
 
-				} else {// 不相同
-						// 添加到map
+				} else {// 涓嶇浉鍚�
+						// 娣诲姞鍒癿ap
 					optionStatisMap.put(lastExerciseId, lstOptionStas);
 
 					lstOptionStas = new ArrayList<ExerciseOptionStatistics>();
@@ -572,17 +572,17 @@
 				}
 			}
 
-			if (i == claOptionStatisLst.size() - 1) {// 最后一次
+			if (i == claOptionStatisLst.size() - 1) {// 鏈�鍚庝竴娆�
 				optionStatisMap.put(optionSta.getExerciseItemId(), lstOptionStas);
 			}
 
-			// 上一次练习id
+			// 涓婁竴娆$粌涔爄d
 			lastExerciseId = optionSta.getExerciseItemId();
 		}
 	}
 
 	/**
-	 * 获取转换结果
+	 * 鑾峰彇杞崲缁撴灉
 	 * 
 	 * @param count
 	 * @param allCount
@@ -595,7 +595,7 @@
 	}
 
 	/**
-	 * 获取转换结果
+	 * 鑾峰彇杞崲缁撴灉
 	 * 
 	 * @param count
 	 * @param allCount
@@ -608,7 +608,7 @@
 	}
 
 	/**
-	 * 设置新增轨迹信息
+	 * 璁剧疆鏂板杞ㄨ抗淇℃伅
 	 * 
 	 * @param trace
 	 */
@@ -623,7 +623,7 @@
 	}
 
 	/**
-	 * 设置更新轨迹信息
+	 * 璁剧疆鏇存柊杞ㄨ抗淇℃伅
 	 * 
 	 * @param trace
 	 */
@@ -636,7 +636,7 @@
 	}
 
 	/**
-	 * 转换为BigDecimal
+	 * 杞崲涓築igDecimal
 	 * 
 	 * @param str1
 	 * @param str2
diff --git a/src/main/java/com/qxueyou/scc/media/dao/MediaVideoDAO.java b/src/main/java/com/qxueyou/scc/media/dao/MediaVideoDAO.java
index bd5284f..f0606b3 100644
--- a/src/main/java/com/qxueyou/scc/media/dao/MediaVideoDAO.java
+++ b/src/main/java/com/qxueyou/scc/media/dao/MediaVideoDAO.java
@@ -1,8 +1,8 @@
 /******************************************************************************
  * Copyright (C) 2015 Shenzhen Penguin Network Technology Co., Ltd
  * All Rights Reserved.
- * 本软件为深圳市企鹅网络科技有限公司开发研制。未经本公司正式书面同意,其他任何个人、团体
- * 不得使用、复制、修改或发布本软件.
+ * 鏈蒋浠朵负娣卞湷甯備紒楣呯綉缁滅鎶�鏈夐檺鍏徃寮�鍙戠爺鍒躲�傛湭缁忔湰鍏徃姝e紡涔﹂潰鍚屾剰锛屽叾浠栦换浣曚釜浜恒�佸洟浣�
+ * 涓嶅緱浣跨敤銆佸鍒躲�佷慨鏀规垨鍙戝竷鏈蒋浠�.
  *****************************************************************************/
 
 package com.qxueyou.scc.media.dao;
@@ -42,7 +42,7 @@
 	private Logger log = LogManager.getLogger(MediaVideoDAO.class);
 	
 	/**
-	 *查询错题 收藏对应的练习记录
+	 *鏌ヨ閿欓 鏀惰棌瀵瑰簲鐨勭粌涔犺褰�
 	 * @return
 	 * @throws ParseException 
 	 */
@@ -82,14 +82,14 @@
 	        	lstViewVOs.add(viewVO);
 	        }
 		} catch (Exception e) {
-			log.error("APP视频列表出错:", e);
+			log.error("APP瑙嗛鍒楄〃鍑洪敊锛�", e);
 		}
         
         return lstViewVOs;
 	}
 	
 	/**
-	 * 组装查询转码记录
+	 * 缁勮鏌ヨ杞爜璁板綍
 	 * @return
 	 */
 	@SuppressWarnings("unchecked")
@@ -110,7 +110,7 @@
 	}
 	
 	/**
-	 * 组装查询转码记录
+	 * 缁勮鏌ヨ杞爜璁板綍
 	 * @return
 	 */
 	@SuppressWarnings("unchecked")
@@ -131,7 +131,7 @@
 	}
 	
 	/**
-	 * 组装查询转码记录
+	 * 缁勮鏌ヨ杞爜璁板綍
 	 * @return
 	 */
 	@SuppressWarnings("unchecked")
@@ -148,7 +148,7 @@
 	}
 	
 	/**
-	 * 组装查询转码记录
+	 * 缁勮鏌ヨ杞爜璁板綍
 	 * @return
 	 */
 	@SuppressWarnings("unchecked")
@@ -166,9 +166,9 @@
 	}
 	
 	/**
-	 * 新增视频观看次数
+	 * 鏂板瑙嗛瑙傜湅娆℃暟
 	 * @param videoId
-	 * @return true 新增成功 false 新增失败
+	 * @return true 鏂板鎴愬姛 false 鏂板澶辫触
 	 */
 	public boolean addPlayTimes(final String videoId){
 		
diff --git a/src/main/java/com/qxueyou/scc/media/model/MediaVideo.java b/src/main/java/com/qxueyou/scc/media/model/MediaVideo.java
index 82b7964..8d6d24b 100644
--- a/src/main/java/com/qxueyou/scc/media/model/MediaVideo.java
+++ b/src/main/java/com/qxueyou/scc/media/model/MediaVideo.java
@@ -19,7 +19,7 @@
 
 
 /**
- * 视频表  实体
+ * 瑙嗛琛�  瀹炰綋
  * @author ody.yuan
  *
  */
@@ -27,225 +27,225 @@
 @Table(name="MEDIA_VIDEO")
 @NamedQuery(name="MediaVideo.findAll", query="SELECT m FROM MediaVideo m")
 public class MediaVideo implements Serializable, ITrace {
-	
+
 	private static final long serialVersionUID = -1143123781656219900L;
-	
+
 	public static final String  MEDIA_VIDEO="video";
 	public static final String  MEDIA_AUDIO="audio";
-	
-	/**  主键 */
+
+	/**  涓婚敭 */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="VIDEO_ID", unique=true, nullable=false, length=32)
 	private String videoId;
-	
-	/**  创建者ID */
+
+	/**  鍒涘缓鑰匢D */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	private String createId;
-	
-	/**  创建时间 */
+
+	/**  鍒涘缓鏃堕棿 */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date createTime;
-	
-	/**  创建人 */
+
+	/**  鍒涘缓浜� */
 	@Column(name="CREATOR", nullable=false, length=100)
 	private String creator;
-	
-	/**  删除标志 */
+
+	/**  鍒犻櫎鏍囧織 */
 	@Column(name="DELETE_FLAG", nullable=false)
 	private boolean deleteFlag;
-	
-	/**  修改人ID */
+
+	/**  淇敼浜篒D */
 	@Column(name="UPDATE_ID", length=32)
 	private String updateId;
-	
-	/**  修改时间 */
+
+	/**  淇敼鏃堕棿 */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date updateTime;
-	
-	/**  修改人 */
+
+	/**  淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	private String updator;
-	
-	/**  名称 */
+
+	/**  鍚嶇О */
 	@Column(name="NAME", length=128)
 	private String name;
-	
-	/**  状态 */
+
+	/**  鐘舵�� */
 	@Column(name="STATUS")
 	private short status;
-	
+
 	/*
-	 * 草稿
+	 * 鑽夌
 	 */
 	public static final short STATUS_DRAFT = 0;
-	
+
 	/*
-	 * 转码中
+	 * 杞爜涓�
 	 */
 	public static final short STATUS_TRANSFORMING = 1;
-	
+
 	/*
-	 * 已发布
+	 * 宸插彂甯�
 	 */
 	public static final short STATUS_PUBLISHED = 2;
-	
+
 	/*
-	 * 已下架
+	 * 宸蹭笅鏋�
 	 */
 	public static final short STATUS_TAKEOFF = 3;
-	
+
 	/*
-	 * 转码失败
+	 * 杞爜澶辫触
 	 */
 	public static final short STATUS_TRANSFAILED = 4;
-	
+
 	/*
-	 * 排队中
+	 * 鎺掗槦涓�
 	 */
 	public static final short STATUS_LINEUP = 5;
-	
+
 	/**  url */
 	@Column(name="URL", length=2048)
 	private String url;
-	
-	/**  原始url */
+
+	/**  鍘熷url */
 	@Column(name="ORIG_URL", length=2048)
 	private String origUrl;
-	
-	/**  视频托管供应商 */
+
+	/**  瑙嗛鎵樼渚涘簲鍟� */
 	@Column(name="VIDEO_VENDER", length=50)
 	private String videoVender;
-	
-	/**  视频在托管商的唯一编码 */
+
+	/**  瑙嗛鍦ㄦ墭绠″晢鐨勫敮涓�缂栫爜 */
 	@Column(name="VIDEO_CODE", length=128)
 	private String videoCode;
-	
-	/**  视频提交人ID */
+
+	/**  瑙嗛鎻愪氦浜篒D */
 	@Column(name="SUBMITOR_ID", nullable=false, length=32)
 	private String submitorId;
-	
-	/**  视频提交人 */
+
+	/**  瑙嗛鎻愪氦浜� */
 	@Column(name="SUBMITOR",  length=100)
 	private String submitor;
-	
-	/**  视频大小,单位KB */
+
+	/**  瑙嗛澶у皬,鍗曚綅KB */
 	@Column(name="SIZE")
 	private int size;
-	
-	/**  时长 */
+
+	/**  鏃堕暱 */
 	@Column(name="PLAY_TIME")
 	private int playTime;
-	
-	/**  原始宽度 */
+
+	/**  鍘熷瀹藉害 */
 	@Column(name="VIDEO_ORIG_WIDTH")
 	private int videoOrigWidth;
-	
-	/**  原始高度 */
+
+	/**  鍘熷楂樺害 */
 	@Column(name="VIDEO_ORIG_HEIGHT")
 	private int videoOrigHeight;
-	
-	/**  视频格式: AVI,MP4... */
+
+	/**  瑙嗛鏍煎紡: AVI,MP4... */
 	@Column(name="FORMAT",length=32)
 	private String format;
-	
-	/**  封面图片URL  */
+
+	/**  灏侀潰鍥剧墖URL  */
 	@Column(name="COVER_PAGE_URL",length=218)
 	private String coverPageUrl;
-	
-	/**  播放次数  */
+
+	/**  鎾斁娆℃暟  */
 	@Column(name="PLAY_TIMES")
 	private Integer playTimes;
-	
-	/**  备注详情 */
+
+	/**  澶囨敞璇︽儏 */
 	@Column(name="REMARK", length=16777215)
 	private String remark;
-	
-	/**  MP4 高清,安卓使用 */
+
+	/**  MP4 楂樻竻锛屽畨鍗撲娇鐢� */
 	@Column(name="ANDROID_HD")
 	private String androidHD;
-	
-	/**  MP4 标清,安卓使用 */
+
+	/**  MP4 鏍囨竻锛屽畨鍗撲娇鐢� */
 	@Column(name="ANDROID_SD")
 	private String androidSD;
-	
-	/**  MP4 流畅,安卓使用 */
+
+	/**  MP4 娴佺晠锛屽畨鍗撲娇鐢� */
 	@Column(name="ANDROID_LD")
 	private String androidLD;
-	
-	/**  M3U8 高清,IOS使用 */
+
+	/**  M3U8 楂樻竻锛孖OS浣跨敤 */
 	@Column(name="IOS_HD")
 	private String iosHD;
-	
-	/**  M3U8 标清,IOS使用 */
+
+	/**  M3U8 鏍囨竻锛孖OS浣跨敤 */
 	@Column(name="IOS_SD")
 	private String iosSD;
-	
-	/**  M3U8 流畅,IOS使用 */
+
+	/**  M3U8 娴佺晠锛孖OS浣跨敤 */
 	@Column(name="IOS_LD")
 	private String iosLD;
-	
-	/**  班级ID  */
+
+	/**  鐝骇ID  */
 	@Column(name="CLASS_ID", length=32)
 	private String classId;
-	
-	/**  讲师  */
+
+	/**  璁插笀  */
 	@Column(name="TEACHER_NAME", length=32)
 	private String teacherName;
-	
-	/**  视频原始ID  */
+
+	/**  瑙嗛鍘熷ID  */
 	@Column(name="ORIGIN_VIDEO_ID", length=32)
 	private String originVideoId;
-	
-	/**  资源ID 高清  */
+
+	/**  璧勬簮ID 楂樻竻  */
 	@Column(name="OBJECT_HD")
 	private String objectHd;
-	
-	/**  资源ID 标清  */
+
+	/**  璧勬簮ID 鏍囨竻  */
 	@Column(name="OBJECT_SD")
 	private String objectSd;
-	
-	/**  资源ID 流畅  */
+
+	/**  璧勬簮ID 娴佺晠  */
 	@Column(name="OBJECT_LD")
 	private String objectLd;
-	
-	/**  课程ID */
+
+	/**  璇剧▼ID */
 	@Column(name="SUBJECT_ID", length=32)
 	private String subjectId;
-	
-	/**  科目ID */
+
+	/**  绉戠洰ID */
 	@Column(name="COLLEGE_COURSE_ID", length=32)
 	private String collegeCourseId;
-	
-	/**  课程名称 */
+
+	/**  璇剧▼鍚嶇О */
 	@Column(name="SUBJECT_NAME", length=150)
 	private String subjectName;
-	
-	/** 视频管理 视频管理  班主任排序字段 */
+
+	/** 瑙嗛绠$悊 瑙嗛绠$悊  鐝富浠绘帓搴忓瓧娈� */
 	@Column(name="VIDEO_ORDER")
 	private Integer videoOrder;
-	
-	/**  有效期开始日期*/
+
+	/**  鏈夋晥鏈熷紑濮嬫棩鏈�*/
 	@Column(name="START_TIME")
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
 	private Date startTime;
-	
-	/**  有效期结束日期 */
+
+	/**  鏈夋晥鏈熺粨鏉熸棩鏈� */
 	@Column(name="END_TIME")
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
 	private Date endTime;
-	
-	/**  有效期 */
+
+	/**  鏈夋晥鏈� */
 	@Column(name="VALIDITY", length=32)
 	private String validity;
-	
-	/** 密钥 */
+
+	/** 瀵嗛挜 */
 	@Column(name="SECRET_KEY")
 	private String secretKey;
-	
+
 	/** md5 */
 	@Column(name="md5")
 	private String md5;
@@ -261,36 +261,36 @@
 	/** md5 */
 	@Column(name="mp4_ld_md5")
 	private String mp4LdMd5;
-	
-	/**  M3U8解密文件key的OSS键 */
+
+	/**  M3U8瑙e瘑鏂囦欢key鐨凮SS閿� */
 	@Column(name="m3u8_key_path")
 	private String m3u8KeyPath;
 
 	@Column(name="CHAPTER_ID")
 	private String chapterId;
-	
+
 	@Transient
 	private String classScheduleId ;
-	
-	/*自定义名称*/
+
+	/*鑷畾涔夊悕绉�*/
 	@Transient
 	private String definedName;
-	
+
 	@Transient
 	private String classScheduleName ;
-	
-	//视频来源(直播)
+
+	//瑙嗛鏉ユ簮锛堢洿鎾級
 	@Transient
 	private String videoSource;
-	
 
-	//课件学分
+
+	//璇句欢瀛﹀垎
 	@Transient
 	private BigDecimal score;
-	
-	/**  类型:视频,音频 */
+
+	/**  绫诲瀷锛氳棰戯紝闊抽 */
 	private String type;
-	
+
 	public String getType() {
 		return type;
 	}
@@ -322,8 +322,8 @@
 	public void setVideoSource(String videoSource) {
 		this.videoSource = videoSource;
 	}
-	
-	
+
+
 	public String getChapterId() {
 		return chapterId;
 	}
@@ -331,7 +331,7 @@
 	public void setChapterId(String chapterId) {
 		this.chapterId = chapterId;
 	}
-	
+
 	public String getMd5() {
 		return md5;
 	}
@@ -516,25 +516,25 @@
 	public void setPlayTime(int playTime) {
 		this.playTime = playTime;
 	}
-	
+
 	public String getPlayTimeFormat() {
-		
+
 		int hours = playTime/3600;
-		
+
 		int minutes = (playTime%3600)/60;
-		
+
 		int seconds = playTime%60;
-		
+
 		StringBuffer sb = new StringBuffer();
-		
+
 		if(hours>0){
-			sb.append(String.valueOf(hours)).append('时');
+			sb.append(String.valueOf(hours)).append('鏃�');
 		}
 		if(minutes>0){
-			sb.append(String.valueOf(minutes)).append('分');
+			sb.append(String.valueOf(minutes)).append('鍒�');
 		}
-		sb.append(String.valueOf(seconds)).append('秒');
-		
+		sb.append(String.valueOf(seconds)).append('绉�');
+
 		return sb.toString();
 	}
 
@@ -666,7 +666,7 @@
 		this.objectLd = objectLd;
 	}
 
-	
+
 
 
 	public String getSubjectId() {
@@ -716,7 +716,7 @@
 	public void setValidity(String validity) {
 		this.validity = validity;
 	}
-	
+
 	public Date getStartTime() {
 		return startTime;
 	}
diff --git a/src/main/java/com/qxueyou/scc/media/model/MediaVideoCache.java b/src/main/java/com/qxueyou/scc/media/model/MediaVideoCache.java
index 57bd80b..ca94132 100644
--- a/src/main/java/com/qxueyou/scc/media/model/MediaVideoCache.java
+++ b/src/main/java/com/qxueyou/scc/media/model/MediaVideoCache.java
@@ -17,7 +17,7 @@
 
 
 /**
- * 视频-用户缓存表  实体
+ * 瑙嗛-鐢ㄦ埛缂撳瓨琛�  瀹炰綋
  * @author ody.yuan
  *
  */
@@ -31,93 +31,93 @@
 	 */
 	private static final long serialVersionUID = -2669435870254829526L;
 
-	/**  主键 */
+	/**  涓婚敭 */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="CACHE_ID", unique=true, nullable=false, length=32)
 	private String cacheId;
 	
-	/**  缓冲的视频ID */
+	/**  缂撳啿鐨勮棰慖D */
 	@Column(name="VIDEO_ID", length=32)
 	private String videoId;
 	
-	/**  缓冲视频用户ID */
+	/**  缂撳啿瑙嗛鐢ㄦ埛ID */
 	@Column(name="CACHED_USER_ID", nullable=false, length=32)
 	private String cachedUserId;
 	
-	/**  缓冲时长 */
+	/**  缂撳啿鏃堕暱 */
 	@Column(name="CACHED_TIME")
 	private int cachedTime;
 	
-	/**  缓冲完成时间 */
+	/**  缂撳啿瀹屾垚鏃堕棿 */
 	@Column(name="SUBMIT_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date submitTime;
 	
-	/**  缓冲成功标志 */
+	/**  缂撳啿鎴愬姛鏍囧織 */
 	@Column(name="CACHED_FLAG")
 	private boolean cachedFlag;
 	
-	/**  创建者ID */
+	/**  鍒涘缓鑰匢D */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	private String createId;
 	
-	/**  创建时间 */
+	/**  鍒涘缓鏃堕棿 */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date createTime;
 	
-	/**  创建人 */
+	/**  鍒涘缓浜� */
 	@Column(name="CREATOR", nullable=false, length=100)
 	private String creator;
 	
-	/**  删除标志 */
+	/**  鍒犻櫎鏍囧織 */
 	@Column(name="DELETE_FLAG", nullable=false)
 	private boolean deleteFlag;
 	
-	/**  修改人ID */
+	/**  淇敼浜篒D */
 	@Column(name="UPDATE_ID", length=32)
 	private String updateId;
 	
-	/**  修改时间 */
+	/**  淇敼鏃堕棿 */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date updateTime;
 	
-	/**  修改人 */
+	/**  淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	private String updator;
 	
-	/**  机构ID */
+	/**  鏈烘瀯ID */
 	@Column(name="ORG_ID",length=32)
 	private String orgId;
 	
-	/**  班级ID */
+	/**  鐝骇ID */
 	@Column(name="CLASS_ID",length=32)
 	private String classId;
 	
-	/**  网络 */
+	/**  缃戠粶 */
 	@Column(name="NETWORK",length=15)
 	private String network;
 	
-	/**  平台 */
+	/**  骞冲彴 */
 	@Column(name="PLATFORM",length=15)
 	private String platform;
 	
-	/**  版本 */
+	/**  鐗堟湰 */
 	@Column(name="VERSION",length=15)
 	private String version;
 	
-	/**  机型 */
+	/**  鏈哄瀷 */
 	@Column(name="model",length=15)
 	private String model;
 	
-	/**  app版本 */
+	/**  app鐗堟湰 */
 	@Column(name="APP_VERSION",length=15)
 	private String appVersion;
 	
-	/**  运营商 */
+	/**  杩愯惀鍟� */
 	@Column(name="OPERATOR",length=15)
 	private String operator;
 
diff --git a/src/main/java/com/qxueyou/scc/media/model/MediaVideoReCourse.java b/src/main/java/com/qxueyou/scc/media/model/MediaVideoReCourse.java
index a9629f9..460cc11 100644
--- a/src/main/java/com/qxueyou/scc/media/model/MediaVideoReCourse.java
+++ b/src/main/java/com/qxueyou/scc/media/model/MediaVideoReCourse.java
@@ -22,63 +22,63 @@
 	 */
 	private static final long serialVersionUID = 1L;
 
-	/**  主键  */
+	/**  涓婚敭  */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="VIDEO_RE_COURSE_ID", unique=true, nullable=false, length=32)
 	private String videoReCourseId;
 
-	/**  创建人ID  */
+	/**  鍒涘缓浜篒D  */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	@JsonIgnore
 	private String createId;
 
-	/**  创建时间  */
+	/**  鍒涘缓鏃堕棿  */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date createTime;
 
-	/**  创建人  */
+	/**  鍒涘缓浜�  */
 	@Column(name="CREATOR", nullable=false, length=100)
 	@JsonIgnore
 	private String creator;
 
-	/**  删除标志  */
+	/**  鍒犻櫎鏍囧織  */
 	@Column(name="DELETE_FLAG", nullable=false)
 	@JsonIgnore
 	private boolean deleteFlag;
 
-	/**  科目ID */
+	/**  绉戠洰ID */
 	@Column(name="COLLEGE_COURSE_ID", length=32)
 	private String collegeCourseId;
 	
-	/**  视频ID  */
+	/**  瑙嗛ID  */
 	@Column(name="VIDEO_ID", length=32)
 	private String videoId;
 
-	/**  修改人ID  */
+	/**  淇敼浜篒D  */
 	@Column(name="UPDATE_ID", length=32)
 	@JsonIgnore
 	private String updateId;
 
-	/**  修改时间  */
+	/**  淇敼鏃堕棿  */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date updateTime;
 
-	/**   修改人 */
+	/**   淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	@JsonIgnore
 	private String updator;
 	
-	/**  机构ID */
+	/**  鏈烘瀯ID */
 	@Column(name="ORG_ID", length=32)
 	private String orgId;
 	
-	/** 课件管理 视频管理  中的视频排序,视频拷贝关联,排序字段在关联表中 */
+	/** 璇句欢绠$悊 瑙嗛绠$悊  涓殑瑙嗛鎺掑簭锛岃棰戞嫹璐濆叧鑱旓紝鎺掑簭瀛楁鍦ㄥ叧鑱旇〃涓� */
 	@Column(name="VIDEO_ORDER")
 	private Integer videoOrder;
 
diff --git a/src/main/java/com/qxueyou/scc/media/model/MediaVideoRecord.java b/src/main/java/com/qxueyou/scc/media/model/MediaVideoRecord.java
index f744f1b..1280ec2 100644
--- a/src/main/java/com/qxueyou/scc/media/model/MediaVideoRecord.java
+++ b/src/main/java/com/qxueyou/scc/media/model/MediaVideoRecord.java
@@ -22,97 +22,97 @@
 	 */
 	private static final long serialVersionUID = 1L;
 
-	/**  主键 */
+	/**  涓婚敭 */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="VIDEO_RECORD_ID", unique=true, nullable=false, length=32)
 	private String videoRecordId;
 	
-	/**  创建者ID */
+	/**  鍒涘缓鑰匢D */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	private String createId;
 	
-	/**  创建时间 */
+	/**  鍒涘缓鏃堕棿 */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date createTime;
 	
-	/**  创建人 */
+	/**  鍒涘缓浜� */
 	@Column(name="CREATOR", nullable=false, length=100)
 	private String creator;
 	
-	/**  删除标志 */
+	/**  鍒犻櫎鏍囧織 */
 	@Column(name="DELETE_FLAG", nullable=false)
 	private boolean deleteFlag;
 	
-	/**  修改人ID */
+	/**  淇敼浜篒D */
 	@Column(name="UPDATE_ID", length=32)
 	private String updateId;
 	
-	/**  修改时间 */
+	/**  淇敼鏃堕棿 */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date updateTime;
 	
-	/**  修改人 */
+	/**  淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	private String updator;
 	
-	/**  机构ID */
+	/**  鏈烘瀯ID */
 	@Column(name="ORG_ID",length=32)
 	private String orgId;
 	
-	/**  班级ID */
+	/**  鐝骇ID */
 	@Column(name="CLASS_ID",length=32)
 	private String classId;
 	
-	/**  视频ID */
+	/**  瑙嗛ID */
 	@Column(name="VIDEO_ID",length=32)
 	private String videoId;
 	
-	/**  用户ID */
+	/**  鐢ㄦ埛ID */
 	@Column(name="USER_ID",length=32)
 	private String userId;
 	
-	/**  视频时长 */
+	/**  瑙嗛鏃堕暱 */
 	@Column(name="VIDEO_TIME",length=11)
 	private Integer videoTime;
-	/**  观看进度 (观看视频的进度) */
+	/**  瑙傜湅杩涘害 (瑙傜湅瑙嗛鐨勮繘搴�) */
 	@Column(name="WATCH_TIME",length=11)
 	private Integer watchTime;
 	
-	/** 离开时间 */
+	/** 绂诲紑鏃堕棿 */
 	@Column(name="LEAVE_TIME")
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date leaveTime;
 	
-	/** 播放时间()*/
+	/** 鎾斁鏃堕棿()*/
 	@Column(name="PLAY_TIME")
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date playTime;
 	
-	/**  网络 */
+	/**  缃戠粶 */
 	@Column(name="NETWORK",length=15)
 	private String network;
 	
-	/**  平台 */
+	/**  骞冲彴 */
 	@Column(name="PLATFORM",length=15)
 	private String platform;
 	
-	/**  版本 */
+	/**  鐗堟湰 */
 	@Column(name="VERSION",length=15)
 	private String version;
 	
-	/**  机型 */
+	/**  鏈哄瀷 */
 	@Column(name="model",length=15)
 	private String model;
 	
-	/**  app版本 */
+	/**  app鐗堟湰 */
 	@Column(name="APP_VERSION",length=15)
 	private String appVersion;
 	
-	/**  运营商 */
+	/**  杩愯惀鍟� */
 	@Column(name="OPERATOR",length=15)
 	private String operator;
 
diff --git a/src/main/java/com/qxueyou/scc/media/model/MediaVideoStatistic.java b/src/main/java/com/qxueyou/scc/media/model/MediaVideoStatistic.java
index 33d4434..895d10f 100644
--- a/src/main/java/com/qxueyou/scc/media/model/MediaVideoStatistic.java
+++ b/src/main/java/com/qxueyou/scc/media/model/MediaVideoStatistic.java
@@ -24,14 +24,14 @@
 	 */
 	private static final long serialVersionUID = 1L;
 
-	/**  主键 */
+	/**  涓婚敭 */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="VIDEO_STATISTIC_ID", unique=true, nullable=false, length=32)
 	private String videoStatisticId;
 	
-	/**上次播放的位置*/
+	/**涓婃鎾斁鐨勪綅缃�*/
 	@Column(name="VIDEO_LAST_TIME")
 	private Integer videoLastTime ;
 	
diff --git a/src/main/java/com/qxueyou/scc/media/model/MediaVideoTrans.java b/src/main/java/com/qxueyou/scc/media/model/MediaVideoTrans.java
index ab15366..24df0b8 100644
--- a/src/main/java/com/qxueyou/scc/media/model/MediaVideoTrans.java
+++ b/src/main/java/com/qxueyou/scc/media/model/MediaVideoTrans.java
@@ -18,7 +18,7 @@
 
 
 /**
- * 视频转码表  实体
+ * 瑙嗛杞爜琛�  瀹炰綋
  * @author ody.yuan
  *
  */
@@ -32,7 +32,7 @@
 	 */
 	private static final long serialVersionUID = 1L;
 	
-	/** 1.上传oss服务器    2.下载到转码服务器   3.截图成功   4.转码MP4成功    5.转码M3U8成功      6.转码结果失败   7.转码结果成功  */
+	/** 1.涓婁紶oss鏈嶅姟鍣�    2.涓嬭浇鍒拌浆鐮佹湇鍔″櫒   3.鎴浘鎴愬姛   4.杞爜MP4鎴愬姛    5.杞爜M3U8鎴愬姛      6.杞爜缁撴灉澶辫触   7.杞爜缁撴灉鎴愬姛  */
 	public static final Integer TRANS_PROCESS_UPLOAD_SUCCESS = 1 ;
 	
 	public static final Integer TRANS_PROCESS_DOWNLOAD_SUCCESS = 2 ;
@@ -51,115 +51,115 @@
 	
 	public static final Short TRANS_RESULT_SUCCESS = 2 ;
 
-	/**  主键 */
+	/**  涓婚敭 */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="VIDEO_TRANSCODE_ID", unique=true, nullable=false, length=32)
 	private String videoTranscodeId;
 	
-	/**  创建者ID */
+	/**  鍒涘缓鑰匢D */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	private String createId;
 	
-	/**  创建时间 */
+	/**  鍒涘缓鏃堕棿 */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date createTime;
 	
-	/**  创建人 */
+	/**  鍒涘缓浜� */
 	@Column(name="CREATOR", nullable=false, length=100)
 	private String creator;
 	
-	/**  删除标志 */
+	/**  鍒犻櫎鏍囧織 */
 	@Column(name="DELETE_FLAG", nullable=false)
 	private boolean deleteFlag;
 	
-	/**  修改人ID */
+	/**  淇敼浜篒D */
 	@Column(name="UPDATE_ID", length=32)
 	private String updateId;
 	
-	/**  修改时间 */
+	/**  淇敼鏃堕棿 */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date updateTime;
 	
-	/**  修改人 */
+	/**  淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	private String updator;
 	
-	/**  机构ID */
+	/**  鏈烘瀯ID */
 	@Column(name="ORG_ID", length=32)
 	private String orgId;
 	
-	/**  班级ID */
+	/**  鐝骇ID */
 	@Column(name="CLASS_ID", length=32)
 	private String classId;
 	
-	/**  视频ID */
+	/**  瑙嗛ID */
 	@Column(name="VIDEO_ID", length=32)
 	private String videoId;
 	
-	/**  视频名称 */
+	/**  瑙嗛鍚嶇О */
 	@Column(name="VIDEO_NAME", length=255)
 	private String videoName;
 	
-	/**  视频名称 */
+	/**  瑙嗛鍚嶇О */
 	@Column(name="UPLOAD_SERVER", length=64)
 	private String uploadServer;
 	
-	/**  视频名称 */
+	/**  瑙嗛鍚嶇О */
 	@Column(name="TRANS_SERVER", length=64)
 	private String transServer;
 	
-	/**  进度 */
+	/**  杩涘害 */
 	@Column(name="PROCESS")
 	private Integer process;
 	
-	/**  备注 */
+	/**  澶囨敞 */
 	@Column(name="REMARK")
 	private String remark;
 	
-	/**  上传成功时间 */
+	/**  涓婁紶鎴愬姛鏃堕棿 */
 	@Column(name="UPLOAD_TIME")
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date uploadTime;
 	
-	/**  下载成功时间 */
+	/**  涓嬭浇鎴愬姛鏃堕棿 */
 	@Column(name="DOWNLOAD_TIME")
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date downloadTime;
 	
-	/**  获取媒体信息成功时间 */
+	/**  鑾峰彇濯掍綋淇℃伅鎴愬姛鏃堕棿 */
 	@Column(name="MEDIA_INFO_TIME")
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date mediaInfoTime;
 	
-	/**  截图成功时间 */
+	/**  鎴浘鎴愬姛鏃堕棿 */
 	@Column(name="SNAPSHOT_TIME")
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date snapshotTime;
 	
-	/**  转mp4成功时间 */
+	/**  杞琺p4鎴愬姛鏃堕棿 */
 	@Column(name="ANDROID_SD_TIME")
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date androidSdTime;
 	
-	/**  转m3u8成功时间 */
+	/**  杞琺3u8鎴愬姛鏃堕棿 */
 	@Column(name="IOS_SD_TIME")
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date iosSdTime;
 	
-	/**  最后一次操作结束时间  */
+	/**  鏈�鍚庝竴娆℃搷浣滅粨鏉熸椂闂�  */
 	@Column(name="RESULT_TIME")
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date resultTime;
 	
-	/**  最后一次操作结果  */
+	/**  鏈�鍚庝竴娆℃搷浣滅粨鏋�  */
 	@Column(name="RESULT")
 	private short result;
 	
-	/**  操作次数  */
+	/**  鎿嶄綔娆℃暟  */
 	@Column(name="TRANS_TIMES")
 	private short transTimes;
 	
diff --git a/src/main/java/com/qxueyou/scc/media/model/MediaVideoViewVO.java b/src/main/java/com/qxueyou/scc/media/model/MediaVideoViewVO.java
index e3e9ce5..4745f99 100644
--- a/src/main/java/com/qxueyou/scc/media/model/MediaVideoViewVO.java
+++ b/src/main/java/com/qxueyou/scc/media/model/MediaVideoViewVO.java
@@ -1,8 +1,8 @@
 /******************************************************************************
  * Copyright (C) 2015 Shenzhen Penguin Network Technology Co., Ltd
  * All Rights Reserved.
- * 本软件为深圳市企鹅网络科技有限公司开发研制。未经本公司正式书面同意,其他任何个人、团体
- * 不得使用、复制、修改或发布本软件.
+ * 鏈蒋浠朵负娣卞湷甯備紒楣呯綉缁滅鎶�鏈夐檺鍏徃寮�鍙戠爺鍒躲�傛湭缁忔湰鍏徃姝e紡涔﹂潰鍚屾剰锛屽叾浠栦换浣曚釜浜恒�佸洟浣�
+ * 涓嶅緱浣跨敤銆佸鍒躲�佷慨鏀规垨鍙戝竷鏈蒋浠�.
  *****************************************************************************/
 
 package com.qxueyou.scc.media.model;
@@ -11,7 +11,7 @@
 import java.math.BigDecimal;
 
 /**
- * 提供给App端的视频信息   封装类
+ * 鎻愪緵缁橝pp绔殑瑙嗛淇℃伅   灏佽绫�
  * @author ody.yuan
  *
  */
@@ -22,10 +22,10 @@
 	 */
 	private static final long serialVersionUID = -5942057185153392368L;
 
-	/**  主键 */
+	/**  涓婚敭 */
 	private String videoId;
 	
-	/**  名称 */
+	/**  鍚嶇О */
 	private String name;
 	
 	/**  url */
@@ -34,83 +34,83 @@
 	/**  origUrl */
 	private String origUrl;
 	
-	/**  视频大小,单位KB */
+	/**  瑙嗛澶у皬,鍗曚綅KB */
 	private int size;
 	
-	/**  视频格式: AVI,MP4... */
+	/**  瑙嗛鏍煎紡: AVI,MP4... */
 	private String format;
 	
-	/**  时长 */
+	/**  鏃堕暱 */
 	private int playTime;
 	
-	/**  封面图片URL  */
+	/**  灏侀潰鍥剧墖URL  */
 	private String coverPageUrl;
 	
-	/**  播放次数 */
+	/**  鎾斁娆℃暟 */
 	private Integer playTimes;
 	
-	/**  评分*/
+	/**  璇勫垎*/
 	@Deprecated
 	private BigDecimal score;
 	
-	/**  是否缓存 */
+	/**  鏄惁缂撳瓨 */
 	private boolean cacheFlag;
 	
-	/**  是否下载 */
+	/**  鏄惁涓嬭浇 */
 	private boolean downloadFlag;
 	
-	/**  讲师ID */
+	/**  璁插笀ID */
 	private String teacherId;
 	
-	/**  讲师名称 */
+	/**  璁插笀鍚嶇О */
 	private String teacherName;
 	
-	/**  描述 */
+	/**  鎻忚堪 */
 	private String remark ;
 	
-	/**  MP4 高清,安卓使用 */
+	/**  MP4 楂樻竻锛屽畨鍗撲娇鐢� */
 	private String androidHD;
 	
-	/**  MP4 标清,安卓使用 */
+	/**  MP4 鏍囨竻锛屽畨鍗撲娇鐢� */
 	private String androidSD;
 	
-	/**  MP4 流畅,安卓使用 */
+	/**  MP4 娴佺晠锛屽畨鍗撲娇鐢� */
 	private String androidLD;
 	
-	/**  M3U8 高清,IOS使用 */
+	/**  M3U8 楂樻竻锛孖OS浣跨敤 */
 	private String iosHD;
 	
-	/**  M3U8 标清,IOS使用 */
+	/**  M3U8 鏍囨竻锛孖OS浣跨敤 */
 	private String iosSD;
 	
-	/**  M3U8 流畅,IOS使用 */
+	/**  M3U8 娴佺晠锛孖OS浣跨敤 */
 	private String iosLD;
 	
-	/**  资源ID 高清  */
+	/**  璧勬簮ID 楂樻竻  */
 	private String objectHd;
 	
-	/**  资源ID 标清  */
+	/**  璧勬簮ID 鏍囨竻  */
 	private String objectSd;
 	
-	/**  资源ID 流畅  */
+	/**  璧勬簮ID 娴佺晠  */
 	private String objectLd;
 
-	/**  是否有资源ID*/
+	/**  鏄惁鏈夎祫婧怚D*/
 	private boolean objectFlag;
 	
-	/**  视频完成度*/
+	/**  瑙嗛瀹屾垚搴�*/
 	private BigDecimal compDegree;
 	
-	/** 视频创建时间 */
+	/** 瑙嗛鍒涘缓鏃堕棿 */
 	private Object createTime;
 	
-	/** 视频更新时间 */
+	/** 瑙嗛鏇存柊鏃堕棿 */
 	private Object updateTime;
 	
-	/**  课程ID */
+	/**  璇剧▼ID */
 	private String subjectId;
 	
-	/**  课程名称 */
+	/**  璇剧▼鍚嶇О */
 	private String subjectName;
 	
 	public String getSubjectId() {
diff --git a/src/main/java/com/qxueyou/scc/media/model/SchLiveReVideo.java b/src/main/java/com/qxueyou/scc/media/model/SchLiveReVideo.java
index 83c2a5c..3eba7ea 100644
--- a/src/main/java/com/qxueyou/scc/media/model/SchLiveReVideo.java
+++ b/src/main/java/com/qxueyou/scc/media/model/SchLiveReVideo.java
@@ -22,7 +22,7 @@
 
 
 /**
- * 直播-视频关系表 实体
+ * 鐩存挱-瑙嗛鍏崇郴琛� 瀹炰綋
  * @author ody.yuan
  *
  */
@@ -32,63 +32,63 @@
 
 	private static final long serialVersionUID = -2045122427393134676L;
 
-	/**  主键  */
+	/**  涓婚敭  */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="RELATION_ID", unique=true, nullable=false, length=32)
 	private String relationId;
 
-	/**  创建人ID  */
+	/**  鍒涘缓浜篒D  */
 	@Column(name="CREATE_ID", length=32)
 	@JsonIgnore
 	private String createId;
 
-	/**  创建时间  */
+	/**  鍒涘缓鏃堕棿  */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date createTime;
 
-	/**  创建人  */
+	/**  鍒涘缓浜�  */
 	@Column(name="CREATOR", length=100)
 	@JsonIgnore
 	private String creator;
 
-	/**  删除标志  */
+	/**  鍒犻櫎鏍囧織  */
 	@Column(name="DELETE_FLAG", nullable=false)
 	@JsonIgnore
 	private boolean deleteFlag;
 
-	/**  修改人ID  */
+	/**  淇敼浜篒D  */
 	@Column(name="UPDATE_ID", length=32)
 	@JsonIgnore
 	private String updateId;
 
-	/**  修改时间  */
+	/**  淇敼鏃堕棿  */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date updateTime;
 
-	/**   修改人 */
+	/**   淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	@JsonIgnore
 	private String updator;
 
-	/**  直播ID  */
+	/**  鐩存挱ID  */
 	@Column(name="LIVE_VIDEO_ID", length=32)
 	private String liveVideoId;
 	
-	/**  关联片段id  */
+	/**  鍏宠仈鐗囨id  */
 	@Column(name="OBJECT_ID", length=32)
 	private String objectId;
 	
-	/**  关联片段type  */
+	/**  鍏宠仈鐗囨type  */
 	@Column(name="OBJECT_TYPE", length=32)
 	private String objectType;
 
-	/**  视频ID  */
+	/**  瑙嗛ID  */
 	@Column(name="VIDEO_ID", length=32)
 	private String videoId;
 	
diff --git a/src/main/java/com/qxueyou/scc/media/model/VideoConverTask.java b/src/main/java/com/qxueyou/scc/media/model/VideoConverTask.java
index 46d7d6d..2d4e766 100644
--- a/src/main/java/com/qxueyou/scc/media/model/VideoConverTask.java
+++ b/src/main/java/com/qxueyou/scc/media/model/VideoConverTask.java
@@ -15,7 +15,7 @@
 
 
 /**
- * 视频表  实体
+ * 瑙嗛琛�  瀹炰綋
  * @author ody.yuan
  *
  */
@@ -26,43 +26,43 @@
 	
 	private static final long serialVersionUID = -1143123781656219900L;
 	
-	/**  主键 */
+	/**  涓婚敭 */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="TASK_ID", unique=true, nullable=false, length=32)
 	private String taskId;
 	
-	/**  视频ID */
+	/**  瑙嗛ID */
 	@Column(name="VIDEO_ID")
 	private String videoId;
 	
-	/**  视频ID */
+	/**  瑙嗛ID */
 	@Column(name="VIDEO_URL")
 	private String videoUrl;
 	
-	/**  创建时间 */
+	/**  鍒涘缓鏃堕棿 */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date createTime;
 	
-	/**  视频ID */
+	/**  瑙嗛ID */
 	@Column(name="NEED_SNAPSHOT")
 	private Integer needSnapshot;
 	
-	/**  转码 */
+	/**  杞爜 */
 	@Column(name="CONVER_LD_LOCK")
 	private Integer converLdLock;
 	
-	/**  删除标志 */
+	/**  鍒犻櫎鏍囧織 */
 	@Column(name="DELETE_FLAG", nullable=false)
 	private boolean deleteFlag;
 	
-	/**  优先级 */
+	/**  浼樺厛绾� */
 	@Column(name="PRIORITY")
 	private Integer priority;
 	
-	/**  类型:视频,音频 */
+	/**  绫诲瀷锛氳棰戯紝闊抽 */
 	private String type;
 	
 	public String getType() {
diff --git a/src/main/java/com/qxueyou/scc/media/model/VideoInf.java b/src/main/java/com/qxueyou/scc/media/model/VideoInf.java
index bed84ef..4e7429c 100644
--- a/src/main/java/com/qxueyou/scc/media/model/VideoInf.java
+++ b/src/main/java/com/qxueyou/scc/media/model/VideoInf.java
@@ -1,25 +1,25 @@
 package com.qxueyou.scc.media.model;
 
 /**
- * 视频信息
+ * 瑙嗛淇℃伅
  * @author ody.yuan
  *
  */
 public class VideoInf {
 
-	/** 格式  */
+	/** 鏍煎紡  */
 	String format;
 
-	/** 文件大小 字节  */
+	/** 鏂囦欢澶у皬 瀛楄妭  */
 	long size;
 
-	/** 播放时长 微秒  */
+	/** 鎾斁鏃堕暱 寰  */
 	long duration;
 
-	/** 高度  */
+	/** 楂樺害  */
 	int height;
 
-	/**  宽度  */
+	/**  瀹藉害  */
 	int width;
 
 	float frameRate;
diff --git a/src/main/java/com/qxueyou/scc/media/model/VideoLiveChatroom.java b/src/main/java/com/qxueyou/scc/media/model/VideoLiveChatroom.java
index f3d4889..def84a2 100644
--- a/src/main/java/com/qxueyou/scc/media/model/VideoLiveChatroom.java
+++ b/src/main/java/com/qxueyou/scc/media/model/VideoLiveChatroom.java
@@ -21,7 +21,7 @@
 import com.fasterxml.jackson.annotation.JsonIgnore;
 
 /**
- * 视频直播互动表(聊天室)  实体
+ * 瑙嗛鐩存挱浜掑姩琛紙鑱婂ぉ瀹わ級  瀹炰綋
  * @author Delin
  *
  */
@@ -38,76 +38,76 @@
 	 */
 	private static final long serialVersionUID = 7855625613240090523L;
 
-	/**  主键 */
+	/**  涓婚敭 */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="CHATROOM_ID", unique=true, nullable=false, length=32)
 	private String chatroomId;
 	
-	/**  创建者ID */
+	/**  鍒涘缓鑰匢D */
 	@Column(name="CREATE_ID", length=32)
 	private String createId;
 	
-	/**  创建时间 */
+	/**  鍒涘缓鏃堕棿 */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date createTime;
 	
-	/**  创建人 */
+	/**  鍒涘缓浜� */
 	@Column(name="CREATOR", length=100)
 	private String creator;
 	
-	/**  删除标志 */
+	/**  鍒犻櫎鏍囧織 */
 	@Column(name="DELETE_FLAG", nullable=false)
 	private boolean deleteFlag;
 	
-	/**  修改人ID */
+	/**  淇敼浜篒D */
 	@Column(name="UPDATE_ID", length=32)
 	private String updateId;
 	
-	/**  修改时间 */
+	/**  淇敼鏃堕棿 */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date updateTime;
 	
-	/**  修改人 */
+	/**  淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	private String updator;
 	
-	/**  聊天室名称  */
+	/**  鑱婂ぉ瀹ゅ悕绉�  */
 	@Column(name="NAME", length=128)
 	private String name;
 	
-	/**  聊天室描述 */
+	/**  鑱婂ぉ瀹ゆ弿杩� */
 	@Column(name="DESCRIPTION", length=225)
 	private String description;
 
-	/**  聊天室成员上限   */
+	/**  鑱婂ぉ瀹ゆ垚鍛樹笂闄�   */
 	@Column(name="MAXUSERS")
 	private Integer maxusers;
 	
-	/**  现有成员总数  */
+	/**  鐜版湁鎴愬憳鎬绘暟  */
 	@Column(name="AFFILIATIONS_COUNT")
 	private Integer affiliationsCount;
 	
-	/** 聊天室创建者的 username  */
+	/** 鑱婂ぉ瀹ゅ垱寤鸿�呯殑 username  */
 	@Column(name="OWNER", length=128)
 	private String owner;
 	
-	/** 聊天室创建者ID  */
+	/** 鑱婂ぉ瀹ゅ垱寤鸿�匢D  */
 	@Column(name="OWNER_ID", length=128)
 	private String ownerId;
 	
-	/** 聊天室成员的 username  */
+	/** 鑱婂ぉ瀹ゆ垚鍛樼殑 username  */
 	@Column(name="MEMBER", length=128)
 	private String member;
 	
-	/** 聊天室ID  */
+	/** 鑱婂ぉ瀹D  */
 	@Column(name="ROOM_ID", length=128)
 	private String roomId;
 	
-	/** 直播ID   */
+	/** 鐩存挱ID   */
 	@Column(name="VIDEO_LIVE_ID", length=128)
 	private String videoLiveId;
 	
diff --git a/src/main/java/com/qxueyou/scc/media/model/VideoLiveViewVO.java b/src/main/java/com/qxueyou/scc/media/model/VideoLiveViewVO.java
index dc8525b..8fa655e 100644
--- a/src/main/java/com/qxueyou/scc/media/model/VideoLiveViewVO.java
+++ b/src/main/java/com/qxueyou/scc/media/model/VideoLiveViewVO.java
@@ -1,8 +1,8 @@
 /******************************************************************************
  * Copyright (C) 2015 Shenzhen Penguin Network Technology Co., Ltd
  * All Rights Reserved.
- * 本软件为深圳市企鹅网络科技有限公司开发研制。未经本公司正式书面同意,其他任何个人、团体
- * 不得使用、复制、修改或发布本软件.
+ * 鏈蒋浠朵负娣卞湷甯備紒楣呯綉缁滅鎶�鏈夐檺鍏徃寮�鍙戠爺鍒躲�傛湭缁忔湰鍏徃姝e紡涔﹂潰鍚屾剰锛屽叾浠栦换浣曚釜浜恒�佸洟浣�
+ * 涓嶅緱浣跨敤銆佸鍒躲�佷慨鏀规垨鍙戝竷鏈蒋浠�.
  *****************************************************************************/
 
 package com.qxueyou.scc.media.model;
@@ -13,7 +13,7 @@
 import java.util.Map;
 
 /**
- * 提供给App端的直播信息   封装类
+ * 鎻愪緵缁橝pp绔殑鐩存挱淇℃伅   灏佽绫�
  * @author ody.yuan
  *
  */
@@ -25,97 +25,97 @@
 	 */
 	private static final long serialVersionUID = -4609946637774926660L ;
 
-	/**  主键 */
+	/**  涓婚敭 */
 	private String liveVideoId;
 	
-	/**  名称 */
+	/**  鍚嶇О */
 	private String name;
 	
-	/**  状态 1:预告 2 直播  3 回放 4 废弃 */
+	/**  鐘舵�� 1:棰勫憡 2 鐩存挱  3 鍥炴斁 4 搴熷純 */
 	private short status;
 	
-	/**  直播人ID */
+	/**  鐩存挱浜篒D */
 	private String anchorId;
 	
-	/**  直播人 */
+	/**  鐩存挱浜� */
 	private String anchor;
 	
-	/**  预告图片URL  */
+	/**  棰勫憡鍥剧墖URL  */
 	private String previewImgUrl;
 	
-	/**  预告片视频URL  */
+	/**  棰勫憡鐗囪棰慤RL  */
 	private String previewVideoUrl;
 	
-	/**  预约次数  */
+	/**  棰勭害娆℃暟  */
 	private Integer orderTimes;
 	
-	/**  直播观看人次  */
+	/**  鐩存挱瑙傜湅浜烘  */
 	private Integer watchTimes;
 	
-	/**  直播观看人次  */
+	/**  鐩存挱瑙傜湅浜烘  */
 	private Integer watchOnlineTimes;
 	
-	/**  回放次数  */
+	/**  鍥炴斁娆℃暟  */
 	private Integer reviewTimes;
 	
-	/**  备注详情 */
+	/**  澶囨敞璇︽儏 */
 	private String remark;
 	
-	/** 直播预计开始时间  */
+	/** 鐩存挱棰勮寮�濮嬫椂闂�  */
 	private Date startTime;
 	
-	/** 直播预计结束时间  */
+	/** 鐩存挱棰勮缁撴潫鏃堕棿  */
 	private Date endTime;
 	
-	/**  直播对应的回放视频个数   */
+	/**  鐩存挱瀵瑰簲鐨勫洖鏀捐棰戜釜鏁�   */
 	private Integer videoCounts ;
 	
-	/**  直播对应的回放,有可能直播时间很长,后台会分段拆分,里面的url对应的是点播同一个viewvo  */
+	/**  鐩存挱瀵瑰簲鐨勫洖鏀撅紝鏈夊彲鑳界洿鎾椂闂村緢闀匡紝鍚庡彴浼氬垎娈垫媶鍒嗭紝閲岄潰鐨剈rl瀵瑰簲鐨勬槸鐐规挱鍚屼竴涓獀iewvo  */
 	private List<MediaVideoViewVO> lstVideoVO;
 	
-	/** 网易云信房间号码  */
+	/** 缃戞槗浜戜俊鎴块棿鍙风爜  */
 	private String wyLiveNumber;
 	
-	/** 网易云信直播拉流:rtmpPullUrl   */
+	/** 缃戞槗浜戜俊鐩存挱鎷夋祦锛歳tmpPullUrl   */
 	private String wyRtmpPullUrl;
 	
-	/** 网易云信直播推流url 慧眼端实际写反了=拉流地址  兼顾1.0慧眼  */
+	/** 缃戞槗浜戜俊鐩存挱鎺ㄦ祦url 鎱х溂绔疄闄呭啓鍙嶄簡=鎷夋祦鍦板潃  鍏奸【1.0鎱х溂  */
 	private String wyPushUrl;
 	
-	/** 聊天室ID   */
+	/** 鑱婂ぉ瀹D   */
 	private String chatroomId;
 	
-	/** 聊天室人数   */
+	/** 鑱婂ぉ瀹や汉鏁�   */
 	private Integer chatroomUserCount;
 	
-	/** 清晰度  LD:流畅  SD:标清   HD:高清  */
+	/** 娓呮櫚搴�  LD:娴佺晠  SD:鏍囨竻   HD:楂樻竻  */
 	private String definition;
 	
-	/**  权限:limitClass:仅限班级  public:公开  orderWatch:预约观看  limitOrg:仅限机构  */
+	/**  鏉冮檺锛歭imitClass锛氫粎闄愮彮绾�  public锛氬叕寮�  orderWatch:棰勭害瑙傜湅  limitOrg:浠呴檺鏈烘瀯  */
 	private String permission;
 	
-	/** 预计时长  单位:分钟  */
+	/** 棰勮鏃堕暱  鍗曚綅锛氬垎閽�  */
 	private Integer expectedTimes;
 	
-	/** 二维码模板地址  */
+	/** 浜岀淮鐮佹ā鏉垮湴鍧�  */
 	private String qrUrl;
 	
-	/** 二维码模板id  */
+	/** 浜岀淮鐮佹ā鏉縤d  */
 	private String qrTemplateId;
 	
-	/** 文档地址 id集合  */
+	/** 鏂囨。鍦板潃 id闆嗗悎  */
 	private List<String> fileIds;
 	
-	/** 文档下载地址  */
+	/** 鏂囨。涓嬭浇鍦板潃  */
 	private List<Map<String,String>> filePaths;
 
-	/** 当前用户是否预约  */
+	/** 褰撳墠鐢ㄦ埛鏄惁棰勭害  */
 	private boolean orderFlag;
 	
-	/** 唐桥  meetingId  */
+	/** 鍞愭ˉ  meetingId  */
 	private String meetingId;
 	
-	/** 唐桥  meetingpwd  */
+	/** 鍞愭ˉ  meetingpwd  */
 	private String meetingPwd;
 	
 	public String getLiveVideoId() {
diff --git a/src/main/java/com/qxueyou/scc/media/model/VideoRecordDTO.java b/src/main/java/com/qxueyou/scc/media/model/VideoRecordDTO.java
index c9e5266..cd114bb 100644
--- a/src/main/java/com/qxueyou/scc/media/model/VideoRecordDTO.java
+++ b/src/main/java/com/qxueyou/scc/media/model/VideoRecordDTO.java
@@ -1,35 +1,35 @@
 package com.qxueyou.scc.media.model;
 
 /**
- * 视频信息
+ * 瑙嗛淇℃伅
  * @author ody.yuan
  *[{"uid":25078,"video_name":"297ebe0e56250d10015625190133006d_20160726-115350_20160726-115530",
  *	"orig_video_key":"1_c3663191947347ee9902e5554116e24d_1469505230352_1469505330224_79952-00000.mp4","vid":61178}]
  */
 public class VideoRecordDTO {
 
-	/** 用户ID  */
+	/** 鐢ㄦ埛ID  */
 	private String uid;
 	
-	/** 录制后文件名,格式为filename_YYYYMMDD-HHmmssYYYYMMDD-HHmmss, 文件名录制起始时间(年月日时分秒) -录制结束时间(年月日时分秒)  */
+	/** 褰曞埗鍚庢枃浠跺悕锛屾牸寮忎负filename_YYYYMMDD-HHmmssYYYYMMDD-HHmmss, 鏂囦欢鍚嶅綍鍒惰捣濮嬫椂闂达紙骞存湀鏃ユ椂鍒嗙) -褰曞埗缁撴潫鏃堕棿锛堝勾鏈堟棩鏃跺垎绉�)  */
 	private String video_name;
 	
-	/** 视频文件在点播桶中的存储路径  */
+	/** 瑙嗛鏂囦欢鍦ㄧ偣鎾《涓殑瀛樺偍璺緞  */
 	private String orig_video_key;
 	
-	/** 视频文件ID  */
+	/** 瑙嗛鏂囦欢ID  */
 	private String vid;
 	
-	/** 视频名称  */
+	/** 瑙嗛鍚嶇О  */
 	private String name;
 
-	/** 路径 */
+	/** 璺緞 */
 	private String url;
 
-	/** 录制开始时间  */
+	/** 褰曞埗寮�濮嬫椂闂�  */
 	private long beginTime;
 
-	/** 录制结束时间  */
+	/** 褰曞埗缁撴潫鏃堕棿  */
 	private long endTime;
 
 	public String getName() {
diff --git a/src/main/java/com/qxueyou/scc/media/service/IMediaVideoService.java b/src/main/java/com/qxueyou/scc/media/service/IMediaVideoService.java
index c92b2e3..841e951 100644
--- a/src/main/java/com/qxueyou/scc/media/service/IMediaVideoService.java
+++ b/src/main/java/com/qxueyou/scc/media/service/IMediaVideoService.java
@@ -1,8 +1,8 @@
 /******************************************************************************
  * Copyright (C) 2015 Shenzhen Penguin Network Technology Co., Ltd
  * All Rights Reserved.
- * 本软件为深圳市企鹅网络科技有限公司开发研制。未经本公司正式书面同意,其他任何个人、团体
- * 不得使用、复制、修改或发布本软件.
+ * 鏈蒋浠朵负娣卞湷甯備紒楣呯綉缁滅鎶�鏈夐檺鍏徃寮�鍙戠爺鍒躲�傛湭缁忔湰鍏徃姝e紡涔﹂潰鍚屾剰锛屽叾浠栦换浣曚釜浜恒�佸洟浣�
+ * 涓嶅緱浣跨敤銆佸鍒躲�佷慨鏀规垨鍙戝竷鏈蒋浠�.
  *****************************************************************************/
 
 package com.qxueyou.scc.media.service;
@@ -23,55 +23,55 @@
 
 
 /**
- * 视频service接口
+ * 瑙嗛service鎺ュ彛
  * @author ody.yuan
  *
  */
 public interface IMediaVideoService {
 	
 	/**
-	 * APP获取视频列表
-	 * @param sql       查询语句
-	 * @param args      参数
+	 * APP鑾峰彇瑙嗛鍒楄〃
+	 * @param sql       鏌ヨ璇彞
+	 * @param args      鍙傛暟
 	 * @return
 	 */
 	List<MediaVideoViewVO> queryMediaVideoList(String sql,List<Object> args,Pager pager);
 	
 	/**
-	 * APP提交缓冲视频
+	 * APP鎻愪氦缂撳啿瑙嗛
 	 * 
-	 * @param    videoId    videoId,多个以“,”分隔
-	 * @return   result     true为成功,false时,msg为错误描述
+	 * @param    videoId    videoId锛屽涓互鈥滐紝鈥濆垎闅�
+	 * @return   result     true涓烘垚鍔燂紝false鏃讹紝msg涓洪敊璇弿杩�
 	 */
 	Result doSubmitCacheVideo(MediaVideoCache cache);
 	
 	/**
-	 * APP提交播放视频
+	 * APP鎻愪氦鎾斁瑙嗛
 	 * 
 	 * @param    
-	 * @return   result     true为成功,false时,msg为错误描述
+	 * @return   result     true涓烘垚鍔燂紝false鏃讹紝msg涓洪敊璇弿杩�
 	 */
 	Result doSubmitPlayVideo(MediaVideoRecord mvr);
 	
 	/**
-	 * APP播放完视频
+	 * APP鎾斁瀹岃棰�
 	 * 
 	 * @param   
-	 * @return   result     true为成功,false时,msg为错误描述
+	 * @return   result     true涓烘垚鍔燂紝false鏃讹紝msg涓洪敊璇弿杩�
 	 */
 	Result doSubmitPlayFinish(MediaVideoRecord mvr);
 	
 	/**
-	 * 发送消息:调用本地转码服务,使用消息队列来控制
+	 * 鍙戦�佹秷鎭細璋冪敤鏈湴杞爜鏈嶅姟锛屼娇鐢ㄦ秷鎭槦鍒楁潵鎺у埗
 	 * 
-	 * @param videoId 视频ID 
+	 * @param videoId 瑙嗛ID 
 	 */
 	Result doFfmpegMediaTrascode( String videoId , String videoName ) ;
 	
 	
 	
 	/**
-	 * 查询转码结果
+	 * 鏌ヨ杞爜缁撴灉
 	 * @param hql
 	 * @param args
 	 * @return
@@ -79,20 +79,20 @@
 	List<MediaVideoTrans> queryTransItem(String hql,List<Object> args);
 	
 	/**
-	 * 得到服务器IP地址
+	 * 寰楀埌鏈嶅姟鍣↖P鍦板潃
 	 * @return
 	 */
 	String getConfusionIp();
 	
 	/**
-	 * 修改视频
+	 * 淇敼瑙嗛
 	 * @param video
 	 * @return
 	 */
 	Result doSaveUpdateMedia( MediaVideo video ,String classScheduleId );
 	
 	/**
-	 * 查询班主任下的pc端视频列表
+	 * 鏌ヨ鐝富浠讳笅鐨刾c绔棰戝垪琛�
 	 * @param hql
 	 * @param args
 	 * @return
@@ -100,14 +100,14 @@
 	List<MediaVideo> queryVideoItem(String hql,List<Object> args);
 	
 	/**
-	 * 将视频从班主任拿到最上层机构,然后机构指定到各个层级之后,新建班级,所有视频都出现在公共课程,这里要初始化成最开始的 课程-视频 结构
+	 * 灏嗚棰戜粠鐝富浠绘嬁鍒版渶涓婂眰鏈烘瀯锛岀劧鍚庢満鏋勬寚瀹氬埌鍚勪釜灞傜骇涔嬪悗锛屾柊寤虹彮绾э紝鎵�鏈夎棰戦兘鍑虹幇鍦ㄥ叕鍏辫绋嬶紝杩欓噷瑕佸垵濮嬪寲鎴愭渶寮�濮嬬殑 璇剧▼-瑙嗛 缁撴瀯
 	 * @param collegeCourse
 	 * @return
 	 */
 	Result doInitClassOrgVideo(OrgCollegeCourse collegeCourse);
 	
 	/**
-	 * 初始化该科目下(班主任角色上传的视频,非指定过去的视频);视频链接:视频课程   map对象
+	 * 鍒濆鍖栬绉戠洰涓嬶紙鐝富浠昏鑹蹭笂浼犵殑瑙嗛锛岄潪鎸囧畾杩囧幓鐨勮棰戯級锛涜棰戦摼鎺ワ細瑙嗛璇剧▼   map瀵硅薄
 	 * @param collegeCourse
 	 * @param map
 	 * @return
@@ -116,20 +116,20 @@
 	
 	
 	/**
-	 * 增加播放次数
+	 * 澧炲姞鎾斁娆℃暟
 	 * @param videoId
 	 * @return
 	 */
 	boolean addPlayTimes(String videoId);
 	
 	/**
-	 * 编排数据
-	 * @param data 需要编排的数据
+	 * 缂栨帓鏁版嵁
+	 * @param data 闇�瑕佺紪鎺掔殑鏁版嵁
 	 */
 	Result doReOrderVideo(List<String> ids, List<Integer> index);
 	
 	/**
-	 * 创建转码记录
+	 * 鍒涘缓杞爜璁板綍
 	 * 
 	 * @param videoId
 	 * @param videoName
@@ -138,7 +138,7 @@
 	
 
 	
-	/********************************************************************* 初始化数据的方法开始  ************************************************************************/
+	/********************************************************************* 鍒濆鍖栨暟鎹殑鏂规硶寮�濮�  ************************************************************************/
 	
 	Result doInitCourseReVideoOrder(Organization org);
 	
@@ -156,17 +156,17 @@
 	
 	Result doInitClassOrgSubject(OrgCollegeCourse course);
 	
-	/********************************************************************* 初始化数据的方法结束  ************************************************************************/
+	/********************************************************************* 鍒濆鍖栨暟鎹殑鏂规硶缁撴潫  ************************************************************************/
 	
 	/**
-	 * 需要转码的视频,插入转码队列记录表
+	 * 闇�瑕佽浆鐮佺殑瑙嗛锛屾彃鍏ヨ浆鐮侀槦鍒楄褰曡〃
 	 * @param video
 	 * @return
 	 */
 	Result insertVideoConverTask(MediaVideo video);
 	
 	/**
-	 * 统计视频的进度
+	 * 缁熻瑙嗛鐨勮繘搴�
 	 * 
 	 * @param userId
 	 * @param videoId
@@ -174,7 +174,7 @@
 	void statisticCompDegree(String userId, String videoId);
 	
 	/**
-	 * 选择历史视频
+	 * 閫夋嫨鍘嗗彶瑙嗛
 	 * 
 	 * @param subjectId
 	 * @param subjectName
@@ -184,14 +184,14 @@
 	Result insertChooseVideo(String subjectId, String subjectName, String videoId, String chapterId);
 	
 	/**
-	 * 转码队列
+	 * 杞爜闃熷垪
 	 * 
 	 * @return
 	 */
 	List<VideoConverTask> getVideoConverTaskList();
 	
 	/**
-	 * 保存视频接口
+	 * 淇濆瓨瑙嗛鎺ュ彛
 	 * 
 	 * @param video
 	 * @return
diff --git a/src/main/java/com/qxueyou/scc/msg/model/Message.java b/src/main/java/com/qxueyou/scc/msg/model/Message.java
index 41cf3b4..0aa8541 100644
--- a/src/main/java/com/qxueyou/scc/msg/model/Message.java
+++ b/src/main/java/com/qxueyou/scc/msg/model/Message.java
@@ -18,7 +18,7 @@
 
 
 /**
- * 消息聊天记录表 实体
+ * 娑堟伅鑱婂ぉ璁板綍琛� 瀹炰綋
  * @author ody.yuan
  *
  */
@@ -29,68 +29,68 @@
 	private static final long serialVersionUID = 1L;
 
 
-	/** 主键  */
+	/** 涓婚敭  */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="MESSAGE_ID", unique=true, nullable=false, length=32)
 	private String messageId;
 
-	/** 内容  */
+	/** 鍐呭  */
 	@Column(name="CONTENT", nullable=false, length=5000)
 	private String content;
 
-	/** 创建者ID  */
+	/** 鍒涘缓鑰匢D  */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	private String createId;
 
-	/** 创建时间  */
+	/** 鍒涘缓鏃堕棿  */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date createTime;
 
-	/** 创建人  */
+	/** 鍒涘缓浜�  */
 	@Column(name="CREATOR", nullable=false, length=100)
 	private String creator;
 
-	/** 删除标志  */
+	/** 鍒犻櫎鏍囧織  */
 	@Column(name="DELETE_FLAG", nullable=false)
 	private boolean deleteFlag;
 
-	/** 接收人ID  */
+	/** 鎺ユ敹浜篒D  */
 	@Column(name="RECEIVER_ID", length=32)
 	private String receiverId;
 
-	/** 接收人  */
+	/** 鎺ユ敹浜�  */
 	@Column(name="RECEIVER", length=64)
 	private String receiver;
 
-	/** 发送人ID  */
+	/** 鍙戦�佷汉ID  */
 	@Column(name="SENDER_ID", length=32)
 	private String senderId;
 
-	/** 发送人  */
+	/** 鍙戦�佷汉  */
 	@Column(name="SENDER", length=64)
 	private String sender;
 
-	/** 状态  */
+	/** 鐘舵��  */
 	@Column(name="STATUS", length=32)
 	private boolean status;
 
-	/** 修改人ID  */
+	/** 淇敼浜篒D  */
 	@Column(name="UPDATE_ID", length=32)
 	private String updateId;
 
-	/** 修改时间  */
+	/** 淇敼鏃堕棿  */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date updateTime;
 
-	/** 修改人  */
+	/** 淇敼浜�  */
 	@Column(name="UPDATOR", length=100)
 	private String updator;
 
-	/** 群标志:0否  1是  */
+	/** 缇ゆ爣蹇楋細0鍚�  1鏄�  */
 	@Column(name="GROUP_FLAG")
 	private boolean groupFlag;
 
@@ -118,63 +118,63 @@
 	@Column(name="ATTRIBUTE_6",length=256)
 	private String attribute6;
 
-	/** 消息类型:INFO,正常消息; FRIEND_REQ,加好友请求;FRIEND_RSP,好友请求答复; GROUP_REQ,加群请求;GROUP_REQ,加群请求答复;  GROUP_BREAKUP, 群解散;
-	 * SYS_MSG 系统消息;ORG机构介绍预览; CLASS 班级介绍预览 ; LESSON 课程介绍预览  ; CHAT_ROOM 聊天室消息*/
+	/** 娑堟伅绫诲瀷锛欼NFO,姝e父娑堟伅; FRIEND_REQ,鍔犲ソ鍙嬭姹�;FRIEND_RSP,濂藉弸璇锋眰绛斿; GROUP_REQ,鍔犵兢璇锋眰;GROUP_REQ,鍔犵兢璇锋眰绛斿;  GROUP_BREAKUP, 缇よВ鏁o紱
+	 * SYS_MSG 绯荤粺娑堟伅;ORG鏈烘瀯浠嬬粛棰勮; CLASS 鐝骇浠嬬粛棰勮 ; LESSON 璇剧▼浠嬬粛棰勮  ; CHAT_ROOM 鑱婂ぉ瀹ゆ秷鎭�*/
 	@Column(name="MSG_TYPE",length=32)
 	private String msgType;
 	
 	/*
-	 * 消息类型(INFO,正常消息;)
+	 * 娑堟伅绫诲瀷锛圛NFO,姝e父娑堟伅;锛�
 	 */
 	public static final String TYPE_INFO = "INFO";
 	
 	/*
-	 * 消息类型(FRIEND_REQ,加好友请求;)
+	 * 娑堟伅绫诲瀷锛團RIEND_REQ,鍔犲ソ鍙嬭姹�;锛�
 	 */
 	public static final String TYPE_FRIEND_REQ = "FRIEND_REQ";
 	
 	/*
-	 * 消息类型(FRIEND_RSP,好友请求答复; )
+	 * 娑堟伅绫诲瀷锛團RIEND_RSP,濂藉弸璇锋眰绛斿; 锛�
 	 */
 	public static final String TYPE_FRIEND_RSP = "FRIEND_RSP";
 	
 	/*
-	 * 消息类型(GROUP_REQ,加群请求;)
+	 * 娑堟伅绫诲瀷锛圙ROUP_REQ,鍔犵兢璇锋眰;锛�
 	 */
 	public static final String TYPE_GROUP_REQ = "GROUP_REQ";
 	
 	/*
-	 * 消息类型(GROUP_RSP,加群请求答复;)
+	 * 娑堟伅绫诲瀷锛圙ROUP_RSP,鍔犵兢璇锋眰绛斿;锛�
 	 */
 	public static final String TYPE_GROUP_RSP = "GROUP_RSP";
 	
 	/*
-	 * 消息类型(GROUP_BREAKUP, 群解散)
+	 * 娑堟伅绫诲瀷锛圙ROUP_BREAKUP, 缇よВ鏁o級
 	 */
 	public static final String TYPE_GROUP_BREAKUP = "GROUP_BREAKUP";
 	
 	/*
-	 * 消息类型(SYS_MSG, 系统消息)
+	 * 娑堟伅绫诲瀷锛圫YS_MSG, 绯荤粺娑堟伅锛�
 	 */
 	public static final String TYPE_SYS_MSG = "SYS_MSG";
 	
 	/*
-	 * 消息类型(ORG_INTRODUCE, 机构介绍预览)
+	 * 娑堟伅绫诲瀷锛圤RG_INTRODUCE, 鏈烘瀯浠嬬粛棰勮锛�
 	 */
 	public static final String TYPE_ORG_INTRODUCE = "ORG";
 	
 	/*
-	 * 消息类型(CLASS_INTRODUCE, 班级介绍预览)
+	 * 娑堟伅绫诲瀷锛圕LASS_INTRODUCE, 鐝骇浠嬬粛棰勮锛�
 	 */
 	public static final String TYPE_CLASS_INTRODUCE = "CLASS";
 	
 	/*
-	 * 消息类型(LESSON_INTRODUCE, 课程介绍预览)
+	 * 娑堟伅绫诲瀷锛圠ESSON_INTRODUCE, 璇剧▼浠嬬粛棰勮锛�
 	 */
 	public static final String TYPE_LESSON_INTRODUCE = "LESSON";
 	
 	/*
-	 * 消息类型(CHAT_ROOM, 聊天室消息)
+	 * 娑堟伅绫诲瀷锛圕HAT_ROOM, 鑱婂ぉ瀹ゆ秷鎭級
 	 */
 	public static final String TYPE_CHAT_ROOM = "CHATROOM";
 	
diff --git a/src/main/java/com/qxueyou/scc/msg/model/MsgChatroomMsg.java b/src/main/java/com/qxueyou/scc/msg/model/MsgChatroomMsg.java
index 92d8bd1..816ed75 100644
--- a/src/main/java/com/qxueyou/scc/msg/model/MsgChatroomMsg.java
+++ b/src/main/java/com/qxueyou/scc/msg/model/MsgChatroomMsg.java
@@ -10,7 +10,7 @@
 
 
 /**
- * 消息用户表  实体
+ * 娑堟伅鐢ㄦ埛琛�  瀹炰綋
  * @author ody.yuan
  *
  */
@@ -18,40 +18,40 @@
 	
 	private static final long serialVersionUID = 1L;
 	
-	/****0、正常消息,1、进入消息,2、退出消息,3、点赞消息,4、签到消息,5、抽奖消息(中奖名单),7、文档,8、赏,9、咨询***/
+	/****0銆佹甯告秷鎭紝1銆佽繘鍏ユ秷鎭紝2銆侀��鍑烘秷鎭紝3銆佺偣璧炴秷鎭紝4銆佺鍒版秷鎭紝5銆佹娊濂栨秷鎭紙涓鍚嶅崟锛夛紝7銆佹枃妗o紝8銆佽祻锛�9銆佸挩璇�***/
 	public static final int TYPE_NORMAL = 0, TYPE_ENTER = 1, TYPE_EXIT = 2, TYPE_PRAISE = 3, TYPE_LOTTERY = 4, TYPE_LOTTERY_RESULT = 5, TYPE_DOC = 7, TYPE_REWARD = 8, TYPE_CONSULT = 9;
 
-	/** 主键  */
+	/** 涓婚敭  */
 	@Id
 	@GeneratedValue(strategy = GenerationType.IDENTITY)
 	@Column(name="MSG_ID", unique=true, nullable=false, length=32)
 	private Long msgId;
 	
-	/** 房间ID */
+	/** 鎴块棿ID */
 	@Column(name="CHATROOM_ID")
 	private String chatroomId;
 	
-	/** 消息类型 */
+	/** 娑堟伅绫诲瀷 */
 	@Column(name="TYPE")
 	private Integer type;
 	
-	/** 消息内容 */
+	/** 娑堟伅鍐呭 */
 	@Column(name="CONTENT")
 	private String content;
 	
-	/** 创建者ID  */
+	/** 鍒涘缓鑰匢D  */
 	@Column(name="SENDER_ID", length=32)
 	private String senderId;
 	
-	/** 发送者昵称 */
+	/** 鍙戦�佽�呮樀绉� */
 	@Column(name="ALIAS")
 	private String alias;
 	
-	/** 发送者头像 */
+	/** 鍙戦�佽�呭ご鍍� */
 	@Column(name="IMG_PATH")
 	private String imgPath;
 
-	/**  创建时间 */
+	/**  鍒涘缓鏃堕棿 */
 	@Column(name="CREATE_TIME")
 	private Date createTime;
 	
@@ -59,7 +59,7 @@
 	
 	public static final String USER_TYPE_USER = "0";
 	
-	/** 用户类型 */
+	/** 鐢ㄦ埛绫诲瀷 */
 	@Column(name="USER_TYPE")
 	private String userType;
 
diff --git a/src/main/java/com/qxueyou/scc/msg/model/MsgFriend.java b/src/main/java/com/qxueyou/scc/msg/model/MsgFriend.java
index 01c6564..9c4adc4 100644
--- a/src/main/java/com/qxueyou/scc/msg/model/MsgFriend.java
+++ b/src/main/java/com/qxueyou/scc/msg/model/MsgFriend.java
@@ -11,7 +11,7 @@
 
 
 /**
- * 消息好友表 实体
+ * 娑堟伅濂藉弸琛� 瀹炰綋
  * @author ody.yuan
  *
  */
@@ -21,46 +21,46 @@
 public class MsgFriend implements Serializable,ITrace {
 	private static final long serialVersionUID = 1L;
 
-	/** 主键  */
+	/** 涓婚敭  */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="FRIEND_ID", unique=true, nullable=false, length=32)
 	private String friendId;
 
-	/** 创建者ID  */
+	/** 鍒涘缓鑰匢D  */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	private String createId;
 
-	/**  创建时间 */
+	/**  鍒涘缓鏃堕棿 */
 	@Column(name="CREATE_TIME", nullable=false)
 	private Date createTime;
 
-	/** 创建人  */
+	/** 鍒涘缓浜�  */
 	@Column(name="CREATOR", nullable=false, length=100)
 	private String creator;
 
-	/**  删除标志 */
+	/**  鍒犻櫎鏍囧織 */
 	@Column(name="DELETE_FLAG", nullable=false)
 	private boolean deleteFlag;
 
-	/**  修改者ID */
+	/**  淇敼鑰匢D */
 	@Column(name="UPDATE_ID", length=32)
 	private String updateId;
 
-	/**  修改时间 */
+	/**  淇敼鏃堕棿 */
 	@Column(name="UPDATE_TIME", nullable=false)
 	private Date updateTime;
 
-	/**  修改人 */
+	/**  淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	private String updator;
 
-	/**  来自好友ID */
+	/**  鏉ヨ嚜濂藉弸ID */
 	@Column(name="USER_ID_FROM", length=32)
 	private String userIdFrom;
 
-	/**  结识好友ID  */
+	/**  缁撹瘑濂藉弸ID  */
 	@Column(name="USER_ID_TO", length=32)
 	private String userIdTo;
 
diff --git a/src/main/java/com/qxueyou/scc/msg/model/MsgGroup.java b/src/main/java/com/qxueyou/scc/msg/model/MsgGroup.java
index c7a70c8..f3a8ed0 100644
--- a/src/main/java/com/qxueyou/scc/msg/model/MsgGroup.java
+++ b/src/main/java/com/qxueyou/scc/msg/model/MsgGroup.java
@@ -28,7 +28,7 @@
 
 
 /**
- * 消息群表  实体
+ * 娑堟伅缇よ〃  瀹炰綋
  * @author ody.yuan
  *
  */
@@ -38,55 +38,55 @@
 public class MsgGroup implements Serializable,ITrace {
 	private static final long serialVersionUID = 1L;
 
-	/**  群ID  */
+	/**  缇D  */
 	@Id
 	@Column(name="GROUP_ID", unique=true, nullable=false, length=32)
 	private String groupId;
 	
 	/**
-	 * 环信群组ID
+	 * 鐜俊缇ょ粍ID
 	 */
 	@Column(name="EASEMOB_GROUP_ID", length=32)
 	private String easmobGroupId;
 
-	/**  创建者ID  */
+	/**  鍒涘缓鑰匢D  */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	private String createId;
 
-	/**   创建时间 */
+	/**   鍒涘缓鏃堕棿 */
 	@Column(name="CREATE_TIME", nullable=false)
 	private Date createTime;
 
-	/**   创建人  */
+	/**   鍒涘缓浜�  */
 	@Column(name="CREATOR", nullable=false, length=100)
 	private String creator;
 
-	/**   删除标志 */
+	/**   鍒犻櫎鏍囧織 */
 	@Column(name="DELETE_FLAG", nullable=false)
 	private boolean deleteFlag;
 
-	/**   描述 */
+	/**   鎻忚堪 */
 	@Column(name="DESCRIPTION", length=2000)
 	private String description;
 
-	/**   名称 */
+	/**   鍚嶇О */
 	@Column(name="NAME", length=64)
 	private String name;
 
-	/**   头像  */
+	/**   澶村儚  */
 	@Lob
 	@Column(name="PORTRIAIT",length=512)
 	private String portriait;
 
-	/**   修改人ID */
+	/**   淇敼浜篒D */
 	@Column(name="UPDATE_ID", length=32)
 	private String updateId;
 
-	/**   修改时间 */
+	/**   淇敼鏃堕棿 */
 	@Column(name="UPDATE_TIME", nullable=false)
 	private Date updateTime;
 
-	/**   修改人 */
+	/**   淇敼浜� */
 	@Column(name="UPDATOR",length=100)
 	private String updator;
 	
diff --git a/src/main/java/com/qxueyou/scc/msg/model/MsgGroupUserRe.java b/src/main/java/com/qxueyou/scc/msg/model/MsgGroupUserRe.java
index 86392aa..de1855e 100644
--- a/src/main/java/com/qxueyou/scc/msg/model/MsgGroupUserRe.java
+++ b/src/main/java/com/qxueyou/scc/msg/model/MsgGroupUserRe.java
@@ -12,7 +12,7 @@
 
 
 /**
- * 群-用户 关联表实体
+ * 缇�-鐢ㄦ埛 鍏宠仈琛ㄥ疄浣�
  * @author ody.yuan
  *
  */
@@ -22,46 +22,46 @@
 public class MsgGroupUserRe implements Serializable,ITrace {
 	private static final long serialVersionUID = 1L;
 
-	/**  主键  */
+	/**  涓婚敭  */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="RELATION_ID", unique=true, nullable=false, length=32)
 	private String relationId;
 
-	/**  创建者ID  */
+	/**  鍒涘缓鑰匢D  */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	private String createId;
 
-	/**  创建时间  */
+	/**  鍒涘缓鏃堕棿  */
 	@Column(name="CREATE_TIME", nullable=false)
 	private Date createTime;
 
-	/**  创建人  */
+	/**  鍒涘缓浜�  */
 	@Column(name="CREATOR", nullable=false, length=100)
 	private String creator;
 
-	/**  删除标志  */
+	/**  鍒犻櫎鏍囧織  */
 	@Column(name="DELETE_FLAG", nullable=false)
 	private boolean deleteFlag;
 
-	/**  群ID  */
+	/**  缇D  */
 	@Column(name="GROUP_ID", length=32)
 	private String groupId;
 
-	/**  修改人ID  */
+	/**  淇敼浜篒D  */
 	@Column(name="UPDATE_ID", length=32)
 	private String updateId;
 
-	/**  修改时间  */
+	/**  淇敼鏃堕棿  */
 	@Column(name="UPDATE_TIME", nullable=false)
 	private Date updateTime;
 
-	/**  修改人  */
+	/**  淇敼浜�  */
 	@Column(name="UPDATOR", length=100)
 	private String updator;
 
-	/**  用户ID  */
+	/**  鐢ㄦ埛ID  */
 	@Column(name="USER_ID", length=32)
 	private String userId;
 
diff --git a/src/main/java/com/qxueyou/scc/msg/model/MsgInfo.java b/src/main/java/com/qxueyou/scc/msg/model/MsgInfo.java
index 0da427d..a76b28b 100644
--- a/src/main/java/com/qxueyou/scc/msg/model/MsgInfo.java
+++ b/src/main/java/com/qxueyou/scc/msg/model/MsgInfo.java
@@ -28,7 +28,7 @@
 	 */
 	private static final long serialVersionUID = 3543065009677784163L;
 	
-	//消息类型(1:公告 ,2:考试,3:作业,4:直播,5:课件,6:问卷,7:老师批阅,8:提醒)	
+	//娑堟伅绫诲瀷(1:鍏憡 锛�2:鑰冭瘯锛�3:浣滀笟锛�4:鐩存挱锛�5:璇句欢锛�6:闂嵎锛�7:鑰佸笀鎵归槄锛�8锛氭彁閱�)	
 	public final static short TYPE_NOTICE = 1;
 	
 	public final static short TYPE_EXAM= 2;
@@ -45,7 +45,7 @@
 	
 	public final static short TYPE_REMIND = 8;
 	
-	//是否是新消息(0:未读,1:已读)
+	//鏄惁鏄柊娑堟伅(0:鏈锛�1:宸茶)
 	public static final short READ_NOT = 0;
 	
 	public static final short READ_YES = 1;
diff --git a/src/main/java/com/qxueyou/scc/msg/model/MsgUser.java b/src/main/java/com/qxueyou/scc/msg/model/MsgUser.java
index 36b4163..3ce3c08 100644
--- a/src/main/java/com/qxueyou/scc/msg/model/MsgUser.java
+++ b/src/main/java/com/qxueyou/scc/msg/model/MsgUser.java
@@ -27,7 +27,7 @@
 
 
 /**
- * 消息用户表  实体
+ * 娑堟伅鐢ㄦ埛琛�  瀹炰綋
  * @author ody.yuan
  *
  */
@@ -37,68 +37,68 @@
 public class MsgUser implements Serializable , com.qxueyou.scc.base.model.ITrace{
 	private static final long serialVersionUID = 1L;
 
-	/**  主键  */
+	/**  涓婚敭  */
 	@Id
 	@Column(name="USER_ID", unique=true, nullable=false, length=32)
 	private String userId;
 
-	/**  账号  */
+	/**  璐﹀彿  */
 	@Column(name="ACCOUNT",length=64)
 	private String account;
 
-	/**  年龄  */
+	/**  骞撮緞  */
 	@Column(name="AGE")
 	private int age;
 
-	/**  昵称  */
+	/**  鏄电О  */
 	@Column(name="ALIAS",length=64)
 	private String alias;
 
-	/**  生日,暂时默认数据生成时间  */
+	/**  鐢熸棩锛屾殏鏃堕粯璁ゆ暟鎹敓鎴愭椂闂�  */
 	@Column(name="BIRTHDAY")
 	private Date birthday;
 
-	/**  创建人ID  */
+	/**  鍒涘缓浜篒D  */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	private String createId;
 
-	/**  创建时间  */
+	/**  鍒涘缓鏃堕棿  */
 	@Column(name="CREATE_TIME", nullable=false)
 	private Date createTime;
 
-	/**  创建人  */
+	/**  鍒涘缓浜�  */
 	@Column(name="CREATOR", nullable=false, length=100)
 	private String creator;
 
-	/**  删除标志  */
+	/**  鍒犻櫎鏍囧織  */
 	@Column(name="DELETE_FLAG", nullable=false)
 	private boolean deleteFlag;
 
-	/**  密码  */
+	/**  瀵嗙爜  */
 	@Column(name="PASSWORD", length=2048)
 	private String password;
 
-	/**  头像  */
+	/**  澶村儚  */
 	@Column(name="PORTRAIT", length=512)
 	private String portrait;
 
-	/**   用户名  */
+	/**   鐢ㄦ埛鍚�  */
 	@Column(name="REAL_NAME", length=32)
 	private String realName;
 
-	/**  性别  */
+	/**  鎬у埆  */
 	@Column(name="SEX")
 	private boolean sex;
 
-	/**   修改人ID */
+	/**   淇敼浜篒D */
 	@Column(name="UPDATE_ID", length=32)
 	private String updateId;
 
-	/**   修改时间 */
+	/**   淇敼鏃堕棿 */
 	@Column(name="UPDATE_TIME", nullable=false)
 	private Date updateTime;
 
-	/**   修改人 */
+	/**   淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	private String updator;
 	
@@ -129,13 +129,13 @@
 	private List<MsgGroup> adminGroups;
 
 	public String getAliasInitial(){
-		if(Notice.NOTICE_ORG_MSG_USER_ID.equals(userId)){//学校通知
+		if(Notice.NOTICE_ORG_MSG_USER_ID.equals(userId)){//瀛︽牎閫氱煡
 			return "#0";
-		}else if(Notice.NOTICE_CLASS_MSG_USER_ID.equals(userId)){//班级通知
+		}else if(Notice.NOTICE_CLASS_MSG_USER_ID.equals(userId)){//鐝骇閫氱煡
 			return "#1";
-		}else if(Notice.NOTICE_SYS_MSG.equals(userId)){//系统通知
+		}else if(Notice.NOTICE_SYS_MSG.equals(userId)){//绯荤粺閫氱煡
 			return "#2";
-		}else if("qxueyou_assistant".equals(userId)){//智能客服
+		}else if("qxueyou_assistant".equals(userId)){//鏅鸿兘瀹㈡湇
 			return "#3";
 		}
 		
diff --git a/src/main/java/com/qxueyou/scc/msg/service/IMsgInfoService.java b/src/main/java/com/qxueyou/scc/msg/service/IMsgInfoService.java
index 9e51011..a9ff990 100644
--- a/src/main/java/com/qxueyou/scc/msg/service/IMsgInfoService.java
+++ b/src/main/java/com/qxueyou/scc/msg/service/IMsgInfoService.java
@@ -7,38 +7,38 @@
 import com.qxueyou.scc.msg.model.MsgInfo;
 
 /**
- * 消息服务
+ * 娑堟伅鏈嶅姟
  * 
  * @author kevin
  *
  */
 public interface IMsgInfoService {
 	/**
-	 * 查询消息列表
+	 * 鏌ヨ娑堟伅鍒楄〃
 	 */
 	List<MsgInfo> list(Short type,Integer pageSize,Integer pageNum);
 	
 	/**
-	 * 查询消息列表数量
+	 * 鏌ヨ娑堟伅鍒楄〃鏁伴噺
 	 */
 	int listCount(Short type);
 	
 	/**
-	 *  删除消息
+	 *  鍒犻櫎娑堟伅
 	 * @param msgIds
 	 * @return
 	 */
 	Result deleteUserMsg(String [] msgIds);
 
 	/**
-	 * 清空个人消息
+	 * 娓呯┖涓汉娑堟伅
 	 * @param type
 	 * @return
 	 */
 	Result deleteAllUserMsg(Short type);
 	
 	/**
-	 *  修改已读标志位
+	 *  淇敼宸茶鏍囧織浣�
 	 * @param msgId
 	 * @return
 	 */
@@ -46,14 +46,14 @@
 	
 	
 	/**
-	 *  修改已读标志位
+	 *  淇敼宸茶鏍囧織浣�
 	 * @param type
 	 * @return
 	 */
 	Result updateUserAllReadStatus(Short type);
 	
 	/**
-	 * 发送消息给多个用户
+	 * 鍙戦�佹秷鎭粰澶氫釜鐢ㄦ埛
 	 * @param userIdsToArr
 	 * @param Type
 	 * @param msg
@@ -62,7 +62,7 @@
 	public Result doSendTextMsgToUsers(String[] userIdsToArr,short Type,String msg); 
 
 	/**
-	 * 发送带属性参数的消息给用户
+	 * 鍙戦�佸甫灞炴�у弬鏁扮殑娑堟伅缁欑敤鎴�
 	 * @param userIdsToArr
 	 * @param Type
 	 * @param msg
@@ -72,7 +72,7 @@
 	public Result doSendTextMsgToUsers(String[] userIdsToArr,short Type,String msg,Map<String,String> attrs);
 	
 	/**
-	 * 分批发送通知
+	 * 鍒嗘壒鍙戦�侀�氱煡
 	 * @param userIdList
 	 * @param Type
 	 * @param content
@@ -81,19 +81,19 @@
 	public void doSendTextMsgToUsersLoop(List<String> userIdList,short Type,String content, Map<String,String> extra);
 	
 	/**
-	 * 获取最近的提醒消息
+	 * 鑾峰彇鏈�杩戠殑鎻愰啋娑堟伅
 	 * @return
 	 */
 	public MsgInfo readLastRemindMsg();
 	
 	/**
-	 * 按类型查询未读消息
+	 * 鎸夌被鍨嬫煡璇㈡湭璇绘秷鎭�
 	 * @return
 	 */
 	Map<String, Object> queryUnReadMsgCountByType();
 	
 	/**
-	 * 查询未读消息总数
+	 * 鏌ヨ鏈娑堟伅鎬绘暟
 	 * @return
 	 */
 	int queryUnReadTotalCount();
diff --git a/src/main/java/com/qxueyou/scc/msg/service/impl/ChatroomMessageBean.java b/src/main/java/com/qxueyou/scc/msg/service/impl/ChatroomMessageBean.java
index 3c39294..71c3a16 100644
--- a/src/main/java/com/qxueyou/scc/msg/service/impl/ChatroomMessageBean.java
+++ b/src/main/java/com/qxueyou/scc/msg/service/impl/ChatroomMessageBean.java
@@ -24,21 +24,21 @@
 
 	private static final int PAGE_SIZE = 20;
 
-	private static final String CACHEKEY_MSG_QUEUE = "msg_chatroom_msg_"; // 实时消息队列
-	private static final String CACHEKEY_MESSAGE_A_COUNT = "msg_chatroom_message_count_"; // A类消息总数
-	private static final String CACHEKEY_MESSAGE_HISTORY = "msg_chatroom_msg_history_"; //历史消息
+	private static final String CACHEKEY_MSG_QUEUE = "msg_chatroom_msg_"; // 瀹炴椂娑堟伅闃熷垪
+	private static final String CACHEKEY_MESSAGE_A_COUNT = "msg_chatroom_message_count_"; // A绫绘秷鎭�绘暟
+	private static final String CACHEKEY_MESSAGE_HISTORY = "msg_chatroom_msg_history_"; //鍘嗗彶娑堟伅
 	
-	private static final String CACHEKEY_ONLINE_COUNT = "msg_chatroom_online_count_"; // 在线人数
-	private static final String CACHEKEY_PRAISE_COUNT = "msg_chatroom_praise_count_"; // 点赞数
-	private static final String CACHEKEY_LOTTERY_COUNT = "msg_chatroom_lottery_count_"; // 签到数
-	private static final String CACHEKEY_VIEW_COUNT = "msg_chatroom_view_count_"; // 浏览数
-	private static final String CACHEKEY_LOTTERY_RESULT_COUNT = "msg_chatroom_lottery_result_count_"; //中奖结果
-	private static final String CACHEKEY_REWARD_COUNT = "msg_chatroom_reward_count_"; //打赏次数
-	private static final String CACHEKEY_CONSULT_COUNT = "msg_chatroom_consult_count_"; //咨询次数
-	private static final String CACHEKEY_REWARD_AMOUNT = "msg_chatroom_reward_amount_"; //打赏金额
+	private static final String CACHEKEY_ONLINE_COUNT = "msg_chatroom_online_count_"; // 鍦ㄧ嚎浜烘暟
+	private static final String CACHEKEY_PRAISE_COUNT = "msg_chatroom_praise_count_"; // 鐐硅禐鏁�
+	private static final String CACHEKEY_LOTTERY_COUNT = "msg_chatroom_lottery_count_"; // 绛惧埌鏁�
+	private static final String CACHEKEY_VIEW_COUNT = "msg_chatroom_view_count_"; // 娴忚鏁�
+	private static final String CACHEKEY_LOTTERY_RESULT_COUNT = "msg_chatroom_lottery_result_count_"; //涓缁撴灉
+	private static final String CACHEKEY_REWARD_COUNT = "msg_chatroom_reward_count_"; //鎵撹祻娆℃暟
+	private static final String CACHEKEY_CONSULT_COUNT = "msg_chatroom_consult_count_"; //鍜ㄨ娆℃暟
+	private static final String CACHEKEY_REWARD_AMOUNT = "msg_chatroom_reward_amount_"; //鎵撹祻閲戦
 
 	/**
-	 * 发送消息
+	 * 鍙戦�佹秷鎭�
 	 */
 
 	@Override
@@ -56,7 +56,7 @@
 		mes.setImgPath(imgPath);
 		mes.setCreateTime(new Date());
 
-		//缓存消息
+		//缂撳瓨娑堟伅
 		this.msgCache(chatroomId, mes);
 		this.msgTypeCountCache(chatroomId, type);
 		                    
@@ -65,7 +65,7 @@
 	}
 	
 	/**
-	 * 聊天消息剪切,
+	 * 鑱婂ぉ娑堟伅鍓垏锛�
 	 * 
 	 * @param chatroomId
 	 */
@@ -84,13 +84,13 @@
 				}
 				index ++;
 			}
-			//保留20条
+			//淇濈暀20鏉�
 			redis.lstTrim(key, mesList.size() - index <= 20?mesList.size()-20:index, -1l);
 		}
 	}
 	
 	/**
-	 * 缓存消息
+	 * 缂撳瓨娑堟伅
 	 * 
 	 * @param chatroomId
 	 * @param mes
@@ -98,14 +98,14 @@
 	private void msgCache(String chatroomId, MsgChatroomMsg mes){
 		String key = CACHEKEY_MSG_QUEUE + chatroomId;		
 		
-		//先获取10秒内的数据
+		//鍏堣幏鍙�10绉掑唴鐨勬暟鎹�
 //		this.msgListTrim(key, chatroomId);
 //		List<MsgChatroomMsg> mesList = redis.lstRange(key, 0l, -1l);
 		
-		//获取PAGE_SIZE条以内的消息
+		//鑾峰彇PAGE_SIZE鏉′互鍐呯殑娑堟伅
 		List<MsgChatroomMsg> mesList= redis.lstRange(key, 0l, PAGE_SIZE);
 		
-		//最近20消息过滤重复的点赞,进入,退出
+		//鏈�杩�20娑堟伅杩囨护閲嶅鐨勭偣璧烇紝杩涘叆锛岄��鍑�
 		if((MsgChatroomMsg.TYPE_PRAISE == mes.getType() || MsgChatroomMsg.TYPE_ENTER == mes.getType() || MsgChatroomMsg.TYPE_EXIT == mes.getType())
 				&& mesList.contains(mes)){
 			return;
@@ -115,13 +115,13 @@
 	}
 	
 	/**
-	 * 计数器
+	 * 璁℃暟鍣�
 	 * 
 	 * @param chatroomId
 	 * @param type
 	 */
 	private void msgTypeCountCache(String chatroomId, Integer type){
-		if(type == MsgChatroomMsg.TYPE_ENTER){//在线人数加一
+		if(type == MsgChatroomMsg.TYPE_ENTER){//鍦ㄧ嚎浜烘暟鍔犱竴
 			redis.incr(CACHEKEY_ONLINE_COUNT + chatroomId);
 			redis.expire(CACHEKEY_ONLINE_COUNT + chatroomId, 360, TimeUnit.DAYS);
 		}
@@ -129,20 +129,20 @@
 				|| type == MsgChatroomMsg.TYPE_REWARD || type == MsgChatroomMsg.TYPE_CONSULT || type == MsgChatroomMsg.TYPE_LOTTERY_RESULT){
 			redis.incr(this.getKey(chatroomId, type));
 			redis.expire(this.getKey(chatroomId, type),  360, TimeUnit.DAYS);
-		}else if(type == MsgChatroomMsg.TYPE_EXIT){//在线人数减一
+		}else if(type == MsgChatroomMsg.TYPE_EXIT){//鍦ㄧ嚎浜烘暟鍑忎竴
 			String key = CACHEKEY_ONLINE_COUNT + chatroomId;
 			Long value = redis.getIncrValue(key);
 			if(value.compareTo(0l)>0){
 				redis.decr(key);
 			}
 			redis.expire(key,  360, TimeUnit.DAYS);
-		}else if(type == MsgChatroomMsg.TYPE_NORMAL || type == MsgChatroomMsg.TYPE_LOTTERY_RESULT){//A类消息计数器
+		}else if(type == MsgChatroomMsg.TYPE_NORMAL || type == MsgChatroomMsg.TYPE_LOTTERY_RESULT){//A绫绘秷鎭鏁板櫒
 			redis.incr(CACHEKEY_MESSAGE_A_COUNT + chatroomId);
 			redis.expire(CACHEKEY_MESSAGE_A_COUNT + chatroomId,  360, TimeUnit.DAYS);
 		}
 	}
 	
-	//获取缓存key值
+	//鑾峰彇缂撳瓨key鍊�
 	private String getKey(String chatroomId, Integer type){
 		String key = "";
 		switch(type){
@@ -171,7 +171,7 @@
 	}
 
 	/**
-	 * 轮询
+	 * 杞
 	 * 
 	 * @param chatroomId
 	 * @throws Exception
@@ -180,11 +180,11 @@
 	public Result latestMsg(String chatroomId) {
 		List<MsgChatroomMsg> mesList = redis.lstRange(CACHEKEY_MSG_QUEUE + chatroomId, 0l, -1l);
 		
-		//奖金总数
+		//濂栭噾鎬绘暟
 		Long rewardAmount = redis.getIncrValue(CACHEKEY_REWARD_AMOUNT + chatroomId);
 		
 		Map<String, Object> data = new HashMap<String, Object>();
-		//统计数据
+		//缁熻鏁版嵁
 		Map<String,Long> statistics = this.reStatistics(chatroomId);
 		Integer maxPage = this.getMaxPage(chatroomId, String.valueOf(statistics.get("historyMsgCount")));
 		data.put("maxPage", maxPage);
@@ -202,7 +202,7 @@
 	}
 	
 	/**
-	 * 获取浏览人次
+	 * 鑾峰彇娴忚浜烘
 	 * @param chatroomId
 	 * @throws Exception
 	 */
@@ -212,7 +212,7 @@
 	}
 	
 	/**
-	 * 重新统计数据,读取数据库
+	 * 閲嶆柊缁熻鏁版嵁锛岃鍙栨暟鎹簱
 	 * 
 	 * @param type
 	 * @param statistics
@@ -230,7 +230,7 @@
 		
 		Map<String, Long> result = new HashMap<>();
 		result.put("msgCount", msgCount);
-		//历史消息数量,正常消息、中奖消息,打赏消息
+		//鍘嗗彶娑堟伅鏁伴噺锛屾甯告秷鎭�佷腑濂栨秷鎭紝鎵撹祻娑堟伅
 		result.put("historyMsgCount", msgCount+lotteryResultCount+rewardCount);
 		result.put("onlineCount", onlineCount);
 		result.put("praiseCount", praiseCount);
@@ -249,19 +249,19 @@
 	}
 	
 	/**
-	 * 按页获取历史消息
+	 * 鎸夐〉鑾峰彇鍘嗗彶娑堟伅
 	 */
 	@Override
 	public Result getHistoryMes(String chatroomId, Integer pageNo)
 			{
-		//统计数据
+		//缁熻鏁版嵁
 		List<MsgChatroomMsg> mesList = redis.lstRange(CACHEKEY_MSG_QUEUE + chatroomId, 0l, -1l);
 		Map<String,Long> statistics = this.reStatistics(chatroomId);
 		Integer maxPage = getMaxPage(chatroomId, String.valueOf(statistics.get("historyMsgCount")+mesList.size()));
 		String key = CACHEKEY_MESSAGE_HISTORY + chatroomId+ "_" + pageNo;
 		if (StringUtils.isEmpty(chatroomId) || pageNo == null
 				|| pageNo > maxPage) {
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
 		List<MsgChatroomMsg> msgList = redis.lstAll(key);
 		msgList = this.distinct(msgList, chatroomId);
@@ -273,7 +273,7 @@
 	}
 	
 	/**
-	 * 去除重复消息
+	 * 鍘婚櫎閲嶅娑堟伅
 	 * 
 	 * @return
 	 */
@@ -295,7 +295,7 @@
 
 
 	/**
-	 * 获取A类消息最大页码
+	 * 鑾峰彇A绫绘秷鎭渶澶ч〉鐮�
 	 * 
 	 * @param chatroomId
 	 * @return
diff --git a/src/main/java/com/qxueyou/scc/msg/service/impl/MsgInfoService.java b/src/main/java/com/qxueyou/scc/msg/service/impl/MsgInfoService.java
index cc3d2a0..aa07794 100644
--- a/src/main/java/com/qxueyou/scc/msg/service/impl/MsgInfoService.java
+++ b/src/main/java/com/qxueyou/scc/msg/service/impl/MsgInfoService.java
@@ -18,7 +18,7 @@
 import com.qxueyou.scc.msg.service.IMsgInfoService;
 
 /**
- * 消息服务
+ * 娑堟伅鏈嶅姟
  * 
  * @author kevin
  *
@@ -92,7 +92,7 @@
 	
 	
 	/**
-	 * 给指定目标发送消息
+	 * 缁欐寚瀹氱洰鏍囧彂閫佹秷鎭�
 	 * @param userIdFrom
 	 * @param targetIdsToArr
 	 * @param msg
@@ -103,7 +103,7 @@
 	 */
 	private Result doSendtMsgToTargets(String[] targetIdsToArr,short type,Map<String, String> attrs,Map<String,String> msgInfo){
 		if(targetIdsToArr== null || targetIdsToArr.length==0){
-			return new Result(false,"参数错误");
+			return new Result(false,"鍙傛暟閿欒");
 		}
 		
 		List<MsgInfo> lstMsg = new ArrayList<MsgInfo>(targetIdsToArr.length);
@@ -121,7 +121,7 @@
 	
 	
 	/**
-	 * 分批发送通知
+	 * 鍒嗘壒鍙戦�侀�氱煡
 	 * 
 	 * @param userIdList
 	 * @param msg
diff --git a/src/main/java/com/qxueyou/scc/notice/model/Notice.java b/src/main/java/com/qxueyou/scc/notice/model/Notice.java
index 3265e3a..0ffb437 100644
--- a/src/main/java/com/qxueyou/scc/notice/model/Notice.java
+++ b/src/main/java/com/qxueyou/scc/notice/model/Notice.java
@@ -36,57 +36,57 @@
 public class Notice implements Serializable, ITrace {
 	private static final long serialVersionUID = 1L;
 
-	/** 主键 */
+	/** 涓婚敭 */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name = "NOTICE_ID", unique = true, nullable = false, length = 32)
 	private String noticeId;
 
-	/** 内容 */
-	@ApiModelProperty(value="内容",name="content")
+	/** 鍐呭 */
+	@ApiModelProperty(value="鍐呭",name="content")
 	@Column(name = "CONTENT", columnDefinition = "CLOB")
 	private String content;
 
-	/** 简介 */
-	@ApiModelProperty(value="简介",name="brief")
+	/** 绠�浠� */
+	@ApiModelProperty(value="绠�浠�",name="brief")
 	@Column(name = "BRIEF", length = 255)
 	private String brief;
 
-	/** 创建者ID */
+	/** 鍒涘缓鑰匢D */
 	@Column(name = "CREATE_ID", nullable = false, length = 32)
 	private String createId;
 
-	/** 创建时间 */
+	/** 鍒涘缓鏃堕棿 */
 
 	@Column(name = "CREATE_TIME", nullable = false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date createTime;
 
-	/** 创建者 */
+	/** 鍒涘缓鑰� */
 	@Column(name = "CREATOR", nullable = false, length = 100)
 	private String creator;
 
-	/** 删除标志 */
+	/** 鍒犻櫎鏍囧織 */
 	@Column(name = "DELETE_FLAG", nullable = false)
 	private boolean deleteFlag;
 
-	/** 通知范围 1:班级通知 ;0: 平台通知 */
+	/** 閫氱煡鑼冨洿 1锛氱彮绾ч�氱煡 锛�0锛� 骞冲彴閫氱煡 */
 	@Column(name = "NOTICE_SCOPE")
 	private int noticeScope;
 
-	/** 通知图标路径 */
-	@ApiModelProperty(value="通知图标路径",name="imgPath")
+	/** 閫氱煡鍥炬爣璺緞 */
+	@ApiModelProperty(value="閫氱煡鍥炬爣璺緞",name="imgPath")
 	@Column(name = "IMG_PATH")
 	private String imgPath;
 
 	/*
-	 * 班级通知
+	 * 鐝骇閫氱煡
 	 */
 	public static int NOTICE_SCOPE_CLASS = 1;
 
 	/*
-	 * 平台通知
+	 * 骞冲彴閫氱煡
 	 */
 	public static int NOTICE_SCOPE_ORG = 0;
 
@@ -96,124 +96,124 @@
 
 	public static String NOTICE_SYS_MSG = "sys_msg";
 
-	public static String SYS_MSG_NAME = "系统消息";
+	public static String SYS_MSG_NAME = "绯荤粺娑堟伅";
 
-	/** 通知类型:1:平台通知 0:课程通知 */
-	@ApiModelProperty(value="通知类型",name="noticeType",example="0平台通知,1课程通知,3信息发布,4其他通知,5活动通知")
+	/** 閫氱煡绫诲瀷锛�1锛氬钩鍙伴�氱煡 0锛氳绋嬮�氱煡 */
+	@ApiModelProperty(value="閫氱煡绫诲瀷",name="noticeType",example="0骞冲彴閫氱煡,1璇剧▼閫氱煡,3淇℃伅鍙戝竷,4鍏朵粬閫氱煡,5娲诲姩閫氱煡")
 	@Column(name = "NOTICE_TYPE")
 	private int noticeType;
 
 	/*
-	 * 平台通知
+	 * 骞冲彴閫氱煡
 	 */
 	public static int NOTICE_TYPE_TERRACE = 0;
 
 	/*
-	 * 课程通知
+	 * 璇剧▼閫氱煡
 	 */
 	public static int NOTICE_TYPE_COURSES = 1;
 
 	/*
-	 * 信息发布
+	 * 淇℃伅鍙戝竷
 	 */
 	public static int NOTICE_TYPE_INF = 3;
 
 	/*
-	 * 其他通知
+	 * 鍏朵粬閫氱煡
 	 */
 	public static int NOTICE_TYPE_OTHER = 4;
 
 	/*
-	 * 其他通知
+	 * 鍏朵粬閫氱煡
 	 */
 	public static int NOTICE_TYPE_ACTIVE = 5;
 
 	/*
-	 * 平台通知
+	 * 骞冲彴閫氱煡
 	 */
-	public static String NOTICE_TYPE_NAME_TERRACE = "平台通知";
+	public static String NOTICE_TYPE_NAME_TERRACE = "骞冲彴閫氱煡";
 
 	/*
-	 * 上课通知
+	 * 涓婅閫氱煡
 	 */
-	public static String NOTICE_TYPE_NAME_COURSES = "课程通知";
+	public static String NOTICE_TYPE_NAME_COURSES = "璇剧▼閫氱煡";
 
 	/*
-	 * 信息发布
+	 * 淇℃伅鍙戝竷
 	 */
-	public static String NOTICE_TYPE_NAME_INF = "信息发布";
+	public static String NOTICE_TYPE_NAME_INF = "淇℃伅鍙戝竷";
 
 	/*
-	 * 信息发布
+	 * 淇℃伅鍙戝竷
 	 */
-	public static String NOTICE_TYPE_NAME_OTHER = "其他通知";
+	public static String NOTICE_TYPE_NAME_OTHER = "鍏朵粬閫氱煡";
 
 	/*
-	 * 信息发布
+	 * 淇℃伅鍙戝竷
 	 */
-	public static String NOTICE_TYPE_NAME_ACTIVE = "活动通知";
+	public static String NOTICE_TYPE_NAME_ACTIVE = "娲诲姩閫氱煡";
 
-	/** 通知类型名称 */
-	@ApiModelProperty(value="通知类型名称",name="noticeTypeName",example="平台通知,课程通知,信息发布,其他通知,活动通知")
+	/** 閫氱煡绫诲瀷鍚嶇О */
+	@ApiModelProperty(value="閫氱煡绫诲瀷鍚嶇О",name="noticeTypeName",example="骞冲彴閫氱煡,璇剧▼閫氱煡,淇℃伅鍙戝竷,鍏朵粬閫氱煡,娲诲姩閫氱煡")
 	@Column(name = "NOTICE_TYPE_NAME", length = 150)
 	private String noticeTypeName;
 
-	/** 范围ID:平台通知:机构ID 班级通知:班级ID */
-	@ApiModelProperty(value="范围ID",name="scopeId",example="平台通知:机构ID 班级通知:班级ID")
+	/** 鑼冨洿ID锛氬钩鍙伴�氱煡锛氭満鏋処D 鐝骇閫氱煡锛氱彮绾D */
+	@ApiModelProperty(value="鑼冨洿ID",name="scopeId",example="骞冲彴閫氱煡锛氭満鏋処D 鐝骇閫氱煡锛氱彮绾D")
 	@Column(name = "SCOPE_ID")
 	private String scopeId;
 
-	@ApiModelProperty(value="状态",name="status",example="0 草稿 1已发布 2已废弃")
-	/** 状态: 0 草稿 1已发布 2已废弃 */
+	@ApiModelProperty(value="鐘舵��",name="status",example="0 鑽夌 1宸插彂甯� 2宸插簾寮�")
+	/** 鐘舵�侊細 0 鑽夌 1宸插彂甯� 2宸插簾寮� */
 	@Column(name = "STATUS", length = 32)
 	private short status;
 
 	/*
-	 * 草稿
+	 * 鑽夌
 	 */
 	public static short STATUS_DRAFT = 0;
 
 	/*
-	 * 已发布
+	 * 宸插彂甯�
 	 */
 	public static short STATUS_ISSUED = 1;
 
 	/*
-	 * 已废弃
+	 * 宸插簾寮�
 	 */
 	public static short STATUS_DISCARD = 2;
 
-	/** 标题 */
-	@ApiModelProperty(value="标题",name="title")
+	/** 鏍囬 */
+	@ApiModelProperty(value="鏍囬",name="title")
 	@Column(name = "TITLE", length = 255)
 	private String title;
 
-	/** 修改人ID */
+	/** 淇敼浜篒D */
 	@Column(name = "UPDATE_ID", length = 32)
 	private String updateId;
 
-	/** 修改时间 */
+	/** 淇敼鏃堕棿 */
 	@Column(name = "UPDATE_TIME", nullable = false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date updateTime;
 
-	/** 修改人 */
+	/** 淇敼浜� */
 	@Column(name = "UPDATOR", length = 100)
 	private String updator;
 
-	/** 浏览总次数:一人可以多次 */
-	@ApiModelProperty(value="浏览总次数",name="viewCount",example="一人可以多次")
+	/** 娴忚鎬绘鏁帮細涓�浜哄彲浠ュ娆� */
+	@ApiModelProperty(value="娴忚鎬绘鏁�",name="viewCount",example="涓�浜哄彲浠ュ娆�")
 	@Column(name = "VIEW_COUNT")
 	private int viewCount;
 
-	/** 发布时间 */
-	@ApiModelProperty(value="发布时间",name="issuedTime")
+	/** 鍙戝竷鏃堕棿 */
+	@ApiModelProperty(value="鍙戝竷鏃堕棿",name="issuedTime")
 	@Column(name = "ISSUED_TIME")
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date issuedTime;
 
-	/** 浏览总人次:一人记录一次 */
-	@ApiModelProperty(value="浏览总人次",name="viwerCount",example="一人记录一次")
+	/** 娴忚鎬讳汉娆★細涓�浜鸿褰曚竴娆� */
+	@ApiModelProperty(value="娴忚鎬讳汉娆�",name="viwerCount",example="涓�浜鸿褰曚竴娆�")
 	@Column(name = "VIWER_COUNT")
 	private int viwerCount;
 
@@ -455,7 +455,7 @@
 	}
 
 	/**
-	 * 返回不包含content的所有字段
+	 * 杩斿洖涓嶅寘鍚玞ontent鐨勬墍鏈夊瓧娈�
 	 * 
 	 * @return
 	 */
@@ -482,7 +482,7 @@
 	}
 
 	/**
-	 * 返回不包含content的所有字段
+	 * 杩斿洖涓嶅寘鍚玞ontent鐨勬墍鏈夊瓧娈�
 	 * 
 	 * @return
 	 */
@@ -508,7 +508,7 @@
 	}
 
 	/**
-	 * 返回不包含content的所有字段
+	 * 杩斿洖涓嶅寘鍚玞ontent鐨勬墍鏈夊瓧娈�
 	 * 
 	 * @return
 	 */
diff --git a/src/main/java/com/qxueyou/scc/operation/comment/mode/Comment.java b/src/main/java/com/qxueyou/scc/operation/comment/mode/Comment.java
index 3c0bc57..b176e30 100644
--- a/src/main/java/com/qxueyou/scc/operation/comment/mode/Comment.java
+++ b/src/main/java/com/qxueyou/scc/operation/comment/mode/Comment.java
@@ -21,7 +21,7 @@
 
 
 /**
- * 评论表 实体
+ * 璇勮琛� 瀹炰綋
  * @author ody.yuan
  *
  */
@@ -37,135 +37,135 @@
 	
 	private static final long serialVersionUID = 1L;
 
-	/** 主键  */
+	/** 涓婚敭  */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="COMMENT_ID", unique=true, nullable=false, length=32)
 	private String commentId;
 
-	/** 评论对象ID  */
+	/** 璇勮瀵硅薄ID  */
 	@Column(name="COMMENT_OBJECT_ID", length=32)
 	private String commentObjectId;
 
-	/** 评论者ID  */
+	/** 璇勮鑰匢D  */
 	@Column(name="COMMENTTER_ID", length=32)
 	private String commentterId;
 
-	/** 评论者  */
+	/** 璇勮鑰�  */
 	@Column(name="COMMENTTER", length=150)
 	private String commentter;
 	
-	/** 评论者头像  */
+	/** 璇勮鑰呭ご鍍�  */
 	@Column(name="COMMENTTER_HEADIMG", length=255)
 	private String commentterHeadimg;
 	
-	/** 被评论者ID  */
+	/** 琚瘎璁鸿�匢D  */
 	@Column(name="COMMENTED_ID", length=32)
 	private String commentedId;
 	
-	/** 被评论人为Common 表示公共的对象id  适用于点赞时直接点赞对象 而不是点赞某个人的评论 */
+	/** 琚瘎璁轰汉涓篊ommon 琛ㄧず鍏叡鐨勫璞d  閫傜敤浜庣偣璧炴椂鐩存帴鐐硅禐瀵硅薄 鑰屼笉鏄偣璧炴煇涓汉鐨勮瘎璁� */
 	public static final String COMMENTED_ID_COMMON = "Common";
 
-	/** 被评论者  */
+	/** 琚瘎璁鸿��  */
 	@Column(name="COMMENTED_NAME", length=150)
 	private String commentedName;
 	
-	/** 评论层级  */
+	/** 璇勮灞傜骇  */
 	@Column(name="COMMENT_LEVEL")
 	private Integer commentLevel ;
 
-	/** 评论时间 */
+	/** 璇勮鏃堕棿 */
 	@Column(name="COMMENT_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date commentTime;
 
-	/** 评论内容  */
+	/** 璇勮鍐呭  */
 	@Column(name="CONTENT")
 	private String content;
 	
-	/** 是否通过审核(0、已发布    1、未审核)  */
+	/** 鏄惁閫氳繃瀹℃牳锛�0銆佸凡鍙戝竷    1銆佹湭瀹℃牳锛�  */
 	@Column(name="PASS_REVIEW_FLAG", nullable=false)
 	private boolean passReviewFlag;
 	
-	/** 是否需要审核(0、不需要    1、需要)  */
+	/** 鏄惁闇�瑕佸鏍革紙0銆佷笉闇�瑕�    1銆侀渶瑕侊級  */
 	@Column(name="REVIEW_FLAG", nullable=false)
 	private boolean reviewFlag;
 	
-	/** 来源  */
+	/** 鏉ユ簮  */
 	@Column(name="SOURCE")
 	private String source;
 	
-	/** 班级Id  */
+	/** 鐝骇Id  */
 	@Column(name="CLASS_ID")
 	private String classId;
 	
-	/** 评论上一级评论ID  */
+	/** 璇勮涓婁竴绾ц瘎璁篒D  */
 	@Column(name="COMMENT_PARENT_ID", length=32)
 	private String commentParentId;
 
-	/** 创建者ID  */
+	/** 鍒涘缓鑰匢D  */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	@JsonIgnore
 	private String createId;
 
-	/** 创建时间 */
+	/** 鍒涘缓鏃堕棿 */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date createTime;
 
-	/** 创建人  */
+	/** 鍒涘缓浜�  */
 	@Column(name="CREATOR", nullable=false, length=100)
 	@JsonIgnore
 	private String creator;
 
-	/** 修改人ID  */
+	/** 淇敼浜篒D  */
 	@Column(name="UPDATE_ID", length=32)
 	@JsonIgnore
 	private String updateId;
 
-	/**  修改时间 */
+	/**  淇敼鏃堕棿 */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date updateTime;
 
-	/** 修改人  */
+	/** 淇敼浜�  */
 	@Column(name="UPDATOR", length=100)
 	@JsonIgnore
 	private String updator;
 
-	/** 删除标志  */
+	/** 鍒犻櫎鏍囧織  */
 	@Column(name="DELETE_FLAG", nullable=false)
 	@JsonIgnore
 	private boolean deleteFlag;
 
-	/**  评论个数 */
+	/**  璇勮涓暟 */
 	@Column(name="COMMENT_COUNT")
 	private BigInteger commentCount;
 
-	/**  评论被赞数 */
+	/**  璇勮琚禐鏁� */
 	@Column(name="COMMENT_PRAISE_COUNT")
 	private BigInteger commentPraiseCount;
 	
-	/**  子评论 */
+	/**  瀛愯瘎璁� */
 	@Transient
 	private List<Comment> childComments;
 	
-	/**  评论对象评论总数  */
+	/**  璇勮瀵硅薄璇勮鎬绘暟  */
 	@Transient
 	private BigInteger parCommentCount;
 	
-	/**  评论对象赞总数  */
+	/**  璇勮瀵硅薄璧炴�绘暟  */
 	@Transient
 	private BigInteger parPraiseCount;
 	
-	/**  是否赞  */
+	/**  鏄惁璧�  */
 	@Transient
 	private boolean praise;
 	
-	/**  是否赞  */
+	/**  鏄惁璧�  */
 	@Transient
 	private int pageOrder;
 	
diff --git a/src/main/java/com/qxueyou/scc/operation/comment/mode/CommentImg.java b/src/main/java/com/qxueyou/scc/operation/comment/mode/CommentImg.java
index ee26360..d56dfe4 100644
--- a/src/main/java/com/qxueyou/scc/operation/comment/mode/CommentImg.java
+++ b/src/main/java/com/qxueyou/scc/operation/comment/mode/CommentImg.java
@@ -17,7 +17,7 @@
 import com.fasterxml.jackson.annotation.JsonIgnore;
 
 /**
- * 评论图片表 实体
+ * 璇勮鍥剧墖琛� 瀹炰綋
  * 
  * @author ody.yuan
  *
@@ -28,59 +28,59 @@
 public class CommentImg implements Serializable, ITrace {
 	private static final long serialVersionUID = 1L;
 
-	/** 主键 */
+	/** 涓婚敭 */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name = "COMMENT_IMG_ID", unique = true, nullable = false, length = 32)
 	private String commentImgId;
 
-	/** 评论ID */
+	/** 璇勮ID */
 	@Column(name = "COMMENT_ID", length = 32)
 	private String commentId;
 
-	/** 图片路径 */
+	/** 鍥剧墖璺緞 */
 	@Column(name = "IMG_PATH", length = 255)
 	private String imgPath;
 
-	/** 评论时间 */
+	/** 璇勮鏃堕棿 */
 	@Column(name = "COMMENT_TIME", nullable = false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date commentTime;
 
-	/** 创建者ID */
+	/** 鍒涘缓鑰匢D */
 	@Column(name = "CREATE_ID", nullable = false, length = 32)
 	@JsonIgnore
 	private String createId;
 
-	/** 创建时间 */
+	/** 鍒涘缓鏃堕棿 */
 	@Column(name = "CREATE_TIME", nullable = false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date createTime;
 
-	/** 创建人 */
+	/** 鍒涘缓浜� */
 	@Column(name = "CREATOR", nullable = false, length = 100)
 	@JsonIgnore
 	private String creator;
 
-	/** 修改者ID */
+	/** 淇敼鑰匢D */
 	@Column(name = "UPDATE_ID", length = 32)
 	@JsonIgnore
 	private String updateId;
 
-	/** 修改时间 */
+	/** 淇敼鏃堕棿 */
 	@Column(name = "UPDATE_TIME", nullable = false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date updateTime;
 
-	/** 修改人 */
+	/** 淇敼浜� */
 	@Column(name = "UPDATOR", length = 100)
 	@JsonIgnore
 	private String updator;
 
-	/** 删除标志 */
+	/** 鍒犻櫎鏍囧織 */
 	@Column(name = "DELETE_FLAG", nullable = false)
 	@JsonIgnore
 	private boolean deleteFlag;
diff --git a/src/main/java/com/qxueyou/scc/operation/comment/mode/CommentObject.java b/src/main/java/com/qxueyou/scc/operation/comment/mode/CommentObject.java
index d77f9dc..8675088 100644
--- a/src/main/java/com/qxueyou/scc/operation/comment/mode/CommentObject.java
+++ b/src/main/java/com/qxueyou/scc/operation/comment/mode/CommentObject.java
@@ -18,7 +18,7 @@
 import com.fasterxml.jackson.annotation.JsonIgnore;
 
 /**
- * 评论对象表 实体
+ * 璇勮瀵硅薄琛� 瀹炰綋
  * 
  * @author ody.yuan
  *
@@ -29,22 +29,22 @@
 public class CommentObject implements Serializable, ITrace {
 	private static final long serialVersionUID = 1L;
 
-	/** 评论来源ID */
+	/** 璇勮鏉ユ簮ID */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name = "COMMENT_OBJECT_ID", unique = true, nullable = false, length = 32)
 	private String commentObjectId;
 
-	/** 评论对象ID */
+	/** 璇勮瀵硅薄ID */
 	@Column(name = "COMMENT_OBJECT_UID", length = 32)
 	private String commentObjectUid;
 
-	/** 评论对象名称 */
+	/** 璇勮瀵硅薄鍚嶇О */
 	@Column(name = "COMMENT_OBJECT_NAME", length = 150)
 	private String commentObjectName;
 
-	/** 评论类型: 1:讲义 2:练习 3:视频 4:活动 5:互动 6:分享课程 7:直播 8:内容分享 */
+	/** 璇勮绫诲瀷锛� 1锛氳涔� 2锛氱粌涔� 3锛氳棰� 4锛氭椿鍔� 5:浜掑姩 6:鍒嗕韩璇剧▼ 7:鐩存挱 8:鍐呭鍒嗕韩 */
 	@Column(name = "COMMENT_OBJECT_TYPE")
 	private short commentObjectType;
 
@@ -66,51 +66,51 @@
 
 	public static final short COMMENT_TYPE_CLASS_CIRCLE = 9;
 
-	/** 评论个数 */
+	/** 璇勮涓暟 */
 	@Column(name = "COMMENT_COUNT")
 	private BigInteger commentCount;
 
-	/** 查看次数 */
+	/** 鏌ョ湅娆℃暟 */
 	@Column(name = "VIEW_COUNT")
 	private BigInteger viewCount;
 
-	/** 评论被赞的个数 */
+	/** 璇勮琚禐鐨勪釜鏁� */
 	@Column(name = "COMMENT_PRAISE_COUNT")
 	private BigInteger commentPraiseCount;
 
-	/** 创建者ID */
+	/** 鍒涘缓鑰匢D */
 	@Column(name = "CREATE_ID", nullable = false, length = 32)
 	@JsonIgnore
 	private String createId;
 
-	/** 创建时间 */
+	/** 鍒涘缓鏃堕棿 */
 	@Column(name = "CREATE_TIME", nullable = false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date createTime;
 
-	/** 创建者 */
+	/** 鍒涘缓鑰� */
 	@Column(name = "CREATOR", nullable = false, length = 100)
 	@JsonIgnore
 	private String creator;
 
-	/** 修改者ID */
+	/** 淇敼鑰匢D */
 	@Column(name = "UPDATE_ID", length = 32)
 	@JsonIgnore
 	private String updateId;
 
-	/** 修改时间 */
+	/** 淇敼鏃堕棿 */
 	@Column(name = "UPDATE_TIME", nullable = false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date updateTime;
 
-	/** 修改者 */
+	/** 淇敼鑰� */
 	@Column(name = "UPDATOR", length = 100)
 	@JsonIgnore
 	private String updator;
 
-	/** 删除标志 */
+	/** 鍒犻櫎鏍囧織 */
 	@Column(name = "DELETE_FLAG", nullable = false)
 	@JsonIgnore
 	private boolean deleteFlag;
diff --git a/src/main/java/com/qxueyou/scc/operation/comment/mode/CommentPraise.java b/src/main/java/com/qxueyou/scc/operation/comment/mode/CommentPraise.java
index a09f394..6a47764 100644
--- a/src/main/java/com/qxueyou/scc/operation/comment/mode/CommentPraise.java
+++ b/src/main/java/com/qxueyou/scc/operation/comment/mode/CommentPraise.java
@@ -18,7 +18,7 @@
 
 
 /**
- * 评论点赞表  实体
+ * 璇勮鐐硅禐琛�  瀹炰綋
  * @author ody.yuan
  *
  */
@@ -28,71 +28,71 @@
 public class CommentPraise implements Serializable,ITrace {
 	private static final long serialVersionUID = 1L;
 
-	/**  主键  */
+	/**  涓婚敭  */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="COMMENT_PRAISE_ID", unique=true, nullable=false, length=32)
 	private String commentPraiseId;
 	
-	/** 评论对象ID  */
+	/** 璇勮瀵硅薄ID  */
 	@Column(name="COMMENT_OBJECT_ID", length=32)
 	private String commentObjectId;
 
-	/**  评论ID  */
+	/**  璇勮ID  */
 	@Column(name="COMMENT_ID", length=32)
 	private String commentId;
 
-	/**  点赞ID  */
+	/**  鐐硅禐ID  */
 	@Column(name="COMMENTTER_ID", length=32)
 	private String commentterId;
 
-	/**  点赞人  */
+	/**  鐐硅禐浜�  */
 	@Column(name="COMMENTTER", length=150)
 	private String commentter;
 
-	/**   0 未赞  1赞 */
+	/**   0 鏈禐  1璧� */
 	@Column(name="PRAISE")
 	private boolean praise;
 
-	/**   点赞时间 */
+	/**   鐐硅禐鏃堕棿 */
 	@Column(name="PRAISE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date praiseTime;
 
-	/**   创建者ID */
+	/**   鍒涘缓鑰匢D */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	@JsonIgnore
 	private String createId;
 
-	/**   创建时间 */
+	/**   鍒涘缓鏃堕棿 */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date createTime;
 
-	/**   创建者 */
+	/**   鍒涘缓鑰� */
 	@Column(name="CREATOR", nullable=false, length=100)
 	@JsonIgnore
 	private String creator;
 
-	/**   修改人ID */
+	/**   淇敼浜篒D */
 	@Column(name="UPDATE_ID", length=32)
 	@JsonIgnore
 	private String updateId;
 
-	/**   修改时间 */
+	/**   淇敼鏃堕棿 */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date updateTime;
 
-	/**   修改人 */
+	/**   淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	@JsonIgnore
 	private String updator;
 
-	/**   删除标志 */
+	/**   鍒犻櫎鏍囧織 */
 	@Column(name="DELETE_FLAG", nullable=false)
 	@JsonIgnore
 	private boolean deleteFlag;
diff --git a/src/main/java/com/qxueyou/scc/operation/comment/mode/SnsCommentToMe.java b/src/main/java/com/qxueyou/scc/operation/comment/mode/SnsCommentToMe.java
index e922b7f..fcb8e39 100644
--- a/src/main/java/com/qxueyou/scc/operation/comment/mode/SnsCommentToMe.java
+++ b/src/main/java/com/qxueyou/scc/operation/comment/mode/SnsCommentToMe.java
@@ -16,7 +16,7 @@
 
 
 /**
- * 我收到的评论视图
+ * 鎴戞敹鍒扮殑璇勮瑙嗗浘
  * 
  * @author lihanqi
  *
@@ -28,26 +28,26 @@
 	
 	private static final long serialVersionUID = 1L;
 	
-	/** 类型  1讨论,2评论*/
+	/** 绫诲瀷  1璁ㄨ锛�2璇勮*/
 	private int type;
 	
-	/** 用户名称*/
+	/** 鐢ㄦ埛鍚嶇О*/
 	private String name;
 	
-	/** 用户Id*/
+	/** 鐢ㄦ埛Id*/
 	@Column(name="USER_ID", length=32)
 	private String userId;
 	
-	/** 用户头像*/
+	/** 鐢ㄦ埛澶村儚*/
 	@Column(name="IMG_PATH", length=32)
 	private String imgPath;
 	
-	/** 创建者ID  */
+	/** 鍒涘缓鑰匢D  */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	@JsonIgnore
 	private String createId;
 
-	/** 创建人  */
+	/** 鍒涘缓浜�  */
 	@Column(name="CREATOR", nullable=false, length=100)
 	@JsonIgnore
 	private String creator;
@@ -61,33 +61,33 @@
     @Column(name = "TOPIC_ID", nullable = false, length = 32)
     private String topicId;
 	
-	/** 主键  */
+	/** 涓婚敭  */
     @Id
 	@Column(name="COMMENT_ID", length=32)
 	private String commentId;
 
-	/** 评论时间 */
+	/** 璇勮鏃堕棿 */
 	@Column(name="COMMENT_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date commentTime;
 
-	/** 评论内容  */
+	/** 璇勮鍐呭  */
 	@Column(name="CONTENT")
 	private String content;
 	
-	/** 父评论Id  */
+	/** 鐖惰瘎璁篒d  */
 	@Column(name="COMMENT_PARENT_ID", length=32)
 	private String commentParentId;
 
-	/** 父评论内容  */
+	/** 鐖惰瘎璁哄唴瀹�  */
 	@Column(name="COMMENT_PARENT_CONTENT")
 	private String commentParentContent;
 
-	/**  评论个数 */
+	/**  璇勮涓暟 */
 	@Column(name="COMMENT_COUNT")
 	private BigInteger commentCount = BigInteger.ZERO;
 
-	/**  评论被赞数 */
+	/**  璇勮琚禐鏁� */
 	@Column(name="COMMENT_PRAISE_COUNT")
 	private BigInteger commentPraiseCount = BigInteger.ZERO;
 
diff --git a/src/main/java/com/qxueyou/scc/operation/comment/mode/SnsMyComment.java b/src/main/java/com/qxueyou/scc/operation/comment/mode/SnsMyComment.java
index dc088b3..1781725 100644
--- a/src/main/java/com/qxueyou/scc/operation/comment/mode/SnsMyComment.java
+++ b/src/main/java/com/qxueyou/scc/operation/comment/mode/SnsMyComment.java
@@ -16,7 +16,7 @@
 
 
 /**
- * 我的评论视图
+ * 鎴戠殑璇勮瑙嗗浘
  * 
  * @author lihanqi
  *
@@ -28,26 +28,26 @@
 	
 	private static final long serialVersionUID = 1L;
 	
-	/** 类型  1讨论,2评论*/
+	/** 绫诲瀷  1璁ㄨ锛�2璇勮*/
 	private int type;
 	
-	/** 用户名称*/
+	/** 鐢ㄦ埛鍚嶇О*/
 	private String name;
 	
-	/** 用户Id*/
+	/** 鐢ㄦ埛Id*/
 	@Column(name="USER_ID", length=32)
 	private String userId;
 	
-	/** 用户头像*/
+	/** 鐢ㄦ埛澶村儚*/
 	@Column(name="IMG_PATH", length=32)
 	private String imgPath;
 	
-	/** 创建者ID  */
+	/** 鍒涘缓鑰匢D  */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	@JsonIgnore
 	private String createId;
 
-	/** 创建人  */
+	/** 鍒涘缓浜�  */
 	@Column(name="CREATOR", nullable=false, length=100)
 	@JsonIgnore
 	private String creator;
@@ -61,33 +61,33 @@
     @Column(name = "TOPIC_ID", nullable = false, length = 32)
     private String topicId;
 	
-	/** 主键  */
+	/** 涓婚敭  */
     @Id
 	@Column(name="COMMENT_ID", length=32)
 	private String commentId;
 
-	/** 评论时间 */
+	/** 璇勮鏃堕棿 */
 	@Column(name="COMMENT_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date commentTime;
 
-	/** 评论内容  */
+	/** 璇勮鍐呭  */
 	@Column(name="CONTENT")
 	private String content;
 	
-	/** 父评论Id  */
+	/** 鐖惰瘎璁篒d  */
 	@Column(name="COMMENT_PARENT_ID", length=32)
 	private String commentParentId;
 
-	/** 父评论内容  */
+	/** 鐖惰瘎璁哄唴瀹�  */
 	@Column(name="COMMENT_PARENT_CONTENT")
 	private String commentParentContent;
 
-	/**  评论个数 */
+	/**  璇勮涓暟 */
 	@Column(name="COMMENT_COUNT")
 	private BigInteger commentCount = BigInteger.ZERO;
 
-	/**  评论被赞数 */
+	/**  璇勮琚禐鏁� */
 	@Column(name="COMMENT_PRAISE_COUNT")
 	private BigInteger commentPraiseCount = BigInteger.ZERO;
 
diff --git a/src/main/java/com/qxueyou/scc/operation/comment/mode/SnsMyPraise.java b/src/main/java/com/qxueyou/scc/operation/comment/mode/SnsMyPraise.java
index 32ec6e8..d9e41e3 100644
--- a/src/main/java/com/qxueyou/scc/operation/comment/mode/SnsMyPraise.java
+++ b/src/main/java/com/qxueyou/scc/operation/comment/mode/SnsMyPraise.java
@@ -16,7 +16,7 @@
 
 
 /**
- * 我的点赞视图
+ * 鎴戠殑鐐硅禐瑙嗗浘
  * 
  * @author lihanqi
  *
@@ -28,26 +28,26 @@
 	
 	private static final long serialVersionUID = 1L;
 	
-	/** 类型  1讨论,2评论*/
+	/** 绫诲瀷  1璁ㄨ锛�2璇勮*/
 	private int type;
 	
-	/** 用户名称*/
+	/** 鐢ㄦ埛鍚嶇О*/
 	private String name;
 	
-	/** 用户Id*/
+	/** 鐢ㄦ埛Id*/
 	@Column(name="USER_ID", length=32)
 	private String userId;
 	
-	/** 用户头像*/
+	/** 鐢ㄦ埛澶村儚*/
 	@Column(name="IMG_PATH", length=32)
 	private String imgPath;
 	
-	/** 创建者ID  */
+	/** 鍒涘缓鑰匢D  */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	@JsonIgnore
 	private String createId;
 
-	/** 创建人  */
+	/** 鍒涘缓浜�  */
 	@Column(name="CREATOR", nullable=false, length=100)
 	@JsonIgnore
 	private String creator;
@@ -61,29 +61,29 @@
     @Column(name = "TOPIC_ID", nullable = false, length = 32)
     private String topicId;
 	
-	/** 主键  */
+	/** 涓婚敭  */
 	@Column(name="COMMENT_ID", length=32)
 	private String commentId;
 	
-	/** 主键  */
+	/** 涓婚敭  */
 	@Id
 	@Column(name="COMMENT_PRAISE_ID", length=32)
 	private String commentPraiseId;
 
-	/** 评论时间 */
+	/** 璇勮鏃堕棿 */
 	@Column(name="PRAISE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date praiseTime;
 
-	/** 评论内容  */
+	/** 璇勮鍐呭  */
 	@Column(name="CONTENT")
 	private String content;
 
-	/**  评论个数 */
+	/**  璇勮涓暟 */
 	@Column(name="COMMENT_COUNT")
 	private BigInteger commentCount = BigInteger.ZERO;
 
-	/**  评论被赞数 */
+	/**  璇勮琚禐鏁� */
 	@Column(name="COMMENT_PRAISE_COUNT")
 	private BigInteger commentPraiseCount = BigInteger.ZERO;
 
diff --git a/src/main/java/com/qxueyou/scc/operation/comment/mode/SnsPraiseToMe.java b/src/main/java/com/qxueyou/scc/operation/comment/mode/SnsPraiseToMe.java
index 9e02bea..1afb1ae 100644
--- a/src/main/java/com/qxueyou/scc/operation/comment/mode/SnsPraiseToMe.java
+++ b/src/main/java/com/qxueyou/scc/operation/comment/mode/SnsPraiseToMe.java
@@ -16,7 +16,7 @@
 
 
 /**
- * 给我点赞视图
+ * 缁欐垜鐐硅禐瑙嗗浘
  * 
  * @author lihanqi
  *
@@ -28,26 +28,26 @@
 	
 	private static final long serialVersionUID = 1L;
 	
-	/** 类型  1讨论,2评论*/
+	/** 绫诲瀷  1璁ㄨ锛�2璇勮*/
 	private int type;
 	
-	/** 用户名称*/
+	/** 鐢ㄦ埛鍚嶇О*/
 	private String name;
 	
-	/** 用户Id*/
+	/** 鐢ㄦ埛Id*/
 	@Column(name="USER_ID", length=32)
 	private String userId;
 	
-	/** 用户头像*/
+	/** 鐢ㄦ埛澶村儚*/
 	@Column(name="IMG_PATH", length=32)
 	private String imgPath;
 	
-	/** 创建者ID  */
+	/** 鍒涘缓鑰匢D  */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	@JsonIgnore
 	private String createId;
 
-	/** 创建人  */
+	/** 鍒涘缓浜�  */
 	@Column(name="CREATOR", nullable=false, length=100)
 	@JsonIgnore
 	private String creator;
@@ -61,29 +61,29 @@
     @Column(name = "TOPIC_ID", nullable = false, length = 32)
     private String topicId;
 	
-	/** 主键  */
+	/** 涓婚敭  */
 	@Column(name="COMMENT_ID", length=32)
 	private String commentId;
 	
-	/** 主键  */
+	/** 涓婚敭  */
 	@Id
 	@Column(name="COMMENT_PRAISE_ID", length=32)
 	private String commentPraiseId;
 
-	/** 评论时间 */
+	/** 璇勮鏃堕棿 */
 	@Column(name="PRAISE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date praiseTime;
 
-	/** 评论内容  */
+	/** 璇勮鍐呭  */
 	@Column(name="CONTENT")
 	private String content;
 
-	/**  评论个数 */
+	/**  璇勮涓暟 */
 	@Column(name="COMMENT_COUNT")
 	private BigInteger commentCount = BigInteger.ZERO;
 
-	/**  评论被赞数 */
+	/**  璇勮琚禐鏁� */
 	@Column(name="COMMENT_PRAISE_COUNT")
 	private BigInteger commentPraiseCount = BigInteger.ZERO;
 
diff --git a/src/main/java/com/qxueyou/scc/operation/topic/action/StuTopicController.java b/src/main/java/com/qxueyou/scc/operation/topic/action/StuTopicController.java
index 81680de..3c6470d 100644
--- a/src/main/java/com/qxueyou/scc/operation/topic/action/StuTopicController.java
+++ b/src/main/java/com/qxueyou/scc/operation/topic/action/StuTopicController.java
@@ -19,12 +19,12 @@
 import io.swagger.annotations.ApiOperation;
 
 /**
- * 学习端 话题前端控制器
+ * 瀛︿範绔� 璇濋鍓嶇鎺у埗鍣�
  * 
  * @author chenjunliang
  *
  */
-@Api(tags="讨论接口")
+@Api(tags="璁ㄨ鎺ュ彛")
 @RestController
 @CrossOrigin(origins="*",maxAge=3600)
 @RequestMapping(value = "/stu/topic")
@@ -37,23 +37,23 @@
 	IUserService userService;
 	
 	/**
-	 * 获取热门话题列表
+	 * 鑾峰彇鐑棬璇濋鍒楄〃
 	 * 
 	 * @param classId
-	 *            班级id
+	 *            鐝骇id
 	 * @param keyword
-	 *            索搜关键字
+	 *            绱㈡悳鍏抽敭瀛�
 	 * @param limit
-	 *            每页显示几条
+	 *            姣忛〉鏄剧ず鍑犳潯
 	 * @param pageNum
-	 *            页码
-	 * @return status (0,为开始。1,讨论中。2,已结束。)
+	 *            椤电爜
+	 * @return status (0,涓哄紑濮嬨��1,璁ㄨ涓��2,宸茬粨鏉熴��)
 	 */
-	@ApiOperation(value = "获取热门话题列表", notes = "")
+	@ApiOperation(value = "鑾峰彇鐑棬璇濋鍒楄〃", notes = "")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "classId", value = "班级id", required = true, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "type", value = "1热门,2最近", required = true, paramType="query", dataType = "int"),
-        @ApiImplicitParam(name = "scope", value = "1班级,2机构", required = true, paramType="query", dataType = "int"),
+        @ApiImplicitParam(name = "classId", value = "鐝骇id", required = true, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "type", value = "1鐑棬锛�2鏈�杩�", required = true, paramType="query", dataType = "int"),
+        @ApiImplicitParam(name = "scope", value = "1鐝骇锛�2鏈烘瀯", required = true, paramType="query", dataType = "int"),
     })
 	@GetMapping(value = "getHotTopicLst")
 	public Result getClassTopicLst(String classId, @RequestParam(defaultValue="")String keyword, Pager pager, int type, int scope) {
@@ -62,38 +62,38 @@
 	}
 	
 	/**
-	 * 我的回复
+	 * 鎴戠殑鍥炲
 	 * 
 	 * @param pageSize
-	 *            每页显示多少条
+	 *            姣忛〉鏄剧ず澶氬皯鏉�
 	 * @param currentPage
-	 *            当前页码
+	 *            褰撳墠椤电爜
 	 */
-	@ApiOperation(value = "app端接口-我的回复", notes = "")
+	@ApiOperation(value = "app绔帴鍙�-鎴戠殑鍥炲", notes = "")
 	@GetMapping(value = "/app/myComment")
 	public Result appMyComment(Pager pager) {
 		return topicService.appMyComment(ClientUtils.getUserId(), pager);
 	}
 	
 	/**
-	 * app端接口-回复我的获取列表
+	 * app绔帴鍙�-鍥炲鎴戠殑鑾峰彇鍒楄〃
 	 * 
 	 * @param pager
 	 * @return
 	 */
-	@ApiOperation(value = "app端接口-回复我的获取列表", notes = "")
+	@ApiOperation(value = "app绔帴鍙�-鍥炲鎴戠殑鑾峰彇鍒楄〃", notes = "")
 	@GetMapping(value = "/app/commentToMe")
 	public Result commentToMe(Pager pager) {
 		return topicService.commentToMe(ClientUtils.getUserId(), pager);
 	}
 	
 	/**
-	 * app端接口-我的点赞
+	 * app绔帴鍙�-鎴戠殑鐐硅禐
 	 * 
 	 * @param pager
 	 * @return
 	 */
-	@ApiOperation(value = "app端接口-我的点赞", notes = "")
+	@ApiOperation(value = "app绔帴鍙�-鎴戠殑鐐硅禐", notes = "")
 	@GetMapping(value = "/app/myPraise")
 	public Result appMyPraise(Pager pager) {
 
@@ -101,33 +101,33 @@
 	}
 	
 	/**
-	 * app端接口-给我赞的
+	 * app绔帴鍙�-缁欐垜璧炵殑
 	 * 
 	 * @param pager
 	 * @return
 	 */
-	@ApiOperation(value = "app端接口-给我赞的", notes = "")
+	@ApiOperation(value = "app绔帴鍙�-缁欐垜璧炵殑", notes = "")
 	@GetMapping(value = "/app/praiseToMe")
 	public Result praiseToMe(Pager pager) {
 		return topicService.praiseToMe(ClientUtils.getUserId(), pager);
 	}
 
 	/**
-	 * 获取话题列表
+	 * 鑾峰彇璇濋鍒楄〃
 	 * 
 	 * @param classId
-	 *            班级id
+	 *            鐝骇id
 	 * @param keyword
-	 *            索搜关键字
+	 *            绱㈡悳鍏抽敭瀛�
 	 * @param limit
-	 *            每页显示几条
+	 *            姣忛〉鏄剧ず鍑犳潯
 	 * @param pageNum
-	 *            页码
-	 * @return status (0,为开始。1,讨论中。2,已结束。)
+	 *            椤电爜
+	 * @return status (0,涓哄紑濮嬨��1,璁ㄨ涓��2,宸茬粨鏉熴��)
 	 */
-	@ApiOperation(value = "获取话题列表", notes = "")
+	@ApiOperation(value = "鑾峰彇璇濋鍒楄〃", notes = "")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "classId", value = "班级id", required = true, paramType="query", dataType = "String")
+        @ApiImplicitParam(name = "classId", value = "鐝骇id", required = true, paramType="query", dataType = "String")
     })
 	@GetMapping(value = "getTopicLst")
 	public Result getTopicLst(String classId, String keyword, Integer limit, Integer pageNum) {
@@ -141,27 +141,27 @@
 	}
 
 	/**
-	 * 学习端 发布/更新话题
+	 * 瀛︿範绔� 鍙戝竷/鏇存柊璇濋
 	 * 
 	 * @param topicName
-	 *            话题名称
+	 *            璇濋鍚嶇О
 	 * @param topicDesc
-	 *            话题描述
+	 *            璇濋鎻忚堪
 	 * @param starTime
-	 *            开始时间
+	 *            寮�濮嬫椂闂�
 	 * @param endTime
-	 *            结束时间
+	 *            缁撴潫鏃堕棿
 	 * @param classId
-	 *            班级id(可以多个)
+	 *            鐝骇id(鍙互澶氫釜)
 	 */
-	@ApiOperation(value = "发布/更新话题", notes = "")
+	@ApiOperation(value = "鍙戝竷/鏇存柊璇濋", notes = "")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "classId", value = "班级ids", required = true, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "topicName", value = "讨论名称", required = true, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "topicDesc", value = "内容", required = true, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "startTime", value = "开始时间", required = true, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "endTime", value = "结束时间", required = true, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "topicId", value = "讨论id", required = true, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "classId", value = "鐝骇ids", required = true, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "topicName", value = "璁ㄨ鍚嶇О", required = true, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "topicDesc", value = "鍐呭", required = true, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "startTime", value = "寮�濮嬫椂闂�", required = true, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "endTime", value = "缁撴潫鏃堕棿", required = true, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "topicId", value = "璁ㄨid", required = true, paramType="query", dataType = "String"),
     })
 	@PostMapping(value = "addOrUpdateTopic")
 	public Result addOrUpdateTopic(@RequestBody TopicInfo topicInfo) {
@@ -172,14 +172,14 @@
 	}
 
 	/**
-	 * 学习端讨论区
+	 * 瀛︿範绔璁哄尯
 	 * 
 	 * @param keyword
-	 *            搜索关键字
+	 *            鎼滅储鍏抽敭瀛�
 	 * @param limit
-	 *            每页显示几条
+	 *            姣忛〉鏄剧ず鍑犳潯
 	 * @param pageNum
-	 *            页码
+	 *            椤电爜
 	 */
 	@GetMapping(value = "lstCommonTopic")
 	public Result lstCommonTopic(String keyword, Integer limit, Integer pageNum, String classId) {
@@ -187,16 +187,16 @@
 	}
 
 	/**
-	 * 学习端 讨论统计
+	 * 瀛︿範绔� 璁ㄨ缁熻
 	 */
-	@ApiOperation(value = "学习端 讨论统计", notes = "")
+	@ApiOperation(value = "瀛︿範绔� 璁ㄨ缁熻", notes = "")
 	@GetMapping(value = "commentDetail")
 	public Result commentDetail() {
 		return topicService.commentDetail(ClientUtils.getUserId());
 	}
 
 	/**
-	 * 班级论坛
+	 * 鐝骇璁哄潧
 	 */
 	@GetMapping(value = "getClassForumLst")
 	public Result getClassForum() {
@@ -205,7 +205,7 @@
 	}
 
 	/**
-	 * 学习端获取班级论坛详情
+	 * 瀛︿範绔幏鍙栫彮绾ц鍧涜鎯�
 	 */
 	@GetMapping(value = "getClassForumDetail")
 	public Result getClassForumDetail(String classId) {
@@ -214,14 +214,14 @@
 	}
 
 	/**
-	 * 获取话题详情
+	 * 鑾峰彇璇濋璇︽儏
 	 * 
 	 * @param topicId
-	 *            话题id
+	 *            璇濋id
 	 */
-	@ApiOperation(value = "获取话题详情", notes = "")
+	@ApiOperation(value = "鑾峰彇璇濋璇︽儏", notes = "")
 	@ApiImplicitParams({
-        @ApiImplicitParam(name = "topicId", value = "讨论id", required = true, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "topicId", value = "璁ㄨid", required = true, paramType="query", dataType = "String"),
     })
 	@GetMapping(value = "getTopicDetails")
 	public Result getTopicDetails(String topicId) {
@@ -229,18 +229,18 @@
 	}
 
 	/**
-	 * 获取详情 获取评论列表
+	 * 鑾峰彇璇︽儏 鑾峰彇璇勮鍒楄〃
 	 * 
 	 * @param topicId
-	 *            话题id
+	 *            璇濋id
 	 * @param limit
-	 *            每页显示几条
+	 *            姣忛〉鏄剧ず鍑犳潯
 	 * @param pageNum
-	 *            页码
+	 *            椤电爜
 	 */
-	@ApiOperation(value = "获取详情 获取评论列表", notes = "")
+	@ApiOperation(value = "鑾峰彇璇︽儏 鑾峰彇璇勮鍒楄〃", notes = "")
 	@ApiImplicitParams({
-        @ApiImplicitParam(name = "topicId", value = "讨论id", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "topicId", value = "璁ㄨid", required = false, paramType="query", dataType = "String"),
     })
 	@GetMapping(value = "getCommentLst")
 	public Result getCommentLst(String topicId, Integer pageSize, Integer pageNum) {
@@ -249,14 +249,14 @@
 	}
 
 	/**
-	 * 我发布的话题
+	 * 鎴戝彂甯冪殑璇濋
 	 * 
 	 * @param pageSize
-	 *            每页显示多少条
+	 *            姣忛〉鏄剧ず澶氬皯鏉�
 	 * @param pageNum
-	 *            当前页码
+	 *            褰撳墠椤电爜
 	 */
-	@ApiOperation(value = "我发布的话题", notes = "")
+	@ApiOperation(value = "鎴戝彂甯冪殑璇濋", notes = "")
 	@GetMapping(value = "myTopic")
 	public Result myTopic(Integer pageSize, Integer pageNum) {
 
@@ -264,14 +264,14 @@
 	}
 
 	/**
-	 * 我的回复
+	 * 鎴戠殑鍥炲
 	 * 
 	 * @param pageSize
-	 *            每页显示多少条
+	 *            姣忛〉鏄剧ず澶氬皯鏉�
 	 * @param currentPage
-	 *            当前页码
+	 *            褰撳墠椤电爜
 	 */
-	@ApiOperation(value = "我的回复", notes = "")
+	@ApiOperation(value = "鎴戠殑鍥炲", notes = "")
 	@GetMapping(value = "myComment")
 	public Result myComment(Integer pageSize, Integer pageNum) {
 
@@ -279,14 +279,14 @@
 	}
 	
 	/**
-	 * 我的回复
+	 * 鎴戠殑鍥炲
 	 * 
 	 * @param pageSize
-	 *            每页显示多少条
+	 *            姣忛〉鏄剧ず澶氬皯鏉�
 	 * @param currentPage
-	 *            当前页码
+	 *            褰撳墠椤电爜
 	 */
-	@ApiOperation(value = "我的点赞", notes = "")
+	@ApiOperation(value = "鎴戠殑鐐硅禐", notes = "")
 	@GetMapping(value = "myPraise")
 	public Result myPraise(Integer pageSize, Integer pageNum) {
 
@@ -294,11 +294,11 @@
 	}
 
 	/**
-	 * 删除我的回复
+	 * 鍒犻櫎鎴戠殑鍥炲
 	 */
-	@ApiOperation(value = "删除我的回复", notes = "")
+	@ApiOperation(value = "鍒犻櫎鎴戠殑鍥炲", notes = "")
 	@ApiImplicitParams({
-        @ApiImplicitParam(name = "commentId", value = "评论id", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "commentId", value = "璇勮id", required = false, paramType="query", dataType = "String"),
     })
 	@GetMapping(value = "deleteMycomment")
 	public Result deleteMycomment(String commentId) {
@@ -306,50 +306,50 @@
 	}
 
 	/**
-	 * 回复我的获取列表
+	 * 鍥炲鎴戠殑鑾峰彇鍒楄〃
 	 * 
 	 * @param keyword
-	 *            话题id
+	 *            璇濋id
 	 * @param limit
-	 *            每页显示几条
+	 *            姣忛〉鏄剧ず鍑犳潯
 	 * @param pageNum
-	 *            页码
+	 *            椤电爜
 	 * 
 	 */
-	@ApiOperation(value = "回复我的获取列表", notes = "")
+	@ApiOperation(value = "鍥炲鎴戠殑鑾峰彇鍒楄〃", notes = "")
 	@GetMapping(value = "getCommentLstToMe")
 	public Result gerCommentLstToMe(Integer pageSize, Integer pageNum) {
 		return topicService.getCommentLstToMe(pageSize, pageNum);
 	}
 
 	/**
-	 * 获取我的点赞
+	 * 鑾峰彇鎴戠殑鐐硅禐
 	 */
-	@ApiOperation(value = "获取我的点赞", notes = "")
+	@ApiOperation(value = "鑾峰彇鎴戠殑鐐硅禐", notes = "")
 	@GetMapping(value = "getPraiseLst")
 	public Result getPraiseLst(Integer pageSize, Integer pageNum) {
 		return topicService.getPraiseLst(pageSize, pageNum);
 	}
 
 	/**
-	 * 话题回复评论
+	 * 璇濋鍥炲璇勮
 	 * 
 	 * @param content
-	 *            评论内容
+	 *            璇勮鍐呭
 	 * @param topicId
-	 *            话题id
-	 * @param 回复评论的id
+	 *            璇濋id
+	 * @param 鍥炲璇勮鐨刬d
 	 */
 	/**
-	 * 获取我的点赞
+	 * 鑾峰彇鎴戠殑鐐硅禐
 	 */
-	@ApiOperation(value = "话题回复评论", notes = "")
+	@ApiOperation(value = "璇濋鍥炲璇勮", notes = "")
 		@ApiImplicitParams({
-			@ApiImplicitParam(name = "commentedId", value = "被评论的id", required = false, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "content", value = "回复内容", required = false, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "commentObjectId", value = "评论话题id", required = false, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "commentParentId", value = "父评论id", required = true, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "commentedName", value = "被评论者", required = false, paramType="query", dataType = "String"),
+			@ApiImplicitParam(name = "commentedId", value = "琚瘎璁虹殑id", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "content", value = "鍥炲鍐呭", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "commentObjectId", value = "璇勮璇濋id", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "commentParentId", value = "鐖惰瘎璁篿d", required = true, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "commentedName", value = "琚瘎璁鸿��", required = false, paramType="query", dataType = "String"),
     })
 	@GetMapping(value = "addComment")
 	public Result addComment(String content, String commentObjectId, String commentParentId, String commentedId,
@@ -358,17 +358,17 @@
 	}
 
 	/**
-	 * 点赞话题/评论
+	 * 鐐硅禐璇濋/璇勮
 	 * 
 	 * @param commentId
-	 *            评论id
+	 *            璇勮id
 	 * @param topicId
-	 *            话题id
+	 *            璇濋id
 	 */
-	@ApiOperation(value = "点赞话题/评论", notes = "")
+	@ApiOperation(value = "鐐硅禐璇濋/璇勮", notes = "")
 	@ApiImplicitParams({
-        @ApiImplicitParam(name = "commentId", value = "点赞评论id", required = false, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "commentObjectId", value = "点赞话题id", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "commentId", value = "鐐硅禐璇勮id", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "commentObjectId", value = "鐐硅禐璇濋id", required = false, paramType="query", dataType = "String"),
     })
 	@GetMapping(value = "addPraise")
 	public Result addPraise(String commentId, String commentObjectId) {
@@ -376,14 +376,14 @@
 	}
 
 	/**
-	 * 删除话题
+	 * 鍒犻櫎璇濋
 	 * 
 	 * @param topicId
-	 *            话题id
+	 *            璇濋id
 	 */
-	@ApiOperation(value = "删除讨论", notes = "")
+	@ApiOperation(value = "鍒犻櫎璁ㄨ", notes = "")
 	@ApiImplicitParams({
-        @ApiImplicitParam(name = "topicId", value = "讨论id", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "topicId", value = "璁ㄨid", required = false, paramType="query", dataType = "String"),
     })
 	@PostMapping(value = "deleteTopic")
 	public Result deleteTopic(String topicId) {
diff --git a/src/main/java/com/qxueyou/scc/operation/topic/model/TopicClassRe.java b/src/main/java/com/qxueyou/scc/operation/topic/model/TopicClassRe.java
index 7a03138..0098c86 100644
--- a/src/main/java/com/qxueyou/scc/operation/topic/model/TopicClassRe.java
+++ b/src/main/java/com/qxueyou/scc/operation/topic/model/TopicClassRe.java
@@ -17,7 +17,7 @@
 import com.qxueyou.scc.base.model.ITrace;
 
 /**
- * 话题班级中间表
+ * 璇濋鐝骇涓棿琛�
  * 
  * @author chenjunliang
  *
@@ -50,20 +50,20 @@
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date createTime;
 
-	/** 修改人ID */
+	/** 淇敼浜篒D */
 	@Column(name = "UPDATE_ID", length = 32)
 	private String updateId;
 
-	/** 修改时间 */
+	/** 淇敼鏃堕棿 */
 	@Column(name = "UPDATE_TIME", nullable = false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date updateTime;
 
-	/** 修改人 */
+	/** 淇敼浜� */
 	@Column(name = "UPDATOR", length = 100)
 	private String updator;
 
-	/** 删除标志 */
+	/** 鍒犻櫎鏍囧織 */
 	@Column(name = "DELETE_FLAG", nullable = false)
 	@JsonIgnore
 	private boolean deleteFlag;
diff --git a/src/main/java/com/qxueyou/scc/operation/topic/model/TopicInfo.java b/src/main/java/com/qxueyou/scc/operation/topic/model/TopicInfo.java
index 9205f67..6e2c27e 100644
--- a/src/main/java/com/qxueyou/scc/operation/topic/model/TopicInfo.java
+++ b/src/main/java/com/qxueyou/scc/operation/topic/model/TopicInfo.java
@@ -92,26 +92,26 @@
     private Date createTime;
 
     /**
-     * 修改人ID
+     * 淇敼浜篒D
      */
     @Column(name = "UPDATE_ID", length = 32)
     private String updateId;
 
     /**
-     * 修改时间
+     * 淇敼鏃堕棿
      */
     @Column(name = "UPDATE_TIME", nullable = false)
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date updateTime;
 
     /**
-     * 修改人
+     * 淇敼浜�
      */
     @Column(name = "UPDATOR", length = 100)
     private String updator;
 
     /**
-     * 删除标志
+     * 鍒犻櫎鏍囧織
      */
     @Column(name = "DELETE_FLAG", nullable = false)
     @JsonIgnore
diff --git a/src/main/java/com/qxueyou/scc/operation/topic/service/ITopicService.java b/src/main/java/com/qxueyou/scc/operation/topic/service/ITopicService.java
index 83d86e1..6239c5a 100644
--- a/src/main/java/com/qxueyou/scc/operation/topic/service/ITopicService.java
+++ b/src/main/java/com/qxueyou/scc/operation/topic/service/ITopicService.java
@@ -7,96 +7,96 @@
 import com.qxueyou.scc.operation.topic.model.TopicInfo;
 
 /**
- * 话题服务层
+ * 璇濋鏈嶅姟灞�
  * 
  * @author chenjunliang
  *
  */
 public interface ITopicService {
 	/**
-	 * 获取话题列表
+	 * 鑾峰彇璇濋鍒楄〃
 	 */
 	Result getTopicLst(String classId, String keyword, Integer limit, Integer pageNum);
 
 	/**
-	 * 获取话题内容信息
+	 * 鑾峰彇璇濋鍐呭淇℃伅
 	 */
 	Result doTopicDetails(String topicId);
 
 	/**
-	 * 话题的新增
+	 * 璇濋鐨勬柊澧�
 	 */
 	Result addTopicInfo(TopicInfo topicInfo);
 
 	/**
-	 * 获取最新话题列表
+	 * 鑾峰彇鏈�鏂拌瘽棰樺垪琛�
 	 */
 	Result lstCommonTopic(String keyword, Integer limit, Integer pageNum, String classId);
 
 	/**
-	 * 获取班级论坛列表
+	 * 鑾峰彇鐝骇璁哄潧鍒楄〃
 	 */
 	Result getClassForum();
 
 	/**
-	 * 学习端获取班级论坛详情
+	 * 瀛︿範绔幏鍙栫彮绾ц鍧涜鎯�
 	 */
 	Result getClassForumDetail(String classId);
 
 	/**
-	 * 获取详情 获取评论列表
+	 * 鑾峰彇璇︽儏 鑾峰彇璇勮鍒楄〃
 	 */
 	Result getCommentLst(String topicId, Integer limit, Integer pageNum);
 
 	/**
-	 * 我发布的话题
+	 * 鎴戝彂甯冪殑璇濋
 	 */
 	Result myTopic(Integer pageSize, Integer pageNum);
 
 	/**
-	 * 我的回复
+	 * 鎴戠殑鍥炲
 	 */
 	Result myComment(Integer pageSize, Integer pageNum);
 
 	/**
-	 * 删除我的回复
+	 * 鍒犻櫎鎴戠殑鍥炲
 	 */
 	Result deleteMycomment(String commentId);
 
 	/**
-	 * 回复我的
+	 * 鍥炲鎴戠殑
 	 */
 	Result getCommentLstToMe(Integer pageSize, Integer pageNum);
 
 	/**
-	 * 获取我的点赞
+	 * 鑾峰彇鎴戠殑鐐硅禐
 	 * 
 	 * @return
 	 */
 	Result getPraiseLst(Integer pageSize, Integer pageNum);
 
 	/**
-	 * 话题回复评论
+	 * 璇濋鍥炲璇勮
 	 */
 	Result addComment(String content, String topicId, String commentId, String commentedId, String commentedName);
 
 	/**
-	 * 点赞话题的评论
+	 * 鐐硅禐璇濋鐨勮瘎璁�
 	 */
 	Result addPraise(String commentId, String topiId);
 
 	/**
-	 * 删除话题
+	 * 鍒犻櫎璇濋
 	 */
 	Result deleteTopic(String topicId);
 
 	/**
-	 * 讨论统计
+	 * 璁ㄨ缁熻
 	 */
 	Result commentDetail(String userId);
 
 	/**
-	 * 获取后台管理列表
+	 * 鑾峰彇鍚庡彴绠$悊鍒楄〃
 	 * 
 	 * @param classId
 	 * @param pageSize
@@ -107,7 +107,7 @@
 	Result getTopicLstOfAdmin(String classId, Integer pageSize, Integer pageNum, String keyword);
 
 	/**
-	 * 话题的更新
+	 * 璇濋鐨勬洿鏂�
 	 * 
 	 * @param topicName
 	 * @param topicDesc
@@ -120,7 +120,7 @@
 	Result updateTopicInfo(TopicInfo topicInfo);
 
 	/**
-	 * 获取后台管理教师的话题列表
+	 * 鑾峰彇鍚庡彴绠$悊鏁欏笀鐨勮瘽棰樺垪琛�
 	 * 
 	 * @param classId
 	 * @param pageSize
@@ -131,7 +131,7 @@
 	Result getTopicLstOfTeacher(String classId, Integer pageSize, Integer pageNum, String keyword);
 	
 	/**
-	 * 获取热门讨论
+	 * 鑾峰彇鐑棬璁ㄨ
 	 * 
 	 * @param classId
 	 * @param keyword
@@ -142,7 +142,7 @@
 	Map<String, Object> getHotTopicLst(String classId, String keyword, Integer limit, Integer pageNum, int type, int scope);
 	
 	/**
-	 * 获取讨论数量
+	 * 鑾峰彇璁ㄨ鏁伴噺
 	 * 
 	 * @param keyword
 	 * @param classId
@@ -152,7 +152,7 @@
 	public int getTopicCount(String keyword, String classId, String userId);
 	
 	/**
-	 * app-我的回复
+	 * app-鎴戠殑鍥炲
 	 * 
 	 * @param userId
 	 * @param pager
@@ -161,7 +161,7 @@
 	Result appMyComment(String userId, Pager pager);
 	
 	/**
-	 * app端接口-回复我的获取列表
+	 * app绔帴鍙�-鍥炲鎴戠殑鑾峰彇鍒楄〃
 	 * 
 	 * @param userId
 	 * @param pager
@@ -170,7 +170,7 @@
 	Result commentToMe(String userId, Pager pager);
 	
 	/**
-	 * app端接口-我的点赞
+	 * app绔帴鍙�-鎴戠殑鐐硅禐
 	 * 
 	 * @param userId
 	 * @param pager
@@ -179,7 +179,7 @@
 	Result appMyPraise(String userId, Pager pager);
 	
 	/**
-	 * app端接口-给我赞的
+	 * app绔帴鍙�-缁欐垜璧炵殑
 	 * 
 	 * @param userId
 	 * @param pager
@@ -188,7 +188,7 @@
 	Result praiseToMe(String userId, Pager pager);
 	
 	/**
-     * 获取班级讨论数量
+     * 鑾峰彇鐝骇璁ㄨ鏁伴噺
      * 
      * @param classId
      * @return
diff --git a/src/main/java/com/qxueyou/scc/operation/topic/service/impl/TopicService.java b/src/main/java/com/qxueyou/scc/operation/topic/service/impl/TopicService.java
index 8daafa1..e7827ed 100644
--- a/src/main/java/com/qxueyou/scc/operation/topic/service/impl/TopicService.java
+++ b/src/main/java/com/qxueyou/scc/operation/topic/service/impl/TopicService.java
@@ -50,7 +50,7 @@
 import com.qxueyou.scc.user.service.IUserService;
 
 /**
- * 话题服务层
+ * 璇濋鏈嶅姟灞�
  *
  * @author chenjunliang
  */
@@ -92,7 +92,7 @@
                     + " c.commentObjectId =o.commentObjectId and o.commentObjectType = 5";
             List<Map<String, Object>> commentIdLst = findListWithMapByHql(findPeopleCountByHql,
                     CollectionUtils.newObjectMap("topicId", topicId));
-            int peopleCount = commentIdLst.size();// 参与人数
+            int peopleCount = commentIdLst.size();// 鍙備笌浜烘暟
             map.put("peopleCount", peopleCount);
         }
         return new Result(true, "success",
@@ -136,7 +136,7 @@
         String hql = "from CommentObject where deleteFlag is false and commentObjectUid = ? and commentObjectType = 5";
         CommentObject commentObject = findUnique(hql, CollectionUtils.newList(topicId), CommentObject.class);
         BigInteger viewCount = commentObject.getViewCount();
-        commentObject.setViewCount(viewCount.add(new BigInteger("1")));// 查看条数+1
+        commentObject.setViewCount(viewCount.add(new BigInteger("1")));// 鏌ョ湅鏉℃暟+1
         BigInteger viewCount2Json = commentObject.getViewCount();
         BigInteger commentPraiseCount = commentObject.getCommentPraiseCount();
         TraceUtils.setUpdateTrace(commentObject);
@@ -154,7 +154,7 @@
                 + " c.commentObjectId =o.commentObjectId and o.commentObjectType = 5";
 
         List<Map<String, Object>> commentIdLst = findListWithMapByHql(findPeopleCountByHql,CollectionUtils.newObjectMap("topicId", topicId));
-        int peopleCount = commentIdLst.size();// 参与人数
+        int peopleCount = commentIdLst.size();// 鍙備笌浜烘暟
         
         return new Result(true, "success",
                 CollectionUtils.newObjectMap("topicId", topicId,"topicType", topic.getTopicType(), "createTime", topic.getCreateTime(), "topicName", topic.getTopicName(), "issuer",
@@ -168,7 +168,7 @@
     public Result addTopicInfo(TopicInfo topicInfo) {
 //    	if(topicInfo.getTopicType()==TopicInfo.TOPIC_TYPE_CLS && StringUtils.isEmpty(topicInfo.getClassId())) {
     	if(StringUtils.isEmpty(topicInfo.getClassId())) {
-    		return new Result(false, "请选择关联班级!");
+    		return new Result(false, "璇烽�夋嫨鍏宠仈鐝骇锛�");
     	}
     	String classId = topicInfo.getClassId();
     	topicInfo.setTopicId(null);
@@ -185,7 +185,7 @@
                 topicClassRe.setClassId(classIds[i]);
                 topicClassRe.setTopicId(topicInfo.getTopicId());
                 TraceUtils.setCreateTrace(topicClassRe);
-                save(topicClassRe);// 保存到中间表
+                save(topicClassRe);// 淇濆瓨鍒颁腑闂磋〃
             }
         }
         
@@ -199,7 +199,7 @@
         commentObject.setCommentCount(initParam);
         commentObject.setCommentPraiseCount(initParam);
         commentObject.setViewCount(initParam);
-        save(commentObject);// 创建评论对象
+        save(commentObject);// 鍒涘缓璇勮瀵硅薄
         return new Result(true, "add success");
     }
 
@@ -267,23 +267,23 @@
         Map<String, Object> mapJson = new HashMap<String, Object>();
         String name = clsClass.getName();
         String imgPath = clsClass.getImgPath();
-        int topicCount = findCountByComplexHql(// 获取话题条数
+        int topicCount = findCountByComplexHql(// 鑾峰彇璇濋鏉℃暟
                 "select count(1) from TopicClassRe r  where deleteFlag is false and classId =:classId",
                 CollectionUtils.newObjectMap("classId", classId));
         String findTopicIdLst = "select topicId as topicId from TopicClassRe where deleteFlag is false and classId=:classId";
-        List<Map<String, Object>> topicIdLst = findListWithMapByHql(findTopicIdLst, // 获取班级所有话题的id
+        List<Map<String, Object>> topicIdLst = findListWithMapByHql(findTopicIdLst, // 鑾峰彇鐝骇鎵�鏈夎瘽棰樼殑id
                 CollectionUtils.newObjectMap("classId", classId));
         int commentCount = 0;
         int studentCommentCount = 0;
         for (Map<String, Object> map : topicIdLst) {
             String topicId = (String) map.get("topicId");
-            CommentObject commentObject = findUnique(// 获取话题的评论条数
+            CommentObject commentObject = findUnique(// 鑾峰彇璇濋鐨勮瘎璁烘潯鏁�
                     "from CommentObject where deleteFlag is false and commentObjectUid = ? and commentObjectType = 5",
                     CollectionUtils.newList(topicId), CommentObject.class);
             BigInteger BigcommentCount = commentObject.getCommentCount();
             int count = BigcommentCount.intValue();
             commentCount += count;
-            List<Map<String, Object>> lstCommentId = findListWithMapByHql(// 获取回复话题的评论人数
+            List<Map<String, Object>> lstCommentId = findListWithMapByHql(// 鑾峰彇鍥炲璇濋鐨勮瘎璁轰汉鏁�
                     "select distinct c.commentterId as  commentterId from CommentObject o,Comment c where o.deleteFlag is false and o.commentObjectUid =:topicId and"
                             + " c.commentObjectId =o.commentObjectId and o.commentObjectType = 5",
                     CollectionUtils.newObjectMap("topicId", topicId));
@@ -305,7 +305,7 @@
                 + " and c.commentObjectId=o.commentObjectId and o.commentObjectUid =:topicId order by c.createTime desc";
         List<Map<String, Object>> commentLst = findListWithMapByHql(hql,
                 CollectionUtils.newObjectMap("topicId", topicId), new Pager(pageSize, pageNum));
-        int commentCount = findCountByComplexHql(// 获取总条数
+        int commentCount = findCountByComplexHql(// 鑾峰彇鎬绘潯鏁�
                 "select count(1) from Comment c ,CommentObject o where c.deleteFlag is false and o.deleteFlag is false"
                 + "  and c.commentObjectId=o.commentObjectId and o.commentObjectUid =:topicId and o.commentObjectType = 5",
                 CollectionUtils.newObjectMap("topicId", topicId));
@@ -317,14 +317,14 @@
             User user = read(User.class, userId);
             String imgPath = user.getImgPath();
             map.put("imgPath", imgPath);
-            // 获取每条评论的点赞数 ;
+            // 鑾峰彇姣忔潯璇勮鐨勭偣璧炴暟 ;
             String findPraiseCountByHql = "select count(1) from CommentPraise where deleteFlag is false and commentId =:commentId";
             int praiseCount = findCountByComplexHql(findPraiseCountByHql,
                     CollectionUtils.newObjectMap("commentId", commentId));
             map.put("praiseCount", praiseCount);
             map.put("commentCount", findCountByComplexHql("select count(1) from Comment where deleteFlag is false and commentParentId =:commentId",
                     CollectionUtils.newObjectMap("commentId", commentId)));
-            // 获取回复这个评论的自评论内容
+            // 鑾峰彇鍥炲杩欎釜璇勮鐨勮嚜璇勮鍐呭
             String findSubCommentDetailByhql = "select commentter as commentter ,content as commentContent ,createTime as commentTime from  Comment "
                     + " where deleteFlag is false and  commentId =:commentParentId ";
             List<Map<String, Object>> subCommentDetail = findListWithMapByHql(findSubCommentDetailByhql,
@@ -448,14 +448,14 @@
     public Result deleteMycomment(String commentId) {
         Comment comment = read(Comment.class, commentId);
         if(!comment.getCreateId().equals(ClientUtils.getUserId())) {
-        	return new Result(false, "只能删除自己发布的信息");
+        	return new Result(false, "鍙兘鍒犻櫎鑷繁鍙戝竷鐨勪俊鎭�");
         }
         comment.setDeleteFlag(true);
         TraceUtils.setCreateTrace(comment);
-        save(comment);// 删除评论表的
+        save(comment);// 鍒犻櫎璇勮琛ㄧ殑
 
         String[] commentIds = commentId.split(",");
-        this.bulkUpdateInLoop("update CommentPraise set deleteFlag = true where commentId = ?", commentIds);// 删除对应的点赞
+        this.bulkUpdateInLoop("update CommentPraise set deleteFlag = true where commentId = ?", commentIds);// 鍒犻櫎瀵瑰簲鐨勭偣璧�
 
         return new Result(true, "success");
     }
@@ -512,7 +512,7 @@
         String hql = "from CommentObject where commentObjectUid=? and deleteFlag is false and commentObjectType = 5";
         CommentObject commentObject = findUnique(hql, CollectionUtils.newList(commentObjectId), CommentObject.class);
         BigInteger commentCount = commentObject.getCommentCount();
-        commentObject.setCommentCount(commentCount.add(new BigInteger("1")));// 评论+1;
+        commentObject.setCommentCount(commentCount.add(new BigInteger("1")));// 璇勮+1;
         TraceUtils.setUpdateTrace(commentObject);
         save(commentObject);
         Comment comment = new Comment();
@@ -543,13 +543,13 @@
 
     @Override
     public Result addPraise(String commentId, String commentObjectId) {
-        if (StringUtils.isBlank(commentId)) {// 点赞话题
+        if (StringUtils.isBlank(commentId)) {// 鐐硅禐璇濋
             String hql = "from CommentObject where deleteFlag is false and commentObjectUid = ? and commentObjectType = 5";
             CommentObject commentObject = findUnique(hql, CollectionUtils.newList(commentObjectId),
                     CommentObject.class);
             BigInteger commentPraiseCount = commentObject.getCommentPraiseCount();
             BigInteger one = new BigInteger("1");
-            commentObject.setCommentPraiseCount(commentPraiseCount.add(one));// 点赞数+1
+            commentObject.setCommentPraiseCount(commentPraiseCount.add(one));// 鐐硅禐鏁�+1
             TraceUtils.setCreateTrace(commentObject);
             save(commentObject);
 
@@ -564,7 +564,7 @@
         commentPraise.setCommentterId(ClientUtils.getUserId());
         commentPraise.setCommentter(ClientUtils.getUserName());
         TraceUtils.setCreateTrace(commentPraise);
-        save(commentPraise);// 保存到点赞表
+        save(commentPraise);// 淇濆瓨鍒扮偣璧炶〃
         
         return new Result(true, "success");
     }
@@ -574,51 +574,51 @@
         QCommentObject qCommentObject = QCommentObject.commentObject;
         QComment qComment = QComment.comment;
         QCommentPraise qCommentPraise = QCommentPraise.commentPraise;
-        //我发的讨论数量
+        //鎴戝彂鐨勮璁烘暟閲�
         long topicCount = this.getQueryFactory().selectFrom(qTopicInfo).where(qTopicInfo.deleteFlag.isFalse().and(qTopicInfo.createId.eq(userId))).fetchCount();
         
-        //我发的讨论的评论数
+        //鎴戝彂鐨勮璁虹殑璇勮鏁�
 		long topicCommentToMeCount = this.getQueryFactory().select(qCommentObject.commentCount.sum()).from(qCommentObject)
 				.where(qCommentObject.deleteFlag.isFalse().and(qCommentObject.createId.eq(userId))
 						.and(qCommentObject.commentObjectType.eq(CommentObject.COMMENT_TYPE_INTERACT)))
 				.fetchCount();
-		//我发的评论的评论数
+		//鎴戝彂鐨勮瘎璁虹殑璇勮鏁�
 		long commentToMeCount = this.getQueryFactory().selectDistinct(qComment.commentId).from(qCommentObject, qComment)
 				.where(qComment.deleteFlag.isFalse().and(qCommentObject.deleteFlag.isFalse())
 						.and(qCommentObject.createId.eq(userId)).and(qCommentObject.commentObjectUid.eq(qComment.commentObjectId))
 						.and(qCommentObject.commentObjectType.eq(CommentObject.COMMENT_TYPE_INTERACT)).and(qComment.commentParentId.isNotNull()))
 				.fetchCount();
 		
-		//我评论的讨论的评论数
+		//鎴戣瘎璁虹殑璁ㄨ鐨勮瘎璁烘暟
 		long topicCommentCount = this.getQueryFactory().selectDistinct(qComment.commentId).from(qCommentObject, qComment)
 				.where(qComment.deleteFlag.isFalse().and(qCommentObject.deleteFlag.isFalse())
 						.and(qComment.createId.eq(userId)).and(qCommentObject.commentObjectUid.eq(qComment.commentObjectId))
 						.and(qCommentObject.commentObjectType.eq(CommentObject.COMMENT_TYPE_INTERACT)).and(qComment.commentParentId.isNotNull()))
 				.fetchCount();
-		//我评论的数
+		//鎴戣瘎璁虹殑鏁�
 		long commentCount = this.getQueryFactory().selectDistinct(qComment.commentId).from(qCommentObject, qComment)
 				.where(qComment.deleteFlag.isFalse().and(qCommentObject.deleteFlag.isFalse())
 						.and(qComment.createId.eq(userId)).and(qCommentObject.commentObjectUid.eq(qComment.commentObjectId))
 						.and(qCommentObject.commentObjectType.eq(CommentObject.COMMENT_TYPE_INTERACT)).and(qComment.commentParentId.isNotNull()))
 				.fetchCount();
-		//我对讨论的点赞数
+		//鎴戝璁ㄨ鐨勭偣璧炴暟
 		long topicPraise = this.getQueryFactory().selectDistinct(qCommentPraise.commentPraiseId).from(qCommentObject, qCommentPraise)
 				.where(qCommentObject.deleteFlag.isFalse().and(qCommentPraise.createId.eq(userId))
 						.and(qCommentPraise.commentObjectId.eq(qCommentObject.commentObjectId)).and(qCommentPraise.deleteFlag.isFalse())
 						.and(qCommentObject.commentObjectType.eq(CommentObject.COMMENT_TYPE_INTERACT)))
 				.fetchCount();
-        //我对评论的点赞数
+        //鎴戝璇勮鐨勭偣璧炴暟
         long commentPraise = this.getQueryFactory().selectDistinct(qCommentPraise.commentPraiseId).from(qCommentObject, qComment, qCommentPraise)
 				.where(qComment.deleteFlag.isFalse().and(qCommentObject.deleteFlag.isFalse()).and(qCommentPraise.commentId.eq(qComment.commentId))
 						.and(qCommentPraise.createId.eq(userId)).and(qCommentObject.commentObjectUid.eq(qComment.commentObjectId)).and(qCommentPraise.deleteFlag.isFalse())
 						.and(qCommentObject.commentObjectType.eq(CommentObject.COMMENT_TYPE_INTERACT)))
 				.fetchCount();
-        //我的讨论的点赞数
+        //鎴戠殑璁ㄨ鐨勭偣璧炴暟
         long topicPraiseToMe = this.getQueryFactory().select(qCommentObject.commentPraiseCount.sum()).from(qCommentObject)
 				.where(qCommentObject.deleteFlag.isFalse().and(qCommentObject.createId.eq(userId))
 						.and(qCommentObject.commentObjectType.eq(CommentObject.COMMENT_TYPE_INTERACT)))
 				.fetchCount();
-        //我的讨论的点赞数
+        //鎴戠殑璁ㄨ鐨勭偣璧炴暟
         long commentPraiseToMe = this.getQueryFactory().selectDistinct(qCommentPraise.commentPraiseId).from(qCommentObject, qComment, qCommentPraise)
 				.where(qComment.deleteFlag.isFalse().and(qCommentObject.deleteFlag.isFalse()).and(qCommentPraise.commentId.eq(qComment.commentId))
 						.and(qComment.createId.eq(userId)).and(qCommentObject.commentObjectUid.eq(qComment.commentObjectId)).and(qCommentPraise.deleteFlag.isFalse())
@@ -645,9 +645,9 @@
             save(topicInfo);
         }
 
-        bulkUpdateInLoop("update Comment set deleteFlag = true where commentId = ?", topicIds);// 删除话题对应的评论;
+        bulkUpdateInLoop("update Comment set deleteFlag = true where commentId = ?", topicIds);// 鍒犻櫎璇濋瀵瑰簲鐨勮瘎璁�;
 
-        bulkUpdateInLoop("update TopicClassRe set deleteFlag = true where topicId = ?", topicIds);// 删除话题对应的班级;
+        bulkUpdateInLoop("update TopicClassRe set deleteFlag = true where topicId = ?", topicIds);// 鍒犻櫎璇濋瀵瑰簲鐨勭彮绾�;
 
         return new Result(true, "success");
     }
@@ -680,7 +680,7 @@
                     + " c.commentObjectId =o.commentObjectId and o.commentObjectType = 5";
             List<Map<String, Object>> commentIdLst = findListWithMapByHql(findPeopleCountByHql,
                     CollectionUtils.newObjectMap("topicId", topicId));
-            int peopleCount = commentIdLst.size();// 参与人数
+            int peopleCount = commentIdLst.size();// 鍙備笌浜烘暟
             map.put("peopleCount", peopleCount);
         }
         return new Result(true, "success",
@@ -692,11 +692,11 @@
     	
 //    	if(editTopicInfo.getTopicType()==TopicInfo.TOPIC_TYPE_CLS && StringUtils.isEmpty(editTopicInfo.getClassId())) {
     	if(StringUtils.isEmpty(editTopicInfo.getClassId())) {
-    		return new Result(false, "请选择关联班级!");
+    		return new Result(false, "璇烽�夋嫨鍏宠仈鐝骇锛�");
     	}
 
         TopicInfo topicInfo = read(TopicInfo.class, editTopicInfo.getTopicId());
-        this.bulkUpdate("update TopicClassRe set deleteFlag = true where topicId = ?", new Object[] {topicInfo.getTopicId()});// 删除对应的中间表数据
+        this.bulkUpdate("update TopicClassRe set deleteFlag = true where topicId = ?", new Object[] {topicInfo.getTopicId()});// 鍒犻櫎瀵瑰簲鐨勪腑闂磋〃鏁版嵁
         topicInfo.setTopicName(editTopicInfo.getTopicName());
         topicInfo.setTopicType(editTopicInfo.getTopicType());
         topicInfo.setTopicDesc(editTopicInfo.getTopicDesc());
@@ -715,7 +715,7 @@
                 topicClassRe.setClassId(classIds[i]);
                 topicClassRe.setTopicId(editTopicInfo.getTopicId());
                 TraceUtils.setCreateTrace(topicClassRe);
-                save(topicClassRe);// 保存到中间表
+                save(topicClassRe);// 淇濆瓨鍒颁腑闂磋〃
             }
         }
         return new Result(true, "success");
@@ -751,7 +751,7 @@
                     + " c.commentObjectId =o.commentObjectId and o.commentObjectType = 5";
             List<Map<String, Object>> commentIdLst = findListWithMapByHql(findPeopleCountByHql,
                     CollectionUtils.newObjectMap("topicId", topicId));
-            int peopleCount = commentIdLst.size();// 参与人数
+            int peopleCount = commentIdLst.size();// 鍙備笌浜烘暟
             map.put("peopleCount", peopleCount);
         }
         return new Result(true, "success",
@@ -760,7 +760,7 @@
     }
     
     /**
-     * 获取班级讨论数量
+     * 鑾峰彇鐝骇璁ㄨ鏁伴噺
      * 
      * @param classId
      * @return
@@ -789,10 +789,10 @@
     }
     
     /**
-     * 获取热门话题列表
+     * 鑾峰彇鐑棬璇濋鍒楄〃
      * 
-     * type 1热门,2最近
-     * scope 1班级,2机构
+     * type 1鐑棬锛�2鏈�杩�
+     * scope 1鐝骇锛�2鏈烘瀯
      * 
      */
     @CachePut(value = "topic_list", key = "#classId+#keyword+#limit+#pageNum+#type+#scope")
@@ -803,14 +803,14 @@
 		QClsClass qClsClass = QClsClass.clsClass;
 		QUser qUser = QUser.user;
 
-		//热门取最近30天内,否则取1年内
+		//鐑棬鍙栨渶杩�30澶╁唴锛屽惁鍒欏彇1骞村唴
 		long time = type == 1 ? 1000L * 60 * 60 * 24 * 30 : 1000L * 60 * 60 * 24 * 30 * 12;
 		
-		//讨论的范围
+		//璁ㄨ鐨勮寖鍥�
 		Predicate scopeRight = scope == 1?qClsClass.classId.eq(classId):qClsClass.orgId.eq(ClientUtils.getOrgId());
 		
 		@SuppressWarnings("rawtypes")
-		//排序方式
+		//鎺掑簭鏂瑰紡
 		OrderSpecifier order = type == 1?new OrderSpecifier<BigInteger>(Order.DESC, qCommentObject.commentCount.add(qCommentObject.commentPraiseCount)):
 			new OrderSpecifier<Date>(Order.DESC, qTopicInfo.createTime);
 		
diff --git a/src/main/java/com/qxueyou/scc/org/dao/OrgCourseDAO.java b/src/main/java/com/qxueyou/scc/org/dao/OrgCourseDAO.java
index 90fadf1..5a4997e 100644
--- a/src/main/java/com/qxueyou/scc/org/dao/OrgCourseDAO.java
+++ b/src/main/java/com/qxueyou/scc/org/dao/OrgCourseDAO.java
@@ -1,7 +1,7 @@
 /******************************************************************************
  * All Rights Reserved.
- * 本软件为深圳市企鹅网络科技有限公司开发研制。未经本公司正式书面同意,其他任何个人、团体
- * 不得使用、复制、修改或发布本软件.
+ * 鏈蒋浠朵负娣卞湷甯備紒楣呯綉缁滅鎶�鏈夐檺鍏徃寮�鍙戠爺鍒躲�傛湭缁忔湰鍏徃姝e紡涔﹂潰鍚屾剰锛屽叾浠栦换浣曚釜浜恒�佸洟浣�
+ * 涓嶅緱浣跨敤銆佸鍒躲�佷慨鏀规垨鍙戝竷鏈蒋浠�.
  *****************************************************************************/
 
 package com.qxueyou.scc.org.dao;
@@ -22,7 +22,7 @@
 
 @Repository(value="orgCourseDAO")
 /**
- * 自动注入sessionFactory 
+ * 鑷姩娉ㄥ叆sessionFactory 
  *
  * @author ody.yuan
  * @since JDK1.6
@@ -31,7 +31,7 @@
 public class OrgCourseDAO extends HibernateDaoSupport {
 	
 	/**
-     * 注入sessionFactory
+     * 娉ㄥ叆sessionFactory
      *
      * @param sessionFactory
      */
@@ -41,7 +41,7 @@
     }
     
     /**
-	 * 查询课程列表明细
+	 * 鏌ヨ璇剧▼鍒楄〃鏄庣粏
 	 * @param sql
 	 * @param args
 	 * @return
@@ -49,7 +49,7 @@
 	 */
     @SuppressWarnings("unchecked")
 	public List<OrgCollegeCourse> queryCourseList(String sql,List<Object> args) {
-    	// 查询结果
+    	// 鏌ヨ缁撴灉
     	Session session = this.getSessionFactory().getCurrentSession();
     	SQLQuery query = session.createSQLQuery(sql);
     	query.setResultTransformer(Transformers.aliasToBean(OrgCollegeCourse.class));
diff --git a/src/main/java/com/qxueyou/scc/org/dao/OrgDAO.java b/src/main/java/com/qxueyou/scc/org/dao/OrgDAO.java
index 49155cc..ecfd946 100644
--- a/src/main/java/com/qxueyou/scc/org/dao/OrgDAO.java
+++ b/src/main/java/com/qxueyou/scc/org/dao/OrgDAO.java
@@ -1,8 +1,8 @@
 /******************************************************************************
  * Copyright (C) 2015 Shenzhen Penguin Network Technology Co., Ltd
  * All Rights Reserved.
- * 本软件为深圳市企鹅网络科技有限公司开发研制。未经本公司正式书面同意,其他任何个人、团体
- * 不得使用、复制、修改或发布本软件.
+ * 鏈蒋浠朵负娣卞湷甯備紒楣呯綉缁滅鎶�鏈夐檺鍏徃寮�鍙戠爺鍒躲�傛湭缁忔湰鍏徃姝e紡涔﹂潰鍚屾剰锛屽叾浠栦换浣曚釜浜恒�佸洟浣�
+ * 涓嶅緱浣跨敤銆佸鍒躲�佷慨鏀规垨鍙戝竷鏈蒋浠�.
  *****************************************************************************/
 
 package com.qxueyou.scc.org.dao;
@@ -21,20 +21,20 @@
 
 @Repository(value="orgDAO")
 /**
- * 自动注入sessionFactory
+ * 鑷姩娉ㄥ叆sessionFactory
  *
- * @author 夏德虎
+ * @author 澶忓痉铏�
  * @since JDK1.6
- * @history 2010-07-28 夏德虎 新建
+ * @history 2010-07-28 澶忓痉铏� 鏂板缓
  */
 public class OrgDAO extends BaseDAO {
     
     /**
-     * 根据hql查询,并返回执行类型的列表结果
+     * 鏍规嵁hql鏌ヨ,骞惰繑鍥炴墽琛岀被鍨嬬殑鍒楄〃缁撴灉
      *
-     * @param hql 查询语句
-     * @param args 参数
-     * @param cls 返回类型
+     * @param hql 鏌ヨ璇彞
+     * @param args 鍙傛暟
+     * @param cls 杩斿洖绫诲瀷
      * @return
      */
 	public  List<OrgCollegeCourse> queryOrgCourseList(String hql, List<Object> args) {
@@ -42,17 +42,17 @@
     }
 	
 	/**
-     * 根据hql查询,并返回执行类型的列表结果
+     * 鏍规嵁hql鏌ヨ,骞惰繑鍥炴墽琛岀被鍨嬬殑鍒楄〃缁撴灉
      *
-     * @param hql 查询语句
-     * @param args 参数
-     * @param cls 返回类型
+     * @param hql 鏌ヨ璇彞
+     * @param args 鍙傛暟
+     * @param cls 杩斿洖绫诲瀷
      * @return
      */
 	@SuppressWarnings("unchecked")
 	public  List<OrgCollegeCourse> queryOrgCourseListNew(String hql, List<Object> args) {
         List<OrgCollegeCourse> lstCourse = new ArrayList<OrgCollegeCourse>();
-        // 添加不限
+        // 娣诲姞涓嶉檺
         OrgCollegeCourse course = null;
 		List<Object[]> lst = (List<Object[]>) this.getHibernateTemplate().find(hql, args.toArray());
         for (Object[] obj : lst) {
@@ -70,11 +70,11 @@
 	
 	 
     /**
-     * 根据hql查询,并返回执行类型的列表结果
+     * 鏍规嵁hql鏌ヨ,骞惰繑鍥炴墽琛岀被鍨嬬殑鍒楄〃缁撴灉
      *
-     * @param hql 查询语句
-     * @param args 参数
-     * @param cls 返回类型
+     * @param hql 鏌ヨ璇彞
+     * @param args 鍙傛暟
+     * @param cls 杩斿洖绫诲瀷
      * @return
      */
 	@SuppressWarnings("unchecked")
@@ -95,7 +95,7 @@
 	}
     
 	/**
-   	 * 组装查询班级
+   	 * 缁勮鏌ヨ鐝骇
    	 * @param hql
    	 * @param page
    	 * @param args
diff --git a/src/main/java/com/qxueyou/scc/org/model/DiscoverBanner.java b/src/main/java/com/qxueyou/scc/org/model/DiscoverBanner.java
index d22dd78..38accef 100644
--- a/src/main/java/com/qxueyou/scc/org/model/DiscoverBanner.java
+++ b/src/main/java/com/qxueyou/scc/org/model/DiscoverBanner.java
@@ -18,7 +18,7 @@
 
 
 /**
- * app首页banner  实体类
+ * app棣栭〉banner  瀹炰綋绫�
  */
 @Entity
 @Table(name="discover_banner")
@@ -33,23 +33,23 @@
 	@Column(name="BANNER_ID", unique=true, nullable=false, length=32)
 	private String bannerId;
 
-	/** 图片路径 */
+	/** 鍥剧墖璺緞 */
 	@Column(name="IMG_PATH",length=128)
 	private String imgPath;
 
-	/** 机构编号 */
+	/** 鏈烘瀯缂栧彿 */
 	@Column(name="ORG_ID",length=32)
 	private String orgId;
 	
-	/** 图片序号 */
+	/** 鍥剧墖搴忓彿 */
 	@Column(name="PHOTO_ORDER")
 	private int photoOrder;
 
-	/** 图片名称*/
+	/** 鍥剧墖鍚嶇О*/
 	@Column(name="PHOTO_NAME",length=64)
 	private String photoName;
 
-	/** 图片说明 */
+	/** 鍥剧墖璇存槑 */
 	@Column(name="PERSENTATION",length=225)
 	private String persentation;
 
diff --git a/src/main/java/com/qxueyou/scc/org/model/ExternelTeacherInfo.java b/src/main/java/com/qxueyou/scc/org/model/ExternelTeacherInfo.java
index 4d6bec8..2182484 100644
--- a/src/main/java/com/qxueyou/scc/org/model/ExternelTeacherInfo.java
+++ b/src/main/java/com/qxueyou/scc/org/model/ExternelTeacherInfo.java
@@ -17,7 +17,7 @@
 import com.fasterxml.jackson.annotation.JsonIgnore;
 
 /**
-*外部讲师类 
+*澶栭儴璁插笀绫� 
 *@author junliang
 *@createTime 2017-11-7
 */
diff --git a/src/main/java/com/qxueyou/scc/org/model/OrgAppInfo.java b/src/main/java/com/qxueyou/scc/org/model/OrgAppInfo.java
index a3e6417..d73d3b3 100644
--- a/src/main/java/com/qxueyou/scc/org/model/OrgAppInfo.java
+++ b/src/main/java/com/qxueyou/scc/org/model/OrgAppInfo.java
@@ -19,7 +19,7 @@
 
 
 /**
- * 机构app信息
+ * 鏈烘瀯app淇℃伅
  */
 @Entity
 @Table(name="ORG_APP_INFO")
@@ -35,27 +35,27 @@
 	@Column(name="APP_ID", unique=true, nullable=false, length=32)
 	private String appId;
 
-	/** 首页logo地址 */
+	/** 棣栭〉logo鍦板潃 */
 	@Column(name="badge_url",length=256)
 	private String badgeUrl;
 	
-	/**logo地址 */
+	/**logo鍦板潃 */
 	@Column(name="logo_url",length=256)
 	private String logoUrl;
 	
-	/** 带文字logo地址 */
+	/** 甯︽枃瀛條ogo鍦板潃 */
 	@Column(name="text_logo_url",length=256)
 	private String textLogoUrl;
 
-	/** 机构编号 */
+	/** 鏈烘瀯缂栧彿 */
 	@Column(name="ORG_ID",length=32)
 	private String orgId;
 	
-	/**app名称 */
+	/**app鍚嶇О */
 	@Column(name="app_name",length=50)
 	private String appName;
 
-	/** app版本号*/
+	/** app鐗堟湰鍙�*/
 	@Column(name="app_version",length=10)
 	private String appVersion;
 
@@ -63,11 +63,11 @@
 	@Column(name="app_code",length=50)
 	private String appCode;
 	
-	/** app下载地址 */
+	/** app涓嬭浇鍦板潃 */
 	@Column(name="app_download_url",length=225)
 	private String appDownloadUrl;
 	
-	/** app更新内容 */
+	/** app鏇存柊鍐呭 */
 	@Column(name="app_update_tips",length=1000)
 	private String appUpdateTips;
 
diff --git a/src/main/java/com/qxueyou/scc/org/model/OrgAppMenu.java b/src/main/java/com/qxueyou/scc/org/model/OrgAppMenu.java
index 7b3c7bf..9113a75 100644
--- a/src/main/java/com/qxueyou/scc/org/model/OrgAppMenu.java
+++ b/src/main/java/com/qxueyou/scc/org/model/OrgAppMenu.java
@@ -20,7 +20,7 @@
 
 
 /**
- * 机构自定义菜单
+ * 鏈烘瀯鑷畾涔夎彍鍗�
  * 
  */
 @Entity
@@ -78,7 +78,7 @@
 	@Column(name="URL", length=255)
 	private String url;
 	
-	/** 菜单级别,1:底部主菜单 2:首页菜单 */
+	/** 鑿滃崟绾у埆,1锛氬簳閮ㄤ富鑿滃崟 2锛氶椤佃彍鍗� */
 	@Column(name="LEVEL")
 	private int level;
 	
@@ -89,18 +89,18 @@
 	@Column(name="MENU_ORDER")
 	private int menuOrder;
 	
-	/** 菜单类型  */
+	/** 鑿滃崟绫诲瀷  */
 	@Column(name="TYPE")
 	private String type;
 	
 	@Column(name="COLOR")
 	private String color;
 	
-	/** 0:显示  1:隐藏  */
+	/** 0:鏄剧ず  1锛氶殣钘�  */
 	@Column(name="HIDDEN")
 	private boolean hidden;
 	
-	/** 父菜单id  */
+	/** 鐖惰彍鍗昳d  */
 	@Column(name="PARENT_ORG_MENU_ID")
 	private String parentOrgMenuId;
 
diff --git a/src/main/java/com/qxueyou/scc/org/model/OrgBank.java b/src/main/java/com/qxueyou/scc/org/model/OrgBank.java
index d1c5d87..b83d612 100644
--- a/src/main/java/com/qxueyou/scc/org/model/OrgBank.java
+++ b/src/main/java/com/qxueyou/scc/org/model/OrgBank.java
@@ -37,7 +37,7 @@
 	@Column(name="SHORT_NAME", length=32)
 	private String shortName;
 	
-	//图标地址
+	//鍥炬爣鍦板潃
 	@Column(name="IMG_PATH", length=255)
 	private String imgPath;
 
diff --git a/src/main/java/com/qxueyou/scc/org/model/OrgBankAccount.java b/src/main/java/com/qxueyou/scc/org/model/OrgBankAccount.java
index 6768aaa..5d7838a 100644
--- a/src/main/java/com/qxueyou/scc/org/model/OrgBankAccount.java
+++ b/src/main/java/com/qxueyou/scc/org/model/OrgBankAccount.java
@@ -44,7 +44,7 @@
 	@Column(name="ACCOUNT_NAME", length=50)
 	private String accountName;
 	
-	/**账户类型**/
+	/**璐︽埛绫诲瀷**/
 	@Column(name="ACCOUNT_TYPE", length=2)
 	private String accountType;
 
@@ -87,19 +87,19 @@
 	@Column(name="DEFAULT_ACCOUNT", nullable=false)
 	private boolean defaultAccount;
 	
-	/**银行预留手机号**/
+	/**閾惰棰勭暀鎵嬫満鍙�**/
 	@Column(name="MOBILE_PHONE", length=15)
 	private String mobilePhone;
 	
-	/**身份证号**/
+	/**韬唤璇佸彿**/
 	@Column(name="ID_NUMBER", length=30)
 	private String idNumber;
 	
-	/** 验证码**/
+	/** 楠岃瘉鐮�**/
 	@Transient
 	private String validateCode;
 	
-	/** 银行图标**/
+	/** 閾惰鍥炬爣**/
 	@Transient
 	private String imgPath;
 	
diff --git a/src/main/java/com/qxueyou/scc/org/model/OrgBanner.java b/src/main/java/com/qxueyou/scc/org/model/OrgBanner.java
index dcaaa15..4438ee9 100644
--- a/src/main/java/com/qxueyou/scc/org/model/OrgBanner.java
+++ b/src/main/java/com/qxueyou/scc/org/model/OrgBanner.java
@@ -22,7 +22,7 @@
 
 
 /**
- * app首页banner  实体类
+ * app棣栭〉banner  瀹炰綋绫�
  */
 @Entity
 @Table(name="org_banner")
@@ -31,9 +31,9 @@
 	
 	private static final long serialVersionUID = 1L;
 	
-	/** 机构banner模块 */
+	/** 鏈烘瀯banner妯″潡 */
 	public static final String ORG_BANNER_ORG = "ORG";
-	/** 课程超市banner模块 */
+	/** 璇剧▼瓒呭競banner妯″潡 */
 	public static final String ORG_BANNER_COURSE_MARKET_APP = "COURSE_MARKET_APP";
 	
 	@Id
@@ -42,23 +42,23 @@
 	@Column(name="BANNER_ID", unique=true, nullable=false, length=32)
 	private String bannerId;
 
-	/** 图片路径 */
+	/** 鍥剧墖璺緞 */
 	@Column(name="IMG_PATH",length=256)
 	private String imgPath;
 
-	/** 机构编号 */
+	/** 鏈烘瀯缂栧彿 */
 	@Column(name="ORG_ID",length=32)
 	private String orgId;
 	
-	/** 图片序号 */
+	/** 鍥剧墖搴忓彿 */
 	@Column(name="PHOTO_ORDER")
 	private int photoOrder;
 
-	/** 图片名称*/
+	/** 鍥剧墖鍚嶇О*/
 	@Column(name="PHOTO_NAME",length=64)
 	private String photoName;
 
-	/** 图片说明 */
+	/** 鍥剧墖璇存槑 */
 	@Column(name="PERSENTATION",length=225)
 	private String persentation;
 
@@ -99,7 +99,7 @@
 	@Column(name="TYPE")
 	private Integer type;
 	
-	/** 链接类型(1、网址) */
+	/** 閾炬帴绫诲瀷(1銆佺綉鍧�) */
 	public static final int LINK_TYPE_WEBSITE = 1;
 	
 	/** TITLE */
diff --git a/src/main/java/com/qxueyou/scc/org/model/OrgCategoryLevel.java b/src/main/java/com/qxueyou/scc/org/model/OrgCategoryLevel.java
index 8eddbc1..5682e50 100644
--- a/src/main/java/com/qxueyou/scc/org/model/OrgCategoryLevel.java
+++ b/src/main/java/com/qxueyou/scc/org/model/OrgCategoryLevel.java
@@ -86,18 +86,18 @@
 	@JsonIgnore
 	private String updator;
 	
-	/**  类型:(1.职业培训 2.学历教育3.企业内训 4.活动沙龙5.代理机构) */
+	/**  绫诲瀷锛氾紙1.鑱屼笟鍩硅 2.瀛﹀巻鏁欒偛3.浼佷笟鍐呰 4.娲诲姩娌欓緳5.浠g悊鏈烘瀯锛� */
 	@Column(name="TYPE")
 	private Short type;
 	
-	/** 编码 */
+	/** 缂栫爜 */
 	@Column(name="CODE", length=100)
 	private String code;
 	
 	@Column(name="IMG_PATH", length=255)
 	private String imgPath;
 	
-	/** 本科、专科、研究生、博士生 */
+	/** 鏈銆佷笓绉戙�佺爺绌剁敓銆佸崥澹敓 */
 	@Column(name="CATEGORY_TYPE", length=6)
 	private Short categoryType;
 	
@@ -109,7 +109,7 @@
 	@Column(name="TOP_ORG_ID", length=32)
 	private String topOrgId;
 	
-	/**分类层级编码(用于方便查找层级结构) */
+	/**鍒嗙被灞傜骇缂栫爜锛堢敤浜庢柟渚挎煡鎵惧眰绾х粨鏋勶級 */
 	@Column(name="LEVEL_CODE", length=255)
 	private String levelCode;
 	
@@ -126,7 +126,7 @@
 	
 
 	
-	//新增映射
+	//鏂板鏄犲皠
 	@OneToMany(fetch = FetchType.LAZY, mappedBy = "category")
 	@JsonIgnore
 	private List<OrgCollegeCourse> courses;
diff --git a/src/main/java/com/qxueyou/scc/org/model/OrgClass.java b/src/main/java/com/qxueyou/scc/org/model/OrgClass.java
index 3bad47e..9cd862f 100644
--- a/src/main/java/com/qxueyou/scc/org/model/OrgClass.java
+++ b/src/main/java/com/qxueyou/scc/org/model/OrgClass.java
@@ -36,44 +36,44 @@
 
 	private static final long serialVersionUID = 1L;
 
-	/** 面授 */
+	/** 闈㈡巿 */
 	public static final String CLASS_FACE = "FACE_TO_FACE";
-	/** 网络 */
+	/** 缃戠粶 */
 	public static final String CLASS_NETWORK = "NETWORK";
 
-	/** 有直播 */
+	/** 鏈夌洿鎾� */
 	public static final int HAVE_LIVE = 1;
-	/** 无直播 */
+	/** 鏃犵洿鎾� */
 	public static final int NOT_HAVE_LIVE = 0;
 
-	/** 有视频 */
+	/** 鏈夎棰� */
 	public static final int HAVE_VIDEO = 1;
-	/** 无视频 */
+	/** 鏃犺棰� */
 	public static final int NOT_HAVE_VIDEO = 0;
 
-	/** 有讲义 */
+	/** 鏈夎涔� */
 	public static final int HAVE_HANDOUT = 1;
-	/** 无讲义 */
+	/** 鏃犺涔� */
 	public static final int NOT_HAVE_HANDOUT = 0;
 
-	/** 有推荐奖励 */
+	/** 鏈夋帹鑽愬鍔� */
 	public static final int HAVE_AWARD = 1;
-	/** 无推荐奖励 */
+	/** 鏃犳帹鑽愬鍔� */
 	public static final int NOT_HAVE_AWARD = 0;
 
-	/** 消息处理业务类型:发送消息 */
+	/** 娑堟伅澶勭悊涓氬姟绫诲瀷锛氬彂閫佹秷鎭� */
 	public static final String MSG_ACTION_TYPE_SEND = "send_sms";
-	/** 消息处理业务类型:新建班级 */
+	/** 娑堟伅澶勭悊涓氬姟绫诲瀷锛氭柊寤虹彮绾� */
 	public static final String MSG_ACTION_TYPE_ADD = "add_Class";
-	/** 消息处理业务类型:复制班级 */
+	/** 娑堟伅澶勭悊涓氬姟绫诲瀷锛氬鍒剁彮绾� */
 	public static final String MSG_ACTION_TYPE_COPY = "copy_Class";
 
-	/** 班级进度:报名 */
-	public static final String CLASS_PROGRESS_START = "报名";
-	/** 班级进度:学习 */
-	public static final String CLASS_PROGRESS_STUDY = "学习";
-	/** 班级进度:结束 */
-	public static final String CLASS_PROGRESS_END = "结束";
+	/** 鐝骇杩涘害锛氭姤鍚� */
+	public static final String CLASS_PROGRESS_START = "鎶ュ悕";
+	/** 鐝骇杩涘害锛氬涔� */
+	public static final String CLASS_PROGRESS_STUDY = "瀛︿範";
+	/** 鐝骇杩涘害锛氱粨鏉� */
+	public static final String CLASS_PROGRESS_END = "缁撴潫";
 
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
@@ -131,7 +131,7 @@
 	@Column(name = "ARRANGEMENT", length = 255)
 	private String arrangement;
 
-	/** 班级优势 */
+	/** 鐝骇浼樺娍 */
 	@Column(name = "ADVANTAGE", length = 255)
 	private String advantage;
 
@@ -146,7 +146,7 @@
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
 	private Date endTime;
 
-	/** 当前已报名学生人数 */
+	/** 褰撳墠宸叉姤鍚嶅鐢熶汉鏁� */
 	@Column(name = "STUDENT_COUNT")
 	private int studentCount;
 
@@ -169,7 +169,7 @@
 	@JsonIgnore
 	private String updator;
 
-	/** 是否推广 false:不推广 true:推广 */
+	/** 鏄惁鎺ㄥ箍 false锛氫笉鎺ㄥ箍 true锛氭帹骞� */
 	@Column(name = "EXTENDED")
 	private boolean extended;
 
@@ -188,7 +188,7 @@
 	@Column(name = "SCORE", precision = 10, scale = 2)
 	private BigDecimal score;
 
-	/** 学生总数 计划招生人数,用于机构 指定 */
+	/** 瀛︾敓鎬绘暟 璁″垝鎷涚敓浜烘暟,鐢ㄤ簬鏈烘瀯 鎸囧畾 */
 	@Column(name = "STU_ALL_COUNT")
 	private BigInteger stuAllCount;
 
@@ -198,67 +198,67 @@
 	@Column(name = "POINTER", length = 255)
 	private String pointer;
 
-	/*** 点击次数 **/
+	/*** 鐐瑰嚮娆℃暟 **/
 	@Column(name = "CLICK_NUM", precision = 11, scale = 0)
 	private BigDecimal clickNum;
 
-	/*** 省份 **/
+	/*** 鐪佷唤 **/
 	@Column(name = "PROVINCE", length = 255)
 	private String province;
 
-	/*** 城市 **/
+	/*** 鍩庡競 **/
 	@Column(name = "CITY", length = 255)
 	private String city;
 
-	/*** 区域 **/
+	/*** 鍖哄煙 **/
 	@Column(name = "REGION", length = 255)
 	private String region;
 
-	/*** 是否置顶 **/
+	/*** 鏄惁缃《 **/
 	@Column(name = "TOP_FLAG", length = 255)
 	private Boolean topFlag;
 
-	/*** 方式 **/
+	/*** 鏂瑰紡 **/
 	@Column(name = "MODE", length = 255)
 	private String mode;
 
-	/*** 商品ID **/
+	/*** 鍟嗗搧ID **/
 	@Column(name = "GOOD_ID", length = 32)
 	private String goodId;
 
-	/*** 产品ID **/
+	/*** 浜у搧ID **/
 	@Column(name = "PRODUCT_ID", length = 255)
 	private String productId;
 
-	/*** 机构ID **/
+	/*** 鏈烘瀯ID **/
 	@Column(name = "ORG_ID", length = 32)
 	private String orgId;
 
-	/*** 是否有直播 **/
+	/*** 鏄惁鏈夌洿鎾� **/
 	@Column(name = "HAVE_LIVE", length = 1)
 	private Integer haveLive;
 
-	/*** 是否有视频 **/
+	/*** 鏄惁鏈夎棰� **/
 	@Column(name = "HAVE_VIDEO", length = 1)
 	private Integer haveVideo;
 
-	/*** 是否有讲义 **/
+	/*** 鏄惁鏈夎涔� **/
 	@Column(name = "HAVE_HANDOUT", length = 1)
 	private Integer haveHandout;
 
-	/*** 经度 **/
+	/*** 缁忓害 **/
 	@Column(name = "LONGITUDE_X", length = 32)
 	private String logitudeX;
 
-	/*** 纬度 **/
+	/*** 绾害 **/
 	@Column(name = "LATITUDE_Y", length = 32)
 	private String latitudeY;
 
-	/*** 付款人数 **/
+	/*** 浠樻浜烘暟 **/
 	@Column(name = "PAYMENT_NUM", length = 11)
 	private BigInteger paymentNum;
 
-	/*** 是否有推荐奖励 **/
+	/*** 鏄惁鏈夋帹鑽愬鍔� **/
 	@Column(name = "HAVA_AWARD", length = 32)
 	private Integer haveAward;
 
@@ -293,37 +293,37 @@
 	@Transient
 	private String orgShortName;
 
-	// 班级引荐费
+	// 鐝骇寮曡崘璐�
 	@Transient
 	private BigDecimal referFee;
 
-	/** 激活人数 **/
+	/** 婵�娲讳汉鏁� **/
 	@Transient
 	private Integer registCount;
 
-	// ============================新添加字段=================================
-	/** 是否有学生加班审批 */
+	// ============================鏂版坊鍔犲瓧娈�=================================
+	/** 鏄惁鏈夊鐢熷姞鐝鎵� */
 
 	@Column(name = "OVER_TIME", nullable = false)
 	private Boolean overTime;
 
-	/** 班级编码 */
+	/** 鐝骇缂栫爜 */
 	@Column(name = "CLASS_NUMBER", nullable = false)
 	private String classNumber;
 
-	/** 是否有需要学生退班审批 */
+	/** 鏄惁鏈夐渶瑕佸鐢熼��鐝鎵� */
 	@Column(name = "QUIT_CLASS", nullable = false)
 	private Boolean quitClass;
 
-	/** 完成练习是否显示答案 */
+	/** 瀹屾垚缁冧範鏄惁鏄剧ず绛旀 */
 	@Column(name = "DISPLAY_ANSWER", nullable = false)
 	private Boolean displayAnswer;
 
-	/** 是否开通班级论坛 */
+	/** 鏄惁寮�閫氱彮绾ц鍧� */
 	@Column(name = "FORUM", nullable = false)
 	private Boolean forum;
 
-	/** 班级老师 */
+	/** 鐝骇鑰佸笀 */
 	@Column(name = "TEACHER_ID", length = 32)
 	private String teacherId;
 
diff --git a/src/main/java/com/qxueyou/scc/org/model/OrgClassBanner.java b/src/main/java/com/qxueyou/scc/org/model/OrgClassBanner.java
index 5b6228f..b01506b 100644
--- a/src/main/java/com/qxueyou/scc/org/model/OrgClassBanner.java
+++ b/src/main/java/com/qxueyou/scc/org/model/OrgClassBanner.java
@@ -22,7 +22,7 @@
 
 
 /**
- * app选课首页banner  实体类
+ * app閫夎棣栭〉banner  瀹炰綋绫�
  */
 @Entity
 @Table(name="org_class_banner")
@@ -37,23 +37,23 @@
 	@Column(name="CLASS_BANNER_ID", unique=true, nullable=false, length=32)
 	private String classBannerId;
 
-	/** 图片路径 */
+	/** 鍥剧墖璺緞 */
 	@Column(name="IMG_PATH",length=128)
 	private String imgPath;
 
-	/** 机构编号 */
+	/** 鏈烘瀯缂栧彿 */
 	@Column(name="ORG_ID",length=32)
 	private String orgId;
 	
-	/** 图片序号 */
+	/** 鍥剧墖搴忓彿 */
 	@Column(name="PHOTO_ORDER")
 	private int photoOrder;
 
-	/** 图片名称*/
+	/** 鍥剧墖鍚嶇О*/
 	@Column(name="PHOTO_NAME",length=64)
 	private String photoName;
 
-	/** 图片说明 */
+	/** 鍥剧墖璇存槑 */
 	@Column(name="PERSENTATION",length=225)
 	private String persentation;
 
diff --git a/src/main/java/com/qxueyou/scc/org/model/OrgClassQueryCm.java b/src/main/java/com/qxueyou/scc/org/model/OrgClassQueryCm.java
index 255bcdc..b966aed 100644
--- a/src/main/java/com/qxueyou/scc/org/model/OrgClassQueryCm.java
+++ b/src/main/java/com/qxueyou/scc/org/model/OrgClassQueryCm.java
@@ -36,28 +36,28 @@
 @NamedQuery(name="OrgClassQueryCm.findAll", query="SELECT o FROM OrgClassQueryCm o")
 public class OrgClassQueryCm implements Serializable,ITrace {
 	
-	/**有直播*/
+	/**鏈夌洿鎾�*/
 	public static final int HAVE_LIVE = 1;
 	
-	/**无直播*/
+	/**鏃犵洿鎾�*/
 	public static final int NOT_HAVE_LIVE = 0;
 	
-	/**有视频*/
+	/**鏈夎棰�*/
 	public static final int HAVE_VIDEO = 1;
 	
-	/**无视频*/
+	/**鏃犺棰�*/
 	public static final int NOT_HAVE_VIDEO = 0;
 	
-	/**有讲义*/
+	/**鏈夎涔�*/
 	public static final int HAVE_HANDOUT = 1;
 	
-	/**无讲义*/
+	/**鏃犺涔�*/
 	public static final int NOT_HAVE_HANDOUT = 0;
 	
-	/**有推荐奖励*/
+	/**鏈夋帹鑽愬鍔�*/
 	public static final int HAVE_AWARD = 1;
 	
-	/**无推荐奖励*/
+	/**鏃犳帹鑽愬鍔�*/
 	public static final int NOT_HAVE_AWARD = 0;
 	
 	private static final long serialVersionUID = 1L;
@@ -112,7 +112,7 @@
 	@Column(name="ARRANGEMENT", length=255)
 	private String arrangement;
 	
-	/** 班级优势 */
+	/** 鐝骇浼樺娍 */
 	@Column(name="ADVANTAGE", length=255)
 	private String advantage;
 
@@ -127,7 +127,7 @@
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
 	private Date endTime;
 
-	/**当前已报名学生人数*/
+	/**褰撳墠宸叉姤鍚嶅鐢熶汉鏁�*/
 	@Column(name="STUDENT_COUNT")
 	private int studentCount;
 	
@@ -150,7 +150,7 @@
 	@JsonIgnore
 	private String updator;
 	
-	/** 是否推广  false:不推广  true:推广 */
+	/** 鏄惁鎺ㄥ箍  false锛氫笉鎺ㄥ箍  true锛氭帹骞� */
 	@Column(name="EXTENDED")
 	private boolean extended;
 	
@@ -169,7 +169,7 @@
 	@Column(name="SCORE", precision=10, scale=2)
 	private BigDecimal score;
 	
-	/**学生总数   计划招生人数,用于机构    指定 */
+	/**瀛︾敓鎬绘暟   璁″垝鎷涚敓浜烘暟,鐢ㄤ簬鏈烘瀯    鎸囧畾 */
 	@Column(name="STU_ALL_COUNT")
 	private BigInteger stuAllCount;
 	
@@ -179,68 +179,68 @@
 	@Column(name="POINTER", length=255)
 	private String pointer;
 	
-	/***点击次数**/
+	/***鐐瑰嚮娆℃暟**/
 	@Column(name="CLICK_NUM", precision=11, scale=0)
 	private BigDecimal clickNum;
 	
-	/***省份**/
+	/***鐪佷唤**/
 	@Column(name="PROVINCE", length=255)
 	private String province;
 	
-	/***城市**/
+	/***鍩庡競**/
 	@Column(name="CITY", length=255)
 	private String city;
 	
-	/***区域**/
+	/***鍖哄煙**/
 	@Column(name="REGION", length=255)
 	private String region;
 	
-	/***是否置顶**/
+	/***鏄惁缃《**/
 	@Column(name="TOP_FLAG", length=255)
 	private Boolean topFlag;
 	
-	/***方式**/
+	/***鏂瑰紡**/
 	@Column(name="MODE", length=255)
 	private String mode;
 	
-	/***商品ID**/
+	/***鍟嗗搧ID**/
 	@Column(name="GOOD_ID", length=32)
 	private String goodId;
 	
 
-	/***产品ID**/
+	/***浜у搧ID**/
 	@Column(name="PRODUCT_ID", length=255)
 	private String productId;
 	
-	/***机构ID**/
+	/***鏈烘瀯ID**/
 	@Column(name="ORG_ID", length=32)
 	private String orgId;
 	
-	/***是否有直播**/
+	/***鏄惁鏈夌洿鎾�**/
 	@Column(name="HAVE_LIVE", length=1)
 	private Integer haveLive;
 	
-	/***是否有视频**/
+	/***鏄惁鏈夎棰�**/
 	@Column(name="HAVE_VIDEO", length=1)
 	private Integer haveVideo;
 	
-	/***是否有讲义**/
+	/***鏄惁鏈夎涔�**/
 	@Column(name="HAVE_HANDOUT", length=1)
 	private Integer haveHandout;
 	
-	/***经度**/
+	/***缁忓害**/
 	@Column(name="LONGITUDE_X", length=32)
 	private String logitudeX;
 	
-	/***纬度**/
+	/***绾害**/
 	@Column(name="LATITUDE_Y", length=32)
 	private String latitudeY;
 	
-	/***付款人数**/
+	/***浠樻浜烘暟**/
 	@Column(name="PAYMENT_NUM", length=11)
 	private BigInteger paymentNum;
 	
-	/***是否有推荐奖励**/
+	/***鏄惁鏈夋帹鑽愬鍔�**/
 	@Column(name="HAVA_AWARD", length=32)
 	private Integer haveAward;
 	
@@ -275,11 +275,11 @@
 	@Transient
 	private String orgShortName ;
 	
-	//班级引荐费
+	//鐝骇寮曡崘璐�
 	@Transient
 	private BigDecimal referFee ;
 	
-	/** 报名人数**/
+	/** 鎶ュ悕浜烘暟**/
 	@Formula("(select count(1) from User_Registration u WHERE u.CLASS_ID=CLASS_ID and u.DELETE_FLAG = 0)")
 	private Integer signUpCount ;
 	
diff --git a/src/main/java/com/qxueyou/scc/org/model/OrgClassReTeacher.java b/src/main/java/com/qxueyou/scc/org/model/OrgClassReTeacher.java
index 5a6c60b..6cf8f61 100644
--- a/src/main/java/com/qxueyou/scc/org/model/OrgClassReTeacher.java
+++ b/src/main/java/com/qxueyou/scc/org/model/OrgClassReTeacher.java
@@ -17,7 +17,7 @@
 import com.fasterxml.jackson.annotation.JsonIgnore;
 
 /**
-* 班级老师中间表
+* 鐝骇鑰佸笀涓棿琛�
 *@author junliang
 *@createTime 2017-11-10
 */
diff --git a/src/main/java/com/qxueyou/scc/org/model/OrgClassReUser.java b/src/main/java/com/qxueyou/scc/org/model/OrgClassReUser.java
index 5c5f681..b574672 100644
--- a/src/main/java/com/qxueyou/scc/org/model/OrgClassReUser.java
+++ b/src/main/java/com/qxueyou/scc/org/model/OrgClassReUser.java
@@ -22,17 +22,17 @@
 public class OrgClassReUser implements Serializable, ITrace {
 	private static final long serialVersionUID = 1L;
 
-	/** 未激活课程 */
+	/** 鏈縺娲昏绋� */
 	public static final int CLASS_NOT_ACTIVATED = 1;
-	/** 加入课程 */
+	/** 鍔犲叆璇剧▼ */
 	public static final int CLASS_ADD = 2;
-	/**初审通过*/
+	/**鍒濆閫氳繃*/
 	public static final int CLASS_FIRST_PASS = 3;
-	/**初审拒绝*/
+	/**鍒濆鎷掔粷*/
 	public static final int CLASS_FIRST_REJECT = 4;
-	/**最终通过*/
+	/**鏈�缁堥�氳繃*/
 	public static final int CLASS_END_PASS = 5;
-	/**最终拒绝*/
+	/**鏈�缁堟嫆缁�*/
 	public static final int CLASS_END_REJECT = 6;
 
 	@Id
diff --git a/src/main/java/com/qxueyou/scc/org/model/OrgClassUserCustom.java b/src/main/java/com/qxueyou/scc/org/model/OrgClassUserCustom.java
index e1921a5..9f95656 100644
--- a/src/main/java/com/qxueyou/scc/org/model/OrgClassUserCustom.java
+++ b/src/main/java/com/qxueyou/scc/org/model/OrgClassUserCustom.java
@@ -22,7 +22,7 @@
 	
 	private static final long serialVersionUID = 1L;
 	
-	/**对象值:*/
+	/**瀵硅薄鍊硷細*/
 	
 	public static final String OBJECT_VALUE_USERPHOTO = "userPhoto";
 	public static final String OBJECT_VALUE_ORDERPHONE = "orderPhone";
@@ -34,29 +34,29 @@
 	public static final String OBJECT_VALUE_ADDRESS = "address";
 	public static final String OBJECT_VALUE_MAILADDRESS = "mailAddress";
 	
-	public static final String OBJECT_NAME_USERPHOTO = "学员照片";
-	public static final String OBJECT_NAME_ORDERPHONE = "其它电话";
+	public static final String OBJECT_NAME_USERPHOTO = "瀛﹀憳鐓х墖";
+	public static final String OBJECT_NAME_ORDERPHONE = "鍏跺畠鐢佃瘽";
 	public static final String OBJECT_NAME_QQ = "QQ";
-	public static final String OBJECT_NAME_WEIXIN = "微信";
-	public static final String OBJECT_NAME_BIRTHDAY = "生日";
-	public static final String OBJECT_NAME_IDNUMBER = "身份证";
-	public static final String OBJECT_NAME_COMPANY = "公司";
-	public static final String OBJECT_NAME_ADDRESS = "所在地区";
-	public static final String OBJECT_NAME_MAILADDRESS = "是否索取发票";
+	public static final String OBJECT_NAME_WEIXIN = "寰俊";
+	public static final String OBJECT_NAME_BIRTHDAY = "鐢熸棩";
+	public static final String OBJECT_NAME_IDNUMBER = "韬唤璇�";
+	public static final String OBJECT_NAME_COMPANY = "鍏徃";
+	public static final String OBJECT_NAME_ADDRESS = "鎵�鍦ㄥ湴鍖�";
+	public static final String OBJECT_NAME_MAILADDRESS = "鏄惁绱㈠彇鍙戠エ";
 	
-	public static final String OBJECT_TYPE_TEXT = "text"; // 文本框,限制长度,其他不做校验
-	public static final String OBJECT_TYPE_TEXTAREA = "textarea";  // 多行文本
-	public static final String OBJECT_TYPE_NUMBER = "number";  // 数字
-	public static final String OBJECT_TYPE_MOBILE_PHONE = "mobile_phone";  // 手机号
-	public static final String OBJECT_TYPE_TEL = "tel";  // 固话
-	public static final String OBJECT_TYPE_EMAIL = "email";  // 邮箱
-	public static final String OBJECT_TYPE_DATE = "date";  // 日期
-	public static final String OBJECT_TYPE_TIME = "time";  // 时间
-	public static final String OBJECT_TYPE_IMG = "img";  // 单张图片
-	public static final String OBJECT_TYPE_MULTI_IMG = "multi_img";  // 多张图片
-	public static final String OBJECT_TYPE_ADDRESS = "address";  //地址
-	public static final String OBJECT_TYPE_RADIO = "radio";  // 单选
-	public static final String OBJECT_TYPE_IDNUMBER = "idNumber";  // 身份证
+	public static final String OBJECT_TYPE_TEXT = "text"; // 鏂囨湰妗嗭紝闄愬埗闀垮害锛屽叾浠栦笉鍋氭牎楠�
+	public static final String OBJECT_TYPE_TEXTAREA = "textarea";  // 澶氳鏂囨湰
+	public static final String OBJECT_TYPE_NUMBER = "number";  // 鏁板瓧
+	public static final String OBJECT_TYPE_MOBILE_PHONE = "mobile_phone";  // 鎵嬫満鍙�
+	public static final String OBJECT_TYPE_TEL = "tel";  // 鍥鸿瘽
+	public static final String OBJECT_TYPE_EMAIL = "email";  // 閭
+	public static final String OBJECT_TYPE_DATE = "date";  // 鏃ユ湡
+	public static final String OBJECT_TYPE_TIME = "time";  // 鏃堕棿
+	public static final String OBJECT_TYPE_IMG = "img";  // 鍗曞紶鍥剧墖
+	public static final String OBJECT_TYPE_MULTI_IMG = "multi_img";  // 澶氬紶鍥剧墖
+	public static final String OBJECT_TYPE_ADDRESS = "address";  //鍦板潃
+	public static final String OBJECT_TYPE_RADIO = "radio";  // 鍗曢��
+	public static final String OBJECT_TYPE_IDNUMBER = "idNumber";  // 韬唤璇�
 
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
@@ -64,43 +64,43 @@
 	@Column(name="CUSTOM_ID", unique=true, nullable=false, length=32)
 	private String customId;
 	
-	/**对象值*/
+	/**瀵硅薄鍊�*/
 	@Column(name="OBJECT_VALUE", length=32)
 	private String objectValue;
 	
-	/**对象名称*/
+	/**瀵硅薄鍚嶇О*/
 	@Column(name="OBJECT_NAME", length=32)
 	private String objectName;
 	
-	/**输入类型*/
+	/**杈撳叆绫诲瀷*/
 	@Column(name="OBJECT_TYPE", length=1000)
 	private String objectType;
 	
-	/**单选选项*/
+	/**鍗曢�夐�夐」*/
 	@Column(name="OBJECT_OPTION", length=20)
 	private String objectOption;
 	
-	/**是否选中(是否显示)   0:不显示  1:显示*/
+	/**鏄惁閫変腑锛堟槸鍚︽樉绀猴級   0锛氫笉鏄剧ず  1锛氭樉绀�*/
 	@Column(name="CHECKED_FLAG", nullable=false)
 	private boolean checkedFlag;
 	
-	/**是否必填   0:非必填  1:必填*/
+	/**鏄惁蹇呭~   0锛氶潪蹇呭~  1锛氬繀濉�*/
 	@Column(name="REQUIRED_FLAG", nullable=false)
 	private boolean requiredFlag;
 	
-	/**是否报名时填写   0:非必填  1:必填*/
+	/**鏄惁鎶ュ悕鏃跺~鍐�   0锛氶潪蹇呭~  1锛氬繀濉�*/
 	@Column(name="SIGNUP_FILLIN", nullable=false)
 	private boolean signupFillin;
 	
-	/**排序*/
+	/**鎺掑簭*/
 	@Column(name="order_num", length=3)
 	private Integer orderNum;
 	
-	/**班级Id*/
+	/**鐝骇Id*/
 	@Column(name="CLASS_ID", length=32)
 	private String classId;
 	
-	/**机构Id*/
+	/**鏈烘瀯Id*/
 	@Column(name="ORG_ID", length=32)
 	private String orgId;
 	
diff --git a/src/main/java/com/qxueyou/scc/org/model/OrgCollege.java b/src/main/java/com/qxueyou/scc/org/model/OrgCollege.java
index 4c613d5..6379c87 100644
--- a/src/main/java/com/qxueyou/scc/org/model/OrgCollege.java
+++ b/src/main/java/com/qxueyou/scc/org/model/OrgCollege.java
@@ -17,7 +17,7 @@
 
 
 /**
- * 院系
+ * 闄㈢郴
  * @author ody.yuan
  *
  */
@@ -34,55 +34,55 @@
 	@Column(name="COLLEGE_ID", unique=true, nullable=false, length=32)
 	private String collegeId;
 	
-	/**  院系名称  */
+	/**  闄㈢郴鍚嶇О  */
 	@Column(name="NAME",length=150)
 	private String name;
 	
-	/**  全称  */
+	/**  鍏ㄧО  */
 	@Column(name="FULL_NAME",length=255)
 	private String fullName;
 
-	/** 编码  */
+	/** 缂栫爜  */
 	@Column(name="CODE",length=50)
 	private String code;
 
-	/**  描述 */
+	/**  鎻忚堪 */
 	@Column(name="CONTENT",length=255)
 	private String content;
 	
-	/** 类型:本科、专科、硕士、博士  */
+	/** 绫诲瀷锛氭湰绉戙�佷笓绉戙�佺澹�佸崥澹�  */
 	@Column(name="TYPE")
 	private short type;
 	
-	/**  类型:2为院、3为系  */
+	/**  绫诲瀷锛�2涓洪櫌銆�3涓虹郴  */
 	@Column(name="LEVEL_TYPE")
 	private short levelType;
 	
-	/**  地址 */
+	/**  鍦板潃 */
 	@Column(name="ADDRESS",length=255)
 	private String address;
 	
-	/**  联系人  */
+	/**  鑱旂郴浜�  */
 	@Column(name="CONTACTOR",length=64)
 	private String contactor;
 
-	/**  电话  */
+	/**  鐢佃瘽  */
 	@Column(name="TEL", length=50)
 	private String tel;
 
-	/**  网址  */
+	/**  缃戝潃  */
 	@Column(name="WEBSITE", length=50)
 	private String website;
 	
-	/**  院校ID */
+	/**  闄㈡牎ID */
 	@Column(name="ORG_ID", length=32)
 	private String orgId;
 	
-	/**  父院系ID */
+	/**  鐖堕櫌绯籌D */
 	@Column(name="PARENT_COLLEGE_ID", length=32)
 	private String parentCollegeId;
 	
-	/**  科目ID 
+	/**  绉戠洰ID 
 	@Column(name="CATEGORY_ID", length=32)
 	private String categoryId; */
 	
diff --git a/src/main/java/com/qxueyou/scc/org/model/OrgCollegeCourse.java b/src/main/java/com/qxueyou/scc/org/model/OrgCollegeCourse.java
index 7953285..a089079 100644
--- a/src/main/java/com/qxueyou/scc/org/model/OrgCollegeCourse.java
+++ b/src/main/java/com/qxueyou/scc/org/model/OrgCollegeCourse.java
@@ -24,7 +24,7 @@
 
 
 /**
- * 机构专业
+ * 鏈烘瀯涓撲笟
  * @author ody.yuan
  *
  */
@@ -35,7 +35,7 @@
 	
 	private static final long serialVersionUID = 1L;
 	
-	/** 层次(1学科 2 门类  3专业) */
+	/** 灞傛(1瀛︾ 2 闂ㄧ被  3涓撲笟) */
 	public static final short ORG_COLLEGE_COURSE_TYPE_SUBJECT = 1;
 	
 	public static final short ORG_COLLEGE_COURSE_TYPE_CATEGORY = 2;
@@ -48,19 +48,19 @@
 	@Column(name="COLLEGE_COURSE_ID", unique=true, nullable=false, length=32)
 	private String collegeCourseId;
 	
-	/** 编码 */
+	/** 缂栫爜 */
 	@Column(name="CODE",length=64)
 	private String code;
 
-	/** 介绍 */
+	/** 浠嬬粛 */
 	@Column(name="CONTENT")
 	private String content;
 
-	/** 分类id */
+	/** 鍒嗙被id */
 	@Column(name="COURSE_CATEGORY_ID", length=32)
 	private String courseCategoryId;
 
-	/** 分类名 */
+	/** 鍒嗙被鍚� */
 	@Column(name="COURSE_CATEGORY_NAME", length=150)
 	private String courseCategoryName;
 
@@ -84,7 +84,7 @@
 	@Column(name="NAME", length=255)
 	private String name;
 
-	/**  机构ID  */
+	/**  鏈烘瀯ID  */
 	@Column(name="ORGANIZATION_ID", length=32)
 	private String organizationId;
 	
@@ -120,19 +120,19 @@
 	@Column(name="RECOMMEND", nullable=false)
 	private boolean recommend;
 	
-	/**  专业ID  */
+	/**  涓撲笟ID  */
 	@Column(name="COURSE_ID", length=32)
 	private String courseId;
 	
-	/**  院系ID  */
+	/**  闄㈢郴ID  */
 	@Column(name="COLLEGE_ID", length=32)
 	private String collegeId;
 	
-	/**  层次(学科  门类  专业)  */
+	/**  灞傛(瀛︾  闂ㄧ被  涓撲笟)  */
 	@Column(name="LEVEL_")
 	private short level;
 	
-	/**  类型:1本科  2专科 3硕士   4博士  */
+	/**  绫诲瀷锛�1鏈  2涓撶 3纭曞+   4鍗氬+  */
 	@Column(name="TYPE")
 	private short type;
 	
@@ -152,7 +152,7 @@
 	@JsonIgnore
 	private Organization topOrg;
 	
-	//新加映射 2017-11-1
+	//鏂板姞鏄犲皠 2017-11-1
 	@ManyToOne(cascade = CascadeType.ALL,fetch = FetchType.LAZY)
     @JoinColumn(name = "COURSE_CATEGORY_ID",referencedColumnName="CATEGORY_LEVEL_ID",updatable=false,insertable=false)
 	@JsonIgnore
@@ -182,19 +182,19 @@
 	@Transient
 	private String classCount;
 	
-	/** 视频数量*/
+	/** 瑙嗛鏁伴噺*/
 	@Transient
 	private Integer videoCount;
 	
-	/** 讲义数量*/
+	/** 璁蹭箟鏁伴噺*/
 	@Transient
 	private Integer handoutCount;
 	
-	/** 练习数量*/
+	/** 缁冧範鏁伴噺*/
 	@Transient
 	private Integer groupCount;
 	
-	/** 文章数量*/
+	/** 鏂囩珷鏁伴噺*/
 	@Transient
 	private Integer articleCount;
 	
diff --git a/src/main/java/com/qxueyou/scc/org/model/OrgCollegePublic.java b/src/main/java/com/qxueyou/scc/org/model/OrgCollegePublic.java
index 214d124..e55272f 100644
--- a/src/main/java/com/qxueyou/scc/org/model/OrgCollegePublic.java
+++ b/src/main/java/com/qxueyou/scc/org/model/OrgCollegePublic.java
@@ -17,7 +17,7 @@
 
 
 /**
- * 大学(公共)
+ * 澶у锛堝叕鍏憋級
  * @author ody.yuan
  *
  */
@@ -27,7 +27,7 @@
 public class OrgCollegePublic implements Serializable,ITrace {
 	
 	private static final long serialVersionUID = 1L;
-	/** 本科 1   专科 2  其他 3**/
+	/** 鏈 1   涓撶 2  鍏朵粬 3**/
 	public static final short COLLEGE_TYPE_UNDERGRADUATE=1;
 	public static final short COLLEGE_TYPE_SPECIALTY=2;
 	public static final short COLLEGE_TYPE_DEFAULT=3;
@@ -38,43 +38,43 @@
 	@Column(name="COLLEGE_PUBLIC_ID", unique=true, nullable=false, length=32)
 	private String collegePublicId;
 	
-	/**  院系名称  */
+	/**  闄㈢郴鍚嶇О  */
 	@Column(name="NAME",length=150)
 	private String name;
 	
-	/**  简称  */
+	/**  绠�绉�  */
 	@Column(name="SHORT_NAME",length=255)
 	private String shortName;
 
-	/** 编码  */
+	/** 缂栫爜  */
 	@Column(name="CODE",length=50)
 	private String code;
 
-	/**  描述 */
+	/**  鎻忚堪 */
 	@Column(name="CONTENT",length=255)
 	private String content;
 	
-	/**  类型:本科、专科、硕士、博士  */
+	/**  绫诲瀷锛氭湰绉戙�佷笓绉戙�佺澹�佸崥澹�  */
 	@Column(name="TYPE")
 	private short type;
 	
-	/**  地址 */
+	/**  鍦板潃 */
 	@Column(name="ADDRESS",length=255)
 	private String address;
 	
-	/**  联系人  */
+	/**  鑱旂郴浜�  */
 	@Column(name="CONTACTOR",length=64)
 	private String contactor;
 
-	/**  电话  */
+	/**  鐢佃瘽  */
 	@Column(name="TEL", length=50)
 	private String tel;
 
-	/**  网址  */
+	/**  缃戝潃  */
 	@Column(name="WEBSITE", length=50)
 	private String website;
 	
-	/**  父院系ID */
+	/**  鐖堕櫌绯籌D */
 	@Column(name="PARENT_COLLEGE_ID", length=32)
 	private String parentCollegeId;
 	
diff --git a/src/main/java/com/qxueyou/scc/org/model/OrgCourse.java b/src/main/java/com/qxueyou/scc/org/model/OrgCourse.java
index e7e0d54..c2bb0c2 100644
--- a/src/main/java/com/qxueyou/scc/org/model/OrgCourse.java
+++ b/src/main/java/com/qxueyou/scc/org/model/OrgCourse.java
@@ -41,7 +41,7 @@
 	
 	private static final long serialVersionUID = 1L;
 	
-	/** 类型:1本科  2专科 3硕士   4博士 */
+	/** 绫诲瀷锛�1鏈  2涓撶 3纭曞+   4鍗氬+ */
 	public static final short ORG_COURSE_LEVEL_UNDERGRADUATE  = 1;
 	
 	public static final short ORG_COURSE_LEVEL_FACULTY = 2;
@@ -58,27 +58,27 @@
 	@Column(name="COURSE_ID", unique=true, nullable=false, length=32)
 	private String courseId;
 	
-	/**  名称   */
+	/**  鍚嶇О   */
 	@Column(name="NAME", length=255)
 	private String name;
 
-	/**  编码、代码   */
+	/**  缂栫爜銆佷唬鐮�   */
 	@Column(name="CODE",length=64)
 	private String code;
 
-	/**  科目ID   */
+	/**  绉戠洰ID   */
 	@Column(name="COURSE_CATEGORY_ID", length=32)
 	private String courseCategoryId;
 
-	/**  科目名称  */
+	/**  绉戠洰鍚嶇О  */
 	@Column(name="COURSE_CATEGORY_NAME", length=255)
 	private String courseCategoryName;
 	
-	/**  内容   */
+	/**  鍐呭   */
 	@Column(name="CONTENT")
 	private String content;
 	
-	/**  类型:1本科  2专科 3硕士   4博士  */
+	/**  绫诲瀷锛�1鏈  2涓撶 3纭曞+   4鍗氬+  */
 	@Column(name="COURSE_TYPE")
 	private short courseType;
 	
@@ -114,7 +114,7 @@
 	@JsonIgnore
 	private OrgCourseCategory orgCourseCategory;
 	
-	/** 是否推广  false:不推广  true:推广 */
+	/** 鏄惁鎺ㄥ箍  false锛氫笉鎺ㄥ箍  true锛氭帹骞� */
 	@Column(name="EXTENDED")
 	private boolean extended;
 	
diff --git a/src/main/java/com/qxueyou/scc/org/model/OrgCourseCateData.java b/src/main/java/com/qxueyou/scc/org/model/OrgCourseCateData.java
index 48190be..41f777e 100644
--- a/src/main/java/com/qxueyou/scc/org/model/OrgCourseCateData.java
+++ b/src/main/java/com/qxueyou/scc/org/model/OrgCourseCateData.java
@@ -4,7 +4,7 @@
 import java.util.List;
 
 /**
- * 机构层级返回数据
+ * 鏈烘瀯灞傜骇杩斿洖鏁版嵁
  * 
  * @author zhiyong
  *
diff --git a/src/main/java/com/qxueyou/scc/org/model/OrgCourseCategory.java b/src/main/java/com/qxueyou/scc/org/model/OrgCourseCategory.java
index bcbb1de..9128d1f 100644
--- a/src/main/java/com/qxueyou/scc/org/model/OrgCourseCategory.java
+++ b/src/main/java/com/qxueyou/scc/org/model/OrgCourseCategory.java
@@ -89,18 +89,18 @@
 	@JsonIgnore
 	private String updator;
 
-	/** 类型:(1.职业培训 2.学历教育3.企业内训 4.活动沙龙5.代理机构) */
+	/** 绫诲瀷锛氾紙1.鑱屼笟鍩硅 2.瀛﹀巻鏁欒偛3.浼佷笟鍐呰 4.娲诲姩娌欓緳5.浠g悊鏈烘瀯锛� */
 	@Column(name = "TYPE")
 	private Short type;
 
-	/** 编码 */
+	/** 缂栫爜 */
 	@Column(name = "CODE", length = 100)
 	private String code;
 
 	@Column(name = "IMG_PATH", length = 255)
 	private String imgPath;
 
-	/** 本科、专科、研究生、博士生 */
+	/** 鏈銆佷笓绉戙�佺爺绌剁敓銆佸崥澹敓 */
 	@Column(name = "CATEGORY_TYPE", length = 6)
 	private Short categoryType;
 
diff --git a/src/main/java/com/qxueyou/scc/org/model/OrgCourseData.java b/src/main/java/com/qxueyou/scc/org/model/OrgCourseData.java
index d68674d..d2ad225 100644
--- a/src/main/java/com/qxueyou/scc/org/model/OrgCourseData.java
+++ b/src/main/java/com/qxueyou/scc/org/model/OrgCourseData.java
@@ -4,7 +4,7 @@
 import java.util.List;
 
 /**
- * 机构科目以及类型数据
+ * 鏈烘瀯绉戠洰浠ュ強绫诲瀷鏁版嵁
  * @author zhiyong
  *
  */
@@ -14,10 +14,10 @@
 	 */
 	private static final long serialVersionUID = 655858651902701073L;
 
-	/** 科目类型 */
+	/** 绉戠洰绫诲瀷 */
 	List<OrgCourseCategory> categorys;
 	
-	/** 科目*/
+	/** 绉戠洰*/
 	List<OrgCollegeCourse> courses;
 
 	public List<OrgCourseCategory> getCategorys() {
diff --git a/src/main/java/com/qxueyou/scc/org/model/OrgCourseJsonData.java b/src/main/java/com/qxueyou/scc/org/model/OrgCourseJsonData.java
index 1c87a29..d228805 100644
--- a/src/main/java/com/qxueyou/scc/org/model/OrgCourseJsonData.java
+++ b/src/main/java/com/qxueyou/scc/org/model/OrgCourseJsonData.java
@@ -3,7 +3,7 @@
 import java.io.Serializable;
 
 /**
- * 机构层级返回数据
+ * 鏈烘瀯灞傜骇杩斿洖鏁版嵁
  * 
  * @author zhiyong
  *
diff --git a/src/main/java/com/qxueyou/scc/org/model/OrgMarketPrivilege.java b/src/main/java/com/qxueyou/scc/org/model/OrgMarketPrivilege.java
index d868567..efc039d 100644
--- a/src/main/java/com/qxueyou/scc/org/model/OrgMarketPrivilege.java
+++ b/src/main/java/com/qxueyou/scc/org/model/OrgMarketPrivilege.java
@@ -22,15 +22,15 @@
 	 */
 	private static final long serialVersionUID = 1L;
 	
-	/**班级*/
+	/**鐝骇*/
 	public static final String OBJECT_TYPE_CLASS = "class";
-	/**科目*/
+	/**绉戠洰*/
 	public static final String OBJECT_TYPE_COURSE = "course";
 	
-	/**不包含*/
+	/**涓嶅寘鍚�*/
 	public static final int TYPE_NOT_CONTAIN = 0;
 	
-	/**包含*/
+	/**鍖呭惈*/
 	public static final int TYPE_CONTAIN = 1;
 
 	@Id
@@ -42,7 +42,7 @@
 	@Column(name="OBJECT_ID", length=32)
 	private String objectId;
 	
-	/**对象类型 class:班级 course:科目*/
+	/**瀵硅薄绫诲瀷 class:鐝骇 course:绉戠洰*/
 	@Column(name="OBJECT_TYPE", length=64)
 	private String objectType;
 	
@@ -53,7 +53,7 @@
 	@Column(name="ORG_ID", length=32)
 	private String orgId;
 	
-	/**类型 0:不包含  1:包含*/
+	/**绫诲瀷 0锛氫笉鍖呭惈  1锛氬寘鍚�*/
 	@Column(name="TYPE", length=6)
 	private Integer type;
 	
diff --git a/src/main/java/com/qxueyou/scc/org/model/OrgNewUserModel.java b/src/main/java/com/qxueyou/scc/org/model/OrgNewUserModel.java
index 4b3a8e0..0b0b64a 100644
--- a/src/main/java/com/qxueyou/scc/org/model/OrgNewUserModel.java
+++ b/src/main/java/com/qxueyou/scc/org/model/OrgNewUserModel.java
@@ -2,37 +2,37 @@
 
 public class OrgNewUserModel {
 	
-	/** 姓名*/
+	/** 濮撳悕*/
 	private String name;
 	
-	/** 手机号*/
+	/** 鎵嬫満鍙�*/
 	private String mobilePhone;
 	
-	/** 帐号*/
+	/** 甯愬彿*/
 	private String account;
 	
-	/** 密码*/
+	/** 瀵嗙爜*/
 	private String password;
 	
 	/** email*/
 	private String email;
 	
-	/** 机构ID*/
+	/** 鏈烘瀯ID*/
 	private String orgId;
 	
-	/** 角色ID*/
+	/** 瑙掕壊ID*/
 	private String roleId;
 	
-	/** 备注*/
+	/** 澶囨敞*/
 	private String remark;
 	
-	/** 角色关系ID*/
+	/** 瑙掕壊鍏崇郴ID*/
 	private String reId;
 	
 	/** userId*/
 	private String userId;
 	
-	/** 讲师介绍 */
+	/** 璁插笀浠嬬粛 */
 	private String teacherDes;
 
 	/**
diff --git a/src/main/java/com/qxueyou/scc/org/model/OrgPhotoalbum.java b/src/main/java/com/qxueyou/scc/org/model/OrgPhotoalbum.java
index d7f44de..6ddaa90 100644
--- a/src/main/java/com/qxueyou/scc/org/model/OrgPhotoalbum.java
+++ b/src/main/java/com/qxueyou/scc/org/model/OrgPhotoalbum.java
@@ -23,7 +23,7 @@
 
 /**
  * The persistent class for the OrgPhotoalbum database table.
- * 机构相册实体类
+ * 鏈烘瀯鐩稿唽瀹炰綋绫�
  */
 @Entity
 @Table(name="org_photoalbum")
@@ -38,22 +38,22 @@
 	@Column(name="PHOTO_ID", unique=true, nullable=false, length=32)
 	private String photoId;
 
-	/** 图片路径 */
+	/** 鍥剧墖璺緞 */
 	@Column(name="IMG_PATH",length=256)
 	private String imgPath;
 
-	/** 机构编号 */
+	/** 鏈烘瀯缂栧彿 */
 	@Column(name="ORG_ID",length=32)
 	private String orgId;
-	/** 图片序号 */
+	/** 鍥剧墖搴忓彿 */
 	@Column(name="PHOTO_ORDER")
 	private int photoOrder;
 
-	/** 图片名称*/
+	/** 鍥剧墖鍚嶇О*/
 	@Column(name="PHOTO_NAME",length=64)
 	private String photoName;
 
-	/** 图片说明 */
+	/** 鍥剧墖璇存槑 */
 	@Column(name="PERSENTATION",length=225)
 	private String persentation;
 
diff --git a/src/main/java/com/qxueyou/scc/org/model/OrgPrivilege.java b/src/main/java/com/qxueyou/scc/org/model/OrgPrivilege.java
index 378b6bf..611dd1c 100644
--- a/src/main/java/com/qxueyou/scc/org/model/OrgPrivilege.java
+++ b/src/main/java/com/qxueyou/scc/org/model/OrgPrivilege.java
@@ -20,22 +20,22 @@
 	
 	private static final long serialVersionUID = 1L;
 	
-	/**对象类型:直播*/
+	/**瀵硅薄绫诲瀷锛氱洿鎾�*/
 	public static final int OBJECT_TYPE_LIVE = 1;
-	/**对象类型:直播*/
+	/**瀵硅薄绫诲瀷锛氱洿鎾�*/
 	public static final int OBJECT_TYPE_VIDEO = 2;
-	/**对象类型:直播*/
+	/**瀵硅薄绫诲瀷锛氱洿鎾�*/
 	public static final int OBJECT_TYPE_HANDOUT = 3;
 	
-	/**对象类型值:打赏(直播)*/
+	/**瀵硅薄绫诲瀷鍊硷細鎵撹祻锛堢洿鎾級*/
 	public static final String OBJECT_VALUE_REWARD = "reward";
-	/**对象类型值:下载(视频、讲义)*/
+	/**瀵硅薄绫诲瀷鍊硷細涓嬭浇锛堣棰戙�佽涔夛級*/
 	public static final String OBJECT_VALUE_DOWNLOAD = "download";
 	
-	/**权限值:关闭*/
+	/**鏉冮檺鍊硷細鍏抽棴*/
 	public static final Integer PRIVILEGE_FLAG_FALSE = 0;
 	
-	/**权限值:开启*/
+	/**鏉冮檺鍊硷細寮�鍚�*/
 	public static final Integer PRIVILEGE_FLAG_TRUE = 1;
 
 	@Id
@@ -44,15 +44,15 @@
 	@Column(name="PRIVILEGE_ID", unique=true, nullable=false, length=32)
 	private String privilegeId;
 	
-	/**对象类型 1:直播,2:视频,3:讲义*/
+	/**瀵硅薄绫诲瀷 1:鐩存挱锛�2:瑙嗛锛�3:璁蹭箟*/
 	@Column(name="OBJECT_TYPE")
 	private Integer objectType;
 
-	/**对象类型值  直播:打赏,视频:下载,讲义:下载*/
+	/**瀵硅薄绫诲瀷鍊�  鐩存挱锛氭墦璧忥紝瑙嗛锛氫笅杞斤紝璁蹭箟锛氫笅杞�*/
 	@Column(name="OBJECT_VALUE", length=100)
 	private String objectValue;
 	
-	/** 权限值   0:否  1:是 */
+	/** 鏉冮檺鍊�   0锛氬惁  1锛氭槸 */
 	@Column(name="PRIVILEGE_FLAG", nullable=false)
 	private boolean privilegeFlag;
 	
diff --git a/src/main/java/com/qxueyou/scc/org/model/OrgReCollegePublic.java b/src/main/java/com/qxueyou/scc/org/model/OrgReCollegePublic.java
index 56890df..f139ae1 100644
--- a/src/main/java/com/qxueyou/scc/org/model/OrgReCollegePublic.java
+++ b/src/main/java/com/qxueyou/scc/org/model/OrgReCollegePublic.java
@@ -17,7 +17,7 @@
 
 
 /**
- * 机构与大学(公共表)的关联表
+ * 鏈烘瀯涓庡ぇ瀛︼紙鍏叡琛級鐨勫叧鑱旇〃
  * @author ody.yuan
  *
  */
@@ -34,11 +34,11 @@
 	@Column(name="RELATION_ID", unique=true, nullable=false, length=32)
 	private String relationId;
 	
-	/**  机构ID */
+	/**  鏈烘瀯ID */
 	@Column(name="ORG_ID", length=32)
 	private String orgId;
 	
-	/** 大学ID */
+	/** 澶уID */
 	@Column(name="COLLEGE_PUBLIC_ID", length=32)
 	private String collegePublicId;
 	
diff --git a/src/main/java/com/qxueyou/scc/org/model/OrgSalesman.java b/src/main/java/com/qxueyou/scc/org/model/OrgSalesman.java
index 17b353e..1ca4942 100644
--- a/src/main/java/com/qxueyou/scc/org/model/OrgSalesman.java
+++ b/src/main/java/com/qxueyou/scc/org/model/OrgSalesman.java
@@ -23,7 +23,7 @@
 
 
 /**
- * 机构销售人员表
+ * 鏈烘瀯閿�鍞汉鍛樿〃
  * 
  */
 @Entity
diff --git a/src/main/java/com/qxueyou/scc/org/model/OrgStringExtend.java b/src/main/java/com/qxueyou/scc/org/model/OrgStringExtend.java
index 34204f0..a237db2 100644
--- a/src/main/java/com/qxueyou/scc/org/model/OrgStringExtend.java
+++ b/src/main/java/com/qxueyou/scc/org/model/OrgStringExtend.java
@@ -23,56 +23,56 @@
 	 */
 	private static final long serialVersionUID = 1L;
 	
-	/**  主键  */
+	/**  涓婚敭  */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="EXTENDS_ID", unique=true, nullable=false, length=32)
 	private String extendsId;
 	
-	/**  名称*/
+	/**  鍚嶇О*/
 	@Column(name="NAME", length=32)
 	private String name;
 	
-	/**  值*/
+	/**  鍊�*/
 	@Column(name="VALUE", length=255)
 	private String value;
 	
-	/**  对象ID*/
+	/**  瀵硅薄ID*/
 	@Column(name="OBJECT_ID", length=32)
 	private String objectId;
 	
-	/**  对象类型*/
+	/**  瀵硅薄绫诲瀷*/
 	@Column(name="OBJECT_TYPE", length=255)
 	private String objectType;
 	
-	/**  创建者ID  */
+	/**  鍒涘缓鑰匢D  */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	private String createId;
 
-	/**  创建时间  */
+	/**  鍒涘缓鏃堕棿  */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date createTime;
 
-	/**  创建人  */
+	/**  鍒涘缓浜�  */
 	@Column(name="CREATOR", nullable=false, length=100)
 	private String creator;
 
-	/**  删除标志 */
+	/**  鍒犻櫎鏍囧織 */
 	@Column(name="DELETE_FLAG", nullable=false)
 	private boolean deleteFlag;
 
-	/**  修改人ID  */
+	/**  淇敼浜篒D  */
 	@Column(name="UPDATE_ID", length=32)
 	private String updateId;
 
-	/**  修改时间  */
+	/**  淇敼鏃堕棿  */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date updateTime;
 
-	/**  修改人  */
+	/**  淇敼浜�  */
 	@Column(name="UPDATOR", length=100)
 	private String updator;
 
diff --git a/src/main/java/com/qxueyou/scc/org/model/OrgStudent.java b/src/main/java/com/qxueyou/scc/org/model/OrgStudent.java
index 1a29cbf..5424476 100644
--- a/src/main/java/com/qxueyou/scc/org/model/OrgStudent.java
+++ b/src/main/java/com/qxueyou/scc/org/model/OrgStudent.java
@@ -22,7 +22,7 @@
 
 
 /**
- * 机构学员表  实体
+ * 鏈烘瀯瀛﹀憳琛�  瀹炰綋
  * @history 1-14 add by gavin
  *
  */
@@ -32,56 +32,56 @@
 	
 	private static final long serialVersionUID = 1L;
 	
-	/**  主键  */
+	/**  涓婚敭  */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="ORG_STUDENT_ID", unique=true, nullable=false, length=32)
 	private String orgStudentId;
 
-	/**  学员ID  */
+	/**  瀛﹀憳ID  */
 	@Column(name="STUDENT_ID", nullable=false, length=32)
 	private String studentId;
 
-	/**  用户ID */
+	/**  鐢ㄦ埛ID */
 	@Column(name="USER_ID", length=32)
 	private String userId;
 
-	/**  机构ID  */
+	/**  鏈烘瀯ID  */
 	@Column(name="ORG_ID", length=32)
 	private String orgId;
 
-	/**  班级ID  */
+	/**  鐝骇ID  */
 	@Column(name="CLASS_ID", length=32)
 	private String classId;
 
-	/**  创建者ID  */
+	/**  鍒涘缓鑰匢D  */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	private String createId;
 
-	/**  创建时间  */
+	/**  鍒涘缓鏃堕棿  */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date createTime;
 
-	/**  创建人  */
+	/**  鍒涘缓浜�  */
 	@Column(name="CREATOR", nullable=false, length=100)
 	private String creator;
 
-	/**  删除标志 */
+	/**  鍒犻櫎鏍囧織 */
 	@Column(name="DELETE_FLAG", nullable=false)
 	private boolean deleteFlag;
 
-	/**  修改人ID  */
+	/**  淇敼浜篒D  */
 	@Column(name="UPDATE_ID", length=32)
 	private String updateId;
 
-	/**  修改时间  */
+	/**  淇敼鏃堕棿  */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date updateTime;
 
-	/**  修改人  */
+	/**  淇敼浜�  */
 	@Column(name="UPDATOR", length=100)
 	private String updator;
 	
diff --git a/src/main/java/com/qxueyou/scc/org/model/OrgTeacher.java b/src/main/java/com/qxueyou/scc/org/model/OrgTeacher.java
index e7a4db8..33dd46b 100644
--- a/src/main/java/com/qxueyou/scc/org/model/OrgTeacher.java
+++ b/src/main/java/com/qxueyou/scc/org/model/OrgTeacher.java
@@ -81,15 +81,15 @@
 	@Column(name="NAME", length=150)
 	private String name;
 	
-	/**  职称  */
+	/**  鑱岀О  */
 	@Column(name="TITLE", length=150)
 	private String title;
 	
-	/**  学历  */
+	/**  瀛﹀巻  */
 	@Column(name="EDUCATION", length=100)
 	private String education;
 	
-	/**  工号  */
+	/**  宸ュ彿  */
 	@Column(name="JOB_NUMBER", length=100)
 	private String jobNumber;
 	
diff --git a/src/main/java/com/qxueyou/scc/org/model/OrgText.java b/src/main/java/com/qxueyou/scc/org/model/OrgText.java
index 154212f..c6af756 100644
--- a/src/main/java/com/qxueyou/scc/org/model/OrgText.java
+++ b/src/main/java/com/qxueyou/scc/org/model/OrgText.java
@@ -24,25 +24,25 @@
 public class OrgText implements Serializable,ITrace {
 	private static final long serialVersionUID = 1L;
 
-	/** tableName值:班级介绍 */
+	/** tableName鍊硷細鐝骇浠嬬粛 */
 	public static final String TABLE_NAME_CLASS = "ORG_CLASS";
 	
-	/** tableName值:机构介绍 */
+	/** tableName鍊硷細鏈烘瀯浠嬬粛 */
 	public static final String TABLE_NAME_ORG = "ORG";
 	
-	/** tableName值:文章内容 */
+	/** tableName鍊硷細鏂囩珷鍐呭 */
 	public static final String TABLE_NAME_ARTICLE = "SCH_ARTICLE";
 	
-	/** tableName值:直播详情 */
+	/** tableName鍊硷細鐩存挱璇︽儏 */
 	public static final String TABLE_NAME_LIVE = "SCH_LIVE";
 	
-	/** tableName值:视频详情 */
+	/** tableName鍊硷細瑙嗛璇︽儏 */
 	public static final String TABLE_NAME_VIDEO = "SCH_VIDEO";
 	
-	/** tableName值:讲义详情 */
+	/** tableName鍊硷細璁蹭箟璇︽儏 */
 	public static final String TABLE_NAME_HANDOUT = "SCH_HANDOUT";
 	
-	/** tableName值:作文作业详情 */
+	/** tableName鍊硷細浣滄枃浣滀笟璇︽儏 */
 	public static final String TABLE_WRITING_EXERCISE = "EXERCISE_COMPLETE_INFO";
 	
 	
diff --git a/src/main/java/com/qxueyou/scc/org/model/Organization.java b/src/main/java/com/qxueyou/scc/org/model/Organization.java
index e425780..56807ea 100644
--- a/src/main/java/com/qxueyou/scc/org/model/Organization.java
+++ b/src/main/java/com/qxueyou/scc/org/model/Organization.java
@@ -36,7 +36,7 @@
 	
 	private static final long serialVersionUID = 1L;
 	
-	/** 用户类型(1,职业培训;2,学历教育;3,企业内训;4,活动沙龙;5,代理机构) */
+	/** 鐢ㄦ埛绫诲瀷(1,鑱屼笟鍩硅锛�2锛屽鍘嗘暀鑲诧紱3锛屼紒涓氬唴璁�;4,娲诲姩娌欓緳;5,浠g悊鏈烘瀯) */
 	public static final short ORG_TYPE_JOB_TRAINING = 1;
 	
 	public static final short ORG_TYPE_DEGREE_EDUCATION = 2;
@@ -46,7 +46,7 @@
 	public static final short ORG_TYPE_ACTIVITY_SALON = 4;
 	
 	public static final short ORG_TYPE_CLASS_AGENCY = 5;
-	/**  level (1:学校  2:系  3:学院)  */
+	/**  level (1:瀛︽牎  2锛氱郴  3锛氬闄�)  */
 	public static final short ORG_LEVEL_SCHOOL = 1;
 	public static final short ORG_LEVEL_SYSTEM = 2;
 	public static final short ORG_LEVEL_COURTYARD = 3;
@@ -112,7 +112,7 @@
 	@Column(name="SERVER_URL", length=150)
 	private String serverUrl;
     
-	/**  类型:(1.职业培训 2.学历教育3.企业内训 4.活动沙龙5.代理机构)  */
+	/**  绫诲瀷锛氾紙1.鑱屼笟鍩硅 2.瀛﹀巻鏁欒偛3.浼佷笟鍐呰 4.娲诲姩娌欓緳5.浠g悊鏈烘瀯锛�  */
 	@Column(name="TYPE", length=6)
 	private String type;
 	
diff --git a/src/main/java/com/qxueyou/scc/org/model/OrganizationExtend.java b/src/main/java/com/qxueyou/scc/org/model/OrganizationExtend.java
index 30cfdd4..088d12d 100644
--- a/src/main/java/com/qxueyou/scc/org/model/OrganizationExtend.java
+++ b/src/main/java/com/qxueyou/scc/org/model/OrganizationExtend.java
@@ -15,7 +15,7 @@
 
 
 /**
- * 机构扩展字段
+ * 鏈烘瀯鎵╁睍瀛楁
  * @author ody.yuan
  *
  */
diff --git a/src/main/java/com/qxueyou/scc/org/service/IOrgClassService.java b/src/main/java/com/qxueyou/scc/org/service/IOrgClassService.java
index a45040f..42e2924 100644
--- a/src/main/java/com/qxueyou/scc/org/service/IOrgClassService.java
+++ b/src/main/java/com/qxueyou/scc/org/service/IOrgClassService.java
@@ -3,7 +3,7 @@
 import com.qxueyou.scc.base.model.Result;
 
 /**
- * 班级管理服务层
+ * 鐝骇绠$悊鏈嶅姟灞�
  * 
  * @author chenjunliang
  *
@@ -11,7 +11,7 @@
 public interface IOrgClassService {
 
 	/**
-	 * 新增班级
+	 * 鏂板鐝骇
 	 * 
 	 * @param course
 	 * @return
@@ -20,14 +20,14 @@
 			boolean overTime, boolean quitClass, boolean displayAnswer, boolean repeatExercise, boolean forum);
 
 	/**
-	 * 获取班级列表
+	 * 鑾峰彇鐝骇鍒楄〃
 	 * 
 	 * @return
 	 */
 	Result getClassLst(String keyword, Integer pageNum, Integer pageSize);
 
 	/**
-	 * 删除班级
+	 * 鍒犻櫎鐝骇
 	 * 
 	 * @param classIds
 	 * @return
@@ -35,7 +35,7 @@
 	Result deleteClass(String classIds);
 
 	/**
-	 * 查看班级
+	 * 鏌ョ湅鐝骇
 	 * 
 	 * @param classId
 	 * @return
@@ -43,7 +43,7 @@
 	Result queryClass(String classId);
 
 	/**
-	 * 获取课程列表
+	 * 鑾峰彇璇剧▼鍒楄〃
 	 * 
 	 * @return
 	 */
diff --git a/src/main/java/com/qxueyou/scc/org/service/IOrgClassTeacherService.java b/src/main/java/com/qxueyou/scc/org/service/IOrgClassTeacherService.java
index 9eb640d..397786e 100644
--- a/src/main/java/com/qxueyou/scc/org/service/IOrgClassTeacherService.java
+++ b/src/main/java/com/qxueyou/scc/org/service/IOrgClassTeacherService.java
@@ -1,6 +1,6 @@
 package com.qxueyou.scc.org.service;
 /**
-*外部讲师服务接口
+*澶栭儴璁插笀鏈嶅姟鎺ュ彛
 *@author junliang
 *@createTime 2017
 */
diff --git a/src/main/java/com/qxueyou/scc/org/service/IOrgTextService.java b/src/main/java/com/qxueyou/scc/org/service/IOrgTextService.java
index b14c686..6ae9623 100644
--- a/src/main/java/com/qxueyou/scc/org/service/IOrgTextService.java
+++ b/src/main/java/com/qxueyou/scc/org/service/IOrgTextService.java
@@ -9,7 +9,7 @@
 public interface IOrgTextService {
 	
 	/**
-	 * 插入OrgText - 单个
+	 * 鎻掑叆OrgText - 鍗曚釜
 	 * @param key
 	 * @param tableName
 	 * @param content
@@ -18,7 +18,7 @@
 	Result doInsertOrgText(String key,String tableName,String content);
 	
 	/**
-	 * 保存OrgText - 单个
+	 * 淇濆瓨OrgText - 鍗曚釜
 	 * @param key
 	 * @param tableName
 	 * @param content
@@ -27,7 +27,7 @@
 	Result doSaveOrgText(String key,String tableName,String content);
 	
 	/**
-	 * 保存OrgText - 多个
+	 * 淇濆瓨OrgText - 澶氫釜
 	 * @param keys
 	 * @param tableName
 	 * @param content
@@ -36,7 +36,7 @@
 	Result doSaveOrgTexts(List<String> keys,String tableName,String content);
 	
 	/**
-	 * 获取OrgText - 单个
+	 * 鑾峰彇OrgText - 鍗曚釜
 	 * @param key
 	 * @param tableName
 	 * @return
@@ -44,7 +44,7 @@
 	OrgText getOrgText(String key,String tableName);
 	
 	/**
-	 * 获取OrgText —— 多个(组长Map:key-key,value-OrgText)
+	 * 鑾峰彇OrgText 鈥斺�� 澶氫釜锛堢粍闀縈ap锛歬ey-key,value-OrgText锛�
 	 * @param keys
 	 * @param tableName
 	 * @return
diff --git a/src/main/java/com/qxueyou/scc/org/service/IOrganizationService.java b/src/main/java/com/qxueyou/scc/org/service/IOrganizationService.java
index a8c2459..549a270 100644
--- a/src/main/java/com/qxueyou/scc/org/service/IOrganizationService.java
+++ b/src/main/java/com/qxueyou/scc/org/service/IOrganizationService.java
@@ -10,14 +10,14 @@
 public interface IOrganizationService {
 
     /**
-     * 获取区局机构ID
+     * 鑾峰彇鍖哄眬鏈烘瀯ID
      *
-     * @param orgId 机构id
+     * @param orgId 鏈烘瀯id
      */
     String getTopOrgId(String orgId);
 
     /**
-     * 根据orgId查询所有的父级组织列表
+     * 鏍规嵁orgId鏌ヨ鎵�鏈夌殑鐖剁骇缁勭粐鍒楄〃
      *
      * @param orgId
      * @return
@@ -25,7 +25,7 @@
     List<Organization> queryAllParentOrganizations(String orgId);
 
     /**
-     * 根据orgId获取所有子机构组织信息
+     * 鏍规嵁orgId鑾峰彇鎵�鏈夊瓙鏈烘瀯缁勭粐淇℃伅
      *
      * @param orgId
      * @return
@@ -33,7 +33,7 @@
     List<Organization> queryAllChildOrganizations(String orgId);
 
     /**
-     * 查询用户所在的所有组织
+     * 鏌ヨ鐢ㄦ埛鎵�鍦ㄧ殑鎵�鏈夌粍缁�
      *
      * @param userId
      * @return
@@ -41,14 +41,14 @@
     List<Organization> queryUserOrganizaions(String userId);
 
     /**
-     * 获取所有机构列表
+     * 鑾峰彇鎵�鏈夋満鏋勫垪琛�
      *
      * @return
      */
     List<Map<String, Object>> getOrgLst();
     
     /**
-     * 获取机构信息
+     * 鑾峰彇鏈烘瀯淇℃伅
      *
      * @return
      */
diff --git a/src/main/java/com/qxueyou/scc/org/service/ITeacherService.java b/src/main/java/com/qxueyou/scc/org/service/ITeacherService.java
index 6843b43..46880e5 100644
--- a/src/main/java/com/qxueyou/scc/org/service/ITeacherService.java
+++ b/src/main/java/com/qxueyou/scc/org/service/ITeacherService.java
@@ -3,16 +3,16 @@
 import com.qxueyou.scc.org.model.OrgTeacher;
 
 /**
- *  讲师接口
- * @author 夏德虎
+ *  璁插笀鎺ュ彛
+ * @author 澶忓痉铏�
  *
  */
 public interface ITeacherService {
 	
 	/**
-	 * 读取讲师
-	 * @param userId 用户ID
-	 * @return 讲师对象,如果为空,返回null
+	 * 璇诲彇璁插笀
+	 * @param userId 鐢ㄦ埛ID
+	 * @return 璁插笀瀵硅薄锛屽鏋滀负绌猴紝杩斿洖null
 	 */
 	public abstract OrgTeacher getOrgTeacherByUserId(String userId);
 	
diff --git a/src/main/java/com/qxueyou/scc/org/service/impl/OrgClassTeacherService.java b/src/main/java/com/qxueyou/scc/org/service/impl/OrgClassTeacherService.java
index c18a09b..6fbd4aa 100644
--- a/src/main/java/com/qxueyou/scc/org/service/impl/OrgClassTeacherService.java
+++ b/src/main/java/com/qxueyou/scc/org/service/impl/OrgClassTeacherService.java
@@ -5,7 +5,7 @@
 import com.qxueyou.scc.org.service.IOrgClassTeacherService;
 
 /**
-*外部讲师服务层 
+*澶栭儴璁插笀鏈嶅姟灞� 
 *@author junliang
 *@createTime 2017
 */
diff --git a/src/main/java/com/qxueyou/scc/org/service/impl/OrgTextService.java b/src/main/java/com/qxueyou/scc/org/service/impl/OrgTextService.java
index cbe3bac..a070609 100644
--- a/src/main/java/com/qxueyou/scc/org/service/impl/OrgTextService.java
+++ b/src/main/java/com/qxueyou/scc/org/service/impl/OrgTextService.java
@@ -18,7 +18,7 @@
 public class OrgTextService extends CommonAppService implements IOrgTextService {
 	
 	/**
-	 * 插入OrgText - 单个
+	 * 鎻掑叆OrgText - 鍗曚釜
 	 */
 	@Override
 	public Result doInsertOrgText(String key,String tableName,String content){
@@ -41,7 +41,7 @@
 	}
 	
 	/**
-	 * 保存OrgText - 单个
+	 * 淇濆瓨OrgText - 鍗曚釜
 	 */
 	@Override
 	public Result doSaveOrgText(String key,String tableName,String content) {
@@ -51,7 +51,7 @@
 		}
 		
 		OrgText orgText = getOrgText(key, tableName);
-		if(orgText == null){// 新增
+		if(orgText == null){// 鏂板
 			orgText = new OrgText();
 			orgText.setKey(key);
 			orgText.setTableName(tableName);
@@ -59,7 +59,7 @@
 			orgText.setDeleteFlag(false);
 			TraceUtils.setCreateTrace(orgText);
 			
-		}else{// 编辑
+		}else{// 缂栬緫
 			orgText.setContent(content);
 			TraceUtils.setUpdateTrace(orgText);
 		}
@@ -68,7 +68,7 @@
 	}
 	
 	/**
-	 * 保存OrgText - 多个
+	 * 淇濆瓨OrgText - 澶氫釜
 	 */
 	@Override
 	public Result doSaveOrgTexts(List<String> keys,String tableName,String content){
@@ -82,14 +82,14 @@
 		
 		for (int i = 0; i < keys.size(); i++) {
 			OrgText orgText = (OrgText) map.get(keys.get(i));
-			if(orgText == null){// 新增
+			if(orgText == null){// 鏂板
 				orgText = new OrgText();
 				orgText.setKey(keys.get(i));
 				orgText.setTableName(tableName);
 				orgText.setContent(content);
 				orgText.setDeleteFlag(false);
 				TraceUtils.setCreateTrace(orgText);
-			}else{// 编辑
+			}else{// 缂栬緫
 				orgText.setContent(content);
 				TraceUtils.setUpdateTrace(orgText);
 			}
@@ -100,7 +100,7 @@
 	}
 	
 	/**
-	 * 获取OrgText - 单个
+	 * 鑾峰彇OrgText - 鍗曚釜
 	 */
 	@Override
 	public OrgText getOrgText(String key,String tableName){
@@ -110,7 +110,7 @@
 	}
 	
 	/**
-	 * 获取OrgText —— 多个(组长Map:key-key,value-OrgText)
+	 * 鑾峰彇OrgText 鈥斺�� 澶氫釜锛堢粍闀縈ap锛歬ey-key,value-OrgText锛�
 	 */
 	@Override
 	public Map<String,Object> getOrgTextMap(List<String> keys,String tableName){
diff --git a/src/main/java/com/qxueyou/scc/org/service/impl/OrganizationService.java b/src/main/java/com/qxueyou/scc/org/service/impl/OrganizationService.java
index 1dc2179..9423250 100644
--- a/src/main/java/com/qxueyou/scc/org/service/impl/OrganizationService.java
+++ b/src/main/java/com/qxueyou/scc/org/service/impl/OrganizationService.java
@@ -23,9 +23,9 @@
 import com.qxueyou.scc.org.service.IOrganizationService;
 
 /**
- * 组织结构服务类
+ * 缁勭粐缁撴瀯鏈嶅姟绫�
  *
- * @author 何楷
+ * @author 浣曟シ
  */
 @Service
 public class OrganizationService extends CommonAppService implements IOrganizationService {
@@ -34,7 +34,7 @@
     private final Logger log = LogManager.getLogger(OrganizationService.class);
 
     /**
-     * 根据用户当前组织ID获取所在局的组织ID
+     * 鏍规嵁鐢ㄦ埛褰撳墠缁勭粐ID鑾峰彇鎵�鍦ㄥ眬鐨勭粍缁嘔D
      */
     @SuppressWarnings("unchecked")
     @Override
@@ -42,7 +42,7 @@
         String topOrgId = null;
         String sql = null;
 
-        //查询所在单位的区局内设机构的orgID
+        //鏌ヨ鎵�鍦ㄥ崟浣嶇殑鍖哄眬鍐呰鏈烘瀯鐨刼rgID
         sql = "select d.value" +
                 "  from sys_dictionary d " +
                 " where d.dic_key = 'TOP_ORG' " +
@@ -115,7 +115,7 @@
     }
 
     /**
-     * 查询用户所在的所有组织
+     * 鏌ヨ鐢ㄦ埛鎵�鍦ㄧ殑鎵�鏈夌粍缁�
      *
      * @param userId
      * @return
@@ -135,7 +135,7 @@
     }
     
     /**
-     * 获取机构信息
+     * 鑾峰彇鏈烘瀯淇℃伅
      *
      * @return
      */
diff --git a/src/main/java/com/qxueyou/scc/org/util/CourseMarketUtils.java b/src/main/java/com/qxueyou/scc/org/util/CourseMarketUtils.java
index d01a5ef..72731bb 100644
--- a/src/main/java/com/qxueyou/scc/org/util/CourseMarketUtils.java
+++ b/src/main/java/com/qxueyou/scc/org/util/CourseMarketUtils.java
@@ -11,7 +11,7 @@
 
 
 /**
- * 课程超市工具类
+ * 璇剧▼瓒呭競宸ュ叿绫�
  * @author xiadehu
  *
  */
@@ -25,7 +25,7 @@
 	 */
 	public static BufferedImage drawPng(char letter,Color bgColor){
 		
-		//初始化画布
+		//鍒濆鍖栫敾甯�
 		int width=120;
 		int height = 120;
 		BufferedImage image = new BufferedImage(width, height,     BufferedImage.TYPE_INT_RGB);
@@ -34,7 +34,7 @@
 		g2d.dispose();
 		g2d = image.createGraphics();
 		 
-		//背景
+		//鑳屾櫙
 		g2d.setColor(bgColor);
 		g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
 		double centerX = width/2;
@@ -44,11 +44,11 @@
 		circle.setFrameFromCenter(centerX, centerY, centerX + radius, centerY+ radius);
 		g2d.fill(circle);
 		
-		//文字
+		//鏂囧瓧
 		g2d.setColor(new Color(255,255,255));
 		int textSize = 64;
 		
-		Font font = new Font("微软雅黑", Font.PLAIN, textSize);
+		Font font = new Font("寰蒋闆呴粦", Font.PLAIN, textSize);
 		g2d.setFont(font);
 		FontMetrics metrics = g2d.getFontMetrics();
 		
@@ -57,7 +57,7 @@
 		
 		g2d.drawString(String.valueOf(letter), x, y);
 		
-		//释放
+		//閲婃斁
 		g2d.dispose();
 		
 		return image;
diff --git a/src/main/java/com/qxueyou/scc/portal/information/model/Information.java b/src/main/java/com/qxueyou/scc/portal/information/model/Information.java
index 295a366..3b8c12d 100644
--- a/src/main/java/com/qxueyou/scc/portal/information/model/Information.java
+++ b/src/main/java/com/qxueyou/scc/portal/information/model/Information.java
@@ -23,11 +23,11 @@
 
     private static final long serialVersionUID = 1L;
 
-    //草稿 draft
+    //鑽夌 draft
     public static final String DRAFT_STATUS = "draft";
-    //上架
+    //涓婃灦
     public static final String UP_STATUS = "up";
-    //下架
+    //涓嬫灦
     public static final String DOWN_STATUS = "down";
 
 
@@ -67,63 +67,63 @@
     public String getId() {
         return id;
     }
-    //文章标题
+    //鏂囩珷鏍囬
     private String title;
 
-    //文章类型
-    //examBriefing 走进大赛
-    // qualifiedSet 通知公告
-    // policiesRegulations 新闻中心
-    // examinationGuide 资料下载
-    // popularInformation 联系方式
+    //鏂囩珷绫诲瀷
+    //examBriefing 璧拌繘澶ц禌
+    // qualifiedSet 閫氱煡鍏憡
+    // policiesRegulations 鏂伴椈涓績
+    // examinationGuide 璧勬枡涓嬭浇
+    // popularInformation 鑱旂郴鏂瑰紡
     // occupationalStandard
     private String type;
 
-    //缩略图
+    //缂╃暐鍥�
     private String thumbnailUrl;
 
 
     private Date createTime;
 
     private Date updateTime;
-    //状态
+    //鐘舵��
     private String status;
 
-    //浏览数
+    //娴忚鏁�
     //BROWSE_COUNT browseCount
     private Integer browseCount;
 
-    //附件
+    //闄勪欢
     private String attachment;
 
-//    //工种编号
+//    //宸ョ缂栧彿
 //    private String occupationCode;
 
-    //文章内容
+    //鏂囩珷鍐呭
     private String content;
 
-    //发布时间
+    //鍙戝竷鏃堕棿
     private Date dateTime;
 
-    //子栏目
+    //瀛愭爮鐩�
     private String subColumn;
 
-    //视频路径
+    //瑙嗛璺緞
     private String videoUrl;
 
-    //届数
+    //灞婃暟
     private String numbers;
 
-    //竞赛文件路径
+    //绔炶禌鏂囦欢璺緞
     private String competition;
 
-    //是否删除:0未删除 1删除
+    //鏄惁鍒犻櫎锛�0鏈垹闄� 1鍒犻櫎
     private Integer deleteFlag;
 
-//    //初赛成绩路径
+//    //鍒濊禌鎴愮哗璺緞
 //    private String preliminaries;
 
-    //决赛成绩路径
+    //鍐宠禌鎴愮哗璺緞
 //    private String finals;
 
 
diff --git a/src/main/java/com/qxueyou/scc/school/action/ArticleController.java b/src/main/java/com/qxueyou/scc/school/action/ArticleController.java
index 53d2766..95bf1b0 100644
--- a/src/main/java/com/qxueyou/scc/school/action/ArticleController.java
+++ b/src/main/java/com/qxueyou/scc/school/action/ArticleController.java
@@ -31,7 +31,7 @@
 import com.qxueyou.scc.school.service.IArticleService;
 
 /**
- * 文章控制器
+ * 鏂囩珷鎺у埗鍣�
  * 
  * @author zhiyong
  * 
@@ -55,10 +55,10 @@
 	@Autowired
 	private IOrgTextService textService;
 	
-	//-------------------------------------------------------------app接口-------------------------------------------------------------------------------------------
+	//-------------------------------------------------------------app鎺ュ彛-------------------------------------------------------------------------------------------
 	
 	/**
-	 * 文章列表
+	 * 鏂囩珷鍒楄〃
 	 * 
 	 * @param pager
 	 * @return
@@ -69,7 +69,7 @@
 	}
 	
 	/**
-	 * 更新观看进度
+	 * 鏇存柊瑙傜湅杩涘害
 	 * 
 	 * @param articleId
 	 * @return
@@ -80,7 +80,7 @@
 	}
 	
 	/**
-	 * 点赞
+	 * 鐐硅禐
 	 * 
 	 * @param msgId
 	 * @return
@@ -91,7 +91,7 @@
 	}
 	
 	/**
-	 * 新增评论
+	 * 鏂板璇勮
 	 * 
 	 * @param msgId
 	 * @return
@@ -102,7 +102,7 @@
 	}
 	
 	/**
-	 * 新增评论
+	 * 鏂板璇勮
 	 * 
 	 * @param msgId
 	 * @return
@@ -113,7 +113,7 @@
 	}
 	
 	/**
-	 * 删除评论
+	 * 鍒犻櫎璇勮
 	 * 
 	 * @param msgId
 	 * @param commentId
@@ -126,10 +126,10 @@
 	
 	
 	/**
-	 *  班级列表数据
+	 *  鐝骇鍒楄〃鏁版嵁
 	 * URL :/school/article/list
 	 * 
-	 * type 1:机构 2:班级
+	 * type 1:鏈烘瀯 2锛氱彮绾�
 	 * @return
 	 */
 	@RequestMapping(value = "/class/list", method = RequestMethod.GET)
@@ -138,9 +138,9 @@
 		return articleService.queryClassListData();
 	}
 	
-	//-------------------------------------------------------------后台接口-------------------------------------------------------------------------------------------
+	//-------------------------------------------------------------鍚庡彴鎺ュ彛-------------------------------------------------------------------------------------------
 	/**
-	 * 获取机构讲义列表数据
+	 * 鑾峰彇鏈烘瀯璁蹭箟鍒楄〃鏁版嵁
 	 * 
 	 * @return
 	 */
@@ -151,7 +151,7 @@
 	}
 	
 	/**
-	 *  列表数据
+	 *  鍒楄〃鏁版嵁
 	 * URL :/school/article/list
 	 * 
 	 * @return
@@ -163,10 +163,10 @@
 	}
 	
 	/**
-	 *  班级列表数据
+	 *  鐝骇鍒楄〃鏁版嵁
 	 * URL :/school/article/class/addOrUpdate
 	 * 
-	 * type 1:机构 2:班级
+	 * type 1:鏈烘瀯 2锛氱彮绾�
 	 * @return
 	 */
 	@RequestMapping(value = "/class/addOrUpdate", method = RequestMethod.POST)
@@ -176,10 +176,10 @@
 	}
 	
 	/**
-	 *  机构列表数据
+	 *  鏈烘瀯鍒楄〃鏁版嵁
 	 * URL :/school/article/org/addOrUpdate
 	 * 
-	 * type 1:机构 2:班级
+	 * type 1:鏈烘瀯 2锛氱彮绾�
 	 * @return
 	 */
 	@RequestMapping(value = "/org/addOrUpdate", method = RequestMethod.POST)
@@ -189,10 +189,10 @@
 	}
 	
 	/**
-	 *  删除班级数据
+	 *  鍒犻櫎鐝骇鏁版嵁
 	 * URL :/school/article/delete
 	 * 
-	 * type  班级
+	 * type  鐝骇
 	 * @return
 	 */
 	@RequestMapping(value = "/delete", method = RequestMethod.POST)
@@ -203,7 +203,7 @@
 	
 	
 	/**
-	 * 习题排序
+	 * 涔犻鎺掑簭
 	 * 
 	 * @param key
 	 * @return
@@ -215,7 +215,7 @@
 	}
 	
 	/**
-	 * 获取机构指定的机构和班级
+	 * 鑾峰彇鏈烘瀯鎸囧畾鐨勬満鏋勫拰鐝骇
 	 * 
 	 * @return
 	 */
@@ -264,7 +264,7 @@
 	}
 	
 	/**
-	 * 删除讲义信息
+	 * 鍒犻櫎璁蹭箟淇℃伅
 	 * 
 	 * @return
 	 */
@@ -272,32 +272,32 @@
 	@ResponseBody
 	public Result deleteOrg(String articleIds, Integer delAll, String orgIds[], String classIds[]) {
 
-		// 保存到服务器
+		// 淇濆瓨鍒版湇鍔″櫒
 		Result result = articleService.deleteOrgArticleIds(articleIds.split(","), delAll, orgIds, classIds);
 
-		// 删除微商项目所有缓存
+		// 鍒犻櫎寰晢椤圭洰鎵�鏈夌紦瀛�
 //		new CacheUtils().deleteWBProjectCacheData();
 		
-		// 返回结果
+		// 杩斿洖缁撴灉
 		return result;
 	}
 	
 	/**
-	 * 指定讲义数据到某个机构
+	 * 鎸囧畾璁蹭箟鏁版嵁鍒版煇涓満鏋�
 	 * 
 	 * @return
 	 */
 	@RequestMapping(value = "orgArticle", method = RequestMethod.GET)
 	public @ResponseBody Result orgHandout(String articleId[], String orgId[], String classIds[], String collegeCourseId) {
 		
-		// 删除微商项目所有缓存
+		// 鍒犻櫎寰晢椤圭洰鎵�鏈夌紦瀛�
 //		new CacheUtils().deleteWBProjectCacheData();
 				
 		return articleService.insertAppointArticle(articleId, orgId, classIds, collegeCourseId);
 	}
 	
 	/**
-	 * 预览
+	 * 棰勮
 	 * 
 	 * @param articleId
 	 * @param request
diff --git a/src/main/java/com/qxueyou/scc/school/action/StudentScoreController.java b/src/main/java/com/qxueyou/scc/school/action/StudentScoreController.java
index 3e8f0a8..0ee599d 100644
--- a/src/main/java/com/qxueyou/scc/school/action/StudentScoreController.java
+++ b/src/main/java/com/qxueyou/scc/school/action/StudentScoreController.java
@@ -11,7 +11,7 @@
 import com.qxueyou.scc.school.service.IStudentScoreService;
 
 /**
- * 用户学分控制层;
+ * 鐢ㄦ埛瀛﹀垎鎺у埗灞�;
  * 
  * @author junliang
  * @createTime 2017-12-10
@@ -25,11 +25,11 @@
 	/**
 	 * 
 	 * @param classId
-	 *            班级id
+	 *            鐝骇id
 	 * @param videoId
-	 *            视频id
+	 *            瑙嗛id
 	 * @param score
-	 *            学分
+	 *            瀛﹀垎
 	 * @return
 	 */
 	@RequestMapping(value = "/addStudentScore", method = RequestMethod.GET)
@@ -40,7 +40,7 @@
 	}
 
 	/**
-	 * 获取学分
+	 * 鑾峰彇瀛﹀垎
 	 * 
 	 * @return
 	 */
@@ -53,7 +53,7 @@
 	}
 	
 	/**
-	 * 是否学完
+	 * 鏄惁瀛﹀畬
 	 * 
 	 * @return
 	 */
diff --git a/src/main/java/com/qxueyou/scc/school/dao/EvaluateDAO.java b/src/main/java/com/qxueyou/scc/school/dao/EvaluateDAO.java
index a5ae881..a4cb086 100644
--- a/src/main/java/com/qxueyou/scc/school/dao/EvaluateDAO.java
+++ b/src/main/java/com/qxueyou/scc/school/dao/EvaluateDAO.java
@@ -1,8 +1,8 @@
 /******************************************************************************
  * Copyright (C) 2015 Shenzhen Penguin Network Technology Co., Ltd
  * All Rights Reserved.
- * 本软件为深圳企鹅网络科技有限公司开发研制。未经本公司正式书面同意,其他任何个人、团体
- * 不得使用、复制、修改或发布本软件.
+ * 鏈蒋浠朵负娣卞湷浼侀箙缃戠粶绉戞妧鏈夐檺鍏徃寮�鍙戠爺鍒躲�傛湭缁忔湰鍏徃姝e紡涔﹂潰鍚屾剰锛屽叾浠栦换浣曚釜浜恒�佸洟浣�
+ * 涓嶅緱浣跨敤銆佸鍒躲�佷慨鏀规垨鍙戝竷鏈蒋浠�.
  *****************************************************************************/
 
 package com.qxueyou.scc.school.dao;
@@ -27,16 +27,16 @@
 
 @Repository(value="evaluateDAO")
 /**
- * 自动注入sessionFactory 评估
+ * 鑷姩娉ㄥ叆sessionFactory 璇勪及
  *
- * @author 邓志永
+ * @author 閭撳織姘�
  * @since JDK1.6
- * @history 2015-01-07 邓志永 新建
+ * @history 2015-01-07 閭撳織姘� 鏂板缓
  */
 public class EvaluateDAO extends BaseDAO {
 	
 	/**
-     * 注入sessionFactory
+     * 娉ㄥ叆sessionFactory
      *
      * @param sessionFactory
      */
@@ -46,7 +46,7 @@
     }
     
     /**
-	 * 查询签到排名结果
+	 * 鏌ヨ绛惧埌鎺掑悕缁撴灉
 	 * @param sql
 	 * @param args
 	 * @return
@@ -54,7 +54,7 @@
     @SuppressWarnings("unchecked")
 	public List<Map<String, Object>> querySignRankList(String sql,
 		List<Object> args) {
-    	// 查询结果
+    	// 鏌ヨ缁撴灉
     	List<Object[]> lst = (List<Object[]>) this.getHibernateTemplate().find(sql, args.toArray());
     	if(lst.isEmpty()){
     		return null;
@@ -78,7 +78,7 @@
 	}
     
     /**
-	 * 查询出勤率结果
+	 * 鏌ヨ鍑哄嫟鐜囩粨鏋�
 	 * @param sql
 	 * @param args
 	 * @return
@@ -86,7 +86,7 @@
     @SuppressWarnings("unchecked")
 	public List<Map<String, Object>> querySignAttendanceList(String sql,
 		List<Object> args) {
-    	// 查询结果
+    	// 鏌ヨ缁撴灉
     	List<Object[]> lst =  this.findBySql(sql, args);
     	if(lst.isEmpty()){
     		return null;
@@ -110,7 +110,7 @@
     
     
     /**
-   	 * 查询家庭作业完成度结果
+   	 * 鏌ヨ瀹跺涵浣滀笟瀹屾垚搴︾粨鏋�
    	 * @param sql
    	 * @param args
    	 * @return
@@ -139,7 +139,7 @@
    	}
        
        /**
-        * 查询家庭作业答题分数结果
+        * 鏌ヨ瀹跺涵浣滀笟绛旈鍒嗘暟缁撴灉
         * @param sql
         * @param args
         * @return
@@ -170,7 +170,7 @@
     @SuppressWarnings("rawtypes")
 	public <T> List<T> queryListByIn(String hql, List<Object> args, Class<T> cls) {
     	List<T> result = new ArrayList<T>();
-    	// 查询结果
+    	// 鏌ヨ缁撴灉
     	Session session = this.getSessionFactory().getCurrentSession();
     	Query query = session.createQuery(hql);
     	query.setParameterList("ins", args);
@@ -182,7 +182,7 @@
 	}
     
     /**
-	 * 查询老师列表
+	 * 鏌ヨ鑰佸笀鍒楄〃
 	 * @param sql
 	 * @param args
 	 * @return
@@ -190,7 +190,7 @@
 	 */
     @SuppressWarnings("unchecked")
 	public List<OrgTeacher> queryTeacherList(String sql,List<Object> args) {
-    	// 查询结果
+    	// 鏌ヨ缁撴灉
     	Session session = this.getSessionFactory().getCurrentSession();
     	SQLQuery query = session.createSQLQuery(sql);
     	query.setResultTransformer(Transformers.aliasToBean(OrgTeacher.class));
diff --git a/src/main/java/com/qxueyou/scc/school/dao/HandoutDAO.java b/src/main/java/com/qxueyou/scc/school/dao/HandoutDAO.java
index fd44b59..0b84bcb 100644
--- a/src/main/java/com/qxueyou/scc/school/dao/HandoutDAO.java
+++ b/src/main/java/com/qxueyou/scc/school/dao/HandoutDAO.java
@@ -1,8 +1,8 @@
 /******************************************************************************
  * Copyright (C) 2015 Shenzhen Penguin Network Technology Co., Ltd
  * All Rights Reserved.
- * 本软件为深圳市企鹅网络科技有限公司开发研制。未经本公司正式书面同意,其他任何个人、团体
- * 不得使用、复制、修改或发布本软件.
+ * 鏈蒋浠朵负娣卞湷甯備紒楣呯綉缁滅鎶�鏈夐檺鍏徃寮�鍙戠爺鍒躲�傛湭缁忔湰鍏徃姝e紡涔﹂潰鍚屾剰锛屽叾浠栦换浣曚釜浜恒�佸洟浣�
+ * 涓嶅緱浣跨敤銆佸鍒躲�佷慨鏀规垨鍙戝竷鏈蒋浠�.
  *****************************************************************************/
 
 package com.qxueyou.scc.school.dao;
@@ -23,15 +23,15 @@
 
 @Repository(value="handoutDAO")
 /**
- * 自动注入sessionFactory 互动
+ * 鑷姩娉ㄥ叆sessionFactory 浜掑姩
  *
- * @author 邓志永
+ * @author 閭撳織姘�
  * @since JDK1.6
- * @history 2015-01-07 邓志永 新建
+ * @history 2015-01-07 閭撳織姘� 鏂板缓
  */
 public class HandoutDAO extends BaseDAO {
     /**
-	 * 查询互动练习结果,加下拉和分页
+	 * 鏌ヨ浜掑姩缁冧範缁撴灉,鍔犱笅鎷夊拰鍒嗛〉
 	 * @param hql
 	 * @param args
 	 * @return
@@ -40,13 +40,13 @@
     	
     	List<SchHandout> handoutLst = new ArrayList<SchHandout>(20);
     	SchHandout handout = null;  
-    	// 查询结果 	
+    	// 鏌ヨ缁撴灉 	
 	   List<Object[]> lst  =   this.findList(hql, page, args, Object[].class);
     	
     	for (Object[] obj : lst) {
     		handout = new SchHandout();
     		handout = (SchHandout) obj[0];
-    		if(type == 1){//讲义收藏
+    		if(type == 1){//璁蹭箟鏀惰棌
     			handout.setTotalCount(handout.getPageCount());
     			handout.setPageCount(Integer.parseInt(String.valueOf(obj[1])));
     		}
@@ -57,14 +57,14 @@
     
     
     /**
-     * 后台列表查询讲义数据
+     * 鍚庡彴鍒楄〃鏌ヨ璁蹭箟鏁版嵁
      * @param sql
      * @param args
      * @return
      */
     @SuppressWarnings("unchecked")
 	public List<SchHandout> queryDataList(String sql,List<Object> args) {
-    	// 查询结果
+    	// 鏌ヨ缁撴灉
     	Session session = this.getSessionFactory().getCurrentSession();
     	SQLQuery query = session.createSQLQuery(sql).addEntity(SchHandout.class);
     	//query.setResultTransformer(Transformers.aliasToBean(SchHandout.class));
@@ -78,7 +78,7 @@
     
     
     /**
-	 * 通过讲义观看记录查询讲义实际观看了的页码
+	 * 閫氳繃璁蹭箟瑙傜湅璁板綍鏌ヨ璁蹭箟瀹為檯瑙傜湅浜嗙殑椤电爜
 	 * @param hql
 	 * @param args
 	 * @return
@@ -86,7 +86,7 @@
     @SuppressWarnings({ "unchecked"})
 	public List<String> schHandoutPageNum(final String hql, final List<Object> args) {
     	
-    	// 查询结果 	
+    	// 鏌ヨ缁撴灉 	
 	   List<Integer> lst  =  this.getHibernateTemplate().execute(new HibernateCallback<List<Integer>>() {
 
 	        public List<Integer> doInHibernate(Session session) {
diff --git a/src/main/java/com/qxueyou/scc/school/dao/InteractDAO.java b/src/main/java/com/qxueyou/scc/school/dao/InteractDAO.java
index 2d548f9..12ce183 100644
--- a/src/main/java/com/qxueyou/scc/school/dao/InteractDAO.java
+++ b/src/main/java/com/qxueyou/scc/school/dao/InteractDAO.java
@@ -1,8 +1,8 @@
 /******************************************************************************
  * Copyright (C) 2015 Shenzhen Penguin Network Technology Co., Ltd
  * All Rights Reserved.
- * 本软件为深圳市企鹅网络科技有限公司开发研制。未经本公司正式书面同意,其他任何个人、团体
- * 不得使用、复制、修改或发布本软件.
+ * 鏈蒋浠朵负娣卞湷甯備紒楣呯綉缁滅鎶�鏈夐檺鍏徃寮�鍙戠爺鍒躲�傛湭缁忔湰鍏徃姝e紡涔﹂潰鍚屾剰锛屽叾浠栦换浣曚釜浜恒�佸洟浣�
+ * 涓嶅緱浣跨敤銆佸鍒躲�佷慨鏀规垨鍙戝竷鏈蒋浠�.
  *****************************************************************************/
 
 package com.qxueyou.scc.school.dao;
@@ -20,16 +20,16 @@
 
 @Repository(value="interactDAO")
 /**
- * 自动注入sessionFactory 互动
+ * 鑷姩娉ㄥ叆sessionFactory 浜掑姩
  *
- * @author 邓志永
+ * @author 閭撳織姘�
  * @since JDK1.6
- * @history 2015-01-07 邓志永 新建
+ * @history 2015-01-07 閭撳織姘� 鏂板缓
  */
 public class InteractDAO extends HibernateDaoSupport {
 	
 	/**
-     * 注入sessionFactory
+     * 娉ㄥ叆sessionFactory
      *
      * @param sessionFactory
      */
@@ -39,7 +39,7 @@
     }
     
     /**
-	 * 查询互动练习结果
+	 * 鏌ヨ浜掑姩缁冧範缁撴灉
 	 * @param hql
 	 * @param args
 	 * @return
@@ -47,7 +47,7 @@
     @SuppressWarnings("unchecked")
 	public List<Map<String, Object>> queryResultByInteractExer(String hql,
 		List<Object> args) {
-    	// 查询结果
+    	// 鏌ヨ缁撴灉
     	List<Object[]> lst = (List<Object[]>) this.getHibernateTemplate().find(hql, args.toArray());
     	if(lst.isEmpty()){
     		return null;
@@ -59,7 +59,7 @@
     		 resultMap = new HashMap<String, Object>();
     		 resultMap.put("name", obj[0]);
     		 resultMap.put("count", obj[1]);
-    		 resultMap.put("peopleCount", obj[2]);//总人数
+    		 resultMap.put("peopleCount", obj[2]);//鎬讳汉鏁�
     		 resultLst.add(resultMap);
         }
 		return resultLst;
diff --git a/src/main/java/com/qxueyou/scc/school/dao/LessonDAO.java b/src/main/java/com/qxueyou/scc/school/dao/LessonDAO.java
index ead578c..e86ea03 100644
--- a/src/main/java/com/qxueyou/scc/school/dao/LessonDAO.java
+++ b/src/main/java/com/qxueyou/scc/school/dao/LessonDAO.java
@@ -1,7 +1,7 @@
 /******************************************************************************
  * All Rights Reserved.
- * 本软件为深圳市企鹅网络科技有限公司开发研制。未经本公司正式书面同意,其他任何个人、团体
- * 不得使用、复制、修改或发布本软件.
+ * 鏈蒋浠朵负娣卞湷甯備紒楣呯綉缁滅鎶�鏈夐檺鍏徃寮�鍙戠爺鍒躲�傛湭缁忔湰鍏徃姝e紡涔﹂潰鍚屾剰锛屽叾浠栦换浣曚釜浜恒�佸洟浣�
+ * 涓嶅緱浣跨敤銆佸鍒躲�佷慨鏀规垨鍙戝竷鏈蒋浠�.
  *****************************************************************************/
 
 package com.qxueyou.scc.school.dao;
@@ -23,7 +23,7 @@
 
 @Repository(value="lessonDAO")
 /**
- * 自动注入sessionFactory 
+ * 鑷姩娉ㄥ叆sessionFactory 
  *
  * @author ody.yuan
  * @since JDK1.6
@@ -32,14 +32,14 @@
 public class LessonDAO extends BaseDAO {
 	
     /**
-	 * 查询课程列表明细
+	 * 鏌ヨ璇剧▼鍒楄〃鏄庣粏
 	 * @param sql
 	 * @param args
 	 * @return
      * @throws ParseException 
 	 */
 	public List<SchClassSchedule> queryLessonList(String sql,List<Object> args) {
-		// 查询结果
+		// 鏌ヨ缁撴灉
     	Session session = this.getSessionFactory().getCurrentSession();
     	SQLQuery query = session.createSQLQuery(sql);
     	query.setResultTransformer(Transformers.aliasToBean(SchClassSchedule.class));
@@ -53,7 +53,7 @@
 	}
     
     /**
-   	 * 组装查询练习题目  顺序、随机练习
+   	 * 缁勮鏌ヨ缁冧範棰樼洰  椤哄簭銆侀殢鏈虹粌涔�
    	 * @return
    	 */
    	public List<SchClassSchedule> queryAppLessonList(final String hql, final Pager page,
@@ -71,7 +71,7 @@
    	}
 
 	/**
-   	 * 根据讲师id查询班级
+   	 * 鏍规嵁璁插笀id鏌ヨ鐝骇
    	 * @param orgTeacherId
    	 * @return
    	 */
@@ -82,7 +82,7 @@
 	}
 	
    	/**
-   	 * 查询讲师关联的直播
+   	 * 鏌ヨ璁插笀鍏宠仈鐨勭洿鎾�
    	 * 
    	 * @param orgTeacherId
    	 * @return
diff --git a/src/main/java/com/qxueyou/scc/school/dao/RankDAO.java b/src/main/java/com/qxueyou/scc/school/dao/RankDAO.java
index 81adbb5..848b29c 100644
--- a/src/main/java/com/qxueyou/scc/school/dao/RankDAO.java
+++ b/src/main/java/com/qxueyou/scc/school/dao/RankDAO.java
@@ -1,8 +1,8 @@
 /******************************************************************************
  * Copyright (C) 2015 Shenzhen Penguin Network Technology Co., Ltd
  * All Rights Reserved.
- * 本软件为深圳市企鹅网络科技有限公司开发研制。未经本公司正式书面同意,其他任何个人、团体
- * 不得使用、复制、修改或发布本软件.
+ * 鏈蒋浠朵负娣卞湷甯備紒楣呯綉缁滅鎶�鏈夐檺鍏徃寮�鍙戠爺鍒躲�傛湭缁忔湰鍏徃姝e紡涔﹂潰鍚屾剰锛屽叾浠栦换浣曚釜浜恒�佸洟浣�
+ * 涓嶅緱浣跨敤銆佸鍒躲�佷慨鏀规垨鍙戝竷鏈蒋浠�.
  *****************************************************************************/
 
 package com.qxueyou.scc.school.dao;
@@ -21,7 +21,7 @@
 
 @Repository(value="RankDAO")
 /**
- * 自动注入sessionFactory 排名
+ * 鑷姩娉ㄥ叆sessionFactory 鎺掑悕
  *
  * @author ody.yuan
  * @since JDK1.6
@@ -30,14 +30,14 @@
 public class RankDAO extends BaseDAO {
     
     /**
-	 * 查询班级排名(刷新和分页)
+	 * 鏌ヨ鐝骇鎺掑悕锛堝埛鏂板拰鍒嗛〉锛�
 	 * @param sql
 	 * @param args
 	 * @return
      * @throws ParseException 
 	 */
 	public List<SchRankHis> queryClassRankList(final String hql,final Pager page,final List<Object> args) {
-		// 查询得到结果
+		// 鏌ヨ寰楀埌缁撴灉
 		List<Object[]> lst  =    this.findList(hql, page, args, Object[].class);
        
        List<SchRankHis> rankLst = new ArrayList<SchRankHis>();
diff --git a/src/main/java/com/qxueyou/scc/school/dao/SignDAO.java b/src/main/java/com/qxueyou/scc/school/dao/SignDAO.java
index cce006f..d038d0e 100644
--- a/src/main/java/com/qxueyou/scc/school/dao/SignDAO.java
+++ b/src/main/java/com/qxueyou/scc/school/dao/SignDAO.java
@@ -1,8 +1,8 @@
 /******************************************************************************
  * Copyright (C) 2015 Shenzhen Penguin Network Technology Co., Ltd
  * All Rights Reserved.
- * 本软件为深圳市企鹅网络科技有限公司开发研制。未经本公司正式书面同意,其他任何个人、团体
- * 不得使用、复制、修改或发布本软件.
+ * 鏈蒋浠朵负娣卞湷甯備紒楣呯綉缁滅鎶�鏈夐檺鍏徃寮�鍙戠爺鍒躲�傛湭缁忔湰鍏徃姝e紡涔﹂潰鍚屾剰锛屽叾浠栦换浣曚釜浜恒�佸洟浣�
+ * 涓嶅緱浣跨敤銆佸鍒躲�佷慨鏀规垨鍙戝竷鏈蒋浠�.
  *****************************************************************************/
 
 package com.qxueyou.scc.school.dao;
@@ -28,7 +28,7 @@
 
 @Repository(value="signDAO")
 /**
- * 自动注入sessionFactory 签到明细
+ * 鑷姩娉ㄥ叆sessionFactory 绛惧埌鏄庣粏
  *
  * @author ody.yuan
  * @since JDK1.6
@@ -38,7 +38,7 @@
 	
     
     /**
-	 * 查询签到明细
+	 * 鏌ヨ绛惧埌鏄庣粏
 	 * @param sql
 	 * @param args
 	 * @return
@@ -46,7 +46,7 @@
 	 */
     @SuppressWarnings("unchecked")
 	public List<SchSignItem> querySignItemList(String sql,List<Object> args) {
-    	// 查询结果
+    	// 鏌ヨ缁撴灉
     	Session session = this.getSessionFactory().getCurrentSession();
     	SQLQuery query = session.createSQLQuery(sql);
     	query.setResultTransformer(Transformers.aliasToBean(SchSignItem.class));
@@ -59,7 +59,7 @@
 	}
     
     /**
-	 * 查询签到明细(优化版本)
+	 * 鏌ヨ绛惧埌鏄庣粏(浼樺寲鐗堟湰)
 	 * @param sql
 	 * @param args
 	 * @return
@@ -67,7 +67,7 @@
 	 */
     @SuppressWarnings({ "unchecked" })
 	public List<SchSignStatistics> querySignItemListNew(final String sql,final List<Object> args) {
-       // 查询得到结果
+       // 鏌ヨ寰楀埌缁撴灉
 	   List<Object[]> resultLst = this.findBySql(sql, args);
        
        List<SchSignStatistics> lst = new ArrayList<SchSignStatistics>();
@@ -92,7 +92,7 @@
 	}
     
     /**
-   	 * 组装查询练习题目  顺序、随机练习
+   	 * 缁勮鏌ヨ缁冧範棰樼洰  椤哄簭銆侀殢鏈虹粌涔�
    	 * @return
    	 */
    	@SuppressWarnings("unchecked")
@@ -110,7 +110,7 @@
    	}
    	
    	/**
-   	 * 组装查询签到历史
+   	 * 缁勮鏌ヨ绛惧埌鍘嗗彶
    	 * @param hql
    	 * @param page
    	 * @param args
@@ -139,7 +139,7 @@
 	}
    	
    	/**
-   	 * 组装查询签到、公司名称
+   	 * 缁勮鏌ヨ绛惧埌銆佸叕鍙稿悕绉�
    	 * @return 
    	 */
    	@SuppressWarnings("unchecked")
@@ -160,7 +160,7 @@
    	}
    	
    	/**
-	 * 组装签到记录
+	 * 缁勮绛惧埌璁板綍
 	 * @return
 	 */
 	@SuppressWarnings("unchecked")
diff --git a/src/main/java/com/qxueyou/scc/school/helper/IJudgeLimitStrategy.java b/src/main/java/com/qxueyou/scc/school/helper/IJudgeLimitStrategy.java
index b85a5dc..404f506 100644
--- a/src/main/java/com/qxueyou/scc/school/helper/IJudgeLimitStrategy.java
+++ b/src/main/java/com/qxueyou/scc/school/helper/IJudgeLimitStrategy.java
@@ -1,13 +1,13 @@
 /******************************************************************************
  * Copyright (C) 2015 Shenzhen Penguin Network Technology Co., Ltd
  * All Rights Reserved.
- * 本软件为深圳市企鹅网络科技有限公司开发研制。未经本公司正式书面同意,其他任何个人、团体
- * 不得使用、复制、修改或发布本软件.
+ * 鏈蒋浠朵负娣卞湷甯備紒楣呯綉缁滅鎶�鏈夐檺鍏徃寮�鍙戠爺鍒躲�傛湭缁忔湰鍏徃姝e紡涔﹂潰鍚屾剰锛屽叾浠栦换浣曚釜浜恒�佸洟浣�
+ * 涓嶅緱浣跨敤銆佸鍒躲�佷慨鏀规垨鍙戝竷鏈蒋浠�.
  *****************************************************************************/
 package com.qxueyou.scc.school.helper;
 
 /**
- * 每日积分上限通用策略,目前只有总共积分,未涉及到单个模块
+ * 姣忔棩绉垎涓婇檺閫氱敤绛栫暐锛岀洰鍓嶅彧鏈夋�诲叡绉垎锛屾湭娑夊強鍒板崟涓ā鍧�
  * 
  * @author ody.yuan
  *
@@ -15,7 +15,7 @@
 public interface IJudgeLimitStrategy {
 	
 	/**
-	 * 检测积分上限
+	 * 妫�娴嬬Н鍒嗕笂闄�
 	 * @param userId
 	 * @return
 	 */
diff --git a/src/main/java/com/qxueyou/scc/school/helper/IJudgeUpdateStrategy.java b/src/main/java/com/qxueyou/scc/school/helper/IJudgeUpdateStrategy.java
index 4c8cd82..02fdf53 100644
--- a/src/main/java/com/qxueyou/scc/school/helper/IJudgeUpdateStrategy.java
+++ b/src/main/java/com/qxueyou/scc/school/helper/IJudgeUpdateStrategy.java
@@ -1,14 +1,14 @@
 /******************************************************************************
  * Copyright (C) 2015 Shenzhen Penguin Network Technology Co., Ltd
  * All Rights Reserved.
- * 本软件为深圳市企鹅网络科技有限公司开发研制。未经本公司正式书面同意,其他任何个人、团体
- * 不得使用、复制、修改或发布本软件.
+ * 鏈蒋浠朵负娣卞湷甯備紒楣呯綉缁滅鎶�鏈夐檺鍏徃寮�鍙戠爺鍒躲�傛湭缁忔湰鍏徃姝e紡涔﹂潰鍚屾剰锛屽叾浠栦换浣曚釜浜恒�佸洟浣�
+ * 涓嶅緱浣跨敤銆佸鍒躲�佷慨鏀规垨鍙戝竷鏈蒋浠�.
  *****************************************************************************/
 package com.qxueyou.scc.school.helper;
 
 
 /**
- * 各积分业务点判断依据,当前触发是否增加积分
+ * 鍚勭Н鍒嗕笟鍔$偣鍒ゆ柇渚濇嵁锛屽綋鍓嶈Е鍙戞槸鍚﹀鍔犵Н鍒�
  * 
  * @author ody.yuan
  *
@@ -16,7 +16,7 @@
 public interface IJudgeUpdateStrategy {
 
 	/**
-	 * 当前业务模块是否增加积分
+	 * 褰撳墠涓氬姟妯″潡鏄惁澧炲姞绉垎
 	 * @param businessId
 	 * @param userId
 	 * @return
diff --git a/src/main/java/com/qxueyou/scc/school/helper/judge/CommonJudgeStrategy.java b/src/main/java/com/qxueyou/scc/school/helper/judge/CommonJudgeStrategy.java
index 337b49e..87950ba 100644
--- a/src/main/java/com/qxueyou/scc/school/helper/judge/CommonJudgeStrategy.java
+++ b/src/main/java/com/qxueyou/scc/school/helper/judge/CommonJudgeStrategy.java
@@ -1,8 +1,8 @@
 /******************************************************************************
  * Copyright (C) 2015 Shenzhen Penguin Network Technology Co., Ltd
  * All Rights Reserved.
- * 本软件为深圳市企鹅网络科技有限公司开发研制。未经本公司正式书面同意,其他任何个人、团体
- * 不得使用、复制、修改或发布本软件.
+ * 鏈蒋浠朵负娣卞湷甯備紒楣呯綉缁滅鎶�鏈夐檺鍏徃寮�鍙戠爺鍒躲�傛湭缁忔湰鍏徃姝e紡涔﹂潰鍚屾剰锛屽叾浠栦换浣曚釜浜恒�佸洟浣�
+ * 涓嶅緱浣跨敤銆佸鍒躲�佷慨鏀规垨鍙戝竷鏈蒋浠�.
  *****************************************************************************/
 package com.qxueyou.scc.school.helper.judge;
 
@@ -11,7 +11,7 @@
 import com.qxueyou.scc.school.helper.IJudgeUpdateStrategy;
 
 /**
- * 通用判断是否加分策略,默认增加
+ * 閫氱敤鍒ゆ柇鏄惁鍔犲垎绛栫暐锛岄粯璁ゅ鍔�
  * 
  * @author ody.yuan
  *
diff --git a/src/main/java/com/qxueyou/scc/school/model/ClassCardTemplet.java b/src/main/java/com/qxueyou/scc/school/model/ClassCardTemplet.java
index 5fe478e..dce9041 100644
--- a/src/main/java/com/qxueyou/scc/school/model/ClassCardTemplet.java
+++ b/src/main/java/com/qxueyou/scc/school/model/ClassCardTemplet.java
@@ -18,7 +18,7 @@
 
 
 /**
- * 听课证模板实体
+ * 鍚璇佹ā鏉垮疄浣�
  * @author Delin
  *
  */
@@ -29,57 +29,57 @@
 	
 	private static final long serialVersionUID = 1L;
 	
-	/**  主键 */
+	/**  涓婚敭 */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="TEMPLET_ID", unique=true, nullable=false, length=32)
 	private String templetId;
 	
-	/**  听课证模板编号 */
+	/**  鍚璇佹ā鏉跨紪鍙� */
 	@Column(name="TEMPLET_NO")
 	private Integer templetNo;
 	
-	/**  听课证模板字段名字  */
+	/**  鍚璇佹ā鏉垮瓧娈靛悕瀛�  */
 	@Column(name="FIELD_NAME", length=256)
 	private String fieldName;
 	
-	/** 听课证模板字段类型  */
+	/** 鍚璇佹ā鏉垮瓧娈电被鍨�  */
 	@Column(name="FIELD_TYPE", length=256)
 	private String fieldType;
 	
-	/**  创建者ID */
+	/**  鍒涘缓鑰匢D */
 	@Column(name = "CREATE_ID", length = 32)
 	@JsonIgnore
 	private String createId;
 	
-	/**  创建时间 */
+	/**  鍒涘缓鏃堕棿 */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date createTime;
 
-	/**  创建者 */
+	/**  鍒涘缓鑰� */
 	@Column(name="CREATOR", nullable=false, length=100)
 	@JsonIgnore
 	private String creator;
 	
-	/**  修改人ID */
+	/**  淇敼浜篒D */
 	@Column(name="UPDATE_ID", length=32)
 	@JsonIgnore
 	private String updateId;
 
-	/**  修改时间 */
+	/**  淇敼鏃堕棿 */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date updateTime;
 
-	/**  修改人 */
+	/**  淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	@JsonIgnore
 	private String updator;
 
-	/** 删除标志  */
+	/** 鍒犻櫎鏍囧織  */
 	@Column(name="DELETE_FLAG", nullable=false)
 	@JsonIgnore
 	private boolean deleteFlag;
diff --git a/src/main/java/com/qxueyou/scc/school/model/EvaluateStuStudentV.java b/src/main/java/com/qxueyou/scc/school/model/EvaluateStuStudentV.java
index ff7163d..bfe46dd 100644
--- a/src/main/java/com/qxueyou/scc/school/model/EvaluateStuStudentV.java
+++ b/src/main/java/com/qxueyou/scc/school/model/EvaluateStuStudentV.java
@@ -19,7 +19,7 @@
 
 
 /**
- * 学员拥有的评估信息view
+ * 瀛﹀憳鎷ユ湁鐨勮瘎浼颁俊鎭痸iew
  * 
  */
 @Entity
@@ -64,7 +64,7 @@
 		this.id = id;
 	}
 
-	/** 评估标题  */
+	/** 璇勪及鏍囬  */
 	@Column(name="evaluate_name", length=128)
 	public String getEvaluateName() {
 		return evaluateName;
@@ -142,7 +142,7 @@
 		this.updateTime = updateTime;
 	}
 
-	/** 结束时间  */
+	/** 缁撴潫鏃堕棿  */
 	@Column(name="END_TIME")
 	@Temporal(TemporalType.TIMESTAMP)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
diff --git a/src/main/java/com/qxueyou/scc/school/model/EvaluateStuStudentVId.java b/src/main/java/com/qxueyou/scc/school/model/EvaluateStuStudentVId.java
index 96c6bc8..f934321 100644
--- a/src/main/java/com/qxueyou/scc/school/model/EvaluateStuStudentVId.java
+++ b/src/main/java/com/qxueyou/scc/school/model/EvaluateStuStudentVId.java
@@ -10,7 +10,7 @@
 
 
 /**
- * 学员拥有的评估信息view
+ * 瀛﹀憳鎷ユ湁鐨勮瘎浼颁俊鎭痸iew
  * 
  */
 @Embeddable
@@ -37,7 +37,7 @@
 		this.userId = userId;
 	}
 
-	/** 用户id */
+	/** 鐢ㄦ埛id */
 	@Column(name="USER_ID", length=32)
 	public String getEvaluateId() {
 		return evaluateId;
diff --git a/src/main/java/com/qxueyou/scc/school/model/HandoutAnswerData.java b/src/main/java/com/qxueyou/scc/school/model/HandoutAnswerData.java
index ae6939e..3cdbc77 100644
--- a/src/main/java/com/qxueyou/scc/school/model/HandoutAnswerData.java
+++ b/src/main/java/com/qxueyou/scc/school/model/HandoutAnswerData.java
@@ -3,7 +3,7 @@
 import java.io.Serializable;
 
 /**
- * 讲义收藏提交结果数据
+ * 璁蹭箟鏀惰棌鎻愪氦缁撴灉鏁版嵁
  * @author zhiyong
  *
  */
@@ -16,19 +16,19 @@
 	
 	private String id;
 	
-	/** 当前讲义ID  */ 
+	/** 褰撳墠璁蹭箟ID  */ 
 	private String handoutId;
 
-	/** 讲义当前页ID  */
+	/** 璁蹭箟褰撳墠椤礗D  */
 	private String handoutPageId;
 
-	/**  收藏or删除收藏     true:收藏     false:删除收藏  */
+	/**  鏀惰棌or鍒犻櫎鏀惰棌     true锛氭敹钘�     false锛氬垹闄ゆ敹钘�  */
 	private boolean favor;
 
-	/**  用户ID */
+	/**  鐢ㄦ埛ID */
 	private String userId;
 
-	/**  班级ID */
+	/**  鐝骇ID */
 	private String classId;
 
 	public String getId() {
diff --git a/src/main/java/com/qxueyou/scc/school/model/HandoutAnswerResult.java b/src/main/java/com/qxueyou/scc/school/model/HandoutAnswerResult.java
index 9ebdf5d..651c043 100644
--- a/src/main/java/com/qxueyou/scc/school/model/HandoutAnswerResult.java
+++ b/src/main/java/com/qxueyou/scc/school/model/HandoutAnswerResult.java
@@ -3,14 +3,14 @@
 import java.util.List;
 
 /**
- * 讲义 收藏提交结果
+ * 璁蹭箟 鏀惰棌鎻愪氦缁撴灉
  * @author zhiyong
  *
  */
 public class HandoutAnswerResult {
 	
 
-	/** 收藏or删除收藏列表  */
+	/** 鏀惰棌or鍒犻櫎鏀惰棌鍒楄〃  */
 	private List<HandoutAnswerData> records;
 
 	public List<HandoutAnswerData> getRecords() {
diff --git a/src/main/java/com/qxueyou/scc/school/model/HandoutConverTask.java b/src/main/java/com/qxueyou/scc/school/model/HandoutConverTask.java
index c111948..592f448 100644
--- a/src/main/java/com/qxueyou/scc/school/model/HandoutConverTask.java
+++ b/src/main/java/com/qxueyou/scc/school/model/HandoutConverTask.java
@@ -31,32 +31,32 @@
 	private Date createTime;
 	private Date updateTime;
 	/*
-	 * 草稿
+	 * 鑽夌
 	 */
 	public static final Integer STATUS_DRAFT = 0;
 
 	/*
-	 * 转码中
+	 * 杞爜涓�
 	 */
 	public static final Integer STATUS_TRANSFORMING = 1;
 
 	/*
-	 * 已发布
+	 * 宸插彂甯�
 	 */
 	public static final Integer STATUS_PUBLISHED = 2;
 
 	/*
-	 * 已下架
+	 * 宸蹭笅鏋�
 	 */
 	public static final Integer STATUS_TAKEOFF = 3;
 
 	/*
-	 * 转码失败
+	 * 杞爜澶辫触
 	 */
 	public static final Integer STATUS_TRANSFAILED = 4;
 
 	/*
-	 * 排队中
+	 * 鎺掗槦涓�
 	 */
 	public static final Integer STATUS_LINEUP = 5;
 
diff --git a/src/main/java/com/qxueyou/scc/school/model/InteractResultData.java b/src/main/java/com/qxueyou/scc/school/model/InteractResultData.java
index 8d4efa9..7e0f75e 100644
--- a/src/main/java/com/qxueyou/scc/school/model/InteractResultData.java
+++ b/src/main/java/com/qxueyou/scc/school/model/InteractResultData.java
@@ -4,7 +4,7 @@
 import java.util.List;
 
 /**
- * 互动提交结果数据
+ * 浜掑姩鎻愪氦缁撴灉鏁版嵁
  * @author zhiyong
  *
  */
@@ -15,13 +15,13 @@
 	 */
 	private static final long serialVersionUID = 8218583798576628162L;
 	
-	/**  组id */
+	/**  缁刬d */
 	private String exerciseGroupId;
 	
-	/** 当前题号   */
+	/** 褰撳墠棰樺彿   */
 	private String currTitleNum;
 
-	/** 是否提交  0:未提交  1:提交  */
+	/** 鏄惁鎻愪氦  0:鏈彁浜�  1锛氭彁浜�  */
 	private int status;
 	
 	private List<InterateAnswer> items;
diff --git a/src/main/java/com/qxueyou/scc/school/model/InterateAnswer.java b/src/main/java/com/qxueyou/scc/school/model/InterateAnswer.java
index be8689e..6d054c5 100644
--- a/src/main/java/com/qxueyou/scc/school/model/InterateAnswer.java
+++ b/src/main/java/com/qxueyou/scc/school/model/InterateAnswer.java
@@ -3,7 +3,7 @@
 import java.io.Serializable;
 
 /**
- * 互动每道题答案
+ * 浜掑姩姣忛亾棰樼瓟妗�
  * 
  * @author zhiyong
  *
diff --git a/src/main/java/com/qxueyou/scc/school/model/LessionSignStatistics.java b/src/main/java/com/qxueyou/scc/school/model/LessionSignStatistics.java
index 1287d82..9a1c2b2 100644
--- a/src/main/java/com/qxueyou/scc/school/model/LessionSignStatistics.java
+++ b/src/main/java/com/qxueyou/scc/school/model/LessionSignStatistics.java
@@ -18,7 +18,7 @@
 
 
 /**
- * 课程签到统计表
+ * 璇剧▼绛惧埌缁熻琛�
  * 
  */
 @Entity
@@ -34,118 +34,118 @@
 	@Column(name="LESSION_SIGN_ID", unique=true, nullable=false, length=32)
 	private String lessionSignId;
 	
-	/** 签到班级ID */
+	/** 绛惧埌鐝骇ID */
 	@Column(name="CLASS_ID", length=32)
 	private String classId;
 	
-	/** 签到班级name */
+	/** 绛惧埌鐝骇name */
 	@Column(name="CLASS_NAME", length=255)
 	private String className;
 	
-	/** 课程表ID */
+	/** 璇剧▼琛↖D */
 	@Column(name="CLASS_SCHEDULE_ID", length=32)
 	private String classScheduleId;
 	
-	/** 课程表name */
+	/** 璇剧▼琛╪ame */
 	@Column(name="CLASS_SCHEDULE_NAME", length=255)
 	private String classScheduleName;
 	
-	/** 课程表ID */
+	/** 璇剧▼琛↖D */
 	@Column(name="CLASS_SUBJECT_ID", length=32)
 	private String classSubjectId;
 	
-	/** 课程表name */
+	/** 璇剧▼琛╪ame */
 	@Column(name="CLASS_SUBJECT_NAME", length=255)
 	private String classSubjectName;
 	
-	/** 统计时间 */
+	/** 缁熻鏃堕棿 */
 	@Column(name="STATISTICS_TIME")
 	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private Date statisticsTime;
 	
-	/** 科目id */
+	/** 绉戠洰id */
 	@Column(name="COLLEGE_COURSE_ID", length=32)
 	private String collegeCourseId;
 	
-	/** 科目name */
+	/** 绉戠洰name */
 	@Column(name="COLLEGE_COURSE_NAME", length=255)
 	private String collegeCourseName;
 	
-	/** 机构id */
+	/** 鏈烘瀯id */
 	@Column(name="ORG_ID", length=32)
 	private String orgId;
 	
-	/** 机构name */
+	/** 鏈烘瀯name */
 	@Column(name="ORG_NAME", length=255)
 	private String orgName;
 	
-	/** 顶层机构id */
+	/** 椤跺眰鏈烘瀯id */
 	@Column(name="TOP_ORGANIZATION_ID", length=32)
 	private String topOrganizationId;
 	
-	/** 课程开始时间 */
+	/** 璇剧▼寮�濮嬫椂闂� */
 	@Column(name="START_TIME")
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date startTime;
 	
-	/** 课程结束时间 */
+	/** 璇剧▼缁撴潫鏃堕棿 */
 	@Column(name="END_TIME")
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date endTime;
 	
-	/** 应到总人数 */
+	/** 搴斿埌鎬讳汉鏁� */
 	@Column(name="TOTAL_SIGN_USER_COUNT")
 	private Integer totalSignUserCount;
 	
-	/** 上课签到总人数 */
+	/** 涓婅绛惧埌鎬讳汉鏁� */
 	@Column(name="FIRST_SIGN_USER_COUNT")
 	private Integer firstSignUserCount;
 	
-	/** 下课签到总人数 */
+	/** 涓嬭绛惧埌鎬讳汉鏁� */
 	@Column(name="LAST_SIGN_USER_COUNT")
 	private Integer lastSignUserCount;
 	
-	/** 签到类型,上课签到,上下课签到  */
+	/** 绛惧埌绫诲瀷锛屼笂璇剧鍒帮紝涓婁笅璇剧鍒�  */
 	@Column(name = "SIGN_TYPE")
 	private Short signType;
 	
-	/** 签到地址 */
+	/** 绛惧埌鍦板潃 */
 	@Column(name="ADDRESS", length=255)
 	private String address;
 	
-	/** 创建时间 */
+	/** 鍒涘缓鏃堕棿 */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date createTime;
 	
-	/** 修改时间 */
+	/** 淇敼鏃堕棿 */
 	@Column(name="UPDATE_TIME")
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date updateTime;
 	
-	/** 创建人 */
+	/** 鍒涘缓浜� */
 	@Column(name="CREATOR", nullable=false, length=100)
 	@JsonIgnore
 	private String creator;
 	
-	/** 创建人ID */
+	/** 鍒涘缓浜篒D */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	@JsonIgnore
 	private String createId;
 	
-	/** 修改人 */
+	/** 淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	@JsonIgnore
 	private String updator;
 	
-	/** 修改人ID */
+	/** 淇敼浜篒D */
 	@Column(name="UPDATE_ID", length=32)
 	@JsonIgnore
 	private String updateId;
 
-	/** 删除标志 */
+	/** 鍒犻櫎鏍囧織 */
 	@Column(name="DELETE_FLAG", nullable=false)
 	@JsonIgnore
 	private boolean deleteFlag;
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchArticle.java b/src/main/java/com/qxueyou/scc/school/model/SchArticle.java
index ab40e7d..9263622 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchArticle.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchArticle.java
@@ -19,7 +19,7 @@
 
 
 /**
- * 文章功能
+ * 鏂囩珷鍔熻兘
  * 
  * @author zhiyong
  *
@@ -32,86 +32,86 @@
 	private static final long serialVersionUID = 1L;
 	
 	/*
-	 * 草稿
+	 * 鑽夌
 	 */
 	public static final short STATUS_DRAFT = 0;
 	
 	/*
-	 * 已发布
+	 * 宸插彂甯�
 	 */
 	public static final short STATUS_PUBLISHED = 2;
 	
 	/*
-	 * 已下架
+	 * 宸蹭笅鏋�
 	 */
 	public static final short STATUS_TAKEOFF = 3;
 	
-	/**  主键 */
+	/**  涓婚敭 */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="ARTICLE_ID", unique=true, nullable=false, length=32)
 	private String articleId;
 	
-	/**  地址  */
+	/**  鍦板潃  */
 	@Column(name="COVER_PAGE_URL", length=255)
 	private String coverPageUrl;
 	
-	/**  地址  */
+	/**  鍦板潃  */
 	@Column(name="URL", length=255)
 	private String url;
 	
-	/** 课程id  */
+	/** 璇剧▼id  */
 	@Column(name="SUBJECT_ID", length=32)
 	private String subjectId;
 	
-	/** 课程名字  */
+	/** 璇剧▼鍚嶅瓧  */
 	@Column(name="SUBJECT_NAME", length=255)
 	private String subjectName;
 	
-	/**  名称  */
+	/**  鍚嶇О  */
 	@Column(name="NAME", length=255)
 	private String name;
 	
-	/** 机构ID  */
+	/** 鏈烘瀯ID  */
 	@Column(name="ORG_ID", length=32)
 	private String orgId;
 	
-	/**  班级ID  */
+	/**  鐝骇ID  */
 	@Column(name="CLASS_ID", length=32)
 	private String classId;
 	
-	/** 科目ID  */
+	/** 绉戠洰ID  */
 	@Column(name="COLLEGE_COURSE_ID", length=32)
 	private String collegeCourseId;
 
-	/**  创建时间 */
+	/**  鍒涘缓鏃堕棿 */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date createTime;
 
-	/**  创建者 */
+	/**  鍒涘缓鑰� */
 	@Column(name="CREATOR", nullable=false, length=100)
 	@JsonIgnore
 	private String creator;
 	
-	/**  修改人ID */
+	/**  淇敼浜篒D */
 	@Column(name="UPDATE_ID", length=32)
 	@JsonIgnore
 	private String updateId;
 
-	/**  修改时间 */
+	/**  淇敼鏃堕棿 */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date updateTime;
 
-	/**  修改人 */
+	/**  淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	@JsonIgnore
 	private String updator;
 
-	/** 删除标志  */
+	/** 鍒犻櫎鏍囧織  */
 	@Column(name="DELETE_FLAG", nullable=false)
 	@JsonIgnore
 	private boolean deleteFlag;
@@ -120,30 +120,30 @@
 	@JsonIgnore
 	private String createId;
 	
-	/** 管理排序,班主任排序 */
+	/** 绠$悊鎺掑簭,鐝富浠绘帓搴� */
 	@Column(name="ORDER_NUM")
 	private Integer orderNum;
 	
-	/** 原始文章ID  */
+	/** 鍘熷鏂囩珷ID  */
 	@Column(name="ORIGIN_ARTICLE_ID", length=32)
 	private String originArticleId;
 	
-	/**  观看次数  */
+	/**  瑙傜湅娆℃暟  */
 	@Column(name="VIEW_COUNT", length=32)
 	private Integer viewCount;
 	
-	/**  评论次数  */
+	/**  璇勮娆℃暟  */
 	@Column(name="COMMENT_COUNT", length=32)
 	private Integer commentCount;
 	
-	/** 文本内容 */
+	/** 鏂囨湰鍐呭 */
 	@Transient
 	private String content;
 	
 	@Column(name="CHAPTER_ID")
 	private String chapterId;
 	
-	/**  状态 */
+	/**  鐘舵�� */
 	@Column(name="STATUS")
 	private short status;
 	
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchArticleReCourse.java b/src/main/java/com/qxueyou/scc/school/model/SchArticleReCourse.java
index 62923a6..ac61d21 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchArticleReCourse.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchArticleReCourse.java
@@ -23,54 +23,54 @@
 	 */
 	private static final long serialVersionUID = 1L;
 
-	/**  主键  */
+	/**  涓婚敭  */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="ARTICLE_COURSE_ID", unique=true, nullable=false, length=32)
 	private String articleCourseId;
 
-	/**  创建人ID  */
+	/**  鍒涘缓浜篒D  */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	@JsonIgnore
 	private String createId;
 
-	/**  创建时间  */
+	/**  鍒涘缓鏃堕棿  */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date createTime;
 
-	/**  创建人  */
+	/**  鍒涘缓浜�  */
 	@Column(name="CREATOR", nullable=false, length=100)
 	@JsonIgnore
 	private String creator;
 
-	/**  删除标志  */
+	/**  鍒犻櫎鏍囧織  */
 	@Column(name="DELETE_FLAG", nullable=false)
 	@JsonIgnore
 	private boolean deleteFlag;
 
-	/**  科目ID */
+	/**  绉戠洰ID */
 	@Column(name="COLLEGE_COURSE_ID", length=32)
 	private String collegeCourseId;
 	
-	/**  讲义ID  */
+	/**  璁蹭箟ID  */
 	@Column(name="ARTICLE_ID", length=32)
 	private String articleId;
 
-	/**  修改人ID  */
+	/**  淇敼浜篒D  */
 	@Column(name="UPDATE_ID", length=32)
 	@JsonIgnore
 	private String updateId;
 
-	/**  修改时间  */
+	/**  淇敼鏃堕棿  */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date updateTime;
 
-	/**   修改人 */
+	/**   淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	@JsonIgnore
 	private String updator;
@@ -79,7 +79,7 @@
 	@Column(name="ORG_ID", length=32)
 	private String orgId;	
 
-	/** 讲义管理排序 */
+	/** 璁蹭箟绠$悊鎺掑簭 */
 	@Column(name="ORDER_NUM")
 	private Integer orderNum;
 
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchArticleStatistic.java b/src/main/java/com/qxueyou/scc/school/model/SchArticleStatistic.java
index f5fb0a9..f9c7d70 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchArticleStatistic.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchArticleStatistic.java
@@ -25,7 +25,7 @@
 public class SchArticleStatistic implements Serializable, ITrace {
 	private static final long serialVersionUID = 1L;
 
-	/**  主键 */
+	/**  涓婚敭 */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchChapter.java b/src/main/java/com/qxueyou/scc/school/model/SchChapter.java
index bd1ba9c..3007b6f 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchChapter.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchChapter.java
@@ -110,7 +110,7 @@
 	@JsonIgnore
 	private SchClassSubject classSubject;
 
-	/** 课程 */
+	/** 璇剧▼ */
 	@ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
 	@JoinColumn(name = "SUBJECT_ID", referencedColumnName = "SUBJECT_ID", updatable = false, insertable = false)
 	@JsonIgnore
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchClassCard.java b/src/main/java/com/qxueyou/scc/school/model/SchClassCard.java
index 466dc47..2bb9cc5 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchClassCard.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchClassCard.java
@@ -18,7 +18,7 @@
 
 
 /**
- * 听课证实体
+ * 鍚璇佸疄浣�
  * @author Delin
  *
  */
@@ -29,85 +29,85 @@
 	
 	private static final long serialVersionUID = 1L;
 	
-	/**  主键 */
+	/**  涓婚敭 */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="CLASS_CARD_ID", unique=true, nullable=false, length=32)
 	private String classCardId;
 	
-	/**  班级ID */
+	/**  鐝骇ID */
 	@Column(name="CLASS_ID", length=32)
 	private String classId;
 	
-	/**  听课证模板编号 */
+	/**  鍚璇佹ā鏉跨紪鍙� */
 	@Column(name="TEMPLET_NO")
 	private Integer templetNo;
 	
-	/**  是否双面(0、是,1、否。默认为0) */
+	/**  鏄惁鍙岄潰锛�0銆佹槸锛�1銆佸惁銆傞粯璁や负0锛� */
 	@Column(name="DOUBLE_SIDED_FLAG", nullable=false)
 	private boolean doubleSidedFlag;
 	
-	/**  是否显示正面签到二维码(0、是,1、否。默认为0) */
+	/**  鏄惁鏄剧ず姝i潰绛惧埌浜岀淮鐮侊紙0銆佹槸锛�1銆佸惁銆傞粯璁や负0锛� */
 	@Column(name="SIGN_CODE_FLAG", nullable=false)
 	private boolean signCodeFlag;
 	
-	/**  是否显示反面二维码(0、是,1、否。默认为1) */
+	/**  鏄惁鏄剧ず鍙嶉潰浜岀淮鐮侊紙0銆佹槸锛�1銆佸惁銆傞粯璁や负1锛� */
 	@Column(name="CODE_FLAG", nullable=false)
 	private boolean codeFlag;
 	
-	/**  反面二维码路径 */
+	/**  鍙嶉潰浜岀淮鐮佽矾寰� */
 	@Column(name="CODE_URL", length=256)
 	private String codeUrl;
 	
-	/**  是否显示头像(0、是,1、否。默认为1) */
+	/**  鏄惁鏄剧ず澶村儚锛�0銆佹槸锛�1銆佸惁銆傞粯璁や负1锛� */
 	@Column(name="HEAD_IMG_FLAG", nullable=false)
 	private boolean headImgFlag;
 	
-	/**  存储显示头像的自定义字段Id,没有自定义字段显示个人头像字段(IMG_PATH) */
+	/**  瀛樺偍鏄剧ず澶村儚鐨勮嚜瀹氫箟瀛楁Id锛屾病鏈夎嚜瀹氫箟瀛楁鏄剧ず涓汉澶村儚瀛楁锛圛MG_PATH锛� */
 	@Column(name="HEAD_IMG_FIELD", length=64)
 	private String headImgField;
 	
-	/**  证件名称 */
+	/**  璇佷欢鍚嶇О */
 	@Column(name="CARD_NAME", length=256)
 	private String cardName;
 	
-	/**  宣传语  */
+	/**  瀹d紶璇�  */
 	@Column(name="SLOGAN", length=256)
 	private String slogan;
 	
-	/**  创建者ID */
+	/**  鍒涘缓鑰匢D */
 	@Column(name = "CREATE_ID", length = 32)
 	@JsonIgnore
 	private String createId;
 	
-	/**  创建时间 */
+	/**  鍒涘缓鏃堕棿 */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date createTime;
 
-	/**  创建者 */
+	/**  鍒涘缓鑰� */
 	@Column(name="CREATOR", nullable=false, length=100)
 	@JsonIgnore
 	private String creator;
 	
-	/**  修改人ID */
+	/**  淇敼浜篒D */
 	@Column(name="UPDATE_ID", length=32)
 	@JsonIgnore
 	private String updateId;
 
-	/**  修改时间 */
+	/**  淇敼鏃堕棿 */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date updateTime;
 
-	/**  修改人 */
+	/**  淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	@JsonIgnore
 	private String updator;
 
-	/** 删除标志  */
+	/** 鍒犻櫎鏍囧織  */
 	@Column(name="DELETE_FLAG", nullable=false)
 	@JsonIgnore
 	private boolean deleteFlag;
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchClassCardTemplet.java b/src/main/java/com/qxueyou/scc/school/model/SchClassCardTemplet.java
index a7c47c0..b03b389 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchClassCardTemplet.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchClassCardTemplet.java
@@ -18,7 +18,7 @@
 
 
 /**
- * 听课证模板值表
+ * 鍚璇佹ā鏉垮�艰〃
  * @author Delin
  *
  */
@@ -29,61 +29,61 @@
 	
 	private static final long serialVersionUID = 1L;
 	
-	/**  主键 */
+	/**  涓婚敭 */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="CARD_TEMPLET_ID", unique=true, nullable=false, length=32)
 	private String cardTempletId;
 	
-	/** 听课证ID  */
+	/** 鍚璇両D  */
 	@Column(name="CLASS_CARD_ID", length=32)
 	private String classCardId;
 	
-	/** 模板ID  */
+	/** 妯℃澘ID  */
 	@Column(name="TEMPLET_ID", length=32)
 	private String templetid;
 	
-	/** 听课证模板字段值  */
+	/** 鍚璇佹ā鏉垮瓧娈靛��  */
 	@Column(name="FIELD_VALUE", length=1000)
 	private String fieldValue;
 	
-	/** 听课证模板字段值扩展  */
+	/** 鍚璇佹ā鏉垮瓧娈靛�兼墿灞�  */
 	@Column(name="FIELD_VALUE_EXTEND", length=1000)
 	private String fieldValueExtend;
 	
-	/**  创建者ID */
+	/**  鍒涘缓鑰匢D */
 	@Column(name = "CREATE_ID", length = 32)
 	@JsonIgnore
 	private String createId;
 	
-	/**  创建时间 */
+	/**  鍒涘缓鏃堕棿 */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date createTime;
 
-	/**  创建者 */
+	/**  鍒涘缓鑰� */
 	@Column(name="CREATOR", nullable=false, length=100)
 	@JsonIgnore
 	private String creator;
 	
-	/**  修改人ID */
+	/**  淇敼浜篒D */
 	@Column(name="UPDATE_ID", length=32)
 	@JsonIgnore
 	private String updateId;
 
-	/**  修改时间 */
+	/**  淇敼鏃堕棿 */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date updateTime;
 
-	/**  修改人 */
+	/**  淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	@JsonIgnore
 	private String updator;
 
-	/** 删除标志  */
+	/** 鍒犻櫎鏍囧織  */
 	@Column(name="DELETE_FLAG", nullable=false)
 	@JsonIgnore
 	private boolean deleteFlag;
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchClassCourseware.java b/src/main/java/com/qxueyou/scc/school/model/SchClassCourseware.java
index 7eafe99..3a5f132 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchClassCourseware.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchClassCourseware.java
@@ -9,7 +9,7 @@
 import javax.persistence.Table;
 
 /**
- * 课件视图实体
+ * 璇句欢瑙嗗浘瀹炰綋
  * 
  * @author lihanqi
  *
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchClassSchedule.java b/src/main/java/com/qxueyou/scc/school/model/SchClassSchedule.java
index 3142af1..4b2ca28 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchClassSchedule.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchClassSchedule.java
@@ -29,7 +29,7 @@
 
 
 /**
- * 班级课表  实体类
+ * 鐝骇璇捐〃  瀹炰綋绫�
  * @author ody.yuan
  *
  */
@@ -39,23 +39,23 @@
 public class SchClassSchedule implements Serializable,ITrace {
 	private static final long serialVersionUID = 1L;
 	
-	/** 上课类型    4:公共课程*/
+	/** 涓婅绫诲瀷    4:鍏叡璇剧▼*/
 	public static final short SCHEDULE_TYPE_TO_START = 1;
 	
 	public static final short SCHEDULE_TYPE_ON_GOING = 2;
 	
 	public static final short SCHEDULE_TYPE_IS_COMPLETED= 3;
 	
-	/**课程类型  1:公共课程  0:正常课程**/
+	/**璇剧▼绫诲瀷  1锛氬叕鍏辫绋�  0锛氭甯歌绋�**/
 	public static final int SCHEDULE_TYPE_DEFAULT= 0;
 	public static final int SCHEDULE_TYPE_PUBLIC= 1;
 	
-	/**面授*/
+	/**闈㈡巿*/
 	public static final String SCH_FACE = "FACE_TO_FACE";
-	/**网络*/
+	/**缃戠粶*/
 	public static final String SCH_NETWORK = "NETWORK";
 
-	/** 课程主键 */
+	/** 璇剧▼涓婚敭 */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
@@ -64,11 +64,11 @@
 	
 
 	
-	/** 课程名称*/
+	/** 璇剧▼鍚嶇О*/
 	@Column(name="NAME", length=150)
 	private String name;
 
-	/** 状态 */
+	/** 鐘舵�� */
 	@Column(name="STATUS")
 	private short status;
 	
@@ -80,65 +80,65 @@
 //		this.handouts = handouts;
 //	}
 
-	/** 地址 */
+	/** 鍦板潃 */
 	@Column(name="ADDRESS", length=255)
 	private String address;
 
-	/** 结束时间 */
+	/** 缁撴潫鏃堕棿 */
 	@Column(name="END_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
 	private Date endTime;
 
-	/** 开始时间 */
+	/** 寮�濮嬫椂闂� */
 	@Column(name="START_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
 	private Date startTime;
 
-	/** 班级ID */
+	/** 鐝骇ID */
 	@Column(name="CLASS_ID", length=32)
 	private String classId;
 
-	/** 上课内容,简介 */
+	/** 涓婅鍐呭锛岀畝浠� */
 	@Column(name="CONTENT")
 	private String content;
 
-	/** 学校专业  */
+	/** 瀛︽牎涓撲笟  */
 	@Column(name="COLLEGE_COURSE_ID", length=32)
 	private String collegeCourseId;
 	
-	/** 高校课程ID,非高校,机构课程ID */
+	/** 楂樻牎璇剧▼ID锛岄潪楂樻牎锛屾満鏋勮绋婭D */
 	@Column(name="SUBJECT_ID", length=32)
 	private String subjectId;
 	
-	/** 非高校,班级课程ID */
+	/** 闈為珮鏍★紝鐝骇璇剧▼ID */
 	@Column(name="CLASS_SUBJECT_ID", length=32)
 	private String classSubjectId;
 	
-	/** 图片路径  */
+	/** 鍥剧墖璺緞  */
 	@Column(name="IMG_PATH", length=32)
 	private String imgPath;
 	
-	/** 学期ID  */
+	/** 瀛︽湡ID  */
 	@Column(name="TERM_ID", length=32)
 	private String termId;
 	
-	/** 上课地址ID  */
+	/** 涓婅鍦板潃ID  */
 	@Column(name="ADDRESS_ID", length=32)
 	private String addressId;
 	
-	/** 高校课表使用:第几节课开始ID  */
+	/** 楂樻牎璇捐〃浣跨敤锛氱鍑犺妭璇惧紑濮婭D  */
 	@Column(name="DAY_START_ID", length=32)
 	private String dayStartId;
 	
-	/** 高校课表使用:第几节课开始序号  */
+	/** 楂樻牎璇捐〃浣跨敤锛氱鍑犺妭璇惧紑濮嬪簭鍙�  */
 	@Column(name="DAY_START_ORDER")
 	private short dayStartOrder;
 	
-	/** 高校课表使用:第几节课结束ID  */
+	/** 楂樻牎璇捐〃浣跨敤锛氱鍑犺妭璇剧粨鏉烮D  */
 	@Column(name="DAY_END_ID", length=32)
 	private String dayEndId;
 	
-	/** 高校课表使用:第几节课结束序号  */
+	/** 楂樻牎璇捐〃浣跨敤锛氱鍑犺妭璇剧粨鏉熷簭鍙�  */
 	@Column(name="DAY_END_ORDER")
 	private short dayEndOrder;
 
@@ -158,7 +158,7 @@
 	@JsonIgnore
 	private boolean deleteFlag;
 	
-	/** TYPE 类型  */
+	/** TYPE 绫诲瀷  */
 	@Column(name="TYPE")
 	private Integer type;
 	
@@ -177,7 +177,7 @@
 	@Transient
 	private String teacherImg;
 	
-	/** 课程模式(面授/网络)  */
+	/** 璇剧▼妯″紡锛堥潰鎺�/缃戠粶锛�  */
 	@Column(name="MODE", length=20)
 	private String mode;
 	
@@ -185,17 +185,17 @@
 	private String subjectExtendId;
 	
 	/*
-	 * 状态:未开始 
+	 * 鐘舵��:鏈紑濮� 
 	 */
 	public static final short STATUS_NOT_START=0;
 	
 	/*
-	 * 状态:上课中
+	 * 鐘舵��:涓婅涓�
 	 */
 	public static final short STATUS_IN_PROGRESS=1;
 	
 	/*
-	 * 状态:结束
+	 * 鐘舵��:缁撴潫
 	 */
 	public static final short STATUS_END=2;
 
@@ -334,10 +334,10 @@
 	
 	public String getStatusAlias() {
 		switch(this.status){
-			case STATUS_NOT_START:return "未开始";
-			case STATUS_IN_PROGRESS:return "进行中";
-			case STATUS_END:return "已结束";
-			default:return "未开始";
+			case STATUS_NOT_START:return "鏈紑濮�";
+			case STATUS_IN_PROGRESS:return "杩涜涓�";
+			case STATUS_END:return "宸茬粨鏉�";
+			default:return "鏈紑濮�";
 		}
 	}
 
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchClassSubject.java b/src/main/java/com/qxueyou/scc/school/model/SchClassSubject.java
index 92b4853..5501e86 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchClassSubject.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchClassSubject.java
@@ -26,7 +26,7 @@
 import com.qxueyou.scc.base.model.ITrace;
 
 /**
- * 班级课程
+ * 鐝骇璇剧▼
  * 
  * @author ody.yuan
  *
@@ -37,11 +37,11 @@
 public class SchClassSubject implements Serializable, ITrace {
 
 	private static final long serialVersionUID = 1L;
-	/** 1 必修 2 选修 **/
+	/** 1 蹇呬慨 2 閫変慨 **/
 	public static final short SUBJECT_TYPE_REQUIRED = 1;
 	public static final short SUBJECT_TYPE_ELECTIVE = 2;
 
-	/** 1 考试 2 考查 **/
+	/** 1 鑰冭瘯 2 鑰冩煡 **/
 	public static final short SUBJECT_EXAMINATION_REQUIRED = 1;
 	public static final short SUBJECT_EXAMINATION_EXAMINE = 2;
 	@Id
@@ -50,52 +50,52 @@
 	@Column(name = "CLASS_SUBJECT_ID", unique = true, nullable = false, length = 32)
 	private String classSubjectId;
 
-	/** 名称 */
+	/** 鍚嶇О */
 	@Column(name = "NAME", length = 150)
 	private String name;
 
-	/** 全称 */
+	/** 鍏ㄧО */
 	@Column(name = "FULL_NAME", length = 255)
 	private String fullName;
 
-	/** 编码 */
+	/** 缂栫爜 */
 	@Column(name = "CODE", length = 64)
 	private String code;
 	
-	/** 排序顺序号 */
+	/** 鎺掑簭椤哄簭鍙� */
 	@Column(name = "ORDER_NUM")
 	private int orderNum;
 	
 
-	/** 内容简介 */
+	/** 鍐呭绠�浠� */
 	@Column(name = "CONTENT", length = 255)
 	private String content;
 
-	/** 学分 */
+	/** 瀛﹀垎 */
 	@Column(name = "CREDIT", precision = 4, scale = 2)
 	private BigDecimal credit;
 
-	/** 课程类别(必修、选修) */
+	/** 璇剧▼绫诲埆锛堝繀淇�侀�変慨锛� */
 	@Column(name = "TYPE")
 	private short type;
 
-	/** 考试形式(考试、考查) */
+	/** 鑰冭瘯褰㈠紡锛堣�冭瘯銆佽�冩煡锛� */
 	@Column(name = "EXAMINATION_FORM")
 	private short examinationForm;
 
-	/** 机构拷贝专业ID,非高校拷贝科目ID */
+	/** 鏈烘瀯鎷疯礉涓撲笟ID锛岄潪楂樻牎鎷疯礉绉戠洰ID */
 	@Column(name = "COURSE_ID", length = 32)
 	private String courseId;
 
-	/** 班级ID */
+	/** 鐝骇ID */
 	@Column(name = "CLASS_ID", length = 32)
 	private String classId;
 
-	/** 原始公共课程ID */
+	/** 鍘熷鍏叡璇剧▼ID */
 	@Column(name = "ORIG_SUBJECT_ID", length = 32)
 	private String origSubjectId;
 
-	/** 班级复制:复制课程保存原始班级的课程ID */
+	/** 鐝骇澶嶅埗锛氬鍒惰绋嬩繚瀛樺師濮嬬彮绾х殑璇剧▼ID */
 	@Column(name = "ORIG_CLASS_SUBJECT_ID", length = 32)
 	private String origClassSubjectId;
 
@@ -129,12 +129,12 @@
 	@JsonIgnore
 	private String updator;
 
-	/** 学生课表 */
+	/** 瀛︾敓璇捐〃 */
 	@OneToMany(fetch = FetchType.LAZY, mappedBy = "subject")
 	@JsonIgnore
 	public List<SchStudentSchedule> studentSchedules;
 
-	/** 班级课表 */
+	/** 鐝骇璇捐〃 */
 	@OneToMany(fetch = FetchType.LAZY, mappedBy = "subject")
 	@JsonIgnore
 	public List<SchClassSchedule> classSchedules;
@@ -142,7 +142,7 @@
 	@Transient
 	public List<SchClassSchedule> lstClassSchedules;
 
-	/** 签到类型 */
+	/** 绛惧埌绫诲瀷 */
 	@Transient
 	private Short signType;
 
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchCourseware.java b/src/main/java/com/qxueyou/scc/school/model/SchCourseware.java
index 6891984..9dcbdfc 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchCourseware.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchCourseware.java
@@ -18,7 +18,7 @@
 import com.qxueyou.scc.base.model.ITrace;
 
 /**
- * 课件视图实体
+ * 璇句欢瑙嗗浘瀹炰綋
  * 
  * @author lihanqi
  *
@@ -34,7 +34,7 @@
 	public static String COURSEWARE_TYPE_EXERCISE = "exercise";
 	public static String COURSEWARE_TYPE_ARTICLE = "article";
 	
-	//最大排序号
+	//鏈�澶ф帓搴忓彿
 	public static int COURSEWARE_MAX_ORDER = 0;
 
 	@Id
@@ -49,7 +49,7 @@
 	
 	private String remark;
 	
-	/**新增字段 :课件详情*/
+	/**鏂板瀛楁 锛氳浠惰鎯�*/
 	@Column(name="describe_")
 	private  String describe;
 	
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchEvaRecordRe.java b/src/main/java/com/qxueyou/scc/school/model/SchEvaRecordRe.java
index b714984..e3862a9 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchEvaRecordRe.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchEvaRecordRe.java
@@ -35,16 +35,16 @@
 	@Column(name="EXERCISE_RECORD_ID", length=32)
 	private String exerciseRecordId;
 	
-	//答题时所在班级
+	//绛旈鏃舵墍鍦ㄧ彮绾�
 	@Column(name="CLASS_ID", length=32)
 	private String classId;
 	
-	//答题时所在班级
+	//绛旈鏃舵墍鍦ㄧ彮绾�
 	//@Formula("(select u.name from Org_Class u WHERE u.CLASS_ID=CLASS_ID and u.DELETE_FLAG = 0)")
 	@Transient
 	private String className;
 
-	//答题时所在机构
+	//绛旈鏃舵墍鍦ㄦ満鏋�
 	@Column(name="ORG_ID", length=32)
 	private String orgId;
 	
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchEvaluate.java b/src/main/java/com/qxueyou/scc/school/model/SchEvaluate.java
index 0c7a54c..1972f4a 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchEvaluate.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchEvaluate.java
@@ -32,14 +32,14 @@
 public class SchEvaluate implements Serializable,ITrace {
 	private static final long serialVersionUID = 1L;
 
-	/**主键*/
+	/**涓婚敭*/
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="EVALUATE_ID", unique=true, nullable=false, length=32)
 	private String evaluateId;
 
-	/** 评估标题  */
+	/** 璇勪及鏍囬  */
 	@Column(name="evaluate_name", length=128)
 	private String evaluateName;
 	
@@ -67,7 +67,7 @@
 	@Column(name="EVALUATE_RANGE_COUNT")
 	private BigInteger evalRangeCount;
 	
-	/** 评估范围类型--  teacher:老师的评价与建议     online:线上班级评价和建议      crequ:开课需求       offLine:线下班级评价与建议    */
+	/** 璇勪及鑼冨洿绫诲瀷--  teacher:鑰佸笀鐨勮瘎浠蜂笌寤鸿     online:绾夸笂鐝骇璇勪环鍜屽缓璁�      crequ:寮�璇鹃渶姹�       offLine:绾夸笅鐝骇璇勪环涓庡缓璁�    */
 	public static final String EVALUATE_RANGE_TEACHER="teacher";
 	
 	public static final String EVALUATE_RANGE_CREQU="cRequ";
@@ -80,7 +80,7 @@
 	
 	public static final String EVALUATE_RANGE_ORG="org";
 	
-	/** class:班级   lesson:课程  person:人员    */
+	/** class:鐝骇   lesson:璇剧▼  person:浜哄憳    */
 	
 	public static final String EVALUATE_RANGE_CLASS="class";
 	
@@ -100,7 +100,7 @@
 	@Column(name="TYPE") 
 	private short type;
 	
-	/** 1:学员  2:讲师  3:机构  */
+	/** 1:瀛﹀憳  2:璁插笀  3:鏈烘瀯  */
 	public final static short TYPE_STUDENT = 1;
 	
 	public final static short TYPE_TEACHER = 2;
@@ -111,7 +111,7 @@
 	@Column(name="STATUS") 
 	private short status;
 	
-	/** 0:未评估  1:评估中 2:评估完成 */
+	/** 0:鏈瘎浼�  1锛氳瘎浼颁腑 2锛氳瘎浼板畬鎴� */
 	public final static short STATUS_NOT_EVA = 0;
 	
 	public final static short STATUS_EVA = 1;
@@ -174,34 +174,34 @@
 	@JsonIgnore
 	private String attribute2;
 	
-	/** 结束时间  */
+	/** 缁撴潫鏃堕棿  */
 	@Column(name="END_TIME", nullable=true)
 	@Temporal(TemporalType.TIMESTAMP)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
 	private Date endTime;
 	
-	/** 图片路径  */
+	/** 鍥剧墖璺緞  */
 	@Column(name="IMG_PATH", length=255)
 	private String imgPath;
 	
-	/** 备注 */
+	/** 澶囨敞 */
 	@Column(name="REMARK", length=2000)
 	@JsonIgnore
 	private String remark;
 	
-	/** 问题组id */
+	/** 闂缁刬d */
 	@Transient
 	private String groupId;
 	
-	/** 问卷平均分 */
+	/** 闂嵎骞冲潎鍒� */
 	@Transient
 	private Double average;
 	
-	/** 模板类型 */
+	/** 妯℃澘绫诲瀷 */
 	@Transient
 	private String templateType;
 	
-	/** 应评估总人数  */
+	/** 搴旇瘎浼版�讳汉鏁�  */
 	@Transient
 	private BigInteger evaluateAllCount;
 	
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchEvaluateDetail.java b/src/main/java/com/qxueyou/scc/school/model/SchEvaluateDetail.java
index 0448787..4b4a61b 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchEvaluateDetail.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchEvaluateDetail.java
@@ -78,7 +78,7 @@
 	@Column(name = "DELETE_FLAG", nullable = false)
 	@JsonIgnore
 	private boolean deleteFlag;
-	/** 问卷标题 */
+	/** 闂嵎鏍囬 */
 	@Column(name = "ATTRIBUTE1", length = 100)
 	private String attribute1;
 
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchEvaluateTemplate.java b/src/main/java/com/qxueyou/scc/school/model/SchEvaluateTemplate.java
index b3b5a24..a1dbf26 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchEvaluateTemplate.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchEvaluateTemplate.java
@@ -49,13 +49,13 @@
 	private String orgName;
 	
 	/**
-	 *  课程内容,老师讲授,学校服务,支持新增
+	 *  璇剧▼鍐呭,鑰佸笀璁叉巿,瀛︽牎鏈嶅姟,鏀寔鏂板
 	 */
 	@Column(name="TEMPLATE_TYPE", length=100)
 	private String templateType;
 	
 	/**
-	 * 范围类型 all:所有     org:机构 class:班级       lesson:课程  
+	 * 鑼冨洿绫诲瀷 all:鎵�鏈�     org:鏈烘瀯 class:鐝骇       lesson:璇剧▼  
 	 */
 	@Column(name="EVALUATE_RANGE_TYPE", length=10)
 	private String evaluateRangeType;
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchFile.java b/src/main/java/com/qxueyou/scc/school/model/SchFile.java
index 459095a..11c4c74 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchFile.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchFile.java
@@ -16,7 +16,7 @@
 
 
 /**
- * 文件表
+ * 鏂囦欢琛�
  */
 @Entity
 @Table(name="sch_file")
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchHandout.java b/src/main/java/com/qxueyou/scc/school/model/SchHandout.java
index e296d20..f46d1b7 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchHandout.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchHandout.java
@@ -22,7 +22,7 @@
 import com.fasterxml.jackson.annotation.JsonIgnore;
 
 /**
- * 讲义实体类
+ * 璁蹭箟瀹炰綋绫�
  * 
  * @author ody.yuan
  *
@@ -33,7 +33,7 @@
 public class SchHandout implements Serializable, ITrace {
 	private static final long serialVersionUID = 1L;
 
-	/** 讲义ID */
+	/** 璁蹭箟ID */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
@@ -44,7 +44,7 @@
 	@JsonIgnore
 	private String createId;
 
-	/** 注意:此处的createTime需要返回前台app 不能用@JsonIgnore */
+	/** 娉ㄦ剰锛氭澶勭殑createTime闇�瑕佽繑鍥炲墠鍙癮pp 涓嶈兘鐢ˊJsonIgnore */
 	@Column(name = "CREATE_TIME", nullable = false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date createTime;
@@ -53,7 +53,7 @@
 	@JsonIgnore
 	private String creator;
 
-	/** 文件原始路径 */
+	/** 鏂囦欢鍘熷璺緞 */
 	@Column(name = "ORIG_PATH")
 	@JsonIgnore
 	private String origPath;
@@ -62,39 +62,39 @@
 	@JsonIgnore
 	private boolean deleteFlag;
 
-	/** 班级课表ID */
+	/** 鐝骇璇捐〃ID */
 	@Column(name = "CLASS_SCHEDULE_ID", length = 32)
 	private String classScheduleId;
 
-	/** 班级课表 */
+	/** 鐝骇璇捐〃 */
 	@Column(name = "CLASS_SCHEDULE", length = 150)
 	private String classSchedule;
 
-	/** 班级ID */
+	/** 鐝骇ID */
 	@Column(name = "CLASS_ID", length = 32)
 	private String classId;
 
-	/** 讲义名称 */
+	/** 璁蹭箟鍚嶇О */
 	@Column(name = "NAME", length = 150)
 	private String name;
 
-	/** 讲义观看数量 */
+	/** 璁蹭箟瑙傜湅鏁伴噺 */
 	@Column(name = "PLAY_COUNT", length = 11)
 	private Integer playCount;
 
-	/** 讲义页码数量,总共多少页 */
+	/** 璁蹭箟椤电爜鏁伴噺锛屾�诲叡澶氬皯椤� */
 	@Column(name = "PAGE_COUNT")
 	private Integer pageCount;
 
-	/** 原始讲义ID */
+	/** 鍘熷璁蹭箟ID */
 	@Column(name = "ORIGIN_HANDOUT_ID", length = 32)
 	private String originHandoutId;
 
-	/** 机构ID */
+	/** 鏈烘瀯ID */
 	@Column(name = "ORG_ID", length = 32)
 	private String orgId;
 
-	/** 讲义收藏列表:表明当前收藏的讲义 页码总数,非收藏的页码数 */
+	/** 璁蹭箟鏀惰棌鍒楄〃锛氳〃鏄庡綋鍓嶆敹钘忕殑璁蹭箟 椤电爜鎬绘暟锛岄潪鏀惰棌鐨勯〉鐮佹暟 */
 	@Transient
 	private int totalCount;
 
@@ -110,63 +110,63 @@
 	@JsonIgnore
 	private String updator;
 
-	/** 讲义状态 0 草稿;1已发布;2已废弃;3处理中;4处理失败 */
+	/** 璁蹭箟鐘舵�� 0 鑽夌锛�1宸插彂甯冿紱2宸插簾寮冿紱3澶勭悊涓紱4澶勭悊澶辫触 */
 	@Column(name = "STATUS")
 	private short status;
 
-	/** 课程ID */
+	/** 璇剧▼ID */
 	@Column(name = "SUBJECT_ID", length = 32)
 	private String subjectId;
 
-	/** 课程名字 */
+	/** 璇剧▼鍚嶅瓧 */
 	@Column(name = "SUBJECT_NAME", length = 255)
 	private String subjectName;
 
-	/** 科目ID */
+	/** 绉戠洰ID */
 	@Column(name = "COLLEGE_COURSE_ID", length = 32)
 	private String collegeCourseId;
 
-	/** 详情介绍 */
+	/** 璇︽儏浠嬬粛 */
 	@Column(name = "remark", length = 4000)
 	private String remark;
 
-	/** 封面图片URL */
+	/** 灏侀潰鍥剧墖URL */
 	@Column(name = "COVER_PAGE_URL", length = 256)
 	private String coverPageUrl;
 
-	/** 下载路径URL */
+	/** 涓嬭浇璺緞URL */
 	@Column(name = "FULL_PATH", length = 256)
 	@JsonIgnore
 	private String fullPath;
 
-	/** 讲义大小 */
+	/** 璁蹭箟澶у皬 */
 	@Column(name = "FULL_LENGTH")
 	private Integer fullLength;
 
-	/** 讲义完成度 */
+	/** 璁蹭箟瀹屾垚搴� */
 	@Transient
 	private BigDecimal compDegree;
 
-	/** 草稿 */
+	/** 鑽夌 */
 	public final static short STATUS_DRAFT = 0;
 
-	/** 已发布 */
+	/** 宸插彂甯� */
 	public final static short STATUS_ISSUED = 1;
 
-	/** 已废弃 */
+	/** 宸插簾寮� */
 	public final static short STATUS_DISCARD = 2;
 
-	/** 处理中 */
+	/** 澶勭悊涓� */
 	public final static short STATUS_PROCESSING = 3;
 
-	/** 处理失败 */
+	/** 澶勭悊澶辫触 */
 	public final static short STATUS_FAILURE = 4;
 
 	@OneToMany(fetch = FetchType.LAZY, mappedBy = "handout")
 	@JsonIgnore
 	private List<SchHandoutPage> handoutPages;
 
-	/** 讲义管理排序,班主任排序 */
+	/** 璁蹭箟绠$悊鎺掑簭,鐝富浠绘帓搴� */
 	@Column(name = "ORDER_NUM")
 	private Integer orderNum;
 
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchHandoutPage.java b/src/main/java/com/qxueyou/scc/school/model/SchHandoutPage.java
index 7c8de33..48c0108 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchHandoutPage.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchHandoutPage.java
@@ -34,7 +34,7 @@
 public class SchHandoutPage implements Serializable,ITrace {
 	private static final long serialVersionUID = 1L;
 
-	/**  讲义明细ID  */
+	/**  璁蹭箟鏄庣粏ID  */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
@@ -58,15 +58,15 @@
 	@JsonIgnore
 	private boolean deleteFlag;
 
-	/**  讲义ID  */
+	/**  璁蹭箟ID  */
 	@Column(name="HANDOUT_ID", length=32)
 	private String handoutId;
 
-	/**  讲义图片路径  */
+	/**  璁蹭箟鍥剧墖璺緞  */
 	@Column(name="IMG_PATH", length=255)
 	private String imgPath;
 
-	/**  讲义顺序的序号  */
+	/**  璁蹭箟椤哄簭鐨勫簭鍙�  */
 	@Column(name="PAGE_ORDER")
 	private int pageOrder;
 
@@ -91,11 +91,11 @@
 	@Transient
 	private List<Map<String, Object>> extendLst;
 	
-	/**  评论标志  */
+	/**  璇勮鏍囧織  */
 	@Transient
 	private boolean commentFlag;
 	
-	/**  收藏标志  */
+	/**  鏀惰棌鏍囧織  */
 	@Transient
 	private boolean favorFlag;
 
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchHandoutReCourse.java b/src/main/java/com/qxueyou/scc/school/model/SchHandoutReCourse.java
index 6b81add..8ed0630 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchHandoutReCourse.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchHandoutReCourse.java
@@ -23,54 +23,54 @@
 	 */
 	private static final long serialVersionUID = 1L;
 
-	/**  主键  */
+	/**  涓婚敭  */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="HANDOUT_COURSE_ID", unique=true, nullable=false, length=32)
 	private String handoutCourseId;
 
-	/**  创建人ID  */
+	/**  鍒涘缓浜篒D  */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	@JsonIgnore
 	private String createId;
 
-	/**  创建时间  */
+	/**  鍒涘缓鏃堕棿  */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date createTime;
 
-	/**  创建人  */
+	/**  鍒涘缓浜�  */
 	@Column(name="CREATOR", nullable=false, length=100)
 	@JsonIgnore
 	private String creator;
 
-	/**  删除标志  */
+	/**  鍒犻櫎鏍囧織  */
 	@Column(name="DELETE_FLAG", nullable=false)
 	@JsonIgnore
 	private boolean deleteFlag;
 
-	/**  科目ID */
+	/**  绉戠洰ID */
 	@Column(name="COLLEGE_COURSE_ID", length=32)
 	private String collegeCourseId;
 	
-	/**  讲义ID  */
+	/**  璁蹭箟ID  */
 	@Column(name="HANDOUT_ID", length=32)
 	private String handoutId;
 
-	/**  修改人ID  */
+	/**  淇敼浜篒D  */
 	@Column(name="UPDATE_ID", length=32)
 	@JsonIgnore
 	private String updateId;
 
-	/**  修改时间  */
+	/**  淇敼鏃堕棿  */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date updateTime;
 
-	/**   修改人 */
+	/**   淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	@JsonIgnore
 	private String updator;
@@ -79,7 +79,7 @@
 	@Column(name="ORG_ID", length=32)
 	private String orgId;	
 
-	/** 讲义管理排序 */
+	/** 璁蹭箟绠$悊鎺掑簭 */
 	@Column(name="ORDER_NUM")
 	private Integer orderNum;
 
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchHandoutRecord.java b/src/main/java/com/qxueyou/scc/school/model/SchHandoutRecord.java
index d5bd343..7862ca0 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchHandoutRecord.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchHandoutRecord.java
@@ -22,101 +22,101 @@
 	 */
 	private static final long serialVersionUID = 1L;
 
-	/**  主键 */
+	/**  涓婚敭 */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="HANDOUT_RECORD_ID", unique=true, nullable=false, length=32)
 	private String handoutRecordId;
 	
-	/**  创建者ID */
+	/**  鍒涘缓鑰匢D */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	private String createId;
 	
-	/**  创建时间 */
+	/**  鍒涘缓鏃堕棿 */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date createTime;
 	
-	/**  创建人 */
+	/**  鍒涘缓浜� */
 	@Column(name="CREATOR", nullable=false, length=100)
 	private String creator;
 	
-	/**  删除标志 */
+	/**  鍒犻櫎鏍囧織 */
 	@Column(name="DELETE_FLAG", nullable=false)
 	private boolean deleteFlag;
 	
-	/**  修改人ID */
+	/**  淇敼浜篒D */
 	@Column(name="UPDATE_ID", length=32)
 	private String updateId;
 	
-	/**  修改时间 */
+	/**  淇敼鏃堕棿 */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date updateTime;
 	
-	/**  修改人 */
+	/**  淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	private String updator;
 	
-	/**  机构ID */
+	/**  鏈烘瀯ID */
 	@Column(name="ORG_ID",length=32)
 	private String orgId;
 	
-	/**  班级ID */
+	/**  鐝骇ID */
 	@Column(name="CLASS_ID",length=32)
 	private String classId;
 	
-	/**  讲义ID */
+	/**  璁蹭箟ID */
 	@Column(name="HANDOUT_ID",length=32)
 	private String handoutId;
 	
-	/**  用户ID */
+	/**  鐢ㄦ埛ID */
 	@Column(name="USER_ID",length=32)
 	private String userId;
 	
-	/**  讲义总页数*/
+	/**  璁蹭箟鎬婚〉鏁�*/
 	@Column(name="PAGE_COUNT",length=11)
 	private Integer pageCount;
 	
-	/**  观看的总页数*/
+	/**  瑙傜湅鐨勬�婚〉鏁�*/
 	@Column(name="PLAY_COUNT",length=11)
 	private Integer playCount;
-	/**  类型  1:收藏 2普通 */
+	/**  绫诲瀷  1锛氭敹钘� 2鏅�� */
 	@Column(name="TYPE",length=1)
 	private Integer type;
 	
-	/** 开始时间 */
+	/** 寮�濮嬫椂闂� */
 	@Column(name="BEGIN_TIME")
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date beginTime;
 	
-	/** 结束时间()*/
+	/** 缁撴潫鏃堕棿()*/
 	@Column(name="END_TIME")
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date endTime;
 	
-	/**  网络 */
+	/**  缃戠粶 */
 	@Column(name="NETWORK",length=15)
 	private String network;
 	
-	/**  平台 */
+	/**  骞冲彴 */
 	@Column(name="PLATFORM",length=15)
 	private String platform;
 	
-	/**  版本 */
+	/**  鐗堟湰 */
 	@Column(name="VERSION",length=15)
 	private String version;
 	
-	/**  机型 */
+	/**  鏈哄瀷 */
 	@Column(name="model",length=50)
 	private String model;
 	
-	/**  app版本 */
+	/**  app鐗堟湰 */
 	@Column(name="APP_VERSION",length=15)
 	private String appVersion;
 	
-	/**  运营商 */
+	/**  杩愯惀鍟� */
 	@Column(name="OPERATOR",length=15)
 	private String operator;
 
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchHandoutRecordDetail.java b/src/main/java/com/qxueyou/scc/school/model/SchHandoutRecordDetail.java
index d30330e..46a7056 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchHandoutRecordDetail.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchHandoutRecordDetail.java
@@ -23,56 +23,56 @@
 	 */
 	private static final long serialVersionUID = 1L;
 
-	/**  主键 */
+	/**  涓婚敭 */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="HANDOUT_RECORD_DETAIL_ID", unique=true, nullable=false, length=32)
 	private String handoutRecordDetailId;
 	
-	/**  讲义ID */
+	/**  璁蹭箟ID */
 	@Column(name="HANDOUT_RECORD_ID", nullable=false, length=32)
 	private String handoutRecordId;
 	
-	/**  讲义页码*/
+	/**  璁蹭箟椤电爜*/
 	@Column(name="PAGE_NUM",length=11)
 	private Integer pageNum;
 	
-	/**  页码ID */
+	/**  椤电爜ID */
 	@Column(name="PAGE_ID", nullable=false, length=32)
 	private String pageId;
 	
-	/**  收没收藏 1:收藏 2:未收藏*/
+	/**  鏀舵病鏀惰棌 1锛氭敹钘� 2锛氭湭鏀惰棌*/
 	@Column(name="COLLECTION",length=1)
 	private Integer collection;
 	
-	/**  创建者ID */
+	/**  鍒涘缓鑰匢D */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	private String createId;
 	
-	/**  创建时间 */
+	/**  鍒涘缓鏃堕棿 */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date createTime;
 	
-	/**  创建人 */
+	/**  鍒涘缓浜� */
 	@Column(name="CREATOR", nullable=false, length=100)
 	private String creator;
 	
-	/**  删除标志 */
+	/**  鍒犻櫎鏍囧織 */
 	@Column(name="DELETE_FLAG", nullable=false)
 	private boolean deleteFlag;
 	
-	/**  修改人ID */
+	/**  淇敼浜篒D */
 	@Column(name="UPDATE_ID", length=32)
 	private String updateId;
 	
-	/**  修改时间 */
+	/**  淇敼鏃堕棿 */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date updateTime;
 	
-	/**  修改人 */
+	/**  淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	private String updator;
 
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchHandoutStatistic.java b/src/main/java/com/qxueyou/scc/school/model/SchHandoutStatistic.java
index c9889e4..692035e 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchHandoutStatistic.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchHandoutStatistic.java
@@ -24,7 +24,7 @@
 	 */
 	private static final long serialVersionUID = 1L;
 
-	/**  主键 */
+	/**  涓婚敭 */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchImg.java b/src/main/java/com/qxueyou/scc/school/model/SchImg.java
index e63d52b..6eb1634 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchImg.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchImg.java
@@ -16,7 +16,7 @@
 
 
 /**
- * 笔记本表 实体
+ * 绗旇鏈〃 瀹炰綋
  * @author ody.yuan
  *
  */
@@ -27,70 +27,70 @@
 	
 	private static final long serialVersionUID = 1L;
 	
-	/**  对象类型:直播原视频缩略图 */
+	/**  瀵硅薄绫诲瀷锛氱洿鎾師瑙嗛缂╃暐鍥� */
 	public static final String OBJECT_TYPE_LIVE_REPLAY = "LIVE_REPLAY_SCREEN_SHOT";
 	
-	/**  主键 */
+	/**  涓婚敭 */
 	@Id
 	@Column(name="IMG_ID", unique=true, nullable=false, length=32)
 	private String imgId;
 	
-	/**  图片地址  */
+	/**  鍥剧墖鍦板潃  */
 	@Column(name="URL", length=255)
 	private String url;
 
-	/**  图片类型,jpg/png  */
+	/**  鍥剧墖绫诲瀷锛宩pg/png  */
 	@Column(name="IMG_TYPE", length=5)
 	private String imgType;
 
-	/**  图片大小 */
+	/**  鍥剧墖澶у皬 */
 	@Column(name="SIZE", length=10)
 	private String size;
 	
-	/** 对象id  */
+	/** 瀵硅薄id  */
 	@Column(name="object_id", length=32)
 	private String objectId;
 
-	/**  对象type */
+	/**  瀵硅薄type */
 	@Column(name="OBJECT_TYPE" , length=10)
 	private String objectType;
 	
-	/**  排序 */
+	/**  鎺掑簭 */
 	@Column(name="ORDER_NO", length=3)
 	private Integer orderNo;
 
-	/**  备注 */
+	/**  澶囨敞 */
 	@Column(name="REMARK", length=500)
 	private String remark;
 	
-	/**  创建时间 */
+	/**  鍒涘缓鏃堕棿 */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date createTime;
 
-	/**  创建者 */
+	/**  鍒涘缓鑰� */
 	@Column(name="CREATOR", nullable=false, length=100)
 	@JsonIgnore
 	private String creator;
 	
-	/**  修改人ID */
+	/**  淇敼浜篒D */
 	@Column(name="UPDATE_ID", length=32)
 	@JsonIgnore
 	private String updateId;
 
-	/**  修改时间 */
+	/**  淇敼鏃堕棿 */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date updateTime;
 
-	/**  修改人 */
+	/**  淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	@JsonIgnore
 	private String updator;
 
-	/** 删除标志  */
+	/** 鍒犻櫎鏍囧織  */
 	@Column(name="DELETE_FLAG", nullable=false)
 	@JsonIgnore
 	private boolean deleteFlag;
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchInteract.java b/src/main/java/com/qxueyou/scc/school/model/SchInteract.java
index 5d8fb49..dce24ec 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchInteract.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchInteract.java
@@ -57,7 +57,7 @@
 	@Column(name="EXERCISE_GROUP_ID", length=32)
 	private String exerciseGroupId;
 
-	/** 班级课表ID  */
+	/** 鐝骇璇捐〃ID  */
 	@Column(name="CLASS_SCHEDULE_ID", length=32)
 	private String classScheduleId;
 
@@ -86,7 +86,7 @@
 	@Formula(value="(select cur.name from EXERCISE_GROUP cur where cur.GROUP_ID= EXERCISE_GROUP_ID)")
 	private String name;
 
-	/**  图片路径  */
+	/**  鍥剧墖璺緞  */
 	@Column(name="IMG_PATH", length=255)
 	private String imgPath;
 	
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchInteractResult.java b/src/main/java/com/qxueyou/scc/school/model/SchInteractResult.java
index 660ecb4..40af36f 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchInteractResult.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchInteractResult.java
@@ -8,7 +8,7 @@
 import com.qxueyou.scc.exercise.model.ExerciseItemOption;
 
 /**
- * 互动历史结果
+ * 浜掑姩鍘嗗彶缁撴灉
  * @author ody
  *
  */
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchNote.java b/src/main/java/com/qxueyou/scc/school/model/SchNote.java
index 67b983a..98376a9 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchNote.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchNote.java
@@ -18,7 +18,7 @@
 
 
 /**
- * 笔记本表 实体
+ * 绗旇鏈〃 瀹炰綋
  * @author ody.yuan
  *
  */
@@ -29,36 +29,36 @@
 	
 	private static final long serialVersionUID = 1L;
 	
-	/**  笔记对象类型 1:讲义单页  */
+	/**  绗旇瀵硅薄绫诲瀷 1锛氳涔夊崟椤�  */
 	public static int NOTE_OBJECT_TYPE_HANDOUT_PAGE = 1 ;
 
-	/**  笔记共享范围 1:班级  */
+	/**  绗旇鍏变韩鑼冨洿 1锛氱彮绾�  */
 	public static int NOTE_SCOPE_CLASS = 1 ;
 	
-	/**  主键 */
+	/**  涓婚敭 */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="NOTE_ID", unique=true, nullable=false, length=32)
 	private String noteId;
 	
-	/**  笔记对象ID  */
+	/**  绗旇瀵硅薄ID  */
 	@Column(name="NOTE_OBJECT_ID", length=32)
 	private String noteObjectId;
 
-	/**  笔记对象类型  */
+	/**  绗旇瀵硅薄绫诲瀷  */
 	@Column(name="NOTE_OBJECT_TYPE")
 	private Integer noteObjectType;
 
-	/**  笔记内容 */
+	/**  绗旇鍐呭 */
 	@Column(name="CONTENT", length=65535)
 	private String content;
 	
-	/** 共享标志  */
+	/** 鍏变韩鏍囧織  */
 	@Column(name="SHARE_FLAG", nullable=false)
 	private boolean shareFlag;
 
-	/**  共享范围 */
+	/**  鍏变韩鑼冨洿 */
 	@Column(name="SHARE_SCOPE" )
 	private Integer shareScope;
 	
@@ -66,44 +66,44 @@
 	@Column(name="USER_ID", length=32)
 	private String userId;
 	
-	/**  笔记时间 */
+	/**  绗旇鏃堕棿 */
 	@Column(name="NOTE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date noteTime;
 	
-	/**  创建者ID */
+	/**  鍒涘缓鑰匢D */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	@JsonIgnore
 	private String createId;
 	
-	/**  创建时间 */
+	/**  鍒涘缓鏃堕棿 */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date createTime;
 
-	/**  创建者 */
+	/**  鍒涘缓鑰� */
 	@Column(name="CREATOR", nullable=false, length=100)
 	@JsonIgnore
 	private String creator;
 	
-	/**  修改人ID */
+	/**  淇敼浜篒D */
 	@Column(name="UPDATE_ID", length=32)
 	@JsonIgnore
 	private String updateId;
 
-	/**  修改时间 */
+	/**  淇敼鏃堕棿 */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date updateTime;
 
-	/**  修改人 */
+	/**  淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	@JsonIgnore
 	private String updator;
 
-	/** 删除标志  */
+	/** 鍒犻櫎鏍囧織  */
 	@Column(name="DELETE_FLAG", nullable=false)
 	@JsonIgnore
 	private boolean deleteFlag;
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchQRUrl.java b/src/main/java/com/qxueyou/scc/school/model/SchQRUrl.java
index fa71b3b..81c50ec 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchQRUrl.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchQRUrl.java
@@ -30,7 +30,7 @@
 	@Column(name="BUSINESS_ID", length=32)
 	private String businessId;
 
-	/** 类型:1:直播 2:视频 */
+	/** 绫诲瀷锛�1锛氱洿鎾� 2锛氳棰� */
 	@Column(name="TYPE")
 	private int type;
 	
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchRank.java b/src/main/java/com/qxueyou/scc/school/model/SchRank.java
index 3b0e840..6215e75 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchRank.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchRank.java
@@ -17,7 +17,7 @@
 import com.fasterxml.jackson.annotation.JsonIgnore;
 
 /**
- * 学习排名表 实体
+ * 瀛︿範鎺掑悕琛� 瀹炰綋
  * @author ody.yuan
  *
  */
@@ -28,101 +28,101 @@
 
 	private static final long serialVersionUID = 5843514289817382614L;
 
-	/** 主键  */
+	/** 涓婚敭  */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name = "RANK_ID", unique = true, nullable = false, length = 32)
 	private String rankId;
 
-	/**  排名类型  */
+	/**  鎺掑悕绫诲瀷  */
 	@Column(name = "RANK_TYPE",length=32)
 	private String rankType;
 	
 	/*
-	 * 排名类型:积分
+	 * 鎺掑悕绫诲瀷:绉垎
 	 */
 	public static final String RANK_TYPE_SCORE = "SCORE";
 	
 	/*
-	 * 排名类型:传播大使积分
+	 * 鎺掑悕绫诲瀷:浼犳挱澶т娇绉垎
 	 */
 	public static final String RANK_TYPE_ATS_SCORE = "ATS_SCORE";
 	
 	/*
-	 * 排名类型:练习得分排名
+	 * 鎺掑悕绫诲瀷:缁冧範寰楀垎鎺掑悕
 	 */
 	public static final String RANK_TYPE_EXERCISE_SCORE = "EXERCISE_SCORE";
 
-	/** 排名依据  */
+	/** 鎺掑悕渚濇嵁  */
 	@Column(name = "VALUE", precision = 20, scale = 6)
 	private BigDecimal value;
 
-	/** 排名范围 */
+	/** 鎺掑悕鑼冨洿 */
 	@Column(name = "SCOPE_TYPE", length = 32)
 	private String scopeType;
 	
 	/*
-	 * 排名范围:组
+	 * 鎺掑悕鑼冨洿:缁�
 	 */
 	public static final String SCOPE_TYPE_CLASS_GROUP = "GROUP";
 	
 	/*
-	 * 排名范围:班级 
+	 * 鎺掑悕鑼冨洿:鐝骇 
 	 */
 	public static final String SCOPE_TYPE_CLASS = "CLASS";
 	
 	/*
-	 * 排名范围:Q学友
+	 * 鎺掑悕鑼冨洿:Q瀛﹀弸
 	 */
 	public static final String SCOPE_TYPE_QXUEYOU = "QXUEYOU";
 	
 	/*
-	 * 排名范围:好友
+	 * 鎺掑悕鑼冨洿:濂藉弸
 	 */
 	public static final String SCOPE_TYPE_FRIEND = "FRIEND";
 
-	/** 排名范围ID  */
+	/** 鎺掑悕鑼冨洿ID  */
 	@Column(name = "SCOPE_ID", length = 32)
 	private String scopeId;
 
-	/** 用户ID  */
+	/** 鐢ㄦ埛ID  */
 	@Column(name = "USER_ID", length = 32)
 	private String userId;
 
-	/** 创建时间  */
+	/** 鍒涘缓鏃堕棿  */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date createTime;
 
-	/** 修改时间  */
+	/** 淇敼鏃堕棿  */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date updateTime;
 
-	/**  创建人 */
+	/**  鍒涘缓浜� */
 	@Column(name="CREATOR", nullable=false, length=100)
 	@JsonIgnore
 	private String creator;
 
-	/**  创建人ID */
+	/**  鍒涘缓浜篒D */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	@JsonIgnore
 	private String createId;
 
-	/**  修改人 */
+	/**  淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	@JsonIgnore
 	private String updator;
 
-	/**  修改人ID */
+	/**  淇敼浜篒D */
 	@Column(name="UPDATE_ID", length=32)
 	@JsonIgnore
 	private String updateId;
 
-	/**  删除标志 */
+	/**  鍒犻櫎鏍囧織 */
 	@Column(name="DELETE_FLAG", nullable=false)
 	@JsonIgnore
 	private boolean deleteFlag;
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchRankHis.java b/src/main/java/com/qxueyou/scc/school/model/SchRankHis.java
index 63d61a0..2fac196 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchRankHis.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchRankHis.java
@@ -22,7 +22,7 @@
 import com.fasterxml.jackson.annotation.JsonIgnore;
 
 /**
- * 学习排名历史表 实体
+ * 瀛︿範鎺掑悕鍘嗗彶琛� 瀹炰綋
  * @author ody.yuan
  *
  */
@@ -36,88 +36,88 @@
 	 */
 	private static final long serialVersionUID = -3377176468950409846L;
 
-	/**  主键 */
+	/**  涓婚敭 */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name = "HIS_RANK_ID", unique = true, nullable = false, length = 32)
 	private String hisRankId;
 
-	/**  排名 */	
+	/**  鎺掑悕 */	
 	@Column(name = "RANK")
 	private Integer rank;
 
-	/**  排名依据 */
+	/**  鎺掑悕渚濇嵁 */
 	@Column(name = "VALUE", precision = 20, scale = 6)
 	private BigDecimal value;
 
-	/**  用户ID */
+	/**  鐢ㄦ埛ID */
 	@Column(name = "USER_ID", length = 32)
 	private String userId;
 
-	/**  用户姓名 */
+	/**  鐢ㄦ埛濮撳悕 */
 	@Formula("(select u.NAME from USER u WHERE u.USER_ID=USER_ID)")
 	private String name;
 
-	/**  用户头像 */
+	/**  鐢ㄦ埛澶村儚 */
 	@Formula("(select u.IMG_PATH from USER u WHERE u.USER_ID=USER_ID)")
 	private String imgPath;
 
-	/**  版本ID */
+	/**  鐗堟湰ID */
 	@Column(name = "VERSION_ID", length = 32)
 	private String versionId;
 
-	/**  排名时间 */
+	/**  鎺掑悕鏃堕棿 */
 	@Temporal(TemporalType.TIMESTAMP)
 	@Column(name = "RANK_TIME", nullable = false, length = 19)
 	private Date rankTime;
 
-	/**  学习排名主键  */
+	/**  瀛︿範鎺掑悕涓婚敭  */
 	@Column(name = "RANK_ID", length = 32)
 	private String rankId;
 
-	/** 创建时间  */
+	/** 鍒涘缓鏃堕棿  */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date createTime;
 
-	/** 修改时间  */
+	/** 淇敼鏃堕棿  */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date updateTime;
 
-	/**  创建者 */
+	/**  鍒涘缓鑰� */
 	@Column(name="CREATOR", nullable=false, length=100)
 	@JsonIgnore
 	private String creator;
 
-	/**  创建者ID */
+	/**  鍒涘缓鑰匢D */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	@JsonIgnore
 	private String createId;
 
-	/** 修改者  */
+	/** 淇敼鑰�  */
 	@Column(name="UPDATOR", length=100)
 	@JsonIgnore
 	private String updator;
 
-	/**  修改者ID */
+	/**  淇敼鑰匢D */
 	@Column(name="UPDATE_ID", length=32)
 	@JsonIgnore
 	private String updateId;
 
-	/**  删除标志 */
+	/**  鍒犻櫎鏍囧織 */
 	@Column(name="DELETE_FLAG", nullable=false)
 	@JsonIgnore
 	private boolean deleteFlag;
 	
-	/**  全站排名百分比  */
+	/**  鍏ㄧ珯鎺掑悕鐧惧垎姣�  */
 	@Transient
 	private BigDecimal percentages;
 	
-	/** 等级  */
+	/** 绛夌骇  */
 	@Transient
 	private String level;
 	
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchRankVer.java b/src/main/java/com/qxueyou/scc/school/model/SchRankVer.java
index 6b715cf..176c2c9 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchRankVer.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchRankVer.java
@@ -16,7 +16,7 @@
 import com.fasterxml.jackson.annotation.JsonIgnore;
 
 /**
- * 排名版本表 实体
+ * 鎺掑悕鐗堟湰琛� 瀹炰綋
  * @author ody.yuan
  *
  */
@@ -27,66 +27,66 @@
 
 	private static final long serialVersionUID = -2874533009566392430L;
 	
-	/**  主键 */
+	/**  涓婚敭 */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="VERSION_ID", unique=true, nullable=false, length=32)
 	private String versionId;
 
-	/**  创建者ID */
+	/**  鍒涘缓鑰匢D */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	private String createId;
 
-	/**  创建时间 */
+	/**  鍒涘缓鏃堕棿 */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date createTime;
 
-	/** 创建人  */
+	/** 鍒涘缓浜�  */
 	@Column(name="CREATOR",nullable=false, length=100)
 	private String creator;
 
-	/** 删除标志  */
+	/** 鍒犻櫎鏍囧織  */
 	@Column(name="DELETE_FLAG", nullable=false)
 	private boolean deleteFlag;
 
-	/**  最近版本 */
+	/**  鏈�杩戠増鏈� */
 	@Column(name="LATEST")
 	private boolean latest;
 
-	/**  排名类型 */
+	/**  鎺掑悕绫诲瀷 */
 	@Column(name="RANK_TYPE")
 	private String rankType;
 
-	/**  排名范围ID */
+	/**  鎺掑悕鑼冨洿ID */
 	@Column(name="SCOPE_ID", length=32)
 	private String scopeId;
 
-	/**  排名范围类型 */
+	/**  鎺掑悕鑼冨洿绫诲瀷 */
 	@Column(name="SCOPE_TYPE", length=32)
 	private String scopeType;
 
-	/**  修改人ID */
+	/**  淇敼浜篒D */
 	@Column(name="UPDATE_ID", length=32)
 	private String updateId;
 
-	/**  修改时间 */
+	/**  淇敼鏃堕棿 */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date updateTime;
 
-	/**  修改人 */
+	/**  淇敼浜� */
 	@Column(name="UPDATOR",length=100)
 	private String updator;
 
-	/**  版本号 */
+	/**  鐗堟湰鍙� */
 	@Column(name="VERSION")
 	private int version;
 
-	/**  版本生成时间 */
+	/**  鐗堟湰鐢熸垚鏃堕棿 */
 	@Column(name="VERSION_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchReClassUser.java b/src/main/java/com/qxueyou/scc/school/model/SchReClassUser.java
index 6754535..d0dad26 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchReClassUser.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchReClassUser.java
@@ -7,7 +7,7 @@
 
 
 /**
- * 班级学员表实体
+ * 鐝骇瀛﹀憳琛ㄥ疄浣�
  * @author ody.yuan
  *
  */
@@ -17,18 +17,18 @@
 public class SchReClassUser implements Serializable {
 	private static final long serialVersionUID = 1L;
 
-	/** 主键  */
+	/** 涓婚敭  */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="RE_ID", unique=true, nullable=false, length=32)
 	private String reId;
 
-	/**  班级ID */
+	/**  鐝骇ID */
 	@Column(name="CLASS_ID", length=32)
 	private String classId;
 
-	/**  用户ID */
+	/**  鐢ㄦ埛ID */
 	@Column(name="USER_ID", length=32)
 	private String userId;
 
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchReLessonLiveVideo.java b/src/main/java/com/qxueyou/scc/school/model/SchReLessonLiveVideo.java
index 5c7937e..f96f481 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchReLessonLiveVideo.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchReLessonLiveVideo.java
@@ -17,7 +17,7 @@
 
 
 /**
- * 课程-直播关系表 实体
+ * 璇剧▼-鐩存挱鍏崇郴琛� 瀹炰綋
  * @author ody.yuan
  *
  */
@@ -27,54 +27,54 @@
 
 	private static final long serialVersionUID = -7223739750298125697L;
 	
-	/**  主键  */
+	/**  涓婚敭  */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="RELATION_ID", unique=true, nullable=false, length=32)
 	private String relationId;
 
-	/**  创建人ID  */
+	/**  鍒涘缓浜篒D  */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	@JsonIgnore
 	private String createId;
 
-	/**  创建时间  */
+	/**  鍒涘缓鏃堕棿  */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date createTime;
 
-	/**  创建人  */
+	/**  鍒涘缓浜�  */
 	@Column(name="CREATOR", nullable=false, length=100)
 	@JsonIgnore
 	private String creator;
 
-	/**  删除标志  */
+	/**  鍒犻櫎鏍囧織  */
 	@Column(name="DELETE_FLAG", nullable=false)
 	@JsonIgnore
 	private boolean deleteFlag;
 
-	/**  班级课表ID */
+	/**  鐝骇璇捐〃ID */
 	@Column(name="CLASS_SCHEDULE_ID", length=32)
 	private String classScheduleId;
 
-	/**  直播ID  */
+	/**  鐩存挱ID  */
 	@Column(name="LIVE_VIDEO_ID", length=32)
 	private String liveVideoId;
 
-	/**  修改人ID  */
+	/**  淇敼浜篒D  */
 	@Column(name="UPDATE_ID", length=32)
 	@JsonIgnore
 	private String updateId;
 
-	/**  修改时间  */
+	/**  淇敼鏃堕棿  */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date updateTime;
 
-	/**   修改人 */
+	/**   淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	@JsonIgnore
 	private String updator;
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchReLessonPeriod.java b/src/main/java/com/qxueyou/scc/school/model/SchReLessonPeriod.java
index 03eb0b1..ff4b786 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchReLessonPeriod.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchReLessonPeriod.java
@@ -13,7 +13,7 @@
 
 
 /**
- * 课时、课程关系表  实体
+ * 璇炬椂銆佽绋嬪叧绯昏〃  瀹炰綋
  * @author ody.yuan
  *
  */
@@ -23,54 +23,54 @@
 public class SchReLessonPeriod implements Serializable {
 	private static final long serialVersionUID = 1L;
 	
-	/** 主键 */
+	/** 涓婚敭 */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="RE_LESSON_PERIOD_ID", unique=true, nullable=false, length=32)
 	private String reLessonPeriodId;
 
-	/** 创建者ID */
+	/** 鍒涘缓鑰匢D */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	@JsonIgnore
 	private String createId;
 
-	/** 创建时间 */
+	/** 鍒涘缓鏃堕棿 */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date createTime;
 
-	/** 创建人 */
+	/** 鍒涘缓浜� */
 	@Column(name="CREATOR", nullable=false, length=100)
 	@JsonIgnore
 	private String creator;
 
-	/** 删除标志 */
+	/** 鍒犻櫎鏍囧織 */
 	@Column(name="DELETE_FLAG", nullable=false)
 	@JsonIgnore
 	private boolean deleteFlag;
 
-	/** 课程ID */
+	/** 璇剧▼ID */
 	@Column(name="LESSON_ID", length=32)
 	private String lessonId;
 
-	/** 课时ID */
+	/** 璇炬椂ID */
 	@Column(name="LESSON_PERIOD_ID", length=32)
 	private String lessonPeriodId;
 
-	/** 修改人ID */
+	/** 淇敼浜篒D */
 	@Column(name="UPDATE_ID", length=32)
 	@JsonIgnore
 	private String updateId;
 
-	/** 修改时间 */
+	/** 淇敼鏃堕棿 */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date updateTime;
 
-	/** 修改人 */
+	/** 淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	@JsonIgnore
 	private String updator;
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchReLessonVideo.java b/src/main/java/com/qxueyou/scc/school/model/SchReLessonVideo.java
index 6800705..727908d 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchReLessonVideo.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchReLessonVideo.java
@@ -18,7 +18,7 @@
 
 
 /**
- * 课程-视频关系表 实体
+ * 璇剧▼-瑙嗛鍏崇郴琛� 瀹炰綋
  * @author ody.yuan
  *
  */
@@ -29,54 +29,54 @@
 
 	private static final long serialVersionUID = -7223739750298125697L;
 	
-	/**  主键  */
+	/**  涓婚敭  */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="RELATION_ID", unique=true, nullable=false, length=32)
 	private String relationId;
 
-	/**  创建人ID  */
+	/**  鍒涘缓浜篒D  */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	@JsonIgnore
 	private String createId;
 
-	/**  创建时间  */
+	/**  鍒涘缓鏃堕棿  */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date createTime;
 
-	/**  创建人  */
+	/**  鍒涘缓浜�  */
 	@Column(name="CREATOR", nullable=false, length=100)
 	@JsonIgnore
 	private String creator;
 
-	/**  删除标志  */
+	/**  鍒犻櫎鏍囧織  */
 	@Column(name="DELETE_FLAG", nullable=false)
 	@JsonIgnore
 	private boolean deleteFlag;
 
-	/**  班级课表ID */
+	/**  鐝骇璇捐〃ID */
 	@Column(name="CLASS_SCHEDULE_ID", length=32)
 	private String classScheduleId;
 	
-	/**  视频ID  */
+	/**  瑙嗛ID  */
 	@Column(name="VIDEO_ID", length=32)
 	private String videoId;
 
-	/**  修改人ID  */
+	/**  淇敼浜篒D  */
 	@Column(name="UPDATE_ID", length=32)
 	@JsonIgnore
 	private String updateId;
 
-	/**  修改时间  */
+	/**  淇敼鏃堕棿  */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date updateTime;
 
-	/**   修改人 */
+	/**   淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	@JsonIgnore
 	private String updator;
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchScheduleAddress.java b/src/main/java/com/qxueyou/scc/school/model/SchScheduleAddress.java
index 466a4ec..c73337e 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchScheduleAddress.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchScheduleAddress.java
@@ -19,7 +19,7 @@
 
 
 /**
- * 地址
+ * 鍦板潃
  * @author ody.yuan
  *
  */
@@ -36,67 +36,67 @@
 	@Column(name="ADDRESS_ID", unique=true, nullable=false, length=32)
 	private String addressId;
 
-	/**  校区  */
+	/**  鏍″尯  */
 	@Column(name="CAMPUS", length=150)
 	private String campus;
 	
-	/**  楼 */
+	/**  妤� */
 	@Column(name="BUILDING", length=50)
 	private String building;
 	
-	/**  楼层 */
+	/**  妤煎眰 */
 	@Column(name="FLOOR")
 	private Short floor;
 	
-	/**  门牌号 */
+	/**  闂ㄧ墝鍙� */
 	@Column(name="NUMBER", length=255)
 	private String number;
 	
-	/**  名称 */
+	/**  鍚嶇О */
 	@Column(name="NAME", length=255)
 	private String name;
 	
-	/**  机构id*/
+	/**  鏈烘瀯id*/
 	@Column(name="ORG_ID", length=32)
 	private String orgId;
 	
-	/**  班级id */
+	/**  鐝骇id */
 	@Column(name="CLASS_ID", length=32)
 	private String classId;
 	
-	/** 机构地址id */
+	/** 鏈烘瀯鍦板潃id */
 	@Column(name="ORG_ADDRESS_ID", length=32)
 	private String orgAddressId;
 	
-	/**  全称 */
+	/**  鍏ㄧО */
 	@Column(name="FULL_NAME", length=255)
 	private String fullName;
 	
-	/**  类型 */
+	/**  绫诲瀷 */
 	@Column(name="TYPE")
 	private Short type;
 	
-	/**  容量(多少人)*/
+	/**  瀹归噺锛堝灏戜汉锛�*/
 	@Column(name="CAPACITY")
 	private Short capacity;
 	
-	/**  可用面积 */
+	/**  鍙敤闈㈢Н */
 	@Column(name="USABLE_AREA", precision=6, scale=2)
 	private BigDecimal usableArea;
 	
-	/**  经度  */
+	/**  缁忓害  */
 	@Column(name="LONGITUDE_X", length=32)
 	private String longitudeX;
 	
-	/**  纬度  */
+	/**  绾害  */
 	@Column(name="LATITUDE_Y", length=32)
 	private String latitudeY;
 	
-	/**  省  */
+	/**  鐪�  */
 	@Column(name="PROVINCE", length=64)
 	private String province;
 	
-	/**  城市  */
+	/**  鍩庡競  */
 	@Column(name="CITY", length=64)
 	private String city;
 	
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchSchoolDay.java b/src/main/java/com/qxueyou/scc/school/model/SchSchoolDay.java
index 8ae1738..404d0a0 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchSchoolDay.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchSchoolDay.java
@@ -18,7 +18,7 @@
 
 
 /**
- * 高校 作息时间模板
+ * 楂樻牎 浣滄伅鏃堕棿妯℃澘
  * @author ody.yuan
  *
  */
@@ -35,15 +35,15 @@
 	@Column(name="SCHOOL_DAY_ID", unique=true, nullable=false, length=32)
 	private String schoolDayId;
 
-	/**  名称  */
+	/**  鍚嶇О  */
 	@Column(name="NAME", length=150)
 	private String name;
 	
-	/** 高校ID  */
+	/** 楂樻牎ID  */
 	@Column(name="ORG_ID", length=32)
 	private String orgId;
 	
-	/**  备注  */
+	/**  澶囨敞  */
 	@Column(name="REMARK", length=255)
 	private String remark;
 	
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchSchoolDayItem.java b/src/main/java/com/qxueyou/scc/school/model/SchSchoolDayItem.java
index d4217bc..6a60146 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchSchoolDayItem.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchSchoolDayItem.java
@@ -18,7 +18,7 @@
 
 
 /**
- * 高校 一天的作息时间   上课时间安排
+ * 楂樻牎 涓�澶╃殑浣滄伅鏃堕棿   涓婅鏃堕棿瀹夋帓
  * @author ody.yuan
  *
  */
@@ -35,25 +35,25 @@
 	@Column(name="DAY_ITEM_ID", unique=true, nullable=false, length=32)
 	private String dayItemId;
 
-	/**  名称  */
+	/**  鍚嶇О  */
 	@Column(name="NAME", length=150)
 	private String name;
 	
-	/** 开始时间  */
+	/** 寮�濮嬫椂闂�  */
 	@Column(name="START_TIME", nullable=false)
 	@DateTimeFormat(pattern = "HH:mm")
 	private Date startTime;
 	
-	/** 结束时间  */
+	/** 缁撴潫鏃堕棿  */
 	@Column(name="END_TIME", nullable=false)
 	@DateTimeFormat(pattern = "HH:mm")
 	private Date endTime;
 	
-	/**  第几堂课 */
+	/**  绗嚑鍫傝 */
 	@Column(name="DAY_ORDER")
 	private short dayOrder;
 	
-	/**  模板ID  */
+	/**  妯℃澘ID  */
 	@Column(name="SCHOOL_DAY_ID", unique=true, nullable=false, length=32)
 	private String schoolDayId;
 	
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchSchoolYear.java b/src/main/java/com/qxueyou/scc/school/model/SchSchoolYear.java
index 0981fa5..f17f79b 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchSchoolYear.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchSchoolYear.java
@@ -22,7 +22,7 @@
 
 
 /**
- * 学年
+ * 瀛﹀勾
  * @author ody.yuan
  *
  */
@@ -40,21 +40,21 @@
 	@Column(name="SCHOOL_YEAR_ID", unique=true, nullable=false, length=32)
 	private String schoolYearId;
 
-	/**  名称  */
+	/**  鍚嶇О  */
 	@Column(name="NAME", length=150)
 	private String name;
 	
-	/** 开始时间  */
+	/** 寮�濮嬫椂闂�  */
 	@Column(name="START_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
 	private Date startTime;
 	
-	/** 结束时间  */
+	/** 缁撴潫鏃堕棿  */
 	@Column(name="END_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
 	private Date endTime;
 	
-	/**  机构ID */
+	/**  鏈烘瀯ID */
 	@Column(name="ORG_ID", length=32)
 	private String orgId;
 
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchSign.java b/src/main/java/com/qxueyou/scc/school/model/SchSign.java
index 590af55..446ae05 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchSign.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchSign.java
@@ -22,7 +22,7 @@
 
 
 /**
- * 签到表 实体
+ * 绛惧埌琛� 瀹炰綋
  * @author ody.yuan
  *
  */
@@ -32,157 +32,157 @@
 public class SchSign implements Serializable, ITrace {
 	private static final long serialVersionUID = 1L;
 
-	/**  主键 */
+	/**  涓婚敭 */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="SIGN_ID", unique=true, nullable=false, length=32)
 	private String signId;
 	
-	/** 签到类型: 1: 仅上课(需要)签到;  2: 上下课(都需)签到, 3活动签到*/
+	/** 绛惧埌绫诲瀷锛� 1锛� 浠呬笂璇撅紙闇�瑕侊級绛惧埌锛�  2锛� 涓婁笅璇撅紙閮介渶锛夌鍒帮紝 3娲诲姩绛惧埌*/
 	public static final short SIGN_TYPE_FIRST = 1;
 	
 	public static final short SIGN_TYPE_ALL = 2;
 	
 	public static final short SIGN_TYPE_ACTIVITY = 3;
 	
-	/** 历史记录配置:1:不显示  2:显示**/
+	/** 鍘嗗彶璁板綍閰嶇疆:1:涓嶆樉绀�  2:鏄剧ず**/
 	
 	public static final int SIGN_HIS_HIDDEN = 1;
 	public static final int SIGN_HIS_SHOW = 2;
 	
-	/** 姓名、号码,机构是否显示**/
+	/** 濮撳悕銆佸彿鐮侊紝鏈烘瀯鏄惁鏄剧ず**/
 	public static final int HIDDEN = 2;
 	public static final int SHOW = 0;
 	public static final int SHOW_PART = 1;
 	
-	/** 未报名用户签到:1:不允许  2:允许**/
+	/** 鏈姤鍚嶇敤鎴风鍒�:1:涓嶅厑璁�  2:鍏佽**/
 	
 	public static final int SIGN_ACT_DISALLOW = 1;
 	public static final int SIGN_ACT_ALLOW = 2;
 	
-	/** 未付款用户签到:1:不允许  2:允许**/
+	/** 鏈粯娆剧敤鎴风鍒�:1:涓嶅厑璁�  2:鍏佽**/
 	
 	public static final int SIGN_PAY_DISALLOW = 1;
 	public static final int SIGN_PAY_ALLOW = 2;
 	
-	/**  签到码 */
+	/**  绛惧埌鐮� */
 	@Column(name="CODE", length=32)
 	private String code;
 
-	/**  班级ID */
+	/**  鐝骇ID */
 	@Column(name="CLASS_ID", length=32)
 	private String classId;
 
-	/**  科目 */
+	/**  绉戠洰 */
 	@Column(name="COURSE", length=150)
 	private String course;
 
-	/**  创建者ID */
+	/**  鍒涘缓鑰匢D */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	@JsonIgnore
 	private String createId;
 
-	/**  创建时间 */
+	/**  鍒涘缓鏃堕棿 */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date createTime;
 
-	/**  创建者 */
+	/**  鍒涘缓鑰� */
 	@Column(name="CREATOR", nullable=false, length=100)
 	@JsonIgnore
 	private String creator;
 
-	/** 删除标志  */
+	/** 鍒犻櫎鏍囧織  */
 	@Column(name="DELETE_FLAG", nullable=false)
 	@JsonIgnore
 	private boolean deleteFlag;
 
-	/** 签到结束时间  */
+	/** 绛惧埌缁撴潫鏃堕棿  */
 	@Column(name="END_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
 	private Date endTime;
 
-	/** 课程  */
+	/** 璇剧▼  */
 	@Column(name="LESSON", length=150)
 	private String lesson;
 
-	/** 班级课表ID  */
+	/** 鐝骇璇捐〃ID  */
 	@Column(name="CLASS_SCHEDULE_ID", length=32)
 	private String classScheduleId;
 
-	/** 签到名称  */
+	/** 绛惧埌鍚嶇О  */
 	@Column(name="NAME", length=32)
 	private String name;
 
-	/**  签到图片,暂未启用    */
+	/**  绛惧埌鍥剧墖锛屾殏鏈惎鐢�    */
 	@Lob
 	@Column(name="SIGN_IMAGE")
 	private byte[] signImage;
 
-	/** 签到开始时间  */
+	/** 绛惧埌寮�濮嬫椂闂�  */
 	@Column(name="START_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
 	private Date startTime;
 
-	/**  修改人ID */
+	/**  淇敼浜篒D */
 	@Column(name="UPDATE_ID", length=32)
 	@JsonIgnore
 	private String updateId;
 
-	/**  修改时间 */
+	/**  淇敼鏃堕棿 */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date updateTime;
 
-	/**  修改人 */
+	/**  淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	@JsonIgnore
 	private String updator;
 
-	/**  签到类型  */
+	/**  绛惧埌绫诲瀷  */
 	@Column(name="SIGN_TYPE")
 	private Short signType;
 
-	/**  微信活动签到:签到首页图片路径 */
+	/**  寰俊娲诲姩绛惧埌锛氱鍒伴椤靛浘鐗囪矾寰� */
 	@Column(name="HOME_IMG_PATH", length=255)
 	private String homeImgPath;
 
-	/**  微信活动签到:签到成功流程图片路径 */
+	/**  寰俊娲诲姩绛惧埌锛氱鍒版垚鍔熸祦绋嬪浘鐗囪矾寰� */
 	@Column(name="FLOW_IMG_PATH", length=255)
 	private String flowImgPath;
 	
-	/**  微信签到:排名配置 */
+	/**  寰俊绛惧埌锛氭帓鍚嶉厤缃� */
 	@Column(name="HIS_SHOW", length=1)
 	private Integer hisShow;
 	
-	/**  微信签到:未报名用户允许签到配置 */
+	/**  寰俊绛惧埌锛氭湭鎶ュ悕鐢ㄦ埛鍏佽绛惧埌閰嶇疆 */
 	@Column(name="ACT_ALLOW", length=1)
 	private Integer actAllow;
 	
-	/**  微信签到:未报名用户允许签到配置 */
+	/**  寰俊绛惧埌锛氭湭鎶ュ悕鐢ㄦ埛鍏佽绛惧埌閰嶇疆 */
 	@Column(name="PAY_ALLOW", length=1)
 	private Integer payAllow;
 	
-	/** 是否显示姓名 */
+	/** 鏄惁鏄剧ず濮撳悕 */
 	@Column(name="NAME_SHOW", length=1)
 	private Integer nameShow;
 	
-	/**  是否显示手机号 */
+	/**  鏄惁鏄剧ず鎵嬫満鍙� */
 	@Column(name="PHONE_SHOW", length=1)
 	private Integer phoneShow;
 	
-	/**  是否显示机构信息  */
+	/**  鏄惁鏄剧ず鏈烘瀯淇℃伅  */
 	@Column(name="ORG_SHOW", length=1)
 	private Integer orgShow;
 	
-	/** 签到通知接收者用户ID */
+	/** 绛惧埌閫氱煡鎺ユ敹鑰呯敤鎴稩D */
 	@Column(name="NOTICE_USER_ID")
 	private String noticeUserId;
 	
-	/** 签到通知接收者密码 */
+	/** 绛惧埌閫氱煡鎺ユ敹鑰呭瘑鐮� */
 	@Column(name="NOTICE_PASSWORD")
 	private String noticePassword;
 	
@@ -190,19 +190,19 @@
 	@JsonIgnore
 	private List<SchSignItem> signItems;
 	
-	/**  是否允许未激活签到  */
+	/**  鏄惁鍏佽鏈縺娲荤鍒�  */
 	@Column(name="REGISTER_ALLOW", length=1)
 	private Integer registerAllow;
 	
-	/**  是否允许超过范围  */
+	/**  鏄惁鍏佽瓒呰繃鑼冨洿  */
 	@Column(name="OUT_RANGE_ALLOW", length=1)
 	private Integer outRangeAllow;
 	
-	/**  允许超出范围  */
+	/**  鍏佽瓒呭嚭鑼冨洿  */
 	@Column(name="OUT_RANGE", length=5)
 	private double outRange;
 	
-	/**  新学员是否验证手机号1、是,2、否  */
+	/**  鏂板鍛樻槸鍚﹂獙璇佹墜鏈哄彿1銆佹槸锛�2銆佸惁  */
 	@Column(name="VALIDATE_PHONE", length=1)
 	private Integer validatePhone;
 	
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchSignCode.java b/src/main/java/com/qxueyou/scc/school/model/SchSignCode.java
index 403cc85..6edaebc 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchSignCode.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchSignCode.java
@@ -10,7 +10,7 @@
 import org.hibernate.annotations.GenericGenerator;
 
 /**
- * 签到码表  实体
+ * 绛惧埌鐮佽〃  瀹炰綋
  * @author ody.yuan
  * 
  */
@@ -19,18 +19,18 @@
 @NamedQuery(name="SchSignCode.findAll", query="SELECT s FROM SchSignCode s")
 public class SchSignCode {
 
-	/**  主键 */
+	/**  涓婚敭 */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="SIGN_CODE_ID", unique=true, nullable=false, length=32)
 	private String signCodeId;
 
-	/** 签到code  */
+	/** 绛惧埌code  */
 	@Column(name="CODE", nullable=false, length=32)
 	private String code;
 
-	/**  班级ID */
+	/**  鐝骇ID */
 	@Column(name="CLASS_ID", nullable=false, length=32)
 	private String classId;
 
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchSignItem.java b/src/main/java/com/qxueyou/scc/school/model/SchSignItem.java
index 9d9a529..56b3dac 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchSignItem.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchSignItem.java
@@ -23,7 +23,7 @@
 
 
 /**
- * 签到记录明细表  实体
+ * 绛惧埌璁板綍鏄庣粏琛�  瀹炰綋
  * @author ody.yuan
  *
  */
@@ -33,68 +33,68 @@
 public class SchSignItem implements Serializable,ITrace {
 	private static final long serialVersionUID = 1L;
 
-	/**  主键 */
+	/**  涓婚敭 */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="SIGN_ITEM_ID", unique=true, nullable=false, length=32)
 	private String signItemId;
 
-	/**  创建人ID */
+	/**  鍒涘缓浜篒D */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	@JsonIgnore
 	private String createId;
 
-	/**  创建时间 */
+	/**  鍒涘缓鏃堕棿 */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date createTime;
 
-	/**  创建人 */
+	/**  鍒涘缓浜� */
 	@Column(name="CREATOR", nullable=false, length=100)
 	@JsonIgnore
 	private String creator;
 
-	/**  删除标志 */
+	/**  鍒犻櫎鏍囧織 */
 	@Column(name="DELETE_FLAG", nullable=false)
 	@JsonIgnore
 	private boolean deleteFlag;
 
-	/**  签到地址 */
+	/**  绛惧埌鍦板潃 */
 	@Column(name="SIGN_ADDRESS", length=255)
 	private String signAddress;
 
-	/**  签到主表ID */
+	/**  绛惧埌涓昏〃ID */
 	@Column(name="SIGN_ID", length=32)
 	private String signId;
 
-	/**  签到时间 */
+	/**  绛惧埌鏃堕棿 */
 	@Column(name="SIGN_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date signTime;
 
-	/**  修改人ID */
+	/**  淇敼浜篒D */
 	@Column(name="UPDATE_ID", length=32)
 	@JsonIgnore
 	private String updateId;
 
-	/** 修改时间  */
+	/** 淇敼鏃堕棿  */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date updateTime;
 
-	/** 修改人  */
+	/** 淇敼浜�  */
 	@Column(name="UPDATOR", length=100)
 	@JsonIgnore
 	private String updator;
 
-	/**  签到用户ID  */
+	/**  绛惧埌鐢ㄦ埛ID  */
 	@Column(name="USER_ID", length=32)
 	private String userId;
 
-	/**  签到用户姓名 */
+	/**  绛惧埌鐢ㄦ埛濮撳悕 */
 	@Column(name="USER_NAME", length=150)
 	private String userName;
 
@@ -104,23 +104,23 @@
 	@JsonIgnore
 	private SchSign sign;
 	
-	//最后一次签到时间
+	//鏈�鍚庝竴娆$鍒版椂闂�
 	@Transient
 	private Date endTime;
 	
-	//第一次签到排名
+	//绗竴娆$鍒版帓鍚�
 	@Transient
 	private Short signOrder;
 	
-	//移动电话
+	//绉诲姩鐢佃瘽
 	@Transient
 	private String mobilePhone;
 	
-	//是否已报名
+	//鏄惁宸叉姤鍚�
 	@Transient
 	private String registeFlag;
 	
-	//是否已下载
+	//鏄惁宸蹭笅杞�
 	@Transient
 	private String installFlag;
 	
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchSignOrder.java b/src/main/java/com/qxueyou/scc/school/model/SchSignOrder.java
index 979694e..71115c7 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchSignOrder.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchSignOrder.java
@@ -18,7 +18,7 @@
 
 
 /**
- * The persistent class for the sch_sign_item database table. 签到次序表
+ * The persistent class for the sch_sign_item database table. 绛惧埌娆″簭琛�
  * 
  */
 @Entity
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchSignStatistics.java b/src/main/java/com/qxueyou/scc/school/model/SchSignStatistics.java
index 8b4d627..b1aa698 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchSignStatistics.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchSignStatistics.java
@@ -19,7 +19,7 @@
 
 
 /**
- * The persistent class for the sch_sign_item database table. 签到次序表
+ * The persistent class for the sch_sign_item database table. 绛惧埌娆″簭琛�
  * 
  */
 @Entity
@@ -35,17 +35,17 @@
 	@Column(name="SIGN_STATISTICS_ID", unique=true, nullable=false, length=32)
 	private String signStatisticsId;
 	
-	/** 签到终端类型: 1:Q学友;  2: 微信 */
+	/** 绛惧埌缁堢绫诲瀷锛� 1锛歈瀛﹀弸锛�  2锛� 寰俊 */
 	public static final short TERMINAL_TYPE_QXUEYOU = 1;
 	
 	public static final short TERMINAL_TYPE_WECHAT = 2;
 	
-	/** 签到状态类型: 1:正常;  2: 迟到  ;3:早退;4:未签到*/
+	/** 绛惧埌鐘舵�佺被鍨嬶細 1锛氭甯革紱  2锛� 杩熷埌  锛�3锛氭棭閫�锛�4锛氭湭绛惧埌*/
 	public static final short SIGN_STATUS_NORMAL = 1;
 	
 	public static final short SIGN_STATUS_LATE = 2;
 	
-	/** 是否统计 1是2否 **/
+	/** 鏄惁缁熻 1鏄�2鍚� **/
 	public static final int STATISTICS_FLAG_YES = 1;
 	
 	public static final int STATISTICS_FLAG_NO = 2;
@@ -54,126 +54,126 @@
 	
 	public static final short SIGN_STATUS_NO = 4;
 	
-	/** 用户ID */
+	/** 鐢ㄦ埛ID */
 	@Column(name="USER_ID", length=32)
 	private String userId;
 	
-	/** 用户姓名 */
+	/** 鐢ㄦ埛濮撳悕 */
 	@Column(name="USER_NAME", length=150)
 	private String userName;
 
-	/** 手机号码 */
+	/** 鎵嬫満鍙风爜 */
 	@Column(name="MOBILE_PHONE", length=15)
 	private String mobilePhone;
 
-	/** 签到ID */
+	/** 绛惧埌ID */
 	@Column(name="SIGN_ID", length=32)
 	private String signId;
 	
-	/** 签到时间 */
+	/** 绛惧埌鏃堕棿 */
 	@Column(name="SIGN_DATE")
 	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private Date signDate;
 	
-	/** 上课签到时间 */
+	/** 涓婅绛惧埌鏃堕棿 */
 	@Column(name="FIRST_SIGN_TIME")
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date firstSignTime;
 	
-	/** 上课签到排名 */
+	/** 涓婅绛惧埌鎺掑悕 */
 	@Column(name="FIRST_SIGN_ORDER")
 	private Integer firstSignOrder;
 	
-	/** 上课签到状态 */
+	/** 涓婅绛惧埌鐘舵�� */
 	@Column(name = "FIRST_SIGN_STATUS")
 	private Short firstSignStatus;
 	
-	/** 下课签到时间 */
+	/** 涓嬭绛惧埌鏃堕棿 */
 	@Column(name="LAST_SIGN_TIME")
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date lastSignTime;
 	
-	/** 下课签到排名,未使用 */
+	/** 涓嬭绛惧埌鎺掑悕锛屾湭浣跨敤 */
 	@Column(name="LAST_SIGN_ORDER")
 	private Integer lastSignOrder;
 	
-	/** 下课签到状态 */
+	/** 涓嬭绛惧埌鐘舵�� */
 	@Column(name = "LAST_SIGN_STATUS")
 	private Short lastSignStatus;
 	
-	/** 签到地址 */
+	/** 绛惧埌鍦板潃 */
 	@Column(name="SIGN_ADDRESS", length=255)
 	private String signAddress;
 	
-	/** 签到类型:q学友 Or 微信 */
+	/** 绛惧埌绫诲瀷锛歲瀛﹀弸 Or 寰俊 */
 	@Column(name="TERMINAL_TYPE", length=255)
 	private Short terminalType;
 	
-	/** 是否当前班级激活学员  */
+	/** 鏄惁褰撳墠鐝骇婵�娲诲鍛�  */
 	@Column(name="REGISTE_FLAG", length=255)
 	private boolean registeFlag;
 	
-	/** 是否有登录过q学友  */
+	/** 鏄惁鏈夌櫥褰曡繃q瀛﹀弸  */
 	@Column(name="INSTALL_FLAG", length=255)
 	private boolean installFlag;
 	
-	/** 创建时间 */
+	/** 鍒涘缓鏃堕棿 */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date createTime;
 	
-	/** 修改时间 */
+	/** 淇敼鏃堕棿 */
 	@Column(name="UPDATE_TIME")
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date updateTime;
 	
-	/** 创建人 */
+	/** 鍒涘缓浜� */
 	@Column(name="CREATOR", nullable=false, length=100)
 	@JsonIgnore
 	private String creator;
 	
-	/** 创建人ID */
+	/** 鍒涘缓浜篒D */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	@JsonIgnore
 	private String createId;
 	
-	/** 修改人 */
+	/** 淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	@JsonIgnore
 	private String updator;
 	
-	/** 修改人ID */
+	/** 淇敼浜篒D */
 	@Column(name="UPDATE_ID", length=32)
 	@JsonIgnore
 	private String updateId;
 
-	/** 删除标志 */
+	/** 鍒犻櫎鏍囧織 */
 	@Column(name="DELETE_FLAG", nullable=false)
 	@JsonIgnore
 	private boolean deleteFlag;
 	
-	/** 是否统计 */
+	/** 鏄惁缁熻 */
 	@Column(name="STATISTICS_FLAG", length=1)
 	private int statisticsFlag;
 	
-	/** 位置经度纬度 */
+	/** 浣嶇疆缁忓害绾害 */
 	@Column(name="POSITION", length=20)
 	private String position;
 	
-	/** 距离 */
+	/** 璺濈 */
 	@Column(name="OUT_OF_RANGE", length=10)
 	private double outOfRange;
 
-	/** 班级课程ID  */
+	/** 鐝骇璇剧▼ID  */
 	@Column(name="CLASS_SUBJECT_ID", length=32)
 	private String classSubjectId;
 	
-	/** 班级课程name  */
+	/** 鐝骇璇剧▼name  */
 	@Column(name="CLASS_SUBJECT_NAME", length=32)
 	private String classSubjectName;
 
-	/**公司名*/
+	/**鍏徃鍚�*/
 	@Transient
 	private String companyName;
 	
@@ -477,11 +477,11 @@
 		String value = "";
 		if(this.firstSignStatus != null ){
 			if(SchSignStatistics.SIGN_STATUS_NORMAL == this.firstSignStatus){
-				value = "正常";
+				value = "姝e父";
 			}else if(SchSignStatistics.SIGN_STATUS_LATE == this.firstSignStatus){
-				value = "迟到";
+				value = "杩熷埌";
 			}else if(SchSignStatistics.SIGN_STATUS_NO == this.firstSignStatus){
-				value = "未到";
+				value = "鏈埌";
 			}
 		}
 		return value;
@@ -491,11 +491,11 @@
 		String value = "";
 		if(this.lastSignStatus != null){
 			if(SchSignStatistics.SIGN_STATUS_NORMAL == this.lastSignStatus){
-				value = "正常";
+				value = "姝e父";
 			}else if(SchSignStatistics.SIGN_STATUS_EARLY == this.lastSignStatus){
-				value = "早退";
+				value = "鏃╅��";
 			}else if(SchSignStatistics.SIGN_STATUS_NO == this.firstSignStatus){
-				value = "未到";
+				value = "鏈埌";
 			}
 		}
 		return value;
@@ -505,9 +505,9 @@
 		String value = "";
 		if(this.terminalType != null ){
 			if(SchSignStatistics.TERMINAL_TYPE_QXUEYOU == this.terminalType){
-				value = "Q学友";
+				value = "Q瀛﹀弸";
 			}else if(SchSignStatistics.TERMINAL_TYPE_WECHAT == this.terminalType){
-				value = "微信";
+				value = "寰俊";
 			}
 			return value;
 		}
@@ -515,17 +515,17 @@
 	}
 	
 	public String getInstallValue(){
-		String value = "否";
+		String value = "鍚�";
 		if(this.installFlag){
-			value = "是";
+			value = "鏄�";
 		}
 		return value;
 	}
 	
 	public String getRegisteValue(){
-		String value = "否";
+		String value = "鍚�";
 		if(this.registeFlag){
-			value = "是";
+			value = "鏄�";
 		}
 		return value;
 	}
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchSpreadFootprint.java b/src/main/java/com/qxueyou/scc/school/model/SchSpreadFootprint.java
index 3173eb4..41b853a 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchSpreadFootprint.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchSpreadFootprint.java
@@ -16,7 +16,7 @@
 import com.fasterxml.jackson.annotation.JsonIgnore;
 
 /**
- * 课程、视频、讲义记录传播轨迹
+ * 璇剧▼銆佽棰戙�佽涔夎褰曚紶鎾建杩�
  * 
  * @author lihanqi
  *
@@ -28,118 +28,118 @@
 
 	private static final long serialVersionUID = 5843514289817382614L;
 	
-	/** 操作类型:查看 */
+	/** 鎿嶄綔绫诲瀷:鏌ョ湅 */
 	public static final short TYPE_VIEW = 1;
 	
-	/** 操作类型:分享 */
+	/** 鎿嶄綔绫诲瀷:鍒嗕韩 */
 	public static final short TYPE_SHARE = 2;
 	
-	/** 操作类型:报名 */
+	/** 鎿嶄綔绫诲瀷:鎶ュ悕 */
 	public static final short TYPE_SIGNUP = 3;
 	
-	/** 操作类型:支付 */
+	/** 鎿嶄綔绫诲瀷:鏀粯 */
 	public static final short TYPE_PAY = 4;
 	
 	
-	/** 对象类型:课程 */
+	/** 瀵硅薄绫诲瀷:璇剧▼ */
 	public static final short OBJECT_TYPE_CLASS = 1;
 	
-	/** 对象类型:视频 */
+	/** 瀵硅薄绫诲瀷:瑙嗛 */
 	public static final short OBJECT_TYPE_VIDEO = 2;
 	
-	/** 对象类型:讲义 */
+	/** 瀵硅薄绫诲瀷:璁蹭箟 */
 	public static final short OBJECT_TYPE_HANDOUT = 3;
 	
-	/** 对象类型:分享 */
+	/** 瀵硅薄绫诲瀷:鍒嗕韩 */
 	public static final short OBJECT_TYPE_SHARE = 4;
 	
 
-	/** 主键  */
+	/** 涓婚敭  */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name = "SPREAD_ID", unique = true, nullable = false, length = 32)
 	private String spreadId;
 
-	/**类型  */
+	/**绫诲瀷  */
 	@Column(name = "TYPE", precision = 2)
 	private short type;
 	
-	/** 操作时间  */
+	/** 鎿嶄綔鏃堕棿  */
 	@Column(name="OPERATION_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date operationTime;
 	
-	/** ip地址*/
+	/** ip鍦板潃*/
 	@Column(name = "IP", length = 50)
 	private String ip;
 	
-	/** 扩展*/
+	/** 鎵╁睍*/
 	@Column(name = "CONTENT", length = 100)
 	private String content;
 	
-	/** 操作用户*/
+	/** 鎿嶄綔鐢ㄦ埛*/
 	@Column(name = "USER_ID", length = 32)
 	private String userId;
 
-	/** 操作用户名称*/
+	/** 鎿嶄綔鐢ㄦ埛鍚嶇О*/
 	@Column(name = "USER_NAME", length = 128)
 	private String userName;
 	
-	/** 请求头信息*/
+	/** 璇锋眰澶翠俊鎭�*/
 	@Column(name = "user_agent", length = 255)
 	private String userAgent;
 	
-	/** 机型*/
+	/** 鏈哄瀷*/
 	@Column(name = "MODEL", length = 64)
 	private String model;
 	
-	/** 对象类型*/
+	/** 瀵硅薄绫诲瀷*/
 	@Column(name = "OBJECT_TYPE", precision = 2)
 	private short objectType;
 	
-	/** 对象类型Id*/
+	/** 瀵硅薄绫诲瀷Id*/
 	@Column(name = "OBJECT_ID", length = 32)
 	private String objectId;
 
-	/** 微信openId*/
+	/** 寰俊openId*/
 	@Column(name = "OPEN_ID", length = 50)
 	private String openId;
 
-	/** 创建时间  */
+	/** 鍒涘缓鏃堕棿  */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date createTime;
 	
-	/** 修改时间  */
+	/** 淇敼鏃堕棿  */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date updateTime;
 
-	/**  创建人 */
+	/**  鍒涘缓浜� */
 	@Column(name="CREATOR", nullable=false, length=100)
 	@JsonIgnore
 	private String creator;
 
-	/**  创建人ID */
+	/**  鍒涘缓浜篒D */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	@JsonIgnore
 	private String createId;
 
-	/**  修改人 */
+	/**  淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	@JsonIgnore
 	private String updator;
 
-	/**  修改人ID */
+	/**  淇敼浜篒D */
 	@Column(name="UPDATE_ID", length=32)
 	@JsonIgnore
 	private String updateId;
 
-	/**  删除标志 */
+	/**  鍒犻櫎鏍囧織 */
 	@Column(name="DELETE_FLAG", nullable=false)
 	@JsonIgnore
 	private boolean deleteFlag;
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchStudentAchievement.java b/src/main/java/com/qxueyou/scc/school/model/SchStudentAchievement.java
index f4d82ec..18b45a3 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchStudentAchievement.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchStudentAchievement.java
@@ -19,7 +19,7 @@
 
 
 /**
- * 学生课程成绩
+ * 瀛︾敓璇剧▼鎴愮哗
  * @author ody.yuan
  *
  */
@@ -36,39 +36,39 @@
 	@Column(name="STUDENT_ACHIENEMENT_ID", unique=true, nullable=false, length=32)
 	private String studentAchienementId;
 
-	/** 学员ID */
+	/** 瀛﹀憳ID */
 	@Column(name="STUDENT_ID", length=32)
 	private String studentId;
 
-	/** 课程ID  */
+	/** 璇剧▼ID  */
 	@Column(name="SUBJECT_ID", length=32)
 	private String subjectId;
 
-	/** 学期ID  */
+	/** 瀛︽湡ID  */
 	@Column(name="TERM_ID", length=32)
 	private String termId;
 
-	/** 期中成绩  */
+	/** 鏈熶腑鎴愮哗  */
 	@Column(name="PERIOD_ACHIEVEMENT", precision=4, scale=2)
 	private BigDecimal periodAchievement;
 	
-	/** 期末成绩  */
+	/** 鏈熸湯鎴愮哗  */
 	@Column(name="FINAL_ACHIEVEMENT", precision=4, scale=2)
 	private BigDecimal finalAchievement;
 
-	/** 平时成绩  */
+	/** 骞虫椂鎴愮哗  */
 	@Column(name="PERFORMANCE", precision=4, scale=2)
 	private BigDecimal performance;
 	
-	/** 最终成绩-分数  */
+	/** 鏈�缁堟垚缁�-鍒嗘暟  */
 	@Column(name="ACHIEVEMENT_SCORE", precision=4, scale=2)
 	private BigDecimal achievementScore;
 	
-	/** 最终成绩-等级  */
+	/** 鏈�缁堟垚缁�-绛夌骇  */
 	@Column(name="ACHIEVEMENT_LEVEL")
 	private short achievementLevel;
 	
-	/** 备注  */
+	/** 澶囨敞  */
 	@Column(name="REMARK", length=255)
 	private String remark;
 	
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchStudentSchedule.java b/src/main/java/com/qxueyou/scc/school/model/SchStudentSchedule.java
index ec60f08..e3103ca 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchStudentSchedule.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchStudentSchedule.java
@@ -24,7 +24,7 @@
 
 
 /**
- * 学生课表  实体类
+ * 瀛︾敓璇捐〃  瀹炰綋绫�
  * @author ody.yuan
  *
  */
@@ -35,18 +35,18 @@
 	
 	private static final long serialVersionUID = 1L;
 
-	/** 课程主键 */
+	/** 璇剧▼涓婚敭 */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="STUDENT_SCHEDULE_ID", unique=true, nullable=false, length=32)
 	private String studentScheduleId;
 
-	/** 课程名称*/
+	/** 璇剧▼鍚嶇О*/
 	@Column(name="NAME", length=150)
 	private String name;
 
-	/** 上课内容,简介 */
+	/** 涓婅鍐呭锛岀畝浠� */
 	@Column(name="CONTENT")
 	private String content;
 	
@@ -56,69 +56,69 @@
 	@Column(name="TEACHER_ID", length=32)
 	private String teacherId;
 	
-	/** 班级ID */
+	/** 鐝骇ID */
 	@Column(name="CLASS_ID", length=32)
 	private String classId;
 
-	/** 学校专业  */
+	/** 瀛︽牎涓撲笟  */
 	@Column(name="COLLEGE_COURSE_ID", length=32)
 	private String collegeCourseId;
 	
-	/** 课程ID */
+	/** 璇剧▼ID */
 	@Column(name="SUBJECT_ID", length=32)
 	private String subjectId;
 	
-	/** 图片路径  */
+	/** 鍥剧墖璺緞  */
 	@Column(name="IMG_PATH", length=32)
 	private String imgPath;
 	
-	/** 学期ID  */
+	/** 瀛︽湡ID  */
 	@Column(name="TERM_ID", length=32)
 	private String termId;
 	
-	/** 学员ID */
+	/** 瀛﹀憳ID */
 	@Column(name="STUDENT_ID", length=32)
 	private String studentId;
 	
-	/** 上课地址ID  */
+	/** 涓婅鍦板潃ID  */
 	@Column(name="ADDRESS_ID", length=32)
 	private String addressId;
 
-	/** 状态 */
+	/** 鐘舵�� */
 	@Column(name="STATUS")
 	private short status;
 	
-	/** 地址 */
+	/** 鍦板潃 */
 	@Column(name="ADDRESS", length=255)
 	private String address;
 
-	/** 结束时间 */
+	/** 缁撴潫鏃堕棿 */
 	@Column(name="END_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
 	private Date endTime;
 
-	/** 开始时间 */
+	/** 寮�濮嬫椂闂� */
 	@Column(name="START_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
 	private Date startTime;
 	
-	/** 高校课表使用:第几节课开始ID  */
+	/** 楂樻牎璇捐〃浣跨敤锛氱鍑犺妭璇惧紑濮婭D  */
 	@Column(name="DAY_START_ID", length=32)
 	private String dayStartId;
 	
-	/** 高校课表使用:第几节课开始序号  */
+	/** 楂樻牎璇捐〃浣跨敤锛氱鍑犺妭璇惧紑濮嬪簭鍙�  */
 	@Column(name="DAY_START_ORDER")
 	private short dayStartOrder;
 	
-	/** 高校课表使用:第几节课结束ID  */
+	/** 楂樻牎璇捐〃浣跨敤锛氱鍑犺妭璇剧粨鏉烮D  */
 	@Column(name="DAY_END_ID", length=32)
 	private String dayEndId;
 	
-	/** 高校课表使用:第几节课结束序号  */
+	/** 楂樻牎璇捐〃浣跨敤锛氱鍑犺妭璇剧粨鏉熷簭鍙�  */
 	@Column(name="DAY_END_ORDER")
 	private short dayEndOrder;
 	
-	/**班级课表主键*/
+	/**鐝骇璇捐〃涓婚敭*/
 	@Column(name="CLASS_SCHEDULE_ID",  length=32)
 	private String classScheduleId;
 	
@@ -134,18 +134,18 @@
 	@Column(name="CREATOR", nullable=false, length=100)
 	private String creator;
 	
-	/**  修改人ID  */
+	/**  淇敼浜篒D  */
 	@Column(name="UPDATE_ID", length=32)
 	@JsonIgnore
 	private String updateId;
 
-	/**  修改时间  */
+	/**  淇敼鏃堕棿  */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date updateTime;
 
-	/**  修改人  */
+	/**  淇敼浜�  */
 	@Column(name="UPDATOR", length=100)
 	@JsonIgnore
 	private String updator;
@@ -154,7 +154,7 @@
 	@JsonIgnore
 	private boolean deleteFlag;
 	
-	/** 学生 */
+	/** 瀛︾敓 */
 	@ManyToOne(cascade = CascadeType.REFRESH,fetch = FetchType.LAZY)
     @JoinColumn(name = "STUDENT_ID",referencedColumnName="STUDENT_ID",updatable=false,insertable=false)
 	@JsonIgnore
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchStudyReport.java b/src/main/java/com/qxueyou/scc/school/model/SchStudyReport.java
index 0a5ee34..0efdd63 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchStudyReport.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchStudyReport.java
@@ -18,7 +18,7 @@
 import com.fasterxml.jackson.annotation.JsonIgnore;
 
 /**
- * 学习报告实体
+ * 瀛︿範鎶ュ憡瀹炰綋
  * 
  * @author xiadehu
  * 
@@ -33,41 +33,41 @@
 	 */
 	private static final long serialVersionUID = -8939330124338289188L;
 
-	/** 主键 */
+	/** 涓婚敭 */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name = "STUDY_ID", unique = true, nullable = false, length = 32)
 	private String studyId;
 
-	/** 创建时间 */
+	/** 鍒涘缓鏃堕棿 */
 	@Column(name = "CREATE_TIME", nullable = false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date createTime;
 
-	/** 创建者 */
+	/** 鍒涘缓鑰� */
 	@Column(name = "CREATOR", nullable = false, length = 100)
 	@JsonIgnore
 	private String creator;
 
-	/** 修改人ID */
+	/** 淇敼浜篒D */
 	@Column(name = "UPDATE_ID", length = 32)
 	@JsonIgnore
 	private String updateId;
 
-	/** 修改时间 */
+	/** 淇敼鏃堕棿 */
 	@Column(name = "UPDATE_TIME", nullable = false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date updateTime;
 
-	/** 修改人 */
+	/** 淇敼浜� */
 	@Column(name = "UPDATOR", length = 100)
 	@JsonIgnore
 	private String updator;
 
-	/** 删除标志 */
+	/** 鍒犻櫎鏍囧織 */
 	@Column(name = "DELETE_FLAG", nullable = false)
 	@JsonIgnore
 	private boolean deleteFlag;
@@ -77,133 +77,133 @@
 	private String createId;
 
 	/*
-	 * 用户ID
+	 * 鐢ㄦ埛ID
 	 */
 	@Column(name = "USER_ID", length = 32)
 	private String userId;
 
 	/*
-	 * 用户名
+	 * 鐢ㄦ埛鍚�
 	 */
 	@Column(name = "NAME", length = 150)
 	private String name;
 
 	/*
-	 * 学员先后顺序排名
+	 * 瀛﹀憳鍏堝悗椤哄簭鎺掑悕
 	 */
 	@Column(name = "STUDENT_ORDER")
 	private int studentOrder;
 
 	/*
-	 * 学习天数
+	 * 瀛︿範澶╂暟
 	 */
 	@Column(name = "STUDY_PERIOD")
 	private int studyPeriod;
 
 	/*
-	 * 总共学习了多少门课程
+	 * 鎬诲叡瀛︿範浜嗗灏戦棬璇剧▼
 	 */
 	@Column(name = "COURSE_COUNT")
 	private int courseCount;
 
 	/*
-	 * 第一个课程
+	 * 绗竴涓绋�
 	 */
 	@Column(name = "FIRST_COURSE", length = 255)
 	private String firstCourse;
 
 	/*
-	 * 第一个班级
+	 * 绗竴涓彮绾�
 	 */
 	@Column(name = "FIRST_CLASS", length = 255)
 	private String firstClass;
 
 	/*
-	 * 学习讲义的个数
+	 * 瀛︿範璁蹭箟鐨勪釜鏁�
 	 */
 	@Column(name = "STUDY_HANDOUT_COUNT")
 	private int studyHandoutCount;
 
 	/*
-	 * 学习视频的个数
+	 * 瀛︿範瑙嗛鐨勪釜鏁�
 	 */
 	@Column(name = "STUDY_VIDEO_COUNT")
 	private int studyVideoCount;
 
 	/*
-	 * 观看直播次数
+	 * 瑙傜湅鐩存挱娆℃暟
 	 */
 	@Column(name = "VIEW_LIVE_COUNT")
 	private int viewLiveCount;
 
 	/*
-	 * 做练习题个数
+	 * 鍋氱粌涔犻涓暟
 	 */
 	@Column(name = "DO_EXERCISE_COUNT")
 	private int doExerciseCount;
 
 	/*
-	 * 练习准确率
+	 * 缁冧範鍑嗙‘鐜�
 	 */
 	@Column(name = "EXERCISE_ACCURACY", precision = 10, scale = 4)
 	private BigDecimal exerciseAccuracy;
 
 	/*
-	 * 练习正确率排行
+	 * 缁冧範姝g‘鐜囨帓琛�
 	 */
 	@Column(name = "ACCURACY_ORDER", precision = 10, scale = 4)
 	private BigDecimal accuracyOrder;
 
 	/*
-	 * 第一次分享的课程
+	 * 绗竴娆″垎浜殑璇剧▼
 	 */
 	@Column(name = "FIRST_SHARE_COURSE", length = 255)
 	private String firstShareCourse;
 
 	/*
-	 * 分享被浏览次数
+	 * 鍒嗕韩琚祻瑙堟鏁�
 	 */
 	@Column(name = "VIEW_COUNT_OF_SHARE")
 	private int viewCountOfShare;
 
 	/*
-	 * 分享赚取奖金
+	 * 鍒嗕韩璧氬彇濂栭噾
 	 */
 	@Column(name = "AWARD_AMOUNT_OF_SHARE", precision = 10, scale = 4)
 	private BigDecimal awardAmountOfShare;
 
 	/*
-	 * 传播大使排名打败全国百分之多少学员
+	 * 浼犳挱澶т娇鎺掑悕鎵撹触鍏ㄥ浗鐧惧垎涔嬪灏戝鍛�
 	 */
 	@Column(name = "ATS_ORDER", precision = 10, scale = 4)
 	private BigDecimal atsOrder;
 
 	/*
-	 * 学习时间,json字符串保存
+	 * 瀛︿範鏃堕棿锛宩son瀛楃涓蹭繚瀛�
 	 */
 	@Column(name = "STUDY_TIME", length = 4096)
 	private String studyTime;
 	
 	/*
-	 * 学习时间分布图
+	 * 瀛︿範鏃堕棿鍒嗗竷鍥�
 	 */
 	@Column(name = "STUDY_TIME_IMG", length = 512)
 	private String studyTimeImg;
 
 	/*
-	 * 学习过的机构,json结构
+	 * 瀛︿範杩囩殑鏈烘瀯锛宩son缁撴瀯
 	 */
 	@Column(name = "ORGS", length = 4096)
 	private String orgs;
 
 	/*
-	 * 推荐课程
+	 * 鎺ㄨ崘璇剧▼
 	 */
 	@Column(name = "REC_COURSES", length = 4096)
 	private String recCourses;
 	
 	/*
-	 * 更多课程链接
+	 * 鏇村璇剧▼閾炬帴
 	 */
 	@Column(name = "MORE_REC_URL", length = 512)
 	private String moreRecUrl;
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchSubjectExtend.java b/src/main/java/com/qxueyou/scc/school/model/SchSubjectExtend.java
index a95ee69..e28dc85 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchSubjectExtend.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchSubjectExtend.java
@@ -18,7 +18,7 @@
 
 
 /**
- * 课程扩展表
+ * 璇剧▼鎵╁睍琛�
  * @author lihanqi
  *
  */
@@ -28,62 +28,62 @@
 public class SchSubjectExtend implements Serializable,ITrace {
 	private static final long serialVersionUID = 1L;
 	
-	/** 课程主键 */
+	/** 璇剧▼涓婚敭 */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="SUBJECT_EXTEND_ID", unique=true, nullable=false, length=32)
 	private String subjectExtendId;
 	
-	/** 课程名称*/
+	/** 璇剧▼鍚嶇О*/
 	@Column(name="NAME", length=150)
 	private String name;
 	
-	/** 地址 */
+	/** 鍦板潃 */
 	@Column(name="ADDRESS", length=255)
 	private String address;
 
-	/** 结束时间 */
+	/** 缁撴潫鏃堕棿 */
 	@Column(name="END_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
 	private Date endTime;
 
-	/** 开始时间 */
+	/** 寮�濮嬫椂闂� */
 	@Column(name="START_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
 	private Date startTime;
 	
-	/** 课程上课开始日期 */
+	/** 璇剧▼涓婅寮�濮嬫棩鏈� */
 	@Column(name="SUBJECT_START_DATE")
 	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private Date subjectStartDate;
 	
-	/** 课程上课结束日期 */
+	/** 璇剧▼涓婅缁撴潫鏃ユ湡 */
 	@Column(name="SUBJECT_END_DATE")
 	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private Date subjectEndDate;
 
-	/** 班级ID */
+	/** 鐝骇ID */
 	@Column(name="CLASS_ID", length=32)
 	private String classId;
 
-	/** 上课内容,简介 */
+	/** 涓婅鍐呭锛岀畝浠� */
 	@Column(name="CONTENT", length=1000)
 	private String content;
 	
-	/** 课程id */
+	/** 璇剧▼id */
 	@Column(name="CLASS_SUBJECT_ID", length=32)
 	private String classSubjectId;
 	
-	/** 是否重复 */
+	/** 鏄惁閲嶅 */
 	@Column(name="REPEAT_FLAG", length=1)
 	private int repeatFlag;
 	
-	/** 重复日期 */
+	/** 閲嶅鏃ユ湡 */
 	@Column(name="REPEAT_DATE", length=30)
 	private String repeatDate;
 	
-	/** 上课地址ID  */
+	/** 涓婅鍦板潃ID  */
 	@Column(name="ADDRESS_ID", length=32)
 	private String addressId;
 
@@ -119,7 +119,7 @@
 	@Column(name="UPDATOR", length=100)
 	private String updator;
 	
-	/** 课程模式(面授/网络)  */
+	/** 璇剧▼妯″紡锛堥潰鎺�/缃戠粶锛�  */
 	@Column(name="MODE", length=20)
 	private String mode;
 
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchSubjectReCourse.java b/src/main/java/com/qxueyou/scc/school/model/SchSubjectReCourse.java
index f97150e..23f1e91 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchSubjectReCourse.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchSubjectReCourse.java
@@ -29,7 +29,7 @@
 	@Column(name="RE_ID", unique=true, nullable=false, length=32)
 	private String reId;
 
-	/**  科目ID  */
+	/**  绉戠洰ID  */
 	@Column(name="COLLEGE_COURSE_ID", length=32)
 	private String collegeCourseId;
 
@@ -41,7 +41,7 @@
 	@Column(name="TOP_ORG_ID", length=32)
 	private String topOrgId;
 	
-	/**  课程ID */
+	/**  璇剧▼ID */
 	@Column(name="SUBJECT_ID", length=255)
 	private String subjectId;
 	
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchTerm.java b/src/main/java/com/qxueyou/scc/school/model/SchTerm.java
index fc443a2..a3b6a4f 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchTerm.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchTerm.java
@@ -23,7 +23,7 @@
 
 
 /**
- * 学期
+ * 瀛︽湡
  * @author ody.yuan
  *
  */
@@ -40,29 +40,29 @@
 	@Column(name="TERM_ID", unique=true, nullable=false, length=32)
 	private String termId;
 
-	/**  名称  */
+	/**  鍚嶇О  */
 	@Column(name="NAME", length=150)
 	private String name;
 	
-	/** 开始时间  */
+	/** 寮�濮嬫椂闂�  */
 	@Column(name="START_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
 	private Date startTime;
 	
-	/** 结束时间  */
+	/** 缁撴潫鏃堕棿  */
 	@Column(name="END_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
 	private Date endTime;
 
-	/**  学年ID */
+	/**  瀛﹀勾ID */
 	@Column(name="SCHOOL_YEAR_ID", length=32)
 	private String schoolYearId;
 	
-	/**  该学年第几学期 */
+	/**  璇ュ骞寸鍑犲鏈� */
 	@Column(name="TERM_ORDER")
 	private short termOrder;
 	
-	/**  备注 */
+	/**  澶囨敞 */
 	@Column(name="REMARK", length=255)
 	private String REMARK;
 	
@@ -101,7 +101,7 @@
 	@JsonIgnore
 	private SchSchoolYear schYear;
 	
-	//作息时间
+	//浣滄伅鏃堕棿
 	@Transient
 	private String dayItem;
 	
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchTermReDay.java b/src/main/java/com/qxueyou/scc/school/model/SchTermReDay.java
index 6e1387e..a38324e 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchTermReDay.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchTermReDay.java
@@ -17,7 +17,7 @@
 
 
 /**
- * 学期 - 作息时间 关系表 实体
+ * 瀛︽湡 - 浣滄伅鏃堕棿 鍏崇郴琛� 瀹炰綋
  * @author ody.yuan
  *
  */
@@ -27,54 +27,54 @@
 
 	private static final long serialVersionUID = -7223739750298125697L;
 	
-	/**  主键  */
+	/**  涓婚敭  */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="RELATION_ID", unique=true, nullable=false, length=32)
 	private String relationId;
 
-	/**  创建人ID  */
+	/**  鍒涘缓浜篒D  */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	@JsonIgnore
 	private String createId;
 
-	/**  创建时间  */
+	/**  鍒涘缓鏃堕棿  */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date createTime;
 
-	/**  创建人  */
+	/**  鍒涘缓浜�  */
 	@Column(name="CREATOR", nullable=false, length=100)
 	@JsonIgnore
 	private String creator;
 
-	/**  删除标志  */
+	/**  鍒犻櫎鏍囧織  */
 	@Column(name="DELETE_FLAG", nullable=false)
 	@JsonIgnore
 	private boolean deleteFlag;
 
-	/**  学期ID */
+	/**  瀛︽湡ID */
 	@Column(name="TERM_ID", length=32)
 	private String termId;
 	
-	/**  作息模板ID  */
+	/**  浣滄伅妯℃澘ID  */
 	@Column(name="SCHOOL_DAY_ID", length=32)
 	private String schoolDayId;
 
-	/**  修改人ID  */
+	/**  淇敼浜篒D  */
 	@Column(name="UPDATE_ID", length=32)
 	@JsonIgnore
 	private String updateId;
 
-	/**  修改时间  */
+	/**  淇敼鏃堕棿  */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date updateTime;
 
-	/**   修改人 */
+	/**   淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	@JsonIgnore
 	private String updator;
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchVideoFile.java b/src/main/java/com/qxueyou/scc/school/model/SchVideoFile.java
index 5768b32..fcadaf7 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchVideoFile.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchVideoFile.java
@@ -33,7 +33,7 @@
 	@Column(name="FILE_ID", length=32)
 	private String fileId;
 
-	/** 类型:1:直播 2:视频 */
+	/** 绫诲瀷锛�1锛氱洿鎾� 2锛氳棰� */
 	@Column(name="TYPE")
 	private int type;
 	
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchYearReClass.java b/src/main/java/com/qxueyou/scc/school/model/SchYearReClass.java
index 8e37140..18cd735 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchYearReClass.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchYearReClass.java
@@ -17,7 +17,7 @@
 
 
 /**
- * 学年 - 班级关系表 实体
+ * 瀛﹀勾 - 鐝骇鍏崇郴琛� 瀹炰綋
  * @author ody.yuan
  *
  */
@@ -27,54 +27,54 @@
 
 	private static final long serialVersionUID = -7223739750298125697L;
 	
-	/**  主键  */
+	/**  涓婚敭  */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="RELATION_ID", unique=true, nullable=false, length=32)
 	private String relationId;
 
-	/**  创建人ID  */
+	/**  鍒涘缓浜篒D  */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	@JsonIgnore
 	private String createId;
 
-	/**  创建时间  */
+	/**  鍒涘缓鏃堕棿  */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date createTime;
 
-	/**  创建人  */
+	/**  鍒涘缓浜�  */
 	@Column(name="CREATOR", nullable=false, length=100)
 	@JsonIgnore
 	private String creator;
 
-	/**  删除标志  */
+	/**  鍒犻櫎鏍囧織  */
 	@Column(name="DELETE_FLAG", nullable=false)
 	@JsonIgnore
 	private boolean deleteFlag;
 
-	/**  学年ID */
+	/**  瀛﹀勾ID */
 	@Column(name="SCHOOL_YEAR_ID", length=32)
 	private String schoolYearId;
 	
-	/**  班级ID  */
+	/**  鐝骇ID  */
 	@Column(name="CLASS_ID", length=32)
 	private String classId;
 
-	/**  修改人ID  */
+	/**  淇敼浜篒D  */
 	@Column(name="UPDATE_ID", length=32)
 	@JsonIgnore
 	private String updateId;
 
-	/**  修改时间  */
+	/**  淇敼鏃堕棿  */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date updateTime;
 
-	/**   修改人 */
+	/**   淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	@JsonIgnore
 	private String updator;
diff --git a/src/main/java/com/qxueyou/scc/school/model/SchYearReOrg.java b/src/main/java/com/qxueyou/scc/school/model/SchYearReOrg.java
index b35e21b..79de320 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SchYearReOrg.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SchYearReOrg.java
@@ -17,7 +17,7 @@
 
 
 /**
- * 学年 - 机构 关系表 实体
+ * 瀛﹀勾 - 鏈烘瀯 鍏崇郴琛� 瀹炰綋
  * @author ody.yuan
  *
  */
@@ -27,54 +27,54 @@
 
 	private static final long serialVersionUID = -7223739750298125697L;
 	
-	/**  主键  */
+	/**  涓婚敭  */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="RELATION_ID", unique=true, nullable=false, length=32)
 	private String relationId;
 
-	/**  创建人ID  */
+	/**  鍒涘缓浜篒D  */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	@JsonIgnore
 	private String createId;
 
-	/**  创建时间  */
+	/**  鍒涘缓鏃堕棿  */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date createTime;
 
-	/**  创建人  */
+	/**  鍒涘缓浜�  */
 	@Column(name="CREATOR", nullable=false, length=100)
 	@JsonIgnore
 	private String creator;
 
-	/**  删除标志  */
+	/**  鍒犻櫎鏍囧織  */
 	@Column(name="DELETE_FLAG", nullable=false)
 	@JsonIgnore
 	private boolean deleteFlag;
 
-	/**  学期ID */
+	/**  瀛︽湡ID */
 	@Column(name="SCHOOL_YEAR_ID", length=32)
 	private String schoolYearId;
 	
-	/**  机构ID  */
+	/**  鏈烘瀯ID  */
 	@Column(name="ORG_ID", length=32)
 	private String orgId;
 
-	/**  修改人ID  */
+	/**  淇敼浜篒D  */
 	@Column(name="UPDATE_ID", length=32)
 	@JsonIgnore
 	private String updateId;
 
-	/**  修改时间  */
+	/**  淇敼鏃堕棿  */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date updateTime;
 
-	/**   修改人 */
+	/**   淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	@JsonIgnore
 	private String updator;
diff --git a/src/main/java/com/qxueyou/scc/school/model/SignResult.java b/src/main/java/com/qxueyou/scc/school/model/SignResult.java
index 17c8f3c..f52a345 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SignResult.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SignResult.java
@@ -4,7 +4,7 @@
 import java.util.List;
 
 /**
- * 签到历史结果
+ * 绛惧埌鍘嗗彶缁撴灉
  * @author zhiyong
  *
  */
@@ -15,13 +15,13 @@
 	 */
 	private static final long serialVersionUID = 8653663526121648525L;
 	
-	/** 当前用户签到顺序 */
+	/** 褰撳墠鐢ㄦ埛绛惧埌椤哄簭 */
 	private int signIndex;
 	
-	/** 当前用户签到地址 */
+	/** 褰撳墠鐢ㄦ埛绛惧埌鍦板潃 */
 	private String signAddr;
 	
-	/** 签到历史item,具体字段参考类:SchSignStatistics */
+	/** 绛惧埌鍘嗗彶item锛屽叿浣撳瓧娈靛弬鑰冪被锛歋chSignStatistics */
 	private List<SchSignOrder> signOrders;
 
 	public int getSignIndex() {
diff --git a/src/main/java/com/qxueyou/scc/school/model/SignScreenResult.java b/src/main/java/com/qxueyou/scc/school/model/SignScreenResult.java
index 330b0bf..605e053 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SignScreenResult.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SignScreenResult.java
@@ -4,7 +4,7 @@
 import java.util.List;
 
 /**
- * 签到上大屏结果
+ * 绛惧埌涓婂ぇ灞忕粨鏋�
  * @author ody
  *
  */
@@ -21,7 +21,7 @@
 
 	private SchSign signvo ;
 	
-	/** 签到历史item */
+	/** 绛惧埌鍘嗗彶item */
 	private List<SchSignStatistics> signStatisticss;
 
 	public String getOrgName() {
diff --git a/src/main/java/com/qxueyou/scc/school/model/SignStatisResult.java b/src/main/java/com/qxueyou/scc/school/model/SignStatisResult.java
index 3414bd5..b0ef4f3 100644
--- a/src/main/java/com/qxueyou/scc/school/model/SignStatisResult.java
+++ b/src/main/java/com/qxueyou/scc/school/model/SignStatisResult.java
@@ -4,7 +4,7 @@
 import java.util.List;
 
 /**
- * 签到历史结果
+ * 绛惧埌鍘嗗彶缁撴灉
  * @author ody
  *
  */
@@ -15,48 +15,48 @@
 	 */
 	private static final long serialVersionUID = 1L;
 
-	/** 签到类型: 1: 上课签到;  2: 下课签到, 3活动签到*/
+	/** 绛惧埌绫诲瀷锛� 1锛� 涓婅绛惧埌锛�  2锛� 涓嬭绛惧埌, 3娲诲姩绛惧埌*/
 	public static final Integer SIGN_TYPE_FIRST = 1;
 	
 	public static final Integer SIGN_TYPE_LAST = 2;
 	
 	public static final Integer SIGN_TYPE_ACTIVITY = 3;
 	
-	/** 当前是否正确返回结果,result为false:表示签到异常,result为true:表示签到成功 */
+	/** 褰撳墠鏄惁姝g‘杩斿洖缁撴灉,result涓篺alse锛氳〃绀虹鍒板紓甯�,result涓簍rue锛氳〃绀虹鍒版垚鍔� */
 	private boolean result ;
 	
-	/** 如果result为false:errorMessage为错误提示 */
+	/** 濡傛灉result涓篺alse锛歟rrorMessage涓洪敊璇彁绀� */
 	private String errMsg ;
 	
-	/** 当前用户签到顺序 */
+	/** 褰撳墠鐢ㄦ埛绛惧埌椤哄簭 */
 	private Integer signIndex;
 	
-	/** 当前用户签到地址 */
+	/** 褰撳墠鐢ㄦ埛绛惧埌鍦板潃 */
 	private String signAddr;
 	
-	/** 签到距离 */
+	/** 绛惧埌璺濈 */
 	private double range;
 	
-	/** 是否班级成员:false: 非班级成员;true:班级成员 */
+	/** 鏄惁鐝骇鎴愬憳锛歠alse: 闈炵彮绾ф垚鍛橈紱true锛氱彮绾ф垚鍛� */
 	private boolean regFlag;
 	
-	/** 班主任姓名 */
+	/** 鐝富浠诲鍚� */
 	private String classCharger;
 	
 	
-	/** 历史记录显示不显示 1:不显示 2:显示 */
+	/** 鍘嗗彶璁板綍鏄剧ず涓嶆樉绀� 1:涓嶆樉绀� 2锛氭樉绀� */
 	private Integer hisShow;
 	
-	/** 当前用户签到类型:上课签到、下课签到 */
+	/** 褰撳墠鐢ㄦ埛绛惧埌绫诲瀷锛氫笂璇剧鍒般�佷笅璇剧鍒� */
 	private Integer signType;
 	
-	/** 签到历史item */
+	/** 绛惧埌鍘嗗彶item */
 	private List<SchSignStatistics> signStatisticss;
 
-	/** 返回当前签到 */
+	/** 杩斿洖褰撳墠绛惧埌 */
 	private SchSignStatistics signStatistics;
 	
-	/** 构造方法 */
+	/** 鏋勯�犳柟娉� */
 	public SignStatisResult(){
 		super();
 	}
@@ -77,7 +77,7 @@
 		this.signStatistics = signStatistics;
 	}
 
-	/** 构造方法 */
+	/** 鏋勯�犳柟娉� */
 	public SignStatisResult(boolean result,String errMsg){
 		this.result = result ;
 		this.errMsg = errMsg ;
diff --git a/src/main/java/com/qxueyou/scc/school/model/StudentEvaCategory.java b/src/main/java/com/qxueyou/scc/school/model/StudentEvaCategory.java
index 239f490..8e33064 100644
--- a/src/main/java/com/qxueyou/scc/school/model/StudentEvaCategory.java
+++ b/src/main/java/com/qxueyou/scc/school/model/StudentEvaCategory.java
@@ -2,35 +2,35 @@
 
 
 /**
- * 学员评估分类实体类
+ * 瀛﹀憳璇勪及鍒嗙被瀹炰綋绫�
  * 
  * @author zhiyong
  *
  */
 public class StudentEvaCategory {
 	
-	/** 学习态度  */
+	/** 瀛︿範鎬佸害  */
 	public static final String STUDENT_ATTRIBUTE ="student_attribute";
 	
-	/** 学习进度*/
+	/** 瀛︿範杩涘害*/
 	public static final String STUDENT_SCHEDULE ="student_schedule";	
 	
-	/** 做题(考试)结果 */
+	/** 鍋氶(鑰冭瘯)缁撴灉 */
 	public static final String EXAM_RESULT ="exam_result";
 	
-	/** 出勤率  */
+	/** 鍑哄嫟鐜�  */
 	public static final String ATTENDANCE ="attendance";
 	
-	/** 签到排名 */
+	/** 绛惧埌鎺掑悕 */
 	public static final String SIGN_RANK ="sign_rank";
 	
-	/** 家庭作业提交及时性  */
+	/** 瀹跺涵浣滀笟鎻愪氦鍙婃椂鎬�  */
 	public static final String HOMEWORK_TIMELINESS ="homework_timeliness";
 	
-	/** 家庭作业完成度  */
+	/** 瀹跺涵浣滀笟瀹屾垚搴�  */
 	public static final String HOMEWORK_COMPLETENESS ="homework_completeness";
 	
-	/** 家庭作业答题分数  */
+	/** 瀹跺涵浣滀笟绛旈鍒嗘暟  */
 	public static final String HOMEWORK_SCORE ="homework_score";
 	
 }
\ No newline at end of file
diff --git a/src/main/java/com/qxueyou/scc/school/model/TeachEvaScoreData.java b/src/main/java/com/qxueyou/scc/school/model/TeachEvaScoreData.java
index 46e4c57..8bea188 100644
--- a/src/main/java/com/qxueyou/scc/school/model/TeachEvaScoreData.java
+++ b/src/main/java/com/qxueyou/scc/school/model/TeachEvaScoreData.java
@@ -3,7 +3,7 @@
 import java.io.Serializable;
 
 /**
- * 教学评估分数提交结果数据
+ * 鏁欏璇勪及鍒嗘暟鎻愪氦缁撴灉鏁版嵁
  * 
  * @author zhiyong
  *
diff --git a/src/main/java/com/qxueyou/scc/school/model/TeachEvaScoreResult.java b/src/main/java/com/qxueyou/scc/school/model/TeachEvaScoreResult.java
index f9db312..8b2faa0 100644
--- a/src/main/java/com/qxueyou/scc/school/model/TeachEvaScoreResult.java
+++ b/src/main/java/com/qxueyou/scc/school/model/TeachEvaScoreResult.java
@@ -5,7 +5,7 @@
 import java.util.List;
 
 /**
- * 教学评估分数结果提交vo
+ * 鏁欏璇勪及鍒嗘暟缁撴灉鎻愪氦vo
  * @author zhiyong
  *
  */
@@ -16,22 +16,22 @@
 	 */
 	private static final long serialVersionUID = 8218583798576628162L;
 	
-	/**  评估id */
+	/**  璇勪及id */
 	private String evaluateId;
 	
-	/**  组id */
+	/**  缁刬d */
 	private String exerciseGroupId;
 	
-	/** 记录id  */
+	/** 璁板綍id  */
 	private String exerciseRecordId;
 
-	/** 当前题号   */
+	/** 褰撳墠棰樺彿   */
 	private String currTitleNum;
 	
-	/** 总分数   */
+	/** 鎬诲垎鏁�   */
 	private BigDecimal score;
 
-	/** 是否提交  0:未提交  1:提交  */
+	/** 鏄惁鎻愪氦  0:鏈彁浜�  1锛氭彁浜�  */
 	private int status;
 	
 	private List<TeachEvaScoreData> items;
diff --git a/src/main/java/com/qxueyou/scc/school/model/viewvo/SchNoteViewVO.java b/src/main/java/com/qxueyou/scc/school/model/viewvo/SchNoteViewVO.java
index 49f15d8..0a351e5 100644
--- a/src/main/java/com/qxueyou/scc/school/model/viewvo/SchNoteViewVO.java
+++ b/src/main/java/com/qxueyou/scc/school/model/viewvo/SchNoteViewVO.java
@@ -5,7 +5,7 @@
 
 
 /**
- * 封装笔记本对象
+ * 灏佽绗旇鏈璞�
  * @author ody.yuan
  *
  */
@@ -13,37 +13,37 @@
 	
 	private static final long serialVersionUID = 1L;
 
-	/**  主键 */
+	/**  涓婚敭 */
 	private String noteId;
 	
-	/**  笔记对象ID  */
+	/**  绗旇瀵硅薄ID  */
 	private String noteObjectId;
 
-	/**  笔记对象类型  */
+	/**  绗旇瀵硅薄绫诲瀷  */
 	private Integer noteObjectType;
 
-	/**  笔记内容 */
+	/**  绗旇鍐呭 */
 	private String content;
 	
-	/** 共享标志  */
+	/** 鍏变韩鏍囧織  */
 	private boolean shareFlag;
 
-	/**  共享范围 */
+	/**  鍏变韩鑼冨洿 */
 	private Integer shareScope;
 	
-	/**  笔记拥有者ID */
+	/**  绗旇鎷ユ湁鑰匢D */
 	private String userId;
 
-	/**  笔记拥有者姓名 */
+	/**  绗旇鎷ユ湁鑰呭鍚� */
 	private String userName;
 	
-	/**  笔记拥有者头像 */
+	/**  绗旇鎷ユ湁鑰呭ご鍍� */
 	private String userImg;
 	
-	/**  笔记时间 */
+	/**  绗旇鏃堕棿 */
 	private Date noteTime;
 	
-	/**  总个数  */
+	/**  鎬讳釜鏁�  */
 	private Integer allCount;
 
 	public String getNoteId() {
diff --git a/src/main/java/com/qxueyou/scc/school/model/viewvo/SchSemesterViewVO.java b/src/main/java/com/qxueyou/scc/school/model/viewvo/SchSemesterViewVO.java
index e755794..c27a9e2 100644
--- a/src/main/java/com/qxueyou/scc/school/model/viewvo/SchSemesterViewVO.java
+++ b/src/main/java/com/qxueyou/scc/school/model/viewvo/SchSemesterViewVO.java
@@ -3,7 +3,7 @@
 import java.io.Serializable;
 
 /**
- * 课表:   学期 组装VO   提供给app接口使用
+ * 璇捐〃锛�   瀛︽湡 缁勮VO   鎻愪緵缁檃pp鎺ュ彛浣跨敤
  * @author ody.yuan
  *
  */
@@ -14,19 +14,19 @@
 	 */
 	private static final long serialVersionUID = 8477677566169747902L;
 	
-	/** 第几学期,排序 */
+	/** 绗嚑瀛︽湡锛屾帓搴� */
 	private Integer termIndex ;
 
 	/** ID */
 	private String termId ;
 	
-	/** 开始时间 */
+	/** 寮�濮嬫椂闂� */
 	private long startTime ;
 	
-	/** 结束时间 */
+	/** 缁撴潫鏃堕棿 */
 	private long endTime ;
 	
-	/** 总共多少周 */
+	/** 鎬诲叡澶氬皯鍛� */
 	private Integer weekNumbers ;
 
 	public Integer getTermIndex() {
diff --git a/src/main/java/com/qxueyou/scc/school/model/viewvo/SchStudentScheduleViewVO.java b/src/main/java/com/qxueyou/scc/school/model/viewvo/SchStudentScheduleViewVO.java
index b023fc2..4283590 100644
--- a/src/main/java/com/qxueyou/scc/school/model/viewvo/SchStudentScheduleViewVO.java
+++ b/src/main/java/com/qxueyou/scc/school/model/viewvo/SchStudentScheduleViewVO.java
@@ -4,7 +4,7 @@
 import java.util.Date;
 
 /**
- * 学生 课表组装VO   提供给app接口使用
+ * 瀛︾敓 璇捐〃缁勮VO   鎻愪緵缁檃pp鎺ュ彛浣跨敤
  * @author ody.yuan
  *
  */
@@ -15,60 +15,60 @@
 	 */
 	private static final long serialVersionUID = -2825937229558844909L;
 	
-	/** 课表基础信息  */
+	/** 璇捐〃鍩虹淇℃伅  */
 	
-	/** 第几节课,排序 */
+	/** 绗嚑鑺傝锛屾帓搴� */
 	private Integer lessonIndex ;
 	
-	/** 课程主键 */
+	/** 璇剧▼涓婚敭 */
 	private String lessonId;
 	
-	/** 班级ID */
+	/** 鐝骇ID */
 	private String classId;
 
-	/** 上课内容,简介 */
+	/** 涓婅鍐呭锛岀畝浠� */
 	private String content;
 	
-	/** 课程名称*/
+	/** 璇剧▼鍚嶇О*/
 	private String name;
 
-	/** 地址 */
+	/** 鍦板潃 */
 	private String address;
 
-	/** 结束时间 */
+	/** 缁撴潫鏃堕棿 */
 	private Date endTime;
 
-	/** 开始时间 */
+	/** 寮�濮嬫椂闂� */
 	private Date startTime;
 	
-	/** 课程图片路径  */
+	/** 璇剧▼鍥剧墖璺緞  */
 	private String imgPath;
 	
 	
-	/** 课表组装信息  */
+	/** 璇捐〃缁勮淇℃伅  */
 	
-	/** 上课日期 */
+	/** 涓婅鏃ユ湡 */
 	private String classDate;
 	
-	/** 普通:上课时间段开始  */
+	/** 鏅�氾細涓婅鏃堕棿娈靛紑濮�  */
 	private String timeBucketStart;
 	
-	/** 普通:上课时间段结束  */
+	/** 鏅�氾細涓婅鏃堕棿娈电粨鏉�  */
 	private String timeBucketEnd;
 	
-	/** 星期几  */
+	/** 鏄熸湡鍑�  */
 	private String weekDay;
 	
-	/** 状态 0 未上课   1 上课中  2 已上课 */
+	/** 鐘舵�� 0 鏈笂璇�   1 涓婅涓�  2 宸蹭笂璇� */
 	private short status;
 	
-	/** 背景色:R,G,B,A   rgb三原色+透明度  166,0,0,255   */
+	/** 鑳屾櫙鑹�:R,G,B,A   rgb涓夊師鑹�+閫忔槑搴�  166,0,0,255   */
 	private String lessonColor ;
 	
-	/** 课程时间 高校  :  某天的第几节课开始 */
+	/** 璇剧▼鏃堕棿 楂樻牎  锛�  鏌愬ぉ鐨勭鍑犺妭璇惧紑濮� */
 	private Integer dayStartIndex ;
 	
-	/** 课程时间 高校  :  某天的第几节课结束 */
+	/** 璇剧▼鏃堕棿 楂樻牎  锛�  鏌愬ぉ鐨勭鍑犺妭璇剧粨鏉� */
 	private Integer dayEndIndex ;
 
 	public Integer getLessonIndex() {
diff --git a/src/main/java/com/qxueyou/scc/school/model/viewvo/SchWeekScheduleViewVO.java b/src/main/java/com/qxueyou/scc/school/model/viewvo/SchWeekScheduleViewVO.java
index e8c231d..e1bc953 100644
--- a/src/main/java/com/qxueyou/scc/school/model/viewvo/SchWeekScheduleViewVO.java
+++ b/src/main/java/com/qxueyou/scc/school/model/viewvo/SchWeekScheduleViewVO.java
@@ -4,7 +4,7 @@
 import java.util.List;
 
 /**
- * 学生 周课表组装VO   提供给app接口使用
+ * 瀛︾敓 鍛ㄨ琛ㄧ粍瑁匳O   鎻愪緵缁檃pp鎺ュ彛浣跨敤
  * @author ody.yuan
  *
  */
@@ -15,10 +15,10 @@
 	 */
 	private static final long serialVersionUID = 6136166308539114271L;
 	
-	/** 周课表索引 */
+	/** 鍛ㄨ琛ㄧ储寮� */
 	private Integer weekScheduleIndex ;
 	
-	/** 周课表*/
+	/** 鍛ㄨ琛�*/
 	private List<SchStudentScheduleViewVO> lstStudentSchedule;
 
 	public Integer getWeekScheduleIndex() {
diff --git a/src/main/java/com/qxueyou/scc/school/model/viewvo/SchYearViewVO.java b/src/main/java/com/qxueyou/scc/school/model/viewvo/SchYearViewVO.java
index c55ee33..6b9e9c1 100644
--- a/src/main/java/com/qxueyou/scc/school/model/viewvo/SchYearViewVO.java
+++ b/src/main/java/com/qxueyou/scc/school/model/viewvo/SchYearViewVO.java
@@ -4,7 +4,7 @@
 import java.util.List;
 
 /**
- * 课表:  学年 组装VO   提供给app接口使用
+ * 璇捐〃锛�  瀛﹀勾 缁勮VO   鎻愪緵缁檃pp鎺ュ彛浣跨敤
  * @author ody.yuan
  *
  */
@@ -15,19 +15,19 @@
 	 */
 	private static final long serialVersionUID = -6950974079708097252L;
 
-	/** 学年ID */
+	/** 瀛﹀勾ID */
 	private String yearId ;
 	
-	/** 第几学年,排序 */
+	/** 绗嚑瀛﹀勾锛屾帓搴� */
 	private Integer yearIndex ;
 	
-	/** 开始年 */
+	/** 寮�濮嬪勾 */
 	private Integer startYear ;
 	
-	/** 结束年 */
+	/** 缁撴潫骞� */
 	private Integer endYear ;
 	
-	/** 学年下有多少个学期 */
+	/** 瀛﹀勾涓嬫湁澶氬皯涓鏈� */
 	List<SchSemesterViewVO> lstSemester ;
 
 	public Integer getYearIndex() {
diff --git a/src/main/java/com/qxueyou/scc/school/service/IArticleService.java b/src/main/java/com/qxueyou/scc/school/service/IArticleService.java
index f6a4e23..b509b20 100644
--- a/src/main/java/com/qxueyou/scc/school/service/IArticleService.java
+++ b/src/main/java/com/qxueyou/scc/school/service/IArticleService.java
@@ -8,7 +8,7 @@
 import com.qxueyou.scc.school.model.SchArticle;
 
 /**
- * 文章接口
+ * 鏂囩珷鎺ュ彛
  * 
  * @author zhiyong
  *
@@ -16,7 +16,7 @@
 public interface IArticleService {
 	
 	/**
-	 * 查询列表数据
+	 * 鏌ヨ鍒楄〃鏁版嵁
 	 * 
 	 * @param type
 	 * @return
@@ -24,21 +24,21 @@
 	List<SchArticle> queryClassListData();
 	
 	/**
-	 * 查询科目文章list
+	 * 鏌ヨ绉戠洰鏂囩珷list
 	 * @param collegeCourseId
 	 * @return
 	 */
 	List<Map<String, Object>> queryArticleOrgLst(String collegeCourseId, String subjectId);
 	 
 	/**
-	 * 查询基本信息
+	 * 鏌ヨ鍩烘湰淇℃伅
 	 * @param articleId
 	 * @return
 	 */
 	Result queryInfo(String articleId);
 	
 	/**
-	 * 新增或更新列表数据 班级
+	 * 鏂板鎴栨洿鏂板垪琛ㄦ暟鎹� 鐝骇
 	 * 
 	 * @param articleId
 	 * @param name
@@ -47,21 +47,21 @@
 	Result updateArticle(SchArticle article);
 	
 	/**
-	 * 新增或更新列表数据  机构
+	 * 鏂板鎴栨洿鏂板垪琛ㄦ暟鎹�  鏈烘瀯
 	 * 
 	 * @return
 	 */
 	Result updateOrgArticle(SchArticle article, String collegeCourseId);
 	
 	/**
-	 * 删除文章
+	 * 鍒犻櫎鏂囩珷
 	 * @param articleIds
 	 * @return
 	 */
 	Result deleteArticle(String articleIds);
 	
 	/**
-	 * 排序
+	 * 鎺掑簭
 	 * 
 	 * @param ids
 	 * @param index
@@ -70,7 +70,7 @@
 	Result doitemOrder(List<String> ids,  List<Integer> index);
 	
 	/**
-	 * 删除机构文章信息
+	 * 鍒犻櫎鏈烘瀯鏂囩珷淇℃伅
 	 * @param articleIds
 	 * @param delAll
 	 * @param orgIds
@@ -79,7 +79,7 @@
 	Result deleteOrgArticleIds(String[] articleIds, Integer delAll, String orgIds[], String classIds[]);
 	
 	/**
-	 * 下发机构文件
+	 * 涓嬪彂鏈烘瀯鏂囦欢
 	 * @param articleId
 	 * @param orgId
 	 * @param classIds
@@ -89,7 +89,7 @@
 	Result insertAppointArticle(String articleId[], String orgId[], String classIds[], String collegeCourseId);
 	
 	/**
-	 * 获取文章列表
+	 * 鑾峰彇鏂囩珷鍒楄〃
 	 * 
 	 * @param pager
 	 * @return
@@ -97,7 +97,7 @@
 	public Result articleList(Pager pager, String sortType, String sortField, String collegeCourseId, String subjectId);
 	
 	/**
-	 * 点赞
+	 * 鐐硅禐
 	 * 
 	 * @param msgId
 	 * @return
@@ -105,7 +105,7 @@
 	public Result doLike(String commentId);
 	
 	/**
-	 * 删除评论
+	 * 鍒犻櫎璇勮
 	 * 
 	 * @param msgId
 	 * @param commentId
@@ -114,7 +114,7 @@
 	public Result deleteComment(String articleId, String commentId);
 	
 	/**
-	 * 评论列表
+	 * 璇勮鍒楄〃
 	 * 
 	 * @param articleId
 	 * @return
@@ -122,7 +122,7 @@
 	public Result commentList(String articleId);
 	
 	/**
-	 * 评论
+	 * 璇勮
 	 * 
 	 * @param msgId
 	 * @param content
@@ -132,7 +132,7 @@
 	public Result addComment(String articleId, String content, String parentCommentId);
 	
 	/**
-	 * 观看进度
+	 * 瑙傜湅杩涘害
 	 * 
 	 * @param articleId
 	 * @param compDegree
@@ -141,7 +141,7 @@
 	public Result doSubmitSchedule(String articleId, double compDegree);
 	
 	/**
-	 * 保存文章接口
+	 * 淇濆瓨鏂囩珷鎺ュ彛
 	 * 
 	 * @param article
 	 * @return
diff --git a/src/main/java/com/qxueyou/scc/school/service/IClassCardService.java b/src/main/java/com/qxueyou/scc/school/service/IClassCardService.java
index 56ae805..c5f01c9 100644
--- a/src/main/java/com/qxueyou/scc/school/service/IClassCardService.java
+++ b/src/main/java/com/qxueyou/scc/school/service/IClassCardService.java
@@ -8,14 +8,14 @@
 import com.qxueyou.scc.school.model.SchSign;
 
 /**
- * 听课证接口
+ * 鍚璇佹帴鍙�
  * @author Delin
  *
  */
 public interface IClassCardService {
 	
 	/**
-	 * 保存听课证信息
+	 * 淇濆瓨鍚璇佷俊鎭�
 	 * @param classCard
 	 * @param templetData
 	 * @return
@@ -23,19 +23,19 @@
 	Result doSaveClassCard(SchClassCard classCard,String templetData);
 	
 	/**
-	 * 读取听课证信息
+	 * 璇诲彇鍚璇佷俊鎭�
 	 * @return
 	 */
 	Map<String,Object> readClassCard();
 	
 	/**
-	 * 获取显示头像的字段
+	 * 鑾峰彇鏄剧ず澶村儚鐨勫瓧娈�
 	 * @return
 	 */
 	List<Map<String,String>> getHeadimgField();
 	
 	/**
-	 * 获取用户头像
+	 * 鑾峰彇鐢ㄦ埛澶村儚
 	 * 
 	 * @param userId
 	 * @param classId
@@ -45,7 +45,7 @@
 	String getUserHeadimg(String userId, String classId);
 	
 	/**
-	 * 提交签到
+	 * 鎻愪氦绛惧埌
 	 * @param sign
 	 * @param userId
 	 * @return
@@ -53,21 +53,21 @@
 	Result doSubmitSign(SchSign sign,String userId);
 	
 	/**
-	 * 获取签到
+	 * 鑾峰彇绛惧埌
 	 * @param signId
 	 * @return
 	 */
 	SchSign getSchSign(String signId);
 	
 	/**
-	 * 获取听课证
+	 * 鑾峰彇鍚璇�
 	 * @param signId
 	 * @return
 	 */
 	SchClassCard getSchClassCard(String classId);
 	
 	/**
-	 * 获取用户所有的听课证
+	 * 鑾峰彇鐢ㄦ埛鎵�鏈夌殑鍚璇�
 	 * 
 	 * @param userId
 	 * @return
diff --git a/src/main/java/com/qxueyou/scc/school/service/IClassCircleService.java b/src/main/java/com/qxueyou/scc/school/service/IClassCircleService.java
index 924e0fa..14e8d42 100644
--- a/src/main/java/com/qxueyou/scc/school/service/IClassCircleService.java
+++ b/src/main/java/com/qxueyou/scc/school/service/IClassCircleService.java
@@ -5,14 +5,14 @@
 import com.qxueyou.scc.school.model.SchClassCircleMsg;
 
 /**
- * 课程、视频、讲义记录传播轨迹service
+ * 璇剧▼銆佽棰戙�佽涔夎褰曚紶鎾建杩箂ervice
  * 
  * @author lihanqi
  *
  */
 public interface IClassCircleService {
 	/**
-	 * 获取朋友圈
+	 * 鑾峰彇鏈嬪弸鍦�
 	 * 
 	 * @param pager
 	 * @return
@@ -20,7 +20,7 @@
 	public Result doGetMsgList(Pager pager);
 	
 	/**
-	 * 发朋友圈
+	 * 鍙戞湅鍙嬪湀
 	 * 
 	 * @param userId
 	 * @return
@@ -28,7 +28,7 @@
 	public Result addMsg(SchClassCircleMsg classCircleMsg);
 	
 	/**
-	 * 点赞
+	 * 鐐硅禐
 	 * 
 	 * @param msgId
 	 * @return
@@ -36,7 +36,7 @@
 	public Result doLike(String msgId);
 	
 	/**
-	 * 点赞
+	 * 鐐硅禐
 	 * 
 	 * @param msgId
 	 * @return
@@ -45,7 +45,7 @@
 	
 	
 	/**
-	 * 删除评论
+	 * 鍒犻櫎璇勮
 	 * 
 	 * @param msgId
 	 * @param commentId
@@ -54,7 +54,7 @@
 	public Result deleteComment(String msgId, String commentId);
 	
 	/**
-	 * 评论
+	 * 璇勮
 	 * 
 	 * @param msgId
 	 * @param content
@@ -64,7 +64,7 @@
 	public Result addComment(String msgId, String content, String parentCommentId);
 	
 	/**
-	 * 新增文件
+	 * 鏂板鏂囦欢
 	 * 
 	 * @param filesJson
 	 * @param fileType
@@ -73,7 +73,7 @@
 	public Result addFile(String filesJson, String msgId, String fileType);
 	
 	/**
-	 * 获取消息的评论图片和文件
+	 * 鑾峰彇娑堟伅鐨勮瘎璁哄浘鐗囧拰鏂囦欢
 	 * 
 	 * @param objSchClassCircleMsg
 	 * @return
@@ -81,7 +81,7 @@
 	public SchClassCircleMsg packageMsg(SchClassCircleMsg objSchClassCircleMsg);
 	
 	/**
-	 * 删除文件
+	 * 鍒犻櫎鏂囦欢
 	 * 
 	 * @param filesJson
 	 * @param fileType
diff --git a/src/main/java/com/qxueyou/scc/school/service/ICourseWareService.java b/src/main/java/com/qxueyou/scc/school/service/ICourseWareService.java
index f4a4d4d..0203cf0 100644
--- a/src/main/java/com/qxueyou/scc/school/service/ICourseWareService.java
+++ b/src/main/java/com/qxueyou/scc/school/service/ICourseWareService.java
@@ -9,7 +9,7 @@
 import com.qxueyou.scc.base.model.Result;
 
 /**
- * 课件管理
+ * 璇句欢绠$悊
  * 
  * @author lihanqi
  *
@@ -17,7 +17,7 @@
 public interface ICourseWareService {
 	
 	/**
-	 * 新增章节
+	 * 鏂板绔犺妭
 	 * 
 	 * @param name
 	 * @param parentChapterId
@@ -26,7 +26,7 @@
 	Result addOrUpdateChapter(String chapterId, String subjectId, String name, String parentChapterId);
 	
 	/**
-	 * 删除章节
+	 * 鍒犻櫎绔犺妭
 	 * 
 	 * @param chapterId
 	 * @return
@@ -34,31 +34,31 @@
 	Result deleteChapter(String[] chapterIds);
 	
 	/**
-	 * 拷贝课件
+	 * 鎷疯礉璇句欢
 	 * 
-	 * @param type 课件类型
-	 * @param id 主键
-	 * @param subjectId 课程
-	 * @param collegeCourseId 科目
-	 * @param chapterId 章节
+	 * @param type 璇句欢绫诲瀷
+	 * @param id 涓婚敭
+	 * @param subjectId 璇剧▼
+	 * @param collegeCourseId 绉戠洰
+	 * @param chapterId 绔犺妭
 	 * @return
 	 */
 	Result doCopyCourseware(String type, String id, String subjectId, String collegeCourseId, String chapterId);
 	
 	/**
-	 * 移动课件
+	 * 绉诲姩璇句欢
 	 * 
-	 * @param type 课件类型
-	 * @param id 主键
-	 * @param subjectId 课程
-	 * @param collegeCourseId 科目
-	 * @param chapterId 章节
+	 * @param type 璇句欢绫诲瀷
+	 * @param id 涓婚敭
+	 * @param subjectId 璇剧▼
+	 * @param collegeCourseId 绉戠洰
+	 * @param chapterId 绔犺妭
 	 * @return
 	 */
 	Result doMoveCourseware(String type, String id, String subjectId, String collegeCourseId, String chapterId);
 	
 	/**
-	 * 删除课件
+	 * 鍒犻櫎璇句欢
 	 * 
 	 * @param types
 	 * @param ids
@@ -70,7 +70,7 @@
 	Result deleteCourseware(String[] types, String[] ids, Integer delAll, String orgIds[], String classIds[]);
 	
 	/**
-	 * 下发课件
+	 * 涓嬪彂璇句欢
 	 * 
 	 * @param types
 	 * @param ids
@@ -81,7 +81,7 @@
 	Result doAppointCourseware(String[] types, String[] ids, String orgIds[], String classIds[], String collegeCourseId);
 	
 	/**
-	 * 查询已下发的班级
+	 * 鏌ヨ宸蹭笅鍙戠殑鐝骇
 	 * 
 	 * @param types
 	 * @param ids
@@ -90,7 +90,7 @@
 	Result findAlready(String[] types, String[] ids);
 	
 	/**
-	 * 课件树排序
+	 * 璇句欢鏍戞帓搴�
 	 * 
 	 * @param ids
 	 * @param type
@@ -100,7 +100,7 @@
 	Result doOrder(String[] ids, String type, String parentId);
 	
 	/**
-	 * 删除课件
+	 * 鍒犻櫎璇句欢
 	 * 
 	 * @param types
 	 * @param ids
@@ -109,19 +109,19 @@
 	public Result deleteClassCourseware(String[] types, String[] ids);
 	
 	/**
-	 * 拷贝课件
+	 * 鎷疯礉璇句欢
 	 * 
-	 * @param type 课件类型
-	 * @param id 主键
-	 * @param subjectId 课程
-	 * @param collegeCourseId 科目
-	 * @param chapterId 章节
+	 * @param type 璇句欢绫诲瀷
+	 * @param id 涓婚敭
+	 * @param subjectId 璇剧▼
+	 * @param collegeCourseId 绉戠洰
+	 * @param chapterId 绔犺妭
 	 * @return
 	 */
 	public Result doCopyClassCourseware(String type, String id, String subjectId, String chapterId);
 	
 	/**
-	 * 发布和停用
+	 * 鍙戝竷鍜屽仠鐢�
 	 * 
 	 * @param types
 	 * @param ids
@@ -131,17 +131,17 @@
 	public Result updateStatus(String[] types, String[] ids, int status);
 	
 	/**
-	 * 删除课程和章节级联删除课件
+	 * 鍒犻櫎璇剧▼鍜岀珷鑺傜骇鑱斿垹闄よ浠�
 	 *  
-	 * @param subjectId 机构课程id
-	 * @param chapterId 章节id
-	 * @param classSubjectId 班级课程id
+	 * @param subjectId 鏈烘瀯璇剧▼id
+	 * @param chapterId 绔犺妭id
+	 * @param classSubjectId 鐝骇璇剧▼id
 	 * @return
 	 */
 	public Result deleteCourseWare(String subjectId, String chapterId);
 	
 	/**
-	 * 同步更新课件课程名称
+	 * 鍚屾鏇存柊璇句欢璇剧▼鍚嶇О
 	 * 
 	 * @param subjectId
 	 * @param subjectName
@@ -150,7 +150,7 @@
 	public Result updateCourseWare(String subjectId, String subjectName);
 	
 	/**
-	 * 下发课件到子机构
+	 * 涓嬪彂璇句欢鍒板瓙鏈烘瀯
 	 * 
 	 * @param id
 	 * @param sourceOrgId
@@ -161,7 +161,7 @@
 	public Result insertOrgCourseware(String id, String sourceOrgId, String targetOrgId, String collegeCourseId);
 	
 	/**
-	 * 撤回
+	 * 鎾ゅ洖
 	 * 
 	 * @param id
 	 * @param orgId
@@ -170,7 +170,7 @@
 	public Result deleteOrgCourseware(String id, String orgId);
 	
 	/**
-	 * 设置学分
+	 * 璁剧疆瀛﹀垎
 	 * @param id
 	 * @param score
 	 * @return
@@ -178,7 +178,7 @@
 	public Result updateCoursewareScore(String id ,int score) ;
 
 	/**
-	 * 查找课件
+	 * 鏌ユ壘璇句欢
 	 * @param id 
 	 * @param type
 	 * @return
@@ -186,7 +186,7 @@
 	public List<Map<String, Object>> queryCourseware(String id, String type);
 	
 	/**
-	 * 更新课件的学分值
+	 * 鏇存柊璇句欢鐨勫鍒嗗��
 	 * @param coursewareId
 	 * @return
 	 */
@@ -194,7 +194,7 @@
 	
 	
 	/**
-	 * 获取排序
+	 * 鑾峰彇鎺掑簭
 	 * 
 	 * @param isOrg
 	 * @param subjectId
diff --git a/src/main/java/com/qxueyou/scc/school/service/IDocdealMsgSenderService.java b/src/main/java/com/qxueyou/scc/school/service/IDocdealMsgSenderService.java
index 9086162..bd293fe 100644
--- a/src/main/java/com/qxueyou/scc/school/service/IDocdealMsgSenderService.java
+++ b/src/main/java/com/qxueyou/scc/school/service/IDocdealMsgSenderService.java
@@ -3,8 +3,8 @@
 import com.qxueyou.scc.base.model.Result;
 
 /**
- * 发送新文档处理消息
- * @author 德虎
+ * 鍙戦�佹柊鏂囨。澶勭悊娑堟伅
+ * @author 寰疯檸
  *
  */
 public interface IDocdealMsgSenderService {
diff --git a/src/main/java/com/qxueyou/scc/school/service/IHandoutService.java b/src/main/java/com/qxueyou/scc/school/service/IHandoutService.java
index a8549cd..a3b9a8a 100644
--- a/src/main/java/com/qxueyou/scc/school/service/IHandoutService.java
+++ b/src/main/java/com/qxueyou/scc/school/service/IHandoutService.java
@@ -15,23 +15,23 @@
 public interface IHandoutService {
 
 	/**
-	 * 新增讲义
-	 * @param file 讲义文件
-	 * @param handout 讲义vo对象
-	 * @return 新增结果
+	 * 鏂板璁蹭箟
+	 * @param file 璁蹭箟鏂囦欢
+	 * @param handout 璁蹭箟vo瀵硅薄
+	 * @return 鏂板缁撴灉
 	 */
 	Result insertHandout(String fullPath, String module,SchHandout handout);
 	
 	/**
-	 * 机构新增讲义
-	 * @param file 讲义文件
-	 * @param handout 讲义vo对象
-	 * @return 新增结果
+	 * 鏈烘瀯鏂板璁蹭箟
+	 * @param file 璁蹭箟鏂囦欢
+	 * @param handout 璁蹭箟vo瀵硅薄
+	 * @return 鏂板缁撴灉
 	 */
 	Result insertOrgHandout(String fullPath, String module,SchHandout handout,String collegeCourseId);
 	
 	/**
-	 * 编辑讲义
+	 * 缂栬緫璁蹭箟
 	 * @param handoutId
 	 * @param handoutName
 	 * @param subjectId
@@ -41,14 +41,14 @@
 	Result doEditHandout(SchHandout handout,String type);
 
 	/**
-	 * 批量删除讲义
-	 * @param handoutIds 讲义id的数组
-	 * @return 操作结果
+	 * 鎵归噺鍒犻櫎璁蹭箟
+	 * @param handoutIds 璁蹭箟id鐨勬暟缁�
+	 * @return 鎿嶄綔缁撴灉
 	 */
 	Result deleteHandouts(String[] handoutIds);
 	
 	/**
-	 * 批量删除机构讲义
+	 * 鎵归噺鍒犻櫎鏈烘瀯璁蹭箟
 	 * @param handoutIds
 	 * @param delAll
 	 * @param orgIds
@@ -58,21 +58,21 @@
 	Result deleteOrgHandouts(String[] handoutIds, Integer delAll, String orgIds[], String classIds[]);
 
 	/**
-	 * 批量启动讲义
-	 * @param handoutIds 讲义id的数组
-	 * @return 操作结果
+	 * 鎵归噺鍚姩璁蹭箟
+	 * @param handoutIds 璁蹭箟id鐨勬暟缁�
+	 * @return 鎿嶄綔缁撴灉
 	 */
 	Result doStartHandouts(String handoutIds);
 
 	/**
-	 * 批量停止讲义
-	 * @param handoutIds 讲义id的数组
-	 * @return 操作结果
+	 * 鎵归噺鍋滄璁蹭箟
+	 * @param handoutIds 璁蹭箟id鐨勬暟缁�
+	 * @return 鎿嶄綔缁撴灉
 	 */
 	Result doStopHandouts(String[] handoutIds);
 	
 	/**
-	 * 插入历史讲义
+	 * 鎻掑叆鍘嗗彶璁蹭箟
 	 * @param handout
 	 * @param oldHandoutId
 	 * @return
@@ -80,7 +80,7 @@
 	Result insertChooseHandout(SchHandout handout,String oldHandoutId);
 	
 	/**
-	 * 查询讲义列表
+	 * 鏌ヨ璁蹭箟鍒楄〃
 	 * @param hql
 	 * @param args
 	 * @return
@@ -88,14 +88,14 @@
 	List<SchHandout> schHandoutList(int type,final String hql, final Pager page, final List<Object> args);
 	
 	/**
-	 * 批量操作讲义收藏记录
+	 * 鎵归噺鎿嶄綔璁蹭箟鏀惰棌璁板綍
 	 * @param lstFavor
 	 * @return
 	 */
 	Result doOperHandoutFavorDataBatch(List<SchHandoutPageFavor> lstFavor);
 	
 	/**
-	 * 后台获取列表数据
+	 * 鍚庡彴鑾峰彇鍒楄〃鏁版嵁
 	 * @param sql
 	 * @param args
 	 * @return
@@ -103,7 +103,7 @@
 	List<SchHandout> queryDataList(String sql,List<Object> args);
 	
 	/**
-	 * 查询选择班级下历史讲义
+	 * 鏌ヨ閫夋嫨鐝骇涓嬪巻鍙茶涔�
 	 * @param hql
 	 * @param args
 	 * @return
@@ -111,21 +111,21 @@
 	List<SchHandout> queryChooseHandoutList(String sql, List<Object> args);
 	
 	/**
-	 * 使用jacob另存为图片,需要测试多个请求同时调用情况
-	 * 1.office2013报错,但是用office2013另存為效果最好
-	 * 2.office2007解析不完美,字体偏粗,边上有较明显锯齿,可以用jacob調用
-	 * 3.office2010解析基本正常,但是较于office2013,大字体和边框会有非常少量锯齿(推荐使用)
+	 * 浣跨敤jacob鍙﹀瓨涓哄浘鐗�,闇�瑕佹祴璇曞涓姹傚悓鏃惰皟鐢ㄦ儏鍐�
+	 * 1.office2013鎶ラ敊锛屼絾鏄敤office2013鍙﹀瓨鐐烘晥鏋滄渶濂�
+	 * 2.office2007瑙f瀽涓嶅畬缇庯紝瀛椾綋鍋忕矖锛岃竟涓婃湁杈冩槑鏄鹃敮榻�,鍙互鐢╦acob瑾跨敤
+	 * 3.office2010瑙f瀽鍩烘湰姝e父锛屼絾鏄緝浜巓ffice2013锛屽ぇ瀛椾綋鍜岃竟妗嗕細鏈夐潪甯稿皯閲忛敮榻匡紙鎺ㄨ崘浣跨敤锛�
 	 * 
-	 * info:服务器推荐使用office2010,jacob.jar包更新后如果支持office2013,测试哪个版本会效果更好,可以替换服务器office版本
+	 * info锛氭湇鍔″櫒鎺ㄨ崘浣跨敤office2010锛宩acob.jar鍖呮洿鏂板悗濡傛灉鏀寔office2013锛屾祴璇曞摢涓増鏈細鏁堟灉鏇村ソ锛屽彲浠ユ浛鎹㈡湇鍔″櫒office鐗堟湰
 	 * 
-	 * @param file ppt文件
+	 * @param file ppt鏂囦欢
 	 * @param docPath docPath
 	 * @return
 	 */
 	List<SchHandoutPage> convertPPTToJPG(File file,String docPath, String handoutId);
 	
 	/**
-	 * docdeal 消息队列调用
+	 * docdeal 娑堟伅闃熷垪璋冪敤
 	 * @param docPath
 	 * @param handoutId
 	 * @return
@@ -133,7 +133,7 @@
 	Result insertHandoutPages(String docPath,String handoutId,String uploadModule,String userId,String type);
 	
 	/**
-	 * 旋转讲义图片
+	 * 鏃嬭浆璁蹭箟鍥剧墖
 	 * @param angle
 	 * @param handoutPageId
 	 * @return
@@ -141,68 +141,68 @@
 	Result doRotatePic(String angle, String handoutPageId);
 	
 	/**
-	 * 查询讲义
-	 * @param keyWord   查询关键字
+	 * 鏌ヨ璁蹭箟
+	 * @param keyWord   鏌ヨ鍏抽敭瀛�
 	 * @return
 	 */
 	List<SchHandout> queryHandoutByKeyWord(String keyWord);
 
 	/**
-	 * 获取讲义列表数据
+	 * 鑾峰彇璁蹭箟鍒楄〃鏁版嵁
 	 * 
 	 * @return
 	 */
 	List<Map<String, Object>> handoutLst(String tid);
 	
 	/**
-	 * 获取机构讲义列表数据
+	 * 鑾峰彇鏈烘瀯璁蹭箟鍒楄〃鏁版嵁
 	 * 
 	 * @return
 	 */
 	List<Map<String, Object>> handoutOrgLst(String collegeCourseId, String subjectId);
 	/**
-	 * 指定讲义
+	 * 鎸囧畾璁蹭箟
 	 * */
 	Result insertAppointHandout(String handoutId[],String orgId[],String classIds[],String collegeCourseId);
 	
 	/**
-	 * 更新讲义观看量
+	 * 鏇存柊璁蹭箟瑙傜湅閲�
 	 * 
 	 */
 	Result updatePlayCount(String handoutId);
 	
 	
 	/**
-	 * 插入讲义观看记录(新版)
+	 * 鎻掑叆璁蹭箟瑙傜湅璁板綍(鏂扮増)
 	 * 
 	 */
 	Result insertplayRecordNew(SchHandoutRecord record,String pageNums);
 	
 	
 	/**
-	 * 插入讲义观看记录
+	 * 鎻掑叆璁蹭箟瑙傜湅璁板綍
 	 * 
 	 */
 	Result insertplayRecord(SchHandoutRecord record,String pageNums);
 	
 	/**
-	 * 讲义上传重复数据处理
+	 * 璁蹭箟涓婁紶閲嶅鏁版嵁澶勭悊
 	 * @param handoutId
 	 * @return
 	 */
 	Result doInitHandoutRepeatData( String handoutId );
 	
 	/**
-	 * 排序
+	 * 鎺掑簭
 	 * 
-	 * @param ids 排序id
-	 * @param index 序号
+	 * @param ids 鎺掑簭id
+	 * @param index 搴忓彿
 	 * @return
 	 */
 	Result doOrder(List<String> ids,  List<Integer> index);
 	
 	/**
-	 * 转码PDF发送消息
+	 * 杞爜PDF鍙戦�佹秷鎭�
 	 * @param handoutId
 	 * @param fullPath
 	 * @param module 
@@ -212,7 +212,7 @@
 	Result sendMsgConvertPDF(String handoutId,String fullPath,String module,String userId);
 	
 	/**
-	 * 拷贝讲义
+	 * 鎷疯礉璁蹭箟
 	 * 
 	 * @param id
 	 * @param subjectId
@@ -223,7 +223,7 @@
 	Result doCopyHandout(String id, String subjectId, String collegeCourseId, String chapterId, String subjectName) throws IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException;
 	
 	/**
-	 * 保存讲义接口
+	 * 淇濆瓨璁蹭箟鎺ュ彛
 	 * 
 	 * @param handout
 	 * @return
@@ -232,7 +232,7 @@
 	
 	
 	/**
-	 * 监管委直接转码
+	 * 鐩戠濮旂洿鎺ヨ浆鐮�
 	 * @param handoutId
 	 * @param fullPath
 	 * @param module
@@ -241,7 +241,7 @@
 	public void doConvertPDF(String handoutId, String fullPath, String module, String userId);
 	
 	/**
-	 * 转码DOC
+	 * 杞爜DOC
 	 * @param docPath
 	 * @param handoutId
 	 * @param uploadModule
diff --git a/src/main/java/com/qxueyou/scc/school/service/IInteractService.java b/src/main/java/com/qxueyou/scc/school/service/IInteractService.java
index 6ec01d7..770ffdf 100644
--- a/src/main/java/com/qxueyou/scc/school/service/IInteractService.java
+++ b/src/main/java/com/qxueyou/scc/school/service/IInteractService.java
@@ -9,7 +9,7 @@
 public interface IInteractService {
 	
 	/**
-	 * 新增互动
+	 * 鏂板浜掑姩
 	 * @param sign
 	 * @return
 	 */
@@ -17,48 +17,48 @@
 	
 	
 	/**
-	 * 删除互动
-	 * @param intractIds 互动id
+	 * 鍒犻櫎浜掑姩
+	 * @param intractIds 浜掑姩id
 	 * @return
 	 */
 	public abstract Result deleteInteracts(String[] intractIds);
 	
 	/**
-	 * 启动互动
-	 * @param intractIds 互动id
+	 * 鍚姩浜掑姩
+	 * @param intractIds 浜掑姩id
 	 * @return
 	 */
 	public abstract Result doStartInteracts(String[] interactIds);
 	
 	/**
-	 * 停止互动
-	 * @param intractIds 互动id
+	 * 鍋滄浜掑姩
+	 * @param intractIds 浜掑姩id
 	 * @return
 	 */
 	public abstract Result doStopInteracts(String[] interactIds);
 	
 	
 	/**
-	 * 操作互动练习答案记录
+	 * 鎿嶄綔浜掑姩缁冧範绛旀璁板綍
 	 * @return
 	 */
 	public abstract Result doOperInteractExerciseAnswer(String interactGroupId, 
 			String exerciseId, String answers, byte corrects,String currTitleNumber);
 	
 	/**
-	 * 操作互动练习答案记录
+	 * 鎿嶄綔浜掑姩缁冧範绛旀璁板綍
 	 * @return
 	 */
 	public abstract Result doOperInteractExerciseAnswerNew(InteractResultData resultData);
 	
 	/**
-	 * 操作互动练习答案记录
+	 * 鎿嶄綔浜掑姩缁冧範绛旀璁板綍
 	 * @return
 	 */
 	public abstract Result doSubmitInteractResult(String interactGroupId);
 	
 	/**
-	 * 查询互动练习结果
+	 * 鏌ヨ浜掑姩缁冧範缁撴灉
 	 * @param hql
 	 * @param args
 	 * @return
@@ -66,7 +66,7 @@
 	public List<Map<String, Object>> queryResultByInteractExer(String hql, List<Object> args);
 	
 	/**
-	 * 查询互动练习结果
+	 * 鏌ヨ浜掑姩缁冧範缁撴灉
 	 * @param hql
 	 * @param args
 	 * @return
diff --git a/src/main/java/com/qxueyou/scc/school/service/ILessonService.java b/src/main/java/com/qxueyou/scc/school/service/ILessonService.java
index 2f18507..97ada84 100644
--- a/src/main/java/com/qxueyou/scc/school/service/ILessonService.java
+++ b/src/main/java/com/qxueyou/scc/school/service/ILessonService.java
@@ -12,28 +12,28 @@
 import com.qxueyou.scc.school.model.SchClassSchedule;
 
 /**
- * 课程相关服务
- * @author 德虎
+ * 璇剧▼鐩稿叧鏈嶅姟
+ * @author 寰疯檸
  *
  */
 public interface ILessonService {
 	
 	/**
-	 * 添加视频
+	 * 娣诲姞瑙嗛
 	 * @param video
 	 * @param lessonId
 	 * @return
 	 */
 	Result insertVideo(MediaVideo video,String lessonId, boolean isCopy);
 	/**
-	 * 机构指定视频
+	 * 鏈烘瀯鎸囧畾瑙嗛
 	 * 
 	 * **/
 	Result insertAppointOrgVideo(String videoIds[],String orgIds[],String classIds[]);
 	
 	
 	/**
-	 * 机构添加视频
+	 * 鏈烘瀯娣诲姞瑙嗛
 	 * @param video
 	 * @param lessonId
 	 * @return
@@ -41,39 +41,39 @@
 	Result insertOrgVideo(MediaVideo video,String collegeCourseId, boolean isCopy);
 
 	/**
-	 * 删除视频
+	 * 鍒犻櫎瑙嗛
 	 * @param videoIds
 	 * @return
 	 */
 	Result deleteVideos(String videoIds);
 	/**
-	 * 编辑视频
+	 * 缂栬緫瑙嗛
 	 * @param video
 	 * @return
 	 */
 	Result updateMediaVideo(MediaVideo video);
 	/**
-	 * 删除机构视频
+	 * 鍒犻櫎鏈烘瀯瑙嗛
 	 * @param videoIds
 	 * @return
 	 */
 	Result deleteOrgVideo(String videoId,Integer delAll,String orgIds[],String classIds[]);
 	
 	/**
-	 * 课程表列表
+	 * 璇剧▼琛ㄥ垪琛�
 	 * @return
 	 */
 	List<SchClassSchedule> queryLessonList(Date monthFirst,Date monthLast);
 	
 	/**
-	 * 课程表列表
-	 * @param classId 课程ID
+	 * 璇剧▼琛ㄥ垪琛�
+	 * @param classId 璇剧▼ID
 	 * @return
 	 */
 	List<SchClassSchedule> queryLessonList(String classId,Date monthFirst,Date monthLast);
 	
 	/**
-	 * 查询课程表记录
+	 * 鏌ヨ璇剧▼琛ㄨ褰�
 	 * @param hql
 	 * @param args
 	 * @return
@@ -81,50 +81,50 @@
 	List<SchClassSchedule> queryAppLessonList(final String hql, final Pager page, final List<Object> args);
 	
 	/**
-	 * 根据
+	 * 鏍规嵁
 	 * @param orgTeacher
 	 * @return
 	 */
 	List<String> queryClassesByTeacher(String orgTeacherId);
 	
 	/**
-	 * 分享课程页面的全部课程表
+	 * 鍒嗕韩璇剧▼椤甸潰鐨勫叏閮ㄨ绋嬭〃
 	 * @param classId
 	 * @return
 	 */
 	Result queryScheduleList(String classId,ModelAndView mv,ClsClass cls);
 	
 	/**
-	 * 发布视频
+	 * 鍙戝竷瑙嗛
 	 * @param videoId
 	 * @return
 	 */
 	Result doStartVideos(String videoIds);
 	
 	/**
-	 * 停用视频
+	 * 鍋滅敤瑙嗛
 	 * @param videoId
 	 * @return
 	 */
 	Result doStopVideos(String videoIds);
 	
 	/**
-	 * 定时发布、停用
+	 * 瀹氭椂鍙戝竷銆佸仠鐢�
 	 */
 	Result doVideoIssueStop();
 	
 	/**
-	 * 单个处理视频发布与上传
+	 * 鍗曚釜澶勭悊瑙嗛鍙戝竷涓庝笂浼�
 	 */
 	Result doSingleVideoIssueStop(String videoId, String operateType);
 	
 	/**
-	 * 添加视频,不调用转码
+	 * 娣诲姞瑙嗛锛屼笉璋冪敤杞爜
 	 */
 	Result insertVideoSingle(MediaVideo video, String lessonId, boolean isCopy);
 	
 	/**
-   	 * 根据直播查询讲师
+   	 * 鏍规嵁鐩存挱鏌ヨ璁插笀
    	 * 
    	 * @param orgTeacherId
    	 * @return
diff --git a/src/main/java/com/qxueyou/scc/school/service/INoteService.java b/src/main/java/com/qxueyou/scc/school/service/INoteService.java
index d4068e0..ca059c5 100644
--- a/src/main/java/com/qxueyou/scc/school/service/INoteService.java
+++ b/src/main/java/com/qxueyou/scc/school/service/INoteService.java
@@ -9,52 +9,52 @@
 import com.qxueyou.scc.school.model.viewvo.SchNoteViewVO;
 
 /**
- * 笔记服务接口
+ * 绗旇鏈嶅姟鎺ュ彛
  * @author ody.yuan
  *
  */
 public interface INoteService {
 	
 	/**
-	 * 添加笔记
+	 * 娣诲姞绗旇
 	 * @param note
 	 * @return
 	 */
 	Result insertOrUpdateNote(SchNote note);
 
 	/**
-	 * 删除某页讲一下的一条笔记
+	 * 鍒犻櫎鏌愰〉璁蹭竴涓嬬殑涓�鏉$瑪璁�
 	 * @param noteIds
 	 * @return
 	 */
 	Result deleteNotes(String noteIds);
 	
 	/**
-	 * 删除某页讲义下的所有笔记
-	 * @param handoutPageId  讲义pageID
-	 * @param strObjectType  笔记对象类型
+	 * 鍒犻櫎鏌愰〉璁蹭箟涓嬬殑鎵�鏈夌瑪璁�
+	 * @param handoutPageId  璁蹭箟pageID
+	 * @param strObjectType  绗旇瀵硅薄绫诲瀷
 	 * @return
 	 */
 	Result deleteAllNotes(String handoutPageId,int strObjectType);
 	
 	/**
-	 * 笔记列表
-	 * @param handoutPageId 讲义pageID
+	 * 绗旇鍒楄〃
+	 * @param handoutPageId 璁蹭箟pageID
 	 * @return
 	 */
 	List<SchNoteViewVO> queryNoteList(String handoutPageId,Pager pager);
 	
 	/**
-	 * 讲义笔记列表
+	 * 璁蹭箟绗旇鍒楄〃
 	 * @param handoutPageId
-	 * @param type (我的讲义笔记:0,同学笔记 :1,全部笔记:2)
+	 * @param type 锛堟垜鐨勮涔夌瑪璁帮細0,鍚屽绗旇 锛�1,鍏ㄩ儴绗旇锛�2锛�
 	 * @return
 	 */
 	List<SchNoteViewVO> queryHandoutNoteList(String handoutPageId,Integer type,Pager pager);
 	
 	/**
-	 * 单个讲义全部笔记列表
-	 * @param type (我的讲义笔记:0,同学笔记 :1,全部笔记:2)
+	 * 鍗曚釜璁蹭箟鍏ㄩ儴绗旇鍒楄〃
+	 * @param type 锛堟垜鐨勮涔夌瑪璁帮細0,鍚屽绗旇 锛�1,鍏ㄩ儴绗旇锛�2锛�
 	 * @return
 	 */
 	List<Map<String,Object>> queryAllHandoutNoteList(Integer type,String handoutId,Pager pager);
diff --git a/src/main/java/com/qxueyou/scc/school/service/IRankService.java b/src/main/java/com/qxueyou/scc/school/service/IRankService.java
index 4119878..9d3e31b 100644
--- a/src/main/java/com/qxueyou/scc/school/service/IRankService.java
+++ b/src/main/java/com/qxueyou/scc/school/service/IRankService.java
@@ -9,57 +9,57 @@
 import com.qxueyou.scc.school.model.SchRankHis;
 
 /**
- * 排名处理服务
- * @author 德虎
+ * 鎺掑悕澶勭悊鏈嶅姟
+ * @author 寰疯檸
  *
  */
 public interface IRankService {
 
 	/**
-	 * 请求更新排名
+	 * 璇锋眰鏇存柊鎺掑悕
 	 * @return 
 	 */
 	Result reqUpdateRankOld(String userId);
 	
 	/**
-	 * 请求更新排名
+	 * 璇锋眰鏇存柊鎺掑悕
 	 * @return 
 	 */
 	Result reqUpdateRank(String userId, String rankType, String scopeType, String scopeId);
 	
 	
 	/**
-	 * 请求班级排名
-	 * @return -1代表还没有名次
+	 * 璇锋眰鐝骇鎺掑悕
+	 * @return -1浠h〃杩樻病鏈夊悕娆�
 	 */
 	int getRankInClass(String userId,String classId);
 	
 	/**
-	 * 请求班级排名
-	 * @return -1代表还没有名次
+	 * 璇锋眰鐝骇鎺掑悕
+	 * @return -1浠h〃杩樻病鏈夊悕娆�
 	 */
 	int getRankInScope(String userId, String rankType, String scopeType, String scopeId);
 	
 	/**
-	 * 请求班级排名列表
+	 * 璇锋眰鐝骇鎺掑悕鍒楄〃
 	 * @return
 	 */
 	List<SchRankHis> getClassRankLst(String classId);
 	
 	/**
-	 * 请求班级排名列表
+	 * 璇锋眰鐝骇鎺掑悕鍒楄〃
 	 * @return
 	 */
 	List<SchRankHis> getClassRankLst(String classId,Pager page);
 	
 	/**
-	 * 请求整个Q学友排名
-	 * @return -1代表还没有名次
+	 * 璇锋眰鏁翠釜Q瀛﹀弸鎺掑悕
+	 * @return -1浠h〃杩樻病鏈夊悕娆�
 	 */
 	int getRankInQxueyou(String userId);
 	
 	/**
-	 * 请求Qxueyou Top 100 排名
+	 * 璇锋眰Qxueyou Top 100 鎺掑悕
 	 * @return
 	 */
 	List<SchRankHis> getQxueyouTopRankLst();
@@ -76,43 +76,43 @@
 	
 	
 	/**
-	 * 请求好友排名
-	 * @return -1代表还没有名次
+	 * 璇锋眰濂藉弸鎺掑悕
+	 * @return -1浠h〃杩樻病鏈夊悕娆�
 	 */
 	int getRankInFriend(String userId);
 	
 	/**
-	 * 请求好友排名列表
+	 * 璇锋眰濂藉弸鎺掑悕鍒楄〃
 	 * @return
 	 */
 	List<SchRankHis> getFriendRankLst(String userId,Pager page);
 	
 	/**
-	 * 指定user 最近num天班级排名状态变化
+	 * 鎸囧畾user 鏈�杩憂um澶╃彮绾ф帓鍚嶇姸鎬佸彉鍖�
 	 */
 	List<Map<String,Object>> getPersonalClassRankTrend(String userId,String classId,Pager page,int num);
 	
 	/**
-	 * 指定user 最近num天全站排名状态变化
+	 * 鎸囧畾user 鏈�杩憂um澶╁叏绔欐帓鍚嶇姸鎬佸彉鍖�
 	 */
 	List<Map<String,Object>> getPersonalQxueyouRankTrend(String userId,Pager page,int num);
 	
 	/**
-	 * 指定user 最近num天好友排名状态变化
+	 * 鎸囧畾user 鏈�杩憂um澶╁ソ鍙嬫帓鍚嶇姸鎬佸彉鍖�
 	 */
 	List<Map<String,Object>> getPersonalFriendRankTrend(String userId,Pager page,int num);
 	
 	/**
-	 * 得到排名数据(班级、好友、全站)排名 及排名上升下降     
+	 * 寰楀埌鎺掑悕鏁版嵁锛堢彮绾с�佸ソ鍙嬨�佸叏绔欙級鎺掑悕 鍙婃帓鍚嶄笂鍗囦笅闄�     
 	 * @return
 	 */
 	Map<String,Object> getScoreRankPageData();
 	
 
 	/**
-	 * 获取用户个人传播大使积分和排名信息
+	 * 鑾峰彇鐢ㄦ埛涓汉浼犳挱澶т娇绉垎鍜屾帓鍚嶄俊鎭�
 	 * 
-	 * @param userId 用户id
+	 * @param userId 鐢ㄦ埛id
 	 * @return
 	 */
 	SchRankHis doGetUserRank(String userId);
diff --git a/src/main/java/com/qxueyou/scc/school/service/ISchoolDayService.java b/src/main/java/com/qxueyou/scc/school/service/ISchoolDayService.java
index 9abb99f..452049e 100644
--- a/src/main/java/com/qxueyou/scc/school/service/ISchoolDayService.java
+++ b/src/main/java/com/qxueyou/scc/school/service/ISchoolDayService.java
@@ -7,7 +7,7 @@
 public interface ISchoolDayService {
 	
 	/**
-	 * 新增作息时间
+	 * 鏂板浣滄伅鏃堕棿
 	 * @param schSchoolDay
 	 * @return
 	 */
@@ -15,14 +15,14 @@
 	
 	
 	/**
-	 * 删除作息时间
+	 * 鍒犻櫎浣滄伅鏃堕棿
 	 * @param schoolDayIds
 	 * @return
 	 */
 	public abstract Result deleteSchoolDay(String[] schoolDayIds);
 	
 	/**
-	 * 新增作息时间明细
+	 * 鏂板浣滄伅鏃堕棿鏄庣粏
 	 * @param schSchoolDayItem
 	 * @return
 	 */
@@ -30,21 +30,21 @@
 	
 	
 	/**
-	 * 删除作息时间明细
+	 * 鍒犻櫎浣滄伅鏃堕棿鏄庣粏
 	 * @param dayItemIds
 	 * @return
 	 */
 	public abstract Result deleteSchoolDayItem(String[] dayItemIds);
 	
 	/**
-	 * 开始时间的回调函数
+	 * 寮�濮嬫椂闂寸殑鍥炶皟鍑芥暟
 	 * startTime
 	 * @return
 	 */
 	Result startCallback(SchSchoolDayItem schoolDayItem);
 
 	/**
-	 * 结束时间的回调函数
+	 * 缁撴潫鏃堕棿鐨勫洖璋冨嚱鏁�
 	 * startTime
 	 * @return
 	 */
diff --git a/src/main/java/com/qxueyou/scc/school/service/ISchoolTermService.java b/src/main/java/com/qxueyou/scc/school/service/ISchoolTermService.java
index a133e1b..ecb700e 100644
--- a/src/main/java/com/qxueyou/scc/school/service/ISchoolTermService.java
+++ b/src/main/java/com/qxueyou/scc/school/service/ISchoolTermService.java
@@ -6,7 +6,7 @@
 public interface ISchoolTermService {
 	
 	/**
-	 * 新增学期
+	 * 鏂板瀛︽湡
 	 * @param schTerm
 	 * @return
 	 */
@@ -14,21 +14,21 @@
 	
 	
 	/**
-	 * 删除学期
+	 * 鍒犻櫎瀛︽湡
 	 * @param termIds
 	 * @return
 	 */
 	public abstract Result deleteSchoolTerm(String[] termIds);
 	
 	/**
-	 * 开始时间的回调函数
+	 * 寮�濮嬫椂闂寸殑鍥炶皟鍑芥暟
 	 * startTime
 	 * @return
 	 */
 	Result startCallback(String termId,String startTime,String shoolYearId);
 
 	/**
-	 * 结束时间的回调函数
+	 * 缁撴潫鏃堕棿鐨勫洖璋冨嚱鏁�
 	 * startTime
 	 * @return
 	 */
diff --git a/src/main/java/com/qxueyou/scc/school/service/ISchoolYearService.java b/src/main/java/com/qxueyou/scc/school/service/ISchoolYearService.java
index c1c72b5..6fea4d4 100644
--- a/src/main/java/com/qxueyou/scc/school/service/ISchoolYearService.java
+++ b/src/main/java/com/qxueyou/scc/school/service/ISchoolYearService.java
@@ -6,7 +6,7 @@
 public interface ISchoolYearService {
 	
 	/**
-	 * 新增学年
+	 * 鏂板瀛﹀勾
 	 * @param schSchoolYear
 	 * @return
 	 */
@@ -14,21 +14,21 @@
 	
 	
 	/**
-	 * 删除学年
+	 * 鍒犻櫎瀛﹀勾
 	 * @param yearIds
 	 * @return
 	 */
 	public abstract Result deleteSchoolYear(String[] yearIds);
 
 	/**
-	 * 开始时间的回调函数
+	 * 寮�濮嬫椂闂寸殑鍥炶皟鍑芥暟
 	 * startTime
 	 * @return
 	 */
 	Result startCallback( SchSchoolYear schSchoolYear);
 
 	/**
-	 * 结束时间的回调函数
+	 * 缁撴潫鏃堕棿鐨勫洖璋冨嚱鏁�
 	 * startTime
 	 * @return
 	 */
diff --git a/src/main/java/com/qxueyou/scc/school/service/IScoreChangeService.java b/src/main/java/com/qxueyou/scc/school/service/IScoreChangeService.java
index 493ad61..d665f02 100644
--- a/src/main/java/com/qxueyou/scc/school/service/IScoreChangeService.java
+++ b/src/main/java/com/qxueyou/scc/school/service/IScoreChangeService.java
@@ -10,7 +10,7 @@
 public interface IScoreChangeService {
 	
 	/**
-	 * 评论被赞积分变动
+	 * 璇勮琚禐绉垎鍙樺姩
 	 * @param userId
 	 * @param businessId
 	 * @return
@@ -18,7 +18,7 @@
 	Result doCommentPraised(String userId,String businessId);
 	
 	/**
-	 * 评论点赞积分变动
+	 * 璇勮鐐硅禐绉垎鍙樺姩
 	 * @param userId
 	 * @param businessId
 	 * @return
@@ -26,7 +26,7 @@
 	Result doCommentPraise(String userId,String businessId);
 	
 	/**
-	 * 提交评论积分变动
+	 * 鎻愪氦璇勮绉垎鍙樺姩
 	 * @param userId
 	 * @param businessId
 	 * @return
@@ -34,7 +34,7 @@
 	Result doComment(String userId,String businessId);
 
 	/**
-	 * 提交纠错积分变动
+	 * 鎻愪氦绾犻敊绉垎鍙樺姩
 	 * @param userId
 	 * @param businessId
 	 * @return
@@ -42,8 +42,8 @@
 	Result doExerCor(String userId,String businessId);
 	
 	/**
-	 * 纠错被处理积分变动
-	 * 一个纠错题可能有多人提交纠错信息,全部增加积分
+	 * 绾犻敊琚鐞嗙Н鍒嗗彉鍔�
+	 * 涓�涓籂閿欓鍙兘鏈夊浜烘彁浜ょ籂閿欎俊鎭紝鍏ㄩ儴澧炲姞绉垎
 	 * 
 	 * @param userId
 	 * @param businessId
@@ -52,8 +52,8 @@
 	Result doExerCorDeal(String userId,String businessId);
 	
 	/**
-	 * 登录积分变动
-	 * 当天首次登录获取积分
+	 * 鐧诲綍绉垎鍙樺姩
+	 * 褰撳ぉ棣栨鐧诲綍鑾峰彇绉垎
 	 * 
 	 * @param userId
 	 * @param businessId
@@ -62,8 +62,8 @@
 	Result doLogin(String userId,String businessId);
 	
 	/**
-	 * 签到积分变动
-	 * 一个签到一天一次增加积分
+	 * 绛惧埌绉垎鍙樺姩
+	 * 涓�涓鍒颁竴澶╀竴娆″鍔犵Н鍒�
 	 * 
 	 * @param userId
 	 * @param businessId
@@ -72,7 +72,7 @@
 	Result doSign(String userId,String businessId);
 	
 	/**
-	 * 问答:发布问题获取积分
+	 * 闂瓟锛氬彂甯冮棶棰樿幏鍙栫Н鍒�
 	 * 
 	 * @param userId
 	 * @param businessId
@@ -81,7 +81,7 @@
 	Result doQANewQuestion(String userId,String businessId);
 	
 	/**
-	 * 问答:问答点赞获取积分
+	 * 闂瓟锛氶棶绛旂偣璧炶幏鍙栫Н鍒�
 	 * 
 	 * @param userId
 	 * @param businessId
@@ -90,7 +90,7 @@
 	Result doQAPraise(String userId,String businessId);
 	
 	/**
-	 * 问答:问答被赞获取积分
+	 * 闂瓟锛氶棶绛旇璧炶幏鍙栫Н鍒�
 	 * 
 	 * @param userId
 	 * @param businessId
@@ -99,7 +99,7 @@
 	Result doQAPraised(String userId,String businessId);
 	
 	/**
-	 * 问答:问答回复获取积分
+	 * 闂瓟锛氶棶绛斿洖澶嶈幏鍙栫Н鍒�
 	 * 
 	 * @param userId
 	 * @param businessId
@@ -108,7 +108,7 @@
 	Result doQACommentReply(String userId,String businessId);
 	
 	/**
-	 * 问答:问答被回获取积分
+	 * 闂瓟锛氶棶绛旇鍥炶幏鍙栫Н鍒�
 	 * 
 	 * @param userId
 	 * @param businessId
@@ -117,7 +117,7 @@
 	Result doQACommentReplyed(String userId,String businessId);
 	
 	/**
-	 * 问答:回答问题获取积分
+	 * 闂瓟锛氬洖绛旈棶棰樿幏鍙栫Н鍒�
 	 * 
 	 * @param userId
 	 * @param businessId
@@ -126,7 +126,7 @@
 	Result doQAAnswer(String userId,String businessId);
 	
 	/**
-	 * 问答:问答被分享获取积分
+	 * 闂瓟锛氶棶绛旇鍒嗕韩鑾峰彇绉垎
 	 * 
 	 * @param userId
 	 * @param businessId
@@ -135,7 +135,7 @@
 	Result doQAShared(String userId,String businessId);
 	
 	/**
-	 * 问答:问答分享获取积分
+	 * 闂瓟锛氶棶绛斿垎浜幏鍙栫Н鍒�
 	 * 
 	 * @param userId
 	 * @param businessId
diff --git a/src/main/java/com/qxueyou/scc/school/service/ISignService.java b/src/main/java/com/qxueyou/scc/school/service/ISignService.java
index 786003e..05b0ba0 100644
--- a/src/main/java/com/qxueyou/scc/school/service/ISignService.java
+++ b/src/main/java/com/qxueyou/scc/school/service/ISignService.java
@@ -19,7 +19,7 @@
 public interface ISignService {
 	
 	/**
-	 * 新增签名
+	 * 鏂板绛惧悕
 	 * @param sign
 	 * @return
 	 */
@@ -27,35 +27,35 @@
 	
 	
 	/**
-	 * 删除签名
-	 * @param signIds 签名id
+	 * 鍒犻櫎绛惧悕
+	 * @param signIds 绛惧悕id
 	 * @return
 	 */
 	Result deleteSigns(String[] signIds);
 	
 	/**
-	 * 新增签到历史
+	 * 鏂板绛惧埌鍘嗗彶
 	 * @param sign
 	 * @return
 	 */
 	Result insertSignItem(SchSign sign, String signAddress, Date signTime,String userId,String userName);
 	
 	/**
-	 * 新增签到次序
+	 * 鏂板绛惧埌娆″簭
 	 * @param sign
 	 * @return
 	 */
 	int insertSignOrder(SchSign signVO, Date signTime);
 	
 	/**
-	 *  得到满足要求的签到明细
+	 *  寰楀埌婊¤冻瑕佹眰鐨勭鍒版槑缁�
 	 * @param signId
 	 * @return
 	 */
 	List<SchSignItem> getSignItems(String signId);
 	
 	/**
-	 * 新增签到统计
+	 * 鏂板绛惧埌缁熻
 	 * @param sign
 	 * @return
 	 */
@@ -63,19 +63,19 @@
 			Short terminalType,String userId,String userName,String mobilePhone,String location);
 	
 	/**
-	 * 查询是否班级成员(通过账号登录记录)
+	 * 鏌ヨ鏄惁鐝骇鎴愬憳锛堥�氳繃璐﹀彿鐧诲綍璁板綍锛�
 	 */
 	boolean queryRegistrationFlag(String userId,String classId);
 	
 	/**
-	 *  得到满足要求的签到明细(优化版本)
+	 *  寰楀埌婊¤冻瑕佹眰鐨勭鍒版槑缁�(浼樺寲鐗堟湰)
 	 * @param signId
 	 * @return
 	 */
 	List<SchSignStatistics> getSimpleSignItems(String signId, String signDate);
 	
 	/**
-	 * 导出(优化版本)
+	 * 瀵煎嚭(浼樺寲鐗堟湰)
 	 * @param signId
 	 * @param objSchSign
 	 * @return
@@ -84,7 +84,7 @@
 	
 	
 	/**
-	 * 查询签到历史new
+	 * 鏌ヨ绛惧埌鍘嗗彶new
 	 * @param hql
 	 * @param args
 	 * @return
@@ -92,13 +92,13 @@
 	List<SchSignStatistics> querySignItemListStat(String hql, List<Object> args);
 	
 	/**
-	 * 签到历史
+	 * 绛惧埌鍘嗗彶
 	 * @return
 	 */
 	 List<Map<String, Object>> querySignHistory(final String hql, final Pager page, final List<Object> args);
 	
 	/**
-	 * 查询签到历史new
+	 * 鏌ヨ绛惧埌鍘嗗彶new
 	 * @param hql
 	 * @param args
 	 * @return
@@ -106,7 +106,7 @@
 	List<SchSignStatistics> querySignItemListCom(String hql, List<Object> args);
 	
 	/**
-	 * 查询签到历史new
+	 * 鏌ヨ绛惧埌鍘嗗彶new
 	 * @param hql
 	 * @param args
 	 * @return
@@ -114,14 +114,14 @@
 	List<SchSignStatistics> querySignItemListCom( String hql,List<Object> args,Pager page,Integer signType,String signId  );
 	
 	/**
-	 * 微信签到高级设置
+	 * 寰俊绛惧埌楂樼骇璁剧疆
 	 * @param sign
 	 * @return
 	 */
 	Result updateSign(SchSign sign);
 	
 	/**
-	 * 签到 发送消息
+	 * 绛惧埌 鍙戦�佹秷鎭�
 	 * @param signType
 	 * @param signIndex
 	 * @param signId
@@ -130,7 +130,7 @@
 	Result updateSignMessage(Integer signType,Integer signIndex, String signId, User user);
 	
 	/**
-	 * 初始化签到信息
+	 * 鍒濆鍖栫鍒颁俊鎭�
 	 * @param signId
 	 * @param userId
 	 * @param initType
@@ -139,7 +139,7 @@
 	Result doInitSignDatas(String signId, String userId,int initType);
 	
 	/**
-	 * 根据课程信息获取签到信息
+	 * 鏍规嵁璇剧▼淇℃伅鑾峰彇绛惧埌淇℃伅
 	 * 
 	 * @param strClassSubjectId
 	 * @return
@@ -147,7 +147,7 @@
 	List<SchSign> querySign(String strClassSubjectId);
 	
 	/**
-	 * 根据课程信息获取签到人员记录
+	 * 鏍规嵁璇剧▼淇℃伅鑾峰彇绛惧埌浜哄憳璁板綍
 	 * 
 	 * @param strClassSubjectId
 	 * @return
@@ -155,7 +155,7 @@
 	List<SchSignStatistics> queryUserSign(String strClassSubjectId);
 	
 	/**
-	 * 获取当天是否已经签到
+	 * 鑾峰彇褰撳ぉ鏄惁宸茬粡绛惧埌
 	 * 
 	 * @param signId
 	 * @return
@@ -163,7 +163,7 @@
 	SchSignStatistics getSchSignStatistics(String signId, String userId);
 	
 	/**
-	 * 查询签到历史
+	 * 鏌ヨ绛惧埌鍘嗗彶
 	 * @param hql
 	 * @param args
 	 * @param page
@@ -172,21 +172,21 @@
 	List<SchSignStatistics> queryPageLstSignStatistics(SchSignStatistics objSignStatistics, Pager page,Integer signType,String signId);
 	
 	/**
-	 * 签到,根据signId得到schSign
+	 * 绛惧埌锛屾牴鎹畇ignId寰楀埌schSign
 	 * @param signId
 	 * @return
 	 */
 	SchSign getSignFromCacheOrDB(String signId);
 	
 	/**
-	 * 根据sign得到相对应的机构图像
+	 * 鏍规嵁sign寰楀埌鐩稿搴旂殑鏈烘瀯鍥惧儚
 	 * @param signId
 	 * @return
 	 */
 	String getOrgLogoFromCacheOrDB(SchSign sign);
 	
 	/**
-	 * 签到异步处理部分代码
+	 * 绛惧埌寮傛澶勭悊閮ㄥ垎浠g爜
 	 * @param userId
 	 * @param userName
 	 * @param mobilePhone
@@ -197,7 +197,7 @@
 	Result sendSignQueueMsg(String args);
 	
 	/**
-	 * 签到异步处理部分代码
+	 * 绛惧埌寮傛澶勭悊閮ㄥ垎浠g爜
 	 * 
 	 * @param args
 	 * @return
@@ -205,17 +205,17 @@
 	Result doHandleSignQueueMsg(String args);
 	
 	/**
-	 * 查询是否安装(通过账号登录记录)
+	 * 鏌ヨ鏄惁瀹夎锛堥�氳繃璐﹀彿鐧诲綍璁板綍锛�
 	 */
 	boolean queryInstallFlag(String userId);
 	
 	/**
-	 * 查询是否班级激活
+	 * 鏌ヨ鏄惁鐝骇婵�娲�
 	 */
 	boolean queryActiveflag(String userId,String classId);
 	
 	/**
-	 * 查询签到当天的课次
+	 * 鏌ヨ绛惧埌褰撳ぉ鐨勮娆�
 	 * 
 	 * @param signId
 	 * @return
@@ -223,7 +223,7 @@
 	SchClassSchedule getSchClassSchedule(String signId);
 	
 	/**
-	 * 查询
+	 * 鏌ヨ
 	 * 
 	 * @param signId
 	 * @param signDate
@@ -232,7 +232,7 @@
 	List<SchSignStatistics> getNotSignUser(String signId, String signDate);
 	
 	/**
-	 * 未签到统计页面
+	 * 鏈鍒扮粺璁¢〉闈�
 	 * 
 	 * @param signId
 	 * @param signDate
@@ -241,7 +241,7 @@
 	Result updateFlag(String signStatisticsIds);
 	
 	/**
-	 * 获取当天签到地址
+	 * 鑾峰彇褰撳ぉ绛惧埌鍦板潃
 	 * 
 	 * @param signId
 	 * @return
@@ -249,14 +249,14 @@
 	SchScheduleAddress getSchScheduleAddress(String signId);
 	
 	/**
-	 * 通过openId得到user
+	 * 閫氳繃openId寰楀埌user
 	 * @param openId
 	 * @return
 	 */
 	User getUserFromOpenId(String openId);
 	
 	/**
-	 * 插入签到
+	 * 鎻掑叆绛惧埌
 	 * 
 	 * @param signVO
 	 * @param signAddress
@@ -268,7 +268,7 @@
 	SignStatisResult insertSignStatistics(SchSign signVO, String signAddress, String userId, String userName, String mobilePhone, short type);
 	
 	/**
-	 * 班级听课证签到
+	 * 鐝骇鍚璇佺鍒�
 	 * 
 	 * @param signVO
 	 * @param userId
diff --git a/src/main/java/com/qxueyou/scc/school/service/ISpreadFootprintService.java b/src/main/java/com/qxueyou/scc/school/service/ISpreadFootprintService.java
index 8b35ab1..d2cba39 100644
--- a/src/main/java/com/qxueyou/scc/school/service/ISpreadFootprintService.java
+++ b/src/main/java/com/qxueyou/scc/school/service/ISpreadFootprintService.java
@@ -4,14 +4,14 @@
 import com.qxueyou.scc.school.model.SchSpreadFootprint;
 
 /**
- * 课程、视频、讲义记录传播轨迹service
+ * 璇剧▼銆佽棰戙�佽涔夎褰曚紶鎾建杩箂ervice
  * 
  * @author lihanqi
  *
  */
 public interface ISpreadFootprintService {
 	/**
-	 * 新增
+	 * 鏂板
 	 * 
 	 * @param schSpreadFootprint
 	 * @return
diff --git a/src/main/java/com/qxueyou/scc/school/service/IStudentScoreService.java b/src/main/java/com/qxueyou/scc/school/service/IStudentScoreService.java
index 9dfd442..949a27e 100644
--- a/src/main/java/com/qxueyou/scc/school/service/IStudentScoreService.java
+++ b/src/main/java/com/qxueyou/scc/school/service/IStudentScoreService.java
@@ -3,14 +3,14 @@
 import com.qxueyou.scc.base.model.Result;
 
 /**
- * 学员学分服务层
+ * 瀛﹀憳瀛﹀垎鏈嶅姟灞�
  * 
  * @author junliang
  * @createTime 2017-12-10
  */
 public interface IStudentScoreService {
 	/**
-	 * 保存学员学分
+	 * 淇濆瓨瀛﹀憳瀛﹀垎
 	 * 
 	 * @param classId
 	 * @param videoId
@@ -19,7 +19,7 @@
 	 */
 	Result addStudentScore(String classId, String videoId, Integer score);
 	/**
-	 * 获取学员学分
+	 * 鑾峰彇瀛﹀憳瀛﹀垎
 	 * @return
 	 */
 	 Result  getStudentScore();
diff --git a/src/main/java/com/qxueyou/scc/school/service/IStudyReportService.java b/src/main/java/com/qxueyou/scc/school/service/IStudyReportService.java
index 0f2eddb..e2772af 100644
--- a/src/main/java/com/qxueyou/scc/school/service/IStudyReportService.java
+++ b/src/main/java/com/qxueyou/scc/school/service/IStudyReportService.java
@@ -5,47 +5,47 @@
 public interface IStudyReportService {
 	
 	/**
-	 * 获取年终报告数据<br>
-	 * 返回json格式: {result:true|false,msg:"错误信息",data:[{},{}]}<br>
-	 * 当result为true时,data返回结果数据,否则msg返回错误信息。<br>
+	 * 鑾峰彇骞寸粓鎶ュ憡鏁版嵁<br>
+	 * 杩斿洖json鏍煎紡: {result:true|false,msg:"閿欒淇℃伅",data:[{},{}]}<br>
+	 * 褰搑esult涓簍rue鏃讹紝data杩斿洖缁撴灉鏁版嵁锛屽惁鍒檓sg杩斿洖閿欒淇℃伅銆�<br>
 	 * <pre>
 	 * data:[
 	 * 	{
-	 * 		name:"姓名",
-	 * 		studentOrder:"加入Q学友的先后排序", //12
-	 *      studyPeriod:"学习天数",
-	 *      courseCount:"总共学习了多少门课程",
-	 *      firstCourse:"第一门课程",
-	 *      firstClass:"第一个班级",
-	 *      studyHandoutCount:"学习讲义的个数",
-	 *      studyVideoCount:"学习视频的个数",
-	 *      viewLiveCount:"观看直播次数",
-	 *      doExerciseCount:"做练习题个数",
-	 *      exerciseAccuracy:"练习准确率",
-	 *      accuracyNo:"练习正确率排行",
+	 * 		name:"濮撳悕",
+	 * 		studentOrder:"鍔犲叆Q瀛﹀弸鐨勫厛鍚庢帓搴�", //12
+	 *      studyPeriod:"瀛︿範澶╂暟",
+	 *      courseCount:"鎬诲叡瀛︿範浜嗗灏戦棬璇剧▼",
+	 *      firstCourse:"绗竴闂ㄨ绋�",
+	 *      firstClass:"绗竴涓彮绾�",
+	 *      studyHandoutCount:"瀛︿範璁蹭箟鐨勪釜鏁�",
+	 *      studyVideoCount:"瀛︿範瑙嗛鐨勪釜鏁�",
+	 *      viewLiveCount:"瑙傜湅鐩存挱娆℃暟",
+	 *      doExerciseCount:"鍋氱粌涔犻涓暟",
+	 *      exerciseAccuracy:"缁冧範鍑嗙‘鐜�",
+	 *      accuracyNo:"缁冧範姝g‘鐜囨帓琛�",
 	 *      studyTime:[
-	 *      	{name:"中午",timeFrom:"开始时间",timeTo:"结束时间"},
-	 *      	{name:"下午",timeFrom:"开始时间",timeTo:"结束时间"}
+	 *      	{name:"涓崍",timeFrom:"寮�濮嬫椂闂�",timeTo:"缁撴潫鏃堕棿"},
+	 *      	{name:"涓嬪崍",timeFrom:"寮�濮嬫椂闂�",timeTo:"缁撴潫鏃堕棿"}
 	 *      ],
-	 *      1stShareCourse:"第一次分享的课程",
-	 *      viewCountOfShare:"分享被浏览次数",
-	 *      awardAmountOfShare:"分享赚取奖金",
-	 *      atsBeatRank:"传播大使排名打败全国百分之多少学员",
+	 *      1stShareCourse:"绗竴娆″垎浜殑璇剧▼",
+	 *      viewCountOfShare:"鍒嗕韩琚祻瑙堟鏁�",
+	 *      awardAmountOfShare:"鍒嗕韩璧氬彇濂栭噾",
+	 *      atsBeatRank:"浼犳挱澶т娇鎺掑悕鎵撹触鍏ㄥ浗鐧惧垎涔嬪灏戝鍛�",
 	 *      orgs:[
-	 *      	{name:"机构名称",logoUrl:"http://"},
-	 *      	{name:"机构名称",logoUrl:"http://"}
+	 *      	{name:"鏈烘瀯鍚嶇О",logoUrl:"http://"},
+	 *      	{name:"鏈烘瀯鍚嶇О",logoUrl:"http://"}
 	 *      ],
 	 *      recCourses:[
-	 *      	{imgUrl:"http://",name:"课程名称",teacher:"讲师名字",clickUrl:"点击课程链接"},
-	 *      	{imgUrl:"http://",name:"课程名称",teacher:"讲师名字",clickUrl:"点击课程链接"}
+	 *      	{imgUrl:"http://",name:"璇剧▼鍚嶇О",teacher:"璁插笀鍚嶅瓧",clickUrl:"鐐瑰嚮璇剧▼閾炬帴"},
+	 *      	{imgUrl:"http://",name:"璇剧▼鍚嶇О",teacher:"璁插笀鍚嶅瓧",clickUrl:"鐐瑰嚮璇剧▼閾炬帴"}
 	 *      ],
-	 *      atsWithAwardCount:已通过传播大使获得佣金的人数,
-	 *      moreRecUrl:"更多推荐课程链接"
+	 *      atsWithAwardCount:宸查�氳繃浼犳挱澶т娇鑾峰緱浣i噾鐨勪汉鏁�,
+	 *      moreRecUrl:"鏇村鎺ㄨ崘璇剧▼閾炬帴"
 	 *      
 	 *  },
 	 * ]
 	 * </pre>
-	 * @return json数据: {result:true|false,msg:"错误信息",data:[{},{}]}
+	 * @return json鏁版嵁: {result:true|false,msg:"閿欒淇℃伅",data:[{},{}]}
 	 * @author xiaehu
 	 * @history 2017-1-17 add by xiadehu
 	 */
diff --git a/src/main/java/com/qxueyou/scc/school/service/impl/ArticleService.java b/src/main/java/com/qxueyou/scc/school/service/impl/ArticleService.java
index f8ae7d1..e007e9f 100644
--- a/src/main/java/com/qxueyou/scc/school/service/impl/ArticleService.java
+++ b/src/main/java/com/qxueyou/scc/school/service/impl/ArticleService.java
@@ -39,7 +39,7 @@
 import com.qxueyou.scc.teach.subject.model.SubjectChapter;
 
 /**
- * 文章实现类
+ * 鏂囩珷瀹炵幇绫�
  * 
  * @author zhiyong
  *
@@ -59,7 +59,7 @@
 	@Autowired
 	private ICourseWareService courseWareService;
 
-	// 缓存
+	// 缂撳瓨
 	@SuppressWarnings("unused")
 	private static final String CACHE_MSG_IMGS = "CACHE_MSG_IMGS_";
 	@SuppressWarnings("unused")
@@ -71,7 +71,7 @@
 	private static final int ONE_DAY = 60 * 60 * 24;
 
 	/**
-	 * 查询列表数据
+	 * 鏌ヨ鍒楄〃鏁版嵁
 	 * 
 	 * @param type
 	 * @return
@@ -87,7 +87,7 @@
 	}
 
 	/**
-	 * 新增或更新列表数据
+	 * 鏂板鎴栨洿鏂板垪琛ㄦ暟鎹�
 	 * 
 	 * @param articleId
 	 * @param name
@@ -98,14 +98,14 @@
 	public Result updateArticle(SchArticle article) {
 
 		String articleId = article.getArticleId();
-		if (StringUtils.isBlank(articleId)) {// 新增
+		if (StringUtils.isBlank(articleId)) {// 鏂板
 			article.setArticleId(null);
 			article.setClassId(ClientUtils.getClassId());
 			article.setOrgId(ClientUtils.getOrgId());
 			article.setDeleteFlag(false);
 			TraceUtils.setCreateTrace(article);
 
-			// 序号
+			// 搴忓彿
 			String hql = "select MAX(c.orderNum) from SchArticle c where c.deleteFlag is false and c.classId= ? ";
 			Integer iMax = this.findUnique(hql, CollectionUtils.newList(ClientUtils.getClassId()), Integer.class);
 
@@ -122,11 +122,11 @@
 			this.saveArticle(article);
 
 			articleId = article.getArticleId();
-		} else {// 更新
+		} else {// 鏇存柊
 
 			SchArticle articleNew = this.read(SchArticle.class, articleId);
 
-			// 原上传的文件url
+			// 鍘熶笂浼犵殑鏂囦欢url
 			String originUrl = articleNew.getUrl();
 
 			articleNew.setCoverPageUrl(article.getCoverPageUrl());
@@ -138,23 +138,23 @@
 
 			this.saveArticle(articleNew);
 
-			// // 删除原上传的文件
+			// // 鍒犻櫎鍘熶笂浼犵殑鏂囦欢
 			// if(StringUtils.isNotBlank(originUrl)){
 			// ossService.deleteOSSFile(originUrl.substring(1));
 			// }
 		}
 
-		// 保存OrgText —— 文章内容
+		// 淇濆瓨OrgText 鈥斺�� 鏂囩珷鍐呭
 		orgTextService.doSaveOrgText(articleId, OrgText.TABLE_NAME_ARTICLE, article.getContent());
 
-		// 删除该班级所有缓存
+		// 鍒犻櫎璇ョ彮绾ф墍鏈夌紦瀛�
 		// new CacheUtils().deleteWBProjectCacheData();
 
-		return new Result(true, "操作成功", articleId);
+		return new Result(true, "鎿嶄綔鎴愬姛", articleId);
 	}
 
 	/**
-	 * 新增或更新列表数据 机构
+	 * 鏂板鎴栨洿鏂板垪琛ㄦ暟鎹� 鏈烘瀯
 	 * 
 	 * @return
 	 */
@@ -163,10 +163,10 @@
 	public Result updateOrgArticle(SchArticle article, String collegeCourseId) {
 
 		String articleId = article.getArticleId();
-		// jgw 直接将文章修改为已发布
+		// jgw 鐩存帴灏嗘枃绔犱慨鏀逛负宸插彂甯�
 		article.setStatus(SchArticle.STATUS_PUBLISHED);
 
-		if (StringUtils.isBlank(articleId)) {// 新增
+		if (StringUtils.isBlank(articleId)) {// 鏂板
 			article.setArticleId(null);
 			article.setOrgId(ClientUtils.getOrgId());
 			article.setDeleteFlag(false);
@@ -177,12 +177,12 @@
 			this.saveArticle(article);
 
 			articleId = article.getArticleId();
-			// 保存文章课程关联关系
+			// 淇濆瓨鏂囩珷璇剧▼鍏宠仈鍏崇郴
 			saveSchArticleReCourse(collegeCourseId, article.getArticleId());
-		} else {// 更新
+		} else {// 鏇存柊
 
 			SchArticle articleNew = this.read(SchArticle.class, articleId);
-			// 原上传的文件url
+			// 鍘熶笂浼犵殑鏂囦欢url
 			String originUrl = articleNew.getUrl();
 
 			articleNew.setCoverPageUrl(article.getCoverPageUrl());
@@ -194,23 +194,23 @@
 
 			this.saveArticle(articleNew);
 
-			// // 删除原上传的文件
+			// // 鍒犻櫎鍘熶笂浼犵殑鏂囦欢
 			// if(StringUtils.isNotBlank(originUrl)){
 			// ossService.deleteOSSFile(originUrl.substring(1));
 			// }
 		}
 
-		// 保存OrgText —— 文章内容
+		// 淇濆瓨OrgText 鈥斺�� 鏂囩珷鍐呭
 		orgTextService.doSaveOrgText(articleId, OrgText.TABLE_NAME_ARTICLE, article.getContent());
 
-		// 删除该班级所有缓存
+		// 鍒犻櫎璇ョ彮绾ф墍鏈夌紦瀛�
 		// new CacheUtils().deleteWBProjectCacheData();
 
-		return new Result(true, "操作成功", articleId);
+		return new Result(true, "鎿嶄綔鎴愬姛", articleId);
 	}
 
 	/**
-	 * 保存文章课程关联关系
+	 * 淇濆瓨鏂囩珷璇剧▼鍏宠仈鍏崇郴
 	 * 
 	 * @param collegeCourseId
 	 * @param articleId
@@ -223,7 +223,7 @@
 		course.setOrgId(ClientUtils.getOrgId());
 		TraceUtils.setCreateTrace(course);
 
-		// 序号
+		// 搴忓彿
 		String hql = "select MAX(c.orderNum) from SchArticleReCourse c where c.deleteFlag is false and c.collegeCourseId = ? and orgId = ? ";
 		Integer iMax = this.findUnique(hql, CollectionUtils.newList(collegeCourseId, ClientUtils.getOrgId()),
 				Integer.class);
@@ -240,7 +240,7 @@
 	}
 
 	/**
-	 * 删除文章
+	 * 鍒犻櫎鏂囩珷
 	 * 
 	 * @param articleIds
 	 * @return
@@ -249,7 +249,7 @@
 	public Result deleteArticle(String articleIds) {
 
 		if (StringUtils.isBlank(articleIds)) {
-			return new Result(false, "提交数据异常");
+			return new Result(false, "鎻愪氦鏁版嵁寮傚父");
 		}
 
 		String[] aIds = articleIds.split(",");
@@ -257,15 +257,15 @@
 		this.bulkUpdateInLoop("update SchArticle set deleteFlag=1 where articleId=?", aIds);
 		this.bulkUpdateInLoop("update SchCourseware set deleteFlag=1 where id=?", aIds);
 
-		// 删除微商项目所有缓存
+		// 鍒犻櫎寰晢椤圭洰鎵�鏈夌紦瀛�
 		// new CacheUtils().deleteWBProjectCacheData();
 
-		return new Result(true, "操作功能");
+		return new Result(true, "鎿嶄綔鍔熻兘");
 	}
 
 	/**
 	 * 
-	 * 查询基本信息
+	 * 鏌ヨ鍩烘湰淇℃伅
 	 * 
 	 * @param articleId
 	 * @return
@@ -285,11 +285,11 @@
 		article.setCommentCount(this.findCount("from Comment where deleteFlag is false and commentObjectId = ?",
 				CollectionUtils.newList(articleId)));
 		article.setContent(content);
-		return new Result(true, "查询成功", article);
+		return new Result(true, "鏌ヨ鎴愬姛", article);
 	}
 
 	/**
-	 * 查询科目文章list
+	 * 鏌ヨ绉戠洰鏂囩珷list
 	 * 
 	 * @param collegeCourseId
 	 * @return
@@ -300,7 +300,7 @@
 
 		List<Object> args = new ArrayList<Object>();
 		String hql = "";
-		// 其他
+		// 鍏朵粬
 		if (("-" + collegeCourseId).equals(subjectId)) {
 			hql = "select v.articleId,v.name,'','','',0,'' from SchArticle v,SchArticleReCourse r where v.collegeCourseId = ? and r.deleteFlag is false and r.articleId = v.articleId and v.deleteFlag is false and r.orgId = ?  "
 					+ "and not EXISTS (select 1 from SchSubject t where t.deleteFlag is false and t.subjectId = v.subjectId)";
@@ -342,11 +342,11 @@
 	}
 
 	/**
-	 * 排序
+	 * 鎺掑簭
 	 */
 	@Override
 	public Result doitemOrder(List<String> ids, List<Integer> index) {
-		// 循环修改order
+		// 寰幆淇敼order
 		for (int i = 0; i < ids.size(); i++) {
 			String id = ids.get(i);
 			if (UserInfoWrapper.ROLE_TEACHER.equals(ClientUtils.getCurrentRole())
@@ -361,14 +361,14 @@
 					new Object[] { id });
 		}
 
-		// 删除微商项目所有缓存
+		// 鍒犻櫎寰晢椤圭洰鎵�鏈夌紦瀛�
 		// new CacheUtils().deleteWBProjectCacheData();
 
-		return new Result(true, "修改成功");
+		return new Result(true, "淇敼鎴愬姛");
 	}
 
 	/**
-	 * 删除机构文章信息
+	 * 鍒犻櫎鏈烘瀯鏂囩珷淇℃伅
 	 * 
 	 * @param articleIds
 	 * @param delAll
@@ -380,10 +380,10 @@
 		for (String articleId : articleIds) {
 
 			if ((orgIds != null && orgIds.length != 0) || (classIds != null && classIds.length != 0)) {
-				// 删除需要回撤的讲义
+				// 鍒犻櫎闇�瑕佸洖鎾ょ殑璁蹭箟
 				deleteAppoint(articleId, orgIds, classIds);
 			} else {
-				// 删除讲义
+				// 鍒犻櫎璁蹭箟
 				String hql = " from SchArticleReCourse where articleId = ? and deleteFlag is false and orgId = ?";
 				SchArticleReCourse shr = findUnique(hql, CollectionUtils.newList(articleId, ClientUtils.getOrgId()),
 						SchArticleReCourse.class);
@@ -399,7 +399,7 @@
 				 * null){ TraceUtils.setUpdateTrace(article); article.setDeleteFlag(true);
 				 * this.saveArticle(article); }
 				 */
-				// 用户选择同时删除下级讲义
+				// 鐢ㄦ埛閫夋嫨鍚屾椂鍒犻櫎涓嬬骇璁蹭箟
 				if (delAll == 1) {
 					deleteSub(articleId, ClientUtils.getOrgId());
 				}
@@ -407,12 +407,12 @@
 
 		}
 
-		return new Result(true, "删除成功");
+		return new Result(true, "鍒犻櫎鎴愬姛");
 	}
 
 	private Result deleteAppoint(String articleId, String orgIds[], String classIds[]) {
 		Map<String, Object> args = new HashMap<String, Object>();
-		// 删除需要回撤的机构讲义
+		// 鍒犻櫎闇�瑕佸洖鎾ょ殑鏈烘瀯璁蹭箟
 		if (orgIds.length != 0) {
 
 			String hql = " from SchArticleReCourse where articleId = :articleId and deleteFlag is false and orgId in (:orgIds) and orgId != :currOrgId";
@@ -430,7 +430,7 @@
 			}
 		}
 
-		// 删除需要回撤的班主任讲义
+		// 鍒犻櫎闇�瑕佸洖鎾ょ殑鐝富浠昏涔�
 		if (classIds.length != 0) {
 			args = new HashMap<String, Object>();
 			args.put("articleId", articleId);
@@ -450,7 +450,7 @@
 
 	@SuppressWarnings("unchecked")
 	private void deleteSub(String articleId, String currOrgId) {
-		// 机构层级视频是没有重新new ,查询出机构下级ID再删关联表
+		// 鏈烘瀯灞傜骇瑙嗛鏄病鏈夐噸鏂皀ew 锛屾煡璇㈠嚭鏈烘瀯涓嬬骇ID鍐嶅垹鍏宠仈琛�
 		String sql = " select oa.organization_id from organization as oa,organization ob " + " where "
 				+ " ob.ORGANIZATION_ID = ? " + " and  " + " oa.org_code like  CONCAT(ob.org_code,'%' ) "
 				+ " and oa.delete_flag is false and ob.delete_flag is false " + " order by oa.level,oa.org_code asc ";
@@ -468,7 +468,7 @@
 			save(artCourse);
 		}
 
-		// 班主任层面视频指定过后都是new 出来的,通过originVideoId 可以查出所有指定过去的视频
+		// 鐝富浠诲眰闈㈣棰戞寚瀹氳繃鍚庨兘鏄痭ew 鍑烘潵鐨勶紝閫氳繃originVideoId 鍙互鏌ュ嚭鎵�鏈夋寚瀹氳繃鍘荤殑瑙嗛
 		hql = "select classId from ClsClass where orgId in (:orgIds) and deleteFlag is false";
 		map = new HashMap<String, Object>();
 		map.put("orgIds", orgIds.toArray());
@@ -488,7 +488,7 @@
 	}
 
 	/**
-	 * 下发机构文件
+	 * 涓嬪彂鏈烘瀯鏂囦欢
 	 * 
 	 * @param articleId
 	 * @param orgId
@@ -500,9 +500,9 @@
 	public Result insertAppointArticle(String[] articleIds, String[] orgIds, String[] classIds,
 			String collegeCourseId) {
 		if (null == articleIds || articleIds.length == 0) {
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
-		// 一次性查询classId对应的orgId
+		// 涓�娆℃�ф煡璇lassId瀵瑰簲鐨刼rgId
 		Map<String, Object> argsMap = new HashMap<String, Object>();
 		Map<String, String> classMap = new HashMap<String, String>();
 		if (classIds.length > 0) {
@@ -511,14 +511,14 @@
 			argsMap.put("classIds", classIds);
 			List<ClsClass> classList = findByComplexHql(hql, argsMap, ClsClass.class);
 
-			// 放入map中 KEY:classId VALUE:orgId
+			// 鏀惧叆map涓� KEY:classId VALUE:orgId
 
 			for (ClsClass orgClass : classList) {
 				classMap.put(orgClass.getClassId(), orgClass.getOrgId());
 			}
 		}
 
-		// 一次性查出handoutId对应的handoutOrder
+		// 涓�娆℃�ф煡鍑篽andoutId瀵瑰簲鐨刪andoutOrder
 		Map<String, Integer> orderMap = new HashMap<String, Integer>();
 		String hql = " from SchArticleReCourse where articleId in (:articleIds) and deleteFlag is false and orgId = :currOrgId";
 		argsMap = new HashMap<String, Object>();
@@ -530,10 +530,10 @@
 		}
 
 		for (String articleId : articleIds) {
-			if (orgIds.length > 0) { // 指定给机构
+			if (orgIds.length > 0) { // 鎸囧畾缁欐満鏋�
 				insertAppointOrg(orgIds, articleId, collegeCourseId, orderMap);
 			}
-			if (classIds.length > 0) { // 指定给班级
+			if (classIds.length > 0) { // 鎸囧畾缁欑彮绾�
 				insertAppointClass(classIds, articleId, collegeCourseId, orderMap);
 			}
 		}
@@ -542,7 +542,7 @@
 	}
 
 	/**
-	 * 指定给机构
+	 * 鎸囧畾缁欐満鏋�
 	 * 
 	 * @param orgIds
 	 * @param handoutId
@@ -559,7 +559,7 @@
 		for (String orgId : orgIds) {
 			orgList.add(orgId);
 		}
-		// 剔除掉不符合条件的orgId
+		// 鍓旈櫎鎺変笉绗﹀悎鏉′欢鐨刼rgId
 		orgList.removeAll(strings);
 		if (orgList.isEmpty()) {
 			return;
@@ -579,7 +579,7 @@
 	}
 
 	/**
-	 * 指定给班级
+	 * 鎸囧畾缁欑彮绾�
 	 * 
 	 * @param classIds
 	 * @param handoutId
@@ -587,7 +587,7 @@
 	 */
 	private void insertAppointClass(String classIds[], String articleId, String collegeCourseId,
 			Map<String, Integer> orderMap) {
-		// 章节id
+		// 绔犺妭id
 		Map<String, SubjectChapter> origChapterMap = new HashMap<String, SubjectChapter>();
 		SchArticle article = read(SchArticle.class, articleId);
 
@@ -604,7 +604,7 @@
 		if (classList.isEmpty()) {
 			return;
 		}
-		// 一次性查询班级ID对应的classSubjectId
+		// 涓�娆℃�ф煡璇㈢彮绾D瀵瑰簲鐨刢lassSubjectId
 		hql = " from SchClassSubject where classId in(:classIds) and origSubjectId = :subjectId and deleteFlag is false";
 		args = new HashMap<String, Object>();
 		args.put("classIds", classList.toArray());
@@ -638,14 +638,14 @@
 			TraceUtils.setCreateTrace(sh);
 			this.saveArticle(sh);
 
-			// 插入OrgText
+			// 鎻掑叆OrgText
 			orgTextService.doInsertOrgText(sh.getArticleId(), OrgText.TABLE_NAME_ARTICLE,
 					oldOrgText == null ? "" : oldOrgText.getContent());
 		}
 	}
 
 	/**
-	 * 获取朋友圈
+	 * 鑾峰彇鏈嬪弸鍦�
 	 * 
 	 * @param pager
 	 * @return
@@ -710,7 +710,7 @@
 	}
 
 	/**
-	 * 获取消息的评论图片和文件
+	 * 鑾峰彇娑堟伅鐨勮瘎璁哄浘鐗囧拰鏂囦欢
 	 * 
 	 * @param objSchClassCircleMsg
 	 * @return
@@ -748,7 +748,7 @@
 	}
 
 	/**
-	 * 点赞
+	 * 鐐硅禐
 	 * 
 	 * @param commentId
 	 * @return
@@ -774,7 +774,7 @@
 	}
 
 	/**
-	 * 评论
+	 * 璇勮
 	 * 
 	 * @param msgId
 	 * @param content
@@ -783,7 +783,7 @@
 	 */
 	public Result addComment(String articleId, String content, String parentCommentId) {
 
-		// 评论表
+		// 璇勮琛�
 		Comment comment = new Comment();
 		comment.setCommentterId(ClientUtils.getUserId());
 		comment.setCommentter(ClientUtils.getUserName());
@@ -815,7 +815,7 @@
 	}
 
 	/**
-	 * 删除评论
+	 * 鍒犻櫎璇勮
 	 * 
 	 * @param msgId
 	 * @param commentId
@@ -833,7 +833,7 @@
 	}
 
 	/**
-	 * 缓存获取评论
+	 * 缂撳瓨鑾峰彇璇勮
 	 * 
 	 * @param articleId
 	 * @param isUpdate
@@ -856,7 +856,7 @@
 	}
 
 	/**
-	 * 评论列表
+	 * 璇勮鍒楄〃
 	 * 
 	 * @param articleId
 	 * @return
@@ -866,7 +866,7 @@
 	}
 
 	/**
-	 * 观看进度
+	 * 瑙傜湅杩涘害
 	 * 
 	 * @param articleId
 	 * @param compDegree
@@ -900,7 +900,7 @@
 	}
 
 	/**
-	 * 保存文章接口
+	 * 淇濆瓨鏂囩珷鎺ュ彛
 	 * 
 	 * @param article
 	 * @return
@@ -927,7 +927,7 @@
 			this.bulkUpdate("update SchCourseware set name = ? where id = ?",
 					new Object[] { article.getName(), article.getArticleId() });
 		}
-		// 同步课件表
+		// 鍚屾璇句欢琛�
 		if (courseware == null) {
 			courseware = new SchCourseware();
 			courseware.setChapterId(article.getChapterId());
diff --git a/src/main/java/com/qxueyou/scc/school/service/impl/ClassCardService.java b/src/main/java/com/qxueyou/scc/school/service/impl/ClassCardService.java
index 36ed701..08f71e8 100644
--- a/src/main/java/com/qxueyou/scc/school/service/impl/ClassCardService.java
+++ b/src/main/java/com/qxueyou/scc/school/service/impl/ClassCardService.java
@@ -26,7 +26,7 @@
 
 
 /**
- * 听课证实现类
+ * 鍚璇佸疄鐜扮被
  * @author Delin
  *
  */
@@ -39,12 +39,12 @@
 	ISignService signService;
 	
 	/**
-	 * 保存听课证信息
+	 * 淇濆瓨鍚璇佷俊鎭�
 	 */
 	@Override
 	public Result doSaveClassCard(SchClassCard classCard,String templetData) {
 		
-		if(StringUtils.isNotBlank(classCard.getClassCardId())){ // 编辑
+		if(StringUtils.isNotBlank(classCard.getClassCardId())){ // 缂栬緫
 			SchClassCard card = read(SchClassCard.class, classCard.getClassCardId());
 			card.setTempletNo(classCard.getTempletNo());
 			card.setDoubleSidedFlag(classCard.getDoubleSidedFlag());
@@ -57,18 +57,18 @@
 			card.setSlogan(classCard.getSlogan());
 			TraceUtils.setUpdateTrace(card);
 			save(card);
-		}else{ // 新增
+		}else{ // 鏂板
 			classCard.setClassId(ClientUtils.getClassId());
 			classCard.setClassCardId(null);
 			TraceUtils.setCreateTrace(classCard);
 			save(classCard);
 		}
 		
-		// 添加模板后使用
-//		//将JSON字符串转换成JSONArray  
+		// 娣诲姞妯℃澘鍚庝娇鐢�
+//		//灏咼SON瀛楃涓茶浆鎹㈡垚JSONArray  
 //	    JSONArray array_news =new JSONArray();  
 //	    array_news = JSONArray.fromObject(templetData); 
-//		//将JSONArray转换成List列表  
+//		//灏咼SONArray杞崲鎴怢ist鍒楄〃  
 //        List<SchClassCardTemplet> cardTempletLst =(List<SchClassCardTemplet>) JSONArray.toCollection(array_news, SchClassCardTemplet.class);
 //		for (SchClassCardTemplet cardTemplet : cardTempletLst) {
 //			SchClassCardTemplet ct = null;
@@ -90,7 +90,7 @@
 	}
 	
 	/**
-	 * 读取听课证信息
+	 * 璇诲彇鍚璇佷俊鎭�
 	 */
 	@Override
 	public Map<String,Object> readClassCard() {
@@ -104,7 +104,7 @@
 		map.put("className", ClientUtils.getClassName());
 		return map;
 		
-		// 添加模板后使用
+		// 娣诲姞妯℃澘鍚庝娇鐢�
 //		map.put("templetLst", "");
 //		map.put("cardTempletLst", "");
 //		List<ClassCardTemplet> templetLst = null;
@@ -116,11 +116,11 @@
 //			return map;
 //		}
 //		
-//		// 查询模板
+//		// 鏌ヨ妯℃澘
 //		String hql_te = "select from ClassCardTemplet t1 where deleteFlag is false templetNo = ? ";
 //		templetLst = find(hql_te, CollectionUtils.newList(classCard.getTempletNo()), ClassCardTemplet.class);
 //		
-//		// 查询模板值
+//		// 鏌ヨ妯℃澘鍊�
 //		String hql_re = "select from SchClassCardTemplet t1 where deleteFlag is false classCardId = ? ";
 //		List<SchClassCardTemplet> cardTempletLst = find(hql_re, CollectionUtils.newList(classCard.getClassCardId()), SchClassCardTemplet.class);
 //		
@@ -132,7 +132,7 @@
 	}
 	
 	/**
-	 * 获取显示头像的字段
+	 * 鑾峰彇鏄剧ず澶村儚鐨勫瓧娈�
 	 */
 	@Override
 	public List<Map<String,String>> getHeadimgField(){
@@ -151,14 +151,14 @@
 		
 		Map<String,String> map = new HashMap<String,String>();
 		map.put("fieldId", IMG_PATH);
-		map.put("fieldName", "个人头像");
+		map.put("fieldName", "涓汉澶村儚");
 		mapLst.add(map);
 		
 		return mapLst;
 	}
 	
 	/**
-	 * 获取用户头像
+	 * 鑾峰彇鐢ㄦ埛澶村儚
 	 * 
 	 * @param userId
 	 * @param classId
@@ -168,7 +168,7 @@
 	public String getUserHeadimg(String userId, String classId){
 		
 		SchClassCard classCard = getSchClassCard(classId);
-		if(classCard == null || !classCard.getHeadImgFlag()){ // 未设置
+		if(classCard == null || !classCard.getHeadImgFlag()){ // 鏈缃�
 			return "";
 		}
 		
@@ -184,7 +184,7 @@
 	}
 	
 	/**
-	 * 获取用户所有的听课证
+	 * 鑾峰彇鐢ㄦ埛鎵�鏈夌殑鍚璇�
 	 * 
 	 * @param userId
 	 * @return
@@ -224,7 +224,7 @@
 	}
 	
 	/**
-	 * 格式化班级名称
+	 * 鏍煎紡鍖栫彮绾у悕绉�
 	 * @param {} name
 	 * @returns {} 
 	 */
@@ -242,7 +242,7 @@
 	}
 	
 	/**
-	 * 签到
+	 * 绛惧埌
 	 * @param sign
 	 * @param userId
 	 * @return
@@ -252,12 +252,12 @@
 		
 		User user = read(User.class, userId);
 		
-		// 签到成功 获取签到历史
+		// 绛惧埌鎴愬姛 鑾峰彇绛惧埌鍘嗗彶
 		SignStatisResult history = signService.doSignByClassCard(sign, user.getUserId());
 		if(!history.getResult()){
 			return new Result(false,history.getErrMsg());
 		}	
-		//异步发送消息处理
+		//寮傛鍙戦�佹秷鎭鐞�
 		String args = JSON.toJSONString(CollectionUtils.newObjectMap(
 				"userId", user.getUserId(),
 				"userName", user.getName(),
diff --git a/src/main/java/com/qxueyou/scc/school/service/impl/ClassCircleService.java b/src/main/java/com/qxueyou/scc/school/service/impl/ClassCircleService.java
index 3e4c7d1..01697c9 100644
--- a/src/main/java/com/qxueyou/scc/school/service/impl/ClassCircleService.java
+++ b/src/main/java/com/qxueyou/scc/school/service/impl/ClassCircleService.java
@@ -28,7 +28,7 @@
 import com.qxueyou.scc.user.model.User;
 
 /**
- * 课程、视频、讲义记录传播轨迹service
+ * 璇剧▼銆佽棰戙�佽涔夎褰曚紶鎾建杩箂ervice
  * 
  * @author lihanqi
  *
@@ -36,15 +36,15 @@
 @Service
 public class ClassCircleService extends CommonAppService implements IClassCircleService {
 
-	// //共用评论模块
+	// //鍏辩敤璇勮妯″潡
 	// @Autowired
 	// ICommentService commentService;
 	//
-	// //缓存
+	// //缂撳瓨
 	// @Autowired
 	// ICacheService cache;
 
-	// 缓存
+	// 缂撳瓨
 	@SuppressWarnings("unused")
 	private static final String CACHE_MSG_IMGS = "CACHE_MSG_IMGS_";
 	@SuppressWarnings("unused")
@@ -56,7 +56,7 @@
 	private static final int ONE_DAY = 60 * 60 * 24;
 
 	/**
-	 * 获取朋友圈
+	 * 鑾峰彇鏈嬪弸鍦�
 	 * 
 	 * @param pager
 	 * @return
@@ -73,7 +73,7 @@
 				CollectionUtils.newList(ClientUtils.getClassId()), SchClassCircleMsg.class);
 
 		if (lstSchClassCircleMsg != null && !lstSchClassCircleMsg.isEmpty()) {
-			// 缓存中获取评论
+			// 缂撳瓨涓幏鍙栬瘎璁�
 			for (SchClassCircleMsg objSchClassCircleMsg : lstSchClassCircleMsg) {
 				objSchClassCircleMsg = this.packageMsg(objSchClassCircleMsg);
 				User user = this.read(User.class, objSchClassCircleMsg.getUserId());
@@ -89,7 +89,7 @@
 	}
 
 	/**
-	 * 获取消息的评论图片和文件
+	 * 鑾峰彇娑堟伅鐨勮瘎璁哄浘鐗囧拰鏂囦欢
 	 * 
 	 * @param objSchClassCircleMsg
 	 * @return
@@ -127,7 +127,7 @@
 	}
 
 	/**
-	 * 获取评论
+	 * 鑾峰彇璇勮
 	 * 
 	 * @param msgId
 	 * @return
@@ -148,7 +148,7 @@
 	}
 
 	/**
-	 * 获取朋友圈
+	 * 鑾峰彇鏈嬪弸鍦�
 	 * 
 	 * @return
 	 */
@@ -158,7 +158,7 @@
 	}
 
 	/**
-	 * 初始化朋友圈
+	 * 鍒濆鍖栨湅鍙嬪湀
 	 * 
 	 * @param userId
 	 * @return
@@ -176,7 +176,7 @@
 	}
 
 	/**
-	 * 发朋友圈
+	 * 鍙戞湅鍙嬪湀
 	 * 
 	 * @param userId
 	 * @return
@@ -195,12 +195,12 @@
 
 		this.save(classCircleMsg);
 
-		// 添加图片
+		// 娣诲姞鍥剧墖
 		if (StringUtils.isNoneBlank(classCircleMsg.getImgsJson())) {
 			this.addFile(classCircleMsg.getImgsJson(), classCircleMsg.getMsgId(), "class_circle_img");
 		}
 
-		// 添加文件
+		// 娣诲姞鏂囦欢
 		if (StringUtils.isNoneBlank(classCircleMsg.getFilesJson())) {
 			this.addFile(classCircleMsg.getFilesJson(), classCircleMsg.getMsgId(), "class_circle_file");
 		}
@@ -209,7 +209,7 @@
 	}
 
 	/**
-	 * 点赞
+	 * 鐐硅禐
 	 * 
 	 * @param msgId
 	 * @return
@@ -237,7 +237,7 @@
 	}
 
 	/**
-	 * 评论
+	 * 璇勮
 	 * 
 	 * @param msgId
 	 * @param content
@@ -246,7 +246,7 @@
 	 */
 	public Result addComment(String msgId, String content, String parentCommentId) {
 
-		// 评论表
+		// 璇勮琛�
 		Comment comment = new Comment();
 		comment.setCommentterId(ClientUtils.getUserId());
 		comment.setCommentter(ClientUtils.getUserName());
@@ -278,7 +278,7 @@
 	}
 
 	/**
-	 * 删除评论
+	 * 鍒犻櫎璇勮
 	 * 
 	 * @param msgId
 	 * @param commentId
@@ -296,7 +296,7 @@
 	}
 
 	/**
-	 * 点赞
+	 * 鐐硅禐
 	 * 
 	 * @param msgId
 	 * @return
@@ -312,7 +312,7 @@
 	}
 
 	/**
-	 * 删除文件
+	 * 鍒犻櫎鏂囦欢
 	 * 
 	 * @param filesJson
 	 * @param fileType
@@ -329,7 +329,7 @@
 	}
 
 	/**
-	 * 新增文件
+	 * 鏂板鏂囦欢
 	 * 
 	 * @param filesJson
 	 * @param fileType
diff --git a/src/main/java/com/qxueyou/scc/school/service/impl/CoursewareService.java b/src/main/java/com/qxueyou/scc/school/service/impl/CoursewareService.java
index ab511b2..4b3ef1b 100644
--- a/src/main/java/com/qxueyou/scc/school/service/impl/CoursewareService.java
+++ b/src/main/java/com/qxueyou/scc/school/service/impl/CoursewareService.java
@@ -38,7 +38,7 @@
 import com.qxueyou.scc.teach.subject.model.SubjectChapter;
 
 /**
- * 课件管理
+ * 璇句欢绠$悊
  * 
  * @author lihanqi
  *
@@ -66,7 +66,7 @@
 	IOrgTextService orgTextService;
 	
 	/**
-	 * 新增章节
+	 * 鏂板绔犺妭
 	 * 
 	 * @param name
 	 * @param parentChapterId
@@ -74,7 +74,7 @@
 	 */
 	public Result addOrUpdateChapter(String chapterId, String subjectId, String name, String parentChapterId){
 		if(StringUtils.isEmpty(subjectId) || StringUtils.isEmpty(name)){
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
 		SubjectChapter objSchChapter = null;
 		if(StringUtils.isEmpty(chapterId)){
@@ -99,17 +99,17 @@
 	}
 	
 	/**
-	 * 删除章节
+	 * 鍒犻櫎绔犺妭
 	 * 
 	 * @param chapterId
 	 * @return
 	 */
 	public Result deleteChapter(String[] chapterIds){
 		if(chapterIds.length == 0){
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
 		int iCount = 0;
-		for(String chapterId : chapterIds){//级联删除课件
+		for(String chapterId : chapterIds){//绾ц仈鍒犻櫎璇句欢
 			SubjectChapter chapter = this.read(SubjectChapter.class, chapterId);
 			if(chapter != null && StringUtils.isEmpty(chapter.getParentChapterId())){
 				iCount += this.findCount("from SchCourseware where chapterId = ? and cType = ?", CollectionUtils.newList(chapterId, 6));
@@ -121,13 +121,13 @@
 	}
 	
 	/**
-	 * 拷贝课件
+	 * 鎷疯礉璇句欢
 	 * 
-	 * @param type 课件类型
-	 * @param id 主键
-	 * @param subjectId 课程
-	 * @param collegeCourseId 科目
-	 * @param chapterId 章节
+	 * @param type 璇句欢绫诲瀷
+	 * @param id 涓婚敭
+	 * @param subjectId 璇剧▼
+	 * @param collegeCourseId 绉戠洰
+	 * @param chapterId 绔犺妭
 	 * @return
 	 */
 	public Result doCopyCourseware(String type, String id, String subjectId, String collegeCourseId, String chapterId){
@@ -176,13 +176,13 @@
 	}
 	
 	/**
-	 * 移动课件
+	 * 绉诲姩璇句欢
 	 * 
-	 * @param type 课件类型
-	 * @param id 主键
-	 * @param subjectId 课程
-	 * @param collegeCourseId 科目
-	 * @param chapterId 章节
+	 * @param type 璇句欢绫诲瀷
+	 * @param id 涓婚敭
+	 * @param subjectId 璇剧▼
+	 * @param collegeCourseId 绉戠洰
+	 * @param chapterId 绔犺妭
 	 * @return
 	 */
 	public Result doMoveCourseware(String type, String id, String subjectId, String collegeCourseId, String chapterId){
@@ -251,7 +251,7 @@
 	}
 	
 	/**
-	 * 删除课件
+	 * 鍒犻櫎璇句欢
 	 * 
 	 * @param types
 	 * @param ids
@@ -290,7 +290,7 @@
 	}
 	
 	/**
-	 * 下发课件
+	 * 涓嬪彂璇句欢
 	 * 
 	 * @param types
 	 * @param ids
@@ -310,7 +310,7 @@
 	}
 	
 	/**
-	 * 下发课件到子机构
+	 * 涓嬪彂璇句欢鍒板瓙鏈烘瀯
 	 * 
 	 * @param id
 	 * @param sourceOrgId
@@ -323,7 +323,7 @@
 				CollectionUtils.newList(id, sourceOrgId), SchCourseware.class);
 		
 		if(courseware == null){
-			return new Result(false, "原课件不存在");
+			return new Result(false, "鍘熻浠朵笉瀛樺湪");
 		}
 		SchCourseware newCourseware = new SchCourseware();
 		try {
@@ -335,14 +335,14 @@
 			
 			this.save(newCourseware);
 		} catch (Exception e) {
-			log.error("机构下发课件报错:课件id:"+id+",子机构id:"+targetOrgId, e);
+			log.error("鏈烘瀯涓嬪彂璇句欢鎶ラ敊锛氳浠秈d锛�"+id+",瀛愭満鏋刬d锛�"+targetOrgId, e);
 		}
 		
 		return new Result(true);
 	}
 	
 	/**
-	 * 撤回
+	 * 鎾ゅ洖
 	 * 
 	 * @param id
 	 * @param orgId
@@ -361,7 +361,7 @@
 	}
 	
 	/**
-	 * 查询已下发的班级
+	 * 鏌ヨ宸蹭笅鍙戠殑鐝骇
 	 * 
 	 * @param types
 	 * @param ids
@@ -409,7 +409,7 @@
 	}
 	
 	/**
-	 * 课件分类
+	 * 璇句欢鍒嗙被
 	 * 
 	 * @param types
 	 * @param ids
@@ -442,27 +442,27 @@
 	}
 	
 	/**
-	 * 课件树排序
+	 * 璇句欢鏍戞帓搴�
 	 * 
-	 * @param ids[] 排序的id
-	 * @param type 排序类型
-	 * @param parentId 父节点id
+	 * @param ids[] 鎺掑簭鐨刬d
+	 * @param type 鎺掑簭绫诲瀷
+	 * @param parentId 鐖惰妭鐐筰d
 	 * @return
 	 */
 	public Result doOrder(String[] ids, String type, String parentId){
 		for(int i=0;i<ids.length;i++){
 			int index = ids.length - i;
-			if("courseCategory".equals(type)){//科目类别
+			if("courseCategory".equals(type)){//绉戠洰绫诲埆
 				this.bulkUpdate("update OrgCategoryLevel set orderNum = ? where categoryLevelId = ?", new Object[]{index, ids[i]});
-			}else if("course".equals(type)){//科目
+			}else if("course".equals(type)){//绉戠洰
 				this.bulkUpdate("update OrgCollegeCourse set orderNum = ? where collegeCourseId = ? and courseCategoryId = ?", new Object[]{index, ids[i], parentId});
-			}else if("subject".equals(type)){//课程
+			}else if("subject".equals(type)){//璇剧▼
 				this.bulkUpdate("update SchSubject set orderNum = ? where subjectId = ? ", new Object[]{index, ids[i]});
-			}else if("chapter".equals(type)){//章
+			}else if("chapter".equals(type)){//绔�
 				this.bulkUpdate("update SchChapter set orderNum = ? where chapterId = ? and subjectId = ?", new Object[]{index, ids[i], parentId});
-			}else if("section".equals(type)){//节
+			}else if("section".equals(type)){//鑺�
 				this.bulkUpdate("update SchChapter set orderNum = ? where chapterId = ? and parentChapterId = ?", new Object[]{index, ids[i], parentId});
-			}else if("classSubject".equals(type)){//班级课程
+			}else if("classSubject".equals(type)){//鐝骇璇剧▼
 				this.bulkUpdate("update SchClassSubject set orderNum = ? where classSubjectId = ? ", new Object[]{index, ids[i]});
 			}
 		}
@@ -470,10 +470,10 @@
 		return new Result(true);
 	}
 	
-	/*****************************************************班主任课件管理**************************************************************************************************/
+	/*****************************************************鐝富浠昏浠剁鐞�**************************************************************************************************/
 	
 	/**
-	 * 删除课件
+	 * 鍒犻櫎璇句欢
 	 * 
 	 * @param types
 	 * @param ids
@@ -495,13 +495,13 @@
 	}
 	
 	/**
-	 * 拷贝课件
+	 * 鎷疯礉璇句欢
 	 * 
-	 * @param type 课件类型
-	 * @param id 主键
-	 * @param subjectId 课程
-	 * @param collegeCourseId 科目
-	 * @param chapterId 章节
+	 * @param type 璇句欢绫诲瀷
+	 * @param id 涓婚敭
+	 * @param subjectId 璇剧▼
+	 * @param collegeCourseId 绉戠洰
+	 * @param chapterId 绔犺妭
 	 * @return
 	 */
 	public Result doCopyClassCourseware(String type, String id, String subjectId, String chapterId){
@@ -547,7 +547,7 @@
 	}
 	
 	/**
-	 * 发布和停用
+	 * 鍙戝竷鍜屽仠鐢�
 	 * 
 	 * @param types
 	 * @param ids
@@ -592,11 +592,11 @@
 	}
 	
 	/**
-	 * 删除课程和章节级联删除课件
+	 * 鍒犻櫎璇剧▼鍜岀珷鑺傜骇鑱斿垹闄よ浠�
 	 *  
-	 * @param subjectId 机构课程id
-	 * @param chapterId 章节id
-	 * @param classSubjectId 班级课程id
+	 * @param subjectId 鏈烘瀯璇剧▼id
+	 * @param chapterId 绔犺妭id
+	 * @param classSubjectId 鐝骇璇剧▼id
 	 * @return
 	 */
 	public Result deleteCourseWare(String subjectId, String chapterId){
@@ -606,7 +606,7 @@
 			if(StringUtils.isNotEmpty(chapter.getParentChapterId())){
 				newChapterId = chapter.getParentChapterId();
 			}else{
-				//删除章节练习
+				//鍒犻櫎绔犺妭缁冧範
 				this.bulkUpdate("update ExerciseGroup set deleteFlag = ? where chapterId = ? and type = ?", new Object[]{true, chapterId, ExerciseGroup.TYPE_CHAPTER_ITEM});
 				this.bulkUpdate("update SchCourseware set deleteFlag = ? where chapterId = ? and cType = ?", new Object[]{true, chapterId, 6});
 			}
@@ -626,7 +626,7 @@
 			
 			this.bulkUpdate("update SchCourseware set subjectId = null where subjectId = ?", new Object[]{subjectId});
 			
-			//删除章节练习
+			//鍒犻櫎绔犺妭缁冧範
 			this.bulkUpdate("update ExerciseGroup set deleteFlag = ? where subjectId = ? and type = ?", new Object[]{true, subjectId, ExerciseGroup.TYPE_CHAPTER_ITEM});
 			this.bulkUpdate("update SchCourseware set deleteFlag = ? where subjectId = ? and cType = ?", new Object[]{true, subjectId, 6});
 		}
@@ -634,7 +634,7 @@
 	}
 	
 	/**
-	 * 同步更新课件课程名称
+	 * 鍚屾鏇存柊璇句欢璇剧▼鍚嶇О
 	 * 
 	 * @param subjectId
 	 * @param subjectName
@@ -650,7 +650,7 @@
 	}
 
 	/**
-	 * 设置学分
+	 * 璁剧疆瀛﹀垎
 	 */
 	public Result updateCoursewareScore(String id, int score) {
 		if(StringUtils.isNotEmpty(id)){
@@ -661,16 +661,16 @@
 
 
 	/**
-	 * 查询课件
+	 * 鏌ヨ璇句欢
 	 */
 	public List<Map<String, Object>> queryCourseware(String id, String type) {
 		 if(type.equals("category")) {
 				 
 			 List<Map<String, Object>> items=new ArrayList<Map<String, Object>>();
-			 //查询项目列表
+			 //鏌ヨ椤圭洰鍒楄〃
 				String hql1="select collegeCourseId as id from OrgCollegeCourse where courseCategoryId=? and deleteFlag is false ";
 				List<String> courseList =find(hql1, CollectionUtils.newList(id),String.class);
-             //查询机构课程
+             //鏌ヨ鏈烘瀯璇剧▼
 				for (String courseId : courseList) {
 					List<Map<String, Object>> result = queryCoursewareByCourseId(courseId);
 					items.addAll(result);
@@ -688,7 +688,7 @@
 	
 	
 	/**
-	 * 根据项目id查询所有机构课程的课件
+	 * 鏍规嵁椤圭洰id鏌ヨ鎵�鏈夋満鏋勮绋嬬殑璇句欢
 	 * @param id
 	 * @return
 	 */
@@ -706,7 +706,7 @@
 	}
 	
 	/**
-	 * 根据项目id查询课件
+	 * 鏍规嵁椤圭洰id鏌ヨ璇句欢
 	 * @param courseId
 	 * @return
 	 */
@@ -757,7 +757,7 @@
 	
 
 	/**
-	 * 获取排序
+	 * 鑾峰彇鎺掑簭
 	 * 
 	 * @param isOrg
 	 * @param subjectId
@@ -767,7 +767,7 @@
 	@Override
 	public Map<String, Integer> getOrder(boolean isOrg, String subjectId, String chapterId){
 		Map<String, Integer> result = new HashMap<>();
-		//同步排序
+		//鍚屾鎺掑簭
 		int subjectOrder = 0;
 		int chapterOrder = 0;
 		int partOrder = 0;
diff --git a/src/main/java/com/qxueyou/scc/school/service/impl/DocdealMsgDealService.java b/src/main/java/com/qxueyou/scc/school/service/impl/DocdealMsgDealService.java
index 5a979b1..86285de 100644
--- a/src/main/java/com/qxueyou/scc/school/service/impl/DocdealMsgDealService.java
+++ b/src/main/java/com/qxueyou/scc/school/service/impl/DocdealMsgDealService.java
@@ -16,9 +16,9 @@
 import com.qxueyou.scc.school.service.IHandoutService;
 
 /**
- * 文档处理消息队列接收服务
+ * 鏂囨。澶勭悊娑堟伅闃熷垪鎺ユ敹鏈嶅姟
  * 
- * @author 德虎
+ * @author 寰疯檸
  * 
  */
 @Service("DocdealMsgDealService")
@@ -42,7 +42,7 @@
 //	@Override
 //	public void doHandle(Message msg, ConsumeContext context) {
 //		
-//		//TODO 严格异常处理,两次就直接返回,暂时一次
+//		//TODO 涓ユ牸寮傚父澶勭悊锛屼袱娆″氨鐩存帴杩斿洖,鏆傛椂涓�娆�
 //		try {
 //			// get params
 //			String docPath = msg.getUserProperties("docPath");
@@ -62,14 +62,14 @@
 //					";userId:" + msg.getUserProperties("userId") + 
 //					";uploadModule:" + msg.getUserProperties("uploadModule") ;
 //
-//			log.error( businessId + " :上传讲义ppt消息发送失败:" + e , e);
+//			log.error( businessId + " :涓婁紶璁蹭箟ppt娑堟伅鍙戦�佸け璐�:" + e , e);
 //			onsExceptionLogService.logSaveExceptionLog(getTopic(), "", businessId , desp );
 //		}
 //		
 //	}
 //	
 	/**
-	 * 配置项ons-docdeal-receive-urls配置了多个ip地址,如果其中包含本机地址,说明支持文档处理
+	 * 閰嶇疆椤筼ns-docdeal-receive-urls閰嶇疆浜嗗涓猧p鍦板潃锛屽鏋滃叾涓寘鍚湰鏈哄湴鍧�锛岃鏄庢敮鎸佹枃妗e鐞�
 	 */
 	protected boolean turnOn(){
 		String docdealUrls =aliOnsConfig.getDocdealReceiveUrls();
diff --git a/src/main/java/com/qxueyou/scc/school/service/impl/DocdealMsgSenderService.java b/src/main/java/com/qxueyou/scc/school/service/impl/DocdealMsgSenderService.java
index c3e0969..d956c80 100644
--- a/src/main/java/com/qxueyou/scc/school/service/impl/DocdealMsgSenderService.java
+++ b/src/main/java/com/qxueyou/scc/school/service/impl/DocdealMsgSenderService.java
@@ -11,7 +11,7 @@
 
 /**
  * 
- * @author 德虎
+ * @author 寰疯檸
  * 
  */
 @Service
diff --git a/src/main/java/com/qxueyou/scc/school/service/impl/HandoutConvertPDFDealService.java b/src/main/java/com/qxueyou/scc/school/service/impl/HandoutConvertPDFDealService.java
index ff806f2..084369c 100644
--- a/src/main/java/com/qxueyou/scc/school/service/impl/HandoutConvertPDFDealService.java
+++ b/src/main/java/com/qxueyou/scc/school/service/impl/HandoutConvertPDFDealService.java
@@ -14,7 +14,7 @@
 import com.qxueyou.scc.school.service.IHandoutService;
 
 /**
- * pdf 转图片相关消息
+ * pdf 杞浘鐗囩浉鍏虫秷鎭�
  * 
  * @author charkraMin
  *
@@ -60,7 +60,7 @@
 //					+ ";classId:" + msg.getUserProperties("classId")
 //					+ ";userId:" + msg.getUserProperties("userId");
 //
-//			log.error( businessId + " :转码PDF讲义失败:" + e, e);
+//			log.error( businessId + " :杞爜PDF璁蹭箟澶辫触:" + e, e);
 //			onsExceptionLogService.logSaveExceptionLog(cfg.getConfigByEnv("ons-common-topic"), "CONVERT_PDF", businessId , desp );
 //		}
 //	}
diff --git a/src/main/java/com/qxueyou/scc/school/service/impl/HandoutService.java b/src/main/java/com/qxueyou/scc/school/service/impl/HandoutService.java
index d41a716..79ffb66 100644
--- a/src/main/java/com/qxueyou/scc/school/service/impl/HandoutService.java
+++ b/src/main/java/com/qxueyou/scc/school/service/impl/HandoutService.java
@@ -87,9 +87,9 @@
 import com.jacob.com.Variant;
 
 /**
- * 讲义管理服务
+ * 璁蹭箟绠$悊鏈嶅姟
  * 
- * @author 德虎 2015-1-4
+ * @author 寰疯檸 2015-1-4
  *
  */
 @Service
@@ -122,7 +122,7 @@
 	@Autowired
 	IOrgTextService orgTextService;
 
-	// /** 极光推送替换信鸽 */
+	// /** 鏋佸厜鎺ㄩ�佹浛鎹俊楦� */
 	// @Autowired
 	// IJPushService jpushService;
 
@@ -139,7 +139,7 @@
 	private ICourseWareService courseWareService;
 
 	/**
-	 * 依赖注入
+	 * 渚濊禆娉ㄥ叆
 	 *
 	 * @param handoutDAO
 	 */
@@ -149,7 +149,7 @@
 	}
 
 	/**
-	 * PPT\PPTX (office文件不直接处理,发送消息,使用特定的文档处理服务器处理) PDF直接处理
+	 * PPT\PPTX (office鏂囦欢涓嶇洿鎺ュ鐞嗭紝鍙戦�佹秷鎭紝浣跨敤鐗瑰畾鐨勬枃妗e鐞嗘湇鍔″櫒澶勭悊) PDF鐩存帴澶勭悊
 	 * 
 	 * 
 	 */
@@ -157,23 +157,23 @@
 	public Result insertHandout(String fullPath, String module, SchHandout handout) {
 		File file = null;
 		try {
-			// 取得当前上传文件类型:office(ppt、pptx)或者pdf,直接用后缀名来判断格式(office还是pdf)
+			// 鍙栧緱褰撳墠涓婁紶鏂囦欢绫诲瀷锛歰ffice(ppt銆乸ptx)鎴栬�卲df,鐩存帴鐢ㄥ悗缂�鍚嶆潵鍒ゆ柇鏍煎紡锛坥ffice杩樻槸pdf锛�
 			String filePart[] = fullPath.split("\\.");
 			String fileType = filePart[filePart.length - 1];
 
-			// 1.下载到应用服务器本地
+			// 1.涓嬭浇鍒板簲鐢ㄦ湇鍔″櫒鏈湴
 			String uuid = UUIDUtils.generateUUID();
 			String filePath = HandoutService.class.getClassLoader().getResource("../uploads").getPath()
 					.concat("handout/" + uuid + "/" + uuid + "." + fileType);
 			file = fileUploadService.doGetOssFile(fullPath, filePath, module, ClientUtils.getUserId());
-			// 是否是office
+			// 鏄惁鏄痮ffice
 			boolean pptFlag = false;
 
 			if ("PPT".equals(fileType.toUpperCase()) || "PPTX".equals(fileType.toUpperCase())) {
 
-				// 如果有密码,返回前台提示 07+ 无打开密码有权限密码无法检测出来
+				// 濡傛灉鏈夊瘑鐮侊紝杩斿洖鍓嶅彴鎻愮ず 07+ 鏃犳墦寮�瀵嗙爜鏈夋潈闄愬瘑鐮佹棤娉曟娴嬪嚭鏉�
 				if (getDecryptFlag(file, fileType.toUpperCase())) {
-					return new Result(false, "导入失败:您提交的文件有密码,请上传没有密码的文件!");
+					return new Result(false, "瀵煎叆澶辫触锛氭偍鎻愪氦鐨勬枃浠舵湁瀵嗙爜锛岃涓婁紶娌℃湁瀵嗙爜鐨勬枃浠讹紒");
 				}
 				pptFlag = true;
 			}
@@ -190,13 +190,13 @@
 			this.saveHandout(handout);
 			handout.setOriginHandoutId(handout.getHandoutId());
 
-			// 保存OrgText —— 讲义详情
+			// 淇濆瓨OrgText 鈥斺�� 璁蹭箟璇︽儏
 			orgTextService.doSaveOrgText(handout.getHandoutId(), OrgText.TABLE_NAME_HANDOUT, handout.getRemark());
 
-			// 更新上传文件使用轨迹
+			// 鏇存柊涓婁紶鏂囦欢浣跨敤杞ㄨ抗
 			fileUploadService.updateUploadTrace(fullPath, module, SysFileUploadTrace.FILE_USE, handout.getHandoutId());
 
-			// 序号
+			// 搴忓彿
 			String hql = "select MAX(c.orderNum) from SchHandout c where c.deleteFlag is false and c.classId = ? ";
 			Integer iMax = this.findUnique(hql, CollectionUtils.newList(ClientUtils.getClassId()), Integer.class);
 
@@ -208,7 +208,7 @@
 			handout.setOrderNum(iMax);
 			this.saveHandout(handout);
 
-			// 标记班级有讲义
+			// 鏍囪鐝骇鏈夎涔�
 			ClsClass cls = read(ClsClass.class, ClientUtils.getClassId());
 			if (cls != null && cls.getHaveHandout() == ClsClass.NOT_HAVE_HANDOUT) {
 				cls.setHaveHandout(ClsClass.HAVE_HANDOUT);
@@ -219,10 +219,10 @@
 			result.addData("pptFlag", pptFlag);
 			return result;
 		} catch (Exception e) {
-			this.log.error("讲义转码失败" + fullPath, e);
+			this.log.error("璁蹭箟杞爜澶辫触" + fullPath, e);
 		} finally {
 			if (file != null) {
-				// 删除下载到应用服务器的文档
+				// 鍒犻櫎涓嬭浇鍒板簲鐢ㄦ湇鍔″櫒鐨勬枃妗�
 				fileUploadService.doDeleteTempOssFile(file.getParentFile(), module, ClientUtils.getUserId());
 			}
 		}
@@ -230,7 +230,7 @@
 	}
 
 	/**
-	 * 转码PDF发送消息
+	 * 杞爜PDF鍙戦�佹秷鎭�
 	 * 
 	 * @param handoutId
 	 * @param fullPath
@@ -268,7 +268,7 @@
 		} catch (Exception e) {
 			String businessId = aliOnsConfig.getCommonTopic() + "-" + UUIDUtils.generateUUID();
 			String desp = "handoutId:" + handoutId + ";fullPath:" + fullPath + ";module:" + module;
-			log.error(businessId + " :转码PDF讲义失败:" + e, e);
+			log.error(businessId + " :杞爜PDF璁蹭箟澶辫触:" + e, e);
 		}
 	}
 
@@ -280,15 +280,15 @@
 		} catch (Exception e) {
 
 			String desp = "handoutId:" + handoutId + ";docPath:" + docPath + ";uploadModule:" + uploadModule;
-			log.error(handoutId + " :上传讲义ppt消息发送失败:" + e, e);
+			log.error(handoutId + " :涓婁紶璁蹭箟ppt娑堟伅鍙戦�佸け璐�:" + e, e);
 		}
 
 	}
 
 	/**
-	 * docdeal 消息队列调用,将office文件从oss下载到web server上,解析成图片,将解析后的图片传到oss上
-	 * 20150915:正式环境出现同一个ppt解析了两份,(消息队列处理前删除前面内容,用最新内容,这样操作,收藏的讲义可能会出现问题),已处理过不处理
-	 * 修改bug:ppt和jpg当前不在同一个目录下面,修改到同一个目录下面
+	 * docdeal 娑堟伅闃熷垪璋冪敤,灏唎ffice鏂囦欢浠巓ss涓嬭浇鍒皐eb server涓婏紝瑙f瀽鎴愬浘鐗囷紝灏嗚В鏋愬悗鐨勫浘鐗囦紶鍒皁ss涓�
+	 * 20150915:姝e紡鐜鍑虹幇鍚屼竴涓猵pt瑙f瀽浜嗕袱浠斤紝(娑堟伅闃熷垪澶勭悊鍓嶅垹闄ゅ墠闈㈠唴瀹癸紝鐢ㄦ渶鏂板唴瀹�,杩欐牱鎿嶄綔锛屾敹钘忕殑璁蹭箟鍙兘浼氬嚭鐜伴棶棰�)锛屽凡澶勭悊杩囦笉澶勭悊
+	 * 淇敼bug锛歱pt鍜宩pg褰撳墠涓嶅湪鍚屼竴涓洰褰曚笅闈紝淇敼鍒板悓涓�涓洰褰曚笅闈�
 	 * 
 	 * @param docPath
 	 * @param handoutId
@@ -333,7 +333,7 @@
 			// uploadModule, userId);
 
 			// 2.deal doc
-			// 使用新方式解析讲义,有个缺陷:上传img及数据库中handoutpage默认排序(15页ppt为例):1,10,11,12,13,14,15,2,3,4,5,6,7,8,9
+			// 浣跨敤鏂版柟寮忚В鏋愯涔�,鏈変釜缂洪櫡锛氫笂浼爄mg鍙婃暟鎹簱涓環andoutpage榛樿鎺掑簭(15椤祊pt涓轰緥)锛�1,10,11,12,13锛�14,15,2,3,4,5,6,7,8,9
 			List<SchHandoutPage> lstPages = Collections.EMPTY_LIST;
 			if ("PPT".equals(type)) {
 				lstPages = this.convertPPTToJPG(objOfficeFile, docPath, handoutId);
@@ -344,14 +344,14 @@
 
 			// 3.insert pages
 			if (lstPages.isEmpty()) {
-				log.error("转换ppt为空:" + handoutId + "-" + docPath + "-" + userId + "-" + uploadModule);
+				log.error("杞崲ppt涓虹┖:" + handoutId + "-" + docPath + "-" + userId + "-" + uploadModule);
 				// 4.modify handout status and pageCount
 				SchHandout objHandout = this.read(SchHandout.class, handoutId);
-				// jgw ,直接修改为发布
+				// jgw 锛岀洿鎺ヤ慨鏀逛负鍙戝竷
 				objHandout.setStatus(SchHandout.STATUS_FAILURE);
 
 				this.saveHandout(objHandout);
-				return new Result(false, "office讲义转换失败");
+				return new Result(false, "office璁蹭箟杞崲澶辫触");
 			}
 			for (SchHandoutPage page : lstPages) {
 				page.setHandoutId(handoutId);
@@ -361,23 +361,23 @@
 			// 4.modify handout status and pageCount
 			SchHandout objHandout = this.read(SchHandout.class, handoutId);
 			objHandout.setPageCount(lstPages.size());
-			// jgw ,直接修改为发布
+			// jgw 锛岀洿鎺ヤ慨鏀逛负鍙戝竷
 			objHandout.setStatus(SchHandout.STATUS_ISSUED);
 
-			// 如果首页图片为null 并且 lstPages不为空
+			// 濡傛灉棣栭〉鍥剧墖涓簄ull 骞朵笖 lstPages涓嶄负绌�
 			if (StringUtils.isBlank(objHandout.getCoverPageUrl())) {
 				objHandout.setCoverPageUrl(lstPages.get(0).getImgPath());
 			}
 
 			this.saveHandout(objHandout);
 
-			// 如果是管理员上传,处理指定到别处的数据
+			// 濡傛灉鏄鐞嗗憳涓婁紶锛屽鐞嗘寚瀹氬埌鍒鐨勬暟鎹�
 			doInitClassHandout(objHandout, lstPages);
 
 			log.debug("end1...docDealMsgReceiveService call insertHandoutPages success: docPath:  " + docPath
 					+ " ;handoutId:  " + handoutId);
 		} catch (Exception e) {
-			log.error("调用docdeal服务器解析ppt失败,失败原因:" + handoutId, e);
+			log.error("璋冪敤docdeal鏈嶅姟鍣ㄨВ鏋恜pt澶辫触锛屽け璐ュ師鍥狅細" + handoutId, e);
 			SchHandout objHandout = this.read(SchHandout.class, handoutId);
 			if (null != objHandout) {
 				objHandout.setStatus(SchHandout.STATUS_FAILURE);
@@ -393,7 +393,7 @@
 	}
 
 	/**
-	 * PPT\PPTX (office文件不直接处理,发送消息,使用特定的文档处理服务器处理) PDF直接处理
+	 * PPT\PPTX (office鏂囦欢涓嶇洿鎺ュ鐞嗭紝鍙戦�佹秷鎭紝浣跨敤鐗瑰畾鐨勬枃妗e鐞嗘湇鍔″櫒澶勭悊) PDF鐩存帴澶勭悊
 	 * 
 	 * 
 	 */
@@ -402,26 +402,26 @@
 	public Result insertOrgHandout(String fullPath, String module, SchHandout handout, String collegeCourseId) {
 		File file = null;
 		try {
-			// 取得当前上传文件类型:office(ppt、pptx)或者pdf,直接用后缀名来判断格式(office还是pdf)
+			// 鍙栧緱褰撳墠涓婁紶鏂囦欢绫诲瀷锛歰ffice(ppt銆乸ptx)鎴栬�卲df,鐩存帴鐢ㄥ悗缂�鍚嶆潵鍒ゆ柇鏍煎紡锛坥ffice杩樻槸pdf锛�
 			String filePart[] = fullPath.split("\\.");
 			String fileType = filePart[filePart.length - 1];
 
 			String rootPath = sccConfig.getResRootPath();
 			String outputPath = rootPath.concat(filePart[0].substring(1, filePart[0].length()));
 
-			// 1.下载到应用服务器本地
+			// 1.涓嬭浇鍒板簲鐢ㄦ湇鍔″櫒鏈湴
 			file = fileUploadService.doGetOssFile(fullPath,
 					"/temp/uploads/handout/" + UUIDUtils.generateUUID() + "/" + fileType + "." + fileType, module,
 					ClientUtils.getUserId());
 
-			// 是否是office
+			// 鏄惁鏄痮ffice
 			boolean pptFlag = false;
 
 			if ("PPT".equals(fileType.toUpperCase()) || "PPTX".equals(fileType.toUpperCase())) {
 
-				// 如果有密码,返回前台提示 07+ 无打开密码有权限密码无法检测出来
+				// 濡傛灉鏈夊瘑鐮侊紝杩斿洖鍓嶅彴鎻愮ず 07+ 鏃犳墦寮�瀵嗙爜鏈夋潈闄愬瘑鐮佹棤娉曟娴嬪嚭鏉�
 				if (getDecryptFlag(file, fileType.toUpperCase())) {
-					return new Result(false, "导入失败:您提交的文件有密码,请上传没有密码的文件!");
+					return new Result(false, "瀵煎叆澶辫触锛氭偍鎻愪氦鐨勬枃浠舵湁瀵嗙爜锛岃涓婁紶娌℃湁瀵嗙爜鐨勬枃浠讹紒");
 				}
 
 				pptFlag = true;
@@ -447,26 +447,26 @@
 			handout.setOriginHandoutId(handout.getHandoutId());
 			this.saveHandout(handout);
 
-			// 保存OrgText —— 讲义详情
+			// 淇濆瓨OrgText 鈥斺�� 璁蹭箟璇︽儏
 			orgTextService.doSaveOrgText(handout.getHandoutId(), OrgText.TABLE_NAME_HANDOUT, handout.getRemark());
 
-			// 更新上传文件使用轨迹
+			// 鏇存柊涓婁紶鏂囦欢浣跨敤杞ㄨ抗
 			fileUploadService.updateUploadTrace(fullPath, module, SysFileUploadTrace.FILE_USE, handout.getHandoutId());
 
-			// 讲义和科目关联
+			// 璁蹭箟鍜岀鐩叧鑱�
 			this.insertReCourse(collegeCourseId, handout.getHandoutId());
 
-			// 删除pdf ppt原文件,已上传至阿里与服务器
+			// 鍒犻櫎pdf ppt鍘熸枃浠讹紝宸蹭笂浼犺嚦闃块噷涓庢湇鍔″櫒
 			// FileUtils.deleteQuietly(file);
 			// insertAppointSelfOrg(handout.getHandoutId(),ClientUtils.getOrgId(),collegeCourseId);
 			Result result = new Result(true);
 			result.addData("pptFlag", pptFlag);
 			return result;
 		} catch (Exception e) {
-			this.log.error("讲义转码失败" + fullPath, e);
+			this.log.error("璁蹭箟杞爜澶辫触" + fullPath, e);
 		} finally {
 			if (file != null) {
-				// 删除下载到应用服务器的文档
+				// 鍒犻櫎涓嬭浇鍒板簲鐢ㄦ湇鍔″櫒鐨勬枃妗�
 				fileUploadService.doDeleteTempOssFile(file.getParentFile(), module, ClientUtils.getUserId());
 			}
 		}
@@ -474,7 +474,7 @@
 	}
 
 	/**
-	 * 编辑讲义
+	 * 缂栬緫璁蹭箟
 	 */
 	public Result doEditHandout(SchHandout newhandout, String type) {
 		SchHandout handout = read(SchHandout.class, newhandout.getHandoutId());
@@ -488,10 +488,10 @@
 		TraceUtils.setUpdateTrace(handout);
 		this.saveHandout(handout);
 
-		// 保存OrgText —— 讲义详情
+		// 淇濆瓨OrgText 鈥斺�� 璁蹭箟璇︽儏
 		orgTextService.doSaveOrgText(handout.getHandoutId(), OrgText.TABLE_NAME_HANDOUT, newhandout.getRemark());
 
-		// 更新统计表讲义名字
+		// 鏇存柊缁熻琛ㄨ涔夊悕瀛�
 		updateHandoutStatisticName(handout.getHandoutId(), handout.getName());
 
 		/*
@@ -525,7 +525,7 @@
 		 * schHandout.setSubjectId(scs.getClassSubjectId());
 		 * schHandout.setSubjectName(scs.getName()); this.saveHandout(schHandout); }
 		 * 
-		 * // 保存OrgText —— 讲义详情 orgTextService.doSaveOrgTexts(handoutIds,
+		 * // 淇濆瓨OrgText 鈥斺�� 璁蹭箟璇︽儏 orgTextService.doSaveOrgTexts(handoutIds,
 		 * OrgText.TABLE_NAME_HANDOUT, newhandout.getRemark());
 		 */
 
@@ -533,7 +533,7 @@
 	}
 
 	/**
-	 * 更新统计表讲义名字
+	 * 鏇存柊缁熻琛ㄨ涔夊悕瀛�
 	 * 
 	 * @param handoutId
 	 * @param handoutName
@@ -550,7 +550,7 @@
 	}
 
 	/**
-	 * 得到office 文档是否有密码
+	 * 寰楀埌office 鏂囨。鏄惁鏈夊瘑鐮�
 	 * 
 	 * @param file
 	 * @param fileType
@@ -568,7 +568,7 @@
 	}
 
 	/**
-	 * ppt 检测是否包含密码
+	 * ppt 妫�娴嬫槸鍚﹀寘鍚瘑鐮�
 	 * 
 	 * @param file
 	 * @return
@@ -586,14 +586,14 @@
 			HSLFSlideShow hss = new HSLFSlideShow(fs);
 			IOUtils.closeQuietly(fs);
 		} catch (IOException e) {
-			log.error("PPT: getPPTDecryptFlag IOException :" + e);
+			log.error("PPT: getPPTDecryptFlag IOException 锛�" + e);
 		} catch (EncryptedPowerPointFileException e) {
 			if ("The CurrentUserAtom specifies that the document is encrypted".equals(e.getMessage())
 					|| "Encrypted PowerPoint files are not supported".equals(e.getMessage())) {
 				flag = true;
 			}
 		} catch (Exception e) {
-			log.error("PPT: getPPTDecryptFlag Exception :" + e);
+			log.error("PPT: getPPTDecryptFlag Exception 锛�" + e);
 		}
 
 		return flag;
@@ -601,7 +601,7 @@
 	}
 
 	/**
-	 * pptx 检测是否有密码,07+ 无打开文件密码,有编辑密码,暂时判断不出来
+	 * pptx 妫�娴嬫槸鍚︽湁瀵嗙爜锛�07+ 鏃犳墦寮�鏂囦欢瀵嗙爜锛屾湁缂栬緫瀵嗙爜锛屾殏鏃跺垽鏂笉鍑烘潵
 	 * 
 	 * @param file
 	 * @return
@@ -623,31 +623,31 @@
 				}
 			}
 		} catch (FileNotFoundException e) {
-			log.error("getPPTXDecryptFlag()_获取InputStream 异常:" + e);
+			log.error("getPPTXDecryptFlag()_鑾峰彇InputStream 寮傚父锛�" + e);
 		} catch (IOException e) {
-			log.error("getPPTXDecryptFlag()_获取POIFSFileSystem 异常:" + e);
+			log.error("getPPTXDecryptFlag()_鑾峰彇POIFSFileSystem 寮傚父锛�" + e);
 		} catch (NullPointerException e) {
-			log.error("getPPTXDecryptFlag()_获取EncryptionInfo,07+ 异常:" + e);
+			log.error("getPPTXDecryptFlag()_鑾峰彇EncryptionInfo,07+ 寮傚父锛�" + e);
 		} catch (GeneralSecurityException e) {
-			log.error("getPPTXDecryptFlag()_获取verifyPassword 异常:" + e);
+			log.error("getPPTXDecryptFlag()_鑾峰彇verifyPassword 寮傚父锛�" + e);
 		} catch (Exception e) {
-			log.error("PPTX: getPPTXDecryptFlag Exception :" + e);
+			log.error("PPTX: getPPTXDecryptFlag Exception 锛�" + e);
 		}
 
 		return flag;
 	}
 
 	/**
-	 * 使用jacob另存为图片,需要测试多个请求同时调用情况 1.office2013报错,但是用office2013另存為效果最好
-	 * 2.office2007解析不完美,字体偏粗,边上有较明显锯齿,可以用jacob調用
-	 * 3.office2010解析基本正常,但是较于office2013,大字体和边框会有非常少量锯齿(推荐使用)
+	 * 浣跨敤jacob鍙﹀瓨涓哄浘鐗�,闇�瑕佹祴璇曞涓姹傚悓鏃惰皟鐢ㄦ儏鍐� 1.office2013鎶ラ敊锛屼絾鏄敤office2013鍙﹀瓨鐐烘晥鏋滄渶濂�
+	 * 2.office2007瑙f瀽涓嶅畬缇庯紝瀛椾綋鍋忕矖锛岃竟涓婃湁杈冩槑鏄鹃敮榻�,鍙互鐢╦acob瑾跨敤
+	 * 3.office2010瑙f瀽鍩烘湰姝e父锛屼絾鏄緝浜巓ffice2013锛屽ぇ瀛椾綋鍜岃竟妗嗕細鏈夐潪甯稿皯閲忛敮榻匡紙鎺ㄨ崘浣跨敤锛�
 	 * 
-	 * info:服务器推荐使用office2010,jacob.jar包更新后如果支持office2013,测试哪个版本会效果更好,可以替换服务器office版本
+	 * info锛氭湇鍔″櫒鎺ㄨ崘浣跨敤office2010锛宩acob.jar鍖呮洿鏂板悗濡傛灉鏀寔office2013锛屾祴璇曞摢涓増鏈細鏁堟灉鏇村ソ锛屽彲浠ユ浛鎹㈡湇鍔″櫒office鐗堟湰
 	 * 
 	 * @param file
-	 *            ppt文件
+	 *            ppt鏂囦欢
 	 * @param docPath
-	 *            oss 存放office文件的路径
+	 *            oss 瀛樻斁office鏂囦欢鐨勮矾寰�
 	 * @return
 	 */
 	@Override
@@ -659,38 +659,38 @@
 		try {
 
 			if (!file.exists()) {
-				throw new Exception("文件不存在!");
+				throw new Exception("鏂囦欢涓嶅瓨鍦�!");
 			}
-			// 获取另存为图片时的文件
+			// 鑾峰彇鍙﹀瓨涓哄浘鐗囨椂鐨勬枃浠�
 			File imgFile = getHandoutImgPath(file.getParentFile().getPath());
 
-			log.debug("消息调用JACOB解析ppt成功,进入解析方法,开始初始化JACOB组件!");
+			log.debug("娑堟伅璋冪敤JACOB瑙f瀽ppt鎴愬姛锛岃繘鍏ヨВ鏋愭柟娉曪紝寮�濮嬪垵濮嬪寲JACOB缁勪欢锛�");
 			ComThread.InitSTA();
-			log.debug("开始初始化JACOB组件,ComThread.InitSTA()调用成功!");
+			log.debug("寮�濮嬪垵濮嬪寲JACOB缁勪欢锛孋omThread.InitSTA()璋冪敤鎴愬姛锛�");
 
 			application = new ActiveXComponent("PowerPoint.Application");
-			// 默认不可见,但是大文件另存为时,会出现“ESC可取消保存”的进度框,暂时不知道如何不显示进度条
+			// 榛樿涓嶅彲瑙侊紝浣嗘槸澶ф枃浠跺彟瀛樹负鏃讹紝浼氬嚭鐜扳�淓SC鍙彇娑堜繚瀛樷�濈殑杩涘害妗�,鏆傛椂涓嶇煡閬撳浣曚笉鏄剧ず杩涘害鏉�
 			// Dispatch.put(application, "Visible", new Variant(true));
-			// 打开一个现有的 Presentation 对象
+			// 鎵撳紑涓�涓幇鏈夌殑 Presentation 瀵硅薄
 
 			Dispatch ppts = application.getProperty("Presentations").toDispatch();
 
 			ppt = Dispatch.call(ppts, "Open", file.getPath(), true, // ReadOnly
-					false, // Untitled指定文件是否有标题
-					false// WithWindow指定文件是否可见
+					false, // Untitled鎸囧畾鏂囦欢鏄惁鏈夋爣棰�
+					false// WithWindow鎸囧畾鏂囦欢鏄惁鍙
 			).toDispatch();
 
-			// 另存为图片 (17):图片类型
-			// 将web服务器中的ppt另存为图片,调用ppt的另存为方法,图片格式为(幻灯片1.JPG,幻灯片2.JPG...)
+			// 鍙﹀瓨涓哄浘鐗� 锛�17锛夛細鍥剧墖绫诲瀷
+			// 灏唚eb鏈嶅姟鍣ㄤ腑鐨刾pt鍙﹀瓨涓哄浘鐗囷紝璋冪敤ppt鐨勫彟瀛樹负鏂规硶锛屽浘鐗囨牸寮忎负锛堝够鐏墖1.JPG,骞荤伅鐗�2.JPG...锛�
 			Dispatch.call(ppt, "SaveAs", imgFile.getPath(), new Variant(17));
 
-			// 上传图片到oss服务器并准备需要保存到数据库的handoutpage数据
+			// 涓婁紶鍥剧墖鍒皁ss鏈嶅姟鍣ㄥ苟鍑嗗闇�瑕佷繚瀛樺埌鏁版嵁搴撶殑handoutpage鏁版嵁
 			results = uploadImgPrepareData(imgFile, docPath, handoutId);
 
 		} catch (ComFailException e) {
-			log.error("ComFailException解析保存ppt异常:" + e, e);
+			log.error("ComFailException瑙f瀽淇濆瓨ppt寮傚父锛�" + e, e);
 		} catch (Exception e) {
-			log.error("Exception解析保存ppt异常:" + e, e);
+			log.error("Exception瑙f瀽淇濆瓨ppt寮傚父锛�" + e, e);
 		} finally {
 			if (ppt != null) {
 				Dispatch.call(ppt, "Close");
@@ -705,10 +705,10 @@
 	}
 
 	/**
-	 * 创建另存为图片文件路径,ppt解析的图片存在ppt同级目录image文件夹下,默认命名方式为:幻灯片1.JPG
+	 * 鍒涘缓鍙﹀瓨涓哄浘鐗囨枃浠惰矾寰�,ppt瑙f瀽鐨勫浘鐗囧瓨鍦╬pt鍚岀骇鐩綍image鏂囦欢澶逛笅锛岄粯璁ゅ懡鍚嶆柟寮忎负锛氬够鐏墖1.JPG
 	 * 
 	 * @param path
-	 *            ppt上传到web服务器的路径
+	 *            ppt涓婁紶鍒皐eb鏈嶅姟鍣ㄧ殑璺緞
 	 * @return
 	 */
 	private File getHandoutImgPath(String path) {
@@ -718,7 +718,7 @@
 	}
 
 	/**
-	 * 将解析后的图片上传到oss,并且返回需要存储到数据库的handoutpage信息
+	 * 灏嗚В鏋愬悗鐨勫浘鐗囦笂浼犲埌oss锛屽苟涓旇繑鍥為渶瑕佸瓨鍌ㄥ埌鏁版嵁搴撶殑handoutpage淇℃伅
 	 * @param imgFileDir
 	 * @param docPath
 	 * @param handoutId
@@ -734,7 +734,7 @@
 
 				String[] filelist = imgFileDir.list();
 
-				// 判断是否有另存为的图片
+				// 鍒ゆ柇鏄惁鏈夊彟瀛樹负鐨勫浘鐗�
 				if (null != filelist && filelist.length > 0) {
 					results = new ArrayList<SchHandoutPage>(filelist.length);
 					File imgFile;
@@ -748,12 +748,12 @@
 					for (String strFile : filelist) {
 						// cacheService.set("handout_upload_schedule_"+handoutId, 60,
 						// i*100f/filelist.length);
-						// 直接使用strPath构造imgFile,会导致获取输入流时,报错,file只给文件名,默认为工程目录,和src同级,用全路径构造
+						// 鐩存帴浣跨敤strPath鏋勯�爄mgFile锛屼細瀵艰嚧鑾峰彇杈撳叆娴佹椂锛屾姤閿欙紝file鍙粰鏂囦欢鍚嶏紝榛樿涓哄伐绋嬬洰褰曪紝鍜宻rc鍚岀骇锛岀敤鍏ㄨ矾寰勬瀯閫�
 						imgFile = new File(imgFileDir.getPath() + "/" + strFile);
 						if (imgFile.getName().indexOf(".") != -1) {
-							// 图片文件名
+							// 鍥剧墖鏂囦欢鍚�
 							String imgFileName = imgFile.getName().split("\\.")[0];
-							// 图片文件类型
+							// 鍥剧墖鏂囦欢绫诲瀷
 							String imgFileType = imgFile.getName().split("\\.")[1];
 
 							if (StringUtils.isNotBlank(imgFileName) && imgFileName.length() > 3) {
@@ -772,11 +772,11 @@
 					}
 
 				} else {
-					log.error("jacob解析失败,无另存为的图片,image文件夹为空:" + imgFileDir.getPath());
+					log.error("jacob瑙f瀽澶辫触锛屾棤鍙﹀瓨涓虹殑鍥剧墖锛宨mage鏂囦欢澶逛负绌猴細" + imgFileDir.getPath());
 					return Collections.EMPTY_LIST;
 				}
 			} else {
-				log.error("jacob解析失败,未生成imgFileDir文件夹");
+				log.error("jacob瑙f瀽澶辫触锛屾湭鐢熸垚imgFileDir鏂囦欢澶�");
 				return Collections.EMPTY_LIST;
 			}
 		} finally {
@@ -786,7 +786,7 @@
 	}
 
 	/**
-	 * 使用jpedal转换pdf为图片,默认格式为1.PNG、2.PNG、3.PNG
+	 * 浣跨敤jpedal杞崲pdf涓哄浘鐗囷紝榛樿鏍煎紡涓�1.PNG銆�2.PNG銆�3.PNG
 	 * 
 	 * @param
 	 *
@@ -796,7 +796,7 @@
 	private List<SchHandoutPage> convertPDFToPNG(File file, String module, String handoutId) {
 
 //		List<SchHandoutPage> results = new ArrayList<SchHandoutPage>(30);
-//		// 得到转换对象
+//		// 寰楀埌杞崲瀵硅薄
 //		ConvertPagesToImages objConvert = new ConvertPagesToImages(file.getPath());
 //		try {
 //			if (objConvert.openPDFFile()) {
@@ -806,10 +806,10 @@
 //				for (int iPage = 1; iPage <= pageCount; iPage++) {
 //					// cacheService.set("handout_upload_schedule_"+handoutId, 60,
 //					// iPage*100f/pageCount);
-//					// 得到解析的每一页图片
+//					// 寰楀埌瑙f瀽鐨勬瘡涓�椤靛浘鐗�
 //					BufferedImage img = objConvert.getPageAsImage(iPage, true);
 //
-//					// 判断图片是否高大于宽
+//					// 鍒ゆ柇鍥剧墖鏄惁楂樺ぇ浜庡
 //					int width = img.getWidth();
 //					int height = img.getHeight();
 //					BufferedImage handlerImg = null;
@@ -817,7 +817,7 @@
 //						handlerImg = rotatePdfImg(img, 270, null);
 //					}
 //
-//					// 上传
+//					// 涓婁紶
 //					String destPath = "/web/res/img/school/handout/" + file.getParentFile().getName() + "/" + iPage
 //							+ ".PNG";
 //					String directory = webPath + "res/img/school/handout/" + file.getParentFile().getName();
@@ -836,13 +836,13 @@
 //			}
 //			objConvert.closePDFfile();
 //		} catch (PdfException e) {
-//			log.error("jpedal解析pdf为图片失败:", e);
+//			log.error("jpedal瑙f瀽pdf涓哄浘鐗囧け璐ワ細", e);
 //			return Collections.EMPTY_LIST;
 //		} catch (IOException e) {
-//			log.error("pdf解析为图片失败:", e);
+//			log.error("pdf瑙f瀽涓哄浘鐗囧け璐ワ細", e);
 //			return Collections.EMPTY_LIST;
 //		} finally {
-//			// 删除下载到应用服务器的文档
+//			// 鍒犻櫎涓嬭浇鍒板簲鐢ㄦ湇鍔″櫒鐨勬枃妗�
 //			fileUploadService.doDeleteTempOssFile(file.getParentFile(), module, ClientUtils.getUserId());
 //		}
 
@@ -851,11 +851,11 @@
 
 	private BufferedImage rotatePdfImg(BufferedImage image, int degree, Color bgcolor) {
 		int degree0 = degree;
-		// 原始图象的宽高
+		// 鍘熷鍥捐薄鐨勫楂�
 		int iwidth = image.getWidth();
 		int iheight = image.getHeight();
 
-		// 处理的宽高
+		// 澶勭悊鐨勫楂�
 		int width = 0;
 		int height = 0;
 		int positionX = 0;
@@ -865,10 +865,10 @@
 			degree0 = 360 + degree0;
 		}
 
-		// 将角度转为弧度
+		// 灏嗚搴﹁浆涓哄姬搴�
 		double ang = Math.toRadians(degree0);
 
-		// 确定旋转后的图象的高度和宽度
+		// 纭畾鏃嬭浆鍚庣殑鍥捐薄鐨勯珮搴﹀拰瀹藉害
 		if (degree0 == 180 || degree0 == 0 || degree0 == 360) {
 			width = iwidth;
 			height = iheight;
@@ -882,7 +882,7 @@
 			height = (int) (sinVal * iwidth) + (int) (cosVal * iheight);
 		}
 
-		// 确定原点坐标
+		// 纭畾鍘熺偣鍧愭爣
 		positionX = (width - iwidth) / 2;
 		positionY = (height - iheight) / 2;
 		BufferedImage rotatedImage = new BufferedImage(width, height, image.getType());
@@ -895,7 +895,7 @@
 		}
 
 		AffineTransform at = new AffineTransform();
-		// 旋转图象
+		// 鏃嬭浆鍥捐薄
 		at.rotate(ang, width / 2, height / 2);
 		at.translate(positionX, positionY);
 		AffineTransformOp op = new AffineTransformOp(at, AffineTransformOp.TYPE_BICUBIC);
@@ -906,7 +906,7 @@
 	}
 
 	/**
-	 * 新增HandoutPage对象
+	 * 鏂板HandoutPage瀵硅薄
 	 * @param path
 	 * @param i
 	 * @return
@@ -921,7 +921,7 @@
 
 		page.setImgPath(path0);
 
-		// 旧版本convertPPTToPNG 这里为(i + 1) convertPPTToJPG 为i
+		// 鏃х増鏈琧onvertPPTToPNG 杩欓噷涓猴紙i + 1锛� convertPPTToJPG 涓篿
 		page.setPageOrder(i);
 		TraceUtils.setCreateTrace(page);
 		return page;
@@ -936,7 +936,7 @@
 	@Override
 	public Result deleteHandouts(String[] handoutIds) {
 		if (handoutIds.length == 0) {
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
 		for (String handoutId : handoutIds) {
 			SchHandout interact = read(SchHandout.class, handoutId);
@@ -954,10 +954,10 @@
 		for (String handoutId : handoutIds) {
 
 			if ((orgIds != null && orgIds.length != 0) || (classIds != null && classIds.length != 0)) {
-				// 删除需要回撤的讲义
+				// 鍒犻櫎闇�瑕佸洖鎾ょ殑璁蹭箟
 				deleteAppoint(handoutId, orgIds, classIds);
 			} else {
-				// 删除讲义
+				// 鍒犻櫎璁蹭箟
 				String hql = " from SchHandoutReCourse where handoutId = ? and deleteFlag is false and orgId = ?";
 				SchHandoutReCourse shr = findUnique(hql, CollectionUtils.newList(handoutId, ClientUtils.getOrgId()),
 						SchHandoutReCourse.class);
@@ -973,7 +973,7 @@
 				 * null){ TraceUtils.setUpdateTrace(handout); handout.setDeleteFlag(true);
 				 * this.saveHandout(handout); }
 				 */
-				// 用户选择同时删除下级讲义
+				// 鐢ㄦ埛閫夋嫨鍚屾椂鍒犻櫎涓嬬骇璁蹭箟
 				if (delAll == 1) {
 					deleteSub(handoutId, ClientUtils.getOrgId());
 				}
@@ -986,7 +986,7 @@
 
 	@SuppressWarnings("unchecked")
 	private void deleteSub(String handoutId, String currOrgId) {
-		// 机构层级视频是没有重新new ,查询出机构下级ID再删关联表
+		// 鏈烘瀯灞傜骇瑙嗛鏄病鏈夐噸鏂皀ew 锛屾煡璇㈠嚭鏈烘瀯涓嬬骇ID鍐嶅垹鍏宠仈琛�
 		String sql = " select oa.organization_id from organization as oa,organization ob " + " where "
 				+ " ob.ORGANIZATION_ID = ? " + " and  " + " oa.org_code like  CONCAT(ob.org_code,'%' ) "
 				+ " and oa.delete_flag is false and ob.delete_flag is false " + " order by oa.level,oa.org_code asc ";
@@ -1004,7 +1004,7 @@
 			save(schHandoutReCourse);
 		}
 
-		// 班主任层面视频指定过后都是new 出来的,通过originVideoId 可以查出所有指定过去的视频
+		// 鐝富浠诲眰闈㈣棰戞寚瀹氳繃鍚庨兘鏄痭ew 鍑烘潵鐨勶紝閫氳繃originVideoId 鍙互鏌ュ嚭鎵�鏈夋寚瀹氳繃鍘荤殑瑙嗛
 		hql = "select classId from ClsClass where orgId in (:orgIds) and deleteFlag is false";
 		map = new HashMap<String, Object>();
 		map.put("orgIds", orgIds.toArray());
@@ -1025,7 +1025,7 @@
 
 	private Result deleteAppoint(String handoutId, String orgIds[], String classIds[]) {
 		Map<String, Object> args = new HashMap<String, Object>();
-		// 删除需要回撤的机构讲义
+		// 鍒犻櫎闇�瑕佸洖鎾ょ殑鏈烘瀯璁蹭箟
 		if (orgIds.length != 0) {
 
 			String hql = " from SchHandoutReCourse where handoutId = :handoutId and deleteFlag is false and orgId in (:orgIds) and orgId != :currOrgId";
@@ -1043,7 +1043,7 @@
 			}
 		}
 
-		// 删除需要回撤的班主任讲义
+		// 鍒犻櫎闇�瑕佸洖鎾ょ殑鐝富浠昏涔�
 		if (classIds.length != 0) {
 			args = new HashMap<String, Object>();
 			args.put(HANDOUT_ID, handoutId);
@@ -1062,7 +1062,7 @@
 	}
 
 	/**
-	 * 获取讲义列表数据
+	 * 鑾峰彇璁蹭箟鍒楄〃鏁版嵁
 	 * 
 	 * @return
 	 */
@@ -1075,8 +1075,8 @@
 		String hql = "";
 		List<Object> agrs = new ArrayList<Object>();
 		agrs.add(ClientUtils.getClassId());
-		// 1班主任:获取该班级(class_id)下面的讲师负责课程下的讲义;
-		// 2讲师:获取该讲师(teacher_id)负责课程下的讲义
+		// 1鐝富浠伙細鑾峰彇璇ョ彮绾э紙class_id锛変笅闈㈢殑璁插笀璐熻矗璇剧▼涓嬬殑璁蹭箟;
+		// 2璁插笀锛氳幏鍙栬璁插笀锛坱eacher_id锛夎礋璐h绋嬩笅鐨勮涔�
 		if (user != null && UserInfoWrapper.ROLE_CHARGER.equals(ClientUtils.getCurrentRole())) {
 			hql = "select h.handoutId,h.name,h.pageCount,h.status,h.subjectId,h.subjectName, h.orderNum, h.remark  "
 					+ " from SchHandout h " + " where h.deleteFlag is false " + " and h.classId = ?";
@@ -1085,7 +1085,7 @@
 					+ " from SchHandout h " + " where h.deleteFlag is false " + " and h.classId = ?";
 		}
 		if (StringUtils.isNotBlank(tid)) {
-			// 其他
+			// 鍏朵粬
 			if ("-1".equals(tid)) {
 				hql = hql.concat(
 						" and not EXISTS (select 1 from SchClassSubject t where t.deleteFlag is false and t.classSubjectId = h.subjectId) ");
@@ -1116,7 +1116,7 @@
 	}
 
 	/**
-	 * 获取机构讲义列表数据
+	 * 鑾峰彇鏈烘瀯璁蹭箟鍒楄〃鏁版嵁
 	 * 
 	 * @return
 	 */
@@ -1126,7 +1126,7 @@
 		List<Object[]> handoutLst = null;
 		List<Object> args = new ArrayList<Object>();
 		String hql = "";
-		// 其他
+		// 鍏朵粬
 		if (("-" + collegeCourseId).equals(subjectId)) {
 			hql = "select v.handoutId,v.name,v.pageCount,v.status,'','','',0,v.subjectId from SchHandout v,SchHandoutReCourse r where v.collegeCourseId = ? and v.deleteFlag is false and r.deleteFlag is false and r.handoutId = v.handoutId and r.orgId = ? and"
 					+ " not EXISTS (select 1 from SchSubject t where t.deleteFlag is false and t.subjectId = v.subjectId)";
@@ -1171,7 +1171,7 @@
 	}
 
 	/**
-	 * 指定机构讲义
+	 * 鎸囧畾鏈烘瀯璁蹭箟
 	 * 
 	 * @return
 	 */
@@ -1180,9 +1180,9 @@
 			String collegeCourseId) {
 
 		if (null == handoutIds || handoutIds.length == 0) {
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
-		// 一次性查询classId对应的orgId
+		// 涓�娆℃�ф煡璇lassId瀵瑰簲鐨刼rgId
 		Map<String, Object> argsMap = new HashMap<String, Object>();
 		Map<String, String> classMap = new HashMap<String, String>();
 		if (classIds.length > 0) {
@@ -1191,14 +1191,14 @@
 			argsMap.put("classIds", classIds);
 			List<ClsClass> classList = findByComplexHql(hql, argsMap, ClsClass.class);
 
-			// 放入map中 KEY:classId VALUE:orgId
+			// 鏀惧叆map涓� KEY:classId VALUE:orgId
 
 			for (ClsClass orgClass : classList) {
 				classMap.put(orgClass.getClassId(), orgClass.getOrgId());
 			}
 		}
 
-		// 一次性查出handoutId对应的handoutOrder
+		// 涓�娆℃�ф煡鍑篽andoutId瀵瑰簲鐨刪andoutOrder
 		Map<String, Integer> orderMap = new HashMap<String, Integer>();
 		String hql = " from SchHandoutReCourse where handoutId in (:handoutIds) and deleteFlag is false and orgId = :currOrgId";
 		argsMap = new HashMap<String, Object>();
@@ -1210,10 +1210,10 @@
 		}
 
 		for (String handoutId : handoutIds) {
-			if (orgIds.length > 0) { // 指定给机构
+			if (orgIds.length > 0) { // 鎸囧畾缁欐満鏋�
 				insertAppointOrg(orgIds, handoutId, collegeCourseId, orderMap);
 			}
-			if (classIds.length > 0) { // 指定给班级
+			if (classIds.length > 0) { // 鎸囧畾缁欑彮绾�
 				insertAppointClass(classIds, handoutId, classMap, collegeCourseId, orderMap);
 			}
 		}
@@ -1222,7 +1222,7 @@
 	}
 
 	/**
-	 * 指定给机构
+	 * 鎸囧畾缁欐満鏋�
 	 * 
 	 * @param orgIds
 	 * @param handoutId
@@ -1239,7 +1239,7 @@
 		for (String orgId : orgIds) {
 			orgList.add(orgId);
 		}
-		// 剔除掉不符合条件的orgId
+		// 鍓旈櫎鎺変笉绗﹀悎鏉′欢鐨刼rgId
 		orgList.removeAll(strings);
 		if (orgList.isEmpty()) {
 			return;
@@ -1259,7 +1259,7 @@
 	}
 
 	/**
-	 * 指定给班级
+	 * 鎸囧畾缁欑彮绾�
 	 * 
 	 * @param classIds
 	 * @param handoutId
@@ -1268,7 +1268,7 @@
 	private void insertAppointClass(String classIds[], String handoutId, Map<String, String> classMap,
 			String collegeCourseId, Map<String, Integer> orderMap) {
 
-		// 章节id
+		// 绔犺妭id
 		Map<String, SubjectChapter> origChapterMap = new HashMap<String, SubjectChapter>();
 		SchHandout handout = read(SchHandout.class, handoutId);
 
@@ -1285,7 +1285,7 @@
 		if (classList.isEmpty()) {
 			return;
 		}
-		// 一次性查询班级ID对应的classSubjectId
+		// 涓�娆℃�ф煡璇㈢彮绾D瀵瑰簲鐨刢lassSubjectId
 		hql = " from SchClassSubject where classId in(:classIds) and origSubjectId = :subjectId and deleteFlag is false";
 		args = new HashMap<String, Object>();
 		args.put("classIds", classList.toArray());
@@ -1327,7 +1327,7 @@
 
 			this.saveHandout(sh);
 
-			// 插入OrgText
+			// 鎻掑叆OrgText
 			orgTextService.doInsertOrgText(sh.getHandoutId(), OrgText.TABLE_NAME_HANDOUT,
 					oldOrgText == null ? sh.getRemark() : oldOrgText.getContent());
 
@@ -1343,7 +1343,7 @@
 				save(page);
 			}
 
-			// 标记班级有讲义
+			// 鏍囪鐝骇鏈夎涔�
 			ClsClass cls = read(ClsClass.class, classId);
 			if (cls != null && cls.getHaveHandout() == ClsClass.NOT_HAVE_HANDOUT) {
 				cls.setHaveHandout(ClsClass.HAVE_HANDOUT);
@@ -1364,11 +1364,11 @@
 	@Override
 	public Result doStartHandouts(String handoutIds) {
 		if (StringUtils.isEmpty(handoutIds)) {
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
 		String[] handoutIdArray = handoutIds.split(",");
 
-		// 发送讲义系统通知
+		// 鍙戦�佽涔夌郴缁熼�氱煡
 		sendSysMsg(handoutIds);
 
 		for (String handoutId : handoutIdArray) {
@@ -1378,7 +1378,7 @@
 			TraceUtils.setUpdateTrace(handout);
 			this.saveHandout(handout);
 
-			// 推送消息给学员
+			// 鎺ㄩ�佹秷鎭粰瀛﹀憳
 			Map<String, String> extras = new HashMap<String, String>(1);
 			extras.put("senderId", "sys_msg");
 			extras.put("type", "SYS_MSG");
@@ -1391,8 +1391,8 @@
 
 			for (List<String> userIds : lstUserIdList) {
 
-				// jpushService.doJpushByUserIds(userIds, extras, "有新讲义", "发布了讲义:" +
-				// handout.getName(), "发布了讲义:" + handout.getName());
+				// jpushService.doJpushByUserIds(userIds, extras, "鏈夋柊璁蹭箟", "鍙戝竷浜嗚涔�:" +
+				// handout.getName(), "鍙戝竷浜嗚涔�:" + handout.getName());
 
 			}
 
@@ -1402,7 +1402,7 @@
 	}
 
 	/**
-	 * 拆分成200人一组
+	 * 鎷嗗垎鎴�200浜轰竴缁�
 	 * @param classId
 	 * @return
 	 */
@@ -1414,13 +1414,13 @@
 		// List<String> lstUserIds = userService.getUserLstByClassId(classId);
 		List<String> lstUserIds = null;
 
-		// 小于200 直接返回
+		// 灏忎簬200 鐩存帴杩斿洖
 		if (lstUserIds.size() < 200) {
 			result.add(lstUserIds);
 			return result;
 		}
 
-		// 大于200,分批处理
+		// 澶т簬200锛屽垎鎵瑰鐞�
 		int iSize = lstUserIds.size() / 200;
 		int iLeft = lstUserIds.size() % 200;
 		iSize = iLeft == 0 ? iSize : iSize + 1;
@@ -1431,11 +1431,11 @@
 
 			lstSplitUserIds = new ArrayList<String>(200);
 
-			// 200 个
+			// 200 涓�
 			if (i < (iSize - 1)) {
 				lstSplitUserIds.addAll(lstUserIds.subList(i * 200, (i + 1) * 200));
 			} else {
-				// 最后剩下的,可能小于200个
+				// 鏈�鍚庡墿涓嬬殑锛屽彲鑳藉皬浜�200涓�
 				lstSplitUserIds.addAll(lstUserIds.subList(i * 200, lstUserIds.size()));
 			}
 
@@ -1448,7 +1448,7 @@
 	}
 
 	/**
-	 * 发送讲义系统消息
+	 * 鍙戦�佽涔夌郴缁熸秷鎭�
 	 * @param handoutIds
 	 * @return
 	 */
@@ -1463,7 +1463,7 @@
 		// msg.put("handoutIds", handoutIds);
 		// try {
 		// onsProducer.sendMsg(msg); //
-		// 消费类:com.qxueyou.scc.school.service.impl.HandoutSysMsgDealService
+		// 娑堣垂绫伙細com.qxueyou.scc.school.service.impl.HandoutSysMsgDealService
 		//
 		// } catch (Exception e) {
 		// log.error("call DocdealMsgSendService fail.userId: " +
@@ -1484,7 +1484,7 @@
 	@Override
 	public Result doStopHandouts(String[] handoutIds) {
 		if (handoutIds.length == 0) {
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
 		for (String handoutId : handoutIds) {
 			SchHandout interact = read(SchHandout.class, handoutId);
@@ -1497,7 +1497,7 @@
 	}
 
 	/**
-	 * 插入历史讲义
+	 * 鎻掑叆鍘嗗彶璁蹭箟
 	 * 
 	 * @param handout
 	 * @param oldHandoutId
@@ -1540,7 +1540,7 @@
 	}
 
 	/**
-	 * 拷贝讲义
+	 * 鎷疯礉璁蹭箟
 	 * @param oldHandoutId
 	 * @param subjectId
 	 * @param collegeCourseId
@@ -1585,7 +1585,7 @@
 
 			saveOrUpdateAll(newHandoutPages);
 		}
-		// 非班级拷贝需要关联表新增记录
+		// 闈炵彮绾ф嫹璐濋渶瑕佸叧鑱旇〃鏂板璁板綍
 		if (StringUtils.isEmpty(ClientUtils.getClassId())) {
 			this.insertReCourse(collegeCourseId, newHandout.getHandoutId());
 		}
@@ -1594,13 +1594,13 @@
 	}
 
 	/**
-	 * 插入讲义和科目关联
+	 * 鎻掑叆璁蹭箟鍜岀鐩叧鑱�
 	 * 
 	 * @param collegeCourseId
 	 * @param handoutId
 	 */
 	private void insertReCourse(String collegeCourseId, String handoutId) {
-		// 序号
+		// 搴忓彿
 		String hql = "select MAX(c.orderNum) from SchHandoutReCourse c where c.deleteFlag is false and c.collegeCourseId = ? and orgId = ? ";
 		Integer iMax = this.findUnique(hql, CollectionUtils.newList(collegeCourseId, ClientUtils.getOrgId()),
 				Integer.class);
@@ -1622,7 +1622,7 @@
 	}
 
 	/**
-	 * 查询讲义列表
+	 * 鏌ヨ璁蹭箟鍒楄〃
 	 * 
 	 * @param hql
 	 * @param args
@@ -1634,21 +1634,21 @@
 	}
 
 	/**
-	 * 批量操作讲义收藏记录
+	 * 鎵归噺鎿嶄綔璁蹭箟鏀惰棌璁板綍
 	 * 
 	 * @param lstFavor
 	 * @return
 	 */
 	@Override
 	public Result doOperHandoutFavorDataBatch(List<SchHandoutPageFavor> lstFavor) {
-		// 批量增加或者更新
+		// 鎵归噺澧炲姞鎴栬�呮洿鏂�
 		this.saveOrUpdateAll(lstFavor);
 
 		return new Result(true);
 	}
 
 	/**
-	 * 后台获取列表数据
+	 * 鍚庡彴鑾峰彇鍒楄〃鏁版嵁
 	 * 
 	 * @param sql
 	 * @param args
@@ -1660,7 +1660,7 @@
 	}
 
 	/**
-	 * 查询选择班级下历史讲义
+	 * 鏌ヨ閫夋嫨鐝骇涓嬪巻鍙茶涔�
 	 * @param sql
 	 * @param args
 	 * @return
@@ -1676,12 +1676,12 @@
 		List<SchHandout> handouts = this.find(hql, CollectionUtils.newList(handout.getHandoutId()), SchHandout.class);
 
 		if (null == handouts || handouts.isEmpty()) {
-			return new Result(true, "无关联讲义");
+			return new Result(true, "鏃犲叧鑱旇涔�");
 		}
 
 		List<SchHandoutPage> allPages = new ArrayList<SchHandoutPage>();
 
-		// 循环处理
+		// 寰幆澶勭悊
 		for (SchHandout ho : handouts) {
 
 			TraceUtils.setUpdateTrace(ho);
@@ -1693,7 +1693,7 @@
 			this.saveHandout(ho);
 		}
 
-		// 明细
+		// 鏄庣粏
 		this.saveOrUpdateAll(allPages);
 
 		return new Result(true);
@@ -1701,7 +1701,7 @@
 	}
 
 	/**
-	 * 赋值所有讲义明细
+	 * 璧嬪�兼墍鏈夎涔夋槑缁�
 	 * 
 	 * @param lstPages
 	 * @param handoutId
@@ -1730,7 +1730,7 @@
 	}
 
 	/**
-	 * 旋转讲义图片
+	 * 鏃嬭浆璁蹭箟鍥剧墖
 	 * 
 	 * @param angle
 	 * @param handoutPageId
@@ -1742,7 +1742,7 @@
 		SchHandoutPage page = this.read(SchHandoutPage.class, handoutPageId);
 
 		if (null == page) {
-			return new Result(false, "page为空");
+			return new Result(false, "page涓虹┖");
 		}
 
 		String imgPath = page.getImgPath();
@@ -1753,7 +1753,7 @@
 		}
 
 		if (StringUtils.isBlank(imgPath)) {
-			return new Result(false, "path解析出错");
+			return new Result(false, "path瑙f瀽鍑洪敊");
 		}
 
 		imgPath = imgPath.concat("@").concat(angle).concat("r");
@@ -1764,10 +1764,10 @@
 	}
 
 	/**
-	 * 查询讲义,模糊课程名或者讲义名
+	 * 鏌ヨ璁蹭箟,妯$硦璇剧▼鍚嶆垨鑰呰涔夊悕
 	 * 
 	 * @param keyWord
-	 *            查询关键字
+	 *            鏌ヨ鍏抽敭瀛�
 	 * @return
 	 */
 	@Override
@@ -1783,7 +1783,7 @@
 	}
 
 	/**
-	 * 更新讲义观看量
+	 * 鏇存柊璁蹭箟瑙傜湅閲�
 	 */
 	public Result updatePlayCount(String handoutId) {
 		SchHandout sh = read(SchHandout.class, handoutId);
@@ -1854,7 +1854,7 @@
 			save(shrd);
 		}
 
-		// 统计表增加数据
+		// 缁熻琛ㄥ鍔犳暟鎹�
 		hql = " from SchHandoutStatistic where userId=? and classId=? and handoutId=?";
 		SchHandoutStatistic shs = findUnique(hql,
 				CollectionUtils.newList(ClientUtils.getUserId(), ClientUtils.getClassId(), sh.getHandoutId()),
@@ -1878,11 +1878,11 @@
 					CollectionUtils.newList(ClientUtils.getUserId(), ClientUtils.getClassId(), record.getHandoutId()));
 			Set<String> set = new HashSet<String>();
 
-			// 本次观看
+			// 鏈瑙傜湅
 			for (String string2 : nums) {
 				set.add(string2);
 			}
-			// 数据库观看记录
+			// 鏁版嵁搴撹鐪嬭褰�
 			set.addAll(pageLst);
 
 			shs.setCompDegree(new BigDecimal(set.size()).divide(new BigDecimal(record.getPageCount()), 2,
@@ -1901,7 +1901,7 @@
 	}
 
 	/**
-	 * 讲义上传重复数据处理
+	 * 璁蹭箟涓婁紶閲嶅鏁版嵁澶勭悊
 	 * 
 	 * @param handoutId
 	 * @return
@@ -1931,16 +1931,16 @@
 	}
 
 	/**
-	 * 排序
+	 * 鎺掑簭
 	 * 
 	 * @param ids
-	 *            排序id
+	 *            鎺掑簭id
 	 * @param index
-	 *            序号
+	 *            搴忓彿
 	 * @return
 	 */
 	public Result doOrder(List<String> ids, List<Integer> index) {
-		// 循环修改order
+		// 寰幆淇敼order
 		CommonDAO commonDAO = this.getCommonDAO();
 		for (int i = 0; i < ids.size(); i++) {
 			String handoutId = ids.get(i);
@@ -1960,7 +1960,7 @@
 	}
 
 	/**
-	 * 保存讲义接口
+	 * 淇濆瓨璁蹭箟鎺ュ彛
 	 * 
 	 * @param handout
 	 * @return
diff --git a/src/main/java/com/qxueyou/scc/school/service/impl/InteactService.java b/src/main/java/com/qxueyou/scc/school/service/impl/InteactService.java
index 9a28da7..2f7e83d 100644
--- a/src/main/java/com/qxueyou/scc/school/service/impl/InteactService.java
+++ b/src/main/java/com/qxueyou/scc/school/service/impl/InteactService.java
@@ -32,7 +32,7 @@
 	
 	private InteractDAO interactDAO;
 	
-	/** 扩展练习service */
+	/** 鎵╁睍缁冧範service */
 	@Autowired
 	private IExerciseService exerciseService;
 	
@@ -41,7 +41,7 @@
 	}
 	
 	/**
-     * 依赖注入
+     * 渚濊禆娉ㄥ叆
      *
      * @param interactDAO
      */
@@ -58,7 +58,7 @@
 	@Override
 	public Result insertInteract(String interactName, String exerciseTime) {
 		
-		// 设置基本字段
+		// 璁剧疆鍩烘湰瀛楁
 		ExerciseGroup group = new ExerciseGroup();
 		TraceUtils.setCreateTrace(group);
 		group.setName(interactName);
@@ -69,7 +69,7 @@
 		
 		this.exerciseService.saveExerciseGroup(group);
 		
-		// 添加组扩展表信息
+		// 娣诲姞缁勬墿灞曡〃淇℃伅
 		ExerciseGroupExtend extend = new ExerciseGroupExtend();
 		extend.setGroupId(group.getGroupId());
 		extend.setExerciseTime(exerciseTime);
@@ -105,7 +105,7 @@
 	}
 
 	@Override
-	public Result doStartInteracts(String[] interactIds) {// 激活
+	public Result doStartInteracts(String[] interactIds) {// 婵�娲�
 		
 		Result result = new Result(true);
 		
@@ -117,7 +117,7 @@
 				TraceUtils.setUpdateTrace(interact);
 				save(interact);				
 			}else{
-				result = new Result(true,"只有锁定的互动才能激活");
+				result = new Result(true,"鍙湁閿佸畾鐨勪簰鍔ㄦ墠鑳芥縺娲�");
 			}
 		}
 		
@@ -137,7 +137,7 @@
 				TraceUtils.setUpdateTrace(interact);
 				save(interact);				
 			}else{
-				result = new Result(true,"只有锁定和正在互动的互动才能停用");
+				result = new Result(true,"鍙湁閿佸畾鍜屾鍦ㄤ簰鍔ㄧ殑浜掑姩鎵嶈兘鍋滅敤");
 			}
 		}
 		
@@ -145,7 +145,7 @@
 	}
 	
 	/**
-	 * 修改互动状态
+	 * 淇敼浜掑姩鐘舵��
 	 * @param interactIds
 	 * @param status
 	 * @return
@@ -161,7 +161,7 @@
 	}*/
 	
 	/**
-	 * 新增练习记录
+	 * 鏂板缁冧範璁板綍
 	 * @param groupId
 	 * @return 
 	 */
@@ -188,7 +188,7 @@
 	}
 	
 	/**
-	 * 新增练习记录
+	 * 鏂板缁冧範璁板綍
 	 * @param groupId
 	 * @return 
 	 */
@@ -202,14 +202,14 @@
 	}
 	
 	/**
-	 * 新增练习记录答案
+	 * 鏂板缁冧範璁板綍绛旀
 	 * @return
 	 */
 	public Result insertExerciseItemAnswerU(String exerciseId, 
 			String exerciseRecordId, String answers, byte corrects) {
 		String userId = ClientUtils.getUserId();
 		
-		// 组装答案记录
+		// 缁勮绛旀璁板綍
 		ExerciseItemAnswerU	answerU = new ExerciseItemAnswerU();
 			
 		answerU.setExerciseItemId(exerciseId);
@@ -220,14 +220,14 @@
 		answerU.setDeleteFlag(false);
 		TraceUtils.setCreateTrace(answerU);
 			
-		// 保存
+		// 淇濆瓨
 		this.save(answerU);
 		
 		return new Result(true);
 	}
 	
 	/**
-	 * 更新练习记录答案
+	 * 鏇存柊缁冧範璁板綍绛旀
 	 * @return
 	 */
 	public Result updateExerciseItemAnswerU(ExerciseItemAnswerU answerU, String answers, byte corrects) {
@@ -235,33 +235,33 @@
 		answerU.setCorrect(corrects);
 		TraceUtils.setUpdateTrace(answerU);
 			
-		// 保存更新
+		// 淇濆瓨鏇存柊
 		this.save(answerU);
 		
 		return new Result(true);
 	}
 	
 	/**
-	 * 操作互动练习答案记录
+	 * 鎿嶄綔浜掑姩缁冧範绛旀璁板綍
 	 * @return
 	 */
 	@Override
 	public Result doOperInteractExerciseAnswer(String interactGroupId, 
 				String exerciseId, String answers,byte corrects,String currTitleNumber) {
-		// 1.互动组 判断 是否新纪录  
+		// 1.浜掑姩缁� 鍒ゆ柇 鏄惁鏂扮邯褰�  
 		String hql = "from ExerciseRecord where deleteFlag is false "
 				+ "and exerciseGroupId=? and userId=? ";
 		
 		List<ExerciseRecord> lstRecord = this.find(hql, 
 				CollectionUtils.newList(interactGroupId, ClientUtils.getUserId()), ExerciseRecord.class);
 		
-		// 练习记录id
+		// 缁冧範璁板綍id
 		String exerciseRecordId= "";
 		if(lstRecord.isEmpty()){
-			// 1. 没有   互动组记录 插入一条新数据
+			// 1. 娌℃湁   浜掑姩缁勮褰� 鎻掑叆涓�鏉℃柊鏁版嵁
 			exerciseRecordId = this.insertExerciseRecord(interactGroupId,currTitleNumber);
 		}else{
-			// 更新题号
+			// 鏇存柊棰樺彿
 			ExerciseRecord record = lstRecord.get(0);
 			record.setTitleMaxNumber(currTitleNumber);
 			updateExerciseRecord(record);
@@ -269,30 +269,30 @@
 			exerciseRecordId = record.getRecordId();
 		}
 		
-		/*// 判断是否重复提交  已经存在 先删除 再插入
+		/*// 鍒ゆ柇鏄惁閲嶅鎻愪氦  宸茬粡瀛樺湪 鍏堝垹闄� 鍐嶆彃鍏�
 		hql = "from ExerciseItemAnswerU where deleteFlag is false "
 				+ "and exerciseItemId=? and userId=? and exerciseRecordId=?";
 		
 		List<ExerciseItemAnswerU> lstAnswerU =  this.find(hql, 
 				CollectionUtils.newList(exerciseId, ClientUtils.getUserId(),exerciseRecordId), ExerciseItemAnswerU.class);
 		
-		// 2.已经存在 更新
+		// 2.宸茬粡瀛樺湪 鏇存柊
 		if(!lstAnswerU.isEmpty()){
 			
-			// 答案obj
+			// 绛旀obj
 			ExerciseItemAnswerU answerU = lstAnswerU.get(0);
 			
 			return updateExerciseItemAnswerU(answerU, answers, corrects);
 		}*/
 		
-		// 3.不存在 插入
+		// 3.涓嶅瓨鍦� 鎻掑叆
 		Result result = this.insertExerciseItemAnswerU(exerciseId, exerciseRecordId, answers, corrects);
 		
 		return result;
 	}
 	
 	/**
-	 * 查询互动练习结果
+	 * 鏌ヨ浜掑姩缁冧範缁撴灉
 	 * @param hql
 	 * @param args
 	 * @return
@@ -319,7 +319,7 @@
 	}
 	
 	/**
-	 * 查询互动练习结果
+	 * 鏌ヨ浜掑姩缁冧範缁撴灉
 	 * @param hql
 	 * @param args
 	 * @return
@@ -332,7 +332,7 @@
 	}
 	
 	/**
-	 * 操作互动练习答案记录
+	 * 鎿嶄綔浜掑姩缁冧範绛旀璁板綍
 	 * @return
 	 */
 	@Override
@@ -342,20 +342,20 @@
 		String exerciseGroupId = resultData.getExerciseGroupId();
 		String currTitleNumber = resultData.getCurrTitleNum();
 		
-		// 1.互动组 判断 是否新纪录  
+		// 1.浜掑姩缁� 鍒ゆ柇 鏄惁鏂扮邯褰�  
 		String hql = "from ExerciseRecord where deleteFlag is false "
 				+ "and exerciseGroupId=? and userId=? ";
 		
 		List<ExerciseRecord> lstRecord = this.find(hql, 
 				CollectionUtils.newList(exerciseGroupId, ClientUtils.getUserId()), ExerciseRecord.class);
 		
-		// 练习记录id
+		// 缁冧範璁板綍id
 		String exerciseRecordId= "";
 		if(lstRecord.isEmpty()){
-			// 1. 没有   互动组记录 插入一条新数据
+			// 1. 娌℃湁   浜掑姩缁勮褰� 鎻掑叆涓�鏉℃柊鏁版嵁
 			exerciseRecordId = this.insertExerciseRecord(exerciseGroupId,currTitleNumber);
 		}else{
-			// 更新题号
+			// 鏇存柊棰樺彿
 			ExerciseRecord record = lstRecord.get(0);
 			record.setTitleMaxNumber(currTitleNumber);
 			record.setStatus(ExerciseRecord.STATUS_SUBMIT);
@@ -366,7 +366,7 @@
 		}
 		
 		
-		// 2.保存答案
+		// 2.淇濆瓨绛旀
 		this.saveInteractExerciseAnswerBatch(resultData.getItems(), exerciseRecordId);
 		
 		
@@ -374,7 +374,7 @@
 	}
 	
 	/**
-	 * 批量保存互动答案
+	 * 鎵归噺淇濆瓨浜掑姩绛旀
 	 * @param resultData
 	 * @param exerciseRecordId
 	 * @return
@@ -398,7 +398,7 @@
 			lstAnswerU.add(answerU);
 		}
 		
-		// 保存结果
+		// 淇濆瓨缁撴灉
 		this.saveOrUpdateAll(lstAnswerU);
 		
 		return new Result(true);
@@ -408,19 +408,19 @@
 	public Result doSubmitInteractResult(String interactGroupId) {
 	
 
-		// 1.互动组 判断 是否新纪录  
+		// 1.浜掑姩缁� 鍒ゆ柇 鏄惁鏂扮邯褰�  
 		String hql = "from ExerciseRecord where deleteFlag is false "
 				+ "and exerciseGroupId=? and userId=? ";
 		
 		List<ExerciseRecord> lstRecord = this.find(hql, 
 				CollectionUtils.newList(interactGroupId, ClientUtils.getUserId()), ExerciseRecord.class);
 		
-		// 练习记录id
+		// 缁冧範璁板綍id
 		if(lstRecord.isEmpty()){
-			// 1. 没有   互动组记录 插入一条新数据
+			// 1. 娌℃湁   浜掑姩缁勮褰� 鎻掑叆涓�鏉℃柊鏁版嵁
 			this.insertExerciseRecord(interactGroupId,null);
 		}else{
-			// 更新题号
+			// 鏇存柊棰樺彿
 			ExerciseRecord record = lstRecord.get(0);
 			
 			record.setStatus(ExerciseRecord.STATUS_SUBMIT);
diff --git a/src/main/java/com/qxueyou/scc/school/service/impl/LessonService.java b/src/main/java/com/qxueyou/scc/school/service/impl/LessonService.java
index 0e78001..1606433 100644
--- a/src/main/java/com/qxueyou/scc/school/service/impl/LessonService.java
+++ b/src/main/java/com/qxueyou/scc/school/service/impl/LessonService.java
@@ -40,9 +40,9 @@
 import com.qxueyou.scc.teach.subject.model.SubjectChapter;
 
 /**
- * 课程服务
+ * 璇剧▼鏈嶅姟
  * 
- * @author 德虎
+ * @author 寰疯檸
  *
  */
 @Service
@@ -74,7 +74,7 @@
 	private static final String OPERATE_TYPE_STOP = "Stop";
 	
 	/**
-	 * 依赖注入
+	 * 渚濊禆娉ㄥ叆
 	 *
 	 * @param lessonDAO
 	 */
@@ -88,31 +88,31 @@
 	}
 
 	/**
-	 * 定时发布、停用
+	 * 瀹氭椂鍙戝竷銆佸仠鐢�
 	 */
 	@Override
 	public Result  doVideoIssueStop() {
 
-		doVideoIssue(); // 发布未发布的视频
-		//doVideoStop(); // 停用已过期的视频
+		doVideoIssue(); // 鍙戝竷鏈彂甯冪殑瑙嗛
+		//doVideoStop(); // 鍋滅敤宸茶繃鏈熺殑瑙嗛
 
 		return new Result(true);
 	}
 	
 	/**
-	 * 定时发布
+	 * 瀹氭椂鍙戝竷
 	 */
 	@SuppressWarnings("unused")
 	public Result  doVideoIssue() {
 		
 		Date now = new Date();
 		
-		// 查询未发布的视频 ---- 只有草稿状态的视频才能发布
+		// 鏌ヨ鏈彂甯冪殑瑙嗛 ---- 鍙湁鑽夌鐘舵�佺殑瑙嗛鎵嶈兘鍙戝竷
 		String hql = "from MediaVideo where deleteFlag is false and status = ? and startTime <= ? and endTime > ? ";
 		List<MediaVideo> mediaLst =  this.find(hql, CollectionUtils.newList(MediaVideo.STATUS_DRAFT,now,now), MediaVideo.class);
 		
 //		for (MediaVideo mediaVideo : mediaLst) {
-//			// 发送消息  发布视频
+//			// 鍙戦�佹秷鎭�  鍙戝竷瑙嗛
 //			sendMsgVideoIssueStop(OPERATE_TYPE_ISSUE, mediaVideo.getVideoId());
 //		}
 //		
@@ -124,12 +124,12 @@
 
 		Date now = new Date();
 		
-		// 查询已过期的视频 ---- 只有已发布的视频才能停用
+		// 鏌ヨ宸茶繃鏈熺殑瑙嗛 ---- 鍙湁宸插彂甯冪殑瑙嗛鎵嶈兘鍋滅敤
 		String hql = "from MediaVideo where deleteFlag is false and status = ? and endTime <= ?";
 		List<MediaVideo> mediaLst =  this.find(hql, CollectionUtils.newList(MediaVideo.STATUS_PUBLISHED,now), MediaVideo.class);
 		
 //		for (MediaVideo mediaVideo : mediaLst) {
-//			// 发送消息  停用视频
+//			// 鍙戦�佹秷鎭�  鍋滅敤瑙嗛
 //			sendMsgVideoIssueStop(OPERATE_TYPE_STOP, mediaVideo.getVideoId());
 //		}
 		return new Result(true);
@@ -138,15 +138,15 @@
 	
 	
 	/**
-	 * 单个处理视频发布与上传
+	 * 鍗曚釜澶勭悊瑙嗛鍙戝竷涓庝笂浼�
 	 */
 	@SuppressWarnings("unused")
 	@Override
 	public Result  doSingleVideoIssueStop(String videoId,String operateType) {
 
 		MediaVideo video = read(MediaVideo.class, videoId);
-		if(OPERATE_TYPE_ISSUE.equals(operateType)){ // 发布
-			log.info("发布");
+		if(OPERATE_TYPE_ISSUE.equals(operateType)){ // 鍙戝竷
+			log.info("鍙戝竷");
 			bulkUpdateInLoop("update MediaVideo set status = " + MediaVideo.STATUS_PUBLISHED + " where videoId = ? " ,new Object[] { videoId });
 			bulkUpdateInLoop("update SchCourseware set status = " + MediaVideo.STATUS_PUBLISHED + " where id = ? " ,new Object[] { videoId });
 			
@@ -160,8 +160,8 @@
 //				log.error("Lesson.sendMsg.videoId: " + video.getVideoId(), e);
 //			}
 			
-		}else if(OPERATE_TYPE_STOP.equals(operateType)){ // 停用
-			log.info("停用");
+		}else if(OPERATE_TYPE_STOP.equals(operateType)){ // 鍋滅敤
+			log.info("鍋滅敤");
 			bulkUpdateInLoop("update MediaVideo set status = " + MediaVideo.STATUS_TAKEOFF + " where videoId = ? " ,new Object[] { videoId });
 		}
 		
@@ -169,24 +169,24 @@
 	}
 	
 	/**
-	 * 添加视频
+	 * 娣诲姞瑙嗛
 	 */
 	@Override
 	public Result insertVideo(MediaVideo video, String lessonId, boolean isCopy) {
 
 		this.insertVideoSingle(video, lessonId, isCopy);
 
-		// 将数据插入转码队列
+		// 灏嗘暟鎹彃鍏ヨ浆鐮侀槦鍒�
 		mediaVideoService.insertVideoConverTask(video);
 		
-		// 调用本地转码服务
+		// 璋冪敤鏈湴杞爜鏈嶅姟
 		//mediaVideoService.doFfmpegMediaTrascode(video.getVideoId(), video.getName());
 
 		return new Result(true, video.getVideoId());
 	}
 	
 	/**
-	 * 添加视频,不调用转码
+	 * 娣诲姞瑙嗛锛屼笉璋冪敤杞爜
 	 */
 	@Override
 	public Result insertVideoSingle(MediaVideo video, String lessonId, boolean isCopy) {
@@ -200,12 +200,12 @@
 		if(isCopy){
 			video.setStatus(video.getStatus() == MediaVideo.STATUS_PUBLISHED ?MediaVideo.STATUS_DRAFT: video.getStatus());
 		}else{
-			//jgw 暂时直接修改为
+			//jgw 鏆傛椂鐩存帴淇敼涓�
 //			video.setStatus(MediaVideo.STATUS_LINEUP);
 			video.setStatus(MediaVideo.STATUS_PUBLISHED);
 		}
 		
-		// 序号
+		// 搴忓彿
 		String hql = "select MAX(c.videoOrder) from MediaVideo c where c.deleteFlag is false and c.classId = ? ";
 		Integer iMax = this.findUnique(hql, CollectionUtils.newList(ClientUtils.getClassId()), Integer.class);
 
@@ -218,7 +218,7 @@
 		
 		this.mediaVideoService.saveVideo(video);
 		
-		// 保存OrgText —— 视频详情
+		// 淇濆瓨OrgText 鈥斺�� 瑙嗛璇︽儏
 		orgTextService.doSaveOrgText(video.getVideoId(), OrgText.TABLE_NAME_VIDEO, video.getRemark());
 		
 		if(StringUtils.isNotBlank(lessonId)){
@@ -230,7 +230,7 @@
 			this.save(re);
 		}
 		
-		//标记班级有视频
+		//鏍囪鐝骇鏈夎棰�
 		ClsClass cls = read(ClsClass.class, ClientUtils.getClassId());
 		if(cls!=null&&cls.getHaveVideo()==ClsClass.NOT_HAVE_VIDEO){
 			cls.setHaveVideo(ClsClass.HAVE_VIDEO);
@@ -241,13 +241,13 @@
 	}
 
 	/**
-	 * 批量发布视频
+	 * 鎵归噺鍙戝竷瑙嗛
 	 */
 	@Override
 	public Result doStartVideos(String videoIds) {
 
 		if(StringUtils.isEmpty(videoIds)){
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
 		String[] ids = videoIds.split(",");
 		boolean resultFlag = false;
@@ -258,7 +258,7 @@
 			}
 		}
 		
-//		// 发送消息
+//		// 鍙戦�佹秷鎭�
 //		ONSMsg msg = new ONSMsg(onsProducer.getTopic());
 //		msg.put("msgType", "VIDEO_PUBLISH"); 
 //		msg.put("videoIds", videoIds); 
@@ -273,13 +273,13 @@
 	}
 	
 	/**
-	 * 发布视频
+	 * 鍙戝竷瑙嗛
 	 */
 	public Result doStartVideo(String videoId) {
 		
 		MediaVideo video = read(MediaVideo.class, videoId);
 		
-		if( video.getStatus() == MediaVideo.STATUS_DRAFT || video.getStatus() == MediaVideo.STATUS_TAKEOFF || video.getStatus() == MediaVideo.STATUS_PUBLISHED){ // 草稿、已下架
+		if( video.getStatus() == MediaVideo.STATUS_DRAFT || video.getStatus() == MediaVideo.STATUS_TAKEOFF || video.getStatus() == MediaVideo.STATUS_PUBLISHED){ // 鑽夌銆佸凡涓嬫灦
 			
 			TraceUtils.setUpdateTrace(video);
 			video.setStatus(MediaVideo.STATUS_PUBLISHED);
@@ -294,12 +294,12 @@
 	}
 	
 	/**
-	 * 批量停用视频
+	 * 鎵归噺鍋滅敤瑙嗛
 	 */
 	@Override
 	public Result doStopVideos(String videoIds) {
 		if(StringUtils.isEmpty(videoIds)){
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
 		boolean resultFlag = false;
 
@@ -316,13 +316,13 @@
 	}
 	
 	/**
-	 * 停用视频
+	 * 鍋滅敤瑙嗛
 	 */
 	public Result doStopVideo(String videoId) {
 		
 		MediaVideo video = read(MediaVideo.class, videoId);
 		
-		if(video.getStatus() == MediaVideo.STATUS_PUBLISHED){ // 已发布
+		if(video.getStatus() == MediaVideo.STATUS_PUBLISHED){ // 宸插彂甯�
 			
 			TraceUtils.setUpdateTrace(video);
 			video.setStatus(MediaVideo.STATUS_TAKEOFF);
@@ -332,12 +332,12 @@
 			return new Result(true);
 		}else{
 			
-			return new Result(false,"视频已发布状态才能停用视频");
+			return new Result(false,"瑙嗛宸插彂甯冪姸鎬佹墠鑳藉仠鐢ㄨ棰�");
 		}
 	}
 	
 	/**
-	 * 添加视频
+	 * 娣诲姞瑙嗛
 	 */
 	@Override
 	public Result insertOrgVideo(MediaVideo video, String collegeCourseId, boolean isCopy) {
@@ -361,10 +361,10 @@
 		video.setOriginVideoId(video.getVideoId());
 		mediaVideoService.saveVideo(video);
 		
-		// 保存OrgText —— 视频详情
+		// 淇濆瓨OrgText 鈥斺�� 瑙嗛璇︽儏
 		orgTextService.doSaveOrgText(video.getVideoId(), OrgText.TABLE_NAME_VIDEO, video.getRemark());
 
-		// 序号
+		// 搴忓彿
 		hql = "select MAX(c.videoOrder) from MediaVideoReCourse c where c.deleteFlag is false and c.collegeCourseId = ?  ";
 		Integer iMax = this.findUnique(hql, CollectionUtils.newList(collegeCourseId), Integer.class);
 
@@ -384,10 +384,10 @@
 		save(course);
 
 		//mediaVideoService.doFfmpegMediaTrascode(video.getVideoId(), video.getName());
-		// 将数据插入转码队列
+		// 灏嗘暟鎹彃鍏ヨ浆鐮侀槦鍒�
 		mediaVideoService.insertVideoConverTask(video);
 		
-		// TODO 不自动指定给自己
+		// TODO 涓嶈嚜鍔ㄦ寚瀹氱粰鑷繁
 		// insertAppointSelfOrg(video.getVideoId(), ClientUtils.getOrgId(),collegeCourseId);
 		Result result = new Result(true,video.getVideoId());
 		result.addData("count", count+1);
@@ -396,9 +396,9 @@
 
 	public Result insertAppointOrgVideo(String videoIds[], String orgIds[], String classIds[]) {
 		if(videoIds.length == 0){
-			return new Result(false,"参数错误");
+			return new Result(false,"鍙傛暟閿欒");
 		}
-		//预先按videoId和OrgId查询mediavideoreCourse表,需要把当前机构ID也放进lstOrgIds一起查
+		//棰勫厛鎸塿ideoId鍜孫rgId鏌ヨmediavideoreCourse琛紝闇�瑕佹妸褰撳墠鏈烘瀯ID涔熸斁杩沴stOrgIds涓�璧锋煡
 		List<String> lstOrgIds0 = Arrays.asList(orgIds);
 		List<String> lstOrgIds = new ArrayList<String>();
 		lstOrgIds.addAll(lstOrgIds0);
@@ -412,10 +412,10 @@
 		for (MediaVideoReCourse mediaVideoReCourse : lstMediaCourse) {
 			videoOrgCourseMap.put(mediaVideoReCourse.getVideoId()+mediaVideoReCourse.getOrgId(), mediaVideoReCourse);
 		}
-		if(orgIds.length!=0){ // 添加管理员视频
+		if(orgIds.length!=0){ // 娣诲姞绠$悊鍛樿棰�
 			insertOrgVideo(videoIds,orgIds,videoOrgCourseMap);
 		}
-		if(classIds.length!=0){ // 添加班级视频
+		if(classIds.length!=0){ // 娣诲姞鐝骇瑙嗛
 			insertClassVideo(videoIds,classIds,ClientUtils.getOrgId(),videoOrgCourseMap);
 		}
 		
@@ -462,7 +462,7 @@
 		Map<String,MediaVideo> videoMap = new HashMap<String, MediaVideo>();
 		Map<String,MediaVideo> originVideoMap = new HashMap<String, MediaVideo>();
 		Map<String,SchClassSubject> origSubjectMap = new HashMap<String, SchClassSubject>();
-		//章节id
+		//绔犺妭id
 		List<String> lstCharpteIds = new ArrayList<String>();
 		Map<String,SubjectChapter> origChapterMap = new HashMap<String, SubjectChapter>();
 		List<String> keys = new ArrayList<String>();
@@ -478,7 +478,7 @@
 			}
 			keys.add(mediaVideo.getVideoId());
 		}
-		//查询所有originVideoId对应的mediaVideo
+		//鏌ヨ鎵�鏈塷riginVideoId瀵瑰簲鐨刴ediaVideo
 		hql = " from MediaVideo where originVideoId in (:originVideoIds) and deleteFlag is false and classId in (:classIds)";
 		args = new HashMap<String, Object>();
 		args.put("originVideoIds", lstOriginVideoIds.toArray());
@@ -502,7 +502,7 @@
 		for (String clsId : classIds) {
 			for (String videoId : videoIds) {
 				MediaVideo video = videoMap.get(videoId);
-				MediaVideo mv = originVideoMap.get(video.getOriginVideoId()+clsId); // 判断当前班级有没有这个视频
+				MediaVideo mv = originVideoMap.get(video.getOriginVideoId()+clsId); // 鍒ゆ柇褰撳墠鐝骇鏈夋病鏈夎繖涓棰�
 				if (mv == null) {
 					SchClassSubject clsSubject = origSubjectMap.get(clsId+video.getSubjectId());
 					mv = new MediaVideo();
@@ -527,16 +527,16 @@
 							mv.setChapterId(null);
 						}
 					} catch (Exception e) {
-						log.error("视频下发到班级BeanUtils.copyProperties()方法copy失败", e);
+						log.error("瑙嗛涓嬪彂鍒扮彮绾eanUtils.copyProperties()鏂规硶copy澶辫触", e);
 					}
 					TraceUtils.setCreateTrace(mv);
 					this.mediaVideoService.saveVideo(mv);
 
-					OrgText oldOrgText = (OrgText) orgTextMap.get(video.getVideoId()); // 插入OrgText
+					OrgText oldOrgText = (OrgText) orgTextMap.get(video.getVideoId()); // 鎻掑叆OrgText
 					orgTextService.doInsertOrgText(mv.getVideoId(), OrgText.TABLE_NAME_VIDEO, oldOrgText != null ? oldOrgText.getContent() : video.getRemark());
 				}
 			}
-			//标记班级有视频
+			//鏍囪鐝骇鏈夎棰�
 			ClsClass cls = read(ClsClass.class, clsId);
 			if(cls!=null&&cls.getHaveVideo()==ClsClass.NOT_HAVE_VIDEO){
 				cls.setHaveVideo(ClsClass.HAVE_VIDEO);
@@ -548,7 +548,7 @@
 	@Override
 	public Result deleteVideos(String videoIds) {
 		if(StringUtils.isEmpty(videoIds)){
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
 		
 		String[] ids = videoIds.split(",");
@@ -560,7 +560,7 @@
 			}
 		}
 
-		// 转码记录
+		// 杞爜璁板綍
 		bulkUpdateInLoop("update MediaVideoTrans set deleteFlag = true where videoId = ?", lst.toArray());
 		this.bulkUpdateInLoop("update SchCourseware set deleteFlag=1 where id=?", lst.toArray());
 
@@ -595,7 +595,7 @@
 		
 		if(MediaVideo.STATUS_TAKEOFF == v.getStatus()){
 			if(null != video.getStartTime() && video.getStartTime().before(new Date()) 
-					&& null != video.getEndTime() && !video.getEndTime().before(new Date())){ // video.getStartTime()在new Date()之前返回true,否则返回false
+					&& null != video.getEndTime() && !video.getEndTime().before(new Date())){ // video.getStartTime()鍦╪ew Date()涔嬪墠杩斿洖true锛屽惁鍒欒繑鍥瀎alse
 				
 				v.setStatus(MediaVideo.STATUS_PUBLISHED);
 			}
@@ -608,7 +608,7 @@
 		
 		if(MediaVideo.STATUS_PUBLISHED == v.getStatus()&&null != video.getEndTime() &&  video.getEndTime().before(new Date()) 
 				&& null != video.getStartTime() && video.getStartTime().before(new Date())){
-			 // video.getEndTime()在new Date()之前
+			 // video.getEndTime()鍦╪ew Date()涔嬪墠
 			v.setStatus(MediaVideo.STATUS_TAKEOFF);
 			
 		}
@@ -624,7 +624,7 @@
 		v.setTeacherName(video.getTeacherName());
 		this.mediaVideoService.saveVideo(v);
 		
-		// 保存OrgText —— 视频详情
+		// 淇濆瓨OrgText 鈥斺�� 瑙嗛璇︽儏
 		orgTextService.doSaveOrgText(v.getVideoId(), OrgText.TABLE_NAME_VIDEO, video.getRemark());
 		
 		String hql = " from MediaVideo where videoId!=? and deleteFlag is false and originVideoId = ?";
@@ -645,7 +645,7 @@
 
 	public Result deleteOrgVideo(String videoId, Integer delAll, String orgIds[], String classIds[]) {
 		if ((orgIds != null && orgIds.length != 0)  || (classIds != null && classIds.length != 0)) {
-			// 删除需要回撤的视频
+			// 鍒犻櫎闇�瑕佸洖鎾ょ殑瑙嗛
 			return deleteAppoint(videoId, orgIds, classIds);
 		}
 
@@ -665,7 +665,7 @@
 			video.setDeleteFlag(true);
 			this.mediaVideoService.saveVideo(video);
 		}*/
-		// 用户选择同时删除下级视频
+		// 鐢ㄦ埛閫夋嫨鍚屾椂鍒犻櫎涓嬬骇瑙嗛
 		if (delAll == 1) {
 			deleteSub(videoId,ClientUtils.getOrgId());
 
@@ -675,7 +675,7 @@
 
 	@SuppressWarnings("unchecked")
 	private void deleteSub(String videoId,String currOrgId) {
-		// 机构层级视频是没有重新new ,查询出机构下级ID再删关联表
+		// 鏈烘瀯灞傜骇瑙嗛鏄病鏈夐噸鏂皀ew 锛屾煡璇㈠嚭鏈烘瀯涓嬬骇ID鍐嶅垹鍏宠仈琛�
 		String sql = " select oa.organization_id from organization as oa,organization ob " +
 				" where " +
 				" ob.ORGANIZATION_ID = ? " +
@@ -698,7 +698,7 @@
 		}
 		
 		MediaVideo video = read(MediaVideo.class, videoId);
-		// 班主任层面视频指定过后都是new 出来的,通过originVideoId 可以查出所有指定过去的视频
+		// 鐝富浠诲眰闈㈣棰戞寚瀹氳繃鍚庨兘鏄痭ew 鍑烘潵鐨勶紝閫氳繃originVideoId 鍙互鏌ュ嚭鎵�鏈夋寚瀹氳繃鍘荤殑瑙嗛
 		hql = "select classId from ClsClass where orgId in (:orgIds) and deleteFlag is false";
 		map = new HashMap<String, Object>();
 		map.put("orgIds", orgIds.toArray());
@@ -720,7 +720,7 @@
 	}
 
 	/**
-	 * 删除需要回撤的视频
+	 * 鍒犻櫎闇�瑕佸洖鎾ょ殑瑙嗛
 	 * 
 	 * @param videoId
 	 * @param orgIds
@@ -729,7 +729,7 @@
 	 */
 	private Result deleteAppoint(String videoId, String orgIds[], String classIds[]) {
 		Map<String, Object> args = new HashMap<String, Object>();
-		// 删除需要回撤的机构视频
+		// 鍒犻櫎闇�瑕佸洖鎾ょ殑鏈烘瀯瑙嗛
 		if (orgIds.length != 0) {
 			
 			String hql = " from MediaVideoReCourse where videoId = :videoId and deleteFlag is false and orgId in (:orgIds) and orgId != :currOrgId";
@@ -747,7 +747,7 @@
 			}
 		}
 
-		// 删除需要回撤的班主任视频
+		// 鍒犻櫎闇�瑕佸洖鎾ょ殑鐝富浠昏棰�
 		if (classIds.length != 0) {
 			args = new HashMap<String, Object>();
 			args.put("videoId", videoId);
@@ -767,7 +767,7 @@
 	}
 
 	/**
-	 * 课程表列表
+	 * 璇剧▼琛ㄥ垪琛�
 	 * 
 	 * @return
 	 */
@@ -807,7 +807,7 @@
 	}
 	
 	/**
-   	 * 根据直播查询讲师
+   	 * 鏍规嵁鐩存挱鏌ヨ璁插笀
    	 * 
    	 * @param orgTeacherId
    	 * @return
@@ -817,7 +817,7 @@
 	}
 
 	/**
-	 * 分享课程页面的全部课程表
+	 * 鍒嗕韩璇剧▼椤甸潰鐨勫叏閮ㄨ绋嬭〃
 	 * 
 	 * @param classId
 	 * @return
@@ -827,7 +827,7 @@
 		String hql = " from SchClassSchedule where deleteFlag is false and classId = ? order by startTime";
 		List<SchClassSchedule> classScheduleLst = find(hql, CollectionUtils.newList(classId), SchClassSchedule.class);
 		
-		// 组装课表信息内容
+		// 缁勮璇捐〃淇℃伅鍐呭
 		Map<String, Object> nowLesson = new HashMap<String, Object>(5);
 		nowLesson.put("beginWeek", "");
 		nowLesson.put("lessonCount", classScheduleLst.size());
@@ -835,11 +835,11 @@
 		nowLesson.put("endTime", cls.getEndTime());
 		
 		if (!classScheduleLst.isEmpty()) {
-			// 班级开始时间在课程开始时间之后
+			// 鐝骇寮�濮嬫椂闂村湪璇剧▼寮�濮嬫椂闂翠箣鍚�
 			if (cls.getStartTime().compareTo(classScheduleLst.get(0).getStartTime()) > 0) {
 				nowLesson.put("startTime", classScheduleLst.get(0).getStartTime());
 			}
-			// 班级结束时间在课程结束时间之前
+			// 鐝骇缁撴潫鏃堕棿鍦ㄨ绋嬬粨鏉熸椂闂翠箣鍓�
 			if (cls.getEndTime().compareTo(classScheduleLst.get(classScheduleLst.size() - 1).getEndTime()) < 0) {
 				nowLesson.put("endTime", classScheduleLst.get(classScheduleLst.size() - 1).getEndTime());
 			}
@@ -865,15 +865,15 @@
 			map.put("teacher", schedule.getTeacher());
 			map.put("mode", schedule.getMode());
 
-			if (new Date().compareTo(schedule.getEndTime()) > 0) { // 当前时间在结束时间之后 - 已经上过的课
+			if (new Date().compareTo(schedule.getEndTime()) > 0) { // 褰撳墠鏃堕棿鍦ㄧ粨鏉熸椂闂翠箣鍚� - 宸茬粡涓婅繃鐨勮
 
 				map.put("classStyle", "go-out");
-			} else { // 正在上或还没上的课
-				if (index == 0) { // 正在上的课
+			} else { // 姝e湪涓婃垨杩樻病涓婄殑璇�
+				if (index == 0) { // 姝e湪涓婄殑璇�
 					map.put("classStyle", "now");
 					index++;
 
-					// 组装课表信息内容
+					// 缁勮璇捐〃淇℃伅鍐呭
 					Calendar cal = Calendar.getInstance();
 					cal.setTime(schedule.getStartTime());
 					int begin_week = cal.get(Calendar.DAY_OF_WEEK);
@@ -881,7 +881,7 @@
 					nowLesson.put("beginWeek", str_begin_week);
 					nowLesson.put("beginTime", schedule.getStartTime());
 
-				} else { // 还没上的课
+				} else { // 杩樻病涓婄殑璇�
 					map.put("classStyle", "future");
 				}
 			}
@@ -889,7 +889,7 @@
 		}
 		mv.addObject("nowLesson", nowLesson);
 		mv.addObject("lessons", lstMap);
-		mv.addObject("mode", newwork>0&&faceToface>0?"线上、线下":newwork>0&&faceToface==0?"线上":"线下");
+		mv.addObject("mode", newwork>0&&faceToface>0?"绾夸笂銆佺嚎涓�":newwork>0&&faceToface==0?"绾夸笂":"绾夸笅");
 		return new Result(true);
 	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/qxueyou/scc/school/service/impl/NoteService.java b/src/main/java/com/qxueyou/scc/school/service/impl/NoteService.java
index 5ce5340..ca90078 100644
--- a/src/main/java/com/qxueyou/scc/school/service/impl/NoteService.java
+++ b/src/main/java/com/qxueyou/scc/school/service/impl/NoteService.java
@@ -27,7 +27,7 @@
 import com.qxueyou.scc.school.service.INoteService;
 
 /**
- * 笔记服务
+ * 绗旇鏈嶅姟
  * @author ody.yuan
  *
  */
@@ -37,7 +37,7 @@
 	private final Logger log = LogManager.getLogger(NoteService.class);
 
 	/**
-	 * 添加笔记
+	 * 娣诲姞绗旇
 	 * @param note
 	 * @return
 	 */
@@ -72,14 +72,14 @@
 	}
 
 	/**
-	 * 删除某页讲一下的一条或 多条 笔记
+	 * 鍒犻櫎鏌愰〉璁蹭竴涓嬬殑涓�鏉℃垨 澶氭潯 绗旇
 	 * @param noteIds
 	 * @return
 	 */
 	public Result deleteNotes(String noteIds) {
 		
 		if(StringUtils.isBlank(noteIds)){
-			return new Result(false,"参数不正确:noteIds为空");
+			return new Result(false,"鍙傛暟涓嶆纭細noteIds涓虹┖");
 		}
 		
 		Result result =  bulkUpdateInLoop("update SchNote set deleteFlag = true where noteId = ?",noteIds.split(","));
@@ -88,15 +88,15 @@
 	}
 	
 	/**
-	 * 删除某页讲义下的所有笔记
-	 * @param handoutPageId  讲义pageID
-	 * @param strObjectType  笔记对象类型
+	 * 鍒犻櫎鏌愰〉璁蹭箟涓嬬殑鎵�鏈夌瑪璁�
+	 * @param handoutPageId  璁蹭箟pageID
+	 * @param strObjectType  绗旇瀵硅薄绫诲瀷
 	 * @return
 	 */
 	public Result deleteAllNotes(String handoutPageId,int iObjectType) {
 		
 		if(StringUtils.isBlank(handoutPageId)){
-			return new Result(false,"参数不正确:handoutPageId为空");
+			return new Result(false,"鍙傛暟涓嶆纭細handoutPageId涓虹┖");
 		}
 		
 		Result result =  bulkUpdateInLoop("update SchNote set deleteFlag = true where " +
@@ -106,8 +106,8 @@
 	}
 
 	/**
-	 * 笔记列表
-	 * @param handoutPageId 讲义pageID
+	 * 绗旇鍒楄〃
+	 * @param handoutPageId 璁蹭箟pageID
 	 * @return
 	 */
 	public List<SchNoteViewVO> queryNoteList(String handoutPageId,Pager pager) {
@@ -126,9 +126,9 @@
 	}
 	
 	/**
-	 * 讲义笔记列表
+	 * 璁蹭箟绗旇鍒楄〃
 	 * @param handoutPageId
-	 * @param type (我的讲义笔记:0,同学笔记 :1,全部笔记:2)
+	 * @param type 锛堟垜鐨勮涔夌瑪璁帮細0,鍚屽绗旇 锛�1,鍏ㄩ儴绗旇锛�2锛�
 	 * @return
 	 */
 	public List<SchNoteViewVO> queryHandoutNoteList(String handoutPageId,Integer type,Pager pager) {
@@ -152,7 +152,7 @@
 	}
 	
 	/**
-	 * 查询笔记列表
+	 * 鏌ヨ绗旇鍒楄〃
 	 * @param sql
 	 * @param args
 	 * @return
@@ -185,7 +185,7 @@
     		try {
 				vo.setNoteTime(null != obj[4] ? format.parse(String.valueOf(obj[4])) : null);
 			} catch (ParseException e) {
-				log.error("获取笔记列表转换日期报错" , e);
+				log.error("鑾峰彇绗旇鍒楄〃杞崲鏃ユ湡鎶ラ敊" , e);
 			}
     		vo.setNoteObjectId(String.valueOf(obj[5]));
     		vo.setUserId(String.valueOf(obj[6]));
@@ -199,8 +199,8 @@
 	}
 	
 	/**
-	 * 单个讲义全部笔记列表
-	 * @param type (我的讲义笔记:0,同学笔记 :1,全部笔记:2)
+	 * 鍗曚釜璁蹭箟鍏ㄩ儴绗旇鍒楄〃
+	 * @param type 锛堟垜鐨勮涔夌瑪璁帮細0,鍚屽绗旇 锛�1,鍏ㄩ儴绗旇锛�2锛�
 	 * @return
 	 */
 	public List<Map<String,Object>> queryAllHandoutNoteList(Integer type,String handoutId,Pager pager) {
@@ -220,7 +220,7 @@
 			return new ArrayList<Map<String,Object>>();
 		}
 		
-		//组装sql
+		//缁勮sql
 		String sql = generateSql(type, args, pageIds);
 		
 		int allCount = findCountByComplexSql("select count(1) "+sql, args);
@@ -245,7 +245,7 @@
     			map.put("noteTime", null != obj[4] ? format.parse(String.valueOf(obj[4])) : null);
 				
 			} catch (ParseException e) {
-				log.error("获取笔记列表转换日期报错" , e);
+				log.error("鑾峰彇绗旇鍒楄〃杞崲鏃ユ湡鎶ラ敊" , e);
 			}
     		map.put("noteObjectId", String.valueOf(obj[5]));
     		map.put("userId", String.valueOf(obj[6]));
@@ -260,7 +260,7 @@
 	}
 	
 	/**
-	 * 组装sql
+	 * 缁勮sql
 	 * @param type
 	 * @param args
 	 * @param pageIds
@@ -284,7 +284,7 @@
 	}
 	
 	/**
-	 * 查询笔记列表
+	 * 鏌ヨ绗旇鍒楄〃
 	 * @param sql
 	 * @param args
 	 * @return
@@ -308,7 +308,7 @@
     		try {
 				vo.setNoteTime(null != obj[4] ? format.parse(String.valueOf(obj[4])) : null);
 			} catch (ParseException e) {
-				log.error("获取笔记列表转换日期报错" , e);
+				log.error("鑾峰彇绗旇鍒楄〃杞崲鏃ユ湡鎶ラ敊" , e);
 			}
     		vo.setNoteObjectId(String.valueOf(obj[5]));
     		vo.setUserId(String.valueOf(obj[6]));
diff --git a/src/main/java/com/qxueyou/scc/school/service/impl/RankMsgDealService.java b/src/main/java/com/qxueyou/scc/school/service/impl/RankMsgDealService.java
index 3b0a5c4..9f076ab 100644
--- a/src/main/java/com/qxueyou/scc/school/service/impl/RankMsgDealService.java
+++ b/src/main/java/com/qxueyou/scc/school/service/impl/RankMsgDealService.java
@@ -47,7 +47,7 @@
 	private static Logger log = LogManager.getLogger("ONSExceptionLogService");
 	
 	/**
-	 * 排名更新时间,默认60秒
+	 * 鎺掑悕鏇存柊鏃堕棿,榛樿60绉�
 	 */
 	@SuppressWarnings("unused")
 	private int updateRankMinutes = 60;
@@ -70,10 +70,10 @@
 //			String scopeType = msg.getUserProperties("scopeType");
 //			String scopeId = msg.getUserProperties("scopeId");
 //			
-//			// 判断哪些需要更新排名
+//			// 鍒ゆ柇鍝簺闇�瑕佹洿鏂版帓鍚�
 //			List<SchRank> rankLst = getRankLstNeedUpdate(userId,rankType,scopeType,scopeId);
 //			
-//			// 如果有,则更新排名
+//			// 濡傛灉鏈夛紝鍒欐洿鏂版帓鍚�
 //			updateRankLst(rankLst);
 //			
 //		}catch(Exception e){
@@ -84,7 +84,7 @@
 //					";scopeType:" + msg.getUserProperties("scopeType") + 
 //					";scopeId:" + msg.getUserProperties("scopeId") ;
 //
-//			log.error( businessId + " :排名消息发送失败:" + e , e);
+//			log.error( businessId + " :鎺掑悕娑堟伅鍙戦�佸け璐�:" + e , e);
 //			onsExceptionLogService.logSaveExceptionLog(cfg.getConfigByEnv("ons-common-topic"), "SCH_RANK", businessId , desp );
 //		}
 //		
@@ -92,7 +92,7 @@
 //	}
 
 	/**
-	 * 更新排名
+	 * 鏇存柊鎺掑悕
 	 * 
 	 * @param rankLst
 	 */
@@ -106,16 +106,16 @@
 	}
 
 	/**
-	 * 更新排名
+	 * 鏇存柊鎺掑悕
 	 * 
 	 * @param rank
 	 */
 	private void updateRank(SchRank rank) {
 
-		// 查询所有待排名实时数据列表
+		// 鏌ヨ鎵�鏈夊緟鎺掑悕瀹炴椂鏁版嵁鍒楄〃
 		List<SchRank> rankLst = querySchRankLstByRank(rank);
 
-		// 按value排序
+		// 鎸塿alue鎺掑簭
 		Collections.sort(rankLst, new Comparator<SchRank>() {
 			@Override
 			public int compare(SchRank r1, SchRank r2) {
@@ -129,19 +129,19 @@
 			}
 		});
 
-		// 新建版本记录
+		// 鏂板缓鐗堟湰璁板綍
 		SchRankVer version = insertRankVersion(rank);
 
-		// 插入rank_his数据
+		// 鎻掑叆rank_his鏁版嵁
 		saveRankHisData(version, rankLst);
 
-		// 插入缓存记录,标记本次更新排名时间
+		// 鎻掑叆缂撳瓨璁板綍锛屾爣璁版湰娆℃洿鏂版帓鍚嶆椂闂�
 		updateUpdateTime(rank);
 
 	}
 
 	/**
-	 * 插入缓存记录,标记本次更新排名时间
+	 * 鎻掑叆缂撳瓨璁板綍锛屾爣璁版湰娆℃洿鏂版帓鍚嶆椂闂�
 	 * 
 	 * @param rank
 	 */
@@ -150,7 +150,7 @@
 	}
 
 	/**
-	 * 获取cacheId
+	 * 鑾峰彇cacheId
 	 * 
 	 * @param rank
 	 * @return
@@ -163,14 +163,14 @@
 	}
 
 	/**
-	 * 创建新的版本记录
+	 * 鍒涘缓鏂扮殑鐗堟湰璁板綍
 	 * 
 	 * @param rank
 	 * @return
 	 */
 	private SchRankVer insertRankVersion(SchRank rank) {
 
-		// 更新旧的最新版本
+		// 鏇存柊鏃х殑鏈�鏂扮増鏈�
 		String hql = "from SchRankVer where rankType=? and scopeId=? and scopeType=? and latest is true order by version desc";
 		List<SchRankVer> oldLastestVerLst = dao.find(hql, CollectionUtils.newList(
 				rank.getRankType(), rank.getScopeId(), rank.getScopeType()),
@@ -184,7 +184,7 @@
 			dao.saveOrUpdate(oldVer);
 		}
 
-		// 创建新的版本
+		// 鍒涘缓鏂扮殑鐗堟湰
 		SchRankVer ver = new SchRankVer();
 
 		TraceUtils.setCreateTrace(ver);
@@ -204,7 +204,7 @@
 	}
 
 	/**
-	 * 根据任何一条排名数据查询所有待排名实时数据列表
+	 * 鏍规嵁浠讳綍涓�鏉℃帓鍚嶆暟鎹煡璇㈡墍鏈夊緟鎺掑悕瀹炴椂鏁版嵁鍒楄〃
 	 * 
 	 * @param rank
 	 * @return
@@ -222,7 +222,7 @@
 	}
 
 	/**
-	 * 判断哪些需要更新排名
+	 * 鍒ゆ柇鍝簺闇�瑕佹洿鏂版帓鍚�
 	 * 
 	 * @param userId
 	 * @return
@@ -231,11 +231,11 @@
 	private List<SchRank> getRankLstNeedUpdate(String userId,String rankType,String scopeType,String scopeId) {
 
 		StringBuffer sb = new StringBuffer("from SchRank where userId=? and rankType = ? and scopeType = ? ");
-		// 参数集合
+		// 鍙傛暟闆嗗悎
 		List<Object> args = CollectionUtils.newList(userId,rankType,scopeType);
 		
 		if(!SchRank.SCOPE_TYPE_QXUEYOU.equals(scopeType) 
-				&& StringUtils.isNotBlank(scopeId)){// qxueyou排名 不需要
+				&& StringUtils.isNotBlank(scopeId)){// qxueyou鎺掑悕 涓嶉渶瑕�
 			sb.append(" and scopeId = ?");
 			args.add(scopeId);
 		}
@@ -257,7 +257,7 @@
 	}
 
 	/**
-	 * 插入rank_his数据
+	 * 鎻掑叆rank_his鏁版嵁
 	 * 
 	 * @param version
 	 * @param rankLst
@@ -272,7 +272,7 @@
 
 		for (SchRank rank : rankLst) {
 
-			// Q学友只处理前一百名
+			// Q瀛﹀弸鍙鐞嗗墠涓�鐧惧悕
 			if (i > 100
 					&& SchRank.SCOPE_TYPE_QXUEYOU.equals(rank.getScopeType())) {
 				break;
diff --git a/src/main/java/com/qxueyou/scc/school/service/impl/RankService.java b/src/main/java/com/qxueyou/scc/school/service/impl/RankService.java
index 620d2d9..f9fb1a7 100644
--- a/src/main/java/com/qxueyou/scc/school/service/impl/RankService.java
+++ b/src/main/java/com/qxueyou/scc/school/service/impl/RankService.java
@@ -33,19 +33,19 @@
 //import com.qxueyou.scc.transact.model.TransAccountType;
 
 /**
- * 排名消息发送服务,对应的消息接收服务为 RankMsgReceiveService
+ * 鎺掑悕娑堟伅鍙戦�佹湇鍔★紝瀵瑰簲鐨勬秷鎭帴鏀舵湇鍔′负 RankMsgReceiveService
  * 
- * @author 德虎
+ * @author 寰疯檸
  * 
  */
 @Service
 public class RankService implements
 		IRankService {
 	
-	/**排行**/
+	/**鎺掕**/
 	private static final String RANK = "rank";
 
-	/**日志**/
+	/**鏃ュ織**/
 	private final Logger log = LogManager.getLogger("RankService");
 	
 	@Autowired
@@ -60,11 +60,11 @@
 //	@Autowired
 //	IMsgVenderService  easemobService;
 //	
-//	/** 积分账户和佣金账户 */
+//	/** 绉垎璐︽埛鍜屼剑閲戣处鎴� */
 //	@Autowired
 //	ITransAccountService  transAccountService;
 //	
-//	/**缓存**/
+//	/**缂撳瓨**/
 //	@Autowired
 //	ICacheService cacheService;
 
@@ -170,7 +170,7 @@
 	}
 
 	/**
-	 * 获取最新版本ID
+	 * 鑾峰彇鏈�鏂扮増鏈琁D
 	 * @param rankType
 	 * @param scopeType
 	 * @param scopeId
@@ -214,19 +214,19 @@
 	}
 	
 	/**
-	 * 获取用户个人传播大使积分和排名信息
+	 * 鑾峰彇鐢ㄦ埛涓汉浼犳挱澶т娇绉垎鍜屾帓鍚嶄俊鎭�
 	 * 
-	 * @param userId 用户id
+	 * @param userId 鐢ㄦ埛id
 	 * @return
 	 */
 	@Override
 	public SchRankHis doGetUserRank(String userId) {
-//		//防止重复回调
+//		//闃叉閲嶅鍥炶皟
 //		String ing = cacheService.get("CREAT_ACCOUNT"+userId, String.class);
 //		if(StringUtils.isBlank(ing)){
-//			//放入缓存
+//			//鏀惧叆缂撳瓨
 //			cacheService.set("CREAT_ACCOUNT"+userId, 60*60, "ING");
-//			//判断用户是否存在积分和佣金账户,不存在就添加
+//			//鍒ゆ柇鐢ㄦ埛鏄惁瀛樺湪绉垎鍜屼剑閲戣处鎴凤紝涓嶅瓨鍦ㄥ氨娣诲姞
 //			boolean hasCommission = transAccountService.existsAccount(TransAccountType.ACCOUNT_TYPE_ATS_COMMISSION, userId);
 //			boolean hasScore = transAccountService.existsAccount(TransAccountType.ACCOUNT_TYPE_ATS_SCORE, userId);
 //			if(!hasCommission){
@@ -238,13 +238,13 @@
 //		}
 		
 		String versionId = this.getAtsLastVersion();
-		//获取个人排名
+		//鑾峰彇涓汉鎺掑悕
 		String hql = "from SchRankHis his where his.versionId=? and his.userId = ? and his.deleteFlag is false";
 		SchRankHis objSchRankHis = dao.findUnique(hql, CollectionUtils.newList(versionId, userId), SchRankHis.class);
 		
 		Integer iCount = this.atsUserCount(versionId);
 		if(objSchRankHis == null){
-			//新建排行
+			//鏂板缓鎺掕
 			objSchRankHis = new SchRankHis();
 			TraceUtils.setCreateTrace(objSchRankHis);
 			objSchRankHis.setDeleteFlag(false);
@@ -264,13 +264,13 @@
 		if(percentages >= 100){
 			percentages = 99;
 		}
-		//获取排名百分比
+		//鑾峰彇鎺掑悕鐧惧垎姣�
 		objSchRankHis.setPercentages(new BigDecimal(percentages).setScale(2, BigDecimal.ROUND_HALF_UP));
 		return objSchRankHis;
 	}
 	
 	/**
-	 * 获取排行最新版本
+	 * 鑾峰彇鎺掕鏈�鏂扮増鏈�
 	 * 
 	 * @return
 	 */
@@ -278,9 +278,9 @@
 //		String versionId = cacheService.get("ATS_RANK_VERSION", String.class);
 		String versionId =null;
 		if(StringUtils.isBlank(versionId)){
-			//获取最新排名版本
+			//鑾峰彇鏈�鏂版帓鍚嶇増鏈�
 			versionId = getLastestVersionId(SchRank.RANK_TYPE_ATS_SCORE,SchRank.SCOPE_TYPE_QXUEYOU,"null");
-			//新增版本表
+			//鏂板鐗堟湰琛�
 			if(StringUtils.isEmpty(versionId)){
 				SchRankVer objSchRankVer = new SchRankVer();
 				objSchRankVer.setLatest(true);
@@ -293,7 +293,7 @@
 				this.dao.save(objSchRankVer);
 				versionId = objSchRankVer.getVersionId();
 			}
-			//放入缓存
+			//鏀惧叆缂撳瓨
 //			cacheService.set("ATS_RANK_VERSION", 60*60*8, versionId);
 		}
 		
@@ -301,7 +301,7 @@
 	}
 	
 	/**
-	 * 获取全部人数
+	 * 鑾峰彇鍏ㄩ儴浜烘暟
 	 * 
 	 * @param versionId
 	 * @return
@@ -310,11 +310,11 @@
 //		Integer count = cacheService.get("ATS_RANK_USER_COUNT", Integer.class);
 		Integer count =0;
 		if(count == null || count == 0){
-			//获取全站大使人数
+			//鑾峰彇鍏ㄧ珯澶т娇浜烘暟
 			String hql_count = "from SchRankHis his where his.versionId=? and his.deleteFlag is false";
 			
 			count = dao.findCount(hql_count, CollectionUtils.newList(versionId));
-			//放入缓存
+			//鏀惧叆缂撳瓨
 //			cacheService.set("ATS_RANK_USER_COUNT", 60*60*8, count);
 		}
 		return count;
@@ -328,14 +328,14 @@
 		
 		dao.bulkUpdate(hql, new Object[]{total,rankType,userId});
 		
-		//请求更新排名
-		// 1.更新当前班级数据
+		//璇锋眰鏇存柊鎺掑悕
+		// 1.鏇存柊褰撳墠鐝骇鏁版嵁
 		reqUpdateRank(userId, SchRank.RANK_TYPE_SCORE, SchRank.SCOPE_TYPE_CLASS, ClientUtils.getClassId());
 		
-		// 2.更新Q学友数据
+		// 2.鏇存柊Q瀛﹀弸鏁版嵁
 		reqUpdateRank(userId, SchRank.RANK_TYPE_SCORE, SchRank.SCOPE_TYPE_QXUEYOU, "null");
 		
-		// 判断是否发送消息
+		// 鍒ゆ柇鏄惁鍙戦�佹秷鎭�
 		if(!isSendMsg){
 			return;
 		}
@@ -343,19 +343,19 @@
 		try {
 			
 			Map<String,String> extra = new HashMap<String,String>();
-			extra.put("title", "积分变动");
+			extra.put("title", "绉垎鍙樺姩");
 			extra.put("delta", String.valueOf(delta));
-			// 积分不再发系统通知 by cyq 20160823
+			// 绉垎涓嶅啀鍙戠郴缁熼�氱煡 by cyq 20160823
 			//easemobService.doSendTextMsgToUsers("notice-sys", new String[]{userId}, msg.getContent(), extra);
 			
 		} catch (Exception e) {
 			
-			log.error("增加积分推送消息出错:"+e,e);
+			log.error("澧炲姞绉垎鎺ㄩ�佹秷鎭嚭閿�:"+e,e);
 		}
 	}
 
 	/**
-	 * 创建积分消息
+	 * 鍒涘缓绉垎娑堟伅
 	 * @param userId
 	 * @param delta
 	 * @param remark
@@ -363,16 +363,16 @@
 	 *//*
 	private Message newScoreMsg(String userId, BigDecimal delta, String remark) {
 		
-		//新建消息并保存
+		//鏂板缓娑堟伅骞朵繚瀛�
 		Message msg = new Message();
 		TraceUtils.setCreateTrace(msg);
 		
 		msg.setMsgType("SCH_SCORES");
 		msg.setSenderId(ClientUtils.getUserId()!=null?ClientUtils.getUserId():"admin");
-		msg.setSender(ClientUtils.getUserName()!=null?ClientUtils.getUserName():"系统管理员");
+		msg.setSender(ClientUtils.getUserName()!=null?ClientUtils.getUserName():"绯荤粺绠$悊鍛�");
 		msg.setReceiverId(userId);
 		msg.setSender(null);
-		msg.setContent("增加"+delta+"个积分:"+remark);
+		msg.setContent("澧炲姞"+delta+"涓Н鍒�:"+remark);
 		
 		return msg;
 	}*/
@@ -381,8 +381,8 @@
 	
 	
 	/**
-	 * 请求好友排名
-	 * @return -1代表还没有名次
+	 * 璇锋眰濂藉弸鎺掑悕
+	 * @return -1浠h〃杩樻病鏈夊悕娆�
 	 */
 	public int getRankInFriend(String userId) {
 		String hql = "select his.rank from SchRankHis his,SchRankVer ver " +
@@ -399,7 +399,7 @@
 	}
 
 	/**
-	 * 请求好友排名列表
+	 * 璇锋眰濂藉弸鎺掑悕鍒楄〃
 	 * @return
 	 */
 	public List<SchRankHis> getFriendRankLst(String userId, Pager page) {
@@ -414,7 +414,7 @@
 	}
 
 	/**
-	 * 最近num天全站排名状态变化
+	 * 鏈�杩憂um澶╁叏绔欐帓鍚嶇姸鎬佸彉鍖�
 	 */
 	public List<Map<String,Object>> getPersonalQxueyouRankTrend(String userId,Pager page, int num) {
 		
@@ -435,7 +435,7 @@
 	}
 
 	/**
-	 * 最近num天好友排名状态变化
+	 * 鏈�杩憂um澶╁ソ鍙嬫帓鍚嶇姸鎬佸彉鍖�
 	 */
 	public List<Map<String,Object>> getPersonalFriendRankTrend(String userId,
 			Pager page, int num) {
@@ -460,7 +460,7 @@
 	
 	
 	/**
-	 * 最近num天班级排名状态变化
+	 * 鏈�杩憂um澶╃彮绾ф帓鍚嶇姸鎬佸彉鍖�
 	 */
 	public List<Map<String,Object>> getPersonalClassRankTrend(String userId,String classId,Pager page,int num) {
 		
@@ -481,7 +481,7 @@
 	}
 	
 	/**
-	 * 组装变化趋势,有一个bug,新登录的用户第一次查看积分,会显示前面四天积分和当前最新积分一致
+	 * 缁勮鍙樺寲瓒嬪娍,鏈変竴涓猙ug锛屾柊鐧诲綍鐨勭敤鎴风涓�娆℃煡鐪嬬Н鍒嗭紝浼氭樉绀哄墠闈㈠洓澶╃Н鍒嗗拰褰撳墠鏈�鏂扮Н鍒嗕竴鑷�
 	 * @param lstRankHis
 	 * @param num
 	 * @param classId
@@ -489,14 +489,14 @@
 	 */
 	private List<Map<String,Object>> generatePersonalRankTrend(List<SchRankHis> lstRankHis,int num ,String scopeType,String scopeId,String userId ){
 		
-		// 取得每天的最后一个版本,查询排名表数据
+		// 鍙栧緱姣忓ぉ鐨勬渶鍚庝竴涓増鏈紝鏌ヨ鎺掑悕琛ㄦ暟鎹�
 		List<Map<String,Object>> result = new ArrayList<Map<String,Object>>(lstRankHis.size());
 		Map<Integer,Integer> mapIndex = new HashMap<Integer,Integer>();
 		SimpleDateFormat weekFm = new SimpleDateFormat("EEEE", Locale.CHINA);
 		//SimpleDateFormat dateFm = new SimpleDateFormat("yyyy-MM-dd");
 		Map<String,Object> map; 
 		
-		// 将本来有的排名抽取组装
+		// 灏嗘湰鏉ユ湁鐨勬帓鍚嶆娊鍙栫粍瑁�
 		if(!lstRankHis.isEmpty()){
 			
 			int index = 0;
@@ -516,13 +516,13 @@
 			
 		}
 		
-		//判断,少了需要重新组装
+		//鍒ゆ柇锛屽皯浜嗛渶瑕侀噸鏂扮粍瑁�
 		long startTime = System.currentTimeMillis() - ((long)num) * 24 * 60 * 60 * 1000 ;
 		if( !result.isEmpty() && result.size() < num ){
 			Integer iRank = null;
 			long lTime = 0 ;
 			
-			//第一遍取最新排名
+			//绗竴閬嶅彇鏈�鏂版帓鍚�
 			for(int i = result.size() -1  ; i >= 0 ; i--){
 				if(null != result.get(i) && StringUtils.isNotBlank(String.valueOf(result.get(i).get("rankTime"))) 
 						&& Long.parseLong(String.valueOf(result.get(i).get("rankTime"))) > lTime ){
@@ -531,10 +531,10 @@
 				}
 			}
 			
-			//第二遍组装
+			//绗簩閬嶇粍瑁�
 			for(int i = num ; i > 0 ; i--){
 				if(!mapIndex.containsKey(i)){
-					//如果没有,统一以后面的排名为准
+					//濡傛灉娌℃湁锛岀粺涓�浠ュ悗闈㈢殑鎺掑悕涓哄噯
 					iRank = i == num ? iRank : mapIndex.get(i+1);
 					map = new HashMap<String,Object>();
 					map.put("index", i);
@@ -549,7 +549,7 @@
 			
 		}else{
 			
-			//没有的话,直接用当前积分
+			//娌℃湁鐨勮瘽锛岀洿鎺ョ敤褰撳墠绉垎
 			Integer iRank = null;
 			
 			if(SchRank.SCOPE_TYPE_CLASS.equals(scopeType)){
@@ -579,7 +579,7 @@
 	}
 	
 	/**
-	 * 获取最近N天的每天一个版本,每天获取的一个版本规则为:当天最新的一个版本
+	 * 鑾峰彇鏈�杩慛澶╃殑姣忓ぉ涓�涓増鏈紝姣忓ぉ鑾峰彇鐨勪竴涓増鏈鍒欎负锛氬綋澶╂渶鏂扮殑涓�涓増鏈�
 	 * @param rankType
 	 * @param scopeType
 	 * @param scopeId
@@ -622,7 +622,7 @@
 		}
 		
 		List<String> lstVer = new ArrayList<String>(num);
-		//判断是否每天都有一条记录
+		//鍒ゆ柇鏄惁姣忓ぉ閮芥湁涓�鏉¤褰�
 		for(Object[] obj : lstObj ){
 			lstVer.add(String.valueOf(obj[0]));
 		}
@@ -631,7 +631,7 @@
 	}
 	
 	/**
-	 * 得到排名数据(班级、好友、全站)排名 及排名上升下降     
+	 * 寰楀埌鎺掑悕鏁版嵁锛堢彮绾с�佸ソ鍙嬨�佸叏绔欙級鎺掑悕 鍙婃帓鍚嶄笂鍗囦笅闄�     
 	 * @return
 	 */
 	public Map<String,Object> getScoreRankPageData(){
@@ -643,20 +643,20 @@
 		page.setPageSize(Integer.MAX_VALUE);
 		
 		
-		//1.班级排名及上升
+		//1.鐝骇鎺掑悕鍙婁笂鍗�
 		List<Map<String,Object>> lstClass = this.getPersonalClassRankTrend(ClientUtils.getUserId(), ClientUtils.getClassId(), page, 2);
 		String firstClassRank = String.valueOf(lstClass.get(0).get(RANK));
 		String lastestClassRank = String.valueOf(lstClass.get(1).get(RANK));
 		
 		this.getChange(result, firstClassRank, lastestClassRank, "class");
 		
-		//2.qxueyou排名及上升
+		//2.qxueyou鎺掑悕鍙婁笂鍗�
 		List<Map<String,Object>> lstQxueyou = this.getPersonalQxueyouRankTrend(ClientUtils.getUserId(), page, 2);
 		String firstQxueyouRank = String.valueOf(lstQxueyou.get(0).get(RANK));
 		String lastestQxueyouRank = String.valueOf(lstQxueyou.get(1).get(RANK));
 		
 		this.getChange(result, firstQxueyouRank, lastestQxueyouRank, "qxueyou");
-		//3.好友排名及上升
+		//3.濂藉弸鎺掑悕鍙婁笂鍗�
 		List<Map<String,Object>> lstFriend = this.getPersonalFriendRankTrend(ClientUtils.getUserId(), page, 2);
 		String firstFriendRank = String.valueOf(lstFriend.get(0).get(RANK));
 		String lastestFriendRank = String.valueOf(lstFriend.get(1).get(RANK));
@@ -668,7 +668,7 @@
 	}
 	
 	/**
-	 * 判断改变
+	 * 鍒ゆ柇鏀瑰彉
 	 * 
 	 * @param firstRank
 	 * @param lastestRank
diff --git a/src/main/java/com/qxueyou/scc/school/service/impl/SchSignMsgDealService.java b/src/main/java/com/qxueyou/scc/school/service/impl/SchSignMsgDealService.java
index de4edcd..e4fc29f 100644
--- a/src/main/java/com/qxueyou/scc/school/service/impl/SchSignMsgDealService.java
+++ b/src/main/java/com/qxueyou/scc/school/service/impl/SchSignMsgDealService.java
@@ -14,7 +14,7 @@
 import com.qxueyou.scc.school.service.ISignService;
 
 /**
- * 签到异步相关消息
+ * 绛惧埌寮傛鐩稿叧娑堟伅
  * 
  * @author ody.yuan
  *
@@ -44,7 +44,7 @@
 //	@Override
 //	public void doHandle(Message msg, ConsumeContext context) {
 //		
-//		// 严格异常处理
+//		// 涓ユ牸寮傚父澶勭悊
 //		try {
 //			
 //			String args = msg.getUserProperties("args");
@@ -57,7 +57,7 @@
 //			String businessId = cfg.getConfigByEnv("ons-common-topic") + "-" + UUIDUtils.generateUUID();
 //			String desp = "userId:" + msg.getUserProperties("userId") + ";userName:" + msg.getUserProperties("userName") + ";mobilePhone:" + msg.getUserProperties("mobilePhone") + ";appId:" + msg.getUserProperties("appId") + ";openId:" + msg.getUserProperties("openId");
 //
-//			log.error(businessId + " :签到学员处理失败:" + e, e);
+//			log.error(businessId + " :绛惧埌瀛﹀憳澶勭悊澶辫触:" + e, e);
 //			onsExceptionLogService.logSaveExceptionLog(cfg.getConfigByEnv("ons-common-topic"), "SCH_SIGN_QUEUE", businessId, desp);
 //		}
 //
diff --git a/src/main/java/com/qxueyou/scc/school/service/impl/SchoolDayService.java b/src/main/java/com/qxueyou/scc/school/service/impl/SchoolDayService.java
index 4b74de8..a042cc9 100644
--- a/src/main/java/com/qxueyou/scc/school/service/impl/SchoolDayService.java
+++ b/src/main/java/com/qxueyou/scc/school/service/impl/SchoolDayService.java
@@ -45,7 +45,7 @@
 	@Override
 	public Result insertSchoolDayItem(SchSchoolDayItem schSchoolDayItem) {
 		
-		// 验证
+		// 楠岃瘉
 		Result resultFlag = judgeTime(schSchoolDayItem);
 		if(StringUtils.isNotBlank(resultFlag.getMsg())){
 			return resultFlag;
@@ -69,22 +69,22 @@
 	}
 	
 	/**
-	 * 判断选择的时间不能包含已添加学年的开始时间至结束时间
+	 * 鍒ゆ柇閫夋嫨鐨勬椂闂翠笉鑳藉寘鍚凡娣诲姞瀛﹀勾鐨勫紑濮嬫椂闂磋嚦缁撴潫鏃堕棿
 	 * time
 	 * @return
 	 */
 	public Result judgeTime( SchSchoolDayItem schSchoolDayItem) {
-		// 返回结果
+		// 杩斿洖缁撴灉
 		Result resultFlag = new Result(true);
 		List<SchSchoolDayItem> dayItemLst = setPublic(schSchoolDayItem.getDayItemId(),schSchoolDayItem.getSchoolDayId());
 		
-		// 验证
+		// 楠岃瘉
 		for (int i = 0; i < dayItemLst.size(); i++) {
 			boolean flagStart = dayItemLst.get(i).getStartTime().before(schSchoolDayItem.getStartTime());
 			boolean flagend = dayItemLst.get(i).getEndTime().before(schSchoolDayItem.getEndTime());
 			
-			if(flagStart == false && flagend == true){ // 选择的时间包含开始时间和结束时间
-				resultFlag = new Result(true,"选择的作息时间不能包含已添加的作息时间");
+			if(flagStart == false && flagend == true){ // 閫夋嫨鐨勬椂闂村寘鍚紑濮嬫椂闂村拰缁撴潫鏃堕棿
+				resultFlag = new Result(true,"閫夋嫨鐨勪綔鎭椂闂翠笉鑳藉寘鍚凡娣诲姞鐨勪綔鎭椂闂�");
 				break;
 			}
 		}
@@ -93,8 +93,8 @@
 	}
 	
 	/**
-	 * 开始时间的回调函数
-	 * schSchoolYear :startTime
+	 * 寮�濮嬫椂闂寸殑鍥炶皟鍑芥暟
+	 * schSchoolYear 锛歴tartTime
 	 * @return
 	 */
 	@Override
@@ -104,8 +104,8 @@
 	}
 	
 	/**
-	 * 结束时间的回调函数
-	 * schSchoolYear :endTime
+	 * 缁撴潫鏃堕棿鐨勫洖璋冨嚱鏁�
+	 * schSchoolYear 锛歟ndTime
 	 * @return
 	 */
 	@Override
@@ -115,13 +115,13 @@
 	}
 	
 	/**
-	 * 判断选择的时间不能在已添加学年的开始时间和结束时间之间
+	 * 鍒ゆ柇閫夋嫨鐨勬椂闂翠笉鑳藉湪宸叉坊鍔犲骞寸殑寮�濮嬫椂闂村拰缁撴潫鏃堕棿涔嬮棿
 	 * time
 	 * @return
 	 */
 	public Result callback( Date time,String dayItemId,String schoolDayId) {
 
-		// 返回结果
+		// 杩斿洖缁撴灉
 		Result resultFlag = new Result(true);
 		List<SchSchoolDayItem> dayItemLst = setPublic(dayItemId,schoolDayId);
 		
@@ -133,8 +133,8 @@
 			boolean flagStart = dayItemLst.get(i).getStartTime().before(time);
 			boolean flagEnd = dayItemLst.get(i).getEndTime().before(time);
 			
-			if(flagStart == true && flagEnd == false){ // 选择的时间在开始时间之后结束时间之前
-				resultFlag = new Result(true,"已经设置过当前的作息时间");
+			if(flagStart == true && flagEnd == false){ // 閫夋嫨鐨勬椂闂村湪寮�濮嬫椂闂翠箣鍚庣粨鏉熸椂闂翠箣鍓�
+				resultFlag = new Result(true,"宸茬粡璁剧疆杩囧綋鍓嶇殑浣滄伅鏃堕棿");
 				break;
 			}
 		}
@@ -144,11 +144,11 @@
 	
 	public List<SchSchoolDayItem> setPublic(String dayItemId,String schoolDayId) {
 
-		// 获取当前作息时间的所有明细
+		// 鑾峰彇褰撳墠浣滄伅鏃堕棿鐨勬墍鏈夋槑缁�
 		String hql = "from SchSchoolDayItem where deleteFlag is false and schoolDayId = ? order by endTime desc";
 		List<SchSchoolDayItem> dayItemList = find(hql, CollectionUtils.newList(schoolDayId), SchSchoolDayItem.class);
 		
-		// 编辑页面过滤当前学年
+		// 缂栬緫椤甸潰杩囨护褰撳墠瀛﹀勾
 		List<SchSchoolDayItem> dayItemLst = new ArrayList<SchSchoolDayItem>();
 		if(StringUtils.isNotBlank(dayItemId)){
 			for (SchSchoolDayItem dayItem : dayItemList) {
diff --git a/src/main/java/com/qxueyou/scc/school/service/impl/SchoolTermService.java b/src/main/java/com/qxueyou/scc/school/service/impl/SchoolTermService.java
index d15a6c5..5a50d17 100644
--- a/src/main/java/com/qxueyou/scc/school/service/impl/SchoolTermService.java
+++ b/src/main/java/com/qxueyou/scc/school/service/impl/SchoolTermService.java
@@ -23,7 +23,7 @@
 	@Override
 	public Result insertSchoolTerm(SchTerm schTerm,String schoolDayId) {
 
-		// 验证
+		// 楠岃瘉
 		Result resultFlag = judgeTime(schTerm);
 		if(StringUtils.isNotBlank(resultFlag.getMsg())){
 			return resultFlag;
@@ -65,22 +65,22 @@
 	}
 
 	/**
-	 * 判断选择的时间不能包含已添加学年的开始时间至结束时间
+	 * 鍒ゆ柇閫夋嫨鐨勬椂闂翠笉鑳藉寘鍚凡娣诲姞瀛﹀勾鐨勫紑濮嬫椂闂磋嚦缁撴潫鏃堕棿
 	 * time
 	 * @return
 	 */
 	public Result judgeTime( SchTerm schTerm) {
-		// 返回结果
+		// 杩斿洖缁撴灉
 		Result resultFlag = new Result(true);
 		List<SchTerm> schTermLst = setPublic(schTerm.getTermId(),schTerm.getSchoolYearId());
 		
-		// 验证
+		// 楠岃瘉
 		for (int i = 0; i < schTermLst.size(); i++) {
 			boolean flagStart = schTermLst.get(i).getStartTime().before(schTerm.getStartTime());
 			boolean flagend = schTermLst.get(i).getEndTime().before(schTerm.getEndTime());
 			
-			if(flagStart == false && flagend == true){ // 选择的时间包含开始时间和结束时间
-				resultFlag = new Result(true,"选择的学期时间不能包含已添加的学期时间");
+			if(flagStart == false && flagend == true){ // 閫夋嫨鐨勬椂闂村寘鍚紑濮嬫椂闂村拰缁撴潫鏃堕棿
+				resultFlag = new Result(true,"閫夋嫨鐨勫鏈熸椂闂翠笉鑳藉寘鍚凡娣诲姞鐨勫鏈熸椂闂�");
 				break;
 			}
 		}
@@ -89,8 +89,8 @@
 	}
 
 	/**
-	 * 开始时间的回调函数
-	 * schSchoolYear :startTime
+	 * 寮�濮嬫椂闂寸殑鍥炶皟鍑芥暟
+	 * schSchoolYear 锛歴tartTime
 	 * @return
 	 */
 	@Override
@@ -100,8 +100,8 @@
 	}
 	
 	/**
-	 * 结束时间的回调函数
-	 * schSchoolYear :endTime
+	 * 缁撴潫鏃堕棿鐨勫洖璋冨嚱鏁�
+	 * schSchoolYear 锛歟ndTime
 	 * @return
 	 */
 	@Override
@@ -111,13 +111,13 @@
 	}
 	
 	/**
-	 * 判断选择的时间不能在已添加学年的开始时间和结束时间之间
+	 * 鍒ゆ柇閫夋嫨鐨勬椂闂翠笉鑳藉湪宸叉坊鍔犲骞寸殑寮�濮嬫椂闂村拰缁撴潫鏃堕棿涔嬮棿
 	 * time
 	 * @return
 	 */
 	public Result callback(String schTermId, String startEndTime,String schShoolYearId) {
 
-		SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");//小写的mm表示的是分钟  
+		SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");//灏忓啓鐨刴m琛ㄧず鐨勬槸鍒嗛挓  
 		Date time = null;
 		try {
 			time = sdf.parse(startEndTime);
@@ -125,7 +125,7 @@
 			e.printStackTrace();
 		}
 		
-		// 返回结果
+		// 杩斿洖缁撴灉
 		Result resultFlag = new Result(true);
 		List<SchTerm> schTermLst = setPublic(schTermId,schShoolYearId);
 		
@@ -137,8 +137,8 @@
 			boolean flagStart = schTermLst.get(i).getStartTime().before(time);
 			boolean flagEnd = schTermLst.get(i).getEndTime().before(time);
 			
-			if(flagStart == true && flagEnd == false){ // 选择的时间在开始时间之后结束时间之前
-				resultFlag = new Result(true,"当前学年已设置该时间的学期");
+			if(flagStart == true && flagEnd == false){ // 閫夋嫨鐨勬椂闂村湪寮�濮嬫椂闂翠箣鍚庣粨鏉熸椂闂翠箣鍓�
+				resultFlag = new Result(true,"褰撳墠瀛﹀勾宸茶缃鏃堕棿鐨勫鏈�");
 				break;
 			}
 		}
@@ -148,11 +148,11 @@
 	
 	public List<SchTerm> setPublic(String schTermId,String schShoolYearId) {
 
-		// 获取当前学年的所有学期
+		// 鑾峰彇褰撳墠瀛﹀勾鐨勬墍鏈夊鏈�
 		String hql = "from SchTerm where deleteFlag is false and schoolYearId = ? order by endTime desc";
 		List<SchTerm> schTermList = find(hql, CollectionUtils.newList(schShoolYearId), SchTerm.class);
 		
-		// 编辑页面过滤当前学年
+		// 缂栬緫椤甸潰杩囨护褰撳墠瀛﹀勾
 		List<SchTerm> schTermLst = new ArrayList<SchTerm>();
 		if(StringUtils.isNotBlank(schTermId)){
 			for (SchTerm schTerm : schTermList) {
diff --git a/src/main/java/com/qxueyou/scc/school/service/impl/SchoolYearService.java b/src/main/java/com/qxueyou/scc/school/service/impl/SchoolYearService.java
index 0adc84b..e228eed 100644
--- a/src/main/java/com/qxueyou/scc/school/service/impl/SchoolYearService.java
+++ b/src/main/java/com/qxueyou/scc/school/service/impl/SchoolYearService.java
@@ -21,14 +21,14 @@
 	@Override
 	public Result insertSchoolYear(SchSchoolYear schSchoolYear) {
 		
-		// 验证
+		// 楠岃瘉
 		Result resultFlag = judgeTime(schSchoolYear);
 		if(StringUtils.isNotBlank(resultFlag.getMsg())){
 			return resultFlag;
 		}
 		
 		SchSchoolYear schoolYear = null;
-		if(StringUtils.isNotBlank(schSchoolYear.getSchoolYearId())){// 修改
+		if(StringUtils.isNotBlank(schSchoolYear.getSchoolYearId())){// 淇敼
 			
 			schoolYear = read(SchSchoolYear.class, schSchoolYear.getSchoolYearId());
 			TraceUtils.setUpdateTrace(schoolYear);
@@ -38,7 +38,7 @@
 			schoolYear.setName(schSchoolYear.getName());
 			this.save(schoolYear);
 			
-		}else{ // 新增
+		}else{ // 鏂板
 			schoolYear = new SchSchoolYear();
 			TraceUtils.setCreateTrace(schoolYear);
 			schoolYear.setOrgId(ClientUtils.getOrgId());
@@ -52,22 +52,22 @@
 	}
 	
 	/**
-	 * 判断选择的时间不能包含已添加学年的开始时间至结束时间
+	 * 鍒ゆ柇閫夋嫨鐨勬椂闂翠笉鑳藉寘鍚凡娣诲姞瀛﹀勾鐨勫紑濮嬫椂闂磋嚦缁撴潫鏃堕棿
 	 * time
 	 * @return
 	 */
 	public Result judgeTime( SchSchoolYear schSchoolYear) {
-		// 返回结果
+		// 杩斿洖缁撴灉
 		Result resultFlag = new Result(true);
 		List<SchSchoolYear> schoolYearLst = setPublic(schSchoolYear.getSchoolYearId());
 		
-		// 验证
+		// 楠岃瘉
 		for (int i = 0; i < schoolYearLst.size(); i++) {
 			boolean flagStart = schoolYearLst.get(i).getStartTime().before(schSchoolYear.getStartTime());
 			boolean flagend = schoolYearLst.get(i).getEndTime().before(schSchoolYear.getEndTime());
 			
-			if(flagStart == false && flagend == true){ // 选择的时间包含开始时间和结束时间
-				resultFlag = new Result(true,"选择的学年时间不能包含已添加的学年时间");
+			if(flagStart == false && flagend == true){ // 閫夋嫨鐨勬椂闂村寘鍚紑濮嬫椂闂村拰缁撴潫鏃堕棿
+				resultFlag = new Result(true,"閫夋嫨鐨勫骞存椂闂翠笉鑳藉寘鍚凡娣诲姞鐨勫骞存椂闂�");
 				break;
 			}
 		}
@@ -76,8 +76,8 @@
 	}
 
 	/**
-	 * 开始时间的回调函数
-	 * schSchoolYear :startTime
+	 * 寮�濮嬫椂闂寸殑鍥炶皟鍑芥暟
+	 * schSchoolYear 锛歴tartTime
 	 * @return
 	 */
 	@Override
@@ -87,8 +87,8 @@
 	}
 	
 	/**
-	 * 结束时间的回调函数
-	 * schSchoolYear :endTime
+	 * 缁撴潫鏃堕棿鐨勫洖璋冨嚱鏁�
+	 * schSchoolYear 锛歟ndTime
 	 * @return
 	 */
 	@Override
@@ -98,13 +98,13 @@
 	}
 	
 	/**
-	 * 判断选择的时间不能在已添加学年的开始时间和结束时间之间
+	 * 鍒ゆ柇閫夋嫨鐨勬椂闂翠笉鑳藉湪宸叉坊鍔犲骞寸殑寮�濮嬫椂闂村拰缁撴潫鏃堕棿涔嬮棿
 	 * time
 	 * @return
 	 */
 	public Result callback( Date time,String schSchoolYearId) {
 
-		// 返回结果
+		// 杩斿洖缁撴灉
 		Result resultFlag = new Result(true);
 		List<SchSchoolYear> schoolYearLst = setPublic(schSchoolYearId);
 		
@@ -116,8 +116,8 @@
 			boolean flagStart = schoolYearLst.get(i).getStartTime().before(time);
 			boolean flagend = schoolYearLst.get(i).getEndTime().before(time);
 			
-			if(flagStart == true && flagend == false){ // 选择的时间在开始时间之后结束时间之前
-				resultFlag = new Result(true,"当前机构已设置该时间的学年");
+			if(flagStart == true && flagend == false){ // 閫夋嫨鐨勬椂闂村湪寮�濮嬫椂闂翠箣鍚庣粨鏉熸椂闂翠箣鍓�
+				resultFlag = new Result(true,"褰撳墠鏈烘瀯宸茶缃鏃堕棿鐨勫骞�");
 				break;
 			}
 		}
@@ -127,11 +127,11 @@
 	
 	public List<SchSchoolYear> setPublic( String schSchoolYearId) {
 
-		// 获取当前机构所有学年
+		// 鑾峰彇褰撳墠鏈烘瀯鎵�鏈夊骞�
 		String hql = "from SchSchoolYear where deleteFlag is false and orgId = ? order by endTime desc";
 		List<SchSchoolYear> schoolYearList = find(hql, CollectionUtils.newList(ClientUtils.getOrgId()), SchSchoolYear.class);
 		
-		// 编辑页面过滤当前学年
+		// 缂栬緫椤甸潰杩囨护褰撳墠瀛﹀勾
 		List<SchSchoolYear> schoolYearLst = new ArrayList<SchSchoolYear>();
 		if(StringUtils.isNotBlank(schSchoolYearId)){
 			for (SchSchoolYear schoolYear : schoolYearList) {
diff --git a/src/main/java/com/qxueyou/scc/school/service/impl/SignService.java b/src/main/java/com/qxueyou/scc/school/service/impl/SignService.java
index 32d8787..359089b 100644
--- a/src/main/java/com/qxueyou/scc/school/service/impl/SignService.java
+++ b/src/main/java/com/qxueyou/scc/school/service/impl/SignService.java
@@ -57,15 +57,15 @@
 @Service
 public class SignService extends CommonAppService implements ISignService {
 	
-	private static final String late = "迟到";
+	private static final String late = "杩熷埌";
 
-	private static final String normal = "正常";
+	private static final String normal = "姝e父";
 
 	private static Logger log = LogManager.getLogger("SignService");
 	
 	private SignDAO signDAO;
 
-//	// 签到上大屏
+//	// 绛惧埌涓婂ぇ灞�
 //	@Autowired
 //	IMsgVenderService  easemobService;
 //	
@@ -75,7 +75,7 @@
 //	@Autowired
 //	ICacheService cacheService;
 	
-//	/** 微信业务操作  **/
+//	/** 寰俊涓氬姟鎿嶄綔  **/
 //	@Autowired
 //	IWeixinCommonService weixinCommonService;
 	
@@ -92,7 +92,7 @@
 	}
 
 	/**
-     * 依赖注入
+     * 渚濊禆娉ㄥ叆
      *
      * @param interactDAO
      */
@@ -109,7 +109,7 @@
 			List<SchSign> lstSchSign = this.find("select s from SchSign s where s.classScheduleId = ? and s.deleteFlag is false and signId <> ?",
 					CollectionUtils.newList(sign.getClassScheduleId(), signId), SchSign.class);
 			if(lstSchSign != null && !lstSchSign.isEmpty()){
-				return new Result(false, "你选择的课程已经存在签到,请不要重复添加");
+				return new Result(false, "浣犻�夋嫨鐨勮绋嬪凡缁忓瓨鍦ㄧ鍒帮紝璇蜂笉瑕侀噸澶嶆坊鍔�");
 			}
 			SchSign objSchSign = this.read(SchSign.class, signId);
 			objSchSign.setUpdateId(ClientUtils.getUserId());
@@ -133,10 +133,10 @@
 			List<SchSign> lstSchSign = this.find("select s from SchSign s where s.classScheduleId = ? and s.deleteFlag is false",
 					CollectionUtils.newList(sign.getClassScheduleId()), SchSign.class);
 			if(lstSchSign != null && !lstSchSign.isEmpty()){
-				return new Result(false, "你选择的课程已经存在签到,请不要重复添加");
+				return new Result(false, "浣犻�夋嫨鐨勮绋嬪凡缁忓瓨鍦ㄧ鍒帮紝璇蜂笉瑕侀噸澶嶆坊鍔�");
 			}
-			// 获取客户端信息
-			// 设置基本字段
+			// 鑾峰彇瀹㈡埛绔俊鎭�
+			// 璁剧疆鍩烘湰瀛楁
 			String signCode = generateSignCode(ClientUtils.getClassId());
 			sign.setCreateId(ClientUtils.getUserId());
 			sign.setCreateTime(new Date(System.currentTimeMillis()));
@@ -160,7 +160,7 @@
 //				sign.setNoticeUserId(msgUser.getUserId());
 //				sign.setNoticePassword(RSAUtils.encrypt(uuidPwd));
 //			}
-			//添加签到码
+			//娣诲姞绛惧埌鐮�
 			SchSignCode signCodeVO = new SchSignCode();
 			signCodeVO.setCode(signCode);
 			signCodeVO.setClassId(ClientUtils.getClassId());
@@ -179,8 +179,8 @@
 	}
 	
 	/**
-	 * 生成签到码
-	 * @param classId 班级ID
+	 * 鐢熸垚绛惧埌鐮�
+	 * @param classId 鐝骇ID
 	 * @return
 	 */
 	private String generateSignCode(String classId){
@@ -203,14 +203,14 @@
 		
 		SchSignItem signItem = new SchSignItem();
 
-		// 获取当前用户
+		// 鑾峰彇褰撳墠鐢ㄦ埛
 		signItem.setSignId(sign.getSignId());
 		signItem.setDeleteFlag(false);
 		signItem.setSignAddress(signAddress);
 		signItem.setSignTime(signTime);
 		signItem.setUserId(userId);
 		signItem.setUserName(userName);
-		// 公用配置
+		// 鍏敤閰嶇疆
 		TraceUtils.setCreateTrace(signItem);
 		
 		this.save(signItem);
@@ -220,15 +220,15 @@
 	
 	@Override
 	/**
-	 * 签到
+	 * 绛惧埌
 	 */
 	public int insertSignOrder(SchSign signVO, Date signTime) {
 		String hql = "from SchSignOrder where deleteFlag is false and signId=? ";
 		
-		// 该堂课已经签到多少位
+		// 璇ュ爞璇惧凡缁忕鍒板灏戜綅
 		int signCount =  this.findCount(hql, 
 				CollectionUtils.newList(signVO.getSignId()));
-		// 签到+1
+		// 绛惧埌+1
 		signCount++;
 		
 		SchSignOrder signOrder = new SchSignOrder();
@@ -239,17 +239,17 @@
 		signOrder.setSignOrder(signCount);
 		signOrder.setSignTime(signTime);
 		
-		// 公用配置
+		// 鍏敤閰嶇疆
 		TraceUtils.setCreateTrace(signOrder);
 		
-		// 保存到db
+		// 淇濆瓨鍒癲b
 		this.save(signOrder);
 		
 		return signCount;
 	}
 	
 	/**
-	 *  得到签到明细
+	 *  寰楀埌绛惧埌鏄庣粏
 	 * @param signId
 	 * @return
 	 */
@@ -276,14 +276,14 @@
 	    			"ORDER BY TS.START_TIME IS NULL , TS.START_TIME ASC ";
 				listResult = signDAO.querySignItemList(strSQL, CollectionUtils.newList(classId,signId,signId));
 		}else{
-			log.error("查询签到明细失败,参数不正确:cls=".concat(ClientUtils.getClassId()).concat(";signId=").concat(signId));
+			log.error("鏌ヨ绛惧埌鏄庣粏澶辫触锛屽弬鏁颁笉姝g‘锛歝ls=".concat(ClientUtils.getClassId()).concat(";signId=").concat(signId));
 		}
 		
 		return listResult;
 	}
 	
 	/**
-	 * 有一个时分秒的问题:只需要检测到分钟:9:00是标准时间  9:00:59 仍然是正常
+	 * 鏈変竴涓椂鍒嗙鐨勯棶棰橈細鍙渶瑕佹娴嬪埌鍒嗛挓锛�9锛�00鏄爣鍑嗘椂闂�  9锛�00锛�59 浠嶇劧鏄甯�
 	 * @param realTime
 	 * @param standardTime
 	 * @return
@@ -299,7 +299,7 @@
 	}
 	
 	/**
-	 * 有一个时分秒的问题:只需要检测到分钟:
+	 * 鏈変竴涓椂鍒嗙鐨勯棶棰橈細鍙渶瑕佹娴嬪埌鍒嗛挓锛�
 	 * @param realTime
 	 * @param standardTime
 	 * @return
@@ -309,18 +309,18 @@
 		if(null != realTime && null != standardTime){
 			Date real = DateUtils.truncate(realTime, Calendar.MINUTE);
 			Date standard = DateUtils.truncate(standardTime, Calendar.MINUTE);
-			status = real.compareTo(standard) == -1 ? "早退" :normal;
+			status = real.compareTo(standard) == -1 ? "鏃╅��" :normal;
 		}
 		return status;
 	}
 	
     /**
-     * 插入签到统计信息
+     * 鎻掑叆绛惧埌缁熻淇℃伅
      */
 	public SignStatisResult insertSignStatistics(SchSign sign, String signAddress,
 			Date signTime,Short terminalType,String userId,String userName,String mobilePhone, String location) {
 		User user = this.read(User.class, userId);
-		//判断签到类型,1:仅上课签到;2:上下课都需签到
+		//鍒ゆ柇绛惧埌绫诲瀷,1:浠呬笂璇剧鍒帮紱2锛氫笂涓嬭閮介渶绛惧埌
 		SignStatisResult result = new SignStatisResult();
 		short signType = sign.getSignType();
 		if(SchSign.SIGN_TYPE_FIRST == signType){
@@ -337,7 +337,7 @@
 	}
 	
 	/**
-	 * 查询签到当天的课次
+	 * 鏌ヨ绛惧埌褰撳ぉ鐨勮娆�
 	 * 
 	 * @param signId
 	 * @return
@@ -349,7 +349,7 @@
 	}
 	
 	/**
-	 * 插入签到
+	 * 鎻掑叆绛惧埌
 	 * 
 	 * @param signVO
 	 * @param signAddress
@@ -359,16 +359,16 @@
 	 * @return
 	 */
 	public SignStatisResult insertSignStatistics(SchSign signVO, String signAddress, String userId, String userName, String mobilePhone, short type){
-		// 签到时间
+		// 绛惧埌鏃堕棿
 		Date signTime= new Date(System.currentTimeMillis());
 		String strAddress = this.getAddress(signAddress);
 		
-		//3. 插入签到统计
+		//3. 鎻掑叆绛惧埌缁熻
 		SignStatisResult result = this.insertSignStatistics(signVO, strAddress, signTime,type ,userId,userName,mobilePhone, signAddress);
 		if(!result.getResult()){
 			return new SignStatisResult(false,result.getErrMsg());
 		}
-		// 2.插入签到历史记录
+		// 2.鎻掑叆绛惧埌鍘嗗彶璁板綍
 		this.insertSignItem(signVO, signAddress, signTime,ClientUtils.getUserId(),ClientUtils.getUserName());
 		
 		List<SchSignStatistics> schSignStatisticss = this.queryPageLstSignStatistics(result.getSignStatistics(), null, result.getSignType(), signVO.getSignId());
@@ -377,12 +377,12 @@
 			obj.setSignType(result.getSignType());
 		}
 		
-		//查询班主任名字
+		//鏌ヨ鐝富浠诲悕瀛�
 		ClsClass objOrgClass = this.read(ClsClass.class, signVO.getClassId());
 		
 		result.setSignAddr(strAddress);
 		result.setSignStatisticss(schSignStatisticss);
-		//2015-08-10增加返回是否班级成员
+		//2015-08-10澧炲姞杩斿洖鏄惁鐝骇鎴愬憳
 		result.setRegFlag(this.queryRegistrationFlag(ClientUtils.getUserId(), signVO.getClassId()));
 		result.setClassCharger(objOrgClass.getClassCharger());
 		
@@ -390,7 +390,7 @@
 	}
 	
 	/**
-	 * 根据经纬度获取地址
+	 * 鏍规嵁缁忕含搴﹁幏鍙栧湴鍧�
 	 * @param location
 	 * @return
 	 */
@@ -424,7 +424,7 @@
 	}
 	
 	/**
-	 * 活动签到,插入签到统计信息(上课,只有第一次插入记录)
+	 * 娲诲姩绛惧埌锛屾彃鍏ョ鍒扮粺璁′俊鎭紙涓婅锛屽彧鏈夌涓�娆℃彃鍏ヨ褰曪級
 	 * @param sign
 	 * @param signAddress
 	 * @param signTime
@@ -435,12 +435,12 @@
 		
 		int signOrder = 0;
 		SignStatisResult result = new SignStatisResult();
-		//1.查询是否已签到,查询当天签到情况
-		//获取当天用户是否签到
-		//1.查询是否已签到,查询当天签到情况
+		//1.鏌ヨ鏄惁宸茬鍒�,鏌ヨ褰撳ぉ绛惧埌鎯呭喌
+		//鑾峰彇褰撳ぉ鐢ㄦ埛鏄惁绛惧埌
+		//1.鏌ヨ鏄惁宸茬鍒�,鏌ヨ褰撳ぉ绛惧埌鎯呭喌
 		String hql = "from SchSignStatistics where deleteFlag is false and signId = ? and userId = ?";
 		SchSignStatistics objSchSignStatistics = findUnique(hql,CollectionUtils.newList(sign.getSignId(), userId),SchSignStatistics.class);
-		//第一次保存,以后不更新,已最早时间为准(每次更新最新签到地址)
+		//绗竴娆′繚瀛橈紝浠ュ悗涓嶆洿鏂帮紝宸叉渶鏃╂椂闂翠负鍑嗭紙姣忔鏇存柊鏈�鏂扮鍒板湴鍧�锛�
 		if(null != objSchSignStatistics){
 			signOrder = objSchSignStatistics.getFirstSignOrder();
 			objSchSignStatistics.setTerminalType(terminalType);
@@ -449,7 +449,7 @@
 			save(objSchSignStatistics);
 			result.setSignStatistics(objSchSignStatistics);
 		}else{
-			// 已经签到个数
+			// 宸茬粡绛惧埌涓暟
 			String hql1 = "from SchSignStatistics where deleteFlag is false and signId = ?";
 			int signCount =  findCount(hql1,CollectionUtils.newList(sign.getSignId()));
 			signOrder = signCount + 1;
@@ -473,7 +473,7 @@
 			obj.setMobilePhone(mobilePhone);
 			obj.setInstallFlag(queryInstallFlag(userId));
 			obj.setRegisteFlag(queryRegistrationFlag(userId,sign.getClassId()));
-			//第一次保存
+			//绗竴娆′繚瀛�
 			save(obj);
 			result.setSignStatistics(obj);
 		}
@@ -485,7 +485,7 @@
 	}
 	
 	/**
-	 * 是否超过签到限制距离
+	 * 鏄惁瓒呰繃绛惧埌闄愬埗璺濈
 	 * 
 	 * @param signVO
 	 * @param signAddress
@@ -498,14 +498,14 @@
 			return new Result(true);
 		}
 		if(StringUtils.isBlank(signAddress)){
-			return new Result(false, "签到失败,未获取到签到地址,请确认是否开启定位");
+			return new Result(false, "绛惧埌澶辫触锛屾湭鑾峰彇鍒扮鍒板湴鍧�锛岃纭鏄惁寮�鍚畾浣�");
 		}
 		SchScheduleAddress objSchScheduleAddress = this.read(SchScheduleAddress.class, objSchClassSchedule.getAddressId());
 		if(objSchScheduleAddress == null){
-			return new Result(false, "签到失败,课程签到地址设置错误,请联系班主任修正签到地址");
+			return new Result(false, "绛惧埌澶辫触锛岃绋嬬鍒板湴鍧�璁剧疆閿欒锛岃鑱旂郴鐝富浠讳慨姝g鍒板湴鍧�");
 		}
 		if(StringUtils.isBlank(objSchScheduleAddress.getLatitudeY()) || StringUtils.isBlank(objSchScheduleAddress.getLongitudeX())){
-			return new Result(false, "签到失败,课程签到地址设置错误,请联系班主任修正签到地址");
+			return new Result(false, "绛惧埌澶辫触锛岃绋嬬鍒板湴鍧�璁剧疆閿欒锛岃鑱旂郴鐝富浠讳慨姝g鍒板湴鍧�");
 		}
 		String[] signAddresss = signAddress.split(",");
 		
@@ -519,17 +519,17 @@
 			objSchSignStatistics.setStatisticsFlag(SchSignStatistics.STATISTICS_FLAG_NO);
 		}
 		objSchSignStatistics.setOutOfRange(range*1000);
-		return new Result(true, b?"":"签到成功,由于您的签到地址超出上课地址的签到范围,因此你的签到无法记录本班当日已出勤人数,请与班主任联系");
+		return new Result(true, b?"":"绛惧埌鎴愬姛锛岀敱浜庢偍鐨勭鍒板湴鍧�瓒呭嚭涓婅鍦板潃鐨勭鍒拌寖鍥达紝鍥犳浣犵殑绛惧埌鏃犳硶璁板綍鏈彮褰撴棩宸插嚭鍕や汉鏁帮紝璇蜂笌鐝富浠昏仈绯�");
 	}
 	
 	/**
-	 * 获取当天签到地址
+	 * 鑾峰彇褰撳ぉ绛惧埌鍦板潃
 	 * 
 	 * @param signId
 	 * @return
 	 */
 	public SchScheduleAddress getSchScheduleAddress(String signId){
-		//获取签到码当天签到的课程
+		//鑾峰彇绛惧埌鐮佸綋澶╃鍒扮殑璇剧▼
 		SchClassSchedule objSchClassSchedule = this.getSchClassSchedule(signId);
 		if(objSchClassSchedule == null){
 			return new SchScheduleAddress();
@@ -540,7 +540,7 @@
 	}
 	
 	/**
-	 * 上课签到,插入签到统计信息(上课,只有第一次插入记录)
+	 * 涓婅绛惧埌锛屾彃鍏ョ鍒扮粺璁′俊鎭紙涓婅锛屽彧鏈夌涓�娆℃彃鍏ヨ褰曪級
 	 * @param sign
 	 * @param signAddress
 	 * @param signTime
@@ -555,19 +555,19 @@
 		SignStatisResult result = new SignStatisResult();
 		result.setSignType(SignStatisResult.SIGN_TYPE_FIRST);
 		
-		//1.查询是否已签到,查询当天签到情况
-		//获取当天用户是否签到
+		//1.鏌ヨ鏄惁宸茬鍒�,鏌ヨ褰撳ぉ绛惧埌鎯呭喌
+		//鑾峰彇褰撳ぉ鐢ㄦ埛鏄惁绛惧埌
 		SchSignStatistics objSchSignStatistics = this.getSchSignStatistics(sign.getSignId(), userId);
-		//获取签到码当天签到的课程
+		//鑾峰彇绛惧埌鐮佸綋澶╃鍒扮殑璇剧▼
 		SchClassSchedule objSchClassSchedule = this.getSchClassSchedule(sign.getSignId());
 		boolean activeFlag = queryActiveflag(userId,sign.getClassId());
 		if(sign.getRegisterAllow() == 1 && !activeFlag){
-			result.setErrMsg("签到失败,您还未加入该班级");
+			result.setErrMsg("绛惧埌澶辫触锛屾偍杩樻湭鍔犲叆璇ョ彮绾�");
 			result.setResult(false);
 			return result;
 		}
 		if(objSchClassSchedule == null){
-			result.setErrMsg("签到失败,今天该课程未开课");
+			result.setErrMsg("绛惧埌澶辫触锛屼粖澶╄璇剧▼鏈紑璇�");
 			result.setResult(false);
 			return result;
 		}
@@ -576,15 +576,15 @@
 		int signCount = 0;
 		if(lstSchSignStatistics == null){
 			String hql1 = "from SchSignStatistics where deleteFlag is false and signId = ? and date(signDate) = date(now())";
-			// 已经签到个数
+			// 宸茬粡绛惧埌涓暟
 			signCount =  findCount(hql1,CollectionUtils.newList(sign.getSignId()));
 		}else{
 			signCount = lstSchSignStatistics.size();
 		}
-		//第一次保存,以后不更新,已最早时间为准(每次更新最新签到地址)
+		//绗竴娆′繚瀛橈紝浠ュ悗涓嶆洿鏂帮紝宸叉渶鏃╂椂闂翠负鍑嗭紙姣忔鏇存柊鏈�鏂扮鍒板湴鍧�锛�
 		if(null == objSchSignStatistics){
 			
-			//查询课程信息
+			//鏌ヨ璇剧▼淇℃伅
 			SchClassSubject objSchClassSubject = this.getCommonDAO().read(SchClassSubject.class, sign.getClassScheduleId());
 			signOrder = signCount + 1;
 			objSchSignStatistics = new SchSignStatistics();
@@ -610,7 +610,7 @@
 			objSchSignStatistics.setMobilePhone(mobilePhone);
 			objSchSignStatistics.setInstallFlag(queryInstallFlag(userId));
 			objSchSignStatistics.setRegisteFlag(activeFlag);
-			//第一次保存
+			//绗竴娆′繚瀛�
 		}
 		Result isOutofRange = this.isOutofRange(sign, location, objSchClassSchedule, activeFlag, objSchSignStatistics);
 		if(!isOutofRange.isSuccess()){
@@ -650,21 +650,21 @@
 	}
 	
 	/**
-	 * 获取当天是否已经签到
+	 * 鑾峰彇褰撳ぉ鏄惁宸茬粡绛惧埌
 	 * 
 	 * @param signId
 	 * @return
 	 */
 	public SchSignStatistics getSchSignStatistics(String signId, String userId){
-		//1.查询是否已签到,查询当天签到情况
+		//1.鏌ヨ鏄惁宸茬鍒�,鏌ヨ褰撳ぉ绛惧埌鎯呭喌
 		String hql = "from SchSignStatistics where deleteFlag is false and signId = ? and userId = ? and date(signDate) = date(now())";
 		return findUnique(hql,CollectionUtils.newList(signId, userId),SchSignStatistics.class);
 	}
 	
 	/**
-	 *  上下课都需签到时,插入签到统计信息
-	 *  上课签到:调用insertSignFirst()
-	 *  下课签到:每次更新,按下课签到时间倒序排列
+	 *  涓婁笅璇鹃兘闇�绛惧埌鏃讹紝鎻掑叆绛惧埌缁熻淇℃伅
+	 *  涓婅绛惧埌锛氳皟鐢╥nsertSignFirst()
+	 *  涓嬭绛惧埌锛氭瘡娆℃洿鏂帮紝鎸変笅璇剧鍒版椂闂村�掑簭鎺掑垪
 	 * @param sign
 	 * @param signAddress
 	 * @param signTime
@@ -675,18 +675,18 @@
 			Date signTime,Short terminalType,String userId,String userName,String mobilePhone, String location){
 		
 		SignStatisResult result = new SignStatisResult();
-		//1.判断当前签到是上课,else:下课签到
-		//精确到分钟比较
-		//获取签到码当天签到的课程
+		//1.鍒ゆ柇褰撳墠绛惧埌鏄笂璇�,else:涓嬭绛惧埌
+		//绮剧‘鍒板垎閽熸瘮杈�
+		//鑾峰彇绛惧埌鐮佸綋澶╃鍒扮殑璇剧▼
 		SchClassSchedule objSchClassSchedule = this.getSchClassSchedule(sign.getSignId());
 		if(objSchClassSchedule == null){
-			result.setErrMsg("今天该课程未开课,不需要签到");
+			result.setErrMsg("浠婂ぉ璇ヨ绋嬫湭寮�璇撅紝涓嶉渶瑕佺鍒�");
 			result.setResult(false);
 			return result;
 		}
 		boolean activeFlag = queryActiveflag(userId,sign.getClassId());
 		if(sign.getRegisterAllow() == 1 && !activeFlag){
-			result.setErrMsg("签到失败,您还未加入该班级");
+			result.setErrMsg("绛惧埌澶辫触锛屾偍杩樻湭鍔犲叆璇ョ彮绾�");
 			result.setResult(false);
 			return result;
 		}
@@ -695,7 +695,7 @@
 		Date signDate = DateUtils.truncate(signTime, Calendar.MINUTE);
 		if((endDate.getTime() + startDate.getTime())/2  >=  signDate.getTime()){
 			result.setSignType(SignStatisResult.SIGN_TYPE_FIRST);
-			//插入上课签到信息
+			//鎻掑叆涓婅绛惧埌淇℃伅
 			result = insertSignFirst(sign,signAddress,signTime,terminalType,userId,userName,mobilePhone, location);
 		}else{
 			result.setSignType(SignStatisResult.SIGN_TYPE_LAST);
@@ -707,7 +707,7 @@
 				}else{
 					obj.setLastSignStatus(SchSignStatistics.SIGN_STATUS_EARLY);
 				}
-				//每次更新
+				//姣忔鏇存柊
 				obj.setUserName(userName);
 				obj.setInstallFlag(queryInstallFlag(userId));
 				obj.setRegisteFlag(activeFlag);
@@ -726,9 +726,9 @@
 				result.setRange(obj.getOutOfRange());
 				result.setErrMsg(isOutofRange.getMsg());
 			}else{
-				//查询课程信息
+				//鏌ヨ璇剧▼淇℃伅
 				SchClassSubject objSchClassSubject = this.getCommonDAO().read(SchClassSubject.class, sign.getClassScheduleId());
-				//否则第一次下课签到
+				//鍚﹀垯绗竴娆′笅璇剧鍒�
 				SchSignStatistics objNew = new SchSignStatistics();
 				TraceUtils.setCreateTrace(objNew);
 				objNew.setSignId(sign.getSignId());
@@ -758,7 +758,7 @@
 					result.setResult(false);
 					return result;
 				}
-				//第一次保存
+				//绗竴娆′繚瀛�
 				save(objNew);
 				result.setSignStatistics(objNew);
 				result.setRange(objNew.getOutOfRange());
@@ -770,7 +770,7 @@
 	}
 	
 	/**
-	 * 查询是否安装(通过账号登录记录)
+	 * 鏌ヨ鏄惁瀹夎锛堥�氳繃璐﹀彿鐧诲綍璁板綍锛�
 	 */
 	public boolean queryInstallFlag(String userId){
 		String hql = "from UserOperate where deleteFlag is false and userId= ? ";
@@ -779,7 +779,7 @@
 	}
 	
 	/**
-	 * 查询是否班级成员(通过账号登录记录)
+	 * 鏌ヨ鏄惁鐝骇鎴愬憳锛堥�氳繃璐﹀彿鐧诲綍璁板綍锛�
 	 */
 	public boolean queryRegistrationFlag(String userId,String classId){
 		String hql = "from UserRegistration where deleteFlag is false and userId= ? and classId = ? ";
@@ -788,7 +788,7 @@
 	}
 	
 	/**
-	 * 查询是否班级激活
+	 * 鏌ヨ鏄惁鐝骇婵�娲�
 	 */
 	public boolean queryActiveflag(String userId,String classId){
 		String hql = "from UserRegistration where deleteFlag is false and userId= ? and classId = ? and status = ?";
@@ -797,7 +797,7 @@
 	}
 	
 	/**
-	 *  得到满足要求的签到明细(优化版本)
+	 *  寰楀埌婊¤冻瑕佹眰鐨勭鍒版槑缁�(浼樺寲鐗堟湰)
 	 * @param signId
 	 * @return
 	 */
@@ -806,7 +806,7 @@
 	}
 	
 	/**
-	 * 查询
+	 * 鏌ヨ
 	 * 
 	 * @param signId
 	 * @param signDate
@@ -823,7 +823,7 @@
 		
 		List<SchSignStatistics> lstStatistics = this.signDAO.querySchSignStatisticses(hql, CollectionUtils.newList(signId, 2));
 		
-		//查询,SQL会清晰
+		//鏌ヨ锛孲QL浼氭竻鏅�
 		String hql0 = " select r.USER_ID as userId,r.user_name as userName,r.mobile_phone as mobilePhone ,case when o.user_id is not null then 1 else 0 end installFlag,u.attribute1 as companyName  from user_registration r  "
 				    + " left join  "
 				    + " user_operate o  "
@@ -843,14 +843,14 @@
 	}
 	
 	/**
-	 * 导出(优化版本)
+	 * 瀵煎嚭(浼樺寲鐗堟湰)
 	 * @param signId
 	 * @param objSchSign
 	 * @return
 	 */
 	public List<ExportSchSignItem> exportSimpleItems(String signId, String signDate){
 		
-		//查询列表的数据
+		//鏌ヨ鍒楄〃鐨勬暟鎹�
 		List<SchSignStatistics> lstStatistics = getHandleStatistics(signId, signDate);
 		
 		List<ExportSchSignItem> lstExports = new ArrayList<ExportSchSignItem>();
@@ -888,13 +888,13 @@
 				value = late;
 				break;
 			case SchSignStatistics.SIGN_STATUS_EARLY :
-				value = "早退";
+				value = "鏃╅��";
 				break;
 			case SchSignStatistics.SIGN_STATUS_NO :
-				value = "未签到";
+				value = "鏈鍒�";
 				break;
 			default:
-				value = "签到异常";
+				value = "绛惧埌寮傚父";
 				break;
 		}
 		
@@ -926,7 +926,7 @@
 	}
 	
 	/**
-	 * 签到历史
+	 * 绛惧埌鍘嗗彶
 	 * @return
 	 */
 	@Override
@@ -936,7 +936,7 @@
 	}
 	
 	/**
-	 * 微信签到高级设置
+	 * 寰俊绛惧埌楂樼骇璁剧疆
 	 * @param sign
 	 * @return
 	 */
@@ -968,13 +968,13 @@
 		if(null!=sign.getOrgShow()){
 			objSign.setOrgShow(sign.getOrgShow());
 		}
-		// 获取客户端信息
+		// 鑾峰彇瀹㈡埛绔俊鎭�
 		objSign.setUpdateId(ClientUtils.getUserId());
 		objSign.setUpdateTime(new Date(System.currentTimeMillis()));
 		objSign.setUpdator(ClientUtils.getUserName());
 		
 		save(objSign);
-		//更新缓存
+		//鏇存柊缂撳瓨
 //		cacheService.set(CacheConstants.SCH_SIGN_ID_PREFIX.concat(objSign.getSignId()), CacheConstants.SCH_SIGN_ID_TIME, objSign);
 		
 		return new Result(true);
@@ -982,7 +982,7 @@
 	
 	
 	/**
-	 * 签到 发送消息,环信替代
+	 * 绛惧埌 鍙戦�佹秷鎭�,鐜俊鏇夸唬
 	 * @param signType
 	 * @param signIndex
 	 * @param signId
@@ -994,7 +994,7 @@
 		SchSign schSign  = this.getSignFromCacheOrDB(signId);
 		
 		Map<String,String> extra = new HashMap<String,String>();
-		extra.put("title", "签到");
+		extra.put("title", "绛惧埌");
 		extra.put("userId", user.getUserId());
 		extra.put("userName", user.getName());
 		extra.put("userImg", user.getImgPath());
@@ -1002,13 +1002,13 @@
 		extra.put("signIndex", String.valueOf(signIndex));
 		extra.put("signId", signId);
 		
-//		easemobService.doSendTextMsgToUsers("notice-sys", new String[]{schSign.getNoticeUserId()}, "用户签到", extra);
+//		easemobService.doSendTextMsgToUsers("notice-sys", new String[]{schSign.getNoticeUserId()}, "鐢ㄦ埛绛惧埌", extra);
 		
 		return new Result(true) ;
 	}
 
 	/**
-	 * 初始化签到信息
+	 * 鍒濆鍖栫鍒颁俊鎭�
 	 * @param signId
 	 * @param userId
 	 * @param initType
@@ -1057,7 +1057,7 @@
 	}
 	
 	/**
-	 * 根据课程信息获取签到信息
+	 * 鏍规嵁璇剧▼淇℃伅鑾峰彇绛惧埌淇℃伅
 	 * 
 	 * @param strClassSubjectId
 	 * @return
@@ -1068,7 +1068,7 @@
 	}
 	
 	/**
-	 * 根据课程信息获取签到人员记录
+	 * 鏍规嵁璇剧▼淇℃伅鑾峰彇绛惧埌浜哄憳璁板綍
 	 * 
 	 * @param strClassSubjectId
 	 * @return
@@ -1082,7 +1082,7 @@
 	
 	
 	/**
-	 * 查询签到历史
+	 * 鏌ヨ绛惧埌鍘嗗彶
 	 * @param hql
 	 * @param args
 	 * @param page
@@ -1103,11 +1103,11 @@
 			return lstSchSignStatistics;
 		}
 		StringBuffer sb = new StringBuffer(512);
-		// 4.查询签到名次
+		// 4.鏌ヨ绛惧埌鍚嶆
 		sb.append("select s, u.imgPath from SchSignStatistics s, User u where ");
 		sb.append(" s.userId=u.userId and s.deleteFlag is false and s.signId = ? ");
 		
-		//根据类型判断排序规则
+		//鏍规嵁绫诲瀷鍒ゆ柇鎺掑簭瑙勫垯
 		if(signType == null || SchSign.SIGN_TYPE_ALL == signType){
 			sb.append(" and date(s.signDate) = date(NOW()) and s.lastSignTime is not null order by s.lastSignTime desc  ");
 		}else if(SchSign.SIGN_TYPE_FIRST == signType){
@@ -1124,7 +1124,7 @@
 			currPage.setPageSize(200);
 		}
 		
-		// 查询并且缓存
+		// 鏌ヨ骞朵笖缂撳瓨
 		List<SchSignStatistics> lstData = this.querySignItemListStat(sb.toString(), CollectionUtils.newList(signId));
 //		cacheService.set(cache, CacheConstants.BUSINESS_DATA_TIME, lstData);
 		
@@ -1133,7 +1133,7 @@
 	}
 	
 	/**
-	 * 签到,根据signId得到schSign
+	 * 绛惧埌锛屾牴鎹畇ignId寰楀埌schSign
 	 * @param signId
 	 * @return
 	 */
@@ -1157,7 +1157,7 @@
 	}
 	
 	/**
-	 * 签到对应活动,根据signId得到相对应的活动
+	 * 绛惧埌瀵瑰簲娲诲姩锛屾牴鎹畇ignId寰楀埌鐩稿搴旂殑娲诲姩
 	 * @param signId
 	 * @return
 	 */
@@ -1181,7 +1181,7 @@
 //	}
 	
 	/**
-	 * 根据sign得到相对应的机构图像
+	 * 鏍规嵁sign寰楀埌鐩稿搴旂殑鏈烘瀯鍥惧儚
 	 * @param signId
 	 * @return
 	 */
@@ -1207,7 +1207,7 @@
 	
 	public Result sendSignQueueMsg(String args){
 		
-		// 延时一分钟发送 
+		// 寤舵椂涓�鍒嗛挓鍙戦�� 
 //		ONSMsg msg = new ONSMsg(onsProducer.getTopic());
 		
 //		msg.put("msgType", "SCH_SIGN_QUEUE");
@@ -1227,9 +1227,9 @@
 	}
 	
 	/**
-	 * 签到异步处理部分代码
+	 * 绛惧埌寮傛澶勭悊閮ㄥ垎浠g爜
 	 * 
-	 * @param strArgs json对象
+	 * @param strArgs json瀵硅薄
 	 * @return
 	 */
 	@SuppressWarnings("unused")
@@ -1251,7 +1251,7 @@
 		
 //		if(StringUtils.isNotBlank(inputCode) && StringUtils.isNotBlank(openId)){
 //			
-//			// 查询并更新绑定关系
+//			// 鏌ヨ骞舵洿鏂扮粦瀹氬叧绯�
 //			UserReWeixin weixin = weixinCommonService.queryUserReWxByOpenId(openId);
 //			if(weixin == null){
 //				weixinCommonService.saveUserReWeixin(openId, userId, source);
@@ -1260,10 +1260,10 @@
 //			}
 //		}
 		
-		//签到积分
+		//绛惧埌绉垎
 //		scoreChangeService.doSign(userId, signId);
 				
-		//签到大屏,发送消息
+		//绛惧埌澶у睆,鍙戦�佹秷鎭�
 		User user = new User();
 		user.setName(userName);
 		user.setUserId(userId);
@@ -1276,16 +1276,16 @@
 	}
 	
 	/**
-	 * 通过openId得到user
+	 * 閫氳繃openId寰楀埌user
 	 * @param openId
 	 * @return
 	 */
 	public User getUserFromOpenId(String openId){
 		User user = null;
-//		// 通过openId找user
+//		// 閫氳繃openId鎵緐ser
 //		if(StringUtils.isNotBlank(openId)){
 //			
-//			// 查询绑定关系
+//			// 鏌ヨ缁戝畾鍏崇郴
 //			UserReWeixin weixin = weixinCommonService.queryUserReWxByOpenId(openId);
 //			if (null != weixin) {
 //				user = read(User.class, weixin.getUserId());
@@ -1311,17 +1311,17 @@
 				.concat(String.valueOf(currPage.getPageSize()));
 		
 //		if(SignStatisResult.SIGN_TYPE_FIRST == signType){
-//			// 如果满一页取缓存
+//			// 濡傛灉婊′竴椤靛彇缂撳瓨
 //			Object obj = cacheService.get(cacheKey, Object.class);
 //			if(null != obj ){
 //				return (List<SchSignStatistics>)obj;
 //			}
 //		}
 		
-		// 查询并且缓存
+		// 鏌ヨ骞朵笖缂撳瓨
 		List<SchSignStatistics> lstData = signDAO.querySignItemListCom(hql, currPage, args);
 		
-		// 满一页数据缓存
+		// 婊′竴椤垫暟鎹紦瀛�
 //		if(lstData.size() == currPage.getPageSize() ){
 //			cacheService.set(cacheKey, CacheConstants.SCH_SIGN_STATISTICS_FIRST_ACTPAGE_TIME, lstData);
 //		}
@@ -1331,7 +1331,7 @@
 	}
 	
 	/**
-	 * 未签到统计页面
+	 * 鏈鍒扮粺璁¢〉闈�
 	 * 
 	 * @param signId
 	 * @param signDate
@@ -1339,7 +1339,7 @@
 	 */
 	public Result updateFlag(String signStatisticsIds){
 		if(StringUtils.isBlank(signStatisticsIds)){
-			return new Result(false, "参数错误");
+			return new Result(false, "鍙傛暟閿欒");
 		}
 		
 		this.bulkUpdateInLoop("update SchSignStatistics s set s.statisticsFlag = 1 where s.signStatisticsId = ?", signStatisticsIds.split(","));
@@ -1364,7 +1364,7 @@
 	}
 	
 	/**
-	 * 班级听课证签到
+	 * 鐝骇鍚璇佺鍒�
 	 * 
 	 * @param signVO
 	 * @param userId
@@ -1373,11 +1373,11 @@
 	 */
 	public SignStatisResult doSignByClassCard(SchSign signVO, String userId){
 		User user = this.read(User.class, userId);
-		//设置默认不控制距离和只能本班签到
+		//璁剧疆榛樿涓嶆帶鍒惰窛绂诲拰鍙兘鏈彮绛惧埌
 		signVO.setRegisterAllow(SchSign.SIGN_ACT_DISALLOW);
 		signVO.setOutRangeAllow(SchSign.SIGN_ACT_ALLOW);
 		
-		//3. 插入签到统计
+		//3. 鎻掑叆绛惧埌缁熻
 		SignStatisResult result = this.insertSignStatistics(signVO, null, new Date(),
 				SchSignStatistics.TERMINAL_TYPE_WECHAT, userId, user.getName(), user.getMobilePhone(), null);
 		if(!result.getResult()){
diff --git a/src/main/java/com/qxueyou/scc/school/service/impl/SpreadFootprintService.java b/src/main/java/com/qxueyou/scc/school/service/impl/SpreadFootprintService.java
index d24670f..25ee27e 100644
--- a/src/main/java/com/qxueyou/scc/school/service/impl/SpreadFootprintService.java
+++ b/src/main/java/com/qxueyou/scc/school/service/impl/SpreadFootprintService.java
@@ -13,7 +13,7 @@
 import com.qxueyou.scc.school.service.ISpreadFootprintService;
 
 /**
- * 课程、视频、讲义记录传播轨迹service
+ * 璇剧▼銆佽棰戙�佽涔夎褰曚紶鎾建杩箂ervice
  * 
  * @author lihanqi
  *
@@ -26,7 +26,7 @@
 	CommonDAO dao;
 	
 	/**
-	 * 新增
+	 * 鏂板
 	 * 
 	 * @param schSpreadFootprint
 	 * @return
diff --git a/src/main/java/com/qxueyou/scc/school/service/impl/StudentsScoreService.java b/src/main/java/com/qxueyou/scc/school/service/impl/StudentsScoreService.java
index 215a291..2c8c252 100644
--- a/src/main/java/com/qxueyou/scc/school/service/impl/StudentsScoreService.java
+++ b/src/main/java/com/qxueyou/scc/school/service/impl/StudentsScoreService.java
@@ -16,7 +16,7 @@
 import com.qxueyou.scc.school.service.IStudentScoreService;
 
 /**
- * 学员学分服务层
+ * 瀛﹀憳瀛﹀垎鏈嶅姟灞�
  * 
  * @author junliang
  * @createTime 2017-12-10
@@ -29,14 +29,14 @@
 		if (StringUtils.isBlank(videoId) || StringUtils.isBlank(classId) || score == null) {
 			return new Result(false, "failed");
 		}
-		// 判断班级是否已经加入过学分;
+		// 鍒ゆ柇鐝骇鏄惁宸茬粡鍔犲叆杩囧鍒�;
 		String hql = "from SchStudentScore where classId = ? and studentId =? and videoId = ?";
 		SchStudentScore findUnique = findUnique(hql, CollectionUtils.newList(classId, ClientUtils.getUserId(), videoId),
 				SchStudentScore.class);
 		if (findUnique != null) {
-			return new Result(false, "此课程已添加过学分");
+			return new Result(false, "姝よ绋嬪凡娣诲姞杩囧鍒�");
 		}
-		// 保存学分;
+		// 淇濆瓨瀛﹀垎;
 		SchStudentScore schStudentScore = new SchStudentScore();
 		TraceUtils.setCreateTrace(schStudentScore);
 		schStudentScore.setClassId(classId);
@@ -50,7 +50,7 @@
 	}
 
 	/**
-	 * 获取学员学分
+	 * 鑾峰彇瀛﹀憳瀛﹀垎
 	 */
 	@Override
 	public Result getStudentScore() {
diff --git a/src/main/java/com/qxueyou/scc/school/service/impl/StudyReportService.java b/src/main/java/com/qxueyou/scc/school/service/impl/StudyReportService.java
index 552517b..1a93e7c 100644
--- a/src/main/java/com/qxueyou/scc/school/service/impl/StudyReportService.java
+++ b/src/main/java/com/qxueyou/scc/school/service/impl/StudyReportService.java
@@ -40,7 +40,7 @@
 import com.qxueyou.scc.user.model.UserRegistration;
 
 /**
- * 学习报告查询及生成接口,如果存在,则直接查询,否则根据各类数据生成
+ * 瀛︿範鎶ュ憡鏌ヨ鍙婄敓鎴愭帴鍙o紝濡傛灉瀛樺湪锛屽垯鐩存帴鏌ヨ锛屽惁鍒欐牴鎹悇绫绘暟鎹敓鎴�
  * @author xiadehu
  *
  */
@@ -76,8 +76,8 @@
 	}
 
 	/**
-	 * 创建新的学习报告
-	 * 汇聚各类数据
+	 * 鍒涘缓鏂扮殑瀛︿範鎶ュ憡
+	 * 姹囪仛鍚勭被鏁版嵁
 	 * 
 	 * @return
 	 */
@@ -118,14 +118,14 @@
 	}
 
 	/**
-	 * 统计出用户集中学习的时间段,选取排名靠前的三个时间段(每个时间段1小时)进行显示
+	 * 缁熻鍑虹敤鎴烽泦涓涔犵殑鏃堕棿娈碉紝閫夊彇鎺掑悕闈犲墠鐨勪笁涓椂闂存(姣忎釜鏃堕棿娈�1灏忔椂)杩涜鏄剧ず
 	 * @param report
 	 */
 	private void setStudyTime(SchStudyReport report) {
 		
 		List<Map<String, Object>> result = queryStudyTime();
 		
-		//从0点到23点,统计每个时间段学习的次数
+		//浠�0鐐瑰埌23鐐癸紝缁熻姣忎釜鏃堕棿娈靛涔犵殑娆℃暟
 		int[] hours = new int[24];
 		
 		int h=0;
@@ -138,7 +138,7 @@
 			count = count + num;
 		}
 		
-		//计算出前三
+		//璁$畻鍑哄墠涓�
 		int[][] most3 = new int[][]{{0,0},{0,0},{0,0}};
 		
 		for(int i=0;i<24;i++){
@@ -154,7 +154,7 @@
 		
 		List<Map<String,Object>> data = new ArrayList<Map<String,Object>>();
 		
-		//返回前三(非零)的数据
+		//杩斿洖鍓嶄笁锛堥潪闆讹級鐨勬暟鎹�
 		for(int j=0;j<3;j++){
 			if(most3[j][0]>0){
 				data.add(CollectionUtils.newObjectMap(
@@ -190,7 +190,7 @@
 	}
 
 	/**
-	 * 查询练习、讲义、视频学习的时间统计数据
+	 * 鏌ヨ缁冧範銆佽涔夈�佽棰戝涔犵殑鏃堕棿缁熻鏁版嵁
 	 * @return
 	 */
 	private List<Map<String, Object>> queryStudyTime() {
@@ -208,22 +208,22 @@
 	
 	private String getTimeAlias(int hour){
 		if(hour<3){
-			return "深夜";
+			return "娣卞";
 		}
 		if(hour<6){
-			return "凌晨";
+			return "鍑屾櫒";
 		}
 		if(hour<12){
-			return "早上";
+			return "鏃╀笂";
 		}
 		if(hour<14){
-			return "中午";
+			return "涓崍";
 		}
 		if(hour<18){
-			return "下午";
+			return "涓嬪崍";
 		}
 		if(hour<24){
-			return "晚上";
+			return "鏅氫笂";
 		}
 		return null;
 	}
@@ -269,7 +269,7 @@
 	}
 
 	/**
-	 * 设置传播大使数据
+	 * 璁剧疆浼犳挱澶т娇鏁版嵁
 	 * @param report
 	 */
 	@SuppressWarnings("unchecked")
@@ -385,7 +385,7 @@
 	}
 
 	/**
-	 * 将report转换为返回机构数据结果
+	 * 灏唕eport杞崲涓鸿繑鍥炴満鏋勬暟鎹粨鏋�
 	 * 
 	 * @param report
 	 * @return
diff --git a/src/main/java/com/qxueyou/scc/school/service/impl/VideoIssueStopDealService.java b/src/main/java/com/qxueyou/scc/school/service/impl/VideoIssueStopDealService.java
index 1a568a9..712138e 100644
--- a/src/main/java/com/qxueyou/scc/school/service/impl/VideoIssueStopDealService.java
+++ b/src/main/java/com/qxueyou/scc/school/service/impl/VideoIssueStopDealService.java
@@ -61,7 +61,7 @@
 //			String businessId = cfg.getConfigByEnv("ons-common-topic") + "-" + UUIDUtils.generateUUID();
 //			String desp = "jobId:" + msg.getUserProperties("jobId") ;
 //
-//			log.error( businessId + " :定时器调用视频有效期发布or停用失败:" + e, e);
+//			log.error( businessId + " :瀹氭椂鍣ㄨ皟鐢ㄨ棰戞湁鏁堟湡鍙戝竷or鍋滅敤澶辫触:" + e, e);
 //			onsExceptionLogService.logSaveExceptionLog(cfg.getConfigByEnv("ons-common-topic"), "VIDEO_ISSUE_STOP", businessId , desp );
 //
 //		}
diff --git a/src/main/java/com/qxueyou/scc/school/service/impl/WBONSProducer.java b/src/main/java/com/qxueyou/scc/school/service/impl/WBONSProducer.java
index b06c7c3..7ea7951 100644
--- a/src/main/java/com/qxueyou/scc/school/service/impl/WBONSProducer.java
+++ b/src/main/java/com/qxueyou/scc/school/service/impl/WBONSProducer.java
@@ -8,7 +8,7 @@
 //import com.qxueyou.scc.base.service.impl.ONSBaseMsgProducer;
 
 /**
- * 微商消息ONS发送者
+ * 寰晢娑堟伅ONS鍙戦�佽��
  * @author zhiyong
  *
  */
diff --git a/src/main/java/com/qxueyou/scc/school/util/StudentEvaUtils.java b/src/main/java/com/qxueyou/scc/school/util/StudentEvaUtils.java
index 9b5bfc1..3a066b3 100644
--- a/src/main/java/com/qxueyou/scc/school/util/StudentEvaUtils.java
+++ b/src/main/java/com/qxueyou/scc/school/util/StudentEvaUtils.java
@@ -2,7 +2,7 @@
 
 
 /**
- * 学员评估utils
+ * 瀛﹀憳璇勪及utils
  * @author zhiyong
  *
  */
diff --git a/src/main/java/com/qxueyou/scc/school/util/StudyReportUtils.java b/src/main/java/com/qxueyou/scc/school/util/StudyReportUtils.java
index 5fcb042..e293ba6 100644
--- a/src/main/java/com/qxueyou/scc/school/util/StudyReportUtils.java
+++ b/src/main/java/com/qxueyou/scc/school/util/StudyReportUtils.java
@@ -12,7 +12,7 @@
 
 
 /**
- * 学习报告学习时间分布图生成类utils
+ * 瀛︿範鎶ュ憡瀛︿範鏃堕棿鍒嗗竷鍥剧敓鎴愮被utils
  * @author xiadehu
  *
  */
@@ -20,24 +20,24 @@
 
 	/**
 	 * 
-	 * @param width 图片宽度
-	 * @param height 图片高度
-	 * @param startHour1 开始小时1
-	 * @param text1 显示文本1
-	 * @param startHour2 开始小时2
-	 * @param text2 显示文本2
-	 * @return BufferedImage 对象
+	 * @param width 鍥剧墖瀹藉害
+	 * @param height 鍥剧墖楂樺害
+	 * @param startHour1 寮�濮嬪皬鏃�1
+	 * @param text1 鏄剧ず鏂囨湰1
+	 * @param startHour2 寮�濮嬪皬鏃�2
+	 * @param text2 鏄剧ず鏂囨湰2
+	 * @return BufferedImage 瀵硅薄
 	 */
 	public static BufferedImage drawPng(int width,int height,List<Map<String,Object>> times){
 		
-		//初始化画布
+		//鍒濆鍖栫敾甯�
 		BufferedImage image = new BufferedImage(width, height,     BufferedImage.TYPE_INT_RGB);
 		Graphics2D g2d = image.createGraphics();
 		image = g2d.getDeviceConfiguration().createCompatibleImage(width, height, Transparency.TRANSLUCENT);
 		g2d.dispose();
 		g2d = image.createGraphics();
 		 
-		//背景
+		//鑳屾櫙
 		g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
 		g2d.setColor(new Color(248,197,116));
 		double centerX = width/2;
@@ -48,7 +48,7 @@
 		g2d.draw(circle);
 		g2d.fill(circle);
 		
-		//绘制时间文字
+		//缁樺埗鏃堕棿鏂囧瓧
 		for(Map<String,Object> time:times){
 			drawStudyTimeArc(width, height, (Integer)time.get("timeFrom"),(Integer)time.get("timeTo"), g2d,new Color(255,255,255));
 		}
@@ -66,7 +66,7 @@
 		circle.setFrameFromCenter(centerX, centerY, centerX + 5, centerY+ 5);
 		g2d.fill(circle);
 		
-		//释放
+		//閲婃斁
 		g2d.dispose();
 		 
 		return image;
@@ -92,7 +92,7 @@
 		float x = x1+width/2;
 		float y1=(float)(adjustRadius(startHour1,width)/2.0d*cos);
 		float y = height/2-y1;
-		g2d.setFont(new Font("宋体", Font.PLAIN, 12));
+		g2d.setFont(new Font("瀹嬩綋", Font.PLAIN, 12));
 		g2d.drawString(text1, x, y);
 	}
 	
diff --git a/src/main/java/com/qxueyou/scc/shorturl/util/ShortUrlUtils.java b/src/main/java/com/qxueyou/scc/shorturl/util/ShortUrlUtils.java
index 7f530ec..e9047f8 100644
--- a/src/main/java/com/qxueyou/scc/shorturl/util/ShortUrlUtils.java
+++ b/src/main/java/com/qxueyou/scc/shorturl/util/ShortUrlUtils.java
@@ -4,17 +4,17 @@
 import java.util.regex.Pattern;
 
 /**
- * 短地址utils
+ * 鐭湴鍧�utils
  * @author lihanqi
  *
  */
 public class ShortUrlUtils {
 	
 	/**
-	* 验证网址Url
+	* 楠岃瘉缃戝潃Url
 	* 
-	* @param 待验证的字符串
-	* @return 如果是符合格式的字符串,返回 <b>true </b>,否则为 <b>false </b>
+	* @param 寰呴獙璇佺殑瀛楃涓�
+	* @return 濡傛灉鏄鍚堟牸寮忕殑瀛楃涓�,杩斿洖 <b>true </b>,鍚﹀垯涓� <b>false </b>
 	*/
 	public static boolean IsUrl(String str) {
 		String regex = "^(https?|ftp|file)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]";
diff --git a/src/main/java/com/qxueyou/scc/sms/model/Sms.java b/src/main/java/com/qxueyou/scc/sms/model/Sms.java
index 51fd550..124ad86 100644
--- a/src/main/java/com/qxueyou/scc/sms/model/Sms.java
+++ b/src/main/java/com/qxueyou/scc/sms/model/Sms.java
@@ -16,7 +16,7 @@
 
 
 /**
- * 短信表 实体
+ * 鐭俊琛� 瀹炰綋
  * @author ody.yuan
  *
  */
@@ -26,110 +26,110 @@
 	
 	private static final long serialVersionUID = 1L;
 
-	//平台云之讯
+	//骞冲彴浜戜箣璁�
 	public static String PLATFORM_UC = "UC";
 	
-	//平台阿里
+	//骞冲彴闃块噷
 	public static String PLATFORM_ALI = "ALI";
 	
-	//诚立业
+	//璇氱珛涓�
 	public static String PLATFORM_CLY = "CLY";
 
-	/**  主键 */
+	/**  涓婚敭 */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="SMS_ID", unique=true, nullable=false, length=32)
 	private String smsId;
 
-	/** 创建者ID  */
+	/** 鍒涘缓鑰匢D  */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	private String createId;
 
-	/** 创建时间  */
+	/** 鍒涘缓鏃堕棿  */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date createTime;
 
-	/** 创建人  */
+	/** 鍒涘缓浜�  */
 	@Column(name="CREATOR", nullable=false, length=100)
 	private String creator;
 
-	/**  删除标志 */
+	/**  鍒犻櫎鏍囧織 */
 	@Column(name="DELETE_FLAG", nullable=false)
 	private boolean deleteFlag;
 
-	/**  修改人ID */
+	/**  淇敼浜篒D */
 	@Column(name="UPDATE_ID", length=32)
 	private String updateId;
 
-	/**  修改时间 */
+	/**  淇敼鏃堕棿 */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date updateTime;
 
-	/**  修改人 */
+	/**  淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	private String updator;
 
-	/**  模块:目前发送验证码:找回密码 or  注册  */
+	/**  妯″潡锛氱洰鍓嶅彂閫侀獙璇佺爜锛氭壘鍥炲瘑鐮� or  娉ㄥ唽  */
 	@Column(name="MODULE", length=32)
 	private String module;
 
-	public static final String  BIND_QXY_MODULE = "BIND_QXY"; // 绑定Q学友账号
-	public static final String  REGISTER_MODULE = "REGISTER"; // 注册
-	public static final String  FORGET_PWD_MODULE = "FORGET_PWD"; // 找回密码
-	public static final String  FORGET_PWD_MODULE_BACK = "FORGET_PWD_BACK"; // 后台找回密码
-	public static final String  FORGET_PWD_MODULE_LIVE = "FORGET_PWD_LIVE"; // 慧眼端找回密码
-	public static final String  FLOW_EXCHANGE_MODULE = "FLOW_EXCHANGE"; // 提取流量
-	public static final String  CHOOSE_CLASS = "CHOOSE_CLASS"; // 选课报名
-	public static final String  LIVE_INTERACT_LOGIN_MODULE = "LIVE_INTERACT_LOGIN"; // 直播互动登录
-	public static final String  LIVE_INTERACT_BIND_MODULE = "LIVE_INTERACT_BIND"; // 直播互动绑定
-	public static final String  UPDATE_MOBILEPHONE_MODULE = "UPDATE_MOBILEPHONE"; //修改手机号
-	public static final String  PHONE_VERIFY_LOGIN_MODULE = "PHONE_VERIFY_LOGIN"; //登入验证码
-	public static final String  BIND_BANKCARD_MODULE = "BIND_BANKCARD"; //绑定银行卡
-	public static final String  TRANS_EXTRACT_MODULE = "TRANS_EXTRACT_MODULE"; //传播大使提取佣金
-	public static final String  VERIFY_SINGNUP_INFO_MODULE = "VERIFY_SINGNUP_INFO_MODULE"; // 微信端报名绑定微信需验证码
-	public static final String  PHONE_VERIFY_CODE_MODULE = "PHONE_VERIFY_CODE_MODULE"; //通用验证码
+	public static final String  BIND_QXY_MODULE = "BIND_QXY"; // 缁戝畾Q瀛﹀弸璐﹀彿
+	public static final String  REGISTER_MODULE = "REGISTER"; // 娉ㄥ唽
+	public static final String  FORGET_PWD_MODULE = "FORGET_PWD"; // 鎵惧洖瀵嗙爜
+	public static final String  FORGET_PWD_MODULE_BACK = "FORGET_PWD_BACK"; // 鍚庡彴鎵惧洖瀵嗙爜
+	public static final String  FORGET_PWD_MODULE_LIVE = "FORGET_PWD_LIVE"; // 鎱х溂绔壘鍥炲瘑鐮�
+	public static final String  FLOW_EXCHANGE_MODULE = "FLOW_EXCHANGE"; // 鎻愬彇娴侀噺
+	public static final String  CHOOSE_CLASS = "CHOOSE_CLASS"; // 閫夎鎶ュ悕
+	public static final String  LIVE_INTERACT_LOGIN_MODULE = "LIVE_INTERACT_LOGIN"; // 鐩存挱浜掑姩鐧诲綍
+	public static final String  LIVE_INTERACT_BIND_MODULE = "LIVE_INTERACT_BIND"; // 鐩存挱浜掑姩缁戝畾
+	public static final String  UPDATE_MOBILEPHONE_MODULE = "UPDATE_MOBILEPHONE"; //淇敼鎵嬫満鍙�
+	public static final String  PHONE_VERIFY_LOGIN_MODULE = "PHONE_VERIFY_LOGIN"; //鐧诲叆楠岃瘉鐮�
+	public static final String  BIND_BANKCARD_MODULE = "BIND_BANKCARD"; //缁戝畾閾惰鍗�
+	public static final String  TRANS_EXTRACT_MODULE = "TRANS_EXTRACT_MODULE"; //浼犳挱澶т娇鎻愬彇浣i噾
+	public static final String  VERIFY_SINGNUP_INFO_MODULE = "VERIFY_SINGNUP_INFO_MODULE"; // 寰俊绔姤鍚嶇粦瀹氬井淇¢渶楠岃瘉鐮�
+	public static final String  PHONE_VERIFY_CODE_MODULE = "PHONE_VERIFY_CODE_MODULE"; //閫氱敤楠岃瘉鐮�
 
-	/**  手机号 */
+	/**  鎵嬫満鍙� */
 	@Column(name="MOBILE_PHONE", length=32)
 	private String mobilePhone;
 
-	/**  发送状态 */
+	/**  鍙戦�佺姸鎬� */
 	@Column(name="STATE", length=32)
 	private String state;
 
-	/**  超时时间 */
+	/**  瓒呮椂鏃堕棿 */
 	@Column(name="EXPIRED_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date expiredTime;
 
-	/**  内容 */
+	/**  鍐呭 */
 	@Column(name="CONTENT", length=200)
 	private String content;
 
-	/**  验证码 */
+	/**  楠岃瘉鐮� */
 	@Column(name="VERIFY_CODE", length=32)
 	private String verifyCode;
 
-	/**  输入的验证码 */
+	/**  杈撳叆鐨勯獙璇佺爜 */
 	@Column(name="INPUT_CODE", length=32)
 	private String inputCode;
 
-	/**  短信模板ID */
+	/**  鐭俊妯℃澘ID */
 	@Column(name="TEMPLATE_ID", length=32)
 	private String templateId;
 	
-	/**  返回结果  */
+	/**  杩斿洖缁撴灉  */
 	@Column(name="RESPONSE", length=255)
 	private String response;
 	
-	/** 发送平台(UC云之讯,ALI阿里) */
+	/** 鍙戦�佸钩鍙帮紙UC浜戜箣璁�,ALI闃块噷锛� */
 	@Column(name="PLATFORM", length=5)
 	private String platform;
 	
-	/** 验证码已使用次数,最多允许输错三次 */
+	/** 楠岃瘉鐮佸凡浣跨敤娆℃暟锛屾渶澶氬厑璁歌緭閿欎笁娆� */
 	@Column(name="VERIFY_TIMES")
 	private Integer verifyTimes;
 	
diff --git a/src/main/java/com/qxueyou/scc/sms/model/SmsConfig.java b/src/main/java/com/qxueyou/scc/sms/model/SmsConfig.java
index 026a04b..6bf5b13 100644
--- a/src/main/java/com/qxueyou/scc/sms/model/SmsConfig.java
+++ b/src/main/java/com/qxueyou/scc/sms/model/SmsConfig.java
@@ -11,7 +11,7 @@
 import org.hibernate.annotations.GenericGenerator;
 
 /**
- * 短信表配置 实体
+ * 鐭俊琛ㄩ厤缃� 瀹炰綋
  * @author ody.yuan
  *
  */
@@ -24,26 +24,26 @@
 	 */
 	private static final long serialVersionUID = 1L;
 	
-	/**  主键 */
+	/**  涓婚敭 */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="CONFIG_ID", unique=true, nullable=false, length=32)
 	private String configId;
 	
-	/**  模块:目前 激活  */
+	/**  妯″潡锛氱洰鍓� 婵�娲�  */
 	@Column(name="MODULE", length=255)
 	private String module;
 	
-	/**  最上层org_id  */
+	/**  鏈�涓婂眰org_id  */
 	@Column(name="TOP_ORG_ID", length=255)
 	private String topOrgId;
 	
-	/**  开关  */
+	/**  寮�鍏�  */
 	@Column(name="SWITCH_FLAG", length=255)
 	private Boolean switchFlag;
 	
-	public static final String  REG_ACTIVITY_MODULE = "REG_ACTIVITY"; // 激活
+	public static final String  REG_ACTIVITY_MODULE = "REG_ACTIVITY"; // 婵�娲�
 
 	/**
 	 * @return the configId
diff --git a/src/main/java/com/qxueyou/scc/sms/model/SmsContants.java b/src/main/java/com/qxueyou/scc/sms/model/SmsContants.java
index 42b809f..36c72dc 100644
--- a/src/main/java/com/qxueyou/scc/sms/model/SmsContants.java
+++ b/src/main/java/com/qxueyou/scc/sms/model/SmsContants.java
@@ -1,224 +1,224 @@
 package com.qxueyou.scc.sms.model;
 
 /**
- * 短信发送公用实体类
+ * 鐭俊鍙戦�佸叕鐢ㄥ疄浣撶被
  * @author zhiyong
  *
  */
 public class SmsContants {
 	
-	/******************************************  短信模板id —— new   start  ***************************************/
+	/******************************************  鐭俊妯℃澘id 鈥斺�� new   start  ***************************************/
 	
 	
-	/******************************************  分隔线     普通模板     ***************************************/
+	/******************************************  鍒嗛殧绾�     鏅�氭ā鏉�     ***************************************/
 	
-	/** 报名支付成功  短信通知模板id */
+	/** 鎶ュ悕鏀粯鎴愬姛  鐭俊閫氱煡妯℃澘id */
 	public static final String SMS_WEIXIN_PAY_TEMPLATE_ID = "31978"; // 14341
 	
-	/** 机构发布通知  短信通知模板id */
+	/** 鏈烘瀯鍙戝竷閫氱煡  鐭俊閫氱煡妯℃澘id */
 	public static final String SMS_ORG_NOTICE_TEMPLATE_ID = "31981";// 17507
 	
-	/** 班级发布通知  短信通知模板id */
+	/** 鐝骇鍙戝竷閫氱煡  鐭俊閫氱煡妯℃澘id */
 	public static final String SMS_CLASS_NOTICE_TEMPLATE_ID = "31980"; // 17506
 	
-	/** 提交报名请求  短信通知模板id */
+	/** 鎻愪氦鎶ュ悕璇锋眰  鐭俊閫氱煡妯℃澘id */
 	public static final String SMS_REG_CLASS_TEMPLATE_ID = "31979"; // 14806
 	
-	/** 活动抽奖  短信通知模板id */
+	/** 娲诲姩鎶藉  鐭俊閫氱煡妯℃澘id */
 	public static final String SMS_LOTTERY_TEMPLATE_ID = "31982"; // 13610
 	
-	/** 后台注册成功,没有密码 用户 短信模板id */
+	/** 鍚庡彴娉ㄥ唽鎴愬姛,娌℃湁瀵嗙爜 鐢ㄦ埛 鐭俊妯℃澘id */
 	public static final String SMS_ADMIN_REGISTERED_TEMPLATE_ID = "31983"; // 21519
 	
-	/** 后台注册成功,有密码 用户 短信模板id */
+	/** 鍚庡彴娉ㄥ唽鎴愬姛,鏈夊瘑鐮� 鐢ㄦ埛 鐭俊妯℃澘id */
 	public static final String SMS_ADMIN_REGISTERED_PWD_TEMPLATE_ID = "33233"; 
 	
-	/** 升级账号 - 第三方流量提取成功 短信模板id */
+	/** 鍗囩骇璐﹀彿 - 绗笁鏂规祦閲忔彁鍙栨垚鍔熴��鐭俊妯℃澘id */
 	public static final String THIRD_FLOW_EXCHANGE_TEMPLATE_ID = "31984"; // 23460
 	
-	/** 游客创建账号  - 游客流量提取成功 短信模板id */ 
+	/** 娓稿鍒涘缓璐﹀彿  - 娓稿娴侀噺鎻愬彇鎴愬姛銆�鐭俊妯℃澘id */ 
 	public static final String VISITOR_FLOW_EXCHANGE_TEMPLATE_ID = "31985"; // 23459
 	
-	/** 流量提取失败 短信模板id */
+	/** 娴侀噺鎻愬彇澶辫触銆�鐭俊妯℃澘id */
 	public static final String SMS_FLOW_EX_FAILED_TEMPLATE_ID = "31965"; // 28923
 	
-	/** 后台激活学员(不添加机构信息添加密码) 短信模板id */
+	/** 鍚庡彴婵�娲诲鍛�(涓嶆坊鍔犳満鏋勪俊鎭坊鍔犲瘑鐮�)銆�鐭俊妯℃澘id */
 	public static final String SMS_REG_ACTIVE_ORG_TEMPLATE_ID = "31986"; // 29808
 	
-	/** 机构激活学员(添加机构信息和密码) 短信模板id */
+	/** 鏈烘瀯婵�娲诲鍛�(娣诲姞鏈烘瀯淇℃伅鍜屽瘑鐮�)銆�鐭俊妯℃澘id */
 	public static final String SMS_REG_ACTIVE_PASSWORD_TEMPLATE_ID = "31987"; // 29807
 	
-	/** 后台激活学员(不添加机构信息) 短信模板id */
+	/** 鍚庡彴婵�娲诲鍛�(涓嶆坊鍔犳満鏋勪俊鎭�)銆�鐭俊妯℃澘id */
 	public static final String SMS_REG_ACTIVE_NO_PASSWORD_ORG_TEMPLATE_ID = "32640";
 	
-	/** 机构激活学员(添加机构信息) 短信模板id */
+	/** 鏈烘瀯婵�娲诲鍛�(娣诲姞鏈烘瀯淇℃伅)銆�鐭俊妯℃澘id */
 	public static final String SMS_REG_ACTIVE_NO_PASSWORD_TEMPLATE_ID = "32641";
 	
-	/** 报名请求-学员收 (团购选课)   用户 短信模板id */
+	/** 鎶ュ悕璇锋眰-瀛﹀憳鏀� 锛堝洟璐�夎锛�   鐢ㄦ埛 鐭俊妯℃澘id */
 	public static final String PURCHASE_COURSE_USER_TEMPLATE_ID = "31964"; // 19053
 	
-	/** 报名请求-班主任收(团购选课) 用户 短信模板id */
+	/** 鎶ュ悕璇锋眰-鐝富浠绘敹锛堝洟璐�夎锛� 鐢ㄦ埛 鐭俊妯℃澘id */
 	public static final String PURCHASE_COURSE_ORG_TEMPLATE_ID = "31963"; // 19174
 	
-	/** 付款成功-班(学员报名付款后短信通知班主任/管理员) 短信模板id */
+	/** 浠樻鎴愬姛-鐝�(瀛﹀憳鎶ュ悕浠樻鍚庣煭淇¢�氱煡鐝富浠�/绠$悊鍛�)銆�鐭俊妯℃澘id */
 	public static final String SMS_CHOOSE_CLASS_PAYED_CHARGER_TEMPLATE_ID = "31988"; // 30553
 	
-	/** 报名成功-班(学员报名短信付款前通知班主任/管理员) 短信模板id */
+	/** 鎶ュ悕鎴愬姛-鐝�(瀛﹀憳鎶ュ悕鐭俊浠樻鍓嶉�氱煡鐝富浠�/绠$悊鍛�)銆�鐭俊妯℃澘id */
 	public static final String SMS_CHOOSE_CLASS_CHARGER_TEMPLATE_ID = "31989"; // 30502
 	
-	/** 提交兑换请求(积分兑换)  短信通知模板id */
+	/** 鎻愪氦鍏戞崲璇锋眰(绉垎鍏戞崲)  鐭俊閫氱煡妯℃澘id */
 	public static final String SMS_FLOW_TEMPLATE_ID = "31962"; // 14687
 	
-	/** 成功修改密码 短信模板id */
+	/** 鎴愬姛淇敼瀵嗙爜銆�鐭俊妯℃澘id */
 	public static final String SMS_CHANGE_PWD_TEMPLATE_ID = "32519"; // 24061
 	
-	/** 充值流量 短信模板id */
+	/** 鍏呭�兼祦閲忋��鐭俊妯℃澘id */
 	public static final String SMS_FLOW_RECHANGE_TEMPLATE_ID = "32521"; // 23472
 	
-	/** Q慧眼添加助教 短信模板id */
+	/** Q鎱х溂娣诲姞鍔╂暀銆�鐭俊妯℃澘id */
 	public static final String SMS_LIVE_ADD_ASSISTANT_TEMPLATE_ID = "34129"; 
 	
-	/******************************************  分隔线     验证码模板     ***************************************/
+	/******************************************  鍒嗛殧绾�     楠岃瘉鐮佹ā鏉�     ***************************************/
 	
-	/** app端绑定银行卡 短信模板id */
+	/** app绔粦瀹氶摱琛屽崱銆�鐭俊妯℃澘id */
 	public static final String SMS_BIND_BANKCARD_TEMPLATE_ID = "31976"; // 30772
 	
-	/** 申请提取奖金(传播大使提取佣金) 短信模板id */
+	/** 鐢宠鎻愬彇濂栭噾(浼犳挱澶т娇鎻愬彇浣i噾)銆�鐭俊妯℃澘id */
 	public static final String SMS_TRANS_EXTRACT_TEMPLATE_ID = "31975"; // 30773
 	
-	/** 金额提取成功通知 */
+	/** 閲戦鎻愬彇鎴愬姛閫氱煡 */
 	public static final String SMS_TRANS_EXTRACT_SUCCESS_TEMPLATE_ID = "100872";
 	
-	/** 观看直播登录  短信通知模板id */
+	/** 瑙傜湅鐩存挱鐧诲綍  鐭俊閫氱煡妯℃澘id */
 	public static final String SMS_LOGIN_VALIDATION_TEMPLATE_ID = "31974"; // 27852
 	
-	/** 更改手机号 短信模板id */
+	/** 鏇存敼鎵嬫満鍙枫��鐭俊妯℃澘id */
 	public static final String SMS_UPDATE_PHONE_TEMPLATE_ID = "31973"; //27429
 	
-	/** 提取流量 短信模板id */
+	/** 鎻愬彇娴侀噺銆�鐭俊妯℃澘id */
 	public static final String SMS_FLOW_EXCHANGE_VALIDATION_TEMPLATE_ID = "31971"; // 23169
 	
-	/** 关联微信绑定(Q学友账号和微信关联)  短信通知模板id */
+	/** 鍏宠仈寰俊缁戝畾(Q瀛﹀弸璐﹀彿鍜屽井淇″叧鑱�)  鐭俊閫氱煡妯℃澘id */
 	public static final String SMS_BIND_VALIDATION_TEMPLATE_ID = "31970"; // 18701
 	
-	/** 注册验证码  短信通知模板id */
+	/** 娉ㄥ唽楠岃瘉鐮�  鐭俊閫氱煡妯℃澘id */
 	public static final String SMS_REGISTERED_VALIDATION_TEMPLATE_ID = "31968"; // 4109
 	
-	/** 找回密码  短信通知模板id */
+	/** 鎵惧洖瀵嗙爜  鐭俊閫氱煡妯℃澘id */
 	public static final String SMS_FORGETPWD_VALIDATION_TEMPLATE_ID = "31967"; // 18746
 	
-	/** 选课报名  短信验证模板id */
+	/** 閫夎鎶ュ悕  鐭俊楠岃瘉妯℃澘id */
 	public static final String SMS_CHOOSE_CLASS_TEMPLATE_ID = "31966"; // 23031
 	
-	/** 微信端报名需绑定微信 短信模板id */
+	/** 寰俊绔姤鍚嶉渶缁戝畾寰俊 鐭俊妯℃澘id */
 	public static final String SMS_VERIFY_SINGNUP_INFO_TEMPLATE_ID = "33903"; 
 	
-	/** 手机号验证登录 短信模板id */
+	/** 鎵嬫満鍙烽獙璇佺櫥褰� 鐭俊妯℃澘id */
 	public static final String SMS_PHONE_VERIFY_LOGIN_TEMPLATE_ID = "38556"; 
 	
-	/** 验证码通用短信 */
+	/** 楠岃瘉鐮侀�氱敤鐭俊 */
 	public static final String SMS_VERIFY_CODE_TEMPLATE_ID = "42198"; 
 	
 	
 	
-	/******************************************  短信模板id —— new  end  ***************************************/
+	/******************************************  鐭俊妯℃澘id 鈥斺�� new  end  ***************************************/
 	
 	
 	
 	
-	/******************************************  短信模板id —— old  start   ***************************************/
+	/******************************************  鐭俊妯℃澘id 鈥斺�� old  start   ***************************************/
 	
-	/******************************************  分隔线   普通模板     ***************************************/
+	/******************************************  鍒嗛殧绾�   鏅�氭ā鏉�     ***************************************/
 	
-	/** 报名支付  短信通知模板id */
+	/** 鎶ュ悕鏀粯  鐭俊閫氱煡妯℃澘id */
 	public static final String SMS_WEIXIN_PAY_TEMPLATE_ID_OLD = "14341";
 	
-	/** 学校通知  短信通知模板id */
+	/** 瀛︽牎閫氱煡  鐭俊閫氱煡妯℃澘id */
 	public static final String SMS_ORG_NOTICE_TEMPLATE_ID_OLD = "17507";
 	
-	/** 班级通知  短信通知模板id */
+	/** 鐝骇閫氱煡  鐭俊閫氱煡妯℃澘id */
 	public static final String SMS_CLASS_NOTICE_TEMPLATE_ID_OLD = "17506";
 	
-	/** 选课报名  短信通知模板id */
+	/** 閫夎鎶ュ悕  鐭俊閫氱煡妯℃澘id */
 	public static final String SMS_REG_CLASS_TEMPLATE_ID_OLD = "14806";
 	
-	/** 抽奖  短信通知模板id */
+	/** 鎶藉  鐭俊閫氱煡妯℃澘id */
 	public static final String SMS_LOTTERY_TEMPLATE_ID_OLD = "13610";
 	
-	/** 后台注册成功 用户 短信模板id */
+	/** 鍚庡彴娉ㄥ唽鎴愬姛 鐢ㄦ埛 鐭俊妯℃澘id */
 	public static final String SMS_ADMIN_REGISTERED_TEMPLATE_ID_OLD = "21519";
 	
-	/** 升级账号 - 第三方流量提取成功 短信模板id */
+	/** 鍗囩骇璐﹀彿 - 绗笁鏂规祦閲忔彁鍙栨垚鍔熴��鐭俊妯℃澘id */
 	public static final String THIRD_FLOW_EXCHANGE_TEMPLATE_ID_OLD = "23460";
 	
-	/** 游客创建账号  - 游客流量提取成功 短信模板id */ 
+	/** 娓稿鍒涘缓璐﹀彿  - 娓稿娴侀噺鎻愬彇鎴愬姛銆�鐭俊妯℃澘id */ 
 	public static final String VISITOR_FLOW_EXCHANGE_TEMPLATE_ID_OLD = "23459";
 	
-	/** 流量提取失败 短信模板id */
+	/** 娴侀噺鎻愬彇澶辫触銆�鐭俊妯℃澘id */
 	public static final String SMS_FLOW_EX_FAILED_TEMPLATE_ID_OLD = "28923";
 	
-	/** 注册激活用户发送短信不添加机构信息添加密码 短信模板id */
+	/** 娉ㄥ唽婵�娲荤敤鎴峰彂閫佺煭淇′笉娣诲姞鏈烘瀯淇℃伅娣诲姞瀵嗙爜銆�鐭俊妯℃澘id */
 	public static final String SMS_REG_ACTIVE_ORG_TEMPLATE_ID_OLD = "29808";
 	
-	/** 注册激活用户发送短信添加机构信息和密码 短信模板id */
+	/** 娉ㄥ唽婵�娲荤敤鎴峰彂閫佺煭淇℃坊鍔犳満鏋勪俊鎭拰瀵嗙爜銆�鐭俊妯℃澘id */
 	public static final String SMS_REG_ACTIVE_PASSWORD_TEMPLATE_ID_OLD = "29807";
 	
-	/** 团购选课 用户 短信模板id */
+	/** 鍥㈣喘閫夎 鐢ㄦ埛 鐭俊妯℃澘id */
 	public static final String PURCHASE_COURSE_USER_TEMPLATE_ID_OLD = "19053";
 	
-	/** 团购选课 用户 短信模板id */
+	/** 鍥㈣喘閫夎 鐢ㄦ埛 鐭俊妯℃澘id */
 	public static final String PURCHASE_COURSE_ORG_TEMPLATE_ID_OLD = "19174";
 	
-	/** 学员报名付款后短信通知班主任/管理员 短信模板id */
+	/** 瀛﹀憳鎶ュ悕浠樻鍚庣煭淇¢�氱煡鐝富浠�/绠$悊鍛樸��鐭俊妯℃澘id */
 	public static final String SMS_CHOOSE_CLASS_PAYED_CHARGER_TEMPLATE_ID_OLD = "30553";
 	
-	/** 学员报名短信付款前通知班主任/管理员 短信模板id */
+	/** 瀛﹀憳鎶ュ悕鐭俊浠樻鍓嶉�氱煡鐝富浠�/绠$悊鍛樸��鐭俊妯℃澘id */
 	public static final String SMS_CHOOSE_CLASS_CHARGER_TEMPLATE_ID_OLD = "30502";
 	
-	/** 积分兑换  短信通知模板id */
+	/** 绉垎鍏戞崲  鐭俊閫氱煡妯℃澘id */
 	public static final String SMS_FLOW_TEMPLATE_ID_OLD = "14687";
 	
-	/** 成功修改密码 短信模板id */
+	/** 鎴愬姛淇敼瀵嗙爜銆�鐭俊妯℃澘id */
 	public static final String SMS_CHANGE_PWD_TEMPLATE_ID_OLD = "24061";
 
-	/** 充值流量 短信模板id */
+	/** 鍏呭�兼祦閲忋��鐭俊妯℃澘id */
 	public static final String SMS_FLOW_RECHANGE_TEMPLATE_ID_OLD = "23472";
 	
 	
-	/******************************************  分隔线     验证码模板     ***************************************/
+	/******************************************  鍒嗛殧绾�     楠岃瘉鐮佹ā鏉�     ***************************************/
 	
-	/** app端绑定银行卡 短信模板id */
+	/** app绔粦瀹氶摱琛屽崱銆�鐭俊妯℃澘id */
 	public static final String SMS_BIND_BANKCARD_TEMPLATE_ID_OLD = "30772";
 	
-	/** 传播大使提取佣金 短信模板id */
+	/** 浼犳挱澶т娇鎻愬彇浣i噾銆�鐭俊妯℃澘id */
 	public static final String SMS_TRANS_EXTRACT_TEMPLATE_ID_OLD = "30773";
 	
-	/** 直播登录获取验证码  短信通知模板id */
+	/** 鐩存挱鐧诲綍鑾峰彇楠岃瘉鐮�  鐭俊閫氱煡妯℃澘id */
 	public static final String SMS_LOGIN_VALIDATION_TEMPLATE_ID_OLD = "27852";
 	
-	/** 修改手机号码 短信模板id */
+	/** 淇敼鎵嬫満鍙风爜銆�鐭俊妯℃澘id */
 	public static final String SMS_UPDATE_PHONE_TEMPLATE_ID_OLD = "27429";
 	
-	/** 提取流量验证码 短信模板id */
+	/** 鎻愬彇娴侀噺楠岃瘉鐮併��鐭俊妯℃澘id */
 	public static final String SMS_FLOW_EXCHANGE_VALIDATION_TEMPLATE_ID_OLD = "23169";
 	
-	/** 微信绑定Q学友验证码  短信通知模板id */
+	/** 寰俊缁戝畾Q瀛﹀弸楠岃瘉鐮�  鐭俊閫氱煡妯℃澘id */
 	public static final String SMS_BIND_VALIDATION_TEMPLATE_ID_OLD = "18701";
 	
-	/** 注册验证码  短信通知模板id */
+	/** 娉ㄥ唽楠岃瘉鐮�  鐭俊閫氱煡妯℃澘id */
 	public static final String SMS_REGISTERED_VALIDATION_TEMPLATE_ID_OLD = "4109";
 	
-	/** 找回密码验证码  短信通知模板id */
+	/** 鎵惧洖瀵嗙爜楠岃瘉鐮�  鐭俊閫氱煡妯℃澘id */
 	public static final String SMS_FORGETPWD_VALIDATION_TEMPLATE_ID_OLD = "18746";
 	
-	/** 选课报名  短信验证模板id */
+	/** 閫夎鎶ュ悕  鐭俊楠岃瘉妯℃澘id */
 	public static final String SMS_CHOOSE_CLASS_TEMPLATE_ID_OLD = "23031";
 	
 	
-	/******************************************  分隔线     不用的模板     ***************************************/
+	/******************************************  鍒嗛殧绾�     涓嶇敤鐨勬ā鏉�     ***************************************/
 	
-	/** 活动通知 短信模板id */
+	/** 娲诲姩閫氱煡銆�鐭俊妯℃澘id */
 	public static final String SMS_ACTIVE_NOTICE_TEMPLATE_ID = "23699";
 	
-	/******************************************  短信模板id —— old  end   ***************************************/
+	/******************************************  鐭俊妯℃澘id 鈥斺�� old  end   ***************************************/
 }
diff --git a/src/main/java/com/qxueyou/scc/sms/utils/SmsUtils.java b/src/main/java/com/qxueyou/scc/sms/utils/SmsUtils.java
index 8810732..490950e 100644
--- a/src/main/java/com/qxueyou/scc/sms/utils/SmsUtils.java
+++ b/src/main/java/com/qxueyou/scc/sms/utils/SmsUtils.java
@@ -11,7 +11,7 @@
 public class SmsUtils {
 	
 	/**
-	 * 检测所有13、14、15、17、18开头11位手机号
+	 * 妫�娴嬫墍鏈�13銆�14銆�15銆�17銆�18寮�澶�11浣嶆墜鏈哄彿
 	 * @param strMobile
 	 * @return
 	 */
@@ -25,7 +25,7 @@
 	}
 	
 	/**
-	 * 获取验证码
+	 * 鑾峰彇楠岃瘉鐮�
 	 * @return
 	 */
 	public static String getVerifyCode(){
@@ -39,7 +39,7 @@
 	}
 	
 	/**
-	 * 根据module获取模板id
+	 * 鏍规嵁module鑾峰彇妯℃澘id
 	 * 
 	 * @param module
 	 * @return
@@ -48,51 +48,51 @@
 		
 		String templateId = null;
 		if(Sms.REGISTER_MODULE.equals(module)){ 
-			// 注册验证码
+			// 娉ㄥ唽楠岃瘉鐮�
 			templateId = SmsContants.SMS_REGISTERED_VALIDATION_TEMPLATE_ID;
 			
 		}else if(Sms.FORGET_PWD_MODULE.equals(module)){ 
-			// 找回密码验证码
+			// 鎵惧洖瀵嗙爜楠岃瘉鐮�
 			templateId = SmsContants.SMS_FORGETPWD_VALIDATION_TEMPLATE_ID;
 			
 		}else if(Sms.FORGET_PWD_MODULE_BACK.equals(module)){
-			// 后台找回密码验证码
+			// 鍚庡彴鎵惧洖瀵嗙爜楠岃瘉鐮�
 			templateId = SmsContants.SMS_FORGETPWD_VALIDATION_TEMPLATE_ID;
 			
 		}else if(Sms.FORGET_PWD_MODULE_LIVE.equals(module)){
-			// Q慧眼找回密码验证码
+			// Q鎱х溂鎵惧洖瀵嗙爜楠岃瘉鐮�
 			templateId = SmsContants.SMS_FORGETPWD_VALIDATION_TEMPLATE_ID;
 			
 		}else if(Sms.BIND_QXY_MODULE.equals(module)){ 
-			// 绑定微信验证码
+			// 缁戝畾寰俊楠岃瘉鐮�
 			templateId = SmsContants.SMS_BIND_VALIDATION_TEMPLATE_ID;
 			
 		}else if(Sms.FLOW_EXCHANGE_MODULE.equals(module)){ 
-			// 提取流量验证码
+			// 鎻愬彇娴侀噺楠岃瘉鐮�
 			templateId = SmsContants.SMS_FLOW_EXCHANGE_VALIDATION_TEMPLATE_ID;
 			
 		}else if(Sms.CHOOSE_CLASS.equals(module)){
 			templateId = SmsContants.SMS_CHOOSE_CLASS_TEMPLATE_ID;
 			
 		}else if(Sms.LIVE_INTERACT_LOGIN_MODULE.equals(module)){ 
-			// 直播登录获取验证码
+			// 鐩存挱鐧诲綍鑾峰彇楠岃瘉鐮�
 			templateId = SmsContants.SMS_LOGIN_VALIDATION_TEMPLATE_ID;
 		}else if(Sms.LIVE_INTERACT_BIND_MODULE.equals(module)){ 
-			// 直播绑定获取验证码
+			// 鐩存挱缁戝畾鑾峰彇楠岃瘉鐮�
 			templateId = SmsContants.SMS_BIND_VALIDATION_TEMPLATE_ID;
-		}else if(Sms.UPDATE_MOBILEPHONE_MODULE.equals(module)){ //修改手机号验证码
+		}else if(Sms.UPDATE_MOBILEPHONE_MODULE.equals(module)){ //淇敼鎵嬫満鍙烽獙璇佺爜
 			templateId = SmsContants.SMS_UPDATE_PHONE_TEMPLATE_ID;
-		}else if(Sms.BIND_BANKCARD_MODULE.equals(module)){ //app端绑定银行卡
+		}else if(Sms.BIND_BANKCARD_MODULE.equals(module)){ //app绔粦瀹氶摱琛屽崱
 			templateId = SmsContants.SMS_BIND_BANKCARD_TEMPLATE_ID;
-		}else if(Sms.TRANS_EXTRACT_MODULE.equals(module)){ //传播大使提取佣金
+		}else if(Sms.TRANS_EXTRACT_MODULE.equals(module)){ //浼犳挱澶т娇鎻愬彇浣i噾
 			templateId = SmsContants.SMS_TRANS_EXTRACT_TEMPLATE_ID;
-		}else if(Sms.VERIFY_SINGNUP_INFO_MODULE.equals(module)){ // 微信端报名需绑定微信
+		}else if(Sms.VERIFY_SINGNUP_INFO_MODULE.equals(module)){ // 寰俊绔姤鍚嶉渶缁戝畾寰俊
 			templateId = SmsContants.SMS_VERIFY_SINGNUP_INFO_TEMPLATE_ID;
-		}else if(Sms.PHONE_VERIFY_LOGIN_MODULE.equals(module)){ //验证登入
+		}else if(Sms.PHONE_VERIFY_LOGIN_MODULE.equals(module)){ //楠岃瘉鐧诲叆
 			templateId = SmsContants.SMS_PHONE_VERIFY_LOGIN_TEMPLATE_ID;
-		}else if(Sms.PHONE_VERIFY_CODE_MODULE.equals(module)){ //验证登入
+		}else if(Sms.PHONE_VERIFY_CODE_MODULE.equals(module)){ //楠岃瘉鐧诲叆
 			templateId = SmsContants.SMS_VERIFY_CODE_TEMPLATE_ID;
-		}else{ // 微信端报名需绑定微信
+		}else{ // 寰俊绔姤鍚嶉渶缁戝畾寰俊
 			templateId = module;
 		}
 		return templateId;
diff --git a/src/main/java/com/qxueyou/scc/statistic/model/SchFlowStatisticDetail.java b/src/main/java/com/qxueyou/scc/statistic/model/SchFlowStatisticDetail.java
index 15fb657..412526e 100644
--- a/src/main/java/com/qxueyou/scc/statistic/model/SchFlowStatisticDetail.java
+++ b/src/main/java/com/qxueyou/scc/statistic/model/SchFlowStatisticDetail.java
@@ -17,7 +17,7 @@
 import com.fasterxml.jackson.annotation.JsonIgnore;
 
 /**
- * 直播视频流量统计明细
+ * 鐩存挱瑙嗛娴侀噺缁熻鏄庣粏
  * @author ody.yuan
  *
  */
@@ -28,7 +28,7 @@
 	
 	private static final long serialVersionUID = 1L;
 	
-	/** 业务类型,1 直播;2,直播回放; 3.点播;4.已下载视频;5.下载视频) */
+	/** 涓氬姟绫诲瀷,1 鐩存挱锛�2锛岀洿鎾洖鏀撅紱 3.鐐规挱;4.宸蹭笅杞借棰�;5.涓嬭浇瑙嗛) */
 	public static final short BUSINESS_TYPE_LIVE = 1;
 	
 	public static final short BUSINESS_TYPE_REVIEW = 2;
@@ -39,46 +39,46 @@
 	
 	public static final short BUSINESS_TYPE_VIDEO_DOWNLOAD = 5;
 	
-	/**  主键  */
+	/**  涓婚敭  */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="DETAIL_ID", unique=true, nullable=false, length=32)
 	private String detailId;
 
-	/**  创建者ID  */
+	/**  鍒涘缓鑰匢D  */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	@JsonIgnore
 	private String createId;
 
-	/**  创建时间  */
+	/**  鍒涘缓鏃堕棿  */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date createTime;
 
-	/**  创建人  */
+	/**  鍒涘缓浜�  */
 	@Column(name="CREATOR", nullable=false, length=100)
 	@JsonIgnore
 	private String creator;
 
-	/**  删除标志  */
+	/**  鍒犻櫎鏍囧織  */
 	@Column(name="DELETE_FLAG", nullable=false)
 	@JsonIgnore
 	private boolean deleteFlag;
 
-	/**  修改人ID  */
+	/**  淇敼浜篒D  */
 	@Column(name="UPDATE_ID", length=32)
 	@JsonIgnore
 	private String updateId;
 
-	/**  修改时间  */
+	/**  淇敼鏃堕棿  */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date updateTime;
 
-	/**  修改人  */
+	/**  淇敼浜�  */
 	@Column(name="UPDATOR", length=100)
 	@JsonIgnore
 	private String updator;
diff --git a/src/main/java/com/qxueyou/scc/stucontroller/HomePageController.java b/src/main/java/com/qxueyou/scc/stucontroller/HomePageController.java
index c788928..1c90167 100644
--- a/src/main/java/com/qxueyou/scc/stucontroller/HomePageController.java
+++ b/src/main/java/com/qxueyou/scc/stucontroller/HomePageController.java
@@ -25,7 +25,7 @@
 import javax.servlet.http.HttpServletRequest;
 
 /**
- * 首页前端控制器
+ * 棣栭〉鍓嶇鎺у埗鍣�
  * 
  * @author chenjunliang
  *
@@ -53,9 +53,9 @@
 	IExerciseInfoService exerciseInfoService;
 
 	/**
-	 * 首页获取我的上次学习
+	 * 棣栭〉鑾峰彇鎴戠殑涓婃瀛︿範
 	 */
-	@ApiOperation(value = "首页获取我的上次学习")
+	@ApiOperation(value = "棣栭〉鑾峰彇鎴戠殑涓婃瀛︿範")
 	@GetMapping(value = "getLastStudied")
 	public Result getLastSubject(String subjectId, HttpServletRequest request) {
 		Object userId = request.getSession().getAttribute("userId");
@@ -64,18 +64,18 @@
 	}
 
 	/**
-	 * 首页获取班级列表
+	 * 棣栭〉鑾峰彇鐝骇鍒楄〃
 	 * 
 	 * @param limit
-	 *            每页显示几条
+	 *            姣忛〉鏄剧ず鍑犳潯
 	 * @param pageNum
-	 *            页码
+	 *            椤电爜
 	 * 
 	 */
 	@GetMapping(value = "getClassLst")
 	public Result getClassLst(Integer limit, Integer pageNum) {
 
-		if (userService.isAdmin()) {// 如果为管理员则获取所有班级列表
+		if (userService.isAdmin()) {// 濡傛灉涓虹鐞嗗憳鍒欒幏鍙栨墍鏈夌彮绾у垪琛�
 			return classService.getAllClassLst();
 		}
 		if (userService.isTeacher()) {
@@ -101,7 +101,7 @@
 	}
 
 	/**
-	 * 首页获取课程列表
+	 * 棣栭〉鑾峰彇璇剧▼鍒楄〃
 	 */
 	@GetMapping(value = "lstSubjectDetail")
 	public Result subjectDetailLst(HttpServletRequest request){
@@ -109,7 +109,7 @@
 	}
 
 	/**
-	 * 获取首页数据排行
+	 * 鑾峰彇棣栭〉鏁版嵁鎺掕
 	 * 
 	 * 
 	 * @param subjectId
@@ -120,7 +120,7 @@
 	}
 
 	/**
-	 * 获取当前学员的课程列表
+	 * 鑾峰彇褰撳墠瀛﹀憳鐨勮绋嬪垪琛�
 	 */
 	@GetMapping(value = "getMySubjectLst")
 	public Result getMySubjectLst() {
diff --git a/src/main/java/com/qxueyou/scc/stucontroller/StuExamController.java b/src/main/java/com/qxueyou/scc/stucontroller/StuExamController.java
index 57e7d9a..c3884e6 100644
--- a/src/main/java/com/qxueyou/scc/stucontroller/StuExamController.java
+++ b/src/main/java/com/qxueyou/scc/stucontroller/StuExamController.java
@@ -12,7 +12,7 @@
 import com.qxueyou.scc.base.util.CollectionUtils;
 
 /**
- * 学习端 考试前端控制器
+ * 瀛︿範绔� 鑰冭瘯鍓嶇鎺у埗鍣�
  * 
  * @author chenjunliang
  *
@@ -21,38 +21,38 @@
 @RequestMapping(value = "/stu/exam")
 public class StuExamController {
 	/**
-	 * 获取考试列表
+	 * 鑾峰彇鑰冭瘯鍒楄〃
 	 * 
 	 * @param limit
-	 *            每页显示几条
+	 *            姣忛〉鏄剧ず鍑犳潯
 	 * @param pageNum
-	 *            页码
+	 *            椤电爜
 	 * @param classId
-	 *            班级id
+	 *            鐝骇id
 	 * 
-	 * @return percent(状态说明:0,草稿。1,待完成。2,已完成。3,逾期未交)
+	 * @return percent(鐘舵�佽鏄庯細0,鑽夌銆�1,寰呭畬鎴愩��2,宸插畬鎴愩��3,閫炬湡鏈氦)
 	 */
 	@GetMapping(value = "getExamLst")
 	public Result getExamLst(Integer limit, Integer pageNum, String classId) {
 
 		return new Result(true, "success", CollectionUtils.newObjectMap("examLst",
 				CollectionUtils.newList(
-						CollectionUtils.newObjectMap("examId", "11111", "examName", "虚拟现实技术入门体检与制作1", "percent", 0,
+						CollectionUtils.newObjectMap("examId", "11111", "examName", "铏氭嫙鐜板疄鎶�鏈叆闂ㄤ綋妫�涓庡埗浣�1", "percent", 0,
 								"startTime", new Date(), "endTime", new Date(), "score", 30),
-						CollectionUtils.newObjectMap("examId", "2222", "examName", "虚拟现实技术入门体检与制作2", "percent", 1,
+						CollectionUtils.newObjectMap("examId", "2222", "examName", "铏氭嫙鐜板疄鎶�鏈叆闂ㄤ綋妫�涓庡埗浣�2", "percent", 1,
 								"startTime", new Date(), "endTime", new Date(), "score", 30),
-						CollectionUtils.newObjectMap("examId", "3333", "examName", "虚拟现实技术入门体检与制作3", "percent", 2,
+						CollectionUtils.newObjectMap("examId", "3333", "examName", "铏氭嫙鐜板疄鎶�鏈叆闂ㄤ綋妫�涓庡埗浣�3", "percent", 2,
 								"startTime", new Date(), "endTime", new Date(), "score", 30),
-						CollectionUtils.newObjectMap("examId", "4444", "examName", "虚拟现实技术入门体检与制作4", "percent", 3,
+						CollectionUtils.newObjectMap("examId", "4444", "examName", "铏氭嫙鐜板疄鎶�鏈叆闂ㄤ綋妫�涓庡埗浣�4", "percent", 3,
 								"startTime", new Date(), "endTime", new Date(), "score", 30)),
 				"examCount", 4));
 	}
 
 	/**
-	 * 获取考试详情
+	 * 鑾峰彇鑰冭瘯璇︽儏
 	 * 
 	 * @param examId
-	 *            考试id
+	 *            鑰冭瘯id
 	 * 
 	 * 
 	 * 
@@ -63,61 +63,61 @@
 		Map<String, Object> typeTwo = CollectionUtils.newObjectMap("type", 2, "count", 3);
 		Map<String, Object> typeThree = CollectionUtils.newObjectMap("type", 3, "count", 3);
 
-		return new Result(true, "success", CollectionUtils.newObjectMap("examName", "虚拟现实技术入门基础考试", "subjectName", "物流",
+		return new Result(true, "success", CollectionUtils.newObjectMap("examName", "铏氭嫙鐜板疄鎶�鏈叆闂ㄥ熀纭�鑰冭瘯", "subjectName", "鐗╂祦",
 				"duration", 30, "maxLateMin", "", "showType", 1, "showScore", 1, "startTime", new Date(), "endTime",
 				new Date(), "totalScore", 100, "paperType", 1, "shouScoreDays", "", "difficultLevel", 5, "passingScore",
 				60, "questionTypes", CollectionUtils.newList(typeOne, typeTwo, typeThree), "percent", 0, "goal", 88));
 	}
 
 	/**
-	 * 开始考试获取考试题目
+	 * 寮�濮嬭�冭瘯鑾峰彇鑰冭瘯棰樼洰
 	 */
 	@GetMapping(value = "getExamItems")
 	public Result getItems(String examId) {
-		Map<String, Object> optionA = CollectionUtils.newObjectMap("optionId", 1111, "content", "体检VR眼睛的参数功能,形成报告A",
+		Map<String, Object> optionA = CollectionUtils.newObjectMap("optionId", 1111, "content", "浣撴VR鐪肩潧鐨勫弬鏁板姛鑳�,褰㈡垚鎶ュ憡A",
 				"optionOrder", "A", "imgPath", "/web/path", "check", false);
-		Map<String, Object> optionB = CollectionUtils.newObjectMap("optionId", 2222, "content", "体检VR眼睛的参数功能,形成报告B",
+		Map<String, Object> optionB = CollectionUtils.newObjectMap("optionId", 2222, "content", "浣撴VR鐪肩潧鐨勫弬鏁板姛鑳�,褰㈡垚鎶ュ憡B",
 				"optionOrder", "B", "imgPath", "/web/path", "check", false);
-		Map<String, Object> optionC = CollectionUtils.newObjectMap("optionId", 3333, "content", "体检VR眼睛的参数功能,形成报告C",
+		Map<String, Object> optionC = CollectionUtils.newObjectMap("optionId", 3333, "content", "浣撴VR鐪肩潧鐨勫弬鏁板姛鑳�,褰㈡垚鎶ュ憡C",
 				"optionOrder", "C", "imgPath", "/web/path", "check", false);
-		Map<String, Object> optionD = CollectionUtils.newObjectMap("optionId", 4444, "content", "体检VR眼睛的参数功能,形成报告D",
+		Map<String, Object> optionD = CollectionUtils.newObjectMap("optionId", 4444, "content", "浣撴VR鐪肩潧鐨勫弬鏁板姛鑳�,褰㈡垚鎶ュ憡D",
 				"optionOrder", "D", "imgPath", "/web/path", "check", false);
-		// 判断题
-		Map<String, Object> checkoptionA = CollectionUtils.newObjectMap("optionId", 5555, "content", "李白是李白他爸爸生的",
+		// 鍒ゆ柇棰�
+		Map<String, Object> checkoptionA = CollectionUtils.newObjectMap("optionId", 5555, "content", "鏉庣櫧鏄潕鐧戒粬鐖哥埜鐢熺殑",
 				"optionOrder", false, "imgPath", "/web/path", "check", false);
-		Map<String, Object> checkoptionB = CollectionUtils.newObjectMap("optionId", 6666, "content", "李白是李白他妈妈生的",
+		Map<String, Object> checkoptionB = CollectionUtils.newObjectMap("optionId", 6666, "content", "鏉庣櫧鏄潕鐧戒粬濡堝鐢熺殑",
 				"optionOrder", true, "imgPath", "/web/path", "check", false);
 
-		// 显示题目 列表;
-		Map<String, Object> two = CollectionUtils.newObjectMap("socre", 5, "exerciseId", "11111", "title", "这是多选题",
+		// 鏄剧ず棰樼洰 鍒楄〃;
+		Map<String, Object> two = CollectionUtils.newObjectMap("socre", 5, "exerciseId", "11111", "title", "杩欐槸澶氶�夐",
 				"type", 2, "options", CollectionUtils.newList(optionA, optionB, optionC, optionD), "answer", "A,B",
-				"analisis", "这是答案解析", "isRight", true);
-		Map<String, Object> one = CollectionUtils.newObjectMap("socre", 6, "exerciseId", "22222", "title", "这是单选题",
+				"analisis", "杩欐槸绛旀瑙f瀽", "isRight", true);
+		Map<String, Object> one = CollectionUtils.newObjectMap("socre", 6, "exerciseId", "22222", "title", "杩欐槸鍗曢�夐",
 				"type", 1, "options", CollectionUtils.newList(optionA, optionB, optionC, optionD), "answer", "A",
-				"analisis", "这是答案解析", "isRight", true);
+				"analisis", "杩欐槸绛旀瑙f瀽", "isRight", true);
 
-		Map<String, Object> three = CollectionUtils.newObjectMap("socre", 8, "exerciseId", "33333", "title", "这是判断题",
+		Map<String, Object> three = CollectionUtils.newObjectMap("socre", 8, "exerciseId", "33333", "title", "杩欐槸鍒ゆ柇棰�",
 				"type", 3, "options", CollectionUtils.newList(checkoptionA, checkoptionB), "answer", "A", "analisis",
-				"这是答案解析", "isRight", true);
-		// fileType1 图片; 2 文档 3 视频 4 音频,5 压缩包
+				"杩欐槸绛旀瑙f瀽", "isRight", true);
+		// fileType1 鍥剧墖锛� 2 鏂囨。 3 瑙嗛 4 闊抽,5 鍘嬬缉鍖�
 
 		return new Result(true, "success",
 
 				CollectionUtils.newList(
-						CollectionUtils.newObjectMap("examPaperSectionId", "1111", "sectionName", "第一部分", "sectionDesc",
-								"根据题目信息选择正确答案", "itemLst", CollectionUtils.newList(one, two)),
-						CollectionUtils.newObjectMap("examPaperSectionId", "2222", "sectionName", "第二部分", "sectionDesc",
-								"根据题目信息选择正确答案", "itemLst", CollectionUtils.newList(three))));
+						CollectionUtils.newObjectMap("examPaperSectionId", "1111", "sectionName", "绗竴閮ㄥ垎", "sectionDesc",
+								"鏍规嵁棰樼洰淇℃伅閫夋嫨姝g‘绛旀", "itemLst", CollectionUtils.newList(one, two)),
+						CollectionUtils.newObjectMap("examPaperSectionId", "2222", "sectionName", "绗簩閮ㄥ垎", "sectionDesc",
+								"鏍规嵁棰樼洰淇℃伅閫夋嫨姝g‘绛旀", "itemLst", CollectionUtils.newList(three))));
 
 	}
 
 	/**
-	 * 提交试卷
+	 * 鎻愪氦璇曞嵎
 	 * 
 	 * @param answerItem
 	 *            [{"exerciseId":"11111","optionId":"4444,2222,3333"},{"exerciseId":"22222","optionId":"2222"},{"exerciseId":"33333","optionId":""}]
 	 * @param status
-	 *            提交状态(1,保存草稿。2,提交作业。)
+	 *            鎻愪氦鐘舵��(1,淇濆瓨鑽夌銆�2,鎻愪氦浣滀笟銆�)
 	 */
 	@PostMapping(value = "saveExam")
 	public Result saveExam(String examId, String answerItem, Integer durationTime, Integer status) {
diff --git a/src/main/java/com/qxueyou/scc/stucontroller/StuExerciseController.java b/src/main/java/com/qxueyou/scc/stucontroller/StuExerciseController.java
index 5a641bd..c9a9800 100644
--- a/src/main/java/com/qxueyou/scc/stucontroller/StuExerciseController.java
+++ b/src/main/java/com/qxueyou/scc/stucontroller/StuExerciseController.java
@@ -12,7 +12,7 @@
 import com.qxueyou.scc.base.util.CollectionUtils;
 
 /**
- * 学习端 作业前端控制器
+ * 瀛︿範绔� 浣滀笟鍓嶇鎺у埗鍣�
  * 
  * @author chenjunliang
  *
@@ -21,31 +21,31 @@
 @RequestMapping(value = "/stu/exercise")
 public class StuExerciseController {
 	/**
-	 * 学习端获取作业列表
+	 * 瀛︿範绔幏鍙栦綔涓氬垪琛�
 	 * 
 	 * @param classId
-	 *            班级id
-	 * @return type (状态说明: 0,试题。 1,上传。2,写作) percent(状态说明:0,草稿。1,待完成。2,已完成。3,逾期未交)
-	 *         reform(0,重做,1,不重做)
+	 *            鐝骇id
+	 * @return type (鐘舵�佽鏄庯細 0,璇曢銆� 1,涓婁紶銆�2,鍐欎綔) percent(鐘舵�佽鏄庯細0,鑽夌銆�1,寰呭畬鎴愩��2,宸插畬鎴愩��3,閫炬湡鏈氦)
+	 *         reform(0,閲嶅仛,1,涓嶉噸鍋�)
 	 * @param limit
-	 *            每页显示几条
+	 *            姣忛〉鏄剧ず鍑犳潯
 	 * @param pageNum
-	 *            页码
+	 *            椤电爜
 	 * 
 	 */
 	@GetMapping(value = "getExerciseInfoLst")
 	public Result getExerciseLst(String classId, Integer limit, Integer pageNum) {
 		Map<String, Object> exerciseOne = CollectionUtils.newObjectMap("exerciseInfoId", "1111", "name",
-				"虚拟现实技术入门体检与制作", "type", 0, "percent", 0, "score", 30, "startTime", new Date(), "endTime", new Date(),
+				"铏氭嫙鐜板疄鎶�鏈叆闂ㄤ綋妫�涓庡埗浣�", "type", 0, "percent", 0, "score", 30, "startTime", new Date(), "endTime", new Date(),
 				"reform", 1);
 		Map<String, Object> exerciseTwo = CollectionUtils.newObjectMap("exerciseInfoId", "2222", "exerciseName",
-				"虚拟货币的前世今生1", "type", 1, "percent", 1, "reform", 0, "score", 30, "startTime", new Date(), "endTime",
+				"铏氭嫙璐у竵鐨勫墠涓栦粖鐢�1", "type", 1, "percent", 1, "reform", 0, "score", 30, "startTime", new Date(), "endTime",
 				new Date());
 		Map<String, Object> exerciseThree = CollectionUtils.newObjectMap("exerciseInfoId", "3333", "exerciseName",
-				"虚拟货币的前世今生2", "type", 2, "percent", 2, "reform", 1, "score", 30, "startTime", new Date(), "endTime",
+				"铏氭嫙璐у竵鐨勫墠涓栦粖鐢�2", "type", 2, "percent", 2, "reform", 1, "score", 30, "startTime", new Date(), "endTime",
 				new Date());
 		Map<String, Object> exerciseFour = CollectionUtils.newObjectMap("exerciseInfoId", "4444", "exerciseName",
-				"虚拟货币的前世今生3", "type", 2, "percent", 3, "reform", 1, "score", 30, "startTime", new Date(), "endTime",
+				"铏氭嫙璐у竵鐨勫墠涓栦粖鐢�3", "type", 2, "percent", 3, "reform", 1, "score", 30, "startTime", new Date(), "endTime",
 				new Date());
 		return new Result(true, "success",
 				CollectionUtils.newObjectMap("exerciseInfoLst",
@@ -54,16 +54,16 @@
 	}
 
 	/**
-	 * 学习端 提交作业
+	 * 瀛︿範绔� 鎻愪氦浣滀笟
 	 * 
 	 * @param exerciseInfoId
-	 *            作业id
+	 *            浣滀笟id
 	 * @param urlPath
-	 *            上传文件路径(多个以逗号隔开)
+	 *            涓婁紶鏂囦欢璺緞(澶氫釜浠ラ�楀彿闅斿紑)
 	 * @param desc
-	 *            作业描述
+	 *            浣滀笟鎻忚堪
 	 * @param status
-	 *            提交状态(1,保存草稿。2,提交作业。)
+	 *            鎻愪氦鐘舵��(1,淇濆瓨鑽夌銆�2,鎻愪氦浣滀笟銆�)
 	 * @param answerItem
 	 *            [{"exerciseId":"11111","optionId":"4444,2222,3333"},{"exerciseId":"22222","optionId":"2222"},{"exerciseId":"33333","optionId":""}]
 	 */
@@ -73,16 +73,16 @@
 	}
 
 	/**
-	 * 学习端 查看作业
+	 * 瀛︿範绔� 鏌ョ湅浣滀笟
 	 * 
 	 * @param exerciseInfoId
-	 *            作业id
-	 * @return percent (状态说明:0,草稿.1,待完成。2,已完成。) type (状态说明: 0,试卷。 1,上传。2,写作) 做作业
+	 *            浣滀笟id
+	 * @return percent (鐘舵�佽鏄庯細0锛岃崏绋�.1锛屽緟瀹屾垚銆�2锛屽凡瀹屾垚銆�) type (鐘舵�佽鏄庯細 0,璇曞嵎銆� 1,涓婁紶銆�2,鍐欎綔) 鍋氫綔涓�
 	 * 
 	 * @param exerciseInfoId
-	 *            作业id
-	 * @param 分数说明
-	 *            totalScore 总分, passing 合格分,goal 得分 (没有数值即为null)commentContent 为评语
+	 *            浣滀笟id
+	 * @param 鍒嗘暟璇存槑
+	 *            totalScore 鎬诲垎, passing 鍚堟牸鍒�,goal 寰楀垎 (娌℃湁鏁板�煎嵆涓簄ull)commentContent 涓鸿瘎璇�
 	 */
 	@GetMapping(value = "getHomeworkDetail")
 	public Result getHomewordDetail(String exerciseInfoId) {
@@ -90,59 +90,59 @@
 		Map<String, Object> typeTwo = CollectionUtils.newObjectMap("type", 2, "count", 3);
 		Map<String, Object> typeThree = CollectionUtils.newObjectMap("type", 3, "count", 3);
 		return new Result(true, "success",
-				CollectionUtils.newObjectMap("subjectName", "物流", "requireDesc", "请自行完成作答,勿翻看书本。", "startTime",
+				CollectionUtils.newObjectMap("subjectName", "鐗╂祦", "requireDesc", "璇疯嚜琛屽畬鎴愪綔绛�,鍕跨炕鐪嬩功鏈��", "startTime",
 						new Date(), "endTime", new Date(), "totalScore", 100, "passingScore", 60, "questionTypes",
-						CollectionUtils.newList(typeOne, typeTwo, typeThree), "exerciseName", "虚拟现实技术入门体验与制作",
-						"percent", 0, "type", 0, "itemCount", 3, "teacherName", "李老师", "goal", 97, "commentContent",
-						"老师说,你真有才"));
+						CollectionUtils.newList(typeOne, typeTwo, typeThree), "exerciseName", "铏氭嫙鐜板疄鎶�鏈叆闂ㄤ綋楠屼笌鍒朵綔",
+						"percent", 0, "type", 0, "itemCount", 3, "teacherName", "鏉庤�佸笀", "goal", 97, "commentContent",
+						"鑰佸笀璇�,浣犵湡鏈夋墠"));
 	}
 
 	/**
-	 * 作业获取题目列表
+	 * 浣滀笟鑾峰彇棰樼洰鍒楄〃
 	 * 
 	 * @param exerciseInfoId
-	 *            作业id
+	 *            浣滀笟id
 	 * @param type
-	 *            type (状态说明: 0,试卷。 1,上传。2,写作) 做作业
+	 *            type (鐘舵�佽鏄庯細 0,璇曞嵎銆� 1,涓婁紶銆�2,鍐欎綔) 鍋氫綔涓�
 	 */
 	@GetMapping(value = "getItemLst")
 	public Result getItemLst(String exerciseInfoId, Integer type) {
-		// 判断type 如果为写作和上传类型的话 itemList 就为null; 如果为试卷类型 title 和 score filetype 为 null
-		// optionList选择题
-		Map<String, Object> optionA = CollectionUtils.newObjectMap("optionId", "1111", "content", "体检VR眼睛的参数功能,形成报告A",
+		// 鍒ゆ柇type 濡傛灉涓哄啓浣滃拰涓婁紶绫诲瀷鐨勮瘽 itemList 灏变负null; 濡傛灉涓鸿瘯鍗风被鍨� title 鍜� score filetype 涓� null
+		// optionList閫夋嫨棰�
+		Map<String, Object> optionA = CollectionUtils.newObjectMap("optionId", "1111", "content", "浣撴VR鐪肩潧鐨勫弬鏁板姛鑳�,褰㈡垚鎶ュ憡A",
 				"optionOrder", "A", "imgPath", "/web/path", "check", false);
-		Map<String, Object> optionB = CollectionUtils.newObjectMap("optionId", "2222", "content", "体检VR眼睛的参数功能,形成报告B",
+		Map<String, Object> optionB = CollectionUtils.newObjectMap("optionId", "2222", "content", "浣撴VR鐪肩潧鐨勫弬鏁板姛鑳�,褰㈡垚鎶ュ憡B",
 				"optionOrder", "B", "imgPath", "/web/path", "check", false);
-		Map<String, Object> optionC = CollectionUtils.newObjectMap("optionId", "3333", "content", "体检VR眼睛的参数功能,形成报告C",
+		Map<String, Object> optionC = CollectionUtils.newObjectMap("optionId", "3333", "content", "浣撴VR鐪肩潧鐨勫弬鏁板姛鑳�,褰㈡垚鎶ュ憡C",
 				"optionOrder", "C", "imgPath", "/web/path", "check", false);
-		Map<String, Object> optionD = CollectionUtils.newObjectMap("optionId", "4444", "content", "体检VR眼睛的参数功能,形成报告D",
+		Map<String, Object> optionD = CollectionUtils.newObjectMap("optionId", "4444", "content", "浣撴VR鐪肩潧鐨勫弬鏁板姛鑳�,褰㈡垚鎶ュ憡D",
 				"optionOrder", "D", "imgPath", "/web/path", "check", true);
-		// 判断题
-		Map<String, Object> checkoptionA = CollectionUtils.newObjectMap("optionId", "5555", "content", "李白是李白他爸爸生的",
+		// 鍒ゆ柇棰�
+		Map<String, Object> checkoptionA = CollectionUtils.newObjectMap("optionId", "5555", "content", "鏉庣櫧鏄潕鐧戒粬鐖哥埜鐢熺殑",
 				"optionOrder", false, "imgPath", "/web/path", "check", false);
-		Map<String, Object> checkoptionB = CollectionUtils.newObjectMap("optionId", "6666", "content", "李白是李白他妈妈生的",
+		Map<String, Object> checkoptionB = CollectionUtils.newObjectMap("optionId", "6666", "content", "鏉庣櫧鏄潕鐧戒粬濡堝鐢熺殑",
 				"optionOrder", true, "imgPath", "/web/path", "check", false);
 
-		// 显示题目 列表;
-		Map<String, Object> two = CollectionUtils.newObjectMap("socre", 5, "exerciseId", "11111", "title", "这是多选题",
+		// 鏄剧ず棰樼洰 鍒楄〃;
+		Map<String, Object> two = CollectionUtils.newObjectMap("socre", 5, "exerciseId", "11111", "title", "杩欐槸澶氶�夐",
 				"type", 2, "options", CollectionUtils.newList(optionA, optionB, optionC, optionD), "answer", "A,B",
-				"analisis", "这是答案解析", "isRight", true);
-		Map<String, Object> one = CollectionUtils.newObjectMap("socre", 6, "exerciseId", "22222", "title", "这是单选题",
+				"analisis", "杩欐槸绛旀瑙f瀽", "isRight", true);
+		Map<String, Object> one = CollectionUtils.newObjectMap("socre", 6, "exerciseId", "22222", "title", "杩欐槸鍗曢�夐",
 				"type", 1, "options", CollectionUtils.newList(optionA, optionB, optionC, optionD), "answer", "A",
-				"analisis", "这是答案解析", "isRight", false);
+				"analisis", "杩欐槸绛旀瑙f瀽", "isRight", false);
 
-		Map<String, Object> three = CollectionUtils.newObjectMap("socre", 8, "exerciseId", "33333", "title", "这是判断题",
+		Map<String, Object> three = CollectionUtils.newObjectMap("socre", 8, "exerciseId", "33333", "title", "杩欐槸鍒ゆ柇棰�",
 				"type", 3, "options", CollectionUtils.newList(checkoptionA, checkoptionB), "answer", true, "analisis",
-				"这是答案解析", "isRight", true);
-		// fileType1 图片; 2 文档 3 视频 4 音频,5 压缩包
+				"杩欐槸绛旀瑙f瀽", "isRight", true);
+		// fileType1 鍥剧墖锛� 2 鏂囨。 3 瑙嗛 4 闊抽,5 鍘嬬缉鍖�
 
 		return new Result(true, "success",
 				CollectionUtils.newObjectMap("itemDetail",
-						CollectionUtils.newObjectMap("title", "拍摄一个关于VR的科普视频", "desc", "学生之前写的内容", "fileLst",
+						CollectionUtils.newObjectMap("title", "鎷嶆憚涓�涓叧浜嶸R鐨勭鏅棰�", "desc", "瀛︾敓涔嬪墠鍐欑殑鍐呭", "fileLst",
 								CollectionUtils.newList(
-										CollectionUtils.newObjectMap("fileName", "文件1", "fileId", "1111", "coverUrl",
+										CollectionUtils.newObjectMap("fileName", "鏂囦欢1", "fileId", "1111", "coverUrl",
 												"static/img/img.jpg"),
-										CollectionUtils.newObjectMap("fileName", "文件2", "fileId", "2222", "coverUrl",
+										CollectionUtils.newObjectMap("fileName", "鏂囦欢2", "fileId", "2222", "coverUrl",
 												"static/img/img.jpg")),
 								"filetype", 3),
 						"itemList", CollectionUtils.newList(one, two, three)));
diff --git a/src/main/java/com/qxueyou/scc/stucontroller/StuLiveController.java b/src/main/java/com/qxueyou/scc/stucontroller/StuLiveController.java
index 58aa137..0e76919 100644
--- a/src/main/java/com/qxueyou/scc/stucontroller/StuLiveController.java
+++ b/src/main/java/com/qxueyou/scc/stucontroller/StuLiveController.java
@@ -27,7 +27,7 @@
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 
-@Api(tags="直播接口-学员端")
+@Api(tags="鐩存挱鎺ュ彛-瀛﹀憳绔�")
 @RestController
 @RequestMapping(value = "/stu/live")
 public class StuLiveController {
@@ -47,14 +47,14 @@
 	};
 	
 	/**
-	 * 获取直播列表
-	 * @param classId 班级id
+	 * 鑾峰彇鐩存挱鍒楄〃
+	 * @param classId 鐝骇id
 	 * @return
 	 */
-	@ApiOperation(value = "获取直播列表", notes = "")
+	@ApiOperation(value = "鑾峰彇鐩存挱鍒楄〃", notes = "")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "classId", value = "班级id", required = true, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "status", value = "直播状态(2正在直播,5直播中的暂停状态,9停止直播,3回放)", required = true, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "classId", value = "鐝骇id", required = true, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "status", value = "鐩存挱鐘舵�侊紙2姝e湪鐩存挱锛�5鐩存挱涓殑鏆傚仠鐘舵�侊紝9鍋滄鐩存挱锛�3鍥炴斁锛�", required = true, paramType="query", dataType = "String"),
     })
 	@GetMapping(value = "list")
 	public Result list(String classId, Short status) {
@@ -81,7 +81,7 @@
 				"previewImgUrl","imgPath"
 				));
 		
-		//添加聊天室id
+		//娣诲姞鑱婂ぉ瀹d
 		if(lst!=null && lst.size()>0){
 			for(Map<String,Object> map:lst) {
 				map.put("chatroomId", dao.getChatRoomId((String)map.get("videoLiveId")));
@@ -92,17 +92,17 @@
 	}
 
 	/**
-	 * 获取直播id
+	 * 鑾峰彇鐩存挱id
 	 * @param classId
 	 * @return
 	 */
 	private List<String> getLiveIdLst(String classId) {
 		List<String> liveIds = new ArrayList<String>(5);
 
-		//获取班级列表及班级所在直播列表
+		//鑾峰彇鐝骇鍒楄〃鍙婄彮绾ф墍鍦ㄧ洿鎾垪琛�
 		if(StringUtils.isNotEmpty(classId)) {
 			liveIds = dao.getClassLives(classId);
-		}else { //查询学员所在的全部班级
+		}else { //鏌ヨ瀛﹀憳鎵�鍦ㄧ殑鍏ㄩ儴鐝骇
 			List<ClsClass> clsLst = classService.listMyClass();
 			Set<String> ids = new HashSet<String>();
 			for(ClsClass cls:clsLst) {
@@ -114,8 +114,8 @@
 	}
 	
 	/**
-	 * 查看直播明细
-	 * @param liveId 直播id
+	 * 鏌ョ湅鐩存挱鏄庣粏
+	 * @param liveId 鐩存挱id
 	 * @return
 	 */
 	@GetMapping(value = "view")
diff --git a/src/main/java/com/qxueyou/scc/stucontroller/StuNoticeController.java b/src/main/java/com/qxueyou/scc/stucontroller/StuNoticeController.java
index 2922ce7..dc6deac 100644
--- a/src/main/java/com/qxueyou/scc/stucontroller/StuNoticeController.java
+++ b/src/main/java/com/qxueyou/scc/stucontroller/StuNoticeController.java
@@ -26,7 +26,7 @@
 import java.util.Map;
 import java.util.Set;
 
-@Api(tags = "公告接口-学员端")
+@Api(tags = "鍏憡鎺ュ彛-瀛﹀憳绔�")
 @RestController
 @RequestMapping(value = "/stu/notice")
 public class StuNoticeController {
@@ -46,14 +46,14 @@
      * @param classId
      * @return
      */
-    @ApiOperation(value = "公告列表", notes = "获取班级列表及班级所在公告列表")
+    @ApiOperation(value = "鍏憡鍒楄〃", notes = "鑾峰彇鐝骇鍒楄〃鍙婄彮绾ф墍鍦ㄥ叕鍛婂垪琛�")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "classId", value = "班级id", required = false, paramType="query", dataType = "String")
+        @ApiImplicitParam(name = "classId", value = "鐝骇id", required = false, paramType="query", dataType = "String")
     })
     @GetMapping(value = "list")
     public Result list(Integer pageNum, Integer pageSize, String classId) {
 
-        //获取班级列表及班级所在通知列表
+        //鑾峰彇鐝骇鍒楄〃鍙婄彮绾ф墍鍦ㄩ�氱煡鍒楄〃
         List<String> noticeIds = dao.getClassNotices(StringUtils.isEmpty(classId)?ClientUtils.getClassId():classId);
         List<Notice> notices = noticeService.readByStatus(noticeIds, Notice.STATUS_ISSUED);
 
@@ -76,15 +76,15 @@
     }
 
     /**
-     * 获取未读消息总数
+     * 鑾峰彇鏈娑堟伅鎬绘暟
      *
      * @return
      */
-    @ApiOperation(value = "获取未读消息总数")
+    @ApiOperation(value = "鑾峰彇鏈娑堟伅鎬绘暟")
     @GetMapping(value = "getCountToView")
     public Result getCountToView() {
 
-        //获取班级列表及班级所在通知列表
+        //鑾峰彇鐝骇鍒楄〃鍙婄彮绾ф墍鍦ㄩ�氱煡鍒楄〃
         List<ClsClass> clsLst = classService.listMyClass();
         Set<String> noticeIdLst = new HashSet<String>(10);
 
@@ -102,19 +102,19 @@
     }
 
     /**
-     * 获取通知详情
+     * 鑾峰彇閫氱煡璇︽儏
      *
      * @param noticeId
      * @return
      */
-    @ApiOperation(value = "获取公告详情")
+    @ApiOperation(value = "鑾峰彇鍏憡璇︽儏")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "noticeId", value = "公告id", required = true, paramType="query", dataType = "String")
+        @ApiImplicitParam(name = "noticeId", value = "鍏憡id", required = true, paramType="query", dataType = "String")
     })
     @GetMapping(value = "detail")
     public Result detail(String noticeId) {
         Notice notice = noticeService.read(noticeId);
-        dao.addReadCount(noticeId, ClientUtils.getUserId());//记录学员已读通知的人数;
+        dao.addReadCount(noticeId, ClientUtils.getUserId());//璁板綍瀛﹀憳宸茶閫氱煡鐨勪汉鏁�;
         return new Result(true, "success",
                 CollectionUtils.newObjectMap(
                         "noticeName", notice.getTitle(),
@@ -126,9 +126,9 @@
                 ));
     }
 
-    @ApiOperation(value = "更新公告查看次数", notes = "")
+    @ApiOperation(value = "鏇存柊鍏憡鏌ョ湅娆℃暟", notes = "")
 	@ApiImplicitParams({
-			@ApiImplicitParam(name = "noticeId", value = "公告id", required = true, paramType = "query", dataType = "String")
+			@ApiImplicitParam(name = "noticeId", value = "鍏憡id", required = true, paramType = "query", dataType = "String")
 	})
     @GetMapping(value = "view")
     public Result view(String noticeId) {
diff --git a/src/main/java/com/qxueyou/scc/stucontroller/StuResController.java b/src/main/java/com/qxueyou/scc/stucontroller/StuResController.java
index 8b92ed9..7ef81ab 100644
--- a/src/main/java/com/qxueyou/scc/stucontroller/StuResController.java
+++ b/src/main/java/com/qxueyou/scc/stucontroller/StuResController.java
@@ -21,12 +21,12 @@
 import io.swagger.annotations.ApiOperation;
 
 /**
- * 学习端 资源控制器
+ * 瀛︿範绔� 璧勬簮鎺у埗鍣�
  * 
  * @author chenjunliang
  *
  */
-@Api(tags= "课件接口-学员端")
+@Api(tags= "璇句欢鎺ュ彛-瀛﹀憳绔�")
 @RestController
 @RequestMapping(value = "/stu/res")
 public class StuResController {
@@ -35,18 +35,18 @@
 	IResService resService;
 	
 	/**
-	 * 获取资源列表
+	 * 鑾峰彇璧勬簮鍒楄〃
 	 * 
 	 * @param classId
-	 *            班级id
+	 *            鐝骇id
 	 * @param limit
-	 *            每页显示几条
+	 *            姣忛〉鏄剧ず鍑犳潯
 	 * @param pageNum
-	 *            页码
+	 *            椤电爜
 	 */
-	@ApiOperation(value = "获取资源列表", notes = "")
+	@ApiOperation(value = "鑾峰彇璧勬簮鍒楄〃", notes = "")
 	@ApiImplicitParams({
-		@ApiImplicitParam(name = "classId", value = "班级id", required = true, paramType="query", dataType = "String")
+		@ApiImplicitParam(name = "classId", value = "鐝骇id", required = true, paramType="query", dataType = "String")
 	})
 	@GetMapping(value = "getResLst")
 	public Result getResLst(String classId, Integer limit, Integer pageNum) {
@@ -63,15 +63,15 @@
 	}
 
 	/**
-	 * 资源管理查看
+	 * 璧勬簮绠$悊鏌ョ湅
 	 * 
 	 * @param resId
-	 *            资源id ( 0,视频。1,音频。2,文档。3,练习)
+	 *            璧勬簮id ( 0,瑙嗛銆�1,闊抽銆�2,鏂囨。銆�3,缁冧範)
 	 */
 	@GetMapping(value = "getResDetail")
 	public Result getResDetail(String resId) {
 
-		return new Result(true, "success", CollectionUtils.newObjectMap("resName", "练习.jpg", "size", 590.68,
+		return new Result(true, "success", CollectionUtils.newObjectMap("resName", "缁冧範.jpg", "size", 590.68,
 				"updateTime", new Date(), "endTime", new Date(), "urlPath", "/web/path", "type", 3));
 	}
 	
diff --git a/src/main/java/com/qxueyou/scc/stucontroller/StuSubjectController.java b/src/main/java/com/qxueyou/scc/stucontroller/StuSubjectController.java
index d14893a..72cac28 100644
--- a/src/main/java/com/qxueyou/scc/stucontroller/StuSubjectController.java
+++ b/src/main/java/com/qxueyou/scc/stucontroller/StuSubjectController.java
@@ -48,11 +48,11 @@
 import javax.servlet.http.HttpServletResponse;
 
 /**
- * 学习端 课程前端控制器
+ * 瀛︿範绔� 璇剧▼鍓嶇鎺у埗鍣�
  *
  * @author chenjunliang
  */
-@Api(tags = "课程管理-学员端")
+@Api(tags = "璇剧▼绠$悊-瀛﹀憳绔�")
 @RestController
 @CrossOrigin(origins = "*", maxAge = 3600)
 @RequestMapping(value = "stu/subject")
@@ -79,18 +79,18 @@
     @Autowired
     IEvaluateService evaluateService;
 
-    //--------------------------------------------------------------app端接口---------------------------------------------------------------------------------------------------
+    //--------------------------------------------------------------app绔帴鍙�---------------------------------------------------------------------------------------------------
 
     /**
-     * 学习端获取 所有课件
+     * 瀛︿範绔幏鍙� 鎵�鏈夎浠�
      *
      * @param classId
-     * @return 状态说明(0, 视频 。 1, 音频 。 2, 文档 。 3, 练习 。)
+     * @return 鐘舵�佽鏄�(0, 瑙嗛 銆� 1, 闊抽 銆� 2, 鏂囨。 銆� 3, 缁冧範 銆�)
      */
-    @ApiOperation(value = "获取班级所有课件-学习端", notes = "状态说明(0,视频。1,音频。2,文档。3,练习。)")
+    @ApiOperation(value = "鑾峰彇鐝骇鎵�鏈夎浠�-瀛︿範绔�", notes = "鐘舵�佽鏄�(0,瑙嗛銆�1,闊抽銆�2,鏂囨。銆�3,缁冧範銆�)")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "classId", value = "班级id", required = false, paramType = "query", dataType = "String"),
-            @ApiImplicitParam(name = "sort", value = "排序方式(desc从大到小,asc从小到大)", required = false, paramType = "query", dataType = "String"),
+            @ApiImplicitParam(name = "classId", value = "鐝骇id", required = false, paramType = "query", dataType = "String"),
+            @ApiImplicitParam(name = "sort", value = "鎺掑簭鏂瑰紡锛坉esc浠庡ぇ鍒板皬,asc浠庡皬鍒板ぇ锛�", required = false, paramType = "query", dataType = "String"),
     })
     @GetMapping(value = "/app/getCoursewareLstByClassId")
     public Result appCoursewareLst(String classId, @RequestParam(defaultValue = "desc") String sort, Pager pager) {
@@ -99,49 +99,49 @@
     }
 
     /**
-     * 学习端获取课程列表
+     * 瀛︿範绔幏鍙栬绋嬪垪琛�
      */
-    @ApiOperation(value = "学习端获取课程学年列表")
+    @ApiOperation(value = "瀛︿範绔幏鍙栬绋嬪骞村垪琛�")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "classId", value = "班级id", required = false, paramType = "query", dataType = "String"),
+            @ApiImplicitParam(name = "classId", value = "鐝骇id", required = false, paramType = "query", dataType = "String"),
     })
     @GetMapping(value = "/app/termList")
     public Result termList(String classId) {
         classId = CommonUtils.getClassId(classId);
         if (StringUtils.isEmpty(classId)) {
-            return new Result(false, "班级id不能为空");
+            return new Result(false, "鐝骇id涓嶈兘涓虹┖");
         }
-        //课程
+        //璇剧▼
         List<Map<String, Object>> lstSubject = subjectService.clsSubjectlist(classId, null, null);
-        //组装的学期和课程
+        //缁勮鐨勫鏈熷拰璇剧▼
         List<Map<String, Object>> lstTerm = subjectService.termSubjectList(classId, lstSubject);
 
         return new Result(true, "success", CollectionUtils.newObjectMap("termList", lstTerm, "allSubject", lstSubject));
     }
 
     /**
-     * 学习端获取课程列表
+     * 瀛︿範绔幏鍙栬绋嬪垪琛�
      */
-    @ApiOperation(value = "我的课程按学期分类")
+    @ApiOperation(value = "鎴戠殑璇剧▼鎸夊鏈熷垎绫�")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "classId", value = "班级id", required = false, paramType = "query", dataType = "String"),
+            @ApiImplicitParam(name = "classId", value = "鐝骇id", required = false, paramType = "query", dataType = "String"),
     })
     @GetMapping(value = "/app/myTermSubjectList")
     public Result myTermSubjectList(String classId) {
         classId = CommonUtils.getClassId(classId);
         System.out.println("vvvvvvvvv" + classId);
         if (StringUtils.isEmpty(classId)) {
-            return new Result(false, "班级id不能为空");
+            return new Result(false, "鐝骇id涓嶈兘涓虹┖");
         }
         return new Result(true, "success", subjectService.myTermSubjectList(classId));
     }
 
     /**
-     * 学习端获取课程列表
+     * 瀛︿範绔幏鍙栬绋嬪垪琛�
      */
-    @ApiOperation(value = "我的课程按时间排序")
+    @ApiOperation(value = "鎴戠殑璇剧▼鎸夋椂闂存帓搴�")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "classId", value = "班级id", required = false, paramType = "query", dataType = "String"),
+            @ApiImplicitParam(name = "classId", value = "鐝骇id", required = false, paramType = "query", dataType = "String"),
     })
     @GetMapping(value = "/app/mySubjectList")
     public Result mySubjectList(String classId, Pager pager) {
@@ -153,53 +153,53 @@
     }
 
     /**
-     * 我的课程详情
+     * 鎴戠殑璇剧▼璇︽儏
      *
      * @param subjectId
      * @param classId
      * @return
      */
-    @ApiOperation(value = "我的课程详情")
+    @ApiOperation(value = "鎴戠殑璇剧▼璇︽儏")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "subjectId", value = "课程id", required = true, paramType = "query", dataType = "String"),
-            @ApiImplicitParam(name = "classId", value = "班级id", required = false, paramType = "query", dataType = "String"),
+            @ApiImplicitParam(name = "subjectId", value = "璇剧▼id", required = true, paramType = "query", dataType = "String"),
+            @ApiImplicitParam(name = "classId", value = "鐝骇id", required = false, paramType = "query", dataType = "String"),
     })
     @GetMapping(value = "/app/mySubjectInfo")
     public Result mySubjectInfo(String subjectId, String classId) {
         classId = CommonUtils.getClassId(classId);
         if (StringUtils.isEmpty(classId)) {
-            return new Result(false, "班级id不能为空");
+            return new Result(false, "鐝骇id涓嶈兘涓虹┖");
         }
         if (StringUtils.isEmpty(subjectId)) {
-            return new Result(false, "课程id不能为空");
+            return new Result(false, "璇剧▼id涓嶈兘涓虹┖");
         }
         return new Result(true, "success", subjectService.mySubjectInfo(subjectId, classId));
     }
 
     /**
-     * 学习端获取课程列表
+     * 瀛︿範绔幏鍙栬绋嬪垪琛�
      */
-    @ApiOperation(value = "我的班级信息")
+    @ApiOperation(value = "鎴戠殑鐝骇淇℃伅")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "classId", value = "班级id", required = false, paramType = "query", dataType = "String"),
+            @ApiImplicitParam(name = "classId", value = "鐝骇id", required = false, paramType = "query", dataType = "String"),
     })
     @GetMapping(value = "/app/myClassInfo")
     public Result myClassInfo(String classId) {
         classId = ClientUtils.getClassId();
         if (StringUtils.isEmpty(classId)) {
-            return new Result(false, "班级id不能为空");
+            return new Result(false, "鐝骇id涓嶈兘涓虹┖");
         }
         return new Result(true, "success", subjectService.myClassInfo(classId));
     }
 
     /**
-     * 学习端获取课程列表
+     * 瀛︿範绔幏鍙栬绋嬪垪琛�
      */
-    @ApiOperation(value = "学习端获取课程列表")
+    @ApiOperation(value = "瀛︿範绔幏鍙栬绋嬪垪琛�")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "classId", value = "班级id", required = false, paramType = "query", dataType = "String"),
-            @ApiImplicitParam(name = "schoolYear", value = "学年", required = true, paramType = "query", dataType = "String"),
-            @ApiImplicitParam(name = "term", value = "学期", required = true, paramType = "query", dataType = "String")
+            @ApiImplicitParam(name = "classId", value = "鐝骇id", required = false, paramType = "query", dataType = "String"),
+            @ApiImplicitParam(name = "schoolYear", value = "瀛﹀勾", required = true, paramType = "query", dataType = "String"),
+            @ApiImplicitParam(name = "term", value = "瀛︽湡", required = true, paramType = "query", dataType = "String")
     })
     @GetMapping(value = "/app/subjectList")
     public Result subjectList(String classId, Integer schoolYear, Integer term) {
@@ -207,12 +207,12 @@
     }
 
     /**
-     * 学习端获取课程列表
+     * 瀛︿範绔幏鍙栬绋嬪垪琛�
      */
-    @ApiOperation(value = "学习端获取课程下课件,按创建时间排序")
+    @ApiOperation(value = "瀛︿範绔幏鍙栬绋嬩笅璇句欢锛屾寜鍒涘缓鏃堕棿鎺掑簭")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "subjectId", value = "课程id", required = true, paramType = "query", dataType = "String"),
-            @ApiImplicitParam(name = "sort", value = "排序方式(desc从大到小,asc从小到大)", required = false, paramType = "query", dataType = "String"),
+            @ApiImplicitParam(name = "subjectId", value = "璇剧▼id", required = true, paramType = "query", dataType = "String"),
+            @ApiImplicitParam(name = "sort", value = "鎺掑簭鏂瑰紡锛坉esc浠庡ぇ鍒板皬,asc浠庡皬鍒板ぇ锛�", required = false, paramType = "query", dataType = "String"),
     })
     @GetMapping(value = "/app/listLectureBySubject")
     public Result listLectureBySubject(String subjectId, String classId, @RequestParam(defaultValue = "desc") String sort, Pager pager) {
@@ -220,9 +220,9 @@
     }
 
     /**
-     * 学习端获取其他课件统计
+     * 瀛︿範绔幏鍙栧叾浠栬浠剁粺璁�
      */
-    @ApiOperation(value = "学习端获取其他课件统计")
+    @ApiOperation(value = "瀛︿範绔幏鍙栧叾浠栬浠剁粺璁�")
     @GetMapping(value = "/app/otherLectureCount")
     public Result otherLectureCount() {
         return new Result(true, "success", CollectionUtils.newObjectMap("topicCount",
@@ -230,20 +230,20 @@
     }
 
     /**
-     * 学习端获取课程列表
+     * 瀛︿範绔幏鍙栬绋嬪垪琛�
      */
-    @ApiOperation(value = "学习端获取课程下课件,按目录分类", notes = "")
+    @ApiOperation(value = "瀛︿範绔幏鍙栬绋嬩笅璇句欢锛屾寜鐩綍鍒嗙被", notes = "")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "classId", value = "班级id", required = false, paramType = "query", dataType = "String"),
-            @ApiImplicitParam(name = "subjectId", value = "课程id", required = true, paramType = "query", dataType = "String"),
-            @ApiImplicitParam(name = "type", value = "课件类型", required = false, paramType = "query", dataType = "String")
+            @ApiImplicitParam(name = "classId", value = "鐝骇id", required = false, paramType = "query", dataType = "String"),
+            @ApiImplicitParam(name = "subjectId", value = "璇剧▼id", required = true, paramType = "query", dataType = "String"),
+            @ApiImplicitParam(name = "type", value = "璇句欢绫诲瀷", required = false, paramType = "query", dataType = "String")
     })
     @GetMapping(value = "/app/coursewareList")
     public Result coursewareList(String classId, String subjectId, String type) {
         classId = CommonUtils.getClassId(classId);
 
         if (StringUtils.isEmpty(subjectId)) {
-            return new Result(false, "课程id不能为空");
+            return new Result(false, "璇剧▼id涓嶈兘涓虹┖");
         }
 
         return this.clsLectureService.coursewareChapterList(classId, subjectId, type);
@@ -251,40 +251,40 @@
     }
 
     /**
-     * 我的公开课列表
+     * 鎴戠殑鍏紑璇惧垪琛�
      */
-    @ApiOperation(value = "我的公开课列表", notes = "")
+    @ApiOperation(value = "鎴戠殑鍏紑璇惧垪琛�", notes = "")
     @GetMapping(value = "/app/myOpenSubjectList")
     public Result myOpenSubjectList(Pager pager, @RequestParam(defaultValue = "") String keyword) {
         return new Result(true, "success", this.subjectService.myOpenSubjectList(pager.getOffset(), pager.getPageSize(), keyword));
     }
 
     /**
-     * 公开课列表
+     * 鍏紑璇惧垪琛�
      */
-    @ApiOperation(value = "公开课列表", notes = "")
+    @ApiOperation(value = "鍏紑璇惧垪琛�", notes = "")
     @GetMapping(value = "/app/openSubjectList")
     public Result openSubjectList(Pager pager, @RequestParam(defaultValue = "") String keyword) {
         return new Result(true, "success", this.subjectService.openSubjectList(pager.getOffset(), pager.getPageSize(), keyword));
     }
 
     /**
-     * 公开课详情
+     * 鍏紑璇捐鎯�
      */
-    @ApiOperation(value = "公开课详情", notes = "")
+    @ApiOperation(value = "鍏紑璇捐鎯�", notes = "")
     @GetMapping(value = "/app/openSubjectInfo")
     public Result openSubjectInfo(@RequestParam(defaultValue = "") String subjectId) {
         return new Result(true, "success", this.subjectService.openSubjectInfo(subjectId));
     }
 
-    //--------------------------------------------------------后台端接口---------------------------------------------------------------------------------------------------
+    //--------------------------------------------------------鍚庡彴绔帴鍙�---------------------------------------------------------------------------------------------------
 
     /**
-     * 加载课件tree
+     * 鍔犺浇璇句欢tree
      */
-    @ApiOperation(value = "加载课件tree", notes = "")
+    @ApiOperation(value = "鍔犺浇璇句欢tree", notes = "")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "subjectId", value = "班级id", required = false, paramType = "query", dataType = "String")
+            @ApiImplicitParam(name = "subjectId", value = "鐝骇id", required = false, paramType = "query", dataType = "String")
     })
     @GetMapping(value = "categoryTree")
     public Result categoryTree(String subjectId, String parentId) {
@@ -292,7 +292,7 @@
         List<SubjectProgressTreeV> chapterLst = clsLectureService.getChapterTreeVList(subjectId, parentId);
 
         for (SubjectProgressTreeV v : chapterLst) {
-            v.setNodeName(v.getNodeName() + "(" + String.format("%.2f", v.getPercent() * 100) + "%)"); //保留两位小数
+            v.setNodeName(v.getNodeName() + "(" + String.format("%.2f", v.getPercent() * 100) + "%)"); //淇濈暀涓や綅灏忔暟
         }
 
         return new Result(true, "success", QBeanUtils.listBean2ListMap(chapterLst, CollectionUtils
@@ -300,20 +300,20 @@
     }
 
     /**
-     * 学习端获取 所有课件
+     * 瀛︿範绔幏鍙� 鎵�鏈夎浠�
      *
      * @param classId
-     * @return 状态说明(0, 视频 。 1, 音频 。 2, 文档 。 3, 练习 。)
+     * @return 鐘舵�佽鏄�(0, 瑙嗛 銆� 1, 闊抽 銆� 2, 鏂囨。 銆� 3, 缁冧範 銆�)
      */
-    @ApiOperation(value = "学习端获取 所有课件", notes = "状态说明(0,视频。1,音频。2,文档。3,练习。)")
+    @ApiOperation(value = "瀛︿範绔幏鍙� 鎵�鏈夎浠�", notes = "鐘舵�佽鏄�(0,瑙嗛銆�1,闊抽銆�2,鏂囨。銆�3,缁冧範銆�)")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "subjectId", value = "班级id", required = false, paramType = "query", dataType = "String")
+            @ApiImplicitParam(name = "subjectId", value = "鐝骇id", required = false, paramType = "query", dataType = "String")
     })
     @GetMapping(value = "getCoursewareLstByClassId")
     public Result getCoursewareLst(String subjectId) {
         List<ClsSubjectLecture> lectureLst = clsLectureService.listLecture(subjectId);
 
-        // id为小节id //返回的数据按照tree的小节排序
+        // id涓哄皬鑺俰d //杩斿洖鐨勬暟鎹寜鐓ree鐨勫皬鑺傛帓搴�
         return new Result(true, "success",
 
                 QBeanUtils.listBean2ListMap(lectureLst, CollectionUtils.newStringMap("name", "name", "lectureId", "id",
@@ -321,19 +321,19 @@
     }
 
     /**
-     * 获取课件列表
+     * 鑾峰彇璇句欢鍒楄〃
      *
-     * @param chapterId 章节id
-     * @param type      课件类型
-     * @param keyword   搜索关键字
-     * @param limit     每页显示几条
-     * @param pageNum   页码
-     * @return 状态说明(0, 视频 。 1, 音频 。 2, 文档 。 3, 练习 。)
+     * @param chapterId 绔犺妭id
+     * @param type      璇句欢绫诲瀷
+     * @param keyword   鎼滅储鍏抽敭瀛�
+     * @param limit     姣忛〉鏄剧ず鍑犳潯
+     * @param pageNum   椤电爜
+     * @return 鐘舵�佽鏄�(0, 瑙嗛 銆� 1, 闊抽 銆� 2, 鏂囨。 銆� 3, 缁冧範 銆�)
      */
-    @ApiOperation(value = "根据章节获取课件列表", notes = "状态说明(0,视频。1,音频。2,文档。3,练习。)")
+    @ApiOperation(value = "鏍规嵁绔犺妭鑾峰彇璇句欢鍒楄〃", notes = "鐘舵�佽鏄�(0,瑙嗛銆�1,闊抽銆�2,鏂囨。銆�3,缁冧範銆�)")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "chapterId", value = "章节id", required = true, paramType = "query", dataType = "String"),
-            @ApiImplicitParam(name = "type", value = "课件类型", required = false, paramType = "query", dataType = "String")
+            @ApiImplicitParam(name = "chapterId", value = "绔犺妭id", required = true, paramType = "query", dataType = "String"),
+            @ApiImplicitParam(name = "type", value = "璇句欢绫诲瀷", required = false, paramType = "query", dataType = "String")
     })
     @GetMapping(value = "coursewareListByChapterId")
     public Result coursewareList(String chapterId, String type, String keyword, Integer limit, @RequestParam(defaultValue = "1") Integer pageNum) {
@@ -350,41 +350,41 @@
     }
 
     /**
-     * 课件学习进度提交 stu/subject/study
+     * 璇句欢瀛︿範杩涘害鎻愪氦 stu/subject/study
      *
-     * @param lectureId 课件id
-     * @param from      开始学习位置 ,如视频,则为时分秒(00:10:12),如文档,则无需提交该参数
-     * @param to        结束学习位置,同to
+     * @param lectureId 璇句欢id
+     * @param from      寮�濮嬪涔犱綅缃� 锛屽瑙嗛锛屽垯涓烘椂鍒嗙(00:10:12),濡傛枃妗o紝鍒欐棤闇�鎻愪氦璇ュ弬鏁�
+     * @param to        缁撴潫瀛︿範浣嶇疆锛屽悓to
      */
-    @ApiOperation(value = "提交学习进度")
+    @ApiOperation(value = "鎻愪氦瀛︿範杩涘害")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "lectureId", value = "课件id", required = true, paramType = "query", dataType = "String"),
-            @ApiImplicitParam(name = "from", value = "开始学习位置 ,如视频,则为时分秒(00:10:12),如文档,则无需提交该参数", required = true, paramType = "query", dataType = "Double"),
-            @ApiImplicitParam(name = "to", value = "结束学习位置,同to", required = true, paramType = "query", dataType = "Double"),
-            @ApiImplicitParam(name = "subjectId", value = "课程id", required = true, paramType = "query", dataType = "String"),
-            @ApiImplicitParam(name = "classId", value = "班级id", required = false, paramType = "query", dataType = "String"),
-            @ApiImplicitParam(name = "lectureParentId", value = "父课件id", required = false, paramType = "query", dataType = "String"),
+            @ApiImplicitParam(name = "lectureId", value = "璇句欢id", required = true, paramType = "query", dataType = "String"),
+            @ApiImplicitParam(name = "from", value = "寮�濮嬪涔犱綅缃� 锛屽瑙嗛锛屽垯涓烘椂鍒嗙(00:10:12),濡傛枃妗o紝鍒欐棤闇�鎻愪氦璇ュ弬鏁�", required = true, paramType = "query", dataType = "Double"),
+            @ApiImplicitParam(name = "to", value = "缁撴潫瀛︿範浣嶇疆锛屽悓to", required = true, paramType = "query", dataType = "Double"),
+            @ApiImplicitParam(name = "subjectId", value = "璇剧▼id", required = true, paramType = "query", dataType = "String"),
+            @ApiImplicitParam(name = "classId", value = "鐝骇id", required = false, paramType = "query", dataType = "String"),
+            @ApiImplicitParam(name = "lectureParentId", value = "鐖惰浠秈d", required = false, paramType = "query", dataType = "String"),
     })
     @GetMapping(value = "study")
     public Result study(String lectureId, @RequestParam(defaultValue = "1") Double from,
                         @RequestParam(defaultValue = "0") Double to, String subjectId, String classId, String lectureParentId) {
         String userId = ClientUtils.getUserId();
         classId = CommonUtils.getClassId(classId);
-        progressDao.putStudyById(userId, subjectId, lectureId, lectureParentId, classId);// 记录学员每个课程的学习位置;
-        progressDao.putStudyByUserId(userId, subjectId, lectureId, lectureParentId, classId);// 记录学员上次学习的位置;
+        progressDao.putStudyById(userId, subjectId, lectureId, lectureParentId, classId);// 璁板綍瀛﹀憳姣忎釜璇剧▼鐨勫涔犱綅缃�;
+        progressDao.putStudyByUserId(userId, subjectId, lectureId, lectureParentId, classId);// 璁板綍瀛﹀憳涓婃瀛︿範鐨勪綅缃�;
         return clsLectureService.doStudy(lectureId, from, to);
     }
 
     /**
-     * 音频时长提交 stu/subject/submitAudioDuration
+     * 闊抽鏃堕暱鎻愪氦 stu/subject/submitAudioDuration
      *
-     * @param lectureId 课件id
-     * @param seconds   时长
+     * @param lectureId 璇句欢id
+     * @param seconds   鏃堕暱
      */
-    @ApiOperation(value = "音频时长提交")
+    @ApiOperation(value = "闊抽鏃堕暱鎻愪氦")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "lectureId", value = "课件id", required = true, paramType = "query", dataType = "String"),
-            @ApiImplicitParam(name = "seconds", value = "时长", required = true, paramType = "query", dataType = "Double")
+            @ApiImplicitParam(name = "lectureId", value = "璇句欢id", required = true, paramType = "query", dataType = "String"),
+            @ApiImplicitParam(name = "seconds", value = "鏃堕暱", required = true, paramType = "query", dataType = "Double")
     })
     @CacheEvict(value = "LectureAudioV", key = "#lectureId")
     @GetMapping(value = "submitAudioDuration")
@@ -397,15 +397,15 @@
     }
 
     /**
-     * 课程列表
+     * 璇剧▼鍒楄〃
      *
-     * @param clssId    班级id
-     * @param startTime 开班时间
+     * @param clssId    鐝骇id
+     * @param startTime 寮�鐝椂闂�
      */
-    @ApiOperation(value = "课程列表")
+    @ApiOperation(value = "璇剧▼鍒楄〃")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "classId", value = "班级id", required = false, paramType = "query", dataType = "String"),
-            @ApiImplicitParam(name = "startTime", value = "开班时间", required = false, paramType = "query", dataType = "String")
+            @ApiImplicitParam(name = "classId", value = "鐝骇id", required = false, paramType = "query", dataType = "String"),
+            @ApiImplicitParam(name = "startTime", value = "寮�鐝椂闂�", required = false, paramType = "query", dataType = "String")
     })
     @GetMapping(value = "getSubjectLst")
     public Result getList(String userId, String classId, String startTime, Integer limit, @RequestParam(defaultValue = "1") Integer pageNum, HttpServletRequest request) {
@@ -454,13 +454,13 @@
     }
 
     /**
-     * 进入课程
+     * 杩涘叆璇剧▼
      *
-     * @param subjectId 课程id
+     * @param subjectId 璇剧▼id
      */
-    @ApiOperation(value = "课程详情")
+    @ApiOperation(value = "璇剧▼璇︽儏")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "subjectId", value = "课程id", required = false, paramType = "query", dataType = "String")
+            @ApiImplicitParam(name = "subjectId", value = "璇剧▼id", required = false, paramType = "query", dataType = "String")
     })
     @GetMapping(value = "getSubjectDetail")
     public Result getSubjectDetail(String subjectId) {
diff --git a/src/main/java/com/qxueyou/scc/sys/action/ImgController.java b/src/main/java/com/qxueyou/scc/sys/action/ImgController.java
index b70e00e..1e64c8a 100644
--- a/src/main/java/com/qxueyou/scc/sys/action/ImgController.java
+++ b/src/main/java/com/qxueyou/scc/sys/action/ImgController.java
@@ -68,41 +68,41 @@
 
 
 	/**
-	 * 根据请求的id查询数据生成图片
+	 * 鏍规嵁璇锋眰鐨刬d鏌ヨ鏁版嵁鐢熸垚鍥剧墖
 	 * @param
 	 * @return
 	 */
 	@RequestMapping(value = "/createImg",method = RequestMethod.GET)
 	@ResponseBody
 	public ResponseEntity<byte[]> draw(String studentNo,String examBatchId, HttpServletRequest req, HttpServletResponse resp) throws Exception {
-		//获取准考证信息
+		//鑾峰彇鍑嗚�冭瘉淇℃伅
 		Map<String,String> stu = getStudent(studentNo,examBatchId);
 
 		ResponseEntity<byte[]> entity = null;
-		ByteArrayOutputStream bo=null;  //字节流
+		ByteArrayOutputStream bo=null;  //瀛楄妭娴�
 		String fileName=UUID.randomUUID().toString() +".jpg";
 		HttpStatus statusCode = HttpStatus.CREATED;
 		String header = req.getHeader("User-Agent").toUpperCase();
 		try {
 			if (header.contains("MSIE") || header.contains("TRIDENT") || header.contains("EDGE")) {
 				fileName = URLEncoder.encode(fileName, "gbk");
-				fileName = fileName.replace("+", "%20");    // IE下载文件名空格变+号问题
+				fileName = fileName.replace("+", "%20");    // IE涓嬭浇鏂囦欢鍚嶇┖鏍煎彉+鍙烽棶棰�
 				statusCode = HttpStatus.OK;
 			} else {
 				fileName = new String(fileName.getBytes("gbk"), "ISO8859-1");
 			}
 			 bo=new ByteArrayOutputStream();
 			String simg="static/images/ca.jpg";
-			if (stu.get("classRoomName").contains("八卦岭")) {
+			if (stu.get("classRoomName").contains("鍏崷宀�")) {
 				simg="static/images/cb.jpg";
 			}
-			//生成图片流
+			//鐢熸垚鍥剧墖娴�
 			DrawingUtil.drawImage("static/images/cc.jpg",
 					simg,
 					stu.get("name"),
 					stu.get("studentNo"),
 					stu.get("examName"),
-//					"深圳市保安员资格考试",
+//					"娣卞湷甯備繚瀹夊憳璧勬牸鑰冭瘯",
 //					"SZBAZGKS" +
 							stu.get("studentNo").substring(stu.get("studentNo").length()>=6?stu.get("studentNo").length()-6:0),
 					stu.get("number"),
@@ -113,14 +113,14 @@
 					stu.get("startTime"),
 					stu.get("endTime"),
 					stu.get("sex"),bo);
-		 	//设置头信息
+		 	//璁剧疆澶翠俊鎭�
 			HttpHeaders headers = new HttpHeaders();
 			headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);//static/images/ca1.jpg
-			//UUID作为文件名
+			//UUID浣滀负鏂囦欢鍚�
 			headers.setContentDispositionFormData("attachment",fileName);
-			//获取字节数据
+			//鑾峰彇瀛楄妭鏁版嵁
 			byte[] bytes = bo.toByteArray();
-			//交给spring
+			//浜ょ粰spring
 			entity = new ResponseEntity<byte[]>(bytes, headers, statusCode);
 //		} catch (IOException e) {
 //
@@ -137,46 +137,46 @@
 		return entity;
 	}
 	private Map<String,String> getStudent(String studentNo,String examBatchId){
-		//获取用户信息
+		//鑾峰彇鐢ㄦ埛淇℃伅
 		StuStudent stu=null;
 		if (studentNo!=null&&!"".equals(studentNo)&&!"null".equals(studentNo)){
 		 	stu = studentService.getStudentByNo(studentNo);
 		}else {
 		 	stu= studentService.getStudentByUserId(ClientUtils.getUserId());
 		}
-		//获取批次信息
+		//鑾峰彇鎵规淇℃伅
 		ExamBatchInfo examBatchInfo = examBatchService.queryExamBatchDetail(examBatchId);
 		ExamInfo examInfo = examBatchInfo.getExamInfo();
-		//获取考点名称
+		//鑾峰彇鑰冪偣鍚嶇О
 		String classRoomId=examBatchInfo.getClassRoomID();
 		ClassRoom detail = classRoomService.detail(classRoomId);
 		String classRoomName = detail.getName();
-		//获取考点地址
+		//鑾峰彇鑰冪偣鍦板潃
 		String address = detail.getAddress();
-		//获取考场名称
+		//鑾峰彇鑰冨満鍚嶇О
 		String examRoomName=examBatchInfo.getExamRoomName();
-		//获取考试开始结束时间
+		//鑾峰彇鑰冭瘯寮�濮嬬粨鏉熸椂闂�
 		String startTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(examBatchInfo.getStartTime());
 		String endTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(examBatchInfo.getEndTime());
-		//根据批次Id查询所在组Id与组的所有考生集合
+		//鏍规嵁鎵规Id鏌ヨ鎵�鍦ㄧ粍Id涓庣粍鐨勬墍鏈夎�冪敓闆嗗悎
 		String classId = examBatchService.queryExamBatchByClassId(examBatchId).getClassId();
 //		RedisTemplate redisTemplate = new RedisTemplate<>();
-//		//取出
+//		//鍙栧嚭
 //		List<StuStudent> students = (List<StuStudent>) redisTemplate.boundHashOps("Hashlist").get("students");
 //		if(students==null){
 //			students= studentService.getStudentByclassId(classId);
-//		//存储
+//		//瀛樺偍
 //			redisTemplate.boundHashOps("Hashlist").put("students", students);
 //		}
 //		int number=1;
 		String number = ClientUtils.getUserInfo().getInfo("age");
 //		for (int i=1;i<=students.size();i++) {
 //			if (students.get(i-1).getStudentNo().equals(stu.getStudentNo()) ) {
-//				//座位号
+//				//搴т綅鍙�
 //				number=i;
 //			}
 //		}
-		//添加信息
+		//娣诲姞淇℃伅
 		Map<String,String> student=new HashMap<>();
 		student.put("name",stu.getName());
 		student.put("studentNo",stu.getStudentNo());
@@ -199,8 +199,8 @@
 		student.put("startTime",startTime);
 		student.put("endTime",endTime);
 		student.put("number",number+"");
-		student.put("sex",stu.getSex()?"男":"女");
-		//TODO 下载状态
+		student.put("sex",stu.getSex()?"鐢�":"濂�");
+		//TODO 涓嬭浇鐘舵��
 		studentService.updateImgStudent(stu.getStudentId());
 		ClientUtils.getUserInfo().setInfo("age",String.valueOf(Integer.parseInt(number)+1));
 		return student;
diff --git a/src/main/java/com/qxueyou/scc/sys/action/LoginController.java b/src/main/java/com/qxueyou/scc/sys/action/LoginController.java
index 440d942..2e07cd7 100644
--- a/src/main/java/com/qxueyou/scc/sys/action/LoginController.java
+++ b/src/main/java/com/qxueyou/scc/sys/action/LoginController.java
@@ -46,12 +46,12 @@
 import io.swagger.annotations.ApiOperation;
 
 /**
- * 注册controller 提供注册,登录,注销服务
+ * 娉ㄥ唽controller 鎻愪緵娉ㄥ唽锛岀櫥褰曪紝娉ㄩ攢鏈嶅姟
  *
- * @author 德虎
- * @history 2014-11-25 新建 夏德虎
+ * @author 寰疯檸
+ * @history 2014-11-25 鏂板缓 澶忓痉铏�
  */
-@Api(tags="登入相关接口")
+@Api(tags="鐧诲叆鐩稿叧鎺ュ彛")
 @Controller
 @CrossOrigin(origins="*",maxAge=3600)
 @EnableConfigurationProperties(SccConfig.class)
@@ -97,56 +97,56 @@
 
     public static String UUNUMBER="QXYUUNUMBER";
 
-	@ApiOperation(value = "登入接口", notes = "")
+	@ApiOperation(value = "鐧诲叆鎺ュ彛", notes = "")
 	@ApiImplicitParams({
-			@ApiImplicitParam(name = "account", value = "账号", required = true, paramType="query", dataType = "String"),
-			@ApiImplicitParam(name = "password", value = "密码", required = true, paramType="query", dataType = "String"),
+			@ApiImplicitParam(name = "account", value = "璐﹀彿", required = true, paramType="query", dataType = "String"),
+			@ApiImplicitParam(name = "password", value = "瀵嗙爜", required = true, paramType="query", dataType = "String"),
 	})
 	@RequestMapping(value = "beforeLogin", method = RequestMethod.POST)
 	@ResponseBody
 	public Result beforeLogin(@RequestParam("account") String account, @RequestParam("password") String password,
 								HttpServletRequest request, HttpServletResponse response) {
 		if(StringUtils.isEmpty(account)||StringUtils.isEmpty(password)) {
-			return new Result(false, "用户账号密码不能为空");
+			return new Result(false, "鐢ㄦ埛璐﹀彿瀵嗙爜涓嶈兘涓虹┖");
 		}
-		// 查询用户信息
+		// 鏌ヨ鐢ㄦ埛淇℃伅
 		String uuNumber=null;
 		String uuReNumber=null;
 		String hql = "from User where deleteFlag is false and account = ? and password = ? ";
 		List<Object> params =  CollectionUtils.newList(account,password);
 		User user = commonDAO.findUnique(hql,params, User.class);
 		if (user == null ) {
-			return new Result(false, "用户账户、密码错误");
+			return new Result(false, "鐢ㄦ埛璐︽埛銆佸瘑鐮侀敊璇�");
 		}
 		if (user.getSource() == null || "".equals(user.getSource())) {
-			return new Result(false, "没有权限");
+			return new Result(false, "娌℃湁鏉冮檺");
 		}
 		if("exam".equals(user.getSource())){
-//			//获取Session存入uuNumber
+//			//鑾峰彇Session瀛樺叆uuNumber
 //			uuNumber = UUIDUtils.generateSpecialUuid(8)+account;
 //			HttpSession session = request.getSession();
-//			//设置session自动过期时间 60分钟
+//			//璁剧疆session鑷姩杩囨湡鏃堕棿 60鍒嗛挓
 //			session.setMaxInactiveInterval(60*60);
 //			session.setAttribute("uuNumber", uuNumber);
-			//uuNumber使用固定
+			//uuNumber浣跨敤鍥哄畾
 			uuNumber=UUNUMBER;
 		}else if("reExam".equals(user.getSource())){
-			//获取Session存入uuNumber
+			//鑾峰彇Session瀛樺叆uuNumber
 			uuReNumber = UUIDUtils.generateSpecialUuid(8)+account;
 			HttpSession session = request.getSession();
-			//设置session自动过期时间 60分钟
+			//璁剧疆session鑷姩杩囨湡鏃堕棿 60鍒嗛挓
 			session.setMaxInactiveInterval(60*60);
 			session.setAttribute("uuReNumber", uuReNumber);
 		}else {
-			return new Result(false, "没有权限");
+			return new Result(false, "娌℃湁鏉冮檺");
 		}
-		// 插入日志
+		// 鎻掑叆鏃ュ織
 		insertLoginLog(request, user, account, "SYS-LOGIN");
-		// 返回
-		return new Result(true, "验证成功",CollectionUtils.newObjectMap("uuNumber",uuNumber,"uuReNumber",uuReNumber));
+		// 杩斿洖
+		return new Result(true, "楠岃瘉鎴愬姛",CollectionUtils.newObjectMap("uuNumber",uuNumber,"uuReNumber",uuReNumber));
 	}
 
-	@ApiOperation(value = "登入接口", notes = "")
+	@ApiOperation(value = "鐧诲叆鎺ュ彛", notes = "")
 	@ApiImplicitParams({
 			@ApiImplicitParam(name = "uuNumber", value = "uuNumber", required = true, paramType="query", dataType = "String"),
 			@ApiImplicitParam(name = "uuReNumber", value = "uuReNumber", required = true, paramType="query", dataType = "String"),
@@ -156,33 +156,33 @@
 	public Result examLogin(String uuNumber,String uuReNumber,
 							  HttpServletRequest request, HttpServletResponse response) {
 		if(StringUtils.isEmpty(uuNumber)&&StringUtils.isEmpty(uuReNumber)){
-			return new Result(false, "验证失败");
+			return new Result(false, "楠岃瘉澶辫触");
 		}
 		if (StringUtils.isNotEmpty(uuNumber)) {
-			//有uunumber
+			//鏈塽unumber
 			String uu=ClientUtils.getUserInfo().getInfo("email");
 			if(StringUtils.isEmpty(uu)||!uuNumber.equals(uu)){
-				return new Result(false, "uuNumber验证失败");
+				return new Result(false, "uuNumber楠岃瘉澶辫触");
 			}
 		} else {
-			//有uurenumber
+			//鏈塽urenumber
 			HttpSession session = request.getSession();
 			String uu=(String) session.getAttribute("uuReNumber");
 			if(StringUtils.isEmpty(uu)||!uuReNumber.equals(uu)){
-				return new Result(false, "uuReNumber验证失败");
+				return new Result(false, "uuReNumber楠岃瘉澶辫触");
 			}
-			//验证后删除
+			//楠岃瘉鍚庡垹闄�
 			request.getSession().removeAttribute("uuReNumber");
 //			String uu=ClientUtils.getUserInfo().getInfo("email");
 //			if(StringUtils.isEmpty(uu)||!uuReNumber.equals(uu)){
-//				return new Result(false, "uuReNumber验证失败");
+//				return new Result(false, "uuReNumber楠岃瘉澶辫触");
 //			}
 		}
-		// 返回
-		return new Result(true, "验证成功");
+		// 杩斿洖
+		return new Result(true, "楠岃瘉鎴愬姛");
 	}
 
-	@ApiOperation(value = "登入接口", notes = "")
+	@ApiOperation(value = "鐧诲叆鎺ュ彛", notes = "")
 	@ApiImplicitParams({
 			@ApiImplicitParam(name = "uuNumber", value = "uuNumber", required = true, paramType="query", dataType = "String"),
 			@ApiImplicitParam(name = "uuReNumber", value = "uuReNumber", required = true, paramType="query", dataType = "String"),
@@ -191,36 +191,36 @@
 	@ResponseBody
 	public Result examssLogin(String uuNumber,String uuReNumber,
 							  HttpServletRequest request, HttpServletResponse response) {
-		//两个都为空,表示没有参数
+		//涓や釜閮戒负绌猴紝琛ㄧず娌℃湁鍙傛暟
 		if(StringUtils.isEmpty(uuNumber)&&StringUtils.isEmpty(uuReNumber)){
-			return new Result(false, "验证失败");
+			return new Result(false, "楠岃瘉澶辫触");
 		}
 
 		if (StringUtils.isNotEmpty(uuNumber)) {
-			//有uunumber
+			//鏈塽unumber
 //			HttpSession session = request.getSession();
 //			String uu=(String) session.getAttribute("uuNumber");
 			String uu=UUNUMBER;
 			if(StringUtils.isEmpty(uu)||!uuNumber.equals(uu)){
-				return new Result(false, "uuNumber验证失败");
+				return new Result(false, "uuNumber楠岃瘉澶辫触");
 			}
 		} else {
-			//有uurenumber
+			//鏈塽urenumber
 			HttpSession session = request.getSession();
 			String uu=(String) session.getAttribute("uuReNumber");
 			if(StringUtils.isEmpty(uu)||!uuReNumber.equals(uu)){
-				return new Result(false, "uuReNumber验证失败");
+				return new Result(false, "uuReNumber楠岃瘉澶辫触");
 			}
 		}
-		// 返回
-		return new Result(true, "验证成功");
+		// 杩斿洖
+		return new Result(true, "楠岃瘉鎴愬姛");
 	}
 
-	//退出登录 清除session
+	//閫�鍑虹櫥褰� 娓呴櫎session
 	@RequestMapping(value = "khdloginout", method = RequestMethod.POST)
 	@ResponseBody
 	public void khdloginout(HttpServletRequest request, HttpServletResponse response) {
-		System.out.println("清除session");
+		System.out.println("娓呴櫎session");
 		HttpSession session = request.getSession();
 		redisTemplate.delete(UserInfoWrapper.SESSION_USER_INFO_KEY);
 		System.out.println(session.getAttribute("userId"));
@@ -229,19 +229,19 @@
 	}
 
 	/**
-	 * 学员端登录
+	 * 瀛﹀憳绔櫥褰�
 	 *
-	 * @param account  账户
-	 * @param password 密码
+	 * @param account  璐︽埛
+	 * @param password 瀵嗙爜
 	 * @return
 	 */
-	@ApiOperation(value = "登入接口", notes = "")
+	@ApiOperation(value = "鐧诲叆鎺ュ彛", notes = "")
 	@ApiImplicitParams({
-			@ApiImplicitParam(name = "account", value = "账号", required = true, paramType="query", dataType = "String"),
-			@ApiImplicitParam(name = "password", value = "密码", required = true, paramType="query", dataType = "String"),
-			@ApiImplicitParam(name = "organizationId", value = "机构id", required = true, paramType="query", dataType = "String"),
-			@ApiImplicitParam(name = "platForm", value = "登入平台(app,web,qLive,pc,weixin)", required = true, paramType="query", dataType = "String"),
-			@ApiImplicitParam(name = "logType", value = "登入type(study学员,teacher教师,否则为后台)", required = true, paramType="query", dataType = "String"),
+			@ApiImplicitParam(name = "account", value = "璐﹀彿", required = true, paramType="query", dataType = "String"),
+			@ApiImplicitParam(name = "password", value = "瀵嗙爜", required = true, paramType="query", dataType = "String"),
+			@ApiImplicitParam(name = "organizationId", value = "鏈烘瀯id", required = true, paramType="query", dataType = "String"),
+			@ApiImplicitParam(name = "platForm", value = "鐧诲叆骞冲彴锛坅pp锛寃eb锛宷Live锛宲c锛寃eixin锛�", required = true, paramType="query", dataType = "String"),
+			@ApiImplicitParam(name = "logType", value = "鐧诲叆type锛坰tudy瀛﹀憳锛宼eacher鏁欏笀,鍚﹀垯涓哄悗鍙帮級", required = true, paramType="query", dataType = "String"),
 	})
 	@RequestMapping(value = "studentLogin", method = RequestMethod.POST)
 	@ResponseBody
@@ -251,7 +251,7 @@
 		List<Object> params = null;
 		hql = "from User where deleteFlag is false and userId = ?";
 		params =  CollectionUtils.newList(userId);
-		// 查询用户信息
+		// 鏌ヨ鐢ㄦ埛淇℃伅
 		User user = commonDAO.findUnique(hql,params, User.class);
 		CacheParamters param = new CacheParamters();
 		param.setUserId(user.getUserId());
@@ -260,9 +260,9 @@
 		param.setCacheIpFlag(true);
 		param.setPlatForm(StringUtils.isEmpty(platForm) ? Constants.LOGIN_PLATFORM_WEB : platForm);
 		param.setIp(RequestClientUtils.getRemoteIP(request));
-//		 缓存到请求线程
+//		 缂撳瓨鍒拌姹傜嚎绋�
 		UserInfoWrapper wrapper = cacheUserInfo(param, null);
-		// 存到redis
+		// 瀛樺埌redis
 		redisTemplate.opsForValue().set(UserInfoWrapper.SESSION_USER_INFO_KEY, wrapper);
 		request.getSession().setAttribute(UserInfoWrapper.SESSION_USER_INFO_KEY, wrapper);
 
@@ -275,19 +275,19 @@
 	}
 
 	/**
-     * 后台登录
+     * 鍚庡彴鐧诲綍
      *
-     * @param account  账户
-     * @param password 密码
+     * @param account  璐︽埛
+     * @param password 瀵嗙爜
      * @return
      */
-    @ApiOperation(value = "登入接口", notes = "")
+    @ApiOperation(value = "鐧诲叆鎺ュ彛", notes = "")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "account", value = "账号", required = true, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "password", value = "密码", required = true, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "organizationId", value = "机构id", required = true, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "platForm", value = "登入平台(app,web,qLive,pc,weixin)", required = true, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "logType", value = "登入type(study学员,teacher教师,否则为后台)", required = true, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "account", value = "璐﹀彿", required = true, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "password", value = "瀵嗙爜", required = true, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "organizationId", value = "鏈烘瀯id", required = true, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "platForm", value = "鐧诲叆骞冲彴锛坅pp锛寃eb锛宷Live锛宲c锛寃eixin锛�", required = true, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "logType", value = "鐧诲叆type锛坰tudy瀛﹀憳锛宼eacher鏁欏笀,鍚﹀垯涓哄悗鍙帮級", required = true, paramType="query", dataType = "String"),
     })
     @RequestMapping(value = "platformLogin", method = RequestMethod.POST)
     @ResponseBody
@@ -295,7 +295,7 @@
                                 HttpServletRequest request, HttpServletResponse response, String logType,String organizationId, String platForm) {
 //		response.setHeader("Access-Control-Allow-Origin", "*");
     	if(StringUtils.isEmpty(account)) {
-    		return new Result(false, "用户账号不能为空");
+    		return new Result(false, "鐢ㄦ埛璐﹀彿涓嶈兘涓虹┖");
     	}
 //		System.out.println(account+password);
 //		System.out.println("-------------------------"+organizationId+"--------------"+platForm+"-----------"+logType);
@@ -307,7 +307,7 @@
             params =  CollectionUtils.newList(account,password);
         }else{
             if(StringUtils.isEmpty(password)) {
-				return new Result(false, "用户密码不能为空");
+				return new Result(false, "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖");
 			}
             hql = "from User where deleteFlag is false and account = ? and password = ? ";
             params =  CollectionUtils.newList(account,password);
@@ -318,34 +318,34 @@
         	params.add(organizationId);
         }
 
-        // 查询用户信息
+        // 鏌ヨ鐢ㄦ埛淇℃伅
         User user = commonDAO.findUnique(hql,params, User.class);
 
     	if(uuNumber!=null&&!"".equals(uuNumber)&&!"null".equals(uuNumber)){
-    		//登录成功存入user里,删除session里的uuNumber,下个人无法使用
+    		//鐧诲綍鎴愬姛瀛樺叆user閲岋紝鍒犻櫎session閲岀殑uuNumber锛屼笅涓汉鏃犳硶浣跨敤
 			user.setEmail(uuNumber);
 //			request.getSession().removeAttribute("uuNumber");
 		}
 //    	if(uuReNumber!=null&&!"".equals(uuReNumber)&&!"null".equals(uuReNumber)){
-//    		//登录成功存入user里,删除session里的uuReNumber,下个人无法使用
+//    		//鐧诲綍鎴愬姛瀛樺叆user閲岋紝鍒犻櫎session閲岀殑uuReNumber锛屼笅涓汉鏃犳硶浣跨敤
 //			user.setImei(uuReNumber);
 //			request.getSession().removeAttribute("uuReNumber");
 //		}
 
-        // 插入日志
+        // 鎻掑叆鏃ュ織
         insertLoginLog(request, user, account, "SYS-LOGIN");
 
-        //考试登录会控制flag变量 其他登录不会 默认true
+        //鑰冭瘯鐧诲綍浼氭帶鍒秄lag鍙橀噺 鍏朵粬鐧诲綍涓嶄細 榛樿true
         if (user == null) {
-            return new Result(false, "用户账户、密码错误或缺少凭证");
+            return new Result(false, "鐢ㄦ埛璐︽埛銆佸瘑鐮侀敊璇垨缂哄皯鍑瘉");
         }
 
-        // 返回用户基本信息
+        // 杩斿洖鐢ㄦ埛鍩烘湰淇℃伅
         return this.loginValidate(user, 1, request, response, logType, platForm, organizationId);
     }
 
     /**
-     * 登入验证
+     * 鐧诲叆楠岃瘉
      * @param user
      * @param type
      * @param request
@@ -358,7 +358,7 @@
 	private Result loginValidate(User user, int type, HttpServletRequest request, HttpServletResponse response,
 			String logType, String platForm, String organizationId) {
 		HttpSession session = request.getSession();
-		// 缓存用户信息
+		// 缂撳瓨鐢ㄦ埛淇℃伅
 		CacheParamters param = new CacheParamters();
 		param.setUserId(user.getUserId());
 		param.setCustomRoleValue(user.getEmail());
@@ -366,33 +366,33 @@
 		param.setCacheIpFlag(true);
 		param.setPlatForm(StringUtils.isEmpty(platForm) ? Constants.LOGIN_PLATFORM_WEB : platForm);
 		param.setIp(RequestClientUtils.getRemoteIP(request));
-//		 缓存到请求线程
+//		 缂撳瓨鍒拌姹傜嚎绋�
 		UserInfoWrapper wrapper = cacheUserInfo(param, null);
-		// 存到redis
+		// 瀛樺埌redis
 		redisTemplate.opsForValue().set(UserInfoWrapper.SESSION_USER_INFO_KEY, wrapper);
 		request.getSession().setAttribute(UserInfoWrapper.SESSION_USER_INFO_KEY, wrapper);
 		if ("study".equals(logType)) {
 			/*if (StringUtils.isEmpty(ClientUtils.getClassId()) && user.getRoles() == null) {
-				return new Result(false, "该用户未加入任何班级或未激活,请联系班主任");
+				return new Result(false, "璇ョ敤鎴锋湭鍔犲叆浠讳綍鐝骇鎴栨湭婵�娲伙紝璇疯仈绯荤彮涓讳换");
 			}*/
 
 			if (StringUtils.isEmpty(user.getOrganizationId())) {
-				return new Result(false, "该用户不属于任何机构,无法登入");
+				return new Result(false, "璇ョ敤鎴蜂笉灞炰簬浠讳綍鏈烘瀯锛屾棤娉曠櫥鍏�");
 			}
 			if (StringUtils.isNoneBlank(organizationId) && !user.getOrganizationId().equals(organizationId)) {
-				return new Result(false, "选择的机构错误,请确认");
+				return new Result(false, "閫夋嫨鐨勬満鏋勯敊璇紝璇风‘璁�");
 			}
 
-			//判断是否为学生,如果是学生,判断是否已冻结或移除,冻结或移除的学生不让登录
+			//鍒ゆ柇鏄惁涓哄鐢燂紝濡傛灉鏄鐢燂紝鍒ゆ柇鏄惁宸插喕缁撴垨绉婚櫎锛屽喕缁撴垨绉婚櫎鐨勫鐢熶笉璁╃櫥褰�
 	        StuStudent stu = this.studentService.getStudentByUserId(user.getUserId());
 	        if(stu!=null && (stu.getDeleteFlag() || stu.getStatus().equalsIgnoreCase(StuStudent.STATUS_DEACTIVE))){
-	        	return new Result(false, "用户账户已经被冻结或移除");
+	        	return new Result(false, "鐢ㄦ埛璐︽埛宸茬粡琚喕缁撴垨绉婚櫎");
 	        }
 
 			/*if(StringUtils.isEmpty(wrapper.getInfo(UserInfoWrapper.INF_CLASS_ID))) {
-				return new Result(false, "该用户未加入任何班级,无法登入");
+				return new Result(false, "璇ョ敤鎴锋湭鍔犲叆浠讳綍鐝骇锛屾棤娉曠櫥鍏�");
 			}*/
-			// 保存到session中
+			// 淇濆瓨鍒皊ession涓�
 			return new Result(true, "success",
 					CollectionUtils.newObjectMap("userId", user.getUserId(), "userName", user.getName(), "imgPath",
 							user.getImgPath(), "orgName", ClientUtils.getOrgName(),"orgId", ClientUtils.getOrgId(), "orgLogo",
@@ -401,16 +401,16 @@
 		}else if("teacher".equals(logType)) {
 			String teacherId = teacherService.getTeacherIdByUserId(user.getUserId());
 			if (StringUtils.isEmpty(teacherId)) {
-				return new Result(false, "该账户不是老师角色,无法登入");
+				return new Result(false, "璇ヨ处鎴蜂笉鏄�佸笀瑙掕壊锛屾棤娉曠櫥鍏�");
 			}
 			if (StringUtils.isEmpty(user.getOrganizationId())) {
-				return new Result(false, "该用户不属于任何机构,无法登入");
+				return new Result(false, "璇ョ敤鎴蜂笉灞炰簬浠讳綍鏈烘瀯锛屾棤娉曠櫥鍏�");
 			}
 			if (StringUtils.isNoneBlank(organizationId) && !user.getOrganizationId().equals(organizationId)) {
-				return new Result(false, "选择的机构错误,请确认");
+				return new Result(false, "閫夋嫨鐨勬満鏋勯敊璇紝璇风‘璁�");
 			}
 
-			//获取用户对应的sessionId是否与保存在redis中的一致,如果不一致则跳转到登录页面
+			//鑾峰彇鐢ㄦ埛瀵瑰簲鐨剆essionId鏄惁涓庝繚瀛樺湪redis涓殑涓�鑷达紝濡傛灉涓嶄竴鑷村垯璺宠浆鍒扮櫥褰曢〉闈�
 //			stringRedisTemplate.opsForHash().put(UserInfoWrapper.REDIS_USER_ONLINE_MAP_KEY, user.getUserId(), request.getSession().getId());
 			return new Result(true, "success",
 					CollectionUtils.newObjectMap("userId", user.getUserId(), "userName", user.getName(), "imgPath",
@@ -419,7 +419,7 @@
 			Result result = privilegeService.getMenus(user);
 			Integer roleType = result.getDataT("roleType");
 
-			// 保存管理员特殊角色信息
+			// 淇濆瓨绠$悊鍛樼壒娈婅鑹蹭俊鎭�
 			if (UserRole.ROLE_TYPE_ADMIN.equals(roleType)) {
 //				boolean a=true;
 //				wrapper.setAdmin(true);
@@ -437,12 +437,12 @@
 	}
 
     /**
-     * 后台:退出登录,后台系统
+     * 鍚庡彴锛氶��鍑虹櫥褰�,鍚庡彴绯荤粺
      *
-     * @param account 账户
+     * @param account 璐︽埛
      * @return
      */
-	@ApiOperation(value = "退出后台系统操作", notes = "")
+	@ApiOperation(value = "閫�鍑哄悗鍙扮郴缁熸搷浣�", notes = "")
     @RequestMapping(value = "release", method = RequestMethod.GET)
     public String release(HttpServletRequest httpRequest, HttpServletResponse response) {
         doRelease(httpRequest, response);
@@ -450,11 +450,11 @@
     }
 
     /**
-     * 后台:退出登录,后台系统
+     * 鍚庡彴锛氶��鍑虹櫥褰�,鍚庡彴绯荤粺
      *
      * @return
      */
-	@ApiOperation(value = "退出app系统操作", notes = "")
+	@ApiOperation(value = "閫�鍑篴pp绯荤粺鎿嶄綔", notes = "")
     @RequestMapping(value = "loginOut", method = RequestMethod.GET)
     public @ResponseBody Result loginOut(HttpServletRequest httpRequest, HttpServletResponse response) {
         doRelease(httpRequest, response);
@@ -462,7 +462,7 @@
     }
 
     /**
-     * 缓存用户信息(班主任 、 学员 角色 缓存后台clientUtils信息)
+     * 缂撳瓨鐢ㄦ埛淇℃伅(鐝富浠� 銆� 瀛﹀憳 瑙掕壊 缂撳瓨鍚庡彴clientUtils淇℃伅)
      *
      * @param userId
      * @param cookieValue
@@ -480,7 +480,7 @@
     }
 
     /**
-     * 插入登录日志
+     * 鎻掑叆鐧诲綍鏃ュ織
      *
      * @param request
      * @param lstUser
@@ -510,9 +510,9 @@
     }
 
     /**
-     * 退出后台系统操作
+     * 閫�鍑哄悗鍙扮郴缁熸搷浣�
      *
-     * @param account 账户
+     * @param account 璐︽埛
      * @return
      */
     private void doRelease(HttpServletRequest httpRequest, HttpServletResponse response) {
@@ -523,12 +523,12 @@
     }
 
     /**
-     * 用户修改密码
+     * 鐢ㄦ埛淇敼瀵嗙爜
      */
-    @ApiOperation(value = "修改密码", notes = "")
+    @ApiOperation(value = "淇敼瀵嗙爜", notes = "")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "usedPass", value = "老密码", required = false, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "pass", value = "新密码", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "usedPass", value = "鑰佸瘑鐮�", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "pass", value = "鏂板瘑鐮�", required = false, paramType="query", dataType = "String"),
     })
     @RequestMapping(value = "updatePassword", method = RequestMethod.POST)
     @ResponseBody
@@ -537,9 +537,9 @@
     }
 
     /**
-     * 获取当前用户
+     * 鑾峰彇褰撳墠鐢ㄦ埛
      */
-    @ApiOperation(value = "获取当前用户", notes = "")
+    @ApiOperation(value = "鑾峰彇褰撳墠鐢ㄦ埛", notes = "")
     @RequestMapping(value = "getCurrUser", method = RequestMethod.POST)
     @ResponseBody
     public Result getCurrUser() {
@@ -550,9 +550,9 @@
     }
 
     /**
-     * 获取当前用户
+     * 鑾峰彇褰撳墠鐢ㄦ埛
      */
-    @ApiOperation(value = "获取当前教师信息", notes = "")
+    @ApiOperation(value = "鑾峰彇褰撳墠鏁欏笀淇℃伅", notes = "")
     @RequestMapping(value = "getCurrTeacher", method = RequestMethod.GET)
     @ResponseBody
     public Result getCurrTeacher() {
@@ -560,11 +560,11 @@
     }
 
     /**
-     * 用户修改密码
+     * 鐢ㄦ埛淇敼瀵嗙爜
      */
-    @ApiOperation(value = "修改头像", notes = "")
+    @ApiOperation(value = "淇敼澶村儚", notes = "")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "headPath", value = "头像地址", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "headPath", value = "澶村儚鍦板潃", required = false, paramType="query", dataType = "String"),
     })
     @RequestMapping(value = "updateUserHead", method = RequestMethod.POST)
     @ResponseBody
@@ -573,11 +573,11 @@
     }
 
     /**
-     * 修改用户其他数据
+     * 淇敼鐢ㄦ埛鍏朵粬鏁版嵁
      */
-    @ApiOperation(value = "修改用户其他数据", notes = "")
+    @ApiOperation(value = "淇敼鐢ㄦ埛鍏朵粬鏁版嵁", notes = "")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "mobilePhone", value = "老密码", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "mobilePhone", value = "鑰佸瘑鐮�", required = false, paramType="query", dataType = "String"),
     })
     @RequestMapping(value = "updateUserInfo", method = RequestMethod.POST)
     @ResponseBody
@@ -586,7 +586,7 @@
     }
 
     /**
-     * 获取系统当前时间
+     * 鑾峰彇绯荤粺褰撳墠鏃堕棿
      */
     @RequestMapping(value = "currentTime", method = RequestMethod.GET)
     @ResponseBody
@@ -594,7 +594,7 @@
         return System.currentTimeMillis();
     }
 
-    @ApiOperation(value = "获取机构列表", notes = "")
+    @ApiOperation(value = "鑾峰彇鏈烘瀯鍒楄〃", notes = "")
     @RequestMapping(value = "getOrgLst", method = RequestMethod.GET)
     @ResponseBody
     public Result getOrgLst() {
@@ -602,11 +602,11 @@
         return new Result(true, "success", orgLst);
     }
 
-    @ApiOperation(value = "获取机构的信息", notes = "包含基本信息和banner图和app信息")
+    @ApiOperation(value = "鑾峰彇鏈烘瀯鐨勪俊鎭�", notes = "鍖呭惈鍩烘湰淇℃伅鍜宐anner鍥惧拰app淇℃伅")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "appCode", value = "appcode(android:androidTeacherApp,androidTeacherH5,androidStudentApp, androidStudentH5"
-        		+ "IOS:IosTeacherApp,IosStudentApp)", required = false, paramType="query", dataType = "String"),
-        @ApiImplicitParam(name = "orgId", value = "机构id", required = false, paramType="query", dataType = "String")
+        @ApiImplicitParam(name = "appCode", value = "appcode锛坅ndroid锛歛ndroidTeacherApp锛宎ndroidTeacherH5锛宎ndroidStudentApp锛� androidStudentH5"
+        		+ "IOS:IosTeacherApp,IosStudentApp锛�", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "orgId", value = "鏈烘瀯id", required = false, paramType="query", dataType = "String")
     })
     @RequestMapping(value = "getOrgInfo", method = RequestMethod.GET)
     @ResponseBody
@@ -615,18 +615,18 @@
     }
 
     /**
-	 * APP2.0:  获取android APP版本
+	 * APP2.0:  鑾峰彇android APP鐗堟湰
 	 *
 	 * @return|
 	 */
-    @ApiOperation(value = "获取android APP版本")
+    @ApiOperation(value = "鑾峰彇android APP鐗堟湰")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "appName", value = "app名称(android:teacherApp,teacherH5,studentApp, studentH5)", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "appName", value = "app鍚嶇О锛坅ndroid锛歵eacherApp锛宼eacherH5锛宻tudentApp锛� studentH5锛�", required = false, paramType="query", dataType = "String"),
     })
 	@RequestMapping(value="getAndroidAppVersion",method=RequestMethod.GET)
     public @ResponseBody Result getAppVersion(String appName) {
 
-		// 版本号
+		// 鐗堟湰鍙�
 		String versionName = "";
 		String versionTips = "";
 		String versionCode = "";
@@ -664,17 +664,17 @@
 
 
 	/**
-	 * APP2.0:  获取ios APP版本
+	 * APP2.0:  鑾峰彇ios APP鐗堟湰
 	 *
 	 * @return
 	 */
-    @ApiOperation(value = "获取ios APP版本")
+    @ApiOperation(value = "鑾峰彇ios APP鐗堟湰")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "appName", value = "app名称(ios:teacherApp,studentApp)", required = false, paramType="query", dataType = "String"),
+        @ApiImplicitParam(name = "appName", value = "app鍚嶇О锛坕os锛歵eacherApp锛宻tudentApp锛�", required = false, paramType="query", dataType = "String"),
     })
 	@RequestMapping(value="getIosAppVersion",method=RequestMethod.GET)
     public @ResponseBody Result getIOSAppVersion(String appName) {
-		// 版本号
+		// 鐗堟湰鍙�
 		String versionCode = "";
 		String versionNo = "";
 		String versionTips = "";
@@ -696,15 +696,15 @@
     }
 
 	/**
-	 * APP2.0:  获取ios 版本
+	 * APP2.0:  鑾峰彇ios 鐗堟湰
 	 *
 	 * @return
 	 */
-    @ApiOperation(value = "获取ios菜单")
+    @ApiOperation(value = "鑾峰彇ios鑿滃崟")
 	@RequestMapping(value="getIosMenu",method=RequestMethod.GET)
     public @ResponseBody Result getIOSAppVersion() {
-    	//"课件","考试","作业","直播"
-	    return new Result(true, "", new String[]{"课件","直播","考试","作业"});
+    	//"璇句欢","鑰冭瘯","浣滀笟","鐩存挱"
+	    return new Result(true, "", new String[]{"璇句欢","鐩存挱","鑰冭瘯","浣滀笟"});
     }
 
 
diff --git a/src/main/java/com/qxueyou/scc/sys/model/CacheParamters.java b/src/main/java/com/qxueyou/scc/sys/model/CacheParamters.java
index 36a6fa3..bbd305a 100644
--- a/src/main/java/com/qxueyou/scc/sys/model/CacheParamters.java
+++ b/src/main/java/com/qxueyou/scc/sys/model/CacheParamters.java
@@ -1,6 +1,6 @@
 package com.qxueyou.scc.sys.model;
 /**
- * LoginController里cacheUserInfo方法的参数
+ * LoginController閲宑acheUserInfo鏂规硶鐨勫弬鏁�
  * @author iqtogether
  *
  */
@@ -8,40 +8,40 @@
 	/** userId*/
 	private String userId;
 
-	/** cookie值*/
+	/** cookie鍊�*/
 	private String cookieValue;
 
-	/** 班主任Id*/
+	/** 鐝富浠籌d*/
 	private String chargerClassId;
 
-	/** 学员Id*/
+	/** 瀛﹀憳Id*/
 	private String sutdentClassId;
 
-	/** 管理员Id*/
+	/** 绠$悊鍛業d*/
 	private String adminOrgId;
 
-	/** 讲师班级Id*/
+	/** 璁插笀鐝骇Id*/
 	private String teacherClassId;
 
-	/** 助理讲师班级Id*/
+	/** 鍔╃悊璁插笀鐝骇Id*/
 	private String assTeacherClassId;
 
-	/** 自定义机构管理员Id*/
+	/** 鑷畾涔夋満鏋勭鐞嗗憳Id*/
 	private String customOrgId;
 
-	/** 自定义角色Id*/
+	/** 鑷畾涔夎鑹睮d*/
 	private String curtomRoleId;
 
-	/** 自定义角色值*/
+	/** 鑷畾涔夎鑹插��*/
 	private String customRoleValue;
 
-	/** 是否缓存*/
+	/** 鏄惁缂撳瓨*/
 	private Boolean cacheIpFlag;
 
 	/** ip*/
 	private String ip;
 
-	/** 登录平台:platForm*/
+	/** 鐧诲綍骞冲彴锛歱latForm*/
 	private String platForm;
 
 	/**
diff --git a/src/main/java/com/qxueyou/scc/sys/model/ResponseResult.java b/src/main/java/com/qxueyou/scc/sys/model/ResponseResult.java
index cc66c5e..f0e4fb0 100644
--- a/src/main/java/com/qxueyou/scc/sys/model/ResponseResult.java
+++ b/src/main/java/com/qxueyou/scc/sys/model/ResponseResult.java
@@ -4,7 +4,7 @@
 
 
 /**
- * 用户激活返回结果
+ * 鐢ㄦ埛婵�娲昏繑鍥炵粨鏋�
  * @author zhiyong
  *
  */
@@ -12,117 +12,117 @@
 
 	private static final long serialVersionUID = -8122352446681757516L;
 	
-	/** 结果  */
+	/** 缁撴灉  */
 	private boolean result;
 	
-	/** 结果信息  */
+	/** 缁撴灉淇℃伅  */
 	private String resultMsg;
 	
-	/** 待激活用户ID  */
+	/** 寰呮縺娲荤敤鎴稩D  */
 	private String inactiveUserId;
 	
-	/** 是否已激活 */
+	/** 鏄惁宸叉縺娲� */
 	private boolean ActiveFlag;
 	
-	/** 当前用户ID  */
+	/** 褰撳墠鐢ㄦ埛ID  */
 	private String userId;
 	
-	/** 密码 */
+	/** 瀵嗙爜 */
 	private String emPw;
 	
-	/** 当前注册ID  */
+	/** 褰撳墠娉ㄥ唽ID  */
 	private String regId;
 	
-	/** 当前用户名  */
+	/** 褰撳墠鐢ㄦ埛鍚�  */
 	private String userName;
 	
-	/** 当前账户  */
+	/** 褰撳墠璐︽埛  */
 	private String account;
 	
-	/** 手机号码 */
+	/** 鎵嬫満鍙风爜 */
 	private String mobilePhone;
 	
-	/** 昵称  */
+	/** 鏄电О  */
 	private String alias;
 	
-	/** 性别  */
+	/** 鎬у埆  */
 	private boolean sex;
 	
-	/** 用户类型 */
+	/** 鐢ㄦ埛绫诲瀷 */
 	private short userType;
 	
-	/** 头像地址 */
+	/** 澶村儚鍦板潃 */
 	private String imgPath;
 	
-	/** 班级id  */
+	/** 鐝骇id  */
 	private String classId;
 	
-	/** 班级名称  */
+	/** 鐝骇鍚嶇О  */
 	private String className;
 	
-	/** 科目id  */
+	/** 绉戠洰id  */
 	private String courseId;
 	
-	/** 科目名称  */
+	/** 绉戠洰鍚嶇О  */
 	private String courseName;
 	
-	/** 机构id  */
+	/** 鏈烘瀯id  */
 	private String orgId;
 	
-	/** 机构TOPid  */
+	/** 鏈烘瀯TOPid  */
 	private String topOrgId;
 	
-	/** 机构简称 */
+	/** 鏈烘瀯绠�绉� */
 	private String orgShortName;
 	
-	/** 机构名 */
+	/** 鏈烘瀯鍚� */
 	private String orgName;
 	
-	/** 机构联系方式 */
+	/** 鏈烘瀯鑱旂郴鏂瑰紡 */
 	private String orgTel;
 	
-	/** 机构图片*/
+	/** 鏈烘瀯鍥剧墖*/
 	private String orgLogoPath;
 	
-	/** 机构类型 */
+	/** 鏈烘瀯绫诲瀷 */
 	private short orgType ;
 	
-	/** 机构编码*/
+	/** 鏈烘瀯缂栫爜*/
 	private String orgCode;
 	
-	/** 判断密码是否修改   true:需要修改   false:不需要修改 */
+	/** 鍒ゆ柇瀵嗙爜鏄惁淇敼   true:闇�瑕佷慨鏀�   false锛氫笉闇�瑕佷慨鏀� */
 	private boolean changePWDFlag ;
 	
-	/** 是否是游客 */
+	/** 鏄惁鏄父瀹� */
 	private boolean visitorFlag ;
 	
-	/** 是否第一次登录 */
+	/** 鏄惁绗竴娆$櫥褰� */
 	private boolean firstFlag ;
 	
-	/** 唯一编码 */
+	/** 鍞竴缂栫爜 */
 	private String uniqueCode ;
 	
-	/**签名 */
+	/**绛惧悕 */
 	private String signature ;
 
-	/**真实姓名 */
+	/**鐪熷疄濮撳悕 */
 	private String realName ;
 	
-	/**环信群组ID */
+	/**鐜俊缇ょ粍ID */
 	private String easmobGroupId ;
 	
-	/**第一次登入传播大使 */
+	/**绗竴娆$櫥鍏ヤ紶鎾ぇ浣� */
 	private boolean  everloginAts;
 	
-	/**weixin:是否提示下载Q学友APP */
+	/**weixin锛氭槸鍚︽彁绀轰笅杞絈瀛﹀弸APP */
 	private boolean  appDownFlag;
 	
 	private Integer errorCode;
 	
-	/** 用户openId*/
+	/** 鐢ㄦ埛openId*/
 	private String openId;
 	
-	/** 是否在本机构有班级 true:该用户在此机构有班级 false:反之 */
+	/** 鏄惁鍦ㄦ湰鏈烘瀯鏈夌彮绾� true:璇ョ敤鎴峰湪姝ゆ満鏋勬湁鐝骇 false锛氬弽涔� */
 	private boolean hasOrgClass;
 	
 	public boolean isEverloginAts() {
diff --git a/src/main/java/com/qxueyou/scc/sys/model/SysButton.java b/src/main/java/com/qxueyou/scc/sys/model/SysButton.java
index 197e51b..dd3dc5b 100644
--- a/src/main/java/com/qxueyou/scc/sys/model/SysButton.java
+++ b/src/main/java/com/qxueyou/scc/sys/model/SysButton.java
@@ -19,7 +19,7 @@
 
 
 /**
- * 系统菜单按钮
+ * 绯荤粺鑿滃崟鎸夐挳
  * 
  */
 @Entity
diff --git a/src/main/java/com/qxueyou/scc/sys/model/SysCondition.java b/src/main/java/com/qxueyou/scc/sys/model/SysCondition.java
index a8248e4..d408ac1 100644
--- a/src/main/java/com/qxueyou/scc/sys/model/SysCondition.java
+++ b/src/main/java/com/qxueyou/scc/sys/model/SysCondition.java
@@ -38,25 +38,25 @@
 	private String conditionId;
 
 	/***
-	 * 模块
+	 * 妯″潡
 	 */
 	@Column(name="MODULE", length=64)
 	private String module;
 	
 	/***
-	 * 序号
+	 * 搴忓彿
 	 */
 	@Column(name="ORDER" )
 	private Integer order;
 	
 	/***
-	 * 编码
+	 * 缂栫爜
 	 */
 	@Column(name="CODE" ,length=128 )
 	private String code;
 	
 	/***
-	 * 名称
+	 * 鍚嶇О
 	 */
 	@Column(name="NAME", length=128 )
 	private String name;
diff --git a/src/main/java/com/qxueyou/scc/sys/model/SysConfigFile.java b/src/main/java/com/qxueyou/scc/sys/model/SysConfigFile.java
index 2a5efbd..8d2c369 100644
--- a/src/main/java/com/qxueyou/scc/sys/model/SysConfigFile.java
+++ b/src/main/java/com/qxueyou/scc/sys/model/SysConfigFile.java
@@ -27,7 +27,7 @@
 	public static final String MODULE_TYPE_IMG = "2" ;
 	public static final String MODULE_TYPE_VIDEO = "3" ;
 	public static final String MODULE_TYPE_AUDIO = "4" ;
-	public static final String MODULE_TYPE_HTML = "5" ;// html文件
+	public static final String MODULE_TYPE_HTML = "5" ;// html鏂囦欢
 
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
diff --git a/src/main/java/com/qxueyou/scc/sys/model/SysLog.java b/src/main/java/com/qxueyou/scc/sys/model/SysLog.java
index 3e0c99e..4a85724 100644
--- a/src/main/java/com/qxueyou/scc/sys/model/SysLog.java
+++ b/src/main/java/com/qxueyou/scc/sys/model/SysLog.java
@@ -22,12 +22,12 @@
 	private static final long serialVersionUID = 1L;
 	
 	/*
-	 * 锟斤拷志锟斤拷锟斤拷: 系统
+	 * ???????: ??
 	 */
 	public static final short LOG_TYPE_SYS = (short)0;
 	
 	/*
-	 * 锟斤拷志锟斤拷锟斤拷: 业锟斤拷
+	 * ???????: ???
 	 */
 	public static final short LOG_TYPE_BUSINESS = (short)1;
 
diff --git a/src/main/java/com/qxueyou/scc/sys/service/IAuthorizeService.java b/src/main/java/com/qxueyou/scc/sys/service/IAuthorizeService.java
index 8d53618..44210d2 100644
--- a/src/main/java/com/qxueyou/scc/sys/service/IAuthorizeService.java
+++ b/src/main/java/com/qxueyou/scc/sys/service/IAuthorizeService.java
@@ -3,14 +3,14 @@
 import com.qxueyou.scc.base.model.UserInfoWrapper;
 
 /**
- * 授权服务
- * @author 德虎
+ * 鎺堟潈鏈嶅姟
+ * @author 寰疯檸
  *
  */
 public interface IAuthorizeService {
 	
 	/**
-	 * 添加用户信息到当前线程
+	 * 娣诲姞鐢ㄦ埛淇℃伅鍒板綋鍓嶇嚎绋�
 	 * @param wrapper
 	 * @return
 	 */
diff --git a/src/main/java/com/qxueyou/scc/sys/service/IOssService.java b/src/main/java/com/qxueyou/scc/sys/service/IOssService.java
index 79ffaef..103b845 100644
--- a/src/main/java/com/qxueyou/scc/sys/service/IOssService.java
+++ b/src/main/java/com/qxueyou/scc/sys/service/IOssService.java
@@ -6,38 +6,38 @@
 import com.qxueyou.scc.base.model.Result;
 
 /**
- * 锟斤拷锟斤拷锟芥储锟斤拷锟斤拷
- * @author 锟铰伙拷
+ * 閿熸枻鎷烽敓鏂ゆ嫹閿熻姤鍌ㄩ敓鏂ゆ嫹閿熸枻鎷�
+ * @author 閿熼摪浼欐嫹
  *
  */
 public interface IOssService {
 	
 	/**
-	 * 锟较达拷图片
+	 * 閿熻緝杈炬嫹鍥剧墖
 	 * @param file
 	 * @param destPath
-	 * @return 锟较达拷锟斤拷锟?
+	 * @return 閿熻緝杈炬嫹閿熸枻鎷烽敓?
 	 */
 	Result uplpadImage(File file,String destPath);
 	
 	/**
-	 * 锟较达拷图片
+	 * 閿熻緝杈炬嫹鍥剧墖
 	 * @param file
 	 * @param destPath
-	 * @return 锟较达拷锟斤拷锟?
+	 * @return 閿熻緝杈炬嫹閿熸枻鎷烽敓?
 	 */
 	Result uplpadImage(InputStream ins,String fileFormat,String destPath);
 	
 	/**
-	 * 锟较达拷锟侥硷拷
+	 * 閿熻緝杈炬嫹閿熶茎纭锋嫹
 	 * @param file
 	 * @param destPath
-	 * @return 锟较达拷锟斤拷锟?
+	 * @return 閿熻緝杈炬嫹閿熸枻鎷烽敓?
 	 */
 	Result uplpadFile(File file,String destPath);
 	
 	/**
-	 * 锟较达拷锟侥憋拷转锟侥硷拷
+	 * 閿熻緝杈炬嫹閿熶茎鎲嬫嫹杞敓渚ョ》鎷�
 	 * @param byteArray
 	 * @param destPath
 	 * @return
@@ -45,23 +45,23 @@
 	Result uploadFile(byte[] byteArray,String destPath); 
 	
 	/**
-	 * 锟较达拷锟斤拷频
-	 * @param input 锟斤拷锟斤拷锟斤拷
-	 * @param fileFormat 锟斤拷频锟斤拷式
-	 * @param fileLength 锟侥硷拷锟斤拷锟斤拷
-	 * @param destPath 目锟斤拷路锟斤拷
+	 * 閿熻緝杈炬嫹閿熸枻鎷烽
+	 * @param input 閿熸枻鎷烽敓鏂ゆ嫹閿熸枻鎷�
+	 * @param fileFormat 閿熸枻鎷烽閿熸枻鎷峰紡
+	 * @param fileLength 閿熶茎纭锋嫹閿熸枻鎷烽敓鏂ゆ嫹
+	 * @param destPath 鐩敓鏂ゆ嫹璺敓鏂ゆ嫹
 	 * @return
 	 */
 	Result uplpadFile(InputStream input,String fileFormat,long fileLength, String destPath);
 	
 	/**
-	 * 锟斤拷取锟斤拷锟斤拷锟斤拷路锟斤拷
+	 * 閿熸枻鎷峰彇閿熸枻鎷烽敓鏂ゆ嫹閿熸枻鎷疯矾閿熸枻鎷�
 	 * @return
 	 */
 	String getServerUrl();
 	
 	/**
-	 * 锟接凤拷锟斤拷锟斤拷锟斤拷取锟侥硷拷锟斤拷锟芥到锟斤拷锟斤拷
+	 * 閿熸帴鍑ゆ嫹閿熸枻鎷烽敓鏂ゆ嫹閿熸枻鎷峰彇閿熶茎纭锋嫹閿熸枻鎷烽敓鑺ュ埌閿熸枻鎷烽敓鏂ゆ嫹
 	 * @param key
 	 * @param directory
 	 * @return
@@ -69,7 +69,7 @@
 	File getObject(String key,String directory);
 	
 	/**
-	 * 锟接凤拷锟斤拷锟斤拷锟斤拷取锟斤拷锟襟,凤拷锟斤拷锟斤拷锟斤拷锟斤拷
+	 * 閿熸帴鍑ゆ嫹閿熸枻鎷烽敓鏂ゆ嫹閿熸枻鎷峰彇閿熸枻鎷烽敓瑗燂紝鍑ゆ嫹閿熸枻鎷烽敓鏂ゆ嫹閿熸枻鎷烽敓鏂ゆ嫹
 	 * @param key
 	 * @return
 	 */
@@ -77,7 +77,7 @@
 	InputStream getObject(String key);
 	
 	/**
-	 * 删锟斤拷锟侥硷拷
+	 * 鍒犻敓鏂ゆ嫹閿熶茎纭锋嫹
 	 * @param destPath
 	 */
 	void deleteOSSFile (String destPath);
diff --git a/src/main/java/com/qxueyou/scc/sys/service/IPrivilegeService.java b/src/main/java/com/qxueyou/scc/sys/service/IPrivilegeService.java
index fc722d3..3eb6d18 100644
--- a/src/main/java/com/qxueyou/scc/sys/service/IPrivilegeService.java
+++ b/src/main/java/com/qxueyou/scc/sys/service/IPrivilegeService.java
@@ -10,56 +10,56 @@
 public interface IPrivilegeService {
 	
 	/**
-	 * 获取已授权菜单列表
+	 * 鑾峰彇宸叉巿鏉冭彍鍗曞垪琛�
 	 * @param name
 	 * @return
 	 */
 	List<SysMenu> getPrivilegesMenus(String userId);
 	
 	/**
-	 * 获取班主任在当前机构下的班级
+	 * 鑾峰彇鐝富浠诲湪褰撳墠鏈烘瀯涓嬬殑鐝骇
 	 * @param name
 	 * @return
 	 */
 	List<ClsClass> getChargerClasses(String userId,String orgId);
 	
 	/**
-	 * 获取讲师在当前机构的班级
+	 * 鑾峰彇璁插笀鍦ㄥ綋鍓嶆満鏋勭殑鐝骇
 	 * @param name
 	 * @return
 	 */
 	List<ClsClass> getTeacherClasses(String userId,String orgId);
 	
 	/**
-	 * 获取助理讲师在当前机构的班级
+	 * 鑾峰彇鍔╃悊璁插笀鍦ㄥ綋鍓嶆満鏋勭殑鐝骇
 	 * @param name
 	 * @return
 	 */
 	List<ClsClass> getAssisTeacherClasses(String userId,String orgId);
 	
 	/**
-	 * 新增list
+	 * 鏂板list
 	 * @param privileges
 	 * @return
 	 */
 	Result updatePrivileges(String[] arrMenuIds,String roleId);
 	
 	/**
-	 * 删除list
+	 * 鍒犻櫎list
 	 * @param privileges
 	 * @return
 	 */
 	Result deletePrivileges(String[] deleteMenuIds,String roleId);
 	
 	/*
-	 * 获取讲师直播关联的class
+	 * 鑾峰彇璁插笀鐩存挱鍏宠仈鐨刢lass
 	 * 
 	 */
 	public List<ClsClass> getTeacherLiveClasses(String userId,String orgId);
 	
 	
 	/**
-	 * 获取用户权限
+	 * 鑾峰彇鐢ㄦ埛鏉冮檺
 	 */
 	public Result getMenus(User user);
 	
diff --git a/src/main/java/com/qxueyou/scc/sys/service/ISysAttachmentService.java b/src/main/java/com/qxueyou/scc/sys/service/ISysAttachmentService.java
index ab16cf2..22fba94 100644
--- a/src/main/java/com/qxueyou/scc/sys/service/ISysAttachmentService.java
+++ b/src/main/java/com/qxueyou/scc/sys/service/ISysAttachmentService.java
@@ -5,14 +5,14 @@
 public interface ISysAttachmentService {
 	
 	/**
-	 * 根据单据ID获取附件列表
+	 * 鏍规嵁鍗曟嵁ID鑾峰彇闄勪欢鍒楄〃
 	 * @param relaedObjectId
 	 * @return
 	 */
 	Result querySysAttachement(String relaedObjectId);
 	
 	/**
-	 * 新增附件
+	 * 鏂板闄勪欢
 	 * @param attachmentName
 	 * @param attachmentPath
 	 * @param relaedObjectId
@@ -21,7 +21,7 @@
 	Result insertSysAttachment(String attachmentName, String attachmentPath,long fileSize ,String relaedObjectId);
 	
 	/**
-	 * 删除附件
+	 * 鍒犻櫎闄勪欢
 	 * @param attachementIds
 	 * @return
 	 */
diff --git a/src/main/java/com/qxueyou/scc/sys/service/impl/OssService.java b/src/main/java/com/qxueyou/scc/sys/service/impl/OssService.java
index 9fcc976..6361d68 100644
--- a/src/main/java/com/qxueyou/scc/sys/service/impl/OssService.java
+++ b/src/main/java/com/qxueyou/scc/sys/service/impl/OssService.java
@@ -22,9 +22,9 @@
 import com.qxueyou.scc.sys.service.IOssService;
 
 /**
- *上传服务
+ *涓婁紶鏈嶅姟
  * 
- * @author 德虎
+ * @author 寰疯檸
  * 
  */
 @Service
@@ -39,7 +39,7 @@
 	private final Logger log = LogManager.getLogger("OssService");
 	
 	/*
-	 * 文档服务地址
+	 * 鏂囨。鏈嶅姟鍦板潃
 	 */
 	private String resDomain;
 	
@@ -50,7 +50,7 @@
 	
 
 	/**
-	 * 初始化客户端
+	 * 鍒濆鍖栧鎴风
 	 */
 	@PostConstruct
 	private void init() {
@@ -127,7 +127,7 @@
 	}
 	
 	/**
-	 * 如果路径以 / 或 \ 开头,需要截取
+	 * 濡傛灉璺緞浠� / 鎴� \ 寮�澶达紝闇�瑕佹埅鍙�
 	 * @param destPath
 	 * @return
 	 */
@@ -139,7 +139,7 @@
 	}
 	
 	/**
-	 * 获取ContentType
+	 * 鑾峰彇ContentType
 	 * @param fileName
 	 * @return
 	 */
diff --git a/src/main/java/com/qxueyou/scc/sys/service/impl/PriviledgeService.java b/src/main/java/com/qxueyou/scc/sys/service/impl/PriviledgeService.java
index 1c34d74..615bf0b 100644
--- a/src/main/java/com/qxueyou/scc/sys/service/impl/PriviledgeService.java
+++ b/src/main/java/com/qxueyou/scc/sys/service/impl/PriviledgeService.java
@@ -25,9 +25,9 @@
 import com.qxueyou.scc.user.model.UserRole;
 
 /**
- * 系统权限服务
+ * 绯荤粺鏉冮檺鏈嶅姟
  * 
- * @author 德虎
+ * @author 寰疯檸
  *
  */
 @Service
@@ -43,7 +43,7 @@
 	@Override
 	public List<SysMenu> getPrivilegesMenus(String userId) {
 
-		// 获取当前用户角色ID, 过滤当前角色
+		// 鑾峰彇褰撳墠鐢ㄦ埛瑙掕壊ID, 杩囨护褰撳墠瑙掕壊
 		String currRoleId = null;
 		Short currOrgType = null;
 		if (null != ClientUtils.getUserInfo() && StringUtils.isNotBlank(ClientUtils.getOrgId())) {
@@ -52,13 +52,13 @@
 
 		List<SysMenu> firstLevelMenus = new ArrayList<SysMenu>(5);
 
-		// 获取该用户当前角色的所有菜单权限
+		// 鑾峰彇璇ョ敤鎴峰綋鍓嶈鑹茬殑鎵�鏈夎彍鍗曟潈闄�
 		List<SysMenu> allMenus = initAllMenus(currRoleId);
 
-		// 过滤出第一层及第二层菜单权限
+		// 杩囨护鍑虹涓�灞傚強绗簩灞傝彍鍗曟潈闄�
 		initFirstSecondMenu(allMenus, firstLevelMenus, currOrgType);
 
-		// 排序
+		// 鎺掑簭
 		sortMenuList(firstLevelMenus);
 
 		return firstLevelMenus;
@@ -73,7 +73,7 @@
 
 		allMenus.addAll(this.find(hql, CollectionUtils.newList(currRoleId), SysMenu.class));
 
-		// 如果是超管,菜单
+		// 濡傛灉鏄秴绠★紝鑿滃崟
 		if ("6".equals(currRoleId) && allMenus.isEmpty()) {
 			UserRole role = this.read(UserRole.class, "6");
 			allMenus = role.getMenus();
@@ -97,7 +97,7 @@
 				initSecondMenu(allMenus, secondMenus, childMenus, currOrgType);
 
 				if (!secondMenus.isEmpty()) {
-					// 排序
+					// 鎺掑簭
 					sortMenuList(secondMenus);
 					menu.setChildren(secondMenus);
 					firstLevelMenus.add(menu);
@@ -118,7 +118,7 @@
 
 			if (allMenus.contains(m)) {
 
-				// 非高校过滤掉
+				// 闈為珮鏍¤繃婊ゆ帀
 				if (currOrgType == null) {
 					continue;
 				}
@@ -129,7 +129,7 @@
 	}
 
 	/**
-	 * 获取已授权按钮列表,默认已经编辑过按钮权限的用户
+	 * 鑾峰彇宸叉巿鏉冩寜閽垪琛�,榛樿宸茬粡缂栬緫杩囨寜閽潈闄愮殑鐢ㄦ埛
 	 * 
 	 * @param name
 	 * @return
@@ -171,7 +171,7 @@
 
 				Integer order1 = (Integer) menu1.getMenuOrder();
 				Integer order2 = (Integer) menu2.getMenuOrder();
-				// 升序
+				// 鍗囧簭
 				return order1.compareTo(order2);
 			}
 		});
@@ -213,7 +213,7 @@
 	}
 
 	/*
-	 * 获取讲师直播关联的class
+	 * 鑾峰彇璁插笀鐩存挱鍏宠仈鐨刢lass
 	 * 
 	 */
 	@Override
@@ -228,12 +228,12 @@
 	}
 
 	/**
-	 * 助理讲师班级列表
+	 * 鍔╃悊璁插笀鐝骇鍒楄〃
 	 */
 	@SuppressWarnings({ "unchecked", "rawtypes" })
 	@Override
 	public List<ClsClass> getAssisTeacherClasses(String userId, String orgId) {
-		// 1、讲师助教
+		// 1銆佽甯堝姪鏁�
 		String hql = "select distinct  cls from MediaVideoLive live,OrgAssistantTeacher teacher , ClsClass cls "
 				+ "where live.anchorId = teacher.orgTeacherId " + "and live.classId = cls.classId "
 				+ "and teacher.userId= ? " + "and teacher.orgId= ? " + "and live.deleteFlag is false "
@@ -241,7 +241,7 @@
 
 		List<ClsClass> teacherList = find(hql, CollectionUtils.newList(userId, orgId), ClsClass.class);
 
-		// 2.班主任助教
+		// 2.鐝富浠诲姪鏁�
 		String hql2 = "select distinct  cls from OrgAssistantTeacher teacher , ClsClass cls "
 				+ "where teacher.orgTeacherId=cls.classChargerId " + "and teacher.classId = cls.classId "
 				+ "and teacher.userId= ? " + "and teacher.orgId= ? " + "and teacher.deleteFlag is false "
@@ -250,7 +250,7 @@
 		List<ClsClass> chargerList = find(hql2, CollectionUtils.newList(userId, orgId), ClsClass.class);
 
 		teacherList.addAll(chargerList);
-		// 去重
+		// 鍘婚噸
 		HashSet h = new HashSet(teacherList);
 		teacherList.clear();
 		teacherList.addAll(h);
@@ -259,7 +259,7 @@
 	}
 
 	/**
-	 * 新增list
+	 * 鏂板list
 	 * 
 	 * @param privileges
 	 * @return
@@ -288,14 +288,14 @@
 	}
 
 	/**
-	 * 删除list
+	 * 鍒犻櫎list
 	 * 
 	 * @param privileges
 	 * @return
 	 */
 	public Result deletePrivileges(String[] deleteMenuIds, String roleId) {
 
-		// 修改为使用update
+		// 淇敼涓轰娇鐢╱pdate
 		// bulkUpdateInLoop("update SysPrivilege set deleteFlag = true where roleId = '"
 		// + roleId + "' and menuId = ?", deleteMenuIds );
 		String hql = " from SysPrivilege where menuId in (:menuIds) and deleteFlag is false and roleId = :roleId ";
@@ -337,7 +337,7 @@
 
 		String maxRoleTypeStr = findUniqueByHql(hqlRole, CollectionUtils.newObjectMap("userId", user.getUserId()));
 		if (StringUtils.isBlank(maxRoleTypeStr)) {
-			return new Result(false, "该用户没有权限,登录失败");
+			return new Result(false, "璇ョ敤鎴锋病鏈夋潈闄�,鐧诲綍澶辫触");
 		}
 		Integer maxRoleType = Integer.valueOf(maxRoleTypeStr);
 		return new Result(true, "success", CollectionUtils.newObjectMap("menuLst", menuLst, "userName", user.getName(),
diff --git a/src/main/java/com/qxueyou/scc/sys/service/impl/SysAttachmentService.java b/src/main/java/com/qxueyou/scc/sys/service/impl/SysAttachmentService.java
index bccf540..4a927a8 100644
--- a/src/main/java/com/qxueyou/scc/sys/service/impl/SysAttachmentService.java
+++ b/src/main/java/com/qxueyou/scc/sys/service/impl/SysAttachmentService.java
@@ -20,7 +20,7 @@
 import com.qxueyou.scc.sys.service.ISysAttachmentService;
 
 /**
- * 数据库配置服务
+ * 鏁版嵁搴撻厤缃湇鍔�
  * @author kevin
  *
  */
@@ -60,14 +60,14 @@
 			attachement.setAttachmentType(0);
 			this.save(attachement);
 			
-			// 更新上传文件使用轨迹
+			// 鏇存柊涓婁紶鏂囦欢浣跨敤杞ㄨ抗
 			fileUploadService.updateUploadTrace(attachmentPath, "sys_attachment_file", SysFileUploadTrace.FILE_USE, attachement.getAttachmentId());			
 			result =new Result(true);
 			Map<String,Object> attrMap = new HashMap<String,Object>();
 			attrMap.put("attachmentId", attachement.getAttachmentId());
 			result.setData(attrMap);
 		} catch (Exception ex) {
-			logger.error("新增附件出错。。attachmentName="+attachmentName,ex);
+			logger.error("鏂板闄勪欢鍑洪敊銆傘�俛ttachmentName="+attachmentName,ex);
 		}
 		
 		return result;
@@ -79,9 +79,9 @@
 		SysAttachment tempAttach = null;
 		String[] arrAttachementId = null;
 		try {
-			// 保存到服务器
+			// 淇濆瓨鍒版湇鍔″櫒
 			if(StringUtils.isEmpty(attachementIds)){
-				return new Result(false,"参数错误,需要删除的附件不存在");
+				return new Result(false,"鍙傛暟閿欒锛岄渶瑕佸垹闄ょ殑闄勪欢涓嶅瓨鍦�");
 			}
 			
 			arrAttachementId = attachementIds.split(",");
@@ -93,7 +93,7 @@
 			}
 			result = new Result(true);
 		} catch (Exception ex) {
-			logger.error("删除附件出错。。attachementIds="+attachementIds,ex);
+			logger.error("鍒犻櫎闄勪欢鍑洪敊銆傘�俛ttachementIds="+attachementIds,ex);
 		}
 		return result;
 	}
diff --git a/src/main/java/com/qxueyou/scc/sys/service/impl/VideoOssService.java b/src/main/java/com/qxueyou/scc/sys/service/impl/VideoOssService.java
index db25f99..9c70b54 100644
--- a/src/main/java/com/qxueyou/scc/sys/service/impl/VideoOssService.java
+++ b/src/main/java/com/qxueyou/scc/sys/service/impl/VideoOssService.java
@@ -18,9 +18,9 @@
 import com.qxueyou.scc.sys.service.IOssVideoService;
 
 /**
- *上传服务
+ *涓婁紶鏈嶅姟
  * 
- * @author 德虎
+ * @author 寰疯檸
  * 
  */
 @Service
@@ -33,7 +33,7 @@
 	private static String resRootPath;
 
 	/**
-	 * 初始化客户端
+	 * 鍒濆鍖栧鎴风
 	 */
 	@PostConstruct
 	private void init() {
@@ -42,7 +42,7 @@
 
 
 	/**
-	 * 上传视频文件:
+	 * 涓婁紶瑙嗛鏂囦欢锛�
 	 */
 	public Result uplpadVideoFile(File file, String destPath) {
 		String fullPath = null;
@@ -61,7 +61,7 @@
 	}
 	
 	/**
-	 * 上传视频文件:
+	 * 涓婁紶瑙嗛鏂囦欢锛�
 	 */
 	public Result uplpadVideoFile(InputStream input,String fileFormat,long fileLength, String destPath) {
 		String fullPath = null;
@@ -108,7 +108,7 @@
 	}
 	
 	/**
-	 * 如果路径以 / 或 \ 开头,需要截取
+	 * 濡傛灉璺緞浠� / 鎴� \ 寮�澶达紝闇�瑕佹埅鍙�
 	 * @param destPath
 	 * @return
 	 */
diff --git a/src/main/java/com/qxueyou/scc/sys/utils/AudioUtil.java b/src/main/java/com/qxueyou/scc/sys/utils/AudioUtil.java
index 2f293bc..114a903 100644
--- a/src/main/java/com/qxueyou/scc/sys/utils/AudioUtil.java
+++ b/src/main/java/com/qxueyou/scc/sys/utils/AudioUtil.java
@@ -15,7 +15,7 @@
 
 
     /**
-     * 获取语音文件播放时长(秒) 支持wav 格式
+     * 鑾峰彇璇煶鏂囦欢鎾斁鏃堕暱(绉�) 鏀寔wav 鏍煎紡
      * @param filePath
      * @return
      */
@@ -39,7 +39,7 @@
     }
 
     /**
-     * 获取mp3语音文件播放时长(秒) mp3
+     * 鑾峰彇mp3璇煶鏂囦欢鎾斁鏃堕暱(绉�) mp3
      * @param filePath
      * @return
      */
@@ -58,7 +58,7 @@
 
 
     /**
-     * 获取mp3语音文件播放时长(秒)
+     * 鑾峰彇mp3璇煶鏂囦欢鎾斁鏃堕暱(绉�)
      * @param mp3File
      * @return
      */
@@ -77,21 +77,21 @@
 
 
     /**
-     * 得到pcm文件的毫秒数
+     * 寰楀埌pcm鏂囦欢鐨勬绉掓暟
      *
-     * pcm文件音频时长计算
-     * 同图像bmp文件一样,pcm文件保存的是未压缩的音频信息。 16bits 编码是指,每次采样的音频信息用2个字节保存。可以对比下bmp文件用分别用2个字节保存RGB颜色的信息。 16000采样率 是指 1秒钟采样 16000次。常见的音频是44100HZ,即一秒采样44100次。 单声道: 只有一个声道。
+     * pcm鏂囦欢闊抽鏃堕暱璁$畻
+     * 鍚屽浘鍍廱mp鏂囦欢涓�鏍凤紝pcm鏂囦欢淇濆瓨鐨勬槸鏈帇缂╃殑闊抽淇℃伅銆� 16bits 缂栫爜鏄寚锛屾瘡娆¢噰鏍风殑闊抽淇℃伅鐢�2涓瓧鑺備繚瀛樸�傚彲浠ュ姣斾笅bmp鏂囦欢鐢ㄥ垎鍒敤2涓瓧鑺備繚瀛楻GB棰滆壊鐨勪俊鎭�� 16000閲囨牱鐜� 鏄寚 1绉掗挓閲囨牱 16000娆°�傚父瑙佺殑闊抽鏄�44100HZ锛屽嵆涓�绉掗噰鏍�44100娆°�� 鍗曞0閬擄細 鍙湁涓�涓0閬撱��
      *
-     * 根据这些信息,我们可以计算: 1秒的16000采样率音频文件大小是 2*16000 = 32000字节 ,约为32K 1秒的8000采样率音频文件大小是 2*8000 = 16000字节 ,约为 16K
+     * 鏍规嵁杩欎簺淇℃伅锛屾垜浠彲浠ヨ绠楋細 1绉掔殑16000閲囨牱鐜囬煶棰戞枃浠跺ぇ灏忔槸 2*16000 = 32000瀛楄妭 锛岀害涓�32K 1绉掔殑8000閲囨牱鐜囬煶棰戞枃浠跺ぇ灏忔槸 2*8000 = 16000瀛楄妭 锛岀害涓� 16K
      *
-     * 如果已知录音时长,可以根据文件的大小计算采样率是否正常。
+     * 濡傛灉宸茬煡褰曢煶鏃堕暱锛屽彲浠ユ牴鎹枃浠剁殑澶у皬璁$畻閲囨牱鐜囨槸鍚︽甯搞��
      * @param filePath
      * @return
      */
     public static long getPCMDurationMilliSecond(String filePath) {
         File file = new File(filePath);
 
-        //得到多少秒
+        //寰楀埌澶氬皯绉�
         long second = file.length() / 32000 ;
 
         long milliSecond = Math.round((file.length() % 32000)   / 32000.0  * 1000 ) ;
diff --git a/src/main/java/com/qxueyou/scc/sys/utils/DrawingUtil.java b/src/main/java/com/qxueyou/scc/sys/utils/DrawingUtil.java
index a6e39fb..dd21cfa 100644
--- a/src/main/java/com/qxueyou/scc/sys/utils/DrawingUtil.java
+++ b/src/main/java/com/qxueyou/scc/sys/utils/DrawingUtil.java
@@ -20,40 +20,40 @@
 //		try {
 //			DrawingUtil.drawImage("D:\\IDEA\\spax_alibaba\\spax_alibaba_user\\src\\main\\resources\\static\\ca1.jpg",
 //					"D:\\IDEA\\spax_alibaba\\spax_alibaba_user\\src\\main\\resources\\static\\ca.jpg","D:\\IDEA\\spax_alibaba\\spax_alibaba_user\\src\\main\\resources\\static\\1.jpg"
-//					,"张三",
+//					,"寮犱笁",
 //					"123456",
-//					"深圳市保安员资格考试",
+//					"娣卞湷甯備繚瀹夊憳璧勬牸鑰冭瘯",
 //					"123456",
 //					"666",
-//					"圆融教育考试中心(深圳)",
-//					"圆融教育考试中心(深圳)考场16",
-//					"71区兴东众里创业社区3~5楼五楼502",
-//					"地铁5号线兴东站D出口(右转直行100米到达建设" +
-//							"工业园J栋兴东众里创业社区);驾车:导航" +
-//							"(圆融考试中心)可直达考场。无提供车位," +
-//							"建议公共交通出行。",
+//					"鍦嗚瀺鏁欒偛鑰冭瘯涓績锛堟繁鍦筹級",
+//					"鍦嗚瀺鏁欒偛鑰冭瘯涓績锛堟繁鍦筹級鑰冨満16",
+//					"71鍖哄叴涓滀紬閲屽垱涓氱ぞ鍖�3~5妤间簲妤�502",
+//					"鍦伴搧5鍙风嚎鍏翠笢绔橠鍑哄彛锛堝彸杞洿琛�100绫冲埌杈惧缓璁�" +
+//							"宸ヤ笟鍥璊鏍嬪叴涓滀紬閲屽垱涓氱ぞ鍖猴級;椹捐溅锛氬鑸�" +
+//							"锛堝渾铻嶈�冭瘯涓績锛夊彲鐩磋揪鑰冨満銆傛棤鎻愪緵杞︿綅锛�" +
+//							"寤鸿鍏叡浜ら�氬嚭琛屻��",
 //					"2016-02-02 9:00",
 //					"2016-02-02 9:00",
-//					"男");
+//					"鐢�");
 //		} catch (Exception e) {
 //			e.printStackTrace();
 //		}
 	}
 	/**
-	 * @param  img    图片路径
-	 * @param sImg   小图片  980x994
-	 * @param name,    姓名
-	 * @param card,   号码
-	 * @param cname,   科目
-	 * @param number,  证号
-	 * @param ID,       座位
-	 * @param sitename,     考站名称
-	 * @param ename,     考场名称
-	 * @param address,     考场地址
-	 * @param traffic,     考点交通
-	 * @param starttime,  开始
-	 * @param  endtime   结束
-	 * @param  sex    	性别
+	 * @param  img    鍥剧墖璺緞
+	 * @param sImg   灏忓浘鐗�  980x994
+	 * @param name,    濮撳悕
+	 * @param card,   鍙风爜
+	 * @param cname,   绉戠洰
+	 * @param number,  璇佸彿
+	 * @param ID,       搴т綅
+	 * @param sitename,     鑰冪珯鍚嶇О
+	 * @param ename,     鑰冨満鍚嶇О
+	 * @param address,     鑰冨満鍦板潃
+	 * @param traffic,     鑰冪偣浜ら��
+	 * @param starttime,  寮�濮�
+	 * @param  endtime   缁撴潫
+	 * @param  sex    	鎬у埆
 	 * */
 	public static void drawImage(String img,
 								 String sImg,
@@ -72,31 +72,31 @@
 								 String sex,
 								 OutputStream outputStream
 	) throws Exception {
-		//读入图片到内存
+		//璇诲叆鍥剧墖鍒板唴瀛�
 		InputStream is = DrawingUtil.class.getClassLoader().getResourceAsStream(img);
-		//创建JPEG解码器
+		//鍒涘缓JPEG瑙g爜鍣�
 		BufferedImage bufferImg = ImageIO.read(is);
 //		JPEGImageDecoder jpegDecoder = JPEGCodec.createJPEGDecoder(is);
-		//获取缓冲数据流
+		//鑾峰彇缂撳啿鏁版嵁娴�
 //		BufferedImage bufferImg = jpegDecoder.decodeAsBufferedImage();
-		//得到画笔对象
+		//寰楀埌鐢荤瑪瀵硅薄
 		Graphics g = bufferImg.getGraphics();
 
-		/*创建附加的小图片对象*/
+		/*鍒涘缓闄勫姞鐨勫皬鍥剧墖瀵硅薄*/
 //		ClassPathResource classP = new ClassPathResource(sImg);
 //		ImageIcon imgIcon=new ImageIcon(classP.getURL());
-//		//得到Image对象
+//		//寰楀埌Image瀵硅薄
 //		Image simg =imgIcon.getImage();
-//		//将小图片绘到大图片上,位置信息:(x,y)
+//		//灏嗗皬鍥剧墖缁樺埌澶у浘鐗囦笂,浣嶇疆淇℃伅:(x,y)
 //		g.drawImage(simg,1241,433,null);
 
 
-		//设置字体颜色
+		//璁剧疆瀛椾綋棰滆壊
 		g.setColor(new Color(78,76,75));//78,76,75
-		//字体、字体大小
-		Font f = new Font("微软雅黑", Font.PLAIN, 38);
+		//瀛椾綋銆佸瓧浣撳ぇ灏�
+		Font f = new Font("寰蒋闆呴粦", Font.PLAIN, 38);
 		g.setFont(f);
-		//图片上绘制字符串内容,位置信息(x,y)
+		//鍥剧墖涓婄粯鍒跺瓧绗︿覆鍐呭,浣嶇疆淇℃伅锛坸,y锛�
 		g.drawString(name, 500,489);
 		g.drawString(card, 500, 561);
 		g.drawString(cname, 500,629);
@@ -112,34 +112,34 @@
 		g.drawString(endtime, 500, 1405);
 		g.drawString(sex, 1081,489);
 		g.dispose();
-//		//输出新图片
+//		//杈撳嚭鏂板浘鐗�
 //		OutputStream out = new FileOutputStream(nImg);
-		//解析内存中的图像数据
+		//瑙f瀽鍐呭瓨涓殑鍥惧儚鏁版嵁
 //		JPEGImageEncoder en = JPEGCodec.createJPEGEncoder(outputStream);
 //		en.encode(bufferImg);
 		ImageIO.write(bufferImg, "jpeg", outputStream);
 
-		//关闭流
+		//鍏抽棴娴�
 		is.close();
 //		out.close();
 	}
 
 	/**
-	 *  根据宽度自动换行
-	 * @param fontSize 字体大小
-	 * @param beginX   开始X
-	 * @param beginY	开始Y
-	 * @param imgWidth  区域宽度
-	 * @param rowSpacing  行距
-	 * @param g			画笔
-	 * @param text		文本
+	 *  鏍规嵁瀹藉害鑷姩鎹㈣
+	 * @param fontSize 瀛椾綋澶у皬
+	 * @param beginX   寮�濮媂
+	 * @param beginY	寮�濮媃
+	 * @param imgWidth  鍖哄煙瀹藉害
+	 * @param rowSpacing  琛岃窛
+	 * @param g			鐢荤瑪
+	 * @param text		鏂囨湰
 	 */
 	public static void drawText(int fontSize,int beginX,int beginY,int imgWidth,int rowSpacing,Graphics g,String text){
-		//文字叠加,自动换行叠加
+		//鏂囧瓧鍙犲姞,鑷姩鎹㈣鍙犲姞
 		int tempX = beginX ;
 		int tempY = beginY ;
-		int tempCharLen = 0;//单字符长度
-		int tempLineLen = 0;//单行字符总长度临时计算
+		int tempCharLen = 0;//鍗曞瓧绗﹂暱搴�
+		int tempLineLen = 0;//鍗曡瀛楃鎬婚暱搴︿复鏃惰绠�
 		StringBuffer sb = new StringBuffer();
 		int textMaxWidth = imgWidth - 10;
 		for (int i = 0; i < text.length(); i++) {
@@ -147,14 +147,14 @@
 			tempCharLen = g.getFontMetrics(g.getFont()).charWidth(tempChar);
 			tempLineLen += tempCharLen;
 			if (tempLineLen >= textMaxWidth) {
-				//长度已经满一行,进行文字叠加
+				//闀垮害宸茬粡婊′竴琛�,杩涜鏂囧瓧鍙犲姞
 				g.drawString(sb.toString(), tempX, tempY);
-				sb.delete(0, sb.length());//清空内容,重新追加
+				sb.delete(0, sb.length());//娓呯┖鍐呭,閲嶆柊杩藉姞
 				tempY += (fontSize + rowSpacing);
 				tempLineLen = 0;
 			}
-			sb.append(tempChar);//追加字符
+			sb.append(tempChar);//杩藉姞瀛楃
 		}
-		g.drawString(sb.toString(), tempX, tempY);//最后叠加余下的文字
+		g.drawString(sb.toString(), tempX, tempY);//鏈�鍚庡彔鍔犱綑涓嬬殑鏂囧瓧
 	}
 }
diff --git a/src/main/java/com/qxueyou/scc/sys/utils/SpringContextHolder.java b/src/main/java/com/qxueyou/scc/sys/utils/SpringContextHolder.java
index ca31083..69ddaf8 100644
--- a/src/main/java/com/qxueyou/scc/sys/utils/SpringContextHolder.java
+++ b/src/main/java/com/qxueyou/scc/sys/utils/SpringContextHolder.java
@@ -11,12 +11,12 @@
 public class SpringContextHolder implements ApplicationContextAware {
 
     /**
-     * 以静态变量保存ApplicationContext,可在任意代码中取出ApplicaitonContext.
+     * 浠ラ潤鎬佸彉閲忎繚瀛楢pplicationContext,鍙湪浠绘剰浠g爜涓彇鍑篈pplicaitonContext.
      */
     private static ApplicationContext context;
 
     /**
-     * 实现ApplicationContextAware接口的context注入函数, 将其存入静态变量.
+     * 瀹炵幇ApplicationContextAware鎺ュ彛鐨刢ontext娉ㄥ叆鍑芥暟, 灏嗗叾瀛樺叆闈欐�佸彉閲�.
      */
 
     @Override
@@ -25,7 +25,7 @@
     }
 
     /**
-     * 获取applicationContext
+     * 鑾峰彇applicationContext
      * @return
      */
     public ApplicationContext getApplicationContext() {
@@ -33,7 +33,7 @@
     }
 
     /**
-     * 通过name获取 Bean.
+     * 閫氳繃name鑾峰彇 Bean.
      * @param name
      * @return
      */
@@ -42,7 +42,7 @@
     }
 
     /**
-     * 通过class获取Bean.
+     * 閫氳繃class鑾峰彇Bean.
      * @param <T>
      * @param clazz
      * @return
@@ -52,7 +52,7 @@
     }
 
     /**
-     * 通过class获取Bean.
+     * 閫氳繃class鑾峰彇Bean.
      * @param clazz
      * @param <T>
      * @return
@@ -62,7 +62,7 @@
     }
 
     /**
-     * 通过name,以及Clazz返回指定的Bean
+     * 閫氳繃name,浠ュ強Clazz杩斿洖鎸囧畾鐨凚ean
      * @param name
      * @param clazz
      * @param <T>
diff --git a/src/main/java/com/qxueyou/scc/sys/utils/VideoUtil.java b/src/main/java/com/qxueyou/scc/sys/utils/VideoUtil.java
index 2bfd73d..54ff647 100644
--- a/src/main/java/com/qxueyou/scc/sys/utils/VideoUtil.java
+++ b/src/main/java/com/qxueyou/scc/sys/utils/VideoUtil.java
@@ -10,9 +10,9 @@
 
 
     /**
-     * 获取视频文件的播放长度(mp4、mov格式)
+     * 鑾峰彇瑙嗛鏂囦欢鐨勬挱鏀鹃暱搴�(mp4銆乵ov鏍煎紡)
      * @param videoPath
-     * @return 单位为毫秒
+     * @return 鍗曚綅涓烘绉�
      */
     public static long getMp4Duration(String videoPath) throws IOException {
         IsoFile isoFile = new IsoFile(videoPath);
@@ -24,7 +24,7 @@
 
 
     /**
-     * 得到语音或视频文件时长,单位秒
+     * 寰楀埌璇煶鎴栬棰戞枃浠舵椂闀�,鍗曚綅绉�
      * @param filePath
      * @return
      * @throws IOException
@@ -48,7 +48,7 @@
     }
 
     /**
-     * 得到语音或视频文件时长,单位秒
+     * 寰楀埌璇煶鎴栬棰戞枃浠舵椂闀�,鍗曚綅绉�
      * @param filePath
      * @return
      * @throws IOException
@@ -72,7 +72,7 @@
 
 
     /**
-     * 得到文件格式
+     * 寰楀埌鏂囦欢鏍煎紡
      * @param path
      * @return
      */
diff --git a/src/main/java/com/qxueyou/scc/teach/live/model/MediaVideoLive.java b/src/main/java/com/qxueyou/scc/teach/live/model/MediaVideoLive.java
index 3de2cd5..d825713 100644
--- a/src/main/java/com/qxueyou/scc/teach/live/model/MediaVideoLive.java
+++ b/src/main/java/com/qxueyou/scc/teach/live/model/MediaVideoLive.java
@@ -35,7 +35,7 @@
 
 
 /**
- * 视频直播表  实体
+ * 瑙嗛鐩存挱琛�  瀹炰綋
  * @author ody.yuan
  *
  */
@@ -52,236 +52,236 @@
 	 */
 	private static final long serialVersionUID = -313139100670956005L;
 
-	/** 草稿,新增直播默认状态 */
+	/** 鑽夌,鏂板鐩存挱榛樿鐘舵�� */
 	public static final short STATUS_LIVE_DRAFT = 0;
 	
-	/** 预告,当前不在直播状态 */
+	/** 棰勫憡,褰撳墠涓嶅湪鐩存挱鐘舵�� */
 	public static final short STATUS_LIVE_ORDER = 1;
 	
-	/** 直播 中,正在直播*/
+	/** 鐩存挱 涓紝姝e湪鐩存挱*/
 	public static final short STATUS_LIVE_LIVE = 2;
 	
-	/** 回放  */
+	/** 鍥炴斁  */
 	public static final short STATUS_LIVE_REVIEW = 3;
 	
-	/** 废弃,后台查询不到网易直播的房间信息状态 */
+	/** 搴熷純锛屽悗鍙版煡璇笉鍒扮綉鏄撶洿鎾殑鎴块棿淇℃伅鐘舵�� */
 	public static final short STATUS_LIVE_TAKEOFF = 4;
 	
-	/** 暂停 ,直播中的暂停状态*/
+	/** 鏆傚仠 锛岀洿鎾腑鐨勬殏鍋滅姸鎬�*/
 	public static final short STATUS_LIVE_PAUSE = 5;
 	
-	/** 回放下载中 ,下载完成后才是回放状态*/
+	/** 鍥炴斁涓嬭浇涓� 锛屼笅杞藉畬鎴愬悗鎵嶆槸鍥炴斁鐘舵��*/
 	public static final short STATUS_LIVE_DOWNLOAD = 6;
 	
-	/** 回放下载失败*/
+	/** 鍥炴斁涓嬭浇澶辫触*/
 	public static final short STATUS_LIVE_DOWNLOAD_ERROR = 8;
 	
-	/** 回放下载成功*/
+	/** 鍥炴斁涓嬭浇鎴愬姛*/
 	public static final short STATUS_LIVE_DOWNLOAD_SUCCESS = 7;
 	
-	/** 停止直播*/
+	/** 鍋滄鐩存挱*/
 	public static final short STATUS_LIVE_STOP = 9;
 	
-	/** 待编辑状态*/
+	/** 寰呯紪杈戠姸鎬�*/
 	public static final short STATUS_LIVE_PREPARED = 10;
 	
-	/** 预处理失败*/
+	/** 棰勫鐞嗗け璐�*/
 	public static final short STATUS_LIVE_PREPARE_FAILD = 11;
 	
-	/** 编辑准备中*/
+	/** 缂栬緫鍑嗗涓�*/
 	public static final short STATUS_LIVE_PREPARED_READY = 12;
 
-	/** 仅限班级 */
+	/** 浠呴檺鐝骇 */
 	public static final String PERMISSION_STATUS_LIMITCLASS = "limitClass";
 	
-	/** 公开 */
+	/** 鍏紑 */
 	public static final String PERMISSION_STATUS_PUBLIC = "public";
 	
-	/** 仅限机构 */
+	/** 浠呴檺鏈烘瀯 */
 	public static final String PERMISSION_STATUS_LIMITORG = "limitOrg";
 	
-	/** 预约观看 */
+	/** 棰勭害瑙傜湅 */
 	public static final String PERMISSION_STATUS_ORDERWATCH = "orderWatch";
 	
-	/** 直播 */
+	/** 鐩存挱 */
 	public static final int TYPE_LIVE_LIVE = 1;
 	
-	/** 回放 */
+	/** 鍥炴斁 */
 	public static final int TYPE_LIVE_DOWNLOAD = 2;
 	
-	/**  主键 */
+	/**  涓婚敭 */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="VIDEO_LIVE_ID", unique=true, nullable=false, length=32)
 	private String videoLiveId;
 	
-	/**  创建者ID */
+	/**  鍒涘缓鑰匢D */
 	@Column(name="CREATE_ID", length=32)
 	private String createId;
 	
-	/**  创建时间 */
+	/**  鍒涘缓鏃堕棿 */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date createTime;
 	
-	/**  创建人 */
+	/**  鍒涘缓浜� */
 	@Column(name="CREATOR", length=100)
 	private String creator;
 	
-	/**  删除标志 */
+	/**  鍒犻櫎鏍囧織 */
 	@Column(name="DELETE_FLAG", nullable=false)
 	private boolean deleteFlag;
 	
-	/**  是否自动生成回放(0、是,1、否。默认为0) */
+	/**  鏄惁鑷姩鐢熸垚鍥炴斁锛�0銆佹槸锛�1銆佸惁銆傞粯璁や负0锛� */
 	@Column(name="EDIT_REPLAY_FLAG", nullable=false)
 	private boolean editReplayFlag;
 	
-	/**  修改人ID */
+	/**  淇敼浜篒D */
 	@Column(name="UPDATE_ID", length=32)
 	private String updateId;
 	
-	/**  修改时间 */
+	/**  淇敼鏃堕棿 */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date updateTime;
 	
-	/**  修改人 */
+	/**  淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	private String updator;
 	
-	/**  名称 */
+	/**  鍚嶇О */
 	@Column(name="NAME", length=128)
 	private String name;
 	
-	/**  状态 1:预告 2 直播  3 回放 4 废弃 */
+	/**  鐘舵�� 1:棰勫憡 2 鐩存挱  3 鍥炴斁 4 搴熷純 */
 	@Column(name="STATUS")
 	private short status;
 	
-	/**  直播人ID */
+	/**  鐩存挱浜篒D */
 	@Column(name="ANCHOR_ID", length=32)
 	private String anchorId;
 	
-	/**  直播人 */
+	/**  鐩存挱浜� */
 	@Column(name="ANCHOR", length=128)
 	private String anchor;
 	
-	/**  预告图片URL  */
+	/**  棰勫憡鍥剧墖URL  */
 	@Column(name="PREVIEW_IMG_URL",length=256)
 	private String previewImgUrl;
 	
-	/**  咨询图片URL  */
+	/**  鍜ㄨ鍥剧墖URL  */
 	@Column(name="CONSULT_IMG_URL",length=256)
 	private String consultImgUrl;
 	
-	/**  预告片视频URL  */
+	/**  棰勫憡鐗囪棰慤RL  */
 	@Column(name="PREVIEW_VIDEO_URL",length=256)
 	private String previewVideoUrl;
 	
-	/**  预约次数  */
+	/**  棰勭害娆℃暟  */
 	@Column(name="ORDER_TIMES")
 	private Integer orderTimes;
 	
-	/**  直播观看人次  */
+	/**  鐩存挱瑙傜湅浜烘  */
 	@Column(name="WATCH_TIMES")
 	private Integer watchTimes;
 	
-	/**  点赞人次  */
+	/**  鐐硅禐浜烘  */
 	@Column(name="PRAISE_TIMES")
 	private Integer praiseTimes;
 	
-	/**  直播最高观看人次  */
+	/**  鐩存挱鏈�楂樿鐪嬩汉娆�  */
 	@Column(name="WATCH_MAX_TIMES")
 	private Integer watchMaxTimes;
 	
-	/**  回放次数  */
+	/**  鍥炴斁娆℃暟  */
 	@Column(name="REVIEW_TIMES")
 	private Integer reviewTimes;
 	
-	/**  报名人数上限  */
+	/**  鎶ュ悕浜烘暟涓婇檺  */
 	@Column(name="WATCHER_LIMIT")
 	private Integer watcherLimit;
 	
-	/**  备注详情 */
+	/**  澶囨敞璇︽儏 */
 	@Column(name="REMARK", length=16777215)
 	private String remark;
 	
-	/** 直播预计开始时间  */
+	/** 鐩存挱棰勮寮�濮嬫椂闂�  */
 	@Column(name="START_TIME")
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
 	private Date startTime;
 	
-	/** 直播预计结束时间  */
+	/** 鐩存挱棰勮缁撴潫鏃堕棿  */
 	@Column(name="END_TIME")
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
 	private Date endTime;
 	
-	/** 是否按时开始直播,误差5分钟内  */
+	/** 鏄惁鎸夋椂寮�濮嬬洿鎾紝璇樊5鍒嗛挓鍐�  */
 	@Column(name="ON_TIME_FLAG")
 	private boolean onTimeFlag;
 
-	/** 是否有完成直播  */
+	/** 鏄惁鏈夊畬鎴愮洿鎾�  */
 	@Column(name="COMPLETE_FLAG")
 	private boolean completeFlag;
 	
-	/** 腾讯云房间号码  */
+	/** 鑵捐浜戞埧闂村彿鐮�  */
 	@Column(name="TECENT_LIVE_NUMBER", length=128)
 	private String tecentLiveNumber;
 	
-	/** 网易云信房间号码  */
+	/** 缃戞槗浜戜俊鎴块棿鍙风爜  */
 	@Column(name="WY_LIVE_NUMBER", length=128)
 	private String wyLiveNumber;
 	
-	/** 网易云信直播推流url  */
+	/** 缃戞槗浜戜俊鐩存挱鎺ㄦ祦url  */
 	@Column(name="WY_PUSH_URL", length=128)
 	private String pushUrl;
 	
-	/** 网易云信直播拉流:httpPullUrl   */
+	/** 缃戞槗浜戜俊鐩存挱鎷夋祦锛歨ttpPullUrl   */
 	@Column(name="WY_HTTP_PULL_URL", length=128)
 	private String httpPullUrl;
 	
-	/** 网易云信直播拉流:hlsPullUrl    */
+	/** 缃戞槗浜戜俊鐩存挱鎷夋祦锛歨lsPullUrl    */
 	@Column(name="WY_HLS_PULL_URL", length=128)
 	private String hlsPullUrl;
 	
-	/** 网易云信直播拉流:rtmpPullUrl   */
+	/** 缃戞槗浜戜俊鐩存挱鎷夋祦锛歳tmpPullUrl   */
 	@Column(name="WY_RTMP_PULL_URL", length=128)
 	private String rtmpPullUrl;
 	
-	/**  权限:limitClass:仅限班级  public:公开  orderWatch:预约观看  limitOrg:仅限机构  */
+	/**  鏉冮檺锛歭imitClass锛氫粎闄愮彮绾�  public锛氬叕寮�  orderWatch:棰勭害瑙傜湅  limitOrg:浠呴檺鏈烘瀯  */
 	@Column(name="PERMISSION", length=32)
 	private String permission;
 	
-	/** 清晰度  LD:流畅  SD:标清   HD:高清  */
+	/** 娓呮櫚搴�  LD:娴佺晠  SD:鏍囨竻   HD:楂樻竻  */
 	@Column(name="DEFINITION", length=32)
 	private String definition;
 	
-	/** 预计时长  单位:分钟  */
+	/** 棰勮鏃堕暱  鍗曚綅锛氬垎閽�  */
 	@Column(name="EXPECTED_TIMES")
 	private Integer expectedTimes;
 	
-	/** 实际播放时长   单位:秒   */
+	/** 瀹為檯鎾斁鏃堕暱   鍗曚綅锛氱   */
 	@Column(name="PLAY_TIMES")
 	private BigInteger playTimes;
 
-	/** 分享次数  */
+	/** 鍒嗕韩娆℃暟  */
 	@Column(name="SHARE_TIMES")
 	private BigInteger shareTimes;
 	
-	/** 扩展字段(显示异常、预处理失败及进度条)  */
+	/** 鎵╁睍瀛楁锛堟樉绀哄紓甯搞�侀澶勭悊澶辫触鍙婅繘搴︽潯锛�  */
 	@Column(name="ATTRIBUTE")
 	private String attribute;
 	
-	/** 网易状态回调,记录最后录制时间 */
+	/** 缃戞槗鐘舵�佸洖璋冿紝璁板綍鏈�鍚庡綍鍒舵椂闂� */
 	@Column(name="LAST_RECORD_TIME")
 	@JsonIgnore
 	private long lastRecordTime;
 	
-	/**  唐桥会议id */
+	/**  鍞愭ˉ浼氳id */
 	@Column(name="TQ_MEETING_ID", length=32)
 	private String meetingId;
 	
-	/**  唐桥加入课堂密码 */
+	/**  鍞愭ˉ鍔犲叆璇惧爞瀵嗙爜 */
 	@Column(name="TQ_MEETING_PWD", length=32)
 	private String meetingPwd;
 	
diff --git a/src/main/java/com/qxueyou/scc/teach/live/model/MediaVideoLiveClip.java b/src/main/java/com/qxueyou/scc/teach/live/model/MediaVideoLiveClip.java
index 9cfaf87..cb21f77 100644
--- a/src/main/java/com/qxueyou/scc/teach/live/model/MediaVideoLiveClip.java
+++ b/src/main/java/com/qxueyou/scc/teach/live/model/MediaVideoLiveClip.java
@@ -17,7 +17,7 @@
 
 
 /**
- * 剪辑片段
+ * 鍓緫鐗囨
  * The persistent class for the media_video_live_clip database table.
  * 
  */
@@ -27,61 +27,61 @@
 public class MediaVideoLiveClip implements Serializable, ITrace {
 	private static final long serialVersionUID = 1L;
 
-	/**  主键 */
+	/**  涓婚敭 */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="clip_id")
 	private String clipId;
 
-	/** 创建人ID */
+	/** 鍒涘缓浜篒D */
 	@Column(name="CREATE_ID")
 	private String createId;
 
-	/**  创建时间 */
+	/**  鍒涘缓鏃堕棿 */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date createTime;
 
-	/**  创建人 */
+	/**  鍒涘缓浜� */
 	private String creator;
 
-	/**  修改人ID */
+	/**  淇敼浜篒D */
 	@Column(name="UPDATE_ID")
 	private String updateId;
 
-	/**  修改时间 */
+	/**  淇敼鏃堕棿 */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date updateTime;
 
-	/**  修改人  */
+	/**  淇敼浜�  */
 	private String updator;
 	
-	/**  删除标志 */
+	/**  鍒犻櫎鏍囧織 */
 	@Column(name="DELETE_FLAG")
 	private boolean deleteFlag;
 
-	/**  时长 */
+	/**  鏃堕暱 */
 	private Integer duration;
 
-	/**  版本ID */
+	/**  鐗堟湰ID */
 	@Column(name="VERSION_ID")
 	private String versionId;
 
-	/** 开始时间 */
+	/** 寮�濮嬫椂闂� */
 	@Column(name="BEGIN_TIME")
 	private Integer beginTime;
 
-	/** 结束时间 */
+	/** 缁撴潫鏃堕棿 */
 	@Column(name="end_Time")
 	private Integer endTime;
 	
-	/** 片段编号 */
+	/** 鐗囨缂栧彿 */
 	@Column(name="clip_num")
 	private int clipNum;
 	
-	/**  直播ID */
+	/**  鐩存挱ID */
 	@Column(name="video_live_id")
 	private String videoLiveId;
 
diff --git a/src/main/java/com/qxueyou/scc/teach/live/model/MediaVideoLiveClipVer.java b/src/main/java/com/qxueyou/scc/teach/live/model/MediaVideoLiveClipVer.java
index 1ffc827..d6b8b11 100644
--- a/src/main/java/com/qxueyou/scc/teach/live/model/MediaVideoLiveClipVer.java
+++ b/src/main/java/com/qxueyou/scc/teach/live/model/MediaVideoLiveClipVer.java
@@ -17,7 +17,7 @@
 
 
 /**
- * 剪辑版本
+ * 鍓緫鐗堟湰
  * 
  * The persistent class for the media_video_live_clip_ver database table.
  * 
@@ -28,54 +28,54 @@
 public class MediaVideoLiveClipVer implements Serializable, ITrace {
 	private static final long serialVersionUID = 1L;
 
-	/**  是否最新版本 : 1、最新版本  2、旧版本  **/
+	/**  鏄惁鏈�鏂扮増鏈� 锛� 1銆佹渶鏂扮増鏈�  2銆佹棫鐗堟湰  **/
 	public static final short ISNEW_NEW = 1;
 	public static final short ISNEW_OLD = 2;
 	
-	/**  主键 */
+	/**  涓婚敭 */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="version_id")
 	private String versionId;
 
-	/** 创建人ID */
+	/** 鍒涘缓浜篒D */
 	@Column(name="CREATE_ID")
 	private String createId;
 
-	/**  创建时间 */
+	/**  鍒涘缓鏃堕棿 */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date createTime;
 
-	/** 创建人 */
+	/** 鍒涘缓浜� */
 	private String creator;
 
-	/**  修改人ID */
+	/**  淇敼浜篒D */
 	@Column(name="UPDATE_ID")
 	private String updateId;
 
-	/**  创建时间 */
+	/**  鍒涘缓鏃堕棿 */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date updateTime;
 
-	/**  修改人 */
+	/**  淇敼浜� */
 	private String updator;
 	
-	/**  删除标志 */
+	/**  鍒犻櫎鏍囧織 */
 	@Column(name="DELETE_FLAG")
 	private boolean deleteFlag;
 
-	/**  是否最新版本 */
+	/**  鏄惁鏈�鏂扮増鏈� */
 	@Column(name="is_new")
 	private short isNew;
 
-	/**  版本编号 */
+	/**  鐗堟湰缂栧彿 */
 	@Column(name="version_no")
 	private String versionNo;
 
-	/**  直播ID */
+	/**  鐩存挱ID */
 	@Column(name="video_live_id")
 	private String videoLiveId;
 
diff --git a/src/main/java/com/qxueyou/scc/teach/live/model/MediaVideoLiveExtend.java b/src/main/java/com/qxueyou/scc/teach/live/model/MediaVideoLiveExtend.java
index 40cf6c4..9843308 100644
--- a/src/main/java/com/qxueyou/scc/teach/live/model/MediaVideoLiveExtend.java
+++ b/src/main/java/com/qxueyou/scc/teach/live/model/MediaVideoLiveExtend.java
@@ -16,7 +16,7 @@
 
 
 /**
- * 视频直播扩展表
+ * 瑙嗛鐩存挱鎵╁睍琛�
  * @author zhiyong
  *
  */
@@ -29,7 +29,7 @@
 	 */
 	private static final long serialVersionUID = 4933960856649570706L;
 
-	/**  主键 */
+	/**  涓婚敭 */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
@@ -39,80 +39,80 @@
 	@Column(name="VIDEO_LIVE_ID", length=32)
 	private String videoLiveId;
 	
-	/**  用户IP */
+	/**  鐢ㄦ埛IP */
 	@Column(name="USER_IP", length=32)
 	private String userIp;
 	
-	/** 流名  */
+	/** 娴佸悕  */
 	@Column(name="TQ_STREAM_NAME", length=64)
 	private String streamName;
 	
-	/** 用户显示名  */
+	/** 鐢ㄦ埛鏄剧ず鍚�  */
 	@Column(name="TQ_USER_DISPLAY_NAME", length=64)
 	private String userDisplayName;
 	
-	/** 主持人密码。默认值123456 */
+	/** 涓绘寔浜哄瘑鐮併�傞粯璁ゅ��123456 */
 	@Column(name="TQ_HOST_PWD", length=32)
 	private String hostPwd;
 	
-	/** pc端访问地址 */
+	/** pc绔闂湴鍧� */
 	@Column(name="TQ_activeX_Url", length=1024)
 	private String activeXUrl;
 	
-	/**  课堂私密性属性 (默认是1)1:公开课堂2:内部课堂3:私密课堂  */
+	/**  璇惧爞绉佸瘑鎬у睘鎬� 锛堥粯璁ゆ槸1锛�1锛氬叕寮�璇惧爞2锛氬唴閮ㄨ鍫�3锛氱瀵嗚鍫�  */
 	@Column(name="TQ_MEETING_CONTROL")
 	private Integer meetingControl;
 	
-	/**  课堂类型(默认是3)1:培训模式 2:大会模式 3:讨论模式  */
+	/**  璇惧爞绫诲瀷锛堥粯璁ゆ槸3锛�1锛氬煿璁ā寮� 2锛氬ぇ浼氭ā寮� 3锛氳璁烘ā寮�  */
 	@Column(name="TQ_MEETING_TYPE")
 	private Integer meetingType;
 	
-	/** 课堂锁定状态//1 锁定 0 未锁定*/
+	/** 璇惧爞閿佸畾鐘舵��//1 閿佸畾 0 鏈攣瀹�*/
 	@Column(name="TQ_MEETING_LOCK")
 	private Integer meetingLock;
 	
-	/**  老师可以提前进入课堂的时间  */
+	/**  鑰佸笀鍙互鎻愬墠杩涘叆璇惧爞鐨勬椂闂�  */
 	@Column(name="TQ_ALLOW_STARTTIME")
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
 	private Date allowStartTime;
 	
-	/** 提示老师课堂即将强制结束的时间  */
+	/** 鎻愮ず鑰佸笀璇惧爞鍗冲皢寮哄埗缁撴潫鐨勬椂闂�  */
 	@Column(name="TQ_ALERT_TIME")
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
 	private Date alertTime;
 	
-	/** 课堂强制结束的时间  */
+	/** 璇惧爞寮哄埗缁撴潫鐨勬椂闂�  */
 	@Column(name="TQ_FORCE_ENDTIME")
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
 	private Date forceEndTime;
 	
-	/**  创建者ID */
+	/**  鍒涘缓鑰匢D */
 	@Column(name="CREATE_ID", length=32)
 	private String createId;
 	
-	/**  创建时间 */
+	/**  鍒涘缓鏃堕棿 */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date createTime;
 	
-	/**  创建人 */
+	/**  鍒涘缓浜� */
 	@Column(name="CREATOR", length=100)
 	private String creator;
 	
-	/**  删除标志 */
+	/**  鍒犻櫎鏍囧織 */
 	@Column(name="DELETE_FLAG", nullable=false)
 	private boolean deleteFlag;
 	
-	/**  修改人ID */
+	/**  淇敼浜篒D */
 	@Column(name="UPDATE_ID", length=32)
 	private String updateId;
 	
-	/**  修改时间 */
+	/**  淇敼鏃堕棿 */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date updateTime;
 	
-	/**  修改人 */
+	/**  淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	private String updator;
 
diff --git a/src/main/java/com/qxueyou/scc/teach/live/model/MediaVideoLiveOrder.java b/src/main/java/com/qxueyou/scc/teach/live/model/MediaVideoLiveOrder.java
index a04a277..91894cb 100644
--- a/src/main/java/com/qxueyou/scc/teach/live/model/MediaVideoLiveOrder.java
+++ b/src/main/java/com/qxueyou/scc/teach/live/model/MediaVideoLiveOrder.java
@@ -17,7 +17,7 @@
 
 
 /**
- * 直播-用户预约表  实体
+ * 鐩存挱-鐢ㄦ埛棰勭害琛�  瀹炰綋
  * @author ody.yuan
  *
  */
@@ -31,57 +31,57 @@
 	 */
 	private static final long serialVersionUID = -1315180569787136077L;
 
-	/**  主键 */
+	/**  涓婚敭 */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="VIDEO_ORDER_ID", unique=true, nullable=false, length=32)
 	private String videoOrderId;
 	
-	/**  预约的直播ID */
+	/**  棰勭害鐨勭洿鎾璉D */
 	@Column(name="LIVE_VIDEO_ID", length=32)
 	private String liveVideoId;
 	
-	/**  预约直播用户ID */
+	/**  棰勭害鐩存挱鐢ㄦ埛ID */
 	@Column(name="ORDER_USER_ID", length=32)
 	private String orderUserId;
 	
-	/**  预约直播结果,是否成功 */
+	/**  棰勭害鐩存挱缁撴灉锛屾槸鍚︽垚鍔� */
 	@Column(name="ORDER_FLAG")
 	private boolean orderFlag;
 	
-	/**  预约发生时间 */
+	/**  棰勭害鍙戠敓鏃堕棿 */
 	@Column(name="ORDER_TIME")
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date orderTime;
 	
-	/**  创建者ID */
+	/**  鍒涘缓鑰匢D */
 	@Column(name="CREATE_ID", length=32)
 	private String createId;
 	
-	/**  创建时间 */
+	/**  鍒涘缓鏃堕棿 */
 	@Column(name="CREATE_TIME")
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date createTime;
 	
-	/**  创建人 */
+	/**  鍒涘缓浜� */
 	@Column(name="CREATOR", length=100)
 	private String creator;
 	
-	/**  删除标志 */
+	/**  鍒犻櫎鏍囧織 */
 	@Column(name="DELETE_FLAG", nullable=false)
 	private boolean deleteFlag;
 	
-	/**  修改人ID */
+	/**  淇敼浜篒D */
 	@Column(name="UPDATE_ID", length=32)
 	private String updateId;
 	
-	/**  修改时间 */
+	/**  淇敼鏃堕棿 */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date updateTime;
 	
-	/**  修改人 */
+	/**  淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	private String updator;
 
diff --git a/src/main/java/com/qxueyou/scc/teach/live/model/MediaVideoLiveRecord.java b/src/main/java/com/qxueyou/scc/teach/live/model/MediaVideoLiveRecord.java
index 3e156d1..bae40af 100644
--- a/src/main/java/com/qxueyou/scc/teach/live/model/MediaVideoLiveRecord.java
+++ b/src/main/java/com/qxueyou/scc/teach/live/model/MediaVideoLiveRecord.java
@@ -22,107 +22,107 @@
 	 */
 	private static final long serialVersionUID = 1L;
 	
-	/** 直播 */
+	/** 鐩存挱 */
 	public static final int RECORD_LIVE = 1;
 	
-	/** 回放 */
+	/** 鍥炴斁 */
 	public static final int RECORD_PLAY_BACK = 2;
 
-	/**  主键 */
+	/**  涓婚敭 */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="VIDEO_RECORD_ID", unique=true, nullable=false, length=32)
 	private String videoRecordId;
 	
-	/**  创建者ID */
+	/**  鍒涘缓鑰匢D */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	private String createId;
 	
-	/**  创建时间 */
+	/**  鍒涘缓鏃堕棿 */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date createTime;
 	
-	/**  创建人 */
+	/**  鍒涘缓浜� */
 	@Column(name="CREATOR", nullable=false, length=100)
 	private String creator;
 	
-	/**  删除标志 */
+	/**  鍒犻櫎鏍囧織 */
 	@Column(name="DELETE_FLAG", nullable=false)
 	private boolean deleteFlag;
 	
-	/**  修改人ID */
+	/**  淇敼浜篒D */
 	@Column(name="UPDATE_ID", length=32)
 	private String updateId;
 	
-	/**  修改时间 */
+	/**  淇敼鏃堕棿 */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date updateTime;
 	
-	/**  修改人 */
+	/**  淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	private String updator;
 	
-	/**  机构ID */
+	/**  鏈烘瀯ID */
 	@Column(name="ORG_ID",length=32)
 	private String orgId;
 	
-	/**  班级ID */
+	/**  鐝骇ID */
 	@Column(name="CLASS_ID",length=32)
 	private String classId;
 	
-	/**  视频ID */
+	/**  瑙嗛ID */
 	@Column(name="VIDEO_ID",length=32)
 	private String videoId;
 	
-	/**  直播ID */
+	/**  鐩存挱ID */
 	@Column(name="LIVE_ID",length=32)
 	private String liveId;
 	
-	/**  用户ID */
+	/**  鐢ㄦ埛ID */
 	@Column(name="USER_ID",length=32)
 	private String userId;
 	
-	/**  记录类型(1 直播  2 回放)*/
+	/**  璁板綍绫诲瀷锛�1 鐩存挱  2 鍥炴斁锛�*/
 	@Column(name="TYPE",length=1)
 	private Integer type;
-	/**  观看进度 (观看视频的进度) */
+	/**  瑙傜湅杩涘害 (瑙傜湅瑙嗛鐨勮繘搴�) */
 	@Column(name="WATCH_TIME",length=11)
 	private Integer watchTime;
 	
-	/** 离开时间 */
+	/** 绂诲紑鏃堕棿 */
 	@Column(name="LEAVE_TIME")
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date leaveTime;
 	
-	/** 播放时间()*/
+	/** 鎾斁鏃堕棿()*/
 	@Column(name="PLAY_TIME")
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date playTime;
 	
-	/**  网络 */
+	/**  缃戠粶 */
 	@Column(name="NETWORK",length=15)
 	private String network;
 	
-	/**  平台 */
+	/**  骞冲彴 */
 	@Column(name="PLATFORM",length=15)
 	private String platform;
 	
-	/**  版本 */
+	/**  鐗堟湰 */
 	@Column(name="VERSION",length=15)
 	private String version;
 	
-	/**  机型 */
+	/**  鏈哄瀷 */
 	@Column(name="model",length=50)
 	private String model;
 	
-	/**  app版本 */
+	/**  app鐗堟湰 */
 	@Column(name="APP_VERSION",length=15)
 	private String appVersion;
 	
-	/**  运营商 */
+	/**  杩愯惀鍟� */
 	@Column(name="OPERATOR",length=15)
 	private String operator;
 
diff --git a/src/main/java/com/qxueyou/scc/teach/live/model/MediaVideoLiveReplay.java b/src/main/java/com/qxueyou/scc/teach/live/model/MediaVideoLiveReplay.java
index 80b1923..23ebc9d 100644
--- a/src/main/java/com/qxueyou/scc/teach/live/model/MediaVideoLiveReplay.java
+++ b/src/main/java/com/qxueyou/scc/teach/live/model/MediaVideoLiveReplay.java
@@ -18,7 +18,7 @@
 
 
 /**
- * 直播回放 - 原视频
+ * 鐩存挱鍥炴斁 - 鍘熻棰�
  * 
  * @author lihanqi
  *
@@ -34,108 +34,108 @@
 	public static final short LIVE_REPLAY_CONSTANT_1 = 1;
 	public static final short LIVE_REPLAY_CONSTANT_2 = 2;
 	
-	/**  主键 */
+	/**  涓婚敭 */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="LIVE_REPLAY_ID", unique=true, nullable=false, length=32)
 	private String liveReplayId;
 	
-	/** 创建人ID */
+	/** 鍒涘缓浜篒D */
 	@Column(name="CREATE_ID", length=32)
 	private String createId;
 	
-	/**  创建时间 */
+	/**  鍒涘缓鏃堕棿 */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date createTime;
 	
-	/**  创建人 */
+	/**  鍒涘缓浜� */
 	@Column(name="CREATOR", length=100)
 	private String creator;
 	
-	/**  删除标志 */
+	/**  鍒犻櫎鏍囧織 */
 	@Column(name="DELETE_FLAG", nullable=false)
 	private boolean deleteFlag;
 	
-	/**  修改人ID */
+	/**  淇敼浜篒D */
 	@Column(name="UPDATE_ID", length=32)
 	private String updateId;
 	
-	/**  修改时间 */
+	/**  淇敼鏃堕棿 */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date updateTime;
 	
-	/**  修改人 */
+	/**  淇敼浜� */
 	@Column(name="UPDATOR", length=100)
 	private String updator;
 	
-	/**  名称 */
+	/**  鍚嶇О */
 	@Column(name="NAME", length=128)
 	private String name;
 	
-	/**  简称 */
+	/**  绠�绉� */
 	@Column(name="SHORT_NAME", length=32)
 	private String shortName;
 	
-	/** 状态(是否参与裁剪:0参与,1不参与 。默认参与) */
+	/** 鐘舵�侊紙鏄惁鍙備笌瑁佸壀锛�0鍙備笌锛�1涓嶅弬涓� 銆傞粯璁ゅ弬涓庯級 */
 	@Column(name="STATUS")
 	private short status;
 	
-	/** 视频来源:0网易1上传*/
+	/** 瑙嗛鏉ユ簮锛�0缃戞槗1涓婁紶*/
 	@Column(name="DATA_SOURCE")
 	private int dataSource;
 	
-	/** 视频排序 */
+	/** 瑙嗛鎺掑簭 */
 	@Column(name="ORDER_NO")
 	private int orderNo;
 	
-	/**  下载状态:是否下载中 */
+	/**  涓嬭浇鐘舵�侊細鏄惁涓嬭浇涓� */
 	@Column(name="DOWN_LOAD_FLAG")
 	private short downLoadFlag;
 	
-	/** 关联直播id */
+	/** 鍏宠仈鐩存挱id */
 	@Column(name="VIDEO_LIVE_ID", length=32)
 	private String videoLiveId;
 	
-	/** 关联网易直播id */
+	/** 鍏宠仈缃戞槗鐩存挱id */
 	@Column(name="WY_LIVE_NUMBER", length=32)
 	private String wyLiveNumber;
 	
-	/** 网易用户id */
+	/** 缃戞槗鐢ㄦ埛id */
 	@Column(name="WY_UID", length=32)
 	private String wyUid;
 	
-	/** 网易点播视频id主键 */
+	/** 缃戞槗鐐规挱瑙嗛id涓婚敭 */
 	@Column(name="WY_VID", length=32)
 	private String wyVid;
 	
-	/** 播放地址 */
+	/** 鎾斁鍦板潃 */
 	@Column(name="URL", length=255)
 	private String url;
 	
-	/** 视频开始时间 */
+	/** 瑙嗛寮�濮嬫椂闂� */
 	@Column(name="BEGIN_TIME", length=15)
 	private long beginTime;
 	
-	/** 视频结束时间 */
+	/** 瑙嗛缁撴潫鏃堕棿 */
 	@Column(name="end_Time", length=15)
 	private long endTime;
 	
-	/** 时长 */
+	/** 鏃堕暱 */
 	@Column(name="duration", length=15)
 	private long duration;
 	
-	/** 视频大小 */
+	/** 瑙嗛澶у皬 */
 	@Column(name="INITIAL_SIZE", length=10)
 	private long initialSize;
 	
-	/**  是否下载中 */
+	/**  鏄惁涓嬭浇涓� */
 	@Transient
 	private Long downLoadSize;
 	
-	/**  第一张缩略图  */
+	/**  绗竴寮犵缉鐣ュ浘  */
 	@Transient
 	private String imgUrl;
 
diff --git a/src/main/java/com/qxueyou/scc/teach/live/model/MediaVideoLiveReplayReClip.java b/src/main/java/com/qxueyou/scc/teach/live/model/MediaVideoLiveReplayReClip.java
index c0017bf..ef9b2ea 100644
--- a/src/main/java/com/qxueyou/scc/teach/live/model/MediaVideoLiveReplayReClip.java
+++ b/src/main/java/com/qxueyou/scc/teach/live/model/MediaVideoLiveReplayReClip.java
@@ -17,7 +17,7 @@
 
 
 /**
- * 剪辑明细  实体类
+ * 鍓緫鏄庣粏  瀹炰綋绫�
  * 
  */
 @Entity
@@ -26,64 +26,64 @@
 public class MediaVideoLiveReplayReClip implements Serializable, ITrace {
 	private static final long serialVersionUID = 1L;
 
-	/**  主键 */
+	/**  涓婚敭 */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="re_id")
 	private String reId;
 	
-	/**  截取对应的片段id */
+	/**  鎴彇瀵瑰簲鐨勭墖娈礽d */
 	@Column(name="clip_id")
 	private String clipId;
 
-	/** 创建人ID */
+	/** 鍒涘缓浜篒D */
 	@Column(name="CREATE_ID")
 	private String createId;
 
-	/**  创建时间 */
+	/**  鍒涘缓鏃堕棿 */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date createTime;
 
-	/**  创建人 */
+	/**  鍒涘缓浜� */
 	private String creator;
 
-	/**  修改人ID */
+	/**  淇敼浜篒D */
 	@Column(name="UPDATE_ID")
 	private String updateId;
 
-	/** 修改时间 */
+	/** 淇敼鏃堕棿 */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date updateTime;
 
-	/**  修改人 */
+	/**  淇敼浜� */
 	private String updator;
 	
-	/**  删除标志 */
+	/**  鍒犻櫎鏍囧織 */
 	@Column(name="DELETE_FLAG")
 	private boolean deleteFlag;
 
 	private Integer duration;
 
-	/** 开始时间 */
+	/** 寮�濮嬫椂闂� */
 	@Column(name="begin_time")
 	private Integer beginTime;
 	
-	/** 结束时间 */
+	/** 缁撴潫鏃堕棿 */
 	@Column(name="end_time")
 	private Integer endTime;
 
-	/** 排序 */
+	/** 鎺掑簭 */
 	@Column(name="order_no")
 	private int orderNo;
 
-	/** 回放-原视频Id */
+	/** 鍥炴斁-鍘熻棰慖d */
 	@Column(name="replay_id")
 	private String replayId;
 
-	/** 直播Id */
+	/** 鐩存挱Id */
 	@Column(name="video_live_id")
 	private String videoLiveId;
 
diff --git a/src/main/java/com/qxueyou/scc/teach/live/service/IMediaLiveService.java b/src/main/java/com/qxueyou/scc/teach/live/service/IMediaLiveService.java
index b8d75bc..de7b42a 100644
--- a/src/main/java/com/qxueyou/scc/teach/live/service/IMediaLiveService.java
+++ b/src/main/java/com/qxueyou/scc/teach/live/service/IMediaLiveService.java
@@ -9,144 +9,144 @@
 public interface IMediaLiveService {
 	
 	/**
-	 * 新增直播
-	 * @param name 直播名称
-	 * @param content 直播介绍
-	 * @param imgPath 封面图片路径
-	 * @param startTime 开始时间
-	 * @param endTime 结束时间
-	 * @param record 是否录制
-	 * @param classId 班级ids
+	 * 鏂板鐩存挱
+	 * @param name 鐩存挱鍚嶇О
+	 * @param content 鐩存挱浠嬬粛
+	 * @param imgPath 灏侀潰鍥剧墖璺緞
+	 * @param startTime 寮�濮嬫椂闂�
+	 * @param endTime 缁撴潫鏃堕棿
+	 * @param record 鏄惁褰曞埗
+	 * @param classId 鐝骇ids
 	 * @return
 	 */
 	Result add(String name,String content,String teacherId,String teacherName,String subjectId,String subjectName,String definition,String imgPath,Date startTime,Date endTime,boolean record,List<String> classIds);
 	
 	/**
-	 * 查询直播
-	 * @param liveId 直播Id
+	 * 鏌ヨ鐩存挱
+	 * @param liveId 鐩存挱Id
 	 * @return
 	 */
 	MediaVideoLive read(String liveId);
 	
 	/**
-	 * 查询直播
-	 * @param noticeId 直播Id
+	 * 鏌ヨ鐩存挱
+	 * @param noticeId 鐩存挱Id
 	 * @return
 	 */
 	List<MediaVideoLive> readByStatus(List<String> liveIdLst,short[] status);
 	
 	/**
-	 * 查询直播
-	 * @param keyword 查询关键字
-	 * @param pageNum 页码
-	 * @param pageSize 每页数据大小
+	 * 鏌ヨ鐩存挱
+	 * @param keyword 鏌ヨ鍏抽敭瀛�
+	 * @param pageNum 椤电爜
+	 * @param pageSize 姣忛〉鏁版嵁澶у皬
 	 * @return
 	 */
 	List<MediaVideoLive> listOfMine(String keyword,Integer pageNum, Integer pageSize);
 	
 	/**
-	 * 查询直播总数
-	 * @param keyword 查询关键字
+	 * 鏌ヨ鐩存挱鎬绘暟
+	 * @param keyword 鏌ヨ鍏抽敭瀛�
 	 * @return
 	 */
 	int listCountOfMine(String keyword);
 	
 	/**
-	 * 查询直播
-	 * @param keyword 查询关键字
-	 * @param pageNum 页码
-	 * @param pageSize 每页数据大小
+	 * 鏌ヨ鐩存挱
+	 * @param keyword 鏌ヨ鍏抽敭瀛�
+	 * @param pageNum 椤电爜
+	 * @param pageSize 姣忛〉鏁版嵁澶у皬
 	 * @return
 	 */
 	List<MediaVideoLive> list(String keyword,String[] classIds,String subjectId,Short status,Integer pageNum, Integer pageSize);
 	
 	/**
-	 * 查询直播总数
-	 * @param keyword 查询关键字
+	 * 鏌ヨ鐩存挱鎬绘暟
+	 * @param keyword 鏌ヨ鍏抽敭瀛�
 	 * @return
 	 */
 	int listCount(String keyword,String [] classIds,String subjectId,Short status);
 	
 	/**
-	 * 修改直播
-	 * @param liveId 直播ID
-	 * @param name 直播名称
-	 * @param content 直播介绍
-	 * @param teacherId 直播讲师ID
-	 * @param teacherName 直播讲师名称
-	 * @param subjectId   直播课程ID
-	 * @param subjectName 直播课程名称
-	 * @param definition  清晰度
-	 * @param imgPath 封面图片路径
-	 * @param startTime 开始时间
-	 * @param endTime 结束时间
-	 * @param record 是否录制
-	 * @param classId 班级ids
+	 * 淇敼鐩存挱
+	 * @param liveId 鐩存挱ID
+	 * @param name 鐩存挱鍚嶇О
+	 * @param content 鐩存挱浠嬬粛
+	 * @param teacherId 鐩存挱璁插笀ID
+	 * @param teacherName 鐩存挱璁插笀鍚嶇О
+	 * @param subjectId   鐩存挱璇剧▼ID
+	 * @param subjectName 鐩存挱璇剧▼鍚嶇О
+	 * @param definition  娓呮櫚搴�
+	 * @param imgPath 灏侀潰鍥剧墖璺緞
+	 * @param startTime 寮�濮嬫椂闂�
+	 * @param endTime 缁撴潫鏃堕棿
+	 * @param record 鏄惁褰曞埗
+	 * @param classId 鐝骇ids
 	 * @return
 	 */
 	Result update(String liveId,String name,String content,String teacherId,String teacherName,String subjectId,String subjectName,String definition,String imgPath,Date startTime,Date endTime,boolean record,List<String> classIds);
 	
 	/**
-	 * 删除直播
-	 * @param liveId 直播ID
+	 * 鍒犻櫎鐩存挱
+	 * @param liveId 鐩存挱ID
 	 * @return
 	 */
 	Result delete(String liveId);
 	
 	/**
-	 * 删除直播
-	 * @param liveId 直播ID数组
+	 * 鍒犻櫎鐩存挱
+	 * @param liveId 鐩存挱ID鏁扮粍
 	 * @return
 	 */
 	Result delete(String[] liveIds);
 	
 	/**
-	 * 发布直播
-	 * @param liveId 直播ID
+	 * 鍙戝竷鐩存挱
+	 * @param liveId 鐩存挱ID
 	 * @return
 	 */
 	Result doIssue(String liveId);
 	
 	/**
-	 * 取消直播
-	 * @param liveId 直播ID
+	 * 鍙栨秷鐩存挱
+	 * @param liveId 鐩存挱ID
 	 * @return
 	 */
 	Result doCancel(String liveId);
 	
 	
 	/**
-	 * 发布直播
-	 * @param liveId 直播ID
+	 * 鍙戝竷鐩存挱
+	 * @param liveId 鐩存挱ID
 	 * @return
 	 */
 	Result doStart(String liveId);
 	
 	/**
-	 * 取消直播
-	 * @param liveId 直播ID
+	 * 鍙栨秷鐩存挱
+	 * @param liveId 鐩存挱ID
 	 * @return
 	 */
 	Result doPause(String liveId);
 	
 	/**
-	 * 取消直播
-	 * @param liveId 直播ID
+	 * 鍙栨秷鐩存挱
+	 * @param liveId 鐩存挱ID
 	 * @return
 	 */
 	Result doStop(String liveId);
 	
 	/**
-	 * 读取直播班级
-	 * @param liveId 直播ID
+	 * 璇诲彇鐩存挱鐝骇
+	 * @param liveId 鐩存挱ID
 	 * @return
 	 */
 	List<String> getLiveClasses(String liveId);
 	
 	
 	/**
-	 * 点赞直播
-	 * @param liveId 直播ID
+	 * 鐐硅禐鐩存挱
+	 * @param liveId 鐩存挱ID
 	 * @return
 	 */
 	Result doPraise(String liveId);
diff --git a/src/main/java/com/qxueyou/scc/teach/live/service/IMediaVideoLivePlayBackService.java b/src/main/java/com/qxueyou/scc/teach/live/service/IMediaVideoLivePlayBackService.java
index 45b3bb7..238e312 100644
--- a/src/main/java/com/qxueyou/scc/teach/live/service/IMediaVideoLivePlayBackService.java
+++ b/src/main/java/com/qxueyou/scc/teach/live/service/IMediaVideoLivePlayBackService.java
@@ -5,21 +5,21 @@
 import com.qxueyou.scc.teach.live.model.MediaVideoLiveReplay;
 
 /**
- * 直播回放处理相关操作
+ * 鐩存挱鍥炴斁澶勭悊鐩稿叧鎿嶄綔
  * @author kevin
  *
  */
 public interface IMediaVideoLivePlayBackService {
 	
 	/**
-	 * 查询回放列表
+	 * 鏌ヨ鍥炴斁鍒楄〃
 	 * @param videoLiveId
 	 * @return
 	 */
 	List<MediaVideoLiveReplay> queryVideoLiveReplay(String videoLiveId);
 
 	/**
-	 * 测试直播回放
+	 * 娴嬭瘯鐩存挱鍥炴斁
 	 * @param liveId
 	 */
 	void testPlayBack(String liveId);
diff --git a/src/main/java/com/qxueyou/scc/teach/live/service/impl/MediaLiveService.java b/src/main/java/com/qxueyou/scc/teach/live/service/impl/MediaLiveService.java
index 437a80d..b095a0e 100644
--- a/src/main/java/com/qxueyou/scc/teach/live/service/impl/MediaLiveService.java
+++ b/src/main/java/com/qxueyou/scc/teach/live/service/impl/MediaLiveService.java
@@ -84,7 +84,7 @@
 		
 		save(live);
 		
-		//保存直播权限班级
+		//淇濆瓨鐩存挱鏉冮檺鐝骇
 		if(classIds!=null && classIds.size()>0){
 			this.doClearAndAddLiveReClass(live.getVideoLiveId(), classIds.toArray(new String[classIds.size()]));
 		}
@@ -108,7 +108,7 @@
 		
 		save(live);
 		
-		//更新班级课程关联关系
+		//鏇存柊鐝骇璇剧▼鍏宠仈鍏崇郴
 		this.doClearAndAddLiveReClass(live.getVideoLiveId(), classIds!=null?classIds.toArray(new String[classIds.size()]):null);
 		
 		
@@ -118,7 +118,7 @@
 	}
 	
 	/**
-	 * 清理并添加直播权限班级
+	 * 娓呯悊骞舵坊鍔犵洿鎾潈闄愮彮绾�
 	 * @param liveId
 	 * @param classIds
 	 */
@@ -126,7 +126,7 @@
 		List<String>  reIdLst =  this.find("select r.liveReClassId from MediaVideoLiveReClass r where r.liveId=?",
 					CollectionUtils.newList(liveId), String.class);
 
-		//删除关联关系
+		//鍒犻櫎鍏宠仈鍏崇郴
 		if(reIdLst!=null && reIdLst.size()>0){
 			this.bulkUpdateInLoop("delete from MediaVideoLiveReClass  where liveReClassId=?", reIdLst.toArray());  
 		}
@@ -167,13 +167,13 @@
 	@Override
 	public Result doIssue(String liveId) {
 		status(liveId,MediaVideoLive.STATUS_LIVE_ORDER);
-		doSendMsg(liveId,MsgInfo.TYPE_LIVE,"发布了直播");
+		doSendMsg(liveId,MsgInfo.TYPE_LIVE,"鍙戝竷浜嗙洿鎾�");
 		return new Result(true);
 	}
 	
 	private void doSendMsg(String liveId,short type,String msg){
 		MediaVideoLive  liveInfo = this.read(liveId);
-		//查询直播关联的班级
+		//鏌ヨ鐩存挱鍏宠仈鐨勭彮绾�
 		String hql = "select s.userId from MediaVideoLiveReClass m,StuStudent s where m.classId=s.classId and m.liveId=? and m.deleteFlag is false and s.deleteFlag is false";
 		
 		List<String> lstUserIds = this.find(hql, CollectionUtils.newList(liveId),String.class);
@@ -188,7 +188,7 @@
 	
 	@Scheduled(cron = " 0 0/5 * * * ?")
 	protected void doTimer() {
-//		System.out.println("执行直播提醒定时器");
+//		System.out.println("鎵ц鐩存挱鎻愰啋瀹氭椂鍣�");
 		Calendar cal = Calendar.getInstance();
 		cal.add(Calendar.HOUR, 1);
 		Date beginDate = cal.getTime();
@@ -196,13 +196,13 @@
 		cal.add(Calendar.MINUTE, 5);
 		Date endDate = cal.getTime();
 
-		//查询1小时内将开始的直播
+		//鏌ヨ1灏忔椂鍐呭皢寮�濮嬬殑鐩存挱
  		List<MediaVideoLive> lstLives = this.find("from MediaVideoLive where startTime>=? and startTime<? and status=? and deleteFlag is false ", 
  				CollectionUtils.newList(beginDate,endDate,MediaVideoLive.STATUS_LIVE_REVIEW), MediaVideoLive.class);
 		
 		if(lstLives!=null && lstLives.size()>0){
 			for(MediaVideoLive live:lstLives){
-				this.doLiveRemindMsg(live.getVideoLiveId(),MsgInfo.TYPE_REMIND, "直播马上开始了,请做好直播准备");
+				this.doLiveRemindMsg(live.getVideoLiveId(),MsgInfo.TYPE_REMIND, "鐩存挱椹笂寮�濮嬩簡锛岃鍋氬ソ鐩存挱鍑嗗");
 			}
 		}
 	}
@@ -238,7 +238,7 @@
 
 	@Override
 	public Result doStop(String liveId) {
-		//发送生成回放消息
+		//鍙戦�佺敓鎴愬洖鏀炬秷鎭�
 		cacheService.lstRightPush(MediaVideoLivePlayBackService.LIVE_PLAYBACK_LST, liveId);
 		
 		return status(liveId,MediaVideoLive.STATUS_LIVE_DOWNLOAD);
diff --git a/src/main/java/com/qxueyou/scc/teach/live/service/impl/MediaVideoLivePlayBackService.java b/src/main/java/com/qxueyou/scc/teach/live/service/impl/MediaVideoLivePlayBackService.java
index 628cdd4..695706e 100644
--- a/src/main/java/com/qxueyou/scc/teach/live/service/impl/MediaVideoLivePlayBackService.java
+++ b/src/main/java/com/qxueyou/scc/teach/live/service/impl/MediaVideoLivePlayBackService.java
@@ -1,8 +1,8 @@
 /******************************************************************************
  * Copyright (C) 2015 Shenzhen Penguin Network Technology Co., Ltd
  * All Rights Reserved.
- * 本软件为深圳市企鹅网络科技有限公司开发研制。未经本公司正式书面同意,其他任何个人、团体
- * 不得使用、复制、修改或发布本软件.
+ * 鏈蒋浠朵负娣卞湷甯備紒楣呯綉缁滅鎶�鏈夐檺鍏徃寮�鍙戠爺鍒躲�傛湭缁忔湰鍏徃姝e紡涔﹂潰鍚屾剰锛屽叾浠栦换浣曚釜浜恒�佸洟浣�
+ * 涓嶅緱浣跨敤銆佸鍒躲�佷慨鏀规垨鍙戝竷鏈蒋浠�.
  *****************************************************************************/
 
 package com.qxueyou.scc.teach.live.service.impl;
@@ -43,10 +43,10 @@
 	
 	private static final Logger log = LogManager.getLogger(MediaVideoLivePlayBackService.class);
 	
-	//直播回放队列
+	//鐩存挱鍥炴斁闃熷垪
 	public static final String LIVE_PLAYBACK_LST = "LIVE_PLAYBACK_LST";
 	
-	//直播回放全局锁
+	//鐩存挱鍥炴斁鍏ㄥ眬閿�
 	public static final String  LIVE_PLAYBACK_LOCK = "LIVE_PLAYBACK_LOCK";
 	
 	@Autowired
@@ -68,7 +68,7 @@
 		return this.find(hql.toString(),params, MediaVideoLiveReplay.class);
 	}
 	
-	//生成回放(需修改为晚上2:00 开始执行)
+	//鐢熸垚鍥炴斁(闇�淇敼涓烘櫄涓�2:00 寮�濮嬫墽琛�)
 	@Scheduled(cron = " 0 0/2 * * * ?")
 	protected void doTimer(){
 		if(this.lock()){
@@ -80,7 +80,7 @@
 					return ;
 				}
 				
-				//判断是否是回放状态
+				//鍒ゆ柇鏄惁鏄洖鏀剧姸鎬�
 				MediaVideoLive live = this.read(MediaVideoLive.class, liveId);
 				
 				if(live.getStatus()==MediaVideoLive.STATUS_LIVE_DOWNLOAD){
@@ -89,12 +89,12 @@
 					
 					this.doVideoLivePlayBack(live);
 					
-					//更新状态
+					//鏇存柊鐘舵��
 					live.setStatus(MediaVideoLive.STATUS_LIVE_REVIEW);
 					this.save(live);
 				}	
 			} catch (Exception e) {
-				//重新处理
+				//閲嶆柊澶勭悊
 				if(StringUtils.isNotEmpty(liveId)){
 					cacheService.lstRightPush(LIVE_PLAYBACK_LST,liveId);
 				}
@@ -106,19 +106,19 @@
 	
 	@Override
 	public  void testPlayBack(String liveId){
-		//判断是否是回放状态
+		//鍒ゆ柇鏄惁鏄洖鏀剧姸鎬�
 		MediaVideoLive live = this.read(MediaVideoLive.class, liveId);
 		
 		if(live.getStatus()==MediaVideoLive.STATUS_LIVE_DOWNLOAD){
 			try {
 				this.doVideoLivePlayBack(live);
 				
-				//更新状态
+				//鏇存柊鐘舵��
 				live.setStatus(MediaVideoLive.STATUS_LIVE_REVIEW);
 				this.save(live);
 				
 			} catch (Exception e) {
-				//重新处理
+				//閲嶆柊澶勭悊
 				cacheService.lstRightPush(LIVE_PLAYBACK_LST,liveId);
 			}
 		}
@@ -126,7 +126,7 @@
 	
 	
 	public void doVideoLivePlayBack(MediaVideoLive videoLive) throws Exception{
-		//读取原文件
+		//璇诲彇鍘熸枃浠�
 		File srcRootFile = new File(cfg.getSrcLivePath());
 	    
 		String[] fileNames=  srcRootFile.list(new FilenameFilter(){
@@ -138,7 +138,7 @@
 		
 		 log.info("doVideoLivePlayBack fileNames: "+fileNames==null?"xxx":Arrays.toString(fileNames));
 		
-		//排序
+		//鎺掑簭
 		Arrays.sort(fileNames, new Comparator<String>(){
 			@Override
 			public int compare(String o1, String o2) {
@@ -149,47 +149,47 @@
 			}
 		});
 	   
-	   //读取
+	   //璇诲彇
 		if(fileNames!=null && fileNames.length>0){
 		   short order = 1 ;
 		   for(String srcFileName:fileNames){
 			   log.info("doCreateVideoLiveReplay srcFileName: "+srcFileName);
-			   doCreateVideoLiveReplay(videoLive,srcFileName,order++); //生成回放
+			   doCreateVideoLiveReplay(videoLive,srcFileName,order++); //鐢熸垚鍥炴斁
 		   }
 		}
 		
-		//清理源文件
+		//娓呯悊婧愭枃浠�
 		if(fileNames!=null && fileNames.length>0){
 			for(String srcFileName:fileNames){
-				log.info("删除原文件:filePath"+srcRootFile.getAbsolutePath().concat(File.separator).concat(srcFileName));
+				log.info("鍒犻櫎鍘熸枃浠讹細filePath"+srcRootFile.getAbsolutePath().concat(File.separator).concat(srcFileName));
 				FileUtils.deleteQuietly(new File(srcRootFile.getAbsolutePath().concat(File.separator).concat(srcFileName)));
 			}
 		}
 	}
 	
 	
-	//生成VideoLiveReplay信息
+	//鐢熸垚VideoLiveReplay淇℃伅
 	private String doCreateVideoLiveReplay(MediaVideoLive videoLive,String srcFileName,short order) throws Exception{
-		//视频文件后缀
+		//瑙嗛鏂囦欢鍚庣紑
 		String mediaSuffix = srcFileName.substring(srcFileName.lastIndexOf("."));
 		
-		//回放地址
+		//鍥炴斁鍦板潃
 		String dstPath =this.generateDstPath(videoLive.getVideoLiveId(), mediaSuffix);
 		
 		File srcFile = new File(cfg.getSrcLivePath() + srcFileName);
 		
 		File dstFileDir = new File(cfg.getResRootPath().concat(dstPath)).getParentFile();
 		
-		//创建目录
+		//鍒涘缓鐩綍
 		dstFileDir.mkdirs();
 		
-		log.info("开始生成  doCreateVideoLiveReplay:  srcFile"+srcFile.getAbsolutePath());
+		log.info("寮�濮嬬敓鎴�  doCreateVideoLiveReplay:  srcFile"+srcFile.getAbsolutePath());
 		
 		String dstFile =  this.convertFlvToMp4(srcFile, dstFileDir);	
 		
-		log.info("结束生成  doCreateVideoLiveReplay:  dstFile"+ dstFile);
+		log.info("缁撴潫鐢熸垚  doCreateVideoLiveReplay:  dstFile"+ dstFile);
 		
-		//获取视频时长
+		//鑾峰彇瑙嗛鏃堕暱
 		long playTime = this.getMediaPlayTime(srcFile.getAbsolutePath());
 		
 		MediaVideoLiveReplay liveReplay = new MediaVideoLiveReplay();
@@ -210,7 +210,7 @@
 	
 
 	/**
-	 * 获取文件目标路径
+	 * 鑾峰彇鏂囦欢鐩爣璺緞
 	 * 
 	 * @param name
 	 * @return
@@ -244,28 +244,28 @@
 	}
 	
 	private String convertFlvToMp4(File srcFile,File dstFile) throws Exception{
-		// 获取直播视频片段信息
+		// 鑾峰彇鐩存挱瑙嗛鐗囨淇℃伅
 		FfmpegFileVO videoFileVO = new FfmpegFileVO();
 		videoFileVO.setInputPath(srcFile.getPath());
 
-		// 转码视频
+		// 杞爜瑙嗛
 		videoFileVO.setOutputPath(dstFile.getPath() + File.separator);
 		
 		return FfmpegMediaHelper.converUploadVideoToLiveMp4(videoFileVO, new FfmpegVideoInfo());
 		
-		//copy备份原片段(暂不备份)
+		//copy澶囦唤鍘熺墖娈�(鏆備笉澶囦唤)
 //		FileUtils.copyFile(srcFile, dstFile); 
 	}	
 	
 	
-	//格式: d72de336c7ed45beb14641a79074f9bb-1541497652-rec ,  时间戳单位: 秒
+	//鏍煎紡锛� d72de336c7ed45beb14641a79074f9bb-1541497652-rec 锛�  鏃堕棿鎴冲崟浣�: 绉�
 	private Long getStartTime(String filePath){
 		return Long.valueOf(filePath.split("-")[1]);  
 	}	
 	
 	private boolean lock(){
 		 boolean lockResult = redisTemplate.opsForValue().setIfAbsent(LIVE_PLAYBACK_LOCK, "lock");
-		 //可能发生死锁,需要手动清除锁
+		 //鍙兘鍙戠敓姝婚攣锛岄渶瑕佹墜鍔ㄦ竻闄ら攣
 		 if(lockResult==true){
 			 redisTemplate.expire(LIVE_PLAYBACK_LOCK, 6, TimeUnit.HOURS);
 		 }		 
diff --git a/src/main/java/com/qxueyou/scc/teach/live/utils/FfmpegFileVO.java b/src/main/java/com/qxueyou/scc/teach/live/utils/FfmpegFileVO.java
index 49aed4a..72d969a 100644
--- a/src/main/java/com/qxueyou/scc/teach/live/utils/FfmpegFileVO.java
+++ b/src/main/java/com/qxueyou/scc/teach/live/utils/FfmpegFileVO.java
@@ -9,10 +9,10 @@
 	 */
 	private static final long serialVersionUID = 1L;
 
-	/**文件输入路径*/
+	/**鏂囦欢杈撳叆璺緞*/
     private String inputPath = "";
     
-    /**文件输出路径*/
+    /**鏂囦欢杈撳嚭璺緞*/
     private String outputPath = "";
 
 	public String getInputPath() {
diff --git a/src/main/java/com/qxueyou/scc/teach/live/utils/FfmpegMediaHelper.java b/src/main/java/com/qxueyou/scc/teach/live/utils/FfmpegMediaHelper.java
index e5ec4f6..040a31e 100644
--- a/src/main/java/com/qxueyou/scc/teach/live/utils/FfmpegMediaHelper.java
+++ b/src/main/java/com/qxueyou/scc/teach/live/utils/FfmpegMediaHelper.java
@@ -16,44 +16,44 @@
 import com.qxueyou.scc.teach.live.utils.FfmpegVideoInfo;
 
 /**
- * 视频转码类
+ * 瑙嗛杞爜绫�
  * @author cyq
  *
  */
 public class FfmpegMediaHelper {
 	/**
-	 * 实例化log
+	 * 瀹炰緥鍖杔og
 	 */
 	private static final Logger log = LogManager.getLogger(FfmpegMediaHelper.class);
 
 	/**
-	 * 高清码率
+	 * 楂樻竻鐮佺巼
 	 */
 	private static int bitRateHd = 800 * 1024;
 	/**
-	 * 标清码率
+	 * 鏍囨竻鐮佺巼
 	 */
 	private static int bitRateSd = 400 * 1024;
 	/**
-	 * 低清码率
+	 * 浣庢竻鐮佺巼
 	 */
 	private static int bitRateLd = 200 * 1024;
 	/**
-	 * 转mp4的固定命令
+	 * 杞琺p4鐨勫浐瀹氬懡浠�
 	 */
 	private static List<String> commandMp4 = new ArrayList<String>(10);
 	/**
-	 * 转m3u8的固定命令
+	 * 杞琺3u8鐨勫浐瀹氬懡浠�
 	 */
 	private static String commandM3u8;
 
 	/**
-	 * 是否为视频
+	 * 鏄惁涓鸿棰�
 	 */
 	private static Boolean videoFlag = false;
 
 	/**
-	 * 转mp4
+	 * 杞琺p4
 	 * @param fileVO
 	 * @param videoInfo
 	 * @return
@@ -63,12 +63,12 @@
 			return false;
 		}
 		try {
-			System.out.println("FfmpegMediaHelper--转码mp4中...");
+			System.out.println("FfmpegMediaHelper--杞爜mp4涓�...");
 			commandMp4.clear();
 			commandMp4.add("ffmpeg");
 			commandMp4.add("-i");
 			commandMp4.add(fileVO.getInputPath());
-			commandMp4.add("-ab");		// 设置音频码率
+			commandMp4.add("-ab");		// 璁剧疆闊抽鐮佺巼
 			commandMp4.add("128*1024");
 			commandMp4.add("-r");
 			commandMp4.add("23");
@@ -83,16 +83,16 @@
 			} else {
 				convertMp4Ld(fileVO, videoInfo);
 			}
-			System.out.println("FfmpegMediaHelper--转码mp4完成...");
+			System.out.println("FfmpegMediaHelper--杞爜mp4瀹屾垚...");
 			return true;
 		} catch (Exception e) {
-			System.out.println("FfmpegMediaHelper--转码mp4异常...");
-			log.error("转码mp4异常:" + e.getMessage());
+			System.out.println("FfmpegMediaHelper--杞爜mp4寮傚父...");
+			log.error("杞爜mp4寮傚父:" + e.getMessage());
 			throw e;
 		}
 	}
 	/**
-	 * 转m3u8
+	 * 杞琺3u8
 	 * @param fileVO
 	 * @param videoInfo
 	 * @return
@@ -102,7 +102,7 @@
 			return false;
 		}
 		try {
-			System.out.println("FfmpegMediaHelper--转码m3h8中...");
+			System.out.println("FfmpegMediaHelper--杞爜m3h8涓�...");
 			commandM3u8 = "ffmpeg -i " + fileVO.getInputPath() + " -strict -2 -c:v libx264 -c:a aac -f hls -hls_time 10 -hls_list_size 0";
 	
 			if (videoInfo.getVideoHeight() >= 1000) {
@@ -115,41 +115,41 @@
 			} else {
 				convertM3u8Ld(fileVO, videoInfo);
 			}
-			System.out.println("FfmpegMediaHelper--转码m3u8完成...");
+			System.out.println("FfmpegMediaHelper--杞爜m3u8瀹屾垚...");
 			return true;
 		} catch (Exception e) {
-			System.out.println("FfmpegMediaHelper--转码m3u8异常...");
-			log.error("转码m3u8异常:" + e.getMessage());
+			System.out.println("FfmpegMediaHelper--杞爜m3u8寮傚父...");
+			log.error("杞爜m3u8寮傚父:" + e.getMessage());
 			throw e;
 		}
 	}
 	
 	/**
-	 * 转高清mp4
+	 * 杞珮娓卪p4
 	 */
 	private static void convertMp4Hd(FfmpegFileVO fileVO, FfmpegVideoInfo videoInfo) throws Exception {
 		try {
-			String resolution = (int) (1080 * videoInfo.getAspectRatio() / 2) * 2 + "*1080"; // 宽高必须是偶数
+			String resolution = (int) (1080 * videoInfo.getAspectRatio() / 2) * 2 + "*1080"; // 瀹介珮蹇呴』鏄伓鏁�
 			List<String> command = new ArrayList<String>(commandMp4);
 			if (videoInfo.getVideoBitRate() == null || videoInfo.getVideoBitRate() > bitRateHd) {
-				command.add("-vb"); // 视频码率
+				command.add("-vb"); // 瑙嗛鐮佺巼
 				command.add(String.valueOf(bitRateHd));
 			}
-			command.add("-s"); // 尺寸(分辨率)
+			command.add("-s"); // 灏哄锛堝垎杈ㄧ巼锛�
 			command.add(resolution);
 			command.add(fileVO.getOutputPath() + videoInfo.getUuid() + "mp4-hd.mp4");
 			convertMp4(command);
-			videoInfo.setMp4HdUrl(fileVO.getOutputPath() + videoInfo.getUuid() + "mp4-hd.mp4");	// 转码成功,将路径设置到videoInfo中
+			videoInfo.setMp4HdUrl(fileVO.getOutputPath() + videoInfo.getUuid() + "mp4-hd.mp4");	// 杞爜鎴愬姛锛屽皢璺緞璁剧疆鍒皏ideoInfo涓�
 		} catch (Exception e) {
 			throw e;
 		}
 	}
 	/**
-	 * 转高清m3u8
+	 * 杞珮娓卪3u8
 	 */
 	private static void convertM3u8Hd(FfmpegFileVO fileVO, FfmpegVideoInfo videoInfo) throws Exception {
 		try {
-			String resolution = (int) (1080 * videoInfo.getAspectRatio() / 2) * 2 + "*1080"; // 宽高必须是偶数
+			String resolution = (int) (1080 * videoInfo.getAspectRatio() / 2) * 2 + "*1080"; // 瀹介珮蹇呴』鏄伓鏁�
 			
 			StringBuffer commandBuffer = new StringBuffer(commandM3u8);
 			if (videoInfo.getVideoBitRate() == null || videoInfo.getVideoBitRate() > bitRateHd) {
@@ -166,7 +166,7 @@
 	}
 	
 	/**
-	 * 转标清mp4
+	 * 杞爣娓卪p4
 	 */
 	private static void convertMp4Sd(FfmpegFileVO fileVO, FfmpegVideoInfo videoInfo) throws Exception {
 		try {
@@ -186,7 +186,7 @@
 		}
 	}
 	/**
-	 * 转标清m3u8
+	 * 杞爣娓卪3u8
 	 */
 	private static void convertM3u8Sd(FfmpegFileVO fileVO, FfmpegVideoInfo videoInfo) throws Exception {
 		try {
@@ -205,7 +205,7 @@
 	}
 
 	/**
-	 * 转低清mp4
+	 * 杞綆娓卪p4
 	 */
 	private static void convertMp4Ld(FfmpegFileVO fileVO, FfmpegVideoInfo videoInfo) throws Exception {
 		try	{
@@ -225,7 +225,7 @@
 		}
 	}
 	/**
-	 * 转低清m3u8
+	 * 杞綆娓卪3u8
 	 */
 	private static void convertM3u8Ld(FfmpegFileVO fileVO, FfmpegVideoInfo videoInfo) throws Exception {
 		try {
@@ -244,7 +244,7 @@
 	}
 
 	/**
-	 * 获取媒体信息
+	 * 鑾峰彇濯掍綋淇℃伅
 	 * 
 	 * @param fileVO
 	 * @param videoInfo
@@ -254,19 +254,19 @@
 		if (!checkfile(fileVO.getInputPath())) {
 			return false;
 		}
-		BufferedReader buf = null; // 保存ffmpeg的输出结果流
+		BufferedReader buf = null; // 淇濆瓨ffmpeg鐨勮緭鍑虹粨鏋滄祦
 		String currLine = null;
 		String line = null;
 		try {
 
-			log.debug("获取媒体信息...");
+			log.debug("鑾峰彇濯掍綋淇℃伅...");
 			List<String> command = new ArrayList<String>();
 
-			// ffprobe 命令获取媒体信息
+			// ffprobe 鍛戒护鑾峰彇濯掍綋淇℃伅
 			command.add("ffprobe");
 			command.add("-print_format");
 
-			// json格式输出
+			// json鏍煎紡杈撳嚭
 			command.add("json");
 
 			command.add("-show_streams");
@@ -279,11 +279,11 @@
 
 			buf = new BufferedReader(new InputStreamReader(p.getInputStream()));
 			while ((currLine = buf.readLine()) != null) {
-				// 处理多余字符
+				// 澶勭悊澶氫綑瀛楃
 				line = currLine.trim().replaceAll("\"", "").replaceAll(",", "").replace(" ", "");
 				handleLine(line, videoInfo);
 
-				// 获取文件时长(flv需要这么取)
+				// 鑾峰彇鏂囦欢鏃堕暱(flv闇�瑕佽繖涔堝彇)
 	        	if(currLine.trim().startsWith("Duration:") && currLine.contains(",") ){
 	        		String strFirst = currLine.trim().split(",")[0].substring(9).trim().substring(0,8);
 	        		String[] arrTime = strFirst.split(":");
@@ -293,18 +293,18 @@
 	        			Integer iSecond = Integer.parseInt(arrTime[2]);
 	        			
 	        			videoInfo.setPlayTime(iHour * 60 * 60 + iMinute * 60 + iSecond);
-	        			log.debug("视频时长:" + videoInfo.getPlayTime());
+	        			log.debug("瑙嗛鏃堕暱锛�" + videoInfo.getPlayTime());
 	        		}
 	        	}
 			}
 
-			p.waitFor();// 这里线程阻塞,将等待外部转换进程运行成功运行结束后,才往下执行
+			p.waitFor();// 杩欓噷绾跨▼闃诲锛屽皢绛夊緟澶栭儴杞崲杩涚▼杩愯鎴愬姛杩愯缁撴潫鍚庯紝鎵嶅線涓嬫墽琛�
 
-			log.debug("获取媒体信息完成");
+			log.debug("鑾峰彇濯掍綋淇℃伅瀹屾垚");
 			return true;
 
 		} catch (Exception e) {
-			log.debug("获取媒体信息异常:" + e.getMessage());
+			log.debug("鑾峰彇濯掍綋淇℃伅寮傚父:" + e.getMessage());
 			throw e;
 		}
 	}
@@ -312,55 +312,55 @@
 		if (line.contains(":")) {
 			String[] arr = line.split(":");
 			if (null != arr && arr.length == 2) {
-				// 1. 如果是标志位
+				// 1. 濡傛灉鏄爣蹇椾綅
 				if ("codec_type".equals(arr[0].trim())) {
-					// 视频
+					// 瑙嗛
 					if ("video".equals(arr[1].trim())) {
 						videoFlag = true;
 					}
-					// 音频
+					// 闊抽
 					if ("audio".equals(arr[1].trim())) {
 						videoFlag = false;
 					}
 				}
-				// 视频宽度
+				// 瑙嗛瀹藉害
 				if (videoFlag && "width".equals(arr[0])) {
 					videoInfo.setVideoWidth(Integer.valueOf(arr[1]));
 					if (videoInfo.getVideoHeight() != null) {
 						videoInfo.setAspectRatio((float) (videoInfo.getVideoWidth().floatValue() / videoInfo.getVideoHeight().floatValue()));
-						log.debug("计算宽高比:" + videoInfo.getVideoWidth() + "/" + videoInfo.getVideoHeight() + ":" + videoInfo.getAspectRatio());
+						log.debug("璁$畻瀹介珮姣旓細" + videoInfo.getVideoWidth() + "/" + videoInfo.getVideoHeight() + ":" + videoInfo.getAspectRatio());
 					}
 				}
-				// 视频高度
+				// 瑙嗛楂樺害
 				if (videoFlag && "height".equals(arr[0])) {
 					videoInfo.setVideoHeight(Integer.valueOf(arr[1]));
 					if (videoInfo.getVideoWidth() != null) {
 						videoInfo.setAspectRatio((float) (videoInfo.getVideoWidth().floatValue() / videoInfo.getVideoHeight().floatValue()));
-						log.debug("计算宽高比:" + videoInfo.getVideoWidth() + "/" + videoInfo.getVideoHeight() + ":" + videoInfo.getAspectRatio());
+						log.debug("璁$畻瀹介珮姣旓細" + videoInfo.getVideoWidth() + "/" + videoInfo.getVideoHeight() + ":" + videoInfo.getAspectRatio());
 					}
 				}
 				
-				//获取视屏帧率表达式
+				//鑾峰彇瑙嗗睆甯х巼琛ㄨ揪寮�
 				if (videoFlag && "avg_frame_rate".equals(arr[0])) {
-					log.info("开始计算帧率,"+arr[1]);
+					log.info("寮�濮嬭绠楀抚鐜囷紝"+arr[1]);
 					if(StringUtils.isNotEmpty(arr[1])){
 						String [] strFrameArr = arr[1].split("/");
 						if(strFrameArr!=null && strFrameArr.length==2 && Double.valueOf(strFrameArr[1].trim())>0){
 							int frameRate = (int) Math.ceil((Double.valueOf(strFrameArr[0].trim())/Double.valueOf(strFrameArr[1].trim())));
 							videoInfo.setFrameRate(frameRate);	
 							videoInfo.setFrameRateExp(arr[1]);
-							log.info("计算帧率:frameRate="+frameRate+" frameRateExp="+arr[1]);
+							log.info("璁$畻甯х巼锛歠rameRate="+frameRate+" frameRateExp="+arr[1]);
 						}
 					}
 				}
 				
 				
-				// 视频码率
+				// 瑙嗛鐮佺巼
 				if (videoFlag && "bit_rate".equals(arr[0])) {
 					videoInfo.setVideoBitRate(Integer.valueOf(arr[1]));
-					log.debug("视频码率:" + videoInfo.getVideoBitRate());
+					log.debug("瑙嗛鐮佺巼锛�" + videoInfo.getVideoBitRate());
 				}
-				// 文件时长
+				// 鏂囦欢鏃堕暱
 				if (videoFlag && "duration".equals(arr[0])) {
 					if (arr[1].contains(".")) {
 						//videoInfo.setPlayTime(Integer.valueOf(arr[1].indexOf('.')));
@@ -368,7 +368,7 @@
 					} else {
 						videoInfo.setPlayTime(Integer.valueOf(arr[1]));
 					}
-					log.debug("视频时长:" + videoInfo.getPlayTime());
+					log.debug("瑙嗛鏃堕暱锛�" + videoInfo.getPlayTime());
 				}
 			}
 		}
@@ -376,7 +376,7 @@
 
 
 	/**
-	 * 截图
+	 * 鎴浘
 	 * 
 	 * @param fileVO
 	 * @param outputPath
@@ -388,37 +388,37 @@
 		}
 		try {
 
-			log.debug("FfmpegMediaHelper--视频截屏...");
+			log.debug("FfmpegMediaHelper--瑙嗛鎴睆...");
 			String comm = "ffmpeg -ss 00:00:01 -i " + fileVO.getInputPath() + " -t 0.1 -f mjpeg -y " + fileVO.getOutputPath() + "snapshot.jpg";
 	
 			Process videoProcess = Runtime.getRuntime().exec(comm);
 			new PrintStreamThread(videoProcess.getErrorStream()).start();
 	
 			videoProcess.waitFor();
-			log.debug("FfmpegMediaHelper--视频截屏完成");
+			log.debug("FfmpegMediaHelper--瑙嗛鎴睆瀹屾垚");
 			return true;
 		} catch (Exception e) {
-			log.error("视频截屏异常" + e.getMessage());
+			log.error("瑙嗛鎴睆寮傚父" + e.getMessage());
 			throw e;
 		}
 	}
 	
 	/**
-	 * 根据帧率截屏
-	 * @param fileVO 待截图视频文件信息
-	 * @param imgPrefixName 截取图片名称的前缀信息
-	 * @param framePerSecond 每秒图片帧数
-	 * @param width  截取图片宽度(ps:单位像素点)
-	 * @param height 截取图片高度(ps:单位像素点)
-	 * @return 是否截取成功
+	 * 鏍规嵁甯х巼鎴睆
+	 * @param fileVO 寰呮埅鍥捐棰戞枃浠朵俊鎭�
+	 * @param imgPrefixName 鎴彇鍥剧墖鍚嶇О鐨勫墠缂�淇℃伅
+	 * @param framePerSecond 姣忕鍥剧墖甯ф暟
+	 * @param width  鎴彇鍥剧墖瀹藉害(ps锛氬崟浣嶅儚绱犵偣)
+	 * @param height 鎴彇鍥剧墖楂樺害(ps锛氬崟浣嶅儚绱犵偣)
+	 * @return 鏄惁鎴彇鎴愬姛
 	 * @throws Exception
 	 */
 	
 	/**
 	 * 
-	 * @param fileVO  文件信息
-	 * @param imgPrefixName  截取图片的前缀信息
-	 * @param framePerSecond  每秒多少帧
+	 * @param fileVO  鏂囦欢淇℃伅
+	 * @param imgPrefixName  鎴彇鍥剧墖鐨勫墠缂�淇℃伅
+	 * @param framePerSecond  姣忕澶氬皯甯�
 	 * @return
 	 * @throws Exception
 	 */
@@ -438,13 +438,13 @@
 //			ffmpeg  -ss 00:00:00.000  -i D:/usr/qxueyou/huifang/test.mp4 -f image2 -vf fps=fps=1/5 D:/usr/qxueyou/huifang/pic/new_%d.jpg
 			
 			String comm = "ffmpeg -ss 00:00:00.000 -i " + fileVO.getInputPath() + " -f image2 -s " + width + "*" + height + " -vf fps=fps=1/"+ framePerSecond +" "+ fileVO.getOutputPath()+"/" + imgPrefixName + "%d.jpg";
-			log.info("screenShot命令, "+ comm);
+			log.info("screenShot鍛戒护, "+ comm);
 			process = Runtime.getRuntime().exec(comm);
 			new PrintStreamThread(process.getErrorStream()).start();
 			process.waitFor();
 			return true;
 		} catch (Exception e) {
-			log.error("视频截屏异常" + e.getMessage());
+			log.error("瑙嗛鎴睆寮傚父" + e.getMessage());
 			throw e;
 		}finally {
 			closeProcess(process);
@@ -461,13 +461,13 @@
 		Process process = null;
 		try {
 			String comm = "ffmpeg -ss "+ statTime + " -t " + duration + " -i "+ fileVO.getInputPath() + " -y -vcodec copy -acodec copy " + fileVO.getOutputPath();
-			log.info("dividVideo命令, "+ comm);
+			log.info("dividVideo鍛戒护, "+ comm);
 			process = Runtime.getRuntime().exec(comm);
 			new PrintStreamThread(process.getErrorStream()).start();
 			process.waitFor();
 			return true;
 		} catch (Exception e) {
-			log.error("切割视频失败" + e.getMessage());
+			log.error("鍒囧壊瑙嗛澶辫触" + e.getMessage());
 			throw e;
 		}finally {
 			closeProcess(process);
@@ -477,7 +477,7 @@
 	
 	
 	/**
-	 * 合并视频
+	 * 鍚堝苟瑙嗛
 	 * 
 	 * @param fileVO
 	 * @return
@@ -489,7 +489,7 @@
 		}
 		
 		String comm = "ffmpeg -f concat -safe 0 -i " + fileVO.getInputPath() + " -c copy " + fileVO.getOutputPath();
-		log.info("mergeVideo命令, "+ comm);
+		log.info("mergeVideo鍛戒护, "+ comm);
 		
 		Process videoProcess = Runtime.getRuntime().exec(comm);
 		new PrintStreamThread(videoProcess.getErrorStream()).start();
@@ -501,7 +501,7 @@
 	
 	
 	/**
-	 * 合并视频
+	 * 鍚堝苟瑙嗛
 	 * 
 	 * @param fileVO
 	 * @return
@@ -544,7 +544,7 @@
 	public static String converUploadVideoToLiveMp4(FfmpegFileVO fileVO,FfmpegVideoInfo videoInfo) throws Exception{
 		String outputPath = null;
 		try {
-//			log.info("FfmpegMediaHelper.TransferUploadVideoToWyMp4,直播上传...");
+//			log.info("FfmpegMediaHelper.TransferUploadVideoToWyMp4,鐩存挱涓婁紶...");
 			List<String> command = new ArrayList<String>();
 			String name = UUIDUtils.generateUUID().replace("-", "");
 			outputPath = fileVO.getOutputPath() +name + ".mp4";
@@ -567,7 +567,7 @@
 	 }
 	
 	/**
-	 * mp4转ts文件
+	 * mp4杞瑃s鏂囦欢
 	 * ffmpeg -i 1.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts out1.ts
 	 * 
 	 * @param fileVO
@@ -578,7 +578,7 @@
 		Process process= null;
 		try {
 			String comm = "ffmpeg -i " + fileVO.getInputPath() + " -c copy -bsf:v h264_mp4toannexb -y -f mpegts " + fileVO.getOutputPath();
-			log.info("mp4toannexb命令, "+ comm);
+			log.info("mp4toannexb鍛戒护, "+ comm);
 			process = Runtime.getRuntime().exec(comm);
 			new PrintStreamThread(process.getErrorStream()).start();
 			process.waitFor();
@@ -605,13 +605,13 @@
 				process.destroy();
 			}
 		} catch (IOException e) {
-			log.error("关闭process失败。。", e);
+			log.error("鍏抽棴process澶辫触銆傘��", e);
 		}
 	}
 	
 
 	/**
-	 * 关闭进程
+	 * 鍏抽棴杩涚▼
 	 * 
 	 * @param process
 	 * @return
@@ -625,7 +625,7 @@
     } 
 
 	/**
-	 * 解析成MP4格式
+	 * 瑙f瀽鎴怣P4鏍煎紡
 	 * 
 	 * @param oldfilepath
 	 * @return
@@ -653,7 +653,7 @@
 	}
 
 	/**
-	 * 解析m3u8格式
+	 * 瑙f瀽m3u8鏍煎紡
 	 * 
 	 * @param oldfilepath
 	 * @return
@@ -684,7 +684,7 @@
 	}
 	
 	/**
-     * 检查转码输入文件是否存在
+     * 妫�鏌ヨ浆鐮佽緭鍏ユ枃浠舵槸鍚﹀瓨鍦�
      * @param path
      * @return
      */
@@ -694,18 +694,18 @@
     }
 }
 /**
- * 打印线程
+ * 鎵撳嵃绾跨▼
  * @author cyq
  *
  */
 class PrintStreamThread extends Thread {
 	/**
-	 * 输入流
+	 * 杈撳叆娴�
 	 */
 	java.io.InputStream __is;
 
 	/**
-	 * 构造方法
+	 * 鏋勯�犳柟娉�
 	 * @param is
 	 */
 	public PrintStreamThread(java.io.InputStream is) {
@@ -713,7 +713,7 @@
 	}
 
 	/**
-	 * 线程执行方法
+	 * 绾跨▼鎵ц鏂规硶
 	 */
 	public void run() {
 		try {
diff --git a/src/main/java/com/qxueyou/scc/teach/live/utils/FfmpegVideoInfo.java b/src/main/java/com/qxueyou/scc/teach/live/utils/FfmpegVideoInfo.java
index 67a8c8a..37fa275 100644
--- a/src/main/java/com/qxueyou/scc/teach/live/utils/FfmpegVideoInfo.java
+++ b/src/main/java/com/qxueyou/scc/teach/live/utils/FfmpegVideoInfo.java
@@ -6,7 +6,7 @@
 
 /**
  * 
- * 转码视频文件信息
+ * 杞爜瑙嗛鏂囦欢淇℃伅
  * @author cyq
  *
  */
@@ -17,119 +17,119 @@
 	 */
 	private static final long serialVersionUID = 1L;
 	
-	/**  主键 */
+	/**  涓婚敭 */
 	private String videoInfoId;
 	
-	/**  视频格式: AVI,MP4... */
+	/**  瑙嗛鏍煎紡: AVI,MP4... */
 	private String format;
 	
-	/**  视频格式: audio , video */
+	/**  瑙嗛鏍煎紡: audio , video */
 	private String type;
 	
-	/**  封面图片URL  */
+	/**  灏侀潰鍥剧墖URL  */
 	private String coverPageUrl;
 	
-	/**  资源 MD5值  */
+	/**  璧勬簮 MD5鍊�  */
 	private String md;
 	
-	/**  视频大小,单位KB */
+	/**  瑙嗛澶у皬,鍗曚綅KB */
 	private Integer size ;
 	
-	/**  时长 */
+	/**  鏃堕暱 */
 	private Integer playTime ;
 	
-	/**  原始宽度 */
+	/**  鍘熷瀹藉害 */
 	private Integer videoWidth ;
 	
-	/**  原始高度 */
+	/**  鍘熷楂樺害 */
 	private Integer videoHeight ;
 	
-	/**  设置横纵比 */
+	/**  璁剧疆妯旱姣� */
 	private Float aspectRatio ;
 	
 	
 	/**
-	 * 帧率表达式(如:1000/333)
+	 * 甯х巼琛ㄨ揪寮�(濡傦細1000/333)
 	 */
 	private String frameRateExp;
 	
-	/**  帧率,是用于测量画面显示帧数的量度。 */
-	/**  所谓的测量单位为每秒显示帧数(Frames per Second,缩写:FPS)。
-	 * 如电影的帧率一般是25fps和29.97fps,
-	 *   而第一人称射击游戏等要求画面极为顺畅的特殊场合,
-	 *   则需要30fps以上的效果,高于60fps就没有必要了*/
+	/**  甯х巼,鏄敤浜庢祴閲忕敾闈㈡樉绀哄抚鏁扮殑閲忓害銆� */
+	/**  鎵�璋撶殑娴嬮噺鍗曚綅涓烘瘡绉掓樉绀哄抚鏁帮紙Frames per Second锛岀缉鍐欙細FPS锛夈��
+	 * 濡傜數褰辩殑甯х巼涓�鑸槸25fps鍜�29.97fps锛�
+	 *   鑰岀涓�浜虹О灏勫嚮娓告垙绛夎姹傜敾闈㈡瀬涓洪『鐣呯殑鐗规畩鍦哄悎锛�
+	 *   鍒欓渶瑕�30fps浠ヤ笂鐨勬晥鏋滐紝楂樹簬60fps灏辨病鏈夊繀瑕佷簡*/
 	private Integer frameRate ;
 	
-	/**  音频码率 */
-	/**  指视频或音频文件在单位时间内使用的数据流量,
-	 * 该参数的单位通常是Kbps,也就是千比特每秒。
-	 *   通常2000kbps~3000kbps就已经足以将画质效果表现到极致了。
-	 *   码率参数与视频文件最终体积大小有直接性的关系。*/
+	/**  闊抽鐮佺巼 */
+	/**  鎸囪棰戞垨闊抽鏂囦欢鍦ㄥ崟浣嶆椂闂村唴浣跨敤鐨勬暟鎹祦閲忥紝
+	 * 璇ュ弬鏁扮殑鍗曚綅閫氬父鏄疜bps锛屼篃灏辨槸鍗冩瘮鐗规瘡绉掋��
+	 *   閫氬父2000kbps~3000kbps灏卞凡缁忚冻浠ュ皢鐢昏川鏁堟灉琛ㄧ幇鍒版瀬鑷翠簡銆�
+	 *   鐮佺巼鍙傛暟涓庤棰戞枃浠舵渶缁堜綋绉ぇ灏忔湁鐩存帴鎬х殑鍏崇郴銆�*/
 	private Integer audioBitRate ;
 	
-	/**  视频码率 */
-	/**  指视频或音频文件在单位时间内使用的数据流量,
-	 * 该参数的单位通常是Kbps,也就是千比特每秒。
-	 *   通常2000kbps~3000kbps就已经足以将画质效果表现到极致了。
-	 *   码率参数与视频文件最终体积大小有直接性的关系。*/
+	/**  瑙嗛鐮佺巼 */
+	/**  鎸囪棰戞垨闊抽鏂囦欢鍦ㄥ崟浣嶆椂闂村唴浣跨敤鐨勬暟鎹祦閲忥紝
+	 * 璇ュ弬鏁扮殑鍗曚綅閫氬父鏄疜bps锛屼篃灏辨槸鍗冩瘮鐗规瘡绉掋��
+	 *   閫氬父2000kbps~3000kbps灏卞凡缁忚冻浠ュ皢鐢昏川鏁堟灉琛ㄧ幇鍒版瀬鑷翠簡銆�
+	 *   鐮佺巼鍙傛暟涓庤棰戞枃浠舵渶缁堜綋绉ぇ灏忔湁鐩存帴鎬х殑鍏崇郴銆�*/
 	private Integer videoBitRate ;
 	
-	/**  采样率 */
-	/**  每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。
-	 * 一般音乐CD的采样率是44100Hz,
-	 *   所以视频编码中的音频采样率保持在这个级别就完全足够了,
-	 *   通常视频转换器也将这个采样率作为默认设置。*/
+	/**  閲囨牱鐜� */
+	/**  姣忕浠庤繛缁俊鍙蜂腑鎻愬彇骞剁粍鎴愮鏁d俊鍙风殑閲囨牱涓暟锛屽畠鐢ㄨ但鍏癸紙Hz锛夋潵琛ㄧず銆�
+	 * 涓�鑸煶涔怌D鐨勯噰鏍风巼鏄�44100Hz锛�
+	 *   鎵�浠ヨ棰戠紪鐮佷腑鐨勯煶棰戦噰鏍风巼淇濇寔鍦ㄨ繖涓骇鍒氨瀹屽叏瓒冲浜嗭紝
+	 *   閫氬父瑙嗛杞崲鍣ㄤ篃灏嗚繖涓噰鏍风巼浣滀负榛樿璁剧疆銆�*/
 	private Integer sampleRate ;
 	
 	/** 
-	 * 音频通道数 
+	 * 闊抽閫氶亾鏁� 
 	*/
 	private Integer channel ;
 	
 	/**
-	 * uuid作为文件前缀
+	 * uuid浣滀负鏂囦欢鍓嶇紑
 	 */
 	private String uuid;
 	
 	/**
-	 *  mp4 hd地址
+	 *  mp4 hd鍦板潃
 	 */
 	private String mp4HdUrl;
 	
 	/**
-	 *  mp4 sd地址
+	 *  mp4 sd鍦板潃
 	 */
 	private String mp4SdUrl;
 	
 	/**
-	 *  mp4 ld地址
+	 *  mp4 ld鍦板潃
 	 */
 	private String mp4LdUrl;
 	
 	/**
-	 *  m3u8 hd地址
+	 *  m3u8 hd鍦板潃
 	 */
 	private String m3u8HdUrl;
 	
 	/**
-	 *  m3u8 sd地址
+	 *  m3u8 sd鍦板潃
 	 */
 	private String m3u8SdUrl;
 	
 	/**
-	 *  m3u8 ld地址
+	 *  m3u8 ld鍦板潃
 	 */
 	private String m3u8LdUrl;
 
 	/**
-	 *  重写toString方法
+	 *  閲嶅啓toString鏂规硶
 	 */
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);
 	}
 	
 	/**
-	 *  返回 videoInfoId
+	 *  杩斿洖 videoInfoId
 	 * @return
 	 */
 	public String getVideoInfoId() {
@@ -137,7 +137,7 @@
 	}
 
 	/**
-	 *  赋值 videoInfoId
+	 *  璧嬪�� videoInfoId
 	 * @param videoInfoId
 	 */
 	public void setVideoInfoId(String videoInfoId) {
@@ -145,7 +145,7 @@
 	}
 
 	/**
-	 *  返回format
+	 *  杩斿洖format
 	 * @return
 	 */
 	public String getFormat() {
diff --git a/src/main/java/com/qxueyou/scc/teach/res/model/ResItemAudio.java b/src/main/java/com/qxueyou/scc/teach/res/model/ResItemAudio.java
index 39330a5..d4f37f8 100644
--- a/src/main/java/com/qxueyou/scc/teach/res/model/ResItemAudio.java
+++ b/src/main/java/com/qxueyou/scc/teach/res/model/ResItemAudio.java
@@ -80,32 +80,32 @@
 	}
 	
 	/*
-	 * 草稿
+	 * 鑽夌
 	 */
 	public static final short STATUS_DRAFT = 0;
 
 	/*
-	 * 转码中
+	 * 杞爜涓�
 	 */
 	public static final short STATUS_TRANSFORMING = 1;
 
 	/*
-	 * 已发布
+	 * 宸插彂甯�
 	 */
 	public static final short STATUS_PUBLISHED = 2;
 
 	/*
-	 * 已下架
+	 * 宸蹭笅鏋�
 	 */
 	public static final short STATUS_TAKEOFF = 3;
 
 	/*
-	 * 转码失败
+	 * 杞爜澶辫触
 	 */
 	public static final short STATUS_TRANSFAILED = 4;
 
 	/*
-	 * 排队中
+	 * 鎺掗槦涓�
 	 */
 	public static final short STATUS_LINEUP = 5;
 
diff --git a/src/main/java/com/qxueyou/scc/teach/res/model/ResItemDoc.java b/src/main/java/com/qxueyou/scc/teach/res/model/ResItemDoc.java
index 4e94e72..472a73e 100644
--- a/src/main/java/com/qxueyou/scc/teach/res/model/ResItemDoc.java
+++ b/src/main/java/com/qxueyou/scc/teach/res/model/ResItemDoc.java
@@ -23,32 +23,32 @@
 @Table(name = "res_item_doc")
 public class ResItemDoc implements java.io.Serializable, ITrace {
 	/*
-	 * 草稿
+	 * 鑽夌
 	 */
 	public static final short STATUS_DRAFT = 0;
 
 	/*
-	 * 转码中
+	 * 杞爜涓�
 	 */
 	public static final short STATUS_TRANSFORMING = 1;
 
 	/*
-	 * 已发布
+	 * 宸插彂甯�
 	 */
 	public static final short STATUS_PUBLISHED = 2;
 
 	/*
-	 * 已下架
+	 * 宸蹭笅鏋�
 	 */
 	public static final short STATUS_TAKEOFF = 3;
 
 	/*
-	 * 转码失败
+	 * 杞爜澶辫触
 	 */
 	public static final short STATUS_TRANSFAILED = 4;
 
 	/*
-	 * 排队中
+	 * 鎺掗槦涓�
 	 */
 	public static final short STATUS_LINEUP = 5;
 
diff --git a/src/main/java/com/qxueyou/scc/teach/res/model/ResItemVideo.java b/src/main/java/com/qxueyou/scc/teach/res/model/ResItemVideo.java
index d8af1aa..1dbf929 100644
--- a/src/main/java/com/qxueyou/scc/teach/res/model/ResItemVideo.java
+++ b/src/main/java/com/qxueyou/scc/teach/res/model/ResItemVideo.java
@@ -24,32 +24,32 @@
 public class ResItemVideo implements java.io.Serializable, ITrace {
 
 	/*
-	 * 草稿
+	 * 鑽夌
 	 */
 	public static final short STATUS_DRAFT = 0;
 
 	/*
-	 * 转码中
+	 * 杞爜涓�
 	 */
 	public static final short STATUS_TRANSFORMING = 1;
 
 	/*
-	 * 已发布
+	 * 宸插彂甯�
 	 */
 	public static final short STATUS_PUBLISHED = 2;
 
 	/*
-	 * 已下架
+	 * 宸蹭笅鏋�
 	 */
 	public static final short STATUS_TAKEOFF = 3;
 
 	/*
-	 * 转码失败
+	 * 杞爜澶辫触
 	 */
 	public static final short STATUS_TRANSFAILED = 4;
 
 	/*
-	 * 排队中
+	 * 鎺掗槦涓�
 	 */
 	public static final short STATUS_LINEUP = 5;
 
diff --git a/src/main/java/com/qxueyou/scc/teach/res/service/IFileService.java b/src/main/java/com/qxueyou/scc/teach/res/service/IFileService.java
index f6d4393..6249440 100644
--- a/src/main/java/com/qxueyou/scc/teach/res/service/IFileService.java
+++ b/src/main/java/com/qxueyou/scc/teach/res/service/IFileService.java
@@ -8,30 +8,30 @@
 public interface IFileService {
 
 	/**
-	 * 上传文件
-	 * @param in 文件输入流
-	 * @param name 文件名
-	 * @return 上传结果:{"success":true,msg:"success",attrs:{"fileId","90023afwe32300fee23"}},若成功,则返回fileId
+	 * 涓婁紶鏂囦欢
+	 * @param in 鏂囦欢杈撳叆娴�
+	 * @param name 鏂囦欢鍚�
+	 * @return 涓婁紶缁撴灉:{"success":true,msg:"success",attrs:{"fileId","90023afwe32300fee23"}},鑻ユ垚鍔燂紝鍒欒繑鍥瀎ileId
 	 */
 	Result doUpload(InputStream in,String name);
 	
 	/**
-	 * 返回文件
+	 * 杩斿洖鏂囦欢
 	 * @param fileId
 	 * @return
 	 */
 	ResFile read(String fileId);
 	
 	/**
-	 * 返回文件Id
-	 * @param path 文件路径
+	 * 杩斿洖鏂囦欢Id
+	 * @param path 鏂囦欢璺緞
 	 * @return
 	 */
 	String readIdByPath(String path);
 	
 	/**
-	 * 返回文件流
-	 * @param id 文件路径
+	 * 杩斿洖鏂囦欢娴�
+	 * @param id 鏂囦欢璺緞
 	 * @return
 	 */
 	InputStream readStreamById(String id);
diff --git a/src/main/java/com/qxueyou/scc/teach/res/service/IResAudioService.java b/src/main/java/com/qxueyou/scc/teach/res/service/IResAudioService.java
index d8ffec8..3b8e0c3 100644
--- a/src/main/java/com/qxueyou/scc/teach/res/service/IResAudioService.java
+++ b/src/main/java/com/qxueyou/scc/teach/res/service/IResAudioService.java
@@ -5,10 +5,10 @@
 public interface IResAudioService {
 	
 	/**
-	 * 修改音频时长
-	 * @param audioId 音频id
-	 * @param duration 时长
-	 * @return 主键
+	 * 淇敼闊抽鏃堕暱
+	 * @param audioId 闊抽id
+	 * @param duration 鏃堕暱
+	 * @return 涓婚敭
 	 */
 	Result updateDuration(String audioId,int duration);
 	
diff --git a/src/main/java/com/qxueyou/scc/teach/res/service/IResItemService.java b/src/main/java/com/qxueyou/scc/teach/res/service/IResItemService.java
index d00b8da..bf58046 100644
--- a/src/main/java/com/qxueyou/scc/teach/res/service/IResItemService.java
+++ b/src/main/java/com/qxueyou/scc/teach/res/service/IResItemService.java
@@ -5,32 +5,32 @@
 public interface IResItemService {
 	
 	/**
-	 * 新增资源
-	 * @param fileId 文件id,如果为练习,则fileId为空
-	 * @param name 资源名称
-	 * @return 主键
+	 * 鏂板璧勬簮
+	 * @param fileId 鏂囦欢id锛屽鏋滀负缁冧範锛屽垯fileId涓虹┖
+	 * @param name 璧勬簮鍚嶇О
+	 * @return 涓婚敭
 	 */
 	String add(String fileId,String name);
 	
 	/**
-	 * 修改资源
-	 * @param id 资源id
-	 * @param name 名称
-	 * @return 上传结果:{"success":true,msg:"success",attrs:{}}
+	 * 淇敼璧勬簮
+	 * @param id 璧勬簮id
+	 * @param name 鍚嶇О
+	 * @return 涓婁紶缁撴灉:{"success":true,msg:"success",attrs:{}}
 	 */
 	Result update(String id,String name);
 	
 	
 	/**
-	 * 读取资源真实文件访问路径
-	 * @param resId 资源id数组
-	 * @param attribute 资源附加属性
-	 * @return 上传结果:{"success":true,msg:"success",attrs:{"type":"",path:""}}
+	 * 璇诲彇璧勬簮鐪熷疄鏂囦欢璁块棶璺緞
+	 * @param resId 璧勬簮id鏁扮粍
+	 * @param attribute 璧勬簮闄勫姞灞炴��
+	 * @return 涓婁紶缁撴灉:{"success":true,msg:"success",attrs:{"type":"",path:""}}
 	 */
 	String readAccessPath(String resId,String attribute);
 	
 	/**
-	 * 获取资源类型
+	 * 鑾峰彇璧勬簮绫诲瀷
 	 * @return
 	 */
 	String getResItemType();
diff --git a/src/main/java/com/qxueyou/scc/teach/res/service/IResService.java b/src/main/java/com/qxueyou/scc/teach/res/service/IResService.java
index 0dca1c9..7e05147 100644
--- a/src/main/java/com/qxueyou/scc/teach/res/service/IResService.java
+++ b/src/main/java/com/qxueyou/scc/teach/res/service/IResService.java
@@ -11,47 +11,47 @@
 public interface IResService {
 
     /**
-     * 初始化个人资源库
+     * 鍒濆鍖栦釜浜鸿祫婧愬簱
      *
      * @return
      */
     Result initUserLib();
 
     /**
-     * 获取个人资源库
+     * 鑾峰彇涓汉璧勬簮搴�
      *
      * @return
      */
     ResLib readUserLib();
 
     /**
-     * 读取个人资源库
+     * 璇诲彇涓汉璧勬簮搴�
      *
-     * @param type 资源库类型
+     * @param type 璧勬簮搴撶被鍨�
      * @return
      */
     ResLib getResLib(String type, String ownerId);
 
     /**
-     * 新增资源
+     * 鏂板璧勬簮
      *
-     * @param dirId        文件夹id
-     * @param itemDestId   如果为视频,文档,文章等,则为文件id,如果为练习,则为exerciseGroupId
-     * @param name         资源名称
-     * @param remark       说明
-     * @param type         资源类型
-     * @param coverPageUrl 封面文件id,如果为练习,则为空
-     * @return 上传结果:{"success":true,msg:"success",attrs:{"resId","90023afwe32300fee23"}},若成功,则返回resId
+     * @param dirId        鏂囦欢澶筰d
+     * @param itemDestId   濡傛灉涓鸿棰戯紝鏂囨。锛屾枃绔犵瓑锛屽垯涓烘枃浠秈d锛屽鏋滀负缁冧範锛屽垯涓篹xerciseGroupId
+     * @param name         璧勬簮鍚嶇О
+     * @param remark       璇存槑
+     * @param type         璧勬簮绫诲瀷
+     * @param coverPageUrl 灏侀潰鏂囦欢id锛屽鏋滀负缁冧範锛屽垯涓虹┖
+     * @return 涓婁紶缁撴灉:{"success":true,msg:"success",attrs:{"resId","90023afwe32300fee23"}},鑻ユ垚鍔燂紝鍒欒繑鍥瀝esId
      */
     Result add(String dirId, String itemDestId, String name, String remark, String type, String coverPageUrl);
 
     /**
-     * 批量上传资源
+     * 鎵归噺涓婁紶璧勬簮
      */
     Result addBatchRes(String dirId, String type, List<FileMeta> items);
 
     /**
-     * 返回资源
+     * 杩斿洖璧勬簮
      *
      * @param resId
      * @return
@@ -59,179 +59,179 @@
     Res read(String resId);
 
     /**
-     * 修改资源
+     * 淇敼璧勬簮
      *
-     * @param resId        资源id
-     * @param name         名称
-     * @param remark       说明
-     * @param coverPageUrl 封面文件id,如果为练习,则为空
-     * @return 上传结果:{"success":true,msg:"success",attrs:{}}
+     * @param resId        璧勬簮id
+     * @param name         鍚嶇О
+     * @param remark       璇存槑
+     * @param coverPageUrl 灏侀潰鏂囦欢id锛屽鏋滀负缁冧範锛屽垯涓虹┖
+     * @return 涓婁紶缁撴灉:{"success":true,msg:"success",attrs:{}}
      */
     Result update(String resId, String name, String remark, String coverPageUrl);
 
     /**
-     * 删除资源
+     * 鍒犻櫎璧勬簮
      *
-     * @param resIds 资源id数组
-     * @return 上传结果:{"success":true,msg:"success",attrs:{}}
+     * @param resIds 璧勬簮id鏁扮粍
+     * @return 涓婁紶缁撴灉:{"success":true,msg:"success",attrs:{}}
      */
     Result delete(String[] resIds);
 
     /**
-     * 复制资源
+     * 澶嶅埗璧勬簮
      *
-     * @param resId     资源id数组
-     * @param destDirId 目标文件夹id
-     * @param name      资源名称
-     * @return 上传结果:{"success":true,msg:"success",attrs:{}}
+     * @param resId     璧勬簮id鏁扮粍
+     * @param destDirId 鐩爣鏂囦欢澶筰d
+     * @param name      璧勬簮鍚嶇О
+     * @return 涓婁紶缁撴灉:{"success":true,msg:"success",attrs:{}}
      */
     Result doCopy(String resId, String destDirId, String name);
 
     /**
-     * 移动资源
+     * 绉诲姩璧勬簮
      *
-     * @param resId     资源id数组
-     * @param destDirId 目标文件夹id
-     * @param name      资源名称
-     * @return 上传结果:{"success":true,msg:"success",attrs:{}}
+     * @param resId     璧勬簮id鏁扮粍
+     * @param destDirId 鐩爣鏂囦欢澶筰d
+     * @param name      璧勬簮鍚嶇О
+     * @return 涓婁紶缁撴灉:{"success":true,msg:"success",attrs:{}}
      */
     Result doMove(String resId, String destDirId, String name);
 
     /**
-     * 查询资源
+     * 鏌ヨ璧勬簮
      *
-     * @param dirId   资源文件夹id
-     * @param text    搜索文本
-     * @param pageNo  页码
-     * @param pageNum 每页显示行数
-     * @param type    资源类型
-     * @return 返回资源列表
+     * @param dirId   璧勬簮鏂囦欢澶筰d
+     * @param text    鎼滅储鏂囨湰
+     * @param pageNo  椤电爜
+     * @param pageNum 姣忛〉鏄剧ず琛屾暟
+     * @param type    璧勬簮绫诲瀷
+     * @return 杩斿洖璧勬簮鍒楄〃
      */
     List<Res> listRes(String dirId, String text, Integer pageSize, Integer pageNum, String type);
 
     /**
-     * 查询我的所有资源
+     * 鏌ヨ鎴戠殑鎵�鏈夎祫婧�
      *
-     * @param text    搜索文本
-     * @param pageNo  页码
-     * @param pageNum 每页显示行数
-     * @param type    资源类型
-     * @return 返回资源列表
+     * @param text    鎼滅储鏂囨湰
+     * @param pageNo  椤电爜
+     * @param pageNum 姣忛〉鏄剧ず琛屾暟
+     * @param type    璧勬簮绫诲瀷
+     * @return 杩斿洖璧勬簮鍒楄〃
      */
     List<Res> listMyRes(String text, Integer pageSize, Integer pageNum, String type);
 
     /**
-     * 根据资源库类型查找资源
+     * 鏍规嵁璧勬簮搴撶被鍨嬫煡鎵捐祫婧�
      *
-     * @param libType  资源库类型
-     * @param ownerId  所有者id
-     * @param text     搜索文本
-     * @param pageSize 每页显示行数
-     * @param pageNum  页码
-     * @param resType  资源类型
-     * @return 返回资源列表
+     * @param libType  璧勬簮搴撶被鍨�
+     * @param ownerId  鎵�鏈夎�卛d
+     * @param text     鎼滅储鏂囨湰
+     * @param pageSize 姣忛〉鏄剧ず琛屾暟
+     * @param pageNum  椤电爜
+     * @param resType  璧勬簮绫诲瀷
+     * @return 杩斿洖璧勬簮鍒楄〃
      */
     List<Res> listResByLib(String libType, String ownerId, String text, Integer pageSize, Integer pageNum,
                            String resType);
 
     /**
-     * 根据资源库类型查找资源总数
+     * 鏍规嵁璧勬簮搴撶被鍨嬫煡鎵捐祫婧愭�绘暟
      *
-     * @param libType 资源库类型
-     * @param ownerId 所有者id
-     * @param text    搜索文本
-     * @param resType 资源类型
-     * @return 返回资源列表
+     * @param libType 璧勬簮搴撶被鍨�
+     * @param ownerId 鎵�鏈夎�卛d
+     * @param text    鎼滅储鏂囨湰
+     * @param resType 璧勬簮绫诲瀷
+     * @return 杩斿洖璧勬簮鍒楄〃
      */
     int listResCountByLib(String libType, String ownerId, String text, String resType);
 
     /**
-     * 我的所有资源的数量
+     * 鎴戠殑鎵�鏈夎祫婧愮殑鏁伴噺
      *
-     * @param text 搜索文本
-     * @param type 资源类型
-     * @return 返回资源列表
+     * @param text 鎼滅储鏂囨湰
+     * @param type 璧勬簮绫诲瀷
+     * @return 杩斿洖璧勬簮鍒楄〃
      */
     int listMyResCount(String text, String type);
 
     /**
-     * 查询资源个数
+     * 鏌ヨ璧勬簮涓暟
      *
-     * @param dirId   资源文件夹id
-     * @param text    搜索文本
-     * @param pageNo  页码
-     * @param pageNum 每页显示行数
-     * @param type    资源类型
-     * @return 返回资源总数
+     * @param dirId   璧勬簮鏂囦欢澶筰d
+     * @param text    鎼滅储鏂囨湰
+     * @param pageNo  椤电爜
+     * @param pageNum 姣忛〉鏄剧ず琛屾暟
+     * @param type    璧勬簮绫诲瀷
+     * @return 杩斿洖璧勬簮鎬绘暟
      */
     int listResCount(String dirId, String text, String type);
 
     /**
-     * 读取资源真实文件访问路径
+     * 璇诲彇璧勬簮鐪熷疄鏂囦欢璁块棶璺緞
      *
-     * @param resId     资源id数组
-     * @param attribute 资源附加属性
-     * @return 上传结果:{"success":true,msg:"success",attrs:{"type":"",path:""}}
+     * @param resId     璧勬簮id鏁扮粍
+     * @param attribute 璧勬簮闄勫姞灞炴��
+     * @return 涓婁紶缁撴灉:{"success":true,msg:"success",attrs:{"type":"",path:""}}
      */
     Result readAccessPath(String resId, String attribute);
 
     /**
-     * 新增资源文件夹
+     * 鏂板璧勬簮鏂囦欢澶�
      *
-     * @param parentDirId 父级资源文件夹id
-     * @param name        文件夹名称
-     * @return 上传结果:{"success":true,msg:"success",attrs:{"dirId","90023afwe32300fee23"}},若成功,则返回dirId
+     * @param parentDirId 鐖剁骇璧勬簮鏂囦欢澶筰d
+     * @param name        鏂囦欢澶瑰悕绉�
+     * @return 涓婁紶缁撴灉:{"success":true,msg:"success",attrs:{"dirId","90023afwe32300fee23"}},鑻ユ垚鍔燂紝鍒欒繑鍥瀌irId
      */
     Result addDir(String parentDirId, String name);
 
     /**
-     * 读取资源文件夹
+     * 璇诲彇璧勬簮鏂囦欢澶�
      *
-     * @param dirId 资源文件夹id
-     * @return 上传结果:{"success":true,msg:"success",attrs:{"dirId","90023afwe32300fee23"}},若成功,则返回dirId
+     * @param dirId 璧勬簮鏂囦欢澶筰d
+     * @return 涓婁紶缁撴灉:{"success":true,msg:"success",attrs:{"dirId","90023afwe32300fee23"}},鑻ユ垚鍔燂紝鍒欒繑鍥瀌irId
      */
     ResDir readDir(String dirId);
 
     /**
-     * 修改资源文件夹
+     * 淇敼璧勬簮鏂囦欢澶�
      *
-     * @param dirId 文件夹id
-     * @param name  名称
-     * @return 上传结果:{"success":true,msg:"success",attrs:{}}
+     * @param dirId 鏂囦欢澶筰d
+     * @param name  鍚嶇О
+     * @return 涓婁紶缁撴灉:{"success":true,msg:"success",attrs:{}}
      */
     Result updateDir(String dirId, String name);
 
     /**
-     * 删除资源文件夹
+     * 鍒犻櫎璧勬簮鏂囦欢澶�
      *
-     * @param dirIds 资源文件夹id数组
-     * @return 上传结果:{"success":true,msg:"success",attrs:{}}
+     * @param dirIds 璧勬簮鏂囦欢澶筰d鏁扮粍
+     * @return 涓婁紶缁撴灉:{"success":true,msg:"success",attrs:{}}
      */
     Result deleteDir(String[] dirIds);
 
     /**
-     * 返回个人资源库下级资源文件夹列表
+     * 杩斿洖涓汉璧勬簮搴撲笅绾ц祫婧愭枃浠跺す鍒楄〃
      *
-     * @param parentDirId 父级资源文件夹id
-     * @return 返回资源列表
+     * @param parentDirId 鐖剁骇璧勬簮鏂囦欢澶筰d
+     * @return 杩斿洖璧勬簮鍒楄〃
      */
     List<ResDir> doGetMyLibChildDirs(String parentDirId);
 
     /**
-     * 返回下级资源文件夹列表
+     * 杩斿洖涓嬬骇璧勬簮鏂囦欢澶瑰垪琛�
      *
-     * @param parentDirId 父级资源文件夹id
-     * @param type        资源库类型
-     * @return 返回资源列表
+     * @param parentDirId 鐖剁骇璧勬簮鏂囦欢澶筰d
+     * @param type        璧勬簮搴撶被鍨�
+     * @return 杩斿洖璧勬簮鍒楄〃
      */
     List<ResDir> doGetChildDirs(String parentDirId, String type);
 
     /**
-     * 返回资源库根节点
+     * 杩斿洖璧勬簮搴撴牴鑺傜偣
      *
-     * @param type    类型
-     * @param ownerId 拥有者id
-     * @return 返回资源库根节点
+     * @param type    绫诲瀷
+     * @param ownerId 鎷ユ湁鑰卛d
+     * @return 杩斿洖璧勬簮搴撴牴鑺傜偣
      */
     ResDir doGetRootDir(String type, String ownerId);
 
diff --git a/src/main/java/com/qxueyou/scc/teach/res/service/impl/FileService.java b/src/main/java/com/qxueyou/scc/teach/res/service/impl/FileService.java
index 46cee30..a992382 100644
--- a/src/main/java/com/qxueyou/scc/teach/res/service/impl/FileService.java
+++ b/src/main/java/com/qxueyou/scc/teach/res/service/impl/FileService.java
@@ -26,7 +26,7 @@
 import com.qxueyou.scc.teach.res.service.IFileService;
 
 /**
- * 所有文件上传的操作,单独到文件上传工程后,后续业务操作需要下载文件调用的方法
+ * 鎵�鏈夋枃浠朵笂浼犵殑鎿嶄綔锛屽崟鐙埌鏂囦欢涓婁紶宸ョ▼鍚庯紝鍚庣画涓氬姟鎿嶄綔闇�瑕佷笅杞芥枃浠惰皟鐢ㄧ殑鏂规硶
  * 
  * @author xiadehu
  *
@@ -37,7 +37,7 @@
 	private final Logger log = LogManager.getLogger(FileService.class);
 
 	/*
-	 * 文件类型:目前支持四种
+	 * 鏂囦欢绫诲瀷:鐩墠鏀寔鍥涚
 	 */
 	public final static String FILE_TYPE_VIDEO = "video";
 
@@ -95,15 +95,15 @@
 	}
 
 	/**
-	 * 插入文件信息到数据库
+	 * 鎻掑叆鏂囦欢淇℃伅鍒版暟鎹簱
 	 * 
 	 * @param name
 	 * @param fullPath
-	 *            全路径
+	 *            鍏ㄨ矾寰�
 	 * @param relativePath
-	 *            相对路径
+	 *            鐩稿璺緞
 	 * @param type
-	 *            文件类型,非文件格式
+	 *            鏂囦欢绫诲瀷锛岄潪鏂囦欢鏍煎紡
 	 * @return
 	 */
 	private ResFile insertFileToDB(String name, String fullPath, String relativePath, String type) {
@@ -129,7 +129,7 @@
 	}
 
 	/**
-	 * 获取文件类型
+	 * 鑾峰彇鏂囦欢绫诲瀷
 	 * 
 	 * @param name
 	 * @return
@@ -140,7 +140,7 @@
 	}
 
 	/**
-	 * 获取文件目标路径
+	 * 鑾峰彇鏂囦欢鐩爣璺緞
 	 * 
 	 * @param name
 	 * @return
diff --git a/src/main/java/com/qxueyou/scc/teach/res/service/impl/ResService.java b/src/main/java/com/qxueyou/scc/teach/res/service/impl/ResService.java
index 0201575..0c96522 100644
--- a/src/main/java/com/qxueyou/scc/teach/res/service/impl/ResService.java
+++ b/src/main/java/com/qxueyou/scc/teach/res/service/impl/ResService.java
@@ -30,9 +30,9 @@
 import com.qxueyou.scc.teach.subject.service.impl.SubjectLectureService;
 
 /**
- * 资源服务
+ * 璧勬簮鏈嶅姟
  *
- * @author 夏德虎
+ * @author 澶忓痉铏�
  */
 @Service
 public class ResService extends CommonAppService implements IResService {
@@ -51,7 +51,7 @@
     private IClassLectureService classLectureService;
 
     /**
-     * 各类型资源服务实现
+     * 鍚勭被鍨嬭祫婧愭湇鍔″疄鐜�
      */
     private Map<String, IResItemService> resItemServiceMap = new HashMap<String, IResItemService>(6);
 
@@ -157,7 +157,7 @@
     }
 
     /**
-     * @param resId 资源id
+     * @param resId 璧勬簮id
      * @return
      */
     private Result delete(String resId) {
@@ -312,7 +312,7 @@
         if(Res.FILE_TYPE_DOC.equals(res.getType())) {
         	 return new Result(true, "success",
                      CollectionUtils.newObjectMap("path", path, "name", res.getName(), "coverPageUrl", res.getCoverPageUrl(), "size",
-                    		 this.classLectureService.readDocPageCount(res.getItemDestId())));//文件的页数
+                    		 this.classLectureService.readDocPageCount(res.getItemDestId())));//鏂囦欢鐨勯〉鏁�
         }else {
         	 return new Result(true, "success",
                      CollectionUtils.newObjectMap("path", path, "name", res.getName(), "coverPageUrl", res.getCoverPageUrl(), "size", 0));
@@ -360,7 +360,7 @@
     public Result deleteDir(String[] dirIds) {
 
         for (String dirId : dirIds) {
-            deleteFile4Dir(dirId);// 删除对应的文件
+            deleteFile4Dir(dirId);// 鍒犻櫎瀵瑰簲鐨勬枃浠�
             deleteDir(dirId);
         }
 
@@ -379,9 +379,9 @@
     }
 
     /**
-     * 删除资源库文件夹对应删除文件
+     * 鍒犻櫎璧勬簮搴撴枃浠跺す瀵瑰簲鍒犻櫎鏂囦欢
      *
-     * @param dirId 文件夹id
+     * @param dirId 鏂囦欢澶筰d
      */
     @Override
     public void deleteFile4Dir(String dirId) {
@@ -393,7 +393,7 @@
     @Override
     public ResDir doGetRootDir(String type, String ownerId) {
         ResLib lib = getResLib(type, ownerId);
-        // 无资源库则初始化,并返回根节点
+        // 鏃犺祫婧愬簱鍒欏垵濮嬪寲,骞惰繑鍥炴牴鑺傜偣
         if (lib == null) {
             Result result = initResLib(type, ownerId);
             return read(ResDir.class, result.getDataT("rootDirId"));
@@ -411,11 +411,11 @@
 
     private List<ResDir> doGetChildDirsInner(String parentDirId, String type) {
 
-        // 根节点的处理
+        // 鏍硅妭鐐圭殑澶勭悊
         if (StringUtils.isEmpty(parentDirId)) {
             ResLib lib = getResLib(type, ClientUtils.getUserId());
 
-            // 无资源库则初始化,并返回根节点
+            // 鏃犺祫婧愬簱鍒欏垵濮嬪寲,骞惰繑鍥炴牴鑺傜偣
             if (lib == null) {
                 Result result = initUserLib();
                 return CollectionUtils.newList(ResDir.class, read(ResDir.class, result.getDataT("rootDirId")));
@@ -454,7 +454,7 @@
 
         if (lib == null) {
 
-            Result result = addDir(RES_DIR_ROOT, "根目录");
+            Result result = addDir(RES_DIR_ROOT, "鏍圭洰褰�");
 
             lib = new ResLib();
 
@@ -501,7 +501,7 @@
     }
 
     /**
-     * 定时器监控转码完成后设置同步res表的状态
+     * 瀹氭椂鍣ㄧ洃鎺ц浆鐮佸畬鎴愬悗璁剧疆鍚屾res琛ㄧ殑鐘舵��
      */
     @Scheduled(cron = "0/2 * * * * ?")
     public void doTimer() {
diff --git a/src/main/java/com/qxueyou/scc/teach/res/service/impl/resitem/ResItemAudioService.java b/src/main/java/com/qxueyou/scc/teach/res/service/impl/resitem/ResItemAudioService.java
index 01ae2a2..943d14f 100644
--- a/src/main/java/com/qxueyou/scc/teach/res/service/impl/resitem/ResItemAudioService.java
+++ b/src/main/java/com/qxueyou/scc/teach/res/service/impl/resitem/ResItemAudioService.java
@@ -49,7 +49,7 @@
 		}catch (Exception e){
 			e.printStackTrace();
 		}
-		// 将mediaVideoId放进缓存
+		// 灏唌ediaVideoId鏀捐繘缂撳瓨
 		cacheService.lstRightPush(ResItemVideoService.RES_VIDEO_CONVER_LST, mediaVideoId);
 		save(audio);
 
diff --git a/src/main/java/com/qxueyou/scc/teach/res/service/impl/resitem/ResItemDocService.java b/src/main/java/com/qxueyou/scc/teach/res/service/impl/resitem/ResItemDocService.java
index f5f754c..e4128fe 100644
--- a/src/main/java/com/qxueyou/scc/teach/res/service/impl/resitem/ResItemDocService.java
+++ b/src/main/java/com/qxueyou/scc/teach/res/service/impl/resitem/ResItemDocService.java
@@ -43,7 +43,7 @@
 		doc.setHandoutId(handoutId);
 		doc.setStatus(ResItemDoc.STATUS_LINEUP);
 		save(doc);
-		// 将文档id放进缓存
+		// 灏嗘枃妗d鏀捐繘缂撳瓨
 		cacheService.lstRightPush(RES_DOC_CONVER_LST, handoutId);
 		return doc.getDocId();
 	}
@@ -126,7 +126,7 @@
 		return Res.FILE_TYPE_DOC;
 	}
 
-	@Scheduled(cron = "0/2 * * * * ?") // 每10秒执行一次
+	@Scheduled(cron = "0/2 * * * * ?") // 姣�10绉掓墽琛屼竴娆�
 	public void doTimer() {
 
 		String id = cacheService.lstLeftPop(RES_DOC_CONVER_LST);
diff --git a/src/main/java/com/qxueyou/scc/teach/res/service/impl/resitem/ResItemVideoService.java b/src/main/java/com/qxueyou/scc/teach/res/service/impl/resitem/ResItemVideoService.java
index 51f6744..3c26b90 100644
--- a/src/main/java/com/qxueyou/scc/teach/res/service/impl/resitem/ResItemVideoService.java
+++ b/src/main/java/com/qxueyou/scc/teach/res/service/impl/resitem/ResItemVideoService.java
@@ -58,7 +58,7 @@
             resVideo.setStatus(ResItemVideo.STATUS_LINEUP);
             save(resVideo);
 
-            // 将mediaVideoId放进缓存
+            // 灏唌ediaVideoId鏀捐繘缂撳瓨
             cacheService.lstRightPush(RES_VIDEO_CONVER_LST, mediaVideoId);
         }catch (Exception e){
             e.printStackTrace();
@@ -155,9 +155,9 @@
     }
 
     /**
-     * 定时器转码成功后 同步更新ResItemVideo的状态
+     * 瀹氭椂鍣ㄨ浆鐮佹垚鍔熷悗 鍚屾鏇存柊ResItemVideo鐨勭姸鎬�
      */
-    @Scheduled(cron = "0/2 * * * * ?") // 每2秒执行一次
+    @Scheduled(cron = "0/2 * * * * ?") // 姣�2绉掓墽琛屼竴娆�
     public void doTimer() {
 
         String mediaVideoId = cacheService.lstLeftPop(RES_VIDEO_CONVER_LST);
@@ -177,7 +177,7 @@
                 resItemVideo.setVideoSeconds(mediaVideo.getPlayTime());
                 save(resItemVideo);
 
-                cacheService.lstRightPush(ResService.RES_TOUPDATE_CONVER_STATUS_LST, resItemVideo.getVideoId());// 将转码完成后的文件id放入缓存。
+                cacheService.lstRightPush(ResService.RES_TOUPDATE_CONVER_STATUS_LST, resItemVideo.getVideoId());// 灏嗚浆鐮佸畬鎴愬悗鐨勬枃浠秈d鏀惧叆缂撳瓨銆�
                 return;
             } else if (mediaVideo.getType().equals("audio")) {
                 ResItemAudio resItemAudio = findUnique(
@@ -188,7 +188,7 @@
                 resItemAudio.setSeconds(mediaVideo.getPlayTime());
                 save(resItemAudio);
 
-                cacheService.lstRightPush(ResService.RES_TOUPDATE_CONVER_STATUS_LST, resItemAudio.getAudioId());// 将转码完成后的文件id放入缓存。
+                cacheService.lstRightPush(ResService.RES_TOUPDATE_CONVER_STATUS_LST, resItemAudio.getAudioId());// 灏嗚浆鐮佸畬鎴愬悗鐨勬枃浠秈d鏀惧叆缂撳瓨銆�
                 return;
             }
 
diff --git a/src/main/java/com/qxueyou/scc/teach/student/model/StuStudent.java b/src/main/java/com/qxueyou/scc/teach/student/model/StuStudent.java
index 221fcb6..46262c5 100644
--- a/src/main/java/com/qxueyou/scc/teach/student/model/StuStudent.java
+++ b/src/main/java/com/qxueyou/scc/teach/student/model/StuStudent.java
@@ -28,7 +28,7 @@
 	private static final long serialVersionUID = 7504161189427721559L;
 	
 	/*
-	 * 状态: 已报名
+	 * 鐘舵��: 宸叉姤鍚�
 	 */
 	public static final String STATUS_REGISTER = "register";
 	public static final String STATUS_ACTIVE = "active";
diff --git a/src/main/java/com/qxueyou/scc/teach/student/service/IStudentService.java b/src/main/java/com/qxueyou/scc/teach/student/service/IStudentService.java
index 499b241..081bb48 100644
--- a/src/main/java/com/qxueyou/scc/teach/student/service/IStudentService.java
+++ b/src/main/java/com/qxueyou/scc/teach/student/service/IStudentService.java
@@ -10,11 +10,11 @@
 public interface IStudentService {
 
 	/**
-	 * 新增学员
-	 * @param name 学员姓名
-	 * @param studentNo 学号
-	 * @param sex 性别,Boolean: 1:男;0:女
-	 * @param phoneNo 手机号码
+	 * 鏂板瀛﹀憳
+	 * @param name 瀛﹀憳濮撳悕
+	 * @param studentNo 瀛﹀彿
+	 * @param sex 鎬у埆锛孊oolean: 1:鐢�;0:濂�
+	 * @param phoneNo 鎵嬫満鍙风爜
 	 * @return
 	 */
 	Result insertStudent(String classId,String name, String studentNo, boolean sex,String phoneNo, String orgId);
@@ -22,36 +22,36 @@
 	Result insertStudent(String classId,String name, String studentNo, boolean sex,String phoneNo, String orgId,String comName);
 
 	/**
-	 * 获取学员列表
-	 * @param classId 班级id
-	 * @param keyword 关键词
-	 * @param pageNum 页码
-	 * @param pageSize 每页显示数量
+	 * 鑾峰彇瀛﹀憳鍒楄〃
+	 * @param classId 鐝骇id
+	 * @param keyword 鍏抽敭璇�
+	 * @param pageNum 椤电爜
+	 * @param pageSize 姣忛〉鏄剧ず鏁伴噺
 	 * @return
 	 */
 	List<Map<String, Object>> getStudentLst(String classId,String keyword, Pager pager);
 	Result updateImgStudent(String studentId);
 
 	/**
-	 * 获取学员数量
-	 * @param classId 班级id
-	 * @param keyword 关键词
+	 * 鑾峰彇瀛﹀憳鏁伴噺
+	 * @param classId 鐝骇id
+	 * @param keyword 鍏抽敭璇�
 	 * @return
 	 */
 	int getStudentsCount(String classId,String keyword);
 
 	/**
-	 * 删除学员
-	 * @param classId 班级id
-	 * @param studentIds 学员id
+	 * 鍒犻櫎瀛﹀憳
+	 * @param classId 鐝骇id
+	 * @param studentIds 瀛﹀憳id
 	 * @return
 	 */
 	Result deleteStudent(String classId,String[] studentIds);
 
 	/**
-	 * 查看学员
-	 * @param classId 班级id
-	 * @param studentId 学员id
+	 * 鏌ョ湅瀛﹀憳
+	 * @param classId 鐝骇id
+	 * @param studentId 瀛﹀憳id
 	 * @return
 	 */
 	Result queryStudent(String classId,String studentId);
@@ -71,7 +71,7 @@
 	Result doDeActivateStudent(String[] studentIds);
 
 	/**
-	 * 学员学习进度
+	 * 瀛﹀憳瀛︿範杩涘害
 	 *
 	 * @param classId
 	 * @param studentId
@@ -80,7 +80,7 @@
 	Result studentProgress(String classId, String studentId);
 
 	/**
-	 * 更新学生信息
+	 * 鏇存柊瀛︾敓淇℃伅
 	 * @param studentId
 	 * @param name
 	 * @param password
@@ -92,7 +92,7 @@
 	Result updateStudent(String studentId, String name, String password, String studentNo, boolean sex, String phoneNo);
 
 	/**
-	 * 通过用户获取学生信息
+	 * 閫氳繃鐢ㄦ埛鑾峰彇瀛︾敓淇℃伅
 	 * @param userId
 	 * @return
 	 */
diff --git a/src/main/java/com/qxueyou/scc/teach/student/service/impl/StudentService.java b/src/main/java/com/qxueyou/scc/teach/student/service/impl/StudentService.java
index b1b5b0f..13b8d8d 100644
--- a/src/main/java/com/qxueyou/scc/teach/student/service/impl/StudentService.java
+++ b/src/main/java/com/qxueyou/scc/teach/student/service/impl/StudentService.java
@@ -52,7 +52,7 @@
     public Result insertStudent(String classId, String name, String studentNo, boolean sex, String phoneNo, String orgId) {
 
         if (dao.exists(studentNo, orgId)) {
-            return new Result(false, "学号已存在");
+            return new Result(false, "瀛﹀彿宸插瓨鍦�");
         }
 
         User user = userService.insertUser(name, studentNo, phoneNo, "000000", sex, orgId);
@@ -71,7 +71,7 @@
         student.setUserId(user.getUserId());
         student.setMobilePhone(phoneNo);
         if(StringUtils.isNoneBlank(classId)) {
-        	bulkUpdate("update ClsClass set studentCount = studentCount + 1  where deleteFlag is false and classId = ?", new Object[]{classId});
+            bulkUpdate("update ClsClass set studentCount = studentCount + 1  where deleteFlag is false and classId = ?", new Object[]{classId});
         }
         save(student);
 
@@ -83,7 +83,7 @@
     public Result insertStudent(String classId, String name, String studentNo, boolean sex, String phoneNo, String orgId,String comName) {
 
         if (dao.exists(studentNo, orgId)) {
-            return new Result(false, "学号已存在");
+            return new Result(false, "瀛﹀彿宸插瓨鍦�");
         }
 
         User user = userService.insertUser(name, studentNo, phoneNo, "000000", sex, orgId);
@@ -101,32 +101,32 @@
         student.setSex(sex);
         student.setUserId(user.getUserId());
         student.setMobilePhone(phoneNo);
-        //公司名称
+        //鍏徃鍚嶇О
         student.setSubjectId(comName);
 
         if(StringUtils.isNoneBlank(classId)) {
-        	bulkUpdate("update ClsClass set studentCount = studentCount + 1  where deleteFlag is false and classId = ?", new Object[]{classId});
+            bulkUpdate("update ClsClass set studentCount = studentCount + 1  where deleteFlag is false and classId = ?", new Object[]{classId});
         }
         save(student);
 
         return new Result(true, "success", CollectionUtils.newStringMap("studentId", student.getStudentId(), "password", user.getPassword()));
     }
 
-	@Override
-	public Result updateImgStudent(String studentId){
-		//根据学学员ID,获取用户信息
-		StuStudent stu = this.read(StuStudent.class, studentId);
-		stu.setTenantId("1");
-		save(stu);
-		return new Result(true, "success");
-	}
-	@Override
+    @Override
+    public Result updateImgStudent(String studentId){
+        //鏍规嵁瀛﹀鍛業D锛岃幏鍙栫敤鎴蜂俊鎭�
+        StuStudent stu = this.read(StuStudent.class, studentId);
+        stu.setTenantId("1");
+        save(stu);
+        return new Result(true, "success");
+    }
+    @Override
     public Result updateStudent(String studentId, String name,String password, String studentNo, boolean sex, String phoneNo) {
-    	//根据学学员ID,获取用户信息
+        //鏍规嵁瀛﹀鍛業D锛岃幏鍙栫敤鎴蜂俊鎭�
         StuStudent stu = this.read(StuStudent.class, studentId);
 
-    	if (!stu.getStudentNo().equals(studentNo) && dao.exists(studentNo,ClientUtils.getOrgId())) {
-            return new Result(false, "学号已存在");
+        if (!stu.getStudentNo().equals(studentNo) && dao.exists(studentNo,ClientUtils.getOrgId())) {
+            return new Result(false, "瀛﹀彿宸插瓨鍦�");
         }
 
         stu.setName(name);
@@ -141,7 +141,7 @@
         user.setSex(sex);
         user.setMobilePhone(phoneNo);
         if(!StringUtils.isEmpty(password)){
-        	user.setPassword(password);
+            user.setPassword(password);
         }
         user.setName(name);
         save(user);
@@ -151,42 +151,42 @@
 
     @Override
     public List<Map<String, Object>> getStudentLst(String classId, String keyword, Pager pager) {
-    	QUser qUser = QUser.user;
-    	QStuStudent qStuStudent = QStuStudent.stuStudent;
-		return this.getQueryFactory()
-				.select(qStuStudent.studentId, qStuStudent.name, qStuStudent.studentNo, qStuStudent.sex,
-						qStuStudent.mobilePhone, qStuStudent.status, qStuStudent.studyDuration, qStuStudent.tenantId, qStuStudent.score,
-						qUser.imgPath)
-				.from(qUser, qStuStudent)
-				.where(qUser.deleteFlag.isFalse().and(qUser.userId.eq(qStuStudent.userId))
-						.and(qStuStudent.classId.eq(classId)).and(qStuStudent.name.like("%" + keyword + "%")).and(qStuStudent.deleteFlag.isFalse()))
-				.limit(pager.getPageSize()).offset(pager.getOffset()).orderBy(qStuStudent.createTime.desc()).fetch().stream().map(tuple -> {
-					Map<String, Object> map = new HashMap<String, Object>();
-					map.put("studentId", tuple.get(qStuStudent.studentId));
-					map.put("name", tuple.get(qStuStudent.name));
-					map.put("studentNo", tuple.get(qStuStudent.studentNo));
-					map.put("studentNumber", tuple.get(qStuStudent.studentNo));
-					map.put("sex", tuple.get(qStuStudent.sex));
-					map.put("mobilePhone", tuple.get(qStuStudent.mobilePhone));
-					map.put("status", tuple.get(qStuStudent.status));
-					map.put("studyDuration", tuple.get(qStuStudent.studyDuration));
-					map.put("tenantId", tuple.get(qStuStudent.tenantId));
-					map.put("score", tuple.get(qStuStudent.score));
-					map.put("imgPath", tuple.get(qUser.imgPath));
-					return map;
-				}).collect(Collectors.toList());
+        QUser qUser = QUser.user;
+        QStuStudent qStuStudent = QStuStudent.stuStudent;
+        return this.getQueryFactory()
+                .select(qStuStudent.studentId, qStuStudent.name, qStuStudent.studentNo, qStuStudent.sex,
+                        qStuStudent.mobilePhone, qStuStudent.status, qStuStudent.studyDuration, qStuStudent.tenantId, qStuStudent.score,
+                        qUser.imgPath)
+                .from(qUser, qStuStudent)
+                .where(qUser.deleteFlag.isFalse().and(qUser.userId.eq(qStuStudent.userId))
+                        .and(qStuStudent.classId.eq(classId)).and(qStuStudent.name.like("%" + keyword + "%")).and(qStuStudent.deleteFlag.isFalse()))
+                .limit(pager.getPageSize()).offset(pager.getOffset()).orderBy(qStuStudent.createTime.desc()).fetch().stream().map(tuple -> {
+                    Map<String, Object> map = new HashMap<String, Object>();
+                    map.put("studentId", tuple.get(qStuStudent.studentId));
+                    map.put("name", tuple.get(qStuStudent.name));
+                    map.put("studentNo", tuple.get(qStuStudent.studentNo));
+                    map.put("studentNumber", tuple.get(qStuStudent.studentNo));
+                    map.put("sex", tuple.get(qStuStudent.sex));
+                    map.put("mobilePhone", tuple.get(qStuStudent.mobilePhone));
+                    map.put("status", tuple.get(qStuStudent.status));
+                    map.put("studyDuration", tuple.get(qStuStudent.studyDuration));
+                    map.put("tenantId", tuple.get(qStuStudent.tenantId));
+                    map.put("score", tuple.get(qStuStudent.score));
+                    map.put("imgPath", tuple.get(qUser.imgPath));
+                    return map;
+                }).collect(Collectors.toList());
     }
 
     @Override
     public int getStudentsCount(String classId, String keyword) {
-//		//TODO 判断是否为补考分组
+//		//TODO 鍒ゆ柇鏄惁涓鸿ˉ鑰冨垎缁�
 //		ClsClass cls = clsService.read(classId);
 //		String hql=null;
 //		if(cls!=null && cls.getClassTypes()!=null && "1".equals(cls.getClassTypes())){
-//			//TODO 补考分组需要另一种查询学员 stu.tenantId = class.classId
+//			//TODO 琛ヨ�冨垎缁勯渶瑕佸彟涓�绉嶆煡璇㈠鍛� stu.tenantId = class.classId
 //         	hql = "from StuStudent where tenantId=:classId and name like :keyword and deleteFlag is false";
 //		}else {
-         String	hql = "from StuStudent where classId=:classId and name like :keyword and deleteFlag is false";
+        String	hql = "from StuStudent where classId=:classId and name like :keyword and deleteFlag is false";
 //		}
         return findCountByComplexHql(hql, CollectionUtils.newObjectMap("classId", classId, "keyword", "%" + keyword + "%" ));
 
@@ -205,14 +205,14 @@
 
     private Result deleteStudent(String classId, String studentId) {
         StuStudent student = read(StuStudent.class, studentId);
-		User user = read(User.class, student.getUserId());
+        User user = read(User.class, student.getUserId());
         if (StuStudent.STATUS_ACTIVE.equals(student.getStatus())) {
-            return new Result(false, "已激活学员不能移除");
+            return new Result(false, "宸叉縺娲诲鍛樹笉鑳界Щ闄�");
         }
         TraceUtils.setUpdateTrace(student);
         student.setDeleteFlag(true);
         save(student);
-		deleteTrace(user);
+        deleteTrace(user);
 
         return new Result(true);
     }
@@ -259,7 +259,7 @@
 
         StuStudent student = read(StuStudent.class, studentId);
         if(student == null) {
-        	return new Result(false, "未查询到学员信息");
+            return new Result(false, "鏈煡璇㈠埌瀛﹀憳淇℃伅");
         }
 
         return new Result(true, "success", CollectionUtils.newObjectMap("studentId", student.getStudentId(), "name", student.getName(), "status",
@@ -277,13 +277,13 @@
     }
     @Override
     public List<StuStudent> getStudentByclassId(String classId) {
-		QStuStudent qClassStudent=QStuStudent.stuStudent;
-		return new ArrayList<>(this.getQueryFactory()
-				.select(qClassStudent
-				)
-				.from(qClassStudent)
-				.where(qClassStudent.classId.eq(classId))
-				.fetch());
+        QStuStudent qClassStudent=QStuStudent.stuStudent;
+        return new ArrayList<>(this.getQueryFactory()
+                .select(qClassStudent
+                )
+                .from(qClassStudent)
+                .where(qClassStudent.classId.eq(classId))
+                .fetch());
     }
 
 
@@ -293,45 +293,45 @@
     @Override
     public Result studentProgress(String classId, String studentId) {
 
-    	StuStudent student = read(StuStudent.class, studentId);
-    	if(student == null) {
-    		return new Result(false, "未查询到学员信息");
-    	}
+        StuStudent student = read(StuStudent.class, studentId);
+        if(student == null) {
+            return new Result(false, "鏈煡璇㈠埌瀛﹀憳淇℃伅");
+        }
 
-    	String userId = student.getUserId();
+        String userId = student.getUserId();
 
-    	User u = this.read(User.class, userId);
-    	if(u == null) {
-    		return new Result(false, "未查询到用户信息");
-    	}
+        User u = this.read(User.class, userId);
+        if(u == null) {
+            return new Result(false, "鏈煡璇㈠埌鐢ㄦ埛淇℃伅");
+        }
 
-    	QSubjectProgressTreeV qSubjectProgressTreeV = QSubjectProgressTreeV.subjectProgressTreeV;
+        QSubjectProgressTreeV qSubjectProgressTreeV = QSubjectProgressTreeV.subjectProgressTreeV;
 
-    	//班级进度
-    	SubjectProgressTreeV objSubjectProgressTreeV = this.getQueryFactory().selectFrom(qSubjectProgressTreeV).where(qSubjectProgressTreeV.id.nodeId.eq(classId).and(qSubjectProgressTreeV.id.userId.eq(userId))).fetchOne();
+        //鐝骇杩涘害
+        SubjectProgressTreeV objSubjectProgressTreeV = this.getQueryFactory().selectFrom(qSubjectProgressTreeV).where(qSubjectProgressTreeV.id.nodeId.eq(classId).and(qSubjectProgressTreeV.id.userId.eq(userId))).fetchOne();
 
-    	if(objSubjectProgressTreeV != null) {
-    		//学员总数
-    		long studentCount = this.getQueryFactory().selectFrom(qSubjectProgressTreeV).where(qSubjectProgressTreeV.id.nodeId.eq(classId)).fetchCount();
+        if(objSubjectProgressTreeV != null) {
+            //瀛﹀憳鎬绘暟
+            long studentCount = this.getQueryFactory().selectFrom(qSubjectProgressTreeV).where(qSubjectProgressTreeV.id.nodeId.eq(classId)).fetchCount();
 
-			// 当前学员排行
-			long studentIndex = this
-					.getQueryFactory().selectFrom(qSubjectProgressTreeV).where(qSubjectProgressTreeV.id.nodeId
-							.eq(classId).and(qSubjectProgressTreeV.percent.gt(objSubjectProgressTreeV.getPercent())
-									.or(qSubjectProgressTreeV.percent.eq(objSubjectProgressTreeV.getPercent()))))
-					.fetchCount();
+            // 褰撳墠瀛﹀憳鎺掕
+            long studentIndex = this
+                    .getQueryFactory().selectFrom(qSubjectProgressTreeV).where(qSubjectProgressTreeV.id.nodeId
+                            .eq(classId).and(qSubjectProgressTreeV.percent.gt(objSubjectProgressTreeV.getPercent())
+                                    .or(qSubjectProgressTreeV.percent.eq(objSubjectProgressTreeV.getPercent()))))
+                    .fetchCount();
 
-    		//学员的课程
-    		List<Map<String, Object>> lstSubject =  this.subjectService.myClsSubjectlist(classId, userId, new Pager(Integer.MAX_VALUE, 0));
+            //瀛﹀憳鐨勮绋�
+            List<Map<String, Object>> lstSubject =  this.subjectService.myClsSubjectlist(classId, userId, new Pager(Integer.MAX_VALUE, 0));
 
-    		return new Result(true, "success", CollectionUtils.newObjectMap("studentId", student.getStudentId(), "name", student.getName(), "imgPath", u.getImgPath(),
-    				 "status", student.getStatus(), "studentNumber", student.getStudentNo(), "sex", student.getSex(), "mobilePhone",
-    				student.getMobilePhone(), "subjectList", lstSubject, "studentCount", studentCount, "studentIndex", studentIndex, "studyDuration", objSubjectProgressTreeV.getProgressValue()));
-    	}{
-    		return new Result(true, "success", CollectionUtils.newObjectMap("studentId", student.getStudentId(), "name", student.getName(), "imgPath", u.getImgPath(),
-    				"status", student.getStatus(), "studentNumber", student.getStudentNo(), "sex", student.getSex(), "mobilePhone",
-    				student.getMobilePhone(), "subjectList", new ArrayList<Map<String, Object>>(), "studentCount", 0, "studentIndex", 1, "studyDuration", 0));
-    	}
+            return new Result(true, "success", CollectionUtils.newObjectMap("studentId", student.getStudentId(), "name", student.getName(), "imgPath", u.getImgPath(),
+                    "status", student.getStatus(), "studentNumber", student.getStudentNo(), "sex", student.getSex(), "mobilePhone",
+                    student.getMobilePhone(), "subjectList", lstSubject, "studentCount", studentCount, "studentIndex", studentIndex, "studyDuration", objSubjectProgressTreeV.getProgressValue()));
+        }{
+            return new Result(true, "success", CollectionUtils.newObjectMap("studentId", student.getStudentId(), "name", student.getName(), "imgPath", u.getImgPath(),
+                    "status", student.getStatus(), "studentNumber", student.getStudentNo(), "sex", student.getSex(), "mobilePhone",
+                    student.getMobilePhone(), "subjectList", new ArrayList<Map<String, Object>>(), "studentCount", 0, "studentIndex", 1, "studyDuration", 0));
+        }
 
 
     }
diff --git a/src/main/java/com/qxueyou/scc/teach/subject/model/Subject.java b/src/main/java/com/qxueyou/scc/teach/subject/model/Subject.java
index 8492f72..91e70a7 100644
--- a/src/main/java/com/qxueyou/scc/teach/subject/model/Subject.java
+++ b/src/main/java/com/qxueyou/scc/teach/subject/model/Subject.java
@@ -23,7 +23,7 @@
 
 
 /**
- * 课程
+ * 璇剧▼
  * @author ody.yuan
  *
  */
@@ -39,15 +39,15 @@
 	@Column(name="SUBJECT_ID", unique=true, nullable=false, length=32)
 	private String subjectId;
 
-	/**  名称  */
+	/**  鍚嶇О  */
 	@Column(name="NAME", length=150)
 	private String name;
 
-	/**  全称 */
+	/**  鍏ㄧО */
 	@Column(name="FULL_NAME", length=255)
 	private String fullName;
 	
-	/**  编码 */
+	/**  缂栫爜 */
 	@Column(name="CODE", length=64)
 	private String code;
 	
@@ -109,7 +109,7 @@
 	public final static String STATUS_OFFLINE = "2";
 	
 	/**
-	 * 1:管理员课程,2:班级课程,3:公开课程
+	 * 1:绠$悊鍛樿绋嬶紝2:鐝骇璇剧▼,3:鍏紑璇剧▼
 	 */
 	public final static int TYPE_ORG_SUBJECT =1;
 	
diff --git a/src/main/java/com/qxueyou/scc/teach/subject/model/SubjectUtils.java b/src/main/java/com/qxueyou/scc/teach/subject/model/SubjectUtils.java
index d217b42..f6e1efe 100644
--- a/src/main/java/com/qxueyou/scc/teach/subject/model/SubjectUtils.java
+++ b/src/main/java/com/qxueyou/scc/teach/subject/model/SubjectUtils.java
@@ -4,7 +4,7 @@
 import java.math.BigDecimal;
 
 /**
- * 工具类 用来缓存课程信息
+ * 宸ュ叿绫� 鐢ㄦ潵缂撳瓨璇剧▼淇℃伅
  */
 public class SubjectUtils implements java.io.Serializable {
     private String subjectId;
diff --git a/src/main/java/com/qxueyou/scc/teach/subject/service/ILectureService.java b/src/main/java/com/qxueyou/scc/teach/subject/service/ILectureService.java
index 28dba90..9b82060 100644
--- a/src/main/java/com/qxueyou/scc/teach/subject/service/ILectureService.java
+++ b/src/main/java/com/qxueyou/scc/teach/subject/service/ILectureService.java
@@ -14,20 +14,20 @@
 public interface ILectureService {
 
 	/**
-	 * 新增章节文件夹
+	 * 鏂板绔犺妭鏂囦欢澶�
 	 *
 	 * @param subjectId
-	 *            课程id
+	 *            璇剧▼id
 	 * @param parentChapterId
-	 *            父级章节文件夹id
+	 *            鐖剁骇绔犺妭鏂囦欢澶筰d
 	 * @param name
-	 *            文件夹名称
-	 * @return 上传结果:{"success":true,msg:"success",attrs:{"chapterId","90023afwe32300fee23"}},若成功,则返回ChapterId
+	 *            鏂囦欢澶瑰悕绉�
+	 * @return 涓婁紶缁撴灉:{"success":true,msg:"success",attrs:{"chapterId","90023afwe32300fee23"}},鑻ユ垚鍔燂紝鍒欒繑鍥濩hapterId
 	 */
 	Result addChapter(String subjectId, String parentChapterId, String name);
 
 	/**
-	 * 读取课件目录
+	 * 璇诲彇璇句欢鐩綍
 	 *
 	 * @param chapterId
 	 * @return
@@ -35,233 +35,233 @@
 	SubjectChapter readChapter(String chapterId);
 
 	/**
-	 * 修改章节文件夹
+	 * 淇敼绔犺妭鏂囦欢澶�
 	 *
 	 * @param chapterId
-	 *            文件夹id
+	 *            鏂囦欢澶筰d
 	 * @param name
-	 *            名称
-	 * @return 上传结果:{"success":true,msg:"success",attrs:{}}
+	 *            鍚嶇О
+	 * @return 涓婁紶缁撴灉:{"success":true,msg:"success",attrs:{}}
 	 */
 	Result updateChapter(String chapterId, String name);
 
 	/**
-	 * 删除章节文件夹
+	 * 鍒犻櫎绔犺妭鏂囦欢澶�
 	 *
 	 * @param chapterIds
-	 *            章节文件夹id数组
-	 * @return 上传结果:{"success":true,msg:"success",attrs:{}}
+	 *            绔犺妭鏂囦欢澶筰d鏁扮粍
+	 * @return 涓婁紶缁撴灉:{"success":true,msg:"success",attrs:{}}
 	 */
 	Result deleteChapter(String[] chapterIds);
 
 	/**
-	 * 返回下级章节文件夹列表,如果
+	 * 杩斿洖涓嬬骇绔犺妭鏂囦欢澶瑰垪琛�,濡傛灉
 	 *
 	 * @param subjectId
-	 *            课程id
+	 *            璇剧▼id
 	 * @param parentChapterId
-	 *            父级章节文件夹id
-	 * @return 返回章节列表
+	 *            鐖剁骇绔犺妭鏂囦欢澶筰d
+	 * @return 杩斿洖绔犺妭鍒楄〃
 	 */
 	List<SubjectChapter> doGetListChapter(String subjectId, String parentChapterId);
 
 	/**
-	 * 返回下级章节文件夹列表,如果
+	 * 杩斿洖涓嬬骇绔犺妭鏂囦欢澶瑰垪琛�,濡傛灉
 	 *
 	 * @param subjectId
-	 *            课程id
+	 *            璇剧▼id
 	 * @param parentChapterId
-	 *            父级章节文件夹id
-	 * @return 返回章节列表
+	 *            鐖剁骇绔犺妭鏂囦欢澶筰d
+	 * @return 杩斿洖绔犺妭鍒楄〃
 	 */
 	List<SubjectProgressTreeV> getChapterTreeVList(String subjectId, String parentChapterId);
 
 	/**
-	 * 返回下级章节文件夹列表
+	 * 杩斿洖涓嬬骇绔犺妭鏂囦欢澶瑰垪琛�
 	 *
 	 * @param subjectId
-	 *            课程id
+	 *            璇剧▼id
 	 * @param parentChapterId
-	 *            父级章节文件夹id
-	 * @return 返回章节列表
+	 *            鐖剁骇绔犺妭鏂囦欢澶筰d
+	 * @return 杩斿洖绔犺妭鍒楄〃
 	 */
 	List<SubjectChapter> getListChapter(String subjectId, String parentChapterId);
 
 	/**
-	 * 返回所有章节列表,按createTime排序
+	 * 杩斿洖鎵�鏈夌珷鑺傚垪琛紝鎸塩reateTime鎺掑簭
 	 *
 	 * @param subjectId
-	 *            课程id
-	 * @return 返回章节列表
+	 *            璇剧▼id
+	 * @return 杩斿洖绔犺妭鍒楄〃
 	 */
 	List<SubjectChapter> getAllChapterBySubjectId(String subjectId);
 
 	/**
-	 * 新增课件
+	 * 鏂板璇句欢
 	 *
 	 * @param chapterId
-	 *            章节id
+	 *            绔犺妭id
 	 * @param resId
-	 *            资源id
-	 * @return 上传结果:{"success":true,msg:"success",attrs:{"chapterId","90023afwe32300fee23"}},若成功,则返回chapterId
+	 *            璧勬簮id
+	 * @return 涓婁紶缁撴灉:{"success":true,msg:"success",attrs:{"chapterId","90023afwe32300fee23"}},鑻ユ垚鍔燂紝鍒欒繑鍥瀋hapterId
 	 */
 	Result addLecture(String chapterId, String resId);
 
 
 	/**
-	 * 新增后刷新课件
+	 * 鏂板鍚庡埛鏂拌浠�
 	 */
 	Result addLectureLoad(String sectionId);
 	/**
-	 * 读取课件
+	 * 璇诲彇璇句欢
 	 *
 	 * @param lectureId
-	 *            课件id
+	 *            璇句欢id
 	 * @return SubjectLecture
 	 */
 	SubjectLecture readLecture(String lectureId);
 
 	/**
-	 * 读取视频课件
+	 * 璇诲彇瑙嗛璇句欢
 	 *
 	 * @param lectureId
-	 *            课件id
+	 *            璇句欢id
 	 * @return SubjectLecture
 	 */
 	LectureVideoV readVideoLecture(String lectureId);
 
 	/**
-	 * 读取音频课件
+	 * 璇诲彇闊抽璇句欢
 	 *
 	 * @param lectureId
-	 *            课件id
+	 *            璇句欢id
 	 * @return LectureAudioV
 	 */
 	LectureAudioV readAudioLecture(String lectureId);
 
 	/**
-	 * 修改课件
+	 * 淇敼璇句欢
 	 *
 	 * @param lectureId
-	 *            课件id
+	 *            璇句欢id
 	 * @param resId
-	 *            资源id
-	 * @return 上传结果:{"success":true,msg:"success",attrs:{}}
+	 *            璧勬簮id
+	 * @return 涓婁紶缁撴灉:{"success":true,msg:"success",attrs:{}}
 	 */
 	Result updateLecture(String lectureId, String resId);
 
 	/**
-	 * 删除课件
+	 * 鍒犻櫎璇句欢
 	 *
 	 * @param lectureIds
-	 *            课件id数组
-	 * @return 上传结果:{"success":true,msg:"success",attrs:{}}
+	 *            璇句欢id鏁扮粍
+	 * @return 涓婁紶缁撴灉:{"success":true,msg:"success",attrs:{}}
 	 */
 	Result deleteLecture(String[] lectureIds);
 
 	Result deleteLectureLoad(String[] lectureIds);
 
 	/**
-	 * 复制课件
+	 * 澶嶅埗璇句欢
 	 *
 	 * @param lectureId
-	 *            课件id
+	 *            璇句欢id
 	 * @param destChapterId
-	 *            目标章节id
+	 *            鐩爣绔犺妭id
 	 * @param name
-	 *            课件名称
-	 * @return 上传结果:{"success":true,msg:"success",attrs:{}}
+	 *            璇句欢鍚嶇О
+	 * @return 涓婁紶缁撴灉:{"success":true,msg:"success",attrs:{}}
 	 */
 	Result doCopyLecture(String lectureId, String destChapterId, String name);
 
 	/**
-	 * 移动课件
+	 * 绉诲姩璇句欢
 	 *
 	 * @param lectureId
-	 *            课件id
+	 *            璇句欢id
 	 * @param destChapterId
-	 *            目标章节id
+	 *            鐩爣绔犺妭id
 	 * @param name
-	 *            课件名称
-	 * @return 上传结果:{"success":true,msg:"success",attrs:{}}
+	 *            璇句欢鍚嶇О
+	 * @return 涓婁紶缁撴灉:{"success":true,msg:"success",attrs:{}}
 	 */
 	Result doMoveLecture(String lectureId, String destChapterId, String name);
 
 	/**
-	 * 课件列表搜索
+	 * 璇句欢鍒楄〃鎼滅储
 	 *
 	 * @param chapterId
-	 *            章节id
+	 *            绔犺妭id
 	 * @param keyword
-	 *            关键字
+	 *            鍏抽敭瀛�
 	 * @param pageSize
-	 *            页码
+	 *            椤电爜
 	 * @param pageNum
-	 *            每页显示数据条数
+	 *            姣忛〉鏄剧ず鏁版嵁鏉℃暟
 	 * @param type
-	 *            类型
+	 *            绫诲瀷
 	 * @return
 	 */
 	List<SubjectLecture> listLecture(String chapterId, String keyword, Integer pageSize, Integer pageNum, String type);
 
 	/**
-	 * 课件列表大小
+	 * 璇句欢鍒楄〃澶у皬
 	 *
 	 * @param chapterId
-	 *            章节id
+	 *            绔犺妭id
 	 * @param keyword
-	 *            关键字
+	 *            鍏抽敭瀛�
 	 * @param type
-	 *            类型
+	 *            绫诲瀷
 	 * @return
 	 */
 	int listLectureCount(String chapterId, String keyword, String type);
 
 	/**
-	 * 课件列表搜索
+	 * 璇句欢鍒楄〃鎼滅储
 	 *
 	 * @param chapterId
-	 *            章节id
+	 *            绔犺妭id
 	 * @param keyword
-	 *            关键字
+	 *            鍏抽敭瀛�
 	 * @param pageSize
-	 *            页码
+	 *            椤电爜
 	 * @param pageNum
-	 *            每页显示数据条数
+	 *            姣忛〉鏄剧ず鏁版嵁鏉℃暟
 	 * @param type
-	 *            类型
+	 *            绫诲瀷
 	 * @return
 	 */
 	List<MyLectureV> listLectureV(String learnerId, String chapterId, String keyword, Integer pageSize, Integer pageNum,
 			String type);
 
 	/**
-	 * 课件列表搜索
+	 * 璇句欢鍒楄〃鎼滅储
 	 *
 	 * @return
 	 */
 	List<SubjectLecture> listLectureBySubjectId(String subjectId);
 
 	/**
-	 * 读取课件真实文件访问路径
+	 * 璇诲彇璇句欢鐪熷疄鏂囦欢璁块棶璺緞
 	 *
 	 * @param lectureId
-	 *            课件id数组
+	 *            璇句欢id鏁扮粍
 	 * @param attribute
-	 *            课件附加属性
-	 * @return 上传结果:{"success":true,msg:"success",attrs:{"type":"",path:""}}
+	 *            璇句欢闄勫姞灞炴��
+	 * @return 涓婁紶缁撴灉:{"success":true,msg:"success",attrs:{"type":"",path:""}}
 	 */
 	Result readLectureAccessPath(String lectureId, String attribute);
 
 	Result doStudy(String lectureId, Double from, Double to);
 
 	/**
-	 * 读取文档课件
+	 * 璇诲彇鏂囨。璇句欢
 	 */
 	LectureDocV readDocLecture(String handoutId);
 
 	/**
-	 * 课件详情查询
+	 * 璇句欢璇︽儏鏌ヨ
 	 * @param learnerId
 	 * @param subjectId
 	 * @param keyword
diff --git a/src/main/java/com/qxueyou/scc/teach/subject/service/ISubjectService.java b/src/main/java/com/qxueyou/scc/teach/subject/service/ISubjectService.java
index 779f347..3aab7fd 100644
--- a/src/main/java/com/qxueyou/scc/teach/subject/service/ISubjectService.java
+++ b/src/main/java/com/qxueyou/scc/teach/subject/service/ISubjectService.java
@@ -13,62 +13,62 @@
 public interface ISubjectService {
 
 	/**
-	 * 新增课程
+	 * 鏂板璇剧▼
 	 *
 	 * @param subjectName
-	 *            课程名称
+	 *            璇剧▼鍚嶇О
 	 * @param coverPageFileId
-	 *            封面文件id
+	 *            灏侀潰鏂囦欢id
 	 * @param contentFileId
-	 *            内容文件id
+	 *            鍐呭鏂囦欢id
 	 * @return
 	 */
 	Result add(String subjectName, String coverPageFileId, String contentFileId,int type);
 
 	/**
-	 * 修改课程
+	 * 淇敼璇剧▼
 	 *
 	 * @param subjectName
-	 *            课程名称
+	 *            璇剧▼鍚嶇О
 	 * @param subjectId
-	 *            课程id
+	 *            璇剧▼id
 	 * @param coverPageFileId
-	 *            封面文件id
+	 *            灏侀潰鏂囦欢id
 	 * @param contentFileId
-	 *            内容文件id
+	 *            鍐呭鏂囦欢id
 	 * @return
 	 */
 	Result update(String subjectId, String subjectName, String coverPageFileId, String contentFileId,int  type);
 
 	/**
-	 * 删除课程
+	 * 鍒犻櫎璇剧▼
 	 *
 	 * @param subjectIds
-	 *            课程id数组
-	 * @return 上传结果:{"success":true,msg:"success",attrs:{}}
+	 *            璇剧▼id鏁扮粍
+	 * @return 涓婁紶缁撴灉:{"success":true,msg:"success",attrs:{}}
 	 */
 	Result delete(String[] subjectIds);
 
 	/**
-	 * 发布课程
+	 * 鍙戝竷璇剧▼
 	 *
 	 * @param subjectIds
-	 *            课程id数组
-	 * @return 上传结果:{"success":true,msg:"success",attrs:{}}
+	 *            璇剧▼id鏁扮粍
+	 * @return 涓婁紶缁撴灉:{"success":true,msg:"success",attrs:{}}
 	 */
 	Result doRelease(String[] subjectIds);
 
 	/**
-	 * 撤回课程
+	 * 鎾ゅ洖璇剧▼
 	 *
 	 * @param subjectIds
-	 *            课程id数组
-	 * @return 上传结果:{"success":true,msg:"success",attrs:{}}
+	 *            璇剧▼id鏁扮粍
+	 * @return 涓婁紶缁撴灉:{"success":true,msg:"success",attrs:{}}
 	 */
 	Result doCancel(String[] subjectIds);
 
 	/**
-	 * 更新课件数量
+	 * 鏇存柊璇句欢鏁伴噺
 	 *
 	 * @param subjectId
 	 * @param count
@@ -77,108 +77,108 @@
 	Result addLectureCount(String subjectId, int count);
 
 	/**
-	 * 查询课程
+	 * 鏌ヨ璇剧▼
 	 *
 	 * @param text
-	 *            搜索文本
+	 *            鎼滅储鏂囨湰
 	 * @param pageSize
-	 *            页码
+	 *            椤电爜
 	 * @param pageNum
-	 *            每页显示行数
-	 * @return 返回课程列表
+	 *            姣忛〉鏄剧ず琛屾暟
+	 * @return 杩斿洖璇剧▼鍒楄〃
 	 */
 	List<Subject> list(String text, String teacherId, String status,Integer type, Integer pageSize, Integer pageNum);
 
 	/**
-	 * 查询课程个数
+	 * 鏌ヨ璇剧▼涓暟
 	 *
 	 * @param text
-	 *            搜索文本
-	 * @return 返回课程总数
+	 *            鎼滅储鏂囨湰
+	 * @return 杩斿洖璇剧▼鎬绘暟
 	 */
 	int listCount(String text, String teacherId, String status,Integer type);
 
 	/**
-	 * 读取课程
+	 * 璇诲彇璇剧▼
 	 *
 	 * @param subjectId
-	 *            课程ID
-	 * @return 返回课程列表
+	 *            璇剧▼ID
+	 * @return 杩斿洖璇剧▼鍒楄〃
 	 */
 	Subject read(String subjectId);
 
 	/**
-	 * 读取课程详情介绍
+	 * 璇诲彇璇剧▼璇︽儏浠嬬粛
 	 *
 	 * @param subjectId
-	 *            课程ID
-	 * @return 返回课程详情介绍
+	 *            璇剧▼ID
+	 * @return 杩斿洖璇剧▼璇︽儏浠嬬粛
 	 */
 	String readSubjectContent(String subjectId);
 
 	/**
-	 * 查询我的课程
+	 * 鏌ヨ鎴戠殑璇剧▼
 	 *
 	 * @param classId
-	 *            班级id
-	 * @return 返回课程列表
+	 *            鐝骇id
+	 * @return 杩斿洖璇剧▼鍒楄〃
 	 */
 	List<MySubjectV> listMySubjectV(String classId,String userId);
 
 	/**
-	 * 首页查询我的课程
+	 * 棣栭〉鏌ヨ鎴戠殑璇剧▼
 	 */
 	List<Map<String, Object>> getMySubjectList();
 
 	/**
-	 * 查询我的课程
+	 * 鏌ヨ鎴戠殑璇剧▼
 	 *
 	 * @param classId
-	 *            班级id
-	 * @return 返回课程列表
+	 *            鐝骇id
+	 * @return 杩斿洖璇剧▼鍒楄〃
 	 */
 	MySubjectV getMy1stSubjectVById(String subjectId);
 
 	/**
-	 * 查询个人课程章节的学习进度
+	 * 鏌ヨ涓汉璇剧▼绔犺妭鐨勫涔犺繘搴�
 	 *
 	 * @param classId
-	 *            班级id
-	 * @return 返回章节学习进度列表
+	 *            鐝骇id
+	 * @return 杩斿洖绔犺妭瀛︿範杩涘害鍒楄〃
 	 */
 	List<Map<String, Object>> listChapterStudyProgress(String subjectId);
 
 	/**
-	 * 获取subject对象
+	 * 鑾峰彇subject瀵硅薄
 	 */
 	Subject readSubject(String subjectId);
 
 	/**
-	 * 我的活动获取课程完成情况
+	 * 鎴戠殑娲诲姩鑾峰彇璇剧▼瀹屾垚鎯呭喌
 	 *
 	 * @return
 	 */
 	Result getPerformance4Subject();
 
 	/**
-	 * 首页获取课程详情列表
+	 * 棣栭〉鑾峰彇璇剧▼璇︽儏鍒楄〃
 	 */
 	Result lstSubjectDetail();
 
 	/**
-	 * 获取数据排行
+	 * 鑾峰彇鏁版嵁鎺掕
 	 *
 	 * @return
 	 */
 	Result getDataDesc(String classId, String subjectId);
 
 	/**
-	 * 获取上次学习的位置
+	 * 鑾峰彇涓婃瀛︿範鐨勪綅缃�
 	 */
 	Result lastStudied(String userId);
 
 	/**
-	 * 添加班级课程
+	 * 娣诲姞鐝骇璇剧▼
 	 * @param origSubjectId
 	 * @param teacherId
 	 * @param schoolYear
@@ -191,7 +191,7 @@
 
 
 	/**
-	 * 更新班级课程
+	 * 鏇存柊鐝骇璇剧▼
 	 * @param subjectId
 	 * @param origSubjectId
 	 * @param teacherId
@@ -202,7 +202,7 @@
 	Result updateClsSubject(String classId,String subjectId, String origSubjectId, String teacherId, Integer schoolYear, Integer term);
 
 	/**
-	 * 删除班级课程
+	 * 鍒犻櫎鐝骇璇剧▼
 	 * @param classId
 	 * @param subjectIds
 	 * @return
@@ -210,7 +210,7 @@
 	Result deleteClsSubject(String classId, String[] subjectIds);
 
 	/**
-	 * 查询班级课程
+	 * 鏌ヨ鐝骇璇剧▼
 	 *
 	 * @param classId
 	 * @param schoolYear
@@ -220,7 +220,7 @@
 	public List<Map<String, Object>> clsSubjectlist(String classId, Integer schoolYear, Integer term);
 
 	/**
-	 * 获取班级学期
+	 * 鑾峰彇鐝骇瀛︽湡
 	 *
 	 * @param classId
 	 * @return
@@ -228,7 +228,7 @@
 	public List<Map<String,Object>> termList(String classId);
 
 	/**
-	 * 我的课程按学期分类
+	 * 鎴戠殑璇剧▼鎸夊鏈熷垎绫�
 	 *
 	 * @param classId
 	 * @return
@@ -236,7 +236,7 @@
 	public List<Map<String,Object>> myTermSubjectList(String classId);
 
 	/**
-	 * 我的课程,按时间排序
+	 * 鎴戠殑璇剧▼锛屾寜鏃堕棿鎺掑簭
 	 *
 	 * @param classId
 	 * @return
@@ -244,14 +244,14 @@
 	public List<Map<String,Object>> mySubjectList(String classId, Pager pager);
 
 	/**
-	 * 查询老师或管理员可用的课程ID和课程名字列表
-	 * @param teacherId 根据教师ID过滤
+	 * 鏌ヨ鑰佸笀鎴栫鐞嗗憳鍙敤鐨勮绋婭D鍜岃绋嬪悕瀛楀垪琛�
+	 * @param teacherId 鏍规嵁鏁欏笀ID杩囨护
 	 * @return
 	 */
 	List<Map<String, Object>> queryAvailableSubjectIdAndName(String teacherId,Integer sbujectType);
 
 	/**
-	 * 我的班级信息
+	 * 鎴戠殑鐝骇淇℃伅
 	 *
 	 * @param classId
 	 * @return
@@ -259,7 +259,7 @@
 	public Map<String,Object> myClassInfo(String classId);
 
 	/**
-	 * 获取我的课程数量
+	 * 鑾峰彇鎴戠殑璇剧▼鏁伴噺
 	 *
 	 * @param classId
 	 * @return
@@ -267,7 +267,7 @@
 	public long myClsSubjectCount(String classId);
 
 	/**
-	 * 获取我的课程进度
+	 * 鑾峰彇鎴戠殑璇剧▼杩涘害
 	 *
 	 * @param classId
 	 * @param userId
@@ -276,7 +276,7 @@
 	public List<Map<String,Object>> myClsSubjectlist(String classId, String userId, Pager pager);
 
 	/**
-	 * 学员课程作业进度
+	 * 瀛﹀憳璇剧▼浣滀笟杩涘害
 	 *
 	 * @param classId
 	 * @param subjectId
@@ -285,7 +285,7 @@
 	public Map<String, Object> studentSubjectHomeworkProgress(String classId, String subjectId, String userId);
 
 	/**
-	 * 学员考试作业进度
+	 * 瀛﹀憳鑰冭瘯浣滀笟杩涘害
 	 *
 	 * @param classId
 	 * @param subjectId
@@ -294,7 +294,7 @@
 	public Map<String, Object> studentSubjectExamProgress(String classId, String subjectId, String studentId);
 
 	/**
-	 * 获取学员的课程进度
+	 * 鑾峰彇瀛﹀憳鐨勮绋嬭繘搴�
 	 *
 	 * @param classId
 	 * @return
@@ -302,7 +302,7 @@
 	public List<Map<String,Object>> studentSubjectProgress(String classId, Pager pager);
 
 	/**
-	 * 班级学员课件总体进度
+	 * 鐝骇瀛﹀憳璇句欢鎬讳綋杩涘害
 	 *
 	 * @param subjectId
 	 * @param classId
@@ -311,7 +311,7 @@
     public List<Map<String, Object>> studentSubjectLectureProgress(String subjectId, String classId);
 
     /**
-	 * 我的公开课列表
+	 * 鎴戠殑鍏紑璇惧垪琛�
 	 *
 	 * @param pageNum
 	 * @param pageSize
@@ -321,7 +321,7 @@
 	public Map<String,Object> myOpenSubjectList(Integer pageNum, Integer pageSize, String keyword);
 
 	/**
-	 * 公开课列表
+	 * 鍏紑璇惧垪琛�
 	 *
 	 * @param pageNum
 	 * @param pageSize
@@ -331,7 +331,7 @@
 	public Map<String,Object> openSubjectList(Integer pageNum, Integer pageSize, String keyword);
 
 	/**
-	 * 公开课详情
+	 * 鍏紑璇捐鎯�
 	 *
 	 * @param subjectId
 	 * @return
@@ -339,7 +339,7 @@
 	public Map<String,Object> openSubjectInfo(String subjectId);
 
 	/**
-	 * 我的课程详情
+	 * 鎴戠殑璇剧▼璇︽儏
 	 *
 	 * @param classId
 	 * @return
@@ -347,7 +347,7 @@
 	public Map<String,Object> mySubjectInfo(String subjectId, String classId);
 
 	/**
-	 * app教师端课程列表
+	 * app鏁欏笀绔绋嬪垪琛�
 	 *
 	 * @param text
 	 * @param status
@@ -359,7 +359,7 @@
 	Result teacherSubjectList(Pager pager, String keyword, String status,Integer type);
 
 	/**
-	 * 课程按学期分类
+	 * 璇剧▼鎸夊鏈熷垎绫�
 	 *
 	 * @param classId
 	 * @return
@@ -368,14 +368,14 @@
 
 
 	/**
-	 * 查询课程关联的班级信息
+	 * 鏌ヨ璇剧▼鍏宠仈鐨勭彮绾т俊鎭�
 	 * @param origSubjectId
 	 * @return
 	 */
 	List<Map<String, Object>> querySubjectReClassInfos(String origSubjectId);
 
 	/**
-	 * 获取课件数量
+	 * 鑾峰彇璇句欢鏁伴噺
 	 *
 	 * @param subjectId
 	 * @return
diff --git a/src/main/java/com/qxueyou/scc/teach/subject/service/impl/SubjectLectureService.java b/src/main/java/com/qxueyou/scc/teach/subject/service/impl/SubjectLectureService.java
index b6057e2..0835b45 100644
--- a/src/main/java/com/qxueyou/scc/teach/subject/service/impl/SubjectLectureService.java
+++ b/src/main/java/com/qxueyou/scc/teach/subject/service/impl/SubjectLectureService.java
@@ -93,10 +93,10 @@
 	}
 
 	/**
-	 * 删除单个章节
+	 * 鍒犻櫎鍗曚釜绔犺妭
 	 *
 	 * @param chapterId
-	 *            章节id
+	 *            绔犺妭id
 	 * @return
 	 */
 	private Result deleteChapter(String chapterId) {
@@ -144,7 +144,7 @@
 	}
 
 	/**
-	 * 初始化
+	 * 鍒濆鍖�
 	 *
 	 * @param subjectId
 	 * @return
@@ -154,7 +154,7 @@
 		SubjectChapter chapter = new SubjectChapter();
 
 		TraceUtils.setCreateTrace(chapter);
-		chapter.setName("根节点");
+		chapter.setName("鏍硅妭鐐�");
 		chapter.setSubjectId(subjectId);
 		chapter.setParentChapterId(SubjectChapter.ROOT_CHAPTER_ID);
 
@@ -249,7 +249,7 @@
 	/**
 	 *
 	 * @param lectureId
-	 *            课件id
+	 *            璇句欢id
 	 * @return
 	 */
 	private Result deleteLecture(String lectureId) {
@@ -347,7 +347,7 @@
 		SubjectLecture lecture = read(SubjectLecture.class, lectureId);
 		String resItemId = null;
 		if(lecture == null) {
-			resItemId = read(ClsSubjectLecture.class, lectureId).getResItemId();//班级课件
+			resItemId = read(ClsSubjectLecture.class, lectureId).getResItemId();//鐝骇璇句欢
 		}else {
 			resItemId = lecture.getResItemId();
 		}
@@ -393,9 +393,9 @@
 	}
 
 	/**
-	 * 监控resId转码状态同步Lecture的状态
+	 * 鐩戞帶resId杞爜鐘舵�佸悓姝ecture鐨勭姸鎬�
 	 */
-	@Scheduled(cron = "0/2 * * * * ?") // 每2秒执行一次
+	@Scheduled(cron = "0/2 * * * * ?") // 姣�2绉掓墽琛屼竴娆�
 	public void doTimer() {
 		String resId = cacheService.lstLeftPop(RES_LECTURE_CONVER_LST);
 		if (StringUtils.isBlank(resId)) {
diff --git a/src/main/java/com/qxueyou/scc/teach/subject/service/impl/SubjectService.java b/src/main/java/com/qxueyou/scc/teach/subject/service/impl/SubjectService.java
index d5f818c..66d943d 100644
--- a/src/main/java/com/qxueyou/scc/teach/subject/service/impl/SubjectService.java
+++ b/src/main/java/com/qxueyou/scc/teach/subject/service/impl/SubjectService.java
@@ -126,10 +126,10 @@
 
         save(subject);
 
-        //初始化创建 根节点
+        //鍒濆鍖栧垱寤� 鏍硅妭鐐�
         SubjectChapter chapter = new SubjectChapter();
         TraceUtils.setCreateTrace(chapter);
-        chapter.setName("根节点");
+        chapter.setName("鏍硅妭鐐�");
         chapter.setSubjectId(subject.getSubjectId());
         chapter.setParentChapterId(SubjectChapter.ROOT_CHAPTER_ID);
         save(chapter);
@@ -156,7 +156,7 @@
 
         save(subject);
 
-        //更新所有关联的课程
+        //鏇存柊鎵�鏈夊叧鑱旂殑璇剧▼
         if (subject.getType() == Subject.TYPE_ORG_SUBJECT) {
             this.bulkUpdate("update Subject t set t.name=?,t.contentFileId=?,"
                     + "t.coverPageFileId=?,t.coverPageUrl=? where t.deleteFlag is false and t.origSubjectId=? ", new Object[]{subject.getName(),
@@ -171,7 +171,7 @@
         for (String subjectId : subjectIds) {
             deleteSubject(subjectId);
 
-            //删除班级课程
+            //鍒犻櫎鐝骇璇剧▼
             List<Map<String, Object>> result = this.findListWithMapByHql(
                     "select r.classId as classId,r.subjectId as subjectId from ClsClassReSubject r,Subject j  "
                             + "where r.subjectId = j.subjectId and j.origSubjectId=:origSubjectId and r.deleteFlag is false and j.deleteFlag is false",
@@ -188,9 +188,9 @@
     }
 
     /**
-     * 删除单个课程
+     * 鍒犻櫎鍗曚釜璇剧▼
      *
-     * @param chapterId 章节id
+     * @param chapterId 绔犺妭id
      * @return
      */
     private Result deleteSubject(String subjectId) {
@@ -234,7 +234,7 @@
 
 
     /**
-     * app教师端课程列表
+     * app鏁欏笀绔绋嬪垪琛�
      *
      * @param text
      * @param status
@@ -247,7 +247,7 @@
     public Result teacherSubjectList(Pager pager, String keyword, String status, Integer type) {
         String teacherId = teacherService.getTeacherIdByUserId(ClientUtils.getUserId());
         if (StringUtils.isEmpty(teacherId)) {
-            return new Result(false, "当前用户无老师角色");
+            return new Result(false, "褰撳墠鐢ㄦ埛鏃犺�佸笀瑙掕壊");
         }
 
         QSubject qSubject = QSubject.subject;
@@ -327,7 +327,7 @@
 
         Subject sub = read(subjectId);
 
-        //读取原课程
+        //璇诲彇鍘熻绋�
         if (StringUtils.isNotBlank(sub.getOrigSubjectId())) {
             sub = read(sub.getOrigSubjectId());
         }
@@ -362,9 +362,9 @@
     }
 
     /**
-     * 发布单个课程
+     * 鍙戝竷鍗曚釜璇剧▼
      *
-     * @param chapterId 章节id
+     * @param chapterId 绔犺妭id
      * @return
      */
     private Result releaseSubject(String subjectId) {
@@ -376,16 +376,16 @@
 
         save(subject);
 
-        //更新所有关联的课程
+        //鏇存柊鎵�鏈夊叧鑱旂殑璇剧▼
         this.bulkUpdate("update Subject set status='" + Subject.STATUS_ISSUED + "' where origSubjectId=? and deleteFlag is false ", new Object[]{subjectId});
 
         return new Result(true, "success");
     }
 
     /**
-     * 发布单个课程
+     * 鍙戝竷鍗曚釜璇剧▼
      *
-     * @param chapterId 章节id
+     * @param chapterId 绔犺妭id
      * @return
      */
     private Result cancelSubject(String subjectId) {
@@ -397,7 +397,7 @@
 
         save(subject);
 
-        //更新所有关联的课程
+        //鏇存柊鎵�鏈夊叧鑱旂殑璇剧▼
         this.bulkUpdate("update Subject set status='" + Subject.STATUS_OFFLINE + "' where origSubjectId=? and deleteFlag is false ", new Object[]{subjectId});
 
         return new Result(true, "success");
@@ -462,7 +462,7 @@
 
     @Override
     public Result addClsSubject(String classId, String origSubjectId, String teacherId, Integer schoolYear, Integer term) throws IllegalAccessException, InvocationTargetException {
-        //新增老师课程
+        //鏂板鑰佸笀璇剧▼
         Subject newSubject = new Subject();
         Subject origSubject = this.read(origSubjectId);
         UserTeacher teacher = this.read(UserTeacher.class, teacherId);
@@ -481,10 +481,10 @@
         newSubject.setOrgId(ClientUtils.getOrgId());
         save(newSubject);
 
-        //添加班级课程关系
+        //娣诲姞鐝骇璇剧▼鍏崇郴
         addClassReSubject(newSubject.getSubjectId(), classId);
 
-        //复制课件
+        //澶嶅埗璇句欢
         clsLectureService.doCopyLecturesToClass(origSubjectId, newSubject.getSubjectId(), classId);
 
         return new Result(true, "success", CollectionUtils.newStringMap("subjectId", newSubject.getSubjectId()));
@@ -504,7 +504,7 @@
         Subject subject = this.read(subjectId);
         UserTeacher teacher = this.read(UserTeacher.class, teacherId);
 
-        //如果原课程做出了修改
+        //濡傛灉鍘熻绋嬪仛鍑轰簡淇敼
         if (!origSubjectId.equals(subject.getOrigSubjectId())) {
             subject.setContentFileId(origSubject.getCoverPageFileId());
             subject.setCoverPageUrl(origSubject.getCoverPageUrl());
@@ -513,7 +513,7 @@
             subject.setOrigSubjectId(origSubjectId);
             subject.setOrigCopySubjectId(origSubjectId);
 
-            //清理并复制原课程
+            //娓呯悊骞跺鍒跺師璇剧▼
             clsLectureService.doClearLecturesToClass(classId, subjectId);
             clsLectureService.doCopyLecturesToClass(origSubjectId, subjectId, classId);
         } else {
@@ -539,7 +539,7 @@
         List<String> reIdLst = this.findByComplexHql("select r.clsReSubjectId from ClsClassReSubject r where r.deleteFlag is false and r.classId=:classId and r.subjectId in (:subjectIds) ",
                 paramMap, String.class);
 
-        //删除关联关系
+        //鍒犻櫎鍏宠仈鍏崇郴
         if (reIdLst != null && reIdLst.size() > 0) {
             this.bulkUpdateInLoop("update ClsClassReSubject set deleteFlag = true where clsReSubjectId=?", reIdLst.toArray());
         }
@@ -614,7 +614,7 @@
     @Override
     public Result getDataDesc(String classId, String subjectId) {
         if (StringUtils.isEmpty(classId)) {
-            return new Result(false, "班级id参数错误");
+            return new Result(false, "鐝骇id鍙傛暟閿欒");
         }
         QSubjectProgressTreeV qSubjectProgressTreeV = QSubjectProgressTreeV.subjectProgressTreeV;
 
@@ -631,7 +631,7 @@
     }
 
     /**
-     * 获取班级对应的学员 按进度进行排序
+     * 鑾峰彇鐝骇瀵瑰簲鐨勫鍛� 鎸夎繘搴﹁繘琛屾帓搴�
      */
     private List<Map<String, Object>> percentDesc(String classId, String subjectId, @SuppressWarnings("rawtypes") OrderSpecifier order) {
         QSubjectProgressTreeV qSubjectProgressTreeV = QSubjectProgressTreeV.subjectProgressTreeV;
@@ -645,30 +645,30 @@
                 where(qSubjectProgressTreeV.id.userId.eq(qUser.userId).and(qSubjectProgressTreeV.nodeType.eq(nodeType))
                         .and(qSubjectProgressTreeV.id.nodeId.eq(nodeId))).orderBy(order).fetch().stream().map(tuple -> {
 
-                            List<ClsClassReSubject> clsClassReSubjects = find("from ClsClassReSubject where classId = ?",CollectionUtils.newList(nodeId),ClsClassReSubject.class);
-                    Double percent = 0.0;
-                    Double progressValue = 0.0;
-                    Double percentAvg = 0.0;
-                    int size = 0;
-                            for(ClsClassReSubject c : clsClassReSubjects) {
-                                List<MyLectureV> myLectureVList = lectureService.listLectureVBySubjectId(tuple.get(qUser.userId), c.getSubjectId(), "", 1000, 1, null);
-                                if (!myLectureVList.isEmpty()) {
-                                    for (MyLectureV myLectureV : myLectureVList) {
-                                        if (myLectureV.getPercent() != null && myLectureV.getProgressValue() != null) {
-                                            percent += myLectureV.getPercent();
-                                            progressValue += myLectureV.getProgressValue().intValue();
-                                        }
-                                    }
-                                    size += myLectureVList.size();
-                                    if (percentAvg.isNaN()) {
-                                        percentAvg += 0.0;
-                                    }
-                                }
-                            }
+            List<ClsClassReSubject> clsClassReSubjects = find("from ClsClassReSubject where classId = ?",CollectionUtils.newList(nodeId),ClsClassReSubject.class);
+            Double percent = 0.0;
+            Double progressValue = 0.0;
+            Double percentAvg = 0.0;
+            int size = 0;
+            for(ClsClassReSubject c : clsClassReSubjects) {
+                List<MyLectureV> myLectureVList = lectureService.listLectureVBySubjectId(tuple.get(qUser.userId), c.getSubjectId(), "", 1000, 1, null);
+                if (!myLectureVList.isEmpty()) {
+                    for (MyLectureV myLectureV : myLectureVList) {
+                        if (myLectureV.getPercent() != null && myLectureV.getProgressValue() != null) {
+                            percent += myLectureV.getPercent();
+                            progressValue += myLectureV.getProgressValue().intValue();
+                        }
+                    }
+                    size += myLectureVList.size();
+                    if (percentAvg.isNaN()) {
+                        percentAvg += 0.0;
+                    }
+                }
+            }
             percentAvg += percent / size;
-                            if(percentAvg.isNaN()){
-                                percentAvg = 0.0;
-                            }
+            if(percentAvg.isNaN()){
+                percentAvg = 0.0;
+            }
             Map<String, Object> map = new HashMap<>();
             map.put("userName", tuple.get(qUser.name));
             map.put("userId", tuple.get(qUser.userId));
@@ -683,20 +683,20 @@
     }
 
     /**
-     * 通过作业完成个数排序
+     * 閫氳繃浣滀笟瀹屾垚涓暟鎺掑簭
      */
     private List<Map<String, Object>> exerciseInfoDesc(String classId, String subjectId) {
         QExerciseResultV qExerciseResultV = QExerciseResultV.exerciseResultV;
-        //查询条件
+        //鏌ヨ鏉′欢
         Predicate predicate = StringUtils.isEmpty(subjectId) ? qExerciseResultV.id.classId.eq(classId) :
                 qExerciseResultV.id.classId.eq(classId).and(qExerciseResultV.subjectId.eq(subjectId));
-        //case数量判断
+        //case鏁伴噺鍒ゆ柇
         NumberExpression<BigDecimal> caseCount = new CaseBuilder()
                 .when(qExerciseResultV.completeStatus.eq(ExerciseCompleteInfo.STATUS_CHECKED)
                         .or(qExerciseResultV.completeStatus.eq(ExerciseCompleteInfo.STATUS_COMMIT)))
                 .then(BigDecimal.ONE).otherwise(BigDecimal.ZERO).sum();
 
-        //case分数
+        //case鍒嗘暟
         NumberExpression<BigDecimal> caseScoreSum = new CaseBuilder()
                 .when(qExerciseResultV.completeStatus.eq(ExerciseCompleteInfo.STATUS_CHECKED)
                         .or(qExerciseResultV.completeStatus.eq(ExerciseCompleteInfo.STATUS_COMMIT)))
@@ -726,13 +726,13 @@
     private List<Map<String, Object>> examInfoDesc(String classId, String subjectId) {
 
         QExamResultV qExamResultV = QExamResultV.examResultV;
-        //查询条件
+        //鏌ヨ鏉′欢
         Predicate predicate = StringUtils.isEmpty(subjectId) ? qExamResultV.id.classId.eq(classId) :
                 qExamResultV.id.classId.eq(classId).and(qExamResultV.subjectId.eq(subjectId));
-        //case判断
+        //case鍒ゆ柇
         NumberExpression<BigDecimal> caseCount = new CaseBuilder()
                 .when(qExamResultV.status.eq("0")).then(BigDecimal.ZERO).otherwise(BigDecimal.ONE).sum();
-        //case分数
+        //case鍒嗘暟
         NumberExpression<BigDecimal> caseScoreSum = new CaseBuilder()
                 .when(qExamResultV.status.eq("0")).then(BigDecimal.ZERO).otherwise(qExamResultV.score).sum();
 
@@ -816,10 +816,10 @@
                 .and(qClsClassReSubject.classId::eq, classId)
                 .and(qClsClassReSubject.subjectId::eq, qSubject.subjectId)
                 .and(qClsClassReSubject.deleteFlag::eq, false).and(qSubject.status::eq, Subject.STATUS_ISSUED);
-        if (schoolYear != null && schoolYear != 0) {//学年
+        if (schoolYear != null && schoolYear != 0) {//瀛﹀勾
             builder = builder.and(qSubject.schoolYear::eq, schoolYear);
         }
-        if (term != null && term != 0) {//学期
+        if (term != null && term != 0) {//瀛︽湡
             builder = builder.and(qSubject.term::eq, term);
         }
 
@@ -865,7 +865,7 @@
     }
 
     /**
-     * 我的班级信息
+     * 鎴戠殑鐝骇淇℃伅
      *
      * @param classId
      * @return
@@ -876,7 +876,7 @@
 
         List<Subject> lstSubject = objClsClass.getSubjects();
 
-        //过滤掉状态为草稿的
+        //杩囨护鎺夌姸鎬佷负鑽夌鐨�
         List<String> teachers = lstSubject.stream().filter(u -> u.getStatus().equals(Subject.STATUS_ISSUED)).map(tuple -> {
             return tuple.getTeacherName();
         }).collect(Collectors.toList());
@@ -891,7 +891,7 @@
 
             long lgCount = this.getQueryFactory().selectFrom(qSubjectProgressTreeV)
                     .where(qSubjectProgressTreeV.id.nodeId.eq(classId).and(qSubjectProgressTreeV.percent.gt(objSubjectProgressTreeV.getPercent()))).fetchCount();
-            //排行
+            //鎺掕
             float rank = (allCount - lgCount) / allCount;
 
             return CollectionUtils.newObjectMap("className", objClsClass.getName(), "progressPercent",
@@ -903,7 +903,7 @@
     }
 
     /**
-     * 获取我的课程进度
+     * 鑾峰彇鎴戠殑璇剧▼杩涘害
      *
      * @param classId
      * @return
@@ -940,7 +940,7 @@
     }
 
     /**
-     * 获取我的课程数量
+     * 鑾峰彇鎴戠殑璇剧▼鏁伴噺
      *
      * @param classId
      * @return
@@ -957,7 +957,7 @@
     }
 
     /**
-     * 获取学员的课程进度
+     * 鑾峰彇瀛﹀憳鐨勮绋嬭繘搴�
      *
      * @param classId
      * @return
@@ -996,7 +996,7 @@
     }
 
     /**
-     * 获取课件数量
+     * 鑾峰彇璇句欢鏁伴噺
      *
      * @param subjectId
      * @return
@@ -1007,7 +1007,7 @@
         if (subject == null) {
             return 0l;
         }
-        if (subject.getType() == Subject.TYPE_CLS_SUBJECT) {//班级课程
+        if (subject.getType() == Subject.TYPE_CLS_SUBJECT) {//鐝骇璇剧▼
 
             QClsSubjectLecture qSubjectLecture = QClsSubjectLecture.clsSubjectLecture;
 
@@ -1024,7 +1024,7 @@
 
 
     /**
-     * 我的公开课列表
+     * 鎴戠殑鍏紑璇惧垪琛�
      *
      * @param pageNum
      * @param pageSize
@@ -1061,18 +1061,18 @@
 
             Map<String, Object> openSubjectDetail = this.openSubjectDetail(subjectId);
 
-            // 直播数量
+            // 鐩存挱鏁伴噺
             map.put("mediaVideoLiveCount", openSubjectDetail.get("mediaVideoLiveCount"));
 
-            // 课件数量
+            // 璇句欢鏁伴噺
             map.put("subjectLectureCount", openSubjectDetail.get("subjectLectureCount"));
 
-            //学习人次
+            //瀛︿範浜烘
             map.put("studyCount", openSubjectDetail.get("studyCount"));
 
             map.put("content", openSubjectDetail.get("content"));
 
-            // 已观看完成课件数量
+            // 宸茶鐪嬪畬鎴愯浠舵暟閲�
             map.put("subjectLectureDoCount", openSubjectDetail.get("subjectLectureDoCount"));
 
             return map;
@@ -1082,7 +1082,7 @@
     }
 
     /**
-     * 课程统计详情
+     * 璇剧▼缁熻璇︽儏
      *
      * @param subjectId
      * @return
@@ -1093,7 +1093,7 @@
         QSubjectLecture qSubjectLecture = QSubjectLecture.subjectLecture;
         QProgress qProgress = QProgress.progress;
 
-        // 直播数量
+        // 鐩存挱鏁伴噺
         map.put("mediaVideoLiveCount",
                 this.getQueryFactory().select(qMediaVideoLive).from(qMediaVideoLive)
                         .where(qMediaVideoLive.deleteFlag.isFalse()
@@ -1101,14 +1101,14 @@
                                 .and(qMediaVideoLive.subjectId.eq(subjectId)))
                         .fetchCount());
 
-        // 课件数量
+        // 璇句欢鏁伴噺
         map.put("subjectLectureCount",
                 this.getQueryFactory().select(qSubjectLecture).from(qSubjectLecture)
                         .where(qSubjectLecture.deleteFlag.isFalse()
                                 .and(qSubjectLecture.subjectId.eq(subjectId)).and(qSubjectLecture.status.eq(SubjectLecture.STATUS_DRAFT)))
                         .fetchCount());
 
-        //学习人次
+        //瀛︿範浜烘
         map.put("studyCount",
                 this.getQueryFactory().selectDistinct(qProgress.learnerId).from(qProgress, qSubjectLecture)
                         .where(qProgress.deleteFlag.isFalse().and(qSubjectLecture.deleteFlag.isFalse()).and(qSubjectLecture.subjectId.eq(subjectId)).and(qProgress.type.eq(Progress.PROGRESS_TYPE_LECTURE))
@@ -1117,7 +1117,7 @@
 
         map.put("content", this.readSubjectContent(subjectId));
 
-        // 已观看完成课件数量
+        // 宸茶鐪嬪畬鎴愯浠舵暟閲�
         map.put("subjectLectureDoCount",
                 this.getQueryFactory().select(qSubjectLecture).from(qSubjectLecture, qProgress)
                         .where(qSubjectLecture.deleteFlag.isFalse().and(qProgress.deleteFlag.isFalse())
@@ -1130,7 +1130,7 @@
     }
 
     /**
-     * 公开课详情
+     * 鍏紑璇捐鎯�
      *
      * @param subjectId
      * @return
@@ -1161,18 +1161,18 @@
 
         Map<String, Object> map = new HashMap<String, Object>(7);
 
-        // 直播数量
+        // 鐩存挱鏁伴噺
         map.put("mediaVideoLiveCount", openSubjectDetail.get("mediaVideoLiveCount"));
 
-        // 课件数量
+        // 璇句欢鏁伴噺
         map.put("subjectLectureCount", openSubjectDetail.get("subjectLectureCount"));
 
-        //学习人次
+        //瀛︿範浜烘
         map.put("studyCount", openSubjectDetail.get("studyCount"));
 
         subjectInfo.put("content", openSubjectDetail.get("content"));
 
-        // 已观看完成课件数量
+        // 宸茶鐪嬪畬鎴愯浠舵暟閲�
         map.put("subjectLectureDoCount", openSubjectDetail.get("subjectLectureDoCount"));
 
         map.put("subjectInfo", subjectInfo);
@@ -1192,7 +1192,7 @@
         QMySubjectV qMySubjectV = QMySubjectV.mySubjectV;
         QMyLectureV qMyLectureV = QMyLectureV.myLectureV;
 
-        // 课程
+        // 璇剧▼
         Tuple tuple = this.getQueryFactory()
                 .select(qMySubjectV.id.subjectId, qMySubjectV.subjectName, qMySubjectV.term, qMySubjectV.schoolYear, qMySubjectV.origSubjectId,
                         qMySubjectV.percent, qMySubjectV.coverPageUrl, qMySubjectV.progressValue)
@@ -1222,15 +1222,15 @@
 
         String origSubjectId = objSubject.getOrigSubjectId();
 
-        // 考试统计
+        // 鑰冭瘯缁熻
         long examsCount = this.examService.listStudentExamCount("", new String[]{classId}, origSubjectId, null);
 
-        // 作业统计
+        // 浣滀笟缁熻
         long homeworksCount = exerciseInfoService.queryStuExerciseListCount("", null, ClientUtils.getUserId(), origSubjectId, null);
 
-        // 课件统计
+        // 璇句欢缁熻
         Tuple tupleLecture = this.getQueryFactory().select(qMyLectureV.count(),
-                new CaseBuilder().when(qMyLectureV.percent.gt(0.95)).then(1).otherwise(0).sum()).// 大于95%算完成
+                new CaseBuilder().when(qMyLectureV.percent.gt(0.95)).then(1).otherwise(0).sum()).// 澶т簬95%绠楀畬鎴�
                 from(qMyLectureV)
                 .where(qMyLectureV.classId.eq(classId).and(qMyLectureV.id.userId.eq(ClientUtils.getUserId()))
                         .and(qMyLectureV.subjectId.eq(subjectId)))
@@ -1245,7 +1245,7 @@
     }
 
     /**
-     * 公开课列表
+     * 鍏紑璇惧垪琛�
      *
      * @param pageNum
      * @param pageSize
@@ -1280,7 +1280,7 @@
     }
 
     /**
-     * 班级学员课件总体进度
+     * 鐝骇瀛﹀憳璇句欢鎬讳綋杩涘害
      *
      * @param subjectId
      * @param classId
@@ -1310,7 +1310,7 @@
     }
 
     /**
-     * 学员课程作业进度
+     * 瀛﹀憳璇剧▼浣滀笟杩涘害
      *
      * @param classId
      * @param subjectId
@@ -1356,7 +1356,7 @@
     }
 
     /**
-     * 学员考试作业进度
+     * 瀛﹀憳鑰冭瘯浣滀笟杩涘害
      *
      * @param classId
      * @param subjectId
@@ -1392,7 +1392,7 @@
     }
 
     /**
-     * 我的课件情况
+     * 鎴戠殑璇句欢鎯呭喌
      *
      * @param classId
      * @return
@@ -1403,7 +1403,7 @@
         return this.getQueryFactory().select(qMyLectureV.subjectId,
                 qMyLectureV.count(),
                 new CaseBuilder()
-                        .when(qMyLectureV.percent.gt(0.95)).then(1).otherwise(0).sum()).//大于95%算完成
+                        .when(qMyLectureV.percent.gt(0.95)).then(1).otherwise(0).sum()).//澶т簬95%绠楀畬鎴�
                 from(qMyLectureV).
                 where(qMyLectureV.classId.eq(classId).and(qMyLectureV.id.userId.eq(ClientUtils.getUserId()))).
                 groupBy(qMyLectureV.subjectId).fetch().stream()
@@ -1417,15 +1417,15 @@
     }
 
     /**
-     * 我的课程,按时间排序
+     * 鎴戠殑璇剧▼锛屾寜鏃堕棿鎺掑簭
      *
      * @param classId
      * @return
      */
     public List<Map<String, Object>> mySubjectList(String classId, Pager pager) {
-        //课程
+        //璇剧▼
         List<Map<String, Object>> clsSubjectlist = this.myClsSubjectlist(classId, ClientUtils.getUserId(), pager);
-        //课件统计
+        //璇句欢缁熻
         List<Map<String, Object>> lectures = this.myLectureList(classId);
         for (Map<String, Object> clsSubject : clsSubjectlist) {
             String origSubjectId = (String) clsSubject.get("origSubjectId");
@@ -1441,11 +1441,11 @@
     }
 
     /**
-     * 统计课程的数据
+     * 缁熻璇剧▼鐨勬暟鎹�
      *
-     * @param type          类型
-     * @param clsSubject    课程
-     * @param lstStatistics 统计信息
+     * @param type          绫诲瀷
+     * @param clsSubject    璇剧▼
+     * @param lstStatistics 缁熻淇℃伅
      */
     private void setSubjectStatistics(String type, Map<String, Object> clsSubject, List<Map<String, Object>> lstStatistics) {
         if (lstStatistics != null && !lstStatistics.isEmpty()) {
@@ -1459,7 +1459,7 @@
     }
 
     /**
-     * 我的课程详情
+     * 鎴戠殑璇剧▼璇︽儏
      *
      * @param classId
      * @return
@@ -1469,7 +1469,7 @@
         QMySubjectV qMySubjectV = QMySubjectV.mySubjectV;
         QMyLectureV qMyLectureV = QMyLectureV.myLectureV;
         Object userId = request.getSession().getAttribute("userId");
-        // 课程
+        // 璇剧▼
         Tuple tuple = this.getQueryFactory()
                 .select(qMySubjectV.id.subjectId, qMySubjectV.subjectName, qMySubjectV.term, qMySubjectV.schoolYear, qMySubjectV.origSubjectId,
                         qMySubjectV.percent, qMySubjectV.coverPageUrl, qMySubjectV.progressValue)
@@ -1499,15 +1499,15 @@
 
         String origSubjectId = objSubject.getOrigSubjectId();
 
-        // 考试统计
+        // 鑰冭瘯缁熻
         long examsCount = this.examService.listStudentExamCount("", new String[]{classId}, origSubjectId, null);
 
-        // 作业统计
+        // 浣滀笟缁熻
         long homeworksCount = exerciseInfoService.queryStuExerciseListCount("", null, ClientUtils.getUserId(), origSubjectId, null);
 
-        // 课件统计
+        // 璇句欢缁熻
         Tuple tupleLecture = this.getQueryFactory().select(qMyLectureV.count(),
-                new CaseBuilder().when(qMyLectureV.percent.gt(0.95)).then(1).otherwise(0).sum()).// 大于95%算完成
+                new CaseBuilder().when(qMyLectureV.percent.gt(0.95)).then(1).otherwise(0).sum()).// 澶т簬95%绠楀畬鎴�
                 from(qMyLectureV)
                 .where(qMyLectureV.classId.eq(classId).and(qMyLectureV.id.userId.eq(ClientUtils.getUserId()))
                         .and(qMyLectureV.subjectId.eq(subjectId)))
@@ -1522,14 +1522,14 @@
     }
 
     /**
-     * 我的课程按学期分类
+     * 鎴戠殑璇剧▼鎸夊鏈熷垎绫�
      *
      * @param classId
      * @return
      */
     @Override
     public List<Map<String, Object>> myTermSubjectList(String classId) {
-        //课程
+        //璇剧▼
         List<Map<String, Object>> clsSubjectlist = this.mySubjectList(classId, new Pager());
         System.out.println("clsSubjectlistaaaaaa" + clsSubjectlist);
         return this.termSubjectList(classId, clsSubjectlist);
@@ -1537,14 +1537,14 @@
 
 
     /**
-     * 课程按学期分类
+     * 璇剧▼鎸夊鏈熷垎绫�
      *
      * @param classId
      * @return
      */
     @Override
     public List<Map<String, Object>> termSubjectList(String classId, List<Map<String, Object>> clsSubjectlist) {
-        //学期
+        //瀛︽湡
         List<Map<String, Object>> termList = this.termList(classId);
 
         if (termList != null && !termList.isEmpty()) {
@@ -1566,7 +1566,7 @@
 
 
     /**
-     * 查询课程关联的班级课程信息
+     * 鏌ヨ璇剧▼鍏宠仈鐨勭彮绾ц绋嬩俊鎭�
      *
      * @param classId
      * @return
diff --git a/src/main/java/com/qxueyou/scc/user/dao/RegistrationDAO.java b/src/main/java/com/qxueyou/scc/user/dao/RegistrationDAO.java
index b2e9257..ca0c758 100644
--- a/src/main/java/com/qxueyou/scc/user/dao/RegistrationDAO.java
+++ b/src/main/java/com/qxueyou/scc/user/dao/RegistrationDAO.java
@@ -1,8 +1,8 @@
 /******************************************************************************
  * Copyright (C) 2015 Shenzhen Penguin Network Technology Co., Ltd
  * All Rights Reserved.
- * 本软件为深圳市企鹅网络科技有限公司开发研制。未经本公司正式书面同意,其他任何个人、团体
- * 不得使用、复制、修改或发布本软件.
+ * 鏈蒋浠朵负娣卞湷甯備紒楣呯綉缁滅鎶�鏈夐檺鍏徃寮�鍙戠爺鍒躲�傛湭缁忔湰鍏徃姝e紡涔﹂潰鍚屾剰锛屽叾浠栦换浣曚釜浜恒�佸洟浣�
+ * 涓嶅緱浣跨敤銆佸鍒躲�佷慨鏀规垨鍙戝竷鏈蒋浠�.
  *****************************************************************************/
 
 package com.qxueyou.scc.user.dao;
@@ -24,7 +24,7 @@
 
 @Repository(value="registrationDAO")
 /**
- * 自动注入sessionFactory 报名信息
+ * 鑷姩娉ㄥ叆sessionFactory 鎶ュ悕淇℃伅
  *
  * @author ody.yuan
  * @since JDK1.6
@@ -33,7 +33,7 @@
 public class RegistrationDAO extends HibernateDaoSupport {
 	
 	/**
-     * 注入sessionFactory
+     * 娉ㄥ叆sessionFactory
      *
      * @param sessionFactory
      */
@@ -43,7 +43,7 @@
     }
     
     /**
-	 * 查询报名信息
+	 * 鏌ヨ鎶ュ悕淇℃伅
 	 * @param sql
 	 * @param args
 	 * @return
@@ -51,7 +51,7 @@
 	 */
     @SuppressWarnings("unchecked")
 	public List<UserRegistration> queryRegistrationList(String sql,List<Object> args) {
-    	// 查询结果
+    	// 鏌ヨ缁撴灉
     	Session session = this.getSessionFactory().getCurrentSession();
     	SQLQuery query = session.createSQLQuery(sql);
     	query.setResultTransformer(Transformers.aliasToBean(UserRegistration.class));
@@ -64,7 +64,7 @@
 	}
     
     /**
-	 * 导出报名信息
+	 * 瀵煎嚭鎶ュ悕淇℃伅
 	 * @param sql
 	 * @param args
 	 * @return
@@ -72,7 +72,7 @@
 	 */
     @SuppressWarnings("unchecked")
 	public List<ExportUserRegistration> queryExportRegList(String sql,List<Object> args) {
-    	// 查询结果
+    	// 鏌ヨ缁撴灉
     	Session session = this.getSessionFactory().getCurrentSession();
     	SQLQuery query = session.createSQLQuery(sql);
     	query.setResultTransformer(Transformers.aliasToBean(ExportUserRegistration.class));
diff --git a/src/main/java/com/qxueyou/scc/user/dao/UserRoleDAO.java b/src/main/java/com/qxueyou/scc/user/dao/UserRoleDAO.java
index 719ba89..c9f099e 100644
--- a/src/main/java/com/qxueyou/scc/user/dao/UserRoleDAO.java
+++ b/src/main/java/com/qxueyou/scc/user/dao/UserRoleDAO.java
@@ -19,7 +19,7 @@
 public class UserRoleDAO extends BaseDAO {
 
 	/**
-	 * 获取角色列表
+	 * 鑾峰彇瑙掕壊鍒楄〃
 	 */
 	public List<UserRole> getUserRoleLst(String keyword) {
 		return find("from UserRole where deleteFlag is false and name like ? and topOrgId=?",
@@ -27,7 +27,7 @@
 	}
 
 	/**
-	 * 获取人员列表
+	 * 鑾峰彇浜哄憳鍒楄〃
 	 */
 	public List<Map<String, Object>> getUserLstByRoleId(String roleId, Integer pageSize, Integer pageNum,
 			String keyword) {
@@ -40,7 +40,7 @@
 	}
 
 	/**
-	 * 获取人员列表总条数
+	 * 鑾峰彇浜哄憳鍒楄〃鎬绘潯鏁�
 	 */
 	public int getUserCount(String roleId, String keyword) {
 		return findCountByComplexHql("select count(1) from User u , UserReRoleUser r where u .deleteFlag is false "
@@ -49,7 +49,7 @@
 	}
 
 	/**
-	 * 删除人员
+	 * 鍒犻櫎浜哄憳
 	 */
 	public boolean delete(String userId) {
 		String[] userIds = userId.split(",");
@@ -67,7 +67,7 @@
 	}
 
 	/**
-	 * 获取角色信息
+	 * 鑾峰彇瑙掕壊淇℃伅
 	 */
 	public List<Map<String, Object>> findMenuLstById(String roleId) {
 		String hql = "select m.name as name ,m.menuId as menuId ,'1' as type from UserRole u ,SysPrivilege p ,SysMenu m where u.roleId = p.roleId and "
@@ -77,7 +77,7 @@
 	}
 
 	/**
-	 * 修改角色信息
+	 * 淇敼瑙掕壊淇℃伅
 	 * 
 	 * @param roleId
 	 * @param menuId
@@ -106,7 +106,7 @@
 	}
 
 	/**
-	 * 删除角色
+	 * 鍒犻櫎瑙掕壊
 	 * 
 	 * @param roleId
 	 * @return
@@ -125,7 +125,7 @@
 	}
 
 	/**
-	 * 获取所有菜单的列表
+	 * 鑾峰彇鎵�鏈夎彍鍗曠殑鍒楄〃
 	 * 
 	 * @return
 	 */
@@ -137,7 +137,7 @@
 	}
 
 	/**
-	 * 添加教师
+	 * 娣诲姞鏁欏笀
 	 * 
 	 * @param teacherIds
 	 * @param roleId
diff --git a/src/main/java/com/qxueyou/scc/user/model/User.java b/src/main/java/com/qxueyou/scc/user/model/User.java
index e9dbfd4..8e7b836 100644
--- a/src/main/java/com/qxueyou/scc/user/model/User.java
+++ b/src/main/java/com/qxueyou/scc/user/model/User.java
@@ -11,7 +11,7 @@
 
 
 /**
- * 用户表 实体
+ * 鐢ㄦ埛琛� 瀹炰綋
  *
  * @author ody.yuan
  */
@@ -23,7 +23,7 @@
     private static final long serialVersionUID = 1L;
 
     /**
-     * 主键
+     * 涓婚敭
      */
     @Id
     @GeneratedValue(generator = "hibernate-uuid")
@@ -32,14 +32,14 @@
     private String userId;
 
     /**
-     * 创建者ID
+     * 鍒涘缓鑰匢D
      */
     @Column(name = "CREATE_ID", nullable = false, length = 32)
     @JsonIgnore
     private String createId;
 
     /**
-     * 创建时间
+     * 鍒涘缓鏃堕棿
      */
     @Column(name = "CREATE_TIME", nullable = false)
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@@ -47,76 +47,76 @@
     private Date createTime;
 
     /**
-     * 创建人
+     * 鍒涘缓浜�
      */
     @Column(name = "CREATOR", nullable = false, length = 100)
     @JsonIgnore
     private String creator;
 
     /**
-     * 删除标志
+     * 鍒犻櫎鏍囧織
      */
     @Column(name = "DELETE_FLAG", nullable = false)
     @JsonIgnore
     private boolean deleteFlag;
 
     /**
-     * 用户头像路径
+     * 鐢ㄦ埛澶村儚璺緞
      */
     @Column(name = "IMG_PATH", length = 255)
     private String imgPath;
 
     /**
-     * 手机号
+     * 鎵嬫満鍙�
      */
     @Column(name = "MOBILE_PHONE", length = 15)
     private String mobilePhone;
 
     /**
-     * 来源
+     * 鏉ユ簮
      */
     @Column(name = "SOURCE", length = 16)
     private String source;
 
     /**
-     * 邮箱
+     * 閭
      */
     @Column(name = "E_MAIL", length = 64)
     private String email;
 
     /**
-     * 微博号
+     * 寰崥鍙�
      */
     @Column(name = "AGE")
     private Integer age;
 
     /**
-     * 姓名
+     * 濮撳悕
      */
     @Column(name = "NAME", length = 150)
     private String name;
 
     /**
-     * 登录账号
+     * 鐧诲綍璐﹀彿
      */
     @Column(name = "ACCOUNT", length = 64)
     private String account;
 
     /**
-     * 密码
+     * 瀵嗙爜
      */
     @Column(name = "PASSWORD", length = 255)
     private String password;
 
     /**
-     * 修改人ID
+     * 淇敼浜篒D
      */
     @Column(name = "UPDATE_ID", length = 32)
     @JsonIgnore
     private String updateId;
 
     /**
-     * 修改时间
+     * 淇敼鏃堕棿
      */
     @Column(name = "UPDATE_TIME", nullable = false)
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@@ -124,7 +124,7 @@
     private Date updateTime;
 
     /**
-     * 修改人
+     * 淇敼浜�
      */
     @Column(name = "UPDATOR", length = 100)
     @JsonIgnore
@@ -132,14 +132,14 @@
 
 
     /**
-     * 性别
+     * 鎬у埆
      */
     @Column(name = "SEX")
     private boolean sex;
 
 
     /**
-     * 绑定账号ID
+     * 缁戝畾璐﹀彿ID
      */
     @Column(name = "IMEI", length = 255)
     private String imei;
diff --git a/src/main/java/com/qxueyou/scc/user/model/UserAuthorizeTrace.java b/src/main/java/com/qxueyou/scc/user/model/UserAuthorizeTrace.java
index 256e7d5..c6c21b9 100644
--- a/src/main/java/com/qxueyou/scc/user/model/UserAuthorizeTrace.java
+++ b/src/main/java/com/qxueyou/scc/user/model/UserAuthorizeTrace.java
@@ -29,7 +29,7 @@
 	 */
 	private static final long serialVersionUID = 1L;
 	
-	/** type类型(0,user表;其他类型参考organization表type);0用于记录UserAuthorizeTrace中的用户记录 */
+	/** type绫诲瀷(0锛寀ser琛紱鍏朵粬绫诲瀷鍙傝�僶rganization琛╰ype锛夛紱0鐢ㄤ簬璁板綍UserAuthorizeTrace涓殑鐢ㄦ埛璁板綍 */
 	
 	public static final short CUSTOMER_TYPE_USER = 0;
 	
diff --git a/src/main/java/com/qxueyou/scc/user/model/UserExtend.java b/src/main/java/com/qxueyou/scc/user/model/UserExtend.java
index bf6a348..5def5d6 100644
--- a/src/main/java/com/qxueyou/scc/user/model/UserExtend.java
+++ b/src/main/java/com/qxueyou/scc/user/model/UserExtend.java
@@ -43,39 +43,39 @@
 	@Column(name = "MAJOR", length = 255)
 	private String major;
 	
-	/**  省份  */
+	/**  鐪佷唤  */
 	@Column(name = "PROVINCE", length = 255)
 	private String province;
 	
-	/**  城市  */
+	/**  鍩庡競  */
 	@Column(name = "CITY", length = 255)
 	private String city;
 
-	/**  区域  */
+	/**  鍖哄煙  */
 	@Column(name = "REGION", length = 255)
 	private String region;
 	
-	/**  身份证号  */
+	/**  韬唤璇佸彿  */
 	@Column(name = "ID_NUMBER", length = 32)
 	private String idNumber;
 	
-	/**  学员照片  */
+	/**  瀛﹀憳鐓х墖  */
 	@Column(name = "USER_PHOTO", length = 255)
 	private String userPhoto;
 	
-	/**  生日  */
+	/**  鐢熸棩  */
 	@Column(name = "BIRTHDAY", length = 32)
 	private String birthday;
 	
-	/**  公司  */
+	/**  鍏徃  */
 	@Column(name = "COMPANY", length = 255)
 	private String company;
 	
-	/**  是否索要发票  */
+	/**  鏄惁绱㈣鍙戠エ  */
 	@Column(name = "MAIL_FLAG")
 	private boolean mailFlag;
 	
-	/**  邮寄地址  */
+	/**  閭瘎鍦板潃  */
 	@Column(name = "MAIL_ADDRESS", length = 255)
 	private String mailAddress;
 	
@@ -83,11 +83,11 @@
 	@Column(name="QQ", length=16)
 	private String qq;
 	
-	/**  微信  */
+	/**  寰俊  */
 	@Column(name="WEIXIN", length=64)
 	private String weixin;
 	
-	/**  微博  */
+	/**  寰崥  */
 	@Column(name="WEIBO_SINA", length=64)
 	private String weiboSina;
 	
diff --git a/src/main/java/com/qxueyou/scc/user/model/UserRegistration.java b/src/main/java/com/qxueyou/scc/user/model/UserRegistration.java
index 5bd6f5f..df14c54 100644
--- a/src/main/java/com/qxueyou/scc/user/model/UserRegistration.java
+++ b/src/main/java/com/qxueyou/scc/user/model/UserRegistration.java
@@ -25,7 +25,7 @@
 
 
 /**
- * 学员注册表 实体
+ * 瀛﹀憳娉ㄥ唽琛� 瀹炰綋
  * @author ody.yuan
  *
  */
@@ -35,87 +35,87 @@
 public class UserRegistration implements Serializable,ITrace {
 	private static final long serialVersionUID = 1L;
 
-	/**  主键  */
+	/**  涓婚敭  */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="REGISTRATION_ID", unique=true, nullable=false, length=32)
 	private String registrationId;
 
-	/**  班级ID  */
+	/**  鐝骇ID  */
 	@Column(name="CLASS_ID", length=32)
 	private String classId;
 
-	/**  科目ID   */
+	/**  绉戠洰ID   */
 	@Column(name="COLLEGE_COURSE_ID", length=32)
 	private String collegeCourseId;
 
-	/**  创建人ID  */
+	/**  鍒涘缓浜篒D  */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	@JsonIgnore
 	private String createId;
 
-	/**  创建时间  */
+	/**  鍒涘缓鏃堕棿  */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date createTime;
 
-	/**  创建者  */
+	/**  鍒涘缓鑰�  */
 	@Column(name="CREATOR", nullable=false, length=100)
 	@JsonIgnore
 	private String creator;
 
-	/**  删除标志  */
+	/**  鍒犻櫎鏍囧織  */
 	@Column(name="DELETE_FLAG", nullable=false)
 	@JsonIgnore
 	private boolean deleteFlag;
 
-	/**  手机号  */
+	/**  鎵嬫満鍙�  */
 	@Column(name="MOBILE_PHONE", length=32)
 	private String mobilePhone;
 
-	/**  其他联系方式  */
+	/**  鍏朵粬鑱旂郴鏂瑰紡  */
 	@Column(name="OTHER_CONTACT_METHOD", length=32)
 	private String otherContactMethod;
 
-	/**  销售码  */
+	/**  閿�鍞爜  */
 	@Column(name="SALES_CODE", length=32)
 	private String salesCode;
 
-	/**  状态:激活or未激活  */
+	/**  鐘舵�侊細婵�娲籵r鏈縺娲�  */
 	@Column(name="STATUS")
 	private Short status;
 
-	/**  修改人ID  */
+	/**  淇敼浜篒D  */
 	@Column(name="UPDATE_ID", length=32)
 	@JsonIgnore
 	private String updateId;
 
-	/**  修改时间  */
+	/**  淇敼鏃堕棿  */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonIgnore
 	private Date updateTime;
 
-	/**  修改者  */
+	/**  淇敼鑰�  */
 	@Column(name="UPDATOR", length=100)
 	@JsonIgnore
 	private String updator;
 
-	/**  用户ID  */
+	/**  鐢ㄦ埛ID  */
 	@Column(name="USER_ID", length=32)
 	private String userId;
 
-	/**  用户名称  */
+	/**  鐢ㄦ埛鍚嶇О  */
 	@Column(name="USER_NAME", length=150)
 	private String userName;
 	
-	/**  激活时间  */
+	/**  婵�娲绘椂闂�  */
 	@Column(name="ACTIVATION_TIME")
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date activationTime;
 	
-	/**  报名时间  */
+	/**  鎶ュ悕鏃堕棿  */
 	@Column(name="REGISTRATION_TIME")
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date registrationTime;
@@ -131,12 +131,12 @@
 	private User user; 
 	
 	/*
-	 * 状态:激活
+	 * 鐘舵��:婵�娲�
 	 */
 	public static final short STATUS_ACTIVE=1;
 	
 	/*
-	 * 状态:未激活
+	 * 鐘舵��:鏈縺娲�
 	 */
 	public static final short STATUS_DEACTIVE=0;
 	
diff --git a/src/main/java/com/qxueyou/scc/user/model/UserSign.java b/src/main/java/com/qxueyou/scc/user/model/UserSign.java
index cd2a7bc..87b7a0e 100644
--- a/src/main/java/com/qxueyou/scc/user/model/UserSign.java
+++ b/src/main/java/com/qxueyou/scc/user/model/UserSign.java
@@ -11,7 +11,7 @@
 
 
 /**
- * 用户表 实体
+ * 鐢ㄦ埛琛� 瀹炰綋
  *
  * @author ody.yuan
  */
@@ -22,14 +22,14 @@
     private static final long serialVersionUID = 1L;
 
     /**
-     * 创建者ID
+     * 鍒涘缓鑰匢D
      */
     @Column(name = "CREATE_ID", nullable = false, length = 32)
     @JsonIgnore
     private String createId;
 
     /**
-     * 创建时间
+     * 鍒涘缓鏃堕棿
      */
     @Column(name = "CREATE_TIME", nullable = false)
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@@ -37,14 +37,14 @@
     private Date createTime;
 
     /**
-     * 创建人
+     * 鍒涘缓浜�
      */
     @Column(name = "CREATOR", nullable = false, length = 100)
     @JsonIgnore
     private String creator;
 
     /**
-     * 删除标志
+     * 鍒犻櫎鏍囧織
      */
     @Column(name = "DELETE_FLAG", nullable = false)
     @JsonIgnore
@@ -52,14 +52,14 @@
 
 
     /**
-     * 修改人ID
+     * 淇敼浜篒D
      */
     @Column(name = "UPDATE_ID", length = 32)
     @JsonIgnore
     private String updateId;
 
     /**
-     * 修改时间
+     * 淇敼鏃堕棿
      */
     @Column(name = "UPDATE_TIME", nullable = false)
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@@ -67,14 +67,14 @@
     private Date updateTime;
 
     /**
-     * 修改人
+     * 淇敼浜�
      */
     @Column(name = "UPDATOR", length = 100)
     @JsonIgnore
     private String updator;
 
     /**
-     * 主键
+     * 涓婚敭
      */
     @Id
     @GeneratedValue(generator = "hibernate-uuid")
@@ -83,111 +83,111 @@
     private String userSignId;
 
     /**
-     * 用户免冠登记照
+     * 鐢ㄦ埛鍏嶅啝鐧昏鐓�
      */
     @Column(name = "IMG_PATH", length = 255)
     private String imgPath;
 
     /**
-     * 考试id
+     * 鑰冭瘯id
      */
     @Column(name = "EXAM_ID", length = 255)
     private String examId;
 
     /**
-     * 手机号
+     * 鎵嬫満鍙�
      */
     @Column(name = "MOBILE_PHONE", length = 15)
     private String mobilePhone;
 
 
     /**
-     * 年龄
+     * 骞撮緞
      */
     @Column(name = "AGE")
     private Integer age;
 
     /**
-     * 姓名
+     * 濮撳悕
      */
     @Column(name = "NAME", length = 150)
     private String name;
 
     /**
-     * 性别
+     * 鎬у埆
      */
     @Column(name = "SEX")
     private boolean sex;
 
     /**
-     * 身份证
+     * 韬唤璇�
      */
     @Column(name = "IDNO", length = 255)
     private String idno;
 
      /**
-     * 文化程度
+     * 鏂囧寲绋嬪害
      */
     @Column(name = "EDUCATION", length = 255)
     private String education;
 
     /**
-     * 民族
+     * 姘戞棌
      */
     @Column(name = "NATION", length = 255)
     private String nation;
 
 
     /**
-     * 取得资格认证名称
+     * 鍙栧緱璧勬牸璁よ瘉鍚嶇О
      */
     @Column(name = "ACCREDITATION_NAME", length = 255)
     private String accreditationName;
 
     /**
-     * 技能等级
+     * 鎶�鑳界瓑绾�
      */
     @Column(name = "SKILL_LEVEL", length = 255)
     private String skillLevel;
 
     /**
-     * 推荐单位名称
+     * 鎺ㄨ崘鍗曚綅鍚嶇О
      */
     @Column(name = "RECOMMEND_NAME", length = 255)
     private String recommendName;
 
     /**
-     * 推荐单位联系人
+     * 鎺ㄨ崘鍗曚綅鑱旂郴浜�
      */
     @Column(name = "RECOMMEND_PERSON", length = 255)
     private String recommendPerson;
 
     /**
-     * 个人身份证
+     * 涓汉韬唤璇�
      */
     @Column(name = "IDNO_PATH", length = 255)
     private String idnoPath;
 
     /**
-     * 报名表
+     * 鎶ュ悕琛�
      */
     @Column(name = "SIGNT_PATH", length = 255)
     private String signtPath;
 
     /**
-     * 承诺书
+     * 鎵胯涔�
      */
     @Column(name = "PROMISE_PATH", length = 255)
     private String promisePath;
 
     /**
-     * 及相关证书的电子件
+     * 鍙婄浉鍏宠瘉涔︾殑鐢靛瓙浠�
      */
     @Column(name = "CERT_PATH", length = 255)
     private String certPath;
 
     /**
-     * 审核状态
+     * 瀹℃牳鐘舵��
      */
     @Column(name = "STATUS", length = 255)
     private String status;
diff --git a/src/main/java/com/qxueyou/scc/user/model/UserStudent.java b/src/main/java/com/qxueyou/scc/user/model/UserStudent.java
index 558ab70..15bcbbc 100644
--- a/src/main/java/com/qxueyou/scc/user/model/UserStudent.java
+++ b/src/main/java/com/qxueyou/scc/user/model/UserStudent.java
@@ -16,7 +16,7 @@
 import com.qxueyou.scc.base.model.ITrace;
 
 /**
- * 学员表  实体
+ * 瀛﹀憳琛�  瀹炰綋
  * @author ody.yuan
  *
  */
@@ -27,60 +27,60 @@
 	
 	private static final long serialVersionUID = 1L;
 
-	/**  主键  */
+	/**  涓婚敭  */
 	@Id
 	@GeneratedValue(generator = "hibernate-uuid")
 	@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
 	@Column(name="STUDENT_ID", unique=true, nullable=false, length=32)
 	private String studentId;
 
-	/**  用户ID */
+	/**  鐢ㄦ埛ID */
 	@Column(name="USER_ID", length=32)
 	private String userId;
 
-	/**  机构ID  */
+	/**  鏈烘瀯ID  */
 	@Column(name="ORG_ID", length=32)
 	private String orgId;
 
-	/**  班级ID  */
+	/**  鐝骇ID  */
 	@Column(name="CLASS_ID", length=32)
 	private String classId;
 
-	/**  创建者ID  */
+	/**  鍒涘缓鑰匢D  */
 	@Column(name="CREATE_ID", nullable=false, length=32)
 	private String createId;
 
-	/**  创建时间  */
+	/**  鍒涘缓鏃堕棿  */
 	@Column(name="CREATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date createTime;
 
-	/**  创建人  */
+	/**  鍒涘缓浜�  */
 	@Column(name="CREATOR", nullable=false, length=100)
 	private String creator;
 
-	/**  删除标志 */
+	/**  鍒犻櫎鏍囧織 */
 	@Column(name="DELETE_FLAG", nullable=false)
 	private boolean deleteFlag;
 
-	/**  修改人ID  */
+	/**  淇敼浜篒D  */
 	@Column(name="UPDATE_ID", length=32)
 	private String updateId;
 
-	/**  修改时间  */
+	/**  淇敼鏃堕棿  */
 	@Column(name="UPDATE_TIME", nullable=false)
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date updateTime;
 
-	/**  修改人  */
+	/**  淇敼浜�  */
 	@Column(name="UPDATOR", length=100)
 	private String updator;
 	
-	/**  修改人  */
+	/**  淇敼浜�  */
 	@Column(name="SCHOOL", length=128)
 	private String school;
 	
-	/**  专业 */
+	/**  涓撲笟 */
 	@Column(name="SUBJECT", length=128)
 	private String subject;
 
diff --git a/src/main/java/com/qxueyou/scc/user/service/IUserOperateService.java b/src/main/java/com/qxueyou/scc/user/service/IUserOperateService.java
index 56b7568..2fb3a59 100644
--- a/src/main/java/com/qxueyou/scc/user/service/IUserOperateService.java
+++ b/src/main/java/com/qxueyou/scc/user/service/IUserOperateService.java
@@ -1,14 +1,14 @@
 package com.qxueyou.scc.user.service;
 
 /**
- * 用户操作接口
+ * 鐢ㄦ埛鎿嶄綔鎺ュ彛
  * @author ody.yuan
  *
  */
 public interface IUserOperateService {
 
 	/**
-	 * 插入或者更新user_operate,更新用户登录状态
+	 * 鎻掑叆鎴栬�呮洿鏂皍ser_operate,鏇存柊鐢ㄦ埛鐧诲綍鐘舵��
 	 * 
 	 * @param userId
 	 * @param userName
diff --git a/src/main/java/com/qxueyou/scc/user/service/IUserRegistrationService.java b/src/main/java/com/qxueyou/scc/user/service/IUserRegistrationService.java
index 70064ab..7d79a3c 100644
--- a/src/main/java/com/qxueyou/scc/user/service/IUserRegistrationService.java
+++ b/src/main/java/com/qxueyou/scc/user/service/IUserRegistrationService.java
@@ -13,7 +13,7 @@
 public interface IUserRegistrationService {
 	
 	/**
-	 * 学员信息操作记录
+	 * 瀛﹀憳淇℃伅鎿嶄綔璁板綍
 	 * @param operator
 	 * @param regId
 	 * @param moduleName
@@ -23,7 +23,7 @@
 	Result doInsertRegLog(String operator,String regId,String mobile) ;
 	
 	/**
-	 * 更新班级报名数量
+	 * 鏇存柊鐝骇鎶ュ悕鏁伴噺
 	 * @param classId
 	 * @param updateCount
 	 * @param updateType
@@ -32,14 +32,14 @@
 	Result updateStudentCount(String classId, int updateCount, int updateType);
 	
 	/**
-	 * 新增报名
+	 * 鏂板鎶ュ悕
 	 * @param reg
 	 * @return
 	 */
 	Result insertRegistration(UserRegistration reg, String source );
 	
 	/**
-	 * 新增报名
+	 * 鏂板鎶ュ悕
 	 * @param reg
 	 * @param companyName
 	 * @return
@@ -47,28 +47,28 @@
 	Result insertRegistration(UserRegistration reg,String companyName, String source );
 	
 	/**
-	 * 新增报名
-	 *  @param role:角色(添加用户的角色,没有可以传null), type:(操作类型:后台、微信、APP....) userMap:参数   mode:具体操作(没有可以传null)
+	 * 鏂板鎶ュ悕
+	 *  @param role:瑙掕壊锛堟坊鍔犵敤鎴风殑瑙掕壊,娌℃湁鍙互浼爊ull锛�, type:(鎿嶄綔绫诲瀷锛氬悗鍙般�佸井淇°�丄PP....) userMap锛氬弬鏁�   mode:鍏蜂綋鎿嶄綔(娌℃湁鍙互浼爊ull)
 	 * @return
 	 */
 	Result insertRegistration(UserRegistration reg,boolean male,String source, String signupInfo);
 	
 	/**@version 2.0
-	 * 激活
-	 * @param role:角色(添加用户的角色,没有可以传null), type:(操作类型:后台、微信、APP....) userMap:参数   mode:具体操作(没有可以传null)
+	 * 婵�娲�
+	 * @param role:瑙掕壊锛堟坊鍔犵敤鎴风殑瑙掕壊,娌℃湁鍙互浼爊ull锛�, type:(鎿嶄綔绫诲瀷锛氬悗鍙般�佸井淇°�丄PP....) userMap锛氬弬鏁�   mode:鍏蜂綋鎿嶄綔(娌℃湁鍙互浼爊ull)
 	 * @return
 	 */
 	Result executeActivation(String role, String type,String mode, Map<String, Object> userMap,boolean smsFlag,Map<String,String> passwordMap);
 	
 	/**@version 2.0
-	 * 报名
-	 * @param role:角色(添加用户的角色,没有可以传null), type:(操作类型:后台、微信、APP....) userMap:参数   mode:具体操作(没有可以传null)
+	 * 鎶ュ悕
+	 * @param role:瑙掕壊锛堟坊鍔犵敤鎴风殑瑙掕壊,娌℃湁鍙互浼爊ull锛�, type:(鎿嶄綔绫诲瀷锛氬悗鍙般�佸井淇°�丄PP....) userMap锛氬弬鏁�   mode:鍏蜂綋鎿嶄綔(娌℃湁鍙互浼爊ull)
 	 * @return
 	 */
 	Result executeSignup(String role, String type, String mode,Map<String, Object> userMap);
 	
 	/**@version 2.0
-	 * 注册
+	 * 娉ㄥ唽
 	 * @param reg
 	 * @param male
 	 * @return
@@ -77,29 +77,29 @@
 	
 	
 	/**
-	 * 删除报名
-	 * @param regIds 注册id
+	 * 鍒犻櫎鎶ュ悕
+	 * @param regIds 娉ㄥ唽id
 	 * @return
 	 */
 	Result deleteRegistrations(String[] regIds);
 	
 	/**
-	 * 激活报名
-	 * @param regIds 注册id
+	 * 婵�娲绘姤鍚�
+	 * @param regIds 娉ㄥ唽id
 	 * @return
 	 */
 	Result doActiveRegistrations(String[] regIds,boolean smsFlag,Map<String,String> passwordMap);
 	
 	
 	/**
-	 * 冻结报名
-	 * @param regIds 注册id
+	 * 鍐荤粨鎶ュ悕
+	 * @param regIds 娉ㄥ唽id
 	 * @return
 	 */
 	Result doDeActiveRegistrations(String[] regIds);
 	
 	/**
-	 * 用户选课报名
+	 * 鐢ㄦ埛閫夎鎶ュ悕
 	 * @param classId
 	 * @param courseId
 	 * @return
@@ -107,39 +107,39 @@
 	Result doRegClass(String classId, String courseId);
 	
 	/**
-	 * 游客选课报名
+	 * 娓稿閫夎鎶ュ悕
 	 * @param userMap
 	 * @return
 	 */
 	Result doVisitorRegClass(Map<String,Object> userMap);
 	
 	/**
-	 * 导入学员报名信息
+	 * 瀵煎叆瀛﹀憳鎶ュ悕淇℃伅
 	 * @param file
 	 * @return
 	 */
 	Result doImportRegistration(String fullPath,String module , String classId);
 	
 	/**
-	 * 机构学员列表
+	 * 鏈烘瀯瀛﹀憳鍒楄〃
 	 * @param orgId
 	 * @return
 	 */
 	public List<Map<String,Object>> queryOrgRegistrationList(String orgId);
 	/**
-	 * 学员注册列表 - 班级
+	 * 瀛﹀憳娉ㄥ唽鍒楄〃 - 鐝骇
 	 * @return
 	 */
 	List<Map<String,Object>> queryClassRegistrationList(String classId);
 	
 	/**
-	 * 导出得到注册信息
+	 * 瀵煎嚭寰楀埌娉ㄥ唽淇℃伅
 	 * @return
 	 */
 	List<ExportUserRegistration> queryExportRegList(boolean orgFlag);
 	
 	/**
-	 * 判断是否报名
+	 * 鍒ゆ柇鏄惁鎶ュ悕
 	 * @param userId
 	 * @param classId
 	 * @return
@@ -147,14 +147,14 @@
 	boolean hasRegistration(String userId,String classId);
 	
 	/**
-	 * 获取Q学友最新的账号号码
+	 * 鑾峰彇Q瀛﹀弸鏈�鏂扮殑璐﹀彿鍙风爜
 	 * @return
 	 */
 	String doGetNewQxyAccount();
 	
 	
 	/**
-	 * 消息处理激活学员后续操作
+	 * 娑堟伅澶勭悊婵�娲诲鍛樺悗缁搷浣�
 	 * @param userId
 	 * @param password
 	 * @param classId
@@ -164,7 +164,7 @@
 	Result doOnsRegActive(String userId,String password,String classId,String regId);
 	
 	/**
-	 * 消息处理删除、冻结学员后续操作
+	 * 娑堟伅澶勭悊鍒犻櫎銆佸喕缁撳鍛樺悗缁搷浣�
 	 * @param userId
 	 * @param password
 	 * @param classId
@@ -174,48 +174,48 @@
 	Result doOnsRegDeActive(String userIds,String classId);
 	
 	/**
-	 * 加入游客班级,不需要消耗账号
+	 * 鍔犲叆娓稿鐝骇锛屼笉闇�瑕佹秷鑰楄处鍙�
 	 */
 	Result insertClassVisitor(Map<String,Object> userMap);
 	
 	/**
-	 * 注册新用户信息准备
+	 * 娉ㄥ唽鏂扮敤鎴蜂俊鎭噯澶�
 	 * @return
 	 */
 	HashMap<String, Object> prepareUserInfoMap(String openId, String userId, String source, String wxSource);
 	
 	/**
-	 * 已存在用户 仅仅加入机构体验班
+	 * 宸插瓨鍦ㄧ敤鎴� 浠呬粎鍔犲叆鏈烘瀯浣撻獙鐝�
 	 * @param userMap
 	 * @return
 	 */
 	Result insertOnlyWXOrgVisitorCls(Map<String,Object> userMap);
 
 	/**
-	 * 给学员发送短信
+	 * 缁欏鍛樺彂閫佺煭淇�
 	 */
 	Result doSendSmsToUser(String regIds);
 	
 	/**
-	 * 异步处理学员激活所需要的操作
+	 * 寮傛澶勭悊瀛﹀憳婵�娲绘墍闇�瑕佺殑鎿嶄綔
 	 * @return
 	 */
 	Result doOnsRegActive2(String userId,String password,String classId,String regId);
 	
 	/**
-	 * 保存自定义信息
+	 * 淇濆瓨鑷畾涔変俊鎭�
 	 * @param data
 	 */
 	Result doSaveCustom(String data, String classId);
 	
 	/**
-	 * 获取自定义学员信息
+	 * 鑾峰彇鑷畾涔夊鍛樹俊鎭�
 	 * @param data
 	 */
 //	List<OrgClassUserCustom> doInitCustomLst(String classId, String pageType, boolean isApp);
 	
 	/**
-	 * 学员转班
+	 * 瀛﹀憳杞彮
 	 * @param data
 	 */
 	Result doSaveTurn(List<String> regIds,String classId);
diff --git a/src/main/java/com/qxueyou/scc/user/service/IUserRoleService.java b/src/main/java/com/qxueyou/scc/user/service/IUserRoleService.java
index 16d9c4a..b9e11ff 100644
--- a/src/main/java/com/qxueyou/scc/user/service/IUserRoleService.java
+++ b/src/main/java/com/qxueyou/scc/user/service/IUserRoleService.java
@@ -7,7 +7,7 @@
 import java.util.Map;
 
 /**
- * 角色接口
+ * 瑙掕壊鎺ュ彛
  * 
  * @author ody.yuan
  *
@@ -15,21 +15,21 @@
 public interface IUserRoleService {
 
 	/**
-	 * 得到菜单
+	 * 寰楀埌鑿滃崟
 	 * 
 	 * @return
 	 */
 	public Result queryMenus(String roleId);
 
 	/**
-	 * 取得当前角色是否编辑过 按钮权限
+	 * 鍙栧緱褰撳墠瑙掕壊鏄惁缂栬緫杩� 鎸夐挳鏉冮檺
 	 * 
 	 * @return
 	 */
 	public boolean getButtonPrivilegeFlag(String orgId, String topOrgId, String roleId);
 
 	/**
-	 * 根据角色编码获取角色信息
+	 * 鏍规嵁瑙掕壊缂栫爜鑾峰彇瑙掕壊淇℃伅
 	 * 
 	 * @param roleCode
 	 * @return
@@ -37,27 +37,27 @@
 	public UserRole queryRoleByCode(String roleCode);
 
 	/**
-	 * 获取角色列表
+	 * 鑾峰彇瑙掕壊鍒楄〃
 	 */
 	public List<UserRole> getUserRoleLst(String keyword);
 
 	/**
-	 * 获取人员列表
+	 * 鑾峰彇浜哄憳鍒楄〃
 	 */
 	public Result getUserLstByRoleId(String roleId, Integer pageSize, Integer pageNum,String keyword);
 
 	/**
-	 * 删除人员
+	 * 鍒犻櫎浜哄憳
 	 */
 	public Result delete(String userId);
 
 	/**
-	 * 显示角色信息
+	 * 鏄剧ず瑙掕壊淇℃伅
 	 */
 	Result queryRoleDetail(String roleId);
 
 	/**
-	 * 修改角色信息
+	 * 淇敼瑙掕壊淇℃伅
 	 * 
 	 * @param roleId
 	 * @param menuId
@@ -65,7 +65,7 @@
 	Result updateRole(String roleId, String menuIds,String name);
 
 	/**
-	 * 删除角色
+	 * 鍒犻櫎瑙掕壊
 	 * 
 	 * @param roleId
 	 * @return
@@ -73,14 +73,14 @@
 	Result deleteRole(String roleId);
 
 	/**
-	 * 获取所有菜单列表
+	 * 鑾峰彇鎵�鏈夎彍鍗曞垪琛�
 	 * 
 	 * @return
 	 */
 	List<Map<String, Object>> findMenuLst();
 
 	/**
-	 * 新增角色
+	 * 鏂板瑙掕壊
 	 * 
 	 * @param name
 	 * @param menuIds
@@ -89,7 +89,7 @@
 	Result addRole(String name,String roleType);
 
 	/**
-	 * 添加教师
+	 * 娣诲姞鏁欏笀
 	 * 
 	 * @param teacherIds
 	 * @param roleId
diff --git a/src/main/java/com/qxueyou/scc/user/service/IUserService.java b/src/main/java/com/qxueyou/scc/user/service/IUserService.java
index d80b6c0..56ada3b 100644
--- a/src/main/java/com/qxueyou/scc/user/service/IUserService.java
+++ b/src/main/java/com/qxueyou/scc/user/service/IUserService.java
@@ -8,61 +8,61 @@
 import com.qxueyou.scc.user.model.User;
 
 /**
- * 用户接口
+ * 鐢ㄦ埛鎺ュ彛
  *
- * @author 夏德虎
+ * @author 澶忓痉铏�
  */
 public interface IUserService {
 
     /**
-     * 初始化用户信息
+     * 鍒濆鍖栫敤鎴蜂俊鎭�
      *
-     * @param userId    用户ID
-     * @param needMenus 是否需要查询当前用户的菜单
+     * @param userId    鐢ㄦ埛ID
+     * @param needMenus 鏄惁闇�瑕佹煡璇㈠綋鍓嶇敤鎴风殑鑿滃崟
      * @return
      */
     UserInfoWrapper initUserInfoWrapper(CacheParamters param, boolean needMenus);
 
     /**
-     * 新增用户
+     * 鏂板鐢ㄦ埛
      *
-     * @param name          姓名
-     * @param studentNumber 学号
-     * @param mobilePhone   手机号
+     * @param name          濮撳悕
+     * @param studentNumber 瀛﹀彿
+     * @param mobilePhone   鎵嬫満鍙�
      * @return
      */
     User insertUser(String name, String account, String mobilePhone, String password, Boolean sex, String orgId);
 
     /**
-     * 根据账户获取用户
+     * 鏍规嵁璐︽埛鑾峰彇鐢ㄦ埛
      *
-     * @param account 账号
+     * @param account 璐﹀彿
      * @return
      */
     User getUserByAccount(String account, String orgId);
 
     /**
-     * 为用户添加角色
+     * 涓虹敤鎴锋坊鍔犺鑹�
      *
-     * @param userId 用户ID
-     * @param roleId 角色ID
+     * @param userId 鐢ㄦ埛ID
+     * @param roleId 瑙掕壊ID
      * @return
      */
     Result addRole(String userId, String roleId);
 
     /**
-     * 用户设置
+     * 鐢ㄦ埛璁剧疆
      *
-     * @param userId      用户id
-     * @param oldPassword 旧密码
-     * @param newPasswd   新密码
-     * @param imgPaths    头像图片路径
+     * @param userId      鐢ㄦ埛id
+     * @param oldPassword 鏃у瘑鐮�
+     * @param newPasswd   鏂板瘑鐮�
+     * @param imgPaths    澶村儚鍥剧墖璺緞
      * @return
      */
     Result updatePassword(String userId, String oldPassword, String newPasswd);
     
     /**
-     * 用户设置头像
+     * 鐢ㄦ埛璁剧疆澶村儚
      * 
      * @param headPath
      * @return
@@ -70,7 +70,7 @@
     Result updateUserHead(String userId, String headPath);
     
     /**
-     * 用户设置头像
+     * 鐢ㄦ埛璁剧疆澶村儚
      * 
      * @param headPath
      * @return
@@ -78,28 +78,28 @@
     Result updateUserInfo(String userId, String mobilePhone);
 
     /**
-     * 用户修改密码
+     * 鐢ㄦ埛淇敼瀵嗙爜
      *
-     * @param password 原密码
+     * @param password 鍘熷瘑鐮�
      */
     Result updatePassword(String userId, String password);
 
     /**
-     * 判断用户是否为管理员
+     * 鍒ゆ柇鐢ㄦ埛鏄惁涓虹鐞嗗憳
      *
      * @return
      */
     boolean isAdmin();
 
     /**
-     * 判断用户是否为教师
+     * 鍒ゆ柇鐢ㄦ埛鏄惁涓烘暀甯�
      *
      * @return
      */
     boolean isTeacher();
 
     /**
-     * 批量保存用户信息
+     * 鎵归噺淇濆瓨鐢ㄦ埛淇℃伅
      *
      * @param lstUser
      * @return
@@ -107,12 +107,12 @@
     boolean doBatchUpdateUser(List<User> lstUser);
 
     /**
-     * 用户的更新
+     * 鐢ㄦ埛鐨勬洿鏂�
      */
     Result updateUser(String userId, String name, String account, String mobilePhone, String password, Boolean sex);
 
     /**
-     * 判断用户是否存在
+     * 鍒ゆ柇鐢ㄦ埛鏄惁瀛樺湪
      *
      * @param userId
      */
diff --git a/src/main/java/com/qxueyou/scc/user/service/IUserSignService.java b/src/main/java/com/qxueyou/scc/user/service/IUserSignService.java
index 1978a36..44552f5 100644
--- a/src/main/java/com/qxueyou/scc/user/service/IUserSignService.java
+++ b/src/main/java/com/qxueyou/scc/user/service/IUserSignService.java
@@ -12,17 +12,17 @@
 public interface IUserSignService {
 
 	/**
-	 * 根据申请状态获取
+	 * 鏍规嵁鐢宠鐘舵�佽幏鍙�
 	 */
 	List<UserSign> findByStatus(int status);
 
 	/**
-	 * 添加申请
+	 * 娣诲姞鐢宠
 	 */
 	void addSign(UserSign userSign);
 
 	/**
-	 * 修改状态
+	 * 淇敼鐘舵��
 	 * @param
 	 */
 	void updateStatus(UserSign userSign);
diff --git a/src/main/java/com/qxueyou/scc/user/service/impl/UserOperateService.java b/src/main/java/com/qxueyou/scc/user/service/impl/UserOperateService.java
index e33c6cb..c24a98c 100644
--- a/src/main/java/com/qxueyou/scc/user/service/impl/UserOperateService.java
+++ b/src/main/java/com/qxueyou/scc/user/service/impl/UserOperateService.java
@@ -13,7 +13,7 @@
 import com.qxueyou.scc.user.service.IUserOperateService;
 
 /**
- * 用户操作服务
+ * 鐢ㄦ埛鎿嶄綔鏈嶅姟
  * @author ody.yuan
  *
  */
@@ -24,7 +24,7 @@
 	
 	
 	/**
-	 * 插入或者更新user_operate,更新用户登录状态
+	 * 鎻掑叆鎴栬�呮洿鏂皍ser_operate,鏇存柊鐢ㄦ埛鐧诲綍鐘舵��
 	 * 
 	 * @param userId
 	 * @param userName
@@ -37,7 +37,7 @@
 		
 		boolean firstFlag = false;
 		String hql = "from UserOperate where deleteFlag is false and userId = ? ";
-		// 查询用户信息
+		// 鏌ヨ鐢ㄦ埛淇℃伅
 		UserOperate objOperate = this.findUnique(hql, CollectionUtils.newList(userId), UserOperate.class);
 
 		if (null == objOperate) {
@@ -50,13 +50,13 @@
 			initUpdateUserOperate(objOperate, version, platform);
 		}
 
-		// 修改信息
+		// 淇敼淇℃伅
 		Date now = new Date(System.currentTimeMillis());
 		objOperate.setUpdateTime(now);
 		objOperate.setLastLoginTime(now);
 		objOperate.setLastLoginTIp(ip);
 		
-		// 执行update
+		// 鎵цupdate
 		this.save(objOperate);
 
 		return firstFlag;
@@ -74,13 +74,13 @@
 		objOperate.setUserName(userName);
 		objOperate.setAccount(account);
 		
-		// 次数
+		// 娆℃暟
 		objOperate.setLoginDays(1);
 		objOperate.setLoginTimes(1);
 		objOperate.setSumLoginDays(1);
 		objOperate.setSumLoginTimes(1);
 		
-		//新增平台版本
+		//鏂板骞冲彴鐗堟湰
 		objOperate.setAppVersion(StringUtils.isNotBlank(version) ? version : null );
 		if(StringUtils.isNotBlank(platform)){
 			objOperate.setPlatform(platform);
@@ -98,7 +98,7 @@
 		objOperate.setSumLoginTimes(objOperate.getSumLoginTimes() + 1);
 		initUserOperateLoinInfo(objOperate, now);
 		
-		//修改最后一次平台版本
+		//淇敼鏈�鍚庝竴娆″钩鍙扮増鏈�
 		objOperate.setAppVersion(StringUtils.isNotBlank(version) ? version : objOperate.getAppVersion() );
 		if(StringUtils.isNotBlank(platform)){
 			objOperate.setPlatform(platform);
@@ -115,15 +115,15 @@
 		boolean flag = (now.getTime() - firstLoginTime.getTime()) / 86400000 <= 30;
 		
 		if (null != firstLoginTime && flag) {
-			// 新增30天登录次数
+			// 鏂板30澶╃櫥褰曟鏁�
 			objOperate.setLoginTimes(objOperate.getLoginTimes() + 1);
 			flag = (now.getTime() - lastLoginTime.getTime()) / 86400000 > 0;
 			if (null != lastLoginTime && flag) {
-				// 新增30天登录天数
+				// 鏂板30澶╃櫥褰曞ぉ鏁�
 				objOperate.setLoginDays(objOperate.getLoginDays() + 1);
 			}
 		}
-		// 总登录天数
+		// 鎬荤櫥褰曞ぉ鏁�
 		flag = (now.getTime() - lastLoginTime.getTime()) / 86400000 > 0;
 		if (null != lastLoginTime && flag) {
 			objOperate.setSumLoginDays(objOperate.getSumLoginDays() + 1);
diff --git a/src/main/java/com/qxueyou/scc/user/service/impl/UserRoleService.java b/src/main/java/com/qxueyou/scc/user/service/impl/UserRoleService.java
index 27d3b60..11b19a4 100644
--- a/src/main/java/com/qxueyou/scc/user/service/impl/UserRoleService.java
+++ b/src/main/java/com/qxueyou/scc/user/service/impl/UserRoleService.java
@@ -19,7 +19,7 @@
 import java.util.Map;
 
 /**
- * 角色
+ * 瑙掕壊
  * 
  * @author ody.yuan
  *
@@ -30,7 +30,7 @@
 	UserRoleDAO dao;
 
 	/**
-	 * 得到菜单
+	 * 寰楀埌鑿滃崟
 	 * 
 	 * @return
 	 */
@@ -40,13 +40,13 @@
 	}
 
 	/**
-	 * 得到菜单
+	 * 寰楀埌鑿滃崟
 	 * 
 	 * @return
 	 */
 	private Result queryCommonMenus(String roleId) {
 
-		// 按角色过滤
+		// 鎸夎鑹茶繃婊�
 
 		Result result = new Result(true);
 
@@ -85,7 +85,7 @@
 	}
 
 	/**
-	 * 取得当前角色是否编辑过 按钮权限,有记录就是编辑过
+	 * 鍙栧緱褰撳墠瑙掕壊鏄惁缂栬緫杩� 鎸夐挳鏉冮檺,鏈夎褰曞氨鏄紪杈戣繃
 	 * 
 	 * @return
 	 */
@@ -119,9 +119,9 @@
 	@Override
 	public Result delete(String userId) {
 		boolean result = dao.delete(userId);
-		String messge = "移除成功";
+		String messge = "绉婚櫎鎴愬姛";
 		if (!result) {
-			messge = "移除失败";
+			messge = "绉婚櫎澶辫触";
 		}
 		return new Result(result, messge);
 	}
diff --git a/src/main/java/com/qxueyou/scc/user/service/impl/UserService.java b/src/main/java/com/qxueyou/scc/user/service/impl/UserService.java
index f22a1d7..ceac340 100644
--- a/src/main/java/com/qxueyou/scc/user/service/impl/UserService.java
+++ b/src/main/java/com/qxueyou/scc/user/service/impl/UserService.java
@@ -27,9 +27,9 @@
 import javax.servlet.http.HttpSession;
 
 /**
- * 用户管理服务
+ * 鐢ㄦ埛绠$悊鏈嶅姟
  *
- * @author 德虎
+ * @author 寰疯檸
  */
 @Service
 public class UserService extends CommonAppService implements IUserService {
@@ -38,7 +38,7 @@
     IOrganizationService organizationService;
 
     /**
-     * 初始化用户wrapper
+     * 鍒濆鍖栫敤鎴穡rapper
      */
     @Override
     public UserInfoWrapper initUserInfoWrapper(CacheParamters param, boolean needMenus) {
@@ -46,17 +46,17 @@
         HttpSession session = request.getSession();
         UserInfoWrapper wrapper = new UserInfoWrapper();
         User user = read(User.class, param.getUserId());
-//        System.out.println("用户信息"+user);
-        // TODO:这里需要对应的获取组织信息
+//        System.out.println("鐢ㄦ埛淇℃伅"+user);
+        // TODO:杩欓噷闇�瑕佸搴旂殑鑾峰彇缁勭粐淇℃伅
         Organization org = read(Organization.class, user.getOrganizationId());
-//        System.out.println("组织信息"+user.getOrganizationId());
+//        System.out.println("缁勭粐淇℃伅"+user.getOrganizationId());
 
-        //TODO 设置user,添加UUNUMBER
+        //TODO 璁剧疆user锛屾坊鍔燯UNUMBER
         user.setEmail(param.getCustomRoleValue());
         user.setAge(1);
-        //TODO 设置user,添加UURENUMBER
+        //TODO 璁剧疆user锛屾坊鍔燯URENUMBER
         user.setImei(param.getCustomOrgId());
-        //查询班级信息
+        //鏌ヨ鐝骇淇℃伅
 //        System.out.println(user.getUserId());
 //        System.out.println(user.getOrganizationId());
 //        System.out.println(StuStudent.STATUS_ACTIVE);
@@ -125,7 +125,7 @@
         User user = read(User.class, userId);
         if (StringUtils.isNotBlank(usedPass) && StringUtils.isNotBlank(pass)) {
             if (!user.getPassword().equals(usedPass)) {
-                return new Result(false, "输入的旧密码错误");
+                return new Result(false, "杈撳叆鐨勬棫瀵嗙爜閿欒");
             }
             user.setPassword(pass);
         }
@@ -136,14 +136,14 @@
     }
 
     /**
-     * 用户设置头像
+     * 鐢ㄦ埛璁剧疆澶村儚
      *
      * @param headPath
      * @return
      */
     public Result updateUserHead(String userId, String headPath) {
     	 if(StringUtils.isEmpty(headPath)) {
-    		 return new Result(false, "头像地址为空");
+    		 return new Result(false, "澶村儚鍦板潃涓虹┖");
     	 }
     	 User user = read(User.class, userId);
 
@@ -155,7 +155,7 @@
     }
 
     /**
-     * 用户设置手机号
+     * 鐢ㄦ埛璁剧疆鎵嬫満鍙�
      *
      * @param headPath
      * @return
@@ -229,7 +229,7 @@
 
         User user = getUserByAccount(account, ClientUtils.getOrgId());
         if (null != user) {
-            return new Result(false, "用户账号已经存在");
+            return new Result(false, "鐢ㄦ埛璐﹀彿宸茬粡瀛樺湪");
         }
         dbUser.setAccount(account);
         dbUser.setName(name);
diff --git a/src/main/java/com/qxueyou/scc/user/util/ExcelReader.java b/src/main/java/com/qxueyou/scc/user/util/ExcelReader.java
index c4ad815..4237c2b 100644
--- a/src/main/java/com/qxueyou/scc/user/util/ExcelReader.java
+++ b/src/main/java/com/qxueyou/scc/user/util/ExcelReader.java
@@ -1,7 +1,7 @@
 package com.qxueyou.scc.user.util;
 
 /**
- * Description:Excel数据读取工具类,POI实现,兼容Excel2003,及Excel2007
+ * Description:Excel鏁版嵁璇诲彇宸ュ叿绫伙紝POI瀹炵幇锛屽吋瀹笶xcel2003锛屽強Excel2007
  **/
 import java.io.File;
 import java.io.FileInputStream;
@@ -39,7 +39,7 @@
 	}
 
 	/**
-	 * 取Excel所有数据,包含header
+	 * 鍙朎xcel鎵�鏈夋暟鎹紝鍖呭惈header
 	 * 
 	 * @return List<String[]>
 	 */
@@ -63,14 +63,14 @@
 					case Cell.CELL_TYPE_BOOLEAN:
 						singleRow[n] = getHandlerString(Boolean.toString(cell.getBooleanCellValue()));
 						break;
-					// 数值
+					// 鏁板��
 					case Cell.CELL_TYPE_NUMERIC:
 						if (DateUtil.isCellDateFormatted(cell)) {
 							singleRow[n] = getHandlerString(String.valueOf(cell.getDateCellValue()));
 						} else {
 							cell.setCellType(Cell.CELL_TYPE_STRING);
 							String temp = getHandlerString(cell.getStringCellValue());
-							// 判断是否包含小数点,如果不含小数点,则以字符串读取,如果含小数点,则转换为Double类型的字符串
+							// 鍒ゆ柇鏄惁鍖呭惈灏忔暟鐐癸紝濡傛灉涓嶅惈灏忔暟鐐癸紝鍒欎互瀛楃涓茶鍙栵紝濡傛灉鍚皬鏁扮偣锛屽垯杞崲涓篋ouble绫诲瀷鐨勫瓧绗︿覆
 							if (temp.indexOf('.') > -1) {
 								singleRow[n] = String.valueOf(new Double(temp));
 							} else {
@@ -100,7 +100,7 @@
 				}
 				if ("".equals(singleRow[0])) {
 					continue;
-				}// 如果第一行为空,跳过
+				}// 濡傛灉绗竴琛屼负绌猴紝璺宠繃
 				dataList.add(singleRow);
 			}
 		}
@@ -108,7 +108,7 @@
 	}
 	
 	/**
-	 * 处理导入的字符串,包括去除空格等符号
+	 * 澶勭悊瀵煎叆鐨勫瓧绗︿覆锛屽寘鎷幓闄ょ┖鏍肩瓑绗﹀彿
 	 * @param str
 	 * @return
 	 */
@@ -120,7 +120,7 @@
 	}
 	
 	/**
-	 * 返回Excel最大行index值,实际行数要加1
+	 * 杩斿洖Excel鏈�澶цindex鍊硷紝瀹為檯琛屾暟瑕佸姞1
 	 * 
 	 * @return
 	 */
@@ -130,7 +130,7 @@
 	}
 
 	/**
-	 * 返回数据的列数
+	 * 杩斿洖鏁版嵁鐨勫垪鏁�
 	 * 
 	 * @return
 	 */
@@ -144,10 +144,10 @@
 	}
 
 	/**
-	 * 获取某一行数据
+	 * 鑾峰彇鏌愪竴琛屾暟鎹�
 	 * 
 	 * @param rowIndex
-	 *            计数从0开始,rowIndex为0代表header行
+	 *            璁℃暟浠�0寮�濮嬶紝rowIndex涓�0浠h〃header琛�
 	 * @return
 	 */
 	public String[] getRowData(int sheetIndex, int rowIndex) {
@@ -162,7 +162,7 @@
 	}
 
 	/**
-	 * 获取某一列数据
+	 * 鑾峰彇鏌愪竴鍒楁暟鎹�
 	 * 
 	 * @param colIndex
 	 * @return
diff --git a/src/main/java/com/qxueyou/scc/web/AuthorizeFilter.java b/src/main/java/com/qxueyou/scc/web/AuthorizeFilter.java
index 7cde1b9..9cb8070 100644
--- a/src/main/java/com/qxueyou/scc/web/AuthorizeFilter.java
+++ b/src/main/java/com/qxueyou/scc/web/AuthorizeFilter.java
@@ -48,7 +48,7 @@
 	private String[] excludeUrls;
 	
 	/**
-	 * 非法请求返回结果
+	 * 闈炴硶璇锋眰杩斿洖缁撴灉
 	 */
 	private String forbidden = JSONObject.toJSONString(new Result(false,Result.CODE_FORBIDDEN));
 	
@@ -56,7 +56,7 @@
 
 	@Override
 	public void init(FilterConfig filterConfig) throws ServletException {
-		// 从配置文件中获取excludeUrls
+		// 浠庨厤缃枃浠朵腑鑾峰彇excludeUrls
 		String excludeUrl = sccConfig.getExcludeUrl();
 
 		if (!StringUtils.isEmpty(excludeUrl)) {
@@ -86,13 +86,13 @@
 		String url = httpRequest.getRequestURI();
 		log.debug("request URI:" + url);
 		
-		// 是否略过
+		// 鏄惁鐣ヨ繃
 		if (ArrayUtils.isEmpty(excludeUrls) || isExclude(httpRequest)) {
 			filterChain.doFilter(httpRequest, httpResponse);
 			return;
 		}
 		
-		//是否合法
+		//鏄惁鍚堟硶
 //		if(!licenseService.isValid()) {
 //			log.debug("license invalid");
 //			forbiddenAsLicense(httpResponse);
@@ -100,7 +100,7 @@
 //		}
 
 		if (!addClientInfo(httpRequest)) {
-			log.debug("非法请求:" + httpRequest.getRequestURI());
+			log.debug("闈炴硶璇锋眰:" + httpRequest.getRequestURI());
 			forbidden(httpResponse);
 			return;
 		}
@@ -128,7 +128,7 @@
 	
 
 	/**
-	 * 绑定客户端信息
+	 * 缁戝畾瀹㈡埛绔俊鎭�
 	 * 
 	 * @param httpRequest
 	 * @param cookieKey
@@ -142,10 +142,10 @@
 			return false;
 		}
 		
-		//获取用户对应的sessionId是否与保存在redis中的一致,如果不一致,如果不一致则跳转到登录页面
+		//鑾峰彇鐢ㄦ埛瀵瑰簲鐨剆essionId鏄惁涓庝繚瀛樺湪redis涓殑涓�鑷达紝濡傛灉涓嶄竴鑷达紝濡傛灉涓嶄竴鑷村垯璺宠浆鍒扮櫥褰曢〉闈�
 		//String currOnlineSessinId = (String) stringRedisTemplate.opsForHash().get(UserInfoWrapper.REDIS_USER_ONLINE_MAP_KEY, wrapper.getInfo(UserInfoWrapper.INF_USER_ID));
 
-		//如果不存在,则返回
+		//濡傛灉涓嶅瓨鍦�,鍒欒繑鍥�
 //		if(!session.getId().equalsIgnoreCase(currOnlineSessinId)){
 //			session.invalidate();
 //			return false;
@@ -156,7 +156,7 @@
 	}
 
 	/**
-	 * 是否过滤掉
+	 * 鏄惁杩囨护鎺�
 	 * 
 	 * @param httpRequest
 	 * @return
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index d0c6aad..687c6ad 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -10,6 +10,8 @@
 spring.aop.proxy-target-class=true
 spring.mvc.view.suffix=.html
 
+
+
 #spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,file:${scc.resRootPath},file:D:/files/code/qcampus/pc-admin/dist,file:D:/files/code/qcampus/pc-student/dist
 spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,file:${scc.resRootPath},file:D:/scc/htmls/web/mobile_student,file:/Users/yansi/penguin/szped/zns-mobile-student/dist
 
@@ -20,7 +22,7 @@
 mysqldb.datasource.url=jdbc:mysql://localhost:3306/scc?useUnicode=true&characterEncoding=GBK&characterSetResults=GBK&zeroDateTimeBehavior=convertToNull
 mysqldb.datasource.username=root
 #mysqldb.datasource.username=rs
-#######此组为安装版系统的默认用户名密码端口#############
+#######\uFFFD\uFFFD\uFFFD\uFFFD\u03AA\uFFFD\uFFFD\u05F0\uFFFD\uFFFD\u03F5\u0373\uFFFD\uFFFD\u012C\uFFFD\uFFFD\uFFFD\u00FB\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u02FF\uFFFD#############
 #mysqldb.datasource.username=scc                #
 #mysqldb.datasource.password=fwefwefWEFefewf$   #
 # port:3370                                     #
@@ -48,6 +50,19 @@
 #If more than one spilt ';'
 mysqldb.datasource.scanPackages=com.qxueyou.scc
 
+
+# \u534E\u4E3A\u4E91OBS\u914D\u7F6E\u4FE1\u606F
+#hwyun:
+#  obs:
+#    accessKey: 8PIDYINPWSWR3MLYTOA1
+#    securityKey: YYB1kaC3pFYoIKoJ59jx9Fv1U7D0p4TvLELeuISg
+#    endPoint: o********m
+#    bucketName: qxueyou-competition
+
+hwyun.obs.accessKey=8PIDYINPWSWR3MLYTOA1
+hwyun.obs.securityKey=YYB1kaC3pFYoIKoJ59jx9Fv1U7D0p4TvLELeuISg
+hwyun.obs.endPoint=obs.cn-south-1.myhuaweicloud.com
+hwyun.obs.bucketName=qxueyou-competition
 #stream
 streamServer=192.168.10.134
 
@@ -78,4 +93,6 @@
 # default DefaultExpiration time : 30 minutes(600 seconds)
 spring.redis.default.ttl=600
 
+
+
 logging.config=classpath:log4j2.xml

--
Gitblit v1.8.0