From 6c9cfe306ef87bd2772f43896913e681df3ec7bf Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Wed, 28 Jul 2021 20:51:11 +0800
Subject: [PATCH] 培训报名接口修改
---
src/main/java/org/springblade/modules/training/controller/TrainingRegistrationController.java | 6 +
src/main/java/org/springblade/modules/training/service/impl/TrainingRegistrationServiceImpl.java | 9 ++
src/main/java/org/springblade/modules/training/mapper/TrainingRegistrationMapper.xml | 25 +++++++-
src/main/java/org/springblade/modules/training/vo/TrainingRegistrationVo.java | 41 +++++++++++++
src/main/java/org/springblade/modules/training/util/LongTimeUtil.java | 44 ++++++++++++++
src/main/java/org/springblade/modules/training/entity/TrainingRegistration.java | 23 +++++--
6 files changed, 134 insertions(+), 14 deletions(-)
diff --git a/src/main/java/org/springblade/modules/training/controller/TrainingRegistrationController.java b/src/main/java/org/springblade/modules/training/controller/TrainingRegistrationController.java
index 4f738cc..573bedc 100644
--- a/src/main/java/org/springblade/modules/training/controller/TrainingRegistrationController.java
+++ b/src/main/java/org/springblade/modules/training/controller/TrainingRegistrationController.java
@@ -56,7 +56,7 @@
*/
@PostMapping("/update")
public R update(@RequestBody TrainingRegistration trainingRegistration) throws Exception {
- arg.test01(arg.url+"/trainingRegistration/update",trainingRegistration);
+// arg.test01(arg.url+"/trainingRegistration/update",trainingRegistration);
return R.status(trainingRegistrationService.updateById(trainingRegistration));
}
@@ -66,7 +66,9 @@
*/
@PostMapping("/submit")
public R submit(@RequestBody TrainingRegistration trainingRegistration) throws Exception {
- arg.test01(arg.url+"/trainingRegistration/submit",trainingRegistration);
+ trainingRegistration.setTrainingTime(new Date());
+ trainingRegistration.setCancel(1);
+// arg.test01(arg.url+"/trainingRegistration/submit",trainingRegistration);
return R.status(trainingRegistrationService.saveOrUpdate(trainingRegistration));
}
diff --git a/src/main/java/org/springblade/modules/training/entity/TrainingRegistration.java b/src/main/java/org/springblade/modules/training/entity/TrainingRegistration.java
index 607bd64..8c780a6 100644
--- a/src/main/java/org/springblade/modules/training/entity/TrainingRegistration.java
+++ b/src/main/java/org/springblade/modules/training/entity/TrainingRegistration.java
@@ -59,9 +59,10 @@
private String weight;
/**
- * 报名电话
+ * 培训报名申请id
*/
- private String phone;
+ @TableField("train_exam_id")
+ private String trainExamId;
/**
* 身份证号
@@ -76,19 +77,19 @@
private String academicUrl;
/**
- * 培训公司名称
+ * 培训公司id
*/
- @TableField("training_unit_name")
- private String trainingUnitName;
+ @TableField("training_unit_id")
+ private String trainingUnitId;
/**
- * 培训时间
+ * 培训报名时间
*/
@TableField("training_time")
- @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
- @DateTimeFormat(pattern = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date trainingTime;
/**
@@ -96,4 +97,10 @@
*/
private Integer cancel;
+ /**
+ * 报名人员id
+ */
+ @TableField("user_id")
+ private String userId;
+
}
diff --git a/src/main/java/org/springblade/modules/training/mapper/TrainingRegistrationMapper.xml b/src/main/java/org/springblade/modules/training/mapper/TrainingRegistrationMapper.xml
index 0d23c0c..ccd7cd0 100644
--- a/src/main/java/org/springblade/modules/training/mapper/TrainingRegistrationMapper.xml
+++ b/src/main/java/org/springblade/modules/training/mapper/TrainingRegistrationMapper.xml
@@ -5,20 +5,39 @@
<!--报名培训分页信息-->
<select id="selectTrainingRegistrationPage" resultType="org.springblade.modules.training.vo.TrainingRegistrationVo">
SELECT
- sr.*,bt.dept_name AS deptName
+ sr.*,
+ bt.dept_name AS deptName,
+ bt0.dept_name AS trainUnitName,
+ bu.real_name realName,bu.phone,bu.cardid idCardNo,
+ ste.start_time trainExamTime,ste.train_exam_name trainExamName
FROM
sys_training_registration sr
LEFT JOIN
blade_dept bt
ON
sr.dept_id = bt.id
+ LEFT JOIN
+ blade_dept bt0
+ ON
+ sr.training_unit_id = bt0.id
+ left join
+ blade_user bu
+ on
+ sr.user_id = bu.id
+ left join
+ sys_train_exam ste
+ on
+ ste.id = sr.train_exam_id
WHERE
1=1
+ <if test="trainingRegistration.trainingUnitId!=null and trainingRegistration.trainingUnitId!=''">
+ and ste.dept_id = #{trainingRegistration.trainingUnitId}
+ </if>
<if test="trainingRegistration.deptName!=null and trainingRegistration.deptName!=''">
and bt.dept_name like concat('%', #{trainingRegistration.deptName},'%')
</if>
- <if test="trainingRegistration.name!=null and trainingRegistration.name!=''">
- and sr.name like concat('%', #{trainingRegistration.name},'%')
+ <if test="trainingRegistration.realName!=null and trainingRegistration.realName!=''">
+ and bu.real_name like concat('%', #{trainingRegistration.realName},'%')
</if>
<if test="trainingRegistration.cancel!=null">
and sr.cancel = #{trainingRegistration.cancel}
diff --git a/src/main/java/org/springblade/modules/training/service/impl/TrainingRegistrationServiceImpl.java b/src/main/java/org/springblade/modules/training/service/impl/TrainingRegistrationServiceImpl.java
index a5086db..a3ae2de 100644
--- a/src/main/java/org/springblade/modules/training/service/impl/TrainingRegistrationServiceImpl.java
+++ b/src/main/java/org/springblade/modules/training/service/impl/TrainingRegistrationServiceImpl.java
@@ -6,8 +6,11 @@
import org.springblade.modules.training.entity.TrainingRegistration;
import org.springblade.modules.training.mapper.TrainingRegistrationMapper;
import org.springblade.modules.training.service.TrainingRegistrationService;
+import org.springblade.modules.training.util.LongTimeUtil;
import org.springblade.modules.training.vo.TrainingRegistrationVo;
import org.springframework.stereotype.Service;
+
+import java.util.List;
/**
* 报名培训服务实现类
@@ -18,7 +21,11 @@
@Override
public IPage<TrainingRegistrationVo> selectTrainingRegistrationPage(IPage<TrainingRegistrationVo> page, TrainingRegistrationVo trainingRegistration) {
- return page.setRecords(baseMapper.selectTrainingRegistrationPage(page, trainingRegistration));
+ List<TrainingRegistrationVo> trainingRegistrationVos = baseMapper.selectTrainingRegistrationPage(page, trainingRegistration);
+ trainingRegistrationVos.forEach(trainingRegistrationVo -> {
+ trainingRegistrationVo.setRemainingTime(LongTimeUtil.getDistanceTime(trainingRegistrationVo.getTrainExamTime().getTime(), System.currentTimeMillis()));
+ });
+ return page.setRecords(trainingRegistrationVos);
}
/**
diff --git a/src/main/java/org/springblade/modules/training/util/LongTimeUtil.java b/src/main/java/org/springblade/modules/training/util/LongTimeUtil.java
new file mode 100644
index 0000000..67645a5
--- /dev/null
+++ b/src/main/java/org/springblade/modules/training/util/LongTimeUtil.java
@@ -0,0 +1,44 @@
+package org.springblade.modules.training.util;
+
+/**
+ * @author zhongrj
+ */
+public class LongTimeUtil {
+
+ /**
+ * 计算time2减去time1的差值 差值只设置 几天 几个小时 或 几分钟 根据差值返回多长之间前或多长时间后
+ * @param time1
+ * @param time2
+ * @return
+ */
+ public static String getDistanceTime(long time1, long time2) {
+ long day = 0;
+ long hour = 0;
+ long min = 0;
+ long sec = 0;
+ long diff;
+
+ if (time1 < time2) {
+ return "已超时";
+ } else {
+ diff = time1 - time2;
+ }
+ day = diff / (24 * 60 * 60 * 1000);
+ hour = (diff / (60 * 60 * 1000) - day * 24);
+ min = ((diff / (60 * 1000)) - day * 24 * 60 - hour * 60);
+ sec = (diff / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60);
+ if (day != 0) {
+ return day + "天"+hour + "小时"+min + "分钟" + sec + "秒";
+ }
+ if (hour != 0) {
+ return hour + "小时"+ min + "分钟" + sec + "秒";
+ }
+ if (min != 0) {
+ return min + "分钟" + sec + "秒";
+ }
+ if (sec != 0) {
+ return sec + "秒" ;
+ }
+ return "0秒";
+ }
+}
diff --git a/src/main/java/org/springblade/modules/training/vo/TrainingRegistrationVo.java b/src/main/java/org/springblade/modules/training/vo/TrainingRegistrationVo.java
index 08db50c..782b399 100644
--- a/src/main/java/org/springblade/modules/training/vo/TrainingRegistrationVo.java
+++ b/src/main/java/org/springblade/modules/training/vo/TrainingRegistrationVo.java
@@ -1,9 +1,12 @@
package org.springblade.modules.training.vo;
+import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springblade.modules.training.entity.TrainingRegistration;
+import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
+import java.util.Date;
/**
* @author zhongrj
@@ -15,4 +18,42 @@
* 组织机构名称
*/
private String deptName;
+
+
+ /**
+ * 距离考试截止时间
+ */
+ private String remainingTime;
+
+ /**
+ * 身份证号
+ */
+ private String idCardNo;
+
+ /**
+ * 培训考试时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date trainExamTime;
+
+ /**
+ * 报名人员姓名
+ */
+ private String realName;
+
+ /**
+ * 联系电话
+ */
+ private String phone;
+
+ /**
+ * 培训公司名称
+ */
+ private String trainUnitName;
+
+ /**
+ * 考试名称
+ */
+ private String trainExamName;
}
--
Gitblit v1.9.3