@@ -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); | |||
} | |||
} |
@@ -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<ProductOrder> orderList = productOrderService.findList(productOrderQ); | |||
for (ProductOrder order: orderList) { | |||
try{ | |||
@@ -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()); | |||
@@ -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); | |||
} | |||
@@ -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); | |||
} | |||