| | |
| | | import com.ruoyi.common.security.service.TokenService; |
| | | import com.ruoyi.common.core.web.domain.AjaxResult; |
| | | import com.ruoyi.common.core.web.page.PageInfo; |
| | | import com.ruoyi.integration.api.model.PageChargingOrderAndUploadRealTimeMonitoringDataDto; |
| | | import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData; |
| | | import com.ruoyi.common.security.utils.SecurityUtils; |
| | | import com.ruoyi.integration.api.feignClient.UploadRealTimeMonitoringDataClient; |
| | | import com.ruoyi.integration.api.model.ChargingOrderAndUploadRealTimeMonitoringDataDto; |
| | | import com.ruoyi.integration.api.model.UploadRealTimeMonitoringPageData; |
| | | import com.ruoyi.order.api.model.*; |
| | | import com.ruoyi.order.api.query.ChargingOrderQuery; |
| | | import com.ruoyi.common.core.dto.MongoChargingOrderQuery; |
| | |
| | | public AjaxResult<ChargingOrderInfoVO> chargingOrderInfo(String strategyId) { |
| | | TChargingOrder byId = chargingOrderService.getById(strategyId); |
| | | ChargingOrderInfoVO chargingOrderInfoVO = new ChargingOrderInfoVO(); |
| | | |
| | | chargingOrderInfoVO.setCdElectronic(byId.getCurrent()!=null?byId.getCurrent().setScale(2, BigDecimal.ROUND_HALF_DOWN)+"":""); |
| | | chargingOrderInfoVO.setCdVoltage(byId.getVoltage()!=null?byId.getVoltage().setScale(2, BigDecimal.ROUND_HALF_DOWN)+"":""); |
| | | chargingOrderInfoVO.setSurplus(byId.getTotalElectricity()!=null?byId.getTotalElectricity().setScale(2, BigDecimal.ROUND_HALF_DOWN)+"":""); |
| | |
| | | @PostMapping(value = "/chargingOrderWXCallback") |
| | | public void chargingOrderWXCallback(@RequestParam("out_trade_no") String out_trade_no, @RequestParam("transaction_id") String transaction_id, |
| | | @RequestParam("attach") String attach) { |
| | | AjaxResult ajaxResult = chargingOrderService.chargingOrderCallback(1, out_trade_no, transaction_id, attach); |
| | | chargingOrderService.chargingOrderCallback(1, out_trade_no, transaction_id, attach); |
| | | } |
| | | |
| | | |
| | |
| | | @PostMapping(value = "/watch/chargingOrder") |
| | | @ApiOperation(value = "监控订单", tags = {"管理后台-订单管理"}) |
| | | public R watchChargingOrder(@RequestBody MongoChargingOrderQuery mongoChargingOrderQuery) { |
| | | // Integer page = dto.getPageCurr(); |
| | | // Integer pageSize = dto.getPageSize(); |
| | | // List<Long> data = appUserClient.getUserIdsByPhone(dto.getPhone()).getData(); |
| | | // dto.setUserIds(data); |
| | | // dto.setPageCurr(1); |
| | | // dto.setPageSize(99999); |
| | | |
| | | // Map<String,TChargingOrder> map = new HashMap<>(); |
| | | // //吧list放入map中 |
| | | // for (ChargingOrderVO record : res.getList().getRecords()) { |
| | | // map.put(record.getCode(),record); |
| | | // } |
| | | // Set<String> strings = map.keySet(); |
| | | |
| | | mongoChargingOrderQuery.setPageSize(10); |
| | | List<UploadRealTimeMonitoringData> data1 = uploadRealTimeMonitoringDataClient.getAll(mongoChargingOrderQuery).getData(); |
| | | UploadRealTimeMonitoringPageData data1 = uploadRealTimeMonitoringDataClient.getAll(mongoChargingOrderQuery).getData(); |
| | | |
| | | List<ChargingOrderAndUploadRealTimeMonitoringDataDto> dtos = new ArrayList<>(); |
| | | Map<String,ChargingOrderVO> map = new HashMap<>(); |
| | | for (UploadRealTimeMonitoringData uploadRealTimeMonitoringData : data1) { |
| | | for (UploadRealTimeMonitoringData uploadRealTimeMonitoringData : data1.getRecords()) { |
| | | ChargingOrderAndUploadRealTimeMonitoringDataDto dataDto = new ChargingOrderAndUploadRealTimeMonitoringDataDto(); |
| | | ChargingOrderQuery dto = new ChargingOrderQuery(); |
| | | dto.setCode(uploadRealTimeMonitoringData.getTransaction_serial_number()); |
| | | TCharingOrderVO vo = chargingOrderService.chargingOrder(dto); |
| | | if (!vo.getList().getRecords().isEmpty()) { |
| | | ChargingOrderVO chargingOrderVO = vo.getList().getRecords().get(0); |
| | | if (chargingOrderVO != null) { |
| | | BeanUtils.copyProperties(chargingOrderVO, dataDto); |
| | | |
| | | if (map.get(uploadRealTimeMonitoringData.getTransaction_serial_number())==null) { |
| | | TCharingOrderVO vo = chargingOrderService.chargingOrder(dto); |
| | | map.put(uploadRealTimeMonitoringData.getTransaction_serial_number(),vo.getList().getRecords().get(0)); |
| | | if (!vo.getList().getRecords().isEmpty()) { |
| | | ChargingOrderVO chargingOrderVO = vo.getList().getRecords().get(0); |
| | | if (chargingOrderVO != null) { |
| | | BeanUtils.copyProperties(chargingOrderVO, dataDto); |
| | | } |
| | | BeanUtils.copyProperties(uploadRealTimeMonitoringData, dataDto); |
| | | dataDto.setStartTime(uploadRealTimeMonitoringData.getStartTime()); |
| | | dataDto.setEndTime(uploadRealTimeMonitoringData.getEndTime() == null ? null : uploadRealTimeMonitoringData.getEndTime()); |
| | | dataDto.setStatus(uploadRealTimeMonitoringData.getStatus()); |
| | | dtos.add(dataDto); |
| | | } |
| | | BeanUtils.copyProperties(uploadRealTimeMonitoringData,dataDto); |
| | | }else { |
| | | ChargingOrderVO vo = map.get(uploadRealTimeMonitoringData.getTransaction_serial_number()); |
| | | BeanUtils.copyProperties(vo, dataDto); |
| | | BeanUtils.copyProperties(uploadRealTimeMonitoringData, dataDto); |
| | | dataDto.setStartTime(uploadRealTimeMonitoringData.getStartTime()); |
| | | dataDto.setEndTime(uploadRealTimeMonitoringData.getEndTime()==null?null:uploadRealTimeMonitoringData.getEndTime()); |
| | | dataDto.setEndTime(uploadRealTimeMonitoringData.getEndTime() == null ? null : uploadRealTimeMonitoringData.getEndTime()); |
| | | dataDto.setStatus(uploadRealTimeMonitoringData.getStatus()); |
| | | dtos.add(dataDto); |
| | | }else { |
| | | continue; |
| | | } |
| | | } |
| | | for (int i = 0; i < dtos.size(); i++) { |
| | | dtos.get(i).setIndex(i); |
| | | } |
| | | |
| | | return R.ok(dtos); |
| | | PageChargingOrderAndUploadRealTimeMonitoringDataDto page = new PageChargingOrderAndUploadRealTimeMonitoringDataDto(); |
| | | page.setTotal(data1.getCount()); |
| | | page.setRecords(dtos); |
| | | |
| | | return R.ok(page); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | @ResponseBody |
| | | @GetMapping(value = "/watch/deletes") |
| | | @ApiOperation(value = "监控订单-删除", tags = {"管理后台-订单管理"}) |
| | | public R watchChargingOrder(@RequestParam String id) { |
| | | uploadRealTimeMonitoringDataClient.delete(id); |
| | | return R.ok(); |
| | | } |
| | | |
| | | /** |
| | | * 处理充电订单实时监控数据相关的业务逻辑 |
| | |
| | | Long userId = tokenService.getLoginUserApplet().getUserId(); |
| | | List<TChargingOrder> list = chargingOrderService.list(Wrappers.lambdaQuery(TChargingOrder.class) |
| | | .eq(TChargingOrder::getAppUserId, userId) |
| | | .eq(TChargingOrder::getStatus, 3)); |
| | | .in(TChargingOrder::getStatus, Arrays.asList(1,2,3,4))); |
| | | List<Integer> gunIds = list.stream().map(TChargingOrder::getChargingGunId).collect(Collectors.toList()); |
| | | return R.ok(gunIds); |
| | | } |
| | |
| | | EndOfChargePageInfo endOfChargePageInfo = chargingOrderService.getEndOfChargePageInfo(id); |
| | | return AjaxResult.success(endOfChargePageInfo); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取订单数据 |
| | | * @param order |
| | | * @return |
| | | */ |
| | | @PostMapping("/getChargingOrder") |
| | | public R<List<TChargingOrder>> getChargingOrder(@RequestBody TChargingOrderVo order){ |
| | | List<TChargingOrder> chargingOrder = chargingOrderService.getChargingOrder(order); |
| | | return R.ok(chargingOrder); |
| | | } |
| | | } |