|
@@ -24,6 +24,7 @@ import com.cyksj.service.user.UserBindRelationService;
|
|
|
import com.cyksj.web.util.StpUserUtil;
|
|
import com.cyksj.web.util.StpUserUtil;
|
|
|
import com.ejlchina.searcher.BeanSearcher;
|
|
import com.ejlchina.searcher.BeanSearcher;
|
|
|
import com.ejlchina.searcher.param.Operator;
|
|
import com.ejlchina.searcher.param.Operator;
|
|
|
|
|
+import com.ejlchina.searcher.util.MapBuilder;
|
|
|
import com.ejlchina.searcher.util.MapUtils;
|
|
import com.ejlchina.searcher.util.MapUtils;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
@@ -97,14 +98,22 @@ public class UserBenefitsFrontController {
|
|
|
@GetMapping("/get")
|
|
@GetMapping("/get")
|
|
|
public Result<List<UserBenefitsFrontView>> getUserBenefits(UserBenefits.Type type) {
|
|
public Result<List<UserBenefitsFrontView>> getUserBenefits(UserBenefits.Type type) {
|
|
|
long userId = StpUserUtil.getLoginIdAsLong();
|
|
long userId = StpUserUtil.getLoginIdAsLong();
|
|
|
- Object o = redisService.get(RedisService.key.USER_BENEFITS_KEY.getName());
|
|
|
|
|
|
|
+ String key = RedisService.key.USER_BENEFITS_KEY.getName();
|
|
|
|
|
+ if (type != null) {
|
|
|
|
|
+ key += ":type:" + type.name();
|
|
|
|
|
+ }
|
|
|
|
|
+ Object o = redisService.get(key);
|
|
|
List<UserBenefitsFrontView> userBenefitsFrontViews;
|
|
List<UserBenefitsFrontView> userBenefitsFrontViews;
|
|
|
if (o == null) {
|
|
if (o == null) {
|
|
|
- userBenefitsFrontViews = beanSearcher.searchAll(UserBenefitsFrontView.class, MapUtils.builder().build());
|
|
|
|
|
|
|
+ MapBuilder builder = MapUtils.builder();
|
|
|
|
|
+ if (type != null) {
|
|
|
|
|
+ builder.field(UserBenefitsFrontView::getType, type.name());
|
|
|
|
|
+ }
|
|
|
|
|
+ userBenefitsFrontViews = beanSearcher.searchAll(UserBenefitsFrontView.class, builder.build());
|
|
|
if (CollUtil.isEmpty(userBenefitsFrontViews)) {
|
|
if (CollUtil.isEmpty(userBenefitsFrontViews)) {
|
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult();
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult();
|
|
|
}
|
|
}
|
|
|
- redisService.setNx(RedisService.key.USER_BENEFITS_KEY.getName(), userBenefitsFrontViews, RedisService.key.USER_BENEFITS_KEY.getTimeout());
|
|
|
|
|
|
|
+ redisService.setNx(key, userBenefitsFrontViews, RedisService.key.USER_BENEFITS_KEY.getTimeout());
|
|
|
} else {
|
|
} else {
|
|
|
userBenefitsFrontViews = (List<UserBenefitsFrontView>) o;
|
|
userBenefitsFrontViews = (List<UserBenefitsFrontView>) o;
|
|
|
}
|
|
}
|