Browse Source

fix获取功能

master
xyiege 4 years ago
parent
commit
a9c80ea08f
  1. 2
      src/main/java/cn/chjyj/szwh/controller/admin/AdminGoodsController.java
  2. 142
      src/main/java/cn/chjyj/szwh/service/impl/GoodsServiceImpl.java

2
src/main/java/cn/chjyj/szwh/controller/admin/AdminGoodsController.java

@ -282,7 +282,9 @@ public class AdminGoodsController extends BaseController {
*/
@RequestMapping("/manualGetGoods")
public JSONObject manualGetGoods(){
int count = goodsService.getApiGoods();
jsonObject.put("msg","成功");
jsonObject.put("count",count);
return jsonObject;
}
}

142
src/main/java/cn/chjyj/szwh/service/impl/GoodsServiceImpl.java

@ -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++;
}

Loading…
Cancel
Save