文档库--中英文切换
This commit is contained in:
+37
@@ -0,0 +1,37 @@
|
|||||||
|
package com.jero.common.constant.enums;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 中英文切换标识
|
||||||
|
* @description
|
||||||
|
* @date 2022/1/21 15:22
|
||||||
|
* @auth zhn
|
||||||
|
*/
|
||||||
|
public enum CutEnum {
|
||||||
|
CN("中文","cn"),
|
||||||
|
EN("英文","en");
|
||||||
|
|
||||||
|
|
||||||
|
String name;
|
||||||
|
String value;
|
||||||
|
|
||||||
|
private CutEnum(String name, String value) {
|
||||||
|
this.name = name;
|
||||||
|
this.value = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getValue() {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setValue(String value) {
|
||||||
|
this.value = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
+15
-10
@@ -184,8 +184,9 @@ public class BussDocumentLibraryEOController extends JeroController<BussDocument
|
|||||||
@AutoLog(value = "文档库信息表-查询条件")
|
@AutoLog(value = "文档库信息表-查询条件")
|
||||||
@ApiOperation(value="文档库信息表-查询条件", notes="文档库信息表-查询条件")
|
@ApiOperation(value="文档库信息表-查询条件", notes="文档库信息表-查询条件")
|
||||||
@GetMapping(value = "/queryCondition")
|
@GetMapping(value = "/queryCondition")
|
||||||
public Result<List<Map<String,Object>>> queryCondition(@RequestParam(name="flag",required=true) String flag) {
|
public Result<List<Map<String,Object>>> queryCondition(@RequestParam(name="flag",required=true) String flag,
|
||||||
List<Map<String,Object>> list = bussDocumentLibraryEOService.queryCondition(flag);
|
@RequestParam(name="cut",required=true) String cut) {
|
||||||
|
List<Map<String,Object>> list = bussDocumentLibraryEOService.queryCondition(flag,cut);
|
||||||
return Result.OK(list);
|
return Result.OK(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -197,8 +198,9 @@ public class BussDocumentLibraryEOController extends JeroController<BussDocument
|
|||||||
@AutoLog(value = "文档库信息表-列表表头")
|
@AutoLog(value = "文档库信息表-列表表头")
|
||||||
@ApiOperation(value="文档库信息表-列表表头", notes="文档库信息表-列表表头")
|
@ApiOperation(value="文档库信息表-列表表头", notes="文档库信息表-列表表头")
|
||||||
@GetMapping(value = "/getHeader")
|
@GetMapping(value = "/getHeader")
|
||||||
public Result<List<Map<String,Object>>> getHeader(@RequestParam(name="flag",required=true) String flag) {
|
public Result<List<Map<String,Object>>> getHeader(@RequestParam(name="flag",required=true) String flag,
|
||||||
List<Map<String,Object>> list = bussDocumentLibraryEOService.getHeader(flag);
|
@RequestParam(name="cut",required=true) String cut) {
|
||||||
|
List<Map<String,Object>> list = bussDocumentLibraryEOService.getHeader(flag,cut);
|
||||||
return Result.OK(list);
|
return Result.OK(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -210,8 +212,9 @@ public class BussDocumentLibraryEOController extends JeroController<BussDocument
|
|||||||
@AutoLog(value = "文档库信息表-新增表单")
|
@AutoLog(value = "文档库信息表-新增表单")
|
||||||
@ApiOperation(value="文档库信息表-新增表单", notes="文档库信息表-新增表单")
|
@ApiOperation(value="文档库信息表-新增表单", notes="文档库信息表-新增表单")
|
||||||
@GetMapping(value = "/getAddForm")
|
@GetMapping(value = "/getAddForm")
|
||||||
public Result<List<Map<String,Object>>> getAddForm(@RequestParam(name="flag",required=true) String flag) {
|
public Result<List<Map<String,Object>>> getAddForm(@RequestParam(name="flag",required=true) String flag,
|
||||||
List<Map<String, Object>> list = bussDocumentLibraryEOService.getAddForm(flag);
|
@RequestParam(name="cut",required=true) String cut) {
|
||||||
|
List<Map<String, Object>> list = bussDocumentLibraryEOService.getAddForm(flag,cut);
|
||||||
return Result.OK(list);
|
return Result.OK(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -223,8 +226,9 @@ public class BussDocumentLibraryEOController extends JeroController<BussDocument
|
|||||||
@AutoLog(value = "编辑数据查询")
|
@AutoLog(value = "编辑数据查询")
|
||||||
@ApiOperation(value="编辑数据查询", notes="编辑数据查询")
|
@ApiOperation(value="编辑数据查询", notes="编辑数据查询")
|
||||||
@GetMapping(value = "/getDocumentInfoById")
|
@GetMapping(value = "/getDocumentInfoById")
|
||||||
public Result<List<Map<String,Object>>> getDocumentInfoById(@RequestParam(name="id",required=true) String id) {
|
public Result<List<Map<String,Object>>> getDocumentInfoById(@RequestParam(name="id",required=true) String id,
|
||||||
List<Map<String, Object>> list = bussDocumentLibraryEOService.getDocumentInfoById(id);
|
@RequestParam(name="cut",required=true) String cut) {
|
||||||
|
List<Map<String, Object>> list = bussDocumentLibraryEOService.getDocumentInfoById(id,cut);
|
||||||
return Result.OK(list);
|
return Result.OK(list);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
@@ -235,8 +239,9 @@ public class BussDocumentLibraryEOController extends JeroController<BussDocument
|
|||||||
@AutoLog(value = "详情数据查询")
|
@AutoLog(value = "详情数据查询")
|
||||||
@ApiOperation(value="详情数据查询", notes="详情数据查询")
|
@ApiOperation(value="详情数据查询", notes="详情数据查询")
|
||||||
@GetMapping(value = "/getInfoById")
|
@GetMapping(value = "/getInfoById")
|
||||||
public Result<List<Map<String,Object>>> getInfoById(@RequestParam(name="id",required=true) String id) {
|
public Result<List<Map<String,Object>>> getInfoById(@RequestParam(name="id",required=true) String id,
|
||||||
List<Map<String, Object>> list = bussDocumentLibraryEOService.getInfoById(id);
|
@RequestParam(name="cut",required=true) String cut) {
|
||||||
|
List<Map<String, Object>> list = bussDocumentLibraryEOService.getInfoById(id,cut);
|
||||||
return Result.OK(list);
|
return Result.OK(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+6
-6
@@ -51,35 +51,35 @@ public interface IBussDocumentLibraryEOService extends IService<BussDocumentLibr
|
|||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<Map<String,Object>> queryCondition(String flag);
|
List<Map<String,Object>> queryCondition(String flag,String cut);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 列表表头
|
* 列表表头
|
||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<Map<String,Object>> getHeader(String flag);
|
List<Map<String,Object>> getHeader(String flag,String cut);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增表单
|
* 新增表单
|
||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<Map<String,Object>> getAddForm(String flag);
|
List<Map<String,Object>> getAddForm(String flag,String cut);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 详情,编辑数据查询
|
* 编辑数据查询
|
||||||
* @param id
|
* @param id
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<Map<String,Object>> getDocumentInfoById(String id);
|
List<Map<String,Object>> getDocumentInfoById(String id,String cut);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 详情数据查询
|
* 详情数据查询
|
||||||
* @param id
|
* @param id
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<Map<String,Object>> getInfoById(String id);
|
List<Map<String,Object>> getInfoById(String id,String cut);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增数据
|
* 新增数据
|
||||||
|
|||||||
+31
-17
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.jero.common.constant.enums.CutEnum;
|
||||||
import com.jero.common.constant.enums.ModuleEnum;
|
import com.jero.common.constant.enums.ModuleEnum;
|
||||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||||
import com.jero.common.system.vo.LoginUser;
|
import com.jero.common.system.vo.LoginUser;
|
||||||
@@ -124,7 +125,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<Map<String, Object>> queryCondition(String flag) {
|
public List<Map<String, Object>> queryCondition(String flag,String cut) {
|
||||||
List<OnlCgformField> fieldList = onlCgformFieldService.getFieldList(flag);
|
List<OnlCgformField> fieldList = onlCgformFieldService.getFieldList(flag);
|
||||||
if (fieldList.size() != 0) {
|
if (fieldList.size() != 0) {
|
||||||
//过滤出搜索条件()
|
//过滤出搜索条件()
|
||||||
@@ -136,8 +137,11 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
map.put("field_show_type", onlCgformField.getFieldShowType());//类型(判断是下拉还是输入框,等等)
|
map.put("field_show_type", onlCgformField.getFieldShowType());//类型(判断是下拉还是输入框,等等)
|
||||||
map.put("dict_field", onlCgformField.getDictField());
|
map.put("dict_field", onlCgformField.getDictField());
|
||||||
map.put("db_field_name", onlCgformField.getDbFieldName());//字段
|
map.put("db_field_name", onlCgformField.getDbFieldName());//字段
|
||||||
map.put("db_field_txt", onlCgformField.getDbFieldTxt());//字段中文名
|
if(CutEnum.CN.getValue().equals(cut)){
|
||||||
map.put("db_field_en_name", onlCgformField.getDbFieldEnName());//字段英文名
|
map.put("db_field_txt", onlCgformField.getDbFieldTxt());//字段中文名
|
||||||
|
}else{
|
||||||
|
map.put("db_field_txt", onlCgformField.getDbFieldEnName());//字段英文名
|
||||||
|
}
|
||||||
list.add(map);
|
list.add(map);
|
||||||
}
|
}
|
||||||
return list;
|
return list;
|
||||||
@@ -149,7 +153,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<Map<String, Object>> getHeader(String flag) {
|
public List<Map<String, Object>> getHeader(String flag,String cut) {
|
||||||
List<OnlCgformField> fieldList = onlCgformFieldService.getFieldList(flag);
|
List<OnlCgformField> fieldList = onlCgformFieldService.getFieldList(flag);
|
||||||
if (fieldList.size() != 0) {
|
if (fieldList.size() != 0) {
|
||||||
//过滤列表字段(is_show_list-->列表是否显示0否 1是)
|
//过滤列表字段(is_show_list-->列表是否显示0否 1是)
|
||||||
@@ -164,8 +168,11 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
map.put("sort", "true");//列表排序标识
|
map.put("sort", "true");//列表排序标识
|
||||||
}
|
}
|
||||||
map.put("db_field_name", onlCgformField.getDbFieldName());//字段
|
map.put("db_field_name", onlCgformField.getDbFieldName());//字段
|
||||||
map.put("db_field_txt", onlCgformField.getDbFieldTxt());//字段中文名
|
if(CutEnum.CN.getValue().equals(cut)){
|
||||||
map.put("db_field_en_name", onlCgformField.getDbFieldEnName());//字段英文名
|
map.put("db_field_txt", onlCgformField.getDbFieldTxt());//字段中文名
|
||||||
|
}else{
|
||||||
|
map.put("db_field_txt", onlCgformField.getDbFieldEnName());//字段英文名
|
||||||
|
}
|
||||||
list.add(map);
|
list.add(map);
|
||||||
}
|
}
|
||||||
return list;
|
return list;
|
||||||
@@ -177,7 +184,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<Map<String, Object>> getAddForm(String flag) {
|
public List<Map<String, Object>> getAddForm(String flag,String cut) {
|
||||||
OnlCgformArea onlCgformArea = new OnlCgformArea();
|
OnlCgformArea onlCgformArea = new OnlCgformArea();
|
||||||
onlCgformArea.setIsModel(ModuleEnum.DOCUMENT_LIBRARY.getValue());
|
onlCgformArea.setIsModel(ModuleEnum.DOCUMENT_LIBRARY.getValue());
|
||||||
//区域管理
|
//区域管理
|
||||||
@@ -194,7 +201,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
List<OnlCgformField> fieldListTemp = fieldList.stream().filter(e -> onlCgformAreaTemp.getId().equals(e.getShowArea())).collect(Collectors.toList());
|
List<OnlCgformField> fieldListTemp = fieldList.stream().filter(e -> onlCgformAreaTemp.getId().equals(e.getShowArea())).collect(Collectors.toList());
|
||||||
for (OnlCgformField onlCgformField : fieldListTemp) {
|
for (OnlCgformField onlCgformField : fieldListTemp) {
|
||||||
Map<String, Object> map = new HashMap<>();
|
Map<String, Object> map = new HashMap<>();
|
||||||
mapPut(map, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", onlCgformAreaTemp.getShowArea());
|
mapPut(cut,map, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", onlCgformAreaTemp.getShowArea());
|
||||||
map.put("field_must_input", onlCgformField.getFieldMustInput());//区域
|
map.put("field_must_input", onlCgformField.getFieldMustInput());//区域
|
||||||
result.add(map);
|
result.add(map);
|
||||||
}
|
}
|
||||||
@@ -209,7 +216,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<Map<String, Object>> getDocumentInfoById(String id) {
|
public List<Map<String, Object>> getDocumentInfoById(String id,String cut) {
|
||||||
LambdaQueryWrapper<BussDocumentLibraryEO> queryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<BussDocumentLibraryEO> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
queryWrapper.eq(BussDocumentLibraryEO::getId, id);
|
queryWrapper.eq(BussDocumentLibraryEO::getId, id);
|
||||||
//通过id查询数据
|
//通过id查询数据
|
||||||
@@ -224,7 +231,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<Map<String, Object>> getInfoById(String id) {
|
public List<Map<String, Object>> getInfoById(String id,String cut) {
|
||||||
//区域管理
|
//区域管理
|
||||||
List<OnlCgformArea> areaList = onlCgformAreaServiceImpl.queryList(new OnlCgformArea());
|
List<OnlCgformArea> areaList = onlCgformAreaServiceImpl.queryList(new OnlCgformArea());
|
||||||
//字段属性
|
//字段属性
|
||||||
@@ -288,14 +295,14 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
for (OSSFile fileInfo : fileInfos) {
|
for (OSSFile fileInfo : fileInfos) {
|
||||||
Map<String, Object> mapNew = new HashMap<>();
|
Map<String, Object> mapNew = new HashMap<>();
|
||||||
mapNew.put("value", fileInfo);
|
mapNew.put("value", fileInfo);
|
||||||
mapPut(mapNew, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", onlCgformAreaTemp.getShowArea());
|
mapPut(cut,mapNew, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", onlCgformAreaTemp.getShowArea());
|
||||||
resultTemp.add(mapNew);
|
resultTemp.add(mapNew);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
//单个文件处理
|
//单个文件处理
|
||||||
map.put("value", fileInfos.get(0));
|
map.put("value", fileInfos.get(0));
|
||||||
mapPut(map, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", onlCgformAreaTemp.getShowArea());
|
mapPut(cut,map, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", onlCgformAreaTemp.getShowArea());
|
||||||
resultTemp.add(map);
|
resultTemp.add(map);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -308,7 +315,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
mapPut(map, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", onlCgformAreaTemp.getShowArea());
|
mapPut(cut,map, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", onlCgformAreaTemp.getShowArea());
|
||||||
}
|
}
|
||||||
if (map.size() != 0) {
|
if (map.size() != 0) {
|
||||||
resultTemp.add(map);
|
resultTemp.add(map);
|
||||||
@@ -320,12 +327,19 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void mapPut(Map<String, Object> map, String field_show_type, String fieldShowType2, String dict_field, String dictField, String db_field_name, String dbFieldName2, String db_field_txt, String dbFieldTxt, String db_field_en_name, String dbFieldEnName, String area, String showArea) {
|
private void mapPut(String cut,Map<String, Object> map, String field_show_type, String fieldShowType2, String dict_field, String dictField, String db_field_name, String dbFieldName2, String db_field_txt, String dbFieldTxt, String db_field_en_name, String dbFieldEnName, String area, String showArea) {
|
||||||
map.put(field_show_type, fieldShowType2);//类型(判断是下拉还是输入框,等等)
|
map.put(field_show_type, fieldShowType2);//类型(判断是下拉还是输入框,等等)
|
||||||
map.put(dict_field, dictField);
|
map.put(dict_field, dictField);
|
||||||
map.put(db_field_name, dbFieldName2);//字段
|
map.put(db_field_name, dbFieldName2);//字段
|
||||||
map.put(db_field_txt, dbFieldTxt);//字段中文名
|
if(StringUtils.isNotBlank(cut)){
|
||||||
map.put(db_field_en_name, dbFieldEnName);//字段英文名
|
if(CutEnum.CN.equals(cut)){
|
||||||
|
map.put(db_field_txt, dbFieldTxt);//字段中文名
|
||||||
|
}else{
|
||||||
|
map.put(db_field_txt, dbFieldEnName);//字段中文名
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
map.put(db_field_txt, dbFieldTxt);//字段中文名
|
||||||
|
}
|
||||||
map.put(area, showArea);//区域
|
map.put(area, showArea);//区域
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -561,7 +575,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
StringBuilder conditionSb = new StringBuilder("where 1 = 1");
|
StringBuilder conditionSb = new StringBuilder("where 1 = 1");
|
||||||
|
|
||||||
//过滤查询条件字段类型使用
|
//过滤查询条件字段类型使用
|
||||||
List<Map<String, Object>> mapList = queryCondition("1");
|
List<Map<String, Object>> mapList = queryCondition("1",null);
|
||||||
|
|
||||||
//查询条件处理
|
//查询条件处理
|
||||||
for (Map.Entry<String, Object> entry : parameter.entrySet()) {
|
for (Map.Entry<String, Object> entry : parameter.entrySet()) {
|
||||||
|
|||||||
Reference in New Issue
Block a user