package com.feetao.web.service.impl; import java.util.ArrayList; import java.util.List; import javax.annotation.Resource; import com.feetao.web.constants.ConstantsError; import com.feetao.web.constants.StatusType; import com.feetao.web.dao.OrderDao; import com.feetao.web.exception.ServiceException; import com.feetao.web.model.OrderDO; import com.feetao.web.service.AddressService; import com.feetao.web.service.OrderService; import com.feetao.web.utils.Convert; import com.feetao.web.vo.AddressVO; import com.feetao.web.vo.OrderVO; public class OrderServiceImpl implements OrderService { @Resource private AddressService addressService; @Resource private OrderDao orderDao; @Override public List<OrderVO> getOrderList(Long userId, String openId) { List<OrderDO> list = orderDao.getOrderList(userId , openId); if(list != null && list.size() > 0) { ArrayList<OrderVO> result = new ArrayList<OrderVO>(); for(int i = 0 ; i < list.size() ; i++) result.add(Convert.convert(OrderVO.class , list.get(i))); return result; } return null; } @Override public void addOrder(Long userId, String openId, Long addressId, String content, String deliverTime , Long price) { AddressVO vo = addressService.getAddressById(userId, openId, addressId); if(vo == null) throw new ServiceException(ConstantsError.InvalidArguemnt); OrderDO odo = new OrderDO(); odo.setUserId(userId); odo.setOpenId(openId); odo.setName(vo.getName()); odo.setMobile(vo.getMobile()); odo.setAddress(vo.getAddress()); odo.setContent(content); odo.setDeliverTime(deliverTime); odo.setPrice(price); odo.setStatus(StatusType.ORDER_CREATE); orderDao.addOrder(odo); } @Override public void updateOrder(Long id, Byte status) { OrderDO odo = new OrderDO(); odo.setId(id); odo.setStatus(status); orderDao.updateOrder(odo); } }