范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

OA自动化办公管理系统(javaLayuiSSMMavenmysqlJSPhtml)

  一、项目运行
  环境配置:
  Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)
  项目技术:
  JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等
  用户管理控制层:/**  * @author yy  */   @Controller @RequestMapping("/user") public class UserController extends BaseController{       private String prefix = "system/user/";       @Autowired     IUserService iUserService;     @Autowired     IRoleService iRoleService;     @Autowired     IDeptService iDeptService;     @Autowired     IPositionService iPositionService;       @Autowired     private SysPasswordService passwordService;           /**      *      * @描述 跳转到用户页面      *      * @date 2018/9/16 10:54      */     @RequestMapping("/tolist")     @RequiresPermissions("user:list")     public String toUserList()     {         return prefix + "user";     }         /**      * @描述 用户数据      * @date 2018/9/15 12:30      */     @RequestMapping("/tableList")     @ResponseBody     public TableDataInfo list(User user)     {         startPage();         List users = iUserService.selectByUser(user);           return getDataTable(users);     }         /**      * 编辑用户 system/user/edit/20180914-1      */     @RequiresPermissions("user:update")     @RequestMapping("/edit/{userId}")     public String edit(@PathVariable("userId") String userId, Model model)     {         // 个人信息         User user = iUserService.selectByPrimaryKey(userId);         Map role_post_dept = getRole_Post_Dept();         model.addAttribute("depts", role_post_dept.get("dept"));         model.addAttribute("roles", role_post_dept.get("role"));         model.addAttribute("positions", role_post_dept.get("position"));         model.addAttribute("user", user);         return prefix + "edit";     }       /**      *      * @描述 保存用户      *      * @date 2018/9/15 18:53      */     @PostMapping("/editSave")     @RequiresPermissions("user:update")     @Operlog(modal = "用户管理", descr = "修改用户信息")     @ResponseBody     public AjaxResult save(User user)     {         if (StringUtils.isNotNull(user.getUid()) && User.isBoss(user.getUid()))         {             return error("不允许修改管理员用户");         }         if(user.getPwd()!=null){             user.setSalt(ShiroUtils.randomSalt());             SimpleHash md5 = new SimpleHash("MD5", user.getPwd(), user.getSalt(), 1024);             user.setPwd(md5.toHex());         }         return result(iUserService.updateByPrimaryKeySelective(user));     }         /**      * @描述 添加用户页面      * @date 2018/9/15 18:46      */     @RequestMapping("/toAdd")     @RequiresPermissions("user:add")     public String toaddUser(Model model)     {         Map role_post_dept = getRole_Post_Dept();         model.addAttribute("depts", role_post_dept.get("dept"));         model.addAttribute("roles", role_post_dept.get("role"));         model.addAttribute("positions", role_post_dept.get("position"));         return prefix + "add";     }       /**      *      * @描述 添加用户      *      * @date 2018/9/15 20:40      */       @RequestMapping("/addSave")     @RequiresPermissions("user:add")     @Operlog(modal = "用户管理", descr = "添加用户")     @ResponseBody     public AjaxResult addUser(User user)     {         user.setSalt(ShiroUtils.randomSalt());         SimpleHash md5 = new SimpleHash("MD5", user.getPwd(), user.getSalt(), 1024);         user.setPwd(md5.toHex());         user.setAvatar(CsEnum.avatar.USER_AVATAR.getValue());         user.setCreateTime(new Date());         return result(iUserService.insertSelective(user));     }       /**      *      * @描述 批量删除      *      * @date 2018/9/16 9:31      */     @RequestMapping("/del")     @RequiresPermissions("user:del")     @Operlog(modal = "用户模块", descr = "删除用户")     @ResponseBody     public AjaxResult delByUserIds(String[] ids)     {         try         {             int i = iUserService.deleteByPrimaryKeys(ids);         }         catch (Exception e)         {             return error(e.getMessage());         }         return success();     }       /**      *      * @描述 编辑密码修改页面      *      * @date 2018/9/16 10:25      */     @RequestMapping("/resetPwd/{userId}")     @RequiresPermissions("user:update")     public String editPwd(@PathVariable("userId") String id, Model model)     {         model.addAttribute("uid", id);         return prefix + "resetPwd";     }         /**      *      * @描述 密码修改      *      * @date 2018/9/16 10:42      */       @RequestMapping("/resetPwd")     @RequiresPermissions("user:update")     @Operlog(modal = "用户模块", descr = "修改密码")     @ResponseBody     public AjaxResult resetPwd(User user)     {         return result(iUserService.resrtPwd(user));     }       /**      * 校验手机号码      */     @PostMapping("/checkPhoneUnique")     @ResponseBody     public String checkPhoneUnique(User user)     {         String uniqueFlag = "0";         if (user != null)         {             uniqueFlag = iUserService.checkPhoneUnique(user);         }         return uniqueFlag;     }       /**      * 校验email邮箱      */     @PostMapping("/checkEmailUnique")     @ResponseBody     public String checkEmailUnique(User user)     {         String uniqueFlag = "0";         if (user != null)         {             uniqueFlag = iUserService.checkEmailUnique(user);         }         return uniqueFlag;     }         /**      *      * @描述: 校验登录名唯一性      *      * @params:      * @return:      * @date: 2018/10/2 17:06      */     @PostMapping("/checkLoginNameUnique")     @ResponseBody     public String checkLoginNameUnique(User user)     {         String uniqueFlag = "0";         if (user != null)         {             uniqueFlag = iUserService.checkLoginNameUnique(user);         }         return uniqueFlag;     }         public Map getRole_Post_Dept()     {         Map map = new HashMap<>(); //        角色         List roles = iRoleService.selectRoleList(new Role()); //        部门信息         List depts = iDeptService.selectDeptList(new Dept()); //        岗位         List positions = iPositionService.selectPositionList(new Position());         map.put("role", roles);         map.put("dept", depts);         map.put("position", positions);           return map;     }         /**      * 用户个人信息查看页面      */     @RequestMapping("/myMsg")     public String ToMyMsg(Model model, HttpServletRequest request)     {         User user = iUserService.selectByPrimaryKey(getUserId());         model.addAttribute("user", user);         model.addAttribute("loginIp", HttpHeaderUtil.getIpAddr(request));         return prefix + "profile/msg";     }         /**      * 密码修改页面      */     @RequestMapping("/resetMyPwd")     public String toResetPwd(Model model)     {         User user = iUserService.selectByPrimaryKey(getUserId());         model.addAttribute("user", user);         return prefix + "profile/resetPwd";     }       /**      * 密码修改保存      */     @RequestMapping("/updateMyPwdSave")     @ResponseBody     @RequiresPermissions("user:update")     @Operlog(modal = "个人信息", descr = "修改密码")     public AjaxResult updateMyPwdSave(String password)     {         User user = new User();         user.setSalt(ShiroUtils.randomSalt());         SimpleHash md5 = new SimpleHash("MD5", password, user.getSalt(), 1024);         user.setPwd(md5.toHex());         user.setUid(getUserId());         int i = iUserService.updateByPrimaryKeySelective(user);         if (i > 0)         {             //更新shiro中的信息             ShiroUtils.reloadUser(iUserService.selectByPrimaryKey(getUserId()));             return success();         }         return error();     }       /**      * 编辑用户头像修改      */     @RequestMapping("/updateAvatar")     public String toupdateAvatar(Model model)     {         model.addAttribute("user", getUser());         return prefix + "profile/avatar";     }       /**      * 修改保存用户头像      */     @RequestMapping("/updateAvatarSave")     @RequiresPermissions("user:update")     @Operlog(modal = "个人信息", descr = "修改头像")     @ResponseBody     public AjaxResult toupdateAvatar(MultipartFile file)     {         try         {             String imgPath = UploadFile.uploadUserImg(file);             if (StringUtils.isEmpty(imgPath))             {                 return error("图片上传失败,稍后再试!");             }               User user = new User();             user.setUid(getUserId());             user.setAvatar(imgPath);             int i = iUserService.updateByPrimaryKeySelective(user);             if (i > 0)             {                 ShiroUtils.reloadUser(iUserService.selectByPrimaryKey(getUserId()));             }             return result(i);         }         catch (IOException e)         {             return error();         }         catch (FileSizeException e)         {             //文件过大             return error(e.getMsg());         }         catch (FileNameLengthException e)         {             //文件名字超长             return error(e.getMsg());         }     }         /**      * 校验密码和原来密码是否相同      */     @RequestMapping("/checkPassword")     @ResponseBody     public boolean checkPassword(String password)     {         //加密后与数据库密码比较         User user = getUser();         SimpleHash md5 = new SimpleHash("MD5", password, user.getSalt(), 1024);         String oldPassword = md5.toHex();         String pwd = getPwd();         if (pwd.equals(oldPassword))         {             return true;         }         return false;     }     }部门管理控制层:/**  * @author yy  */ @Controller @RequestMapping("/dept") public class DeptController extends BaseController{       private String prefix = "system/dept/";       @Autowired     IDeptService iDeptService;       @Autowired     IUserService iUserService;         /**      *      * @描述 页面跳转到部门      *      * @date 2018/9/16 10:59      */       @RequestMapping("/tolist")     @RequiresPermissions("dept:list")     public String tolist()     {         return prefix + "dept";     }         /**      *      * @描述 ajax请求的所有部门      *      * @date 2018/9/16 10:48      */     @RequestMapping("/ajaxlist")     @ResponseBody     public List list(Dept dept)     {         List depts = iDeptService.selectDeptList(dept);         return depts;     }       /**      *      * @描述 部门列表页      *      * @date 2018/9/16 10:52      */     @RequestMapping("/tableList")     @ResponseBody     public TableDataInfo listPag(Dept dept)     {         //开启分页         startPage();         List depts = iDeptService.selectDeptList(dept);         return getDataTable(depts);     }         /**      *      * @描述 新增页面      *      * @date 2018/9/16 11:37      */     @RequiresPermissions("dept:add")     @RequestMapping("/toAdd")     public String toAdd(Model model)     {         List users = iUserService.selectByUser(new User());         model.addAttribute("users", users);         return prefix + "add";     }         /**      *      * @描述: 查询所有部门下的所有用户 用户归类 树状数据      *      * @date: 2018/9/27 11:25      */     @RequestMapping("/getDeptAndUserTreeData")     @ResponseBody     public List DeptAndUserTreeData()     {         List depts = iDeptService.selectDeptAndUser();           List users=new ArrayList<>();         LinkedList deptList = new LinkedList<>();         for (Dept dept : depts)         {             Map deptMap = new HashMap();             deptMap.put("name", dept.getDeptName());             deptMap.put("id", null);             users = dept.getUsers();             LinkedList userlist = new LinkedList<>();             for (User user : users)             {                 Map userMap = new HashMap();                 userMap.put("name",user.getName());                 userMap.put("id",user.getUid());                 userMap.put("icon","/img/timg.jpg");                 userlist.add(userMap);             }             deptMap.put("children",userlist);             deptList.add(deptMap);         }           return deptList;     }         /**      *      * @描述 批量删除      *      * @date 2018/9/16 11:53      */     @RequestMapping("/del")     @RequiresPermissions("dept:del")     @ResponseBody     @Operlog(modal = "部门管理",descr = "删除部门")     public AjaxResult del(String[] ids)     {         try         {             iDeptService.deleteByPrimaryKeys(ids);         }         catch (Exception e)         {             return error(e.getMessage());         }         return success();     }         /**      *      * @描述 执行保存操作      *      * @date 2018/9/16 11:54      */       @RequestMapping("/addSave")     @Operlog(modal = "部门管理",descr = "添加部门")     @RequiresPermissions("dept:add")     @ResponseBody     public AjaxResult addDept(Dept dept)     {         dept.setCreateTime(new Date());         return  result(iDeptService.insertSelective(dept));     }         /**      *      * @描述 编辑修改页面      *      * @date 2018/9/16 14:06      */     @RequestMapping("/edit/{id}")     @RequiresPermissions("dept:update")     public String edit(@PathVariable("id") String id, Model model)     {         Dept dept = iDeptService.selectByPrimaryKey(id);         List users = iUserService.selectByUser(new User());         model.addAttribute("users", users);           model.addAttribute("Dept", dept);         return prefix + "edit";       }       /**      *      * @描述 修改保存      *      * @date 2018/9/16 16:12      */     @RequestMapping("/editSave")     @RequiresPermissions("dept:update")     @Operlog(modal = "部门管理",descr = "修改信息")     @ResponseBody     public AjaxResult save(Dept dept)     {         int i = 0;         try         {             i = iDeptService.updateByPrimaryKeySelective(dept);         }         catch (Exception e)         {             return error(e.getMessage());         }         return result(i);     }         /**      * 校验部门名称      */     @PostMapping("/checkDeptNameUnique")     @ResponseBody     public String checkDeptNameUnique(Dept dept)     {         String uniqueFlag = "0";         if (dept != null)         {             uniqueFlag = iDeptService.checkDeptNameUnique(dept);         }         return uniqueFlag;     } }角色管理控制层:/**  * @author yy  */ @Controller @RequestMapping("/role") public class RoleController extends BaseController{     private String prefix = "system/role/";         @Autowired     IUserService iUserService;       @Autowired     IRoleService iRoleService;       @Autowired     IPermissionService iPermissionService;       /**      *      * @描述 页面跳转      *      * @date 2018/9/16 10:59      */     @RequestMapping("/tolist")     @RequiresPermissions("role:list")     public String tolist()     {         return prefix + "role";     }         /**      *      * @描述 ajax请求所有      *      * @date 2018/9/16 10:48      */     @RequestMapping("/ajaxlist")     @ResponseBody     public List list(Role role)     {         List roles = iRoleService.selectRoleList(role);         return roles;     }       /**      *      * @描述 列表      *      * @date 2018/9/16 10:52      */     @RequestMapping("/tableList")     @ResponseBody     public TableDataInfo listPag(Role role)     {         //开启分页         startPage();         List roles = iRoleService.selectRoleList(role);         return getDataTable(roles);     }         /**      *      * @描述 新增页面      *      * @date 2018/9/16 11:37      */     @RequestMapping("/toAdd")     @RequiresPermissions("role:add")     public String toAdd(Model model)     {         return prefix + "add";     }         /**      *      * @描述 批量删除      *      * @date 2018/9/16 11:53      */     @RequestMapping("/del")     @RequiresPermissions("role:del")     @Operlog(modal = "角色管理",descr = "删除角色")     @ResponseBody     public AjaxResult del(Integer[] ids)     {         try         {             iRoleService.deleteByPrimaryKeys(ids);         }         catch (Exception e)         {             return error(e.getMessage());         }         return success();     }         /**      *      * @描述 添加保存      *      * @date 2018/9/16 11:54      */       @RequestMapping("/addSave")     @RequiresPermissions("role:update")     @Operlog(modal = "角色管理",descr = "添加角色")     @ResponseBody     public AjaxResult addRole(Role role, Integer[] ids)     {         role.setCreateTime(new Date());         int insert = 0;         try         {             if (StringUtils.isEmpty(ids))             {                 ids = new Integer[0];             }             insert = iRoleService.insert(role, ids);         }         catch (Exception e)         {             return error(e.getMessage());         }         //清空缓存         ShiroUtils.clearCachedAuthorizationInfo();         return  result(insert);     }         /**      *      * @描述: 根据ID 获取u他的所有权限 做回显      *      * @params: roleId 角色Id      * @return:      * @date: 2018/9/27 14:04      */     @RequestMapping("/selectById/{roleId}")     @ResponseBody     public Role selectById(@PathVariable("roleId") Integer roleId)     {         Role role = iRoleService.selectByPrimaryKey(roleId);         return role;     }         /**      *      * @描述 编辑修改页面      *      * @date 2018/9/16 14:06      */     @RequestMapping("/edit/{id}")     @RequiresPermissions("role:update")     public String edit(@PathVariable("id") Integer id, Model model)     {         Role role = iRoleService.selectByPrimaryKey(id);         model.addAttribute("Role", role);         return prefix + "edit";     }       /**      *      * @描述 编辑修改权限页面      *      * @date 2018/9/16 14:06      */     @RequestMapping("/editPower/{id}")     @RequiresPermissions("role:update")     public String editPower(@PathVariable("id") Integer id, Model model)     {         Role role = iRoleService.selectByPrimaryKey(id);         model.addAttribute("Role", role);         return prefix + "editPower";     }         /**      *      * @描述 修改角色信息保存      *      * @date 2018/9/16 16:12      */     @RequestMapping("/editSave")     @RequiresPermissions("role:update")     @Operlog(modal = "角色管理",descr = "修改角色信息")     @ResponseBody     public AjaxResult save(Role role)     {         int i = 0;         try         {             i = iRoleService.updateByPrimaryKeySelective(role);         }         catch (Exception e)         {             return error(e.getMessage());         }         return result(i);     }         /**      *      * @描述 修改角色权限信息保存      *      * @date 2018/9/16 16:12      */     @RequestMapping("/editPowerSave")     @RequiresPermissions("role:update")     @Operlog(modal = "角色管理",descr = "修改角色权限")     @ResponseBody     public AjaxResult editPowerSave(Role role, Integer[] ids)     {         int i = 0;         try         {             if (StringUtils.isEmpty(ids))             {                 ids = new Integer[0];             }             i = iRoleService.updateByPrimaryKeyPowerSelective(role, ids);         }         catch (Exception e)         {             return error(e.getMessage());         }         //清空缓存         ShiroUtils.clearCachedAuthorizationInfo();         //如果用户正在修改的角色id 是当前用户的角色id 则刷新 subject的User信息         if (role.getRoleId().equals(getRoleId()))         {             ShiroUtils.reloadUser(iUserService.selectByPrimaryKey(getUserId()));         }         return result(i);     }         /**      * 校验名称唯一      */     @PostMapping("/checkRoleNameUnique")     @ResponseBody     public String checkDeptNameUnique(Role role)     {         String uniqueFlag = "0";         if (role != null)         {             uniqueFlag = iRoleService.checkRoleNameUnique(role);         }         return uniqueFlag;     } }项目源码及开发文档
  由于限制,这里不能直接放链接,需要项目源码与开发文档的同学转发本文+关注+私信【0221】 即可获取
iOS15到底哪个版本好用,iOS应该停留在什么版本iOS系统不同的版本体验天差地别,因为一旦关闭验证就无法降级导致很多用户不知道该不该升级!其实判断哪个版本优化好是有迹可循的,苹果系统开发也有节奏一起来看一下吧。iOS15iOS1魅族再次开启福利免费换电池!你参加了吗?魅族再次开启福利免费换电池!你参加了吗?魅族科技,目前来说,机型越来越少了,但是,不得不承认,魅族科技在国人心中还是有一定的地位的,毕竟曾经是国产创新代表,是国民手机的典范,所以曾双语直播带货,新东方累计涨超10701hr新东方转型磕磕碰碰6个月,终于在直播赛道迎来高光时刻。旗下英语老师董宇辉坐镇的东方甄选直播间,一度冲上抖音带货榜TOP5。近日,东方甄选直播间关注人数急速上升,截止6月12今日A股下跌29点,刚刚传来2个重要消息,或将引发A股继续下跌?6月13日,中国股市收盘了,今天的行情走得非常难受,盘中出现恐慌,让股民交了枪,盘后又不慌,让股民大失所望,究竟发生什么?在刚刚,市场传来2个重要消息,或将引发A股新一轮大跌行情,国际油价不断上涨,美国总统都看不下去了看看A股的石油股票最近国际油价接连上涨,我国的92号汽油已经突破了9元,布伦特原油价格在120附近拉锯,就连美国总统拜登都在抨击埃克森美孚公司没有生产更多石油,说他们埃克森美孚今年赚的钱比上帝还多。今日水素珊瑚藻人体必需的营养素吃什么,怎么吃,是如今大众越来越关注的问题。在物质缺乏的年代,吃得饱是人们饮食的第一追求。而在物质极大丰富的今天,如何选择身体所需的食物,吃得营养吃得健康则成为人们更深层次的追求。终结U盘的不是PSSD,高速OTG才是正解,斐数高速U盘给你打个样啥?U盘又被终结了?这个话题真是月经一次,年年不得消停。听哥一句劝,别再胡诌了U盘现在死不了,未来也不会消亡如此小巧的U盘,目前移动固态硬盘(英文缩写为PSSD)闹腾好几年了,顶多电商平台下架低俗宣传的牛磺酸泡腾片中新财经6月13日电12日,上海外国语大学一女生饮料中被他人投放不明物,投放者向警方承认其在女生咖啡杯中投放了半片牛磺酸泡腾片,该泡腾片系从网上购买。此前有媒体报道,电商平台上的牛乔丹生涯两次被人夺走MVP,巴克利还算说得过去,马龙被联盟照顾说起历史第一人乔丹,职业生涯6次拿到FMVP6夺总冠军,历史上唯一一个做到两次三连冠并且拿下6个FMVP的球员,同时在常规赛他还有着10届得分王历史第一,5次常规赛MVP历史第二仅苹果iPhone14系列四款机模上手视频IT之家6月13日消息,据9to5Mac报道,现在WWDC22已经结束,即将到来的下一个苹果活动很可能是9月发布iPhone14系列新机。此前爆料称该阵容将包括iPhone14iP联盟南巡海南大康会2022年6月初,中华武龙全国联盟常务副理事长联席秘书长袁钢受联盟委托,担任联盟南巡团团长,南下深圳海南进行考察,在海南受到了中华武龙全国联盟开盟元勋海南省大康养老服务中心创始人顾
我是,不会怀念以前的回忆不知道你十几岁的时候是否会有这种想法我以后是不会怀念现在的日子的。我有过这种想法,不过当时我并没有和任何人说起过,而是也同大家一样与同学们互相道别着。当时,觉得自己的生活是那么2022年年终总结所有发生的一切都需要被记录下来,否则,过去终将湮灭在滚滚向前的时间车轮之下。即将过去的这一年,对于我来说意味着什么,我获得了什么意义,乘着还能做一些回忆,我要抓紧记录下来,以便未来12月,上海飞洛杉矶全过程(中篇)闲话不表,书接上回。上篇说到我们准备了哪些材料,中篇就来说说我们遇到的一些小麻烦,给大家一些参考,准备材料其实是难的,每次来洛杉矶基本都要准备,烦但不难,这次来洛杉矶最难的却是难点实体店之殇上海夜市的消失导读上海的夜市文化,老早是上海的特色。到了夜里厢,大排档美食夜市的小商品,真的是老赞的。但是,现在夜市已经名实俱亡,新搞的夜市是一天世界。上海夜市文化,彻底横死版了。彭浦夜市要说夜野三坡的兴起源自北京晚报本文来源发现涞水1986年7月11日,北京晚报头版刊登了题为京西新辟综合性风景区的报道,让位于国家级贫困县涞水县的野三坡景区首次出现在北京乃至全国人民的视线中。几天后,上万名北京游想念不如相见!郑州园博园12月30日恢复开园大河报豫视频记者王永璐今天上午,大河报豫视频记者从郑州园博园了解到,经历77天的等待,郑州园博园将于12月30日恢复对外开放,虽季节有变,但园博园精彩不减。据郑州园博园工作人员介绍排超积分榜出炉!交叉赛强弱分明,天津一家独大,江苏上海又同组头条创作挑战赛北京时间12月27日,中国女排排球超级联赛八强排位赛结束全部较量。尽管山东,辽宁等俱乐部球员因发烧减员严重,不过在球队剩余球员的努力之下,终于完成了比赛任务。八强排位汪小菲晒北京新开四合院餐厅画面惊现张兰身影母子做戏真相曝光上个月,汪小菲和大S为豪宅电费吵翻天,再掀离婚风暴,汪小菲与其母亲张兰目前也处于闹翻状态。但就在近日,汪小菲在社交平台上晒出了自己在北京的四合院视频,表示这是和友人们在北京前门开的第2116篇(随笔)好人品才有好人生一个善良的人,才会真诚待人一个品行正的人,才会本分做人。生活中,与善良的人在一起,能让你舒服放松,与品正的人交往,才能让你踏实安心。做人,品行正,人人敬重心善良,人人爱护。和品行端就搞您自己的时间管理,发您自己的财就搞您自己的时间管理,发您自己的财这个世界坏得很,不要接触任何人,不要让任何人接触到您。您不用在意任何人高兴不高兴,您不用给任何人脸面,您只要自己爽就可以,您只要自己能发财,您就是破产那件小事(五)红尘波浪两茫茫,忍辱柔和是妙方。从来硬弩弦先断,自古钢刀口易伤。人为贪财身先丧,鸟为夺食命早亡。任你奸猾多取巧,难免荒郊土内藏。忍字头上一把刀,这话没毛病。可忍的事情多了,就像往心