admin
2019-09-16 cc55ffcea74c7d23dadaa0860befbcdf98f35341
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java
@@ -40,6 +40,7 @@
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.wx.WXAccountInfoDTO;
import com.yeshi.fanli.entity.AppVersionInfo;
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.bus.user.AccountMessage;
@@ -54,6 +55,7 @@
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
import com.yeshi.fanli.entity.bus.user.WeiXinUser;
import com.yeshi.fanli.entity.bus.user.UserInfoModifyRecord.ModifyTypeEnum;
import com.yeshi.fanli.entity.common.AdminUser;
import com.yeshi.fanli.entity.common.Config;
import com.yeshi.fanli.entity.goods.CollectionGoodsV2;
@@ -63,10 +65,10 @@
import com.yeshi.fanli.entity.system.BusinessSystem;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBriefExtra;
import com.yeshi.fanli.exception.BindingAccountException;
import com.yeshi.fanli.exception.goods.CollectionGoodsException;
import com.yeshi.fanli.exception.taobao.TaoKeApiException;
import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
import com.yeshi.fanli.exception.user.BindingAccountException;
import com.yeshi.fanli.exception.user.UserCustomSettingsException;
import com.yeshi.fanli.exception.user.UserInfoException;
import com.yeshi.fanli.exception.user.UserInfoExtraException;
@@ -81,14 +83,15 @@
import com.yeshi.fanli.service.inter.hongbao.HongBaoV2Service;
import com.yeshi.fanli.service.inter.hongbao.ThreeSaleExtraInfoSerivce;
import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce;
import com.yeshi.fanli.service.inter.money.UserMoneyDetailService;
import com.yeshi.fanli.service.inter.money.extract.BindingAccountService;
import com.yeshi.fanli.service.inter.money.extract.ExtractRecordService;
import com.yeshi.fanli.service.inter.money.extract.ExtractService;
import com.yeshi.fanli.service.inter.order.HongBaoOrderService;
import com.yeshi.fanli.service.inter.order.LostOrderService;
import com.yeshi.fanli.service.inter.order.OrderService;
import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinDetailService;
import com.yeshi.fanli.service.inter.user.AccountMessageService;
import com.yeshi.fanli.service.inter.user.BindingAccountService;
import com.yeshi.fanli.service.inter.user.ExtractRecordService;
import com.yeshi.fanli.service.inter.user.ExtractService;
import com.yeshi.fanli.service.inter.user.MaskKeyService;
import com.yeshi.fanli.service.inter.user.ShamUserService;
import com.yeshi.fanli.service.inter.user.SpreadUserImgService;
@@ -96,8 +99,8 @@
import com.yeshi.fanli.service.inter.user.UserActiveLogService;
import com.yeshi.fanli.service.inter.user.UserCustomSettingsService;
import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
import com.yeshi.fanli.service.inter.user.UserInfoModifyRecordService;
import com.yeshi.fanli.service.inter.user.UserInfoService;
import com.yeshi.fanli.service.inter.user.UserMoneyDetailService;
import com.yeshi.fanli.service.inter.user.UserShareGoodsRecordService;
import com.yeshi.fanli.util.AESUtil;
import com.yeshi.fanli.util.Constant;
@@ -108,8 +111,10 @@
import com.yeshi.fanli.util.ThreadUtil;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.Utils;
import com.yeshi.fanli.util.VersionUtil;
import com.yeshi.fanli.util.account.UserUtil;
import com.yeshi.fanli.util.annotation.RequestSerializableByKey;
import com.yeshi.fanli.util.annotation.UserActive;
import com.yeshi.fanli.util.email.MailSenderUtil;
import com.yeshi.fanli.util.factory.AccountDetailsFactory;
import com.yeshi.fanli.util.factory.HongBaoFactory;
@@ -214,6 +219,9 @@
   @Resource
   private UserTaoLiJinDetailService userTaoLiJinDetailService;
   @Resource
   private UserInfoModifyRecordService userInfoModifyRecordService;
   private static final String PASSWORD_MAX_ERROR = "password_max_error";
   private static final String EXTRACT_MIN_MONEY = "extract_min_money";
   private static final String EXTRACT_MAX_MONEY = "extract_max_money";
@@ -286,7 +294,9 @@
         int loginType = form.getLoginType();
         // WeiXinUserParam wxParam = null;
         // 如果是微信登陆,那需要先获取到微信的unionid
         WeiXinUser weiXinUser = WXLoginUtil.getWeiXinUserWithSavePortrait(code);
         WXAccountInfoDTO account = Constant.getWXAccount(acceptData.getPlatform(), acceptData.getVersion());
         WeiXinUser weiXinUser = WXLoginUtil.getWeiXinUserWithSavePortrait(code, account.getAppId(),
               account.getAppSecret());
         if (loginType == Constant.WEIXIN && StringUtil.isNullOrEmpty(form.getWxUnionId())) {
            // wxParam = WXinUtil.getWxParam(code);
            if (weiXinUser == null) {
@@ -381,7 +391,11 @@
                                     * StringUtil.isNullOrEmpty(form
                                     * .getWxOpenId())
                                     */) {
            WeiXinUser xinUser = WXLoginUtil.getWeiXinUserWithSavePortrait(code);
            WXAccountInfoDTO account = Constant.getWXAccount(acceptData.getPlatform(), acceptData.getVersion());
            WeiXinUser xinUser = WXLoginUtil.getWeiXinUserWithSavePortrait(code, account.getAppId(),
                  account.getAppSecret());
            if (xinUser == null) {
               out.print(JsonUtil.loadFalseResult("登录失败"));
               return;
@@ -640,7 +654,9 @@
      }
      int loginType = form.getLoginType();
      if (loginType == Constant.WEIXIN) {
         WeiXinUser weiXinUser = WXLoginUtil.getWeiXinUserWithSavePortrait(code);
         WXAccountInfoDTO account = Constant.getWXAccount(acceptData.getPlatform(), acceptData.getVersion());
         WeiXinUser weiXinUser = WXLoginUtil.getWeiXinUserWithSavePortrait(code, account.getAppId(),
               account.getAppSecret());
         if (weiXinUser == null) {
            out.print(JsonUtil.loadFalseResult("绑定失败,用户异常请重试!"));
@@ -1077,7 +1093,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) {
@@ -1387,7 +1403,6 @@
      }
   }
   /**
    * h5收藏
    * 
@@ -1827,7 +1842,6 @@
         out.print(JsonUtil.loadFalseResult("统计失败"));
         e.printStackTrace();
      }
   }
   /**
@@ -1842,48 +1856,35 @@
    */
   @RequestMapping(value = "setextrainfo", method = RequestMethod.POST)
   public void setExtraInfo(AcceptData acceptData, long uid, long inviteId, String memoName, PrintWriter out) {
      try {
         List<ThreeSale> listThreeSale = threeSaleSerivce.listbyIdAndBossId(inviteId, uid, null);
         if (listThreeSale == null || listThreeSale.size() == 0) {
            out.print(JsonUtil.loadFalseResult("该记录不存在"));
            return;
         }
         UserInfo worker = listThreeSale.get(0).getWorker();
         if (worker == null) {
            out.print(JsonUtil.loadFalseResult("该记录不存在"));
            return;
         }
         List<ThreeSaleExtraInfo> list = threeSaleExtraInfoSerivce.listbyBossIdAndWorkerId(uid, worker.getId());
         if (list == null || list.size() == 0) {
            ThreeSaleExtraInfo extraInfo = new ThreeSaleExtraInfo();
            extraInfo.setWorker(worker);
            extraInfo.setNickname(memoName);
            extraInfo.setCreateTime(new Date());
            extraInfo.setUpdateTime(new Date());
            UserInfo boss = new UserInfo(uid);
            extraInfo.setBoss(boss);
            threeSaleExtraInfoSerivce.insert(extraInfo);
         } else {
            ThreeSaleExtraInfo extraInfo = list.get(0);
            extraInfo.setNickname(memoName);
            extraInfo.setUpdateTime(new Date());
            threeSaleExtraInfoSerivce.updateByPrimaryKey(extraInfo);
         }
         out.print(JsonUtil.loadTrueResult("保存成功"));
      } catch (Exception e) {
         out.print(JsonUtil.loadFalseResult("保存失败"));
         e.printStackTrace();
      List<ThreeSale> listThreeSale = threeSaleSerivce.listbyIdAndBossId(inviteId, uid, null);
      if (listThreeSale == null || listThreeSale.size() == 0) {
         out.print(JsonUtil.loadFalseResult("该记录不存在"));
         return;
      }
      UserInfo worker = listThreeSale.get(0).getWorker();
      if (worker == null) {
         out.print(JsonUtil.loadFalseResult("该记录不存在"));
         return;
      }
      ThreeSaleExtraInfo extraInfo = threeSaleExtraInfoSerivce.getbyBossIdAndWorkerId(uid, worker.getId());
      if (extraInfo == null) {
         extraInfo = new ThreeSaleExtraInfo();
         extraInfo.setWorker(worker);
         extraInfo.setNickname(memoName);
         extraInfo.setCreateTime(new Date());
         extraInfo.setUpdateTime(new Date());
         extraInfo.setBoss(new UserInfo(uid));
         threeSaleExtraInfoSerivce.insertSelective(extraInfo);
      } else {
         ThreeSaleExtraInfo updateInfo = new ThreeSaleExtraInfo();
         updateInfo.setId(extraInfo.getId());
         updateInfo.setNickname(memoName);
         updateInfo.setUpdateTime(new Date());
         threeSaleExtraInfoSerivce.updateByPrimaryKeySelective(updateInfo);
      }
      out.print(JsonUtil.loadTrueResult("保存成功"));
   }
   /**
@@ -2046,6 +2047,7 @@
    * @param requst
    * @param out
    */
   @UserActive(uid = "#uid")
   @RequestMapping(value = "getuserinfoNew", method = RequestMethod.POST)
   public void getuserinfoNew(AcceptData acceptData, Long uid, HttpServletRequest requst, PrintWriter out) {
      try {
@@ -2078,8 +2080,6 @@
         GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation();
         JSONObject data = new JSONObject();
         data.put("user", JsonUtil.getConvertBigDecimalToStringBuilder(gsonBuilder).create().toJson(userInfo));
         // 界面状态
         UserSettingsVO mySettings = null;
         try {
@@ -2135,8 +2135,21 @@
               userInfo.setRankNamePicture(null);
               userInfo.setRankIcon(null);
            }
         }
            // 1.6.5 之后返回性别、微信号
            if (VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion())) {
               if (userInfoExtra.getSex() != null)
                  userInfo.setSex(userInfoExtra.getSex());
               if (!StringUtil.isNullOrEmpty(userInfoExtra.getWeiXin()))
                  userInfo.setWeiXin(userInfoExtra.getWeiXin());
            }
         }
         // 1.6.5 之后返回 微信号提示
         if (VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion()))
            userInfo.setWeiXinTip("添加微信号后,你的邀请人和一级队员可以通过微信与你建立联系。");
         data.put("user", JsonUtil.getConvertBigDecimalToStringBuilder(gsonBuilder).create().toJson(userInfo));
         data.put("invitCode", invitCode); // 邀请码
         data.put("welfareCenterNews", welfareCenterNews);// 福利中心消息
         out.print(JsonUtil.loadTrueResult(data));
@@ -2246,7 +2259,7 @@
   }
   /**
    * 更换昵称
    * 更换基础信息
    * 
    * @param acceptData
    * @param nickName
@@ -2254,28 +2267,60 @@
    * @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);
            userInfoModifyRecordService.addModifyRecord(uid, ModifyTypeEnum.nickName, nickName);
         }
         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);
               userInfoModifyRecordService.addModifyRecord(uid, ModifyTypeEnum.setWeiXinNum, weiXin);
            }
         }
         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);
               userInfoModifyRecordService.addModifyRecord(uid, ModifyTypeEnum.gender, sex + "");
            }
         }
         out.print(JsonUtil.loadTrueResult("保存成功"));
      } catch (UserInfoException e) {
         out.print(JsonUtil.loadFalseResult(e.getMsg()));