From 7f8b13478ba16c3e11c22fa458f15e6e4a4e4e24 Mon Sep 17 00:00:00 2001 From: xiejunyu Date: Wed, 2 Mar 2022 16:08:59 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=A0=87=E7=AD=BE=E5=86=85=E5=AE=B9-?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E5=88=A0=E9=99=A4+code=E8=AE=BE=E4=B8=BA?= =?UTF-8?q?=E6=8B=BC=E9=9F=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jero-boot/jero-boot-module-system/pom.xml | 13 +- .../system/controller/SysDictController.java | 52 +++---- .../system/service/ISysDictService.java | 2 - .../service/impl/SysDictServiceImpl.java | 64 +------- .../jero/modules/utils/HanYuPinYinUtil.java | 145 ++++++++++++++++++ jero-boot/jero-boot-modules/pom.xml | 5 - 6 files changed, 178 insertions(+), 103 deletions(-) create mode 100644 jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/utils/HanYuPinYinUtil.java diff --git a/jero-boot/jero-boot-module-system/pom.xml b/jero-boot/jero-boot-module-system/pom.xml index 902831bae..d1ba0c229 100644 --- a/jero-boot/jero-boot-module-system/pom.xml +++ b/jero-boot/jero-boot-module-system/pom.xml @@ -50,12 +50,13 @@ - - com.belerweb - pinyin4j - 2.5.1 - compile - + + + com.github.stuxuhai + jpinyin + 1.1.8 + + diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDictController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDictController.java index 0b93861b4..1a044dc08 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDictController.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDictController.java @@ -22,6 +22,7 @@ import com.jero.modules.system.model.TreeSelectModel; import com.jero.modules.system.service.ISysDictItemService; import com.jero.modules.system.service.ISysDictService; import com.jero.modules.system.vo.SysDictPage; +import com.jero.modules.utils.HanYuPinYinUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -356,23 +357,21 @@ public class SysDictController { public Result add(@RequestBody SysDict sysDict) { Result result = new Result(); try { - if(StringUtils.isEmpty(sysDict.getDictName())){ - String pinYin = sysDictService.getAllPinyin(sysDict.getDictName()); + Integer count = sysDictService.queryExitData(sysDict); + System.out.println("count="+count); + if (count > 0) { + sysDict.setDelFlag(CommonConstant.DEL_FLAG_0); + System.out.println(); + } else { + String pinYin = HanYuPinYinUtil.changeToNumberPinYin(sysDict.getDictName()); sysDict.setDictCode(pinYin); - - }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(); + sysDict.setCreateTime(new Date()); + sysDict.setDelFlag(CommonConstant.DEL_FLAG_0); + sysDictService.save(sysDict); } - + result.success("保存成功!"); + //添加成功后需要刷新缓存 + sysDictService.refreshCache(); } catch (Exception e) { log.error(e.getMessage(),e); result.error500("操作失败"); @@ -380,7 +379,6 @@ public class SysDictController { return result; } - /** * @功能:编辑 * @param sysDict @@ -395,11 +393,13 @@ public class SysDictController { if (sysdict == null) { result.error500("未找到对应实体"); }else { - if (org.apache.commons.lang3.StringUtils.isNotBlank(String.valueOf(sysDict.getIsReadOnly()))) { + if (StringUtils.isNotBlank(String.valueOf(sysDict.getIsReadOnly()))) { if (FixedFieldEnum.FIXED_FIELD_ENUM.getValue().equals(sysDict.getIsReadOnly())) { - result.error500("固定字段,不可删除"); + result.error500("固定字段,不可修改"); }else{ sysDict.setUpdateTime(new Date()); + String pinYin = HanYuPinYinUtil.changeToNumberPinYin(sysDict.getDictName()); + sysDict.setDictCode(pinYin); boolean ok = sysDictService.updateById(sysDict); if (ok) { result.success("编辑成功!"); @@ -441,7 +441,7 @@ public class SysDictController { } /** - * @功能:删除 + * @功能:逻辑删除 * @param id * @return */ @@ -454,15 +454,11 @@ public class SysDictController { Result result = new Result(); 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(); - } + if (FixedFieldEnum.FIXED_FIELD_ENUM.getValue().equals(sysDict.getIsReadOnly())) { + result.error500("固定字段,不可删除"); + } else { + sysDictService.updateDictDelFlag(CommonConstant.DEL_FLAG_1,id); + result.success("删除成功!"); } }catch (Exception e) { log.error(e.getMessage(),e); diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysDictService.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysDictService.java index 46df65251..07ec9d643 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysDictService.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysDictService.java @@ -159,6 +159,4 @@ public interface ISysDictService extends IService { */ Integer queryExitData(SysDict sysDict); - - String getAllPinyin(String dictName); } diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysDictServiceImpl.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysDictServiceImpl.java index d51a7fd6a..73b2c7021 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysDictServiceImpl.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysDictServiceImpl.java @@ -18,12 +18,6 @@ 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; @@ -367,7 +361,7 @@ public class SysDictServiceImpl extends ServiceImpl impl } /** - * 根据标签名称,标签类型一致还原数据 + * 根据标签名称,字典Code值,标签类型一致还原数据 * * @return */ @@ -375,65 +369,11 @@ public class SysDictServiceImpl extends ServiceImpl impl public Integer queryExitData(SysDict sysDict) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); if (StringUtils.isNotBlank(sysDict.getDictName())) { - queryWrapper.eq(SysDict::getDictName, sysDict.getDictName()).and(wq -> wq.eq(SysDict::getAttributeType, sysDict.getAttributeType())); + queryWrapper.eq(SysDict::getDictName, sysDict.getDictName()).eq(SysDict::getDictCode,sysDict.getDictCode()).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(); - } - - - } diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/utils/HanYuPinYinUtil.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/utils/HanYuPinYinUtil.java new file mode 100644 index 000000000..a1bece6f2 --- /dev/null +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/utils/HanYuPinYinUtil.java @@ -0,0 +1,145 @@ +package com.jero.modules.utils; + +import com.github.stuxuhai.jpinyin.ChineseHelper; +import com.github.stuxuhai.jpinyin.PinyinFormat; +import com.github.stuxuhai.jpinyin.PinyinHelper; + +public class HanYuPinYinUtil { + /** + * 转换为有声调的拼音字符串 + * @param pinYinStr 汉字 + * @return 有声调的拼音字符串 + */ + public String changeToMarkPinYin(String pinYinStr){ + + String tempStr = null; + + try + { + tempStr = PinyinHelper.convertToPinyinString(pinYinStr, " ", PinyinFormat.WITH_TONE_MARK); + + } catch (Exception e) + { + e.printStackTrace(); + } + return tempStr; + + } + + + /** + * 转换为数字声调字符串 + * @param pinYinStr 需转换的汉字 + * @return 转换完成的拼音字符串 + */ + public static String changeToNumberPinYin(String pinYinStr){ + + String tempStr = null; + + try + { + tempStr = PinyinHelper.convertToPinyinString(pinYinStr, " ", PinyinFormat.WITH_TONE_NUMBER); + } catch (Exception e) + { + e.printStackTrace(); + } + + return tempStr; + + } + + /** + * 转换为不带音调的拼音字符串 + * @param pinYinStr 需转换的汉字 + * @return 拼音字符串 + */ + public static String changeToTonePinYin(String pinYinStr){ + + String tempStr = null; + + try{ + tempStr = PinyinHelper.convertToPinyinString(pinYinStr, " ", PinyinFormat.WITHOUT_TONE); + } catch (Exception e) + { + e.printStackTrace(); + } + return tempStr; + + } + + /** + * 转换为每个汉字对应拼音首字母字符串 + * @param pinYinStr 需转换的汉字 + * @return 拼音字符串 + */ + public String changeToGetShortPinYin(String pinYinStr){ + + String tempStr = null; + + try + { + tempStr = PinyinHelper.getShortPinyin(pinYinStr); + } catch (Exception e) + { + e.printStackTrace(); + } + return tempStr; + + } + + /** + * 检查汉字是否为多音字 + * @param pinYinStr 需检查的汉字 + * @return true 多音字,false 不是多音字 + */ + public boolean checkPinYin(char pinYinStr){ + + boolean check = false; + try + { + check = PinyinHelper.hasMultiPinyin(pinYinStr); + } catch (Exception e) { + e.printStackTrace(); + } + return check; + } + + /** + * 简体转换为繁体 + * @param pinYinStr + * @return + */ + public String changeToTraditional(String pinYinStr){ + + String tempStr = null; + try + { + tempStr = ChineseHelper.convertToTraditionalChinese(pinYinStr); + } catch (Exception e) + { + e.printStackTrace(); + } + return tempStr; + + } + + /** + * 繁体转换为简体 + * @param pinYinSt + * @return + */ + public String changeToSimplified(String pinYinSt){ + + String tempStr = null; + + try + { + tempStr = ChineseHelper.convertToSimplifiedChinese(pinYinSt); + } catch (Exception e) + { + e.printStackTrace(); + } + + return tempStr; + } +} diff --git a/jero-boot/jero-boot-modules/pom.xml b/jero-boot/jero-boot-modules/pom.xml index df7d93333..531616feb 100644 --- a/jero-boot/jero-boot-modules/pom.xml +++ b/jero-boot/jero-boot-modules/pom.xml @@ -107,11 +107,6 @@ org.springframework.cloud spring-cloud-starter-openfeign - - com.belerweb - pinyin4j - 2.5.1 - From 068df9c32a961e746ed740cf1064786f29ed08ac Mon Sep 17 00:00:00 2001 From: caoyang Date: Wed, 2 Mar 2022 16:48:01 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=B1=95=E7=A4=BA=E5=8C=BA=E5=9F=9F?= =?UTF-8?q?=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../documentManage/tags/dialog/areaManage.vue | 51 +++++++++++++++---- .../documentManage/tags/dialog/listTable.vue | 2 +- .../documentManage/tags/dialog/treeTable.vue | 1 - .../documentManage/tags/tabs/tagItem.vue | 12 ++++- 4 files changed, 52 insertions(+), 14 deletions(-) diff --git a/jero-web/src/views/documentManage/tags/dialog/areaManage.vue b/jero-web/src/views/documentManage/tags/dialog/areaManage.vue index ab26a1d55..a95922239 100644 --- a/jero-web/src/views/documentManage/tags/dialog/areaManage.vue +++ b/jero-web/src/views/documentManage/tags/dialog/areaManage.vue @@ -1,7 +1,13 @@ @@ -88,6 +105,11 @@ }, data(){ return{ + queryParams:{ + pageNo:1, + pageSize:10 + }, + total:0, selectedRowKeys: [], loading: false, ipagination:true, @@ -179,9 +201,7 @@ if(this.form.id){ putAction(`tag/onlCgformArea/edit`,this.form).then((res)=>{ if(res.success){ - this.$notification.success({ - message: res.result, - }); + this.$message.success(res.result); this.$emit('updateOk',res.result) this.form={ isModel:'', @@ -195,9 +215,7 @@ //新增 postAction(`/tag/onlCgformArea/add`,this.form).then(res=>{ if(res.success){ - this.$notification.success({ - message: res.result, - }); + this.$message.success( res.result,); this.$emit('submitOk',res.result) this.form={ isModel:'', @@ -248,6 +266,16 @@ } }) }, + //点击页数 + onChangePage(page,pageSize){ + this.queryParams.pageNo = page + this.$emit('Ok') + }, + //一页显示条数 + SizeChange(page,pageSize){ + this.queryParams.pageSize = pageSize + this.$emit('Ok') + }, //正则替换小数点 limitNumber(value) { if (typeof value === 'string') { @@ -263,6 +291,7 @@ \ No newline at end of file