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) {
|
public static <T, R, V> R findAnyNotNull(List<V> values, LBiFunction0<T, R> function) {
|
||||||
try {
|
try {
|
||||||
if (CollectionUtils.isEmpty(values)) {
|
if (CollectionUtils.isEmpty(values)) {
|
||||||
@ -547,25 +548,13 @@ public class SanUtils {
|
|||||||
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
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<>();
|
Map<Long, String> map = new HashMap<>();
|
||||||
list.add(ai);
|
map.put(null,"owiew");
|
||||||
list.add(ai2);
|
System.out.println(JSON.toJSONString(map));
|
||||||
list.add(ai3);
|
|
||||||
|
|
||||||
Map<Integer, AriseUser> objectMap = parallel2Map(list, SanUtils::getName, AriseUser::getAge);
|
System.out.println(map.get(null));
|
||||||
System.out.println(JSON.toJSONString(objectMap));
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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.VvProductPropertyDTO;
|
||||||
import com.heyu.api.data.dto.vv.VvSkuDTO;
|
import com.heyu.api.data.dto.vv.VvSkuDTO;
|
||||||
import com.heyu.api.data.entity.vv.*;
|
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.NumberUtil;
|
||||||
import com.heyu.api.data.utils.R;
|
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.ISelect;
|
||||||
import com.heyu.api.utils.PPageUtils;
|
import com.heyu.api.utils.PPageUtils;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
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.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -225,21 +226,19 @@ public class AdminProductController {
|
|||||||
return R.ok();
|
return R.ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@RequestMapping("/insertOrUpadate")
|
@RequestMapping("/insertOrUpadate")
|
||||||
public R insertOrUpadate(@RequestBody VvProductDTO vvProductDTO) {
|
public R insertOrUpadate(@RequestBody VvProductDTO vvProductDTO) {
|
||||||
vvProductDao.insertOrUpdateVvProduct(vvProductDTO);
|
vvProductDao.insertOrUpdateVvProduct(vvProductDTO);
|
||||||
Long productId = vvProductDTO.getId();
|
Long productId = vvProductDTO.getId();
|
||||||
List<VvProductDetailEntity> productDetailEntities = vvProductDetailDao.selectVvProductDetailByProductId(productId);
|
List<VvProductDetailEntity> productDetailEntities = vvProductDetailDao.selectVvProductDetailByProductId(productId);
|
||||||
|
|
||||||
|
|
||||||
|
Map<Long, List<VvProductDetailEntity>> groupbyProductDetail =
|
||||||
|
SanUtils.list2GroupBy(vvProductDTO.getVvProductDetailList(), VvProductDetailEntity::getId);
|
||||||
|
|
||||||
// 1. 如果传过来的参数存在,则更新 ,如果不存在 ,则直接物理删除掉
|
// 1. 如果传过来的参数存在,则更新 ,如果不存在 ,则直接物理删除掉
|
||||||
for (VvProductDetailEntity productDetailEntity : productDetailEntities) {
|
for (VvProductDetailEntity productDetailEntity : productDetailEntities) {
|
||||||
boolean flag = true;
|
if (CollectionUtils.notContainsKey(groupbyProductDetail, productDetailEntity.getId())) {
|
||||||
for (VvProductDetailEntity vvProductDetailEntity : vvProductDTO.getVvProductDetailList()) {
|
|
||||||
if (productDetailEntity.getId().equals(vvProductDetailEntity.getId())) {
|
|
||||||
flag = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (flag) {
|
|
||||||
vvProductDetailDao.deleteVvProductDetailRealById(productDetailEntity.getId());
|
vvProductDetailDao.deleteVvProductDetailRealById(productDetailEntity.getId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -251,18 +250,12 @@ public class AdminProductController {
|
|||||||
vvProductDetailDao.insertOrUpdateVvProductDetail(vvProductDetailEntity);
|
vvProductDetailDao.insertOrUpdateVvProductDetail(vvProductDetailEntity);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
List<VvSkuDTO> vvSkuDTOS = vvProductDTO.getVvSkuList();
|
List<VvSkuDTO> vvSkuDTOS = vvProductDTO.getVvSkuList();
|
||||||
List<VvSkuEntity> vvSkuEntities = vvSkuDao.selectVvSkuByProductId(productId);
|
List<VvSkuEntity> vvSkuEntities = vvSkuDao.selectVvSkuByProductId(productId);
|
||||||
|
|
||||||
|
Map<Long, List<VvSkuDTO>> groupbySkuDTOs = SanUtils.list2GroupBy(vvSkuDTOS, VvSkuDTO::getId);
|
||||||
for (VvSkuEntity vvSkuEntity : vvSkuEntities) {
|
for (VvSkuEntity vvSkuEntity : vvSkuEntities) {
|
||||||
boolean flag = true;
|
if (CollectionUtils.notContainsKey(groupbySkuDTOs, vvSkuEntity.getId())) {
|
||||||
for (VvSkuDTO vvSkuDTO : vvSkuDTOS) {
|
|
||||||
if (vvSkuEntity.getId().equals(vvSkuDTO.getId())) {
|
|
||||||
flag = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (flag) {
|
|
||||||
vvSkuPropertyValueDao.deleteVvSkuPropertyValueRealBySkuId(vvSkuEntity.getId());
|
vvSkuPropertyValueDao.deleteVvSkuPropertyValueRealBySkuId(vvSkuEntity.getId());
|
||||||
vvSkuDao.deleteVvSkuByRealId(vvSkuEntity.getId());
|
vvSkuDao.deleteVvSkuByRealId(vvSkuEntity.getId());
|
||||||
}
|
}
|
||||||
@ -272,43 +265,27 @@ public class AdminProductController {
|
|||||||
Long skuId = vvSkuDTO.getId();
|
Long skuId = vvSkuDTO.getId();
|
||||||
vvSkuDTO.setProductId(productId);
|
vvSkuDTO.setProductId(productId);
|
||||||
vvSkuDao.insertOrUpdateVvSku(vvSkuDTO);
|
vvSkuDao.insertOrUpdateVvSku(vvSkuDTO);
|
||||||
|
if (NumberUtil.equals(vvSkuDTO.getIsFront(), 1)) {
|
||||||
if(NumberUtil.equals(vvSkuDTO.getIsFront(),1)){
|
|
||||||
vvProductDTO.setSkuId(skuId);
|
vvProductDTO.setSkuId(skuId);
|
||||||
vvProductDTO.setShowPromotionPrice(vvSkuDTO.getPromotionPrice());
|
vvProductDTO.setShowPromotionPrice(vvSkuDTO.getPromotionPrice());
|
||||||
vvProductDao.insertOrUpdateVvProduct(vvProductDTO);
|
vvProductDao.insertOrUpdateVvProduct(vvProductDTO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/***
|
/***
|
||||||
* 插入
|
* 更新
|
||||||
*/
|
*/
|
||||||
List<VvSkuPropertyValueEntity> vvSkuPropertyValueEntities = vvSkuDTO.getVvSkuPropertyValueList();
|
List<VvSkuPropertyValueEntity> vvSkuPropertyValueEntities = vvSkuDTO.getVvSkuPropertyValueList();
|
||||||
if (skuId != null) {
|
if (skuId != null) {
|
||||||
// 更新
|
// 更新
|
||||||
|
Map<Long, List<VvSkuPropertyValueEntity>> groupbySkuPropertyValue =
|
||||||
|
SanUtils.list2GroupBy(vvSkuPropertyValueEntities, VvSkuPropertyValueEntity::getId);
|
||||||
List<VvSkuPropertyValueEntity> vvSkuPropertyValueDB = vvSkuPropertyValueDao.selectVvSkuPropertyValueBySkuId(vvSkuDTO.getId());
|
List<VvSkuPropertyValueEntity> vvSkuPropertyValueDB = vvSkuPropertyValueDao.selectVvSkuPropertyValueBySkuId(vvSkuDTO.getId());
|
||||||
|
|
||||||
for (VvSkuPropertyValueEntity vvSkuPropertyValueDb : vvSkuPropertyValueDB) {
|
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());
|
vvSkuPropertyValueDao.deleteVvSkuPropertyValueRealById(vvSkuPropertyValueDb.getId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
for (VvSkuPropertyValueEntity vvSkuPropertyValueEntity : vvSkuPropertyValueEntities) {
|
for (VvSkuPropertyValueEntity vvSkuPropertyValueEntity : vvSkuPropertyValueEntities) {
|
||||||
vvSkuPropertyValueEntity.setSkuId(vvSkuDTO.getId());
|
vvSkuPropertyValueEntity.setSkuId(vvSkuDTO.getId());
|
||||||
vvSkuPropertyValueEntity.setProductId(productId);
|
vvSkuPropertyValueEntity.setProductId(productId);
|
||||||
@ -319,14 +296,11 @@ public class AdminProductController {
|
|||||||
List<VvProductPropertyDTO> vvProductPropertyDTOS = vvProductDTO.getVvProductPropertyList();
|
List<VvProductPropertyDTO> vvProductPropertyDTOS = vvProductDTO.getVvProductPropertyList();
|
||||||
List<VvProductPropertyEntity> vvProductPropertyEntities = vvProductPropertyDao.selectVvProductPropertyByProductId(productId);
|
List<VvProductPropertyEntity> vvProductPropertyEntities = vvProductPropertyDao.selectVvProductPropertyByProductId(productId);
|
||||||
|
|
||||||
|
Map<Long, List<VvProductPropertyEntity>> groupbyProductProperty =
|
||||||
|
SanUtils.list2GroupBy(vvProductPropertyEntities, VvProductPropertyEntity::getId);
|
||||||
for (VvProductPropertyEntity vvProductPropertyDb : vvProductPropertyEntities) {
|
for (VvProductPropertyEntity vvProductPropertyDb : vvProductPropertyEntities) {
|
||||||
boolean flag = true;
|
// 对他进行编辑
|
||||||
for (VvProductPropertyDTO vvProductPropertyDTO : vvProductPropertyDTOS) {
|
if (CollectionUtils.notContainsKey(groupbyProductProperty,vvProductPropertyDb.getId())) {
|
||||||
if (vvProductPropertyDb.getId().equals(vvProductPropertyDTO.getId())) {
|
|
||||||
flag = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (flag) {
|
|
||||||
vvProductPropertyDao.deleteVvProductPropertyRealById(vvProductPropertyDb.getId());
|
vvProductPropertyDao.deleteVvProductPropertyRealById(vvProductPropertyDb.getId());
|
||||||
vvProductPropertyValueDao.deleteVvProductPropertyValueRealByProductPropertyId(vvProductPropertyDb.getId());
|
vvProductPropertyValueDao.deleteVvProductPropertyValueRealByProductPropertyId(vvProductPropertyDb.getId());
|
||||||
}
|
}
|
||||||
@ -338,17 +312,14 @@ public class AdminProductController {
|
|||||||
vvProductPropertyDao.insertOrUpdateVvProductProperty(vvProductPropertyDTO);
|
vvProductPropertyDao.insertOrUpdateVvProductProperty(vvProductPropertyDTO);
|
||||||
|
|
||||||
List<VvProductPropertyValueEntity> vvProductPropertyValueEntities = vvProductPropertyDTO.getVvProductPropertyValueList();
|
List<VvProductPropertyValueEntity> vvProductPropertyValueEntities = vvProductPropertyDTO.getVvProductPropertyValueList();
|
||||||
|
Map<Long, List<VvProductPropertyValueEntity>> groupbyProductPropertyValue =
|
||||||
|
SanUtils.list2GroupBy(vvProductPropertyValueEntities, VvProductPropertyValueEntity::getId);
|
||||||
|
|
||||||
|
// 对他进行编辑
|
||||||
if (productPropertyId != null) {
|
if (productPropertyId != null) {
|
||||||
List<VvProductPropertyValueEntity> productPropertyValueDb = vvProductPropertyValueDao.selectVvProductPropertyValueByProductIdPropertyId(productPropertyId);
|
List<VvProductPropertyValueEntity> productPropertyValueDb = vvProductPropertyValueDao.selectVvProductPropertyValueByProductIdPropertyId(productPropertyId);
|
||||||
for (VvProductPropertyValueEntity vvProductPropertyValueEntity : productPropertyValueDb) {
|
for (VvProductPropertyValueEntity vvProductPropertyValueEntity : productPropertyValueDb) {
|
||||||
boolean flag = true;
|
if (CollectionUtils.notContainsKey(groupbyProductPropertyValue,vvProductPropertyValueEntity.getId())) {
|
||||||
for (VvProductPropertyValueEntity productPropertyValueEntity : vvProductPropertyValueEntities) {
|
|
||||||
if (vvProductPropertyValueEntity.getId().equals(productPropertyValueEntity.getId())) {
|
|
||||||
flag = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (flag) {
|
|
||||||
vvProductPropertyValueDao.deleteVvProductPropertyValueRealById(vvProductPropertyValueEntity.getId());
|
vvProductPropertyValueDao.deleteVvProductPropertyValueRealById(vvProductPropertyValueEntity.getId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -363,85 +334,5 @@ public class AdminProductController {
|
|||||||
return R.ok();
|
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