Browse Source

社区讲坛 - 居民端获取社区讲坛列表 接口业务

hotfix/yujt_opt
zhangyuan 5 years ago
parent
commit
c1a1cdb72e
  1. 69
      epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/activity/controller/AppActivityInfoController.java
  2. 12
      epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActivityInfoDao.java
  3. 12
      epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActivityParticipantDao.java
  4. 13
      epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/activity/service/ActivityInfoService.java
  5. 25
      epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActivityInfoServiceImpl.java
  6. 18
      epdc-cloud-property/src/main/resources/mapper/activity/ActivityInfoDao.xml
  7. 10
      epdc-cloud-property/src/main/resources/mapper/activity/ActivityParticipantDao.xml

69
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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<List<ActivityInfoResultDTO>> listActivity(@RequestBody ActivityInfoFormDTO formDto) {
List<ActivityInfoResultDTO> page = activityInfoService.listActivity(formDto);
return new Result<List<ActivityInfoResultDTO>>().ok(page);
}
@PostMapping
public Result save(@RequestBody ActivityInfoDTO dto) {
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
activityInfoService.save(dto);
return new Result();
}
}

12
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<ActivityInfoEntity> {
* @date: 2020/6/22 10:01
*/
List<ActivityInfoEntity> selectListOfActivityInfo(Map<String, Object> params);
/**
*
* 功能描述: 活动查询
*
* @param: formDto
* @return: List<ActivityInfoEntity>
* @author: zhy
* @date: 2020/6/22 10:01
*/
List<ActivityInfoEntity> listActivity(ActivityInfoFormDTO formDto);
}

12
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<ActivityParticipantEntity> {
/**
*
* 功能描述: 活动参与者
*
* @param: Map<String, Object>
@ -42,4 +42,14 @@ public interface ActivityParticipantDao extends BaseDao<ActivityParticipantEntit
* @date: 2020/6/22 10:01
*/
List<ActivityParticipantEntity> selectListOfActivityParticipant(Map<String, Object> params);
/**
* 功能描述: 是否参与活动
*
* @param: id userId
* @return: ActivityParticipantEntity
* @author: zhy
* @date: 2020/6/22 10:01
*/
ActivityParticipantEntity selectParticipant(@Param("id") String id, @Param("userId") String userId);
}

13
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<ActivityInfoEntity> {
* @date 2020-06-22
*/
void delete(String[] ids);
/**
*
* 功能描述: 社区讲坛 - 居民端获取社区讲坛列表
*
* @param: formDto
* @return: List<ActivityInfoResultDTO>
* @author: zhy
* @date: 2020/6/23 10:22
*/
List<ActivityInfoResultDTO> listActivity(ActivityInfoFormDTO formDto);
}

25
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<ActivityInfoDao, Ac
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
public List<ActivityInfoResultDTO> listActivity(ActivityInfoFormDTO formDto) {
// sql limit条件转换
formDto.setPageIndex((formDto.getPageIndex() - NumConstant.ONE) * formDto.getPageSize());
List<ActivityInfoEntity> entityList = baseDao.listActivity(formDto);
List<ActivityInfoDTO> 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<String, Object> params = new HashMap<>(1);
params.put("id", dto.getId());
List<ActivityParticipantEntity> activityParticipantNum = activityParticipantDao.selectListOfActivityParticipant(params);
dto.setSignUpNum(activityParticipantNum.size());
});
return ConvertUtils.sourceToTarget(dtoList, ActivityInfoResultDTO.class);
}
}

18
epdc-cloud-property/src/main/resources/mapper/activity/ActivityInfoDao.xml

@ -65,4 +65,22 @@
</if>
ORDER BY CREATED_TIME DESC
</select>
<select id="listActivity" resultType="com.elink.esua.epdc.modules.activity.entity.ActivityInfoEntity">
SELECT
<include refid="Base_Column_List"/>
FROM
epdc_activity_info a
WHERE
DEL_FLAG = '0'
AND ACT_STATUS = '1'
<if test="activityState == '0'">
AND ACT_START_TIME &lt;= NOW()
AND ACT_END_TIME &gt;= NOW()
</if>
<if test="activityState == '1'">
AND ACT_END_TIME &lt;= NOW()
</if>
ORDER BY CREATED_TIME DESC
LIMIT #{pageIndex}, #{pageSize};
</select>
</mapper>

10
epdc-cloud-property/src/main/resources/mapper/activity/ActivityParticipantDao.xml

@ -51,4 +51,14 @@
</if>
ORDER BY CREATED_TIME DESC
</select>
<select id="selectParticipant" resultType="com.elink.esua.epdc.modules.activity.entity.ActivityParticipantEntity">
SELECT
<include refid="Base_Column_List"/>
FROM
epdc_activity_participant a
WHERE
DEL_FLAG = '0'
AND USER_ID = #{userId}
AND ACT_ID = #{id}
</select>
</mapper>
Loading…
Cancel
Save