| | |
| | | import com.ruoyi.integration.iotda.utils.tools.StrategyUtil; |
| | | import com.ruoyi.integration.rocket.model.*; |
| | | import com.ruoyi.integration.rocket.produce.EnhanceProduce; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.rocketmq.client.producer.SendResult; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.io.IOException; |
| | | import java.math.BigDecimal; |
| | |
| | | */ |
| | | @Slf4j |
| | | @RestController |
| | | @RequestMapping("/iot") |
| | | public class IotMessageListener { |
| | | |
| | | @Autowired |
| | |
| | | return AjaxResult.success(); |
| | | } |
| | | |
| | | @PostMapping(value = "/message/sendMessage") |
| | | public R sendMessage() { |
| | | |
| | | @ApiOperation(value = "运营平台远程控制启机",tags = {"硬件接口"}) |
| | | @GetMapping(value = "/platformStartCharging") |
| | | public R platformStartCharging(String orderNum,String deviceId,Long orderId,BigDecimal money) { |
| | | // 运营平台远程控制启机 |
| | | // PlatformStartCharging platformStartCharging = new PlatformStartCharging(); |
| | | // platformStartCharging.setTransaction_serial_number("4200002375202409185150427245"); |
| | | // platformStartCharging.setCharging_pile_code("3401231001200202"); |
| | | // platformStartCharging.setCharging_gun_code("1"); |
| | | // platformStartCharging.setCard_number("1833063878153543681"); |
| | | // platformStartCharging.setAccount_balance(new BigDecimal(50)); |
| | | // String message = iotMessageProduce.sendMessage(platformStartCharging.getCharging_pile_code(), ServiceIdMenu.PLATFORM_START_CHARGING.getKey(), messageUtil.platformStartCharging(platformStartCharging)); |
| | | PlatformStartCharging platformStartCharging = new PlatformStartCharging(); |
| | | platformStartCharging.setTransaction_serial_number(orderNum); |
| | | platformStartCharging.setCharging_pile_code(deviceId); |
| | | platformStartCharging.setCharging_gun_code("1"); |
| | | platformStartCharging.setCard_number(orderId.toString()); |
| | | platformStartCharging.setAccount_balance(money); |
| | | String message = iotMessageProduce.sendMessage(platformStartCharging.getCharging_pile_code(), ServiceIdMenu.PLATFORM_START_CHARGING.getKey(), messageUtil.platformStartCharging(platformStartCharging)); |
| | | return R.ok(message); |
| | | } |
| | | |
| | | @ApiOperation(value = "运营平台远程停机",tags = {"硬件接口"}) |
| | | @GetMapping(value = "/platformStopCharging") |
| | | public R platformStopCharging(String deviceId) { |
| | | // 运营平台远程停机 |
| | | // PlatformStopCharging platformStopCharging = new PlatformStopCharging(); |
| | | // platformStopCharging.setCharging_pile_code("3401231001200202"); |
| | | // platformStopCharging.setCharging_gun_code("1"); |
| | | // String message = iotMessageProduce.sendMessage(platformStopCharging.getCharging_pile_code(), ServiceIdMenu.PLATFORM_STOP_CHARGING.getKey(),messageUtil.platformStopCharging(platformStopCharging)); |
| | | PlatformStopCharging platformStopCharging = new PlatformStopCharging(); |
| | | platformStopCharging.setCharging_pile_code(deviceId); |
| | | platformStopCharging.setCharging_gun_code("1"); |
| | | String message = iotMessageProduce.sendMessage(platformStopCharging.getCharging_pile_code(), ServiceIdMenu.PLATFORM_STOP_CHARGING.getKey(),messageUtil.platformStopCharging(platformStopCharging)); |
| | | return R.ok(message); |
| | | } |
| | | |
| | | @ApiOperation(value = "修改余额",tags = {"硬件接口"}) |
| | | @GetMapping(value = "/updateBalance") |
| | | public R updateBalance(String deviceId,Long orderId) { |
| | | // 修改余额 |
| | | // UpdateBalance updateBalance = new UpdateBalance(); |
| | | // updateBalance.setCharging_pile_code("3401231001200202"); |
| | | // updateBalance.setCharging_gun_code("1"); |
| | | // updateBalance.setPhysical_card_number("1833063878153543681"); |
| | | // updateBalance.setAccount_balance(new BigDecimal(20)); |
| | | // String message = iotMessageProduce.sendMessage(updateBalance.getCharging_pile_code(), ServiceIdMenu.UPDATE_BALANCE.getKey(),messageUtil.updateBalance(updateBalance)); |
| | | UpdateBalance updateBalance = new UpdateBalance(); |
| | | updateBalance.setCharging_pile_code(deviceId); |
| | | updateBalance.setCharging_gun_code("1"); |
| | | updateBalance.setPhysical_card_number(orderId.toString()); |
| | | updateBalance.setAccount_balance(new BigDecimal(20)); |
| | | String message = iotMessageProduce.sendMessage(updateBalance.getCharging_pile_code(), ServiceIdMenu.UPDATE_BALANCE.getKey(),messageUtil.updateBalance(updateBalance)); |
| | | return R.ok(message); |
| | | } |
| | | |
| | | @ApiOperation(value = "充电桩工作参数设置",tags = {"硬件接口"}) |
| | | @GetMapping(value = "/workingParameterSetting") |
| | | public R workingParameterSetting(String deviceId) { |
| | | // 充电桩工作参数设置 |
| | | // WorkingParameterSetting workingParameterSetting = new WorkingParameterSetting(); |
| | | // workingParameterSetting.setCharging_pile_code("3401231001200202"); |
| | | // workingParameterSetting.setAllow_work(0); |
| | | // workingParameterSetting.setMaximum_output_power(220); |
| | | // String message = iotMessageProduce.sendMessage(workingParameterSetting.getCharging_pile_code(), ServiceIdMenu.WORKING_PARAMETER_SETTING.getKey(),messageUtil.workingParameterSetting(workingParameterSetting)); |
| | | WorkingParameterSetting workingParameterSetting = new WorkingParameterSetting(); |
| | | workingParameterSetting.setCharging_pile_code(deviceId); |
| | | workingParameterSetting.setAllow_work(0); |
| | | workingParameterSetting.setMaximum_output_power(220); |
| | | String message = iotMessageProduce.sendMessage(workingParameterSetting.getCharging_pile_code(), ServiceIdMenu.WORKING_PARAMETER_SETTING.getKey(),messageUtil.workingParameterSetting(workingParameterSetting)); |
| | | return R.ok(message); |
| | | } |
| | | |
| | | @ApiOperation(value = "对时设置",tags = {"硬件接口"}) |
| | | @GetMapping(value = "/timingSetting") |
| | | public R timingSetting(String deviceId) { |
| | | // 对时设置 |
| | | // TimingSetting timingSetting = new TimingSetting(); |
| | | // timingSetting.setCharging_pile_code("3401231001200202"); |
| | | // System.err.println(CP56Time2aConverter.convertToCP56Time2a(new Date())); |
| | | // timingSetting.setCurrent_time(CP56Time2aConverter.convertToCP56Time2a(new Date())); |
| | | // String message = iotMessageProduce.sendMessage(timingSetting.getCharging_pile_code(), ServiceIdMenu.TIMING_SETTING.getKey(),messageUtil.timingSetting(timingSetting)); |
| | | TimingSetting timingSetting = new TimingSetting(); |
| | | timingSetting.setCharging_pile_code(deviceId); |
| | | timingSetting.setCurrent_time(CP56Time2aConverter.convertToCP56Time2a(new Date())); |
| | | String message = iotMessageProduce.sendMessage(timingSetting.getCharging_pile_code(), ServiceIdMenu.TIMING_SETTING.getKey(),messageUtil.timingSetting(timingSetting)); |
| | | return R.ok(message); |
| | | } |
| | | |
| | | @ApiOperation(value = "计费模型设置",tags = {"硬件接口"}) |
| | | @GetMapping(value = "/setupBillingModel") |
| | | public R setupBillingModel(String deviceId) { |
| | | // TODO 罗 计费模型设置 |
| | | // SetupBillingModel setupBillingModel = new SetupBillingModel(); |
| | | // // 计费模型 |
| | | // List<TAccountingStrategyDetail> accountingStrategyDetails = accountingStrategyDetailClient.getDetailListByCode("3401231001200202").getData(); |
| | | // Map<Integer, TAccountingStrategyDetail> strategyPrice = StrategyUtil.getStrategyPrice(accountingStrategyDetails); |
| | | // // 价格设置 |
| | | // AcquisitionBillingModeReply acquisitionBillingModeReply = new AcquisitionBillingModeReply(); |
| | | // StrategyUtil.setStrategyPrice(strategyPrice,acquisitionBillingModeReply); |
| | | // // 时段设置 |
| | | // StrategyUtil.setTime(accountingStrategyDetails,acquisitionBillingModeReply); |
| | | // TAccountingStrategyDetail accountingStrategyDetail = accountingStrategyDetailClient.getDetailByCode("3401231001200202").getData(); |
| | | // acquisitionBillingModeReply.setBilling_model_code(accountingStrategyDetail.getId().toString()); |
| | | // acquisitionBillingModeReply.setCharging_pile_code("3401231001200202"); |
| | | // acquisitionBillingModeReply.setLoss_ratio(BigDecimal.ZERO); |
| | | // BeanUtils.copyProperties(acquisitionBillingModeReply,setupBillingModel); |
| | | // System.err.println(setupBillingModel); |
| | | // String message = iotMessageProduce.sendMessage(setupBillingModel.getCharging_pile_code(), ServiceIdMenu.SETUP_BILLING_MODEL.getKey(),messageUtil.setupBillingModel(setupBillingModel)); |
| | | SetupBillingModel setupBillingModel = new SetupBillingModel(); |
| | | // 计费模型 |
| | | List<TAccountingStrategyDetail> accountingStrategyDetails = accountingStrategyDetailClient.getDetailListByCode(deviceId).getData(); |
| | | Map<Integer, TAccountingStrategyDetail> strategyPrice = StrategyUtil.getStrategyPrice(accountingStrategyDetails); |
| | | // 价格设置 |
| | | AcquisitionBillingModeReply acquisitionBillingModeReply = new AcquisitionBillingModeReply(); |
| | | StrategyUtil.setStrategyPrice(strategyPrice,acquisitionBillingModeReply); |
| | | // 时段设置 |
| | | StrategyUtil.setTime(accountingStrategyDetails,acquisitionBillingModeReply); |
| | | TAccountingStrategyDetail accountingStrategyDetail = accountingStrategyDetailClient.getDetailByCode(deviceId).getData(); |
| | | acquisitionBillingModeReply.setBilling_model_code(accountingStrategyDetail.getId().toString()); |
| | | acquisitionBillingModeReply.setCharging_pile_code(deviceId); |
| | | acquisitionBillingModeReply.setLoss_ratio(BigDecimal.ZERO); |
| | | BeanUtils.copyProperties(acquisitionBillingModeReply,setupBillingModel); |
| | | System.err.println(setupBillingModel); |
| | | String message = iotMessageProduce.sendMessage(setupBillingModel.getCharging_pile_code(), ServiceIdMenu.SETUP_BILLING_MODEL.getKey(),messageUtil.setupBillingModel(setupBillingModel)); |
| | | return R.ok(message); |
| | | } |
| | | |
| | | @ApiOperation(value = "远程重启",tags = {"硬件接口"}) |
| | | @PostMapping(value = "/platformRestart") |
| | | public R platformRestart(String deviceId) { |
| | | // 远程重启 |
| | | PlatformRestart platformRestart = new PlatformRestart(); |
| | | platformRestart.setCharging_pile_code("3401231001200202"); |
| | | platformRestart.setCharging_pile_code(deviceId); |
| | | platformRestart.setOperate(2); |
| | | String message = iotMessageProduce.sendMessage(platformRestart.getCharging_pile_code(), ServiceIdMenu.PLATFORM_RESTART.getKey(),messageUtil.platformRestart(platformRestart)); |
| | | return R.ok(message); |