這個兩層回圈怎么優化,保存了500條資料,用了40秒,求大佬幫忙
public String saveRoleGwType() {
roleId = StringUtils.nvl(roleId);
gwType = StringUtils.nvl(gwType);
data = StringUtils.nvl(data);
Map<String, Object> maps = (Map<String, Object>) JSON.parse(data);
NkSysUsers user = super.getCurrentUser();
Date date = new Date();
List<RoleGwTypePower> roleGwTypePowerList = new ArrayList<RoleGwTypePower>();
Date time2 = new Date();
System.out.println("開始回圈的時間:"+time2);
for (String gwType : Arrays.asList(gwType.split(","))) {
roleGwTypePowerService.deletePowerByRoleIdAndGwTypeAndSearchType(roleId, gwType);
for (Map.Entry<String, Object> m : maps.entrySet()) {
if (m.getKey().equals("TextFileES") || m.getKey().equals("TextFileSQL") ||
m.getKey().equals("TextNotFileES") || m.getKey().equals("TextNotFileSQL")){
continue;
}
RoleGwTypePower rgtp = new RoleGwTypePower();
rgtp.setRoleId(roleId);
rgtp.setGwType(gwType);
rgtp.setSearchType(m.getKey());
rgtp.setSearchRightLevel(String.valueOf(m.getValue()));
rgtp.setCustomRight(String.valueOf(maps.get("Text" + m.getKey())));
rgtp.setCreateUId(user.getId());
rgtp.setCreateUName(user.getUserName());
rgtp.setCreateTime(date);
rgtp.setStatus("1");
roleGwTypePowerList.add(rgtp);
}
}
Date time3 = new Date();
System.out.println("回圈結束的時間:"+time3);
try {
roleGwTypePowerService.updateDataRoleGwTypePowerList(roleGwTypePowerList);
Date time4 = new Date();
System.out.println("回傳前端的時間:"+time4);
return outPut("ok");
} catch (Exception e) {
return outPut("error");
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/239225.html
標籤:Web 開發
上一篇:Hutool Json 決議別名
