ソースを参照

新增银行业务接口

xie.kaifeng 5 ヶ月 前
コミット
1a7b9d0727

+ 8 - 0
mtp3-century/src/main/java/com/muchinfo/mtp3century/controller/BankAccountController.java

@@ -62,6 +62,14 @@ public class BankAccountController {
         return iBankAccountSignService.getSignBankById(accountcode, cusbankid, applyexchticket, request);
     }
 
+    @ApiOperation("审核")
+    @RequestMapping(method = RequestMethod.GET, value = "/getSignBankById")
+    @ApiResponse(code = 200, message = "成功", response = AjaxResult.class)
+    private AjaxResult audit(String applyexchticket, Integer Auditflag, String Msg, HttpServletRequest request) {
+        return iBankAccountSignService.audit(Auditflag, Msg, applyexchticket, request);
+    }
+
+
     @ApiOperation("银行业务/查询管理-->出入金查询")
     @ApiResponse(code = 200, message = "成功", response = PageResult.class)
     @RequestMapping(method = RequestMethod.GET, value = "/queryPutOrIn")

+ 2 - 0
mtp3-century/src/main/java/com/muchinfo/mtp3century/service/IBankAccountSignService.java

@@ -21,4 +21,6 @@ public interface IBankAccountSignService {
     AjaxResult dealAccountSign(HttpServletRequest request, AccountSignParam param);
 
     AjaxResult<BankCusbankinfo> dealAccountSignInit(Long accountid, HttpServletRequest request);
+
+    AjaxResult audit(Integer auditflag, String msg, String applyexchticket, HttpServletRequest request);
 }

+ 72 - 1
mtp3-century/src/main/java/com/muchinfo/mtp3century/service/impl/BankAccountSignServiceImpl.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.muchinfo.mtp.proto.BankMI1;
+import com.muchinfo.mtp.proto.BankMI2;
 import com.muchinfo.mtp.proto.Common;
 import com.muchinfo.mtp3century.service.IBankAccountSignService;
 import com.muchinfo.mtp3century.service.ICommonService;
@@ -63,7 +64,8 @@ public class BankAccountSignServiceImpl implements IBankAccountSignService {
     private IBankCusbankinfoMapper iBankCusbankinfoMapper;
     @Resource
     private IBankBankinfoMapper iBankBankinfoMapper;
-
+    @Resource
+    private IMarketrunMapper iMarketrunMapper;
 
     @Override
     public PageResult<AccountSignQueryResult> query(AccountSignQueryParam accountSignQueryParam,HttpServletRequest request) {
@@ -360,6 +362,75 @@ public class BankAccountSignServiceImpl implements IBankAccountSignService {
         return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"), cusBankList);
     }
 
+    @Override
+    public AjaxResult audit(Integer auditflag, String msg, String applyexchticket, HttpServletRequest request) {
+        Systemmanager systemmanager = iSystemmanagerMapper.selectOne(new QueryWrapper<Systemmanager>().eq("LOGINCODE", iCommonService.getUserLoginCode(request)));
+        Long uuid = SerialNumberUtils.getNewSerialNumber(SerialNumberUtils.prefix_bank);
+        Calculator ca = new Calculator(uuid, FunCodeConstants.FunCode_Trade_t2bExchConfirmBusinessReq);
+        SerialNumberUtils.lockMap.put(uuid, ca);
+        BankAccountsign bankaccountsign = iBankAccountsignMapper.selectOne(new QueryWrapper<BankAccountsign>()
+                .eq("applyexchticket",applyexchticket));
+        if (bankaccountsign == null || (bankaccountsign.getSignstatus() != 2 && bankaccountsign.getSignstatus() != 5)) {
+            return AjaxResult.error(Constants.Error_Code_Design, MessageType.MESSAGE_CODE_SYSTEM032.getCode(), request.getHeader("Accept-Language"));
+        }
+        log.info("--------签约节约审核请求--------");
+        BankMI2.t2bExchConfirmBusinessReq.Builder builder = BankMI2.t2bExchConfirmBusinessReq.newBuilder();
+        Common.MessageHead.Builder hd = Common.MessageHead.newBuilder();
+        hd.setFunCode(FunCodeConstants.FunCode_Trade_t2bExchConfirmBusinessReq);
+        builder.setHeader(hd);
+        // 外部操作流水号(发起本次交易的流水,发起方填写)
+        builder.setExtoperatorid(uuid);
+        // 托管银行编号
+        builder.setCusbankid(bankaccountsign.getCusbankid());
+        // 资金账户
+        builder.setAccountCode(bankaccountsign.getAccountcode());
+        Marketrun mr = iMarketrunMapper.selectOne(new QueryWrapper<Marketrun>().eq("marketid",6L));
+        builder.setTradedate(mr.getTradedate());
+        // 平台编号
+        builder.setExchticket(bankaccountsign.getApplyexchticket());
+        // 签约状态 -2:签约待审核 5:解约待审核
+        if (bankaccountsign.getSignstatus() == 2) {
+            // 交易类型[1: 入金;2:出金;3:签约;4:解约]
+            builder.setBusinesstype(3);
+        }else {
+            // 交易类型[1: 入金;2:出金;3:签约;4:解约]
+            builder.setBusinesstype(4);
+        }
+        // 审核结果[1:通过;2:拒绝]
+        builder.setBusinessconfirmstatus(auditflag == 1 ? 1 : 2);
+        if (auditflag != 1){
+            // 审核拒绝,返回消息
+            builder.setRemark(msg);
+        }
+        //审核人
+        builder.setAuditid(systemmanager.getAutoid());
+        log.debug(builder.build().toString());
+        byte[] body = ProtoHelper.getNTAS(builder.build().toByteArray(),
+                FunCodeConstants.FunCode_Trade_t2bExchConfirmBusinessReq);
+        rabbitTemplate.send(SysConstants.RabbitBankNtfKey, new Message(body, new MessageProperties()));
+        synchronized (ca) {
+            try {
+                ca.wait(10000);
+                Object rsp = ca.obj;
+                if (rsp != null) {
+                    BankMI2.t2bExchConfirmBusinessRsp rsp_ = (BankMI2.t2bExchConfirmBusinessRsp) rsp;
+                    if (rsp_.getStatus() == 0) {
+                        return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM019.getCode(), request.getHeader("Accept-Language"));
+                    } else {
+                        return AjaxResult.error(Constants.Error_Code_Design, ProtoErrorCodes.resultMsg(rsp_.getStatus()) + ";" + rsp_.getRetDesc(), "");
+                    }
+                } else {
+                    return AjaxResult.error(Constants.Error_Code_Design, MessageType.MESSAGE_ERROR_CODE_SYSTEM005.getCode(), request.getHeader("Accept-Language"));
+                }
+            } catch (InterruptedException e) {
+                e.printStackTrace();
+            } finally {
+                SerialNumberUtils.lockMap.remove(uuid);
+            }
+        }
+        return null;
+    }
+
     private void writelog(AccountSignParam sign, Integer type, Systemmanager user) {
         try {
             Systemmanagerlog syslog = new Systemmanagerlog();

+ 1 - 0
mtp3-century/src/main/resources/message_en.properties

@@ -28,6 +28,7 @@ message_code_system028=This document is already on the blacklist!
 message_code_system029=The IP address cannot be a null value!
 message_code_system030=IP address duplication!
 message_code_system031=default configuration
+message_code_system032=The request has been approved, please refresh the list
 message_error_code_system001=Token invalid, please log in again!
 message_error_code_system002=operation failed
 message_error_code_system003=The user does not have operational permissions

+ 1 - 0
mtp3-century/src/main/resources/message_th.properties

@@ -28,6 +28,7 @@ message_code_system028=\u0E1A\u0E31\u0E0D\u0E0A\u0E35\u0E14\u0E33\u0E21\u0E35\u0
 message_code_system029=\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 IP \u0E15\u0E49\u0E2D\u0E07\u0E44\u0E21\u0E48\u0E21\u0E35\u0E04\u0E48\u0E32\u0E27\u0E48\u0E32\u0E07!
 message_code_system030=\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 IP \u0E0B\u0E49\u0E33\u0E01\u0E31\u0E19!
 message_code_system031=\u0E01\u0E32\u0E23\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E04\u0E48\u0E32\u0E1B\u0E23\u0E34\u0E22\u0E32\u0E22
+message_code_system032=\u0E04\u0E33\u0E02\u0E2D\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E15\u0E23\u0E27\u0E08\u0E2A\u0E2D\u0E1A\u0E42\u0E1B\u0E23\u0E14\u0E23\u0E35\u0E40\u0E1F\u0E23\u0E0A\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23
 message_error_code_system001=\u0E42\u0E17\u0E40\u0E04\u0E47\u0E19\u0E25\u0E49\u0E21\u0E40\u0E2B\u0E25\u0E27\u0E42\u0E1B\u0E23\u0E14\u0E40\u0E02\u0E49\u0E32\u0E2A\u0E39\u0E48\u0E23\u0E30\u0E1A\u0E1A\u0E2D\u0E35\u0E01\u0E04\u0E23\u0E31\u0E49\u0E07!
 message_error_code_system002=\u0E01\u0E32\u0E23\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23\u0E25\u0E49\u0E21\u0E40\u0E2B\u0E25\u0E27!
 message_error_code_system003=\u0E44\u0E21\u0E48\u0E21\u0E35\u0E2A\u0E34\u0E17\u0E18\u0E34\u0E4C\u0E43\u0E19\u0E01\u0E32\u0E23\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E07\u0E32\u0E19\u0E02\u0E2D\u0E07\u0E1C\u0E39\u0E49\u0E43\u0E0A\u0E49\u0E23\u0E32\u0E22\u0E19\u0E35\u0E49!

+ 1 - 0
mtp3-century/src/main/resources/message_vi.properties

@@ -28,6 +28,7 @@ message_code_system028=Danh s\u00E1ch \u0111en \u0111\u00E3 c\u00F3 gi\u1EA5y t\
 message_code_system029=\u0110\u1ECBa ch\u1EC9 IP kh\u00F4ng th\u1EC3 l\u00E0 null!
 message_code_system030=\u0110\u1ECBa ch\u1EC9 IP l\u1EB7p l\u1EA1i!
 message_code_system031=C\u1EA5u h\u00ECnh m\u1EB7c \u0111\u1ECBnh
+message_code_system032=Y\u00EAu c\u1EA7u \u0111\u00E3 \u0111\u01B0\u1EE3c xem x\u00E9t, vui l\u00F2ng l\u00E0m m\u1EDBi danh s\u00E1ch
 message_error_code_system001=M\u00E3 th\u00F4ng b\u00E1o h\u1EBFt hi\u1EC7u l\u1EF1c, xin vui l\u00F2ng \u0111\u0103ng nh\u1EADp l\u1EA1i!
 message_error_code_system002=Ho\u1EA1t \u0111\u1ED9ng th\u1EA5t b\u1EA1i
 message_error_code_system003=Kh\u00F4ng c\u00F3 quy\u1EC1n h\u00E0nh \u0111\u1ED9ng cho ng\u01B0\u1EDDi d\u00F9ng \u0111\u00F3!

+ 1 - 0
mtp3-century/src/main/resources/message_zh-cn.properties

@@ -28,6 +28,7 @@ message_code_system028=\u9ED1\u540D\u5355\u5DF2\u6709\u6B64\u8BC1\u4EF6!
 message_code_system029=IP\u5730\u5740\u4E0D\u80FD\u4E3A\u7A7A\u503C!
 message_code_system030=IP\u5730\u5740\u91CD\u590D!
 message_code_system031=\u9ED8\u8BA4\u914D\u7F6E
+message_code_system032=\u8BE5\u8BF7\u6C42\u5DF2\u5BA1\u6838,\u8BF7\u5237\u65B0\u5217\u8868
 message_error_code_system001=\u4EE4\u724C\u5931\u6548\uFF0C\u8BF7\u91CD\u65B0\u767B\u5F55\uFF01
 message_error_code_system002=\u64CD\u4F5C\u5931\u8D25
 message_error_code_system003=\u6CA1\u6709\u8BE5\u7528\u6237\u7684\u64CD\u4F5C\u6743\u9650!

+ 1 - 0
mtp3-century/src/main/resources/message_zh-hk.properties

@@ -28,6 +28,7 @@ message_code_system028=\u9ED1\u540D\u55AE\u5DF2\u6709\u6B64\u8B49\u4EF6!
 message_code_system029=IP\u5730\u5740\u4E0D\u80FD\u70BA\u7A7A\u503C!
 message_code_system030=IP\u5730\u5740\u91CD\u8907!
 message_code_system031=\u9ED8\u8A8D\u914D\u5BD8
+message_code_system032=\u8A72\u8ACB\u6C42\u5DF2\u7A3D\u6838\uFF0C\u8ACB\u91CD\u7E6A\u6E05\u55AE
 message_error_code_system001=\u6B0A\u6756\u5931\u6548\uFF0C\u8ACB\u91CD\u65B0\u767B\u5165\uFF01
 message_error_code_system002=\u64CD\u4F5C\u5931\u6557
 message_error_code_system003=\u6C92\u6709\u8A72\u7528\u6236\u7684\u64CD\u4F5C\u8A31\u53EF\u6B0A\uFF01

+ 1 - 0
mtp3-century/src/main/resources/message_zh-tw.properties

@@ -28,6 +28,7 @@ message_code_system028=\u9ED1\u540D\u55AE\u5DF2\u6709\u6B64\u8B49\u4EF6!
 message_code_system029=IP\u5730\u5740\u4E0D\u80FD\u70BA\u7A7A\u503C!
 message_code_system030=IP\u5730\u5740\u91CD\u8907!
 message_code_system031=\u9ED8\u8A8D\u914D\u5BD8
+message_code_system032=\u8A72\u8ACB\u6C42\u5DF2\u7A3D\u6838\uFF0C\u8ACB\u91CD\u7E6A\u6E05\u55AE
 message_error_code_system001=\u6B0A\u6756\u5931\u6548\uFF0C\u8ACB\u91CD\u65B0\u767B\u5165\uFF01
 message_error_code_system002=\u64CD\u4F5C\u5931\u6557
 message_error_code_system003=\u6C92\u6709\u8A72\u7528\u6236\u7684\u64CD\u4F5C\u8A31\u53EF\u6B0A\uFF01

+ 1 - 0
mtp3-common/src/main/java/com/muchinfo/mtp3common/enumtype/MessageType.java

@@ -35,6 +35,7 @@ public enum MessageType {
     MESSAGE_CODE_SYSTEM029("message_code_system029", "IP地址不能为空值"),
     MESSAGE_CODE_SYSTEM030("message_code_system030", "IP地址重复"),
     MESSAGE_CODE_SYSTEM031("message_code_system031", "默认配置"),
+    MESSAGE_CODE_SYSTEM032("message_code_system032", "该请求已审核,请刷新列表"),
 
     MESSAGE_ERROR_CODE_SYSTEM001("message_error_code_system001", "令牌失效,请重新登录!"),
     MESSAGE_ERROR_CODE_SYSTEM002("message_error_code_system002", "操作失败"),