TASK: library关联分类;

This commit is contained in:
shahaibo
2023-11-14 14:33:56 +08:00
parent bcfcb5da12
commit 5dbf76c4e2
8 changed files with 188 additions and 170 deletions

View File

@@ -6,6 +6,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import java.util.List;
@Data @Data
@ApiModel("Library分页查询2") @ApiModel("Library分页查询2")
@@ -25,6 +26,6 @@ public class QueryLibraryPageServiceDTO extends PageQueryBaseVo {
@ApiModelProperty("pictureName") @ApiModelProperty("pictureName")
private String pictureName; private String pictureName;
private Long classificationId; private List<Long> classificationIdList;
} }

View File

@@ -5,6 +5,7 @@ import com.ai.da.common.config.exception.BusinessException;
import com.ai.da.common.context.UserContext; import com.ai.da.common.context.UserContext;
import com.ai.da.common.enums.LoginTypeEnum; import com.ai.da.common.enums.LoginTypeEnum;
import com.ai.da.common.enums.AuthenticationOperationTypeEnum; import com.ai.da.common.enums.AuthenticationOperationTypeEnum;
import com.ai.da.common.response.ResultEnum;
import com.ai.da.common.security.jwt.JWTTokenHelper; import com.ai.da.common.security.jwt.JWTTokenHelper;
import com.ai.da.common.utils.*; import com.ai.da.common.utils.*;
import com.ai.da.mapper.AccountMapper; import com.ai.da.mapper.AccountMapper;
@@ -64,7 +65,7 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
accountMapper.updateById(account); accountMapper.updateById(account);
} else { } else {
if (!account.getUserPassword().equals(accountDTO.getPassword())) { if (!account.getUserPassword().equals(accountDTO.getPassword())) {
throw new BusinessException("password.error"); throw new BusinessException("password.error", ResultEnum.PROMPT.getCode());
} }
} }
/*发送邮件*/ /*发送邮件*/
@@ -72,7 +73,7 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
log.info(account.getUserEmail()); log.info(account.getUserEmail());
log.info(accountDTO.getEmail()); log.info(accountDTO.getEmail());
if (!account.getUserEmail().equals(accountDTO.getEmail())) { if (!account.getUserEmail().equals(accountDTO.getEmail())) {
throw new BusinessException("email.error"); throw new BusinessException("email.error", ResultEnum.PROMPT.getCode());
} }
if (Objects.isNull(authenticationOperationTypeEnum)) { if (Objects.isNull(authenticationOperationTypeEnum)) {
throw new BusinessException("unknown.authentication.operation.type"); throw new BusinessException("unknown.authentication.operation.type");
@@ -137,11 +138,11 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
//校验邮箱验证码 //校验邮箱验证码
String verifyCode = LocalCacheUtils.getVerifyCodeCache(AuthenticationOperationTypeEnum.LOGIN.name() + "_" + accountLoginDTO.getEmail()); String verifyCode = LocalCacheUtils.getVerifyCodeCache(AuthenticationOperationTypeEnum.LOGIN.name() + "_" + accountLoginDTO.getEmail());
if (StringUtils.isBlank(verifyCode)) { if (StringUtils.isBlank(verifyCode)) {
throw new BusinessException("the.verification.code.has.expired"); throw new BusinessException("the.verification.code.has.expired", ResultEnum.PROMPT.getCode());
} }
if (!"921314".equals(accountLoginDTO.getEmailVerifyCode())) { if (!"921314".equals(accountLoginDTO.getEmailVerifyCode())) {
if (!verifyCode.equals(accountLoginDTO.getEmailVerifyCode())) { if (!verifyCode.equals(accountLoginDTO.getEmailVerifyCode())) {
throw new BusinessException("verification.code.error"); throw new BusinessException("verification.code.error", ResultEnum.PROMPT.getCode());
} }
} }
break; break;
@@ -211,7 +212,7 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
public Boolean bindEmail(AccountBindEmailDTO accountBindEmailDTO) { public Boolean bindEmail(AccountBindEmailDTO accountBindEmailDTO) {
Account account = baseMapper.selectById(accountBindEmailDTO.getUserId()); Account account = baseMapper.selectById(accountBindEmailDTO.getUserId());
if (Objects.isNull(account)) { if (Objects.isNull(account)) {
throw new BusinessException("userName.does.not.exist"); throw new BusinessException("userName.does.not.exist", ResultEnum.PROMPT.getCode());
} }
if (StringUtils.isNotBlank(account.getUserEmail())) { if (StringUtils.isNotBlank(account.getUserEmail())) {
throw new BusinessException("user.has.bound.mailbox"); throw new BusinessException("user.has.bound.mailbox");
@@ -219,10 +220,10 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
//校验邮箱验证码 //校验邮箱验证码
String verifyCode = LocalCacheUtils.getVerifyCodeCache(AuthenticationOperationTypeEnum.BIND_MAILBOX.name() + "_" + accountBindEmailDTO.getUserEmail()); String verifyCode = LocalCacheUtils.getVerifyCodeCache(AuthenticationOperationTypeEnum.BIND_MAILBOX.name() + "_" + accountBindEmailDTO.getUserEmail());
if (StringUtils.isBlank(verifyCode)) { if (StringUtils.isBlank(verifyCode)) {
throw new BusinessException("the.verification.code.has.expired"); throw new BusinessException("the.verification.code.has.expired", ResultEnum.PROMPT.getCode());
} }
if (!verifyCode.equals(accountBindEmailDTO.getEmailVerifyCode())) { if (!verifyCode.equals(accountBindEmailDTO.getEmailVerifyCode())) {
throw new BusinessException("verification.code.error"); throw new BusinessException("verification.code.error", ResultEnum.PROMPT.getCode());
} }
//绑定 //绑定
updatePwdByUserId(accountBindEmailDTO.getUserEmail(), accountBindEmailDTO.getUserId()); updatePwdByUserId(accountBindEmailDTO.getUserEmail(), accountBindEmailDTO.getUserId());
@@ -236,10 +237,10 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
//校验邮箱验证码 //校验邮箱验证码
String verifyCode = LocalCacheUtils.getVerifyCodeCache(AuthenticationOperationTypeEnum.FORGET_PWD.name() + "_" + accountDTO.getEmail()); String verifyCode = LocalCacheUtils.getVerifyCodeCache(AuthenticationOperationTypeEnum.FORGET_PWD.name() + "_" + accountDTO.getEmail());
if (StringUtils.isBlank(verifyCode)) { if (StringUtils.isBlank(verifyCode)) {
throw new BusinessException("the.verification.code.has.expired"); throw new BusinessException("the.verification.code.has.expired", ResultEnum.PROMPT.getCode());
} }
if (!verifyCode.equals(accountDTO.getEmailVerifyCode())) { if (!verifyCode.equals(accountDTO.getEmailVerifyCode())) {
throw new BusinessException("verification.code.error"); throw new BusinessException("verification.code.error", ResultEnum.PROMPT.getCode());
} }
updatePwdByEmail(accountDTO.getPassword(), accountDTO.getEmail()); updatePwdByEmail(accountDTO.getPassword(), accountDTO.getEmail());
return Boolean.TRUE; return Boolean.TRUE;
@@ -267,7 +268,7 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
queryWrapper.lambda().last("limit 1"); queryWrapper.lambda().last("limit 1");
List<Account> accountList = accountMapper.selectList(queryWrapper); List<Account> accountList = accountMapper.selectList(queryWrapper);
if (CollectionUtil.isEmpty(accountList)) { if (CollectionUtil.isEmpty(accountList)) {
throw new BusinessException("email.does.not.exist"); throw new BusinessException("email.does.not.exist", ResultEnum.PROMPT.getCode());
} }
return accountList.get(0); return accountList.get(0);
} }
@@ -278,7 +279,7 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
queryWrapper.lambda().last("limit 1"); queryWrapper.lambda().last("limit 1");
List<Account> accountList = accountMapper.selectList(queryWrapper); List<Account> accountList = accountMapper.selectList(queryWrapper);
if (CollectionUtil.isEmpty(accountList)) { if (CollectionUtil.isEmpty(accountList)) {
throw new BusinessException("userName.does.not.exist"); throw new BusinessException("userName.does.not.exist", ResultEnum.PROMPT.getCode());
} }
return accountList.get(0); return accountList.get(0);
} }

View File

@@ -6,6 +6,7 @@ package com.ai.da.service.impl;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import com.ai.da.common.config.exception.BusinessException; import com.ai.da.common.config.exception.BusinessException;
import com.ai.da.common.context.UserContext; import com.ai.da.common.context.UserContext;
import com.ai.da.common.response.ResultEnum;
import com.ai.da.common.utils.CopyUtil; import com.ai.da.common.utils.CopyUtil;
import com.ai.da.mapper.ClassificationMapper; import com.ai.da.mapper.ClassificationMapper;
import com.ai.da.mapper.ClassificationRelLibraryMapper; import com.ai.da.mapper.ClassificationRelLibraryMapper;
@@ -84,7 +85,7 @@ public class ClassificationServiceImpl implements ClassificationService {
if (0 == classificationDTO.getDeleteConfirm()) { if (0 == classificationDTO.getDeleteConfirm()) {
// 校验删除的分类是否有关联的library数据 // 校验删除的分类是否有关联的library数据
if (CollectionUtil.isNotEmpty(classificationRelLibraryList)) { if (CollectionUtil.isNotEmpty(classificationRelLibraryList)) {
throw new BusinessException("the.classification.you.deleted.has.associated.library"); throw new BusinessException("the.classification.you.deleted.has.associated.library", ResultEnum.WARNING.getCode());
} }
}else { }else {
if (CollectionUtil.isNotEmpty(classificationRelLibraryList)) { if (CollectionUtil.isNotEmpty(classificationRelLibraryList)) {
@@ -229,7 +230,7 @@ public class ClassificationServiceImpl implements ClassificationService {
qw.lambda().eq(Classification::getClassificationName, classificationDTO.getClassificationName()); qw.lambda().eq(Classification::getClassificationName, classificationDTO.getClassificationName());
List<Classification> classificationList = classificationMapper.selectList(qw); List<Classification> classificationList = classificationMapper.selectList(qw);
if (CollectionUtil.isNotEmpty(classificationList)) { if (CollectionUtil.isNotEmpty(classificationList)) {
throw new BusinessException("classificationName.already.exists"); throw new BusinessException("classificationName.already.exists", ResultEnum.WARNING.getCode());
} }
} }
} }

View File

@@ -5,6 +5,7 @@ import com.ai.da.common.config.FileProperties;
import com.ai.da.common.config.exception.BusinessException; import com.ai.da.common.config.exception.BusinessException;
import com.ai.da.common.context.UserContext; import com.ai.da.common.context.UserContext;
import com.ai.da.common.enums.*; import com.ai.da.common.enums.*;
import com.ai.da.common.response.ResultEnum;
import com.ai.da.common.utils.*; import com.ai.da.common.utils.*;
import com.ai.da.mapper.CollectionElementMapper; import com.ai.da.mapper.CollectionElementMapper;
import com.ai.da.mapper.GenerateDetailMapper; import com.ai.da.mapper.GenerateDetailMapper;
@@ -415,7 +416,7 @@ public class CollectionElementServiceImpl extends ServiceImpl<CollectionElementM
.filter(skecth -> skecth.getIsPin() == 1 .filter(skecth -> skecth.getIsPin() == 1
&& DesignPythonItem.OUTWEAR.contains(skecth.getLevel2Type())).count(); && DesignPythonItem.OUTWEAR.contains(skecth.getLevel2Type())).count();
if (topNum > 8 || bottomNum > 8 || outerwearNum > 8) { if (topNum > 8 || bottomNum > 8 || outerwearNum > 8) {
throw new BusinessException("the.number.of.PIN.top.or.bottom.or.outerwear.sketchBoard.cannot.be.more.than.8"); throw new BusinessException("the.number.of.PIN.top.or.bottom.or.outerwear.sketchBoard.cannot.be.more.than.8", ResultEnum.PROMPT.getCode());
} }
//校验designType //校验designType
Boolean result = designDTO.getSketchBoards().stream() Boolean result = designDTO.getSketchBoards().stream()

View File

@@ -8,6 +8,7 @@ import com.ai.da.common.config.exception.BusinessException;
import com.ai.da.common.context.UserContext; import com.ai.da.common.context.UserContext;
import com.ai.da.common.enums.*; import com.ai.da.common.enums.*;
import com.ai.da.common.response.PageBaseResponse; import com.ai.da.common.response.PageBaseResponse;
import com.ai.da.common.response.ResultEnum;
import com.ai.da.common.utils.CopyUtil; import com.ai.da.common.utils.CopyUtil;
import com.ai.da.common.utils.DateUtil; import com.ai.da.common.utils.DateUtil;
import com.ai.da.common.utils.MinioUtil; import com.ai.da.common.utils.MinioUtil;
@@ -133,8 +134,11 @@ public class LibraryServiceImpl extends ServiceImpl<LibraryMapper, Library> impl
queryWrapper.like("name", query.getPictureName()); queryWrapper.like("name", query.getPictureName());
} }
// 新增分类过滤 // 新增分类过滤
if (null != query.getClassificationId()) { if (CollectionUtil.isNotEmpty(query.getClassificationIdList())) {
List<Long> libraryIdList = classificationService.getLibraryIdListByClassificationId(query.getClassificationId()); List<Long> libraryIdList = new ArrayList<>();
for (Long classificationId : query.getClassificationIdList()) {
libraryIdList.addAll(classificationService.getLibraryIdListByClassificationId(classificationId));
}
queryWrapper.lambda().in(Library::getId, libraryIdList); queryWrapper.lambda().in(Library::getId, libraryIdList);
} }
queryWrapper.orderByDesc("id"); queryWrapper.orderByDesc("id");
@@ -359,7 +363,7 @@ public class LibraryServiceImpl extends ServiceImpl<LibraryMapper, Library> impl
List<Workspace> workspaceList = workspaceService.list(qw); List<Workspace> workspaceList = workspaceService.list(qw);
if (CollectionUtil.isNotEmpty(workspaceList)) { if (CollectionUtil.isNotEmpty(workspaceList)) {
if (deleteModelConfirm.equals(0)) { if (deleteModelConfirm.equals(0)) {
throw new BusinessException("the.model.has.been.referenced.by.the.workspace"); throw new BusinessException("the.model.has.been.referenced.by.the.workspace", ResultEnum.WARNING.getCode());
} }
if (value.equals(Sex.FEMALE.getValue())) { if (value.equals(Sex.FEMALE.getValue())) {
QueryWrapper<SysFile> systemFemaleQw = new QueryWrapper<>(); QueryWrapper<SysFile> systemFemaleQw = new QueryWrapper<>();

View File

@@ -2,6 +2,7 @@ package com.ai.da.service.impl;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import com.ai.da.common.config.exception.BusinessException; import com.ai.da.common.config.exception.BusinessException;
import com.ai.da.common.response.ResultEnum;
import com.ai.da.common.utils.CopyUtil; import com.ai.da.common.utils.CopyUtil;
import com.ai.da.common.utils.PantoneUtils; import com.ai.da.common.utils.PantoneUtils;
import com.ai.da.mapper.entity.ColorLookupTable; import com.ai.da.mapper.entity.ColorLookupTable;
@@ -140,7 +141,7 @@ public class PanToneServiceImpl extends ServiceImpl<PanToneMapper, PanTone> impl
@Override @Override
public List<PantoneVO> getRgbByHsvBatch(List<GetRgbByHsvBatchDTO> hsvBatch) { public List<PantoneVO> getRgbByHsvBatch(List<GetRgbByHsvBatchDTO> hsvBatch) {
if (hsvBatch.size() > 8) { if (hsvBatch.size() > 8) {
throw new BusinessException("hsv.value.cannot.exceed.the.maximum.of.8"); throw new BusinessException("hsv.value.cannot.exceed.the.maximum.of.8", ResultEnum.PROMPT.getCode());
} }
List<Integer> colorValues = Lists.newArrayList(); List<Integer> colorValues = Lists.newArrayList();
Map<Integer, GetRgbByHsvBatchDTO> valueToHsv = Maps.newHashMap(); Map<Integer, GetRgbByHsvBatchDTO> valueToHsv = Maps.newHashMap();

View File

@@ -6,6 +6,7 @@ import com.ai.da.common.enums.LibraryLevel1TypeEnum;
import com.ai.da.common.enums.SysFileLevel1TypeEnum; import com.ai.da.common.enums.SysFileLevel1TypeEnum;
import com.ai.da.common.enums.SysFileLevel2TypeEnum; import com.ai.da.common.enums.SysFileLevel2TypeEnum;
import com.ai.da.common.response.PageBaseResponse; import com.ai.da.common.response.PageBaseResponse;
import com.ai.da.common.response.ResultEnum;
import com.ai.da.common.utils.CopyUtil; import com.ai.da.common.utils.CopyUtil;
import com.ai.da.common.utils.FileUtil; import com.ai.da.common.utils.FileUtil;
import com.ai.da.common.utils.MD5Utils; import com.ai.da.common.utils.MD5Utils;
@@ -135,7 +136,7 @@ public class WorkspaceServiceImpl extends ServiceImpl<WorkspaceMapper, Workspace
qw.lambda().eq(Workspace::getUserName, userName); qw.lambda().eq(Workspace::getUserName, userName);
List<Workspace> workspaces = baseMapper.selectList(qw); List<Workspace> workspaces = baseMapper.selectList(qw);
if (!CollectionUtils.isEmpty(workspaces)) { if (!CollectionUtils.isEmpty(workspaces)) {
throw new BusinessException("the.workspaceName.already.exists"); throw new BusinessException("the.workspaceName.already.exists", ResultEnum.WARNING.getCode());
} }
} }
@@ -474,7 +475,7 @@ public class WorkspaceServiceImpl extends ServiceImpl<WorkspaceMapper, Workspace
qw.lambda().eq(Workspace::getIsLastIndex, 1); qw.lambda().eq(Workspace::getIsLastIndex, 1);
List<Workspace> workspaces = workspaceMapper.selectList(qw); List<Workspace> workspaces = workspaceMapper.selectList(qw);
if (!CollectionUtils.isEmpty(workspaces)) { if (!CollectionUtils.isEmpty(workspaces)) {
throw new BusinessException("unable.to.delete.the.workspace.you.are.currently.using"); throw new BusinessException("unable.to.delete.the.workspace.you.are.currently.using", ResultEnum.WARNING.getCode());
} }
workspaceMapper.deleteBatchIds(deleteIds); workspaceMapper.deleteBatchIds(deleteIds);
return deleteIds; return deleteIds;

View File

@@ -1,151 +1,159 @@
# 不易报异常 # 不易报异常
system.error=System error! system.error=System error.
unknown.authentication.operation.type=Unknown authentication operation type! unknown.authentication.operation.type=Unknown authentication operation type.
failed.to.send.mail=Failed to send mail! failed.to.send.mail=Failed to send mail.
unknown.login.type=Unknown login type! unknown.login.type=Unknown login type.
error.login.type=Error login type! error.login.type=Error login type.
get.moodBoards.data.is.mismatch=Get moodBoards data is mismatch! get.moodBoards.data.is.mismatch=Get moodBoards data is mismatch.
get.printBoards.data.is.mismatch=Get printBoards data is mismatch! get.printBoards.data.is.mismatch=Get printBoards data is mismatch.
get.sketchBoards.data.is.mismatch=Get sketchBoards data is mismatch! get.sketchBoards.data.is.mismatch=Get sketchBoards data is mismatch.
modelPoint.not.found=ModelPoint not found! modelPoint.not.found=ModelPoint not found.
collection.not.found=Collection not found! collection.not.found=Collection not found.
design.not.found=Design not found! design.not.found=Design not found.
designItem.not.found=DesignItem not found! designItem.not.found=DesignItem not found.
userLikeGroup.not.found=UserLikeGroup not found! userLikeGroup.not.found=UserLikeGroup not found.
old.elements.not.found=Old elements not found! old.elements.not.found=Old elements not found.
new.designItemDetails.not.found=New designItemDetails not found! new.designItemDetails.not.found=New designItemDetails not found.
save.workspace.failed=Save workspace failed! save.workspace.failed=Save workspace failed.
save.design.failed=Save design failed! save.design.failed=Save design failed.
update.workspace.failed=Update workspace failed! update.workspace.failed=Update workspace failed.
enumeration.class.not.found=Enumeration class not found! enumeration.class.not.found=Enumeration class not found.
history.detail.not.found=History detail not found! history.detail.not.found=History detail not found.
designItemDetails.not.found=DesignItemDetails not found! designItemDetails.not.found=DesignItemDetails not found.
designPythonOutfit.not.found=DesignPythonOutfit not found! designPythonOutfit.not.found=DesignPythonOutfit not found.
unknown.parameter.level1Type=Unknown parameter level1Type! unknown.parameter.level1Type=Unknown parameter level1Type.
collectionElement.not.found=collectionElement not found! collectionElement.not.found=collectionElement not found.
select1.file.does.not.exist=Select1 file does not exist! select1.file.does.not.exist=Select1 file does not exist.
select2.file.does.not.exist=Select2 file does not exist! select2.file.does.not.exist=Select2 file does not exist.
save.collectionElement.failed=Save collectionElement failed! save.collectionElement.failed=Save collectionElement failed.
collectionElements.not.found=CollectionElements not found! collectionElements.not.found=CollectionElements not found.
batch.save.libraryList.failed=Batch save libraryList failed! batch.save.libraryList.failed=Batch save libraryList failed.
panTones.not.found=PanTones not found! panTones.not.found=PanTones not found.
save.designItem.failed=Save designItem failed! save.designItem.failed=Save designItem failed.
unknown.type=Unknown type! unknown.type=Unknown type.
unknown.operateType=Unknown operateType! unknown.operateType=Unknown operateType.
unknown.level1TypeEnum=Unknown level1TypeEnum! unknown.level1TypeEnum=Unknown level1TypeEnum.
the.id.value.is.out.of.range=The id value is out of range! the.id.value.is.out.of.range=The id value is out of range.
library.not.found=Library not found! library.not.found=Library not found.
wrong.clothes.type=Wrong clothes type! wrong.clothes.type=Wrong clothes type.
sysFile.not.found=SysFile not found! sysFile.not.found=SysFile not found.
libraryList.not.found=LibraryList not found! libraryList.not.found=LibraryList not found.
groupDetails.not.found=GroupDetails not found! groupDetails.not.found=GroupDetails not found.
history.not.found=History not found! history.not.found=History not found.
unknown.parameter.level2Type=Unknown parameter level2Type! unknown.parameter.level2Type=Unknown parameter level2Type.
MARKETING_SKETCH.type.have.been.removed=MARKETING_SKETCH type have been removed! MARKETING_SKETCH.type.have.been.removed=MARKETING_SKETCH type have been removed.
unknown.modelType=Unknown modelType! unknown.modelType=Unknown modelType.
save.library.failed=Save library failed! save.library.failed=Save library failed.
get.file.failed=Get file failed! get.file.failed=Get file failed.
the.path.is.error=The path is error! the.path.is.error=The path is error.
batch.save.colorElements.failed=Batch save colorElements failed! batch.save.colorElements.failed=Batch save colorElements failed.
initSysFile.ioException=InitSysFile ioException! initSysFile.ioException=InitSysFile ioException.
save.sysFile.failed=Save sysFile failed! save.sysFile.failed=Save sysFile failed.
save.pythonTAllInfo.failed=Save pythonTAllInfo failed! save.pythonTAllInfo.failed=Save pythonTAllInfo failed.
save.collection.failed=Save collection failed! save.collection.failed=Save collection failed.
save.designItemDetail.failed=Save designItemDetail failed! save.designItemDetail.failed=Save designItemDetail failed.
save.classification.failed=Save classification failed! save.classification.failed=Save classification failed.
update.classification.failed=Update classification failed! update.classification.failed=Update classification failed.
please.input.the.caption=Please input the caption! please.input.the.caption=Please input the caption.
please.choose.an.image=Please choose an image! please.choose.an.image=Please choose an image.
please.input.the.caption.and.choose.an.image=Please input the caption and choose an image! please.input.the.caption.and.choose.an.image=Please input the caption and choose an image.
duplicate.likes.are.not.allowed=Duplicate likes are not allowed! duplicate.likes.are.not.allowed=Duplicate likes are not allowed.
layer.information.not.found=Layer information not found! layer.information.not.found=Layer information not found.
singleOverall.cannot.be.empty=singleOverall cannot be empty! singleOverall.cannot.be.empty=singleOverall cannot be empty.
colorBoards.cannot.be.empty=colorBoards cannot be empty! colorBoards.cannot.be.empty=colorBoards cannot be empty.
systemScale.cannot.be.empty=systemScale cannot be empty! systemScale.cannot.be.empty=systemScale cannot be empty.
modelType.cannot.be.empty=modelType cannot be empty! modelType.cannot.be.empty=modelType cannot be empty.
modelSex.cannot.be.empty=modelSex cannot be empty! modelSex.cannot.be.empty=modelSex cannot be empty.
templateId.cannot.be.empty=templateId cannot be empty! templateId.cannot.be.empty=templateId cannot be empty.
processId.cannot.be.empty=processId cannot be empty! processId.cannot.be.empty=processId cannot be empty.
timeZone.cannot.be.empty=timeZone cannot be empty! timeZone.cannot.be.empty=timeZone cannot be empty.
userId.cannot.be.empty=userId cannot be empty! userId.cannot.be.empty=userId cannot be empty.
email.cannot.be.empty=email cannot be empty! email.cannot.be.empty=email cannot be empty.
operationType.cannot.be.empty=operationType cannot be empty! operationType.cannot.be.empty=operationType cannot be empty.
password.cannot.be.empty=password cannot be empty! password.cannot.be.empty=password cannot be empty.
emailVerifyCode.cannot.be.empty=emailVerifyCode cannot be empty! emailVerifyCode.cannot.be.empty=emailVerifyCode cannot be empty.
loginType.cannot.be.empty=loginType cannot be empty! loginType.cannot.be.empty=loginType cannot be empty.
userName.cannot.be.empty=userName cannot be empty! userName.cannot.be.empty=userName cannot be empty.
sketchBoards.designType.cannot.be.empty=sketchBoards designType cannot be empty! sketchBoards.designType.cannot.be.empty=sketchBoards designType cannot be empty.
moodBoards.designType.cannot.be.empty=moodBoards designType cannot be empty! moodBoards.designType.cannot.be.empty=moodBoards designType cannot be empty.
printBoards.designType.cannot.be.empty=printBoards designType cannot be empty! printBoards.designType.cannot.be.empty=printBoards designType cannot be empty.
unknown.parameter.singleOverall=unknown parameter singleOverall! unknown.parameter.singleOverall=unknown parameter singleOverall.
unknown.parameter.switchCategory=unknown parameter switchCategory! unknown.parameter.switchCategory=unknown parameter switchCategory.
collectionId.cannot.be.empty=collectionId cannot be empty! collectionId.cannot.be.empty=collectionId cannot be empty.
designPythonOutfitId.cannot.be.empty=designPythonOutfitId cannot be empty! designPythonOutfitId.cannot.be.empty=designPythonOutfitId cannot be empty.
designItemId.cannot.be.empty=designItemId cannot be empty! designItemId.cannot.be.empty=designItemId cannot be empty.
designId.cannot.be.empty=designId cannot be empty! designId.cannot.be.empty=designId cannot be empty.
groupDetailId.cannot.be.empty=groupDetailId cannot be empty! groupDetailId.cannot.be.empty=groupDetailId cannot be empty.
validStartTime.cannot.be.empty=validStartTime cannot be empty! validStartTime.cannot.be.empty=validStartTime cannot be empty.
validEndTime.cannot.be.empty=validEndTime cannot be empty! validEndTime.cannot.be.empty=validEndTime cannot be empty.
user_id.cannot.be.empty=user_id cannot be empty! user_id.cannot.be.empty=user_id cannot be empty.
session_id.cannot.be.empty=session_id cannot be empty! session_id.cannot.be.empty=session_id cannot be empty.
rgbValue.cannot.be.empty=rgbValue cannot be empty! rgbValue.cannot.be.empty=rgbValue cannot be empty.
file.cannot.be.empty=file cannot be empty! file.cannot.be.empty=file cannot be empty.
select1Id.cannot.be.empty=select1Id cannot be empty! select1Id.cannot.be.empty=select1Id cannot be empty.
select2Id.cannot.be.empty=select2Id cannot be empty! select2Id.cannot.be.empty=select2Id cannot be empty.
isPin.cannot.be.empty=isPin cannot be empty! isPin.cannot.be.empty=isPin cannot be empty.
designType.cannot.be.empty=designType cannot be empty! designType.cannot.be.empty=designType cannot be empty.
priority.cannot.be.empty=priority cannot be empty! priority.cannot.be.empty=priority cannot be empty.
clothes.cannot.be.empty=clothes cannot be empty! clothes.cannot.be.empty=clothes cannot be empty.
isPreview.cannot.be.empty=isPreview cannot be empty! isPreview.cannot.be.empty=isPreview cannot be empty.
h.cannot.be.empty=h cannot be empty! h.cannot.be.empty=h cannot be empty.
s.cannot.be.empty=s cannot be empty! s.cannot.be.empty=s cannot be empty.
v.cannot.be.empty=v cannot be empty! v.cannot.be.empty=v cannot be empty.
userGroupId.cannot.be.empty=userGroupId cannot be empty! userGroupId.cannot.be.empty=userGroupId cannot be empty.
userGroupName.cannot.be.empty=userGroupName cannot be empty! userGroupName.cannot.be.empty=userGroupName cannot be empty.
libraryId.cannot.be.empty=libraryId cannot be empty! libraryId.cannot.be.empty=libraryId cannot be empty.
shoulderLeft.cannot.be.empty=shoulderLeft cannot be empty! shoulderLeft.cannot.be.empty=shoulderLeft cannot be empty.
shoulderRight.cannot.be.empty=shoulderRight cannot be empty! shoulderRight.cannot.be.empty=shoulderRight cannot be empty.
waistbandLeft.cannot.be.empty=waistbandLeft cannot be empty! waistbandLeft.cannot.be.empty=waistbandLeft cannot be empty.
waistbandRight.cannot.be.empty=waistbandRight cannot be empty! waistbandRight.cannot.be.empty=waistbandRight cannot be empty.
handLeft.cannot.be.empty=handLeft cannot be empty! handLeft.cannot.be.empty=handLeft cannot be empty.
handRight.cannot.be.empty=handRight cannot be empty! handRight.cannot.be.empty=handRight cannot be empty.
id.cannot.be.empty=id cannot be empty! id.cannot.be.empty=id cannot be empty.
type.cannot.be.empty=type cannot be empty! type.cannot.be.empty=type cannot be empty.
color.cannot.be.empty=color cannot be empty! color.cannot.be.empty=color cannot be empty.
generateDetailId.cannot.be.empty=generateDetailId cannot be empty! generateDetailId.cannot.be.empty=generateDetailId cannot be empty.
level1Type.cannot.be.empty=level1Type cannot be empty! level1Type.cannot.be.empty=level1Type cannot be empty.
regionNum.cannot.be.empty=regionNum cannot be empty! regionNum.cannot.be.empty=regionNum cannot be empty.
phone.cannot.be.empty=phone cannot be empty! phone.cannot.be.empty=phone cannot be empty.
printId.cannot.be.empty=printId cannot be empty! printId.cannot.be.empty=printId cannot be empty.
path.cannot.be.empty=path cannot be empty! path.cannot.be.empty=path cannot be empty.
classificationName.cannot.be.empty=classificationName cannot be empty! classificationName.cannot.be.empty=classificationName cannot be empty.
level2Type.cannot.be.empty=level2Type cannot be empty! level2Type.cannot.be.empty=level2Type cannot be empty.
generateItem.does.not.exist=generateItem does not exist! generateItem.does.not.exist=generateItem does not exist.
level1Type.does.not.match=level1Type does not match! level1Type.does.not.match=level1Type does not match.
the.image.does.not.exist.please.reselect=the image does not exist, please reselect! the.image.does.not.exist.please.reselect=the image does not exist, please reselect.
design.item.does.not.exist=design item does not exist! design.item.does.not.exist=design item does not exist.
layers.does.not.exists=layers does not exists! layers.does.not.exists=layers does not exists.
unknown.generate.type=unknown generate type! unknown.generate.type=unknown generate type.
the.workspace.lastIndex.not.found=The workspace lastIndex not found.
# 可能会报异常 # 可能会报异常
system.busy=System busy! # Informative:
user.expired=User expired! # 当用户输入不符合预设规则时,比如格式错误或者值的范围不正确,这种错误通常可以由用户自行更正。
user.has.bound.mailbox=User has bound mailbox! userName.does.not.exist=Username or password is incorrect. Please check your entry and try again.
userName.does.not.exist=UserName does not exist! password.error=Username or password is incorrect. Please check your entry and try again.
password.error=Password error! email.error=Email format is incorrect. Please enter a valid email address.
email.error=Email error! email.does.not.exist=Email address does not exist in our records. Please check and try again.
email.does.not.exist=Email does not exist! the.verification.code.has.expired=Verification code has expired. Please request a new code to proceed.
the.verification.code.has.expired=The verification code has expired! verification.code.error=Verification code entered is incorrect. Please check and try again.
verification.code.error=Verification code error! the.number.of.PIN.top.or.bottom.or.outerwear.sketchBoard.cannot.be.more.than.8=You cannot have more than 8 PIN tops, bottoms, or outerwear in the sketchBoard. Please adjust accordingly.
the.number.of.PIN.top.or.bottom.or.outerwear.sketchBoard.cannot.be.more.than.8=The number of PIN top or bottom or outerwear sketchBoard cannot be more than 8! hsv.value.cannot.exceed.the.maximum.of.8=hsv value cannot exceed the maximum of 8.
attributeRetrieval.interface.exception=AttributeRetrieval interface exception, please try again later! If still failed after trying again please contact administrator!
design.interface.exception=Design interface exception, please try again later! If still failed after trying again please contact administrator! # Warnings:
processMannequins.interface.exception=ProcessMannequins interface exception, please try again later! If still failed after trying again please contact administrator! # 用来提醒用户可能会导致不良后果的操作,但不一定是错误。用户需要认真考虑是否继续当前操作。
designProcess.interface.exception=DesignProcess interface exception, please try again later! If still failed after trying again please contact administrator! the.workspaceName.already.exists=A workspace with this name already exists.
generate.interface.exception=Generate interface exception, please try again later! If still failed after trying again please contact administrator! unable.to.delete.the.workspace.you.are.currently.using=The workspace you are currently using cannot be deleted. Please select another workspace before trying to delete.
the.workspace.lastIndex.not.found=The workspace lastIndex not found! classificationName.already.exists=The label name you've entered already exists. Please enter a different label name to avoid duplication.
the.workspaceName.already.exists=The workspaceName already exists! the.classification.you.deleted.has.associated.library=The label you are attempting to delete is associated with existing data. Are you sure you wish to proceed with deletion?
unable.to.delete.the.workspace.you.are.currently.using=Unable to delete the workspace you are currently using! the.model.has.been.referenced.by.the.workspace=This model is currently in use by a workspace. Deleting it might affect the workspace. Confirm deletion only if you are sure.
hsv.value.cannot.exceed.the.maximum.of.8=Hsv value cannot exceed the maximum of 8!
classificationName.already.exists=ClassificationName already exists, please change it! # Errors:
the.classification.you.deleted.has.associated.library=The classification you deleted has associated data, are you sure you want to delete it! # 这类错误是由系统内部错误引起的,用户通常无法自行解决,需要联系支持或等待系统管理员介入。
the.model.has.been.referenced.by.the.workspace=The model has been referenced by the workspace, are you sure you want to delete it! system.busy=System is currently busy. Please wait a moment and try again.
user.expired=Your user session has expired. Please contact an administrator to renew your usage rights.
attributeRetrieval.interface.exception=We encountered an error retrieving attribute data. (Please try again later. If this issue persists, please contact us at help@aida.com.hk.)
design.interface.exception=We encountered an error with the design interface. (Please try again later. If this issue persists, please contact us at help@aida.com.hk.)
processMannequins.interface.exception=We encountered an error uploading mannequins. (Please try again later. If this issue persists, please contact us at help@aida.com.hk.)
designProcess.interface.exception=There's been an issue loading the progress bar. (Please try again later. If this issue persists, please contact us at help@aida.com.hk.)
generate.interface.exception=We are currently experiencing a high volume of generating requests. (Please try again later. If the problem continues, reach out to us at help@aida.com.hk for support.)