From 06dad10f013cdf7b3cea7d7e66ae8357a9d25907 Mon Sep 17 00:00:00 2001 From: songyunpeng Date: Fri, 11 Sep 2020 16:30:06 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BF=97=E6=84=BF=E8=80=85=E5=85=AC=E7=9B=8A?= =?UTF-8?q?=E6=97=B6=E9=95=BF=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ActInfoServiceImpl.java | 33 +++++++++++++++++++ .../modules/feign/UserInfoFeignClient.java | 10 ++++++ .../fallback/UserInfoFeignClientFallback.java | 6 ++++ ...pdcVolunteerKindnessTimeUpdateFormDTO.java | 29 ++++++++++++++++ .../controller/VolunteerInfoController.java | 14 +++++++- .../elink/esua/epdc/dao/VolunteerInfoDao.java | 9 +++++ .../epdc/service/VolunteerInfoService.java | 10 +++++- .../impl/VolunteerInfoServiceImpl.java | 12 ++++--- .../resources/mapper/VolunteerInfoDao.xml | 10 ++++++ 9 files changed, 126 insertions(+), 7 deletions(-) create mode 100644 esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcVolunteerKindnessTimeUpdateFormDTO.java diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActInfoServiceImpl.java b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActInfoServiceImpl.java index 1531758d..c408e3c9 100644 --- a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActInfoServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActInfoServiceImpl.java @@ -50,6 +50,7 @@ import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup; import com.elink.esua.epdc.constant.*; import com.elink.esua.epdc.dto.ScheduleJobDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcInformationFormDTO; +import com.elink.esua.epdc.dto.epdc.form.EpdcVolunteerKindnessTimeUpdateFormDTO; import com.elink.esua.epdc.modules.activity.dao.*; import com.elink.esua.epdc.modules.activity.entity.ActBannerEntity; import com.elink.esua.epdc.modules.activity.entity.ActInfoEntity; @@ -68,8 +69,10 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.*; +import java.util.stream.Collectors; /** * 活动信息表 @@ -247,6 +250,8 @@ public class ActInfoServiceImpl extends BaseServiceImpl params = new HashMap<>(); + params.put("ACT_ID",dto.getId()); + params.put("STATUS","5"); + List actUserRelationEntities = actUserRelationDao.selectByMap(params); + if(actUserRelationEntities==null || actUserRelationEntities.size() == 0){ + return; + } + List userIds = actUserRelationEntities.stream().map(ActUserRelationEntity::getUserId).collect(Collectors.toList()); + + EpdcVolunteerKindnessTimeUpdateFormDTO epdcVolunteerKindnessTimeUpdateFormDTO = new EpdcVolunteerKindnessTimeUpdateFormDTO(); + //更改的值减去原先的值 若是正的,则代表加上时长差 若是负的 则代表减去时长差 + epdcVolunteerKindnessTimeUpdateFormDTO.setKindnessTime(new BigDecimal(dto.getKindnessTime()-oldActInfoEntity.getKindnessTime())); + epdcVolunteerKindnessTimeUpdateFormDTO.setUserIds(userIds); + userInfoFeignClient.updateKindnessTime(epdcVolunteerKindnessTimeUpdateFormDTO); + } /** * 活动列表-移动app端用 diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/feign/UserInfoFeignClient.java b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/feign/UserInfoFeignClient.java index d68636c3..893887f3 100644 --- a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/feign/UserInfoFeignClient.java +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/feign/UserInfoFeignClient.java @@ -6,6 +6,7 @@ import com.elink.esua.epdc.dto.UserDTO; import com.elink.esua.epdc.dto.VolunteerInfoDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcUserPointsFormDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcVolunteerKindnessTimeFormDTO; +import com.elink.esua.epdc.dto.epdc.form.EpdcVolunteerKindnessTimeUpdateFormDTO; import com.elink.esua.epdc.modules.feign.fallback.UserInfoFeignClientFallback; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.http.MediaType; @@ -79,4 +80,13 @@ public interface UserInfoFeignClient { */ @PostMapping(value = "app-user/volunteerinfo/addKindnessTime", consumes = MediaType.APPLICATION_JSON_VALUE) Result addKindnessTime(EpdcVolunteerKindnessTimeFormDTO formDto); + /** + * @Description 更新志愿者爱心活动时长 + * @Author songyunpeng + * @Date 2020/9/11 + * @Param [formDto] + * @return com.elink.esua.epdc.commons.tools.utils.Result + **/ + @PostMapping(value = "app-user/volunteerinfo/updateKindnessTime", consumes = MediaType.APPLICATION_JSON_VALUE) + Result updateKindnessTime(EpdcVolunteerKindnessTimeUpdateFormDTO formDto); } diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/UserInfoFeignClientFallback.java b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/UserInfoFeignClientFallback.java index 95f0d4b4..4a9310a3 100644 --- a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/UserInfoFeignClientFallback.java +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/UserInfoFeignClientFallback.java @@ -7,6 +7,7 @@ import com.elink.esua.epdc.dto.UserDTO; import com.elink.esua.epdc.dto.VolunteerInfoDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcUserPointsFormDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcVolunteerKindnessTimeFormDTO; +import com.elink.esua.epdc.dto.epdc.form.EpdcVolunteerKindnessTimeUpdateFormDTO; import com.elink.esua.epdc.modules.feign.UserInfoFeignClient; import org.springframework.stereotype.Component; @@ -45,4 +46,9 @@ public class UserInfoFeignClientFallback implements UserInfoFeignClient { return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "addKindnessTime", formDto); } + @Override + public Result updateKindnessTime(EpdcVolunteerKindnessTimeUpdateFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "updateKindnessTime", formDto); + } + } diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcVolunteerKindnessTimeUpdateFormDTO.java b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcVolunteerKindnessTimeUpdateFormDTO.java new file mode 100644 index 00000000..1041f9fc --- /dev/null +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcVolunteerKindnessTimeUpdateFormDTO.java @@ -0,0 +1,29 @@ +package com.elink.esua.epdc.dto.epdc.form; + +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.List; + +/** + * + * 增加志愿者爱心时长Form DTO + * + * @Author:liuchuang + * @Date:2020/2/7 18:29 + */ +@Data +public class EpdcVolunteerKindnessTimeUpdateFormDTO implements Serializable { + private static final long serialVersionUID = 6680590022205970530L; + + /** + * 爱心时长 + */ + private BigDecimal kindnessTime; + + /** + * 用户ID + */ + private List userIds; +} diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/VolunteerInfoController.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/VolunteerInfoController.java index fd616f44..9527018c 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/VolunteerInfoController.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/VolunteerInfoController.java @@ -24,9 +24,9 @@ import com.elink.esua.epdc.commons.tools.validator.AssertUtils; import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; import com.elink.esua.epdc.commons.tools.validator.group.AddGroup; import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup; -import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup; import com.elink.esua.epdc.dto.VolunteerInfoDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcVolunteerKindnessTimeFormDTO; +import com.elink.esua.epdc.dto.epdc.form.EpdcVolunteerKindnessTimeUpdateFormDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcAdjustVolunteerPointsDTO; import com.elink.esua.epdc.excel.VolunteerInfoExcel; import com.elink.esua.epdc.service.UserTagService; @@ -189,4 +189,16 @@ public class VolunteerInfoController { return volunteerInfoService.modifyVolunteerKindnessTime(formDto); } + /** + * @Description 更新志愿者爱心时长 + * @Author songyunpeng + * @Date 2020/9/11 + * @Param [formDto] + * @return com.elink.esua.epdc.commons.tools.utils.Result + **/ + @PostMapping("updateKindnessTime") + public Result updateKindnessTime(@RequestBody EpdcVolunteerKindnessTimeUpdateFormDTO formDto) { + return volunteerInfoService.updateKindnessTime(formDto); + } + } diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/VolunteerInfoDao.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/VolunteerInfoDao.java index 3d703d28..c6381d10 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/VolunteerInfoDao.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/VolunteerInfoDao.java @@ -22,6 +22,7 @@ import com.elink.esua.epdc.dto.UserTagDTO; import com.elink.esua.epdc.dto.VolunteerInfoDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcAppVolunteerListFormDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcVolunteerKindnessTimeFormDTO; +import com.elink.esua.epdc.dto.epdc.form.EpdcVolunteerKindnessTimeUpdateFormDTO; import com.elink.esua.epdc.dto.epdc.form.v2.EpdcCompleteVolunteerInfoV2FormDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcAdjustVolunteerPointsDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcAppVolunteerListResultDTO; @@ -159,4 +160,12 @@ public interface VolunteerInfoDao extends BaseDao { * @date 2020/7/20 10:53 */ Integer selectListVolunteerCount(); + /** + * @Description 更新公益时长 + * @Author songyunpeng + * @Date 2020/9/11 + * @Param [formDto] + * @return void + **/ + void updateKindnessTime(EpdcVolunteerKindnessTimeUpdateFormDTO formDto); } diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/VolunteerInfoService.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/VolunteerInfoService.java index f51f6ed5..17640a73 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/VolunteerInfoService.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/VolunteerInfoService.java @@ -25,6 +25,7 @@ import com.elink.esua.epdc.dto.VolunteerInfoDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcAppVolunteerListFormDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcCompleteVolunteerInfoFormDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcVolunteerKindnessTimeFormDTO; +import com.elink.esua.epdc.dto.epdc.form.EpdcVolunteerKindnessTimeUpdateFormDTO; import com.elink.esua.epdc.dto.epdc.form.v2.EpdcCompleteVolunteerInfoV2FormDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcAdjustVolunteerPointsDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcAppVolunteerListCountResultDTO; @@ -237,5 +238,12 @@ public interface VolunteerInfoService extends BaseService { */ Result insertV2VolunteerInfo(EpdcCompleteVolunteerInfoV2FormDTO formDTO); - + /** + * @Description 更新公益时长 + * @Author songyunpeng + * @Date 2020/9/11 + * @Param [formDto] + * @return com.elink.esua.epdc.commons.tools.utils.Result + **/ + Result updateKindnessTime(EpdcVolunteerKindnessTimeUpdateFormDTO formDto); } diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/VolunteerInfoServiceImpl.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/VolunteerInfoServiceImpl.java index 78c4760b..478359f2 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/VolunteerInfoServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/VolunteerInfoServiceImpl.java @@ -28,7 +28,6 @@ import com.elink.esua.epdc.commons.tools.constant.FieldConstant; import com.elink.esua.epdc.commons.tools.constant.NumConstant; import com.elink.esua.epdc.commons.tools.enums.UserTagEnum; import com.elink.esua.epdc.commons.tools.page.PageData; -import com.elink.esua.epdc.commons.tools.security.user.SecurityUser; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.constant.UserFieldConsant; @@ -37,10 +36,7 @@ import com.elink.esua.epdc.dao.VolunteerInfoDao; import com.elink.esua.epdc.dto.ParentAndAllDeptDTO; import com.elink.esua.epdc.dto.UserTagDTO; import com.elink.esua.epdc.dto.VolunteerInfoDTO; -import com.elink.esua.epdc.dto.epdc.form.EpdcAppVolunteerListFormDTO; -import com.elink.esua.epdc.dto.epdc.form.EpdcCompleteVolunteerInfoFormDTO; -import com.elink.esua.epdc.dto.epdc.form.EpdcInformationFormDTO; -import com.elink.esua.epdc.dto.epdc.form.EpdcVolunteerKindnessTimeFormDTO; +import com.elink.esua.epdc.dto.epdc.form.*; import com.elink.esua.epdc.dto.epdc.form.v2.EpdcCompleteVolunteerInfoV2FormDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcAdjustVolunteerPointsDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcAppVolunteerListCountResultDTO; @@ -445,4 +441,10 @@ public class VolunteerInfoServiceImpl extends BaseServiceImpl + + UPDATE epdc_volunteer_info + SET KINDNESS_TIME = ( KINDNESS_TIME + #{kindnessTime} ) + WHERE + USER_ID in + + #{userId} + + AND DEL_FLAG = '0' +