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 3ee9e70a..dba1cb86 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 @@ -548,8 +548,4 @@ public class CallBackServiceImpl implements CallBackService { return null; } - public static void main(String[] args) { -// LocalDate now = LocalDate.now(); -// System.out.println(now.toString()); - } } 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 cb1b3eba..fb36b415 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 @@ -23,20 +23,66 @@ import java.util.List; 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(); +// String dingTalkProcessId = dingU8cBillEntityNew.getDingTalkProcessId(); +// dingU8cBill.setU8cCodeCorp(u8cCodeCorp); +// dingU8cBill.setU8cBillCode(u8cBillCode); +// dingU8cBill.setU8cBillId(u8cBillId); +// dingU8cBill.setDingTalkProcessId(dingTalkProcessId); +// 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.setId(dingU8cBillEntity.getId()); +// dingU8cBill.setModify_time(new Date()); +// dingU8cBill.setPushStatus("N"); +// dingU8cBill.setPushInfo(dingU8cBillEntityNew.getPushInfo()); +// this.update(dingU8cBill); +// }else if("N".equals(pushStatus)&&"Y".equals(pushStatusNew)){ +// //N->Y +// dingU8cBill.setId(dingU8cBillEntity.getId()); +// dingU8cBill.setDingTalkProcessId(dingU8cBillEntityNew.getDingTalkProcessId()); +// dingU8cBill.setModify_time(new Date()); +// dingU8cBill.setPushStatus("Y"); +// dingU8cBill.setPushInfo(dingU8cBillEntityNew.getPushInfo()); +// this.update(dingU8cBill); +// }else if("Y".equals(pushStatus)&&"Y".equals(pushStatusNew)){ +// //Y->Y +// dingU8cBill.setId(dingU8cBillEntity.getId()); +// dingU8cBill.setModify_time(new Date()); +// dingU8cBill.setDing_res(dingU8cBillEntityNew.getDing_res()); +// dingU8cBill.setApprove(dingU8cBillEntityNew.getApprove()); +// this.update(dingU8cBill); +// } +// } +// } + + /** + * 根据:公司、单据号、实例id、来源D|U + * @param dingU8cBillEntityNew + */ @Override public void saveOrUpDateV2(DingU8cBillEntity dingU8cBillEntityNew) { DingU8cBillEntity dingU8cBill = new DingU8cBillEntity(); - String u8cCodeCorp = dingU8cBillEntityNew.getU8cCodeCorp(); - String u8cBillCode = dingU8cBillEntityNew.getU8cBillCode(); - String u8cBillId = dingU8cBillEntityNew.getU8cBillId(); - String dingTalkProcessId = dingU8cBillEntityNew.getDingTalkProcessId(); - dingU8cBill.setU8cCodeCorp(u8cCodeCorp); - dingU8cBill.setU8cBillCode(u8cBillCode); - dingU8cBill.setU8cBillId(u8cBillId); - dingU8cBill.setDingTalkProcessId(dingTalkProcessId); - dingU8cBill.setSts("Y"); + dingU8cBill.setU8cCodeCorp(dingU8cBillEntityNew.getU8cCodeCorp());//公司 + dingU8cBill.setU8cBillCode(dingU8cBillEntityNew.getU8cBillCode());//单据号 + dingU8cBill.setDingTalkProcessId(dingU8cBillEntityNew.getDingTalkProcessId());//实例id + dingU8cBill.setInitiate(dingU8cBillEntityNew.getInitiate());//来源平台 List query = this.query(dingU8cBill); - if (query.size() == 0) { + if(query.size()==0){ //->N //->Y this.save(dingU8cBillEntityNew); @@ -47,11 +93,12 @@ public class DingU8cBillDaoImpl extends MybatisGenericDaoN dingU8cBill.setId(dingU8cBillEntity.getId()); + dingU8cBill.setDingTalkProcessId(dingU8cBillEntityNew.getDingTalkProcessId()); dingU8cBill.setModify_time(new Date()); dingU8cBill.setPushStatus("N"); dingU8cBill.setPushInfo(dingU8cBillEntityNew.getPushInfo()); this.update(dingU8cBill); - }else if("N".equals(pushStatus)&&"Y".equals(pushStatusNew)){ + } else if ("N".equals(pushStatus)&&"Y".equals(pushStatusNew)) { //N->Y dingU8cBill.setId(dingU8cBillEntity.getId()); dingU8cBill.setDingTalkProcessId(dingU8cBillEntityNew.getDingTalkProcessId()); @@ -59,12 +106,14 @@ public class DingU8cBillDaoImpl extends MybatisGenericDaoY dingU8cBill.setId(dingU8cBillEntity.getId()); + dingU8cBill.setDingTalkProcessId(dingU8cBillEntityNew.getDingTalkProcessId()); dingU8cBill.setModify_time(new Date()); dingU8cBill.setDing_res(dingU8cBillEntityNew.getDing_res()); dingU8cBill.setApprove(dingU8cBillEntityNew.getApprove()); + dingU8cBill.setPushInfo(dingU8cBillEntityNew.getPushInfo()); this.update(dingU8cBill); } } diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/push/PushController.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/push/PushController.java index 042baede..9b2a05b3 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/push/PushController.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/push/PushController.java @@ -28,32 +28,38 @@ public class PushController extends DefaultController { @RequestMapping(value = "U8COutSourceBill") @ResponseBody public JsonResultEntity pushU8COutSourceBill(@RequestBody DjFileVO djFileVO){ - String processInstanceId = pushU8CService.outSource(djFileVO); - if("".equals(processInstanceId)){ - return getFailureMessageEntity(null); + String processInstanceId=""; + try { + processInstanceId = pushU8CService.outSource(djFileVO); + return getSuccessMessageEntity(processInstanceId); + }catch (Exception e){ + return getFailureMessageEntity(e.getMessage()); } - return getSuccessMessageEntity(processInstanceId); } /** 代理采购(付款单)->采购付款申请(店群专用) **/ @RequestMapping(value = "U8CAgencyBill") @ResponseBody public JsonResultEntity pushU8CAgencyBill(@RequestBody DjFileVO djFileVO){ - String processInstanceId = pushU8CService.agency(djFileVO); - if("".equals(processInstanceId)){ - return getFailureMessageEntity(null); + String processInstanceId=""; + try { + processInstanceId = pushU8CService.agency(djFileVO); + return getSuccessMessageEntity(processInstanceId); + }catch (Exception e){ + return getFailureMessageEntity(e.getMessage()); } - return getSuccessMessageEntity(processInstanceId); } /** 调拨单内部交易(付款单)->特殊业务处理(新) **/ @RequestMapping(value = "U8CTransferBill") @ResponseBody public JsonResultEntity pushU8CTransferBill(@RequestBody DjFileVO djFileVO){ - String processInstanceId = pushU8CService.transfer(djFileVO); - if("".equals(processInstanceId)){ - return getFailureMessageEntity(null); + String processInstanceId=""; + try { + processInstanceId = pushU8CService.transfer(djFileVO); + return getSuccessMessageEntity(processInstanceId); + }catch (Exception e){ + return getFailureMessageEntity(e.getMessage()); } - return getSuccessMessageEntity(processInstanceId); } } 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 8421d1a7..40e6da9b 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 @@ -111,6 +111,7 @@ public class PushU8CServiceImpl implements PushU8CService { 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); + Assert.state(false,e.getMessage()); } return instanceId; } @@ -150,6 +151,7 @@ public class PushU8CServiceImpl implements PushU8CService { 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); + Assert.state(false,e.getMessage()); } return instanceId; } @@ -187,6 +189,7 @@ public class PushU8CServiceImpl implements PushU8CService { 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); + Assert.state(false,e.getMessage()); } return instanceId; } diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/dingtalk/DingCallBackPluginInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/dingtalk/DingCallBackPluginInitializer.java index bbb3e811..7d8ffe9f 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/dingtalk/DingCallBackPluginInitializer.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/dingtalk/DingCallBackPluginInitializer.java @@ -1,7 +1,55 @@ package com.hzya.frame.plugin.lets.plugin.dingtalk; +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.base.PluginBaseEntity; +import com.hzya.frame.web.entity.JsonResultEntity; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.concurrent.locks.ReentrantLock; + /** * 为避免回调超时,每天定时检查所有未审批完成的审批实例。 */ -public class DingCallBackPluginInitializer { +public class DingCallBackPluginInitializer extends PluginBaseEntity { + Logger logger = LoggerFactory.getLogger(DingCallBackPluginInitializer.class); + + private static final ReentrantLock LOCK = new ReentrantLock(true); + + @Override + public void initialize() { + logger.info(getPluginLabel() + "執行初始化方法initialize()"); + } + + @Override + public void destroy() { + logger.info(getPluginLabel() + "執行銷毀方法destroy()"); + } + + @Override + public String getPluginId() { + return "transfer.TransferInPluginInitializer"; + } + + @Override + public String getPluginName() { + return "丽知:钉钉审批实例自动检查"; + } + + @Override + public String getPluginLabel() { + return "丽知:钉钉审批实例自动检查"; + } + + @Override + public String getPluginType() { + return "1"; + } + + @Override + public JsonResultEntity executeBusiness(JSONObject requestJson) throws Exception { + return null; + } + + }