package com.ydtech.modules.partner.dao; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ydtech.core.page.HttpResult; import com.ydtech.modules.partner.model.PartnerUser; import com.ydtech.modules.partner.model.param.AppHomeParams; import com.ydtech.modules.partner.model.param.CommissionValidityPeriod; import com.ydtech.modules.partner.model.param.QueryVo; import com.ydtech.modules.partner.model.vo.*; import org.apache.ibatis.annotations.*; import java.util.*; @Mapper public interface PartnerUserMapper extends BaseMapper { //分页查询 IPage queryPage(Page page, @Param("queryVo")QueryVo queryVo); @MapKey("userId") List> selectRecommender(@Param("level") String level); List selectByUserId(@Param("id")String id,@Param("grade")Integer grade); TodayOverview selectTodayOverview(@Param("params") AppHomeParams params); List selectTeamOverview(@Param("params") AppHomeParams params); List selectRelatedPerList(@Param("userId") String userId,@Param("params") AppHomeParams params); @Delete("delete from partner_user where user_id=#{id}") void deleteByUserId(String id); Object selectStatistics(@Param("grade") String grade,@Param("params")AppHomeParams params); SelectUserVo selectUser(AppHomeParams params); Integer userCountVo(@Param("userId")String userId,@Param("params")AppHomeParams params); @Select("select MIN(grade) as grade,user_id,`name` from partner_user where user_id= #{userId} GROUP BY `name` ") PartnerUser selectGradeMin(String userId); @Select("select MIN(grade) as grade from partner_user where user_id= #{userId} ") Integer selectGradeIntMin(String userId); List selectJuniorList(@Param("grade") Integer grade,@Param("ids") List ids,@Param("params")AppHomeParams params); @MapKey("createTime") List> userCountVo2(@Param("userId")List userId,@Param("params")AppHomeParams params); List selectJuniorListUser(@Param("grade")Integer grade,@Param("ids") List currentUserIds,@Param("params") AppHomeParams params); @Select("SELECT GROUP_CONCAT( r.grade_name ORDER BY u.grade) FROM partner_user u LEFT JOIN partner_rule r ON r.grade = u.grade WHERE user_id = #{userId}") String selectByUserIdGrade(String userId); @Select("SELECT `name` FROM partner_user WHERE user_id = #{userId} LIMIT 1") String selectByUserIdUserName(String userId); Integer userCountIdsVo(@Param("ids") List ids,@Param("params") AppHomeParams params); @Select(" SELECT DISTINCT user_id FROM partner_user WHERE referrer_id = #{userId} ") List selectByLevelUserId(String userId); @Select(" SELECT COUNT(1) FROM partner_user WHERE referrer_id = #{userId} AND grade = #{grade} ") Integer userCountLevel(String userId, int grade); List selectByReferrerId(@Param("userId") String userId,@Param("grade") Integer grade); List selectQuerySuperiors(@Param("userId") String userId,@Param("grade") Integer grade); JSONObject myPerformanceTotal(@Param("map")Map map, @Param("list") Set list); List queryDataList(@Param("map")Map map, @Param("list") Set list); Integer selectNumber(@Param("userId") String userId, @Param("number") String number,@Param("period") CommissionValidityPeriod period); @Select("SELECT referrer_id FROM partner_user WHERE user_id = #{userId} ") String queryReferrerId(String userId); @Select("SELECT " + " COUNT( p.user_id ) " + "FROM " + " partner_user p " + " LEFT JOIN sys_user u ON u.id = p.user_id " + "WHERE " + " u.`status` = 1 " + " AND p.referrer_id = #{userId} " + " AND p.grade = #{number}") Integer selectNumberGzs(@Param("userId") String userId,@Param("number") String number); @Select("SELECT assessment_time FROM partner_user WHERE user_id = #{userId} AND grade = #{grade}") Date selectAssessmentTime(@Param("userId") String userId, @Param("grade")String grade); @Select("SELECT fixed_cycle_time FROM partner_user WHERE user_id = #{userId} AND grade = #{grade}") Date selectFixedCycleTime(@Param("userId") String userId, @Param("grade")String grade); @Update("UPDATE partner_user SET assessment_time = ( " + " SELECT approve_time FROM sys_user_track WHERE user_id = #{userId} " + " ) WHERE user_id = #{userId} ") void updateAssessmentTime(String userId); @Update("UPDATE partner_user SET fixed_cycle_time = ( " + " SELECT approve_time FROM sys_user_track WHERE user_id = #{userId} " + " ) WHERE user_id = #{userId} ") void updateFixedCycleTime(String userId); @Update("UPDATE partner_user SET assessment_time = #{date} WHERE user_id = #{userId} ") void updateAssessmentTimeByDate(@Param("userId") String userId,@Param("date") Date date); Integer selectByUserIdNumber(@Param("userId") String userId,@Param("number") String number, @Param("period") CommissionValidityPeriod period); }