苍穹外卖学习笔记day01

  1. 项目结构
  2. nginx反向代理
  3. 将前端的动态请求转发给后端服务器。
  4. 前后端之间的一个管理服务器,通过管理请求转发可以实现:提高访问速度;进行负载均衡;保证后端服务安全。
  5. 登录密码的安全问题->MD5加密方式【DigestUtils.md5DigestAsHex(password.getBytes())】
  6. 新增员工
  7. 管理端接口:/admin/employee
  8. 整体逻辑:
  9. EmployeeController:获取前端请求->调用Service层方法->返回Result对象
  10. 使用DTO对象接收:前端提交数据与实体类属性相差较大。
  11. @RequestBody注解:由于前端提交的是JSON数据(通常是POST/PUT请求),所以使用注解将JSON转为DTO对象。【@RequestParam:GET请求通常使用该注解接收URL查询参数】
  12. 返回Result:新增操作不需要传递参数。
  13. EmployeeService:传递DTO对象,调用实现类employeeServiceImpl
  14. EmployeeServiceImpl:拷贝DTO对象属性+设置其余属性=完整的Employee对象->传递Employee对象,调用Mapper层方法
  15. BeanUtils.copyProperties() :Spring框架下复制属性值的方法,属性名相同、同名属性类型兼容才可使用。
  16. status和password采用常量进行配置:避免硬编码,易于修改;统一管理;提高可读性。
  17. 动态获取员工id:
  18. 员工id何时产生的?登录成功,生成JWT令牌返回前端时。
  19. claims.put(JwtClaimsConstant.EMP_ID,employee.getId()):利用map为常量EMP_ID与id值建立联系。
  20. Long empId = Long.valueOf(claims.get(JwtClaimsConstant.EMP_ID).toString()) && BaseContext.setCurrentId(empId);:后续获取令牌,通过常量EMP_ID得到id值,再将新建的empId存入ThreadLocal对象。
  21. ThreadLocal对象创建于BaseContext类中,类中还具有set/get/removeCurrentId()方法。

  1. EmployeeMapper:@Insert注解;使用 #{对象属性} 传参
  2. 唯一性约束问题:全局异常处理器里创建对应处理方法->收到SQLIntegrityConstraintViolationException类型的异常->检验异常消息中是否含有"Duplicate entry(重复条目)"->【Duplicate entry 'admin' for key 'employee.idx_username'】使用split分割报错信息,获取“员工name”->Result.error(想要传回的信息)
全部评论
1 回复 分享
发布于 2025-11-23 21:35 吉林

相关推荐

01-05 00:00
已编辑
中山大学 算法工程师
1、有场景、有动机(为什么做)2、有方法、有架构(怎么做)3、有数据、有优化(做出了什么效果)这三点构成了一个高质量 RAG 项目的核心逻辑。下面我用一个对比+案例的形式讲给你听。一、项目背景:让人一眼看出你在解决一个具体问题✅一句话总结:好的项目描述一定要把动机讲清楚。工业级 RAG 项目几乎都有三种典型动机:1.业务痛点2.为什么 RAG 能解决3.大模型知识时效性差二、系统架构:写出系统性思维的人最稀缺🌟优秀写法(架构分层法):系统分为两阶段(数据准备+应用推理),三大模块(知识构建、检索召回、生成优化),并通过13项优化策略实现持续迭代。阶段一:数据准备1.数据清洗:多源异构文档( PDF 、 OCR 图片、视频字幕)统一结构化,过滤噪声。2.文本切块策略:采用动态窗口+语义聚类切分,保证上下文完整性,避免语义断裂。3.Embedding 向量化:使用中文优化模型 BGE - large ,构建 Milvus 向量索引( HNSW 结构),支持百万级检索。阶段二:应用层1.多路召回机制:结合语义检索与倒排检索,通过 RRF 融合排序策略提升相关性;2. Prompt 工程优化:设计结构化 Prompt 模板,限制模型回答边界,缓解幻觉;3.缓存与响应优化:引入 Redis 缓存层与分层索引机制,将平均响应时间从1.2s降低至0.6s。三、个人贡献:写出你在推动系统演进这句话有三个关键点:1.主导:你是参与者还是决策者?2.改进方案:有没有提出优化3.结果数据:用量化指标说话。📳对于想求职算法岗的同学,如果想参加高质量项目辅导,提升面试能力,欢迎后台联系。
点赞 评论 收藏
分享
评论
2
4
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务