提交 68b5846c authored 作者: xinjunguo's avatar xinjunguo

--no commit message

上级 694b68e8
......@@ -486,7 +486,7 @@ public class EbookController {
}
try {
ExcelUtil.getInstance().exportExcel(list, ExcelEbookListVo.class,
"图书信息.xlsx", response, request);
"图书信息.xls", response, request);
} catch (Exception e) {
return e.getMessage();
}
......@@ -1200,4 +1200,11 @@ public class EbookController {
}
return CallBack.success(vo);
}
@ApiOperation("导入元数据批量修改图书信息")
@PostMapping(value = ResourceRequestPath.IMPORT + ResourceRequestPath.UPDATE + ResourceRequestPath.BOOK)
public CallBack<?> importAndUpdateBook(@RequestParam("file") MultipartFile file) throws Exception {
ImportLabelVo vo = ebookservice.importAndUpdateBook(file);
return CallBack.success(vo);
}
}
......@@ -29,7 +29,7 @@ public interface EbookMapper extends BaseMapper<Ebook>{
*/
@Select("<script>"
+ "SELECT "
+ " bb.id,bb.name,bb.author,bb.isbn,bb.copyrightTerm, "
+ " bb.id,bb.name,bb.author,bb.isbn,bb.copyrightTerm,bb.copyrightTermBegin, "
+ " be.realprice,be.entityRealPrice,be.uploadTime,be.updateTime,be.bookStatus "
+ " FROM res_book bb "
+ " LEFT JOIN res_ebook be ON bb.id = be.id "
......
......@@ -121,5 +121,12 @@ public interface EbookService extends BaseService<Ebook, String>{
* @return
*/
ImportLabelVo importAndUpdateCode(MultipartFile file);
/**
* 导入元数据批量修改图书信息
* @param file
* @return
*/
ImportLabelVo importAndUpdateBook(MultipartFile file);
}
......@@ -23,6 +23,7 @@ import com.zrqx.core.enums.AllResourceTypeEnum;
import com.zrqx.core.enums.GoodsTypeEnum;
import com.zrqx.core.enums.resource.EbookStatusEnum;
import com.zrqx.core.enums.resource.PriceOptionEnum;
import com.zrqx.core.exception.BaseException;
import com.zrqx.core.exception.BusinessValidateException;
import com.zrqx.core.form.resource.bg.QueryResourceForPoPForm;
import com.zrqx.core.form.resource.bg.ebook.QueryEbookInfoForm;
......@@ -45,6 +46,7 @@ import com.zrqx.core.util.page.PageParam;
import com.zrqx.core.vo.label.ImportLabelVo;
import com.zrqx.core.vo.resource.diytype.ExcelDiyTypeImportVo;
import com.zrqx.core.vo.resource.ebook.EbookListVO;
import com.zrqx.core.vo.resource.ebook.ExcelBookImportVo;
import com.zrqx.core.vo.resource.ebook.ExcelEbookImportCodeVo;
import com.zrqx.core.vo.resource.ebook.ExcelEbookImportNameVo;
import com.zrqx.core.vo.resource.ebook.ExcelEbookImportVo;
......@@ -546,6 +548,88 @@ public class EbookServiceImpl extends BaseServiceImpl<Ebook, String> implements
});
return vo;
}
@Override
public ImportLabelVo importAndUpdateBook(MultipartFile file) {
List<ExcelBookImportVo> ebookImportList = null;
// 结果集
ImportLabelVo vo = new ImportLabelVo();
//PackageLabelRelation packageLabelRelation = new PackageLabelRelation();
//解析Excel文件
try {
ebookImportList = ExcelUtil.importExcel(file.getInputStream(), ExcelBookImportVo.class, file.getOriginalFilename());
} catch (IOException e) {
e.printStackTrace();
}
// 验证数据
if (ebookImportList == null || ebookImportList.isEmpty()){
vo.setMsg("文件解析数据为0");
return vo;
}
ebookImportList.forEach(excelEbookImportVo -> {
if(StringUtils.isNoneBlank(excelEbookImportVo.getIsbn())){
try{
Example example = new Example(Book.class);
example.createCriteria().andEqualTo("isbn",excelEbookImportVo.getIsbn()).andEqualTo("name",excelEbookImportVo.getName());
Book book = bookMapper.selectOneByExample(example);
Ebook ebook = new Ebook();
BeanUtils.copyProperties(excelEbookImportVo, book);
if(StringUtils.isNotBlank(excelEbookImportVo.getCopyrightTerm())){
String[]str = excelEbookImportVo.getCopyrightTerm().split("至");
String copyrightTermBegin = str[0];
String copyrightTerm = str[1];
book.setCopyrightTerm(copyrightTerm);
book.setCopyrightTermBegin(copyrightTermBegin);
}
if(StringUtils.isNotBlank(excelEbookImportVo.getStatus())){
if("可售".equals(excelEbookImportVo.getStatus())){
book.setStatus(1);
}else if("不可售".equals(excelEbookImportVo.getStatus())){
book.setStatus(0);
}
}
if(StringUtils.isNotBlank(excelEbookImportVo.getType())){
if("本版书".equals(excelEbookImportVo.getType())){
book.setType(1);
}else if("外版书".equals(excelEbookImportVo.getType())){
book.setType(0);
}
}
if(StringUtils.isNotBlank(excelEbookImportVo.getPublishTime())){
book.setPublishTime(excelEbookImportVo.getPublishTime()+"-01");
}
BeanUtils.copyProperties(excelEbookImportVo, ebook);
bookMapper.updateByPrimaryKeySelective(book);
Ebook e = ebookMapper.selectByPrimaryKey(book.getId());
ebook.setId(book.getId());
if(StringUtils.isNotBlank(excelEbookImportVo.getRealPrice())){
ebook.setRealPrice(new BigDecimal(excelEbookImportVo.getRealPrice()));
}
if(StringUtils.isNotBlank(excelEbookImportVo.getEntityRealPrice())){
ebook.setEntityRealPrice(new BigDecimal(excelEbookImportVo.getEntityRealPrice()));
}
if(StringUtils.isNotBlank(excelEbookImportVo.getRealPrice()) && StringUtils.isNotBlank((excelEbookImportVo.getEntityRealPrice()))){
ebook.setRealPrice(new BigDecimal(excelEbookImportVo.getRealPrice()));
ebook.setEntityRealPrice(new BigDecimal(excelEbookImportVo.getEntityRealPrice()));
}
ebook.setUpdateTime(new Date());
ebookMapper.updateByPrimaryKeySelective(ebook);
if(ebook.getRealPrice() != null){
ebook.setBookType(1);
}
if(ebook.getEntityRealPrice() != null){
ebook.setBookType(2);
}
if(ebook.getEntityRealPrice() != null && ebook.getRealPrice() != null){
ebook.setBookType(0);
}
ebookMapper.updateByPrimaryKeySelective(ebook);
} catch (Exception e) {
throw new BaseException("导入图书名称:"+excelEbookImportVo.getName()+"-ISBN:"+excelEbookImportVo.getIsbn()+"的数据错误,请检查后导入");
}
}
});
return vo;
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论