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

Commit d6016455 authored by wangyifan's avatar wangyifan

缓存改造- adam:identity:mobile 增加缓存过期时间; 修改所有缓存时间为30天

parent c48658cc
...@@ -12,6 +12,8 @@ import com.liquidnet.commons.lang.util.DateUtil; ...@@ -12,6 +12,8 @@ import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.HttpUtil; import com.liquidnet.commons.lang.util.HttpUtil;
import com.liquidnet.commons.lang.util.JsonUtils; import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.adam.constant.AdamRedisConst; import com.liquidnet.service.adam.constant.AdamRedisConst;
import com.liquidnet.service.adam.dto.AdamUserInfoDto;
import com.liquidnet.service.adam.mapper.AdamUserMapper;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.candy.vo.CandyCouponVo; import com.liquidnet.service.candy.vo.CandyCouponVo;
import com.liquidnet.service.galaxy.dto.param.GalaxyNftPublishAndBuyReqDto; import com.liquidnet.service.galaxy.dto.param.GalaxyNftPublishAndBuyReqDto;
...@@ -22,6 +24,7 @@ import io.swagger.annotations.ApiImplicitParams; ...@@ -22,6 +24,7 @@ import io.swagger.annotations.ApiImplicitParams;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.util.CollectionUtils;
import org.springframework.util.MultiValueMap; import org.springframework.util.MultiValueMap;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -37,6 +40,8 @@ public class GoblinGagoController extends BaseController { ...@@ -37,6 +40,8 @@ public class GoblinGagoController extends BaseController {
@Autowired @Autowired
GoblinRedisUtils goblinRedisUtils; GoblinRedisUtils goblinRedisUtils;
@Value("${liquidnet.service.order.url}") @Value("${liquidnet.service.order.url}")
@Autowired
private AdamUserMapper adamUserMapper;
private String orderUrl; private String orderUrl;
// private String orderUrl = "http://127.0.0.1:9004/order"; // private String orderUrl = "http://127.0.0.1:9004/order";
...@@ -57,8 +62,13 @@ public class GoblinGagoController extends BaseController { ...@@ -57,8 +62,13 @@ public class GoblinGagoController extends BaseController {
AjaxResult ajaxResult = AjaxResult.success(); AjaxResult ajaxResult = AjaxResult.success();
Object obj1 = redisDataSourceUtil.getRedisAdamUtil().get(AdamRedisConst.IDENTITY_MOBILE.concat(userMobile)); Object obj1 = redisDataSourceUtil.getRedisAdamUtil().get(AdamRedisConst.IDENTITY_MOBILE.concat(userMobile));
if (obj1 == null) { if (obj1 == null) {
List<AdamUserInfoDto> userInfoDtos = adamUserMapper.selectByPhones(userMobile);
if (!CollectionUtils.isEmpty(userInfoDtos)) {
obj1 = userInfoDtos.get(0).getUid();
}else {
return AjaxResult.error("账号不存在"); return AjaxResult.error("账号不存在");
} }
}
String uid = (String) obj1; String uid = (String) obj1;
Boolean obj2 = goblinRedisUtils.getIsOpenAccount(uid); Boolean obj2 = goblinRedisUtils.getIsOpenAccount(uid);
if (!obj2) { if (!obj2) {
......
...@@ -8,18 +8,21 @@ public class RedisKeyExpireConst { ...@@ -8,18 +8,21 @@ public class RedisKeyExpireConst {
// adam:info:user 过期时间为30天 // adam:info:user 过期时间为30天
public static final long ADAM_INFO_USER_EXPIRE = 30 * 24 * 60 * 60; public static final long ADAM_INFO_USER_EXPIRE = 30 * 24 * 60 * 60;
// kylin:order:id 过期时间为10天 // kylin:order:id 过期时间为30天
public static final long KYLIN_ORDER_ID_EXPIRE = 10 * 24 * 60 * 60; public static final long KYLIN_ORDER_ID_EXPIRE = 30 * 24 * 60 * 60;
// stone:item:logs:list 过期时间为10天 // stone:item:logs:list 过期时间为30天
public static final long STONE_ITEM_LOGS_LIST_EXPIRE = 10 * 24 * 60 * 60; public static final long STONE_ITEM_LOGS_LIST_EXPIRE = 30 * 24 * 60 * 60;
// kylin:order:list:userId 过期时间为10天 // kylin:order:list:userId 过期时间为30天
public static final long KYLIN_ORDER_LIST_USERID_EXPIRE = 10 * 24 * 60 * 60; public static final long KYLIN_ORDER_LIST_USERID_EXPIRE = 30 * 24 * 60 * 60;
// adam:info:enters 过期时间为30天 // adam:info:enters 过期时间为30天
public static final long ADAM_INFO_ENTERS_EXPIRE = 30 * 24 * 60 * 60; public static final long ADAM_INFO_ENTERS_EXPIRE = 30 * 24 * 60 * 60;
// sweet:integralActivity:DrawInfo:drawId 过期时间为10天 // sweet:integralActivity:DrawInfo:drawId 过期时间为30天
public static final long SWEET_INTEGRALACTIVITY_DRAWINFO_DRAWID_EXPIRE = 10 * 24 * 60 * 60; public static final long SWEET_INTEGRALACTIVITY_DRAWINFO_DRAWID_EXPIRE = 30 * 24 * 60 * 60;
// adam:identity:mobile 过期时间为30天
public static final long ADAM_IDENTITY_MOBILE_EXPIRE = 30 * 24 * 60 * 60;
} }
...@@ -98,13 +98,24 @@ public class AdamRdmService { ...@@ -98,13 +98,24 @@ public class AdamRdmService {
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | <Mobile|OPENID, UID> */ /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | <Mobile|OPENID, UID> */
public boolean setUidByMobile(String mobile, String uid) { public boolean setUidByMobile(String mobile, String uid) {
return redisUtil.set(AdamRedisConst.IDENTITY_MOBILE.concat(mobile), uid); return redisUtil.set(AdamRedisConst.IDENTITY_MOBILE.concat(mobile), uid, RedisKeyExpireConst.ADAM_IDENTITY_MOBILE_EXPIRE);
} }
public String getUidByMobile(String mobile) { public String getUidByMobile(String mobile) {
String key = AdamRedisConst.IDENTITY_MOBILE.concat(mobile); String key = AdamRedisConst.IDENTITY_MOBILE.concat(mobile);
long s = System.currentTimeMillis(); long s = System.currentTimeMillis();
String val = (String) redisUtil.get(key); String val = (String) redisUtil.get(key);
if (StringUtils.isEmpty(val)) {
// 从MySQL查询
log.info("redis cache value is empty, key: {}", key);
List<AdamUserInfoDto> adamUserInfoDtos = adamUserMapper.selectByPhones(mobile);
if (!CollectionUtils.isEmpty(adamUserInfoDtos)) {
log.info("query MySQL success");
val = adamUserInfoDtos.get(0).getUid();
boolean setResult = setUidByMobile(mobile, val);
log.info("save value to redis cache result: {}", setResult);
}
}
// if (StringUtils.isEmpty(val)) { // if (StringUtils.isEmpty(val)) {
// Query query = Query.query(Criteria.where("mobile").is(mobile).and("state").is(1)); // Query query = Query.query(Criteria.where("mobile").is(mobile).and("state").is(1));
// query.fields().include("uid"); // query.fields().include("uid");
......
...@@ -8,8 +8,10 @@ import com.liquidnet.common.cache.redis.util.RedisDataSourceUtil; ...@@ -8,8 +8,10 @@ import com.liquidnet.common.cache.redis.util.RedisDataSourceUtil;
import com.liquidnet.common.exception.LiquidnetServiceException; import com.liquidnet.common.exception.LiquidnetServiceException;
import com.liquidnet.commons.lang.util.IDGenerator; import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.adam.constant.AdamRedisConst; import com.liquidnet.service.adam.constant.AdamRedisConst;
import com.liquidnet.service.adam.dto.AdamUserInfoDto;
import com.liquidnet.service.adam.dto.vo.AdamUserMemberVo; import com.liquidnet.service.adam.dto.vo.AdamUserMemberVo;
import com.liquidnet.service.adam.entity.AdamUserMember; import com.liquidnet.service.adam.entity.AdamUserMember;
import com.liquidnet.service.adam.mapper.AdamUserMapper;
import com.liquidnet.service.candy.constant.CandyRedisConst; import com.liquidnet.service.candy.constant.CandyRedisConst;
import com.liquidnet.service.candy.dto.*; import com.liquidnet.service.candy.dto.*;
import com.liquidnet.service.candy.entity.*; import com.liquidnet.service.candy.entity.*;
...@@ -47,6 +49,8 @@ public class PlatformCandyCouponService extends ServiceImpl<CandyCouponMapper, C ...@@ -47,6 +49,8 @@ public class PlatformCandyCouponService extends ServiceImpl<CandyCouponMapper, C
private PlatformAdamUserMemberService platformAdamUserMemberService; private PlatformAdamUserMemberService platformAdamUserMemberService;
@Autowired @Autowired
private RedisDataSourceUtil redisDataSourceUtil; private RedisDataSourceUtil redisDataSourceUtil;
@Autowired
private AdamUserMapper adamUserMapper;
private void issueCouponProcessing(final CandyMgtCoupon mgtCoupon, final CandyCoupon coupon) { private void issueCouponProcessing(final CandyMgtCoupon mgtCoupon, final CandyCoupon coupon) {
List<CandyCouponRuleDto> couponRuleDtoList = platformCandyCouponRuleService.listForCouponRuleDto(coupon.getCouponId()); List<CandyCouponRuleDto> couponRuleDtoList = platformCandyCouponRuleService.listForCouponRuleDto(coupon.getCouponId());
...@@ -332,6 +336,13 @@ public class PlatformCandyCouponService extends ServiceImpl<CandyCouponMapper, C ...@@ -332,6 +336,13 @@ public class PlatformCandyCouponService extends ServiceImpl<CandyCouponMapper, C
for (String r : eventLimitArr) { for (String r : eventLimitArr) {
String uid = (String) redisAdamUtil.get(AdamRedisConst.IDENTITY_MOBILE.concat(r)); String uid = (String) redisAdamUtil.get(AdamRedisConst.IDENTITY_MOBILE.concat(r));
if (StringUtils.isBlank(uid)) {
List<AdamUserInfoDto> userInfoDtos = adamUserMapper.selectByPhones(r);
if (!CollectionUtils.isEmpty(userInfoDtos)) {
uid = userInfoDtos.get(0).getUid();
}
}
if (StringUtils.isNotEmpty(uid)) { if (StringUtils.isNotEmpty(uid)) {
CandyUserCoupon userCoupon = new CandyUserCoupon(); CandyUserCoupon userCoupon = new CandyUserCoupon();
userCoupon.setUcouponId(IDGenerator.get32UUID()); userCoupon.setUcouponId(IDGenerator.get32UUID());
......
...@@ -35,6 +35,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -35,6 +35,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap; import org.springframework.util.MultiValueMap;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
...@@ -230,8 +231,13 @@ public class GoblinNftExCodeServiceImpl implements IGoblinNftExCodeService { ...@@ -230,8 +231,13 @@ public class GoblinNftExCodeServiceImpl implements IGoblinNftExCodeService {
String uid = (String) redisDataSourceUtil.getRedisAdamUtil().get(AdamRedisConst.IDENTITY_MOBILE.concat(phone)); String uid = (String) redisDataSourceUtil.getRedisAdamUtil().get(AdamRedisConst.IDENTITY_MOBILE.concat(phone));
if (StringUtils.isEmpty(uid)) { if (StringUtils.isEmpty(uid)) {
List<AdamUserInfoDto> userInfoDtos = adamUserMapper.selectByPhones(phone);
if (!CollectionUtils.isEmpty(userInfoDtos)) {
uid = userInfoDtos.get(0).getUid();
}else {
return ResponseDto.failure("用户不存在!"); return ResponseDto.failure("用户不存在!");
} }
}
// 验证吗时间校验 // 验证吗时间校验
try { try {
......
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