* 提交退货申请
* */
@RequestMapping(value="/member/applyReturn.do")
public ModelAndView applyReturn(HttpServletRequest req,HttpServletResponse response){
System.out.println("--------------------------applyReturn----------------------------");
DefaultMultipartHttpServletRequest request = (DefaultMultipartHttpServletRequest)req;
String[] ids = request.getParameterValues("returnOrderProductId");
ProductImage pi1 = null;
ProductImage pi2 = null;
ProductImage pi3 = null;
if(ids!=null&&ids.length>0){
try{
String orderId = request.getParameter("orderId");
ReturnRequest rr = new ReturnRequest();
String reason = request.getParameter("reason");
String descripion = request.getParameter("descripion");
rr.setReason(reason);
pi1 = fileUpload(request,"proof1");
if(null!=pi1)rr.setProof1(pi1);
pi2 = fileUpload(request,"proof2");
if(null!=pi1)rr.setProof2(pi2);
pi3 = fileUpload(request,"proof3");
if(null!=pi1)rr.setProof3(pi3);
rr.setDescripion(descripion);
List<Orders> orderList = orderService.queryOrders("from Orders o where o.id=?", new Object[]{Long.parseLong(orderId.trim())});
Orders o = orderList.get(0);
rr.setRelatedorderid(o.getId());
Orders order= new Orders();
order.setAddresscity(o.getAddresscity());
order.setAddressname(o.getAddressname());
order.setAddressprovince(o.getAddressprovince());
order.setAddressregion(o.getAddressregion());
order.setAddresstel(o.getAddresstel());
order.setAddresszipcode(o.getAddresszipcode());
order.setAdrreessname(o.getAddressname());
order.setReturnrequest(rr);
rr.setOrders(order);
order.setFare(o.getFare());
order.setFareway(o.getFareway());
User user = new User();
user.setId(RunTimeUser.getRunTimeUser(request).getId());
order.setUser(user);
order.setTime(new Date());
double returnScore = 0;
for(int i=0;i<ids.length;i++){
OrderProduct op = orderProductDao.findOrderProductById(Integer.parseInt(ids[i].trim()));
op.setIsapplyreturn(OrderProduct.APPLY_RETURN_YES);
OrderProduct newObj = new OrderProduct();
BeanUtils.copyProperties(op, newObj);
newObj.setId(0);
newObj.setProduct(productDao.getProductById(op.getProduct().getId()));
newObj.setOrders(order);
returnScore +=newObj.getAmount()*newObj.getPrice();
order.addOrderProduct(newObj);
orderProductDao.update(op);
}
order.setStatus(Orders.STATUS_APPLY_RETURN);
o.setStatus(Orders.STATUS_CONFIRM);
order.setScore(returnScore);
orderService.createOrders(order);
orderService.updateOrder(o);
}catch(Exception e){
e.printStackTrace();
deleteFile(pi1);
deleteFile(pi2);
deleteFile(pi3);
}
}
request.setAttribute("url", MemberURLConst.URL_ORDER_QUERY);
return new ModelAndView(MemberURLConst.URL_BASE);
}