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 结果
|
||||
*/
|
||||
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.utils.DateUtils;
|
||||
import com.ruoyi.common.utils.ShiroUtils;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
|
@ -92,6 +94,10 @@ public class ExpImportQueryServiceImpl implements IExpImportQueryService
|
|||
@Override
|
||||
public int deleteExpImportQueryByIds(String ids)
|
||||
{
|
||||
for(String str:Arrays.asList(ids.split(",")))
|
||||
{
|
||||
expressInfoMapper.deleteExpressInfoByQueryId(str);
|
||||
}
|
||||
return expImportQueryMapper.deleteExpImportQueryByIds(Convert.toStrArray(ids));
|
||||
}
|
||||
|
||||
|
|
@ -130,8 +136,19 @@ public class ExpImportQueryServiceImpl implements IExpImportQueryService
|
|||
ei.setQueryTime(queryTime);
|
||||
//expressInfoService.insertExpressInfo(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
|
||||
expImportQuery.setQueryTime(queryTime);
|
||||
expImportQuery.setQueryLoginName(ShiroUtils.getLoginName());
|
||||
|
|
|
|||
|
|
@ -130,8 +130,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
</delete>
|
||||
|
||||
<delete id="deleteExpressInfoByIds" parameterType="String">
|
||||
delete from expressInfo where message in
|
||||
<foreach item="message" collection="array" open="(" separator="," close=")">
|
||||
delete from expressInfo where sid in
|
||||
<foreach item="sid" collection="array" open="(" separator="," close=")">
|
||||
#{sid}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
|
@ -148,4 +148,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
</foreach>
|
||||
</insert>
|
||||
|
||||
<delete id="deleteExpressInfoByQueryId" parameterType="String">
|
||||
delete from expressInfo where queryId in (select queryId from exp_import_query where sid= #{sid})
|
||||
</delete>
|
||||
|
||||
|
||||
</mapper>
|
||||
Loading…
Reference in New Issue