huanghongfa
2021-04-14 f32268777e572504f04a845a39d7d425974c5d2f
Merge remote-tracking branch 'origin/master'
1个文件已删除
4个文件已添加
24个文件已修改
571 ■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/CommunityQuestnaireApi.java 68 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/PageQuestnaireDTO.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/LoginUserInfoVO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActQuestnaireAnswerContentVO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActQuestnaireSubSelectionVO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActQuestnaireVO.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/questnaire/ExportAnswerResultVo.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/questnaire/QuestnaireListVo.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/questnaire/QuestnaireVO.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/questnaire/QuestnaiteSubSelectionVO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/questnaire/UserAnswerContentVO.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/questnaire/UserSubAnswerSelectionStatVO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/questnaire/UsersAnswerQuestnaireVO.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/partybuilding/PartyBuildingService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/CommunityPartyBuildingApi.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/CommunityQuestnaireApi.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActQuestnaireAnswerContentDAO.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActQuestnaireDAO.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActQuestnaireAnswerContentDO.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActQuestnaireSubSelectionDO.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/helper/encrypt/ParammeterInterceptor.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActQuestnaireService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActQuestnaireAnswerContentServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActQuestnaireServiceImpl.java 156 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/api/PartyBuildIngApi.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/dao/UserDao.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/CommunityQuestnaireApi.java
@@ -7,9 +7,11 @@
import com.panzhihua.common.model.dtos.community.PageQuestnaireSubDetailsDTO;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.ComActQuestnaireAnswerContentVO;
import com.panzhihua.common.model.vos.community.ComActQuestnaireVO;
import com.panzhihua.common.model.vos.community.ComCvtBusinessVO;
import com.panzhihua.common.model.vos.community.questnaire.QuestnaireVO;
import com.panzhihua.common.model.vos.community.questnaire.*;
import com.panzhihua.common.service.community.CommunityService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -31,10 +33,24 @@
    @Resource
    private CommunityService communityService;
    @ApiOperation(value = "分页查询调查问卷", response = ComActQuestnaireVO.class)
    @PostMapping("/page")
    public R page(@RequestBody PageQuestnaireDTO pageQuestnaireDTO) {
    @ApiOperation(value = "分页查询登录用户调查问卷", response = QuestnaireListVo.class)
    @PostMapping("/pageUser")
    public R pageUser(@RequestBody PageQuestnaireDTO pageQuestnaireDTO) {
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        Integer isPartymember = loginUserInfo.getIsPartymember();
        Integer isVolunteer = loginUserInfo.getIsVolunteer();
        pageQuestnaireDTO.setForParty(1 == isPartymember);
        pageQuestnaireDTO.setForVolunteer(1 == isVolunteer);
        return communityService.pageQuestnaire(pageQuestnaireDTO, loginUserInfo.getCommunityId());
    }
    @ApiOperation(value = "分页查询社区调查问卷", response = QuestnaireListVo.class)
    @PostMapping("/pageVolunteer")
    public R pageVolunteer(@RequestBody PageQuestnaireDTO pageQuestnaireDTO) {
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        pageQuestnaireDTO.setForMasses(null);
        pageQuestnaireDTO.setForVolunteer(true);
        pageQuestnaireDTO.setForParty(true);
        return communityService.pageQuestnaire(pageQuestnaireDTO, loginUserInfo.getCommunityId());
    }
@@ -42,27 +58,65 @@
    @PostMapping("/add")
    public R add(@RequestBody QuestnaireVO questnaireVO) {
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        boolean userHasRight = loginUserInfo.getIsmemberrole()==1;
        //if(!userHasRight){
        if(false){
            return R.fail("用户无创建调查问卷的权限!");
        }
        return communityService.addQuestnaire(questnaireVO, loginUserInfo.getCommunityId(), loginUserInfo.getUserId());
    }
    @ApiOperation(value = "查看问卷", response = ComActQuestnaireVO.class)
    @ApiOperation(value = "查看问卷", response = UsersAnswerVO.class)
    @GetMapping("/view")
    public R viewQuestnaire(@RequestParam("questId") Long questId) {
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        return communityService.view(loginUserInfo.getUserId(), questId);
    }
    @ApiOperation(value = "在线统计信息", response = ComActQuestnaireVO.class)
    @ApiOperation(value = "在线统计信息", response = QuestnaireAnswerStatVO.class)
    @GetMapping("/stat")
    public R stat(@RequestParam("questId") Long questId) {
        return communityService.statistics(questId);
    }
    @ApiOperation(value = "在线统计详细", response = ComCvtBusinessVO.class)
    @ApiOperation(value = "在线统计详细", response = ComActQuestnaireAnswerContentVO.class)
    @GetMapping("/stat/details")
    public R statDetails(@RequestBody PageQuestnaireSubDetailsDTO pageQuestnaireSubDetailsDTO) {
        //问卷调查
        return communityService.qaQeustAnswerDetails(pageQuestnaireSubDetailsDTO);
    }
    @ApiOperation(value = "居民填写问卷调查问卷")
    @PostMapping("/stat/answer")
    public R usersAnswerQuestnaire(@RequestBody UsersAnswerQuestnaireVO usersAnswerQuestnaireVO) {
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        boolean userHasRight = loginUserInfo.getIsmemberrole()==1;
        //if(!userHasRight){
        if(false){
            return R.fail("用户写问卷调查问卷!");
        }
        return communityService.usersAnsweQuestnaire(usersAnswerQuestnaireVO, loginUserInfo.getUserId());
    }
    @ApiOperation(value = "编辑问卷")
    @PostMapping("/edit")
    public R editQuestnaire(@RequestBody QuestnaireVO questnaireVO) {
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        return communityService.editQuestnaire(questnaireVO);
    }
    @ApiOperation(value = "继续调研/停止调研")
    @GetMapping("/toggle")
    public R toggle(@RequestBody EditComActQuestnaireVo editComActQuestnaireVo) {
        return communityService.editQuestnaireDO(editComActQuestnaireVo);
    }
    @ApiOperation(value = "删除问卷")
    @GetMapping("/delete")
    public R delete(@RequestParam("questId") Long questId) {
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        return communityService.editQuestnaireDO(questId, loginUserInfo.getUserId());
    }
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/PageQuestnaireDTO.java
@@ -15,6 +15,8 @@
public class PageQuestnaireDTO {
    @ApiModelProperty(value = "标题")
    private String title;
    @ApiModelProperty(value = "用户Id")
    private Long userId;
    @ApiModelProperty(value = "状态 0 调研中 1已停止")
    private Integer state;
    @ApiModelProperty(value = "发布开始时间")
@@ -25,4 +27,12 @@
    private Long pageNum;
    @ApiModelProperty(value = "分页-每页记录数", example = "10")
    private Long pageSize;
    @ApiModelProperty("提供居民")
    private Boolean forMasses;
    @ApiModelProperty("提供党员")
    private Boolean forParty=false;
    @ApiModelProperty("提供志愿者")
    private Boolean forVolunteer=false;
    @ApiModelProperty("社区ID")
    private Long communityId;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/LoginUserInfoVO.java
@@ -68,7 +68,7 @@
    @ApiModelProperty("性别 1 男 2 女")
    private Integer sex;
    
    @ApiModelProperty("是否社区团队或者党委 1 是 2 否")
    @ApiModelProperty("是否社区团队或者党委或系统管理人员 1 是 2 否")
    private Integer ismemberrole;
    @ApiModelProperty("生日")
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActQuestnaireAnswerContentVO.java
@@ -21,4 +21,6 @@
    private String userName;
    @ApiModelProperty("创建时间")
    private String createAt;
    @ApiModelProperty("选项类型 0 固定选项 1 自定义选项")
    private Integer type;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActQuestnaireSubSelectionVO.java
@@ -15,5 +15,7 @@
    private String optionName;
    @ApiModelProperty("选项内容")
    private String content;
    @ApiModelProperty("选项类型 0 固定选项 1 自定义选项")
    private Integer type;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActQuestnaireVO.java
@@ -19,4 +19,10 @@
    private Integer joinCount;
    @ApiModelProperty("社区ID")
    private Long communityId;
    @ApiModelProperty("调查对象-居民")
    private Boolean forMasses;
    @ApiModelProperty("调查对象-党员")
    private Boolean forParty;
    @ApiModelProperty("调查对象-志愿者")
    private Boolean forVolunteer;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/questnaire/ExportAnswerResultVo.java
File was deleted
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/questnaire/QuestnaireListVo.java
New file
@@ -0,0 +1,38 @@
package com.panzhihua.common.model.vos.community.questnaire;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
public class QuestnaireListVo {
    @ApiModelProperty("id")
    private String id;
    @ApiModelProperty("标题")
    private String title;
    @ApiModelProperty("状态 0 调研中 1已停止")
    private Integer state;
    @ApiModelProperty("参与人数")
    private Integer joinCount;
    @ApiModelProperty("发布人")
    private String createBy;
    @ApiModelProperty("发布人姓名")
    private String createUser;
    @ApiModelProperty("发布时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createAt;
    @ApiModelProperty("是否已回答")
    private Boolean answer;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/questnaire/QuestnaireVO.java
@@ -17,11 +17,11 @@
    private String queTitle;
    @ApiModelProperty(value = "问卷描述")
    private String queDescribe;
    @ApiModelProperty(value = "提供居民", example = "true")
    @ApiModelProperty(value = "提供居民", example = "true", required = true)
    private Boolean forMasses;
    @ApiModelProperty(value = "提供党员", example = "true")
    @ApiModelProperty(value = "提供党员", example = "true", required = true)
    private Boolean forParty;
    @ApiModelProperty(value = "提供志愿者", example = "true")
    @ApiModelProperty(value = "提供志愿者", example = "true", required = true)
    private Boolean forVolunteer;
    @ApiModelProperty(value = "题目")
    private List<QuestnaiteSubVO> questnaiteSubVOS;
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/questnaire/QuestnaiteSubSelectionVO.java
@@ -20,4 +20,7 @@
    @ApiModelProperty(value = "选项内容")
    private String content;
    @ApiModelProperty(value = "选项类型 0 固定选项 1 自定义选项")
    private Integer type;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/questnaire/UserAnswerContentVO.java
New file
@@ -0,0 +1,26 @@
package com.panzhihua.common.model.vos.community.questnaire;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @Author: llming
 * @Description:
 */
@ApiModel("用户填写选项情况")
@Data
public class UserAnswerContentVO {
    @ApiModelProperty(value = "问卷题目Id")
    private Long subId;
    @ApiModelProperty(value = "问卷回答选项", example = "选项")
    private String choice;
    @ApiModelProperty(value = "问卷回答内容")
    private String answerContent;
    @ApiModelProperty(value = "选项类型 0 固定选项 1 自定义选项", example = "0")
    private Integer type;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/questnaire/UserSubAnswerSelectionStatVO.java
@@ -19,4 +19,6 @@
    private Integer total;
    @ApiModelProperty("比例")
    private String proportion;
    @ApiModelProperty("选项类型 0 固定选项 1 自定义选项")
    private Integer type;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/questnaire/UsersAnswerQuestnaireVO.java
New file
@@ -0,0 +1,22 @@
package com.panzhihua.common.model.vos.community.questnaire;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
 * @Author: llming
 * @Description:
 */
@Data
@ApiModel("用户填写问卷情况")
public class UsersAnswerQuestnaireVO {
    @ApiModelProperty(value = "调查问卷Id")
    private Long questId;
    @ApiModelProperty(value = "答题情况")
    private List<UserAnswerContentVO> answerContentVOList;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
@@ -9,6 +9,7 @@
import com.panzhihua.common.model.vos.community.*;
import com.panzhihua.common.model.vos.community.questnaire.EditComActQuestnaireVo;
import com.panzhihua.common.model.vos.community.questnaire.QuestnaireVO;
import com.panzhihua.common.model.vos.community.questnaire.UsersAnswerQuestnaireVO;
import com.panzhihua.common.model.vos.user.UserPhoneVO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
@@ -1745,4 +1746,12 @@
    @PostMapping("/questnaire/pagequestnaireanswer")
    R pageQuestnaireAnswer(@RequestBody PageQuestnaireAnswerDTO pageQuestnaireAnswerDTO);
    /**
     * 居民填写问卷调查问卷
     * @param usersAnswerQuestnaireVO 填写情况
     */
    @PostMapping("/questnaire/usersanswequestnaire")
    R usersAnsweQuestnaire(@RequestBody UsersAnswerQuestnaireVO usersAnswerQuestnaireVO, @RequestParam("userId") Long userId);
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/partybuilding/PartyBuildingService.java
@@ -377,6 +377,6 @@
     * @param pagePartyBuildingMemberVO 查询参数
     * @return 查询结果
     */
    @GetMapping("/partybuildIng/pageusercertification")
    @PostMapping("/partybuildIng/pageusercertification")
    R pagePrePartybuildingmember(@RequestBody PagePartyBuildingMemberVO pagePartyBuildingMemberVO);
}
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/CommunityPartyBuildingApi.java
@@ -520,19 +520,18 @@
    }
    @ApiOperation(value = "待认证党员分页查询")
    @DeleteMapping("pageprepartybuildingmember")
    @GetMapping("pageprepartybuildingmember")
    public R pagePrePartybuildingmember(@RequestBody PagePartyBuildingMemberVO pagePartyBuildingMemberVO) {
        //totest 待认证党员分页查询
        return partyBuildingService.pagePrePartybuildingmember(pagePartyBuildingMemberVO);
    }
    @ApiOperation(value = "待认证党员审核")
    @DeleteMapping("reviewprepartybuildingmember")
    @PostMapping("reviewprepartybuildingmember")
    public R reviewPrePartybuildingmember(@RequestBody PartyBuildingMemberDTO partyBuildingMemberDTO) {
        //totest 待认证党员审核
        PartyBuildingMemberVO partyBuildingMemberVO = new PartyBuildingMemberVO();
        partyBuildingMemberVO.setId(partyBuildingMemberDTO.getId());
        /**
         * 0 待审核 1 已审核 2 自动认证 3 已驳回
         */
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/CommunityQuestnaireApi.java
@@ -15,8 +15,7 @@
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.model.vos.community.questnaire.EditComActQuestnaireVo;
import com.panzhihua.common.model.vos.community.questnaire.QuestnaireVO;
import com.panzhihua.common.model.vos.community.questnaire.*;
import com.panzhihua.common.service.community.CommunityService;
import com.panzhihua.common.service.user.UserService;
import com.panzhihua.common.utlis.SFTPUtil;
@@ -53,61 +52,64 @@
    @Resource
    private SFTPConfig sftpConfig;
    @ApiOperation(value = "分页查询调查问卷", response = ComCvtBusinessVO.class)
    @ApiOperation(value = "分页查询调查问卷", response = QuestnaireListVo.class)
    @PostMapping("/page")
    public R page(@RequestBody PageQuestnaireDTO pageQuestnaireDTO) {
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        return communityService.pageQuestnaire(pageQuestnaireDTO, loginUserInfo.getCommunityId());
        pageQuestnaireDTO.setForMasses(null);
        pageQuestnaireDTO.setForVolunteer(true);
        pageQuestnaireDTO.setForParty(true);
        return communityService.pageQuestnaire(pageQuestnaireDTO, 0l);
    }
    @ApiOperation(value = "创建调查问卷", response = ComCvtBusinessVO.class)
    @ApiOperation(value = "创建调查问卷")
    @PostMapping("/add")
    public R add(@RequestBody QuestnaireVO questnaireVO) {
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        return communityService.addQuestnaire(questnaireVO, loginUserInfo.getCommunityId(), loginUserInfo.getUserId());
    }
    @ApiOperation(value = "继续调研/停止调研", response = ComCvtBusinessVO.class)
    @ApiOperation(value = "继续调研/停止调研")
    @GetMapping("/toggle")
    public R toggle(@RequestBody EditComActQuestnaireVo editComActQuestnaireVo) {
        return communityService.editQuestnaireDO(editComActQuestnaireVo);
    }
    @ApiOperation(value = "删除问卷", response = ComCvtBusinessVO.class)
    @ApiOperation(value = "删除问卷")
    @GetMapping("/delete")
    public R delete(@RequestParam("questId") Long questId) {
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        return communityService.editQuestnaireDO(questId, loginUserInfo.getUserId());
    }
    @ApiOperation(value = "查看详细-问卷详细", response = ComCvtBusinessVO.class)
    @ApiOperation(value = "查看详细-问卷详细", response = UsersAnswerVO.class)
    @GetMapping("/view")
    public R viewQuestnaire(@RequestParam("questId") Long questId) {
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        return communityService.view(loginUserInfo.getUserId(), questId);
    }
    @ApiOperation(value = "查看详细-调查结果", response = ComCvtBusinessVO.class)
    @ApiOperation(value = "查看详细-调查结果", response = QuestnaireAnswerStatVO.class)
    @GetMapping("/stat")
    public R stat(@RequestParam("questId") Long questId) {
        return communityService.statistics(questId);
    }
    @ApiOperation(value = "查看详细-调查结果-查看详细信息", response = ComCvtBusinessVO.class)
    @ApiOperation(value = "查看详细-调查结果-查看详细信息", response = ComActQuestnaireAnswerContentVO.class)
    @GetMapping("/stat/details")
    public R statDetails(@RequestBody PageQuestnaireSubDetailsDTO pageQuestnaireSubDetailsDTO) {
        //问卷调查
        return communityService.qaQeustAnswerDetails(pageQuestnaireSubDetailsDTO);
    }
    @ApiOperation(value = "答卷情况-分页", response = ComCvtBusinessVO.class)
    @ApiOperation(value = "答卷情况-分页", response = ComActQuestnaireAnswerContentVO.class)
    @GetMapping("/answer/page")
    public R pageAnswer(@RequestBody PageQuestnaireAnswerDTO pageQuestnaireAnswerDTO) {
        //问卷调查回答 用户分页数据
        return communityService.pageQuestnaireAnswer(pageQuestnaireAnswerDTO);
    }
    @ApiOperation(value = "查看问卷答卷详细", response = ComCvtBusinessVO.class)
    @ApiOperation(value = "查看问卷答卷详细", response = UsersAnswerVO.class)
    @GetMapping("/answer/detail")
    public R answerDetail(@RequestParam("questId") Long questId, @RequestParam("userId") Long userId) {
        return communityService.answerInfoQuestnaire(userId, questId);
@@ -219,14 +221,18 @@
                        });
                    }
                    WriteCellStyle headWriteCellStyle = new WriteCellStyle();
                    WriteCellStyle contentWriteCellStyle = new WriteCellStyle();
                    contentWriteCellStyle.setWrapped(true);
                    HorizontalCellStyleStrategy horizontalCellStyleStrategy =
                            new HorizontalCellStyleStrategy(null, contentWriteCellStyle);
                            new HorizontalCellStyleStrategy(headWriteCellStyle, contentWriteCellStyle);
                    LongestMatchColumnWidthStyleStrategy longestMatchColumnWidthStyleStrategy = new LongestMatchColumnWidthStyleStrategy();
                    excelWriter = EasyExcel.write(fileName, ComMngPopulationExcelVo.class).registerWriteHandler(horizontalCellStyleStrategy).registerWriteHandler(new CustomSheetWriteHandler()).build();
                    excelWriter = EasyExcel.write(fileName, ComMngPopulationExcelVo.class)
                            .registerWriteHandler(horizontalCellStyleStrategy)
                            .registerWriteHandler(longestMatchColumnWidthStyleStrategy)
                            .registerWriteHandler(new CustomSheetWriteHandler()).build();
                    WriteSheet writeSheet = EasyExcel.writerSheet("问卷调查答题导出数据").head(headList).build();
                    excelWriter.write(datalist, writeSheet);
                    excelWriter.finish();
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java
@@ -10,6 +10,7 @@
import com.panzhihua.common.model.vos.community.*;
import com.panzhihua.common.model.vos.community.questnaire.EditComActQuestnaireVo;
import com.panzhihua.common.model.vos.community.questnaire.QuestnaireVO;
import com.panzhihua.common.model.vos.community.questnaire.UsersAnswerQuestnaireVO;
import com.panzhihua.common.model.vos.user.UserPhoneVO;
import com.panzhihua.service_community.model.dos.ComActActPrizeDO;
import com.panzhihua.service_community.model.dos.ComActDynDO;
@@ -1345,7 +1346,13 @@
     */
    @PostMapping("questnaire/pagequestnaire")
    public R pageQuestnaire(@RequestBody PageQuestnaireDTO pageQuestnaireDTO,@RequestParam("communityId") Long communityId) {
        return comActQuestnaireService.pageQuestnaire(pageQuestnaireDTO,communityId);
        if(pageQuestnaireDTO.getForParty()==null){
            pageQuestnaireDTO.setForParty(false);
        }
        if(pageQuestnaireDTO.getForVolunteer()==null){
            pageQuestnaireDTO.setForVolunteer(false);
        }
        return comActQuestnaireService.pageQuestnaire(pageQuestnaireDTO, communityId);
    }
    /**
@@ -1419,4 +1426,13 @@
        return comActQuestnaireService.pageQuestnaireAnswer(pageQuestnaireAnswerDTO);
    }
    /**
     * 居民填写问卷调查问卷
     * @param usersAnswerQuestnaireVO
     */
    @PostMapping("questnaire/usersanswequestnaire")
    public R usersAnsweQuestnaire(@RequestBody UsersAnswerQuestnaireVO usersAnswerQuestnaireVO,@RequestParam("userId") Long userId){
        return comActQuestnaireService.usersAnsweQuestnaire(usersAnswerQuestnaireVO,userId);
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActQuestnaireAnswerContentDAO.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.model.dtos.community.PageQuestnaireAnswerDTO;
import com.panzhihua.common.model.dtos.community.PageQuestnaireSubDetailsDTO;
import com.panzhihua.common.model.vos.community.ComActQuestnaireAnswerContentVO;
import com.panzhihua.common.model.vos.community.questnaire.UserSubAnswerSelectionStatVO;
import com.panzhihua.service_community.model.dos.ComActQuestnaireAnswerContentDO;
@@ -24,11 +25,11 @@
     * @param questId 问卷ID
     */
    @Select("<script> " +
            "SELECT  qs.id AS sub_id, ac.choice as option_name, COUNT(ac.user_id) as total, ac.answer_content as answerContent, \n" +
            "SELECT  qs.id AS sub_id, ac.choice as option_name, COUNT(ac.user_id) as total, ac.answer_content as answerContent, ac.type,\n" +
            " CONCAT(ROUND( COUNT(ac.user_id) /(SELECT COUNT(*) FROM com_act_questnaire_answer_content WHERE sub_id = qs.id) *100), '%')  AS proportion\n" +
            "FROM com_act_questnaire qn LEFT JOIN com_act_questnaire_sub qs ON qn.id = qs.que_Id\n" +
            " LEFT JOIN com_act_questnaire_answer_content ac ON qs.id = ac.sub_id\n" +
            "WHERE qn.id=#{questId}\n" +
            "WHERE qn.id=#{questId} AND ac.type IS NOT NULL  \n" +
            "GROUP BY qs.id, ac.choice\n" +
            "ORDER BY qs.id"+
            "</script>")
@@ -61,4 +62,29 @@
            "ORDER BY ac.create_at\n"+
            "</script>")
    IPage<ComActQuestnaireAnswerContentVO> selectAnswersByPage(Page page, @Param("pageQuestnaireAnswerDTO") PageQuestnaireAnswerDTO pageQuestnaireAnswerDTO);
    /**
     * 查询问卷 问答题 用户回答数据
     * @param pageQuestnaireSubDetailsDTO 问卷ID
     */
    @Select("<script> " +
            "SELECT ac.choice , ac.user_id, ac.type, ac.sub_id, u.name as user_name, ac.answer_content \n" +
            "FROM com_act_questnaire_answer_content ac  LEFT JOIN sys_user u ON ac.user_id = u.user_id\n" +
            "WHERE ac.sub_id=#{pageQuestnaireSubDetailsDTO.subId}\n" +
            "ORDER BY ac.create_at\n"+
            "</script>")
    IPage<ComActQuestnaireAnswerContentVO> selectVoByPage(Page userPage, @Param("pageQuestnaireSubDetailsDTO") PageQuestnaireSubDetailsDTO pageQuestnaireSubDetailsDTO);
    /**
     * 查询问卷 问答题 用户回答数据
     * @param questId 问卷ID
     * @param userId 用户ID
     */
    @Select("<script> " +
            "SELECT COUNT(*)\n" +
            "FROM com_act_questnaire q LEFT JOIN com_act_questnaire_sub qs ON q.id = qs.que_Id\n" +
            "LEFT JOIN com_act_questnaire_answer_content ac ON qs.id = ac.sub_id\n" +
            "WHERE q.id =  #{questId} AND ac.user_id = #{userId}\n" +
            "</script>")
    Integer selectUserCountByQuestnaireId( @Param("questId")String questId, @Param("userId") Long userId);
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActQuestnaireDAO.java
@@ -1,9 +1,15 @@
package com.panzhihua.service_community.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.model.dtos.community.PageQuestnaireDTO;
import com.panzhihua.common.model.vos.community.questnaire.QuestnaireListVo;
import com.panzhihua.service_community.model.dos.ComActQuestnaireDO;
import com.panzhihua.service_community.model.dos.ComActQuestnaireSubSelectionDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
/**
 * @Author: llming
@@ -11,4 +17,45 @@
 */
@Mapper
public interface ComActQuestnaireDAO extends BaseMapper<ComActQuestnaireDO> {
    @Select("<script> " +
            "SELECT  aq.id, aq.title, aq.state, u.name as create_user, aq.join_count, aq.create_at , aq.create_by \n" +
            "FROM \n" +
            " com_act_questnaire aq \n" +
            " LEFT JOIN sys_user u on aq.create_by = u.user_id \n" +
            " where is_hide=0 " +
            "<if test='communityId != null and communityId!=0 '>\n" +
            " and aq.community_id = #{communityId}\n" +
            " </if> " +
            "<if test='pageQuestnaireDTO.state != null '>\n" +
            " and aq.state = #{pageQuestnaireDTO.state} \n" +
            " </if> " +
            "<if test='pageQuestnaireDTO.forMasses != null '>\n" +
            " and aq.for_masses = #{pageQuestnaireDTO.forMasses} \n" +
            " </if> \n" +
            "<if test='pageQuestnaireDTO.forParty==true and pageQuestnaireDTO.forVolunteer==true '>\n" +   //既是党员又是志愿者
            " and ( aq.for_party = 1 OR aq.for_party=1 OR (aq.for_party!=1 AND aq.for_volunteer!=1) )  \n" +
            " </if> \n" +
            "<if test='pageQuestnaireDTO.forParty==true and pageQuestnaireDTO.forVolunteer==false '>\n" +     //党员 不是志愿者
            " and ( aq.for_party = 1 OR (aq.for_party!=1 AND aq.for_volunteer!=1) )  \n" +
            " </if> \n" +
            "<if test='pageQuestnaireDTO.forParty==false and pageQuestnaireDTO.forVolunteer==true '>\n" +    //非党员的志愿者
            " and ( aq.for_volunteer = 1 OR (aq.for_party!=1 AND aq.for_volunteer!=1) )  \n" +
            " </if> \n" +
            "<if test='pageQuestnaireDTO.forParty==false and pageQuestnaireDTO.forVolunteer==false '>\n" +    //非党员非志愿者
            " and  (aq.for_party!=1 AND aq.for_volunteer!=1)  \n" +
            " </if> \n" +
            "<if test='pageQuestnaireDTO.startTime != null '>\n" +
            " AND aq.create_at BETWEEN \n" +
            "#{pageComActDTO.startTime} \n" +
            " AND #{pageQuestnaireDTO.endTime}\n" +
            " </if> \n" +
            " ORDER BY \n" +
            " aq.create_at DESC" +
            "</script>")
    IPage<QuestnaireListVo> selectPageList(Page page, @Param("pageQuestnaireDTO") PageQuestnaireDTO pageQuestnaireDTO, @Param("communityId") Long communityId);
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActQuestnaireAnswerContentDO.java
@@ -33,4 +33,9 @@
     * 用户Id
     */
    private Long userId;
    /**
     * 选项类型 0 固定选项 1 自定义选项
     */
    private Integer type;
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActQuestnaireSubSelectionDO.java
@@ -35,4 +35,9 @@
     */
    private String optionName;
    /**
     * 选项类型 0 固定选项 1 自定义选项
     */
    private Integer type;
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/helper/encrypt/ParammeterInterceptor.java
@@ -75,16 +75,18 @@
                            Map.Entry<String, Object> entry = (Map.Entry<String, Object>) iterator.next();
                            if (entry.getKey().startsWith("param")) {
                                Object v = entry.getValue();
                                EncryptQueryClass encryptQueryClass = AnnotationUtils.findAnnotation(v.getClass(), EncryptQueryClass.class);
                                if (Objects.nonNull(encryptQueryClass)) {
                                    Field[] declaredFields = v.getClass().getDeclaredFields();
                                    for (Field field : declaredFields) {
                                        if (field.isAnnotationPresent(EncryptQuery.class)) {
                                            try {
                                                final Object encrypt = encryptDecrypt.encrypt(new Field[]{field}, v);
                                                paramMap.put("encrypted", true);
                                            } catch (IllegalAccessException e) {
                                                e.printStackTrace();
                                if(v!=null) {
                                    EncryptQueryClass encryptQueryClass = AnnotationUtils.findAnnotation(v.getClass(), EncryptQueryClass.class);
                                    if (Objects.nonNull(encryptQueryClass)) {
                                        Field[] declaredFields = v.getClass().getDeclaredFields();
                                        for (Field field : declaredFields) {
                                            if (field.isAnnotationPresent(EncryptQuery.class)) {
                                                try {
                                                    final Object encrypt = encryptDecrypt.encrypt(new Field[]{field}, v);
                                                    paramMap.put("encrypted", true);
                                                } catch (IllegalAccessException e) {
                                                    e.printStackTrace();
                                                }
                                            }
                                        }
                                    }
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActQuestnaireService.java
@@ -6,6 +6,7 @@
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.questnaire.EditComActQuestnaireVo;
import com.panzhihua.common.model.vos.community.questnaire.QuestnaireVO;
import com.panzhihua.common.model.vos.community.questnaire.UsersAnswerQuestnaireVO;
/**
 * @Author: llming
@@ -85,4 +86,12 @@
     * @return 分页信息
     */
    R pageQuestnaireAnswer(PageQuestnaireAnswerDTO pageQuestnaireAnswerDTO);
    /**
     * 居民填写问卷调查问卷
     * @param usersAnswerQuestnaireVO
     * @param userId
     * @return
     */
    R usersAnsweQuestnaire(UsersAnswerQuestnaireVO usersAnswerQuestnaireVO, Long userId);
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActQuestnaireAnswerContentServiceImpl.java
New file
@@ -0,0 +1,18 @@
package com.panzhihua.service_community.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.panzhihua.service_community.dao.ComActQuestnaireAnswerContentDAO;
import com.panzhihua.service_community.dao.ComActQuestnaireSubDAO;
import com.panzhihua.service_community.model.dos.ComActQuestnaireAnswerContentDO;
import com.panzhihua.service_community.model.dos.ComActQuestnaireSubDO;
import org.springframework.stereotype.Service;
/**
 * @Author: llming
 * @Description: 问卷题目
 */
@Service
public class ComActQuestnaireAnswerContentServiceImpl extends ServiceImpl<ComActQuestnaireAnswerContentDAO, ComActQuestnaireAnswerContentDO> {
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActQuestnaireServiceImpl.java
@@ -1,6 +1,7 @@
package com.panzhihua.service_community.service.impl;
import java.util.*;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -16,14 +17,8 @@
import com.panzhihua.common.model.dtos.community.QuestnaireAnswersDTO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.questnaire.*;
import com.panzhihua.service_community.dao.ComActQuestnaireAnswerContentDAO;
import com.panzhihua.service_community.dao.ComActQuestnaireDAO;
import com.panzhihua.service_community.dao.ComActQuestnaireSubDAO;
import com.panzhihua.service_community.dao.ComActQuestnaireSubSelectionDAO;
import com.panzhihua.service_community.model.dos.ComActQuestnaireAnswerContentDO;
import com.panzhihua.service_community.model.dos.ComActQuestnaireDO;
import com.panzhihua.service_community.model.dos.ComActQuestnaireSubDO;
import com.panzhihua.service_community.model.dos.ComActQuestnaireSubSelectionDO;
import com.panzhihua.service_community.dao.*;
import com.panzhihua.service_community.model.dos.*;
import com.panzhihua.service_community.service.ComActQuestnaireService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@@ -31,6 +26,7 @@
import com.panzhihua.common.model.vos.community.ComActQuestnaireSubSelectionVO;
import com.panzhihua.common.model.vos.community.ComActQuestnaireSubVO;
import com.panzhihua.common.model.vos.community.ComActQuestnaireVO;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
@@ -45,6 +41,8 @@
    @Resource
    ComActQuestnaireSubDAO questnaireSubDAO;
    @Resource
    ComActDynUserDAO userDAO;
    @Resource
    ComActQuestnaireSubSelectionDAO questnaireSubSelectionDAO;
    @Resource
    ComActQuestnaireAnswerContentDAO questnaireAnswerContentDAO;
@@ -52,8 +50,11 @@
    ComActQuestnaireSubServiceImpl questnaireSubService;
    @Resource
    ComActQuestnaireSubSelectionServiceImpl subSelectionService;
    @Resource
    ComActQuestnaireAnswerContentServiceImpl answerContentService;
    @Override
    @Transactional(rollbackFor = Exception.class)
    public R addQuestnaire(QuestnaireVO questnaireVO, Long communityId, Long userId) {
        ComActQuestnaireDO comActQuestnaireDO = new ComActQuestnaireDO();
        comActQuestnaireDO.setTitle(questnaireVO.getQueTitle());
@@ -67,48 +68,61 @@
        comActQuestnaireDO.setForParty(questnaireVO.getForParty());
        comActQuestnaireDO.setForVolunteer(questnaireVO.getForVolunteer());
        int questId = questnaireDAO.insert(comActQuestnaireDO);
        questnaireVO.getQuestnaiteSubVOS().forEach(sub -> {
            ComActQuestnaireSubDO comActQuestnaireSubDO = new ComActQuestnaireSubDO();
            comActQuestnaireSubDO.setType(sub.getType());
            comActQuestnaireSubDO.setContent(sub.getContent());
            comActQuestnaireSubDO.setSort(sub.getSort());
            comActQuestnaireSubDO.setQueId((long) questId);
            comActQuestnaireSubDO.setCreateBy(userId);
            int subId = questnaireSubDAO.insert(comActQuestnaireSubDO);
            ArrayList<ComActQuestnaireSubSelectionDO> subSelectionList = Lists.newArrayList();
            sub.getQuestnaiteSubSelectionVOS().forEach(subSelect -> {
                ComActQuestnaireSubSelectionDO subSelectionDO = new ComActQuestnaireSubSelectionDO();
                subSelectionDO.setQueSubId((long) subId);
                subSelectionDO.setOptionName(subSelect.getOptionName());
                subSelectionDO.setSort(subSelect.getSort());
                subSelectionDO.setContent(subSelect.getContent());
                subSelectionDO.setCreateBy(userId);
                subSelectionList.add(subSelectionDO);
        if(questId!=1){
            return R.fail("创建失败");
        }
        if(questnaireVO.getQuestnaiteSubVOS()!=null) {
            questnaireVO.getQuestnaiteSubVOS().forEach(sub -> {
                ComActQuestnaireSubDO comActQuestnaireSubDO = new ComActQuestnaireSubDO();
                comActQuestnaireSubDO.setType(sub.getType());
                comActQuestnaireSubDO.setContent(sub.getContent());
                comActQuestnaireSubDO.setSort(sub.getSort());
                comActQuestnaireSubDO.setQueId((long) comActQuestnaireDO.getId());
                comActQuestnaireSubDO.setCreateBy(userId);
                int subId = questnaireSubDAO.insert(comActQuestnaireSubDO);
                ArrayList<ComActQuestnaireSubSelectionDO> subSelectionList = Lists.newArrayList();
                if(sub.getQuestnaiteSubSelectionVOS()!=null) {
                    sub.getQuestnaiteSubSelectionVOS().forEach(subSelect -> {
                        ComActQuestnaireSubSelectionDO subSelectionDO = new ComActQuestnaireSubSelectionDO();
                        subSelectionDO.setQueSubId(comActQuestnaireSubDO.getId());
                        subSelectionDO.setOptionName(subSelect.getOptionName());
                        subSelectionDO.setSort(subSelect.getSort());
                        subSelectionDO.setContent(subSelect.getContent());
                        subSelectionDO.setCreateBy(userId);
                        subSelectionDO.setType(subSelect.getType());
                        subSelectionList.add(subSelectionDO);
                    });
                }
                subSelectionService.saveBatch(subSelectionList);
            });
            subSelectionService.saveBatch(subSelectionList);
        });
        }
        return R.ok();
    }
    @Override
    public R pageQuestnaire(PageQuestnaireDTO pageQuestnaireDTO, Long communityId) {
        Page userPage = new Page(pageQuestnaireDTO.getPageNum(), pageQuestnaireDTO.getPageSize());
        LambdaQueryWrapper<ComActQuestnaireDO> lambdaQueryWrapper = Wrappers.lambdaQuery();
        lambdaQueryWrapper.eq(ComActQuestnaireDO::getCommunityId, communityId);
        //过滤隐藏字段
        lambdaQueryWrapper.eq(ComActQuestnaireDO::getIsHide, 0);
        if (pageQuestnaireDTO.getTitle() != null) {
            lambdaQueryWrapper.like(ComActQuestnaireDO::getTitle, pageQuestnaireDTO.getTitle());
        Page page = new Page<>();
        Long pageNum = pageQuestnaireDTO.getPageNum();
        Long pageSize = pageQuestnaireDTO.getPageSize();
        if (null == pageNum || 0 == pageNum) {
            pageNum = 1l;
        }
        if (pageQuestnaireDTO.getTitle() != null) {
            lambdaQueryWrapper.eq(ComActQuestnaireDO::getState, pageQuestnaireDTO.getState());
        if (null == pageSize || 0 == pageSize) {
            pageSize = 10l;
        }
        if (pageQuestnaireDTO.getEndTime() != null && pageQuestnaireDTO.getStartTime() != null) {
            lambdaQueryWrapper.ge(ComActQuestnaireDO::getCreateAt, pageQuestnaireDTO.getStartTime());
            lambdaQueryWrapper.lt(ComActQuestnaireDO::getCreateAt, pageQuestnaireDTO.getEndTime());
        }
        IPage<ComActQuestnaireDO> doPager = questnaireDAO.selectPage(userPage, lambdaQueryWrapper.orderByDesc(ComActQuestnaireDO::getCreateAt));
        return R.ok(doPager);
        page.setSize(pageSize);
        page.setCurrent(pageNum);
        IPage<QuestnaireListVo> voPage = questnaireDAO.selectPageList(page,pageQuestnaireDTO,communityId);
        voPage.getRecords().forEach(record -> {
            Integer userAnswerCount = questnaireAnswerContentDAO.selectUserCountByQuestnaireId(record.getId(), pageQuestnaireDTO.getUserId());
            if(userAnswerCount>0){
                record.setAnswer(true);
            }else{
                record.setAnswer(false);
            }
        });
        return R.ok(voPage);
    }
    @Override
@@ -176,7 +190,7 @@
    }
    @Override
    public R statQuestnaire(Long questId){
    public R statQuestnaire(Long questId) {
        ComActQuestnaireDO comActQuestnaireDO = questnaireDAO.selectOne(new QueryWrapper<ComActQuestnaireDO>().lambda().eq(ComActQuestnaireDO::getId, questId).eq(ComActQuestnaireDO::getIsHide, 0));
        QuestnaireAnswerStatVO usersAnswerStatVO = new QuestnaireAnswerStatVO();
@@ -193,7 +207,7 @@
        List<UsersSubAnswerStatVO> usersSubAnswerStatVOList = new ArrayList<>();
        comActQuestnaireSubDOList.forEach(comActQuestnaireSubDO->{
        comActQuestnaireSubDOList.forEach(comActQuestnaireSubDO -> {
            UsersSubAnswerStatVO usersSubAnswerStatVO = new UsersSubAnswerStatVO();
            ComActQuestnaireSubVO comActQuestnaireSubVO = new ComActQuestnaireSubVO();
@@ -203,13 +217,15 @@
            List<UserSubAnswerSelectionStatVO> userSubAnswerSelectionStatVOList = new ArrayList<>();
            usersSubAnswerStatVO.setTotal(0);
            usearSubAnswerSelectionStatVOList.forEach(stat ->{
                if(stat.getSubId()==comActQuestnaireSubDO.getId()){
            usearSubAnswerSelectionStatVOList.forEach(stat -> {
                if (stat.getSubId() == comActQuestnaireSubDO.getId()) {
                    userSubAnswerSelectionStatVOList.add(stat);
                }
            });
            usersSubAnswerStatVO.setUsersAnswer(userSubAnswerSelectionStatVOList);
            Integer count = questnaireAnswerContentDAO.selectCount(new QueryWrapper<ComActQuestnaireAnswerContentDO>().select(" DISTINCT sub_id, user_id ").lambda().eq(ComActQuestnaireAnswerContentDO::getSubId,comActQuestnaireSubDO.getId()));
            Integer count = questnaireAnswerContentDAO.selectCount(new QueryWrapper<ComActQuestnaireAnswerContentDO>()
                    .select(" DISTINCT sub_id, user_id ").lambda()
                    .eq(ComActQuestnaireAnswerContentDO::getSubId, comActQuestnaireSubDO.getId()));
            usersSubAnswerStatVO.setTotal(count);
            usersSubAnswerStatVOList.add(usersSubAnswerStatVO);
        });
@@ -225,8 +241,8 @@
    @Override
    public R answerInfoQuestnaire(Long userId, Long questId) {
        ComActQuestnaireDO comActQuestnaireDO = questnaireDAO.selectOne(new QueryWrapper<ComActQuestnaireDO>().lambda().eq(ComActQuestnaireDO::getId, questId).eq(ComActQuestnaireDO::getIsHide, 0));
        if(comActQuestnaireDO==null){
            return  R.fail("问卷不存在!");
        if (comActQuestnaireDO == null) {
            return R.fail("问卷不存在!");
        }
        UsersAnswerVO usersAnswerVO = new UsersAnswerVO();
@@ -238,7 +254,7 @@
        list.sort(Comparator.comparing(ComActQuestnaireSubDO::getSort));
        List<UsersSubAnswerVO> usersSubAnswerVOList = new ArrayList<>();
        list.forEach(comActQuestnaireSubDO ->{
        list.forEach(comActQuestnaireSubDO -> {
                    UsersSubAnswerVO usersSubAnswerVO = new UsersSubAnswerVO();
                    //问卷调查题目
                    ComActQuestnaireSubVO comActQuestnaireSubVO = new ComActQuestnaireSubVO();
@@ -259,7 +275,7 @@
                    });
                    usersSubAnswerVO.setQuestSelectionList(comActQuestnaireSubSelectionVOs);
                    //用户回答
                    if(userId!=null) {
                    if (userId != null) {
                        List<ComActQuestnaireAnswerContentDO> questnaireAnswerContentDOList =
                                questnaireAnswerContentDAO.selectList(new QueryWrapper<ComActQuestnaireAnswerContentDO>().lambda().eq(ComActQuestnaireAnswerContentDO::getUserId, userId)
                                        .eq(ComActQuestnaireAnswerContentDO::getSubId, subId));
@@ -289,7 +305,7 @@
         */
        List<ComActQuestnaireSubDO> list = questnaireSubDAO.selectList(new QueryWrapper<ComActQuestnaireSubDO>().lambda().eq(ComActQuestnaireSubDO::getQueId, questId));
        List<ComActQuestnaireSubVO> listSubVo = new ArrayList<>();
        list.forEach(subDo->{
        list.forEach(subDo -> {
            ComActQuestnaireSubVO comActQuestnaireSubVO = new ComActQuestnaireSubVO();
            BeanUtils.copyProperties(subDo, comActQuestnaireSubVO);
            listSubVo.add(comActQuestnaireSubVO);
@@ -300,7 +316,7 @@
         */
        List<ComActQuestnaireAnswerContentDO> questnaireAnswerContentDOList = questnaireAnswerContentDAO.selectListByQuestnaire(questId);
        List<ComActQuestnaireAnswerContentVO> vos = new ArrayList<>();
        questnaireAnswerContentDOList.forEach(dos ->{
        questnaireAnswerContentDOList.forEach(dos -> {
            ComActQuestnaireAnswerContentVO vo = new ComActQuestnaireAnswerContentVO();
            BeanUtils.copyProperties(dos, vo);
            vos.add(vo);
@@ -313,9 +329,8 @@
    @Override
    public R qaQeustDetails(PageQuestnaireSubDetailsDTO pageQuestnaireSubDetailsDTO) {
        Page userPage = new Page(pageQuestnaireSubDetailsDTO.getPageNum(), pageQuestnaireSubDetailsDTO.getPageSize());
        IPage<ComActQuestnaireAnswerContentDO> doPager =
                questnaireAnswerContentDAO.selectPage(userPage, new QueryWrapper<ComActQuestnaireAnswerContentDO>()
                        .orderBy(true, true, "create_at").lambda().eq(ComActQuestnaireAnswerContentDO::getSubId, pageQuestnaireSubDetailsDTO.getSubId()));
        IPage<ComActQuestnaireAnswerContentVO> doPager =
                questnaireAnswerContentDAO.selectVoByPage(userPage, pageQuestnaireSubDetailsDTO);
        return R.ok(doPager);
    }
@@ -325,4 +340,33 @@
        IPage<ComActQuestnaireAnswerContentVO> doPager = questnaireAnswerContentDAO.selectAnswersByPage(userPage, pageQuestnaireAnswerDTO);
        return R.ok(doPager);
    }
    @Override
    public R usersAnsweQuestnaire(UsersAnswerQuestnaireVO answerQuestnaireVO, Long userId) {
        if (answerQuestnaireVO == null || answerQuestnaireVO.getAnswerContentVOList() == null) {
            return R.fail(500, "数据为空!");
        }
        ComActQuestnaireDO questnaireDO = questnaireDAO.selectById(answerQuestnaireVO.getQuestId());
        if (questnaireDO == null) {
            return R.fail(500, "调查问卷不存在!");
        }
        LambdaQueryWrapper<ComActQuestnaireSubDO> subQuery = new LambdaQueryWrapper<ComActQuestnaireSubDO>();
        subQuery.eq(ComActQuestnaireSubDO::getQueId,answerQuestnaireVO.getQuestId());
        List<ComActQuestnaireSubDO> subDOS = questnaireSubDAO.selectList(subQuery);
        List<Long> subIds = subDOS.stream().map(ComActQuestnaireSubDO::getId).collect(Collectors.toList());
        List<UserAnswerContentVO> answerContentVOList = answerQuestnaireVO.getAnswerContentVOList();
        List<ComActQuestnaireAnswerContentDO> answerContentDOList = Lists.newArrayList();
        for (UserAnswerContentVO answerContent:answerContentVOList) {
            ComActQuestnaireAnswerContentDO answerContentDO = new ComActQuestnaireAnswerContentDO();
            boolean b = subIds.stream().anyMatch(a -> a.equals(answerContent.getSubId()));
            if (!b) {
                throw new ServiceException("500", "调查问卷题目不存在!");
            }
            BeanUtils.copyProperties(answerContent,answerContentDO);
            answerContentDO.setUserId(userId);
            answerContentDOList.add(answerContentDO);
        }
        answerContentService.saveBatch(answerContentDOList);
        return R.ok();
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/api/PartyBuildIngApi.java
@@ -526,7 +526,7 @@
     * @param pagePartyBuildingMemberVO 查询参数
     * @return 查询结果
     */
    @GetMapping("pageusercertification")
    @PostMapping("pageusercertification")
    R pageUserCertification(@RequestBody PagePartyBuildingMemberVO pagePartyBuildingMemberVO){
        return comPbMemberService.pagePrePartyBuilingMember(pagePartyBuildingMemberVO);
    }
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/dao/UserDao.java
@@ -331,4 +331,12 @@
    void updateMemberRole(@Param("newphone")String newphone,@Param("oldphone")String oldphone);
    @Update("update com_pb_service_team u set u.phone=#{newphone},is_reg=1 where u.phone=#{oldphone}")
    void updateServiceTeam(@Param("newphone")String newphone,@Param("oldphone")String oldphone);
    @Select("SELECT\n" +
            "\t COUNT(ur.role_id) \n" +
            "FROM\n" +
            "\t sys_user u LEFT JOIN sys_user_role ur ON u.user_id = ur.user_id \n" +
            "\t LEFT JOIN sys_role r ON ur.role_id = r.role_id  \n" +
            "WHERE ur.role_id IS  NOT NULL AND  u.phone = #{phone} ")
    Integer selectCountSysUser(@Param("phone")String phone);
}
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java
@@ -241,10 +241,13 @@
            }
            Integer countTeam = userDao.selectCountTeam(phone);
            Integer selectCountMemberRole = userDao.selectCountMemberRole(phone);
            Integer isSysUser = userDao.selectCountSysUser(phone);
            if(countTeam!=null&&countTeam>0) {
                loginUserInfoVO.setIsmemberrole(1);
            }else if(selectCountMemberRole!=null&&selectCountMemberRole>0) {
                loginUserInfoVO.setIsmemberrole(1);
            }else if(isSysUser!=null && isSysUser>0){
                loginUserInfoVO.setIsmemberrole(1);
            }
        }
        return R.ok(loginUserInfoVO);