yujian
2019-03-27 cdcbed9af813b2a02cdc01eefa24db8bec6b51a9
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoExtraServiceImpl.java
@@ -1,6 +1,8 @@
package com.yeshi.fanli.service.impl.user;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -9,7 +11,6 @@
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import org.yeshi.utils.DateUtil;
import com.yeshi.fanli.dao.mybatis.user.UserInfoExtraMapper;
import com.yeshi.fanli.dao.mybatis.user.UserRankRecordMapper;
@@ -64,7 +65,7 @@
         throw new UserInfoExtraException(1, "用户附加信息不存在");
      }
      // 等级对照表
      // 等级对照表
      String contrast = configService.get("user_rank_contrast");
      extraVO.setRankContrast(contrast);
      // 特别提醒
@@ -72,7 +73,11 @@
      extraVO.setRankTip(rankTip);
      Integer rankOrderNum = extraVO.getRankOrderNum();
      if (rankOrderNum != null && rankOrderNum > 0) {
      UserRank userRank = extraVO.getUserRank();
      // 青铜等级不返回恭喜语句 注:青铜等级id 必须为1
      if (userRank != null && userRank.getId() != null && userRank.getId() > 1) {
         String rankMsg = null;
         Integer rankSource = extraVO.getRankSource();
         switch (rankSource) {
@@ -135,8 +140,11 @@
      if (userInfoExtra != null && userInfoExtra.getId() != null) {
         // 判断当月是否已更新
         Date rankUpdateTime = userInfoExtra.getRankUpdateTime();
         if (rankUpdateTime != null && DateUtil.isSameMonth(rankUpdateTime, new Date())) {
            isupdateRank = false;
         if (rankUpdateTime != null) {
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
            if (sdf.format(rankUpdateTime).equals(sdf.format(new Date()))) {
               isupdateRank = false;
            }
         } 
      } else {
         userInfoExtra = new UserInfoExtra();
@@ -223,13 +231,17 @@
            rank = userRank;
            // 默认最低等级:青铜
            userInfoExtra.setUserRank(rank);
            userInfoExtra.setRankOrderNum(0);
            userInfoExtra.setRankOrderNum(selfOrderNum);
            userInfoExtra.setRankSource(Constant.TYPE_REBATE);
            break;
         }
      }
      // 等级更新时间
      userInfoExtra.setRankUpdateTime(new Date());
      // 等级更新时间 当月1号
      Calendar calendar1=Calendar.getInstance();
        calendar1.set(Calendar.DAY_OF_MONTH, 1);
      userInfoExtra.setRankUpdateTime(calendar1.getTime());
      // 保存信息并返回
      saveUserInfoExtra(userInfoExtra);
      
@@ -279,6 +291,14 @@
   public String activateInviteCode(Long uid, String inviteCode) throws UserInfoExtraException{
      if (uid == null || inviteCode == null) {
         throw new UserInfoExtraException(1, "用户id、邀请码不能为空");
      }
      UserInfoExtra extra = userInfoExtraMapper.getInfoExtraByUid(uid);
      if (extra != null) {
         String inviteCodeHas = extra.getInviteCode();
         if (inviteCodeHas != null && inviteCodeHas.trim().length() > 0) {
            throw new UserInfoExtraException(1, "已存在邀请码,请刷新页面");
         }
      }
      
      // 被邀请人信息
@@ -334,6 +354,12 @@
   }
   
   @Override
   public UserInfoExtraVO getInfoExtraVOByUid(Long uid) {
      return userInfoExtraMapper.getInfoExtraVOByUid(uid);
   }
   @Override
   public String getUserInviteCode(Long uid) throws UserInfoExtraException {
      
      UserInfoExtra userInfoExtra = userInfoExtraMapper.getInfoExtraByUid(uid);
@@ -366,4 +392,11 @@
      return inviteCode;
   }
   
   @Override
   public long countByRankId(Long rankId) {
      return userInfoExtraMapper.countByRankId(rankId);
   }
}