Browse Source

社区讲坛 - 居民端获取社区讲坛详情 接口业务

hotfix/yujt_opt
zhangyuan 5 years ago
parent
commit
97460be00e
  1. 15
      epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/activity/controller/AppActivityInfoController.java
  2. 13
      epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActivityInfoDao.java
  3. 13
      epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/activity/service/ActivityInfoService.java
  4. 47
      epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActivityInfoServiceImpl.java
  5. 9
      epdc-cloud-property/src/main/resources/mapper/activity/ActivityInfoDao.xml

15
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; package com.elink.esua.epdc.modules.activity.controller;
import com.elink.esua.epdc.commons.tools.constant.Constant; 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.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.ValidatorUtils;
import com.elink.esua.epdc.commons.tools.validator.group.AddGroup; 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.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.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.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.dto.activity.result.ActivityInfoResultDTO;
import com.elink.esua.epdc.modules.activity.excel.ActivityInfoExcel;
import com.elink.esua.epdc.modules.activity.service.ActivityInfoService; import com.elink.esua.epdc.modules.activity.service.ActivityInfoService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
@ -58,6 +53,12 @@ public class AppActivityInfoController {
return new Result<List<ActivityInfoResultDTO>>().ok(page); return new Result<List<ActivityInfoResultDTO>>().ok(page);
} }
@GetMapping("activityDetail")
public Result<ActivityDetailResultDTO> activityDetail(@RequestBody ActivityDetailFormDTO formDto) {
ActivityDetailResultDTO data = activityInfoService.activityDetail(formDto);
return new Result<ActivityDetailResultDTO>().ok(data);
}
@PostMapping @PostMapping
public Result save(@RequestBody ActivityInfoDTO dto) { public Result save(@RequestBody ActivityInfoDTO dto) {
//效验数据 //效验数据

13
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; package com.elink.esua.epdc.modules.activity.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; 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.form.ActivityInfoFormDTO;
import com.elink.esua.epdc.modules.activity.entity.ActivityInfoEntity; import com.elink.esua.epdc.modules.activity.entity.ActivityInfoEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@ -54,4 +55,16 @@ public interface ActivityInfoDao extends BaseDao<ActivityInfoEntity> {
* @date: 2020/6/22 10:01 * @date: 2020/6/22 10:01
*/ */
List<ActivityInfoEntity> listActivity(ActivityInfoFormDTO formDto); List<ActivityInfoEntity> listActivity(ActivityInfoFormDTO formDto);
/**
*
* 功能描述: 活动查询
*
* @param: formDto
* @return: ActivityInfoEntity
* @author: zhy
* @date: 2020/6/22 10:01
*/
ActivityInfoEntity activityDetail(ActivityDetailFormDTO formDto);
} }

13
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.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.dto.activity.ActivityInfoDTO; 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.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.dto.activity.result.ActivityInfoResultDTO;
import com.elink.esua.epdc.modules.activity.entity.ActivityInfoEntity; import com.elink.esua.epdc.modules.activity.entity.ActivityInfoEntity;
@ -105,4 +107,15 @@ public interface ActivityInfoService extends BaseService<ActivityInfoEntity> {
* @date: 2020/6/23 10:22 * @date: 2020/6/23 10:22
*/ */
List<ActivityInfoResultDTO> listActivity(ActivityInfoFormDTO formDto); List<ActivityInfoResultDTO> listActivity(ActivityInfoFormDTO formDto);
/**
*
* 社区讲坛 - 居民端获取社区讲坛详情
*
* @param: formDto
* @return: ActivityDetailResultDTO
* @author: zhy
* @date: 2020/6/23 10:22
*/
ActivityDetailResultDTO activityDetail(ActivityDetailFormDTO formDto);
} }

47
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.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.dto.activity.ActivityInfoDTO; 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.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.dto.activity.result.ActivityInfoResultDTO;
import com.elink.esua.epdc.modules.activity.dao.ActivityInfoDao; 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.dao.ActivityParticipantDao;
@ -91,10 +93,9 @@ public class ActivityInfoServiceImpl extends BaseServiceImpl<ActivityInfoDao, Ac
@Override @Override
public ActivityInfoDTO get(String id) { public ActivityInfoDTO get(String id) {
ActivityInfoEntity entity = baseDao.selectById(id); ActivityInfoEntity entity = baseDao.selectById(id);
Map<String, Object> params = new HashMap<>(1); // 查询活动参与人数
params.put("id", id); Integer signUpNum = getSignUpNumber(id);
List<ActivityParticipantEntity> activityParticipantNum = activityParticipantDao.selectListOfActivityParticipant(params); entity.setSignUpNum(signUpNum);
entity.setSignUpNum(activityParticipantNum.size());
return ConvertUtils.sourceToTarget(entity, ActivityInfoDTO.class); return ConvertUtils.sourceToTarget(entity, ActivityInfoDTO.class);
} }
@ -128,21 +129,47 @@ public class ActivityInfoServiceImpl extends BaseServiceImpl<ActivityInfoDao, Ac
// sql limit条件转换 // sql limit条件转换
formDto.setPageIndex((formDto.getPageIndex() - NumConstant.ONE) * formDto.getPageSize()); formDto.setPageIndex((formDto.getPageIndex() - NumConstant.ONE) * formDto.getPageSize());
List<ActivityInfoEntity> entityList = baseDao.listActivity(formDto); List<ActivityInfoEntity> entityList = baseDao.listActivity(formDto);
// 多一步转换,丰富字段
List<ActivityInfoDTO> dtoList = ConvertUtils.sourceToTarget(entityList, ActivityInfoDTO.class); List<ActivityInfoDTO> dtoList = ConvertUtils.sourceToTarget(entityList, ActivityInfoDTO.class);
dtoList.forEach(dto -> { dtoList.forEach(dto -> {
// 查询前端样式 // 查询前端样式
SectionCategoryEntity sectionCategoryEntity = sectionCategoryDao.selectByCode(dto.getCategoryCode()); SectionCategoryEntity sectionCategoryEntity = sectionCategoryDao.selectByCode(dto.getCategoryCode());
dto.setFrontStyle(sectionCategoryEntity.getFrontStyle()); dto.setFrontStyle(sectionCategoryEntity.getFrontStyle());
// 查询当前用户是否参与活动 // 查询当前用户是否参与活动
ActivityParticipantEntity entity = activityParticipantDao.selectParticipant(dto.getId(), formDto.getUserId()); String signUpFlag = isParticipate(dto.getId(), formDto.getUserId());
dto.setSignUpFlag(entity != null ? NumConstant.ZERO_STR : NumConstant.ONE_STR); dto.setSignUpFlag(signUpFlag);
// 查询活动参与人数 // 查询活动参与人数
Map<String, Object> params = new HashMap<>(1); Integer signUpNum = getSignUpNumber(dto.getId());
params.put("id", dto.getId()); dto.setSignUpNum(signUpNum);
List<ActivityParticipantEntity> activityParticipantNum = activityParticipantDao.selectListOfActivityParticipant(params);
dto.setSignUpNum(activityParticipantNum.size());
}); });
return ConvertUtils.sourceToTarget(dtoList, ActivityInfoResultDTO.class); 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<String, Object> params = new HashMap<>(1);
params.put("id", activityId);
List<ActivityParticipantEntity> activityParticipantNum = activityParticipantDao.selectListOfActivityParticipant(params);
return activityParticipantNum.size();
}
} }

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

@ -83,4 +83,13 @@
ORDER BY CREATED_TIME DESC ORDER BY CREATED_TIME DESC
LIMIT #{pageIndex}, #{pageSize}; LIMIT #{pageIndex}, #{pageSize};
</select> </select>
<select id="activityDetail" 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 ID = #{activityId}
</select>
</mapper> </mapper>
Loading…
Cancel
Save