From c1a1cdb72e0f2f0a92a288e59da45ee43b247900 Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Tue, 23 Jun 2020 13:23:20 +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=E5=88=97=E8=A1=A8=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 | 69 +++++++++++++++++++ .../modules/activity/dao/ActivityInfoDao.java | 12 ++++ .../activity/dao/ActivityParticipantDao.java | 12 +++- .../activity/service/ActivityInfoService.java | 13 ++++ .../service/impl/ActivityInfoServiceImpl.java | 25 +++++++ .../mapper/activity/ActivityInfoDao.xml | 18 +++++ .../activity/ActivityParticipantDao.xml | 10 +++ 7 files changed, 158 insertions(+), 1 deletion(-) create mode 100644 epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/activity/controller/AppActivityInfoController.java 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 new file mode 100644 index 0000000..cb2cc43 --- /dev/null +++ b/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/activity/controller/AppActivityInfoController.java @@ -0,0 +1,69 @@ +/** + * 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.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.ActivityInfoFormDTO; +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; + + +/** + * 社区活动信息表 + * + * @author zhangyuan qu@elink-cn.com + * @since v1.0.0 2020-06-22 + */ +@RestController +@RequestMapping(Constant.EPDC_APP + "activityinfo") +public class AppActivityInfoController { + + @Autowired + private ActivityInfoService activityInfoService; + + @GetMapping("listActivity") + public Result> listActivity(@RequestBody ActivityInfoFormDTO formDto) { + List page = activityInfoService.listActivity(formDto); + return new Result>().ok(page); + } + + @PostMapping + public Result save(@RequestBody ActivityInfoDTO dto) { + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + activityInfoService.save(dto); + return new Result(); + } + +} \ No newline at end of file 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 4ab6892..969b978 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.ActivityInfoFormDTO; import com.elink.esua.epdc.modules.activity.entity.ActivityInfoEntity; import org.apache.ibatis.annotations.Mapper; @@ -42,4 +43,15 @@ public interface ActivityInfoDao extends BaseDao { * @date: 2020/6/22 10:01 */ List selectListOfActivityInfo(Map params); + + /** + * + * 功能描述: 活动查询 + * + * @param: formDto + * @return: List + * @author: zhy + * @date: 2020/6/22 10:01 + */ + List listActivity(ActivityInfoFormDTO formDto); } \ No newline at end of file diff --git a/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActivityParticipantDao.java b/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActivityParticipantDao.java index fe72cc9..cf1a462 100644 --- a/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActivityParticipantDao.java +++ b/epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActivityParticipantDao.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.modules.activity.entity.ActivityParticipantEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; import java.util.Map; @@ -33,7 +34,6 @@ import java.util.Map; @Mapper public interface ActivityParticipantDao extends BaseDao { /** - * * 功能描述: 活动参与者 * * @param: Map @@ -42,4 +42,14 @@ public interface ActivityParticipantDao extends BaseDao selectListOfActivityParticipant(Map params); + + /** + * 功能描述: 是否参与活动 + * + * @param: id , userId + * @return: ActivityParticipantEntity + * @author: zhy + * @date: 2020/6/22 10:01 + */ + ActivityParticipantEntity selectParticipant(@Param("id") String id, @Param("userId") String userId); } \ 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 be6326d..380c73e 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,6 +20,8 @@ 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.ActivityInfoFormDTO; +import com.elink.esua.epdc.dto.activity.result.ActivityInfoResultDTO; import com.elink.esua.epdc.modules.activity.entity.ActivityInfoEntity; import java.util.List; @@ -92,4 +94,15 @@ public interface ActivityInfoService extends BaseService { * @date 2020-06-22 */ void delete(String[] ids); + + /** + * + * 功能描述: 社区讲坛 - 居民端获取社区讲坛列表 + * + * @param: formDto + * @return: List + * @author: zhy + * @date: 2020/6/23 10:22 + */ + List listActivity(ActivityInfoFormDTO 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 17d5e0b..f9bcd2e 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 @@ -21,9 +21,12 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; 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; 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.ActivityInfoFormDTO; +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; import com.elink.esua.epdc.modules.activity.entity.ActivityInfoEntity; @@ -120,4 +123,26 @@ 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()); + // 查询当前用户是否参与活动 + ActivityParticipantEntity entity = activityParticipantDao.selectParticipant(dto.getId(), formDto.getUserId()); + dto.setSignUpFlag(entity != null ? NumConstant.ZERO_STR : NumConstant.ONE_STR); + // 查询活动参与人数 + Map params = new HashMap<>(1); + params.put("id", dto.getId()); + List activityParticipantNum = activityParticipantDao.selectListOfActivityParticipant(params); + dto.setSignUpNum(activityParticipantNum.size()); + }); + + return ConvertUtils.sourceToTarget(dtoList, ActivityInfoResultDTO.class); + } } \ 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 038432e..f29fb9e 100644 --- a/epdc-cloud-property/src/main/resources/mapper/activity/ActivityInfoDao.xml +++ b/epdc-cloud-property/src/main/resources/mapper/activity/ActivityInfoDao.xml @@ -65,4 +65,22 @@ ORDER BY CREATED_TIME DESC + \ No newline at end of file diff --git a/epdc-cloud-property/src/main/resources/mapper/activity/ActivityParticipantDao.xml b/epdc-cloud-property/src/main/resources/mapper/activity/ActivityParticipantDao.xml index fd256d3..39815e0 100644 --- a/epdc-cloud-property/src/main/resources/mapper/activity/ActivityParticipantDao.xml +++ b/epdc-cloud-property/src/main/resources/mapper/activity/ActivityParticipantDao.xml @@ -51,4 +51,14 @@ ORDER BY CREATED_TIME DESC + \ No newline at end of file