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

添加资源部署站点字段

parent 9ed47a85
...@@ -21,7 +21,7 @@ export default { ...@@ -21,7 +21,7 @@ export default {
created() { created() {
const siteid = session.getSession("siteid"); const siteid = session.getSession("siteid");
console.log("siteId:"+siteid) console.log("siteId:"+siteid)
this.query["siteId"]=1; this.query["siteId"]=siteid?siteid:1;
}, },
methods: { methods: {
/** 重写新增方法 */ /** 重写新增方法 */
......
...@@ -83,7 +83,7 @@ public class DeviceModuleDistributeEntity extends DeviceModuleDistributeVo { ...@@ -83,7 +83,7 @@ public class DeviceModuleDistributeEntity extends DeviceModuleDistributeVo {
} }
public void initAttrValue(){ public void initAttrValue(){
this.productId = 0L; this.productId = null;
this.productCode = ""; this.productCode = "";
this.productName = ""; this.productName = "";
this.imageResolution = ""; this.imageResolution = "";
......
package com.mortals.xhx.module.device.model.vo; package com.mortals.xhx.module.device.model.vo;
import com.mortals.framework.model.BaseEntityLong; import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.device.model.DeviceModuleDistributeEntity;
import lombok.Data; import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/** /**
* 设备前端模块部署视图对象 * 设备前端模块部署视图对象
* *
...@@ -15,4 +12,15 @@ import java.util.List; ...@@ -15,4 +12,15 @@ import java.util.List;
public class DeviceModuleDistributeVo extends BaseEntityLong { public class DeviceModuleDistributeVo extends BaseEntityLong {
private String homeUrl; private String homeUrl;
/**
* 源站点
*/
private Long sourceSiteId;
/**
* 目标站点
*/
private Long targetSiteId;
} }
\ No newline at end of file
package com.mortals.xhx.module.device.service; package com.mortals.xhx.module.device.service;
import com.mortals.framework.common.Rest;
import com.mortals.framework.model.Context; import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICRUDService; import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.device.model.DeviceModuleDistributeEntity; import com.mortals.xhx.module.device.model.DeviceModuleDistributeEntity;
...@@ -14,4 +15,7 @@ public interface DeviceModuleDistributeService extends ICRUDService<DeviceModule ...@@ -14,4 +15,7 @@ public interface DeviceModuleDistributeService extends ICRUDService<DeviceModule
void active(DeviceModuleDistributeEntity distributeEntity, Context context); void active(DeviceModuleDistributeEntity distributeEntity, Context context);
Rest<String> cloneAppBySite(DeviceModuleDistributeEntity deviceModuleDistributeEntity, Context context);
} }
\ No newline at end of file
...@@ -3,6 +3,7 @@ package com.mortals.xhx.module.device.service.impl; ...@@ -3,6 +3,7 @@ package com.mortals.xhx.module.device.service.impl;
import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.ZipUtil; import cn.hutool.core.util.ZipUtil;
import com.mortals.framework.ap.GlobalSysInfo; import com.mortals.framework.ap.GlobalSysInfo;
import com.mortals.framework.common.Rest;
import com.mortals.framework.exception.AppException; import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context; import com.mortals.framework.model.Context;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
...@@ -10,8 +11,11 @@ import com.mortals.xhx.base.system.upload.service.UploadService; ...@@ -10,8 +11,11 @@ import com.mortals.xhx.base.system.upload.service.UploadService;
import com.mortals.xhx.common.code.ImageReEnum; import com.mortals.xhx.common.code.ImageReEnum;
import com.mortals.xhx.common.code.YesNoEnum; import com.mortals.xhx.common.code.YesNoEnum;
import com.mortals.xhx.common.key.Constant; import com.mortals.xhx.common.key.Constant;
import com.mortals.xhx.common.pdu.site.SitePdu;
import com.mortals.xhx.feign.site.ISiteFeign;
import com.mortals.xhx.module.device.dao.DeviceModuleDistributeDao; import com.mortals.xhx.module.device.dao.DeviceModuleDistributeDao;
import com.mortals.xhx.module.device.model.DeviceModuleDistributeEntity; import com.mortals.xhx.module.device.model.DeviceModuleDistributeEntity;
import com.mortals.xhx.module.device.model.DeviceModuleDistributeQuery;
import com.mortals.xhx.module.device.service.DeviceModuleDistributeService; import com.mortals.xhx.module.device.service.DeviceModuleDistributeService;
import com.mortals.xhx.module.product.model.ProductEntity; import com.mortals.xhx.module.product.model.ProductEntity;
import com.mortals.xhx.module.product.service.ProductService; import com.mortals.xhx.module.product.service.ProductService;
...@@ -22,6 +26,7 @@ import org.springframework.stereotype.Service; ...@@ -22,6 +26,7 @@ import org.springframework.stereotype.Service;
import java.io.File; import java.io.File;
import java.nio.charset.Charset; import java.nio.charset.Charset;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* DeviceModuleDistributeService * DeviceModuleDistributeService
...@@ -36,6 +41,8 @@ public class DeviceModuleDistributeServiceImpl extends AbstractCRUDServiceImpl<D ...@@ -36,6 +41,8 @@ public class DeviceModuleDistributeServiceImpl extends AbstractCRUDServiceImpl<D
private ProductService productService; private ProductService productService;
@Autowired @Autowired
private UploadService uploadService; private UploadService uploadService;
@Autowired
private ISiteFeign siteFeign;
@Override @Override
protected void saveBefore(DeviceModuleDistributeEntity entity, Context context) throws AppException { protected void saveBefore(DeviceModuleDistributeEntity entity, Context context) throws AppException {
...@@ -72,19 +79,21 @@ public class DeviceModuleDistributeServiceImpl extends AbstractCRUDServiceImpl<D ...@@ -72,19 +79,21 @@ public class DeviceModuleDistributeServiceImpl extends AbstractCRUDServiceImpl<D
//RuntimeUtil //RuntimeUtil
//部署路径是否存在 如果不存在 创建目录, //部署路径是否存在 如果不存在 创建目录,
String path = GlobalSysInfo.getParamValue(Constant.DISTRIBUTE_PATH, "/home/publish/app/homeDeviceUrl"); String path = GlobalSysInfo.getParamValue(Constant.DISTRIBUTE_PATH, "/home/publish/app/homeDeviceUrl");
String siteCode = distributeEntity.getSiteCode();
String code = distributeEntity.getProductCode(); String code = distributeEntity.getProductCode();
String imageRe = distributeEntity.getImageResolutionValue(); String imageRe = distributeEntity.getImageResolutionValue();
String disPath = "/" + path + "/" + code + "/" + imageRe; String disPath = "/" + siteCode + "/" + path + "/" + code + "/" + imageRe;
//判断目标目录是否存在 如果存在 这删除 //判断目标目录是否存在 如果存在 这删除
if (FileUtil.isDirectory(disPath)) { if (FileUtil.isDirectory(disPath)) {
FileUtil.del(disPath); FileUtil.del(disPath);
} }
String fileEncode ="UTF-8"; String fileEncode = "UTF-8";
try { try {
fileEncode = EncodeUtil.getEncode(targetFilePath,true); fileEncode = EncodeUtil.getEncode(targetFilePath, true);
} catch (Exception e) { } catch (Exception e) {
log.error("异常",e); log.error("异常", e);
} }
ZipUtil.unzip(targetFilePath, disPath, Charset.forName(fileEncode)); ZipUtil.unzip(targetFilePath, disPath, Charset.forName(fileEncode));
//更新 //更新
...@@ -95,14 +104,53 @@ public class DeviceModuleDistributeServiceImpl extends AbstractCRUDServiceImpl<D ...@@ -95,14 +104,53 @@ public class DeviceModuleDistributeServiceImpl extends AbstractCRUDServiceImpl<D
this.update(distributeEntity, context); this.update(distributeEntity, context);
} }
@Override
public Rest<String> cloneAppBySite(DeviceModuleDistributeEntity deviceModuleDistributeEntity, Context context) {
//拷贝应用
Long targetSiteId = deviceModuleDistributeEntity.getTargetSiteId();
Long sourceSiteId = deviceModuleDistributeEntity.getSourceSiteId();
Rest<SitePdu> sitePduRest = siteFeign.info(targetSiteId);
if (YesNoEnum.NO.getValue() == sitePduRest.getCode()) {
throw new AppException("未查询到当前站点!");
}
SitePdu sitePdu = sitePduRest.getData();
DeviceModuleDistributeQuery distributeQuery = new DeviceModuleDistributeQuery();
distributeQuery.setSiteId(sourceSiteId);
List<DeviceModuleDistributeEntity> deviceModuleDistributeEntities = this.find(distributeQuery);
//如果已存在 则不复制
for (DeviceModuleDistributeEntity moduleDistributeEntity : deviceModuleDistributeEntities) {
DeviceModuleDistributeQuery query = new DeviceModuleDistributeQuery();
query.setSiteId(targetSiteId);
query.setProductId(moduleDistributeEntity.getProductId());
query.setVersion(moduleDistributeEntity.getVersion());
int count = this.count(query, context);
if (count == 0) {
moduleDistributeEntity.setId(null);
moduleDistributeEntity.setSiteId(sitePdu.getId());
moduleDistributeEntity.setSiteName(sitePdu.getSiteName());
moduleDistributeEntity.setSiteCode(sitePdu.getSiteCode());
moduleDistributeEntity.setDistributeFilePath("");
moduleDistributeEntity.setDistribute(YesNoEnum.NO.getValue());
}
}
return Rest.ok();
}
public static void main(String[] args) { public static void main(String[] args) {
File file = new File("F:\\交警窗口证件照.zip"); File file = new File("F:\\交警窗口证件照.zip");
String disPath = "F:\\pics\\"; String disPath = "F:\\pics\\";
String fileEncode ="UTF-8"; String fileEncode = "UTF-8";
try { try {
fileEncode = EncodeUtil.getEncode("F:\\1672973316144.zip",true); fileEncode = EncodeUtil.getEncode("F:\\1672973316144.zip", true);
} catch (Exception e) { } catch (Exception e) {
} }
...@@ -120,7 +168,7 @@ public class DeviceModuleDistributeServiceImpl extends AbstractCRUDServiceImpl<D ...@@ -120,7 +168,7 @@ public class DeviceModuleDistributeServiceImpl extends AbstractCRUDServiceImpl<D
System.out.println(FileUtil.getPrefix(file));*/ System.out.println(FileUtil.getPrefix(file));*/
// ZipUtil.unzip("F:\\1664176173348.zip", "F:\\tmp"); // ZipUtil.unzip("F:\\1664176173348.zip", "F:\\tmp");
} }
} }
\ No newline at end of file
...@@ -82,6 +82,26 @@ public class DeviceModuleDistributeController extends BaseCRUDJsonBodyMappingCon ...@@ -82,6 +82,26 @@ public class DeviceModuleDistributeController extends BaseCRUDJsonBodyMappingCon
return rest; return rest;
} }
/**
* app应用克隆给本站点
*/
@PostMapping(value = "cloneAppBySite")
public Rest<Void> cloneAppBySite(@RequestBody DeviceModuleDistributeEntity moduleDistributeEntity) {
String busiDesc = this.getModuleDesc() + "部署克隆";
Rest<Void> rest = Rest.ok(busiDesc + " 【成功】");
try {
Rest<String> cloneRest = this.service.cloneAppBySite(moduleDistributeEntity, getContext());
if (YesNoEnum.NO.getValue() == cloneRest.getCode()) {
return Rest.fail(cloneRest.getMsg());
}
recordSysLog(request, busiDesc + " 【成功】");
} catch (Exception e) {
log.error("应用克隆异常", e);
rest = Rest.fail(super.convertException(e));
}
return rest;
}
@Override @Override
protected int viewAfter(Long id, Map<String, Object> model, DeviceModuleDistributeEntity entity, Context context) throws AppException { protected int viewAfter(Long id, Map<String, Object> model, DeviceModuleDistributeEntity entity, Context context) throws AppException {
......
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