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

Commit e5076ffe authored by 高虎's avatar 高虎 Committed by GaoHu

exit

parent 6ea483b0
...@@ -209,10 +209,20 @@ public class GoblinRedisConst { ...@@ -209,10 +209,20 @@ public class GoblinRedisConst {
/** /**
* 用户预约标识 * 用户预约标识
* {goblin:user:anticipate:skuId:uid,(goblin_goods_anticipate_user)} * {goblin:user:anticipate:${skuId}:${uid},(goblin_goods_anticipate_user)}
*/ */
public static final String USER_ANTICIPATE_STATE = PREFIX.concat("user:anticipate:"); public static final String USER_ANTICIPATE_STATE = PREFIX.concat("user:anticipate:");
/**
* 真实预约人数
* {goblin:anticipate:people:${autId},numPeople}
*/
public static final String ANTICIPATE_PEOPLE = PREFIX.concat("anticipate:people:");
/**
* 记录sku
*/
public static final String ANTICIPATE_SKUID = PREFIX.concat("anticipate:skuId:");
......
...@@ -20,6 +20,8 @@ public class GoblinGoodAnticipateUserVo implements Serializable { ...@@ -20,6 +20,8 @@ public class GoblinGoodAnticipateUserVo implements Serializable {
public static final Integer STATE_VALID = 1; public static final Integer STATE_VALID = 1;
public static final Integer STATE_INVALID = 1;
@ApiModelProperty(value = "uid") @ApiModelProperty(value = "uid")
private String uid; private String uid;
......
...@@ -170,9 +170,13 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS ...@@ -170,9 +170,13 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS
//用户没有预约过 //用户没有预约过
//发送redis消息修改mysql记录用户预约 //发送redis消息修改mysql记录用户预约
GoblinGoodAnticipateUserVo user = new GoblinGoodAnticipateUserVo(uid,skuId,phone,state); GoblinGoodAnticipateUserVo user = new GoblinGoodAnticipateUserVo(uid,skuId,phone,state);
goblinRedisUtils.setUserAboutAut(user); //mongodb记录
goblinRedisUtils.setUserAboutSku(user);
//预约人数+1或-1
}else {
goblinRedisUtils.delUserAboutSku(skuId,uid);
} }
//存入redis中 goblinRedisUtils.setAutId(autId,state);
return null; return null;
} }
......
...@@ -76,12 +76,19 @@ public class GoblinMongoUtils { ...@@ -76,12 +76,19 @@ public class GoblinMongoUtils {
} }
/** /**
* 新增 * 新增预约
*/ */
public void setGoblinGoodsAnticipateVo(GoblinGoodsAnticipateVo vo) { public void setGoblinGoodsAnticipateVo(GoblinGoodsAnticipateVo vo) {
mongoTemplate.insert(vo, GoblinGoodsAnticipateVo.class.getSimpleName()); mongoTemplate.insert(vo, GoblinGoodsAnticipateVo.class.getSimpleName());
} }
/**
* 新增用户预约
*/
public void setGoblinGoodsAnticipateUserVo(GoblinGoodAnticipateUserVo vo) {
mongoTemplate.insert(vo, GoblinGoodAnticipateUserVo.class.getSimpleName());
}
/** /**
* 根据antId修改 预约人数 * 根据antId修改 预约人数
*/ */
...@@ -108,6 +115,15 @@ public class GoblinMongoUtils { ...@@ -108,6 +115,15 @@ public class GoblinMongoUtils {
return mongoTemplate.remove(query, GoblinGoodsAnticipateVo.class.getSimpleName()).getDeletedCount() > 0; return mongoTemplate.remove(query, GoblinGoodsAnticipateVo.class.getSimpleName()).getDeletedCount() > 0;
} }
/**
* 根据用户预约
*/
public void delGoodsAnticipteUserVo(String uid,String skuId) {
Query query = Query.query(Criteria.where("uid").is(uid).and("skuId").is(skuId));
mongoTemplate.remove(query, GoblinGoodsAnticipateVo.class.getSimpleName()).getDeletedCount();
}
/* ---------------------------------------- 平台分类数据源 ---------------------------------------- */ /* ---------------------------------------- 平台分类数据源 ---------------------------------------- */
......
...@@ -45,17 +45,41 @@ public class GoblinRedisUtils { ...@@ -45,17 +45,41 @@ public class GoblinRedisUtils {
/* ---------------------------------------- 预约相关 ---------------------------------------- */ /* ---------------------------------------- 预约相关 ---------------------------------------- */
public void setAnticipate(String skuId){ public void setAnticipate(String skuId){
redisUtil.set(GoblinRedisConst.ANTICIPATE_SKUID.concat(skuId),1);
} }
public GoblinGoodAnticipateUserVo getUserAboutAut(String skuId, String uid) { public GoblinGoodAnticipateUserVo getUserAboutAut(String skuId, String uid) {
return (GoblinGoodAnticipateUserVo) redisUtil.get(GoblinRedisConst.USER_ANTICIPATE_STATE.concat(skuId).concat(uid)); return (GoblinGoodAnticipateUserVo) redisUtil.get(GoblinRedisConst.USER_ANTICIPATE_STATE.concat(skuId).concat(uid));
} }
public void setUserAboutAut(GoblinGoodAnticipateUserVo user) { /**
* 新增用户预约
*/
public void setUserAboutSku(GoblinGoodAnticipateUserVo user) {
goblinMongoUtils.setGoblinGoodsAnticipateUserVo(user);
redisUtil.set(GoblinRedisConst.USER_ANTICIPATE_STATE.concat(user.getSkuId()).concat(user.getUid()),user); redisUtil.set(GoblinRedisConst.USER_ANTICIPATE_STATE.concat(user.getSkuId()).concat(user.getUid()),user);
} }
/**
* 删除用户预约
*/
public void delUserAboutSku(String skuId, String uid) {
goblinMongoUtils.delGoodsAnticipteUserVo(uid, skuId);
redisUtil.del(GoblinRedisConst.USER_ANTICIPATE_STATE.concat(skuId).concat(uid));
}
/**
* 实际预约人数修改
*/
public void setAutId(String autId,Integer state) {
Integer num = (Integer) redisUtil.get(GoblinRedisConst.ANTICIPATE_PEOPLE.concat(autId));
if (state.equals(GoblinGoodAnticipateUserVo.STATE_VALID)){
redisUtil.set(GoblinRedisConst.ANTICIPATE_PEOPLE.concat(autId),num==null? 1:num+1);
}
if (state.equals(GoblinGoodAnticipateUserVo.STATE_INVALID)&&num!=null){
redisUtil.set(GoblinRedisConst.ANTICIPATE_PEOPLE.concat(autId),num-1);
}
}
/* ---------------------------------------- sku库存相关 ---------------------------------------- */ /* ---------------------------------------- sku库存相关 ---------------------------------------- */
public void setSkuStock(String marketPre, String skuId, Integer stock) { public void setSkuStock(String marketPre, String skuId, Integer stock) {
......
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