| ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/ChildcareController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/PartyBuildingController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/PensionController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/QuestionnaireController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ruoyi-system/src/main/java/com/ruoyi/system/dto/SaveTQuestionnaireDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ruoyi-system/src/main/java/com/ruoyi/system/model/TQuestionnaire.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ruoyi-system/src/main/java/com/ruoyi/system/model/TQuestionnaireStem.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/ChildcareController.java
New file @@ -0,0 +1,45 @@ package com.ruoyi.web.controller.api; import com.ruoyi.common.core.domain.R; import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.model.TChildcareServices; import com.ruoyi.system.service.TChildcareServicesService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @Slf4j @RestController @RequestMapping("/childcare") @Api(tags = "托育模块") public class ChildcareController { private final TChildcareServicesService childcareServicesService; private final TokenService tokenService; public ChildcareController(TChildcareServicesService childcareServicesService, TokenService tokenService) { this.childcareServicesService = childcareServicesService; this.tokenService = tokenService; } // 添加托育模块 @PostMapping("/addChildcare") @ApiOperation(value = "添加托育服务") public R<String> addChildcare(@RequestBody TChildcareServices tChildcareServices) { String userId = tokenService.getLoginUserApplet().getUserId(); tChildcareServices.setAppUserId(userId); boolean save = childcareServicesService.save(tChildcareServices); if (save) { return R.ok("添加成功"); } return R.fail("添加失败"); } } ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/PartyBuildingController.java
@@ -1,11 +1,8 @@ package com.ruoyi.web.controller.api; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.domain.R; import com.ruoyi.system.dto.IdDto; import com.ruoyi.system.model.TBanner; import com.ruoyi.system.model.TPartyBuilding; import com.ruoyi.system.query.PartyBuildingListQuery; import com.ruoyi.system.service.TPartyBuildingService; @@ -13,8 +10,6 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import java.util.List; @Slf4j @RestController ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/PensionController.java
New file @@ -0,0 +1,75 @@ package com.ruoyi.web.controller.api; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.BaseModel; import com.ruoyi.common.core.domain.BasePage; import com.ruoyi.common.core.domain.R; import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.model.TAssistedDining; import com.ruoyi.system.model.THelpNeeds; import com.ruoyi.system.model.TPartyBuilding; import com.ruoyi.system.query.AssistedDiningListQuery; import com.ruoyi.system.service.TAssistedDiningService; import com.ruoyi.system.service.THelpNeedsService; import com.ruoyi.system.service.TPartyBuildingService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; @Slf4j @RestController @RequestMapping("/pension") @Api(tags = "养老服务") public class PensionController { private final TAssistedDiningService tAssistedDiningService; private final THelpNeedsService tHelpNeedsService; private final TokenService tokenService; public PensionController(TAssistedDiningService tAssistedDiningService, THelpNeedsService tHelpNeedsService, TokenService tokenService) { this.tAssistedDiningService = tAssistedDiningService; this.tHelpNeedsService = tHelpNeedsService; this.tokenService = tokenService; } @PostMapping("/getAssistedDiningList") @ApiOperation(value = "养老服务--助餐",response = TAssistedDining.class) public R<PageInfo<TAssistedDining>> getAssistedDiningList(@RequestBody AssistedDiningListQuery query) { PageInfo<TAssistedDining> pageInfo = tAssistedDiningService.pageList(query); return R.ok(pageInfo); } @PostMapping("/getAssistedDiningDetail/{id}") @ApiOperation(value = "养老服务--助餐详情") public R<TAssistedDining> getAssistedDiningDetail(@PathVariable String id) { TAssistedDining tAssistedDining = tAssistedDiningService.getById(id); return R.ok(tAssistedDining); } @PostMapping("/getHelpNeedsList") @ApiOperation(value = "养老服务--助需",response = TPartyBuilding.class) public R<Page<THelpNeeds>> getHelpNeedsList(@RequestBody BasePage basePage) { String userId = tokenService.getLoginUserApplet().getUserId(); Page<THelpNeeds> page = new Page<>(basePage.getPageNum(), basePage.getPageSize()); Page<THelpNeeds> helpNeedsPage = tHelpNeedsService.page(page, Wrappers.<THelpNeeds>lambdaQuery().eq(THelpNeeds::getAppUserId, userId).orderByDesc(BaseModel::getCreateTime)); return R.ok(helpNeedsPage); } @PostMapping("/addHelpNeeds") @ApiOperation(value = "养老服务--添加助需") public R<String> addHelpNeeds(@RequestBody THelpNeeds tHelpNeeds) { String userId = tokenService.getLoginUserApplet().getUserId(); tHelpNeeds.setAppUserId(userId); boolean save = tHelpNeedsService.save(tHelpNeeds); if (save) { return R.ok("添加成功"); } return R.fail("添加失败"); } } ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/QuestionnaireController.java
New file @@ -0,0 +1,115 @@ package com.ruoyi.web.controller.api; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.domain.R; import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.dto.SaveTQuestionnaireDto; import com.ruoyi.system.model.*; import com.ruoyi.system.query.PartyBuildingListQuery; import com.ruoyi.system.service.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.stream.Collectors; @Slf4j @RestController @RequestMapping("/questionnaire") @Api(tags = "问卷调查") public class QuestionnaireController { private final TQuestionnaireService questionnaireService; private final TQuestionnaireRecordService questionnaireRecordService; private final TokenService tokenService; private final TQuestionnaireStemService questionnaireStemService; private final TQuestionnaireStemOptionService questionnaireStemOptionService; private final TQuestionnaireStemBriefAnswerService questionnaireStemBriefAnswerService; public QuestionnaireController(TQuestionnaireService questionnaireService, TQuestionnaireRecordService questionnaireRecordService, TokenService tokenService, TQuestionnaireStemService questionnaireStemService, TQuestionnaireStemOptionService questionnaireStemOptionService, TQuestionnaireStemBriefAnswerService questionnaireStemBriefAnswerService) { this.questionnaireService = questionnaireService; this.questionnaireRecordService = questionnaireRecordService; this.tokenService = tokenService; this.questionnaireStemService = questionnaireStemService; this.questionnaireStemOptionService = questionnaireStemOptionService; this.questionnaireStemBriefAnswerService = questionnaireStemBriefAnswerService; } @ApiOperation(value = "问卷调查--列表", response = TQuestionnaire.class) @GetMapping(value = "/getTQuestionnaireList") public R<List<TQuestionnaire>> getTQuestionnaireList() { String userId = null; try { userId = tokenService.getLoginUserApplet().getUserId(); } catch (Exception e) { } List<TQuestionnaire> list = questionnaireService.list(new LambdaQueryWrapper<TQuestionnaire>().eq(TQuestionnaire::getStatus, 2)); List<TQuestionnaireRecord> questionnaireRecordList = questionnaireRecordService.list(); for (TQuestionnaire tQuestionnaire : list) { List<String> userIds = questionnaireRecordList.stream().filter(questionnaireRecord -> questionnaireRecord.getQuestionnaireId().equals(tQuestionnaire.getId())).map(TQuestionnaireRecord::getAppUserId).collect(Collectors.toList()); tQuestionnaire.setTotalNum(userIds.size()); if(userId!=null && userIds.contains(userId)){ tQuestionnaire.setState(2); } } return R.ok(list); } @ApiOperation(value = "问卷调查--获取题干和选项", response = TQuestionnaireStem.class) @GetMapping(value = "/getTQuestionnaireStemList/{id}") public R<List<TQuestionnaireStem>> getTQuestionnaireStemList(@PathVariable String id) { List<TQuestionnaireStem> list = questionnaireStemService.list(new LambdaQueryWrapper<TQuestionnaireStem>().eq(TQuestionnaireStem::getQuestionnaireId, id)); List<TQuestionnaireStemOption> questionnaireStemOptions = questionnaireStemOptionService.list(new LambdaQueryWrapper<TQuestionnaireStemOption>().in(TQuestionnaireStemOption::getStemId, list.stream().map(TQuestionnaireStem::getId).collect(Collectors.toList()))); for (TQuestionnaireStem tQuestionnaireStem : list) { tQuestionnaireStem.setOptions(questionnaireStemOptions.stream().filter(questionnaireStemOption -> questionnaireStemOption.getStemId().equals(tQuestionnaireStem.getId())).collect(Collectors.toList())); } return R.ok(list); } @ApiOperation(value = "问卷调查--保存") @PostMapping(value = "/saveTQuestionnaire") public R<TQuestionnaire> saveTQuestionnaire(@RequestBody SaveTQuestionnaireDto dto) { String userId = tokenService.getLoginUserApplet().getUserId(); TQuestionnaire questionnaire = questionnaireService.getById(dto.getQuestionnaireId()); if(questionnaire.getStatus()==3){ return R.fail("问卷已结束"); } if(questionnaire.getStatus()==1){ return R.fail("问卷未开始"); } long count = questionnaireRecordService.count(new LambdaQueryWrapper<TQuestionnaireRecord>().eq(TQuestionnaireRecord::getQuestionnaireId, dto.getQuestionnaireId()).eq(TQuestionnaireRecord::getAppUserId, userId)); if (count > 0) { return R.fail("您已作答过此问卷"); } List<String> tQuestionnaireStemOptionIds = dto.getTQuestionnaireStemOptionIds(); if(!tQuestionnaireStemOptionIds.isEmpty()){ List<TQuestionnaireStemOption> questionnaireStemOptions = questionnaireStemOptionService.listByIds(tQuestionnaireStemOptionIds); for (TQuestionnaireStemOption questionnaireStemOption : questionnaireStemOptions) { String answerValue = questionnaireStemOption.getAnswerValue(); answerValue = answerValue+","+userId; questionnaireStemOption.setAnswerValue(answerValue); } questionnaireStemOptionService.updateBatchById(questionnaireStemOptions); } List<TQuestionnaireStemBriefAnswer> tQuestionnaireStemBriefAnswers = dto.getTQuestionnaireStemBriefAnswers(); if(!tQuestionnaireStemBriefAnswers.isEmpty()){ tQuestionnaireStemBriefAnswers.forEach(e->e.setAppUserId(userId)); questionnaireStemBriefAnswerService.saveBatch(tQuestionnaireStemBriefAnswers); } TQuestionnaireRecord tQuestionnaireRecord = new TQuestionnaireRecord(); tQuestionnaireRecord.setAppUserId(userId); tQuestionnaireRecord.setQuestionnaireId(dto.getQuestionnaireId()); questionnaireRecordService.save(tQuestionnaireRecord); return R.ok(); } } ruoyi-system/src/main/java/com/ruoyi/system/dto/SaveTQuestionnaireDto.java
New file @@ -0,0 +1,23 @@ package com.ruoyi.system.dto; import com.ruoyi.system.model.TQuestionnaireStemBriefAnswer; import com.ruoyi.system.model.TQuestionnaireStemOption; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; @Data @ApiModel("答题Dto") public class SaveTQuestionnaireDto { @ApiModelProperty("问卷id") private String questionnaireId; @ApiModelProperty("选择Id") private List<String> tQuestionnaireStemOptionIds; @ApiModelProperty("简答题") private List<TQuestionnaireStemBriefAnswer> tQuestionnaireStemBriefAnswers; } ruoyi-system/src/main/java/com/ruoyi/system/model/TQuestionnaire.java
@@ -48,4 +48,13 @@ @TableField("status") private Integer status; @TableField(exist = false) @ApiModelProperty(value = "状态 1=未作答 2=已做答") private Integer state=1; @TableField(exist = false) @ApiModelProperty(value = "作答人数") private Integer totalNum; } ruoyi-system/src/main/java/com/ruoyi/system/model/TQuestionnaireStem.java
@@ -10,6 +10,7 @@ import lombok.EqualsAndHashCode; import java.io.Serializable; import java.util.List; /** * <p> @@ -46,5 +47,9 @@ @TableField("stem_type") private Integer stemType; @ApiModelProperty(value = "选项") @TableField(exist = false) private List<TQuestionnaireStemOption> options; }