FsPublicCourseTrafficLogMapper.xml 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.fs.course.mapper.FsPublicCourseTrafficLogMapper">
  6. <resultMap type="com.fs.course.domain.FsPublicCourseTrafficLog" id="FsPublicCourseTrafficLogResult">
  7. <result property="logId" column="log_id"/>
  8. <result property="uuId" column="uu_id"/>
  9. <result property="userId" column="user_id"/>
  10. <result property="courseId" column="course_id"/>
  11. <result property="videoId" column="video_id"/>
  12. <result property="internetTraffic" column="internet_traffic"/>
  13. <result property="status" column="status"/>
  14. <result property="createTime" column="create_time"/>
  15. <result property="projectId" column="project_id"/>
  16. </resultMap>
  17. <sql id="selectFsPublicCourseTrafficLogVo">
  18. select log_id,
  19. uu_id,
  20. user_id,
  21. course_id,
  22. video_id,
  23. company_id,
  24. internet_traffic,
  25. status,
  26. create_time,
  27. project_id
  28. from fs_public_course_traffic_log
  29. </sql>
  30. <select id="selectFsPublicCourseTrafficLogByLogId" parameterType="Long" resultMap="FsPublicCourseTrafficLogResult">
  31. <include refid="selectFsPublicCourseTrafficLogVo"/>
  32. where log_id = #{logId}
  33. </select>
  34. <insert id="insertFsPublicCourseTrafficLog" parameterType="com.fs.course.domain.FsPublicCourseTrafficLog"
  35. useGeneratedKeys="true" keyProperty="logId">
  36. insert into fs_public_course_traffic_log
  37. <trim prefix="(" suffix=")" suffixOverrides=",">
  38. <if test="uuId != null">uu_id,</if>
  39. <if test="userId != null">user_id,</if>
  40. <if test="courseId != null">course_id,</if>
  41. <if test="videoId != null">video_id,</if>
  42. <if test="internetTraffic != null">internet_traffic,</if>
  43. <if test="status != null">status,</if>
  44. create_time,
  45. <if test="projectId != null">project_id,</if>
  46. </trim>
  47. <trim prefix="values (" suffix=")" suffixOverrides=",">
  48. <if test="uuId != null">#{uuId},</if>
  49. <if test="userId != null">#{userId},</if>
  50. <if test="courseId != null">#{courseId},</if>
  51. <if test="videoId != null">#{videoId},</if>
  52. <if test="internetTraffic != null">#{internetTraffic},</if>
  53. <if test="status != null">#{status},</if>
  54. sysdate(),
  55. <if test="projectId != null">#{projectId},</if>
  56. </trim>
  57. </insert>
  58. <update id="updateFsPublicCourseTrafficLog" parameterType="com.fs.course.domain.FsPublicCourseTrafficLog">
  59. update fs_public_course_traffic_log
  60. <trim prefix="SET" suffixOverrides=",">
  61. <if test="uuId != null">uu_id = #{uuId},</if>
  62. <if test="userId != null">user_id = #{userId},</if>
  63. <if test="courseId != null">course_id = #{courseId},</if>
  64. <if test="videoId != null">video_id = #{videoId},</if>
  65. <if test="internetTraffic != null">internet_traffic = #{internetTraffic},</if>
  66. <if test="status != null">status = #{status},</if>
  67. </trim>
  68. where log_id = #{logId}
  69. </update>
  70. <insert id="insertOrUpdateTrafficLog" parameterType="com.fs.course.domain.FsPublicCourseTrafficLog">
  71. insert into fs_public_course_traffic_log (uu_id, user_id, course_id, video_id,
  72. internet_traffic, status, create_time, project_id)
  73. values (#{uuId}, #{userId}, #{courseId}, #{videoId}, #{internetTraffic}, #{status}, sysdate(),
  74. #{projectId}) ON DUPLICATE KEY
  75. UPDATE
  76. internet_traffic = internet_traffic + #{internetTraffic}
  77. </insert>
  78. <select id="selectTrafficNew" resultType="com.fs.course.vo.FsCourseTrafficLogListVO">
  79. select
  80. log.course_id,
  81. SUM(log.internet_traffic) AS total_internet_traffic,
  82. DATE_FORMAT(log.create_time, '%Y-%m-%d') AS `month`
  83. FROM fs_public_course_traffic_log log
  84. <where>
  85. <if test="startDate != null and endDate != null">
  86. and DATE_FORMAT(log.create_time, '%Y-%m-%d') between #{startDate} AND #{endDate}
  87. </if>
  88. <if test="courseId != null">
  89. and log.course_id = ${courseId}
  90. </if>
  91. </where>
  92. group by log.course_id,`month`
  93. </select>
  94. </mapper>