提交修改
This commit is contained in:
parent
b699112ec2
commit
f802b9d211
@ -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);
|
||||
|
||||
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
@ -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 {
|
||||
|
||||
|
||||
|
||||
|
||||
@ -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();
|
||||
|
||||
|
||||
|
||||
|
||||
@ -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();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user