Browse Source

字典表接口

master
songguoqiang 2 years ago
parent
commit
427bb87e27
  1. 31
      win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/DictTypeController.java
  2. 5
      win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/type/DictTypeSimpleRespVO.java
  3. 7
      win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/dict/DictTypeMapper.java
  4. 9
      win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dict/DictTypeService.java
  5. 6
      win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dict/DictTypeServiceImpl.java

31
win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/DictTypeController.java

@ -1,13 +1,20 @@
package com.win.module.system.controller.dict;
import com.win.framework.common.enums.CommonStatusEnum;
import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.controller.dict.vo.data.DictDataExcelVO;
import com.win.module.system.controller.dict.vo.data.DictDataExportReqVO;
import com.win.module.system.controller.dict.vo.type.*;
import com.win.module.system.convert.dict.DictDataConvert;
import com.win.module.system.convert.dict.DictTypeConvert;
import com.win.module.system.dal.dataobject.dict.DictDataDO;
import com.win.module.system.dal.dataobject.dict.DictTypeDO;
import com.win.module.system.service.dict.DictDataService;
import com.win.module.system.service.dict.DictTypeService;
import io.swagger.v3.core.util.Json;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
@ -19,7 +26,9 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import static com.win.framework.common.pojo.CommonResult.success;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@ -33,6 +42,9 @@ public class DictTypeController {
@Resource
private DictTypeService dictTypeService;
@Resource
private DictDataService dictDataService;
@PostMapping("/create")
@Operation(summary = "创建字典类型")
@PreAuthorize("@ss.hasPermission('system:dict:create')")
@ -92,4 +104,23 @@ public class DictTypeController {
ExcelUtils.write(response, "字典类型.xls", "类型列表", DictTypeExcelVO.class, data);
}
@Operation(summary = "/根据类型查询展示类型下所有详细列表")
@PostMapping("/getDictByTypes")
@PreAuthorize("@ss.hasPermission('system:dict:query')")
public CommonResult<List<DictTypeSimpleRespVO>> getByTypes(@RequestBody Map<String, List<String>> map) {
System.out.println(Json.pretty(map));
List<String> types = map.get("types");
List<DictTypeDO> dictByTypes = dictTypeService.getDictByTypes(types, Collections.singleton(CommonStatusEnum.ENABLE.getStatus()));
List<DictTypeSimpleRespVO> result = DictTypeConvert.INSTANCE.convertList(dictByTypes);
for (DictTypeSimpleRespVO en:result){
DictDataExportReqVO dictDataExportReqVO = new DictDataExportReqVO();
dictDataExportReqVO.setDictType(en.getType());
dictDataExportReqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
List<DictDataDO> dictDataList = dictDataService.getDictDataList(dictDataExportReqVO);
List<DictDataExcelVO> dictDataExcelVOS = DictDataConvert.INSTANCE.convertList02(dictDataList);
en.setSubList(dictDataExcelVOS);
}
return success(result);
}
}

5
win-module-system/win-module-system-biz/src/main/java/com/win/module/system/controller/dict/vo/type/DictTypeSimpleRespVO.java

@ -5,6 +5,8 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Schema(description = "管理后台 - 字典类型精简信息 Response VO")
@Data
@NoArgsConstructor
@ -20,4 +22,7 @@ public class DictTypeSimpleRespVO {
@Schema(description = "字典类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "sys_common_sex")
private String type;
@Schema(description = "字典表子表system_dict_data详细列表", requiredMode = Schema.RequiredMode.REQUIRED)
private List subList;
}

7
win-module-system/win-module-system-biz/src/main/java/com/win/module/system/dal/mysql/dict/DictTypeMapper.java

@ -11,6 +11,7 @@ import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
import java.time.LocalDateTime;
import java.util.Collection;
import java.util.List;
@Mapper
@ -45,4 +46,10 @@ public interface DictTypeMapper extends BaseMapperX<DictTypeDO> {
@Update("UPDATE system_dict_type SET deleted = 1, deleted_time = #{deletedTime} WHERE id = #{id}")
void updateToDelete(@Param("id") Long id, @Param("deletedTime") LocalDateTime deletedTime);
default List<DictTypeDO> selectList(Collection<String> types, Collection<Integer> statuses) {
return selectList(new LambdaQueryWrapperX<DictTypeDO>()
.inIfPresent(DictTypeDO::getType, types)
.inIfPresent(DictTypeDO::getStatus, statuses));
}
}

9
win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dict/DictTypeService.java

@ -6,7 +6,9 @@ import com.win.module.system.controller.dict.vo.type.DictTypeExportReqVO;
import com.win.module.system.controller.dict.vo.type.DictTypePageReqVO;
import com.win.module.system.controller.dict.vo.type.DictTypeUpdateReqVO;
import com.win.module.system.dal.dataobject.dict.DictTypeDO;
import org.springframework.lang.Nullable;
import java.util.Collection;
import java.util.List;
/**
@ -77,4 +79,11 @@ public interface DictTypeService {
*/
List<DictTypeDO> getDictTypeList();
/**
* 获得符合字典类型组合条件的列表
* @param types 字典类型数组如果为空不进行筛选
* @return 字典类型列表详细
*/
List<DictTypeDO> getDictByTypes(@Nullable Collection<String> types, @Nullable Collection<Integer> statuses);
}

6
win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dict/DictTypeServiceImpl.java

@ -15,6 +15,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.Collection;
import java.util.List;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
@ -93,6 +94,11 @@ public class DictTypeServiceImpl implements DictTypeService {
return dictTypeMapper.selectList();
}
@Override
public List<DictTypeDO> getDictByTypes(Collection<String> types, Collection<Integer> statuses) {
return dictTypeMapper.selectList(types,statuses);
}
private void validateDictTypeForCreateOrUpdate(Long id, String name, String type) {
// 校验自己存在
validateDictTypeExists(id);

Loading…
Cancel
Save