MetaPlayerWearController.java 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. package com.izouma.nineth.web;
  2. import com.izouma.nineth.domain.MetaPlayerWear;
  3. import com.izouma.nineth.domain.MetaPlayerWearCount;
  4. import com.izouma.nineth.dto.MetaRestResult;
  5. import com.izouma.nineth.dto.PageQuery;
  6. import com.izouma.nineth.enums.MetaPlayerWearEnum;
  7. import com.izouma.nineth.exception.BusinessException;
  8. import com.izouma.nineth.repo.MetaPlayerWearRepo;
  9. import com.izouma.nineth.service.MetaPlayerWearService;
  10. import com.izouma.nineth.utils.ObjUtils;
  11. import com.izouma.nineth.utils.excel.ExcelUtils;
  12. import lombok.AllArgsConstructor;
  13. import org.springframework.data.domain.Page;
  14. import org.springframework.web.bind.annotation.*;
  15. import javax.servlet.http.HttpServletResponse;
  16. import java.io.IOException;
  17. import java.util.Arrays;
  18. import java.util.List;
  19. @RestController
  20. @RequestMapping("/metaPlayerWear")
  21. @AllArgsConstructor
  22. public class MetaPlayerWearController extends BaseController {
  23. private MetaPlayerWearService metaPlayerWearService;
  24. private MetaPlayerWearRepo metaPlayerWearRepo;
  25. //@PreAuthorize("hasRole('ADMIN')")
  26. @PostMapping("/save")
  27. public MetaPlayerWear save(@RequestBody MetaPlayerWear record) {
  28. if (record.getId() != null) {
  29. MetaPlayerWear orig = metaPlayerWearRepo.findById(record.getId()).orElseThrow(new BusinessException("无记录"));
  30. ObjUtils.merge(orig, record);
  31. return metaPlayerWearRepo.save(orig);
  32. }
  33. return metaPlayerWearRepo.save(record);
  34. }
  35. //@PreAuthorize("hasRole('ADMIN')")
  36. @PostMapping("/all")
  37. public Page<MetaPlayerWear> all(@RequestBody PageQuery pageQuery) {
  38. return metaPlayerWearService.all(pageQuery);
  39. }
  40. @GetMapping("/get/{id}")
  41. public MetaPlayerWear get(@PathVariable Long id) {
  42. return metaPlayerWearRepo.findById(id).orElseThrow(new BusinessException("无记录"));
  43. }
  44. @PostMapping("/del/{id}")
  45. public void del(@PathVariable Long id) {
  46. metaPlayerWearRepo.softDelete(id);
  47. }
  48. @GetMapping("/excel")
  49. @ResponseBody
  50. public void excel(HttpServletResponse response, PageQuery pageQuery) throws IOException {
  51. List<MetaPlayerWear> data = all(pageQuery).getContent();
  52. ExcelUtils.export(response, data);
  53. }
  54. @GetMapping("/{userId}/allWears")
  55. public MetaRestResult<MetaPlayerWearCount> allWears(@PathVariable Long userId) {
  56. MetaPlayerWearCount metaPlayerWearCount = new MetaPlayerWearCount();
  57. metaPlayerWearCount.setUserId(userId);
  58. try {
  59. Arrays.stream(MetaPlayerWearEnum.values()).forEach(metaPlayerWearEnum -> {
  60. List<MetaPlayerWear> metaPlayerWears = metaPlayerWearRepo.findAllByUserIdAndType(userId, metaPlayerWearEnum);
  61. switch (metaPlayerWearEnum) {
  62. case HEADDRESS:
  63. metaPlayerWearCount.setHeaddressList(metaPlayerWears);
  64. break;
  65. case CLOTHES:
  66. metaPlayerWearCount.setClothesList(metaPlayerWears);
  67. break;
  68. case TROUSERS:
  69. metaPlayerWearCount.setTrousersList(metaPlayerWears);
  70. break;
  71. case SHOES:
  72. metaPlayerWearCount.setShoesList(metaPlayerWears);
  73. break;
  74. case ACTION:
  75. metaPlayerWearCount.setActionList(metaPlayerWears);
  76. break;
  77. default:
  78. throw new BusinessException("不支持的服饰类型");
  79. }
  80. });
  81. } catch (Exception e) {
  82. return MetaRestResult.returnError(e.getMessage());
  83. }
  84. return MetaRestResult.returnSuccess(metaPlayerWearCount);
  85. }
  86. }