自动化立体仓库 - WMS系统
zyx
2023-08-25 9b2838fd5b53ae5ef4aa7e082e2718cc0ccc4466
src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
@@ -1,5 +1,7 @@
package com.zy.asrs.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.core.common.Cools;
@@ -16,12 +18,14 @@
import com.zy.common.model.OrderDto;
import com.zy.common.model.OrderMergeVo;
import com.zy.common.service.erp.ErpService;
import com.zy.common.utils.HttpHandler;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.text.SimpleDateFormat;
import java.util.*;
@Slf4j
@Service("orderService")
@@ -45,6 +49,14 @@
    private MatService matService;
    @Autowired
    private ErpService erpService;
    @Autowired
    private ApiLogService apiLogService;
    @Value("${u8.url}")
    private String url;
    @Value("${u8.orderReportPath}")
    private String orderReportPath;
    @Override
    public Order selectByNo(String orderNo) {
@@ -177,6 +189,22 @@
        orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_id", orderId));
    }
    public void report(Long orderId, Long userId) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Order order = this.selectById(orderId);
        Map<String, String> param = new HashMap<>();
        param.put("id",order.getOrderNo());
        param.put("dDate",sdf.format(new Date()));
        param.put("cHandler",userId.toString());
        int code = doHttpRequest(param, "单据审核", url, orderReportPath, null, "127.0.0.1");
        //int code = doHttpRequest(param, "单据审核", "localhost:8080", "/test/report", null, "127.0.0.1");
        if(code == 200){
            order.setSettle(6L);
            this.updateById(order);
        }
    }
    @Override
    public List<Order> selectComplete() {
        return this.baseMapper.selectComplete();
@@ -218,4 +246,39 @@
        return this.baseMapper.selectorderNoL(orderNo);
    }
    private int doHttpRequest(Object requestParam, String namespace, String url, String path, String appkey, String ip){
        String response = "";
        boolean success = false;
        try {
            response = new HttpHandler.Builder()
                    .setUri(url)
                    .setPath(path)
                    .setJson(JSONObject.toJSONString(requestParam))
                    .build()
                    .doPost();
            JSONObject jsonObject = JSON.parseObject(response);
            int code = (int) jsonObject.get("code");
            if(code != 200){
                throw new CoolException(jsonObject.get("msg").toString());
            }
            success = true;
            return code;
        }catch (Exception e){
            log.error(e.getMessage());
            throw new CoolException("调用接口响应错误");
        }finally {
            apiLogService.save(
                    namespace,
                    url + path,
                    appkey,
                    ip,
                    JSON.toJSONString(JSONObject.toJSONString(requestParam)),
                    response,
                    success
            );
        }
    }
}