From 97460be00ea43f382f56c18e09a9be179a3ba20c Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Tue, 23 Jun 2020 14:07:52 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A4=BE=E5=8C=BA=E8=AE=B2=E5=9D=9B=C2=A0-?= =?UTF-8?q?=C2=A0=E5=B1=85=E6=B0=91=E7=AB=AF=E8=8E=B7=E5=8F=96=E7=A4=BE?= =?UTF-8?q?=E5=8C=BA=E8=AE=B2=E5=9D=9B=E8=AF=A6=E6=83=85=20=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E4=B8=9A=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AppActivityInfoController.java | 15 +++--- .../modules/activity/dao/ActivityInfoDao.java | 13 +++++ .../activity/service/ActivityInfoService.java | 13 +++++ .../service/impl/ActivityInfoServiceImpl.java | 47 +++++++++++++++---- .../mapper/activity/ActivityInfoDao.xml | 9 ++++ 5 files changed, 80 insertions(+), 17 deletions(-) diff --git a/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/activity/controller/AppActivityInfoController.java b/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/activity/controller/AppActivityInfoController.java index cb2cc43..c2ac017 100644 --- a/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/activity/controller/AppActivityInfoController.java +++ b/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/activity/controller/AppActivityInfoController.java @@ -18,25 +18,20 @@ package com.elink.esua.epdc.modules.activity.controller; import com.elink.esua.epdc.commons.tools.constant.Constant; -import com.elink.esua.epdc.commons.tools.page.PageData; -import com.elink.esua.epdc.commons.tools.utils.ExcelUtils; import com.elink.esua.epdc.commons.tools.utils.Result; -import com.elink.esua.epdc.commons.tools.validator.AssertUtils; import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; import com.elink.esua.epdc.commons.tools.validator.group.AddGroup; import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup; -import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup; import com.elink.esua.epdc.dto.activity.ActivityInfoDTO; +import com.elink.esua.epdc.dto.activity.form.ActivityDetailFormDTO; import com.elink.esua.epdc.dto.activity.form.ActivityInfoFormDTO; +import com.elink.esua.epdc.dto.activity.result.ActivityDetailResultDTO; import com.elink.esua.epdc.dto.activity.result.ActivityInfoResultDTO; -import com.elink.esua.epdc.modules.activity.excel.ActivityInfoExcel; import com.elink.esua.epdc.modules.activity.service.ActivityInfoService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import javax.servlet.http.HttpServletResponse; import java.util.List; -import java.util.Map; /** @@ -58,6 +53,12 @@ public class AppActivityInfoController { return new Result>().ok(page); } + @GetMapping("activityDetail") + public Result activityDetail(@RequestBody ActivityDetailFormDTO formDto) { + ActivityDetailResultDTO data = activityInfoService.activityDetail(formDto); + return new Result().ok(data); + } + @PostMapping public Result save(@RequestBody ActivityInfoDTO dto) { //效验数据 diff --git a/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActivityInfoDao.java b/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActivityInfoDao.java index 969b978..8bde64e 100644 --- a/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActivityInfoDao.java +++ b/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActivityInfoDao.java @@ -18,6 +18,7 @@ package com.elink.esua.epdc.modules.activity.dao; import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; +import com.elink.esua.epdc.dto.activity.form.ActivityDetailFormDTO; import com.elink.esua.epdc.dto.activity.form.ActivityInfoFormDTO; import com.elink.esua.epdc.modules.activity.entity.ActivityInfoEntity; import org.apache.ibatis.annotations.Mapper; @@ -54,4 +55,16 @@ public interface ActivityInfoDao extends BaseDao { * @date: 2020/6/22 10:01 */ List listActivity(ActivityInfoFormDTO formDto); + + + /** + * + * 功能描述: 活动查询 + * + * @param: formDto + * @return: ActivityInfoEntity + * @author: zhy + * @date: 2020/6/22 10:01 + */ + ActivityInfoEntity activityDetail(ActivityDetailFormDTO formDto); } \ No newline at end of file diff --git a/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/activity/service/ActivityInfoService.java b/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/activity/service/ActivityInfoService.java index 380c73e..54311da 100644 --- a/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/activity/service/ActivityInfoService.java +++ b/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/activity/service/ActivityInfoService.java @@ -20,7 +20,9 @@ package com.elink.esua.epdc.modules.activity.service; import com.elink.esua.epdc.commons.mybatis.service.BaseService; import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.dto.activity.ActivityInfoDTO; +import com.elink.esua.epdc.dto.activity.form.ActivityDetailFormDTO; import com.elink.esua.epdc.dto.activity.form.ActivityInfoFormDTO; +import com.elink.esua.epdc.dto.activity.result.ActivityDetailResultDTO; import com.elink.esua.epdc.dto.activity.result.ActivityInfoResultDTO; import com.elink.esua.epdc.modules.activity.entity.ActivityInfoEntity; @@ -105,4 +107,15 @@ public interface ActivityInfoService extends BaseService { * @date: 2020/6/23 10:22 */ List listActivity(ActivityInfoFormDTO formDto); + + /** + * + * 社区讲坛 - 居民端获取社区讲坛详情 + * + * @param: formDto + * @return: ActivityDetailResultDTO + * @author: zhy + * @date: 2020/6/23 10:22 + */ + ActivityDetailResultDTO activityDetail(ActivityDetailFormDTO formDto); } \ No newline at end of file diff --git a/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActivityInfoServiceImpl.java b/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActivityInfoServiceImpl.java index f9bcd2e..1060a8f 100644 --- a/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActivityInfoServiceImpl.java +++ b/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActivityInfoServiceImpl.java @@ -25,7 +25,9 @@ import com.elink.esua.epdc.commons.tools.constant.NumConstant; import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.dto.activity.ActivityInfoDTO; +import com.elink.esua.epdc.dto.activity.form.ActivityDetailFormDTO; import com.elink.esua.epdc.dto.activity.form.ActivityInfoFormDTO; +import com.elink.esua.epdc.dto.activity.result.ActivityDetailResultDTO; import com.elink.esua.epdc.dto.activity.result.ActivityInfoResultDTO; import com.elink.esua.epdc.modules.activity.dao.ActivityInfoDao; import com.elink.esua.epdc.modules.activity.dao.ActivityParticipantDao; @@ -91,10 +93,9 @@ public class ActivityInfoServiceImpl extends BaseServiceImpl params = new HashMap<>(1); - params.put("id", id); - List activityParticipantNum = activityParticipantDao.selectListOfActivityParticipant(params); - entity.setSignUpNum(activityParticipantNum.size()); + // 查询活动参与人数 + Integer signUpNum = getSignUpNumber(id); + entity.setSignUpNum(signUpNum); return ConvertUtils.sourceToTarget(entity, ActivityInfoDTO.class); } @@ -128,21 +129,47 @@ public class ActivityInfoServiceImpl extends BaseServiceImpl entityList = baseDao.listActivity(formDto); + // 多一步转换,丰富字段 List dtoList = ConvertUtils.sourceToTarget(entityList, ActivityInfoDTO.class); dtoList.forEach(dto -> { // 查询前端样式 SectionCategoryEntity sectionCategoryEntity = sectionCategoryDao.selectByCode(dto.getCategoryCode()); dto.setFrontStyle(sectionCategoryEntity.getFrontStyle()); // 查询当前用户是否参与活动 - ActivityParticipantEntity entity = activityParticipantDao.selectParticipant(dto.getId(), formDto.getUserId()); - dto.setSignUpFlag(entity != null ? NumConstant.ZERO_STR : NumConstant.ONE_STR); + String signUpFlag = isParticipate(dto.getId(), formDto.getUserId()); + dto.setSignUpFlag(signUpFlag); // 查询活动参与人数 - Map params = new HashMap<>(1); - params.put("id", dto.getId()); - List activityParticipantNum = activityParticipantDao.selectListOfActivityParticipant(params); - dto.setSignUpNum(activityParticipantNum.size()); + Integer signUpNum = getSignUpNumber(dto.getId()); + dto.setSignUpNum(signUpNum); }); return ConvertUtils.sourceToTarget(dtoList, ActivityInfoResultDTO.class); } + + @Override + public ActivityDetailResultDTO activityDetail(ActivityDetailFormDTO formDto) { + ActivityInfoEntity entity = baseDao.activityDetail(formDto); + ActivityDetailResultDTO dto = ConvertUtils.sourceToTarget(entity, ActivityDetailResultDTO.class); + // 查询活动参与人数 + Integer signUpNum = getSignUpNumber(dto.getId()); + dto.setSignUpNum(signUpNum); + // 查询当前用户是否参与活动 + String signUpFlag = isParticipate(formDto.getActivityId(), formDto.getUserId()); + dto.setSignUpFlag(signUpFlag); + return dto; + } + + private String isParticipate(String activityId, String userId) { + // 查询当前用户是否参与活动 + ActivityParticipantEntity entity = activityParticipantDao.selectParticipant(activityId, userId); + return entity != null ? NumConstant.ZERO_STR : NumConstant.ONE_STR; + } + + private Integer getSignUpNumber(String activityId) { + // 查询活动参与人数 + Map params = new HashMap<>(1); + params.put("id", activityId); + List activityParticipantNum = activityParticipantDao.selectListOfActivityParticipant(params); + return activityParticipantNum.size(); + } } \ No newline at end of file diff --git a/epdc-cloud-property/src/main/resources/mapper/activity/ActivityInfoDao.xml b/epdc-cloud-property/src/main/resources/mapper/activity/ActivityInfoDao.xml index 9f47e7c..0578a29 100644 --- a/epdc-cloud-property/src/main/resources/mapper/activity/ActivityInfoDao.xml +++ b/epdc-cloud-property/src/main/resources/mapper/activity/ActivityInfoDao.xml @@ -83,4 +83,13 @@ ORDER BY CREATED_TIME DESC LIMIT #{pageIndex}, #{pageSize}; + \ No newline at end of file