Оптимизация рассылки при публикации.
This commit is contained in:
2025-03-09 17:27:35 +03:00
parent f3747a359b
commit d2a333c7cb
5 changed files with 37 additions and 39 deletions

View File

@@ -1,4 +1,5 @@
package _VisualDVM.ComponentsServer.Component.Json;
import Common.CommonConstants;
import Common.Utils.Utils_;
import _VisualDVM.ComponentsServer.Component.Component;
import _VisualDVM.ComponentsServer.Component.ComponentType;
@@ -13,15 +14,22 @@ public class ComponentPublicationInfoJson implements Serializable {
@Expose
public byte[] packedFile = null;
@Expose
public long versionNumber = CommonConstants.Nan;
@Expose
public String versionText = "";
@Expose
public String changeRecord = "";
@Expose
public boolean needsUpdateMinimalVersion = false;
@Expose
public boolean needsEmail = false;
@Expose
public boolean needsSendFile = false;
public ComponentPublicationInfoJson(Component component) throws Exception{
componentType = component.getComponentType();
fileName = component.getFileName();
packedFile = Utils_.fileToBytes(component.getFile());
versionNumber = component.version;
versionText = component.getVersionText();
}
}

View File

@@ -17,6 +17,7 @@ import _VisualDVM.GlobalData.Machine.MachineType;
import _VisualDVM.GlobalData.RemoteFile.RemoteFile;
import _VisualDVM.GlobalData.User.User;
import _VisualDVM.Passes.All.ArchivesBackupPass;
import _VisualDVM.Passes.All.Email;
import _VisualDVM.Passes.All.UnzipFolderPass;
import _VisualDVM.Passes.All.ZipFolderPass;
import _VisualDVM.ProjectData.LanguageName;
@@ -235,6 +236,25 @@ public class ComponentsServer extends RepositoryServer<BugReportsDatabase> {
bufferWriter_.write("Минимальная версия поднята до " + info.versionText + "\n");
bufferWriter_.close();
}
//-рассылка об изменениях.
if (info.needsEmail){
String version_mail_header = String.join(" ",
"Опубликована версия",
Utils_.DQuotes(info.versionNumber),
"компонента",
Utils_.DQuotes(info.componentType.getDescription()));
//-
EmailMessage message =
new EmailMessage(version_mail_header,
info.changeRecord
);
if (info.needsSendFile)
message.addAttachement(componentFile);
//--
for (String address: credentials_db.userAccounts.getActiveMails()){
EmailMessagesQueue.add(new Pair<>(address,message));
}
}
}
void GetComponentsVersionsInfo() throws Exception {
Vector<String> types = (Vector<String>) request.object;