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