Browse Source

变更名称

master
xyiege 3 years ago
parent
commit
f8e1fbee11
  1. 144
      src/main/java/cn/chjyj/szwh/utils/ApiGoodsUtils.java

144
src/main/java/cn/chjyj/szwh/utils/ApiGoodsUtils.java

@ -0,0 +1,144 @@
package cn.chjyj.szwh.utils;
import cn.chjyj.szwh.bean.GoodsDetail;
import cn.chjyj.szwh.bean.GoodsSource;
import com.alibaba.fastjson.JSONObject;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 处理api数据转为bean
*/
public class ApiGoodsUtils {
/**
* 从json字符串中抽取对象
* @param innerJson
* @param islicode
* @return
*/
public static GoodsSource jsonToGoodsSource(JSONObject innerJson,String islicode){
SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
GoodsSource goodsSource = new GoodsSource();
goodsSource.setServicecode(innerJson.getString("'serviceCode'"));
goodsSource.setLinkcode(innerJson.getString("linkCode"));
// 发布 id
String pubid = innerJson.getString("publisherId");
goodsSource.setPublisherid(Integer.valueOf(pubid));
goodsSource.setRegistrant(innerJson.getString("register"));
goodsSource.setResolutionUrl(innerJson.getString("resolutionUrl"));
goodsSource.setSourceType(innerJson.getString("sourceType"));
goodsSource.setSourceNameType(innerJson.getString("sourceNameType"));
goodsSource.setSourceName(innerJson.getString("sourceName"));
//
goodsSource.setSourceidentify(innerJson.getString("sourceIdentify"));
goodsSource.setSourceFragment(innerJson.getString("sourceFragment"));
goodsSource.setTargetName(innerJson.getString("targetName"));
goodsSource.setTargetNameType(innerJson.getString("targetNameType"));
goodsSource.setTargetidentify(innerJson.getString("targetIdentify"));
//
goodsSource.setTargetFragment(innerJson.getString("targetFragment"));
goodsSource.setTargetformat(innerJson.getString("targetFormat"));
// 存放了json字符串
goodsSource.setSourceData(innerJson.getString("sourceData"));
goodsSource.setTargetData(innerJson.getString("targetData"));
//
goodsSource.setMetadataxml(innerJson.getString("metadataXml"));
goodsSource.setCancellationReason(innerJson.getString("cancellationReason"));
// 字符串转为日期时间格式
String aldate =innerJson.getString("allocationDate");
try {
Date ndate = sdf.parse(aldate);
goodsSource.setAllocationtime(ndate);
}catch (Exception ex){
// do nothing
}
goodsSource.setSourceType(innerJson.getString("dataType"));
try{
String cldate = innerJson.getString("cancellationDate");
Date cndate =sdf.parse(cldate);
goodsSource.setCancellationtime(cndate);
}catch (Exception ex){
//do nothing
}
// 产品主键
goodsSource.setGoodsIsliCode(islicode);
return goodsSource;
}
/**
* 从json字符串中抽取商品详情
* @param json soucedata中的字段
* @param nodejson json数组中的单项
* @return
*/
public static GoodsDetail jsonToGoodsDetail(JSONObject json,JSONObject nodejson){
// 抽取出sourcedata
String sprice = json.getString("price");
float price = Float.valueOf(sprice);
GoodsDetail goodsDetail = new GoodsDetail();
goodsDetail.setGoodsName(json.getString("titleName"));
goodsDetail.setGoodsImage(json.getString("cover"));
goodsDetail.setPrice(new BigDecimal(sprice));
// 商品类型
int igtype = "文化资源数据".equalsIgnoreCase("collectionType")?1:2;
goodsDetail.setGoodsType(igtype);
//
int ictype = price<=0?1:2;
goodsDetail.setChargesType(ictype);
goodsDetail.setGoodsIslicode(json.getString("identifier"));
goodsDetail.setContractualPeriod(0);
goodsDetail.setSourcedataIslicode(json.getString("isliCode"));
goodsDetail.setEarnestMoney(new BigDecimal(0));
//权属问题
String stclass=json.getString("transactionKind");
int istclass = "权属".equals(stclass)?1:2;
goodsDetail.setTransactionClass(istclass);
// 交易类型
String transactionType = json.getString("transactionType");
if(istclass==1){
goodsDetail.setIdentifier(json.getString("identifier"));
goodsDetail.setIdentifiers(json.getString("identifiers"));
goodsDetail.setGoodsOwnershipStr(json.getString("rights"));
// 判断交易类型
int itranstype = "授权".equals(transactionType)?2:1;
goodsDetail.setGoodsEntrust(itranstype);
if(itranstype==2){
goodsDetail.setStock(-1);
}else{
goodsDetail.setStock(1);
}
}else{
goodsDetail.setIdentifier(json.getString("identifier"));
goodsDetail.setClassification(json.getString("classification"));
int irate = "租赁".equalsIgnoreCase(transactionType)?3:4;
goodsDetail.setGoodsEntrust(irate);
goodsDetail.setStock(1);
}
// 商品描述
goodsDetail.setContract(json.getString("description"));
goodsDetail.setOtheridentifiers(json.getString("otherIdentifiers"));
//
goodsDetail.setDataJson(nodejson.toJSONString());
goodsDetail.setSourceJson(json.toJSONString());
//处理授权周期
String contractualPeriod =json.getString("contractualPeriod");
int iperiod = 0; //授权周期
if("永久".equals(contractualPeriod)){
iperiod=1;
}
if("单次".equals(contractualPeriod)){
iperiod=2;
}
if("周期".equals(contractualPeriod)){
iperiod=3;
}
goodsDetail.setContractualPeriod(iperiod);
return goodsDetail;
}
}
Loading…
Cancel
Save