+ * 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