|
@@ -1,7 +1,10 @@
|
|
|
package com.iamberry.wechat.service.cart;
|
|
|
|
|
|
+import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
|
|
|
+import org.apache.commons.lang.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
@@ -256,6 +259,154 @@ public class CartServiceImpl implements CartService {
|
|
|
// TODO Auto-generated method stub
|
|
|
return cartDao.selectOrderCount(shopSalesOrderDto);
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Map<String, Object> updateOrderStatus(String orderId, Integer status, String remark, int operation) {
|
|
|
+ Map<String, Object> map = new HashMap<String, Object>();
|
|
|
+ String txtOpera = getOrderOperation(operation);//获取操作信息
|
|
|
+ boolean flag = false;
|
|
|
+ StringBuilder msg = new StringBuilder();
|
|
|
+ Order order = new Order();
|
|
|
+ order.setSalesOrderid(orderId);
|
|
|
+ order.setOldStatus(status);
|
|
|
+ if (StringUtils.isNotEmpty(remark)) {
|
|
|
+ order.setSalesReturnDes(remark);
|
|
|
+ }
|
|
|
+ switch (status) { //通过原始订单状态分配可执行的操作
|
|
|
+ case 1: //待支付
|
|
|
+ if (operation == 1) { //取消订单
|
|
|
+ order.setSalesStatus(0); //订单取消
|
|
|
+ //修改订单状态
|
|
|
+ int num = cartDao.updateOrderByOrder(order);
|
|
|
+ if (num > 0) {
|
|
|
+ flag = true;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ msg.append("该订单不支持");
|
|
|
+ msg.append(txtOpera);
|
|
|
+ msg.append("操作,请重新确认!");
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 2: //已支付待发货
|
|
|
+ if (operation == 2) { //申请退款
|
|
|
+ order.setSalesStatus(3); //退款申请中
|
|
|
+ //修改订单状态
|
|
|
+ int num = cartDao.updateOrderByOrder(order);
|
|
|
+ if (num > 0) {
|
|
|
+ flag = true;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ msg.append("该订单不支持");
|
|
|
+ msg.append(txtOpera);
|
|
|
+ msg.append("操作,请重新确认!");
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 3: //退款申请中
|
|
|
+ if (operation == 3) { //取消退款
|
|
|
+ order.setSalesStatus(2); //已支付,待发货
|
|
|
+ //修改订单状态
|
|
|
+ int num = cartDao.updateOrderByOrder(order);
|
|
|
+ if (num > 0) {
|
|
|
+ flag = true;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ msg.append("该订单不支持");
|
|
|
+ msg.append(txtOpera);
|
|
|
+ msg.append("操作,请重新确认!");
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 5: //已发货
|
|
|
+ if (operation == 4) { //申请退货
|
|
|
+ order.setSalesStatus(6); //申请退货中
|
|
|
+ //修改订单状态
|
|
|
+ int num = cartDao.updateOrderByOrder(order);
|
|
|
+ if (num > 0) {
|
|
|
+ flag = true;
|
|
|
+ }
|
|
|
+ } else if (operation == 7) { //申请换货
|
|
|
+ order.setSalesStatus(11); //申请换货中
|
|
|
+ //修改订单状态
|
|
|
+ int num = cartDao.updateOrderByOrder(order);
|
|
|
+ if (num > 0) {
|
|
|
+ flag = true;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ msg.append("该订单不支持");
|
|
|
+ msg.append(txtOpera);
|
|
|
+ msg.append("操作,请重新确认!");
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 6: //申请退货中
|
|
|
+ if (operation == 5) { //取消申请退货
|
|
|
+ order.setSalesStatus(5); //已发货
|
|
|
+ //修改订单状态
|
|
|
+ int num = cartDao.updateOrderByOrder(order);
|
|
|
+ if (num > 0) {
|
|
|
+ flag = true;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ msg.append("该订单不支持");
|
|
|
+ msg.append(txtOpera);
|
|
|
+ msg.append("操作,请重新确认!");
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 7: //退货中
|
|
|
+ if (operation == 6) { //取消退货
|
|
|
+ order.setSalesStatus(5); //已发货
|
|
|
+ //修改订单状态
|
|
|
+ int num = cartDao.updateOrderByOrder(order);
|
|
|
+ if (num > 0) {
|
|
|
+ flag = true;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ msg.append("该订单不支持");
|
|
|
+ msg.append(txtOpera);
|
|
|
+ msg.append("操作,请重新确认!");
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 11: //申请换货中
|
|
|
+ if (operation == 8) { //取消换货
|
|
|
+ order.setSalesStatus(5); //已发货
|
|
|
+ //修改订单状态
|
|
|
+ int num = cartDao.updateOrderByOrder(order);
|
|
|
+ if (num > 0) {
|
|
|
+ flag = true;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ msg.append("该订单不支持");
|
|
|
+ msg.append(txtOpera);
|
|
|
+ msg.append("操作,请重新确认!");
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ msg.append("该订单不支持");
|
|
|
+ msg.append(txtOpera);
|
|
|
+ msg.append("操作,请重新确认!");
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ map.put("flag",flag);
|
|
|
+ map.put("msg",msg);
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取用户对订单的操作
|
|
|
+ * @param operation
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public String getOrderOperation(int operation) {
|
|
|
+ String txtOpera = "";
|
|
|
+ switch (operation) {
|
|
|
+ case 1:txtOpera = "取消订单";break;
|
|
|
+ case 2:txtOpera = "申请退款";break;
|
|
|
+ case 3:txtOpera = "取消退款";break;
|
|
|
+ case 4:txtOpera = "申请退货";break;
|
|
|
+ case 5:txtOpera = "取消申请退货";break;
|
|
|
+ case 6:txtOpera = "取消退货";break;
|
|
|
+ case 7:txtOpera = "申请换货";break;
|
|
|
+ case 8:txtOpera = "取消换货";break;
|
|
|
+ default:txtOpera = "取消订单";break;
|
|
|
+ }
|
|
|
+ return txtOpera;
|
|
|
+ }
|
|
|
}
|