package com.sooka.sponest.mobile.utils; import com.ruoyi.common.core.utils.SpringUtils; import com.ruoyi.common.core.utils.StringUtils; import com.sooka.sponest.mobile.remoteapi.RemoteSystemBaseService; import org.apache.commons.collections4.MapUtils; import java.util.*; /** * @Author LG * @Date 2023/8/16 - 22:49 * @Api 移动端图片处理类 */ public class PictureReplaceAll { /** * 替换前缀 * * @author LG * @Date 2023/8/16 22:52 */ public static void replaceAllPictureUrl(List> list, String replaceKey) { String oldIp = SpringUtils.getBean(RemoteSystemBaseService.class).selectConfigKey("fileUrl").getData(); String newIp = SpringUtils.getBean(RemoteSystemBaseService.class).selectConfigKey("appUrl").getData(); list.replaceAll(map -> replaceSchedulePictures(map, replaceKey, oldIp, newIp)); } public static List> replaceAllPictureUrl2(List list, String replaceKey) { String oldIp = SpringUtils.getBean(RemoteSystemBaseService.class).selectConfigKey("fileUrl").getData(); String newIp = SpringUtils.getBean(RemoteSystemBaseService.class).selectConfigKey("appUrl").getData(); List> result = new ArrayList<>(); list.forEach(item -> { LinkedHashMap map = new LinkedHashMap<>(); map.put(replaceKey, item.replaceAll(oldIp, newIp)); result.add(map); }); return result; } public static LinkedHashMap replaceSchedulePictures(LinkedHashMap map, String replaceKey, String oldIp, String newIp) { String url = Optional.ofNullable(map.get(replaceKey)).map(Object::toString).map(s -> s.replaceAll(oldIp, newIp)).orElse(""); map.put(replaceKey, url); return map; } public static List replacePicturesList(List picturesList) { List result = new ArrayList<>(); String oldIp = SpringUtils.getBean(RemoteSystemBaseService.class).selectConfigKey("fileUrl").getData(); String newIp = SpringUtils.getBean(RemoteSystemBaseService.class).selectConfigKey("appUrl").getData(); picturesList.forEach(s -> { result.add(s.replaceAll(oldIp, newIp)); }); return result; } public static void StringToList(Map info) { if (StringUtils.isNotBlank(MapUtils.getString(info, "attachPaths"))) { List attachPaths = Arrays.asList(MapUtils.getString(info, "attachPaths").split(",")); info.put("attachPaths", replacePicturesList(attachPaths)); } } }