運(yùn)行環(huán)境 linux + tomcat
框架: springMvc + myBatis
資料庫:ORACLE
合作方呼叫我們的一個介面方法,能呼叫到,我們這邊封包接收後 與 他們 進(jìn)行比較 也是一致的。並且解密後也都能解析出來。
但是執(zhí)行呼叫 dao.update方法時,不能成功修改。
而我們本地用client模擬發(fā)送一樣報文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 = "更改狀態(tài)失敗";
TbLoan tbLoan = null;
Date date = new Date();
if(auditFlag == 0){
//審核通過,更改商家的貸款狀態(tài)為審核通過
tbLoan = tbLoanDao.get(loanId);
if(null != tbLoan){
System.out.println("貸款狀態(tài):"+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("-------------開始更新貸款狀態(tài)---------");
System.out.println("貸款編號:"+loanId);
System.out.println("狀態(tài):"+tbLoan2.getLaonStatus());
**int i = tbLoanDao.update(tbLoan2);**
if(i < 1){
errMsg = "審核結(jié)果通知呼叫失敗,狀態(tài)變更未成功,請重新呼叫!";
msg.put("ret", -1);
}else{
errMsg = "審核成功";
System.out.println(errMsg+"修改條數(shù):"+i);
msg.put("ret", 0);
}
} catch (Exception e) {
errMsg = e.getMessage();
}
}else{
errMsg = "商家不是待審核狀態(tài)";
msg.put("ret", -1);
}
}else{
errMsg = "未找到對應(yīng)的商家資訊";
msg.put("ret", -1);
}
}else{
errMsg = "資金方審核未通過";
msg.put("ret", -1);
//審核不通過,修改商家貸款狀態(tài)為不通過(終審)
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;
}`
關(guān)鍵程式碼是 int i = tbLoanDao.update(tbLoan2); 合作方調(diào)用與我們本地client調(diào)用,這個i都回傳1,差別就是資料庫有沒成功修改。
以下是合作方呼叫後的日誌
-------------開始更新貸款狀態(tài)---------
貸款編號:22150
狀態(tài):2
審核成功修改條數(shù):1
審核通知:{"ret":0,"msg":"審核成功"}
並沒有拋異常
求大神給思路! !
擁有18年軟件開發(fā)和IT教學(xué)經(jīng)驗。曾任多家上市公司技術(shù)總監(jiān)、架構(gòu)師、項目經(jīng)理、高級軟件工程師等職務(wù)。 網(wǎng)絡(luò)人氣名人講師,...