记得上下班打卡 | 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 {
public ResponseDto<AdamUserInfoVo> edit(@Valid @RequestBody AdamUserInfoParam parameter) {
log.debug("parameter:{}", JsonUtils.toJson(parameter));
final AdamTagVo sex = parameter.getSex();
AdamTagVo sex = parameter.getSex();
if (null == sex) {
return ResponseDto.failure(ErrorMapping.get("10011"));
}
List<AdamTagVo> sexList = this.getTagsForSex().getData();
List<AdamTagVo> existSexVoList = sexList.stream().filter(r -> r.getVal().equals(sex.getVal())).collect(Collectors.toList());
if (CollectionUtils.isEmpty(existSexVoList)) {
List<AdamTagVo> allSexTagVos = this.getTagsForSex().getData();
Optional<AdamTagVo> existSexTagVoOptional = allSexTagVos.stream().filter(r -> r.getVal().equals(sex.getVal())).findAny();
if (!existSexTagVoOptional.isPresent()) {
// 已选中的性别标签不在系统性别标签库中
return ResponseDto.failure(ErrorMapping.get("10011"));
}
List<AdamTagParentVo> tagMe = parameter.getTagMe();
if (null == tagMe) {
List<AdamTagParentVo> tagMeVos = parameter.getTagMe();
if (null == tagMeVos) {
return ResponseDto.failure(ErrorMapping.get("10012"));
}
List<String> chooseTagMeParentValList = tagMe.stream().map(AdamTagParentVo::getVal).collect(Collectors.toList());
List<AdamTagParentVo> existParentVoList = this.getTagsForMusic().getData()
.stream().filter(r -> chooseTagMeParentValList.contains(r.getVal())).collect(Collectors.toList());
if (chooseTagMeParentValList.size() != existParentVoList.size()) {
List<String> chooseTagMeParentVals = tagMeVos.stream().map(AdamTagParentVo::getVal).collect(Collectors.toList());
List<AdamTagParentVo> existParentVos = this.getTagsForMusic().getData()
.stream().filter(r -> chooseTagMeParentVals.contains(r.getVal())).collect(Collectors.toList());
if (chooseTagMeParentVals.size() != existParentVos.size()) {
// 已选中的父级标签与系统筛选命中的父级标签数量不同
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> chooseTagVos =
tagMe.stream().filter(r -> r.getVal().equals(parentVo.getVal())).collect(Collectors.toList()).get(0).getTagVos();
// TODO: 2021/6/13 第一版前端没有分级,暂不开启校验
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"));
}
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()) {
return ResponseDto.failure(ErrorMapping.get("10012"));
}
existParentVo.setTagVos(existTagVos);
tagMeVoList.add(existParentVo);
}
AdamUserInfoVo editUserInfoVo = adamRdmService.getUserInfoVoByUid(CurrentUtil.getCurrentUid());
editUserInfoVo.setAvatar(parameter.getAvatar());
editUserInfoVo.setBackground(parameter.getBackground());
editUserInfoVo.setNickname(parameter.getNickname());
editUserInfoVo.setSex(existSexVoList.get(0));
editUserInfoVo.setSex(existSexTagVoOptional.get());
editUserInfoVo.setBirthday(parameter.getBirthday());
editUserInfoVo.setArea(parameter.getArea());
editUserInfoVo.setSignature(parameter.getSignature());
editUserInfoVo.setTagMe(tagMe);
editUserInfoVo.setTagMe(tagMeVoList);
editUserInfoVo.setUpdatedAt(DateUtil.getNowTime());
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