import com.jianwu.domain.metting.model.CallPreMember;
import com.jianwu.domain.metting.model.CallPreMemberStatus;
import org.apache.ibatis.annotations.*; import java.util.List; public interface MeetingMemberDao {
/**
* 增加预订成员列表
* @param callPreMember
*/
@SelectKey(statement = "SELECT MEMBER_SEQ.NEXTVAL FROM DUAL",keyProperty = "memberId",before = true, resultType = Long.class)
@Insert("INSERT INTO TAB_CALL_MT_PRE_MEMBER (MEMBER_ID, PRE_ID, MEMBER_TYPE, MEMBER_PHONE,MEMBER_SEX,MEMBER_STATUS,MEMBER_INFO,RELATED_ID,EMPLOYEE_ID,EMPLOYEE_NO,ROOM_ID,IS_HOST,EMPLOYEE_NAME,MEMBER_CALL_STATUS,IS_CALL_AGAIN,MEETING_SERIAL)"+
" VALUES "+
" (#{memberId},#{preId}, #{memberType},#{memberPhone},#{memberSex}, #{memberStatus},#{memberInfo},#{relatedId},#{employeeId},#{employeeNo},#{roomId},#{isHost},#{employeeName},#{memberCallStatus},#{isCallAgain},#{meetingSerial})")
int insertMember(CallPreMember callPreMember); /**
* 删除成员
* @param preId 根据会议ID
* @param list 员工ID列表
* @return
*/
@Delete("<script>" +
"DELETE FROM TAB_CALL_MT_PRE_MEMBER WHERE PRE_ID=#{preId} AND EMPLOYEE_ID IN "+
"<foreach collection='list' open='(' close=')' index='index' item='item' separator=','>" +
" #{item} "+
"</foreach>" +
"</script>")
int deleteMember(@Param("preId") Long preId, @Param("list") List<Long> list); /**
* 获取会议成员
* @param preId
* @return
*/
@Select("SELECT * FROM TAB_CALL_MT_PRE_MEMBER WHERE PRE_ID=#{preId}")
List<CallPreMember> getPreMemberList(@Param("preId") Long preId); /**
* 获取会议成员
* @param preId
* @return
*/
@Select("SELECT * FROM TAB_CALL_MT_PRE_MEMBER WHERE PRE_ID=#{preId} AND IS_CALL_AGAIN=1")
List<CallPreMember> getPreMemberListByAgain(@Param("preId") Long preId); /**
* 获取会议成员列表
* @param preId 会议ID
* @return
*/
@Select("SELECT * FROM TAB_CALL_MT_PRE_MEMBER WHERE PRE_ID=#{preId} ORDER BY IS_HOST DESC")
List<CallPreMember> getMemberListFromData(@Param("preId") Long preId); @Select("SELECT count(*) FROM TAB_CALL_MT_PRE_MEMBER WHERE PRE_ID=#{preId} ORDER BY IS_HOST DESC")
int getMemberListFromDataCount(@Param("preId") Long preId); /**
* 批量增加成员
* @param list
*/
@Insert("<script>" +
"INSERT INTO TAB_CALL_MT_PRE_MEMBER (MEMBER_ID, PRE_ID, MEMBER_TYPE, MEMBER_PHONE,MEMBER_SEX,MEMBER_STATUS,MEMBER_INFO,RELATED_ID,EMPLOYEE_ID,EMPLOYEE_NO,ROOM_ID,PHONE_STATUS)"+
" VALUES "+
"<foreach collection='list' index='index' item='item' separator='union'>" +
" (MEMBER_SEQ.NEXTVAL,#{item.preId}, #{item.memberType},#{item.memberPhone},#{item.memberSex}, #{item.memberStatus},#{item.memberInfo},#{item.relatedId},#{item.employeeId},#{item.employeeNo},#{item.roomId},#{item.phoneStatus})"+
"</foreach>" +
"</script>")
// @Options(useGeneratedKeys = false)
int insertMemberList(@Param("list") List<CallPreMember> list); /**
* 删除成员
* @param list
* @param preId
*/
@Delete("<script>" +
"DELETE FROM TAB_CALL_MT_PRE_MEMBER where PRE_ID=#{preId} and MEMBER_PHONE IN "+
"<foreach collection='list' open='(' close=')' index='index' item='item' separator=','>" +
" #{item} "+
"</foreach>" +
"</script>")
int delMemberList(@Param("list") List<String> list, @Param("preId") Long preId); /**
* 修改成员状态
* @param callMember
*/
@Update("UPDATE TAB_CALL_MT_PRE_MEMBER SET MEMBER_STATUS=#{memberStatus} WHERE PRE_ID=#{preId} and MEMBER_PHONE=#{memberPhone}")
@Options(useGeneratedKeys = false)
int updateMemberStatus(CallPreMember callMember); /**
* 批量修改成员状态
* @param memberStatus
* @param preId
* @param list
*/
@Update("<script>" +
"UPDATE TAB_CALL_MT_PRE_MEMBER SET MEMBER_STATUS=#{memberStatus} WHERE PRE_ID=#{preId} and MEMBER_PHONE IN "+
"<foreach collection='list' open='(' close=')' index='index' item='item' separator=','>" +
" #{item} "+
"</foreach>" +
"</script>")
@Options(useGeneratedKeys = false)
int updateMemberStatusbatch(@Param("memberStatus") Long memberStatus, @Param("preId") Long preId, @Param("list") List<String> list); @Update("UPDATE TAB_CALL_MT_PRE_MEMBER SET MEMBER_STATUS=#{memberStatus} WHERE PRE_ID=#{preId} AND IS_HOST=0")
@Options(useGeneratedKeys = false)
int updateMemberStatusInPreId(@Param("memberStatus") Long memberStatus, @Param("preId") Long preId); /**
* 搜索全部单听或者全部发言的成员信息
* @param preId
* @param memberStatus
* @return
*/
@Select("SELECT * FROM TAB_CALL_MT_PRE_MEMBER WHERE PRE_ID=#{preId} and MEMBER_STATUS=#{memberStatus} AND IS_HOST=0")
List<CallPreMember> getMembersByPreIdAndStatus(@Param("preId") Long preId, @Param("memberStatus") Long memberStatus); /**
* 获取会议成员信息根据员工
* @param employeeId
* @return
*/
@Select("SELECT * FROM TAB_CALL_MT_PRE_MEMBER WHERE EMPLOYEE_ID=#{employeeId}")
List<CallPreMember> getPreMemberInfoByEmployee(@Param("employeeId") Long employeeId); @Select("<script>" +
"SELECT * FROM TAB_CALL_MT_PRE_MEMBER WHERE PRE_ID=#{preId} AND MEMBER_PHONE IN "+
"<foreach collection='list' open='(' close=')' index='index' item='item' separator=','>" +
" #{item} "+
"</foreach>" +
"</script>")
List<CallPreMember> getPreMemberByPhoneAndPreId(@Param("preId") Long preId, @Param("list") List<String> list); List<CallPreMember> getPreMemberChase(@Param("isCallAgain") Long isCallAgain, @Param("preId") Long preId); /**
* 获取会议成员
* @param preId
* @return
*/
@Select("SELECT * FROM TAB_CALL_MT_PRE_MEMBER WHERE PRE_ID=#{preId}")
List<CallPreMemberStatus> getPreMemberListStatus(@Param("preId") Long preId); @Update("UPDATE TAB_CALL_MT_PRE_MEMBER SET IS_CALL_AGAIN=#{isCallAgain} WHERE PRE_ID=#{preId} AND IS_HOST=0")
@Options(useGeneratedKeys = false)
int updateMemberAutoChase(@Param("isCallAgain") Long isCallAgain, @Param("preId") Long preId);
// /**
// *
// * @param preId
// * @param status
// * @return
// */
// @Update("UPDATE TAB_CALL_MT_PRE_MEMBER SET MEMBER_STATUS=#{status} WHERE PRE_ID=#{preId} AND IS_HOST=0")
// @Options(useGeneratedKeys = false)
// int updateAllMemberStatus(@Param("status")Long status,@Param("preId")Long preId); @Select("SELECT * FROM TAB_CALL_MT_PRE_MEMBER WHERE MEMBER_PHONE=#{phone} AND MEMBER_CALL_STATUS!=10")
@Options(useGeneratedKeys = false)
List<CallPreMember> getMemberMeetingIng(@Param("phone") String phone); @Update("UPDATE TAB_CALL_MT_PRE_MEMBER SET MEMBER_CALL_STATUS=0,MEMBER_STATUS=#{memberStatus},IS_CALL_AGAIN=#{isCallAgain} WHERE PRE_ID=#{preId} AND IS_HOST=0")
@Options(useGeneratedKeys = false)
int updateMemberInitStatus(@Param("memberStatus") Long memberStatus, @Param("isCallAgain") Long isCallAgain, @Param("preId") Long preId); @Select("SELECT count(*) FROM TAB_CALL_MT_PRE_MEMBER WHERE PRE_ID=#{preId} AND MEMBER_CALL_STATUS IN (1,4,6,7,26,27)")
int getMemberOnlineCount(@Param("preId") Long preId); /**
* 获取未连接的成员
* @param isHost 是否是主持人1主持人 0成员
* @param preIds 电话会议id列表
* @return List<CallPreMember>
*/
List<CallPreMember> findUnCallByPreIds(@Param("isHost") Integer isHost, @Param("preIds") List<Long> preIds); /**
* 查询号码是否在会议中
* @return
*/
List<CallPreMember> isInConCall(@Param("phone") String phone); @Select("SELECT * FROM TAB_CALL_MT_PRE_MEMBER WHERE PRE_ID=#{meetingId} AND member_phone = #{phone}")
CallPreMember findByPhone(@Param("meetingId") Long meetingId, @Param("phone") String phone); /**
* 修改成员状态 成员状态0初始状态(未连接)1加入会议 2离开会议 5 正在呼叫中 10结束会议'
* @param meetingMember
*/
@Update("UPDATE TAB_CALL_MT_PRE_MEMBER SET member_call_status = #{memberCallStatus} " +
" WHERE PRE_ID=#{preId} and MEMBER_PHONE=#{memberPhone}")
@Options(useGeneratedKeys = false)
int updateMemberCallStatus(CallPreMember meetingMember); /**
* 批量修改成员状态
* @param preId
*/
@Update("UPDATE TAB_CALL_MT_PRE_MEMBER SET member_call_status = #{status} " +
" WHERE PRE_ID=#{preId} ")
@Options(useGeneratedKeys = false)
int updateMemberCallStatusAll(@Param("preId") Long preId, @Param("status") Long status); }

mybatis的dao的注解的更多相关文章

  1. mybatis源码学习--spring+mybatis注解方式为什么mybatis的dao接口不需要实现类

    相信大家在刚开始学习mybatis注解方式,或者spring+mybatis注解方式的时候,一定会有一个疑问,为什么mybatis的dao接口只需要一个接口,不需要实现类,就可以正常使用,笔者最开始的 ...

  2. Mybatis Dao层注解及XML组合Dao的开发方式

    mybatis可以用xml进行数据操作,也可以在dao层用注解的方式,也可以采取xml和dao层接口组合使用的方法.显然 ,后者更加简单. 实体类Student   package com.zhao. ...

  3. Spring Boot入门(六):使用MyBatis访问MySql数据库(注解方式)

    本系列博客记录自己学习Spring Boot的历程,如帮助到你,不胜荣幸,如有错误,欢迎指正! 本篇博客我们讲解下在Spring Boot中使用MyBatis访问MySql数据库的简单用法. 1.前期 ...

  4. Spring + Mybatis - 原始dao开发整合 与 Mapper代理整合

    Spring + Mybatis - 原始dao开发整合 与 Mapper代理整合 标签: mybatisSpringbeanApplicationContextMapper 2015-12-31 1 ...

  5. MyBatis学习--mybatis开发dao的方法

    简介 使用Mybatis开发Dao,通常有两个方法,即原始Dao开发方法和Mapper接口开发方法. 主要概念介绍: MyBatis中进行Dao开发时候有几个重要的类,它们是SqlSessionFac ...

  6. 四 mybatis开发dao的方法

    mybatis开发dao的方法 1.1     SqlSession使用范围 1.1.1     SqlSessionFactoryBuilder //以流的方式读取总的配置文件 Reader rea ...

  7. MyBatis开发Dao

    MyBatis开发Dao有两种方法: 1.原始Dao开发方法,就是程序需要编写Dao的接口和Dao的实现类. 2.MyBatis的mapper接口(相当于Dao接口)代理开发方法.(更重要) ---- ...

  8. MyBatis原始dao开发及问题总结(五)

    一.MyBatis原始Dao开发方式 1.原始dao开发需要程序员编写dao接口和dao接口实现类 编写UserDao接口:UserDao.java package codeRose.dao; pub ...

  9. Spring+SpringMVC+MyBatis深入学习及搭建(二)——MyBatis原始Dao开发和mapper代理开发

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6869133.html 前面有写到Spring+SpringMVC+MyBatis深入学习及搭建(一)——My ...

随机推荐

  1. SGA 的自动管理

    在Oracle10g中,不必再如从前一样用下列各个参数分别指定SGA的每个部分的大小.也就是说不需要首先评估SGA各组件的大小,并且在init<SID>.ora初始参数文件中分组件指定.( ...

  2. PayPal 对接

    时间:2019-1-29 15:39:39 文章相应链接: 官方SDK:https://developer.paypal.com/docs/api/rest-sdks/ 官方API:https://d ...

  3. .NET面试题(二)

    基础方面: 1.简单的描述一下C# 中重写,重载,隐藏的概念 C#中重写(overide)是子类继承父类后,对父类中的方法进行行为改写. 重载是指方法名相同,参数不同 重写和隐藏的定义: 重写:基类方 ...

  4. laravel文件存储Storage

    use Illuminate\Support\Facades\Storage; //建立目录 Storage::disk('public')->makeDirectory(date('Y-m') ...

  5. unity,set ugui rectTransform anchor by script

    如果想用代码实现与下面面板相同的功能 试验可知改变上面选项下面四个值也随之变化: 所以说明二者是一回事儿. 因此,只要通过代码修改RectTransform的anchorMax和anchorMin成员 ...

  6. (转)No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=arm64, VA 解决办法

    c3dEngine在iphone6模拟器下运行报错No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=arm64, V ...

  7. C++语言基础(21)-异常

    C++语言本身或者标准库抛出的异常都是 exception 的子类,称为标准异常(Standard Exception).你可以通过下面的语句来捕获所有的标准异常: try{ //可能抛出异常的语句 ...

  8. 0047 Spring的AOP入门基础--切面组件--通知--切入点

    AOP的全称是Aspect Oriented Programming,面向切面编程. 切面是什么呢,就是一个Java类.之所以叫切面,就是说在调用其他一些类的方法的某个时候(之前,之后,抛异常等),调 ...

  9. 数据库设计(四)数据库的规范化(Normalization)

    数据库的规范化 Database Normalization is a technique of organizing the data in the database. Normalization ...

  10. Guardian of Decency UVALive - 3415 最大独立集=结点数-最大匹配数 老师带大学生旅游

    /** 题目:Guardian of Decency UVALive - 3415 最大独立集=结点数-最大匹配数 老师带大学生旅游 链接:https://vjudge.net/problem/UVA ...