package cn.com.goldenwater.dcproj.service.impl.system;
import cn.com.goldenwater.core.service.AbstractCrudService;
import cn.com.goldenwater.dcproj.dao.BisInspAllRlationPersDao;
import cn.com.goldenwater.dcproj.dao.MenuDao;
import cn.com.goldenwater.dcproj.dao.PrivDao;
import cn.com.goldenwater.dcproj.dto.MenuDto;
import cn.com.goldenwater.dcproj.enums.PrivTypeEnum;
import cn.com.goldenwater.dcproj.enums.SqlExecuteStateEnum;
import cn.com.goldenwater.dcproj.enums.SystemFlagEnum;
import cn.com.goldenwater.dcproj.model.BisInspAllRlationPers;
import cn.com.goldenwater.dcproj.model.Menu;
import cn.com.goldenwater.dcproj.model.Priv;
import cn.com.goldenwater.dcproj.param.GetMenuByUserIdParam;
import cn.com.goldenwater.dcproj.param.InsertMenuParam;
import cn.com.goldenwater.dcproj.param.MenuParam;
import cn.com.goldenwater.dcproj.param.UpdateMenuParam;
import cn.com.goldenwater.dcproj.service.MenuService;
import cn.com.goldenwater.dcproj.utils.RecursiveSort;
import cn.com.goldenwater.id.util.UuidUtil;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
/**
* @author lune
* @date 2018-2-13
*/
@Service
@Transactional(rollbackFor = Exception.class)
public class MenuServiceImpl extends AbstractCrudService