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 1 package cn.iocoder.yudao.module.product.dal.dataobject.sku;
2 2  
3 3 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
  4 +import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
4 5 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
5 6 import cn.iocoder.yudao.module.product.dal.dataobject.property.ProductPropertyDO;
6 7 import cn.iocoder.yudao.module.product.dal.dataobject.property.ProductPropertyValueDO;
... ... @@ -9,7 +10,7 @@ import com.baomidou.mybatisplus.annotation.KeySequence;
9 10 import com.baomidou.mybatisplus.annotation.TableField;
10 11 import com.baomidou.mybatisplus.annotation.TableId;
11 12 import com.baomidou.mybatisplus.annotation.TableName;
12   -import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
  13 +import com.baomidou.mybatisplus.extension.handlers.AbstractJsonTypeHandler;
13 14 import lombok.*;
14 15  
15 16 import java.util.List;
... ... @@ -47,7 +48,7 @@ public class ProductSkuDO extends BaseDO {
47 48 /**
48 49 * 规格值数组,JSON 格式
49 50 */
50   - @TableField(typeHandler = JacksonTypeHandler.class)
  51 + @TableField(typeHandler = PropertyTypeHandler.class)
51 52 private List<Property> properties;
52 53 /**
53 54 * 销售价格,单位:分
... ... @@ -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 132 // TODO ========== 待定字段:yv =========
117 133 // TODO brokerage:一级返佣
118 134 // TODO brokerage_two:二级返佣
... ...