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 8bde64e..66df872 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 @@ -20,6 +20,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.dto.activity.result.ActivityInfoResultDTO; import com.elink.esua.epdc.modules.activity.entity.ActivityInfoEntity; import org.apache.ibatis.annotations.Mapper; @@ -54,7 +55,7 @@ public interface ActivityInfoDao extends BaseDao { * @author: zhy * @date: 2020/6/22 10:01 */ - List listActivity(ActivityInfoFormDTO formDto); + List listActivity(ActivityInfoFormDTO formDto); /** 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 1060a8f..1c4cd1d 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 @@ -128,22 +128,7 @@ public class ActivityInfoServiceImpl extends BaseServiceImpl listActivity(ActivityInfoFormDTO formDto) { // sql limit条件转换 formDto.setPageIndex((formDto.getPageIndex() - NumConstant.ONE) * formDto.getPageSize()); - List entityList = baseDao.listActivity(formDto); - // 多一步转换,丰富字段 - List dtoList = ConvertUtils.sourceToTarget(entityList, ActivityInfoDTO.class); - dtoList.forEach(dto -> { - // 查询前端样式 - SectionCategoryEntity sectionCategoryEntity = sectionCategoryDao.selectByCode(dto.getCategoryCode()); - dto.setFrontStyle(sectionCategoryEntity.getFrontStyle()); - // 查询当前用户是否参与活动 - String signUpFlag = isParticipate(dto.getId(), formDto.getUserId()); - dto.setSignUpFlag(signUpFlag); - // 查询活动参与人数 - Integer signUpNum = getSignUpNumber(dto.getId()); - dto.setSignUpNum(signUpNum); - }); - - return ConvertUtils.sourceToTarget(dtoList, ActivityInfoResultDTO.class); + return baseDao.listActivity(formDto); } @Override 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 0578a29..96d3ae6 100644 --- a/epdc-cloud-property/src/main/resources/mapper/activity/ActivityInfoDao.xml +++ b/epdc-cloud-property/src/main/resources/mapper/activity/ActivityInfoDao.xml @@ -65,22 +65,50 @@ ORDER BY CREATED_TIME DESC - SELECT - + a.ID, + a.TITLE, + a.HEAD_PIC, + s.FRONT_STYLE, + s. NAME AS CATEGORY_NAME, + a.ACT_START_TIME, + a.ACT_END_TIME, + a.ACT_QUOTA_FLAG, + a.ACT_QUOTA, + SUM( + CASE + WHEN P.ID != NULL THEN + 1 + ELSE + 0 + END + ) AS SIGN_UP_NUM, + SUM( + CASE + WHEN P.USER_ID = '1' THEN + 1 + ELSE + 0 + END + ) AS SING_UP_FLAG FROM epdc_activity_info a + LEFT JOIN epdc_section_category s ON a.CATEGORY_CODE = s. CODE + LEFT JOIN epdc_activity_participant p ON a.ID = p.ACT_ID WHERE - DEL_FLAG = '0' - AND ACT_STATUS = '1' + a.DEL_FLAG = '0' + AND a.ACT_STATUS = '1' - AND ACT_START_TIME <= NOW() - AND ACT_END_TIME >= NOW() + AND a.SIGN_UP_START_TIME <= NOW() + AND a.ACT_END_TIME >= NOW() - AND ACT_END_TIME <= NOW() + AND a.ACT_END_TIME <= NOW() - ORDER BY CREATED_TIME DESC + GROUP BY + a.id + ORDER BY a.CREATED_TIME DESC LIMIT #{pageIndex}, #{pageSize};