yangdamao 2 년 전
부모
커밋
8280e60ff0

+ 1 - 1
zhongzheng-admin/src/main/java/com/zhongzheng/controller/exam/ExamApplyController.java

@@ -63,7 +63,7 @@ public class ExamApplyController extends BaseController {
      */
     @ApiOperation("查询考场列表")
     @GetMapping("/place")
-    public TableDataInfo<ExamApplyPlaceVo> placeList(ExamApplyQueryBo bo) {
+    public TableDataInfo<ExamApplyPlaceVo> placeList(ExamApplyRoomQueryBo bo) {
         startPage();
         List<ExamApplyPlaceVo> list = iExamApplyService.getPlaceList(bo);
         return getDataTable(list);

+ 2 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/bo/ExamApplyQueryBo.java

@@ -51,10 +51,10 @@ public class ExamApplyQueryBo extends BaseEntity {
 	private Integer applyStatus;
 	/** 开始日期 */
 	@ApiModelProperty("开始日期")
-	private Long applyStartTime;
+	private String applyStartTime;
 	/** 结束日期 */
 	@ApiModelProperty("结束日期")
-	private Long applyEndTime;
+	private String applyEndTime;
 	/** 1 启用 0未启用 -1删除 2已过期 */
 	@ApiModelProperty("1 启用 0未启用 -1删除 2已过期")
 	private List<Integer> status;

+ 118 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/bo/ExamApplyRoomQueryBo.java

@@ -0,0 +1,118 @@
+package com.zhongzheng.modules.exam.bo;
+
+import com.zhongzheng.common.annotation.Excel;
+import com.zhongzheng.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.List;
+
+/**
+ * 考试安排分页查询对象 exam_apply
+ *
+ * @author ruoyi
+ * @date 2021-12-07
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel("考试安排分页查询对象")
+public class ExamApplyRoomQueryBo extends BaseEntity {
+
+	/** 分页大小 */
+	@ApiModelProperty("分页大小")
+	private Integer pageSize;
+	/** 当前页数 */
+	@ApiModelProperty("当前页数")
+	private Integer pageNum;
+	/** 排序列 */
+	@ApiModelProperty("排序列")
+	private String orderByColumn;
+	/** 排序的方向desc或者asc */
+	@ApiModelProperty(value = "排序的方向", example = "asc,desc")
+	private String isAsc;
+
+
+	/** 考试Id */
+	@ApiModelProperty("考试Id")
+	private Long applyId;
+	/** 考试封面 */
+	@ApiModelProperty("考试封面")
+	private String applyUrl;
+	/** 考试标题 */
+	@ApiModelProperty("考试标题")
+	private String applyName;
+	/** 考试简介 */
+	@ApiModelProperty("考试简介")
+	private String applyIntroduce;
+	/** 1非补考学员 2补考学员 3都有 */
+	@ApiModelProperty("1非补考学员 2补考学员")
+	private Integer applyStatus;
+	/** 开始日期 */
+	@ApiModelProperty("开始日期")
+	private String applyStartTime;
+	/** 结束日期 */
+	@ApiModelProperty("结束日期")
+	private String applyEndTime;
+	/** 1 启用 0未启用 -1删除 2已过期 */
+	@ApiModelProperty("1 启用 0未启用 -1删除 2已过期")
+	private List<Integer> status;
+
+	/** 商品类型 1视频2题库 3补考 4前培  */
+	@ApiModelProperty("商品类型 1视频2题库 3补考 4前培 ")
+	private Integer goodsType;
+
+	/** 教育类型id */
+	@ApiModelProperty("教育类型id")
+	private Long educationTypeId;
+
+	/** 教育类型id */
+	@ApiModelProperty("1考试地点 2考培地点 ")
+	private Long addressStatus;
+
+	/** 业务层次id */
+	@ApiModelProperty("业务层次id")
+	private Long businessId;
+
+	/** 项目ID */
+	@ApiModelProperty("项目ID")
+	private Long projectId;
+
+	/** 用户ID */
+	@ApiModelProperty("用户ID")
+	private Long userId;
+
+	/** 商品Id */
+	@ApiModelProperty("商品Id")
+	private Long goodsId;
+
+	/** 班级ID */
+	@ApiModelProperty("班级ID")
+	private Long gradeId;
+
+	/** 考试地点 */
+	@Excel(name = "*考试地点")
+	private String applySiteAddress;
+
+	@ApiModelProperty("考试开始时间")
+	private Long startTime;
+
+	@ApiModelProperty("考试 结束时间")
+	private Long endTime;
+
+	@ApiModelProperty("考试地址Id")
+	private Long applySiteId;
+
+	@ApiModelProperty("考试日期")
+	private Long examTime;
+
+	@ApiModelProperty("订单商品ID")
+	private Long orderGoodsId;
+
+	@ApiModelProperty("关键词")
+	private String searchKey;
+
+	@ApiModelProperty("数据IDs")
+	private List<Long> ids;
+}

+ 3 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/mapper/ExamApplyMapper.java

@@ -1,9 +1,10 @@
 package com.zhongzheng.modules.exam.mapper;
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zhongzheng.modules.exam.bo.ExamApplyQueryBo;
+import com.zhongzheng.modules.exam.bo.ExamApplyRoomQueryBo;
 import com.zhongzheng.modules.exam.bo.ExamNumberGoodsQueryBo;
 import com.zhongzheng.modules.exam.domain.ExamApply;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zhongzheng.modules.exam.vo.*;
 import com.zhongzheng.modules.user.vo.UserStudyRecordExport;
 import org.apache.ibatis.annotations.Param;
@@ -72,7 +73,7 @@ public interface ExamApplyMapper extends BaseMapper<ExamApply> {
 
     String siteTimeJson(ExamApplyQueryBo bo);
 
-    List<ExamApplyPlaceVo> getPlaceList(ExamApplyQueryBo bo);
+    List<ExamApplyPlaceVo> getPlaceList(ExamApplyRoomQueryBo bo);
 
     List<UserStudyRecordExport> getUserStudyRecord(@Param("orderGoodsId") Long orderGoodsId,@Param("userId") Long userId);
 }

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/service/IExamApplyService.java

@@ -79,7 +79,7 @@ public interface IExamApplyService extends IService<ExamApply> {
 
 	boolean editExamApply(ExamApplyEditBo editBo);
 
-    List<ExamApplyPlaceVo> getPlaceList(ExamApplyQueryBo bo);
+    List<ExamApplyPlaceVo> getPlaceList(ExamApplyRoomQueryBo bo);
 
     String getSendmailUrl(List<Long> ids);
 

+ 22 - 5
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/service/impl/ExamApplyServiceImpl.java

@@ -343,7 +343,23 @@ public class ExamApplyServiceImpl extends ServiceImpl<ExamApplyMapper, ExamApply
         List<ExamApplySiteVo> examApplySite = baseMapper.addressExam(bo.getApplyId(), bo.getAddressStatus());
         for (ExamApplySiteVo examApplySiteVo : examApplySite) {
             List<ExamApplySiteTimeVo> examApplySiteTime = baseMapper.addressTimeExam(examApplySiteVo.getId());
-            examApplySiteVo.setExamApplySiteTime(examApplySiteTime);
+            Map<Long, List<ExamApplySiteTimeVo>> map = examApplySiteTime.stream().collect(Collectors.groupingBy(ExamApplySiteTimeVo::getApplySiteId));
+            List<ExamApplySiteTimeVo> result = new ArrayList<>();
+            map.forEach((k,v) -> {
+                ExamApplySiteTimeVo vo = new ExamApplySiteTimeVo();
+                vo.setId(v.get(0).getId());
+                vo.setExamTime(v.get(0).getExamTime());
+                vo.setApplySiteId(v.get(0).getApplySiteId());
+                List<String> collect = v.stream().map(x -> x.getSiteTime()).collect(Collectors.toList());
+                List<ExamApplySiteTimeTwoVo> timeTwoVoList = new ArrayList<>();
+                collect.forEach(item -> {
+                    List<ExamApplySiteTimeTwoVo> timeTwoVos = JSONArray.parseArray(item, ExamApplySiteTimeTwoVo.class);
+                    timeTwoVoList.addAll(timeTwoVos);
+                });
+                vo.setSiteTime(JSONArray.toJSONString(timeTwoVoList));
+                result.add(vo);
+            });
+            examApplySiteVo.setExamApplySiteTime(result);
         }
         return examApplySite;
     }
@@ -584,7 +600,7 @@ public class ExamApplyServiceImpl extends ServiceImpl<ExamApplyMapper, ExamApply
     }
 
     @Override
-    public List<ExamApplyPlaceVo> getPlaceList(ExamApplyQueryBo bo) {
+    public List<ExamApplyPlaceVo> getPlaceList(ExamApplyRoomQueryBo bo) {
         List<ExamApplyPlaceVo> voList = baseMapper.getPlaceList(bo);
         if (CollectionUtils.isEmpty(voList)) {
             return new ArrayList<>();
@@ -597,7 +613,7 @@ public class ExamApplyServiceImpl extends ServiceImpl<ExamApplyMapper, ExamApply
                 //预约人数
                 int count = iUserSubscribeService.count(new LambdaQueryWrapper<UserSubscribe>()
                         .eq(UserSubscribe::getApplyId, item.getApplyId())
-                        .eq(UserSubscribe::getSiteId, applySite.getSiteId())
+                        .eq(ObjectUtils.isNotNull(applySite),UserSubscribe::getSiteId, applySite.getSiteId())
                         .eq(UserSubscribe::getSubscribeStatus, 1)
                         .eq(UserSubscribe::getApplySiteStartTime, timeTwoVo.getStartTime())
                         .eq(UserSubscribe::getApplySiteEndTime, timeTwoVo.getEndTime()));
@@ -807,10 +823,11 @@ public class ExamApplyServiceImpl extends ServiceImpl<ExamApplyMapper, ExamApply
             e.printStackTrace();
             return false;
         }
-
-        return iExamApplySiteTimeService.update(new LambdaUpdateWrapper<ExamApplySiteTime>()
+        iExamApplySiteTimeService.update(new LambdaUpdateWrapper<ExamApplySiteTime>()
                 .in(ExamApplySiteTime::getId, bo.getIds())
                 .set(ExamApplySiteTime::getSendmail, 1));
+
+        return true;
     }
 
     private void userStudyRecord(String userPath, List<UserSubscribe> list) {

+ 4 - 4
zhongzheng-system/src/main/resources/mapper/modules/exam/ExamApplyMapper.xml

@@ -486,11 +486,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         exam_apply_site_time eat
         LEFT JOIN exam_apply ea ON eat.apply_id = ea.apply_id
         WHERE 1=1
-        <if test="applyStartTime != null and applyStartTime != ''">
-            AND eat.exam_time <![CDATA[ >= ]]> #{applyStartTime}
+        <if test="startTime != null and startTime != ''">
+            AND eat.exam_time <![CDATA[ >= ]]> #{startTime}
         </if>
-        <if test="applyEndTime != null and applyEndTime != ''">
-            AND eat.exam_time <![CDATA[ <= ]]> #{applyEndTime}
+        <if test="endTime != null and endTime != ''">
+            AND eat.exam_time <![CDATA[ <= ]]> #{endTime}
         </if>
         order by ea.create_time desc
     </select>