Helius
2020-12-28 8d230f41c87aa5c2befa3f0688d9dd53c9e33190
modify
4 files added
1 files modified
249 ■■■■■ changed files
zq-erp/src/main/java/com/matrix/system/app/action/ApiVipInfoAction.java 49 ●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/app/dto/QuestionAnswerDto.java 38 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/app/dto/QuestionAnswerItemDto.java 56 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/app/mapper/QuestionMapper.java 31 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/app/vo/QuestionVo.java 75 ●●●●● 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;
    }
}