winter 1 rok temu
rodzic
commit
74821b5788
16 zmienionych plików z 129 dodań i 2 usunięć
  1. +22
    -1
      suimangCApi/src/main/java/com/iformall/controller/VoiceMouldController.java
  2. +15
    -0
      suimangCApi/src/main/java/com/iformall/controller/WxUserGrantController.java
  3. +2
    -0
      suimangService/src/main/java/com/iformall/mapper/ProductOrderMapper.java
  4. +2
    -0
      suimangService/src/main/java/com/iformall/service/ProductOrderService.java
  5. +6
    -0
      suimangService/src/main/java/com/iformall/service/impl/ProductOrderServiceImpl.java
  6. +5
    -0
      suimangService/src/main/java/com/iformall/service/project/service/ProjectService.java
  7. +6
    -0
      suimangService/src/main/java/com/iformall/service/project/service/impl/CommonProjectService.java
  8. +6
    -0
      suimangService/src/main/java/com/iformall/service/project/service/impl/HBProjectService.java
  9. +6
    -0
      suimangService/src/main/java/com/iformall/service/project/service/impl/HKProjectService.java
  10. +7
    -1
      suimangService/src/main/java/com/iformall/service/project/service/impl/HYProjectService.java
  11. +6
    -0
      suimangService/src/main/java/com/iformall/service/project/service/impl/HYuProjectService.java
  12. +6
    -0
      suimangService/src/main/java/com/iformall/service/project/service/impl/ZXProjectService.java
  13. +16
    -0
      suimangService/src/main/java/com/iformall/service/sm/impl/UserMouldVideoServiceImpl.java
  14. +10
    -0
      suimangService/src/main/java/com/iformall/sm/AiVideoParam.java
  15. +8
    -0
      suimangService/src/main/java/com/iformall/utils/Constant.java
  16. +6
    -0
      suimangService/src/main/resources/mapper/ProductOrderMapper.xml

+ 22
- 1
suimangCApi/src/main/java/com/iformall/controller/VoiceMouldController.java Wyświetl plik

@@ -3,14 +3,18 @@ package com.iformall.controller;
import com.github.pagehelper.PageInfo;
import com.iformall.annotation.AuthIgnore;
import com.iformall.common.ErrorCode;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.domain.po.ProductOrder;
import com.iformall.domain.po.base.BaseEntity;
import com.iformall.domain.po.sm.PersonMould;
import com.iformall.domain.po.sm.UserMouldVideo;
import com.iformall.domain.po.sm.VoiceLanguage;
import com.iformall.domain.po.sm.VoiceMould;
import com.iformall.domain.vo.sm.PreviewVoiceVO;
import com.iformall.enums.*;
import com.iformall.language.LanguageDetect;
import com.iformall.service.ProductOrderService;
import com.iformall.service.WxCVoiceService;
import com.iformall.service.sm.*;
import com.iformall.sm.AiPreviewParam;
@@ -54,6 +58,9 @@ public class VoiceMouldController extends BaseController {
@Autowired
private WxCVoiceService wxCVoiceService;

@Autowired
private ProductOrderService productOrderService;
@AuthIgnore
@ApiOperation("获取语种")
@GetMapping("getLanguages")
@@ -174,6 +181,20 @@ public class VoiceMouldController extends BaseController {
@ApiImplicitParams({})
public ResultData voicePreview(@RequestBody AiPreviewParam aiPreviewParam) {
logger.debug("[" + getIpAddr() + "] MouldPatchController::voicePreview");
return new ResultData(voiceInfoService.previewVoice(aiPreviewParam));
PreviewVoiceVO pv = voiceInfoService.previewVoice(aiPreviewParam);
Double time = pv.getTime();//秒
if (time > 5*60 ) {
return new ResultData(Result.ERROR,"视频最大时长为300秒,当前时长为"+time+"秒");
}
//如果用户未支付,则只能1分钟以内,如果已支付,则可以5分钟以内
ProductOrder po = new ProductOrder();
po.setUserId(getMemberId());
Integer paidCount = productOrderService.findPaidCount(po);
if (null == paidCount || paidCount <= 0 ) {
if (time > 60) {
return new ResultData(Result.ERROR,"视频最大时长为60秒,当前时长为"+time+"秒");
}
}
return new ResultData();
}
}

+ 15
- 0
suimangCApi/src/main/java/com/iformall/controller/WxUserGrantController.java Wyświetl plik

@@ -15,6 +15,7 @@ import com.iformall.domain.po.sm.InviteCodeInfo;
import com.iformall.enums.*;
import com.iformall.service.*;
import com.iformall.service.cuser.CUserServiceFactory;
import com.iformall.service.project.ProjectFactory;
import com.iformall.service.sm.InviteCodeInfoService;
import com.iformall.service.sm.InviteCodeService;
import com.iformall.service.sm.UserConsumptionPackageService;
@@ -113,6 +114,9 @@ public class WxUserGrantController extends BaseController {
@Autowired
private WxCUserAuthorityService wxCUserAuthorityService;
@Autowired
private ProjectFactory projectFactory;
@AuthIgnore
@ApiOperation("验证码")
@GetMapping("/captcha.jpg")
@@ -439,6 +443,9 @@ public class WxUserGrantController extends BaseController {
if (!aBoolean) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "初始化创建视频时间表失败");
}
//慧影注册送金币
projectFactory.getProjectService(EnumProject.PROJECT_2.getCode()).handleAfterRegeister(basicInfo);
return new ResultData();
// } else {
// return new ResultData(ErrorCode.MSG_VERIFY_CODE_NOT_FOUND);
@@ -800,4 +807,12 @@ public class WxUserGrantController extends BaseController {
return new ResultData(userBasicInfo.getPoins());
}
@ApiOperation("扣减获取用户币值")
@GetMapping("/reduceUserPoins")
public ResultData reduceUserPoins() {
WxCUserBasicInfo user = this.getCUser();
wxCUserBasicInfoService.reducePoints(user.getId(), user.getFinalTenantId(), 1);
return new ResultData();
}
}

+ 2
- 0
suimangService/src/main/java/com/iformall/mapper/ProductOrderMapper.java Wyświetl plik

@@ -10,4 +10,6 @@ public interface ProductOrderMapper extends CommonMapper<ProductOrder, Long> {
List<ProductOrder> findList(ProductOrder record);

int orderPayUpdStatus(ProductOrder productOrder);
int findCount(ProductOrder record);
}

+ 2
- 0
suimangService/src/main/java/com/iformall/service/ProductOrderService.java Wyświetl plik

@@ -29,5 +29,7 @@ public interface ProductOrderService {
void handldSharing(ProductOrder order);

void handldTimeOut(Long id);
Integer findPaidCount(ProductOrder record);

}

+ 6
- 0
suimangService/src/main/java/com/iformall/service/impl/ProductOrderServiceImpl.java Wyświetl plik

@@ -180,4 +180,10 @@ public class ProductOrderServiceImpl implements ProductOrderService {
}
}

@Override
public Integer findPaidCount(ProductOrder record) {
record.setOrderStatus(EnumProductOrderStatus.ORDER_STATUS_PAYMENT_SUCCESS.getCode());
return productOrderMapper.findCount(record);
}

}

+ 5
- 0
suimangService/src/main/java/com/iformall/service/project/service/ProjectService.java Wyświetl plik

@@ -24,5 +24,10 @@ public interface ProjectService {
*/
public CreateBilling handleCreateVideoBilling(Long cUserId,String cUserFinalTenantId,String videoTimes,Long videoSize);
/**
* 处理用户注册后事项
*/
public void handleAfterRegeister(WxCUserBasicInfo cUser);

}

+ 6
- 0
suimangService/src/main/java/com/iformall/service/project/service/impl/CommonProjectService.java Wyświetl plik

@@ -28,6 +28,12 @@ public class CommonProjectService extends BaseProjectService implements ProjectS
return null;
}

@Override
public void handleAfterRegeister(WxCUserBasicInfo cUser) {
// TODO Auto-generated method stub
}



}

+ 6
- 0
suimangService/src/main/java/com/iformall/service/project/service/impl/HBProjectService.java Wyświetl plik

@@ -27,6 +27,12 @@ public class HBProjectService extends BaseProjectService implements ProjectServi
return null;
}

@Override
public void handleAfterRegeister(WxCUserBasicInfo cUser) {
// TODO Auto-generated method stub
}



}

+ 6
- 0
suimangService/src/main/java/com/iformall/service/project/service/impl/HKProjectService.java Wyświetl plik

@@ -28,6 +28,12 @@ public class HKProjectService extends BaseProjectService implements ProjectServi
return null;
}

@Override
public void handleAfterRegeister(WxCUserBasicInfo cUser) {
// TODO Auto-generated method stub
}



}

+ 7
- 1
suimangService/src/main/java/com/iformall/service/project/service/impl/HYProjectService.java Wyświetl plik

@@ -10,6 +10,7 @@ import com.iformall.domain.po.WxCUserBasicInfo;
import com.iformall.service.WxCUserBasicInfoService;
import com.iformall.service.project.entity.CreateBilling;
import com.iformall.service.project.service.ProjectService;
import com.iformall.utils.Constant;

//慧影
@Service
@@ -37,11 +38,16 @@ public class HYProjectService extends BaseProjectService implements ProjectServi
CreateBilling cb = new CreateBilling();
//每分钟扣币,不足一分钟按一分钟算
Integer minitues = new BigDecimal(videoTimes).divide(new BigDecimal(60)).setScale(0,BigDecimal.ROUND_UP).intValue();
Integer poinsPerMinites = 1;
Integer poinsPerMinites = Constant.hyCostPoinsPerMinites;
cb.setTotalCostPoins(new BigDecimal(minitues).multiply(new BigDecimal(poinsPerMinites)).intValue());
cb.setDetail("每分钟扣币"+poinsPerMinites+"个,总共时长"+videoTimes+"(秒),按"+minitues+"分钟总计费。");
//扣去当前用户的币
wxCUserBasicInfoService.reducePoints(cUserId, cUserFinalTenantId,cb.getTotalCostPoins());
return cb;
}

@Override
public void handleAfterRegeister(WxCUserBasicInfo cUser) {
wxCUserBasicInfoService.addPoints(cUser.getId(), cUser.getFinalTenantId(),Constant.hyRegeisterPoins);
}
}

+ 6
- 0
suimangService/src/main/java/com/iformall/service/project/service/impl/HYuProjectService.java Wyświetl plik

@@ -28,6 +28,12 @@ public class HYuProjectService extends BaseProjectService implements ProjectServ
return null;
}

@Override
public void handleAfterRegeister(WxCUserBasicInfo cUser) {
// TODO Auto-generated method stub
}



}

+ 6
- 0
suimangService/src/main/java/com/iformall/service/project/service/impl/ZXProjectService.java Wyświetl plik

@@ -28,6 +28,12 @@ public class ZXProjectService extends BaseProjectService implements ProjectServi
return null;
}

@Override
public void handleAfterRegeister(WxCUserBasicInfo cUser) {
// TODO Auto-generated method stub
}



}

+ 16
- 0
suimangService/src/main/java/com/iformall/service/sm/impl/UserMouldVideoServiceImpl.java Wyświetl plik

@@ -8,10 +8,12 @@ import com.github.pagehelper.PageInfo;
import com.iformall.common.ErrorCode;
import com.iformall.common.IdWorker;
import com.iformall.common.ResultData;
import com.iformall.domain.po.ProductOrder;
import com.iformall.domain.po.sm.*;
import com.iformall.enums.*;
import com.iformall.enums.sm.EnumThirdPartyType;
import com.iformall.mapper.UserMouldVideoMapper;
import com.iformall.service.ProductOrderService;
import com.iformall.service.WxCUserBasicInfoService;
import com.iformall.service.project.ProjectFactory;
import com.iformall.service.project.entity.CreateBilling;
@@ -75,6 +77,9 @@ public class UserMouldVideoServiceImpl implements UserMouldVideoService {
@Autowired
WxCUserBasicInfoService wxCUserBasicInfoService;
@Autowired
ProductOrderService productOrderService;

@Override
public PageInfo<UserMouldVideo> listAsPage(UserMouldVideo record, Integer pageIndex, Integer pageSize) {
@@ -368,6 +373,17 @@ public class UserMouldVideoServiceImpl implements UserMouldVideoService {
videoParam.setSubtitle(subtitleMap);
videoParam.setVoice_id(voiceMouldSmId);
videoParam.setVoice_style(voiceType);
videoParam.setTenancy_logo(Base64Util.imageUrlToBase64(Constant.hyLogo));
//查询用户是否有付费订单
ProductOrder po = new ProductOrder();
po.setUserId(mouldVideo.getUserId());
Integer paidCount = productOrderService.findPaidCount(po);
if (null != paidCount && paidCount > 0 ) {
videoParam.setUser_level(1);
}else {
videoParam.setUser_level(0);
}
AiVideoParam.VideoFiles videoFiles = new AiVideoParam.VideoFiles();
AiVideoParam.BackGround backGround = new AiVideoParam.BackGround();
backGround.setType(EnumVideoType.getEnum(mouldVideo.getVideoType()).getType());


+ 10
- 0
suimangService/src/main/java/com/iformall/sm/AiVideoParam.java Wyświetl plik

@@ -2,6 +2,8 @@ package com.iformall.sm;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils;

import lombok.Data;

import java.util.List;
@@ -42,6 +44,8 @@ public class AiVideoParam {
private String url = "None";//预留音频url
private VideoFiles video_files;
private String token;
private String tenancy_logo;
private Integer user_level;

private Map<String,Object> subtitle;

@@ -52,6 +56,12 @@ public class AiVideoParam {
str.append("\"video_template_id\":").append("\"").append(video_template_id).append("\",");
str.append("\"voice_id\":").append("\"").append(voice_id).append("\",");
str.append("\"voice_style\":").append("\"").append(voice_style).append("\",");
if (StringUtils.isNotBlank(tenancy_logo)) {
str.append("\"tenancy_logo\":").append("\"").append(tenancy_logo).append("\",");
}
if ( null != user_level) {
str.append("\"user_level\":").append("").append(user_level).append(",");
}
if(video_files != null){
str.append("\"video_files\":").append("{");
if(video_files.getBack_ground() != null){


+ 8
- 0
suimangService/src/main/java/com/iformall/utils/Constant.java Wyświetl plik

@@ -120,5 +120,13 @@ public class Constant {
public static final Integer wiwideNewPlat = 1;//新平台

public static final String text_pause = "\uD83D\uDD57";
//慧影每分钟消耗金币数
public static final Integer hyCostPoinsPerMinites = 1;
//慧影注册送金币数
public static final Integer hyRegeisterPoins = 5;
//慧影项目生成视频logo
public static final String hyLogo="";

}

+ 6
- 0
suimangService/src/main/resources/mapper/ProductOrderMapper.xml Wyświetl plik

@@ -119,6 +119,12 @@
from product_order
<include refid="dynamicWhereConditions"/>
</select>
<select id="findCount" parameterType="com.iformall.domain.po.ProductOrder" resultType="Integer">
select count(1)
from product_order
<include refid="dynamicWhereConditions"/>
</select>


<update id="orderPayUpdStatus" parameterType="com.iformall.domain.po.ProductOrder">


Ładowanie…
Anuluj
Zapisz