package com.doumee.cloud.admin; import com.alibaba.fastjson.JSONObject; import com.doumee.api.BaseController; import com.doumee.config.annotation.LoginNoRequired; import com.doumee.core.exception.BusinessException; import com.doumee.core.utils.Constants; import com.doumee.core.wms.model.request.WmsActionNoticeRequest; import com.doumee.core.wms.model.request.WmsBaseRequest; import com.doumee.core.wms.model.request.WmsInboundNoticeRequest; import com.doumee.core.wms.model.request.WmsOutboundNoticeRequest; import com.doumee.core.wms.model.response.WmsBaseResponse; import com.doumee.core.wms.model.response.WmsCarInParkDataResponse; import com.doumee.service.business.third.WmsService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; 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.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; /** * @author 江蹄蹄 * @date 2023/11/30 15:33 */ @Api(tags = "WMS平台数据推送接口") @RestController @Slf4j @LoginNoRequired @RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/wms") public class WmsPushCloudController extends BaseController { @Autowired private WmsService wmsService; @ApiOperation("【WMS】推送入库单通知任务") @PostMapping("/push/inboundNotice") @LoginNoRequired public WmsBaseResponse inboundNotice(@RequestBody WmsBaseRequest param) { int success = Constants.ZERO; WmsBaseResponse result =null; try { result = wmsService.inboundNotice(param); wmsService.computjobTotalNum(param.getJobIdList()); }catch (BusinessException e){ log.error("【WMS】推送入库单通知任务===失败:"+e.getMessage()); success = Constants.ONE; }catch (Exception e){ log.error("【WMS】推送入库单通知任务===失败:"+e.getMessage()); e.printStackTrace(); success = Constants.ONE; }finally { wmsService.saveInterfaceLog("/wms/push/inboundNotice", "推送入库单通知任务",JSONObject.toJSONString(param), success, JSONObject.toJSONString(result),Constants.ONE); } return result; } @ApiOperation("【WMS】推送出库单通知任务") @LoginNoRequired @PostMapping("/push/outboundNotice") public WmsBaseResponse outboundNotice(@RequestBody WmsBaseRequest param) { int success = Constants.ZERO; WmsBaseResponse result =null; try { result = wmsService.outboundNotice(param); wmsService.computjobTotalNum(param.getJobIdList()); }catch (BusinessException e){ log.error("【WMS】推送出库单通知任务===失败:"+e.getMessage()); success = Constants.ONE; }catch (Exception e){ log.error("【WMS】推送出库单通知任务===失败:"+e.getMessage()); e.printStackTrace(); success = Constants.ONE; }finally { wmsService.saveInterfaceLog("/wms/push/outboundNotice", "推送出库单通知任务",JSONObject.toJSONString(param),success , JSONObject.toJSONString(result),Constants.ONE); } return result; } @ApiOperation("【WMS】推送取消入库单通知任务") @LoginNoRequired @PostMapping("/push/cancelInbound") public WmsBaseResponse cancelInbound(@RequestBody WmsBaseRequest param) { int success = Constants.ZERO; WmsBaseResponse result =null; try { result = wmsService.cancelInbound(param); }catch (BusinessException e){ log.error("【WMS】推送取消入库单通知任务===失败:"+e.getMessage()); success = Constants.ONE; }catch (Exception e){ log.error("【WMS】推送取消入库单通知任务===失败:"+e.getMessage()); e.printStackTrace(); success = Constants.ONE; }finally { wmsService.saveInterfaceLog("/wms/push/cancelInbound", "推送取消入库单通知任务",JSONObject.toJSONString(param), success, JSONObject.toJSONString(result),Constants.ONE); } return result; } @ApiOperation("【WMS】推送取消出库单通知任务") @LoginNoRequired @PostMapping("/push/cancelOutbound") public WmsBaseResponse cancelOutbound(@RequestBody WmsBaseRequest param) { int success = Constants.ZERO; WmsBaseResponse result =null; try { result = wmsService.cancelOutbound(param); }catch (BusinessException e){ log.error("【WMS】推送取消出库单通知任务===失败:"+e.getMessage()); success = Constants.ONE; }catch (Exception e){ log.error("【WMS】推送取消出库单通知任务===失败:"+e.getMessage()); e.printStackTrace(); success = Constants.ONE; }finally { wmsService.saveInterfaceLog("/wms/push/cancelOutbound", "【TMS】推送取消出库单通知任务", JSONObject.toJSONString(param), success, JSONObject.toJSONString(result),Constants.ONE); } return result; } @ApiOperation("【WMS】推送出入库作业完成通知任务") @LoginNoRequired @PostMapping("/push/doneTask") public WmsBaseResponse doneTask(@RequestBody WmsBaseRequest param) { int success = Constants.ZERO; WmsBaseResponse result = null; try { result = wmsService.doneTask(param); }catch (BusinessException e){ log.error("【WMS】推送出入库作业完成通知任务===失败:"+e.getMessage()); success = Constants.ONE; }catch (Exception e){ log.error("【WMS】推送出入库作业完成通知任务===失败:"+e.getMessage()); e.printStackTrace(); success = Constants.ONE; }finally { wmsService.saveInterfaceLog("/wms/push/doneTask", "推送出入库作业完成通知任务",JSONObject.toJSONString(param), success, JSONObject.toJSONString(result),Constants.ONE); } return result; } @ApiOperation("【WMS】获取车辆是否入园") @LoginNoRequired @PostMapping("/push/carInParkInfo") public WmsBaseResponse carInParkInfo(@RequestBody WmsBaseRequest param) { int success = Constants.ZERO; WmsBaseResponse result = null; try { result = wmsService.getCarInPark(param); }catch (BusinessException e){ log.error("【WMS】获取车辆是否入园===失败:"+e.getMessage()); success = Constants.ONE; }catch (Exception e){ log.error("【WMS】获取车辆是否入园===失败:"+e.getMessage()); e.printStackTrace(); success = Constants.ONE; }finally { wmsService.saveInterfaceLog("/wms/push/carInParkInfo", "获取车辆是否入园",JSONObject.toJSONString(param), success, JSONObject.toJSONString(result),Constants.ONE); } return result; } }