xinyb
2024-09-05 cabf2cffb64e98401d87c2e03537720390e2f4ea
src/com/yc/crm/mail/service/MailImpl.java
@@ -121,7 +121,7 @@
                    "cc=" + GridUtils.prossSqlParm(StringUtils.join(mail.getCc(), ",")) + ",bcc=" + GridUtils.prossSqlParm(StringUtils.join(mail.getBcc(), ",")) + ",subject=" + GridUtils.prossSqlParm(mail.getSubject()) + "," +
                    "content=" + GridUtils.prossSqlParm(mail.getContent()) + ",file_unid=" + GridUtils.prossSqlParm(mail.getFileUNID()) + ",mailType=" + mail.getMailType() + "," +
                    "update_time=getdate() \n";
            sql += " where docCode=" + GridUtils.prossSqlParm(mail.getDocCode())+"\n";
            sql += " where docCode=" + GridUtils.prossSqlParm(mail.getDocCode()) + "\n";
            sql += "select @@ROWCOUNT";
            return jdbcTemplate.queryForObject(sql, Integer.class);
        } catch (Exception e) {
@@ -136,7 +136,7 @@
            sql += "declare @docCode varchar(200) ='" + docCode + "' \n";
            sql += "update t482101H deleteFlag=1 where userCode =" + GridUtils.prossSqlParm(userCode) +
                    " and docCode in (select list from GetInStr(@docCode))\n";//标记删除
            sql += "select select @@ROWCOUNT";
            sql += " select @@ROWCOUNT";
            return jdbcTemplate.queryForObject(sql, Integer.class);
        } catch (Exception e) {
            throw e;
@@ -144,13 +144,13 @@
    }
    @Override
    public Integer deleteReceivingMail(String userCode, String docCode) {
    public Integer deleteEmail(String userCode, String docCode) {
        String sql = "set nocount on\n";
        try {
            sql += "declare @docCode varchar(200) ='" + docCode + "' \n";
            sql += "delete t482101H where userCode =" + GridUtils.prossSqlParm(userCode) +
                    " and docCode in (select list from GetInStr(@docCode))\n";//标记删除
            sql += "select select @@ROWCOUNT";
            sql += " select @@ROWCOUNT";
            return jdbcTemplate.queryForObject(sql, Integer.class);
        } catch (Exception e) {
            throw e;
@@ -158,12 +158,12 @@
    }
    @Override
    public Integer deleteReceivingMail(String messageId) {
    public Integer deleteEmail(String messageId) {
        String sql = "set nocount on\n";
        try {
            sql += "declare @messageId varchar(200) ='" + messageId + "' \n";
            sql += "delete t482101H where messageId in (select list from GetInStr(@messageId))\n";//删除
            sql += "select select @@ROWCOUNT";
            sql += " select @@ROWCOUNT";
            return jdbcTemplate.queryForObject(sql, Integer.class);
        } catch (Exception e) {
            throw e;
@@ -174,8 +174,9 @@
    public t482101HEntity getReceivingMailInfo(String docCode) {
        String sql = "set nocount on\n";
        try {
            sql += "select top 1 DocCode,sender,receiver,subject,content,file_unid as fileUNID,messageId," +
                    "read_flag,delete_flag,create_time,update_time,receive_time from t482101H " +
            sql += "select top 1 DocCode,companyId,companyName,sender,receiver,mailType,subject,content,plain_text,file_unid as fileUNID,messageId," +
                    "read_flag,delete_flag,attach_flag,urgent_flag,receipt_flag,track_flag,userCode,userName,create_time,update_time," +
                    "send_status,receive_time,sign_id,attachment_list,remark,remark,DocVersion from t482101H " +
                    "where docCode=" + GridUtils.prossSqlParm(docCode);
            return jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(t482101HEntity.class)).get(0);
        } catch (Exception e) {
@@ -184,16 +185,21 @@
    }
    @Override
    public List<t482101HList> getReceivingMailList(String email, Integer mailType, boolean isNoRead) {
    public List<t482101HList> getReceivingMailList(String email, Integer mailType, boolean isNoRead, String userCode) {
        String sql = "set nocount on\n";
        try {
            sql += "select companyId,companyName,mailType,DocCode,sender,receiver,subject,plain_text," +
                    "receive_time,update_time,create_time,sender,userCode,userName,folder_id,delete_Flag, " +
                    "read_Flag from t482101H ";
            if (isNoRead) {//未读执行
                sql += "where receiver ='" + email + "' and  isnull(readFlag,0)= 0";
            } else {//已读
                sql += "where receiver ='" + email + "' and  mailType=" + mailType;
            sql += " where userCode=" + GridUtils.prossSqlParm(userCode);
            sql += " and isnull(read_flag,0) = " + (isNoRead ? 0 : 1);//0表示未读,1表示已读
            sql += " and mailType=" + mailType;//0:草稿箱 1:收件箱 2:发件箱
            if (StringUtils.isNotBlank(email)) {
                if (mailType == 1) {
                    sql += " and receiver like '%" + email + "%'";
                } else if (mailType == 2) {
                    sql += " and sender =" + GridUtils.prossSqlParm(email);
                }
            }
            return jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(t482101HList.class));
        } catch (Exception e) {
@@ -360,26 +366,26 @@
                    "content=" + GridUtils.prossSqlParm(mail.getContent()) + ",file_unid=" + GridUtils.prossSqlParm(mail.getFileUNID()) + ",mailType=" + mail.getMailType() + "," +
                    "updateTime=getdate() \n";
            sql += " where docCode=" + GridUtils.prossSqlParm(mail.getDocCode());
            sql += "select select @@ROWCOUNT";
            sql += " select @@ROWCOUNT";
            return jdbcTemplate.queryForObject(sql, Integer.class);
        } catch (Exception e) {
            throw e;
        }
    }
    @Override
    public Integer deleteMailDrafts(String userCode, String docCode) {
        String sql = "set nocount on\n";
        try {
            sql += "declare @docCode varchar(200) ='" + docCode + "' \n";
            sql += "delete t482101H where userCode =" + GridUtils.prossSqlParm(userCode) +
                    " and docCode in (select list from GetInStr(@docCode)) \n";
            sql += "select select @@ROWCOUNT";
            return jdbcTemplate.queryForObject(sql, Integer.class);
        } catch (Exception e) {
            throw e;
        }
    }
//    @Override
//    public Integer deleteMailDrafts(String userCode, String docCode) {
//        String sql = "set nocount on\n";
//        try {
//            sql += "declare @docCode varchar(200) ='" + docCode + "' \n";
//            sql += "delete t482101H where userCode =" + GridUtils.prossSqlParm(userCode) +
//                    " and docCode in (select list from GetInStr(@docCode)) \n";
//            sql += " select @@ROWCOUNT";
//            return jdbcTemplate.queryForObject(sql, Integer.class);
//        } catch (Exception e) {
//            throw e;
//        }
//    }
    /**
     * 收件箱返回的信息进行封装处理
@@ -486,7 +492,7 @@
            }
            if (deleteMsgId.size() > 0) {
                //删除
                deleteReceivingMail(StringUtils.join(deleteMsgId, ","));
                deleteEmail(StringUtils.join(deleteMsgId, ","));
            }
            return t482101HEntityList;
        } catch (Exception e) {
@@ -640,7 +646,8 @@
    public void updateRead(String docCode) {
        String sql = " set nocount on \n";
        try {
            sql += "update t482101H set read_flag=1 where docCode in (" + GridUtils.prossSqlParm(docCode) + ")\n";
            sql += "declare @docCode varchar(200) ='" + docCode + "' \n";
            sql += "update t482101H set read_flag=1 where docCode in (select list from GetInStr(@docCode))\n";
            sql += "select @@ROWCOUNT";
            jdbcTemplate.queryForObject(sql, Integer.class);
        } catch (Exception e) {