Commit 9e321361 authored by 赵啸非's avatar 赵啸非

添加批量激活设备

parent b9f4de57
......@@ -3,13 +3,13 @@
<el-dialog :title="title" :visible.sync="open" width="90%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<Field label="应用编码" prop="appCode" v-model="form.appCode" type="textarea" placeholder="请输入应用编码"/>
<Field label="应用名称" prop="appName" v-model="form.appName" type="textarea" placeholder="请输入应用名称"/>
<Field label="文件路径地址"><fileUpload v-model="form.filePath" prePath="/file/uploadfile"/></Field>
<Field label="文件部署路径地址"><fileUpload v-model="form.distributeFilePath" prePath="/file/uploadfile"/></Field>
<Field label="应用类型" prop="appType" v-model="form.appType" type="select" :enumData="dict.appType" placeholder="请选择应用类型"/>
<Field label="是否部署" prop="distribute" v-model="form.distribute" type="select" :enumData="dict.distribute" placeholder="请选择是否部署"/>
<Field label="版本" prop="version" v-model="form.version" type="textarea" placeholder="请输入版本"/>
<Field label="应用名称" :span="20" prop="appName" type="select" :enumData="dict.appPublish" v-model="form.appName" placeholder="请选择应用"/>
<Field :span="20" label="文件路径地址"><fileUpload v-model="form.filePath" prePath="/file/uploadfile"/></Field>
<Field label="应用类型" :span="20" prop="appType" v-model="form.appType" type="select" :enumData="dict.appType" placeholder="请选择应用类型"/>
<Field label="版本号" :span="20" prop="version" type="num" v-model="form.version" placeholder="请输入版本号"/>
</el-row>
......
......@@ -5,6 +5,7 @@ import cn.hutool.core.util.ZipUtil;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.base.system.upload.service.UploadService;
import com.mortals.xhx.common.code.AppTypeEnum;
import com.mortals.xhx.module.app.dao.AppPublishDao;
......@@ -16,6 +17,7 @@ import org.springframework.stereotype.Service;
import java.io.File;
import java.nio.charset.Charset;
import java.util.Map;
/**
* AppPublishService
......@@ -30,10 +32,13 @@ public class AppPublishServiceImpl extends AbstractCRUDServiceImpl<AppPublishDao
@Autowired
private UploadService uploadService;
@Autowired
private ParamService paramService;
@Override
protected void saveBefore(AppPublishEntity entity, Context context) throws AppException {
String targetPath="/home/mortals/apps/";
String fileNewName=entity.getAppCode()+"-"+entity.getVersion();
String targetPath = "/home/mortals/apps/";
String fileNewName = entity.getAppCode() + "-" + entity.getVersion();
//将zip包移动到指定目录 并更改名称
String realFilePath = uploadService.getFilePath(entity.getFilePath());
......@@ -44,28 +49,58 @@ public class AppPublishServiceImpl extends AbstractCRUDServiceImpl<AppPublishDao
throw new AppException("部署只支持zip文件!");
}
//移动文件并重命名
FileUtil.move(new File(realFilePath),new File(targetPath+fileNewName),true);
FileUtil.move(new File(realFilePath), new File(targetPath + fileNewName), true);
Map<String, String> appPublish = paramService.getParamByFirstOrganize("appPublish");
String appCode = appPublish.get(entity.getAppName());
entity.setAppCode(appCode);
super.saveBefore(entity, context);
}
@Override
protected void updateBefore(AppPublishEntity entity, Context context) throws AppException {
super.updateBefore(entity, context);
AppPublishEntity appPublishEntity = this.get(entity.getId());
if (entity.getFilePath().equals(appPublishEntity.getFilePath())) {
String targetPath = "/home/mortals/apps/";
String fileNewName = entity.getAppCode() + "-" + entity.getVersion();
//将zip包移动到指定目录 并更改名称
String realFilePath = uploadService.getFilePath(entity.getFilePath());
if (FileUtil.isEmpty(new File(realFilePath))) {
throw new AppException("部署文件不存在!");
}
if (!FileUtil.getSuffix(entity.getFilePath()).equals("zip")) {
throw new AppException("部署只支持zip文件!");
}
//移动文件并重命名
FileUtil.move(new File(realFilePath), new File(targetPath + fileNewName), true);
Map<String, String> appPublish = paramService.getParamByFirstOrganize("appPublish");
String appCode = appPublish.get(entity.getAppName());
entity.setAppCode(appCode);
}
}
@Override
public void active(AppPublishEntity appPublishEntity, Context context) {
if( AppTypeEnum.前端.getValue()==appPublishEntity.getAppType()){
if (AppTypeEnum.前端.getValue() == appPublishEntity.getAppType()) {
String targetFilePath = uploadService.getFilePath(appPublishEntity.getFilePath());
String disPath = "/home/publish/"+appPublishEntity.getAppCode();
String disPath = "/home/publish/" + appPublishEntity.getAppCode();
boolean directory = FileUtil.isDirectory(new File(disPath));
if(directory){
if (directory) {
FileUtil.del(new File(disPath));
}
String fileEncode ="UTF-8";
String fileEncode = "UTF-8";
try {
fileEncode = EncodeUtil.getEncode(targetFilePath,true);
fileEncode = EncodeUtil.getEncode(targetFilePath, true);
} catch (Exception e) {
log.error("异常",e);
log.error("异常", e);
}
ZipUtil.unzip(targetFilePath, disPath, Charset.forName(fileEncode));
}else {
} else {
//后端部署 执行sh 脚本程序部署
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment