1、提升Excel批量查询结果插入数据表expressInfo的效率
2、删除exp_import_query的记录时,同时删除expressInfo表中对应queryId的记录。
This commit is contained in:
parent
bbdd968254
commit
145db21226
|
|
@ -69,4 +69,14 @@ public interface ExpressInfoMapper
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public int batchInsertExpressInfo(List<ExpressInfo> expressInfoList);
|
public int batchInsertExpressInfo(List<ExpressInfo> expressInfoList);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除快递信息
|
||||||
|
*
|
||||||
|
* @param queryId 快递信息queryId
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int deleteExpressInfoByQueryId(String queryId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,11 +10,13 @@ import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
import com.ruoyi.common.core.text.Convert;
|
import com.ruoyi.common.core.text.Convert;
|
||||||
import com.ruoyi.common.utils.DateUtils;
|
import com.ruoyi.common.utils.DateUtils;
|
||||||
import com.ruoyi.common.utils.ShiroUtils;
|
import com.ruoyi.common.utils.ShiroUtils;
|
||||||
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
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 java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -92,6 +94,10 @@ public class ExpImportQueryServiceImpl implements IExpImportQueryService
|
||||||
@Override
|
@Override
|
||||||
public int deleteExpImportQueryByIds(String ids)
|
public int deleteExpImportQueryByIds(String ids)
|
||||||
{
|
{
|
||||||
|
for(String str:Arrays.asList(ids.split(",")))
|
||||||
|
{
|
||||||
|
expressInfoMapper.deleteExpressInfoByQueryId(str);
|
||||||
|
}
|
||||||
return expImportQueryMapper.deleteExpImportQueryByIds(Convert.toStrArray(ids));
|
return expImportQueryMapper.deleteExpImportQueryByIds(Convert.toStrArray(ids));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -130,8 +136,19 @@ public class ExpImportQueryServiceImpl implements IExpImportQueryService
|
||||||
ei.setQueryTime(queryTime);
|
ei.setQueryTime(queryTime);
|
||||||
//expressInfoService.insertExpressInfo(ei);
|
//expressInfoService.insertExpressInfo(ei);
|
||||||
expressInfoListForInsert.add(ei);
|
expressInfoListForInsert.add(ei);
|
||||||
|
/* for(int i=1;i<1001;i++){ //测试批量插入效率用时打开Mark,产生5万条数据。
|
||||||
|
expressInfoListForInsert.add(ei);
|
||||||
|
}*/
|
||||||
|
}
|
||||||
|
int size= expressInfoListForInsert.size();
|
||||||
|
List<ExpressInfo> expressInfos= new ArrayList<>();
|
||||||
|
for(int i=1;i<=size;i++){
|
||||||
|
expressInfos.add(expressInfoListForInsert.get(i-1));
|
||||||
|
if( (i%400==0 ) ||i== size) {
|
||||||
|
expressInfoMapper.batchInsertExpressInfo(expressInfos);
|
||||||
|
expressInfos.clear();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
expressInfoMapper.batchInsertExpressInfo(expressInfoListForInsert);
|
|
||||||
//将本次excel导入查询记录到数据表exp_import_query
|
//将本次excel导入查询记录到数据表exp_import_query
|
||||||
expImportQuery.setQueryTime(queryTime);
|
expImportQuery.setQueryTime(queryTime);
|
||||||
expImportQuery.setQueryLoginName(ShiroUtils.getLoginName());
|
expImportQuery.setQueryLoginName(ShiroUtils.getLoginName());
|
||||||
|
|
|
||||||
|
|
@ -130,8 +130,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
<delete id="deleteExpressInfoByIds" parameterType="String">
|
<delete id="deleteExpressInfoByIds" parameterType="String">
|
||||||
delete from expressInfo where message in
|
delete from expressInfo where sid in
|
||||||
<foreach item="message" collection="array" open="(" separator="," close=")">
|
<foreach item="sid" collection="array" open="(" separator="," close=")">
|
||||||
#{sid}
|
#{sid}
|
||||||
</foreach>
|
</foreach>
|
||||||
</delete>
|
</delete>
|
||||||
|
|
@ -148,4 +148,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
</foreach>
|
</foreach>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
|
<delete id="deleteExpressInfoByQueryId" parameterType="String">
|
||||||
|
delete from expressInfo where queryId in (select queryId from exp_import_query where sid= #{sid})
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
Loading…
Reference in New Issue