Merge branch 'master' of http://47.109.37.87:3000/by2025/SmartParks
All checks were successful
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Successful in 6m17s

This commit is contained in:
dy
2025-08-17 22:04:01 +08:00
8 changed files with 69 additions and 14 deletions

View File

@@ -74,8 +74,8 @@
<properties>
<!-- 环境标识,需要与配置文件的名称相对应 -->
<profiles.active>dev</profiles.active>
<nacos.server>127.0.0.1:8848</nacos.server>
<logstash.address>127.0.0.1:4560</logstash.address>
<nacos.server>10.20.1.65:8848</nacos.server>
<logstash.address>10.20.1.65:4560</logstash.address>
<nacos.discovery.group>DEFAULT_GROUP</nacos.discovery.group>
<nacos.config.group>DEFAULT_GROUP</nacos.config.group>
<nacos.username>nacos</nacos.username>

View File

@@ -51,7 +51,7 @@ public class QuestionnaireController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("property:questionnaire:query")
// @SaCheckPermission("property:questionnaire:query")
@GetMapping("/{id}")
public R<QuestionnaireVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {

View File

@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serial;
@@ -59,5 +58,4 @@ public class Questionnaire extends TenantEntity {
*/
private String status;
}

View File

@@ -11,8 +11,6 @@ import jakarta.validation.constraints.*;
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 调查问卷业务对象 questionnaire
*

View File

@@ -7,11 +7,12 @@ import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.property.domain.QuestionnaireQuestionItem;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
@@ -70,5 +71,8 @@ public class QuestionnaireQuestionVo implements Serializable {
@ExcelProperty(value = "排序")
private Long sort;
/**
* 问题列表
*/
private List<QuestionnaireQuestionItemVo> questionnaireQuestionItemVos;
}

View File

@@ -13,7 +13,7 @@ import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
@@ -72,5 +72,8 @@ public class QuestionnaireVo implements Serializable {
@ExcelProperty(value = "状态(1草稿2已发布3未发布)")
private String status;
/**
* 问题列表
*/
private List<QuestionnaireQuestionVo> questionnaireQuestionVos;
}

View File

@@ -16,6 +16,8 @@ import org.dromara.property.domain.QuestionnaireQuestion;
import org.dromara.property.domain.QuestionnaireQuestionItem;
import org.dromara.property.domain.bo.QuestionnaireQuestionBo;
import org.dromara.property.domain.bo.QuestionnaireQuestionItemBo;
import org.dromara.property.domain.vo.QuestionnaireQuestionItemVo;
import org.dromara.property.domain.vo.QuestionnaireQuestionVo;
import org.dromara.property.mapper.QuestionnaireQuestionItemMapper;
import org.dromara.property.mapper.QuestionnaireQuestionMapper;
import org.springframework.stereotype.Service;
@@ -53,7 +55,9 @@ public class QuestionnaireServiceImpl implements IQuestionnaireService {
*/
@Override
public QuestionnaireVo queryById(Long id) {
return baseMapper.selectVoById(id);
QuestionnaireVo questionnaireVo = baseMapper.selectVoById(id);
processingData(questionnaireVo,null, null);
return questionnaireVo;
}
/**
@@ -67,6 +71,23 @@ public class QuestionnaireServiceImpl implements IQuestionnaireService {
public TableDataInfo<QuestionnaireVo> queryPageList(QuestionnaireBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<Questionnaire> lqw = buildQueryWrapper(bo);
Page<QuestionnaireVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
if (CollUtil.isNotEmpty(result.getRecords())) {
//收集所有的问卷id
List<Long> questionnaireIds = result.getRecords().stream().map(QuestionnaireVo::getId).toList();
// 一次性查询所有问题
LambdaQueryWrapper<QuestionnaireQuestion> questionQueryWrapper = Wrappers.lambdaQuery();
questionQueryWrapper.in(QuestionnaireQuestion::getQuestionnaireId, questionnaireIds);
List<QuestionnaireQuestionVo> questionnaireQuestionVos = questionnaireQuestionMapper.selectVoList(questionQueryWrapper);
//收集所有问题id
List<Long> idList = questionnaireQuestionVos.stream().map(QuestionnaireQuestionVo::getId).toList();
//查询所有问题选项
LambdaQueryWrapper<QuestionnaireQuestionItem> questionItemQueryWrapper = Wrappers.lambdaQuery();
questionItemQueryWrapper.in(QuestionnaireQuestionItem::getQuestionId, idList);
List<QuestionnaireQuestionItemVo> questionnaireQuestionItemVos = questionnaireQuestionItemMapper.selectVoList(questionItemQueryWrapper);
result.getRecords().stream().forEach(questionnaireVo -> {
processingData(questionnaireVo, questionnaireQuestionVos, questionnaireQuestionItemVos);
});
}
return TableDataInfo.build(result);
}
@@ -91,6 +112,37 @@ public class QuestionnaireServiceImpl implements IQuestionnaireService {
return lqw;
}
/**
* 处理数据
*/
private void processingData(QuestionnaireVo questionnaireVo, List<QuestionnaireQuestionVo> questionnaireQuestionVos, List<QuestionnaireQuestionItemVo> questionnaireQuestionItemVos) {
// 在此处添加您选中的代码来获取问卷问题列表
if (CollUtil.isEmpty(questionnaireQuestionVos)) {
LambdaQueryWrapper<QuestionnaireQuestion> questionQueryWrapper = Wrappers.lambdaQuery();
questionQueryWrapper.eq(QuestionnaireQuestion::getQuestionnaireId, questionnaireVo.getId());
questionnaireQuestionVos = questionnaireQuestionMapper.selectVoList(questionQueryWrapper);
if (CollUtil.isEmpty(questionnaireQuestionItemVos)) {
//收集所有问题id
List<Long> idList = questionnaireQuestionVos.stream().map(QuestionnaireQuestionVo::getId).toList();
//查询所有问题选项
LambdaQueryWrapper<QuestionnaireQuestionItem> questionItemQueryWrapper = Wrappers.lambdaQuery();
questionItemQueryWrapper.in(QuestionnaireQuestionItem::getQuestionId, idList);
questionnaireQuestionItemVos = questionnaireQuestionItemMapper.selectVoList(questionItemQueryWrapper);
}
}
if (CollUtil.isNotEmpty(questionnaireQuestionVos)) {
List<QuestionnaireQuestionItemVo> finalQuestionnaireQuestionItemVos = questionnaireQuestionItemVos;
questionnaireQuestionVos.stream().forEach(questionnaireQuestionVo -> {
//筛选出属于当前问题的问题项返回list
List<QuestionnaireQuestionItemVo> list = finalQuestionnaireQuestionItemVos.stream().filter(questionnaireQuestionItemVo -> questionnaireQuestionItemVo.getQuestionId().equals(questionnaireQuestionVo.getId())).toList();
questionnaireQuestionVo.setQuestionnaireQuestionItemVos(list);
});
}
questionnaireVo.setQuestionnaireQuestionVos(questionnaireQuestionVos);
}
;
/**
* 新增调查问卷
*
@@ -191,7 +243,7 @@ public class QuestionnaireServiceImpl implements IQuestionnaireService {
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
boolean flag = baseMapper.deleteByIds(ids) > 0;
if(flag){
if (flag) {
ids.stream().forEach(id -> {
//查询问题
List<QuestionnaireQuestion> questionnaireQuestionList = questionnaireQuestionMapper.selectList(new LambdaUpdateWrapper<QuestionnaireQuestion>().eq(QuestionnaireQuestion::getQuestionnaireId, id));

View File

@@ -40,7 +40,7 @@ spring.sql.init.platform=mysql
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/ry-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
db.url.0=jdbc:mysql://10.20.1.65:3306/ry-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
db.user.0=root
db.password.0=By@2025!