|
@@ -520,9 +520,12 @@ public class OrderServiceImpl implements OrderService {
|
|
OrderRefundEntity mallOrderRefund = orderRefundDao.queryObjectByOrderId(order.getId());
|
|
OrderRefundEntity mallOrderRefund = orderRefundDao.queryObjectByOrderId(order.getId());
|
|
OrderRefundEntity orderRefund = new OrderRefundEntity();
|
|
OrderRefundEntity orderRefund = new OrderRefundEntity();
|
|
orderRefund.setRefundId(result.getRefund_id());
|
|
orderRefund.setRefundId(result.getRefund_id());
|
|
- orderRefund.setOutRefundNo(result.getOut_refund_no());
|
|
|
|
- orderRefund
|
|
|
|
- .setRefundMoney(BigDecimal.valueOf(Long.valueOf(result.getRefund_fee())).divide(Constant.ONE_HUNDRED));
|
|
|
|
|
|
+ try {
|
|
|
|
+ orderRefund.setOutRefundNo(result.getOut_trade_no());
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
|
|
+ orderRefund.setRefundMoney(BigDecimal.valueOf(Long.valueOf(result.getRefund_fee())).divide(Constant.ONE_HUNDRED));
|
|
orderRefund.setRefundStatus(Integer.parseInt(Dict.RefundStatus.item_5.getItem()));//退款处理中
|
|
orderRefund.setRefundStatus(Integer.parseInt(Dict.RefundStatus.item_5.getItem()));//退款处理中
|
|
orderRefund.setModTime(new Date());
|
|
orderRefund.setModTime(new Date());
|
|
|
|
|
|
@@ -565,7 +568,6 @@ public class OrderServiceImpl implements OrderService {
|
|
|
|
|
|
@Transactional
|
|
@Transactional
|
|
public void refund(OrderEntity order, AliPayMicropayApiResult result) {
|
|
public void refund(OrderEntity order, AliPayMicropayApiResult result) {
|
|
- boolean needUpdateStock = true;
|
|
|
|
if (order.getOrderStatus() == Integer.parseInt(Dict.orderStatus.item_201.getItem())) {
|
|
if (order.getOrderStatus() == Integer.parseInt(Dict.orderStatus.item_201.getItem())) {
|
|
order.setOrderStatus(Integer.parseInt(Dict.orderStatus.item_401.getItem()));
|
|
order.setOrderStatus(Integer.parseInt(Dict.orderStatus.item_401.getItem()));
|
|
}
|
|
}
|
|
@@ -600,21 +602,8 @@ public class OrderServiceImpl implements OrderService {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
orderDao.update(order);//修改为退款中
|
|
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, "收银端退款");
|
|
updateStock(order, "收银端退款");
|
|
|
|
|
|
-// queryStorePromRealUpdateIsScan(order);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -829,7 +818,7 @@ public class OrderServiceImpl implements OrderService {
|
|
*/
|
|
*/
|
|
private void resetStoreGoodsStock(Integer stockNum, ProductStoreRelaEntity storeRelaEntity,
|
|
private void resetStoreGoodsStock(Integer stockNum, ProductStoreRelaEntity storeRelaEntity,
|
|
OrderGoodsEntity orderGoodsEntity, BigDecimal sellVolume, String changeReason, SysUserEntity user){
|
|
OrderGoodsEntity orderGoodsEntity, BigDecimal sellVolume, String changeReason, SysUserEntity user){
|
|
- storeRelaEntity.setSellVolume(Integer.parseInt(sellVolume.toString()));
|
|
|
|
|
|
+ storeRelaEntity.setSellVolume(Integer.parseInt(sellVolume.toString())); // 减退库存
|
|
storeRelaEntity.setStockNum(stockNum + orderGoodsEntity.getNumber());//库存数量
|
|
storeRelaEntity.setStockNum(stockNum + orderGoodsEntity.getNumber());//库存数量
|
|
productStoreRelaDao.update(storeRelaEntity);
|
|
productStoreRelaDao.update(storeRelaEntity);
|
|
|
|
|
|
@@ -1847,14 +1836,9 @@ public class OrderServiceImpl implements OrderService {
|
|
productInfo.setStockNum(productInfo.getStockNum() - num);
|
|
productInfo.setStockNum(productInfo.getStockNum() - num);
|
|
productInfo.setStoreId(Long.valueOf(storeId));
|
|
productInfo.setStoreId(Long.valueOf(storeId));
|
|
productInfo.setSellVolume(productInfo.getSellVolume() + num);
|
|
productInfo.setSellVolume(productInfo.getSellVolume() + num);
|
|
-// productInfo.addSellVolume();
|
|
|
|
productInfo.setLastSaleTime(new Date());
|
|
productInfo.setLastSaleTime(new Date());
|
|
productStoreRelaDao.updateStockNum(productInfo);//修改普通商品库存
|
|
productStoreRelaDao.updateStockNum(productInfo);//修改普通商品库存
|
|
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
if(goodsEntity != null) {
|
|
if(goodsEntity != null) {
|
|
MngChangeEntity mngChangeEntity = new MngChangeEntity();
|
|
MngChangeEntity mngChangeEntity = new MngChangeEntity();
|
|
mngChangeEntity.setThirdPartyMerchCode(goodsEntity.getThirdPartyMerchCode());
|
|
mngChangeEntity.setThirdPartyMerchCode(goodsEntity.getThirdPartyMerchCode());
|
|
@@ -1872,8 +1856,6 @@ public class OrderServiceImpl implements OrderService {
|
|
mngChangeEntity.setGoodsId(Integer.parseInt(String.valueOf(goodsEntity.getId())));
|
|
mngChangeEntity.setGoodsId(Integer.parseInt(String.valueOf(goodsEntity.getId())));
|
|
|
|
|
|
mngChangeDao.save(mngChangeEntity);
|
|
mngChangeDao.save(mngChangeEntity);
|
|
-
|
|
|
|
-
|
|
|
|
goodsEntity.setGoodsNumber(goodsEntity.getGoodsNumber() - num);
|
|
goodsEntity.setGoodsNumber(goodsEntity.getGoodsNumber() - num);
|
|
goodsEntity.setLastSaleTime(new Date());
|
|
goodsEntity.setLastSaleTime(new Date());
|
|
goodsDao.update(goodsEntity);
|
|
goodsDao.update(goodsEntity);
|
|
@@ -1930,8 +1912,6 @@ public class OrderServiceImpl implements OrderService {
|
|
goodsEntity.setDiscountedPrice(disCountedPrice);
|
|
goodsEntity.setDiscountedPrice(disCountedPrice);
|
|
goodsEntity.setActualPaymentAmount(actualPaymentAmount);
|
|
goodsEntity.setActualPaymentAmount(actualPaymentAmount);
|
|
|
|
|
|
-
|
|
|
|
-
|
|
|
|
// 借用这个字段来存储购买数
|
|
// 借用这个字段来存储购买数
|
|
goodsEntity.setGoodsNumber(num);
|
|
goodsEntity.setGoodsNumber(num);
|
|
goodsEntity.setActivity((String) goodsDto.get("activity"));
|
|
goodsEntity.setActivity((String) goodsDto.get("activity"));
|
|
@@ -1954,9 +1934,6 @@ public class OrderServiceImpl implements OrderService {
|
|
tax = new BigDecimal((String) taxObject) ;
|
|
tax = new BigDecimal((String) taxObject) ;
|
|
}
|
|
}
|
|
totalTax = totalTax.add(tax).setScale(2,BigDecimal.ROUND_HALF_DOWN); // 计算总的税额
|
|
totalTax = totalTax.add(tax).setScale(2,BigDecimal.ROUND_HALF_DOWN); // 计算总的税额
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -2000,7 +1977,6 @@ public class OrderServiceImpl implements OrderService {
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
// 判断该用户是否是生日
|
|
// 判断该用户是否是生日
|
|
Boolean isBirth = false;
|
|
Boolean isBirth = false;
|
|
String birthday = "";
|
|
String birthday = "";
|
|
@@ -2065,8 +2041,6 @@ public class OrderServiceImpl implements OrderService {
|
|
|
|
|
|
// 设置支付单开始时间
|
|
// 设置支付单开始时间
|
|
processRecordEntity.setPaymentStartTime(new Date());
|
|
processRecordEntity.setPaymentStartTime(new Date());
|
|
-
|
|
|
|
-
|
|
|
|
// 判断是微信的支付码还是支付宝的支付码
|
|
// 判断是微信的支付码还是支付宝的支付码
|
|
if (parCode.startsWith("28")) {
|
|
if (parCode.startsWith("28")) {
|
|
// 支付宝支付
|
|
// 支付宝支付
|
|
@@ -2076,7 +2050,6 @@ public class OrderServiceImpl implements OrderService {
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
throw e;
|
|
throw e;
|
|
}
|
|
}
|
|
-
|
|
|
|
}else{
|
|
}else{
|
|
// 微信支付
|
|
// 微信支付
|
|
try {
|
|
try {
|
|
@@ -2085,7 +2058,6 @@ public class OrderServiceImpl implements OrderService {
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
throw e;
|
|
throw e;
|
|
}
|
|
}
|
|
-
|
|
|
|
}
|
|
}
|
|
|
|
|
|
OrderEntity orderEntity = queryObject(order.getId());
|
|
OrderEntity orderEntity = queryObject(order.getId());
|
|
@@ -2405,28 +2377,6 @@ public class OrderServiceImpl implements OrderService {
|
|
//查询当前订单所有的支付记录
|
|
//查询当前订单所有的支付记录
|
|
List<OrderWXPayRecordEntity> orderWXPayRecordEntitys =
|
|
List<OrderWXPayRecordEntity> orderWXPayRecordEntitys =
|
|
orderWXPayRecordService.getRecordsByOutTradeNo(order.getOrder_sn());
|
|
orderWXPayRecordService.getRecordsByOutTradeNo(order.getOrder_sn());
|
|
-// for (OrderWXPayRecordEntity orderWXPayRecordTemp : orderWXPayRecordEntitys) {
|
|
|
|
-// //查询出来的记录排除当前已支付成功的记录,对其他记录交易状态为未撤销,未关闭的订单,调用撤销订单
|
|
|
|
-// if (orderWXPayRecordTemp.getId() != orderWXPayRecordCurrent.getId() &&
|
|
|
|
-// (!WechatUtil.WXTradeState.REVOKED.getCode().equals(orderWXPayRecordTemp.getTradeState()) ||
|
|
|
|
-// !WechatUtil.WXTradeState.CLOSED.getCode().equals(orderWXPayRecordTemp.getTradeState()))) {
|
|
|
|
-// WechatReverseApiResult wechatReverseApiResult =
|
|
|
|
-// WechatUtil.wxReverse(orderWXPayRecordTemp.getOutTradeNoWX());
|
|
|
|
-// //撤销订单成功
|
|
|
|
-// if (WechatUtil.WXTradeState.SUCCESS.getCode().equals(wechatReverseApiResult.getReturn_code()) &&
|
|
|
|
-// WechatUtil.WXTradeState.SUCCESS.getCode().equals(wechatReverseApiResult.getResult_code())) {
|
|
|
|
-// //调用订单查询接口
|
|
|
|
-// WechatRefundApiResult wechatRefundApiResult =
|
|
|
|
-// WechatUtil.wxOrderQuery(orderWXPayRecordTemp.getOutTradeNoWX());
|
|
|
|
-// if (WechatUtil.WXTradeState.SUCCESS.getCode().equals(wechatRefundApiResult.getReturn_code()) &&
|
|
|
|
-// WechatUtil.WXTradeState.SUCCESS.getCode().equals(wechatRefundApiResult.getResult_code())) {
|
|
|
|
-// // 修改订单支付记录
|
|
|
|
-// orderWXPayRecordService
|
|
|
|
-// .updateWXPayRecordTradeState(orderWXPayRecordTemp.getId(), wechatRefundApiResult);
|
|
|
|
-// }
|
|
|
|
-// }
|
|
|
|
-// }
|
|
|
|
-// }
|
|
|
|
LOGGER.info("wechatMicropayApiResult.getTransaction_id()"+wechatMicropayApiResult.getTransaction_id());
|
|
LOGGER.info("wechatMicropayApiResult.getTransaction_id()"+wechatMicropayApiResult.getTransaction_id());
|
|
|
|
|
|
Map orderRaram = Maps.newHashMap();
|
|
Map orderRaram = Maps.newHashMap();
|
|
@@ -2462,8 +2412,6 @@ public class OrderServiceImpl implements OrderService {
|
|
}
|
|
}
|
|
times++;
|
|
times++;
|
|
}
|
|
}
|
|
-
|
|
|
|
-
|
|
|
|
//用户支付失败
|
|
//用户支付失败
|
|
} else if (WechatUtil.WXTradeState.PAYERROR.getCode().equals(wechatMicropayApiResult.getTrade_state())) {
|
|
} else if (WechatUtil.WXTradeState.PAYERROR.getCode().equals(wechatMicropayApiResult.getTrade_state())) {
|
|
WechatReverseApiResult wechatReverseApiResult =
|
|
WechatReverseApiResult wechatReverseApiResult =
|
|
@@ -2600,24 +2548,14 @@ public class OrderServiceImpl implements OrderService {
|
|
}
|
|
}
|
|
String refundResult = "";
|
|
String refundResult = "";
|
|
if (orderInfo.getOrderStatus() != Integer.parseInt(Dict.orderStatus.item_0.getItem())) {
|
|
if (orderInfo.getOrderStatus() != Integer.parseInt(Dict.orderStatus.item_0.getItem())) {
|
|
-// if (orderInfo.getPayFlag().equalsIgnoreCase(Dict.payFlag.item_wxglobalpay.getItem())) {
|
|
|
|
-// refundResult = wxGlobalRefund(orderInfo, totalActualPrice);
|
|
|
|
-// if (org.apache.commons.lang3.StringUtils.isNotBlank(refundResult)) {
|
|
|
|
-// return R.error(refundResult);
|
|
|
|
-// }
|
|
|
|
-// } else if (orderInfo.getPayFlag().equalsIgnoreCase(Dict.payFlag.item_pingan.getItem())) {
|
|
|
|
-// refundResult = pinganRefund(orderInfo, refundId);
|
|
|
|
-// if (org.apache.commons.lang3.StringUtils.isNotBlank(refundResult)) {
|
|
|
|
-// return R.error(refundResult);
|
|
|
|
-// }
|
|
|
|
-// } else{
|
|
|
|
LOGGER.info("微信退款开始");
|
|
LOGGER.info("微信退款开始");
|
|
refundResult = wxRefund(orderInfo,totalActualPrice);
|
|
refundResult = wxRefund(orderInfo,totalActualPrice);
|
|
if(org.apache.commons.lang3.StringUtils.isNotBlank(refundResult)){
|
|
if(org.apache.commons.lang3.StringUtils.isNotBlank(refundResult)){
|
|
return R.error(refundResult);
|
|
return R.error(refundResult);
|
|
}
|
|
}
|
|
|
|
+ order.setPayStatus(Integer.parseInt(Dict.payStatus.item_5.getItem()));
|
|
|
|
+ order.setOrderStatus(Integer.parseInt(Dict.orderStatus.item_401.getItem()));
|
|
LOGGER.info("微信退款");
|
|
LOGGER.info("微信退款");
|
|
-// }
|
|
|
|
}
|
|
}
|
|
// 支付宝的退款代码
|
|
// 支付宝的退款代码
|
|
} else if(Dict.payFlag.item_alipay.getItem().equals(payFlag)) {
|
|
} else if(Dict.payFlag.item_alipay.getItem().equals(payFlag)) {
|
|
@@ -2635,10 +2573,10 @@ public class OrderServiceImpl implements OrderService {
|
|
.setRefundMoney(new BigDecimal(userRefund.getRefundFee()));
|
|
.setRefundMoney(new BigDecimal(userRefund.getRefundFee()));
|
|
orderRefund.setRefundStatus(Integer.parseInt(Dict.RefundStatus.item_2.getItem()));//退款成功
|
|
orderRefund.setRefundStatus(Integer.parseInt(Dict.RefundStatus.item_2.getItem()));//退款成功
|
|
orderRefund.setModTime(new Date());
|
|
orderRefund.setModTime(new Date());
|
|
-
|
|
|
|
- orderRefund.setOrderId(Integer.parseInt(order.getId() + ""));
|
|
|
|
- orderRefund.setUserId(Integer.parseInt(order.getUserId() + ""));
|
|
|
|
- orderRefund.setCreateTime(new Date());
|
|
|
|
|
|
+ orderRefund.setRefundTime(new Date());
|
|
|
|
+ orderRefund.setOrderId(Integer.parseInt(order.getId() + ""));
|
|
|
|
+ orderRefund.setUserId(Integer.parseInt(order.getUserId() + ""));
|
|
|
|
+ orderRefund.setCreateTime(new Date());
|
|
List<OrderEntity> list = orderDao.queryObjectByMerchOrderSn(order.getMerchOrderSn());
|
|
List<OrderEntity> list = orderDao.queryObjectByMerchOrderSn(order.getMerchOrderSn());
|
|
if(list.size()>1){//多条订单
|
|
if(list.size()>1){//多条订单
|
|
orderRefund.setRefundType(Integer.parseInt(Dict.RefundType.item_2.getItem()));//部分退款
|
|
orderRefund.setRefundType(Integer.parseInt(Dict.RefundType.item_2.getItem()));//部分退款
|
|
@@ -2652,7 +2590,6 @@ public class OrderServiceImpl implements OrderService {
|
|
PickUpCodeEntity pickUpCodeEntity = pickUpCodeService.queryObject(order.getOrderSn());
|
|
PickUpCodeEntity pickUpCodeEntity = pickUpCodeService.queryObject(order.getOrderSn());
|
|
pickUpCodeEntity.setPickUpCodeStatus("3");
|
|
pickUpCodeEntity.setPickUpCodeStatus("3");
|
|
pickUpCodeService.update(pickUpCodeEntity);
|
|
pickUpCodeService.update(pickUpCodeEntity);
|
|
-// WebSocketServer.delete(sessionId,order.getStoreId(),pickUpCodeEntity);
|
|
|
|
updateStock(order, "收银端退款");
|
|
updateStock(order, "收银端退款");
|
|
return R.ok("退款成功");
|
|
return R.ok("退款成功");
|
|
}
|
|
}
|