|
|
@@ -21,8 +21,10 @@ 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;
|
|
|
@@ -1523,6 +1525,15 @@ public class OrderServiceImpl implements OrderService {
|
|
|
@Override
|
|
|
public Order buyerOrderDetail(String orderid) {
|
|
|
Order order = orderDao.findOrderByOrderid(orderid);
|
|
|
+ //买家中心--订单详情页 增加分期付款信息
|
|
|
+ Long installmentId = order.getInstallmentId();
|
|
|
+ if (installmentId != null) {
|
|
|
+ Installment installment = installmentDao.findOne(installmentId);
|
|
|
+ if (installment == null) {
|
|
|
+ throw new IllegalOperatorException("订单:" + order.getOrderid() + "分期信息有误,请重新确认或联系客服");
|
|
|
+ }
|
|
|
+ order.setInstallment(installment);
|
|
|
+ }
|
|
|
Set<OrderDetail> orderDetails = order.getOrderDetails();
|
|
|
for (OrderDetail orderDetail : orderDetails) {
|
|
|
Goods goods = goodsService.findGoodsByBatchCode(orderDetail.getBatchCode());
|
|
|
@@ -1885,6 +1896,18 @@ public class OrderServiceImpl implements OrderService {
|
|
|
order.setPuExInfoMapToJson(puExInfoMap);
|
|
|
}
|
|
|
|
|
|
+ //买家中心--订单中心 增加分期付款信息
|
|
|
+ for (Order order : pageOrders) {
|
|
|
+ Long installmentId = order.getInstallmentId();
|
|
|
+ if (installmentId != null) {
|
|
|
+ Installment installment = installmentDao.findOne(installmentId);
|
|
|
+ if (installment == null) {
|
|
|
+ throw new IllegalOperatorException("订单:" + order.getOrderid() + "分期信息有误,请重新确认或联系客服");
|
|
|
+ }
|
|
|
+ order.setInstallment(installment);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
modelMap.addAttribute("content", pageOrders.getContent());
|
|
|
modelMap.addAttribute("totalElements", pageOrders.getTotalElements());
|
|
|
modelMap.addAttribute("totalPages", pageOrders.getTotalPages());
|
|
|
@@ -2125,6 +2148,82 @@ public class OrderServiceImpl implements OrderService {
|
|
|
return "success";
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 卖家取消订单,释放库存
|
|
|
+ *
|
|
|
+ * @param orderid
|
|
|
+ * @return string string
|
|
|
+ */
|
|
|
+ @Transactional
|
|
|
+ @Override
|
|
|
+ public String releaseByVendor(String orderid) {
|
|
|
+ Order order = orderDao.findByOrderid(orderid);
|
|
|
+ if (order == null) {
|
|
|
+ throw new IllegalOperatorException("此订单不存在");
|
|
|
+ }
|
|
|
+ Long installmentId = order.getInstallmentId();
|
|
|
+ if (installmentId != null) {
|
|
|
+ Installment installment = installmentDao.findOne(installmentId);
|
|
|
+ if (installment == null) {
|
|
|
+ throw new IllegalOperatorException("订单:" + order.getOrderid() + "分期信息有误,请重新确认或联系客服");
|
|
|
+ }
|
|
|
+ order.setInstallment(installment);
|
|
|
+ }
|
|
|
+ if (SystemSession.getUser().getUserUU() == null) {
|
|
|
+ throw new IllegalOperatorException("您当前的账号不存在或未登录!请重新登录");
|
|
|
+ }
|
|
|
+ if (SystemSession.getUser().getUserUU() != order.getInstallment().getSellerenuu()) {
|
|
|
+ throw new IllegalOperatorException("您当前的账号登录异常!请重新登录");
|
|
|
+ }
|
|
|
+ Set<Integer> status = new HashSet<>();
|
|
|
+ Collections.addAll(status, Status.TOBECONFIRMED.value(), Status.TOBEPAID.value(), Status.CONFIRMED.value());
|
|
|
+ if (!status.contains(order.getStatus())) {
|
|
|
+ throw new IllegalOperatorException("此订单已付款,不可取消订单");
|
|
|
+ }
|
|
|
+ Date dateDeadline = order.getInstallment().getInstallmentDetails().get(0).getDeadline();
|
|
|
+ Date datePaidData = order.getInstallment().getInstallmentDetails().get(0).getPaidDate();
|
|
|
+ Date newDate = new Date();
|
|
|
+ if (dateDeadline.after(datePaidData) && datePaidData != null) {
|
|
|
+ throw new IllegalOperatorException("买家已付款且付款日期没有超过截止期限,不可取消订单");
|
|
|
+ }
|
|
|
+ if (dateDeadline.after(newDate) && datePaidData == null) {
|
|
|
+ throw new IllegalOperatorException("没有超过付款截止日期,不可取消订单");
|
|
|
+ }
|
|
|
+ Set<String> uuids = new HashSet<>();
|
|
|
+ Long uu = SystemSession.getUser().getUserUU();
|
|
|
+ order.setStatusUnAvailablePersonal(uu);
|
|
|
+ order.setUnavailableTime(new Date());
|
|
|
+ Set<OrderDetail> orderDetails = order.getOrderDetails();
|
|
|
+ for (OrderDetail orderDetail : orderDetails) {
|
|
|
+ if (orderDetail.getStatus().equals(Status.CONFIRMED.value())
|
|
|
+ || orderDetail.getStatus().equals(Status.TOBEPAID.value())) {
|
|
|
+ uuids.add(orderDetail.getUuid());
|
|
|
+ orderDetail.setStatusUnAvailablePersonal(uu);
|
|
|
+ goodsService.releaseReserve(orderDetail.getBatchCode(), orderDetail.getNumber());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<Purchase> purchases = purchaseDao.findByOrderid(order.getOrderid());
|
|
|
+ if (!CollectionUtils.isEmpty(purchases)) {
|
|
|
+ for (Purchase purchase : purchases) {
|
|
|
+ int puStatus = purchase.getStatus().intValue();
|
|
|
+ purchase.setStatusUnAvailablePersonal(uu);
|
|
|
+ purchase.setUnavailableTime(new Date());
|
|
|
+ for (PurchaseDetail detail : purchase.getPurchaseDetails()) {
|
|
|
+ if (puStatus == detail.getStatus().intValue()) {
|
|
|
+ detail.setStatusUnAvailablePersonal(uu);
|
|
|
+ detail.setUnavailableTime(new Date());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ purchaseDao.save(purchases);
|
|
|
+ orderDao.save(order);
|
|
|
+ for (String uuid : uuids) {
|
|
|
+ goodsService.updateComponentTradeInfos(uuid);
|
|
|
+ }
|
|
|
+ return "success";
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
// TODO 查询接口 支持类型 :现货
|
|
|
@Override
|