blob: 45ef0e2421b7cbb19b5226584544f7d15321e195 [file] [log] [blame]
ym9232c165162025-06-06 17:54:39 +08001package com.pt5.pthouduan.controller;
2
3import com.pt5.pthouduan.entity.Complain;
4import com.pt5.pthouduan.service.ComplainService;
5import org.springframework.beans.factory.annotation.Autowired;
6import org.springframework.web.bind.annotation.*;
7import org.springframework.stereotype.Controller;
8
9import java.util.List;
10
11/**
12 * <p>
13 * 投诉前端控制器
14 * </p>
15 *
16 * 功能:增、删、改、查(按被投诉用户ID)
17 *
18 * @author ym
19 * @since 2025-04-14
20 */
21@CrossOrigin(origins = {"http://localhost:5173", "http://localhost:3000"})
22@Controller
23@RequestMapping("/complain")
24public class ComplainController {
25
26 @Autowired
27 private ComplainService complainService;
28
29 // 创建投诉
30 @PostMapping("/create")
31 @ResponseBody
32 public Complain createComplain(@RequestBody Complain complain) {
33 System.out.println("Received complain: " + complain); // 输出接收到的投诉数据
34 return complainService.createComplain(complain);
35 }
36
37 // 删除投诉(根据complainid)
38 @DeleteMapping("/delete/{complainid}")
39 @ResponseBody
40 public boolean deleteComplain(@PathVariable Integer complainid) {
41 return complainService.deleteComplain(complainid);
42 }
43
44 // 更新投诉内容
45 @PutMapping("/update")
46 @ResponseBody
47 public boolean updateComplain(@RequestBody Complain complain) {
48 return complainService.updateComplain(complain);
49 }
50
51 // 获取某个用户被投诉的所有记录(根据duser)
52 @GetMapping("/target/{duser}")
53 @ResponseBody
54 public List<Complain> getComplainsByTargetUser(@PathVariable Long duser) {
55 return complainService.getComplainsByTargetUser(duser);
56 }
57
58 // 获取某个用户提交的所有投诉记录(根据puse)
59 @GetMapping("/from/{puse}")
60 @ResponseBody
61 public List<Complain> getComplainsByPostingUser(@PathVariable Long puse) {
62 return complainService.getComplainsByPostingUser(puse);
63 }
64
65 // 获取所有投诉记录(管理员查看用)
66 @GetMapping("/all")
67 @ResponseBody
68 public List<Complain> getAllComplains() {
69 return complainService.getAllComplains();
70 }
71
72 // 根据投诉号获取对应的投诉人、被投诉人和种子号
73 @GetMapping("/info/{complainid}")
74 @ResponseBody
75 public Complain getComplainInfo(@PathVariable Integer complainid) {
76 return complainService.getComplainById(complainid);
77 }
78}