Browse Source

企业端-在线投诉查询

dev-V1.0.1
niujiyi 6 months ago
parent
commit
fc4a2352ca
  1. 35
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enterprise/AppEnterpriseComplaintController.java
  2. 14
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/enterprise/AppEnterpriseComplaintVo.java
  3. 3
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/ZdxtFileMapper.java
  4. 7
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/enterprise/IAppEnterpriseComplaintService.java
  5. 83
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/enterprise/impl/AppEnterpriseComplaintServiceImpl.java

35
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enterprise/AppEnterpriseComplaintController.java

@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.*;
public class AppEnterpriseComplaintController extends BaseController { public class AppEnterpriseComplaintController extends BaseController {
@Autowired @Autowired
private IAppEnterpriseComplaintService enterpriseComplaintService; private IAppEnterpriseComplaintService appEnterpriseComplaintService;
/** /**
* 企业端-投诉建议-新增 * 企业端-投诉建议-新增
@ -37,19 +37,44 @@ public class AppEnterpriseComplaintController extends BaseController {
@PostMapping("/add") @PostMapping("/add")
@ResponseBody @ResponseBody
public R<Void> addSave(@RequestBody AppEnterpriseComplatintInsertDTO dto) { public R<Void> addSave(@RequestBody AppEnterpriseComplatintInsertDTO dto) {
return toAjax(enterpriseComplaintService.insertEnterpriseComplaint(dto)); return toAjax(appEnterpriseComplaintService.insertEnterpriseComplaint(dto));
} }
/** /**
* 企业端-投诉建议-列表 * 企业端-投诉建议-查询列表
* @param * @param
* @return * @return
*/ */
@ApiResponse(description = "投诉建议列表") @ApiResponse(description = "投诉建议列表")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo<AppEnterpriseComplaintVo> list(AppEnterpriseComplatintQueryDTO dto, PageQuery pageQuery) { public TableDataInfo<AppEnterpriseComplaintVo> list(@ModelAttribute AppEnterpriseComplatintQueryDTO dto, PageQuery pageQuery) {
TableDataInfo<AppEnterpriseComplaintVo> list = enterpriseComplaintService.queryPageList(dto, pageQuery); TableDataInfo<AppEnterpriseComplaintVo> list = appEnterpriseComplaintService.queryPageList(dto, pageQuery);
return list; return list;
} }
/**
* 企业端-投诉建议-详情
* @param
* @return
*/
@ApiResponse(description = "投诉建议详情")
@GetMapping("/detail")
public R<AppEnterpriseComplaintVo> detail(@RequestParam String id) {
AppEnterpriseComplaintVo detail = appEnterpriseComplaintService.queryById(id);
return R.ok(detail);
}
/**
* 企业端-投诉建议-查询行政和非行政未被投诉列表
* @param
* @return
*/
@ApiResponse(description = "投诉建议-行政和非行政未被投诉列表")
@GetMapping("/listNotComplaint")
public TableDataInfo<AppEnterpriseComplaintVo> listNotComplaint(@ModelAttribute AppEnterpriseComplatintQueryDTO dto, PageQuery pageQuery) {
TableDataInfo<AppEnterpriseComplaintVo> list = appEnterpriseComplaintService.getAllCheckList(dto, pageQuery);
return list;
}
} }

14
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/enterprise/AppEnterpriseComplaintVo.java

@ -1,6 +1,8 @@
package com.zdxt.enforcementcode.domain.vo.enterprise; package com.zdxt.enforcementcode.domain.vo.enterprise;
import cn.idev.excel.annotation.ExcelProperty; import cn.idev.excel.annotation.ExcelProperty;
import com.zdxt.enforcementcode.domain.vo.ZdxtFileVo;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data; import lombok.Data;
import org.dromara.common.excel.annotation.ExcelDictFormat; import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert; import org.dromara.common.excel.convert.ExcelDictConvert;
@ -8,10 +10,10 @@ import org.dromara.common.excel.convert.ExcelDictConvert;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
/** import java.util.List;
* 企业端-在线投诉
*/
@Data @Data
@AutoMapper(target = com.zdxt.enforcementcode.domain.entity.enterprise.AppEnterpriseComplaint.class)
public class AppEnterpriseComplaintVo implements Serializable { public class AppEnterpriseComplaintVo implements Serializable {
@Serial @Serial
@ -167,4 +169,10 @@ public class AppEnterpriseComplaintVo implements Serializable {
*/ */
@ExcelProperty(value = "数据类型 0行政 1 非行政") @ExcelProperty(value = "数据类型 0行政 1 非行政")
private Long recordType; private Long recordType;
/**
* 文件列表
*/
@ExcelProperty(value = "文件列表")
private List<ZdxtFileVo> fileList;
} }

3
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/ZdxtFileMapper.java

@ -7,8 +7,7 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/** /**
* 附件Mapper接口 * 附件Mapper接口
* *
* @author Lion Li *
* @date 2026-04-15
*/ */
public interface ZdxtFileMapper extends BaseMapperPlus<ZdxtFile, ZdxtFileVo> { public interface ZdxtFileMapper extends BaseMapperPlus<ZdxtFile, ZdxtFileVo> {

7
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/enterprise/IAppEnterpriseComplaintService.java

@ -55,4 +55,11 @@ public interface IAppEnterpriseComplaintService {
* @return 是否删除成功 * @return 是否删除成功
*/ */
Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid); Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
/**
* 企业端-投诉建议查询行政和非行政未被投诉列表
* @param pageQuery
* @return
*/
TableDataInfo<AppEnterpriseComplaintVo> getAllCheckList(AppEnterpriseComplatintQueryDTO dto,PageQuery pageQuery);
} }

83
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/enterprise/impl/AppEnterpriseComplaintServiceImpl.java

@ -13,6 +13,7 @@ import com.zdxt.enforcementcode.domain.dto.enterprise.AppEnterpriseComplatintQue
import com.zdxt.enforcementcode.domain.entity.enterprise.AppEnforcementRegistration; import com.zdxt.enforcementcode.domain.entity.enterprise.AppEnforcementRegistration;
import com.zdxt.enforcementcode.domain.entity.enterprise.AppEnterpriseComplaint; import com.zdxt.enforcementcode.domain.entity.enterprise.AppEnterpriseComplaint;
import com.zdxt.enforcementcode.domain.entity.enterprise.AppNonEnforcementRegistration; import com.zdxt.enforcementcode.domain.entity.enterprise.AppNonEnforcementRegistration;
import com.zdxt.enforcementcode.domain.vo.ZdxtFileVo;
import com.zdxt.enforcementcode.domain.vo.enterprise.AppEnterpriseComplaintVo; import com.zdxt.enforcementcode.domain.vo.enterprise.AppEnterpriseComplaintVo;
import com.zdxt.enforcementcode.mapper.ZdxtFileMapper; import com.zdxt.enforcementcode.mapper.ZdxtFileMapper;
import com.zdxt.enforcementcode.mapper.enterprise.AppEnforcementRegistrationMapper; import com.zdxt.enforcementcode.mapper.enterprise.AppEnforcementRegistrationMapper;
@ -30,7 +31,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.Collection; import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
/** /**
* 企业执法-在线投诉Service业务层处理 * 企业执法-在线投诉Service业务层处理
@ -52,14 +55,22 @@ public class AppEnterpriseComplaintServiceImpl implements IAppEnterpriseComplain
private ZdxtFileMapper zdxtFileMapper; private ZdxtFileMapper zdxtFileMapper;
/** /**
* 查询企业执法-在线投诉 * 企业端-投诉建议详情
* *
* @param id 主键 * @param id 主键
* @return 企业执法-在线投诉 * @return 企业执法-在线投诉
*/ */
@Override @Override
public AppEnterpriseComplaintVo queryById(String id){ public AppEnterpriseComplaintVo queryById(String id){
return baseMapper.selectVoById(id); AppEnterpriseComplaintVo detail = baseMapper.selectVoById(id);
//查询附件文件
LambdaQueryWrapper<ZdxtFile> lqw = Wrappers.lambdaQuery();
lqw.eq(ZdxtFile::getBusinessId, id);
List<ZdxtFileVo> fileList = zdxtFileMapper.selectVoList(lqw);
detail.setFileList(fileList);
return detail;
} }
/** /**
@ -72,7 +83,6 @@ public class AppEnterpriseComplaintServiceImpl implements IAppEnterpriseComplain
@Override @Override
public TableDataInfo<AppEnterpriseComplaintVo> queryPageList(AppEnterpriseComplatintQueryDTO dto, PageQuery pageQuery) { public TableDataInfo<AppEnterpriseComplaintVo> queryPageList(AppEnterpriseComplatintQueryDTO dto, PageQuery pageQuery) {
LambdaQueryWrapper<AppEnterpriseComplaint> lqw = Wrappers.lambdaQuery(); LambdaQueryWrapper<AppEnterpriseComplaint> lqw = Wrappers.lambdaQuery();
lqw.orderByAsc(AppEnterpriseComplaint::getId);
lqw.eq(StringUtils.isNotBlank(dto.getRelId()), AppEnterpriseComplaint::getRelId, dto.getRelId()); lqw.eq(StringUtils.isNotBlank(dto.getRelId()), AppEnterpriseComplaint::getRelId, dto.getRelId());
Page<AppEnterpriseComplaintVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); Page<AppEnterpriseComplaintVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result); return TableDataInfo.build(result);
@ -164,4 +174,69 @@ public class AppEnterpriseComplaintServiceImpl implements IAppEnterpriseComplain
} }
return baseMapper.deleteByIds(ids) > 0; return baseMapper.deleteByIds(ids) > 0;
} }
/**
* 企业端-投诉建议查询行政和非行政未被投诉列表
* @param dto 查询条件
* @param pageQuery 分页参数
* @return 投诉建议列表
*/
@Override
public TableDataInfo<AppEnterpriseComplaintVo> getAllCheckList(AppEnterpriseComplatintQueryDTO dto, PageQuery pageQuery) {
// 构建查询条件
LambdaQueryWrapper<AppEnterpriseComplaint> lqw = Wrappers.lambdaQuery();
// 根据 relId 过滤
lqw.eq(StringUtils.isNotBlank(dto.getRelId()), AppEnterpriseComplaint::getRelId, dto.getRelId());
// 根据搜索值模糊查询(问题描述、联系人、企业名称等)
if (StringUtils.isNotBlank(dto.getSearchValue())) {
lqw.and(wrapper -> wrapper
.like(AppEnterpriseComplaint::getProblemDescription, dto.getSearchValue())
.or()
.like(AppEnterpriseComplaint::getLinkman, dto.getSearchValue())
.or()
.like(AppEnterpriseComplaint::getEnterpriseName, dto.getSearchValue())
);
}
// 根据执法类型过滤
lqw.eq(dto.getEnforceType() != null, AppEnterpriseComplaint::getEnforceType, dto.getEnforceType());
// 根据投诉类型过滤
lqw.eq(dto.getComplaintType() != null, AppEnterpriseComplaint::getComplaintType, dto.getComplaintType());
// 根据数据类型过滤(0行政 1非行政)
lqw.eq(dto.getRecordType() != null, AppEnterpriseComplaint::getRecordType, dto.getRecordType());
// 根据状态过滤
lqw.eq(dto.getStatus() != null, AppEnterpriseComplaint::getStatus, dto.getStatus());
// 按创建时间降序排列
lqw.orderByDesc(AppEnterpriseComplaint::getCreateTime);
// 执行分页查询
Page<AppEnterpriseComplaintVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
// 处理字典转换和执法人员信息(如果需要)
List<AppEnterpriseComplaintVo> records = result.getRecords();
if (records != null && !records.isEmpty()) {
records.forEach(vo -> {
// 这里可以添加字典转换逻辑
// 例如:执法类型、投诉类型等的字典值转换
// 如果有附件,查询附件列表
if (vo.getId() != null) {
LambdaQueryWrapper<ZdxtFile> fileLqw = Wrappers.lambdaQuery();
fileLqw.eq(ZdxtFile::getBusinessId, vo.getId());
List<ZdxtFileVo> fileList = zdxtFileMapper.selectVoList(fileLqw);
vo.setFileList(fileList);
}
});
}
return TableDataInfo.build(result);
}
} }

Loading…
Cancel
Save