修改计费重

This commit is contained in:
wuweihua
2026-10-13 17:12:32 +08:00
parent 5c48717da2
commit d6a6ec4d53
17 changed files with 294 additions and 14 deletions
@@ -25,14 +25,19 @@ import com.bms.common.utils.DateUtils;
import com.bms.common.utils.MessageUtils;
import com.bms.common.utils.StringUtils;
import com.bms.price.domain.BatchAddIncomeBillFeeTask;
import com.bms.price.domain.PrcBillingTask;
import com.bms.price.domain.PrcOrderBill;
import com.bms.price.domain.PrcQuote;
import com.bms.price.domain.vo.AddIncomeBillFeeRequest;
import com.bms.price.domain.vo.BatchAddIncomeBillFeeRequest;
import com.bms.price.domain.vo.BillingTaskSubmitRequest;
import com.bms.price.domain.vo.UpdateIncomeBillFeeRequest;
import com.bms.price.domain.vo.TmsPriceBillRequest;
import com.bms.price.domain.vo.TmsPriceQuoteRequest;
import com.bms.price.domain.vo.TmsPriceQuoteResult;
import com.bms.price.enums.BillTaskSuccessStatus;
import com.bms.price.enums.BillTaskType;
import com.bms.price.service.IPrcBillingTaskService;
import com.bms.price.service.IPrcOrderBillService;
import com.bms.price.service.ITmsPriceQuoteService;
@@ -51,6 +56,9 @@ public class BillingController extends BaseController
@Autowired
private IPrcOrderBillService prcOrderBillService;
@Autowired
private IPrcBillingTaskService prcBillingTaskService;
/**
* Historical quote list.
*/
@@ -151,6 +159,43 @@ public class BillingController extends BaseController
return success(prcOrderBillService.getBill(billId));
}
/**
* Refund one receivable bill via billing task billType=REFUND.
*/
@PreAuthorize("@ss.hasPermi('price:billing:refund')")
@Log(title = "Billing refund", businessType = BusinessType.UPDATE)
@PostMapping("/bill/{billId}/refund")
public AjaxResult refundBill(@PathVariable("billId") String billId)
{
if (StringUtils.isEmpty(billId))
{
return error("billId required");
}
TmsPriceQuoteResult bill = prcOrderBillService.getBill(billId.trim());
if (bill == null || StringUtils.isEmpty(bill.getOrderNo()))
{
return error("bill not found");
}
BillingTaskSubmitRequest req = new BillingTaskSubmitRequest();
req.setOrderNo(bill.getOrderNo());
req.setTrackingNo(bill.getTrackingNo());
req.setTransferNo(bill.getTransferNo());
req.setCustomerCode(bill.getCustomerCode());
req.setBillTime(new Date());
req.setBillType(BillTaskType.REFUND.getCode());
PrcBillingTask task = prcBillingTaskService.submitAndProcess(req);
if (task == null)
{
return error("refund failed");
}
if (!BillTaskSuccessStatus.SUCCESS.getCode().equals(task.getSuccessStatus()))
{
String msg = StringUtils.isNotEmpty(task.getErrorMessage()) ? task.getErrorMessage() : "refund failed";
return error(msg);
}
return success(task);
}
/**
* Batch update order credit arrears status (ARREARS -> NORMAL) with available-credit check.
*/