诉求登记和诉求调解 相关接口声明添加

master
liuqingkun 3 years ago
parent 343ce02b6e
commit aea5a8bbd1
  1. 34
      doc/api.md
  2. 54
      src/main/java/org/springblade/modules/business/controller/AppealMediateController.java
  3. 24
      src/main/java/org/springblade/modules/business/controller/AppealRegController.java
  4. 7
      src/main/java/org/springblade/modules/business/controller/SwDisputeConfController.java
  5. 5
      src/main/java/org/springblade/modules/business/mapper/AppealRegMapper.java
  6. 47
      src/main/java/org/springblade/modules/business/mapper/AppealRegMapper.xml
  7. 2
      src/main/java/org/springblade/modules/business/mapper/ServerWindowsDisputeMapper.java
  8. 35
      src/main/java/org/springblade/modules/business/service/IAppealRegService.java
  9. 12
      src/main/java/org/springblade/modules/business/service/IServerWindowsDisputeService.java
  10. 18
      src/main/java/org/springblade/modules/business/service/impl/AppealRegServiceImpl.java
  11. 14
      src/main/java/org/springblade/modules/business/service/impl/ServerWindowsDisputeServiceImpl.java
  12. 71
      src/main/java/org/springblade/modules/business/vo/AppealListVO.java
  13. 71
      src/main/java/org/springblade/modules/business/vo/AppealMediationVO.java
  14. 71
      src/main/java/org/springblade/modules/business/vo/AppealRegVO.java
  15. 4
      src/main/java/org/springblade/modules/business/vo/SwDisputeVO.java

@ -213,7 +213,7 @@
# 诉求登记
### 1. 列表
- 请求地址
`GET` `/blade-business/appealReg/list`
`GET` `/blade-business/appealReg/getList`
- 请求参数
@ -232,15 +232,26 @@
"code": 200,
"success": true,
"data": [
{
"id": "122555646684684",
"appealUsernames": "张三(身份证号),李四(身份证号)",
"disputeName": "土地纠纷",
"firstRegTime": "2012-05-15 12:30",
"finishTime": "",
"problemDesc": "矛盾描述...........",
"status": 0
}
{
"id": 4,
"username": "赵文婷",
"cardno": "37234635323******",
"disputeName": "婚恋家庭纠纷",
"firstRegTime": "2023-04-27 00:00:00",
"finishTime": "2023-04-27 00:00:00",
"problemDesc": "咨询独生子女费相关问题。",
"status": 3
},
{
"id": 1,
"username": "庄培燕",
"cardno": "37234635323******",
"disputeName": "损害赔偿纠纷",
"firstRegTime": "2023-03-01 00:00:00",
"finishTime": "",
"problemDesc": "来访者为七旬赵大姨,因为村委长期拖欠农民征用口粮地补偿款前来信访,谈话过程中一度情绪崩溃大哭, 经调解员安抚至情绪缓和后离开咨询室。",
"status": 1
}
],
"msg": "操作成功"
}
@ -344,7 +355,7 @@
### 1. 调解记录列表(点击"调解记录")
- 请求地址
`GET` `/blade-business/appealMediate/getList`
`GET` `/blade-business/appealMediate/getMediateList`
- 请求参数
@ -427,7 +438,6 @@
}
```
### 3. 根据调解记录id获取详情, 获取 诉求信息, 本次调解记录(参数id指定的调解记录), 所有调解访谈记录列表(带id)
- 请求地址

@ -22,9 +22,17 @@ import lombok.AllArgsConstructor;
import org.springblade.common.constant.CommonConstant;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.tenant.annotation.TenantDS;
import org.springblade.core.tool.api.R;
import org.springblade.modules.business.vo.AppealListVO;
import org.springblade.modules.business.vo.AppealMediationVO;
import org.springblade.modules.business.vo.AppealRegVO;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 控制器
*
@ -38,5 +46,51 @@ import org.springframework.web.bind.annotation.RestController;
@Api(value = "诉求调解管理", tags = "诉求调解管理接口")
public class AppealMediateController extends BladeController {
/**
* 调解记录列表(点击"调解记录")
*
* @param appealId 诉求ID
* @return
*/
@GetMapping("/getMediateList")
public R getMediateList(String appealId) {
return null;
}
/**
* 根据诉求id获取最新的登记信息及所有调解访谈记录列表(点击"诉求调解")
*
* @param appealId 诉求ID
* @return
*/
@GetMapping("/getNewestReg")
public R getNewestReg(String appealId) {
return null;
}
/**
* 根据调解记录id获取详情, 获取 诉求信息, 本次调解记录(参数id指定的调解记录), 所有调解访谈记录列表(带id)
*
* @param appealId 诉求ID
* @return
*/
@GetMapping("/detail")
public R detail(String appealId) {
return null;
}
/**
* 根据调解记录id获取详情, 获取 诉求信息, 本次调解记录(参数id指定的调解记录), 所有调解访谈记录列表(带id)
*
* @param entity 诉求调解实体
* @return
*/
@GetMapping("/save")
public R save(@RequestBody AppealMediationVO entity) {
return null;
}
}

@ -23,10 +23,12 @@ import org.springblade.common.constant.CommonConstant;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.tenant.annotation.TenantDS;
import org.springblade.core.tool.api.R;
import org.springblade.modules.business.entity.AppealReg;
import org.springblade.modules.business.entity.ServerWindowsDispute;
import org.springblade.modules.business.service.IAppealRegService;
import org.springblade.modules.business.vo.AppealListVO;
import org.springblade.modules.business.vo.AppealRegVO;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
@ -42,6 +44,8 @@ import java.util.Map;
@Api(value = "诉求登记管理", tags = "诉求登记管理接口")
public class AppealRegController extends BladeController {
private final IAppealRegService regService;
/**
* 列表
*
@ -53,9 +57,17 @@ public class AppealRegController extends BladeController {
* @param username 代表姓名
* @return
*/
@GetMapping("/list")
public R list(String appealStatus, String startTime, String endTime, String appealType, String windowId, String username) {
return null;
@GetMapping("/getList")
public R getList(String appealStatus, String startTime, String endTime, String appealType, String windowId, String username) {
List<AppealListVO> vos = regService.getList(appealStatus, startTime, endTime, appealType, windowId, username);
vos.forEach(vo -> {
String cardNo = vo.getCardno();
vo.setCardno(cardNo.substring(0, cardNo.length() - 6) + "******");
});
return R.data(vos);
}
/**
@ -100,7 +112,7 @@ public class AppealRegController extends BladeController {
* 保存
*/
@PostMapping("/save")
public R save(@RequestBody Map<String, Object> entity) {
public R save(@RequestBody AppealRegVO entity) {
return null;
}
}

@ -5,9 +5,8 @@ import org.springblade.common.constant.CommonConstant;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.tenant.annotation.TenantDS;
import org.springblade.core.tool.api.R;
import org.springblade.modules.business.entity.ServerWindowsDispute;
import org.springblade.modules.business.service.IServerWindowsDisputeService;
import org.springblade.modules.business.vo.ServerWindowsDisputeVO;
import org.springblade.modules.business.vo.SwDisputeVO;
import org.springframework.web.bind.annotation.*;
/**
@ -19,7 +18,7 @@ import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping(CommonConstant.APPLICATION_NAME_BUSINESS + "/serverDisputeConf")
@AllArgsConstructor
public class ServerDisputeConfController extends BladeController {
public class SwDisputeConfController extends BladeController {
IServerWindowsDisputeService swDisputeService;
@ -47,7 +46,7 @@ public class ServerDisputeConfController extends BladeController {
* 保存
*/
@PostMapping("/save")
public R save(@RequestBody ServerWindowsDisputeVO entity) {
public R save(@RequestBody SwDisputeVO entity) {
return R.status(swDisputeService.saveEntity(entity));
}

@ -18,6 +18,9 @@ package org.springblade.modules.business.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springblade.modules.business.entity.AppealReg;
import org.springblade.modules.business.vo.AppealListVO;
import java.util.List;
/**
* Mapper 接口
@ -26,5 +29,5 @@ import org.springblade.modules.business.entity.AppealReg;
*/
public interface AppealRegMapper extends BaseMapper<AppealReg> {
List<AppealListVO> getList(String appealStatus, String startTime, String endTime, String appealType, String windowId, String username);
}

@ -2,4 +2,51 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.springblade.modules.business.mapper.AppealRegMapper">
<select id="getList" resultType="org.springblade.modules.business.vo.AppealListVO">
SELECT a.id, b.username, b.cardno, if(a.dispute_id is null, a.dispute_name, biz.dict_value) as disputeName,
a.first_reg_time as firstRegTime, a.finish_time as finishTime, a.problem_desc as problemDesc, a.`status`
FROM mp_appeal a
LEFT JOIN (
/* 先找出每个诉求的最后一次登记的第一个人 */
SELECT t3.*
FROM (
/* 找出每个诉求的最后一次登记记录 */
SELECT t.*
FROM (
SELECT *, ROW_NUMBER() OVER(PARTITION BY appeal_id
ORDER BY create_time DESC) AS row_index
FROM mp_appeal_reg reg
WHERE 1 = 1
) t
WHERE t.row_index = 1
) t2
LEFT JOIN (
/* 找出每次登记的第一张用户 */
SELECT *
FROM mp_appeal_visitor vis
WHERE vis.sort = 1
)t3 ON t2.id = t3.appeal_reg_id
) b ON a.id = b.appeal_id
LEFT JOIN blade_dict_biz biz ON a.dispute_id = biz.id
WHERE a.source_type = 0
<if test="appealStatus != null and appealStatus != ''">
and a.status = #{appealStatus}
</if>
<if test="startTime != null and startTime != ''">
and a.first_reg_time &gt; #{startTime}
</if>
<if test="endTime != null and endTime != ''">
and a.first_reg_time &lt; #{endTime}
</if>
<if test="appealType != null and appealType != ''">
and a.dispute_id = #{appealType}
</if>
<if test="windowId != null and windowId != ''">
and a.handle_dept = #{windowId}
</if>
<if test="username != null and username != ''">
and b.username like concat(concat('%', #{username}), '%')
</if>
ORDER BY a.first_reg_time DESC
</select>
</mapper>

@ -20,10 +20,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.springblade.modules.business.dto.ServerWindowsDisputeDTO;
import org.springblade.modules.business.entity.ServerWindowsDispute;
import org.springblade.modules.business.vo.ServerWindowsDisputeVO;
import java.util.List;
import java.util.Map;
/**
* Mapper 接口

@ -17,13 +17,46 @@
package org.springblade.modules.business.service;
import org.springblade.core.mp.base.BaseService;
import org.springblade.core.tool.api.R;
import org.springblade.modules.business.entity.AppealReg;
import org.springblade.modules.business.vo.AppealListVO;
import org.springblade.modules.business.vo.AppealRegVO;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
/**
* 服务类
* 服务类
*
* @author BladeX
*/
public interface IAppealRegService extends BaseService<AppealReg> {
/**
* 列表
*
* @param appealStatus 诉求状态
* @param startTime 登记时间-开始
* @param endTime 登记时间-结束
* @param appealType 诉求类型
* @param windowId 处理窗口ID
* @param username 代表姓名
* @return
*/
List<AppealListVO> getList(String appealStatus, String startTime, String endTime, String appealType, String windowId, String username);
/**
* 根据id获取诉求信息, 上一次调解记录(点击"再次调解")
*
* @param appealId 诉求id
* @return
*/
AppealRegVO getById(String appealId);
/**
* 保存
*/
boolean save(AppealRegVO entity);
}

@ -1,12 +1,8 @@
package org.springblade.modules.business.service;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springblade.core.tool.api.R;
import org.springblade.modules.business.entity.ServerWindowsDispute;
import org.springblade.modules.business.vo.ServerWindowsDisputeVO;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springblade.modules.business.vo.SwDisputeVO;
import java.util.List;
@ -23,19 +19,19 @@ public interface IServerWindowsDisputeService extends IService<ServerWindowsDisp
* @param swId
* @return
*/
List<ServerWindowsDisputeVO> getServerWindowList(Long swId);
List<SwDisputeVO> getServerWindowList(Long swId);
/**
* 获取根据id获取详情
*
* @param swId 窗口id
*/
ServerWindowsDisputeVO detail(Long swId);
SwDisputeVO detail(Long swId);
/**
* 保存
*/
boolean saveEntity(ServerWindowsDisputeVO vo);
boolean saveEntity(SwDisputeVO vo);
/**
* 禁用/启用

@ -20,8 +20,12 @@ import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.modules.business.entity.AppealReg;
import org.springblade.modules.business.mapper.AppealRegMapper;
import org.springblade.modules.business.service.IAppealRegService;
import org.springblade.modules.business.vo.AppealListVO;
import org.springblade.modules.business.vo.AppealRegVO;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 服务实现类
*
@ -30,4 +34,18 @@ import org.springframework.stereotype.Service;
@Service
public class AppealRegServiceImpl extends BaseServiceImpl<AppealRegMapper, AppealReg> implements IAppealRegService {
@Override
public List<AppealListVO> getList(String appealStatus, String startTime, String endTime, String appealType, String windowId, String username) {
return baseMapper.getList(appealStatus, startTime, endTime, appealType, windowId, username);
}
@Override
public AppealRegVO getById(String appealId) {
return null;
}
@Override
public boolean save(AppealRegVO entity) {
return false;
}
}

@ -7,7 +7,7 @@ import org.springblade.modules.business.entity.ServerWindowsDispute;
import org.springblade.modules.business.mapper.ServerWindowsDisputeMapper;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.modules.business.service.IServerWindowsDisputeService;
import org.springblade.modules.business.vo.ServerWindowsDisputeVO;
import org.springblade.modules.business.vo.SwDisputeVO;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
@ -24,9 +24,9 @@ import java.util.stream.Collectors;
public class ServerWindowsDisputeServiceImpl extends BaseServiceImpl<ServerWindowsDisputeMapper, ServerWindowsDispute> implements IServerWindowsDisputeService {
@Override
public List<ServerWindowsDisputeVO> getServerWindowList(Long swId) {
public List<SwDisputeVO> getServerWindowList(Long swId) {
List<ServerWindowsDisputeDTO> dtoList = baseMapper.getSwDisputeList(swId);
List<ServerWindowsDisputeVO> voList = new ArrayList<>();
List<SwDisputeVO> voList = new ArrayList<>();
if (Func.isEmpty(dtoList)) {
return voList;
@ -38,7 +38,7 @@ public class ServerWindowsDisputeServiceImpl extends BaseServiceImpl<ServerWindo
String disputeIds = swdList.stream().map(ServerWindowsDisputeDTO::getDisputeId).map(String::valueOf).collect(Collectors.joining(","));
String disputeNames = swdList.stream().map(ServerWindowsDisputeDTO::getDisputeName).collect(Collectors.joining(","));
ServerWindowsDisputeVO vo = new ServerWindowsDisputeVO();
SwDisputeVO vo = new SwDisputeVO();
vo.setSwId(dto.getSwId());
vo.setSwName(dto.getSwName());
vo.setDisputeIds(disputeIds);
@ -52,7 +52,7 @@ public class ServerWindowsDisputeServiceImpl extends BaseServiceImpl<ServerWindo
}
@Override
public ServerWindowsDisputeVO detail(Long swId) {
public SwDisputeVO detail(Long swId) {
List<ServerWindowsDisputeDTO> dtoList = baseMapper.getSwDisputeList(swId);
if (Func.isEmpty(dtoList)) {
return null;
@ -62,7 +62,7 @@ public class ServerWindowsDisputeServiceImpl extends BaseServiceImpl<ServerWindo
String disputeIds = dtoList.stream().map(ServerWindowsDisputeDTO::getDisputeId).map(String::valueOf).collect(Collectors.joining(","));
String disputeNames = dtoList.stream().map(ServerWindowsDisputeDTO::getDisputeName).collect(Collectors.joining(","));
ServerWindowsDisputeVO vo = new ServerWindowsDisputeVO();
SwDisputeVO vo = new SwDisputeVO();
vo.setSwId(dto.getSwId());
vo.setSwName(dto.getSwName());
vo.setDisputeIds(disputeIds);
@ -72,7 +72,7 @@ public class ServerWindowsDisputeServiceImpl extends BaseServiceImpl<ServerWindo
}
@Override
public boolean saveEntity(ServerWindowsDisputeVO vo) {
public boolean saveEntity(SwDisputeVO vo) {
if (Func.isEmpty(vo.getDisputeIds())) {
return false;
}

@ -0,0 +1,71 @@
/*
* Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the dreamlu.net developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: Chill 庄骞 (smallchill@163.com)
*/
package org.springblade.modules.business.vo;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 视图类
*
* @author Chill
*/
@Data
public class AppealListVO implements Serializable {
private static final long serialVersionUID = 1L;
private Long id;
/**
* 来访人名称
*/
private String username;
/**
* 来访人身份证号
*/
private String cardno;
/**
* 纠纷名称
*/
private String disputeName;
/**
* 首次登记时间
*/
private Date firstRegTime;
/**
* 办结时间
*/
private Date finishTime;
/**
* 反应问题
*/
private String problemDesc;
/**
* 诉求状态(办理状态) 0:待处理, 1:正在处理, 2:达成协议, 3:调解成功
*/
private int status;
}

@ -0,0 +1,71 @@
/*
* Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the dreamlu.net developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: Chill 庄骞 (smallchill@163.com)
*/
package org.springblade.modules.business.vo;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 视图类
*
* @author Chill
*/
@Data
public class AppealMediationVO implements Serializable {
private static final long serialVersionUID = 1L;
private Long id;
/**
* 来访人名称
*/
private String username;
/**
* 来访人身份证号
*/
private String cardno;
/**
* 纠纷名称
*/
private String disputeName;
/**
* 首次登记时间
*/
private Date firstRegTime;
/**
* 办结时间
*/
private Date finishTime;
/**
* 反应问题
*/
private String problemDesc;
/**
* 诉求状态(办理状态) 0:待处理, 1:正在处理, 2:达成协议, 3:调解成功
*/
private int status;
}

@ -0,0 +1,71 @@
/*
* Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the dreamlu.net developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: Chill 庄骞 (smallchill@163.com)
*/
package org.springblade.modules.business.vo;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 视图类
*
* @author Chill
*/
@Data
public class AppealRegVO implements Serializable {
private static final long serialVersionUID = 1L;
private Long id;
/**
* 来访人名称
*/
private String username;
/**
* 来访人身份证号
*/
private String cardno;
/**
* 纠纷名称
*/
private String disputeName;
/**
* 首次登记时间
*/
private Date firstRegTime;
/**
* 办结时间
*/
private Date finishTime;
/**
* 反应问题
*/
private String problemDesc;
/**
* 诉求状态(办理状态) 0:待处理, 1:正在处理, 2:达成协议, 3:调解成功
*/
private int status;
}

@ -21,13 +21,13 @@ import lombok.Data;
import java.io.Serializable;
/**
* 服务窗口-纠纷关联表
* 视图类
*
* @author Chill
*/
@Data
public class ServerWindowsDisputeVO implements Serializable {
public class SwDisputeVO implements Serializable {
private static final long serialVersionUID = 1L;
Loading…
Cancel
Save