| @@ -8,9 +8,7 @@ import com.iformall.common.Result; | |||||
| import com.iformall.common.ResultData; | import com.iformall.common.ResultData; | ||||
| import com.iformall.domain.dto.OrderComposeSaveDto; | import com.iformall.domain.dto.OrderComposeSaveDto; | ||||
| import com.iformall.domain.dto.OrderSaveDto; | 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.base.BaseEntity; | ||||
| import com.iformall.domain.po.sm.PersonPhoto; | import com.iformall.domain.po.sm.PersonPhoto; | ||||
| import com.iformall.enums.EnumComposeOrder; | import com.iformall.enums.EnumComposeOrder; | ||||
| @@ -18,7 +16,11 @@ import com.iformall.enums.EnumProductOrderPayVendor; | |||||
| import com.iformall.enums.EnumProductOrderStatus; | import com.iformall.enums.EnumProductOrderStatus; | ||||
| import com.iformall.service.ProductOrderService; | import com.iformall.service.ProductOrderService; | ||||
| import com.iformall.service.ProductService; | 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.entity.PayExtraParam; | ||||
| import com.iformall.service.pay.service.pay.PayAdapterService; | |||||
| import io.swagger.annotations.Api; | import io.swagger.annotations.Api; | ||||
| import io.swagger.annotations.ApiImplicitParam; | import io.swagger.annotations.ApiImplicitParam; | ||||
| import io.swagger.annotations.ApiImplicitParams; | import io.swagger.annotations.ApiImplicitParams; | ||||
| @@ -47,6 +49,15 @@ public class ProductOrderController extends BaseController { | |||||
| @Autowired | @Autowired | ||||
| private ProductService productService; | private ProductService productService; | ||||
| @Autowired | |||||
| WxAppinfoService wxAppinfoService; | |||||
| @Autowired | |||||
| WxPayAccountService wxPayAccountService; | |||||
| @Autowired | |||||
| PayServiceFactory payServiceFactory; | |||||
| @ApiOperation(value = "创建订单", notes = "") | @ApiOperation(value = "创建订单", notes = "") | ||||
| @PostMapping("createOrder") | @PostMapping("createOrder") | ||||
| public ResultData createOrder(@RequestBody ProductOrder record) { | public ResultData createOrder(@RequestBody ProductOrder record) { | ||||
| @@ -154,5 +165,53 @@ public class ProductOrderController extends BaseController { | |||||
| return resultData; | 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); | |||||
| } | |||||
| } | } | ||||
| @@ -32,7 +32,7 @@ public class ProductOrderSchedule { | |||||
| public void productOrderSharingSchedule() { | public void productOrderSharingSchedule() { | ||||
| ProductOrder productOrderQ = new ProductOrder(); | ProductOrder productOrderQ = new ProductOrder(); | ||||
| productOrderQ.setOrderStatus(EnumProductOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getCode()); | productOrderQ.setOrderStatus(EnumProductOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getCode()); | ||||
| productOrderQ.setStartDate(DateUtils.getHourDateBefore(1,new Date())); | |||||
| productOrderQ.setEndDate(DateUtils.getHourDateBefore(1,new Date())); | |||||
| List<ProductOrder> orderList = productOrderService.findList(productOrderQ); | List<ProductOrder> orderList = productOrderService.findList(productOrderQ); | ||||
| for (ProductOrder order: orderList) { | for (ProductOrder order: orderList) { | ||||
| try{ | try{ | ||||
| @@ -247,7 +247,7 @@ public class ProductOrderServiceImpl implements ProductOrderService { | |||||
| } | } | ||||
| Date hourDateBefore = DateUtils.getHourDateBefore(1, new Date()); | Date hourDateBefore = DateUtils.getHourDateBefore(1, new Date()); | ||||
| if(productOrder.getCreateDate().after(hourDateBefore)){ | if(productOrder.getCreateDate().after(hourDateBefore)){ | ||||
| return; | |||||
| } | } | ||||
| PayAdapterService payAdapterService = payServiceFactory.getPayAdapterService(productOrder.getPayVendor()); | PayAdapterService payAdapterService = payServiceFactory.getPayAdapterService(productOrder.getPayVendor()); | ||||
| EnumProductOrderPayVendor payVendoEnum = EnumProductOrderPayVendor.getEnum(productOrder.getPayVendor()); | EnumProductOrderPayVendor payVendoEnum = EnumProductOrderPayVendor.getEnum(productOrder.getPayVendor()); | ||||
| @@ -2,6 +2,10 @@ package com.iformall.sm; | |||||
| import com.alibaba.fastjson.JSON; | import com.alibaba.fastjson.JSON; | ||||
| import com.alibaba.fastjson.JSONObject; | 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 com.iformall.utils.HttpUtil; | ||||
| import lombok.extern.slf4j.Slf4j; | import lombok.extern.slf4j.Slf4j; | ||||
| import org.apache.commons.lang3.StringUtils; | import org.apache.commons.lang3.StringUtils; | ||||
| @@ -29,6 +33,7 @@ public class AiDigitalAvatarHelper { | |||||
| public static AiCheckPhotoResult checkPhoto(AiCheckPhotoParam param) { | 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)); | String response = HttpUtil.doAiVideoPost(digital_avatar + "/dec_face", JSONObject.toJSONString(param)); | ||||
| log.info("图片人脸检测 end response:" + response); | log.info("图片人脸检测 end response:" + response); | ||||
| AiCheckPhotoResult result = new AiCheckPhotoResult(); | AiCheckPhotoResult result = new AiCheckPhotoResult(); | ||||
| @@ -62,8 +67,10 @@ public class AiDigitalAvatarHelper { | |||||
| public static DigitalAvatarResult digitalAvatarPhoto(DigitalAvatarParam param,Long taskId) { | public static DigitalAvatarResult digitalAvatarPhoto(DigitalAvatarParam param,Long taskId) { | ||||
| param.setTask_id(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()); | // 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)); | String response = HttpUtil.doAiVideoPost(digital_avatar + "/make_face", JSONObject.toJSONString(param)); | ||||
| log.info("生成照片end response:"+response); | log.info("生成照片end response:"+response); | ||||
| @@ -175,7 +182,21 @@ public class AiDigitalAvatarHelper { | |||||
| } | } | ||||
| public static void main(String[] args) { | 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); | |||||
| } | } | ||||
| @@ -162,6 +162,7 @@ public class AiVideoHelper { | |||||
| } | } | ||||
| public static AiCheckPhotoResult checkPhoto(AiCheckPhotoParam param) { | 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)); | String response = doPost(url + image_quality_suffix, JSONObject.toJSONString(param)); | ||||
| log.info("图片质量审核 end response:" + response); | log.info("图片质量审核 end response:" + response); | ||||
| log.info("图片质量审核 IP:" + url + image_quality_suffix); | 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"); | // param.setUrl("https://video.metavatar.cc/sv/262b03bd-18929af12fd/262b03bd-18929af12fd.mp3"); | ||||
| // AiPhotoSpeakResult video = AiVideoHelper.createPhotoSpeakVideo(param); | // 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(); | // AiPreviewParam param = new AiPreviewParam(); | ||||
| // param.setGen_txt("今天是个好日子"); | // param.setGen_txt("今天是个好日子"); | ||||
| @@ -338,13 +339,13 @@ public class AiVideoHelper { | |||||
| // AiPreviewResult result = AiVideoHelper.voicePreview(param); | // AiPreviewResult result = AiVideoHelper.voicePreview(param); | ||||
| // System.out.println(result); | // 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); | |||||
| } | } | ||||