update 标签管理

This commit is contained in:
lijiarao
2023-08-25 17:37:21 +08:00
parent 2ba2dd3c13
commit 1fc029d074
2 changed files with 14 additions and 99 deletions
@@ -71,20 +71,6 @@ public interface ILawsTagService extends IService<LawsTag> {
*/
public void updateDictDelFlag(int isDelete,String id);
/**
* 列表查询
*
* @return
*/
List<LawsTag> queryList(LawsArea lawsArea);
/**
* 根据所属模块、属性名称、英文名称是否一致还原数据
*
* @return
*/
Integer queryExitData(LawsTag lawsTag) ;
/**
* 若区域下有标签字段 则无法删除
@@ -30,7 +30,6 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/**
* @Description: 标签管理
@@ -62,43 +61,17 @@ public class ILawsTagServiceImpl extends ServiceImpl<LawsTagMapper, LawsTag> imp
public void add(LawsTag lawsTag) {
//校验--逻辑删除
Integer count=queryExitData(lawsTag);
if (count > 0) {
lawsTag.setDelFlag(CommonConstant.DEL_FLAG_0);
} else {
Integer inputOrderNum = lawsTag.getOrderNum();
//查询展示顺序相同的
QueryWrapper<LawsTag> queryWrapper= new QueryWrapper<>();
queryWrapper.eq("is_model", lawsTag.getIsModel())
.eq("del_flag",CommonConstant.DEL_FLAG_0)
.orderByAsc("order_num");
queryWrapper.eq("order_num", inputOrderNum);
Integer orderNumCount = lawsTagMapper.selectCount(queryWrapper);
if(orderNumCount > 0) {//有重复展示顺序的,后面的号全+1
//设置排序
QueryWrapper<LawsTag> orderNumQueryWrapper = new QueryWrapper<>();
orderNumQueryWrapper.ge("order_num", inputOrderNum)
.eq("is_model", lawsTag.getIsModel())
.eq("del_flag", CommonConstant.DEL_FLAG_0)
.orderByAsc("order_num");
List<LawsTag> geOrderNumList = list(orderNumQueryWrapper);
//判断相邻的序号,去掉不邻的
for(int i = 0 ; i < geOrderNumList.size() ; i++) {
if (geOrderNumList.size() == 1){
break;
}else if(i+1 >= geOrderNumList.size()){
break;
}else if (geOrderNumList.get(i + 1).getOrderNum() - geOrderNumList.get(i).getOrderNum() > 1) {
int deleteStart = geOrderNumList.get(i+1).getOrderNum();
geOrderNumList = geOrderNumList.stream().filter(e->e.getOrderNum() < deleteStart).collect(Collectors.toList());
break;
}
}
geOrderNumList.stream().forEach(e -> e.setOrderNum(e.getOrderNum() + 1));
saveOrUpdateBatch(geOrderNumList);
}
LambdaQueryWrapper<LawsTag> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(LawsTag::getIsModel, lawsTag.getIsModel())
.eq(LawsTag::getDbFieldTxt, lawsTag.getDbFieldTxt())
.eq(LawsTag::getDbFieldEnName, lawsTag.getDbFieldEnName())
.eq(LawsTag::getDelFlag,1);
LawsTag lawsTag1 = lawsTagMapper.selectOne(queryWrapper);
if (lawsTag1 != null){
lawsTag.setId(lawsTag1.getId());
lawsTag.setDbFieldNameOld(lawsTag1.getDbFieldName());
}
else {
//处理DBLength为null的情况,默认为100
if (lawsTag.getDbLength() == null){
lawsTag.setDbLength(100);
@@ -117,22 +90,10 @@ public class ILawsTagServiceImpl extends ServiceImpl<LawsTagMapper, LawsTag> imp
}
}
lawsTag.setDelFlag(CommonConstant.DEL_FLAG_0);
//if(lawsTag.getIsModel().equals(TableNameEnum.FILE_TABLE_IS_MODEL.getValue())) {//设置文档库-表id
// lawsTag.setCgformHeadId(TableNameEnum.FILE_TABLE_ID.getValue());
//}else {//设置文档拆分-表id
// lawsTag.setCgformHeadId(TableNameEnum.FILE_SPLIT_ID.getValue());
//}
lawsTag.setDbIsKey(Integer.valueOf(YesOrNoEnum.NO.getValue()));
lawsTag.setDbIsNull(Integer.valueOf(YesOrNoEnum.YES.getValue()));
//lawsTag.setDbPointLength(0); //默认为0
lawsTag.setIsReadOnly(Integer.valueOf(FixedFieldEnum.NON_FIXED_FIELD_ENUM.getValue()));
lawsTag.setIsShowForm(Integer.valueOf(YesOrNoEnum.YES.getValue()));
Date now = new Date();
lawsTag.setCreateTime(now);
lawsTag.setUpdateTime(now);
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
lawsTag.setCreateBy(sysUser.getUsername());
lawsTag.setUpdateBy(sysUser.getUsername());
String pinYin = HanYuPinYinUtil.changeToNumberPinYin(lawsTag.getDbFieldTxt());
lawsTag.setDbFieldName(pinYin.replace(" ","_"));
String dbFieldName = lawsTag.getDbFieldName();
@@ -140,14 +101,13 @@ public class ILawsTagServiceImpl extends ServiceImpl<LawsTagMapper, LawsTag> imp
if (!Validator.isMatchRegex("^[a-zA-Z].*$", dbFieldName)){
lawsTag.setDbFieldName("grp_" + dbFieldName);
}
if (dbFieldName.length() > 64){
throw new JeroBootException("tag.add.字段名称太长",dbFieldName);
}
executeDDL(lawsTag,"add");
lawsTag.setDbFieldNameOld(dbFieldName);
}
save(lawsTag);
executeDDL(lawsTag,"add");
lawsTag.setDbFieldNameOld(lawsTag.getDbFieldName());
saveOrUpdate(lawsTag);
}
@@ -159,7 +119,6 @@ public class ILawsTagServiceImpl extends ServiceImpl<LawsTagMapper, LawsTag> imp
*/
@Override
public void editById(LawsTag lawsTag) {
Integer inputOrderNum = lawsTag.getOrderNum();
//字段名称设置成拼音+下划线,存入数据库
String pinYin = HanYuPinYinUtil.changeToNumberPinYin(lawsTag.getDbFieldTxt());
@@ -288,36 +247,6 @@ public class ILawsTagServiceImpl extends ServiceImpl<LawsTagMapper, LawsTag> imp
return result;
}
/**
* 列表查询
*
* @return
*/
@Override
public List<LawsTag> queryList(LawsArea lawsArea) {
QueryWrapper<LawsTag> updateWrapper=new QueryWrapper<>();
updateWrapper.eq("is_model", lawsArea.getIsModel());
return list(updateWrapper);
}
/**
* 根据所属模块、属性名称、英文名称是否一致还原数据
*
* @return
*/
@Override
public Integer queryExitData(LawsTag lawsTag) {
LambdaQueryWrapper<LawsTag> queryWrapper = new LambdaQueryWrapper<>();
if (StringUtils.isNotBlank(lawsTag.getIsModel())) {
queryWrapper.eq(LawsTag::getIsModel, lawsTag.getIsModel())
.eq(LawsTag::getDbFieldTxt, lawsTag.getDbFieldTxt())
.eq(LawsTag::getDbFieldEnName, lawsTag.getDbFieldEnName())
.eq(LawsTag::getDelFlag,0);
}
Integer count = lawsTagMapper.selectCount(queryWrapper);
return count;
}
/**
* 若区域下有标签字段 则无法删除
*