提交修改
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.heyu.api.data.entity.vv.VvProductDetailEntity;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.lz.mybatis.plugin.annotations.OrderBy;
|
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.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
@ -36,6 +37,16 @@ public interface VvProductDetailDao extends BaseMapper<VvProductDetailEntity> {
|
|||||||
|
|
||||||
int deleteVvProductDetailById(@Param("id")Long id);
|
int deleteVvProductDetailById(@Param("id")Long id);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@OrderBy(VvProductDetailEntity.default_sort)
|
@OrderBy(VvProductDetailEntity.default_sort)
|
||||||
List<VvProductDetailEntity> selectVvProductDetailByProductId(Long productId);
|
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)
|
@OrderBy(VvProductPropertyEntity.defalut_sort)
|
||||||
List<VvProductPropertyEntity> selectVvProductPropertyByProductId(Long productId);
|
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)
|
@OrderBy(VvProductPropertyValueEntity.defalut_sort)
|
||||||
List<VvProductPropertyValueEntity> selectVvProductPropertyValueByProductIdPropertyId(Long productId, Long propertyId);
|
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.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.heyu.api.data.entity.vv.VvSkuEntity;
|
import com.heyu.api.data.entity.vv.VvSkuEntity;
|
||||||
import com.lz.mybatis.plugin.annotations.OrderBy;
|
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.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
@ -40,4 +41,7 @@ public interface VvSkuDao extends BaseMapper<VvSkuEntity> {
|
|||||||
|
|
||||||
@OrderBy(VvSkuEntity.default_sort)
|
@OrderBy(VvSkuEntity.default_sort)
|
||||||
List<VvSkuEntity> selectVvSkuByProductId(Long productId);
|
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.heyu.api.data.entity.vv.VvSkuPropertyValueEntity;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
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.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
@ -37,4 +38,12 @@ public interface VvSkuPropertyValueDao extends BaseMapper<VvSkuPropertyValueEnti
|
|||||||
|
|
||||||
|
|
||||||
List<VvSkuPropertyValueEntity> selectVvSkuPropertyValueBySkuId(Long skuId);
|
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;
|
package com.heyu.api.data.dto.vv;
|
||||||
|
|
||||||
import com.heyu.api.data.entity.vv.VvProductDetailEntity;
|
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 lombok.Data;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class VvProductDTO extends VvPropertyEntity {
|
public class VvProductDTO extends VvProductEntity {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
package com.test.xxx.mysql;
|
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.TestParseUtils;
|
||||||
import com.lz.mybatis.plugin.utils.t.Tuple2;
|
import com.lz.mybatis.plugin.utils.t.Tuple2;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@ -12,7 +12,7 @@ SqlParseUtilsTest {
|
|||||||
public void test1() {
|
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);
|
vvProductDTO.setVvProductPropertyList(vvProductPropertyDTOS);
|
||||||
|
|
||||||
return R.ok().setData(vvProductDTO);
|
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