Java枚举类的使用

news2024/11/28 8:50:14

说明:

根据设计图抽象的枚举类,一张模板背景图(会改变),二维码(传入参数生成),一个关闭的icon(固定不变)

设计图如下

枚举类

        去除重复模板后共五个,根据需求编写枚举类如下,url则对应不同的模板,编写成后台人员的可配置项,

public enum ImageTemplateEnum {
    PURCHASE("purchase","url1"),
    BAR_CARD("barcard","url2"),
    FAILURE("failure","url3"),
    COINING("coining","url4"),
    INVITE("invite","url5");

    private String template;
    private String url;

    ImageTemplateEnum(String template, String url) {
        this.template = template;
        this.url = url;
    }

    /**
     * 通过template返回枚举常量对象
     * @param template
     * @return
     */
    public static String getValue(String template){

        for (ImageTemplateEnum  item: values()) {
            if(item.getTemplate().equals(template)){
                return  item.url;
            }
        }
        return null;

    }


    public String getTemplate() {
        return template;
    }

    public void setTemplate(String template) {
        this.template = template;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }
}

接口设计

    @PostMapping(value = "/xxxx")
    @SignCtrl
    @ResponseBody
    public String composeImg(String template,String userId,String state) {
        TbUser tbUser = userService.selectUserByUserId(userId);
        if (null == tbUser) {
            return JSON.toJSONString(new CommonView("500", "用户不存在", null));
        }
        Map<String,String> result = new HashMap<>();
        result.put("url", imgService.createImgByTemplate(template, tbUser.getThirdUserId(), state));
        return JSON.toJSONString(new CommonView("200","成功",result));
    }

根据传入条件生成二维码与模板拼接 

测试

根据前端传入template参数就能拿到模板的url了

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1192515.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

3.前端调式

1. Elements 先来看这张图最上头的一行是一个功能菜单&#xff0c;每一个菜单都有它相应的功能和使用方法&#xff0c;依次从左往右来看 箭头按钮 用于在页面选择一个元素来审查和查看它的相关信息&#xff0c;当我们在Elements这个按钮页面下点击某个Dom元素时&#xff0c;箭…

【EI会议征稿】第三届能源动力与控制工程国际学术会议(EPECE 2024)

第三届能源动力与控制工程国际学术会议&#xff08;EPECE 2024&#xff09; The 3rd International Conference on Energy and Power Engineering, Control Engineering (EPECE 2024) 第三届能源动力与控制工程国际学术会议&#xff08;EPECE 2024&#xff09;将于2024年2月2…

如何用Python3+requests+unittest实现接口自动化测试实战

一、Requests介绍 首先让我们来看 Requests 官方的介绍&#xff1a; Requests is an elegant and simple HTTP library for Python, built for human beings. 翻译过来就是&#xff1a;Requests 是为人类写的一个优雅而简单的 Python HTTP 库。这个介绍很直白了&#xff0c;…

SUB-1G芯片--PAN3028 一款低功耗远距离无线收发芯片

PAN3028 是一款采用 ChirpIoT TM 调制解调技术的低功耗远距离无线收发芯片&#xff0c;支持半双工无线通信&#xff0c;工作频段为 370~590 MHz 和 740~1180MHz&#xff0c;该芯片具有高抗干扰性、高灵敏度、低功耗和超远传输距离等特性。最高具有-140dBm 的灵敏度&#xff0c;…

逐步学习 Swagger enum:从入门到精通

enum 是 Swagger 规范中用来定义枚举类型的一种方式。它允许开发者在 API 文档中明确列出该接口的参数、返回值或请求体中可接受的枚举值。通过使用 Swagger enum&#xff0c;开发者可以更清晰地描述 API 的输入和输出&#xff0c;提高 API 文档的可读性和可维护性。 enum 使用…

《QT从基础到进阶·十八》QT中的各种鼠标事件QEvent

1、界面标题栏事件&#xff1a; NonClientAreaMouseButtonPress 标题栏点击事件 NonClientAreaMouseButtonRelease 标题栏释放事件 bool CustomPopDialog::event(QEvent* event) {switch (event->type()){case QEvent::MouseButtonRelease://Event of mouse releasing wind…

基于 HarmonyOS 的 HTTPS 请求过程开发示例(ArkTS)

介绍 本篇 Codelab 基于网络模块以及 Webview 实现一次 HTTPS 请求&#xff0c;并对其过程进行抓包分析。效果如图所示&#xff1a; 相关概念 ● Webview&#xff1a;提供 Web 控制能力&#xff0c;Web 组件提供网页显示能力。 ● HTTP数据请求&#xff1a;网络管理模块&am…

6、规划绩效域

1、变更 &#xff08;1&#xff09;变更有哪几种原因&#xff08;类型&#xff09;&#xff1f; 纠正措施&#xff08;比如进度落后了&#xff0c;我们会有赶工和快速跟进的措施&#xff09; 缺陷补救 预防措施 更新措施 2、变更的目的和变更控制流程的意义 考点1&#…

Vue框架项目,给容器添加水印watermark

1、在/utils下新增一个名为waterMark.js的脚本 具体水印样式可以在代码里自行调节style 参数 - 水印内容, 加水印的容器, 是否显示时间 let watermark {};function getCurrentDateTime() {const now new Date();const year now.getFullYear();const month String(now.ge…

Vue入门教学——编写第一个页面

以Vue2.0为例子。 1、创建一个Vue项目 创建过程&#xff1a;Vue-cli&#xff08;脚手架&#xff09;的创建_vue脚手架创建项目命令-CSDN博客【注】项目名不能有大写字母。创建完毕后&#xff0c;使用VSCode打开项目文件夹&#xff08;其他编辑器也行&#xff09;。 2、运行项…

人声与背景音乐源分离

一.人声分离项目说明 人声分离是将音频录音分离为各个源的任务。该存储库是音乐源分离的 PyTorch 实现。用户可以通过安装此存储库将自己喜欢的歌曲分成不同的来源。用户还可以训练自己的源分离系统。该存储库还可用于训练语音增强、乐器分离和任何分离系统。 2.1 环境配置 …

嵌入式开发:ST-LINK V2.1仿真器,Type-C接口

标题ST-LINK V2.1仿真器&#xff0c;Type-C接口 之前做的版本虽然也是V2.1的&#xff0c;但使用的接口是USB的Micro形式&#xff0c;不支持正反插&#xff0c;也不兼容现在通用的手机数据线&#xff0c;出差的时候又要多带一条线。 现在终于把我的ST-LINK的接口改了一下 如下…

修改Android Studio默认的gradle目录

今天看了一下&#xff0c;gradle在C盘占用了40多G。我C盘是做GHOST的&#xff0c;放在这里不方便。所以就要修改。 新建目录名&#xff08;似乎无必要&#xff09; ANDROID_SDK_HOMEG:\SOFTWARES\android-sdk GRADLE_USER_HOMEG:\SOFTWARES\.gradle 修改目录 File->Setti…

“探秘!根据关键词搜索商品列表的虾皮API大揭露!“

要使用虾皮API根据关键词获取商品列表&#xff0c;您需要使用虾皮API的搜索功能。以下是使用Python和虾皮API根据关键词获取商品列表的基本步骤&#xff1a; 注册虾皮API账号并获取API凭证&#xff08;访问虾皮开放平台并创建应用以获取API凭证&#xff09;。安装必要的Python…

软件学习心得

标定表示&#xff1a;通过不断修改软件控制参数&#xff0c;使得系统得到最佳运行状态 通过xcp协议进行标定&#xff08;XCP寻址的通讯方式&#xff09; A2L文件是上位机解析ECU描述文件数据库&#xff1a;存放了变量名称、数据格式、转换规则&#xff0c;还存放了ECU的通讯信息…

python 把函数的值赋给变量

嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 一个是模块的调用和一个自定义函数返回值赋值给变量 编写一个简单的函数模块&#xff1a; def run(name): list1 hello namereturn list1编写一个调用的脚…

Avalonia播放视频(mp4)

1.Nuget添加类库Dove.Avalonia.Extensions.Media&#xff0c;项目路径https://github.com/michael-eddy/Avalonia.Extensions/ 2.Nuget添加VideoLAN.LibVLC.Windows PlatformLibVLC PackageMinimum OS VersionWindowsVideoLAN.LibVLC.WindowsWindows XPUWPVideoLAN.LibVLC.UW…

EtherCAT超高速实时运动控制卡XPCIE1032H上位机C#开发(一):驱动安装与建立连接

XPCIE1032H功能简介 XPCIE1032H是一款基于PCI Express的EtherCAT总线运动控制卡&#xff0c;可选6-64轴运动控制&#xff0c;支持多路高速数字输入输出&#xff0c;可轻松实现多轴同步控制和高速数据传输。 XPCIE1032H集成了强大的运动控制功能&#xff0c;结合MotionRT7运动…

Intel x86_64 LBR功能

文章目录 前言一、CPUID指令1.1 CPUID功能简介1.2 输入参数01H返回结果1.2.1 ECX返回结果1.2.2 EDX返回结果 1.3 Linux中CPUID指令1.3.1 应用层调用cpid指令1.3.2 linux内核中调用cpuid指令 二、MSR寄存器2.1 MSR 寄存器简介2.2 RDMSR,WRMSR指令介绍2.3 IA32_DEBUGCTL MSR 寄存…

净利暴跌9成,主力业务下滑,这家全球知名CIS供应商如何“翻身”?

消费电子寒冬对上游供应链的影响还在持续。 近日&#xff0c;全球知名的CMOS图像传感器&#xff08;CIS&#xff09;供应商格科微发布三季报显示&#xff0c;前三季度共实现营业收入32.45亿元&#xff0c;同比下降29.01%&#xff1b;实现净利润4972.57万元&#xff0c;同比下降…