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