yujian
2019-09-03 d1dccd08a249b830a95eeeb04af25f87d5c056be
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/InviteControllerV2.java
@@ -27,9 +27,9 @@
import com.yeshi.fanli.service.inter.msg.UserSystemMsgService;
import com.yeshi.fanli.service.inter.push.PushService;
import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
import com.yeshi.fanli.service.inter.user.UserInfoService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.VersionUtil;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
@@ -52,6 +52,9 @@
   private ThreeSaleSerivce threeSaleSerivce;
   
   @Resource
   private UserInfoService userInfoService;
   @Resource
   private UserInfoExtraService userInfoExtraService;
   
   @Resource
@@ -71,6 +74,7 @@
         JSONObject data = new JSONObject();
         data.put("nickName", userInfo.getNickName());
         data.put("portrait", userInfo.getPortrait());
         data.put("tips", "确认要成为TA的一级队员吗?邀请关系一旦建立不可更改。");
         out.print(JsonUtil.loadTrueResult(data));
      } catch (UserInfoExtraException e) {
         out.print(JsonUtil.loadFalseResult(e.getMsg()));
@@ -89,6 +93,7 @@
         JSONObject data = new JSONObject();
         data.put("nickName", userInfo.getNickName());
         data.put("portrait", userInfo.getPortrait());
         data.put("tips", "确认要成为TA的一级队员吗?邀请关系一旦建立不可更改。");
         out.print(JsonUtil.loadTrueResult(data));
      } catch (UserInfoExtraException e) {
         out.print(JsonUtil.loadFalseResult(e.getMsg()));
@@ -121,6 +126,18 @@
      
      // 组织数据
      JSONObject resultData = organizeTeam(count, listTeam, uid, type);
      // 第一页判断是否激活 是否有队员
      if (type == 1 && page == 1) {
         boolean hasCode = false;
         UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
         if (userInfoExtra != null) {
            if (!StringUtil.isNullOrEmpty(userInfoExtra.getInviteCode()))
               hasCode = true;
         }
         resultData.put("hasCode", hasCode);
         resultData.put("hasTeam", count > 0? true:false);
      }
      out.print(JsonUtil.loadTrueResult(resultData));
   }
   
@@ -227,12 +244,21 @@
   public void countMyTeam(AcceptData acceptData, long uid, PrintWriter out) {
      JSONObject bossData = getBossInfo(acceptData, uid, threeSaleSerivce.getMyBoss(uid));
      JSONObject resultData = new JSONObject();
      long firstTeam = threeSaleSerivce.countFirstTeam(uid, 1);
      resultData.put("boss", bossData);
      resultData.put("helpLink", configService.get("team_help_url"));
      resultData.put("firstTeam", threeSaleSerivce.countFirstTeam(uid, 1));
      resultData.put("firstTeam", firstTeam);
      resultData.put("firstTeamTotal", threeSaleSerivce.countFirstTeam(uid, null));
      resultData.put("secondTeam", threeSaleSerivce.countSecondTeam(uid, 1));
      resultData.put("secondTeamTotal", threeSaleSerivce.countSecondTeam(uid, null));
      boolean hasTeam = true;
      if (firstTeam <= 0) {
         hasTeam = false;
         resultData.put("invitelink", configService.get("invite_activation_url"));
      }
      resultData.put("hasTeam", hasTeam);
      
      boolean hasCode = false;
      boolean bdWeiXin = false;
@@ -245,15 +271,15 @@
            bdWeiXin = true;
      }
      
      List<String> tipCode = new ArrayList<String>();
      // 未激活邀请码
      resultData.put("hasCode", hasCode);
      if (!hasCode) {
         List<String> tipCode = new ArrayList<String>();
         resultData.put("helpLinkActivate", configService.get("team_help_url"));
         tipCode.add("激活邀请功能后才可以邀请队员,一级队员是由你直接邀请,二级队员是由你的一级队员邀请。");
         tipCode.add("邀请激活功能,必须要有邀请码,邀请码可以通过金币兑换,也可以全网搜索。");
         resultData.put("tipCode", tipCode);
      }
      resultData.put("hasCode", hasCode);
      resultData.put("tipCode", tipCode);
      
      // 未添加微信号
      List<String> tipWeiXin = new ArrayList<String>();
@@ -262,6 +288,7 @@
         tipWeiXin.add("你也可以向邀请人学习或向一级队员教授赚钱技巧。");
      }
      resultData.put("tipWeiXin", tipWeiXin);
      resultData.put("tipWeiXinAdd", "添加微信号后,你的邀请人和一级队员可以通过微信与你建立联系。");
      resultData.put("bdWeiXin", bdWeiXin);
      
      out.print(JsonUtil.loadTrueResult(resultData));
@@ -301,7 +328,6 @@
            }
         }
         bossData.put("inviteTime", "你于 " + sdf.format(inviteTime) + "接受了TA的邀请");
      } else {
         bossData.put("hasBoss", false);
         bossData.put("helpLink", configService.get("invite_code_hlep_link"));
@@ -326,6 +352,12 @@
         return;
      }
      
      UserInfo userInfo = userInfoService.selectByPKey(uid);
      if (userInfo == null) {
         out.print(JsonUtil.loadFalseResult("用户信息不存在"));
         return;
      }
      ThreeSale threeSale = threeSaleSerivce.selectByPrimaryKey(inviteId);
      if (threeSale == null) {
         out.print(JsonUtil.loadFalseResult("关系id不存在"));
@@ -333,9 +365,11 @@
      } 
      
      Long remindId = null;
      boolean remindBoss = true;
      if (uid.longValue() == threeSale.getWorker().getId().longValue()) {
         remindId = threeSale.getBoss().getId(); // 提醒上级
      } else if (uid.longValue() == threeSale.getBoss().getId().longValue()) {
         remindBoss = false;
         remindId = threeSale.getWorker().getId(); // 提醒下级
      } 
      
@@ -344,21 +378,57 @@
         return;
      }
      
      Long bossId = null;
      Long workerId = null;
      String title = "队员提醒消息";
      String content = "";
      if (remindBoss) {
         // 提示队长
         bossId = remindId;
         workerId = uid;
         content = "你的一级队员"+ userInfo.getNickName() +",提醒你添加微信号,以便于和你取得联系和学习省钱技巧,赶快去添加吧;注:请升级到本软件最新版本在“我的-我的信息”中添加。";
      } else {
         // 提示队员
         bossId = uid;
         workerId = remindId;
         content = "你的邀请人"+ userInfo.getNickName() +",提醒你添加微信号,以便于和你取得联系帮助你更好的省钱,赶快去添加吧;注:请升级到本软件最新版本在“我的-我的信息”中添加。";
      }
      try {
         List<String> listIOS = new ArrayList<String>();
         List<String> listAndroid = new ArrayList<String>();
         pushService.pushZNX(remindId, "", "", listIOS, listAndroid);
         userSystemMsgService.addUserSystemMsg(remindId, UserSystemMsgTypeEnum.question,
               "", "", UserSystemMsg.TIME_TAG_EMERGENT, null);
         pushService.pushZNX(remindId, title, content, listIOS, listAndroid);
         userSystemMsgService.addUserSystemMsg(remindId, UserSystemMsgTypeEnum.common,
               title, content, UserSystemMsg.TIME_TAG_COMMON, null);
         ThreeSaleExtraInfo newInfo = new ThreeSaleExtraInfo();
         if (remindBoss) {
            newInfo.setRemindBoss(1);
         } else {
            newInfo.setRemindWorker(1);
         }
         ThreeSaleExtraInfo threeExtra = threeSaleExtraInfoSerivce.getbyBossIdAndWorkerId(bossId, workerId);
         if (threeExtra != null) {
            newInfo.setId(threeExtra.getId());
            newInfo.setUpdateTime(new Date());
            threeSaleExtraInfoSerivce.updateByPrimaryKeySelective(newInfo);
         } else {
            newInfo.setBoss(new UserInfo(bossId));
            newInfo.setWorker(new UserInfo(workerId));
            newInfo.setCreateTime(new Date());
            newInfo.setUpdateTime(new Date());
            threeSaleExtraInfoSerivce.insertSelective(newInfo);
         }
         
         JSONObject data = new JSONObject();
         data.put("weiXinState", 2);
         data.put("weiXinTip", "系统已发送提醒,邀请人添加微信后你可复制,如对方迟迟不添加,你可联系人工客服寻求帮助");
         out.print(JsonUtil.loadTrueResult(data));
      } catch (Exception e) {
         e.printStackTrace();
         out.print(JsonUtil.loadFalseResult("提醒失败"));
         return;
      }
   }
}