Browse Source

新增大屏查询借口

ghost 4 years ago
parent
commit
6088e75723

+ 35 - 0
forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/controller/PmsProductBigDataController.java

@@ -0,0 +1,35 @@
+package com.hwrj.cloud.admin.controller;
+
+import com.hwrj.cloud.admin.dto.param.BigDataListInfoVo;
+import com.hwrj.cloud.admin.dto.param.BigDataListParam;
+import com.hwrj.cloud.admin.dto.param.BigDataListVo;
+import com.hwrj.cloud.admin.service.PmsProductService;
+import com.hwrj.cloud.common.api.CommonPage;
+import com.hwrj.cloud.common.api.CommonResult;
+import io.swagger.annotations.Api;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.io.IOException;
+import java.util.List;
+
+@RestController
+@RequestMapping("/bigData")
+public class PmsProductBigDataController {
+    @Autowired
+    private PmsProductService productService;
+
+    @GetMapping(value = "/product/list")
+    public CommonResult<CommonPage<BigDataListVo>> bigDataList(BigDataListParam bigDataListParam) throws IOException {
+        List<BigDataListVo> list = productService.bigDataList(bigDataListParam);
+        return CommonResult.success(CommonPage.restPage(list));
+    }
+
+    @GetMapping(value = "/product/info")
+    public CommonResult<BigDataListInfoVo> bigDatainfo(Long id) {
+        BigDataListInfoVo bigDataListInfoVo = productService.bigDatainfo(id);
+        return CommonResult.success(bigDataListInfoVo);
+    }
+}

+ 1 - 4
forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/controller/PmsProductController.java

@@ -4,8 +4,7 @@ package com.hwrj.cloud.admin.controller;
 import com.alibaba.excel.EasyExcel;
 import com.hwrj.cloud.admin.common.PmsProductOutput;
 import com.hwrj.cloud.admin.dao.PmsProductExcelDao;
-import com.hwrj.cloud.admin.dto.param.PmsProductExcel;
-import com.hwrj.cloud.admin.dto.param.PmsProductParam;
+import com.hwrj.cloud.admin.dto.param.*;
 import com.hwrj.cloud.admin.listener.PmsProductExcelListener;
 import com.hwrj.cloud.common.api.CommonPage;
 import com.hwrj.cloud.common.api.CommonResult;
@@ -169,6 +168,4 @@ public class PmsProductController {
         EasyExcel.read(file.getInputStream(), PmsProductExcel.class, basicExcelListener).headRowNumber(1).sheet().doRead();
         return CommonResult.success();
     }
-
-
 }

+ 7 - 0
forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/dao/PmsProductExcelDao.java

@@ -1,5 +1,8 @@
 package com.hwrj.cloud.admin.dao;
 
+import com.hwrj.cloud.admin.dto.param.BigDataListInfoVo;
+import com.hwrj.cloud.admin.dto.param.BigDataListParam;
+import com.hwrj.cloud.admin.dto.param.BigDataListVo;
 import com.hwrj.cloud.admin.dto.param.PmsProductParam;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -8,4 +11,8 @@ import java.util.List;
 @Mapper
 public interface PmsProductExcelDao {
     void saveData(@Param("list") List<PmsProductParam> list);
+
+    List<BigDataListVo> bigDataList(BigDataListParam bigDataListParam);
+
+    BigDataListInfoVo bigDatainfo(@Param("id")Long id);
 }

+ 41 - 0
forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/dto/param/BigDataListInfoVo.java

@@ -0,0 +1,41 @@
+package com.hwrj.cloud.admin.dto.param;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class BigDataListInfoVo {
+    /*主键*/
+    private long id;
+    /**名称**/
+    private String name;
+    /**图片**/
+    private String pic;
+    /**
+     * 品牌名称
+     **/
+    private String brandName;
+    /**价格**/
+    private BigDecimal price;
+    /**
+     * 供应商
+     **/
+    private String umsCompanyInfo;
+    /**
+     * 规格
+     */
+    private String spec;
+    /**
+     * 保质期
+     */
+    private String qualityGuaranteePeriod;
+    /**
+     * 产地
+     */
+    private String placeOfProduction;
+    /**
+     * 产品简介
+     */
+    private String description;
+}

+ 17 - 0
forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/dto/param/BigDataListParam.java

@@ -0,0 +1,17 @@
+package com.hwrj.cloud.admin.dto.param;
+
+import lombok.Data;
+
+@Data
+public class BigDataListParam {
+    private Integer pageSize;
+    private Integer pageNum;
+    /**
+     * 搜索框
+     */
+    private String  search;
+    /**
+     * 类别id
+     */
+    private Long brandId;
+}

+ 25 - 0
forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/dto/param/BigDataListVo.java

@@ -0,0 +1,25 @@
+package com.hwrj.cloud.admin.dto.param;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class BigDataListVo {
+    /*主键*/
+    private Long id;
+    /**名称**/
+    private String name;
+    /**图片**/
+    private String pic;
+    /**
+     * 品牌名称
+     **/
+    private String brandName;
+    /**价格**/
+    private BigDecimal price;
+    /**
+     * 供应商
+     **/
+    private String umsCompanyInfo;
+}

+ 5 - 1
forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/dto/param/PmsProductExcel.java

@@ -16,6 +16,10 @@ public class PmsProductExcel implements Serializable {
      * 品牌名称
      */
     private String brandName;
+    /**
+     * 类型名称
+     */
+    private String productCategoryName;
     /**
      * 商品图片
      */
@@ -32,7 +36,7 @@ public class PmsProductExcel implements Serializable {
     /**
      * 产品标准代号
      * */
-    private String productStandardCode;
+    private String productSn;
     /**
      * 零售价格
      */

+ 8 - 5
forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/dto/param/PmsProductParam.java

@@ -206,11 +206,6 @@ public class PmsProductParam {
      **/
     @ExcelProperty("规格")
     private String spec;
-    /**
-     * 产品标准代号
-     **/
-    @ExcelProperty("产品标准代号")
-    private String productStandardCode;
     /**
      * 生产日期
      **/
@@ -241,4 +236,12 @@ public class PmsProductParam {
      **/
     @ExcelProperty("保质期")
     private String qualityGuaranteePeriod;
+    /**
+     * 创建人
+     */
+    private Long createUser;
+    /**
+     * 创建时间
+     */
+    private Date createTime;
 }

+ 20 - 4
forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/listener/PmsProductExcelListener.java

@@ -10,11 +10,15 @@ import com.hwrj.cloud.security.util.SpringUtil;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
+import sun.plugin2.util.SystemUtil;
 
 import java.io.File;
 import java.math.BigDecimal;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /*
  * 监听器批处理数据
@@ -50,8 +54,6 @@ public class PmsProductExcelListener extends AnalysisEventListener<PmsProductExc
         PmsProductParam pmsProductParam=new PmsProductParam();
         BeanUtils.copyProperties(pmsProductExcel,pmsProductParam);
 
-
-        pmsProductParam.setProductSn(pmsProductExcel.getProductStandardCode());
         String name = pmsProductExcel.getName();
         //标题
         pmsProductParam.setDetailTitle(name);
@@ -60,14 +62,14 @@ public class PmsProductExcelListener extends AnalysisEventListener<PmsProductExc
         //关键字
         pmsProductParam.setKeywords(name);
 
-        String description = pmsProductExcel.getDescription();
+        String description = replaceBlank(pmsProductExcel.getDescription());
 
         //商品描述
         pmsProductParam.setDescription(description);
         //简述
         pmsProductParam.setSubTitle(description);
         //使用说明
-        String instructions = pmsProductExcel.getInstructions();
+        String instructions = replaceBlank(pmsProductExcel.getInstructions());
         //默认文本
         pmsProductParam.setDetailDesc(instructions);
         //web网页显示
@@ -77,6 +79,10 @@ public class PmsProductExcelListener extends AnalysisEventListener<PmsProductExc
         BigDecimal price = pmsProductExcel.getPrice();
         //市场价
         pmsProductParam.setOriginalPrice(price);
+        //创建人 admin 1
+        pmsProductParam.setCreateUser((long) 1);
+        //创建时间
+        pmsProductParam.setCreateTime(new Date());
         list.add(pmsProductParam);
         if (list.size() >= BATCH_COUNT) {
             saveData();
@@ -104,4 +110,14 @@ public class PmsProductExcelListener extends AnalysisEventListener<PmsProductExc
         }
 
     }
+
+    public static String replaceBlank(String str) {
+        String dest = "";
+        if (str!=null) {
+            Pattern p = Pattern.compile("\\s*|\t|\r|\n");
+            Matcher m = p.matcher(str);
+            dest = m.replaceAll("");
+        }
+        return dest;
+    }
 }

+ 7 - 0
forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/service/PmsProductService.java

@@ -4,6 +4,9 @@ import com.hwrj.cloud.admin.common.PmsProductOutput;
 import com.hwrj.cloud.admin.dto.PmsProductParam;
 import com.hwrj.cloud.admin.dto.PmsProductQueryParam;
 import com.hwrj.cloud.admin.dto.PmsProductResult;
+import com.hwrj.cloud.admin.dto.param.BigDataListInfoVo;
+import com.hwrj.cloud.admin.dto.param.BigDataListParam;
+import com.hwrj.cloud.admin.dto.param.BigDataListVo;
 import com.hwrj.cloud.admin.model.PmsProduct;
 import org.springframework.transaction.annotation.Isolation;
 import org.springframework.transaction.annotation.Propagation;
@@ -78,4 +81,8 @@ public interface PmsProductService {
      * @return
      */
     PmsProductOutput getProductByProductId(Long productId);
+
+    List<BigDataListVo> bigDataList(BigDataListParam bigDataListParam);
+
+    BigDataListInfoVo bigDatainfo(Long id);
 }

+ 1 - 0
forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/service/impl/CmsSubjectServiceImpl.java

@@ -66,6 +66,7 @@ public class CmsSubjectServiceImpl implements CmsSubjectService {
         CmsSubjectProductRelationExample subjectProductRelationExample = new CmsSubjectProductRelationExample();
         subjectProductRelationExample.createCriteria().andProductIdEqualTo(productId);
         subjectProductRelationMapper.deleteByExample(subjectProductRelationExample);
+
         subjectProductRelationDao.insertList(productRelationList);
     }
 

+ 19 - 0
forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/service/impl/PmsProductServiceImpl.java

@@ -6,6 +6,9 @@ import com.google.gson.Gson;
 import com.hwrj.cloud.admin.common.CmsPrefrenceAreaProductRelationInput;
 import com.hwrj.cloud.admin.common.CmsSubjectProductRelationInput;
 import com.hwrj.cloud.admin.common.PmsProductOutput;
+import com.hwrj.cloud.admin.dto.param.BigDataListInfoVo;
+import com.hwrj.cloud.admin.dto.param.BigDataListParam;
+import com.hwrj.cloud.admin.dto.param.BigDataListVo;
 import com.hwrj.cloud.admin.service.CmsPrefrenceAreaService;
 import com.hwrj.cloud.admin.service.CmsSubjectService;
 import com.hwrj.cloud.admin.dao.*;
@@ -20,6 +23,7 @@ import org.slf4j.LoggerFactory;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
 
@@ -147,6 +151,7 @@ public class PmsProductServiceImpl implements PmsProductService {
     }
 
     @Override
+    @Transactional
     public int update(Long id, PmsProductParam productParam) {
         int count;
         //更新商品信息
@@ -337,6 +342,8 @@ public class PmsProductServiceImpl implements PmsProductService {
         return pmsProductOutput;
     }
 
+
+
     /**
      * 建立和插入关系表操作
      *
@@ -360,5 +367,17 @@ public class PmsProductServiceImpl implements PmsProductService {
             throw new RuntimeException(e.getMessage());
         }
     }
+    @Autowired
+    private PmsProductExcelDao productExcelDao;
+
+    @Override
+    public List<BigDataListVo> bigDataList(BigDataListParam bigDataListParam) {
+        PageHelper.startPage(bigDataListParam.getPageNum(), bigDataListParam.getPageSize());
+        return productExcelDao.bigDataList(bigDataListParam);
+    }
+    @Override
+    public BigDataListInfoVo bigDatainfo(Long id){
+        return productExcelDao.bigDatainfo(id);
+    }
 
 }

+ 44 - 4
forest-admin/admin-server/src/main/resources/dao/ProductExcelDao.xml

@@ -49,13 +49,14 @@
             ums_company_info,
             trade_price,
             spec,
-            product_standard_code,
             date_of_manufacture,
             place_of_production_id,
             place_of_production,
             instructions,
             points_for_attention,
-            quality_guarantee_period)
+            quality_guarantee_period,
+            create_user,
+            create_time)
         VALUES
         <foreach collection="list" item="item" index="index" separator=",">
          <trim prefix="(" suffix=")" suffixOverrides=",">
@@ -104,14 +105,53 @@
              #{item.umsCompanyInfo},
              #{item.tradePrice},
              #{item.spec},
-             #{item.productStandardCode},
              #{item.dateOfManufacture},
              #{item.placeOfProductionId},
              #{item.placeOfProduction},
              #{item.instructions},
              #{item.pointsForAttention},
-             #{item.qualityGuaranteePeriod}
+             #{item.qualityGuaranteePeriod},
+             #{item.createUser},
+             #{item.createTime}
          </trim>
         </foreach>
     </insert>
+    <select id="bigDataList" resultType="com.hwrj.cloud.admin.dto.param.BigDataListVo">
+     SELECT
+        a.id,
+        a.`name` AS 'name',
+        a.pic AS pic,
+        a.brand_name AS brandName,
+        a.price AS price,
+        a.ums_company_info AS umsCompanyInfo
+    FROM
+        pms_product a
+    WHERE 1=1
+    <if test="brandId != null">
+        AND a.brand_id = #{brandId}
+    </if>
+    <if test="search != search and search != ''">
+        AND concat(a.`name`, a.brand_name) LIKE concat(concat('%', #{search}, '%'))
+    </if>
+    </select>
+
+    <select id="bigDatainfo" resultType="com.hwrj.cloud.admin.dto.param.BigDataListInfoVo" parameterType="java.lang.Long">
+        SELECT
+        a.id,
+        a.`name` AS 'name',
+        a.pic AS pic,
+        a.brand_name AS brandName,
+        a.price AS price,
+        a.spec AS spec,
+        a.quality_guarantee_period AS qualityGuaranteePeriod,
+        a.place_of_production AS placeOfProduction,
+        a.ums_company_info AS umsCompanyInfo,
+        a.description AS description
+        FROM
+        pms_product a
+        WHERE 1=1
+        <if test="id != null">
+            AND a.id = #{id}
+        </if>
+    </select>
 </mapper>