在主订单的update方法里触发确认支付和提现
This commit is contained in:
parent
9a97ad4aad
commit
aea293e9a5
|
|
@ -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());
|
||||
|
|
|
|||
|
|
@ -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<OrderDetail> 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("");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<Integer, OrderStatus> BY_CODE_MAP
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ public interface OrderMasterService {
|
|||
* @param orderMaster 主订单属性
|
||||
* @return 成功条数
|
||||
*/
|
||||
int updateOrderMaster(OrderMaster orderMaster);
|
||||
int updateOrderMaster(OrderMaster orderMaster) throws BaseAdaPayException;
|
||||
|
||||
/**
|
||||
* @param orderMaster 主订单入参
|
||||
|
|
|
|||
|
|
@ -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"));
|
||||
|
||||
// 走到这里确认支付和分账都成功了 异步进入自动提现流程
|
||||
|
|
|
|||
Loading…
Reference in New Issue