UserDetailController.java 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. package com.izouma.nineth.web;
  2. import com.izouma.nineth.domain.UserDetail;
  3. import com.izouma.nineth.dto.MetaRestResult;
  4. import com.izouma.nineth.dto.PageQuery;
  5. import com.izouma.nineth.exception.BusinessException;
  6. import com.izouma.nineth.repo.UserDetailRepo;
  7. import com.izouma.nineth.service.ContentAuditService;
  8. import com.izouma.nineth.service.UserDetailService;
  9. import com.izouma.nineth.utils.excel.ExcelUtils;
  10. import lombok.AllArgsConstructor;
  11. import org.apache.commons.lang3.StringUtils;
  12. import org.springframework.data.domain.Page;
  13. import org.springframework.web.bind.annotation.*;
  14. import javax.servlet.http.HttpServletResponse;
  15. import java.io.IOException;
  16. import java.util.List;
  17. import java.util.Objects;
  18. @RestController
  19. @RequestMapping("/userDetail")
  20. @AllArgsConstructor
  21. public class UserDetailController extends BaseController {
  22. private UserDetailService userDetailService;
  23. private UserDetailRepo userDetailRepo;
  24. private ContentAuditService contentAuditService;
  25. //@PreAuthorize("hasRole('ADMIN')")
  26. @PostMapping("/save")
  27. public UserDetail save(@RequestBody UserDetail record) {
  28. if (StringUtils.isNotBlank(record.getAutograph())) {
  29. if (!contentAuditService.auditText(record.getAutograph())) {
  30. throw new BusinessException("简介包含非法内容");
  31. }
  32. }
  33. return userDetailRepo.save(record);
  34. }
  35. @PostMapping("/meta/save")
  36. public MetaRestResult<UserDetail> metaSave(@RequestBody UserDetail record) {
  37. UserDetail userDetail;
  38. try {
  39. userDetail = save(record);
  40. } catch (Exception e) {
  41. return MetaRestResult.returnError(e.getMessage());
  42. }
  43. return MetaRestResult.returnSuccess(userDetail);
  44. }
  45. //@PreAuthorize("hasRole('ADMIN')")
  46. @PostMapping("/all")
  47. public Page<UserDetail> all(@RequestBody PageQuery pageQuery) {
  48. return userDetailService.all(pageQuery);
  49. }
  50. @GetMapping("/get/{id}")
  51. public UserDetail get(@PathVariable Long id) {
  52. UserDetail userDetail = userDetailRepo.findById(id).orElse(null);
  53. if (Objects.isNull(userDetail)) {
  54. userDetail = new UserDetail();
  55. userDetail.setUserId(id);
  56. userDetailRepo.save(userDetail);
  57. }
  58. userDetail.setNftCount(userDetailRepo.findNftCountById(id));
  59. userDetail.setBuildCount(userDetailRepo.findBuildCountById(id));
  60. userDetail.setPlotCount(userDetailRepo.findPlotCountById(id));
  61. userDetail.setFansCount(userDetailRepo.findFansCountById(id));
  62. userDetail.setReikiCount(userDetailRepo.findReikiCountById(id));
  63. userDetail.setMedalCount(userDetailRepo.findMedalCountById(id));
  64. userDetail.setPersonalheatCount(userDetailRepo.findPersonalHeatCountById(id));
  65. return userDetail;
  66. }
  67. @GetMapping("/light/{userId}")
  68. public boolean light(@PathVariable Long userId) {
  69. UserDetail userDetail = userDetailRepo.findById(userId).orElse(null);
  70. if (Objects.isNull(userDetail)) {
  71. return false;
  72. }
  73. if(StringUtils.isNotBlank(userDetail.getAutograph())) {
  74. return true;
  75. }
  76. if(StringUtils.isNotBlank(userDetail.getBgpic())) {
  77. return true;
  78. }
  79. if(StringUtils.isNotBlank(userDetail.getBirthday())) {
  80. return true;
  81. }
  82. if(StringUtils.isNotBlank(userDetail.getBlood())) {
  83. return true;
  84. }
  85. if(StringUtils.isNotBlank(userDetail.getCompany())) {
  86. return true;
  87. }
  88. if(StringUtils.isNotBlank(userDetail.getConstellation())) {
  89. return true;
  90. }
  91. if(StringUtils.isNotBlank(userDetail.getHome())) {
  92. return true;
  93. }
  94. if(StringUtils.isNotBlank(userDetail.getMail())) {
  95. return true;
  96. }
  97. if(StringUtils.isNotBlank(userDetail.getNickname())) {
  98. return true;
  99. }
  100. if(StringUtils.isNotBlank(userDetail.getOccupation())) {
  101. return true;
  102. }
  103. if(StringUtils.isNotBlank(userDetail.getPic())) {
  104. return true;
  105. }
  106. if(StringUtils.isNotBlank(userDetail.getSchool())) {
  107. return true;
  108. }
  109. if(StringUtils.isNotBlank(userDetail.getSex())) {
  110. return true;
  111. }
  112. return false;
  113. }
  114. @GetMapping("/{userId}/metaQuery")
  115. public MetaRestResult<UserDetail> metaQuery(@PathVariable Long userId) {
  116. return MetaRestResult.returnSuccess(get(userId));
  117. }
  118. @PostMapping("/del/{id}")
  119. public void del(@PathVariable Long id) {
  120. userDetailRepo.softDelete(id);
  121. }
  122. @GetMapping("/excel")
  123. @ResponseBody
  124. public void excel(HttpServletResponse response, PageQuery pageQuery) throws IOException {
  125. List<UserDetail> data = all(pageQuery).getContent();
  126. ExcelUtils.export(response, data);
  127. }
  128. }