убирание выключенных адресатов из списка, v++

This commit is contained in:
2024-07-29 23:15:17 +03:00
parent 0fe33b21ee
commit 5057db453f
4 changed files with 26 additions and 16 deletions

2
.idea/workspace.xml generated
View File

@@ -9,6 +9,8 @@
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment=""> <list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Repository/Component/Visualiser.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/Component/Visualiser.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/Repository/Component/Visualiser.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/Component/Visualiser.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Repository/RepositoryServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/RepositoryServer.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/Email.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/Email.java" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />

View File

@@ -62,7 +62,7 @@ public class Visualiser extends Component {
//http://www.seostella.com/ru/article/2012/02/05/formatirovanie-daty-v-java.html //http://www.seostella.com/ru/article/2012/02/05/formatirovanie-daty-v-java.html
@Override @Override
public void GetVersionInfo() { public void GetVersionInfo() {
version = 1110; version = 1112;
String pattern = "MMM dd yyyy HH:mm:ss"; String pattern = "MMM dd yyyy HH:mm:ss";
DateFormat df = new SimpleDateFormat(pattern, Locale.ENGLISH); DateFormat df = new SimpleDateFormat(pattern, Locale.ENGLISH);
date_text = df.format(getClassBuildTime()); date_text = df.format(getClassBuildTime());

View File

@@ -109,19 +109,6 @@ public abstract class RepositoryServer<D extends Database> {
targets_.add(Constants.MailAddress); //себе. targets_.add(Constants.MailAddress); //себе.
targets_.addAll(message_in.targets); targets_.addAll(message_in.targets);
//------------------------------ //------------------------------
Vector<String> targetsNames = new Vector<>();
for (String target: targets_){
String [] data = target.split("@");
if (data.length>0) {
String tname = data[0];
targetsNames.add(tname);
}
}
String text_ =
"Адресаты: "+String.join(", ",targetsNames)+"\n"+
message_in.text
;
//------------------------------
Session session = Session.getDefaultInstance(props, Session session = Session.getDefaultInstance(props,
new Authenticator() { new Authenticator() {
@Override @Override
@@ -143,7 +130,7 @@ public abstract class RepositoryServer<D extends Database> {
message.setSubject(message_in.subject); message.setSubject(message_in.subject);
Multipart multipart = new MimeMultipart(); Multipart multipart = new MimeMultipart();
MimeBodyPart textBodyPart = new MimeBodyPart(); MimeBodyPart textBodyPart = new MimeBodyPart();
textBodyPart.setText(text_); textBodyPart.setText(message_in.text);
multipart.addBodyPart(textBodyPart); multipart.addBodyPart(textBodyPart);
for (String aName : innerFiles.keySet()) { for (String aName : innerFiles.keySet()) {
MimeBodyPart attachmentBodyPart = new MimeBodyPart(); MimeBodyPart attachmentBodyPart = new MimeBodyPart();

View File

@@ -2,7 +2,10 @@ package Visual_DVM_2021.Passes.All;
import Repository.EmailMessage; import Repository.EmailMessage;
import Repository.Server.ServerCode; import Repository.Server.ServerCode;
import Repository.Server.ServerExchangeUnit_2021; import Repository.Server.ServerExchangeUnit_2021;
import Repository.Subscribes.Subscriber;
import Visual_DVM_2021.Passes.Server.ComponentsRepositoryPass; import Visual_DVM_2021.Passes.Server.ComponentsRepositoryPass;
import java.util.Vector;
//http://java-online.ru/javax-mail.xhtml //http://java-online.ru/javax-mail.xhtml
//https://javarush.ru/groups/posts/1226-kak-otpravitjh-pisjhmo-iz-java-prilozhenija-s-primerom //https://javarush.ru/groups/posts/1226-kak-otpravitjh-pisjhmo-iz-java-prilozhenija-s-primerom
public class Email extends ComponentsRepositoryPass<EmailMessage> { public class Email extends ComponentsRepositoryPass<EmailMessage> {
@@ -18,11 +21,29 @@ public class Email extends ComponentsRepositoryPass<EmailMessage> {
} }
@Override @Override
protected void ServerAction() throws Exception { protected void ServerAction() throws Exception {
Vector<String> targetsNames = new Vector<>();
for (String target: target.targets){
if (server.db.subscribers.containsKey(target)) {
Subscriber subscriber = server.db.subscribers.get(target);
if (subscriber.mailOn != 0) {
String[] data = target.split("@");
if (data.length > 0) {
String tname = data[0];
targetsNames.add(tname);
}
}
}
}
String text_ =
"Адресаты: "+String.join(", ",targetsNames)+"\n"+
target.text
;
//нужно разделить сообщение на несколько одинаковых, по числу адресатов. //нужно разделить сообщение на несколько одинаковых, по числу адресатов.
for (String recipient : target.targets) { for (String recipient : target.targets) {
EmailMessage part = new EmailMessage(); EmailMessage part = new EmailMessage();
part.subject = target.subject; part.subject = target.subject;
part.text = target.text; part.text = text_;
part.targets.add(recipient); part.targets.add(recipient);
part.files.putAll(target.files); part.files.putAll(target.files);
Command(new ServerExchangeUnit_2021(ServerCode.Email, "", part)); Command(new ServerExchangeUnit_2021(ServerCode.Email, "", part));