maven
2025-12-12 b06a2928f34758ccef05650108e2b02d03962a63
src/main/java/com/ruoyi/sales/controller/BusinessOpportunityController.java
@@ -1,16 +1,23 @@
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;
@@ -27,23 +34,53 @@
    @Autowired
    private BusinessOpportunityService businessOpportunityService;
    @Autowired
    private BusinessDescriptionMapper BusinessDescriptionMapper;
    @Autowired
    private CommonFileServiceImpl commonFileService;
    @GetMapping("/listPage")
    @ApiOperation("商机列表")
    public AjaxResult listPage(Page page, BusinessOpportunity businessOpportunity) {
        return AjaxResult.success(businessOpportunityService.listPage(page, 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)
    public AjaxResult add(@RequestBody BusinessOpportunity businessOpportunity) {
        return businessOpportunityService.save(businessOpportunity) ? success() : error();
    @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) {
    public AjaxResult update(@RequestBody BusinessOpportunity businessOpportunity) throws  Exception{
        // 迁移临时文件到正式文件
        commonFileService.migrateTempFilesToFormal(businessOpportunity.getId(), businessOpportunity.getTempFileIds());
        return businessOpportunityService.updateById(businessOpportunity) ? success() : error();
    }