标签内容修改
This commit is contained in:
+43
-6
@@ -344,12 +344,17 @@ public class SysDictController {
|
||||
Result<SysDict> result = new Result<SysDict>();
|
||||
try {
|
||||
if(StringUtils.isEmpty(sysDict.getDictName())){
|
||||
sysDict.setDictCode(sysDict.getDictName());
|
||||
}else {
|
||||
sysDict.setCreateTime(new Date());
|
||||
sysDict.setDelFlag(CommonConstant.DEL_FLAG_0);
|
||||
String pinYin = sysDictService.getAllPinyin(sysDict.getDictName());
|
||||
sysDict.setDictCode(pinYin);
|
||||
|
||||
sysDictService.save(sysDict);
|
||||
}else {
|
||||
Integer count = sysDictService.queryExitData(sysDict);
|
||||
if (count > 0) {
|
||||
sysDict.setDelFlag(CommonConstant.DEL_FLAG_0);
|
||||
} else {
|
||||
sysDict.setCreateTime(new Date());
|
||||
sysDictService.save(sysDict);
|
||||
}
|
||||
result.success("保存成功!");
|
||||
//添加成功后需要刷新缓存
|
||||
sysDictService.refreshCache();
|
||||
@@ -362,6 +367,7 @@ public class SysDictController {
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @功能:编辑
|
||||
* @param sysDict
|
||||
@@ -377,7 +383,7 @@ public class SysDictController {
|
||||
result.error500("未找到对应实体");
|
||||
}else {
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(String.valueOf(sysDict.getIsReadOnly()))) {
|
||||
if (sysDict.getIsReadOnly() == 1) {
|
||||
if (FixedFieldEnum.FIXED_FIELD_ENUM.getValue().equals(sysDict.getIsReadOnly())) {
|
||||
result.error500("固定字段,不可删除");
|
||||
}else{
|
||||
sysDict.setUpdateTime(new Date());
|
||||
@@ -420,6 +426,37 @@ public class SysDictController {
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @功能:删除
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value = "字典控制器-逻辑删除字典", notes = "字典控制器-逻辑删除字典")
|
||||
@RequiresRoles({"admin"})
|
||||
@DeleteMapping(value = "/logicDelete")
|
||||
@CacheEvict(value=CacheConstant.SYS_DICT_CACHE, allEntries=true)
|
||||
public Result<SysDict> logicDelete(@RequestParam(name="id",required=true) String id) {
|
||||
|
||||
Result<SysDict> result = new Result<SysDict>();
|
||||
try{
|
||||
SysDict sysDict = sysDictService.queryById(id);
|
||||
if (StringUtils.isNotBlank(String.valueOf(sysDict.getIsReadOnly()))) {
|
||||
if (FixedFieldEnum.FIXED_FIELD_ENUM.getValue().equals(sysDict.getIsReadOnly())) {
|
||||
result.error500("固定字段,不可删除");
|
||||
} else {
|
||||
sysDict.setDelFlag(CommonConstant.DEL_FLAG_1);
|
||||
result.success("删除成功!");
|
||||
//添加成功后需要刷新缓存
|
||||
sysDictService.refreshCache();
|
||||
}
|
||||
}
|
||||
}catch (Exception e) {
|
||||
log.error(e.getMessage(),e);
|
||||
result.error500("删除失败");
|
||||
}
|
||||
return result;
|
||||
}
|
||||
/**
|
||||
* @功能:批量删除
|
||||
* @param ids
|
||||
|
||||
+30
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.constant.CacheConstant;
|
||||
import com.jero.common.constant.CommonConstant;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.modules.enums.FixedFieldEnum;
|
||||
import com.jero.modules.system.entity.SysDictItem;
|
||||
@@ -73,6 +74,7 @@ public class SysDictItemController {
|
||||
Result<SysDictItem> result = new Result<SysDictItem>();
|
||||
try {
|
||||
sysDictItem.setCreateTime(new Date());
|
||||
sysDictItem.setDelFlag(CommonConstant.DEL_FLAG_0);
|
||||
sysDictItemService.save(sysDictItem);
|
||||
result.success("保存成功!");
|
||||
} catch (Exception e) {
|
||||
@@ -143,6 +145,34 @@ public class SysDictItemController {
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @功能:逻辑删除字典数据
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
//@RequiresRoles({"admin"})
|
||||
@RequiresPermissions("sys:dict:list")
|
||||
@RequestMapping(value = "/logicDelete", method = RequestMethod.DELETE)
|
||||
@CacheEvict(value=CacheConstant.SYS_DICT_CACHE, allEntries=true)
|
||||
public Result<SysDictItem> logicDelete(@RequestParam(name="id",required=true) String id) {
|
||||
Result<SysDictItem> result = new Result<SysDictItem>();
|
||||
SysDictItem joinSystem = sysDictItemService.getById(id);
|
||||
if (joinSystem == null) {
|
||||
result.error500("未找到对应实体");
|
||||
}else {
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(String.valueOf(joinSystem.getIsReadOnly()))) {
|
||||
if (FixedFieldEnum.FIXED_FIELD_ENUM.getValue().equals(joinSystem.getIsReadOnly())) {
|
||||
result.error500("固定字段,不可删除");
|
||||
}
|
||||
else {
|
||||
joinSystem.setDelFlag(CommonConstant.DEL_FLAG_1);
|
||||
result.success("删除成功!");
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @功能:批量删除字典数据
|
||||
* @param ids
|
||||
|
||||
+2
-1
@@ -91,8 +91,9 @@ public class SysDict implements Serializable {
|
||||
/**
|
||||
* 是否为标签内容-数据字典(1是 0否)
|
||||
*/
|
||||
@Excel(name = "是否为标签内容-数据字典(1是 0否)", width = 15, dictTable = "onl_cgform_field",dicText = "is_tag_dict", dicCode = "is_tag_dict")
|
||||
@Excel(name = "是否为标签内容-数据字典(1是 0否)", width = 15, dicText = "is_tag_dict", dicCode = "is_tag_dict")
|
||||
@Dict(dictTable = "onl_cgform_field", dicText = "is_tag_dict", dicCode = "is_tag_dict")
|
||||
@ApiModelProperty(value = "是否为标签内容-数据字典(1是 0否)")
|
||||
private java.lang.Integer isTagDict;
|
||||
|
||||
/**
|
||||
|
||||
+8
-2
@@ -3,6 +3,7 @@ package com.jero.modules.system.entity;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
@@ -47,7 +48,7 @@ public class SysDictItem implements Serializable {
|
||||
private String itemText;
|
||||
|
||||
/**
|
||||
* 字典项值
|
||||
* 字典项值-英文名
|
||||
*/
|
||||
@Excel(name = "字典项值", width = 30)
|
||||
private String itemValue;
|
||||
@@ -82,7 +83,9 @@ public class SysDictItem implements Serializable {
|
||||
private Date updateTime;
|
||||
|
||||
/**是否为标签内容-数据字典(1是 0否)*/
|
||||
@Excel(name = "是否为标签内容", width = 15)
|
||||
@Excel(name = "是否为标签内容-数据字典(1是 0否)", width = 15, dicText = "is_tag_dict", dicCode = "is_tag_dict")
|
||||
@Dict(dictTable = "onl_cgform_field", dicText = "is_tag_dict", dicCode = "is_tag_dict")
|
||||
@ApiModelProperty(value = "是否为标签内容-数据字典(1是 0否)")
|
||||
private java.lang.Integer isTagDict;
|
||||
|
||||
/**是否是只读(2字段固定,内部可配1固定字段 0非固定字段)*/
|
||||
@@ -97,4 +100,7 @@ public class SysDictItem implements Serializable {
|
||||
@Dict(dicCode = "attribute_type")
|
||||
private java.lang.String attributeType;
|
||||
|
||||
/**逻辑删除标识*/
|
||||
@TableLogic
|
||||
public Integer delFlag;
|
||||
}
|
||||
|
||||
+3
@@ -157,4 +157,7 @@ public interface ISysDictService extends IService<SysDict> {
|
||||
* @return
|
||||
*/
|
||||
Integer queryExitData(SysDict sysDict);
|
||||
|
||||
|
||||
String getAllPinyin(String dictName);
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,9 +1,9 @@
|
||||
package com.jero.modules.system.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.modules.system.entity.SysDictItem;
|
||||
import com.jero.modules.system.mapper.SysDictItemMapper;
|
||||
import com.jero.modules.system.service.ISysDictItemService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
||||
+64
-2
@@ -5,7 +5,6 @@ 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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import com.jero.common.constant.CacheConstant;
|
||||
import com.jero.common.constant.CommonConstant;
|
||||
import com.jero.common.system.vo.DictModel;
|
||||
@@ -17,6 +16,13 @@ import com.jero.modules.system.mapper.SysDictItemMapper;
|
||||
import com.jero.modules.system.mapper.SysDictMapper;
|
||||
import com.jero.modules.system.model.TreeSelectModel;
|
||||
import com.jero.modules.system.service.ISysDictService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.sourceforge.pinyin4j.PinyinHelper;
|
||||
import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
|
||||
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
|
||||
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
|
||||
import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;
|
||||
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.cache.annotation.Cacheable;
|
||||
@@ -341,10 +347,66 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, SysDict> impl
|
||||
@Override
|
||||
public Integer queryExitData(SysDict sysDict) {
|
||||
LambdaQueryWrapper<SysDict> queryWrapper = new LambdaQueryWrapper<>();
|
||||
if (StringUtils.isNotBlank(sysDict.getDictName())) {// && StringUtils.isNotBlank(onlCgformTag.getDbFieldName())) {
|
||||
if (StringUtils.isNotBlank(sysDict.getDictName())) {
|
||||
queryWrapper.eq(SysDict::getDictName, sysDict.getDictName()).and(wq -> wq.eq(SysDict::getAttributeType, sysDict.getAttributeType()));
|
||||
}
|
||||
Integer count = sysDictMapper.selectCount(queryWrapper);
|
||||
return count;
|
||||
}
|
||||
|
||||
/**
|
||||
* 将Code值设为字典名称的中文拼音
|
||||
*/
|
||||
public String getAllPinyin(String hanzi) {
|
||||
//输出格式设置
|
||||
HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
|
||||
/**
|
||||
* 输出大小写设置
|
||||
*
|
||||
* LOWERCASE:输出小写
|
||||
* UPPERCASE:输出大写
|
||||
*/
|
||||
format.setCaseType(HanyuPinyinCaseType.LOWERCASE);
|
||||
|
||||
/**
|
||||
* 输出音标设置
|
||||
*
|
||||
* WITH_TONE_MARK:直接用音标符(必须设置WITH_U_UNICODE,否则会抛出异常)
|
||||
* WITH_TONE_NUMBER:1-4数字表示音标
|
||||
* WITHOUT_TONE:没有音标
|
||||
*/
|
||||
format.setToneType(HanyuPinyinToneType.WITH_TONE_MARK);
|
||||
|
||||
/**
|
||||
* 特殊音标ü设置
|
||||
*
|
||||
* WITH_V:用v表示ü
|
||||
* WITH_U_AND_COLON:用"u:"表示ü
|
||||
* WITH_U_UNICODE:直接用ü
|
||||
*/
|
||||
format.setVCharType(HanyuPinyinVCharType.WITH_U_UNICODE);
|
||||
|
||||
char[] hanYuArr = hanzi.trim().toCharArray();
|
||||
StringBuilder pinYin = new StringBuilder();
|
||||
|
||||
try {
|
||||
for (int i = 0, len = hanYuArr.length; i < len; i++) {
|
||||
//匹配是否是汉字
|
||||
if (Character.toString(hanYuArr[i]).matches("[\\u4E00-\\u9FA5]+")) {
|
||||
//如果是多音字,返回多个拼音,这里只取第一个
|
||||
String[] pys = PinyinHelper.toHanyuPinyinStringArray(hanYuArr[i], format);
|
||||
pinYin.append(pys[0]).append(" ");
|
||||
} else {
|
||||
pinYin.append(hanYuArr[i]).append(" ");
|
||||
}
|
||||
}
|
||||
} catch (BadHanyuPinyinOutputFormatCombination badHanyuPinyinOutputFormatCombination) {
|
||||
badHanyuPinyinOutputFormatCombination.printStackTrace();
|
||||
}
|
||||
return pinYin.toString();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user