CaseController.java 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. package com.fdkankan.manage.controller;
  2. import cn.dev33.satoken.stp.StpUtil;
  3. import com.fdkankan.manage.common.ResultCode;
  4. import com.fdkankan.manage.common.ResultData;
  5. import com.fdkankan.manage.entity.*;
  6. import com.fdkankan.manage.exception.BusinessException;
  7. import com.fdkankan.manage.service.*;
  8. import com.fdkankan.manage.vo.request.CaseNumType;
  9. import com.fdkankan.manage.vo.request.CaseParam;
  10. import com.sun.corba.se.spi.oa.OADestroyed;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.web.bind.annotation.*;
  13. import java.util.ArrayList;
  14. import java.util.HashMap;
  15. import java.util.List;
  16. import java.util.stream.Collectors;
  17. /**
  18. * <p>
  19. * 前端控制器
  20. * </p>
  21. *
  22. * @author
  23. * @since 2024-12-04
  24. */
  25. @RestController
  26. @RequestMapping("/service/manage/case")
  27. public class CaseController {
  28. @Autowired
  29. ICaseService caseService;
  30. @Autowired
  31. ICaseNumService caseNumService;
  32. @Autowired
  33. IJySceneAuthService sceneAuthService;
  34. @Autowired
  35. IJySceneUserAuthService jySceneUserAuthService;
  36. @Autowired
  37. IJyUserService jyUserService;
  38. @Autowired
  39. IScenePlusService scenePlusService;
  40. @Autowired
  41. IJySceneAuthService jySceneAuthService;
  42. @PostMapping("/list")
  43. public ResultData pageList(@RequestBody CaseParam param){
  44. if(param.getIsShare() == 0){
  45. return ResultData.ok(caseService.pageList(param));
  46. }
  47. List<JySceneAuth> sceneAuths = sceneAuthService.getAllCase();
  48. List<Integer> caseIds = sceneAuths.stream().map(JySceneAuth::getCaseId).collect(Collectors.toList());
  49. JyUser jyUser = jyUserService.getBySysId(StpUtil.getLoginId());
  50. List<JySceneUserAuth> jySceneUserAuths = jySceneUserAuthService.getByJyUserId(jyUser.getId());
  51. List<Integer> caseIds2 = jySceneUserAuths.stream().map(JySceneUserAuth::getCaseId).collect(Collectors.toList());
  52. List<Integer> caseIdAll = new ArrayList<>();
  53. caseIdAll.addAll(caseIds);
  54. caseIdAll.addAll(caseIds2);
  55. param.setCaseIds(caseIdAll);
  56. return ResultData.ok(caseService.pageList(param));
  57. }
  58. @GetMapping("/sceneList")
  59. public ResultData sceneList(@RequestParam(required = false) Integer caseId){
  60. HashMap<Integer, CaseNumType> map = caseNumService.getCaseNumTypeByCaseId(caseId);
  61. return ResultData.ok(map.values());
  62. }
  63. @GetMapping("/sceneListHasAi")
  64. public ResultData sceneListHasAi(@RequestParam(required = false) Integer caseId){
  65. List<CaseNum> caseNums = caseNumService.getByCaseId(caseId);
  66. List<ScenePlus> collect = new ArrayList<>();
  67. if(!caseNums.isEmpty()){
  68. List<String> numList = caseNums.stream().map(CaseNum::getNum).collect(Collectors.toList());
  69. collect = scenePlusService.getByNumList(numList);
  70. }
  71. return ResultData.ok(collect);
  72. }
  73. @GetMapping("/getCaseByNum")
  74. public ResultData getCaseByNum(@RequestParam(required = false) String num){
  75. return ResultData.ok(caseService.getCaseByNum(num));
  76. }
  77. @PostMapping("/addOrUpdate")
  78. public ResultData addOrUpdate(@RequestBody CaseParam param){
  79. caseService.addOrUpdate(param);
  80. List<String> numList = new ArrayList<>();
  81. for (CaseNumType caseNumType : param.getSceneNumParam()) {
  82. if(!caseNumType.getNumList().isEmpty()){
  83. numList.addAll(caseNumType.getNumList());
  84. }
  85. }
  86. if(!numList.isEmpty()){
  87. jySceneAuthService.delByNumList(numList);
  88. }
  89. return ResultData.ok();
  90. }
  91. @PostMapping("/getCaseNumByRyId")
  92. public ResultData getCaseNumByRyId(@RequestBody CaseParam param){
  93. return ResultData.ok(jyUserService.getCaseNumByRyId(param));
  94. }
  95. @PostMapping("/del")
  96. public ResultData del(@RequestBody CaseParam param){
  97. if(param.getCaseId() == null){
  98. throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
  99. }
  100. caseService.removeById(param.getCaseId());
  101. return ResultData.ok();
  102. }
  103. }