Commit ebd4add9 authored by 赵啸非's avatar 赵啸非

回退站点业务请求列表

parent d7879530
package com.mortals.xhx.module.app.service.impl; package com.mortals.xhx.module.app.service.impl;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.lang.Validator; import cn.hutool.core.lang.Validator;
import cn.hutool.core.net.url.UrlBuilder;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ReUtil; import cn.hutool.core.util.ReUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.util.ZipUtil; import cn.hutool.core.util.ZipUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.google.common.collect.Lists;
import com.google.common.net.InternetDomainName; import com.google.common.net.InternetDomainName;
import com.mortals.framework.model.DbMatchMode;
import com.google.common.collect.Maps;
import cn.hutool.core.io.FileUtil;
import com.mortals.framework.ap.GlobalSysInfo; import com.mortals.framework.ap.GlobalSysInfo;
import com.mortals.framework.common.Rest; import com.mortals.framework.common.Rest;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.model.OrderCol; import com.mortals.framework.model.OrderCol;
import com.mortals.framework.model.PageInfo; import com.mortals.framework.model.PageInfo;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.xhx.base.system.upload.service.UploadService; import com.mortals.xhx.base.system.upload.service.UploadService;
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.app.AppPdu; import com.mortals.xhx.common.pdu.app.AppPdu;
import com.mortals.xhx.common.utils.BeanUtil; import com.mortals.xhx.common.utils.BeanUtil;
import com.mortals.xhx.common.utils.ZipUtils;
import com.mortals.xhx.feign.app.device.IAppFeign; import com.mortals.xhx.feign.app.device.IAppFeign;
import com.mortals.xhx.module.app.dao.AppDao;
import com.mortals.xhx.module.app.model.*; import com.mortals.xhx.module.app.model.*;
import com.mortals.xhx.module.app.service.*; import com.mortals.xhx.module.app.service.*;
import com.mortals.xhx.module.device.model.DeviceBlackappEntity;
import com.mortals.xhx.module.device.model.DeviceBlackappQuery; import com.mortals.xhx.module.device.model.DeviceBlackappQuery;
import com.mortals.xhx.module.device.service.DeviceBlackappService; import com.mortals.xhx.module.device.service.DeviceBlackappService;
import com.mortals.xhx.module.site.model.SiteEntity; import com.mortals.xhx.module.site.model.SiteEntity;
import com.mortals.xhx.module.site.service.SiteService; import com.mortals.xhx.module.site.service.SiteService;
import com.mortals.xhx.utils.EncodeUtil; import com.mortals.xhx.utils.EncodeUtil;
import com.mortals.xhx.version.model.VersionEntity;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.xhx.module.app.dao.AppDao;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import java.io.File; import java.io.File;
...@@ -331,6 +321,59 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L ...@@ -331,6 +321,59 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
return Rest.ok("克隆应用完成!"); return Rest.ok("克隆应用完成!");
} }
/**
* @param appEntity
* @param context
* @return
*/
@Override
public Rest<String> cloneAppBySameSite(AppEntity appEntity, Context context) {
Long sourceAppId = appEntity.getSourceAppId();
Long targetAppId = appEntity.getTargetAppId();
AppEntity sourceAppEntity = this.get(sourceAppId, context);
AppEntity targetAppEntity = this.get(targetAppId, context);
//删除应用的数据集
Long[] delIds = targetAppEntity.getAppDatasetList().stream().map(i -> i.getId()).toArray(Long[]::new);
if (ObjectUtils.isEmpty(delIds)) {
appDatasetService.remove(delIds, context);
}
//保存数据集
List<AppDatasetEntity> appDatasetList = sourceAppEntity.getAppDatasetList();
if (!ObjectUtils.isEmpty(appDatasetList)) {
for (AppDatasetEntity appDatasetEntity : appDatasetList) {
AppDatasetEntity appDatasetClone = new AppDatasetEntity();
appDatasetClone.initAttrValue();
BeanUtils.copyProperties(appDatasetEntity, appDatasetClone, BeanUtil.getNullPropertyNames(appDatasetEntity));
appDatasetClone.setAppId(targetAppEntity.getId());
appDatasetService.save(appDatasetClone, context);
//查询属性列表
List<AppInfoFieldEntity> appInfoFieldList = appInfoFieldService.find(new AppInfoFieldQuery().datasetId(appDatasetEntity.getId()));
if (!ObjectUtils.isEmpty(appInfoFieldList)) {
ArrayList<AppInfoFieldEntity> cloneList = new ArrayList<>();
for (AppInfoFieldEntity appInfoFieldEntity : appInfoFieldList) {
AppInfoFieldEntity appInfoFieldClone = new AppInfoFieldEntity();
appInfoFieldClone.initAttrValue();
BeanUtils.copyProperties(appInfoFieldEntity, appInfoFieldClone, BeanUtil.getNullPropertyNames(appInfoFieldEntity));
appInfoFieldClone.setDatasetId(appDatasetClone.getId());
cloneList.add(appInfoFieldClone);
}
if (!ObjectUtils.isEmpty(cloneList)) {
appInfoFieldService.save(cloneList, context);
}
}
}
}
return Rest.ok();
}
@Override @Override
public AppDao getAppDao() { public AppDao getAppDao() {
......
...@@ -19,7 +19,7 @@ Content-Type: application/json ...@@ -19,7 +19,7 @@ Content-Type: application/json
{ {
"page":1, "page":1,
"size":10 "size":1
} }
......
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