/** * sku信息修改 * * @param list1 已录入库的sku信息 * @param list2 新组合的sku信息 * @return */ public List<GoodsSku> compareList(List<GoodsSku> list1, List<GoodsSku> list2) { Map<String, List<GoodsSku>> map = new HashMap<String, List<GoodsSku>>(); List<GoodsSku> duplicateList = new ArrayList<>(); // 重复的skuAttribute字段的值 List<GoodsSku> uniqueList = new ArrayList<>(); // 不重复的skuAttribute字段的值 // 将list1和list2的skuAttribute字段的值分割、排序后存入set中 Set<String> set1 = new HashSet<>(); Set<String> set2 = new HashSet<>(); list1.forEach(item -> set1.add(Arrays.stream(item.getSkuAttribute().split(":")).sorted().collect(Collectors.joining(":")))); list2.forEach(item -> set2.add(Arrays.stream(item.getSkuAttribute().split(":")).sorted().collect(Collectors.joining(":")))); // 遍历list1,如果list2中包含当前元素,则说明该skuAttribute字段的值重复,将其加入结果集中;否则加入uniqueList中 for (GoodsSku sku : list1) { String sortedSku = Arrays.stream(sku.getSkuAttribute().split(":")).sorted().collect(Collectors.joining(":")); if (set2.contains(sortedSku)) { duplicateList.add(sku); } else { uniqueList.add(sku); } } for (GoodsSku sku : uniqueList) {//将不同的sku信息写入库 if (null == sku.getId()) { sku.insert(); } else { sku.deleteById(); } } map.put("duplicateList", duplicateList); map.put("uniqueList", uniqueList); return list1; }
时间: 2024-04-26 20:23:37 浏览: 105
这是一个Java方法,用于比较两个List<GoodsSku>对象,找出其中重复和不重复的skuAttribute值,并将不重复的sku信息写入数据库中。该方法接收两个List<GoodsSku>类型的参数list1和list2,分别表示已录入库的sku信息和新组合的sku信息。比较过程中,首先将每个sku的skuAttribute字段的值分割、排序后存入set中,以便后续比较。然后遍历list1,如果list2中包含当前元素,则说明该skuAttribute字段的值重复,将其加入结果集中;否则加入uniqueList中。最后将uniqueList中的sku信息写入数据库。该方法返回值为List<GoodsSku>类型的list1,表示已录入库的sku信息。
相关问题
p://localhost:8081/sku/sku/list?current=1&size=10' from origin 'http://localhost:8080' has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header contains multiple values 'http://localhost:8080, http://localhost:8080', but only one is allowed.
这是一个CORS(跨域资源共享)的错误。它表示你的浏览器尝试从不同的域(或端口)请求资源,并且服务器没有正确配置CORS头。具体来说,服务器的响应头中设置了多个允许访问的域('http://localhost:8080, http://localhost:8080'),而规范要求这个头部只能设置一个值。要解决这个问题,你需要在服务器端将响应头中的 'Access-Control-Allow-Origin' 属性设置为一个正确的值,例如:'http://localhost:8080'。
<input type="hidden" name="" value lay-verifyIay-reqtext> <img class="fairy-sku-img" src="" alt="picture图片"> <input class="layui-upload-file" type="file" accept="image/*" name="file" multiple>怎么取到该表单中的隐藏字段名的name值
可以使用 JavaScript 的 `querySelector` 方法来获取该隐藏字段的 `name` 属性值,具体代码如下:
```javascript
const hiddenField = document.querySelector('input[type="hidden"][name]');
const hiddenFieldName = hiddenField.getAttribute('name');
console.log(hiddenFieldName); // 输出隐藏字段的 name 属性值
```
这段代码首先使用 `querySelector` 方法选中第一个类型为 `hidden` 并且带有 `name` 属性的 `input` 元素,然后使用 `getAttribute` 方法获取其 `name` 属性值。
阅读全文
相关推荐












