淘宝上如何投诉举报商家投诉 卖家能看见吗

2812人阅读
java(20)
import java.util.ArrayL
import java.util.L
import java.util.concurrent.C
import java.util.concurrent.ExecutorS
import java.util.concurrent.E
import java.util.concurrent.F
public class App {
public static final String module = App.class.getName();
public static void main(String[] args) {
List&String& list = new ArrayList&&();
for (int i = 0; i & 100; i++) {
list.add(i + &,&);
System.out.println(new App().list2Str(list, 5));
} catch (Exception e) {
e.printStackTrace();
public String list2Str(List&String& list, final int nThreads)
throws Exception {
if (list == null || list.isEmpty()) {
StringBuffer ret = new StringBuffer();
int size = list.size();
ExecutorService executorService = Executors.newFixedThreadPool(nThreads);
List&Future&String&& futures = new ArrayList&Future&String&&(nThreads);
for (int i = 0; i & nT i++) {
final List&String& subList = list.subList(size / nThreads * i, size/ nThreads * (i + 1));
Callable&String& task = new Callable&String&() {
public String call() throws Exception {
StringBuffer sb = new StringBuffer();
for (String str : subList) {
sb.append(str);
return sb.toString();
futures.add(executorService.submit(task));
for (Future&String& future : futures) {
ret.append(future.get());
executorService.shutdown();
return ret.toString();
}&span id=&transmark&&&/span&
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:65710次
积分:1252
积分:1252
排名:千里之外
原创:35篇
转载:146篇
评论:18条java多线程处理导入数据拆分List集合 同步处理插入数据
java多线程处理导入数据拆分List集合 同步处理插入数据:获取导入excel文件中的数据,存入list中进行多线程处理,设定每个线程处理多少条数据,进行设定值动态启动线程数量数据,根据线程处理 数量拆分动态list数据进行相关业务操作。
package com.ig.bi.game.
import org.apache.log4j.L
import org.apache.poi.hssf.usermodel.HSSFR
import org.apache.poi.hssf.usermodel.HSSFS
import org.apache.poi.hssf.usermodel.HSSFW
import org.springframework.web.bind.annotation.RequestM
import org.springframework.web.bind.annotation.ResponseB
import org.springframework.web.bind.annotation.RestC
import org.springframework.web.multipart.MultipartF
import javax.servlet.http.HttpServletR
import java.text.SimpleDateF
import java.util.ArrayL
import java.util.HashM
import java.util.L
import java.util.M
import java.util.concurrent.CountDownL
import java.util.concurrent.ScheduledThreadPoolE
import java.util.concurrent.ThreadPoolE
* Created by admin
@RestController
@RequestMapping(&/importData&)
public class HpImportController extends BaseController{
private static final Logger logger = Logger.getLogger(HpImportController.class);
@Reference(interfaceClass = SidCustManageService.class,version = Constants.SERVICE_VERSION)
private SidCustManageService sidCustManageS
@RequestMapping(value = &importDate&)
@ResponseBody
public Response getOrdertDate(HttpServletRequest request,MultipartFile importData){
//创建Excel工作薄
HSSFWorkbook hwb = new HSSFWorkbook(importData.getInputStream());
//得到第一个工作表
HSSFSheet sheet = hwb.getSheetAt(0);
HSSFRow row =
SimpleDateFormat sdf = new SimpleDateFormat(&yyyy-MM-dd&);
List list = new ArrayList();
//遍历该表格中所有的工作表,i表示工作表的数量 getNumberOfSheets表示工作表的总数
for(int i = 0; i & hwb.getNumberOfSheets(); i++) {
sheet = hwb.getSheetAt(i);
//遍历该行所有的行,j表示行数 getPhysicalNumberOfRows行的总数
for(int j = 1; j & sheet.getPhysicalNumberOfRows(); j++) {
row = sheet.getRow(j);
String loginName = ExcelUtils.getStringValue(row, 0);
String agentName = ExcelUtils.getStringValue(row, 1);
String pwd = &123123&;
amount = ExcelUtils.getStringValue(row, 3);
String cust_lev = ExcelUtils.getStringValue(row,4);
String name = ExcelUtils.getStringValue(row, 5);
String tel = ExcelUtils.getStringValue(row, 6);
String qq = ExcelUtils.getStringValue(row, 7);
String birday = ExcelUtils.getStringValue(row, 8);
String email = ExcelUtils.getStringValue(row, 9);
String createTp = ExcelUtils.getStringValue(row, 10);
String bankAccountName = ExcelUtils.getStringValue(row, 11);
String bankNo = ExcelUtils.getStringValue(row, 12);
String bankName = ExcelUtils.getStringValue(row, 13);
String bankType = ExcelUtils.getStringValue(row, 14);
SidCustPersonContactInfo custCpci = new SidCustPersonContactInfo();
custCpci.setCustCode(loginName);
custCpci.setAmount(Double.valueOf(amount));
custCpci.setPasswd(pwd);
custCpci.setBankName(bankName);
custCpci.setBankNo(bankNo);
custCpci.setBankAccountName(bankAccountName);
if(!birday.equals(&&)){
custCpci.setBirthDate(sdf.parse(birday));
custCpci.setFirstName(name);
custCpci.setNickName(name);
custCpci.setQq(qq);
custCpci.setBankType(bankType);
custCpci.setEmailAddress(email);
custCpci.setMobileNumber(tel);
custCpci.setHallId(Long.valueOf(5));
list.add(custCpci);
int count = 50;
int listSize = list.size();
int RunSize = (listSize / count)+1;
ThreadPoolExecutor executor = new ScheduledThreadPoolExecutor(RunSize);
CountDownLatch countDownLatch = new CountDownLatch(RunSize);
List newList =
for (int i = 0; i & RunS i++) {
if((i+1)==RunSize){
int startIndex = (i*count);;
int endIndex = list.size();
newList =list.subList(startIndex,endIndex);
int startIndex = i*;
int endIndex = (i+1)*
newList =list.subList(startIndex,endIndex);
ExecupteHp hpRunnable = new ExecupteHp(newList);
executor.execute(hpRunnable);
countDownLatch.await();
executor.shutdown();
}catch (Exception e){
logger.info(&导入数据开始.&);
e.printStackTrace();
return Response.ok(GlobalEnum.GLOBAL_ENUM_SUCCESS_CODE.getValue() , SidCustEnum.SID_CRST_ERROR_SID_SUCCESS_07.getValue());
class ExecupteHp implements Runnable{
private List
public ExecupteHp (List
public void run() {
if(null!=list){
for (SidCustPersonContactInfo scpc : list){
System.out.print(&更新会员联系方式& +scpc.getFirstName() + &---&+scpc.getCustCode() );
SidCustContactInfo custContactInfo
= new SidCustContactInfo();
custContactInfo.setCustCode(scpc.getCustCode());
custContactInfo.setEmailAddress(scpc.getEmailAddress());
custContactInfo.setMobileNumber(scpc.getMobileNumber());
custContactInfo.setFirstName(scpc.getFirstName());
custContactInfo.setNicName(scpc.getNickName());
custContactInfo.setQq(scpc.getQq());
custContactInfoService.updateByContactByCustCode(custContactInfo);java多线程读取不重复数据
以下内容是根据本人的一些业务逻辑来做的一个dome,应该有很多地方还不完善,请大家看到的朋友可以指点一下程序的错误.
DBTest.java
package&test.thread.
public&class&DBTest&{
public&static&void&initListObject()&{
for&(int&i&=&1;&i&&=&10;&i++)
ListPool.list.add("linkedList"&+&i);
public&static&void&addListObject(int&count)&{
String&str&=&ListPool.list.getLast().replaceAll("linkedList",&"");
int&k&=&Integer.parseInt(str);
for&(int&i&=&1;&i&&=&&i++)&{
int&j&=&k&+&i;
ListPool.list.add("linkedList"&+&j);
System.out.println("增加list后的大小:"&+&ListPool.list.size());
public&static&void&removeListObject()&{
ListPool.list.remove(0);
System.out.println("删除一个list后的大小:"&+&ListPool.list.size());
package test.thread.
public class DBTest {
public static void initListObject() {
for (int i = 1; i &= 10; i++)
ListPool.list.add("linkedList" + i);
public static void addListObject(int count) {
String str = ListPool.list.getLast().replaceAll("linkedList", "");
int k = Integer.parseInt(str);
for (int i = 1; i &= i++) {
int j = k +
ListPool.list.add("linkedList" + j);
System.out.println("增加list后的大小:" + ListPool.list.size());
public static void removeListObject() {
ListPool.list.remove(0);
System.out.println("删除一个list后的大小:" + ListPool.list.size());
&ListPool.java
package&test.thread.
import&java.util.LinkedL
public&class&ListPool&{
public&static&LinkedList&String&&list&=&new&LinkedList&String&();//&定义全局数据存放位置
public&final&static&int&THREAD_COUNT&=&10;//&定义最大启动线程个数
package test.thread.
import java.util.LinkedL
public class ListPool {
public static LinkedList&String& list = new LinkedList&String&();// 定义全局数据存放位置
public final static int THREAD_COUNT = 10;// 定义最大启动线程个数
DoSomething.java
package&test.thread.
public&class&DoSomething&implements&Runnable&{
public&void&run()&{
while&(true)&{
System.out.println("第一次得到大小:"&+&ListPool.list.size());
while&(ListPool.list.size()&&&1)&{//&必须保留最后一个,做为下一次更新时的起初id
String&info&=&"";
synchronized&(ListPool.list)&{
info&=&ListPool.list.get(0);
DBTest.removeListObject();
System.out.println("第二次得到大小:"&+&ListPool.list.size());
if&(ListPool.list.size()&&=&5)&{
DBTest.addListObject(5);//&模拟从数据库中加载数据
System.out.println(info);//&打印出内容,在现实中模拟到其它地方实现逻辑处理
Thread.sleep((int)&(Math.random()&*&<font COLOR="#C0));//睡眠随机的毫秒,实现中可以改成1或者10毫秒,适当的释放资源给其它程序使用
System.out.println("测试执行");
Thread.sleep(6&*&<font COLOR="#C0);
DBTest.addListObject(5);
}&catch&(Exception&e)&{
e.printStackTrace();
package test.thread.
public class DoSomething implements Runnable {
public void run() {
while (true) {
System.out.println("第一次得到大小:" + ListPool.list.size());
while (ListPool.list.size() & 1) {// 必须保留最后一个,做为下一次更新时的起初id
String info = "";
synchronized (ListPool.list) {
info = ListPool.list.get(0);
DBTest.removeListObject();
System.out.println("第二次得到大小:" + ListPool.list.size());
if (ListPool.list.size() &= 5) {
DBTest.addListObject(5);// 模拟从数据库中加载数据
System.out.println(info);// 打印出内容,在现实中模拟到其它地方实现逻辑处理
Thread.sleep((int) (Math.random() * 1000));//睡眠随机的毫秒,实现中可以改成1或者10毫秒,适当的释放资源给其它程序使用
System.out.println("测试执行");
Thread.sleep(6 * 1000);
DBTest.addListObject(5);
} catch (Exception e) {
e.printStackTrace();
TestMain.java
import&test.thread.test.DBT
import&test.thread.test.DoS
import&test.thread.test.ListP
public&class&TestMain&{
public&static&void&main(String[]&args)&{
DBTest.initListObject();
int&threadCount&=&1;
while&(threadCount&&&<font COLOR="#C0)&{//&必须保留最后一个,做为下一次更新时的起初id
System.out.println("线程个数:"&+&threadCount);
DoSomething&doSomething&=&new&DoSomething();
Thread&thread&=&new&Thread(doSomething);
//thread.setDaemon(true);//这里在tomcat或者其它的web应用程序方面启动线程时应该设置为true.在tomcat&关闭的时候,线程也应该关闭.因为用户线程是基于jvm的,如果不设置为true(守护线程),tomcat关闭的时候,线程还会在运行,那会消耗cpu&与内存的.
thread.setDaemon(false);//在main方法中,这里必须设置为用户线程.因为设置为守护线程时,main方法执行完毕线程也自动退出了,事实上程序还没有执行完成.
thread.start();
threadCount++;
}&catch&(Exception&e)&{
e.printStackTrace();
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。2015年3月 总版技术专家分月排行榜第二2014年12月 总版技术专家分月排行榜第二2014年9月 总版技术专家分月排行榜第二
2015年3月 .NET技术大版内专家分月排行榜第一2015年2月 .NET技术大版内专家分月排行榜第一2015年1月 .NET技术大版内专家分月排行榜第一2014年12月 .NET技术大版内专家分月排行榜第一2014年11月 .NET技术大版内专家分月排行榜第一
2015年3月 总版技术专家分月排行榜第二2014年12月 总版技术专家分月排行榜第二2014年9月 总版技术专家分月排行榜第二
2015年3月 .NET技术大版内专家分月排行榜第一2015年2月 .NET技术大版内专家分月排行榜第一2015年1月 .NET技术大版内专家分月排行榜第一2014年12月 .NET技术大版内专家分月排行榜第一2014年11月 .NET技术大版内专家分月排行榜第一
2012年 总版技术专家分年内排行榜第一
2013年 总版技术专家分年内排行榜第七2011年 总版技术专家分年内排行榜第五2009年 总版技术专家分年内排行榜第九
2015年3月 总版技术专家分月排行榜第二2014年12月 总版技术专家分月排行榜第二2014年9月 总版技术专家分月排行榜第二
2015年3月 .NET技术大版内专家分月排行榜第一2015年2月 .NET技术大版内专家分月排行榜第一2015年1月 .NET技术大版内专家分月排行榜第一2014年12月 .NET技术大版内专家分月排行榜第一2014年11月 .NET技术大版内专家分月排行榜第一
2015年3月 总版技术专家分月排行榜第二2014年12月 总版技术专家分月排行榜第二2014年9月 总版技术专家分月排行榜第二
2015年3月 .NET技术大版内专家分月排行榜第一2015年2月 .NET技术大版内专家分月排行榜第一2015年1月 .NET技术大版内专家分月排行榜第一2014年12月 .NET技术大版内专家分月排行榜第一2014年11月 .NET技术大版内专家分月排行榜第一
2015年3月 总版技术专家分月排行榜第二2014年12月 总版技术专家分月排行榜第二2014年9月 总版技术专家分月排行榜第二
2015年3月 .NET技术大版内专家分月排行榜第一2015年2月 .NET技术大版内专家分月排行榜第一2015年1月 .NET技术大版内专家分月排行榜第一2014年12月 .NET技术大版内专家分月排行榜第一2014年11月 .NET技术大版内专家分月排行榜第一
2016年1月 总版技术专家分月排行榜第二2015年11月 总版技术专家分月排行榜第二2015年10月 总版技术专家分月排行榜第二
优秀小版主
2015年3月 总版技术专家分月排行榜第二2014年12月 总版技术专家分月排行榜第二2014年9月 总版技术专家分月排行榜第二
2015年3月 .NET技术大版内专家分月排行榜第一2015年2月 .NET技术大版内专家分月排行榜第一2015年1月 .NET技术大版内专家分月排行榜第一2014年12月 .NET技术大版内专家分月排行榜第一2014年11月 .NET技术大版内专家分月排行榜第一
本帖子已过去太久远了,不再提供回复功能。

我要回帖

更多关于 淘宝上如何投诉举报商家 的文章

 

随机推荐