package com.ruoyi.web.controller.api; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.dto.TCrmSupplierVerifyDTO; import com.ruoyi.system.model.TCrmSupplier; import com.ruoyi.system.model.TCrmSupplierVerify; import com.ruoyi.system.query.TCrmSupplierVerifyQuery; import com.ruoyi.system.service.TCrmSupplierService; import com.ruoyi.system.service.TCrmSupplierVerifyService; import com.ruoyi.system.vo.TCrmSupplierVerifyVO; 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.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.List; /** *

* 供应商资质核查 前端控制器 *

* * @author xiaochen * @since 2025-11-03 */ @Api(tags = "供应商资质核查") @RestController @RequestMapping("/t-crm-supplier-verify") public class TCrmSupplierVerifyController { private final TCrmSupplierVerifyService crmSupplierVerifyService; private final TokenService tokenService; private final TCrmSupplierService crmSupplierService; @Autowired public TCrmSupplierVerifyController(TCrmSupplierVerifyService crmSupplierVerifyService, TokenService tokenService, TCrmSupplierService crmSupplierService) { this.crmSupplierVerifyService = crmSupplierVerifyService; this.tokenService = tokenService; this.crmSupplierService = crmSupplierService; } /** * 获取供应商资质核查管理列表 */ @ApiOperation(value = "获取供应商资质核查分页列表") @PostMapping(value = "/pageList") public R> pageList(@RequestBody TCrmSupplierVerifyQuery query) { return R.ok(crmSupplierVerifyService.pageList(query)); } /** * 查看供应商资质核查详情 */ @ApiOperation(value = "查看供应商资质核查详情") @GetMapping(value = "/getDetailById") public R getDetailById(@RequestParam String id) { TCrmSupplierVerify crmSupplierVerify = crmSupplierVerifyService.getById(id); if (crmSupplierVerify == null) { return R.fail("供应商资质核查不存在"); } TCrmSupplierVerifyVO tCrmSupplierVerifyVO = new TCrmSupplierVerifyVO(); BeanUtils.copyProperties(crmSupplierVerify, tCrmSupplierVerifyVO); // 查询供应商信息 TCrmSupplier crmSupplier = crmSupplierService.getById(crmSupplierVerify.getSupplierId()); tCrmSupplierVerifyVO.setCrmSupplier(crmSupplier); return R.ok(tCrmSupplierVerifyVO); } /** * 查看供应商资质核查详情 */ @Log(title = "供应商资质核查-核查", businessType = BusinessType.UPDATE) @ApiOperation(value = "供应商资质核查") @PostMapping(value = "/supplierVerify") public R supplierVerify(@RequestBody TCrmSupplierVerifyDTO dto) { TCrmSupplierVerify crmSupplierVerify = crmSupplierVerifyService.getById(dto.getId()); if (crmSupplierVerify == null) { return R.fail("供应商资质核查不存在"); } String nickName = tokenService.getLoginUser().getUser().getNickName(); crmSupplierVerify.setStatus(dto.getStatus()); crmSupplierVerify.setVerifyTime(LocalDate.now()); crmSupplierVerify.setOperationName(nickName); crmSupplierVerify.setOperationTime(LocalDateTime.now()); crmSupplierVerify.setVerifyRemark(dto.getVerifyRemark()); crmSupplierVerifyService.updateById(crmSupplierVerify); return R.ok(); } /** * 查看供应商资质核查详情 */ @Log(title = "供应商资质核查-批量核查", businessType = BusinessType.UPDATE) @ApiOperation(value = "供应商资质批量核查") @PostMapping(value = "/supplierVerifyBatch") public R supplierVerifyBatch(@RequestBody TCrmSupplierVerifyDTO dto) { if(CollectionUtils.isEmpty(dto.getIds())){ return R.fail("请选择要核查的供应商资质"); } List crmSupplierVerifyList = crmSupplierVerifyService.list(Wrappers.lambdaQuery(TCrmSupplierVerify.class) .in(TCrmSupplierVerify::getId, dto.getIds())); if (CollectionUtils.isEmpty(crmSupplierVerifyList)) { return R.fail("供应商资质核查不存在"); } String nickName = tokenService.getLoginUser().getUser().getNickName(); for (TCrmSupplierVerify crmSupplierVerify : crmSupplierVerifyList) { crmSupplierVerify.setStatus(dto.getStatus()); crmSupplierVerify.setVerifyTime(LocalDate.now()); crmSupplierVerify.setOperationName(nickName); crmSupplierVerify.setOperationTime(LocalDateTime.now()); crmSupplierVerify.setVerifyRemark(dto.getVerifyRemark()); } crmSupplierVerifyService.updateBatchById(crmSupplierVerifyList); return R.ok(); } /** * 删除供应商资质核查 */ @Log(title = "供应商资质核查信息-删除供应商资质核查", businessType = BusinessType.DELETE) @ApiOperation(value = "删除供应商资质核查") @DeleteMapping(value = "/deleteById") public R deleteById(@RequestParam String id) { return R.ok(crmSupplierVerifyService.removeById(id)); } /** * 批量删除供应商资质核查 */ @Log(title = "供应商资质核查信息-删除供应商资质核查", businessType = BusinessType.DELETE) @ApiOperation(value = "批量删除供应商资质核查") @DeleteMapping(value = "/deleteByIds") public R deleteByIds(@RequestBody List ids) { return R.ok(crmSupplierVerifyService.removeByIds(ids)); } }