Browse Source

//..

private_deployment
xhxu 1 year ago
parent
commit
8739364076
5 changed files with 39 additions and 22 deletions
  1. +12
    -2
      suimangCApi/src/main/java/com/iformall/controller/CallbackPayController.java
  2. +5
    -4
      suimangCApi/src/main/java/com/iformall/controller/CallbackSmController.java
  3. +2
    -2
      suimangService/src/main/java/com/iformall/service/sm/UserDigitalAvatarPhotoService.java
  4. +5
    -3
      suimangService/src/main/java/com/iformall/service/sm/impl/UserDigitalAvatarOrderServiceImpl.java
  5. +15
    -11
      suimangService/src/main/java/com/iformall/service/sm/impl/UserDigitalAvatarPhotoServiceImpl.java

+ 12
- 2
suimangCApi/src/main/java/com/iformall/controller/CallbackPayController.java View File

@@ -98,13 +98,23 @@ public class CallbackPayController extends BaseController {

Map<String, Object> pMap = JSONObject.parseObject(msg, Map.class);
String appid = (String) pMap.get("app_id");
WxAppinfo appInfo = wxAppinfoService.getOnlyByAppIdFromRedis(appid);
WxPayAccount payAccount = wxPayAccountService.getByIdFromRedis(appInfo.getPayId());
if("payment".equals(type)){
String out_order_no = (String)pMap.get("cp_orderno");
//todo 处理订单支付状态

ProductOrder productOrder = productOrderService.getById(Long.parseLong(out_order_no));

PayAdapterService payAdapterService = payServiceFactory.getPayAdapterService(productOrder.getPayVendor());
productOrderService.handleProductOrderByQuery(appInfo,payAccount,productOrder,payAdapterService);

resultMap.put("err_no",0);
resultMap.put("err_tips","success");
}
}catch(Exception e){

logger.error("抖音支付回调处理异常"+e);
resultMap.put("err_no",ErrorCode.SYS_SERVER_ERROR.getCode());
resultMap.put("err_tips","抖音支付回调处理异常");
}
return resultMap;
}


+ 5
- 4
suimangCApi/src/main/java/com/iformall/controller/CallbackSmController.java View File

@@ -188,9 +188,10 @@ public class CallbackSmController extends BaseController {
imgList.add(data.get("img_1"));
imgList.add(data.get("img_2"));
imgList.add(data.get("img_3"));
userDigitalAvatarPhotoService.handlePhoto(userDigitalAvatarOrder,imgList);

userDigitalAvatarOrderService.sendPhotoSuccess(userDigitalAvatarOrder);
boolean flag = userDigitalAvatarPhotoService.handlePhoto(userDigitalAvatarOrder, imgList);
if(flag){
userDigitalAvatarOrderService.sendPhotoSuccess(userDigitalAvatarOrder);
}
}else{
UserDigitalAvatarOrder updOrder = new UserDigitalAvatarOrder();
updOrder.setId(userDigitalAvatarOrder.getId());
@@ -232,7 +233,7 @@ public class CallbackSmController extends BaseController {
if("3000".equals(code)){
Map<String,String> data = (Map) paranMap.get("data");
String img = data.get("img");
userDigitalAvatarPhotoService.handleSuperPhoto(userDigitalAvatarPhoto,img);
boolean flag = userDigitalAvatarPhotoService.handleSuperPhoto(userDigitalAvatarPhoto, img);
}else{
UserDigitalAvatarPhoto updPhoto = new UserDigitalAvatarPhoto();
updPhoto.setId(userDigitalAvatarPhoto.getId());


+ 2
- 2
suimangService/src/main/java/com/iformall/service/sm/UserDigitalAvatarPhotoService.java View File

@@ -17,9 +17,9 @@ public interface UserDigitalAvatarPhotoService {

void superPhoto(UserDigitalAvatarPhoto record);

void handleSuperPhoto(UserDigitalAvatarPhoto record, String img);
boolean handleSuperPhoto(UserDigitalAvatarPhoto record, String img);

void updateById(UserDigitalAvatarPhoto record);

void handlePhoto(UserDigitalAvatarOrder record,List<String> imgList);
boolean handlePhoto(UserDigitalAvatarOrder record,List<String> imgList);
}

+ 5
- 3
suimangService/src/main/java/com/iformall/service/sm/impl/UserDigitalAvatarOrderServiceImpl.java View File

@@ -290,9 +290,11 @@ public class UserDigitalAvatarOrderServiceImpl implements UserDigitalAvatarOrder

DigitalAvatarResult result = AiDigitalAvatarHelper.digitalAvatarPhoto(param,record.getId());
if(result.isSuccess()){
userDigitalAvatarPhotoService.handlePhoto(record,result.getImgList());

this.sendPhotoSuccess(record);
boolean flag = userDigitalAvatarPhotoService.handlePhoto(record, result.getImgList());
if(flag){
this.sendPhotoSuccess(record);
}
return;
}else{
updOrder.setStatus(EnumDigitalAvatarOrderStatus.fail.getCode());
updOrder.setMsg(result.getMsg());


+ 15
- 11
suimangService/src/main/java/com/iformall/service/sm/impl/UserDigitalAvatarPhotoServiceImpl.java View File

@@ -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;
}

}

Loading…
Cancel
Save