|
|
@@ -4,7 +4,7 @@ import com.alibaba.dubbo.common.json.JSON;
|
|
|
import com.alibaba.dubbo.common.json.ParseException;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
-import com.uas.api.b2c_erp.buyer.model.*;
|
|
|
+import com.uas.api.b2c_erp.buyer.model.B2cOrder;
|
|
|
import com.uas.api.exception.B2CException;
|
|
|
import com.uas.platform.b2c.common.account.dao.EnterpriseDao;
|
|
|
import com.uas.platform.b2c.common.account.dao.UserDao;
|
|
|
@@ -21,10 +21,8 @@ import com.uas.platform.b2c.core.utils.FastjsonUtils;
|
|
|
import com.uas.platform.b2c.core.utils.NumberUtil;
|
|
|
import com.uas.platform.b2c.fa.payment.dao.BankTransferDao;
|
|
|
import com.uas.platform.b2c.fa.payment.dao.InstallmentDao;
|
|
|
-import com.uas.platform.b2c.fa.payment.dao.InstallmentDetailDao;
|
|
|
import com.uas.platform.b2c.fa.payment.model.BankTransfer;
|
|
|
import com.uas.platform.b2c.fa.payment.model.Installment;
|
|
|
-import com.uas.platform.b2c.fa.payment.model.InstallmentDetail;
|
|
|
import com.uas.platform.b2c.fa.payment.service.BankInfoService;
|
|
|
import com.uas.platform.b2c.fa.settlement.dao.BillDao;
|
|
|
import com.uas.platform.b2c.fa.settlement.dao.BillInfoDao;
|
|
|
@@ -59,8 +57,6 @@ import com.uas.platform.b2c.trade.order.dao.OrderDetailDao;
|
|
|
import com.uas.platform.b2c.trade.order.dao.OrderIndexDetailDao;
|
|
|
import com.uas.platform.b2c.trade.order.dao.PurchaseDao;
|
|
|
import com.uas.platform.b2c.trade.order.model.*;
|
|
|
-import com.uas.platform.b2c.trade.order.model.Purchase;
|
|
|
-import com.uas.platform.b2c.trade.order.model.PurchaseDetail;
|
|
|
import com.uas.platform.b2c.trade.order.service.OrderDetailService;
|
|
|
import com.uas.platform.b2c.trade.order.service.OrderService;
|
|
|
import com.uas.platform.b2c.trade.order.service.PurchaseService;
|
|
|
@@ -2084,6 +2080,65 @@ public class OrderServiceImpl implements OrderService {
|
|
|
return orderPage;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public String unaduitReleaseOrder(String orderid) {
|
|
|
+ Order order = orderDao.findByOrderid(orderid);
|
|
|
+ List<Purchase> purchase = purchaseDao.findByOrderid(orderid);
|
|
|
+ if (purchase == null)
|
|
|
+ throw new IllegalOperatorException("此订单不存在");
|
|
|
+ if (order == null) {
|
|
|
+ throw new IllegalOperatorException("此订单不存在");
|
|
|
+ }
|
|
|
+
|
|
|
+ if (order.getInstallmentId() == null) {
|
|
|
+ throw new IllegalOperatorException("此订单付款方式非直接付款给卖家,您无法取消,请重新确认订单信息");
|
|
|
+ }
|
|
|
+ Installment installment = installmentDao.findOne(order.getInstallmentId());
|
|
|
+ if (installment == null) {
|
|
|
+ throw new IllegalOperatorException("订单:" + order.getOrderid() + "分期信息有误,请重新确认或联系客服");
|
|
|
+ }
|
|
|
+
|
|
|
+ Long uu = SystemSession.getUser().getUserUU();
|
|
|
+ Set<OrderDetail> orderDetails = order.getOrderDetails();
|
|
|
+ for (OrderDetail orderDetail : orderDetails) {
|
|
|
+ if (orderDetail.getStatus().equals(com.uas.platform.b2c.core.constant.Status.CANCELTOBECONFIRMED.value())) {
|
|
|
+ if (com.uas.platform.b2c.core.constant.Status.PAID.value() == installment.getInstallmentDetails().get(installment.getCurrentNo().intValue()).getStatus().intValue()) {
|
|
|
+ order.setStatusPaid(uu);
|
|
|
+ orderDetail.setStatusPaid(uu);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (com.uas.platform.b2c.core.constant.Status.MONEYRECEIVED.value() == installment.getInstallmentDetails().get(installment.getCurrentNo().intValue()).getStatus().intValue()) {
|
|
|
+ order.setStatusToBePaidAgain(uu);
|
|
|
+ orderDetail.setStatusToBePaidAgain(uu);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ for (Purchase purchase1 : purchase) {
|
|
|
+ int puStatus = purchase1.getStatus().intValue();
|
|
|
+ purchase1.setStatusToBePaidAgain(uu);
|
|
|
+ for (PurchaseDetail detail : purchase1.getPurchaseDetails()) {
|
|
|
+ if (puStatus == detail.getStatus().intValue()) {
|
|
|
+ detail.setStatusToBePaidAgain(uu);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ purchaseDao.save(purchase);
|
|
|
+ orderDao.save(order);
|
|
|
+ return "success";
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public String aduitReleaseOrder(String orderid) {
|
|
|
+ Order order = orderDao.findByOrderid(orderid);
|
|
|
+ if (order == null) {
|
|
|
+ throw new IllegalOperatorException("此订单不存在");
|
|
|
+ }
|
|
|
+ return releaseOrder(orderid, order.getUnavailableReason());
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 取消订单,释放库存
|
|
|
*
|