Browse Source

getBankUserAndParam

qiubo 4 years ago
parent
commit
3056ccb888

+ 162 - 0
carbon-bank/carbon-bank-service/src/main/java/com/hcloud/microserver/system/bank/service/impl/BankTransactionServiceImpl.java

@@ -123,4 +123,166 @@ public class BankTransactionServiceImpl implements BankTransactionService {
         InquiryOfWithholdingInstructionDetailsResp resp = (InquiryOfWithholdingInstructionDetailsResp) bankUtil.bankRequst(param, 0, InquiryOfWithholdingInstructionDetailsResp.class);
         return resp;
     }
+
+    @Override
+    public CurrentAccountHistoricalBalanceQueryResp currentAccountHistoricalBalance(BankQueryBaseParam<CurrentAccountHistoricalBalanceQueryParam> param) {
+        CurrentAccountHistoricalBalanceQueryResp historicalBalanceQueryResp =(CurrentAccountHistoricalBalanceQueryResp) bankUtil.bankRequst(param, 1, CurrentAccountHistoricalBalanceQueryResp.class);
+        log.info("CurrentAccountHistoricalBalanceQueryResp {}",historicalBalanceQueryResp);
+        return historicalBalanceQueryResp;
+    }
+
+    @Override
+    public TransactionOrderStatusQueryResp transactionOrderStatus(BankQueryBaseParam<TransactionOrderStatusQueryParam> param) {
+        TransactionOrderStatusQueryResp transactionOrderStatus =(TransactionOrderStatusQueryResp) bankUtil.bankRequst(param, 0, TransactionOrderStatusQueryResp.class);
+        log.info("TransactionOrderStatusQueryResp {}",transactionOrderStatus);
+        return transactionOrderStatus;
+    }
+
+    @Override
+    public TransferTransactionInstructionQueryResp transferTransactionInstruction(BankQueryBaseParam<TransferTransactionInstructionQueryParam> param) {
+        TransferTransactionInstructionQueryResp transferTransactionInstruction =(TransferTransactionInstructionQueryResp) bankUtil.bankRequst(param, 0, TransferTransactionInstructionQueryResp.class);
+        log.info("TransferTransactionInstructionQueryResp {}",transferTransactionInstruction);
+        return transferTransactionInstruction;
+    }
+
+    @Override
+    public SingleTransferInstructionQueryResp singleTransferInstruction(BankQueryBaseParam<SingleTransferInstructionQueryParam> param) {
+        SingleTransferInstructionQueryResp resp =(SingleTransferInstructionQueryResp) bankUtil.bankRequst(param, 0, SingleTransferInstructionQueryResp.class);
+        log.info("SingleTransferInstructionQueryResp {}",resp);
+        return resp;
+    }
+
+    @Override
+    public ReimbursementInstructionResp reimbursementInstruction(BankQueryBaseParam<ReimbursementInstructionQureyParam> param) {
+        ReimbursementInstructionResp resp =(ReimbursementInstructionResp) bankUtil.bankRequst(param, 0, ReimbursementInstructionResp.class);
+        log.info("ReimbursementInstructionResp {}",resp);
+        return resp;
+    }
+
+    @Override
+    public InterbankNumberInformationResp interbankNumberInformation(BankQueryBaseParam<InterbankNumberInformationParam> param) {
+        InterbankNumberInformationResp resp =(InterbankNumberInformationResp) bankUtil.bankRequst(param, 0, InterbankNumberInformationResp.class);
+        return resp;
+    }
+
+    @Override
+    public BankUserAndParam getBankQueryBaseParam(RequestTransferForm form) {
+        String pwd = form.getPassword();
+        String account = form.getAccount();
+        BUser user = bUserService.getByAccount(account);
+
+        if (user == null){
+            throw new GlobalException("用户或密码错误");
+        }
+        if (!passwordEncoder.matches(pwd,user.getPassword())){
+            throw new GlobalException("用户或密码错误");
+        }
+
+        BankUserAndParam userAndParam = bankUserAndParam(user);
+        return userAndParam;
+    }
+
+    @Override
+    public BankUserAndParam getBankQueryBaseParam(Integer type, Long guid) {
+        if(type == null){
+            return null;
+        }
+        Long userGuid = null;
+        String userId = null;
+        String serviceId = null;
+        String chaSerialNo = null;
+        String entSerialNo = null;
+        String reqTime = null;
+        String sessionId = null;
+        String opMethod = null;
+        if (type == 1){
+            BTransferDetailRequest detailRequest = getDetailRequest(guid);
+            userGuid = detailRequest.getFkUserId();
+            userId = detailRequest.getUserId();
+            serviceId = detailRequest.getServiceId();
+            chaSerialNo = detailRequest.getChaSerialNo();
+            entSerialNo = detailRequest.getEntSerialNo();
+            reqTime = detailRequest.getReqTime();
+            sessionId = detailRequest.getSessionId();
+        }else if (type == 2){
+            BTransferFarmerRequest request = getFarmerRequest(guid);
+            userGuid = request.getFkUserId();
+            userId = request.getUserId();
+            serviceId = request.getServiceId();
+            chaSerialNo = request.getChaSerialNo();
+            entSerialNo = request.getEntSerialNo();
+            reqTime = request.getReqTime();
+            sessionId = request.getSessionId();
+            opMethod = request.getOpMethod();
+        }else {
+            return null;
+        }
+        if (userGuid == null|| userId == null){
+            return null;
+        }
+        BUser user = bUserService.get(userGuid);
+        BankUserAndParam userAndParam = bankUserAndParam(user);
+        userAndParam.setServiceId(serviceId);
+        userAndParam.setChaSerialNo(chaSerialNo);
+        userAndParam.setEntSerialNo(entSerialNo);
+        userAndParam.setReqTime(reqTime);
+        userAndParam.setSessionId(sessionId);
+        return userAndParam;
+    }
+
+    @Override
+    public BTransferFarmerRequest getFarmerRequest(Long guid) {
+        if (guid == null){
+            return new BTransferFarmerRequest();
+        }
+        BTransferFarmerRequestExample example = new BTransferFarmerRequestExample();
+        BTransferFarmerRequestExample.Criteria criteria = example.createCriteria();
+        criteria.andFkTransferIdEqualTo(guid);
+        List<BTransferFarmerRequest> requests = farmerRequestMapper.selectByExample(example);
+        if (requests != null&&requests.size()>0){
+            return requests.get(0);
+        }
+        return new BTransferFarmerRequest();
+    }
+
+    @Override
+    public BTransferDetailRequest getDetailRequest(Long guid) {
+        if (guid == null){
+            return new BTransferDetailRequest();
+        }
+        BTransferDetailRequestExample example = new BTransferDetailRequestExample();
+        BTransferDetailRequestExample.Criteria criteria = example.createCriteria();
+        criteria.andFkTransferDetailIdEqualTo(guid);
+        List<BTransferDetailRequest> requests = detailRequestMapper.selectByExample(example);
+        if (requests != null && requests.size() >0){
+            return requests.get(0);
+        }
+        return new BTransferDetailRequest();
+    }
+
+    public BankUserAndParam bankUserAndParam(BUser user){
+
+        BankLoginUserRespBO userRespBO = bankUserService.getSessionId(user);
+        if (userRespBO == null || StringUtils.isEmpty(userRespBO.getSessionId())){
+            throw new GlobalException(ResultEnum.SYS_ERROR);
+        }
+        String num = BankNoUtial.NextOrderNo();
+        String time = bankUtil.getTime(new Date());
+        String sessionId =  userRespBO.getSessionId();
+
+        BankQueryBaseParam paramReq = new BankQueryBaseParam();
+        paramReq.setReqTime(time);
+        paramReq.setSessionId(sessionId);
+        paramReq.setSerialNo(num);
+
+        BankUserAndParam userAndParam = new BankUserAndParam();
+        userAndParam.setUser(user);
+        userAndParam.setParam(paramReq);
+
+        return userAndParam;
+    }
+
+
+
+
 }