public void update(AvatarAccessoryInfoEntity userAvatarAccessoryEntity) {
//如果name 和图层相同可以直接更新
AvatarAccessoryInfoEntity original = userAvatarAccessoryDao.findById(userAvatarAccessoryEntity.getId());
if(userAvatarAccessoryEntity.getName().equals(original.getName()) &&
Objects.equals(userAvatarAccessoryEntity.getLayer(),original.getLayer())){
int row = userAvatarAccessoryDao.update(userAvatarAccessoryEntity);
if (row != 1) {
throw new AppRuntimeException("更新失败!");
}
return;
} else if(Objects.equals(userAvatarAccessoryEntity.getLayer(),original.getLayer()) ){
int name = userAvatarAccessoryDao.getName(userAvatarAccessoryEntity.getName());
if (name == 1) {
throw new AppRuntimeException("挂饰名称已经被创建");
}
int row = userAvatarAccessoryDao.update(userAvatarAccessoryEntity);
if (row != 1) {
throw new AppRuntimeException("更新失败!");
}
return;
}else if (userAvatarAccessoryEntity.getName().equals(original.getName())) {
int layer = userAvatarAccessoryDao.getLayer(userAvatarAccessoryEntity.getLayer());
if (layer == 1) {
throw new AppRuntimeException("挂件图片图层位置重复");
}
int row = userAvatarAccessoryDao.update(userAvatarAccessoryEntity);
if (row != 1) {
throw new AppRuntimeException("更新失败!");
}
return;
}
UNIQUENESS_CHECK.lock();
// 名称唯一查询
try {
int name = userAvatarAccessoryDao.getName(userAvatarAccessoryEntity.getName());
int layer = userAvatarAccessoryDao.getLayer(userAvatarAccessoryEntity.getLayer());
if (name == 1) {
throw new AppRuntimeException("挂饰名称已经被创建");
}
if (layer == 1) {
throw new AppRuntimeException("挂件图片图层位置重复");
}
int row = userAvatarAccessoryDao.update(userAvatarAccessoryEntity);
if (row != 1) {
throw new AppRuntimeException("更新失败!");
}
} finally {
UNIQUENESS_CHECK.unlock();
}
}
网友评论