记得上下班打卡 | git大法好,push需谨慎

Commit 047e7660 authored by 张国柄's avatar 张国柄

opt;

parent 6643c159
...@@ -5,7 +5,6 @@ ...@@ -5,7 +5,6 @@
package com.liquidnet.commons.lang.util; package com.liquidnet.commons.lang.util;
import java.util.*; import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Predicate; import java.util.function.Predicate;
/** /**
...@@ -13,146 +12,137 @@ import java.util.function.Predicate; ...@@ -13,146 +12,137 @@ import java.util.function.Predicate;
* @version 1.0 2015年12月01日 11:42:00 * @version 1.0 2015年12月01日 11:42:00
*/ */
public class CollectionUtil { public class CollectionUtil {
private static final HashMap<String, String> STRING_STRING_HASH_MAP = new HashMap<>();
/** private static final HashMap<String, Object> STRING_OBJECT_HASH_MAP = new HashMap<>();
* 构建泛型类型的HashMap,该Map的初始容量是0 private static final LinkedList<String> STRING_LINKED_LIST = new LinkedList<>();
* private static final LinkedList<Object[]> OBJECTS_LINKED_LIST = new LinkedList<>();
* @param <K> private static final ArrayList<Object> OBJECT_ARRAY_LIST = new ArrayList<>();
* @param <V>
* @return
*/ public static HashMap<String, String> mapStringString() {
public static <K, V> Map<K, V> hashMap() { return (HashMap<String, String>) STRING_STRING_HASH_MAP.clone();
return new HashMap<K, V>(0); }
}
public static HashMap<String, Object> mapStringObject() {
public static <K, V> Map<K, V> concurrentMap() { return (HashMap<String, Object>) STRING_OBJECT_HASH_MAP.clone();
return new ConcurrentHashMap<K, V>(); }
}
public static LinkedList<String> linkedListString() {
return (LinkedList<String>) STRING_LINKED_LIST.clone();
public static <E> List<E> arrayList () { }
return new ArrayList<E>();
} public static LinkedList<Object[]> linkedListObjectArr() {
return (LinkedList<Object[]>) OBJECTS_LINKED_LIST.clone();
public static <E> List<E> arrayList (E obj) { }
List<E> _list = arrayList();
_list.add(obj); public static ArrayList<Object> arrayListObject() {
return _list; return (ArrayList<Object>) OBJECT_ARRAY_LIST.clone();
} }
public static <E> LinkedList<E> linkedList () {
return new LinkedList<E>(); @SuppressWarnings("unchecked")
} public static <T> T get(Map<?, ?> map, Object obj, Class<T> clazz) {
return (T) map.get(obj);
public static <E> Set<E> hashSet () { }
return new HashSet<E>();
} public static <E> boolean isEmpty(Collection<E> c) {
return c == null || c.isEmpty();
public static <E> List<E> arrayList (Collection<E> c) { }
return new ArrayList<E>(c);
} /**
* 移除集合中符合条件的元素
public static <E> Set<E> hashSet (Collection<E> c) { *
return new HashSet<E>(c); * @param list List集合
} * @param test 移除条件
* @param breakIfFind 是否在第一次移除后就停止查找
* @param <T>
@SuppressWarnings("unchecked") */
public static <T> T get (Map<?, ?> map, Object obj, Class<T> clazz) { public static <T> void remove(List<T> list, Predicate<T> test, boolean breakIfFind) {
return (T)map.get(obj); if (list == null) {
}
public static <E> boolean isEmpty (Collection<E> c) {
return c == null || c.isEmpty();
}
/**
* 移除集合中符合条件的元素
* @param list List集合
* @param test 移除条件
* @param breakIfFind 是否在第一次移除后就停止查找
* @param <T>
*/
public static <T> void remove(List<T> list,Predicate<T> test,boolean breakIfFind){
if(list == null) {
return; return;
} }
Iterator<T> it = list.iterator(); Iterator<T> it = list.iterator();
while (it.hasNext()){ while (it.hasNext()) {
if(test.test(it.next())){ if (test.test(it.next())) {
it.remove(); it.remove();
if (breakIfFind) { if (breakIfFind) {
break; break;
} }
} }
} }
} }
/** /**
* 遍历全部元素,并移除其中符合条件的元素 * 遍历全部元素,并移除其中符合条件的元素
* @param list List集合 *
* @param test 移除条件 * @param list List集合
* @param <T> * @param test 移除条件
*/ * @param <T>
public static <T> void remove(List<T> list,Predicate<T> test){ */
remove(list,test,false); public static <T> void remove(List<T> list, Predicate<T> test) {
} remove(list, test, false);
}
/**
* 遍历全部元素,并移除其中与目标对象相同的元素 /**
* @param list List集合 * 遍历全部元素,并移除其中与目标对象相同的元素
* @param targetElement 目标对象 *
* @param <T> * @param list List集合
*/ * @param targetElement 目标对象
public static <T> void remove(List<T> list, T targetElement) { * @param <T>
remove(list, (Predicate<T>) t -> t.equals(targetElement)); */
} public static <T> void remove(List<T> list, T targetElement) {
remove(list, (Predicate<T>) t -> t.equals(targetElement));
/** }
* 遍历全部元素,并移除其中的null元素
* @param list List集合 /**
* @param <T> * 遍历全部元素,并移除其中的null元素
*/ *
public static <T> void removeNull(List<T> list) { * @param list List集合
remove(list, (Predicate<T>) t -> t == null); * @param <T>
} */
public static <T> void removeNull(List<T> list) {
remove(list, (Predicate<T>) t -> t == null);
/** }
* 遍历map中的全部value,并且移除符合条件的元素
* @param map Map集合
* @param test 移除条件 /**
* @param <V> * 遍历map中的全部value,并且移除符合条件的元素
*/ *
public static <V> void remove(Map<?, V> map, Predicate<V> test) { * @param map Map集合
if(map == null) { * @param test 移除条件
* @param <V>
*/
public static <V> void remove(Map<?, V> map, Predicate<V> test) {
if (map == null) {
return; return;
} }
Iterator<V> it = map.values().iterator(); Iterator<V> it = map.values().iterator();
while (it.hasNext()) { while (it.hasNext()) {
if (test.test(it.next())) { if (test.test(it.next())) {
it.remove(); it.remove();
} }
} }
} }
/** /**
* 遍历map中的全部value,并且移除与目标对象相同的元素 * 遍历map中的全部value,并且移除与目标对象相同的元素
* @param map Map集合 *
* @param targetElement 目标对象 * @param map Map集合
* @param <V> * @param targetElement 目标对象
*/ * @param <V>
public static <V> void remove(Map<?, V> map, V targetElement) { */
remove(map, (Predicate<V>) v -> v.equals(targetElement)); public static <V> void remove(Map<?, V> map, V targetElement) {
} remove(map, (Predicate<V>) v -> v.equals(targetElement));
}
/**
* 遍历map中的全部value,并且移除其中的null值元素 /**
* @param map Map集合 * 遍历map中的全部value,并且移除其中的null值元素
* @param <V> *
*/ * @param map Map集合
public static <V> void removeNull(Map<?, V> map) { * @param <V>
remove(map, (Predicate<V>) v -> v == null); */
} public static <V> void removeNull(Map<?, V> map) {
remove(map, (Predicate<V>) v -> v == null);
}
} }
...@@ -443,7 +443,7 @@ public class AdamLoginController { ...@@ -443,7 +443,7 @@ public class AdamLoginController {
} }
private String ssoProcess(AdamUserInfoVo userInfoVo) { private String ssoProcess(AdamUserInfoVo userInfoVo) {
Map<String, Object> claimsMap = new HashMap<>(); Map<String, Object> claimsMap = CollectionUtil.mapStringObject();
claimsMap.put("sub", userInfoVo.getUid()); claimsMap.put("sub", userInfoVo.getUid());
claimsMap.put("mobile", userInfoVo.getMobile()); claimsMap.put("mobile", userInfoVo.getMobile());
claimsMap.put("nickname", userInfoVo.getNickname()); claimsMap.put("nickname", userInfoVo.getNickname());
......
...@@ -4,10 +4,7 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; ...@@ -4,10 +4,7 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.xiaoymin.knife4j.annotations.ApiSupport; import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.liquidnet.commons.lang.constant.LnsEnum; import com.liquidnet.commons.lang.constant.LnsEnum;
import com.liquidnet.commons.lang.constant.LnsRegex; import com.liquidnet.commons.lang.constant.LnsRegex;
import com.liquidnet.commons.lang.util.CurrentUtil; import com.liquidnet.commons.lang.util.*;
import com.liquidnet.commons.lang.util.HttpUtil;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.commons.lang.util.SensitizeUtil;
import com.liquidnet.service.adam.dto.AdamThirdPartParam; import com.liquidnet.service.adam.dto.AdamThirdPartParam;
import com.liquidnet.service.adam.dto.AdamUserInfoParam; import com.liquidnet.service.adam.dto.AdamUserInfoParam;
import com.liquidnet.service.adam.dto.vo.*; import com.liquidnet.service.adam.dto.vo.*;
...@@ -288,7 +285,7 @@ public class AdamUserController { ...@@ -288,7 +285,7 @@ public class AdamUserController {
public ResponseDto<Map<String, Object>> info() { public ResponseDto<Map<String, Object>> info() {
String currentUid = CurrentUtil.getCurrentUid(); String currentUid = CurrentUtil.getCurrentUid();
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = CollectionUtil.mapStringObject();
AdamUserInfoVo userInfoVo = adamRdmService.getUserInfoVoByUid(currentUid); AdamUserInfoVo userInfoVo = adamRdmService.getUserInfoVoByUid(currentUid);
userInfoVo.setMobile(SensitizeUtil.custom(userInfoVo.getMobile(), 3, 4)); userInfoVo.setMobile(SensitizeUtil.custom(userInfoVo.getMobile(), 3, 4));
map.put("userInfo", userInfoVo); map.put("userInfo", userInfoVo);
......
...@@ -197,8 +197,9 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService { ...@@ -197,8 +197,9 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
* 2-使用会员码(购买的) 仅限从未购买过会员的用户使用,需要填写地址 * 2-使用会员码(购买的) 仅限从未购买过会员的用户使用,需要填写地址
* 3-使用礼包码(赠送的) 仅限从未购买过会员的用户使用,不需要填写地址 * 3-使用礼包码(赠送的) 仅限从未购买过会员的用户使用,不需要填写地址
*/ */
LinkedList<String> toMqSqls = new LinkedList<>(); LinkedList<String> toMqSqls = CollectionUtil.linkedListString();
LinkedList<Object[]> operationObjs = new LinkedList<>(), updateMemberOrderObjs = new LinkedList<>(); LinkedList<Object[]> operationObjs = CollectionUtil.linkedListObjectArr(),
updateMemberOrderObjs = CollectionUtil.linkedListObjectArr();
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
if (0 == handleMemberOrderVo.getMode()) {// 购买会员回调 if (0 == handleMemberOrderVo.getMode()) {// 购买会员回调
AdamUserMemberVo existUserMemberVo = adamRdmService.getUserMemberVoByUid(handleMemberOrderVo.getUid()); AdamUserMemberVo existUserMemberVo = adamRdmService.getUserMemberVoByUid(handleMemberOrderVo.getUid());
...@@ -347,9 +348,10 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService { ...@@ -347,9 +348,10 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
initMemberOrderVo.setSource(CurrentUtil.getCliSource()); initMemberOrderVo.setSource(CurrentUtil.getCliSource());
initMemberOrderVo.setVersion(CurrentUtil.getCliVersion()); initMemberOrderVo.setVersion(CurrentUtil.getCliVersion());
LinkedList<String> toMqSqls = new LinkedList<>(); LinkedList<String> toMqSqls = CollectionUtil.linkedListString();
LinkedList<Object[]> updateMemberCodeObjs = new LinkedList<>(), LinkedList<Object[]> updateMemberCodeObjs = CollectionUtil.linkedListObjectArr(),
initMemberOrderObjs = new LinkedList<>(), upsertUserMemberObjs = new LinkedList<>(); initMemberOrderObjs = CollectionUtil.linkedListObjectArr(),
upsertUserMemberObjs = CollectionUtil.linkedListObjectArr();
AdamUserMemberVo upsertUserMemberVo = adamRdmService.getUserMemberVoByUid(initMemberOrderVo.getUid()); AdamUserMemberVo upsertUserMemberVo = adamRdmService.getUserMemberVoByUid(initMemberOrderVo.getUid());
if (null != upsertUserMemberVo) { if (null != upsertUserMemberVo) {
upsertUserMemberVo.setState(1); upsertUserMemberVo.setState(1);
......
package com.liquidnet.service.adam.service.impl; package com.liquidnet.service.adam.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.common.cache.redis.util.RedisUtil; import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.common.mq.constant.MQConst; import com.liquidnet.common.mq.constant.MQConst;
import com.liquidnet.commons.lang.core.JwtValidator; import com.liquidnet.commons.lang.core.JwtValidator;
import com.liquidnet.commons.lang.util.BsonUtil; import com.liquidnet.commons.lang.util.BsonUtil;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.JsonUtils; import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo; import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo;
import com.liquidnet.service.adam.entity.AdamUserInfo;
import com.liquidnet.service.adam.mapper.AdamUserInfoMapper;
import com.liquidnet.service.adam.service.AdamRdmService; import com.liquidnet.service.adam.service.AdamRdmService;
import com.liquidnet.service.adam.service.IAdamUserInfoService; import com.liquidnet.service.adam.service.IAdamUserInfoService;
import com.liquidnet.service.base.SqlMapping; import com.liquidnet.service.base.SqlMapping;
...@@ -27,7 +25,6 @@ import org.springframework.util.DigestUtils; ...@@ -27,7 +25,6 @@ import org.springframework.util.DigestUtils;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.Map; import java.util.Map;
...@@ -73,8 +70,9 @@ public class AdamUserInfoServiceImpl implements IAdamUserInfoService { ...@@ -73,8 +70,9 @@ public class AdamUserInfoServiceImpl implements IAdamUserInfoService {
adamRdmService.setUserInfoVoByUid(userInfoVo.getUid(), userInfoVo); adamRdmService.setUserInfoVoByUid(userInfoVo.getUid(), userInfoVo);
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s); log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
LinkedList<String> toMqSqls = new LinkedList<>(); LinkedList<String> toMqSqls = CollectionUtil.linkedListString();
LinkedList<Object[]> updateUserObjs = new LinkedList<>(), updateUserInfoObjs = new LinkedList<>(); LinkedList<Object[]> updateUserObjs = CollectionUtil.linkedListObjectArr(),
updateUserInfoObjs = CollectionUtil.linkedListObjectArr();
s = System.currentTimeMillis(); s = System.currentTimeMillis();
toMqSqls.add(SqlMapping.get("adam_user.complete")); toMqSqls.add(SqlMapping.get("adam_user.complete"));
...@@ -134,7 +132,7 @@ public class AdamUserInfoServiceImpl implements IAdamUserInfoService { ...@@ -134,7 +132,7 @@ public class AdamUserInfoServiceImpl implements IAdamUserInfoService {
} }
private String flushSsoProcess(AdamUserInfoVo userInfoVo) { private String flushSsoProcess(AdamUserInfoVo userInfoVo) {
Map<String, Object> claimsMap = new HashMap<>(); Map<String, Object> claimsMap = CollectionUtil.mapStringObject();
claimsMap.put("sub", userInfoVo.getUid()); claimsMap.put("sub", userInfoVo.getUid());
claimsMap.put("mobile", userInfoVo.getMobile()); claimsMap.put("mobile", userInfoVo.getMobile());
claimsMap.put("nickname", userInfoVo.getNickname()); claimsMap.put("nickname", userInfoVo.getNickname());
......
...@@ -37,9 +37,7 @@ import org.springframework.util.CollectionUtils; ...@@ -37,9 +37,7 @@ import org.springframework.util.CollectionUtils;
import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.LinkedMultiValueMap;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.LinkedList; import java.util.*;
import java.util.List;
import java.util.Map;
import static com.liquidnet.service.adam.constant.AdamRedisConst.LOCK_KEY_UREGISTER; import static com.liquidnet.service.adam.constant.AdamRedisConst.LOCK_KEY_UREGISTER;
...@@ -96,8 +94,9 @@ public class AdamUserServiceImpl implements IAdamUserService { ...@@ -96,8 +94,9 @@ public class AdamUserServiceImpl implements IAdamUserService {
adamRdmService.setUidByMobile(mobile, userInfoVo.getUid()); adamRdmService.setUidByMobile(mobile, userInfoVo.getUid());
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s); log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
LinkedList<String> toMqSqls = new LinkedList<>(); LinkedList<String> toMqSqls = CollectionUtil.linkedListString();
LinkedList<Object[]> initUserObjs = new LinkedList<>(), initUserInfoObjs = new LinkedList<>(); LinkedList<Object[]> initUserObjs = CollectionUtil.linkedListObjectArr(),
initUserInfoObjs = CollectionUtil.linkedListObjectArr();
s = System.currentTimeMillis(); s = System.currentTimeMillis();
toMqSqls.add(SqlMapping.get("adam_user.add")); toMqSqls.add(SqlMapping.get("adam_user.add"));
...@@ -129,8 +128,9 @@ public class AdamUserServiceImpl implements IAdamUserService { ...@@ -129,8 +128,9 @@ public class AdamUserServiceImpl implements IAdamUserService {
long s = System.currentTimeMillis(); long s = System.currentTimeMillis();
uid = adamRdmService.getUidByMobile(param.getMobile()); uid = adamRdmService.getUidByMobile(param.getMobile());
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s); log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
LinkedList<String> toMqSqls = new LinkedList<>(); LinkedList<String> toMqSqls = CollectionUtil.linkedListString();
LinkedList<Object[]> initUserObjs = new LinkedList<>(), initThirdPartObjs = new LinkedList<>(); LinkedList<Object[]> initUserObjs = CollectionUtil.linkedListObjectArr(),
initThirdPartObjs = CollectionUtil.linkedListObjectArr();
if (StringUtils.isEmpty(uid)) {// 手机号未注册 if (StringUtils.isEmpty(uid)) {// 手机号未注册
userInfoVo = AdamUserInfoVo.getNew(); userInfoVo = AdamUserInfoVo.getNew();
...@@ -289,10 +289,10 @@ public class AdamUserServiceImpl implements IAdamUserService { ...@@ -289,10 +289,10 @@ public class AdamUserServiceImpl implements IAdamUserService {
// @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) // @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void close(String uid) { public void close(String uid) {
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
LinkedList<String> toMqSqls = new LinkedList<>(); LinkedList<String> toMqSqls = CollectionUtil.linkedListString();
LinkedList<Object[]> objsUser = new LinkedList<>(), LinkedList<Object[]> objsUser = CollectionUtil.linkedListObjectArr(),
objsThirdPart = new LinkedList<>(), objsThirdPart = CollectionUtil.linkedListObjectArr(),
objsAddresses = new LinkedList<>(); objsAddresses = CollectionUtil.linkedListObjectArr();
long s = System.currentTimeMillis(); long s = System.currentTimeMillis();
AdamUserInfoVo userInfoVo = adamRdmService.getUserInfoVoByUid(uid); AdamUserInfoVo userInfoVo = adamRdmService.getUserInfoVoByUid(uid);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment