zoujiajian 3 gadi atpakaļ
vecāks
revīzija
da16df6bfe

+ 14 - 15
netflix-dao/src/main/java/com/cyksj/model/dto/QuestionnaireView.java

@@ -1,15 +1,11 @@
 package com.cyksj.model.dto;
 
-import com.cyksj.model.views.QuestionnaireOptionsView;
 import com.ejlchina.searcher.bean.DbField;
-import com.ejlchina.searcher.bean.DbIgnore;
 import com.ejlchina.searcher.bean.SearchBean;
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import lombok.Getter;
 import lombok.Setter;
 
-import java.util.List;
-
 /*
  *项目名: netflix
  *文件名: QuestionnaireView
@@ -18,32 +14,35 @@ import java.util.List;
  */
 @Getter
 @Setter
-@SearchBean(tables = "form_template ft left join form_fields ff on ff.template_id = ft.id",
+@SearchBean(tables = "form_fields_default fd left join form_fields ff on ff.id = fd.fields_id",
 		where = "ff.deleted is true")
 public class QuestionnaireView {
 
-	@DbField("ft.id")
-	private Long templateId;
-
-	@DbField("ff.id")
+	@DbField("fd.fields_id")
 	private Long fieldsId;
 
-	@DbField("ff.fields_name")
+	@DbField("fd.promotion_id")
+	private Long promotionId;
+
+	@DbField("fd.fields_name")
 	private String fieldsName;
 
+	@DbField("fd.value")
+	private String value;
+
 	@DbField("ff.data_type")
 	private Integer dataType;
 
 	@DbField("ff.fields_entry_type")
-	private Integer FieldsEntryType;
+	private Integer fieldsEntryType;
+
+	@DbField("ff.max_length")
+	private Integer maxLength;
 
 	@DbField("ff.show_table")
 	private Integer showTable;
 
-	@DbField("ff.sorted")
 	@JsonIgnore
+	@DbField("ff.sorted")
 	private Integer sorted;
-
-	@DbIgnore
-	private List<QuestionnaireOptionsView> options;
 }

+ 1 - 1
netflix-dao/src/main/java/com/cyksj/model/entity/FormFieldsDefault.java

@@ -28,7 +28,7 @@ public class FormFieldsDefault extends BaseEntity{
 	private String fieldsName;
 
 	/**
-	 * 默认值
+	 * 默认值 问题选项数组
 	 */
 	private String value;
 }

+ 6 - 1
netflix-service/src/main/java/com/cyksj/service/mange/form/impl/FormServiceImpl.java

@@ -13,6 +13,7 @@ import com.cyksj.service.mange.form.FormService;
 import com.google.common.collect.Lists;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.dao.DuplicateKeyException;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -74,7 +75,11 @@ public class FormServiceImpl implements FormService {
 					FormFields formFields = formFieldsMapper.selectById(value.getFieldsId());
 					value.setFieldsName(formFields.getFieldsName());
 				}
-				formFieldsDefaultMapper.insert(value);
+				try {
+					formFieldsDefaultMapper.insert(value);
+				} catch (DuplicateKeyException e) {
+
+				}
 				return;
 			}
 			formFieldsDefaultMapper.updateById(value);

+ 2 - 10
netflix-web/src/main/java/com/cyksj/web/controller/group/GroupRelationController.java

@@ -23,7 +23,6 @@ import com.cyksj.model.entity.*;
 import com.cyksj.model.manage.views.GroupsRelationView;
 import com.cyksj.model.request.OrderPayRequest;
 import com.cyksj.model.views.DoubleVerifyCodeView;
-import com.cyksj.model.views.QuestionnaireOptionsView;
 import com.cyksj.model.views.RenewalView;
 import com.cyksj.model.views.UserTicketView;
 import com.cyksj.redis.RedisService;
@@ -394,20 +393,13 @@ public class GroupRelationController {
     @GetMapping("/get/questionnaire")
     public Result<List<QuestionnaireView>> getQuestionnaireView(Long promotionId) {
         QuestionnairePromotion promotion = questionnairePromotionMapper.selectById(promotionId);
-        if (promotion == null) throw BusinessRuntimeException.getInstance("问卷不存在");
+        if (promotion == null || !promotion.getDeleted()) throw BusinessRuntimeException.getInstance("问卷不存在");
         Long templateId = promotion.getTemplateId();
         List<QuestionnaireView> questionnaireViews = beanSearcher.searchAll(QuestionnaireView.class, MapUtils.builder()
-                .field(QuestionnaireView::getTemplateId, templateId)
+                .field(QuestionnaireView::getPromotionId, promotionId)
                 .orderBy(QuestionnaireView::getSorted).asc()
                 .orderBy(QuestionnaireView::getFieldsId).asc()
                 .build());
-        questionnaireViews.forEach(data -> {
-            List<QuestionnaireOptionsView> optionsViews = beanSearcher.searchAll(QuestionnaireOptionsView.class, MapUtils.builder()
-                    .field(QuestionnaireOptionsView::getPromotionId, promotionId)
-                    .field(QuestionnaireOptionsView::getFieldsId, data.getFieldsId())
-                    .build());
-            data.setOptions(optionsViews);
-        });
         return GatewayResponse.SUCCESS.newBuilder().toResult(questionnaireViews);
     }
 

+ 2 - 2
netflix-web/src/main/java/com/cyksj/web/controller/manage/form/FormController.java

@@ -124,7 +124,7 @@ public class FormController {
 	}
 
 	/**
-	 * 模板详情 问卷字段列表
+	 * 模板详情 问卷字段以及答案列表
 	 */
 	@GetMapping("/template/get/detail/{id}")
 	public Result<SearchResult<FormFieldsView>> getFieldsView(@PathVariable Long id) {
@@ -141,7 +141,7 @@ public class FormController {
 
 
 	/**
-	 * 问卷回答列表
+	 * 用户问卷回答列表
 	 */
 	@GetMapping("/get/question/resp/data")
 	public Result<SearchResult<FormFieldsDataView>> getData(Long fieldsId) {