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

Commit 17e211ff authored by zhengfuxin's avatar zhengfuxin

购物车mysql 编写

parent 79ab4a14
...@@ -241,6 +241,7 @@ public class MQConst { ...@@ -241,6 +241,7 @@ public class MQConst {
GOBLIN_STORE_MARKET("goblin:stream:store.market", "group.store.market", "店铺活动"), GOBLIN_STORE_MARKET("goblin:stream:store.market", "group.store.market", "店铺活动"),
GOBLIN_SELF_MARKET("goblin:stream:self.market", "group.self.market", "平台活动"), GOBLIN_SELF_MARKET("goblin:stream:self.market", "group.self.market", "平台活动"),
GOBLIN_ORDER_CREATE_PAY("goblin:stream:order:create_pay", "group.order:create_pay", "订单创建&支付"), GOBLIN_ORDER_CREATE_PAY("goblin:stream:order:create_pay", "group.order:create_pay", "订单创建&支付"),
GOBLIN_SHOP_CART("goblin:stream:shopcart","group.shop:shopcart","购物车"),
GOBLIN_ORDER_AGAIN("goblin:stream:order:again", "group.order:again", "订单再次支付"), GOBLIN_ORDER_AGAIN("goblin:stream:order:again", "group.order:again", "订单再次支付"),
GOBLIN_ORDER_CLOSE("goblin:stream:order:close", "group.order:close", "订单关闭"), GOBLIN_ORDER_CLOSE("goblin:stream:order:close", "group.order:close", "订单关闭"),
GOBLIN_STORE_ORDER_OPERA("goblin:stream:order:store", "group.order:store", "商铺订单操作"), GOBLIN_STORE_ORDER_OPERA("goblin:stream:order:store", "group.order:store", "商铺订单操作"),
......
...@@ -22,4 +22,7 @@ XGROUP CREATE goblin:stream:order:close group.order:close 0 ...@@ -22,4 +22,7 @@ XGROUP CREATE goblin:stream:order:close group.order:close 0
XADD goblin:stream:order:store * 0 0 XADD goblin:stream:order:store * 0 0
XGROUP CREATE goblin:stream:order:store group.order:store 0 XGROUP CREATE goblin:stream:order:store group.order:store 0
#---- # #---- #
\ No newline at end of file #---- 购物车
XADD goblin:stream:shopcart * 0 0
XGROUP CREATE goblin:stream:shopcart group.shop:shopcart 0
\ No newline at end of file
...@@ -2,10 +2,9 @@ package com.liquidnet.service.goblin.service.impl; ...@@ -2,10 +2,9 @@ package com.liquidnet.service.goblin.service.impl;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.liquidnet.common.cache.redis.util.RedisUtil; import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.DateUtil; import com.liquidnet.commons.lang.util.*;
import com.liquidnet.commons.lang.util.IDGenerator; import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.commons.lang.util.JsonUtils; import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.commons.lang.util.StringUtil;
import com.liquidnet.service.goblin.constant.GoblinRedisConst; import com.liquidnet.service.goblin.constant.GoblinRedisConst;
import com.liquidnet.service.goblin.constant.GoblinStatusConst; import com.liquidnet.service.goblin.constant.GoblinStatusConst;
import com.liquidnet.service.goblin.dto.vo.*; import com.liquidnet.service.goblin.dto.vo.*;
...@@ -13,7 +12,9 @@ import com.liquidnet.service.goblin.entity.*; ...@@ -13,7 +12,9 @@ import com.liquidnet.service.goblin.entity.*;
import com.liquidnet.service.goblin.service.GoblinFrontService; import com.liquidnet.service.goblin.service.GoblinFrontService;
import com.liquidnet.service.goblin.util.GoblinRedisUtils; import com.liquidnet.service.goblin.util.GoblinRedisUtils;
import com.liquidnet.service.goblin.util.ObjectUtil; import com.liquidnet.service.goblin.util.ObjectUtil;
import com.liquidnet.service.goblin.util.QueueUtils;
import com.mongodb.BasicDBObject; import com.mongodb.BasicDBObject;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.MongoTemplate;
...@@ -28,6 +29,7 @@ import java.time.LocalDateTime; ...@@ -28,6 +29,7 @@ import java.time.LocalDateTime;
import java.util.*; import java.util.*;
@Service @Service
@Slf4j
public class GoblinFrontServiceImpl implements GoblinFrontService { public class GoblinFrontServiceImpl implements GoblinFrontService {
@Autowired @Autowired
private RedisUtil redisUtil; private RedisUtil redisUtil;
...@@ -35,6 +37,8 @@ public class GoblinFrontServiceImpl implements GoblinFrontService { ...@@ -35,6 +37,8 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
private GoblinRedisUtils goblinRedisUtils; private GoblinRedisUtils goblinRedisUtils;
@Autowired @Autowired
MongoTemplate mongoTemplate; MongoTemplate mongoTemplate;
@Autowired
QueueUtils queueUtils;
@Override @Override
public ArrayList<GoblinFrontBannerVo> getListBanner() { public ArrayList<GoblinFrontBannerVo> getListBanner() {
...@@ -458,7 +462,10 @@ public class GoblinFrontServiceImpl implements GoblinFrontService { ...@@ -458,7 +462,10 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
} }
} }
if(shopList.size()==0){ if(shopList.size()==0){
deleteRedisMongodbMysqlShop(goblinShoppingCartVoo,userId); deleteRedisMongodbMysqlShop(goblinShoppingCartVoo,userId,skuIds);
}else{
saveRedisMongodbMysqlShop(goblinShoppingCartVoo,userId);
deleteMysql(userId,skuIds);
} }
} }
...@@ -526,11 +533,39 @@ public class GoblinFrontServiceImpl implements GoblinFrontService { ...@@ -526,11 +533,39 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
//mysql 消息队列 //mysql 消息队列
} }
//删除redis 删除mongodb //删除redis 删除mongodb
public void deleteRedisMongodbMysqlShop(GoblinShoppingCartVoo goblinShoppingCartVoo,String userId){ public void deleteRedisMongodbMysqlShop(GoblinShoppingCartVoo goblinShoppingCartVoo,String userId,String[] skuIds){
//redis存储 //redis存储
redisUtil.del(GoblinRedisConst.FRONT_SHOPCART.concat(userId)); redisUtil.del(GoblinRedisConst.FRONT_SHOPCART.concat(userId));
//mongodb 删除 //mongodb 删除
mongoTemplate.remove(Query.query(Criteria.where("goblinShoppingCartId").is(goblinShoppingCartVoo.getGoblinShoppingCartId())), GoblinShoppingCartVoo.class, GoblinShoppingCartVoo.class.getSimpleName()); mongoTemplate.remove(Query.query(Criteria.where("goblinShoppingCartId").is(goblinShoppingCartVoo.getGoblinShoppingCartId())), GoblinShoppingCartVoo.class, GoblinShoppingCartVoo.class.getSimpleName());
//mysql 删除 按照 userid 、skuid
LinkedList<String> sqls = CollectionUtil.linkedListString();
sqls.add(SqlMapping.get("goblin_shop.cart.delete"));
LinkedList<Object[]> sqlData = CollectionUtil.linkedListObjectArr();
for(String sku:skuIds){
sqlData.add(new Object[]{
userId,sku,0
});
}
String sqlDatas = SqlMapping.gets(sqls, sqlData);
log.info("sql信息{}",sqlDatas);
queueUtils.sendMsgByRedis(MQConst.GoblinQueue.GOBLIN_SHOP_CART.getKey(), sqlDatas);
log.info("发送购物车消息队列完毕");
}
//删除
public void deleteMysql(String userId,String[] skuIds){
//mysql 删除 按照 userid 、skuid
LinkedList<String> sqls = CollectionUtil.linkedListString();
sqls.add(SqlMapping.get("goblin_shop.cart.delete"));
LinkedList<Object[]> sqlData = CollectionUtil.linkedListObjectArr();
for(String sku:skuIds){
sqlData.add(new Object[]{
userId,sku,0
});
}
String sqlDatas = SqlMapping.gets(sqls, sqlData);
queueUtils.sendMsgByRedis(MQConst.GoblinQueue.GOBLIN_SHOP_CART.getKey(), sqlDatas);
log.info("发送购物车消息队列完毕");
} }
......
...@@ -63,3 +63,6 @@ goblin_order.store.backOrder=INSERT INTO goblin_back_order (`back_order_id`,`bac ...@@ -63,3 +63,6 @@ goblin_order.store.backOrder=INSERT INTO goblin_back_order (`back_order_id`,`bac
goblin_order.store.refundPrice=UPDATE goblin_store_order SET price_refund = ? ,status = ? , updated_at = ? WHERE order_id = ? and (updated_at <= ? or created_at = ? or updated_at is null) goblin_order.store.refundPrice=UPDATE goblin_store_order SET price_refund = ? ,status = ? , updated_at = ? WHERE order_id = ? and (updated_at <= ? or created_at = ? or updated_at is null)
goblin_order.store.refundSkuPrice=UPDATE goblin_order_sku SET price_refund = ? ,status = ? , updated_at = ? WHERE order_sku_id = ? and (updated_at <= ? or created_at = ? or updated_at is null) goblin_order.store.refundSkuPrice=UPDATE goblin_order_sku SET price_refund = ? ,status = ? , updated_at = ? WHERE order_sku_id = ? and (updated_at <= ? or created_at = ? or updated_at is null)
goblin_order.store.refundBackOrder=UPDATE goblin_back_order SET status = ? , updated_at = ? WHERE back_order_id = ? and (updated_at <= ? or created_at = ? or updated_at is null) goblin_order.store.refundBackOrder=UPDATE goblin_back_order SET status = ? , updated_at = ? WHERE back_order_id = ? and (updated_at <= ? or created_at = ? or updated_at is null)
#---- 购物车操作
goblin_shop.cart.delete = UPDATE goblin_shopping_cart set user_id=? and sku_id=? and del_tag=?
goblin_shop.cart.insert = insert into goblin_shopping_cart (car_id, user_id, store_id,spu_id, sku_id, `number`,marketing_id, del_tag, created_at,updated_at, `comment`) values (?,?,?,?,?,?,?,?,?,?,?)
\ No newline at end of file
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