liyong
2026-04-23 8c8ff31cdca25f579d3c1f688f46c877bf28aaa1
src/main/java/com/ruoyi/customervisits/controller/CustomerVisitsController.java
@@ -2,15 +2,19 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.compensationperformance.pojo.CompensationPerformance;
import com.ruoyi.common.enums.FileNameType;
import com.ruoyi.customervisits.dto.CustomerVisitsDto;
import com.ruoyi.customervisits.pojo.CustomerVisits;
import com.ruoyi.customervisits.service.impl.CustomerVisitsServiceImpl;
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.other.service.impl.TempFileServiceImpl;
import com.ruoyi.sales.service.impl.CommonFileServiceImpl;
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.*;
@@ -27,11 +31,17 @@
    @Autowired
    private CustomerVisitsServiceImpl customerVisitsService;
    @Autowired
    private TempFileServiceImpl tempFileService;
    @Autowired
    private CommonFileServiceImpl commonFileService;
    @GetMapping("/listPage")
    @Log(title = "客户拜访-分页查询", businessType = BusinessType.OTHER)
    @ApiOperation("客户拜访-分页查询")
    public AjaxResult listPage(Page page, CustomerVisits customerVisits){
        IPage<CustomerVisits> listPage = customerVisitsService.listPage(page, customerVisits);
    public AjaxResult listPage(Page page, CustomerVisits customerVisits) {
        IPage<CustomerVisitsDto> listPage = customerVisitsService.listPage(page, customerVisits);
        return AjaxResult.success(listPage);
    }
@@ -39,12 +49,43 @@
    @ApiOperation("客户拜访-添加")
    @PostMapping("/add")
    @Transactional(rollbackFor = Exception.class)
    public AjaxResult add(@RequestBody CustomerVisits customerVisits){
    public AjaxResult add(@RequestBody CustomerVisitsDto customerVisitsDto) throws Exception{
        CustomerVisits customerVisits = new CustomerVisits();
        BeanUtils.copyProperties(customerVisitsDto,customerVisits);
        boolean save = customerVisitsService.save(customerVisits);
        if (save){
        // 附件绑定
        tempFileService.migrateTempFilesToFormal(customerVisits.getId().longValue(), customerVisitsDto.getTempFileIds(), FileNameType.CUSTOMER_VISITS.getValue());
        if (save) {
            return AjaxResult.success("添加成功");
        }
        return AjaxResult.error("添加失败");
    }
    @Log(title = "客户拜访-编辑", businessType = BusinessType.UPDATE)
    @ApiOperation("客户拜访-编辑")
    @PostMapping("update")
    public AjaxResult updateCustomerVisit(@RequestBody CustomerVisitsDto customerVisitsDto) throws Exception{
        boolean updateResult = customerVisitsService.updateCustomerVisit(customerVisitsDto);
        if (updateResult) {
            return AjaxResult.success("编辑成功");
        }
        return AjaxResult.error("编辑失败");
    }
    @Log(title = "客户拜访-删除", businessType = BusinessType.DELETE)
    @ApiOperation("客户拜访-删除")
    @DeleteMapping("{customerId}")
    public AjaxResult deleteCustomerVisit(@PathVariable Integer customerId) {
        if (customerId == null) {
            return AjaxResult.error("客户ID不能为空");
        }
        boolean deleteResult = customerVisitsService.removeById(customerId);
        if (deleteResult) {
            // 删除对应的附件
            commonFileService.deleteByBusinessId(customerId.longValue(), FileNameType.CUSTOMER_VISITS.getValue());
            return AjaxResult.success("删除成功");
        }
        return AjaxResult.error("删除失败");
    }
}