// 回滚处理开始
InitialContext context = new InitialContext();
// JTA的事务管理由UserTransaction管理.
UserTransaction utx = (UserTransaction) context.lookup("UserTransaction");
try {
// 开启事物
utx.begin();
if (null != ids && idList.size() > 0) {
for (String id : idList) {
// 根据出借产品 id查询 委托出借信息
underLineApprove = underLineApproveLocalBean.getListById(appBean.getClientCode(), id);
// 根据出借产品 loan_id查询【募集成功结束时间】
if (StringUtils.isBlank(underLineApprove.getTimesettled())) {
updIds.add(id);
tenderList.add(underLineApprove);
}
}
// 更新委托出借表里的审批状态
boolean up = underLineApproveLocalBean
.markApprovalStatus(CreditManagerConstant.APPROVAL_STATUS_REFUSE, updIds);
if (!up) {
utx.rollback();
return apiresult.addError("委托出借审批驳回失败!");
}
// 插入投资信息表
if (null != tenderList && tenderList.size() > 0) {
for (UnderLineApprove ua : tenderList) {
boolean f = userFundService.release(appBean.getClientCode(), ua.getUnderLineUserId(),
new BigDecimal(ua.getLoanAmount()));
if (!f) {
utx.rollback();
return apiresult.addError("委托出借审批驳回更新用户资金失败!");
}
/*
String mchnt_txn_ssn = getNumber(); // 流水号
String cust_no = null;// 付款账户(出借人手机号)
String amt = null;// 金额
String rem = null;
// 通过userid获取用户信息
User u = userBridge.getUserById(ua.getUnderLineUserId());
if (null != u) {
cust_no = u.getMobile();// 付款账户(出借人手机号)
} else {
apiresult.addError("委托出借审批驳回转账:付款账户不存在");
}
if (StringUtils.isNotBlank(ua.getLoanAmount())) {
amt = ua.getLoanAmount();// 金额
} else {
apiresult.addError("委托出借审批驳回转账:金额不存在");
}
try {
logger.info("委托出借审批批驳回账户解冻: 流水号《" + mchnt_txn_ssn + "》");
// 驳回的时候调解冻接口。
UnFreezeRspData uf = fuiouService.unFreeze(mchnt_txn_ssn, cust_no, amt, rem);
if (uf != null) {
if (!uf.getResp_code().equals("0000")) {
utx.rollback();
return apiresult.addError(uf.getResp_desc());
}
}
logger.info("委托出借审批驳回账户解冻: 解冻账户 《" + cust_no + " 》 响应消息: " + uf.getResp_desc());
} catch (Exception e) {
logger.error("委托出借审批驳回账户解冻失败: " + e.getMessage());
return apiresult.addError("委托出借审批驳回账户解冻失败,请和银行联系。");
}*/
}
}
} else {
return apiresult.addError("委托出借驳回无驳回记录");
}
utx.commit();
} catch (Exception e) {
utx.rollback();
return apiresult.addError("委托出借驳回无驳回失败");
}
JTA的事务管理由UserTransaction管理.
最新推荐文章于 2024-03-15 10:15:00 发布