Sfoglia il codice sorgente

Merge remote-tracking branch 'origin/master'

周箭河 5 anni fa
parent
commit
494dbb0cb8

+ 28 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ExtraExerciseStudentsDto.java

@@ -22,6 +22,34 @@ public class ExtraExerciseStudentsDto extends ExtracurricularExercisesReply {
 
     private java.util.Date expireDate;
 
+    private String statusStr;
+    private String isRepliedStr;
+    private String isViewStr;
+
+    public String getStatusStr() {
+        return statusStr;
+    }
+
+    public void setStatusStr(String statusStr) {
+        this.statusStr = statusStr;
+    }
+
+    public String getIsRepliedStr() {
+        return isRepliedStr;
+    }
+
+    public void setIsRepliedStr(String isRepliedStr) {
+        this.isRepliedStr = isRepliedStr;
+    }
+
+    public String getIsViewStr() {
+        return isViewStr;
+    }
+
+    public void setIsViewStr(String isViewStr) {
+        this.isViewStr = isViewStr;
+    }
+
     public Date getExpireDate() {
         return expireDate;
     }

+ 5 - 5
mec-biz/src/main/java/com/ym/mec/biz/dal/page/ExtraExercilseQueryInfo.java

@@ -20,7 +20,7 @@ public class ExtraExercilseQueryInfo extends QueryInfo {
 
 	private String title;// 作业标题
 	
-	private Integer organId;
+	private String organIdList;
 
 	private Date assignStartTime;// 布置作业的开始时间
 
@@ -66,12 +66,12 @@ public class ExtraExercilseQueryInfo extends QueryInfo {
 		this.title = title;
 	}
 
-	public Integer getOrganId() {
-		return organId;
+	public String getOrganIdList() {
+		return organIdList;
 	}
 
-	public void setOrganId(Integer organId) {
-		this.organId = organId;
+	public void setOrganIdList(String organIdList) {
+		this.organIdList = organIdList;
 	}
 
 	public Date getAssignStartTime() {

+ 15 - 5
mec-biz/src/main/java/com/ym/mec/biz/dal/page/ExtraExercilseReplyQueryInfo.java

@@ -33,14 +33,24 @@ public class ExtraExercilseReplyQueryInfo extends QueryInfo {
 
 	private Date submitEndTime;// 提交作业的结束时间
 
-	private Date expireDate;
+	private Date expireStartDate;
 
-	public Date getExpireDate() {
-		return expireDate;
+	private Date expireEndDate;
+
+	public Date getExpireStartDate() {
+		return expireStartDate;
+	}
+
+	public void setExpireStartDate(Date expireStartDate) {
+		this.expireStartDate = expireStartDate;
+	}
+
+	public Date getExpireEndDate() {
+		return expireEndDate;
 	}
 
-	public void setExpireDate(Date expireDate) {
-		this.expireDate = expireDate;
+	public void setExpireEndDate(Date expireEndDate) {
+		this.expireEndDate = expireEndDate;
 	}
 
 	public Long getExtracurricularExercisesId() {

+ 4 - 3
mec-biz/src/main/resources/config/mybatis/ExtracurricularExercisesMapper.xml

@@ -34,8 +34,8 @@
 			<if test="batchNo != null">
 				and batch_no_ = #{batchNo}
 			</if>
-			<if test="organId != null">
-				AND o.id_ = #{organId}
+			<if test="organIdList != null">
+				AND FIND_IN_SET(o.id_, #{organIdList})
 			</if>
 			<if test="assignStartTime != null">
 				AND date(ee.create_time_) &gt;= #{assignStartTime}
@@ -112,7 +112,8 @@
 	
 	<!-- 分页查询 -->
 	<select id="queryPage" resultMap="ExtracurricularExercises" parameterType="map">
-		SELECT ee.*,u.username_,o.name_ organ_name_ FROM extracurricular_exercises ee left join sys_user u on ee.teacher_id_ = u.id_
+		SELECT ee.*,u.real_name_ username_,o.name_ organ_name_
+		FROM extracurricular_exercises ee left join sys_user u on ee.teacher_id_ = u.id_
 		left join teacher t on t.id_ = ee.teacher_id_
 		left join organization o on o.id_ = t.organ_id_
 		<include refid="queryPageCondition"/>

+ 8 - 8
mec-biz/src/main/resources/config/mybatis/ExtracurricularExercisesReplyMapper.xml

@@ -40,8 +40,8 @@
 			<if test="teacherId != null">
 				AND teacher_id_ = #{teacherId}
 			</if>
-			<if test="organId != null">
-				AND o.id_ = #{organId}
+			<if test="organIdList != null">
+				AND FIND_IN_SET(o.id_, #{organIdList})
 			</if>
 			<if test="studentId != null">
 				AND user_id_ = #{studentId}
@@ -59,7 +59,7 @@
 				AND is_view_ = #{isView}
 			</if>
 			<if test="search != null">
-				AND title_ like concat('%',#{search},'%') or u.username_ like concat('%',#{search},'%')
+				AND (title_ like concat('%',#{search},'%') or u.username_ like concat('%',#{search},'%'))
 			</if>
 			<if test="submitStartTime != null">
 				AND date(eer.create_time_) &gt;= #{submitStartTime}
@@ -243,8 +243,8 @@
 			<if test="teacherId != null">
 				AND teacher_id_ = #{teacherId}
 			</if>
-			<if test="organId != null">
-				AND o.id_ = #{organId}
+			<if test="organIdList != null">
+				AND FIND_IN_SET(o.id_, #{organIdList})
 			</if>
 			<if test="studentId != null">
 				AND user_id_ = #{studentId}
@@ -262,7 +262,7 @@
 				AND is_view_ = #{isView}
 			</if>
 			<if test="search != null">
-				AND title_ like concat('%',#{search},'%') or u.username_ like concat('%',#{search},'%')
+				AND (title_ like concat('%',#{search},'%') or u.username_ like concat('%',#{search},'%'))
 			</if>
 			<if test="submitStartTime != null">
 				AND date(eer.create_time_) &gt;= #{submitStartTime}
@@ -270,8 +270,8 @@
 			<if test="submitEndTime != null">
 				AND date(eer.create_time_) &lt;= #{submitEndTime}
 			</if>
-			<if test="expireDate != null">
-				AND DATE_FORMAT(ee.expire_date_,"%Y%m%d") = DATE_FORMAT(#{expireDate},"%Y%m%d")
+			<if test="expireStartDate != null and expireEndDate != null">
+				AND DATE_FORMAT(ee.expire_date_,"%Y%m%d") BETWEEN DATE_FORMAT(#{expireStartDate},"%Y%m%d") AND DATE_FORMAT(#{expireEndDate},"%Y%m%d")
 			</if>
 		</where>
 	</sql>

+ 5 - 1
mec-im/src/main/java/com/ym/service/Impl/RoomServiceImpl.java

@@ -1175,7 +1175,11 @@ public class RoomServiceImpl implements RoomService {
 
             if (userRole == RoleEnum.RoleTeacher.getValue() || userRole == RoleEnum.RoleAssistant.getValue()) {
                 if (isUserDisplay(roomList.get(0), userId)) {
-                    updateDisplay(roomId, userId, "", 0);
+                    try {
+                        updateDisplay(roomId, userId, "", 0);
+                    }catch (Exception e){
+                        log.error(e.getMessage());
+                    }
                     log.info("clear display cause speaker leave: roomId={}", roomId);
                 } else {
                     log.info("don't update current display: room={}, role={}", roomList.get(0), RoleEnum.getEnumByValue(userRole));

+ 17 - 4
mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java

@@ -23,6 +23,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -103,9 +104,9 @@ public class ExportController extends BaseController {
         }
         List<StudentBuyPracticeDto> rows = practiceGroupService.studentBuys(queryInfo).getRows();
         try {
-            HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"学员编号", "学员名称", "所属分部", "联系电话", "购买网管课",
+            HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"学员编号", "学员名称", "所属分部", "购买网管课",
                     "免费课结束日期", "首次购买日期", "时间差"}, new String[]{
-                    "studentId", "studentName", "organName", "phone", "buyPractice.msg",
+                    "studentId", "studentName", "organName", "buyPractice.msg",
                     "lastClassDate", "firstBuyTime", "intervalDay"}, rows);
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attachment;filename=lender-" + DateUtil.getDate(new Date()) + ".xls");
@@ -887,7 +888,7 @@ public class ExportController extends BaseController {
     @ApiOperation(value = "学生课外训练记录导出")
     @GetMapping("export/extraExercisesReplys")
     @PreAuthorize("@pcs.hasPermissions('export/extraExercisesReplys')")
-    public void extraExercisesReplys(ExtraExercilseReplyQueryInfo queryInfo, HttpServletResponse response) {
+    public void extraExercisesReplys(ExtraExercilseReplyQueryInfo queryInfo, HttpServletResponse response) throws IOException {
         queryInfo.setRows(999999999);
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (sysUser == null) {
@@ -907,11 +908,23 @@ public class ExportController extends BaseController {
             }
         }
         List<ExtraExerciseStudentsDto> rows = extracurricularExercisesReplyService.findExtraExercises(queryInfo).getRows();
+        if (CollectionUtils.isEmpty(rows)) {
+            response.setStatus(500);
+            response.setContentType("Content-Type: application/json;charset=UTF-8");
+            response.getOutputStream().write("{\"data\": null, \"code\": 500, \"status\": false, \"msg\": \"没有可导出的记录\"}".getBytes());
+            response.flushBuffer();
+            return;
+        }
+        for (ExtraExerciseStudentsDto row : rows) {
+            row.setStatusStr(Objects.isNull(row.getStatus())||row.getStatus()==0?"否":"是");
+            row.setIsViewStr(Objects.isNull(row.getIsView())||row.getIsView()==0?"否":"是");
+            row.setIsRepliedStr(Objects.isNull(row.getIsReplied())||row.getIsReplied()==0?"否":"是");
+        }
         OutputStream ouputStream = null;
         try {
             HSSFWorkbook workbook = POIUtil.exportExcel(
                     new String[]{"布置时间", "截至时间", "训练标题", "老师名字", "分部", "学生姓名", "提交作业", "是否回复", "是否查看"},
-                    new String[]{"createTime", "expireDate", "title", "teacherName", "organName", "user.username", "status", "isReplied", "isView"}, rows);
+                    new String[]{"createTime", "expireDate", "title", "teacherName", "organName", "user.username", "statusStr", "isRepliedStr", "isViewStr"}, rows);
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attachment;filename=lender-" + DateUtil.getDate(new Date()) + ".xls");
             ouputStream = response.getOutputStream();

+ 34 - 8
mec-web/src/main/java/com/ym/mec/web/controller/ExtracurricularExercisesController.java

@@ -1,20 +1,25 @@
 package com.ym.mec.web.controller;
 
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.dao.EmployeeDao;
+import com.ym.mec.biz.dal.entity.Employee;
+import com.ym.mec.biz.dal.page.ExtraExercilseQueryInfo;
+import com.ym.mec.biz.service.ExtracurricularExercisesReplyService;
+import com.ym.mec.biz.service.ExtracurricularExercisesService;
+import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.entity.HttpResponseResult;
+import com.ym.mec.common.exception.BizException;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-
-import java.util.Objects;
-
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import com.ym.mec.biz.dal.page.ExtraExercilseQueryInfo;
-import com.ym.mec.biz.service.ExtracurricularExercisesReplyService;
-import com.ym.mec.biz.service.ExtracurricularExercisesService;
-import com.ym.mec.common.controller.BaseController;
-import com.ym.mec.common.entity.HttpResponseResult;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Objects;
 
 @Api(tags = "课外训练服务")
 @RequestMapping("extracurricularExercises")
@@ -25,10 +30,31 @@ public class ExtracurricularExercisesController extends BaseController {
     private ExtracurricularExercisesService extracurricularExercisesService;
     @Autowired
     private ExtracurricularExercisesReplyService extracurricularExercisesReplyService;
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
+    @Autowired
+    private EmployeeDao employeeDao;
 
     @ApiOperation(value = "获取课外训练列表")
     @GetMapping("/queryPageList")
     private HttpResponseResult findExtraExercilses(ExtraExercilseQueryInfo queryInfo){
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            throw new BizException("用户信息获取失败");
+        }
+        if (!sysUser.getIsSuperAdmin()) {
+            Employee employee = employeeDao.get(sysUser.getId());
+            if (org.apache.commons.lang3.StringUtils.isEmpty(queryInfo.getOrganIdList())) {
+                queryInfo.setOrganIdList(employee.getOrganIdList());
+            } else if (org.apache.commons.lang3.StringUtils.isEmpty(employee.getOrganIdList())) {
+                throw new BizException("用户所在分部异常");
+            } else {
+                List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
+                if (!list.containsAll(Arrays.asList(queryInfo.getOrganIdList().split(",")))) {
+                    throw new BizException("非法请求");
+                }
+            }
+        }
         return succeed(extracurricularExercisesService.queryPage(queryInfo));
     }
 

+ 32 - 5
mec-web/src/main/java/com/ym/mec/web/controller/ExtracurricularExercisesReplyController.java

@@ -1,17 +1,23 @@
 package com.ym.mec.web.controller;
 
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.dao.EmployeeDao;
+import com.ym.mec.biz.dal.entity.Employee;
+import com.ym.mec.biz.dal.page.ExtraExercilseReplyQueryInfo;
+import com.ym.mec.biz.service.ExtracurricularExercisesReplyService;
+import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.entity.HttpResponseResult;
+import com.ym.mec.common.exception.BizException;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import com.ym.mec.biz.dal.page.ExtraExercilseReplyQueryInfo;
-import com.ym.mec.biz.service.ExtracurricularExercisesReplyService;
-import com.ym.mec.common.controller.BaseController;
-import com.ym.mec.common.entity.HttpResponseResult;
+import java.util.Arrays;
+import java.util.List;
 
 @Api(tags = "课外训练学生作业服务")
 @RequestMapping("extracurricularExercisesReply")
@@ -20,10 +26,31 @@ public class ExtracurricularExercisesReplyController extends BaseController {
 
     @Autowired
     private ExtracurricularExercisesReplyService extracurricularExercisesReplyService;
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
+    @Autowired
+    private EmployeeDao employeeDao;
 
     @ApiOperation(value = "获取课外训练作业列表")
     @GetMapping("/queryPageList")
     private HttpResponseResult findExtraExercilses(ExtraExercilseReplyQueryInfo queryInfo){
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            throw new BizException("用户信息获取失败");
+        }
+        if (!sysUser.getIsSuperAdmin()) {
+            Employee employee = employeeDao.get(sysUser.getId());
+            if (org.apache.commons.lang3.StringUtils.isEmpty(queryInfo.getOrganIdList())) {
+                queryInfo.setOrganIdList(employee.getOrganIdList());
+            } else if (org.apache.commons.lang3.StringUtils.isEmpty(employee.getOrganIdList())) {
+                throw new BizException("用户所在分部异常");
+            } else {
+                List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
+                if (!list.containsAll(Arrays.asList(queryInfo.getOrganIdList().split(",")))) {
+                    throw new BizException("非法请求");
+                }
+            }
+        }
         return succeed(extracurricularExercisesReplyService.findExtraExercises(queryInfo));
     }
 }