字典移动到mall,增加根据名称查询字典的方法

This commit is contained in:
taozi
2022-04-16 13:13:13 +08:00
parent 1bf338a5bb
commit daa5a0722e
15 changed files with 84 additions and 61 deletions

View File

@ -9,10 +9,10 @@ import co.yixiang.dozer.service.IGenerator;
import co.yixiang.exception.BadRequestException;
import co.yixiang.logging.aop.log.Log;
import co.yixiang.modules.aop.ForbidSubmit;
import co.yixiang.modules.system.domain.Dict;
import co.yixiang.modules.system.service.DictService;
import co.yixiang.modules.system.service.dto.DictDto;
import co.yixiang.modules.system.service.dto.DictQueryCriteria;
import co.yixiang.modules.dict.domain.Dict;
import co.yixiang.modules.dict.service.DictService;
import co.yixiang.modules.dict.service.dto.DictDto;
import co.yixiang.modules.dict.service.dto.DictQueryCriteria;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.data.domain.Pageable;

View File

@ -8,9 +8,9 @@ package co.yixiang.modules.system.rest;
import co.yixiang.exception.BadRequestException;
import co.yixiang.logging.aop.log.Log;
import co.yixiang.modules.aop.ForbidSubmit;
import co.yixiang.modules.system.domain.DictDetail;
import co.yixiang.modules.system.service.DictDetailService;
import co.yixiang.modules.system.service.dto.DictDetailQueryCriteria;
import co.yixiang.modules.dict.domain.DictDetail;
import co.yixiang.modules.dict.service.DictDetailService;
import co.yixiang.modules.dict.service.dto.DictDetailQueryCriteria;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.data.domain.Pageable;

View File

@ -1,22 +0,0 @@
/**
* Copyright (C) 2018-2022
* All rights reserved, Designed By www.yixiang.co
*/
package co.yixiang.modules.system.service.dto;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
/**
* @author hupeng
* @date 2019-04-10
*/
@Getter
@Setter
public class DictSmallDto implements Serializable {
private Long id;
}

View File

@ -6,7 +6,7 @@
* 购买后可获得全部源代码禁止转卖分享上传到码云github等开源平台
* 一经发现盗用分享等行为将追究法律责任后果自负
*/
package co.yixiang.modules.system.domain;
package co.yixiang.modules.dict.domain;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;

View File

@ -6,7 +6,7 @@
* 购买后可获得全部源代码禁止转卖分享上传到码云github等开源平台
* 一经发现盗用分享等行为将追究法律责任后果自负
*/
package co.yixiang.modules.system.domain;
package co.yixiang.modules.dict.domain;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;

View File

@ -6,12 +6,12 @@
* 购买后可获得全部源代码禁止转卖分享上传到码云github等开源平台
* 一经发现盗用分享等行为将追究法律责任后果自负
*/
package co.yixiang.modules.system.service;
package co.yixiang.modules.dict.service;
import co.yixiang.common.service.BaseService;
import co.yixiang.modules.system.domain.DictDetail;
import co.yixiang.modules.system.service.dto.DictDetailDto;
import co.yixiang.modules.system.service.dto.DictDetailQueryCriteria;
import co.yixiang.modules.dict.domain.DictDetail;
import co.yixiang.modules.dict.service.dto.DictDetailDto;
import co.yixiang.modules.dict.service.dto.DictDetailQueryCriteria;
import org.springframework.data.domain.Pageable;
import javax.servlet.http.HttpServletResponse;
@ -47,4 +47,22 @@ public interface DictDetailService extends BaseService<DictDetail>{
* @throws IOException /
*/
void download(List<DictDetailDto> all, HttpServletResponse response) throws IOException;
/**
* 按名称查询字典值返回label
*
* @param dictName dict类型名称
* @return {@link Map}<{@link String}, {@link String}>
*/
Map<String, String> queryDetailsByName(String dictName);
/**
* 按名称查询字典值返回key
*
* @param dictName dict类型名称
* @return {@link Map}<{@link String}, {@link String}>
*/
Map<String, String> queryDetailsByKey(String dictName);
}

View File

@ -6,12 +6,12 @@
* 购买后可获得全部源代码禁止转卖分享上传到码云github等开源平台
* 一经发现盗用分享等行为将追究法律责任后果自负
*/
package co.yixiang.modules.system.service;
package co.yixiang.modules.dict.service;
import co.yixiang.common.service.BaseService;
import co.yixiang.modules.system.domain.Dict;
import co.yixiang.modules.system.service.dto.DictDto;
import co.yixiang.modules.system.service.dto.DictQueryCriteria;
import co.yixiang.modules.dict.domain.Dict;
import co.yixiang.modules.dict.service.dto.DictDto;
import co.yixiang.modules.dict.service.dto.DictQueryCriteria;
import org.springframework.data.domain.Pageable;
import javax.servlet.http.HttpServletResponse;

View File

@ -6,7 +6,7 @@
* 购买后可获得全部源代码禁止转卖分享上传到码云github等开源平台
* 一经发现盗用分享等行为将追究法律责任后果自负
*/
package co.yixiang.modules.system.service.dto;
package co.yixiang.modules.dict.service.dto;
import lombok.Data;

View File

@ -6,7 +6,7 @@
* 购买后可获得全部源代码禁止转卖分享上传到码云github等开源平台
* 一经发现盗用分享等行为将追究法律责任后果自负
*/
package co.yixiang.modules.system.service.dto;
package co.yixiang.modules.dict.service.dto;
import co.yixiang.annotation.Query;
import lombok.Data;

View File

@ -6,7 +6,7 @@
* 购买后可获得全部源代码禁止转卖分享上传到码云github等开源平台
* 一经发现盗用分享等行为将追究法律责任后果自负
*/
package co.yixiang.modules.system.service.dto;
package co.yixiang.modules.dict.service.dto;
import lombok.Data;

View File

@ -6,7 +6,7 @@
* 购买后可获得全部源代码禁止转卖分享上传到码云github等开源平台
* 一经发现盗用分享等行为将追究法律责任后果自负
*/
package co.yixiang.modules.system.service.dto;
package co.yixiang.modules.dict.service.dto;
import co.yixiang.annotation.Query;
import lombok.Data;

View File

@ -6,15 +6,15 @@
* 购买后可获得全部源代码禁止转卖分享上传到码云github等开源平台
* 一经发现盗用分享等行为将追究法律责任后果自负
*/
package co.yixiang.modules.system.service.impl;
package co.yixiang.modules.dict.service.impl;
import co.yixiang.common.service.impl.BaseServiceImpl;
import co.yixiang.dozer.service.IGenerator;
import co.yixiang.modules.system.domain.DictDetail;
import co.yixiang.modules.system.service.DictDetailService;
import co.yixiang.modules.system.service.dto.DictDetailDto;
import co.yixiang.modules.system.service.dto.DictDetailQueryCriteria;
import co.yixiang.modules.system.service.mapper.DictDetailMapper;
import co.yixiang.modules.dict.domain.DictDetail;
import co.yixiang.modules.dict.service.DictDetailService;
import co.yixiang.modules.dict.service.dto.DictDetailDto;
import co.yixiang.modules.dict.service.dto.DictDetailQueryCriteria;
import co.yixiang.modules.dict.service.mapper.DictDetailMapper;
import co.yixiang.utils.FileUtil;
import com.github.pagehelper.PageInfo;
import lombok.AllArgsConstructor;
@ -29,6 +29,7 @@ import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
// 默认不使用缓存
//import org.springframework.cache.annotation.CacheConfig;
@ -81,4 +82,30 @@ public class DictDetailServiceImpl extends BaseServiceImpl<DictDetailMapper, Dic
}
FileUtil.downloadExcel(list, response);
}
@Override
public Map<String, String> queryDetailsByName(String dictName) {
List<DictDetailDto> dtoList = getDictDetailDtos(dictName);
return dtoList.stream().collect(Collectors.toMap(DictDetailDto::getValue, DictDetailDto::getLabel));
}
@Override
public Map<String, String> queryDetailsByKey(String dictName) {
List<DictDetailDto> dtoList = getDictDetailDtos(dictName);
return dtoList.stream().collect(Collectors.toMap(DictDetailDto::getLabel, DictDetailDto::getValue));
}
/**
* 获取dictDetailDto列表
*
* @param dictName dict类型名称
* @return {@link List}<{@link DictDetailDto}>
*/
private List<DictDetailDto> getDictDetailDtos(String dictName) {
DictDetailQueryCriteria criteria =new DictDetailQueryCriteria();
criteria.setDictName(dictName);
List<DictDetail> list = baseMapper.selectDictDetailList(criteria.getLabel(),criteria.getDictName());
return generator.convert(list, DictDetailDto.class);
}
}

View File

@ -6,18 +6,18 @@
* 购买后可获得全部源代码禁止转卖分享上传到码云github等开源平台
* 一经发现盗用分享等行为将追究法律责任后果自负
*/
package co.yixiang.modules.system.service.impl;
package co.yixiang.modules.dict.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import co.yixiang.common.service.impl.BaseServiceImpl;
import co.yixiang.common.utils.QueryHelpPlus;
import co.yixiang.dozer.service.IGenerator;
import co.yixiang.modules.system.domain.Dict;
import co.yixiang.modules.system.service.DictService;
import co.yixiang.modules.system.service.dto.DictDetailDto;
import co.yixiang.modules.system.service.dto.DictDto;
import co.yixiang.modules.system.service.dto.DictQueryCriteria;
import co.yixiang.modules.system.service.mapper.DictMapper;
import co.yixiang.modules.dict.domain.Dict;
import co.yixiang.modules.dict.service.DictService;
import co.yixiang.modules.dict.service.dto.DictDetailDto;
import co.yixiang.modules.dict.service.dto.DictDto;
import co.yixiang.modules.dict.service.dto.DictQueryCriteria;
import co.yixiang.modules.dict.service.mapper.DictMapper;
import co.yixiang.utils.FileUtil;
import com.github.pagehelper.PageInfo;
import lombok.AllArgsConstructor;

View File

@ -6,10 +6,10 @@
* 购买后可获得全部源代码禁止转卖分享上传到码云github等开源平台
* 一经发现盗用分享等行为将追究法律责任后果自负
*/
package co.yixiang.modules.system.service.mapper;
package co.yixiang.modules.dict.service.mapper;
import co.yixiang.common.mapper.CoreMapper;
import co.yixiang.modules.system.domain.DictDetail;
import co.yixiang.modules.dict.domain.DictDetail;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
@ -23,6 +23,6 @@ import java.util.List;
@Repository
public interface DictDetailMapper extends CoreMapper<DictDetail> {
@Select("<script>SELECT d.* from dict_detail d LEFT JOIN dict t on d.dict_id = t.id where 1=1 <if test = \"label !=null\" > and d.label LIKE concat('%', #{label}, '%') </if> <if test = \"dictName != ''||dictName !=null\" > AND t.name = #{dictName} order by t.sort asc</if></script>")
@Select("<script>SELECT d.* from dict_detail d LEFT JOIN dict t on d.dict_id = t.id where 1=1 <if test = \"label !=null\" > and d.label LIKE concat('%', #{label}, '%') </if> <if test = \"dictName != ''||dictName !=null\" > AND t.name = #{dictName} order by d.sort asc</if></script>")
List<DictDetail> selectDictDetailList(@Param("label") String label,@Param("dictName") String dictName);
}

View File

@ -6,10 +6,10 @@
* 购买后可获得全部源代码禁止转卖分享上传到码云github等开源平台
* 一经发现盗用分享等行为将追究法律责任后果自负
*/
package co.yixiang.modules.system.service.mapper;
package co.yixiang.modules.dict.service.mapper;
import co.yixiang.common.mapper.CoreMapper;
import co.yixiang.modules.system.domain.Dict;
import co.yixiang.modules.dict.domain.Dict;
import org.springframework.stereotype.Repository;
/**