zq-erp/src/main/java/com/matrix/system/app/action/ApiVipInfoAction.java | ●●●●● patch | view | raw | blame | history | |
zq-erp/src/main/java/com/matrix/system/app/dto/QuestionAnswerDto.java | ●●●●● patch | view | raw | blame | history | |
zq-erp/src/main/java/com/matrix/system/app/dto/QuestionAnswerItemDto.java | ●●●●● patch | view | raw | blame | history | |
zq-erp/src/main/java/com/matrix/system/app/mapper/QuestionMapper.java | ●●●●● patch | view | raw | blame | history | |
zq-erp/src/main/java/com/matrix/system/app/vo/QuestionVo.java | ●●●●● patch | view | raw | blame | history |
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("档案更新成功"); } } zq-erp/src/main/java/com/matrix/system/app/dto/QuestionAnswerDto.java
New file @@ -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; } } zq-erp/src/main/java/com/matrix/system/app/dto/QuestionAnswerItemDto.java
New file @@ -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; } } zq-erp/src/main/java/com/matrix/system/app/mapper/QuestionMapper.java
New file @@ -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); } zq-erp/src/main/java/com/matrix/system/app/vo/QuestionVo.java
New file @@ -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; } }