4-5店铺注册之Service层的实现,在addShop操作时, 为什么要把插入图片的操作单独作为一步?

来源:4-5 店铺注册之Service层的实现

我上5年级

2017-11-23

 为什么要把插入图片的操作单独作为一步?为什么不和店铺的enableStatus,createTime,lastEditTime一起赋值,然后同时做添加店铺信息操作?

    try {
            // 给店铺信息赋初始值
            shop.setEnableStatus(0);//未上架在审核中
            shop.setCreateTime(new Date());//创建时间
            shop.setLastEditTime(new Date());//上一次修改的时间
            // 添加店铺信息
            int effectedNum = shopDao.insertShop(shop);
            if (effectedNum < 0) {
                throw new RuntimeException("店铺创建失败");
            } else {
                if (shopImg != null) {
                    // 存储图片
                    try {
                        addShopImg(shop, shopImg);
                    } catch (Exception e) {
                        throw new RuntimeException("addShopImg error:" + e.getMessage());
                    }
                    // 更新店铺的图片地址
                    effectedNum = shopDao.updateShop(shop);
                    if (effectedNum < 0) {
                        throw new RuntimeException("更新图片地址失败");
                    }
                }
            }
        } catch (Exception e) {
            throw new RuntimeException("addshop error:" + e.getMessage());
        }

 

写回答

1回答

翔仔

2017-11-23

同学好,由于店铺图片用的是随机名字,路径也是在创建出shopid之后才确定的,因此得插入图片完成后才能获取到图片的路径,才能把路径更新进数据库中:)

0
1
我上5年级
非常感谢!确实是这样啊,谢谢老师。
2017-11-23
共1条回复

Java双版本(SSM到SpringBoot)校园商铺全栈开发

SSM商铺V1.0,解决毕设痛点;SpringBoot商铺V2.0,满足工作刚需

5113 学习 · 8144 问题

查看课程