From 864f60e025e674d861f2fb20734f5e3888a09d07 Mon Sep 17 00:00:00 2001 From: songyunpeng Date: Wed, 14 Jul 2021 13:42:38 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BF=97=E6=84=BF=E8=80=85=EF=BC=9A=E5=8A=A0?= =?UTF-8?q?=E7=A7=AF=E5=88=86=E5=8A=9F=E8=83=BD=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ActUserClockLogServiceImpl.java | 15 +++++---- .../impl/ActUserRelationServiceImpl.java | 27 +++++++++------- .../modules/feign/UserInfoFeignClient.java | 13 +++++++- .../fallback/UserInfoFeignClientFallback.java | 6 ++++ .../epdc/form/EpdcVolunteerPointsFormDTO.java | 32 +++++++++++++++++++ .../esua/epdc/controller/UserController.java | 8 ++--- .../controller/VolunteerInfoController.java | 19 +++++++++-- .../esua/epdc/entity/VolunteerInfoEntity.java | 12 +++++++ .../epdc/service/VolunteerInfoService.java | 14 +++++--- .../impl/VolunteerInfoServiceImpl.java | 30 +++++++++++++++-- 10 files changed, 144 insertions(+), 32 deletions(-) create mode 100644 esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcVolunteerPointsFormDTO.java diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActUserClockLogServiceImpl.java b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActUserClockLogServiceImpl.java index 1304ab11..72a8f7c0 100644 --- a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActUserClockLogServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActUserClockLogServiceImpl.java @@ -46,8 +46,8 @@ import com.elink.esua.epdc.dto.PointsLogsDTO; import com.elink.esua.epdc.dto.UserDTO; import com.elink.esua.epdc.dto.VolunteerInfoDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcInformationFormDTO; -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.EpdcVolunteerPointsFormDTO; import com.elink.esua.epdc.dto.result.BehaviorResultDto; import com.elink.esua.epdc.modules.activity.dao.ActUserClockLogDao; import com.elink.esua.epdc.modules.activity.entity.ActInfoEntity; @@ -279,13 +279,14 @@ public class ActUserClockLogServiceImpl extends BaseServiceImpl result = userInfoFeignClient.handleUserPoints(userPointsFormDTO); + EpdcVolunteerPointsFormDTO volunteerPointsFormDTO = new EpdcVolunteerPointsFormDTO(); + volunteerPointsFormDTO.setVolunteerId(volunteerInfoDTOResult.getData().getId()); + volunteerPointsFormDTO.setPoints(actInfoDTO.getReward()); + volunteerPointsFormDTO.setOperationType(PointsOperationEnum.OPERATION_TYPE_ADD.getOperationType()); + //2021-07-14 更新为不增加用户积分 增加志愿者公益积分 + Result result = userInfoFeignClient.handleVolunteerPoints(volunteerPointsFormDTO); if (!result.success()) { - throw new RenException("更新用户积分异常"); + throw new RenException("更新志愿者公益积分异常"); } return new Result(); } diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActUserRelationServiceImpl.java b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActUserRelationServiceImpl.java index 01be80a9..01ba9b0c 100644 --- a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActUserRelationServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActUserRelationServiceImpl.java @@ -44,7 +44,7 @@ import com.elink.esua.epdc.dto.PointsLogsDTO; import com.elink.esua.epdc.dto.UserDTO; import com.elink.esua.epdc.dto.VolunteerInfoDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcInformationFormDTO; -import com.elink.esua.epdc.dto.epdc.form.EpdcUserPointsFormDTO; +import com.elink.esua.epdc.dto.epdc.form.EpdcVolunteerPointsFormDTO; import com.elink.esua.epdc.dto.form.EpdcClockListV2FormDTO; import com.elink.esua.epdc.dto.result.BehaviorResultDto; import com.elink.esua.epdc.modules.activity.dao.ActInfoDao; @@ -333,15 +333,7 @@ public class ActUserRelationServiceImpl extends BaseServiceImpl result = userInfoFeignClient.handleUserPoints(userPointsFormDTO); - if (!result.success()) { - throw new RenException("更新用户积分异常"); - } + //5、插入epdc_act_user_points_log记录 ActUserPointsLogDTO actUserPointsLogDTO = new ActUserPointsLogDTO(); actUserPointsLogDTO.setActUserId(actUserRelationDTO.getId()); @@ -365,7 +357,11 @@ public class ActUserRelationServiceImpl extends BaseServiceImpl userById = userInfoFeignClient.getUserInfoById(actUserRelationDTO.getUserId()); + if (!userById.success()) { + throw new RenException("获取用户信息失败"); + } + pointsLogsDTO.setLavePoints(userById.getData().getPoints() + actInfoDTO.getReward());//剩余积分值 pointsLogsDTO.setBehaviorCode(BehaviorEnum.BREAK_PROMISE.getValue());//积分行为编码 pointsLogsDTO.setReferenceId(actUserPointsLog.getId()); //积分日志描述 @@ -386,6 +382,15 @@ public class ActUserRelationServiceImpl extends BaseServiceImpl getUserGridIdByUserId(@PathVariable String userId); + /** + * @Description 更新志愿者积分 + * @Author songyunpeng + * @Date 2021/7/14 + * @Param [formDTO] + * @return com.elink.esua.epdc.commons.tools.utils.Result + **/ + @PostMapping(value = "app-user/user/handleVolunteerPoints", consumes = MediaType.APPLICATION_JSON_VALUE) + Result handleVolunteerPoints(EpdcVolunteerPointsFormDTO 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 f8ecedae..cfb9419a 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 @@ -8,6 +8,7 @@ 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.dto.epdc.form.EpdcVolunteerPointsFormDTO; import com.elink.esua.epdc.modules.feign.UserInfoFeignClient; import org.springframework.stereotype.Component; @@ -55,4 +56,9 @@ public class UserInfoFeignClientFallback implements UserInfoFeignClient { public Result getUserGridIdByUserId(String userId) { return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "getUserGridIdByUserId", userId); } + + @Override + public Result handleVolunteerPoints(EpdcVolunteerPointsFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "handleVolunteerPoints", formDTO); + } } diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcVolunteerPointsFormDTO.java b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcVolunteerPointsFormDTO.java new file mode 100644 index 00000000..dca7bfed --- /dev/null +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcVolunteerPointsFormDTO.java @@ -0,0 +1,32 @@ +package com.elink.esua.epdc.dto.epdc.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +/** + * @Description 根据操作类型更新志愿者积分 入参DTO + * @Author syp + * @Date 2019/12/13 13:57 + */ +@Data +public class EpdcVolunteerPointsFormDTO { + /** + * 积分操作类型(加积分、减积分) + */ + @NotBlank(message = "积分操作类型不能为空") + private String operationType; + + /** + * 用户ID + */ + @NotBlank(message = "志愿者id不能为空") + private String volunteerId; + + @NotNull + /** + * 积分调整值 + */ + private Integer points; +} diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/UserController.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/UserController.java index 9f0033ef..f7071d69 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/UserController.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/UserController.java @@ -212,8 +212,6 @@ public class UserController { public Result handleUserPoints(@RequestBody @Valid EpdcUserPointsFormDTO formDTO) { return userService.handleUserPoints(formDTO); } - - /** * @Description 获取已认证未删除用户列表 * @Author songyunpeng @@ -251,7 +249,7 @@ public class UserController { } /** - * @Description 党员认证通过并更新党员库信息 + * @Description 党员认证通过并更新党员库信息 * @Author songyunpeng * @Date 2020/6/10 * @Param [dto] @@ -298,7 +296,7 @@ public class UserController { return userService.addPartyInfo(dto); } /** - * @Description 完善党员信息加积分 + * @Description 完善党员信息加积分 * @Author songyunpeng * @Date 2020/6/24 * @Param [dto] @@ -316,7 +314,7 @@ public class UserController { /*** * 网格积分排名 - * @param params + * @param params * @return com.elink.esua.epdc.commons.tools.utils.Result> * @author qushutong * @date 2020/8/4 13:44 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 8d8d6227..04654fab 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 @@ -18,16 +18,17 @@ package com.elink.esua.epdc.controller; import com.elink.esua.epdc.commons.tools.page.PageData; -import com.elink.esua.epdc.commons.tools.utils.DateUtils; import com.elink.esua.epdc.commons.tools.utils.ExcelUtils; import com.elink.esua.epdc.commons.tools.utils.Result; 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.dto.UserDTO; 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.form.EpdcVolunteerPointsFormDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcAdjustVolunteerPointsDTO; import com.elink.esua.epdc.dto.epdc.result.VolunteerTagsResultDTO; import com.elink.esua.epdc.excel.VolunteerInfoExcel; @@ -38,8 +39,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; import java.text.SimpleDateFormat; -import java.util.Collection; import java.util.Date; import java.util.List; import java.util.Map; @@ -257,4 +258,18 @@ public class VolunteerInfoController { return new Result>().ok(data); } + + /** + * @param formDTO + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author syp + * @Description 根据操作类型更新志愿者公益积分 + * @Date 2019/12/13 15:01 + **/ + @PostMapping("handleVolunteerPoints") + public Result handleVolunteerPoints(@RequestBody @Valid EpdcVolunteerPointsFormDTO formDTO) { + return volunteerInfoService.handleVolunteerPoints(formDTO); + } + + } diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/entity/VolunteerInfoEntity.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/entity/VolunteerInfoEntity.java index dfca3804..5c3ab7ca 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/entity/VolunteerInfoEntity.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/entity/VolunteerInfoEntity.java @@ -153,4 +153,16 @@ public class VolunteerInfoEntity extends DeptScope { * 志愿者排序 */ private Integer volunteerOrder; + /** + * 志愿者部门 + */ + private String volunteerDept; + /** + * 志愿者公益积分 + */ + private Integer volunteerPoints; + /** + * 志愿公益累计积分 + */ + private Integer volunteerPointsTotal; } 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 06d14863..a781fb83 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 @@ -22,10 +22,7 @@ import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.utils.Result; 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.EpdcVolunteerKindnessTimeFormDTO; -import com.elink.esua.epdc.dto.epdc.form.EpdcVolunteerKindnessTimeUpdateFormDTO; +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; @@ -264,4 +261,13 @@ public interface VolunteerInfoService extends BaseService { * @return void **/ void modifyOrganizationInfo(OrganizationModifyDTO dto); + + + /** + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author syp + * @Description 根据操作类型更新志愿者积分 + * @Date 2019/12/13 15:10 + **/ + Result handleVolunteerPoints(EpdcVolunteerPointsFormDTO 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 c8d53b28..4fa75309 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 @@ -27,13 +27,17 @@ import com.elink.esua.epdc.commons.mybatis.utils.DeptEntityUtils; 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.enums.pointsenum.PointsOperationEnum; import com.elink.esua.epdc.commons.tools.page.PageData; 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; import com.elink.esua.epdc.constant.VolunteerInfoNoticeConstant; import com.elink.esua.epdc.dao.VolunteerInfoDao; -import com.elink.esua.epdc.dto.*; +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.VolunteerTagRelationDTO; 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; @@ -46,7 +50,6 @@ import com.elink.esua.epdc.rocketmq.dto.OrganizationModifyDTO; import com.elink.esua.epdc.service.UserTagRelationService; import com.elink.esua.epdc.service.VolunteerInfoService; import com.elink.esua.epdc.service.VolunteerTagRelationService; -import com.elink.esua.epdc.service.VolunteerTagService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -484,6 +487,29 @@ public class VolunteerInfoServiceImpl extends BaseServiceImpl points) { + return new Result().error("用户积分不足"); + } + volunteerInfoEntity.setVolunteerPoints(volunteerInfoEntity.getVolunteerPoints() - formDTO.getPoints()); + } + baseDao.updateById(volunteerInfoEntity); + return new Result(); + } + /** * 组织机构信息处理 *