package com.sandu.ximon.admin.controller; import com.sandu.common.domain.ResponseVO; import com.sandu.common.execption.BusinessException; import com.sandu.common.object.BaseConditionVO; import com.sandu.common.security.annotation.AnonymousAccess; import com.sandu.common.util.ResponseUtil; import com.sandu.ximon.admin.param.C3ChargingAddParam; import com.sandu.ximon.admin.param.C3ChargingParam; import com.sandu.ximon.admin.security.PermissionConfig; import com.sandu.ximon.admin.service.C3ChargingService; import com.sandu.ximon.dao.enums.MenuEnum; import lombok.AllArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; /** * @author ZZQ * C3充电桩 * @date 2022/3/3 15:44 */ @RestController @AllArgsConstructor @RequestMapping("/v1/admin/C3Charging") public class C3ChargingController { private C3ChargingService c3ChargingService; private PermissionConfig permissionConfig; @PostMapping("/C3ChargingList") public ResponseVO C3ChargingList(BaseConditionVO baseConditionVO, @RequestBody(required = false) C3ChargingParam c3ChargingParam , @RequestParam(value = "order", required = false) Integer order , @RequestParam(value = "seq", required = false) Integer seq) { if (!permissionConfig.check(MenuEnum.C3_CHARGING_LIST.getCode())) { return ResponseUtil.fail("缺少对应用户权限"); } return ResponseUtil.success(c3ChargingService.getC3ChargingListByKeyword(baseConditionVO, c3ChargingParam, order, seq)); } @AnonymousAccess @GetMapping("/chargingInfo") public ResponseVO getChargingInfo(@RequestParam(required = false, value = "poleId") String poleId) { return ResponseUtil.success(c3ChargingService.getChargingInfo(poleId)); } // /** // * 充电开启 // */ // @AnonymousAccess // @PostMapping("/startCharging") // public ResponseVO startCharging(@RequestBody C3ChargingParam c3ChargingParam) { // String result = c3ChargingService.startCharging(c3ChargingParam.getC3Mac(), c3ChargingParam.getChargingCapacity(), c3ChargingParam.getChargeAmount()); // if ("操作成功".equals(result)) { // return ResponseUtil.success(result); // } else { // return ResponseUtil.fail(result); // } // // } /** * 充电结束——小程序用户结束,不需要token,需要openId */ @AnonymousAccess @PostMapping("/finishCharging") public ResponseVO finishCharging(@RequestBody C3ChargingParam c3ChargingParam) { if (c3ChargingParam.getC3Mac() == null || c3ChargingParam.getOpenId() == null) { throw new BusinessException("参数错误!"); } String result = c3ChargingService.finishCharging(c3ChargingParam.getC3Mac(), c3ChargingParam.getOpenId()); if ("操作成功".equals(result)) { return ResponseUtil.success(result); } else { return ResponseUtil.fail(result); } } /** * 同步结束 */ @PostMapping("/EndOfTheSynchronization") public ResponseVO EndOfTheSynchronization(@RequestBody C3ChargingParam c3ChargingParam) { String result = c3ChargingService.EndOfTheSynchronization(c3ChargingParam.getC3Mac(), false); if ("操作成功".equals(result)) { return ResponseUtil.success(result); } else { return ResponseUtil.fail(result); } } // /** // * 二维码 // */ // @PostMapping("/QrCode") // public ResponseVO QrCode(@RequestBody C3ChargingParam c3ChargingParam) { // //String testUrl = "http://www.ximonsmart.com/charge/#/charge/" +streetlightId+"/"+System.currentTimeMillis(); // String result = c3ChargingService.QrCode(c3ChargingParam.getC3Mac(), c3ChargingParam.getQrCodeData()); // // if ("操作成功".equals(result)) { // return ResponseUtil.success(result); // } else { // return ResponseUtil.fail(result); // } // } /** * 查询版本 */ @PostMapping("/QueryVersion") public ResponseVO QueryVersion(@RequestBody C3ChargingParam c3ChargingParam) { String result = c3ChargingService.QueryVersion(c3ChargingParam.getC3Mac()); return ResponseUtil.success(result); } /** * 查询心跳包间隔时间 */ @PostMapping("/QueryIntervalTime") public ResponseVO QueryIntervalTime(@RequestBody C3ChargingParam c3ChargingParam) { String result = c3ChargingService.QueryIntervalTime(c3ChargingParam.getC3Mac()); return ResponseUtil.success(result); } /** * 查询电压/电流常数 */ @PostMapping("/QueryConstant") public ResponseVO QueryConstant(@RequestBody C3ChargingParam c3ChargingParam) { String result = c3ChargingService.QueryConstant(c3ChargingParam.getC3Mac()); return ResponseUtil.success(result); } /** * 查询地址 */ @PostMapping("/QueryAddress") public ResponseVO QueryAddress(@RequestBody C3ChargingParam c3ChargingParam) { String result = c3ChargingService.QueryAddress(c3ChargingParam.getC3Mac()); return ResponseUtil.success(result); } /** * 查询故障码 */ @PostMapping("/QueryFaultCode") public ResponseVO QueryFaultCode(@RequestBody C3ChargingParam c3ChargingParam) { String result = c3ChargingService.QueryFaultCode(c3ChargingParam.getC3Mac()); return ResponseUtil.success(result); } /** * 读心跳包 */ @PostMapping("/ReadTheHeartbeatPackage") public ResponseVO ReadTheHeartbeatPackage(@RequestBody C3ChargingParam c3ChargingParam) { return ResponseUtil.success(c3ChargingService.ReadTheHeartbeatPackage(c3ChargingParam.getC3Mac(), false)); } /** * 设置心跳包间隔时间(秒)-充电状态时 */ @PostMapping("/SetHeartbeatPacketTimeCharging") public ResponseVO SetHeartbeatPacketTimeCharging(@RequestBody @Validated C3ChargingParam c3ChargingParam) { return ResponseUtil.success(c3ChargingService.SetHeartbeatPacketTimeCharging(c3ChargingParam.getC3Mac(), c3ChargingParam.getTime(), true, false)); } /** * 设置心跳包间隔时间(秒)-非充电状态时 */ @PostMapping("/SetHeartbeatPacketTimeNotCharging") public ResponseVO SetHeartbeatPacketTimeNotCharging(@RequestBody @Validated C3ChargingParam c3ChargingParam) { return ResponseUtil.success(c3ChargingService.SetHeartbeatPacketTimeCharging(c3ChargingParam.getC3Mac(), c3ChargingParam.getTime(), false, false)); } /** * 设置电压/电流常数(各一字节)(默认值0xBC64) */ @PostMapping("/SetConstant") public ResponseVO SetConstant(@RequestBody @Validated C3ChargingParam c3ChargingParam) { return ResponseUtil.success(c3ChargingService.SetConstant(c3ChargingParam.getC3Mac(), c3ChargingParam.getConstant())); } /** * 设置地址 */ @PostMapping("/SetAddress") public ResponseVO SetAddress(@RequestBody @Validated C3ChargingParam c3ChargingParam) { return ResponseUtil.success(c3ChargingService.SetAddress(c3ChargingParam.getC3Mac(), c3ChargingParam.getAddress(), false)); } /** * 设置日历(同心跳包中的6字节日期时间) */ @PostMapping("/SetCalendar") public ResponseVO SetCalendar(@RequestBody @Validated C3ChargingParam c3ChargingParam) { return ResponseUtil.success(c3ChargingService.SetCalendar(c3ChargingParam.getC3Mac() , c3ChargingParam.getYear(), c3ChargingParam.getMonth(), c3ChargingParam.getDay() , c3ChargingParam.getHour(), c3ChargingParam.getMin(), c3ChargingParam.getSec(), false)); } /** * 故障码上报清除 */ @PostMapping("/ClearedFaultCode") public ResponseVO ClearedFaultCode(@RequestBody @Validated C3ChargingParam c3ChargingParam) { return ResponseUtil.success(c3ChargingService.ClearedFaultCode(c3ChargingParam.getC3Mac())); } /** * 恢复出厂值 */ @PostMapping("/RestoreFactoryValue") public ResponseVO RestoreFactoryValue(@RequestBody @Validated C3ChargingParam c3ChargingParam) { return ResponseUtil.success(c3ChargingService.RestoreFactoryValue(c3ChargingParam.getC3Mac())); } /** * 软重启 */ @PostMapping("/restartCharging") public ResponseVO restartCharging(@RequestBody C3ChargingParam c3ChargingParam) { String result = c3ChargingService.restartCharging(c3ChargingParam.getC3Mac()); if ("操作成功".equals(result)) { return ResponseUtil.success(result); } else { return ResponseUtil.fail(result); } } /** * 添加充电桩硬件设备 * * @param c3ChargingAddParam * @return */ @PostMapping("/addC3Charging") public ResponseVO addC3Charging(@RequestBody C3ChargingAddParam c3ChargingAddParam) { boolean flag = c3ChargingService.addC3Charging(c3ChargingAddParam); if (flag) { return ResponseUtil.success("添加充电桩硬件设备成功!"); } else { return ResponseUtil.fail("添加充电桩硬件设备失败!"); } } /** * 修改充电桩硬件设备名称 * * @param c3ChargingAddParam * @return */ @PostMapping("/updateC3ChargingName") public ResponseVO updateC3ChargingName(@RequestBody C3ChargingAddParam c3ChargingAddParam) { boolean flag = c3ChargingService.updateC3ChargingName(c3ChargingAddParam); if (flag) { return ResponseUtil.success("修改充电桩硬件设备名称成功!"); } else { return ResponseUtil.fail("修改充电桩硬件设备名称失败!"); } } }