feat: harden phase one workflows
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
package com.linhelp.groupbuy;
|
||||
|
||||
import com.linhelp.common.api.ApiResponse;
|
||||
import com.linhelp.common.api.PageResponse;
|
||||
import com.linhelp.common.enums.GroupBuyOrderStatus;
|
||||
import com.linhelp.common.security.AuthService;
|
||||
import com.linhelp.common.security.CurrentUser;
|
||||
import com.linhelp.common.security.RequireRole;
|
||||
@@ -9,6 +11,7 @@ import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.PutMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.validation.Valid;
|
||||
@@ -50,43 +53,68 @@ public class GroupBuyController {
|
||||
CurrentUser user = authService.currentUser();
|
||||
request.setTenantId(user.getTenantId());
|
||||
request.setCommunityId(user.getCommunityId());
|
||||
return ApiResponse.ok(groupBuyService.update(id, request));
|
||||
return ApiResponse.ok(groupBuyService.updateAdmin(user.getCommunityId(), id, request));
|
||||
}
|
||||
|
||||
@PutMapping("/api/admin/group-buys/{id}/start")
|
||||
@RequireRole({"PLATFORM_ADMIN", "COMMUNITY_ADMIN", "MERCHANT"})
|
||||
public ApiResponse<GroupBuyResponse> start(@PathVariable Long id) {
|
||||
return ApiResponse.ok(groupBuyService.start(id));
|
||||
CurrentUser user = authService.currentUser();
|
||||
return ApiResponse.ok(groupBuyService.startAdmin(user.getCommunityId(), id));
|
||||
}
|
||||
|
||||
@PutMapping("/api/admin/group-buys/{id}/close")
|
||||
@RequireRole({"PLATFORM_ADMIN", "COMMUNITY_ADMIN", "MERCHANT"})
|
||||
public ApiResponse<GroupBuyResponse> close(@PathVariable Long id) {
|
||||
return ApiResponse.ok(groupBuyService.close(id));
|
||||
CurrentUser user = authService.currentUser();
|
||||
return ApiResponse.ok(groupBuyService.closeAdmin(user.getCommunityId(), id));
|
||||
}
|
||||
|
||||
@PutMapping("/api/admin/group-buys/{id}/complete")
|
||||
@RequireRole({"PLATFORM_ADMIN", "COMMUNITY_ADMIN", "MERCHANT"})
|
||||
public ApiResponse<GroupBuyResponse> completeGroupBuy(@PathVariable Long id) {
|
||||
return ApiResponse.ok(groupBuyService.complete(id));
|
||||
CurrentUser user = authService.currentUser();
|
||||
return ApiResponse.ok(groupBuyService.completeAdmin(user.getCommunityId(), id));
|
||||
}
|
||||
|
||||
@GetMapping("/api/admin/group-buys/{id}/orders")
|
||||
@RequireRole({"PLATFORM_ADMIN", "COMMUNITY_ADMIN", "MERCHANT"})
|
||||
public ApiResponse<List<GroupBuyOrderResponse>> listOrders(@PathVariable Long id) {
|
||||
return ApiResponse.ok(orderService.listByGroupBuy(id));
|
||||
CurrentUser user = authService.currentUser();
|
||||
return ApiResponse.ok(orderService.listByGroupBuyAdmin(user.getCommunityId(), id));
|
||||
}
|
||||
|
||||
@GetMapping("/api/admin/group-buys/{id}/orders/page")
|
||||
@RequireRole({"PLATFORM_ADMIN", "COMMUNITY_ADMIN", "MERCHANT"})
|
||||
public ApiResponse<PageResponse<GroupBuyOrderResponse>> pageOrders(@PathVariable Long id,
|
||||
@RequestParam(required = false) GroupBuyOrderStatus status,
|
||||
@RequestParam(required = false) Integer pageNo,
|
||||
@RequestParam(required = false) Integer pageSize) {
|
||||
CurrentUser user = authService.currentUser();
|
||||
return ApiResponse.ok(orderService.listByGroupBuyAdminPage(user.getCommunityId(), id, status, pageNo, pageSize));
|
||||
}
|
||||
|
||||
@GetMapping("/api/admin/group-buy-orders/page")
|
||||
@RequireRole({"PLATFORM_ADMIN", "COMMUNITY_ADMIN", "MERCHANT"})
|
||||
public ApiResponse<PageResponse<GroupBuyOrderResponse>> pageAllOrders(@RequestParam(required = false) GroupBuyOrderStatus status,
|
||||
@RequestParam(required = false) Integer pageNo,
|
||||
@RequestParam(required = false) Integer pageSize) {
|
||||
CurrentUser user = authService.currentUser();
|
||||
return ApiResponse.ok(orderService.listAdminPage(user.getCommunityId(), status, pageNo, pageSize));
|
||||
}
|
||||
|
||||
@PutMapping("/api/admin/group-buy-orders/{id}/confirm")
|
||||
@RequireRole({"PLATFORM_ADMIN", "COMMUNITY_ADMIN", "MERCHANT"})
|
||||
public ApiResponse<GroupBuyOrderResponse> confirmOrder(@PathVariable Long id) {
|
||||
return ApiResponse.ok(orderService.confirm(id));
|
||||
CurrentUser user = authService.currentUser();
|
||||
return ApiResponse.ok(orderService.confirmAdmin(user.getCommunityId(), id, user.getUserId()));
|
||||
}
|
||||
|
||||
@PutMapping("/api/admin/group-buy-orders/{id}/ready")
|
||||
@RequireRole({"PLATFORM_ADMIN", "COMMUNITY_ADMIN", "MERCHANT"})
|
||||
public ApiResponse<GroupBuyOrderResponse> markOrderReady(@PathVariable Long id) {
|
||||
return ApiResponse.ok(orderService.markReady(id));
|
||||
CurrentUser user = authService.currentUser();
|
||||
return ApiResponse.ok(orderService.markReadyAdmin(user.getCommunityId(), id));
|
||||
}
|
||||
|
||||
@GetMapping("/api/mini/group-buys")
|
||||
@@ -97,7 +125,8 @@ public class GroupBuyController {
|
||||
|
||||
@GetMapping("/api/mini/group-buys/{id}")
|
||||
public ApiResponse<GroupBuyResponse> detail(@PathVariable Long id) {
|
||||
return ApiResponse.ok(groupBuyService.detail(id));
|
||||
CurrentUser user = authService.currentUser();
|
||||
return ApiResponse.ok(groupBuyService.detailMini(user.getCommunityId(), id));
|
||||
}
|
||||
|
||||
@PostMapping("/api/mini/group-buy-orders")
|
||||
@@ -116,16 +145,19 @@ public class GroupBuyController {
|
||||
|
||||
@GetMapping("/api/mini/group-buy-orders/{id}")
|
||||
public ApiResponse<GroupBuyOrderResponse> orderDetail(@PathVariable Long id) {
|
||||
return ApiResponse.ok(orderService.detail(id));
|
||||
CurrentUser user = authService.currentUser();
|
||||
return ApiResponse.ok(orderService.detailMine(user.getUserId(), id));
|
||||
}
|
||||
|
||||
@PutMapping("/api/mini/group-buy-orders/{id}/cancel")
|
||||
public ApiResponse<GroupBuyOrderResponse> cancel(@PathVariable Long id) {
|
||||
return ApiResponse.ok(orderService.cancel(id));
|
||||
CurrentUser user = authService.currentUser();
|
||||
return ApiResponse.ok(orderService.cancelMine(user.getUserId(), id));
|
||||
}
|
||||
|
||||
@PutMapping("/api/mini/group-buy-orders/{id}/complete")
|
||||
public ApiResponse<GroupBuyOrderResponse> completeOrder(@PathVariable Long id) {
|
||||
return ApiResponse.ok(orderService.complete(id));
|
||||
CurrentUser user = authService.currentUser();
|
||||
return ApiResponse.ok(orderService.completeMine(user.getUserId(), id));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user