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; |
package cn.soul2.jyjc.admin.utils; |
||||||
|
|
||||||
import java.time.LocalDate; |
import org.springframework.beans.factory.annotation.Value; |
||||||
import java.util.UUID; |
import org.springframework.context.ApplicationContext; |
||||||
|
import org.springframework.context.annotation.AnnotationConfigApplicationContext; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
public class Test { |
public class Test { |
||||||
|
|
||||||
|
@Value("${cors.allow-origins}") |
||||||
|
private List<String> allowOrigin; |
||||||
|
|
||||||
public static void main(String[] args) { |
public static void main(String[] args) { |
||||||
String ddl = "INSERT INTO cn_soul2.data_table_demo " + |
ApplicationContext context = new AnnotationConfigApplicationContext(Test.class); |
||||||
"(id, name, attr1, attr2, update_time, create_time, removed) " + |
Test test = context.getBean(Test.class); |
||||||
"VALUES('%s', '测试%d', '%d', '内容%d', '%s', '%s', 0);"; |
for (String s : test.getAllowOrigin()) { |
||||||
for (int i = 0; i < 30; i++) { |
System.out.println(s); |
||||||
System.out.printf((ddl) + "%n", UUID.randomUUID().toString().replaceAll("-", ""), i, i, i, LocalDate.now(), LocalDate.now()); |
|
||||||
} |
} |
||||||
} |
} |
||||||
|
|
||||||
|
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