Java项目《苍穹外卖》BUG修复记录
一、订单详情地址显示为null
原因:查看订单详情接口中,未设置收货地址信息,故地址返回为null。
解决方案:
1、OrderServiceImpl中创建一个私有方法专门获取订单收货地址
/**
* 获取订单收获地址
* @param addressBookId
* @return
*/
private String getOrderAddress(Long addressBookId) {
AddressBook addressObject = addressBookMapper.getById(addressBookId);
String address = addressObject.getProvinceName() + addressObject.getCityName() + addressObject.getDistrictName() + addressObject.getDetail();
return address;
}
2、查询订单详情details接口中设置收获地址,完整代码如下所示:
/**
* 查询订单详情
*
* @param id
* @return
*/
public OrderVO details(Long id) {
// 根据id查询订单 包含address_book_id
Orders orders = orderMapper.getById(id);
// 查询该订单对应的菜品/套餐明细
List<OrderDetail> orderDetailList = orderDetailMapper.getByOrderId(orders.getId());
// 设置收获地址
Long addressBookId = orders.getAddressBookId();
String address = getOrderAddress(addressBookId);
orders.setAddress(address);
// 将该订单及其详情封装到OrderVO并返回
OrderVO orderVO = new OrderVO();
BeanUtils.copyProperties(orders, orderVO);
orderVO.setOrderDetailList(orderDetailList);
return orderVO;
}
运行结果:
二、订单详情无备注信息
解决方案:
<view class="data-v-54d3589c"><view class="data-v-54d3589c">订单备注</view>
<view class="data-v-54d3589c">{{orderDetailsData.remark}}</view></view>
重新编译,运行结果: