# by-api20240910 **Repository Path**: moshu01/by-api20240910 ## Basic Information - **Project Name**: by-api20240910 - **Description**: 销售后端 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-09-10 - **Last Updated**: 2024-09-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 后端架构 maven多模块的项目 * 多模块项目由管理一组子模块的聚合器 POM 构建 父模块: 聚合子模块,每个子模块都是一个maven项目 聚合模块:把多个模块放在一起,组织代码的 ## 模块介绍 by-api 父模块,用于组织代码结构的 ,在父pom.xml文件中 声明依赖(统一管理版本) by-common通用模块,封装基本的操作 , 依赖中不加版本号(版本由父pom统一管理) 项目三层: ![image-20240904101945611](assets/image-20240904101945611.png) ## MyBatis分页 ​ 通过分页插件PageHelper实现分页 ## 接口文档 > 在公司,定义接口: 请求方式 请求格式 json 请求地址 请求参数 响应参数 .... ### swagger 注解 : ## 统一返回接口 ## 后端验证 采用hibernate-validator 验证框架 启用注解 : * @Valid * @Validator ![验证](assets/%E9%AA%8C%E8%AF%81.png) ## 项目管理 * teambition (收费) * 禅道 * 阿里云效 * 腾讯coding * .... ## token 认证: > 操作资源的权限 > > 抓包工具 * 基础认证 **Basic Auth** * Cookie认证 > 会话技术 : > > 访问jsp页面时:第一次服务会返回cookie jsessionid=2222 > > * session 服务器端 > * cookie 客户端 (cookie中的信息 每次请求 自动携带到服务器) * Token > 这是一种 SPA 应用和 APP 经常使用的认证方法。它是一种无状态的认证方法。 > > 一个加密过的字符串 > > js中的两个对象: > > * sessionStorage 会话存储 > * localStorage 本地存储 > * 请求头中都携带 Token > * 服务端只通过运算(无需查询)来验证用户。 * OAuth2.0 授权认证 ## 跨域 同源策略: 协议 域名 端口号 三者一致为同源 * CORS * CSRF 攻击 ## 单点登录(SSO)场景 ## powerdesigner 数据库建模软件 关于建表: 建议给表增加前缀,如 * 系统管理 sys_user s_user * 业务 订单 b_order * 第三方 c_ 关于字段: 通用字段: * createTime 创建时间 (创建人) * updateTime 更新时间 (更新人) * 逻辑删除字段 isdel 0 未删除 1已删除 ## timestamp与date区别 * timestamp 点4b 最大日期 2038 * date 8b 9999 tinyint 1b -128 127 0-255 # 功能实现 ## 部门管理 接口: * 新增部门的接口 上级部门 部门名称 * 编辑 * 删除 > 如果有子部门 ? > > 1. 提示用户先删除子部门 > 2. 连同子部门一起删除 * 查询 分页查询 条件 部门名称 (必传的条件: 上级部门id) 关于编码: 要求: 编码 每一级用两位表示 部门编码: 上级部门编码+自身的自增编码 编码唯一 北游: 1 教学部: 101 > java: 10101 > > 嵌入式: 10102 市场部: 102 编码生成逻辑: 1. 根据上级部门id 查询子部门中最大的编码 > 0 > > max > > 1 01 > > 根据父id查询其编码 # pure-admin ## 提交前校验删除 ![image-20240910103744544](assets/image-20240910103744544.png)