package com.doumee.api.business; 
 | 
  
 | 
import com.alibaba.fastjson.JSONObject; 
 | 
import com.doumee.api.BaseController; 
 | 
import com.doumee.core.annotation.pr.PreventRepeat; 
 | 
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.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; 
 | 
  
 | 
/** 
 | 
 * @author 江蹄蹄 
 | 
 * @date 2023/11/30 15:33 
 | 
 */ 
 | 
@Api(tags = "WMS平台数据推送接口") 
 | 
@RestController 
 | 
@RequestMapping("/wms") 
 | 
@Slf4j 
 | 
public class WmsPushController extends BaseController { 
 | 
  
 | 
    @Autowired 
 | 
    private WmsService wmsService; 
 | 
  
 | 
    @PreventRepeat 
 | 
    @ApiOperation("【WMS】推送入库单通知任务") 
 | 
    @PostMapping("/push/inboundNotice") 
 | 
    public WmsBaseResponse inboundNotice(@RequestBody WmsBaseRequest<WmsInboundNoticeRequest> param) { 
 | 
  
 | 
        int success = Constants.ZERO; 
 | 
        WmsBaseResponse result =null; 
 | 
        try { 
 | 
             result = wmsService.inboundNotice(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/inboundNotice", "推送入库单通知任务",JSONObject.toJSONString(param), 
 | 
                    success, JSONObject.toJSONString(result),Constants.ONE); 
 | 
        } 
 | 
        return result; 
 | 
    } 
 | 
  
 | 
    @PreventRepeat 
 | 
    @ApiOperation("【WMS】推送出库单通知任务") 
 | 
    @PostMapping("/push/outboundNotice") 
 | 
    public WmsBaseResponse outboundNotice(@RequestBody WmsBaseRequest<WmsOutboundNoticeRequest> param) { 
 | 
        int success = Constants.ZERO; 
 | 
        WmsBaseResponse result =null; 
 | 
        try { 
 | 
              result = wmsService.outboundNotice(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/outboundNotice", "【WMS】推送出库单通知任务",JSONObject.toJSONString(param),success 
 | 
                    , JSONObject.toJSONString(result),Constants.ONE); 
 | 
        } 
 | 
  
 | 
        return result; 
 | 
    } 
 | 
    @PreventRepeat 
 | 
    @ApiOperation("【WMS】推送取消入库单通知任务") 
 | 
    @PostMapping("/push/cancelInbound") 
 | 
    public WmsBaseResponse cancelInbound(@RequestBody WmsBaseRequest<WmsActionNoticeRequest> 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; 
 | 
    } 
 | 
    @PreventRepeat 
 | 
    @ApiOperation("【WMS】推送取消出库单通知任务") 
 | 
    @PostMapping("/push/cancelOutbound") 
 | 
    public WmsBaseResponse cancelOutbound(@RequestBody WmsBaseRequest<WmsActionNoticeRequest> 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", "推送取消出库单通知任务", 
 | 
                    JSONObject.toJSONString(param),  success, JSONObject.toJSONString(result),Constants.ONE); 
 | 
        } 
 | 
        return result; 
 | 
    } 
 | 
    @PreventRepeat 
 | 
    @ApiOperation("【WMS】推送出入库作业完成通知任务") 
 | 
    @PostMapping("/push/doneTask") 
 | 
    public WmsBaseResponse doneTask(@RequestBody WmsBaseRequest<WmsActionNoticeRequest> 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; 
 | 
    } 
 | 
} 
 |