From 96e9e366b3e6c37dabaa184e595641ccdef0f2d7 Mon Sep 17 00:00:00 2001 From: gaoqr <13665037151@163.com> Date: Tue, 2 Sep 2025 16:49:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=BB=84=E7=BB=87=E4=BD=99?= =?UTF-8?q?=E9=A2=9D=E8=87=AA=E5=8A=A8=E8=A1=A5=E5=85=85=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organamount/OrganAmountController.java | 10 ++++++++++ .../funds/organamount/OrganAmountService.java | 5 +++++ .../organamount/OrganAmountServiceImpl.java | 20 +++++++++++++++++++ 3 files changed, 35 insertions(+) diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/organamount/OrganAmountController.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/organamount/OrganAmountController.java index 1c175ca50..c3cff804f 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/organamount/OrganAmountController.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/organamount/OrganAmountController.java @@ -14,9 +14,11 @@ import com.cf.imes.module.system.controller.admin.funds.organamount.vo.TotalAmou import com.cf.imes.module.system.service.funds.organamount.OrganAmountService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.security.PermitAll; import jakarta.servlet.http.HttpServletResponse; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -85,4 +87,12 @@ public class OrganAmountController { public CommonResult> getManageConsumptionTrend(@Valid OrganFundsStatisticsReqVO reqVO) { return success(organAmountService.getConsumptionTrend(reqVO, false)); } + + @PostMapping("/fix") + @Operation(summary = "修正组织余额") + @PermitAll + public CommonResult fixOrganAmount() { + organAmountService.fixOrganAmount(); + return success(true); + } } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/organamount/OrganAmountService.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/organamount/OrganAmountService.java index 33e4efea5..af9578820 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/organamount/OrganAmountService.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/organamount/OrganAmountService.java @@ -82,4 +82,9 @@ public interface OrganAmountService { * @return */ PageResult getManageTotalAmountDetails(@Param("reqVO") TotalAmountDetailsPageReqVO reqVO); + + /** + * 修正组织余额,遍历组织列表,补充system_organization_amount数据 + */ + void fixOrganAmount(); } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/organamount/OrganAmountServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/organamount/OrganAmountServiceImpl.java index 820aedced..112ec062f 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/organamount/OrganAmountServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/organamount/OrganAmountServiceImpl.java @@ -24,6 +24,7 @@ import com.cf.imes.module.system.controller.admin.funds.organamount.vo.TotalAmou import com.cf.imes.module.system.dal.dataobject.incomeandexpense.IncomeExpenseDetailsDO; import com.cf.imes.module.system.dal.dataobject.organ.OrganizationDO; import com.cf.imes.module.system.dal.mysql.incomeandexpense.IncomeExpenseDetailsMapper; +import com.cf.imes.module.system.dal.mysql.organ.OrganMapper; import com.cf.imes.module.system.enums.pay.TradeTypeEnum; import com.cf.imes.module.system.service.funds.invoice.InvoiceService; import com.cf.imes.module.system.service.funds.purchase.PurchaseService; @@ -79,6 +80,9 @@ public class OrganAmountServiceImpl implements OrganAmountService { @Resource private PurchaseService purchaseService; + @Resource + private OrganMapper organMapper; + // 常用的字段key private static final String DATELIST_FIELD_NAME = "dateList"; private static final String SERIES_FIELD_NAME = "series"; @@ -488,4 +492,20 @@ public class OrganAmountServiceImpl implements OrganAmountService { } return newDateStrBuffer.toString(); } + + @Override + public void fixOrganAmount() { + List organizationDOS = organMapper.selectList(new LambdaQueryWrapper().select(OrganizationDO::getId)); + log.info("[fixOrganAmount][开始修正组织资金账户,组织总数({})]", organizationDOS.size()); + for (OrganizationDO organ : organizationDOS) { + Long organId = organ.getId(); + OrganAmountDO organAmountDO = organAmountMapper.selectOne(new LambdaQueryWrapper().eq(OrganAmountDO::getOrganId, organId)); + if (ObjectUtil.isNull(organAmountDO)) { + // 组织没有资金账户,新增一个 + organAmountMapper.insert(OrganAmountDO.builder() + .organId(organId) + .build()); + } + } + } }