src/main/java/com/ruoyi/stock/controller/ManufacturerController.java
@@ -4,7 +4,7 @@ import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.framework.aspectj.lang.annotation.Log; import com.ruoyi.framework.aspectj.lang.enums.BusinessType; import com.ruoyi.framework.web.domain.AjaxResult; import com.ruoyi.framework.web.domain.R; import com.ruoyi.stock.dto.ManufacturerDto; import com.ruoyi.stock.execl.ManufacturerExcelDto; import com.ruoyi.stock.pojo.Manufacturer; @@ -43,9 +43,9 @@ @PostMapping("/add") @Log(title = "厂家-新增", businessType = BusinessType.INSERT) @Operation(summary = "新增厂家") public AjaxResult add(@RequestBody Manufacturer manufacturer) { public R add(@RequestBody Manufacturer manufacturer) { manufacturerService.saveManufacturer(manufacturer); return AjaxResult.success(); return R.ok(); } /** @@ -56,12 +56,12 @@ @DeleteMapping("/del") @Log(title = "厂家-删除", businessType = BusinessType.DELETE) @Operation(summary = "删除厂家") public AjaxResult delManufacturer(@RequestBody List<Long> ids) { public R delManufacturer(@RequestBody List<Long> ids) { if(CollectionUtils.isEmpty(ids)){ return AjaxResult.error("请选择至少一条数据"); return R.fail("请选择至少一条数据"); } manufacturerService.delManufacturer(ids); return AjaxResult.success(); return R.ok(); } /** @@ -72,8 +72,8 @@ @GetMapping("/{id}") @Log(title = "厂家-详情", businessType = BusinessType.OTHER) @Operation(summary = "厂家详情") public AjaxResult manufacturerDetail(@PathVariable("id") Long id) { return AjaxResult.success(manufacturerService.manufacturerDetail(id)); public R manufacturerDetail(@PathVariable("id") Long id) { return R.ok(manufacturerService.manufacturerDetail(id)); } /** @@ -84,9 +84,9 @@ @PostMapping("/update") @Log(title = "厂家-修改", businessType = BusinessType.UPDATE) @Operation(summary = "修改厂家") public AjaxResult update(@RequestBody Manufacturer manufacturer) { public R update(@RequestBody Manufacturer manufacturer) { manufacturerService.manufacturerUpdate(manufacturer); return AjaxResult.success(); return R.ok(); } /** @@ -98,8 +98,8 @@ @GetMapping("/listPage") @Log(title = "厂家-分页查询", businessType = BusinessType.OTHER) @Operation(summary = "厂家分页查询") public AjaxResult manufacturerListPage(Page page, ManufacturerDto manufacturerDto) { return AjaxResult.success(manufacturerService.manufacturerListPage(page, manufacturerDto)); public R manufacturerListPage(Page page, ManufacturerDto manufacturerDto) { return R.ok(manufacturerService.manufacturerListPage(page, manufacturerDto)); } /** @@ -132,12 +132,8 @@ @PostMapping("/import") @Log(title = "厂家-导入", businessType = BusinessType.IMPORT) @Operation(summary = "导入厂家") public AjaxResult importData(MultipartFile file) { Boolean b = manufacturerService.importData(file); if (b) { return AjaxResult.success("导入成功"); } return AjaxResult.error("导入失败"); public R importData(MultipartFile file) { return manufacturerService.importData(file); } /** @@ -147,7 +143,7 @@ @GetMapping("/getOptions") @Log(title = "厂家-选项接口", businessType = BusinessType.OTHER) @Operation(summary = "获取厂家选项") public AjaxResult getOptions() { return AjaxResult.success(manufacturerService.list()); public R getOptions() { return R.ok(manufacturerService.list()); } } src/main/java/com/ruoyi/stock/service/ManufacturerService.java
@@ -3,6 +3,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.framework.web.domain.AjaxResult; import com.ruoyi.framework.web.domain.R; import com.ruoyi.stock.dto.ManufacturerDto; import com.ruoyi.stock.pojo.Manufacturer; import jakarta.servlet.http.HttpServletResponse; @@ -67,5 +69,5 @@ * @param file * @return */ Boolean importData(MultipartFile file); R importData(MultipartFile file); } src/main/java/com/ruoyi/stock/service/impl/ManufacturerServiceImpl.java
@@ -10,6 +10,10 @@ import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.framework.web.domain.AjaxResult; import com.ruoyi.framework.web.domain.R; import com.ruoyi.project.system.domain.SysUser; import com.ruoyi.project.system.mapper.SysUserMapper; import com.ruoyi.stock.dto.ManufacturerDto; import com.ruoyi.stock.execl.ManufacturerExcelDto; import com.ruoyi.stock.mapper.ManufacturerMapper; @@ -43,6 +47,7 @@ private final StockInventoryMapper stockInventoryMapper; private final ManufacturerMapper manufacturerMapper; private final SysUserMapper sysUserMapper; /** * 厂商新增 @@ -53,7 +58,7 @@ LambdaQueryWrapper<Manufacturer> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(Manufacturer::getName,manufacturer.getName()); if (baseMapper.selectCount(queryWrapper) > 0) { throw new RuntimeException("供应商已存在"); throw new RuntimeException("厂家已存在"); } baseMapper.insert(manufacturer); @@ -109,7 +114,7 @@ public void manufacturerExport(HttpServletResponse response, ManufacturerDto manufacturerDto) { List<ManufacturerExcelDto> list = manufacturerMapper.manufacturerExportList(manufacturerDto); ExcelUtil<ManufacturerExcelDto> util = new ExcelUtil<>(ManufacturerExcelDto.class); util.exportExcel(response, list, "厂商数据"); util.exportExcel(response, list, "厂家数据"); } /** @@ -117,23 +122,39 @@ */ @Override @Transactional public Boolean importData(MultipartFile file) { public R importData(MultipartFile file) { try { ExcelUtil<ManufacturerExcelDto> util = new ExcelUtil<>(ManufacturerExcelDto.class); List<ManufacturerExcelDto> list = util.importExcel(file.getInputStream()); ArrayList<Manufacturer> manufacturers = new ArrayList<>(); list.stream().forEach(dto -> { Manufacturer manufacturer = new Manufacturer(); BeanUtils.copyProperties(dto,manufacturer); BeanUtils.copyProperties(dto, manufacturer); manufacturer.setMaintainTime(LocalDate.now()); manufacturer.setMaintainUserId(SecurityUtils.getLoginUser().getUser().getUserId()); // 检查厂家名称是否重复 LambdaQueryWrapper<Manufacturer> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(Manufacturer::getName, manufacturer.getName()); if (baseMapper.selectCount(queryWrapper) > 0) { throw new RuntimeException("厂家名称已存在: " + manufacturer.getName()); } if (StringUtils.isEmpty(dto.getMaintainUserName())) { manufacturer.setMaintainUserId(SecurityUtils.getLoginUser().getUser().getUserId()); } else { SysUser sysUser = sysUserMapper.selectOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getNickName, dto.getMaintainUserName())); if (sysUser == null) { throw new RuntimeException("维护人不存在: " + dto.getMaintainUserName()); } manufacturer.setMaintainUserId(sysUser.getUserId()); } manufacturers.add(manufacturer); }); this.saveOrUpdateBatch(manufacturers); return true; return R.ok("导入成功"); } catch (Exception e) { log.error("导入失败", e); return false; return R.fail("导入失败: " + e.getMessage()); } } }