(1)asn no放入eCache中

(2)导入验证采用多线程验证,优化验证速度
(3)asn ip导入方式调整(未采用多线程,因为redis承受不了)
(4)asn ip列表展示速度优化
(5)导入方式重写:采用csv模式,限制采用xlsx格式,加载80万数据不会内存溢出.
This commit is contained in:
wangxin
2018-11-11 19:36:53 +08:00
parent 40bcfea683
commit 80dde7d6a0
53 changed files with 4831 additions and 2996 deletions

View File

@@ -0,0 +1,22 @@
package com.nis.web.dao.specific;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.springframework.cache.annotation.Cacheable;
import com.nis.domain.specific.ConfigGroupInfo;
import com.nis.web.dao.CrudDao;
import com.nis.web.dao.MyBatisDao;
@MyBatisDao
public interface ConfigGroupInfoDao extends CrudDao<ConfigGroupInfo>{
List<ConfigGroupInfo> findAllList(int groupType);
void insertConfigGroupInfo(ConfigGroupInfo entity);
int insertBatch(List<ConfigGroupInfo> list);
void updateConfigGroupInfobyGroupId(ConfigGroupInfo entity);
ConfigGroupInfo getConfigGroupInfoByGroupId(Integer groupId);
@Cacheable(value="asnNoCache",key="#asnNo")
ConfigGroupInfo getInfoByAsnNo(@Param("asnId")Long asnNo);
Integer getIssuedConfigGroupInfoByGroupIds(@Param("groupIds")String groupIds);
Long getCountByType(@Param("groupType")Integer groupType);
}

View File

@@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.nis.web.dao.specific.ConfigGroupInfoDao">
<resultMap id="configGroupInfoMap" type="com.nis.domain.specific.ConfigGroupInfo">
<id column="id" property="id" jdbcType="BIGINT" />
<result column="group_id" property="groupId" jdbcType="BIGINT" />
<result column="group_name" property="groupName" jdbcType="VARCHAR" />
<result column="is_issued" property="isIssued" jdbcType="INTEGER" />
<result column="insert_time" property="insertTime" jdbcType="TIMESTAMP" />
<result column="update_time" property="updateTime" jdbcType="TIMESTAMP" />
<result column="group_type" property="groupType" jdbcType="INTEGER" />
<result column="compile_id" property="compileId" jdbcType="INTEGER" />
<result column="asn_id" property="asnId" jdbcType="BIGINT" />
</resultMap>
<sql id="columns">
id,group_id,group_name,is_issued,insert_time,update_time,group_type,compile_id,asn_id
</sql>
<select id="findAllList" resultMap="configGroupInfoMap">
select
<include refid="columns"></include>
from config_group_info
where group_type =#{groupType}
</select>
<!-- 新增配置分组信息 -->
<insert id="insertConfigGroupInfo" parameterType="com.nis.domain.specific.ConfigGroupInfo" useGeneratedKeys="true">
insert into config_group_info (id,group_id,group_name,is_issued,insert_time,group_type,compile_id,asn_id)
values(#{id},#{groupId},#{groupName},#{isIssued},now(),#{groupType},#{compileId},#{asnId})
</insert>
<insert id="insertBatch">
insert into config_group_info (id,group_id,group_name,is_issued,insert_time,group_type,compile_id,asn_id)
values
<foreach collection ="list" item="info" separator =",">
(#{info.id},#{info.groupId},#{info.groupName},#{info.isIssued},now(),#{info.groupType},#{info.compileId},#{info.asnId})
</foreach>
</insert>
<!-- 修改配置分组状态信息 -->
<update id="updateConfigGroupInfobyGroupId" parameterType="com.nis.domain.specific.ConfigGroupInfo">
UPDATE config_group_info set is_issued = #{isIssued},update_time=now()
<if test="compileId != null and compileId !='' ">
,compile_id= #{compileId}
</if>
where group_id = #{groupId}
</update>
<select id="getInfoByAsnNo" resultType="com.nis.domain.specific.ConfigGroupInfo" parameterType="java.lang.Long">
select id,group_id,group_name,is_issued,insert_time,update_time,group_type,compile_id,asn_id
from config_group_info c where c.asn_id= #{asnId} and c.group_type=4
</select>
<!-- 根据groupId查出配置分组信息 -->
<select id="getConfigGroupInfoByGroupId" resultType="com.nis.domain.specific.ConfigGroupInfo" parameterType="java.lang.Integer">
select id,group_id,group_name,is_issued,insert_time,update_time,group_type,compile_id,asn_id
from config_group_info where group_id= #{groupId}
</select>
<!-- <select id="findPolicyGroupInfosByType" resultType="com.nis.domain.specific.ConfigGroupInfo" parameterType="java.lang.Integer">
select id,group_id,group_name,is_issued,insert_time,update_time,group_type,compile_id,asn_id
from config_group_info c where c.group_type= #{groupType}
</select> -->
<select id="getIssuedConfigGroupInfoByGroupIds" resultType="java.lang.Integer" parameterType="java.lang.String">
select count(1) from config_group_info c where c.group_id in(${groupIds}) and is_issued=1
</select>
<select id="getCountByType" resultType="java.lang.Long" parameterType="java.lang.Integer">
select count(1) from config_group_info c where c.group_type=${groupType}
</select>
</mapper>

View File

@@ -3,6 +3,8 @@ package com.nis.web.dao.specific;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.springframework.cache.annotation.CachePut;
import org.springframework.cache.annotation.Cacheable;
import com.nis.domain.specific.ConfigGroupInfo;
import com.nis.domain.specific.SpecificServiceCfg;
@@ -42,14 +44,6 @@ public interface SpecificServiceCfgDao extends CrudDao<SpecificServiceCfg> {
* @return
*/
List<SpecificServiceCfg> getChildrenById(Integer specServiceId);
ConfigGroupInfo getConfigGroupInfoByGroupId(Integer groupId);
ConfigGroupInfo findPolicyGroupInfosByType(@Param("groupType")Integer groupType);
Integer getIssuedConfigGroupInfoByGroupIds(@Param("groupIds")String groupIds);
Integer insertConfigGroupInfo(ConfigGroupInfo entity);
Integer updateConfigGroupInfobyGroupId(ConfigGroupInfo entity);
Integer getParentType(Integer specServiceId);
Integer getParentCode(Integer specServiceId);
SpecificServiceCfg getRepeat(@Param("specServiceCode")Integer code, @Param("cfgType")Integer cfgType,@Param("parentId")Integer parentId);

View File

@@ -213,32 +213,4 @@
<select id="getChildrenById" resultMap="CFGResultMap" parameterType="java.lang.Integer">
SELECT * FROM specific_service_cfg s WHERE s.is_valid = 1 and s.parent_id = #{specServiceId}
</select>
<!-- 根据groupId查出配置分组信息 -->
<select id="getConfigGroupInfoByGroupId" resultType="com.nis.domain.specific.ConfigGroupInfo" parameterType="java.lang.Integer">
select id,group_id,group_name,is_issued,insert_time,update_time,group_type,compile_id,asn_id
from config_group_info c where c.group_id= #{groupId}
</select>
<select id="getIssuedConfigGroupInfoByGroupIds" resultType="java.lang.Integer" parameterType="java.lang.String">
select count(1) from config_group_info c where c.group_id in(${groupIds}) and is_issued=1
</select>
<!-- 修改配置分组状态信息 -->
<update id="updateConfigGroupInfobyGroupId" parameterType="com.nis.domain.specific.ConfigGroupInfo">
UPDATE config_group_info set is_issued = #{isIssued},update_time=now()
<if test="compileId != null and compileId !='' ">
,compile_id= #{compileId}
</if>
where group_id = #{groupId}
</update>
<!-- 新增配置分组信息 -->
<insert id="insertConfigGroupInfo" parameterType="com.nis.domain.specific.ConfigGroupInfo" useGeneratedKeys="true">
insert into config_group_info (id,group_id,group_name,is_issued,insert_time,group_type,compile_id,asn_id)
values(#{id},#{groupId},#{groupName},#{isIssued},now(),#{groupType},#{compileId},#{asnId})
</insert>
<select id="findPolicyGroupInfosByType" resultType="com.nis.domain.specific.ConfigGroupInfo" parameterType="java.lang.Integer">
select id,group_id,group_name,is_issued,insert_time,update_time,group_type,compile_id,asn_id
from config_group_info c where c.group_type= #{groupType}
</select>
</mapper>