Forráskód Böngészése

fix 文章上传新增附件,新增小程序二维码查询

tjf 3 éve
szülő
commit
9e3639c70b

+ 1 - 1
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/ImageDataController.java

@@ -4,7 +4,7 @@ import java.util.List;
 import javax.servlet.http.HttpServletResponse;
 
 import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.system.domain.ImageDatas;
+import com.ruoyi.common.core.domain.entity.ImageDatas;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;

+ 12 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/QueryController.java

@@ -7,6 +7,7 @@ import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.entity.ColumnNavigationBar;
 import com.ruoyi.common.core.domain.entity.ColumnNews;
+import com.ruoyi.common.core.domain.entity.ImageDatas;
 import com.ruoyi.common.core.domain.entity.SysDictData;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.utils.StringUtils;
@@ -68,6 +69,16 @@ public class QueryController extends BaseController {
     }
 
 
+    /**
+     * 小程序根据二维码查询
+     */
+    @PostMapping("/queryQr")
+    public AjaxResult queryQr(ReportQueryLog reportQueryLog)
+    {
+        return queryService.queryQr(reportQueryLog);
+    }
+
+
     /**
      * 获取栏目导航下拉树列表
      */
@@ -234,4 +245,5 @@ public class QueryController extends BaseController {
         }
         return AjaxResult.success(data);
     }
+
 }

+ 14 - 0
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/ColumnNews.java

@@ -6,6 +6,7 @@ import com.ruoyi.common.annotation.Excel;
 import com.ruoyi.common.core.domain.BaseEntity;
 
 import java.util.Date;
+import java.util.List;
 
 /**
  * 新闻信息对象 column_news
@@ -79,6 +80,19 @@ public class ColumnNews extends BaseEntity
     @JsonFormat(pattern = "yyyy-MM-dd")
     private Date releaseTime;
 
+    /**
+     * 附件列表
+     */
+    private List<ImageDatas> imageDatasList;
+
+    public List<ImageDatas> getImageDatasList() {
+        return imageDatasList;
+    }
+
+    public void setImageDatasList(List<ImageDatas> imageDatasList) {
+        this.imageDatasList = imageDatasList;
+    }
+
     public static long getSerialVersionUID() {
         return serialVersionUID;
     }

+ 13 - 2
ruoyi-system/src/main/java/com/ruoyi/system/domain/ImageDatas.java → ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/ImageDatas.java

@@ -1,4 +1,4 @@
-package com.ruoyi.system.domain;
+package com.ruoyi.common.core.domain.entity;
 
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
@@ -17,6 +17,10 @@ public class ImageDatas extends BaseEntity
 
     /** 附件ID */
     private Long imageId;
+    /**
+     * 新闻id
+     */
+    private Integer newsId;
 
     /** 附件名称 */
     @Excel(name = "附件名称")
@@ -25,7 +29,6 @@ public class ImageDatas extends BaseEntity
     /** 附件内容 */
     @Excel(name = "附件内容")
     private String imageContent;
-
     /**
      * 附件简介
      */
@@ -44,6 +47,14 @@ public class ImageDatas extends BaseEntity
     @Excel(name = "是否删除", readConverterExp = "N=正常,Y=删除")
     private String isDel;
 
+    public Integer getNewsId() {
+        return newsId;
+    }
+
+    public void setNewsId(Integer newsId) {
+        this.newsId = newsId;
+    }
+
     public String getImageIntroduce() {
         return imageIntroduce;
     }

+ 1 - 1
ruoyi-system/src/main/java/com/ruoyi/system/mapper/ImageDataMapper.java

@@ -1,7 +1,7 @@
 package com.ruoyi.system.mapper;
 
 import java.util.List;
-import com.ruoyi.system.domain.ImageDatas;
+import com.ruoyi.common.core.domain.entity.ImageDatas;
 
 /**
  * 附件信息Mapper接口

+ 1 - 1
ruoyi-system/src/main/java/com/ruoyi/system/service/IImageDataService.java

@@ -1,7 +1,7 @@
 package com.ruoyi.system.service;
 
 import java.util.List;
-import com.ruoyi.system.domain.ImageDatas;
+import com.ruoyi.common.core.domain.entity.ImageDatas;
 
 /**
  * 附件信息Service接口

+ 7 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/IQueryService.java

@@ -17,6 +17,13 @@ public interface IQueryService {
      */
     AjaxResult selectReport (ReportQueryLog reportQueryLog);
 
+    /**
+     * 小程序根据二维码查询
+     * @param reportQueryLog
+     * @return
+     */
+    AjaxResult queryQr (ReportQueryLog reportQueryLog);
+
 
     /**
      * 发送查询码

+ 44 - 25
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ColumnNewsServiceImpl.java

@@ -1,7 +1,10 @@
 package com.ruoyi.system.service.impl;
 
 import java.util.List;
+
+import com.ruoyi.common.core.domain.entity.ImageDatas;
 import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.system.mapper.ImageDataMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ruoyi.system.mapper.ColumnNewsMapper;
@@ -10,30 +13,32 @@ import com.ruoyi.system.service.IColumnNewsService;
 
 /**
  * 新闻信息Service业务层处理
- * 
+ *
  * @author boman
  * @date 2021-12-24
  */
 @Service
-public class ColumnNewsServiceImpl implements IColumnNewsService 
-{
+public class ColumnNewsServiceImpl implements IColumnNewsService {
     @Autowired
     private ColumnNewsMapper columnNewsMapper;
 
+    @Autowired
+    private ImageDataMapper imageDataMapper;
+
     /**
      * 查询新闻信息
-     * 
+     *
      * @param newsId 新闻信息主键
      * @return 新闻信息
      */
     @Override
-    public ColumnNews selectColumnNewsByNewsId(Integer newsId)
-    {
+    public ColumnNews selectColumnNewsByNewsId(Integer newsId) {
         return columnNewsMapper.selectColumnNewsByNewsId(newsId);
     }
 
     /**
      * 门户查询新闻信息
+     *
      * @param newsId
      * @return
      */
@@ -41,7 +46,7 @@ public class ColumnNewsServiceImpl implements IColumnNewsService
     public ColumnNews selectColumnNewsDetailMenHu(Integer newsId) {
         ColumnNews columnNews = columnNewsMapper.selectColumnNewsDetailMenHu(newsId);
         Integer viewsNum = columnNews.getViewsNum();
-        if (viewsNum != null){
+        if (viewsNum != null) {
             columnNews.setViewsNum(viewsNum + 1);
         }
         columnNewsMapper.updateColumnNews(columnNews);
@@ -50,13 +55,12 @@ public class ColumnNewsServiceImpl implements IColumnNewsService
 
     /**
      * 查询新闻信息列表
-     * 
+     *
      * @param columnNews 新闻信息
      * @return 新闻信息
      */
     @Override
-    public List<ColumnNews> selectColumnNewsList(ColumnNews columnNews)
-    {
+    public List<ColumnNews> selectColumnNewsList(ColumnNews columnNews) {
         return columnNewsMapper.selectColumnNewsList(columnNews);
     }
 
@@ -67,62 +71,76 @@ public class ColumnNewsServiceImpl implements IColumnNewsService
      * @return 新闻信息
      */
     @Override
-    public List<ColumnNews> selectColumnNewsListMenHu(ColumnNews columnNews)
-    {
+    public List<ColumnNews> selectColumnNewsListMenHu(ColumnNews columnNews) {
         return columnNewsMapper.selectColumnNewsListMenHu(columnNews);
     }
+
     /**
      * 新增新闻信息
-     * 
+     *
      * @param columnNews 新闻信息
      * @return 结果
      */
     @Override
-    public int insertColumnNews(ColumnNews columnNews)
-    {
+    public int insertColumnNews(ColumnNews columnNews) {
         columnNews.setCreateTime(DateUtils.getNowDate());
-        return columnNewsMapper.insertColumnNews(columnNews);
+        int i = columnNewsMapper.insertColumnNews(columnNews);
+        //新增附件信息
+        //判断附件信息是否存在
+        List<ImageDatas> imageDatasList = columnNews.getImageDatasList();
+        if (imageDatasList != null && imageDatasList.size() > 0) {
+            for (ImageDatas imageDatas : imageDatasList) {
+                imageDatas.setNewsId(columnNews.getNewsId());
+                imageDataMapper.insertImageDatas(imageDatas);
+            }
+        }
+        return i;
     }
 
     /**
      * 修改新闻信息
-     * 
+     *
      * @param columnNews 新闻信息
      * @return 结果
      */
     @Override
-    public int updateColumnNews(ColumnNews columnNews)
-    {
+    public int updateColumnNews(ColumnNews columnNews) {
         columnNews.setUpdateTime(DateUtils.getNowDate());
+        //判断附件信息是否存在
+        List<ImageDatas> imageDatasList = columnNews.getImageDatasList();
+        if (imageDatasList != null && imageDatasList.size() > 0) {
+            for (ImageDatas imageDatas : imageDatasList) {
+                imageDataMapper.updateImageDatas(imageDatas);
+            }
+        }
         return columnNewsMapper.updateColumnNews(columnNews);
     }
 
     /**
      * 批量删除新闻信息
-     * 
+     *
      * @param newsIds 需要删除的新闻信息主键
      * @return 结果
      */
     @Override
-    public int deleteColumnNewsByNewsIds(Integer[] newsIds)
-    {
+    public int deleteColumnNewsByNewsIds(Integer[] newsIds) {
         return columnNewsMapper.deleteColumnNewsByNewsIds(newsIds);
     }
 
     /**
      * 删除新闻信息信息
-     * 
+     *
      * @param newsId 新闻信息主键
      * @return 结果
      */
     @Override
-    public int deleteColumnNewsByNewsId(Integer newsId)
-    {
+    public int deleteColumnNewsByNewsId(Integer newsId) {
         return columnNewsMapper.deleteColumnNewsByNewsId(newsId);
     }
 
     /**
      * 审核通过
+     *
      * @param newsId
      * @return
      */
@@ -134,6 +152,7 @@ public class ColumnNewsServiceImpl implements IColumnNewsService
 
     /**
      * 获取首页轮播图
+     *
      * @return
      */
     @Override

+ 1 - 1
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ImageDataServiceImpl.java

@@ -2,7 +2,7 @@ package com.ruoyi.system.service.impl;
 
 import java.util.List;
 import com.ruoyi.common.utils.DateUtils;
-import com.ruoyi.system.domain.ImageDatas;
+import com.ruoyi.common.core.domain.entity.ImageDatas;
 import com.ruoyi.system.mapper.ImageDataMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;

+ 48 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/QueryServiceImpl.java

@@ -92,6 +92,54 @@ public class QueryServiceImpl implements IQueryService {
         return AjaxResult.success();
     }
 
+    /**
+     * 小程序根据二维码查询
+     * @param reportQueryLog
+     * @return
+     */
+    @Override
+    public AjaxResult queryQr(ReportQueryLog reportQueryLog) {
+        String qrImage = reportQueryLog.getQrImage();
+        String remark = "";
+        if (StringUtils.isBlank(qrImage)) {
+            remark = "未接收到二维码";
+            reportQueryLog.setRemark(remark);
+            reportQueryLogMapper.insertReportQueryLog(reportQueryLog);
+            return AjaxResult.error(remark);
+        }
+        try {
+            //解析二维码
+            String reportNumber = QRCodeUtils.decode(qrImage);
+            if (StringUtils.isBlank(reportNumber)) {
+                remark = "二维码解析失败";
+                reportQueryLog.setRemark(remark);
+                reportQueryLogMapper.insertReportQueryLog(reportQueryLog);
+                return AjaxResult.error(remark);
+            }
+/*            //查询二维码有效期
+            String verifyKey = UserConstants.QR_IMAGE + reportNumber;
+            Object cacheObject = redisCache.getCacheObject(verifyKey);
+            if (cacheObject == null) {
+                remark = "二维码已过期";
+                reportQueryLog.setRemark(remark);
+                reportQueryLogMapper.insertReportQueryLog(reportQueryLog);
+                return AjaxResult.error(remark);
+            }*/
+            ReportDetail reportDetail = reportDetailMapper.selectReportDetailByReportNumber(reportNumber);
+            if (reportDetail != null) {
+                reportDetail.setReportUrl(null);
+                reportQueryLog.setIsSuccess("Y");
+                reportQueryLog.setRemark(UserConstants.QUERY_SUCCESS);
+                reportQueryLogMapper.insertReportQueryLog(reportQueryLog);
+                return AjaxResult.success(reportDetail);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            return AjaxResult.error("未查询到对应信息");
+        }
+        return AjaxResult.error("未查询到对应信息");
+    }
+
     /**
      * 发送短信验证码
      *

+ 26 - 2
ruoyi-system/src/main/resources/mapper/system/ColumnNewsMapper.xml

@@ -25,6 +25,24 @@
         <result property="updateBy" column="update_by"/>
         <result property="updateTime" column="update_time"/>
         <result property="remark" column="remark"/>
+        <collection  property="imageDatasList"   javaType="java.util.List"        resultMap="ImageDataResult" />
+
+    </resultMap>
+
+    <resultMap type="com.ruoyi.common.core.domain.entity.ImageDatas" id="ImageDataResult">
+        <result property="imageId" column="image_id"/>
+        <result property="newsId" column="news_id"/>
+        <result property="imageName" column="image_name"/>
+        <result property="imageContent" column="image_content"/>
+        <result property="imageIntroduce" column="image_introduce"/>
+        <result property="status" column="status"/>
+        <result property="type" column="type"/>
+        <result property="isDel" column="is_del"/>
+        <result property="createBy" column="create_by"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateBy" column="update_by"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="remark" column="remark"/>
     </resultMap>
 
     <sql id="selectColumnNewsVo">
@@ -73,12 +91,18 @@
     </select>
 
     <select id="selectColumnNewsByNewsId" parameterType="Integer" resultMap="ColumnNewsResult">
-        <include refid="selectColumnNewsVo"/>
+        select n.news_id, n.news_title, n.column_id, n.news_content,n.is_top,n.is_rotation,n.views_num,n.reprint_url,n.author, n.status,n.release_time,  n.reason, n.create_by, n.create_time, n.update_by, n.update_time, n.remark, n.news_image,c.column_name,
+        i.image_id, i.image_name,i.image_content,i.image_introduce
+        from column_news n
+        left join column_navigation_bar c on n.column_id = c.column_id
+        left join image_data i on n.news_id = i.news_id
         where n.news_id = #{newsId}
     </select>
 
     <select id="selectColumnNewsDetailMenHu" parameterType="Integer" resultMap="ColumnNewsResult">
-        select n.news_id, n.news_title, n.column_id, n.news_content,n.is_rotation,n.views_num,n.reprint_url,n.author, n.status,n.release_time,  n.reason, n.create_by, n.create_time, n.update_by, n.update_time, n.remark,n.news_image from column_news n
+        select n.news_id, n.news_title, n.column_id, n.news_content,n.is_rotation,n.views_num,n.reprint_url,n.author, n.status,n.release_time,  n.reason, n.create_by, n.create_time, n.update_by, n.update_time, n.remark,n.news_image,
+        i.image_id, i.image_name,i.image_content,i.image_introduce
+        from column_news n left join image_data i on n.news_id = i.news_id
         where n.news_id = #{newsId}  order by n.create_time DESC,n.update_time DESC
     </select>
 

+ 6 - 2
ruoyi-system/src/main/resources/mapper/system/ImageDataMapper.xml

@@ -4,8 +4,9 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.system.mapper.ImageDataMapper">
 
-    <resultMap type="ImageDatas" id="ImageDataResult">
+    <resultMap type="com.ruoyi.common.core.domain.entity.ImageDatas" id="ImageDataResult">
         <result property="imageId" column="image_id"/>
+        <result property="newsId" column="news_id"/>
         <result property="imageName" column="image_name"/>
         <result property="imageContent" column="image_content"/>
         <result property="imageIntroduce" column="image_introduce"/>
@@ -20,7 +21,7 @@
     </resultMap>
 
     <sql id="selectImageDataVo">
-        select image_id, image_name, image_content, image_introduce, status, type, is_del, create_by, create_time, update_by, update_time, remark from image_data
+        select image_id,news_id, image_name, image_content, image_introduce, status, type, is_del, create_by, create_time, update_by, update_time, remark from image_data
     </sql>
 
     <select id="selectImageDatasList" parameterType="ImageDatas" resultMap="ImageDataResult">
@@ -51,6 +52,7 @@
     <insert id="insertImageDatas" parameterType="ImageDatas" useGeneratedKeys="true" keyProperty="imageId">
         insert into image_data
         <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="imageId != null and imageId != ''">image_id,</if>
             <if test="imageName != null and imageName != ''">image_name,</if>
             <if test="imageContent != null">image_content,</if>
             <if test="imageIntroduce != null">image_introduce,</if>
@@ -64,6 +66,7 @@
             <if test="remark != null">remark,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="imageId != null and imageId != ''">#{imageId},</if>
             <if test="imageName != null and imageName != ''">#{imageName},</if>
             <if test="imageContent != null">#{imageContent},</if>
             <if test="imageIntroduce != null">#{imageIntroduce},</if>
@@ -81,6 +84,7 @@
     <update id="updateImageDatas" parameterType="ImageDatas">
         update image_data
         <trim prefix="SET" suffixOverrides=",">
+            <if test="imageId != null and imageId != ''">image_id = #{imageId},</if>
             <if test="imageName != null and imageName != ''">image_name = #{imageName},</if>
             <if test="imageContent != null">image_content = #{imageContent},</if>
             <if test="imageIntroduce != null">image_introduce = #{imageIntroduce},</if>