123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290 |
- package com.emato.biz.service.impl;
- import java.util.*;
- import com.alibaba.fastjson.JSON;
- import com.alibaba.fastjson.JSONArray;
- import com.alibaba.fastjson.JSONObject;
- import com.emato.biz.config.OmsConfig;
- import com.emato.biz.domain.warehouse.OWareAdjustmentOrderItem;
- import com.emato.biz.domain.warehouse.OWbInveMng;
- import com.emato.biz.mapper.warehouse.OWareAdjustmentOrderItemMapper;
- import com.emato.common.utils.DateUtils;
- import com.emato.common.utils.oms.request.OkHttpUtils;
- import com.emato.common.utils.oms.request.OmsSign;
- import okhttp3.Request;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import com.emato.biz.mapper.warehouse.OWareAdjustmentOrderMapper;
- import com.emato.biz.domain.warehouse.OWareAdjustmentOrder;
- import com.emato.biz.service.warehouse.IOWareAdjustmentOrderService;
- import org.springframework.transaction.annotation.Transactional;
- /**
- * 库存内调结转出入库记录Service业务层处理
- *
- * @author yangbo
- * @date 2021-02-01
- */
- @Service
- public class OWareAdjustmentOrderServiceImpl implements IOWareAdjustmentOrderService
- {
- @Autowired
- private OWareAdjustmentOrderMapper oWareAdjustmentOrderMapper;
- @Autowired
- private OWareAdjustmentOrderItemMapper oWareAdjustmentOrderItemMapper;
- private static final Logger LOGGER = LoggerFactory.getLogger(OWareAdjustmentOrderServiceImpl.class);
- /**
- * 查询库存内调结转出入库记录
- *
- * @param adjustmentOrderSn 库存内调结转出入库记录ID
- * @return 库存内调结转出入库记录
- */
- @Override
- public OWareAdjustmentOrder selectOWareAdjustmentOrderById(String adjustmentOrderSn)
- {
- return oWareAdjustmentOrderMapper.selectOWareAdjustmentOrderById(adjustmentOrderSn);
- }
- /**
- * 查询库存内调结转出入库记录列表
- *
- * @param oWareAdjustmentOrder 库存内调结转出入库记录
- * @return 库存内调结转出入库记录
- */
- @Override
- public List<OWareAdjustmentOrder> selectOWareAdjustmentOrderList(OWareAdjustmentOrder oWareAdjustmentOrder)
- {
- return oWareAdjustmentOrderMapper.selectOWareAdjustmentOrderList(oWareAdjustmentOrder);
- }
- /**
- * 新增库存内调结转出入库记录
- *
- * @param oWareAdjustmentOrder 库存内调结转出入库记录
- * @return 结果
- */
- @Override
- public int insertOWareAdjustmentOrder(OWareAdjustmentOrder oWareAdjustmentOrder)
- {
- oWareAdjustmentOrder.setCreateTime(DateUtils.getNowDate());
- return oWareAdjustmentOrderMapper.insertOWareAdjustmentOrder(oWareAdjustmentOrder);
- }
- /**
- * 修改库存内调结转出入库记录
- *
- * @param oWareAdjustmentOrder 库存内调结转出入库记录
- * @return 结果
- */
- @Override
- public int updateOWareAdjustmentOrder(OWareAdjustmentOrder oWareAdjustmentOrder)
- {
- return oWareAdjustmentOrderMapper.updateOWareAdjustmentOrder(oWareAdjustmentOrder);
- }
- /**
- * 批量删除库存内调结转出入库记录
- *
- * @param adjustmentOrderSns 需要删除的库存内调结转出入库记录ID
- * @return 结果
- */
- @Override
- public int deleteOWareAdjustmentOrderByIds(String[] adjustmentOrderSns)
- {
- return oWareAdjustmentOrderMapper.deleteOWareAdjustmentOrderByIds(adjustmentOrderSns);
- }
- /**
- * 删除库存内调结转出入库记录信息
- *
- * @param adjustmentOrderSn 库存内调结转出入库记录ID
- * @return 结果
- */
- @Override
- public int deleteOWareAdjustmentOrderById(String adjustmentOrderSn)
- {
- return oWareAdjustmentOrderMapper.deleteOWareAdjustmentOrderById(adjustmentOrderSn);
- }
- @Override
- @Transactional
- public int pullAdjustmentOrder(String merchSn) {
- int page = 1;
- Integer querySize = OmsConfig.getQuerySize();
- int resultCode = pullAdjustmentOrder(merchSn,page, querySize);
- while(resultCode != 1){
- page = page + 1;
- resultCode = pullAdjustmentOrder(merchSn, page, querySize);
- }
- return resultCode;
- }
- private int pullAdjustmentOrder(String merchSn, int page, Integer querySize) {
- Map<String,String> data = new HashMap();
- data.put("merchId",merchSn);
- data.put("page",page+"");
- data.put("limit",querySize.toString());
- Map<String, String> sParaTemp = new TreeMap<String, String>();
- sParaTemp.put("data", JSON.toJSONString(data));
- sParaTemp.put("merchId",OmsConfig.getMerchSn());
- String timestamp = String.valueOf(System.currentTimeMillis()/1000);
- sParaTemp.put("timestamp", timestamp);
- //生成要请求给oms秘钥
- // String sign = OmsSign.sign(sParaTemp,cus.getWaybill().get("secret-key"));
- LOGGER.info("md5混淆码参数:" + OmsConfig.getMd5Salt());
- String sign = OmsSign.sign(sParaTemp,OmsConfig.getMd5Salt());
- sParaTemp.put("sign", sign);
- //构建Request
- String url = OmsConfig.getQueryAdjustmentUrl();
- // url = "http://127.0.0.1:8680/al/shop/order/query";
- Request request = OkHttpUtils.buildRequest(url, JSON.toJSONString(sParaTemp));
- LOGGER.info("oms的请求报文:" + request);
- // 同步访问,返回结果字符串
- String responseString = null;
- try {
- responseString = OkHttpUtils.post(request);
- } catch (Exception e) {
- e.printStackTrace();
- LOGGER.error(e.getMessage());
- return 1;
- // throw e;
- }
- try {
- LOGGER.info("oms的响应报文"+responseString);
- //解析响应数据
- JSONObject jsonObject = JSONObject.parseObject(responseString);
- JSONArray result = (JSONArray) jsonObject.get("data");
- Object msg = jsonObject.get("msg");
- Object code = jsonObject.get("code");
- if(result == null || result.size() == 0){
- return 1;
- }
- for(int i = 0 ; i < result.size(); i ++){
- JSONObject o = (JSONObject) result.get(i);
- OWareAdjustmentOrder adjustmentOrder = o.toJavaObject(OWareAdjustmentOrder.class);
- // OWbInveMng wb = (OWbInveMng) o;
- oWareAdjustmentOrderMapper.saveOrUpdate(adjustmentOrder);
- }
- } catch (Exception e) {
- e.printStackTrace();
- LOGGER.error(e.getMessage());
- return 1;
- }
- return 0;
- }
- @Override
- public int pullAdjustmentorderDetail(String[] adjustmentOrderSns) {
- List<String> transferList = new ArrayList<>(adjustmentOrderSns.length);
- Collections.addAll(transferList,adjustmentOrderSns);
- int resultCode = 0;
- for (String adjustmentOrderSn : transferList) {
- int page = 1;
- Integer querySize = OmsConfig.getQuerySize();
- resultCode = pullAdjustmentorderDetailFromOms(adjustmentOrderSn,page, querySize);
- while(resultCode != 1){
- page = page + 1;
- resultCode = pullAdjustmentorderDetailFromOms(adjustmentOrderSn, page, querySize);
- }
- }
- return resultCode;
- }
- private int pullAdjustmentorderDetailFromOms(String adjustmentOrderSn, int page, Integer querySize) {
- Map<String,Object> data = new HashMap();
- data.put("adjustmentOrderSn",adjustmentOrderSn);
- data.put("page",page+"");
- data.put("limit",querySize.toString());
- Map<String, String> sParaTemp = new TreeMap<String, String>();
- sParaTemp.put("data", JSON.toJSONString(data));
- sParaTemp.put("merchId",OmsConfig.getMerchSn());
- String timestamp = String.valueOf(System.currentTimeMillis()/1000);
- sParaTemp.put("timestamp", timestamp);
- //生成要请求给oms秘钥
- // String sign = OmsSign.sign(sParaTemp,cus.getWaybill().get("secret-key"));
- LOGGER.info("md5混淆码参数:" + OmsConfig.getMd5Salt());
- String sign = OmsSign.sign(sParaTemp,OmsConfig.getMd5Salt());
- sParaTemp.put("sign", sign);
- //构建Request
- String url = OmsConfig.getQueryAdjustmentDetailUrl();
- // url = "http://127.0.0.1:8680/al/shop/order/query";
- Request request = OkHttpUtils.buildRequest(url, JSON.toJSONString(sParaTemp));
- LOGGER.info("oms的请求报文:" + request);
- // 同步访问,返回结果字符串
- String responseString = null;
- try {
- responseString = OkHttpUtils.post(request);
- } catch (Exception e) {
- e.printStackTrace();
- LOGGER.error(e.getMessage());
- return 1;
- // throw e;
- }
- try {
- LOGGER.info("oms的响应报文"+responseString);
- //解析响应数据
- JSONObject jsonObject = JSONObject.parseObject(responseString);
- JSONArray result = (JSONArray) jsonObject.get("data");
- Object msg = jsonObject.get("msg");
- Object code = jsonObject.get("code");
- if(result == null || result.size() == 0){
- return 1;
- }
- for(int i = 0 ; i < result.size(); i ++){
- JSONObject o = (JSONObject) result.get(i);
- OWareAdjustmentOrderItem adjustmentOrderItem = o.toJavaObject(OWareAdjustmentOrderItem.class);
- // OWbInveMng wb = (OWbInveMng) o;
- oWareAdjustmentOrderItemMapper.saveOrUpdate(adjustmentOrderItem);
- }
- } catch (Exception e) {
- e.printStackTrace();
- LOGGER.error(e.getMessage());
- return 1;
- }
- return 0;
- }
- }
|