From 4cb51a8d6a46993cb30e22dcbaf85424a0ba9d43 Mon Sep 17 00:00:00 2001
From: tangxiaobao <303826152@qq.com>
Date: 星期四, 19 八月 2021 18:14:54 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/test' into txb

---
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/questnaire/QuestnaireListVo.java                |    9 +
 springcloud_k8s_panzhihuazhihuishequ/pom.xml                                                                                                       |    8 +
 springcloud_k8s_panzhihuazhihuishequ/community_backstage/pom.xml                                                                                   |    5 
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActQuestnaireAppVO.java                      |    6 +
 springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/CommunityConvenientApi.java           |   56 +++++---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActQuestnaireDOMapper.xml                                      |    4 
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActQuestnaireServiceImpl.java |   39 ++++++
 springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/CommunityQuestnaireApi.java                                   |   16 ++
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java                             |   17 ++
 springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/config/MinioUtil.java                     |  131 +++++++++++++++++++++
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java                         |   10 +
 springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/config/MinioConfig.java                   |   30 +++++
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActQuestnaireDAO.java                  |   11 +
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActQuestnaireService.java          |    4 
 14 files changed, 323 insertions(+), 23 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/CommunityQuestnaireApi.java b/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/CommunityQuestnaireApi.java
index e516a9e..ab4409e 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/CommunityQuestnaireApi.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/CommunityQuestnaireApi.java
@@ -71,4 +71,20 @@
 
     }
 
+    @ApiOperation(value = "添加浏览量")
+    @GetMapping("/add/view")
+    public R addView(@RequestParam("questId") Long questId) {
+        return communityService.addView(questId);
+    }
+
+    @ApiOperation(value = "用户弹窗添加不在提醒接口")
+    @GetMapping("/add/noNotice")
+    public R addNoNotice(@RequestParam("questId") Long questId) {
+        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
+        if(loginUserInfo == null){
+            return R.fail("请先登录");
+        }
+        return communityService.addNoNotice(questId,loginUserInfo.getUserId());
+    }
+
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActQuestnaireAppVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActQuestnaireAppVO.java
index 89dcba2..70666fe 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActQuestnaireAppVO.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActQuestnaireAppVO.java
@@ -28,4 +28,10 @@
     private Integer adverPositionApplication;
     @ApiModelProperty("是否显示提醒(1.是 2.否)")
     private Integer isDisplay = 2;
+    @ApiModelProperty("提供居民(1.是 2.否 )")
+    private Integer forMasses;
+    @ApiModelProperty("提供党员(1.是 2.否 )")
+    private Integer forParty;
+    @ApiModelProperty("提供志愿者(1.是 2.否 )")
+    private Integer forVolunteer;
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/questnaire/QuestnaireListVo.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/questnaire/QuestnaireListVo.java
index 9fe2c41..7705acf 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/questnaire/QuestnaireListVo.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/questnaire/QuestnaireListVo.java
@@ -38,4 +38,13 @@
     @ApiModelProperty("是否封面(1.是 2.否)")
     private Integer isCover;
 
+    @ApiModelProperty("提供居民(1.是 2.否)")
+    private Integer forMasses;
+
+    @ApiModelProperty("提供党员(1.是 2.否)")
+    private Integer forParty;
+
+    @ApiModelProperty("提供志愿者(1.是 2.否)")
+    private Integer forVolunteer;
+
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
index eb57636..31c40fc 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
@@ -1971,6 +1971,23 @@
     R viewDetail(@RequestParam("userId") Long userId, @RequestParam("questId") Long questId);
 
     /**
+     * 小程序-新增问卷调查浏览数量
+     * @param questId   问卷调查id
+     * @return  增加结果
+     */
+    @GetMapping("/questnaire/add/view")
+    R addView(@RequestParam("questId") Long questId);
+
+    /**
+     * 小程序-用户弹窗添加不在提醒接口
+     * @param questId   问卷id
+     * @param userId    用户id
+     * @return  添加结果
+     */
+    @GetMapping("/questnaire/add/noNotice")
+    R addNoNotice(@RequestParam("questId") Long questId,@RequestParam("userId") Long userId);
+
+    /**
      * 社区后台-查询问卷调查详情
      * @param questId   问卷id
      * @return  问卷调查详情
diff --git a/springcloud_k8s_panzhihuazhihuishequ/community_backstage/pom.xml b/springcloud_k8s_panzhihuazhihuishequ/community_backstage/pom.xml
index 6477a5e..8880d0e 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/community_backstage/pom.xml
+++ b/springcloud_k8s_panzhihuazhihuishequ/community_backstage/pom.xml
@@ -62,6 +62,11 @@
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-actuator</artifactId>
         </dependency>
+        <!--minio文件存储-->
+        <dependency>
+            <groupId>io.minio</groupId>
+            <artifactId>minio</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/CommunityConvenientApi.java b/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/CommunityConvenientApi.java
index 50be70a..3423713 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/CommunityConvenientApi.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/CommunityConvenientApi.java
@@ -1,23 +1,21 @@
 package com.panzhihua.community_backstage.api;
 
 import com.alibaba.excel.EasyExcel;
-import com.alibaba.excel.ExcelWriter;
-import com.alibaba.excel.write.metadata.WriteSheet;
-import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
-import com.alibaba.fastjson.JSONArray;
 import com.jcraft.jsch.SftpException;
 import com.panzhihua.common.constants.FtpConstants;
 import com.panzhihua.common.controller.BaseController;
-import com.panzhihua.common.model.dtos.community.*;
-import com.panzhihua.common.model.dtos.user.EexcelUserDTO;
+import com.panzhihua.common.listen.ComCvtServeExcelListen;
+import com.panzhihua.common.model.dtos.community.ComCvtBusinessDTO;
+import com.panzhihua.common.model.dtos.community.ComCvtServeDTO;
+import com.panzhihua.common.model.dtos.community.PageComCvtBusinessDTO;
+import com.panzhihua.common.model.dtos.community.PageComCvtServeDTO;
 import com.panzhihua.common.model.vos.LoginUserInfoVO;
 import com.panzhihua.common.model.vos.R;
 import com.panzhihua.common.model.vos.community.*;
 import com.panzhihua.common.service.community.CommunityService;
-import com.panzhihua.common.listen.ComCvtServeExcelListen;
 import com.panzhihua.common.utlis.SFTPUtil;
 import com.panzhihua.common.validated.AddGroup;
-import com.panzhihua.community_backstage.excel.CustomSheetWriteHandler;
+import com.panzhihua.community_backstage.config.MinioUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
@@ -30,11 +28,8 @@
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import java.io.File;
-import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
-import java.util.List;
 import java.util.UUID;
 
 /**
@@ -52,7 +47,7 @@
     private CommunityService communityService;
 
     @Value("${excel.convenientUrl}")
-    private String excelConvenientUrl="http://panzhihua.nhys.cdnhxx.com/web/bianminfuwudaoru.xlsx";
+    private String excelConvenientUrl = "http://panzhihua.nhys.cdnhxx.com/web/bianminfuwudaoru.xlsx";
 
     @Value("${excel.userurl}")
     private String excelUrl;
@@ -72,7 +67,10 @@
     @Value("${ftp.url}")
     private String url;
 
-    @ApiOperation(value = "分页查询便民服务商家",response = ComCvtBusinessVO.class)
+    @Resource
+    private MinioUtil minioUtil;
+
+    @ApiOperation(value = "分页查询便民服务商家", response = ComCvtBusinessVO.class)
     @PostMapping("/business/page")
     public R pageComCvtBusiness(@RequestBody PageComCvtBusinessDTO pageComCvtBusinessDTO) {
         Long communityId = this.getCommunityId();
@@ -91,9 +89,9 @@
         return communityService.addComCvtBusiness(comCvtBusinessDTO);
     }
 
-    @ApiOperation(value = "社区下拉列表" ,response = ComActVO.class)
+    @ApiOperation(value = "社区下拉列表", response = ComActVO.class)
     @GetMapping("/community")
-    public R listCommunity(){
+    public R listCommunity() {
         return communityService.listCommunityAll();
     }
 
@@ -116,13 +114,13 @@
         return communityService.deleteComCvtBusiness(id);
     }
 
-    @ApiOperation(value = "分页查询便民服务",response = ComCvtServeVO.class)
+    @ApiOperation(value = "分页查询便民服务", response = ComCvtServeVO.class)
     @PostMapping("/serve/page")
     public R pageComCvtServe(@RequestBody PageComCvtServeDTO pageComCvtServeDTO) {
         return communityService.pageComCvtServe(pageComCvtServeDTO);
     }
 
-    @ApiOperation(value = "查询便民服务所有分类,下拉框",response = ComCvtCategoryVO.class)
+    @ApiOperation(value = "查询便民服务所有分类,下拉框", response = ComCvtCategoryVO.class)
     @PostMapping("/category/all")
     public R allComCvtCategory() {
         return communityService.allComCvtCategory();
@@ -143,7 +141,7 @@
         return communityService.putComCvtServe(comCvtServeDTO);
     }
 
-    @ApiOperation(value = "查询便民服务详情",response = ComCvtServeVO.class)
+    @ApiOperation(value = "查询便民服务详情", response = ComCvtServeVO.class)
     @GetMapping("/serve/get")
     public R getComCvtServe(@RequestParam("id") Long id) {
         return communityService.getComCvtServe(id);
@@ -165,9 +163,9 @@
     @PostMapping(value = "/upload/file", consumes = "multipart/*", headers = "content-type=multipart/form-date")
     public R uploadImage(@RequestParam MultipartFile file, HttpServletRequest request) {
         String extension = FilenameUtils.getExtension(file.getOriginalFilename());
-        String name= UUID.randomUUID().toString().replaceAll("-","")+"."+extension;
+        String name = UUID.randomUUID().toString().replaceAll("-", "") + "." + extension;
         try {
-            SFTPUtil sftp = new SFTPUtil(userName,password,host,port);
+            SFTPUtil sftp = new SFTPUtil(userName, password, host, port);
             sftp.login();
             InputStream is = file.getInputStream();
             sftp.uploadMore(FtpConstants.FTPFILEPATH_IDCARD, name, is);
@@ -179,15 +177,29 @@
         }
     }
 
+    @ApiOperation(value = "minio上传文件测试")
+    @PostMapping(value = "/minio/upload/file", consumes = "multipart/*", headers = "content-type=multipart/form-date")
+    public R minipuploadImage(@RequestParam MultipartFile file, HttpServletRequest request) {
+        try {
+            String extension = FilenameUtils.getExtension(file.getOriginalFilename());
+            String name = UUID.randomUUID().toString().replaceAll("-", "") + "." + extension;
+            String imageUrl = minioUtil.upload(file, name);
+            return R.ok(imageUrl);
+        } catch (Exception e) {
+            log.error("上传照片失败【{}】", e.getMessage());
+            return R.fail();
+        }
+    }
+
     @ApiOperation(value = "excel导入便民服务")
     @PostMapping(value = "/serve/import", consumes = "multipart/*", headers = "content-type=multipart/form-date")
     public R downloadTemplate(@RequestParam MultipartFile file, HttpServletRequest request) {
         String fileName = file.getOriginalFilename();  //获取文件名
-        log.info("传入文件名字【{}】",fileName);
+        log.info("传入文件名字【{}】", fileName);
         InputStream inputStream = null;
         try {
             inputStream = file.getInputStream();
-            EasyExcel.read(inputStream, ComCvtServeExcelVO.class, new ComCvtServeExcelListen(communityService,this.getCommunityId())).sheet().doRead();
+            EasyExcel.read(inputStream, ComCvtServeExcelVO.class, new ComCvtServeExcelListen(communityService, this.getCommunityId())).sheet().doRead();
         } catch (IOException e) {
             e.printStackTrace();
             log.error("导入模板失败【{}】", e.getMessage());
diff --git a/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/config/MinioConfig.java b/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/config/MinioConfig.java
new file mode 100644
index 0000000..afd5c3c
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/config/MinioConfig.java
@@ -0,0 +1,30 @@
+package com.panzhihua.community_backstage.config;
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * program 攀枝花智慧社区项目
+ * description minio存储信息配置
+ *
+ * @author manailin
+ * Date 2021-08-19 15:30
+ **/
+@Data
+@ConfigurationProperties(prefix = "minio")
+public class MinioConfig {
+
+    private String host;
+
+    private String accessKey;
+
+    private String secretKey;
+
+    private String url;
+
+    private String bucket;
+
+    private String aliasName;
+
+    private String aliasPCName;
+}
\ No newline at end of file
diff --git a/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/config/MinioUtil.java b/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/config/MinioUtil.java
new file mode 100644
index 0000000..38fa9fc
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/config/MinioUtil.java
@@ -0,0 +1,131 @@
+package com.panzhihua.community_backstage.config;
+
+import io.minio.MinioClient;
+import io.minio.ObjectStat;
+import org.apache.commons.io.IOUtils;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.stereotype.Component;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URLEncoder;
+import java.util.UUID;
+
+/**
+ * program 攀枝花智慧社区项目
+ * description minio工具类
+ *
+ * @author manailin
+ * Date 2021-08-19 15:30
+ **/
+@Component
+@EnableConfigurationProperties(MinioConfig.class)
+public class MinioUtil {
+
+    @Resource
+    private MinioConfig minioProperties;
+
+    /**
+     * 文件上传
+     *
+     * @param file 要上传的文件
+     * @return
+     */
+    public String upload(MultipartFile file, String name) {
+        if (null != file) {
+            try {
+                UUID uuid = UUID.randomUUID();
+                StringBuilder s = new StringBuilder();
+                s.append(uuid.toString().replace("-", "")).append("/");
+                MinioClient minioClient = new MinioClient(minioProperties.getHost(),
+                        minioProperties.getAccessKey(),
+                        minioProperties.getSecretKey());
+                // bucket 不存在,创建
+                if (!minioClient.bucketExists(minioProperties.getBucket())) {
+                    minioClient.makeBucket(minioProperties.getBucket());
+                }
+                //得到文件流
+                InputStream input = file.getInputStream();
+                //文件名
+                //String fileName = uuid + "/images." + FilenameUtils.getExtension(file.getOriginalFilename());
+                String fileName = s.append(name).toString();
+                String contentType = file.getContentType();
+                minioClient.putObject(minioProperties.getBucket(), fileName, input, contentType);
+                StringBuilder fileUrl = new StringBuilder(minioProperties.getUrl());
+                String url = fileUrl.append(fileName).toString();
+                return url;
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+        return null;
+    }
+
+
+    /**
+     * 文件下载
+     *
+     * @param response
+     * @param url
+     */
+    public void download(HttpServletResponse response, String url) {
+        // 从链接中得到文件名
+        String replace = url.replace(minioProperties.getBucket() + "/", "#");
+        String fileName = replace.split("#")[1];
+        InputStream inputStream;
+        try {
+            MinioClient minioClient = new MinioClient(minioProperties.getHost(),
+                    minioProperties.getAccessKey(),
+                    minioProperties.getSecretKey());
+            ObjectStat stat = minioClient.statObject(minioProperties.getBucket(), fileName);
+            inputStream = minioClient.getObject(minioProperties.getBucket(), fileName);
+            response.setContentType(stat.contentType());
+            response.setCharacterEncoding("UTF-8");
+            response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));
+            IOUtils.copy(inputStream, response.getOutputStream());
+            inputStream.close();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+    }
+
+    /**
+     * 文件下载
+     *
+     * @param response
+     * @param url
+     */
+    public byte[] getBytes(HttpServletResponse response, String url) {
+        // 从链接中得到文件名
+        String replace = url.replace(minioProperties.getBucket() + "/", "#");
+        String fileName = replace.split("#")[1];
+        InputStream inputStream;
+        byte[] bytes = new byte[0];
+        try {
+            MinioClient minioClient = new MinioClient(minioProperties.getHost(),
+                    minioProperties.getAccessKey(),
+                    minioProperties.getSecretKey());
+            inputStream = minioClient.getObject(minioProperties.getBucket(), fileName);
+            bytes = toByteArray(inputStream);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return bytes;
+    }
+
+    public static byte[] toByteArray(InputStream input) throws IOException {
+        ByteArrayOutputStream output = new ByteArrayOutputStream();
+        byte[] buffer = new byte[4096];
+        int n = 0;
+        while (-1 != (n = input.read(buffer))) {
+            output.write(buffer, 0, n);
+        }
+        return output.toByteArray();
+    }
+}
+
diff --git a/springcloud_k8s_panzhihuazhihuishequ/pom.xml b/springcloud_k8s_panzhihuazhihuishequ/pom.xml
index 63d76d4..5f4f459 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/pom.xml
+++ b/springcloud_k8s_panzhihuazhihuishequ/pom.xml
@@ -42,6 +42,7 @@
         <spring-cloud-starter-netflix-hystrix.version>2.2.6.RELEASE</spring-cloud-starter-netflix-hystrix.version>
         <spring-boot-starter-data-redis.version>2.4.0</spring-boot-starter-data-redis.version>
         <springfox-boot-starter.version>3.0.0</springfox-boot-starter.version>
+        <minio.version>6.0.8</minio.version>
     </properties>
 
     <!-- 依赖声明 -->
@@ -196,7 +197,12 @@
                 <artifactId>spring-boot-starter-actuator</artifactId>
                 <version>2.3.4.RELEASE</version>
             </dependency>
-
+           <!--minio文件存储-->
+            <dependency>
+                <groupId>io.minio</groupId>
+                <artifactId>minio</artifactId>
+                <version>8.0.3</version>
+            </dependency>
         </dependencies>
     </dependencyManagement>
 
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java
index fd8ae37..daf0835 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java
@@ -1551,6 +1551,11 @@
         return comActQuestnaireService.usersAnsweQuestnaire(usersAnswerQuestnaireVO);
     }
 
+    @GetMapping("questnaire/add/noNotice")
+    public R addNoNotice(@RequestParam("questId") Long questId,@RequestParam("userId") Long userId){
+        return comActQuestnaireService.addNoNotice(questId,userId);
+    }
+
     /**
      * 删除微心愿
      * @param id
@@ -1854,4 +1859,9 @@
     public R timedTaskQuestionnaire(){
         return comActQuestnaireService.timedTaskQuestionnaire();
     }
+
+    @GetMapping("questnaire/add/view")
+    public R addQuestnaireView(@RequestParam("questId") Long questId) {
+        return comActQuestnaireService.addQuestnaireView(questId);
+    }
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActQuestnaireDAO.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActQuestnaireDAO.java
index 5dbb704..2b676af 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActQuestnaireDAO.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActQuestnaireDAO.java
@@ -26,6 +26,9 @@
             " caq.project_key, " +
             " caq.title, " +
             " caq.state, " +
+            " caq.for_masses, " +
+            " caq.for_party, " +
+            " caq.for_volunteer, " +
             " caq.join_count, " +
             " caq.remark, " +
             " caq.is_cover, " +
@@ -96,6 +99,9 @@
             " title, " +
             " remark, " +
             " is_cover, " +
+            " for_masses, " +
+            " for_party, " +
+            " for_volunteer, " +
             " is_force, " +
             " adver_position_popup, " +
             " adver_position_top, " +
@@ -115,6 +121,9 @@
             " id, " +
             " title, " +
             " remark, " +
+            " for_masses, " +
+            " for_party, " +
+            " for_volunteer, " +
             " is_cover, " +
             " is_force, " +
             " adver_position_popup, " +
@@ -150,4 +159,6 @@
     List<QuestnaireStatisticsSummaryExcelAdminVO> getStatisticsSummaryExcelAdmin(@Param("questId") Long questId);
 
     QuestnaireStatisticsSummaryHeaderAdminVO statisticsSummaryHeader(@Param("questId") Long questId);
+
+    void addNoNotice(@Param("questId") Long questId,@Param("userId") Long userId);
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActQuestnaireService.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActQuestnaireService.java
index 6f2862c..7e0887f 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActQuestnaireService.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActQuestnaireService.java
@@ -124,4 +124,8 @@
     R statisticsSummaryHeader(Long questId);
 
     R timedTaskQuestionnaire();
+
+    R addQuestnaireView(Long questId);
+
+    R addNoNotice(Long questId,Long userId);
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActQuestnaireServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActQuestnaireServiceImpl.java
index 41299b8..3e92a2d 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActQuestnaireServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActQuestnaireServiceImpl.java
@@ -523,10 +523,32 @@
             return R.fail("调查问卷不存在!");
         }
 
+        if(!questnaireDO.getState().equals(ComActQuestnaireDO.state.dyz)){
+            return R.fail("该调查问卷已结束,不可提交!");
+        }
+
         ComActQuestnaireUserAnswerDO oldUserAnswerDO = comActQuestnaireUserAnswerMapper.selectOne(new QueryWrapper<ComActQuestnaireUserAnswerDO>().lambda()
                 .eq(ComActQuestnaireUserAnswerDO::getQuestnaireId,questId).eq(ComActQuestnaireUserAnswerDO::getUserId,userId));
         if(oldUserAnswerDO != null){
             return R.fail("您已填写该问卷,不可重复提交");
+        }
+
+        //查询填报人员信息
+        R<LoginUserInfoVO> userResult = userService.getUserInfoByUserId(userId + "");
+        if(!R.isOk(userResult)){
+            log.error("填写问卷调查失败,未查询到用户信息");
+            return R.fail("填写失败");
+        }
+        LoginUserInfoVO userInfo = userResult.getData();
+        if(questnaireDO.getForParty().equals(ComActQuestnaireDO.isOk.yes)){
+            if(!userInfo.getIsPartymember().equals(1)){
+                return R.fail("您还未进行党员认证,无法填报");
+            }
+        }
+        if(questnaireDO.getForVolunteer().equals(ComActQuestnaireDO.isOk.yes)){
+            if(!userInfo.getIsVolunteer().equals(1)){
+                return R.fail("您还未进行志愿者认证,无法填报");
+            }
         }
 
         List<ComActQuestnaireAnswerContentDO> answerContentList = new ArrayList<>();
@@ -692,6 +714,7 @@
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public R timedTaskQuestionnaire(){
         Date nowDate = new Date();
         //查询所有开始时间已经超过当前时间的待发布状态调查问卷
@@ -715,4 +738,20 @@
         return R.ok();
     }
 
+    @Override
+    public R addQuestnaireView(Long questId){
+        ComActQuestnaireDO questnaireDO = questnaireDAO.selectById(questId);
+        if(questnaireDO != null){
+            questnaireDO.setViewNum(questnaireDO.getViewNum() + 1);
+            questnaireDAO.updateById(questnaireDO);
+        }
+        return R.ok();
+    }
+
+    @Override
+    public R addNoNotice(Long questId,Long userId){
+        questnaireDAO.addNoNotice(questId,userId);
+        return R.ok();
+    }
+
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActQuestnaireDOMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActQuestnaireDOMapper.xml
index 42e04c8..4dc6f64 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActQuestnaireDOMapper.xml
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActQuestnaireDOMapper.xml
@@ -209,4 +209,8 @@
             AND caqua.questnaire_id = #{questId}
     </select>
 
+    <insert id="addNoNotice">
+        insert into com_act_questnaire_user(questnaire_id,user_id,create_at)
+        values(#{questId},#{userId},now())
+    </insert>
 </mapper>

--
Gitblit v1.7.1