diff --git a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvProductPropertyDao.java b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvProductPropertyDao.java index 236929e..666314d 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvProductPropertyDao.java +++ b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvProductPropertyDao.java @@ -9,6 +9,7 @@ package com.heyu.api.data.dao.vv; */ import com.heyu.api.data.entity.vv.VvProductPropertyEntity; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.lz.mybatis.plugin.annotations.IN; import com.lz.mybatis.plugin.annotations.OrderBy; import com.lz.mybatis.plugin.annotations.OrderType; import com.lz.mybatis.plugin.annotations.Realy; @@ -39,11 +40,15 @@ public interface VvProductPropertyDao extends BaseMapper selectVvProductPropertyByProductId(Long productId); @Realy int deleteVvProductPropertyRealById(@Param("id")Long id); + + + + List selectProductPropertyByIds(@IN List id); } \ No newline at end of file diff --git a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvProductPropertyValueDao.java b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvProductPropertyValueDao.java index 256ed5d..1ebe632 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvProductPropertyValueDao.java +++ b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvProductPropertyValueDao.java @@ -10,6 +10,7 @@ package com.heyu.api.data.dao.vv; import com.heyu.api.data.entity.vv.VvProductPropertyValueEntity; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.lz.mybatis.plugin.annotations.IN; import com.lz.mybatis.plugin.annotations.OrderBy; import com.lz.mybatis.plugin.annotations.OrderType; import com.lz.mybatis.plugin.annotations.Realy; @@ -40,7 +41,7 @@ public interface VvProductPropertyValueDao extends BaseMapper selectVvProductPropertyValueByProductIdPropertyId(Long productPropertyId); @@ -50,6 +51,10 @@ public interface VvProductPropertyValueDao extends BaseMapper selectVvProductPropertyValueByProductIdProductId(Long productId); + + + + List selectProductPropertyValueByIds(@IN List id); } \ No newline at end of file diff --git a/api-mapper/src/main/java/com/heyu/api/data/dto/vv/VVAdminProductPropertyDTO.java b/api-mapper/src/main/java/com/heyu/api/data/dto/vv/VVAdminProductPropertyDTO.java new file mode 100644 index 0000000..5485c54 --- /dev/null +++ b/api-mapper/src/main/java/com/heyu/api/data/dto/vv/VVAdminProductPropertyDTO.java @@ -0,0 +1,21 @@ +package com.heyu.api.data.dto.vv; + + +import lombok.Data; + +import java.util.List; + +@Data +public class VVAdminProductPropertyDTO { + + /** + * 商品属性id + */ + private List productPropertyIds; + + +} + + + + diff --git a/api-mapper/src/main/java/com/heyu/api/data/dto/vv/VVAdminProductPropertyValueDTO.java b/api-mapper/src/main/java/com/heyu/api/data/dto/vv/VVAdminProductPropertyValueDTO.java new file mode 100644 index 0000000..da206f7 --- /dev/null +++ b/api-mapper/src/main/java/com/heyu/api/data/dto/vv/VVAdminProductPropertyValueDTO.java @@ -0,0 +1,15 @@ +package com.heyu.api.data.dto.vv; + + +import lombok.Data; + +import java.util.List; + +@Data +public class VVAdminProductPropertyValueDTO { + + /*** + * 商品属性值排序 + */ + private List productPropertyValueIds; +} diff --git a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvProductPropertyEntity.java b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvProductPropertyEntity.java index 80511da..9dc0707 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvProductPropertyEntity.java +++ b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvProductPropertyEntity.java @@ -1,16 +1,15 @@ package com.heyu.api.data.entity.vv; + import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; -import com.lz.mybatis.plugin.annotations.AS; -import java.math.BigDecimal; -import java.util.Date;import java.util.Date; +import java.util.Date; /** *sku 与属性的对应关系 * @author quyixiao -* @since 2025-08-24 +* @since 2025-10-27 */ @Data @@ -27,7 +26,7 @@ private static final long serialVersionUID = 1L; public final static String modify_time = CLASS_NAME + "modify_time"; // 修改时间 public final static String product_id = CLASS_NAME + "product_id"; // 商品id public final static String product_property_name = CLASS_NAME + "product_property_name"; // 属性名称 - public final static String defalut_sort = CLASS_NAME + "defalut_sort"; // 默认排序 + public final static String default_sort = CLASS_NAME + "default_sort"; // 默认排序 // @TableId(value = "id", type = IdType.AUTO) private Long id; @@ -42,7 +41,7 @@ private static final long serialVersionUID = 1L; //属性名称 private String productPropertyName; //默认排序 - private Integer defalutSort; + private Integer defaultSort; /** * * @return @@ -137,15 +136,15 @@ private static final long serialVersionUID = 1L; * 默认排序 * @return */ - public Integer getDefalutSort() { - return defalutSort; + public Integer getDefaultSort() { + return defaultSort; } /** * 默认排序 - * @param defalutSort + * @param defaultSort */ - public void setDefalutSort(Integer defalutSort) { - this.defalutSort = defalutSort; + public void setDefaultSort(Integer defaultSort) { + this.defaultSort = defaultSort; } @Override @@ -157,7 +156,7 @@ private static final long serialVersionUID = 1L; ",modifyTime=" + modifyTime + ",productId=" + productId + ",productPropertyName=" + productPropertyName + - ",defalutSort=" + defalutSort + + ",defaultSort=" + defaultSort + "}"; } } \ No newline at end of file diff --git a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvProductPropertyValueEntity.java b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvProductPropertyValueEntity.java index 7949ec0..5981342 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvProductPropertyValueEntity.java +++ b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvProductPropertyValueEntity.java @@ -1,16 +1,15 @@ package com.heyu.api.data.entity.vv; + import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; -import com.lz.mybatis.plugin.annotations.AS; -import java.math.BigDecimal; -import java.util.Date;import java.util.Date; +import java.util.Date; /** *sku 与属性的对应关系 * @author quyixiao -* @since 2025-08-24 +* @since 2025-10-27 */ @Data @@ -29,7 +28,7 @@ private static final long serialVersionUID = 1L; public final static String product_property_name = CLASS_NAME + "product_property_name"; // 属性名称 public final static String product_property_value = CLASS_NAME + "product_property_value"; // 属性id public final static String product_property_id = CLASS_NAME + "product_property_id"; // 商品属性id - public final static String defalut_sort = CLASS_NAME + "defalut_sort"; // 默认排序 + public final static String default_sort = CLASS_NAME + "default_sort"; // 默认排序 // @TableId(value = "id", type = IdType.AUTO) private Long id; @@ -48,7 +47,7 @@ private static final long serialVersionUID = 1L; //商品属性id private Long productPropertyId; //默认排序 - private Integer defalutSort; + private Integer defaultSort; /** * * @return @@ -173,15 +172,15 @@ private static final long serialVersionUID = 1L; * 默认排序 * @return */ - public Integer getDefalutSort() { - return defalutSort; + public Integer getDefaultSort() { + return defaultSort; } /** * 默认排序 - * @param defalutSort + * @param defaultSort */ - public void setDefalutSort(Integer defalutSort) { - this.defalutSort = defalutSort; + public void setDefaultSort(Integer defaultSort) { + this.defaultSort = defaultSort; } @Override @@ -195,7 +194,7 @@ private static final long serialVersionUID = 1L; ",productPropertyName=" + productPropertyName + ",productPropertyValue=" + productPropertyValue + ",productPropertyId=" + productPropertyId + - ",defalutSort=" + defalutSort + + ",defaultSort=" + defaultSort + "}"; } } \ No newline at end of file diff --git a/api-mapper/src/test/java/com/test/xxx/MysqlMain_update.java b/api-mapper/src/test/java/com/test/xxx/MysqlMain_update.java index 22b10d9..67374f7 100644 --- a/api-mapper/src/test/java/com/test/xxx/MysqlMain_update.java +++ b/api-mapper/src/test/java/com/test/xxx/MysqlMain_update.java @@ -48,7 +48,7 @@ public class MysqlMain_update { } List list = new ArrayList(); - list.add(new TablesBean("vv_sku_property_value")); + list.add(new TablesBean("vv_product_property_value")); Map map = MysqlUtil2ShowCreateTable.getComments(); diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminProductController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminProductController.java index 7163f58..9c86b93 100644 --- a/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminProductController.java +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminProductController.java @@ -5,10 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.heyu.api.alibaba.request.mm.VvProductDetailRequest; import com.heyu.api.alibaba.request.mm.VvProductRequest; import com.heyu.api.data.dao.vv.*; -import com.heyu.api.data.dto.vv.VvCopyProductRequest; -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.dto.vv.*; import com.heyu.api.data.entity.vv.*; import com.heyu.api.data.utils.CollectionUtils; import com.heyu.api.data.utils.NumberUtil; @@ -58,13 +55,6 @@ public class AdminProductController { private VvProductPropertyValueDao vvProductPropertyValueDao; - @Autowired - private VvCategoryPropertyDao vvCategoryPropertyDao; - - - @Autowired - private VvCategoryPropertyValueDao vvCategoryPropertyValueDao; - /*** * 列表 * http://localhost:8888/mm/product/list @@ -226,6 +216,8 @@ public class AdminProductController { return R.ok(); } + + // /mm/product/insertOrUpadate @RequestMapping("/insertOrUpadate") public R insertOrUpadate(@RequestBody VvProductDTO vvProductDTO) { vvProductDao.insertOrUpdateVvProduct(vvProductDTO); @@ -300,7 +292,7 @@ public class AdminProductController { SanUtils.list2GroupBy(vvProductPropertyEntities, VvProductPropertyEntity::getId); for (VvProductPropertyEntity vvProductPropertyDb : vvProductPropertyEntities) { // 对他进行编辑 - if (CollectionUtils.notContainsKey(groupbyProductProperty,vvProductPropertyDb.getId())) { + if (CollectionUtils.notContainsKey(groupbyProductProperty, vvProductPropertyDb.getId())) { vvProductPropertyDao.deleteVvProductPropertyRealById(vvProductPropertyDb.getId()); vvProductPropertyValueDao.deleteVvProductPropertyValueRealByProductPropertyId(vvProductPropertyDb.getId()); } @@ -319,7 +311,7 @@ public class AdminProductController { if (productPropertyId != null) { List productPropertyValueDb = vvProductPropertyValueDao.selectVvProductPropertyValueByProductIdPropertyId(productPropertyId); for (VvProductPropertyValueEntity vvProductPropertyValueEntity : productPropertyValueDb) { - if (CollectionUtils.notContainsKey(groupbyProductPropertyValue,vvProductPropertyValueEntity.getId())) { + if (CollectionUtils.notContainsKey(groupbyProductPropertyValue, vvProductPropertyValueEntity.getId())) { vvProductPropertyValueDao.deleteVvProductPropertyValueRealById(vvProductPropertyValueEntity.getId()); } } @@ -335,4 +327,33 @@ public class AdminProductController { } + // // /mm/product/property/sort + @RequestMapping("/property/sort") + public R propertySort(@RequestBody VVAdminProductPropertyDTO dto) { + List list = vvProductPropertyDao.selectProductPropertyByIds(dto.getProductPropertyIds()); + List categoryIds = dto.getProductPropertyIds(); + for (VvProductPropertyEntity vvCategoryEntity : list) { + int index = categoryIds.indexOf(vvCategoryEntity.getId()) + 1; + vvCategoryEntity.setDefaultSort(index); + vvProductPropertyDao.insertOrUpdateVvProductProperty(vvCategoryEntity); + } + return R.ok("排序成功"); + } + + + // /mm/product/property/value/sort + @RequestMapping("/property/value/sort") + public R propertyValueSort(@RequestBody VVAdminProductPropertyValueDTO dto) { + List list = vvProductPropertyValueDao.selectProductPropertyValueByIds(dto.getProductPropertyValueIds()); + List categoryIds = dto.getProductPropertyValueIds(); + for (VvProductPropertyValueEntity vvCategoryEntity : list) { + int index = categoryIds.indexOf(vvCategoryEntity.getId()) + 1; + vvCategoryEntity.setDefaultSort(index); + vvProductPropertyValueDao.insertOrUpdateVvProductPropertyValue(vvCategoryEntity); + } + + return R.ok(); + } + + }