TaPersonVisitRecordMapper.xml 2.1KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.huiju.estateagents.mapper.TaPersonVisitRecordMapper">
  4. <select id="visitRecordByPersonId" resultType="com.huiju.estateagents.entity.TaPersonVisitRecord">
  5. select * from ta_person_visit_record
  6. where person_id = #{personId}
  7. </select>
  8. <select id="selectAll" resultType="com.huiju.estateagents.entity.TaPersonVisitRecord">
  9. SELECT
  10. tpvr.record_id as recordId,
  11. tpvr.person_id as personId,
  12. tpvr.person_type as personType,
  13. tpvr.building_id as buildingId,
  14. tpvr.activity as activity,
  15. (SELECT MIN(t.visit_time) FROM ta_person_visit_record t WHERE t.person_id = tpvr.person_id and t.event = tpvr.event ) as visitTime,
  16. (SELECT MAX(t.leave_time) FROM ta_person_visit_record t WHERE t.person_id = tpvr.person_id and t.event = tpvr.event ) as leaveTime,
  17. ifnull(tp.name, tp.nickname) as userName,
  18. tbe.event_name as eventName,
  19. COUNT(1) as accessCount
  20. FROM
  21. ta_person_visit_record tpvr
  22. LEFT JOIN ta_person tp ON tpvr.person_id = tp.person_id
  23. LEFT JOIN td_biz_event tbe on tpvr.event = tbe.event_code
  24. <trim prefix="where" prefixOverrides="and | or">
  25. <if test="buildingId != null and buildingId != ''">
  26. and tpvr.building_id = #{buildingId}
  27. </if>
  28. <if test="eventType != null and eventType != ''">
  29. and tpvr.event_type = #{eventType}
  30. </if>
  31. <if test="event != null and event != ''">
  32. and tpvr.event = #{event}
  33. </if>
  34. <if test="activity != null and activity != ''">
  35. and tpvr.activity = #{activity}
  36. </if>
  37. </trim>
  38. GROUP BY tpvr.person_id, tpvr.event
  39. ORDER BY accessCount DESC,tpvr.visit_time DESC
  40. </select>
  41. </mapper>