From ef3bf32ff737c6c708358e392eb1911574e3c761 Mon Sep 17 00:00:00 2001 From: songyunpeng Date: Mon, 19 Apr 2021 16:58:17 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E7=A7=AF=E5=88=86=E6=B8=85=E9=9B=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../esua/epdc/feign/UserFeignClient.java | 10 +++++ .../fallback/UserFeignClientFallback.java | 5 +++ .../task/user/ScreenUserPointsResetImpl.java | 43 +++++++++++++++++++ .../task/user/ScreenUserPointsResetTask.java | 19 ++++++++ .../esua/epdc/controller/UserController.java | 13 +++++- .../java/com/elink/esua/epdc/dao/UserDao.java | 16 +++++++ .../elink/esua/epdc/service/UserService.java | 8 ++++ .../epdc/service/impl/UserServiceImpl.java | 9 ++++ .../src/main/resources/mapper/UserDao.xml | 13 ++++-- 9 files changed, 131 insertions(+), 5 deletions(-) create mode 100644 esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/user/ScreenUserPointsResetImpl.java create mode 100644 esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/user/ScreenUserPointsResetTask.java diff --git a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java index 975afbe2..c0959eb8 100644 --- a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java +++ b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java @@ -44,5 +44,15 @@ public interface UserFeignClient { */ @PostMapping("app-user/epdc-app/user/updateUserInfo") Result updateUserInfo(UserDTO userDTO); + /** + * 重置积分 + * + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [userDTO] + * @author syp + * @since 2019/10/25 17:07 + */ + @PostMapping("app-user/epdc-app/user/resetPoints") + Result resetPoints(); } diff --git a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java index d3ab4b71..03ee2420 100644 --- a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java +++ b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java @@ -34,4 +34,9 @@ public class UserFeignClientFallback implements UserFeignClient { public Result updateUserInfo(UserDTO userDTO) { return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "updateUserInfo", userDTO); } + + @Override + public Result resetPoints() { + return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "resetPoints"); + } } diff --git a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/user/ScreenUserPointsResetImpl.java b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/user/ScreenUserPointsResetImpl.java new file mode 100644 index 00000000..7e3f06d9 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/user/ScreenUserPointsResetImpl.java @@ -0,0 +1,43 @@ +package com.elink.esua.epdc.task.user; + +import com.alibaba.fastjson.JSONObject; +import com.elink.esua.epdc.dto.ScreenIndexBasicDataParamDTO; +import com.elink.esua.epdc.dto.screen.form.ScreenJobFormDTO; +import com.elink.esua.epdc.feign.AnalysisFeignClient; +import com.elink.esua.epdc.feign.UserFeignClient; +import com.elink.esua.epdc.task.screen.ScreenIndexDataPushTask; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +/** + * 用户模块 + * + * @Author:liuchuang + * @Date:2020/9/9 15:19 + */ +@Component("screenUserPointsResetTask") +public class ScreenUserPointsResetImpl implements ScreenUserPointsResetTask { + + private final Logger logger = LoggerFactory.getLogger(getClass()); + + @Autowired + private UserFeignClient userFeignClient; + + @Override + public void run() { + // 用户季度积分重置 + resetUserPoints(); + } + + public void resetUserPoints() { + // 方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|用户积分季度重置>定时任务开始"); + userFeignClient.resetPoints(); + logger.info("<" + methodName + "|用户积分季度重置>定时任务结束"); + } + +} diff --git a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/user/ScreenUserPointsResetTask.java b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/user/ScreenUserPointsResetTask.java new file mode 100644 index 00000000..abbc679f --- /dev/null +++ b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/user/ScreenUserPointsResetTask.java @@ -0,0 +1,19 @@ +package com.elink.esua.epdc.task.user; + +/** + * 用户积分重置模块 + * + * @Author:liuchuang + * @Date:2020/9/9 15:20 + */ +public interface ScreenUserPointsResetTask { + + /** + * 用户积分重置模块 + * @param param 入参 + * @return void + * @author syp + * @since 2020/9/9 15:21 + */ + void run(); +} 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 fe59b8a5..400a7a4e 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 @@ -364,8 +364,17 @@ public class UserController { Result combineVolunteerUser(@RequestBody CombineVolunteerUserFormDTO formDTO){ return userService.combineVolunteerUser(formDTO); } - - + /** + * @Description 季度重置用户可兑换积分 + * @Author songyunpeng + * @Date 2021/4/19 + * @Param [] + * @return com.elink.esua.epdc.commons.tools.utils.Result + **/ + @GetMapping("resetPoints") + private Result resetPoints(){ + return userService.resetPoints(); + } } diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserDao.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserDao.java index 8615c0b2..4279f3e6 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserDao.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserDao.java @@ -305,4 +305,20 @@ public interface UserDao extends BaseDao { * @return java.lang.Long **/ Long getUserGridIdByUserId(String userId); + /** + * @Description 备份积分数据 + * @Author songyunpeng + * @Date 2021/4/19 + * @Param [] + * @return void + **/ + void insertUserPointsTemp(); + /** + * @Description 重置积分 + * @Author songyunpeng + * @Date 2021/4/19 + * @Param [] + * @return void + **/ + void resetPoints(); } diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java index f916386d..c48f1d49 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java @@ -433,4 +433,12 @@ public interface UserService extends BaseService { * @return com.elink.esua.epdc.commons.tools.utils.Result **/ Result combineVolunteerUser(CombineVolunteerUserFormDTO formDTO); + /** + * @Description 季度重置积分 - 定时任务使用 + * @Author songyunpeng + * @Date 2021/4/19 + * @Param [] + * @return com.elink.esua.epdc.commons.tools.utils.Result + **/ + Result resetPoints(); } diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java index aa4d6966..7086dcf2 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java @@ -1542,4 +1542,13 @@ public class UserServiceImpl extends BaseServiceImpl implem } return new Result<>(); } + + @Override + public Result resetPoints() { + //先备份积分数据 + baseDao.insertUserPointsTemp(); + //重置积分 + baseDao.resetPoints(); + return new Result(); + } } 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 4bccf4cf..2779570a 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 @@ -2,6 +2,10 @@ + + insert into epdc_user_points_temp(ID,POINTS,CREATED_TIME) + select ID,POINTS,now() from epdc_user where DEL_FLAG = '0' + update epdc_user set POINTS = POINTS + #{points} @@ -9,6 +13,9 @@ where ID = #{userId} + + update epdc_user set points = 0 where DEL_FLAG = '0' + DELETE FROM epdc_user WHERE WX_OPEN_ID = #{wxOpenId} AND STATE = '2' @@ -571,7 +578,7 @@ SELECT (@i:=@i+1) rank, u.ID userId, - IFNULL(u.POINTS, 0) points, + IFNULL(u.POINTS_TOTLE, 0) points, GROUP_CONCAT(u.ID SEPARATOR ',') tjid FROM epdc_user u ,(select @i:=0) t1 @@ -583,8 +590,8 @@ #{userId} - GROUP BY IFNULL(u.POINTS, 0) - ORDER BY IFNULL(u.POINTS, 0) DESC + GROUP BY IFNULL(u.POINTS_TOTLE, 0) + ORDER BY IFNULL(u.POINTS_TOTLE, 0) DESC ) userRanking WHERE instr(userRanking.tjid , #{userId}) > 0 From f6266aa9cf29575bc1cf0d485203875590c4bd5e Mon Sep 17 00:00:00 2001 From: songyunpeng Date: Wed, 21 Apr 2021 14:13:49 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E7=A7=AF=E5=88=86=E9=87=8D=E7=BD=AE=20bug?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../esua/epdc/feign/UserFeignClient.java | 2 +- .../task/user/ScreenUserPointsResetImpl.java | 43 ------------------- .../task/user/ScreenUserPointsResetTask.java | 31 +++++++++---- .../esua/epdc/controller/UserController.java | 10 ++--- 4 files changed, 28 insertions(+), 58 deletions(-) delete mode 100644 esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/user/ScreenUserPointsResetImpl.java diff --git a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java index c0959eb8..80d65b4c 100644 --- a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java +++ b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java @@ -52,7 +52,7 @@ public interface UserFeignClient { * @author syp * @since 2019/10/25 17:07 */ - @PostMapping("app-user/epdc-app/user/resetPoints") + @PostMapping("app-user/user/resetPoints") Result resetPoints(); } diff --git a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/user/ScreenUserPointsResetImpl.java b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/user/ScreenUserPointsResetImpl.java deleted file mode 100644 index 7e3f06d9..00000000 --- a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/user/ScreenUserPointsResetImpl.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.elink.esua.epdc.task.user; - -import com.alibaba.fastjson.JSONObject; -import com.elink.esua.epdc.dto.ScreenIndexBasicDataParamDTO; -import com.elink.esua.epdc.dto.screen.form.ScreenJobFormDTO; -import com.elink.esua.epdc.feign.AnalysisFeignClient; -import com.elink.esua.epdc.feign.UserFeignClient; -import com.elink.esua.epdc.task.screen.ScreenIndexDataPushTask; -import org.apache.commons.lang3.StringUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -/** - * 用户模块 - * - * @Author:liuchuang - * @Date:2020/9/9 15:19 - */ -@Component("screenUserPointsResetTask") -public class ScreenUserPointsResetImpl implements ScreenUserPointsResetTask { - - private final Logger logger = LoggerFactory.getLogger(getClass()); - - @Autowired - private UserFeignClient userFeignClient; - - @Override - public void run() { - // 用户季度积分重置 - resetUserPoints(); - } - - public void resetUserPoints() { - // 方法名 - String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); - logger.info("<" + methodName + "|用户积分季度重置>定时任务开始"); - userFeignClient.resetPoints(); - logger.info("<" + methodName + "|用户积分季度重置>定时任务结束"); - } - -} diff --git a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/user/ScreenUserPointsResetTask.java b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/user/ScreenUserPointsResetTask.java index abbc679f..deb86794 100644 --- a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/user/ScreenUserPointsResetTask.java +++ b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/user/ScreenUserPointsResetTask.java @@ -1,19 +1,32 @@ package com.elink.esua.epdc.task.user; +import com.elink.esua.epdc.feign.UserFeignClient; +import com.elink.esua.epdc.task.ITask; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + /** * 用户积分重置模块 * * @Author:liuchuang * @Date:2020/9/9 15:20 */ -public interface ScreenUserPointsResetTask { +@Component("screenUserPointsResetTask") +public class ScreenUserPointsResetTask implements ITask { + + private final Logger logger = LoggerFactory.getLogger(getClass()); + + @Autowired + private UserFeignClient userFeignClient; - /** - * 用户积分重置模块 - * @param param 入参 - * @return void - * @author syp - * @since 2020/9/9 15:21 - */ - void run(); + @Override + public void run(String param) { + // 方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|用户积分季度重置>定时任务开始"); + userFeignClient.resetPoints(); + logger.info("<" + methodName + "|用户积分季度重置>定时任务结束"); + } } 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 400a7a4e..9f0033ef 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 @@ -338,7 +338,7 @@ public class UserController { * @Param [dto] **/ @PostMapping(value = "updateUserPoints") - Result updateUserPoints(@RequestBody EpdcUserPointsFormDTO epdcUserPointsFormDTO){ + public Result updateUserPoints(@RequestBody EpdcUserPointsFormDTO epdcUserPointsFormDTO){ return userService.updateUserPoints(epdcUserPointsFormDTO); } @@ -350,7 +350,7 @@ public class UserController { * @Param [dto] **/ @PostMapping(value = "checkRepeatUser") - Result checkRepeatUser(@RequestBody CheckRepeatUserFormDTO checkRepeatUserFormDTO){ + public Result checkRepeatUser(@RequestBody CheckRepeatUserFormDTO checkRepeatUserFormDTO){ return userService.checkRepeatUser(checkRepeatUserFormDTO); } /** @@ -361,7 +361,7 @@ public class UserController { * @return com.elink.esua.epdc.commons.tools.utils.Result **/ @PostMapping(value = "combineVolunteerUser") - Result combineVolunteerUser(@RequestBody CombineVolunteerUserFormDTO formDTO){ + public Result combineVolunteerUser(@RequestBody CombineVolunteerUserFormDTO formDTO){ return userService.combineVolunteerUser(formDTO); } /** @@ -371,8 +371,8 @@ public class UserController { * @Param [] * @return com.elink.esua.epdc.commons.tools.utils.Result **/ - @GetMapping("resetPoints") - private Result resetPoints(){ + @PostMapping("resetPoints") + public Result resetPoints(){ return userService.resetPoints(); }