| | |
| | | import cn.lili.common.security.context.UserContext; |
| | | import cn.lili.common.security.enums.UserEnums; |
| | | import cn.lili.modules.goods.entity.dos.*; |
| | | import cn.lili.modules.goods.entity.dto.GoodsOperationDTO; |
| | | import cn.lili.modules.goods.entity.dto.GoodsParamsDTO; |
| | | import cn.lili.modules.goods.entity.dto.GoodsSearchParams; |
| | | import cn.lili.modules.goods.entity.dto.GoodsSortDTO; |
| | | import cn.lili.modules.goods.entity.dto.*; |
| | | import cn.lili.modules.goods.entity.enums.GoodsAuthEnum; |
| | | import cn.lili.modules.goods.entity.enums.GoodsStatusEnum; |
| | | import cn.lili.modules.goods.entity.vos.GoodsSkuVO; |
| | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.apache.poi.ss.usermodel.Cell; |
| | | import org.apache.poi.ss.usermodel.Row; |
| | | import org.apache.poi.ss.usermodel.Sheet; |
| | | import org.apache.poi.xssf.usermodel.XSSFWorkbook; |
| | | import org.apache.rocketmq.spring.core.RocketMQTemplate; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import javax.servlet.ServletOutputStream; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.net.URLEncoder; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | |
| | | return this.page(PageUtil.initPage(goodsSearchParams), goodsSearchParams.queryWrapper()); |
| | | } |
| | | |
| | | @Override |
| | | public void queryExportGoods(HttpServletResponse response, GoodsSearchParams searchParams) { |
| | | List<Goods> list = this.list(searchParams.queryWrapper()); |
| | | |
| | | XSSFWorkbook workbook = initGoodsExportData(list); |
| | | try { |
| | | // 设置响应头 |
| | | String fileName = URLEncoder.encode("商品清单", "UTF-8"); |
| | | response.setContentType("application/vnd.ms-excel;charset=UTF-8"); |
| | | response.setHeader("Content-Disposition", "attachment;filename=" + fileName + ".xlsx"); |
| | | |
| | | ServletOutputStream out = response.getOutputStream(); |
| | | workbook.write(out); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } finally { |
| | | try { |
| | | workbook.close(); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | } |
| | | private XSSFWorkbook initGoodsExportData(List<Goods> list) { |
| | | List<GoodsExportDTO> goodsExportDTOs = new ArrayList<>(); |
| | | for (Goods goods : list) { |
| | | GoodsExportDTO goodsExportDTO = new GoodsExportDTO(); |
| | | BeanUtils.copyProperties(goods, goodsExportDTO); |
| | | goodsExportDTOs.add(goodsExportDTO); |
| | | } |
| | | |
| | | XSSFWorkbook workbook = new XSSFWorkbook(); |
| | | Sheet sheet = workbook.createSheet("商品清单"); |
| | | Row header = sheet.createRow(0); |
| | | String[] headers = {"商品名称", "商品编号", "价格", "销售模式", "商品类型", "状态", "审核状态", "店铺名称"}; |
| | | for (int i = 0; i < headers.length; i++) { |
| | | Cell cell = header.createCell(i); |
| | | cell.setCellValue(headers[i]); |
| | | } |
| | | for (int i = 0; i < goodsExportDTOs.size(); i++) { |
| | | GoodsExportDTO goodsExportDTO = goodsExportDTOs.get(i); |
| | | Row row = sheet.createRow(i + 1); |
| | | row.createCell(0).setCellValue(goodsExportDTO.getGoodsName()); |
| | | row.createCell(1).setCellValue(goodsExportDTO.getId()); |
| | | row.createCell(2).setCellValue(goodsExportDTO.getPrice()); |
| | | if ("RETAIL".equals(goodsExportDTO.getSalesModel())) { |
| | | row.createCell(3).setCellValue("零售"); |
| | | } else if ("WHOLESALE".equals(goodsExportDTO.getSalesModel())) { |
| | | row.createCell(3).setCellValue("批发"); |
| | | } else if ("PRESALE".equals(goodsExportDTO.getSalesModel())) { |
| | | row.createCell(3).setCellValue("预售"); |
| | | } else { |
| | | row.createCell(3).setCellValue("其他类型"); |
| | | } |
| | | |
| | | if ("PHYSICAL_GOODS".equals(goodsExportDTO.getGoodsType())) { |
| | | row.createCell(4).setCellValue("实物商品"); |
| | | } else if ("VIRTUAL_GOODS".equals(goodsExportDTO.getGoodsType())) { |
| | | row.createCell(4).setCellValue("虚拟商品"); |
| | | } else { |
| | | row.createCell(4).setCellValue("电子卡券"); |
| | | } |
| | | |
| | | if ("DOWN".equals(goodsExportDTO.getMarketEnable())) { |
| | | row.createCell(5).setCellValue("下架"); |
| | | } else if ("UPPER".equals(goodsExportDTO.getMarketEnable())) { |
| | | row.createCell(5).setCellValue("上架"); |
| | | } |
| | | |
| | | if ("TOBEAUDITED".equals(goodsExportDTO.getAuthFlag())) { |
| | | row.createCell(6).setCellValue("待审核"); |
| | | } else if ("PASS".equals(goodsExportDTO.getAuthFlag())) { |
| | | row.createCell(6).setCellValue("通过"); |
| | | } else if ("REFUSE".equals(goodsExportDTO.getAuthFlag())) { |
| | | row.createCell(6).setCellValue("拒绝"); |
| | | } |
| | | row.createCell(7).setCellValue(goodsExportDTO.getStoreName()); |
| | | |
| | | } |
| | | return workbook; |
| | | } |
| | | /** |
| | | * 商品查询 |
| | | * |
| | | *g |
| | | * @param goodsSearchParams 查询参数 |
| | | * @return 商品信息 |
| | | */ |
| | |
| | | this.baseMapper.addGoodsCommentNum(commentNum, goodsId); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 更新商品状态 |
| | | * |