diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/resi/ResiActCaculateDistanceFormDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/resi/ResiActCaculateDistanceFormDTO.java index b48ff6bb08..bd67a4a69b 100644 --- a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/resi/ResiActCaculateDistanceFormDTO.java +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/resi/ResiActCaculateDistanceFormDTO.java @@ -28,18 +28,18 @@ public class ResiActCaculateDistanceFormDTO implements Serializable { /** * 经度 */ - @NotBlank(message = "经度不能为空", groups = { ResiActBaseFormDTO.AddUserInternalGroup.class }) + @NotBlank(message = "经度不能为空", groups = { AddUserInternalGroup.class }) private Double longitude; /** * 纬度 */ - @NotBlank(message = "纬度不能为空", groups = { ResiActBaseFormDTO.AddUserInternalGroup.class }) + @NotBlank(message = "纬度不能为空", groups = { AddUserInternalGroup.class }) private Double latitude; /** * 用户id */ - @NotBlank(message = "活动ID不能为空", groups = { ResiActBaseFormDTO.AddUserInternalGroup.class }) + @NotBlank(message = "活动ID不能为空", groups = { AddUserInternalGroup.class }) private String actId; } diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/resi/ResiActContentFormDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/resi/ResiActContentFormDTO.java index e1bd5fc097..29ccd9fd98 100644 --- a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/resi/ResiActContentFormDTO.java +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/resi/ResiActContentFormDTO.java @@ -29,13 +29,13 @@ public class ResiActContentFormDTO implements Serializable { /** * 活动Id */ - @NotBlank(message = "活动Id不能为空", groups = { ResiActBaseFormDTO.AddUserInternalGroup.class }) + @NotBlank(message = "活动Id不能为空", groups = { AddUserInternalGroup.class }) private String actId; /** * 页码,从1开始 */ - @Min(value = 1, message = "页码必须大于0", groups = { ResiActBaseFormDTO.AddUserInternalGroup.class }) + @Min(value = 1, message = "页码必须大于0", groups = { AddUserInternalGroup.class }) private Integer pageNo; /** diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/resi/ResiActDetailFormDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/resi/ResiActDetailFormDTO.java index 10a03cfd90..18c41b255e 100644 --- a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/resi/ResiActDetailFormDTO.java +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/resi/ResiActDetailFormDTO.java @@ -28,7 +28,7 @@ public class ResiActDetailFormDTO implements Serializable { /** * 活动Id */ - @NotBlank(message = "活动Id不能为空", groups = { ResiActBaseFormDTO.AddUserInternalGroup.class }) + @NotBlank(message = "活动Id不能为空", groups = { AddUserInternalGroup.class }) private String actId; /** diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/resi/ResiMyActFormDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/resi/ResiMyActFormDTO.java index 1cad8308bc..5a8ad4e43f 100644 --- a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/resi/ResiMyActFormDTO.java +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/resi/ResiMyActFormDTO.java @@ -20,7 +20,6 @@ package com.epmet.dto.form.resi; import lombok.Data; import javax.validation.constraints.Min; -import javax.validation.constraints.NotBlank; import java.io.Serializable; /** diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/ResiActListController.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/ResiActListController.java index f77002c42c..29cde0e42b 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/ResiActListController.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/ResiActListController.java @@ -11,6 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; +import java.util.Map; /** * 居民端-活动相关api @@ -51,6 +52,7 @@ public class ResiActListController { **/ @PostMapping("list") public Result> listAct(@LoginUser TokenDto tokenDto, @RequestBody ResiActBaseFormDTO formDto) { + ValidatorUtils.validateEntity(formDto, ResiActBaseFormDTO.AddUserInternalGroup.class); return actInfoService.listAct(tokenDto, formDto); } @@ -66,6 +68,7 @@ public class ResiActListController { **/ @PostMapping("list/auditing") public Result> listAuditing(@LoginUser TokenDto tokenDto, @RequestBody ResiMyActFormDTO formDto) { + ValidatorUtils.validateEntity(formDto, ResiMyActFormDTO.AddUserInternalGroup.class); return actInfoService.myActListAuditing(tokenDto, formDto); } @@ -80,6 +83,7 @@ public class ResiActListController { **/ @PostMapping("list/refused") public Result> listRefused(@LoginUser TokenDto tokenDto, @RequestBody ResiMyActFormDTO formDto) { + ValidatorUtils.validateEntity(formDto, ResiMyActFormDTO.AddUserInternalGroup.class); return actInfoService.myActListRefused(tokenDto, formDto); } @@ -94,6 +98,7 @@ public class ResiActListController { **/ @PostMapping("list/passed") public Result> listPassed(@LoginUser TokenDto tokenDto, @RequestBody ResiMyActFormDTO formDto) { + ValidatorUtils.validateEntity(formDto, ResiMyActFormDTO.AddUserInternalGroup.class); return actInfoService.myActListPassed(tokenDto, formDto); } @@ -108,6 +113,7 @@ public class ResiActListController { **/ @PostMapping("list/canceld") public Result> listcanceld(@LoginUser TokenDto tokenDto, @RequestBody ResiMyActFormDTO formDto) { + ValidatorUtils.validateEntity(formDto, ResiMyActFormDTO.AddUserInternalGroup.class); return actInfoService.myActListCanceld(tokenDto, formDto); } @@ -121,6 +127,7 @@ public class ResiActListController { **/ @PostMapping("list/latestact") public Result> latestAct(@RequestBody ResiLatestActFormDTO formDto) { + ValidatorUtils.validateEntity(formDto, ResiLatestActFormDTO.AddUserInternalGroup.class); return actInfoService.latestAct(formDto); } @@ -147,6 +154,7 @@ public class ResiActListController { **/ @PostMapping("actlookback") public Result> actLookBack(@RequestBody ResiActBaseFormDTO formDto) { + ValidatorUtils.validateEntity(formDto, ResiActBaseFormDTO.AddUserInternalGroup.class); return actInfoService.actLookBack(formDto); } @@ -163,6 +171,7 @@ public class ResiActListController { **/ @PostMapping("detail") public Result detail(@LoginUser TokenDto tokenDto, @RequestBody ResiActDetailFormDTO formDto) { + ValidatorUtils.validateEntity(formDto, ResiActDetailFormDTO.AddUserInternalGroup.class); return actInfoService.actDetail(tokenDto, formDto); } @@ -177,6 +186,7 @@ public class ResiActListController { **/ @PostMapping("rejectdetail") public Result rejectDetail(@LoginUser TokenDto tokenDto, @RequestBody ResiActDetailFormDTO formDto) { + ValidatorUtils.validateEntity(formDto, ResiActDetailFormDTO.AddUserInternalGroup.class); return actInfoService.rejectDetail(tokenDto, formDto); } @@ -190,20 +200,21 @@ public class ResiActListController { **/ @PostMapping("summary/list") public Result summaryList(@RequestBody ResiActContentFormDTO formDto) { + ValidatorUtils.validateEntity(formDto, ResiActContentFormDTO.AddUserInternalGroup.class); return actSummaryService.summaryList(formDto); } /** * 活动详情-已结束-现场实况列表 * - * @param actId + * @param map{actId:""} * @return com.epmet.commons.tools.utils.Result * @Author zhangyong * @Date 13:39 2020-07-21 **/ @PostMapping("livereclist") - public Result liveRecList(@RequestBody String actId) { - return actLiveRecService.liveRecList(actId); + public Result liveRecList(@RequestBody Map map) { + return actLiveRecService.liveRecList(map); } // @@ -219,7 +230,7 @@ public class ResiActListController { **/ @PostMapping("cancelsignup") public Result cancelSignUp(@LoginUser TokenDto tokenDto, @RequestBody ResiActUserCancelSignUpFormDTO formDTO) { - ValidatorUtils.validateEntity(formDTO); + ValidatorUtils.validateEntity(formDTO, ResiActUserCancelSignUpFormDTO.AddUserInternalGroup.class, ResiActUserCancelSignUpFormDTO.AddUserShowGroup.class); return actUserRelationService.cancelSignUp(tokenDto, formDTO); } @@ -234,7 +245,7 @@ public class ResiActListController { **/ @PostMapping("checksigninaddress") public Result cancelSignUp(@RequestBody ResiActCaculateDistanceFormDTO formDTO) { - ValidatorUtils.validateEntity(formDTO); + ValidatorUtils.validateEntity(formDTO, ResiActCaculateDistanceFormDTO.AddUserInternalGroup.class); return actInfoService.checkSignInAddress(formDTO); } @@ -250,7 +261,7 @@ public class ResiActListController { **/ @PostMapping("leaderboard") public Result> leaderboard(@RequestBody ResiActBaseFormDTO formDTO) { - ValidatorUtils.validateEntity(formDTO); + ValidatorUtils.validateEntity(formDTO, ResiActBaseFormDTO.AddUserInternalGroup.class); return heartUserInfoService.leaderboard(formDTO); } @@ -264,7 +275,7 @@ public class ResiActListController { **/ @PostMapping("insertlive") public Result insertLive(@LoginUser TokenDto tokenDto, @RequestBody ResiActInsertLiveFormDTO formDTO) { - ValidatorUtils.validateEntity(formDTO); + ValidatorUtils.validateEntity(formDTO, ResiActInsertLiveFormDTO.AddUserInternalGroup.class, ResiActInsertLiveFormDTO.AddUserShowGroup.class); Result result = actLiveRecService.insertLive(tokenDto, formDTO); return new Result(); } @@ -279,7 +290,7 @@ public class ResiActListController { **/ @PostMapping("signin") public Result actSignIn(@LoginUser TokenDto tokenDto, @RequestBody ResiActSignInFormDTO formDTO) { - ValidatorUtils.validateEntity(formDTO); + ValidatorUtils.validateEntity(formDTO, ResiActSignInFormDTO.AddUserInternalGroup.class, ResiActSignInFormDTO.AddUserShowGroup.class); return actSignInRecService.actSignIn(tokenDto, formDTO); } @@ -294,6 +305,7 @@ public class ResiActListController { **/ @PostMapping("registration") public Result registration(@LoginUser TokenDto tokenDto, @RequestBody ResiActRegistrationFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, ResiActRegistrationFormDTO.AddUserInternalGroup.class); return actUserRelationService.registration(tokenDto, formDTO); } diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/ResiVolunteerController.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/ResiVolunteerController.java index f93e0da287..a2768b99bd 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/ResiVolunteerController.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/ResiVolunteerController.java @@ -46,7 +46,7 @@ public class ResiVolunteerController { @PostMapping("authenticate") public Result authenticate(@LoginUser TokenDto tokenDto, @RequestBody ResiVolunteerAuthenticateFormDTO formDTO) { - ValidatorUtils.validateEntity(formDTO); + ValidatorUtils.validateEntity(formDTO, ResiVolunteerAuthenticateFormDTO.AddUserInternalGroup.class, ResiVolunteerAuthenticateFormDTO.AddUserShowGroup.class); return volunteerInfoService.authenticate(tokenDto, formDTO); } } diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/ActUserRelationDao.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/ActUserRelationDao.java index a91bfd7f46..46affbe03e 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/ActUserRelationDao.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/ActUserRelationDao.java @@ -178,14 +178,14 @@ public interface ActUserRelationDao extends BaseDao { /** * 取消报名 - * 根据用户id和活动id,修改 用户活动关系表 + * 根据用户id和活动id,删除 用户活动关系表中,用户的报名记录 * * @param entity * @return void * @Author zhangyong * @Date 14:39 2020-07-22 **/ - void cancelSignUp(ActUserRelationEntity entity); + void delSignUpRecord(ActUserRelationEntity entity); /** * 当前用户是否曾报名参加过该活动 diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/HeartUserInfoDao.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/HeartUserInfoDao.java index 71e1fc67cd..5e0bfb3785 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/HeartUserInfoDao.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/HeartUserInfoDao.java @@ -49,11 +49,11 @@ public interface HeartUserInfoDao extends BaseDao { * 查询用户是否是志愿者:1是志愿者,0不是志愿者 * * @param userId - * @return java.lang.Integer + * @return java.lang.Boolean * @Author zhangyong * @Date 13:53 2020-07-22 **/ - Integer selectUserVolunteerFlag(@Param("userId") String userId); + Boolean selectUserVolunteerFlag(@Param("userId") String userId); /** * 爱心榜 diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/ActLiveRecService.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/ActLiveRecService.java index aae4ece4a6..9ebe84e2ff 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/ActLiveRecService.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/ActLiveRecService.java @@ -24,6 +24,8 @@ import com.epmet.dto.form.resi.ResiActInsertLiveFormDTO; import com.epmet.dto.result.resi.ResiActLiveRecResultDTO; import com.epmet.entity.ActLiveRecEntity; +import java.util.Map; + /** * 活动实况记录 * @@ -35,12 +37,12 @@ public interface ActLiveRecService extends BaseService { /** * 活动详情-已结束-现场实况列表 * - * @param actId + * @param map * @return com.epmet.commons.tools.utils.Result * @Author zhangyong * @Date 13:39 2020-07-21 **/ - Result liveRecList(String actId); + Result liveRecList(Map map); /** * 活动-添加实况 diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActInfoServiceImpl.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActInfoServiceImpl.java index 8e6b0bcd5f..3644df4f10 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActInfoServiceImpl.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActInfoServiceImpl.java @@ -199,6 +199,8 @@ public class ActInfoServiceImpl extends BaseServiceImpl> actLookBack(ResiActBaseFormDTO formDTO) { + int pageIndex = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize(); + formDTO.setPageNo(pageIndex); List lookBackAct = baseDao.selectListLookBackAct(formDTO); return new Result>().ok(lookBackAct); } @@ -211,8 +213,8 @@ public class ActInfoServiceImpl extends BaseServiceImpl liveRecList(String actId) { + public Result liveRecList(Map map) { + if (map.get("actId") == null){ + logger.error("传参中没有活动ID"); + throw new RenException("传参中没有活动ID"); + } + // 数据汇总 + ResiActLiveRecResultDTO resultDto = new ResiActLiveRecResultDTO(); // 查询实况记录 - List actLives = baseDao.selectListActLives(actId); + List actLives = baseDao.selectListActLives(map.get("actId")); List userIds = new ArrayList<>(); List liveIds = new ArrayList<>(); for (ActLiveRecDTO actLive : actLives){ userIds.add(actLive.getUserId()); liveIds.add(actLive.getId()); } - // 查询用户微信基础信息 - Result> userWxInfos = epmetUserOpenFeignClient.queryUserBaseInfo(userIds); - // 根据活动实况id,查询对应实况的图片集合 - List actLiveImg = baseDao.selectListActLiveImg(liveIds); - // 数据汇总 - ResiActLiveRecResultDTO resultDto = new ResiActLiveRecResultDTO(); - List dataContainer = new ArrayList<>(); - for (int k = 0; k < actLives.size(); k++) { - Map map = new HashMap<>(); - map.put("nickname", userWxInfos.getData().get(k).getNickname()); - map.put("headImg", userWxInfos.getData().get(k).getHeadImgUrl()); - map.put("desc", actLives.get(k).getDesc()); - map.put("createdTime", actLives.get(k).getCreatedTime()); - // 查询打卡对应图片 - List imgUrlList = new ArrayList<>(); - for (ActLivePicDTO urlDto : actLiveImg) { - if (actLives.get(k).getId().equals(urlDto.getLiveId())) { - imgUrlList.add(urlDto.getPicUrl()); + if (actLives.size() > NumConstant.ZERO){ + // 查询用户微信基础信息 + Result> userWxInfos = epmetUserOpenFeignClient.queryUserBaseInfo(userIds); + if (userWxInfos.getData().size() > NumConstant.ZERO){ + // 根据活动实况id,查询对应实况的图片集合 + List actLiveImg = baseDao.selectListActLiveImg(liveIds); + + List dataContainer = new ArrayList<>(); + for (int k = 0; k < actLives.size(); k++) { + Map base = new HashMap<>(); + base.put("nickname", userWxInfos.getData().get(k).getNickname()); + base.put("headImg", userWxInfos.getData().get(k).getHeadImgUrl()); + base.put("desc", actLives.get(k).getDesc()); + base.put("createdTime", actLives.get(k).getCreatedTime()); + // 查询打卡对应图片 + List imgUrlList = new ArrayList<>(); + for (ActLivePicDTO urlDto : actLiveImg) { + if (actLives.get(k).getId().equals(urlDto.getLiveId())) { + imgUrlList.add(urlDto.getPicUrl()); + } + } + base.put("images", imgUrlList); + dataContainer.add(base); } + resultDto.setActLives(dataContainer); + resultDto.setActLiveNum(dataContainer.size()); + } else { + logger.error("未查到用户基础信息"); + throw new RenException("未查到用户基础信息"); } - map.put("images", imgUrlList); - dataContainer.add(map); } return new Result().ok(resultDto); } diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActUserRelationServiceImpl.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActUserRelationServiceImpl.java index 9105a148cf..134ac475e2 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActUserRelationServiceImpl.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActUserRelationServiceImpl.java @@ -55,6 +55,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Arrays; +import java.util.Date; import java.util.List; import java.util.Map; @@ -262,18 +263,19 @@ public class ActUserRelationServiceImpl extends BaseServiceImpl NumConstant.ZERO){ + // 用户如果不是第一次参加 这次的活动,先删除关系表中的数据,在插入 + baseDao.delSignUpRecord(entity); + } + baseDao.insert(entity); } /** diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/ActUserRelationDao.xml b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/ActUserRelationDao.xml index 76fc7d7268..0b98a68f39 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/ActUserRelationDao.xml +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/ActUserRelationDao.xml @@ -253,16 +253,10 @@ AND aur.ACT_ID = #{actId} - + UPDATE act_user_relation SET - - STATUS = #{status}, - - - CANCEL_TIME = #{cancelTime}, - CANCEL_REASON = #{cancelReason}, - + DEL_FLAG = '1', UPDATED_BY = #{userId}, diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/HeartUserInfoDao.xml b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/HeartUserInfoDao.xml index 3a9473fa15..9908c46e37 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/HeartUserInfoDao.xml +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/HeartUserInfoDao.xml @@ -32,7 +32,7 @@