xiaoyong931011
2021-06-24 808cc69dc7c72f3fa3221549c0b1da906e82bdf7
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
package com.xzx.gc.shop.controller;
 
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
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.request.BaseController;
import com.xzx.gc.entity.ScoreGoods;
import com.xzx.gc.entity.ScoreOrder;
import com.xzx.gc.model.JsonResult;
import com.xzx.gc.shop.dto.*;
import com.xzx.gc.shop.mapper.ScoreOrderMapper;
import com.xzx.gc.shop.service.OrderService;
import com.xzx.gc.shop.vo.QueryGoodsListVo;
import com.xzx.gc.shop.vo.QueryOrderListVo;
import com.xzx.gc.shop.vo.ViewGoodsVo;
import com.xzx.gc.shop.vo.ViewOrderVo;
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 AdminOrderController extends BaseController {
 
    @Resource
    private OrderService orderService;
    @Resource
    private ScoreOrderMapper scoreOrderMapper;
 
    /**
     * 查询订单列表
     * xzx_score_order 积分商城订单
     */
    @PostMapping(Constants.ADMIN_VIEW_PREFIX+"/score/goods/queryOrderList.json")
    @ApiResponses({@ApiResponse( code = 200, message = "success", response = QueryOrderListVo.class)})
    @ApiOperation(value = "订单管理-查询订单列表", notes = "test: 仅0有正确返回")
    public JsonResult<Map<String, Object>> queryOrderList(@RequestBody QueryOrderListDto model) {
        Map<String, Object> result = orderService.queryOrderList(model);
        return JsonResult.success(result);
    }
 
    /**
     * 查询订单详情
     */
    @PostMapping(Constants.ADMIN_VIEW_PREFIX + "/score/goods/viewOrder.json")
    @ApiResponses({@ApiResponse( code = 200, message = "success", response = ViewOrderVo.class)})
    @ApiOperation(value="订单管理-查询订单详情", notes="test: 仅0有正确返回")
    public JsonResult<ViewOrderVo> viewOrder(@RequestBody ViewOrderDto viewOrderDto) {
        Long id = viewOrderDto.getId();
        ViewOrderVo viewOrderVo = orderService.viewOrder(id);
        return JsonResult.success(viewOrderVo);
    }
 
    /**
     * 发货
     */
    @PostMapping(Constants.ADMIN_VIEW_PREFIX + "/score/goods/deliverGoods.json")
    @ApiOperation(value="订单管理-发货", notes="test: 仅0有正确返回")
    public JsonResult deliverGoods(@RequestBody DeliverGoodsDto model, HttpServletRequest request) {
        long id = model.getId();
        ScoreOrder scoreOrder = scoreOrderMapper.selectByPrimaryKey(id);
        if(ObjectUtil.isEmpty(scoreOrder)){
            return JsonResult.failMessage("订单不存在!");
        }
        Integer status = scoreOrder.getStatus();
        if(ScoreOrder.STATUS_READY != status){
            return JsonResult.failMessage("当前订单不是代发货状态!");
        }
        String expressCom = model.getExpressCom();
        if(StrUtil.isEmpty(expressCom)){
            return JsonResult.failMessage("物流公司不能为空!");
        }
        String expressNo = model.getExpressNo();
        if(StrUtil.isEmpty(expressNo)){
            return JsonResult.failMessage("快递单号不能为空!");
        }
        Long expressId = orderService.deliverGoods(model);
        if(expressId > 0){
            OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request))
                    .methodName(Constants.SCORESHOP_MODUL_NAME).operateAction("订单管理-发货-" + id).build();
            mqUtil.sendApp(build);
            return  JsonResult.success("操作成功!");
        }else{
            return  JsonResult.success("操作失败!");
        }
    }
 
 
 
}