业务字典功能

This commit is contained in:
1378012178@qq.com 2025-03-12 16:51:03 +08:00
parent e1b5c45c43
commit 5d028dde38
7 changed files with 292 additions and 4 deletions

View File

@ -54,13 +54,13 @@ public class DictAspect {
*/
@Pointcut("(@within(org.springframework.web.bind.annotation.RestController) || " +
"@within(org.springframework.stereotype.Controller) || @annotation(org.jeecg.common.aspect.annotation.AutoDict)) " +
"&& execution(public org.jeecg.common.api.vo.Result org.jeecg..*.*(..))")
"&& execution(public org.jeecg.common.api.vo.Result org.jeecg..*.*(..)) com.nu..*.*(..))")
public void excudeService() {
}
@Around("excudeService()")
public Object doAround(ProceedingJoinPoint pjp) throws Throwable {
long time1=System.currentTimeMillis();
long time1=System.currentTimeMillis();
Object result = pjp.proceed();
long time2=System.currentTimeMillis();
log.debug("获取JSON数据 耗时:"+(time2-time1)+"ms");
@ -296,13 +296,13 @@ public class DictAspect {
log.debug("translateDictFromTableByKeys.dictCode:" + dictCode);
log.debug("translateDictFromTableByKeys.values:" + values);
//update-begin---author:chenrui ---date:20231221 for[issues/#5643]解决分布式下表字典跨库无法查询问题------------
//update-begin---author:wangshuai---date:2024-01-09---for:微服务下为空报错没有参数需要传递空字符串---
if(null == dataSource){
dataSource = "";
}
//update-end---author:wangshuai---date:2024-01-09---for:微服务下为空报错没有参数需要传递空字符串---
List<DictModel> texts = commonApi.translateDictFromTableByKeys(table, text, code, values, dataSource);
//update-end---author:chenrui ---date:20231221 for[issues/#5643]解决分布式下表字典跨库无法查询问题------------
log.debug("translateDictFromTableByKeys.result:" + texts);

View File

@ -0,0 +1,156 @@
package com.nu.modules.dictType.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nu.modules.dictType.entity.DictTypeItem;
import com.nu.modules.dictType.service.IDictTypeItemService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.system.query.QueryGenerator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
/**
* @Description: dict_type_item
* @Author: jeecg-boot
* @Date: 2025-03-12
* @Version: V1.0
*/
@Api(tags="dict_type_item")
@RestController
@RequestMapping("/dictType/dictTypeItem")
@Slf4j
public class DictTypeItemController extends JeecgController<DictTypeItem, IDictTypeItemService> {
@Autowired
private IDictTypeItemService dictTypeItemService;
/**
* 分页列表查询
*
* @param dictTypeItem
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "dict_type_item-分页列表查询")
@ApiOperation(value="dict_type_item-分页列表查询", notes="dict_type_item-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<DictTypeItem>> queryPageList(DictTypeItem dictTypeItem,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<DictTypeItem> queryWrapper = QueryGenerator.initQueryWrapper(dictTypeItem, req.getParameterMap());
Page<DictTypeItem> page = new Page<DictTypeItem>(pageNo, pageSize);
IPage<DictTypeItem> pageList = dictTypeItemService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*
* @param dictTypeItem
* @return
*/
@AutoLog(value = "dict_type_item-添加")
@ApiOperation(value="dict_type_item-添加", notes="dict_type_item-添加")
@PostMapping(value = "/add")
public Result<String> add(@RequestBody DictTypeItem dictTypeItem) {
dictTypeItemService.save(dictTypeItem);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param dictTypeItem
* @return
*/
@AutoLog(value = "dict_type_item-编辑")
@ApiOperation(value="dict_type_item-编辑", notes="dict_type_item-编辑")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<String> edit(@RequestBody DictTypeItem dictTypeItem) {
dictTypeItemService.updateById(dictTypeItem);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "dict_type_item-通过id删除")
@ApiOperation(value="dict_type_item-通过id删除", notes="dict_type_item-通过id删除")
@DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name="id",required=true) String id) {
dictTypeItemService.removeById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "dict_type_item-批量删除")
@ApiOperation(value="dict_type_item-批量删除", notes="dict_type_item-批量删除")
@DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.dictTypeItemService.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "dict_type_item-通过id查询")
@ApiOperation(value="dict_type_item-通过id查询", notes="dict_type_item-通过id查询")
@GetMapping(value = "/queryById")
public Result<DictTypeItem> queryById(@RequestParam(name="id",required=true) String id) {
DictTypeItem dictTypeItem = dictTypeItemService.getById(id);
if(dictTypeItem==null) {
return Result.error("未找到对应数据");
}
return Result.OK(dictTypeItem);
}
/**
* 导出excel
*
* @param request
* @param dictTypeItem
*/
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, DictTypeItem dictTypeItem) {
return super.exportXls(request, dictTypeItem, DictTypeItem.class, "dict_type_item");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, DictTypeItem.class);
}
}

View File

@ -0,0 +1,81 @@
package com.nu.modules.dictType.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import org.jeecg.common.constant.ProvinceCityArea;
import org.jeecg.common.util.SpringContextUtils;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @Description: dict_type_item
* @Author: jeecg-boot
* @Date: 2025-03-12
* @Version: V1.0
*/
@Data
@TableName("dict_type_item")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="dict_type_item对象", description="dict_type_item")
public class DictTypeItem implements Serializable {
private static final long serialVersionUID = 1L;
/**id*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "id")
private String id;
/**字典id*/
@Excel(name = "字典id", width = 15)
@ApiModelProperty(value = "字典id")
private String dictId;
/**字典项文本*/
@Excel(name = "字典项文本", width = 15)
@ApiModelProperty(value = "字典项文本")
private String itemText;
/**字典项值*/
@Excel(name = "字典项值", width = 15)
@ApiModelProperty(value = "字典项值")
private String itemValue;
/**描述*/
@Excel(name = "描述", width = 15)
@ApiModelProperty(value = "描述")
private String description;
/**排序*/
@Excel(name = "排序", width = 15)
@ApiModelProperty(value = "排序")
private Integer sortOrder;
/**状态1启用 0不启用*/
@Excel(name = "状态1启用 0不启用", width = 15)
@ApiModelProperty(value = "状态1启用 0不启用")
private Integer status;
/**创建人*/
@ApiModelProperty(value = "创建人")
private String createBy;
/**创建时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
private String updateBy;
/**更新时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新时间")
private Date updateTime;
}

View File

@ -0,0 +1,14 @@
package com.nu.modules.dictType.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nu.modules.dictType.entity.DictTypeItem;
/**
* @Description: dict_type_item
* @Author: jeecg-boot
* @Date: 2025-03-12
* @Version: V1.0
*/
public interface DictTypeItemMapper extends BaseMapper<DictTypeItem> {
}

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nu.modules.demo.dictType.mapper.DictTypeItemMapper">
</mapper>

View File

@ -0,0 +1,14 @@
package com.nu.modules.dictType.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nu.modules.dictType.entity.DictTypeItem;
/**
* @Description: dict_type_item
* @Author: jeecg-boot
* @Date: 2025-03-12
* @Version: V1.0
*/
public interface IDictTypeItemService extends IService<DictTypeItem> {
}

View File

@ -0,0 +1,18 @@
package com.nu.modules.dictType.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.nu.modules.dictType.entity.DictTypeItem;
import com.nu.modules.dictType.mapper.DictTypeItemMapper;
import com.nu.modules.dictType.service.IDictTypeItemService;
import org.springframework.stereotype.Service;
/**
* @Description: dict_type_item
* @Author: jeecg-boot
* @Date: 2025-03-12
* @Version: V1.0
*/
@Service
public class DictTypeItemServiceImpl extends ServiceImpl<DictTypeItemMapper, DictTypeItem> implements IDictTypeItemService {
}