update 标签管理业务
This commit is contained in:
+35
-47
@@ -8,7 +8,7 @@ import com.jero.common.constant.CommonConstant;
|
||||
import com.jero.common.constant.enums.LanguageEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.MessageUtils;
|
||||
import com.jero.modules.enums.FixedFieldEnum;
|
||||
import com.jero.modules.tag.entity.LawsTag;
|
||||
import com.jero.modules.tag.entity.LawsArea;
|
||||
@@ -18,7 +18,6 @@ import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
@@ -121,11 +120,7 @@ public class LawsTagController extends JeroController<LawsTag, ILawsTagService>
|
||||
}
|
||||
}else{
|
||||
//中英切换提示语
|
||||
if(LanguageEnum.CN.getValue().equals(lawsTag.getCut())) {
|
||||
throw new JeroBootException("属性已存在,请检查");
|
||||
}else{
|
||||
throw new JeroBootException("Attribute already exists, please check!");
|
||||
}
|
||||
return Result.error(MessageUtils.getMessage("tag.edit.属性已存在,请检查"));
|
||||
}
|
||||
}else {
|
||||
lawsTagService.add(lawsTag);
|
||||
@@ -150,50 +145,50 @@ public class LawsTagController extends JeroController<LawsTag, ILawsTagService>
|
||||
@PostMapping(value = "/edit")
|
||||
@RequiresPermissions("tag:edit")
|
||||
public Result<?> edit(@Validated @RequestBody LawsTag lawsTag) {
|
||||
if (FixedFieldEnum.FIXED_FIELD_ENUM.getValue().equals(lawsTag.getIsReadOnly()) || FixedFieldEnum.CONFIGURABLE_FIELD.getValue().equals(lawsTag.getIsReadOnly())) {
|
||||
//中英切换提示语
|
||||
if(LanguageEnum.CN.getValue().equals(lawsTag.getCut())) {
|
||||
return Result.error("固定字段,不可修改");
|
||||
}else{
|
||||
return Result.error("Fixed field, which cannot be modified.");
|
||||
}
|
||||
if (FixedFieldEnum.FIXED_FIELD_ENUM.getValue().equals(lawsTag.getIsReadOnly().toString()) ||
|
||||
FixedFieldEnum.CONFIGURABLE_FIELD.getValue().equals(lawsTag.getIsReadOnly().toString())) {
|
||||
return Result.error(MessageUtils.getMessage("tag.edit.固定字段,不可修改"));
|
||||
}else {
|
||||
String isModel = lawsTag.getIsModel();
|
||||
String tableName = FileTableIdEnum.getTableName(isModel);
|
||||
QueryWrapper<LawsTag> queryWrapper=new QueryWrapper<>();
|
||||
//查询同一模块下,同名数据
|
||||
queryWrapper.eq("db_Field_txt", lawsTag.getDbFieldTxt()).eq("is_model", lawsTag.getIsModel());
|
||||
List<LawsTag> existCgformTagList= lawsTagService.list(queryWrapper);
|
||||
if(!existCgformTagList.isEmpty()){//有同名数据
|
||||
if(existCgformTagList.get(0).getId().equals(lawsTag.getId())){//已存在同名的数据,就是正在编辑的这个
|
||||
queryWrapper.eq("db_Field_txt", lawsTag.getDbFieldTxt())
|
||||
.eq("is_model", isModel)
|
||||
.last("limit 1");
|
||||
LawsTag lawsTagOld = lawsTagService.getOne(queryWrapper);
|
||||
//有同名数据
|
||||
if(lawsTagOld != null) {
|
||||
//已存在同名的数据,就是正在编辑的这个
|
||||
if (lawsTagOld.getId().equals(lawsTag.getId())) {
|
||||
lawsTagService.editById(lawsTag);
|
||||
if(lawsTag.getIsModel().equals(FileTableIdEnum.DOMESTIC_REGULATIONS.getValue())) {//同步文档库
|
||||
//同步文档库
|
||||
if (isModel.equals(FileTableIdEnum.DOMESTIC_REGULATIONS.getValue())) {
|
||||
|
||||
//this.onlCgformApiController.h(String.valueOf(FileTableIdEnum.FILE_TABLE_ID.getValue()), "normal");
|
||||
}else {//同步文档拆分
|
||||
} else {//同步文档拆分
|
||||
//this.onlCgformApiController.h(String.valueOf(FileTableIdEnum.FILE_SPLIT_ID.getValue()), "normal");
|
||||
}
|
||||
|
||||
}else{//已存在同名的数据,不是正在编辑的这个
|
||||
LawsTag lawsTagDB = existCgformTagList.get(0);
|
||||
if(lawsTagDB.getIsDelete()==CommonConstant.DEL_FLAG_1){//有已删数据,恢复
|
||||
lawsTagService.updateDictDelFlag(CommonConstant.DEL_FLAG_0, lawsTagDB.getId());
|
||||
lawsTag.setId(lawsTagDB.getId());
|
||||
//已存在同名的数据,不是正在编辑的这个
|
||||
} else {
|
||||
//有已删数据,恢复
|
||||
if (Objects.equals(lawsTagOld.getIsDelete(), CommonConstant.DEL_FLAG_1)) {
|
||||
lawsTagService.updateDictDelFlag(CommonConstant.DEL_FLAG_0, lawsTagOld.getId());
|
||||
lawsTag.setId(lawsTagOld.getId());
|
||||
lawsTagService.editById(lawsTag);
|
||||
if(lawsTag.getIsModel().equals(FileTableIdEnum.DOMESTIC_REGULATIONS.getValue())) {//同步文档库
|
||||
if (isModel.equals(FileTableIdEnum.DOMESTIC_REGULATIONS.getValue())) {//同步文档库
|
||||
//this.onlCgformApiController.h(String.valueOf(FileTableIdEnum.FILE_TABLE_ID.getValue()), "normal");
|
||||
}else {//同步文档拆分
|
||||
} else {//同步文档拆分
|
||||
//this.onlCgformApiController.h(String.valueOf(FileTableIdEnum.FILE_SPLIT_ID.getValue()), "normal");
|
||||
}
|
||||
}else {//有未删数据,报错
|
||||
//中英切换提示语
|
||||
if(LanguageEnum.CN.getValue().equals(lawsTag.getCut())) {
|
||||
return Result.error("属性已存在,请检查");
|
||||
}else{
|
||||
return Result.error("Attribute already exists, please check!");
|
||||
}
|
||||
//有未删数据,报错
|
||||
} else {
|
||||
return Result.error(MessageUtils.getMessage("tag.edit.属性已存在,请检查"));
|
||||
}
|
||||
}
|
||||
}else{
|
||||
lawsTagService.editById(lawsTag);
|
||||
if(lawsTag.getIsModel().equals(FileTableIdEnum.DOMESTIC_REGULATIONS.getValue())) {//同步文档库
|
||||
if(isModel.equals(FileTableIdEnum.DOMESTIC_REGULATIONS.getValue())) {//同步文档库
|
||||
//this.onlCgformApiController.h(String.valueOf(FileTableIdEnum.FILE_TABLE_ID.getValue()), "normal");
|
||||
}else {//同步文档拆分
|
||||
//this.onlCgformApiController.h(String.valueOf(FileTableIdEnum.FILE_SPLIT_ID.getValue()), "normal");
|
||||
@@ -217,13 +212,10 @@ public class LawsTagController extends JeroController<LawsTag, ILawsTagService>
|
||||
Result<String> result = new Result<>();
|
||||
LawsTag lawsTag = lawsTagService.queryById(id);
|
||||
if(StringUtils.isNotBlank(String.valueOf(lawsTag.getIsReadOnly()))) {
|
||||
if (FixedFieldEnum.FIXED_FIELD_ENUM.getValue().equals(lawsTag.getIsReadOnly()) || FixedFieldEnum.CONFIGURABLE_FIELD.getValue().equals(lawsTag.getIsReadOnly())) {
|
||||
if (FixedFieldEnum.FIXED_FIELD_ENUM.getValue().equals(lawsTag.getIsReadOnly().toString()) ||
|
||||
FixedFieldEnum.CONFIGURABLE_FIELD.getValue().equals(lawsTag.getIsReadOnly().toString())) {
|
||||
//中英切换提示语
|
||||
if(LanguageEnum.CN.getValue().equals(lawsTag.getCut())) {
|
||||
result.error500("固定字段,不可删除");
|
||||
}else{
|
||||
result.error500("Fixed field, cannot be deleted.");
|
||||
}
|
||||
return Result.error(MessageUtils.getMessage("tag.edit.固定字段,不可删除"));
|
||||
} else {
|
||||
lawsTagService.updateDictDelFlag(CommonConstant.DEL_FLAG_1,id);
|
||||
////onlCgformApiController.h(String.valueOf(FileTableIdEnum.FILE_TABLE_ID),"normal");//逻辑删除-->改变状态,数据库不删
|
||||
@@ -250,11 +242,7 @@ public class LawsTagController extends JeroController<LawsTag, ILawsTagService>
|
||||
LawsTag midTag= lawsTagService.getById(list);
|
||||
if (FixedFieldEnum.FIXED_FIELD_ENUM.getValue().equals(String.valueOf(midTag.getIsReadOnly())) || FixedFieldEnum.CONFIGURABLE_FIELD.getValue().equals(String.valueOf(midTag.getIsReadOnly()))) {
|
||||
//中英切换提示语
|
||||
if(LanguageEnum.CN.getValue().equals(midTag.getCut())) {
|
||||
result.error500("包含固定字段,不可删除");
|
||||
}else{
|
||||
result.error500("It contains fixed fields and cannot be deleted.");
|
||||
}
|
||||
return Result.error(MessageUtils.getMessage("tag.delete.包含固定字段,不可删除"));
|
||||
}else {
|
||||
if (StringUtils.isNotBlank(String.valueOf(midTag.getIsReadOnly()))) {
|
||||
if (FixedFieldEnum.FIXED_FIELD_ENUM.getValue().equals(String.valueOf(midTag.getIsReadOnly()))) {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.jero.modules.tag.enums;
|
||||
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
@@ -15,7 +16,15 @@ public enum FileTableIdEnum {
|
||||
;
|
||||
|
||||
String name;
|
||||
String table_name;
|
||||
String tableName;
|
||||
String value;
|
||||
|
||||
public static String getTableName(String value){
|
||||
for (FileTableIdEnum fileTableIdEnum : values()) {
|
||||
if (fileTableIdEnum.getValue().equals(value)) {
|
||||
return fileTableIdEnum.getTableName();
|
||||
}
|
||||
}
|
||||
throw new JeroBootException("标签类型不存在");
|
||||
}
|
||||
}
|
||||
@@ -29,4 +29,6 @@ public interface LawsTagMapper extends BaseMapper<LawsTag> {
|
||||
*/
|
||||
@Update("update onl_cgform_field set is_delete = #{isDelete,jdbcType=INTEGER} where id = #{id,jdbcType=VARCHAR}")
|
||||
public void updateDictDelFlag(@Param("isDelete") int isDelete, @Param("id") String id);
|
||||
|
||||
void executeDDL(@Param("sqlStr") String var1);
|
||||
}
|
||||
|
||||
@@ -72,4 +72,8 @@
|
||||
</if>
|
||||
order by f.order_num
|
||||
</select>
|
||||
|
||||
<update id="executeDDL" parameterType="java.lang.String">
|
||||
${sqlStr}
|
||||
</update>
|
||||
</mapper>
|
||||
+36
-8
@@ -26,6 +26,7 @@ import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -39,7 +40,7 @@ import java.util.stream.Collectors;
|
||||
*/
|
||||
@Service
|
||||
public class ILawsTagServiceImpl extends ServiceImpl<LawsTagMapper, LawsTag> implements ILawsTagService {
|
||||
@Autowired
|
||||
@Resource
|
||||
private LawsTagMapper lawsTagMapper;
|
||||
|
||||
@Autowired
|
||||
@@ -141,6 +142,7 @@ public class ILawsTagServiceImpl extends ServiceImpl<LawsTagMapper, LawsTag> imp
|
||||
}
|
||||
}
|
||||
save(lawsTag);
|
||||
executeDDL(lawsTag,"add");
|
||||
}
|
||||
|
||||
|
||||
@@ -162,7 +164,8 @@ public class ILawsTagServiceImpl extends ServiceImpl<LawsTagMapper, LawsTag> imp
|
||||
.map(e -> e.getOrderNum()).collect(Collectors.toList()).get(0);
|
||||
queryWrapper.eq("order_num", inputOrderNum);
|
||||
Integer orderNumCount = lawsTagMapper.selectCount(queryWrapper);
|
||||
if(orderNumCount > 0 && !orderNumData.equals(inputOrderNum)) {//有重复展示顺序的,后面的号全+1
|
||||
//有重复展示顺序的,后面的号全+1
|
||||
if(orderNumCount > 0 && !orderNumData.equals(inputOrderNum)) {
|
||||
//设置排序
|
||||
QueryWrapper<LawsTag> orderNumQueryWrapper = new QueryWrapper<>();
|
||||
orderNumQueryWrapper.ge("order_num", inputOrderNum)
|
||||
@@ -189,10 +192,11 @@ public class ILawsTagServiceImpl extends ServiceImpl<LawsTagMapper, LawsTag> imp
|
||||
}
|
||||
|
||||
//字段名称设置成拼音+下划线,存入数据库
|
||||
String pinYin = HanYuPinYinUtil.changeToNumberPinYin(lawsTag.getDbFieldTxt());
|
||||
String pinYin = HanYuPinYinUtil.changeToNumberPinYin(lawsTag.getDbFieldName());
|
||||
lawsTag.setDbFieldName(pinYin.replace(" ","_"));
|
||||
//处理DBLength为null的情况,默认为100
|
||||
if (lawsTag.getDbLength() == null){
|
||||
Integer dbLength = lawsTag.getDbLength();
|
||||
if (dbLength == null){
|
||||
lawsTag.setDbLength(100);
|
||||
}
|
||||
Date now = new Date();
|
||||
@@ -207,9 +211,11 @@ public class ILawsTagServiceImpl extends ServiceImpl<LawsTagMapper, LawsTag> imp
|
||||
}else{
|
||||
lawsTag.setDbType("String");
|
||||
if(lawsTag.getFieldShowType().equals(FieldTypeEnum.PULL_SINGLE.getValue())){
|
||||
lawsTag.setDbLength(36); //单个ID的最大长度是36,所以单选默认设置为36
|
||||
//单个ID的最大长度是36,所以单选默认设置为36
|
||||
lawsTag.setDbLength(36);
|
||||
}else if(lawsTag.getFieldShowType().equals(FieldTypeEnum.PULL_MORE.getValue())){
|
||||
lawsTag.setDbLength(2000); // 多选默认设置为2000,即可选择2000/36=55个属性
|
||||
// 多选默认设置为2000,即可选择2000/36=55个属性
|
||||
lawsTag.setDbLength(2000);
|
||||
}
|
||||
}
|
||||
lawsTag.setIsDelete(CommonConstant.DEL_FLAG_0);
|
||||
@@ -220,10 +226,32 @@ public class ILawsTagServiceImpl extends ServiceImpl<LawsTagMapper, LawsTag> imp
|
||||
lawsTag.setIsShowForm(Integer.valueOf(YesOrNoEnum.YES.getValue()));
|
||||
|
||||
// 数据库的字段名称必须以字母开头,若不以字母开头加上固定的grp前缀
|
||||
if (!Validator.isMatchRegex("^[a-zA-Z].*$", lawsTag.getDbFieldName())){
|
||||
lawsTag.setDbFieldName("grp_" + lawsTag.getDbFieldName());
|
||||
String dbFieldName = lawsTag.getDbFieldName();
|
||||
if (!Validator.isMatchRegex("^[a-zA-Z].*$", dbFieldName)){
|
||||
lawsTag.setDbFieldName("grp_" + dbFieldName);
|
||||
}
|
||||
saveOrUpdate(lawsTag);
|
||||
executeDDL(lawsTag,"modify");
|
||||
|
||||
}
|
||||
|
||||
private void executeDDL(LawsTag lawsTag, String modifyOrAdd) {
|
||||
String isModel = lawsTag.getIsModel();
|
||||
String dbType = lawsTag.getDbType();
|
||||
Integer dbLength = lawsTag.getDbLength();
|
||||
String dbFieldName = lawsTag.getDbFieldName();
|
||||
String type;
|
||||
if ("Double".equals(dbType)) {
|
||||
type = "BigDecimal(100)";
|
||||
}else if ("Date".equals(dbType)){
|
||||
type = "Date";
|
||||
}else {
|
||||
type = "varchar("+dbLength+")";
|
||||
}
|
||||
String tableName = FileTableIdEnum.getTableName(isModel);
|
||||
String dbFieldTxt = lawsTag.getDbFieldTxt();
|
||||
String sql = "alter table " + tableName + " " + modifyOrAdd + " " + dbFieldName + " " + type + " null comment '"+dbFieldTxt+"'";
|
||||
lawsTagMapper.executeDDL(sql);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,2 +1,6 @@
|
||||
message=1
|
||||
message.operate.error=123{0}
|
||||
message.operate.error=123{0}
|
||||
tag.delete.\u5305\u542B\u56FA\u5B9A\u5B57\u6BB5,\u4E0D\u53EF\u5220\u9664=\u5305\u542B\u56FA\u5B9A\u5B57\u6BB5,\u4E0D\u53EF\u5220\u9664
|
||||
tag.edit.\u56FA\u5B9A\u5B57\u6BB5,\u4E0D\u53EF\u4FEE\u6539=\u56FA\u5B9A\u5B57\u6BB5,\u4E0D\u53EF\u4FEE\u6539
|
||||
tag.edit.\u56FA\u5B9A\u5B57\u6BB5,\u4E0D\u53EF\u5220\u9664=\u56FA\u5B9A\u5B57\u6BB5,\u4E0D\u53EF\u5220\u9664
|
||||
tag.edit.\u5C5E\u6027\u5DF2\u5B58\u5728,\u8BF7\u68C0\u67E5=\u5C5E\u6027\u5DF2\u5B58\u5728,\u8BF7\u68C0\u67E5
|
||||
@@ -1,2 +1,6 @@
|
||||
message=1
|
||||
message.operate.error=123{0}
|
||||
message.operate.error=123{0}
|
||||
tag.delete.\u5305\u542B\u56FA\u5B9A\u5B57\u6BB5,\u4E0D\u53EF\u5220\u9664=It contains fixed fields and cannot be deleted.
|
||||
tag.edit.\u56FA\u5B9A\u5B57\u6BB5,\u4E0D\u53EF\u4FEE\u6539=Fixed field, which cannot be modified.
|
||||
tag.edit.\u56FA\u5B9A\u5B57\u6BB5,\u4E0D\u53EF\u5220\u9664=Fixed field, cannot be deleted.
|
||||
tag.edit.\u5C5E\u6027\u5DF2\u5B58\u5728,\u8BF7\u68C0\u67E5=Attribute already exists, please check!
|
||||
@@ -1,2 +1,6 @@
|
||||
message=1
|
||||
message.operate.error=123{0}
|
||||
message.operate.error=123{0}
|
||||
tag.delete.\u5305\u542B\u56FA\u5B9A\u5B57\u6BB5,\u4E0D\u53EF\u5220\u9664=\u5305\u542B\u56FA\u5B9A\u5B57\u6BB5,\u4E0D\u53EF\u5220\u9664
|
||||
tag.edit.\u56FA\u5B9A\u5B57\u6BB5,\u4E0D\u53EF\u4FEE\u6539=\u56FA\u5B9A\u5B57\u6BB5,\u4E0D\u53EF\u4FEE\u6539
|
||||
tag.edit.\u56FA\u5B9A\u5B57\u6BB5,\u4E0D\u53EF\u5220\u9664=\u56FA\u5B9A\u5B57\u6BB5,\u4E0D\u53EF\u5220\u9664
|
||||
tag.edit.\u5C5E\u6027\u5DF2\u5B58\u5728,\u8BF7\u68C0\u67E5=\u5C5E\u6027\u5DF2\u5B58\u5728,\u8BF7\u68C0\u67E5
|
||||
Reference in New Issue
Block a user