Feedback的功能主要是记录用户的对智能问诊平台的反馈信息,包括一些bug或者用户建议,以便管理者能看到并及时做出调整。
Feedback实体类
其设计如下,记录了用户的名称,邮箱,反馈标题、反馈内容和时间。反馈时间便于排序,邮箱则是当管理员需要对用户反馈进行回复时使用
可以理解为一个限定在平台内的小型邮件服务
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@TableName("feedback")
public class Feedback {
@TableId(type = IdType.AUTO)
private Integer id;
/**
* 反馈用户
* 该字段存储提供反馈的用户的名字。
*/
private String name;
/**
* 邮箱
*/
private String email;
/**
* 反馈标题
*/
private String title;
/**
* 反馈内容
*/
private String content;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
}
FeedbackService
继承自BaseService<T>,实现基本增删查改功能,包括按实体查询、按用户查询,按id获取等功能
package com.SmartMed_Connect.service;
import com.SmartMed_Connect.dao.FeedbackDao;
import com.SmartMed_Connect.entity.Feedback;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.SmartMed_Connect.utils.Assert;
import com.SmartMed_Connect.utils.BeanUtil;
import com.SmartMed_Connect.utils.VariableNameUtils;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
@Service
public class FeedbackService extends BaseService<Feedback> {
@Autowired
protected FeedbackDao userDao;
@Override
public List<Feedback> query(Feedback o) {
QueryWrapper<Feedback> wrapper = new QueryWrapper();
if (Assert.notEmpty(o)) {
Map<String, Object> bean2Map = BeanUtil.bean2Map(o);
for (String key : bean2Map.keySet()) {
if (Assert.isEmpty(bean2Map.get(key))) {
continue;
}
wrapper.eq(VariableNameUtils.humpToLine(key), bean2Map.get(key));
}
}
return userDao.selectList(wrapper);
}
@Override
public List<Feedback> all() {
return query(null);
}
@Override
public Feedback save(Feedback o) {
if (Assert.isEmpty(o.getId())) {
userDao.insert(o);
} else {
userDao.updateById(o);
}
return userDao.selectById(o.getId());
}
@Override
public Feedback get(Serializable id) {
return userDao.selectById(id);
}
@Override
public int delete(Serializable id) {
return userDao.deleteById(id);
}
}