運行環境 linux + tomcat
框架: springMvc + myBatis
資料庫:ORACLE
合作方呼叫我們的一個介面方法,能呼叫到,我們這邊封包接收後 與 他們 進行比較 也是一致的。並且解密後也都能解析出來。
但是執行呼叫 dao.update方法時,不能成功修改。
而我們本地用client模擬發送一樣報文post請求,dao.update方法,資料庫能成功修改字段資訊
這段是介面方法程式碼
`@Transactional(readOnly = false)
public Map<String,Object> auditNotice(String loanId ,Integer auditFlag){
Map<String,Object> msg = new HashMap<String,Object>();
String errMsg = "更改狀態失敗";
TbLoan tbLoan = null;
Date date = new Date();
if(auditFlag == 0){
//審核通過,更改商家的貸款狀態為審核通過
tbLoan = tbLoanDao.get(loanId);
if(null != tbLoan){
System.out.println("貸款狀態:"+tbLoan.getLaonStatus());
if(tbLoan.getLaonStatus().equals(Const.LOAN_STATUS_CONST.DAI_SHEN_HE)){
try {
TbLoan tbLoan2 = new TbLoan();
tbLoan2.setId(loanId);
tbLoan2.setUpdateDate(date);
User user = new User();
user.setId("xiaoyinglicai");
tbLoan2.setUpdateBy(user);
tbLoan2.setAuditPerson("xiaoying");
tbLoan2.setAuditTime(date);
tbLoan2.setRemarks("我是remark22");
tbLoan2.setLaonStatus(Const.LOAN_STATUS_CONST.SHEN_HE_TONG_GUO);
System.out.println("-------------開始更新貸款狀態---------");
System.out.println("貸款編號:"+loanId);
System.out.println("狀態:"+tbLoan2.getLaonStatus());
**int i = tbLoanDao.update(tbLoan2);**
if(i < 1){
errMsg = "審核結果通知呼叫失敗,狀態變更未成功,請重新呼叫!";
msg.put("ret", -1);
}else{
errMsg = "審核成功";
System.out.println(errMsg+"修改條數:"+i);
msg.put("ret", 0);
}
} catch (Exception e) {
errMsg = e.getMessage();
}
}else{
errMsg = "商家不是待審核狀態";
msg.put("ret", -1);
}
}else{
errMsg = "未找到對應的商家資訊";
msg.put("ret", -1);
}
}else{
errMsg = "資金方審核未通過";
msg.put("ret", -1);
//審核不通過,修改商家貸款狀態為不通過(終審)
TbLoan tbLoan2 = new TbLoan();
tbLoan2.setId(loanId);
tbLoan2.setUpdateDate(date);
User user = new User();
user.setId("xiaoyinglicai");
tbLoan2.setUpdateBy(user);
tbLoan2.setAuditPerson("xiaoying");
tbLoan2.setAuditTime(date);
tbLoan2.setRemarks("我是remark_3");
tbLoan2.setLaonStatus(Const.LOAN_STATUS_CONST.SEHN_HE_SHI_BAI);
tbLoanDao.update(tbLoan2);
if(tbAuditFlagService.get(loanId)!=null){
TbAuditFlag tbAuditFlag = new TbAuditFlag();
tbAuditFlag.setRemarks(errMsg);
tbAuditFlag.setLoanId(loanId);
tbAuditFlagService.save(tbAuditFlag);
}
}
msg.put("msg", errMsg);
String json = JSONUtils.toJSONString(msg);
System.out.println("審核通知:"+json);
return msg;
}`
關鍵程式碼是 int i = tbLoanDao.update(tbLoan2); 合作方調用與我們本地client調用,這個i都回傳1,差別就是資料庫有沒成功修改。
以下是合作方呼叫後的日誌
-------------開始更新貸款狀態---------
貸款編號:22150
狀態:2
審核成功修改條數:1
審核通知:{"ret":0,"msg":"審核成功"}
並沒有拋異常
求大神給思路! !