|
@@ -1,5 +1,6 @@
|
|
|
package com.cyksj.web.controller.group;
|
|
package com.cyksj.web.controller.group;
|
|
|
|
|
|
|
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.date.DateTime;
|
|
import cn.hutool.core.date.DateTime;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
import cn.hutool.core.thread.ThreadUtil;
|
|
import cn.hutool.core.thread.ThreadUtil;
|
|
@@ -9,6 +10,7 @@ import cn.hutool.json.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.cyksj.common.annotation.NoSubmit;
|
|
import com.cyksj.common.annotation.NoSubmit;
|
|
|
import com.cyksj.common.exception.BusinessRuntimeException;
|
|
import com.cyksj.common.exception.BusinessRuntimeException;
|
|
|
|
|
+import com.cyksj.common.snowflake.Sequence;
|
|
|
import com.cyksj.common.task.GlobalThreadPoolTaskExecutor;
|
|
import com.cyksj.common.task.GlobalThreadPoolTaskExecutor;
|
|
|
import com.cyksj.common.util.GoogleGenerator;
|
|
import com.cyksj.common.util.GoogleGenerator;
|
|
|
import com.cyksj.common.util.Jsons;
|
|
import com.cyksj.common.util.Jsons;
|
|
@@ -24,6 +26,7 @@ import com.cyksj.model.entity.*;
|
|
|
import com.cyksj.model.manage.views.GroupsRelationView;
|
|
import com.cyksj.model.manage.views.GroupsRelationView;
|
|
|
import com.cyksj.model.request.OrderPayRequest;
|
|
import com.cyksj.model.request.OrderPayRequest;
|
|
|
import com.cyksj.model.views.DoubleVerifyCodeView;
|
|
import com.cyksj.model.views.DoubleVerifyCodeView;
|
|
|
|
|
+import com.cyksj.model.views.QuestionnairePromotionFieldsListView;
|
|
|
import com.cyksj.model.views.RenewalView;
|
|
import com.cyksj.model.views.RenewalView;
|
|
|
import com.cyksj.model.views.UserTicketView;
|
|
import com.cyksj.model.views.UserTicketView;
|
|
|
import com.cyksj.redis.RedisService;
|
|
import com.cyksj.redis.RedisService;
|
|
@@ -91,6 +94,8 @@ public class GroupRelationController {
|
|
|
|
|
|
|
|
private final GlobalThreadPoolTaskExecutor THREAD_POOL;
|
|
private final GlobalThreadPoolTaskExecutor THREAD_POOL;
|
|
|
|
|
|
|
|
|
|
+ private final static Sequence SEQUENCE = new Sequence(0);
|
|
|
|
|
+
|
|
|
@RequestMapping("/get/renewal")
|
|
@RequestMapping("/get/renewal")
|
|
|
public Result<List<RenewalView>> get(Boolean isLoginPopularize) {
|
|
public Result<List<RenewalView>> get(Boolean isLoginPopularize) {
|
|
|
long userId = StpUserUtil.getLoginIdAsLong();
|
|
long userId = StpUserUtil.getLoginIdAsLong();
|
|
@@ -414,8 +419,10 @@ public class GroupRelationController {
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@NoSubmit
|
|
@NoSubmit
|
|
|
public Result<String> recordQuestionnaire(@PathVariable Long promotionId, @RequestBody List<FormFieldsData> answers) {
|
|
public Result<String> recordQuestionnaire(@PathVariable Long promotionId, @RequestBody List<FormFieldsData> answers) {
|
|
|
- QuestionnairePromotion promotion = promotionMapper.selectById(promotionId);
|
|
|
|
|
- if (promotion == null) throw BusinessRuntimeException.getInstance("问卷不存在");
|
|
|
|
|
|
|
+ Long groupsId = SEQUENCE.nextId();
|
|
|
|
|
+ List<QuestionnairePromotionFieldsListView> promotionFieldsListViews = beanSearcher.searchAll(QuestionnairePromotionFieldsListView.class, MapUtils.builder().field(QuestionnairePromotionFieldsListView::getPromotionId, promotionId).build());
|
|
|
|
|
+ if (CollUtil.isEmpty(promotionFieldsListViews)) throw BusinessRuntimeException.getInstance("问卷已结束");
|
|
|
|
|
+ if (promotionFieldsListViews.size() != answers.size()) throw BusinessRuntimeException.getInstance("请完成所有问题");
|
|
|
answers.forEach(answer -> {
|
|
answers.forEach(answer -> {
|
|
|
Long fieldsId = answer.getFieldsId();
|
|
Long fieldsId = answer.getFieldsId();
|
|
|
String content = answer.getContent();
|
|
String content = answer.getContent();
|
|
@@ -423,6 +430,7 @@ public class GroupRelationController {
|
|
|
throw BusinessRuntimeException.getInstance("必填项为空");
|
|
throw BusinessRuntimeException.getInstance("必填项为空");
|
|
|
}
|
|
}
|
|
|
answer.setPromotionId(promotionId);
|
|
answer.setPromotionId(promotionId);
|
|
|
|
|
+ answer.setGroupsId(groupsId);
|
|
|
formFieldsDataMapper.insert(answer);
|
|
formFieldsDataMapper.insert(answer);
|
|
|
});
|
|
});
|
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult();
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult();
|