From 8cae7abecedb99d08e1482e584be8f3b9fded6f1 Mon Sep 17 00:00:00 2001 From: Carl <376654749@qq.com> Date: Thu, 9 Dec 2021 12:06:28 +0800 Subject: [PATCH] modify when paramMap is null ,remove it. --- .../royalcanin/CouponConfigService.java | 3 + .../royalcanin/MemberAccountService.java | 3 + .../royalcanin/MemberAddressService.java | 7 +- .../system/royalcanin/MemberService.java | 9 +- .../royalcanin/TransitionController.java | 2 - .../smartadmin/util/MapRemoveNullUtil.java | 102 ++++++++++++++++++ 6 files changed, 121 insertions(+), 5 deletions(-) create mode 100644 smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/MapRemoveNullUtil.java diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/CouponConfigService.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/CouponConfigService.java index 8bff7922..1f6faaa0 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/CouponConfigService.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/CouponConfigService.java @@ -3,6 +3,7 @@ package net.lab1024.smartadmin.module.system.royalcanin; import net.lab1024.smartadmin.common.heartbeat.StringUtil; import net.lab1024.smartadmin.module.system.royalcanin.couponConfig.CouponConfigFindAllEntity; import net.lab1024.smartadmin.module.system.royalcanin.couponConfig.CouponConfigGetEntity; +import net.lab1024.smartadmin.util.MapRemoveNullUtil; import net.lab1024.smartadmin.util.SmartHttpUtil; import org.springframework.stereotype.Service; @@ -19,6 +20,7 @@ public class CouponConfigService { paramMap.put("channelId", StringUtil.toString(couponConfigGetEntity.getChannelId())); paramMap.put("channelSecurity", couponConfigGetEntity.getChannelSecurity()); paramMap.put("couponId", StringUtil.toString(couponConfigGetEntity.getCouponId())); + MapRemoveNullUtil.removeNullEntry(paramMap); return SmartHttpUtil.sendPostForm(url+"get",paramMap,null); } @@ -30,6 +32,7 @@ public class CouponConfigService { paramMap.put("memberId", StringUtil.toString(couponConfigFindAllEntity.getMemberId())); paramMap.put("rows", StringUtil.toString(couponConfigFindAllEntity.getRows())); paramMap.put("page", StringUtil.toString(couponConfigFindAllEntity.getPage())); + MapRemoveNullUtil.removeNullEntry(paramMap); return SmartHttpUtil.sendPostForm(url+"findAll",paramMap,null); } } diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/MemberAccountService.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/MemberAccountService.java index 91d4d7be..b94851df 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/MemberAccountService.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/MemberAccountService.java @@ -3,6 +3,7 @@ package net.lab1024.smartadmin.module.system.royalcanin; import net.lab1024.smartadmin.common.heartbeat.StringUtil; import net.lab1024.smartadmin.module.system.royalcanin.memberAccount.MemberAccountChangeEntity; import net.lab1024.smartadmin.module.system.royalcanin.memberAccount.MemberAccountHistoryEntity; +import net.lab1024.smartadmin.util.MapRemoveNullUtil; import net.lab1024.smartadmin.util.SmartHttpUtil; import org.springframework.stereotype.Service; @@ -26,6 +27,7 @@ public class MemberAccountService { paramMap.put("remark",memberAccountChangeEntity.getRemark()); paramMap.put("startDate",memberAccountChangeEntity.getStartDate()); paramMap.put("endDate",memberAccountChangeEntity.getEndDate()); + MapRemoveNullUtil.removeNullEntry(paramMap); return SmartHttpUtil.sendPostForm(url+"change",paramMap,null); } @@ -37,6 +39,7 @@ public class MemberAccountService { paramMap.put("changeTypeParentId",StringUtil.toString(memberAccountHistoryEntity.getChangeTypeParentId())); paramMap.put("rows",StringUtil.toString(memberAccountHistoryEntity.getRows())); paramMap.put("page",StringUtil.toString(memberAccountHistoryEntity.getPage())); + MapRemoveNullUtil.removeNullEntry(paramMap); return SmartHttpUtil.sendPostForm(url+"history",paramMap,null); } } diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/MemberAddressService.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/MemberAddressService.java index 34d9b3b1..8f4c32ee 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/MemberAddressService.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/MemberAddressService.java @@ -5,6 +5,7 @@ import net.lab1024.smartadmin.module.system.royalcanin.memberAddress.MemberAddre import net.lab1024.smartadmin.module.system.royalcanin.memberAddress.MemberAddressDeleteEntity; import net.lab1024.smartadmin.module.system.royalcanin.memberAddress.MemberAddressGetAllEntity; import net.lab1024.smartadmin.module.system.royalcanin.memberAddress.MemberAddressUpdateEntity; +import net.lab1024.smartadmin.util.MapRemoveNullUtil; import net.lab1024.smartadmin.util.SmartHttpUtil; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -21,6 +22,7 @@ public class MemberAddressService { Map paramMap = new HashMap<>(); paramMap.put("channelId", StringUtil.toString(memberAddressGetAllEntity.getChannelId())); paramMap.put("memberId",StringUtil.toString(memberAddressGetAllEntity.getMemberId())); + MapRemoveNullUtil.removeNullEntry(paramMap); return SmartHttpUtil.sendPostForm(url+"getAll",paramMap,null); } @@ -37,6 +39,7 @@ public class MemberAddressService { paramMap.put("zipCode",memberAddressAddEntity.getZipCode()); paramMap.put("isDefault",StringUtil.toString(memberAddressAddEntity.isDefault())); paramMap.put("registerDate",memberAddressAddEntity.getRegisterDate()); + MapRemoveNullUtil.removeNullEntry(paramMap); return SmartHttpUtil.sendPostForm(url+"add",paramMap,null); } @@ -44,7 +47,7 @@ public class MemberAddressService { Map paramMap = new HashMap<>(); paramMap.put("channelId",StringUtil.toString(memberAddressUpdateEntity.getChannelId())); paramMap.put("memberId",StringUtil.toString(memberAddressUpdateEntity.getMemberId())); - paramMap.put("id",StringUtil.toString(memberAddressUpdateEntity.getId())); + paramMap.put("id",StringUtil.toString(memberAddressUpdateEntity.equals("0")?null:StringUtil.toString(memberAddressUpdateEntity.getId()))); paramMap.put("provinceId",StringUtil.toString(memberAddressUpdateEntity.getProvinceId())); paramMap.put("cityId",StringUtil.toString(memberAddressUpdateEntity.getCityId())); paramMap.put("districtId",StringUtil.toString(memberAddressUpdateEntity.getDistrictId())); @@ -53,6 +56,7 @@ public class MemberAddressService { paramMap.put("recipientPhone",memberAddressUpdateEntity.getRecipientPhone()); paramMap.put("zipCode",memberAddressUpdateEntity.getZipCode()); paramMap.put("isDefault",StringUtil.toString(memberAddressUpdateEntity.isDefault())); + MapRemoveNullUtil.removeNullEntry(paramMap); return SmartHttpUtil.sendPostForm(url+"add",paramMap,null); } @@ -61,6 +65,7 @@ public class MemberAddressService { Map paramMap = new HashMap<>(); paramMap.put("channelId", StringUtil.toString(memberAddressDeleteEntity.getChannelId())); paramMap.put("memberId",StringUtil.toString(memberAddressDeleteEntity.getMemberId())); + MapRemoveNullUtil.removeNullEntry(paramMap); return SmartHttpUtil.sendPostForm(url+"delete",paramMap,null); } diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/MemberService.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/MemberService.java index a3107b6c..6bd51ea3 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/MemberService.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/MemberService.java @@ -14,6 +14,7 @@ import net.lab1024.smartadmin.module.system.royalcanin.member.MemberAddEntity; import net.lab1024.smartadmin.module.system.royalcanin.member.MemberCheckEntity; import net.lab1024.smartadmin.module.system.royalcanin.member.MemberGetEntity; import net.lab1024.smartadmin.module.system.royalcanin.member.MemberUpdateMemberLevelEntity; +import net.lab1024.smartadmin.util.MapRemoveNullUtil; import net.lab1024.smartadmin.util.SmartHttpUtil; import net.lab1024.smartadmin.util.SmartIPUtil; import org.springframework.beans.factory.annotation.Autowired; @@ -50,9 +51,10 @@ public class MemberService { public String memberGet(MemberGetEntity memberGetEntity, HttpServletRequest request)throws Exception { Map paramMap = new HashMap<>(); paramMap.put("channelId", StringUtil.toString(memberGetEntity.getChannelId())); - paramMap.put("id",StringUtil.toString(memberGetEntity.getId())); + paramMap.put("id",StringUtil.toString(memberGetEntity.getId()).equals("0")?null:StringUtil.toString(memberGetEntity.getId())); paramMap.put("mobile",memberGetEntity.getMobile()); paramMap.put("unionId",memberGetEntity.getUnionId()); + MapRemoveNullUtil.removeNullEntry(paramMap); String sb = SmartHttpUtil.sendPostForm(url+"get",paramMap,null); JSONObject jsonObject = JSONObject.parseObject(sb); JSONObject json = JSONObject.parseObject(jsonObject.getString("data")); @@ -76,6 +78,7 @@ public class MemberService { paramMap.put("channelId", StringUtil.toString(memberCheckEntity.getChannelId())); paramMap.put("mobile",memberCheckEntity.getMobile()); paramMap.put("unionId",memberCheckEntity.getUnionId()); + MapRemoveNullUtil.removeNullEntry(paramMap); return SmartHttpUtil.sendPostForm(url+"check",paramMap,null); } @@ -100,6 +103,7 @@ public class MemberService { paramMap.put("isFollowWechat",StringUtil.toString(memberAddEntity.isFollowWechat())); paramMap.put("isAddCommunityAssistantwechat",StringUtil.toString(memberAddEntity.isAddCommunityAssistantwechat())); paramMap.put("isJoinScrmCommunity",StringUtil.toString((memberAddEntity.isJoinScrmCommunity()))); + MapRemoveNullUtil.removeNullEntry(paramMap); return SmartHttpUtil.sendPostForm(url+"add",paramMap,null); } @@ -107,8 +111,9 @@ public class MemberService { Map paramMap = new HashMap<>(); paramMap.put("channelId", StringUtil.toString(memberUpdateMemberLevelEntity.getChannelId())); paramMap.put("channelSecurity",memberUpdateMemberLevelEntity.getChannelSecurity()); - paramMap.put("id",StringUtil.toString(memberUpdateMemberLevelEntity.getId())); + paramMap.put("id",StringUtil.toString(memberUpdateMemberLevelEntity.getId()).equals("0")?null:StringUtil.toString(memberUpdateMemberLevelEntity.getId())); paramMap.put("memberLevel",StringUtil.toString(memberUpdateMemberLevelEntity.getMemberLevel())); + MapRemoveNullUtil.removeNullEntry(paramMap); return SmartHttpUtil.sendPostForm(url+"check",paramMap,null); } diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/TransitionController.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/TransitionController.java index d455f2ba..1a04b78f 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/TransitionController.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/TransitionController.java @@ -8,8 +8,6 @@ import net.lab1024.smartadmin.common.anno.OperateLog; import net.lab1024.smartadmin.common.domain.ResponseDTO; import net.lab1024.smartadmin.common.heartbeat.StringUtil; import net.lab1024.smartadmin.constant.SwaggerTagConst; -import net.lab1024.smartadmin.module.business.log.LogService; -import net.lab1024.smartadmin.module.business.log.useroperatelog.domain.UserOperateLogEntity; import net.lab1024.smartadmin.module.system.royalcanin.couponConfig.CouponConfigFindAllEntity; import net.lab1024.smartadmin.module.system.royalcanin.couponConfig.CouponConfigGetEntity; import net.lab1024.smartadmin.module.system.royalcanin.domain.RoyalcaninOperateLogEntity; diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/MapRemoveNullUtil.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/MapRemoveNullUtil.java new file mode 100644 index 00000000..b9cdd7f1 --- /dev/null +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/MapRemoveNullUtil.java @@ -0,0 +1,102 @@ +package net.lab1024.smartadmin.util; + +import java.util.*; + +public class MapRemoveNullUtil { + + /** + * 移除map中空key或者value空值 + * @param map + */ + public static void removeNullEntry(Map map){ + removeNullKey(map); + removeNullValue(map); + } + + /** + * 移除map的空key + * @param map + * @return + */ + public static void removeNullKey(Map map){ + Set set = map.keySet(); + for (Iterator iterator = set.iterator(); iterator.hasNext();) { + Object obj = (Object) iterator.next(); + remove(obj, iterator); + } + } + + /** + * 移除map中的value空值 + * @param map + * @return + */ + public static void removeNullValue(Map map){ + Set set = map.keySet(); + for (Iterator iterator = set.iterator(); iterator.hasNext();) { + Object obj = (Object) iterator.next(); + Object value =(Object)map.get(obj); + remove(value, iterator); + } + } + + /** + * 移除map中的空值 + * + * Iterator 是工作在一个独立的线程中,并且拥有一个 mutex 锁。 + * Iterator 被创建之后会建立一个指向原来对象的单链索引表,当原来的对象数量发生变化时,这个索引表的内容不会同步改变, + * 所以当索引指针往后移动的时候就找不到要迭代的对象,所以按照 fail-fast 原则 Iterator 会马上抛出 java.util.ConcurrentModificationException 异常。 + * 所以 Iterator 在工作的时候是不允许被迭代的对象被改变的。 + * 但你可以使用 Iterator 本身的方法 remove() 来删除对象, Iterator.remove() 方法会在删除当前迭代对象的同时维护索引的一致性。 + * @param obj + * @param iterator + */ + private static void remove(Object obj, Iterator iterator){ + if(obj instanceof String){ + String str = (String)obj; + if(isEmpty(str)){ //过滤掉为null和""的值 主函数输出结果map:{2=BB, 1=AA, 5=CC, 8= } +// if("".equals(str.trim())){ //过滤掉为null、""和" "的值 主函数输出结果map:{2=BB, 1=AA, 5=CC} + iterator.remove(); + } + + }else if(obj instanceof Collection){ + Collection col = (Collection)obj; + if(col==null||col.isEmpty()){ + iterator.remove(); + } + + }else if(obj instanceof Map){ + Map temp = (Map)obj; + if(temp==null||temp.isEmpty()){ + iterator.remove(); + } + + }else if(obj instanceof Object[]){ + Object[] array =(Object[])obj; + if(array==null||array.length<=0){ + iterator.remove(); + } + }else{ + if(obj==null){ + iterator.remove(); + } + } + } + + public static boolean isEmpty(Object obj){ + return obj == null || obj.toString().length() == 0; + } + + public static void main(String[] args) { + Map map = new HashMap(); + map.put(1, "AA"); + map.put("2", "BB"); + map.put("5", "CC"); + map.put("6",null); + map.put("7", ""); + map.put("8", " "); + System.out.println(map);//输出结果:{2=BB, 1=AA, 7=, 6=null, 5=CC, 8= } + removeNullEntry(map); + System.out.println(map); + } +}