package com.mzl.flower.mapper.member; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.mzl.flower.dto.request.menber.MemberRecordQueryDTO; import com.mzl.flower.dto.request.menber.UserMemberRecordQueryDTO; import com.mzl.flower.dto.response.member.MemberGrowthRecordVO; import com.mzl.flower.dto.response.member.UserGrowthRecordVO; import com.mzl.flower.entity.menber.MemberGrowthRecord; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import org.springframework.stereotype.Repository; import java.time.LocalDate; import java.util.List; /** * @author fanghaowei * @version version2.0 * @className MemberMapper * @date 2024/8/27 * @description 会员成记录mapper */ @SuppressWarnings("ALL") @Repository public interface MemberGrowthRecordMapper extends BaseMapper { @Select("SELECT COALESCE(CASE WHEN SUM(growth) < 0 THEN 0 ELSE SUM(growth) END, 0) as total_growth from t_member_growth_record WHERE user_id = #{userId} and deleted = '0'") Integer getSumGrowthByUsertId(@Param("userId") String userId); List queryPage(@Param("dto") MemberRecordQueryDTO dto, Page page); List queryUserPage(@Param("dto") UserMemberRecordQueryDTO dto, Page page); @Select("SELECT * from t_member_growth_record WHERE user_id = #{userId} and deleted = '0' and record_date = #{localDate} and type= 'reduce' and source = 'downgrading'") List selectDowngradingByUserId(@Param("userId") String userId, LocalDate localDate); }