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

Commit 02a4a9b5 authored by GaoHu's avatar GaoHu

exit 修改头像保存逻辑,和sku和uid查询是否预约逻辑

parent c485fc68
...@@ -19,6 +19,7 @@ import org.springframework.stereotype.Service; ...@@ -19,6 +19,7 @@ import org.springframework.stereotype.Service;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List;
/** /**
* <p> * <p>
...@@ -51,16 +52,13 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS ...@@ -51,16 +52,13 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS
if (!anticipateValueVo.getState().equals(1)) { if (!anticipateValueVo.getState().equals(1)) {
return ResponseDto.failure("该商品预约尚未开始或已经结束,不可预约!"); return ResponseDto.failure("该商品预约尚未开始或已经结束,不可预约!");
} }
AdamUserInfoVo userInfo = goblinAnticipateUtils.getUserInfo();
if (userInfo==null){
return ResponseDto.failure("登陆信息有误");
}
//查询该用户是否预 //查询该用户是否预
GoblinGoodAnticipateUserVo userVo = goblinRedisUtils.getUserAboutAut(skuId, userInfo.getUid()); String uid = CurrentUtil.getCurrentUid();
GoblinGoodAnticipateUserVo userVo = goblinRedisUtils.getUserAboutAut(skuId, uid);
LinkedList<Object[]> sqlValue = CollectionUtil.linkedListObjectArr(); LinkedList<Object[]> sqlValue = CollectionUtil.linkedListObjectArr();
if (userVo == null) { if (userVo == null) {
GoblinGoodAnticipateUserVo user = new GoblinGoodAnticipateUserVo(); GoblinGoodAnticipateUserVo user = new GoblinGoodAnticipateUserVo();
user.setUid(userInfo.getUid()); user.setUid(uid);
user.setSkuId(skuId); user.setSkuId(skuId);
String mobile = StringUtils.defaultString(((String) CurrentUtil.getTokenClaims().get(CurrentUtil.TOKEN_MOBILE)), ""); String mobile = StringUtils.defaultString(((String) CurrentUtil.getTokenClaims().get(CurrentUtil.TOKEN_MOBILE)), "");
user.setPhone(mobile); user.setPhone(mobile);
...@@ -79,8 +77,13 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS ...@@ -79,8 +77,13 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS
}); });
sendRedis("goblin_goods_anticipate_user", sqlValue); sendRedis("goblin_goods_anticipate_user", sqlValue);
goblinRedisUtils.setSkuIdPeople(skuId); goblinRedisUtils.setSkuIdPeople(skuId);
//储存用户头像 //获取用户头像个数小于等于2则保存用户头像
goblinRedisUtils.setUserAvatar(skuId,userInfo.getAvatar()); List<String> userAvatar = goblinRedisUtils.getUserAvatar(skuId);
if (userAvatar != null && userAvatar.size() <= 2) {
//查询用户信息获取用户头像并保存
AdamUserInfoVo userInfo = goblinAnticipateUtils.getUserInfo();
goblinRedisUtils.setUserAvatar(skuId, userInfo.getAvatar());
}
} }
return ResponseDto.success(); return ResponseDto.success();
} }
...@@ -89,11 +92,8 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS ...@@ -89,11 +92,8 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS
@Override @Override
public ResponseDto<Boolean> selectAnticipate(String skuId) { public ResponseDto<Boolean> selectAnticipate(String skuId) {
AdamUserInfoVo userInfo = goblinAnticipateUtils.getUserInfo(); String uid = CurrentUtil.getCurrentUid();
if (userInfo == null){ return ResponseDto.success(goblinRedisUtils.getUserAboutAut(skuId, uid) != null);
return ResponseDto.failure("登陆信息有误!");
}
return ResponseDto.success(goblinRedisUtils.getUserAboutAut(skuId,userInfo.getUid()) != null) ;
} }
public void sendRedis(String sqlKey, LinkedList<Object[]> sqlData) { public void sendRedis(String sqlKey, LinkedList<Object[]> sqlData) {
......
...@@ -53,21 +53,21 @@ public class GoblinRedisUtils { ...@@ -53,21 +53,21 @@ public class GoblinRedisUtils {
/** /**
* 该skuId已开启预约 * 该skuId已开启预约
*/ */
public void setValue(GoblinGoodsAnticipateValueVo valueVo){ public void setValue(GoblinGoodsAnticipateValueVo valueVo) {
redisUtil.set(GoblinRedisConst.ANTICIPATE_VALUE_SKUID.concat(valueVo.getSkuId()),valueVo); redisUtil.set(GoblinRedisConst.ANTICIPATE_VALUE_SKUID.concat(valueVo.getSkuId()), valueVo);
} }
/** /**
* 根据skuId获取valueVo * 根据skuId获取valueVo
*/ */
public GoblinGoodsAnticipateValueVo getValueBySkuId(String skuId){ public GoblinGoodsAnticipateValueVo getValueBySkuId(String skuId) {
return (GoblinGoodsAnticipateValueVo)redisUtil.get(GoblinRedisConst.ANTICIPATE_VALUE_SKUID.concat(skuId)); return (GoblinGoodsAnticipateValueVo) redisUtil.get(GoblinRedisConst.ANTICIPATE_VALUE_SKUID.concat(skuId));
} }
/** /**
* 获取关联 * 获取关联
*/ */
public boolean getSkuId(String skuId){ public boolean getSkuId(String skuId) {
return redisUtil.get(GoblinRedisConst.ANTICIPATE_VALUE_SKUID.concat(skuId)) != null; return redisUtil.get(GoblinRedisConst.ANTICIPATE_VALUE_SKUID.concat(skuId)) != null;
} }
...@@ -75,7 +75,7 @@ public class GoblinRedisUtils { ...@@ -75,7 +75,7 @@ public class GoblinRedisUtils {
/** /**
* 删除skuId已开启预约 * 删除skuId已开启预约
*/ */
public void delSkuId(String skuId){ public void delSkuId(String skuId) {
redisUtil.del(GoblinRedisConst.ANTICIPATE_VALUE_SKUID.concat(skuId)); redisUtil.del(GoblinRedisConst.ANTICIPATE_VALUE_SKUID.concat(skuId));
} }
...@@ -88,7 +88,7 @@ public class GoblinRedisUtils { ...@@ -88,7 +88,7 @@ public class GoblinRedisUtils {
*/ */
public void setUserAboutSku(GoblinGoodAnticipateUserVo user) { public void setUserAboutSku(GoblinGoodAnticipateUserVo user) {
goblinMongoUtils.setGoblinGoodsAnticipateUserVo(user); goblinMongoUtils.setGoblinGoodsAnticipateUserVo(user);
redisUtil.set(GoblinRedisConst.USER_ANTICIPATE_STATE.concat(user.getSkuId()).concat(user.getUid()),user,60*60*24*30); redisUtil.set(GoblinRedisConst.USER_ANTICIPATE_STATE.concat(user.getSkuId()).concat(user.getUid()), user, 60 * 60 * 24 * 30);
} }
/** /**
...@@ -96,9 +96,9 @@ public class GoblinRedisUtils { ...@@ -96,9 +96,9 @@ public class GoblinRedisUtils {
*/ */
public void setSkuIdPeople(String skuId) { public void setSkuIdPeople(String skuId) {
BigInteger num = (BigInteger) redisUtil.get(GoblinRedisConst.ANTICIPATE_PEOPLE.concat(skuId)); BigInteger num = (BigInteger) redisUtil.get(GoblinRedisConst.ANTICIPATE_PEOPLE.concat(skuId));
num = num!=null?num: BigInteger.valueOf(0); num = num != null ? num : BigInteger.valueOf(0);
//新预约 +1 //新预约 +1
redisUtil.set(GoblinRedisConst.ANTICIPATE_PEOPLE.concat(skuId),num.add(BigInteger.valueOf(1))); redisUtil.set(GoblinRedisConst.ANTICIPATE_PEOPLE.concat(skuId), num.add(BigInteger.valueOf(1)));
//跟新valueVo //跟新valueVo
GoblinGoodsAnticipateValueVo anticipateValueVo = getValueBySkuId(skuId); GoblinGoodsAnticipateValueVo anticipateValueVo = getValueBySkuId(skuId);
...@@ -116,24 +116,22 @@ public class GoblinRedisUtils { ...@@ -116,24 +116,22 @@ public class GoblinRedisUtils {
/** /**
* 保存用户头像 * 保存用户头像
*/ */
public void setUserAvatar(String skuId,String avatar) { public void setUserAvatar(String skuId, String avatar) {
Object list = redisUtil.get(GoblinRedisConst.ANTICIPATE_SKUID_AVATAR.concat(skuId)); Object list = redisUtil.get(GoblinRedisConst.ANTICIPATE_SKUID_AVATAR.concat(skuId));
List<String> urlList = list != null ? (List<String>)list : CollectionUtil.arrayListString(); List<String> urlList = list != null ? (List<String>) list : CollectionUtil.arrayListString();
if (urlList.size()<=2){ urlList.add(avatar);
urlList.add(avatar); redisUtil.set(GoblinRedisConst.ANTICIPATE_SKUID_AVATAR.concat(skuId), urlList);
redisUtil.set(GoblinRedisConst.ANTICIPATE_SKUID_AVATAR.concat(skuId),urlList);
}
} }
/** /**
* 获取用户预约头像 * 获取用户预约头像
*/ */
public List<String> getUserAvatar(String skuId){ public List<String> getUserAvatar(String skuId) {
String rdk = GoblinRedisConst.ANTICIPATE_SKUID_AVATAR.concat(skuId); String rdk = GoblinRedisConst.ANTICIPATE_SKUID_AVATAR.concat(skuId);
Object obj = redisUtil.get(rdk); Object obj = redisUtil.get(rdk);
if(obj==null){ if (obj == null) {
return CollectionUtil.arrayListString(); return CollectionUtil.arrayListString();
}else{ } else {
return (List<String>) obj; return (List<String>) obj;
} }
} }
...@@ -1638,46 +1636,47 @@ public class GoblinRedisUtils { ...@@ -1638,46 +1636,47 @@ public class GoblinRedisUtils {
} }
/** /**
* private int skuType 商品类型[0-常规|1-数字藏品] * private int skuType 商品类型[0-常规|1-数字藏品]
* private String status 审核状态[0-初始编辑|1-审核中|2-审核不通过|3-审核通过]; * private String status 审核状态[0-初始编辑|1-审核中|2-审核不通过|3-审核通过];
* private String shelvesStatus 单品上架状态[0-待上架|1-下架|2-违规|3-上架]; * private String shelvesStatus 单品上架状态[0-待上架|1-下架|2-违规|3-上架];
* private String skuAppear 是否隐藏[0-默认展示|1-隐藏]; * private String skuAppear 是否隐藏[0-默认展示|1-隐藏];
* private String delFlg 删除标记[0-未删除|1-删除]; * private String delFlg 删除标记[0-未删除|1-删除];
* * <p>
* private LocalDateTime saleStartTime 开售时间; * private LocalDateTime saleStartTime 开售时间;
* private LocalDateTime saleStopTime 停售时间 预留 暂时不做处理; * private LocalDateTime saleStopTime 停售时间 预留 暂时不做处理;
* private String soldoutStatus 是否售罄[0-否|1-是]; * private String soldoutStatus 是否售罄[0-否|1-是];
* * <p>
* private String skuCanbuy 是否购买[0-否|1-是] 这个用来预览 前端自己判断; * private String skuCanbuy 是否购买[0-否|1-是] 这个用来预览 前端自己判断;
* * <p>
* Integer upchain NFT上传声明状态[0-待上传|1-已声明|2-声明失败|9-声明中] * Integer upchain NFT上传声明状态[0-待上传|1-已声明|2-声明失败|9-声明中]
* * <p>
* String unbox; 是否盲盒[0-否|1-是] * String unbox; 是否盲盒[0-否|1-是]
*/ */
// 获取盲盒下藏品的库存 各种状态下不能算库存的排除掉 // 获取盲盒下藏品的库存 各种状态下不能算库存的排除掉
public int getSkuAllStatusStock(GoblinGoodsSkuInfoVo info) { public int getSkuAllStatusStock(GoblinGoodsSkuInfoVo info) {
if ( if (
info != null info != null
&& LocalDateTime.now().isAfter(info.getSaleStartTime()) && LocalDateTime.now().isAfter(info.getSaleStartTime())
&& (null == info.getSoldoutStatus() || info.getSoldoutStatus().equals("0")) && (null == info.getSoldoutStatus() || info.getSoldoutStatus().equals("0"))
&& (null == info.getHitRatio() || info.getHitRatio().compareTo(BigDecimal.ZERO) > 0) && (null == info.getHitRatio() || info.getHitRatio().compareTo(BigDecimal.ZERO) > 0)
&& (null == info.getSkuCanbuy() || info.getSkuCanbuy().equals("1")) && (null == info.getSkuCanbuy() || info.getSkuCanbuy().equals("1"))
) {// 可以返回库存 ) {// 可以返回库存
return getSkuStock(null, info.getSkuId()); return getSkuStock(null, info.getSkuId());
} else {// 不计入库存 } else {// 不计入库存
return 0; return 0;
} }
} }
// 各种状态下判断藏品是否可以展示 // 各种状态下判断藏品是否可以展示
public boolean getSkuAllStatusShow(GoblinGoodsSkuInfoVo info) { public boolean getSkuAllStatusShow(GoblinGoodsSkuInfoVo info) {
if ( if (
info != null info != null
&& info.getSkuType() == 1 && info.getSkuType() == 1
&& info.getStatus().equals("3") && info.getStatus().equals("3")
&& info.getShelvesStatus().equals("3") && info.getShelvesStatus().equals("3")
&& (info.getSkuAppear() == null || info.getSkuAppear().equals("0")) && (info.getSkuAppear() == null || info.getSkuAppear().equals("0"))
&& info.getDelFlg().equals("0") && info.getDelFlg().equals("0")
&& ((info.getUnbox().equals("0") && info.getUpchain() == 1) || info.getUnbox().equals("1")) && ((info.getUnbox().equals("0") && info.getUpchain() == 1) || info.getUnbox().equals("1"))
// && (info.getUnbox().equals("1") || info.getUpchain() == 1) // && (info.getUnbox().equals("1") || info.getUpchain() == 1)
) { ) {
return true; return true;
...@@ -1685,13 +1684,14 @@ public class GoblinRedisUtils { ...@@ -1685,13 +1684,14 @@ public class GoblinRedisUtils {
return false; return false;
} }
} }
// 各种状态下判断藏品总库存 // 各种状态下判断藏品总库存
public Integer getSkuTotalStock(GoblinGoodsSkuInfoVo info) { public Integer getSkuTotalStock(GoblinGoodsSkuInfoVo info) {
if ( if (
info != null info != null
&& LocalDateTime.now().isAfter(info.getSaleStartTime()) && LocalDateTime.now().isAfter(info.getSaleStartTime())
&& (null == info.getSoldoutStatus() || info.getSoldoutStatus().equals("0")) && (null == info.getSoldoutStatus() || info.getSoldoutStatus().equals("0"))
&& (null == info.getHitRatio() || info.getHitRatio().compareTo(BigDecimal.ZERO) > 0) && (null == info.getHitRatio() || info.getHitRatio().compareTo(BigDecimal.ZERO) > 0)
) {// 可以返回库存 ) {// 可以返回库存
return info.getSkuStock(); return info.getSkuStock();
} else {// 不计入库存 } else {// 不计入库存
......
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