|
|
@@ -128,21 +128,22 @@ public class UserDigitalAvatarPhotoServiceImpl implements UserDigitalAvatarPhoto |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void handleSuperPhoto(UserDigitalAvatarPhoto record, String img) { |
|
|
|
public boolean handleSuperPhoto(UserDigitalAvatarPhoto record, String img) { |
|
|
|
String lockKey = "digitalAvatar:superPhoto:"+record.getId(); |
|
|
|
long time = System.currentTimeMillis() + 10000; |
|
|
|
String timeStr = String.valueOf(time); |
|
|
|
try{ |
|
|
|
if(!redisLock.lock2(lockKey, timeStr)){ |
|
|
|
throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"请稍后重试"); |
|
|
|
return false; |
|
|
|
// throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"请稍后重试"); |
|
|
|
} |
|
|
|
UserDigitalAvatarPhoto userDigitalAvatarPhoto = userDigitalAvatarPhotoMapper.selectById(record.getId()); |
|
|
|
if(EnumDigitalAvatarPhotoStatus.finish.getCode().equals(userDigitalAvatarPhoto.getStatus())){ |
|
|
|
return; |
|
|
|
return false; |
|
|
|
} |
|
|
|
|
|
|
|
InputStream inputStream = Base64Util.base2InputStream(img); |
|
|
|
String img_url = aliyunOSS.upload(record.getTenantId(), ".jpg", inputStream); |
|
|
|
String img_url = aliyunOSS.upload(userDigitalAvatarPhoto.getTenantId(), ".jpg", inputStream); |
|
|
|
|
|
|
|
UserDigitalAvatarPhoto updPhoto = new UserDigitalAvatarPhoto(); |
|
|
|
updPhoto.setId(userDigitalAvatarPhoto.getId()); |
|
|
@@ -158,6 +159,7 @@ public class UserDigitalAvatarPhotoServiceImpl implements UserDigitalAvatarPhoto |
|
|
|
}finally { |
|
|
|
redisLock.unlock(lockKey, timeStr); |
|
|
|
} |
|
|
|
return true; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
@@ -168,23 +170,24 @@ public class UserDigitalAvatarPhotoServiceImpl implements UserDigitalAvatarPhoto |
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) |
|
|
|
public void handlePhoto(UserDigitalAvatarOrder record,List<String> imgList){ |
|
|
|
public boolean handlePhoto(UserDigitalAvatarOrder record,List<String> imgList){ |
|
|
|
String lockKey = "digitalAvatar:handlePhoto:"+record.getId(); |
|
|
|
long time = System.currentTimeMillis() + 30000; |
|
|
|
String timeStr = String.valueOf(time); |
|
|
|
|
|
|
|
try{ |
|
|
|
if (!redisLock.lock2(lockKey, timeStr)){ |
|
|
|
throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"请稍后重试"); |
|
|
|
return false; |
|
|
|
// throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"请稍后重试"); |
|
|
|
} |
|
|
|
UserDigitalAvatarOrder userDigitalAvatarOrder = userDigitalAvatarOrderMapper.selectById(record.getId()); |
|
|
|
if(EnumDigitalAvatarOrderStatus.finish.getCode().equals(userDigitalAvatarOrder.getStatus())){ |
|
|
|
return; |
|
|
|
return false; |
|
|
|
} |
|
|
|
|
|
|
|
Date now = new Date(); |
|
|
|
UserDigitalAvatarOrder updOrder = new UserDigitalAvatarOrder(); |
|
|
|
updOrder.setId(record.getId()); |
|
|
|
updOrder.setId(userDigitalAvatarOrder.getId()); |
|
|
|
updOrder.setStatus(EnumDigitalAvatarOrderStatus.finish.getCode()); |
|
|
|
updOrder.setMsg("success"); |
|
|
|
updOrder.setUpdateDate(now); |
|
|
@@ -194,12 +197,12 @@ public class UserDigitalAvatarPhotoServiceImpl implements UserDigitalAvatarPhoto |
|
|
|
final IdWorker idWorker = IdWorker.get(); |
|
|
|
for (String img: imgList) { |
|
|
|
InputStream inputStream = Base64Util.base2InputStream(img); |
|
|
|
String img_url = aliyunOSS.upload(record.getTenantId(), ".jpg", inputStream); |
|
|
|
String img_url = aliyunOSS.upload(userDigitalAvatarOrder.getTenantId(), ".jpg", inputStream); |
|
|
|
|
|
|
|
UserDigitalAvatarPhoto userDigitalAvatarPhoto = new UserDigitalAvatarPhoto(); |
|
|
|
userDigitalAvatarPhoto.setId(idWorker.nextId()); |
|
|
|
userDigitalAvatarPhoto.setOrderId(record.getId()); |
|
|
|
userDigitalAvatarPhoto.setUserId(record.getUserId()); |
|
|
|
userDigitalAvatarPhoto.setOrderId(userDigitalAvatarOrder.getId()); |
|
|
|
userDigitalAvatarPhoto.setUserId(userDigitalAvatarOrder.getUserId()); |
|
|
|
userDigitalAvatarPhoto.setImage(img_url); |
|
|
|
userDigitalAvatarPhoto.setStatus(EnumDigitalAvatarPhotoStatus.def.getCode()); |
|
|
|
userDigitalAvatarPhoto.setCreateDate(now); |
|
|
@@ -216,6 +219,7 @@ public class UserDigitalAvatarPhotoServiceImpl implements UserDigitalAvatarPhoto |
|
|
|
}finally { |
|
|
|
redisLock.unlock(lockKey, timeStr); |
|
|
|
} |
|
|
|
return true; |
|
|
|
} |
|
|
|
|
|
|
|
} |