|
@@ -376,6 +376,37 @@ public class OrderServiceImpl implements OrderService {
|
|
return TicketPrintUtil.print(head, goodsList, cashInfo, cusListing);
|
|
return TicketPrintUtil.print(head, goodsList, cashInfo, cusListing);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 退款
|
|
|
|
+ */
|
|
|
|
+ @Transactional
|
|
|
|
+ public void refund(OrderEntity order) {
|
|
|
|
+ boolean needUpdateStock = true;
|
|
|
|
+ if (order.getOrderStatus() == Integer.parseInt(Dict.orderStatus.item_201.getItem())) {
|
|
|
|
+ order.setOrderStatus(Integer.parseInt(Dict.orderStatus.item_401.getItem()));
|
|
|
|
+ }
|
|
|
|
+ if (Dict.payFlag.item_cash.getItem().equals(order.getPayFlag())) {
|
|
|
|
+ order.setPayStatus(Integer.parseInt(Dict.payStatus.item_4.getItem()));
|
|
|
|
+ }
|
|
|
|
+ orderDao.update(order);//修改为退款中
|
|
|
|
+ // TODO: 2019/6/13 定时任务查询退款成功后释放库存、优惠券
|
|
|
|
+ /*// 判断是否有优惠券
|
|
|
|
+ UserCouponEntity couponVo = userCouponDao.queryByOrderId(order.getId());
|
|
|
|
+ if (null != couponVo) {
|
|
|
|
+ userCouponDao.cancelOrder(couponVo);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (!needUpdateStock) {
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ // 更新库存
|
|
|
|
+ updateStock(order, "管理后台订单退款");*/
|
|
|
|
+// updateStock(order, "管理后台订单退款");
|
|
|
|
+
|
|
|
|
+ queryStorePromRealUpdateIsScan(order);
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 退款
|
|
* 退款
|
|
*/
|
|
*/
|
|
@@ -433,6 +464,62 @@ public class OrderServiceImpl implements OrderService {
|
|
queryStorePromRealUpdateIsScan(order);
|
|
queryStorePromRealUpdateIsScan(order);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ @Transactional
|
|
|
|
+ public void refund(OrderEntity order, AliPayMicropayApiResult result) {
|
|
|
|
+ boolean needUpdateStock = true;
|
|
|
|
+ if (order.getOrderStatus() == Integer.parseInt(Dict.orderStatus.item_201.getItem())) {
|
|
|
|
+ order.setOrderStatus(Integer.parseInt(Dict.orderStatus.item_401.getItem()));
|
|
|
|
+ }
|
|
|
|
+ if (Dict.payFlag.item_cash.getItem().equals(order.getPayFlag())) {
|
|
|
|
+ order.setPayStatus(Integer.parseInt(Dict.payStatus.item_4.getItem()));
|
|
|
|
+ }else{
|
|
|
|
+ order.setPayStatus(Integer.parseInt(Dict.payStatus.item_4.getItem()));
|
|
|
|
+ OrderRefundEntity mallOrderRefund = orderRefundDao.queryObjectByOrderId(order.getId());
|
|
|
|
+ OrderRefundEntity orderRefund = new OrderRefundEntity();
|
|
|
|
+ orderRefund.setRefundId(result.getTradeNo());
|
|
|
|
+ orderRefund.setOutRefundNo(result.getOutTradeNo());
|
|
|
|
+ orderRefund
|
|
|
|
+ .setRefundMoney(new BigDecimal(result.getRefundFee()).divide(Constant.ONE_HUNDRED));
|
|
|
|
+ orderRefund.setRefundStatus(Integer.parseInt(Dict.RefundStatus.item_2.getItem()));//退款处理中
|
|
|
|
+ orderRefund.setModTime(new Date());
|
|
|
|
+
|
|
|
|
+ if (mallOrderRefund != null) {
|
|
|
|
+ orderRefund.setId(mallOrderRefund.getId());
|
|
|
|
+ orderRefund.setRefundType(mallOrderRefund.getRefundType());
|
|
|
|
+ orderRefundDao.update(orderRefund);
|
|
|
|
+ } else {
|
|
|
|
+ orderRefund.setOrderId(Integer.parseInt(order.getId() + ""));
|
|
|
|
+ orderRefund.setUserId(Integer.parseInt(order.getUserId() + ""));
|
|
|
|
+ orderRefund.setCreateTime(new Date());
|
|
|
|
+ List<OrderEntity> list = orderDao.queryObjectByMerchOrderSn(order.getMerchOrderSn());
|
|
|
|
+ if(list.size()>1){//多条订单
|
|
|
|
+ orderRefund.setRefundType(Integer.parseInt(Dict.RefundType.item_2.getItem()));//部分退款
|
|
|
|
+ }else{
|
|
|
|
+ orderRefund.setRefundType(Integer.parseInt(Dict.RefundType.item_1.getItem()));//用户全额退款
|
|
|
|
+ }
|
|
|
|
+ orderRefundDao.save(orderRefund);//退款记录
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ orderDao.update(order);//修改为退款中
|
|
|
|
+ // TODO: 2019/6/13 定时任务查询退款成功后释放库存、优惠券
|
|
|
|
+ /*// 判断是否有优惠券
|
|
|
|
+ UserCouponEntity couponVo = userCouponDao.queryByOrderId(order.getId());
|
|
|
|
+ if (null != couponVo) {
|
|
|
|
+ userCouponDao.cancelOrder(couponVo);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (!needUpdateStock) {
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ // 更新库存
|
|
|
|
+ updateStock(order, "管理后台订单退款");*/
|
|
|
|
+// updateStock(order, "管理后台订单退款");
|
|
|
|
+
|
|
|
|
+// queryStorePromRealUpdateIsScan(order);
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 平安退款逻辑处理
|
|
* 平安退款逻辑处理
|
|
* @param order
|
|
* @param order
|
|
@@ -1631,7 +1718,9 @@ public class OrderServiceImpl implements OrderService {
|
|
// 微信支付
|
|
// 微信支付
|
|
// wxPay(user, parCode, resultObj, order, processRecordEntity, orderWXPayRecordCurrent, store);
|
|
// wxPay(user, parCode, resultObj, order, processRecordEntity, orderWXPayRecordCurrent, store);
|
|
// 支付宝支付
|
|
// 支付宝支付
|
|
- AliPay(user, parCode, resultObj, order, processRecordEntity, orderWXPayRecordCurrent, store);
|
|
|
|
|
|
+// AliPay(user, parCode , order, processRecordEntity, orderWXPayRecordCurrent, store);
|
|
|
|
+ resultObj.put("shopName",store.getStoreName()); // 根据门店编号查询
|
|
|
|
+ resultObj.put("userName",user.getUsername());
|
|
|
|
|
|
// 保存订单流转表
|
|
// 保存订单流转表
|
|
// 设置下单完成时间
|
|
// 设置下单完成时间
|
|
@@ -1665,7 +1754,7 @@ public class OrderServiceImpl implements OrderService {
|
|
return resultObj;
|
|
return resultObj;
|
|
}
|
|
}
|
|
|
|
|
|
- private void AliPay(SysUserEntity user, String parCode, Map resultObj, OrderVo order, OrderProcessRecordEntity processRecordEntity, OrderWXPayRecordEntity orderWXPayRecordCurrent, StoreEntity store) throws Exception {
|
|
|
|
|
|
+ private void AliPay(SysUserEntity user, String parCode, OrderVo order, OrderProcessRecordEntity processRecordEntity, OrderWXPayRecordEntity orderWXPayRecordCurrent, StoreEntity store) throws Exception {
|
|
|
|
|
|
AliPayRequestParams params = new AliPayRequestParams();
|
|
AliPayRequestParams params = new AliPayRequestParams();
|
|
params.setAuthCode(parCode);
|
|
params.setAuthCode(parCode);
|
|
@@ -1678,8 +1767,7 @@ public class OrderServiceImpl implements OrderService {
|
|
AliPayMicropayApiResult aliPayMicropayApiResult = AliPayUtil.aliTradePay(params);
|
|
AliPayMicropayApiResult aliPayMicropayApiResult = AliPayUtil.aliTradePay(params);
|
|
orderWXPayRecordService.updateRecordByAli(orderWXPayRecordCurrent.getId(), aliPayMicropayApiResult);
|
|
orderWXPayRecordService.updateRecordByAli(orderWXPayRecordCurrent.getId(), aliPayMicropayApiResult);
|
|
LOGGER.info("调用阿里支付接口的同步返回结果:"+JacksonUtils.toJson(aliPayMicropayApiResult));
|
|
LOGGER.info("调用阿里支付接口的同步返回结果:"+JacksonUtils.toJson(aliPayMicropayApiResult));
|
|
- resultObj.put("shopName",store.getStoreName()); // 根据门店编号查询
|
|
|
|
- resultObj.put("userName",user.getUsername());
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
|
|
// 修改订单状态
|
|
// 修改订单状态
|