kgdxpr 2 years ago
commit fa6a81f988

@ -141,21 +141,30 @@ public class ExamController extends Controller {
@Before({GET.class})
public void getQuestionAfterJiaoJuan(int order_id) {
String person_id = getCookie("person_id");
if (em.HaveJiaoJuan(person_id) <= 0) {
Kv kv = Kv.by("success", false);
kv.set("message", "你还没有交卷,不能使用此接口!");
renderJson(kv);
return;
}
Record record = em.getQuestionAfterJiaoJuan(person_id, order_id);
renderJson(record);
}
/**
* ,()
* answer = reply
* answer reply
* reply is null || reply == ''
*/
@Before({GET.class})
public void getPersonAllInfoAfterJiaoJuan() {
String person_id = getCookie("person_id");
List<Record> list = em.getPersonAllInfoAfterJiaoJuan(person_id);
renderJson(list);
if (em.HaveJiaoJuan(person_id) <= 0) {
Kv kv = Kv.by("success", false);
kv.set("message", "你还没有交卷,不能使用此接口!");
renderJson(kv);
return;
}
Kv kv = em.getPersonAllInfoAfterJiaoJuan(person_id);
renderJson(kv);
}
/********************************上面为答题人员的接口************************************/

@ -90,6 +90,22 @@ public class ExamModel {
Db.update(sql, person_id);
}
/**
*
*
* @param person_id
* @return
*/
public int HaveJiaoJuan(String person_id) {
String sql = "select end_time from t_exam_person where person_id=?";
List<Record> list = Db.find(sql, person_id);
if (list.size() == 0) return -1;
Record record = list.get(0);
String end_time = record.getStr("end_time");
if (StrKit.isBlank(end_time)) return 0;
return 1;
}
/**
*
*
@ -97,6 +113,7 @@ public class ExamModel {
* @param reply
*/
public void save(String person_id, int order_id, String reply) {
if (HaveJiaoJuan(person_id) != 0) return;
if (StrKit.isBlank(reply)) reply = null;
String sql = "update t_exam_record set reply=?,update_time=now() where person_id=? and order_id=?";
Db.update(sql, reply, person_id, order_id);
@ -202,10 +219,36 @@ public class ExamModel {
/**
* ,()
*/
public List<Record> getPersonAllInfoAfterJiaoJuan(String person_id) {
public Kv getPersonAllInfoAfterJiaoJuan(String person_id) {
Kv res = Kv.create();
Kv kv = Kv.by("person_id", person_id);
SqlPara sqlPara = Db.getSqlPara("Exam.getPersonAllInfoAfterJiaoJuan", kv);
return Db.find(sqlPara);
List<Record> list = Db.find(sqlPara);
int sum = 0;
for (Record record : list) {
String answer = record.getStr("answer");
String reply = record.getStr("reply");
if (answer.equals(reply)) sum += record.getInt("score");
}
res.set("list", list);
res.set("sum", sum);
//开始结束时间,用时
String sql = "select * from t_exam_person where person_id=?";
Record r = Db.findFirst(sql, person_id);
LocalDateTime start_time = r.getLocalDateTime("start_time");
LocalDateTime end_time = r.getLocalDateTime("end_time");
res.set("start_time", start_time);
res.set("end_time", end_time);
// 计算时间差
Duration duration = Duration.between(start_time, end_time);
long seconds = duration.getSeconds(); // 获取时间差秒数
long hour = seconds / 3600;
long minute = (seconds - hour * 3600) / 60;
long second = seconds - hour * 3600 - minute * 60;
res.set("hour", hour);
res.set("minute", minute);
res.set("second", second);
return res;
}
/**

Loading…
Cancel
Save