package com.matrix.system.padApi.action;
|
|
import cn.hutool.core.util.ObjectUtil;
|
import com.matrix.core.constance.MatrixConstance;
|
import com.matrix.core.exception.GlobleException;
|
import com.matrix.core.pojo.AjaxResult;
|
import com.matrix.core.pojo.PaginationVO;
|
import com.matrix.core.tools.StringUtils;
|
import com.matrix.core.tools.WebUtil;
|
import com.matrix.system.app.vo.OrderDetailVo;
|
import com.matrix.system.common.bean.BusParameterSettings;
|
import com.matrix.system.common.bean.SysUsers;
|
import com.matrix.system.common.constance.AppConstance;
|
import com.matrix.system.common.dao.BusParameterSettingsDao;
|
import com.matrix.system.common.tools.DataAuthUtil;
|
import com.matrix.system.constance.Dictionary;
|
import com.matrix.system.enums.BooleanEnum;
|
import com.matrix.system.hive.action.BaseController;
|
import com.matrix.system.hive.action.util.QueryUtil;
|
import com.matrix.system.hive.bean.SysOrder;
|
import com.matrix.system.hive.service.SysOrderService;
|
import com.matrix.system.padApi.dto.PadOrderListDto;
|
import com.matrix.system.padApi.vo.PadOrderDetailVo;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiResponse;
|
import io.swagger.annotations.ApiResponses;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.annotation.Resource;
|
|
@CrossOrigin(origins = "*")
|
@Api(value = "PadOrderAction", tags = "pad端订单请求")
|
@RestController
|
@RequestMapping(value = "/api/pad/order")
|
public class PadOrderAction extends BaseController {
|
|
@Resource
|
private SysOrderService sysOrderService;
|
|
@Resource
|
private SysOrderService orderService;
|
|
@Autowired
|
private BusParameterSettingsDao busParameterSettingsDao;
|
|
@ApiOperation(value = "获取订单列表", notes = "获取订单列表")
|
@ApiResponses({
|
@ApiResponse(code = 200, message = "ok", response = PadOrderDetailVo.class)
|
})
|
@PostMapping(value = "/findOrderList")
|
public AjaxResult findOrderList(@RequestBody @Validated PadOrderListDto orderListDto) {
|
SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
|
int offset = (orderListDto.getPageNum() - 1) * orderListDto.getPageSize();
|
int limit = orderListDto.getPageSize();
|
PaginationVO pageVo = new PaginationVO();
|
pageVo.setOffset(offset);
|
pageVo.setLimit(limit);
|
|
if (!DataAuthUtil.hasAllShopAuth()) {
|
orderListDto.setShopId(user.getShopId());
|
}
|
QueryUtil.setQueryLimitCom(orderListDto);
|
return AjaxResult.buildSuccessInstance(sysOrderService.findPadApiOrderListInPage(orderListDto, pageVo),
|
sysOrderService.findPadApiOrderListTotal(orderListDto));
|
}
|
|
@ApiOperation(value = "获取订单详情", notes = "获取订单详情")
|
@ApiResponses({
|
@ApiResponse(code = 200, message = "ok", response = OrderDetailVo.class)
|
})
|
@GetMapping(value = "/findOrderDetail/{orderId}")
|
public AjaxResult findOrderDetail(@PathVariable("orderId") Long orderId) {
|
OrderDetailVo orderDetail = sysOrderService.findApiOrderDetailByOrderId(orderId);
|
AjaxResult ajaxResult = AjaxResult.buildSuccessInstance("获取成功");
|
ajaxResult.putInMap("orderDetail", orderDetail);
|
return ajaxResult;
|
}
|
|
@ApiOperation(value = "取消订单", notes = "取消订单")
|
@GetMapping(value = "/cancelOrder/{id}")
|
@Transactional(rollbackFor = Exception.class)
|
public AjaxResult cancelOrder(Long id) {
|
|
SysOrder order = orderService.findById(id);
|
if (ObjectUtil.isEmpty(order)) {
|
return new AjaxResult(AjaxResult.STATUS_FAIL, "订单不存在!");
|
}
|
|
BusParameterSettings shopManageAbleCancelDfkOrder = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.SHOP_MANAGE_ABLE_CANCEL_DFK_ORDER, order.getCompanyId());
|
if (StringUtils.isNotBlank(shopManageAbleCancelDfkOrder.getParamValue())
|
&& BooleanEnum.TRUE.getValue() == shopManageAbleCancelDfkOrder.getIntParamValue()) {
|
|
if (!Dictionary.ORDER_STATU_DFK.equals(order.getStatu())) {
|
return new AjaxResult(AjaxResult.STATUS_FAIL, "您只能取消待付款订单");
|
}
|
}
|
orderService.cancelOrder(id);
|
return AjaxResult.buildSuccessInstance("取消成功");
|
}
|
|
@ApiOperation(value = "收款", notes = "收款")
|
@PostMapping(value = "/sk")
|
public AjaxResult sk(@RequestBody SysOrder order) throws GlobleException {
|
orderService.payOrder(order);
|
return AjaxResult.buildSuccessInstance("收款成功");
|
}
|
|
@ApiOperation(value = "补交", notes = "补交")
|
@PostMapping(value = "/bj")
|
public AjaxResult bj(@RequestBody SysOrder order){
|
orderService.updateAfterMoney(order);
|
return AjaxResult.buildSuccessInstance("补交成功");
|
}
|
|
|
}
|