This commit is contained in:
2025-02-25 14:42:48 +08:00
parent f957c6aaf7
commit 0d0a7825b4
39 changed files with 4430 additions and 21 deletions
@@ -1,17 +1,15 @@
package io.v.nutz.zhgh.question.controller;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import cn.wizzer.framework.base.Result;
import cn.wizzer.framework.page.Pagination;
import io.v.nutz.zhgh.activity.models.ActivityUserScope;
import io.v.nutz.base.query.PageForm;
import io.v.nutz.web.commons.utils.ShiroUtil;
import io.v.nutz.zhgh.activity.models.ActivityUserScope;
import io.v.nutz.zhgh.question.model.*;
import io.v.nutz.zhgh.question.service.QuestionService;
import io.v.nutz.web.commons.utils.ShiroUtil;
import org.nutz.dao.Chain;
import org.apache.shiro.authz.annotation.RequiresAuthentication;
import org.nutz.dao.Cnd;
import org.nutz.dao.Dao;
import org.nutz.dao.Sqls;
@@ -26,9 +24,10 @@ import org.nutz.mvc.annotation.Ok;
import org.nutz.mvc.annotation.Param;
import org.springframework.web.bind.annotation.PathVariable;
import java.util.*;
import java.util.concurrent.ThreadLocalRandom;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
/**
@@ -50,6 +49,7 @@ public class QuestionH5Controller {
@At("/list")
@Ok("beetl:/mobile/question/list.html")
@RequiresAuthentication
public void list() {
}
@@ -74,6 +74,7 @@ public class QuestionH5Controller {
@At("/answer/index")
@Ok("beetl:/mobile/question/answer.html")
@RequiresAuthentication
public void answerIndex() {
}
@@ -335,8 +336,25 @@ public class QuestionH5Controller {
* @return {@link Object}
*/
@At("/answerInfo/?")
public Object answerInfo(String id) {
List<Question_reply> replies = questionService.dao().query(Question_reply.class, Cnd.where("qid", "=", id).and("userId", "=", ShiroUtil.getPrincipalProperty("id")));
public Object answerInfo(String id,
@Param(required = false, value = "currentDate") String currentDate,
@Param(required = false, value = "randomCount") Integer randomCount) {
Cnd cnd = Cnd.where("qid", "=", id).and("userId", "=", ShiroUtil.getPrincipalProperty("id"));
Question question = dao.fetch(Question.class, id);
if (question.getCtMode() == 1) {
cnd.and("DATE(rtime)", "=", currentDate);
} else if (question.getCtMode() == 2) {
if (questionService.isSameDay(question.getStartTime(), question.getEndTime())) {
} else {
cnd.and("DATE(rtime)", "=", currentDate);
}
} else if (question.getCtMode() == 3) {
}
List<Question_reply> replies = questionService.dao().query(Question_reply.class, cnd);
return Result.success(replies);
}
@@ -428,6 +446,11 @@ public class QuestionH5Controller {
@Param(required = false, value = "randomCount") Integer randomCount) {
Question question = dao.fetch(Question.class, questionId);
if (question.getCanRepeatedAnswer()) {
//0次则不限制
if (question.getCanRepeatedAnswerNum() == 0) {
return Result.success(true);
}
if (question.getCtMode() == 3) {
int count = dao.count(QuestionUserScore.class, Cnd.where("questionId", "=", questionId).and("userId", "=", ShiroUtil.getUserId()));
return Result.success(count < question.getCanRepeatedAnswerNum());
@@ -1,7 +1,8 @@
package io.v.nutz.zhgh.question.service;
import io.v.nutz.zhgh.question.model.Question;
import io.v.nutz.base.service.BaseService;
import io.v.nutz.base.service.ViService;
import io.v.nutz.zhgh.question.model.Question;
import io.v.nutz.zhgh.question.model.Question_reply;
import org.nutz.lang.util.NutMap;
@@ -2,13 +2,13 @@ package io.v.nutz.zhgh.question.service.impl;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import io.v.nutz.base.service.impl.ViServiceImpl;
import io.v.nutz.web.commons.utils.ShiroUtil;
import io.v.nutz.zhgh.question.model.*;
import io.v.nutz.zhgh.question.service.QuestionIssueService;
import io.v.nutz.zhgh.question.service.QuestionReplyService;
import io.v.nutz.zhgh.question.service.QuestionService;
import io.v.nutz.zhgh.question.service.QuestionWorService;
import io.v.nutz.base.service.impl.ViServiceImpl;
import org.nutz.aop.interceptor.ioc.TransAop;
import org.nutz.dao.Chain;
import org.nutz.dao.Cnd;