去除Mapper 采用注解来实现相关查询
This commit is contained in:
@@ -3,10 +3,13 @@ package cn.lili.modules.goods.mapper;
|
||||
|
||||
import cn.lili.modules.goods.entity.dos.Specification;
|
||||
import cn.lili.modules.goods.entity.vos.SpecificationVO;
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 规格数据处理层
|
||||
@@ -18,8 +21,9 @@ public interface SpecificationMapper extends BaseMapper<Specification> {
|
||||
|
||||
/**
|
||||
* 查询规格信息列表
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<SpecificationVO> findSpecList(Map<String,Object> param);
|
||||
@Select("SELECT s.id, s.spec_name,s.create_time ,GROUP_CONCAT(sv.spec_value SEPARATOR ',') AS spec_value" +
|
||||
" FROM li_specification s LEFT JOIN li_spec_values sv ON s.id = sv.spec_id ${ew.customSqlSegment} ")
|
||||
List<SpecificationVO> findSpecList(@Param(Constants.WRAPPER) Wrapper queryWrapper);
|
||||
}
|
||||
@@ -10,7 +10,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 规格业务层
|
||||
@@ -23,10 +22,10 @@ public interface SpecificationService extends IService<Specification> {
|
||||
/**
|
||||
* 查询规格信息列表
|
||||
*
|
||||
* @param param 查询参数
|
||||
* @param specName 规格名
|
||||
* @return 规格列表
|
||||
*/
|
||||
List<SpecificationVO> getSpecList(Map<String, Object> param);
|
||||
List<SpecificationVO> getSpecList(String specName);
|
||||
|
||||
/**
|
||||
* 根据分类id获取规格信息
|
||||
|
||||
@@ -5,6 +5,7 @@ import cn.hutool.core.util.StrUtil;
|
||||
import cn.lili.common.enums.ResultCode;
|
||||
import cn.lili.common.exception.ServiceException;
|
||||
import cn.lili.common.utils.PageUtil;
|
||||
import cn.lili.common.utils.StringUtils;
|
||||
import cn.lili.common.vo.PageVO;
|
||||
import cn.lili.modules.goods.entity.dos.CategorySpecification;
|
||||
import cn.lili.modules.goods.entity.dos.SpecValues;
|
||||
@@ -49,8 +50,13 @@ public class SpecificationServiceImpl extends ServiceImpl<SpecificationMapper, S
|
||||
private SpecValuesService specValuesService;
|
||||
|
||||
@Override
|
||||
public List<SpecificationVO> getSpecList(Map<String, Object> param) {
|
||||
return this.baseMapper.findSpecList(param);
|
||||
public List<SpecificationVO> getSpecList(String specName) {
|
||||
|
||||
QueryWrapper queryWrapper = new QueryWrapper();
|
||||
queryWrapper.eq(StringUtils.isNotEmpty(specName), "s.spec_name", specName);
|
||||
queryWrapper.orderByDesc("s.create_time");
|
||||
queryWrapper.groupBy("s.id");
|
||||
return this.baseMapper.findSpecList(queryWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -96,9 +102,8 @@ public class SpecificationServiceImpl extends ServiceImpl<SpecificationMapper, S
|
||||
|
||||
@Override
|
||||
public IPage<SpecificationVO> getSpecificationPage(SpecificationSearchParams searchParams, PageVO pageVo) {
|
||||
Map<String, Object> param = new HashMap<>();
|
||||
param.put("specName", searchParams.getSpecName());
|
||||
List<SpecificationVO> specList = this.getSpecList(param);
|
||||
|
||||
List<SpecificationVO> specList = this.getSpecList(searchParams.getSpecName());
|
||||
IPage<SpecificationVO> page = new Page<>(pageVo.getPageNumber(), pageVo.getPageSize(), specList.size());
|
||||
page.setRecords(PageUtil.listToPage(pageVo, specList));
|
||||
return page;
|
||||
|
||||
Reference in New Issue
Block a user