From aea293e9a56f37039645ced990f784ccd33d345f Mon Sep 17 00:00:00 2001 From: HH Date: Wed, 20 Jul 2022 18:41:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=A8=E4=B8=BB=E8=AE=A2=E5=8D=95=E7=9A=84up?= =?UTF-8?q?date=E6=96=B9=E6=B3=95=E9=87=8C=E8=A7=A6=E5=8F=91=E7=A1=AE?= =?UTF-8?q?=E8=AE=A4=E6=94=AF=E4=BB=98=E5=92=8C=E6=8F=90=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/order/OrderController.java | 3 +- .../order/OrderMasterController.java | 42 +++++++------------ .../com/ghy/common/enums/OrderStatus.java | 2 +- .../ghy/order/service/OrderMasterService.java | 2 +- .../service/impl/OrderMasterServiceImpl.java | 11 +++-- 5 files changed, 24 insertions(+), 36 deletions(-) diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java index 100ae02f..ea3caea9 100644 --- a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java +++ b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java @@ -31,6 +31,7 @@ import com.ghy.web.pojo.vo.OrderStatisticsRequest; import com.ghy.web.pojo.vo.OrderStatisticsResponse; import com.ghy.worker.domain.Worker; import com.ghy.worker.service.WorkerService; +import com.huifu.adapay.core.exception.BaseAdaPayException; import org.apache.commons.lang3.exception.ExceptionUtils; import org.apache.commons.lang3.time.DateUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -117,7 +118,7 @@ public class OrderController extends BaseController { @PostMapping("/assign") @ResponseBody @Transactional(rollbackFor = Exception.class) - public AjaxResult assign(@RequestBody AppOrderAssignRequest request) { + public AjaxResult assign(@RequestBody AppOrderAssignRequest request) throws BaseAdaPayException { OrderMaster om = orderMasterService.selectById(request.getOrderMasterId()); Assert.notNull(om, "订单不存在"); FinancialMaster fm = financialMasterService.selectByOrderMasterId(om.getId()); diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderMasterController.java b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderMasterController.java index cdeee38b..939bec47 100644 --- a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderMasterController.java +++ b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderMasterController.java @@ -9,7 +9,6 @@ import com.ghy.common.core.page.TableDataInfo; import com.ghy.common.core.page.TableSupport; import com.ghy.common.enums.BusinessType; import com.ghy.common.utils.ExceptionUtil; -import com.ghy.common.utils.ObjectUtils; import com.ghy.common.utils.StringUtils; import com.ghy.common.utils.poi.ExcelUtil; import com.ghy.customer.domain.Customer; @@ -26,19 +25,19 @@ import com.ghy.order.domain.OrderMaster; import com.ghy.order.service.OrderDetailService; import com.ghy.order.service.OrderGoodsService; import com.ghy.order.service.OrderMasterService; -import com.ghy.payment.domain.FinancialDetail; import com.ghy.payment.domain.FinancialMaster; -import com.ghy.payment.service.FinancialDetailService; import com.ghy.payment.service.FinancialMasterService; -import com.ghy.web.pojo.vo.*; +import com.ghy.web.pojo.vo.OrderListResponse; +import com.ghy.web.pojo.vo.OrderMasterResponseVo; +import com.ghy.web.pojo.vo.OrderStandard; +import com.ghy.web.pojo.vo.OrderStandardDetail; import com.ghy.worker.domain.Worker; import com.ghy.worker.domain.WorkerCertification; import com.ghy.worker.service.IWorkerCertificationService; import com.ghy.worker.service.WorkerService; -import com.github.pagehelper.PageInfo; +import com.huifu.adapay.core.exception.BaseAdaPayException; import lombok.RequiredArgsConstructor; import org.apache.shiro.authz.annotation.RequiresPermissions; -import org.apache.shiro.util.CollectionUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -46,11 +45,8 @@ import org.springframework.ui.ModelMap; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; -import java.util.Map; /** * 主订单API @@ -81,10 +77,6 @@ public class OrderMasterController extends BaseController { @Autowired private GoodsService goodsService; @Autowired - private CustomerAddressService customerAddressService; - @Autowired - private FinancialDetailService financialDetailService; - @Autowired private FinancialMasterService financialMasterService; @Autowired private GoodsStandardService goodsStandardService; @@ -161,15 +153,13 @@ public class OrderMasterController extends BaseController { }); PageDomain pageDomain = TableSupport.buildPageRequest(); - if (null == pageDomain.getPageNum() || null == pageDomain.getPageSize()) - { + if (null == pageDomain.getPageNum() || null == pageDomain.getPageSize()) { rspData.setRows(orderListResponses); rspData.setTotal(orderListResponses.size()); return rspData; } Integer pageSize = pageDomain.getPageNum(); - if (pageSize > orderListResponses.size()) - { + if (pageSize > orderListResponses.size()) { pageSize = orderListResponses.size(); } rspData.setRows(orderListResponses.subList(0, pageSize)); @@ -300,7 +290,7 @@ public class OrderMasterController extends BaseController { // 将公共属性复制过去 BeanUtils.copyProperties(master, orderMasterResponseVo); // 师傅信息 - if(StringUtils.isNotNull(master.getWorkerId())){ + if (StringUtils.isNotNull(master.getWorkerId())) { Worker worker = workerService.selectById(master.getWorkerId()); orderMasterResponseVo.setWorkerName(worker.getName()); } @@ -312,16 +302,14 @@ public class OrderMasterController extends BaseController { } // 存在数据在进行数据查询处理。 PageDomain pageDomain = TableSupport.buildPageRequest(); - if (null == pageDomain.getPageNum() || null == pageDomain.getPageSize()) - { + if (null == pageDomain.getPageNum() || null == pageDomain.getPageSize()) { rspData.setRows(orderMasterResponseVos); rspData.setTotal(orderMasterResponseVos.size()); return rspData; } - Integer pageNum = (pageDomain.getPageNum() - 1) * 10; - Integer pageSize = pageDomain.getPageNum() * 10; - if (pageSize > orderMasterResponseVos.size()) - { + int pageNum = (pageDomain.getPageNum() - 1) * 10; + int pageSize = pageDomain.getPageNum() * 10; + if (pageSize > orderMasterResponseVos.size()) { pageSize = orderMasterResponseVos.size(); } rspData.setRows(orderMasterResponseVos.subList(pageNum, pageSize)); @@ -368,7 +356,7 @@ public class OrderMasterController extends BaseController { @Log(title = "主订单管理", businessType = BusinessType.UPDATE) @PostMapping("/edit") @ResponseBody - public AjaxResult editSave(@Validated OrderMaster orderMaster) { + public AjaxResult editSave(@Validated OrderMaster orderMaster) throws BaseAdaPayException { if (UserConstants.ORDER_CODE_NOT_UNIQUE.equals(orderMasterService.checkOrderMasterCodeUnique(orderMaster))) { return error("修改主订单'" + orderMaster.getCode() + "'失败,主订单编码已存在"); } @@ -384,7 +372,7 @@ public class OrderMasterController extends BaseController { public AjaxResult editOrderMaster(@RequestBody OrderMaster orderMaster) { try { int result = orderMasterService.updateOrderMaster(orderMaster); - if(result > 0){ + if (result > 0) { List orderDetails = orderDetailService.selectByOrderMasterId(orderMaster.getId()); orderDetails.forEach(orderDetail -> { orderDetail.setOrderStatus(orderMaster.getOrderStatus()); @@ -392,7 +380,7 @@ public class OrderMasterController extends BaseController { }); } return AjaxResult.success(""); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return AjaxResult.error(""); } diff --git a/ghy-common/src/main/java/com/ghy/common/enums/OrderStatus.java b/ghy-common/src/main/java/com/ghy/common/enums/OrderStatus.java index d72e0b1a..f244cdb3 100644 --- a/ghy-common/src/main/java/com/ghy/common/enums/OrderStatus.java +++ b/ghy-common/src/main/java/com/ghy/common/enums/OrderStatus.java @@ -21,7 +21,7 @@ public enum OrderStatus implements IEnumType { FINISH(5, "已完成"), CANCEL(6, "已取消"); - private final int code; + private final Integer code; private final String desc; private final static Map BY_CODE_MAP diff --git a/ghy-order/src/main/java/com/ghy/order/service/OrderMasterService.java b/ghy-order/src/main/java/com/ghy/order/service/OrderMasterService.java index 0d6fe9e3..b9417dfe 100644 --- a/ghy-order/src/main/java/com/ghy/order/service/OrderMasterService.java +++ b/ghy-order/src/main/java/com/ghy/order/service/OrderMasterService.java @@ -27,7 +27,7 @@ public interface OrderMasterService { * @param orderMaster 主订单属性 * @return 成功条数 */ - int updateOrderMaster(OrderMaster orderMaster); + int updateOrderMaster(OrderMaster orderMaster) throws BaseAdaPayException; /** * @param orderMaster 主订单入参 diff --git a/ghy-order/src/main/java/com/ghy/order/service/impl/OrderMasterServiceImpl.java b/ghy-order/src/main/java/com/ghy/order/service/impl/OrderMasterServiceImpl.java index 5a15630f..a3b93a98 100644 --- a/ghy-order/src/main/java/com/ghy/order/service/impl/OrderMasterServiceImpl.java +++ b/ghy-order/src/main/java/com/ghy/order/service/impl/OrderMasterServiceImpl.java @@ -76,7 +76,10 @@ public class OrderMasterServiceImpl implements OrderMasterService { } @Override - public int updateOrderMaster(OrderMaster orderMaster) { + public int updateOrderMaster(OrderMaster orderMaster) throws BaseAdaPayException { + if (orderMaster.getOrderStatus().equals(OrderStatus.FINISH.code())) { + confirm(orderMaster.getId()); + } return orderMasterMapper.updateOrderMaster(orderMaster); } @@ -133,10 +136,6 @@ public class OrderMasterServiceImpl implements OrderMasterService { PaymentDTO payment = financialMasterService.selectPaymentById(financialMaster.getPaymentId()); Assert.notNull(payment, "找不到支付记录"); - // 修改主订单状态为已完成 - int i = updateStatus(orderMasterId, OrderStatus.FINISH.code()); - Assert.isTrue(i == 1, "更新订单状态失败"); - if (BigDecimal.ZERO.compareTo(financialMaster.getPayMoney()) < 0) { // 支付金额<=0的话 不需要走下面的流程了 return; @@ -194,7 +193,7 @@ public class OrderMasterServiceImpl implements OrderMasterService { JSONObject response = adapayService.paymentConfirm(orderMaster.getDeptId(), payment.getId(), payment.getOrderNo(), AdapayUtils.bigDecimalToString(confirmAmt), divMembers, null, null); boolean status = AdapayStatusEnum.succeeded.code.equals(response.getString("status")); - // 如果确认支付失败 这里抛出异常 回滚前面修改主订单状态的操作 + // 如果确认支付失败 这里抛出异常 Assert.isTrue(status, response.getString("error_msg")); // 走到这里确认支付和分账都成功了 异步进入自动提现流程