Browse Source

考点预约设置

haogh 8 months ago
parent
commit
c5960b43d0

+ 4 - 1
src/main/java/com/qmth/exam/reserve/bean/timeperiod/TimePeriodExamSiteBean.java

@@ -11,9 +11,12 @@ public class TimePeriodExamSiteBean implements IModel {
 
     private static final long serialVersionUID = 7144061629980131259L;
 
-    @ApiModelProperty("预约时段ID")
+    @ApiModelProperty("主键ID")
     private Long id;
 
+    @ApiModelProperty("预约时段ID")
+    private Long timePeriodId;
+
     @ApiModelProperty("预约时段字符串")
     private Long startTime;
 

+ 4 - 1
src/main/java/com/qmth/exam/reserve/bean/timeperiod/TimePeriodExamSiteInfo.java

@@ -11,9 +11,12 @@ public class TimePeriodExamSiteInfo implements IModel {
 
     private static final long serialVersionUID = 7144061629980131259L;
 
-    @ApiModelProperty("预约时段ID")
+    @ApiModelProperty("主键ID")
     private Long id;
 
+    @ApiModelProperty("预约时段ID")
+    private Long timePeriodId;
+
     @ApiModelProperty("预约时段字符串")
     private String timePeriodStr;
 

+ 4 - 1
src/main/java/com/qmth/exam/reserve/bean/timeperiod/TimePeriodExamSiteReq.java

@@ -11,9 +11,12 @@ public class TimePeriodExamSiteReq implements IModel {
 
     private static final long serialVersionUID = -3377629711934734131L;
 
-    @ApiModelProperty("预约时段ID")
+    @ApiModelProperty("主键ID")
     private Long id;
 
+    @ApiModelProperty("预约时段ID")
+    private Long timePeriodId;
+
     @ApiModelProperty("是否开启")
     private Boolean enable;
 }

+ 5 - 4
src/main/java/com/qmth/exam/reserve/controller/admin/TimePeriodExamSiteController.java

@@ -2,6 +2,7 @@ package com.qmth.exam.reserve.controller.admin;
 
 import com.qmth.boot.api.annotation.Aac;
 import com.qmth.boot.api.constant.ApiConstant;
+import com.qmth.exam.reserve.bean.login.LoginUser;
 import com.qmth.exam.reserve.bean.timeperiod.TimePeriodExamSiteReq;
 import com.qmth.exam.reserve.bean.timeperiod.TimePeriodExamSiteVo;
 import com.qmth.exam.reserve.controller.BaseController;
@@ -31,14 +32,14 @@ public class TimePeriodExamSiteController extends BaseController {
 
     @ApiOperation(value = "日期时段列表")
     @PostMapping(value = "/detail/list")
-    public List<TimePeriodExamSiteVo> ListDetail(@ApiParam("预约任务ID") @RequestParam(required = false) Long taskId,
-            @ApiParam("考点ID") @RequestParam(required = true) Long examSiteId) {
-        return timePeriodExamSiteService.ListDetail(taskId, examSiteId);
+    public List<TimePeriodExamSiteVo> ListDetail(@ApiParam("考点ID") @RequestParam(required = true) Long examSiteId) {
+        return timePeriodExamSiteService.ListDetail(examSiteId);
     }
 
     @ApiOperation(value = "考点预约时段编辑")
     @PostMapping(value = "/save")
     public void save(@ApiParam("考点ID") @RequestParam(required = true) Long examSiteId, @RequestBody List<TimePeriodExamSiteReq> timePeriodExamSiteList) {
-
+        LoginUser loginUser = this.curLoginUser();
+        timePeriodExamSiteService.save(loginUser.getId(), examSiteId, timePeriodExamSiteList);
     }
 }

+ 4 - 1
src/main/java/com/qmth/exam/reserve/service/TimePeriodExamSiteService.java

@@ -2,6 +2,7 @@ package com.qmth.exam.reserve.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qmth.exam.reserve.bean.apply.ExamSiteTimePeriodInfo;
+import com.qmth.exam.reserve.bean.timeperiod.TimePeriodExamSiteReq;
 import com.qmth.exam.reserve.bean.timeperiod.TimePeriodExamSiteVo;
 import com.qmth.exam.reserve.entity.TimePeriodExamSiteEntity;
 
@@ -11,10 +12,12 @@ public interface TimePeriodExamSiteService extends IService<TimePeriodExamSiteEn
 
     List<String> listTimePeriod(Long taskId);
 
-    List<TimePeriodExamSiteVo> ListDetail(Long taskId, Long examSiteId);
+    List<TimePeriodExamSiteVo> ListDetail(Long examSiteId);
 
     List<ExamSiteTimePeriodInfo> findAllTimePeriodsForApply(Long applyTaskId, Long examSiteId);
 
     ExamSiteTimePeriodInfo findOneTimePeriodForApply(Long applyTaskId, Long examSiteId, Long timePeriodId);
 
+    void save(Long operateId, Long examSiteId, List<TimePeriodExamSiteReq> timePeriodExamSiteList);
+
 }

+ 38 - 3
src/main/java/com/qmth/exam/reserve/service/impl/TimePeriodExamSiteServiceImpl.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.exam.reserve.bean.apply.ExamSiteTimePeriodInfo;
 import com.qmth.exam.reserve.bean.timeperiod.TimePeriodExamSiteBean;
 import com.qmth.exam.reserve.bean.timeperiod.TimePeriodExamSiteInfo;
+import com.qmth.exam.reserve.bean.timeperiod.TimePeriodExamSiteReq;
 import com.qmth.exam.reserve.bean.timeperiod.TimePeriodExamSiteVo;
 import com.qmth.exam.reserve.dao.TimePeriodExamSiteDao;
 import com.qmth.exam.reserve.entity.ApplyTaskEntity;
@@ -14,6 +15,7 @@ import com.qmth.exam.reserve.service.TimePeriodExamSiteService;
 import com.qmth.exam.reserve.service.TimePeriodService;
 import com.qmth.exam.reserve.util.DateUtil;
 import org.apache.commons.collections4.CollectionUtils;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -48,8 +50,8 @@ public class TimePeriodExamSiteServiceImpl extends ServiceImpl<TimePeriodExamSit
     }
 
     @Override
-    public List<TimePeriodExamSiteVo> ListDetail(Long taskId, Long examSiteId) {
-        taskId = getTaskId(taskId);
+    public List<TimePeriodExamSiteVo> ListDetail( Long examSiteId) {
+        Long taskId = getTaskId(null);
         // 所有的预约日期
         List<String> dateList = timePeriodService.listTimePeriodDate(taskId);
         if (CollectionUtils.isEmpty(dateList)) {
@@ -72,6 +74,38 @@ public class TimePeriodExamSiteServiceImpl extends ServiceImpl<TimePeriodExamSit
         return list;
     }
 
+    @Override
+    public void save(Long operateId, Long examSiteId, List<TimePeriodExamSiteReq> timePeriodExamSiteList) {
+        Long taskId = getTaskId(null);
+        //所有的时段
+        List<TimePeriodExamSiteBean> timePeriodList = timePeriodService.listTimePeriodByExamSiteId(taskId, examSiteId);
+
+        List<TimePeriodExamSiteEntity> timePeriodExamSiteEntityList = new ArrayList<>(timePeriodExamSiteList.size());
+        // 第一次设置
+        if (CollectionUtils.isEmpty(timePeriodList)) {
+            //直接保存
+            timePeriodExamSiteList.forEach(item -> {
+                TimePeriodExamSiteEntity timePeriodExamSiteEntity = new TimePeriodExamSiteEntity();
+                timePeriodExamSiteEntity.setExamSiteId(examSiteId);
+                timePeriodExamSiteEntity.setEnable(item.getEnable());
+                timePeriodExamSiteEntity.setTimePeriodId(item.getTimePeriodId());
+                timePeriodExamSiteEntity.setOperateId(operateId);
+                timePeriodExamSiteEntityList.add(timePeriodExamSiteEntity);
+            });
+            //批量保存
+            saveBatch(timePeriodExamSiteEntityList);
+        } else {
+            //更细
+            timePeriodExamSiteList.forEach(item -> {
+                TimePeriodExamSiteEntity timePeriodExamSiteEntity = new TimePeriodExamSiteEntity();
+                BeanUtils.copyProperties(item, timePeriodExamSiteEntity);
+                timePeriodExamSiteEntity.setOperateId(operateId);
+                timePeriodExamSiteEntityList.add(timePeriodExamSiteEntity);
+            });
+            saveOrUpdateBatch(timePeriodExamSiteEntityList);
+        }
+    }
+
     private String getDateStr(String date) {
         if (StringUtils.isEmpty(date)) {
             return "";
@@ -90,7 +124,8 @@ public class TimePeriodExamSiteServiceImpl extends ServiceImpl<TimePeriodExamSit
                 .collect(Collectors.toList());
         for (TimePeriodExamSiteBean time : filterTimePerildList) {
             TimePeriodExamSiteInfo bean = new TimePeriodExamSiteInfo();
-            bean.setId(time.getId());
+            bean.setId(bean.getId());
+            bean.setTimePeriodId(time.getTimePeriodId());
             bean.setEnable(time.getEnable());
             bean.setTimePeriodStr(DateUtil.getStartToEndTime(time.getStartTime(), time.getEndTime()));
             list.add(bean);

+ 3 - 2
src/main/resources/mapper/TimePeriodMapper.xml

@@ -22,7 +22,8 @@
 
     <select id="listTimePeriodByExamSiteId" resultType="com.qmth.exam.reserve.bean.timeperiod.TimePeriodExamSiteBean">
         SELECT
-            tp.id,
+            tpes.id,
+            tp.id timePeriodId,
             tp.start_time startTime,
             tp.end_time endTime,
             tpes.enable
@@ -38,7 +39,7 @@
 
     <select id="listTimePeriodByTask" resultType="com.qmth.exam.reserve.bean.timeperiod.TimePeriodExamSiteBean" parameterType="java.lang.Long">
         SELECT
-            tp.id,
+            tp.id timePeriodId,
             tp.start_time startTime,
             tp.end_time endTime,
             1 enable