ActivityJoinInfoMapper.java

    1. package cn.jmfen.sport.activitycenter.mapper;
    2. import cn.jmfen.sport.activitycenter.bo.ActivityJoinBo;
    3. import cn.jmfen.sport.activitycenter.vo.ActivityJoinVo;
    4. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
    5. import org.apache.ibatis.annotations.Mapper;
    6. import org.apache.ibatis.annotations.Param;
    7. /**
    8. * @Author: Luoma
    9. * @Description: 活动流水
    10. * @Date: 2020/2/18 15:59
    11. */
    12. @Mapper
    13. public interface ActivityJoinInfoMapper {
    14. /**
    15. * 查询活动流水列表分页
    16. * @param page
    17. * @param activityJoinBo
    18. * @return
    19. */
    20. Page<ActivityJoinVo> queryJoinInfoListByPage(@Param("page") Page page, @Param("joinBo") ActivityJoinBo activityJoinBo);
    21. }

    ActivityJoinInfoMapper.xml

    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="cn.jmfen.sport.activitycenter.mapper.ActivityJoinInfoMapper">
    4. <select id="queryJoinInfoListByPage" resultType="cn.jmfen.sport.activitycenter.vo.ActivityJoinVo">
    5. SELECT
    6. j.id,
    7. j.activity_id,
    8. b.activity_name,
    9. j.user_id,
    10. c.user_nickname username,
    11. c.lottery_code_status drawStatus,
    12. GROUP_CONCAT(c.lottery_code) lotteryCodeStr,
    13. (
    14. SELECT DISTINCT r.winner_lottery_codes
    15. FROM jmf_activity_round r
    16. WHERE r.activity_id = j.activity_id AND r.id = j.activity_round_id and r.round_num = j.round_num
    17. ) winnerLotteryCodeStr,
    18. j.join_device,
    19. j.promotion_channel,
    20. j.join_time
    21. from jmf_activity_join j
    22. LEFT JOIN jmf_activity_base_info b on b.id = j.activity_id
    23. LEFT JOIN jmf_activity_lottery_code c on c.activity_join_id = j.id
    24. <where>
    25. <if test="joinBo.activityName != null and joinBo.activityName != ''">
    26. and b.activity_name like concat('%',#{joinBo.activityName},'%')
    27. </if>
    28. <if test="joinBo.promotionChannel != null and joinBo.promotionChannel != ''">
    29. and j.promotion_channel = #{joinBo.promotionChannel}
    30. </if>
    31. <if test="joinBo.drawStatus != null and joinBo.drawStatus != '' or joinBo.drawStatus == 0 ">
    32. and c.lottery_code_status = #{joinBo.drawStatus}
    33. </if>
    34. <if test="joinBo.userSearchText != null and joinBo.userSearchText.length > 0">
    35. and (
    36. j.user_id like concat('%',#{joinBo.userSearchText},'%') or
    37. c.user_nickname like concat('%',#{joinBo.userSearchText},'%')
    38. )
    39. </if>
    40. <if test="joinBo.startJoinTime != null and joinBo.startJoinTime !=''">
    41. <![CDATA[ and j.join_time >=STR_TO_DATE(#{joinBo.startJoinTime}, '%Y-%m-%d %H:%i:%s') ]]>
    42. </if>
    43. <if test="joinBo.endJoinTime !=null and joinBo.endJoinTime !=''">
    44. <![CDATA[ and j.join_time <=STR_TO_DATE(#{joinBo.endJoinTime}, '%Y-%m-%d %H:%i:%s') ]]>
    45. </if>
    46. </where>
    47. GROUP BY j.id
    48. order by j.join_time desc
    49. </select>
    50. </mapper>