From 305f6408d79a4087578f87e7dea78b029b8e93b2 Mon Sep 17 00:00:00 2001 From: songyunpeng Date: Tue, 9 Jun 2020 17:14:22 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=AF=E5=88=86=E7=BB=9F=E8=AE=A1=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epdc/controller/PointsLogsController.java | 13 +++ .../esua/epdc/mq/PointsModifyConsumer.java | 7 +- .../esua/epdc/service/PointsLogsService.java | 15 +++- .../service/impl/PointsLogsServiceImpl.java | 40 ++++++++-- .../epdc/dto/EpdcAdjustUserPointsDTO.java | 80 +++++++++++++++++++ .../esua/epdc/controller/UserController.java | 8 +- .../src/main/resources/mapper/UserDao.xml | 2 +- 7 files changed, 152 insertions(+), 13 deletions(-) create mode 100644 esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/EpdcAdjustUserPointsDTO.java diff --git a/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/controller/PointsLogsController.java b/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/controller/PointsLogsController.java index 55a15c0a..f98294cf 100755 --- a/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/controller/PointsLogsController.java +++ b/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/controller/PointsLogsController.java @@ -25,6 +25,7 @@ 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.EpdcAdjustUserPointsDTO; import com.elink.esua.epdc.dto.PointsLogsDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcAdjustVolunteerPointsDTO; import com.elink.esua.epdc.excel.PointsLogsExcel; @@ -108,4 +109,16 @@ public class PointsLogsController { ValidatorUtils.validateEntity(formDto); return pointsLogsService.confirmAdjustPoint(formDto); } + /** + * @Description 积分管理-积分统计 -统计调整积分 + * @Author songyunpeng + * @Date 2020/6/9 + * @Param [formDto] + * @return com.elink.esua.epdc.commons.tools.utils.Result + **/ + @PostMapping("confirmUserAdjustPoint") + public Result confirmUserAdjustPoint(@RequestBody EpdcAdjustUserPointsDTO formDto){ + ValidatorUtils.validateEntity(formDto); + return pointsLogsService.confirmUserAdjustPoint(formDto); + } } diff --git a/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/mq/PointsModifyConsumer.java b/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/mq/PointsModifyConsumer.java index 01106fa3..96cf8b2b 100644 --- a/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/mq/PointsModifyConsumer.java +++ b/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/mq/PointsModifyConsumer.java @@ -21,8 +21,11 @@ import com.elink.esua.epdc.service.PointsRuleService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.rocketmq.common.message.MessageExt; +import org.apache.rocketmq.spring.annotation.MessageModel; +import org.apache.rocketmq.spring.annotation.RocketMQMessageListener; import org.apache.rocketmq.spring.core.RocketMQListener; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; import java.util.List; @@ -33,8 +36,8 @@ import java.util.List; * @Date:2020/4/28 13:44 */ @Slf4j -//@Component -//@RocketMQMessageListener(topic = RocketMqConstant.MQ_TOPIC_POINTS, consumerGroup = "${rocketmq.consumer.points-group}", messageModel = MessageModel.BROADCASTING) +@Component +@RocketMQMessageListener(topic = RocketMqConstant.MQ_TOPIC_POINTS, consumerGroup = "${rocketmq.consumer.points-group}", messageModel = MessageModel.BROADCASTING) public class PointsModifyConsumer implements RocketMQListener { @Autowired diff --git a/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/service/PointsLogsService.java b/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/service/PointsLogsService.java index ba47a78b..f0f98098 100755 --- a/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/service/PointsLogsService.java +++ b/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/service/PointsLogsService.java @@ -20,17 +20,16 @@ package com.elink.esua.epdc.service; import com.elink.esua.epdc.commons.mybatis.service.BaseService; import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.EpdcAdjustUserPointsDTO; import com.elink.esua.epdc.dto.PointsLogsDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcAdjustVolunteerPointsDTO; -import com.elink.esua.epdc.dto.form.PointsLogsFormDTO; -import com.elink.esua.epdc.dto.result.PointsLogsResultDTO; -import com.elink.esua.epdc.dto.result.PointsLogsSumResultDTO; import com.elink.esua.epdc.dto.form.EpdcAppPointsRankingFormDTO; import com.elink.esua.epdc.dto.form.EpdcAppPointsRecordFormDTO; +import com.elink.esua.epdc.dto.form.PointsLogsFormDTO; import com.elink.esua.epdc.dto.result.EpdcAppPointsRankingResultDTO; import com.elink.esua.epdc.dto.result.EpdcAppPointsRecordResultDTO; +import com.elink.esua.epdc.dto.result.PointsLogsResultDTO; import com.elink.esua.epdc.entity.PointsLogsEntity; -import io.swagger.models.auth.In; import java.util.List; import java.util.Map; @@ -164,4 +163,12 @@ public interface PointsLogsService extends BaseService { * @Date: 2020-04-30 */ EpdcAppPointsRankingResultDTO listPointsRanking(EpdcAppPointsRankingFormDTO formDto); + /** + * @Description 积分管理-积分统计 -统计调整积分 + * @Author songyunpeng + * @Date 2020/6/9 + * @Param [formDto] + * @return com.elink.esua.epdc.commons.tools.utils.Result + **/ + Result confirmUserAdjustPoint(EpdcAdjustUserPointsDTO formDto); } diff --git a/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/service/impl/PointsLogsServiceImpl.java b/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/service/impl/PointsLogsServiceImpl.java index 69abab12..aa7bbd56 100755 --- a/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/service/impl/PointsLogsServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/service/impl/PointsLogsServiceImpl.java @@ -21,34 +21,33 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.elink.esua.epdc.async.NewsTask; import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; +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.constant.PointsConstant; -import com.elink.esua.epdc.commons.tools.enums.BehaviorEnum; import com.elink.esua.epdc.commons.tools.enums.pointsenum.PointsOperationEnum; import com.elink.esua.epdc.commons.tools.enums.pointsenum.PointsOperationModeEnum; import com.elink.esua.epdc.commons.tools.exception.RenException; 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.constant.FieldConstant; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dao.PointsLogsDao; +import com.elink.esua.epdc.dto.EpdcAdjustUserPointsDTO; import com.elink.esua.epdc.dto.PointsLogsDTO; import com.elink.esua.epdc.dto.UserDTO; import com.elink.esua.epdc.dto.constant.PointsNoticeConstant; 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.result.EpdcAdjustVolunteerPointsDTO; -import com.elink.esua.epdc.dto.form.PointsLogsFormDTO; -import com.elink.esua.epdc.dto.result.*; import com.elink.esua.epdc.dto.form.EpdcAppPointsRankingFormDTO; import com.elink.esua.epdc.dto.form.EpdcAppPointsRecordFormDTO; +import com.elink.esua.epdc.dto.form.PointsLogsFormDTO; +import com.elink.esua.epdc.dto.result.*; import com.elink.esua.epdc.entity.PointsLogsEntity; import com.elink.esua.epdc.feign.UsersFeignClient; import com.elink.esua.epdc.redis.PointsLogsRedis; import com.elink.esua.epdc.service.PointsBehaviorService; import com.elink.esua.epdc.service.PointsLogsService; import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ss.formula.functions.Rank; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -253,6 +252,37 @@ public class PointsLogsServiceImpl extends BaseServiceImpl result = usersFeignClient.handleUserPoints(userPointsFormDTO); + if (!result.success()) { + return new Result().error("调整用户积分失败"); + } + //剩余积分 + pointsLogsEntity.setLavePoints(result.getData().getPoints()); + this.insert(pointsLogsEntity); + return new Result(); + } + /** * 获取【排好序】的排行榜数据 * @param formDto diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/EpdcAdjustUserPointsDTO.java b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/EpdcAdjustUserPointsDTO.java new file mode 100644 index 00000000..7e1bad91 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/EpdcAdjustUserPointsDTO.java @@ -0,0 +1,80 @@ +package com.elink.esua.epdc.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.Date; + +/** + * @Description 用户积分调整入参DTO + * @Author + * @Date 2019/12/16 17:25 + */ +@Data +public class EpdcAdjustUserPointsDTO implements Serializable { + private static final long serialVersionUID = -2810969141214818209L; + + /** + * 用户ID + */ + @NotBlank(message = "用户不能为空") + private String id; + + + /** + * 姓名 + */ + private String realName; + + /** + * 用户昵称 + */ + private String nickname; + + /** + * 用户头像 + */ + private String faceImg; + + /** + * 性别(0-女,1-男) + */ + private String sex; + + /** + * 出生日期 + */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date birthday; + + /** + * 手机号 + */ + private String mobile; + + /** + * 用户当前积分 + */ + private Integer points; + + /** + * 调整原因 + */ + @NotBlank(message = "调整原因不能为空") + private String adjustReason; + + /** + * 积分操作类型 + */ + @NotBlank(message = "操作类型不能为空") + private String operationType; + + /** + * 积分调整值 + */ + private Integer operatePoints; + + +} 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 599b00e9..c4c2f190 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 @@ -179,7 +179,13 @@ public class UserController { return userService.handleUserPoints(formDTO); } - + /** + * @Description 用户积分统计列表 + * @Author songyunpeng + * @Date 2020/6/9 + * @Param [params] + * @return com.elink.esua.epdc.commons.tools.utils.Result> + **/ @GetMapping("pageForPoints") public Result> pageForPoints(@RequestParam Map params) { PageData page = userService.pageForPoints(params); diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml index 2f4666d0..d6b6351a 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml @@ -565,7 +565,7 @@ LEFT JOIN ( select * from (select * from epdc_user_grid_relation order by CREATED_TIME)t group by t.USER_ID) ug ON u.ID = ug.USER_ID)ug where ug.del_flag = '0' - and ug.real_name like '%${realName}%' + and ug.real_name like '%${realName}%' or ug.nickname like '%${realName}%' and ug.mobile like '%${mobile}%' AND (find_in_set(#{streetId},ug.PARENT_DEPT_IDS)