|
|
|
@ -9,6 +9,9 @@ import java.util.List; |
|
|
|
import java.util.Set; |
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
import com.hxhq.business.domain.SystemLog; |
|
|
|
import com.hxhq.business.service.ISystemLogService; |
|
|
|
import com.hxhq.business.utils.ObjectCompareUtil; |
|
|
|
import com.hxhq.system.domain.SysMenu; |
|
|
|
import com.hxhq.system.domain.vo.MetaVo; |
|
|
|
import com.hxhq.system.domain.vo.RouterVo; |
|
|
|
@ -45,6 +48,9 @@ public class SysMenuServiceImpl implements ISysMenuService |
|
|
|
@Autowired |
|
|
|
private SysRoleMenuMapper roleMenuMapper; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private ISystemLogService systemLogService; |
|
|
|
|
|
|
|
/** |
|
|
|
* 根据用户查询系统菜单列表 |
|
|
|
* |
|
|
|
@ -302,7 +308,9 @@ public class SysMenuServiceImpl implements ISysMenuService |
|
|
|
@Override |
|
|
|
public int insertMenu(SysMenu menu) |
|
|
|
{ |
|
|
|
return menuMapper.insertMenu(menu); |
|
|
|
int row = menuMapper.insertMenu(menu); |
|
|
|
systemLogService.saveInfo("新增菜单","Add Menu",menu.getMenuName(),menu.getMenuName(),SecurityUtils.getUserId(),SecurityUtils.getNickName(),SecurityUtils.getUsername(),null); |
|
|
|
return row; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
@ -314,7 +322,14 @@ public class SysMenuServiceImpl implements ISysMenuService |
|
|
|
@Override |
|
|
|
public int updateMenu(SysMenu menu) |
|
|
|
{ |
|
|
|
return menuMapper.updateMenu(menu); |
|
|
|
SysMenu old = selectMenuById(menu.getMenuId()); |
|
|
|
int row = menuMapper.updateMenu(menu); |
|
|
|
|
|
|
|
List<SystemLog> logList = getModifyLogList(menu,old); |
|
|
|
if(logList.size()>0){ |
|
|
|
systemLogService.saveBatch(logList); |
|
|
|
} |
|
|
|
return row; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
@ -326,7 +341,10 @@ public class SysMenuServiceImpl implements ISysMenuService |
|
|
|
@Override |
|
|
|
public int deleteMenuById(Long menuId) |
|
|
|
{ |
|
|
|
return menuMapper.deleteMenuById(menuId); |
|
|
|
SysMenu menu = selectMenuById(menuId); |
|
|
|
int row = menuMapper.deleteMenuById(menuId); |
|
|
|
systemLogService.saveInfo("删除菜单","Remove Menu",menu.getMenuName(),menu.getMenuName(),SecurityUtils.getUserId(),SecurityUtils.getNickName(),SecurityUtils.getUsername(),null); |
|
|
|
return row; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
@ -541,4 +559,61 @@ public class SysMenuServiceImpl implements ISysMenuService |
|
|
|
return StringUtils.replaceEach(path, new String[] { Constants.HTTP, Constants.HTTPS, Constants.WWW, ".", ":" }, |
|
|
|
new String[] { "", "", "", "/", "/" }); |
|
|
|
} |
|
|
|
|
|
|
|
private List<SystemLog> getModifyLogList(SysMenu info,SysMenu old){ |
|
|
|
List<SystemLog> list = new ArrayList<>(); |
|
|
|
|
|
|
|
List<ObjectCompareUtil.FieldChange> fieldChanges = ObjectCompareUtil.compareObjects(old, info); |
|
|
|
for (ObjectCompareUtil.FieldChange fieldChange : fieldChanges) { |
|
|
|
SystemLog log = getLogInfo(); |
|
|
|
log.setJcnr(fieldChange.toString()); |
|
|
|
log.setJcnrEn(fieldChange.toEnString()); |
|
|
|
list.add(log); |
|
|
|
} |
|
|
|
//特殊字段 |
|
|
|
if(!info.getParentId().equals(old.getParentId())){ |
|
|
|
String infoParentName = info.getParentId().equals(0L)?"":selectMenuById(info.getParentId()).getMenuName(); |
|
|
|
String oldParentName = old.getParentId().equals(0L)?"":selectMenuById(old.getParentId()).getMenuName(); |
|
|
|
|
|
|
|
SystemLog log = getLogInfo(); |
|
|
|
log.setJcnr("[{\"name\":\"字段名\",\"value\":\"上级菜单\"},{\"name\":\"原值\",\"value\":\""+oldParentName+"\"},{\"name\":\"新值\",\"value\":\""+infoParentName+"\"}]"); |
|
|
|
log.setJcnrEn("[{\"name\":\"Field\",\"value\":\"Parent Menu\"},{\"name\":\"Old Value\",\"value\":\""+oldParentName+"\"},{\"name\":\"New Value\",\"value\":\""+infoParentName+"\"}]"); |
|
|
|
list.add(log); |
|
|
|
} |
|
|
|
if(!info.getMenuType().equals(old.getMenuType())){ |
|
|
|
SystemLog log = getLogInfo(); |
|
|
|
log.setJcnr("[{\"name\":\"字段名\",\"value\":\"菜单类型\"},{\"name\":\"原值\",\"value\":\""+(old.getMenuType().equals("M")?"目录":old.getMenuType().equals("C")?"菜单":"按钮")+"\"},{\"name\":\"新值\",\"value\":\""+(info.getMenuType().equals("M")?"目录":info.getMenuType().equals("C")?"菜单":"按钮")+"\"}]"); |
|
|
|
log.setJcnrEn("[{\"name\":\"Field\",\"value\":\"Type\"},{\"name\":\"Old Value\",\"value\":\""+(old.getMenuType().equals("M")?"Dir":old.getMenuType().equals("C")?"Menu":"Btn")+"\"},{\"name\":\"New Value\",\"value\":\""+(info.getMenuType().equals("M")?"Dir":info.getMenuType().equals("C")?"Menu":"Btn")+"\"}]"); |
|
|
|
list.add(log); |
|
|
|
} |
|
|
|
if(!info.getStatus().equals(old.getStatus())){ |
|
|
|
SystemLog log = getLogInfo(); |
|
|
|
log.setJcnr("[{\"name\":\"字段名\",\"value\":\"菜单状态\"},{\"name\":\"原值\",\"value\":\""+(old.getMenuType().equals("0")?"显示":"隐藏")+"\"},{\"name\":\"新值\",\"value\":\""+(info.getMenuType().equals("0")?"显示":"隐藏")+"\"}]"); |
|
|
|
log.setJcnrEn("[{\"name\":\"Field\",\"value\":\"Status\"},{\"name\":\"Old Value\",\"value\":\""+(old.getMenuType().equals("0")?"Visible":"Hide")+"\"},{\"name\":\"New Value\",\"value\":\""+(info.getMenuType().equals("0")?"Visible":"Hide")+"\"}]"); |
|
|
|
list.add(log); |
|
|
|
} |
|
|
|
if(!info.getIsCache().equals(old.getIsCache())){ |
|
|
|
SystemLog log = getLogInfo(); |
|
|
|
log.setJcnr("[{\"name\":\"字段名\",\"value\":\"是否缓存\"},{\"name\":\"原值\",\"value\":\""+(old.getIsCache().equals("0")?"缓存":"不缓存")+"\"},{\"name\":\"新值\",\"value\":\""+(info.getIsCache().equals("0")?"缓存":"不缓存")+"\"}]"); |
|
|
|
log.setJcnrEn("[{\"name\":\"Field\",\"value\":\"Cache Or Not\"},{\"name\":\"Old Value\",\"value\":\""+(old.getIsCache().equals("0")?"Cache":"No Cache")+"\"},{\"name\":\"New Value\",\"value\":\""+(info.getIsCache().equals("0")?"Cache":"No Cache")+"\"}]"); |
|
|
|
list.add(log); |
|
|
|
} |
|
|
|
return list; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 获取日志基础信息 |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
private SystemLog getLogInfo(){ |
|
|
|
SystemLog log = new SystemLog(); |
|
|
|
log.setJcmc("修改菜单"); |
|
|
|
log.setJcmcEn("Modify Menu"); |
|
|
|
log.setQmrId(SecurityUtils.getUserId()); |
|
|
|
log.setQmrMc(SecurityUtils.getNickName()); |
|
|
|
log.setQmrMcEn(SecurityUtils.getUsername()); |
|
|
|
return log; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |