Browse Source

Merge branch 'dev_1118' into dev_youhua

# Conflicts:
#	esua-epdc/epdc-module/epdc-job/epdc-job-server/pom.xml
#	esua-epdc/epdc-module/pom.xml
feature/dangjian
管理员 6 years ago
parent
commit
73ee0625b8
  1. 7
      esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/AppMenuDTO.java
  2. 4
      esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/AppMenuDao.xml
  3. 1
      esua-epdc/epdc-commons/shibei-gird-sdk/src/main/java/com/elink/esua/epdc/gird/shibei/api/impl/ShiBeiCityGridApiImpl.java
  4. 4
      esua-epdc/epdc-commons/shibei-gird-sdk/src/main/java/com/elink/esua/epdc/gird/shibei/constant/CommonConstants.java
  5. 4
      esua-epdc/epdc-commons/shibei-gird-sdk/src/main/java/com/elink/esua/epdc/gird/shibei/util/XstreamUtil.java
  6. 2
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiItemController.java
  7. 16
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/entity/GridPlatformHandleLogEntity.java
  8. 12
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java
  9. 19
      esua-epdc/epdc-module/epdc-job/epdc-job-server/pom.xml
  10. 1
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java
  11. 2
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/PartyAuthenticationFailedDao.xml
  12. 4
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/PartyMembersDao.xml
  13. 176
      esua-epdc/epdc-module/epdc-webservice/src/main/java/com/elink/esua/epdc/dto/GridPlatformHandleLogDTO.java
  14. 101
      esua-epdc/epdc-module/epdc-webservice/src/main/java/com/elink/esua/epdc/dto/InterfaceLogDTO.java
  15. 91
      esua-epdc/epdc-module/epdc-webservice/src/main/java/com/elink/esua/epdc/dto/ItemGridPlatformDTO.java
  16. 8
      esua-epdc/epdc-module/epdc-webservice/src/main/java/com/elink/esua/epdc/dto/result/DataReturnDTO.java
  17. 4
      esua-epdc/epdc-module/epdc-webservice/src/main/java/com/elink/esua/epdc/service/CityGridInterfaceServiceWebService.java
  18. 485
      esua-epdc/epdc-module/epdc-webservice/src/main/java/com/elink/esua/epdc/service/impl/CityGridInterfaceServiceWebServiceImpl.java
  19. 237
      esua-epdc/epdc-module/epdc-webservice/src/main/java/com/elink/esua/epdc/utils/JaxbUtil.java
  20. 47
      esua-epdc/epdc-module/epdc-webservice/src/main/java/com/elink/esua/epdc/utils/XstreamUtil.java
  21. 1
      esua-epdc/epdc-module/pom.xml

7
esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/AppMenuDTO.java

@ -125,4 +125,11 @@ public class AppMenuDTO extends TreeNode<SysMenuDTO> implements Serializable {
* 是否显示数字 0否 1是
*/
private String numFlag;
//虚字段
/**
* 上级菜单名称
*/
private String parentName;
}

4
esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/AppMenuDao.xml

@ -18,9 +18,11 @@
<select id="selectByIdDIY" resultType="com.elink.esua.epdc.dto.AppMenuDTO">
SELECT
m.*,
l.field_value AS `NAME`
l.field_value AS `NAME`,
ll.field_value as parentName
FROM
sys_app_menu m
LEFT JOIN sys_language ll ON m.pid = ll.table_id
LEFT JOIN sys_language l ON m.id = l.table_id AND l.table_name = 'sys_app_menu' AND l.field_name = 'name' AND l.LANGUAGE = #{language}
WHERE m.del_flag = 0
AND m.id = #{id}

1
esua-epdc/epdc-commons/shibei-gird-sdk/src/main/java/com/elink/esua/epdc/gird/shibei/api/impl/ShiBeiCityGridApiImpl.java

@ -51,6 +51,7 @@ public class ShiBeiCityGridApiImpl implements ShiBeiCityGridApi {
public GridDto newSendInputInfo(SendInputInfoFormDto caseReportFormDto) {
Map<String, Object> map = Maps.newHashMap();
map.put("srtXml", XstreamUtil.objectToXml(caseReportFormDto));
LOGGER.info("strXml" + map.get("srtXml"));
GridDto girdDto = this.requestGird(ApiConstants.newSendInputInfo, map, GridDto.class);
if (girdDto == null) {
LOGGER.error("案件上报失败,案件内部编号:{}", caseReportFormDto.getHotLinesn());

4
esua-epdc/epdc-commons/shibei-gird-sdk/src/main/java/com/elink/esua/epdc/gird/shibei/constant/CommonConstants.java

@ -23,12 +23,12 @@ public class CommonConstants {
/**
* 案件属性
*/
public static String INFO_TYPE_ID="1";
public static String INFO_TYPE_ID = "18";
/**
* 案件大类
*/
public static String INFO_BC="99";
public static String INFO_BC = "01";
/**
* 案件小类

4
esua-epdc/epdc-commons/shibei-gird-sdk/src/main/java/com/elink/esua/epdc/gird/shibei/util/XstreamUtil.java

@ -1,10 +1,13 @@
package com.elink.esua.epdc.gird.shibei.util;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.converters.basic.DateConverter;
import com.thoughtworks.xstream.io.xml.DomDriver;
import com.thoughtworks.xstream.io.xml.XmlFriendlyNameCoder;
import com.thoughtworks.xstream.io.xml.XppDriver;
import java.util.TimeZone;
/**
* @author rongchao
* @Date 18-12-4
@ -37,6 +40,7 @@ public class XstreamUtil {
public static String objectToXml(Object obj) {
//解决下划线问题
XStream xStream = new XStream(new XppDriver(new XmlFriendlyNameCoder("_-", "_")));
xStream.registerConverter(new DateConverter("yyyy-MM-dd HH:mm:ss", null, TimeZone.getTimeZone("GMT+8")));
XStream.setupDefaultSecurity(xStream);
xStream.allowTypes(new Class[]{obj.getClass()});
//xstream使用注解转换

2
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiItemController.java

@ -54,7 +54,7 @@ public class ApiItemController {
@PostMapping("evaluation")
public Result evaluation(@LoginUser TokenDto userDetail, EvaluationFormDTO evaluationFormDTO) {
public Result evaluation(@LoginUser TokenDto userDetail, @RequestBody EvaluationFormDTO evaluationFormDTO) {
return itemService.evaluation(userDetail,evaluationFormDTO);
}

16
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/entity/GridPlatformHandleLogEntity.java

@ -17,8 +17,8 @@
package com.elink.esua.epdc.modules.item.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
@ -78,60 +78,70 @@ public class GridPlatformHandleLogEntity extends BaseEpdcEntity {
* 必填
* 派遣时间格式yyyy-MM-dd HH24:mm:ss
*/
@TableField(value = "DispatchTime")
private String dispatchTime;
/**
* 必填
* 派遣部门编号
*/
@TableField(value = "DeptCode")
private String deptCode;
/**
* 必填
* 派遣部门名称
*/
@TableField(value = "DeptName")
private String deptName;
/**
* 必填
* 主责部门编号
*/
@TableField(value = "ExecDeptCode")
private String execDeptCode;
/**
* 必填
* 主责部门名称
*/
@TableField(value = "ExecDeptName")
private String execDeptName;
/**
* 必填
* 到场时间要求分钟数
*/
@TableField(value = "CArriveTime")
private int carriveTime;
/**
* 必填
* 处置时间要求分钟数
*/
@TableField(value = "CSolvingTime")
private int csolvingTime;
/**
* 必填
* 到场截止时间格式yyyy-MM-dd HH24:mm:ss
*/
@TableField(value = "ArriveTime")
private String arriveTime;
/**
* 必填
* 处置截止时间格式yyyy-MM-dd HH24:mm:ss
*/
@TableField(value = "SolvingTime")
private String solvingTime;
/**
* 必填
* 派遣意见
*/
@TableField(value = "SolvingNote")
private String solvingNote;
//结案新增
@ -140,24 +150,28 @@ public class GridPlatformHandleLogEntity extends BaseEpdcEntity {
* 必填
* 结案时间格式yyyy-MM-dd HH24:mm:ss
*/
@TableField(value = "EndTime")
private String endTime;
/**
* 必填
* 最终处理时间格式yyyy-MM-dd HH24:mm:ss
*/
@TableField(value = "LastSolvingTime")
private String lastSolvingTime;
/**
* 必填
* 结案意见
*/
@TableField(value = "EndNote")
private String endNote;
/**
* 必填
* 结案评判实际解决解释说明等
*/
@TableField(value = "BanliResult")
private String banliResult;
}

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

@ -35,7 +35,10 @@ 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.GPSUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.constant.*;
import com.elink.esua.epdc.constant.EventIssueItemState;
import com.elink.esua.epdc.constant.EventsNoticeConstant;
import com.elink.esua.epdc.constant.ImageConstant;
import com.elink.esua.epdc.constant.ItemInformationConstant;
import com.elink.esua.epdc.constants.MenuCodeConstant;
import com.elink.esua.epdc.dto.CompleteDeptDTO;
import com.elink.esua.epdc.dto.DeptGridPlatformDTO;
@ -88,7 +91,6 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
@ -1019,16 +1021,16 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
// 发生地址
formDto.setStandardAddress(itemEntity.getIssueAddress());
// 问题描述
formDto.setDescription("测试ITEM-"+itemEntity.getItemContent());// 测试999勿删谢谢
formDto.setDescription(itemEntity.getItemContent());// 测试999勿删谢谢
// 反映人
formDto.setReportPerson(itemEntity.getNickName());// itemEntity.getNickName()测试人员
// 联系方式
formDto.setContactMode(itemEntity.getMobile());
double[] gps= GPSUtils.gcj02_To_Gps84(itemEntity.getIssueLatitude(),itemEntity.getIssueLongitude());
// 坐标X
formDto.setCoordX(new BigDecimal(gps[0]));
formDto.setCoordX(new BigDecimal(gps[1]).setScale(15, BigDecimal.ROUND_HALF_UP));
// 坐标Y
formDto.setCoordY(new BigDecimal(gps[1]));
formDto.setCoordY(new BigDecimal(gps[0]).setScale(15, BigDecimal.ROUND_HALF_UP));
// 监督员编号
formDto.setKeepersn("");
// 操作时间

19
esua-epdc/epdc-module/epdc-job/epdc-job-server/pom.xml

@ -207,22 +207,23 @@
<id>prod</id>
<properties>
<spring.profiles.active>prod</spring.profiles.active>
<docker.tag>prod</docker.tag>
<server.port>9061</server.port>
<spring.redis.index>2</spring.redis.index>
<spring.redis.host>47.104.224.45</spring.redis.host>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
<spring.redis.host>10.5.34.164</spring.redis.host>
<spring.redis.port>6379</spring.redis.port>
<spring.redis.password>elink@888</spring.redis.password>
<spring.redis.password>Elink@833066</spring.redis.password>
<spring.datasource.druid.url>
<![CDATA[jdbc:mysql://47.104.224.45:3308/esua_epdc_job?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
<![CDATA[jdbc:mysql://10.5.34.164:3306/esua_epdc_job?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</spring.datasource.druid.url>
<spring.datasource.druid.username>epdc</spring.datasource.druid.username>
<spring.datasource.druid.password>elink833066</spring.datasource.druid.password>
<nacos.register-enabled>false</nacos.register-enabled>
<nacos.server-addr>47.104.224.45:8848</nacos.server-addr>
<spring.datasource.druid.password>Elink@833066</spring.datasource.druid.password>
<!-- nacos -->
<nacos.register-enabled>true</nacos.register-enabled>
<nacos.server-addr>10.5.34.164:8848</nacos.server-addr>
</properties>
</profile>
</profiles>

1
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java

@ -210,6 +210,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
userAuthenticateHistoryEntity.setAuthenticatedFlag(YesOrNoEnum.NO.value());
}
userAuthenticateHistoryEntity.setRemark(dto.getRemark());
userAuthenticateHistoryEntity.setAuthenticatedType(AuthenticatedConsant.partyAuth); // 新维护的 认证类别(0-居民认证,1-党员认证,2-志愿者认证)
userAuthenticateHistoryDao.insert(userAuthenticateHistoryEntity);
}

2
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/PartyAuthenticationFailedDao.xml

@ -51,6 +51,8 @@
<if test="identityNo != '' and identityNo != null"> and epaf.IDENTITY_NO = #{identityNo}</if>
<if test="realName != '' and realName != null"> and epaf.real_name = #{realName}</if>
<if test="mobile != '' and mobile != null"> and epaf.mobile = #{mobile}</if>
ORDER BY
epaf.CREATED_TIME desc
</select>

4
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/PartyMembersDao.xml

@ -88,10 +88,10 @@
<select id="hasAuthenticationPartyPage" resultType="com.elink.esua.epdc.dto.PartyMembersDTO">
SELECT
pm.CADRE_FLAG,
pm.CREATED_BY,pm.CREATED_TIME,
pm.CREATED_BY,user.CREATED_TIME,
pm.DEPT_ID,
pm.ID,pm.IDENTITY_NO,pm.MOBILE,pm.POST,
pm.POST_VALUE,pm.REAL_NAME,pm.REGIST_FLAG,pm.REGIST_TIME,
pm.POST_VALUE,pm.REAL_NAME,pm.REGIST_FLAG,user.REGISTER_TIME as registTime,
pm.REVISION,
GROUP_CONCAT( ut.TAG_NAME ) TAG_NAME,
pm.ALL_DEPT_NAMES as allDeptNames

176
esua-epdc/epdc-module/epdc-webservice/src/main/java/com/elink/esua/epdc/dto/GridPlatformHandleLogDTO.java

@ -1,176 +0,0 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.dto;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 网格化平台处理日志表 网格化平台处理日志表
*
* @author qu qu@elink-cn.com
* @since v1.0.0 2019-12-31
*/
@Data
public class GridPlatformHandleLogDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private String id;
/**
* 网格化平台项目关系表ID
*/
private String itemGridPlatformId;
/**
* 状态 15-网格化平台-上报20-网格化平台-受理25-网格化平台-立案30-网格化平台-派遣35-网格化平台-中间再派40-网格化平台-接单45-网格化平台-处理50-网格化平台-中间督办55-网格化平台-催办55-网格化平台-结案
*/
private Integer status;
/**
* 项目处理表ID
*/
private String itemHandleProcessId;
/**
* 处理人
*/
private String handler;
/**
* 处理意见
*/
private String handlingOpinions;
/**
* 处理部门
*/
private String handlingDept;
/**
* 处理时间
*/
private Date handlingTime;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
/**
* 删除标记
*/
private String delFlag;
/**
* 派遣时间格式yyyy-MM-dd HH24:mm:ss
*/
private String dispatchTime;
/**
* 派遣部门编号
*/
private String deptCode;
/**
* 派遣部门名称
*/
private String deptName;
/**
* 主责部门编号
*/
private String execDeptCode;
/**
* 主责部门名称
*/
private String execDeptName;
/**
* 到场时间要求分钟数
*/
private Integer carriveTime;
/**
* 处置时间要求分钟数
*/
private Integer csolvingTime;
/**
* 到场截止时间格式yyyy-MM-dd HH24:mm:ss
*/
private String arriveTime;
/**
* 处置截止时间格式yyyy-MM-dd HH24:mm:ss
*/
private String solvingTime;
/**
* 派遣意见最终主责单位处理完成意见
*/
private String solvingNote;
/**
* 结案时间格式yyyy-MM-dd HH24:mm:ss
*/
private String endTime;
/**
* 最终处理时间格式yyyy-MM-dd HH24:mm:ss
*/
private String lastSolvingTime;
/**
* 结案意见
*/
private String endNote;
/**
* 结案评判实际解决解释说明等
*/
private String banliResult;
}

101
esua-epdc/epdc-module/epdc-webservice/src/main/java/com/elink/esua/epdc/dto/InterfaceLogDTO.java

@ -1,101 +0,0 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.dto;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 接口日志表 接口日志表
*
* @author qu qu@elink-cn.com
* @since v1.0.0 2019-12-31
*/
@Data
public class InterfaceLogDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private String id;
/**
* 引用ID
*/
private String referenceId;
/**
* 业务类型(1:项目上报网格化平台)
*/
private String businessType;
/**
* 调用接口名称
*/
private String interfaceName;
/**
* 调用是否成功 0-调用失败1-调用成功
*/
private String successFlag;
/**
* 调用消息体
*/
private String callMsgBody;
/**
* 调用返回消息体
*/
private String returnMsgBody;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
/**
* 删除标记
*/
private String delFlag;
}

91
esua-epdc/epdc-module/epdc-webservice/src/main/java/com/elink/esua/epdc/dto/ItemGridPlatformDTO.java

@ -1,91 +0,0 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.dto;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 网格化平台项目关系表 网格化平台项目关系表
*
* @author qu qu@elink-cn.com
* @since v1.0.0 2019-12-31
*/
@Data
public class ItemGridPlatformDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private String id;
/**
* 关联表ID
*/
private String referenceId;
/**
* 网格平台任务ID
*/
private String taskid;
/**
* 上报人部门ID
*/
private Long reportPersonDeptId;
/**
* 状态 15-网格化平台-上报20-网格化平台-受理25-网格化平台-立案30-网格化平台-派遣35-网格化平台-中间再派40-网格化平台-接单45-网格化平台-处理50-网格化平台-中间督办55-网格化平台-催办60-网格化平台-结案
*/
private Integer status;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
/**
* 删除标记
*/
private String delFlag;
}

8
esua-epdc/epdc-module/epdc-webservice/src/main/java/com/elink/esua/epdc/dto/result/DataReturnDTO.java

@ -10,9 +10,9 @@ import java.io.Serializable;
* @Author yinzuomei
* @Date 2019/12/30 12:47
*/
@XmlRootElement(name="DataReturn")
@XmlRootElement(name="ResultInfo")
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "DataReturn",propOrder = {"returnCode","returnDescription"})
@XmlType(name = "ResultInfo",propOrder = {"returnCode","returnDescription"})
@Data
public class DataReturnDTO implements Serializable {
private static final long serialVersionUID = 4331838364140467965L;
@ -20,13 +20,13 @@ public class DataReturnDTO implements Serializable {
/**
* 保存结果 1失败 0成功非空
*/
@XmlElement(name = "ReturnCode",required = true)
@XmlElement(name = "ResultValue",required = true)
private String returnCode;
/**
* 成功失败异常信息保存日志异常将写入异常日志
*/
@XmlElement(name="ReturnDescription",required = true)
@XmlElement(name="ResultMessage",required = true)
private String returnDescription;
public DataReturnDTO(){

4
esua-epdc/epdc-module/epdc-webservice/src/main/java/com/elink/esua/epdc/service/CityGridInterfaceServiceWebService.java

@ -6,11 +6,11 @@ import javax.jws.WebService;
/**
* @Auther: yinzuomei
* @Date: 2019/12/30 16:23
* @Date: 2019/12/30 16:23 name="CityGridInterfaceServiceWebService",
* @Description: 供网格化平台调用webservice接口
*/
// 命名空间,写一个有意义的http地址就行,并不是网上所说的要写成包名倒序,只不过写成包名倒序易读而已
@WebService(name = "CityGridInterfaceServiceWebService",targetNamespace = "http://service.epdc.esua.elink.com")
@WebService(targetNamespace = "http://service.epdc.esua.elink.com")
public interface CityGridInterfaceServiceWebService {
/**
* @param requestXML

485
esua-epdc/epdc-module/epdc-webservice/src/main/java/com/elink/esua/epdc/service/impl/CityGridInterfaceServiceWebServiceImpl.java

@ -31,262 +31,279 @@ import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.UUID;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* @Description 供网格化平台调用webservice接口实现
* @Author yinzuomei
* @Date 2019/12/30 16:24
*/
@WebService(serviceName = "CityGridInterfaceServiceWebServiceImpl",
targetNamespace = "http://impl.service.epdc.esua.elink.com",
endpointInterface = "com.elink.esua.epdc.service.CityGridInterfaceServiceWebService")
@WebService(serviceName = "CityGridInterfaceServiceWebService",
targetNamespace = "http://service.epdc.esua.elink.com",
endpointInterface = "com.elink.esua.epdc.service.CityGridInterfaceServiceWebService")
@Component
public class CityGridInterfaceServiceWebServiceImpl implements CityGridInterfaceServiceWebService {
private Logger logger = LogManager.getLogger(CityGridInterfaceServiceWebServiceImpl.class);
private Logger logger = LogManager.getLogger(CityGridInterfaceServiceWebServiceImpl.class);
private SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
private SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@Autowired
private ItemGridPlatformDao itemGridPlatformDao;
@Autowired
private ItemGridPlatformDao itemGridPlatformDao;
@Autowired
private ItemHandleProcessDao itemHandleProcessDao;
@Autowired
private ItemHandleProcessDao itemHandleProcessDao;
@Autowired
private GridPlatformHandleLogDao gridPlatformHandleLogDao;
@Autowired
private InterfaceLogDao interfaceLogDao;
@Autowired
private GridPlatformHandleLogDao gridPlatformHandleLogDao;
@Autowired
private InterfaceLogDao interfaceLogDao;
/**
* @param requestXML
* @return java.lang.String
* @Author yinzuomei
* @Description 测试
* @Date 2019/12/30 12:46
**/
@Override
public String test(String requestXML) {
logger.info("requestXML=" + requestXML);
TestDTO testDTO = JaxbUtil.converyToJavaBean(requestXML, TestDTO.class);
String xmlStr = JaxbUtil.convertToXml(testDTO);
return "调用成功" + xmlStr;
}
/**
* @param requestXML
* @return java.lang.String
* @Author yinzuomei
* @Description 测试
* @Date 2019/12/30 12:46
**/
@Override
public String test(String requestXML) {
logger.info("requestXML=" + requestXML);
TestDTO testDTO = JaxbUtil.converyToJavaBean(requestXML, TestDTO.class);
String xmlStr = JaxbUtil.convertToXml(testDTO);
return "调用成功" + xmlStr;
}
public static void main(String[] args) {
DataReturnDTO dataReturnDTO = new DataReturnDTO();
System.out.println(JaxbUtil.convertToXmlIgnoreStandalone(dataReturnDTO, "utf-8"));
}
/**
* @param requestXML
* @return java.lang.String
* @Author yinzuomei
* @Description 派遣信息网格化系统将立案部门的主责派遣信息同步给外系统系统多次主责派遣将同步多次
* @Date 2019/12/30 16:40
**/
@Override
@Transactional(rollbackFor = Exception.class)
public String SyncTaskDispatch(String requestXML) {
DataReturnDTO dataReturnDTO = new DataReturnDTO();
//1、requestXML转化成Dto异常返回异常
logger.info("requestXML=" + requestXML);
String successFlag = YesOrNoEnum.YES.value();
ItemGridPlatformEntity itemGridPlatformEntity = null;
try {
//1、requestXML转化成Dto异常返回异常
ItemPlatformSyncTaskDispatchFormDTO formDto = JaxbUtil.converyToJavaBean(requestXML, ItemPlatformSyncTaskDispatchFormDTO.class);
//2、构造数据处理对象
itemGridPlatformEntity = getItemGridPlatformEntity(formDto.getTaskNum());
if (null == itemGridPlatformEntity) {
throw new Exception("根据任务号没有找到项目信息");
}
itemGridPlatformEntity.setStatus(ItemGridPlatformHandleStatusEnum.HANDLE_PQ.getValue());
Date nowDate = new Date();
ItemHandleProcessDTO itemHandleProcessDTO = constructItemHandleProcessDTO(itemGridPlatformEntity.getReferenceId(), formDto, nowDate);
GridPlatformHandleLogEntity gridPlatformHandleLogEntity = constructGridPlatformHandleLogEntity(itemGridPlatformEntity, itemHandleProcessDTO, formDto, nowDate);
//3、统一进行数据库操作
itemGridPlatformDao.updateById(itemGridPlatformEntity);//网格化平台项目关系表修改状态
itemHandleProcessDao.insertItemHandleProcess(itemHandleProcessDTO);//项目处理流程表新增一条处理记录
gridPlatformHandleLogDao.insertGridPlatformHandleLog(gridPlatformHandleLogEntity);//网格化平台处理日志表新增一条处理记录
} catch (Exception e) {
e.printStackTrace();
successFlag = YesOrNoEnum.NO.value();
dataReturnDTO.setReturnCode(NumConstant.ONE_STR);
dataReturnDTO.setReturnDescription("失败" + e.getMessage());
throw new Exception("接口异常" + e.getMessage());
} finally {
insertInterfaceLog(itemGridPlatformEntity, requestXML,
JaxbUtil.convertToXml(dataReturnDTO),
successFlag,
InterfaceLogBusinessTypeEnum.SYNC_TASK_DISPATCH.getValue(),
ItemPlatFormConstant.SyncTaskDispatch);//接口日志表新增一条处理记录
return JaxbUtil.convertToXml(dataReturnDTO);
}
}
/**
* @param requestXML
* @return java.lang.String
* @Author yinzuomei
* @Description 派遣信息网格化系统将立案部门的主责派遣信息同步给外系统系统多次主责派遣将同步多次
* @Date 2019/12/30 16:40
**/
@Override
@Transactional(rollbackFor = Exception.class)
public String SyncTaskDispatch(String requestXML) {
DataReturnDTO dataReturnDTO = new DataReturnDTO();
//1、requestXML转化成Dto异常返回异常
logger.info("requestXML=" + requestXML);
String successFlag = YesOrNoEnum.YES.value();
ItemGridPlatformEntity itemGridPlatformEntity = null;
try {
//1、requestXML转化成Dto异常返回异常
ItemPlatformSyncTaskDispatchFormDTO formDto = JaxbUtil.converyToJavaBean(requestXML, ItemPlatformSyncTaskDispatchFormDTO.class);
//2、构造数据处理对象
itemGridPlatformEntity = getItemGridPlatformEntity(formDto.getTaskNum());
if (null == itemGridPlatformEntity) {
throw new Exception("根据任务号没有找到项目信息");
}
itemGridPlatformEntity.setStatus(ItemGridPlatformHandleStatusEnum.HANDLE_PQ.getValue());
Date nowDate = new Date();
ItemHandleProcessDTO itemHandleProcessDTO = constructItemHandleProcessDTO(itemGridPlatformEntity.getReferenceId(), formDto, nowDate);
GridPlatformHandleLogEntity gridPlatformHandleLogEntity = constructGridPlatformHandleLogEntity(itemGridPlatformEntity, itemHandleProcessDTO, formDto, nowDate);
//3、统一进行数据库操作
itemGridPlatformDao.updateById(itemGridPlatformEntity);//网格化平台项目关系表修改状态
itemHandleProcessDao.insertItemHandleProcess(itemHandleProcessDTO);//项目处理流程表新增一条处理记录
gridPlatformHandleLogDao.insertGridPlatformHandleLog(gridPlatformHandleLogEntity);//网格化平台处理日志表新增一条处理记录
} catch (Exception e) {
e.printStackTrace();
successFlag = YesOrNoEnum.NO.value();
dataReturnDTO.setReturnCode(NumConstant.ONE_STR);
dataReturnDTO.setReturnDescription("失败" + e.getMessage());
throw new Exception("接口异常" + e.getMessage());
} finally {
// 接口日志表新增一条处理记录
insertInterfaceLog(itemGridPlatformEntity, requestXML,
JaxbUtil.convertToXml(dataReturnDTO),
successFlag,
InterfaceLogBusinessTypeEnum.SYNC_TASK_DISPATCH.getValue(),
ItemPlatFormConstant.SyncTaskDispatch);
return replaceBlank(JaxbUtil.convertToXmlIgnoreXmlHead(dataReturnDTO, "utf-8"));
}
}
/**
* @param taskNum
* @return com.elink.esua.epdc.modules.item.entity.ItemGridPlatformEntity
* @Author yinzuomei
* @Description 根据任务号网格平台任务ID查询ItemGridPlatformEntity
* @Date 2019/12/29 14:50
**/
private ItemGridPlatformEntity getItemGridPlatformEntity(String taskNum) {
return itemGridPlatformDao.selectByTaskId(taskNum);
}
private Pattern p = Pattern.compile("\\s*|\t|\r|\n");
/**
* @param itemGridPlatformEntity
* @param formDto
* @return com.elink.esua.epdc.modules.item.entity.GridPlatformHandleLogEntity
* @Author yinzuomei
* @Description 网格化平台处理日志表
* @Date 2019/12/29 14:39
**/
private GridPlatformHandleLogEntity constructGridPlatformHandleLogEntity(ItemGridPlatformEntity itemGridPlatformEntity,
ItemHandleProcessDTO itemHandleProcessDTO,
ItemPlatformSyncTaskDispatchFormDTO formDto,
Date nowDate) throws ParseException {
GridPlatformHandleLogEntity entity = ConvertUtils.sourceToTarget(formDto, GridPlatformHandleLogEntity.class);
entity.setItemGridPlatformId(itemGridPlatformEntity.getId());
entity.setStatus(ItemGridPlatformHandleStatusEnum.HANDLE_PQ.getValue());
entity.setItemHandleProcessId(itemHandleProcessDTO.getId());
entity.setHandlingOpinions(formDto.getSolvingNote());
entity.setHandlingDept(formDto.getDeptName());
String dispatchTime = formDto.getDispatchTime();
entity.setHandlingTime(format.parse(dispatchTime));
entity.setCreatedTime(nowDate);
entity.setUpdatedTime(nowDate);
return entity;
}
private String replaceBlank(String str) {
String dest = "";
if (str != null) {
Matcher m = p.matcher(str);
dest = m.replaceAll("");
}
return dest;
}
/**
* @param itemId
* @param formDto
* @return com.elink.esua.epdc.dto.item.ItemHandleProcessDTO
* @Author yinzuomei
* @Description 构造 项目处理流程表对象
* @Date 2019/12/29 13:59
**/
public ItemHandleProcessDTO constructItemHandleProcessDTO(String itemId, ItemPlatformSyncTaskDispatchFormDTO formDto, Date nowDate) {
ItemHandleProcessDTO itemHandleProcessDTO = new ItemHandleProcessDTO();
String id = UUID.randomUUID().toString().replaceAll("-", "");
itemHandleProcessDTO.setId(id);
itemHandleProcessDTO.setItemId(itemId);
itemHandleProcessDTO.setState(ItemGridPlatformHandleStatusEnum.HANDLE_PQ.getValue());
itemHandleProcessDTO.setHandleAdvice(formDto.getSolvingNote());
itemHandleProcessDTO.setOutHandleAdvice(formDto.getSolvingNote());
itemHandleProcessDTO.setHandlerDeptId(Long.valueOf(formDto.getDeptCode()));// 存储平台部门id有必要吗?????
itemHandleProcessDTO.setHandlerDept(formDto.getDeptName());
itemHandleProcessDTO.setCreatedTime(nowDate);//测试事务回滚可以注释掉此行代码
itemHandleProcessDTO.setUpdatedTime(nowDate);
return itemHandleProcessDTO;
}
/**
* @param taskNum
* @return com.elink.esua.epdc.modules.item.entity.ItemGridPlatformEntity
* @Author yinzuomei
* @Description 根据任务号网格平台任务ID查询ItemGridPlatformEntity
* @Date 2019/12/29 14:50
**/
private ItemGridPlatformEntity getItemGridPlatformEntity(String taskNum) {
return itemGridPlatformDao.selectByTaskId(taskNum);
}
/**
* @param itemGridPlatformEntity
* @param requestXML
* @param successFlag
* @return void
* @Author yinzuomei
* @Description 保存接口日志记录
* @Date 2019/12/29 14:35
**/
public void insertInterfaceLog(ItemGridPlatformEntity itemGridPlatformEntity,
String requestXML,
String returnMsgBody,
String successFlag,
String businessType,
String interfaceName) {
InterfaceLogEntity interfaceLogEntity = new InterfaceLogEntity();
if (null != itemGridPlatformEntity) {
interfaceLogEntity.setReferenceId(itemGridPlatformEntity.getReferenceId());
} else {
interfaceLogEntity.setReferenceId(NumConstant.ZERO_STR);//默认0
}
interfaceLogEntity.setBusinessType(businessType);
interfaceLogEntity.setInterfaceName(interfaceName);
interfaceLogEntity.setSuccessFlag(successFlag);
interfaceLogEntity.setCallMsgBody(requestXML);
interfaceLogEntity.setReturnMsgBody(returnMsgBody);
interfaceLogDao.insert(interfaceLogEntity);
}
/**
* @param itemGridPlatformEntity
* @param formDto
* @return com.elink.esua.epdc.modules.item.entity.GridPlatformHandleLogEntity
* @Author yinzuomei
* @Description 网格化平台处理日志表
* @Date 2019/12/29 14:39
**/
private GridPlatformHandleLogEntity constructGridPlatformHandleLogEntity(ItemGridPlatformEntity itemGridPlatformEntity,
ItemHandleProcessDTO itemHandleProcessDTO,
ItemPlatformSyncTaskDispatchFormDTO formDto,
Date nowDate) throws ParseException {
GridPlatformHandleLogEntity entity = ConvertUtils.sourceToTarget(formDto, GridPlatformHandleLogEntity.class);
entity.setItemGridPlatformId(itemGridPlatformEntity.getId());
entity.setStatus(ItemGridPlatformHandleStatusEnum.HANDLE_PQ.getValue());
entity.setItemHandleProcessId(itemHandleProcessDTO.getId());
entity.setHandlingOpinions(formDto.getSolvingNote());
entity.setHandlingDept(formDto.getDeptName());
String dispatchTime = formDto.getDispatchTime();
entity.setHandlingTime(format.parse(dispatchTime));
entity.setCreatedTime(nowDate);
entity.setUpdatedTime(nowDate);
return entity;
}
/**
* @param requestXML
* @return java.lang.String
* @Author yinzuomei
* @Description
* @Date 2019/12/30 16:40
**/
@Override
@Transactional(rollbackFor = Exception.class)
public String SyncTaskEnd(String requestXML) {
DataReturnDTO dataReturnDTO = new DataReturnDTO();
//1、requestXML转化成Dto异常返回异常
logger.info("requestXML=" + requestXML);
String successFlag = YesOrNoEnum.YES.value();
ItemGridPlatformEntity itemGridPlatformEntity = null;
try {
//1、requestXML转化成Dto异常返回异常
ItemPlatformSyncTaskEndFormDTO syncTaskEndFormDTO = JaxbUtil.converyToJavaBean(requestXML, ItemPlatformSyncTaskEndFormDTO.class);
//2、构造数据处理对象
itemGridPlatformEntity = getItemGridPlatformEntity(syncTaskEndFormDTO.getTaskNum());
if (null == itemGridPlatformEntity) {
throw new Exception("根据任务号没有找到项目信息");
}
itemGridPlatformEntity.setStatus(ItemGridPlatformHandleStatusEnum.HANDLE_JA.getValue());
Date nowDate = new Date();
ItemHandleProcessDTO itemHandleProcessDTO = getItemHandleProcessDTO(itemGridPlatformEntity.getReferenceId(), syncTaskEndFormDTO, nowDate);
GridPlatformHandleLogEntity gridPlatformHandleLogEntity = getGridPlatformHandleLogEntity(itemGridPlatformEntity, itemHandleProcessDTO, syncTaskEndFormDTO, nowDate);
//3、统一进行数据库操作
itemGridPlatformDao.updateById(itemGridPlatformEntity);//网格化平台项目关系表修改状态
itemHandleProcessDao.insertItemHandleProcess(itemHandleProcessDTO);//项目处理流程表新增一条处理记录
gridPlatformHandleLogDao.insertGridPlatformHandleLog(gridPlatformHandleLogEntity);//网格化平台处理日志表新增一条处理记录
} catch (Exception e) {
e.printStackTrace();
successFlag = YesOrNoEnum.NO.value();
dataReturnDTO.setReturnCode(NumConstant.ONE_STR);
dataReturnDTO.setReturnDescription("失败" + e.getMessage());
throw new Exception("接口异常" + e.getMessage());
} finally {
insertInterfaceLog(itemGridPlatformEntity, requestXML,
JaxbUtil.convertToXml(dataReturnDTO),
successFlag,
InterfaceLogBusinessTypeEnum.SYNC_TASK_END.getValue(),
ItemPlatFormConstant.SyncTaskEnd);//接口日志表新增一条处理记录
return JaxbUtil.convertToXml(dataReturnDTO);
}
}
/**
* @param itemId
* @param formDto
* @return com.elink.esua.epdc.dto.item.ItemHandleProcessDTO
* @Author yinzuomei
* @Description 构造 项目处理流程表对象
* @Date 2019/12/29 13:59
**/
public ItemHandleProcessDTO constructItemHandleProcessDTO(String itemId, ItemPlatformSyncTaskDispatchFormDTO formDto, Date nowDate) {
ItemHandleProcessDTO itemHandleProcessDTO = new ItemHandleProcessDTO();
String id = UUID.randomUUID().toString().replaceAll("-", "");
itemHandleProcessDTO.setId(id);
itemHandleProcessDTO.setItemId(itemId);
itemHandleProcessDTO.setState(ItemGridPlatformHandleStatusEnum.HANDLE_PQ.getValue());
itemHandleProcessDTO.setHandleAdvice(formDto.getSolvingNote());
itemHandleProcessDTO.setOutHandleAdvice(formDto.getSolvingNote());
itemHandleProcessDTO.setHandlerDept(formDto.getDeptName());
itemHandleProcessDTO.setCreatedTime(nowDate);//测试事务回滚可以注释掉此行代码
itemHandleProcessDTO.setUpdatedTime(nowDate);
return itemHandleProcessDTO;
}
private GridPlatformHandleLogEntity getGridPlatformHandleLogEntity(ItemGridPlatformEntity itemGridPlatformEntity,
ItemHandleProcessDTO itemHandleProcessDTO,
ItemPlatformSyncTaskEndFormDTO syncTaskEndFormDTO,
Date nowDate) throws ParseException {
GridPlatformHandleLogEntity entity = ConvertUtils.sourceToTarget(syncTaskEndFormDTO, GridPlatformHandleLogEntity.class);
entity.setItemGridPlatformId(itemGridPlatformEntity.getId());
entity.setStatus(ItemGridPlatformHandleStatusEnum.HANDLE_JA.getValue());
entity.setItemHandleProcessId(itemHandleProcessDTO.getId());
entity.setHandlingOpinions(syncTaskEndFormDTO.getEndNote());
entity.setHandlingDept(syncTaskEndFormDTO.getDeptName());
String dispatchTime = syncTaskEndFormDTO.getEndTime();
entity.setHandlingTime(format.parse(dispatchTime));
entity.setCreatedTime(nowDate);
entity.setUpdatedTime(nowDate);
return entity;
}
/**
* @param itemGridPlatformEntity
* @param requestXML
* @param successFlag
* @return void
* @Author yinzuomei
* @Description 保存接口日志记录
* @Date 2019/12/29 14:35
**/
public void insertInterfaceLog(ItemGridPlatformEntity itemGridPlatformEntity,
String requestXML,
String returnMsgBody,
String successFlag,
String businessType,
String interfaceName) {
InterfaceLogEntity interfaceLogEntity = new InterfaceLogEntity();
if (null != itemGridPlatformEntity) {
interfaceLogEntity.setReferenceId(itemGridPlatformEntity.getReferenceId());
} else {
interfaceLogEntity.setReferenceId(NumConstant.ZERO_STR);//默认0
}
interfaceLogEntity.setBusinessType(businessType);
interfaceLogEntity.setInterfaceName(interfaceName);
interfaceLogEntity.setSuccessFlag(successFlag);
interfaceLogEntity.setCallMsgBody(requestXML);
interfaceLogEntity.setReturnMsgBody(returnMsgBody);
interfaceLogDao.insert(interfaceLogEntity);
}
private ItemHandleProcessDTO getItemHandleProcessDTO(String itemId,
ItemPlatformSyncTaskEndFormDTO syncTaskEndFormDTO,
Date nowDate) {
ItemHandleProcessDTO itemHandleProcessDTO = new ItemHandleProcessDTO();
String id = UUID.randomUUID().toString().replaceAll("-", "");
itemHandleProcessDTO.setId(id);
itemHandleProcessDTO.setItemId(itemId);
itemHandleProcessDTO.setState(ItemGridPlatformHandleStatusEnum.HANDLE_JA.getValue());
itemHandleProcessDTO.setHandleAdvice(syncTaskEndFormDTO.getEndNote());
itemHandleProcessDTO.setOutHandleAdvice(syncTaskEndFormDTO.getEndNote());
itemHandleProcessDTO.setHandlerDept(syncTaskEndFormDTO.getDeptName());
itemHandleProcessDTO.setCreatedTime(nowDate);//测试事务回滚可以注释掉此行代码
itemHandleProcessDTO.setUpdatedTime(nowDate);
return itemHandleProcessDTO;
}
/**
* @param requestXML
* @return java.lang.String
* @Author yinzuomei
* @Description
* @Date 2019/12/30 16:40
**/
@Override
@Transactional(rollbackFor = Exception.class)
public String SyncTaskEnd(String requestXML) {
DataReturnDTO dataReturnDTO = new DataReturnDTO();
//1、requestXML转化成Dto异常返回异常
logger.info("requestXML=" + requestXML);
String successFlag = YesOrNoEnum.YES.value();
ItemGridPlatformEntity itemGridPlatformEntity = null;
try {
//1、requestXML转化成Dto异常返回异常
ItemPlatformSyncTaskEndFormDTO syncTaskEndFormDTO = JaxbUtil.converyToJavaBean(requestXML, ItemPlatformSyncTaskEndFormDTO.class);
//2、构造数据处理对象
itemGridPlatformEntity = getItemGridPlatformEntity(syncTaskEndFormDTO.getTaskNum());
if (null == itemGridPlatformEntity) {
throw new Exception("根据任务号没有找到项目信息");
}
itemGridPlatformEntity.setStatus(ItemGridPlatformHandleStatusEnum.HANDLE_JA.getValue());
Date nowDate = new Date();
ItemHandleProcessDTO itemHandleProcessDTO = getItemHandleProcessDTO(itemGridPlatformEntity.getReferenceId(), syncTaskEndFormDTO, nowDate);
GridPlatformHandleLogEntity gridPlatformHandleLogEntity = getGridPlatformHandleLogEntity(itemGridPlatformEntity, itemHandleProcessDTO, syncTaskEndFormDTO, nowDate);
//3、统一进行数据库操作
itemGridPlatformDao.updateById(itemGridPlatformEntity);//网格化平台项目关系表修改状态
itemHandleProcessDao.insertItemHandleProcess(itemHandleProcessDTO);//项目处理流程表新增一条处理记录
gridPlatformHandleLogDao.insertGridPlatformHandleLog(gridPlatformHandleLogEntity);//网格化平台处理日志表新增一条处理记录
} catch (Exception e) {
e.printStackTrace();
successFlag = YesOrNoEnum.NO.value();
dataReturnDTO.setReturnCode(NumConstant.ONE_STR);
dataReturnDTO.setReturnDescription("失败" + e.getMessage());
throw new Exception("接口异常" + e.getMessage());
} finally {
insertInterfaceLog(itemGridPlatformEntity, requestXML,
JaxbUtil.convertToXml(dataReturnDTO),
successFlag,
InterfaceLogBusinessTypeEnum.SYNC_TASK_END.getValue(),
ItemPlatFormConstant.SyncTaskEnd);//接口日志表新增一条处理记录
return replaceBlank(JaxbUtil.convertToXmlIgnoreXmlHead(dataReturnDTO, "utf-8"));
}
}
private GridPlatformHandleLogEntity getGridPlatformHandleLogEntity(ItemGridPlatformEntity itemGridPlatformEntity,
ItemHandleProcessDTO itemHandleProcessDTO,
ItemPlatformSyncTaskEndFormDTO syncTaskEndFormDTO,
Date nowDate) throws ParseException {
GridPlatformHandleLogEntity entity = ConvertUtils.sourceToTarget(syncTaskEndFormDTO, GridPlatformHandleLogEntity.class);
entity.setItemGridPlatformId(itemGridPlatformEntity.getId());
entity.setStatus(ItemGridPlatformHandleStatusEnum.HANDLE_JA.getValue());
entity.setItemHandleProcessId(itemHandleProcessDTO.getId());
entity.setHandlingOpinions(syncTaskEndFormDTO.getEndNote());
entity.setHandlingDept(syncTaskEndFormDTO.getDeptName());
String dispatchTime = syncTaskEndFormDTO.getEndTime();
entity.setHandlingTime(format.parse(dispatchTime));
entity.setCreatedTime(nowDate);
entity.setUpdatedTime(nowDate);
return entity;
}
private ItemHandleProcessDTO getItemHandleProcessDTO(String itemId,
ItemPlatformSyncTaskEndFormDTO syncTaskEndFormDTO,
Date nowDate) {
ItemHandleProcessDTO itemHandleProcessDTO = new ItemHandleProcessDTO();
String id = UUID.randomUUID().toString().replaceAll("-", "");
itemHandleProcessDTO.setId(id);
itemHandleProcessDTO.setItemId(itemId);
itemHandleProcessDTO.setState(ItemGridPlatformHandleStatusEnum.HANDLE_JA.getValue());
itemHandleProcessDTO.setHandleAdvice(syncTaskEndFormDTO.getEndNote());
itemHandleProcessDTO.setOutHandleAdvice(syncTaskEndFormDTO.getEndNote());
itemHandleProcessDTO.setHandlerDept(syncTaskEndFormDTO.getDeptName());
itemHandleProcessDTO.setCreatedTime(nowDate);//测试事务回滚可以注释掉此行代码
itemHandleProcessDTO.setUpdatedTime(nowDate);
return itemHandleProcessDTO;
}
}

237
esua-epdc/epdc-module/epdc-webservice/src/main/java/com/elink/esua/epdc/utils/JaxbUtil.java

@ -5,6 +5,7 @@ package com.elink.esua.epdc.utils;
* @Author yinzuomei
* @Date 2019/12/30 17:46
*/
import org.apache.tomcat.jni.Global;
import java.io.IOException;
@ -19,13 +20,13 @@ import javax.xml.bind.Unmarshaller;
public class JaxbUtil {//工具类
/**
* java对象转换为xml文件
* @param xmlPath xml文件路径
* @param load java对象.Class
* @return xml文件的String
* @throws JAXBException
*/
/**
* java对象转换为xml文件
* @param xmlPath xml文件路径
* @param load java对象.Class
* @return xml文件的String
* @throws JAXBException
*/
// public static String beanToXml(Object obj, Class<?> load) throws JAXBException {
// JAXBContext context = JAXBContext.newInstance(load);
// Marshaller marshaller = context.createMarshaller();
@ -36,101 +37,131 @@ public class JaxbUtil {//工具类
// return writer.toString();
// }
/**
* xml文件配置转换为对象
* @param xmlPath xml文件路径
* @param load java对象.Class
* @return java对象
* @throws JAXBException
* @throws IOException
*/
@SuppressWarnings("unchecked")
public static <T> T xmlToBean(String xmlPath, Class<T> load) throws JAXBException, IOException {
JAXBContext context = JAXBContext.newInstance(load);
Unmarshaller unmarshaller = context.createUnmarshaller();
return (T) unmarshaller.unmarshal(new StringReader(xmlPath));
}
/**
* JavaBean转换成xml
* 默认编码UTF-8
* @param obj
* @return
*/
public static String convertToXml(Object obj) {
// return convertToXml(obj, "UTF-8");
return convertToXml(obj, "UTF-8");
}
/**
* JavaBean转换成xml
* @param obj
* @param encoding
* @return
*/
public static String convertToXml(Object obj, String encoding) {
String result = null;
try {
JAXBContext context = JAXBContext.newInstance(obj.getClass());
Marshaller marshaller = context.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
marshaller.setProperty(Marshaller.JAXB_ENCODING, encoding);
StringWriter writer = new StringWriter();
marshaller.marshal(obj, writer);
result = writer.toString();
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
/**
* JavaBean转换成xml去除xml声明部分
* @param obj
* @param encoding
* @return
*/
public static String convertToXmlIgnoreXmlHead(Object obj, String encoding) {
String result = null;
try {
JAXBContext context = JAXBContext.newInstance(obj.getClass());
Marshaller marshaller = context.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
marshaller.setProperty(Marshaller.JAXB_ENCODING, encoding);
marshaller.setProperty(Marshaller.JAXB_FRAGMENT, true);
StringWriter writer = new StringWriter();
marshaller.marshal(obj, writer);
result = writer.toString();
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
/**
* xml转换成JavaBean
* @param xml
* @param c
* @return
*/
@SuppressWarnings("unchecked")
public static <T> T converyToJavaBean(String xml, Class<T> c) {
T t = null;
try {
JAXBContext context = JAXBContext.newInstance(c);
Unmarshaller unmarshaller = context.createUnmarshaller();
t = (T) unmarshaller.unmarshal(new StringReader(xml));
} catch (Exception e) {
e.printStackTrace();
}
return t;
}
/**
* xml文件配置转换为对象
*
* @param xmlPath xml文件路径
* @param load java对象.Class
* @return java对象
* @throws JAXBException
* @throws IOException
*/
@SuppressWarnings("unchecked")
public static <T> T xmlToBean(String xmlPath, Class<T> load) throws JAXBException, IOException {
JAXBContext context = JAXBContext.newInstance(load);
Unmarshaller unmarshaller = context.createUnmarshaller();
return (T) unmarshaller.unmarshal(new StringReader(xmlPath));
}
/**
* JavaBean转换成xml
* 默认编码UTF-8
*
* @param obj
* @return
*/
public static String convertToXml(Object obj) {
// return convertToXml(obj, "UTF-8");
return convertToXml(obj, "UTF-8");
}
/**
* JavaBean转换成xml
*
* @param obj
* @param encoding
* @return
*/
public static String convertToXml(Object obj, String encoding) {
String result = null;
try {
JAXBContext context = JAXBContext.newInstance(obj.getClass());
Marshaller marshaller = context.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
marshaller.setProperty(Marshaller.JAXB_ENCODING, encoding);
marshaller.setProperty(Marshaller.JAXB_FRAGMENT, Boolean.FALSE);
StringWriter writer = new StringWriter();
marshaller.marshal(obj, writer);
result = writer.toString();
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
/**
* JavaBean转换成xml去除xml声明部分
*
* @param obj
* @param encoding
* @return
*/
public static String convertToXmlIgnoreXmlHead(Object obj, String encoding) {
String result = null;
try {
JAXBContext context = JAXBContext.newInstance(obj.getClass());
Marshaller marshaller = context.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
marshaller.setProperty(Marshaller.JAXB_ENCODING, encoding);
marshaller.setProperty(Marshaller.JAXB_FRAGMENT, true);
StringWriter writer = new StringWriter();
marshaller.marshal(obj, writer);
result = writer.toString();
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
/**
* JavaBean转换成xml去除xml声明部分
*
* @param obj
* @param encoding
* @return
*/
public static String convertToXmlIgnoreStandalone(Object obj, String encoding) {
String result = null;
try {
JAXBContext context = JAXBContext.newInstance(obj.getClass());
Marshaller marshaller = context.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
marshaller.setProperty(Marshaller.JAXB_ENCODING, encoding);
marshaller.setProperty(Marshaller.JAXB_FRAGMENT, true);
StringWriter writer = new StringWriter();
writer.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
marshaller.marshal(obj, writer);
result = writer.toString();
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
/**
* xml转换成JavaBean
*
* @param xml
* @param c
* @return
*/
@SuppressWarnings("unchecked")
public static <T> T converyToJavaBean(String xml, Class<T> c) {
T t = null;
try {
JAXBContext context = JAXBContext.newInstance(c);
Unmarshaller unmarshaller = context.createUnmarshaller();
t = (T) unmarshaller.unmarshal(new StringReader(xml));
} catch (Exception e) {
e.printStackTrace();
}
return t;
}
}

47
esua-epdc/epdc-module/epdc-webservice/src/main/java/com/elink/esua/epdc/utils/XstreamUtil.java

@ -1,47 +0,0 @@
package com.elink.esua.epdc.utils;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;
import com.thoughtworks.xstream.io.xml.XmlFriendlyNameCoder;
import com.thoughtworks.xstream.io.xml.XppDriver;
/**
* @author rongchao
* @Date 18-12-4
*/
public class XstreamUtil {
/**
* 将xml转换为bean
*
* @param <T> 泛型
* @param xml 要转换为bean的xml
* @param cls bean对应的Class
* @return xml转换为bean
*/
public static <T> T xmlToObject(String xml, Class<T> cls) {
XStream xStream = new XStream(new DomDriver());
XStream.setupDefaultSecurity(xStream);
xStream.allowTypes(new Class[]{cls});
//xstream使用注解转换
xStream.processAnnotations(cls);
return (T) xStream.fromXML(xStream.fromXML(xml).toString());
}
/**
* 将bean转换为xml
*
* @param obj
* @return
*/
public static String objectToXml(Object obj) {
//解决下划线问题
XStream xStream = new XStream(new XppDriver(new XmlFriendlyNameCoder("_-", "_")));
XStream.setupDefaultSecurity(xStream);
xStream.allowTypes(new Class[]{obj.getClass()});
//xstream使用注解转换
xStream.processAnnotations(obj.getClass());
return xStream.toXML(obj);
}
}

1
esua-epdc/epdc-module/pom.xml

@ -29,6 +29,7 @@
<module>epdc-websocket</module>
<module>epdc-kpi</module>
<module>epdc-points</module>
<module>epdc-webservice</module>
</modules>
</project>

Loading…
Cancel
Save