package com.panzhihua.applets.api; import javax.annotation.Resource; import org.springframework.web.bind.annotation.*; import com.panzhihua.common.controller.BaseController; import com.panzhihua.common.model.dtos.community.PageQuestnaireDTO; import com.panzhihua.common.model.dtos.community.integral.admin.AddComActIntegralUserDTO; import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.questnaire.QuestnaireListVo; import com.panzhihua.common.model.vos.community.questnaire.UsersAnswerQuestnaireVO; import com.panzhihua.common.model.vos.community.questnaire.UsersAnswerVO; import com.panzhihua.common.service.community.CommunityService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; /** * @description: 社区通/调查问卷接口 * @author: cedoo * @date: 2021-4-8 */ @Slf4j @Api(tags = {"社区通/调查问卷"}) @RestController @RequestMapping("/questnaire") public class CommunityQuestnaireApi extends BaseController { @Resource private CommunityService communityService; @ApiOperation(value = "分页查询社区调查问卷", response = QuestnaireListVo.class) @PostMapping("/pageUser") public R pageUser(@RequestBody PageQuestnaireDTO pageQuestnaireDTO) { LoginUserInfoVO loginUserInfo = this.getLoginUserInfo(); if (loginUserInfo == null) { return R.fail(401, "请先登录"); } pageQuestnaireDTO.setCommunityId(loginUserInfo.getCommunityId()); pageQuestnaireDTO.setUserId(loginUserInfo.getUserId()); return communityService.pageQuestnaire(pageQuestnaireDTO); } @ApiOperation(value = "查询调查问卷详情", response = UsersAnswerVO.class) @GetMapping("/detail") public R viewQuestnaire(@RequestParam("questId") Long questId) { LoginUserInfoVO loginUserInfo = this.getLoginUserInfo(); if (loginUserInfo == null) { return R.fail(401, "请先登录"); } return communityService.viewDetail(questId,loginUserInfo.getUserId()); } @ApiOperation(value = "居民填写问卷调查问卷") @PostMapping("/stat/answer") public R usersAnswerQuestnaire(@RequestBody UsersAnswerQuestnaireVO usersAnswerQuestnaireVO) { LoginUserInfoVO loginUserInfo = this.getLoginUserInfo(); if (loginUserInfo == null) { return R.fail("请先登录"); } usersAnswerQuestnaireVO.setUserId(loginUserInfo.getUserId()); // 填写调查问卷发放积分 communityService.addIntegralTradeAdmin(new AddComActIntegralUserDTO(usersAnswerQuestnaireVO.getQuestId(), AddComActIntegralUserDTO.integralType.cydcwj, loginUserInfo.getCommunityId(), loginUserInfo.getUserId())); return communityService.usersAnsweQuestnaire(usersAnswerQuestnaireVO); } @ApiOperation(value = "添加浏览量") @GetMapping("/add/view") public R addView(@RequestParam("questId") Long questId) { return communityService.addView(questId); } @ApiOperation(value = "用户弹窗添加不在提醒接口") @GetMapping("/add/noNotice") public R addNoNotice(@RequestParam("questId") Long questId) { LoginUserInfoVO loginUserInfo = this.getLoginUserInfo(); if (loginUserInfo == null) { return R.fail("请先登录"); } return communityService.addNoNotice(questId, loginUserInfo.getUserId()); } }