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回答
-
同学好,由于店铺图片用的是随机名字,路径也是在创建出shopid之后才确定的,因此得插入图片完成后才能获取到图片的路径,才能把路径更新进数据库中:)
012017-11-23
相似问题