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