当前位置: 首页 > news >正文

网站建设费用明细海口专业网站制作策划

网站建设费用明细,海口专业网站制作策划,人像摄影,重视网站建设#x1f44f;作者简介#xff1a;大家好#xff0c;我是小童#xff0c;Java开发工程师#xff0c;CSDN博客博主#xff0c;Java领域新星创作者 #x1f4d5;系列专栏#xff1a;前端、Java、Java中间件大全、微信小程序、微信支付、若依框架、Spring全家桶 #x1f4… 作者简介大家好我是小童Java开发工程师CSDN博客博主Java领域新星创作者 系列专栏前端、Java、Java中间件大全、微信小程序、微信支付、若依框架、Spring全家桶 如果文章知识点有错误的地方请指正和大家一起学习一起进步 如果感觉博主的文章还不错的话请三连支持一下博主哦 博主正在努力完成2023计划中以梦为马扬帆起航2023追梦人  问题起源 最近因为自己在给公司开发新的管理系统参考了开源系统若依中的很多地方尤其是若依系统中的菜单管理角色管理用户管理部分。在学习研究这几个版块时发现一个比较“怪”的现象在若依系统中添加操作通常我们称为add编辑操作通常称为update在其系统中大多数或者至少目前看到的情况均是拆分开的两个独立接口。 例如添加菜单与更新菜单的接口 添加菜单 /*** 新增菜单*/PreAuthorize(ss.hasPermi(system:menu:add))Log(title 菜单管理, businessType BusinessType.INSERT)PostMappingpublic AjaxResult add(Validated RequestBody SysMenu menu){if (UserConstants.NOT_UNIQUE.equals(menuService.checkMenuNameUnique(menu))){return AjaxResult.error(新增菜单 menu.getMenuName() 失败菜单名称已存在);}else if (UserConstants.YES_FRAME.equals(menu.getIsFrame()) !StringUtils.ishttp(menu.getPath())){return AjaxResult.error(新增菜单 menu.getMenuName() 失败地址必须以http(s)://开头);}menu.setCreateBy(getUsername());return toAjax(menuService.insertMenu(menu));}更新菜单 /*** 修改菜单*/PreAuthorize(ss.hasPermi(system:menu:edit))Log(title 菜单管理, businessType BusinessType.UPDATE)PutMappingpublic AjaxResult edit(Validated RequestBody SysMenu menu){if (UserConstants.NOT_UNIQUE.equals(menuService.checkMenuNameUnique(menu))){return AjaxResult.error(修改菜单 menu.getMenuName() 失败菜单名称已存在);}else if (UserConstants.YES_FRAME.equals(menu.getIsFrame()) !StringUtils.ishttp(menu.getPath())){return AjaxResult.error(修改菜单 menu.getMenuName() 失败地址必须以http(s)://开头);}else if (menu.getMenuId().equals(menu.getParentId())){return AjaxResult.error(修改菜单 menu.getMenuName() 失败上级菜单不能选择自己);}menu.setUpdateBy(getUsername());return toAjax(menuService.updateMenu(menu));} 又比如添加角色与更新角色的接口 添加角色 /*** 新增角色*/PreAuthorize(ss.hasPermi(system:role:add))Log(title 角色管理, businessType BusinessType.INSERT)PostMappingpublic AjaxResult add(Validated RequestBody SysRole role){if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleNameUnique(role))){return AjaxResult.error(新增角色 role.getRoleName() 失败角色名称已存在);}else if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleKeyUnique(role))){return AjaxResult.error(新增角色 role.getRoleName() 失败角色权限已存在);}role.setCreateBy(getUsername());return toAjax(roleService.insertRole(role));} 更新角色 /*** 修改保存角色*/PreAuthorize(ss.hasPermi(system:role:edit))Log(title 角色管理, businessType BusinessType.UPDATE)PutMappingpublic AjaxResult edit(Validated RequestBody SysRole role){roleService.checkRoleAllowed(role);if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleNameUnique(role))){return AjaxResult.error(修改角色 role.getRoleName() 失败角色名称已存在);}else if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleKeyUnique(role))){return AjaxResult.error(修改角色 role.getRoleName() 失败角色权限已存在);}role.setUpdateBy(getUsername());if (roleService.updateRole(role) 0){// 更新缓存用户权限LoginUser loginUser getLoginUser();if (StringUtils.isNotNull(loginUser.getUser()) !loginUser.getUser().isAdmin()){loginUser.setPermissions(permissionService.getMenuPermission(loginUser.getUser()));loginUser.setUser(userService.selectUserByUserName(loginUser.getUser().getUserName()));tokenService.setLoginUser(loginUser);}return AjaxResult.success();}return AjaxResult.error(修改角色 role.getRoleName() 失败请联系管理员);} 在比如用户版块 添加用户 /*** 新增用户*/PreAuthorize(ss.hasPermi(system:user:add))Log(title 用户管理, businessType BusinessType.INSERT)PostMappingpublic AjaxResult add(Validated RequestBody SysUser user){if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user.getUserName()))){return AjaxResult.error(新增用户 user.getUserName() 失败登录账号已存在);}else if (StringUtils.isNotEmpty(user.getPhonenumber()) UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))){return AjaxResult.error(新增用户 user.getUserName() 失败手机号码已存在);}else if (StringUtils.isNotEmpty(user.getEmail()) UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user))){return AjaxResult.error(新增用户 user.getUserName() 失败邮箱账号已存在);}user.setCreateBy(getUsername());user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));return toAjax(userService.insertUser(user));} 更新用户 /*** 修改用户*/PreAuthorize(ss.hasPermi(system:user:edit))Log(title 用户管理, businessType BusinessType.UPDATE)PutMappingpublic AjaxResult edit(Validated RequestBody SysUser user){userService.checkUserAllowed(user);if (StringUtils.isNotEmpty(user.getPhonenumber()) UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))){return AjaxResult.error(修改用户 user.getUserName() 失败手机号码已存在);}else if (StringUtils.isNotEmpty(user.getEmail()) UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user))){return AjaxResult.error(修改用户 user.getUserName() 失败邮箱账号已存在);}user.setUpdateBy(getUsername());return toAjax(userService.updateUser(user));} 猜测其接口拆分的原因 更新接口与添加接口一般都会有很多判断的先决条件如判断数据是否合法包括手机号唯一性邮箱账号唯一性菜单名称唯一性等等这些通常无论更新与添加都是需要判断的。 以菜单接口为例其添加接口判断参数合法性包括菜单名称唯一外链数据合法性 菜单更新接口除判断这两个数据外还需要判断更新时所选择的上级菜单不是自己 另外菜单添加与更新的区别是菜单添加设置的字段为 createBy与 createTime而更新菜单时需要设置的是 updateBy与 updateTime。 更新角色与添加角色的区别在于更新角色时还需要通过SpringSecurity来更新用户的权限数据。 添加用户时需要设置其密码字段而更新用户时则不需要。 我们分析其将接口拆分的主要原因是这样会使得程序逻辑更加的简单清晰而不用每次需要什么操作都额外判断添加与更新问题。 专栏若依框架  关注公众号领取资料。
http://www.hkea.cn/news/14192577/

相关文章:

  • 临沧市网站建设蜜芽加密通道入口2021
  • 购物商城网站搭建价目表海报app制作
  • 网站三大要素是什么意思广州新冠最新情况
  • 深圳做微信网站建设比特币wordpress插件
  • 深圳企业网站制作公司西宁做网站公司排名
  • 广州做网站 timhi英文网站排版
  • 企业网站建设文章网站utf8乱码
  • 品牌建设网站公司排名关键词点击优化工具
  • 网站建设如何传视频宁波做外贸网站
  • 网站建设推广99元吉林网站建设电话
  • 传媒网站上海工商查询网
  • 怎样做网站卖自己的产品教程拼多多一键铺货软件
  • 免费域名注册平台有哪些对网站有效的优化软件
  • 网站推广的意义和方法二级域名申请入口
  • 怎么做网站维护厦门app制作
  • 海南做网站的网络公司开发网站语言
  • 深圳建网站兴田德润优秀湘潭网站建设是什么
  • 怎么把自己做的网站发布出去wordpress用户密码原理
  • 简易网站开发时长平面设计培训内容
  • 关于当当网站建设方案wordpress自适应 分页
  • 做网站加班企业网站设计哪家好
  • 长春网站建设q479185700惠网站建设后期需要后期做的
  • 网站建设字体颜色代码合肥房价查询网
  • 广广东网站建设做好网站建设的重要性
  • 阿里巴巴网站域名建设wordpress排行榜小图标
  • 威海高新园区建设运营有限公司网站淳安县建设局网站
  • 网易严选的网站建设做竞价网站服务器多少钱
  • 西安网站建设和推广做电商有哪些网站有哪些内容
  • 网站开发需要多少费用wordpress可以做什么
  • 网站 建设 拖拉 源码 系统广州 网站建设网络推广网页设计