diff --git a/doc/api.md b/doc/api.md index 3c25530..3554dd3 100644 --- a/doc/api.md +++ b/doc/api.md @@ -87,28 +87,48 @@ ### 1. 列表 - 请求地址 -`GET` `/blade-business/serverDisputeConf/getList` +`GET` `/blade-business/serverDisputeConf/getPage` - 请求参数 |参数名称|参数类型|允许为空|参数说明| | ---- | ---- | ---- | ---- | -|swId| long | N | 服务窗口ID | +|swId| long | y | 服务窗口ID | +|current| int | y | 分页参数 | +|size| int | y | 分页参数 | - 返回示例 ```json { "code": 200, "success": true, - "data": [ - { - "swId": "1666702666826436610", - "swName": "市卫健局", - "disputeIds": "1666699928344383490,1666629875083141122,1666697888226529282,1666697948918108162", - "disputeNames": "残疾人权益保障,劳动、社保纠纷,房产物业纠纷,涉法涉诉纠纷", - "status": 1 - } - ], + "data": { + "records": [ + { + "swId": "1666702140550336513", + "swName": "市法院", + "disputeIds": "1666630085796585474,1666630048345645057", + "disputeNames": "行政复议,法律援助", + "status": 1 + }, + { + "swId": "1666702666826436610", + "swName": "市卫健局", + "disputeIds": "1666699835604127746,1666697918677176322", + "disputeNames": "妇女儿童权益保护,教育纠纷", + "status": 1 + } + ], + "total": 4, + "size": 10, + "current": 1, + "orders": [], + "optimizeCountSql": true, + "searchCount": true, + "maxLimit": -1, + "countId": "", + "pages": 1 + }, "msg": "操作成功" } ``` @@ -225,34 +245,47 @@ | appealType | string | N | 诉求类型 | | windowId | string | N | 处理窗口ID | | username | string | N | 代表姓名 | +|current| int | y | 分页参数 | +|size| int | y | 分页参数 | - 返回示例 ```json { "code": 200, "success": true, - "data": [ - { - "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 - } - ], + "data": { + "records": [ + { + "id": 4, + "username": "赵文婷", + "cardno": "37234635323******", + "disputeName": "婚恋家庭纠纷", + "firstRegTime": "2023-04-27 00:00:00", + "finishTime": "2023-04-27 00:00:00", + "problemDesc": "咨询独生子女费相关问题。", + "status": 3 + }, + { + "id": "1667769416707940354", + "username": "", + "cardno": "", + "disputeName": "损害赔偿纠纷", + "firstRegTime": "2023-03-02 00:00:00", + "finishTime": "", + "problemDesc": "来访者为", + "status": 1 + } + ], + "total": 5, + "size": 10, + "current": 1, + "orders": [], + "optimizeCountSql": true, + "searchCount": true, + "maxLimit": -1, + "countId": "", + "pages": 1 + }, "msg": "操作成功" } ``` diff --git a/src/main/java/org/springblade/modules/business/controller/AppealRegController.java b/src/main/java/org/springblade/modules/business/controller/AppealRegController.java index 66334bf..54bc489 100644 --- a/src/main/java/org/springblade/modules/business/controller/AppealRegController.java +++ b/src/main/java/org/springblade/modules/business/controller/AppealRegController.java @@ -16,19 +16,26 @@ */ package org.springblade.modules.business.controller; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.github.xiaoymin.knife4j.annotations.ApiSort; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springblade.common.constant.CommonConstant; import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.excel.util.ExcelUtil; +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; import org.springblade.core.tenant.annotation.TenantDS; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.DateUtil; +import org.springblade.core.tool.utils.Func; import org.springblade.modules.business.excel.AppealExcel; import org.springblade.modules.business.service.IAppealRegService; import org.springblade.modules.business.vo.AppealListVO; import org.springblade.modules.business.vo.AppealRegVO; +import org.springblade.modules.system.vo.PostVO; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -74,6 +81,30 @@ public class AppealRegController extends BladeController { return R.data(vos); } + /** + * 自定义分页 + * + * @param query 分页参数 + * @param appealStatus 诉求状态 + * @param startTime 登记时间-开始 + * @param endTime 登记时间-结束 + * @param appealType 诉求类型 + * @param windowId 处理窗口ID + * @param username 代表姓名 + */ + @GetMapping("/getPage") + public R getPage(Query query, String appealStatus, String startTime, String endTime, String appealType, String windowId, String username) { + IPage vos = regService.getPage(Condition.getPage(query), appealStatus, startTime, endTime, appealType, windowId, username); + vos.getRecords().forEach(vo -> { + String cardNo = vo.getCardno(); + if (Func.isNotBlank(cardNo)) { + vo.setCardno(cardNo.substring(0, cardNo.length() - 6) + "******"); + } + }); + + return R.data(vos); + } + /** * 导入 diff --git a/src/main/java/org/springblade/modules/business/controller/SwDisputeConfController.java b/src/main/java/org/springblade/modules/business/controller/SwDisputeConfController.java index e53d516..41c4c40 100644 --- a/src/main/java/org/springblade/modules/business/controller/SwDisputeConfController.java +++ b/src/main/java/org/springblade/modules/business/controller/SwDisputeConfController.java @@ -3,6 +3,8 @@ package org.springblade.modules.business.controller; import lombok.AllArgsConstructor; import org.springblade.common.constant.CommonConstant; import org.springblade.core.boot.ctrl.BladeController; +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; import org.springblade.core.tenant.annotation.TenantDS; import org.springblade.core.tool.api.R; import org.springblade.modules.business.service.IServerWindowsDisputeService; @@ -32,6 +34,16 @@ public class SwDisputeConfController extends BladeController { return R.data(swDisputeService.getServerWindowList(swId)); } + /** + * 分页 + * + * @param swId 窗口id + */ + @GetMapping("/getPage") + public R getPage(Query query, Long swId) { + return R.data(swDisputeService.getPage(Condition.getPage(query), swId)); + } + /** * 获取根据id获取详情 * diff --git a/src/main/java/org/springblade/modules/business/mapper/AppealRegMapper.java b/src/main/java/org/springblade/modules/business/mapper/AppealRegMapper.java index caca6a1..0aea596 100644 --- a/src/main/java/org/springblade/modules/business/mapper/AppealRegMapper.java +++ b/src/main/java/org/springblade/modules/business/mapper/AppealRegMapper.java @@ -17,10 +17,12 @@ package org.springblade.modules.business.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import lombok.RequiredArgsConstructor; import org.apache.ibatis.annotations.Param; import org.springblade.modules.business.entity.AppealReg; import org.springblade.modules.business.vo.AppealListVO; +import org.springblade.modules.system.entity.User; import java.security.PrivateKey; import java.util.List; @@ -39,6 +41,14 @@ public interface AppealRegMapper extends BaseMapper { @Param("windowId") String windowId, @Param("username") String username); + List getPage(IPage page, + @Param("appealStatus") String appealStatus, + @Param("startTime") String startTime, + @Param("endTime") String endTime, + @Param("appealType") String appealType, + @Param("windowId") String windowId, + @Param("username") String username); + /** * 获取最后一次登记记录 * diff --git a/src/main/java/org/springblade/modules/business/mapper/AppealRegMapper.xml b/src/main/java/org/springblade/modules/business/mapper/AppealRegMapper.xml index fb9b1fe..96b7698 100644 --- a/src/main/java/org/springblade/modules/business/mapper/AppealRegMapper.xml +++ b/src/main/java/org/springblade/modules/business/mapper/AppealRegMapper.xml @@ -50,6 +50,54 @@ ORDER BY a.first_reg_time DESC + + + + update mp_server_windows_dispute set `status` = #{status} where sw_id = #{swId} diff --git a/src/main/java/org/springblade/modules/business/service/IAppealRegService.java b/src/main/java/org/springblade/modules/business/service/IAppealRegService.java index 624e2ba..5f329d8 100644 --- a/src/main/java/org/springblade/modules/business/service/IAppealRegService.java +++ b/src/main/java/org/springblade/modules/business/service/IAppealRegService.java @@ -16,16 +16,13 @@ */ package org.springblade.modules.business.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; 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.excel.AppealExcel; 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; @@ -49,6 +46,8 @@ public interface IAppealRegService extends BaseService { */ List getList(String appealStatus, String startTime, String endTime, String appealType, String windowId, String username); + IPage getPage(IPage page, String appealStatus, String startTime, String endTime, String appealType, String windowId, String username); + /** * 根据id获取诉求信息, 上一次调解记录(点击"再次调解") * diff --git a/src/main/java/org/springblade/modules/business/service/IServerWindowsDisputeService.java b/src/main/java/org/springblade/modules/business/service/IServerWindowsDisputeService.java index 1fe8bec..760d4d9 100644 --- a/src/main/java/org/springblade/modules/business/service/IServerWindowsDisputeService.java +++ b/src/main/java/org/springblade/modules/business/service/IServerWindowsDisputeService.java @@ -1,5 +1,6 @@ package org.springblade.modules.business.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import org.springblade.modules.business.entity.ServerWindowsDispute; import org.springblade.modules.business.vo.SwDisputeVO; @@ -21,6 +22,14 @@ public interface IServerWindowsDisputeService extends IService getServerWindowList(Long swId); + /** + * 获取窗口,诉求配置列表 + * + * @param swId + * @return + */ + IPage getPage(IPage page, Long swId); + /** * 获取根据id获取详情 * diff --git a/src/main/java/org/springblade/modules/business/service/impl/AppealRegServiceImpl.java b/src/main/java/org/springblade/modules/business/service/impl/AppealRegServiceImpl.java index f75c502..694a834 100644 --- a/src/main/java/org/springblade/modules/business/service/impl/AppealRegServiceImpl.java +++ b/src/main/java/org/springblade/modules/business/service/impl/AppealRegServiceImpl.java @@ -17,6 +17,7 @@ package org.springblade.modules.business.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -75,6 +76,11 @@ public class AppealRegServiceImpl extends BaseServiceImpl getPage(IPage page, String appealStatus, String startTime, String endTime, String appealType, String windowId, String username) { + return page.setRecords(baseMapper.getPage(page, appealStatus, startTime, endTime, appealType, windowId, username)); + } + @Override public AppealRegVO getById(String appealId) { AppealRegVO vo = new AppealRegVO(); diff --git a/src/main/java/org/springblade/modules/business/service/impl/LargeScreenServiceImpl.java b/src/main/java/org/springblade/modules/business/service/impl/LargeScreenServiceImpl.java index 0a10173..e66f7e7 100644 --- a/src/main/java/org/springblade/modules/business/service/impl/LargeScreenServiceImpl.java +++ b/src/main/java/org/springblade/modules/business/service/impl/LargeScreenServiceImpl.java @@ -19,29 +19,18 @@ package org.springblade.modules.business.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; import lombok.AllArgsConstructor; import org.apache.commons.lang3.StringUtils; import org.springblade.common.cache.DictBizCache; -import org.springblade.common.constant.BusinessConstant; -import org.springblade.common.enums.DictBizEnum; -import org.springblade.core.tool.utils.BeanUtil; import org.springblade.modules.business.entity.Appeal; import org.springblade.modules.business.entity.AppealVisitor; import org.springblade.modules.business.entity.DataEntity; -import org.springblade.modules.business.excel.AppealExcel; -import org.springblade.modules.business.mapper.AppealMapper; import org.springblade.modules.business.service.IAppealService; import org.springblade.modules.business.service.IAppealVisitorService; import org.springblade.modules.business.service.ILargeScreenService; import org.springblade.modules.business.utils.LocalDateTimeUtils; -import org.springblade.modules.system.entity.Dict; -import org.springblade.modules.system.entity.DictBiz; -import org.springblade.modules.system.entity.User; -import org.springblade.modules.system.service.IDictBizService; import org.springblade.modules.system.service.IUserService; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import java.text.DecimalFormat; import java.text.ParseException; diff --git a/src/main/java/org/springblade/modules/business/service/impl/ServerWindowsDisputeServiceImpl.java b/src/main/java/org/springblade/modules/business/service/impl/ServerWindowsDisputeServiceImpl.java index 8378129..fca8d29 100644 --- a/src/main/java/org/springblade/modules/business/service/impl/ServerWindowsDisputeServiceImpl.java +++ b/src/main/java/org/springblade/modules/business/service/impl/ServerWindowsDisputeServiceImpl.java @@ -1,5 +1,6 @@ package org.springblade.modules.business.service.impl; +import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.common.constant.BusinessConstant; import org.springblade.core.tool.utils.Func; import org.springblade.modules.business.dto.ServerWindowsDisputeDTO; @@ -51,6 +52,36 @@ public class ServerWindowsDisputeServiceImpl extends BaseServiceImpl getPage(IPage page, Long swId) { + List dtoList = baseMapper.getSwDisputePage(page, swId); + List voList = new ArrayList<>(); + + if (Func.isEmpty(dtoList)) { + page.setRecords(voList); + return page; + } + + Map> map = dtoList.stream().collect(Collectors.groupingBy(ServerWindowsDisputeDTO::getSwId)); + map.values().forEach(swdList -> { + ServerWindowsDisputeDTO dto = swdList.get(0); + String disputeIds = swdList.stream().map(ServerWindowsDisputeDTO::getDisputeId).map(String::valueOf).collect(Collectors.joining(",")); + String disputeNames = swdList.stream().map(ServerWindowsDisputeDTO::getDisputeName).collect(Collectors.joining(",")); + + SwDisputeVO vo = new SwDisputeVO(); + vo.setSwId(dto.getSwId()); + vo.setSwName(dto.getSwName()); + vo.setDisputeIds(disputeIds); + vo.setDisputeNames(disputeNames); + vo.setStatus(dto.getStatus()); + + voList.add(vo); + }); + + page.setRecords(voList); + return page; + } + @Override public SwDisputeVO detail(Long swId) { List dtoList = baseMapper.getSwDisputeList(swId);