From 85584212472de2f37fb8253c79c937adb88100b7 Mon Sep 17 00:00:00 2001 From: zhengyf Date: Thu, 31 Oct 2024 16:08:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BD=E7=9F=A5:=E9=92=89=E9=92=89=E5=9B=9E?= =?UTF-8?q?=E8=B0=83=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/CallBackServiceImpl.java | 140 +++++++++++++++++- .../lets/dingtalk/dao/IDingU8cBillDao.java | 1 + .../dingtalk/dao/impl/DingU8cBillDaoImpl.java | 49 +++++- .../dingtalk/entity/DingU8cBillEntity.java | 2 + .../dingtalk/entity/DingU8cBillEntity.xml | 11 +- .../push/serivce/impl/PushU8CServiceImpl.java | 76 +++++----- 6 files changed, 233 insertions(+), 46 deletions(-) diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/callback/service/impl/CallBackServiceImpl.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/callback/service/impl/CallBackServiceImpl.java index acf4ca5c..eef04f0a 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/callback/service/impl/CallBackServiceImpl.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/callback/service/impl/CallBackServiceImpl.java @@ -3,20 +3,44 @@ package com.hzya.frame.plugin.lets.dingtalk.callback.service.impl; import cn.hutool.core.lang.Assert; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.aliyun.dingtalkoauth2_1_0.models.GetAccessTokenResponseBody; +import com.aliyun.dingtalkworkflow_1_0.models.GetProcessInstanceResponse; +import com.aliyun.dingtalkworkflow_1_0.models.GetProcessInstanceResponseBody; import com.hzya.frame.plugin.lets.dingtalk.callback.service.CallBackService; +import com.hzya.frame.plugin.lets.dingtalk.dao.IDingU8cBillDao; +import com.hzya.frame.plugin.lets.dingtalk.entity.DingU8cBillEntity; +import com.hzya.frame.plugin.lets.dingtalk.utils.DingTalkUtils; import com.hzya.frame.plugin.lets.dingtalk.vo.DingCallbackCrypto; +import com.hzya.frame.plugin.lets.u8cdto.ArapDjzb; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.List; import java.util.Map; +import java.util.stream.Collectors; @Service("callBackService") public class CallBackServiceImpl implements CallBackService { protected static Logger logger = LogManager.getLogger(CallBackServiceImpl.class); + @Autowired + private IDingU8cBillDao dingU8cBillDao; + + @Value("${DING.CorpId}") + private String CorpId; + @Value("${DING.APIToken}") + private String APIToken; + + @Value("${DING.APPKEY}") + private String APPKEY; + @Value("${DING.AppSecret}") + private String AppSecret; + @Value("${DING.call_back_token}") private String token; @Value("${DING.call_back_aes_key}") @@ -51,7 +75,7 @@ public class CallBackServiceImpl implements CallBackService { break; case "PROC-285CCF2B-524F-4055-BE62-FC31F490C654": logger.info("采购付款申请(店群专用) -> PROC-285CCF2B-524F-4055-BE62-FC31F490C654"); -// agencyBill(eventJson);//采购付款申请(店群专用) + agencyBill(eventJson);//采购付款申请(店群专用) break; case "PROC-AC33FC85-FB44-49FC-B926-1D966AE3BBD2": logger.info("采购付款申请(新) -> PROC-AC33FC85-FB44-49FC-B926-1D966AE3BBD2"); @@ -71,4 +95,118 @@ public class CallBackServiceImpl implements CallBackService { } return null; } + + /** + * 获取钉钉应用token + */ + public String getDingTalkToken() throws Exception { + GetAccessTokenResponseBody tokenBody = DingTalkUtils.getTokenBody(APPKEY, AppSecret); + return tokenBody.getAccessToken(); + } + + /** + * 委外采购(付款单)->采购付款申请(新) + * 回调,审核付款单 + */ + public void outSourceBill(JSONObject eventJson) throws Exception { + //获取token + String token = getDingTalkToken(); + //实例ID + String processInstanceId = eventJson.getString("processInstanceId"); + //查询实例的具体信息 + GetProcessInstanceResponse processInstanceDetails = DingTalkUtils.getProcessInstanceDetails(token, processInstanceId); + GetProcessInstanceResponseBody.GetProcessInstanceResponseBodyResult processInstanceResponseBodyResult = processInstanceDetails.getBody().getResult(); + //审批状态,该回调事件只监听,审批完成的 + if (processInstanceResponseBodyResult.getStatus().equals("RUNNING")) {//审批中 + logger.info("采购付款申请(新)--->审批中"); + } else if (processInstanceResponseBodyResult.getStatus().equals("TERMINATED")) {//已撤销 + logger.info("采购付款申请(新)--->已撤销"); + } else if (processInstanceResponseBodyResult.getStatus().equals("COMPLETED")) {//审批完成 + logger.info("采购付款申请(新)--->审批完成"); + } + //获取所有审批意见 + List operationRecords = processInstanceResponseBodyResult.getOperationRecords(); + + //审批意见过滤掉:START_PROCESS_INSTANCE:发起流程实例 + operationRecords = operationRecords.stream().filter(item -> !item.getType().equals("START_PROCESS_INSTANCE")).collect(Collectors.toList()); + } + + /** + * 代理采购(付款单)->采购付款申请(店群专用) + * 回调,审核付款单 + */ + public void agencyBill(JSONObject eventJson) throws Exception{ + try { + + + //获取token + String token = getDingTalkToken(); + //实例ID + String processInstanceId = eventJson.getString("processInstanceId"); + DingU8cBillEntity dingU8cBillEntity = queryU8CDing(processInstanceId); + if (dingU8cBillEntity == null) { + Assert.state(false,"代理采购(付款单)->采购付款申请(店群专用)回调:未查询到相关审批实例,实例id:{}",processInstanceId); + } + //查询实例的具体信息 + GetProcessInstanceResponse processInstanceDetails = DingTalkUtils.getProcessInstanceDetails(token, processInstanceId); + GetProcessInstanceResponseBody.GetProcessInstanceResponseBodyResult processInstanceResponseBodyResult = processInstanceDetails.getBody().getResult(); + //审批状态,该回调事件只监听,审批完成的 + if (processInstanceResponseBodyResult.getStatus().equals("RUNNING")) {//审批中 + logger.info("采购付款申请(店群专用)--->审批中"); + } else if (processInstanceResponseBodyResult.getStatus().equals("TERMINATED")) {//已撤销 + logger.info("采购付款申请(店群专用)--->已撤销"); + } else if (processInstanceResponseBodyResult.getStatus().equals("COMPLETED")) {//审批完成 + logger.info("采购付款申请(店群专用)--->审批完成"); + } + //获取所有审批意见 + List operationRecords = processInstanceResponseBodyResult.getOperationRecords(); + + //审批意见过滤掉:START_PROCESS_INSTANCE:发起流程实例 + operationRecords = operationRecords.stream().filter(item -> !item.getType().equals("START_PROCESS_INSTANCE")).collect(Collectors.toList()); + System.out.println(operationRecords); + + //钉钉问题记录执行明细 + for (GetProcessInstanceResponseBody.GetProcessInstanceResponseBodyResultOperationRecords operationRecord : operationRecords) { + //操作结果 + switch (operationRecord.getResult()) { + case "AGREE": + dingU8cBillEntity.setDing_res("同意"); + break; + case "REFUSE": + dingU8cBillEntity.setDing_res("拒绝"); + break; + case "NONE": + dingU8cBillEntity.setDing_res("未处理"); + break; + } + } + + dingU8cBillDao.saveOrUpDateV2(dingU8cBillEntity); + }catch (Exception e){ + logger.error("代理采购(付款单)->采购付款申请(店群专用)回调报错:"+e); + } + } + + /** + * 根据ding_talk_process_id查询 + */ + public DingU8cBillEntity queryU8CDing(String ding_talk_process_id){ + DingU8cBillEntity dingU8cBillEntity = new DingU8cBillEntity(); + dingU8cBillEntity.setDingTalkProcessId(ding_talk_process_id); + List query = dingU8cBillDao.query(dingU8cBillEntity); + if(query.size()==0){ + return null; + }else{ + return query.get(0); + } + } + + /** + * 审核付款单 + * @param vbillcode 单据号 + * @param corpCode 公司编码 + */ + public void approveArapDjzb(String vbillcode,String corpCode){ + ArapDjzb arapDjzb = new ArapDjzb(); + } } diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/dao/IDingU8cBillDao.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/dao/IDingU8cBillDao.java index aa17b382..e4705834 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/dao/IDingU8cBillDao.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/dao/IDingU8cBillDao.java @@ -10,6 +10,7 @@ import com.hzya.frame.basedao.dao.IBaseDao; * @since 2024-10-28 15:45:32 */ public interface IDingU8cBillDao extends IBaseDao { + public void saveOrUpDateV2(DingU8cBillEntity dingU8cBillEntity); } diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/dao/impl/DingU8cBillDaoImpl.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/dao/impl/DingU8cBillDaoImpl.java index d408e594..ea984ac7 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/dao/impl/DingU8cBillDaoImpl.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/dao/impl/DingU8cBillDaoImpl.java @@ -2,16 +2,61 @@ package com.hzya.frame.plugin.lets.dingtalk.dao.impl; import com.hzya.frame.plugin.lets.dingtalk.entity.DingU8cBillEntity; import com.hzya.frame.plugin.lets.dingtalk.dao.IDingU8cBillDao; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Repository; import com.hzya.frame.basedao.dao.MybatisGenericDao; + +import java.util.List; + /** * (DingU8cBill)表数据库访问层 - * + * ->Y + * ->N + * N->N + * N->Y + * Y->Y * @author makejava * @since 2024-10-28 15:45:32 */ @Repository("dingU8cBillDao") public class DingU8cBillDaoImpl extends MybatisGenericDao implements IDingU8cBillDao{ - + +// private IDingU8cBillDao dingU8cBillDao; + @Override + public void saveOrUpDateV2(DingU8cBillEntity dingU8cBillEntityNew) { + DingU8cBillEntity dingU8cBill = new DingU8cBillEntity(); + String u8cCodeCorp = dingU8cBillEntityNew.getU8cCodeCorp(); + String u8cBillCode = dingU8cBillEntityNew.getU8cBillCode(); + String u8cBillId = dingU8cBillEntityNew.getU8cBillId(); + dingU8cBill.setU8cCodeCorp(u8cCodeCorp); + dingU8cBill.setU8cBillCode(u8cBillCode); + dingU8cBill.setU8cBillId(u8cBillId); + dingU8cBill.setSts("Y"); + List query = this.query(dingU8cBill); + if (query.size() == 0) { + //->N + //->Y + this.save(dingU8cBillEntityNew); + }else { + DingU8cBillEntity dingU8cBillEntity = query.get(0); + String pushStatus = dingU8cBillEntity.getPushStatus(); + String pushStatusNew = dingU8cBillEntityNew.getPushStatus(); + if("N".equals(pushStatus)&&"N".equals(pushStatusNew)){ + //N->N + dingU8cBill.setPushStatus("N"); + dingU8cBill.setPushInfo(dingU8cBillEntityNew.getPushInfo()); + this.update(dingU8cBill); + }else if("N".equals(pushStatus)&&"Y".equals(pushStatusNew)){ + //N->Y + dingU8cBill.setPushStatus("Y"); + dingU8cBill.setPushInfo(dingU8cBillEntityNew.getPushInfo()); + this.update(dingU8cBill); + }else if("Y".equals(pushStatus)&&"Y".equals(pushStatusNew)){ + //Y->Y + dingU8cBill.setDing_res(dingU8cBillEntityNew.getDing_res()); + this.update(dingU8cBill); + } + } + } } diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/entity/DingU8cBillEntity.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/entity/DingU8cBillEntity.java index cb7a4e21..ebfd25b6 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/entity/DingU8cBillEntity.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/entity/DingU8cBillEntity.java @@ -33,6 +33,8 @@ public class DingU8cBillEntity extends BaseEntity { private String pushInfo; /** 钉钉审批实例id */ private String dingTalkProcessId; + /** 钉钉返回结果 */ + private String ding_res; } diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/entity/DingU8cBillEntity.xml b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/entity/DingU8cBillEntity.xml index d384661e..80db07c8 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/entity/DingU8cBillEntity.xml +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/entity/DingU8cBillEntity.xml @@ -12,6 +12,7 @@ + @@ -27,7 +28,8 @@ ,push_status ,push_info ,ding_talk_process_id - ,modify_time + ,ding_res + ,modify_time ,create_time ,sts @@ -46,6 +48,7 @@ and push_status = #{pushStatus} and push_info = #{pushInfo} and ding_talk_process_id = #{dingTalkProcessId} + and ding_res = #{ding_res} and modify_time = #{modify_time} and create_time = #{create_time} and sts = #{sts} @@ -66,6 +69,7 @@ and push_status = #{pushStatus} and push_info = #{pushInfo} and ding_talk_process_id = #{dingTalkProcessId} + and ding_res = #{ding_res} and modify_time = #{modify_time} and create_time = #{create_time} and sts = #{sts} @@ -88,6 +92,7 @@ and push_status like concat('%',#{pushStatus},'%') and push_info like concat('%',#{pushInfo},'%') and ding_talk_process_id like concat('%',#{dingTalkProcessId},'%') + and ding_res like concat('%',#{ding_res},'%') and modify_time like concat('%',#{modify_time},'%') and create_time like concat('%',#{create_time},'%') and sts like concat('%',#{sts},'%') @@ -110,6 +115,7 @@ or push_status = #{pushStatus} or push_info = #{pushInfo} or ding_talk_process_id = #{dingTalkProcessId} + or ding_res = #{ding_res} or modify_time = #{modify_time} or create_time = #{create_time} or sts = #{sts} @@ -130,6 +136,7 @@ push_status , push_info , ding_talk_process_id , + ding_res , modify_time , create_time , sts , @@ -146,6 +153,7 @@ #{pushStatus} , #{pushInfo} , #{dingTalkProcessId} , + #{ding_res} , #{modify_time} , #{create_time} , #{sts} , @@ -192,6 +200,7 @@ update ding_u8c_bill set push_status = #{pushStatus}, push_info = #{pushInfo}, ding_talk_process_id = #{dingTalkProcessId}, + ding_res = #{ding_res}, modify_time = #{modify_time}, create_time = #{create_time}, sts = #{sts}, diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/push/serivce/impl/PushU8CServiceImpl.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/push/serivce/impl/PushU8CServiceImpl.java index ce57b839..6c41e648 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/push/serivce/impl/PushU8CServiceImpl.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/push/serivce/impl/PushU8CServiceImpl.java @@ -72,6 +72,9 @@ public class PushU8CServiceImpl implements PushU8CService { Logger logger = LoggerFactory.getLogger(PushU8CServiceImpl.class); + @Autowired + private IDingU8cBillDao dingU8cBillDao; + /** * 委外采购(付款单)->采购付款申请(新) @@ -90,6 +93,9 @@ public class PushU8CServiceImpl implements PushU8CService { Assert.state(false, "录入人手机号为空!!!"); } OapiV2UserGetbymobileResponse userByMobile = DingTalkUtils.getUserByMobile(tokenBody.getAccessToken(), djFileVO.getDjzbVO().getParentvo().getLrr_code()); + if(userByMobile.getResult()==null){ + Assert.state(false,userByMobile.getErrmsg()); + } String userid = userByMobile.getResult().getUserid(); OapiV2UserGetResponse userById = DingTalkUtils.getUserById(tokenBody.getAccessToken(), userid); String unionid = userById.getResult().getUnionid(); @@ -102,6 +108,9 @@ public class PushU8CServiceImpl implements PushU8CService { } catch (Exception e) { logger.error("委外采购(付款单)->采购付款申请(新)报错", e); + DingU8cBillEntity dingU8cBillEntity = new DingU8cBillEntity(djFileVO.getDjzbVO().getParentvo().getDwbm(), djFileVO.getDjzbVO().getParentvo().getDwbm_code(), djFileVO.getDjzbVO().getParentvo().getBusitypecode(), djFileVO.getDjzbVO().getParentvo().getDjbh(), djFileVO.getDjzbVO().getParentvo().getVouchid(), "N", e.getMessage(), null,null); + dingU8cBillEntity.setCreate_time(new Date()); + dingU8cBillDao.saveOrUpDateV2(dingU8cBillEntity); } return instanceId; } @@ -122,6 +131,9 @@ public class PushU8CServiceImpl implements PushU8CService { } //制单人的钉钉unionid:通过手机号获取钉钉的userid在获取unionid 13783530043 OapiV2UserGetbymobileResponse userByMobile = DingTalkUtils.getUserByMobile(tokenBody.getAccessToken(), djFileVO.getDjzbVO().getParentvo().getLrr_code()); + if(userByMobile.getResult()==null){ + Assert.state(false,userByMobile.getErrmsg()); + } String userid = userByMobile.getResult().getUserid(); OapiV2UserGetResponse userById = DingTalkUtils.getUserById(tokenBody.getAccessToken(), userid); String unionid = userById.getResult().getUnionid(); @@ -135,6 +147,9 @@ public class PushU8CServiceImpl implements PushU8CService { } catch (Exception e) { logger.error("代理采购(付款单)->采购付款申请(店群专用)报错", e); + DingU8cBillEntity dingU8cBillEntity = new DingU8cBillEntity(djFileVO.getDjzbVO().getParentvo().getDwbm(), djFileVO.getDjzbVO().getParentvo().getDwbm_code(), djFileVO.getDjzbVO().getParentvo().getBusitypecode(), djFileVO.getDjzbVO().getParentvo().getDjbh(), djFileVO.getDjzbVO().getParentvo().getVouchid(), "N", e.getMessage(), null,null); + dingU8cBillEntity.setCreate_time(new Date()); + dingU8cBillDao.saveOrUpDateV2(dingU8cBillEntity); } return instanceId; } @@ -155,6 +170,9 @@ public class PushU8CServiceImpl implements PushU8CService { } //制单人的钉钉unionid:通过手机号获取钉钉的userid在获取unionid 13783530043 OapiV2UserGetbymobileResponse userByMobile = DingTalkUtils.getUserByMobile(tokenBody.getAccessToken(), djFileVO.getDjzbVO().getParentvo().getLrr_code()); + if(userByMobile.getResult()==null){ + Assert.state(false,userByMobile.getErrmsg()); + } String userid = userByMobile.getResult().getUserid(); OapiV2UserGetResponse userById = DingTalkUtils.getUserById(tokenBody.getAccessToken(), userid); String unionid = userById.getResult().getUnionid(); @@ -166,6 +184,9 @@ public class PushU8CServiceImpl implements PushU8CService { } catch (Exception e) { logger.error("调拨单内部交易(付款单)->特殊业务处理(新)报错", e); + DingU8cBillEntity dingU8cBillEntity = new DingU8cBillEntity(djFileVO.getDjzbVO().getParentvo().getDwbm(), djFileVO.getDjzbVO().getParentvo().getDwbm_code(), djFileVO.getDjzbVO().getParentvo().getBusitypecode(), djFileVO.getDjzbVO().getParentvo().getDjbh(), djFileVO.getDjzbVO().getParentvo().getVouchid(), "N", e.getMessage(), null,null); + dingU8cBillEntity.setCreate_time(new Date()); + dingU8cBillDao.saveOrUpDateV2(dingU8cBillEntity); } return instanceId; } @@ -223,8 +244,7 @@ public class PushU8CServiceImpl implements PushU8CService { } - @Autowired - private IDingU8cBillDao dingU8cBillDao; + /** * 委外采购(付款单)->采购付款申请(新):推送钉钉审批实例 @@ -304,45 +324,17 @@ public class PushU8CServiceImpl implements PushU8CService { instanceId = JSONUtil.parseObj(jsonObject.get("body")).get("instanceId").toString(); //记录成功记录 - DingU8cBillEntity dingU8cBillEntity = new DingU8cBillEntity(parentvo.getDwbm(), parentvo.getDwbm_code(), parentvo.getBusitypecode(), parentvo.getDjbh(), parentvo.getVouchid(), "Y", "success", instanceId); + DingU8cBillEntity dingU8cBillEntity = new DingU8cBillEntity(parentvo.getDwbm(), parentvo.getDwbm_code(), parentvo.getBusitypecode(), parentvo.getDjbh(), parentvo.getVouchid(), "Y", "success", instanceId,null); dingU8cBillEntity.setCreate_time(new Date()); - try { - dingU8cBillDao.save(dingU8cBillEntity); - } catch (Exception e) { - DingU8cBillEntity dingU8cBillEntity1 = new DingU8cBillEntity(); - dingU8cBillEntity1.setU8cPkCorp(parentvo.getDwbm()); - dingU8cBillEntity1.setU8cCodeCorp(parentvo.getDwbm_code()); - dingU8cBillEntity1.setU8cBillType(parentvo.getBusitypecode()); - dingU8cBillEntity1.setU8cBillCode(parentvo.getDjbh()); - dingU8cBillEntity1.setU8cBillId(parentvo.getVouchid()); - dingU8cBillEntity1.setPushStatus("Y"); - dingU8cBillEntity1.setPushInfo(e.getMessage()); - dingU8cBillEntity1.setDingTalkProcessId(instanceId); - dingU8cBillEntity1.setCreate_time(new Date()); - dingU8cBillDao.save(dingU8cBillEntity1); - } + dingU8cBillDao.saveOrUpDateV2(dingU8cBillEntity); return instanceId; } catch (Exception e) { logger.error(e.getMessage()); //记录失败记录 - DingU8cBillEntity dingU8cBillEntity = new DingU8cBillEntity(parentvo.getDwbm(), parentvo.getDwbm_code(), parentvo.getBusitypecode(), parentvo.getDjbh(), parentvo.getVouchid(), "N", e.getMessage(), null); + DingU8cBillEntity dingU8cBillEntity = new DingU8cBillEntity(parentvo.getDwbm(), parentvo.getDwbm_code(), parentvo.getBusitypecode(), parentvo.getDjbh(), parentvo.getVouchid(), "N", e.getMessage(), null,null); dingU8cBillEntity.setCreate_time(new Date()); - try { - dingU8cBillDao.save(dingU8cBillEntity); - } catch (Exception e1) { - DingU8cBillEntity dingU8cBillEntity1 = new DingU8cBillEntity(); - dingU8cBillEntity1.setU8cPkCorp(parentvo.getDwbm()); - dingU8cBillEntity1.setU8cCodeCorp(parentvo.getDwbm_code()); - dingU8cBillEntity1.setU8cBillType(parentvo.getBusitypecode()); - dingU8cBillEntity1.setU8cBillCode(parentvo.getDjbh()); - dingU8cBillEntity1.setU8cBillId(parentvo.getVouchid()); - dingU8cBillEntity1.setPushStatus("N"); - dingU8cBillEntity1.setPushInfo(e.getMessage()); - dingU8cBillEntity1.setDingTalkProcessId(null); - dingU8cBillEntity1.setCreate_time(new Date()); - dingU8cBillDao.save(dingU8cBillEntity1); - } + dingU8cBillDao.saveOrUpDateV2(dingU8cBillEntity); } return null; } @@ -386,18 +378,18 @@ public class PushU8CServiceImpl implements PushU8CService { instanceId = JSONUtil.parseObj(jsonObject.get("body")).get("instanceId").toString(); //记录成功记录 - DingU8cBillEntity dingU8cBillEntity = new DingU8cBillEntity(parentvo.getDwbm(), parentvo.getDwbm_code(), parentvo.getBusitypecode(), parentvo.getDjbh(), parentvo.getVouchid(), "Y", "success", instanceId); + DingU8cBillEntity dingU8cBillEntity = new DingU8cBillEntity(parentvo.getDwbm(), parentvo.getDwbm_code(), parentvo.getBusitypecode(), parentvo.getDjbh(), parentvo.getVouchid(), "Y", "success", instanceId,null); dingU8cBillEntity.setCreate_time(new Date()); - dingU8cBillDao.save(dingU8cBillEntity); + dingU8cBillDao.saveOrUpDateV2(dingU8cBillEntity); return instanceId; } catch (Exception e) { logger.error(e.getMessage()); //记录失败记录 - DingU8cBillEntity dingU8cBillEntity = new DingU8cBillEntity(parentvo.getDwbm(), parentvo.getDwbm_code(), parentvo.getBusitypecode(), parentvo.getDjbh(), parentvo.getVouchid(), "N", e.getMessage(), null); + DingU8cBillEntity dingU8cBillEntity = new DingU8cBillEntity(parentvo.getDwbm(), parentvo.getDwbm_code(), parentvo.getBusitypecode(), parentvo.getDjbh(), parentvo.getVouchid(), "N", e.getMessage(), null,null); dingU8cBillEntity.setCreate_time(new Date()); - dingU8cBillDao.save(dingU8cBillEntity); + dingU8cBillDao.saveOrUpDateV2(dingU8cBillEntity); } return instanceId; } @@ -438,16 +430,16 @@ public class PushU8CServiceImpl implements PushU8CService { instanceId = JSONUtil.parseObj(jsonObject.get("body")).get("instanceId").toString(); //记录成功记录 - DingU8cBillEntity dingU8cBillEntity = new DingU8cBillEntity(parentvo.getDwbm(), parentvo.getDwbm_code(), parentvo.getBusitypecode(), parentvo.getDjbh(), parentvo.getVouchid(), "Y", "success", instanceId); + DingU8cBillEntity dingU8cBillEntity = new DingU8cBillEntity(parentvo.getDwbm(), parentvo.getDwbm_code(), parentvo.getBusitypecode(), parentvo.getDjbh(), parentvo.getVouchid(), "Y", "success", instanceId,null); dingU8cBillEntity.setCreate_time(new Date()); - dingU8cBillDao.save(dingU8cBillEntity); + dingU8cBillDao.saveOrUpDateV2(dingU8cBillEntity); } catch (Exception e) { logger.error(e.getMessage()); //记录失败记录 - DingU8cBillEntity dingU8cBillEntity = new DingU8cBillEntity(parentvo.getDwbm(), parentvo.getDwbm_code(), parentvo.getBusitypecode(), parentvo.getDjbh(), parentvo.getVouchid(), "N", e.getMessage(), null); + DingU8cBillEntity dingU8cBillEntity = new DingU8cBillEntity(parentvo.getDwbm(), parentvo.getDwbm_code(), parentvo.getBusitypecode(), parentvo.getDjbh(), parentvo.getVouchid(), "N", e.getMessage(), null,null); dingU8cBillEntity.setCreate_time(new Date()); - dingU8cBillDao.save(dingU8cBillEntity); + dingU8cBillDao.saveOrUpDateV2(dingU8cBillEntity); } return instanceId;