zoujiajian 1 năm trước cách đây
mục cha
commit
a5ca2eb467

+ 8 - 6
netflix-web/src/main/java/com/cyksj/web/controller/user/UserBenefitsFrontController.java

@@ -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);
 	}