From c6040880b0da8834dbcb92d6def7d4dd0cd6c40e Mon Sep 17 00:00:00 2001
From: cuida <xiaocuijustsoso@163.com>
Date: 星期三, 29 四月 2026 16:57:50 +0800
Subject: [PATCH] feat:合同,合同标的物,收款基础代码

---
 platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/ContractSubjectMatterController.java |  119 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 119 insertions(+), 0 deletions(-)

diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/ContractSubjectMatterController.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/ContractSubjectMatterController.java
new file mode 100644
index 0000000..eee3ada
--- /dev/null
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/ContractSubjectMatterController.java
@@ -0,0 +1,119 @@
+package com.by4cloud.platformx.business.controller;
+
+import cn.hutool.core.util.ArrayUtil;
+import cn.hutool.core.collection.CollUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.by4cloud.platformx.business.entity.ContractSubjectMatter;
+import com.by4cloud.platformx.common.core.util.R;
+import com.by4cloud.platformx.common.log.annotation.SysLog;
+import com.by4cloud.platformx.business.service.ContractSubjectMatterService;
+import org.springframework.security.access.prepost.PreAuthorize;
+import com.by4cloud.platformx.common.excel.annotation.ResponseExcel;
+import io.swagger.v3.oas.annotations.security.SecurityRequirement;
+import org.springdoc.core.annotations.ParameterObject;
+import org.springframework.http.HttpHeaders;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * 鍚堝悓鏍囩殑鐗╂槑缁嗚〃
+ *
+ * @author platformx
+ * @date 2026-04-29 16:39:29
+ */
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/contractSubjectMatter" )
+@Tag(description = "contractSubjectMatter" , name = "鍚堝悓鏍囩殑鐗╂槑缁嗚〃绠$悊" )
+@SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
+public class ContractSubjectMatterController {
+
+    private final  ContractSubjectMatterService contractSubjectMatterService;
+
+    /**
+     * 鍒嗛〉鏌ヨ
+     * @param page 鍒嗛〉瀵硅薄
+     * @param contractSubjectMatter 鍚堝悓鏍囩殑鐗╂槑缁嗚〃
+     * @return
+     */
+    @Operation(summary = "鍒嗛〉鏌ヨ" , description = "鍒嗛〉鏌ヨ" )
+    @GetMapping("/page" )
+    @PreAuthorize("@pms.hasPermission('business_contractSubjectMatter_view')" )
+    public R getContractSubjectMatterPage(@ParameterObject Page page, @ParameterObject ContractSubjectMatter contractSubjectMatter) {
+        LambdaQueryWrapper<ContractSubjectMatter> wrapper = Wrappers.lambdaQuery();
+        return R.ok(contractSubjectMatterService.page(page, wrapper));
+    }
+
+
+    /**
+     * 閫氳繃id鏌ヨ鍚堝悓鏍囩殑鐗╂槑缁嗚〃
+     * @param id id
+     * @return R
+     */
+    @Operation(summary = "閫氳繃id鏌ヨ" , description = "閫氳繃id鏌ヨ" )
+    @GetMapping("/{id}" )
+    @PreAuthorize("@pms.hasPermission('business_contractSubjectMatter_view')" )
+    public R getById(@PathVariable("id" ) Long id) {
+        return R.ok(contractSubjectMatterService.getById(id));
+    }
+
+    /**
+     * 鏂板鍚堝悓鏍囩殑鐗╂槑缁嗚〃
+     * @param contractSubjectMatter 鍚堝悓鏍囩殑鐗╂槑缁嗚〃
+     * @return R
+     */
+    @Operation(summary = "鏂板鍚堝悓鏍囩殑鐗╂槑缁嗚〃" , description = "鏂板鍚堝悓鏍囩殑鐗╂槑缁嗚〃" )
+    @SysLog("鏂板鍚堝悓鏍囩殑鐗╂槑缁嗚〃" )
+    @PostMapping
+    @PreAuthorize("@pms.hasPermission('business_contractSubjectMatter_add')" )
+    public R save(@RequestBody ContractSubjectMatter contractSubjectMatter) {
+        return R.ok(contractSubjectMatterService.save(contractSubjectMatter));
+    }
+
+    /**
+     * 淇敼鍚堝悓鏍囩殑鐗╂槑缁嗚〃
+     * @param contractSubjectMatter 鍚堝悓鏍囩殑鐗╂槑缁嗚〃
+     * @return R
+     */
+    @Operation(summary = "淇敼鍚堝悓鏍囩殑鐗╂槑缁嗚〃" , description = "淇敼鍚堝悓鏍囩殑鐗╂槑缁嗚〃" )
+    @SysLog("淇敼鍚堝悓鏍囩殑鐗╂槑缁嗚〃" )
+    @PutMapping
+    @PreAuthorize("@pms.hasPermission('business_contractSubjectMatter_edit')" )
+    public R updateById(@RequestBody ContractSubjectMatter contractSubjectMatter) {
+        return R.ok(contractSubjectMatterService.updateById(contractSubjectMatter));
+    }
+
+    /**
+     * 閫氳繃id鍒犻櫎鍚堝悓鏍囩殑鐗╂槑缁嗚〃
+     * @param ids id鍒楄〃
+     * @return R
+     */
+    @Operation(summary = "閫氳繃id鍒犻櫎鍚堝悓鏍囩殑鐗╂槑缁嗚〃" , description = "閫氳繃id鍒犻櫎鍚堝悓鏍囩殑鐗╂槑缁嗚〃" )
+    @SysLog("閫氳繃id鍒犻櫎鍚堝悓鏍囩殑鐗╂槑缁嗚〃" )
+    @DeleteMapping
+    @PreAuthorize("@pms.hasPermission('business_contractSubjectMatter_del')" )
+    public R removeById(@RequestBody Long[] ids) {
+        return R.ok(contractSubjectMatterService.removeBatchByIds(CollUtil.toList(ids)));
+    }
+
+
+    /**
+     * 瀵煎嚭excel 琛ㄦ牸
+     * @param contractSubjectMatter 鏌ヨ鏉′欢
+   	 * @param ids 瀵煎嚭鎸囧畾ID
+     * @return excel 鏂囦欢娴�
+     */
+    @ResponseExcel
+    @GetMapping("/export")
+    @PreAuthorize("@pms.hasPermission('business_contractSubjectMatter_export')" )
+    public List<ContractSubjectMatter> export(ContractSubjectMatter contractSubjectMatter,Long[] ids) {
+        return contractSubjectMatterService.list(Wrappers.lambdaQuery(contractSubjectMatter).in(ArrayUtil.isNotEmpty(ids), ContractSubjectMatter::getId, ids));
+    }
+}
\ No newline at end of file

--
Gitblit v1.9.1