!1472 fix(product): 修复@Select查询JSON字段无法解析的问题
Merge pull request !1472 from 大方/fix/product-mapper-json-typehandler
This commit is contained in:
commit
26237ee8da
@ -5,9 +5,8 @@ import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
|||||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||||
import cn.iocoder.yudao.module.product.dal.dataobject.sku.ProductSkuDO;
|
import cn.iocoder.yudao.module.product.dal.dataobject.sku.ProductSkuDO;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.*;
|
||||||
import org.apache.ibatis.annotations.Select;
|
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -15,7 +14,14 @@ import java.util.List;
|
|||||||
@Mapper
|
@Mapper
|
||||||
public interface ProductSkuMapper extends BaseMapperX<ProductSkuDO> {
|
public interface ProductSkuMapper extends BaseMapperX<ProductSkuDO> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询商品 SKU(包含已删除)
|
||||||
|
* 注意:使用 @Results 手动指定 typeHandler,否则 @Select 不会应用 autoResultMap,properties 字段无法解析 JSON
|
||||||
|
*/
|
||||||
@Select("SELECT * FROM product_sku WHERE id = #{id}")
|
@Select("SELECT * FROM product_sku WHERE id = #{id}")
|
||||||
|
@Results({
|
||||||
|
@Result(column = "properties", property = "properties", typeHandler = JacksonTypeHandler.class),
|
||||||
|
})
|
||||||
ProductSkuDO selectByIdIncludeDeleted(@Param("id") Long id);
|
ProductSkuDO selectByIdIncludeDeleted(@Param("id") Long id);
|
||||||
|
|
||||||
default List<ProductSkuDO> selectListBySpuId(Long spuId) {
|
default List<ProductSkuDO> selectListBySpuId(Long spuId) {
|
||||||
|
|||||||
@ -4,15 +4,15 @@ import cn.hutool.core.util.ObjectUtil;
|
|||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||||
|
import cn.iocoder.yudao.framework.mybatis.core.type.IntegerListTypeHandler;
|
||||||
import cn.iocoder.yudao.module.product.controller.admin.spu.vo.ProductSpuPageReqVO;
|
import cn.iocoder.yudao.module.product.controller.admin.spu.vo.ProductSpuPageReqVO;
|
||||||
import cn.iocoder.yudao.module.product.controller.app.spu.vo.AppProductSpuPageReqVO;
|
import cn.iocoder.yudao.module.product.controller.app.spu.vo.AppProductSpuPageReqVO;
|
||||||
import cn.iocoder.yudao.module.product.dal.dataobject.spu.ProductSpuDO;
|
import cn.iocoder.yudao.module.product.dal.dataobject.spu.ProductSpuDO;
|
||||||
import cn.iocoder.yudao.module.product.enums.ProductConstants;
|
import cn.iocoder.yudao.module.product.enums.ProductConstants;
|
||||||
import cn.iocoder.yudao.module.product.enums.spu.ProductSpuStatusEnum;
|
import cn.iocoder.yudao.module.product.enums.spu.ProductSpuStatusEnum;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.*;
|
||||||
import org.apache.ibatis.annotations.Select;
|
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
@ -20,7 +20,15 @@ import java.util.Set;
|
|||||||
@Mapper
|
@Mapper
|
||||||
public interface ProductSpuMapper extends BaseMapperX<ProductSpuDO> {
|
public interface ProductSpuMapper extends BaseMapperX<ProductSpuDO> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询商品 SPU(包含已删除)
|
||||||
|
* 注意:使用 @Results 手动指定 typeHandler,否则 @Select 不会应用 autoResultMap,sliderPicUrls,deliveryTypes 字段无法解析 JSON
|
||||||
|
*/
|
||||||
@Select("SELECT * FROM product_spu WHERE id = #{id}")
|
@Select("SELECT * FROM product_spu WHERE id = #{id}")
|
||||||
|
@Results({
|
||||||
|
@Result(column = "slider_pic_urls", property = "sliderPicUrls", typeHandler = JacksonTypeHandler.class),
|
||||||
|
@Result(column = "delivery_types", property = "deliveryTypes", typeHandler = IntegerListTypeHandler.class),
|
||||||
|
})
|
||||||
ProductSpuDO selectByIdIncludeDeleted(@Param("id") Long id);
|
ProductSpuDO selectByIdIncludeDeleted(@Param("id") Long id);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user