|
@@ -42,6 +42,7 @@ import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
import java.io.IOException;
|
|
|
import java.net.URLDecoder;
|
|
|
+import java.text.DecimalFormat;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
@@ -132,7 +133,7 @@ public class AdminOrderHandlers {
|
|
|
orders.setUserNickname(URLDecoder.decode(orders.getUserNickname(), "UTF-8"));
|
|
|
}
|
|
|
// 获取用户的操作权限
|
|
|
- orders.setOperations(orderUtil.orderStatusToOperation(orders.getSalesStatus(), orders.getSalesOrderid()));
|
|
|
+ orders.setOperations(orderUtil.orderStatusToOperation(orders.getSalesStatus(), orders.getSalesOrderid(), orders.getSalesIsRfund()));
|
|
|
orders.setOrderLinkStatus(orderUtil.orderStatusToString(orders.getSalesStatus())); // 订单状态描述,中文
|
|
|
|
|
|
// 遍历订单, 判断用户角色
|
|
@@ -178,7 +179,7 @@ public class AdminOrderHandlers {
|
|
|
orders.setUserNickname(URLDecoder.decode(orders.getUserNickname(), "UTF-8"));
|
|
|
}
|
|
|
// 获取用户的操作权限
|
|
|
- orders.setOperations(orderUtil.orderStatusToOperation(orders.getSalesStatus(), orders.getSalesOrderid()));
|
|
|
+ orders.setOperations(orderUtil.orderStatusToOperation(orders.getSalesStatus(), orders.getSalesOrderid(), orders.getSalesIsRfund()));
|
|
|
|
|
|
// 遍历订单, 判断用户角色
|
|
|
if (orders.getPlaceOpenID() != null && orders.getPlaceOpenID().equals(orders.getSalesOrderid())) {
|
|
@@ -326,7 +327,7 @@ public class AdminOrderHandlers {
|
|
|
order.setUserNickname(URLDecoder.decode(order.getUserNickname(), "UTF-8"));
|
|
|
}
|
|
|
// 获取用户的操作权限
|
|
|
- order.setOperations(orderUtil.orderStatusToOperation(order.getSalesStatus(), order.getSalesOrderid()));
|
|
|
+ order.setOperations(orderUtil.orderStatusToOperation(order.getSalesStatus(), order.getSalesOrderid(), order.getSalesIsRfund()));
|
|
|
order.setOrderLinkStatus(orderUtil.orderStatusToString(order.getSalesStatus())); // 订单状态描述,中文
|
|
|
if (order.getSalesStatus() == 2) {
|
|
|
// 给百胜推送信息
|
|
@@ -455,7 +456,7 @@ public class AdminOrderHandlers {
|
|
|
orders.setUserNickname(URLDecoder.decode(orders.getUserNickname(), "UTF-8"));
|
|
|
}
|
|
|
// 获取用户的操作权限
|
|
|
- orders.setOperations(orderUtil.orderStatusToOperation(orders.getSalesStatus(), orders.getSalesOrderid()));
|
|
|
+ orders.setOperations(orderUtil.orderStatusToOperation(orders.getSalesStatus(), orders.getSalesOrderid(), orders.getSalesIsRfund()));
|
|
|
orders.setOrderLinkStatus(orderUtil.orderStatusToString(orders.getSalesStatus())); // 订单状态描述,中文
|
|
|
}
|
|
|
} else {
|
|
@@ -466,7 +467,7 @@ public class AdminOrderHandlers {
|
|
|
orders.setUserNickname(URLDecoder.decode(orders.getUserNickname(), "UTF-8"));
|
|
|
}
|
|
|
// 获取用户的操作权限
|
|
|
- orders.setOperations(orderUtil.orderStatusToOperation(orders.getSalesStatus(), orders.getSalesOrderid()));
|
|
|
+ orders.setOperations(orderUtil.orderStatusToOperation(orders.getSalesStatus(), orders.getSalesOrderid(), orders.getSalesIsRfund()));
|
|
|
}
|
|
|
}
|
|
|
// 时间区间的处理
|
|
@@ -510,6 +511,7 @@ public class AdminOrderHandlers {
|
|
|
OrderActionDto actionDto
|
|
|
) throws Exception {
|
|
|
ModelAndView mv = new ModelAndView("admin/msg/msg");
|
|
|
+ DecimalFormat df=new DecimalFormat("0.00");
|
|
|
Order order = new Order();
|
|
|
order.setSalesOrderid(orderId);
|
|
|
// 订单状态,数字标识
|
|
@@ -517,6 +519,8 @@ public class AdminOrderHandlers {
|
|
|
order.setSalesPostNum(actionDto.getPostNum());
|
|
|
// 判断当前的订单,是否支持希望进行的操作
|
|
|
Order currentOrder = adminOrderService.selectOrderStatusByOrderId(orderId);
|
|
|
+ //获取当前订单订单项
|
|
|
+ List<OrderItem> itemList = adminOrderService.getShopOrderItemByOrderId(orderId);
|
|
|
Integer orderStatus = currentOrder.getSalesStatus();
|
|
|
order.setOldStatus(orderStatus);
|
|
|
order.setSalesOpenid(currentOrder.getSalesOpenid());
|
|
@@ -578,22 +582,29 @@ public class AdminOrderHandlers {
|
|
|
// TODO: handle exception
|
|
|
}
|
|
|
//给用户发送消息-已发货的通知
|
|
|
+ try {
|
|
|
+ sendMessageUtil.orderSendSuccess("尊敬的朵粉,您的订单已发货,物流信息:",orderId,SendMessageUtil.hashmap.get(actionDto.getPostFirm()),
|
|
|
+ actionDto.getPostNum(),currentOrder.getSalesAddressInfo(),"如有问题请致电400-678-1860或直接在微信留言,soodo上朵将第一时间为您服务!(点击查看订单详情)",currentOrder.getSalesOpenid(),null);
|
|
|
+ } catch (Exception e) {
|
|
|
+ logger.info("订单号:"+ orderId +"的订单驳回退款,发送微信消息失败!");
|
|
|
+ }
|
|
|
|
|
|
-
|
|
|
- //消息内容
|
|
|
+ /*//消息内容
|
|
|
String data = ResultInfo.ORDERPACKAGETEMP;
|
|
|
data = data.replaceFirst("firstValueOrder", ResultInfo.SHIPMENTMESSAGE)
|
|
|
.replaceFirst("orderIdValueOrder", orderId)
|
|
|
.replaceFirst("orderValuePackageId", SendMessageUtil.hashmap.get(actionDto.getPostFirm()) + ":" + actionDto.getPostNum())
|
|
|
.replaceFirst("orderRemarkValue", ResultInfo.INTOSHOP);
|
|
|
- sendMessageUtil.sendTemplateMessageToOpenid(data, currentOrder.getSalesOpenid(), ResultInfo.PAGE_SHIPMENT + orderId, 2);
|
|
|
+ sendMessageUtil.sendTemplateMessageToOpenid(data, currentOrder.getSalesOpenid(), ResultInfo.PAGE_SHIPMENT + orderId, 2);*/
|
|
|
|
|
|
return mv;
|
|
|
} else {
|
|
|
mv.addObject("msgObj", new MessageDto(false, "对不起,取消订单失败", "对不起,取消订单失败,请稍后重试!"));
|
|
|
return mv;
|
|
|
}
|
|
|
- case 3: // 退款申请中(管理员可以操作:确认退款)
|
|
|
+ case 3: // 退款申请中(管理员可以操作:确认退款、驳回退款)
|
|
|
+
|
|
|
+ order.setSalesAuditRemark(actionDto.getSalesAuditRemark());
|
|
|
|
|
|
// 只有两种操作 : 确认退款、驳回退款
|
|
|
if (orderUtil.getOrderActin()[4].equals(action)) {
|
|
@@ -605,6 +616,14 @@ public class AdminOrderHandlers {
|
|
|
}
|
|
|
order.setSalesStatus(2);
|
|
|
if (adminOrderService.updateOrderStatusByOrderId(order)) {// 驳回退款
|
|
|
+ String payMoney = df.format((float)currentOrder.getSalesYetAmount()/100) + "元";
|
|
|
+ try {
|
|
|
+ sendMessageUtil.orderApplyRefund("尊敬的朵粉,您的退款申请被退回:",payMoney,itemList.get(0).getItemProductName(),orderId,
|
|
|
+ "请确认您的退款申请信息填写无误。如有问题请致电400-678-1860或直接在微信留言,soodo上朵将第一时间为您服务!(点击查看订单详情)",currentOrder.getSalesOpenid(),null);
|
|
|
+ } catch (Exception e) {
|
|
|
+ logger.info("订单号:"+ orderId +"的订单驳回退款,发送微信消息失败!");
|
|
|
+ }
|
|
|
+
|
|
|
mv.addObject("msgObj", new MessageDto(true, "驳回退款成功!", "驳回退款成功,订单进入待发货状态!"));
|
|
|
return mv;
|
|
|
} else {
|
|
@@ -644,7 +663,16 @@ public class AdminOrderHandlers {
|
|
|
adminOrderService.addCashLog(cashLog);
|
|
|
}
|
|
|
rebackServices.updateStatus(rabackInfo);
|
|
|
- mv.addObject("msgObj", new MessageDto(true, "订单退款成功", "恭喜您!订单退款成功,订单将封存!"));
|
|
|
+
|
|
|
+ String payMoney = df.format((float)currentOrder.getSalesYetAmount()/100) + "元";
|
|
|
+ try {
|
|
|
+ sendMessageUtil.orderApplyRefund("尊敬的朵粉,您的退款申请已通过:",payMoney,itemList.get(0).getItemProductName(),orderId,
|
|
|
+ "退款金额将在三个工作日内退款到您的支付账户。如有问题请致电400-678-1860或直接在微信留言,soodo上朵将第一时间为您服务!(点击查看订单详情)",currentOrder.getSalesOpenid(),null);
|
|
|
+ } catch (Exception e) {
|
|
|
+ logger.info("订单号:"+ orderId +"的订单同意退款,发送微信消息失败!");
|
|
|
+ }
|
|
|
+
|
|
|
+ mv.addObject("msgObj", new MessageDto(true, "订单退款成功", "请联系财务部门,将此订单退款!"));
|
|
|
updateRebate(order, 3);
|
|
|
return mv;
|
|
|
} else {
|
|
@@ -665,6 +693,8 @@ public class AdminOrderHandlers {
|
|
|
return mv;
|
|
|
case 6: // 申请退货中(只有管理员能操作 : 确认退货)
|
|
|
|
|
|
+ order.setSalesAuditRemark(actionDto.getSalesAuditRemark());
|
|
|
+
|
|
|
if (!orderUtil.getOrderActin()[6].equals(action) && !orderUtil.getOrderActin()[10].equals(action)) {// 判断当前请求操作是否相符, 否则提示不成功
|
|
|
mv.addObject("msgObj", new MessageDto(false, "对不起,操作有误", "对不起,您刚才的操作流程有误,请按照系统流程操作!"));
|
|
|
return mv;
|
|
@@ -678,8 +708,30 @@ public class AdminOrderHandlers {
|
|
|
order.setSalesStatus(orderUtil.getOrderStatusByStr(actionDto.getToOrderStatus()));
|
|
|
if (adminOrderService.updateOrderStatusByOrderId(order)) {
|
|
|
if (orderUtil.orderStatusIntToOrderStatusString(7).equals(actionDto.getToOrderStatus())) {
|
|
|
+ String payMoney = df.format((float)currentOrder.getSalesYetAmount()/100) + "元";
|
|
|
+ int productNum = 0;
|
|
|
+ for (OrderItem item : itemList) {
|
|
|
+ productNum += item.getItemNum();
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ sendMessageUtil.orderApplyReturn("尊敬的朵粉,soodo上朵已通过您的【退货申请】",orderId,payMoney,productNum+"件",currentOrder.getSalesReturnDes(),
|
|
|
+ "请您尽快联系客服人员处理,根据客服人员指引将机器寄回。对此结果,soodo上朵深表歉意,我们会继续提升,期待下一次相遇!",currentOrder.getSalesOpenid(),null);
|
|
|
+ } catch (Exception e) {
|
|
|
+ logger.info("订单号:"+ orderId +"的订单同意退货,发送微信消息失败!");
|
|
|
+ }
|
|
|
mv.addObject("msgObj", new MessageDto(true, "订单申请退货成功", "恭喜您!同意订单:" + orderId + "退货,等待收到货物后确认退货!"));
|
|
|
} else {
|
|
|
+ String payMoney = df.format((float)currentOrder.getSalesYetAmount()/100) + "元";
|
|
|
+ int productNum = 0;
|
|
|
+ for (OrderItem item : itemList) {
|
|
|
+ productNum += item.getItemNum();
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ sendMessageUtil.orderApplyReturn("尊敬的朵粉,您的【退货申请】没有通过",orderId,payMoney,productNum+"件",currentOrder.getSalesReturnDes(),
|
|
|
+ "请确认您的退货申请信息填写无误。如有问题请致电400-678-1860或直接在微信留言,soodo上朵将第一时间为您服务!",currentOrder.getSalesOpenid(),null);
|
|
|
+ } catch (Exception e) {
|
|
|
+ logger.info("订单号:"+ orderId +"的订单驳回退货,发送微信消息失败!");
|
|
|
+ }
|
|
|
mv.addObject("msgObj", new MessageDto(true, "成功驳回订单退货", "订单:" + orderId + "退货被驳回,状态返回已发货!"));
|
|
|
}
|
|
|
return mv;
|
|
@@ -771,14 +823,20 @@ public class AdminOrderHandlers {
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
- //发送消息
|
|
|
- String temp = ResultInfo.INCOMEREMINDTEMP;
|
|
|
- temp = temp.replaceFirst("firstValueIamberry", ResultInfo.NEXTUSERTUIHUOMESSAGE)
|
|
|
- .replaceFirst("accountValueIamberry", URLDecoder.decode(member.getUserNickname(), "UTF-8"))
|
|
|
- .replaceFirst("timeValueIamberry", DateTimeUtil.format(new Date(), NameUtils.getConfig("DATE_TIME_FORMAT")))
|
|
|
- .replaceFirst("typeValueIamberry", "用户退货")
|
|
|
- .replaceFirst("remarkValueIamberry", ResultInfo.INTOSHOP);
|
|
|
- sendMessageUtil.sendTemplateMessageToOpenid(temp, toopenid, ResultInfo.TUIHUI_SHIPMENT, 3);
|
|
|
+
|
|
|
+ /*try {
|
|
|
+ //发送消息
|
|
|
+ String temp = ResultInfo.INCOMEREMINDTEMP;
|
|
|
+ temp = temp.replaceFirst("firstValueIamberry", ResultInfo.NEXTUSERTUIHUOMESSAGE)
|
|
|
+ .replaceFirst("accountValueIamberry", URLDecoder.decode(member.getUserNickname(), "UTF-8"))
|
|
|
+ .replaceFirst("timeValueIamberry", DateTimeUtil.format(new Date(), NameUtils.getConfig("DATE_TIME_FORMAT")))
|
|
|
+ .replaceFirst("typeValueIamberry", "用户退货")
|
|
|
+ .replaceFirst("remarkValueIamberry", ResultInfo.INTOSHOP);
|
|
|
+ sendMessageUtil.sendTemplateMessageToOpenid(temp, toopenid, ResultInfo.TUIHUI_SHIPMENT, 3);
|
|
|
+ } catch (Exception e) {
|
|
|
+
|
|
|
+ }*/
|
|
|
+
|
|
|
}
|
|
|
|
|
|
return mv;
|
|
@@ -852,8 +910,24 @@ public class AdminOrderHandlers {
|
|
|
}
|
|
|
if (adminOrderService.updateOrderStatusByOrderId(order)) {
|
|
|
if (orderUtil.orderStatusIntToOrderStatusString(9).equals(actionDto.getToOrderStatus())) {
|
|
|
+
|
|
|
+ try {
|
|
|
+ sendMessageUtil.orderApplyBarter("尊敬的朵粉,您的【换货申请】通过。",orderId,itemList.get(0).getItemProductName(),
|
|
|
+ "退款金额将在三个工作日内退款到您的支付账户。如有问题请致电400-678-1860或直接在微信留言,soodo上朵将第一时间为您服务!(点击查看订单详情)",currentOrder.getSalesOpenid(),null);
|
|
|
+ } catch (Exception e) {
|
|
|
+ logger.info("订单号:"+ orderId +"的订单同意换货,发送微信消息失败!");
|
|
|
+ }
|
|
|
+
|
|
|
mv.addObject("msgObj", new MessageDto(true, "同意换货成功", "恭喜您!同意订单:" + orderId + "换货,请收货后录入物流信息并同意换货!"));
|
|
|
} else {
|
|
|
+
|
|
|
+ try {
|
|
|
+ sendMessageUtil.orderApplyBarter("尊敬的朵粉,您的【换货申请】没有通过。",orderId,itemList.get(0).getItemProductName(),
|
|
|
+ "退款金额将在三个工作日内退款到您的支付账户。如有问题请致电400-678-1860或直接在微信留言,soodo上朵将第一时间为您服务!(点击查看订单详情)",currentOrder.getSalesOpenid(),null);
|
|
|
+ } catch (Exception e) {
|
|
|
+ logger.info("订单号:"+ orderId +"的订单驳回换货,发送微信消息失败!");
|
|
|
+ }
|
|
|
+
|
|
|
mv.addObject("msgObj", new MessageDto(true, "驳回换货成功", "您已驳回订单:" + orderId + "换货,订单状态改为已发货!"));
|
|
|
}
|
|
|
return mv;
|
|
@@ -883,6 +957,50 @@ public class AdminOrderHandlers {
|
|
|
LoadRewardTaskService.updateStatus(rabackInfo);
|
|
|
}
|
|
|
|
|
|
+ @ResponseBody
|
|
|
+ @RequestMapping("/markRefund/{orderId}")
|
|
|
+ public ResultMsg markRefund(HttpServletRequest request,
|
|
|
+ @PathVariable("orderId") String orderId) throws Exception {
|
|
|
+ ResultMsg msg = new ResultMsg();
|
|
|
+ //查询该订单的状态
|
|
|
+ Order order = adminOrderService.selectOrderStatusByOrderId(orderId);
|
|
|
+ if (order == null) {
|
|
|
+ msg.setResultCode(ResultInfo.ERRORCODE);
|
|
|
+ msg.setStatus(false);
|
|
|
+ msg.setMessage("该订单不存在,请重新操作!");
|
|
|
+ return msg;
|
|
|
+ }
|
|
|
+ //4:已退款,8:订单退货,订单关闭
|
|
|
+ if (order.getSalesStatus() != 4 && order.getSalesStatus() != 8) {
|
|
|
+ msg.setResultCode(ResultInfo.ERRORCODE);
|
|
|
+ msg.setStatus(false);
|
|
|
+ msg.setMessage("该订单不支持标记已退款!");
|
|
|
+ return msg;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (order.getSalesIsRfund() != null && order.getSalesIsRfund() == 2) {
|
|
|
+ msg.setResultCode(ResultInfo.ERRORCODE);
|
|
|
+ msg.setStatus(false);
|
|
|
+ msg.setMessage("该订单已标记退款,不能重复标记!");
|
|
|
+ return msg;
|
|
|
+ }
|
|
|
+
|
|
|
+ Order orderInfo = new Order();
|
|
|
+ orderInfo.setSalesOrderid(orderId);
|
|
|
+ orderInfo.setSalesIsRfund(2);
|
|
|
+ //修改订单退款状态
|
|
|
+ int num = adminOrderService.updateOrderRfund(orderInfo);
|
|
|
+ if (num > 0) {
|
|
|
+ msg.setResultCode(ResultInfo.SUCCESSCODE);
|
|
|
+ msg.setStatus(true);
|
|
|
+ } else {
|
|
|
+ msg.setResultCode(ResultInfo.ERRORCODE);
|
|
|
+ msg.setStatus(false);
|
|
|
+ msg.setMessage("标记退款失败,请重新标记!");
|
|
|
+ }
|
|
|
+ return msg;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 订单备注
|
|
|
*
|