| | |
| | | |
| | | import cn.hutool.core.collection.CollectionUtil; |
| | | import cn.hutool.core.util.ArrayUtil; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.github.pagehelper.PageHelper; |
| | | import com.sandu.common.domain.CommonPage; |
| | | import com.sandu.common.domain.ResponseVO; |
| | | import com.sandu.common.object.BaseConditionVO; |
| | | import com.sandu.common.security.annotation.AnonymousAccess; |
| | | import com.sandu.common.util.ResponseUtil; |
| | | import com.sandu.ximon.admin.dto.DeviceStatus; |
| | | import com.sandu.ximon.admin.param.PoleBindParam; |
| | |
| | | import com.sandu.ximon.admin.service.IpVolumeService; |
| | | import com.sandu.ximon.admin.service.MonitorService; |
| | | import com.sandu.ximon.admin.service.PoleService; |
| | | import com.sandu.ximon.admin.vo.PoleBindVO; |
| | | import com.sandu.ximon.dao.domain.Pole; |
| | | import com.sandu.ximon.dao.enums.MenuEnum; |
| | | import com.sandu.ximon.dao.enums.PoleBindingEnums; |
| | | import lombok.AllArgsConstructor; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | |
| | | @PostMapping("/add") |
| | | public ResponseVO<Object> addPole(@RequestBody @Validated PoleParam param) { |
| | | if (!permissionConfig.check(MenuEnum.POLE_VIRTUAL_ADD.getCode())) { |
| | | return ResponseUtil.fail("缺少对应用户权限"); |
| | | } |
| | | return ResponseUtil.success(poleService.addPole(param)); |
| | | } |
| | | |
| | | @PostMapping("/update/{poleId}") |
| | | public ResponseVO<Object> updatePole(@PathVariable Long poleId, @RequestBody @Validated PoleParam param) { |
| | | if (!permissionConfig.check(MenuEnum.POLE_UPDATE.getCode())) { |
| | | return ResponseUtil.fail("缺少对应用户权限"); |
| | | } |
| | | return ResponseUtil.success(poleService.updatePole(poleId, param)); |
| | | } |
| | | |
| | | @PostMapping("/delete/{poleId}") |
| | | public ResponseVO<Object> deletePole(@PathVariable Long poleId) { |
| | | if (!permissionConfig.check(MenuEnum.POLE_DELETE.getCode())) { |
| | | return ResponseUtil.fail("缺少对应用户权限"); |
| | | } |
| | | return ResponseUtil.success(poleService.deletePole(poleId)); |
| | | } |
| | | |
| | | @PostMapping("/listDetail") |
| | | public ResponseVO<Object> listPoleDetail(BaseConditionVO baseConditionVO, @RequestBody PoleStatesParam param) { |
| | | if (!permissionConfig.check(MenuEnum.POLE_LIST.getCode())) { |
| | | return ResponseUtil.fail("缺少对应用户权限"); |
| | | } |
| | | CommonPage commonPage = poleService.queryAllStatesAndList(baseConditionVO.getPageNo(), baseConditionVO.getPageSize(), param); |
| | | List<PoleBindVO> listResult = new ArrayList<>(); |
| | | for (Pole pole : (List<Pole>) commonPage.getList()) { |
| | | PoleBindVO bindByPoleId = poleService.getBindByPoleId(pole.getId()); |
| | | bindByPoleId.setPole(pole); |
| | | listResult.add(bindByPoleId); |
| | | } |
| | | return ResponseUtil.success(commonPage); |
| | | } |
| | | |
| | | @PostMapping("/list") |
| | | public ResponseVO<Object> listPole(BaseConditionVO baseConditionVO, @RequestBody PoleStatesParam param) { |
| | | if(!permissionConfig.check(MenuEnum.POLE_LIST.getCode())){ |
| | | if (!permissionConfig.check(MenuEnum.POLE_LIST.getCode())) { |
| | | return ResponseUtil.fail("缺少对应用户权限"); |
| | | } |
| | | PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize()); |
| | | List<Pole> results = poleService.queryAllStatesAndList(baseConditionVO.getPageNo(), baseConditionVO.getPageSize(),param); |
| | | CommonPage commonPage = CommonPage.restPage(results); |
| | | int size = results.size(); |
| | | commonPage.setTotal((long) size); |
| | | commonPage.setTotalPage(size / baseConditionVO.getPageSize() + 1); |
| | | if (size % baseConditionVO.getPageSize() == 0) { |
| | | commonPage.setTotalPage(size / baseConditionVO.getPageSize()); |
| | | } |
| | | CommonPage commonPage = poleService.queryAllStatesAndList(baseConditionVO.getPageNo(), baseConditionVO.getPageSize(), param); |
| | | |
| | | return ResponseUtil.success(commonPage); |
| | | // return ResponseUtil.success(poles); |
| | | } |
| | | |
| | | @GetMapping("/listPoleAndState") |
| | | public ResponseVO<Object> listPoleAndState(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword, |
| | | @RequestParam(value = "groupid", required = false) Long groupid) { |
| | | if (!permissionConfig.check(MenuEnum.POLE_LIST.getCode())) { |
| | | return ResponseUtil.fail("缺少对应用户权限"); |
| | | } |
| | | PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize()); |
| | | List<Pole> poles = poleService.queryStatesAndList(baseConditionVO.getPageNo(), baseConditionVO.getPageSize(),keyword,groupid); |
| | | List<Pole> poles = poleService.queryStatesAndList(baseConditionVO.getPageNo(), baseConditionVO.getPageSize(), keyword, groupid); |
| | | return ResponseUtil.successPage(poles); |
| | | } |
| | | |
| | | /** |
| | | * 在线数量 |
| | | */ |
| | | @AnonymousAccess |
| | | @GetMapping("/online") |
| | | public ResponseVO<Object> online() { |
| | | return ResponseUtil.success(poleService.poleCount()); |
| | |
| | | */ |
| | | @PostMapping("/setMac/{baseMac}") |
| | | public ResponseVO<Object> setMac(@PathVariable String baseMac) { |
| | | //public ResponseVO<Object> setMac() { |
| | | if (!permissionConfig.check(MenuEnum.POLE_REAL_ADD.getCode())) { |
| | | return ResponseUtil.fail("缺少对应用户权限"); |
| | | } |
| | | return ResponseUtil.success(poleService.setMac(baseMac)); |
| | | // return ResponseUtil.success(poleService.setMac()); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | @PostMapping("/poleReset/{poleId}") |
| | | public ResponseVO<Object> poleReset(@PathVariable Long poleId) { |
| | | if (!permissionConfig.check(MenuEnum.POLE_REAL_RESET.getCode())) { |
| | | return ResponseUtil.fail("缺少对应用户权限"); |
| | | } |
| | | return ResponseUtil.success(poleService.poleReset(poleId)); |
| | | } |
| | | |
| | |
| | | */ |
| | | @PostMapping("/bind/{poleId}") |
| | | public ResponseVO<Object> bindPole(@PathVariable Long poleId, @RequestBody @Validated PoleBindingParam param) { |
| | | if (!permissionConfig.check(MenuEnum.BINDING.getCode())) { |
| | | return ResponseUtil.fail("缺少对应用户权限"); |
| | | } |
| | | boolean result = poleService.bindPole(poleId, param); |
| | | if (result) { |
| | | //设备类型,0路灯,1led屏幕,2充电桩,3大气监测,4水质监测,5ip音柱,6lcd广告机,7摄像头,8杆体倾测,9一键救助 |
| | | switch (param.getDeviceType()) { |
| | | case 0: |
| | | //设备类型,0路灯,1nove,2充电桩,3大气监测,4水质监测,5ip音柱,6lcd广告机,7摄像头,8杆体倾测,9一键救助, 10熙讯, 11农耕 |
| | | switch (param.getDeviceType().toString()) { |
| | | case PoleBindingEnums.LIGHT: |
| | | Pole pole = poleService.getById(poleId); |
| | | if (pole != null) { |
| | | pole.setPoleName(param.getDeviceName()); |
| | | pole.setDeviceCode(param.getDeviceCode()); |
| | | poleService.updateById(pole); |
| | | } |
| | | break; |
| | | case 1: |
| | | case PoleBindingEnums.VONNOX: |
| | | break; |
| | | case 2: |
| | | case PoleBindingEnums.CHARGING_PILE: |
| | | break; |
| | | case 3: |
| | | case PoleBindingEnums.ATMOSPHERIC: |
| | | break; |
| | | case 4: |
| | | case PoleBindingEnums.WATER: |
| | | break; |
| | | case 5: |
| | | case PoleBindingEnums.IPVOLUME: |
| | | broadcastTerminalV2Service.updateBingdingState(true, Integer.valueOf(param.getDeviceCode()).intValue()); |
| | | break; |
| | | case 6: |
| | | case PoleBindingEnums.LCD_ADVERTISING: |
| | | break; |
| | | case 7: |
| | | case PoleBindingEnums.MONITOR: |
| | | monitorService.updateBingdingState(true, param.getDeviceCode()); |
| | | break; |
| | | case 8: |
| | | case PoleBindingEnums.LIGHTPOLEHEELING: |
| | | break; |
| | | case 9: |
| | | case PoleBindingEnums.FOR_HELP: |
| | | break; |
| | | case PoleBindingEnums.XIXUN: |
| | | break; |
| | | case PoleBindingEnums.ATMOSPHERIC_NONG_GENG: |
| | | break; |
| | | default: |
| | | break; |
| | |
| | | */ |
| | | @PostMapping("/unBind/{poleId}") |
| | | public ResponseVO<Object> unBindPole(@PathVariable Long poleId, @RequestBody @Validated PoleBindingParam param) { |
| | | if (!permissionConfig.check(MenuEnum.UNBIND.getCode())) { |
| | | return ResponseUtil.fail("缺少对应用户权限"); |
| | | } |
| | | boolean result = poleService.unBindPole(poleId, param.getDeviceCode()); |
| | | if (result) { |
| | | //设备类型,0路灯,1led屏幕,2充电桩,3大气监测,4水质监测,5ip音柱,6lcd广告机,7摄像头,8杆体倾测,9一键救助 |
| | | switch (param.getDeviceType()) { |
| | | case 0: |
| | | //设备类型,0路灯,1led屏幕,2充电桩,3大气监测,4水质监测,5ip音柱,6lcd广告机,7摄像头,8杆体倾测,9一键救助, 10熙讯, 11农耕 |
| | | switch (param.getDeviceType().toString()) { |
| | | case PoleBindingEnums.LIGHT: |
| | | //删除灯杆的devicescode |
| | | Pole pole = poleService.getOne(Wrappers.lambdaQuery(Pole.class).eq(Pole::getId, poleId)); |
| | | if (pole != null) { |
| | | poleService.updateDeviceCode(pole.getId()); |
| | | } |
| | | break; |
| | | case 1: |
| | | case PoleBindingEnums.VONNOX: |
| | | break; |
| | | case 2: |
| | | case PoleBindingEnums.CHARGING_PILE: |
| | | break; |
| | | case 3: |
| | | case PoleBindingEnums.ATMOSPHERIC: |
| | | break; |
| | | case 4: |
| | | case PoleBindingEnums.WATER: |
| | | break; |
| | | case 5: |
| | | case PoleBindingEnums.IPVOLUME: |
| | | broadcastTerminalV2Service.updateBingdingState(false, Integer.valueOf(param.getDeviceCode()).intValue()); |
| | | break; |
| | | case 6: |
| | | case PoleBindingEnums.LCD_ADVERTISING: |
| | | break; |
| | | case 7: |
| | | case PoleBindingEnums.MONITOR: |
| | | monitorService.updateBingdingState(false, param.getDeviceCode()); |
| | | break; |
| | | case 8: |
| | | case PoleBindingEnums.LIGHTPOLEHEELING: |
| | | break; |
| | | case 9: |
| | | case PoleBindingEnums.FOR_HELP: |
| | | break; |
| | | case PoleBindingEnums.XIXUN: |
| | | break; |
| | | case PoleBindingEnums.ATMOSPHERIC_NONG_GENG: |
| | | break; |
| | | default: |
| | | break; |
| | |
| | | |
| | | @PostMapping("/listStatusByDeviceCode") |
| | | public ResponseVO<Object> getStatusById(@RequestBody String[] deviceCodeList) { |
| | | if (!permissionConfig.check(MenuEnum.GET_STATE_BY_DEVICECODE.getCode())) { |
| | | return ResponseUtil.fail("缺少对应用户权限"); |
| | | } |
| | | for (String s : deviceCodeList) { |
| | | if (s == null) { |
| | | return ResponseUtil.fail("参数不能为空"); |
| | |
| | | |
| | | @PostMapping("/ClientBindingPole") |
| | | public ResponseVO<Object> ClientBindingPole(@RequestBody PoleBindParam param) { |
| | | return ResponseUtil.success(poleService.ClientBindingPole(param.getClientId(), param.getPoleIds()));////////////// |
| | | if (!permissionConfig.check(MenuEnum.CLIENT_BINDING_POLE.getCode())) { |
| | | return ResponseUtil.fail("缺少对应用户权限"); |
| | | } |
| | | return ResponseUtil.success(poleService.ClientBindingPole(param.getClientId(), param.getPoleIds())); |
| | | } |
| | | |
| | | |
| | |
| | | */ |
| | | @PostMapping("/getOwnerPole/{cilentId}") |
| | | public ResponseVO<Object> getOwnerPole(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword |
| | | ,@PathVariable Long cilentId) { |
| | | , @PathVariable Long cilentId) { |
| | | if (!permissionConfig.check(MenuEnum.GET_CLIENT_POLE.getCode())) { |
| | | return ResponseUtil.fail("缺少对应用户权限"); |
| | | } |
| | | List<Pole> results = poleService.getOwnerPole(baseConditionVO, keyword, cilentId); |
| | | // CommonPage commonPage = CommonPage.restPage(results); |
| | | // int size = results.size(); |
| | | // commonPage.setTotal((long) size); |
| | | // commonPage.setTotalPage(size / baseConditionVO.getPageSize() + 1); |
| | | // if (size % baseConditionVO.getPageSize() == 0) { |
| | | // commonPage.setTotalPage(size / baseConditionVO.getPageSize()); |
| | | // } |
| | | // return ResponseUtil.success(commonPage); |
| | | return ResponseUtil.success(results); |
| | | } |
| | | |
| | | /** |
| | | * 查看灯杆绑定的设备 |
| | | */ |
| | | @AnonymousAccess |
| | | @PostMapping("/getPoleBindDevice/{poleId}") |
| | | public ResponseVO<Object> getPoleBindDevice(@PathVariable Long poleId) { |
| | | if (!permissionConfig.check(MenuEnum.GET_POLE_BINDING.getCode())) { |
| | | return ResponseUtil.fail("缺少对应用户权限"); |
| | | } |
| | | return ResponseUtil.success(poleService.getBindByPoleId(poleId)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 推送大气设备到诺瓦 |
| | | */ |
| | | @AnonymousAccess |
| | | @GetMapping("/pushAidDataToNova/{poleId}") |
| | | public ResponseVO<Object> pushAirDataToNova(@PathVariable Long poleId) { |
| | | if (!permissionConfig.check(MenuEnum.PUSH_AIR_DATA_TO_NOVA.getCode())) { |
| | | return ResponseUtil.fail("缺少对应用户权限"); |
| | | } |
| | | return ResponseUtil.success(poleService.pushAirDataToNova(poleId)); |
| | | } |
| | | |
| | | /** |
| | | * 推送大气设备到熙讯 |
| | | */ |
| | | @AnonymousAccess |
| | | @GetMapping("/pushAirDataToXiXun/{poleId}") |
| | | public ResponseVO<Object> pushAirDataToXiXun(@PathVariable Long poleId) { |
| | | if (!permissionConfig.check(MenuEnum.PUSH_AIR_DATA_TO_XIXUN.getCode())) { |
| | | return ResponseUtil.fail("缺少对应用户权限"); |
| | | } |
| | | return ResponseUtil.success(poleService.pushAirDataToXiXun(poleId)); |
| | | } |
| | | |
| | | } |