实习项目|苍穹外卖|day3

抽离出细节,复习Java开发的整个架构:JAVA三层架构,持久层,业务层,表现层的理解(SSH)

持久层是软件开发中的一个重要概念,它指的是负责数据持久化和数据库交互的部分。

公共字段自动填充(难度大)

1.根据原型进行需求分析与设计(接口文档)

在这里插入图片描述
在这里插入图片描述

2.根据接口设计DTO

3.编码controller-》service-》mapper

如何创建注解?SpringBoot如何创建注解(重点复习)

如何创建切面类?(Aspect,切入点,切入点表达式,通知(利用反射进行操作))(重点复习)

4.功能测试

Swagger接口测试+前后端联调

5.代码完善

6.commit 和 push

新增菜品

1.根据原型进行需求分析与设计(接口文档)

在这里插入图片描述
在这里插入图片描述

2.根据接口设计DTO

3.编码controller-》service-》mapper

文件上传,黑马springboot的big_event项目中学过。

需要认真思考的点:(bean自动注入)

@Configuration
@Slf4j
public class OssConfiguration {

    @Bean
    @ConditionalOnMissingBean
    public AliOssUtil aliOssUtil(AliOssProperties aliOssProperties){
        log.info("开始创建阿里云文件上传工具类对象:{}", aliOssProperties);
        return new AliOssUtil(aliOssProperties.getEndpoint(), aliOssProperties.getAccessKeyId(), aliOssProperties.getAccessKeySecret(), aliOssProperties.getBucketName());
    }
}
配合 @Autowired AliOssUtil aliOssUtil;

新增内容,涉及两个表(事务注解,mybatis实现持久层的批量插入,需要得到插入后得到的id值)(重点)

4.功能测试

Swagger接口测试+前后端联调

5.代码完善

6.commit 和 push

菜品的分页查询(联表查询)

1.根据原型进行需求分析与设计(接口文档)

在这里插入图片描述

2.根据接口设计DTO

3.编码controller-》service-》mapper

4.功能测试

Swagger接口测试+前后端联调

感觉有点问题,有条件查询好像不对。

5.代码完善

6.commit 和 push

删除菜品

1.根据原型进行需求分析与设计(接口文档)三表查询

在这里插入图片描述
在这里插入图片描述

2.根据接口设计DTO

3.编码controller-》service-》mapper

    <select id="getSetmealIdsByDishIds" >
        select setmeal_id from setmeal where dish_id in
        <foreach collection="dishIds" item="dishId" separator="," open="(" close=")">
            #{dishId}
        </foreach>
    </select>

4.功能测试

Swagger接口测试+前后端联调

5.代码完善

        for (Long id : ids) {
            dishMapper.deleteById(id);
            dishFlavorMapper.deleteByDishId(id);
        }

这部分,太多对数据库的操作了。

6.commit 和 push

修改菜品(多表查询+回显)

1.根据原型进行需求分析与设计(接口文档)

在这里插入图片描述
在这里插入图片描述

2.根据接口设计DTO

DishVO

3.编码controller-》service-》mapper

回显还是很容易的。
有点复杂的是修改。因为口味设计了其他表(先删后加?猜对了)

4.功能测试

Swagger接口测试+前后端联调

5.代码完善

6.commit 和 push

<think>好的,我需要回答用户关于苍穹外卖项目第三天学习内容的问题。首先,用户提到他们想了解第三天的内容或代码解析,但根据提供的引用资料,只有day02、day06和OrderService的引用,没有直接的day03的信息。 我需要先确认是否有可用的相关信息。检查引用[1]到[4],发现主要涉及第二天的员工信息修改、第六天的微信小程序开发、分类查询和再来一单功能,没有明确提到第三天的内容。因此,可能需要根据现有资料推测第三天可能涉及的内容,或者建议用户查阅其他资料。 考虑到项目通常的学习路径,第三天可能涉及的功能可能包括订单管理、菜品分类或接口开发。例如,引用[3]提到了根据分类ID查询菜品及口味,引用[4]提到了再来一单功能,这些可能与订单处理有关,但不确定是否属于第三天内容。 另外,需要遵守用户提供的系统级指令,如使用正确的LaTeX格式,生成相关问题,并在回答末尾添加引用标识。因此,在回答时,应明确说明现有引用中没有直接关于第三天的信息,并基于项目常见结构推测可能内容,同时建议用户参考官方文档或课程材料。 最后,生成相关问题,引导用户进一步探索相关主题,如订单管理、接口开发或分类查询的实现。</think>根据现有资料,苍穹外卖项目Day3的具体学习内容未在提供的引用中明确提及[^1][^2][^3][^4]。但根据项目开发常见流程,推测可能涉及以下核心内容: ### 典型功能模块推测 1. **菜品管理模块** - 实现菜品新增/修改接口开发 - 文件上传功能实现(OSS/MinIO) ```java // 示例:文件上传接口 @PostMapping("/upload") public Result<String> upload(MultipartFile file) { String fileName = file.getOriginalFilename(); // 调用OSS服务上传文件 return Result.success(uploadUrl); } ``` 2. **分类管理扩展** - 多级分类树形结构实现 - 分类状态批量修改 ```java // 示例:树形结构DTO public class CategoryTreeDTO { private Long id; private String name; private List<CategoryTreeDTO> children; } ``` 3. **套餐管理基础** - 套餐与菜品关联关系设计 - 套餐分页查询接口开发 ### 技术要点分析 $$ \text{项目复杂度} = \sum_{i=1}^{n}(模块耦合度 \times 业务逻辑复杂度) $$ 需要特别注意: 1. 实体关系映射(菜品-分类N:1关系) 2. 统一异常处理增强 3. 参数校验规范完善
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值