|
|
@@ -0,0 +1,241 @@
|
|
|
+<?xml version="1.0" encoding="UTF-8"?>
|
|
|
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
|
+<mapper namespace="com.goafanti.common.dao.AdminCallDayMapper">
|
|
|
+
|
|
|
+ <resultMap type="com.goafanti.common.model.AdminCallDay" id="AdminCallDayMap">
|
|
|
+ <result property="id" column="id" jdbcType="INTEGER"/>
|
|
|
+ <result property="name" column="name" jdbcType="VARCHAR"/>
|
|
|
+ <result property="aid" column="aid" jdbcType="VARCHAR"/>
|
|
|
+ <result property="teamId" column="team_id" jdbcType="INTEGER"/>
|
|
|
+ <result property="teamName" column="team_name" jdbcType="VARCHAR"/>
|
|
|
+ <result property="callSum" column="call_sum" jdbcType="INTEGER"/>
|
|
|
+ <result property="connectSum" column="connect_sum" jdbcType="INTEGER"/>
|
|
|
+ <result property="validSum" column="valid_sum" jdbcType="INTEGER"/>
|
|
|
+ <result property="callDurationSum" column="call_duration_sum" jdbcType="INTEGER"/>
|
|
|
+ <result property="dayDate" column="day_date" jdbcType="TIMESTAMP"/>
|
|
|
+ <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
|
|
|
+ </resultMap>
|
|
|
+
|
|
|
+ <sql id="AdminCallDayAllSql">
|
|
|
+ id, name, aid, team_id, team_name, call_sum, connect_sum, valid_sum, call_duration_sum, day_date, create_time
|
|
|
+ </sql>
|
|
|
+
|
|
|
+ <!--查询单个-->
|
|
|
+ <select id="queryById" resultMap="AdminCallDayMap">
|
|
|
+ select
|
|
|
+ <include refid="AdminCallDayAllSql"/>
|
|
|
+ from admin_call_day
|
|
|
+ where id = #{id}
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!--查询指定行数据-->
|
|
|
+ <select id="findAdminCallDayList" resultMap="AdminCallDayMap">
|
|
|
+ select
|
|
|
+ <include refid="AdminCallDayAllSql"/>
|
|
|
+
|
|
|
+ from admin_call_day
|
|
|
+ <where>
|
|
|
+ <if test="id != null">
|
|
|
+ and id = #{id}
|
|
|
+ </if>
|
|
|
+ <if test="name != null and name != ''">
|
|
|
+ and name = #{name}
|
|
|
+ </if>
|
|
|
+ <if test="aid != null and aid != ''">
|
|
|
+ and aid = #{aid}
|
|
|
+ </if>
|
|
|
+ <if test="teamId != null">
|
|
|
+ and team_id = #{teamId}
|
|
|
+ </if>
|
|
|
+ <if test="teamName != null and teamName != ''">
|
|
|
+ and team_name = #{teamName}
|
|
|
+ </if>
|
|
|
+ <if test="callSum != null">
|
|
|
+ and call_sum = #{callSum}
|
|
|
+ </if>
|
|
|
+ <if test="connectSum != null">
|
|
|
+ and connect_sum = #{connectSum}
|
|
|
+ </if>
|
|
|
+ <if test="validSum != null">
|
|
|
+ and valid_sum = #{validSum}
|
|
|
+ </if>
|
|
|
+ <if test="callDurationSum != null">
|
|
|
+ and call_duration_sum = #{callDurationSum}
|
|
|
+ </if>
|
|
|
+ <if test="dayDate != null">
|
|
|
+ and day_date = #{dayDate}
|
|
|
+ </if>
|
|
|
+ <if test="createTime != null">
|
|
|
+ and create_time = #{createTime}
|
|
|
+ </if>
|
|
|
+ </where>
|
|
|
+ <if test="page_sql != null">
|
|
|
+ ${page_sql}
|
|
|
+ </if>
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!--统计总行数-->
|
|
|
+ <select id="findAdminCallDayCount" resultType="java.lang.Integer">
|
|
|
+ select count(1)
|
|
|
+ from admin_call_day
|
|
|
+ <where>
|
|
|
+ <if test="id != null">
|
|
|
+ and id = #{id}
|
|
|
+ </if>
|
|
|
+ <if test="name != null and name != ''">
|
|
|
+ and name = #{name}
|
|
|
+ </if>
|
|
|
+ <if test="aid != null and aid != ''">
|
|
|
+ and aid = #{aid}
|
|
|
+ </if>
|
|
|
+ <if test="teamId != null">
|
|
|
+ and team_id = #{teamId}
|
|
|
+ </if>
|
|
|
+ <if test="teamName != null and teamName != ''">
|
|
|
+ and team_name = #{teamName}
|
|
|
+ </if>
|
|
|
+ <if test="callSum != null">
|
|
|
+ and call_sum = #{callSum}
|
|
|
+ </if>
|
|
|
+ <if test="connectSum != null">
|
|
|
+ and connect_sum = #{connectSum}
|
|
|
+ </if>
|
|
|
+ <if test="validSum != null">
|
|
|
+ and valid_sum = #{validSum}
|
|
|
+ </if>
|
|
|
+ <if test="callDurationSum != null">
|
|
|
+ and call_duration_sum = #{callDurationSum}
|
|
|
+ </if>
|
|
|
+ <if test="dayDate != null">
|
|
|
+ and day_date = #{dayDate}
|
|
|
+ </if>
|
|
|
+ <if test="createTime != null">
|
|
|
+ and create_time = #{createTime}
|
|
|
+ </if>
|
|
|
+ </where>
|
|
|
+ </select>
|
|
|
+
|
|
|
+
|
|
|
+ <!--新增所有列-->
|
|
|
+ <insert id="insert" keyProperty="id" useGeneratedKeys="true">
|
|
|
+ insert into admin_call_day(name, aid, team_id, team_name, call_sum, connect_sum, valid_sum, call_duration_sum,
|
|
|
+ day_date, create_time)
|
|
|
+ values (#{name}, #{aid}, #{teamId}, #{teamName}, #{callSum}, #{connectSum}, #{validSum}, #{callDurationSum},
|
|
|
+ #{dayDate}, #{createTime})
|
|
|
+ </insert>
|
|
|
+
|
|
|
+ <insert id="insertBatch">
|
|
|
+ insert into admin_call_day(name, aid, team_id, team_name, call_sum, connect_sum, valid_sum, call_duration_sum,
|
|
|
+ day_date, create_time)
|
|
|
+ values
|
|
|
+ <foreach collection="entities" item="entity" separator=",">
|
|
|
+ (#{entity.name}, #{entity.aid}, #{entity.teamId}, #{entity.teamName}, #{entity.callSum},
|
|
|
+ #{entity.connectSum}, #{entity.validSum}, #{entity.callDurationSum}, #{entity.dayDate},
|
|
|
+ #{entity.createTime})
|
|
|
+ </foreach>
|
|
|
+ </insert>
|
|
|
+
|
|
|
+ <insert id="insertOrUpdateBatch" keyProperty="id" useGeneratedKeys="true">
|
|
|
+ insert into admin_call_day(name, aid, team_id, team_name, call_sum, connect_sum, valid_sum, call_duration_sum,
|
|
|
+ day_date, create_time)
|
|
|
+ values
|
|
|
+ <foreach collection="entities" item="entity" separator=",">
|
|
|
+ (#{entity.name}, #{entity.aid}, #{entity.teamId}, #{entity.teamName}, #{entity.callSum},
|
|
|
+ #{entity.connectSum}, #{entity.validSum}, #{entity.callDurationSum}, #{entity.dayDate},
|
|
|
+ #{entity.createTime})
|
|
|
+ </foreach>
|
|
|
+ on duplicate key update
|
|
|
+ name = values(name),
|
|
|
+ aid = values(aid),
|
|
|
+ team_id = values(team_id),
|
|
|
+ team_name = values(team_name),
|
|
|
+ call_sum = values(call_sum),
|
|
|
+ connect_sum = values(connect_sum),
|
|
|
+ valid_sum = values(valid_sum),
|
|
|
+ call_duration_sum = values(call_duration_sum),
|
|
|
+ day_date = values(day_date),
|
|
|
+ create_time = values(create_time)
|
|
|
+ </insert>
|
|
|
+
|
|
|
+
|
|
|
+ <!--通过主键修改数据-->
|
|
|
+ <update id="update">
|
|
|
+ update admin_call_day
|
|
|
+ <set>
|
|
|
+ <if test="name != null and name != ''">
|
|
|
+ name = #{name},
|
|
|
+ </if>
|
|
|
+ <if test="aid != null and aid != ''">
|
|
|
+ aid = #{aid},
|
|
|
+ </if>
|
|
|
+ <if test="teamId != null">
|
|
|
+ team_id = #{teamId},
|
|
|
+ </if>
|
|
|
+ <if test="teamName != null and teamName != ''">
|
|
|
+ team_name = #{teamName},
|
|
|
+ </if>
|
|
|
+ <if test="callSum != null">
|
|
|
+ call_sum = #{callSum},
|
|
|
+ </if>
|
|
|
+ <if test="connectSum != null">
|
|
|
+ connect_sum = #{connectSum},
|
|
|
+ </if>
|
|
|
+ <if test="validSum != null">
|
|
|
+ valid_sum = #{validSum},
|
|
|
+ </if>
|
|
|
+ <if test="callDurationSum != null">
|
|
|
+ call_duration_sum = #{callDurationSum},
|
|
|
+ </if>
|
|
|
+ <if test="dayDate != null">
|
|
|
+ day_date = #{dayDate},
|
|
|
+ </if>
|
|
|
+ <if test="createTime != null">
|
|
|
+ create_time = #{createTime},
|
|
|
+ </if>
|
|
|
+ </set>
|
|
|
+ where id = #{id}
|
|
|
+ </update>
|
|
|
+
|
|
|
+
|
|
|
+ <!--通过主键删除-->
|
|
|
+ <delete id="deleteById">
|
|
|
+ delete
|
|
|
+ from admin_call_day
|
|
|
+ where id = #{id}
|
|
|
+ </delete>
|
|
|
+
|
|
|
+
|
|
|
+ <select id="selectByAidAndDay" resultMap="AdminCallDayMap">
|
|
|
+ select
|
|
|
+ <include refid="AdminCallDayAllSql"/>
|
|
|
+ from admin_call_day
|
|
|
+ where aid = #{aid} and day_date = #{dayDate}
|
|
|
+ </select>
|
|
|
+ <insert id="insertDay">
|
|
|
+ insert into admin_call_day(aid,name,team_id,team_name,call_sum,connect_sum,valid_sum,call_duration_sum,day_date)
|
|
|
+ select b.id,b.name,c.id,c.name ,a.callSum,a.connectSum,a.validSum,a.callDurationSum,a.dates
|
|
|
+ from (SELECT x.aid,sum(x.duration) callDurationSum,sum(x.counts) callSum,
|
|
|
+ sum(x.connectSum)connectSum,sum(x.validSum)validSum,x.dates
|
|
|
+ from(SELECT b.aid ,b.duration ,1 counts,if(b.duration>0 and b.duration < 5,1,0)connectSum,
|
|
|
+ if(b.duration>=5,1,0)validSum ,DATE_FORMAT(b.create_time,'%Y-%m-%d') dates
|
|
|
+ from call_log b
|
|
|
+ where b.aid= #{aid}
|
|
|
+ and b.create_time between #{startDate} and #{endDate}
|
|
|
+ )x group by x.aid,x.dates)a
|
|
|
+ left join admin b on a.aid=b.id
|
|
|
+ left join sales_team c on b.team_id=c.id
|
|
|
+ </insert>
|
|
|
+ <update id="updateDay">
|
|
|
+ update admin_call_day a ,(SELECT x.aid,sum(x.duration) callDurationSum,sum(x.counts) callSum,
|
|
|
+ sum(x.connectSum)connectSum,sum(x.validSum)validSum,x.dates
|
|
|
+ from(SELECT b.aid ,b.duration ,1 counts,if(b.duration>0 and b.duration < 5,1,0)connectSum,
|
|
|
+ if(b.duration>=5,1,0)validSum ,DATE_FORMAT(b.create_time,'%Y-%m-%d') dates
|
|
|
+ from call_log b
|
|
|
+ where b.aid= #{aid}
|
|
|
+ and b.create_time between #{startDate} and #{endDate}
|
|
|
+ )x group by x.aid,x.dates)b
|
|
|
+ set a.call_sum=b.callSum,a.connect_sum=b.connectSum,a.valid_sum=b.validSum,a.call_duration_sum=b.callDurationSum
|
|
|
+ where a.aid=b.aid and a.day_date=b.dates
|
|
|
+ </update>
|
|
|
+</mapper>
|
|
|
+
|