Ver Fonte

解决开户审核没发账户变更通知的bug

xie.kaifeng há 8 meses atrás
pai
commit
00a731bc0e

+ 49 - 2
mtp3-century/src/main/java/com/muchinfo/mtp3century/service/impl/WskhUserinfoServiceImpl.java

@@ -488,6 +488,10 @@ public class WskhUserinfoServiceImpl extends ServiceImpl<IWskhUserinfoMapper, Ws
     @Override
     @Transactional(rollbackFor = Exception.class)
     public AjaxResult investorProcess(InvestorProcessParam param, HttpServletRequest request) {
+        Map<String, Object> resultMap = new HashMap<>();
+        resultMap.put("code", 0);
+        resultMap.put("msg", "审核成功");
+
         WskhUserinfo wui = iWskhUserinfoMapper.selectOne(new QueryWrapper<WskhUserinfo>().eq("userid", param.getAuditid()));
         if (wui == null) {
             return AjaxResult.error(Constants.Error_Code_Design, MessageType.ORGAN_ERROR_CODE_021.getCode(), request.getHeader("Accept-Language"));
@@ -568,7 +572,7 @@ public class WskhUserinfoServiceImpl extends ServiceImpl<IWskhUserinfoMapper, Ws
                 String countStr = CommonUtil.addZero(count.toString(), 5);//前补0,5位
                 //投资者ID
                 Long userid = Long.valueOf(wui.getMemberareaid() + countStr);
-                passauto(wui, userid, countStr, systemmanager, param);
+                passauto(wui, userid, countStr, systemmanager, param, resultMap);
                 iUseraccountMapper.updateAccount(userid);
             } else {
                 //不通过
@@ -603,10 +607,50 @@ public class WskhUserinfoServiceImpl extends ServiceImpl<IWskhUserinfoMapper, Ws
                 iWskhUserinfoMapper.updateById(wui);
             }
         }
+
+        if (resultMap.get("code") != null && resultMap.get("code").toString().equals("0")) {
+            //发送消息
+            sendAuditMsg(resultMap);
+        }
         return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"));
     }
 
-    public void passauto(WskhUserinfo wui, Long userid, String countStr, Systemmanager user, InvestorProcessParam param) {
+    private void sendAuditMsg(Map<String, Object> resultMap) {
+        try {
+            if (resultMap.containsKey("taaccount") && resultMap.get("taaccount") != null
+                    && resultMap.containsKey("userinfo") && resultMap.get("userinfo") != null) {
+                List<Taaccount> ta = (List<Taaccount>) resultMap.get("taaccount");
+                Userinfo ui = (Userinfo) resultMap.get("userinfo");
+                for (Taaccount taaccount : ta) {
+                    iSendMsgService.sendCustomerInfo(ui, taaccount.getAccountid(), "1", 0);
+
+                    //发给账户服务的,用户变更通知
+                    iSendMsgService.sendUserChangeMsg(taaccount.getAccountid(), taaccount.getUserid(),
+                            SysEnums.UserOperateTypeEnum.ADD.getType(),
+                            SysEnums.NotifyModeEnum.UNICAST.getType());
+                }
+            }
+
+            if (resultMap.containsKey("loginaccount") && resultMap.get("loginaccount") != null) {
+                Loginaccount la = (Loginaccount) resultMap.get("loginaccount");
+
+                // 登录账户变更通知 changetype = 0 新增
+                sendLoginAccChangeNtf(la.getLoginid(), 0);
+            }
+
+        } catch (Exception e) {
+            log.error("账户信息变更通知发送失败,失败原因:" + e.getMessage());
+        }
+    }
+
+    public void sendLoginAccChangeNtf(Long loginid, int changeType){
+        if (loginid == null ) return ;
+        Set<Long> logins = new HashSet<>();
+        logins.add(loginid);
+        iSendMsgService.sendLoginMsg(logins,changeType, 0);
+    }
+
+    public void passauto(WskhUserinfo wui, Long userid, String countStr, Systemmanager user, InvestorProcessParam param, Map<String, Object> resultMap) {
         //系统默认登录密码
         String lpwd = redisServiceUtil.getCacheMapValue(Constants.REDIS_HEADER_SYSPARAM, "046");
         //系统默认资金密码
@@ -770,6 +814,7 @@ public class WskhUserinfoServiceImpl extends ServiceImpl<IWskhUserinfoMapper, Ws
         la.setModifytime(new Date());
         la.setHasupdatedpwd(0);
         iLoginaccountMapper.insert(la);
+        resultMap.put("loginaccount", la);
 
         //默认保存手机登录关联关系
         if (StringUtils.isNotBlank(ui.getMobile())) {
@@ -806,6 +851,8 @@ public class WskhUserinfoServiceImpl extends ServiceImpl<IWskhUserinfoMapper, Ws
             taaList.add(ac);
             iTaaccountMapper.insert(ac);
         }
+        resultMap.put("taaccount", taaList);
+        resultMap.put("userinfo", ui);
 
         if (wui.getOpenmode() == 11 || wui.getOpenmode() == 12) {
             WskhUserauthinfo wuai = iWskhUserauthinfoMapper.selectOne(new QueryWrapper<WskhUserauthinfo>().eq("userid", wui.getUserid()));