LampPoleController.java 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753
  1. package com.welampiot.controller;
  2. import com.welampiot.common.BaseResult;
  3. import com.welampiot.common.InterfaceResultEnum;
  4. import com.welampiot.dto.*;
  5. import com.welampiot.service.*;
  6. import com.welampiot.utils.ToolUtils;
  7. import com.welampiot.vo.*;
  8. import org.json.JSONArray;
  9. import org.json.JSONObject;
  10. import org.springframework.beans.BeanUtils;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.transaction.annotation.Transactional;
  13. import org.springframework.transaction.interceptor.TransactionAspectSupport;
  14. import org.springframework.web.bind.annotation.CrossOrigin;
  15. import org.springframework.web.bind.annotation.RequestMapping;
  16. import org.springframework.web.bind.annotation.RequestMethod;
  17. import org.springframework.web.bind.annotation.RestController;
  18. import javax.servlet.http.HttpServletRequest;
  19. import java.util.ArrayList;
  20. import java.util.List;
  21. /**
  22. * ClassName: LampPoleController
  23. * Package: com.welampiot.controller
  24. * Description:
  25. *
  26. * @Author: zhj_Start
  27. * @Create: 2023/4/14 - 14:35
  28. * @Version: v1.0
  29. */
  30. @RestController
  31. @CrossOrigin
  32. @RequestMapping("/lampPole")
  33. public class LampPoleController {
  34. @Autowired
  35. private ScreenService screenService;
  36. @Autowired
  37. private ToolUtils toolUtils;
  38. @Autowired
  39. private LampPoleService lampPoleService;
  40. @Autowired
  41. private WifiService wifiService;
  42. @Autowired
  43. private LampService lampService;
  44. @Autowired
  45. private EmergencyService emergencyService;
  46. @Autowired
  47. private ChargeService chargeService;
  48. @Autowired
  49. private EnvmonitorService envmonitorService;
  50. @Autowired
  51. private VideoMonitorService videoMonitorService;
  52. @Autowired
  53. private BroadcastService broadcastService;
  54. @Autowired
  55. private CableService cableService;
  56. @Autowired
  57. private BenchDevInfoService benchDevInfoService;
  58. @Autowired
  59. private WeatherRS485DevInfoService weatherRS485DevInfoService;
  60. /**
  61. * 获取屏幕详情
  62. * @param request
  63. * @return
  64. */
  65. @RequestMapping(value = "/screenDetails", method = RequestMethod.POST)
  66. public BaseResult<ScreenDTO> screenDetails(HttpServletRequest request){
  67. Integer id = request.getParameter("id") == null ? 0 : Integer.parseInt(request.getParameter("id"));
  68. Integer version = request.getParameter("version") == null ? 0 : Integer.parseInt(request.getParameter("version"));
  69. if (id == 0) return toolUtils.response(InterfaceResultEnum.PARAM_FAIL,version);
  70. ScreenDTO dto = new ScreenDTO();
  71. dto.setId(id);
  72. dto.setSectionList(toolUtils.getSectionList(request));
  73. ScreenDetailsVO vo = screenService.getScreenDetails(dto);
  74. if (vo == null) return toolUtils.response(InterfaceResultEnum.PARAM_FAIL,version);
  75. return BaseResult.success(vo);
  76. }
  77. @RequestMapping(value = "/nav",method = RequestMethod.POST)
  78. public BaseResult<LampInfoDTO> nav(HttpServletRequest request){
  79. Integer version = request.getParameter("version") == null ? 0 : Integer.parseInt(request.getParameter("version"));
  80. Integer devType = request.getParameter("devType") == null || request.getParameter("devType").length() == 0 ? null : Integer.parseInt(request.getParameter("devType"));
  81. Integer devId = request.getParameter("devId") == null || request.getParameter("devId").length() == 0 ? null : Integer.parseInt(request.getParameter("devId"));
  82. LampPoleVO lampPoleVO = new LampPoleVO();
  83. List sectionList = toolUtils.getSectionList(request);
  84. lampPoleVO.setSectionList(sectionList);
  85. if (devType != null) lampPoleVO.setDevType(devType);
  86. if (devId != null) lampPoleVO.setDevId(devId);
  87. List<LampPoleDTO> navByVO = lampPoleService.getNavByVO(lampPoleVO);
  88. ListResponseVO listResponseVO = new ListResponseVO();
  89. listResponseVO.setList(navByVO);
  90. return BaseResult.success(listResponseVO);
  91. }
  92. /**
  93. * 灯杆列表
  94. * @param request
  95. * @return
  96. */
  97. @RequestMapping(value = "/getlist",method = RequestMethod.POST)
  98. public BaseResult<LampInfoDTO> getList(HttpServletRequest request){
  99. Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
  100. Integer groupId = (Integer) toolUtils.getRequestContent(request,"groupId",1);
  101. List sectionList = toolUtils.getSectionList(request);
  102. ListResponseVO listResponseVO = new ListResponseVO();
  103. listResponseVO.setList(new ArrayList());
  104. listResponseVO.setTotal(1);
  105. return BaseResult.success();
  106. }
  107. /**
  108. * 添加编辑灯杆
  109. * @return
  110. */
  111. @Transactional
  112. @RequestMapping(value = "/save",method = RequestMethod.POST)
  113. public BaseResult<LampInfoDTO> save(LampPoleVO form,HttpServletRequest request){
  114. toolUtils.getSectionList(request);
  115. form.setCreateId(toolUtils.getUser().getId());
  116. BaseResult baseResult = null;
  117. if (form.getId() == null || form.getId() == 0){
  118. baseResult = lampPoleService.add(form);
  119. }else {
  120. baseResult = lampPoleService.update(form);
  121. }
  122. if (!baseResult.getCode().equals("0000")){
  123. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  124. }
  125. return baseResult;
  126. }
  127. /**
  128. * 查看灯杆详情
  129. * @return
  130. */
  131. @RequestMapping(value = "/details",method = RequestMethod.POST)
  132. public BaseResult details(HttpServletRequest request){
  133. Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
  134. Integer id = (Integer) toolUtils.getRequestContent(request,"id",1);
  135. if (id == null || id == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
  136. LampPoleDTO detailById = lampPoleService.getDetailById(id);
  137. // 灯控
  138. List<LampInfoDTO> lampPoleDetailListByLampPoleId = lampService.getLampPoleDetailListByLampPoleId(id);
  139. detailById.setLightDevList(lampPoleDetailListByLampPoleId);
  140. detailById.setBenchDevList(new ArrayList<>());
  141. detailById.setSolarDevList(new ArrayList<>());
  142. detailById.setLightStripList(new ArrayList<>());
  143. detailById.setLoopList(new ArrayList<>());
  144. detailById.setScreenList(new ArrayList<>());
  145. detailById.setSmartLockList(new ArrayList<>());
  146. detailById.setWaterImmersionList(new ArrayList<>());
  147. detailById.setVideoList(new ArrayList<>());
  148. detailById.setBroadcastList(new ArrayList<>());
  149. // 云盒
  150. WifiDTO wifiDTO = new WifiDTO();
  151. wifiDTO.setLampPoleId(id);
  152. WifiDTO detailByDTO = wifiService.getDetailByDTO(wifiDTO);
  153. detailById.setCloudDev(detailByDTO);
  154. return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,detailById);
  155. }
  156. /**
  157. * 删除灯杆
  158. * @return
  159. */
  160. @RequestMapping(value = "/del",method = RequestMethod.POST)
  161. public BaseResult del(HttpServletRequest request){
  162. Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
  163. String id = (String) toolUtils.getRequestContent(request,"id",2);
  164. if (id == null || id.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
  165. String[] split = id.split(",");
  166. for (String i:split) {
  167. lampPoleService.deleteById(Integer.parseInt(i));
  168. }
  169. return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version);
  170. }
  171. /**
  172. * 获取同一路段下的所有屏幕
  173. * @param request 灯杆id
  174. * @return 屏幕列表
  175. */
  176. @RequestMapping(value = "/screenList", method = RequestMethod.POST)
  177. public BaseResult<?> screenList(HttpServletRequest request) {
  178. Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
  179. Integer id = (Integer) toolUtils.getRequestContent(request,"id",1);
  180. if (id == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
  181. Integer sectionId = lampPoleService.getSectionIdByLampPoleId(id);
  182. if (sectionId == null || sectionId == 0) return toolUtils.response(InterfaceResultEnum.PARAM_FAIL,version);
  183. List<ScreenDTO> allScreenList = screenService.getAllScreenListBySectionId(sectionId);
  184. List<ScreenDTO> list = new ArrayList<>();
  185. allScreenList.forEach(dto -> {
  186. if (dto.getPlaying() == null) {
  187. dto.setPlaying("");
  188. }
  189. list.add(dto);
  190. });
  191. ScreenVO screenVO = new ScreenVO();
  192. screenVO.setList(list);
  193. return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,screenVO);
  194. }
  195. /**
  196. * 灯杆相关数据
  197. * @param request 灯杆id,设备类型
  198. * @return 灯杆相关数据
  199. */
  200. @RequestMapping(value = "/lampPoleData", method = RequestMethod.POST)
  201. public BaseResult<?> lampPoleData(HttpServletRequest request) {
  202. Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
  203. Integer id = (Integer) toolUtils.getRequestContent(request,"id",1);
  204. Integer type = (Integer) toolUtils.getRequestContent(request,"type",1);
  205. if (id == 0 || type == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
  206. LampPoleDataVO lampPoleDataVO = new LampPoleDataVO();
  207. if (type == 2) { // WIFI
  208. WifiDTO wifiDTO = wifiService.getWifiInfoByLampPoleId(id);
  209. lampPoleDataVO.setWifiDev(wifiDTO);
  210. } else if (type == 4) { // 屏幕
  211. ScreenDTO screenDTO = screenService.getScreenByLampPoleId(id);
  212. lampPoleDataVO.setScreenDev(screenDTO);
  213. } else if (type == 5) { // 一键报警
  214. EmergencyDTO emergencyDTO = emergencyService.getEmergencyByLampPoleId(id);
  215. lampPoleDataVO.setEmergencyDev(emergencyDTO);
  216. } else if (type == 6) { // 充电桩
  217. ChargeDTO chargeDTO = chargeService.getChargeInfoByLampPoleId(id);
  218. lampPoleDataVO.setChargeDev(chargeDTO);
  219. } else if (type == 7) { // 气象站
  220. EnvmonitorDTO envmonitorDTO = envmonitorService.getEnvmonitorByLampPoleId(id);
  221. lampPoleDataVO.setWeatherDev(envmonitorDTO);
  222. }
  223. return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,lampPoleDataVO);
  224. }
  225. /**
  226. * 获取灯杆下灯控列表
  227. * @param request 灯杆id
  228. * @return 灯杆下灯控列表
  229. */
  230. @RequestMapping(value = "/lampList", method = RequestMethod.POST)
  231. public BaseResult<?> lampList(HttpServletRequest request) {
  232. Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
  233. Integer id = (Integer) toolUtils.getRequestContent(request,"id",1);
  234. if (id == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
  235. List<LampInfoDTO> lampList = lampService.getLampListByLampPoleId(id);
  236. LampInfoVO lampInfoVO = new LampInfoVO();
  237. lampInfoVO.setList(lampList);
  238. return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,lampInfoVO);
  239. }
  240. /**
  241. * 删除灯杆组件设备
  242. * @param request 设备id,设备类型
  243. * @return 删除灯杆组件设备
  244. */
  245. @RequestMapping(value = "/delLampPoleDev", method = RequestMethod.POST)
  246. public BaseResult<?> delLampPoleDev(HttpServletRequest request) {
  247. Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
  248. String devId = (String) toolUtils.getRequestContent(request,"devId",2);
  249. Integer type = (Integer) toolUtils.getRequestContent(request,"type",1);
  250. if (devId.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
  251. String[] split = devId.split(",");
  252. if (type == 0) { // 路灯
  253. for (String s : split) {
  254. Integer id = Integer.valueOf(s);
  255. Integer lampPoleId = lampService.getLampPoleIdByLampId(id);
  256. lampService.deleteById(id);
  257. Integer lampCount = lampService.getLampCountByLampPoleId(lampPoleId);
  258. if (lampCount == 0) {
  259. LampPoleDTO dto = lampPoleService.getLampPoleDTOById(lampPoleId);
  260. String devType = dto.getDevType();
  261. toolUtils.updateLampPoleDevType(devType,0,lampPoleId);
  262. }
  263. }
  264. } else if (type == 1) { // 摄像头
  265. for (String s : split) {
  266. Integer id = Integer.valueOf(s);
  267. Integer lampPoleId = videoMonitorService.getLampPoleIdByVideoMonitorId(id);
  268. videoMonitorService.deleteVideoMonitorById(id);
  269. Integer lampCount = videoMonitorService.getVideoCountByLampPoleId(lampPoleId);
  270. if (lampCount == 0) {
  271. LampPoleDTO dto = lampPoleService.getLampPoleDTOById(lampPoleId);
  272. String devType = dto.getDevType();
  273. toolUtils.updateLampPoleDevType(devType,1,lampPoleId);
  274. }
  275. }
  276. } else if (type == 4) { // LED屏
  277. for (String s : split) {
  278. Integer id = Integer.valueOf(s);
  279. Integer lampPoleId = screenService.getLampPoleIdByScreenId(id);
  280. screenService.deleteScreenById(id);
  281. Integer lampCount = screenService.getScreenCountByLampPoleId(lampPoleId);
  282. if (lampCount == 0) {
  283. LampPoleDTO dto = lampPoleService.getLampPoleDTOById(lampPoleId);
  284. String devType = dto.getDevType();
  285. toolUtils.updateLampPoleDevType(devType,4,lampPoleId);
  286. }
  287. }
  288. } else if (type == 5) { // 一键报警
  289. for (String s : split) {
  290. Integer id = Integer.valueOf(s);
  291. Integer lampPoleId = emergencyService.getLampPoleIdByEmergencyId(id);
  292. emergencyService.deleteEmergencyById(id);
  293. Integer lampCount = emergencyService.getEmergencyCountByLampPoleId(lampPoleId);
  294. if (lampCount == 0) {
  295. LampPoleDTO dto = lampPoleService.getLampPoleDTOById(lampPoleId);
  296. String devType = dto.getDevType();
  297. toolUtils.updateLampPoleDevType(devType,5,lampPoleId);
  298. }
  299. }
  300. } else if (type == 6) { // 充电桩
  301. for (String s : split) {
  302. Integer id = Integer.valueOf(s);
  303. Integer lampPoleId = chargeService.getLampPoleIdByChargeId(id);
  304. chargeService.deleteChargeById(id);
  305. Integer lampCount = chargeService.getChargeCountByLampPoleId(lampPoleId);
  306. if (lampCount == 0) {
  307. LampPoleDTO dto = lampPoleService.getLampPoleDTOById(lampPoleId);
  308. String devType = dto.getDevType();
  309. toolUtils.updateLampPoleDevType(devType,6,lampPoleId);
  310. }
  311. }
  312. } else if (type == 7) { // 气象站
  313. for (String s : split) {
  314. Integer id = Integer.valueOf(s);
  315. Integer lampPoleId = envmonitorService.getLampPoleIdByEnvmonitorId(id);
  316. envmonitorService.deleteEnvmonitorById(id);
  317. Integer lampCount = envmonitorService.getEnvmonitorCountByLampPoleId(lampPoleId);
  318. if (lampCount == 0) {
  319. LampPoleDTO dto = lampPoleService.getLampPoleDTOById(lampPoleId);
  320. String devType = dto.getDevType();
  321. toolUtils.updateLampPoleDevType(devType,7,lampPoleId);
  322. }
  323. }
  324. } else if (type == 9) { // 广播音柱
  325. for (String s : split) {
  326. Integer id = Integer.valueOf(s);
  327. BroadcastDTO dto = broadcastService.getBroadcastById(id);
  328. broadcastService.deleteBroadcastById(id);
  329. Integer lampCount = broadcastService.getBroadcastCountByLampPoleId(dto.getLampPoleId());
  330. if (lampCount == 0) {
  331. LampPoleDTO dto1 = lampPoleService.getLampPoleDTOById(dto.getLampPoleId());
  332. String devType = dto1.getDevType();
  333. toolUtils.updateLampPoleDevType(devType,9,dto.getLampPoleId());
  334. }
  335. }
  336. } else if (type == 11) { // 电缆
  337. for (String s : split) {
  338. Integer id = Integer.valueOf(s);
  339. CableDTO cableDTO = cableService.getCableById(id);
  340. cableService.deleteCableById(id);
  341. Integer lampCount = cableService.getCableCountByLampPoleId(cableDTO.getLampPoleId());
  342. if (lampCount == 0) {
  343. LampPoleDTO dto = lampPoleService.getLampPoleDTOById(cableDTO.getLampPoleId());
  344. String devType = dto.getDevType();
  345. toolUtils.updateLampPoleDevType(devType,11,cableDTO.getLampPoleId());
  346. }
  347. }
  348. } else if (type == 12) { // 太阳能板凳
  349. for (String s : split) {
  350. Integer id = Integer.valueOf(s);
  351. Integer lampPoleId = benchDevInfoService.getLampPoleIdByBenchId(id);
  352. benchDevInfoService.deleteBenchById(id);
  353. Integer lampCount = benchDevInfoService.getBenchCountByLampPoleId(lampPoleId);
  354. if (lampCount == 0) {
  355. LampPoleDTO dto = lampPoleService.getLampPoleDTOById(lampPoleId);
  356. String devType = dto.getDevType();
  357. toolUtils.updateLampPoleDevType(devType,12,lampPoleId);
  358. }
  359. }
  360. }
  361. return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version);
  362. }
  363. /**
  364. * 编辑灯杆组件
  365. * @param request 设备id,设备类型
  366. * @return 编辑灯杆组件
  367. */
  368. @RequestMapping(value = "/updateLampPoleDev", method = RequestMethod.POST)
  369. public BaseResult<?> updateLampPoleDev(HttpServletRequest request) {
  370. Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
  371. Integer devId = (Integer) toolUtils.getRequestContent(request,"devId",1);
  372. Integer lampPoleId = (Integer) toolUtils.getRequestContent(request,"lampPoleId",1);
  373. Integer type = (Integer) toolUtils.getRequestContent(request,"type",1);
  374. if (lampPoleId == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
  375. String installDate = (String) toolUtils.getRequestContent(request,"installDate",2);
  376. String expirationDate = (String) toolUtils.getRequestContent(request,"expirationDate",2);
  377. if (type == 4) { // LED屏
  378. String model = (String) toolUtils.getRequestContent(request,"model",2);
  379. String num = (String) toolUtils.getRequestContent(request,"num",2);
  380. String resole = (String) toolUtils.getRequestContent(request,"resole",2);
  381. Integer role = (Integer) toolUtils.getRequestContent(request,"role",1);
  382. Integer powerModel = (Integer) toolUtils.getRequestContent(request,"powerModel",1);
  383. Integer comModel = (Integer) toolUtils.getRequestContent(request,"comModel",1);
  384. Integer maxLight = (Integer) toolUtils.getRequestContent(request,"maxLight",1);
  385. Integer width = (Integer) toolUtils.getRequestContent(request,"width",1);
  386. Integer height = (Integer) toolUtils.getRequestContent(request,"height",1);
  387. if (model.length() == 0 || num.length() == 0 || resole.length() == 0)
  388. return toolUtils.response(InterfaceResultEnum.LACK_NEED_PARAM,version);
  389. if (width == 0 || height == 0 || maxLight == 0)
  390. return toolUtils.response(InterfaceResultEnum.LACK_NEED_PARAM,version);
  391. ScreenDTO screenDTO = new ScreenDTO();
  392. screenDTO.setInstallDate(installDate);
  393. screenDTO.setExpirationDate(expirationDate);
  394. screenDTO.setModel(model);
  395. screenDTO.setNum(num);
  396. screenDTO.setResolve(resole);
  397. screenDTO.setRole(role);
  398. screenDTO.setPowerModel(powerModel);
  399. screenDTO.setComModel(comModel);
  400. screenDTO.setMaxLight(maxLight);
  401. screenDTO.setWidth(width);
  402. screenDTO.setHeight(height);
  403. if (devId == 0) {
  404. screenDTO.setLampPoleId(lampPoleId);
  405. ScreenDTO dto = new ScreenDTO();
  406. dto.setNum(num);
  407. dto.setLampPoleId(lampPoleId);
  408. if (screenService.checkScreenData(dto) > 0)
  409. return toolUtils.response(InterfaceResultEnum.SCREEN_NUM_UNIQUE_ERROR,version);
  410. screenService.updateLampPoleScreenData(screenDTO);
  411. } else {
  412. screenDTO.setId(devId);
  413. ScreenDTO dto = new ScreenDTO();
  414. dto.setNum(num);
  415. dto.setId(devId);
  416. if (screenService.checkScreenData(dto) > 0)
  417. return toolUtils.response(InterfaceResultEnum.SCREEN_NUM_UNIQUE_ERROR,version);
  418. screenService.updateLampPoleScreenData(screenDTO);
  419. }
  420. } else if (type == 5) { // 一键报警
  421. Integer devType = (Integer) toolUtils.getRequestContent(request,"devType",1);
  422. String model = (String) toolUtils.getRequestContent(request,"model",2);
  423. String num = (String) toolUtils.getRequestContent(request,"num",2);
  424. String remarks = (String) toolUtils.getRequestContent(request,"remarks",2);
  425. if (model.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_NEED_PARAM,version);
  426. if (devType != 2) {
  427. if (num.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_NEED_PARAM,version);
  428. }
  429. EmergencyDTO emergencyDTO = new EmergencyDTO();
  430. emergencyDTO.setDevType(devType);
  431. emergencyDTO.setModel(model);
  432. emergencyDTO.setNum(num);
  433. emergencyDTO.setRemarks(remarks);
  434. emergencyDTO.setExpirationDate(expirationDate);
  435. emergencyDTO.setInstallDate(installDate);
  436. if (devId == 0) {
  437. emergencyDTO.setLampPoleId(lampPoleId);
  438. EmergencyDTO dto = new EmergencyDTO();
  439. dto.setLampPoleId(lampPoleId);
  440. EmergencyDTO emergency = emergencyService.getEmergencyByLampPoleId(lampPoleId);
  441. dto.setSectionId(emergency.getSectionId());
  442. dto.setModel(model);
  443. if (emergencyService.checkEmergencyData(dto) > 0)
  444. return toolUtils.response(InterfaceResultEnum.EMERGENCY_MODEL_UNIQUE_ERROR,version);
  445. if (devType != 2) {
  446. dto = new EmergencyDTO();
  447. dto.setLampPoleId(lampPoleId);
  448. dto.setNum(num);
  449. if (emergencyService.checkEmergencyData(dto) > 0)
  450. return toolUtils.response(InterfaceResultEnum.EMERGENCY_NUM_UNIQUE_ERROR,version);
  451. }
  452. emergencyService.updateLampPoleEmergencyData(emergencyDTO);
  453. } else {
  454. emergencyDTO.setDevId(devId);
  455. EmergencyDTO dto = new EmergencyDTO();
  456. dto.setId(devId);
  457. Integer sectionId = emergencyService.getEmergencySectionIdById(devId);
  458. dto.setSectionId(sectionId);
  459. dto.setModel(model);
  460. if (emergencyService.checkEmergencyData(dto) > 0)
  461. return toolUtils.response(InterfaceResultEnum.EMERGENCY_MODEL_UNIQUE_ERROR,version);
  462. if (devType != 2) {
  463. dto = new EmergencyDTO();
  464. dto.setLampPoleId(lampPoleId);
  465. dto.setNum(num);
  466. if (emergencyService.checkEmergencyData(dto) > 0)
  467. return toolUtils.response(InterfaceResultEnum.EMERGENCY_NUM_UNIQUE_ERROR,version);
  468. }
  469. emergencyService.updateLampPoleEmergencyData(emergencyDTO);
  470. }
  471. } else if (type == 6) { // 充电桩
  472. Integer model = (Integer) toolUtils.getRequestContent(request,"model",1);
  473. Integer power = (Integer) toolUtils.getRequestContent(request,"power",1);
  474. Integer chargeModel = (Integer) toolUtils.getRequestContent(request,"chargeModel",1);
  475. String num = (String) toolUtils.getRequestContent(request,"num",2);
  476. if (num.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_NEED_PARAM,version);
  477. ChargeDTO chargeDTO = new ChargeDTO();
  478. chargeDTO.setModel(model);
  479. chargeDTO.setNum(num);
  480. chargeDTO.setPower(power);
  481. chargeDTO.setChargeModel(chargeModel);
  482. chargeDTO.setExpirationDate(expirationDate);
  483. chargeDTO.setInstallDate(installDate);
  484. if (devId == 0) {
  485. chargeDTO.setLampPoleId(lampPoleId);
  486. ChargeDTO dto = new ChargeDTO();
  487. dto.setLampPoleId(lampPoleId);
  488. dto.setNum(num);
  489. if (chargeService.checkChargeData(dto) > 0)
  490. return toolUtils.response(InterfaceResultEnum.CHARGE_NUM_UNIQUE_ERROR,version);
  491. chargeService.updateLampPoleChargeData(chargeDTO);
  492. } else {
  493. chargeDTO.setId(devId);
  494. ChargeDTO dto = new ChargeDTO();
  495. dto.setId(devId);
  496. dto.setNum(num);
  497. if (chargeService.checkChargeData(dto) > 0)
  498. return toolUtils.response(InterfaceResultEnum.CHARGE_NUM_UNIQUE_ERROR,version);
  499. chargeService.updateLampPoleChargeData(chargeDTO);
  500. }
  501. } else if (type == 7) { // 气象站
  502. Integer devType = (Integer) toolUtils.getRequestContent(request,"devType",1);
  503. Integer pramType = (Integer) toolUtils.getRequestContent(request,"pramType",1);
  504. Integer rate = (Integer) toolUtils.getRequestContent(request,"rate",1);
  505. Integer netType = (Integer) toolUtils.getRequestContent(request,"netType",1);
  506. Integer mp = (Integer) toolUtils.getRequestContent(request,"mp",1);
  507. String model = (String) toolUtils.getRequestContent(request,"model",2);
  508. String address = (String) toolUtils.getRequestContent(request,"address",2);
  509. String devList = (String) toolUtils.getRequestContent(request,"devList",2);
  510. if (address.length() == 0 || model.length() == 0)
  511. return toolUtils.response(InterfaceResultEnum.LACK_NEED_PARAM,version);
  512. if (devType == 9) {
  513. if (mp == 0) return toolUtils.response(InterfaceResultEnum.LACK_NEED_PARAM,version);
  514. }
  515. if (netType == 1) {
  516. if (devList.length() == 0)
  517. return toolUtils.response(InterfaceResultEnum.LACK_NEED_PARAM,version);
  518. JSONArray jsonArray = new JSONArray(devList);
  519. for (int i = 0; i < jsonArray.length();i ++) {
  520. JSONObject jsonObject = jsonArray.getJSONObject(i);
  521. int address1 = jsonObject.getInt("address");
  522. int devId1 = jsonObject.getInt("devId");
  523. WeatherRS485DevInfoDTO weatherRS485DevInfoDTO = new WeatherRS485DevInfoDTO();
  524. weatherRS485DevInfoDTO.setAddress(address1);
  525. weatherRS485DevInfoDTO.setDevId(devId1);
  526. weatherRS485DevInfoService.addWeatherRS485DevInfoData(weatherRS485DevInfoDTO);
  527. }
  528. }
  529. EnvmonitorDTO envmonitorDTO = new EnvmonitorDTO();
  530. envmonitorDTO.setDevType(devType);
  531. envmonitorDTO.setPramType(pramType);
  532. envmonitorDTO.setRate(rate);
  533. envmonitorDTO.setNetType(netType);
  534. envmonitorDTO.setMp(mp);
  535. envmonitorDTO.setModel(model);
  536. envmonitorDTO.setAddress(address);
  537. envmonitorDTO.setExpirationDate(expirationDate);
  538. envmonitorDTO.setInstallDate(installDate);
  539. if (devId == 0) {
  540. envmonitorDTO.setLampPoleId(lampPoleId);
  541. EnvmonitorDTO envmonitor = envmonitorService.getEnvmonitorByLampPoleId(lampPoleId);
  542. Integer sectionId = envmonitor.getSectionId();
  543. EnvmonitorDTO dto = new EnvmonitorDTO();
  544. dto.setLampPoleId(lampPoleId);
  545. dto.setModel(model);
  546. dto.setSectionId(sectionId);
  547. if (envmonitorService.checkEnvmonitorData(dto) > 0)
  548. return toolUtils.response(InterfaceResultEnum.ENVMONITOR_NAME_UNIQUE_ERROR,version);
  549. envmonitorService.updateLampPoleEnvmonitorData(envmonitorDTO);
  550. } else {
  551. envmonitorDTO.setId(devId);
  552. EnvmonitorDTO envmonitor = envmonitorService.getEnvmonitorByLampPoleId(lampPoleId);
  553. Integer sectionId = envmonitor.getSectionId();
  554. EnvmonitorDTO dto = new EnvmonitorDTO();
  555. dto.setId(devId);
  556. dto.setModel(model);
  557. dto.setSectionId(sectionId);
  558. if (envmonitorService.checkEnvmonitorData(dto) > 0)
  559. return toolUtils.response(InterfaceResultEnum.ENVMONITOR_NAME_UNIQUE_ERROR,version);
  560. envmonitorService.updateLampPoleEnvmonitorData(envmonitorDTO);
  561. }
  562. } else if (type == 9) { // 广播音柱
  563. Integer devType = (Integer) toolUtils.getRequestContent(request,"devType",1);
  564. String address = (String) toolUtils.getRequestContent(request,"address",2);
  565. String name = (String) toolUtils.getRequestContent(request,"name",2);
  566. if (name.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_NEED_PARAM,version);
  567. if (devType == 0) {
  568. if (address.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_NEED_PARAM,version);
  569. }
  570. BroadcastDTO broadcastDTO = new BroadcastDTO();
  571. broadcastDTO.setType(devType);
  572. broadcastDTO.setAddress(address);
  573. broadcastDTO.setName(name);
  574. broadcastDTO.setExpirationDate(expirationDate);
  575. broadcastDTO.setInstallDate(installDate);
  576. if (devId == 0) {
  577. broadcastDTO.setLampPoleId(lampPoleId);
  578. BroadcastDTO dto = new BroadcastDTO();
  579. dto.setLampPoleId(lampPoleId);
  580. BroadcastDTO broadcast = broadcastService.getBroadcastDTOByLampPoleId(lampPoleId);
  581. dto.setSectionId(broadcast.getSectionId());
  582. dto.setName(name);
  583. if (broadcastService.checkBroadcastData(dto) > 0)
  584. return toolUtils.response(InterfaceResultEnum.BROADCAST_NAME_UNIQUE_ERROR,version);
  585. if (devType == 0) {
  586. dto = new BroadcastDTO();
  587. dto.setLampPoleId(lampPoleId);
  588. dto.setAddress(address);
  589. if (broadcastService.checkBroadcastData(dto) > 0)
  590. return toolUtils.response(InterfaceResultEnum.BROADCAST_ADDRESS_UNIQUE_ERROR,version);
  591. }
  592. broadcastService.updateLampPoleBroadcastData(broadcastDTO);
  593. } else {
  594. broadcastDTO.setId(devId);
  595. BroadcastDTO dto = new BroadcastDTO();
  596. dto.setId(devId);
  597. BroadcastDTO broadcast = broadcastService.getBroadcastById(devId);
  598. dto.setSectionId(broadcast.getSectionId());
  599. dto.setName(name);
  600. if (broadcastService.checkBroadcastData(dto) > 0)
  601. return toolUtils.response(InterfaceResultEnum.BROADCAST_NAME_UNIQUE_ERROR,version);
  602. if (devType == 0) {
  603. dto = new BroadcastDTO();
  604. dto.setId(devId);
  605. dto.setAddress(address);
  606. if (broadcastService.checkBroadcastData(dto) > 0)
  607. return toolUtils.response(InterfaceResultEnum.BROADCAST_ADDRESS_UNIQUE_ERROR,version);
  608. }
  609. broadcastService.updateLampPoleBroadcastData(broadcastDTO);
  610. }
  611. } else if (type == 10) { // 云盒
  612. Integer model = (Integer) toolUtils.getRequestContent(request,"model",1);
  613. String sn = (String) toolUtils.getRequestContent(request,"sn",2);
  614. if (sn.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_NEED_PARAM,version);
  615. String remark1 = (String) toolUtils.getRequestContent(request,"remark1",2);
  616. String remark2 = (String) toolUtils.getRequestContent(request,"remark2",2);
  617. String remark3 = (String) toolUtils.getRequestContent(request,"remark3",2);
  618. String remark4 = (String) toolUtils.getRequestContent(request,"remark4",2);
  619. String remark5 = (String) toolUtils.getRequestContent(request,"remark5",2);
  620. String remark6 = (String) toolUtils.getRequestContent(request,"remark6",2);
  621. WifiDTO wifiDTO = new WifiDTO();
  622. wifiDTO.setExpirationDate(expirationDate);
  623. wifiDTO.setInstallDate(installDate);
  624. wifiDTO.setModel(model);
  625. wifiDTO.setSn(sn);
  626. wifiDTO.setRemark1(remark1);
  627. wifiDTO.setRemark2(remark2);
  628. wifiDTO.setRemark3(remark3);
  629. wifiDTO.setRemark4(remark4);
  630. wifiDTO.setRemark5(remark5);
  631. wifiDTO.setRemark6(remark6);
  632. if (devId == 0) {
  633. wifiDTO.setLampPoleId(lampPoleId);
  634. WifiDTO dto = new WifiDTO();
  635. dto.setLampPoleId(lampPoleId);
  636. dto.setSn(sn);
  637. if (wifiService.checkWifiData(dto) > 0)
  638. return toolUtils.response(InterfaceResultEnum.CLOUD_BOX_SN_UNIQUE_ERROR,version);
  639. wifiService.updateWifiByLampPoleId(wifiDTO);
  640. } else {
  641. wifiDTO.setId(devId);
  642. WifiDTO dto = new WifiDTO();
  643. dto.setId(devId);
  644. dto.setSn(sn);
  645. if (wifiService.checkWifiData(dto) > 0)
  646. return toolUtils.response(InterfaceResultEnum.CLOUD_BOX_SN_UNIQUE_ERROR,version);
  647. wifiService.updateWifiByLampPoleId(wifiDTO);
  648. }
  649. } else if (type == 11) { // 电缆
  650. Integer devType = (Integer) toolUtils.getRequestContent(request,"devType",1);
  651. String address = (String) toolUtils.getRequestContent(request,"address",2);
  652. String name = (String) toolUtils.getRequestContent(request,"name",2);
  653. if (name.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_NEED_PARAM,version);
  654. if (address.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_NEED_PARAM,version);
  655. CableDTO cableDTO = new CableDTO();
  656. cableDTO.setType(devType);
  657. cableDTO.setAddress(address);
  658. cableDTO.setName(name);
  659. cableDTO.setExpirationDate(expirationDate);
  660. cableDTO.setInstallDate(installDate);
  661. if (devId == 0) {
  662. cableDTO.setLampPoleId(lampPoleId);
  663. CableDTO dto = new CableDTO();
  664. dto.setLampPoleId(lampPoleId);
  665. CableDTO cable = cableService.getCableByLampPoleId(lampPoleId);
  666. dto.setSectionId(cable.getSectionId());
  667. dto.setName(name);
  668. if (cableService.checkCableData(dto) > 0)
  669. return toolUtils.response(InterfaceResultEnum.CABLE_NAME_UNIQUE_ERROR,version);
  670. dto = new CableDTO();
  671. dto.setLampPoleId(lampPoleId);
  672. dto.setAddress(address);
  673. if (cableService.checkCableData(dto) > 0)
  674. return toolUtils.response(InterfaceResultEnum.CABLE_ADDRESS_UNIQUE_ERROR,version);
  675. cableService.updateLampPoleCableData(cableDTO);
  676. } else {
  677. cableDTO.setId(devId);
  678. CableDTO dto = new CableDTO();
  679. dto.setId(devId);
  680. CableDTO cable = cableService.getCableByLampPoleId(devId);
  681. dto.setSectionId(cable.getSectionId());
  682. dto.setName(name);
  683. if (cableService.checkCableData(dto) > 0)
  684. return toolUtils.response(InterfaceResultEnum.CABLE_NAME_UNIQUE_ERROR,version);
  685. dto = new CableDTO();
  686. dto.setId(devId);
  687. dto.setAddress(address);
  688. if (cableService.checkCableData(dto) > 0)
  689. return toolUtils.response(InterfaceResultEnum.CABLE_ADDRESS_UNIQUE_ERROR,version);
  690. cableService.updateLampPoleCableData(cableDTO);
  691. }
  692. }
  693. return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version);
  694. }
  695. /**
  696. * 获取灯杆方向图标信息
  697. * @param request id
  698. * @return 获取灯杆方向图标信息
  699. */
  700. @RequestMapping(value = "getLampPoleIcon", method = RequestMethod.POST)
  701. public BaseResult<?> getLampPoleIcon(HttpServletRequest request) {
  702. Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
  703. Integer id = (Integer) toolUtils.getRequestContent(request,"id",1);
  704. if (id == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
  705. LampPoleDTO lampPoleDTO = lampPoleService.getLampPoleDTOById(id);
  706. if (lampPoleDTO == null) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
  707. LampPoleVO lampPoleVO = new LampPoleVO();
  708. BeanUtils.copyProperties(lampPoleDTO,lampPoleVO);
  709. return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,lampPoleVO);
  710. }
  711. /**
  712. * 设置灯杆方向图标
  713. * @param request id
  714. * @return 设置灯杆方向图标
  715. */
  716. @RequestMapping(value = "setLampPoleIcon", method = RequestMethod.POST)
  717. public BaseResult<?> setLampPoleIcon(HttpServletRequest request) {
  718. Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
  719. Integer id = (Integer) toolUtils.getRequestContent(request,"id",1);
  720. Integer dir = (Integer) toolUtils.getRequestContent(request,"dir",1);
  721. String iconInfo = (String) toolUtils.getRequestContent(request,"iconInfo",2);
  722. if (id == 0 || iconInfo.isEmpty())
  723. return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
  724. LampPoleDTO lampPoleDTO = new LampPoleDTO();
  725. lampPoleDTO.setLampId(id);
  726. lampPoleDTO.setDir(dir);
  727. lampPoleDTO.setIconInfo(iconInfo);
  728. lampPoleService.updateLampPoleIcon(lampPoleDTO);
  729. return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version);
  730. }
  731. }