基于SpringBoot和Vue的系统中用户对家政人员发布的服务项目发表评价,评价信息怎么关联到该家政人员和该项目,解释原理
时间: 2024-03-05 11:54:31 浏览: 62
在基于SpringBoot和Vue的系统中,用户对家政人员发布的服务项目发表评价,需要将评价信息关联到该家政人员和该项目。实现原理如下:
1. 在评价模型类中添加家政人员和服务项目的引用,用于关联评价信息和家政人员、服务项目。
```java
public class Evaluation {
private Long id;
private User user; // 评价人
private Worker worker; // 家政人员
private ServiceItem serviceItem; // 服务项目
private String content; // 评价内容
private Integer score; // 评分
private Date createTime; // 评价时间
// getter和setter方法省略
}
```
2. 在服务项目模型类和家政人员模型类中添加评价模型类的引用,表示一个服务项目或家政人员可以有多个评价。
```java
public class ServiceItem {
private Long id;
private String name;
private String description;
private List<Worker> workers; // 服务项目对应的家政人员
private List<Evaluation> evaluations; // 服务项目的评价
// getter和setter方法省略
}
public class Worker {
private Long id;
private String name;
private String phone;
private String introduction;
private List<ServiceItem> serviceItems; // 家政人员提供的服务项目
private List<Evaluation> evaluations; // 家政人员的评价
// getter和setter方法省略
}
```
3. 在评价控制器中获取评价数据,并通过家政人员和服务项目的ID关联到对应的家政人员和服务项目。
```java
@PostMapping("/evaluations")
public Result addEvaluation(@RequestBody Map<String, Object> map) {
// 获取评价数据
Long userId = Long.parseLong(map.get("userId").toString());
Long workerId = Long.parseLong(map.get("workerId").toString());
Long serviceItemId = Long.parseLong(map.get("serviceItemId").toString());
String content = map.get("content").toString();
Integer score = Integer.parseInt(map.get("score").toString());
// 关联到对应的家政人员和服务项目
User user = userService.getUserById(userId);
Worker worker = workerService.getWorkerById(workerId);
ServiceItem serviceItem = serviceItemService.getServiceItemById(serviceItemId);
// 创建评价对象
Evaluation evaluation = new Evaluation();
evaluation.setUser(user);
evaluation.setWorker(worker);
evaluation.setServiceItem(serviceItem);
evaluation.setContent(content);
evaluation.setScore(score);
evaluation.setCreateTime(new Date());
// 保存到数据库中
evaluationService.addEvaluation(evaluation);
return Result.success("评价成功");
}
```
通过以上步骤,用户就可以在系统中对家政人员发布的服务项目发表评价,并且评价信息会自动关联到对应的家政人员和服务项目。通过家政人员和服务项目的ID,可以在后台中获取对应的家政人员和服务项目,并将评价信息与之关联。
阅读全文