admin
2019-08-26 d28bed1a1275131a5ca37f7da37961e2b518ac07
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/UserInfoMapper.java
@@ -2,10 +2,12 @@
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Param;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.vo.user.UserInfoVO;
public interface UserInfoMapper {
@@ -38,14 +40,21 @@
   BigDecimal getMyHB(Long id);
   // 根据AppId与微信unionID获取用户
   UserInfo getUserInfoByAppIdAndWXUnionId(@Param("appId") String appId, @Param("unionId") String unionId);
   List<UserInfo> listByAppIdAndWXUnionId(@Param("appId") String appId, @Param("unionId") String unionId);
   // 根据AppId与淘宝OpenId获取用户
   UserInfo getUserInfoByAppIdAndTaoBaoOpenId(@Param("appId") String appId, @Param("openId") String openId);
   List<UserInfo> listByAppIdAndTaoBaoOpenId(@Param("appId") String appId, @Param("openId") String openId);
   // 根据AppId与电话号码获取用户
   UserInfo getUserInfoByAppIdAndPhone(@Param("appId") String appId, @Param("phone") String phone);
   List<UserInfo> listByAppIdAndPhone(@Param("appId") String appId, @Param("phone") String phone);
   // 根据获取电话号码有效用户
   UserInfo getEffectiveUserInfoByPhone(@Param("phone") String phone);
   // 根据获WXUnionId有效用户
   UserInfo getEffectiveUserInfoByWXUnionId(@Param("unionId") String unionId);
   Long getMaxUid();
   /**
@@ -69,12 +78,14 @@
    * @param orderMode  排序方式
    * @return
    */
   List<UserInfo> query(@Param("start") long start, @Param("count") int count, @Param("key") String key,
         @Param("userType")Integer userType,   @Param("days")Integer days,
   List<UserInfoVO> query(@Param("start") long start, @Param("count") int count, @Param("userState")Integer userState,
         @Param("key") String key, @Param("keyType") Integer keyType,
         @Param("userRank") String userRank,   @Param("days")Integer days,
         @Param("startTime") String startTime, @Param("endTime") String endTime, 
         @Param("orderField") Integer orderField, @Param("orderMode") Integer orderMode);
   
   long queryCount(@Param("key") String key, @Param("userType")Integer userType,   @Param("days")Integer days,
   long queryCount( @Param("userState")Integer userState, @Param("key") String key,  @Param("keyType") Integer keyType,
         @Param("userRank")String userRank,@Param("days")Integer days,
         @Param("startTime") String startTime, @Param("endTime") String endTime);
   
   /**
@@ -109,7 +120,7 @@
    * @param minMoney
    * @return
    */
   double countAllMoney(@Param("minMoney") Double minMoney);
   BigDecimal countAllMoney(@Param("minMoney") Double minMoney);
   
   
   /**
@@ -119,4 +130,55 @@
    */
   List<Long> longTimeNoLogin(@Param("daysNum") int daysNum, @Param("list") List<Long> list);
   
   /**
    * 统计流失用户数量:( num 天未使用登录并且无任何资金流动的账号数量)
    * @param num 180
    * @return
    */
   long countLoseUser(@Param("num") int num);
   /**
    * 累计有购买用户数
    * @return
    */
   long countHasOrderUser();
   /**
    * 统计新增用户
    * @return
    */
   List<Map<String, Object>> countNewUserByDate(@Param("channel")String channel,@Param("type")Integer type, @Param("years") String years,
         @Param("startTime")String startTime, @Param("endTime")String endTime);
   /**
    * 统计新增用户当日产生订单用户数量
    * @return
    */
   List<Map<String, Object>> getTodayHasOrder(@Param("channel")String channel,@Param("type")Integer type, @Param("years") String years,
         @Param("startTime")String startTime, @Param("endTime")String endTime);
   /**
    * 统计新增用户一周产生订单用户数量
    * @return
    */
   Map<String, Object> getWeekHasOrder(@Param("channel")String channel, @Param("startTime")String startTime,
         @Param("endTime")String endTime, @Param("orderNum")Integer orderNum);
   /**
    * 根据电话号码、邀请码获取邀请用户
    * @param phone
    * @param inviteCode
    * @return
    */
   UserInfo getInfoByPhoneOrInviteCode(@Param("phone")String phone, @Param("inviteCode")String inviteCode);
   // 根据AppId与电话号码获取用户
   List<UserInfo> listByClosed(@Param("appId") String appId, @Param("phone") String phone);
}