From 42411e4a26461229c6bca6e89ca55e98a80f5a4e Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 30 九月 2021 18:08:17 +0800 Subject: [PATCH] bug修改 --- fanli/src/main/java/com/yeshi/fanli/util/account/UserUtil.java | 401 +++++++++++++++++++++++++++++++------------------------- 1 files changed, 220 insertions(+), 181 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/util/account/UserUtil.java b/fanli/src/main/java/com/yeshi/fanli/util/account/UserUtil.java index b14b280..e9accba 100644 --- a/fanli/src/main/java/com/yeshi/fanli/util/account/UserUtil.java +++ b/fanli/src/main/java/com/yeshi/fanli/util/account/UserUtil.java @@ -1,181 +1,220 @@ -package com.yeshi.fanli.util.account; - -import java.lang.reflect.InvocationTargetException; -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.List; - -import org.apache.commons.beanutils.PropertyUtils; -import org.yeshi.utils.HttpUtil; - -import com.yeshi.fanli.entity.bus.user.BindingAccount; -import com.yeshi.fanli.entity.bus.user.UserInfo; -import com.yeshi.fanli.util.Constant; -import com.yeshi.fanli.util.StringUtil; - -public class UserUtil { - - /** - * 澶勭悊杈撳嚭缁欏鎴风鐨勭敤鎴蜂俊鎭� - * - * @param user - * @return - */ - public static UserInfo filterForClientUser(UserInfo user) { - if (user == null) - return user; - - UserInfo newUser = new UserInfo(); - try { - PropertyUtils.copyProperties(newUser, user); - } catch (IllegalAccessException e1) { - e1.printStackTrace(); - } catch (InvocationTargetException e1) { - e1.printStackTrace(); - } catch (NoSuchMethodException e1) { - e1.printStackTrace(); - } - - if (!StringUtil.isNullOrEmpty(user.getPhone())) { - if (user.getPhone().length() > 5) { - String phone = user.getPhone().substring(0, 3); - phone += "******"; - phone += user.getPhone().substring(user.getPhone().length() - 2, user.getPhone().length()); - newUser.setPhone(phone); - } - } - - if (user != null) { - newUser.setRankIcon(UserUtil.getRankIcon(user.getRank())); - newUser.setRankNamePicture(UserUtil.getRankNamePicture(user.getRank())); - } - - return newUser; - } - - public static String getRankIcon(Integer rank) { - if (rank == null) - return ""; - if (rank == 0) - return ""; - else - return String.format(Constant.systemCommonConfig.getBaseUserRankIconUrl() + "/rank_icon_%s.png", rank + ""); - } - - public static String getRankNamePicture(Integer rank) { - if (rank == null) - rank = 0; - - return String.format(Constant.systemCommonConfig.getBaseUserRankIconUrl() + "/rank_picture_%s.png", rank + ""); - } - - - public static String getInviteShortLink (Long uid) { - return HttpUtil.getShortLink("http://" + Constant.wxGZConfig.getLoginHost() + "/" - + Constant.systemCommonConfig.getProjectName() + "/" - + java.lang.System.currentTimeMillis()+ - "/client/threeShareNew?uid=" + uid); - } - - - - public static String getInviteCode(Long uid) { - - long num = 1000000000L + uid; - - return convert10To36(num); - } - - private static String convert10To36(Long num) { - String numbers = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; - BigDecimal numBig = new BigDecimal(num); - - int ge = numBig.divideAndRemainder(new BigDecimal(36))[1].intValue(); - int n = 1; - String result = ""; - result += numbers.charAt(ge); - - while (numBig.divideAndRemainder(new BigDecimal(36).pow(n))[0].compareTo(new BigDecimal(0)) > 0) { - int w = numBig.divideAndRemainder(new BigDecimal(36).pow(n))[0].divideAndRemainder(new BigDecimal(36))[1] - .intValue(); - result = numbers.charAt(w) + result; - n++; - } - return result; - } - - /** - * 杩囨护鏀粯瀹濊处鍙凤紝涓棿鐢�*浠f浛 - * - * @param bindingAccountList - * @return - */ - public static List<BindingAccount> filterBindingAccount(List<BindingAccount> bindingAccountList) { - List<BindingAccount> accountList = new ArrayList<>(); - - if (bindingAccountList != null) - for (BindingAccount bindingAccount : bindingAccountList) { - accountList.add(filterBindingAccount(bindingAccount)); - } - return accountList; - } - - public static BindingAccount filterBindingAccount(BindingAccount bindingAccount) { - - BindingAccount dest = new BindingAccount(); - try { - PropertyUtils.copyProperties(dest, bindingAccount); - if (!StringUtil.isNullOrEmpty(dest.getAccount()) && !StringUtil.isNullOrEmpty(dest.getName())) { - String name = ""; - if ((dest.getName() + "").length() > 2) - for (int i = 0; i < (dest.getName() + "").length(); i++) { - if (i == 0) - name += dest.getName().charAt(i); - else - name += "*"; - } - else - name = dest.getName().charAt(0) + "*"; - dest.setName(name); - - String account = ""; - if (dest.getAccount().indexOf("@") > -1) {// 閭 - int index = dest.getAccount().indexOf("@"); - - for (int i = 0; i < dest.getAccount().length(); i++) { - if (i < 3 || i >= index) - account += dest.getAccount().charAt(i); - else - account += "*"; - } - } else if (StringUtil.isMobile(dest.getAccount())) {// 鐢佃瘽 - account = dest.getAccount().substring(0, 3) + "*****" - + dest.getAccount().substring(dest.getAccount().length() - 2, dest.getAccount().length()); - - } else {// 鍏朵粬 - if (dest.getAccount().length() >= 6) { - for (int i = 0; i < dest.getAccount().length(); i++) { - if (i < 3 || i >= dest.getAccount().length() - 2) - account += dest.getAccount().charAt(i); - else - account += "*"; - } - } else { - for (int i = 0; i < dest.getAccount().length(); i++) { - if (i < 1 || i >= dest.getAccount().length() - 1) - account += dest.getAccount().charAt(i); - else - account += "*"; - } - } - } - - dest.setAccount(account); - } - } catch (Exception e) { - } - - return dest; - } - -} +package com.yeshi.fanli.util.account; + +import java.lang.reflect.InvocationTargetException; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; + +import com.google.gson.Gson; +import com.yeshi.fanli.vo.user.QQUserInfoVO; +import org.apache.commons.beanutils.PropertyUtils; +import org.yeshi.utils.HttpUtil; + +import com.yeshi.fanli.entity.bus.user.BindingAccount; +import com.yeshi.fanli.entity.bus.user.UserInfo; +import com.yeshi.fanli.util.Constant; +import com.yeshi.fanli.util.StringUtil; + +public class UserUtil { + + /** + * 澶勭悊杈撳嚭缁欏鎴风鐨勭敤鎴蜂俊鎭� + * + * @param user + * @return + */ + public static UserInfo filterForClientUser(UserInfo user) { + if (user == null) + return user; + + UserInfo newUser = new UserInfo(); + try { + PropertyUtils.copyProperties(newUser, user); + } catch (IllegalAccessException e1) { + e1.printStackTrace(); + } catch (InvocationTargetException e1) { + e1.printStackTrace(); + } catch (NoSuchMethodException e1) { + e1.printStackTrace(); + } + + if (!StringUtil.isNullOrEmpty(user.getPhone())) { + if (user.getPhone().length() > 5) { + String phone = user.getPhone().substring(0, 3); + phone += "******"; + phone += user.getPhone().substring(user.getPhone().length() - 2, user.getPhone().length()); + newUser.setPhone(phone); + } + } + + if (user != null) { + newUser.setRankIcon(UserUtil.getRankIcon(user.getRank())); + newUser.setRankNamePicture(UserUtil.getRankNamePicture(user.getRank())); + } + + return newUser; + } + + public static String getRankIcon(Integer rank) { + if (rank == null) + return ""; + if (rank == 0) + return ""; + else + return String.format(Constant.systemCommonConfig.getBaseUserRankIconUrl() + "/rank_icon_%s.png", rank + ""); + } + + public static String getRankNamePicture(Integer rank) { + if (rank == null) + rank = 0; + + return String.format(Constant.systemCommonConfig.getBaseUserRankIconUrl() + "/rank_picture_%s.png", rank + ""); + } + + public static String getInviteShortLink(Long uid) { + return HttpUtil.getShortLink( + "http://" + Constant.wxGZConfig.getLoginHost() + "/" + Constant.systemCommonConfig.getProjectName() + + "/client/threeShareNew?uid=" + uid + "&_=" + java.lang.System.currentTimeMillis()); + } + + public static String getInviteCode(int base, Long uid) { + + long num = base * 100000000L + uid; + + return convert10To36(num); + } + + private static String convert10To36(Long num) { + String numbers = "YE9VFA3N6KG7JZH4LD5IO2RBS0QTMPU1WC8X"; + BigDecimal numBig = new BigDecimal(num); + + int ge = numBig.divideAndRemainder(new BigDecimal(36))[1].intValue(); + int n = 1; + String result = ""; + result += numbers.charAt(ge); + + while (numBig.divideAndRemainder(new BigDecimal(36).pow(n))[0].compareTo(new BigDecimal(0)) > 0) { + int w = numBig.divideAndRemainder(new BigDecimal(36).pow(n))[0].divideAndRemainder(new BigDecimal(36))[1] + .intValue(); + result = numbers.charAt(w) + result; + n++; + } + return result; + } + + /** + * 杩囨护鏀粯瀹濊处鍙凤紝涓棿鐢�*浠f浛 + * + * @param bindingAccountList + * @return + */ + public static List<BindingAccount> filterBindingAccount(List<BindingAccount> bindingAccountList) { + List<BindingAccount> accountList = new ArrayList<>(); + + if (bindingAccountList != null) + for (BindingAccount bindingAccount : bindingAccountList) { + accountList.add(filterBindingAccount(bindingAccount)); + } + return accountList; + } + + public static BindingAccount filterBindingAccount(BindingAccount bindingAccount) { + + BindingAccount dest = new BindingAccount(); + try { + PropertyUtils.copyProperties(dest, bindingAccount); + if (!StringUtil.isNullOrEmpty(dest.getAccount()) && !StringUtil.isNullOrEmpty(dest.getName())) { + String name = ""; + if ((dest.getName() + "").length() > 2) + for (int i = 0; i < (dest.getName() + "").length(); i++) { + if (i == 0) + name += dest.getName().charAt(i); + else + name += "*"; + } + else + name = dest.getName().charAt(0) + "*"; + dest.setName(name); + + String account = filterAlipayAccount(dest.getAccount()); + + dest.setAccount(account); + } + } catch (Exception e) { + } + + return dest; + } + + public static String filterAlipayAccount(String alipayAccount) { + String account = ""; + if (alipayAccount.indexOf("@") > -1) {// 閭 + int index = alipayAccount.indexOf("@"); + + for (int i = 0; i < alipayAccount.length(); i++) { + if (i < 3 || i >= index) + account += alipayAccount.charAt(i); + else + account += "*"; + } + } else if (StringUtil.isMobile(alipayAccount)) {// 鐢佃瘽 + account = alipayAccount.substring(0, 3) + "*****" + + alipayAccount.substring(alipayAccount.length() - 2, alipayAccount.length()); + + } else {// 鍏朵粬 + if (alipayAccount.length() >= 6) { + for (int i = 0; i < alipayAccount.length(); i++) { + if (i < 3 || i >= alipayAccount.length() - 2) + account += alipayAccount.charAt(i); + else + account += "*"; + } + } else { + for (int i = 0; i < alipayAccount.length(); i++) { + if (i < 1 || i >= alipayAccount.length() - 1) + account += alipayAccount.charAt(i); + else + account += "*"; + } + } + } + return account; + } + + public static String filterAlipayName(String name) { + String st = ""; + for (int i = 0; i < name.length(); i++) { + if (i == 0) + st += name.charAt(i); + else + st += "*"; + } + return st; + } + + public static String filterOrderId(String orderId) { + if (orderId == null || orderId.length() <= 6) + return orderId; + if (orderId.length() <= 16) {// 闅愯棌2浣� + return orderId.substring(0, orderId.length() - 2) + "**"; + } else {// 闅愯棌6浣� + return orderId.substring(0, orderId.length() - 6) + "******"; + } + } + + /** + * 瑙f瀽QQ鐢ㄦ埛淇℃伅 + * + * @param qqUserBase64 + * @return + */ + public static QQUserInfoVO parseQQUser(String qqUserBase64) { + if (StringUtil.isNullOrEmpty(qqUserBase64)) + return null; + String qqUserStr = StringUtil.getFromBase64(qqUserBase64); + if (StringUtil.isNullOrEmpty(qqUserStr)) + return null; + QQUserInfoVO qqUserInfo = new Gson().fromJson(qqUserStr, QQUserInfoVO.class); + return qqUserInfo; + } +} -- Gitblit v1.8.0