From c8d4b5c3a5e42cd1896a756a864f7fd2ce151d72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E9=A3=9E?= Date: Sun, 22 Dec 2019 22:20:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tools/constant/ServiceConstant.java | 5 + .../controller/ApiAppActInfoController.java | 90 +++++ .../esua/epdc/feign/ActInfoFeignClient.java | 73 ++++ .../fallback/ActInfoFeignClientFallback.java | 54 +++ .../esua/epdc/service/ActInfoService.java | 52 +++ .../epdc/service/impl/ActInfoServiceImpl.java | 58 ++++ .../epdc/activity/form/ActInfoAppFormDTO.java | 66 ++++ .../activity/result/ActInfoAppResultDTO.java | 101 ++++++ .../result/ActInfoDetailAppResultDTO.java | 219 ++++++++++++ .../epdc-heart/epdc-heart-server/pom.xml | 6 + .../controller/ActBannerController.java | 9 + .../controller/ActUserClockLogController.java | 3 +- .../controller/AppActInfoController.java | 69 +++- .../epdc/modules/activity/dao/ActInfoDao.java | 33 ++ .../activity/dao/ActUserClockLogDao.java | 1 - .../activity/service/ActInfoService.java | 46 +++ .../service/ActUserClockLogService.java | 2 +- .../service/impl/ActInfoServiceImpl.java | 66 ++++ .../impl/ActUserClockLogServiceImpl.java | 80 +++-- .../impl/ActUserRelationServiceImpl.java | 1 + .../epdc/modules/feign/PointsFeignClient.java | 25 ++ ...gnClient.java => UserInfoFeignClient.java} | 16 +- .../fallback/PointsFeignClientFallback.java | 23 ++ .../fallback/UserInfoFeignClientFallback.java | 21 ++ .../resources/mapper/activity/ActInfoDao.xml | 323 +++++++++++++++++- 25 files changed, 1398 insertions(+), 44 deletions(-) create mode 100644 esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAppActInfoController.java create mode 100644 esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/ActInfoFeignClient.java create mode 100644 esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/ActInfoFeignClientFallback.java create mode 100644 esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/ActInfoService.java create mode 100644 esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/ActInfoServiceImpl.java create mode 100644 esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/form/ActInfoAppFormDTO.java create mode 100644 esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/result/ActInfoAppResultDTO.java create mode 100644 esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/result/ActInfoDetailAppResultDTO.java create mode 100644 esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/feign/PointsFeignClient.java rename esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/feign/{fallback/PointsFeignClient.java => UserInfoFeignClient.java} (69%) create mode 100644 esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/PointsFeignClientFallback.java create mode 100644 esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/UserInfoFeignClientFallback.java diff --git a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/ServiceConstant.java b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/ServiceConstant.java index 7103332f8..83bb1167f 100644 --- a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/ServiceConstant.java +++ b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/ServiceConstant.java @@ -79,4 +79,9 @@ public interface ServiceConstant { * 绩效考核模块 */ String EPDC_KPI_SERVER = "epdc-kpi-server"; + + /** + * 积分模块 + */ + String EPDC_POINTS_SERVER = "epdc-points-server"; } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAppActInfoController.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAppActInfoController.java new file mode 100644 index 000000000..b98ebd616 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAppActInfoController.java @@ -0,0 +1,90 @@ +package com.elink.esua.epdc.controller; + +import com.elink.esua.epdc.activity.ActBannerDTO; +import com.elink.esua.epdc.activity.form.ActInfoAppFormDTO; +import com.elink.esua.epdc.activity.result.ActInfoAppResultDTO; +import com.elink.esua.epdc.activity.result.ActInfoDetailAppResultDTO; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.item.result.*; +import com.elink.esua.epdc.service.ActInfoService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 移动端接口-项目模块 + * @Author LPF + * @Date 2019/11/18 13:32 + */ +@RestController +@RequestMapping("heart/act") +public class ApiAppActInfoController { + + @Autowired + private ActInfoService actInfoService; + + + /** + * 活动列表 + * @Params: [ formDto] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result> + * @Author: lipengfei + * @Date: 2019/11/19 16:34 + */ + @GetMapping("list") + public Result> listItems(ActInfoAppFormDTO formDto) { + return actInfoService.listItems(formDto); + } + /** + * 活动列表 + * @Params: [ formDto] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result> + * @Author: lipengfei + * @Date: 2019/11/19 16:34 + */ + @GetMapping("signupList") + public Result> signupListItems(ActInfoAppFormDTO formDto) { + return actInfoService.signupListItems(formDto); + } + + /** + * 项目详情 + * @Params: [id] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result + * @Author: lipengfei + * @Date: 2019/11/19 16:34 + */ + @GetMapping("detail/{id}") + public Result detail(@PathVariable String id) { + return actInfoService.getDetail(id); + } + + /** + * 项目详情 + * @Params: [id] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result + * @Author: lipengfei + * @Date: 2019/11/19 16:34 + */ + @GetMapping("rejectDetail/{id}") + public Result rejectDetail(@PathVariable String id) { + return actInfoService.getRejectDetail(id); + } + + /** + * 项目详情 + * @Params: [id] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result + * @Author: lipengfei + * @Date: 2019/11/19 16:34 + */ + @GetMapping("cancelDetail/{id}") + public Result cancelDetail(@PathVariable String id) { + return actInfoService.getCancelDetail(id); + } + @GetMapping("banner/list") + public Result> bannerList() { + return actInfoService.getBannerList(); + } +} diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/ActInfoFeignClient.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/ActInfoFeignClient.java new file mode 100644 index 000000000..8718f518d --- /dev/null +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/ActInfoFeignClient.java @@ -0,0 +1,73 @@ +package com.elink.esua.epdc.feign; + +import com.elink.esua.epdc.activity.ActBannerDTO; +import com.elink.esua.epdc.activity.form.ActInfoAppFormDTO; +import com.elink.esua.epdc.activity.result.ActInfoAppResultDTO; +import com.elink.esua.epdc.activity.result.ActInfoDetailAppResultDTO; +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.item.ItemEvaluateDeptDTO; +import com.elink.esua.epdc.dto.item.form.*; +import com.elink.esua.epdc.dto.item.result.*; +import com.elink.esua.epdc.feign.fallback.ActInfoFeignClientFallback; +import com.elink.esua.epdc.feign.fallback.WorkItemFeignClientFallback; +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; + +/** + * 项目模块调用-移动app端 + * @Author LPF + * @Date 2019/11/18 16:39 + */ +@FeignClient(name = ServiceConstant.EPDC_HEART_SERVER, fallback = ActInfoFeignClientFallback.class, configuration = FeignRequestInterceptor.class) +public interface ActInfoFeignClient { + + + + /** + * 活动列表 + * @Params: [formDto] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result> + * @Author: lipengfei + * @Date: 2019/11/19 16:42 + */ + @GetMapping(value = "heart/appactinfo/list", consumes = MediaType.APPLICATION_JSON_VALUE) + Result> listItems(ActInfoAppFormDTO formDto); + + /** + * 活动列表(已报名) + * @Params: [formDto] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result> + * @Author: lipengfei + * @Date: 2019/11/19 16:42 + */ + @GetMapping(value = "heart/appactinfo/signupList", consumes = MediaType.APPLICATION_JSON_VALUE) + Result> signupListItems(ActInfoAppFormDTO formDto); + /** + * 项目详情 + * @Params: [formDto] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result> + * @Author: lipengfei + * @Date: 2019/11/19 16:42 + */ + @GetMapping(value = "heart/appactinfo/detail/{id}", consumes = MediaType.APPLICATION_JSON_VALUE) + Result getDetail(@PathVariable String id); + + @GetMapping(value = "heart/appactinfo/rejectdetail/{id}", consumes = MediaType.APPLICATION_JSON_VALUE) + Result getRejectDetail(@PathVariable String id); + + @GetMapping(value = "heart/appactinfo/canceldetail/{id}", consumes = MediaType.APPLICATION_JSON_VALUE) + Result getCancelDetail(@PathVariable String id); + + @GetMapping(value = "heart/actbanner/bannerlist", consumes = MediaType.APPLICATION_JSON_VALUE) + Result> getBannerList(); + + + +} diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/ActInfoFeignClientFallback.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/ActInfoFeignClientFallback.java new file mode 100644 index 000000000..4eee372f9 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/ActInfoFeignClientFallback.java @@ -0,0 +1,54 @@ +package com.elink.esua.epdc.feign.fallback; + +import com.elink.esua.epdc.activity.ActBannerDTO; +import com.elink.esua.epdc.activity.form.ActInfoAppFormDTO; +import com.elink.esua.epdc.activity.result.ActInfoAppResultDTO; +import com.elink.esua.epdc.activity.result.ActInfoDetailAppResultDTO; +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.item.ItemEvaluateDeptDTO; +import com.elink.esua.epdc.dto.item.form.*; +import com.elink.esua.epdc.dto.item.result.*; +import com.elink.esua.epdc.feign.ActInfoFeignClient; +import com.elink.esua.epdc.feign.WorkItemFeignClient; +import org.springframework.stereotype.Component; +import org.springframework.web.bind.annotation.PathVariable; + +import java.util.List; + +/** + * @Author LPF + * @Date 2019/11/18 16:39 + */ +@Component +public class ActInfoFeignClientFallback implements ActInfoFeignClient { + + + @Override + public Result> listItems(ActInfoAppFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_HEART_SERVER, "listItems", formDto); + } + @Override + public Result> signupListItems(ActInfoAppFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_HEART_SERVER, "signupListItems", formDto); + } + @Override + public Result getDetail(@PathVariable String id) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_HEART_SERVER, "getDetail", id); + } + @Override + public Result getRejectDetail(@PathVariable String id) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_HEART_SERVER, "getRejectDetail", id); + } + @Override + public Result getCancelDetail(@PathVariable String id) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_HEART_SERVER, "getCancelDetail", id); + } + @Override + public Result> getBannerList() { + return ModuleUtils.feignConError(ServiceConstant.EPDC_HEART_SERVER, "getBannerList"); + } + + +} diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/ActInfoService.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/ActInfoService.java new file mode 100644 index 000000000..53add1a7a --- /dev/null +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/ActInfoService.java @@ -0,0 +1,52 @@ +package com.elink.esua.epdc.service; + +import com.elink.esua.epdc.activity.ActBannerDTO; +import com.elink.esua.epdc.activity.form.ActInfoAppFormDTO; +import com.elink.esua.epdc.activity.result.ActInfoAppResultDTO; +import com.elink.esua.epdc.activity.result.ActInfoDetailAppResultDTO; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.item.result.*; + +import java.util.List; + +/** + * 项目模块-移动App端 + * @Author LPF + * @Date 2019/11/18 13:34 + */ +public interface ActInfoService { + + + /** + * 活动列表 + * @Params: [userDetail, formDto] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result> + * @Author: lipengfei + * @Date: 2019/11/19 16:37 + */ + Result> listItems(ActInfoAppFormDTO formDto); + /** + * 活动列表(已报名) + * @Params: [userDetail, formDto] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result> + * @Author: lipengfei + * @Date: 2019/11/19 16:37 + */ + Result> signupListItems(ActInfoAppFormDTO formDto); + /** + * 项目详情 + * @Params: [userDetail, itemId] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result + * @Author: lipengfei + * @Date: 2019/11/19 16:34 + */ + Result getDetail(String itemId); + + Result getRejectDetail(String itemId); + + Result getCancelDetail(String itemId); + + Result> getBannerList(); + + +} diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/ActInfoServiceImpl.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/ActInfoServiceImpl.java new file mode 100644 index 000000000..7380b37df --- /dev/null +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/ActInfoServiceImpl.java @@ -0,0 +1,58 @@ +package com.elink.esua.epdc.service.impl; + +import com.elink.esua.epdc.activity.ActBannerDTO; +import com.elink.esua.epdc.activity.form.ActInfoAppFormDTO; +import com.elink.esua.epdc.activity.result.ActInfoAppResultDTO; +import com.elink.esua.epdc.activity.result.ActInfoDetailAppResultDTO; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.item.ItemEvaluateDeptDTO; +import com.elink.esua.epdc.dto.item.form.*; +import com.elink.esua.epdc.dto.item.result.*; +import com.elink.esua.epdc.feign.ActInfoFeignClient; +import com.elink.esua.epdc.feign.WorkItemFeignClient; +import com.elink.esua.epdc.service.ActInfoService; +import com.elink.esua.epdc.service.WorkItemService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 项目模块-移动app端 + * @Author LPF + * @Date 2019/11/18 16:34 + */ +@Service +public class ActInfoServiceImpl implements ActInfoService { + + @Autowired + private ActInfoFeignClient actInfoFeignClient; + + + + @Override + public Result> listItems(ActInfoAppFormDTO formDto) { + return actInfoFeignClient.listItems(formDto); + } + @Override + public Result> signupListItems(ActInfoAppFormDTO formDto) { + return actInfoFeignClient.signupListItems(formDto); + } + + @Override + public Result getDetail(String itemId) { + return actInfoFeignClient.getDetail(itemId); + } + @Override + public Result getRejectDetail(String itemId) { + return actInfoFeignClient.getRejectDetail(itemId); + } + @Override + public Result getCancelDetail(String itemId) { + return actInfoFeignClient.getCancelDetail(itemId); + } + @Override + public Result> getBannerList() { + return actInfoFeignClient.getBannerList(); + } +} diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/form/ActInfoAppFormDTO.java b/esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/form/ActInfoAppFormDTO.java new file mode 100644 index 000000000..ce80d70c6 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/form/ActInfoAppFormDTO.java @@ -0,0 +1,66 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.activity.form; + +import lombok.Data; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * 活动信息表 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-12-11 + */ +@Data +public class ActInfoAppFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 页码,从1开始 + */ + @Min(value = 1, message = "页码必须大于0") + private int pageIndex; + + private Long userId; + + private String id; + /** + * 页容量,默认20页 + */ + @Min(value = 1, message = "每页条数必须大于必须大于0") + private int pageSize = 20; + /** + * 第一页查询发起时的时间 + */ + @NotBlank(message = "时间戳不能为空") + private String timestamp; + + /** + * 活动列表类型 + */ + @NotBlank(message = "类型不能为空") + private String actType; + + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/result/ActInfoAppResultDTO.java b/esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/result/ActInfoAppResultDTO.java new file mode 100644 index 000000000..0693d9933 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/result/ActInfoAppResultDTO.java @@ -0,0 +1,101 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.activity.result; + +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * 活动信息表 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-12-11 + */ +@Data +public class ActInfoAppResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private String id; + + /** + * 标题 + */ + private String title; + + + + /** + * 活动开始时间 + */ + private Date actStartTime; + + /** + * 活动结束时间 + */ + private Date actEndTime; + + /** + * 活动地点 + */ + private String actAddress; + + + /** + * 活动名额 + */ + private Integer actQuota; + + /** + * 已报名人数 + */ + private Integer signupNum; + + /** + * 活动打卡人数 + */ + private Integer clockNum; + + /** + * 活动当前状态(0-报名中,1-已报满,2-未开始,3-进行中,4-已结束) + */ + private String actCurrentState; + + /** + * 用户报名状态(0-未报名,1已报名) + */ + private String signupFlag; + + /** + * 用户打卡状态(0-未打卡,1-已打卡) + */ + private String clockFlag; + /** + * 活动用户关联表ID + */ + private String actUserId; + + + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/result/ActInfoDetailAppResultDTO.java b/esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/result/ActInfoDetailAppResultDTO.java new file mode 100644 index 000000000..b8ab56bb9 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/result/ActInfoDetailAppResultDTO.java @@ -0,0 +1,219 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.activity.result; + +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * 活动信息表 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-12-11 + */ +@Data +public class ActInfoDetailAppResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private String id; + + /** + * 标题 + */ + private String title; + + /** + * 活动头图 + */ + private String headPic; + + /** + * 报名开始时间 + */ + private Date signupStartTime; + /** + *活动报名默认状态 + */ + private String actUserDefaultState; + + /** + * 报名截止时间 + */ + private Date signupEndTime; + + /** + * 活动开始时间 + */ + private Date actStartTime; + + /** + * 活动结束时间 + */ + private Date actEndTime; + + /** + * 打卡开始时间 + */ + private Date signinStartTime; + + /** + * 打卡截止时间 + */ + private Date signinEndTime; + + + /** + * 活动地点 + */ + private String actAddress; + + /** + * 活动位置经度 + */ + private BigDecimal actLongitude; + + /** + * 活动位置纬度 + */ + private BigDecimal actLatitude; + + /** + * 活动签到打卡地点 + */ + private String signinAddress; + + /** + * 活动签到打卡位置经度 + */ + private BigDecimal signinLongitude; + + /** + * 活动签到打卡位置纬度 + */ + private BigDecimal signinLatitude; + + /** + * 活动签到打卡半径(单位:米) + */ + private Integer clockRadius; + + /** + * 活动名额 + */ + private Integer actQuota; + + /** + * 已报名人数 + */ + private Integer signupNum; + + /** + * 活动打卡人数 + */ + private Integer clockNum; + + /** + * 活动分享数 + */ + private Integer actShareNum; + + /** + * 活动浏览数 + */ + private Integer actBrowseNum; + + /** + * 联系人 + */ + private String contacts; + + /** + * 联系电话 + */ + private String tel; + + /** + * 招募要求 + */ + private String requirement; + + /** + * 活动内容 + */ + private String actContent; + + /** + * 活动发布状态(0-下架,1上架) + */ + private String actStatus; + + /** + * 活动发布时间 + */ + private Date publishTime; + + /** + * 活动主办方 + */ + private String sponsor; + + /** + * 创建部门ID + */ + private Long deptId; + + /** + * 活动惩罚积分 + */ + private Integer punishmentPoints; + + /** + * 活动奖励积分 + */ + private Integer reward; + + /** + * 活动名额类型 + */ + private Integer actQuotaCategory; + + /** + * 活动下架原因 + */ + private String cancelReason; + + private String failureReason; + + /** + * 用户当前状态(0-我要报名,1-取消报名,2-已报满,3-未开始,4-我要打卡,5-更新打卡,6-已结束,7-已取消) + */ + private String currentUserStatus; + /** + * 用户认证志愿者标识(0-未认证,1-已认证) + */ + private String userVolunteerFlag; + + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/pom.xml b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/pom.xml index 27a1a164d..128f2ddc9 100644 --- a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/pom.xml +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/pom.xml @@ -50,6 +50,12 @@ org.springframework.cloud spring-cloud-starter-zipkin + + com.esua.epdc + epdc-points-client + 1.0.0 + compile + diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/controller/ActBannerController.java b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/controller/ActBannerController.java index fd5881f7d..21145b0fc 100644 --- a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/controller/ActBannerController.java +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/controller/ActBannerController.java @@ -32,6 +32,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -65,6 +66,14 @@ public class ActBannerController { return actBannerService.grounding(id); } + @GetMapping("bannerlist") + public Result> getBannerList(){ + Map params =new HashMap(); + params.put("status","1"); + List data = actBannerService.list(params); + return new Result>().ok(data); + } + @PostMapping public Result save(@RequestBody ActBannerDTO dto){ //效验数据 diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/controller/ActUserClockLogController.java b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/controller/ActUserClockLogController.java index 0f11e9813..98e078a22 100644 --- a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/controller/ActUserClockLogController.java +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/controller/ActUserClockLogController.java @@ -61,6 +61,7 @@ public class ActUserClockLogController { @GetMapping("page") public Result> page(@RequestParam Map params){ PageData page = actUserClockLogService.getActUserClockLogFromPC(params); + System.out.println(page); return new Result>().ok(page); } @@ -88,7 +89,7 @@ public class ActUserClockLogController { actUserClockLogService.save(dto); return new Result(); } - @PostMapping + @PostMapping("pointCheck") public Result pointCheck(@RequestBody ActPointCheckFormDTO dto){ //效验数据 ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/controller/AppActInfoController.java b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/controller/AppActInfoController.java index befd6528b..23ef7a2bd 100644 --- a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/controller/AppActInfoController.java +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/controller/AppActInfoController.java @@ -18,15 +18,18 @@ package com.elink.esua.epdc.modules.activity.controller; import com.elink.esua.epdc.activity.ActInfoDTO; +import com.elink.esua.epdc.activity.form.ActInfoAppFormDTO; +import com.elink.esua.epdc.activity.result.ActInfoAppResultDTO; +import com.elink.esua.epdc.activity.result.ActInfoDetailAppResultDTO; import com.elink.esua.epdc.activity.result.AppActInfoDTO; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; import com.elink.esua.epdc.modules.activity.service.ActInfoService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import java.util.List; /** @@ -53,5 +56,63 @@ public class AppActInfoController { AppActInfoDTO appActInfoDTO = ConvertUtils.sourceToTarget(actInfoDTO, AppActInfoDTO.class); return new Result().ok(appActInfoDTO); } + /** + * 活动列表--App端 + * @Params: [formDto] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result> + * @Author: lipengfei + * @Date: 2019/11/19 16:46 + */ + @GetMapping("list") + public Result> listItems(@RequestBody ActInfoAppFormDTO formDto) { + ValidatorUtils.validateEntity(formDto); + return this.actInfoService.listItemsByApp(formDto); + } + /** + * 活动列表--App端 + * @Params: [formDto] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result> + * @Author: lipengfei + * @Date: 2019/11/19 16:46 + */ + @GetMapping("signupList") + public Result> signupListItems(@RequestBody ActInfoAppFormDTO formDto) { + ValidatorUtils.validateEntity(formDto); + return this.actInfoService.signupListItemsByApp(formDto); + } + /** + * 项目详情--工作端 + * @Params: [id] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result + * @Author: lipengfei + * @Date: 2019/11/19 16:46 + */ + @GetMapping("detail/{id}") + public Result getDetail(@PathVariable String id) { + return this.actInfoService.getDetailByApp(id); + } + + /** + * 项目详情--工作端 + * @Params: [id] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result + * @Author: lipengfei + * @Date: 2019/11/19 16:46 + */ + @GetMapping("rejectdetail/{id}") + public Result getRejectDetail(@PathVariable String id) { + return this.actInfoService.getRejectDetailByApp(id); + } + /** + * 项目详情--工作端 + * @Params: [id] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result + * @Author: lipengfei + * @Date: 2019/11/19 16:46 + */ + @GetMapping("cancelDetail/{id}") + public Result getCancelDetail(@PathVariable String id) { + return this.actInfoService.getCancelDetailByApp(id); + } } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActInfoDao.java b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActInfoDao.java index b8dbf07fa..f759f7858 100644 --- a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActInfoDao.java +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActInfoDao.java @@ -17,6 +17,9 @@ package com.elink.esua.epdc.modules.activity.dao; +import com.elink.esua.epdc.activity.form.ActInfoAppFormDTO; +import com.elink.esua.epdc.activity.result.ActInfoAppResultDTO; +import com.elink.esua.epdc.activity.result.ActInfoDetailAppResultDTO; import com.elink.esua.epdc.activity.result.ActInfoResultDTO; import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; import com.elink.esua.epdc.modules.activity.entity.ActInfoEntity; @@ -41,5 +44,35 @@ public interface ActInfoDao extends BaseDao { * @Date: 2019/9/5 19:42 */ List getActInfoPageFromPC(Map params); + + /** + * 移动端-活动列表 + * @Params: [formDto] + * @Return: java.util.List + * @Author: liuchuang + * @Date: 2019/9/9 16:50 + */ + List listItemsByApp(ActInfoAppFormDTO formDto); + /** + * 移动端-活动列表(已报名) + * @Params: [formDto] + * @Return: java.util.List + * @Author: liuchuang + * @Date: 2019/9/9 16:50 + */ + List signupListItemsByApp(ActInfoAppFormDTO formDto); + + /** + * 工作端-项目详情 + * @Params: [formDto] + * @Return: com.elink.esua.epdc.dto.item.result.ItemDetailResultDTO + * @Author: lipengfei + * @Date: 2019/9/10 20:57 + */ + ActInfoDetailAppResultDTO getDetailByApp(ActInfoAppFormDTO formDto); + + ActInfoDetailAppResultDTO getRejectDetailByApp(ActInfoAppFormDTO formDto); + + ActInfoDetailAppResultDTO getCancelDetailByApp(ActInfoAppFormDTO formDto); } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActUserClockLogDao.java b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActUserClockLogDao.java index 381afabae..275f386ad 100644 --- a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActUserClockLogDao.java +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActUserClockLogDao.java @@ -18,7 +18,6 @@ package com.elink.esua.epdc.modules.activity.dao; import com.elink.esua.epdc.activity.result.ActUserClockLogResultDTO; -import com.elink.esua.epdc.activity.result.ActUserClockResultDTO; import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; import com.elink.esua.epdc.modules.activity.entity.ActUserClockLogEntity; import org.apache.ibatis.annotations.Mapper; diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/ActInfoService.java b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/ActInfoService.java index c072f4399..06a091ed9 100644 --- a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/ActInfoService.java +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/ActInfoService.java @@ -18,7 +18,10 @@ package com.elink.esua.epdc.modules.activity.service; import com.elink.esua.epdc.activity.ActInfoDTO; +import com.elink.esua.epdc.activity.form.ActInfoAppFormDTO; import com.elink.esua.epdc.activity.form.ActInfoFormDTO; +import com.elink.esua.epdc.activity.result.ActInfoAppResultDTO; +import com.elink.esua.epdc.activity.result.ActInfoDetailAppResultDTO; import com.elink.esua.epdc.activity.result.ActInfoResultDTO; import com.elink.esua.epdc.commons.mybatis.service.BaseService; import com.elink.esua.epdc.commons.tools.page.PageData; @@ -68,6 +71,49 @@ public interface ActInfoService extends BaseService { */ ActInfoDTO get(String id); + /** + * 活动列表-移动app端用 + * @Params: [formDto] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result> + * @Author: lipengfei + * @Date: 2019/10/19 16:47 + */ + Result> listItemsByApp(ActInfoAppFormDTO formDto); + /** + * 活动列表(已报名)-移动app端用 + * @Params: [formDto] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result> + * @Author: lipengfei + * @Date: 2019/10/19 16:47 + */ + Result> signupListItemsByApp(ActInfoAppFormDTO formDto); + + /** + * 移动端-项目详情 + * @Params: [formDto] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result + * @Author: liuchuang + * @Date: 2019/9/10 20:54 + */ + Result getDetailByApp(String id); + /** + * 移动端-项目详情 + * @Params: [formDto] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result + * @Author: liuchuang + * @Date: 2019/9/10 20:54 + */ + Result getRejectDetailByApp(String id); + + /** + * 移动端-项目详情 + * @Params: [formDto] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result + * @Author: liuchuang + * @Date: 2019/9/10 20:54 + */ + Result getCancelDetailByApp(String id); + /** * 默认保存 * diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/ActUserClockLogService.java b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/ActUserClockLogService.java index 4404f8958..74379cd8b 100644 --- a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/ActUserClockLogService.java +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/ActUserClockLogService.java @@ -81,7 +81,7 @@ public interface ActUserClockLogService extends BaseService> + * @Author: lipengfei + * @Date: 2019/10/19 16:47 + */ + @Override + public Result> signupListItemsByApp(ActInfoAppFormDTO formDto) { + int pageIndex = (formDto.getPageIndex() - NumConstant.ONE) * formDto.getPageSize(); + formDto.setUserId(SecurityUser.getUserId()); + + formDto.setPageIndex(pageIndex); + List data = baseDao.signupListItemsByApp(formDto); + return new Result>().ok(data); + } + /** + * 活动列表-移动app端用 + * @Params: [formDto] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result> + * @Author: lipengfei + * @Date: 2019/10/19 16:47 + */ + @Override + public Result> listItemsByApp(ActInfoAppFormDTO formDto) { + int pageIndex = (formDto.getPageIndex() - NumConstant.ONE) * formDto.getPageSize(); + formDto.setUserId(SecurityUser.getUserId()); + + formDto.setPageIndex(pageIndex); + List data = baseDao.listItemsByApp(formDto); + return new Result>().ok(data); + } @Override @Transactional(rollbackFor = Exception.class) public Result cancel(ActInfoFormDTO dto) { @@ -129,5 +167,33 @@ public class ActInfoServiceImpl extends BaseServiceImpl getDetailByApp(String id) { + ActInfoAppFormDTO formDto = new ActInfoAppFormDTO(); + formDto.setId(id); + formDto.setUserId(SecurityUser.getUserId()); + Date currentTime = new Date(); + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String dateString = formatter.format(currentTime); + formDto.setTimestamp(dateString); + ActInfoDetailAppResultDTO resultDTO = baseDao.getDetailByApp(formDto); + return new Result().ok(resultDTO); + } + @Override + public Result getRejectDetailByApp(String id) { + ActInfoAppFormDTO formDto = new ActInfoAppFormDTO(); + formDto.setId(id); + formDto.setUserId(SecurityUser.getUserId()); + + ActInfoDetailAppResultDTO resultDTO = baseDao.getRejectDetailByApp(formDto); + return new Result().ok(resultDTO); + } + @Override + public Result getCancelDetailByApp(String id) { + ActInfoAppFormDTO formDto = new ActInfoAppFormDTO(); + formDto.setId(id); + ActInfoDetailAppResultDTO resultDTO = baseDao.getCancelDetailByApp(formDto); + return new Result().ok(resultDTO); + } } \ No newline at end of file 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 22ad804c0..1f4fdba08 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 @@ -22,25 +22,28 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.elink.esua.epdc.activity.*; import com.elink.esua.epdc.activity.form.ActPointCheckFormDTO; import com.elink.esua.epdc.activity.result.ActUserClockLogResultDTO; -import com.elink.esua.epdc.activity.result.ActUserRelationResultDTO; 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.PointsConstant; +import com.elink.esua.epdc.commons.tools.enums.YesOrNoEnum; +import com.elink.esua.epdc.commons.tools.enums.pointsenum.PointsOperationModeEnum; 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.ActStateConstant; import com.elink.esua.epdc.dto.UserDTO; -import com.elink.esua.epdc.modules.activity.dao.ActUserClockLogDao; +import com.elink.esua.epdc.dto.logs.PointsLogsDTO; import com.elink.esua.epdc.modules.activity.entity.ActUserClockLogEntity; -import com.elink.esua.epdc.modules.activity.entity.ActUserPointsLogEntity; -import com.elink.esua.epdc.modules.activity.entity.ActUserRelationEntity; import com.elink.esua.epdc.modules.activity.redis.ActUserClockLogRedis; import com.elink.esua.epdc.modules.activity.service.*; -import com.elink.esua.epdc.modules.feign.UserFeignClient; +import com.elink.esua.epdc.modules.feign.PointsFeignClient; +import com.elink.esua.epdc.modules.feign.UserInfoFeignClient; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import com.elink.esua.epdc.modules.activity.dao.ActUserClockLogDao; +import org.springframework.transaction.interceptor.TransactionAspectSupport; import java.util.Arrays; import java.util.Date; @@ -74,7 +77,11 @@ public class ActUserClockLogServiceImpl extends BaseServiceImpl page(Map params) { @@ -87,6 +94,7 @@ public class ActUserClockLogServiceImpl extends BaseServiceImpl getActUserClockLogFromPC(Map params) { IPage page = getPage(params); + System.out.println(params); List list = baseDao.getActUserClockLogFromPC(params); return new PageData<>(list, page.getTotal()); } @@ -121,35 +129,46 @@ public class ActUserClockLogServiceImpl extends BaseServiceImpl result = userFeignClient.getUserInfoById(checkDTO.getUserId()); + Result result = userInfoFeignClient.getUserInfoById(checkDTO.getUserId()); if (result.success() && null != result.getData()) { UserDTO updateUserDTO = result.getData(); //增加用户积分 - updateUserDTO.setPoints(updateUserDTO.getPoints() + point); - Result userResult = userFeignClient.updateUserInfo(updateUserDTO); + System.out.println(updateUserDTO.toString()); + updateUserDTO.setPoints(updateUserDTO.getPoints() + pointsLogsEntity.getPoints()); + pointsLogsEntity.setUserId(checkDTO.getUserId()); + pointsLogsEntity.setLavePoints(updateUserDTO.getPoints() + pointsLogsEntity.getPoints()); + Result userResult = userInfoFeignClient.updateUserInfo(updateUserDTO); if (userResult.success()) { - return null; + // 用户积分记录 + Result pointResult = pointsFeignClient.addPointsLog(pointsLogsEntity); + if(pointResult.success()){ + return new Result(); + } else { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return new Result().error("积分记录增加失败。"); + } + } else { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return new Result().error("用户信息更新失败。"); } } else { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return new Result().error("用户信息获取失败。"); } 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 6085f7618..a6cb776e3 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 @@ -83,6 +83,7 @@ public class ActUserRelationServiceImpl extends BaseServiceImpl> getRankingList(); +@FeignClient(name = ServiceConstant.EPDC_USER_SERVER, fallback = UserInfoFeignClientFallback.class) +public interface UserInfoFeignClient { @GetMapping("app-user/epdc-app/user/getById/{userId}") diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/PointsFeignClientFallback.java b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/PointsFeignClientFallback.java new file mode 100644 index 000000000..01597dd98 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/PointsFeignClientFallback.java @@ -0,0 +1,23 @@ +package com.elink.esua.epdc.modules.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.logs.PointsLogsDTO; +import com.elink.esua.epdc.modules.feign.PointsFeignClient; +import org.springframework.stereotype.Component; + + +/** + * @Author:wanggongfeng + * @Date:2019/12/16 15:11 + */ +@Component +public class PointsFeignClientFallback implements PointsFeignClient { + + + @Override + public Result addPointsLog(PointsLogsDTO dto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_POINTS_SERVER, "addPointsLog", dto); + } +} 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 new file mode 100644 index 000000000..65058a7ab --- /dev/null +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/UserInfoFeignClientFallback.java @@ -0,0 +1,21 @@ +package com.elink.esua.epdc.modules.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.UserDTO; +import com.elink.esua.epdc.modules.feign.UserInfoFeignClient; + +/** + * @author 86185 + */ +public class UserInfoFeignClientFallback implements UserInfoFeignClient { + @Override + public Result getUserInfoById(String userId) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "getUserInfoById", userId); + } + @Override + public Result updateUserInfo(UserDTO userDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "updateUserInfo", userDTO); + } +} diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActInfoDao.xml b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActInfoDao.xml index b17440819..4f2ce8776 100644 --- a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActInfoDao.xml +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActInfoDao.xml @@ -74,7 +74,7 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file