| | |
| | | package com.panzhihua.service_community.service.impl; |
| | | |
| | | import java.util.Date; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.google.common.collect.Lists; |
| | | import com.panzhihua.common.enums.QuestnaireState; |
| | | import com.panzhihua.common.model.dtos.community.PageQuestnaireDTO; |
| | | import com.panzhihua.common.model.vos.R; |
| | | import com.panzhihua.common.model.vos.community.questnaire.AddQuestnaireVO; |
| | | import com.panzhihua.service_community.dao.ComActQuestnaireAnswerContentDAO; |
| | | import com.panzhihua.service_community.dao.ComActQuestnaireDAO; |
| | | import com.panzhihua.service_community.dao.ComActQuestnaireSubDAO; |
| | | import com.panzhihua.service_community.dao.ComActQuestnaireSubSelectionDAO; |
| | | import com.panzhihua.service_community.model.dos.*; |
| | | import com.panzhihua.service_community.service.ComActQuestnaireService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @Author: llming |
| | |
| | | */ |
| | | @Service |
| | | public class ComActQuestnaireServiceImpl implements ComActQuestnaireService { |
| | | @Resource |
| | | ComActQuestnaireDAO questnaireDAO; |
| | | @Resource |
| | | ComActQuestnaireSubDAO questnaireSubDAO; |
| | | @Resource |
| | | ComActQuestnaireSubSelectionDAO questnaireSubSelectionDAO; |
| | | @Resource |
| | | ComActQuestnaireAnswerContentDAO questnaireAnswerContentDAO; |
| | | @Resource |
| | | ComActQuestnaireSubServiceImpl questnaireSubService; |
| | | @Resource |
| | | ComActQuestnaireSubSelectionServiceImpl subSelectionService; |
| | | |
| | | @Override |
| | | public R AddQuestnaire() { |
| | | return null; |
| | | public R AddQuestnaire(AddQuestnaireVO addQuestnaireVO, Long communityId, Long userId) { |
| | | ComActQuestnaireDO comActQuestnaireDO = new ComActQuestnaireDO(); |
| | | comActQuestnaireDO.setTitle(addQuestnaireVO.getQueTitle()); |
| | | comActQuestnaireDO.setQueDescribe(addQuestnaireVO.getQueDescribe()); |
| | | comActQuestnaireDO.setState(QuestnaireState.CONTINUED.getCode()); |
| | | comActQuestnaireDO.setJoinCount(0); |
| | | comActQuestnaireDO.setCommunityId(communityId); |
| | | comActQuestnaireDO.setCreatBy(userId); |
| | | int questnaireId = questnaireDAO.insert(comActQuestnaireDO); |
| | | addQuestnaireVO.getQuestnaiteSubVOS().forEach(sub -> { |
| | | ComActQuestnaireSubDO comActQuestnaireSubDO = new ComActQuestnaireSubDO(); |
| | | comActQuestnaireSubDO.setType(sub.getType()); |
| | | comActQuestnaireSubDO.setContent(sub.getContent()); |
| | | comActQuestnaireSubDO.setSort(sub.getSort()); |
| | | comActQuestnaireSubDO.setQueId((long) questnaireId); |
| | | comActQuestnaireSubDO.setCreatBy(userId); |
| | | int subId = questnaireSubDAO.insert(comActQuestnaireSubDO); |
| | | ArrayList<ComActQuestnaireSubSelectionDO> subSelectionList = Lists.newArrayList(); |
| | | sub.getQuestnaiteSubSelectionVOS().forEach(subSelect -> { |
| | | ComActQuestnaireSubSelectionDO subSelectionDO = new ComActQuestnaireSubSelectionDO(); |
| | | subSelectionDO.setQueSubId((long) subId); |
| | | subSelectionDO.setSort(subSelect.getSort()); |
| | | subSelectionDO.setContent(subSelect.getContent()); |
| | | subSelectionDO.setCreatBy(userId); |
| | | subSelectionList.add(subSelectionDO); |
| | | }); |
| | | subSelectionService.saveBatch(subSelectionList); |
| | | }); |
| | | return R.ok(); |
| | | } |
| | | |
| | | @Override |
| | | public R ListQuestnaire() { |
| | | return null; |
| | | public R ListQuestnaire(PageQuestnaireDTO pageQuestnaireDTO) { |
| | | Page userPage = new Page(pageQuestnaireDTO.getPageNum(), pageQuestnaireDTO.getPageSize()); |
| | | LambdaQueryWrapper<ComActQuestnaireDO> lambdaQueryWrapper = Wrappers.lambdaQuery(); |
| | | if (pageQuestnaireDTO.getTitle() != null) { |
| | | lambdaQueryWrapper.like(ComActQuestnaireDO::getTitle, pageQuestnaireDTO.getTitle()); |
| | | } |
| | | if (pageQuestnaireDTO.getTitle() != null) { |
| | | lambdaQueryWrapper.eq(ComActQuestnaireDO::getState, pageQuestnaireDTO.getState()); |
| | | } |
| | | if (pageQuestnaireDTO.getParterType() != null) { |
| | | lambdaQueryWrapper.eq(ComActQuestnaireDO::getParterType, pageQuestnaireDTO.getParterType()); |
| | | } |
| | | if (pageQuestnaireDTO.getEndTime() != null && pageQuestnaireDTO.getStartTime() != null) { |
| | | lambdaQueryWrapper.ge(ComActQuestnaireDO::getCreateAt, pageQuestnaireDTO.getStartTime()); |
| | | lambdaQueryWrapper.lt(ComActQuestnaireDO::getCreateAt, pageQuestnaireDTO.getEndTime()); |
| | | } |
| | | IPage<ComActQuestnaireDO> doPager = questnaireDAO.selectPage(userPage, lambdaQueryWrapper.orderByDesc(ComActQuestnaireDO::getCreateAt)); |
| | | return R.ok(doPager); |
| | | } |
| | | |
| | | @Override |