UserComplaintController.java 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package com.cyksj.web.controller.user;
  2. import com.cyksj.common.annotation.NoSubmit;
  3. import com.cyksj.dto.Result;
  4. import com.cyksj.enums.GatewayResponse;
  5. import com.cyksj.model.entity.UserComplaint;
  6. import com.cyksj.model.views.UserComplaintFrontView;
  7. import com.cyksj.service.user.UserComplaintService;
  8. import com.cyksj.web.util.StpUserUtil;
  9. import com.ejlchina.searcher.BeanSearcher;
  10. import com.ejlchina.searcher.SearchResult;
  11. import com.ejlchina.searcher.util.MapUtils;
  12. import lombok.RequiredArgsConstructor;
  13. import org.springframework.validation.annotation.Validated;
  14. import org.springframework.web.bind.annotation.*;
  15. import javax.servlet.http.HttpServletRequest;
  16. /*
  17. *项目名: netflix
  18. *文件名: UserComplaintController
  19. *创建者: JavaZou
  20. *创建时间:2023/6/16 11:26
  21. */
  22. @RestController
  23. @RequestMapping("/applets/user/complaint")
  24. @RequiredArgsConstructor
  25. public class UserComplaintController {
  26. private final UserComplaintService userComplaintService;
  27. private final BeanSearcher beanSearcher;
  28. private final HttpServletRequest request;
  29. /**
  30. * 用户投诉
  31. */
  32. @PostMapping
  33. @NoSubmit
  34. public Result<String> insert(@RequestBody @Validated UserComplaint userComplaint) {
  35. long userId = StpUserUtil.getLoginIdAsLong();
  36. userComplaint.setUserId(userId);
  37. userComplaintService.insertUserComplaint(userComplaint);
  38. return GatewayResponse.SUCCESS.newBuilder().toResult("投诉成功");
  39. }
  40. /**
  41. * 我的投诉列表
  42. */
  43. @GetMapping("/get")
  44. public Result<SearchResult<UserComplaintFrontView>> get() {
  45. long userId = StpUserUtil.getLoginIdAsLong();
  46. SearchResult<UserComplaintFrontView> search = beanSearcher.search(UserComplaintFrontView.class, MapUtils.flatBuilder(request.getParameterMap())
  47. .field(UserComplaintFrontView::getUserId, userId)
  48. .build());
  49. return GatewayResponse.SUCCESS.newBuilder().toResult(search);
  50. }
  51. }