diff --git a/src/main/java/com/yxt/yyth/biz/lpkgiftbag/LpkGiftBagMapper.xml b/src/main/java/com/yxt/yyth/biz/lpkgiftbag/LpkGiftBagMapper.xml
index 376e6d9..0f0ffca 100644
--- a/src/main/java/com/yxt/yyth/biz/lpkgiftbag/LpkGiftBagMapper.xml
+++ b/src/main/java/com/yxt/yyth/biz/lpkgiftbag/LpkGiftBagMapper.xml
@@ -5,10 +5,10 @@
- insert into lpk_giftbag(sid,createTime,dateStart,dateEnd)
+ insert into lpk_giftbag(sid,createTime,`name`,dateStart,dateEnd)
values
- (#{item.sid},#{item.createTime},#{item.dateStart},#{item.dateEnd})
+ (#{item.sid},#{item.createTime},#{item.name},#{item.dateStart},#{item.dateEnd})
diff --git a/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardService.java b/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardService.java
index 21b5255..cad1fe8 100644
--- a/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardService.java
+++ b/src/main/java/com/yxt/yyth/biz/lpkgiftcard/LpkGiftCardService.java
@@ -1123,154 +1123,158 @@ public class LpkGiftCardService extends MybatisBaseService setMsg = returnMsg.getSetMsg();
- StringBuffer sbMsg = new StringBuffer();
- if (null != setMsg && setMsg.size() > 0) {
- for (String s : setMsg) {
- sbMsg.append(s).append(",");
+ try {
+ String temp = request.getSession().getServletContext().getRealPath(File.separator) + "temp";// 临时目录
+ File tempFile = new File(temp);
+ if (!tempFile.exists()) {
+ tempFile.mkdirs();
}
- sbMsg.delete(sbMsg.length() - 1, sbMsg.length());
- if (StringUtils.isNotBlank(sbMsg.toString())) {
- return rb.setMsg(sbMsg.toString());
+ String fileName = file.getOriginalFilename();
+ if (!fileName.matches("^.+\\.(?i)(xls)$") && !fileName.matches("^.+\\.(?i)(xlsx)$")) {
+ return rb.fail().setMsg("上传文件不正确");
}
- }
- List importReturn = returnMsg.getInfos();
- importReturn.removeAll(Collections.singleton(null));
- String startNo = "";
- String endNo = "";
- List cards = new ArrayList<>(); //卡片
- List bagGoods = new ArrayList<>(); //卡片礼包关联
- List bags = new ArrayList<>(); //礼包
- List codes = new ArrayList<>(); //二维码
- List records = new ArrayList<>(); //二维码
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
- int cardSerNum = 0;
- //生成卡包
- if (!importReturn.isEmpty()) {
- for (int i = 0; i < importReturn.size(); i++) {
- ReturnExcelInfo info = importReturn.get(i);
- LpkGiftCard card = new LpkGiftCard();
- LpkGiftBag bag = new LpkGiftBag();
- LpkCardQrcode code = new LpkCardQrcode();
- LpkCardBuildRecord record = new LpkCardBuildRecord();
- String serNum = baseMapper.selctMaxSerNumForExport();
- card.setCreateTime(new DateTime());//卡片生成时间
- bag.setCreateTime(new DateTime());//礼包生成时间
- code.setCreateTime(new DateTime());//二维码生成时间
- record.setCreateTime(new DateTime());//礼包记录生成时间
- record.setBuildDate(new DateTime());//礼包记录生成时间
- record.setGiftbagSid(bag.getSid());
- record.setCountNumber("1");
- if (StringUtils.isNotBlank(serNum)) {
- int serNumInt = Integer.parseInt(serNum);
- if (i == 0) {
- cardSerNum = serNumInt + 1;
- }
- } else {
- if (cardSerNum == 0) {
- cardSerNum = 70000001;
- }
+ boolean isExcel2003 = true;
+ if (fileName.matches("^.+\\.(?i)(xlsx)$")) {
+ isExcel2003 = false;
+ }
+ InputStream is = file.getInputStream();
+ Workbook wb = null;
+ if (isExcel2003) {
+ wb = new HSSFWorkbook(is);
+ } else {
+ wb = new XSSFWorkbook(is);
+ }
+ Sheet sheet = wb.getSheetAt(0);
+ ReturnMsg returnMsg = getSheetVal2(sheet);
+ Set setMsg = returnMsg.getSetMsg();
+ StringBuffer sbMsg = new StringBuffer();
+ if (null != setMsg && setMsg.size() > 0) {
+ for (String s : setMsg) {
+ sbMsg.append(s).append(",");
}
- card.setSerialNumber(String.valueOf(cardSerNum));
- record.setStartNumber(String.valueOf(cardSerNum));
- record.setEndNumber(String.valueOf(cardSerNum));
- bag.setName("家庭菜窖" + cardSerNum);
- card.setGiftbagSid(bag.getSid()); //卡片赋值关联礼包sid
- card.setRecordSid(record.getSid()); //卡片赋值关联生成卡记录sid
- card.setState("1");
- String uuid = UniqueIdGenerator.generateUniqueID();
- int randomNumber = new Random().nextInt(900000) + 100000;
- card.setCodeKey(String.valueOf(randomNumber)); //6位密码
- card.setCode(uuid); //20位提货码
- //生成二维码转base64
- String s = genarateQRCodesToBase64ForExport(card.getCode());
- code.setCardSid(card.getSid());
- code.setCreateTime(new DateTime());
- code.setFile(s);
- //------礼包信息赋值-------------
- try {
- bag.setDateStart(sdf.parse(startDate));
- bag.setDateEnd(sdf.parse(endDate));
- } catch (ParseException e) {
- e.printStackTrace();
+ sbMsg.delete(sbMsg.length() - 1, sbMsg.length());
+ if (StringUtils.isNotBlank(sbMsg.toString())) {
+ return rb.setMsg(sbMsg.toString());
}
- cards.add(card);
- bags.add(bag);
- codes.add(code);
- records.add(record);
- List infoDetails = info.getInfoDetails();
- if (!infoDetails.isEmpty()) {
- for (ReturnExcelInfoDetails detail : infoDetails) {
- LpkGiftBagGoods giftBagGoods = new LpkGiftBagGoods();
- giftBagGoods.setCreateTime(new DateTime());
- if (StringUtils.isNotBlank(detail.getGoodNum()) && StringUtils.isNotBlank(detail.getGoodName())) {
- LpkGoods lpkGoods = lpkGoodsService.getGoodsByName(detail.getGoodName());
- if (null != lpkGoods) {
- giftBagGoods.setGoodsSid(lpkGoods.getSid());
- if (detail.getGoodNum().contains(".")) {
- String num = detail.getGoodNum().substring(0, detail.getGoodNum().indexOf("."));
- giftBagGoods.setGoodsNumber(num);
- } else {
- giftBagGoods.setGoodsNumber(detail.getGoodNum());
+ }
+ List importReturn = returnMsg.getInfos();
+ importReturn.removeAll(Collections.singleton(null));
+ String startNo = "";
+ String endNo = "";
+ List cards = new ArrayList<>(); //卡片
+ List bagGoods = new ArrayList<>(); //卡片礼包关联
+ List bags = new ArrayList<>(); //礼包
+ List codes = new ArrayList<>(); //二维码
+ List records = new ArrayList<>(); //二维码
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ int cardSerNum = 0;
+ //生成卡包
+ if (!importReturn.isEmpty()) {
+ for (int i = 0; i < importReturn.size(); i++) {
+ ReturnExcelInfo info = importReturn.get(i);
+ LpkGiftCard card = new LpkGiftCard();
+ LpkGiftBag bag = new LpkGiftBag();
+ LpkCardQrcode code = new LpkCardQrcode();
+ LpkCardBuildRecord record = new LpkCardBuildRecord();
+ String serNum = baseMapper.selctMaxSerNumForExport();
+ card.setCreateTime(new DateTime());//卡片生成时间
+ bag.setCreateTime(new DateTime());//礼包生成时间
+ code.setCreateTime(new DateTime());//二维码生成时间
+ record.setCreateTime(new DateTime());//礼包记录生成时间
+ record.setBuildDate(new DateTime());//礼包记录生成时间
+ record.setGiftbagSid(bag.getSid());
+ record.setCountNumber("1");
+ if (StringUtils.isNotBlank(serNum)) {
+ int serNumInt = Integer.parseInt(serNum);
+ if (i == 0) {
+ cardSerNum = serNumInt + 1;
+ }
+ } else {
+ if (cardSerNum == 0) {
+ cardSerNum = 70000001;
+ }
+ }
+ card.setSerialNumber(String.valueOf(cardSerNum));
+ record.setStartNumber(String.valueOf(cardSerNum));
+ record.setEndNumber(String.valueOf(cardSerNum));
+ bag.setName("家庭菜窖" + cardSerNum);
+ card.setGiftbagSid(bag.getSid()); //卡片赋值关联礼包sid
+ card.setRecordSid(record.getSid()); //卡片赋值关联生成卡记录sid
+ card.setState("1");
+ String uuid = UniqueIdGenerator.generateUniqueID();
+ int randomNumber = new Random().nextInt(900000) + 100000;
+ card.setCodeKey(String.valueOf(randomNumber)); //6位密码
+ card.setCode(uuid); //20位提货码
+ //生成二维码转base64
+ String s = genarateQRCodesToBase64ForExport(card.getCode());
+ code.setCardSid(card.getSid());
+ code.setCreateTime(new DateTime());
+ code.setFile(s);
+ //------礼包信息赋值-------------
+ try {
+ bag.setDateStart(sdf.parse(startDate));
+ bag.setDateEnd(sdf.parse(endDate));
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ cards.add(card);
+ bags.add(bag);
+ codes.add(code);
+ records.add(record);
+ List infoDetails = info.getInfoDetails();
+ if (!infoDetails.isEmpty()) {
+ for (ReturnExcelInfoDetails detail : infoDetails) {
+ LpkGiftBagGoods giftBagGoods = new LpkGiftBagGoods();
+ giftBagGoods.setCreateTime(new DateTime());
+ if (StringUtils.isNotBlank(detail.getGoodNum()) && StringUtils.isNotBlank(detail.getGoodName())) {
+ LpkGoods lpkGoods = lpkGoodsService.getGoodsByName(detail.getGoodName());
+ if (null != lpkGoods) {
+ giftBagGoods.setGoodsSid(lpkGoods.getSid());
+ if (detail.getGoodNum().contains(".")) {
+ String num = detail.getGoodNum().substring(0, detail.getGoodNum().indexOf("."));
+ giftBagGoods.setGoodsNumber(num);
+ } else {
+ giftBagGoods.setGoodsNumber(detail.getGoodNum());
+ }
}
+ giftBagGoods.setGiftbagSid(bag.getSid());
+ bagGoods.add(giftBagGoods);
}
- giftBagGoods.setGiftbagSid(bag.getSid());
- bagGoods.add(giftBagGoods);
}
}
+ if (i == 0) {
+ startNo = String.valueOf(cardSerNum);
+ }
+ if (i == importReturn.size() - 1) {
+ endNo = String.valueOf(cardSerNum);
+ }
+ cardSerNum = cardSerNum + 1;
}
- if (i == 0) {
- startNo = String.valueOf(cardSerNum);
+ //批量插入数据
+ //卡片
+ if (!cards.isEmpty()) {
+ int i = baseMapper.saveCards(cards);
}
- if (i == importReturn.size() - 1) {
- endNo = String.valueOf(cardSerNum);
+ //卡记录
+ if (!records.isEmpty()) {
+ int i = lpkCardBuildRecordService.saveRecords(records);
}
- cardSerNum = cardSerNum + 1;
- }
- //批量插入数据
- //卡片
- if (!cards.isEmpty()) {
- int i = baseMapper.saveCards(cards);
- }
- //卡记录
- if (!records.isEmpty()) {
- int i = lpkCardBuildRecordService.saveRecords(records);
- }
- //二维码
- if (!codes.isEmpty()) {
- int i = lpkCardQrcodeService.saveCodes(codes);
- }
- //礼包
- if (!bags.isEmpty()) {
- int i = lpkGiftBagService.saveBags(bags);
- }
- //礼包商品
- if (!bagGoods.isEmpty()) {
- int i = LpkGiftBagGoodsService.saveBagGoods(bagGoods);
+ //二维码
+ if (!codes.isEmpty()) {
+ int i = lpkCardQrcodeService.saveCodes(codes);
+ }
+ //礼包
+ if (!bags.isEmpty()) {
+ int i = lpkGiftBagService.saveBags(bags);
+ }
+ //礼包商品
+ if (!bagGoods.isEmpty()) {
+ int i = LpkGiftBagGoodsService.saveBagGoods(bagGoods);
+ }
+ return rb.success().setMsg("本次导入:" + importReturn.size() + "条数据,生成卡券共计" + importReturn.size() + "张;卡券序列号:" + startNo + "-" + endNo);
}
- return rb.success().setMsg("本次导入:" + importReturn.size() + "条数据,生成卡券共计" + importReturn.size() + "张;卡券序列号:" + startNo + "-" + endNo);
+ } catch (Exception e) {
+ e.printStackTrace();
}
return rb.success().setMsg("导入成功");
}
@@ -1345,12 +1349,12 @@ public class LpkGiftCardService extends MybatisBaseService