From 8d230f41c87aa5c2befa3f0688d9dd53c9e33190 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Mon, 28 Dec 2020 15:42:55 +0800
Subject: [PATCH] modify
---
zq-erp/src/main/java/com/matrix/system/app/vo/QuestionVo.java | 75 +++++++++++++++
zq-erp/src/main/java/com/matrix/system/app/dto/QuestionAnswerDto.java | 38 +++++++
zq-erp/src/main/java/com/matrix/system/app/mapper/QuestionMapper.java | 31 ++++++
zq-erp/src/main/java/com/matrix/system/app/dto/QuestionAnswerItemDto.java | 56 +++++++++++
zq-erp/src/main/java/com/matrix/system/app/action/ApiVipInfoAction.java | 49 ++++++++-
5 files changed, 241 insertions(+), 8 deletions(-)
diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiVipInfoAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiVipInfoAction.java
index 411293c..0a52155 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiVipInfoAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiVipInfoAction.java
@@ -6,22 +6,22 @@
import com.matrix.core.tools.WebUtil;
import com.matrix.system.app.dto.AddVipDto;
import com.matrix.system.app.dto.ModifyVipDto;
+import com.matrix.system.app.dto.QuestionAnswerDto;
import com.matrix.system.app.dto.VipInfoListDto;
import com.matrix.system.app.mapper.MoneyCardUseMapper;
-import com.matrix.system.app.vo.VipCardListVo;
-import com.matrix.system.app.vo.VipInfoDetailVo;
-import com.matrix.system.app.vo.VipInfoListVo;
-import com.matrix.system.app.vo.VipInfoVo;
+import com.matrix.system.app.mapper.QuestionMapper;
+import com.matrix.system.app.vo.*;
import com.matrix.system.common.bean.CustomerDataDictionary;
import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.common.dao.CustomerDataDictionaryDao;
import com.matrix.system.common.tools.DataAuthUtil;
import com.matrix.system.hive.action.BaseController;
-import com.matrix.system.hive.bean.MoneyCardUse;
-import com.matrix.system.hive.bean.SysVipInfo;
-import com.matrix.system.hive.bean.SysVipLevel;
+import com.matrix.system.hive.bean.*;
import com.matrix.system.hive.dao.MoneyCardUseDao;
+import com.matrix.system.hive.dao.VipAnswerDao;
+import com.matrix.system.hive.plugin.util.CollectionUtils;
import com.matrix.system.hive.service.MoneyCardUseService;
+import com.matrix.system.hive.service.QuestionSerivce;
import com.matrix.system.hive.service.SysVipInfoService;
import com.matrix.system.hive.service.SysVipLevelService;
import io.swagger.annotations.Api;
@@ -54,6 +54,12 @@
@Autowired
private MoneyCardUseService moneyCardUseService;
+
+ @Autowired
+ private QuestionSerivce questionSerivce;
+
+ @Autowired
+ private VipAnswerDao vipAnswerDao;
@ApiOperation(value = "获取会员通讯录列表", notes = "获取会员通讯录列表")
@ApiResponses({
@@ -153,7 +159,7 @@
return AjaxResult.buildSuccessInstance(sysVipInfoService.findAll(sysVipInfo));
}
- @ApiOperation(value = "获取会员卡项列表")
+ @ApiOperation(value = "卡项 - 获取会员卡项列表", notes = "卡项 - 获取会员卡项列表")
@ApiResponses({
@ApiResponse(code = 200, message = "ok", response = VipCardListVo.class)
})
@@ -166,4 +172,31 @@
List<VipCardListVo> dataList = MoneyCardUseMapper.INSTANCE.entitiesToCardListVos(list);
return AjaxResult.buildSuccessInstance(dataList);
}
+
+ @ApiOperation(value = "会员档案 - 获取客户档案问题", notes = "会员档案 - 获取客户档案问题")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "ok", response = QuestionVo.class)
+ })
+ @GetMapping(value = "/findVipQuestions/{vipId}")
+ public AjaxResult findVipQuestions(@PathVariable("vipId") Long vipId) {
+ // 获取会员所有的答案,分类型
+ List<Question> questions = questionSerivce.findByVipId(vipId);
+ AjaxResult result = AjaxResult.buildSuccessInstance("获取成功");
+ List<QuestionVo> list = QuestionMapper.INSTANCE.entitiesToVos(questions);
+ result.putInMap("questions", list);
+ return result;
+ }
+
+ @ApiOperation(value = "会员档案 - 提交会员档案", notes = "会员档案 - 提交会员档案")
+ @PostMapping(value = "/saveVipQuestionsAnswer")
+ public AjaxResult saveVipQuestionsAnswer(@RequestBody QuestionAnswerDto questionAnswerDto) {
+ VipAnswer delAnswer = new VipAnswer();
+ delAnswer.setVipId(questionAnswerDto.getVipId());
+ vipAnswerDao.deleteByModel(delAnswer);
+ if (CollectionUtils.isNotEmpty(questionAnswerDto.getItems())) {
+ List<VipAnswer> vipAnswers = QuestionMapper.INSTANCE.dtosToVipAnswers(questionAnswerDto.getItems());
+ vipAnswerDao.batchInsert(vipAnswers);
+ }
+ return AjaxResult.buildSuccessInstance("档案更新成功");
+ }
}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/dto/QuestionAnswerDto.java b/zq-erp/src/main/java/com/matrix/system/app/dto/QuestionAnswerDto.java
new file mode 100644
index 0000000..37df68b
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/dto/QuestionAnswerDto.java
@@ -0,0 +1,38 @@
+package com.matrix.system.app.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * @author wzy
+ * @date 2020-12-28
+ **/
+@ApiModel(value = "QuestionAnswerDto", description = "提交客户档案接口参数接收类")
+public class QuestionAnswerDto {
+
+ @NotNull(message = "参数错误")
+ @ApiModelProperty(value = "会员ID")
+ private Long vipId;
+
+ @ApiModelProperty(value = "题目答案列表")
+ private List<QuestionAnswerItemDto> items;
+
+ public Long getVipId() {
+ return vipId;
+ }
+
+ public void setVipId(Long vipId) {
+ this.vipId = vipId;
+ }
+
+ public List<QuestionAnswerItemDto> getItems() {
+ return items;
+ }
+
+ public void setItems(List<QuestionAnswerItemDto> items) {
+ this.items = items;
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/dto/QuestionAnswerItemDto.java b/zq-erp/src/main/java/com/matrix/system/app/dto/QuestionAnswerItemDto.java
new file mode 100644
index 0000000..9d3c49a
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/dto/QuestionAnswerItemDto.java
@@ -0,0 +1,56 @@
+package com.matrix.system.app.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @author wzy
+ * @date 2020-12-28
+ **/
+@ApiModel(value = "QuestionAnswerItemDto", description = "问题答案接收类")
+public class QuestionAnswerItemDto {
+
+ @ApiModelProperty(value = "问题ID")
+ private Long questionId;
+
+ @ApiModelProperty(value = "会员ID")
+ private Long vipId;
+
+ @ApiModelProperty(value = "答案Ids,逗号隔开")
+ private String answerId;
+
+ @ApiModelProperty(value = "文本答案")
+ private String answerText;
+
+ public Long getVipId() {
+ return vipId;
+ }
+
+ public void setVipId(Long vipId) {
+ this.vipId = vipId;
+ }
+
+ public Long getQuestionId() {
+ return questionId;
+ }
+
+ public void setQuestionId(Long questionId) {
+ this.questionId = questionId;
+ }
+
+ public String getAnswerId() {
+ return answerId;
+ }
+
+ public void setAnswerId(String answerId) {
+ this.answerId = answerId;
+ }
+
+ public String getAnswerText() {
+ return answerText;
+ }
+
+ public void setAnswerText(String answerText) {
+ this.answerText = answerText;
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/mapper/QuestionMapper.java b/zq-erp/src/main/java/com/matrix/system/app/mapper/QuestionMapper.java
new file mode 100644
index 0000000..c16b5d8
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/mapper/QuestionMapper.java
@@ -0,0 +1,31 @@
+package com.matrix.system.app.mapper;
+
+import com.matrix.system.app.dto.QuestionAnswerDto;
+import com.matrix.system.app.dto.QuestionAnswerItemDto;
+import com.matrix.system.app.vo.QuestionVo;
+import com.matrix.system.hive.bean.Question;
+import com.matrix.system.hive.bean.VipAnswer;
+import org.mapstruct.Mapper;
+import org.mapstruct.Mapping;
+import org.mapstruct.factory.Mappers;
+
+import java.util.List;
+
+/**
+ * @author wzy
+ * @date 2020-12-28
+ **/
+@Mapper
+public abstract class QuestionMapper {
+ public static final QuestionMapper INSTANCE = Mappers.getMapper(QuestionMapper.class);
+
+ public abstract QuestionVo entityToVo(Question question);
+
+ public abstract List<QuestionVo> entitiesToVos(List<Question> list);
+
+ @Mapping(source = "questionId", target = "quesionId")
+ public abstract VipAnswer dtoToVipAnswer(QuestionAnswerItemDto questionAnswerDto);
+
+ public abstract List<VipAnswer> dtosToVipAnswers(List<QuestionAnswerItemDto> list);
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/QuestionVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/QuestionVo.java
new file mode 100644
index 0000000..646b368
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/vo/QuestionVo.java
@@ -0,0 +1,75 @@
+package com.matrix.system.app.vo;
+
+import com.matrix.core.tools.StringUtils;
+import com.matrix.system.hive.bean.Answer;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.List;
+
+/**
+ * @author wzy
+ * @date 2020-12-28
+ **/
+@ApiModel(value = "QuestionVo", description = "会员档案返回参数类")
+public class QuestionVo {
+
+ @ApiModelProperty(value = "问题ID")
+ private Long id;
+
+ @ApiModelProperty(value = "问题")
+ private String question;
+
+ @ApiModelProperty(value = "类型 1-文本 输入框 2-单选 下拉框 3-多选 多选框 4-长文本 文本域 5-标题 只显示即可")
+ private String type;
+
+ private List<Answer> answers;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getQuestion() {
+ return question;
+ }
+
+ public void setQuestion(String question) {
+ this.question = question;
+ }
+
+ public String getType() {
+ if (StringUtils.isNotBlank(type)) {
+ switch (type) {
+ case "文本" :
+ return "1";
+ case "单选" :
+ return "2";
+ case "多选" :
+ return "3";
+ case "长文本" :
+ return "4";
+ case "标题" :
+ return "5";
+ default:
+ return "6";
+ }
+ }
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public List<Answer> getAnswers() {
+ return answers;
+ }
+
+ public void setAnswers(List<Answer> answers) {
+ this.answers = answers;
+ }
+}
--
Gitblit v1.9.1