将枚举类转化为map集合或者list集合

使用场景:

有时候产品原型中查询列表是, 筛选条件中, 有条件下拉选, 但是条件不是很多, 也就几个, 这个时候可以使用数据字典或者枚举类, 我这里使用的枚举类转化为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);
    }

结果展示:

平台下拉选
在这里插入图片描述
广告位置下拉选
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

意田天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值