xinyb
2024-09-18 57c8bf0a91f08d6fbd31d2b5c4e66f0945607bb0
src/com/yc/crm/mail/service/MailAccountImpl.java
@@ -6,6 +6,7 @@
import org.apache.commons.lang3.StringUtils;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -18,53 +19,38 @@
 */
@Service
public class MailAccountImpl extends BaseService implements MailAccountIfc {
    @Transactional(rollbackFor = Exception.class)
    @Override
    public void addEmailAccount(T482102Entity account) {
        if (StringUtils.isBlank(account.getReceiveEmail())) {
            account.setReceiveEmail(account.getEmail());
            account.setReceivePassword(account.getPassword());
        }
        if (StringUtils.isBlank(account.getSmtpEmail())) {
            account.setSmtpEmail(account.getEmail());
            account.setSmtpPassword(account.getPassword());
        }
        String sql = "set nocount on\n";
        try {
            sql += "insert into t482102(companyId,companyName,email,password,alias_email,userCode,userName,receiveProtocol," +
                    "receiveEmail,receivePassword,receiveSSL,receivePort,receiveHost," +
                    "smtpEmail,smtpPassword,smtpSSL,smtpPort,smtpHost,invalid,create_time,update_time)\n" +
                    "smtpEmail,smtpPassword,smtpSSL,smtpPort,smtpHost,invalid,bisync_flag,proxyFlag,mailType,mailStatus,create_time,update_time)\n" +
                    "values(" + GridUtils.prossSqlParm(account.getCompanyId()) + "," + GridUtils.prossSqlParm(account.getCompanyName()) + "," + GridUtils.prossSqlParm(account.getEmail()) + "," +
                    GridUtils.prossSqlParm(account.getPassword()) + "," +
                    GridUtils.prossSqlParm(account.getAliasEmail()) + "," + GridUtils.prossSqlParm(account.getUserCode()) + "," + GridUtils.prossSqlParm(account.getUserName()) + "," +
                    GridUtils.prossSqlParm(account.getReceiveProtocol()) + "," + GridUtils.prossSqlParm(account.getReceiveEmail()) + "," + GridUtils.prossSqlParm(account.getReceivePassword()) + "," +
                    "'" + account.isReceiveSSL() + "'," + account.getReceivePort() + "," + GridUtils.prossSqlParm(account.getReceiveHost()) + "," +
                    GridUtils.prossSqlParm(account.getSmtpEmail()) + "," + GridUtils.prossSqlParm(account.getSmtpPassword()) + ",'" + account.isSmtpSSL() + "'," +
                    account.getSmtpPort() + "," + GridUtils.prossSqlParm(account.getSmtpHost()) + ",'" + account.isInvalid() + "'," +
                    "convert(varchar(19),getdate(),120),convert(varchar(19),getdate(),120))";
                    account.getSmtpPort() + "," + GridUtils.prossSqlParm(account.getSmtpHost()) + ",'" + account.isInvalid() + "','" + account.isBiSyncFlag() + "','" + account.isProxyFlag() + "'," +
                    account.getMailType() + "," + GridUtils.prossSqlParm(account.getMailStatus()) + ",convert(varchar(19),getdate(),120),convert(varchar(19),getdate(),120))";
            jdbcTemplate.update(sql);
        } catch (Exception e) {
            throw e;
        }
    }
    @Transactional(rollbackFor = Exception.class)
    @Override
    public Integer updateEmailAccount(T482102Entity account) {
        if (StringUtils.isBlank(account.getReceiveEmail())) {
            account.setReceiveEmail(account.getEmail());
            account.setReceivePassword(account.getPassword());
        }
        if (StringUtils.isBlank(account.getSmtpEmail())) {
            account.setSmtpEmail(account.getEmail());
            account.setSmtpPassword(account.getPassword());
        }
        String sql = "set nocount on\n";
        try {
            sql += "update t482102 set alias_email=" + GridUtils.prossSqlParm(account.getAliasEmail()) + ",";
            if (StringUtils.isNotBlank(account.getPassword())) {
                sql += "password=" + GridUtils.prossSqlParm(account.getPassword()) + ",";
            }
            sql += " receiveProtocol=" + GridUtils.prossSqlParm(account.getReceiveProtocol()) + "," +
                    " receiveEmail=" + GridUtils.prossSqlParm(account.getReceiveEmail()) + ",";
            sql += " receiveEmail=" + GridUtils.prossSqlParm(account.getReceiveEmail()) + ",";
            if (StringUtils.isNotBlank(account.getReceivePassword())) {
                sql += "receivePassword=" + GridUtils.prossSqlParm(account.getReceivePassword()) + ",";
            }
@@ -75,7 +61,9 @@
                sql += "smtpPassword=" + GridUtils.prossSqlParm(account.getSmtpPassword()) + ",";
            }
            sql += " smtpSSL='" + account.isSmtpSSL() + "'," + " smtpPort=" + account.getSmtpPort() + ",smtpHost=" + GridUtils.prossSqlParm(account.getSmtpHost()) + "," +
                    " invalid='" + account.isInvalid() + "',update_time=convert(varchar(19),getdate(),120) " +
                    " invalid='" + account.isInvalid() + "',bisync_flag='" + account.isBiSyncFlag() + "',proxyFlag='" + account.isProxyFlag() + "'," +
                    " mailType=" + account.getMailType() + ",mailStatus=" + GridUtils.prossSqlParm(account.getMailStatus()) +
//                    " ,update_time=convert(varchar(19),getdate(),120) " +
                    " where userCode=" + GridUtils.prossSqlParm(account.getUserCode()) + " and accountId=" + account.getAccountId();
            sql += "select @@ROWCOUNT";
            return jdbcTemplate.queryForObject(sql, Integer.class);
@@ -84,6 +72,49 @@
        }
    }
    @Transactional(rollbackFor = Exception.class)
    @Override
    public Integer updateEmailTime(Integer accountId) {
        String sql = "set nocount on\n";
        try {
            sql += "update t482102 set update_time=convert(varchar(19),getdate(),120) " +
                    " where accountId=" + accountId;
            sql += "select @@ROWCOUNT";
            return jdbcTemplate.queryForObject(sql, Integer.class);
        } catch (Exception e) {
            throw e;
        }
    }
    @Transactional(rollbackFor = Exception.class)
    @Override
    public Integer updateMailStatus(String status, Integer accountId) {
        String sql = "set nocount on\n";
        try {
            sql += "update t482102 set mailStatus=" + GridUtils.prossSqlParm(status) + //",update_time=convert(varchar(19),getdate(),120) " +
                    " where accountId=" + accountId;
            sql += "select @@ROWCOUNT";
            return jdbcTemplate.queryForObject(sql, Integer.class);
        } catch (Exception e) {
            throw e;
        }
    }
    @Transactional(rollbackFor = Exception.class)
    @Override
    public Integer updateAliasEmail(String aliasEmail, Integer accountId) {
        String sql = "set nocount on\n";
        try {
            sql += "update t482102 set alias_email=" + GridUtils.prossSqlParm(aliasEmail) + //",update_time=convert(varchar(19),getdate(),120) " +
                    " where accountId=" + accountId;
            sql += "select @@ROWCOUNT";
            return jdbcTemplate.queryForObject(sql, Integer.class);
        } catch (Exception e) {
            throw e;
        }
    }
    @Transactional(rollbackFor = Exception.class)
    @Override
    public Integer deleteEmailAccount(String userCode, Integer accountId) {
        String sql = "set nocount on\n";
@@ -97,18 +128,16 @@
    }
    @Override
    public List<T482102Entity> getAccount(String userCode, String email) {
    public List<T482102Entity> getAccount(String userCode) {
        String sql = "set nocount on\n";
        try {
            sql += "select companyId,companyName,email,password,alias_email as aliasEmail,userCode,userName,accountId,receive_server_user_name as receiveServerUserName," +
                    "isnull(bisync_flag,0) as biSyncFlag,isnull(proxyFlag,0) as proxyFlag,mailDomain,mailType,keywordList,siteUrl,receiveProtocol," +
                    "isnull(bisync_flag,0) as biSyncFlag,isnull(proxyFlag,0) as proxyFlag,mailDomain,isnull(mailType,0) as mailType,mailStatus,keywordList,siteUrl,receiveProtocol," +
                    "receiveEmail,receivePassword,receiveSSL,receivePort,receiveHost,smtpEmail,smtpPassword,smtpSSL,smtpPort,smtpHost," +
                    "isnull(invalid,0) as invalid,create_time as createTime,update_time as updateTime,DocVersion " +
                    "from t482102 " +
                    "where userCode=" + GridUtils.prossSqlParm(userCode);
            if (StringUtils.isNotBlank(email)) {
                sql += " and email=" + GridUtils.prossSqlParm(email);
            }
            sql += " order by accountId";
            return jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(T482102Entity.class));
        } catch (Exception e) {
            throw e;
@@ -116,15 +145,44 @@
    }
    @Override
    public T482102Entity getAccountInfo(String userCode, String email) throws Exception {
        if (StringUtils.isBlank(userCode) || StringUtils.isBlank(email)) {
            throw new Exception("参数UserCode和email不能为空");
        }
        List<T482102Entity> t482101HEntity = getAccount(userCode, email);
        if (t482101HEntity.size() > 0) {
            return t482101HEntity.get(0);
        } else {
    public T482102Entity getAccountInfo(String userCode, Integer accountId) throws Exception {
        String sql = "set nocount on\n";
        try {
            sql += "select companyId,companyName,email,password,alias_email as aliasEmail,userCode,userName,accountId,receive_server_user_name as receiveServerUserName," +
                    "isnull(bisync_flag,0) as biSyncFlag,isnull(proxyFlag,0) as proxyFlag,mailDomain,isnull(mailType,0) as mailType,mailStatus,keywordList,siteUrl,receiveProtocol," +
                    "receiveEmail,receivePassword,receiveSSL,receivePort,receiveHost,smtpEmail,smtpPassword,smtpSSL,smtpPort,smtpHost," +
                    "isnull(invalid,0) as invalid,create_time as createTime,update_time as updateTime,DocVersion " +
                    "from t482102 " +
                    "where userCode=" + GridUtils.prossSqlParm(userCode) + " and accountId=" + accountId;
            sql += " order by accountId";
            List<T482102Entity> t482101HEntity = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(T482102Entity.class));
            if (t482101HEntity.size() > 0) {
                return t482101HEntity.get(0);
            }
            return null;
        } catch (Exception e) {
            throw e;
        }
    }
    @Override
    public T482102Entity getAccountInfo(String userCode, String eMail) throws Exception {
        String sql = "set nocount on\n";
        try {
            sql += "select top 1 companyId,companyName,email,password,alias_email as aliasEmail,userCode,userName,accountId,receive_server_user_name as receiveServerUserName," +
                    "isnull(bisync_flag,0) as biSyncFlag,isnull(proxyFlag,0) as proxyFlag,mailDomain,isnull(mailType,0) as mailType,mailStatus,keywordList,siteUrl,receiveProtocol," +
                    "receiveEmail,receivePassword,receiveSSL,receivePort,receiveHost,smtpEmail,smtpPassword,smtpSSL,smtpPort,smtpHost," +
                    "isnull(invalid,0) as invalid,create_time as createTime,update_time as updateTime,DocVersion " +
                    "from t482102 " +
                    "where userCode=" + GridUtils.prossSqlParm(userCode) + " and email=" + GridUtils.prossSqlParm(eMail);
            sql += " order by accountId";
            List<T482102Entity> t482101HEntity = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(T482102Entity.class));
            if (t482101HEntity.size() > 0) {
                return t482101HEntity.get(0);
            }
            return null;
        } catch (Exception e) {
            throw e;
        }
    }
}