This commit is contained in:
kuang.yifei@iwhalecloud.com 2022-07-21 10:45:04 +08:00
commit a6f90fb51c
5 changed files with 24 additions and 36 deletions

View File

@ -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());

View File

@ -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("");
}

View File

@ -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

View File

@ -27,7 +27,7 @@ public interface OrderMasterService {
* @param orderMaster 主订单属性
* @return 成功条数
*/
int updateOrderMaster(OrderMaster orderMaster);
int updateOrderMaster(OrderMaster orderMaster) throws BaseAdaPayException;
/**
* @param orderMaster 主订单入参

View File

@ -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"));
// 走到这里确认支付和分账都成功了 异步进入自动提现流程