package com.xzx.gc.shop.controller;
|
|
import cn.hutool.core.util.ObjectUtil;
|
import com.xzx.gc.common.constant.CommonEnum;
|
import com.xzx.gc.common.constant.Constants;
|
import com.xzx.gc.common.dto.log.OperationAppLog;
|
import com.xzx.gc.common.exception.RestException;
|
import com.xzx.gc.common.request.BaseController;
|
import com.xzx.gc.entity.JhyInfo;
|
import com.xzx.gc.entity.JhyOrder;
|
import com.xzx.gc.model.JsonResult;
|
import com.xzx.gc.shop.dto.*;
|
import com.xzx.gc.shop.mapper.JhyOrderMapper;
|
import com.xzx.gc.shop.service.JhyService;
|
import com.xzx.gc.shop.vo.*;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiResponse;
|
import io.swagger.annotations.ApiResponses;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletRequest;
|
import java.util.Map;
|
|
@RestController
|
@Api(tags = {"集物员管理"})
|
@Slf4j
|
public class AdminJhyOrderController extends BaseController {
|
|
@Resource
|
JhyService jhyService;
|
|
@Resource
|
JhyOrderMapper jhyOrderMapper;
|
|
/**
|
* 订单列表
|
* xzx_jhy_order 集货员订单表
|
*/
|
@PostMapping(Constants.ADMIN_VIEW_PREFIX+"/score/jhy/queryOrderList.json")
|
@ApiResponses({@ApiResponse( code = 200, message = "success", response = QueryJhyOrderListVo.class)})
|
@ApiOperation(value = "集物员管理-订单列表", notes = "test: 仅0有正确返回")
|
public JsonResult<Map<String, Object>> queryOrderList(@RequestBody QueryJhyOrderListDto model) {
|
Map<String, Object> result = jhyService.queryOrderList(model);
|
return JsonResult.success(result);
|
}
|
|
/**
|
* 查看订单详情
|
*/
|
@PostMapping(Constants.ADMIN_VIEW_PREFIX + "/score/jhy/viewJhyOrder.json")
|
@ApiResponses({@ApiResponse( code = 200, message = "success", response = ViewJhyOrderVo.class)})
|
@ApiOperation(value="集物员管理-查看订单详情", notes="test: 仅0有正确返回")
|
public JsonResult<ViewJhyOrderVo> viewJhyOrder(@RequestBody ViewJhyOrderDto viewJhyOrderDto) {
|
Long id = viewJhyOrderDto.getId();
|
ViewJhyOrderVo viewJhyOrderVo = jhyService.viewJhyOrder(id);
|
return JsonResult.success(viewJhyOrderVo);
|
}
|
|
/**
|
* 取消订单
|
*/
|
@PostMapping(Constants.ADMIN_VIEW_PREFIX + "/score/jhy/cancelJhyOrder.json")
|
@ApiOperation(value="集物员订单管理-取消订单", notes="test: 仅0有正确返回")
|
public JsonResult cancelJhyOrder(@RequestBody CancelJhyOrderDto model, HttpServletRequest request) {
|
long id = model.getId();
|
JhyOrder jhyOrder = jhyOrderMapper.selectByPrimaryKey(id);
|
if(ObjectUtil.isEmpty(jhyOrder)){
|
return JsonResult.failMessage("当前记录不存在!");
|
}
|
Integer status = jhyOrder.getStatus();
|
if(JhyOrder.ORDER_STATUS_WAITING != status){
|
return JsonResult.failMessage("订单不是待接单状态,不允许取消!");
|
}
|
jhyService.cancelJhyOrder(model);
|
OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request))
|
.methodName(Constants.SCORESHOP_MODUL_NAME).operateAction("集物员管理-取消订单-" + id).build();
|
mqUtil.sendApp(build);
|
return JsonResult.success("操作成功!");
|
}
|
|
/**
|
* 指派订单
|
*/
|
@PostMapping(Constants.ADMIN_VIEW_PREFIX + "/score/jhy/assignJhyOrder.json")
|
@ApiOperation(value="集物员订单管理-指派订单", notes="test: 仅0有正确返回")
|
public JsonResult assignJhyOrder(@RequestBody AssignJhyOrderDto model, HttpServletRequest request) {
|
long orderId = model.getOrderId();
|
JhyOrder jhyOrder = jhyOrderMapper.selectByPrimaryKey(orderId);
|
if(ObjectUtil.isEmpty(jhyOrder)){
|
return JsonResult.failMessage("当前记录不存在!");
|
}
|
Integer status = jhyOrder.getStatus();
|
if(JhyOrder.ORDER_STATUS_WAITING != status){
|
return JsonResult.failMessage("订单不是待接单状态,不允许指派!");
|
}
|
long jhyId = model.getJhyId();
|
JhyInfo jhyInfo = jhyOrderMapper.selectJhyInfoByUserId(jhyId);
|
if (jhyInfo == null || !JhyInfo.CHECK_PASS.equals(jhyInfo.getStatus())) {
|
return JsonResult.failMessage("不是集货员!");
|
}
|
jhyService.assignJhyOrder(model,jhyInfo.getUserId());
|
OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request))
|
.methodName(Constants.SCORESHOP_MODUL_NAME).operateAction("集物员管理-指派订单-" + orderId).build();
|
mqUtil.sendApp(build);
|
return JsonResult.success("操作成功!");
|
}
|
|
|
}
|