#
Junjie
2024-01-08 807fada3651530d15fe244d812e7b18bf40bdd78
zy-asrs-openapi/src/main/java/com/zy/asrs/openapi/task/ReportApiScheduler.java
@@ -2,7 +2,10 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.alibaba.fastjson.support.config.FastJsonConfig;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.zy.asrs.common.domain.dto.ReportStockDto;
import com.zy.asrs.common.domain.enums.ApiType;
import com.zy.asrs.common.domain.enums.OrderSettleType;
import com.zy.asrs.common.openapi.entity.ApiList;
@@ -12,6 +15,7 @@
import com.zy.asrs.common.utils.HttpHandler;
import com.zy.asrs.common.wms.entity.Order;
import com.zy.asrs.common.wms.entity.OrderDetl;
import com.zy.asrs.common.wms.service.LocDetlService;
import com.zy.asrs.common.wms.service.OrderDetlService;
import com.zy.asrs.common.wms.service.OrderService;
import org.apache.commons.codec.digest.DigestUtils;
@@ -35,6 +39,8 @@
    private OrderDetlService orderDetlService;
    @Autowired
    private HostKeyService hostKeyService;
    @Autowired
    private LocDetlService locDetlService;
    @Scheduled(cron = "0/3 * * * * ? ")
    public void orderComplete() {
@@ -138,7 +144,29 @@
                .eq(ApiList::getType, ApiType.REPORT_STOCK.type)
                .eq(ApiList::getStatus, 1));
        for (ApiList apiList : list) {
            List<ReportStockDto> reportStockDto = locDetlService.getReportStockDto(apiList.getHostId());
            //封装数据
            HashMap<String, Object> data = new HashMap<>();
            data.put("stock", reportStockDto);
            getSign(data, apiList.getHostId());//获取签名
            //保留null值
            FastJsonConfig fastJsonConfig = new FastJsonConfig();
            fastJsonConfig.setSerializerFeatures(SerializerFeature.WriteMapNullValue, SerializerFeature.WriteNullListAsEmpty, SerializerFeature.WriteNullStringAsEmpty);
            String paramData = JSON.toJSONString(data, fastJsonConfig.getSerializeConfig(), fastJsonConfig.getSerializerFeatures());
            try {
                String response = new HttpHandler.Builder()
                        .setUri(apiList.getUrl())
                        .setJson(JSON.toJSONString(paramData))
                        .build()
                        .doPost();
                JSONObject result = JSON.parseObject(response);
                if (result.getOrDefault("code", 0).equals(200)) {
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }