苍穹外卖-Day04

1.文件上传

1.需求分析与设计

path:/admin/common/upload

method:POST

2.代码开发

在yml文件中配置阿里云

复制代码
alioss:
  endpoint: 
  access-key-id: 
  access-key-secret: 
  bucket-name: 

创建一个配置类

复制代码
@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());
    }
}

在CommonController中注入阿里云工具类

复制代码
@Autowired
private AliOssUtil aliOssUtil;
复制代码
String originalFilename = file.getOriginalFilename();
//截取原始文件名的后缀
String extension = originalFilename.substring(originalFilename.lastIndexOf("."));
String objectName = UUID.randomUUID().toString() + extension;
//文件上传upload
String filePath = aliOssUtil.upload(file.getBytes(), objectName);

return Result.success(filePath);

2.新增菜品

1.需求分析与设计

path:/admin/dish

method:POST

2.代码开发

将请求参数封装在DTO中,在Service层中,将DTO对象转为Dish对象

复制代码
Dish dish = new Dish();
BeanUtils.copyProperties(dishDTO,dish);

xml文件中执行插入菜品操作时,得到id

复制代码
useGeneratedKeys="true" keyProperty="id"
复制代码
Long dishId = dish.getId();

后执行口味的插入,不为空,遍历口味进行菜品id的赋值

复制代码
List<DishFlavor> flavors = dishDTO.getFlavors();
if(flavors != null && flavors.size() > 0){
  flavors.forEach(dishFlavor -> {
      dishFlavor.setDishId(dishId);
  });
    dishFlavorMapper.insertBatch(flavors);

3.菜品分页查询

1.需求分析与设计

path:/admin/dish/page

method:GET

响应的数据

2.代码开发

4.删除菜品

1.需求分析与设计

path:/admin/dish

method:DELETE

2.代码开发

5.修改菜品

1.需求分析与设计

先根据Id查询菜品用于页面回显

path:/admin/dish/{id}

method:GET

再修改

path:/admin/dish

method:PUT

响应的数据

2.代码开发

相关推荐
rannn_11124 分钟前
【力扣hot100】链表专题|160、206、234、141、142
java·算法·leetcode·链表·面试·开发
IKUN家族2 小时前
Spring IoC&DI
java·spring·rpc
山荷枝3 小时前
03-框架--Spring
java·后端·spring
ChaHae-In4 小时前
SpringBoot统一功能处理
java·spring boot·后端
coder!mq4 小时前
说几个常见的语法糖?
java·开发语言·算法
gugucoding4 小时前
38. 【Java】Stream API(下):高级操作与性能
java·开发语言
心平气和量大福大5 小时前
android-实例-蒲公英-更新与安装-5-签名与生成APK
android·java·开发语言
952365 小时前
Spring-cloud配置中心
java·spring·spring cloud·微服务
ydd1001005 小时前
寻找两个正序数组的中位数 Java 题解,二分分割详解
java·开发语言
真上帝的左手7 小时前
10. 软件设计&架构-Spring Security 7 整合CAS SSO 单点登录
java·spring·架构·sso