yujian
2019-08-09 a6e138ae919e6048fa26472c31336123f3d78106
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java
@@ -40,7 +40,6 @@
import com.yeshi.fanli.dto.HongBaoDTO;
import com.yeshi.fanli.dto.money.AccountDetails;
import com.yeshi.fanli.dto.order.OrderItem;
import com.yeshi.fanli.dto.pdd.PDDGoodsDetail;
import com.yeshi.fanli.entity.AppVersionInfo;
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.bus.user.AccountMessage;
@@ -59,7 +58,6 @@
import com.yeshi.fanli.entity.common.Config;
import com.yeshi.fanli.entity.goods.CollectionGoodsV2;
import com.yeshi.fanli.entity.goods.CommonGoods;
import com.yeshi.fanli.entity.jd.JDGoods;
import com.yeshi.fanli.entity.money.UserMoneyDetail;
import com.yeshi.fanli.entity.order.HongBaoOrder;
import com.yeshi.fanli.entity.system.BusinessSystem;
@@ -116,8 +114,6 @@
import com.yeshi.fanli.util.factory.AccountDetailsFactory;
import com.yeshi.fanli.util.factory.HongBaoFactory;
import com.yeshi.fanli.util.factory.OrderItemFactory;
import com.yeshi.fanli.util.jd.JDApiUtil;
import com.yeshi.fanli.util.pinduoduo.PinDuoDuoApiUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
import com.yeshi.fanli.util.wx.WXLoginUtil;
@@ -211,13 +207,12 @@
   @Resource
   private AccountMessageService accountMessageService;
   @Resource
   private MaskKeyService maskKeyService;
   @Resource
   private UserTaoLiJinDetailService userTaoLiJinDetailService;
   private static final String PASSWORD_MAX_ERROR = "password_max_error";
   private static final String EXTRACT_MIN_MONEY = "extract_min_money";
@@ -774,8 +769,8 @@
      data.put("canExtract", canExtract);
      data.put("extractErrorMsg", errorMsg);
      data.put("minMoney", minMoney);//单笔最低
      data.put("maxMoney", maxMoney);//单笔最高
      data.put("minMoney", minMoney);// 单笔最低
      data.put("maxMoney", maxMoney);// 单笔最高
      data.put("maxDayCount", maxDayCount);
      data.put("bindingAccountList", gson.toJson(filterBindingAccount(bindingAccountList)));
@@ -1082,7 +1077,7 @@
    * @param type
    * @param out
    */
   @RequestSerializableByKey(key="uid")
   @RequestSerializableByKey(key = "uid")
   @RequestMapping(value = "extractmoneynew", method = RequestMethod.POST)
   public void extractMoneyNew(AcceptData acceptData, long uid, BigDecimal money, String vcode,
         HttpServletRequest request, int type, PrintWriter out) {
@@ -1199,7 +1194,7 @@
      } else if (etype == 111) {
         out.print(JsonUtil.loadFalseResult("更换了手机号后7天内不允许提现"));
      } else if (etype == 110) {
         out.print(JsonUtil.loadFalseResult(Constant.znxConfig.getExtractWrongMsg()));
         out.print(JsonUtil.loadFalseResult("有维权订单尚未扣款"));
      }
   }
@@ -1347,7 +1342,7 @@
      // count>0 有消息
      int count = accountMessageService.getCanOpenCount(uid);
      out.print(JsonUtil.loadTrueResult(count));
      ThreadUtil.run(new Runnable() {
         @Override
         public void run() {
@@ -1362,73 +1357,37 @@
   }
   @RequestMapping("collectionGoods")
   public void collectionGoods(AcceptData acceptData, long uid, long auctionId, int type, Integer goodsType, PrintWriter out) {
      if (goodsType ==  null) {
         goodsType = Constant.SOURCE_TYPE_TAOBAO;
      }
      CollectionGoodsV2 find = collectionGoodsV2Service.findByUidAndAuctionId(uid, auctionId, goodsType);
      if (type == 1) {
         if (find != null) {
            out.print(JsonUtil.loadFalseResult(""));
            return;
         }
         if (goodsType == Constant.SOURCE_TYPE_JD) {
            JDGoods jdGoods = JDApiUtil.queryGoodsDetail(auctionId);
            if (jdGoods == null) {
               jdGoods = JDApiUtil.getGoodsDetail(auctionId);
            }
            if (jdGoods == null) {
               out.print(JsonUtil.loadFalseResult(1, "商品已下架"));
            } else {
               try {
                  collectionGoodsV2Service.addJDCollection(uid, jdGoods);
                  out.print(JsonUtil.loadTrueResult("收藏成功"));
               } catch (CollectionGoodsException e) {
                  out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg()));
               }
            }
         } else if (goodsType == Constant.SOURCE_TYPE_PDD) {
            PDDGoodsDetail pddGoods = PinDuoDuoApiUtil.getGoodsDetail(auctionId);
            if (pddGoods == null) {
               out.print(JsonUtil.loadFalseResult(1, "商品已下架"));
   public void collectionGoods(AcceptData acceptData, long uid, long auctionId, int type, PrintWriter out) {
      try {
         CollectionGoodsV2 find = collectionGoodsV2Service.findByUidAndAuctionId(uid, auctionId,
               Constant.SOURCE_TYPE_TAOBAO);
         if (type == 1) {
            if (find != null) {
               out.print(JsonUtil.loadFalseResult(""));
               return;
            }
            try {
               collectionGoodsV2Service.addPDDCollection(uid, pddGoods);
               out.print(JsonUtil.loadTrueResult("收藏成功"));
            } catch (CollectionGoodsException e) {
               out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg()));
            }
         } else {
            try {
               TaoBaoGoodsBrief taoBaoGoodsBrief = redisManager.getTaoBaoGoodsBrief(auctionId);
               collectionGoodsV2Service.addCollection(uid, taoBaoGoodsBrief);
               out.print(JsonUtil.loadTrueResult("收藏成功"));
            } catch (TaobaoGoodsDownException e) {
               out.print(JsonUtil.loadFalseResult(1, "商品已下架"));
            } catch (CollectionGoodsException e1) {
               out.print(JsonUtil.loadFalseResult(e1.getCode(), e1.getMsg()));
            }
         }
      } else {
         if (find == null) {
            out.print(JsonUtil.loadTrueResult("取消收藏成功"));
            return;
         } else {
            try {
               collectionGoodsV2Service.cancelCollectionByAuctionId(uid, auctionId, goodsType);
            if (find == null) {
               out.print(JsonUtil.loadTrueResult("取消收藏成功"));
            } catch (CollectionGoodsException e) {
               out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg()));
               return;
            } else {
               collectionGoodsV2Service.cancelCollectionByAuctionId(uid, auctionId, Constant.SOURCE_TYPE_TAOBAO);
               out.print(JsonUtil.loadTrueResult("取消收藏成功"));
            }
         }
      } catch (CollectionGoodsException e1) {
         out.print(JsonUtil.loadFalseResult(e1.getCode(), e1.getMsg()));
      }
   }
   /**
    * h5收藏
    * 
@@ -1439,14 +1398,15 @@
    * @param out
    */
   @RequestMapping("collectionGoodsJp")
   public void collectionGoodsJp(String callback, AcceptData acceptData, Long uid, Long auctionId, Integer goodsType, PrintWriter out) {
   public void collectionGoodsJp(String callback, AcceptData acceptData, Long uid, Long auctionId, Integer goodsType,
         PrintWriter out) {
      if (uid == null || auctionId == null) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(""));
         return;
      }
      if (goodsType ==  null) {
      if (goodsType == null) {
         goodsType = Constant.SOURCE_TYPE_TAOBAO;
      }
@@ -1454,9 +1414,9 @@
      if (find == null) {
         if (goodsType == Constant.SOURCE_TYPE_JD) {
         } else if (goodsType == Constant.SOURCE_TYPE_PDD) {
         } else {
            try {
               TaoBaoGoodsBrief taoBaoGoodsBrief = redisManager.getTaoBaoGoodsBrief(auctionId);
@@ -1565,14 +1525,16 @@
   }
   @RequestMapping("deleteCollectionGoods")
   public void deleteCollectionGoods(AcceptData acceptData, String ids, Integer type, long uid, Integer goodsType, PrintWriter out) {
   public void deleteCollectionGoods(AcceptData acceptData, String ids, Integer type, long uid, Integer goodsType,
         PrintWriter out) {
      if (type != null && type == 1) {
         clearConllectionGoods(acceptData, uid, out);
      } else {
         if (!StringUtil.isNullOrEmpty(ids)) {
            Arrays.asList(ids.split(",")).parallelStream().forEach(auctionIdStr -> {
               try {
                  collectionGoodsV2Service.cancelCollectionByAuctionId(uid, Long.parseLong(auctionIdStr), goodsType);
                  collectionGoodsV2Service.cancelCollectionByAuctionId(uid, Long.parseLong(auctionIdStr),
                        goodsType);
               } catch (Exception e) {
                  e.printStackTrace();
               }
@@ -1765,10 +1727,15 @@
               bossData = new JSONObject();
               UserInfo boss = threeSale.getBoss();
               if (boss != null) {
                  bossData.put("bossId", boss.getId());
                  bossData.put("nickName", boss.getNickName());
                  bossData.put("portrait", boss.getPortrait());
                  UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(boss.getId());
                  if (userInfoExtra != null)
                     bossData.put("weiXin", userInfoExtra.getWeiXin());
               }
               SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd");
               Long createTime = threeSale.getCreateTime();
               Date inviteTime = new Date(createTime);
@@ -2116,8 +2083,6 @@
         GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation();
         JSONObject data = new JSONObject();
         data.put("user", JsonUtil.getConvertBigDecimalToStringBuilder(gsonBuilder).create().toJson(userInfo));
         // 界面状态
         UserSettingsVO mySettings = null;
         try {
@@ -2142,18 +2107,15 @@
         if (mySettings.getNoInvitationBonus() == null) {
            mySettings.setNoInvitationBonus(0);
         }
         if (mySettings.getOpenSpreadHongBao() == null) {
            if(userTaoLiJinDetailService.countDetail(uid) > 0) {
            if (userTaoLiJinDetailService.countDetail(uid) > 0) {
               mySettings.setOpenSpreadHongBao(1);
            } else {
               mySettings.setOpenSpreadHongBao(0);
            }
         }
         data.put("moduleState", mySettings);
         int welfareCenterNews = 0;
         String invitCode = null;
@@ -2176,8 +2138,14 @@
               userInfo.setRankNamePicture(null);
               userInfo.setRankIcon(null);
            }
            userInfo.setSex(userInfoExtra.getSex());
            userInfo.setWeiXin(userInfoExtra.getWeiXin());
         }
         data.put("user", JsonUtil.getConvertBigDecimalToStringBuilder(gsonBuilder).create().toJson(userInfo));
         data.put("invitCode", invitCode); // 邀请码
         data.put("welfareCenterNews", welfareCenterNews);// 福利中心消息
         out.print(JsonUtil.loadTrueResult(data));
@@ -2235,9 +2203,9 @@
      }
   }
   /**
    * 用户更换头像
    *
    * @param acceptData
    * @param fileList
    * @param uid
@@ -2245,22 +2213,23 @@
    * @param out
    */
   @RequestMapping(value = "uploadPortrait")
   public void uploadPortrait(AcceptData acceptData, MultipartFile file, Long uid, HttpServletRequest request, PrintWriter out) {
   public void uploadPortrait(AcceptData acceptData, MultipartFile file, Long uid, HttpServletRequest request,
         PrintWriter out) {
      try {
         if (uid == null) {
            out.print(JsonUtil.loadFalseResult("用户未登录"));
            return;
         }
         if (file == null) {
            out.print(JsonUtil.loadFalseResult("上传文件不能为空"));
            return;
         }
         userInfoService.uploadPortrait(file, uid);
         out.print(JsonUtil.loadTrueResult("保存成功"));
      } catch (UserInfoException e) {
         out.print(JsonUtil.loadFalseResult(e.getMsg()));
         try {
@@ -2284,37 +2253,63 @@
         }
      }
   }
   /**
    * 更换昵称
    * 更换基础信息
    *
    * @param acceptData
    * @param nickName
    * @param uid
    * @param out
    */
   @RequestMapping(value = "saveInfo")
   public void saveInfo(AcceptData acceptData, String nickName, Long uid, PrintWriter out) {
   public void saveInfo(AcceptData acceptData, String nickName, String weiXin, Integer sex, Long uid, PrintWriter out) {
      try {
         if (uid == null) {
            out.print(JsonUtil.loadFalseResult("用户未登录"));
            return;
         }
         if (StringUtil.isNullOrEmpty(nickName)) {
            out.print(JsonUtil.loadFalseResult("昵称不能为空"));
            return;
         }
         if (nickName.length() > 200) {
            out.print(JsonUtil.loadFalseResult("昵称过长"));
            return;
         // 修改昵称
         if (!StringUtil.isNullOrEmpty(nickName)) {
            if (nickName.length() > 200) {
               out.print(JsonUtil.loadFalseResult("昵称过长"));
               return;
            }
            if (maskKeyService.examineContent(nickName)) {
               out.print(JsonUtil.loadFalseResult("不能包含敏感词汇"));
               return;
            }
            userInfoService.saveUserInfo(nickName, uid);
         }
         
         if(maskKeyService.examineContent(nickName)) {
            out.print(JsonUtil.loadFalseResult("不能包含敏感词汇"));
            return;
         // 修改微信号
         if (!StringUtil.isNullOrEmpty(weiXin)) {
            if (weiXin.length() > 32) {
               out.print(JsonUtil.loadFalseResult("微信号过长"));
               return;
            }
            UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
            if (userInfoExtra != null) {
               UserInfoExtra extra = new UserInfoExtra();
               extra.setId(userInfoExtra.getId());
               extra.setWeiXin(weiXin);
               userInfoExtraService.saveUserInfoExtra(extra);
            }
         }
         
         userInfoService.saveUserInfo(nickName, uid);
         // 修改性别
         if (sex != null && sex > 0 && sex < 3) {
            UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
            if (userInfoExtra != null) {
               UserInfoExtra extra = new UserInfoExtra();
               extra.setId(userInfoExtra.getId());
               extra.setSex(sex);
               userInfoExtraService.saveUserInfoExtra(extra);
            }
         }
         out.print(JsonUtil.loadTrueResult("保存成功"));
      } catch (UserInfoException e) {
         out.print(JsonUtil.loadFalseResult(e.getMsg()));