springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/CommunityApi.java
@@ -4,25 +4,47 @@ import javax.annotation.Resource; import com.panzhihua.common.model.dtos.community.PageComMngVillageDTO; import com.panzhihua.common.service.partybuilding.PartyBuildingService; import com.panzhihua.common.model.vos.community.MyActivityEvaluateVO; 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.alibaba.fastjson.JSONObject; import com.panzhihua.common.controller.BaseController; import com.panzhihua.common.model.dtos.community.ComMngCarAppletDTO; import com.panzhihua.common.model.dtos.community.PageComMngVillageDTO; import com.panzhihua.common.model.dtos.community.PageVolunteerDTO; import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.*; import com.panzhihua.common.model.vos.community.ActivitySignInRecordVO; import com.panzhihua.common.model.vos.community.ActivitySignVO; import com.panzhihua.common.model.vos.community.ComActActEvaluateVO; import com.panzhihua.common.model.vos.community.ComActActRegistVO; import com.panzhihua.common.model.vos.community.ComActActivityVO; import com.panzhihua.common.model.vos.community.ComActDynVO; import com.panzhihua.common.model.vos.community.ComMngCarVO; import com.panzhihua.common.model.vos.community.ComMngStructAreaVO; import com.panzhihua.common.model.vos.community.ComMngVillageVO; import com.panzhihua.common.model.vos.community.ComMngVolunteerMngAppletsVO; import com.panzhihua.common.model.vos.community.ComMngVolunteerMngVO; import com.panzhihua.common.model.vos.community.SignactivityVO; import com.panzhihua.common.model.vos.user.SysUserNoticeVO; import com.panzhihua.common.service.community.CommunityService; import com.panzhihua.common.service.partybuilding.PartyBuildingService; import com.panzhihua.common.service.user.UserService; import com.panzhihua.common.validated.AddGroup; import com.panzhihua.common.validated.PageGroup; import io.swagger.annotations.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; /** @@ -144,18 +166,24 @@ return communityService.activityEvaluate(comActActEvaluateVO); } @ApiOperation(value = "我的评价", response = MyActivityEvaluateVO.class) @GetMapping("activity/my-evaluate") public R listMyActivityEvaluate(@RequestParam("activityId") Long activityId) { return communityService.listMyActivityEvaluate(getUserId(), activityId); } @ApiOperation(value = "报名/取消报名社区活动") @PutMapping("signactivity") public R signActivity(@RequestBody @Validated(AddGroup.class) SignactivityVO signactivityVO) { Long userId = this.getUserId(); Long activityId = signactivityVO.getActivityId(); Integer isVolunteer = signactivityVO.getIsVolunteer(); signactivityVO.setUserId(userId); R r = communityService.signActivity(signactivityVO); if (R.isOk(r) && signactivityVO.getType().intValue() == 1) { R r2 = communityService.detailActivity(activityId, userId,null,null); ComActActivityVO comActActivityVO = JSONObject.parseObject(JSONObject.toJSONString(r2.getData()), ComActActivityVO.class); Integer isVolunteer = JSONObject.parseObject(JSONObject.toJSONString(r.getData()), Integer.class); SysUserNoticeVO sysUserNoticeVO = new SysUserNoticeVO(); sysUserNoticeVO.setUserId(userId); sysUserNoticeVO.setType(1); @@ -203,26 +231,22 @@ } if (type.intValue() == 1) { return communityService.listSignInRecord(id); } else { return partyBuildingService.listSignInRecord(id); } return R.fail("type不存在"); } @ApiOperation(value = "活动签到记录", response = ComActActRegistVO.class) @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "社区活动主键", required = true), @ApiImplicitParam(name = "type", value = "活动类型,1.居民/志愿者活动 2.党员活动", required = true), @ApiImplicitParam(name = "userId", value = "用户id", required = true) @ApiImplicitParam(name = "id", value = "活动主键", required = true), @ApiImplicitParam(name = "type", value = "活动类型,1.居民/志愿者活动 2.党员活动", required = true) }) @GetMapping("activity/regist/list") public R listRegistRecord(@RequestParam("id") Long id, @RequestParam("type") Integer type, @RequestParam("userId") Long userId) { @RequestParam("type") Integer type) { if (type.intValue() == 1) { return communityService.listRegistRecord(id, userId); } else { return partyBuildingService.listRegistRecord(id, userId); return communityService.listRegistRecord(id, this.getUserId()); } return R.fail("type不存在"); } // @ApiOperation(value = "新增社区动态浏览记录") springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/UserApi.java
@@ -250,17 +250,18 @@ } @ApiOperation(value = "我的活动", response = ComActActivityVO.class) @ApiImplicitParam(name = "status", value = "活动状态(4 进行中 5 已结束 6 已取消)", required = false) @GetMapping("listactivity") public R listActivity() { public R listActivity(@RequestParam("status") Integer status) { LoginUserInfoVO loginUserInfo = this.getLoginUserInfo(); Long userId = loginUserInfo.getUserId(); Long communityId = loginUserInfo.getCommunityId(); List<ComActActivityVO> comActActivityVOS = new ArrayList<>(); R r = communityService.listActivity(userId); R r = communityService.listActivity(userId, status); if (R.isOk(r)) { comActActivityVOS = (List<ComActActivityVO>)r.getData(); } R r1 = partyBuildingService.listActivity(userId, communityId); R r1 = partyBuildingService.listActivity(userId, communityId, status); if (R.isOk(r1)) { List<ComActActivityVO> data = (List<ComActActivityVO>)r1.getData(); comActActivityVOS.addAll(data); springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/constants/HttpStatus.java
@@ -90,4 +90,9 @@ * 接口未实现 */ public static final int NOT_IMPLEMENTED = 501; /** * 暂不支持 */ public static final int NOT_ACCEPTABLE = 406; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/partybuilding/ActivitySignUpDTO.java
@@ -27,9 +27,6 @@ @NotNull(message = "操作类型不能为空") private Integer type; @ApiModelProperty("取消原因") private String reason; @ApiModelProperty(value = "登录用户id", hidden = true) private Long userId; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActActRegistVO.java
@@ -75,6 +75,9 @@ @ApiModelProperty(value = "二维码id") private Integer codeId; @ApiModelProperty(value = "本次签到获取的积分奖励") private Integer award; @ApiModelProperty(value = "活动类型 1居民,志愿者 2党员") private Integer activityType; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActActivityTypeVO.java
New file @@ -0,0 +1,37 @@ package com.panzhihua.common.model.vos.community; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import com.fasterxml.jackson.annotation.JsonIgnore; import com.panzhihua.common.validated.AddGroup; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @title: ComActActivityTypeVO * @projectName: 成都呐喊信息技术有限公司-智慧社区项目 * @description: 活动分类vo * @author: hans * @date: 2021/10/21 11:11 */ @Data @ApiModel("活动分类vo") public class ComActActivityTypeVO { @ApiModelProperty("自增id") private Long id; @ApiModelProperty("类型名称") @NotBlank(groups = AddGroup.class, message = "类型名称不能为空") private String name; @ApiModelProperty("活动类型(1.志愿者 2.居民 3.党员)") @NotNull(groups = AddGroup.class, message = "活动类型不能为空") private Integer type; @ApiModelProperty(value = "社区id", hidden = true) private Long communityId; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActActivityVO.java
@@ -77,7 +77,6 @@ private Date signUpEnd; @ApiModelProperty("参加人群(多个以逗号隔开)") @NotBlank(groups = AddGroup.class, message = "参加人群不可为空") private String aattendPeople; @ApiModelProperty("志愿者人数下线") @@ -222,7 +221,7 @@ @ApiModelProperty("参与签到/打卡奖励积分") private Integer rewardIntegral; @ApiModelProperty("参与次数上限,按次奖励需传入") @ApiModelProperty("参与次数上限,按次奖励需传入,无次数限制-1") private Integer limit; @ApiModelProperty("是否允许取消(1.允许 2.不允许)") @@ -233,9 +232,15 @@ @NotNull(groups = AddGroup.class, message = "取消活动扣除积分数目不可为空") private Integer cancelDeduct; @ApiModelProperty("参与次数") @ApiModelProperty("用户已参与次数") private Integer times; @ApiModelProperty("已获取积分") private Integer award; @ApiModelProperty("二维码类型 1居民,志愿者 2党员") private Integer codeType; @ApiModelProperty("活动类型") private String activityType; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/MyActivityEvaluateVO.java
New file @@ -0,0 +1,25 @@ package com.panzhihua.common.model.vos.community; import java.util.List; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @title: MyActivityEvaluateVO * @projectName: 成都呐喊信息技术有限公司-智慧社区项目 * @description: 我的评价vo * @author: hans * @date: 2021/10/21 17:14 */ @Data @ApiModel("我的评价vo") public class MyActivityEvaluateVO { @ApiModelProperty("是否展示评价按钮(1.展示 0.不展示)") private Integer isDisplay; @ApiModelProperty("评论详情") private List<ComActActEvaluateVO> myEvaluateList; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/partybuilding/PageActivityMembersVO.java
@@ -30,14 +30,4 @@ private Long pageSize; @ApiModelProperty(value = "活动id", required = true) private Long activityId; @ApiModelProperty("报名状态 0 已取消 1已报名") private Integer status; @ApiModelProperty("取消原因") private String reason; @ApiModelProperty("参与次数") private Integer times; @ApiModelProperty("获取奖励") private Integer award; @ApiModelProperty("活动限制次数") private Integer limit; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/partybuilding/PartyBuildingActivityVO.java
@@ -5,12 +5,9 @@ import com.fasterxml.jackson.annotation.JsonFormat; import com.panzhihua.common.validated.AddGroup; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotNull; /** * @program: springcloud_k8s_panzhihuazhihuishequ @@ -107,29 +104,7 @@ @ApiModelProperty("是否是个人发起 1 是 0 否") private Integer isPerson; @ApiModelProperty("签到范围,默认0无限制") @NotNull(groups = AddGroup.class, message = "签到范围不可为空") private Integer range; @ApiModelProperty("是否有积分奖励(1.是 2.否)") @NotNull(groups = AddGroup.class, message = "是否有积分奖励不可为空") private Integer haveIntegralReward; @ApiModelProperty("积分奖励方式(1.按次奖励 2.记时奖励)") private Integer rewardWay; @ApiModelProperty("参与签到/打卡奖励积分") private Integer rewardIntegral; @ApiModelProperty("参与次数上限,按次奖励需传入") private Integer limit; @ApiModelProperty("是否允许取消(1.允许 2.不允许)") @NotNull(groups = AddGroup.class, message = "是否允许取消不可为空") private Integer canCancel; @ApiModelProperty("取消活动扣除积分数目") @NotNull(groups = AddGroup.class, message = "取消活动扣除积分数目不可为空") private Integer cancelDeduct; @ApiModelProperty("二维码类型 1居民,志愿者 2党员") private Integer codeType; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
@@ -1067,10 +1067,12 @@ * * @param userId * 用户id * @param status * @return 活动列表 */ @PostMapping("listactivity") R listActivity(@RequestParam("userId") Long userId); R listActivity(@RequestParam("userId") Long userId, @RequestParam(value = "status", required = false) Integer status); /** * 用户确认心愿 @@ -7011,4 +7013,30 @@ */ @GetMapping("/activity/regist/list") R listRegistRecord(@RequestParam("id") Long id, @RequestParam("userId") Long userId); /** * 获取活动类型(目前只有志愿者活动需要获取) * @param communityId * @param type * @return */ @GetMapping("/activity/type/list") R listActivityType(@RequestParam("communityId") Long communityId, @RequestParam("type") Integer type); /** * 添加活动类型 * @param comActActivityTypeVO * @return */ @PostMapping("/activity/type/add") R addActivityType(@RequestBody ComActActivityTypeVO comActActivityTypeVO); /** * 我的评价 * @param userId * @param activityId * @return */ @GetMapping("/activity/my-evaluate") R listMyActivityEvaluate(@RequestParam("userId") Long userId, @RequestParam("activityId") Long activityId); } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/partybuilding/PartyBuildingService.java
@@ -340,10 +340,12 @@ * 用户id * @param communityId * 社区id 同一用户在不同社区都是党员 * @param status * @return 党建活动列表 */ @PostMapping("/partybuildIng/listactivity") R listActivity(@RequestParam("userId") Long userId, @RequestParam("communityId") Long communityId); R listActivity(@RequestParam("userId") Long userId, @RequestParam("communityId") Long communityId, @RequestParam(value = "status", required = false) Integer status); /** * 党员活动人员参入列表 @@ -529,21 +531,4 @@ */ @PostMapping("/partybuildIng/getTaskPbActivityPeopleList") R getTaskPbActivityPeopleList(@RequestParam("activityId") Long activityId); /** * 活动签到记录 * @param id 活动主键 * @param userId 用户id * @return */ @GetMapping("/partybuildIng/regist/list") R listRegistRecord(@RequestParam("id") Long id, @RequestParam("userId") Long userId); /** * 活动报名签到情况 * @param id 活动主键id * @return */ @GetMapping("/partybuildIng/sign-in/list") R listSignInRecord(@RequestParam("id") Long id); } springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/CommunityActivityApi.java
@@ -1,32 +1,43 @@ package com.panzhihua.community_backstage.api; import java.io.*; import static java.util.Objects.isNull; import static java.util.Objects.nonNull; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStreamWriter; import java.io.Writer; import java.math.BigDecimal; import java.nio.charset.StandardCharsets; import java.text.SimpleDateFormat; import java.util.*; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.annotation.Resource; import javax.validation.Valid; import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; import com.alibaba.fastjson.JSON; import com.panzhihua.common.constants.Constants; import com.panzhihua.common.model.vos.LiveVO; import com.panzhihua.common.model.vos.WeatherVO; import com.panzhihua.common.validated.AddGroup; import com.panzhihua.community_backstage.excel.CustomSheetWriteHandler; import freemarker.template.Configuration; import freemarker.template.Template; import freemarker.template.Version; import com.panzhihua.common.model.vos.community.ComActActivityTypeVO; import org.springframework.beans.factory.annotation.Value; import org.springframework.util.ObjectUtils; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; 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.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.write.metadata.WriteSheet; import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.panzhihua.common.controller.BaseController; @@ -35,7 +46,18 @@ 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.*; import com.panzhihua.common.model.vos.community.ActivitySignVO; import com.panzhihua.common.model.vos.community.ComActActEvaluateExcelVO; import com.panzhihua.common.model.vos.community.ComActActEvaluateVO; import com.panzhihua.common.model.vos.community.ComActActPictureVO; import com.panzhihua.common.model.vos.community.ComActActRegistExcelVO; import com.panzhihua.common.model.vos.community.ComActActRegistVO; import com.panzhihua.common.model.vos.community.ComActActSignExcelVO; import com.panzhihua.common.model.vos.community.ComActActivityStatisticsVO; import com.panzhihua.common.model.vos.community.ComActActivityVO; import com.panzhihua.common.model.vos.community.ComActDynVO; import com.panzhihua.common.model.vos.community.ComActEasyPhotoVO; import com.panzhihua.common.model.vos.community.ComActMicroWishVO; import com.panzhihua.common.model.vos.community.easyPhoto.ComActEasyPhotoClassifyVO; import com.panzhihua.common.model.vos.community.easyPhoto.ComActEasyPhotoStatisticsVO; import com.panzhihua.common.model.vos.community.easyPhoto.ExportEasyPhotoVO; @@ -43,15 +65,23 @@ import com.panzhihua.common.model.vos.user.SysUserNoticeVO; import com.panzhihua.common.service.community.CommunityService; import com.panzhihua.common.service.user.UserService; import com.panzhihua.common.utlis.*; import com.panzhihua.common.utlis.DateUtils; import com.panzhihua.common.utlis.QRCodeUtils; import com.panzhihua.common.utlis.SFTPUtil; import com.panzhihua.common.utlis.StringUtils; import com.panzhihua.common.utlis.WxUtil; import com.panzhihua.common.utlis.WxXCXTempSend; import com.panzhihua.common.validated.AddGroup; import com.panzhihua.community_backstage.excel.CustomSheetWriteHandler; import freemarker.template.Configuration; import freemarker.template.Template; import freemarker.template.Version; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import sun.misc.BASE64Encoder; import static java.util.Objects.isNull; /** * @program: springcloud_k8s_panzhihuazhihuishequ @@ -109,6 +139,9 @@ if (comActActivityVO.getRewardWay().intValue() == 1 && isNull(comActActivityVO.getLimit())) { return R.fail("参与次数上限不能为空"); } } if(nonNull(comActActivityVO.getVolunteerMax()) && comActActivityVO.getVolunteerMax().intValue() == 0) { return R.fail("志愿者参与上限不能为0"); } Long communityId = this.getCommunityId(); comActActivityVO.setCommunityId(communityId); @@ -550,28 +583,6 @@ log.error("文件传输失败【{}】", e.getMessage()); return R.fail(); } } /** * 查看二维码 * @param qrCodeVO * @return */ @ApiOperation("查看二维码") @PostMapping("/getQRCode") public R getQRCode(@RequestBody QRActivityCodeVO qrCodeVO){ return this.communityService.getQRCode(qrCodeVO); } /** * 重置二维码 * @param qrCodeVO * @return */ @ApiOperation("重置二维码") @PostMapping("/resetQRCode") public R resetQRCode(@RequestBody QRActivityCodeVO qrCodeVO){ return this.communityService.resetQRCode(qrCodeVO); } @ApiOperation(value = "社区活动查询历史封面", response = ComActActPictureVO.class) @@ -1092,4 +1103,18 @@ } return communityService.wishHandleListAdmin(loginUserInfo.getCommunityId(),type); } @ApiOperation(value = "添加活动类型") @PostMapping("activity/type/add") public R addActivityType(@RequestBody @Validated(AddGroup.class) ComActActivityTypeVO comActActivityTypeVO) { comActActivityTypeVO.setCommunityId(getCommunityId()); return communityService.addActivityType(comActActivityTypeVO); } @ApiOperation(value = "获取活动类型(目前只有志愿者活动需要获取)", response = ComActActivityTypeVO.class) @ApiImplicitParam(name = "type", value = "活动类型(1.志愿者 2.居民 3.党员)", required = true) @GetMapping("activity/type/list") public R listActivityType(@RequestParam("type") Integer type) { return communityService.listActivityType(getCommunityId(), type); } } springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/CommunityPartyBuildingApi.java
@@ -55,8 +55,6 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import static java.util.Objects.isNull; /** * @program: springcloud_k8s_panzhihuazhihuishequ * @description: 社区党建引领 @@ -277,18 +275,7 @@ @ApiOperation(value = "新增党员活动") @PostMapping("addactivity") public R addActivity(@RequestBody @Validated(AddGroup.class) PartyBuildingActivityVO partyBuildingActivityVO) { if (partyBuildingActivityVO.getHaveIntegralReward().intValue() == 1) { if (isNull(partyBuildingActivityVO.getRewardWay())) { return R.fail("奖励方式不能为空"); } if (isNull(partyBuildingActivityVO.getRewardIntegral())) { return R.fail("奖励积分不能为空"); } if (partyBuildingActivityVO.getRewardWay().intValue() == 1 && isNull(partyBuildingActivityVO.getLimit())) { return R.fail("参与次数上限不能为空"); } } public R addActivity(@RequestBody PartyBuildingActivityVO partyBuildingActivityVO) { LoginUserInfoVO loginUserInfo = this.getLoginUserInfo(); Long communityId = loginUserInfo.getCommunityId(); Long userId = loginUserInfo.getUserId(); 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.common.model.vos.community.ComActActivityTypeVO; import com.panzhihua.service_community.dao.ComActActEvaluateDAO; import com.panzhihua.service_community.model.dos.*; import com.panzhihua.service_community.service.*; @@ -277,8 +278,8 @@ }); } comActActivityVO1.setComActActPrizeVOList(comActActPrizeVOList); Integer participantMax = comActActivityVO1.getParticipantMax(); if (participantMax.intValue() == 0) { Integer volunteerMax = comActActivityVO1.getVolunteerMax(); if (volunteerMax.intValue() != 0) { comActActivityVO1.setType(1); } else { comActActivityVO1.setType(2); @@ -1386,8 +1387,9 @@ * @return 活动列表 */ @PostMapping("listactivity") public R listActivity(@RequestParam("userId") Long userId) { return comActActivityService.listActivity(userId); public R listActivity(@RequestParam("userId") Long userId, @RequestParam(value = "status", required = false) Integer status) { return comActActivityService.listActivity(userId, status); } /** @@ -2477,4 +2479,36 @@ public R listRegistRecord(@RequestParam("id") Long id, @RequestParam("userId") Long userId) { return comActActivityService.listRegistRecord(id, userId); } /** * 获取活动类型(目前只有志愿者活动需要获取) * @param communityId * @param type * @return */ @GetMapping("activity/type/list") public R listActivityType(@RequestParam("communityId") Long communityId, @RequestParam("type") Integer type) { return comActActivityService.listActivityType(communityId, type); } /** * 添加活动类型 * @param comActActivityTypeVO * @return */ @PostMapping("activity/type/add") public R addActivityType(@RequestBody ComActActivityTypeVO comActActivityTypeVO) { return comActActivityService.addActivityType(comActActivityTypeVO); } /** * 我的评价 * @param userId * @param activityId 活动id * @return */ @GetMapping("activity/my-evaluate") public R listMyActivityEvaluate(@RequestParam("userId") Long userId, @RequestParam("activityId") Long activityId) { return comActActEvaluateService.listMyActivityEvaluate(userId, activityId); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActActivityDAO.java
@@ -5,6 +5,7 @@ import java.util.Map; import com.panzhihua.common.model.vos.community.ComActActivityStatisticsVO; import com.panzhihua.common.model.vos.community.ComActActivityTypeVO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -61,16 +62,22 @@ + "AND a.begin_at <![CDATA[ >= ]]> #{comActActivityVO.beginAt} AND a.end_at <![CDATA[ <= ]]> #{comActActivityVO.endAt} " + " </if> " + "<if test='comActActivityVO.type != null and comActActivityVO.type==1 '>" + "AND a.volunteer_max!=0 " + " </if> " + "<if test='comActActivityVO.type != null and comActActivityVO.type==2 '>" + "AND a.participant_max!=0 " + "<if test='comActActivityVO.type != null and comActActivityVO.type==2 '>" + "AND a.volunteer_max=0 " + " </if> " + " group by a.id " + " order by a.status asc,a.publish_at desc " + "</script>") IPage<ComActActivityVO> pageActivity(Page page, @Param("comActActivityVO") ComActActivityVO comActActivityVO); @Select("SELECT " + "u.name sponsorName, " + "ca.name communityName, " + "count(if(s.is_volunteer=1,s.id,null))volunteer_now, " + "count(if(s.is_volunteer=0,s.id,null))participant_now, " + "a.* " + "FROM " + "com_act_activity a " + "left join sys_user u on a.sponsor_id=u.user_id " + "left join com_act_act_sign s on a.id=s.activity_id " + "left join com_act ca on a.community_id=ca.community_id " + "where a.id=#{id} " + " group by a.id ") ComActActivityVO inforActivity(Long id); // @Select("SELECT " + "u.name sponsorName, " + "ca.name communityName, " // + "count(if(s.is_volunteer=1,s.id,null))volunteer_now, " // + "count(if(s.is_volunteer=0,s.id,null))participant_now, " + "a.* " + "FROM " + "com_act_activity a " // + "left join sys_user u on a.sponsor_id=u.user_id " + "left join com_act_act_sign s on a.id=s.activity_id " // + "left join com_act ca on a.community_id=ca.community_id " + "where a.id=#{id} " + " group by a.id ") /** * 活动详情 * @param id * @return */ ComActActivityVO inforActivity(@Param("id") Long id); @Select("SELECT " + "a.* " + "FROM " + "com_act_act_sign s " + "JOIN com_act_activity a ON s.activity_id = a.id " + "WHERE " + "s.user_id = #{comActActivityVO.sponsorId} " + "ORDER BY " + "s.create_at DESC") @@ -209,4 +216,19 @@ * @return 活动列表 */ List<ComActActivityVO> getIndexTopActivityList(@Param("communityId") Long communityId); /** * 获取活动类型(目前只有志愿者活动需要获取) * @param communityId * @param type * @return */ List<ComActActivityTypeVO> listActivityType(@Param("communityId") Long communityId, @Param("type") Integer type); /** * 添加活动类型 * @param comActActivityTypeVO * @return */ int addActivityType(@Param("comActActivityTypeVO") ComActActivityTypeVO comActActivityTypeVO); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActActivityDO.java
@@ -204,4 +204,8 @@ * 取消扣除积分 */ private Integer cancelDeduct; /** * 活动类型 */ private String activityType; } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComPbActivityDO.java
@@ -101,32 +101,4 @@ * 社区id */ private Long communityId; /** * 签到范围,默认0无限制 */ private Integer range; /** * 是否有积分奖励(1.是 2.否) */ private Integer haveIntegralReward; /** * 积分奖励方式(1.按次奖励 2.记时奖励) */ private Integer rewardWay; /** * 奖励积分 */ private Integer rewardIntegral; /** * 参与次数上限 */ private Integer limit; /** * 是否允许取消(1.允许 2.不允许) */ private Integer canCancel; /** * 取消扣除积分 */ private Integer cancelDeduct; } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActActEvaluateService.java
@@ -35,4 +35,12 @@ * @return 当前用户对所有活动的评价列表 */ R listEvaluate(Long userId); /** * 我的评价 * @param userId * @param activityId * @return */ R listMyActivityEvaluate(Long userId, Long activityId); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActActivityService.java
@@ -8,10 +8,6 @@ import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.*; import com.panzhihua.service_community.model.dos.ComActActivityDO; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; /** * @program: springcloud_k8s_panzhihuazhihuishequ @@ -197,9 +193,10 @@ * * @param userId * 用户id * @param status * @return 活动列表 */ R listActivity(Long userId); R listActivity(Long userId, Integer status); /** * 查询志愿者参与的所有已经完成的活动 @@ -281,4 +278,19 @@ * @return */ R listRegistRecord(Long id, Long userId); /** * 获取活动类型(目前只有志愿者活动需要获取) * @param communityId * @param type * @return */ R listActivityType(Long communityId, Integer type); /** * 添加活动类型 * @param comActActivityTypeVO * @return */ R addActivityType(ComActActivityTypeVO comActActivityTypeVO); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActActEvaluateServiceImpl.java
@@ -6,7 +6,6 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; import javax.annotation.Resource; @@ -21,6 +20,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComActActEvaluateVO; import com.panzhihua.common.model.vos.community.MyActivityEvaluateVO; import com.panzhihua.service_community.dao.ComActActEvaluateDAO; import com.panzhihua.service_community.dao.ComActActRegistDAO; import com.panzhihua.service_community.dao.ComActActSignDAO; @@ -75,7 +75,9 @@ //需要签到类型 int registCount = comActActRegistDAO.selectCount(new QueryWrapper<ComActActRegistDO>() .lambda().eq(ComActActRegistDO::getUserId, userId).eq(ComActActRegistDO::getActivityId, activityId)); if (registCount <= 0) { int evaluateCount = this.baseMapper.selectCount(new QueryWrapper<ComActActEvaluateDO>().lambda() .eq(ComActActEvaluateDO::getUserId, userId).eq(ComActActEvaluateDO::getActivityId, activityId)); if (registCount <= evaluateCount) { //未签到,不能评价 return R.fail("未签到,不能评价"); } @@ -145,7 +147,7 @@ public R listEvaluate(Long userId) { List<ComActActEvaluateDO> comActActEvaluateDOList = this.baseMapper.selectList(new QueryWrapper<ComActActEvaluateDO>() .lambda().eq(ComActActEvaluateDO::getUserId, userId)); ArrayList<ComActActEvaluateVO> comActActEvaluateVOS = new ArrayList<>(); List<ComActActEvaluateVO> comActActEvaluateVOS = new ArrayList<>(); if (!ObjectUtils.isEmpty(comActActEvaluateDOList)) { comActActEvaluateDOList.forEach(comActActEvaluateDO -> { ComActActEvaluateVO comActActEvaluateVO = new ComActActEvaluateVO(); @@ -155,4 +157,37 @@ } return R.ok(comActActEvaluateVOS); } /** * 我的评价 * @param userId * @param activityId * @return */ @Override public R listMyActivityEvaluate(Long userId, Long activityId) { ComActActivityDO comActActivityDO = comActActivityDAO.selectById(activityId); if (isNull(comActActivityDO)) { return R.fail("活动不存在"); } List<ComActActEvaluateDO> comActActEvaluateDOList = this.baseMapper.selectList(new QueryWrapper<ComActActEvaluateDO>() .lambda().eq(ComActActEvaluateDO::getUserId, userId).eq(ComActActEvaluateDO::getActivityId, activityId)); List<ComActActEvaluateVO> comActActEvaluateVOS = new ArrayList<>(); if (!ObjectUtils.isEmpty(comActActEvaluateDOList)) { comActActEvaluateDOList.forEach(comActActEvaluateDO -> { ComActActEvaluateVO comActActEvaluateVO = new ComActActEvaluateVO(); BeanUtils.copyProperties(comActActEvaluateDO, comActActEvaluateVO); comActActEvaluateVOS.add(comActActEvaluateVO); }); } int registCount = comActActRegistDAO.selectCount(new QueryWrapper<ComActActRegistDO>() .lambda().eq(ComActActRegistDO::getActivityId, activityId).eq(ComActActRegistDO::getUserId, userId)); MyActivityEvaluateVO evaluateVO = new MyActivityEvaluateVO(); evaluateVO.setMyEvaluateList(comActActEvaluateVOS); boolean needDisplay = registCount > comActActEvaluateVOS.size() && new Date().before(DateUtils.addDays(comActActivityDO.getEndAt(), 3)); evaluateVO.setIsDisplay(needDisplay ? 1 : 0); return R.ok(evaluateVO); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActActivityServiceImpl.java
@@ -1,6 +1,7 @@ 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 static org.apache.commons.lang3.StringUtils.isNotBlank; @@ -8,6 +9,7 @@ import java.math.RoundingMode; import java.text.DecimalFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; @@ -17,12 +19,6 @@ import javax.annotation.Resource; import com.panzhihua.common.model.dtos.community.integral.admin.AddComActIntegralUserDTO; import com.panzhihua.service_community.dao.*; import com.panzhihua.service_community.entity.ComActActivityCode; import com.panzhihua.service_community.model.dos.*; import com.panzhihua.service_community.service.ComActActivityCodeService; import com.panzhihua.service_community.service.ComActIntegralUserTradeService; import org.apache.commons.lang3.time.DateUtils; import org.springframework.beans.BeanUtils; import org.springframework.data.redis.core.StringRedisTemplate; @@ -35,8 +31,10 @@ 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.constants.HttpStatus; import com.panzhihua.common.model.dtos.community.bigscreen.work.ScreenActActivityListDTO; import com.panzhihua.common.model.dtos.community.bigscreen.work.ScreenActActivityPeopleListDTO; import com.panzhihua.common.model.dtos.community.integral.admin.AddComActIntegralUserDTO; import com.panzhihua.common.model.vos.IndexDataVO; import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.common.model.vos.R; @@ -45,6 +43,7 @@ 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.ComActActivityTypeVO; import com.panzhihua.common.model.vos.community.ComActActivityVO; import com.panzhihua.common.model.vos.community.CommunityActivitiesVO; import com.panzhihua.common.model.vos.community.CommunityGovernanceTrendsVO; @@ -53,7 +52,22 @@ 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.ComActActivityCodeDao; import com.panzhihua.service_community.dao.ComActActivityDAO; import com.panzhihua.service_community.dao.ComBpActivityDAO; import com.panzhihua.service_community.entity.ComActActivityCode; 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.ComActActivityCodeService; import com.panzhihua.service_community.service.ComActActivityService; import com.panzhihua.service_community.service.ComActIntegralUserTradeService; import lombok.extern.slf4j.Slf4j; @@ -291,6 +305,7 @@ LambdaQueryWrapper<ComActActSignDO> actSignQuery = new LambdaQueryWrapper<>(); actSignQuery.eq(ComActActSignDO::getActivityId, id); actSignQuery.eq(ComActActSignDO::getUserId, userId); actSignQuery.eq(ComActActSignDO::getStatus, 1); ComActActSignDO comActActSignDO = comActActSignDAO.selectOne(actSignQuery); if (!ObjectUtils.isEmpty(comActActSignDO)) { comActActivityVO.setIsSign(1); @@ -298,6 +313,7 @@ } } } comActActivityVO.setCodeType(1); return comActActivityVO; } @@ -441,69 +457,96 @@ Long activityId = signactivityVO.getActivityId(); Integer type = signactivityVO.getType(); Long userId = signactivityVO.getUserId(); Integer isVolunteer = signactivityVO.getIsVolunteer(); Integer isVolunteer = 0; // 查询社区活动 ComActActivityDO actActivityDO = this.baseMapper.selectById(activityId); if (isNull(actActivityDO)) { return R.fail("活动不存在"); } int num = 0; ComActActSignDO comActActSignDO = comActActSignDAO.selectOne(new QueryWrapper<ComActActSignDO>() .lambda().eq(ComActActSignDO::getActivityId, activityId).eq(ComActActSignDO::getUserId, userId)); if (1 == type) { if (nonNull(comActActSignDO) && comActActSignDO.getStatus().equals(1)) { return R.fail("已经报名过了,请勿重复提交"); } Integer volunteerMax = actActivityDO.getVolunteerMax(); Integer residentMax = actActivityDO.getParticipantMax(); R<LoginUserInfoVO> userInfoR = userService.getUserInfoByUserId(String.valueOf(userId)); LoginUserInfoVO loginUserInfoVO = JSONObject.parseObject(JSONObject.toJSONString(userInfoR.getData()), LoginUserInfoVO.class); boolean userNotVolunteer = !(loginUserInfoVO.getIsVolunteer() == 1); if (isVolunteer == 1 && userNotVolunteer) { return R.fail("只有志愿者才能报名"); } // 查询当前活动下参与志愿者/居民数量 Integer count = comActActSignDAO.selectCount(new QueryWrapper<ComActActSignDO>().lambda() .eq(ComActActSignDO::getActivityId, activityId).eq(ComActActSignDO::getIsVolunteer, isVolunteer)); if (isVolunteer.equals(1) && actActivityDO.getVolunteerMax() <= count && !actActivityDO.getVolunteerMax().equals(-1)) { return R.fail("志愿者报名人数已满"); } //审查用户是否有该活动报名权限(是否活动指定参与人群) String currentUserTags = loginUserInfoVO.getTags(); String attendPeople = actActivityDO.getAattendPeople(); if (isVolunteer.intValue() == 0 && isNotBlank(attendPeople)) { if (isBlank(currentUserTags)) { currentUserTags = "全部居民"; JSONObject.parseObject(JSONObject.toJSONString(userInfoR.getData()), LoginUserInfoVO.class); // 查询当前活动下参与居民 Integer residentCount = comActActSignDAO.selectCount(new QueryWrapper<ComActActSignDO>().lambda() .eq(ComActActSignDO::getActivityId, activityId).eq(ComActActSignDO::getIsVolunteer, 0)); if (volunteerMax != 0) { //志愿者活动 boolean userIsVolunteer = loginUserInfoVO.getIsVolunteer() == 1; // 查询当前活动下参与志愿者 Integer volunteerCount = comActActSignDAO.selectCount(new QueryWrapper<ComActActSignDO>().lambda() .eq(ComActActSignDO::getActivityId, activityId).eq(ComActActSignDO::getIsVolunteer, 1)); if (userIsVolunteer) { //用户是志愿者以志愿者身份参加 if (volunteerMax > volunteerCount || volunteerMax.equals(-1)) { //以志愿者身份报名 isVolunteer = 1; } else if (nonNull(residentMax) && (residentMax > residentCount || residentMax.equals(-1))) { //志愿者报名人数已满,再以居民身份报名参加 isVolunteer = 0; } else { return R.fail("报名人数已满"); } } else { currentUserTags = currentUserTags.concat(",全部居民"); //用户是普通居民已居民身份参加 if (nonNull(residentMax) && (residentMax > residentCount || residentMax.equals(-1))) { //以居民身份报名参加 isVolunteer = 0; } else if (volunteerMax > volunteerCount || volunteerMax.equals(-1)) { return R.fail(HttpStatus.NOT_ACCEPTABLE, "您还不是志愿者哦~"); } else { return R.fail("报名人数已满"); } } List<String> currentUserTagList = Arrays.asList(currentUserTags.split(",")); boolean checkResult = currentUserTagList.stream().anyMatch(currentUserTag -> attendPeople.contains(currentUserTag)); if (!checkResult) { return R.fail("您不是指定参与人群!"); } else { //普通居民活动 //审查用户是否有该活动报名权限(是否活动指定参与人群) String currentUserTags = loginUserInfoVO.getTags(); String attendPeople = actActivityDO.getAattendPeople(); if (isNotBlank(attendPeople)) { if (isBlank(currentUserTags)) { currentUserTags = "全部居民"; } else { currentUserTags = currentUserTags.concat(",全部居民"); } List<String> currentUserTagList = Arrays.asList(currentUserTags.split(",")); boolean checkResult = currentUserTagList.stream().anyMatch(currentUserTag -> attendPeople.contains(currentUserTag)); if (!checkResult) { return R.fail("您不是指定参与人群!"); } } if (residentMax > residentCount || residentMax.equals(-1)) { //用户参加居民活动 isVolunteer = 0; } else { return R.fail("报名人数已满"); } } if (isVolunteer.equals(0) && actActivityDO.getParticipantMax() <= count && !actActivityDO.getParticipantMax().equals(-1)) { return R.fail("居民报名人数已满"); } ComActActSignDO comActActSignDO = new ComActActSignDO(); comActActSignDO.setActivityId(activityId); comActActSignDO.setUserId(userId); comActActSignDO.setIsVolunteer(isVolunteer); try { if (nonNull(comActActSignDO)) { comActActSignDO.setStatus(1); comActActSignDO.setCreateAt(new Date()); comActActSignDO.setReason(null); comActActSignDO.setIsVolunteer(isVolunteer); num = comActActSignDAO.updateById(comActActSignDO); } else { comActActSignDO = new ComActActSignDO(); comActActSignDO.setActivityId(activityId); comActActSignDO.setUserId(userId); comActActSignDO.setIsVolunteer(isVolunteer); num = comActActSignDAO.insert(comActActSignDO); } catch (Exception e) { if (e.getMessage().contains("unique_activity_id_user_id")) { return R.fail("已经报名过了,请勿重复提交"); } log.error(e.getMessage()); } } else { if (isNull(signactivityVO.getReason())) { return R.fail("缺少取消原因"); } ComActActSignDO comActActSignDO = comActActSignDAO.selectOne(new QueryWrapper<ComActActSignDO>() .lambda().eq(ComActActSignDO::getActivityId, activityId).eq(ComActActSignDO::getUserId, userId)); if (isNull(comActActSignDO)) { return R.fail("未报名"); } @@ -512,7 +555,7 @@ num = comActActSignDAO.updateById(comActActSignDO); } if (num > 0) { return R.ok(); return R.ok(isVolunteer); } return R.fail(); } @@ -522,10 +565,11 @@ * * @param userId * 用户id * @param status * @return 活动列表 */ @Override public R listActivity(Long userId) { public R listActivity(Long userId, Integer status) { List<ActivitySignVO> activitySignVOList = comActActSignDAO.selectList(userId); if (ObjectUtils.isEmpty(activitySignVOList)) { return R.fail(); @@ -534,34 +578,41 @@ .collect(Collectors.toList()); List<ComActActivityDO> comActActivityDOS = comActActivityDAO.selectBatchIds(longs); List<ComActActivityVO> comActActivityVOS = new ArrayList<>(); comActActivityDOS.forEach(comActActivityDO -> { ComActActivityVO comActActivityVO = new ComActActivityVO(); BeanUtils.copyProperties(comActActivityDO, comActActivityVO); List<ActivitySignVO> collect = activitySignVOList.stream() .filter(activitySignVO -> activitySignVO.getActivityId().equals(comActActivityVO.getId())).limit(1) .collect(Collectors.toList()); ActivitySignVO activitySignVO = collect.get(0); Integer isVolunteer = activitySignVO.getIsVolunteer(); if (isVolunteer.intValue() == 1) { comActActivityVO.setType(1); } else { comActActivityVO.setType(2); } Integer status = comActActivityVO.getStatus(); if (status.intValue() == 3) { comActActivityVO.setStatus(4); } Date createAt = null; try { createAt = DateUtils.parseDate(activitySignVO.getCreateAt()); } catch (ParseException e) { log.error("时间转换异常{【】}", e.getMessage()); } comActActivityVO.setSingDate(createAt); comActActivityVO.setTimes(activitySignVO.getTimes()); comActActivityVO.setAward(activitySignVO.getAward()); comActActivityVOS.add(comActActivityVO); }); if (nonNull(status)) { comActActivityDOS = comActActivityDOS.stream() .filter(activityDO -> activityDO.getStatus().equals(status)).collect(Collectors.toList()); } if (!comActActivityDOS.isEmpty()) { comActActivityDOS.forEach(comActActivityDO -> { ComActActivityVO comActActivityVO = new ComActActivityVO(); BeanUtils.copyProperties(comActActivityDO, comActActivityVO); List<ActivitySignVO> collect = activitySignVOList.stream() .filter(activitySignVO -> activitySignVO.getActivityId().equals(comActActivityVO.getId())).limit(1) .collect(Collectors.toList()); ActivitySignVO activitySignVO = collect.get(0); Integer isVolunteer = activitySignVO.getIsVolunteer(); if (isVolunteer.intValue() == 1) { comActActivityVO.setType(1); } else { comActActivityVO.setType(2); } Integer activityStatus = comActActivityVO.getStatus(); if (activityStatus.intValue() == 3) { comActActivityVO.setStatus(4); } Date createAt = null; try { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); createAt = simpleDateFormat.parse(activitySignVO.getCreateAt()); } catch (ParseException e) { log.error("时间转换异常【{}】", e.getMessage()); } comActActivityVO.setSingDate(createAt); comActActivityVO.setTimes(activitySignVO.getTimes()); comActActivityVO.setAward(activitySignVO.getAward()); comActActivityVOS.add(comActActivityVO); }); } return R.ok(comActActivityVOS); } @@ -830,10 +881,11 @@ .lambda().eq(ComActActRegistDO::getActivityId, activityId).eq(ComActActRegistDO::getUserId, userId).eq(ComActActRegistDO::getCodeId,comActActRegistVO.getCodeId())); int signAllCount = comActActRegistDAO.selectCount(new QueryWrapper<ComActActRegistDO>() .lambda().eq(ComActActRegistDO::getActivityId, activityId).eq(ComActActRegistDO::getUserId, userId)); if (signDayCount >= 0) { if (signDayCount > 0) { return R.fail("请扫描新的签到码"); } if(signAllCount>=comActActivityDO.getLimit()){ int limit = comActActivityDO.getLimit().intValue(); if(limit != -1 && signAllCount >= limit){ return R.fail("签到次数上限"); } @@ -862,61 +914,62 @@ comActIntegralUserTradeService.addIntegralTradeAdmin(addComActIntegralUserDTO); // ValueOperations<String, String> opsForValue = stringRedisTemplate.opsForValue(); // opsForValue.set(activitySignInKey, "", 1800L, TimeUnit.SECONDS); return R.ok(); return R.ok(comActActivityDO.getRewardIntegral()); } return R.fail("网络错误,请重试"); } else { ComPbActivityDO comPbActivityDO=comBpActivityDAO.selectById(activityId); if (isNull(comPbActivityDO)) { return R.fail("活动不存在!"); } // else { // ComPbActivityDO comPbActivityDO=comBpActivityDAO.selectById(activityId); // if (isNull(comPbActivityDO)) { // return R.fail("活动不存在!"); // } // // Date beginAt = comPbActivityDO.getActivityTimeBegin(); // Date endAt = comPbActivityDO.getActivityTimeEnd(); // Date nowDate = new Date(); // if (nowDate.before(beginAt) || nowDate.after(endAt)) { // return R.fail("不在活动时间范围内"); // } // // int signDayCount = comActActRegistDAO.selectCount(new QueryWrapper<ComActActRegistDO>() // .lambda().eq(ComActActRegistDO::getActivityId, activityId).eq(ComActActRegistDO::getUserId, userId).eq(ComActActRegistDO::getCodeId,comActActRegistVO.getCodeId())); // int signAllCount = comActActRegistDAO.selectCount(new QueryWrapper<ComActActRegistDO>() // .lambda().eq(ComActActRegistDO::getActivityId, activityId).eq(ComActActRegistDO::getUserId, userId)); // if (signDayCount >= 0) { // return R.fail("请扫描新的签到码"); // } // int limit = comPbActivityDO.getLimit().intValue(); // if(limit != -1 && signAllCount >= limit){ // return R.fail("签到次数上限"); // } // // ComActActRegistDO comActActRegistDO = new ComActActRegistDO(); // comActActRegistDO.setActivityId(activityId); // comActActRegistDO.setType(2); // comActActRegistDO.setUserId(userId); // comActActRegistDO.setIsVolunteer(comActActRegistVO.getIsVolunteer()); // comActActRegistDO.setCreateAt(nowDate); // comActActRegistDO.setCodeId(comActActRegistVO.getCodeId()); // comActActRegistDO.setAward(comPbActivityDO.getRewardIntegral()); // comActActRegistDO.setPosition(comActActRegistVO.getPosition()); // comActActRegistDO.setTimes(signAllCount+1); // int result = comActActRegistDAO.insert(comActActRegistDO); // if (result > 0) { // AddComActIntegralUserDTO addComActIntegralUserDTO=new AddComActIntegralUserDTO(); // addComActIntegralUserDTO.setUserId(userId); // addComActIntegralUserDTO.setIntegralType(8); // addComActIntegralUserDTO.setActivityType(2); // addComActIntegralUserDTO.setCommunityId(comPbActivityDO.getCommunityId()); // addComActIntegralUserDTO.setServiceId(activityId); // comActIntegralUserTradeService.addIntegralTradeAdmin(addComActIntegralUserDTO); //// ValueOperations<String, String> opsForValue = stringRedisTemplate.opsForValue(); //// opsForValue.set(activitySignInKey, "", 1800L, TimeUnit.SECONDS); // return R.ok(); // } // return R.fail("网络错误,请重试"); // } Date beginAt = comPbActivityDO.getActivityTimeBegin(); Date endAt = comPbActivityDO.getActivityTimeEnd(); Date nowDate = new Date(); if (nowDate.before(beginAt) || nowDate.after(endAt)) { return R.fail("不在活动时间范围内"); } int signDayCount = comActActRegistDAO.selectCount(new QueryWrapper<ComActActRegistDO>() .lambda().eq(ComActActRegistDO::getActivityId, activityId).eq(ComActActRegistDO::getUserId, userId).eq(ComActActRegistDO::getCodeId,comActActRegistVO.getCodeId())); int signAllCount = comActActRegistDAO.selectCount(new QueryWrapper<ComActActRegistDO>() .lambda().eq(ComActActRegistDO::getActivityId, activityId).eq(ComActActRegistDO::getUserId, userId)); if (signDayCount >= 0) { return R.fail("请扫描新的签到码"); } if(signAllCount>=comPbActivityDO.getLimit()){ return R.fail("签到次数上限"); } ComActActRegistDO comActActRegistDO = new ComActActRegistDO(); comActActRegistDO.setActivityId(activityId); comActActRegistDO.setType(2); comActActRegistDO.setUserId(userId); comActActRegistDO.setIsVolunteer(comActActRegistVO.getIsVolunteer()); comActActRegistDO.setCreateAt(nowDate); comActActRegistDO.setCodeId(comActActRegistVO.getCodeId()); comActActRegistDO.setAward(comPbActivityDO.getRewardIntegral()); comActActRegistDO.setPosition(comActActRegistVO.getPosition()); comActActRegistDO.setTimes(signAllCount+1); int result = comActActRegistDAO.insert(comActActRegistDO); if (result > 0) { AddComActIntegralUserDTO addComActIntegralUserDTO=new AddComActIntegralUserDTO(); addComActIntegralUserDTO.setUserId(userId); addComActIntegralUserDTO.setIntegralType(8); addComActIntegralUserDTO.setActivityType(2); addComActIntegralUserDTO.setCommunityId(comPbActivityDO.getCommunityId()); addComActIntegralUserDTO.setServiceId(activityId); comActIntegralUserTradeService.addIntegralTradeAdmin(addComActIntegralUserDTO); // ValueOperations<String, String> opsForValue = stringRedisTemplate.opsForValue(); // opsForValue.set(activitySignInKey, "", 1800L, TimeUnit.SECONDS); return R.ok(); } return R.fail("网络错误,请重试"); } return R.fail("网络错误,请重试"); } /** @@ -958,4 +1011,31 @@ public R listRegistRecord(Long id, Long userId) { return R.ok(comActActRegistDAO.listRegistRecord(id, userId)); } /** * 获取活动类型(目前只有志愿者活动需要获取) * @param communityId * @param type * @return */ @Override public R listActivityType(Long communityId, Integer type) { return R.ok(this.baseMapper.listActivityType(communityId, type)); } /** * 添加活动类型 * @param comActActivityTypeVO * @return */ @Override public R addActivityType(ComActActivityTypeVO comActActivityTypeVO) { try { this.baseMapper.addActivityType(comActActivityTypeVO); } 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/ComActIntegralUserTradeServiceImpl.java
@@ -312,13 +312,14 @@ identityType=1; } } }else { ComPbActivityDO comPbActivityDO = comBpActivityDAO.selectById(serviceId); if(comPbActivityDO!=null){ amount=comPbActivityDO.getRewardIntegral(); identityType=2; } } // else { // ComPbActivityDO comPbActivityDO = comBpActivityDAO.selectById(serviceId); // if(comPbActivityDO!=null){ // amount=comPbActivityDO.getRewardIntegral(); // identityType=2; // } // } default: break; } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActActRegistMapper.xml
@@ -21,7 +21,7 @@ caar.id, caar.activity_id, caar.create_at, caar.positon, caar.position, caar.times, caar.award, su.user_id, springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActActSignMapper.xml
@@ -21,10 +21,10 @@ <select id="getSignLists" resultType="com.panzhihua.common.model.vos.community.ComActActSignExcelVO"> SELECT caas.create_at, caas.times, r.times, cass.status, cass.reason, cass.award, r.award * r.times as award, t.limit, su.`name`, su.phone, @@ -41,6 +41,13 @@ com_act_act_sign caas LEFT JOIN sys_user su ON caas.user_id = su.user_id left join com_act_activity t on cass.activity_id = t.id LEFT JOIN ( SELECT * FROM ( SELECT * FROM com_act_act_regist WHERE activity_id = #{activitySignVO.activityId} AND type = 1 ORDER BY id DESC LIMIT 1000000 ) temp GROUP BY activity_id, user_id ) r ON caas.activity_id = r.activity_id AND caas.user_id = r.user_id where caas.activity_id = #{activitySignVO.activityId} <if test="activitySignVO.phone != null and activitySignVO.phone !=''"> AND su.phone = #{activitySignVO.phone} @@ -73,10 +80,17 @@ <select id="listActivitySign" resultType="com.panzhihua.common.model.vos.community.ActivitySignVO"> SELECT u.user_id id, u.image_url, u.name, u.nick_name, case WHEN u.is_partymember = 1 THEN '党员' WHEN a.is_volunteer = 1 THEN '志愿者' ELSE '居民' END identity, u.phone, u.tags, a.create_at, a.is_volunteer, a.status , a.times ,a.reason,a.award,t.limit u.phone, u.tags, a.create_at, a.is_volunteer, a.status , r.times , a.reason, r.times * r.award as award, t.limit FROM com_act_act_sign a JOIN sys_user u ON a.user_id = u.user_id left join com_act_activity t on a.activity_id = t.id LEFT JOIN ( SELECT * FROM ( SELECT * FROM com_act_act_regist WHERE activity_id = #{activitySignVO.activityId} AND type = 1 ORDER BY id DESC LIMIT 1000000 ) temp GROUP BY activity_id, user_id ) r ON a.activity_id = r.activity_id AND a.user_id = r.user_id WHERE a.activity_id = #{activitySignVO.activityId} <if test='activitySignVO.phone != null and activitySignVO.phone != ""'> AND u.phone = #{activitySignVO.phone} @@ -113,7 +127,7 @@ ORDER BY id DESC LIMIT 1000000 ) temp GROUP BY activity_id ) r ON s.activity_id = r.activity_id WHERE s.user_id = #{userId} WHERE s.user_id = #{userId} AND s.status = 1 </select> <select id="listSignInRecord" resultType="com.panzhihua.common.model.vos.community.ActivitySignInRecordVO"> SELECT s.activity_id, s.create_at, s.user_id, u.name, a.limit, r.type, r.times springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActActivityMapper.xml
@@ -41,12 +41,17 @@ <result column="limit" property="limit" /> <result column="can_cancel" property="canCancel" /> <result column="cancel_deduct" property="cancelDeduct" /> <result column="activity_type" property="activityType" /> </resultMap> <!-- 通用查询结果列 --> <sql id="Base_Column_List"> id, activity_name, sponsor_id, activity_addr, lat, lng, status, publish_at, end_at, begin_at, sign_up_begin, sign_up_end, aattend_people, volunteer_min, volunteer_max, participant_min, participant_max, cover, has_prize, is_qr_code, contact_name, contact_phone, is_regist, is_top, prize_remark, reward_desc, content, community_id, create_at, cancel_reason </sql> <insert id="addActivityType"> INSERT INTO com_act_activity_type (`name`, `type`, community_id) VALUES (#{comActActivityTypeVO.name}, #{comActActivityTypeVO.type}, #{comActActivityTypeVO.communityId}) </insert> <select id="activityStatistics" resultType="com.panzhihua.common.model.vos.community.ComActActivityStatisticsVO"> SELECT IFNULL(volunteer_max,0) + IFNULL(participant_max,0) as signTotal @@ -69,7 +74,7 @@ SELECT a.id, a.activity_name, u.`name` sponsorName, a.activity_addr, a.participant_max, COUNT(if(s.is_volunteer=1,NULL,s.id))participant_now, a.volunteer_max, COUNT(if(s.is_volunteer=1,s.id,NULL))volunteer_now, a.`status`, a.publish_at, a.is_qr_code, a.begin_at, a.end_at, a.sign_up_begin, a.sign_up_end, a.reward_way a.begin_at, a.end_at, a.sign_up_begin, a.sign_up_end, a.reward_way, a.activity_type FROM com_act_activity a LEFT JOIN sys_user u ON a.sponsor_id=u.user_id LEFT JOIN com_act_act_sign s ON a.id=s.activity_id @@ -82,6 +87,9 @@ </if> <if test='comActActivityVO.rewardWay != null and comActActivityVO.rewardWay != 0'> AND a.reward_way = #{comActActivityVO.rewardWay} </if> <if test='comActActivityVO.activityType != null and comActActivityVO.activityType !=""'> AND a.activity_type = #{comActActivityVO.activityType} </if> <if test='comActActivityVO.activityName != null and comActActivityVO.activityName !=""'> AND a.activity_name LIKE concat( #{comActActivityVO.activityName}, '%' ) @@ -97,7 +105,7 @@ SELECT a.id, a.activity_name, u.`name` sponsorName, a.activity_addr, a.participant_max, COUNT(if(s.is_volunteer=1,NULL,s.id))participant_now, a.volunteer_max, COUNT(if(s.is_volunteer=1,s.id,NULL))volunteer_now, a.`status`, a.publish_at, a.is_qr_code, a.begin_at, a.end_at, a.sign_up_begin, a.sign_up_end, a.reward_way a.is_qr_code, a.begin_at, a.end_at, a.sign_up_begin, a.sign_up_end, a.reward_way, a.activity_type FROM com_act_activity a LEFT JOIN sys_user u ON a.sponsor_id=u.user_id LEFT JOIN com_act_act_sign s ON a.id=s.activity_id @@ -111,6 +119,9 @@ <if test='comActActivityVO.rewardWay != null and comActActivityVO.rewardWay != 0'> AND a.reward_way = #{comActActivityVO.rewardWay} </if> <if test='comActActivityVO.activityType != null and comActActivityVO.activityType !=""'> AND a.activity_type = #{comActActivityVO.activityType} </if> <if test='comActActivityVO.activityName != null and comActActivityVO.activityName !=""'> AND a.activity_name LIKE concat( #{comActActivityVO.activityName}, '%' ) </if> @@ -124,4 +135,15 @@ )t1 )t </select> <select id="inforActivity" resultType="com.panzhihua.common.model.vos.community.ComActActivityVO"> SELECT u.name sponsorName, ca.name communityName, count(if(s.is_volunteer=1,s.id,null))volunteer_now, count(if(s.is_volunteer=0,s.id,null))participant_now, a.* FROM com_act_activity a left join sys_user u on a.sponsor_id=u.user_id left join (select * from com_act_act_sign where `status` = 1) s on a.id=s.activity_id left join com_act ca on a.community_id=ca.community_id where a.id = #{id} group by a.id </select> <select id="listActivityType" resultType="com.panzhihua.common.model.vos.community.ComActActivityTypeVO"> SELECT * FROM com_act_activity_type WHERE `type` = #{type} AND community_id = #{communityId} ORDER BY id ASC </select> </mapper> springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/api/PartyBuildIngApi.java
@@ -468,8 +468,10 @@ * @return 党建活动列表 */ @PostMapping("listactivity") public R listActivity(@RequestParam("userId") Long userId, @RequestParam("communityId") Long communityId) { return comBpActivityService.listActivity(userId, communityId); public R listActivity(@RequestParam("userId") Long userId, @RequestParam("communityId") Long communityId, @RequestParam(value = "status", required = false) Integer status) { return comBpActivityService.listActivity(userId, communityId, status); } @@ -692,26 +694,5 @@ @PostMapping("getTaskPbActivityPeopleList") public R getTaskPbActivityPeopleList(@RequestParam("activityId") Long activityId) { return comBpActivityService.getTaskPbActivityPeopleList(activityId); } /** * 活动签到记录 * @param id 活动主键 * @param userId 用户id * @return */ @GetMapping("regist/list") public R listRegistRecord(@RequestParam("id") Long id, @RequestParam("userId") Long userId) { return comBpActivityService.listRegistRecord(id, userId); } /** * 活动报名签到情况 * @param id 活动主键id * @return */ @GetMapping("sign-in/list") public R listSignInRecord(@RequestParam("id") Long id) { return comBpActivityService.listSignInRecord(id); } } springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/dao/ComBpActivityDAO.java
@@ -44,26 +44,26 @@ + "AND #{activityTimeEnd}" + " </if> " + "</script>") List<PartyBuildingActivityVO> listPartyMemberActivities(PartyBuildingActivityVO partyBuildingActivityVO); // @Select("<script> " + "SELECT\n" + "a.id,\n" + "a.name,\n" + "a.address,\n" + "a.status,\n" + "a.release_time,\n" // + "a.activity_time_begin,\n" + "a.activity_time_end,\n" + "a.enroll_time_begin,\n" + "a.cover,\n" // + "if(u.type=3 ,'管理员',u.name)createByName,\n" + "a.enroll_time_end \n" + "FROM\n" + "com_pb_activity a\n" // + "left join sys_user u on a.create_by=u.user_id \n" // + "where a.community_id=#{partyBuildingActivityVO.communityId}\n" // + "<if test='partyBuildingActivityVO.name != null and partyBuildingActivityVO.name.trim() != ""'>" // + "and a.name = #{partyBuildingActivityVO.name} \n" + " </if> " // + "<if test='partyBuildingActivityVO.isAppliets != null and partyBuildingActivityVO.isAppliets==1'>" // + " and a.`status` not in(5,6) " + " </if> " // + "<if test='partyBuildingActivityVO.status != null and partyBuildingActivityVO.status != 0 and partyBuildingActivityVO.isAppliets ==null '>" // + "AND a.`status` = #{partyBuildingActivityVO.status} \n" + " </if> " // + "<if test='partyBuildingActivityVO.status != null and partyBuildingActivityVO.status != 0 and partyBuildingActivityVO.isAppliets !=null and partyBuildingActivityVO.isAppliets==1'>" // + "AND a.`status` in (3,4) \n" + " </if> " + "<if test='partyBuildingActivityVO.releaseTimeBegin != null '>" // + "AND a.release_time BETWEEN #{partyBuildingActivityVO.releaseTimeBegin} \n" // + "AND #{partyBuildingActivityVO.releaseTimeEnd} \n" + " </if> " // + "<if test='partyBuildingActivityVO.activityTimeBegin != null '>" // + "AND a.activity_time_begin BETWEEN #{partyBuildingActivityVO.activityTimeBegin} \n" // + "AND #{partyBuildingActivityVO.activityTimeEnd}" + " </if> " + "order by a.create_at desc " + "</script>") IPage<PartyBuildingActivityVO> pageActivity(@Param("page") Page page, @Param("partyBuildingActivityVO") PartyBuildingActivityVO partyBuildingActivityVO); @Select("<script> " + "SELECT\n" + "a.id,\n" + "a.name,\n" + "a.address,\n" + "a.status,\n" + "a.release_time,\n" + "a.activity_time_begin,\n" + "a.activity_time_end,\n" + "a.enroll_time_begin,\n" + "a.cover,\n" + "if(u.type=3 ,'管理员',u.name)createByName,\n" + "a.enroll_time_end \n" + "FROM\n" + "com_pb_activity a\n" + "left join sys_user u on a.create_by=u.user_id \n" + "where a.community_id=#{partyBuildingActivityVO.communityId}\n" + "<if test='partyBuildingActivityVO.name != null and partyBuildingActivityVO.name.trim() != ""'>" + "and a.name = #{partyBuildingActivityVO.name} \n" + " </if> " + "<if test='partyBuildingActivityVO.isAppliets != null and partyBuildingActivityVO.isAppliets==1'>" + " and a.`status` not in(5,6) " + " </if> " + "<if test='partyBuildingActivityVO.status != null and partyBuildingActivityVO.status != 0 and partyBuildingActivityVO.isAppliets ==null '>" + "AND a.`status` = #{partyBuildingActivityVO.status} \n" + " </if> " + "<if test='partyBuildingActivityVO.status != null and partyBuildingActivityVO.status != 0 and partyBuildingActivityVO.isAppliets !=null and partyBuildingActivityVO.isAppliets==1'>" + "AND a.`status` in (3,4) \n" + " </if> " + "<if test='partyBuildingActivityVO.releaseTimeBegin != null '>" + "AND a.release_time BETWEEN #{partyBuildingActivityVO.releaseTimeBegin} \n" + "AND #{partyBuildingActivityVO.releaseTimeEnd} \n" + " </if> " + "<if test='partyBuildingActivityVO.activityTimeBegin != null '>" + "AND a.activity_time_begin BETWEEN #{partyBuildingActivityVO.activityTimeBegin} \n" + "AND #{partyBuildingActivityVO.activityTimeEnd}" + " </if> " + "order by a.create_at desc " + "</script>") IPage<PartyBuildingActivityVO> pageActivity(Page page, @Param("partyBuildingActivityVO") PartyBuildingActivityVO partyBuildingActivityVO); @Select("select t.id from (\n" + "SELECT \n" + "a.participation_lowest_num,\n" + "a.name,\n" + "a.id,\n" + "COUNT(m.id)num\n" + "FROM\n" + "com_pb_activity a\n" springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/dao/ComPbActivityMemberDAO.java
@@ -2,8 +2,6 @@ import java.util.List; import com.panzhihua.common.model.vos.community.ActivitySignInRecordVO; import com.panzhihua.common.model.vos.community.ComActActRegistVO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -34,13 +32,13 @@ // " </where>" + // "</script>") // @Select("<script> " + "SELECT " + " m.id," + " m.NAME," + " u.phone," + " m.create_at registrationTime" + " FROM " // + " com_pb_activity_member m " + " LEFT JOIN sys_user u ON m.user_id = u.user_id " + "WHERE " // + "m.activity_id = #{pageActivityMembersVO.activityId} " // + "<if test='pageActivityMembersVO.name != null and pageActivityMembersVO.name.trim() != ""'>" // + "AND m.`name` = #{pageActivityMembersVO.name} " + " </if> " // + "<if test='pageActivityMembersVO.phone != null and pageActivityMembersVO.phone.trim() != ""'>" // + "AND u.phone = #{pageActivityMembersVO.phone}" + " </if> " + "</script>") @Select("<script> " + "SELECT " + " m.id," + " m.NAME," + " u.phone," + " m.create_at registrationTime" + " FROM " + " com_pb_activity_member m " + " LEFT JOIN sys_user u ON m.user_id = u.user_id " + "WHERE " + "m.activity_id = #{pageActivityMembersVO.activityId} " + "<if test='pageActivityMembersVO.name != null and pageActivityMembersVO.name.trim() != ""'>" + "AND m.`name` = #{pageActivityMembersVO.name} " + " </if> " + "<if test='pageActivityMembersVO.phone != null and pageActivityMembersVO.phone.trim() != ""'>" + "AND u.phone = #{pageActivityMembersVO.phone}" + " </if> " + "</script>") IPage<PageActivityMembersVO> pageActivityMembers(Page page, @Param("pageActivityMembersVO") PageActivityMembersVO pageActivityMembersVO); @@ -58,33 +56,4 @@ @Select("select type from sys_user where user_id=#{createBy}") LoginUserInfoVO selectUserInfo(Long createBy); /** * 活动签到记录 * @param id 党员活动主键 * @param userId 用户id * @return */ List<ComActActRegistVO> listRegistRecord(@Param("id") Long id, @Param("userId") Long userId); /** * 活动报名签到情况 * @param id 党员活动主键 * @return */ List<ActivitySignInRecordVO> listSignInRecord(@Param("id") Long id); /** * 获取用户活动报名记录 * @param userId * @return */ List<PageActivityMembersVO> selectList(@Param("userId") Long userId); /** * 新增党员活动二维码数据 * @param id 党员活动id * @return */ int insertComActActivityCode(@Param("id") Long id); } springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/model/dos/ComPbActivityDO.java
@@ -102,34 +102,4 @@ * 社区id */ private Long communityId; /** * 签到范围,默认0无限制 */ @TableField("`range`") private Integer range; /** * 是否有积分奖励(1.是 2.否) */ private Integer haveIntegralReward; /** * 积分奖励方式(1.按次奖励 2.记时奖励) */ private Integer rewardWay; /** * 奖励积分 */ private Integer rewardIntegral; /** * 参与次数上限 */ @TableField("`limit`") private Integer limit; /** * 是否允许取消(1.允许 2.不允许) */ private Integer canCancel; /** * 取消扣除积分 */ private Integer cancelDeduct; } springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/model/dos/ComPbActivityMemberDO.java
@@ -54,14 +54,4 @@ */ @TableField(fill = FieldFill.INSERT) private Date createAt; /** * 报名状态 0 已取消 1已报名 */ private Integer status; /** * 取消原因 */ private String reason; } springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/ComBpActivityService.java
@@ -102,9 +102,10 @@ * 用户id * @param communityId * 社区id * @param status * @return 党建活动列表 */ R listActivity(Long userId, Long communityId); R listActivity(Long userId, Long communityId, Integer status); /** * 党员活动人员参入列表 @@ -164,19 +165,4 @@ * @return 活动下报名人员 */ R getTaskPbActivityPeopleList(Long activityId); /** * 活动签到记录 * @param id 活动主键 * @param userId 用户id * @return */ R listRegistRecord(Long id, Long userId); /** * 活动报名签到情况 * @param id 活动主键id * @return */ R listSignInRecord(Long id); } springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComBpActivityServiceImpl.java
@@ -1,15 +1,8 @@ package com.panzhihua.service_dangjian.service.impl; import static java.util.Objects.isNull; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.*; import java.util.stream.Collectors; import javax.annotation.Resource; @@ -42,6 +35,8 @@ import com.panzhihua.service_dangjian.service.ComBpActivityService; import lombok.extern.slf4j.Slf4j; import static java.util.Objects.nonNull; /** * @program: springcloud_k8s_panzhihuazhihuishequ @@ -189,6 +184,7 @@ comBpActivityDAO.selectCommunityNameByCommunityId(partyBuildingActivityVO.getCommunityId())); } partyBuildingActivityVO.setCodeType(2); return R.ok(partyBuildingActivityVO); } @@ -215,7 +211,6 @@ int insert = comBpActivityDAO.insert(comPbActivityDO); if (insert > 0) { comPbActivityMemberDAO.insertComActActivityCode(comPbActivityDO.getId()); return R.ok(); } return R.fail(); @@ -346,58 +341,55 @@ * 用户id * @param communityId * 社区id * @param status * @return 党建活动列表 */ @Override public R listActivity(Long userId, Long communityId) { public R listActivity(Long userId, Long communityId, Integer status) { List<ComActActivityVO> comActActivityVOS = new ArrayList<>(); /*Long memberId=comPbActivityMemberDAO.selectMemberIdByUserId(userId,communityId); if (ObjectUtils.isEmpty(memberId)) { return R.fail(); }*/ List<PageActivityMembersVO> membersVOS = comPbActivityMemberDAO.selectList(userId); if (ObjectUtils.isEmpty(membersVOS)) { List<ComPbActivityMemberDO> comPbActivityMemberDOS = comPbActivityMemberDAO.selectList( new QueryWrapper<ComPbActivityMemberDO>().lambda().eq(ComPbActivityMemberDO::getUserId, userId)); if (ObjectUtils.isEmpty(comPbActivityMemberDOS)) { return R.fail(); } List<Long> collect = membersVOS.stream() .map(membersVO -> membersVO.getActivityId()).collect(Collectors.toList()); List<Long> collect = comPbActivityMemberDOS.stream() .map(comPbActivityMemberDO -> comPbActivityMemberDO.getActivityId()).collect(Collectors.toList()); List<ComPbActivityDO> comPbActivityDOS = comBpActivityDAO.selectBatchIds(collect); comPbActivityDOS.forEach(comPbActivityDO -> { ComActActivityVO comActActivityVO = new ComActActivityVO(); Long createBy = comPbActivityDO.getCreateBy(); LoginUserInfoVO loginUserInfoVO = comPbActivityMemberDAO.selectUserInfo(createBy); List<PageActivityMembersVO> collect1 = membersVOS.stream() .filter(membersVO -> membersVO.getActivityId().equals(comActActivityVO.getId())).limit(1) .collect(Collectors.toList()); PageActivityMembersVO activityMembersVO = collect1.get(0); Integer type = loginUserInfoVO.getType(); if (type == 1) { comActActivityVO.setIsPerson(1); } else { comActActivityVO.setIsPerson(0); } Integer status = comPbActivityDO.getStatus(); if (status.intValue() == 3) { status = 4; } Date createAt = null; try { createAt = org.apache.commons.lang3.time.DateUtils.parseDate(activityMembersVO.getRegistrationTime()); } catch (ParseException e) { log.error("时间转换异常{【】}", e.getMessage()); } comActActivityVO.setType(3); comActActivityVO.setId(comPbActivityDO.getId()); comActActivityVO.setStatus(status); comActActivityVO.setActivityName(comPbActivityDO.getName()); comActActivityVO.setCover(comPbActivityDO.getCover()); comActActivityVO.setBeginAt(comPbActivityDO.getActivityTimeBegin()); comActActivityVO.setSingDate(createAt); comActActivityVO.setTimes(activityMembersVO.getTimes()); comActActivityVO.setAward(activityMembersVO.getAward()); comActActivityVOS.add(comActActivityVO); }); if (nonNull(status)) { comPbActivityDOS = comPbActivityDOS.stream() .filter(activityDO -> activityDO.getStatus().equals(status)).collect(Collectors.toList()); } if (!comPbActivityDOS.isEmpty()) { comPbActivityDOS.forEach(comPbActivityDO -> { ComActActivityVO comActActivityVO = new ComActActivityVO(); Long createBy = comPbActivityDO.getCreateBy(); LoginUserInfoVO loginUserInfoVO = comPbActivityMemberDAO.selectUserInfo(createBy); Integer type = loginUserInfoVO.getType(); if (type == 1) { comActActivityVO.setIsPerson(1); } else { comActActivityVO.setIsPerson(0); } Integer activityStatus = comPbActivityDO.getStatus(); if (activityStatus.intValue() == 3) { activityStatus = 4; } comActActivityVO.setType(3); comActActivityVO.setId(comPbActivityDO.getId()); comActActivityVO.setStatus(activityStatus); comActActivityVO.setActivityName(comPbActivityDO.getName()); comActActivityVO.setCover(comPbActivityDO.getCover()); comActActivityVO.setBeginAt(comPbActivityDO.getActivityTimeBegin()); comActActivityVO.setSingDate(comPbActivityMemberDOS.stream() .filter(comPbActivityMemberDO -> comPbActivityMemberDO.getActivityId().equals(comActActivityVO.getId())) .collect(Collectors.toList()).get(0).getCreateAt()); comActActivityVOS.add(comActActivityVO); }); } return R.ok(comActActivityVOS); } @@ -477,9 +469,6 @@ return R.ok(null, "已经加入了"); } } else { if (isNull(activitySignUpDTO.getReason())) { return R.fail("取消原因不能为空"); } if (empty) { return R.ok(null, "已经取消"); } else { @@ -487,9 +476,7 @@ if (createBy.equals(userId)) { return R.fail("发起者不能取消报名"); } comPbActivityMemberDO.setStatus(0); comPbActivityMemberDO.setReason(activitySignUpDTO.getReason()); mum = comPbActivityMemberDAO.updateById(comPbActivityMemberDO); mum = comPbActivityMemberDAO.deleteById(comPbActivityMemberDO.getId()); } } if (mum > 0) { @@ -605,27 +592,6 @@ @Override public R getTaskPbActivityPeopleList(Long activityId) { return R.ok(this.comBpActivityDAO.getTaskPbActivityPeopleList(activityId)); } /** * 活动签到记录 * @param id 活动主键 * @param userId 用户id * @return */ @Override public R listRegistRecord(Long id, Long userId) { return R.ok(comPbActivityMemberDAO.listRegistRecord(id, userId)); } /** * 活动报名签到情况 * @param id 活动主键id * @return */ @Override public R listSignInRecord(Long id) { return R.ok(comPbActivityMemberDAO.listSignInRecord(id)); } } springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/resources/mapper/ComPbActivityDOMapper.xml
File was deleted springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/resources/mapper/ComPbActivityMemberDO.xml
File was deleted