Commit 96db6b97ad1868938e92b4a79e37f2622a3fc0e0

Authored by YunaiV
1 parent 4207b2b6

mall:解决 ProductSkuDO.properties 属性

yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/sku/ProductSkuDO.java
1 package cn.iocoder.yudao.module.product.dal.dataobject.sku; 1 package cn.iocoder.yudao.module.product.dal.dataobject.sku;
2 2
3 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; 3 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
  4 +import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
4 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 5 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
5 import cn.iocoder.yudao.module.product.dal.dataobject.property.ProductPropertyDO; 6 import cn.iocoder.yudao.module.product.dal.dataobject.property.ProductPropertyDO;
6 import cn.iocoder.yudao.module.product.dal.dataobject.property.ProductPropertyValueDO; 7 import cn.iocoder.yudao.module.product.dal.dataobject.property.ProductPropertyValueDO;
@@ -9,7 +10,7 @@ import com.baomidou.mybatisplus.annotation.KeySequence; @@ -9,7 +10,7 @@ import com.baomidou.mybatisplus.annotation.KeySequence;
9 import com.baomidou.mybatisplus.annotation.TableField; 10 import com.baomidou.mybatisplus.annotation.TableField;
10 import com.baomidou.mybatisplus.annotation.TableId; 11 import com.baomidou.mybatisplus.annotation.TableId;
11 import com.baomidou.mybatisplus.annotation.TableName; 12 import com.baomidou.mybatisplus.annotation.TableName;
12 -import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; 13 +import com.baomidou.mybatisplus.extension.handlers.AbstractJsonTypeHandler;
13 import lombok.*; 14 import lombok.*;
14 15
15 import java.util.List; 16 import java.util.List;
@@ -47,7 +48,7 @@ public class ProductSkuDO extends BaseDO { @@ -47,7 +48,7 @@ public class ProductSkuDO extends BaseDO {
47 /** 48 /**
48 * 规格值数组,JSON 格式 49 * 规格值数组,JSON 格式
49 */ 50 */
50 - @TableField(typeHandler = JacksonTypeHandler.class) 51 + @TableField(typeHandler = PropertyTypeHandler.class)
51 private List<Property> properties; 52 private List<Property> properties;
52 /** 53 /**
53 * 销售价格,单位:分 54 * 销售价格,单位:分
@@ -113,6 +114,21 @@ public class ProductSkuDO extends BaseDO { @@ -113,6 +114,21 @@ public class ProductSkuDO extends BaseDO {
113 114
114 } 115 }
115 116
  117 + // TODO @芋艿:可以找一些新的思路
  118 + public static class PropertyTypeHandler extends AbstractJsonTypeHandler<Object> {
  119 +
  120 + @Override
  121 + protected Object parse(String json) {
  122 + return JsonUtils.parseArray(json, Property.class);
  123 + }
  124 +
  125 + @Override
  126 + protected String toJson(Object obj) {
  127 + return JsonUtils.toJsonString(obj);
  128 + }
  129 +
  130 + }
  131 +
116 // TODO ========== 待定字段:yv ========= 132 // TODO ========== 待定字段:yv =========
117 // TODO brokerage:一级返佣 133 // TODO brokerage:一级返佣
118 // TODO brokerage_two:二级返佣 134 // TODO brokerage_two:二级返佣