首页 > 其他分享 >@ApiImplicitParams注解的详细使用

@ApiImplicitParams注解的详细使用

时间:2022-09-27 16:57:43浏览次数:59  
标签:map waiter 服务员 代码 params 详细 注解 id ApiImplicitParams

一、@ApiImplicitParams注解的详细使用

业务需求:
1.根据服务员类别id(单个id)+服务员星级id(id的list)查询对应的服务员列表

1.controller代码:

点击查看代码
//根据服务员星级+服务员类别,查询对应的服务员list(服务员名称、服务员id)
    @GetMapping("/waiter_list")
    @ApiOperation("【根据服务员星级+服务员类别查询服务员列表】")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "waiterCategoryId", value = "服务员类别id", paramType = "query", dataType="String"),
            @ApiImplicitParam(name = "waiterGradeIds", value = "服务员星级ids", paramType = "query", dataType="Long",allowMultiple = true,required = true),
            @ApiImplicitParam(name = "hotelId", value = "所属酒店id(平台超级管理员可以选择指定酒店查询,酒店管理员默认为自己的酒店id)",required = true, paramType = "query", dataType="String")
    })
    public Result<List<Map>> waiterList(@ApiIgnore @RequestParam Map<String, Object> params){
        List<Map> map = orderService.waiterList(params);
        return new Result<List<Map>>().ok(map);
    }

2.service代码

点击查看代码
 /**
     * 根据服务员星级+服务员类别查询服务员列表
     * @param params
     * @return
     */
    List<Map> waiterList(Map<String, Object> params);

3.serviceImpl代码

点击查看代码
@Override
    public List<Map> waiterList(Map<String, Object> params) {
        log.info("6666666"+params.get("waiterGradeIds"));
        List<Map> map=orderDao.getMap(params);
        log.info("根据条件查询出的服务员列表信息"+map);
        return map;
    }

4.dao代码

点击查看代码
/**
     * 根据服务员星级+服务员类别查询服务员列表
     * @param params
     * @return
     */
    List<Map> getMap(Map<String, Object> params);

5.dao.xml代码

点击查看代码
<select id="getMap" resultType="java.util.Map">
        SELECT
        distinct A.id,
        A.name
        FROM
        waiter_user A,
        waiter_category B,
        waiter_grade C
        <where>
            <if test="waiterCategoryId != null and waiterCategoryId.trim() != ''">
                AND A.waiter_category_id = #{waiterCategoryId}
            </if>
            <if test="waiterGradeIds != null and waiterGradeIds.trim() != ''">
                AND A.waiter_grade_id IN
                <foreach item="item" index="index" collection="waiterGradeIds.split(',')" open="(" separator="," close=")">
                    #{item}
                </foreach>
            </if>
            <if test="hotelId != null and hotelId.trim() != ''">
                AND
                    A.hotel_id = #{hotelId}
                AND
                    B.hotel_id = #{hotelId}
                AND
                    C.hotel_id = #{hotelId}
            </if>
        </where>
    </select>

二、提示

1.前端传递字段

前端传递字段 accountType: a,b,c buType: d,e

2.通过myBatis自带功能foreach,直接把逗号分隔的字符串传到mapper.xml即可,后台不用过多操作,Mapper.xml拼接部分sql如下:

点击查看代码
<if test="q.buType != null and q.buType !='' ">
            and bu.bu_type in
            <foreach item="item" index="index" collection="q.buType.split(',')" open="(" separator="," close=")">
                #{item}
            </foreach>
        </if>
        <if test="q.accountType !=null and q.accountType !='' ">
            and coa.mgmt_control_category in
            <foreach item="item" index="index" collection="q.accountType.split(',')" open="(" separator="," close=")">
                #{item}
            </foreach>
        </if>

3.注意:

.split(’,’)进行切割,注意是英文输入状态的单引号.

标签:map,waiter,服务员,代码,params,详细,注解,id,ApiImplicitParams
From: https://www.cnblogs.com/xiaoguo-java/p/16735100.html

相关文章

  • java 注解方式实现Bigdecimal保留两位小数
    1.新建类  BigDecimalSerializerimportcn.hutool.core.util.ObjectUtil;importcom.fasterxml.jackson.core.JsonGenerator;importcom.fasterxml.jackson.databind.......
  • vmware虚拟机安装教程win10详细步骤
    vmware虚拟机安装教程win10详细步骤自从win10发布以后很多人都去升级系统体验了一下,有的用户想体验却不想重装win10系统,这时我们只能靠vmware虚拟机来安装win10系统进行......
  • Swoole实战之手撸HttpServer框架 20 ORM整合2 注解2 切换数据源
    1反射原理的梳理1.1BeanFactory属性注解seckill\pro\core\BeanFactory.phpprivatestaticfunctionhandlerPropAnno(&$instance,\ReflectionClass$refClass,Ann......
  • Module加载的详细说明-保证你有所收获
    模块HTML网页中,浏览器通过<script>标签加载JavaScript脚本。<!--页面内嵌的脚本--><scripttype="application/javascript">//modulecode</script><!--外......
  • JavaWeb--Junit测试,反射(复习),注解
    JavaWeb--Junit测试,反射(复习),注解JavaWeb概述javaweb是使用java语言完成服务器程序的开发Junit单元测试黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值......
  • 注解-案例-简单的测试框架
    注解-案例-简单的测试框架Check注解  Calculator计算器类  TestCheck测试类我们可以明显的看到div方法也就是除法写错了,所以输出的时候,就不会输出,运行完程序......
  • 注解-自定义注解-元注解和解析注解
    注解-自定义注解-元注解元注解:就是用于描述注解的注解@Target:描述注解能够作用的位置@Retention:苗猪注解被保留的阶段@Documented:描述注解是......
  • 注解-自定义注解-格式&本质和属性定义
    注解-自定义注解-格式&本质格式:元注解:   public@interface 注解名称{}本质:注解本质上就是一个接口,接口默认继承Annotation接口publicinterfaceM......
  • K8S入门详细地教程
    Kubernetes详细教程1.Kubernetes介绍1.1应用部署方式演变在部署应用程序的方式上,主要经历了三个时代:传统部署:互联网早期,会直接将应用程序部署在物理机上优点:简单......
  • datafaker的使用--详细教程
    文章目录datafaker的使用一、开源情况二、工具产生背景三、软件架构四、安装流程安装对应数据库包五、使用举例5.1查看版本号,查看参数使用说明5.2......