增加修改客户重新同步功能

This commit is contained in:
wuweihua
2026-09-29 11:58:01 +08:00
parent b9746e3801
commit 2d002e7291
13 changed files with 1098 additions and 167 deletions
@@ -18,6 +18,8 @@ import com.bms.common.core.domain.AjaxResult;
import com.bms.common.core.page.TableDataInfo;
import com.bms.common.enums.BusinessType;
import com.bms.price.domain.PrcBillingTask;
import com.bms.price.domain.PrcBillingTaskRetryTask;
import com.bms.price.domain.vo.BillingTaskRetryByFilterRequest;
import com.bms.price.enums.BillTaskSuccessStatus;
import com.bms.price.service.IPrcBillingTaskService;
@@ -112,4 +114,31 @@ public class BillingTaskMonitorController extends BaseController
data.put("details", details);
return success(data);
}
/**
* Async resync by customer + bill_time (batched ID pages to avoid OOM).
* Returns asyncTaskId; poll {@code GET /retryTask/{asyncTaskId}}.
*/
@PreAuthorize("@ss.hasPermi('monitor:billingTask:retry')")
@Log(title = "billing task filter retry", businessType = BusinessType.UPDATE)
@PostMapping("/retryByFilter")
public AjaxResult retryByFilter(@RequestBody BillingTaskRetryByFilterRequest request)
{
String asyncTaskId = billingTaskService.startRetryByFilter(request);
Map<String, Object> data = new HashMap<String, Object>();
data.put("asyncTaskId", asyncTaskId);
return success(data);
}
@PreAuthorize("@ss.hasPermi('monitor:billingTask:retry') or @ss.hasPermi('monitor:billingTask:list')")
@GetMapping("/retryTask/{asyncTaskId}")
public AjaxResult retryTaskProgress(@PathVariable("asyncTaskId") String asyncTaskId)
{
PrcBillingTaskRetryTask task = billingTaskService.getRetryByFilterTask(asyncTaskId);
if (task == null)
{
return error("retry task not found or expired");
}
return success(task);
}
}