fix 78035 标签内容管理--删除被引用的标签内容,删除成功了

This commit is contained in:
lijiarao
2023-11-10 13:33:17 +08:00
parent 96f5eb5e0c
commit 0b445959e4
5 changed files with 50 additions and 13 deletions
@@ -7,6 +7,7 @@ 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.jero.common.api.vo.Result;
import com.jero.common.api.vo.ResultCommon;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.constant.CacheConstant;
import com.jero.common.constant.CommonConstant;
@@ -409,31 +410,27 @@ public class SysDictController {
public Result<Object> delete(@RequestBody Map<String,String> map) {
String id = map.get("id");
if(StringUtils.isBlank(id)){
return Result.error("参数不识别!");
}
boolean ok = sysDictService.removeById(id);
if(ok) {
return Result.OK(DEL_SUCCESS);
}else{
return Result.error("删除失败!");
return Result.error(ResultCommon.PARAMETER_NOT_RECOGNIZED);
}
sysDictService.deleteById(id);
return Result.OK(ResultCommon.SUCCESSFULLY_DELETED);
}
/**
* @功能:批量删除
* @return
*/
@ApiOperation(value = "字典控制器-批量字典", notes = "字典控制器-批量字典")
@ApiOperation(value = "字典控制器-批量删除字典", notes = "字典控制器-批量删除字典")
@PostMapping(value = "/deleteBatch")
@RequiresPermissions("sys:dict:operation")
@CacheEvict(value= {CacheConstant.SYS_DICT_CACHE, CacheConstant.SYS_ENABLE_DICT_CACHE}, allEntries=true)
public Result<Object> deleteBatch(@RequestBody Map<String,String> map) {
String ids = map.get("ids");
if(oConvertUtils.isEmpty(ids)) {
return Result.error("参数不识别!");
return Result.error(ResultCommon.PARAMETER_NOT_RECOGNIZED);
}else {
sysDictService.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK(DEL_SUCCESS);
sysDictService.deleteByIds(Arrays.asList(ids.split(",")));
return Result.OK(ResultCommon.SUCCESSFULLY_DELETED);
}
}
@@ -577,7 +574,7 @@ public class SysDictController {
public Result<T> deletePhysic(@PathVariable String id) {
try {
sysDictService.deleteOneDictPhysically(id);
return Result.OK(DEL_SUCCESS);
return Result.OK(ResultCommon.SUCCESSFULLY_DELETED);
} catch (Exception e) {
e.printStackTrace();
return Result.error("删除失败!");
@@ -233,4 +233,6 @@ public interface SysDictMapper extends BaseMapper<SysDict> {
*/
@Deprecated
List<DictModel> queryAllTableDictItems(@Param("table") String table, @Param("text") String text, @Param("code") String code, @Param("filterSql") String filterSql);
Integer checkUsed(@Param("dictCode") String dictCode);
}
@@ -197,4 +197,7 @@
</if>
</select>
<select id="checkUsed" resultType="java.lang.Integer">
select count(*) from laws_tag where dict_field = #{dictCode}
</select>
</mapper>
@@ -223,4 +223,8 @@ public interface ISysDictService extends IService<SysDict> {
void refreshCache();
List<SysDict> queryDictName(SysDict sysDict);
void deleteById(String id);
void deleteByIds(List<String> idList);
}
@@ -5,8 +5,11 @@ 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 com.jero.common.api.vo.Result;
import com.jero.common.api.vo.ResultCommon;
import com.jero.common.constant.enums.LanguageEnum;
import com.jero.common.constant.enums.YesOrNoEnum;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.vo.DictModelMany;
import com.jero.common.util.MessageUtils;
import com.jero.common.util.SqlInjectionUtil;
@@ -476,7 +479,9 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, SysDict> impl
public List<SysDict> queryDictName(SysDict sysDict) {
{
QueryWrapper<SysDict> queryWrapper = new QueryWrapper<>();
queryWrapper.select("id", "dict_name","dict_en_name", "attribute_type","dict_code").eq("is_tag_dict", 1);
queryWrapper.select("id", "dict_name","dict_en_name", "attribute_type","dict_code")
.eq("is_tag_dict", 1)
.orderByAsc("order_num");
if (LanguageEnum.CN.equals(MessageUtils.getLanguage())) {
return list(queryWrapper);
}else{
@@ -486,4 +491,30 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, SysDict> impl
}
}
}
@Override
public void deleteById(String id) {
SysDict dict = getById(id);
String dictCode = dict.getDictCode();
//查询字典是否被标签使用
Integer integer = baseMapper.checkUsed(dictCode);
if (integer > 0){
throw new JeroBootException(ResultCommon.DICT_DELETE_ERROR);
}
this.removeById(id);
}
@Override
public void deleteByIds(List<String> idList) {
List<SysDict> sysDicts = this.listByIds(idList);
for (SysDict dict : sysDicts) {
String dictCode = dict.getDictCode();
//查询字典是否被标签使用
Integer integer = baseMapper.checkUsed(dictCode);
if (integer > 0){
throw new JeroBootException(ResultCommon.DICT_DELETE_ERROR);
}
}
this.removeByIds(idList);
}
}