package com.fzzy.otherview.whhpjl.pr;
|
|
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSONObject;
|
import com.bstek.dorado.annotation.DataProvider;
|
import com.bstek.dorado.annotation.DataResolver;
|
import com.bstek.dorado.annotation.Expose;
|
import com.fzzy.api.Constant;
|
import com.fzzy.api.data.ApiParam;
|
import com.fzzy.api.dto.ResponseDto;
|
import com.fzzy.api.entity.ApiConfs;
|
import com.fzzy.api.entity.ApiInfoData;
|
import com.fzzy.api.service.ApiCommonService;
|
import com.fzzy.api.service.ApiPushManager;
|
import com.fzzy.api.service.ApiRemoteService;
|
import com.fzzy.api.view.repository.ApiInfoDataRep;
|
import com.fzzy.otherview.whhpjl.WhjlConstant;
|
import com.fzzy.otherview.whhpjl.dto.WhjlShareApi2008;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Component;
|
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* 共享接口-产品分类
|
*
|
* @author czt
|
*/
|
@Component
|
public class WhjlShareApi2008PR {
|
@Autowired
|
private ApiCommonService apiCommonService;
|
@Autowired
|
private ApiPushManager apiPushManager;
|
@Autowired
|
private ApiInfoDataRep apiInfoDataRep;
|
|
/**
|
* 获取列表信息
|
* whjlShareApi2008PR#listData
|
*
|
* @return
|
*/
|
@DataProvider
|
public List<WhjlShareApi2008> listData() {
|
List<ApiInfoData> result = apiInfoDataRep.getDataByInteId(WhjlConstant.API_CODE_2008);
|
if (null == result || result.isEmpty()) {
|
return null;
|
}
|
List<WhjlShareApi2008> list = new ArrayList<>();
|
WhjlShareApi2008 whjlShareApiData;
|
for (ApiInfoData infoData : result) {
|
whjlShareApiData = JSONObject.parseObject(infoData.getData(), WhjlShareApi2008.class);
|
whjlShareApiData.setKqdm(infoData.getKqdm());
|
whjlShareApiData.setCzbz(infoData.getCzbz());
|
whjlShareApiData.setUpdateTime(infoData.getUpdateTime());
|
list.add(whjlShareApiData);
|
}
|
return list;
|
}
|
|
|
/**
|
* 更新或修改
|
* whjlShareApi2008PR#saveData
|
*
|
* @param data
|
* @return
|
*/
|
@DataResolver
|
public void saveData(WhjlShareApi2008 data) {
|
ApiInfoData infoData = new ApiInfoData();
|
infoData.setId(data.getJlccjhbh());
|
infoData.setKqdm(data.getKqdm());
|
infoData.setInteType(WhjlConstant.API_CATEGORY_20);
|
infoData.setInteId(WhjlConstant.API_CODE_2008);
|
infoData.setUpdateTime(new Date());
|
infoData.setDataId(data.getJlccjhbh());
|
infoData.setData(JSON.toJSONString(data));
|
infoData.setCzbz(data.getCzbz());
|
infoData.setRemarks("备注信息");
|
|
apiInfoDataRep.save(infoData);
|
}
|
|
|
/**
|
* 删除
|
* whjlShareApi2008PR#delData
|
*
|
* @param data
|
* @return
|
*/
|
@Expose
|
public String delData(WhjlShareApi2008 data) {
|
apiInfoDataRep.deleteById(data.getJlccjhbh());
|
return null;
|
}
|
|
/**
|
* 更新数据
|
* whjlShareApi2008PR#pullData
|
*
|
* @param items
|
* @return
|
*/
|
@Expose
|
public String pullData(List<WhjlShareApi2008> items) {
|
|
|
//获取配置信息
|
List<ApiConfs> apiConfs = apiCommonService.listCacheConf();
|
if (null == apiConfs || apiConfs.isEmpty()) {
|
return "系统没有获取到库区配置信息,执行失败";
|
}
|
|
ApiRemoteService apiService;
|
ApiParam param;
|
ResponseDto responseDto;
|
ApiInfoData infoData;
|
String result = "";
|
List<WhjlShareApi2008> list;
|
for (ApiConfs apiConf : apiConfs) {
|
apiService = apiPushManager.getApiRemoteService(apiConf.getPushProtocol());
|
if (null == apiService) {
|
continue;
|
}
|
//封装参数
|
param = new ApiParam(apiConf, WhjlConstant.API_CATEGORY_20, WhjlConstant.API_CODE_2008);
|
responseDto = apiService.pullData(param, apiConf);
|
|
if (responseDto.getSuccess() == 0) {
|
list = JSONObject.parseArray(responseDto.getData(), WhjlShareApi2008.class);
|
if(null != list && list.size() > 0){
|
for (WhjlShareApi2008 shareData : list) {
|
shareData.setCzbz(Constant.CZBZ_U);
|
infoData = new ApiInfoData();
|
infoData.setId(shareData.getJlccjhbh());
|
infoData.setKqdm(apiConf.getKqdm());
|
infoData.setInteType(WhjlConstant.API_CATEGORY_20);
|
infoData.setInteId(WhjlConstant.API_CODE_2008);
|
infoData.setUpdateTime(new Date());
|
infoData.setDataId(shareData.getJlccjhbh());
|
infoData.setData(JSON.toJSONString(shareData));
|
infoData.setCzbz(Constant.CZBZ_U);
|
apiInfoDataRep.save(infoData);
|
}
|
}
|
}
|
result += responseDto.toString();
|
return result;
|
}
|
return null;
|
}
|
}
|