|
@@ -193,9 +193,44 @@ public class OrderController extends MyController {
|
|
|
*/
|
|
*/
|
|
|
@Before(LoginInterceptor.class)
|
|
@Before(LoginInterceptor.class)
|
|
|
public void orderList() {
|
|
public void orderList() {
|
|
|
|
|
+ // --- 从 JSON 请求体中获取参数 ---
|
|
|
|
|
+ JSONObject requestBodyJson = MyController.getJsonModelByRequestAndType(getRequest(), JSONObject.class);
|
|
|
|
|
+
|
|
|
User user = userService.findUserByMobileNumber(this.<String>getSessionAttr("mobile_number"));
|
|
User user = userService.findUserByMobileNumber(this.<String>getSessionAttr("mobile_number"));
|
|
|
|
|
+
|
|
|
|
|
+ int status;
|
|
|
|
|
+ // 使用 Fastjson 的 containsKey 和 get 方法来判断和获取
|
|
|
|
|
+ if (requestBodyJson.containsKey("status")) {
|
|
|
|
|
+ // 参数存在,但需要判断其类型和值
|
|
|
|
|
+ Object statusObj = requestBodyJson.get("status"); // 获取原始 Object
|
|
|
|
|
+
|
|
|
|
|
+ if (statusObj == null) {
|
|
|
|
|
+ // 如果 status 字段存在,但值为 JSON null
|
|
|
|
|
+ status = -1;
|
|
|
|
|
+ } else if (statusObj instanceof Number) {
|
|
|
|
|
+ // 如果是数字类型 (Integer, Long, Double 等),直接获取其整数值
|
|
|
|
|
+ status = ((Number) statusObj).intValue();
|
|
|
|
|
+ } else if (statusObj instanceof String) {
|
|
|
|
|
+ // 如果是字符串类型,尝试进行转换
|
|
|
|
|
+ String statusStr = (String) statusObj;
|
|
|
|
|
+ try {
|
|
|
|
|
+ status = Integer.parseInt(statusStr);
|
|
|
|
|
+ } catch (NumberFormatException e) {
|
|
|
|
|
+ // 字符串不能转换为数字,报错
|
|
|
|
|
+ renderJson(MyRet.fail("你输入的 status 格式不正确,期待一个数字,但却是一个无法解析的字符串: '" + statusStr + "'").setData(requestBodyJson));
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ } else {
|
|
|
|
|
+ // 其他不支持的类型 (Boolean, Array, Object),报错
|
|
|
|
|
+ renderJson(MyRet.fail("你输入的 status 类型不正确,期待一个数字,却是一个:" + statusObj.getClass().getSimpleName()).setData(requestBodyJson));
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ } else {
|
|
|
|
|
+ // 如果 status 字段在 JSON 中完全不存在
|
|
|
|
|
+ status = -1;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- renderJson(service.findOrderByUser(user.getId()));
|
|
|
|
|
|
|
+ renderJson(service.findOrderByUser(user.getId(), status));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -262,7 +297,6 @@ public class OrderController extends MyController {
|
|
|
* 获取订单的状态码以及对应的状态描述
|
|
* 获取订单的状态码以及对应的状态描述
|
|
|
*/
|
|
*/
|
|
|
@Before(LoginInterceptor.class)
|
|
@Before(LoginInterceptor.class)
|
|
|
- @RequiredRoleInterface({UserController.ROLE_CHECK_ADMIN, UserController.ROLE_SUPER_ADMIN})
|
|
|
|
|
public void orderStatus() {
|
|
public void orderStatus() {
|
|
|
List<Map<String, Object>> statusList = new ArrayList<>();
|
|
List<Map<String, Object>> statusList = new ArrayList<>();
|
|
|
|
|
|
|
@@ -278,7 +312,7 @@ public class OrderController extends MyController {
|
|
|
|
|
|
|
|
// 订单状态枚举 (建议定义在单独的类或枚举中)
|
|
// 订单状态枚举 (建议定义在单独的类或枚举中)
|
|
|
public enum OrderStatus {
|
|
public enum OrderStatus {
|
|
|
- INIT(0, "已取消"),
|
|
|
|
|
|
|
+ INIT(0, "创建待初始化"),
|
|
|
// PENDING_PAY(10, "待支付"),
|
|
// PENDING_PAY(10, "待支付"),
|
|
|
// PREORDER_PENDING_CONFIRM(20, "预购待确认"), // 预购已支付,等待转换为正式销售
|
|
// PREORDER_PENDING_CONFIRM(20, "预购待确认"), // 预购已支付,等待转换为正式销售
|
|
|
PREORDER_SUCCESS(30, "预购成功"), // 预购已成功,等待正式销售
|
|
PREORDER_SUCCESS(30, "预购成功"), // 预购已成功,等待正式销售
|