xiaoyong931011
2021-07-21 1d03a9e224dc0ce11d47bede74da9db2189d663c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
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);
        OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request))
                .methodName(Constants.SCORESHOP_MODUL_NAME).operateAction("集物员管理-指派订单-" + orderId).build();
        mqUtil.sendApp(build);
        return  JsonResult.success("操作成功!");
    }
 
 
}