中介库管理

This commit is contained in:
wkc
2026-01-28 09:58:31 +08:00
parent 5b0c338b5e
commit 6946744ab9
20 changed files with 2836 additions and 0 deletions

38
ruoyi-dpc/pom.xml Normal file
View File

@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>ruoyi</artifactId>
<groupId>com.ruoyi</groupId>
<version>3.9.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>ruoyi-dpc</artifactId>
<description>
纪检初核系统模块
</description>
<dependencies>
<!-- 通用工具-->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common</artifactId>
</dependency>
<!-- easyexcel工具 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
</project>

View File

@@ -0,0 +1,136 @@
package com.ruoyi.dpc.controller;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.dpc.domain.DpcIntermediaryBlacklist;
import com.ruoyi.dpc.domain.dto.DpcIntermediaryBlacklistAddDTO;
import com.ruoyi.dpc.domain.dto.DpcIntermediaryBlacklistEditDTO;
import com.ruoyi.dpc.domain.dto.DpcIntermediaryBlacklistQueryDTO;
import com.ruoyi.dpc.domain.vo.DpcIntermediaryBlacklistVO;
import com.ruoyi.dpc.service.IDpcIntermediaryBlacklistService;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
/**
* 中介人员黑名单Controller
*
* @author ruoyi
* @date 2026-01-27
*/
@RestController
@RequestMapping("/dpc/intermediary")
public class DpcIntermediaryBlacklistController extends BaseController {
@Resource
private IDpcIntermediaryBlacklistService intermediaryService;
/**
* 查询中介黑名单列表
*/
@PreAuthorize("@ss.hasPermi('dpc:intermediary:list')")
@GetMapping("/list")
public TableDataInfo list(DpcIntermediaryBlacklistQueryDTO queryDTO) {
startPage();
List<DpcIntermediaryBlacklistVO> list = intermediaryService.selectIntermediaryList(queryDTO);
return getDataTable(list);
}
/**
* 导出中介黑名单列表
*/
@PreAuthorize("@ss.hasPermi('dpc:intermediary:export')")
@Log(title = "中介黑名单", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, DpcIntermediaryBlacklistQueryDTO queryDTO) {
List<DpcIntermediaryBlacklist> list = intermediaryService.selectIntermediaryListForExport(queryDTO);
ExcelUtil<DpcIntermediaryBlacklist> util = new ExcelUtil<>(DpcIntermediaryBlacklist.class);
util.exportExcel(response, list, "中介黑名单数据");
}
/**
* 获取中介黑名单详细信息
*/
@PreAuthorize("@ss.hasPermi('dpc:intermediary:query')")
@GetMapping(value = "/{intermediaryId}")
public AjaxResult getInfo(@PathVariable Long intermediaryId) {
return success(intermediaryService.selectIntermediaryById(intermediaryId));
}
/**
* 新增中介黑名单
*/
@PreAuthorize("@ss.hasPermi('dpc:intermediary:add')")
@Log(title = "中介黑名单", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@Validated @RequestBody DpcIntermediaryBlacklistAddDTO addDTO) {
return toAjax(intermediaryService.insertIntermediary(addDTO));
}
/**
* 修改中介黑名单
*/
@PreAuthorize("@ss.hasPermi('dpc:intermediary:edit')")
@Log(title = "中介黑名单", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@Validated @RequestBody DpcIntermediaryBlacklistEditDTO editDTO) {
return toAjax(intermediaryService.updateIntermediary(editDTO));
}
/**
* 删除中介黑名单
*/
@PreAuthorize("@ss.hasPermi('dpc:intermediary:remove')")
@Log(title = "中介黑名单", businessType = BusinessType.DELETE)
@DeleteMapping("/{intermediaryIds}")
public AjaxResult remove(@PathVariable Long[] intermediaryIds) {
return toAjax(intermediaryService.deleteIntermediaryByIds(intermediaryIds));
}
/**
* 下载导入模板
*/
@PostMapping("/importTemplate")
public void importTemplate(HttpServletResponse response) {
ExcelUtil<DpcIntermediaryBlacklist> util = new ExcelUtil<>(DpcIntermediaryBlacklist.class);
util.importTemplateExcel(response, "中介黑名单数据");
}
/**
* 导入中介黑名单
*/
@PreAuthorize("@ss.hasPermi('dpc:intermediary:import')")
@Log(title = "中介黑名单", businessType = BusinessType.IMPORT)
@PostMapping("/importData")
public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception {
ExcelUtil<DpcIntermediaryBlacklist> util = new ExcelUtil<>(DpcIntermediaryBlacklist.class);
List<DpcIntermediaryBlacklist> list = util.importExcel(file.getInputStream());
List<DpcIntermediaryBlacklistAddDTO> addDTOList = convertToAddDTOList(list);
String message = intermediaryService.importIntermediary(addDTOList, updateSupport);
return success(message);
}
/**
* 转换为AddDTO列表
*/
private List<DpcIntermediaryBlacklistAddDTO> convertToAddDTOList(List<DpcIntermediaryBlacklist> list) {
return list.stream().map(entity -> {
DpcIntermediaryBlacklistAddDTO dto = new DpcIntermediaryBlacklistAddDTO();
dto.setName(entity.getName());
dto.setCertificateNo(entity.getCertificateNo());
dto.setIntermediaryType(entity.getIntermediaryType());
dto.setStatus(entity.getStatus());
dto.setRemark(entity.getRemark());
return dto;
}).toList();
}
}

View File

@@ -0,0 +1,134 @@
package com.ruoyi.dpc.domain;
import com.ruoyi.common.annotation.Excel;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 中介人员黑名单对象 dpc_intermediary_blacklist
*
* @author ruoyi
* @date 2026-01-27
*/
public class DpcIntermediaryBlacklist implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/** 中介ID */
private Long intermediaryId;
/** 姓名/机构名称 */
@Excel(name = "姓名/机构名称")
private String name;
/** 证件号 */
@Excel(name = "证件号")
private String certificateNo;
/** 中介类型 */
@Excel(name = "中介类型", readConverterExp = "1=个人,2=机构")
private String intermediaryType;
/** 状态 */
@Excel(name = "状态", readConverterExp = "0=正常,1=停用")
private String status;
/** 备注 */
@Excel(name = "备注")
private String remark;
/** 创建者 */
private String createBy;
/** 创建时间 */
private Date createTime;
/** 更新者 */
private String updateBy;
/** 更新时间 */
private Date updateTime;
public Long getIntermediaryId() {
return intermediaryId;
}
public void setIntermediaryId(Long intermediaryId) {
this.intermediaryId = intermediaryId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCertificateNo() {
return certificateNo;
}
public void setCertificateNo(String certificateNo) {
this.certificateNo = certificateNo;
}
public String getIntermediaryType() {
return intermediaryType;
}
public void setIntermediaryType(String intermediaryType) {
this.intermediaryType = intermediaryType;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getCreateBy() {
return createBy;
}
public void setCreateBy(String createBy) {
this.createBy = createBy;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public String getUpdateBy() {
return updateBy;
}
public void setUpdateBy(String updateBy) {
this.updateBy = updateBy;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
}

View File

@@ -0,0 +1,86 @@
package com.ruoyi.dpc.domain.dto;
import com.ruoyi.common.annotation.Excel;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import java.io.Serial;
import java.io.Serializable;
/**
* 中介人员黑名单新增 DTO
*
* @author ruoyi
* @date 2026-01-27
*/
public class DpcIntermediaryBlacklistAddDTO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/** 姓名/机构名称 */
@Excel(name = "姓名/机构名称")
@NotBlank(message = "姓名/机构名称不能为空")
@Size(min = 1, max = 100, message = "姓名/机构名称长度不能超过100个字符")
private String name;
/** 证件号 */
@Excel(name = "证件号")
@Size(max = 50, message = "证件号长度不能超过50个字符")
private String certificateNo;
/** 中介类型 */
@Excel(name = "中介类型", readConverterExp = "1=个人,2=机构")
@NotBlank(message = "中介类型不能为空")
private String intermediaryType;
/** 状态 */
@Excel(name = "状态", readConverterExp = "0=正常,1=停用")
@NotBlank(message = "状态不能为空")
private String status;
/** 备注 */
@Excel(name = "备注")
@Size(max = 500, message = "备注长度不能超过500个字符")
private String remark;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCertificateNo() {
return certificateNo;
}
public void setCertificateNo(String certificateNo) {
this.certificateNo = certificateNo;
}
public String getIntermediaryType() {
return intermediaryType;
}
public void setIntermediaryType(String intermediaryType) {
this.intermediaryType = intermediaryType;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
}

View File

@@ -0,0 +1,99 @@
package com.ruoyi.dpc.domain.dto;
import com.ruoyi.common.annotation.Excel;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import java.io.Serial;
import java.io.Serializable;
/**
* 中介人员黑名单编辑 DTO
*
* @author ruoyi
* @date 2026-01-27
*/
public class DpcIntermediaryBlacklistEditDTO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/** 中介ID */
@NotNull(message = "中介ID不能为空")
private Long intermediaryId;
/** 姓名/机构名称 */
@Excel(name = "姓名/机构名称")
@NotBlank(message = "姓名/机构名称不能为空")
@Size(min = 1, max = 100, message = "姓名/机构名称长度不能超过100个字符")
private String name;
/** 证件号 */
@Excel(name = "证件号")
@Size(max = 50, message = "证件号长度不能超过50个字符")
private String certificateNo;
/** 中介类型 */
@Excel(name = "中介类型", readConverterExp = "1=个人,2=机构")
@NotBlank(message = "中介类型不能为空")
private String intermediaryType;
/** 状态 */
@Excel(name = "状态", readConverterExp = "0=正常,1=停用")
@NotBlank(message = "状态不能为空")
private String status;
/** 备注 */
@Excel(name = "备注")
@Size(max = 500, message = "备注长度不能超过500个字符")
private String remark;
public Long getIntermediaryId() {
return intermediaryId;
}
public void setIntermediaryId(Long intermediaryId) {
this.intermediaryId = intermediaryId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCertificateNo() {
return certificateNo;
}
public void setCertificateNo(String certificateNo) {
this.certificateNo = certificateNo;
}
public String getIntermediaryType() {
return intermediaryType;
}
public void setIntermediaryType(String intermediaryType) {
this.intermediaryType = intermediaryType;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
}

View File

@@ -0,0 +1,60 @@
package com.ruoyi.dpc.domain.dto;
import java.io.Serial;
import java.io.Serializable;
/**
* 中介人员黑名单查询 DTO
*
* @author ruoyi
* @date 2026-01-27
*/
public class DpcIntermediaryBlacklistQueryDTO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/** 姓名/机构名称(模糊查询) */
private String name;
/** 证件号(精确查询) */
private String certificateNo;
/** 中介类型 */
private String intermediaryType;
/** 状态 */
private String status;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCertificateNo() {
return certificateNo;
}
public void setCertificateNo(String certificateNo) {
this.certificateNo = certificateNo;
}
public String getIntermediaryType() {
return intermediaryType;
}
public void setIntermediaryType(String intermediaryType) {
this.intermediaryType = intermediaryType;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
}

View File

@@ -0,0 +1,153 @@
package com.ruoyi.dpc.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 中介人员黑名单视图对象 VO
*
* @author ruoyi
* @date 2026-01-27
*/
public class DpcIntermediaryBlacklistVO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/** 中介ID */
private Long intermediaryId;
/** 姓名/机构名称 */
private String name;
/** 证件号 */
private String certificateNo;
/** 中介类型 */
private String intermediaryType;
/** 中介类型名称(用于前端显示) */
private String intermediaryTypeName;
/** 状态 */
private String status;
/** 状态名称(用于前端显示) */
private String statusName;
/** 备注 */
private String remark;
/** 创建者 */
private String createBy;
/** 创建时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/** 更新者 */
private String updateBy;
/** 更新时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
public Long getIntermediaryId() {
return intermediaryId;
}
public void setIntermediaryId(Long intermediaryId) {
this.intermediaryId = intermediaryId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCertificateNo() {
return certificateNo;
}
public void setCertificateNo(String certificateNo) {
this.certificateNo = certificateNo;
}
public String getIntermediaryType() {
return intermediaryType;
}
public void setIntermediaryType(String intermediaryType) {
this.intermediaryType = intermediaryType;
}
public String getIntermediaryTypeName() {
return intermediaryTypeName;
}
public void setIntermediaryTypeName(String intermediaryTypeName) {
this.intermediaryTypeName = intermediaryTypeName;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getStatusName() {
return statusName;
}
public void setStatusName(String statusName) {
this.statusName = statusName;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getCreateBy() {
return createBy;
}
public void setCreateBy(String createBy) {
this.createBy = createBy;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public String getUpdateBy() {
return updateBy;
}
public void setUpdateBy(String updateBy) {
this.updateBy = updateBy;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
}

View File

@@ -0,0 +1,63 @@
package com.ruoyi.dpc.mapper;
import com.ruoyi.dpc.domain.DpcIntermediaryBlacklist;
import com.ruoyi.dpc.domain.dto.DpcIntermediaryBlacklistQueryDTO;
import java.util.List;
/**
* 中介人员黑名单 数据层
*
* @author ruoyi
* @date 2026-01-27
*/
public interface DpcIntermediaryBlacklistMapper {
/**
* 查询中介黑名单列表
*
* @param queryDTO 查询条件
* @return 中介黑名单集合
*/
List<DpcIntermediaryBlacklist> selectIntermediaryList(DpcIntermediaryBlacklistQueryDTO queryDTO);
/**
* 查询中介黑名单详细
*
* @param intermediaryId 中介ID
* @return 中介黑名单对象
*/
DpcIntermediaryBlacklist selectIntermediaryById(Long intermediaryId);
/**
* 新增中介黑名单
*
* @param intermediary 中介黑名单
* @return 结果
*/
int insertIntermediary(DpcIntermediaryBlacklist intermediary);
/**
* 修改中介黑名单
*
* @param intermediary 中介黑名单
* @return 结果
*/
int updateIntermediary(DpcIntermediaryBlacklist intermediary);
/**
* 删除中介黑名单
*
* @param intermediaryId 中介ID
* @return 结果
*/
int deleteIntermediaryById(Long intermediaryId);
/**
* 批量删除中介黑名单
*
* @param intermediaryIds 需要删除的中介ID
* @return 结果
*/
int deleteIntermediaryByIds(Long[] intermediaryIds);
}

View File

@@ -0,0 +1,75 @@
package com.ruoyi.dpc.service;
import com.ruoyi.dpc.domain.DpcIntermediaryBlacklist;
import com.ruoyi.dpc.domain.dto.DpcIntermediaryBlacklistAddDTO;
import com.ruoyi.dpc.domain.dto.DpcIntermediaryBlacklistEditDTO;
import com.ruoyi.dpc.domain.dto.DpcIntermediaryBlacklistQueryDTO;
import com.ruoyi.dpc.domain.vo.DpcIntermediaryBlacklistVO;
import java.util.List;
/**
* 中介人员黑名单 服务层
*
* @author ruoyi
* @date 2026-01-27
*/
public interface IDpcIntermediaryBlacklistService {
/**
* 查询中介黑名单列表
*
* @param queryDTO 查询条件
* @return 中介黑名单集合
*/
List<DpcIntermediaryBlacklistVO> selectIntermediaryList(DpcIntermediaryBlacklistQueryDTO queryDTO);
/**
* 查询中介黑名单列表(用于导出)
*
* @param queryDTO 查询条件
* @return 中介黑名单实体集合
*/
List<DpcIntermediaryBlacklist> selectIntermediaryListForExport(DpcIntermediaryBlacklistQueryDTO queryDTO);
/**
* 查询中介黑名单详细
*
* @param intermediaryId 中介ID
* @return 中介黑名单VO
*/
DpcIntermediaryBlacklistVO selectIntermediaryById(Long intermediaryId);
/**
* 新增中介黑名单
*
* @param addDTO 新增DTO
* @return 结果
*/
int insertIntermediary(DpcIntermediaryBlacklistAddDTO addDTO);
/**
* 修改中介黑名单
*
* @param editDTO 编辑DTO
* @return 结果
*/
int updateIntermediary(DpcIntermediaryBlacklistEditDTO editDTO);
/**
* 批量删除中介黑名单
*
* @param intermediaryIds 需要删除的中介ID
* @return 结果
*/
int deleteIntermediaryByIds(Long[] intermediaryIds);
/**
* 导入中介黑名单数据
*
* @param addDTOList 新增DTO列表
* @param isUpdateSupport 是否更新支持
* @return 结果
*/
String importIntermediary(List<DpcIntermediaryBlacklistAddDTO> addDTOList, Boolean isUpdateSupport);
}

View File

@@ -0,0 +1,197 @@
package com.ruoyi.dpc.service.impl;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.dpc.domain.DpcIntermediaryBlacklist;
import com.ruoyi.dpc.domain.dto.DpcIntermediaryBlacklistAddDTO;
import com.ruoyi.dpc.domain.dto.DpcIntermediaryBlacklistEditDTO;
import com.ruoyi.dpc.domain.dto.DpcIntermediaryBlacklistQueryDTO;
import com.ruoyi.dpc.domain.vo.DpcIntermediaryBlacklistVO;
import com.ruoyi.dpc.mapper.DpcIntermediaryBlacklistMapper;
import com.ruoyi.dpc.service.IDpcIntermediaryBlacklistService;
import jakarta.annotation.Resource;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
* 中介人员黑名单 服务层处理
*
* @author ruoyi
* @date 2026-01-27
*/
@Service
public class DpcIntermediaryBlacklistServiceImpl implements IDpcIntermediaryBlacklistService {
@Resource
private DpcIntermediaryBlacklistMapper intermediaryMapper;
/**
* 查询中介黑名单列表
*
* @param queryDTO 查询条件
* @return 中介黑名单集合
*/
@Override
public List<DpcIntermediaryBlacklistVO> selectIntermediaryList(DpcIntermediaryBlacklistQueryDTO queryDTO) {
List<DpcIntermediaryBlacklist> list = intermediaryMapper.selectIntermediaryList(queryDTO);
List<DpcIntermediaryBlacklistVO> voList = new ArrayList<>();
for (DpcIntermediaryBlacklist intermediary : list) {
voList.add(convertToVO(intermediary));
}
return voList;
}
/**
* 查询中介黑名单列表(用于导出)
*
* @param queryDTO 查询条件
* @return 中介黑名单实体集合
*/
@Override
public List<DpcIntermediaryBlacklist> selectIntermediaryListForExport(DpcIntermediaryBlacklistQueryDTO queryDTO) {
return intermediaryMapper.selectIntermediaryList(queryDTO);
}
/**
* 查询中介黑名单详细
*
* @param intermediaryId 中介ID
* @return 中介黑名单VO
*/
@Override
public DpcIntermediaryBlacklistVO selectIntermediaryById(Long intermediaryId) {
DpcIntermediaryBlacklist intermediary = intermediaryMapper.selectIntermediaryById(intermediaryId);
return convertToVO(intermediary);
}
/**
* 新增中介黑名单
*
* @param addDTO 新增DTO
* @return 结果
*/
@Override
public int insertIntermediary(DpcIntermediaryBlacklistAddDTO addDTO) {
DpcIntermediaryBlacklist intermediary = new DpcIntermediaryBlacklist();
BeanUtils.copyProperties(addDTO, intermediary);
intermediary.setCreateBy(SecurityUtils.getUsername());
return intermediaryMapper.insertIntermediary(intermediary);
}
/**
* 修改中介黑名单
*
* @param editDTO 编辑DTO
* @return 结果
*/
@Override
public int updateIntermediary(DpcIntermediaryBlacklistEditDTO editDTO) {
DpcIntermediaryBlacklist intermediary = new DpcIntermediaryBlacklist();
BeanUtils.copyProperties(editDTO, intermediary);
intermediary.setUpdateBy(SecurityUtils.getUsername());
return intermediaryMapper.updateIntermediary(intermediary);
}
/**
* 批量删除中介黑名单
*
* @param intermediaryIds 需要删除的中介ID
* @return 结果
*/
@Override
public int deleteIntermediaryByIds(Long[] intermediaryIds) {
return intermediaryMapper.deleteIntermediaryByIds(intermediaryIds);
}
/**
* 导入中介黑名单数据
*
* @param addDTOList 新增DTO列表
* @param isUpdateSupport 是否更新支持
* @return 结果
*/
@Override
public String importIntermediary(List<DpcIntermediaryBlacklistAddDTO> addDTOList, Boolean isUpdateSupport) {
if (StringUtils.isNull(addDTOList) || addDTOList.isEmpty()) {
return "至少需要一条数据";
}
int successNum = 0;
int failureNum = 0;
StringBuilder successMsg = new StringBuilder();
StringBuilder failureMsg = new StringBuilder();
for (DpcIntermediaryBlacklistAddDTO addDTO : addDTOList) {
try {
// 验证数据
validateIntermediaryData(addDTO);
DpcIntermediaryBlacklist intermediary = new DpcIntermediaryBlacklist();
BeanUtils.copyProperties(addDTO, intermediary);
intermediary.setCreateBy(SecurityUtils.getUsername());
intermediaryMapper.insertIntermediary(intermediary);
successNum++;
successMsg.append("<br/>").append(successNum).append("").append(addDTO.getName()).append(" 导入成功");
} catch (Exception e) {
failureNum++;
failureMsg.append("<br/>").append(failureNum).append("").append(addDTO.getName()).append(" 导入失败:");
failureMsg.append(e.getMessage());
}
}
if (failureNum > 0) {
failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:");
throw new RuntimeException(failureMsg.toString());
} else {
successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + "");
return successMsg.toString();
}
}
/**
* 验证中介数据
*/
private void validateIntermediaryData(DpcIntermediaryBlacklistAddDTO addDTO) {
// 验证中介类型
if (!"1".equals(addDTO.getIntermediaryType()) && !"2".equals(addDTO.getIntermediaryType())) {
throw new RuntimeException("中介类型只能填写'个人'或'机构'");
}
// 验证状态
if (!"0".equals(addDTO.getStatus()) && !"1".equals(addDTO.getStatus())) {
throw new RuntimeException("状态只能填写'正常'或'停用'");
}
}
/**
* 转换为VO对象
*/
private DpcIntermediaryBlacklistVO convertToVO(DpcIntermediaryBlacklist intermediary) {
if (intermediary == null) {
return null;
}
DpcIntermediaryBlacklistVO vo = new DpcIntermediaryBlacklistVO();
BeanUtils.copyProperties(intermediary, vo);
// 设置中介类型名称
if ("1".equals(intermediary.getIntermediaryType())) {
vo.setIntermediaryTypeName("个人");
} else if ("2".equals(intermediary.getIntermediaryType())) {
vo.setIntermediaryTypeName("机构");
}
// 设置状态名称
if ("0".equals(intermediary.getStatus())) {
vo.setStatusName("正常");
} else if ("1".equals(intermediary.getStatus())) {
vo.setStatusName("停用");
}
return vo;
}
}

View File

@@ -0,0 +1,99 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.dpc.mapper.DpcIntermediaryBlacklistMapper">
<resultMap type="DpcIntermediaryBlacklist" id="DpcIntermediaryBlacklistResult">
<id property="intermediaryId" column="intermediary_id"/>
<result property="name" column="name"/>
<result property="certificateNo" column="certificate_no"/>
<result property="intermediaryType" column="intermediary_type"/>
<result property="status" column="status"/>
<result property="remark" column="remark"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
</resultMap>
<sql id="selectIntermediaryVo">
select intermediary_id, name, certificate_no, intermediary_type, status, remark,
create_by, create_time, update_by, update_time
from dpc_intermediary_blacklist
</sql>
<select id="selectIntermediaryList" parameterType="DpcIntermediaryBlacklistQueryDTO"
resultMap="DpcIntermediaryBlacklistResult">
<include refid="selectIntermediaryVo"/>
<where>
<if test="name != null and name != ''">
AND name like concat('%', #{name}, '%')
</if>
<if test="certificateNo != null and certificateNo != ''">
AND certificate_no = #{certificateNo}
</if>
<if test="intermediaryType != null and intermediaryType != ''">
AND intermediary_type = #{intermediaryType}
</if>
<if test="status != null and status != ''">
AND status = #{status}
</if>
</where>
order by create_time desc
</select>
<select id="selectIntermediaryById" parameterType="Long" resultMap="DpcIntermediaryBlacklistResult">
<include refid="selectIntermediaryVo"/>
where intermediary_id = #{intermediaryId}
</select>
<insert id="insertIntermediary" parameterType="DpcIntermediaryBlacklist" useGeneratedKeys="true"
keyProperty="intermediaryId">
insert into dpc_intermediary_blacklist
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="name != null and name != ''">name,</if>
<if test="certificateNo != null and certificateNo != ''">certificate_no,</if>
<if test="intermediaryType != null and intermediaryType != ''">intermediary_type,</if>
<if test="status != null and status != ''">status,</if>
<if test="remark != null">remark,</if>
<if test="createBy != null and createBy != ''">create_by,</if>
create_time
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="name != null and name != ''">#{name},</if>
<if test="certificateNo != null and certificateNo != ''">#{certificateNo},</if>
<if test="intermediaryType != null and intermediaryType != ''">#{intermediaryType},</if>
<if test="status != null and status != ''">#{status},</if>
<if test="remark != null">#{remark},</if>
<if test="createBy != null and createBy != ''">#{createBy},</if>
sysdate()
</trim>
</insert>
<update id="updateIntermediary" parameterType="DpcIntermediaryBlacklist">
update dpc_intermediary_blacklist
<set>
<if test="name != null and name != ''">name = #{name},</if>
<if test="certificateNo != null">certificate_no = #{certificateNo},</if>
<if test="intermediaryType != null and intermediaryType != ''">intermediary_type = #{intermediaryType},</if>
<if test="status != null and status != ''">status = #{status},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
update_time = sysdate()
</set>
where intermediary_id = #{intermediaryId}
</update>
<delete id="deleteIntermediaryById" parameterType="Long">
delete from dpc_intermediary_blacklist where intermediary_id = #{intermediaryId}
</delete>
<delete id="deleteIntermediaryByIds" parameterType="Long">
delete from dpc_intermediary_blacklist where intermediary_id in
<foreach collection="array" item="intermediaryId" open="(" separator="," close=")">
#{intermediaryId}
</foreach>
</delete>
</mapper>