From 6a7d7fc5e02d39722cb31549f865da8b06f80632 Mon Sep 17 00:00:00 2001
From: CeDo <cedoogle@gmail.com>
Date: 星期一, 07 六月 2021 20:51:26 +0800
Subject: [PATCH] bugfixed
---
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventServiceImpl.java | 822 +++++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 634 insertions(+), 188 deletions(-)
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventServiceImpl.java
index 697f16d..671f635 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventServiceImpl.java
@@ -11,14 +11,13 @@
import com.panzhihua.common.model.dtos.grid.*;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.ComActVO;
-import com.panzhihua.common.model.vos.grid.EventDetailsVO;
-import com.panzhihua.common.model.vos.grid.EventResourceVO;
-import com.panzhihua.common.model.vos.grid.EventTransferRecordVO;
-import com.panzhihua.common.model.vos.grid.EventVO;
+import com.panzhihua.common.model.vos.grid.*;
import com.panzhihua.common.service.community.CommunityService;
+import com.panzhihua.common.utlis.LngLatUtils;
import com.panzhihua.common.utlis.StringUtils;
import com.panzhihua.service_grid.dao.*;
import com.panzhihua.service_grid.model.dos.*;
+import com.panzhihua.service_grid.service.EventGridDataService;
import com.panzhihua.service_grid.service.EventResourceService;
import com.panzhihua.service_grid.service.EventService;
import com.panzhihua.service_grid.service.EventTransferRecordService;
@@ -54,23 +53,26 @@
private EventGridDataMapper eventGridDataMapper;
@Resource
private EventGridMemberRelationMapper eventGridMemberRelationMapper;
+ @Resource
+ private EventGridDataService eventGridDataService;
/**
* 分页查找事件
+ *
* @param pageEventDTO
* @return 维护结果
*/
@Override
- public R<IPage<EventVO>> query(PageEventDTO pageEventDTO){
- Page page = new Page(1,10);
- if(pageEventDTO.getPageNum()!=null) {
+ public R<IPage<EventVO>> query(PageEventDTO pageEventDTO) {
+ Page page = new Page(1, 10);
+ if (pageEventDTO.getPageNum() != null) {
page.setCurrent(pageEventDTO.getPageNum());
}
- if(pageEventDTO.getPageSize()!=null) {
+ if (pageEventDTO.getPageSize() != null) {
page.setSize(pageEventDTO.getPageSize());
}
IPage<EventVO> ipage = eventMapper.findByPage(page, pageEventDTO);
- if(ipage!=null){
+ if (ipage != null) {
List<EventVO> eventVOList = ipage.getRecords();
eventVOList.forEach(eventVO -> {
List<EventResourceDO> eventResourceDOList =
@@ -82,7 +84,7 @@
List<EventResourceVO> audioList = new ArrayList<>();
List<EventResourceVO> videoList = new ArrayList<>();
eventResourceDOList.forEach(eventResourceDO -> {
- switch (eventResourceDO.getType()){
+ switch (eventResourceDO.getType()) {
case 1:
EventResourceVO picEventResourceVO = new EventResourceVO();
BeanUtils.copyProperties(eventResourceDO, picEventResourceVO);
@@ -106,7 +108,7 @@
//查询网格员头像
String imageUrl = eventMapper.getGridMemberImageUrl(eventVO.getGridMemberId());
- if(StringUtils.isNotEmpty(imageUrl)){
+ if (StringUtils.isNotEmpty(imageUrl)) {
eventVO.setGridMemberImageUrl(imageUrl);
}
});
@@ -117,38 +119,40 @@
/**
* 删除事件
+ *
* @param commonEventDeleteDTO
* @return 平台用户信息
*/
@Override
- public R delete(CommonEventDeleteDTO commonEventDeleteDTO){
+ public R delete(CommonEventDeleteDTO commonEventDeleteDTO) {
EventDO eventDO = eventMapper.selectById(commonEventDeleteDTO.getId());
- if(eventDO==null){
+ if (eventDO == null) {
return R.fail("事件不存在");
}
- if(eventDO.getEventStatus()!=null &&
- (eventDO.getEventStatus().intValue()==1||eventDO.getEventStatus().intValue()==4)){//草稿 或者 已撤销 的事件可以删除
+ if (eventDO.getEventStatus() != null &&
+ (eventDO.getEventStatus().intValue() == 1 || eventDO.getEventStatus().intValue() == 4)) {//草稿 或者 已撤销 的事件可以删除
eventDO.setEventStatus(3);//逻辑删除
eventDO.setUpdateBy(commonEventDeleteDTO.getUserId());
int updated = this.getBaseMapper().updateById(eventDO);
- return updated==1?R.ok():R.fail();
+ return updated == 1 ? R.ok() : R.fail();
}
return R.fail("事件不是草稿/已撤销/无效状态, 不允许删除");
}
/**
* 查询事件详细信息
+ *
* @param id 事件 id
* @return 查找结果
*/
@Override
- public R<EventDetailsVO> eventDetails(Long id){
+ public R<EventDetailsVO> eventDetails(Long id) {
EventDO eventDO = eventMapper.selectById(id);
- if(eventDO!=null) {
+ if (eventDO != null) {
EventDetailsVO eventDetailsVO = new EventDetailsVO();
BeanUtils.copyProperties(eventDO, eventDetailsVO);
EventGridDataDO eventGridDataDO = eventGridDataMapper.selectById(eventDO.getGridId());
- if(eventGridDataDO!=null) {
+ if (eventGridDataDO != null) {
eventDetailsVO.setGridName(eventGridDataDO.getGridName());
}
@@ -162,7 +166,7 @@
List<EventResourceVO> audioList = new ArrayList<>();
List<EventResourceVO> videoList = new ArrayList<>();
eventResourceDOList.forEach(eventResourceDO -> {
- switch (eventResourceDO.getType()){
+ switch (eventResourceDO.getType()) {
case 1:
EventResourceVO picEventResourceVO = new EventResourceVO();
BeanUtils.copyProperties(eventResourceDO, picEventResourceVO);
@@ -185,7 +189,6 @@
eventDetailsVO.setVideos(videoList);
-
//查询事件流转记录
List<EventTransferRecordDO> eventTransferRecordDOList = eventTransferRecordService.getBaseMapper()
.selectList(new LambdaQueryWrapper<EventTransferRecordDO>()
@@ -206,7 +209,7 @@
List<EventResourceVO> transferAudioList = new ArrayList<>();
List<EventResourceVO> transferVideoList = new ArrayList<>();
eventTransferResourceDOList.forEach(eventResourceDO -> {
- switch (eventResourceDO.getType()){
+ switch (eventResourceDO.getType()) {
case 1:
EventResourceVO picEventResourceVO = new EventResourceVO();
BeanUtils.copyProperties(eventResourceDO, picEventResourceVO);
@@ -233,7 +236,7 @@
//查询事件发布人头像
String imageUrl = eventMapper.getGridMemberImageUrl(eventDO.getGridMemberId());
- if(StringUtils.isNotEmpty(imageUrl)){
+ if (StringUtils.isNotEmpty(imageUrl)) {
eventDetailsVO.setGridMemberImageUrl(imageUrl);
}
@@ -247,14 +250,14 @@
public R addCommon(CommonEventAddDTO commonEventAddDTO) {
EventDO eventDO = new EventDO();
BeanUtils.copyProperties(commonEventAddDTO, eventDO);
- if(commonEventAddDTO instanceof CommonEventCommunityAddDTO) {
- CommonEventCommunityAddDTO commonEventCommunityAddDTO = (CommonEventCommunityAddDTO)commonEventAddDTO;
+ if (commonEventAddDTO instanceof CommonEventCommunityAddDTO) {
+ CommonEventCommunityAddDTO commonEventCommunityAddDTO = (CommonEventCommunityAddDTO) commonEventAddDTO;
eventDO.setGridMemberId(commonEventCommunityAddDTO.getGridMemberId());
- }else{
+ } else {
eventDO.setGridMemberId(commonEventAddDTO.getUserId());
}
EventGridDataDO eventGridDataDO = eventGridDataMapper.selectById(commonEventAddDTO.getGridId());
- if(eventGridDataDO==null){
+ if (eventGridDataDO == null) {
return R.fail("网格不存在");
}
eventDO.setEventCategory(1l);//办件事件
@@ -267,9 +270,9 @@
eventDO.setCreateBy(commonEventAddDTO.getUserId());
eventDO.setSubmitDate(new Date());
eventDO.setOrderSn(getEventOrderSn(eventDO.getEventType()));
- if(eventMapper.insert(eventDO)==1){
+ if (eventMapper.insert(eventDO) == 1) {
//添加音频
- if(StringUtils.isNotEmpty(commonEventAddDTO.getAudio())){
+ if (StringUtils.isNotEmpty(commonEventAddDTO.getAudio())) {
EventResourceDO eventResourceDO = new EventResourceDO();
eventResourceDO.setClassification(1);
eventResourceDO.setType(2);
@@ -278,12 +281,12 @@
eventResourceDO.setCreateBy(commonEventAddDTO.getUserId());
eventResourceDO.setResourceTime(commonEventAddDTO.getAudioTime());
int audioAdd = eventResourceService.getBaseMapper().insert(eventResourceDO);
- if(audioAdd!=1){
+ if (audioAdd != 1) {
throw new ServiceException("添加音频失败");
}
}
//添加视频
- if(StringUtils.isNotEmpty(commonEventAddDTO.getVideo())){
+ if (StringUtils.isNotEmpty(commonEventAddDTO.getVideo())) {
EventResourceDO eventResourceDO = new EventResourceDO();
eventResourceDO.setClassification(1);
eventResourceDO.setType(3);
@@ -292,12 +295,12 @@
eventResourceDO.setCreateBy(commonEventAddDTO.getUserId());
eventResourceDO.setResourceTime(commonEventAddDTO.getVideoTime());
int videoAdd = eventResourceService.getBaseMapper().insert(eventResourceDO);
- if(videoAdd!=1){
+ if (videoAdd != 1) {
throw new ServiceException("添加视频失败");
}
}
//添加图片
- if(StringUtils.isNotEmpty(commonEventAddDTO.getPics())){
+ if (StringUtils.isNotEmpty(commonEventAddDTO.getPics())) {
String[] pica = commonEventAddDTO.getPics().split(",");
for (int i = 0; i < pica.length; i++) {
EventResourceDO eventResourceDO = new EventResourceDO();
@@ -307,7 +310,7 @@
eventResourceDO.setRefId(eventDO.getId());
eventResourceDO.setCreateBy(commonEventAddDTO.getUserId());
int picAdd = eventResourceService.getBaseMapper().insert(eventResourceDO);
- if(picAdd!=1){
+ if (picAdd != 1) {
throw new ServiceException("添加图片失败");
}
}
@@ -322,10 +325,10 @@
@Transactional(rollbackFor = Exception.class)
public R saveDraft(CommonEventEditDTO commonEventEditDTO) {
EventGridDataDO eventGridDataDO = eventGridDataMapper.selectById(commonEventEditDTO.getGridId());
- if(eventGridDataDO==null){
+ if (eventGridDataDO == null) {
return R.fail("网格不存在");
}
- if(commonEventEditDTO.getId()==null) {
+ if (commonEventEditDTO.getId() == null) {
EventDO eventDO = new EventDO();
BeanUtils.copyProperties(commonEventEditDTO, eventDO);
eventDO.setGridMemberId(commonEventEditDTO.getUserId());
@@ -386,11 +389,11 @@
return R.ok();
}
return R.fail();
- }else{
+ } else {
//编辑原来的
EventDO eventDO = eventMapper.selectById(commonEventEditDTO.getId());
- if(eventDO.getEventStatus()!=null && eventDO.getEventStatus()!=1){
- return R.fail("保存草稿失败,事件不是草稿状态");
+ if (eventDO.getEventStatus() != null && eventDO.getEventStatus() != 1 && eventDO.getEventDealStatus() != 6) {
+ return R.fail("保存草稿失败,事件不是草稿/已撤销状态");
}
BeanUtils.copyProperties(commonEventEditDTO, eventDO);
eventDO.setGridMemberId(commonEventEditDTO.getUserId());
@@ -403,7 +406,7 @@
if (eventMapper.updateById(eventDO) > 0) {
int deleted = eventResourceService.getBaseMapper()
.delete(new LambdaQueryWrapper<EventResourceDO>()
- .eq(EventResourceDO::getClassification,1)
+ .eq(EventResourceDO::getClassification, 1)
.eq(EventResourceDO::getRefId, eventDO.getId()));
//添加音频
if (StringUtils.isNotEmpty(commonEventEditDTO.getAudio())) {
@@ -459,22 +462,22 @@
@Transactional(rollbackFor = Exception.class)
public R report(CommonEventReportDTO commonEventReportDTO) {
EventDO eventDO = this.getBaseMapper().selectById(commonEventReportDTO.getEventId());
- if(eventDO==null){
+ if (eventDO == null) {
return R.fail("事件不存在");
}
- if(eventDO.getEventStatus()!=2){
+ if (eventDO.getEventStatus() != 2) {
return R.fail("当前事件不能上报社区");
}
- if(eventDO.getProcessType()==2){
+ if (eventDO.getProcessType() == 2) {
return R.fail("当前事件已交由社区处理");
}
- R r = communityService.detailCommunity(commonEventReportDTO.getToId());
- if(!R.isOk(r)){
+ R r = communityService.detailCommunity(commonEventReportDTO.getToId());
+ if (!R.isOk(r)) {
return R.fail("社区不存在");
}
- ComActVO comActVO= JSONObject.parseObject(JSONObject.toJSONString(r.getData()),ComActVO.class);
- if(comActVO==null){
+ ComActVO comActVO = JSONObject.parseObject(JSONObject.toJSONString(r.getData()), ComActVO.class);
+ if (comActVO == null) {
return R.fail("社区不存在");
}
eventDO.setCommunityProcess(1); //社区处理
@@ -484,10 +487,11 @@
eventDO.setUpdateBy(commonEventReportDTO.getUserId());
eventDO.setSubmitDate(new Date());
int updated = this.getBaseMapper().updateById(eventDO);
- if(updated!=1){
+ if (updated != 1) {
throw new ServiceException("更新突发事件状态更新失败");
}
- addTransferRecord(eventDO.getId(), commonEventReportDTO.getToId(), comActVO.getName(), 2, commonEventReportDTO.getProcessResult());
+ addTransferRecord(eventDO.getId(), commonEventReportDTO.getToId(), comActVO.getName(), 2, commonEventReportDTO.getProcessResult(),
+ commonEventReportDTO.getUserId(), commonEventReportDTO.getUserName(), 2);
return R.ok();
}
@@ -496,16 +500,15 @@
@Transactional(rollbackFor = Exception.class)
public R emergenciesRevoke(EventRevokeDTO eventRevokeDTO) {
EventDO eventDO = this.getBaseMapper().selectById(eventRevokeDTO.getId());
- if(eventDO==null){
+ if (eventDO == null) {
return R.fail("事件不存在");
}
- boolean canRevoke = eventDO.getEventStatus()==2; //发布状态
- if(!canRevoke){
- return R.fail("当前事件不允许撤销");
+ boolean canRevoke = eventDO.getEventStatus() == 2; //发布状态
+ if (!canRevoke) {
+ return R.fail("当前事件不允许·");
}
- if(eventDO.getEventCategory()!=null && eventDO.getEventCategory().intValue()==2){//宣传教育事件
- //不做验证
- }else if(eventDO.getEventProcessStatus()==2 ||eventDO.getEventProcessStatus()==3) { //已解决 或者 待验证 不允许撤销
+ Integer eventProcessStatus = eventDO.getEventProcessStatus() != null ? eventDO.getEventProcessStatus() : -1;
+ if (eventProcessStatus == 2 || eventProcessStatus == 3) { //已解决 或者 待验证 不允许撤销
return R.fail("当前事件不允许撤销");
}
eventDO.setEventStatus(4);
@@ -513,8 +516,9 @@
eventDO.setProcessType(1);//网格员处理
eventDO.setCommunityProcess(0);//非 社区处理
int updated = this.getBaseMapper().updateById(eventDO);
- if(updated == 1){
- addTransferRecord(eventDO.getId(), eventRevokeDTO.getUserId(), eventRevokeDTO.getUserName(), 1,"撤销成功");
+ if (updated == 1) {
+ addTransferRecord(eventDO.getId(), eventRevokeDTO.getUserId(), eventRevokeDTO.getUserName(),
+ 1, "撤销成功", eventRevokeDTO.getUserId(), eventRevokeDTO.getUserName(), 7);
return R.ok();
}
return R.fail();
@@ -527,12 +531,12 @@
if (eventDO == null) {
return R.fail("事件不存在");
}
- boolean canDealByUser = eventDO.getEventStatus()==2 && eventDO.getEventProcessStatus()==1;
- if(!canDealByUser){
- if(eventDO.getEventStatus()!=2){
+ boolean canDealByUser = eventDO.getEventStatus() == 2 && eventDO.getEventProcessStatus() == 1;
+ if (!canDealByUser) {
+ if (eventDO.getEventStatus() != 2) {
return R.fail("事件不是发布状态");
}
- if(eventDO.getEventProcessStatus()!=1){
+ if (eventDO.getEventProcessStatus() != 1) {
return R.fail("事件不是待处理状态");
}
return R.fail("事件当前不可自处理");
@@ -548,14 +552,20 @@
eventDO.setProcessDesc(commonEventDealDTO.getProcessResult());
int updated = this.getBaseMapper().updateById(eventDO);
- if(updated!=1){
+ if (updated != 1) {
return R.fail("更新事件状态失败");
}
+ Integer processType = -1;
+ if (eventDO.getInvalid() != null) {
+ processType = 5;
+ } else {
+ processType = 1;
+ }
EventTransferRecordDO transferRecordDO =
- addTransferRecord(eventDO.getId(), commonEventDealDTO.getUserId(), commonEventDealDTO.getUserName(),1, "网格员自处理完成");
- if(transferRecordDO!=null && transferRecordDO.getId()!=null){
+ addTransferRecord(eventDO.getId(), commonEventDealDTO.getUserId(), commonEventDealDTO.getUserName(), 1, "网格员自处理完成", commonEventDealDTO.getUserId(), commonEventDealDTO.getUserName(), processType);
+ if (transferRecordDO != null && transferRecordDO.getId() != null) {
//添加音频
- if(StringUtils.isNotEmpty(commonEventDealDTO.getAudio())){
+ if (StringUtils.isNotEmpty(commonEventDealDTO.getAudio())) {
EventResourceDO eventResourceDO = new EventResourceDO();
eventResourceDO.setClassification(3);
eventResourceDO.setType(2);
@@ -564,12 +574,12 @@
eventResourceDO.setCreateBy(commonEventDealDTO.getUserId());
eventResourceDO.setResourceTime(commonEventDealDTO.getAudioTime());
int audioAdd = eventResourceService.getBaseMapper().insert(eventResourceDO);
- if(audioAdd!=1){
+ if (audioAdd != 1) {
throw new ServiceException("添加音频失败");
}
}
//添加视频
- if(StringUtils.isNotEmpty(commonEventDealDTO.getVideo())){
+ if (StringUtils.isNotEmpty(commonEventDealDTO.getVideo())) {
EventResourceDO eventResourceDO = new EventResourceDO();
eventResourceDO.setClassification(3);
eventResourceDO.setType(3);
@@ -578,12 +588,12 @@
eventResourceDO.setCreateBy(commonEventDealDTO.getUserId());
eventResourceDO.setResourceTime(commonEventDealDTO.getVideoTime());
int videoAdd = eventResourceService.getBaseMapper().insert(eventResourceDO);
- if(videoAdd!=1){
+ if (videoAdd != 1) {
throw new ServiceException("添加视频失败");
}
}
//添加图片
- if(StringUtils.isNotEmpty(commonEventDealDTO.getPics())){
+ if (StringUtils.isNotEmpty(commonEventDealDTO.getPics())) {
String[] pica = commonEventDealDTO.getPics().split(",");
for (int i = 0; i < pica.length; i++) {
EventResourceDO eventResourceDO = new EventResourceDO();
@@ -593,7 +603,7 @@
eventResourceDO.setRefId(transferRecordDO.getId());
eventResourceDO.setCreateBy(commonEventDealDTO.getUserId());
int picAdd = eventResourceService.getBaseMapper().insert(eventResourceDO);
- if(picAdd!=1){
+ if (picAdd != 1) {
throw new ServiceException("添加图片失败");
}
}
@@ -603,12 +613,12 @@
EventDO eventDOToUpdate = this.getBaseMapper().selectById(commonEventDealDTO.getId());
eventDOToUpdate.setProcessRecordId(transferRecordId);
int transferRecordUpdated = this.getBaseMapper().updateById(eventDOToUpdate);
- if(transferRecordUpdated!=1){
+ if (transferRecordUpdated != 1) {
throw new ServiceException("更新事件处理流程失败");
}
return R.ok();
- }else{
+ } else {
throw new ServiceException("处理事件记录出错");
}
}
@@ -617,31 +627,32 @@
@Override
public R verifyEvent(CommonEventVerifyDTO commonEventVerifyDTO) {
EventDO eventDO = this.getBaseMapper().selectById(commonEventVerifyDTO.getId());
- boolean canVerifyByUser = eventDO.getEventProcessStatus()==3;
- if(!canVerifyByUser){
+ boolean canVerifyByUser = eventDO.getEventProcessStatus() == 3;
+ if (!canVerifyByUser) {
return R.fail("当前不是待验证状态");
}
- boolean processTypeRight = eventDO.getProcessType()==1;
- if(!processTypeRight){
+ boolean processTypeRight = eventDO.getProcessType() == 1;
+ if (!processTypeRight) {
return R.fail("当前处理对象不是网格员");
}
eventDO.setEventProcessStatus(2);//2已解决
eventDO.setUpdateBy(commonEventVerifyDTO.getUserId());
int updated = this.getBaseMapper().updateById(eventDO);
- if(updated!=1){
+ if (updated != 1) {
return R.fail("更新事件状态失败");
}
- addTransferRecord(eventDO.getId(), commonEventVerifyDTO.getUserId(), commonEventVerifyDTO.getUserName(), 1, commonEventVerifyDTO.getProcessResult());
+ addTransferRecord(eventDO.getId(), commonEventVerifyDTO.getUserId(), commonEventVerifyDTO.getUserName(), 1, commonEventVerifyDTO.getProcessResult(),
+ commonEventVerifyDTO.getUserId(), commonEventVerifyDTO.getUserName(), 6);
return R.ok();
}
@Override
public R republishEvent(CommonEventRepublishDTO commonEventRepublishDTO) {
EventDO eventDO = this.getBaseMapper().selectById(commonEventRepublishDTO.getId());
- boolean canRepublishByUser = eventDO.getEventStatus()==4;
- if(!canRepublishByUser){
- return R.fail("当前不是撤销状态");
+ boolean canRepublishByUser = eventDO.getEventStatus() == 4 || eventDO.getEventStatus() == 1;
+ if (!canRepublishByUser) {
+ return R.fail("当前不是撤销/草稿状态");
}
eventDO.setEventStatus(2);//2 发布
@@ -649,10 +660,11 @@
eventDO.setProcessType(1); //网格员处理
eventDO.setUpdateBy(commonEventRepublishDTO.getUserId());
int updated = this.getBaseMapper().updateById(eventDO);
- if(updated!=1){
+ if (updated != 1) {
return R.fail("更新事件状态失败");
}
- addTransferRecord(eventDO.getId(), commonEventRepublishDTO.getUserId(), commonEventRepublishDTO.getUserName(), 1, "重新发布已撤销事件");
+ addTransferRecord(eventDO.getId(), commonEventRepublishDTO.getUserId(), commonEventRepublishDTO.getUserName(), 1,
+ "重新发布已撤销事件", commonEventRepublishDTO.getUserId(), commonEventRepublishDTO.getUserName(), 8);
return R.ok();
}
@@ -660,8 +672,8 @@
@Transactional(rollbackFor = Exception.class)
public R draftRelease(CommonEventPublicDTO commonEventPublicDTO) {
EventDO eventDO = this.getBaseMapper().selectById(commonEventPublicDTO.getId());
- boolean draftCanRelease = eventDO.getEventStatus()==1;
- if(!draftCanRelease){
+ boolean draftCanRelease = eventDO.getEventStatus() == 1;
+ if (!draftCanRelease) {
return R.fail("当前不是草稿状态");
}
eventDO.setOrderSn(getEventOrderSn(eventDO.getEventType()));
@@ -671,7 +683,7 @@
eventDO.setEventProcessStatus(1);//待处理
eventDO.setUpdateBy(commonEventPublicDTO.getUserId());
int updated = this.getBaseMapper().updateById(eventDO);
- if(updated!=1){
+ if (updated != 1) {
return R.fail("更新事件状态失败");
}
addReleaseRecord(eventDO.getId(), commonEventPublicDTO.getUserId(), commonEventPublicDTO.getUserName());
@@ -680,28 +692,29 @@
/**
* 生成服务单号
+ *
* @param eventType 事件类型,宣传事件默认为20
* @return
*/
private String getEventOrderSn(Integer eventType) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd");
- if(eventType==null){
- eventType = 20;
+ if (eventType == null) {
+ eventType = 20;
}
String pre = String.format(simpleDateFormat.format(new Date()) + "%02d", eventType);
Integer todayCount = this.getBaseMapper().selectCount(new LambdaQueryWrapper<EventDO>().likeRight(EventDO::getOrderSn, pre));
- String orderSn = String.format(pre + "%04d", todayCount+1);
+ String orderSn = String.format(pre + "%04d", todayCount + 1);
return orderSn;
}
@Override
public R saveSpecialDraft(SpecialEventEditDTO specialEventEditDTO) {
EventGridDataDO eventGridDataDO = eventGridDataMapper.selectById(specialEventEditDTO.getGridId());
- if(eventGridDataDO==null){
+ if (eventGridDataDO == null) {
return R.fail("网格不存在");
}
R rtVal = R.fail();
- if(specialEventEditDTO.getId()==null) {
+ if (specialEventEditDTO.getId() == null) {
EventDO eventDO = new EventDO();
BeanUtils.copyProperties(specialEventEditDTO, eventDO);
eventDO.setGridMemberId(specialEventEditDTO.getUserId());
@@ -760,7 +773,7 @@
rtVal = R.ok();
}
rtVal = R.fail();
- }else{
+ } else {
//编辑原来的
EventDO eventDO = eventMapper.selectById(specialEventEditDTO.getId());
BeanUtils.copyProperties(specialEventEditDTO, eventDO);
@@ -774,7 +787,7 @@
if (eventMapper.updateById(eventDO) > 0) {
int deleted = eventResourceService.getBaseMapper()
.delete(new LambdaQueryWrapper<EventResourceDO>()
- .eq(EventResourceDO::getClassification,1)
+ .eq(EventResourceDO::getClassification, 1)
.eq(EventResourceDO::getRefId, eventDO.getId()));
//添加音频
if (StringUtils.isNotEmpty(specialEventEditDTO.getAudio())) {
@@ -824,7 +837,7 @@
}
rtVal = R.fail();
}
- if(R.isOk(rtVal)){
+ if (R.isOk(rtVal)) {
//TODO 处理特殊人群实有人口数据
}
@@ -834,7 +847,7 @@
@Override
public R addSpecial(SpecialEventAddDTO specialEventAddDTO) {
EventGridDataDO eventGridDataDO = eventGridDataMapper.selectById(specialEventAddDTO.getGridId());
- if(eventGridDataDO==null){
+ if (eventGridDataDO == null) {
return R.fail("网格不存在");
}
R rtVal = R.fail();
@@ -897,7 +910,7 @@
}
rtVal = R.fail();
- if(R.isOk(rtVal)){
+ if (R.isOk(rtVal)) {
//TODO 处理特殊人群实有人口数据
addReleaseRecord(eventDO.getId(), specialEventAddDTO.getUserId(), specialEventAddDTO.getUserName());
@@ -918,7 +931,7 @@
@Override
public R addPublicity(PublicityEventAddDTO publicityEventAddDTO) {
EventGridDataDO eventGridDataDO = eventGridDataMapper.selectById(publicityEventAddDTO.getGridId());
- if(eventGridDataDO==null){
+ if (eventGridDataDO == null) {
return R.fail("网格不存在");
}
EventDO eventDO = new EventDO();
@@ -926,14 +939,19 @@
eventDO.setGridMemberId(publicityEventAddDTO.getUserId());
eventDO.setEventCategory(2l);//宣传事件
eventDO.setEventStatus(2);//事件状态 2发布
- eventDO.setGridMemberId(publicityEventAddDTO.getUserId());
+ eventDO.setEventType(8);
+ if(publicityEventAddDTO.getGridMemberId()!=null) {
+ eventDO.setGridMemberId(publicityEventAddDTO.getGridMemberId());
+ }else{
+ eventDO.setGridMemberId(publicityEventAddDTO.getUserId());
+ }
eventDO.setGridMemberName(publicityEventAddDTO.getUserName());
eventDO.setGridMemberTelephone(publicityEventAddDTO.getPhone());
eventDO.setCreateBy(publicityEventAddDTO.getUserId());
eventDO.setOrderSn(getEventOrderSn(eventDO.getEventType()));
- if(eventMapper.insert(eventDO)==1){
+ if (eventMapper.insert(eventDO) == 1) {
//添加音频
- if(StringUtils.isNotEmpty(publicityEventAddDTO.getAudio())){
+ if (StringUtils.isNotEmpty(publicityEventAddDTO.getAudio())) {
EventResourceDO eventResourceDO = new EventResourceDO();
eventResourceDO.setClassification(1);
eventResourceDO.setType(2);
@@ -942,12 +960,12 @@
eventResourceDO.setCreateBy(publicityEventAddDTO.getUserId());
eventResourceDO.setResourceTime(publicityEventAddDTO.getAudioTime());
int audioAdd = eventResourceService.getBaseMapper().insert(eventResourceDO);
- if(audioAdd!=1){
+ if (audioAdd != 1) {
throw new ServiceException("添加音频失败");
}
}
//添加视频
- if(StringUtils.isNotEmpty(publicityEventAddDTO.getVideo())){
+ if (StringUtils.isNotEmpty(publicityEventAddDTO.getVideo())) {
EventResourceDO eventResourceDO = new EventResourceDO();
eventResourceDO.setClassification(1);
eventResourceDO.setType(3);
@@ -956,12 +974,12 @@
eventResourceDO.setCreateBy(publicityEventAddDTO.getUserId());
eventResourceDO.setResourceTime(publicityEventAddDTO.getVideoTime());
int videoAdd = eventResourceService.getBaseMapper().insert(eventResourceDO);
- if(videoAdd!=1){
+ if (videoAdd != 1) {
throw new ServiceException("添加视频失败");
}
}
//添加图片
- if(StringUtils.isNotEmpty(publicityEventAddDTO.getPics())){
+ if (StringUtils.isNotEmpty(publicityEventAddDTO.getPics())) {
String[] pica = publicityEventAddDTO.getPics().split(",");
for (int i = 0; i < pica.length; i++) {
EventResourceDO eventResourceDO = new EventResourceDO();
@@ -971,7 +989,7 @@
eventResourceDO.setRefId(eventDO.getId());
eventResourceDO.setCreateBy(publicityEventAddDTO.getUserId());
int picAdd = eventResourceService.getBaseMapper().insert(eventResourceDO);
- if(picAdd!=1){
+ if (picAdd != 1) {
throw new ServiceException("添加图片失败");
}
}
@@ -986,10 +1004,10 @@
@Override
public R savePublicityDraft(PublicityEventEditDTO publicityEventEditDTO) {
EventGridDataDO eventGridDataDO = eventGridDataMapper.selectById(publicityEventEditDTO.getGridId());
- if(eventGridDataDO==null){
+ if (eventGridDataDO == null) {
return R.fail("网格不存在");
}
- if(publicityEventEditDTO.getId()==null) {
+ if (publicityEventEditDTO.getId() == null) {
EventDO eventDO = new EventDO();
BeanUtils.copyProperties(publicityEventEditDTO, eventDO);
eventDO.setGridMemberId(publicityEventEditDTO.getUserId());
@@ -1000,6 +1018,7 @@
eventDO.setGridMemberName(publicityEventEditDTO.getUserName());
eventDO.setGridMemberTelephone(publicityEventEditDTO.getPhone());
eventDO.setEventDealStatus(5);//草稿状态
+ eventDO.setEventType(8);
if (eventMapper.insert(eventDO) > 0) {
//添加音频
if (StringUtils.isNotEmpty(publicityEventEditDTO.getAudio())) {
@@ -1048,11 +1067,11 @@
return R.ok();
}
return R.fail();
- }else{
+ } else {
//编辑原来的
EventDO eventDO = eventMapper.selectById(publicityEventEditDTO.getId());
- if(eventDO.getEventStatus()!=null && eventDO.getEventStatus()!=1){
- return R.fail("保存草稿失败,事件不是草稿状态");
+ if (eventDO.getEventStatus() != null && eventDO.getEventStatus() != 1 && eventDO.getEventDealStatus() != 6) {
+ return R.fail("保存草稿失败,事件不是草稿/撤销状态");
}
BeanUtils.copyProperties(publicityEventEditDTO, eventDO);
eventDO.setGridMemberId(publicityEventEditDTO.getUserId());
@@ -1065,7 +1084,7 @@
if (eventMapper.updateById(eventDO) > 0) {
int deleted = eventResourceService.getBaseMapper()
.delete(new LambdaQueryWrapper<EventResourceDO>()
- .eq(EventResourceDO::getClassification,1)
+ .eq(EventResourceDO::getClassification, 1)
.eq(EventResourceDO::getRefId, eventDO.getId()));
//添加音频
if (StringUtils.isNotEmpty(publicityEventEditDTO.getAudio())) {
@@ -1119,15 +1138,15 @@
@Override
public R selectPublicity(PagePublicityEventDTO pagePublicityEventDTO) {
- Page page = new Page(1,10);
- if(pagePublicityEventDTO.getPageNum()!=null) {
+ Page page = new Page(1, 10);
+ if (pagePublicityEventDTO.getPageNum() != null) {
page.setCurrent(pagePublicityEventDTO.getPageNum());
}
- if(pagePublicityEventDTO.getPageSize()!=null) {
+ if (pagePublicityEventDTO.getPageSize() != null) {
page.setSize(pagePublicityEventDTO.getPageSize());
}
IPage<EventVO> ipage = eventMapper.findPublicityByPage(page, pagePublicityEventDTO);
- if(ipage!=null){
+ if (ipage != null) {
List<EventVO> eventVOList = ipage.getRecords();
eventVOList.forEach(eventVO -> {
List<EventResourceDO> eventResourceDOList =
@@ -1139,7 +1158,7 @@
List<EventResourceVO> audioList = new ArrayList<>();
List<EventResourceVO> videoList = new ArrayList<>();
eventResourceDOList.forEach(eventResourceDO -> {
- switch (eventResourceDO.getType()){
+ switch (eventResourceDO.getType()) {
case 1:
EventResourceVO picEventResourceVO = new EventResourceVO();
BeanUtils.copyProperties(eventResourceDO, picEventResourceVO);
@@ -1174,15 +1193,15 @@
@Override
public R eventToManage(PageEventManageDTO pageEventManageDTO) {
//查询管理事件
- Page page = new Page(1,10);
- if(pageEventManageDTO.getPageNum()!=null) {
+ Page page = new Page(1, 10);
+ if (pageEventManageDTO.getPageNum() != null) {
page.setCurrent(pageEventManageDTO.getPageNum());
}
- if(pageEventManageDTO.getPageSize()!=null) {
+ if (pageEventManageDTO.getPageSize() != null) {
page.setSize(pageEventManageDTO.getPageSize());
}
IPage<EventVO> ipage = eventMapper.findToManageByPage(page, pageEventManageDTO);
- if(ipage!=null){
+ if (ipage != null) {
List<EventVO> eventVOList = ipage.getRecords();
eventVOList.forEach(eventVO -> {
List<EventResourceDO> eventResourceDOList =
@@ -1194,7 +1213,7 @@
List<EventResourceVO> audioList = new ArrayList<>();
List<EventResourceVO> videoList = new ArrayList<>();
eventResourceDOList.forEach(eventResourceDO -> {
- switch (eventResourceDO.getType()){
+ switch (eventResourceDO.getType()) {
case 1:
EventResourceVO picEventResourceVO = new EventResourceVO();
BeanUtils.copyProperties(eventResourceDO, picEventResourceVO);
@@ -1218,7 +1237,7 @@
//查询网格员头像
String imageUrl = eventMapper.getGridMemberImageUrl(eventVO.getGridMemberId());
- if(StringUtils.isNotEmpty(imageUrl)){
+ if (StringUtils.isNotEmpty(imageUrl)) {
eventVO.setGridMemberImageUrl(imageUrl);
}
});
@@ -1230,34 +1249,35 @@
@Override
public R markEventInvalid(EventRevokeDTO eventRevokeDTO) {
EventDO eventDO = this.getBaseMapper().selectById(eventRevokeDTO.getId());
- if(eventDO==null){
+ if (eventDO == null) {
return R.fail("事件不存在");
}
- if(eventDO.getEventCategory()!=null) {
+ if (eventDO.getEventCategory() != null) {
if (eventDO.getEventCategory() == 1) {
boolean canRevoke = eventDO.getEventDealStatus() == 3; //上报状态
if (!canRevoke) {
return R.fail("当前事件不是上报状态,不允许标为无效");
}
- }else if (eventDO.getEventCategory() == 2) {
+ } else if (eventDO.getEventCategory() == 2) {
boolean canRevoke = eventDO.getEventDealStatus() == 8; //发布状态
if (!canRevoke) {
return R.fail("当前事件不是发布状态,不允许标为无效");
}
- }else{
+ } else {
return R.fail("");
}
- }else{
+ } else {
return R.fail("事件所属错误");
}
eventDO.setInvalid(false);
+ //标为无效后, 交给网格员处理
eventDO.setUpdateBy(eventRevokeDTO.getUserId());
eventDO.setEventStatus(4);//4、撤销
eventDO.setProcessType(1);//网格员处理
eventDO.setCommunityProcess(0);//非 社区处理
int updated = this.getBaseMapper().updateById(eventDO);
- if(updated == 1){
- addTransferRecord(eventDO.getId(), eventRevokeDTO.getUserId(), eventRevokeDTO.getUserName(), 1,"撤销成功");
+ if (updated == 1) {
+ addTransferRecord(eventDO.getId(), eventRevokeDTO.getUserId(), eventRevokeDTO.getUserName(), 1, "标为无效", eventRevokeDTO.getCommunityId(), eventRevokeDTO.getCommunityName(), 4);
return R.ok();
}
return R.fail();
@@ -1266,17 +1286,18 @@
@Override
public R republishInvalidEvent(CommonEventRepublishDTO commonEventRepublishDTO) {
EventDO eventDO = this.getBaseMapper().selectById(commonEventRepublishDTO.getId());
- if(eventDO==null){
+ if (eventDO == null) {
return R.fail("事件不存在");
}
- boolean canRepulish = eventDO.getEventDealStatus()==7; //已失效状态
- if(!canRepulish){
+ boolean canRepulish = eventDO.getEventDealStatus() == 7; //已失效状态
+ if (!canRepulish) {
return R.fail("当前事件不是已失效状态,不能重新发布");
}
eventDO.setInvalid(true);
int updated = this.getBaseMapper().updateById(eventDO);
- if(updated == 1){
- addTransferRecord(eventDO.getId(), commonEventRepublishDTO.getUserId(), commonEventRepublishDTO.getUserName(), 1,"重新发布事件成功");
+ if (updated == 1) {
+ addTransferRecord(eventDO.getId(), commonEventRepublishDTO.getUserId(), commonEventRepublishDTO.getUserName(), 1, "重新发布事件成功",
+ commonEventRepublishDTO.getUserId(), commonEventRepublishDTO.getUserName(), 9);
return R.ok();
}
return R.fail();
@@ -1289,14 +1310,32 @@
return R.fail("事件不存在");
}
boolean canDealByCommunity = eventDO.getEventDealStatus() == 3;
- if(!canDealByCommunity){
+ if (!canDealByCommunity) {
return R.fail("事件当前不是上报状态");
}
- if(commonEventDealDTO.getNeedVerify()){
+ List<EventTransferRecordDO> list = eventTransferRecordService.getBaseMapper().selectList(new LambdaQueryWrapper<EventTransferRecordDO>()
+ .eq(EventTransferRecordDO::getEventId, eventDO.getId())
+ .orderByDesc(EventTransferRecordDO::getCreateAt)
+ );
+
+ Long reportToInDB = -1L;
+ for (int i = 0; i < list.size(); i++) {
+ EventTransferRecordDO eventTransferRecordDO = list.get(i);
+ if (eventTransferRecordDO.getProcessType() != null && eventTransferRecordDO.getProcessType() == 2) {
+ reportToInDB = eventTransferRecordDO.getToId();
+ }
+ }
+ if (commonEventDealDTO.getCommunityId() == null) {
+ return R.fail("当前用户社区获取失败");
+ }
+ if (reportToInDB.longValue() != commonEventDealDTO.getCommunityId().longValue()) {
+ return R.fail("用户上报的社区不是当前社区");
+ }
+ if (commonEventDealDTO.getNeedVerify()) {
eventDO.setEventProcessStatus(3);//待验证状态
eventDO.setProcessType(1);//交给网格员处理-验证
- }else {
+ } else {
eventDO.setEventProcessStatus(2);//2已解决
}
eventDO.setUpdateBy(commonEventDealDTO.getUserId());
@@ -1308,14 +1347,15 @@
eventDO.setProcessDesc(commonEventDealDTO.getProcessResult());
int updated = this.getBaseMapper().updateById(eventDO);
- if(updated!=1){
+ if (updated != 1) {
return R.fail("更新事件状态失败");
}
EventTransferRecordDO transferRecordDO =
- addTransferRecord(eventDO.getId(), commonEventDealDTO.getUserId(), commonEventDealDTO.getUserName(),1, "社区处理完成");
- if(transferRecordDO!=null && transferRecordDO.getId()!=null){
+ addTransferRecord(eventDO.getId(), commonEventDealDTO.getUserId(), commonEventDealDTO.getUserName(), 1,
+ "社区处理完成", commonEventDealDTO.getCommunityId(), commonEventDealDTO.getCommunityName(), 3);
+ if (transferRecordDO != null && transferRecordDO.getId() != null) {
//添加音频
- if(StringUtils.isNotEmpty(commonEventDealDTO.getAudio())){
+ if (StringUtils.isNotEmpty(commonEventDealDTO.getAudio())) {
EventResourceDO eventResourceDO = new EventResourceDO();
eventResourceDO.setClassification(3);
eventResourceDO.setType(2);
@@ -1324,12 +1364,12 @@
eventResourceDO.setCreateBy(commonEventDealDTO.getUserId());
eventResourceDO.setResourceTime(commonEventDealDTO.getAudioTime());
int audioAdd = eventResourceService.getBaseMapper().insert(eventResourceDO);
- if(audioAdd!=1){
+ if (audioAdd != 1) {
throw new ServiceException("添加音频失败");
}
}
//添加视频
- if(StringUtils.isNotEmpty(commonEventDealDTO.getVideo())){
+ if (StringUtils.isNotEmpty(commonEventDealDTO.getVideo())) {
EventResourceDO eventResourceDO = new EventResourceDO();
eventResourceDO.setClassification(3);
eventResourceDO.setType(3);
@@ -1338,12 +1378,12 @@
eventResourceDO.setCreateBy(commonEventDealDTO.getUserId());
eventResourceDO.setResourceTime(commonEventDealDTO.getVideoTime());
int videoAdd = eventResourceService.getBaseMapper().insert(eventResourceDO);
- if(videoAdd!=1){
+ if (videoAdd != 1) {
throw new ServiceException("添加视频失败");
}
}
//添加图片
- if(StringUtils.isNotEmpty(commonEventDealDTO.getPics())){
+ if (StringUtils.isNotEmpty(commonEventDealDTO.getPics())) {
String[] pica = commonEventDealDTO.getPics().split(",");
for (int i = 0; i < pica.length; i++) {
EventResourceDO eventResourceDO = new EventResourceDO();
@@ -1353,7 +1393,7 @@
eventResourceDO.setRefId(transferRecordDO.getId());
eventResourceDO.setCreateBy(commonEventDealDTO.getUserId());
int picAdd = eventResourceService.getBaseMapper().insert(eventResourceDO);
- if(picAdd!=1){
+ if (picAdd != 1) {
throw new ServiceException("添加图片失败");
}
}
@@ -1362,26 +1402,26 @@
EventDO eventDOToUpdate = this.getBaseMapper().selectById(commonEventDealDTO.getId());
eventDOToUpdate.setProcessRecordId(transferRecordId);
int transferRecordUpdated = this.getBaseMapper().updateById(eventDOToUpdate);
- if(transferRecordUpdated!=1){
+ if (transferRecordUpdated != 1) {
throw new ServiceException("更新事件处理流程失败");
}
return R.ok();
- }else{
+ } else {
throw new ServiceException("处理事件记录出错");
}
}
@Override
public R selectCommunityPublicity(PagePublicityEventCommunityDTO pagePublicityEventDTO) {
- Page page = new Page(1,10);
- if(pagePublicityEventDTO.getPageNum()!=null) {
+ Page page = new Page(1, 10);
+ if (pagePublicityEventDTO.getPageNum() != null) {
page.setCurrent(pagePublicityEventDTO.getPageNum());
}
- if(pagePublicityEventDTO.getPageSize()!=null) {
+ if (pagePublicityEventDTO.getPageSize() != null) {
page.setSize(pagePublicityEventDTO.getPageSize());
}
IPage<EventVO> ipage = eventMapper.findCommunityPublicityByPage(page, pagePublicityEventDTO);
- if(ipage!=null){
+ if (ipage != null) {
List<EventVO> eventVOList = ipage.getRecords();
eventVOList.forEach(eventVO -> {
List<EventResourceDO> eventResourceDOList =
@@ -1393,7 +1433,7 @@
List<EventResourceVO> audioList = new ArrayList<>();
List<EventResourceVO> videoList = new ArrayList<>();
eventResourceDOList.forEach(eventResourceDO -> {
- switch (eventResourceDO.getType()){
+ switch (eventResourceDO.getType()) {
case 1:
EventResourceVO picEventResourceVO = new EventResourceVO();
BeanUtils.copyProperties(eventResourceDO, picEventResourceVO);
@@ -1422,12 +1462,13 @@
/**
* 添加发布事件流转记录
- * @param eventId 事件ID
- * @param userId 操作用户ID
+ *
+ * @param eventId 事件ID
+ * @param userId 操作用户ID
* @param userName 操作用户姓名
* @return 添加成功返回true, 否则返回false
*/
- private EventTransferRecordDO addReleaseRecord(Long eventId, Long userId, String userName){
+ private EventTransferRecordDO addReleaseRecord(Long eventId, Long userId, String userName) {
EventTransferRecordDO eventTransferRecordDO = new EventTransferRecordDO();
eventTransferRecordDO.setFromType(1);
eventTransferRecordDO.setFromId(userId);
@@ -1438,29 +1479,32 @@
eventTransferRecordDO.setProcessDate(new Date());
eventTransferRecordDO.setEventId(eventId);
eventTransferRecordDO.setProcessResult("发布成功");
+ eventTransferRecordDO.setProcessType(0);//初始状态
int inserted = eventTransferRecordService.getBaseMapper().insert(eventTransferRecordDO);
- if(inserted!=1){
+ if (inserted != 1) {
throw new ServiceException("事件流转记录添加失败");
}
this.updateEventDealStatus(eventId);
return eventTransferRecordDO;
}
+
/**
* 查询最后的流转记录,并添加事件流转记录
+ *
* @param eventId 事件ID
- * @param toId 流转到 ID
- * @param toName 流转到 名称
- * @param toType 发送类型
- * @param msg 流转消息
+ * @param toId 流转到 ID
+ * @param toName 流转到 名称
+ * @param toType 发送类型
+ * @param msg 流转消息
* @return
*/
- private EventTransferRecordDO addTransferRecord(Long eventId, Long toId, String toName, Integer toType, String msg){
+ private EventTransferRecordDO addTransferRecord(Long eventId, Long toId, String toName, Integer toType, String msg, Long processBy, String processByName, Integer processType) {
List<EventTransferRecordDO> list = eventTransferRecordService.getBaseMapper().selectList(new LambdaQueryWrapper<EventTransferRecordDO>()
.eq(EventTransferRecordDO::getEventId, eventId)
.orderByDesc(EventTransferRecordDO::getCreateAt)
);
- if(list==null ||list.size()==0){
+ if (list == null || list.size() == 0) {
throw new ServiceException("事件流转记录异常");
}
EventTransferRecordDO lastRecord = list.get(0);
@@ -1474,43 +1518,62 @@
eventTransferRecordDO.setToName(toName);
eventTransferRecordDO.setEventId(eventId);
eventTransferRecordDO.setProcessResult(msg);
+ eventTransferRecordDO.setProcessBy(processBy);
+ eventTransferRecordDO.setProcessByName(processByName);
+ eventTransferRecordDO.setProcessType(processType);
int inserted = eventTransferRecordService.getBaseMapper().insert(eventTransferRecordDO);
- if(inserted==1) {
+ if (inserted == 1) {
this.updateEventDealStatus(eventId);
return eventTransferRecordDO;
- }else{
+ } else {
throw new ServiceException("事件流转记录添加失败");
}
}
+
+ /**
+ * 查询最后的流转记录,并添加事件流转记录
+ * @param eventId 事件ID
+ * @param toId 流转到 ID
+ * @param toName 流转到 名称
+ * @param toType 发送类型
+ * @param msg 流转消息
+ * @return
+ */
+ /* private EventTransferRecordDO addTransferRecord(Long eventId, Long toId, String toName, Integer toType, String msg,Integer processType){
+ return addTransferRecord(eventId, toId, toName, toType, msg, null, null, processType);
+ }*/
+
/**
* 根据子状态 查询用户事件处理状态
+ *
* @param eventId 事件ID
*/
- private EventDO updateEventDealStatus(Long eventId){
+ private EventDO updateEventDealStatus(Long eventId) {
EventDO eventDO = this.getBaseMapper().selectById(eventId);
Integer eventDealStatus = getEventDealStatus(eventDO);
eventDO.setEventDealStatus(eventDealStatus);
int updated = this.getBaseMapper().updateById(eventDO);
- if(updated == 1){
+ if (updated == 1) {
return eventDO;
- }else{
+ } else {
throw new ServiceException("更新事件处理状态错误");
}
}
/**
* 根据子状态 查询用户事件处理状态
+ *
* @param eventDO 事件
*/
- private Integer getEventDealStatus(EventDO eventDO){
+ private Integer getEventDealStatus(EventDO eventDO) {
//1 待处理、2 待验证、3 已上报、4 已解决、5 草稿箱、6已撤销、7已失效、8已发布
- if(eventDO.getEventCategory()!=null) {
+ if (eventDO.getEventCategory() != null) {
if (eventDO.getEventCategory() == 1) {
- Integer event_status = eventDO.getEventStatus()!=null?eventDO.getEventStatus():-1;
- Integer event_process_status = eventDO.getEventProcessStatus()!=null?eventDO.getEventProcessStatus():-1;
- Integer process_type = eventDO.getProcessType()!=null?eventDO.getProcessType():-1;
- Integer community_process = eventDO.getCommunityProcess()!=null?eventDO.getCommunityProcess():-1;
+ Integer event_status = eventDO.getEventStatus() != null ? eventDO.getEventStatus() : -1;
+ Integer event_process_status = eventDO.getEventProcessStatus() != null ? eventDO.getEventProcessStatus() : -1;
+ Integer process_type = eventDO.getProcessType() != null ? eventDO.getProcessType() : -1;
+ Integer community_process = eventDO.getCommunityProcess() != null ? eventDO.getCommunityProcess() : -1;
Integer eventDealStatus = -1;
if (eventDO.getInvalid() != null && eventDO.getInvalid() == false) {
@@ -1519,23 +1582,23 @@
} else if (event_status == 1) {
eventDealStatus = 5;
//"草稿箱"
- } else if ( event_status == 4) {
+ } else if (event_status == 4) {
eventDealStatus = 6;
//"已撤销"
- } else if (event_status ==2){
+ } else if (event_status == 2) {
if (event_process_status == 3) {
eventDealStatus = 2;
//"待验证"
- }else if (event_process_status == 2) {
+ } else if (event_process_status == 2) {
eventDealStatus = 4;
//"已解决"
- }else if ( community_process == 1 && process_type == 2) {
+ } else if (community_process == 1 && process_type == 2) {
eventDealStatus = 3;
//"已上报"
- }else if ( event_process_status == 1 && process_type == 1) {
+ } else if (event_process_status == 1 && process_type == 1) {
eventDealStatus = 1;
//"待处理"
- }
+ }
}
return eventDealStatus;
} else if (eventDO.getEventCategory() == 2) {
@@ -1557,20 +1620,403 @@
/**
* 后台管理-统计模块
- * @param communityId 社区id
- * @return 统计信息
+ *
+ * @param communityId 社区id
+ * @return 统计信息
*/
@Override
- public R eventStatistics(Long communityId){
+ public R eventStatistics(Long communityId) {
return R.ok(this.baseMapper.eventStatistics(communityId));
}
+
/**
* 后台管理-网格员统计
- * @param statisticsAdminDTO 请求参数
- * @return 网格员统计信息
+ *
+ * @param statisticsAdminDTO 请求参数
+ * @return 网格员统计信息
*/
@Override
- public R gridMemberStatistics(MemberStatisticsAdminDTO statisticsAdminDTO){
- return R.ok(eventGridMemberRelationMapper.gridMemberStatistics(new Page(statisticsAdminDTO.getPageNum(),statisticsAdminDTO.getPageSize()),statisticsAdminDTO));
+ public R gridMemberStatistics(MemberStatisticsAdminDTO statisticsAdminDTO) {
+ return R.ok(eventGridMemberRelationMapper.gridMemberStatistics(new Page(statisticsAdminDTO.getPageNum(), statisticsAdminDTO.getPageSize()), statisticsAdminDTO));
+ }
+
+ @Override
+ public R getNearByGrid(PageEventGridNearbyDTO pageEventGridNearbyDTO) {
+ Page page = new Page(pageEventGridNearbyDTO.getPageNum(), pageEventGridNearbyDTO.getPageSize());
+ String latLng = pageEventGridNearbyDTO.getHappentLatLng();
+ if(!latLng.matches("^[\\-\\+]?((0|([1-8]\\d?))(\\.\\d{1,10})?|90(\\.0{1,10})?),[\\-\\+]?(0(\\.\\d{1,10})?|([1-9](\\d)?)(\\.\\d{1,10})?|1[0-7]\\d{1}(\\.\\d{1,10})?|180\\.0{1,10})$")){
+ return R.fail("经纬度参数错误");
+ }
+ String latLngArr[] = latLng.split(",");
+ try {
+ Double lat = Double.valueOf(latLngArr[1]);
+ Double lng = Double.valueOf(latLngArr[0]);
+ List<EventGridDataAreaVO> gridList =
+ eventGridDataMapper.selectGridWithArea(page, pageEventGridNearbyDTO);
+ if (gridList != null && gridList.size() > 0) {
+ List<EventGridDataVO> rtEventGridList = new ArrayList<>();
+ for (EventGridDataAreaVO eventGridDataDO : gridList) {
+ String data = eventGridDataDO.getData();
+ if(data!=null) {
+ List<LatLngVO> latLngList = LngLatUtils.getLatLngFromText(data);
+ boolean inGrid = LngLatUtils.isInPolygon(latLngList, lng, lat);
+ if (inGrid) {
+ EventGridDataVO eventGridDataVO = new EventGridDataVO();
+ BeanUtils.copyProperties(eventGridDataDO, eventGridDataVO);
+ rtEventGridList.add(eventGridDataVO);
+ }
+ }
+ }
+ return R.ok(rtEventGridList);
+ } else {
+ return R.ok("未找到社区");
+ }
+ }catch (Exception e){
+ return R.fail(e.getMessage());
+ }
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public R deleteEventBatch(EventDeleteDTO eventDeleteDTO) {
+ List<Long> eventIds = eventDeleteDTO.getId();
+ if (eventIds != null && eventIds.size() > 0) {
+ R rt = null;
+ Long userId = eventDeleteDTO.getUserId();
+ for (Long id : eventIds) {
+ EventDO eventDO = eventMapper.selectById(id);
+ if (eventDO == null) {
+ throw new ServiceException("id为" + id + "的事件不存在");
+ }
+ if (eventDO.getEventStatus() != null &&
+ (eventDO.getEventStatus().intValue() == 1 || eventDO.getEventStatus().intValue() == 4)) {//草稿 或者 已撤销 的事件可以删除
+ eventDO.setEventStatus(3);//逻辑删除
+ eventDO.setUpdateBy(userId);
+ int updated = this.getBaseMapper().updateById(eventDO);
+ if (updated != 1) {
+ throw new ServiceException("删除事件失败");
+ }
+ }
+ }
+ return R.ok();
+ } else {
+ return R.fail("参数错误");
+ }
+
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public R batchRepublishEvent(CommonEventBatchRepublishDTO commonEventBatchRepublishDTO) {
+ List<Long> ids = commonEventBatchRepublishDTO.getId();
+ if (ids != null && ids.size() > 0) {
+ Long userId = commonEventBatchRepublishDTO.getUserId();
+ String userName = commonEventBatchRepublishDTO.getUserName();
+ for (Long id : ids) {
+ EventDO eventDO = this.getBaseMapper().selectById(id);
+ if (eventDO == null) {
+ throw new ServiceException("id为" + id + "的事件不存在");
+ }
+ boolean canRepublishByUser = eventDO.getEventStatus() != null &&
+ eventDO.getEventStatus() == 4 || eventDO.getEventStatus() == 1;
+ if (!canRepublishByUser) {
+ throw new ServiceException("当前不是撤销/草稿状态");
+ }
+ eventDO.setEventStatus(2);//2 发布
+ eventDO.setEventProcessStatus(1); //待解决
+ eventDO.setProcessType(1); //网格员处理
+ eventDO.setUpdateBy(userId);
+ int updated = this.getBaseMapper().updateById(eventDO);
+ if (updated != 1) {
+ throw new ServiceException("更新事件状态失败");
+ }
+ addTransferRecord(eventDO.getId(), userId, userName, 1,
+ "重新发布已撤销事件", userId, userName, 8);
+ }
+ return R.ok();
+ } else {
+ return R.fail("参数错误");
+ }
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public R batchMarkEventInvalid(EventBatchRevokeDTO eventBatchRevokeDTO) {
+ List<Long> ids = eventBatchRevokeDTO.getId();
+ if (ids != null && ids.size() > 0) {
+ Long userId = eventBatchRevokeDTO.getUserId();
+ String userName = eventBatchRevokeDTO.getUserName();
+ Long communityId = eventBatchRevokeDTO.getCommunityId();
+ String communityName = eventBatchRevokeDTO.getCommunityName();
+ for (Long id : ids) {
+ EventDO eventDO = this.getBaseMapper().selectById(id);
+ if (eventDO == null) {
+ throw new ServiceException("id为" + id + "的事件不存在");
+ }
+ if (eventDO.getEventCategory() != null) {
+ if (eventDO.getEventCategory() == 1) {
+ boolean canRevoke = eventDO.getEventDealStatus() == 3; //上报状态
+ if (!canRevoke) {
+ throw new ServiceException("当前事件不是上报状态,不允许标为无效");
+ }
+ } else if (eventDO.getEventCategory() == 2) {
+ boolean canRevoke = eventDO.getEventDealStatus() == 8; //发布状态
+ if (!canRevoke) {
+ throw new ServiceException("当前事件不是发布状态,不允许标为无效");
+ }
+ } else {
+ throw new ServiceException("事件分类错误");
+ }
+ } else {
+ throw new ServiceException("事件所属错误");
+ }
+ eventDO.setInvalid(false);
+ //标为无效后, 交给网格员处理
+ eventDO.setUpdateBy(userId);
+ eventDO.setEventStatus(4);//4、撤销
+ eventDO.setProcessType(1);//网格员处理
+ eventDO.setCommunityProcess(0);//非 社区处理
+ int updated = this.getBaseMapper().updateById(eventDO);
+ if (updated == 1) {
+ addTransferRecord(eventDO.getId(), userId, userName, 1, "标为无效", communityId, communityName, 4);
+ } else {
+ throw new ServiceException("事件流转信息添加错误");
+ }
+ }
+ return R.ok();
+ } else {
+ return R.fail("参数错误");
+ }
+ }
+
+ /**
+ * 根据网格id查询网格统计数据
+ * @param gridId 网格id
+ * @return 网格统计数据
+ */
+ @Override
+ public R getGridEventStatisticsByApp(Long gridId){
+ return R.ok(this.baseMapper.getGridEventStatisticsByApp(gridId));
+ }
+
+ /**
+ * 查询网格事件统计数据
+ * @param statisticsDTO 请求参数
+ * @return 网格事件统计数据
+ */
+ @Override
+ public R getGridEventDetailStatisticsByApp(GridEventStatisticsDTO statisticsDTO){
+ GridEventStatisticsDetailVO statisticsDetailVO = this.baseMapper.getGridEventDetailStatisticsByApp(statisticsDTO);
+ if(statisticsDetailVO == null){
+ statisticsDetailVO = new GridEventStatisticsDetailVO();
+ }
+
+ if(statisticsDetailVO.getEventSSPTotal() == null){
+ statisticsDetailVO.setEventSSPTotal(0);
+ }
+ if(statisticsDetailVO.getNoEventSSPTotal() == null){
+ statisticsDetailVO.setNoEventSSPTotal(0);
+ }
+ if(statisticsDetailVO.getEventZFTotal() == null){
+ statisticsDetailVO.setEventZFTotal(0);
+ }
+ if(statisticsDetailVO.getNoEventZFTotal() == null){
+ statisticsDetailVO.setNoEventZFTotal(0);
+ }
+
+ //统计数据
+ Integer sum = statisticsDetailVO.getEventTFTotal() + statisticsDetailVO.getEventMDTotal() + statisticsDetailVO.getEventZATotal()
+ + statisticsDetailVO.getEventBWDTotal() + statisticsDetailVO.getEventTSTotal() + statisticsDetailVO.getEventGGTotal()
+ + statisticsDetailVO.getEventXCTotal() + statisticsDetailVO.getEventSSPTotal() + statisticsDetailVO.getEventZFTotal();
+ statisticsDetailVO.setSum(sum);
+
+ Integer noSum = statisticsDetailVO.getNoEventTFTotal() + statisticsDetailVO.getNoEventMDTotal() + statisticsDetailVO.getNoEventZATotal()
+ + statisticsDetailVO.getNoEventBWDTotal() + statisticsDetailVO.getNoEventTSTotal() + statisticsDetailVO.getNoEventGGTotal()
+ + statisticsDetailVO.getNoEventSSPTotal() + statisticsDetailVO.getNoEventZFTotal();
+ statisticsDetailVO.setNoSum(noSum);
+ return R.ok(statisticsDetailVO);
+ }
+
+ @Override
+ public R reportDirect(CommonEventDirectReportDTO commonEventDirectReportDTO) {
+
+ if(commonEventDirectReportDTO.getEventId()!=null){
+ //编辑原来的
+ EventDO eventDO = eventMapper.selectById(commonEventDirectReportDTO.getEventId());
+ if (eventDO.getEventStatus() != null && eventDO.getEventStatus() != 1 && eventDO.getEventDealStatus() != 6) {
+ return R.fail("保存草稿失败,事件不是草稿/已撤销状态");
+ }
+ BeanUtils.copyProperties(commonEventDirectReportDTO, eventDO);
+ eventDO.setGridMemberId(commonEventDirectReportDTO.getUserId());
+ eventDO.setEventCategory(1l);//办件事件
+ eventDO.setEventStatus(1);//事件状态 2发布
+ eventDO.setProcessType(2);//社区处理
+ eventDO.setCommunityProcess(1);// 社区处理
+ eventDO.setUpdateBy(commonEventDirectReportDTO.getUserId());
+ if (eventMapper.updateById(eventDO) > 0) {
+ int deleted = eventResourceService.getBaseMapper()
+ .delete(new LambdaQueryWrapper<EventResourceDO>()
+ .eq(EventResourceDO::getClassification, 1)
+ .eq(EventResourceDO::getRefId, eventDO.getId()));
+ //添加音频
+ if (StringUtils.isNotEmpty(commonEventDirectReportDTO.getAudio())) {
+ EventResourceDO eventResourceDO = new EventResourceDO();
+ eventResourceDO.setClassification(1);
+ eventResourceDO.setType(2);
+ eventResourceDO.setRefId(eventDO.getId());
+ eventResourceDO.setUrl(commonEventDirectReportDTO.getAudio());
+ eventResourceDO.setCreateBy(commonEventDirectReportDTO.getUserId());
+ eventResourceDO.setResourceTime(commonEventDirectReportDTO.getAudioTime());
+ int audioAdd = eventResourceService.getBaseMapper().insert(eventResourceDO);
+ if (audioAdd != 1) {
+ throw new ServiceException("添加音频失败");
+ }
+ }
+ //添加视频
+ if (StringUtils.isNotEmpty(commonEventDirectReportDTO.getVideo())) {
+ EventResourceDO eventResourceDO = new EventResourceDO();
+ eventResourceDO.setClassification(1);
+ eventResourceDO.setType(3);
+ eventResourceDO.setRefId(eventDO.getId());
+ eventResourceDO.setUrl(commonEventDirectReportDTO.getVideo());
+ eventResourceDO.setCreateBy(commonEventDirectReportDTO.getUserId());
+ eventResourceDO.setResourceTime(commonEventDirectReportDTO.getVideoTime());
+ int videoAdd = eventResourceService.getBaseMapper().insert(eventResourceDO);
+ if (videoAdd != 1) {
+ throw new ServiceException("添加视频失败");
+ }
+ }
+ //添加图片
+ if (StringUtils.isNotEmpty(commonEventDirectReportDTO.getPics())) {
+ String[] pica = commonEventDirectReportDTO.getPics().split(",");
+ for (int i = 0; i < pica.length; i++) {
+ EventResourceDO eventResourceDO = new EventResourceDO();
+ eventResourceDO.setClassification(1);
+ eventResourceDO.setType(1);
+ eventResourceDO.setRefId(eventDO.getId());
+ eventResourceDO.setUrl(pica[i]);
+ eventResourceDO.setCreateBy(commonEventDirectReportDTO.getUserId());
+ int picAdd = eventResourceService.getBaseMapper().insert(eventResourceDO);
+ if (picAdd != 1) {
+ throw new ServiceException("添加图片失败");
+ }
+ }
+ }
+
+ R r = communityService.detailCommunity(commonEventDirectReportDTO.getToId());
+ if (!R.isOk(r)) {
+ return R.fail("社区不存在");
+ }
+ ComActVO comActVO = JSONObject.parseObject(JSONObject.toJSONString(r.getData()), ComActVO.class);
+ if (comActVO == null) {
+ return R.fail("社区不存在");
+ }
+ EventDO eventDOInDB = this.getBaseMapper().selectById(commonEventDirectReportDTO.getEventId());
+ eventDOInDB.setCommunityProcess(1); //社区处理
+ eventDOInDB.setProcessType(2); //当前处理对象: 社区处理
+ eventDOInDB.setCommunityProcess(1);
+ eventDOInDB.setEventProcessStatus(1); //待处理
+ eventDOInDB.setUpdateBy(commonEventDirectReportDTO.getUserId());
+ eventDOInDB.setSubmitDate(new Date());
+ int updated = this.getBaseMapper().updateById(eventDO);
+ if (updated != 1) {
+ throw new ServiceException("事件状态更新失败");
+ }
+ addTransferRecord(eventDO.getId(), commonEventDirectReportDTO.getToId(), comActVO.getName(), 2, commonEventDirectReportDTO.getProcessResult(),
+ commonEventDirectReportDTO.getUserId(), commonEventDirectReportDTO.getUserName(), 2);
+ return R.ok();
+ }
+
+ }else{
+ EventDO eventDO = new EventDO();
+ BeanUtils.copyProperties(commonEventDirectReportDTO, eventDO);
+ eventDO.setGridMemberId(commonEventDirectReportDTO.getUserId());
+ EventGridDataDO eventGridDataDO = eventGridDataMapper.selectById(commonEventDirectReportDTO.getGridId());
+ if (eventGridDataDO == null) {
+ return R.fail("网格不存在");
+ }
+ eventDO.setEventCategory(1l);//办件事件
+ eventDO.setEventStatus(2);//事件状态 2发布
+ eventDO.setProcessType(2);//社区处理
+ eventDO.setCommunityProcess(1);//社区处理
+ eventDO.setEventProcessStatus(1);
+ eventDO.setGridMemberName(commonEventDirectReportDTO.getUserName());
+ eventDO.setGridMemberTelephone(commonEventDirectReportDTO.getPhone());
+ eventDO.setCreateBy(commonEventDirectReportDTO.getUserId());
+ eventDO.setSubmitDate(new Date());
+ eventDO.setOrderSn(getEventOrderSn(eventDO.getEventType()));
+ if (eventMapper.insert(eventDO) == 1) {
+ //添加音频
+ if (StringUtils.isNotEmpty(commonEventDirectReportDTO.getAudio())) {
+ EventResourceDO eventResourceDO = new EventResourceDO();
+ eventResourceDO.setClassification(1);
+ eventResourceDO.setType(2);
+ eventResourceDO.setUrl(commonEventDirectReportDTO.getAudio());
+ eventResourceDO.setRefId(eventDO.getId());
+ eventResourceDO.setCreateBy(commonEventDirectReportDTO.getUserId());
+ eventResourceDO.setResourceTime(commonEventDirectReportDTO.getAudioTime());
+ int audioAdd = eventResourceService.getBaseMapper().insert(eventResourceDO);
+ if (audioAdd != 1) {
+ throw new ServiceException("添加音频失败");
+ }
+ }
+ //添加视频
+ if (StringUtils.isNotEmpty(commonEventDirectReportDTO.getVideo())) {
+ EventResourceDO eventResourceDO = new EventResourceDO();
+ eventResourceDO.setClassification(1);
+ eventResourceDO.setType(3);
+ eventResourceDO.setUrl(commonEventDirectReportDTO.getVideo());
+ eventResourceDO.setRefId(eventDO.getId());
+ eventResourceDO.setCreateBy(commonEventDirectReportDTO.getUserId());
+ eventResourceDO.setResourceTime(commonEventDirectReportDTO.getVideoTime());
+ int videoAdd = eventResourceService.getBaseMapper().insert(eventResourceDO);
+ if (videoAdd != 1) {
+ throw new ServiceException("添加视频失败");
+ }
+ }
+ //添加图片
+ if (StringUtils.isNotEmpty(commonEventDirectReportDTO.getPics())) {
+ String[] pica = commonEventDirectReportDTO.getPics().split(",");
+ for (int i = 0; i < pica.length; i++) {
+ EventResourceDO eventResourceDO = new EventResourceDO();
+ eventResourceDO.setClassification(1);
+ eventResourceDO.setType(1);
+ eventResourceDO.setUrl(pica[i]);
+ eventResourceDO.setRefId(eventDO.getId());
+ eventResourceDO.setCreateBy(commonEventDirectReportDTO.getUserId());
+ int picAdd = eventResourceService.getBaseMapper().insert(eventResourceDO);
+ if (picAdd != 1) {
+ throw new ServiceException("添加图片失败");
+ }
+ }
+ }
+ addReleaseRecord(eventDO.getId(), commonEventDirectReportDTO.getUserId(), commonEventDirectReportDTO.getUserName());
+
+ R r = communityService.detailCommunity(commonEventDirectReportDTO.getToId());
+ if (!R.isOk(r)) {
+ return R.fail("社区不存在");
+ }
+ ComActVO comActVO = JSONObject.parseObject(JSONObject.toJSONString(r.getData()), ComActVO.class);
+ if (comActVO == null) {
+ return R.fail("社区不存在");
+ }
+ EventDO eventDOInDB = this.getBaseMapper().selectById(eventDO.getId());
+ eventDOInDB.setCommunityProcess(1); //社区处理
+ eventDOInDB.setProcessType(2); //当前处理对象: 社区处理
+ eventDOInDB.setCommunityProcess(1);
+ eventDOInDB.setEventProcessStatus(1); //待处理
+ eventDOInDB.setUpdateBy(commonEventDirectReportDTO.getUserId());
+ eventDOInDB.setSubmitDate(new Date());
+ int updated = this.getBaseMapper().updateById(eventDO);
+ if (updated != 1) {
+ throw new ServiceException("更新突发事件状态更新失败");
+ }
+ addTransferRecord(eventDO.getId(), commonEventDirectReportDTO.getToId(), comActVO.getName(), 2, commonEventDirectReportDTO.getProcessResult(),
+ commonEventDirectReportDTO.getUserId(), commonEventDirectReportDTO.getUserName(), 2);
+ return R.ok(eventDO.getId());
+ }
+ }
+
+ return R.fail();
}
}
--
Gitblit v1.7.1