rjuwhnw
This commit is contained in:
parent
c98a9bd72c
commit
29862e7f9b
@ -0,0 +1,17 @@
|
||||
package com.heyu.api.data.utils;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public class CollectionUtils {
|
||||
|
||||
|
||||
|
||||
public static boolean notContainsKey(Map map, Object key) {
|
||||
if(map == null){
|
||||
return true;
|
||||
}
|
||||
|
||||
return !map.containsKey(key);
|
||||
}
|
||||
|
||||
}
|
||||
@ -120,6 +120,7 @@ public class SanUtils {
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static <T, R, V> R findAnyNotNull(List<V> values, LBiFunction0<T, R> function) {
|
||||
try {
|
||||
if (CollectionUtils.isEmpty(values)) {
|
||||
@ -547,25 +548,13 @@ public class SanUtils {
|
||||
|
||||
|
||||
public static void main(String[] args) {
|
||||
AriseUser ai = new AriseUser();
|
||||
ai.setName("张三");
|
||||
ai.setAge(13);
|
||||
AriseUser ai2 = new AriseUser();
|
||||
ai2.setName("李四");
|
||||
ai2.setAge(23);
|
||||
|
||||
AriseUser ai3 = new AriseUser();
|
||||
ai3.setName("李四");
|
||||
ai3.setAge(25);
|
||||
|
||||
|
||||
List<AriseUser> list = new ArrayList<>();
|
||||
list.add(ai);
|
||||
list.add(ai2);
|
||||
list.add(ai3);
|
||||
Map<Long, String> map = new HashMap<>();
|
||||
map.put(null,"owiew");
|
||||
System.out.println(JSON.toJSONString(map));
|
||||
|
||||
Map<Integer, AriseUser> objectMap = parallel2Map(list, SanUtils::getName, AriseUser::getAge);
|
||||
System.out.println(JSON.toJSONString(objectMap));
|
||||
System.out.println(map.get(null));
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -10,8 +10,10 @@ import com.heyu.api.data.dto.vv.VvProductDTO;
|
||||
import com.heyu.api.data.dto.vv.VvProductPropertyDTO;
|
||||
import com.heyu.api.data.dto.vv.VvSkuDTO;
|
||||
import com.heyu.api.data.entity.vv.*;
|
||||
import com.heyu.api.data.utils.CollectionUtils;
|
||||
import com.heyu.api.data.utils.NumberUtil;
|
||||
import com.heyu.api.data.utils.R;
|
||||
import com.heyu.api.data.utils.SanUtils;
|
||||
import com.heyu.api.utils.ISelect;
|
||||
import com.heyu.api.utils.PPageUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@ -21,7 +23,6 @@ import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
@ -225,21 +226,19 @@ public class AdminProductController {
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
|
||||
@RequestMapping("/insertOrUpadate")
|
||||
public R insertOrUpadate(@RequestBody VvProductDTO vvProductDTO) {
|
||||
vvProductDao.insertOrUpdateVvProduct(vvProductDTO);
|
||||
Long productId = vvProductDTO.getId();
|
||||
List<VvProductDetailEntity> productDetailEntities = vvProductDetailDao.selectVvProductDetailByProductId(productId);
|
||||
|
||||
|
||||
Map<Long, List<VvProductDetailEntity>> groupbyProductDetail =
|
||||
SanUtils.list2GroupBy(vvProductDTO.getVvProductDetailList(), VvProductDetailEntity::getId);
|
||||
|
||||
// 1. 如果传过来的参数存在,则更新 ,如果不存在 ,则直接物理删除掉
|
||||
for (VvProductDetailEntity productDetailEntity : productDetailEntities) {
|
||||
boolean flag = true;
|
||||
for (VvProductDetailEntity vvProductDetailEntity : vvProductDTO.getVvProductDetailList()) {
|
||||
if (productDetailEntity.getId().equals(vvProductDetailEntity.getId())) {
|
||||
flag = false;
|
||||
}
|
||||
}
|
||||
if (flag) {
|
||||
if (CollectionUtils.notContainsKey(groupbyProductDetail, productDetailEntity.getId())) {
|
||||
vvProductDetailDao.deleteVvProductDetailRealById(productDetailEntity.getId());
|
||||
}
|
||||
}
|
||||
@ -251,18 +250,12 @@ public class AdminProductController {
|
||||
vvProductDetailDao.insertOrUpdateVvProductDetail(vvProductDetailEntity);
|
||||
}
|
||||
|
||||
|
||||
List<VvSkuDTO> vvSkuDTOS = vvProductDTO.getVvSkuList();
|
||||
List<VvSkuEntity> vvSkuEntities = vvSkuDao.selectVvSkuByProductId(productId);
|
||||
|
||||
Map<Long, List<VvSkuDTO>> groupbySkuDTOs = SanUtils.list2GroupBy(vvSkuDTOS, VvSkuDTO::getId);
|
||||
for (VvSkuEntity vvSkuEntity : vvSkuEntities) {
|
||||
boolean flag = true;
|
||||
for (VvSkuDTO vvSkuDTO : vvSkuDTOS) {
|
||||
if (vvSkuEntity.getId().equals(vvSkuDTO.getId())) {
|
||||
flag = false;
|
||||
}
|
||||
}
|
||||
if (flag) {
|
||||
if (CollectionUtils.notContainsKey(groupbySkuDTOs, vvSkuEntity.getId())) {
|
||||
vvSkuPropertyValueDao.deleteVvSkuPropertyValueRealBySkuId(vvSkuEntity.getId());
|
||||
vvSkuDao.deleteVvSkuByRealId(vvSkuEntity.getId());
|
||||
}
|
||||
@ -272,43 +265,27 @@ public class AdminProductController {
|
||||
Long skuId = vvSkuDTO.getId();
|
||||
vvSkuDTO.setProductId(productId);
|
||||
vvSkuDao.insertOrUpdateVvSku(vvSkuDTO);
|
||||
|
||||
if(NumberUtil.equals(vvSkuDTO.getIsFront(),1)){
|
||||
if (NumberUtil.equals(vvSkuDTO.getIsFront(), 1)) {
|
||||
vvProductDTO.setSkuId(skuId);
|
||||
vvProductDTO.setShowPromotionPrice(vvSkuDTO.getPromotionPrice());
|
||||
vvProductDao.insertOrUpdateVvProduct(vvProductDTO);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/***
|
||||
* 插入
|
||||
* 更新
|
||||
*/
|
||||
List<VvSkuPropertyValueEntity> vvSkuPropertyValueEntities = vvSkuDTO.getVvSkuPropertyValueList();
|
||||
if (skuId != null) {
|
||||
// 更新
|
||||
Map<Long, List<VvSkuPropertyValueEntity>> groupbySkuPropertyValue =
|
||||
SanUtils.list2GroupBy(vvSkuPropertyValueEntities, VvSkuPropertyValueEntity::getId);
|
||||
List<VvSkuPropertyValueEntity> vvSkuPropertyValueDB = vvSkuPropertyValueDao.selectVvSkuPropertyValueBySkuId(vvSkuDTO.getId());
|
||||
|
||||
for (VvSkuPropertyValueEntity vvSkuPropertyValueDb : vvSkuPropertyValueDB) {
|
||||
boolean flag = true;
|
||||
for (VvSkuPropertyValueEntity skuPropertyValueEntity : vvSkuPropertyValueEntities) {
|
||||
if (vvSkuPropertyValueDb.getId().equals(skuPropertyValueEntity.getId())) {
|
||||
flag = false;
|
||||
}
|
||||
}
|
||||
// 如果不存在 ,则直接删除
|
||||
if (flag) {
|
||||
if (CollectionUtils.notContainsKey(groupbySkuPropertyValue, vvSkuPropertyValueDb.getId())) {
|
||||
vvSkuPropertyValueDao.deleteVvSkuPropertyValueRealById(vvSkuPropertyValueDb.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
for (VvSkuPropertyValueEntity vvSkuPropertyValueEntity : vvSkuPropertyValueEntities) {
|
||||
vvSkuPropertyValueEntity.setSkuId(vvSkuDTO.getId());
|
||||
vvSkuPropertyValueEntity.setProductId(productId);
|
||||
@ -319,14 +296,11 @@ public class AdminProductController {
|
||||
List<VvProductPropertyDTO> vvProductPropertyDTOS = vvProductDTO.getVvProductPropertyList();
|
||||
List<VvProductPropertyEntity> vvProductPropertyEntities = vvProductPropertyDao.selectVvProductPropertyByProductId(productId);
|
||||
|
||||
Map<Long, List<VvProductPropertyEntity>> groupbyProductProperty =
|
||||
SanUtils.list2GroupBy(vvProductPropertyEntities, VvProductPropertyEntity::getId);
|
||||
for (VvProductPropertyEntity vvProductPropertyDb : vvProductPropertyEntities) {
|
||||
boolean flag = true;
|
||||
for (VvProductPropertyDTO vvProductPropertyDTO : vvProductPropertyDTOS) {
|
||||
if (vvProductPropertyDb.getId().equals(vvProductPropertyDTO.getId())) {
|
||||
flag = false;
|
||||
}
|
||||
}
|
||||
if (flag) {
|
||||
// 对他进行编辑
|
||||
if (CollectionUtils.notContainsKey(groupbyProductProperty,vvProductPropertyDb.getId())) {
|
||||
vvProductPropertyDao.deleteVvProductPropertyRealById(vvProductPropertyDb.getId());
|
||||
vvProductPropertyValueDao.deleteVvProductPropertyValueRealByProductPropertyId(vvProductPropertyDb.getId());
|
||||
}
|
||||
@ -338,17 +312,14 @@ public class AdminProductController {
|
||||
vvProductPropertyDao.insertOrUpdateVvProductProperty(vvProductPropertyDTO);
|
||||
|
||||
List<VvProductPropertyValueEntity> vvProductPropertyValueEntities = vvProductPropertyDTO.getVvProductPropertyValueList();
|
||||
Map<Long, List<VvProductPropertyValueEntity>> groupbyProductPropertyValue =
|
||||
SanUtils.list2GroupBy(vvProductPropertyValueEntities, VvProductPropertyValueEntity::getId);
|
||||
|
||||
// 对他进行编辑
|
||||
if (productPropertyId != null) {
|
||||
List<VvProductPropertyValueEntity> productPropertyValueDb = vvProductPropertyValueDao.selectVvProductPropertyValueByProductIdPropertyId(productPropertyId);
|
||||
for (VvProductPropertyValueEntity vvProductPropertyValueEntity : productPropertyValueDb) {
|
||||
boolean flag = true;
|
||||
for (VvProductPropertyValueEntity productPropertyValueEntity : vvProductPropertyValueEntities) {
|
||||
if (vvProductPropertyValueEntity.getId().equals(productPropertyValueEntity.getId())) {
|
||||
flag = false;
|
||||
}
|
||||
}
|
||||
if (flag) {
|
||||
if (CollectionUtils.notContainsKey(groupbyProductPropertyValue,vvProductPropertyValueEntity.getId())) {
|
||||
vvProductPropertyValueDao.deleteVvProductPropertyValueRealById(vvProductPropertyValueEntity.getId());
|
||||
}
|
||||
}
|
||||
@ -363,85 +334,5 @@ public class AdminProductController {
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
@RequestMapping("/test/save")
|
||||
public R save(@RequestBody VvProductDTO vvProductDTO) {
|
||||
VvProductEntity vvProduct = vvProductDao.selectVvProductById(4L);
|
||||
|
||||
VvProductPropertyEntity vvProductPropertyEntity1 = vvProductPropertyDao.selectVvProductPropertyById(1L);
|
||||
|
||||
VvProductPropertyEntity vvProductPropertyEntity2 = vvProductPropertyDao.selectVvProductPropertyById(2L);
|
||||
|
||||
VvProductPropertyEntity vvProductPropertyEntity3 = vvProductPropertyDao.selectVvProductPropertyById(3L);
|
||||
|
||||
List<VvProductPropertyValueEntity> vvProductPropertyValueEntities1 = vvProductPropertyValueDao.selectVvProductPropertyValueByProductIdPropertyId(vvProductPropertyEntity1.getId());
|
||||
List<VvProductPropertyValueEntity> vvProductPropertyValueEntities2 = vvProductPropertyValueDao.selectVvProductPropertyValueByProductIdPropertyId(vvProductPropertyEntity2.getId());
|
||||
List<VvProductPropertyValueEntity> vvProductPropertyValueEntities3 = vvProductPropertyValueDao.selectVvProductPropertyValueByProductIdPropertyId(vvProductPropertyEntity3.getId());
|
||||
|
||||
|
||||
int i = 1;
|
||||
for (VvProductPropertyValueEntity vvProductPropertyValueEntity1 : vvProductPropertyValueEntities1) {
|
||||
|
||||
for (VvProductPropertyValueEntity vvProductPropertyValueEntity2 : vvProductPropertyValueEntities2) {
|
||||
|
||||
for (VvProductPropertyValueEntity vvProductPropertyValueEntity3 : vvProductPropertyValueEntities3) {
|
||||
|
||||
VvSkuEntity vvSkuEntity = new VvSkuEntity();
|
||||
|
||||
vvSkuEntity.setProductId(vvProduct.getId());
|
||||
vvSkuEntity.setImageUrl("ioewoieiw");
|
||||
vvSkuEntity.setSalePrice(new BigDecimal(i));
|
||||
vvSkuEntity.setOriginPrice(new BigDecimal(i));
|
||||
|
||||
|
||||
vvSkuDao.insertOrUpdateVvSku(vvSkuEntity);
|
||||
|
||||
VvSkuPropertyValueEntity vvSkuPropertyValueEntity1 = new VvSkuPropertyValueEntity();
|
||||
|
||||
|
||||
vvSkuPropertyValueEntity1.setSkuId(vvSkuEntity.getId());
|
||||
|
||||
vvSkuPropertyValueEntity1.setProductPropertyName(vvProductPropertyEntity1.getProductPropertyName());
|
||||
|
||||
vvSkuPropertyValueEntity1.setProductPropertyValue(vvProductPropertyValueEntity1.getProductPropertyValue());
|
||||
|
||||
vvSkuPropertyValueEntity1.setProductId(vvProduct.getId());
|
||||
|
||||
VvSkuPropertyValueEntity vvSkuPropertyValueEntity2 = new VvSkuPropertyValueEntity();
|
||||
|
||||
|
||||
vvSkuPropertyValueEntity2.setSkuId(vvSkuEntity.getId());
|
||||
|
||||
|
||||
|
||||
vvSkuPropertyValueEntity2.setProductPropertyName(vvProductPropertyEntity2.getProductPropertyName());
|
||||
|
||||
vvSkuPropertyValueEntity2.setProductPropertyValue(vvProductPropertyValueEntity2.getProductPropertyValue());
|
||||
|
||||
vvSkuPropertyValueEntity2.setProductId(vvProduct.getId());
|
||||
|
||||
|
||||
VvSkuPropertyValueEntity vvSkuPropertyValueEntity3 = new VvSkuPropertyValueEntity();
|
||||
|
||||
vvSkuPropertyValueEntity3.setSkuId(vvSkuEntity.getId());
|
||||
|
||||
|
||||
|
||||
vvSkuPropertyValueEntity3.setProductPropertyName(vvProductPropertyEntity3.getProductPropertyName());
|
||||
|
||||
vvSkuPropertyValueEntity3.setProductPropertyValue(vvProductPropertyValueEntity3.getProductPropertyValue());
|
||||
|
||||
vvSkuPropertyValueEntity3.setProductId(vvProduct.getId());
|
||||
|
||||
vvSkuPropertyValueDao.insertVvSkuPropertyValue(vvSkuPropertyValueEntity1);
|
||||
vvSkuPropertyValueDao.insertVvSkuPropertyValue(vvSkuPropertyValueEntity2);
|
||||
vvSkuPropertyValueDao.insertVvSkuPropertyValue(vvSkuPropertyValueEntity3);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user