|
|
@@ -33,7 +33,7 @@ import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import java.util.List;
|
|
|
-import java.util.Set;
|
|
|
+import java.util.Map;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
@@ -74,17 +74,19 @@ public class UserBenefitsFrontController {
|
|
|
* 权益分类
|
|
|
*/
|
|
|
@GetMapping("/get/classification")
|
|
|
- public Result<Set<UserBenefits.Type>> getUserBenefitsClassification() {
|
|
|
+ public Result<Map<UserBenefits.Type, List<UserBenefits>>> getUserBenefitsClassification() {
|
|
|
String key = RedisService.key.USER_BENEFITS_KEY.getName() + ":cfc";
|
|
|
Object o = redisService.get(key);
|
|
|
- Set<UserBenefits.Type> classifications = null;
|
|
|
+ Map<UserBenefits.Type, List<UserBenefits>> classifications = null;
|
|
|
if (o == null) {
|
|
|
List<UserBenefits> userBenefits = userBenefitsMapper.selectList(Wrappers.lambdaQuery(UserBenefits.class)
|
|
|
- .eq(UserBenefits::getStatus, true));
|
|
|
- classifications = userBenefits.stream().map(UserBenefits::getType).collect(Collectors.toSet());
|
|
|
+ .eq(UserBenefits::getStatus, true)
|
|
|
+ .orderByAsc(UserBenefits::getSorted)
|
|
|
+ .select(UserBenefits::getId, UserBenefits::getType, UserBenefits::getDescription));
|
|
|
+ classifications = userBenefits.stream().collect(Collectors.groupingBy(UserBenefits::getType));
|
|
|
redisService.set(key, classifications, RedisService.key.USER_BENEFITS_KEY.getTimeout() + RandomUtil.randomInt(1800));
|
|
|
} else {
|
|
|
- classifications = (Set<UserBenefits.Type>) o;
|
|
|
+ classifications = (Map<UserBenefits.Type, List<UserBenefits>>) o;
|
|
|
}
|
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult(classifications);
|
|
|
}
|