package org.jeecg.modules.msi.webapi.controller; import com.fasterxml.jackson.core.type.TypeReference; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import liquibase.pro.packaged.S; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.modules.msi.utils.JsonMapper; import org.jeecg.modules.msi.webapi.entity.MsiWebapiJsonEntity; import org.jeecg.modules.msi.webapi.service.IMsiWebapiJsonService; import org.jeecg.modules.msi.webapi.vo.MachineEquipentInfo; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.io.IOException; import java.util.List; @Slf4j @Api(tags = "自动化线数据") @RestController @RequestMapping("/msi/webapi") public class MsiWebapiJsonController extends JeecgController { @AutoLog(value = "自动化线数据接收") @ApiOperation(value = "自动化线数据接收 ", notes = "自动化线数据接收") @PostMapping(value = "/receiveAutomation") public void receiveSaveMsiWebApiJson(String data) { MsiWebapiJsonEntity entity = new MsiWebapiJsonEntity(); if (StringUtils.isBlank(data)) { return; } entity.setModuleType("MDC"); entity.setWebapiInfo(data); //后续进行其他业务关联 JsonMapper mapper = new JsonMapper(); try { List machineInfoList = mapper.fromJson(data, new TypeReference>(){}); for (MachineEquipentInfo machineInfo : machineInfoList) { System.out.println(machineInfo); // Add additional processing logic here for each item } } catch (IOException e) { log.error("JSON parsing error: {}", e.getMessage()); throw new RuntimeException("Invalid data format", e); } service.save(entity); } }