diff --git a/suimangCApi/src/main/java/com/iformall/controller/VideoCallbackController.java b/suimangCApi/src/main/java/com/iformall/controller/CallbackController.java similarity index 84% rename from suimangCApi/src/main/java/com/iformall/controller/VideoCallbackController.java rename to suimangCApi/src/main/java/com/iformall/controller/CallbackController.java index d0cd9c7..e14f4c1 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/VideoCallbackController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/CallbackController.java @@ -9,9 +9,11 @@ import com.iformall.common.ErrorCode; import com.iformall.common.ResultData; import com.iformall.domain.po.base.BaseEntity; import com.iformall.domain.po.sm.*; +import com.iformall.enums.EnumDigitalAvatarOrderStatus; import com.iformall.enums.EnumVideoStatus; import com.iformall.exception.MallinkException; import com.iformall.service.sm.*; +import com.iformall.sm.DigitalAvatarResult; import com.iformall.video.VideoFactory; import com.iformall.video.aliyun.sdk.server.UploadCacheHelper; import com.iformall.video.entity.VideUploadResult; @@ -42,7 +44,7 @@ import java.util.*; @RestController @RequestMapping("/callback") @Api(description = "视频回调") -public class VideoCallbackController extends BaseController { +public class CallbackController extends BaseController { private final Logger logger = LoggerFactory.getLogger(this.getClass()); @Autowired @@ -134,7 +136,7 @@ public class VideoCallbackController extends BaseController { logger.debug("[" + getIpAddr() + "] VideoCallbackController::photoSpeak"); logger.info("照片生成视频结果通知{}"+JSONObject.toJSONString(paranMap)); Long task_id = (Long) paranMap.get("task_id");//任务ID - String code = (String) paranMap.get("code");//code + Integer code = (Integer) paranMap.get("code");//code String msg = (String) paranMap.get("msg"); if (task_id == null){ @@ -146,8 +148,24 @@ public class VideoCallbackController extends BaseController { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"未找到任务数据"); } + if(code == 2000){ + JSONObject data = (JSONObject) paranMap.get("data"); + List imgList = new ArrayList<>(); + imgList.add(data.getString("img_0")); + imgList.add(data.getString("img_1")); + imgList.add(data.getString("img_2")); + imgList.add(data.getString("img_3")); + userDigitalAvatarOrderService.handlePhoto(userDigitalAvatarOrder,imgList); + }else{ + UserDigitalAvatarOrder updOrder = new UserDigitalAvatarOrder(); + updOrder.setId(userDigitalAvatarOrder.getId()); + updOrder.setStatus(EnumDigitalAvatarOrderStatus.fail.getCode()); + updOrder.setMsg(msg); + updOrder.setUpdateDate(new Date()); + userDigitalAvatarOrderService.updateById(updOrder); + } - return new ResultData(ErrorCode.SYS_SERVER_ERROR); + return new ResultData(); } } diff --git a/suimangService/src/main/java/com/iformall/service/sm/UserDigitalAvatarOrderService.java b/suimangService/src/main/java/com/iformall/service/sm/UserDigitalAvatarOrderService.java index f89a69a..e6468cb 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/UserDigitalAvatarOrderService.java +++ b/suimangService/src/main/java/com/iformall/service/sm/UserDigitalAvatarOrderService.java @@ -56,7 +56,10 @@ public interface UserDigitalAvatarOrderService { */ void deleteById(Long id); + void updateById(UserDigitalAvatarOrder record); + void createPhoto(UserDigitalAvatarOrder record); + void handlePhoto(UserDigitalAvatarOrder record,List imgList); } diff --git a/suimangService/src/main/java/com/iformall/service/sm/impl/UserDigitalAvatarOrderServiceImpl.java b/suimangService/src/main/java/com/iformall/service/sm/impl/UserDigitalAvatarOrderServiceImpl.java index ef4b596..a0b342c 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/impl/UserDigitalAvatarOrderServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/sm/impl/UserDigitalAvatarOrderServiceImpl.java @@ -220,6 +220,11 @@ public class UserDigitalAvatarOrderServiceImpl implements UserDigitalAvatarOrder userDigitalAvatarOrderMapper.deleteById(id); } + @Override + public void updateById(UserDigitalAvatarOrder record) { + userDigitalAvatarOrderMapper.updateById(record); + } + @Async @Override public void createPhoto(UserDigitalAvatarOrder record){ @@ -276,6 +281,7 @@ public class UserDigitalAvatarOrderServiceImpl implements UserDigitalAvatarOrder } + @Override @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) public void handlePhoto(UserDigitalAvatarOrder record,List imgList){ Date now = new Date();