From 9dc69d9223e0c7a06d782140d3c175752d6778b3 Mon Sep 17 00:00:00 2001 From: wanggongfeng <1305282856@qq.com> Date: Thu, 10 Mar 2022 10:18:16 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=AF=E5=88=86=E4=BB=A3=E7=A0=81=E8=BF=81?= =?UTF-8?q?=E7=A7=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ApiUserPointsVerificationController.java | 66 ++++++++++++++ .../ApiWorkPointsVerificationController.java | 86 +++++++++++++++++++ .../controller/ApiWorkUserController.java | 17 ++++ .../esua/epdc/feign/AdminFeignClient.java | 11 +++ .../esua/epdc/feign/UserFeignClient.java | 22 +++++ .../fallback/AdminFeignClientFallback.java | 5 ++ .../fallback/UserFeignClientFallback.java | 10 +++ .../points/feign/PointsFeignClient.java | 39 ++++++++- .../points/feign/WorkPointsFeignClient.java | 51 +++++++++++ .../fallback/PointsFeignClientFallback.java | 20 ++++- .../WorkPointsFeignClientFallback.java | 35 ++++++++ .../UserPointsVerificationService.java | 83 ++++++++++++++++++ .../esua/epdc/service/WorkUserService.java | 12 +++ .../UserPointsVerificationServiceImpl.java | 75 ++++++++++++++++ .../service/impl/WorkUserServiceImpl.java | 14 +++ 15 files changed, 542 insertions(+), 4 deletions(-) create mode 100644 epdc-cloud-api/src/main/java/com/elink/esua/epdc/controller/ApiUserPointsVerificationController.java create mode 100644 epdc-cloud-api/src/main/java/com/elink/esua/epdc/controller/ApiWorkPointsVerificationController.java create mode 100644 epdc-cloud-api/src/main/java/com/elink/esua/epdc/modules/points/feign/WorkPointsFeignClient.java create mode 100644 epdc-cloud-api/src/main/java/com/elink/esua/epdc/modules/points/feign/fallback/WorkPointsFeignClientFallback.java create mode 100644 epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/UserPointsVerificationService.java create mode 100644 epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/impl/UserPointsVerificationServiceImpl.java diff --git a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/controller/ApiUserPointsVerificationController.java b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/controller/ApiUserPointsVerificationController.java new file mode 100644 index 0000000..cd4bbbe --- /dev/null +++ b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/controller/ApiUserPointsVerificationController.java @@ -0,0 +1,66 @@ +package com.elink.esua.epdc.controller; + +import com.elink.esua.epdc.common.token.dto.TokenDto; +import com.elink.esua.epdc.commons.tools.annotation.LoginUser; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; +import com.elink.esua.epdc.dto.epdc.result.UserPointsVerificationResultDTO; +import com.elink.esua.epdc.dto.form.PointsExchangeLogsFormDTO; +import com.elink.esua.epdc.pointcommons.tools.dto.PointsLogsResultDTO; +import com.elink.esua.epdc.service.UserPointsVerificationService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 用户积分核销模块 + * + * @author wgf + * @since 2022/3/8 10:47 + */ +@RestController +@RequestMapping("userpointsverification") +public class ApiUserPointsVerificationController { + + @Autowired + private UserPointsVerificationService userPointsVerificationService; + + /** + * 获取积分核销兑换码 + * + * @param userDetail 用户信息 + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2021/1/19 10:54 + */ + @GetMapping("getqrcode") + public Result getQRCode(@LoginUser TokenDto userDetail) { + if (null == userDetail || StringUtils.isEmpty(userDetail.getUserId())) { + return new Result().error("获取用户信息失败,请稍后重试"); + } + + return userPointsVerificationService.getQRCode(userDetail.getUserId()); + } + + /** + * 获取用户积分记录 + * + * @param userDetail 用户信息 + * @param formDto 表单 + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @author Liuchuang + * @since 2021/1/19 14:16 + */ + @GetMapping("getpointslogs") + public Result> getPointsLogs(@LoginUser TokenDto userDetail, PointsExchangeLogsFormDTO formDto) { + ValidatorUtils.validateEntity(formDto); + formDto.setUserId(userDetail.getUserId()); + + return userPointsVerificationService.listOfPointsLogs(formDto); + } + +} diff --git a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/controller/ApiWorkPointsVerificationController.java b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/controller/ApiWorkPointsVerificationController.java new file mode 100644 index 0000000..52d1a14 --- /dev/null +++ b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/controller/ApiWorkPointsVerificationController.java @@ -0,0 +1,86 @@ +package com.elink.esua.epdc.controller; + +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; +import com.elink.esua.epdc.dto.SysDeptDTO; +import com.elink.esua.epdc.dto.epdc.form.EpdcUserPointsVerificationCheckFormDTO; +import com.elink.esua.epdc.dto.epdc.result.EpdcUserPointsVerificationResultDTO; +import com.elink.esua.epdc.dto.form.EpdcWorkPointsVerificationFormDTO; +import com.elink.esua.epdc.dto.form.EpdcWorkVerificationLogsFormDTO; +import com.elink.esua.epdc.dto.result.EpdcVerificationLogsResultDTO; +import com.elink.esua.epdc.service.UserPointsVerificationService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 工作端用户积分核销模块 + * + * @author Liuchuang + * @since 2021/1/19 10:47 + */ +@RestController +@RequestMapping("work/pointsverification") +public class ApiWorkPointsVerificationController { + + @Autowired + private UserPointsVerificationService userPointsVerificationService; + + /** + * 扫描兑换码获取用户信息接口 + * + * @param formDto 码ID + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2021/1/19 15:03 + */ + @PostMapping("getuserinfobycode") + public Result getUserInfoByCode(@RequestBody EpdcUserPointsVerificationCheckFormDTO formDto) { + ValidatorUtils.validateEntity(formDto); + return userPointsVerificationService.getUserInfoByCode(formDto); + } + + /** + * 积分核销 + * + * @param formDto 表单 + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2021/1/19 15:52 + */ + @PostMapping("pointsverification") + public Result pointsVerification(@RequestBody EpdcWorkPointsVerificationFormDTO formDto) { + ValidatorUtils.validateEntity(formDto); + + return userPointsVerificationService.pointsVerification(formDto); + } + + /** + * 工作端-核销记录 + * + * @param formDto 表单 + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @author Liuchuang + * @since 2021/1/19 17:00 + */ + @GetMapping("verificationlogs") + public Result verificationLogs(EpdcWorkVerificationLogsFormDTO formDto) { + ValidatorUtils.validateEntity(formDto); + + return userPointsVerificationService.listOfVerificationLogs(formDto); + } + + /** + * 根据机构类型获取机构数据 + * + * @param typeKey 机构类型 + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @author Liuchuang + * @since 2021/1/20 9:58 + */ + @GetMapping("getdeptinfo/{typeKey}") + public Result> getDeptInfoByTypeKey(@PathVariable String typeKey) { + return userPointsVerificationService.listOfDeptInfoByTypeKey(typeKey); + } +} diff --git a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/controller/ApiWorkUserController.java b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/controller/ApiWorkUserController.java index 3fe1fb7..b77349f 100644 --- a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/controller/ApiWorkUserController.java +++ b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/controller/ApiWorkUserController.java @@ -11,7 +11,9 @@ import com.elink.esua.epdc.controller.v2.ApiWorkUserV2Controller; import com.elink.esua.epdc.dto.epdc.form.*; import com.elink.esua.epdc.dto.epdc.result.*; import com.elink.esua.epdc.dto.form.EpdcWorkAppUserMaTokenFormDTO; +import com.elink.esua.epdc.dto.form.EpdcWorkVerificationLogsFormDTO; import com.elink.esua.epdc.dto.form.WorkAppMenuStatisticsFormDTO; +import com.elink.esua.epdc.dto.result.EpdcVerificationLogsResultDTO; import com.elink.esua.epdc.dto.result.WorkAppMenuStatisticsResultDTO; import com.elink.esua.epdc.pointcommons.tools.annotation.RecordUserBehavior; import com.elink.esua.epdc.service.WorkUserService; @@ -33,6 +35,21 @@ public class ApiWorkUserController { @Autowired private WorkUserService workUserService; + /** + * 工作端-核销记录 + * + * @param formDto 表单 + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @author Liuchuang + * @since 2021/1/19 17:00 + */ + @GetMapping("verificationlogs") + public Result verificationLogs(EpdcWorkVerificationLogsFormDTO formDto) { + ValidatorUtils.validateEntity(formDto); + + return workUserService.listOfVerificationLogs(formDto); + } + /** * 工作端-获取token * diff --git a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java index 12e4267..1d836a3 100644 --- a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java +++ b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java @@ -228,4 +228,15 @@ public interface AdminFeignClient { */ @GetMapping("sys/gridmembercategory/getCommunityDeptList") Result getCommunityDeptList(); + + /** + * 根据机构类型获取机构数据 + * + * @param typeKey 机构类型 + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @author Liuchuang + * @since 2021/1/20 9:58 + */ + @GetMapping("sys/dept/getdeptinfo/{typeKey}") + Result> getDeptInfoByTypeKey(@PathVariable("typeKey") String typeKey); } diff --git a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java index cae2bd2..538a728 100644 --- a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java +++ b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java @@ -542,5 +542,27 @@ public interface UserFeignClient { */ @PostMapping(value = "app-user/user/updateBehavior4Points", consumes = MediaType.APPLICATION_JSON_VALUE) Result updateBehavior4Points(PointsUpdateFormDTO formDto); + + /** + * 获取积分核销兑换码 + * + * @param userId 用户ID + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2021/1/19 15:08 + */ + @GetMapping(value = "app-user/epdc-app/verificationqrcode/getqrcode/{userId}", consumes = MediaType.APPLICATION_JSON_VALUE) + Result getQRCode(@PathVariable("userId") String userId); + + /** + * 扫描兑换码获取用户信息接口 + * + * @param formDto 码ID + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2021/1/19 15:08 + */ + @PostMapping(value = "app-user/epdc-app/verificationqrcode/getuserinfobycode", consumes = MediaType.APPLICATION_JSON_VALUE) + Result getUserInfoByCode(EpdcUserPointsVerificationCheckFormDTO formDto); } diff --git a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java index 5b77e03..ceec1ae 100644 --- a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java +++ b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java @@ -117,4 +117,9 @@ public class AdminFeignClientFallback implements AdminFeignClient { public Result getCommunityDeptList() { return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "getCommunityDeptList"); } + + @Override + public Result> getDeptInfoByTypeKey(String typeKey) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "getDeptInfoByTypeKey", typeKey); + } } diff --git a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java index 7c44acf..9089036 100644 --- a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java +++ b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java @@ -263,4 +263,14 @@ public class UserFeignClientFallback implements UserFeignClient { public Result updateBehavior4Points(PointsUpdateFormDTO formDto) { return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "updateBehavior4Points", formDto); } + + @Override + public Result getQRCode(String userId) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "getQRCode", userId); + } + + @Override + public Result getUserInfoByCode(EpdcUserPointsVerificationCheckFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "getUserInfoByCode", formDto); + } } diff --git a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/modules/points/feign/PointsFeignClient.java b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/modules/points/feign/PointsFeignClient.java index dac0928..4119d75 100644 --- a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/modules/points/feign/PointsFeignClient.java +++ b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/modules/points/feign/PointsFeignClient.java @@ -2,16 +2,18 @@ package com.elink.esua.epdc.modules.points.feign; import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; import com.elink.esua.epdc.commons.tools.utils.Result; -import com.elink.esua.epdc.dto.form.EpdcAppPointsRankingFormDTO; -import com.elink.esua.epdc.dto.form.EpdcAppPointsRecordFormDTO; +import com.elink.esua.epdc.dto.form.*; import com.elink.esua.epdc.dto.result.EpdcAppPointsRankingResultDTO; import com.elink.esua.epdc.dto.result.EpdcAppPointsRecordResultDTO; +import com.elink.esua.epdc.dto.result.EpdcVerificationLogsResultDTO; import com.elink.esua.epdc.modules.points.feign.fallback.PointsFeignClientFallback; +import com.elink.esua.epdc.pointcommons.tools.dto.PointsLogsResultDTO; import com.elink.esua.epdc.pointcommons.tools.dto.PointsRuleResultDTO; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; import java.util.List; @@ -60,4 +62,37 @@ public interface PointsFeignClient { **/ @GetMapping(value = "points/epdc-app/points/getPointsRuleByBehaviorCode/{behaviorCode}", consumes = MediaType.APPLICATION_JSON_VALUE) Result getPointsRuleByBehaviorCode(@PathVariable("behaviorCode") String behaviorCode); + + /** + * 获取用户积分记录 + * + * @param formDto 表单 + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @author Liuchuang + * @since 2021/1/19 14:22 + */ + @GetMapping(value = "points/epdc-app/points/getpointslogs/list", consumes = MediaType.APPLICATION_JSON_VALUE) + Result> getPointsLogs(PointsExchangeLogsFormDTO formDto); + +// /** +// * 积分核销 +// * +// * @param formDto 表单 +// * @return com.elink.esua.epdc.commons.tools.utils.Result +// * @author Liuchuang +// * @since 2021/1/19 15:56 +// */ +// @PostMapping(value = "points/epdc-app/points/pointsVerification", consumes = MediaType.APPLICATION_JSON_VALUE) +// Result pointsVerification(EpdcWorkPointsVerificationFormDTO formDto); + +// /** +// * 工作端-核销记录 +// * +// * @param formDto 表单 +// * @return com.elink.esua.epdc.commons.tools.utils.Result +// * @author Liuchuang +// * @since 2021/1/19 17:43 +// */ +// @GetMapping(value = "points/epdc-app/points/verificationLogs/list", consumes = MediaType.APPLICATION_JSON_VALUE) +// Result verificationLogs(EpdcWorkVerificationLogsFormDTO formDto); } diff --git a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/modules/points/feign/WorkPointsFeignClient.java b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/modules/points/feign/WorkPointsFeignClient.java new file mode 100644 index 0000000..f5c1a7e --- /dev/null +++ b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/modules/points/feign/WorkPointsFeignClient.java @@ -0,0 +1,51 @@ +package com.elink.esua.epdc.modules.points.feign; + +import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.config.FeignRequestInterceptor; +import com.elink.esua.epdc.dto.form.*; +import com.elink.esua.epdc.dto.result.EpdcAppPointsRankingResultDTO; +import com.elink.esua.epdc.dto.result.EpdcAppPointsRecordResultDTO; +import com.elink.esua.epdc.dto.result.EpdcVerificationLogsResultDTO; +import com.elink.esua.epdc.modules.points.feign.fallback.PointsFeignClientFallback; +import com.elink.esua.epdc.modules.points.feign.fallback.WorkPointsFeignClientFallback; +import com.elink.esua.epdc.pointcommons.tools.dto.PointsLogsResultDTO; +import com.elink.esua.epdc.pointcommons.tools.dto.PointsRuleResultDTO; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; + +import java.util.List; + +/** + * 积分管理模块 + * @Author zhangyong + * @Date 2020-04-29 + */ +@FeignClient(name = ServiceConstant.EPDC_POINTS_SERVER, fallback = WorkPointsFeignClientFallback.class, configuration = FeignRequestInterceptor.class) +public interface WorkPointsFeignClient { + + /** + * 积分核销 + * + * @param formDto 表单 + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2021/1/19 15:56 + */ + @PostMapping(value = "points/epdc-app/points/pointsVerification", consumes = MediaType.APPLICATION_JSON_VALUE) + Result pointsVerification(EpdcWorkPointsVerificationFormDTO formDto); + + /** + * 工作端-核销记录 + * + * @param formDto 表单 + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2021/1/19 17:43 + */ + @GetMapping(value = "points/epdc-app/points/verificationLogs/list", consumes = MediaType.APPLICATION_JSON_VALUE) + Result verificationLogs(EpdcWorkVerificationLogsFormDTO formDto); +} diff --git a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/modules/points/feign/fallback/PointsFeignClientFallback.java b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/modules/points/feign/fallback/PointsFeignClientFallback.java index 3f451f0..536540a 100644 --- a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/modules/points/feign/fallback/PointsFeignClientFallback.java +++ b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/modules/points/feign/fallback/PointsFeignClientFallback.java @@ -3,11 +3,12 @@ package com.elink.esua.epdc.modules.points.feign.fallback; import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; import com.elink.esua.epdc.commons.tools.utils.ModuleUtils; import com.elink.esua.epdc.commons.tools.utils.Result; -import com.elink.esua.epdc.dto.form.EpdcAppPointsRankingFormDTO; -import com.elink.esua.epdc.dto.form.EpdcAppPointsRecordFormDTO; +import com.elink.esua.epdc.dto.form.*; import com.elink.esua.epdc.dto.result.EpdcAppPointsRankingResultDTO; import com.elink.esua.epdc.dto.result.EpdcAppPointsRecordResultDTO; +import com.elink.esua.epdc.dto.result.EpdcVerificationLogsResultDTO; import com.elink.esua.epdc.modules.points.feign.PointsFeignClient; +import com.elink.esua.epdc.pointcommons.tools.dto.PointsLogsResultDTO; import com.elink.esua.epdc.pointcommons.tools.dto.PointsRuleResultDTO; import org.springframework.stereotype.Component; @@ -35,4 +36,19 @@ public class PointsFeignClientFallback implements PointsFeignClient { public Result getPointsRuleByBehaviorCode(String behaviorCode) { return ModuleUtils.feignConError(ServiceConstant.EPDC_POINTS_SERVER, "getPointsRuleByBehaviorCode", behaviorCode); } + + @Override + public Result> getPointsLogs(PointsExchangeLogsFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_POINTS_SERVER, "getPointsLogs", formDto); + } + +// @Override +// public Result pointsVerification(EpdcWorkPointsVerificationFormDTO formDto) { +// return ModuleUtils.feignConError(ServiceConstant.EPDC_POINTS_SERVER, "pointsVerification", formDto); +// } +// +// @Override +// public Result verificationLogs(EpdcWorkVerificationLogsFormDTO formDto) { +// return ModuleUtils.feignConError(ServiceConstant.EPDC_POINTS_SERVER, "verificationLogs", formDto); +// } } diff --git a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/modules/points/feign/fallback/WorkPointsFeignClientFallback.java b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/modules/points/feign/fallback/WorkPointsFeignClientFallback.java new file mode 100644 index 0000000..44a26e9 --- /dev/null +++ b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/modules/points/feign/fallback/WorkPointsFeignClientFallback.java @@ -0,0 +1,35 @@ +package com.elink.esua.epdc.modules.points.feign.fallback; + +import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; +import com.elink.esua.epdc.commons.tools.utils.ModuleUtils; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.form.*; +import com.elink.esua.epdc.dto.result.EpdcAppPointsRankingResultDTO; +import com.elink.esua.epdc.dto.result.EpdcAppPointsRecordResultDTO; +import com.elink.esua.epdc.dto.result.EpdcVerificationLogsResultDTO; +import com.elink.esua.epdc.modules.points.feign.PointsFeignClient; +import com.elink.esua.epdc.modules.points.feign.WorkPointsFeignClient; +import com.elink.esua.epdc.pointcommons.tools.dto.PointsLogsResultDTO; +import com.elink.esua.epdc.pointcommons.tools.dto.PointsRuleResultDTO; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * 积分管理模块 + * @Author zhangyong + * @Date 2020-04-29 + */ +@Component +public class WorkPointsFeignClientFallback implements WorkPointsFeignClient { + + @Override + public Result pointsVerification(EpdcWorkPointsVerificationFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_POINTS_SERVER, "pointsVerification", formDto); + } + + @Override + public Result verificationLogs(EpdcWorkVerificationLogsFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_POINTS_SERVER, "verificationLogs", formDto); + } +} diff --git a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/UserPointsVerificationService.java b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/UserPointsVerificationService.java new file mode 100644 index 0000000..3ee04bc --- /dev/null +++ b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/UserPointsVerificationService.java @@ -0,0 +1,83 @@ +package com.elink.esua.epdc.service; + +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.SysDeptDTO; +import com.elink.esua.epdc.dto.epdc.form.EpdcUserPointsVerificationCheckFormDTO; +import com.elink.esua.epdc.dto.epdc.result.EpdcUserPointsVerificationResultDTO; +import com.elink.esua.epdc.dto.epdc.result.UserPointsVerificationResultDTO; +import com.elink.esua.epdc.dto.form.EpdcWorkPointsVerificationFormDTO; +import com.elink.esua.epdc.dto.form.EpdcWorkVerificationLogsFormDTO; +import com.elink.esua.epdc.dto.form.PointsExchangeLogsFormDTO; +import com.elink.esua.epdc.dto.result.EpdcVerificationLogsResultDTO; +import com.elink.esua.epdc.pointcommons.tools.dto.PointsLogsResultDTO; + +import java.util.List; + +/** + * 用户积分核销 + * + * @author Liuchuang + * @since 2021/1/19 10:48 + */ +public interface UserPointsVerificationService { + + /** + * 获取积分核销兑换码 + * + * @param userId 用户ID + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2021/1/19 10:57 + */ + Result getQRCode(String userId); + + /** + * 获取用户积分记录 + * + * @param formDto 表单 + * @return java.util.List + * @author Liuchuang + * @since 2021/1/19 14:17 + */ + Result> listOfPointsLogs(PointsExchangeLogsFormDTO formDto); + + /** + * 扫描兑换码获取用户信息接口 + * + * @param formDto 码ID + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2021/1/19 15:04 + */ + Result getUserInfoByCode(EpdcUserPointsVerificationCheckFormDTO formDto); + + /** + * 积分核销 + * + * @param formDto 表单 + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2021/1/19 15:53 + */ + Result pointsVerification(EpdcWorkPointsVerificationFormDTO formDto); + + /** + * 工作端-核销记录 + * + * @param formDto 表单 + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2021/1/19 17:41 + */ + Result listOfVerificationLogs(EpdcWorkVerificationLogsFormDTO formDto); + + /** + * 根据机构类型获取机构数据 + * + * @param typeKey 机构类型 + * @return java.util.List + * @author Liuchuang + * @since 2021/1/20 9:59 + */ + Result> listOfDeptInfoByTypeKey(String typeKey); +} diff --git a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/WorkUserService.java b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/WorkUserService.java index e636bbb..06c8f7b 100644 --- a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/WorkUserService.java +++ b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/WorkUserService.java @@ -6,7 +6,9 @@ import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.epdc.form.*; import com.elink.esua.epdc.dto.epdc.result.*; import com.elink.esua.epdc.dto.form.EpdcWorkAppUserMaTokenFormDTO; +import com.elink.esua.epdc.dto.form.EpdcWorkVerificationLogsFormDTO; import com.elink.esua.epdc.dto.form.WorkAppMenuStatisticsFormDTO; +import com.elink.esua.epdc.dto.result.EpdcVerificationLogsResultDTO; import com.elink.esua.epdc.dto.result.WorkAppMenuStatisticsResultDTO; import java.util.List; @@ -19,6 +21,16 @@ import java.util.List; */ public interface WorkUserService { + /** + * 工作端-核销记录 + * + * @param formDto 表单 + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author Liuchuang + * @since 2021/1/19 17:41 + */ + Result listOfVerificationLogs(EpdcWorkVerificationLogsFormDTO formDto); + /** * 工作端-获取token * diff --git a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/impl/UserPointsVerificationServiceImpl.java b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/impl/UserPointsVerificationServiceImpl.java new file mode 100644 index 0000000..f49482f --- /dev/null +++ b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/impl/UserPointsVerificationServiceImpl.java @@ -0,0 +1,75 @@ +package com.elink.esua.epdc.service.impl; + +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.SysDeptDTO; +import com.elink.esua.epdc.dto.epdc.form.EpdcUserPointsVerificationCheckFormDTO; +import com.elink.esua.epdc.dto.epdc.result.EpdcUserPointsVerificationResultDTO; +import com.elink.esua.epdc.dto.epdc.result.UserPointsVerificationResultDTO; +import com.elink.esua.epdc.dto.form.EpdcWorkPointsVerificationFormDTO; +import com.elink.esua.epdc.dto.form.EpdcWorkVerificationLogsFormDTO; +import com.elink.esua.epdc.dto.form.PointsExchangeLogsFormDTO; +import com.elink.esua.epdc.dto.result.EpdcVerificationLogsResultDTO; +import com.elink.esua.epdc.feign.AdminFeignClient; +import com.elink.esua.epdc.feign.UserFeignClient; +import com.elink.esua.epdc.modules.points.feign.PointsFeignClient; +import com.elink.esua.epdc.modules.points.feign.WorkPointsFeignClient; +import com.elink.esua.epdc.pointcommons.tools.dto.PointsLogsResultDTO; +import com.elink.esua.epdc.service.UserPointsVerificationService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 用户积分核销 + * + * @author Liuchuang + * @since 2021/1/19 10:49 + */ +@Service +public class UserPointsVerificationServiceImpl implements UserPointsVerificationService { + + @Autowired + private UserFeignClient userFeignClient; + + @Autowired + private PointsFeignClient pointsFeignClient; + + @Autowired + private AdminFeignClient adminFeignClient; + + @Autowired + private WorkPointsFeignClient workPointsFeignClient; + + @Override + public Result getQRCode(String userId) { + return userFeignClient.getQRCode(userId); + } + + @Override + public Result> listOfPointsLogs(PointsExchangeLogsFormDTO formDto) { + return pointsFeignClient.getPointsLogs(formDto); + } + + @Override + public Result getUserInfoByCode(EpdcUserPointsVerificationCheckFormDTO formDto) { + return userFeignClient.getUserInfoByCode(formDto); + } + + @Override + public Result pointsVerification(EpdcWorkPointsVerificationFormDTO formDto) { + return workPointsFeignClient.pointsVerification(formDto); + } + + @Override + public Result listOfVerificationLogs(EpdcWorkVerificationLogsFormDTO formDto) { + return workPointsFeignClient.verificationLogs(formDto); + } + + @Override + public Result> listOfDeptInfoByTypeKey(String typeKey) { + return adminFeignClient.getDeptInfoByTypeKey(typeKey); + } + + +} diff --git a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/impl/WorkUserServiceImpl.java b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/impl/WorkUserServiceImpl.java index 92fdcab..a0137b8 100644 --- a/epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/impl/WorkUserServiceImpl.java +++ b/epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/impl/WorkUserServiceImpl.java @@ -16,20 +16,25 @@ import com.elink.esua.epdc.dto.SysUserDTO; import com.elink.esua.epdc.dto.epdc.form.*; import com.elink.esua.epdc.dto.epdc.result.*; import com.elink.esua.epdc.dto.form.EpdcWorkAppUserMaTokenFormDTO; +import com.elink.esua.epdc.dto.form.EpdcWorkVerificationLogsFormDTO; import com.elink.esua.epdc.dto.form.WorkAppMenuStatisticsFormDTO; import com.elink.esua.epdc.dto.issue.form.IssueStateStatisticsFormDTO; import com.elink.esua.epdc.dto.issue.result.IssueStateStatisticsResultDTO; import com.elink.esua.epdc.dto.item.form.ItemStatisticsFormDTO; import com.elink.esua.epdc.dto.item.result.ItemStatisticsResultDTO; +import com.elink.esua.epdc.dto.result.EpdcVerificationLogsResultDTO; import com.elink.esua.epdc.dto.result.WorkAppMenuStatisticsResultDTO; import com.elink.esua.epdc.enums.AppMenuCategoryEnum; import com.elink.esua.epdc.feign.AdminFeignClient; import com.elink.esua.epdc.feign.ResourceFeignClient; import com.elink.esua.epdc.feign.UserFeignClient; +import com.elink.esua.epdc.modules.points.feign.PointsFeignClient; +import com.elink.esua.epdc.modules.points.feign.WorkPointsFeignClient; import com.elink.esua.epdc.service.WorkIssueService; import com.elink.esua.epdc.service.WorkItemService; import com.elink.esua.epdc.service.WorkUserService; import com.elink.esua.epdc.utils.WxMaServiceUtils; +import lombok.extern.slf4j.Slf4j; import me.chanjar.weixin.common.error.WxErrorException; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -45,6 +50,7 @@ import java.util.List; * @date 2019/11/18 10:49 */ @Service +@Slf4j public class WorkUserServiceImpl implements WorkUserService { @Autowired private UserFeignClient userFeignClient; @@ -64,6 +70,14 @@ public class WorkUserServiceImpl implements WorkUserService { @Autowired private WorkItemService workItemService; + @Autowired + private WorkPointsFeignClient workPointsFeignClient; + @Override + public Result listOfVerificationLogs(EpdcWorkVerificationLogsFormDTO formDto) { + log.info("+++++++++++++++++++++SecurityUser.getDeptId():"+ SecurityUser.getDeptId()); + return workPointsFeignClient.verificationLogs(formDto); + } + @Override public Result getMaToken(EpdcWorkAppUserMaTokenFormDTO formDto) { // 获取openId