From a9c80ea08f1bfa8702ebebd31808e8ba1b387ac6 Mon Sep 17 00:00:00 2001 From: xyiege Date: Thu, 15 Sep 2022 16:42:50 +0800 Subject: [PATCH] =?UTF-8?q?fix=E8=8E=B7=E5=8F=96=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/AdminGoodsController.java | 2 + .../szwh/service/impl/GoodsServiceImpl.java | 142 +++++++++--------- 2 files changed, 75 insertions(+), 69 deletions(-) diff --git a/src/main/java/cn/chjyj/szwh/controller/admin/AdminGoodsController.java b/src/main/java/cn/chjyj/szwh/controller/admin/AdminGoodsController.java index af81603..031c12d 100644 --- a/src/main/java/cn/chjyj/szwh/controller/admin/AdminGoodsController.java +++ b/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; } } diff --git a/src/main/java/cn/chjyj/szwh/service/impl/GoodsServiceImpl.java b/src/main/java/cn/chjyj/szwh/service/impl/GoodsServiceImpl.java index b259e91..65c99d2 100644 --- a/src/main/java/cn/chjyj/szwh/service/impl/GoodsServiceImpl.java +++ b/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