Browse Source

调整购物车逻辑

master
xyiege 3 years ago
parent
commit
da4c049fa8
  1. 27
      src/main/java/cn/chjyj/szwh/service/impl/GoodsServiceImpl.java
  2. 19
      src/main/java/cn/chjyj/szwh/utils/SzCarUtils.java

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

@ -654,9 +654,9 @@ public class GoodsServiceImpl implements GoodsService {
}
//购物车添加成功
JSONObject retjson =SzCarUtils.addCart(shopRedisKey,userIsli,cimap);
carjson.put("user_isli",userIsli);
carjson.put("data",retjson);
RedisUtil.set(shopRedisKey, carjson.toJSONString());
// carjson.put("user_isli",userIsli);
// carjson.put("data",retjson);
// RedisUtil.set(shopRedisKey, carjson.toJSONString());
retmap.put("code", 200);
retmap.put("msg", "成功");
@ -687,7 +687,7 @@ public class GoodsServiceImpl implements GoodsService {
AccountRatioDetail accountRatioDetail = accountRatioDetailMapper.getAccRatioDetailByIdRole(accountRatioSetting.getId(), 2);
//循环枚举
if (jsonArray.size() > 0) {
if (jsonArray!=null && jsonArray.size() > 0) {
//goods information
for (int x =0; x<jsonArray.size(); x++) {
Map<String, Object> retmap = new HashMap<>();
@ -695,21 +695,19 @@ public class GoodsServiceImpl implements GoodsService {
String goodsIsli = jsonObject.getString("goods_isli");
//goods
Goods goods = goodsMapper.getGoodsByIsli(goodsIsli);
// 将good 实体中 压扁,变成k-v形式
retmap = JSONObject.parseObject(JSON.toJSONString(goods));
// retmap.put("goods_islicode",goodsIsli);
// retmap.put("username",goods.getUsername());
// GoodsListVo goodsListVo = goodsMapper.getSingleGoodsListVOByGoodsIsli(goodsIsli);
// retmap =JSONObject.parseObject(JSON.toJSONString(goodsListVo));
if(goods!=null) {
//goods detail
GoodsDetail goodsDetail = goodsDetailMapper.getGoodsDetailBygid(goods.getGoodsDetailId());
Map gdmap = new HashMap();
gdmap.put("goods_image",goodsDetail.getGoodsImage());
gdmap.put("goods_name",goodsDetail.getGoodsName());
gdmap.put("goods_entrust",goodsDetail.getGoodsEntrust());
gdmap.put("charges_type",goodsDetail.getChargesType());
gdmap.put("price",goodsDetail.getPrice());
gdmap.put("goods_image", goodsDetail.getGoodsImage());
gdmap.put("goods_name", goodsDetail.getGoodsName());
gdmap.put("goods_entrust", goodsDetail.getGoodsEntrust());
gdmap.put("charges_type", goodsDetail.getChargesType());
gdmap.put("price", goodsDetail.getPrice());
retmap.put("detail", gdmap);
// 计算服务费
Integer count = jsonObject.getInteger("use_years");
if (goodsDetail.getGoodsEntrust() == 1) {
@ -747,6 +745,7 @@ public class GoodsServiceImpl implements GoodsService {
JSONObject userjson = SzwhApiUtils.getApiUser(userIsli);
Map umap = JSONObject.parseObject(userjson.getString("data"));
retmap.put("user", umap);
}
// add retlist
retlist.add(retmap);

19
src/main/java/cn/chjyj/szwh/utils/SzCarUtils.java

@ -13,28 +13,33 @@ import java.util.Map;
public class SzCarUtils {
/**
* add goods to shop car
*
* @param carkey
* @param ugmap goods_isli and user_isli map
* @return
*/
public static JSONObject addCart(String carkey,String userIsli, Map ugmap){
public static JSONObject addCart(String carkey, String userIsli, Map ugmap) {
List carItem = new ArrayList();
// get shopping car from redis
Object shopCar = RedisUtil.get(carkey);
// 对象存在
if(shopCar!=null) {
JSONObject shopCarJson = JSONObject.parseObject(shopCar.toString());
JSONArray jsonArray = shopCarJson.getJSONArray("data");
if(jsonArray!=null) {
if (jsonArray != null) {
for (int x = 0; x < jsonArray.size(); x++) {
carItem.add(jsonArray.getJSONObject(x));
//carItem.add(jsonArray.getJSONObject(x));
carItem.add(jsonArray.get(x));
}
}
}else{
carItem.add(new JSONObject(ugmap));
}
// add new
carItem.add(new JSONObject(ugmap));
JSONObject outjson = new JSONObject();
outjson.put("user_isli",userIsli);
outjson.put("data",carItem);
outjson.put("user_isli", userIsli);
outjson.put("data", carItem);
RedisUtil.set(carkey, outjson.toJSONString());
return outjson;
}
}

Loading…
Cancel
Save