springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/CommunityApi.java
@@ -108,7 +108,7 @@ if (loginUserInfo != null) { userId = loginUserInfo.getUserId(); } return communityService.detailActivity(id, userId); return communityService.detailActivity(id, userId,null,null); } @ApiOperation(value = "分页查询活动评价记录", response = ComActActEvaluateVO.class) @@ -144,7 +144,7 @@ signactivityVO.setUserId(userId); R r = communityService.signActivity(signactivityVO); if (R.isOk(r) && signactivityVO.getType().intValue() == 1) { R r2 = communityService.detailActivity(activityId, userId); R r2 = communityService.detailActivity(activityId, userId,null,null); ComActActivityVO comActActivityVO = JSONObject.parseObject(JSONObject.toJSONString(r2.getData()), ComActActivityVO.class); SysUserNoticeVO sysUserNoticeVO = new SysUserNoticeVO(); springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/DiscussApi.java
@@ -1,27 +1,48 @@ package com.panzhihua.applets.api; import java.util.Date; import java.util.List; import java.util.Objects; import javax.annotation.Resource; import javax.validation.Valid; import javax.validation.constraints.NotBlank; import com.panzhihua.common.model.dtos.community.DiscussVoteOptionDTO; import com.panzhihua.common.validated.PutGroup; import org.springframework.util.ObjectUtils; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import com.panzhihua.applets.weixin.CheckService; import com.panzhihua.common.controller.BaseController; import com.panzhihua.common.model.dtos.community.*; import com.panzhihua.common.model.dtos.community.ComActDiscussCommentDTO; import com.panzhihua.common.model.dtos.community.ComActDiscussCommentUserDTO; import com.panzhihua.common.model.dtos.community.ComActDiscussDTO; import com.panzhihua.common.model.dtos.community.ComActDiscussOptionDTO; import com.panzhihua.common.model.dtos.community.ComActDiscussOptionUserDTO; import com.panzhihua.common.model.dtos.community.ComActDiscussUserDTO; import com.panzhihua.common.model.dtos.community.PageComActDiscussCommentDTO; import com.panzhihua.common.model.dtos.community.PageComActDiscussDTO; import com.panzhihua.common.model.dtos.community.integral.admin.AddComActIntegralUserDTO; import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComActDiscussCommentVO; import com.panzhihua.common.model.vos.community.ComActDiscussVO; import com.panzhihua.common.service.community.CommunityService; import com.panzhihua.common.utlis.DateUtils; import com.panzhihua.common.validated.AddGroup; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; /** @@ -58,6 +79,11 @@ if (ObjectUtils.isEmpty(discussOptions)) { return R.fail("选项不能为空"); } if (discussOptions.size() < 2) { return R.fail("请至少设置两个投票选项"); } //设置投票开始时间 nowDate comActDiscussDTO.setStartTime(DateUtils.format(new Date(), DateUtils.ymdhms_format)); } String address = comActDiscussDTO.getAddress(); if (ObjectUtils.isEmpty(address)) { @@ -70,12 +96,17 @@ Long communityId = loginUserInfo.getCommunityId(); comActDiscussDTO.setUserId(userId); comActDiscussDTO.setCommunityId(communityId); comActDiscussDTO.setIsApplets(true); comActDiscussDTO.setLoginUserInfo(loginUserInfo); return communityService.addDiscuss(comActDiscussDTO); } @ApiOperation(value = "一起议-分页查询", response = ComActDiscussVO.class) @PostMapping("pagediscuss") public R pageDiscuss(@RequestBody PageComActDiscussDTO pageComActDiscussDTO) { if (Objects.isNull(pageComActDiscussDTO.getType())) { return R.fail("查询类型不能为空"); } LoginUserInfoVO loginUserInfo = this.getLoginUserInfoSureNoLogin(); if (loginUserInfo != null) { pageComActDiscussDTO.setCommunityId(loginUserInfo.getCommunityId()); @@ -168,21 +199,37 @@ } @ApiOperation(value = "一起议-投票") @GetMapping("discussoptionuser") @ApiImplicitParam(name = "id", value = "一起议选项主键", required = true) public R addDiscussOptionUser(@RequestParam("id") Long id) { if (null == id || 0 == id) { @PostMapping("discussoptionuser") public R addDiscussOptionUser(@RequestBody @Valid DiscussVoteOptionDTO discussVoteOptionDTO) { List<Long> optionIds = discussVoteOptionDTO.getOptionIds(); if (optionIds.isEmpty()) { return R.fail("选项主键不能为空"); } ComActDiscussOptionUserDTO comActDiscussOptionUserDTO = new ComActDiscussOptionUserDTO(); comActDiscussOptionUserDTO.setDiscussOptionId(id); comActDiscussOptionUserDTO.setDiscussOptionIds(optionIds); comActDiscussOptionUserDTO.setUserId(this.getUserId()); optionIds.forEach(optionId -> { // 议事投票计算积分 AddComActIntegralUserDTO integralUserDTO = new AddComActIntegralUserDTO(id, AddComActIntegralUserDTO integralUserDTO = new AddComActIntegralUserDTO(optionId, AddComActIntegralUserDTO.integralType.cyystp, this.getCommunityId(), this.getUserId()); integralUserDTO.setIsComment(2); communityService.addIntegralTradeAdmin(integralUserDTO); }); return communityService.addDiscussOptionUser(comActDiscussOptionUserDTO); } @ApiOperation(value = "一起议-增加浏览量") @PostMapping("discuss/increase-view-num") public void increaseViewNum(@RequestParam("discussId") @ApiParam(value = "一起议主键id", required = true) Long discussId) { communityService.increaseViewNum(discussId); } @ApiOperation(value = "一起议-公布/编辑投票结果") @PostMapping("discuss/edit-result") public R editDiscussResult(@RequestBody @Validated(PutGroup.class) ComActDiscussDTO comActDiscussDTO) { comActDiscussDTO.setUserId(this.getUserId()); return communityService.editDiscussResult(comActDiscussDTO); } } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/constants/Constants.java
@@ -191,4 +191,9 @@ * 高德地图获取天气key */ public static final String G_D_WEATHER_KEY = "02019a956b118ac7956c8539ab02b0f5"; /** * 社区议事投票小程序身份验证参数默认key */ public static final String DISCUSS_IDENTITY_KEY = "DISCUSS_IDENTITY_"; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComActDiscussDTO.java
@@ -1,34 +1,39 @@ package com.panzhihua.common.model.dtos.community; import java.math.BigDecimal; import java.util.Date; import java.util.List; import javax.validation.constraints.Min; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.common.validated.AddGroup; import com.panzhihua.common.validated.PutGroup; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @program: springcloud_k8s_panzhihuazhihuishequ * @description: 一起议新增编辑 * @description: 议事投票新增编辑 * @author: huang.hongfa weixin hhf9596 qq 959656820 * @create: 2021-01-22 15:34 **/ @Data @ApiModel("一起议新增编辑") @ApiModel("议事投票新增编辑") public class ComActDiscussDTO { @ApiModelProperty("主键") @NotNull(message = "一起议id不能为空", groups = {PutGroup.class}) private Long id; @ApiModelProperty("主题") @NotBlank(groups = {AddGroup.class}, message = "主题不能为空") private String discussSubject; @ApiModelProperty("类型 1 图文 2 投票") @ApiModelProperty("类型 1 议事 2 投票") @Min(value = 1, groups = {AddGroup.class}, message = "类型不能为空") private Integer type; @@ -56,4 +61,39 @@ @ApiModelProperty("选项集合") private List<ComActDiscussOptionDTO> discussOptions; @ApiModelProperty(value = "单张图片宽度") private BigDecimal imgWidth; @ApiModelProperty(value = "单张图片高度") private BigDecimal imgHeight; @ApiModelProperty(value = "投票开始时间(格式:yyyy-MM-dd HH:mm:ss)") private String startTime; @ApiModelProperty(value = "投票结束时间(格式:yyyy-MM-dd HH:mm:ss)") private String endTime; @ApiModelProperty(value = "是否可重复投票(1.是 2.否)") private Integer isRepeat; @ApiModelProperty(value = "每人可投票数") private Integer count; @ApiModelProperty(value = "是否是小程序用户", hidden = true) private Boolean isApplets; @ApiModelProperty(value = "当前登录用户信息", hidden = true) private LoginUserInfoVO loginUserInfo; @ApiModelProperty("投票结果") @NotBlank(message = "投票结果不能为空", groups = {PutGroup.class}) private String publishResult; /** * 类型 1 议事 2 投票 */ public interface type{ int ys = 1; int tp = 2; } } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComActDiscussOptionUserDTO.java
@@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; /** * @program: springcloud_k8s_panzhihuazhihuishequ * @description: 选项投票 @@ -14,8 +16,8 @@ @ApiModel("选项投票") public class ComActDiscussOptionUserDTO { @ApiModelProperty("一起议选项id") private Long discussOptionId; @ApiModelProperty("一起议选项id集合") private List<Long> discussOptionIds; @ApiModelProperty("投票人id") private Long userId; springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/DiscussVoteOptionDTO.java
New file @@ -0,0 +1,25 @@ package com.panzhihua.common.model.dtos.community; import java.util.List; import javax.validation.constraints.NotEmpty; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @title: DiscussVoteOptionDTO * @projectName: 成都呐喊信息技术有限公司-智慧社区项目 * @description: 一起议投票请求参数 * @author: hans * @date: 2021/09/16 17:03 */ @Data @ApiModel("一起议投票请求参数") public class DiscussVoteOptionDTO { @ApiModelProperty("主键") @NotEmpty(message = "投票选项不能为空") private List<Long> optionIds; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/PageComActDiscussCommentDTO.java
@@ -15,10 +15,10 @@ public class PageComActDiscussCommentDTO { @ApiModelProperty(value = "分页-当前页数", example = "1") private Long pageNum; private Long pageNum = 1L; @ApiModelProperty(value = "分页-每页记录数", example = "10") private Long pageSize; private Long pageSize = 10L; @ApiModelProperty(value = "账号") private String account; @@ -34,4 +34,7 @@ @ApiModelProperty(value = "登录用户", required = true) private Long loginUserId; @ApiModelProperty(value = "关键词") private String keyWord; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/PageComActDiscussDTO.java
@@ -18,10 +18,10 @@ @ApiModel("分页查询一起议") public class PageComActDiscussDTO { @ApiModelProperty(value = "分页-当前页数", example = "1") private Long pageNum; private Long pageNum = 1L; @ApiModelProperty(value = "分页-每页记录数", example = "10") private Long pageSize; private Long pageSize = 10L; @ApiModelProperty("主题") private String subject; @@ -45,4 +45,16 @@ @ApiModelProperty("小程序使用 1 表示查询我的议题") private Integer isMy; @ApiModelProperty("状态(1.未开始 2.进行中 3.待公布 4.已公布 5.已发布)") private Integer status; @ApiModelProperty("关键词") private String keyWord; @ApiModelProperty(value = "类型: 1.议事 2.投票,小程序必须传入类型", allowableValues = "1,2") private Integer type; @ApiModelProperty(value = "展示状态,小程序获取不同状态的投票列表 1.进行中 2.已结束", allowableValues = "1,2") private Integer displayStatus; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/discuss/ComActDiscussDetailDTO.java
New file @@ -0,0 +1,24 @@ package com.panzhihua.common.model.dtos.community.discuss; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @author lyq * 议事投票公布结果请求参数 */ @Data @ApiModel("议事投票公布结果请求参数") public class ComActDiscussDetailDTO { @ApiModelProperty("主键id") private Long id; @ApiModelProperty(value = "分页-当前页数", example = "1") private Long pageNum = 1L; @ApiModelProperty(value = "分页-每页记录数", example = "10") private Long pageSize = 10L; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/discuss/ComActDiscussPublishResultDTO.java
New file @@ -0,0 +1,36 @@ package com.panzhihua.common.model.dtos.community.discuss; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; /** * @author lyq * 议事投票公布结果请求参数 */ @Data @ApiModel("议事投票公布结果请求参数") public class ComActDiscussPublishResultDTO { @ApiModelProperty("议事投票id") private Long id; @ApiModelProperty("公布结果") private String result; @ApiModelProperty(value = "用户id",hidden = true) private Long userId; @ApiModelProperty("类型(1.新增公布结果 2.修改公布结果)") private Integer type; /** * 类型(1.新增公布结果 2.修改公布结果) */ public interface type{ int add = 1; int edit = 2; } } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActActivityVO.java
@@ -1,5 +1,6 @@ package com.panzhihua.common.model.vos.community; import java.math.BigDecimal; import java.util.Date; import java.util.List; @@ -123,10 +124,10 @@ private List<ComActActEvaluateVO> comActActEvaluateVOList; @ApiModelProperty("活动评价总数") private Integer evaluateAmount; private Long evaluateAmount; @ApiModelProperty("活动评分星级平均数") private Double evaluateLevel; private BigDecimal evaluateLevel; @ApiModelProperty("当前用户对活动的评分") private Integer myRating; springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActDiscussCommentVO.java
@@ -80,4 +80,7 @@ @ApiModelProperty("评论人用户类型(1.小程序用户(其他均为后台用户))") private Integer userType; @ApiModelProperty("回复量") private Integer replyNum; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActDiscussOptionUserVO.java
New file @@ -0,0 +1,40 @@ package com.panzhihua.common.model.vos.community; import java.util.Date; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @title: ComActDiscussOptionUserVO * @projectName: 成都呐喊信息技术有限公司-智慧社区项目 * @description: 一起议投票记录详情 * @author: hans * @date: 2021/09/08 16:14 */ @Data @ApiModel("一起议投票记录详情") public class ComActDiscussOptionUserVO { @ApiModelProperty("投票记录主键id") private Long id; @ApiModelProperty("一起议选项id") private Long discussOptionId; @ApiModelProperty("投票人id") private Long userId; @ApiModelProperty("投票时间") private Date createAt; @ApiModelProperty("一起议id") private Long discussId; @ApiModelProperty("投票人昵称") private String userNickName; @ApiModelProperty("投票人头像") private String imageUrl; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActDiscussOptionVO.java
@@ -1,5 +1,6 @@ package com.panzhihua.common.model.vos.community; import java.math.BigDecimal; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; @@ -36,6 +37,12 @@ @ApiModelProperty("投票数量") private Integer num; @ApiModelProperty("投票总数量") private Integer allNum; @ApiModelProperty("是否已经投票 1 是 0 否") private Integer haveVote = 0; @ApiModelProperty("投票选项占比") private BigDecimal percent; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActDiscussVO.java
@@ -1,5 +1,6 @@ package com.panzhihua.common.model.vos.community; import java.math.BigDecimal; import java.util.Date; import java.util.List; @@ -24,7 +25,7 @@ @ApiModelProperty("主题") private String discussSubject; @ApiModelProperty("类型 1 图文 2 投票") @ApiModelProperty("类型 1 议事 2 投票") private Integer type; @ApiModelProperty("图片地址 多个用逗号隔开") @@ -58,6 +59,9 @@ @ApiModelProperty("点赞数量") private Integer signNum; @ApiModelProperty("浏览量") private Integer viewsNum; @ApiModelProperty("发布人名字") private String userName; @@ -76,4 +80,60 @@ @ApiModelProperty("用户类型 1 小程序 2 运营平台 3 社区平台 5 商家后台 6 网格综治APP 7 网格综治后台") private Integer userType; @ApiModelProperty("状态(1.未开始 2.进行中 3.待公布 4.已公布 5.已发布)") private Integer status; @ApiModelProperty("公布结果") private String publishResult; @ApiModelProperty("公布时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date publishAt; @ApiModelProperty("发布时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date releaseAt; @ApiModelProperty("投票开始时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date startTime; @ApiModelProperty("投票结束时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date endTime; @ApiModelProperty("参与讨论人数") private Integer joinNum; @ApiModelProperty("单张图片宽度") private BigDecimal imgWidth; @ApiModelProperty("单张图片高度") private BigDecimal imgHeight; @ApiModelProperty("是否可重复投票(1.是 2.否)") private Integer isRepeat; @ApiModelProperty("每人票数") private Integer count; @ApiModelProperty("议事投票评论列表") private List<ComActDiscussCommentVO> discussCommentList; @ApiModelProperty("剩余可投票数") private Integer remainingVotes; @ApiModelProperty("已投票记录列表") private List<ComActDiscussOptionUserVO> comActDiscussOptionUserVOList; @ApiModelProperty("已参与投票人数") private Integer votedPersonNum; /** * 类型 1 议事 2 投票 */ public interface type{ int ys = 1; int tp = 2; } } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActQuestnaireAnswerContentVO.java
@@ -37,7 +37,7 @@ private Date time; @ApiModelProperty("用户昵称") private String nickName; @ApiModelProperty("选项类型(0 单选 1 多选 2 输入框 3 手机号 4 身份证 5 文字描述 6 日期选择 7 时间选择 8 可换行的输入框 9姓名输入框)") @ApiModelProperty("选项类型(0 单选 1 多选 2 输入框 3 手机号 4 身份证 5 文字描述 6 日期选择 7 时间选择 8 可换行的输入框 9姓名输入框 10图片选择 11文件上传)") private Integer optionType; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComElderAuthRecordExcleVO.java
@@ -62,9 +62,12 @@ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date authDate; @ExcelProperty(value = "标记", index = 12) @ExcelProperty(value = "认证方式", index = 12) private String authMethod; @ExcelProperty(value = "标记", index = 13) private String mark; @ExcelProperty(value = "审核状态", index = 13) @ExcelProperty(value = "审核状态", index = 14) private String approvalStatus; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComElderAuthRecordStatisticExcleVO.java
@@ -56,9 +56,13 @@ @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private Date authDate; @ExcelProperty(value = "标记", index = 11) @ExcelProperty(value = "认证方式", index = 11) private String authMethod; @ExcelProperty(value = "标记", index = 12) private String mark; @ExcelProperty(value = "认证状态", index = 12) @ExcelProperty(value = "认证状态", index = 13) private String authStatus; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComElderAuthRecordVO.java
@@ -33,6 +33,9 @@ @ApiModelProperty(value = "提交用户id") private Long submitUserId; @ApiModelProperty(value = "认证方式(1.视频认证 2.人脸认证)") private Integer authMethod; @ApiModelProperty(value = "提交用户姓名") private String submitUserName; @@ -99,4 +102,13 @@ @ApiModelProperty(value = "更新时间") private Date updateAt; @ApiModelProperty(value = "本期认证总人数") private Integer authAmount; @ApiModelProperty(value = "本期认证成功人数") private Integer authSucceedAmount; @ApiModelProperty(value = "本期未认证人数") private Integer authNoAmount; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComPensionAuthRecordVO.java
@@ -27,6 +27,9 @@ @ApiModelProperty(value = "养老金用户id") private Long pensionerId; @ApiModelProperty(value = "认证方式(1.视频认证 2.人脸认证)") private Integer authMethod; @ApiModelProperty(value = "认证期数") private String authPeriod; springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
@@ -4,6 +4,8 @@ import com.panzhihua.common.model.dtos.community.GetIdentityEidTokenDTO; import com.panzhihua.common.model.dtos.community.*; import com.panzhihua.common.model.dtos.community.discuss.ComActDiscussDetailDTO; import com.panzhihua.common.model.dtos.community.discuss.ComActDiscussPublishResultDTO; import com.panzhihua.common.model.dtos.neighbor.*; import com.panzhihua.common.model.vos.community.*; import io.swagger.annotations.ApiOperation; @@ -320,7 +322,7 @@ * @return 详情 */ @PostMapping("detailactivity") R detailActivity(@RequestParam("id") Long id, @RequestParam(value = "userId", required = false) Long userId); R detailActivity(@RequestParam("id") Long id, @RequestParam(value = "userId", required = false) Long userId,@RequestParam(value = "pageNum", required = false) Long pageNum,@RequestParam(value = "pageSize", required = false) Long pageSize); /** * 分页活动报名名单 @@ -1289,12 +1291,20 @@ /** * 议事投票-详情 * * @param id * 主键 * @param discussDetailDTO * 请求参数 * @return ComActDiscussVO */ @PostMapping("detaildiscuss") R detailDiscuss(@RequestParam("id") Long id); R detailDiscuss(@RequestBody ComActDiscussDetailDTO discussDetailDTO); /** * 分页查询评论下回复列表 * @param discussDetailDTO 请求参数 * @return 回复列表 */ @PostMapping("discussCommentReplyAdmin") R discussCommentReplyAdmin(@RequestBody ComActDiscussDetailDTO discussDetailDTO); /** * 议事投票-删除 @@ -1327,6 +1337,16 @@ R pageDiscuss(@RequestBody PageComActDiscussDTO pageComActDiscussDTO); /** * 议事投票-后台分页查询 * * @param pageComActDiscussDTO * 查询参数 * @return ComActDiscussVO */ @PostMapping("pagediscussAdmin") R pageDiscussAdmin(@RequestBody PageComActDiscussDTO pageComActDiscussDTO); /** * 议事投票-评论-查看 * * @param id @@ -1335,6 +1355,14 @@ */ @PostMapping("detaildiscusscomment") R detailDiscussComment(@RequestParam("id") Long id); /** * 议事投票评论详情 * @param pageComActDiscussCommentDTO 请求参数 * @return 议事投票详情 */ @PostMapping("detaildiscusscommentAdmin") R detailDiscussCommentAdmin(@RequestBody PageComActDiscussCommentDTO pageComActDiscussCommentDTO); /** * 议事投票-评论-置顶 @@ -1365,6 +1393,16 @@ */ @PostMapping("pagediscusscomment") R pageDiscussComment(@RequestBody PageComActDiscussCommentDTO pageComActDiscussCommentDTO); /** * 议事投票-评论-后台分页查询 * * @param pageComActDiscussCommentDTO * 分页查询参数 * @return ComActDiscussCommentVO */ @PostMapping("pagediscusscommentAdmin") R pageDiscussCommentAdmin(@RequestBody PageComActDiscussCommentDTO pageComActDiscussCommentDTO); /** * 议事投票-分页查询 小程序 @@ -3764,6 +3802,27 @@ R exportPensionAuthRecordsStatistic(@RequestBody PageElderAuthRecordsDTO pageElderAuthRecordsDTO); /** * 查询养老认证社区认证方式 setPensionAuthType 查询养老认证社区认证方式 * @param eldersAuthTypeQueryDTO 查询参数 * @return R 查询结果 * @author txb * @date 2021/9/10 16:03 */ @PostMapping("/elders/pensionAuthRecords/authtype") R communityPensionAuthType(@RequestBody EldersAuthTypeQueryDTO eldersAuthTypeQueryDTO); /** * 设置当前社区养老认证方式:核验类型(1.视频认证 2.人脸核验) setPensionAuthType 设置当前社区养老认证方式:核验类型(1.视频认证 2.人脸核验) * @param communityId 社区id * @param type 检验类型 * @return R 设置结果 * @author txb * @date 2021/9/10 16:03 */ @PutMapping("/elders/pensionAuthRecords/authType/{type}") R setPensionAuthType(@RequestParam("communityId") Long communityId, @RequestParam("type") Integer type); /** * 小程序-查询疫苗分类列表 * * @return 疫苗分类列表 @@ -5635,6 +5694,67 @@ R editSysConfValue(@RequestParam("communityId") Long communityId,@RequestParam("status") Integer status); /** * 议事投票后台公布结果 * @param publishResultDTO 请求参数 * @return 公布结果 */ @PostMapping("publishResultAdmin") R publishResultAdmin(@RequestBody ComActDiscussPublishResultDTO publishResultDTO); /** * 议事投票-评论/回复删除 * @param id 评论/回复id * @return 删除结果 */ @GetMapping("deleteDiscussCommentAdmin") R deleteDiscussCommentAdmin(@RequestParam("id") Long id); /** * 查询社区可发布议事投票权限配置 * @param communityId 社区id * @return 社区可发布议事投票权限配置 */ @GetMapping("discussJurisdictionGet") R discussJurisdictionGet(@RequestParam("communityId") Long communityId,@RequestParam("userId") Long userId); /** * 设置当前社区议事投票小程序身份验证参数(1.全部 2.党员 3.志愿者 4.社区工作人员) * @param communityId 社区id * @param value 需要设置的参数值 * @return 设置结果 */ @GetMapping("discussJurisdictionSet") R discussJurisdictionSet(@RequestParam("communityId") Long communityId, @RequestParam("value") String value); /** * 议事投票检测状态定时任务 * @return 执行结果 */ @GetMapping("timedTaskDiscussInspectStatus") R timedTaskDiscussInspectStatus(); /** * 一起议增加浏览量 * @param discussId 一起议主键id */ @PostMapping("discuss/increase-view-num") void increaseViewNum(@RequestParam("discussId") Long discussId); /** * 定时任务每半小时执行一次将一起议浏览量写入到表中 */ @PostMapping("discuss/write-view-num") R timedTaskWriteDiscussViewNumToTable(); /** * 公布/编辑一起议投票结果 * @param comActDiscussDTO * @return 请求结果 */ @PostMapping("discuss/edit-result") R editDiscussResult(@RequestBody ComActDiscussDTO comActDiscussDTO); /** * 定时任务扫描高龄认证记录信息 * @return 执行结果 */ @@ -5687,6 +5807,23 @@ R reserveListApplets(@RequestParam("communityId") Long communityId); /** * 查询社区高龄认证方式(1.视频认证 2.人脸核验) * @param eldersAuthTypeQueryDTO 请求参数 * @return 社区高龄认证方式(1.视频认证 2.人脸核验) */ @PostMapping("/elders/new/authtype") R communityEldersAuthType(@RequestBody EldersAuthTypeQueryDTO eldersAuthTypeQueryDTO); /** * 设置当前社区高龄认证方式:核验类型(1.视频认证 2.人脸核验) * @param communityId 社区id * @param type 检验类型 * @return R 设置结果 */ @PutMapping("/elders/new/authType/{type}") R setEldersAuthType(@RequestParam("communityId") Long communityId, @RequestParam("type") Integer type); /** * 新增身份认证 * @param addIdentityAuthDTO 新增身份认证请求参数 * @return 新增结果结果 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/user/UserService.java
@@ -988,4 +988,13 @@ */ @GetMapping("getUserListByCommunityId") R getUserListByCommunityId(@RequestParam("communityId") Long communityId); /** * 检查当前用户是否是社区工作人员 * @param phone * @param communityId * @return */ @GetMapping("checkIsTeam") R checkCurrentUserIsTeam(@RequestParam("phone") String phone, @RequestParam("communityId") Long communityId); } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/DateUtils.java
@@ -22,6 +22,7 @@ public static SimpleDateFormat ymdhm_format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); public static DateTimeFormatter format_ymd_String = DateTimeFormatter.ofPattern("yyMMdd"); public static SimpleDateFormat yyyyMM_format = new SimpleDateFormat("yyyy-MM"); public static SimpleDateFormat format_yyymmdd = new SimpleDateFormat("yyyyMMdd"); private static DateTimeFormatter format_ymdhmssss = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS"); private static DateTimeFormatter format_ymds = DateTimeFormatter.ofPattern("yyyyMMdd"); springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/HttpClientUtil.java
@@ -76,7 +76,7 @@ stringEntity.setContentEncoding(HttpConstant.UTF8_ENCODE); stringEntity.setContentType(HttpConstant.APPLICATION_JSON); httpPost.setEntity(stringEntity); log.info("请求{}接口的参数为{}", url, jsonParam); // log.info("请求{}接口的参数为{}", url, jsonParam); // 执行发送,获取相应结果 httpResponse = httpClient.execute(httpPost); httpEntity = httpResponse.getEntity(); @@ -99,7 +99,7 @@ } // 请求接口的响应时间 endTime = System.currentTimeMillis(); log.info("请求{}接口的响应报文内容为{},本次请求API接口的响应时间为:{}毫秒", url, result, (endTime - startTime)); // log.info("请求{}接口的响应报文内容为{},本次请求API接口的响应时间为:{}毫秒", url, result, (endTime - startTime)); return result; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/HttpUtils.java
@@ -56,7 +56,7 @@ BufferedReader in = null; try { String urlNameString = url + "?" + param; log.info("sendGet - {}", urlNameString); // log.info("sendGet - {}", urlNameString); URL realUrl = new URL(urlNameString); URLConnection connection = realUrl.openConnection(); connection.setRequestProperty("accept", "*/*"); @@ -68,7 +68,7 @@ while ((line = in.readLine()) != null) { result.append(line); } log.info("recv - {}", result); // log.info("recv - {}", result); } catch (ConnectException e) { log.error("调用HttpUtils.sendGet ConnectException, url=" + url + ",param=" + param, e); } catch (SocketTimeoutException e) { springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ComActReserveApi.java
@@ -37,6 +37,7 @@ import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.net.URL; import java.text.SimpleDateFormat; import java.util.*; @@ -486,7 +487,7 @@ String firstRowContent = "登记明细"; List<String> head0 = new ArrayList<>(); head0.add(firstRowContent); head0.add("姓名"); head0.add("登记人昵称"); headList.add(head0); List<String> head1 = new ArrayList<>(); head1.add(firstRowContent); @@ -496,7 +497,11 @@ if (sub.getType() != 5) { List<String> headn = new ArrayList<>(); headn.add(firstRowContent); if(sub.getType() == 11){ headn.add(sub.getContent().substring(0, sub.getContent().indexOf("("))); }else{ headn.add(sub.getContent()); } headList.add(headn); } }); @@ -592,18 +597,15 @@ if (!reserveRecordId.equals(userAnswers.getReserveRecordId())) { reserveSubId = 0L; String answer = sb.toString(); userData.add(answer.substring(0, answer.length() - 1)); sb = new StringBuffer(); resultList.add(userData); userData = new ArrayList<>(); reserveRecordId = userAnswers.getReserveRecordId(); userData.add(userAnswers.getNickName()); userData.add(DateUtils.format(userAnswers.getTime(), DateUtils.ymdhms_format)); answer = sb.toString(); if(StringUtils.isEmpty(answer)){ if(StringUtils.isNotEmpty(userAnswers.getAnswerContent())){ userData.add(userAnswers.getAnswerContent()); }else{ userData.add(" "); } }else{ if(reserveSubId.equals(0L)){ @@ -612,23 +614,45 @@ if(!reserveSubId.equals(userAnswers.getReserveSubId())){ reserveSubId = userAnswers.getReserveSubId(); String answer = sb.toString(); if(StringUtils.isEmpty(answer)){ sb.append(userAnswers.getAnswerContent() + ","); answer = sb.toString(); //判断当前的组件类型是否是图片上传,导出时需要导出图片 if(userAnswers.getOptionType().equals(11)){ reserveSubId = userAnswers.getReserveSubId(); try { userData.add(new URL(userAnswers.getAnswerContent())); }catch (Exception e){ userData.add(" "); log.error("导出转换图片失败!"); } continue; } sb.append(userAnswers.getAnswerContent()==null?"无":userAnswers.getAnswerContent() + ","); String answer = sb.toString(); userData.add(answer.substring(0, answer.length() - 1)); sb = new StringBuffer(); sb.append(userAnswers.getAnswerContent() + ","); }else{ sb.append(userAnswers.getAnswerContent() + ","); //判断当前的组件类型是否是图片上传,导出时需要导出图片 if(userAnswers.getOptionType().equals(11)){ reserveSubId = userAnswers.getReserveSubId(); try { userData.add(new URL(userAnswers.getAnswerContent())); }catch (Exception e){ userData.add(" "); log.error("导出转换图片失败!"); } continue; } } sb.append(userAnswers.getAnswerContent()==null?"无":userAnswers.getAnswerContent() + ","); String answer = sb.toString(); if(StringUtils.isNotEmpty(answer)){ userData.add(answer.substring(0, answer.length() - 1)); sb = new StringBuffer(); } } } // String answer = sb.toString(); // if(StringUtils.isNotEmpty(answer)){ // userData.add(answer.substring(0, answer.length() - 1)); // } resultList.add(userData); } return resultList; springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/CommunityActivityApi.java
@@ -157,7 +157,7 @@ if (R.isOk(r)) { ActivitySignVO activitySignVO = new ActivitySignVO(); activitySignVO.setActivityId(id); R r3 = this.detailActivity(id); R r3 = this.detailActivity(id,null,null); if (R.isOk(r3)) { Object data = r3.getData(); ComActActivityVO comActActivityVO = @@ -208,9 +208,9 @@ @ApiOperation(value = "活动详情", response = ComActActivityVO.class) @GetMapping("detailactivity") public R detailActivity(@RequestParam("id") Long id) { public R detailActivity(@RequestParam("id") Long id,@RequestParam(value = "pageNum", required = false) Long pageNum,@RequestParam(value = "pageSize", required = false) Long pageSize) { Long userId = this.getUserId(); return communityService.detailActivity(id, userId); return communityService.detailActivity(id, userId,pageNum,pageSize); } @ApiOperation(value = "查询活动报名名单集合") springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/CommunityQuestnaireApi.java
@@ -3,12 +3,14 @@ import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.net.URL; import java.text.SimpleDateFormat; import java.util.*; import javax.annotation.Resource; import com.panzhihua.common.utlis.DateUtils; import com.panzhihua.common.utlis.StringUtils; import org.springframework.web.bind.annotation.*; import com.alibaba.excel.EasyExcel; @@ -173,7 +175,7 @@ String firstRowContent = "调查结果"; List<String> head0 = new ArrayList<>(); head0.add(firstRowContent); head0.add("姓名"); head0.add("调查人昵称"); headList.add(head0); List<String> head1 = new ArrayList<>(); head1.add(firstRowContent); @@ -182,53 +184,14 @@ subVOList.forEach(sub -> { List<String> headn = new ArrayList<>(); headn.add(firstRowContent); if(sub.getType() == 11){ headn.add(sub.getContent().substring(0, sub.getContent().indexOf("("))); }else{ headn.add(sub.getContent()); } headList.add(headn); }); List<List<Object>> datalist = new ArrayList<>(); List<ComActQuestnaireAnswerContentVO> answerContentVOList = questnaireAnswersDTOS.getAnswers(); if (answerContentVOList != null && answerContentVOList.size() > 0) { List<Object> userData = new ArrayList<>(); List<ComActQuestnaireAnswerContentVO> usersAnswers = questnaireAnswersDTOS.getAnswers(); //查询用户回答的所有答案,并新增到答案列表中 Long reserveRecordId = null; StringBuffer sb = new StringBuffer(); Boolean isDX = false; for (ComActQuestnaireAnswerContentVO userAnswers:usersAnswers) { if(reserveRecordId == null){ reserveRecordId = userAnswers.getReserveRecordId(); userData.add(userAnswers.getNickName()); userData.add(DateUtils.format(userAnswers.getTime(),DateUtils.ymdhms_format)); } if(!reserveRecordId.equals(userAnswers.getReserveRecordId())){ if(isDX){ String answer = sb.toString(); userData.add(answer.substring(0,answer.length()-1)); sb = new StringBuffer(); isDX = false; } datalist.add(userData); userData = new ArrayList<>(); reserveRecordId = userAnswers.getReserveRecordId(); userData.add(userAnswers.getNickName()); userData.add(DateUtils.format(userAnswers.getTime(),DateUtils.ymdhms_format)); } //判断是否是多选框 if(userAnswers.getOptionType().equals(1)){ isDX = true; sb.append(userAnswers.getAnswerContent() + ","); continue; } userData.add(userAnswers.getAnswerContent()); } if(isDX){ String answer = sb.toString(); userData.add(answer.substring(0,answer.length()-1)); } datalist.add(userData); } List<List<Object>> datalist = dataList(questnaireAnswersDTOS.getAnswers()); WriteCellStyle headWriteCellStyle = new WriteCellStyle(); WriteCellStyle contentWriteCellStyle = new WriteCellStyle(); @@ -346,4 +309,90 @@ return communityService.statisticsSummaryHeader(questId, loginUserInfo.getCommunityId()); } /** * 数据转换 * @param answerContentVOList 用户问答列表数据 * @return 调查问卷需要导出数据 */ private List<List<Object>> dataList(List<ComActQuestnaireAnswerContentVO> answerContentVOList) { //结果数据集合 List<List<Object>> resultList = new ArrayList<>(); //构建单个用户数据 List<Object> userData = new ArrayList<>(); //遍历答案列表 Long reserveRecordId = 0L; Long reserveSubId = 0L; StringBuffer sb = new StringBuffer(); if (answerContentVOList != null && answerContentVOList.size() > 0) { for (ComActQuestnaireAnswerContentVO userAnswers : answerContentVOList) { //判断是文字描述直接跳过 if (userAnswers.getOptionType().equals(5)) { continue; } //判断reserveRecordId为空则为第一条记录,默认加上昵称和灯谜是 if (reserveRecordId.equals(0L)) { reserveRecordId = userAnswers.getReserveRecordId(); userData.add(userAnswers.getNickName()); userData.add(DateUtils.format(userAnswers.getTime(), DateUtils.ymdhms_format)); } //根据reserveRecordId判断是否是第二条填报记录 if (!reserveRecordId.equals(userAnswers.getReserveRecordId())) { reserveSubId = 0L; userData = new ArrayList<>(); reserveRecordId = userAnswers.getReserveRecordId(); userData.add(userAnswers.getNickName()); userData.add(DateUtils.format(userAnswers.getTime(), DateUtils.ymdhms_format)); if(StringUtils.isNotEmpty(userAnswers.getAnswerContent())){ userData.add(userAnswers.getAnswerContent()); }else{ userData.add(" "); } }else{ if(reserveSubId.equals(0L)){ reserveSubId = userAnswers.getReserveSubId(); } if(!reserveSubId.equals(userAnswers.getReserveSubId())){ reserveSubId = userAnswers.getReserveSubId(); //判断当前的组件类型是否是图片上传,导出时需要导出图片 if(userAnswers.getOptionType().equals(11)){ reserveSubId = userAnswers.getReserveSubId(); try { userData.add(new URL(userAnswers.getAnswerContent())); }catch (Exception e){ userData.add(" "); log.error("导出转换图片失败!"); } continue; } sb.append(userAnswers.getAnswerContent()==null?"无":userAnswers.getAnswerContent() + ","); String answer = sb.toString(); userData.add(answer.substring(0, answer.length() - 1)); sb = new StringBuffer(); }else{ //判断当前的组件类型是否是图片上传,导出时需要导出图片 if(userAnswers.getOptionType().equals(11)){ reserveSubId = userAnswers.getReserveSubId(); try { userData.add(new URL(userAnswers.getAnswerContent())); }catch (Exception e){ userData.add(" "); log.error("导出转换图片失败!"); } continue; } sb.append(userAnswers.getAnswerContent()==null?"无":userAnswers.getAnswerContent() + ","); String answer = sb.toString(); userData.add(answer.substring(0, answer.length() - 1)); sb = new StringBuffer(); } } } resultList.add(userData); } return resultList; } } springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/DiscussApi.java
@@ -1,10 +1,11 @@ package com.panzhihua.community_backstage.api; import java.util.List; import javax.annotation.Resource; import com.panzhihua.common.model.dtos.community.discuss.ComActDiscussDetailDTO; import com.panzhihua.common.model.dtos.community.discuss.ComActDiscussPublishResultDTO; import org.springframework.util.ObjectUtils; import org.springframework.util.StringUtils; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -23,54 +24,78 @@ /** * @program: springcloud_k8s_panzhihuazhihuishequ * @description: 一起议 * @description: 议事投票 * @author: huang.hongfa weixin hhf9596 qq 959656820 * @create: 2021-01-22 15:30 **/ @Slf4j @Api(tags = {"一起议"}) @Api(tags = {"议事投票"}) @RestController @RequestMapping("/") public class DiscussApi extends BaseController { @Resource private CommunityService communityService; @ApiOperation(value = "一起议-新增") @ApiOperation(value = "议事投票-新增-") @PostMapping("discuss") public R addDiscuss(@RequestBody @Validated(AddGroup.class) ComActDiscussDTO comActDiscussDTO) { Integer type = comActDiscussDTO.getType(); String voteTitle = comActDiscussDTO.getVoteTitle(); List<ComActDiscussOptionDTO> discussOptions = comActDiscussDTO.getDiscussOptions(); if (type.equals(2)) { if (ObjectUtils.isEmpty(voteTitle)) { LoginUserInfoVO loginUserInfo = this.getLoginUserInfo(); if (loginUserInfo == null) { return R.fail("请先登录"); } comActDiscussDTO.setUserId(loginUserInfo.getUserId()); comActDiscussDTO.setCommunityId(loginUserInfo.getCommunityId()); if (comActDiscussDTO.getType().equals(ComActDiscussDTO.type.tp)) { if (ObjectUtils.isEmpty(comActDiscussDTO.getVoteTitle())) { return R.fail("投票标题不能为空"); } if (ObjectUtils.isEmpty(discussOptions)) { if (ObjectUtils.isEmpty(comActDiscussDTO.getDiscussOptions())) { return R.fail("选项不能为空"); } } LoginUserInfoVO loginUserInfo = this.getLoginUserInfo(); Long userId = loginUserInfo.getUserId(); Long communityId = loginUserInfo.getCommunityId(); comActDiscussDTO.setUserId(userId); comActDiscussDTO.setCommunityId(communityId); return communityService.addDiscuss(comActDiscussDTO); } @ApiOperation(value = "一起议-详情", response = ComActDiscussVO.class) @GetMapping("discuss") public R detailDiscuss(@RequestParam("id") Long id) { return communityService.detailDiscuss(id); @ApiOperation(value = "议事投票-编辑-") @PostMapping("editDiscuss") public R editDiscuss(@RequestBody @Validated(AddGroup.class) ComActDiscussDTO comActDiscussDTO) { LoginUserInfoVO loginUserInfo = this.getLoginUserInfo(); if (loginUserInfo == null) { return R.fail("请先登录"); } comActDiscussDTO.setUserId(loginUserInfo.getUserId()); comActDiscussDTO.setCommunityId(loginUserInfo.getCommunityId()); if (comActDiscussDTO.getType().equals(ComActDiscussDTO.type.tp)) { if (ObjectUtils.isEmpty(comActDiscussDTO.getVoteTitle())) { return R.fail("投票标题不能为空"); } if (ObjectUtils.isEmpty(comActDiscussDTO.getDiscussOptions())) { return R.fail("选项不能为空"); } } return communityService.editDiscuss(comActDiscussDTO); } @ApiOperation(value = "一起议-删除") @ApiOperation(value = "议事投票-详情-", response = ComActDiscussVO.class) @PostMapping("discussDetail") public R detailDiscuss(@RequestBody ComActDiscussDetailDTO discussDetailDTO) { return communityService.detailDiscuss(discussDetailDTO); } @ApiOperation(value = "议事投票-分页查询评论下回复列表-", response = ComActDiscussCommentVO.class) @PostMapping("discuss/commment/reply") public R discussCommentReplyAdmin(@RequestBody ComActDiscussDetailDTO discussDetailDTO) { return communityService.discussCommentReplyAdmin(discussDetailDTO); } @ApiOperation(value = "议事投票-删除-") @DeleteMapping("discuss") public R deleteDiscuss(@RequestParam("id") Long id) { return communityService.deleteDiscuss(id); } @ApiOperation(value = "一起议-回复") @PostMapping("discusscomment") @ApiOperation(value = "议事投票-回复-") @PostMapping("addDiscussComment") public R addDiscussComment(@RequestBody ComActDiscussCommentDTO comActDiscussCommentDTO) { String comment = comActDiscussCommentDTO.getComment(); if (ObjectUtils.isEmpty(comment)) { @@ -78,33 +103,39 @@ } Long discussId = comActDiscussCommentDTO.getDiscussId(); if (null == discussId || 0 == discussId) { return R.fail("一起议主键不能为空"); return R.fail("议事投票主键不能为空"); } comActDiscussCommentDTO.setUserId(this.getUserId()); return communityService.addDiscussComment(comActDiscussCommentDTO); } @ApiOperation(value = "一起议-分页查询", response = ComActDiscussVO.class) @ApiOperation(value = "议事投票-分页查询-", response = ComActDiscussVO.class) @PostMapping("pagediscuss") public R pageDiscuss(@RequestBody PageComActDiscussDTO pageComActDiscussDTO) { pageComActDiscussDTO.setCommunityId(this.getCommunityId()); return communityService.pageDiscuss(pageComActDiscussDTO); return communityService.pageDiscussAdmin(pageComActDiscussDTO); } @ApiOperation(value = "一起议-评论-查看", response = ComActDiscussCommentVO.class) @ApiOperation(value = "议事投票-评论详情", response = ComActDiscussCommentVO.class) @GetMapping("discusscomment") public R detailDiscussComment(@RequestParam("id") Long id) { return communityService.detailDiscussComment(id); } @ApiOperation(value = "一起议-评论-置顶") @ApiOperation(value = "议事投票-评论详情-改版后", response = ComActDiscussCommentVO.class) @PostMapping("discusscomment") public R detailDiscussCommentAdmin(@RequestBody PageComActDiscussCommentDTO pageComActDiscussCommentDTO) { return communityService.detailDiscussCommentAdmin(pageComActDiscussCommentDTO); } @ApiOperation(value = "议事投票-评论-置顶-") @GetMapping("discusscommenttop") public R putDiscussCommentTop(@RequestParam("id") Long id) { return communityService.putDiscussCommentTop(id); } @ApiOperation(value = "一起议-评论-回复") @ApiOperation(value = "议事投票-评论-回复-") @PostMapping("discusscommentback") public R addDiscussCommentBack(@RequestBody ComActDiscussCommentDTO comActDiscussCommentDTO) { String comment = comActDiscussCommentDTO.getComment(); @@ -119,13 +150,49 @@ return communityService.addDiscussCommentBack(comActDiscussCommentDTO); } @ApiOperation(value = "一起议-评论-分页查询", response = ComActDiscussCommentVO.class) @ApiOperation(value = "议事投票-评论列表分页查询-", response = ComActDiscussCommentVO.class) @PostMapping("pagediscusscomment") public R pageDiscussComment(@RequestBody PageComActDiscussCommentDTO pageComActDiscussCommentDTO) { Long id = pageComActDiscussCommentDTO.getId(); if (null == id || 0 == id) { return R.fail("一起议主键不能为空"); return R.fail("议事投票主键不能为空"); } return communityService.pageDiscussComment(pageComActDiscussCommentDTO); return communityService.pageDiscussCommentAdmin(pageComActDiscussCommentDTO); } @ApiOperation(value = "议事投票-公布结果/修改公布结果-") @PostMapping("publishResult") public R publishResult(@RequestBody ComActDiscussPublishResultDTO publishResultDTO) { String result = publishResultDTO.getResult(); if (ObjectUtils.isEmpty(result)) { return R.fail("公布的结果不能为空"); } Long id = publishResultDTO.getId(); if (null == id || 0 == id) { return R.fail("议事投票id不能为空"); } publishResultDTO.setUserId(this.getUserId()); return communityService.publishResultAdmin(publishResultDTO); } @ApiOperation(value = "议事投票-评论/回复删除-") @DeleteMapping("discuss/comment/del") public R deleteDiscussCommentAdmin(@RequestParam("id") Long id) { return communityService.deleteDiscussCommentAdmin(id); } @ApiOperation(value = "查询社区可发布议事投票权限配置") @GetMapping("discuss/jurisdiction/get") public R discussJurisdictionGet() { return communityService.discussJurisdictionGet(this.getCommunityId(),this.getUserId()); } @PutMapping("/discuss/jurisdiction/set/{value}") @ApiOperation(value = "设置当前社区议事投票小程序身份验证参数(1.全部 2.党员 3.志愿者 4.社区工作人员)") public R discussJurisdictionSet(@PathVariable("value") String value) { if (StringUtils.isEmpty(value)) { return R.fail("参数错误"); } return communityService.discussJurisdictionSet(this.getCommunityId(), value); } } springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/EldersAuthApi.java
@@ -707,6 +707,48 @@ } } /** * 查询养老认证社区认证方式 setPensionAuthType 查询养老认证社区认证方式 * @return R 查询结果 * @author txb * @date 2021/9/10 16:03 */ @ApiOperation(value = "查询社区养老认证方式", response = R.class) @GetMapping("/pensionAuthRecords/authtype") public R communityPensionAuthType() { Long communityId = this.getCommunityId(); EldersAuthTypeQueryDTO eldersAuthTypeQueryDTO = new EldersAuthTypeQueryDTO(); eldersAuthTypeQueryDTO.setCommunityId(communityId); return communityService.communityPensionAuthType(eldersAuthTypeQueryDTO); } @PutMapping("/pensionAuthRecords/authType/{type}") @ApiOperation(value = "设置当前社区养老认证方式:核验类型(1.视频认证 2.人脸核验)", response = R.class) R setPensionAuthType(@PathVariable("type") Integer type) { if (type != 1 && type != 2) { return R.fail("参数错误"); } return communityService.setPensionAuthType(this.getCommunityId(), type); } @ApiOperation(value = "查询社区高龄认证方式", response = R.class) @GetMapping("/authtype") public R communityAuthType() { Long communityId = this.getCommunityId(); EldersAuthTypeQueryDTO eldersAuthTypeQueryDTO = new EldersAuthTypeQueryDTO(); eldersAuthTypeQueryDTO.setCommunityId(communityId); return communityService.communityPensionAuthType(eldersAuthTypeQueryDTO); } @PutMapping("/authType/{type}") @ApiOperation(value = "设置当前社区高龄认证方式:核验类型(1.视频认证 2.人脸核验)", response = R.class) public R setAuthType(@PathVariable("type") Integer type) { if (type != 1 && type != 2) { return R.fail("参数错误"); } return communityService.setPensionAuthType(this.getCommunityId(), type); } private List<List<String>> headDataFilling() { List<List<String>> list = new ArrayList<List<String>>(); List<String> head0 = new ArrayList<String>(); springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java
@@ -11,6 +11,7 @@ import javax.annotation.Resource; import com.panzhihua.service_community.dao.ComActActEvaluateDAO; import com.panzhihua.service_community.model.dos.*; import com.panzhihua.service_community.service.*; import org.springframework.beans.BeanUtils; @@ -149,6 +150,8 @@ private ComEldersAuthElderlyService comEldersAuthElderlyService; @Resource private ComActMicroWishOperationRecordService wishOperationRecordService; @Resource private ComActActEvaluateDAO comActActEvaluateDAO; /** * 新增社区活动 @@ -334,7 +337,9 @@ */ @PostMapping("detailactivity") public R detailActivity(@RequestParam("id") Long id, @RequestParam(value = "userId", required = false) Long userId) { @RequestParam(value = "userId", required = false) Long userId, @RequestParam(value = "pageNum",defaultValue = "1", required = false) Long pageNum, @RequestParam(value = "pageSize",defaultValue = "10", required = false) Long pageSize) { ComActActivityVO comActActivityVO = comActActivityService.inforActivity(id, userId); if (ObjectUtils.isEmpty(comActActivityVO)) { return R.fail("活动不存在"); @@ -352,26 +357,14 @@ comActActivityVO.setComActActPrizeVOList(comActActPrizeVOS); } //活动评价 List<ComActActEvaluateDO> comActActEvaluateDOList = comActActEvaluateService .list(new QueryWrapper<ComActActEvaluateDO>().lambda().eq(ComActActEvaluateDO::getActivityId, id)); if (!ObjectUtils.isEmpty(comActActEvaluateDOList)) { List<ComActActEvaluateVO> comActActEvaluateVOList = new ArrayList<>(); comActActEvaluateDOList.forEach(comActActEvaluateDO -> { ComActActEvaluateVO comActActEvaluateVO = new ComActActEvaluateVO(); BeanUtils.copyProperties(comActActEvaluateDO, comActActEvaluateVO); comActActEvaluateVOList.add(comActActEvaluateVO); }); comActActivityVO.setComActActEvaluateVOList(comActActEvaluateVOList); IPage<ComActActEvaluateVO> comActActEvaluatePage = comActActEvaluateDAO.getEvaluateListPage(new Page(pageNum,pageSize),id); comActActivityVO.setComActActEvaluateVOList(comActActEvaluatePage.getRecords()); //活动评价总数 comActActivityVO.setEvaluateAmount(comActActEvaluateDOList.size()); comActActivityVO.setEvaluateAmount(comActActEvaluatePage.getTotal()); //当前用户对活动的评分 Optional.ofNullable(userId).ifPresent(currentUserId -> { Optional<ComActActEvaluateDO> optional = comActActEvaluateDOList.stream() .filter(comActActEvaluateDO -> comActActEvaluateDO.getUserId().equals(currentUserId)).findFirst(); if (optional.isPresent()) { comActActivityVO.setMyRating(optional.get().getStarLevel()); } }); ComActActEvaluateVO userActEvaluateVO = comActActEvaluateDAO.getEvaluateListByUserId(id,userId); if(userActEvaluateVO != null){ comActActivityVO.setMyRating(userActEvaluateVO.getStarLevel()); } fillActivitySignList(id, comActActivityVO); comActActivityVO.setIntegral(0); springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/DiscussApi.java
@@ -2,6 +2,8 @@ import javax.annotation.Resource; import com.panzhihua.common.model.dtos.community.discuss.ComActDiscussDetailDTO; import com.panzhihua.common.model.dtos.community.discuss.ComActDiscussPublishResultDTO; import org.springframework.web.bind.annotation.*; import com.panzhihua.common.model.dtos.community.*; @@ -12,7 +14,7 @@ /** * @program: springcloud_k8s_panzhihuazhihuishequ * @description: 一起议 * @description: 议事投票 * @author: huang.hongfa weixin hhf9596 qq 959656820 * @create: 2021-01-22 14:52 **/ @@ -24,7 +26,7 @@ private ComActDiscussService comActDiscussService; /** * 一起议-新增 * 议事投票-新增 * * @param comActDiscussDTO * 新增参数 @@ -36,19 +38,39 @@ } /** * 一起议-详情 * * @param id * 主键 * @return ComActDiscussVO * 议事投票-编辑 * @param comActDiscussDTO 请求参数 * @return 编辑结果 */ @PostMapping("detaildiscuss") public R detailDiscuss(@RequestParam("id") Long id) { return comActDiscussService.detailDiscuss(id); @PostMapping("editdiscuss") public R editDiscuss(@RequestBody ComActDiscussDTO comActDiscussDTO) { return comActDiscussService.editDiscuss(comActDiscussDTO); } /** * 一起议-删除 * 议事投票-详情 * * @param discussDetailDTO * 请求参数 * @return ComActDiscussVO */ @PostMapping("detaildiscuss") public R detailDiscuss(@RequestBody ComActDiscussDetailDTO discussDetailDTO) { return comActDiscussService.detailDiscuss(discussDetailDTO); } /** * 分页查询评论下回复列表 * @param discussDetailDTO 请求参数 * @return 回复列表 */ @PostMapping("discussCommentReplyAdmin") public R discussCommentReplyAdmin(@RequestBody ComActDiscussDetailDTO discussDetailDTO) { return comActDiscussService.discussCommentReplyAdmin(discussDetailDTO); } /** * 议事投票-删除 * * @param id * 主键 @@ -60,7 +82,7 @@ } /** * 一起议-回复 * 议事投票-回复 * * @param comActDiscussCommentDTO * 评论内容 @@ -72,7 +94,7 @@ } /** * 一起议-分页查询 * 议事投票-分页查询 * * @param pageComActDiscussDTO * 查询参数 @@ -84,7 +106,19 @@ } /** * 一起议-评论-查看 * 议事投票-后台分页查询 * * @param pageComActDiscussDTO * 查询参数 * @return ComActDiscussVO */ @PostMapping("pagediscussAdmin") public R pageDiscussAdmin(@RequestBody PageComActDiscussDTO pageComActDiscussDTO) { return comActDiscussService.pageDiscussAdmin(pageComActDiscussDTO); } /** * 议事投票-评论-查看 * * @param id * 主键 @@ -96,7 +130,17 @@ } /** * 一起议-评论-置顶 * 议事投票评论详情 * @param pageComActDiscussCommentDTO 请求参数 * @return 议事投票详情 */ @PostMapping("detaildiscusscommentAdmin") public R detailDiscusscommentAdmin(@RequestBody PageComActDiscussCommentDTO pageComActDiscussCommentDTO) { return comActDiscussService.detailDiscussCommentAdmin(pageComActDiscussCommentDTO); } /** * 议事投票-评论-置顶 * * @param id * 主键 @@ -108,7 +152,7 @@ } /** * 一起议-评论-回复 * 议事投票-评论-回复 * * @param comActDiscussCommentDTO * 回复内容 @@ -120,7 +164,7 @@ } /** * 一起议-评论-分页查询 * 议事投票-评论-分页查询 * * @param pageComActDiscussCommentDTO * 分页查询参数 @@ -132,7 +176,19 @@ } /** * 一起议-分页查询 小程序 * 议事投票-评论-后台分页查询 * * @param pageComActDiscussCommentDTO * 分页查询参数 * @return ComActDiscussCommentVO */ @PostMapping("pagediscusscommentAdmin") public R pageDiscussCommentAdmin(@RequestBody PageComActDiscussCommentDTO pageComActDiscussCommentDTO) { return comActDiscussService.pageDiscussCommentAdmin(pageComActDiscussCommentDTO); } /** * 议事投票-分页查询 小程序 * * @param pageComActDiscussDTO * 查询参数 @@ -144,7 +200,7 @@ } /** * 一起议-点赞、取消点赞 * 议事投票-点赞、取消点赞 * * @param comActDiscussUserDTO * 操作类型 @@ -156,7 +212,7 @@ } /** * 一起议-评论-分页查询 小程序 * 议事投票-评论-分页查询 小程序 * * @param pageComActDiscussCommentDTO * 分页参数 @@ -168,7 +224,7 @@ } /** * 一起议-详情 小程序 * 议事投票-详情 小程序 * * @param id * 主键 @@ -182,7 +238,7 @@ } /** * 一起议-投票 * 议事投票-投票 * * @param comActDiscussOptionUserDTO * 投票信息 @@ -194,7 +250,7 @@ } /** * 一起议-评论-点赞、取消点赞 * 议事投票-评论-点赞、取消点赞 * * @param comActDiscussUserDTO * 评论点赞 @@ -205,4 +261,81 @@ return comActDiscussService.putDiscussCommentUser(comActDiscussUserDTO); } /** * 议事投票后台公布结果 * @param publishResultDTO 请求参数 * @return 公布结果 */ @PostMapping("publishResultAdmin") public R publishResultAdmin(@RequestBody ComActDiscussPublishResultDTO publishResultDTO) { return comActDiscussService.publishResultAdmin(publishResultDTO); } /** * 议事投票-评论/回复删除 * @param id 评论/回复id * @return 删除结果 */ @GetMapping("deleteDiscussCommentAdmin") public R deleteDiscussCommentAdmin(@RequestParam("id") Long id) { return comActDiscussService.deleteDiscussCommentAdmin(id); } /** * 查询社区可发布议事投票权限配置 * @param communityId 社区id * @return 社区可发布议事投票权限配置 */ @GetMapping("discussJurisdictionGet") public R discussJurisdictionGet(@RequestParam("communityId") Long communityId,@RequestParam("userId") Long userId) { return comActDiscussService.discussJurisdictionGet(communityId,userId); } /** * 设置当前社区议事投票小程序身份验证参数(1.全部 2.党员 3.志愿者 4.社区工作人员) * @param communityId 社区id * @param value 需要设置的参数值 * @return 设置结果 */ @GetMapping("discussJurisdictionSet") public R discussJurisdictionSet(@RequestParam("communityId") Long communityId,@RequestParam("value") String value) { return comActDiscussService.discussJurisdictionSet(communityId,value); } /** * 议事投票检测状态定时任务 * @return 执行结果 */ @GetMapping("timedTaskDiscussInspectStatus") public R timedTaskDiscussInspectStatus() { return comActDiscussService.timedTaskDiscussInspectStatus(); } /** * 一起议增加浏览量 * @param discussId 一起议主键id */ @PostMapping("discuss/increase-view-num") public void increaseViewNum(@RequestParam("discussId") Long discussId) { comActDiscussService.increaseViewNum(discussId); } /** * 公布/编辑一起议投票结果 * @param comActDiscussDTO * @return 请求结果 */ @PostMapping("discuss/edit-result") public R editDiscussResult(@RequestBody ComActDiscussDTO comActDiscussDTO) { return comActDiscussService.editDiscussResult(comActDiscussDTO); } /** * 定时任务每半小时执行一次将一起议浏览量写入到表中 */ @PostMapping("discuss/write-view-num") public R timedTaskWriteDiscussViewNumToTable() { return comActDiscussService.writeDiscussViewNumToTable(); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/EldersAuthApi.java
@@ -167,7 +167,7 @@ * @return */ @PostMapping("/authtype") R communityElderAuthType(@RequestBody EldersAuthTypeQueryDTO eldersAuthTypeQueryDTO) { public R elderAuthType(@RequestBody EldersAuthTypeQueryDTO eldersAuthTypeQueryDTO) { return eldersAuthService.communityAuthType(eldersAuthTypeQueryDTO); } @@ -384,6 +384,31 @@ } /** * 设置当前社区养老认证方式:核验类型(1.视频认证 2.人脸核验) setPensionAuthType 设置当前社区养老认证方式:核验类型(1.视频认证 2.人脸核验) * @param communityId 社区id * @param type 检验类型 * @return R 设置结果 * @author txb * @date 2021/9/10 16:03 */ @PutMapping("/pensionAuthRecords/authType/{type}") public R setPensionAuthType(@RequestParam("communityId") Long communityId, @RequestParam("type") Integer type) { return comPensionAuthRecordService.setPensionAuthType(communityId, type); } /** * 查询养老认证社区认证方式 setPensionAuthType 查询养老认证社区认证方式 * @param eldersAuthTypeQueryDTO 查询参数 * @return R 查询结果 * @author txb * @date 2021/9/10 16:03 */ @PostMapping("/pensionAuthRecords/authtype") public R communityPensionAuthType(@RequestBody EldersAuthTypeQueryDTO eldersAuthTypeQueryDTO) { return comPensionAuthRecordService.communityPensionAuthType(eldersAuthTypeQueryDTO); } /** * 定时任务每月1号0点统计高龄老人本期应该认证总人数 * @return 执行结果 */ @@ -401,5 +426,30 @@ return comPensionAuthRecordService.timedTaskPensionAuthStatisticsJobHandler(); } /** * 设置当前社区养老认证方式:核验类型(1.视频认证 2.人脸核验) * @param communityId 社区id * @param type 检验类型 * @return R 设置结果 * @author txb * @date 2021/9/10 16:03 */ @PutMapping("/new/authType/{type}") public R setAuthType(@RequestParam("communityId") Long communityId, @RequestParam("type") Integer type) { return eldersAuthService.setAuthType(communityId, type); } /** * 查询养老认证社区认证方式 setPensionAuthType 查询养老认证社区认证方式 * @param eldersAuthTypeQueryDTO 查询参数 * @return R 查询结果 * @author txb * @date 2021/9/10 16:03 */ @PostMapping("/new/authtype") public R communityAuthType(@RequestBody EldersAuthTypeQueryDTO eldersAuthTypeQueryDTO) { return eldersAuthService.getAuthType(eldersAuthTypeQueryDTO); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActActEvaluateDAO.java
@@ -28,4 +28,20 @@ List<ComActActEvaluateExcelVO> getEvaluateLists(@Param("comActActEvaluateVO") ComActActEvaluateVO comActActEvaluateVO); /** * 分页查询活动评价列表 * @param page 分页参数 * @param activityId 活动id * @return 活动评价列表 */ IPage<ComActActEvaluateVO> getEvaluateListPage(Page page, @Param("activityId") Long activityId); /** * 查询某活动的用户评价 * @param activityId 活动id * @param userId 用户id * @return 用户评价记录 */ ComActActEvaluateVO getEvaluateListByUserId(@Param("activityId") Long activityId,@Param("userId") Long userId); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActActivityDAO.java
@@ -95,13 +95,13 @@ + "</foreach> " + "</script>") int updateIdBatch(@Param("longs") List<Long> longs); @Update("update com_act_activity set `status`=2 where `status`=1 and TIMESTAMPDIFF(MINUTE,SYSDATE(),publish_at)<=0") @Update("update com_act_activity set `status`=3 where `status`=1 and TIMESTAMPDIFF(MINUTE,SYSDATE(),publish_at)<=0") int updateStatusToNotBegin(); @Update("update com_act_activity set `status`=3 where `status`=2 and TIMESTAMPDIFF(MINUTE,SYSDATE(),sign_up_begin)<=0") int updateStatusToBeginSign(); @Update("update com_act_activity set `status`=5 where `status` in (3,4) and TIMESTAMPDIFF(MINUTE,SYSDATE(),sign_up_end)<=0") @Update("update com_act_activity set `status`=5 where `status` in (3,4) and TIMESTAMPDIFF(MINUTE,SYSDATE(),end_at)<=0") int updateStatusToBeginActiveOrEnd(); @Select("<script> " + "select t.* from ( " + "SELECT " + "a.id, " + "a.activity_name, " + "u.`name` sponsorName, " @@ -132,10 +132,10 @@ IPage<ComActActivityVO> pageActivityCommunityBack(Page page, @Param("comActActivityVO") ComActActivityVO comActActivityVO); @Select("select id from com_act_activity where `status` in (3,4) and TIMESTAMPDIFF(MINUTE,SYSDATE(),sign_up_end)<=0") @Select("select id from com_act_activity where `status` in (3,4) and TIMESTAMPDIFF(MINUTE,SYSDATE(),end_at)<=0") List<Long> getActivityEndIds(); @Update("update com_act_activity set `status`=5 where `status`=3 and TIMESTAMPDIFF(MINUTE,SYSDATE(),sign_up_end)<=0") @Update("update com_act_activity set `status`=4 where `status`=3 and TIMESTAMPDIFF(MINUTE,SYSDATE(),sign_up_end)<=0") int updateStatusToBeginAfterSingEnd(); @Select("select GROUP_CONCAT(t.x1,',',t.x2,',',t.x3,',',t.x4) from ( " + "SELECT " springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActDiscussCommentDAO.java
@@ -2,7 +2,11 @@ import java.util.List; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.panzhihua.common.model.dtos.community.PageComActDiscussCommentDTO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -52,4 +56,12 @@ "ORDER BY\n" + "create_at desc") List<ComActDiscussCommentVO> selectChilds(Long id); /** * 该评论下所有回复内容 * @param page 分页参数 * @param id 评论id * @return 回复列表 */ IPage<ComActDiscussCommentVO> getDiscussCommentList(Page page, @Param("id") Long id); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActDiscussDAO.java
@@ -1,5 +1,6 @@ package com.panzhihua.service_community.dao; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -43,17 +44,20 @@ @Select("select type,name,phone,image_url,nick_name from sys_user where user_id=#{userId}") LoginUserInfoVO selectUserByUserId(Long userId); @Select("<script> " + "select t.* from (" + "SELECT " + "d.id, " + "d.`discuss_subject`, " + "d.type, " + "COUNT( DISTINCT c.id ) commentNum, " + "u.name userName, " + "u.nick_name userNickName, " + "d.create_at " + "FROM " + "com_act_discuss d " + "JOIN sys_user u ON d.user_id = u.user_id " + "LEFT JOIN com_act_discuss_comment c ON d.id = c.discuss_id " + " where d.community_id=#{pageComActDiscussDTO.communityId}" + "<if test='pageComActDiscussDTO.subject != null and pageComActDiscussDTO.subject.trim() != ""'>" + " and d.`discuss_subject` LIKE concat( #{pageComActDiscussDTO.subject}, '%' ) " + " </if> " + "<if test='pageComActDiscussDTO.begin != null '>" + "AND d.create_at BETWEEN #{pageComActDiscussDTO.begin} " + "AND #{pageComActDiscussDTO.end} " + " </if> " + "GROUP BY " + "d.id" + ")t order by t.create_at desc " + "</script>") // @Select("<script> " + "select t.* from (" + "SELECT " + "d.id, " + "d.`discuss_subject`, " + "d.type, " // + "COUNT( DISTINCT c.id ) commentNum, " + "u.name userName, " + "u.nick_name userNickName, " + "d.create_at " // + "FROM " + "com_act_discuss d " + "JOIN sys_user u ON d.user_id = u.user_id " // + "LEFT JOIN com_act_discuss_comment c ON d.id = c.discuss_id " // + " where d.community_id=#{pageComActDiscussDTO.communityId}" // + "<if test='pageComActDiscussDTO.subject != null and pageComActDiscussDTO.subject.trim() != ""'>" // + " and d.`discuss_subject` LIKE concat( #{pageComActDiscussDTO.subject}, '%' ) " + " </if> " // + "<if test='pageComActDiscussDTO.begin != null '>" + "AND d.create_at BETWEEN #{pageComActDiscussDTO.begin} " // + "AND #{pageComActDiscussDTO.end} " + " </if> " + "GROUP BY " + "d.id" + ")t order by t.create_at desc " // + "</script>") IPage<ComActDiscussVO> pageDiscuss(Page page, @Param("pageComActDiscussDTO") PageComActDiscussDTO pageComActDiscussDTO); IPage<ComActDiscussVO> pageDiscussAdmin(Page page, @Param("pageComActDiscussDTO") PageComActDiscussDTO pageComActDiscussDTO); @Select("<script> " + "select * from (" + "SELECT " + "u.`name` userName, " + "u.nick_name userNickName, " @@ -71,44 +75,69 @@ IPage<ComActDiscussCommentVO> pageDiscussComment(Page page, @Param("pageComActDiscussCommentDTO") PageComActDiscussCommentDTO pageComActDiscussCommentDTO); @Select("<script> " + "select t.* from (" + "SELECT " + "d.id, " + "d.vote_title, " + "if(d.address is null or d.address='null',a.name,d.address )address, " + "d.photo_pah, " + "d.`discuss_subject`, " + "d.type, " + "u.type as userType, " + "COUNT( DISTINCT c.id ) commentNum, " + "COUNT( DISTINCT du.id ) signNum, " + "if(u.type=1,u.name,a.name) userName, " + "if(u.type=1,u.nick_name,a.name) userNickName, " + "<if test='pageComActDiscussDTO.loginUserId != null '>" + "if(du.id is not null,1,0) haveSign, " + "if(ou.id is not null,1,0) haveVote, " + " </if> " + "u.image_url, " + "d.create_at " + "FROM " + "com_act_discuss d " + "JOIN sys_user u ON d.user_id = u.user_id " + "JOIN com_act a ON d.community_id = a.community_id " + "LEFT JOIN com_act_discuss_comment c ON d.id = c.discuss_id " + "LEFT JOIN com_act_discuss_option do ON d.id = do.discuss_id " + "LEFT JOIN com_act_discuss_user du ON d.id = du.discuss_id " + "<if test='pageComActDiscussDTO.loginUserId != null '>" + "LEFT JOIN com_act_discuss_option_user ou on do.id=ou.discuss_option_id and ou.user_id=#{pageComActDiscussDTO.loginUserId} " + " </if> " + " where d.community_id=#{pageComActDiscussDTO.communityId}" + "<if test='pageComActDiscussDTO.subject != null and pageComActDiscussDTO.subject.trim() != ""'>" + " and d.`discuss_subject` LIKE concat( #{pageComActDiscussDTO.subject}, '%' ) " + " </if> " + "<if test='pageComActDiscussDTO.userId != null and pageComActDiscussDTO.userId !=0 '>" + " and d.`user_id` = #{pageComActDiscussDTO.userId} " + " </if> " + "<if test='pageComActDiscussDTO.begin != null '>" + "AND d.create_at BETWEEN #{pageComActDiscussDTO.begin} " + "AND #{pageComActDiscussDTO.end} " + " </if> " + "GROUP BY " + "d.id" + ")t order by t.create_at desc " + "</script>") /** * 议事投票-评论-后台分页查询 * * @param pageComActDiscussCommentDTO * 分页查询参数 * @return ComActDiscussCommentVO */ IPage<ComActDiscussCommentVO> pageDiscussCommentAdmin(Page page, @Param("pageComActDiscussCommentDTO") PageComActDiscussCommentDTO pageComActDiscussCommentDTO); /** * 默认查询评论下两条回复信息 * @param commentId 评论id * @return 回复列表 */ List<ComActDiscussCommentVO> getDiscussCommentReplyList(@Param("commentId") Long commentId); // @Select("<script> " + "select t.* from (" + "SELECT " + "d.id, " + "d.vote_title, " // + "if(d.address is null or d.address='null',a.name,d.address )address, " + "d.photo_pah, " // + "d.`discuss_subject`, " + "d.type, " + "d.end_time, " + "d.status, " + "d.views_num, " + "d.join_num, " // + "d.fabulous_num as signNum, " + "d.comment_num as commentNum, " + "d.release_at, " + "u.type as userType, " // + "if(u.type=1,u.name,a.name) userName, " // + "if(u.type=1,u.nick_name,a.name) userNickName, " + "<if test='pageComActDiscussDTO.loginUserId != null '>" // + "if(du.id is not null,1,0) haveSign, " + "if(ou.id is not null,1,0) haveVote, " + " </if> " + "u.image_url, " // + "d.create_at " + "FROM " + "com_act_discuss d " + "JOIN sys_user u ON d.user_id = u.user_id " // + "JOIN com_act a ON d.community_id = a.community_id " // + "LEFT JOIN com_act_discuss_option do ON d.id = do.discuss_id " // + "LEFT JOIN com_act_discuss_user du ON d.id = du.discuss_id " // + "<if test='pageComActDiscussDTO.loginUserId != null '>" // + "LEFT JOIN com_act_discuss_option_user ou on do.id=ou.discuss_option_id and ou.user_id=#{pageComActDiscussDTO.loginUserId} " // + " </if> " + " where d.community_id=#{pageComActDiscussDTO.communityId}" + " and d.is_del = 2" // + "<if test='pageComActDiscussDTO.type != null '>" // + " and d.`type` = #{pageComActDiscussDTO.type} " + " </if> " // + "<if test='pageComActDiscussDTO.subject != null and pageComActDiscussDTO.subject.trim() != ""'>" // + " and d.`discuss_subject` LIKE concat( #{pageComActDiscussDTO.subject}, '%' ) " + " </if> " // + "<if test='pageComActDiscussDTO.userId != null and pageComActDiscussDTO.userId !=0 '>" // + " and d.`user_id` = #{pageComActDiscussDTO.userId} " + " </if> " // + "<if test='pageComActDiscussDTO.begin != null '>" + "AND d.create_at BETWEEN #{pageComActDiscussDTO.begin} " // + "AND #{pageComActDiscussDTO.end} " + " </if> " // + "<if test='pageComActDiscussDTO.displayStatus != null and pageComActDiscussDTO.displayStatus == 1'>" // + " and d.`end_time` > now() " + " </if> " // + "<if test='pageComActDiscussDTO.displayStatus != null and pageComActDiscussDTO.displayStatus == 2'>" // + " and d.`end_time` < now() " + " </if> " // + "GROUP BY " + "d.id" + ")t order by t.create_at desc " // + "</script>") IPage<ComActDiscussVO> pageDiscussApplets(Page page, @Param("pageComActDiscussDTO") PageComActDiscussDTO pageComActDiscussDTO); @Select("<script> " + "select * from (" + "SELECT " + "u.`name` userName, " + "IFNULL(u.`nick_name`,'社区管理员') as userNickName, " + "u.`image_url`, " + "u.phone, " + "u.type as userType, " + "c.`comment`, " + "c.`parent_id`, " + "c.`is_author`, " + "c.`is_topping`, " + "COUNT( cu.id ) num, " + "c.create_at, " + "c.id " + "FROM " + "com_act_discuss_comment c " + "JOIN sys_user u ON c.user_id = u.user_id " + "JOIN com_act_discuss d ON c.discuss_id = d.id " + "<if test='pageComActDiscussCommentDTO.name != null and pageComActDiscussCommentDTO.name.trim() != ""'>" + "AND u.`name` LIKE concat( #{pageComActDiscussCommentDTO.name}, '%' ) " + " </if> " + "<if test='pageComActDiscussCommentDTO.account != null and pageComActDiscussCommentDTO.account.trim() != ""'>" + "AND u.phone LIKE concat( #{pageComActDiscussCommentDTO.account}, '%' ) " + " </if> " + "LEFT JOIN com_act_discuss_comment_user cu ON c.id = cu.disscuss_comment_id " + " where c.discuss_id=#{pageComActDiscussCommentDTO.id} and parent_id=0 " + "<if test='pageComActDiscussCommentDTO.comment != null and pageComActDiscussCommentDTO.comment.trim() != ""'>" + " and c.`comment` LIKE concat( '%', #{pageComActDiscussCommentDTO.comment" + "}, '%' ) " + " </if> " + "GROUP BY " + "c.id " + ")t order by t.is_topping desc , t.create_at desc" + "</script>") // @Select("<script> " + "select * from (" + "SELECT " + "u.`name` userName, " + "IFNULL(u.`nick_name`,'社区管理员') as userNickName, " // + "u.`image_url`, " + "u.phone, " + "u.type as userType, " + "c.`comment`, " + "c.`parent_id`, " // + "c.`is_author`, " + "c.`is_topping`, " + "COUNT( cu.id ) num, " + "c.create_at, " + "c.id " + "FROM " // + "com_act_discuss_comment c " + "JOIN sys_user u ON c.user_id = u.user_id " // + "JOIN com_act_discuss d ON c.discuss_id = d.id " // + "<if test='pageComActDiscussCommentDTO.name != null and pageComActDiscussCommentDTO.name.trim() != ""'>" // + "AND u.`name` LIKE concat( #{pageComActDiscussCommentDTO.name}, '%' ) " + " </if> " // + "<if test='pageComActDiscussCommentDTO.account != null and pageComActDiscussCommentDTO.account.trim() != ""'>" // + "AND u.phone LIKE concat( #{pageComActDiscussCommentDTO.account}, '%' ) " + " </if> " // + "LEFT JOIN com_act_discuss_comment_user cu ON c.id = cu.disscuss_comment_id " // + " where c.discuss_id=#{pageComActDiscussCommentDTO.id} and parent_id=0 and c.is_del = 2" // + "<if test='pageComActDiscussCommentDTO.comment != null and pageComActDiscussCommentDTO.comment.trim() != ""'>" // + " and c.`comment` LIKE concat( '%', #{pageComActDiscussCommentDTO.comment" + "}, '%' ) " + " </if> " // + "GROUP BY " + "c.id " + ")t order by t.is_topping desc , t.create_at desc" + "</script>") IPage<ComActDiscussCommentVO> pageDiscussCommentApplets(Page page, @Param("pageComActDiscussCommentDTO") PageComActDiscussCommentDTO pageComActDiscussCommentDTO); @@ -155,4 +184,39 @@ + ",( SELECT count( id ) FROM com_act_discuss_option_user WHERE discuss_option_id = c.id ) AS num " + " FROM " + " com_act_discuss_option AS c " + " WHERE c.discuss_id = #{discussId}" + " ORDER BY " + " num DESC") List<ComActDiscussOptionVO> getScreenDiscussOptionList(@Param("discussId") Long discussId); /** * 添加议事投票评论数 * @param discussId 议事投票 * @param num 添加数量 */ void addCommentCount(@Param("discussId") Long discussId,@Param("num") Integer num); /** * 更新一起议主题状态 * @param discussId * @param status */ void updateStatusById(@Param("discussId") Long discussId, @Param("status") int status); /** * 增加评论总数和参与讨论总数 * @param discussId 一起议主键id * @param isFirstComment 是否首次参与 */ void incrCommentAndJoinNumById(@Param("discussId") Long discussId, @Param("isFirstComment") boolean isFirstComment); /** * 一起议点赞/取消点赞 增加/减少点赞总数 * @param discussId 一起议主键id * @param isIncr 是否是新增 */ void incrOrDecrFabulousNumByType(@Param("discussId") Long discussId, @Param("isIncr") Boolean isIncr); /** * 批量更新浏览量 * @param needDealMap id-viewNum参数合集 * @return */ int batchUpdateViewNum(@Param("needDealMap") HashMap<Long, Integer> needDealMap); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActDiscussOptionDAO.java
@@ -1,9 +1,13 @@ package com.panzhihua.service_community.dao; import com.panzhihua.common.model.vos.community.ComActDiscussOptionVO; import org.apache.ibatis.annotations.Mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.panzhihua.service_community.model.dos.ComActDiscussOptionDO; import org.apache.ibatis.annotations.Param; import java.util.List; /** * @program: springcloud_k8s_panzhihuazhihuishequ @@ -23,4 +27,6 @@ // " </if> " + // " </where>" + // "</script>") List<ComActDiscussOptionVO> getDiscussOptionList(@Param("discussId") Long discussId); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActDiscussOptionUserDAO.java
@@ -1,11 +1,14 @@ package com.panzhihua.service_community.dao; import com.panzhihua.common.model.vos.community.ComActDiscussOptionUserVO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.panzhihua.service_community.model.dos.ComActDiscussOptionUserDO; import java.util.List; /** * @program: springcloud_k8s_panzhihuazhihuishequ @@ -32,4 +35,33 @@ @Select("select count(id) from com_act_discuss_option_user where discuss_option_id = #{discussOptionId} and user_id = #{userId}") int selectHaveVotes(@Param("discussOptionId") Long discussOptionId, @Param("userId") Long userId); /** * 查询用户当天当前投票栏目下已投次数 * @param discussId 一起议主键id * @param userId 用户id * @return 总数 */ int selectVotedVotesInToday(@Param("discussId") Long discussId, @Param("userId") Long userId); /** * 查询当前投票主题下的记录 最多6条用于展示 * @param discussId 一起议主键id * @return */ List<ComActDiscussOptionUserVO> selectVotedRecords(@Param("discussId") Long discussId); /** * 查询当前投票主题参与人数 * @param discussId 一起议主键id * @return */ int selectVotedPersonNum(@Param("discussId") Long discussId); /** * 批量插入投票记录 * @param comActDiscussOptionUserDOList * @return */ int batchInsert(@Param("comActDiscussOptionUserDOList") List<ComActDiscussOptionUserDO> comActDiscussOptionUserDOList); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActQuestnaireAnswerContentDAO.java
@@ -41,10 +41,6 @@ * @param questId * 问卷ID */ // @Select("<script> " + "SELECT ac.* \n" // + "FROM com_act_questnaire_answer_content ac left JOIN com_act_questnaire_sub qs ON ac.sub_id = qs.id \n" // + " LEFT JOIN com_act_questnaire qn ON qs.que_Id = qn.id \n" + "WHERE qn.id=#{questId}\n" // + "ORDER BY ac.user_id, qs.id " + "</script>") List<ComActQuestnaireAnswerContentVO> selectListByQuestnaire(@Param("questId") Long questId); /** springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActActivityDO.java
@@ -3,9 +3,12 @@ import java.io.Serializable; import java.util.Date; import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -61,7 +64,7 @@ private Date publishAt; /** * 互动结束时间 * 活动结束时间 */ private Date endAt; springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActDiscussCommentDO.java
@@ -59,4 +59,22 @@ * 用户主键 */ private Long userId; /** * 回复量 */ private Integer replyNum; /** * 是否删除(1.是 2.否) */ private Integer isDel; /** * 是否删除枚举(1.是 2.否) */ public interface isDelete{ int yes = 1; int no = 2; } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActDiscussDO.java
@@ -1,6 +1,7 @@ package com.panzhihua.service_community.model.dos; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; import com.baomidou.mybatisplus.annotation.*; @@ -9,7 +10,7 @@ /** * @program: springcloud_k8s_panzhihuazhihuishequ * @description: 一起议 * @description: 议事投票 * @author: huang.hongfa weixin hhf9596 qq 959656820 * @create: 2021-01-22 14:48 **/ @@ -30,7 +31,7 @@ private String discussSubject; /** * 类型 1 图文 2 投票 * 类型 1 议事 2 投票 */ private Integer type; @@ -70,4 +71,116 @@ */ private String voteTitle; /** * 是否可重复投票(1.是 2.否) */ private Integer isRepeat; /** * 每人票数 */ private Integer count; /** * 单张图片宽度 */ private BigDecimal imgWidth; /** * 单张图片高度 */ private BigDecimal imgHeight; /** * 开始时间 */ private Date startTime; /** * 结束时间 */ private Date endTime; /** * 评论数 */ private Integer commentNum; /** * 点赞数 */ private Integer fabulousNum; /** * 浏览量 */ private Integer viewsNum; /** * 参与人数 */ private Integer joinNum; /** * 状态(1.未开始 2.进行中 3.待公布 4.已公布 5.已发布) */ private Integer status; /** * 是否已删除(1.是 2.否) */ private Integer isDel; /** * 公布结果 */ private String publishResult; /** * 公布时间 */ private Date publishAt; /** * 发布时间 */ private Date releaseAt; /** * 修改时间 */ private Date updateAt; /** * 公布人id */ private Long publishBy; /** * 类型 1 议事 2 投票 */ public interface type{ int ys = 1; int tp = 2; } /** * 是否枚举(1.是 2.否) */ public interface isOk{ int yes = 1; int no = 2; } /** * 状态(1.未开始 2.进行中 3.待公布 4.已公布 5.已发布) */ public interface status{ int wks = 1; int jxz = 2; int dgb = 3; int ygb = 4; int yfb = 5; } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActDiscussOptionUserDO.java
@@ -37,4 +37,9 @@ * 投票时间 */ private Date createAt; /** * 一起议id */ private Long discussId; } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActQuestnaireSubDO.java
@@ -22,7 +22,7 @@ /** * 类型 0 单选 1 多选 2 输入框 2姓名输入框 3 手机号 4 身份证 5 文字描述 6 日期选择 */ private int type; private Integer type; /** * 题目内容 */ @@ -41,4 +41,22 @@ */ @TableField("`key`") private String key; /** * 类型 0 单选 1 多选 2 输入框 3 手机号 4 身份证 5 文字描述 6 日期选择 7 时间选择 8 可换行的输入框 9姓名输入框 10图片选择 11图片上传 */ public interface type { int danxuan = 0; int duoxuan = 1; int wenda = 2; int phone = 3; int card = 4; int describe = 5; int date = 6; int time = 7; int input = 8; int name = 9; int imgselect = 10; int imgopload = 11; } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComPensionAuthRecordDO.java
@@ -37,6 +37,12 @@ *提交用户id */ private Long submitUserId; /** * 认证方式(1.视频认证 2.人脸认证) */ private Integer authMethod; /** *认证期数 */ springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActDiscussService.java
@@ -2,17 +2,19 @@ import com.panzhihua.common.model.dtos.community.*; import com.panzhihua.common.model.dtos.community.bigscreen.work.ScreenDiscussListDTO; import com.panzhihua.common.model.dtos.community.discuss.ComActDiscussDetailDTO; import com.panzhihua.common.model.dtos.community.discuss.ComActDiscussPublishResultDTO; import com.panzhihua.common.model.vos.R; /** * @program: springcloud_k8s_panzhihuazhihuishequ * @description: 一起议 * @description: 议事投票 * @author: huang.hongfa weixin hhf9596 qq 959656820 * @create: 2021-01-22 14:50 **/ public interface ComActDiscussService { /** * 一起议-新增 * 议事投票-新增 * * @param comActDiscussDTO * 新增参数 @@ -21,16 +23,23 @@ R addDiscuss(ComActDiscussDTO comActDiscussDTO); /** * 一起议-详情 * * @param id * 主键 * @return ComActDiscussVO * 议事投票-编辑 * @param comActDiscussDTO 请求参数 * @return 编辑结果 */ R detailDiscuss(Long id); R editDiscuss(ComActDiscussDTO comActDiscussDTO); /** * 一起议-删除 * 议事投票-详情 * * @param discussDetailDTO * 请求参数 * @return ComActDiscussVO */ R detailDiscuss(ComActDiscussDetailDTO discussDetailDTO); /** * 议事投票-删除 * * @param id * 主键 @@ -39,7 +48,7 @@ R deleteDiscuss(Long id); /** * 一起议-回复 * 议事投票-回复 * * @param comActDiscussCommentDTO * 评论内容 @@ -48,7 +57,7 @@ R addDiscussComment(ComActDiscussCommentDTO comActDiscussCommentDTO); /** * 一起议-分页查询 * 议事投票-分页查询 * * @param pageComActDiscussDTO * 查询参数 @@ -57,7 +66,14 @@ R pageDiscuss(PageComActDiscussDTO pageComActDiscussDTO); /** * 一起议-评论-查看 * 议事投票-后台分页查询 * @param pageComActDiscussDTO 请求参数 * @return 议事投票列表 */ R pageDiscussAdmin(PageComActDiscussDTO pageComActDiscussDTO); /** * 议事投票-评论-查看 * * @param id * 主键 @@ -66,7 +82,14 @@ R detailDiscusscomment(Long id); /** * 一起议-评论-置顶 * 议事投票评论详情 * @param pageComActDiscussCommentDTO 请求参数 * @return 议事投票详情 */ R detailDiscussCommentAdmin(PageComActDiscussCommentDTO pageComActDiscussCommentDTO); /** * 议事投票-评论-置顶 * * @param id * 主键 @@ -75,7 +98,7 @@ R putDiscussCommentTop(Long id); /** * 一起议-评论-回复 * 议事投票-评论-回复 * * @param comActDiscussCommentDTO * 回复内容 @@ -84,7 +107,7 @@ R addDiscussCommentBack(ComActDiscussCommentDTO comActDiscussCommentDTO); /** * 一起议-评论-分页查询 * 议事投票-评论-分页查询 * * @param pageComActDiscussCommentDTO * 分页查询参数 @@ -93,7 +116,16 @@ R pageDiscussComment(PageComActDiscussCommentDTO pageComActDiscussCommentDTO); /** * 一起议-分页查询 小程序 * 议事投票-评论-后台分页查询 * * @param pageComActDiscussCommentDTO * 分页查询参数 * @return ComActDiscussCommentVO */ R pageDiscussCommentAdmin(PageComActDiscussCommentDTO pageComActDiscussCommentDTO); /** * 议事投票-分页查询 小程序 * * @param pageComActDiscussDTO * 查询参数 @@ -102,7 +134,7 @@ R pageDiscussApplets(PageComActDiscussDTO pageComActDiscussDTO); /** * 一起议-点赞、取消点赞 * 议事投票-点赞、取消点赞 * * @param comActDiscussUserDTO * 操作类型 @@ -111,7 +143,7 @@ R putDiscussUser(ComActDiscussUserDTO comActDiscussUserDTO); /** * 一起议-评论-分页查询 小程序 * 议事投票-评论-分页查询 小程序 * * @param pageComActDiscussCommentDTO * 分页参数 @@ -120,7 +152,7 @@ R pageDiscussCommentApplets(PageComActDiscussCommentDTO pageComActDiscussCommentDTO); /** * 一起议-详情 小程序 * 议事投票-详情 小程序 * * @param id * 主键 @@ -131,7 +163,7 @@ R detailDiscussApplets(Long id, Long userId); /** * 一起议-投票 * 议事投票-投票 * * @param comActDiscussOptionUserDTO * 投票信息 @@ -140,7 +172,7 @@ R addDiscussOptionUser(ComActDiscussOptionUserDTO comActDiscussOptionUserDTO); /** * 一起议-评论-点赞、取消点赞 * 议事投票-评论-点赞、取消点赞 * * @param comActDiscussUserDTO * 评论点赞 @@ -149,11 +181,72 @@ R putDiscussCommentUser(ComActDiscussCommentUserDTO comActDiscussUserDTO); /** * 工作大屏-一起议列表 * 工作大屏-议事投票列表 * * @param discussListDTO * 请求参数 * @return 一起议列表 * @return 议事投票列表 */ R getScreenDiscussList(ScreenDiscussListDTO discussListDTO); /** * 议事投票后台公布结果 * @param publishResultDTO 请求参数 * @return 公布结果 */ R publishResultAdmin(ComActDiscussPublishResultDTO publishResultDTO); /** * 议事投票-评论/回复删除 * @param id 评论/回复id * @return 删除结果 */ R deleteDiscussCommentAdmin(Long id); /** * 分页查询评论下回复列表 * @param discussDetailDTO 请求参数 * @return 回复列表 */ R discussCommentReplyAdmin(ComActDiscussDetailDTO discussDetailDTO); /** * 查询社区可发布议事投票权限配置 * @param communityId 社区id * @return 社区可发布议事投票权限配置 */ R discussJurisdictionGet(Long communityId,Long userId); /** * 设置当前社区议事投票小程序身份验证参数(1.全部 2.党员 3.志愿者 4.社区工作人员) * @param communityId 社区id * @param value 需要设置的参数值 * @return 设置结果 */ R discussJurisdictionSet(Long communityId,String value); /** * 议事投票检测状态定时任务 * @return 执行结果 */ R timedTaskDiscussInspectStatus(); /** * 一起议增加浏览量 * @param discussId */ void increaseViewNum(Long discussId); /** * 将redis中前一天浏览量写入表中 * @return 执行结果 */ R writeDiscussViewNumToTable(); /** * 公布/编辑一起议投票结果 * @param comActDiscussDTO * @return */ R editDiscussResult(ComActDiscussDTO comActDiscussDTO); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComPensionAuthRecordService.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.panzhihua.common.model.dtos.community.AddIdentityAuthDTO; import com.panzhihua.common.model.dtos.community.EldersAuthTypeQueryDTO; import com.panzhihua.common.model.dtos.community.PageElderAuthRecordsDTO; import com.panzhihua.common.model.dtos.community.PageIdentityAuthRecordDTO; import com.panzhihua.common.model.vos.R; @@ -86,6 +87,25 @@ R exportPensionAuthRecordsStatistic(PageElderAuthRecordsDTO pageElderAuthRecordsDTO); /** * 设置当前社区养老认证方式:核验类型(1.视频认证 2.人脸核验) setPensionAuthType 设置当前社区养老认证方式:核验类型(1.视频认证 2.人脸核验) * @param communityId 社区id * @param type 检验类型 * @return R 设置结果 * @author txb * @date 2021/9/10 16:03 */ R setPensionAuthType(Long communityId, Integer type); /** * 查询养老认证社区认证方式 setPensionAuthType 查询养老认证社区认证方式 * @param eldersAuthTypeQueryDTO 查询参数 * @return R 查询结果 * @author txb * @date 2021/9/10 16:03 */ R communityPensionAuthType(EldersAuthTypeQueryDTO eldersAuthTypeQueryDTO); /** * 定时任务每年3月1号0点统计养老认证本期应该认证总人数 * @return 执行结果 */ springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/EldersAuthService.java
@@ -177,4 +177,19 @@ */ R timedTaskEldersRecordAuthJobHandler(); /** * 设置当前社区养老认证方式:核验类型(1.视频认证 2.人脸核验) setPensionAuthType 设置当前社区养老认证方式:核验类型(1.视频认证 2.人脸核验) * @param communityId 社区id * @param type 检验类型 * @return R 设置结果 */ R setAuthType(Long communityId, Integer type); /** * 查询养老认证社区认证方式 setPensionAuthType 查询养老认证社区认证方式 * @param eldersAuthTypeQueryDTO 查询参数 * @return R 查询结果 */ R getAuthType(EldersAuthTypeQueryDTO eldersAuthTypeQueryDTO); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActActEvaluateServiceImpl.java
@@ -1,5 +1,8 @@ package com.panzhihua.service_community.service.impl; import static java.util.Objects.isNull; import static java.util.Objects.nonNull; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -19,9 +22,11 @@ import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComActActEvaluateVO; import com.panzhihua.service_community.dao.ComActActEvaluateDAO; import com.panzhihua.service_community.dao.ComActActRegistDAO; import com.panzhihua.service_community.dao.ComActActSignDAO; import com.panzhihua.service_community.dao.ComActActivityDAO; import com.panzhihua.service_community.model.dos.ComActActEvaluateDO; import com.panzhihua.service_community.model.dos.ComActActRegistDO; import com.panzhihua.service_community.model.dos.ComActActSignDO; import com.panzhihua.service_community.model.dos.ComActActivityDO; import com.panzhihua.service_community.service.ComActActEvaluateService; @@ -44,6 +49,8 @@ private ComActActivityDAO comActActivityDAO; @Resource private ComActActSignDAO comActActSignDAO; @Resource private ComActActRegistDAO comActActRegistDAO; /** * 社区活动评价 * @@ -52,9 +59,33 @@ */ @Override public R activityEvaluate(ComActActEvaluateVO comActActEvaluateVO) { ComActActEvaluateDO currentUserEvaluateForThisActivity = this.baseMapper.selectOne(new QueryWrapper<ComActActEvaluateDO>().lambda() .eq(ComActActEvaluateDO::getActivityId, comActActEvaluateVO.getActivityId()) .eq(ComActActEvaluateDO::getUserId, comActActEvaluateVO.getUserId())); Long activityId = comActActEvaluateVO.getActivityId(); Long userId = comActActEvaluateVO.getUserId(); if (isNull(activityId)) { return R.fail("参数有误"); } ComActActivityDO comActActivityDO = comActActivityDAO.selectById(activityId); if (isNull(comActActivityDO)) { return R.fail("活动不存在"); } Date beginAt = comActActivityDO.getBeginAt(); Date nowDate = new Date(); Integer isQrCode = comActActivityDO.getIsQrCode(); if (nonNull(isQrCode) && isQrCode.equals(1)) { //需要签到类型 int registCount = comActActRegistDAO.selectCount(new QueryWrapper<ComActActRegistDO>() .lambda().eq(ComActActRegistDO::getUserId, userId).eq(ComActActRegistDO::getActivityId, activityId)); if (registCount <= 0) { //未签到,不能评价 return R.fail("未签到,不能评价"); } } else { if (nowDate.before(beginAt)) { return R.fail("活动还未开始,暂不支持评价"); } } ComActActEvaluateDO currentUserEvaluateForThisActivity = this.baseMapper.selectOne(new QueryWrapper<ComActActEvaluateDO>() .lambda().eq(ComActActEvaluateDO::getActivityId, activityId).eq(ComActActEvaluateDO::getUserId, userId)); if (Objects.nonNull(currentUserEvaluateForThisActivity)) { return R.fail("该用户已评论过了,请勿重复评论"); } @@ -76,7 +107,7 @@ List<ComActActivityDO> comActActivityDOS = comActActivityDAO.selectList(new QueryWrapper<ComActActivityDO>().lambda() .eq(ComActActivityDO::getStatus, 5) .eq(ComActActivityDO::getIsDefaultPraise, 0) .le(ComActActivityDO::getEndAt, DateUtils.addDays(new Date(), 7))); .le(ComActActivityDO::getEndAt, DateUtils.addDays(new Date(), -7))); //获取报名记录 if (!ObjectUtils.isEmpty(comActActivityDOS)) { List<Long> activityIds = comActActivityDOS.stream().map(ComActActivityDO::getId).collect(Collectors.toList()); @@ -90,6 +121,7 @@ comActActEvaluateDO.setUserId(comActActSignDO.getUserId()); comActActEvaluateDO.setCreateAt(new Date()); comActActEvaluateDO.setStarLevel(5); comActActEvaluateDO.setEvaluateContent("系统默认好评!"); return comActActEvaluateDO; }).collect(Collectors.toList()); boolean result = this.saveBatch(comActActEvaluateDOList); springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActActivityServiceImpl.java
@@ -1,21 +1,24 @@ package com.panzhihua.service_community.service.impl; import static java.util.Objects.isNull; import static org.apache.commons.lang3.StringUtils.isBlank; import static org.apache.commons.lang3.StringUtils.isNotBlank; import java.math.BigDecimal; import java.math.RoundingMode; import java.text.DecimalFormat; import java.util.*; import java.util.concurrent.TimeUnit; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; import javax.annotation.Resource; import com.panzhihua.common.model.vos.community.*; import com.panzhihua.common.model.vos.screen.ComActPopulationCultureVO; import com.panzhihua.service_community.dao.*; import com.panzhihua.service_community.model.dos.ComActActEvaluateDO; import com.panzhihua.service_community.model.dos.ComActActPictureDO; import org.apache.commons.lang3.time.DateUtils; import org.springframework.beans.BeanUtils; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.core.ValueOperations; import org.springframework.stereotype.Service; import org.springframework.util.ObjectUtils; @@ -30,26 +33,32 @@ import com.panzhihua.common.model.vos.IndexDataVO; import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ActivitySignVO; import com.panzhihua.common.model.vos.community.ComActActEvaluateVO; import com.panzhihua.common.model.vos.community.ComActActPictureVO; import com.panzhihua.common.model.vos.community.ComActActRegistVO; import com.panzhihua.common.model.vos.community.ComActActivityStatisticsVO; import com.panzhihua.common.model.vos.community.ComActActivityVO; import com.panzhihua.common.model.vos.community.CommunityActivitiesVO; import com.panzhihua.common.model.vos.community.CommunityGovernanceTrendsVO; import com.panzhihua.common.model.vos.community.SignactivityVO; import com.panzhihua.common.model.vos.community.screen.work.ActActivityListVO; import com.panzhihua.common.service.user.UserService; import com.panzhihua.common.utlis.WxUtil; import com.panzhihua.common.utlis.WxXCXTempSend; import com.panzhihua.service_community.dao.ComActActEvaluateDAO; import com.panzhihua.service_community.dao.ComActActPictureDAO; import com.panzhihua.service_community.dao.ComActActRegistDAO; import com.panzhihua.service_community.dao.ComActActSignDAO; import com.panzhihua.service_community.dao.ComActActivityDAO; import com.panzhihua.service_community.model.dos.ComActActEvaluateDO; import com.panzhihua.service_community.model.dos.ComActActPictureDO; import com.panzhihua.service_community.model.dos.ComActActRegistDO; import com.panzhihua.service_community.model.dos.ComActActSignDO; import com.panzhihua.service_community.model.dos.ComActActivityDO; import com.panzhihua.service_community.service.ComActActivityService; import lombok.extern.slf4j.Slf4j; import static java.util.Objects.isNull; import static java.util.Objects.nonNull; import static org.apache.commons.lang3.StringUtils.isBlank; import static org.apache.commons.lang3.StringUtils.isNotBlank; /** * @program: springcloud_k8s_panzhihuazhihuishequ @@ -101,7 +110,7 @@ if (status.intValue() == 2) {// 点击‘保存并发布’ 按钮 // 报名结束时间大于当前时间则设置为“进行中” if (comActActivityVO.getSignUpEnd() != null && now.getTime() < comActActivityVO.getSignUpEnd().getTime()) { comActActivityDO.setStatus(4); comActActivityDO.setStatus(3); } } @@ -170,7 +179,7 @@ // 结束时间大于当前时间则设置为“进行中” Date now = new Date(); if (comActActivityVO.getSignUpEnd() != null && now.getTime() < comActActivityVO.getSignUpEnd().getTime()) { comActActivityDO.setStatus(4); comActActivityDO.setStatus(3); } boolean b = this.updateById(comActActivityDO); if (b) { @@ -200,15 +209,15 @@ page.setSize(pageSize); page.setCurrent(pageNum); IPage<ComActActivityVO> iPage = comActActivityDAO.pageActivity(page, comActActivityVO); List<ComActActivityVO> records = iPage.getRecords(); if (!ObjectUtils.isEmpty(records)) { records.forEach(comActActivityVO1 -> { Integer status = comActActivityVO1.getStatus(); if (status.intValue() == 3) { comActActivityVO1.setStatus(4); } }); } // List<ComActActivityVO> records = iPage.getRecords(); // if (!ObjectUtils.isEmpty(records)) { // records.forEach(comActActivityVO1 -> { // Integer status = comActActivityVO1.getStatus(); // if (status.intValue() == 3) { // comActActivityVO1.setStatus(4); // } // }); // } return R.ok(iPage); } @@ -221,20 +230,11 @@ */ @Override public R releaseActivity(ComActActivityVO comActActivityVO) { ComActActivityDO comActActivityDO = new ComActActivityDO(); // comActActivityDO.setId(comActActivityVO.getId()); // comActActivityDO.setPublishAt(comActActivityVO.getPublishAt()); // comActActivityDO.setStatus(comActActivityVO.getStatus()); comActActivityDO = comActActivityDAO.selectById(comActActivityVO.getId()); ComActActivityDO comActActivityDO = comActActivityDAO.selectById(comActActivityVO.getId()); comActActivityDO.setPublishAt(comActActivityVO.getPublishAt()); if (comActActivityVO.getPublishAt().before(comActActivityDO.getSignUpBegin())) { comActActivityVO.setStatus(2); } comActActivityDO.setStatus(3); if (comActActivityVO.getPublishAt().after(comActActivityDO.getSignUpEnd())) { comActActivityVO.setStatus(5); } if (comActActivityVO.getPublishAt().after(comActActivityDO.getSignUpBegin()) && comActActivityVO.getPublishAt().before(comActActivityDO.getSignUpEnd())) { comActActivityVO.setStatus(3); comActActivityVO.setStatus(4); } int update = comActActivityDAO.updateById(comActActivityDO); if (update > 0) { @@ -599,15 +599,15 @@ int num = comActActivityDAO.updateStatusToNotBegin(); log.info("定时任务--修改社区活动发布状态活动数量【{}】", num); // 修改报名状态 变为报名中 int num1 = comActActivityDAO.updateStatusToBeginSign(); log.info("定时任务--修改社区活动报名状态活动数量【{}】", num1); // int num1 = comActActivityDAO.updateStatusToBeginSign(); // log.info("定时任务--修改社区活动报名状态活动数量【{}】", num1); int num3 = comActActivityDAO.updateStatusToBeginAfterSingEnd(); log.info("定时任务--报名结束修改社区活动进行状态活动数量【{}】", num3); // 查询已经结束的活动,需要计算积分 List<Long> activityEndIds = comActActivityDAO.getActivityEndIds(); // 修改进行状态 变为进行中或者已结束 int num2 = comActActivityDAO.updateStatusToBeginActiveOrEnd(); log.info("定时任务--修改社区活动进行状态活动数量【{}】", num2); int num3 = comActActivityDAO.updateStatusToBeginAfterSingEnd(); log.info("定时任务--报名结束修改社区活动进行状态活动数量【{}】", num3); return R.ok(activityEndIds); } @@ -635,11 +635,20 @@ iPage.getRecords().forEach(vo ->{ List<ComActActEvaluateDO> comActActEvaluateDOList = comActActEvaluateDAO .selectList(new QueryWrapper<ComActActEvaluateDO>().lambda().eq(ComActActEvaluateDO::getActivityId, vo.getId())); if (comActActEvaluateDOList != null && comActActEvaluateDOList.size() != 0) { if (comActActEvaluateDOList != null && comActActEvaluateDOList.size() > 0) { BigDecimal starNum = BigDecimal.ZERO; //总星级 int starNum = comActActEvaluateDOList.stream().mapToInt(ComActActEvaluateDO::getStarLevel).sum(); //评分星级=总星级/总评价人数 vo.setEvaluateLevel(Double.valueOf(starNum/comActActEvaluateDOList.size())); for (ComActActEvaluateDO evaluateDO:comActActEvaluateDOList) { starNum = starNum.add(BigDecimal.valueOf(evaluateDO.getStarLevel()==null?0:evaluateDO.getStarLevel())); } //评分星级(如果无评分默认5分)=总星级/总评价人数 if(starNum.compareTo(BigDecimal.ZERO) == 0){ vo.setEvaluateLevel(BigDecimal.valueOf(5)); }else{ vo.setEvaluateLevel(starNum.divide(BigDecimal.valueOf(comActActEvaluateDOList.size()),2, RoundingMode.HALF_UP)); } }else{ vo.setEvaluateLevel(BigDecimal.valueOf(5)); } }); return R.ok(iPage); @@ -773,6 +782,7 @@ @Override public R activitySignIn(ComActActRegistVO comActActRegistVO) { Long activityId = comActActRegistVO.getActivityId(); Long userId = comActActRegistVO.getUserId(); if (isNull(activityId)) { return R.fail("签到所属活动id不能为空!"); } @@ -780,23 +790,38 @@ if (isNull(comActActivityDO)) { return R.fail("活动不存在!"); } Long userId = comActActRegistVO.getUserId(); String activitySignInKey = String.join(DELIMITER, ACTIVITY_SIGN_IN, userId.toString(), activityId.toString()); if (stringRedisTemplate.hasKey(activitySignInKey)) { return R.fail("你已签到,如要再次签到请三十分钟后尝试!"); Date beginAt = comActActivityDO.getBeginAt(); Date endAt = comActActivityDO.getEndAt(); Date nowDate = new Date(); if (nowDate.before(beginAt) || nowDate.after(endAt)) { return R.fail("不在活动时间范围内"); } int signCount = comActActRegistDAO.selectCount(new QueryWrapper<ComActActRegistDO>() .lambda().eq(ComActActRegistDO::getActivityId, activityId).eq(ComActActRegistDO::getUserId, userId)); if (signCount > 0) { return R.fail("请勿重复签到"); } // String activitySignInKey = String.join(DELIMITER, ACTIVITY_SIGN_IN, userId.toString(), activityId.toString()); // if (stringRedisTemplate.hasKey(activitySignInKey)) { // return R.fail("你已签到,如要再次签到请三十分钟后尝试!"); // } ComActActRegistDO comActActRegistDO = new ComActActRegistDO(); comActActRegistDO.setActivityId(activityId); comActActRegistDO.setUserId(userId); comActActRegistDO.setIsVolunteer(comActActRegistVO.getIsVolunteer()); comActActRegistDO.setCreateAt(new Date()); comActActRegistDO.setCreateAt(nowDate); int result = comActActRegistDAO.insert(comActActRegistDO); if (result > 0) { ValueOperations<String, String> opsForValue = stringRedisTemplate.opsForValue(); opsForValue.set(activitySignInKey, "", 1800L, TimeUnit.SECONDS); } // ValueOperations<String, String> opsForValue = stringRedisTemplate.opsForValue(); // opsForValue.set(activitySignInKey, "", 1800L, TimeUnit.SECONDS); return R.ok(); } return R.fail("网络错误,请重试"); } /** *用户签到记录列表 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActDiscussServiceImpl.java
@@ -1,44 +1,97 @@ package com.panzhihua.service_community.service.impl; import static java.util.Objects.isNull; import static java.util.Objects.nonNull; import static org.apache.commons.lang3.StringUtils.isBlank; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; import java.util.Date; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Set; import java.util.stream.Collectors; import javax.annotation.Resource; import org.springframework.beans.BeanUtils; import org.springframework.data.redis.connection.StringRedisConnection; import org.springframework.data.redis.core.RedisCallback; import org.springframework.data.redis.core.SetOperations; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.core.ValueOperations; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.ObjectUtils; import org.springframework.util.StringUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.panzhihua.common.model.dtos.community.*; import com.panzhihua.common.constants.Constants; import com.panzhihua.common.exceptions.ServiceException; import com.panzhihua.common.model.dtos.community.ComActDiscussCommentDTO; import com.panzhihua.common.model.dtos.community.ComActDiscussCommentUserDTO; import com.panzhihua.common.model.dtos.community.ComActDiscussDTO; import com.panzhihua.common.model.dtos.community.ComActDiscussOptionDTO; import com.panzhihua.common.model.dtos.community.ComActDiscussOptionUserDTO; import com.panzhihua.common.model.dtos.community.ComActDiscussUserDTO; import com.panzhihua.common.model.dtos.community.PageComActDiscussCommentDTO; import com.panzhihua.common.model.dtos.community.PageComActDiscussDTO; import com.panzhihua.common.model.dtos.community.bigscreen.work.ScreenDiscussListDTO; import com.panzhihua.common.model.dtos.community.discuss.ComActDiscussDetailDTO; import com.panzhihua.common.model.dtos.community.discuss.ComActDiscussPublishResultDTO; import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComActDiscussCommentVO; import com.panzhihua.common.model.vos.community.ComActDiscussOptionUserVO; import com.panzhihua.common.model.vos.community.ComActDiscussOptionVO; import com.panzhihua.common.model.vos.community.ComActDiscussVO; import com.panzhihua.common.model.vos.community.ComActVO; import com.panzhihua.common.model.vos.community.SysConfVO; import com.panzhihua.common.model.vos.community.screen.work.DiscussListVO; import com.panzhihua.service_community.dao.*; import com.panzhihua.service_community.model.dos.*; import com.panzhihua.common.service.user.UserService; import com.panzhihua.common.utlis.DateUtils; import com.panzhihua.service_community.dao.ComActDiscussCommentDAO; import com.panzhihua.service_community.dao.ComActDiscussCommentUserDAO; import com.panzhihua.service_community.dao.ComActDiscussDAO; import com.panzhihua.service_community.dao.ComActDiscussOptionDAO; import com.panzhihua.service_community.dao.ComActDiscussOptionUserDAO; import com.panzhihua.service_community.dao.ComActDiscussUserDAO; import com.panzhihua.service_community.dao.SysConfMapper; import com.panzhihua.service_community.model.dos.ComActDiscussCommentDO; import com.panzhihua.service_community.model.dos.ComActDiscussCommentUserDO; import com.panzhihua.service_community.model.dos.ComActDiscussDO; import com.panzhihua.service_community.model.dos.ComActDiscussOptionDO; import com.panzhihua.service_community.model.dos.ComActDiscussOptionUserDO; import com.panzhihua.service_community.model.dos.ComActDiscussUserDO; import com.panzhihua.service_community.model.dos.SysConfDO; import com.panzhihua.service_community.service.ComActDiscussOptionService; import com.panzhihua.service_community.service.ComActDiscussService; import com.panzhihua.service_community.service.SysConfService; import lombok.extern.slf4j.Slf4j; /** * @program: springcloud_k8s_panzhihuazhihuishequ * @description: 一起议 * @description: 议事投票 * @author: huang.hongfa weixin hhf9596 qq 959656820 * @create: 2021-01-22 14:51 **/ @Service @Slf4j public class ComActDiscussServiceImpl implements ComActDiscussService { private static final String DISCUSS_VIEW_NUM_PREFIX = "DISCUSS_VIEW_NUM"; private static final String INCR_VIEW_DISCUSS_IDS_KEY = "INCR_VIEW_DISCUSS_IDS"; private static final long DISCUSS_EXPIRE_TIME = 2678400L; @Resource private ComActDiscussCommentDAO comActDiscussCommentDAO; @Resource @@ -53,33 +106,56 @@ private ComActDiscussCommentUserDAO comActDiscussCommentUserDAO; @Resource private ComActDiscussOptionService comActDiscussOptionService; @Resource private SysConfMapper sysConfDao; @Resource private SysConfService sysConfService; @Resource private UserService userService; @Resource private StringRedisTemplate stringRedisTemplate; /** * 一起议-新增 * 议事投票-新增 * * @param comActDiscussDTO * 新增参数 * @param comActDiscussDTO 新增参数 * @return 新增结果 */ @Override @Transactional(rollbackFor = Exception.class) public R addDiscuss(ComActDiscussDTO comActDiscussDTO) { if (!checkCurrentUserDiscussIdentity(comActDiscussDTO)) { return R.fail("权限验证失败,请确认是否有发布权限"); } ComActDiscussDO comActDiscussDO = new ComActDiscussDO(); BeanUtils.copyProperties(comActDiscussDTO, comActDiscussDO); ComActVO comActVO = comActDiscussDAO.selectCommunity(comActDiscussDTO.getCommunityId()); Integer type = comActDiscussDTO.getType(); Date nowDate = new Date(); if (type.equals(ComActDiscussDO.type.tp)) {//判断是投票,需要转义时间 Date startTime = DateUtils.stringToDate(comActDiscussDTO.getStartTime(), DateUtils.ymdhms_format); Date endTime = DateUtils.stringToDate(comActDiscussDTO.getEndTime(), DateUtils.ymdhms_format); comActDiscussDO.setStartTime(startTime); comActDiscussDO.setEndTime(endTime); comActDiscussDO.setStatus(ComActDiscussDO.status.wks); //根据时间判断状态是否开始 if (startTime != null && startTime.getTime() <= nowDate.getTime()) { comActDiscussDO.setStatus(ComActDiscussDO.status.jxz); comActDiscussDO.setReleaseAt(nowDate); } } else { comActDiscussDO.setStatus(ComActDiscussDO.status.yfb); } String address = comActDiscussDO.getAddress(); if (ObjectUtils.isEmpty(address)) { //查询社区地址 ComActVO comActVO = comActDiscussDAO.selectCommunity(comActDiscussDTO.getCommunityId()); comActDiscussDO.setAddress(comActVO.getAddress()); } int insert = comActDiscussDAO.insert(comActDiscussDO); if (insert > 0) { ComActDiscussDO comActDiscussDO1 = comActDiscussDAO.selectOne(new QueryWrapper<ComActDiscussDO>().lambda() .eq(ComActDiscussDO::getDiscussSubject, comActDiscussDTO.getDiscussSubject()) .eq(ComActDiscussDO::getUserId, comActDiscussDTO.getUserId()) .last(" order by create_at desc limit 1 ")); Long comActDiscussDO1Id = comActDiscussDO1.getId(); Integer type = comActDiscussDTO.getType(); //如果是投票,需要把投票的选项存储 if (type.equals(2)) { Long comActDiscussDO1Id = comActDiscussDO.getId(); List<ComActDiscussOptionDTO> discussOptions = comActDiscussDTO.getDiscussOptions(); List<ComActDiscussOptionDO> comActDiscussOptionDOS = new ArrayList<>(); discussOptions.forEach(s -> { @@ -97,72 +173,170 @@ } /** * 一起议-详情 * * @param id * 主键 * @return ComActDiscussVO * 小程序用户验证是否拥有发布权限 * @param comActDiscussDTO * @return */ @Override public R detailDiscuss(Long id) { ComActDiscussDO comActDiscussDO = comActDiscussDAO.selectById(id); if (ObjectUtils.isEmpty(comActDiscussDO)) { return R.fail("一起议不存在"); private boolean checkCurrentUserDiscussIdentity(ComActDiscussDTO comActDiscussDTO) { //小程序用户验证是否拥有发布权限 boolean checkResult = true; Boolean isApplets = comActDiscussDTO.getIsApplets(); if (nonNull(isApplets) && isApplets) { String discussIdentityPrefix = "DISCUSS_IDENTITY_"; Long communityId = comActDiscussDTO.getCommunityId(); R sysConfValue = sysConfService.getSysConfValue(discussIdentityPrefix + communityId, communityId); String discussIdentityConfig = (String) sysConfValue.getData(); if (isBlank(discussIdentityConfig)) { checkResult = false; } else { List<String> currentUserRoles = new ArrayList<>(); List<String> sysAllowedRoles = Arrays.asList(discussIdentityConfig.split(",")); LoginUserInfoVO loginUserInfo = comActDiscussDTO.getLoginUserInfo(); if (loginUserInfo.getIsPartymember() == 1) { currentUserRoles.add("2"); } ComActDiscussVO comActDiscussVO = new ComActDiscussVO(); BeanUtils.copyProperties(comActDiscussDO, comActDiscussVO); Integer integer = comActDiscussCommentDAO.selectCount( new QueryWrapper<ComActDiscussCommentDO>().lambda().eq(ComActDiscussCommentDO::getDiscussId, id)); comActDiscussVO.setCommentNum(integer); Integer integer1 = comActDiscussUserDAO .selectCount(new QueryWrapper<ComActDiscussUserDO>().lambda().eq(ComActDiscussUserDO::getDiscussId, id)); comActDiscussVO.setSignNum(integer1); Integer type = comActDiscussVO.getType(); if (type.equals(2)) { List<ComActDiscussOptionDO> comActDiscussOptionDOS = comActDiscussOptionDAO.selectList( new QueryWrapper<ComActDiscussOptionDO>().lambda().eq(ComActDiscussOptionDO::getDiscussId, id)); List<ComActDiscussOptionVO> comActDiscussOptionVOS = new ArrayList<>(); comActDiscussOptionDOS.forEach(comActDiscussOptionDO -> { Long discussOptionDOId = comActDiscussOptionDO.getId(); Integer selectCount = comActDiscussOptionUserDAO.selectCount(new QueryWrapper<ComActDiscussOptionUserDO>().lambda() .eq(ComActDiscussOptionUserDO::getDiscussOptionId, discussOptionDOId)); ComActDiscussOptionVO comActDiscussOptionVO = new ComActDiscussOptionVO(); BeanUtils.copyProperties(comActDiscussOptionDO, comActDiscussOptionVO); comActDiscussOptionVO.setNum(selectCount); comActDiscussOptionVOS.add(comActDiscussOptionVO); }); comActDiscussOptionVOS.sort(Comparator.comparing(ComActDiscussOptionVO::getNum).reversed()); comActDiscussVO.setComActDiscussOptionVOS(comActDiscussOptionVOS); if (loginUserInfo.getIsVolunteer().intValue() == 1) { currentUserRoles.add("3"); } Long userId = comActDiscussDO.getUserId(); LoginUserInfoVO loginUserInfoVO = comActDiscussDAO.selectUserByUserId(userId); comActDiscussVO.setUserName(loginUserInfoVO.getName()); return R.ok(comActDiscussVO); R isTeamResult = userService.checkCurrentUserIsTeam(loginUserInfo.getPhone(), loginUserInfo.getCommunityId()); if (R.isOk(isTeamResult) && (Boolean) isTeamResult.getData()) { currentUserRoles.add("4"); } if (currentUserRoles.isEmpty()) { checkResult = false; } boolean result = sysAllowedRoles.stream().anyMatch(role -> currentUserRoles.contains(role)); if (!result) { checkResult = false; } } } return checkResult; } /** * 一起议-删除 * 议事投票-编辑 * * @param id * 主键 * @return 删除结果 * @param comActDiscussDTO 请求参数 * @return 编辑结果 */ @Override public R deleteDiscuss(Long id) { int delete = comActDiscussDAO.deleteById(id); if (delete > 0) { @Transactional(rollbackFor = Exception.class) public R editDiscuss(ComActDiscussDTO comActDiscussDTO) { Long comActDiscussDO1Id = comActDiscussDTO.getId(); ComActDiscussDO comActDiscussDO = comActDiscussDAO.selectById(comActDiscussDO1Id); if (ObjectUtils.isEmpty(comActDiscussDO)) { return R.fail("议事投票不存在"); } if (!comActDiscussDO.getStatus().equals(ComActDiscussDO.status.wks) && !comActDiscussDO.getStatus().equals(ComActDiscussDO.status.yfb)) { return R.fail("该状态不可修改"); } Integer type = comActDiscussDO.getType(); Integer isRepeat = comActDiscussDO.getIsRepeat(); BeanUtils.copyProperties(comActDiscussDTO, comActDiscussDO); comActDiscussDO.setType(type); comActDiscussDO.setIsRepeat(isRepeat); Date nowDate = new Date(); if (type.equals(ComActDiscussDO.type.tp)) {//判断是投票,需要转义时间 Date startTime = DateUtils.stringToDate(comActDiscussDTO.getStartTime(), DateUtils.ymdhms_format); Date endTime = DateUtils.stringToDate(comActDiscussDTO.getEndTime(), DateUtils.ymdhms_format); comActDiscussDO.setStartTime(startTime); comActDiscussDO.setEndTime(endTime); comActDiscussDO.setStatus(ComActDiscussDO.status.wks); //根据时间判断状态是否开始 if (startTime != null && startTime.getTime() <= nowDate.getTime()) { comActDiscussDO.setStatus(ComActDiscussDO.status.jxz); comActDiscussDO.setReleaseAt(nowDate); } } else { comActDiscussDO.setStatus(ComActDiscussDO.status.yfb); } comActDiscussDO.setUpdateAt(new Date()); int insert = comActDiscussDAO.updateById(comActDiscussDO); if (insert > 0) { //如果是投票,需要把投票的选项存储 if (type.equals(2)) { comActDiscussOptionService.remove(new QueryWrapper<ComActDiscussOptionDO>().lambda() .eq(ComActDiscussOptionDO::getDiscussId, comActDiscussDO1Id)); List<ComActDiscussOptionDO> comActDiscussOptionDOS = new ArrayList<>(); comActDiscussDTO.getDiscussOptions().forEach(s -> { ComActDiscussOptionDO comActDiscussOptionDO = new ComActDiscussOptionDO(); comActDiscussOptionDO.setDiscussId(comActDiscussDO1Id); comActDiscussOptionDO.setOptionContent(s.getOptionContent()); comActDiscussOptionDO.setOptionUrl(s.getOptionUrl()); comActDiscussOptionDOS.add(comActDiscussOptionDO); }); comActDiscussOptionService.saveBatch(comActDiscussOptionDOS); } return R.ok(); } return R.fail(); } /** * 一起议-回复 * 议事投票-详情 * * @param comActDiscussCommentDTO * 评论内容 * @param discussDetailDTO 请求参数 * @return ComActDiscussVO */ @Override public R detailDiscuss(ComActDiscussDetailDTO discussDetailDTO) { Long id = discussDetailDTO.getId(); ComActDiscussDO comActDiscussDO = comActDiscussDAO.selectById(id); if (ObjectUtils.isEmpty(comActDiscussDO)) { return R.fail("议事投票不存在"); } ComActDiscussVO comActDiscussVO = new ComActDiscussVO(); BeanUtils.copyProperties(comActDiscussDO, comActDiscussVO); comActDiscussVO.setSignNum(comActDiscussDO.getFabulousNum()); Integer type = comActDiscussVO.getType(); if (type.equals(ComActDiscussVO.type.tp)) { //查询选项列表 List<ComActDiscussOptionVO> comActDiscussOptionList = comActDiscussOptionDAO.getDiscussOptionList(id); comActDiscussVO.setComActDiscussOptionVOS(comActDiscussOptionList); } Long userId = comActDiscussDO.getUserId(); LoginUserInfoVO loginUserInfoVO = comActDiscussDAO.selectUserByUserId(userId); comActDiscussVO.setUserName(loginUserInfoVO.getName()); comActDiscussVO.setUserNickName(loginUserInfoVO.getNickName()); //分页查询评论列表 PageComActDiscussCommentDTO pageComActDiscussCommentDTO = new PageComActDiscussCommentDTO(); BeanUtils.copyProperties(discussDetailDTO, pageComActDiscussCommentDTO); IPage<ComActDiscussCommentVO> discussComments = comActDiscussDAO.pageDiscussCommentAdmin(new Page<>(pageComActDiscussCommentDTO.getPageNum(), pageComActDiscussCommentDTO.getPageSize()), pageComActDiscussCommentDTO); discussComments.getRecords().forEach(comment -> { if (comment.getReplyNum() > 0) { List<ComActDiscussCommentVO> childList = comActDiscussDAO.getDiscussCommentReplyList(comment.getId()); if (!childList.isEmpty()) { comment.setComActDiscussCommentVOList(childList); } } }); comActDiscussVO.setDiscussCommentList(discussComments.getRecords()); return R.ok(comActDiscussVO); } /** * 议事投票-删除 * * @param id 主键 * @return 删除结果 */ @Override public R deleteDiscuss(Long id) { ComActDiscussDO comActDiscussDO = new ComActDiscussDO(); comActDiscussDO.setId(id); comActDiscussDO.setIsDel(ComActDiscussDO.isOk.yes); if (comActDiscussDAO.updateById(comActDiscussDO) > 0) { return R.ok(); } return R.fail(); } /** * 议事投票-回复 * * @param comActDiscussCommentDTO 评论内容 * @return 回复结果 */ @Override @@ -170,52 +344,62 @@ Long discussId = comActDiscussCommentDTO.getDiscussId(); ComActDiscussDO comActDiscussDO = comActDiscussDAO.selectById(discussId); if (ObjectUtils.isEmpty(comActDiscussDO)) { return R.fail("一起议不存在"); return R.fail("议事投票不存在"); } Long currentUser = comActDiscussCommentDTO.getUserId(); //判断当前用户是否参与过评论 int currentUserCommentCount = comActDiscussCommentDAO.selectCount(new QueryWrapper<ComActDiscussCommentDO>() .lambda().eq(ComActDiscussCommentDO::getDiscussId, discussId).eq(ComActDiscussCommentDO::getUserId, currentUser)); ComActDiscussCommentDO comActDiscussCommentDO = new ComActDiscussCommentDO(); BeanUtils.copyProperties(comActDiscussCommentDTO, comActDiscussCommentDO); Long userId = comActDiscussCommentDTO.getUserId(); Long userId1 = comActDiscussDO.getUserId(); if (userId.equals(userId1)) { Long discussUser = comActDiscussDO.getUserId(); if (currentUser.equals(discussUser)) { comActDiscussCommentDO.setIsAuthor(1); } int insert = comActDiscussCommentDAO.insert(comActDiscussCommentDO); if (insert > 0) { // comActDiscussDAO.addCommentCount(discussId, 1); //评论成功,评论总数+1 //若首次参与评论,参与讨论人数+1 if (currentUserCommentCount > 0) { comActDiscussDAO.incrCommentAndJoinNumById(discussId, false); } else { comActDiscussDAO.incrCommentAndJoinNumById(discussId, true); } return R.ok(); } return R.fail(); } /** * 一起议-分页查询 * 议事投票-分页查询 * * @param pageComActDiscussDTO * 查询参数 * @param pageComActDiscussDTO 查询参数 * @return ComActDiscussVO */ @Override public R pageDiscuss(PageComActDiscussDTO pageComActDiscussDTO) { Page page = new Page<>(); Long pageNum = pageComActDiscussDTO.getPageNum(); Long pageSize = pageComActDiscussDTO.getPageSize(); if (null == pageNum || 0 == pageNum) { pageNum = 1l; } if (null == pageSize || 0 == pageSize) { pageSize = 10l; } page.setSize(pageSize); page.setCurrent(pageNum); IPage<ComActDiscussVO> iPage = comActDiscussDAO.pageDiscuss(page, pageComActDiscussDTO); IPage<ComActDiscussVO> iPage = comActDiscussDAO.pageDiscuss(new Page<>(pageComActDiscussDTO.getPageNum(), pageComActDiscussDTO.getPageSize()), pageComActDiscussDTO); return R.ok(iPage); } /** * 一起议-评论-查看 * 议事投票-后台分页查询 * * @param id * 主键 * @param pageComActDiscussDTO 请求参数 * @return 议事投票列表 */ @Override public R pageDiscussAdmin(PageComActDiscussDTO pageComActDiscussDTO) { return R.ok(comActDiscussDAO.pageDiscussAdmin(new Page<>(pageComActDiscussDTO.getPageNum(), pageComActDiscussDTO.getPageSize()), pageComActDiscussDTO)); } /** * 议事投票-评论-查看 * * @param id 主键 * @return 详情 ComActDiscussCommentVO */ @Override @@ -246,10 +430,50 @@ } /** * 一起议-评论-置顶 * 议事投票评论详情 * * @param id * 主键 * @param pageComActDiscussCommentDTO 请求参数 * @return 议事投票详情 */ @Override public R detailDiscussCommentAdmin(PageComActDiscussCommentDTO pageComActDiscussCommentDTO) { Long id = pageComActDiscussCommentDTO.getId(); ComActDiscussCommentDO comActDiscussCommentDO = comActDiscussCommentDAO.selectById(id); if (ObjectUtils.isEmpty(comActDiscussCommentDO)) { return R.fail("评论不存在"); } ComActDiscussCommentVO comActDiscussCommentVO = new ComActDiscussCommentVO(); Long parentId = comActDiscussCommentDO.getParentId(); if (parentId.intValue() == 0) { // 一级评论 BeanUtils.copyProperties(comActDiscussCommentDO, comActDiscussCommentVO); } else { ComActDiscussCommentDO comActDiscussCommentDO1 = comActDiscussCommentDAO.selectById(parentId); BeanUtils.copyProperties(comActDiscussCommentDO1, comActDiscussCommentVO); comActDiscussCommentVO.setCommentBack(comActDiscussCommentDO.getComment()); comActDiscussCommentVO.setTimeBack(comActDiscussCommentDO.getCreateAt()); comActDiscussCommentVO.setParentId(parentId); } Integer count = comActDiscussCommentUserDAO.selectCount(new QueryWrapper<ComActDiscussCommentUserDO>().lambda() .eq(ComActDiscussCommentUserDO::getDisscussCommentId, id)); comActDiscussCommentVO.setNum(count); LoginUserInfoVO loginUserInfoVO = comActDiscussDAO.selectUserByUserId(comActDiscussCommentDO.getUserId()); comActDiscussCommentVO.setUserName(loginUserInfoVO.getName()); comActDiscussCommentVO.setPhone(loginUserInfoVO.getPhone()); comActDiscussCommentVO.setImageUrl(loginUserInfoVO.getImageUrl()); //查询该评论下所有回复内容 IPage<ComActDiscussCommentVO> discussCommentList = comActDiscussCommentDAO.getDiscussCommentList(new Page(pageComActDiscussCommentDTO.getPageNum(), pageComActDiscussCommentDTO.getPageSize()), pageComActDiscussCommentDTO.getId()); if (!discussCommentList.getRecords().isEmpty()) { comActDiscussCommentVO.setComActDiscussCommentVOList(discussCommentList.getRecords()); } return R.ok(comActDiscussCommentVO); } /** * 议事投票-评论-置顶 * * @param id 主键 * @return 置顶结果 */ @Override @@ -277,10 +501,9 @@ } /** * 一起议-评论-回复 * 议事投票-评论-回复 * * @param comActDiscussCommentDTO * 回复内容 * @param comActDiscussCommentDTO 回复内容 * @return 回复结果 */ @Override @@ -293,54 +516,68 @@ Long discussId = comActDiscussCommentDO.getDiscussId(); ComActDiscussDO comActDiscussDO = comActDiscussDAO.selectById(discussId); if (ObjectUtils.isEmpty(comActDiscussDO)) { return R.fail("一起议不存在"); return R.fail("议事投票不存在"); } Long userId = comActDiscussDO.getUserId(); Long userId1 = comActDiscussCommentDTO.getUserId(); Long parentId = comActDiscussCommentDO.getParentId(); if (parentId.intValue() != 0) { return R.fail("二级评论不能回复"); } Long currentUser = comActDiscussCommentDTO.getUserId(); //判断当前用户是否参与过评论/回复 int currentUserCommentCount = comActDiscussCommentDAO.selectCount(new QueryWrapper<ComActDiscussCommentDO>() .lambda().eq(ComActDiscussCommentDO::getDiscussId, discussId).eq(ComActDiscussCommentDO::getUserId, currentUser)); Long discussUser = comActDiscussDO.getUserId(); ComActDiscussCommentDO comActDiscussCommentDO1 = new ComActDiscussCommentDO(); comActDiscussCommentDO1.setDiscussId(discussId); comActDiscussCommentDO1.setComment(comActDiscussCommentDTO.getComment()); comActDiscussCommentDO1.setUserId(comActDiscussCommentDTO.getUserId()); comActDiscussCommentDO1.setParentId(id); if (userId.equals(userId1)) { if (discussUser.equals(currentUser)) { comActDiscussCommentDO1.setIsAuthor(1); } int insert = comActDiscussCommentDAO.insert(comActDiscussCommentDO1); if (insert > 0) { // comActDiscussDAO.addCommentCount(discussId, 1); //回复成功,评论总数+1 //若首次参与评论,参与讨论人数+1 if (currentUserCommentCount > 0) { comActDiscussDAO.incrCommentAndJoinNumById(discussId, false); } else { comActDiscussDAO.incrCommentAndJoinNumById(discussId, true); } return R.ok(); } return R.fail(); } /** * 一起议-评论-分页查询 * 议事投票-评论-分页查询 * * @param pageComActDiscussCommentDTO * 分页查询参数 * @param pageComActDiscussCommentDTO 分页查询参数 * @return ComActDiscussCommentVO */ @Override public R pageDiscussComment(PageComActDiscussCommentDTO pageComActDiscussCommentDTO) { Page page = new Page<>(); Long pageNum = pageComActDiscussCommentDTO.getPageNum(); Long pageSize = pageComActDiscussCommentDTO.getPageSize(); if (null == pageNum || 0 == pageNum) { pageNum = 1l; } if (null == pageSize || 0 == pageSize) { pageSize = 10l; } page.setSize(pageSize); page.setCurrent(pageNum); IPage<ComActDiscussCommentVO> iPage = comActDiscussDAO.pageDiscussComment(page, pageComActDiscussCommentDTO); IPage<ComActDiscussCommentVO> iPage = comActDiscussDAO.pageDiscussComment(new Page<>(pageComActDiscussCommentDTO.getPageNum(), pageComActDiscussCommentDTO.getPageSize()), pageComActDiscussCommentDTO); return R.ok(iPage); } /** * 一起议-分页查询 小程序 * 议事投票-评论-后台分页查询 * * @param pageComActDiscussDTO * 查询参数 * @param pageComActDiscussCommentDTO 分页查询参数 * @return ComActDiscussCommentVO */ @Override public R pageDiscussCommentAdmin(PageComActDiscussCommentDTO pageComActDiscussCommentDTO) { IPage<ComActDiscussCommentVO> iPage = comActDiscussDAO.pageDiscussCommentAdmin(new Page<>(pageComActDiscussCommentDTO.getPageNum(), pageComActDiscussCommentDTO.getPageSize()), pageComActDiscussCommentDTO); return R.ok(iPage); } /** * 议事投票-分页查询 小程序 * * @param pageComActDiscussDTO 查询参数 * @return ComActDiscussVO 分页 */ @Override @@ -367,6 +604,7 @@ List<ComActDiscussOptionDO> comActDiscussOptionDOS = comActDiscussOptionDAO.selectList( new QueryWrapper<ComActDiscussOptionDO>().lambda().eq(ComActDiscussOptionDO::getDiscussId, id)); List<ComActDiscussOptionVO> comActDiscussOptionVOS = new ArrayList<>(); List<Integer> votes = new ArrayList<>(); comActDiscussOptionDOS.forEach(comActDiscussOptionDO -> { Long discussOptionDOId = comActDiscussOptionDO.getId(); Integer selectCount = @@ -380,12 +618,35 @@ // 判断选项是否已投票 int haveVote = comActDiscussOptionUserDAO.selectHaveVotes(comActDiscussOptionDO.getId(), loginUserId); votes.add(haveVote); comActDiscussOptionVO.setHaveVote(haveVote > 0 ? 1 : 0); } comActDiscussOptionVOS.add(comActDiscussOptionVO); }); comActDiscussOptionVOS.sort(Comparator.comparing(ComActDiscussOptionVO::getNum).reversed()); fillThePercentAndSort(comActDiscussOptionVOS); checkDiscussStatusIsCorrect(comActDiscussVO); comActDiscussVO.setComActDiscussOptionVOS(comActDiscussOptionVOS); //填充剩余可投票数 if (loginUserId != null && !loginUserId.equals(0L)) { if (comActDiscussVO.getIsRepeat().intValue() == 1) { //可重复投票 int votedVotesInToday = comActDiscussOptionUserDAO.selectVotedVotesInToday(id, loginUserId); int remainingVotes = comActDiscussVO.getCount().intValue() - votedVotesInToday; comActDiscussVO.setRemainingVotes(remainingVotes >= 0 ? remainingVotes : 0); } else { //不可重复投票 int alreadyVotedVotes = votes.stream().mapToInt(Integer::intValue).sum(); int remainingVotes = comActDiscussVO.getCount().intValue() - alreadyVotedVotes; comActDiscussVO.setRemainingVotes(remainingVotes >= 0 ? remainingVotes : 0); } } //填充投票记录列表 List<ComActDiscussOptionUserVO> comActDiscussOptionUserVOList = comActDiscussOptionUserDAO .selectVotedRecords(comActDiscussVO.getId()); comActDiscussVO.setComActDiscussOptionUserVOList(comActDiscussOptionUserVOList); //填充已参与投票人数 int votedPersonNum = comActDiscussOptionUserDAO.selectVotedPersonNum(comActDiscussVO.getId()); comActDiscussVO.setVotedPersonNum(votedPersonNum); } if (loginUserId != null) { @@ -407,10 +668,23 @@ } /** * 一起议-点赞、取消点赞 * 判断discuss状态是否正确 * @param comActDiscussVO */ private void checkDiscussStatusIsCorrect(ComActDiscussVO comActDiscussVO) { //判断discuss状态是否正确 boolean isIncorrectStatus = comActDiscussVO.getEndTime().before(new Date()) && (comActDiscussVO.getStatus().intValue() == 1 || comActDiscussVO.getStatus().intValue() == 2); if (isIncorrectStatus) { comActDiscussVO.setStatus(3); comActDiscussDAO.updateStatusById(comActDiscussVO.getId(), 3); } } /** * 议事投票-点赞、取消点赞 * * @param comActDiscussUserDTO * 操作类型 * @param comActDiscussUserDTO 操作类型 * @return 操作结果 */ @Override @@ -419,7 +693,8 @@ int num = 0; ComActDiscussUserDO comActDiscussUserDO = new ComActDiscussUserDO(); BeanUtils.copyProperties(comActDiscussUserDTO, comActDiscussUserDO); if (type.intValue() == 1) { boolean isIncr = type.intValue() == 1; if (isIncr) { num = comActDiscussUserDAO.insert(comActDiscussUserDO); } else { num = comActDiscussUserDAO.delete(new QueryWrapper<ComActDiscussUserDO>().lambda() @@ -427,16 +702,17 @@ .eq(ComActDiscussUserDO::getDiscussId, comActDiscussUserDTO.getDiscussId())); } if (num > 0) { //点赞成功 总数+1 || 取消点赞成功 总数-1 comActDiscussDAO.incrOrDecrFabulousNumByType(comActDiscussUserDTO.getDiscussId(), isIncr); return R.ok(); } return R.fail(); } /** * 一起议-评论-分页查询 小程序 * 议事投票-评论-分页查询 小程序 * * @param pageComActDiscussCommentDTO * 分页参数 * @param pageComActDiscussCommentDTO 分页参数 * @return ComActDiscussCommentVO */ @Override @@ -526,33 +802,27 @@ } /** * 一起议-详情 小程序 * 议事投票-详情 小程序 * * @param id * 主键 * @param loginUserId * 登录用户主键 * @param id 主键 * @param loginUserId 登录用户主键 * @return ComActDiscussVO */ @Override public R detailDiscussApplets(Long id, Long loginUserId) { ComActDiscussDO comActDiscussDO = comActDiscussDAO.selectById(id); if (ObjectUtils.isEmpty(comActDiscussDO)) { return R.fail("一起议不存在"); return R.fail("议事投票不存在"); } ComActDiscussVO comActDiscussVO = new ComActDiscussVO(); BeanUtils.copyProperties(comActDiscussDO, comActDiscussVO); Integer integer = comActDiscussCommentDAO.selectCount( new QueryWrapper<ComActDiscussCommentDO>().lambda().eq(ComActDiscussCommentDO::getDiscussId, id)); comActDiscussVO.setCommentNum(integer); Integer integer1 = comActDiscussUserDAO .selectCount(new QueryWrapper<ComActDiscussUserDO>().lambda().eq(ComActDiscussUserDO::getDiscussId, id)); comActDiscussVO.setSignNum(integer1); comActDiscussVO.setSignNum(comActDiscussDO.getFabulousNum()); Integer type = comActDiscussVO.getType(); if (type.equals(2)) { List<ComActDiscussOptionDO> comActDiscussOptionDOS = comActDiscussOptionDAO.selectList( new QueryWrapper<ComActDiscussOptionDO>().lambda().eq(ComActDiscussOptionDO::getDiscussId, id)); List<ComActDiscussOptionVO> comActDiscussOptionVOS = new ArrayList<>(); ArrayList<Integer> votes = new ArrayList<>(); comActDiscussOptionDOS.forEach(comActDiscussOptionDO -> { Long discussOptionDOId = comActDiscussOptionDO.getId(); Integer selectCount = @@ -565,12 +835,35 @@ // 判断选项是否已投票 int haveVote = comActDiscussOptionUserDAO.selectHaveVotes(comActDiscussOptionDO.getId(), loginUserId); votes.add(haveVote); comActDiscussOptionVO.setHaveVote(haveVote > 0 ? 1 : 0); } comActDiscussOptionVOS.add(comActDiscussOptionVO); }); comActDiscussOptionVOS.sort(Comparator.comparing(ComActDiscussOptionVO::getNum).reversed()); fillThePercentAndSort(comActDiscussOptionVOS); comActDiscussVO.setComActDiscussOptionVOS(comActDiscussOptionVOS); //填充剩余可投票数 if (loginUserId != null && !loginUserId.equals(0L)) { if (comActDiscussVO.getIsRepeat().intValue() == 1) { //可重复投票 int votedVotesInToday = comActDiscussOptionUserDAO.selectVotedVotesInToday(id, loginUserId); int remainingVotes = comActDiscussVO.getCount().intValue() - votedVotesInToday; comActDiscussVO.setRemainingVotes(remainingVotes >= 0 ? remainingVotes : 0); } else { //不可重复投票 int alreadyVotedVotes = votes.stream().mapToInt(Integer::intValue).sum(); int remainingVotes = comActDiscussVO.getCount().intValue() - alreadyVotedVotes; comActDiscussVO.setRemainingVotes(remainingVotes >= 0 ? remainingVotes : 0); } } checkDiscussStatusIsCorrect(comActDiscussVO); //填充投票记录列表 List<ComActDiscussOptionUserVO> comActDiscussOptionUserVOList = comActDiscussOptionUserDAO .selectVotedRecords(comActDiscussVO.getId()); comActDiscussVO.setComActDiscussOptionUserVOList(comActDiscussOptionUserVOList); //填充已参与投票人数 int votedPersonNum = comActDiscussOptionUserDAO.selectVotedPersonNum(comActDiscussVO.getId()); comActDiscussVO.setVotedPersonNum(votedPersonNum); } Long userId = comActDiscussDO.getUserId(); LoginUserInfoVO loginUserInfoVO = comActDiscussDAO.selectUserByUserId(userId); @@ -601,15 +894,35 @@ } /** * 一起议-投票 * 计算投票占比以及排序 * @param comActDiscussOptionVOS */ private void fillThePercentAndSort(List<ComActDiscussOptionVO> comActDiscussOptionVOS) { //填充总票数 int allSum = comActDiscussOptionVOS.stream().mapToInt(ComActDiscussOptionVO::getNum).sum(); comActDiscussOptionVOS.forEach(option -> { if (allSum == 0) { option.setPercent(new BigDecimal(0)); } else { //占比 BigDecimal percent = BigDecimal.valueOf(option.getNum()).divide(BigDecimal.valueOf(allSum), 2, RoundingMode.HALF_UP) .multiply(BigDecimal.valueOf(100)).setScale(0); option.setPercent(percent); } }); comActDiscussOptionVOS.sort(Comparator.comparing(ComActDiscussOptionVO::getNum).reversed()); } /** * 议事投票-投票 * * @param comActDiscussOptionUserDTO * 投票信息 * @param comActDiscussOptionUserDTO 投票信息 * @return 投票结果 */ @Override public R addDiscussOptionUser(ComActDiscussOptionUserDTO comActDiscussOptionUserDTO) { Long discussOptionId = comActDiscussOptionUserDTO.getDiscussOptionId(); List<Long> discussOptionIds = comActDiscussOptionUserDTO.getDiscussOptionIds(); Long discussOptionId = discussOptionIds.get(0); Long userId = comActDiscussOptionUserDTO.getUserId(); ComActDiscussOptionDO comActDiscussOptionDO = comActDiscussOptionDAO.selectById(discussOptionId); if (ObjectUtils.isEmpty(comActDiscussOptionDO)) { @@ -620,27 +933,48 @@ // QueryWrapper<ComActDiscussOptionDO>().lambda().eq(ComActDiscussOptionDO::getDiscussId, discussId)); // List<Long> longList=comActDiscussOptionDOS.stream().map(comActDiscussOptionDO1 -> // comActDiscussOptionDO1.getId()).collect(Collectors.toList()); Integer integer = comActDiscussOptionUserDAO.selectCount( new QueryWrapper<ComActDiscussOptionUserDO>().lambda().eq(ComActDiscussOptionUserDO::getUserId, userId) .eq(ComActDiscussOptionUserDO::getDiscussOptionId, discussOptionId)); if (integer > 0) { return R.fail("不要重复投票"); Long discussId = comActDiscussOptionDO.getDiscussId(); ComActDiscussDO comActDiscussDO = comActDiscussDAO.selectById(comActDiscussOptionDO.getDiscussId()); if (isNull(comActDiscussOptionDO)) { return R.fail("投票主题不存在"); } boolean isRepeat = comActDiscussDO.getIsRepeat().intValue() == 1; int usableVoteVotes = comActDiscussDO.getCount().intValue(); int currentVoteNum = discussOptionIds.size(); if (isRepeat) { //可重复投票 int votedVotesInToday = comActDiscussOptionUserDAO.selectVotedVotesInToday(discussId, userId); if (usableVoteVotes <= votedVotesInToday || currentVoteNum > usableVoteVotes - votedVotesInToday) { return R.fail("票数不足"); } } else { //不可重复投票 int alreadyVotedVotes = comActDiscussOptionUserDAO.selectCount( new QueryWrapper<ComActDiscussOptionUserDO>().lambda().eq(ComActDiscussOptionUserDO::getUserId, userId) .eq(ComActDiscussOptionUserDO::getDiscussId, discussId)); if (usableVoteVotes <= alreadyVotedVotes || currentVoteNum > usableVoteVotes - alreadyVotedVotes) { return R.fail("票数不足"); } } List<ComActDiscussOptionUserDO> comActDiscussOptionUserDOList = new ArrayList<>(); discussOptionIds.forEach(optionId -> { ComActDiscussOptionUserDO comActDiscussOptionUserDO = new ComActDiscussOptionUserDO(); comActDiscussOptionUserDO.setUserId(userId); comActDiscussOptionUserDO.setDiscussOptionId(discussOptionId); int insert = comActDiscussOptionUserDAO.insert(comActDiscussOptionUserDO); if (insert > 0) { comActDiscussOptionUserDO.setDiscussOptionId(optionId); comActDiscussOptionUserDO.setDiscussId(discussId); comActDiscussOptionUserDOList.add(comActDiscussOptionUserDO); }); int result = comActDiscussOptionUserDAO.batchInsert(comActDiscussOptionUserDOList); if (result > 0) { return R.ok(); } return R.fail(); } /** * 一起议-评论-点赞、取消点赞 * 议事投票-评论-点赞、取消点赞 * * @param comActDiscussCommentUserDTO * 评论点赞 * @param comActDiscussCommentUserDTO 评论点赞 * @return 点赞结果 */ @Override @@ -669,11 +1003,10 @@ } /** * 工作大屏-一起议列表 * 工作大屏-议事投票列表 * * @param discussListDTO * 请求参数 * @return 一起议列表 * @param discussListDTO 请求参数 * @return 议事投票列表 */ @Override public R getScreenDiscussList(ScreenDiscussListDTO discussListDTO) { @@ -700,4 +1033,269 @@ } return R.ok(discussListVOIPage); } /** * 议事投票后台公布结果 * * @param publishResultDTO 请求参数 * @return 公布结果 */ @Override public R publishResultAdmin(ComActDiscussPublishResultDTO publishResultDTO) { ComActDiscussDO discussDO = comActDiscussDAO.selectById(publishResultDTO.getId()); if (discussDO == null) { return R.fail("议事投票记录不存在"); } Date nowDate = new Date(); if (publishResultDTO.getType().equals(ComActDiscussPublishResultDTO.type.add)) { if (!discussDO.getStatus().equals(ComActDiscussDO.status.dgb)) { return R.fail("该议事投票不是待公布状态,不可公布结果操作"); } discussDO.setStatus(ComActDiscussDO.status.ygb); } discussDO.setPublishAt(nowDate); discussDO.setPublishResult(publishResultDTO.getResult()); discussDO.setUpdateAt(nowDate); discussDO.setPublishBy(publishResultDTO.getUserId()); if (comActDiscussDAO.updateById(discussDO) > 0) { return R.ok(); } return R.fail(); } /** * 议事投票-评论/回复删除 * * @param id 评论/回复id * @return 删除结果 */ @Override public R deleteDiscussCommentAdmin(Long id) { ComActDiscussCommentDO discussCommentDO = comActDiscussCommentDAO.selectById(id); if (discussCommentDO == null) { return R.fail("未查询到该记录"); } if (discussCommentDO.getIsDel().equals(ComActDiscussCommentDO.isDelete.yes)) { return R.fail("该记录已被删除"); } discussCommentDO.setIsDel(ComActDiscussCommentDO.isDelete.yes); if (comActDiscussCommentDAO.updateById(discussCommentDO) > 0) { ComActDiscussDO discussDO = comActDiscussDAO.selectById(discussCommentDO.getDiscussId()); if (discussDO != null) { if (discussDO.getCommentNum() > 0) { if (discussCommentDO.getParentId().equals(0L)) { Integer count = comActDiscussCommentDAO.selectCount(new QueryWrapper<ComActDiscussCommentDO>().lambda() .eq(ComActDiscussCommentDO::getParentId, id).eq(ComActDiscussCommentDO::getIsDel, ComActDiscussCommentDO.isDelete.no)); if (count != null && count > 0 && discussDO.getCommentNum() > count) { discussDO.setCommentNum(discussDO.getCommentNum() - count); } else { discussDO.setCommentNum(discussDO.getCommentNum() - 1); } comActDiscussDAO.updateById(discussDO); } else { discussDO.setCommentNum(discussDO.getCommentNum() - 1); comActDiscussDAO.updateById(discussDO); } } } return R.ok(); } return R.fail(); } /** * 分页查询评论下回复列表 * * @param discussDetailDTO 请求参数 * @return 回复列表 */ @Override public R discussCommentReplyAdmin(ComActDiscussDetailDTO discussDetailDTO) { return R.ok(comActDiscussCommentDAO.getDiscussCommentList(new Page(discussDetailDTO.getPageNum(), discussDetailDTO.getPageSize()), discussDetailDTO.getId())); } /** * 查询社区可发布议事投票权限配置 * * @param communityId 社区id * @return 社区可发布议事投票权限配置 */ @Override public R discussJurisdictionGet(Long communityId, Long userId) { List<SysConfDO> confDOList = sysConfDao.selectList(new LambdaQueryWrapper<SysConfDO>() .eq(SysConfDO::getCommunityId, communityId).orderByDesc(SysConfDO::getCreateAt)); if (confDOList == null || confDOList.size() == 0) { SysConfDO sysConfDO = new SysConfDO(); sysConfDO.setCode(Constants.DISCUSS_IDENTITY_KEY + communityId); sysConfDO.setName("社区议事投票小程序身份验证参数"); sysConfDO.setValue("");// 社区议事投票小程序身份验证参数(1.全部 2.党员 3.志愿者 4.社区工作人员) sysConfDO.setDescription("社区议事投票小程序身份验证参数(1.全部 2.党员 3.志愿者 4.社区工作人员)"); sysConfDO.setCommunityId(communityId); sysConfDO.setCreateBy(userId); int inserted = sysConfDao.insert(sysConfDO); if (inserted != 1) { throw new ServiceException("添加社区议事投票小程序身份验证参数失败"); } confDOList = sysConfDao.selectList(new LambdaQueryWrapper<SysConfDO>() .eq(SysConfDO::getCommunityId, communityId) .orderByDesc(SysConfDO::getCreateAt)); } if (confDOList != null && confDOList.size() > 0) { SysConfDO latest = confDOList.get(0); SysConfVO sysConfVO = new SysConfVO(); BeanUtils.copyProperties(latest, sysConfVO); return R.ok(sysConfVO.getValue()); } return R.ok(); } /** * 设置当前社区议事投票小程序身份验证参数(1.全部 2.党员 3.志愿者 4.社区工作人员) * * @param communityId 社区id * @param value 需要设置的参数值 * @return 设置结果 */ @Override public R discussJurisdictionSet(Long communityId, String value) { List<SysConfDO> authConf = sysConfDao.selectList(new LambdaQueryWrapper<SysConfDO>().eq(SysConfDO::getCommunityId, communityId) .eq(SysConfDO::getCode, Constants.DISCUSS_IDENTITY_KEY + communityId).orderByDesc(SysConfDO::getCreateAt)); if (authConf != null && authConf.size() > 0) { SysConfDO first = authConf.get(0); first.setValue(value); int updated = sysConfDao.updateById(first); if (updated == 1) { return R.ok(); } } return R.fail(); } /** * 议事投票检测状态定时任务 * @return 执行结果 */ @Override public R timedTaskDiscussInspectStatus() { Date nowDate = new Date(); //查询已过开始时间未开始投票列表 List<ComActDiscussDO> wksDiscussList = comActDiscussDAO.selectList(new QueryWrapper<ComActDiscussDO>().lambda() .eq(ComActDiscussDO::getType, ComActDiscussDO.type.tp).eq(ComActDiscussDO::getIsDel, ComActDiscussDO.isOk.no) .eq(ComActDiscussDO::getStatus,ComActDiscussDO.status.wks).le(ComActDiscussDO::getStartTime, nowDate)); wksDiscussList.forEach(wksDiscuss -> { wksDiscuss.setStatus(ComActDiscussDO.status.jxz); wksDiscuss.setUpdateAt(nowDate); wksDiscuss.setReleaseAt(nowDate); comActDiscussDAO.updateById(wksDiscuss); }); //查询已过结束时间未结束的投票列表 List<ComActDiscussDO> jxzDiscussList = comActDiscussDAO.selectList(new QueryWrapper<ComActDiscussDO>().lambda() .eq(ComActDiscussDO::getType, ComActDiscussDO.type.tp).eq(ComActDiscussDO::getIsDel, ComActDiscussDO.isOk.no) .eq(ComActDiscussDO::getStatus,ComActDiscussDO.status.jxz).le(ComActDiscussDO::getEndTime, nowDate)); jxzDiscussList.forEach(jxzDiscuss -> { jxzDiscuss.setStatus(ComActDiscussDO.status.dgb); jxzDiscuss.setUpdateAt(nowDate); comActDiscussDAO.updateById(jxzDiscuss); }); return R.ok(); } /** * 一起议增加浏览量 * @param discussId 一起议主键id */ @Override public void increaseViewNum(Long discussId) { String incrKey = String.join("_", DISCUSS_VIEW_NUM_PREFIX, discussId.toString()); Boolean isExist = stringRedisTemplate.hasKey(incrKey); ValueOperations opsForValue = stringRedisTemplate.opsForValue(); if (isExist) { opsForValue.increment(incrKey); } else { ComActDiscussDO comActDiscussDO = comActDiscussDAO.selectById(discussId); if (nonNull(comActDiscussDO)) { stringRedisTemplate.executePipelined((RedisCallback<Object>) redisConnection -> { StringRedisConnection stringRedisConnection = (StringRedisConnection) redisConnection; Integer nowViewNum = Math.addExact(comActDiscussDO.getViewsNum().intValue(), 1); stringRedisConnection.set(incrKey, nowViewNum.toString()); stringRedisConnection.expire(incrKey, DISCUSS_EXPIRE_TIME); stringRedisConnection.sAdd(INCR_VIEW_DISCUSS_IDS_KEY, discussId.toString()); stringRedisConnection.expire(INCR_VIEW_DISCUSS_IDS_KEY, DISCUSS_EXPIRE_TIME); return null; }); } } } /** * 公布/编辑一起议投票结果 * @param comActDiscussDTO * @return 请求结果 */ @Override public R editDiscussResult(ComActDiscussDTO comActDiscussDTO) { if (isNull(comActDiscussDTO.getId()) || isNull(comActDiscussDTO.getPublishResult())) { return R.fail("缺少参数!"); } ComActDiscussDO comActDiscussDO = comActDiscussDAO.selectById(comActDiscussDTO.getId()); if (isNull(comActDiscussDO)) { return R.fail("当前一起议主题不存在!"); } if (!comActDiscussDTO.getUserId().equals(comActDiscussDO.getUserId())) { return R.fail("只能公布或编辑自己发布的主题!"); } comActDiscussDO.setPublishResult(comActDiscussDTO.getPublishResult()); comActDiscussDO.setStatus(4); int result = comActDiscussDAO.updateById(comActDiscussDO); if (result > 0) { return R.ok(); } return R.fail("网络错误,请重试!"); } /** * 将redis中浏览量写入表中 * @return 执行结果 */ @Override public R writeDiscussViewNumToTable() { try { if (stringRedisTemplate.hasKey(INCR_VIEW_DISCUSS_IDS_KEY)) { SetOperations opsForSet = stringRedisTemplate.opsForSet(); Set<String> needWriteDiscussIdSet = opsForSet.members(INCR_VIEW_DISCUSS_IDS_KEY); //组装viewNum key List<String> viewNumKeys = new ArrayList<>(); Iterator<String> iterator = needWriteDiscussIdSet.iterator(); while (iterator.hasNext()) { viewNumKeys.add(String.join("_", DISCUSS_VIEW_NUM_PREFIX, iterator.next())); } ValueOperations opsForValue = stringRedisTemplate.opsForValue(); List<String> viewNumList = opsForValue.multiGet(viewNumKeys); //待处理集合,以key-value/discussId-viewNum 存放 HashMap<Long, Integer> needDealMap = new HashMap<>(); for (String discussId : needWriteDiscussIdSet) { try { needDealMap.put(Long.parseLong(discussId), Integer.parseInt(viewNumList.get(0))); viewNumList.remove(0); } catch (IndexOutOfBoundsException e) { //数据存在异常了,跳过,继续执行正确的 continue; } } int result = comActDiscussDAO.batchUpdateViewNum(needDealMap); if (result <= 0) { return R.fail("处理失败"); } } } catch (Exception e) { log.error("写入浏览量失败【{}】", e.getMessage()); return R.fail("处理失败"); } return R.ok(); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActQuestnaireServiceImpl.java
@@ -151,7 +151,7 @@ subSelectionDO.setCreateBy(userId); subSelectionDO.setType(subSelect.getType()); subSelectionDO.setKey(subSelect.getKey()); subSelectionDO.setKey(subSelect.getUrl()); subSelectionDO.setUrl(subSelect.getUrl()); subSelectionList.add(subSelectionDO); } } @@ -478,12 +478,15 @@ * 查询题目 */ List<ComActQuestnaireSubDO> list = questnaireSubDAO.selectList( new QueryWrapper<ComActQuestnaireSubDO>().lambda().eq(ComActQuestnaireSubDO::getQueId, questId)); new QueryWrapper<ComActQuestnaireSubDO>().lambda() .eq(ComActQuestnaireSubDO::getQueId, questId).orderByAsc(ComActQuestnaireSubDO::getCreateAt)); List<ComActQuestnaireSubVO> listSubVo = new ArrayList<>(); list.forEach(subDo -> { if(!subDo.getType().equals(ComActQuestnaireSubDO.type.describe)){ ComActQuestnaireSubVO comActQuestnaireSubVO = new ComActQuestnaireSubVO(); BeanUtils.copyProperties(subDo, comActQuestnaireSubVO); listSubVo.add(comActQuestnaireSubVO); } }); questnaireAnswersDTO.setSubs(listSubVo); /** springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveAnswerContentServiceImpl.java
@@ -51,7 +51,8 @@ QuestnaireAnswersDTO result = new QuestnaireAnswersDTO(); //查询题目 List<ComActReserveSubDO> list = comActReserveSubMapper.selectList(new QueryWrapper<ComActReserveSubDO>().lambda().eq(ComActReserveSubDO::getReserveId, reserveId)); List<ComActReserveSubDO> list = comActReserveSubMapper.selectList(new QueryWrapper<ComActReserveSubDO>().lambda() .eq(ComActReserveSubDO::getReserveId, reserveId).orderByAsc(ComActReserveSubDO::getCreateAt)); List<ComActQuestnaireSubVO> listSubVo = new ArrayList<>(); list.forEach(subDo -> { if(!subDo.getType().equals(5)){ springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActWorkGuideClassifyServiceImpl.java
@@ -15,7 +15,9 @@ import com.panzhihua.common.utlis.DateUtils; import com.panzhihua.common.utlis.StringUtils; import com.panzhihua.service_community.dao.ComActWorkGuideClassifyDAO; import com.panzhihua.service_community.dao.ComActWorkGuideDAO; import com.panzhihua.service_community.model.dos.ComActWorkGuideClassifyDO; import com.panzhihua.service_community.model.dos.ComActWorkGuideDO; import com.panzhihua.service_community.model.dos.ComMngPopulationHouseDO; import com.panzhihua.service_community.model.dos.ComMngUserTagDO; import com.panzhihua.service_community.service.ComActWorkGuideClassifyService; @@ -43,6 +45,8 @@ @Resource private ComActWorkGuideClassifyDAO comActWorkGuideClassifyDAO; @Resource private ComActWorkGuideDAO comActWorkGuideDAO; @Override public R pageWorkGuideClassify(ComActWorkGuideClassifyVO comActWorkGuideClassifyVO) { @@ -105,6 +109,13 @@ if (comActWorkGuideClassifyDO == null) { return R.fail("办事指南分类不存在"); } Integer count = comActWorkGuideDAO.selectCount(new QueryWrapper<ComActWorkGuideDO>() .lambda().eq(ComActWorkGuideDO::getClassify,workGuideClassifyId)); if(count > 0){ return R.fail("该分类下存在办事指南,不可删除"); } int delete = comActWorkGuideClassifyDAO.deleteById(workGuideClassifyId); if (delete > 0) { return R.ok(); springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java
@@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.core.conditions.segments.MergeSegments; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; @@ -6555,6 +6556,83 @@ // comMngPopulationHouseUserDO.setCreateAt(new Date()); // comMngPopulationHouseUserDAO.insert(comMngPopulationHouseUserDO); // } //修改吸毒人员信息 if (null != vo.getComDrugPopulationVO()) { ComDrugPopulationVO comDrugPopulationVO = vo.getComDrugPopulationVO(); ComDrugPopulationDO comDrugPopulationDO = comDrugPopulationDAO.selectById(comDrugPopulationVO.getId()); BeanUtils.copyProperties(comDrugPopulationVO, comDrugPopulationDO); comDrugPopulationDAO.updateById(comDrugPopulationDO); } //修改社区矫正人员信息 if (null != vo.getComCorrectPopulationVO()) { ComCorrectPopulationVO comCorrectPopulationVO = vo.getComCorrectPopulationVO(); ComCorrectPopulationDO comCorrectPopulationDO = comCorrectPopulationDAO.selectById(comCorrectPopulationVO.getId()); BeanUtils.copyProperties(comCorrectPopulationVO, comCorrectPopulationDO); comCorrectPopulationDAO.updateById(comCorrectPopulationDO); } //修改精神障碍信息 if (null != vo.getComMajorPopulationVO()) { ComMajorPopulationVO comMajorPopulationVO = vo.getComMajorPopulationVO(); ComMajorPopulationDO comCorrectPopulationDO = comMajorPopulationDAO.selectById(comMajorPopulationVO.getId()); BeanUtils.copyProperties(comMajorPopulationVO, comCorrectPopulationDO); comMajorPopulationDAO.updateById(comCorrectPopulationDO); } //修改邪教信息 if (null != vo.getComCultPopulationVO()) { ComCultPopulationVO comCultPopulationVO = vo.getComCultPopulationVO(); ComCultPopulationDO comCultPopulationDO = comCultPopulationDAO.selectById(comCultPopulationVO.getId()); BeanUtils.copyProperties(comCultPopulationVO, comCultPopulationDO); comCultPopulationDAO.updateById(comCultPopulationDO); } //修改刑释信息 if (null != vo.getComRehabilitationPopulationVO()) { ComRehabilitationPopulationVO comRehabilitationPopulationVO = vo.getComRehabilitationPopulationVO(); ComRehabilitationPopulationDO comRehabilitationPopulationDO = comRehabilitationPopulationDAO.selectById(comRehabilitationPopulationVO.getId()); BeanUtils.copyProperties(comRehabilitationPopulationVO, comRehabilitationPopulationDO); comRehabilitationPopulationDAO.updateById(comRehabilitationPopulationDO); } //修改上访信息 if (null != vo.getComKeyPopulationVO()) { ComKeyPopulationVO comKeyPopulationVO = vo.getComKeyPopulationVO(); ComKeyPopulationDO comKeyPopulationDO = comKeyPopulationDAO.selectById(comKeyPopulationVO.getId()); BeanUtils.copyProperties(comKeyPopulationVO, comKeyPopulationDO); comKeyPopulationDAO.updateById(comKeyPopulationDO); } //修改退役军人信息 if (null != vo.getComVeteransPopulationVO()) { ComVeteransPopulationVO comVeteransPopulationVO = vo.getComVeteransPopulationVO(); ComVeteransPopulationDO comVeteransPopulationDO = comVeteransPopulationDAO.selectById(comVeteransPopulationVO.getId()); BeanUtils.copyProperties(comVeteransPopulationVO, comVeteransPopulationDO); comVeteransPopulationDAO.updateById(comVeteransPopulationDO); } //修改残疾人信息 if (null != vo.getComDisabilityPopulationVO()) { ComDisabilityPopulationVO comDisabilityPopulationVO = vo.getComDisabilityPopulationVO(); ComDisabilityPopulationDO comDisabilityPopulationDO = comDisabilityPopulationDAO.selectById(comDisabilityPopulationVO.getId()); BeanUtils.copyProperties(comDisabilityPopulationVO, comDisabilityPopulationDO); comDisabilityPopulationDAO.updateById(comDisabilityPopulationDO); } //修改低保户信息 if (null != vo.getComLowSecurityPopulationVO()) { ComLowSecurityPopulationVO comLowSecurityPopulationVO = vo.getComLowSecurityPopulationVO(); ComLowSecurityPopulationDO comLowSecurityPopulationDO = comLowSecurityPopulationDAO.selectById(comLowSecurityPopulationVO.getId()); BeanUtils.copyProperties(comLowSecurityPopulationVO, comLowSecurityPopulationDO); comLowSecurityPopulationDAO.updateById(comLowSecurityPopulationDO); } //修改高龄老人信息 if (null != vo.getComElderAuthElderliesVO()) { ComElderAuthElderliesVO comElderAuthElderliesVO = vo.getComElderAuthElderliesVO(); ComElderAuthElderliesDO comElderAuthElderliesDO = comElderAuthElderliesDAO.selectById(comElderAuthElderliesVO.getId()); BeanUtils.copyProperties(comElderAuthElderliesVO, comElderAuthElderliesDO); comElderAuthElderliesDAO.updateById(comElderAuthElderliesDO); } //修改养老人员信息 if (null != vo.getComPensionAuthPensionerVO()) { ComPensionAuthPensionerVO comPensionAuthPensionerVO = vo.getComPensionAuthPensionerVO(); ComPensionAuthPensionerDO comPensionAuthPensionerDO = comPensionAuthPensionerDAO.selectById(comPensionAuthPensionerVO.getId()); BeanUtils.copyProperties(comPensionAuthPensionerVO, comPensionAuthPensionerDO); comPensionAuthPensionerDAO.updateById(comPensionAuthPensionerDO); } if (populationDAO.updateById(populationDO) > 0) { return R.ok(); } else { springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComPensionAuthRecordServiceImpl.java
@@ -1,5 +1,10 @@ package com.panzhihua.service_community.service.impl; import static com.panzhihua.common.enums.IdentityApprovalStatusEnum.PASS_THROUGH; import static com.panzhihua.common.enums.IdentityApprovalStatusEnum.PENDING_REVIEW; import static com.panzhihua.common.enums.IdentityAuthMethodEnum.FACE_AUTH; import static com.panzhihua.common.enums.IdentityAuthStatusEnum.CERTIFIED; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; @@ -9,29 +14,31 @@ import javax.annotation.Resource; import com.panzhihua.common.model.vos.community.ComPensionAuthRecordExcleVO; import com.panzhihua.common.model.vos.community.ComPensionAuthRecordImportExcelVO; import com.panzhihua.common.model.vos.community.ComPensionAuthRecordImportMistakeExcelVO; import com.panzhihua.common.model.vos.community.ComPensionAuthRecordStatisticExcleVO; import com.panzhihua.service_community.dao.ComPensionAuthStatisticsDAO; import com.panzhihua.service_community.model.dos.ComPensionAuthStatisticsDO; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.ObjectUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.panzhihua.common.enums.PopulHouseUseEnum; import com.panzhihua.common.exceptions.ServiceException; import com.panzhihua.common.model.dtos.community.AddIdentityAuthDTO; import com.panzhihua.common.model.dtos.community.EldersAuthTypeQueryDTO; import com.panzhihua.common.model.dtos.community.PageElderAuthRecordsDTO; import com.panzhihua.common.model.dtos.community.PageIdentityAuthRecordDTO; import com.panzhihua.common.model.helper.AESUtil; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComPensionAuthRecordExcleVO; import com.panzhihua.common.model.vos.community.ComPensionAuthRecordImportExcelVO; import com.panzhihua.common.model.vos.community.ComPensionAuthRecordImportMistakeExcelVO; import com.panzhihua.common.model.vos.community.ComPensionAuthRecordStatisticExcleVO; import com.panzhihua.common.model.vos.community.ComPensionAuthRecordVO; import com.panzhihua.common.model.vos.community.SysConfVO; import com.panzhihua.common.utlis.AgeUtils; import com.panzhihua.common.utlis.DateUtils; import com.panzhihua.common.utlis.Snowflake; @@ -40,18 +47,17 @@ import com.panzhihua.service_community.dao.ComMngPopulationDAO; import com.panzhihua.service_community.dao.ComPensionAuthPensionerDAO; import com.panzhihua.service_community.dao.ComPensionAuthRecordDAO; import com.panzhihua.service_community.dao.ComPensionAuthStatisticsDAO; import com.panzhihua.service_community.dao.SysConfMapper; import com.panzhihua.service_community.model.dos.ComActDO; import com.panzhihua.service_community.model.dos.ComMngPopulationDO; import com.panzhihua.service_community.model.dos.ComPensionAuthPensionerDO; import com.panzhihua.service_community.model.dos.ComPensionAuthRecordDO; import com.panzhihua.service_community.model.dos.ComPensionAuthStatisticsDO; import com.panzhihua.service_community.model.dos.SysConfDO; import com.panzhihua.service_community.service.ComPensionAuthRecordService; import lombok.extern.slf4j.Slf4j; import static com.panzhihua.common.enums.IdentityApprovalStatusEnum.PASS_THROUGH; import static com.panzhihua.common.enums.IdentityApprovalStatusEnum.PENDING_REVIEW; import static com.panzhihua.common.enums.IdentityAuthMethodEnum.FACE_AUTH; import static com.panzhihua.common.enums.IdentityAuthStatusEnum.CERTIFIED; /** * @title: ComPensionAuthRecordServiceImpl @@ -75,6 +81,8 @@ private ComActDAO comActDAO; @Resource private ComPensionAuthStatisticsDAO comPensionAuthStatisticsDAO; @Resource private SysConfMapper sysConfDao; @Value("${domain.aesKey:}") private String aesKey; @@ -273,6 +281,52 @@ } @Override public R setPensionAuthType(Long communityId, Integer type) { List<SysConfDO> authConf = sysConfDao.selectList(new LambdaQueryWrapper<SysConfDO>().eq(SysConfDO::getCommunityId, communityId) .eq(SysConfDO::getCode, "PENSION_AUTH_TYPE_" + communityId).orderByDesc(SysConfDO::getCreateAt)); if (authConf != null && authConf.size() > 0) { SysConfDO first = authConf.get(0); first.setValue(type + ""); int updated = sysConfDao.updateById(first); if (updated == 1) { return R.ok(); } } return R.fail(); } @Override public R communityPensionAuthType(EldersAuthTypeQueryDTO eldersAuthTypeQueryDTO) { Long communityId = eldersAuthTypeQueryDTO.getCommunityId(); List<SysConfDO> confDOList = sysConfDao.selectList(new LambdaQueryWrapper<SysConfDO>() .eq(SysConfDO::getCommunityId, communityId).eq(SysConfDO::getCode,"PENSION_AUTH_TYPE_" + communityId).orderByDesc(SysConfDO::getCreateAt)); if (confDOList == null || confDOList.size() == 0) { SysConfDO sysConfDO = new SysConfDO(); sysConfDO.setCode("PENSION_AUTH_TYPE_" + communityId); sysConfDO.setName("养老认证类型"); sysConfDO.setValue(2 + "");// 核验类型(1.视频认证 2.人脸核验) sysConfDO.setDescription("养老认证默认添加的核验类型"); sysConfDO.setCommunityId(communityId); sysConfDO.setCreateBy(eldersAuthTypeQueryDTO.getUserId()); int inserted = sysConfDao.insert(sysConfDO); if (inserted != 1) { throw new ServiceException("添加养老认证默认添加的核验类型失败"); } confDOList = sysConfDao.selectList(new LambdaQueryWrapper<SysConfDO>() .eq(SysConfDO::getCommunityId, communityId) .orderByDesc(SysConfDO::getCreateAt)); } if (confDOList != null && confDOList.size() > 0) { SysConfDO latest = confDOList.get(0); SysConfVO sysConfVO = new SysConfVO(); BeanUtils.copyProperties(latest, sysConfVO); return R.ok(sysConfVO.getValue()); } return R.ok(); } @Override public R timedTaskPensionAuthStatisticsJobHandler() { Date nowDate = new Date(); int month = DateUtils.getMonth(nowDate) + 1; springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/EldersAuthServiceImpl.java
@@ -595,4 +595,50 @@ }); return R.ok(); } @Override public R setAuthType(Long communityId, Integer type){ List<SysConfDO> authConf = sysConfDao.selectList(new LambdaQueryWrapper<SysConfDO>().eq(SysConfDO::getCommunityId, communityId) .eq(SysConfDO::getCode, "ELDER_AUTH_TYPE_" + communityId).orderByDesc(SysConfDO::getCreateAt)); if (authConf != null && authConf.size() > 0) { SysConfDO first = authConf.get(0); first.setValue(type + ""); int updated = sysConfDao.updateById(first); if (updated == 1) { return R.ok(); } } return R.fail(); } @Override public R getAuthType(EldersAuthTypeQueryDTO eldersAuthTypeQueryDTO){ Long communityId = eldersAuthTypeQueryDTO.getCommunityId(); List<SysConfDO> confDOList = sysConfDao.selectList(new LambdaQueryWrapper<SysConfDO>() .eq(SysConfDO::getCommunityId, communityId).eq(SysConfDO::getCode,"ELDER_AUTH_TYPE_" + communityId).orderByDesc(SysConfDO::getCreateAt)); if (confDOList == null || confDOList.size() == 0) { SysConfDO sysConfDO = new SysConfDO(); sysConfDO.setCode("ELDER_AUTH_TYPE_" + communityId); sysConfDO.setName("高龄认证类型"); sysConfDO.setValue(2 + "");// 核验类型(1.视频认证 2.人脸核验) sysConfDO.setDescription("高龄认证默认添加的核验类型"); sysConfDO.setCommunityId(communityId); sysConfDO.setCreateBy(eldersAuthTypeQueryDTO.getUserId()); int inserted = sysConfDao.insert(sysConfDO); if (inserted != 1) { throw new ServiceException("添加高龄认证默认添加的核验类型失败"); } confDOList = sysConfDao.selectList(new LambdaQueryWrapper<SysConfDO>() .eq(SysConfDO::getCommunityId, communityId) .orderByDesc(SysConfDO::getCreateAt)); } if (confDOList != null && confDOList.size() > 0) { SysConfDO latest = confDOList.get(0); SysConfVO sysConfVO = new SysConfVO(); BeanUtils.copyProperties(latest, sysConfVO); return R.ok(sysConfVO.getValue()); } return R.ok(); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActActEvaluateMapper.xml
@@ -94,4 +94,25 @@ </if> order by caae.create_at desc </select> <select id="getEvaluateListPage" resultType="com.panzhihua.common.model.vos.community.ComActActEvaluateVO"> SELECT caae.*,su.`name`,su.nick_name,su.image_url FROM com_act_act_evaluate AS caae LEFT JOIN sys_user AS su ON su.user_id = caae.user_id where caae.activity_id = #{activityId} order by caae.create_at desc </select> <select id="getEvaluateListByUserId" resultType="com.panzhihua.common.model.vos.community.ComActActEvaluateVO"> SELECT caae.*,su.`name`,su.nick_name,su.image_url FROM com_act_act_evaluate AS caae LEFT JOIN sys_user AS su ON su.user_id = caae.user_id where caae.activity_id = #{activityId} and caae.user_id = #{userId} order by caae.create_at desc limit 1 </select> </mapper> springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActActRegistMapper.xml
@@ -47,7 +47,7 @@ AND su.`name` = #{comActActRegistVO.name} </if> <if test="comActActRegistVO.tags != null and comActActRegistVO.tags !=''"> AND su.tags like ('%', #{comActActRegistVO.tags}, '%') AND su.tags like concat ('%', #{comActActRegistVO.tags}, '%') </if> <if test="comActActRegistVO.createAt != null"> AND caar.create_at = #{comActActRegistVO.createAt} springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActDiscussCommentDOMapper.xml
New file @@ -0,0 +1,39 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.panzhihua.service_community.dao.ComActDiscussCommentDAO"> <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.panzhihua.service_community.model.dos.ComActDiscussCommentDO"> <id column="id" property="id"/> <result column="discuss_id" property="discussId"/> <result column="comment" property="comment"/> <result column="is_topping" property="isTopping"/> <result column="create_at" property="createAt"/> <result column="is_author" property="isAuthor"/> <result column="parent_id" property="parentId"/> <result column="user_id" property="userId"/> <result column="reply_num" property="replyNum"/> </resultMap> <!-- 通用查询结果列 --> <sql id="Base_Column_List"> id, discuss_id, comment, is_topping, create_at, is_author, parent_id, user_id, reply_num </sql> <select id="getDiscussCommentList" parameterType="com.panzhihua.common.model.dtos.community.PageComActDiscussCommentDTO" resultType="com.panzhihua.common.model.vos.community.ComActDiscussCommentVO"> SELECT cadc.id, cadc.`comment`, cadc.`is_author`, su.`image_url`, IFNULL( su.`name`, su.nick_name ) AS userNameBack, cadc.create_at FROM com_act_discuss_comment AS cadc LEFT JOIN sys_user AS su ON su.user_id = cadc.user_id where cadc.parent_id = #{id} and cadc.is_del = 2 order by cadc.create_at desc </select> </mapper> springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActDiscussCommentUserDOMapper.xml
New file @@ -0,0 +1,18 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.panzhihua.service_community.dao.ComActDiscussCommentUserDAO"> <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.panzhihua.service_community.model.dos.ComActDiscussCommentUserDO"> <id column="id" property="id"/> <result column="disscuss_comment_id" property="disscussCommentId"/> <result column="user_id" property="userId"/> <result column="create_at" property="createAt"/> </resultMap> <!-- 通用查询结果列 --> <sql id="Base_Column_List"> id, disscuss_comment_id, user_id, create_at </sql> </mapper> springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActDiscussDOMapper.xml
New file @@ -0,0 +1,260 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.panzhihua.service_community.dao.ComActDiscussDAO"> <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.panzhihua.service_community.model.dos.ComActDiscussDO"> <id column="id" property="id"/> <result column="discuss_subject" property="discussSubject"/> <result column="type" property="type"/> <result column="photo_pah" property="photoPah"/> <result column="address" property="address"/> <result column="user_id" property="userId"/> <result column="community_id" property="communityId"/> <result column="create_at" property="createAt"/> <result column="discuss_option" property="discussOption"/> <result column="vote_title" property="voteTitle"/> <result column="is_repeat" property="isRepeat"/> <result column="count" property="count"/> <result column="img_width" property="imgWidth"/> <result column="img_height" property="imgHeight"/> <result column="start_time" property="startTime"/> <result column="end_time" property="endTime"/> <result column="comment_num" property="commentNum"/> <result column="fabulous_num" property="fabulousNum"/> <result column="views_num" property="viewsNum"/> <result column="join_num" property="joinNum"/> <result column="status" property="status"/> <result column="is_del" property="isDel"/> <result column="publish_result" property="publishResult"/> <result column="publish_at" property="publishAt"/> <result column="release_at" property="releaseAt"/> <result column="update_at" property="updateAt"/> <result column="publish_by" property="publishBy"/> </resultMap> <!-- 通用查询结果列 --> <sql id="Base_Column_List"> id, discuss_subject, type, photo_pah, address, user_id, community_id, create_at, discuss_option, vote_title, is_repeat, count, img_width, img_height, start_time, end_time, comment_num, fabulous_num, views_num, join_num, status, is_del, publish_result, publish_at, release_at, update_at, publish_by </sql> <update id="updateStatusById"> UPDATE `com_act_discuss` SET status = #{status}, update_at = NOW() WHERE id = #{discussId} </update> <update id="incrCommentAndJoinNumById"> UPDATE `com_act_discuss` SET comment_num = comment_num + 1, <if test="isFirstComment"> join_num = join_num + 1, </if> update_at = NOW() WHERE id = #{discussId} </update> <update id="incrOrDecrFabulousNumByType"> UPDATE `com_act_discuss` SET fabulous_num = IF(IF(#{isIncr},fabulous_num + 1,fabulous_num - 1) >= 0,IF(#{isIncr},fabulous_num + 1,fabulous_num - 1),0), update_at = NOW() WHERE id = #{discussId} </update> <update id="batchUpdateViewNum" parameterType="java.util.Map"> UPDATE `com_act_discuss` SET views_num = CASE id <foreach collection="needDealMap.entrySet()" item="value" index="key"> WHEN #{key} THEN #{value} </foreach> END,update_at = NOW() WHERE id = CASE id <foreach collection="needDealMap.entrySet()" index="key"> WHEN #{key} THEN #{key} </foreach> END </update> <select id="pageDiscuss" parameterType="com.panzhihua.common.model.dtos.community.PageComActDiscussDTO" resultType="com.panzhihua.common.model.vos.community.ComActDiscussVO"> SELECT t.* FROM ( SELECT d.id, d.`discuss_subject`, d.type, COUNT( DISTINCT c.id ) commentNum, u.NAME userName, u.nick_name userNickName, d.create_at FROM com_act_discuss d JOIN sys_user u ON d.user_id = u.user_id LEFT JOIN com_act_discuss_comment c ON d.id = c.discuss_id WHERE d.community_id = #{pageComActDiscussDTO.communityId} and d.is_del = 2 <if test = 'pageComActDiscussDTO.subject != null and pageComActDiscussDTO.subject.trim() != ""' > AND d.`discuss_subject` LIKE concat(#{pageComActDiscussDTO.subject}, '%' ) </if> <if test = 'pageComActDiscussDTO.begin != null ' > AND d.create_at BETWEEN #{pageComActDiscussDTO.begin} AND #{pageComActDiscussDTO.end} </if> <if test="pageComActDiscussDTO.status != null"> and d.status = #{pageComActDiscussDTO.status} </if> GROUP BY d.id )t order by t.create_at desc </select> <select id="pageDiscussAdmin" parameterType="com.panzhihua.common.model.dtos.community.PageComActDiscussDTO" resultType="com.panzhihua.common.model.vos.community.ComActDiscussVO"> SELECT d.id, d.`discuss_subject`, d.type, d.comment_num, d.fabulous_num as signNum, d.views_num, d.status, u.NAME userName, u.nick_name userNickName, d.create_at FROM com_act_discuss d JOIN sys_user u ON d.user_id = u.user_id WHERE d.community_id = #{pageComActDiscussDTO.communityId} and d.is_del = 2 <if test = 'pageComActDiscussDTO.subject != null and pageComActDiscussDTO.subject.trim() != ""' > AND d.`discuss_subject` LIKE concat(#{pageComActDiscussDTO.subject}, '%' ) </if> <if test = 'pageComActDiscussDTO.begin != null ' > AND d.create_at BETWEEN #{pageComActDiscussDTO.begin} AND #{pageComActDiscussDTO.end} </if> <if test="pageComActDiscussDTO.status != null"> and d.status = #{pageComActDiscussDTO.status} </if> <if test="pageComActDiscussDTO.keyWord != null and pageComActDiscussDTO.keyWord != """> and (d.`discuss_subject` LIKE concat(#{pageComActDiscussDTO.keyWord}, '%' ) or u.`name` LIKE concat(#{pageComActDiscussDTO.keyWord}, '%' )) </if> order by d.create_at desc </select> <select id="pageDiscussCommentApplets" resultType="com.panzhihua.common.model.vos.community.ComActDiscussCommentVO"> SELECT * FROM ( SELECT u.`name` userName, IFNULL(u.`nick_name`, '社区管理员') AS userNickName, u.`image_url`, u.phone, u.type AS userType, c.`comment`, c.`parent_id`, c.`is_author`, c.`is_topping`, COUNT( cu.id ) num, c.create_at, c.id FROM com_act_discuss_comment c JOIN sys_user u ON c.user_id = u.user_id JOIN com_act_discuss d ON c.discuss_id = d.id <if test='pageComActDiscussCommentDTO.name != null and pageComActDiscussCommentDTO.name.trim() != ""'> AND u.`name` LIKE concat( #{pageComActDiscussCommentDTO.name}, '%' ) </if> <if test='pageComActDiscussCommentDTO.account != null and pageComActDiscussCommentDTO.account.trim() != ""'> AND u.phone LIKE concat( #{pageComActDiscussCommentDTO.account}, '%' ) </if> LEFT JOIN com_act_discuss_comment_user cu ON c.id = cu.disscuss_comment_id WHERE c.discuss_id=#{pageComActDiscussCommentDTO.id} AND parent_id=0 AND c.is_del = 2 <if test='pageComActDiscussCommentDTO.comment != null and pageComActDiscussCommentDTO.comment.trim() != ""'> AND c.`comment` LIKE concat( '%', #{pageComActDiscussCommentDTO.comment}, '%' ) </if> GROUP BY c.id ) t ORDER BY t.is_topping DESC , t.create_at DESC </select> <select id="pageDiscussApplets" resultType="com.panzhihua.common.model.vos.community.ComActDiscussVO"> SELECT t.* FROM ( SELECT d.id, d.vote_title, if(d.address IS NULL OR d.address='null',a.name,d.address )address, d.photo_pah, d.`discuss_subject`, d.type, d.end_time, d.status, d.views_num, d.join_num, d.fabulous_num AS signNum, d.comment_num AS commentNum, d.release_at, d.img_width, d.img_height, d.is_repeat, d.count, u.type AS userType, if(u.type=1,u.name,a.name) userName, if(u.type=1,u.nick_name,a.name) userNickName, <if test='pageComActDiscussDTO.loginUserId != null '> if(du.id IS NOT NULL,1,0) haveSign, if(ou.id IS NOT NULL,1,0) haveVote, </if> u.image_url, d.create_at FROM com_act_discuss d JOIN sys_user u ON d.user_id = u.user_id JOIN com_act a ON d.community_id = a.community_id LEFT JOIN com_act_discuss_option do ON d.id = do.discuss_id LEFT JOIN com_act_discuss_user du ON d.id = du.discuss_id <if test='pageComActDiscussDTO.loginUserId != null '> LEFT JOIN com_act_discuss_option_user ou ON do.id=ou.discuss_option_id AND ou.user_id=#{pageComActDiscussDTO.loginUserId} </if> WHERE d.community_id=#{pageComActDiscussDTO.communityId} AND d.is_del = 2 <if test='pageComActDiscussDTO.type != null '> AND d.`type` = #{pageComActDiscussDTO.type} </if> <if test='pageComActDiscussDTO.subject != null and pageComActDiscussDTO.subject.trim() != ""'> AND d.`discuss_subject` LIKE concat( #{pageComActDiscussDTO.subject}, '%' ) </if> <if test='pageComActDiscussDTO.userId != null and pageComActDiscussDTO.userId !=0 '> AND d.`user_id` = #{pageComActDiscussDTO.userId} </if> <if test='pageComActDiscussDTO.begin != null '> AND d.create_at BETWEEN #{pageComActDiscussDTO.begin} AND #{pageComActDiscussDTO.end} </if> <if test='pageComActDiscussDTO.displayStatus != null and pageComActDiscussDTO.displayStatus == 1'> AND d.`end_time` > now() </if> <if test='pageComActDiscussDTO.displayStatus != null and pageComActDiscussDTO.displayStatus == 2'> AND d.`end_time` < now() </if> GROUP BY d.id ) t ORDER BY t.create_at DESC </select> <update id="addCommentCount"> update com_act_discuss set comment_num = comment_num + #{num} where id = #{discussId} </update> <select id="pageDiscussCommentAdmin" parameterType="com.panzhihua.common.model.dtos.community.PageComActDiscussCommentDTO" resultType="com.panzhihua.common.model.vos.community.ComActDiscussCommentVO"> SELECT * FROM ( SELECT u.`name` userName, u.nick_name userNickName, u.image_url, u.phone, c.`comment`, c.`parent_id`, COUNT( DISTINCT cu.id ) num, COUNT( c1.id ) replyNum, c.create_at, c.is_topping, c.id FROM com_act_discuss_comment c JOIN sys_user u ON c.user_id = u.user_id LEFT JOIN com_act_discuss_comment_user cu ON c.id = cu.disscuss_comment_id LEFT JOIN com_act_discuss_comment c1 ON c1.parent_id = c.id and c1.is_del = 2 WHERE c.discuss_id = #{pageComActDiscussCommentDTO.id} and c.parent_id = 0 and c.is_del = 2 <if test = 'pageComActDiscussCommentDTO.keyWord != null and pageComActDiscussCommentDTO.keyWord.trim() != ""' > AND (c.`comment` LIKE concat( '%', #{pageComActDiscussCommentDTO.keyWord }, '%' ) or u.`name` LIKE concat(#{pageComActDiscussCommentDTO.keyWord}, '%' ) or u.phone LIKE concat(#{pageComActDiscussCommentDTO.keyWord}, '%' )) </if> GROUP BY c.id ) t ORDER BY t.is_topping DESC,t.create_at DESC </select> <select id="getDiscussCommentReplyList" resultType="com.panzhihua.common.model.vos.community.ComActDiscussCommentVO"> SELECT cadc.id, cadc.discuss_id, cadc.`comment`, cadc.create_at, cadc.is_author, cadc.user_id, IFNULL( su.`name`, su.nick_name ) AS userName FROM com_act_discuss_comment AS cadc LEFT JOIN sys_user AS su ON su.user_id = cadc.user_id WHERE cadc.is_del = 2 AND cadc.parent_id = #{commentId} order by cadc.create_at desc limit 10 </select> </mapper> springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActDiscussOptionDOMapper.xml
New file @@ -0,0 +1,33 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.panzhihua.service_community.dao.ComActDiscussOptionDAO"> <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.panzhihua.service_community.model.dos.ComActDiscussOptionDO"> <id column="id" property="id"/> <result column="discuss_id" property="discussId"/> <result column="option_content" property="optionContent"/> <result column="create_at" property="createAt"/> <result column="option_url" property="optionUrl"/> </resultMap> <!-- 通用查询结果列 --> <sql id="Base_Column_List"> id, discuss_id, option_content, create_at, option_url </sql> <select id="getDiscussOptionList" resultType="com.panzhihua.common.model.vos.community.ComActDiscussOptionVO"> SELECT cado.id, cado.option_content, cado.option_url, ( SELECT count( id ) FROM com_act_discuss_option_user WHERE discuss_option_id = cado.id ) AS num, ( SELECT count( id ) FROM com_act_discuss_option_user WHERE discuss_id = cado.discuss_id ) AS allNum FROM com_act_discuss_option AS cado WHERE discuss_id = #{discussId} ORDER BY num DESC </select> </mapper> springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActDiscussOptionUserDOMapper.xml
New file @@ -0,0 +1,44 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.panzhihua.service_community.dao.ComActDiscussOptionUserDAO"> <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.panzhihua.service_community.model.dos.ComActDiscussOptionUserDO"> <id column="id" property="id"/> <result column="discuss_option_id" property="discussOptionId"/> <result column="user_id" property="userId"/> <result column="create_at" property="createAt"/> <result column="discuss_id" property="discussId"/> </resultMap> <!-- 通用查询结果列 --> <sql id="Base_Column_List"> id, discuss_option_id, user_id, create_at, discuss_id </sql> <insert id="batchInsert" parameterType="java.util.List"> INSERT INTO `com_act_discuss_option_user`(discuss_option_id,user_id,create_at,discuss_id) VALUES <foreach collection="comActDiscussOptionUserDOList" item="item" index="index" separator="," > (#{item.discussOptionId}, #{item.userId}, now(), #{item.discussId}) </foreach> </insert> <select id="selectVotedVotesInToday" resultType="java.lang.Integer"> SELECT COUNT(1) FROM `com_act_discuss_option_user` WHERE discuss_id = #{discussId} AND user_id = #{userId} AND DATE(create_at) >= DATE(now()) AND DATE(create_at) < DATE_ADD(DATE(now()),INTERVAL 1 DAY) </select> <select id="selectVotedRecords" resultType="com.panzhihua.common.model.vos.community.ComActDiscussOptionUserVO"> SELECT cadou.*, su.nick_name, su.image_url FROM `com_act_discuss_option_user` cadou LEFT JOIN `sys_user` su ON cadou.user_id = su.user_id WHERE cadou.discuss_id = #{discussId} limit 6 </select> <select id="selectVotedPersonNum" resultType="java.lang.Integer"> SELECT COUNT(DISTINCT `user_id`) FROM `com_act_discuss_option_user` WHERE discuss_id = #{discussId} </select> </mapper> springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActDiscussUserDOMapper.xml
New file @@ -0,0 +1,18 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.panzhihua.service_community.dao.ComActDiscussUserDAO"> <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.panzhihua.service_community.model.dos.ComActDiscussUserDO"> <id column="id" property="id"/> <result column="discuss_id" property="discussId"/> <result column="user_id" property="userId"/> <result column="create_at" property="createAt"/> </resultMap> <!-- 通用查询结果列 --> <sql id="Base_Column_List"> id, discuss_id, user_id, create_at </sql> </mapper> springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActQuestnaireAnswerContentDOMapper.xml
@@ -25,19 +25,24 @@ <select id="selectListByQuestnaire" resultType="com.panzhihua.common.model.vos.community.ComActQuestnaireAnswerContentVO"> SELECT qs.type AS optionType, ac.answer_id as reserveRecordId, ac.answer_content, caqs.type AS optionType, caqac.answer_id as reserveRecordId, caqac.sub_id as reserveSubId, caqac.answer_content, caqac.type, caqac.id, su.nick_name, carr.create_at AS `time` caqua.create_at AS `time` FROM com_act_questnaire_answer_content ac LEFT JOIN com_act_questnaire_sub qs ON ac.sub_id = qs.id LEFT JOIN com_act_questnaire qn ON qs.que_Id = qn.id LEFT JOIN sys_user su ON ac.user_id = su.user_id LEFT JOIN com_act_questnaire_user_answer carr ON carr.id = ac.answer_id com_act_questnaire_answer_content caqac LEFT JOIN com_act_questnaire_sub caqs ON caqac.selection_id = caqs.id LEFT JOIN com_act_questnaire caq ON caqs.que_Id = caq.id LEFT JOIN sys_user su ON caqac.user_id = su.user_id LEFT JOIN com_act_questnaire_user_answer caqua ON caqua.id = caqac.answer_id WHERE qn.id = #{questId} caq.id = #{questId} ORDER BY caqac.answer_id asc,caqac.id ASC </select> </mapper> springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActReserveAnswerContentMapper.xml
@@ -34,7 +34,7 @@ LEFT JOIN com_act_reserve_record carr ON carr.id = ac.reserve_record_id WHERE qn.id = #{reserveId} order by ac.id asc order by ac.reserve_record_id asc,ac.id asc </select> <select id="pageRegisterDetailedListAdmin" parameterType="com.panzhihua.common.model.dtos.community.reserve.PageReserveRegisterDetailedAdminDTO" springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComElderAuthRecordsMapper.xml
@@ -39,6 +39,7 @@ ceae.personnel_category, ceae.address, ceae.is_alive, cear.auth_method, cear.auth_period, cear.auth_date, cear.mark, @@ -52,6 +53,9 @@ ceae.community_id = #{pageElderAuthRecordsDTO.communityId} <if test="pageElderAuthRecordsDTO.authPeriod != null and pageElderAuthRecordsDTO.authPeriod !=''"> and cear.auth_period = #{pageElderAuthRecordsDTO.authPeriod} </if> <if test="pageElderAuthRecordsDTO.authMethod != null and pageElderAuthRecordsDTO.authMethod != 0"> and cear.auth_method = #{pageElderAuthRecordsDTO.authMethod} </if> <if test="pageElderAuthRecordsDTO.authDateBegin != null and pageElderAuthRecordsDTO.authDateBegin != ''"> and cear.auth_date after #{pageElderAuthRecordsDTO.authDateBegin} @@ -89,6 +93,7 @@ ceae.personnel_category, ceae.address, ceae.is_alive, cear.auth_method, cear.auth_period, cear.auth_date, cear.mark, @@ -132,12 +137,19 @@ END personnelCategory, ceae.address, CASE ceae.isAlive ceae.is_alive WHEN 1 THEN '是' WHEN 0 THEN '否' END is_alive, END isAlive, CASE cear.auth_method WHEN 1 THEN '视频认证' WHEN 2 THEN '人脸认证' END authMethod, cear.auth_period, cear.auth_date, cear.mark, @@ -171,6 +183,9 @@ </if> <if test="item.elderliesId != null"> `elderlies_id` = #{item.elderliesId}, </if> <if test="item.authMethod != null and item.authMethod != 0"> `auth_method` = #{item.authMethod}, </if> <if test="item.authPeriod != null and item.authPeriod != ''"> `auth_period` = #{item.authPeriod}, @@ -239,7 +254,7 @@ END personnelCategory, ceae.address, CASE ceae.isAlive ceae.is_alive WHEN 1 THEN '是' WHEN 0 THEN @@ -247,6 +262,13 @@ END is_alive, cear.auth_period, cear.auth_date, CASE cear.auth_method WHEN 1 THEN '视频认证' WHEN 2 THEN '人脸认证' END authMethod, cear.mark, CASE cear.auth_status springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComPensionAuthRecordMapper.xml
@@ -41,6 +41,7 @@ cpap.is_alive, cpar.auth_period, cpar.auth_date, cpar.auth_method, cpar.mark, cpar.approval_status, cpar.auth_status @@ -52,6 +53,9 @@ cpap.community_id = #{pageElderAuthRecordsDTO.communityId} <if test="pageElderAuthRecordsDTO.authPeriod != null and pageElderAuthRecordsDTO.authPeriod !=''"> and cpar.auth_period = #{pageElderAuthRecordsDTO.authPeriod} </if> <if test="pageElderAuthRecordsDTO.authMethod != null and pageElderAuthRecordsDTO.authMethod != 0"> and cpar.auth_method = #{pageElderAuthRecordsDTO.authMethod} </if> <if test="pageElderAuthRecordsDTO.authDateBegin != null and pageElderAuthRecordsDTO.authDateBegin != ''"> and cpar.auth_date after #{pageElderAuthRecordsDTO.authDateBegin} @@ -92,6 +96,7 @@ cpar.auth_period, cpar.auth_date, cpar.mark, cpar.auth_method, cpar.auth_video, cpar.approval_status, su1.`name` as approverName, @@ -140,6 +145,13 @@ END is_alive, cpar.auth_period, cpar.auth_date, CASE cpar.auth_method WHEN 1 THEN '视频认证' WHEN 2 THEN '人脸认证' END authMethod, cpar.mark, CASE cpar.approval_status @@ -171,6 +183,9 @@ </if> <if test="item.pensionerId != null"> `pensioner_id` = #{item.pensionerId}, </if> <if test="item.authMethod != null and item.authMethod != 0"> `auth_method` = #{item.authMethod}, </if> <if test="item.authPeriod != null and item.authPeriod != ''"> `auth_period` = #{item.authPeriod}, @@ -247,6 +262,13 @@ END is_alive, cpar.auth_period, cpar.auth_date, CASE cpar.auth_method WHEN 1 THEN '视频认证' WHEN 2 THEN '人脸认证' END authMethod, cpar.mark, CASE cpar.auth_status springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/api/UserApi.java
@@ -1112,4 +1112,14 @@ return userService.getUserListByCommunityId(communityId); } /** * 检查当前用户是否是社区工作人员 * @param phone * @param communityId * @return */ @GetMapping("checkIsTeam") public R checkCurrentUserIsTeam(String phone, Long communityId) { return userService.checkCurrentUserIsTeam(phone, communityId); } } springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/UserService.java
@@ -678,4 +678,11 @@ */ R getUserListByCommunityId(Long communityId); /** * 检查当前用户是否是社区工作人员 * @param phone * @param communityId * @return */ R checkCurrentUserIsTeam(String phone, Long communityId); } springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java
@@ -2422,4 +2422,19 @@ public R getUserListByCommunityId(Long communityId) { return R.ok(this.userDao.getUserListByCommunityId(communityId)); } /** * 检查当前用户是否是社区工作人员 * @param phone * @param communityId * @return */ @Override public R checkCurrentUserIsTeam(String phone, Long communityId) { int result = this.userDao.selectCountTeam(phone, communityId); if (result > 0) { return R.ok(true); } return R.ok(false); } } springcloud_k8s_panzhihuazhihuishequ/timejob/src/main/java/com/panzhihua/timejob/jobhandler/CommunityJobHandler.java
@@ -205,6 +205,17 @@ return ReturnT.SUCCESS; } /** * 定时任务每半小时执行一次将一起议浏览量写入到表中 */ @XxlJob("timedTaskWriteDiscussViewNumToTableJobHandler") public ReturnT<String> timedTaskWriteDiscussViewNumToTableJobHandler(String param) throws Exception { log.info("定时任务每半小时执行一次将一起议浏览量写入到表中"); R r = communityService.timedTaskWriteDiscussViewNumToTable(); log.info("执行结果【{}】", r.toString()); return ReturnT.SUCCESS; } @XxlJob("timedTaskEldersAuthJobHandler") public ReturnT<String> timedTaskEldersAuthJobHandler(String param) throws Exception { log.info("定时任务扫描上月高龄认证使用视频认证的用户添加成功记录"); springcloud_k8s_panzhihuazhihuishequ/timejob/src/main/java/com/panzhihua/timejob/jobhandler/DiscussJobHandler.java
New file @@ -0,0 +1,30 @@ package com.panzhihua.timejob.jobhandler; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.service.community.CommunityService; import com.xxl.job.core.biz.model.ReturnT; import com.xxl.job.core.handler.annotation.XxlJob; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import javax.annotation.Resource; /** * @author lyq * 议事投票定时任务 */ @Slf4j @Component public class DiscussJobHandler { @Resource private CommunityService communityService; @XxlJob("timedTaskDiscussInspectStatusJobHandler") public ReturnT<String> timedTaskDiscussInspectStatusJobHandler(String param) throws Exception { log.info("定时任务扫描议事投票状态"); R r = communityService.timedTaskDiscussInspectStatus(); log.info("执行结果【{}】", r.toString()); return ReturnT.SUCCESS; } } springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/filters/JWTAuthenticationTokenFilter.java
@@ -247,8 +247,8 @@ noLoginUrl.add("/api/applets/partybuilding/pageactivity"); noLoginUrl.add("/api/applets/community/pagevolunteer"); noLoginUrl.add("/api/applets/community/volunteer"); noLoginUrl.add("/api/applets/discuss/increase-view-num"); noLoginUrl.add("/api/applets/community/evaluate/page"); if (noLoginUrl.contains(requestURI)) { List<SimpleGrantedAuthority> authorities = new ArrayList<>(); authorities.add(new SimpleGrantedAuthority(SecurityConstants.ROLE_APPLETS));