java 线程池 配置文件_实现线程池配置

1 packagexxx;2

3 importjava.lang.reflect.InvocationTargetException;4 importjava.math.BigDecimal;5 importjava.util.HashMap;6 importjava.util.Map;7

8 importorg.apache.commons.beanutils.BeanUtils;9 importorg.apache.log4j.Logger;10

11 importcom.paic.btds.common.util.BizAppContextObjectNames;12 importcom.paic.btds.para.biz.bo.SysParamBO;13 importcom.paic.btds.para.common.dto.SysParamDTO;14 importcom.paic.btds.sysServers.common.dto.BtrsMngLogHisDTO;15 importcom.paic.btds.sysServers.common.dto.BtrsTrsAllDTO;16 importcom.paic.btds.sysServers.common.dto.BtrsTrsRuleDTO;17 importcom.paic.btds.sysServers.web.util.SqlMappingName;18 importcom.paic.paces.common.dao.ExecuteSqlDAO;19 importcom.paic.pafa.app.biz.service.BusinessServiceException;20 importcom.paic.pafa.app.integration.dao.PafaDAOException;21 importcom.paic.pafa.app.lwc.core.beans.BeansException;22 importcom.paic.pafa.app.lwc.core.context.ApplicationContext;23 importcom.paic.pafa.app.lwc.core.util.DevLog;24 /**

25 * 管理交易历史流水表的规则匹配服务的交易分发26 *27 *28 */

29 public classBtrsMngLogRuleMatch {30

31 privateApplicationContext context;32

33 static Logger logger = Logger.getLogger(BtrsMngLogRuleMatch.class.getName());34

35 privateExecuteSqlDAO executeSqlDao;36

37 privateMap channelMap;38 /**

39 * 交易数据40 */

41 private BtrsMngLogHisDTO btrsMngLogHisDTO = null;42

43 publicBtrsMngLogRuleMatch(BtrsMngLogHisDTO btrsMngLogHisDTO,ApplicationContext context, Map channelMap) {44 this.btrsMngLogHisDTO=btrsMngLogHisDTO;45 this.context=context;46 this.executeSqlDao=(ExecuteSqlDAO) context.getBean(BizAppContextObjectNames.EXECUTE_SQL_DAO);47 this.channelMap =channelMap;48 }49

50 public voidmatch() {51 try{52 BtrsTrsAllDTO btrsTrsAllDTO = newBtrsTrsAllDTO();53 BtrsTrsRuleDTO btrsTrsRuleDTO = newBtrsTrsRuleDTO();54 BeanUtils.copyProperties(btrsTrsAllDTO,55 btrsMngLogHisDTO);56 BeanUtils.copyProperties(btrsTrsRuleDTO,57 btrsMngLogHisDTO);58 String amtTrans =btrsMngLogHisDTO.getTransAmt();59 if(amtTrans != null && !"".equals(amtTrans)){60 btrsTrsAllDTO.setAmtTrans(new BigDecimal(amtTrans).multiply(new BigDecimal("100"))61 .toString());62 btrsTrsRuleDTO.setAmtTrans(new BigDecimal(amtTrans).multiply(new BigDecimal("100"))63 .toString());64 }65

66 btrsTrsAllDTO.setPrimaryAcctNum(btrsMngLogHisDTO67 .getCardNum());68 btrsTrsAllDTO.setSystemDate(btrsMngLogHisDTO69 .getTrsSysDate());70 btrsTrsAllDTO.setSystemTime(btrsMngLogHisDTO71 .getTrsSysTime());72 btrsTrsAllDTO.setSystemSsn(btrsMngLogHisDTO.getSystemNo());73

74 btrsTrsAllDTO.setTranDate(btrsTrsAllDTO.getSystemDate()+btrsTrsAllDTO.getSystemTime());75

76 btrsTrsRuleDTO.setPrimaryAcctNum(btrsMngLogHisDTO77 .getCardNum());78 btrsTrsRuleDTO.setSystemDate(btrsMngLogHisDTO79 .getTrsSysDate());80 btrsTrsRuleDTO.setSystemTime(btrsMngLogHisDTO81 .getTrsSysTime());82 btrsTrsRuleDTO.setSystemSsn(btrsMngLogHisDTO.getSystemNo());83

84 btrsTrsRuleDTO.setTranDate(btrsTrsRuleDTO.getSystemDate()+btrsTrsRuleDTO.getSystemTime());85

86

87 //获取流水号

88 String seqNumber = String.valueOf(executeSqlDao.queryForObject(SqlMappingName.GET_SEQ, null));89 btrsTrsAllDTO.setSqNumber(seqNumber);90 btrsTrsRuleDTO.setSqNumber(seqNumber);91

92 String subTxnCode =btrsMngLogHisDTO.getSubTxnCode();93 if(channelMap.containsKey(subTxnCode)){94 String channelFlg =String.valueOf(channelMap.get(subTxnCode));95 btrsTrsAllDTO.setChannelFlg(channelFlg);96 btrsTrsRuleDTO.setChannelFlg(channelFlg);97 }else{98 btrsTrsAllDTO.setChannelFlg("");99 btrsTrsRuleDTO.setChannelFlg("");100 }101 if("2002010110".equals(subTxnCode) || "2002010140".equals(subTxnCode)){102 btrsTrsAllDTO.setCurrcyCodeTrans("");103 btrsTrsRuleDTO.setCurrcyCodeTrans("");104 }105

106

107 //获取交易的联机或离线的信息

108 String messagetypeid =btrsMngLogHisDTO.getMessagetypeid();109 if(messagetypeid != null && !"".equals(messagetypeid)){110 btrsTrsAllDTO.setMessagetypeid(messagetypeid);111 btrsTrsRuleDTO.setMessagetypeid(messagetypeid);112 }113 //汇总到交易汇总表中

114 executeSqlDao.insert(SqlMappingName.INSERT_BTRSTRSALLFROMMNG, btrsTrsAllDTO);115

116 if(channelMap.containsKey(subTxnCode)){117 //抽取到交易规则表中

118 executeSqlDao.insert(SqlMappingName.INSERT_BTRSTRSRULEFROMMNG, btrsTrsRuleDTO);119

120 Map map = newHashMap();121 map.put("KEY", seqNumber);122 map.put("MATCH_RS", null);123 map.put("ERR_MSG", null);124 map.put("V_MATCH_PRIORITY", null);125 map.put("NRETCDE", null);126 map.put("V_MATCH_RULE_ID", null);127 SysParamBO sysParamBO =(SysParamBO)context.getBean(BizAppContextObjectNames.SYSPARAM_BO);128 SysParamDTO sysParamDTO = newSysParamDTO();129 sysParamDTO.setParamName("engine_switch");130 sysParamDTO.setSysFlag("S");131 SysParamDTO dto =sysParamBO.selectSysParamByName(sysParamDTO);132 if(dto != null){133 String engineSwitch =dto.getParamValue();134 if("true".equals(engineSwitch)){135 //调用规则引擎

136 DevLog.debug("管理交易历史流水调用规则引擎。。。");137 executeSqlDao.callProc(SqlMappingName.ANALYS_NEW_SQL_RULE, map);138 String matchRS = (String)map.get("MATCH_RS");139 String errMsg =(String)map.get("ERR_MSG");140 BigDecimal nretCde =(BigDecimal)map.get("NRETCDE");141 String vMatchRuleId = (String)map.get("V_MATCH_RULE_ID");142 if (null!=matchRS && "1".equals(matchRS) && vMatchRuleId != null && !"".equals(vMatchRuleId))143 DevLog.info("交易"+seqNumber+"匹配成功!");144 else if(nretCde != null)145 DevLog.info("交易"+seqNumber+"匹配失败!原因如下:"+nretCde.doubleValue() +errMsg);146 }147 }148 }149 } catch(PafaDAOException e) {150 logger.error(e.getMessage());151 } catch(BeansException e) {152 logger.error(e.getMessage());153 } catch(BusinessServiceException e) {154 logger.error(e.getMessage());155 } catch(IllegalAccessException e) {156 logger.error(e.getMessage());157 } catch(InvocationTargetException e) {158 logger.error(e.getMessage());159 } catch(Exception e){160 logger.error(e.getMessage());161 }162

163 //更新交易状态

164 try{165 executeSqlDao.update(SqlMappingName.UPDATE_BTRSMNGLOGHISSTATUS, btrsMngLogHisDTO);166 } catch(PafaDAOException e) {167 logger.error(e.getMessage());168 }169

170 }171

172

173 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值