From b06a2928f34758ccef05650108e2b02d03962a63 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期五, 12 十二月 2025 14:09:36 +0800
Subject: [PATCH] yys 商机管理

---
 src/main/java/com/ruoyi/sales/controller/BusinessOpportunityController.java |   97 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 97 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/sales/controller/BusinessOpportunityController.java b/src/main/java/com/ruoyi/sales/controller/BusinessOpportunityController.java
new file mode 100644
index 0000000..d614b9d
--- /dev/null
+++ b/src/main/java/com/ruoyi/sales/controller/BusinessOpportunityController.java
@@ -0,0 +1,97 @@
+package com.ruoyi.sales.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.framework.aspectj.lang.annotation.Log;
+import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
+import com.ruoyi.framework.web.controller.BaseController;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.sales.mapper.BusinessDescriptionMapper;
+import com.ruoyi.sales.pojo.BusinessDescription;
+import com.ruoyi.sales.pojo.BusinessOpportunity;
+import com.ruoyi.sales.service.BusinessOpportunityService;
+import com.ruoyi.sales.service.impl.CommonFileServiceImpl;
+import io.jsonwebtoken.lang.Collections;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * @author :yys
+ * @date : 2025/12/12 9:29
+ */
+@RestController
+@RequestMapping("/businessOpportunity")
+@Api(tags = "鍟嗘満绠$悊")
+public class BusinessOpportunityController extends BaseController {
+
+    @Autowired
+    private BusinessOpportunityService businessOpportunityService;
+
+    @Autowired
+    private BusinessDescriptionMapper BusinessDescriptionMapper;
+
+    @Autowired
+    private CommonFileServiceImpl commonFileService;
+
+    @GetMapping("/listPage")
+    @ApiOperation("鍟嗘満鍒楄〃")
+    public AjaxResult listPage(Page page, BusinessOpportunity businessOpportunity) {
+        IPage<BusinessOpportunity> businessOpportunityIPage = businessOpportunityService.listPage(page, businessOpportunity);
+        businessOpportunityIPage.getRecords().forEach(item -> {
+            item.setBusinessCommonFiles(commonFileService.getFileList(item.getId(),9));
+            item.setBusinessDescription(BusinessDescriptionMapper.selectList(Wrappers.lambdaQuery(BusinessDescription.class)
+                    .eq(BusinessDescription::getBusinessOpportunityId, item.getId())));
+        });
+        return AjaxResult.success(businessOpportunityIPage);
+    }
+
+    @PostMapping("/add")
+    @ApiOperation("娣诲姞鍟嗘満")
+    @Log(title = "鍟嗘満绠$悊-娣诲姞鍟嗘満", businessType = BusinessType.INSERT)
+    @Transactional(rollbackFor = Exception.class)
+    public AjaxResult add(@RequestBody BusinessOpportunity businessOpportunity) throws  Exception{
+        businessOpportunityService.save(businessOpportunity);
+        BusinessDescription businessDescription = new BusinessDescription();
+        BeanUtils.copyProperties(businessOpportunity, businessDescription);
+        businessDescription.setBusinessOpportunityId(businessOpportunity.getId());
+        // 杩佺Щ涓存椂鏂囦欢鍒版寮忔枃浠�
+        commonFileService.migrateTempFilesToFormal(businessOpportunity.getId(), businessOpportunity.getTempFileIds());
+        return BusinessDescriptionMapper.insert(businessDescription) > 0 ? success() : error();
+    }
+
+    @PostMapping("/addDescription")
+    @ApiOperation("娣诲姞鍟嗘満鎻忚堪")
+    @Log(title = "鍟嗘満绠$悊-娣诲姞鍟嗘満鎻忚堪", businessType = BusinessType.INSERT)
+    public AjaxResult addDescription(@RequestBody BusinessDescription businessDescription) throws  Exception{
+        // 杩佺Щ涓存椂鏂囦欢鍒版寮忔枃浠�
+        commonFileService.migrateTempFilesToFormal(businessDescription.getBusinessOpportunityId(), businessDescription.getTempFileIds());
+        return BusinessDescriptionMapper.insert(businessDescription) > 0 ? success() : error();
+    }
+
+    @PostMapping("/update")
+    @ApiOperation("淇敼鍟嗘満")
+    @Log(title = "鍟嗘満绠$悊-淇敼鍟嗘満", businessType = BusinessType.UPDATE)
+    public AjaxResult update(@RequestBody BusinessOpportunity businessOpportunity) throws  Exception{
+        // 杩佺Щ涓存椂鏂囦欢鍒版寮忔枃浠�
+        commonFileService.migrateTempFilesToFormal(businessOpportunity.getId(), businessOpportunity.getTempFileIds());
+        return businessOpportunityService.updateById(businessOpportunity) ? success() : error();
+    }
+
+    @DeleteMapping("/delete")
+    @ApiOperation("鍒犻櫎鍟嗘満")
+    @Log(title = "鍟嗘満绠$悊-鍒犻櫎鍟嗘満", businessType = BusinessType.DELETE)
+    public AjaxResult delete(@RequestBody List<Long> ids) {
+        if(Collections.isEmpty(ids)) return error("璇烽�夋嫨瑕佸垹闄ょ殑鍟嗘満");
+        return businessOpportunityService.removeBatchByIds(ids) ? success() : error();
+    }
+
+
+
+}

--
Gitblit v1.9.3