yujian
2020-05-06 eb1adc13eda955e8ef0fc9fe41fb246fa89b722d
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/InviteControllerV2.java
@@ -22,6 +22,7 @@
import com.yeshi.fanli.entity.bus.msg.UserSystemMsgTypeEnum;
import com.yeshi.fanli.entity.bus.user.ThreeSale;
import com.yeshi.fanli.entity.bus.user.ThreeSaleExtraInfo;
import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
import com.yeshi.fanli.entity.bus.user.UserInviteValidNum;
@@ -38,6 +39,7 @@
import com.yeshi.fanli.service.inter.config.SpreadImgService;
import com.yeshi.fanli.service.inter.config.SystemClientParamsService;
import com.yeshi.fanli.service.inter.msg.UserSystemMsgService;
import com.yeshi.fanli.service.inter.order.CommonOrderCountService;
import com.yeshi.fanli.service.inter.push.PushService;
import com.yeshi.fanli.service.inter.user.SpreadUserImgService;
import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
@@ -47,11 +49,13 @@
import com.yeshi.fanli.service.inter.user.invite.UserInviteService;
import com.yeshi.fanli.service.inter.user.invite.UserInviteValidNumService;
import com.yeshi.fanli.service.inter.user.invite.UserInviteValidRecordService;
import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService;
import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.RedisKeyEnum;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.VersionUtil;
import com.yeshi.fanli.util.annotation.RequestSerializableByKey;
import com.yeshi.fanli.util.user.UserLevelUtil;
@@ -109,6 +113,11 @@
   @Resource
   private UserInviteValidNumService userInviteValidNumService;
   
   @Resource
   private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService;
   @Resource
   private CommonOrderCountService commonOrderCountService;
   
   /**
    * 邀请码验证
@@ -213,14 +222,18 @@
      }
      
      List<Long> listId = new ArrayList<Long>();
      long count = 0;
      List<ThreeSale> listTeam = null;
      if (type == 1) {
         listTeam = threeSaleSerivce.listFirstTeam((page - 1) * Constant.PAGE_SIZE, Constant.PAGE_SIZE, uid, listId);
         count = threeSaleSerivce.countFirstTeam(uid);
         count = threeSaleSerivce.countFirstTeam(uid, listId);
      } else if (type == 2) {
         listTeam = threeSaleSerivce.listSecondTeam((page - 1) * Constant.PAGE_SIZE, Constant.PAGE_SIZE, uid, listId);
         count = threeSaleSerivce.countSecondTeam(uid);
         count = threeSaleSerivce.countSecondTeam(uid, listId);
      }
      // 数据加工
@@ -788,4 +801,122 @@
      JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
   }
   
   /**
    * 获取粉丝信息
    * @param acceptData
    * @param uid
    * @param workerId
    * @param out
    */
   @RequestMapping(value = "getFansInfo")
   public void getFansInfo(AcceptData acceptData,Long uid, Long workerId, PrintWriter out) {
      if (uid == null || workerId == null) {
         out.print(JsonUtil.loadFalseResult("用户id缺失"));
         return;
      }
      ThreeSale threeSale = threeSaleSerivce.getByWorkerId(workerId);
      if (threeSale == null) {
         out.print(JsonUtil.loadFalseResult("邀请关系不存在"));
         return;
      }
      UserInfo user = userInfoService.selectByPKey(workerId);
      if (user == null) {
         out.print(JsonUtil.loadFalseResult("用户不存在"));
         return;
      }
      JSONArray tagArray = new JSONArray();
      String memoName = user.getNickName();
      Long succeedTime = threeSale.getSucceedTime();
      JSONObject data = new JSONObject();
      data.put("nickName", user.getNickName());
      data.put("phone", user.getPhone());
      data.put("joinTime", TimeUtil.formatDate(succeedTime == null? threeSale.getCreateTime() : succeedTime));
      ThreeSaleExtraInfo saleExtraInfo = threeSaleExtraInfoSerivce.getbyBossIdAndWorkerId(uid, workerId);
      if (saleExtraInfo != null) {
         if(!StringUtil.isNullOrEmpty(saleExtraInfo.getNickname())) {
            memoName = saleExtraInfo.getNickname();
         }
         String tags = saleExtraInfo.getTags();
         if (!StringUtil.isNullOrEmpty(tags)) {
            tagArray = JSONArray.fromObject(tags);
         }
      }
      data.put("memoName", memoName);
      data.put("tags", tagArray);
      Date activeTime = null;
      String weixin = null;
      UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(workerId);
      if (userInfoExtra != null) {
         weixin = userInfoExtra.getWeiXin();
         activeTime = userInfoExtra.getActiveTime();
      }
      data.put("weixin", StringUtil.isNullOrEmpty(weixin)? "": weixin);
      data.put("loginTime", TimeUtil.formatDate(activeTime == null? userInfoExtra.getCreateTime():activeTime));
      UserExtraTaoBaoInfo userExtraTaoBaoInfo = userExtraTaoBaoInfoService.getByUid(workerId);
      if (userExtraTaoBaoInfo != null && !StringUtil.isNullOrEmpty(userExtraTaoBaoInfo.getRelationId())
            && !StringUtil.isNullOrEmpty(userExtraTaoBaoInfo.getSpecialId())) {
         data.put("taobao", true);
      } else {
         data.put("taobao", false);
      }
      long indirectNum = 0;
      long directNum = threeSaleSerivce.countFirstTeam(workerId);
      if (directNum > 0) {
         indirectNum = threeSaleSerivce.countSecondTeam(workerId);
      }
      data.put("directNum", directNum);
      data.put("indirectNum", indirectNum);
      long countTB = commonOrderCountService.countOrderBySourceAndNearDay(workerId, Constant.SOURCE_TYPE_TAOBAO, 60);
      long countJD = commonOrderCountService.countOrderBySourceAndNearDay(workerId, Constant.SOURCE_TYPE_JD, 60);
      long countPDD = commonOrderCountService.countOrderBySourceAndNearDay(workerId, Constant.SOURCE_TYPE_PDD, 60);
      data.put("orderTB", countTB);
      data.put("orderJD", countJD);
      data.put("orderPDD", countPDD);
      out.print(JsonUtil.loadTrueResult(data));
   }
   /**
    * 获取粉丝信息
    * @param acceptData
    * @param uid
    * @param workerId
    * @param out
    */
   @RequestMapping(value = "saveTags")
   public void saveTags(AcceptData acceptData,Long uid, Long workerId, String tags, PrintWriter out) {
      if (uid == null || workerId == null) {
         out.print(JsonUtil.loadFalseResult("用户id缺失"));
         return;
      }
      ThreeSaleExtraInfo saleExtraInfo = threeSaleExtraInfoSerivce.getbyBossIdAndWorkerId(uid, workerId);
      if (saleExtraInfo != null) {
         ThreeSaleExtraInfo upObject = new ThreeSaleExtraInfo();
         upObject.setTags(tags);
         upObject.setId(saleExtraInfo.getId());
         upObject.setUpdateTime(new Date());
         threeSaleExtraInfoSerivce.updateByPrimaryKeySelective(upObject);
      } else {
         saleExtraInfo = new ThreeSaleExtraInfo();
         saleExtraInfo.setBoss(new UserInfo(uid));
         saleExtraInfo.setWorker(new UserInfo(workerId));
         saleExtraInfo.setTags(tags);
         saleExtraInfo.setCreateTime(new Date());
         threeSaleExtraInfoSerivce.insertSelective(saleExtraInfo);
      }
      out.print(JsonUtil.loadTrueResult("保存成功"));
   }
}