|
|
|
@ -95,77 +95,81 @@ public class GoodsServiceImpl implements GoodsService { |
|
|
|
// 获取到sourceData字段信息
|
|
|
|
JSONObject sdjson = (JSONObject) jsonArray.get(i); |
|
|
|
String nsdstr = sdjson.getString("sourceData"); |
|
|
|
JSONObject nsdjson = JSONObject.parseObject(nsdstr); |
|
|
|
// 从sourcedata节点中提取商品唯一编号
|
|
|
|
String goodsId= nsdjson.getString("identifier"); |
|
|
|
// 以identifier为主键查询详情
|
|
|
|
String gdetailUrl = gdurl+"/"+goodsId; |
|
|
|
// 请求商品的详情
|
|
|
|
JSONObject gdJson = RequestUtils.GetData(gdetailUrl, hmap); |
|
|
|
log.info(goodsId+"详情:"+gdJson); |
|
|
|
//处理返回的结果
|
|
|
|
JSONArray gdArr = gdJson.getJSONArray("data"); |
|
|
|
// 如果goods表中存在记录,不进行操作
|
|
|
|
Goods tgoods = goodsMapper.getGoodsByIsli(goodsId); |
|
|
|
if(tgoods!=null){ |
|
|
|
if(nsdstr==null){ |
|
|
|
continue; |
|
|
|
}else { |
|
|
|
JSONObject nsdjson = JSONObject.parseObject(nsdstr); |
|
|
|
// 从sourcedata节点中提取商品唯一编号
|
|
|
|
String goodsId = nsdjson.getString("identifier"); |
|
|
|
// 以identifier为主键查询详情
|
|
|
|
String gdetailUrl = gdurl + "/" + goodsId; |
|
|
|
// 请求商品的详情
|
|
|
|
JSONObject gdJson = RequestUtils.GetData(gdetailUrl, hmap); |
|
|
|
log.info(goodsId + "详情:" + gdJson); |
|
|
|
//处理返回的结果
|
|
|
|
JSONArray gdArr = gdJson.getJSONArray("data"); |
|
|
|
// 如果goods表中存在记录,不进行操作
|
|
|
|
Goods tgoods = goodsMapper.getGoodsByIsli(goodsId); |
|
|
|
if (tgoods != null) { |
|
|
|
continue; |
|
|
|
} |
|
|
|
// add goodsSource,循环插入 商品资源
|
|
|
|
for (int x = 0; x < gdArr.size(); x++) { |
|
|
|
JSONObject gditem = (JSONObject) gdArr.get(x); |
|
|
|
GoodsSource goodsSource = ApiGoodsUtils.jsonToGoodsSource(gditem, goodsId); |
|
|
|
goodsSourceMapper.add(goodsSource); |
|
|
|
} |
|
|
|
// insertGoodsDetail
|
|
|
|
GoodsDetail goodsDetail = ApiGoodsUtils.jsonToGoodsDetail(nsdjson, sdjson); |
|
|
|
// 返回商品详情
|
|
|
|
int gdid = goodsDetailMapper.add(goodsDetail); |
|
|
|
|
|
|
|
//抽取target 字段中的json,转为jsonobject
|
|
|
|
JSONObject targetJson = nsdjson.getJSONObject("targetData"); |
|
|
|
//处理状态
|
|
|
|
int istatus = 0; |
|
|
|
if (sdjson.getInteger("status") == 1 || sdjson.getInteger("status") == 4 || |
|
|
|
sdjson.getInteger("status") == 5) { |
|
|
|
istatus = 1; |
|
|
|
} else if (sdjson.getInteger("status") == 2) { |
|
|
|
istatus = 2; |
|
|
|
} else { |
|
|
|
istatus = 4; |
|
|
|
} |
|
|
|
//商品起止时间
|
|
|
|
String cstart = sdjson.getString("contractualPeriodStart"); |
|
|
|
String curTime = new SimpleDateFormat("HH:mm:ss").format(new Date()); |
|
|
|
String ncstart = cstart + " " + curTime; |
|
|
|
//
|
|
|
|
String cend = nsdjson.getString("contractualPeriodEnd"); |
|
|
|
String ncend = cend + " 23:59:59"; |
|
|
|
Goods goods = new Goods(); |
|
|
|
//起止时间转为timestamp
|
|
|
|
goods.setContractualStartTime(Timestamp.valueOf(ncstart)); |
|
|
|
goods.setContractualtimeEndTime(Timestamp.valueOf(ncend)); |
|
|
|
goods.setGoodsDetailId(gdid); |
|
|
|
goods.setContractStatus(nsdjson.getInteger("contractStatus")); |
|
|
|
goods.setGoodsStatus(istatus); |
|
|
|
goods.setOldStatus(0); // 默认为0
|
|
|
|
goods.setEntrustStatus(sdjson.getInteger("status")); |
|
|
|
//
|
|
|
|
goods.setUserIslicode(targetJson.getString("identifier")); |
|
|
|
goods.setUsername(targetJson.getString("titleName")); |
|
|
|
goods.setIsLicode(sdjson.getString("isliCode")); |
|
|
|
goods.setGoodsIslicode(nsdjson.getString("identifier")); |
|
|
|
goods.setRecommendSort(1); // 默认排序1
|
|
|
|
// 添加,返回当前的编号
|
|
|
|
int ret_gid = goodsMapper.addGoods(goods); |
|
|
|
//添加操作日志
|
|
|
|
OperationLog oplog = new OperationLog(); |
|
|
|
oplog.setLogid(goods.getId()); |
|
|
|
String nowStr = sdf.format(new Date()); |
|
|
|
String message = nowStr + " 发布标的成功"; |
|
|
|
oplog.setMessage(message); |
|
|
|
oplog.setType("goods"); |
|
|
|
// 日志入库
|
|
|
|
operationLogMapper.addLog(oplog); |
|
|
|
} |
|
|
|
// add goodsSource,循环插入 商品资源
|
|
|
|
for(int x=0;x<gdArr.size();x++){ |
|
|
|
JSONObject gditem = (JSONObject) gdArr.get(x); |
|
|
|
GoodsSource goodsSource = ApiGoodsUtils.jsonToGoodsSource(gditem,goodsId); |
|
|
|
goodsSourceMapper.add(goodsSource); |
|
|
|
} |
|
|
|
// insertGoodsDetail
|
|
|
|
GoodsDetail goodsDetail = ApiGoodsUtils.jsonToGoodsDetail(nsdjson,sdjson); |
|
|
|
// 返回商品详情
|
|
|
|
int gdid = goodsDetailMapper.add(goodsDetail); |
|
|
|
|
|
|
|
//抽取target 字段中的json,转为jsonobject
|
|
|
|
JSONObject targetJson=nsdjson.getJSONObject("targetData"); |
|
|
|
//处理状态
|
|
|
|
int istatus =0; |
|
|
|
if(sdjson.getInteger("status")==1 || sdjson.getInteger("status")==4 || |
|
|
|
sdjson.getInteger("status")==5){ |
|
|
|
istatus=1; |
|
|
|
}else if(sdjson.getInteger("status")==2){ |
|
|
|
istatus=2; |
|
|
|
}else{ |
|
|
|
istatus=4; |
|
|
|
} |
|
|
|
//商品起止时间
|
|
|
|
String cstart = sdjson.getString("contractualPeriodStart"); |
|
|
|
String curTime = new SimpleDateFormat("HH:mm:ss").format(new Date()); |
|
|
|
String ncstart= cstart+" "+curTime; |
|
|
|
//
|
|
|
|
String cend=nsdjson.getString("contractualPeriodEnd"); |
|
|
|
String ncend = cend+" 23:59:59"; |
|
|
|
Goods goods =new Goods(); |
|
|
|
//起止时间转为timestamp
|
|
|
|
goods.setContractualStartTime(Timestamp.valueOf(ncstart)); |
|
|
|
goods.setContractualtimeEndTime(Timestamp.valueOf(ncend)); |
|
|
|
goods.setGoodsDetailId(gdid); |
|
|
|
goods.setContractStatus(nsdjson.getInteger("contractStatus")); |
|
|
|
goods.setGoodsStatus(istatus); |
|
|
|
goods.setOldStatus(0); // 默认为0
|
|
|
|
goods.setEntrustStatus(sdjson.getInteger("status")); |
|
|
|
//
|
|
|
|
goods.setUserIslicode(targetJson.getString("identifier")); |
|
|
|
goods.setUsername(targetJson.getString("titleName")); |
|
|
|
goods.setIsLicode(sdjson.getString("isliCode")); |
|
|
|
goods.setGoodsIslicode(nsdjson.getString("identifier")); |
|
|
|
goods.setRecommendSort(1); // 默认排序1
|
|
|
|
// 添加,返回当前的编号
|
|
|
|
int ret_gid = goodsMapper.addGoods(goods); |
|
|
|
//添加操作日志
|
|
|
|
OperationLog oplog = new OperationLog(); |
|
|
|
oplog.setLogid(goods.getId()); |
|
|
|
String nowStr= sdf.format(new Date()); |
|
|
|
String message= nowStr+" 发布标的成功"; |
|
|
|
oplog.setMessage(message); |
|
|
|
oplog.setType("goods"); |
|
|
|
// 日志入库
|
|
|
|
operationLogMapper.addLog(oplog); |
|
|
|
// 计算器增加1
|
|
|
|
count++; |
|
|
|
} |
|
|
|
|