编译配置生效时,校验编译下是否存在已经被删除的asn域配置。如果存在,提示用户重新编辑。

This commit is contained in:
duandongmei
2019-01-19 10:32:07 +06:00
parent 34648428ea
commit ca14bcb621
12 changed files with 107 additions and 5 deletions

View File

@@ -49,7 +49,7 @@ public class AsnIpTemplate extends BasicTemplate{
public void setOrganization(String organization) {
this.organization = organization;
}
@ExcelField(title="country_code",align=2,sort=14)
@ExcelField(title="country",align=2,sort=14)
public String getCountry() {
return country;
}

View File

@@ -22,6 +22,7 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.nis.domain.Page;
import com.nis.domain.basics.AsnGroupInfo;
import com.nis.domain.basics.AsnIpCfg;
import com.nis.domain.configuration.AsnKeywordCfg;
import com.nis.domain.specific.ConfigGroupInfo;
import com.nis.exceptions.MaatConvertException;
import com.nis.util.StringUtil;
@@ -230,4 +231,64 @@ public class AsnGroupController extends BaseController {
}
return orgaList;
}
/**
* 校验是否有配置的ASN域已被删除
* @param model
* @return
*/
@RequestMapping(value="checkAsnRegionIsDeleted")
@ResponseBody
public Map<Integer,String> checkAsnRegionIsDeleted(@RequestParam(required=true,value="compileIds")String compileIds,Model model){
Map<Integer,String> resultMap=new HashMap<>();
try {
if(!StringUtil.isEmpty(compileIds)){
compileIds=compileIds.substring(0,compileIds.length()-1);
Map<Integer, List<String>> compileWithGroupMap=new HashMap<>();
Map<String, String> groupIdWithAsn=new HashMap<>();
//先查询此compileId下是否有is_valid=0和is_audit=0的asn_keyword_cfgs
List<AsnKeywordCfg> asnList=asnGroupInfoService.findAsnKeywordCfgByCompileId(compileIds);
String groupIds="";
for (AsnKeywordCfg asnKeywordCfg : asnList) {
//根据asnKeyword的userRegion2[asn group Id]
groupIds+=asnKeywordCfg.getUserRegion2()+",";
if(compileWithGroupMap.keySet().contains(asnKeywordCfg.getCompileId())){
List<String> groupList=compileWithGroupMap.get(asnKeywordCfg.getCompileId());
groupList.add(asnKeywordCfg.getUserRegion2());
compileWithGroupMap.put(asnKeywordCfg.getCompileId(), groupList);
}else{
List<String> groupList=new ArrayList<>();
groupList.add(asnKeywordCfg.getUserRegion2());
compileWithGroupMap.put(asnKeywordCfg.getCompileId(), groupList);
}
groupIdWithAsn.put(asnKeywordCfg.getUserRegion2(), asnKeywordCfg.getCfgKeywords());
}
if(!StringUtil.isEmpty(groupIds)){
Properties prop=this.getMsgProp();
groupIds=groupIds.substring(0,groupIds.length()-1);
List<String> groupIdList=asnGroupInfoService.findAsnGroupIdByGroupIds(groupIds);
for (Integer compileId : compileWithGroupMap.keySet()) {
for (String groupIdOld : compileWithGroupMap.get(compileId)) {
if(!groupIdList.contains(groupIdOld)){
String tip=prop.getProperty("deletedAsnTip").replace("asnId", groupIdWithAsn.get(groupIdOld));
tip=tip.replace("cfgId", compileId+"");
resultMap.put(compileId, tip);
}
}
}
}
}
} catch (Exception e) {
logger.error("校验编译下的asn是否被删除失败",e);
return resultMap;
}
/*List<AsnGroupInfo> orgaList=new ArrayList<>();
try {
orgaList=asnGroupInfoService.findAsnGroupList(asnGroup);
} catch (Exception e) {
logger.error("异步获取ASN NO信息失败",e);
return orgaList;
}*/
return resultMap;
}
}

View File

@@ -32,4 +32,5 @@ public interface AsnGroupInfoDao extends CrudDao<AsnGroupInfo> {
List<AsnGroupInfo> findAsnGroupInfoByAsnGroup(AsnGroupInfo asnGroupInfo);
void updateIsUsedAndIsValid(@Param("groupIds")List groupIds,@Param("isUsed")Integer isUsed,@Param("isValid")Integer isValid);
List<AsnGroupInfo> findAsnGroupInfoByGroupIds(@Param("groupIds")List groupIds,@Param("isUsed")Integer isUsed);
List<String> findAsnGroupIdByGroupIds(@Param("groupIds")String groupIds);
}

View File

@@ -377,4 +377,14 @@
</if>
</where>
</select>
<select id="findAsnGroupIdByGroupIds" resultType="java.lang.String">
SELECT
group_id
FROM
asn_group_info r
<where>
AND r.is_valid != -1
and r.group_id in (${groupIds})
</where>
</select>
</mapper>

View File

@@ -58,4 +58,6 @@ public interface StringCfgDao extends CrudDao<BaseStringCfg>{
// 导入配置时数据批量入库使用
public void saveStringCfgBatch(BaseStringCfg cfg);
public void saveComplexkeywordCfgBatch(ComplexkeywordCfg cfg);
public List<AsnKeywordCfg> findAsnKeywordCfgByCompileId(@Param("compileIds")String compileIds);
}

View File

@@ -977,4 +977,8 @@
#{isHexbin,jdbcType=INTEGER}
)
</insert>
<select id="findAsnKeywordCfgByCompileId" resultMap="AsnKeywordMap" >
select <include refid="AsnKeywordCfg_Column" /> from asn_keyword_cfg r
where r.compile_id in (${compileIds}) and r.is_audit=0 and r.is_valid=0
</select>
</mapper>

View File

@@ -7,6 +7,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -15,6 +16,7 @@ import com.nis.domain.FunctionServiceDict;
import com.nis.domain.Page;
import com.nis.domain.basics.AsnGroupInfo;
import com.nis.domain.configuration.AsnKeywordCfg;
import com.nis.domain.configuration.CfgIndexInfo;
import com.nis.domain.maat.GroupReuseAddBean;
import com.nis.domain.maat.GroupReuseCfg;
import com.nis.domain.maat.MaatCfg;
@@ -44,6 +46,8 @@ public class AsnGroupInfoService extends BaseService{
private ConfigGroupInfoDao configGroupInfoDao;
@Autowired
private AsnIpCfgDao asnIpCfgDao;
@Autowired
private StringCfgDao stringCfgDao;
/**
* @param page
@@ -368,5 +372,18 @@ public class AsnGroupInfoService extends BaseService{
List<AsnGroupInfo> list=asnGroupInfoDao.findAsnGroupInfoByAsnGroup(asnGroupInfo);
return list;
}
/**
* 根据compileIds获取所有需要审核通过的asn
* @param compileIds
* @return
*/
public List<AsnKeywordCfg> findAsnKeywordCfgByCompileId(String compileIds){
List<AsnKeywordCfg> asnKeywordCfgs=stringCfgDao.findAsnKeywordCfgByCompileId(compileIds);
return asnKeywordCfgs;
}
public List<String> findAsnGroupIdByGroupIds(String groupIds){
List<String> asGroupIds=asnGroupInfoDao.findAsnGroupIdByGroupIds(groupIds);
return asGroupIds;
}
}

View File

@@ -186,6 +186,7 @@ public class AsnIpCfgService extends CrudService<CrudDao<AsnIpCfg>, AsnIpCfg> {
AsnGroupInfo info=e.getValue();
info.setAsnId(e.getKey());
info.setIsValid(0);
info.setIsUsed(0);
info.setCreatorId(UserUtils.getUser().getId());
info.setCreateTime(createTime);
info.setGroupId(groupIds.get(index));

View File

@@ -1477,4 +1477,6 @@ ssl_record=SSL Records
http_record=HTTP Records
second_bps=bps
ip_existed=IP has existed!
user_check=In use, Can not be deleted!
user_check=In use, Can not be deleted!
deletedAsnTip=The asnId ASN configuration with ID cfgId is deleted;
reedit=Please re-edit!

View File

@@ -1481,4 +1481,6 @@ mail_record=\u0417\u0430\u043f\u0438\u0441\u0438 \u041f\u043e\u0447\u0442\u044b
ssl_record=SSL \u0417\u0430\u043f\u0438\u0441\u0438
http_record=HTTP \u0417\u0430\u043f\u0438\u0441\u0438
ip_existed=IP \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442!
user_check=\u0414\u0430\u043D\u043D\u044B\u0439 \u043E\u0431\u044A\u0435\u043A\u0442 \u0437\u0430\u043D\u044F\u0442, \u043D\u0435\u043B\u044C\u0437\u044F \u0443\u0434\u0430\u043B\u0438\u0442\u044C!
user_check=\u0414\u0430\u043D\u043D\u044B\u0439 \u043E\u0431\u044A\u0435\u043A\u0442 \u0437\u0430\u043D\u044F\u0442, \u043D\u0435\u043B\u044C\u0437\u044F \u0443\u0434\u0430\u043B\u0438\u0442\u044C!
deletedAsnTip=\u041A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044F \u2116 cfgId \u0441 ASN asnId \u0431\u044B\u043B\u0430 \u0443\u0434\u0430\u043B\u0435\u043D\u0430;
reedit=\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u0443\u0439\u0442\u0435 \u0437\u0430\u043D\u043E\u0432\u043E!

View File

@@ -1477,4 +1477,6 @@ ssl_record=SSL\u6cdb\u6536
http_record=HTTP\u6cdb\u6536
second_bps=bps
ip_existed=IP\u5DF2\u5B58\u5728\uFF01
user_check=\u6B63\u5728\u4F7F\u7528\uFF0C\u4E0D\u80FD\u5220\u9664\uFF01
user_check=\u6B63\u5728\u4F7F\u7528\uFF0C\u4E0D\u80FD\u5220\u9664\uFF01
deletedAsnTip=\u914D\u7F6EID\u4E3AcfgId\u7684asnId ASN\u914D\u7F6E\u5DF2\u88AB\u5220\u9664;
reedit=\u8BF7\u91CD\u65B0\u7F16\u8F91\uFF01

View File

@@ -297,7 +297,7 @@
</a>
</td>
<td>
<c:if test="${cfg.isUsed==0}"><spring:message code="no"/></c:if>
<c:if test="${ empty cfg.isUsed || cfg.isUsed==0}"><spring:message code="no"/></c:if>
<c:if test="${cfg.isUsed==1}"><spring:message code="yes"/></c:if>
</td>
<td>