将枚举类转化为map集合或者list集合
程序员文章站
2024-01-27 22:24:52
...
使用场景:
有时候产品原型中查询列表是, 筛选条件中, 有条件下拉选, 但是条件不是很多, 也就几个, 这个时候可以使用数据字典或者枚举类, 我这里使用的枚举类转化为list集合, 来发送给前端平台名称枚举类
@Getter
public enum AdPlatformEnum {
pc_wap(1, "PC/WAP"),
APP_WECHAT(2, "APP/微信"),
SHOW_ROOM(3, "展厅"),
;
private Integer code;
private String name;
AdPlatformEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
/**
* 获取广告位置集合Map
* @return
*/
public static HashMap<Integer,String> getAdPlatformMap() {
HashMap<Integer, String> map = new HashMap<>();
for (AdPlatformEnum AdPlatformEnum : EnumSet.allOf(AdPlatformEnum.class)) {
map.put(AdPlatformEnum.code, AdPlatformEnum.name);
}
return map;
}
/**
* 获取广告位置集合List
* @return
*/
public static List<HashMap<String,String>> getAdPlatformList() {
List<HashMap<String, String>> list = new ArrayList<>();
for (AdPlatformEnum AdPlatformEnum : EnumSet.allOf(AdPlatformEnum.class)) {
HashMap<String, String> map = new HashMap<>();
map.put("code",AdPlatformEnum.code.toString());
map.put("name",AdPlatformEnum.name);
list.add(map);
}
return list;
}
广告位置枚举类
@Getter
public enum AdPositionEnum {
CHANGE_SCREEN(1, "刷屏机首页轮播"),
IPAD_LEFT_FIRST(2, "ipad优惠活动左一"),
TV_LEFT_FIRST(3, "智能TV优惠活动左一"),
WATER_BRAND(4, "水牌优惠活动文字链"),
TV_HOME(5, "智能电视首页广告"),
CLOUD_MINI_PRO_BANNER(6, "首页banner"),
;
/*位置编码*/
private Integer code;
/*位置名称*/
private String name;
AdPositionEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
/**
* 获取广告位置集合Map
* @return
*/
public static HashMap<Integer,String> getAdPositionMap() {
HashMap<Integer, String> map = new HashMap<>();
for (AdPositionEnum adPositionEnum : EnumSet.allOf(AdPositionEnum.class)) {
map.put(adPositionEnum.code, adPositionEnum.name);
}
return map;
}
/**
* 获取广告位置集合List
* @return
*/
public static List<HashMap<String,String>> getAdPositionList() {
List<HashMap<String, String>> list = new ArrayList<>();
for (AdPositionEnum adPositionEnum : EnumSet.allOf(AdPositionEnum.class)) {
HashMap<String, String> map = new HashMap<>();
map.put("code",adPositionEnum.code.toString());
map.put("name",adPositionEnum.name);
list.add(map);
}
return list;
}
controller
@RestController
@RequestMapping("miniProSelect")
@Api(tags = "小程序通用下拉选")
public class CommonSelectController {
@ApiOperation("广告平台下拉选")
@GetMapping("/AdPlatformSelect")
public ResultUtils platformSelect() {
List<HashMap<String, String>> adPlatformList = AdPlatformEnum.getAdPlatformList();
return ResultUtils.success(adPlatformList);
}
@ApiOperation("广告位置下拉选")
@GetMapping("/AdPositionSelect")
public ResultUtils AdPositionSelect() {
List<HashMap<String, String>> adPositionList = AdPositionEnum.getAdPositionList();
return ResultUtils.success(adPositionList);
}
结果展示:
平台下拉选
广告位置下拉选
上一篇: 架构师成长之路工具篇之Docker
推荐阅读