查看代码遇到的问题:
1、为什么在最后的repository 中都需要进行convert 转化一下结果? 这里是使用了mapstruct 将普通的pojo类转化为 dto 或者 do类。
2、@InvocationDurationLogger(name = "repository")
@InvocationDurationLogger(name = "facade") 这个注解是干啥的
3、@Mappings({
@Mapping(target = "status", expression = "java(transfer(matterConfig.getStatus()))"),
@Mapping(target = "feature", expression = "java(transfer(matterConfig.getExtendInfo()))")
})
这个是吧生成的实体类转化为dto,进行字段的映射,可以自动生成实现类
4、swagger使用:在类上 @Api(value = "查询")
方法上。 @ApiOperation(value = "状态", notes = "状态")
参数上。@ApiParam(name = "request", value = "请求参数", required = true) @RequestBody
Optional的用法::: 这个是类名对应方法名返回结果。 .map的意思是内部可以使用方法。
map的values 方法获取所有的map中的值,然后转化为list
return Optional.ofNullable(getInstanceId())
.map(OrderReceivingInstanceId::getParentOrderId)
.map(StringUtils::isNotBlank)
.orElse(Boolean.FALSE);
这个是将map。values 得到的列表转化为。list集合
List<String> valuesList = new ArrayList<String>(map.values());
5、Lombok注解的使用
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ToString
使用:
UserExample userExample = UserExample.builder() .id(1) .name("aaa") .address("bbb") .build();
6、putIfAbsent
putIfAbsent返回旧值,如果没有则返回null
先计算value,再判断key是否存在
7、@GetMapping. 可以替代。@RequestMapping(value =“” , method=RequestMethod.GET)
@PostMapping
@DeleteMapping
8、 对list赋值以后在转化为list集合
List<ApplyConditionCopyDTO> applyConditionCopyDTOS = listResult.getData();
List<MatterApplyConditionVO> conditionVOS = applyConditionCopyDTOS.stream().map(dto -> {
MatterApplyConditionVO vo = new MatterApplyConditionVO();
vo.setPropertyCode(dto.getPropertyCode());
return vo;
}).collect(Collectors.toList());
9、当查询返回结果都为真的时候才执行下面的
if(queryResponseDTO.getPageResult()!=null && queryResponseDTO.getPageResult().isSuccess() && queryResponseDTO.getPageResult().getData()!=null){
10、// Calculate total points of all active tasks using sum()
final long totalPointsOfOpenTasks = tasks
.stream()
.filter( task -> task.getStatus() == Status.OPEN )
.mapToInt( Task::getPoints )
.sum();
System.out.println( "Total points: " + totalPointsOfOpenTasks );