新增问题反馈表记录用户反馈的问题, 提供查询接口和保存接口

This commit is contained in:
YAS\29473
2025-05-30 11:42:33 +08:00
parent 9077df2fce
commit d3d5c2c920
8 changed files with 442 additions and 1 deletions

View File

@@ -0,0 +1,78 @@
package com.jsowell.pile.domain;
import com.jsowell.common.core.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class MemberFeedback extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
private Long id;
/**
* 会员id
*/
private String memberId;
/**
* 会员姓名
*/
private String memberName;
/**
* 联系方式
*/
private String contactInfo;
/**
* 反馈类型 1=功能建议2=系统BUG3=服务投诉4=站点问题,5=电桩问题,6=其他)
*/
private String feedbackType;
/**
* 反馈内容
*/
private String feedbackContent;
/**
* 处理状态0=未处理,1=处理中,2=已处理,3=待跟进)
*/
private String status;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 管理员回复内容
*/
private String replyContent;
/**
* 管理员回复时间
*/
private Date replyTime;
/**
* 删除标记0=未删除1=已删除)
*/
private String delFlag;
}

View File

@@ -0,0 +1,29 @@
package com.jsowell.pile.dto;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class MemberFeedbackDTO {
/**
* 会员ID
*/
private String memberId;
/**
* 反馈内容
*/
private String feedbackContent;
/**
* 反馈类型
*/
private String feedbackType;
}

View File

@@ -0,0 +1,25 @@
package com.jsowell.pile.mapper;
import com.jsowell.pile.domain.MemberFeedback;
import com.jsowell.pile.vo.uniapp.customer.MemberFeedbackVO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface MemberFeedbackMapper {
/**
* 保存会员反馈信息
* @param memberFeedback
* @return
*/
public int insertMemberFeedback(MemberFeedback memberFeedback);
/**
* 根据会员ID查询会员反馈信息列表
* @param memberId
* @return
*/
List<MemberFeedbackVO> selectMemberFeedbackList(String memberId);
}

View File

@@ -0,0 +1,22 @@
package com.jsowell.pile.service;
import com.jsowell.pile.dto.MemberFeedbackDTO;
import com.jsowell.pile.vo.uniapp.customer.MemberFeedbackVO;
import java.util.List;
public interface MemberFeedbackService {
/**
* 用户反馈信息保存
* @param dto
*/
void saveFeedback(MemberFeedbackDTO dto);
/**
* 获取用户反馈信息列表
* @param memberId
* @return
*/
List<MemberFeedbackVO> getFeedbackList(String memberId);
}

View File

@@ -0,0 +1,62 @@
package com.jsowell.pile.service.impl;
import com.jsowell.common.constant.Constants;
import com.jsowell.common.util.DateUtils;
import com.jsowell.pile.domain.MemberBasicInfo;
import com.jsowell.pile.domain.MemberFeedback;
import com.jsowell.pile.dto.MemberFeedbackDTO;
import com.jsowell.pile.mapper.MemberBasicInfoMapper;
import com.jsowell.pile.mapper.MemberFeedbackMapper;
import com.jsowell.pile.service.MemberFeedbackService;
import com.jsowell.pile.vo.uniapp.customer.MemberFeedbackVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
@Slf4j
public class MemberFeedbackServiceImpl implements MemberFeedbackService {
@Autowired
MemberBasicInfoMapper memberBasicInfoMapper;
@Autowired
MemberFeedbackMapper memberFeedbackMapper;
/**
* 用户反馈保存
* @param dto
*/
@Override
public void saveFeedback(MemberFeedbackDTO dto) {
MemberBasicInfo memberInfo = memberBasicInfoMapper.selectInfoByMemberId(dto.getMemberId());
if (memberInfo == null) {
throw new IllegalArgumentException("");
}
MemberFeedback memberFeedback = MemberFeedback.builder ()
.memberId(dto.getMemberId())
.memberName(memberInfo.getNickName())
.contactInfo(memberInfo.getMobileNumber()) // 联系方式
.feedbackType(dto.getFeedbackType()) //反馈类型
.feedbackContent(dto.getFeedbackContent())
.status(Constants.ONE)
.createTime(DateUtils.getNowDate())
.delFlag(Constants.ZERO)
.build();
// 保存反馈信息至数据库
memberFeedbackMapper.insertMemberFeedback(memberFeedback);
}
/**
* 获取用户反馈列表
* @param memberId
* @return
*/
@Override
public List<MemberFeedbackVO> getFeedbackList(String memberId) {
return memberFeedbackMapper.selectMemberFeedbackList(memberId);
}
}

View File

@@ -0,0 +1,63 @@
package com.jsowell.pile.vo.uniapp.customer;
import lombok.Builder;
import lombok.Data;
import java.util.Date;
@Data
@Builder
public class MemberFeedbackVO {
/**
* 会员id
*/
private String memberId;
/**
* 会员姓名
*/
private String memberName;
/**
* 联系方式
*/
private String contactInfo;
/**
* 反馈类型 1=功能建议2=系统BUG3=服务投诉4=站点问题,5=电桩问题,6=其他)
*/
private String feedbackType;
/**
* 反馈内容
*/
private String feedbackContent;
/**
* 处理状态0=未处理,1=处理中,2=已处理,3=待跟进)
*/
private String status;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 管理员回复内容
*/
private String replyContent;
/**
* 管理员回复时间
*/
private Date replyTime;
}