记得上下班打卡 | git大法好,push需谨慎

Commit 5d0ab44f authored by 胡佳晨's avatar 胡佳晨

Merge remote-tracking branch 'origin/dev' into dev

parents 84ec9633 dc80ac43
...@@ -57,52 +57,69 @@ public class AdamUserController { ...@@ -57,52 +57,69 @@ public class AdamUserController {
public ResponseDto<AdamUserInfoVo> edit(@Valid @RequestBody AdamUserInfoParam parameter) { public ResponseDto<AdamUserInfoVo> edit(@Valid @RequestBody AdamUserInfoParam parameter) {
log.debug("parameter:{}", JsonUtils.toJson(parameter)); log.debug("parameter:{}", JsonUtils.toJson(parameter));
final AdamTagVo sex = parameter.getSex(); AdamTagVo sex = parameter.getSex();
if (null == sex) { if (null == sex) {
return ResponseDto.failure(ErrorMapping.get("10011")); return ResponseDto.failure(ErrorMapping.get("10011"));
} }
List<AdamTagVo> sexList = this.getTagsForSex().getData(); List<AdamTagVo> allSexTagVos = this.getTagsForSex().getData();
List<AdamTagVo> existSexVoList = sexList.stream().filter(r -> r.getVal().equals(sex.getVal())).collect(Collectors.toList()); Optional<AdamTagVo> existSexTagVoOptional = allSexTagVos.stream().filter(r -> r.getVal().equals(sex.getVal())).findAny();
if (CollectionUtils.isEmpty(existSexVoList)) { if (!existSexTagVoOptional.isPresent()) {
// 已选中的性别标签不在系统性别标签库中
return ResponseDto.failure(ErrorMapping.get("10011")); return ResponseDto.failure(ErrorMapping.get("10011"));
} }
List<AdamTagParentVo> tagMe = parameter.getTagMe(); List<AdamTagParentVo> tagMeVos = parameter.getTagMe();
if (null == tagMe) { if (null == tagMeVos) {
return ResponseDto.failure(ErrorMapping.get("10012")); return ResponseDto.failure(ErrorMapping.get("10012"));
} }
List<String> chooseTagMeParentValList = tagMe.stream().map(AdamTagParentVo::getVal).collect(Collectors.toList()); List<String> chooseTagMeParentVals = tagMeVos.stream().map(AdamTagParentVo::getVal).collect(Collectors.toList());
List<AdamTagParentVo> existParentVoList = this.getTagsForMusic().getData() List<AdamTagParentVo> existParentVos = this.getTagsForMusic().getData()
.stream().filter(r -> chooseTagMeParentValList.contains(r.getVal())).collect(Collectors.toList()); .stream().filter(r -> chooseTagMeParentVals.contains(r.getVal())).collect(Collectors.toList());
if (chooseTagMeParentValList.size() != existParentVoList.size()) { if (chooseTagMeParentVals.size() != existParentVos.size()) {
// 已选中的父级标签与系统筛选命中的父级标签数量不同
return ResponseDto.failure(ErrorMapping.get("10012")); return ResponseDto.failure(ErrorMapping.get("10012"));
} }
for (AdamTagParentVo parentVo : existParentVoList) { List<AdamTagParentVo> tagMeVoList = new ArrayList<>();
// tagMe子级标签校验处理
for (AdamTagParentVo parentVo : tagMeVos) {
// 系统对应的父级标签
AdamTagParentVo existParentVo = existParentVos.stream().filter(r -> r.getVal().equals(parentVo.getVal())).findAny().get();
List<AdamTagVo> tagVos = parentVo.getTagVos(); List<AdamTagVo> tagVos = parentVo.getTagVos();
List<AdamTagVo> chooseTagVos = // TODO: 2021/6/13 第一版前端没有分级,暂不开启校验
tagMe.stream().filter(r -> r.getVal().equals(parentVo.getVal())).collect(Collectors.toList()).get(0).getTagVos(); if (CollectionUtils.isEmpty(tagVos)) {
existParentVo.setTagVos(null);
tagMeVoList.add(existParentVo);
continue;
}
List<AdamTagVo> allTagVos = existParentVo.getTagVos();
if (tagVos.size() < chooseTagVos.size()) { if (CollectionUtils.isEmpty(allTagVos) || tagVos.size() > allTagVos.size()) {
// 已选中的子级标签数量大于系统对应子级标签数量
return ResponseDto.failure(ErrorMapping.get("10012")); return ResponseDto.failure(ErrorMapping.get("10012"));
} }
List<String> chooseTagVoVals = chooseTagVos.stream().map(AdamTagVo::getVal).collect(Collectors.toList()); // 已选中的子级标签key集合
List<String> chooseTagVoVals = tagVos.stream().map(AdamTagVo::getVal).collect(Collectors.toList());
List<AdamTagVo> existTagVos = tagVos.stream().filter(r -> chooseTagVoVals.contains(r.getVal())).collect(Collectors.toList()); List<AdamTagVo> existTagVos = allTagVos.stream().filter(r -> chooseTagVoVals.contains(r.getVal())).collect(Collectors.toList());
if (chooseTagVoVals.size() != existTagVos.size()) { if (chooseTagVoVals.size() != existTagVos.size()) {
return ResponseDto.failure(ErrorMapping.get("10012")); return ResponseDto.failure(ErrorMapping.get("10012"));
} }
existParentVo.setTagVos(existTagVos);
tagMeVoList.add(existParentVo);
} }
AdamUserInfoVo editUserInfoVo = adamRdmService.getUserInfoVoByUid(CurrentUtil.getCurrentUid()); AdamUserInfoVo editUserInfoVo = adamRdmService.getUserInfoVoByUid(CurrentUtil.getCurrentUid());
editUserInfoVo.setAvatar(parameter.getAvatar()); editUserInfoVo.setAvatar(parameter.getAvatar());
editUserInfoVo.setBackground(parameter.getBackground()); editUserInfoVo.setBackground(parameter.getBackground());
editUserInfoVo.setNickname(parameter.getNickname()); editUserInfoVo.setNickname(parameter.getNickname());
editUserInfoVo.setSex(existSexVoList.get(0)); editUserInfoVo.setSex(existSexTagVoOptional.get());
editUserInfoVo.setBirthday(parameter.getBirthday()); editUserInfoVo.setBirthday(parameter.getBirthday());
editUserInfoVo.setArea(parameter.getArea()); editUserInfoVo.setArea(parameter.getArea());
editUserInfoVo.setSignature(parameter.getSignature()); editUserInfoVo.setSignature(parameter.getSignature());
editUserInfoVo.setTagMe(tagMe); editUserInfoVo.setTagMe(tagMeVoList);
editUserInfoVo.setUpdatedAt(DateUtil.getNowTime()); editUserInfoVo.setUpdatedAt(DateUtil.getNowTime());
editUserInfoVo.setIsComplete(1); editUserInfoVo.setIsComplete(1);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment