字典表

This commit is contained in:
gmhao 2023-12-11 12:53:49 +08:00
parent b86632443c
commit f56f591417
6 changed files with 622 additions and 0 deletions

View File

@ -0,0 +1,177 @@
package com.bonus.sgzb.base.api.domain;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.bonus.sgzb.common.core.annotation.Excel;
import com.bonus.sgzb.common.core.annotation.Excel.ColumnType;
import com.bonus.sgzb.common.core.constant.UserConstants;
import com.bonus.sgzb.common.core.web.domain.BaseEntity;
/**
* 字典数据表 sys_dict_data
*
* @author ruoyi
*/
public class SysDictData extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 字典编码 */
@Excel(name = "字典编码", cellType = ColumnType.NUMERIC)
private Long dictCode;
/** 字典排序 */
@Excel(name = "字典排序", cellType = ColumnType.NUMERIC)
private Long dictSort;
/** 字典标签 */
@Excel(name = "字典标签")
private String dictLabel;
/** 字典键值 */
@Excel(name = "字典键值")
private String dictValue;
/** 字典类型 */
@Excel(name = "字典类型")
private String dictType;
/** 样式属性(其他样式扩展) */
private String cssClass;
/** 表格字典样式 */
private String listClass;
/** 是否默认Y是 N否 */
@Excel(name = "是否默认", readConverterExp = "Y=是,N=否")
private String isDefault;
/** 状态0正常 1停用 */
@Excel(name = "状态", readConverterExp = "0=正常,1=停用")
private String status;
public Long getDictCode()
{
return dictCode;
}
public void setDictCode(Long dictCode)
{
this.dictCode = dictCode;
}
public Long getDictSort()
{
return dictSort;
}
public void setDictSort(Long dictSort)
{
this.dictSort = dictSort;
}
@NotBlank(message = "字典标签不能为空")
@Size(min = 0, max = 100, message = "字典标签长度不能超过100个字符")
public String getDictLabel()
{
return dictLabel;
}
public void setDictLabel(String dictLabel)
{
this.dictLabel = dictLabel;
}
@NotBlank(message = "字典键值不能为空")
@Size(min = 0, max = 100, message = "字典键值长度不能超过100个字符")
public String getDictValue()
{
return dictValue;
}
public void setDictValue(String dictValue)
{
this.dictValue = dictValue;
}
@NotBlank(message = "字典类型不能为空")
@Size(min = 0, max = 100, message = "字典类型长度不能超过100个字符")
public String getDictType()
{
return dictType;
}
public void setDictType(String dictType)
{
this.dictType = dictType;
}
@Size(min = 0, max = 100, message = "样式属性长度不能超过100个字符")
public String getCssClass()
{
return cssClass;
}
public void setCssClass(String cssClass)
{
this.cssClass = cssClass;
}
public String getListClass()
{
return listClass;
}
public void setListClass(String listClass)
{
this.listClass = listClass;
}
public boolean getDefault()
{
return UserConstants.YES.equals(this.isDefault);
}
public String getIsDefault()
{
return isDefault;
}
public void setIsDefault(String isDefault)
{
this.isDefault = isDefault;
}
public String getStatus()
{
return status;
}
public void setStatus(String status)
{
this.status = status;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("dictCode", getDictCode())
.append("dictSort", getDictSort())
.append("dictLabel", getDictLabel())
.append("dictValue", getDictValue())
.append("dictType", getDictType())
.append("cssClass", getCssClass())
.append("listClass", getListClass())
.append("isDefault", getIsDefault())
.append("status", getStatus())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.toString();
}
}

View File

@ -0,0 +1,107 @@
package com.bonus.sgzb.base.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.bonus.sgzb.base.api.domain.SysDictData;
import com.bonus.sgzb.base.service.ISysDictDataService;
import com.bonus.sgzb.common.core.utils.poi.ExcelUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.bonus.sgzb.common.log.annotation.Log;
import com.bonus.sgzb.common.log.enums.BusinessType;
import com.bonus.sgzb.common.core.web.controller.BaseController;
import com.bonus.sgzb.common.core.web.domain.AjaxResult;
import com.bonus.sgzb.common.core.web.page.TableDataInfo;
/**
* 字典数据Controller
*
* @author bonus
* @date 2023-12-10
*/
@Api
@RestController
@RequestMapping("/sysDictData")
public class SysDictDataController extends BaseController
{
@Autowired
private ISysDictDataService sysDictDataService;
/**
* 查询字典数据列表
*/
@ApiOperation(value = "查询字典数据列表")
@GetMapping("/list")
public TableDataInfo list(SysDictData sysDictData)
{
startPage();
List<SysDictData> list = sysDictDataService.selectSysDictDataList(sysDictData);
return getDataTable(list);
}
/**
* 导出字典数据列表
*/
@ApiOperation(value = "导出字典数据列表")
@Log(title = "字典数据", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, SysDictData sysDictData)
{
List<SysDictData> list = sysDictDataService.selectSysDictDataList(sysDictData);
ExcelUtil<SysDictData> util = new ExcelUtil<SysDictData>(SysDictData.class);
util.exportExcel(response, list, "字典数据数据");
}
/**
* 获取字典数据详细信息
*/
@ApiOperation(value = "获取字典数据详细信息")
@GetMapping(value = "/{dictCode}")
public AjaxResult getInfo(@PathVariable("dictCode") Long dictCode)
{
return success(sysDictDataService.selectSysDictDataByDictCode(dictCode));
}
/**
* 新增字典数据
*/
@ApiOperation(value = "新增字典数据")
@Log(title = "字典数据", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody SysDictData sysDictData)
{
return toAjax(sysDictDataService.insertSysDictData(sysDictData));
}
/**
* 修改字典数据
*/
@ApiOperation(value = "修改字典数据")
@Log(title = "字典数据", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody SysDictData sysDictData)
{
return toAjax(sysDictDataService.updateSysDictData(sysDictData));
}
/**
* 删除字典数据
*/
@ApiOperation(value = "删除字典数据")
@Log(title = "字典数据", businessType = BusinessType.DELETE)
@DeleteMapping("/{dictCodes}")
public AjaxResult remove(@PathVariable Long[] dictCodes)
{
return toAjax(sysDictDataService.deleteSysDictDataByDictCodes(dictCodes));
}
}

View File

@ -0,0 +1,65 @@
package com.bonus.sgzb.base.mapper;
import com.bonus.sgzb.base.api.domain.SysDictData;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 字典数据Mapper接口
*
* @author GMH
* @date 2023-12-10
*/
@Mapper
public interface SysDictDataMapper
{
/**
* 查询字典数据
*
* @param dictCode 字典数据主键
* @return 字典数据
*/
public SysDictData selectSysDictDataByDictCode(Long dictCode);
/**
* 查询字典数据列表
*
* @param sysDictData 字典数据
* @return 字典数据集合
*/
public List<SysDictData> selectSysDictDataList(SysDictData sysDictData);
/**
* 新增字典数据
*
* @param sysDictData 字典数据
* @return 结果
*/
public int insertSysDictData(SysDictData sysDictData);
/**
* 修改字典数据
*
* @param sysDictData 字典数据
* @return 结果
*/
public int updateSysDictData(SysDictData sysDictData);
/**
* 删除字典数据
*
* @param dictCode 字典数据主键
* @return 结果
*/
public int deleteSysDictDataByDictCode(Long dictCode);
/**
* 批量删除字典数据
*
* @param dictCodes 需要删除的数据主键集合
* @return 结果
*/
public int deleteSysDictDataByDictCodes(Long[] dictCodes);
}

View File

@ -0,0 +1,65 @@
package com.bonus.sgzb.base.service;
import com.bonus.sgzb.base.api.domain.SysDictData;
import java.util.List;
/**
* 字典数据Service接口
*
* @author bonus
* @date 2023-12-10
*/
public interface ISysDictDataService
{
/**
* 查询字典数据
*
* @param dictCode 字典数据主键
* @return 字典数据
*/
public SysDictData selectSysDictDataByDictCode(Long dictCode);
/**
* 查询字典数据列表
*
* @param sysDictData 字典数据
* @return 字典数据集合
*/
public List<SysDictData> selectSysDictDataList(SysDictData sysDictData);
/**
* 新增字典数据
*
* @param sysDictData 字典数据
* @return 结果
*/
public int insertSysDictData(SysDictData sysDictData);
/**
* 修改字典数据
*
* @param sysDictData 字典数据
* @return 结果
*/
public int updateSysDictData(SysDictData sysDictData);
/**
* 批量删除字典数据
*
* @param dictCodes 需要删除的字典数据主键集合
* @return 结果
*/
public int deleteSysDictDataByDictCodes(Long[] dictCodes);
/**
* 删除字典数据信息
*
* @param dictCode 字典数据主键
* @return 结果
*/
public int deleteSysDictDataByDictCode(Long dictCode);
}

View File

@ -0,0 +1,97 @@
package com.bonus.sgzb.base.service.impl;
import java.util.List;
import com.bonus.sgzb.base.api.domain.SysDictData;
import com.bonus.sgzb.base.mapper.SysDictDataMapper;
import com.bonus.sgzb.base.service.ISysDictDataService;
import com.bonus.sgzb.common.core.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* 字典数据Service业务层处理
*
* @author bonus
* @date 2023-12-10
*/
@Service
public class SysDictDataServiceImpl implements ISysDictDataService
{
@Autowired
private SysDictDataMapper sysDictDataMapper;
/**
* 查询字典数据
*
* @param dictCode 字典数据主键
* @return 字典数据
*/
@Override
public SysDictData selectSysDictDataByDictCode(Long dictCode)
{
return sysDictDataMapper.selectSysDictDataByDictCode(dictCode);
}
/**
* 查询字典数据列表
*
* @param sysDictData 字典数据
* @return 字典数据
*/
@Override
public List<SysDictData> selectSysDictDataList(SysDictData sysDictData)
{
return sysDictDataMapper.selectSysDictDataList(sysDictData);
}
/**
* 新增字典数据
*
* @param sysDictData 字典数据
* @return 结果
*/
@Override
public int insertSysDictData(SysDictData sysDictData)
{
sysDictData.setCreateTime(DateUtils.getNowDate());
return sysDictDataMapper.insertSysDictData(sysDictData);
}
/**
* 修改字典数据
*
* @param sysDictData 字典数据
* @return 结果
*/
@Override
public int updateSysDictData(SysDictData sysDictData)
{
sysDictData.setUpdateTime(DateUtils.getNowDate());
return sysDictDataMapper.updateSysDictData(sysDictData);
}
/**
* 批量删除字典数据
*
* @param dictCodes 需要删除的字典数据主键
* @return 结果
*/
@Override
public int deleteSysDictDataByDictCodes(Long[] dictCodes)
{
return sysDictDataMapper.deleteSysDictDataByDictCodes(dictCodes);
}
/**
* 删除字典数据信息
*
* @param dictCode 字典数据主键
* @return 结果
*/
@Override
public int deleteSysDictDataByDictCode(Long dictCode)
{
return sysDictDataMapper.deleteSysDictDataByDictCode(dictCode);
}
}

View File

@ -0,0 +1,111 @@
<?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.bonus.sgzb.base.mapper.SysDictDataMapper">
<resultMap type="com.bonus.sgzb.base.api.domain.SysDictData" id="SysDictDataResult">
<result property="dictCode" column="dict_code" />
<result property="dictSort" column="dict_sort" />
<result property="dictLabel" column="dict_label" />
<result property="dictValue" column="dict_value" />
<result property="dictType" column="dict_type" />
<result property="cssClass" column="css_class" />
<result property="listClass" column="list_class" />
<result property="isDefault" column="is_default" />
<result property="status" column="status" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="remark" column="remark" />
</resultMap>
<sql id="selectSysDictDataVo">
select dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark from sys_dict_data
</sql>
<select id="selectSysDictDataList" parameterType="com.bonus.sgzb.base.api.domain.SysDictData" resultMap="SysDictDataResult">
<include refid="selectSysDictDataVo"/>
<where>
<if test="dictSort != null "> and dict_sort = #{dictSort}</if>
<if test="dictLabel != null and dictLabel != ''"> and dict_label = #{dictLabel}</if>
<if test="dictValue != null and dictValue != ''"> and dict_value = #{dictValue}</if>
<if test="dictType != null and dictType != ''"> and dict_type = #{dictType}</if>
<if test="cssClass != null and cssClass != ''"> and css_class = #{cssClass}</if>
<if test="listClass != null and listClass != ''"> and list_class = #{listClass}</if>
<if test="isDefault != null and isDefault != ''"> and is_default = #{isDefault}</if>
<if test="status != null and status != ''"> and status = #{status}</if>
</where>
</select>
<select id="selectSysDictDataByDictCode" parameterType="Long" resultMap="SysDictDataResult">
<include refid="selectSysDictDataVo"/>
where dict_code = #{dictCode}
</select>
<insert id="insertSysDictData" parameterType="com.bonus.sgzb.base.api.domain.SysDictData" useGeneratedKeys="true" keyProperty="dictCode">
insert into sys_dict_data
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="dictSort != null">dict_sort,</if>
<if test="dictLabel != null">dict_label,</if>
<if test="dictValue != null">dict_value,</if>
<if test="dictType != null">dict_type,</if>
<if test="cssClass != null">css_class,</if>
<if test="listClass != null">list_class,</if>
<if test="isDefault != null">is_default,</if>
<if test="status != null">status,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="remark != null">remark,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="dictSort != null">#{dictSort},</if>
<if test="dictLabel != null">#{dictLabel},</if>
<if test="dictValue != null">#{dictValue},</if>
<if test="dictType != null">#{dictType},</if>
<if test="cssClass != null">#{cssClass},</if>
<if test="listClass != null">#{listClass},</if>
<if test="isDefault != null">#{isDefault},</if>
<if test="status != null">#{status},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="remark != null">#{remark},</if>
</trim>
</insert>
<update id="updateSysDictData" parameterType="com.bonus.sgzb.base.api.domain.SysDictData">
update sys_dict_data
<trim prefix="SET" suffixOverrides=",">
<if test="dictSort != null">dict_sort = #{dictSort},</if>
<if test="dictLabel != null">dict_label = #{dictLabel},</if>
<if test="dictValue != null">dict_value = #{dictValue},</if>
<if test="dictType != null">dict_type = #{dictType},</if>
<if test="cssClass != null">css_class = #{cssClass},</if>
<if test="listClass != null">list_class = #{listClass},</if>
<if test="isDefault != null">is_default = #{isDefault},</if>
<if test="status != null">status = #{status},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="remark != null">remark = #{remark},</if>
</trim>
where dict_code = #{dictCode}
</update>
<delete id="deleteSysDictDataByDictCode" parameterType="Long">
delete from sys_dict_data where dict_code = #{dictCode}
</delete>
<delete id="deleteSysDictDataByDictCodes" parameterType="String">
delete from sys_dict_data where dict_code in
<foreach item="dictCode" collection="array" open="(" separator="," close=")">
#{dictCode}
</foreach>
</delete>
</mapper>