MDdController.java
6.68 KB
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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
package com.hotent.lpg.manage.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hotent.base.model.CommonResult;
import com.hotent.base.util.StringUtil;
import com.hotent.lpg.common.enums.DdztEnum;
import com.hotent.lpg.common.model.WDd;
import com.hotent.lpg.common.model.WYgxx;
import com.hotent.lpg.manage.dto.DeliveryOrderResponse;
import com.hotent.lpg.manage.dto.OrderPeishengRequest;
import com.hotent.lpg.manage.dto.StaffOrderRequest;
import com.hotent.lpg.manage.dto.WStaffOrderQueryRequsest;
import com.hotent.lpg.manage.manager.MCurrentInfoManager;
import com.hotent.lpg.manage.manager.MDdManager;
import com.hotent.lpg.manage.vo.DdxxVo;
import com.hotent.runtime.script.ScriptImpl;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* 员工订单
*/
@Slf4j
@RestController
@RequestMapping("/manage/dd/v1")
public class MDdController {
@Autowired
private MDdManager mDdManager;
@Autowired
private ScriptImpl scriptImpl;
@Autowired
private MCurrentInfoManager mCurrentInfoManager;
/**
* 移动端:员工订单列表(员工操作)
* @param page
* @param wStaffOrderQuery
* @return
*/
@GetMapping(value = "/staffOrderPage", produces = {"application/json; charset=utf-8"})
@ApiOperation(value = "员工订单列表", httpMethod = "GET", notes = "员工订单列表")
public CommonResult staffOrderPage(Page page, WStaffOrderQueryRequsest wStaffOrderQuery) {
log.info("员工订单列表参数,wStaffOrderQuery={}", wStaffOrderQuery);
//获取当前员工在uc_user表中的信息
String currentUserId = scriptImpl.getCurrentUserId();
//获取当前员工在w_ygxx表中的信息
WYgxx wYgxx = mCurrentInfoManager.getCurrentWygxxByUserId(currentUserId);
if (wYgxx == null) {
return CommonResult.error("员工信息不存在");
}
//分页查询
if (wStaffOrderQuery == null) {
wStaffOrderQuery = new WStaffOrderQueryRequsest();
}
IPage<WDd> resultPage = mDdManager.staffOrderPage(page, wStaffOrderQuery, wYgxx);
return new CommonResult(true, "", resultPage);
}
/**
* 移动端:员工配送(员工操作)
* @param orderPeisheng
* @return
*/
@PostMapping(value = "/delivery", produces = {"application/json; charset=utf-8"})
@ApiOperation(value = "员工配送", httpMethod = "POST", notes = "员工配送")
public CommonResult orderDelivery(@ApiParam(name = "orderPeisheng", value = "配送参数", required = true) @RequestBody(required = true) OrderPeishengRequest orderPeisheng) {
log.info("员工配送参数,orderPeisheng={}", orderPeisheng);
WDd wdd = mDdManager.getById(orderPeisheng.getDdid());
if (wdd == null) {
return new CommonResult(false, "订单信息不存在");
}
if (DdztEnum.COMPLETED.getCode().equals(wdd.getFDdzt())) {
return new CommonResult(false, "订单已完成,不可再次操作");
}
if (DdztEnum.REFUNDED.getCode().equals(wdd.getFDdzt())) {
return new CommonResult(false, "订单已取消,不可再次操作");
}
//获取当前员工在uc_user表中的信息
String currentUserId = scriptImpl.getCurrentUserId();
//获取当前员工在w_ygxx表中的信息
WYgxx wYgxx = mCurrentInfoManager.getCurrentWygxxByUserId(currentUserId);
DeliveryOrderResponse deliveryOrderResponse = new DeliveryOrderResponse();
try {
deliveryOrderResponse = mDdManager.orderDelivery(wYgxx, orderPeisheng);
} catch (Exception e) {
return new CommonResult(false, e.getMessage());
}
return new CommonResult(true, "", deliveryOrderResponse);
}
/**
* 移动端:帮助下单(员工操作)
* @param staffOrderRequest
* @return
* @throws Exception
* @throws
*/
@PostMapping(value = "/helpCreateOrder")
@ApiOperation(value = "帮助下单", httpMethod = "POST", notes = "帮助下单")
public CommonResult createOrder(@ApiParam(name = "staffOrderRequest", value = "帮助下单请求对象", required = true) @RequestBody StaffOrderRequest staffOrderRequest) throws Exception {
log.info("帮助下单参数,staffOrderRequest={}", staffOrderRequest);
WDd wdd = null;
try {
if (StringUtil.isEmpty(staffOrderRequest.getPsfs())) {
return CommonResult.error("请选择提取方式");
}
wdd = mDdManager.helpCreateOrder(staffOrderRequest);
} catch (Exception e) {
return CommonResult.error(e.getMessage());
}
return CommonResult.ok().value(wdd);
}
/**
* 根据订单id查询订单详情
*
* @param oracleId
* @return
*/
@GetMapping(value = "/getOrderByid", produces = {"application/json; charset=utf-8"})
@ApiOperation(value = "订单详情", httpMethod = "GET", notes = "订单详情")
public CommonResult getOrderByid(@ApiParam(name = "oracleId", value = "气瓶条码", required = true) @RequestParam String oracleId) {
DdxxVo ddxxVo = mDdManager.getOrderByid(oracleId);
return CommonResult.<DdxxVo>ok().value(ddxxVo);
}
/**
* 移动端:无单配送(员工操作)
* @param orderPeisheng
* @return
*/
@PostMapping(value = "/noOrderDelivery", produces = {"application/json; charset=utf-8"})
@ApiOperation(value = "无单配送", httpMethod = "POST", notes = "无单配送")
public CommonResult noOrderDelivery(@ApiParam(name = "orderPeisheng", value = "配送参数", required = true) @RequestBody(required = true) OrderPeishengRequest orderPeisheng) {
log.info("无单配送参数,orderPeisheng={}", orderPeisheng);
//获取当前员工在uc_user表中的信息
String currentUserId = scriptImpl.getCurrentUserId();
//获取当前员工在w_ygxx表中的信息
WYgxx wYgxx = mCurrentInfoManager.getCurrentWygxxByUserId(currentUserId);
if (wYgxx == null) {
return CommonResult.error("员工信息不存在");
}
DeliveryOrderResponse deliveryOrderResponse = new DeliveryOrderResponse();
try {
deliveryOrderResponse = mDdManager.noOrderDelivery(wYgxx, orderPeisheng);
} catch (Exception e) {
return new CommonResult(false, e.getMessage());
}
return new CommonResult(true, "", deliveryOrderResponse);
}
}