记得上下班打卡 | git大法好,push需谨慎

Commit 4dc7231b authored by zhengfuxin's avatar zhengfuxin

修改购物车

parent bf2b83ab
...@@ -25,6 +25,8 @@ public class GoblinShoppingCartVoo implements Serializable { ...@@ -25,6 +25,8 @@ public class GoblinShoppingCartVoo implements Serializable {
//mongodb userid //mongodb userid
private String userId; private String userId;
private int shoopingCount;
private static final GoblinShoppingCartVoo obj = new GoblinShoppingCartVoo(); private static final GoblinShoppingCartVoo obj = new GoblinShoppingCartVoo();
......
...@@ -3,17 +3,13 @@ package com.liquidnet.service.goblin.controller; ...@@ -3,17 +3,13 @@ package com.liquidnet.service.goblin.controller;
import com.liquidnet.common.cache.redis.util.RedisUtil; import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.CurrentUtil; import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.constant.GoblinRedisConst;
import com.liquidnet.service.goblin.dto.vo.GoblinShoppingCartVoo; import com.liquidnet.service.goblin.dto.vo.GoblinShoppingCartVoo;
import com.liquidnet.service.goblin.service.impl.GoblinFrontServiceImpl; import com.liquidnet.service.goblin.service.impl.GoblinFrontServiceImpl;
import com.liquidnet.service.goblin.util.GoblinRedisUtils; import com.liquidnet.service.goblin.util.GoblinRedisUtils;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/** /**
* @author zhangfuxin * @author zhangfuxin
...@@ -44,11 +40,25 @@ public class GoblinFrontLoginController { ...@@ -44,11 +40,25 @@ public class GoblinFrontLoginController {
return ResponseDto.success( goblinFrontService.updateShopCart(spuId,storeId,skuId,number,userId)); return ResponseDto.success( goblinFrontService.updateShopCart(spuId,storeId,skuId,number,userId));
} }
@GetMapping("getShopCartCount")
@ApiOperation("获取商品数量")
public ResponseDto getShopCartCount() {
String userId=CurrentUtil.getCurrentUid();
return ResponseDto.success(goblinFrontService.getShopCartCount(userId));
}
@PostMapping("deleteShopCart")
@ApiOperation("删除商品")
public ResponseDto deleteShopCart(String skuIds) {
String userId=CurrentUtil.getCurrentUid();
return ResponseDto.success(goblinFrontService.delteShoppingCart(skuIds.split(","),userId));
}
@GetMapping("getShopCart") @GetMapping("getShopCart")
@ApiOperation("获得购物车列表") @ApiOperation("获得购物车列表")
public ResponseDto<GoblinShoppingCartVoo> getShopCart() { public ResponseDto<GoblinShoppingCartVoo> getShopCart() {
String userId=CurrentUtil.getCurrentUid(); String userId=CurrentUtil.getCurrentUid();
return ResponseDto.success((GoblinShoppingCartVoo)redisUtil.get(GoblinRedisConst.FRONT_SHOPCART.concat(userId))); return ResponseDto.success(goblinFrontService.getShoppCart(userId));
} }
...@@ -59,4 +69,5 @@ public class GoblinFrontLoginController { ...@@ -59,4 +69,5 @@ public class GoblinFrontLoginController {
} }
...@@ -25,10 +25,7 @@ import java.math.BigDecimal; ...@@ -25,10 +25,7 @@ import java.math.BigDecimal;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.*;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
@Service @Service
public class GoblinFrontServiceImpl implements GoblinFrontService { public class GoblinFrontServiceImpl implements GoblinFrontService {
...@@ -419,10 +416,85 @@ public class GoblinFrontServiceImpl implements GoblinFrontService { ...@@ -419,10 +416,85 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
return true; return true;
} }
public int getShopCartCount(String userId){
int count=0;
GoblinShoppingCartVoo goblinShoppingCartVoo= (GoblinShoppingCartVoo) redisUtil.get(GoblinRedisConst.FRONT_SHOPCART.concat(userId));
if(null!=goblinShoppingCartVoo){
List<GoblinShoppingCartVo> shopList=goblinShoppingCartVoo.getShopList();
for(GoblinShoppingCartVo goblinShoppingCartVo:shopList){
List<GoblinShoppingCartVoDetail> skuList=goblinShoppingCartVo.getSkuList();
for(GoblinShoppingCartVoDetail goblinShoppingCartVoDetail:skuList){
count=goblinShoppingCartVoDetail.getNumber()+count;
}
}
}
return count;
}
/** /**
* 删除购物车里面的商品 * 删除购物车里面的商品
*/ */
public boolean delteShoppingCart(String[] skuIds,String userId) {
boolean isDeleteAll = false;
GoblinShoppingCartVoo goblinShoppingCartVoo = (GoblinShoppingCartVoo) redisUtil.get(GoblinRedisConst.FRONT_SHOPCART.concat(userId));
if (null != goblinShoppingCartVoo) {
List<GoblinShoppingCartVo> shopList = goblinShoppingCartVoo.getShopList();
for (GoblinShoppingCartVo goblinShoppingCartVo : shopList) {
List<GoblinShoppingCartVoDetail> skuList = goblinShoppingCartVo.getSkuList();
for (GoblinShoppingCartVoDetail goblinShoppingCartVoDetail : skuList) {
for (String skuId : skuIds) {
if (goblinShoppingCartVoDetail.getSkuId().equals(skuId)) {
skuList.remove(goblinShoppingCartVoDetail);
if(skuList.size()==0){
break;
}
}
}
}
}
}
/* //创建 voo
GoblinShoppingCartVoo goblinShoppingCartVoo1=GoblinShoppingCartVoo.getNew();
// 根据shop分类
ArrayList<GoblinShoppingCartVo> list=ObjectUtil.goblinShoppingCartVoArrayList();
GoblinShoppingCartVo goblinShoppingCartVo=GoblinShoppingCartVo.getNew();
goblinShoppingCartVo.setStoreId(storeId);
//该商铺下的所有商品
ArrayList<GoblinShoppingCartVoDetail> list1=ObjectUtil.goblinShoppingCartVoDetailArrayList();
//创建 购物车vo
GoblinShoppingCartVoDetail goblinShoppingCartVoDetail=this.setValue(userId,storeId,spuId,skuId,1);
list1.add(goblinShoppingCartVoDetail);
goblinShoppingCartVo.setSkuList(list1);
list.add(goblinShoppingCartVo);
goblinShoppingCartVoo1.setShopList(list);
goblinShoppingCartVoo1.setGoblinShoppingCartId(IDGenerator.nextSnowId());
saveRedisMongodbMysqlShop(goblinShoppingCartVoo1,userId);
*/
/*for(Map<String,String> map:listMap){
//找到位置, 删除
//获取
GoblinShoppingCartVoo goblinShoppingCartVoo= (GoblinShoppingCartVoo) redisUtil.get(GoblinRedisConst.FRONT_SHOPCART.concat(userId));
if(null!=goblinShoppingCartVoo){
List<GoblinShoppingCartVo> shopList=goblinShoppingCartVoo.getShopList();
for(GoblinShoppingCartVo goblinShoppingCartVo:shopList){
List<GoblinShoppingCartVoDetail> skuList= goblinShoppingCartVo.getSkuList();
String skuId=map.get("skuId");
for(GoblinShoppingCartVoDetail goblinShoppingCartVoDetail:skuList){
if(skuId.equals(goblinShoppingCartVoDetail.getSkuId())){
skuList.remove(goblinShoppingCartVoDetail);
}
}
}
}
}*/
saveRedisMongodbMysqlShop(goblinShoppingCartVoo,userId);
return true;
}
/**
* @author zhangfuxin
* @Description: 获得购物车列表
* @date 2022/1/12 下午2:36
*/
public GoblinShoppingCartVoo getShoppCart(String userId){ public GoblinShoppingCartVoo getShoppCart(String userId){
//判断该用户 redis里是否有购物车 //判断该用户 redis里是否有购物车
GoblinShoppingCartVoo goblinShoppingCartVoo= (GoblinShoppingCartVoo) redisUtil.get(GoblinRedisConst.FRONT_SHOPCART.concat(userId)); GoblinShoppingCartVoo goblinShoppingCartVoo= (GoblinShoppingCartVoo) redisUtil.get(GoblinRedisConst.FRONT_SHOPCART.concat(userId));
...@@ -432,7 +504,8 @@ public class GoblinFrontServiceImpl implements GoblinFrontService { ...@@ -432,7 +504,8 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
//找到对应的 spu 和 sku //找到对应的 spu 和 sku
GoblinGoodsInfoVo goblinGoodsInfoVo=goblinRedisUtils.getGoodsInfoVo(goblinShoppingCartVoDetail.getSpuId()); GoblinGoodsInfoVo goblinGoodsInfoVo=goblinRedisUtils.getGoodsInfoVo(goblinShoppingCartVoDetail.getSpuId());
GoblinGoodsSkuInfoVo goblinGoodsSkuInfoVo=goblinRedisUtils.getGoodsSkuInfoVo(goblinShoppingCartVoDetail.getSkuId()); GoblinGoodsSkuInfoVo goblinGoodsSkuInfoVo=goblinRedisUtils.getGoodsSkuInfoVo(goblinShoppingCartVoDetail.getSkuId());
goblinShoppingCartVoDetail.setGoblinGoodsInfoVo(goblinGoodsInfoVo);
goblinShoppingCartVoDetail.setGoblinGoodsSkuInfoVo(goblinGoodsSkuInfoVo);
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment