Ver código fonte

预约任务

haogh 1 ano atrás
pai
commit
3689387992

+ 21 - 0
src/main/java/com/qmth/exam/reserve/bean/task/ApplyTaskReq.java

@@ -14,4 +14,25 @@ public class ApplyTaskReq extends PagerReq {
     @ApiModelProperty("任务名称")
     private String name;
 
+    @ApiModelProperty("任务ID")
+    private Long id;
+
+    @ApiModelProperty("考前多少天禁止考生预约")
+    private Integer allowApplyDays;
+
+    @ApiModelProperty("考前多少小时禁止考生自主取消预约")
+    private Integer allowApplyCancelDays;
+
+    @ApiModelProperty("自主预约起始时间")
+    private Long selfApplyStartTime;
+
+    @ApiModelProperty("自主预约截止时间")
+    private Long selfApplyEndTime;
+
+    @ApiModelProperty("开放式预约起始时间")
+    private Long openApplyStartTime;
+
+    @ApiModelProperty("开放式预约截止时间")
+    private Long openApplyEndTime;
+
 }

+ 27 - 0
src/main/java/com/qmth/exam/reserve/bean/task/ApplyTaskRuleVO.java

@@ -0,0 +1,27 @@
+package com.qmth.exam.reserve.bean.task;
+
+import java.util.List;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class ApplyTaskRuleVO extends ApplyTaskVO {
+
+    private static final long serialVersionUID = 6328710318819146763L;
+
+    @ApiModelProperty("考前多少天,禁止考生自主预约")
+    private Integer allowApplyDays;
+
+    @ApiModelProperty("考前多少天,禁止考生自主取消预约")
+    private Integer allowApplyCancelDays;
+
+    @ApiModelProperty("时段集合")
+    private List<TimePeriodVO> timeList;
+
+    @ApiModelProperty("考试须知")
+    private String notice;
+
+}

+ 0 - 6
src/main/java/com/qmth/exam/reserve/bean/task/ApplyTaskVO.java

@@ -35,10 +35,4 @@ public class ApplyTaskVO implements IModel {
     @ApiModelProperty("更新时间")
     private Long updateTime;
 
-    @ApiModelProperty("考前多少天,禁止考生自主预约")
-    private Integer allowApplyDays;
-
-    @ApiModelProperty("考前多少天,禁止考生自主取消预约")
-    private Integer allowApplyCancelDays;
-
 }

+ 4 - 0
src/main/java/com/qmth/exam/reserve/bean/task/TimePeriodVO.java

@@ -2,7 +2,11 @@ package com.qmth.exam.reserve.bean.task;
 
 import com.qmth.exam.reserve.bean.IModel;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
 
+@Getter
+@Setter
 public class TimePeriodVO implements IModel {
 
     private static final long serialVersionUID = -9165048488625980411L;

+ 27 - 5
src/main/java/com/qmth/exam/reserve/controller/admin/ApplyTaskController.java

@@ -37,13 +37,35 @@ public class ApplyTaskController extends BaseController {
     @ApiOperation(value = "预约任务编辑查询")
     @PostMapping(value = "/find")
     public ApplyTaskVO find(@ApiParam("预约任务ID") @RequestParam Long id) {
-        System.out.println("111");
-        return null;
+        return applyTaskService.find(id);
     }
 
     @ApiOperation(value = "基础规则新增/编辑")
-    @PostMapping(value = "/save")
-    public void save() {
-        System.out.println("888");
+    @PostMapping(value = "/rule/save")
+    public String ruleSave(@RequestBody ApplyTaskReq req) {
+        applyTaskService.ruleSave(req);
+        return "success";
+    }
+
+    @ApiOperation(value = "预约时段新增/编辑")
+    @PostMapping(value = "/time/save")
+    public String timeSave() {
+        return "success";
+    }
+
+    @ApiOperation(value = "考试说明新增/编辑")
+    @PostMapping(value = "/notice/save")
+    public String noticesave() {
+        return "success";
+    }
+
+    @ApiOperation(value = "预约任务启用/禁用")
+    @PostMapping(value = "/enable")
+    public String enable() {
+        return "success";
+    }
+    
+    public static void main(String[] args) {
+        System.out.println(System.currentTimeMillis());
     }
 }

+ 10 - 0
src/main/java/com/qmth/exam/reserve/dao/ApplyTaskDao.java

@@ -1,15 +1,25 @@
 package com.qmth.exam.reserve.dao;
 
+import java.util.List;
+
 import org.apache.ibatis.annotations.Param;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qmth.exam.reserve.bean.task.ApplyTaskReq;
+import com.qmth.exam.reserve.bean.task.ApplyTaskRuleVO;
 import com.qmth.exam.reserve.bean.task.ApplyTaskVO;
+import com.qmth.exam.reserve.bean.task.TimePeriodVO;
 import com.qmth.exam.reserve.entity.ApplyTaskEntity;
 
 public interface ApplyTaskDao extends BaseMapper<ApplyTaskEntity> {
 
     IPage<ApplyTaskVO> page(Page<ApplyTaskVO> page, @Param(value = "req") ApplyTaskReq req);
+
+    ApplyTaskRuleVO find(Long id);
+
+    List<TimePeriodVO> getTimePeriodList(Long id);
+
+    void updateRule(ApplyTaskReq req);
 }

+ 4 - 0
src/main/java/com/qmth/exam/reserve/service/ApplyTaskService.java

@@ -10,4 +10,8 @@ public interface ApplyTaskService extends IService<ApplyTaskEntity> {
 
     PageResult<ApplyTaskVO> page(ApplyTaskReq req);
 
+    ApplyTaskVO find(Long id);
+
+    void ruleSave(ApplyTaskReq req);
+
 }

+ 48 - 0
src/main/java/com/qmth/exam/reserve/service/impl/ApplyTaskServiceImpl.java

@@ -1,12 +1,15 @@
 package com.qmth.exam.reserve.service.impl;
 
 import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.boot.core.collection.PageResult;
+import com.qmth.boot.core.exception.StatusException;
 import com.qmth.exam.reserve.bean.task.ApplyTaskReq;
+import com.qmth.exam.reserve.bean.task.ApplyTaskRuleVO;
 import com.qmth.exam.reserve.bean.task.ApplyTaskVO;
 import com.qmth.exam.reserve.dao.ApplyTaskDao;
 import com.qmth.exam.reserve.entity.ApplyTaskEntity;
@@ -23,4 +26,49 @@ public class ApplyTaskServiceImpl extends ServiceImpl<ApplyTaskDao, ApplyTaskEnt
         return PageUtil.of(iPage);
     }
 
+    @Override
+    public ApplyTaskRuleVO find(Long id) {
+        ApplyTaskRuleVO task = this.baseMapper.find(id);
+        if (StringUtils.isEmpty(task)) {
+            throw new StatusException("预约任务不存在!");
+        }
+        task.setTimeList(this.baseMapper.getTimePeriodList(id));
+        return task;
+    }
+
+    @Override
+    public void ruleSave(ApplyTaskReq req) {
+        checkRule(req);
+        ApplyTaskEntity task = new ApplyTaskEntity();
+        task.setId(req.getId());
+        task.setName(req.getName());
+        task.setAllowApplyDays(req.getAllowApplyDays());
+        task.setAllowApplyCancelDays(req.getAllowApplyCancelDays());
+        task.setSelfApplyStartTime(req.getSelfApplyStartTime());
+        task.setSelfApplyEndTime(req.getSelfApplyEndTime());
+        task.setOpenApplyStartTime(req.getOpenApplyStartTime());
+        task.setOpenApplyEndTime(req.getOpenApplyEndTime());
+        task.setEnable(Boolean.FALSE);
+        //TODO 根据登录用户获取机构ID
+        task.setOrgId(1L);
+        this.saveOrUpdate(task);
+    }
+
+    private void checkRule(ApplyTaskReq req) {
+        if (StringUtils.isEmpty(req.getName()))
+            throw new StatusException("请填写任务名称");
+        if (StringUtils.isEmpty(req.getAllowApplyDays()))
+            throw new StatusException("请填写禁止考生预约的天数");
+        if (StringUtils.isEmpty(req.getAllowApplyCancelDays()))
+            throw new StatusException("请填写禁止考生取消预约的天数");
+        if (StringUtils.isEmpty(req.getSelfApplyStartTime()))
+            throw new StatusException("请填写自主预约起始时间");
+        if (StringUtils.isEmpty(req.getSelfApplyEndTime()))
+            throw new StatusException("请填写自主预约截止时间");
+        if (StringUtils.isEmpty(req.getOpenApplyStartTime()))
+            throw new StatusException("请填写开放式预约起始时间");
+        if (StringUtils.isEmpty(req.getOpenApplyEndTime()))
+            throw new StatusException("请填写开放式预约截止时间");
+    }
+
 }

+ 16 - 0
src/main/resources/mapper/ApplyTaskMapper.xml

@@ -1,6 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.qmth.exam.reserve.dao.ApplyTaskDao">
+
+	<!-- <resultMap id="custMap" type="com.qmth.exam.reserve.bean.task.TimePeriodVO"> 
+		<result column="params" property="params" typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"> 
+		</result> </resultMap> -->
 	<select id="page"
 		resultType="com.qmth.exam.reserve.bean.task.ApplyTaskVO">
 		select id,name,self_apply_start_time selfApplyStartTime,
@@ -14,4 +18,16 @@
 		</if>
 		order by t.id
 	</select>
+
+	<select id="find"
+		resultType="com.qmth.exam.reserve.bean.task.ApplyTaskRuleVO">
+		select * from t_apply_task where id=#{id}
+	</select>
+	<select id="getTimePeriodList"
+		resultType="com.qmth.exam.reserve.bean.task.TimePeriodVO">
+		select id,start_time startTime,end_time endTime from
+		t_time_period where apply_task_id=#{id}
+		order by start_time
+	</select>
+	
 </mapper>