丽知:钉钉回调修改

This commit is contained in:
zhengyf 2024-11-08 10:11:06 +08:00
parent 9c1cca9eaa
commit 3897ea1ab9
5 changed files with 131 additions and 29 deletions

View File

@ -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());
}
}

View File

@ -23,18 +23,64 @@ import java.util.List;
public class DingU8cBillDaoImpl extends MybatisGenericDao<DingU8cBillEntity, String> 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<DingU8cBillEntity> 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<DingU8cBillEntity> query = this.query(dingU8cBill);
if(query.size()==0){
//->N
@ -47,6 +93,7 @@ public class DingU8cBillDaoImpl extends MybatisGenericDao<DingU8cBillEntity, Str
if("N".equals(pushStatus)&&"N".equals(pushStatusNew)){
//N->N
dingU8cBill.setId(dingU8cBillEntity.getId());
dingU8cBill.setDingTalkProcessId(dingU8cBillEntityNew.getDingTalkProcessId());
dingU8cBill.setModify_time(new Date());
dingU8cBill.setPushStatus("N");
dingU8cBill.setPushInfo(dingU8cBillEntityNew.getPushInfo());
@ -62,9 +109,11 @@ public class DingU8cBillDaoImpl extends MybatisGenericDao<DingU8cBillEntity, Str
} else if ("Y".equals(pushStatus)&&"Y".equals(pushStatusNew)) {
//Y->Y
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);
}
}

View File

@ -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());
}
}
/** 代理采购(付款单)->采购付款申请(店群专用) **/
@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());
}
}
/** 调拨单内部交易(付款单)->特殊业务处理(新) **/
@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());
}
}
}

View File

@ -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;
}

View File

@ -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;
}
}