| 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<MemberGrowthRecord> { | 
|   | 
|     @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<MemberGrowthRecordVO> queryPage(@Param("dto") MemberRecordQueryDTO dto, Page page); | 
|   | 
|     List<UserGrowthRecordVO> 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<MemberGrowthRecordVO> selectDowngradingByUserId(@Param("userId") String userId, LocalDate localDate); | 
|   | 
| } |