Commit 54547f8c authored by renjie's avatar renjie

批量添加

parent db14ea11
...@@ -6,10 +6,7 @@ import com.edgec.browserbackend.account.exception.AccountErrorCode; ...@@ -6,10 +6,7 @@ import com.edgec.browserbackend.account.exception.AccountErrorCode;
import com.edgec.browserbackend.account.repository.AccountRepository; import com.edgec.browserbackend.account.repository.AccountRepository;
import com.edgec.browserbackend.browser.ErrorCode.BrowserErrorCode; import com.edgec.browserbackend.browser.ErrorCode.BrowserErrorCode;
import com.edgec.browserbackend.browser.domain.*; import com.edgec.browserbackend.browser.domain.*;
import com.edgec.browserbackend.browser.dto.ShopFilterDto; import com.edgec.browserbackend.browser.dto.*;
import com.edgec.browserbackend.browser.dto.ShopResultDto;
import com.edgec.browserbackend.browser.dto.PageInfo;
import com.edgec.browserbackend.browser.dto.ShopPageResultDto;
import com.edgec.browserbackend.browser.repository.GroupRepository; import com.edgec.browserbackend.browser.repository.GroupRepository;
import com.edgec.browserbackend.browser.repository.IpResourceRepository; import com.edgec.browserbackend.browser.repository.IpResourceRepository;
import com.edgec.browserbackend.browser.repository.ShopRepository; import com.edgec.browserbackend.browser.repository.ShopRepository;
...@@ -101,9 +98,60 @@ public class ShopServiceImpl implements ShopService { ...@@ -101,9 +98,60 @@ public class ShopServiceImpl implements ShopService {
@Override @Override
public List<String> addShops(String username, MultipartFile file) throws IOException { public List<String> addShops(String username, MultipartFile file) throws IOException {
List<Object> list = FileUtil.readExcel(file.getInputStream()); List<String> ids = new ArrayList<>();
logger.error(list.toString()); List<List<Object>> list = FileUtil.readExcel(file.getInputStream());
return null; Account account = accountRepository.findByName(username);
if (account == null) {
throw new ClientRequestException(AccountErrorCode.NAMENOTEXIST);
}
if (account.getPermission() < 4) {
throw new ClientRequestException(AccountErrorCode.NOPERMISSION);
}
if (account.getShopCount() >= 10000) {
throw new ClientRequestException(AccountErrorCode.SHOPMAX);
}
for (List<Object> l : list) {
ShopResultDto shopResultDto = new ShopResultDto();
shopResultDto.setOwner(username);
shopResultDto.setShopName(l.get(0).toString());
shopResultDto.setShopPlatform(l.get(1).toString());
shopResultDto.setGroup("-1");
if (StringUtils.isNotBlank(l.get(2).toString()))
shopResultDto.setShopAccount(l.get(2).toString());
if (StringUtils.isNotBlank(l.get(3).toString()))
shopResultDto.setShopPassword(l.get(3).toString());
String id = null;
UserShop us = null;
if (shopResultDto.getShopId() != null)
us = userShopRepository.findByUsernameAndShopId(username, shopResultDto.getShopId());
if (shopResultDto.getGroup() == null)
throw new ClientRequestException(BrowserErrorCode.INFORMATIONNOTCOMPELETE);
Group group = groupRepository.findById(shopResultDto.getGroup()).orElse(null);
if (group == null) {
throw new ClientRequestException(BrowserErrorCode.GROUPNOTEXIST);
}
try {
shopResultDto.setOwner(username);
Shop shop = new Shop();
shop.of(shopResultDto);
id = shopRepository.save(shop).getShopId();
UserShop userShop = new UserShop();
userShop.setUsername(username);
userShop.setShopId(id);
if (shopResultDto.getGroup() != null && us == null) {
userShop.setGroupId(shopResultDto.getGroup());
}
userShopRepository.save(userShop);
//可以优化
account.setShopCount(account.getShopCount() + 1);
accountRepository.save(account);
ids.add(id);
}catch (Exception e) {
logger.error("fail to add shops", e.getMessage());
throw new ClientRequestException(BrowserErrorCode.INFORMATIONNOTCOMPELETE);
}
}
return ids;
} }
@Override @Override
......
...@@ -69,8 +69,8 @@ public class FileUtil { ...@@ -69,8 +69,8 @@ public class FileUtil {
} }
//读取excel //读取excel
public static List<Object> readExcel(InputStream inputStream){ public static List<List<Object>> readExcel(InputStream inputStream){
List<Object> list = new ArrayList<>(); List<List<Object>> list = new ArrayList<>();
Workbook workbook = null; Workbook workbook = null;
try { try {
workbook = WorkbookFactory.create(inputStream); workbook = WorkbookFactory.create(inputStream);
...@@ -86,19 +86,27 @@ public class FileUtil { ...@@ -86,19 +86,27 @@ public class FileUtil {
int colLength = row.getLastCellNum(); int colLength = row.getLastCellNum();
//得到指定的单元格 //得到指定的单元格
Cell cell = row.getCell(0);; Cell cell = row.getCell(0);;
int size = 1;
for (int i = 2; i < rowLength; i++) { for (int i = 2; i < rowLength; i++) {
row = sheet.getRow(i); row = sheet.getRow(i);
List<Object> rowvalue = new ArrayList<>();
size = 0;
for (int j = 0; j < colLength; j++) { for (int j = 0; j < colLength; j++) {
cell = row.getCell(j); cell = row.getCell(j);
// System.out.println(cell); // System.out.println(cell);
if (cell == null) if (cell!=null) {
throw new ClientRequestException(BrowserErrorCode.INFORMATIONNOTCOMPELETE);
if (cell != null) {
Object cellValue = getCellFormatValue(cell); Object cellValue = getCellFormatValue(cell);
if (StringUtils.isNotBlank(cellValue.toString())) rowvalue.add(cellValue);
log.error(cellValue.toString()); if (StringUtils.isNotBlank(cellValue.toString())) {
size++;
}
} }
} }
if (size == 0)
break;
if (StringUtils.isBlank(rowvalue.get(0).toString()) || StringUtils.isBlank(rowvalue.get(1).toString()))
throw new ClientRequestException(BrowserErrorCode.INFORMATIONNOTCOMPELETE);
list.add(rowvalue);
} }
} catch (Exception e) { } catch (Exception e) {
log.error("parse excel file error :", e); log.error("parse excel file error :", e);
...@@ -113,7 +121,7 @@ public class FileUtil { ...@@ -113,7 +121,7 @@ public class FileUtil {
//判断cell类型 //判断cell类型
switch(cell.getCellType()){ switch(cell.getCellType()){
case Cell.CELL_TYPE_NUMERIC:{ case Cell.CELL_TYPE_NUMERIC:{
cellValue = String.valueOf(cell.getNumericCellValue()); cellValue = String.valueOf((int)cell.getNumericCellValue());
break; break;
} }
case Cell.CELL_TYPE_FORMULA:{ case Cell.CELL_TYPE_FORMULA:{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment