Sfoglia il codice sorgente

产品管理增加按照id筛选导出数据

hejq 7 anni fa
parent
commit
1fb417ecdb

+ 30 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/controller/GoodsController.java

@@ -1,5 +1,6 @@
 package com.uas.platform.b2c.prod.commodity.controller;
 
+import com.alibaba.fastjson.JSON;
 import com.uas.platform.b2c.common.base.model.FileUpload;
 import com.uas.platform.b2c.core.support.SystemSession;
 import com.uas.platform.b2c.core.support.view.JxlsExcelView;
@@ -872,6 +873,35 @@ public class GoodsController {
         return modelAndView;
     }
 
+    /**
+     * 根据ID查询导出goods信息
+     *
+     * @param idStr 拼接的id
+     * @return ModelAndView
+     */
+    @RequestMapping(value = "/background/downloadByIds", method = RequestMethod.GET)
+    public ModelAndView exportProductsStandard(HttpServletRequest request, String idStr, @RequestParam(required = false, value = "isAjax", defaultValue = "false") Boolean isAjax) {
+        HttpSession session = request.getSession();
+        ModelAndView modelAndView = AjaxUtil.checkIsAjax(session, isAjax);
+        if (!modelAndView.isEmpty()) {
+            return modelAndView;
+        }
+        List<Long> idList = JSON.parseArray(idStr, Long.class);
+        List<Goods> privates = goodsService.findByIds(idList);
+        if (CollectionUtils.isNotEmpty(privates)) {
+            logger.info("产品导出结果 products: " + privates.size());
+        } else {
+            logger.info("产品导出结果 products为空");
+        }
+        FastDateFormat dateFormat = FastDateFormat.getInstance("yyyy年MM月dd日 HH:mm");
+        modelAndView.addObject("dateFormat", dateFormat);
+        modelAndView.addObject("data", privates);
+        modelAndView.addObject("title", "优软商城--产品库列表");
+        modelAndView.setView(new JxlsExcelView("classpath:jxls-tpl/trade/background", "优软商城--产品库列表"));
+        session.setAttribute("loading", false);
+        return modelAndView;
+    }
+
 	/**
 	 * 根据id返回一个Goods数据
 	 * @param goodsId

+ 29 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/controller/ProductController.java

@@ -553,4 +553,33 @@ public class ProductController {
         logger.info("后台产品管理", "根据id: " + productId + "返回product和goods数据");
         return productService.getProductAndGoodsById(productId);
     }
+
+    /**
+     * 根据ID查询导出products和goods信息
+     *
+     * @param idStr 拼接的id
+     * @return ModelAndView
+     */
+    @RequestMapping(value = "/background/downloadByIds", method = RequestMethod.GET)
+    public ModelAndView exportProductsStandard(HttpServletRequest request, String idStr, @RequestParam(required = false, value = "isAjax", defaultValue = "false") Boolean isAjax) {
+        HttpSession session = request.getSession();
+        ModelAndView modelAndView = AjaxUtil.checkIsAjax(session, isAjax);
+        if (!modelAndView.isEmpty()) {
+            return modelAndView;
+        }
+        List<Long> idList = JSON.parseArray(idStr, Long.class);
+        List<V_ProductPrivate> privates = productService.findProductAndGoodsByIds(idList);
+        if (CollectionUtils.isNotEmpty(privates)) {
+            logger.info("产品导出结果 products: " + privates.size());
+        } else {
+            logger.info("产品导出结果 products为空");
+        }
+        FastDateFormat dateFormat = FastDateFormat.getInstance("yyyy年MM月dd日 HH:mm");
+        modelAndView.addObject("dateFormat", dateFormat);
+        modelAndView.addObject("data", privates);
+        modelAndView.addObject("title", "优软商城--产品库列表");
+        modelAndView.setView(new JxlsExcelView("classpath:jxls-tpl/trade/product_background", "优软商城--产品库列表"));
+        session.setAttribute("loading", false);
+        return modelAndView;
+    }
 }

+ 7 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/service/GoodsService.java

@@ -866,4 +866,11 @@ public interface GoodsService {
      * @return Goods
      */
     Goods covertGoodsInfo(Goods goods);
+
+    /**
+     * 通过goods id查询goods信息
+     * @param idList goods idList
+     * @return List<Goods>
+     */
+    List<Goods> findByIds(List<Long> idList);
 }

+ 8 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/service/ProductService.java

@@ -421,4 +421,12 @@ public interface ProductService {
      * @return V_ProductPrivate
      */
     V_ProductPrivate getProductAndGoodsById(Long id);
+
+    /**
+     * 通过传入ID查询数据
+     *
+     * @param idList V_ProductPrivate的idList
+     * @return V_ProductPrivate
+     */
+    List<V_ProductPrivate> findProductAndGoodsByIds(List<Long> idList);
 }

+ 12 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/GoodsServiceImpl.java

@@ -4250,4 +4250,16 @@ public class GoodsServiceImpl implements GoodsService {
         }
     }
 
+    /**
+     * 通过goods id查询goods信息
+     *
+     * @param idList goods idList
+     * @return List<Goods>
+     */
+    @Override
+    public List<Goods> findByIds(List<Long> idList) {
+        List<Goods> goodsList = goodsDao.findAll(idList);
+        goodsList.forEach(goods ->  defineGoodsInfo(goods));
+        return goodsList;
+    }
 }

+ 22 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/ProductServiceImpl.java

@@ -2981,4 +2981,26 @@ public class ProductServiceImpl implements ProductService {
         }
         return productPrivate;
     }
+
+    /**
+     * 通过传入ID查询数据
+     *
+     * @param idList V_ProductPrivate的idList
+     * @return V_ProductPrivate
+     */
+    @Override
+    public List<V_ProductPrivate> findProductAndGoodsByIds(List<Long> idList) {
+        List<V_ProductPrivate> privates = v_productPrivateDao.findProductInId(idList);
+        privates.forEach(product -> {
+            List<Goods> goodsList = getGoodsByProductId(product.getId());
+            Enterprise enterprise = enterpriseService.getEnterpriseInfo(product.getEnUU());
+            product.setEnterpriseName(enterprise.getEnName());
+            if (CollectionUtils.isNotEmpty(goodsList)) {
+                Goods goods = goodsList.get(0);
+                goodsService.defineGoodsInfo(goods);
+                product.setGoods(goods);
+            }
+        });
+        return privates;
+    }
 }