LampPoleController.java 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. package com.welampiot.controller;
  2. import com.welampiot.common.BaseResult;
  3. import com.welampiot.common.InterfaceResultEnum;
  4. import com.welampiot.dto.LampInfoDTO;
  5. import com.welampiot.dto.LampPoleDTO;
  6. import com.welampiot.dto.ScreenDTO;
  7. import com.welampiot.dto.WifiDTO;
  8. import com.welampiot.service.LampPoleService;
  9. import com.welampiot.service.LampService;
  10. import com.welampiot.service.ScreenService;
  11. import com.welampiot.service.WifiService;
  12. import com.welampiot.utils.ToolUtils;
  13. import com.welampiot.vo.LampPoleVO;
  14. import com.welampiot.vo.ListResponseVO;
  15. import com.welampiot.vo.ScreenDetailsVO;
  16. import com.welampiot.vo.ScreenVO;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.transaction.annotation.Transactional;
  19. import org.springframework.transaction.interceptor.TransactionAspectSupport;
  20. import org.springframework.web.bind.annotation.CrossOrigin;
  21. import org.springframework.web.bind.annotation.RequestMapping;
  22. import org.springframework.web.bind.annotation.RequestMethod;
  23. import org.springframework.web.bind.annotation.RestController;
  24. import javax.servlet.http.HttpServletRequest;
  25. import java.text.ParseException;
  26. import java.util.ArrayList;
  27. import java.util.List;
  28. /**
  29. * ClassName: LampPoleController
  30. * Package: com.welampiot.controller
  31. * Description:
  32. *
  33. * @Author: zhj_Start
  34. * @Create: 2023/4/14 - 14:35
  35. * @Version: v1.0
  36. */
  37. @RestController
  38. @CrossOrigin
  39. @RequestMapping("/lampPole")
  40. public class LampPoleController {
  41. @Autowired
  42. private ScreenService screenService;
  43. @Autowired
  44. private ToolUtils toolUtils;
  45. @Autowired
  46. private LampPoleService lampPoleService;
  47. @Autowired
  48. private WifiService wifiService;
  49. @Autowired
  50. private LampService lampService;
  51. /**
  52. * 获取屏幕详情
  53. * @param request
  54. * @return
  55. */
  56. @RequestMapping(value = "/screenDetails", method = RequestMethod.POST)
  57. public BaseResult<ScreenDTO> screenDetails(HttpServletRequest request){
  58. Integer id = request.getParameter("id") == null ? 0 : Integer.parseInt(request.getParameter("id"));
  59. Integer version = request.getParameter("version") == null ? 0 : Integer.parseInt(request.getParameter("version"));
  60. if (id == 0) return toolUtils.response(InterfaceResultEnum.PARAM_FAIL,version);
  61. ScreenDTO dto = new ScreenDTO();
  62. dto.setId(id);
  63. dto.setSectionList(toolUtils.getSectionList(request));
  64. ScreenDetailsVO vo = screenService.getScreenDetails(dto);
  65. if (vo == null) return toolUtils.response(InterfaceResultEnum.PARAM_FAIL,version);
  66. return BaseResult.success(vo);
  67. }
  68. @RequestMapping(value = "/nav",method = RequestMethod.POST)
  69. public BaseResult<LampInfoDTO> nav(HttpServletRequest request){
  70. Integer version = request.getParameter("version") == null ? 0 : Integer.parseInt(request.getParameter("version"));
  71. Integer devType = request.getParameter("devType") == null || request.getParameter("devType").length() == 0 ? null : Integer.parseInt(request.getParameter("devType"));
  72. Integer devId = request.getParameter("devId") == null || request.getParameter("devId").length() == 0 ? null : Integer.parseInt(request.getParameter("devId"));
  73. LampPoleVO lampPoleVO = new LampPoleVO();
  74. List sectionList = toolUtils.getSectionList(request);
  75. lampPoleVO.setSectionList(sectionList);
  76. if (devType != null) lampPoleVO.setDevType(devType);
  77. if (devId != null) lampPoleVO.setDevId(devId);
  78. List<LampPoleDTO> navByVO = lampPoleService.getNavByVO(lampPoleVO);
  79. ListResponseVO listResponseVO = new ListResponseVO();
  80. listResponseVO.setList(navByVO);
  81. return BaseResult.success(listResponseVO);
  82. }
  83. /**
  84. * 灯杆列表
  85. * @param request
  86. * @return
  87. */
  88. @RequestMapping(value = "/getlist",method = RequestMethod.POST)
  89. public BaseResult<LampInfoDTO> getList(HttpServletRequest request){
  90. Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
  91. Integer groupId = (Integer) toolUtils.getRequestContent(request,"groupId",1);
  92. List sectionList = toolUtils.getSectionList(request);
  93. ListResponseVO listResponseVO = new ListResponseVO();
  94. listResponseVO.setList(new ArrayList());
  95. listResponseVO.setTotal(1);
  96. return BaseResult.success();
  97. }
  98. /**
  99. * 添加编辑灯杆
  100. * @return
  101. */
  102. @Transactional
  103. @RequestMapping(value = "/save",method = RequestMethod.POST)
  104. public BaseResult<LampInfoDTO> save(LampPoleVO form,HttpServletRequest request){
  105. toolUtils.getSectionList(request);
  106. form.setCreateId(toolUtils.getUser().getId());
  107. BaseResult baseResult = null;
  108. if (form.getId() == null || form.getId() == 0){
  109. baseResult = lampPoleService.add(form);
  110. }else {
  111. baseResult = lampPoleService.update(form);
  112. }
  113. if (!baseResult.getCode().equals("0000")){
  114. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  115. }
  116. return baseResult;
  117. }
  118. /**
  119. * 查看灯杆详情
  120. * @return
  121. */
  122. @RequestMapping(value = "/details",method = RequestMethod.POST)
  123. public BaseResult details(HttpServletRequest request){
  124. Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
  125. Integer id = (Integer) toolUtils.getRequestContent(request,"id",1);
  126. if (id == null || id == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
  127. LampPoleDTO detailById = lampPoleService.getDetailById(id);
  128. // 灯控
  129. List<LampInfoDTO> lampPoleDetailListByLampPoleId = lampService.getLampPoleDetailListByLampPoleId(id);
  130. detailById.setLightDevList(lampPoleDetailListByLampPoleId);
  131. detailById.setBenchDevList(new ArrayList<>());
  132. detailById.setSolarDevList(new ArrayList<>());
  133. detailById.setLightStripList(new ArrayList<>());
  134. detailById.setLoopList(new ArrayList<>());
  135. detailById.setScreenList(new ArrayList<>());
  136. detailById.setSmartLockList(new ArrayList<>());
  137. detailById.setWaterImmersionList(new ArrayList<>());
  138. detailById.setVideoList(new ArrayList<>());
  139. detailById.setBroadcastList(new ArrayList<>());
  140. // 云盒
  141. WifiDTO wifiDTO = new WifiDTO();
  142. wifiDTO.setLampPoleId(id);
  143. WifiDTO detailByDTO = wifiService.getDetailByDTO(wifiDTO);
  144. detailById.setCloudDev(detailByDTO);
  145. return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,detailById);
  146. }
  147. /**
  148. * 删除灯杆
  149. * @return
  150. */
  151. @RequestMapping(value = "/del",method = RequestMethod.POST)
  152. public BaseResult del(HttpServletRequest request){
  153. Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
  154. String id = (String) toolUtils.getRequestContent(request,"id",2);
  155. if (id == null || id.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
  156. String[] split = id.split(",");
  157. for (String i:split) {
  158. lampPoleService.deleteById(Integer.parseInt(i));
  159. }
  160. return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version);
  161. }
  162. /**
  163. * 获取同一路段下的所有屏幕
  164. * @param request 灯杆id
  165. * @return 屏幕列表
  166. */
  167. @RequestMapping(value = "/screenList", method = RequestMethod.POST)
  168. public BaseResult<?> screenList(HttpServletRequest request) throws ParseException {
  169. Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
  170. Integer id = (Integer) toolUtils.getRequestContent(request,"id",1);
  171. if (id == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
  172. Integer sectionId = lampPoleService.getSectionIdByLampPoleId(id);
  173. if (sectionId == null || sectionId == 0) return toolUtils.response(InterfaceResultEnum.PARAM_FAIL,version);
  174. List<ScreenDTO> allScreenList = screenService.getAllScreenListBySectionId(sectionId);
  175. List<ScreenDTO> list = new ArrayList<>();
  176. allScreenList.forEach(dto -> {
  177. if (dto.getPlaying() == null) {
  178. dto.setPlaying("");
  179. }
  180. list.add(dto);
  181. });
  182. ScreenVO screenVO = new ScreenVO();
  183. screenVO.setList(list);
  184. return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,screenVO);
  185. }
  186. }