游畅
2023-04-29 cc266a1e4080bb3ecc47ea4a202dd549545111e1
force-app/main/default/classes/OpportunityWebService.cls
@@ -416,4 +416,169 @@
        return true;
    }
    //SWAG-CG88AG【委托】提出价格申请是在协议有效期内,允许WIN fy end 
    //贸易合规 20230307 you start
    //营业拦截提醒
    WebService static Boolean accSendEmail(String  AccDealerBlacklist,String accname,String angency1,String angency2,String ownerids,String ddid,String oppid) {
      //发送邮件
        List<Messaging.SingleEmailMessage> sendMails = new List<Messaging.SingleEmailMessage>();
        List<String>  MailsList = new List<String>();
        List<String> userIdList = new List<String>();
        if(String.isNotBlank(ownerids)){
            userIdList.add(ownerids);
        }
        if(String.isNotBlank(ddid)){
            userIdList.add(ddid);
        }
         //询价所有人,产品担当,发邮件
        List<User> UsrList = [SELECT email FROM user WHERE id in :userIdList];
        //获取各个用户的email
        for (User u : UsrList){
            MailsList.add(u.email);
        }
        system.debug('111===:'+MailsList);
        if (MailsList!=null&&MailsList.size()>0){
            String title = '';
            String body = '';
            title = ' 新建询价医院/经销商涉及黑名单';
            if(AccDealerBlacklist=='123'){
                body += '黑名单的客户为:' + accname+ '<br/>';
                body += '黑名单的经销商1为:' + angency1+ '<br/>';
                body += '黑名单的经销商2为:' + angency2+ '<br/>';
            }else if(AccDealerBlacklist=='12'){
                body += '黑名单的客户为:' + accname+ '<br/>';
                body += '黑名单的经销商1为:' + angency1+ '<br/>';
            }else if(AccDealerBlacklist=='23'){
                body += '黑名单的经销商1为:' + angency1+ '<br/>';
                body += '黑名单的经销商2为:' + angency2+ '<br/>';
            }else if(AccDealerBlacklist=='13'){
                body += '黑名单的客户为:' + accname+ '<br/>';
                body += '黑名单的经销商2为:' + angency2+ '<br/>';
            }else if(AccDealerBlacklist=='1'){
                body += '黑名单的客户为:' + accname+ '<br/>';
            }else if(AccDealerBlacklist=='2'){
                body += '黑名单的经销商1为:' + angency1+ '<br/>';
            }else if(AccDealerBlacklist=='3'){
                body += '黑名单的经销商2为:' + angency2+ '<br/>';
            }
            body += '<a href="' + System.Label.Environment_Url + oppid + '">'
                    + System.Label.Environment_Url+ oppid +'</a><br/>';
            body += '谢谢!';
            Messaging.SingleEmailMessage messageNEW = new Messaging.SingleEmailMessage();
            messageNEW.setSubject(title);
            messageNEW.setHtmlBody(body);
            messageNEW.setCharset('UTF-8');
            messageNEW.setToAddresses(MailsList);
            //List<String> toCcMailsList = new List<String>();
            //toCcMailsList.add('youchang@prec-tech.com');
            //messageNEW.setCcAddresses(toCcMailsList);
            sendMails.add(messageNEW);
        }
        boolean rs = true;
        if (sendMails.size() > 0) {
            Messaging.Email[] allMails = new Messaging.Email[]{};
            for(Integer j = 0; j < sendMails.size(); j++) {
                allMails.add(sendMails.get(j));
            }
            system.debug('222===:'+allMails);
            Messaging.SendEmailResult[] results = Messaging.sendEmail(allMails);
            System.debug('results 结果 :'+results);
            for (Integer i = 0; i < results.size(); i++) {
                if (results[i].success == false) {
                    system.debug('=====send mail error:' + results[i].errors[0].message);
                    rs = false;
                }
            }
        }
        return rs;
    }
    //服务拦截提醒
    //【新建询价】检查点仅通知合同组 sendalert=Main_Con
    //【报价Decide】检查点邮件通知人员:合同组、FSE领导、服务助理(标签) sendalert=decide_con
    WebService static Boolean accSendEmailFW(String  AccDealerBlacklist,String accname,String angency,String mcid,String sendalert,String[] FSEStr) {
      //发送邮件
        List<Messaging.SingleEmailMessage> sendMails = new List<Messaging.SingleEmailMessage>();
        List<String>  MailsList = new List<String>();
        List<String> userIdList = new List<String>();
        //合同组
        List<GroupMember> groupmemberList = [SELECT GroupId,Id,UserOrGroupId FROM GroupMember where Group.DeveloperName = 'TradeComplianceGroup'];
        Set<String> GroupMap = new Set<String>();
        List<GroupMember> gmInsertList = new List<GroupMember>();
        if(groupmemberList != null && groupmemberList.size()>0){
            for (GroupMember gm : groupmemberList) {
               GroupMap.add(gm.UserOrGroupId);
            }
        }
         //询价所有人,产品担当,发邮件
        List<User> UsrList = [SELECT email FROM user WHERE id in :GroupMap or id in :FSEStr];
        //获取各个用户的email
        for (User u : UsrList){
            MailsList.add(u.email);
        }
        ////decide 进来服务助理 6个人
        //if(sendalert=='decide_con'){
        //    String toEmailAddress = System.Label.TradeComplianceStatusSendEmailFW;
        //    String[] toAddresses = toEmailAddress.split(',');
        //    for(String toa:toAddresses){
        //       MailsList.add(toa);
        //    }
        //}
        //MailsList.add('youchang@prec-tech.com');
        system.debug('111===:'+MailsList);
        if (MailsList!=null&&MailsList.size()>0){
            String title = '';
            String body = '';
            title = '医院/经销商涉及黑名单';
            String accname1 = accname==null ? '' :accname;
            String angency1 = angency==null ? '' :angency;
            if(AccDealerBlacklist=='1' || AccDealerBlacklist=='intercept'){
                body += '黑名单的客户为:' + accname1 + '<br/>';
                body += '黑名单的经销商为:' + angency1 + '<br/>';
            }
            body += '<a href="' + System.Label.Environment_Url + mcid + '">'
                    + System.Label.Environment_Url+ mcid +'</a><br/>';
            body += '谢谢!';
            Messaging.SingleEmailMessage messageNEW = new Messaging.SingleEmailMessage();
            messageNEW.setSubject(title);
            messageNEW.setHtmlBody(body);
            messageNEW.setCharset('UTF-8');
            messageNEW.setToAddresses(MailsList);
            sendMails.add(messageNEW);
        }
        boolean rs = true;
        if (sendMails.size() > 0) {
            Messaging.Email[] allMails = new Messaging.Email[]{};
            for(Integer j = 0; j < sendMails.size(); j++) {
                allMails.add(sendMails.get(j));
            }
            system.debug('222===:'+allMails);
            Messaging.SendEmailResult[] results = Messaging.sendEmail(allMails);
            System.debug('results 结果 :'+results);
            for (Integer i = 0; i < results.size(); i++) {
                if (results[i].success == false) {
                    system.debug('=====send mail error:' + results[i].errors[0].message);
                    rs = false;
                }
            }
        }
        return rs;
    }
    //贸易合规 20230307 you end
}