diff --git a/suimangCApi/src/main/java/com/iformall/controller/ProductOrderController.java b/suimangCApi/src/main/java/com/iformall/controller/ProductOrderController.java index d2c2fd4..ce20665 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/ProductOrderController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/ProductOrderController.java @@ -8,9 +8,7 @@ import com.iformall.common.Result; import com.iformall.common.ResultData; import com.iformall.domain.dto.OrderComposeSaveDto; import com.iformall.domain.dto.OrderSaveDto; -import com.iformall.domain.po.CUser; -import com.iformall.domain.po.Product; -import com.iformall.domain.po.ProductOrder; +import com.iformall.domain.po.*; import com.iformall.domain.po.base.BaseEntity; import com.iformall.domain.po.sm.PersonPhoto; import com.iformall.enums.EnumComposeOrder; @@ -18,7 +16,11 @@ import com.iformall.enums.EnumProductOrderPayVendor; import com.iformall.enums.EnumProductOrderStatus; import com.iformall.service.ProductOrderService; import com.iformall.service.ProductService; +import com.iformall.service.WxAppinfoService; +import com.iformall.service.WxPayAccountService; +import com.iformall.service.pay.PayServiceFactory; import com.iformall.service.pay.entity.PayExtraParam; +import com.iformall.service.pay.service.pay.PayAdapterService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -47,6 +49,15 @@ public class ProductOrderController extends BaseController { @Autowired private ProductService productService; + @Autowired + WxAppinfoService wxAppinfoService; + + @Autowired + WxPayAccountService wxPayAccountService; + + @Autowired + PayServiceFactory payServiceFactory; + @ApiOperation(value = "创建订单", notes = "") @PostMapping("createOrder") public ResultData createOrder(@RequestBody ProductOrder record) { @@ -154,5 +165,53 @@ public class ProductOrderController extends BaseController { return resultData; } + @AuthIgnore + @ApiOperation("根据id查询接口") + @GetMapping("/findStatus") + @ApiImplicitParam(name = "id", value = "id", dataType = "String", paramType = "query", required = true) + public ResultData findStatus(String orderNumber) { + logger.debug("[" + getIpAddr() + "] ProductOrderController::findStatus"); + + if(StringUtils.isBlank(orderNumber)){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"订单号为空"); + } + Long id = null; + try{ + id = Long.parseLong(orderNumber); + }catch (Exception e){ } + if(id == null){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"订单号异常"); + } + ProductOrder productOrder = productOrderService.getById(id); + if(productOrder == null){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"未查询到订单"); + } + if(!EnumProductOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getCode().equals(productOrder.getOrderStatus())){ + return new ResultData(ErrorCode.ORDER_HAD_PAY); + } + if(productOrder.getPayVendor() == null){ + return new ResultData(productOrder); + } + + PayAdapterService payAdapterService = payServiceFactory.getPayAdapterService(productOrder.getPayVendor()); + if(payAdapterService == null){ + return new ResultData(ErrorCode.ORDER_IS_NOT_PAY.getCode(),"该订单不支持当前支付"); + } + EnumProductOrderPayVendor payVendoEnum = EnumProductOrderPayVendor.getEnum(productOrder.getPayVendor()); + + WxAppinfo appinfo = wxAppinfoService.getProjectCAppInfoFromRedis(productOrder.getProjectType(), payVendoEnum.getPlat()); + if(appinfo == null){ + return new ResultData(ErrorCode.ORDER_IS_NOT_PAY.getCode(),"未找到支付应用"); + } + WxPayAccount payAccount = wxPayAccountService.getByIdFromRedis(appinfo.getPayId()); + if(payAccount == null){ + return new ResultData(ErrorCode.ORDER_IS_NOT_PAY.getCode(),"未找到支付密钥"); + } + + ResultData resultData = productOrderService.handleProductOrderByQuery(appinfo,payAccount,productOrder,payAdapterService); + + return new ResultData(productOrder); + } + } diff --git a/suimangSchedule/src/main/java/com/iformall/schedule/ProductOrderSchedule.java b/suimangSchedule/src/main/java/com/iformall/schedule/ProductOrderSchedule.java index 7f780b6..3433015 100644 --- a/suimangSchedule/src/main/java/com/iformall/schedule/ProductOrderSchedule.java +++ b/suimangSchedule/src/main/java/com/iformall/schedule/ProductOrderSchedule.java @@ -32,7 +32,7 @@ public class ProductOrderSchedule { public void productOrderSharingSchedule() { ProductOrder productOrderQ = new ProductOrder(); productOrderQ.setOrderStatus(EnumProductOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getCode()); - productOrderQ.setStartDate(DateUtils.getHourDateBefore(1,new Date())); + productOrderQ.setEndDate(DateUtils.getHourDateBefore(1,new Date())); List orderList = productOrderService.findList(productOrderQ); for (ProductOrder order: orderList) { try{ diff --git a/suimangService/src/main/java/com/iformall/service/impl/ProductOrderServiceImpl.java b/suimangService/src/main/java/com/iformall/service/impl/ProductOrderServiceImpl.java index 69f07cd..9870faa 100644 --- a/suimangService/src/main/java/com/iformall/service/impl/ProductOrderServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/impl/ProductOrderServiceImpl.java @@ -247,7 +247,7 @@ public class ProductOrderServiceImpl implements ProductOrderService { } Date hourDateBefore = DateUtils.getHourDateBefore(1, new Date()); if(productOrder.getCreateDate().after(hourDateBefore)){ - + return; } PayAdapterService payAdapterService = payServiceFactory.getPayAdapterService(productOrder.getPayVendor()); EnumProductOrderPayVendor payVendoEnum = EnumProductOrderPayVendor.getEnum(productOrder.getPayVendor()); diff --git a/suimangService/src/main/java/com/iformall/sm/AiDigitalAvatarHelper.java b/suimangService/src/main/java/com/iformall/sm/AiDigitalAvatarHelper.java index 69767a5..a8036ea 100644 --- a/suimangService/src/main/java/com/iformall/sm/AiDigitalAvatarHelper.java +++ b/suimangService/src/main/java/com/iformall/sm/AiDigitalAvatarHelper.java @@ -2,6 +2,10 @@ package com.iformall.sm; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.iformall.common.ErrorCode; +import com.iformall.enums.EnumDigitalAvatarMouldType; +import com.iformall.exception.MallinkException; +import com.iformall.utils.Base64Util; import com.iformall.utils.HttpUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -29,6 +33,7 @@ public class AiDigitalAvatarHelper { public static AiCheckPhotoResult checkPhoto(AiCheckPhotoParam param) { +// String response = HttpUtil.doAiVideoPost("http://nas.pucao.cn:2005/dec_face", JSONObject.toJSONString(param)); String response = HttpUtil.doAiVideoPost(digital_avatar + "/dec_face", JSONObject.toJSONString(param)); log.info("图片人脸检测 end response:" + response); AiCheckPhotoResult result = new AiCheckPhotoResult(); @@ -62,8 +67,10 @@ public class AiDigitalAvatarHelper { public static DigitalAvatarResult digitalAvatarPhoto(DigitalAvatarParam param,Long taskId) { param.setTask_id(taskId); - param.setCallback_url(callbackUrl + "/callback/photo/speak"); + param.setCallback_url("https://phototest.metavatar.cc/C/callback/photo/speak"); +// param.setCallback_url(callbackUrl + "/callback/photo/speak"); // log.info("生成照片start request:" + param.getBg_img()); +// String response = HttpUtil.doAiVideoPost("http://nas.pucao.cn:2005/make_face", JSONObject.toJSONString(param)); String response = HttpUtil.doAiVideoPost(digital_avatar + "/make_face", JSONObject.toJSONString(param)); log.info("生成照片end response:"+response); @@ -175,7 +182,21 @@ public class AiDigitalAvatarHelper { } public static void main(String[] args) { - +// AiCheckPhotoParam param = new AiCheckPhotoParam(); +// String img = Base64Util.imageUrlToBase64("https://suimang.oss-accelerate.aliyuncs.com/builtin/personmould/16760216806604820_cSHoijDX_grace_1080.jpg"); +// param.setImg(img); +// AiCheckPhotoResult result = AiDigitalAvatarHelper.checkPhoto(param); +// System.out.println(result); + + +// DigitalAvatarParam param = new DigitalAvatarParam(); +// param.setBg_img("style_oneface"); +// String img = Base64Util.imageUrlToBase64("https://suimang.oss-accelerate.aliyuncs.com/builtin/personmould/16760216806604820_cSHoijDX_grace_1080.jpg"); +// param.setImg_lift(img); +// param.setImg_middle("None"); +// param.setImg_right("None"); +// DigitalAvatarResult result = AiDigitalAvatarHelper.digitalAvatarPhoto(param,100001l); +// System.out.println(result); } diff --git a/suimangService/src/main/java/com/iformall/sm/AiVideoHelper.java b/suimangService/src/main/java/com/iformall/sm/AiVideoHelper.java index 81a8aa7..cd2fe25 100644 --- a/suimangService/src/main/java/com/iformall/sm/AiVideoHelper.java +++ b/suimangService/src/main/java/com/iformall/sm/AiVideoHelper.java @@ -162,6 +162,7 @@ public class AiVideoHelper { } public static AiCheckPhotoResult checkPhoto(AiCheckPhotoParam param) { +// String response = doPost("http://111.198.0.15:22299" + image_quality_suffix, JSONObject.toJSONString(param)); String response = doPost(url + image_quality_suffix, JSONObject.toJSONString(param)); log.info("图片质量审核 end response:" + response); log.info("图片质量审核 IP:" + url + image_quality_suffix); @@ -324,11 +325,11 @@ public class AiVideoHelper { // param.setUrl("https://video.metavatar.cc/sv/262b03bd-18929af12fd/262b03bd-18929af12fd.mp3"); // AiPhotoSpeakResult video = AiVideoHelper.createPhotoSpeakVideo(param); -// AiCheckPhotoParam param = new AiCheckPhotoParam(); -// String img = Base64Util.imageUrlToBase64("https://suimang.oss-accelerate.aliyuncs.com/builtin/personmould/16760216806604820_cSHoijDX_grace_1080.jpg"); -// param.setImg(img); -// AiCheckPhotoResult result = AiVideoHelper.checkPhoto(param); -// System.out.println(result); + AiCheckPhotoParam param = new AiCheckPhotoParam(); + String img = Base64Util.imageUrlToBase64("https://suimang.oss-accelerate.aliyuncs.com/builtin/personmould/16760216806604820_cSHoijDX_grace_1080.jpg"); + param.setImg(img); + AiCheckPhotoResult result = AiVideoHelper.checkPhoto(param); + System.out.println(result); // // AiPreviewParam param = new AiPreviewParam(); // param.setGen_txt("今天是个好日子"); @@ -338,13 +339,13 @@ public class AiVideoHelper { // AiPreviewResult result = AiVideoHelper.voicePreview(param); // System.out.println(result); - AiVideoHqParam param = new AiVideoHqParam(); - param.setSave_dir("static/tts/2023-07-07/16886958135060428.wav.mp4"); - param.setAudio_path("static/tts/2023-07-07/16886958135060428.wav"); - param.setCallback_url("https://phototest.metavatar.cc/C/callback/photo/speak"); - param.setTask_id(836541377936281600L); - AiVideoHqResult result = AiVideoHelper.videoHq(param); - System.out.println(result); +// AiVideoHqParam param = new AiVideoHqParam(); +// param.setSave_dir("static/tts/2023-07-07/16886958135060428.wav.mp4"); +// param.setAudio_path("static/tts/2023-07-07/16886958135060428.wav"); +// param.setCallback_url("https://phototest.metavatar.cc/C/callback/photo/speak"); +// param.setTask_id(836541377936281600L); +// AiVideoHqResult result = AiVideoHelper.videoHq(param); +// System.out.println(result); }