Browse Source

接收新新向党,同时上传到民生诉求

feature/dangjian
yinzuomei 3 years ago
parent
commit
41851284fa
  1. 1
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java
  2. 8
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/SubmitItemFormDTO.java
  3. 35
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/XxxdEventServiceImpl.java
  4. 14
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/AdminFeignClient.java
  5. 4
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/AdminFeignClientFallback.java
  6. 172
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java

1
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java

@ -27,6 +27,7 @@ import java.util.List;
* @date 2019/9/7 9:27
*/
@FeignClient(name = ServiceConstant.EPDC_ADMIN_SERVER, fallback = AdminFeignClientFallback.class)
// @FeignClient(name = ServiceConstant.EPDC_ADMIN_SERVER, fallback = AdminFeignClientFallback.class,url = "http://127.0.0.1:9092")
public interface AdminFeignClient {
/**

8
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/SubmitItemFormDTO.java

@ -6,6 +6,7 @@ import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
@ -140,10 +141,13 @@ public class SubmitItemFormDTO implements Serializable {
/**
* 区分 0 网格员上报还是 1 居民上报
* 区分 0 网格员上报还是 1 居民上报;2新新向党随手拍
*/
private String appealSource;
/**
* 发布时间
*/
private Date distributeTime;
}

35
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/XxxdEventServiceImpl.java

@ -13,15 +13,20 @@ import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.constant.StrConstant;
import com.elink.esua.epdc.commons.tools.exception.RenException;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.DateUtils;
import com.elink.esua.epdc.commons.tools.utils.SpringContextUtils;
import com.elink.esua.epdc.constant.XxxdConstant;
import com.elink.esua.epdc.dto.events.XxxdEventDTO;
import com.elink.esua.epdc.dto.events.form.XxxdFeedBackQuestionFormDTO;
import com.elink.esua.epdc.dto.events.result.XxxdFeedBackResultDTO;
import com.elink.esua.epdc.dto.item.form.SubmitItemFormDTO;
import com.elink.esua.epdc.modules.events.dao.XxxdEventDao;
import com.elink.esua.epdc.modules.events.entity.XxxdEventEntity;
import com.elink.esua.epdc.modules.events.service.XxxdEventService;
import com.google.zxing.oned.UPCAReader;
import com.elink.esua.epdc.modules.item.service.ItemService;
import com.elink.esua.epdc.modules.item.service.impl.ItemServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.http.*;
import org.springframework.stereotype.Service;
@ -31,6 +36,7 @@ import org.springframework.web.client.RestTemplate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
@ -74,6 +80,33 @@ public class XxxdEventServiceImpl extends BaseServiceImpl<XxxdEventDao, XxxdEven
entity.setId(origin.getId());
updateById(entity);
}
//同步到北上速办-民生诉求
SubmitItemFormDTO submitItemFormDTO=new SubmitItemFormDTO();
submitItemFormDTO.setNickName(entity.getName());
submitItemFormDTO.setMobile(entity.getContact());
submitItemFormDTO.setItemContent(entity.getDescription());
submitItemFormDTO.setIssueLatitude(Double.parseDouble(entity.getLatitude()));
submitItemFormDTO.setIssueLongitude(Double.parseDouble(entity.getLongitude()));
submitItemFormDTO.setIssueAddress(entity.getLocation());
submitItemFormDTO.setPeopleFlag(NumConstant.ZERO_STR);
submitItemFormDTO.setAppealSource(NumConstant.TWO_STR);
submitItemFormDTO.setShowFlag(NumConstant.ZERO_STR);
submitItemFormDTO.setDistributeTime(DateUtils.parse(entity.getPubTime(),"yyyy-MM-dd HH:mm:ss"));
submitItemFormDTO.setUserId(entity.getContact());
submitItemFormDTO.setIsPartyMember(NumConstant.ZERO_STR);
//图片,语音
if(StringUtils.isNotBlank(entity.getPics())){
List<String> picList = Arrays.asList(entity.getPics().split(StrConstant.SEMICOLON));
submitItemFormDTO.setImages(picList);
}
if(StringUtils.isNotBlank(entity.getAudios())){
// 随手拍语音为多段,epdc_item表语音只能上传一个,这里默认取第一个
List<String> audioList = Arrays.asList(entity.getAudios().split(StrConstant.SEMICOLON));
if (CollectionUtils.isNotEmpty(audioList)) {
submitItemFormDTO.setItemVoice(audioList.get(NumConstant.ZERO));
}
}
SpringContextUtils.getBean(ItemServiceImpl.class).submitXxxdEventToItem(entity.getId(), entity.getLongitude(), entity.getLatitude(), submitItemFormDTO);
return entity.getId();
}

14
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/AdminFeignClient.java

@ -19,7 +19,8 @@ import java.util.List;
* @email yujintao@elink-cn.com
* @date 2019/9/7 9:27
*/
@FeignClient(name = ServiceConstant.EPDC_ADMIN_SERVER, fallback = AdminFeignClientFallback.class)
// @FeignClient(name = ServiceConstant.EPDC_ADMIN_SERVER, fallback = AdminFeignClientFallback.class)
@FeignClient(name = ServiceConstant.EPDC_ADMIN_SERVER, fallback = AdminFeignClientFallback.class,url = "http://127.0.0.1:9092")
public interface AdminFeignClient {
/**
@ -138,4 +139,15 @@ public interface AdminFeignClient {
@PostMapping(value = "sys/dept/meta/all", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<DeptDTO>> getAllDept();
/**
* 根据坐标获取系统网格
*
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.GisGridDTO>
* @author zhy
* @date 2022/9/5 15:53
*/
@PostMapping("sys/appsys/dept/gis/getGridByCoordinate")
Result<GisGridDTO> getGridByCoordinate(GisFormDTO formDto);
}

4
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/AdminFeignClientFallback.java

@ -85,4 +85,8 @@ public class AdminFeignClientFallback implements AdminFeignClient {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "getAllDept");
}
@Override
public Result<GisGridDTO> getGridByCoordinate(GisFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "getGridByCoordinate",formDTO);
}
}

172
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java

@ -23,11 +23,13 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.constant.OrganizationTypeConstant;
import com.elink.esua.epdc.commons.tools.constant.StrConstant;
import com.elink.esua.epdc.commons.tools.enums.*;
import com.elink.esua.epdc.commons.tools.exception.RenException;
import com.elink.esua.epdc.commons.tools.page.PageData;
@ -42,6 +44,7 @@ import com.elink.esua.epdc.commons.tools.security.content.dto.result.CheckResult
import com.elink.esua.epdc.commons.tools.security.user.SecurityUser;
import com.elink.esua.epdc.commons.tools.security.user.UserDetail;
import com.elink.esua.epdc.commons.tools.utils.*;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.constant.*;
import com.elink.esua.epdc.constants.MenuCodeConstant;
import com.elink.esua.epdc.dto.*;
@ -76,7 +79,9 @@ import com.elink.esua.epdc.modules.category.dao.CategoryDao;
import com.elink.esua.epdc.modules.category.entity.CategoryEntity;
import com.elink.esua.epdc.modules.category.service.CategoryService;
import com.elink.esua.epdc.modules.events.dao.ImgDao;
import com.elink.esua.epdc.modules.events.dao.XxxdEventDao;
import com.elink.esua.epdc.modules.events.entity.ImgEntity;
import com.elink.esua.epdc.modules.events.entity.XxxdEventEntity;
import com.elink.esua.epdc.modules.events.service.EpdcEventsService;
import com.elink.esua.epdc.modules.events.service.ImgService;
import com.elink.esua.epdc.modules.feign.AdminFeignClient;
@ -106,6 +111,7 @@ import org.apache.commons.lang3.StringUtils;
import org.joda.time.DateTime;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestParam;
@ -231,6 +237,8 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
// private ItemProcessModifyProducer itemProcessModifyProducer;
@Resource
private ItemDeptDao itemDeptDao;
@Autowired
private XxxdEventDao xxxdEventDao;
@Override
public PageData<ItemDTO> page(Map<String, Object> params) {
@ -3441,6 +3449,102 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
return new Result().ok(entity.getSerialNum());
}
/**
* 新新向党的事件推送过来调用此方法
* 此方法与上面的submitMsFzItemResi逻辑一致只是返参返回epdc_item.id
* @param formDto
* @return
*/
@Transactional(rollbackFor = Exception.class)
public String submitMsFzItemResiForXxxd(SubmitItemFormDTO formDto) {
ValidatorUtils.validateEntity(formDto);
imageCheck(formDto.getImages());
ItemEntity entity = ConvertUtils.sourceToTarget(formDto, ItemEntity.class);
if (null == formDto.getDistributeTime()) {
entity.setDistributeTime(new Date());
}
entity.setItemState(0);//处理中
entity.setLastHandleTime(new Date());
entity.setCategoryCode("13");
entity.setCategoryFullName("其他");
entity.setFirstCategoryCode("13");
entity.setItemCode("PT" + System.currentTimeMillis());//项目编号
entity.setIsPeople("1");//诉求上报
entity.setAppealSource(formDto.getAppealSource());
String code = "";
if (NumConstant.ZERO_STR.equals(formDto.getPeopleFlag())) {
//民生诉求所属网格对应的所属社区的市中心编码
Result<CompleteDeptDTO> result = adminFeignClient.getCompleteDept(entity.getGridId());
if (result.success()) {
code = result.getData().getCommunityDisCenterZoningCode();
}
entity.setSerialNum(getSerialNum("MS" + code));
} else if (NumConstant.ONE_STR.equals(formDto.getPeopleFlag())) {
//执法诉求所属街道的市中心编码
Result<SysDeptDTO> dtoResult = adminFeignClient.getSysDeptInfo(entity.getGridId());
if (dtoResult.success()) {
code = dtoResult.getData().getDisCenterZoningCode();
// 因为是街道账号,所以上级一定是市北区委
Long pids = dtoResult.getData().getPid();
String pnames = dtoResult.getData().getParentName();
entity.setParentDeptIds(pids + "");
entity.setParentDeptNames(pnames);
entity.setAllDeptIds(pids + "," + entity.getGridId());
entity.setAllDeptNames(pnames + "-" + entity.getGrid());
}
entity.setSerialNum(getSerialNum("FZ" + code));
}
baseDao.insert(entity);
//插入项目部门关联表
itemDeptService.savePeopleSubmitInfo(entity);
// 保存图片
imgService.saveImages(formDto.getImages(), entity.getId(), ImageConstant.TYPE_IMAGE_BIZ_EVENTS);
// 插入项目处理流程表
ItemHandleProcessEntity itemHandleProcessEntity = new ItemHandleProcessEntity();
itemHandleProcessEntity.setItemId(entity.getId());
itemHandleProcessEntity.setState(ItemHandleCategoryEnum.HANDLE_I_HANDLE_GRID_TOP.getValue());
itemHandleProcessEntity.setHandleAdvice("诉求已查收,正在办理。");
itemHandleProcessEntity.setOutHandleAdvice("诉求已查收,正在办理。");
itemHandleProcessEntity.setHandlerDeptId(entity.getGridId());
itemHandleProcessEntity.setHandlerDept(entity.getGrid());
itemHandleProcessService.insert(itemHandleProcessEntity);
//发送事件至区中心
if ("1".equals(formDto.getPeopleFlag())) {
//保存至企业表
itemEnterpriseService.savaZfInfo(entity, formDto);
ItemHandleSubmitFormDTO dto = new ItemHandleSubmitFormDTO();
dto.setId(entity.getId());
dto.setOutHandleAdvice(itemHandleProcessEntity.getOutHandleAdvice());
dto.setHandleCategory(ItemHandleCategoryEnum.HANDLE_CLOSING_CASE_APPLY.getValue());
sendItemToDsf(dto, itemHandleProcessEntity);
}
//发送到市平台
/*try {
if (NumConstant.ZERO_STR.equals(formDto.getPeopleFlag())) {
//民生
sendCaseLivelihood(entity);
} else if (NumConstant.ONE_STR.equals(formDto.getPeopleFlag())) {
//发展
sendCaseDevelop(entity);
}
} catch (Exception e) {
StringBuffer str = new StringBuffer();
switch (formDto.getPeopleFlag()) {
case NumConstant.ZERO_STR:
str.append("民生");
break;
case NumConstant.ONE_STR:
str.append("发展");
break;
}
str.append("诉求上报,发送事件数据到市中心错误,诉求项目Id->").append(entity.getId());
log.error(str.toString());
e.printStackTrace();
}*/
return entity.getId();
}
/**
* @return void
* @describe: 民生诉求 组装数据到市平台
@ -5430,4 +5534,72 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
}
}
/**
* 新新向党随手拍事件保存到民生诉求epdc_item表
*
* @param submitItemFormDTO :新新向党的随手拍事件
*/
public void submitXxxdEventToItem(String xxxdEventEntityId,String longitude,String latitude,SubmitItemFormDTO submitItemFormDTO) {
// 0已接收;1已转北上速办事件;2已完结
String internalStatus = "";
// 北上速办事件id
String bssbEventId = "";
// 内部备注
String internalRemark = "";
// 网格id
String gridId = "";
// 网格名称
String gridName = "";
// 社区id
String communityId = "";
// 街道id
String streetId = "";
LambdaUpdateWrapper<XxxdEventEntity> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(XxxdEventEntity::getId, xxxdEventEntityId);
try {
// 查询网格信息
GisFormDTO gisFormDTO = new GisFormDTO();
gisFormDTO.setLongitude(longitude);
gisFormDTO.setLatitude(latitude);
Result<GisGridDTO> gisGridRes = adminFeignClient.getGridByCoordinate(gisFormDTO);
if (!gisGridRes.success() || null == gisGridRes.getData()) {
internalRemark = "根据经纬度获取网格信息失败:" + gisGridRes.getMsg();
// return;
}else{
gridId = String.valueOf(gisGridRes.getData().getGridId());
gridName = gisGridRes.getData().getGridName();
communityId = String.valueOf(gisGridRes.getData().getCommunityId());
streetId = String.valueOf(gisGridRes.getData().getStreetId());
// 调用北上诉办-民生诉求方法
submitItemFormDTO.setGridId(gisGridRes.getData().getGridId());
submitItemFormDTO.setGrid(gisGridRes.getData().getGridName());
}
submitItemFormDTO.setGridId(1001L);
submitItemFormDTO.setGrid("test");
bssbEventId = this.submitMsFzItemResiForXxxd(submitItemFormDTO);
} catch (Exception e) {
internalRemark="上传到民生诉求异常";
log.error("submitXxxdEventToItem上传到民生诉求异常",e);
} finally {
log.info("最终都会被执行-------------------");
updateWrapper.set(StringUtils.isNotBlank(internalStatus), XxxdEventEntity::getInternalStatus, internalStatus)
.set(StringUtils.isNotBlank(bssbEventId), XxxdEventEntity::getBssbEventId, bssbEventId)
.set(StringUtils.isNotBlank(internalRemark), XxxdEventEntity::getInternalRemark, internalRemark)
.set(StringUtils.isNotBlank(gridId), XxxdEventEntity::getGridId, gridId)
.set(StringUtils.isNotBlank(gridName), XxxdEventEntity::getGridName, gridName)
.set(StringUtils.isNotBlank(communityId), XxxdEventEntity::getCommunityId, communityId)
.set(StringUtils.isNotBlank(streetId), XxxdEventEntity::getStreetId, streetId);
xxxdEventDao.update(null, updateWrapper);
}
}
}

Loading…
Cancel
Save