|
|
@@ -1,71 +1,182 @@
|
|
|
package com.fs.admin.controller;
|
|
|
|
|
|
-import java.util.*;
|
|
|
-
|
|
|
+import com.fs.common.annotation.Log;
|
|
|
import com.fs.common.core.controller.BaseController;
|
|
|
+import com.fs.common.core.domain.AjaxResult;
|
|
|
import com.fs.common.core.page.TableDataInfo;
|
|
|
-import com.fs.common.enums.DataSourceType;
|
|
|
-import com.fs.framework.datasource.DynamicDataSourceContextHolder;
|
|
|
-import com.fs.framework.datasource.TenantDataSourceManager;
|
|
|
-import com.fs.tenant.domain.TenantInfo;
|
|
|
-import com.fs.tenant.service.TenantInfoService;
|
|
|
+import com.fs.common.enums.BusinessType;
|
|
|
+import com.fs.hisStore.domain.*;
|
|
|
+import com.fs.hisStore.param.FsStoreOrderAuditParam;
|
|
|
+import com.fs.hisStore.service.*;
|
|
|
+import com.fs.hisStore.vo.FsStoreOrderAuditVO;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.jdbc.core.JdbcTemplate;
|
|
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 商城订单/支付/售后管理 - adminui端Controller(fs-admin 8004)
|
|
|
+ * 桥接 hisStore 服务层,提供 /store/* 订单相关路径的完整CRUD
|
|
|
+ */
|
|
|
@RestController
|
|
|
-@RequestMapping("/admin/storeOrder")
|
|
|
public class AdminStoreOrderController extends BaseController {
|
|
|
|
|
|
@Autowired
|
|
|
- private TenantDataSourceManager tenantDataSourceManager;
|
|
|
-
|
|
|
+ private IFsStoreOrderScrmService storeOrderService;
|
|
|
@Autowired
|
|
|
- private TenantInfoService tenantInfoService;
|
|
|
-
|
|
|
+ private IFsStorePaymentScrmService storePaymentService;
|
|
|
+ @Autowired
|
|
|
+ private IFsStoreAfterSalesScrmService storeAfterSalesService;
|
|
|
+ @Autowired
|
|
|
+ private IFsStoreAfterSalesItemScrmService storeAfterSalesItemService;
|
|
|
+ @Autowired
|
|
|
+ private IFsStoreAfterSalesStatusScrmService storeAfterSalesStatusService;
|
|
|
+ @Autowired
|
|
|
+ private IFsStoreOrderAuditScrmService storeOrderAuditService;
|
|
|
+ @Autowired
|
|
|
+ private IFsStoreOrderItemScrmService storeOrderItemService;
|
|
|
+ @Autowired
|
|
|
+ private IFsStoreOrderNoticeScrmService storeOrderNoticeService;
|
|
|
+ @Autowired
|
|
|
+ private IFsStoreOrderOfflineScrmService storeOrderOfflineService;
|
|
|
@Autowired
|
|
|
- private JdbcTemplate jdbcTemplate;
|
|
|
-
|
|
|
- @PreAuthorize("@ss.hasPermi('admin:storeOrder:list')")
|
|
|
- @GetMapping("/list")
|
|
|
- public TableDataInfo list(@RequestParam(required = false) String orderNo,
|
|
|
- @RequestParam(required = false) String tenantCode) {
|
|
|
- List<Map<String, Object>> allList = new ArrayList<>();
|
|
|
-
|
|
|
- try {
|
|
|
- DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
|
|
|
- List<TenantInfo> tenants = tenantInfoService.selectTenantInfoList(new TenantInfo());
|
|
|
- if (tenantCode != null && !tenantCode.isEmpty()) {
|
|
|
- tenants.removeIf(t -> !t.getTenantCode().equals(tenantCode));
|
|
|
- }
|
|
|
-
|
|
|
- for (TenantInfo tenant : tenants) {
|
|
|
- if (tenant.getStatus() == null || tenant.getStatus() != 1) continue;
|
|
|
- try {
|
|
|
- tenantDataSourceManager.switchTenant(tenant);
|
|
|
- String tenantLabel = tenant.getTenantCode() + "|" + tenant.getTenantName();
|
|
|
- String sql = "SELECT *, ? AS tenant_label FROM fs_store_order WHERE 1=1";
|
|
|
- if (orderNo != null && !orderNo.isEmpty()) {
|
|
|
- sql += " AND order_no LIKE ?";
|
|
|
- }
|
|
|
- sql += " ORDER BY create_time DESC LIMIT 50";
|
|
|
- if (orderNo != null && !orderNo.isEmpty()) {
|
|
|
- allList.addAll(jdbcTemplate.queryForList(sql, tenantLabel, "%" + orderNo + "%"));
|
|
|
- } else {
|
|
|
- allList.addAll(jdbcTemplate.queryForList(sql, tenantLabel));
|
|
|
- }
|
|
|
- } catch (Exception e) {
|
|
|
- // skip tenant
|
|
|
- } finally {
|
|
|
- tenantDataSourceManager.clear();
|
|
|
- DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
|
|
|
- }
|
|
|
- }
|
|
|
- } catch (Exception e) {
|
|
|
- // ignore
|
|
|
- }
|
|
|
-
|
|
|
- return getDataTable(allList);
|
|
|
+ private IFsStoreOrderOfflineItemScrmService storeOrderOfflineItemService;
|
|
|
+ @Autowired
|
|
|
+ private IFsStoreOrderStatusScrmService storeOrderStatusService;
|
|
|
+
|
|
|
+ // ========== 商城订单 /store/storeOrder ==========
|
|
|
+ @PreAuthorize("@ss.hasPermi('store:storeOrder:list')")
|
|
|
+ @GetMapping("/store/storeOrder/list")
|
|
|
+ public TableDataInfo storeOrderList(FsStoreOrderScrm param) {
|
|
|
+ startPage();
|
|
|
+ List<FsStoreOrderScrm> list = storeOrderService.selectFsStoreOrderList(param);
|
|
|
+ return getDataTable(list);
|
|
|
+ }
|
|
|
+
|
|
|
+ @PreAuthorize("@ss.hasPermi('store:storeOrder:query')")
|
|
|
+ @GetMapping("/store/storeOrder/{orderId}")
|
|
|
+ public AjaxResult storeOrderInfo(@PathVariable("orderId") Long orderId) {
|
|
|
+ return AjaxResult.success(storeOrderService.selectFsStoreOrderById(orderId));
|
|
|
+ }
|
|
|
+
|
|
|
+ // ========== 支付管理 /store/storePayment ==========
|
|
|
+ @PreAuthorize("@ss.hasPermi('store:storePayment:list')")
|
|
|
+ @GetMapping("/store/storePayment/list")
|
|
|
+ public TableDataInfo storePaymentList(FsStorePaymentScrm param) {
|
|
|
+ startPage();
|
|
|
+ List<FsStorePaymentScrm> list = storePaymentService.selectFsStorePaymentList(param);
|
|
|
+ return getDataTable(list);
|
|
|
+ }
|
|
|
+
|
|
|
+ @PreAuthorize("@ss.hasPermi('store:storePayment:query')")
|
|
|
+ @GetMapping("/store/storePayment/{paymentId}")
|
|
|
+ public AjaxResult storePaymentInfo(@PathVariable("paymentId") Long paymentId) {
|
|
|
+ return AjaxResult.success(storePaymentService.selectFsStorePaymentById(paymentId));
|
|
|
+ }
|
|
|
+
|
|
|
+ // ========== 售后管理 /store/storeAfterSales ==========
|
|
|
+ @PreAuthorize("@ss.hasPermi('store:storeAfterSales:list')")
|
|
|
+ @GetMapping("/store/storeAfterSales/list")
|
|
|
+ public TableDataInfo storeAfterSalesList(FsStoreAfterSalesScrm param) {
|
|
|
+ startPage();
|
|
|
+ List<FsStoreAfterSalesScrm> list = storeAfterSalesService.selectFsStoreAfterSalesList(param);
|
|
|
+ return getDataTable(list);
|
|
|
+ }
|
|
|
+
|
|
|
+ @PreAuthorize("@ss.hasPermi('store:storeAfterSales:query')")
|
|
|
+ @GetMapping("/store/storeAfterSales/{afterSalesId}")
|
|
|
+ public AjaxResult storeAfterSalesInfo(@PathVariable("afterSalesId") Long afterSalesId) {
|
|
|
+ return AjaxResult.success(storeAfterSalesService.selectFsStoreAfterSalesById(afterSalesId));
|
|
|
+ }
|
|
|
+
|
|
|
+ // ========== 售后明细 /store/storeAfterSalesItem ==========
|
|
|
+ @PreAuthorize("@ss.hasPermi('store:storeAfterSalesItem:list')")
|
|
|
+ @GetMapping("/store/storeAfterSalesItem/list")
|
|
|
+ public TableDataInfo storeAfterSalesItemList(FsStoreAfterSalesItemScrm param) {
|
|
|
+ startPage();
|
|
|
+ List<FsStoreAfterSalesItemScrm> list = storeAfterSalesItemService.selectFsStoreAfterSalesItemList(param);
|
|
|
+ return getDataTable(list);
|
|
|
+ }
|
|
|
+
|
|
|
+ // ========== 售后状态 /store/storeAfterSalesStatus ==========
|
|
|
+ @PreAuthorize("@ss.hasPermi('store:storeAfterSalesStatus:list')")
|
|
|
+ @GetMapping("/store/storeAfterSalesStatus/list")
|
|
|
+ public TableDataInfo storeAfterSalesStatusList(FsStoreAfterSalesStatusScrm param) {
|
|
|
+ startPage();
|
|
|
+ List<FsStoreAfterSalesStatusScrm> list = storeAfterSalesStatusService.selectFsStoreAfterSalesStatusList(param);
|
|
|
+ return getDataTable(list);
|
|
|
+ }
|
|
|
+
|
|
|
+ // ========== 订单审核 /store/storeOrderAudit ==========
|
|
|
+ @PreAuthorize("@ss.hasPermi('store:storeOrderAudit:list')")
|
|
|
+ @GetMapping("/store/storeOrderAudit/list")
|
|
|
+ public TableDataInfo storeOrderAuditList(FsStoreOrderAuditParam param) {
|
|
|
+ startPage();
|
|
|
+ List<FsStoreOrderAuditVO> list = storeOrderAuditService.selectStoreOrderAuditVOList(param);
|
|
|
+ return getDataTable(list);
|
|
|
+ }
|
|
|
+
|
|
|
+ // ========== 订单明细 /store/storeOrderItem ==========
|
|
|
+ @PreAuthorize("@ss.hasPermi('store:storeOrderItem:list')")
|
|
|
+ @GetMapping("/store/storeOrderItem/list")
|
|
|
+ public TableDataInfo storeOrderItemList(FsStoreOrderItemScrm param) {
|
|
|
+ startPage();
|
|
|
+ List<FsStoreOrderItemScrm> list = storeOrderItemService.selectFsStoreOrderItemList(param);
|
|
|
+ return getDataTable(list);
|
|
|
+ }
|
|
|
+
|
|
|
+ // ========== 订单通知 /store/storeOrderNotice ==========
|
|
|
+ @PreAuthorize("@ss.hasPermi('store:storeOrderNotice:list')")
|
|
|
+ @GetMapping("/store/storeOrderNotice/list")
|
|
|
+ public TableDataInfo storeOrderNoticeList(FsStoreOrderNoticeScrm param) {
|
|
|
+ startPage();
|
|
|
+ List<FsStoreOrderNoticeScrm> list = storeOrderNoticeService.selectFsStoreOrderNoticeList(param);
|
|
|
+ return getDataTable(list);
|
|
|
+ }
|
|
|
+
|
|
|
+ // ========== 线下订单 /store/storeOrderOffline ==========
|
|
|
+ @PreAuthorize("@ss.hasPermi('store:storeOrderOffline:list')")
|
|
|
+ @GetMapping("/store/storeOrderOffline/list")
|
|
|
+ public TableDataInfo storeOrderOfflineList(FsStoreOrderOfflineScrm param) {
|
|
|
+ startPage();
|
|
|
+ List<FsStoreOrderOfflineScrm> list = storeOrderOfflineService.selectFsStoreOrderOfflineList(param);
|
|
|
+ return getDataTable(list);
|
|
|
+ }
|
|
|
+
|
|
|
+ // ========== 线下订单明细 /storeOrderOfflineItem/store ==========
|
|
|
+ @PreAuthorize("@ss.hasPermi('storeOrderOfflineItem:store:list')")
|
|
|
+ @GetMapping("/storeOrderOfflineItem/store/list")
|
|
|
+ public TableDataInfo storeOrderOfflineItemList(FsStoreOrderOfflineItemScrm param) {
|
|
|
+ startPage();
|
|
|
+ List<FsStoreOrderOfflineItemScrm> list = storeOrderOfflineItemService.selectFsStoreOrderOfflineItemList(param);
|
|
|
+ return getDataTable(list);
|
|
|
+ }
|
|
|
+
|
|
|
+ // ========== 订单状态 /store/storeOrderStatus ==========
|
|
|
+ @PreAuthorize("@ss.hasPermi('store:storeOrderStatus:list')")
|
|
|
+ @GetMapping("/store/storeOrderStatus/list")
|
|
|
+ public TableDataInfo storeOrderStatusList(FsStoreOrderStatusScrm param) {
|
|
|
+ startPage();
|
|
|
+ List<FsStoreOrderStatusScrm> list = storeOrderStatusService.selectFsStoreOrderStatusList(param);
|
|
|
+ return getDataTable(list);
|
|
|
+ }
|
|
|
+
|
|
|
+ // ========== 健康商城订单 /store/healthStoreOrder (别名) ==========
|
|
|
+ @PreAuthorize("@ss.hasPermi('store:healthStoreOrder:list')")
|
|
|
+ @GetMapping("/store/healthStoreOrder/list")
|
|
|
+ public TableDataInfo healthStoreOrderList(FsStoreOrderScrm param) {
|
|
|
+ startPage();
|
|
|
+ List<FsStoreOrderScrm> list = storeOrderService.selectFsStoreOrderList(param);
|
|
|
+ return getDataTable(list);
|
|
|
+ }
|
|
|
+
|
|
|
+ // ========== 推广订单 /store/PromotionOrder ==========
|
|
|
+ @PreAuthorize("@ss.hasPermi('store:PromotionOrder:list')")
|
|
|
+ @GetMapping("/store/PromotionOrder/list")
|
|
|
+ public TableDataInfo promotionOrderList(FsStoreOrderScrm param) {
|
|
|
+ startPage();
|
|
|
+ List<FsStoreOrderScrm> list = storeOrderService.selectFsStoreOrderList(param);
|
|
|
+ return getDataTable(list);
|
|
|
}
|
|
|
}
|