parent
8de9482790
commit
b122d6b1c6
12 changed files with 245 additions and 21 deletions
@ -0,0 +1,20 @@ |
||||
package cn.soul2.jyjc.admin.dto; |
||||
|
||||
import lombok.Data; |
||||
import lombok.experimental.Accessors; |
||||
|
||||
/** |
||||
* @author Soul2 |
||||
* @date 2024-03-24 16:46 |
||||
*/ |
||||
|
||||
@Data |
||||
@Accessors(chain = true) |
||||
public class GetSubjectDTO { |
||||
|
||||
/** |
||||
* Qn id |
||||
*/ |
||||
private String qnId; |
||||
|
||||
} |
@ -0,0 +1,23 @@ |
||||
package cn.soul2.jyjc.admin.service; |
||||
|
||||
import cn.soul2.jyjc.admin.dto.GetSubjectDTO; |
||||
import cn.soul2.jyjc.admin.vo.SubjectVO; |
||||
|
||||
import java.util.List; |
||||
|
||||
/** |
||||
* @author Soul2 |
||||
* @date 2024-03-24 21:38 |
||||
*/ |
||||
|
||||
public interface ISubjectService { |
||||
|
||||
/** |
||||
* 移动端读取问卷 |
||||
* |
||||
* @param dto 问卷id |
||||
* @return {@link List}<{@link SubjectVO}> |
||||
*/ |
||||
List<SubjectVO> getSubject(GetSubjectDTO dto); |
||||
|
||||
} |
@ -0,0 +1,68 @@ |
||||
package cn.soul2.jyjc.admin.service.impl; |
||||
|
||||
import cn.soul2.jyjc.admin.dto.GetSubjectDTO; |
||||
import cn.soul2.jyjc.admin.entity.RefQuestionnaireSubjectDO; |
||||
import cn.soul2.jyjc.admin.entity.SubjectDO; |
||||
import cn.soul2.jyjc.admin.entity.SubjectItemsDO; |
||||
import cn.soul2.jyjc.admin.repository.IRefQuestionnaireSubjectRepository; |
||||
import cn.soul2.jyjc.admin.repository.ISubjectItemsRepository; |
||||
import cn.soul2.jyjc.admin.repository.ISubjectRepository; |
||||
import cn.soul2.jyjc.admin.service.ISubjectService; |
||||
import cn.soul2.jyjc.admin.vo.SubjectItemVO; |
||||
import cn.soul2.jyjc.admin.vo.SubjectVO; |
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
||||
import org.apache.commons.lang3.StringUtils; |
||||
import org.springframework.beans.BeanUtils; |
||||
import org.springframework.beans.factory.annotation.Autowired; |
||||
import org.springframework.stereotype.Service; |
||||
|
||||
import java.util.ArrayList; |
||||
import java.util.List; |
||||
import java.util.Set; |
||||
import java.util.stream.Collectors; |
||||
|
||||
/** |
||||
* @author Soul2 |
||||
* @date 2024-03-24 21:38 |
||||
*/ |
||||
|
||||
@Service |
||||
public class SubjectServiceImpl implements ISubjectService { |
||||
|
||||
@Autowired |
||||
private IRefQuestionnaireSubjectRepository refQuestionnaireSubjectRepository; |
||||
|
||||
@Autowired |
||||
private ISubjectItemsRepository itemsRepository; |
||||
|
||||
@Autowired |
||||
private ISubjectRepository subjectRepository; |
||||
|
||||
@Override |
||||
public List<SubjectVO> getSubject(GetSubjectDTO dto) { |
||||
if (StringUtils.isBlank(dto.getQnId())) { |
||||
return new ArrayList<>(); |
||||
} |
||||
LambdaQueryWrapper<RefQuestionnaireSubjectDO> query = Wrappers.lambdaQuery(); |
||||
query.eq(RefQuestionnaireSubjectDO::getQnId, dto.getQnId()); |
||||
List<RefQuestionnaireSubjectDO> refs = refQuestionnaireSubjectRepository.list(query); |
||||
Set<String> idSet = refs.stream().map(RefQuestionnaireSubjectDO::getSubjectId).collect(Collectors.toSet()); |
||||
List<SubjectItemsDO> itemsDos = itemsRepository.listBySubjectIds(idSet); |
||||
List<SubjectDO> list = subjectRepository.listByIds(idSet); |
||||
return list.stream().map(e -> { |
||||
SubjectVO vo = new SubjectVO(); |
||||
BeanUtils.copyProperties(e, vo); |
||||
List<SubjectItemVO> items = itemsDos.stream() |
||||
.filter(item -> item.getSubjectId().equals(e.getId())) |
||||
.map(item -> { |
||||
SubjectItemVO itemVO = new SubjectItemVO(); |
||||
BeanUtils.copyProperties(item, itemVO); |
||||
return itemVO.setItemId(item.getId()); |
||||
}) |
||||
.collect(Collectors.toList()); |
||||
vo.setItems(items); |
||||
return vo; |
||||
}).collect(Collectors.toList()); |
||||
} |
||||
} |
@ -1,15 +1,32 @@ |
||||
package cn.soul2.jyjc.admin.utils; |
||||
|
||||
import java.time.LocalDate; |
||||
import java.util.UUID; |
||||
import org.springframework.beans.factory.annotation.Value; |
||||
import org.springframework.context.ApplicationContext; |
||||
import org.springframework.context.annotation.AnnotationConfigApplicationContext; |
||||
|
||||
import java.util.List; |
||||
|
||||
public class Test { |
||||
|
||||
@Value("${cors.allow-origins}") |
||||
private List<String> allowOrigin; |
||||
|
||||
public static void main(String[] args) { |
||||
String ddl = "INSERT INTO cn_soul2.data_table_demo " + |
||||
"(id, name, attr1, attr2, update_time, create_time, removed) " + |
||||
"VALUES('%s', '测试%d', '%d', '内容%d', '%s', '%s', 0);"; |
||||
for (int i = 0; i < 30; i++) { |
||||
System.out.printf((ddl) + "%n", UUID.randomUUID().toString().replaceAll("-", ""), i, i, i, LocalDate.now(), LocalDate.now()); |
||||
ApplicationContext context = new AnnotationConfigApplicationContext(Test.class); |
||||
Test test = context.getBean(Test.class); |
||||
for (String s : test.getAllowOrigin()) { |
||||
System.out.println(s); |
||||
} |
||||
} |
||||
|
||||
public List<String> getAllowOrigin() { |
||||
return allowOrigin; |
||||
} |
||||
|
||||
// String ddl = "INSERT INTO cn_soul2.data_table_demo " +
|
||||
// "(id, name, attr1, attr2, update_time, create_time, removed) " +
|
||||
// "VALUES('%s', '测试%d', '%d', '内容%d', '%s', '%s', 0);";
|
||||
// for (int i = 0; i < 30; i++) {
|
||||
// System.out.printf((ddl) + "%n", UUID.randomUUID().toString().replaceAll("-", ""), i, i, i, LocalDate.now(), LocalDate.now());
|
||||
// }
|
||||
} |
||||
|
Loading…
Reference in new issue