From 46175d1865674c65d983b025634533df623e0c0d Mon Sep 17 00:00:00 2001 From: zhangyongzhangyong <2012005003@qq.coom> Date: Tue, 26 May 2020 09:31:39 +0800 Subject: [PATCH] =?UTF-8?q?Banner=E7=AE=A1=E7=90=86=E9=A1=B5=E9=9D=A2=20-?= =?UTF-8?q?=20=E6=8E=A5=E5=8F=A3=E5=AE=9A=E4=B9=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ApiActBannerController.java | 41 +++++++++++++++ .../esua/epdc/feign/ActBannerFeignClient.java | 32 ++++++++++++ .../ActBannerFeignClientFallback.java | 25 +++++++++ .../esua/epdc/service/ActBannerService.java | 26 ++++++++++ .../service/impl/ActBannerServiceImpl.java | 23 ++++++++ .../form/EpdcAppActBannerFormDTO.java | 30 +++++++++++ .../result/EpdcAppActBannerResultDTO.java | 27 ++++++++++ .../controller/EpdcActBannerController.java | 52 +++++++++++++++++++ .../modules/activity/dao/ActBannerDao.java | 12 +++++ .../activity/service/ActBannerService.java | 12 +++++ .../service/impl/ActBannerServiceImpl.java | 10 ++++ .../mapper/activity/ActBannerDao.xml | 12 +++++ 12 files changed, 302 insertions(+) create mode 100644 esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiActBannerController.java create mode 100644 esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/ActBannerFeignClient.java create mode 100644 esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/ActBannerFeignClientFallback.java create mode 100644 esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/ActBannerService.java create mode 100644 esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/ActBannerServiceImpl.java create mode 100644 esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/form/EpdcAppActBannerFormDTO.java create mode 100644 esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/result/EpdcAppActBannerResultDTO.java create mode 100644 esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/controller/EpdcActBannerController.java diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiActBannerController.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiActBannerController.java new file mode 100644 index 00000000..b639fe2d --- /dev/null +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiActBannerController.java @@ -0,0 +1,41 @@ +package com.elink.esua.epdc.controller; + +import com.elink.esua.epdc.activity.form.EpdcAppActBannerFormDTO; +import com.elink.esua.epdc.activity.result.EpdcAppActBannerResultDTO; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; +import com.elink.esua.epdc.service.ActBannerService; +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; + +/** + * APP 活动Banner相关接口 + * + * @author zhangyong + * @date 2020/05/25 18:30 + */ +@RestController +@RequestMapping("heart/actbanner") +public class ApiActBannerController { + + @Autowired + private ActBannerService actBannerService; + + /** + * 获取上架的banner列表 + * + * @param formDto + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @Author zhangyong + * @Date 18:27 2020-05-25 + **/ + @GetMapping("banner/list") + public Result> bannerList(EpdcAppActBannerFormDTO formDto) { + ValidatorUtils.validateEntity(formDto); + return actBannerService.getBannerList(formDto); + } +} diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/ActBannerFeignClient.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/ActBannerFeignClient.java new file mode 100644 index 00000000..8775e71f --- /dev/null +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/ActBannerFeignClient.java @@ -0,0 +1,32 @@ +package com.elink.esua.epdc.feign; + +import com.elink.esua.epdc.activity.form.EpdcAppActBannerFormDTO; +import com.elink.esua.epdc.activity.result.EpdcAppActBannerResultDTO; +import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.feign.fallback.ActBannerFeignClientFallback; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.GetMapping; + +import java.util.List; + +/** + * Banner-移动app端 + * @Author zhangyong + * @Date 18:27 2020-05-25 + */ +@FeignClient(name = ServiceConstant.EPDC_HEART_SERVER, fallback = ActBannerFeignClientFallback.class) +public interface ActBannerFeignClient { + + /** + * 获取上架的banner列表 + * + * @param formDto + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @Author zhangyong + * @Date 18:27 2020-05-25 + **/ + @GetMapping(value = "heart/epdc-app/actbanner/banner/list", consumes = MediaType.APPLICATION_JSON_VALUE) + Result> selectBannerList(EpdcAppActBannerFormDTO formDto); +} diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/ActBannerFeignClientFallback.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/ActBannerFeignClientFallback.java new file mode 100644 index 00000000..e834e5e9 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/ActBannerFeignClientFallback.java @@ -0,0 +1,25 @@ +package com.elink.esua.epdc.feign.fallback; + +import com.elink.esua.epdc.activity.form.EpdcAppActBannerFormDTO; +import com.elink.esua.epdc.activity.result.EpdcAppActBannerResultDTO; +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.feign.ActBannerFeignClient; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * Banner-移动app端 + * @Author zhangyong + * @Date 18:27 2020-05-25 + */ +@Component +public class ActBannerFeignClientFallback implements ActBannerFeignClient { + + @Override + public Result> selectBannerList(EpdcAppActBannerFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_HEART_SERVER, "selectBannerList", formDto); + } +} diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/ActBannerService.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/ActBannerService.java new file mode 100644 index 00000000..d0a4d258 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/ActBannerService.java @@ -0,0 +1,26 @@ +package com.elink.esua.epdc.service; + +import com.elink.esua.epdc.activity.form.EpdcAppActBannerFormDTO; +import com.elink.esua.epdc.activity.result.EpdcAppActBannerResultDTO; +import com.elink.esua.epdc.commons.tools.utils.Result; + +import java.util.List; + +/** + * APP 活动Banner相关接口 + * + * @author zhangyong + * @date 2020/05/25 18:30 + */ +public interface ActBannerService { + + /** + * 获取上架的banner列表 + * + * @param formDto + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @Author zhangyong + * @Date 18:27 2020-05-25 + **/ + Result> getBannerList(EpdcAppActBannerFormDTO formDto); +} diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/ActBannerServiceImpl.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/ActBannerServiceImpl.java new file mode 100644 index 00000000..9808ee05 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/ActBannerServiceImpl.java @@ -0,0 +1,23 @@ +package com.elink.esua.epdc.service.impl; + +import com.elink.esua.epdc.activity.form.EpdcAppActBannerFormDTO; +import com.elink.esua.epdc.activity.result.EpdcAppActBannerResultDTO; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.feign.ActBannerFeignClient; +import com.elink.esua.epdc.service.ActBannerService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class ActBannerServiceImpl implements ActBannerService { + + @Autowired + private ActBannerFeignClient actBannerFeignClient; + + @Override + public Result> getBannerList(EpdcAppActBannerFormDTO formDto) { + return actBannerFeignClient.selectBannerList(formDto); + } +} diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/form/EpdcAppActBannerFormDTO.java b/esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/form/EpdcAppActBannerFormDTO.java new file mode 100644 index 00000000..2a3146bd --- /dev/null +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/form/EpdcAppActBannerFormDTO.java @@ -0,0 +1,30 @@ +package com.elink.esua.epdc.activity.form; + +import lombok.Data; + +import javax.validation.constraints.Min; +import java.io.Serializable; + +/** + * banner 列表入参 + * + * @author zhangyong + * @since v1.0.0 2020-05-25 + */ +@Data +public class EpdcAppActBannerFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 页码 + */ + @Min(value = 1, message = "页码必须大于0") + private Integer pageIndex; + + /** + * 页容量 + */ + @Min(value = 1, message = "页容量必须大于0") + private Integer pageSize; +} diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/result/EpdcAppActBannerResultDTO.java b/esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/result/EpdcAppActBannerResultDTO.java new file mode 100644 index 00000000..ca958060 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/activity/result/EpdcAppActBannerResultDTO.java @@ -0,0 +1,27 @@ +package com.elink.esua.epdc.activity.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * banner 列表返回列表 + * + * @author zhangyong + * @since v1.0.0 2020-05-25 + */ +@Data +public class EpdcAppActBannerResultDTO implements Serializable { + + private static final long serialVersionUID = 3908231797102233188L; + + /** + * banner标题 + */ + private String title; + + /** + * banner图片 + */ + private String bannerImg; +} diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/controller/EpdcActBannerController.java b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/controller/EpdcActBannerController.java new file mode 100644 index 00000000..cbb560ce --- /dev/null +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/controller/EpdcActBannerController.java @@ -0,0 +1,52 @@ +/** + * 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.modules.activity.controller; + +import com.elink.esua.epdc.activity.form.EpdcAppActBannerFormDTO; +import com.elink.esua.epdc.activity.result.EpdcAppActBannerResultDTO; +import com.elink.esua.epdc.commons.tools.constant.Constant; +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.ActBannerService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + + +@RestController +@RequestMapping(Constant.EPDC_APP + "actbanner") +public class EpdcActBannerController { + + @Autowired + private ActBannerService actBannerService; + + /** + * 获取上架的banner列表 + * + * @param formDto + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @Author zhangyong + * @Date 18:27 2020-05-25 + **/ + @GetMapping("banner/list") + public Result> bannerList(@RequestBody EpdcAppActBannerFormDTO formDto) { + ValidatorUtils.validateEntity(formDto); + return actBannerService.getBannerList(formDto); + } +} diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActBannerDao.java b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActBannerDao.java index d5741774..408fae91 100644 --- a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActBannerDao.java +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActBannerDao.java @@ -18,6 +18,8 @@ package com.elink.esua.epdc.modules.activity.dao; import com.elink.esua.epdc.activity.ActBannerDTO; +import com.elink.esua.epdc.activity.form.EpdcAppActBannerFormDTO; +import com.elink.esua.epdc.activity.result.EpdcAppActBannerResultDTO; import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; import com.elink.esua.epdc.modules.activity.entity.ActBannerEntity; import org.apache.ibatis.annotations.Mapper; @@ -85,4 +87,14 @@ public interface ActBannerDao extends BaseDao { * @Date 16:47 2020-05-25 **/ int getBannerStatusNumber(); + + /** + * 获取上架的banner列表 + * + * @param formDto + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @Author zhangyong + * @Date 18:27 2020-05-25 + **/ + List selectListBannerList(EpdcAppActBannerFormDTO formDto); } diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/ActBannerService.java b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/ActBannerService.java index 63d381ae..b9180038 100644 --- a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/ActBannerService.java +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/ActBannerService.java @@ -18,6 +18,8 @@ package com.elink.esua.epdc.modules.activity.service; import com.elink.esua.epdc.activity.ActBannerDTO; +import com.elink.esua.epdc.activity.form.EpdcAppActBannerFormDTO; +import com.elink.esua.epdc.activity.result.EpdcAppActBannerResultDTO; import com.elink.esua.epdc.commons.mybatis.service.BaseService; import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.utils.Result; @@ -130,4 +132,14 @@ public interface ActBannerService extends BaseService { * @since 2020/2/6 21:22 */ void takeOffBannerByActId(String actId); + + /** + * 获取上架的banner列表 + * + * @param formDto + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @Author zhangyong + * @Date 18:27 2020-05-25 + **/ + Result> getBannerList(EpdcAppActBannerFormDTO formDto); } diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActBannerServiceImpl.java b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActBannerServiceImpl.java index 19559958..6476371d 100644 --- a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActBannerServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActBannerServiceImpl.java @@ -20,6 +20,8 @@ package com.elink.esua.epdc.modules.activity.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.elink.esua.epdc.activity.ActBannerDTO; +import com.elink.esua.epdc.activity.form.EpdcAppActBannerFormDTO; +import com.elink.esua.epdc.activity.result.EpdcAppActBannerResultDTO; import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; import com.elink.esua.epdc.commons.tools.constant.FieldConstant; import com.elink.esua.epdc.commons.tools.constant.NumConstant; @@ -162,4 +164,12 @@ public class ActBannerServiceImpl extends BaseServiceImpl> getBannerList(EpdcAppActBannerFormDTO formDto) { + int pageIndex = (formDto.getPageIndex() - NumConstant.ONE) * formDto.getPageSize(); + formDto.setPageIndex(pageIndex); + List data = baseDao.selectListBannerList(formDto); + return new Result().ok(data); + } + } diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActBannerDao.xml b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActBannerDao.xml index 3b655831..75ae833d 100644 --- a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActBannerDao.xml +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActBannerDao.xml @@ -118,4 +118,16 @@ WHERE b.DEL_FLAG = 0 AND b.`STATUS` = 1 + +