提交修改

This commit is contained in:
quyixiao 2025-08-22 18:51:52 +08:00
parent b699112ec2
commit f802b9d211
8 changed files with 175 additions and 5 deletions

View File

@ -10,6 +10,7 @@ package com.heyu.api.data.dao.vv;
import com.heyu.api.data.entity.vv.VvProductDetailEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.lz.mybatis.plugin.annotations.OrderBy;
import com.lz.mybatis.plugin.annotations.Realy;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -36,6 +37,16 @@ public interface VvProductDetailDao extends BaseMapper<VvProductDetailEntity> {
int deleteVvProductDetailById(@Param("id")Long id);
@OrderBy(VvProductDetailEntity.default_sort)
List<VvProductDetailEntity> selectVvProductDetailByProductId(Long productId);
@Realy
int deleteVvProductDetailRealById(@Param("id")Long id);
}

View File

@ -39,4 +39,7 @@ public interface VvProductPropertyDao extends BaseMapper<VvProductPropertyEntity
@OrderBy(VvProductPropertyEntity.defalut_sort)
List<VvProductPropertyEntity> selectVvProductPropertyByProductId(Long productId);
int deleteVvProductPropertyRealById(@Param("id")Long id);
}

View File

@ -39,4 +39,7 @@ public interface VvProductPropertyValueDao extends BaseMapper<VvProductPropertyV
@OrderBy(VvProductPropertyValueEntity.defalut_sort)
List<VvProductPropertyValueEntity> selectVvProductPropertyValueByProductIdPropertyId(Long productId, Long propertyId);
int deleteVvProductPropertyValueRealById(Long id);
}

View File

@ -11,6 +11,7 @@ package com.heyu.api.data.dao.vv;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.heyu.api.data.entity.vv.VvSkuEntity;
import com.lz.mybatis.plugin.annotations.OrderBy;
import com.lz.mybatis.plugin.annotations.Realy;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -40,4 +41,7 @@ public interface VvSkuDao extends BaseMapper<VvSkuEntity> {
@OrderBy(VvSkuEntity.default_sort)
List<VvSkuEntity> selectVvSkuByProductId(Long productId);
@Realy
int deleteVvSkuByRealId(Long id);
}

View File

@ -9,6 +9,7 @@ package com.heyu.api.data.dao.vv;
*/
import com.heyu.api.data.entity.vv.VvSkuPropertyValueEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.lz.mybatis.plugin.annotations.Realy;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -37,4 +38,12 @@ public interface VvSkuPropertyValueDao extends BaseMapper<VvSkuPropertyValueEnti
List<VvSkuPropertyValueEntity> selectVvSkuPropertyValueBySkuId(Long skuId);
@Realy
int deleteVvSkuPropertyValueRealById(Long id);
@Realy
int deleteVvSkuPropertyValueRealBySkuId(Long skuId);
}

View File

@ -1,14 +1,14 @@
package com.heyu.api.data.dto.vv;
import com.heyu.api.data.entity.vv.VvProductDetailEntity;
import com.heyu.api.data.entity.vv.VvPropertyEntity;
import com.heyu.api.data.entity.vv.VvProductEntity;
import lombok.Data;
import java.util.List;
@Data
public class VvProductDTO extends VvPropertyEntity {
public class VvProductDTO extends VvProductEntity {

View File

@ -1,6 +1,6 @@
package com.test.xxx.mysql;
import com.heyu.api.data.dao.vv.VvProductDao;
import com.heyu.api.data.dao.vv.VvProductDetailDao;
import com.lz.mybatis.plugin.utils.TestParseUtils;
import com.lz.mybatis.plugin.utils.t.Tuple2;
import org.junit.Test;
@ -12,7 +12,7 @@ SqlParseUtilsTest {
public void test1() {
Tuple2<Boolean, String> tuple = TestParseUtils.testSql(VvProductDao::selectVvProductByCondition).getData();
Tuple2<Boolean, String> tuple = TestParseUtils.testSql(VvProductDetailDao::selectVvProductDetailByProductId).getData();

View File

@ -135,11 +135,151 @@ public class ProductController {
}
vvProductDTO.setVvProductPropertyList(vvProductPropertyDTOS);
return R.ok().setData(vvProductDTO);
}
@RequestMapping("/insertOrUpadate")
public R insertOrUpadate(VvProductDTO vvProductDTO) {
Long productId = vvProductDTO.getId() == null ? -1L : vvProductDTO.getId();
vvProductDao.insertOrUpdateVvProduct(vvProductDTO);
List<VvProductDetailEntity> productDetailEntities = vvProductDetailDao.selectVvProductDetailByProductId(productId);
// 1. 如果传过来的参数存在则更新 如果不存在 则直接物理删除掉
for (VvProductDetailEntity productDetailEntity : productDetailEntities) {
boolean flag = true;
for (VvProductDetailEntity vvProductDetailEntity : vvProductDTO.getVvProductDetailList()) {
if(productDetailEntity.getId().equals(vvProductDetailEntity.getId())){
flag = false;
}
}
if(flag){
vvProductDetailDao.deleteVvProductDetailRealById(productDetailEntity.getId());
}
}
/**
* 传过来的
*/
for (VvProductDetailEntity vvProductDetailEntity : vvProductDTO.getVvProductDetailList()) {
vvProductDetailDao.insertOrUpdateVvProductDetail(vvProductDetailEntity);
}
List<VvSkuDTO> vvSkuDTOS = vvProductDTO.getVvSkuList();
List<VvSkuEntity> vvSkuEntities = vvSkuDao.selectVvSkuByProductId(productId);
for (VvSkuEntity vvSkuEntity : vvSkuEntities) {
boolean flag = true;
for (VvSkuDTO vvSkuDTO : vvSkuDTOS) {
if (vvSkuEntity.getId().equals(vvSkuDTO.getId())) {
flag = false;
}
}
if (flag) {
vvSkuPropertyValueDao.deleteVvSkuPropertyValueRealById(vvSkuEntity.getId());
vvSkuDao.deleteVvSkuByRealId(vvSkuEntity.getId());
}
}
for (VvSkuDTO vvSkuDTO : vvSkuDTOS) {
Long skuId = vvSkuDTO.getId() ;
vvSkuDao.insertOrUpdateVvSku(vvSkuDTO);
/***
* 插入
*/
if(skuId == null){
List<VvSkuPropertyValueEntity> vvSkuPropertyValueEntities = vvSkuDTO.getVvSkuPropertyValueList();
for (VvSkuPropertyValueEntity vvSkuPropertyValueEntity : vvSkuPropertyValueEntities) {
vvSkuPropertyValueEntity.setSkuId(vvSkuDTO.getId());
vvSkuPropertyValueDao.insertOrUpdateVvSkuPropertyValue(vvSkuPropertyValueEntity);
}
}else{ // 更新
List<VvSkuPropertyValueEntity> vvSkuPropertyValueEntities = vvSkuDTO.getVvSkuPropertyValueList();
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) {
vvSkuPropertyValueDao.deleteVvSkuPropertyValueRealById(vvSkuPropertyValueDb.getId());
}
for (VvSkuPropertyValueEntity vvSkuPropertyValueEntity : vvSkuPropertyValueEntities) {
vvSkuPropertyValueDao.insertOrUpdateVvSkuPropertyValue(vvSkuPropertyValueEntity);
}
}
}
}
List<VvProductPropertyDTO> vvProductPropertyDTOS = vvProductDTO.getVvProductPropertyList();
List<VvProductPropertyEntity> vvProductPropertyEntities = vvProductPropertyDao.selectVvProductPropertyByProductId(productId);
for (VvProductPropertyEntity vvProductPropertyDb: vvProductPropertyEntities) {
boolean flag = true;
for (VvProductPropertyDTO vvProductPropertyDTO : vvProductPropertyDTOS) {
if(vvProductPropertyDb.getId().equals(vvProductPropertyDTO.getId())){
flag = false;
}
}
if (flag) {
vvProductPropertyDao.deleteVvProductPropertyRealById(vvProductPropertyDb.getId());
}
}
for (VvProductPropertyDTO vvProductPropertyDTO : vvProductPropertyDTOS) {
Long productPropertyId = vvProductPropertyDTO.getId();
vvProductPropertyDao.insertOrUpdateVvProductProperty(vvProductPropertyDTO);
List<VvProductPropertyValueEntity> vvProductPropertyValueEntities = vvProductPropertyDTO.getVvProductPropertyValueList();
if(productPropertyId != null){
List<VvProductPropertyValueEntity> productPropertyValueDb = vvProductPropertyValueDao.selectVvProductPropertyValueByProductIdPropertyId(productId,productPropertyId);
for (VvProductPropertyValueEntity vvProductPropertyValueEntity : productPropertyValueDb) {
boolean flag = true;
for (VvProductPropertyValueEntity productPropertyValueEntity : vvProductPropertyValueEntities) {
if (vvProductPropertyValueEntity.getId().equals(productPropertyValueEntity.getId())) {
flag = false;
}
}
if (flag) {
vvProductPropertyValueDao.deleteVvProductPropertyValueRealById(vvProductPropertyValueEntity.getId());
}
}
}
for (VvProductPropertyValueEntity vvProductPropertyValueEntity : vvProductPropertyValueEntities) {
vvProductPropertyValueDao.insertOrUpdateVvProductPropertyValue(vvProductPropertyValueEntity);
}
}
return R.ok();
}
}