PartnerPremiumDetailsMapper.java 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package com.ydtech.modules.partner.dao;
  2. import com.baomidou.mybatisplus.core.conditions.Wrapper;
  3. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  4. import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  5. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  6. import com.ydtech.modules.partner.model.PartnerPremiumDetails;
  7. import org.apache.ibatis.annotations.*;
  8. import java.math.BigDecimal;
  9. import java.util.Date;
  10. import java.util.List;
  11. import java.util.Map;
  12. @Mapper
  13. public interface PartnerPremiumDetailsMapper extends BaseMapper<PartnerPremiumDetails> {
  14. @Select("SELECT user_id AS userId, SUM(DISTINCT sumpremium) AS num FROM partner_premium_details ${ew.customSqlSegment}")
  15. List<Map<String,Object>> selectTotalSumPremiumGroupBy(@Param("ew") QueryWrapper<PartnerPremiumDetails> queryWrapper);
  16. @Select("SELECT SUM(db.sumpremium) FROM (SELECT DISTINCT orderno,sumpremium FROM partner_premium_details ${ew.customSqlSegment}) db ")
  17. BigDecimal selectTotalSumPremium(@Param("ew") QueryWrapper<PartnerPremiumDetails> queryWrapper);
  18. @Select("SELECT " +
  19. " d.orderno, " +
  20. " d.company_id, " +
  21. " d.user_id, " +
  22. " d.user_name, " +
  23. " d.issuer_id, " +
  24. " d.issuer_name, " +
  25. " d.sumpremium, " +
  26. " d.proportional, " +
  27. " d.extract_fee, " +
  28. " d.licenseno, " +
  29. " d.source, " +
  30. " d.create_time, " +
  31. " u.`name` AS userName, " +
  32. " u.mobile " +
  33. "FROM " +
  34. " partner_premium_details d " +
  35. " LEFT JOIN sys_user u ON u.id = d.user_id ${ew.customSqlSegment}")
  36. Page<PartnerPremiumDetails> queryPage(@Param("page") Page page, @Param("ew") Wrapper<PartnerPremiumDetails> queryWrapper);
  37. @Select("SELECT user_id AS userId,SUM( sumpremium) AS premium,SUM(extract_fee) AS commission FROM partner_premium_details ${ew.customSqlSegment} ")
  38. List<Map<String,Object>> selectCombinedStatistics(@Param("ew")QueryWrapper<PartnerPremiumDetails> wrapper);
  39. //
  40. @Select("SELECT SUM(extract_fee) AS commission FROM partner_premium_details WHERE app_status = 1 AND status = 1 AND user_id = #{userId} AND source = #{grade} AND DATE(create_time) >= DATE(#{createTime}) ")
  41. BigDecimal commissionAfterUserLocking(@Param("userId") String userId,@Param("grade") Integer grade,@Param("createTime") Date createTime);
  42. @Update("UPDATE partner_premium_details SET app_status = 0 WHERE app_status = 1 AND source = #{originalLevel} AND user_id = #{userId} AND DATE(create_time) >= #{identityTime} ")
  43. void updateAppStatus(@Param("originalLevel") String originalLevel,@Param("userId") String userId, @Param("identityTime")Date identityTime);
  44. @Select(" SELECT create_time FROM partner_premium_details WHERE app_status = 1 AND status = 1 AND user_id = #{userId} AND source = #{grade} ORDER BY create_time LIMIT 1 ")
  45. Date queryRemainingDaysExpiration(@Param("userId") String userId, @Param("grade") Integer grade);
  46. }