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