From 12696b55dced0011e531fb75c6db40fe5f044fc1 Mon Sep 17 00:00:00 2001 From: xyiege Date: Thu, 3 Nov 2022 06:24:51 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E8=B4=AD=E7=89=A9=E8=BD=A6?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../szwh/service/impl/GoodsServiceImpl.java | 48 +++++++------------ .../java/cn/chjyj/szwh/utils/SzCarUtils.java | 19 ++++---- 2 files changed, 27 insertions(+), 40 deletions(-) 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 fdbe7f1..1caad66 100644 --- a/src/main/java/cn/chjyj/szwh/service/impl/GoodsServiceImpl.java +++ b/src/main/java/cn/chjyj/szwh/service/impl/GoodsServiceImpl.java @@ -623,55 +623,41 @@ public class GoodsServiceImpl implements GoodsService { //shop car infomation String shopRedisKey = "car_" + userIsli; JSONObject carjson = new JSONObject(); - // 购物车列表 - List carList = new ArrayList(); // car item Map cimap = new HashMap(); - // {"user_isli":"ssss",data:["sss","sss","sss"]} - //object Object shopCar = RedisUtil.get(shopRedisKey); // 购物车中有记录的 if (shopCar != null) { + carjson = JSONObject.parseObject(shopCar.toString()); + // 提取节点转为jsonarray JSONArray jsonArray = carjson.getJSONArray("data"); - if (jsonArray == null) { //为空需要添新的元素 - cimap.put("goods_isli", goodsIsli); - cimap.put("use_years", userYears); - carList.add(cimap); - } else { - //抽取出goods_isli + if (jsonArray != null) { //为空需要添新的元素 List cgilist = new ArrayList(); for (int x = 0; x < jsonArray.size(); x++) { JSONObject tmpjson = (JSONObject) jsonArray.get(x); + // goods_isli insert into list for checking has exist cgilist.add(tmpjson.getString("goods_isli")); - } - // goods_isli has been exist in car? - if(cgilist.contains(goodsIsli)){ - retmap.put("code", 400); - retmap.put("msg", "该标的已添加到购物车"); - }else { - cimap.put("goods_isli", goodsIsli); - cimap.put("use_years", userYears); - carList.add(cimap); - JSONObject retjson =SzCarUtils.addCart(shopRedisKey,userIsli,cimap); + // goods_isli has been exist in car? + if(cgilist.contains(goodsIsli)){ + retmap.put("code", 400); + retmap.put("msg", "该标的已添加到购物车"); + return retmap; + } } } - // 添加到购物车json - //carjson.put("user_isli",userIsli); - //carjson.put("data",carList); - RedisUtil.set(shopRedisKey, carjson.toJSONString()); + // } else { //first biuld car item - cimap.put("user_isli",goodsIsli); + cimap.put("goods_isli",goodsIsli); cimap.put("use_years",userYears); - // second add to carlist - carList.add(cimap); - //third add new wraper - carjson.put("user_isli",userIsli); - carjson.put("data",carList); - RedisUtil.set(shopRedisKey, carjson.toJSONString()); } //购物车添加成功 + JSONObject retjson =SzCarUtils.addCart(shopRedisKey,userIsli,cimap); + carjson.put("user_isli",userIsli); + carjson.put("data",retjson); + RedisUtil.set(shopRedisKey, carjson.toJSONString()); + retmap.put("code", 200); retmap.put("msg", "成功"); return retmap; diff --git a/src/main/java/cn/chjyj/szwh/utils/SzCarUtils.java b/src/main/java/cn/chjyj/szwh/utils/SzCarUtils.java index 0f46446..5e38645 100644 --- a/src/main/java/cn/chjyj/szwh/utils/SzCarUtils.java +++ b/src/main/java/cn/chjyj/szwh/utils/SzCarUtils.java @@ -18,22 +18,23 @@ public class SzCarUtils { * @return */ public static JSONObject addCart(String carkey,String userIsli, Map ugmap){ + List carItem = new ArrayList(); // get shopping car from redis Object shopCar = RedisUtil.get(carkey); - JSONObject shopCarJson = JSONObject.parseObject(shopCar.toString()); - JSONArray jsonArray = shopCarJson.getJSONArray("data"); - // good list - List carlist =new ArrayList<>(); - if(jsonArray.size()>0){ - for (int i=0;i