xinyb
3 天以前 3b74e3df72726e188d36393ecfd7964d095ef7e8
src/com/yc/crm/mail/action/MailAccount.java
@@ -1,15 +1,21 @@
package com.yc.crm.mail.action;
import com.sun.mail.imap.IMAPStore;
import com.yc.action.mail.EmailConfigUtils;
import com.yc.crm.mail.entity.FoundationEntity;
import com.yc.crm.mail.entity.T482102Entity;
import com.yc.crm.mail.service.MailAccountIfc;
import com.yc.crm.mail.service.MailIfc;
import com.yc.crm.mail.service.MailServiceIfc;
import com.yc.crm.mail.util.AllBackMsg;
import com.yc.entity.DataSourceEntity;
import com.yc.factory.FactoryBean;
import com.yc.multiData.MultiDataSource;
import com.yc.multiData.SpObserver;
import com.yc.utils.SessionKey;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.web.bind.annotation.*;
import javax.mail.*;
@@ -32,12 +38,14 @@
@RestController
@RequestMapping("/crm/mail/account")
public class MailAccount {
    ThreadPoolTaskExecutor threadPoolExecutor = (ThreadPoolTaskExecutor) FactoryBean.getBean("threadPoolExecutor");//线程池
    @Autowired
    MailAccountIfc mailAccountIfc;
    @Autowired
    MailIfc mailIfc;
    @Autowired
    MailServiceIfc mailServiceIfc;
    /**
     * 添加邮箱配置信息
     *
@@ -51,8 +59,58 @@
        AllBackMsg msg = new AllBackMsg();
        try {
            if (StringUtils.isBlank(account.getEmail())) {
                msg.setFail("请输入邮箱地址");
                msg.setFail("请输入邮箱账号");
                return msg;
            }
            if (account.getMailType().equals(0) || account.getMailType().equals(1)) {
                if (StringUtils.isBlank(account.getPassword())) {
                    msg.setFail("请输入邮箱密码");
                    return msg;
                }
                account.setReceiveEmail(account.getEmail());
                account.setReceivePassword(account.getPassword());
                account.setSmtpEmail(account.getEmail());
                account.setSmtpPassword(account.getPassword());
            }
            if (account.getMailType().equals(1) || account.getMailType().equals(2)) {
                if (StringUtils.isBlank(account.getReceiveProtocol())) {
                    msg.setFail("请选择协议类型");
                    return msg;
                }
                if (StringUtils.isBlank(account.getReceiveHost())) {
                    msg.setFail("请输入收邮件服务器");
                    return msg;
                }
                if (account.getReceivePort().equals(0)) {
                    msg.setFail("请输入收邮件服务器端口");
                    return msg;
                }
                if (StringUtils.isBlank(account.getSmtpHost())) {
                    msg.setFail("请输入发邮件服务器");
                    return msg;
                }
                if (account.getSmtpPort().equals(0)) {
                    msg.setFail("请输入发邮件服务器端口");
                    return msg;
                }
                if (account.getMailType().equals(2)) {
                    if (StringUtils.isBlank(account.getReceiveEmail())) {
                        msg.setFail("请输入收件账号");
                        return msg;
                    }
                    if (StringUtils.isBlank(account.getReceivePassword())) {
                        msg.setFail("请输入收件密码");
                        return msg;
                    }
                    if (StringUtils.isBlank(account.getSmtpEmail())) {
                        msg.setFail("请输入发件账号");
                        return msg;
                    }
                    if (StringUtils.isBlank(account.getSmtpPassword())) {
                        msg.setFail("请输入发件密码");
                        return msg;
                    }
                }
            }
            HttpSession session = request.getSession();
            String companyId = (String) session.getAttribute(SessionKey.COMPANY_ID);
@@ -63,16 +121,93 @@
            account.setCompanyName(companyName);
            account.setUserCode(userCode);
            account.setUserName(userName);
            if (account.getMailType().equals(0)) {
                //初始配置
                getMailConfigProperties(account);
            }
            DataSourceEntity dataSource = MultiDataSource.getDataSourceMap(request);//获取数据源
            SpObserver.setDBtoInstance("_" + dataSource.getDbId());
            mailAccountIfc.addEmailAccount(account);//添加新的邮箱配置
            //邮件检测
            String error = emailDetection(account);
            if (StringUtils.isNotBlank(error)) {
                account.setMailStatus("异常");
            }
            account= mailAccountIfc.addEmailAccount(account);//添加新的邮箱配置
            Map<String, Object> map = new HashMap<>();
            map.put("companyId", companyId);
            map.put("companyName", companyName);
            map.put("userCode", userCode);
            map.put("userName", userName);
            map.put("email", account.getEmail());
            msg.setSuccess("已保存", map);
            if (StringUtils.isBlank(error)) {
                map.put("code", 0);
                map.put("companyId", companyId);
                map.put("companyName", companyName);
                map.put("userCode", userCode);
                map.put("userName", userName);
                map.put("email", account.getEmail());
                msg.setSuccess("已保存", map);
                //多线程收邮件
                threadPoolExecutor.execute(new MailController.ReceivingEmailsSave(mailServiceIfc, account, new FoundationEntity(request)));
            } else {
                map.put("code", -1);
                map.put("mailStatus", "异常");
                map.put("error", error);
                msg.setSuccess("执行成功", map);
            }
        } catch (Exception e) {
            msg.setFail(e.getCause() != null ? e.getCause().getMessage() : e.getMessage());
        } finally {
            SpObserver.setDBtoInstance();
        }
        return msg;
    }
    /**
     * 添加别名邮箱
     *
     * @param account
     * @param request
     * @param response
     * @return
     */
    @GetMapping("/addAliasEmail.do")
    public AllBackMsg addAliasEmail(String aliasEmail, Integer accountId, HttpServletRequest request, HttpServletResponse response) {
        AllBackMsg msg = new AllBackMsg();
        try {
            if (StringUtils.isBlank(aliasEmail)) {
                msg.setFail("请输入别名邮箱");
                return msg;
            }
            if (accountId.equals(0)) {
                msg.setFail("邮箱账号Id不能为空");
                return msg;
            }
            HttpSession session = request.getSession();
            String userCode = (String) session.getAttribute(SessionKey.USERCODE);
            if (StringUtils.isBlank(userCode)) {
                msg.setFail("登录用户已过期,请检查");
                return msg;
            }
            DataSourceEntity dataSource = MultiDataSource.getDataSourceMap(request);//获取数据源
            SpObserver.setDBtoInstance("_" + dataSource.getDbId());
            T482102Entity t482102Entity = mailAccountIfc.getAccountInfo(userCode, accountId);
            if (t482102Entity.getMailType().equals(0) || t482102Entity.getMailType().equals(1)) {
                t482102Entity.setEmail(aliasEmail);
                t482102Entity.setReceiveEmail(aliasEmail);
                t482102Entity.setSmtpEmail(aliasEmail);
            }
            //邮箱检测
            String error = emailDetection(t482102Entity);
            Map<String, Object> map = new HashMap<>();
            if (StringUtils.isBlank(error)) {
                mailAccountIfc.updateAliasEmail(aliasEmail, accountId);
                map.put("code", 0);
                map.put("userCode", userCode);
                map.put("aliasEmail", aliasEmail);
                map.put("accountId", accountId);
                msg.setSuccess("已保存", map);
            } else {
                map.put("code", -1);
                map.put("mailStatus", "异常");
                map.put("error", error);
                msg.setSuccess("执行成功", map);
            }
        } catch (Exception e) {
            msg.setFail(e.getCause() != null ? e.getCause().getMessage() : e.getMessage());
        } finally {
@@ -97,6 +232,56 @@
                msg.setFail("获取不到邮箱配置ID,请检查");
                return msg;
            }
            if (StringUtils.isBlank(account.getEmail())) {
                msg.setFail("请输入邮箱账号");
                return msg;
            }
            if (account.getMailType().equals(0)) {
                account.setMailType(1);
            }
            if (account.getMailType().equals(1)) {
                if (StringUtils.isBlank(account.getPassword())) {
                    msg.setFail("请输入邮箱密码");
                    return msg;
                }
                account.setReceiveEmail(account.getEmail());
                account.setReceivePassword(account.getPassword());
                account.setSmtpEmail(account.getEmail());
                account.setSmtpPassword(account.getPassword());
            } else if (account.getMailType().equals(2)) {
                if (StringUtils.isBlank(account.getReceiveEmail())) {
                    msg.setFail("请输入收件账号");
                    return msg;
                }
                if (StringUtils.isBlank(account.getReceivePassword())) {
                    msg.setFail("请输入收件密码");
                    return msg;
                }
                if (StringUtils.isBlank(account.getSmtpEmail())) {
                    msg.setFail("请输入发件账号");
                    return msg;
                }
                if (StringUtils.isBlank(account.getSmtpPassword())) {
                    msg.setFail("请输入发件密码");
                    return msg;
                }
            }
            if (StringUtils.isBlank(account.getReceiveHost())) {
                msg.setFail("请输入收邮件服务器");
                return msg;
            }
            if (account.getReceivePort().equals(0)) {
                msg.setFail("请输入收邮件服务器端口");
                return msg;
            }
            if (StringUtils.isBlank(account.getSmtpHost())) {
                msg.setFail("请输入发邮件服务器");
                return msg;
            }
            if (account.getSmtpPort().equals(0)) {
                msg.setFail("请输入发邮件服务器端口");
                return msg;
            }
            HttpSession session = request.getSession();
            String userCode = (String) session.getAttribute(SessionKey.USERCODE);
            String userName = (String) session.getAttribute(SessionKey.USER_NAME);
@@ -108,11 +293,22 @@
            DataSourceEntity dataSource = MultiDataSource.getDataSourceMap(request);//获取数据源
            SpObserver.setDBtoInstance("_" + dataSource.getDbId());
            mailAccountIfc.updateEmailAccount(account);
            String error = emailDetection(account);
            Map<String, Object> map = new HashMap<>();
            map.put("userCode", userCode);
            map.put("userName", userName);
            map.put("email", account.getEmail());
            msg.setSuccess("已更新", map);
            if (StringUtils.isBlank(error)) {
                map.put("code", 0);
                map.put("userCode", userCode);
                map.put("userName", userName);
                map.put("email", account.getEmail());
                msg.setSuccess("已更新", map);
            } else {
                //异常处理
                mailAccountIfc.updateMailStatus("异常", account.getAccountId());
                map.put("code", -1);
                map.put("mailStatus", "异常");
                map.put("error", error);
                msg.setSuccess("执行成功", map);
            }
        } catch (Exception e) {
            msg.setFail(e.getCause() != null ? e.getCause().getMessage() : e.getMessage());
        } finally {
@@ -133,7 +329,7 @@
    public AllBackMsg deleteAccount(@RequestParam(defaultValue = "0") Integer accountId, HttpServletRequest request, HttpServletResponse response) {
        AllBackMsg msg = new AllBackMsg();
        try {
            if (accountId == 0) {
            if (accountId.equals(0)) {
                msg.setFail("邮箱编号ID获取不到");
                return msg;
            }
@@ -158,6 +354,37 @@
    }
    /**
     * 查询邮箱配置列表
     *
     * @param search   搜索
     * @param request
     * @param response
     * @return
     */
    @GetMapping("/getAccountList.do")
    public AllBackMsg getAccountList(HttpServletRequest request, HttpServletResponse response) {
        AllBackMsg msg = new AllBackMsg();
        try {
            HttpSession session = request.getSession();
            String userCode = (String) session.getAttribute(SessionKey.USERCODE);
            DataSourceEntity dataSource = MultiDataSource.getDataSourceMap(request);//获取数据源
            SpObserver.setDBtoInstance("_" + dataSource.getDbId());
            List<T482102Entity> t482102Entities = mailAccountIfc.getAccount(userCode);
            if (t482102Entities.size() > 0) {
                msg.setSuccess("执行成功", t482102Entities);
            } else {
                msg.setFail("未找到配置信息,0条数据");
            }
        } catch (Exception e) {
            msg.setFail(e.getCause() != null ? e.getCause().getMessage() : e.getMessage());
        } finally {
            SpObserver.setDBtoInstance();
        }
        return msg;
    }
    /**
     * 查询个人邮箱信息
     *
     * @param search   搜索
@@ -169,16 +396,66 @@
    public AllBackMsg getAccount(String mail, HttpServletRequest request, HttpServletResponse response) {
        AllBackMsg msg = new AllBackMsg();
        try {
            if (StringUtils.isBlank(mail)) {
                msg.setFail("参数 邮件账号 不能为空");
                return msg;
            }
            HttpSession session = request.getSession();
            String userCode = (String) session.getAttribute(SessionKey.USERCODE);
            DataSourceEntity dataSource = MultiDataSource.getDataSourceMap(request);//获取数据源
            SpObserver.setDBtoInstance("_" + dataSource.getDbId());
            List<T482102Entity> t482102Entities = mailAccountIfc.getAccount(userCode, mail);
            if (t482102Entities.size() > 0) {
                msg.setSuccess("执行成功", t482102Entities.get(0));
            T482102Entity t482102Entities = mailAccountIfc.getAccountInfo(userCode, mail);
            if (StringUtils.isNotBlank(t482102Entities.getEmail())) {
                msg.setSuccess("执行成功", t482102Entities);
            } else {
                msg.setFail("未找到配置信息,0条数据");
                msg.setFail("未找到配置信息");
            }
        } catch (Exception e) {
            msg.setFail(e.getCause() != null ? e.getCause().getMessage() : e.getMessage());
        } finally {
            SpObserver.setDBtoInstance();
        }
        return msg;
    }
    /**
     * 检测绑定是否已经存在(是否已绑定)
     *
     * @param email
     * @param request
     * @param response
     * @return
     */
    @GetMapping("/eEmailExists.do")
    public AllBackMsg eEmailExists(String email, HttpServletRequest request, HttpServletResponse response) {
        AllBackMsg msg = new AllBackMsg();
        try {
            HttpSession session = request.getSession();
            String userCode = (String) session.getAttribute(SessionKey.USERCODE);
            if (StringUtils.isBlank(userCode)) {
                msg.setFail("登录用户已过期,请检查");
                return msg;
            }
            if (StringUtils.isBlank(email)) {
                msg.setFail("邮箱不能为空");
                return msg;
            }
            DataSourceEntity dataSource = MultiDataSource.getDataSourceMap(request);//获取数据源
            SpObserver.setDBtoInstance("_" + dataSource.getDbId());
            //根据当前用户查询绑定的邮箱信息
            T482102Entity emailEntity = mailAccountIfc.getAccountInfo(userCode, email);//返回邮箱的账号信息
            Map<String, Object> map = new HashMap<>();
            if (emailEntity == null || StringUtils.isBlank(emailEntity.getEmail())) {
                map.put("code", 0);
                map.put("msg", "该邮箱未绑定");
            } else {
                map.put("code", -1);
                map.put("msg", "该邮箱已绑定");
            }
            msg.setSuccess("执行成功", map);
        } catch (MessagingException e) {
            msg.setFail(e.getCause() != null ? e.getCause().getMessage() : e.getMessage());
        } catch (Exception e) {
            msg.setFail(e.getCause() != null ? e.getCause().getMessage() : e.getMessage());
        } finally {
@@ -198,6 +475,7 @@
    @GetMapping("/isEmailValid.do")
    public AllBackMsg isEmailValid(String email, HttpServletRequest request, HttpServletResponse response) {
        AllBackMsg msg = new AllBackMsg();
        try {
            HttpSession session = request.getSession();
            String userCode = (String) session.getAttribute(SessionKey.USERCODE);
@@ -217,34 +495,30 @@
                msg.setFail("找不到邮箱:" + email + "配置信息请完善。");
                return msg;
            }
            Properties props = new Properties();
            props.put("mail.smtp.host", emailEntity.getSmtpHost()); // 替换为你的SMTP服务器
            props.put("mail.smtp.port", emailEntity.getSmtpPort()); // 或者你使用的端口
            props.put("mail.smtp.auth", "true");
            props.put("mail.smtp.starttls.enable", "true");
            if (emailEntity.getSmtpHost().contains("163")) {//163邮箱设置
                props.put("mail.smtp.ssl.enable", "true");
            String error = emailDetection(emailEntity);
            Map<String, Object> map = new HashMap<>();
            if (StringUtils.isBlank(error)) {
                map.put("code", 0);
                map.put("email", emailEntity.getEmail());
                map.put("protocol", emailEntity.getReceiveProtocol());
                map.put("receiveHost", emailEntity.getReceiveHost());
                map.put("receiveSSL", emailEntity.isReceiveSSL());
                map.put("receivePort", emailEntity.getReceivePort());
                map.put("smtpHost", emailEntity.getSmtpHost());
                map.put("smtpSSL", emailEntity.isSmtpSSL());
                map.put("smtpPort", emailEntity.getSmtpPort());
                map.put("proxyFlag", emailEntity.isProxyFlag());
                map.put("biSyncFlag", emailEntity.isBiSyncFlag());
                map.put("mailStatus", "正常");
                msg.setSuccess("执行成功", map);
            } else {
                //异常处理
                mailAccountIfc.updateMailStatus("异常", emailEntity.getAccountId());
                map.put("code", -1);
                map.put("mailStatus", "异常");
                map.put("error", error);
                msg.setSuccess("执行成功", map);
            }
            Session mailSession = Session.getInstance(props, new Authenticator() {
                @Override
                protected PasswordAuthentication getPasswordAuthentication() {
                    return new PasswordAuthentication(emailEntity.getEmail(), emailEntity.getPassword());
                }
            });
//            Store store = mailSession.getTransport("imaps"); // 使用IMAP协议
//            store.connect();
//            Session mailSession = Session.getInstance(props, null);
//            mailSession.setDebug(false);
//
            Transport transport = mailSession.getTransport();
            transport.connect();
            transport.close();
//            transport.connect(emailEntity.getSmtpHost(),emailEntity.getEmail(), emailEntity.getPassword());
//            transport.sendMessage(new MimeMessage(mailSession), new Address[]{new InternetAddress(emailEntity.getEmail())});
//            transport.close();
            msg.setOk("有效邮箱");
        } catch (MessagingException e) {
            msg.setFail(e.getCause() != null ? e.getCause().getMessage() : e.getMessage());
        } catch (Exception e) {
@@ -254,4 +528,164 @@
        }
        return msg;
    }
    /**
     * 邮箱检测
     *
     * @param emailEntity
     * @return
     * @throws MessagingException
     */
    private String emailDetection(T482102Entity emailEntity) throws MessagingException {
        String errorMsg = "";
        try {
            String protocol = emailEntity.getReceiveProtocol().toLowerCase();//接收协议 imap pop3
            Properties props = new Properties();
            props.put("mail.store.protocol", protocol);//指定接收的邮件协议 IMAP over pop3
            if (protocol.contains("imap")) {
                props.put("mail.imaps.host", emailEntity.getReceiveHost());
                props.put("mail.imaps.port", emailEntity.getReceivePort());
            } else if (protocol.contains("pop3")) {
                props.put("mail.pop3.host", emailEntity.getReceiveHost());
                props.put("mail.pop3.port", emailEntity.getReceivePort());
            } else {
                props.put("mail.imaps.host", emailEntity.getReceiveHost());
                props.put("mail.imaps.port", emailEntity.getReceivePort());
            }
//            props.put("mail.imap.ssl.enable", emailEntity.isReceiveSSL()+""); // 使用 SSL 连接
//            props.put("mail.imap.starttls.enable", "true");//// IMAP 协议设置 STARTTLS
            props.put("mail.smtp.auth", "true");
            props.put("mail.smtp.ssl.enable", emailEntity.isSmtpSSL() + "");//启用SSL
            props.put("mail.smtp.host", emailEntity.getSmtpHost()); // 替换为你的SMTP服务器
            props.put("mail.smtp.port", emailEntity.getSmtpPort()); // 或者你使用的端口
//            props.put("mail.smtp.starttls.enable", "true");//启用tls
//            props.setProperty("mail.smtp.socketFactory.port", "587");//启用tls后port:587
            HashMap IAM = new HashMap();
            //带上IMAP ID信息,由key和value组成,例如name,version,vendor,support-email等。
            IAM.put("name", emailEntity.getReceiveEmail());
            IAM.put("version", emailEntity.getDocVersion() + "");
            IAM.put("vendor", emailEntity.getCompanyName());
            IAM.put("support-email", emailEntity.getEmail());
            //创建会话
            Session session = Session.getInstance(props, new Authenticator() {
                @Override
                protected PasswordAuthentication getPasswordAuthentication() {
                    return new PasswordAuthentication(emailEntity.getReceiveEmail(), emailEntity.getReceivePassword());
                }
            });
            //存储对象
            IMAPStore store = (IMAPStore) session.getStore(protocol);//imap协议或pop3协议类型(推荐你使用IMAP协议来存取服务器上的邮件。)
            //连接
            store.connect(emailEntity.getReceiveHost(), emailEntity.getReceiveEmail(), emailEntity.getReceivePassword());
            store.id(IAM);//163邮箱需要,不然会报:A3 NO SELECT Unsafe Login. Please contact kefu@188.com for help
            Folder folder = null;
            // 获得收件箱
            folder = store.getFolder("INBOX");
            // 以读写模式打开收件箱
            folder.open(Folder.READ_WRITE);
            folder.close(false);
            store.close();
            Transport transport = session.getTransport();
            transport.connect();
            transport.close();
            mailAccountIfc.updateMailStatus("正常", emailEntity.getAccountId());
        } catch (MessagingException e) {
            errorMsg = e.getCause() != null ? e.getCause().getMessage() : e.getMessage();
        } catch (Exception e) {
            errorMsg = e.getCause() != null ? e.getCause().getMessage() : e.getMessage();
        }
        return errorMsg;
    }
    /**
     * 常规查询
     * @param request
     * @param response
     * @return
     */
    @GetMapping("/getConvention.do")
    public AllBackMsg getConvention(HttpServletRequest request, HttpServletResponse response) {
        AllBackMsg msg = new AllBackMsg();
        try {
            HttpSession session = request.getSession();
            String userCode = (String) session.getAttribute(SessionKey.USERCODE);
            if (StringUtils.isBlank(userCode)) {
                msg.setFail("登录用户已过期,请检查");
                return msg;
            }
            DataSourceEntity dataSource = MultiDataSource.getDataSourceMap(request);//获取数据源
            SpObserver.setDBtoInstance("_" + dataSource.getDbId());
            //根据当前用户查询绑定的邮箱信息
        } catch (MessagingException e) {
            msg.setFail(e.getCause() != null ? e.getCause().getMessage() : e.getMessage());
        } catch (Exception e) {
            msg.setFail(e.getCause() != null ? e.getCause().getMessage() : e.getMessage());
        } finally {
            SpObserver.setDBtoInstance();
        }
        return msg;
    }
    /**
     * 常规更新
     * @param request
     * @param response
     * @return
     */
    @GetMapping("/updateConvention.do")
    public AllBackMsg updateConvention(HttpServletRequest request, HttpServletResponse response) {
        AllBackMsg msg = new AllBackMsg();
        try {
            HttpSession session = request.getSession();
            String userCode = (String) session.getAttribute(SessionKey.USERCODE);
            if (StringUtils.isBlank(userCode)) {
                msg.setFail("登录用户已过期,请检查");
                return msg;
            }
            DataSourceEntity dataSource = MultiDataSource.getDataSourceMap(request);//获取数据源
            SpObserver.setDBtoInstance("_" + dataSource.getDbId());
            //根据当前用户查询绑定的邮箱信息
        } catch (MessagingException e) {
            msg.setFail(e.getCause() != null ? e.getCause().getMessage() : e.getMessage());
        } catch (Exception e) {
            msg.setFail(e.getCause() != null ? e.getCause().getMessage() : e.getMessage());
        } finally {
            SpObserver.setDBtoInstance();
        }
        return msg;
    }
    private T482102Entity getMailConfigProperties(T482102Entity t482102) {
        try {
            String email = t482102.getEmail();
            int index = email.lastIndexOf("@");
            String emailSuffix = email.substring(index + 1).toLowerCase();//邮箱后缀
            String port = "";
            t482102.setReceiveHost(EmailConfigUtils.getMailConfig("mail.imap.host." + emailSuffix));
            t482102.setSmtpHost(EmailConfigUtils.getMailConfig("mail.smtp.host." + emailSuffix));
            port = EmailConfigUtils.getMailConfig("mail.imap.port." + emailSuffix);
            if (StringUtils.isNotBlank(port)) {
                t482102.setReceivePort(Integer.parseInt(port));
            }
            port = EmailConfigUtils.getMailConfig("mail.smtp.port." + emailSuffix);
            if (StringUtils.isNotBlank(port)) {
                t482102.setSmtpPort(Integer.parseInt(port));
            }
        } catch (Exception e) {
            return t482102;
        }
        return t482102;
    }
}