Browse Source

完成资源详情

master
xyiege 4 years ago
parent
commit
4a52f32206
  1. 19
      src/main/java/cn/chjyj/szwh/service/GoodsSourceService.java
  2. 106
      src/main/java/cn/chjyj/szwh/service/impl/GoodsSourceServiceImpl.java

19
src/main/java/cn/chjyj/szwh/service/GoodsSourceService.java

@ -0,0 +1,19 @@
package cn.chjyj.szwh.service;
import cn.chjyj.szwh.bean.GoodsSource;
import java.util.Map;
/**
* 商品资源信息
*/
public interface GoodsSourceService {
/**
*
* @param isli
* @param islicode
* @param batchcode
* @return
*/
Map<String,Object> getGoodsSourceDetail(String isli, String islicode, String batchcode);
}

106
src/main/java/cn/chjyj/szwh/service/impl/GoodsSourceServiceImpl.java

@ -0,0 +1,106 @@
package cn.chjyj.szwh.service.impl;
import cn.chjyj.szwh.bean.GoodsSource;
import cn.chjyj.szwh.bean.OrderGoodsDetail;
import cn.chjyj.szwh.mapper.GoodsSourceMapper;
import cn.chjyj.szwh.mapper.OrderGoodsDetailMapper;
import cn.chjyj.szwh.service.GoodsSourceService;
import cn.chjyj.szwh.utils.SzFileUtils;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.json.JsonMapper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
@Service
public class GoodsSourceServiceImpl implements GoodsSourceService {
@Autowired
private GoodsSourceMapper goodsSourceMapper;
@Autowired
private OrderGoodsDetailMapper orderGoodsDetailMapper;
@Override
public Map<String, Object> getGoodsSourceDetail(String isli, String islicode, String batchcode) {
Map query = new HashMap<>();
query.put("sourceIdentify", isli);
if (StringUtils.isNotBlank(batchcode)) {
query.put("batchcode", batchcode);
}
List<GoodsSource> gslist = goodsSourceMapper.getGoodsSourceByMap(query, 0, 10);
//返回map
Map<String, Object> retmap = new HashMap<>();
//
Map info = new HashMap();
List gatherList = new ArrayList();
//遍历
int ind = 0;
for (GoodsSource gs : gslist) {
JSONObject jssdata = JSONObject.parseObject(gs.getSourceData());
JSONObject tgdata = JSONObject.parseObject(gs.getTargetData());
if (ind < 1) {
info.put("source_name", gs.getSourceName());
String otherIndFiler = jssdata.getString("otherIdentifiers");
info.put("otherIdentifiers", StringUtils.isNotBlank(otherIndFiler) ? otherIndFiler : "-");
info.put("identifier", jssdata.getString("identifier"));
info.put("collectionType", jssdata.getString("collectionType"));
info.put("serviceType", jssdata.getString("serviceType"));
info.put("classification", jssdata.getString("classification"));
info.put("contributors", jssdata.getString("contributors"));
info.put("copyrightOwner" ,jssdata.getString("copyrightOwner"));
info.put("carrier" ,jssdata.getString("carrier"));
info.put("registrant" ,jssdata.getString("registrant"));
info.put("registerDate" ,jssdata.getString("registerDate"));
info.put("repositoryName",jssdata.getString("repositoryName"));
String dimen = jssdata.getString("dimensions");
info.put("dimensions" ,StringUtils.isNotBlank(dimen)?dimen:"-");
info.put("quantity" ,jssdata.getString("quantity"));
info.put("label" ,jssdata.getString("label"));
info.put("description",jssdata.getString("description"));
info.put("md5Val" ,jssdata.getString("md5Val"));
info.put("databaseId" ,jssdata.getString("databaseId"));
info.put("edition" ,jssdata.getString("edition"));
info.put("collectionCondition" ,jssdata.getString("collectionCondition"));
info.put("cover" ,jssdata.getString("cover"));
// 索引增加
ind++;
}
// 标的信息
Long filesize =tgdata.getLongValue("metadataFileSize");
// 格式化文件大小
String formatFileSize = SzFileUtils.fileSizeFormat(filesize);
//
Map gather = new HashMap();
gather.put("target_name",gs.getTargetName());
gather.put("identifier" ,tgdata.getString("identifier"));
gather.put("linkCode" , gs.getLinkcode());
gather.put("filesize" , formatFileSize);
gather.put("metadataFileFormat" ,tgdata.getString("metadataFileFormat"));
gather.put("registerDate" ,tgdata.getString("registerDate"));
//订单号 委托码 不为空的情况
if(StringUtils.isNotEmpty(batchcode) && StringUtils.isNotEmpty(islicode)){
String ogdstr = orderGoodsDetailMapper.getOrderGoodsDetailSourceDownload(batchcode,islicode);
JSONObject ogdjson = JSONObject.parseObject(ogdstr);
String sdstatus = ogdjson.getString("status");
String sdislicode = ogdjson.getString("islicode");
if(gs.getLinkcode().equals(sdislicode)){
gather.put("download_status",sdstatus);
}
}
String serviceType = tgdata.getString("serviceType");
Map stmap = new HashMap();
stmap.put("source",gather);
stmap.put("serviceType",serviceType);
// add to list
gatherList.add(stmap);
}
retmap.put("info",info);
retmap.put("gather_arr",gatherList);
return retmap;
}
}
Loading…
Cancel
Save