|
@@ -190,48 +190,62 @@ public class OrderController {
|
|
@RequiresPermissions("order:getProcess")
|
|
@RequiresPermissions("order:getProcess")
|
|
public R getProcess(@PathVariable("orderSn") String orderSn) {
|
|
public R getProcess(@PathVariable("orderSn") String orderSn) {
|
|
OrderProcessRecordEntity orderProcessRecordEntity = orderProcessRecordService.queryObjectByOrderSn(orderSn);
|
|
OrderProcessRecordEntity orderProcessRecordEntity = orderProcessRecordService.queryObjectByOrderSn(orderSn);
|
|
- if(orderProcessRecordEntity != null){
|
|
|
|
- if(orderProcessRecordEntity.getShipmentStartTime()!=null){
|
|
|
|
- orderProcessRecordEntity.setShipmentStartTimeStr(DateUtils.format(orderProcessRecordEntity.getShipmentStartTime(),DateUtils.DATE_TIME_PATTERN));
|
|
|
|
|
|
+ if (orderProcessRecordEntity != null) {
|
|
|
|
+ if (orderProcessRecordEntity.getShipmentStartTime() != null) {
|
|
|
|
+ orderProcessRecordEntity.setShipmentStartTimeStr(
|
|
|
|
+ DateUtils.format(orderProcessRecordEntity.getShipmentStartTime(), DateUtils.DATE_TIME_PATTERN));
|
|
}
|
|
}
|
|
- if(orderProcessRecordEntity.getShipmentSuccTime()!=null){
|
|
|
|
- orderProcessRecordEntity.setShipmentSuccTimeStr(DateUtils.format(orderProcessRecordEntity.getShipmentSuccTime(),DateUtils.DATE_TIME_PATTERN));
|
|
|
|
|
|
+ if (orderProcessRecordEntity.getShipmentSuccTime() != null) {
|
|
|
|
+ orderProcessRecordEntity.setShipmentSuccTimeStr(
|
|
|
|
+ DateUtils.format(orderProcessRecordEntity.getShipmentSuccTime(), DateUtils.DATE_TIME_PATTERN));
|
|
}
|
|
}
|
|
- if(orderProcessRecordEntity.getCustomsStartTime()!=null){
|
|
|
|
- orderProcessRecordEntity.setCustomsStartTimeStr(DateUtils.format(orderProcessRecordEntity.getCustomsStartTime(),DateUtils.DATE_TIME_PATTERN));
|
|
|
|
|
|
+ if (orderProcessRecordEntity.getCustomsStartTime() != null) {
|
|
|
|
+ orderProcessRecordEntity.setCustomsStartTimeStr(
|
|
|
|
+ DateUtils.format(orderProcessRecordEntity.getCustomsStartTime(), DateUtils.DATE_TIME_PATTERN));
|
|
}
|
|
}
|
|
- if(orderProcessRecordEntity.getCustomsSuccTime()!=null){
|
|
|
|
- orderProcessRecordEntity.setCustomsSuccTimeStr(DateUtils.format(orderProcessRecordEntity.getCustomsSuccTime(),DateUtils.DATE_TIME_PATTERN));
|
|
|
|
|
|
+ if (orderProcessRecordEntity.getCustomsSuccTime() != null) {
|
|
|
|
+ orderProcessRecordEntity.setCustomsSuccTimeStr(
|
|
|
|
+ DateUtils.format(orderProcessRecordEntity.getCustomsSuccTime(), DateUtils.DATE_TIME_PATTERN));
|
|
}
|
|
}
|
|
- if(orderProcessRecordEntity.getWaybillStartTime()!=null){
|
|
|
|
- orderProcessRecordEntity.setWaybillStartTimeStr(DateUtils.format(orderProcessRecordEntity.getWaybillStartTime(),DateUtils.DATE_TIME_PATTERN));
|
|
|
|
|
|
+ if (orderProcessRecordEntity.getWaybillStartTime() != null) {
|
|
|
|
+ orderProcessRecordEntity.setWaybillStartTimeStr(
|
|
|
|
+ DateUtils.format(orderProcessRecordEntity.getWaybillStartTime(), DateUtils.DATE_TIME_PATTERN));
|
|
}
|
|
}
|
|
- if(orderProcessRecordEntity.getWaybillSuccTime()!=null){
|
|
|
|
- orderProcessRecordEntity.setWaybillSuccTimeStr(DateUtils.format(orderProcessRecordEntity.getWaybillSuccTime(),DateUtils.DATE_TIME_PATTERN));
|
|
|
|
|
|
+ if (orderProcessRecordEntity.getWaybillSuccTime() != null) {
|
|
|
|
+ orderProcessRecordEntity.setWaybillSuccTimeStr(
|
|
|
|
+ DateUtils.format(orderProcessRecordEntity.getWaybillSuccTime(), DateUtils.DATE_TIME_PATTERN));
|
|
}
|
|
}
|
|
- if(orderProcessRecordEntity.getEleOrderStartTime()!=null){
|
|
|
|
- orderProcessRecordEntity.setEleOrderStartTimeStr(DateUtils.format(orderProcessRecordEntity.getEleOrderStartTime(),DateUtils.DATE_TIME_PATTERN));
|
|
|
|
|
|
+ if (orderProcessRecordEntity.getEleOrderStartTime() != null) {
|
|
|
|
+ orderProcessRecordEntity.setEleOrderStartTimeStr(
|
|
|
|
+ DateUtils.format(orderProcessRecordEntity.getEleOrderStartTime(), DateUtils.DATE_TIME_PATTERN));
|
|
}
|
|
}
|
|
- if(orderProcessRecordEntity.getEleOrderSuccTime()!=null){
|
|
|
|
- orderProcessRecordEntity.setEleOrderSuccTimeStr(DateUtils.format(orderProcessRecordEntity.getEleOrderSuccTime(),DateUtils.DATE_TIME_PATTERN));
|
|
|
|
|
|
+ if (orderProcessRecordEntity.getEleOrderSuccTime() != null) {
|
|
|
|
+ orderProcessRecordEntity.setEleOrderSuccTimeStr(
|
|
|
|
+ DateUtils.format(orderProcessRecordEntity.getEleOrderSuccTime(), DateUtils.DATE_TIME_PATTERN));
|
|
}
|
|
}
|
|
- if(orderProcessRecordEntity.getAddOrderStartTime()!=null){
|
|
|
|
- orderProcessRecordEntity.setAddOrderStartTimeStr(DateUtils.format(orderProcessRecordEntity.getAddOrderStartTime(),DateUtils.DATE_TIME_PATTERN));
|
|
|
|
|
|
+ if (orderProcessRecordEntity.getAddOrderStartTime() != null) {
|
|
|
|
+ orderProcessRecordEntity.setAddOrderStartTimeStr(
|
|
|
|
+ DateUtils.format(orderProcessRecordEntity.getAddOrderStartTime(), DateUtils.DATE_TIME_PATTERN));
|
|
}
|
|
}
|
|
- if(orderProcessRecordEntity.getAddOrderSuccTime()!=null){
|
|
|
|
- orderProcessRecordEntity.setAddOrderSuccTimeStr(DateUtils.format(orderProcessRecordEntity.getAddOrderSuccTime(),DateUtils.DATE_TIME_PATTERN));
|
|
|
|
|
|
+ if (orderProcessRecordEntity.getAddOrderSuccTime() != null) {
|
|
|
|
+ orderProcessRecordEntity.setAddOrderSuccTimeStr(
|
|
|
|
+ DateUtils.format(orderProcessRecordEntity.getAddOrderSuccTime(), DateUtils.DATE_TIME_PATTERN));
|
|
}
|
|
}
|
|
- if(orderProcessRecordEntity.getPaySuccTime()!=null){
|
|
|
|
- orderProcessRecordEntity.setPaySuccTimeStr(DateUtils.format(orderProcessRecordEntity.getPaySuccTime(),DateUtils.DATE_TIME_PATTERN));
|
|
|
|
|
|
+ if (orderProcessRecordEntity.getPaySuccTime() != null) {
|
|
|
|
+ orderProcessRecordEntity.setPaySuccTimeStr(
|
|
|
|
+ DateUtils.format(orderProcessRecordEntity.getPaySuccTime(), DateUtils.DATE_TIME_PATTERN));
|
|
}
|
|
}
|
|
- if(orderProcessRecordEntity.getPayStartTime()!=null){
|
|
|
|
- orderProcessRecordEntity.setPayStartTimeStr(DateUtils.format(orderProcessRecordEntity.getPayStartTime(),DateUtils.DATE_TIME_PATTERN));
|
|
|
|
|
|
+ if (orderProcessRecordEntity.getPayStartTime() != null) {
|
|
|
|
+ orderProcessRecordEntity.setPayStartTimeStr(
|
|
|
|
+ DateUtils.format(orderProcessRecordEntity.getPayStartTime(), DateUtils.DATE_TIME_PATTERN));
|
|
}
|
|
}
|
|
- if(orderProcessRecordEntity.getPaymentStartTime()!=null){
|
|
|
|
- orderProcessRecordEntity.setPaymentStartTimeStr(DateUtils.format(orderProcessRecordEntity.getPaymentStartTime(),DateUtils.DATE_TIME_PATTERN));
|
|
|
|
|
|
+ if (orderProcessRecordEntity.getPaymentStartTime() != null) {
|
|
|
|
+ orderProcessRecordEntity.setPaymentStartTimeStr(
|
|
|
|
+ DateUtils.format(orderProcessRecordEntity.getPaymentStartTime(), DateUtils.DATE_TIME_PATTERN));
|
|
}
|
|
}
|
|
- if(orderProcessRecordEntity.getPaymentSuccTime()!=null){
|
|
|
|
- orderProcessRecordEntity.setPaymentSuccTimeStr(DateUtils.format(orderProcessRecordEntity.getPaymentSuccTime(),DateUtils.DATE_TIME_PATTERN));
|
|
|
|
|
|
+ if (orderProcessRecordEntity.getPaymentSuccTime() != null) {
|
|
|
|
+ orderProcessRecordEntity.setPaymentSuccTimeStr(
|
|
|
|
+ DateUtils.format(orderProcessRecordEntity.getPaymentSuccTime(), DateUtils.DATE_TIME_PATTERN));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return R.ok().put("orderProcessRecordEntity", orderProcessRecordEntity);
|
|
return R.ok().put("orderProcessRecordEntity", orderProcessRecordEntity);
|
|
@@ -323,6 +337,71 @@ public class OrderController {
|
|
return R.ok("退款成功");
|
|
return R.ok("退款成功");
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 订单退款请求
|
|
|
|
+ */
|
|
|
|
+ @RequiresPermissions(value = {"order:offilineRefund"})
|
|
|
|
+ @RequestMapping(value = "offilineRefund", method = RequestMethod.POST)
|
|
|
|
+ public Object offilineRefund(Long orderId) {
|
|
|
|
+ OrderEntity orderInfo = orderService.queryObject(orderId);
|
|
|
|
+ if (null == orderInfo) {
|
|
|
|
+ return R.error("订单不存在");
|
|
|
|
+ }
|
|
|
|
+ if (orderInfo.getOrderStatus() == Integer.parseInt(Dict.orderStatus.item_401.getItem()) ||
|
|
|
|
+ orderInfo.getOrderStatus() == Integer.parseInt(Dict.orderStatus.item_402.getItem())) {
|
|
|
|
+ return R.error("订单已退款");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (orderInfo.getOrderStatus() != 0) {
|
|
|
|
+
|
|
|
|
+ List<OrderWXPayRecordEntity> orderWXPayRecords =
|
|
|
|
+ orderWXPayRecordService.getRecordsByOutTradeNo(orderInfo.getOrderSn());
|
|
|
|
+ //支付成功的发送到微信的订单编号
|
|
|
|
+ String paySuccessOutTradeNoWX = null;
|
|
|
|
+ if (orderWXPayRecords != null) {
|
|
|
|
+ for (OrderWXPayRecordEntity orderWXPayRecord : orderWXPayRecords) {
|
|
|
|
+ if ("SUCCESS".equals(orderWXPayRecord.getTradeState())) {
|
|
|
|
+ paySuccessOutTradeNoWX = orderWXPayRecord.getOutTradeNoWX();
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // todo 退款
|
|
|
|
+ WechatRefundApiResult result = WechatUtil
|
|
|
|
+ .wxRefund(paySuccessOutTradeNoWX, orderInfo.getActualPrice().doubleValue(),
|
|
|
|
+ orderInfo.getActualPrice().doubleValue());
|
|
|
|
+ if (result.getResult_code().equals("SUCCESS")) {
|
|
|
|
+ orderService.refund(orderInfo, result);
|
|
|
|
+ } else {
|
|
|
|
+ OrderRefundEntity mallOrderRefund = orderRefundService.queryObjectByOrderId(orderInfo.getId());
|
|
|
|
+ OrderRefundEntity orderRefund = new OrderRefundEntity();
|
|
|
|
+ orderRefund.setRefundType(Integer.parseInt(Dict.RefundType.item_1.getItem()));
|
|
|
|
+ orderRefund.setRefundMoney(BigDecimal.valueOf(orderInfo.getActualPrice().doubleValue()));
|
|
|
|
+ orderRefund.setRefundStatus(Integer.parseInt(Dict.RefundStatus.item_4.getItem()));
|
|
|
|
+ orderRefund.setModTime(new Date());
|
|
|
|
+ orderRefund.setOutRefundNo(result.getOut_refund_no());
|
|
|
|
+ if (mallOrderRefund != null) {
|
|
|
|
+ orderRefund.setId(mallOrderRefund.getId());
|
|
|
|
+ orderRefundService.update(orderRefund);//退款记录
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ OrderExceptionRecordEntity mallOrderExceptionRecord = new OrderExceptionRecordEntity();
|
|
|
|
+ mallOrderExceptionRecord.setUserId(Integer.parseInt(orderInfo.getUserId() + ""));
|
|
|
|
+ mallOrderExceptionRecord.setOrderSn(orderInfo.getOrderSn());
|
|
|
|
+ mallOrderExceptionRecord.setExceptionStatus(Dict.exceptionStatus.item_03.getItem());
|
|
|
|
+ mallOrderExceptionRecord.setExceptionContent("退款失败" + result.getErr_code_des());
|
|
|
|
+ mallOrderExceptionRecord.setCreateTime(new Date());
|
|
|
|
+ orderExceptionRecordService.save(mallOrderExceptionRecord);
|
|
|
|
+
|
|
|
|
+ return R.error(result.getErr_code_des());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return R.ok("退款成功");
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 获取首页展示信息--会员购买率相关
|
|
* 获取首页展示信息--会员购买率相关
|
|
*
|
|
*
|
|
@@ -343,9 +422,9 @@ public class OrderController {
|
|
Map resultObj = null;
|
|
Map resultObj = null;
|
|
try {
|
|
try {
|
|
SysUserEntity user = ShiroUtils.getUserEntity();
|
|
SysUserEntity user = ShiroUtils.getUserEntity();
|
|
- resultObj = orderService.orderSubmit(offlineCartEntityList,user);
|
|
|
|
- if (((Integer)resultObj.get("errno")) != 0) {
|
|
|
|
- return R.error((String)resultObj.get("errmsg"));
|
|
|
|
|
|
+ resultObj = orderService.orderSubmit(offlineCartEntityList, user);
|
|
|
|
+ if (((Integer) resultObj.get("errno")) != 0) {
|
|
|
|
+ return R.error((String) resultObj.get("errmsg"));
|
|
}
|
|
}
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|