From 013bca54b9caec07d64ffa656314aecb2cdcfe81 Mon Sep 17 00:00:00 2001 From: twy <2301620162@qq.com> Date: Thu, 13 Jul 2023 18:50:10 +0800 Subject: [PATCH 01/48] =?UTF-8?q?=E7=99=BB=E5=BD=95=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E7=9A=84=E5=AE=9E=E7=8E=B0=E5=8F=8A=E9=83=A8=E5=88=86=E8=A7=86?= =?UTF-8?q?=E9=A2=91=E6=A8=A1=E6=9D=BF=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iformall/controller/VideoController.java | 17 ++++ .../controller/WxUserGrantController.java | 78 +++++++++++++++++++ .../java/com/iformall/common/ErrorCode.java | 2 + .../iformall/domain/po/WxCUserBasicInfo.java | 12 ++- .../mapper/WxCUserBasicInfoMapper.java | 4 + .../service/WxCUserBasicInfoService.java | 5 ++ .../impl/WxCUserBasicInfoServiceImpl.java | 11 +++ .../mapper/WxCUserBasicInfoMapper.xml | 19 ++++- 8 files changed, 145 insertions(+), 3 deletions(-) diff --git a/suimangCApi/src/main/java/com/iformall/controller/VideoController.java b/suimangCApi/src/main/java/com/iformall/controller/VideoController.java index e53e066..8b1d88f 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/VideoController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/VideoController.java @@ -1,7 +1,10 @@ package com.iformall.controller; +import com.iformall.annotation.AuthIgnore; import com.iformall.common.ErrorCode; import com.iformall.common.ResultData; +import com.iformall.domain.po.WxCVideoTable; +import com.iformall.service.WxCVideoService; import com.iformall.video.VideoFactory; import com.iformall.video.entity.VideUploadResult; import io.swagger.annotations.ApiImplicitParam; @@ -29,6 +32,8 @@ public class VideoController extends BaseController { @Autowired String videoType; + @Autowired + WxCVideoService wxCVideoService; /** * 上传视频 @@ -119,4 +124,16 @@ public class VideoController extends BaseController { } } + /** + * 视频模板列表 + */ + @AuthIgnore + @PostMapping("/avatarList") + @ApiOperation(value = "视频模板列表", notes = "{\"username\",\"string\",\"code\",\"string\"}") + public WxCVideoTable avatarList(@RequestBody Map params){ + String username = params.get("username"); + WxCVideoTable TemplateVideo = wxCVideoService.findByUserName(username); + return null; + } + } diff --git a/suimangCApi/src/main/java/com/iformall/controller/WxUserGrantController.java b/suimangCApi/src/main/java/com/iformall/controller/WxUserGrantController.java index 6b3190d..e0ee82f 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/WxUserGrantController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/WxUserGrantController.java @@ -36,6 +36,7 @@ import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import java.awt.image.BufferedImage; import java.io.IOException; +import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -128,6 +129,83 @@ public class WxUserGrantController extends BaseController { } } + @AuthIgnore + @PostMapping("/userlogin") + @ApiOperation(value = "用户登录", notes = "{\"username\":\"string\",\"password\":\"string\",\"code\":\"string\",\"Mcode\":\"string\",\"status\":\"int\"}") + public ResultData userLogin(@RequestBody Map map,HttpServletResponse response){ + String ipAddr = getIpAddr(); + logger.debug("[" + ipAddr + "] WxUserGrantController::userlogin"); + String code = map.get("code"); + if(StringUtils.isBlank(code)){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "请输入验证码"); + } + + String key = Constant.captchaPrev + ":" + ipAddr; + String code1 = RedisCacheUtils.getCacheString(redisTemplate, key); + if(StringUtils.isBlank(code1)){ + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "验证码已过期"); + } + if(!code1.equals(code)){ + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "验证码不正确"); + } + + String phone = map.get("username"); + String password = map.get("password"); + if(StringUtils.isBlank(phone) || StringUtils.isBlank(password)){ + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "手机号或密码为空"); + } + + WxCUserBasicInfo basicInfo = wxCUserBasicInfoService.findInfoByPhone(getTenantInfo(), phone); + if(basicInfo == null){ + return new ResultData(ErrorCode.USER_IS_EMPTY); + } + + String encryptPassword = new PasswordHelper().encryptPassword(password); + + if(!encryptPassword.equals(basicInfo.getPassword())){ + return new ResultData(ErrorCode.USER_PASSWD_ERR.getCode(), "手机号或密码错误"); + } + int status = Integer.parseInt(map.get("status")); + + if (status==0){ + basicInfo =wxCUserBasicInfoService.getById1(basicInfo.getId()); + if (basicInfo.getCode()!=null && !map.get("Mcode").equals(basicInfo.getCode())){ + return new ResultData(ErrorCode.USER_ALREADY_LOGIN.getCode(),"用户已在其他设备登录"); + }if (basicInfo.getCode()==null){ + wxCUserBasicInfoService.updateCode(basicInfo.getId(),map.get("Mcode")); + } + } + if (status==-1){ + wxCUserBasicInfoService.updateCode(basicInfo.getId(),null); + basicInfo.setStatus(-2); + return new ResultData(ErrorCode.USER_CANCEL_MCODE.getCode(),"设备已注销"); + } + + basicInfo =wxCUserBasicInfoService.getById1(basicInfo.getId()); + + wxCUserBasicInfoService.handleLoginUser(basicInfo); + Map resultMap = new HashMap(); +// resultMap.put("phone", basicInfo.getPhone()); + Map data = new HashMap(); + data.put("status",basicInfo.getStatus()); + data.put("version",basicInfo.getVersion()); + data.put("current_time",new Date(System.currentTimeMillis()/1000)); + data.put("expire_time",basicInfo.getExpireTime().getTime()/1000); + Map info = new HashMap(); + info.put("log_id",basicInfo.getId()); + info.put("username",basicInfo.getPhone()); + + resultMap.put("data",data); + resultMap.put("info",info); + + + // resultMap.put("expire_time", basicInfo.getExpireTime()); + return new ResultData(resultMap); + } + + + + /** * 用户登录 * diff --git a/suimangService/src/main/java/com/iformall/common/ErrorCode.java b/suimangService/src/main/java/com/iformall/common/ErrorCode.java index 83a9005..596eb46 100644 --- a/suimangService/src/main/java/com/iformall/common/ErrorCode.java +++ b/suimangService/src/main/java/com/iformall/common/ErrorCode.java @@ -97,6 +97,8 @@ public enum ErrorCode{ USER_NAME_IS_FOUND(2008,"用户名已存在"), USER_PHONE_IS_FOUND(2009,"手机号已存在"), MEMBER_IS_LOCKED(2010, "当前会员已被锁定"), + USER_ALREADY_LOGIN(2011,"用户已在其他端登入"), + USER_CANCEL_MCODE(2012,"用户已在其他端登入"), USER_BIRTHDATE_AFTER(2109, "出生日期大于当前日期"), USER_APPINFO_NOT_EXIST(2110,"当前登录用户APP为空"), USER_APPINFO_NOFUND_PAYACCOUNT(2111,"当前app找不到payAccount"), diff --git a/suimangService/src/main/java/com/iformall/domain/po/WxCUserBasicInfo.java b/suimangService/src/main/java/com/iformall/domain/po/WxCUserBasicInfo.java index a09a0bf..172a300 100644 --- a/suimangService/src/main/java/com/iformall/domain/po/WxCUserBasicInfo.java +++ b/suimangService/src/main/java/com/iformall/domain/po/WxCUserBasicInfo.java @@ -157,14 +157,18 @@ public class WxCUserBasicInfo extends TenantEntityWithoutFinalTenantId { @io.swagger.annotations.ApiModelProperty(value = "状态0正常1锁定", name = "status") private Integer status; + @TableField(exist = false) + @io.swagger.annotations.ApiModelProperty(value = "机器码", name = "code") + private String code; /*用户登录用token**/ @TableField(exist = false) @io.swagger.annotations.ApiModelProperty(value="用户登录用token",name="token") protected String token; /*用户过期时间**/ -// @io.swagger.annotations.ApiModelProperty(value="用户过期时间",name="expireTime") -// protected Date expireTime; + @TableField(exist = false) + @io.swagger.annotations.ApiModelProperty(value="用户过期时间",name="expireTime") + protected Date expireTime; @TableField(exist = false) @Excel(name="标签",width = 50,orderNum = "15") @@ -218,6 +222,10 @@ public class WxCUserBasicInfo extends TenantEntityWithoutFinalTenantId { @TableField(exist = false) @io.swagger.annotations.ApiModelProperty(value="套餐类型(1、基础版,2、专业版,3、加强版)",name="packageType") private Integer packageType; + @TableField(exist = false) + @io.swagger.annotations.ApiModelProperty(value="套餐类型(1、基础版,2、专业版,3、加强版)",name="packageType") + private Integer version; + public void protectInfos() { if(StringUtils.isNotBlank(this.password)) { diff --git a/suimangService/src/main/java/com/iformall/mapper/WxCUserBasicInfoMapper.java b/suimangService/src/main/java/com/iformall/mapper/WxCUserBasicInfoMapper.java index 7584390..4d526c3 100644 --- a/suimangService/src/main/java/com/iformall/mapper/WxCUserBasicInfoMapper.java +++ b/suimangService/src/main/java/com/iformall/mapper/WxCUserBasicInfoMapper.java @@ -65,5 +65,9 @@ public interface WxCUserBasicInfoMapper extends CommonMapper findIdByFilter(WxCUserBasicInfoDto wxCUserBasicInfoDto); long getTotalCreditAmount(@Param("tenantId")String tenantId, @Param("finalTenantId")String finalTenantId); + + WxCUserBasicInfo selectById1(Long id); + + void updateCode(Long id, String mcode); } diff --git a/suimangService/src/main/java/com/iformall/service/WxCUserBasicInfoService.java b/suimangService/src/main/java/com/iformall/service/WxCUserBasicInfoService.java index cd40af2..a2db33a 100644 --- a/suimangService/src/main/java/com/iformall/service/WxCUserBasicInfoService.java +++ b/suimangService/src/main/java/com/iformall/service/WxCUserBasicInfoService.java @@ -200,5 +200,10 @@ public interface WxCUserBasicInfoService { void sendTicketEmail(WxCUserBasicInfo basicInfo, EnumMsgModel type); void updUserInfo(WxCUserBasicInfo cUser, Long memberId); + + WxCUserBasicInfo getById1(Long id); + + + void updateCode(Long id, String mcode); } diff --git a/suimangService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java b/suimangService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java index 166b2bb..22fdcbb 100644 --- a/suimangService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java @@ -953,6 +953,17 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService,IExc update(info); } + @Override + public WxCUserBasicInfo getById1(Long id) { + return wxCUserBasicInfoMapper.selectById1(id); + } + + @Override + public void updateCode(Long id, String mcode) { + + wxCUserBasicInfoMapper.updateCode(id,mcode); + } + @Override public WxCUserBasicInfo getById(Long id,String finalTenantId) { diff --git a/suimangService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml b/suimangService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml index dcbd9cd..22e9275 100644 --- a/suimangService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml +++ b/suimangService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml @@ -28,7 +28,9 @@ - + + + @@ -38,6 +40,13 @@ wcubi.`avatar_url`,wcubi.`credit`,wcubi.`active_time`,wcubi.`login_count`,wcubi.`act_record`, wcubi.score_date,wcubi.status + + wcubi.`id`,wcubi.`phone`,wcubi.`birthdate`,wcubi.`education`,wcubi.`sex`,wcubi.`height`,wcubi.`weight`,wcubi.`id_card`,wcubi.`email`, + wcubi.`address`,wcubi.`poins`,wcubi.`tag_id`,wcubi.`create_date`,wcubi.`update_date`, + wcubi.`final_tenant_id`,wcubi.`tenant_id`,wcubi.`parent_tenant_id`,wcubi.`name`,wcubi.`nick_name`, + wcubi.`avatar_url`,wcubi.`credit`,wcubi.`active_time`,wcubi.`login_count`,wcubi.`act_record`, + wcubi.score_date,wcubi.status,wcubi1.code,wcubi1.version,wcubi1.expire_time + where 1=1 @@ -129,6 +138,11 @@ from wx_c_user_basic_info wcubi where wcubi.id =#{id} + + + + + + \ No newline at end of file From 2b8e4a9ae24dbf038913d44262fd998130f6fafd Mon Sep 17 00:00:00 2001 From: twy <2301620162@qq.com> Date: Tue, 18 Jul 2023 12:26:43 +0800 Subject: [PATCH 03/48] =?UTF-8?q?=E6=85=A7=E6=92=AD=E7=99=BB=E5=85=A5?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../V2023071300003_wx_c_user_basic_info2.sql | 32 -------- suimangCApi/pom.xml | 2 + .../iformall/controller/VideoController.java | 7 +- .../controller/WxUserGrantController.java | 28 +++---- .../com/iformall/domain/po/WxCVideoTable.java | 7 +- .../mapper/WxCUserBasicInfoMapper.java | 4 +- .../com/iformall/mapper/WxCVideoMapper.java | 7 +- .../service/WxCUserBasicInfoService.java | 4 +- .../impl/WxCUserBasicInfoServiceImpl.java | 24 +++--- .../service/impl/WxCVideoServiceImpl.java | 76 ++++++++++++++++++- .../mapper/WxCUserBasicInfoMapper.xml | 12 +-- .../main/resources/mapper/WxCVideoMapper.tld | 27 ------- .../main/resources/mapper/WxCVideoMapper.xml | 27 +++++++ 13 files changed, 153 insertions(+), 104 deletions(-) delete mode 100644 suimangAdmin/src/main/resources/db/migration/V2023071300003_wx_c_user_basic_info2.sql delete mode 100644 suimangService/src/main/resources/mapper/WxCVideoMapper.tld create mode 100644 suimangService/src/main/resources/mapper/WxCVideoMapper.xml diff --git a/suimangAdmin/src/main/resources/db/migration/V2023071300003_wx_c_user_basic_info2.sql b/suimangAdmin/src/main/resources/db/migration/V2023071300003_wx_c_user_basic_info2.sql deleted file mode 100644 index f814ab7..0000000 --- a/suimangAdmin/src/main/resources/db/migration/V2023071300003_wx_c_user_basic_info2.sql +++ /dev/null @@ -1,32 +0,0 @@ -/* - Navicat Premium Data Transfer - - Source Server : photo - Source Server Type : MySQL - Source Server Version : 80026 (8.0.26) - Source Host : 182.92.151.30:3306 - Source Schema : mallink_suimang_test - - Target Server Type : MySQL - Target Server Version : 80026 (8.0.26) - File Encoding : 65001 - - Date: 13/07/2023 18:42:07 -*/ - -SET NAMES utf8mb4; -SET FOREIGN_KEY_CHECKS = 0; - --- ---------------------------- --- Table structure for wx_c_user_basic_info2 --- ---------------------------- -DROP TABLE IF EXISTS `wx_c_user_basic_info2`; -CREATE TABLE `wx_c_user_basic_info2` ( - `id` bigint NOT NULL, - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, - `version` int NULL DEFAULT NULL, - `expire_time` datetime NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; - -SET FOREIGN_KEY_CHECKS = 1; diff --git a/suimangCApi/pom.xml b/suimangCApi/pom.xml index b702bc6..80e424b 100644 --- a/suimangCApi/pom.xml +++ b/suimangCApi/pom.xml @@ -168,5 +168,7 @@ + + \ No newline at end of file diff --git a/suimangCApi/src/main/java/com/iformall/controller/VideoController.java b/suimangCApi/src/main/java/com/iformall/controller/VideoController.java index 8b1d88f..74210f7 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/VideoController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/VideoController.java @@ -23,7 +23,7 @@ import java.util.Map; * @author gongbiao */ @RestController -@RequestMapping("api/video") +@RequestMapping("/api/video") public class VideoController extends BaseController { private Logger logger = LoggerFactory.getLogger(this.getClass()); @@ -32,8 +32,9 @@ public class VideoController extends BaseController { @Autowired String videoType; + @Autowired - WxCVideoService wxCVideoService; + private WxCVideoService wxCVideoService; /** * 上传视频 @@ -133,7 +134,7 @@ public class VideoController extends BaseController { public WxCVideoTable avatarList(@RequestBody Map params){ String username = params.get("username"); WxCVideoTable TemplateVideo = wxCVideoService.findByUserName(username); - return null; + return TemplateVideo; } } diff --git a/suimangCApi/src/main/java/com/iformall/controller/WxUserGrantController.java b/suimangCApi/src/main/java/com/iformall/controller/WxUserGrantController.java index e0ee82f..3e95aef 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/WxUserGrantController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/WxUserGrantController.java @@ -85,6 +85,10 @@ public class WxUserGrantController extends BaseController { @Autowired WxMallService mallService; + @Autowired + WxCLiveUserBasicInfoService wxCLiveUserBasicInfoService; + + @Autowired private QrCodeService qrCodeService; @@ -139,7 +143,6 @@ public class WxUserGrantController extends BaseController { if(StringUtils.isBlank(code)){ return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "请输入验证码"); } - String key = Constant.captchaPrev + ":" + ipAddr; String code1 = RedisCacheUtils.getCacheString(redisTemplate, key); if(StringUtils.isBlank(code1)){ @@ -148,13 +151,11 @@ public class WxUserGrantController extends BaseController { if(!code1.equals(code)){ return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "验证码不正确"); } - String phone = map.get("username"); String password = map.get("password"); if(StringUtils.isBlank(phone) || StringUtils.isBlank(password)){ return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "手机号或密码为空"); } - WxCUserBasicInfo basicInfo = wxCUserBasicInfoService.findInfoByPhone(getTenantInfo(), phone); if(basicInfo == null){ return new ResultData(ErrorCode.USER_IS_EMPTY); @@ -165,32 +166,33 @@ public class WxUserGrantController extends BaseController { if(!encryptPassword.equals(basicInfo.getPassword())){ return new ResultData(ErrorCode.USER_PASSWD_ERR.getCode(), "手机号或密码错误"); } + int status = Integer.parseInt(map.get("status")); if (status==0){ - basicInfo =wxCUserBasicInfoService.getById1(basicInfo.getId()); - if (basicInfo.getCode()!=null && !map.get("Mcode").equals(basicInfo.getCode())){ - return new ResultData(ErrorCode.USER_ALREADY_LOGIN.getCode(),"用户已在其他设备登录"); - }if (basicInfo.getCode()==null){ - wxCUserBasicInfoService.updateCode(basicInfo.getId(),map.get("Mcode")); + WxCUserBasicInfo basicLiveInfo =wxCLiveUserBasicInfoService.getById(basicInfo.getId()); + if (basicLiveInfo.getCode()!=null && !map.get("Mcode").equals(basicLiveInfo.getCode())){ + return new ResultData(ErrorCode.USER_ALREADY_LOGIN.getCode(),"用户已在其他设备登录"); + }if (basicLiveInfo.getCode()==null){ + wxCLiveUserBasicInfoService.updateCode(basicInfo.getId(),map.get("Mcode")); } } if (status==-1){ - wxCUserBasicInfoService.updateCode(basicInfo.getId(),null); + wxCLiveUserBasicInfoService.updateCode(basicInfo.getId(),null); basicInfo.setStatus(-2); return new ResultData(ErrorCode.USER_CANCEL_MCODE.getCode(),"设备已注销"); } - basicInfo =wxCUserBasicInfoService.getById1(basicInfo.getId()); wxCUserBasicInfoService.handleLoginUser(basicInfo); + WxCUserBasicInfo basicLiveInfo =wxCLiveUserBasicInfoService.getById(basicInfo.getId()); Map resultMap = new HashMap(); // resultMap.put("phone", basicInfo.getPhone()); Map data = new HashMap(); data.put("status",basicInfo.getStatus()); - data.put("version",basicInfo.getVersion()); + data.put("version",basicLiveInfo.getVersion()); data.put("current_time",new Date(System.currentTimeMillis()/1000)); - data.put("expire_time",basicInfo.getExpireTime().getTime()/1000); + data.put("expire_time",basicLiveInfo.getExpireTime().getTime()/1000); Map info = new HashMap(); info.put("log_id",basicInfo.getId()); info.put("username",basicInfo.getPhone()); @@ -199,7 +201,7 @@ public class WxUserGrantController extends BaseController { resultMap.put("info",info); - // resultMap.put("expire_time", basicInfo.getExpireTime()); + // resultMap.put("expire_time", basicInfo.getExpireTime()); return new ResultData(resultMap); } diff --git a/suimangService/src/main/java/com/iformall/domain/po/WxCVideoTable.java b/suimangService/src/main/java/com/iformall/domain/po/WxCVideoTable.java index 9714bc2..000f2ea 100644 --- a/suimangService/src/main/java/com/iformall/domain/po/WxCVideoTable.java +++ b/suimangService/src/main/java/com/iformall/domain/po/WxCVideoTable.java @@ -11,7 +11,7 @@ import lombok.ToString; import java.util.ArrayList; import java.util.Date; -@TableName(value = "wx_c_avatar") +@TableName(value ="wx_c_avatar") @Data @ToString(callSuper = true) @EqualsAndHashCode(callSuper = true) @@ -26,6 +26,8 @@ public class WxCVideoTable extends TenantEntityWithoutFinalTenantId { @TableField(exist = false) private ArrayList authorList; + //public class Author extends TenantEntityWithoutFinalTenantId{ + @io.swagger.annotations.ApiModelProperty(value="数字人id",name="id") private int id; @io.swagger.annotations.ApiModelProperty(value="数字人名称",name="name") @@ -40,6 +42,7 @@ public class WxCVideoTable extends TenantEntityWithoutFinalTenantId { @io.swagger.annotations.ApiModelProperty(value="数字人样例视频链接",name="demo") private String demo; @io.swagger.annotations.ApiModelProperty(value="数字人模板预处理信息文件链接",name="preInfo") - private String preinfo; + private String preInfo; + // } } diff --git a/suimangService/src/main/java/com/iformall/mapper/WxCUserBasicInfoMapper.java b/suimangService/src/main/java/com/iformall/mapper/WxCUserBasicInfoMapper.java index 4d526c3..7c6b85f 100644 --- a/suimangService/src/main/java/com/iformall/mapper/WxCUserBasicInfoMapper.java +++ b/suimangService/src/main/java/com/iformall/mapper/WxCUserBasicInfoMapper.java @@ -66,8 +66,8 @@ public interface WxCUserBasicInfoMapper extends CommonMapper { + + WxCVideoTable findByUserName(@Param("username") String username); -public interface WxCVideoMapper extends CommonMapper { - WxCVideoTable findByUserName(String username); } diff --git a/suimangService/src/main/java/com/iformall/service/WxCUserBasicInfoService.java b/suimangService/src/main/java/com/iformall/service/WxCUserBasicInfoService.java index a2db33a..29ed2ee 100644 --- a/suimangService/src/main/java/com/iformall/service/WxCUserBasicInfoService.java +++ b/suimangService/src/main/java/com/iformall/service/WxCUserBasicInfoService.java @@ -201,9 +201,9 @@ public interface WxCUserBasicInfoService { void updUserInfo(WxCUserBasicInfo cUser, Long memberId); - WxCUserBasicInfo getById1(Long id); +// WxCUserBasicInfo getById1(Long id); - void updateCode(Long id, String mcode); + // void updateCode(Long id, String mcode); } diff --git a/suimangService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java b/suimangService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java index 22fdcbb..83df171 100644 --- a/suimangService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java @@ -629,7 +629,8 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService,IExc @Override public PageInfo listAsPage(WxCUserBasicInfo record, Integer pageIndex, Integer pageSize) { - return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCUserBasicInfoMapper.findList(record)); + return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo( + () -> wxCUserBasicInfoMapper.findList(record)); } @Override @@ -666,7 +667,8 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService,IExc WxCUserBasicInfo basicQ = new WxCUserBasicInfo(); basicQ.setFinalTenantId(tenantEntity.getFinalTenantId()); basicQ.setPhone(phone); - List basicInfos = wxCUserBasicInfoMapper.selectList(new QueryWrapper(basicQ)); + List basicInfos = wxCUserBasicInfoMapper.selectList( + new QueryWrapper(basicQ)); if (basicInfos != null && basicInfos.size() > 0) { WxCUserBasicInfo wxCUserBasicInfo = basicInfos.get(0); if (wxCUserBasicInfo.getPoins() != null) { @@ -953,16 +955,16 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService,IExc update(info); } - @Override - public WxCUserBasicInfo getById1(Long id) { - return wxCUserBasicInfoMapper.selectById1(id); - } - - @Override - public void updateCode(Long id, String mcode) { +// @Override +// public WxCUserBasicInfo getById1(Long id) { +// return wxCUserBasicInfoMapper.selectById1(id); +// } - wxCUserBasicInfoMapper.updateCode(id,mcode); - } +// @Override +// public void updateCode(Long id, String mcode) { +// +// wxCUserBasicInfoMapper.updateCode(id,mcode); +// } @Override diff --git a/suimangService/src/main/java/com/iformall/service/impl/WxCVideoServiceImpl.java b/suimangService/src/main/java/com/iformall/service/impl/WxCVideoServiceImpl.java index 70ee842..5dabc33 100644 --- a/suimangService/src/main/java/com/iformall/service/impl/WxCVideoServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/impl/WxCVideoServiceImpl.java @@ -1,13 +1,33 @@ package com.iformall.service.impl; +import cn.afterturn.easypoi.handler.inter.IExcelExportServer; +import com.iformall.domain.po.WxCUserBasicInfo; import com.iformall.domain.po.WxCVideoTable; +import com.iformall.domain.vo.WxCUserBasicInfoVo; +import com.iformall.mapper.WxCUserBasicInfoMapper; import com.iformall.mapper.WxCVideoMapper; +import com.iformall.service.WxCUserTagsService; import com.iformall.service.WxCVideoService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + @Service -public class WxCVideoServiceImpl implements WxCVideoService { +public class WxCVideoServiceImpl implements WxCVideoService,IExcelExportServer { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Autowired + WxCUserBasicInfoMapper wxCUserBasicInfoMapper; + + @Autowired + WxCUserTagsService wxCUserTagsService; + @Autowired WxCVideoMapper wxCVideoMapper; @Override @@ -15,4 +35,58 @@ public class WxCVideoServiceImpl implements WxCVideoService { WxCVideoTable TemplateVideo = wxCVideoMapper.findByUserName(username); return TemplateVideo; } + + @Override + public List selectListForExcelExport(Object queryParams, int page) { + WxCUserBasicInfo basicInfo = (WxCUserBasicInfo) queryParams; + List list = new ArrayList(); + basicInfo.setBegin((page-1)*20000); + basicInfo.setLimit(20000); + + list = wxCUserBasicInfoMapper.findVoList(basicInfo); + if (null == list || list.size() <= 0 ) { + return null; + } + +// List userIds = list.stream().map(cc -> cc.getId()).collect(Collectors.toList()); +// if (null != userIds && userIds.size() > 0 ) { +// WxCreditHistory chaddq = new WxCreditHistory(); +// chaddq.setUserIdList(userIds); +// chaddq.setTenantId(tenantInfo.getFinalTenantId()); +// chaddq.setStartTime(basicInfo.getCreditStartTime()); +// chaddq.setEndTime(basicInfo.getCreditEndTime()); +// List chadds = creditHistoryMapper.findAddList(chaddq); +// Map chaddMap = new HashMap<>(); +// if(null != chadds){ +// chaddMap = chadds.stream().collect(Collectors.toMap(WxCreditHistory::getCUserId, WxCreditHistory::getCreditNum)); +// } +// +// WxCreditHistory chlesq = new WxCreditHistory(); +// chlesq.setUserIdList(userIds); +// chlesq.setTenantId(tenantInfo.getFinalTenantId()); +// chlesq.setStartTime(basicInfo.getCreditStartTime()); +// chlesq.setEndTime(basicInfo.getCreditEndTime()); +// List chless = creditHistoryMapper.findLesList(chlesq); +// Map chlesMap = new HashMap<>(); +// if(null != chless){ +// chlesMap = chless.stream().collect(Collectors.toMap(WxCreditHistory::getCUserId, WxCreditHistory::getCreditNum)); +// } + + //处理会员标签 + List tagIds = list.stream().map(cc -> cc.getTagId()).collect(Collectors.toList()); + Map tagIdName = wxCUserTagsService.findIdTagNames(basicInfo.getFinalTenantId(),tagIds); + list.stream().forEach(u->{ +// u.setAddCredit(finalChaddMap.get(u.getId())); +// u.setLesCredit(finalChlesMap.get(u.getId())); + u.setTagNames(tagIdName.get(u.getTagId())); + }); +// +// } + if (null != list && list.size() > 0 ) { + List retList = new ArrayList(); + retList.addAll(list); + return retList; + } + return null; + } } diff --git a/suimangService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml b/suimangService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml index 22e9275..872783b 100644 --- a/suimangService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml +++ b/suimangService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml @@ -138,11 +138,7 @@ from wx_c_user_basic_info wcubi where wcubi.id =#{id} - + - + - - - - - \ No newline at end of file diff --git a/suimangService/src/main/resources/mapper/WxCVideoMapper.xml b/suimangService/src/main/resources/mapper/WxCVideoMapper.xml new file mode 100644 index 0000000..2ab2ea5 --- /dev/null +++ b/suimangService/src/main/resources/mapper/WxCVideoMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file From fee0789f193ca28a5a1f982d1006e47dda24fdd6 Mon Sep 17 00:00:00 2001 From: twy <2301620162@qq.com> Date: Tue, 18 Jul 2023 13:27:21 +0800 Subject: [PATCH 04/48] =?UTF-8?q?=E6=85=A7=E6=92=AD=E7=99=BB=E5=85=A5?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...2023071300003wx_c_user_live_basic_info.sql | 32 ++ .../mapper/WxCLiveUserBasicInfoMapper.java | 11 + .../service/WxCLiveUserBasicInfoService.java | 9 + .../impl/WxCLiveUserBasicInfoServiceImpl.java | 27 ++ .../mapper/WxCLiveUserBasicInfoMapper.xml | 323 ++++++++++++++++++ 5 files changed, 402 insertions(+) create mode 100644 suimangAdmin/src/main/resources/db/migration/V2023071300003wx_c_user_live_basic_info.sql create mode 100644 suimangService/src/main/java/com/iformall/mapper/WxCLiveUserBasicInfoMapper.java create mode 100644 suimangService/src/main/java/com/iformall/service/WxCLiveUserBasicInfoService.java create mode 100644 suimangService/src/main/java/com/iformall/service/impl/WxCLiveUserBasicInfoServiceImpl.java create mode 100644 suimangService/src/main/resources/mapper/WxCLiveUserBasicInfoMapper.xml diff --git a/suimangAdmin/src/main/resources/db/migration/V2023071300003wx_c_user_live_basic_info.sql b/suimangAdmin/src/main/resources/db/migration/V2023071300003wx_c_user_live_basic_info.sql new file mode 100644 index 0000000..5e46f10 --- /dev/null +++ b/suimangAdmin/src/main/resources/db/migration/V2023071300003wx_c_user_live_basic_info.sql @@ -0,0 +1,32 @@ +/* + Navicat Premium Data Transfer + + Source Server : photo + Source Server Type : MySQL + Source Server Version : 80026 (8.0.26) + Source Host : 182.92.151.30:3306 + Source Schema : mallink_suimang_test + + Target Server Type : MySQL + Target Server Version : 80026 (8.0.26) + File Encoding : 65001 + + Date: 18/07/2023 12:14:57 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for wx_c_user_live_basic_info +-- ---------------------------- +DROP TABLE IF EXISTS `wx_c_user_live_basic_info`; +CREATE TABLE `wx_c_user_live_basic_info` ( + `id` bigint NOT NULL, + `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, + `version` int NULL DEFAULT NULL, + `expire_time` datetime NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/suimangService/src/main/java/com/iformall/mapper/WxCLiveUserBasicInfoMapper.java b/suimangService/src/main/java/com/iformall/mapper/WxCLiveUserBasicInfoMapper.java new file mode 100644 index 0000000..ffa1833 --- /dev/null +++ b/suimangService/src/main/java/com/iformall/mapper/WxCLiveUserBasicInfoMapper.java @@ -0,0 +1,11 @@ +package com.iformall.mapper; + +import com.iformall.common.CommonMapper; +import com.iformall.domain.po.WxCUserBasicInfo; + +public interface WxCLiveUserBasicInfoMapper extends CommonMapper { + + WxCUserBasicInfo selectById(Long id); + + void updateCode(Long id, String mcode); +} diff --git a/suimangService/src/main/java/com/iformall/service/WxCLiveUserBasicInfoService.java b/suimangService/src/main/java/com/iformall/service/WxCLiveUserBasicInfoService.java new file mode 100644 index 0000000..99de2c1 --- /dev/null +++ b/suimangService/src/main/java/com/iformall/service/WxCLiveUserBasicInfoService.java @@ -0,0 +1,9 @@ +package com.iformall.service; + +import com.iformall.domain.po.WxCUserBasicInfo; + +public interface WxCLiveUserBasicInfoService { + WxCUserBasicInfo getById(Long id); + + void updateCode(Long id, String mcode); +} diff --git a/suimangService/src/main/java/com/iformall/service/impl/WxCLiveUserBasicInfoServiceImpl.java b/suimangService/src/main/java/com/iformall/service/impl/WxCLiveUserBasicInfoServiceImpl.java new file mode 100644 index 0000000..dd9b754 --- /dev/null +++ b/suimangService/src/main/java/com/iformall/service/impl/WxCLiveUserBasicInfoServiceImpl.java @@ -0,0 +1,27 @@ +package com.iformall.service.impl; + +import com.iformall.domain.po.WxCUserBasicInfo; +import com.iformall.mapper.WxCLiveUserBasicInfoMapper; +import com.iformall.service.WxCLiveUserBasicInfoService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + + +@Service +public class WxCLiveUserBasicInfoServiceImpl implements WxCLiveUserBasicInfoService { + + @Autowired + WxCLiveUserBasicInfoMapper wxCLiveUserBasicInfoMapper; + + + @Override + public WxCUserBasicInfo getById(Long id) { + return wxCLiveUserBasicInfoMapper.selectById(id); + + } + @Override + public void updateCode(Long id, String mcode) { + + wxCLiveUserBasicInfoMapper.updateCode(id,mcode); + } +} diff --git a/suimangService/src/main/resources/mapper/WxCLiveUserBasicInfoMapper.xml b/suimangService/src/main/resources/mapper/WxCLiveUserBasicInfoMapper.xml new file mode 100644 index 0000000..3874962 --- /dev/null +++ b/suimangService/src/main/resources/mapper/WxCLiveUserBasicInfoMapper.xml @@ -0,0 +1,323 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + wcubi.`id`,wcubi.`phone`,wcubi.`birthdate`,wcubi.`education`,wcubi.`sex`,wcubi.`height`,wcubi.`weight`,wcubi.`id_card`,wcubi.`email`, + wcubi.`address`,wcubi.`poins`,wcubi.`tag_id`,wcubi.`create_date`,wcubi.`update_date`, + wcubi.`final_tenant_id`,wcubi.`tenant_id`,wcubi.`parent_tenant_id`,wcubi.`name`,wcubi.`nick_name`, + wcubi.`avatar_url`,wcubi.`credit`,wcubi.`active_time`,wcubi.`login_count`,wcubi.`act_record`, + wcubi.score_date,wcubi.status,wcubi1.code,wcubi1.version,wcubi1.expire_time + + + + where 1=1 + + + and wcubi.`tenant_id` like concat('%,', #{tenantId},',%') + + + and wcubi.`id` = #{id} + + + + and wcubi.`phone` like concat('%', #{phone},'%') + + + + and wcubi.`birthdate` = #{birthdate} + + + + and wcubi.`education` like concat('%', #{education},'%') + + + + and wcubi.`sex` = #{sex} + + + + and wcubi.`email` like concat('%', #{email},'%') + + + + and wcubi.`address` like concat('%', #{address},'%') + + + + and wcubi.poins >= #{levelStartScore} + + + + and wcubi.poins < #{levelEndScore} + + + + and wcubi.`tag_id` = #{tagId} + + + + and wcubi.`create_date` = #{createDate} + + + + and wcubi.`update_date` = #{updateDate} + + + + and wcubi.`act_record` = #{actRecord} + + + + and wcubi.`name` like concat('%', #{name},'%') + + + and wcubi.`create_date` between #{startTime} and #{endTime} + + + + and wcubi.`active_time` between #{activeStartTime} and #{activeEndTime} + + + + and wcubi.`status` = #{status} + + + + and wcubi.id in + + #{idItem} + + + + order by ${sortColumns} + + + + + + + + + update wx_c_user_live_basic_info set code = #{mcode} where id = #{id} + + + + + wcubi.id,wcubi.phone,wcubi.birthdate,wcubi.education,wcubi.sex,wcubi.`height`,wcubi.`weight`,wcubi.`id_card`,wcubi.email,wcubi.address,wcubi.poins,wcubi.tag_id, + wcubi.create_date,wcubi.update_date,wcubi.name,wcubi.level,wcubi.nick_name,wcubi.score_date,wcubi.final_tenant_id + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + where 1=1 + + + and wcubi.`id` = #{id} + + + + and wcubi.`tenant_id` like concat('%,', #{tenantId},',%') + + + + and wcubi.`phone` like concat('%', #{phone},'%') + + + + and wcubi.`birthdate` = #{birthdate} + + + + and wcubi.`education` like concat('%', #{education},'%') + + + + and wcubi.`sex` = #{sex} + + + + and wcubi.`email` like concat('%', #{email},'%') + + + + and wcubi.`address` like concat('%', #{address},'%') + + + + and wcubi.`poins` = #{poins} + + + + and wcubi.`tag_id` = #{tagId} + + + + and wcubi.`create_date` = #{createDate} + + + + and wcubi.`update_date` = #{updateDate} + + + + and wcubi.`act_record` = #{actRecord} + + + + and wcubi.`name` like concat('%', #{name},'%') + + + and wcubi.`create_date` between #{startTime} and #{endTime} + + + + and wcubi.`active_time` between #{activeStartTime} and #{activeEndTime} + + + + and wcubi.id in + + #{idItem} + + + order by wcubi.`active_time` DESC + + + + + where 1=1 + + and wcubi.`tenant_id` like concat('%,', #{tenantId},',%') + + + and wcubi.create_date >= #{startTime} + + + + and wcubi.create_date <= #{endTime} + + + + and wcubi.birthdate >= #{birthStartTime} + + + + and wcubi.birthdate < #{birthEndTime} + + + + and wcubi.active_time >= #{loginStartTime} + + + + and wcubi.active_time <= #{loginEndTime} + + + + and wcubi.phone in (${phones}) + + + + and wcubi.poins >= #{levelStartScore} + + and wcubi.poins < #{levelEndScore} + + + + + and (wcubi.poins is null or + (wcubi.poins >= #{levelStartScore} + + and wcubi.poins < #{levelEndScore} + + )) + + + + and wcubi.id in + + #{idItem} + + + + + and wcubi.`tag_id` in + + #{tagIdItem} + + + order by ${sortColumns} + + + + + + + + + + + \ No newline at end of file From b21e9526a4f121c4cd2d790b6db7e27e12626946 Mon Sep 17 00:00:00 2001 From: xhxu Date: Tue, 18 Jul 2023 14:13:34 +0800 Subject: [PATCH 05/48] //zimu --- .../main/resources/db/migration/V2023071800001_subtitle.sql | 3 +++ .../java/com/iformall/domain/po/sm/PhotoSpeakVideo.java | 6 ++++++ .../src/main/resources/mapper/PhotoSpeakVideoMapper.xml | 5 ++++- 3 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 suimangAdmin/src/main/resources/db/migration/V2023071800001_subtitle.sql diff --git a/suimangAdmin/src/main/resources/db/migration/V2023071800001_subtitle.sql b/suimangAdmin/src/main/resources/db/migration/V2023071800001_subtitle.sql new file mode 100644 index 0000000..d816e28 --- /dev/null +++ b/suimangAdmin/src/main/resources/db/migration/V2023071800001_subtitle.sql @@ -0,0 +1,3 @@ +ALTER TABLE `mallink_suimang_test`.`photo_speak_video` +ADD COLUMN `subtitle_enabled` smallint(1) COMMENT '字幕开关' AFTER `person_photo_url`, +ADD COLUMN `subtitle_params` json COMMENT '字幕参数' AFTER `subtitle_enabled`; diff --git a/suimangService/src/main/java/com/iformall/domain/po/sm/PhotoSpeakVideo.java b/suimangService/src/main/java/com/iformall/domain/po/sm/PhotoSpeakVideo.java index ebb494b..bf4360a 100644 --- a/suimangService/src/main/java/com/iformall/domain/po/sm/PhotoSpeakVideo.java +++ b/suimangService/src/main/java/com/iformall/domain/po/sm/PhotoSpeakVideo.java @@ -51,6 +51,12 @@ public class PhotoSpeakVideo extends TenantEntity { @TableField(exist = false) private PersonPhoto personPhoto; + @io.swagger.annotations.ApiModelProperty(value="字幕开关",name="subtitleEnabled") + private Integer subtitleEnabled; + + @io.swagger.annotations.ApiModelProperty(value="字幕参数",name="subtitleParams") + private String subtitleParams; + @io.swagger.annotations.ApiModelProperty(value="EnumVoiceFrom 声音来源",name="voiceFrom") private Integer voiceFrom; diff --git a/suimangService/src/main/resources/mapper/PhotoSpeakVideoMapper.xml b/suimangService/src/main/resources/mapper/PhotoSpeakVideoMapper.xml index 39e6d1b..ffb6fe4 100644 --- a/suimangService/src/main/resources/mapper/PhotoSpeakVideoMapper.xml +++ b/suimangService/src/main/resources/mapper/PhotoSpeakVideoMapper.xml @@ -8,6 +8,9 @@ + + + @@ -39,7 +42,7 @@ `id`, `tenant_id`, `parent_tenant_id`, `user_id`, - `person_photo_id`, `person_photo_url`, `voice_from`, `voice_mould_id`, `voice_mould_sm`, `paperwork`, `voice_material_id`, `voice_material_url`, + `person_photo_id`, `person_photo_url`, `subtitle_enabled`, `subtitle_params`, `voice_from`, `voice_mould_id`, `voice_mould_sm`, `paperwork`, `voice_material_id`, `voice_material_url`, `title`, `cover_img`, `remark`, `video_id`, `video_path`, `video_play_url`, `video_time`, `video_size`, `video_status`, `video_msg`, `create_video_date`, `create_date`, `update_date`, `is_hy`,`video_hy_status`,`music_id`,`save_dir` From e57dd979149fac0ad4db965950e974022d3fc830 Mon Sep 17 00:00:00 2001 From: twy <2301620162@qq.com> Date: Tue, 18 Jul 2023 16:59:38 +0800 Subject: [PATCH 06/48] =?UTF-8?q?=E8=A7=86=E9=A2=91=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iformall/controller/VideoController.java | 6 ++-- .../com/iformall/domain/po/WxCVideoTable.java | 36 +++++++++---------- .../com/iformall/mapper/WxCVideoMapper.java | 4 ++- .../com/iformall/service/WxCVideoService.java | 3 +- .../service/impl/WxCVideoServiceImpl.java | 35 ++++++++++++++---- .../main/resources/mapper/WxCVideoMapper.xml | 26 +++++++------- 6 files changed, 67 insertions(+), 43 deletions(-) diff --git a/suimangCApi/src/main/java/com/iformall/controller/VideoController.java b/suimangCApi/src/main/java/com/iformall/controller/VideoController.java index 74210f7..ec11a6f 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/VideoController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/VideoController.java @@ -131,10 +131,10 @@ public class VideoController extends BaseController { @AuthIgnore @PostMapping("/avatarList") @ApiOperation(value = "视频模板列表", notes = "{\"username\",\"string\",\"code\",\"string\"}") - public WxCVideoTable avatarList(@RequestBody Map params){ + public ResultData avatarList(@RequestBody Map params){ String username = params.get("username"); - WxCVideoTable TemplateVideo = wxCVideoService.findByUserName(username); - return TemplateVideo; + + return wxCVideoService.findByUserName(username); } } diff --git a/suimangService/src/main/java/com/iformall/domain/po/WxCVideoTable.java b/suimangService/src/main/java/com/iformall/domain/po/WxCVideoTable.java index 000f2ea..35749ba 100644 --- a/suimangService/src/main/java/com/iformall/domain/po/WxCVideoTable.java +++ b/suimangService/src/main/java/com/iformall/domain/po/WxCVideoTable.java @@ -11,7 +11,7 @@ import lombok.ToString; import java.util.ArrayList; import java.util.Date; -@TableName(value ="wx_c_avatar") +@TableName(value ="wx_c_author") @Data @ToString(callSuper = true) @EqualsAndHashCode(callSuper = true) @@ -22,27 +22,25 @@ public class WxCVideoTable extends TenantEntityWithoutFinalTenantId { @TableField(exist = false) private String currentTime; - @TableField(exist = false) - private ArrayList authorList; + private String expireTime; + + + @io.swagger.annotations.ApiModelProperty(value="数字人id",name="id") + private int id; + @io.swagger.annotations.ApiModelProperty(value="数字人名称",name="name") + private String name; + + @io.swagger.annotations.ApiModelProperty(value="数字人封面图片链接",name="image") + private String image; + @io.swagger.annotations.ApiModelProperty(value="数字人样例视频链接",name="demo") + private String demo; + @io.swagger.annotations.ApiModelProperty(value="数字人模板预处理信息文件链接",name="preInfo") + private String preInfo; + + - //public class Author extends TenantEntityWithoutFinalTenantId{ - @io.swagger.annotations.ApiModelProperty(value="数字人id",name="id") - private int id; - @io.swagger.annotations.ApiModelProperty(value="数字人名称",name="name") - private String name; - @TableField(exist = false) - @io.swagger.annotations.ApiModelProperty(value="权限过期时间",name="expire_time") - private Date expireTime; - - @io.swagger.annotations.ApiModelProperty(value="数字人封面图片链接",name="image") - private String image; - @io.swagger.annotations.ApiModelProperty(value="数字人样例视频链接",name="demo") - private String demo; - @io.swagger.annotations.ApiModelProperty(value="数字人模板预处理信息文件链接",name="preInfo") - private String preInfo; - // } } diff --git a/suimangService/src/main/java/com/iformall/mapper/WxCVideoMapper.java b/suimangService/src/main/java/com/iformall/mapper/WxCVideoMapper.java index bdeb2df..72600f2 100644 --- a/suimangService/src/main/java/com/iformall/mapper/WxCVideoMapper.java +++ b/suimangService/src/main/java/com/iformall/mapper/WxCVideoMapper.java @@ -5,8 +5,10 @@ import com.iformall.domain.po.WxCUserTags; import com.iformall.domain.po.WxCVideoTable; import org.apache.ibatis.annotations.Param; +import java.util.List; + public interface WxCVideoMapper extends CommonMapper { - WxCVideoTable findByUserName(@Param("username") String username); + List findByUserName(@Param("username") String username); } diff --git a/suimangService/src/main/java/com/iformall/service/WxCVideoService.java b/suimangService/src/main/java/com/iformall/service/WxCVideoService.java index bc84755..ec95ad8 100644 --- a/suimangService/src/main/java/com/iformall/service/WxCVideoService.java +++ b/suimangService/src/main/java/com/iformall/service/WxCVideoService.java @@ -1,9 +1,10 @@ package com.iformall.service; +import com.iformall.common.ResultData; import com.iformall.domain.po.WxCVideoTable; public interface WxCVideoService { - WxCVideoTable findByUserName(String username); + ResultData findByUserName(String username); } diff --git a/suimangService/src/main/java/com/iformall/service/impl/WxCVideoServiceImpl.java b/suimangService/src/main/java/com/iformall/service/impl/WxCVideoServiceImpl.java index 5dabc33..48e5f28 100644 --- a/suimangService/src/main/java/com/iformall/service/impl/WxCVideoServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/impl/WxCVideoServiceImpl.java @@ -1,6 +1,9 @@ package com.iformall.service.impl; import cn.afterturn.easypoi.handler.inter.IExcelExportServer; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.iformall.common.ResultData; + import com.iformall.domain.po.WxCUserBasicInfo; import com.iformall.domain.po.WxCVideoTable; import com.iformall.domain.vo.WxCUserBasicInfoVo; @@ -13,9 +16,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; @Service @@ -31,9 +32,31 @@ public class WxCVideoServiceImpl implements WxCVideoService,IExcelExportServer { @Autowired WxCVideoMapper wxCVideoMapper; @Override - public WxCVideoTable findByUserName(String username) { - WxCVideoTable TemplateVideo = wxCVideoMapper.findByUserName(username); - return TemplateVideo; + public ResultData findByUserName(String username) { + List TemplateVideo = wxCVideoMapper.findByUserName(username); + System.out.println("TemplateVideo = " + TemplateVideo); + Map resultMap = new HashMap(); + Map data = new HashMap(); + + data.put("username",username); + data.put("current_time",new Date(System.currentTimeMillis())); + //Map authorlist = new HashMap(); + List authorlist = new ArrayList(); + for (WxCVideoTable wxCVideoTable : TemplateVideo) { + Map avatar = new HashMap(); + avatar.put("avatar_id",wxCVideoTable.getId()); + avatar.put("avatar_name",wxCVideoTable.getName()); + avatar.put("avatar_image",wxCVideoTable.getImage()); + avatar.put("avatar_demo",wxCVideoTable.getDemo()); + avatar.put("avatar_preinfo",wxCVideoTable.getPreInfo()); + avatar.put("expire_time",wxCVideoTable.getExpireTime()); + authorlist.add(avatar); + resultMap.put("authorlist",authorlist); + } + + resultMap.put("data",data); + + return new ResultData(resultMap); } @Override diff --git a/suimangService/src/main/resources/mapper/WxCVideoMapper.xml b/suimangService/src/main/resources/mapper/WxCVideoMapper.xml index 2ab2ea5..2ae2a93 100644 --- a/suimangService/src/main/resources/mapper/WxCVideoMapper.xml +++ b/suimangService/src/main/resources/mapper/WxCVideoMapper.xml @@ -7,21 +7,21 @@ - + + - + + + - \ No newline at end of file + From a0b4472c9cf80f497926dcb6496b32429f844a73 Mon Sep 17 00:00:00 2001 From: twy <2301620162@qq.com> Date: Wed, 19 Jul 2023 11:09:40 +0800 Subject: [PATCH 07/48] =?UTF-8?q?voice/=E7=9B=B8=E5=85=B3=E8=A1=A8?= =?UTF-8?q?=E6=9B=B4=E6=94=B9=E5=8F=8A=E9=9F=B3=E9=A2=91=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../migration/V2023071300004_wx_c_voice.sql | 4 +- .../V2023071300005_wx_c_voice_local.sql | 4 +- .../V2023071300006_wx_c_voice_style.sql | 4 +- .../controller/VoiceMouldController.java | 36 +++++++--- .../iformall/domain/po/WxCUserAuthority.java | 45 ++++++++++++ .../com/iformall/domain/po/WxCVoiceTable.java | 47 +++++++++++++ .../com/iformall/mapper/WxCVoiceMapper.java | 13 ++++ .../com/iformall/service/WxCVoiceService.java | 7 ++ .../service/impl/WxCVoiceServiceImpl.java | 68 +++++++++++++++++++ .../main/resources/mapper/WxCVideoMapper.xml | 22 +++--- .../main/resources/mapper/WxCVoiceMapper.xml | 32 +++++++++ 11 files changed, 257 insertions(+), 25 deletions(-) create mode 100644 suimangService/src/main/java/com/iformall/domain/po/WxCUserAuthority.java create mode 100644 suimangService/src/main/java/com/iformall/domain/po/WxCVoiceTable.java create mode 100644 suimangService/src/main/java/com/iformall/mapper/WxCVoiceMapper.java create mode 100644 suimangService/src/main/java/com/iformall/service/WxCVoiceService.java create mode 100644 suimangService/src/main/java/com/iformall/service/impl/WxCVoiceServiceImpl.java create mode 100644 suimangService/src/main/resources/mapper/WxCVoiceMapper.xml diff --git a/suimangAdmin/src/main/resources/db/migration/V2023071300004_wx_c_voice.sql b/suimangAdmin/src/main/resources/db/migration/V2023071300004_wx_c_voice.sql index 7982da6..b21d495 100644 --- a/suimangAdmin/src/main/resources/db/migration/V2023071300004_wx_c_voice.sql +++ b/suimangAdmin/src/main/resources/db/migration/V2023071300004_wx_c_voice.sql @@ -11,7 +11,7 @@ Target Server Version : 80026 (8.0.26) File Encoding : 65001 - Date: 13/07/2023 18:42:24 + Date: 19/07/2023 10:37:00 */ SET NAMES utf8mb4; @@ -25,7 +25,7 @@ CREATE TABLE `wx_c_voice` ( `id` int NOT NULL COMMENT '声纹id', `localel_id` int NULL DEFAULT NULL COMMENT '地区id', `voice_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '声纹名称', - `display_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '声纹显示名称', + `voice_display_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '声纹显示名称', `gender` int NULL DEFAULT NULL COMMENT '男1女0', `class` int NULL DEFAULT NULL COMMENT '共享0定制1', PRIMARY KEY (`id`) USING BTREE diff --git a/suimangAdmin/src/main/resources/db/migration/V2023071300005_wx_c_voice_local.sql b/suimangAdmin/src/main/resources/db/migration/V2023071300005_wx_c_voice_local.sql index ebb6c90..14e20fd 100644 --- a/suimangAdmin/src/main/resources/db/migration/V2023071300005_wx_c_voice_local.sql +++ b/suimangAdmin/src/main/resources/db/migration/V2023071300005_wx_c_voice_local.sql @@ -11,7 +11,7 @@ Target Server Version : 80026 (8.0.26) File Encoding : 65001 - Date: 13/07/2023 18:42:33 + Date: 19/07/2023 10:37:08 */ SET NAMES utf8mb4; @@ -24,7 +24,7 @@ DROP TABLE IF EXISTS `wx_c_voice_local`; CREATE TABLE `wx_c_voice_local` ( `id` int NOT NULL COMMENT '地区id', `local_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '地区名称', - `display_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '地区名称显示', + `local_display_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '地区名称显示', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; diff --git a/suimangAdmin/src/main/resources/db/migration/V2023071300006_wx_c_voice_style.sql b/suimangAdmin/src/main/resources/db/migration/V2023071300006_wx_c_voice_style.sql index 66636c5..896366d 100644 --- a/suimangAdmin/src/main/resources/db/migration/V2023071300006_wx_c_voice_style.sql +++ b/suimangAdmin/src/main/resources/db/migration/V2023071300006_wx_c_voice_style.sql @@ -11,7 +11,7 @@ Target Server Version : 80026 (8.0.26) File Encoding : 65001 - Date: 13/07/2023 18:42:38 + Date: 19/07/2023 10:37:19 */ SET NAMES utf8mb4; @@ -25,7 +25,7 @@ CREATE TABLE `wx_c_voice_style` ( `id` int NOT NULL COMMENT '风格', `voice_id` int NULL DEFAULT NULL COMMENT '声纹id', `style_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '风格名称', - `display_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '风格显示名称', + `style_display_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '风格显示名称', `style_demo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '样例视频', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; diff --git a/suimangCApi/src/main/java/com/iformall/controller/VoiceMouldController.java b/suimangCApi/src/main/java/com/iformall/controller/VoiceMouldController.java index ef59f6b..39f887d 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/VoiceMouldController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/VoiceMouldController.java @@ -12,6 +12,7 @@ import com.iformall.domain.po.sm.VoiceMould; import com.iformall.enums.*; import com.iformall.language.LanguageDetect; import com.iformall.mapper.VoiceLanguageMapper; +import com.iformall.service.WxCVoiceService; import com.iformall.service.sm.*; import com.iformall.sm.AiPreviewParam; import io.swagger.annotations.Api; @@ -27,6 +28,7 @@ import org.springframework.web.bind.annotation.*; import java.util.HashMap; import java.util.List; +import java.util.Map; @RestController @@ -49,6 +51,8 @@ public class VoiceMouldController extends BaseController { @Autowired private VoiceLanguageService voiceLanguageService; + @Autowired + private WxCVoiceService wxCVoiceService; @AuthIgnore @ApiOperation("获取语种") @@ -84,15 +88,15 @@ public class VoiceMouldController extends BaseController { public ResultData findById(Long id) { logger.debug("[" + getIpAddr() + "] MouldPatchController::findById"); VoiceMould voiceMould = voiceMouldService.getDetailById(id); - if(voiceMould != null - && voiceMould.getParentId() == 0l && voiceMould.getCountSub() > 0){ + if (voiceMould != null + && voiceMould.getParentId() == 0l && voiceMould.getCountSub() > 0) { VoiceMould voiceQ = new VoiceMould(); voiceQ.setParentId(voiceMould.getId()); voiceQ.setVoiceType(EnumVoiceType.speak.getCode());//目前只查询说话风格 voiceQ.setStatus(EnumaMouldPatchStatus.put_on.getCode()); voiceQ.setSortColumns(BaseEntity.SortField.UpdateDate_DESC); List sublist = voiceMouldService.getClist(voiceQ); - if(sublist != null && !sublist.isEmpty()){ + if (sublist != null && !sublist.isEmpty()) { voiceMould.setSubVoiceMould(sublist); } } @@ -110,20 +114,20 @@ public class VoiceMouldController extends BaseController { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); } Integer sex = null; - if(record.getPersonMouldId() != null){ + if (record.getPersonMouldId() != null) { PersonMould personMode = personMouldService.getDetailById(record.getPersonMouldId()); - if(personMode == null){ - return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"选择模板不存在"); + if (personMode == null) { + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "选择模板不存在"); } sex = personMode.getSex(); } String detect = LanguageDetect.detect(record.getPaperwork()); - if(StringUtils.isBlank(detect)){ - return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"语种识别失败"); + if (StringUtils.isBlank(detect)) { + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "语种识别失败"); } EnumLanguages anEnum = EnumLanguages.getEnum(detect); - if(anEnum == null){ - return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"暂不支持该语种"); + if (anEnum == null) { + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "暂不支持该语种"); } VoiceMould voiceMould = new VoiceMould(); @@ -163,4 +167,16 @@ public class VoiceMouldController extends BaseController { logger.debug("[" + getIpAddr() + "] MouldPatchController::voicePreview"); return new ResultData(voiceInfoService.voicePreview(aiPreviewParam)); } + + /** + * 视频模板列表 + */ + @AuthIgnore + @PostMapping("/audioList") + @ApiOperation(value = "视频模板列表", notes = "{\"username\",\"string\",\"code\",\"string\"}") + public ResultData audioList(@RequestBody Map params) { + String username = params.get("username"); + + return wxCVoiceService.findByUserName(username); + } } diff --git a/suimangService/src/main/java/com/iformall/domain/po/WxCUserAuthority.java b/suimangService/src/main/java/com/iformall/domain/po/WxCUserAuthority.java new file mode 100644 index 0000000..c656f93 --- /dev/null +++ b/suimangService/src/main/java/com/iformall/domain/po/WxCUserAuthority.java @@ -0,0 +1,45 @@ +package com.iformall.domain.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.ToString; + +@TableName(value = "wx_c_voice") +@Data +@ToString(callSuper = true) +public class WxCUserAuthority { + + + @TableField(exist = false) + private String userName; + @TableField(exist = false) + private String currentTime; + @TableField(exist = false) + private String expireTime; + + @io.swagger.annotations.ApiModelProperty(value = "地区名称", name = "local_name") + private String localelName; + @io.swagger.annotations.ApiModelProperty(value = "地区显示名称", name = "local_display_name") + private String localDisPlayName; + + @io.swagger.annotations.ApiModelProperty(value = "声纹ID", name = "voice_id") + private int voiceId; + @io.swagger.annotations.ApiModelProperty(value = "声纹名称(用于调微软接口)", name = "voice_name") + private String voiceName; + @io.swagger.annotations.ApiModelProperty(value = "声纹展示名称", name = "voice_display_name") + private String voiceDisplayName; + @io.swagger.annotations.ApiModelProperty(value = "性别(男1 女0)", name = "gender") + private int gender; + @io.swagger.annotations.ApiModelProperty(value = "声纹类型 共享:0 定制:1", name = "class") + private int voiceType; + + @io.swagger.annotations.ApiModelProperty(value = "声纹风格名称(用于微软接口)", name = "style_name") + private String styleName; + @io.swagger.annotations.ApiModelProperty(value = "声纹风格展示名称", name = "style_display_name") + private String styleDisplayName; + @io.swagger.annotations.ApiModelProperty(value = "声纹风格样例文件链接", name = "style_demo") + private String styleDemo; + + +} diff --git a/suimangService/src/main/java/com/iformall/domain/po/WxCVoiceTable.java b/suimangService/src/main/java/com/iformall/domain/po/WxCVoiceTable.java new file mode 100644 index 0000000..bca83b8 --- /dev/null +++ b/suimangService/src/main/java/com/iformall/domain/po/WxCVoiceTable.java @@ -0,0 +1,47 @@ +package com.iformall.domain.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.ToString; + +@TableName(value = "wx_c_voice") +@Data +@ToString(callSuper = true) +public class WxCVoiceTable { + + + @TableField(exist = false) + private String userName; + @TableField(exist = false) + private String currentTime; + @TableField(exist = false) + private String expireTime; + + @io.swagger.annotations.ApiModelProperty(value = "地区名称", name = "local_name") + private String localelName; + @io.swagger.annotations.ApiModelProperty(value = "地区显示名称", name = "local_display_name") + private String localDisPlayName; + + @io.swagger.annotations.ApiModelProperty(value = "声纹ID", name = "voice_id") + private int voiceId; + @io.swagger.annotations.ApiModelProperty(value = "声纹名称(用于调微软接口)", name = "voice_name") + private String voiceName; + @io.swagger.annotations.ApiModelProperty(value = "声纹展示名称", name = "voice_display_name") + private String voiceDisplayName; + @io.swagger.annotations.ApiModelProperty(value = "性别(男1 女0)", name = "gender") + private int gender; + @io.swagger.annotations.ApiModelProperty(value = "声纹类型 共享:0 定制:1", name = "class") + private int voiceType; + + @io.swagger.annotations.ApiModelProperty(value = "声纹风格名称(用于微软接口)", name = "style_name") + private String styleName; + @io.swagger.annotations.ApiModelProperty(value = "声纹风格展示名称", name = "style_display_name") + private String styleDisplayName; + @io.swagger.annotations.ApiModelProperty(value = "声纹风格样例文件链接", name = "style_demo") + private String styleDemo; + + +} + + diff --git a/suimangService/src/main/java/com/iformall/mapper/WxCVoiceMapper.java b/suimangService/src/main/java/com/iformall/mapper/WxCVoiceMapper.java new file mode 100644 index 0000000..b33e190 --- /dev/null +++ b/suimangService/src/main/java/com/iformall/mapper/WxCVoiceMapper.java @@ -0,0 +1,13 @@ +package com.iformall.mapper; + +import com.iformall.common.CommonMapper; +import com.iformall.domain.po.WxCVideoTable; +import com.iformall.domain.po.WxCVoiceTable; + +import java.util.List; + +public interface WxCVoiceMapper extends CommonMapper { + + + List findByUserName(String username); +} diff --git a/suimangService/src/main/java/com/iformall/service/WxCVoiceService.java b/suimangService/src/main/java/com/iformall/service/WxCVoiceService.java new file mode 100644 index 0000000..94c649d --- /dev/null +++ b/suimangService/src/main/java/com/iformall/service/WxCVoiceService.java @@ -0,0 +1,7 @@ +package com.iformall.service; + +import com.iformall.common.ResultData; + +public interface WxCVoiceService { + ResultData findByUserName(String username); +} diff --git a/suimangService/src/main/java/com/iformall/service/impl/WxCVoiceServiceImpl.java b/suimangService/src/main/java/com/iformall/service/impl/WxCVoiceServiceImpl.java new file mode 100644 index 0000000..fda9046 --- /dev/null +++ b/suimangService/src/main/java/com/iformall/service/impl/WxCVoiceServiceImpl.java @@ -0,0 +1,68 @@ +package com.iformall.service.impl; + +import com.iformall.common.ResultData; +import com.iformall.domain.po.WxCVideoTable; +import com.iformall.domain.po.WxCVoiceTable; +import com.iformall.mapper.WxCVoiceMapper; +import com.iformall.service.WxCVoiceService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.List; + +@Service +public class WxCVoiceServiceImpl implements WxCVoiceService { + + @Autowired + WxCVoiceMapper wxCVoiceMapper; + + + @Override + public ResultData findByUserName(String username) { + + List resultList = wxCVoiceMapper.findByUserName(username); + HashMap result = new HashMap<>(); + List audioList = new ArrayList(); + + for (WxCVoiceTable wxCVoiceTable : resultList) { + HashMap audio = new HashMap<>(); + HashMap voice = new HashMap<>(); + HashMap style = new HashMap<>(); + result.put("username", wxCVoiceTable.getUserName()); + result.put("current_time", new Date(System.currentTimeMillis())); + audioList.add(audio); + + audio.put("LocaleName", wxCVoiceTable.getLocalelName()); + audio.put("displayname", wxCVoiceTable.getLocalDisPlayName()); + List voiceList = new ArrayList(); + voiceList.add(voice); + audio.put("voiceList", voiceList); + + + voice.put("voiceid", wxCVoiceTable.getVoiceId()); + voice.put("expire_time", wxCVoiceTable.getExpireTime()); + voice.put("voicename", wxCVoiceTable.getVoiceName()); + voice.put("voicetype", wxCVoiceTable.getVoiceType()); + voice.put("displayname", wxCVoiceTable.getVoiceDisplayName()); + voice.put("gender", wxCVoiceTable.getGender()); + List styleList = new ArrayList(); + styleList.add(style); + voice.put("styleList", styleList); + + + style.put("stylename", wxCVoiceTable.getStyleName()); + style.put("displayname", wxCVoiceTable.getStyleDisplayName()); + style.put("styledemo", wxCVoiceTable.getStyleDemo()); + + + } + + result.put("audioList", audioList); + + + return new ResultData(result); + } +} diff --git a/suimangService/src/main/resources/mapper/WxCVideoMapper.xml b/suimangService/src/main/resources/mapper/WxCVideoMapper.xml index 2ae2a93..4a8cf25 100644 --- a/suimangService/src/main/resources/mapper/WxCVideoMapper.xml +++ b/suimangService/src/main/resources/mapper/WxCVideoMapper.xml @@ -3,13 +3,13 @@ - - - - - - - + + + + + + + @@ -19,8 +19,12 @@ --> - +SELECT wca.user_name,expire_time,wcav.id,wcav.name,wcav.image,wcav.model,wcav.preinfo,wcav.demo +from wx_c_author wca +left join wx_c_avatar wcav on wcav.id =wca.resource_id +where wca.resource_id +in (select wca.resource_id from wx_c_author wca WHERE wca.user_name =#{username} AND wca.type = 0 ) diff --git a/suimangService/src/main/resources/mapper/WxCVoiceMapper.xml b/suimangService/src/main/resources/mapper/WxCVoiceMapper.xml new file mode 100644 index 0000000..07be05e --- /dev/null +++ b/suimangService/src/main/resources/mapper/WxCVoiceMapper.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + From ed0549c7d5cc724bc8dba8a006b7552908a9b57e Mon Sep 17 00:00:00 2001 From: twy <2301620162@qq.com> Date: Wed, 19 Jul 2023 15:15:12 +0800 Subject: [PATCH 08/48] =?UTF-8?q?=E8=B5=84=E6=BA=90=E6=9D=83=E9=99=90?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WxUserGrantController.java | 35 ++++++++-- .../iformall/domain/po/WxCUserAuthority.java | 29 ++------- .../mapper/WxCUserAuthorityMapper.java | 15 +++++ .../service/WxCUserAuthorityService.java | 7 ++ .../impl/WxCUserAuthorityServiceImpl.java | 65 +++++++++++++++++++ .../mapper/WxCUserAuthorityMapper.xml | 29 +++++++++ 6 files changed, 153 insertions(+), 27 deletions(-) create mode 100644 suimangService/src/main/java/com/iformall/mapper/WxCUserAuthorityMapper.java create mode 100644 suimangService/src/main/java/com/iformall/service/WxCUserAuthorityService.java create mode 100644 suimangService/src/main/java/com/iformall/service/impl/WxCUserAuthorityServiceImpl.java create mode 100644 suimangService/src/main/resources/mapper/WxCUserAuthorityMapper.xml diff --git a/suimangCApi/src/main/java/com/iformall/controller/WxUserGrantController.java b/suimangCApi/src/main/java/com/iformall/controller/WxUserGrantController.java index 3e95aef..2a5b581 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/WxUserGrantController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/WxUserGrantController.java @@ -86,7 +86,7 @@ public class WxUserGrantController extends BaseController { WxMallService mallService; @Autowired - WxCLiveUserBasicInfoService wxCLiveUserBasicInfoService; + private WxCLiveUserBasicInfoService wxCLiveUserBasicInfoService; @Autowired @@ -103,6 +103,9 @@ public class WxUserGrantController extends BaseController { @Autowired private UserConsumptionPackageService userConsumptionPackageService; + @Autowired + private WxCUserAuthorityService wxCUserAuthorityService; + @AuthIgnore @ApiOperation("验证码") @@ -370,10 +373,34 @@ public class WxUserGrantController extends BaseController { } /** - * 需要效验用户及图片验证码 - * @param phone - * @return + * 资源权限查询 + * */ + + @AuthIgnore + @ApiOperation(value = "资源权限查询", notes = "{\"username\",\"string\",\"code\",\"string\",\"type\",\"int\",\"resource_id\",\"long\"}") + @PostMapping("/author") + public ResultData getAuthor(@RequestBody Map params, HttpServletResponse response) { + String ipaddress = getIpAddr(); + logger.debug("[" + ipaddress + "] WxUserGrantController::getAuthor"); + String username = params.get("username"); + String code = params.get("code"); + Integer type = Integer.parseInt(params.get("type")); + Long resourceId = Long.valueOf(params.get("resource_id")); + + + return wxCUserAuthorityService.getAuthor(username,code,type,resourceId); + } + + + + + + /** + * 需要效验用户及图片验证码 + * @param phone + * @return + */ @AuthIgnore @ApiOperation("发送修改密码验证码") @GetMapping("sendPhoneCode") diff --git a/suimangService/src/main/java/com/iformall/domain/po/WxCUserAuthority.java b/suimangService/src/main/java/com/iformall/domain/po/WxCUserAuthority.java index c656f93..65e4ca0 100644 --- a/suimangService/src/main/java/com/iformall/domain/po/WxCUserAuthority.java +++ b/suimangService/src/main/java/com/iformall/domain/po/WxCUserAuthority.java @@ -13,33 +13,16 @@ public class WxCUserAuthority { @TableField(exist = false) private String userName; + @TableField(exist = false) //数字人 0 声纹 1 + private String type; + @TableField(exist = false) + private String resourceId; + @TableField(exist = false) //共享 0 定制 1 + private String classType; @TableField(exist = false) private String currentTime; @TableField(exist = false) private String expireTime; - @io.swagger.annotations.ApiModelProperty(value = "地区名称", name = "local_name") - private String localelName; - @io.swagger.annotations.ApiModelProperty(value = "地区显示名称", name = "local_display_name") - private String localDisPlayName; - - @io.swagger.annotations.ApiModelProperty(value = "声纹ID", name = "voice_id") - private int voiceId; - @io.swagger.annotations.ApiModelProperty(value = "声纹名称(用于调微软接口)", name = "voice_name") - private String voiceName; - @io.swagger.annotations.ApiModelProperty(value = "声纹展示名称", name = "voice_display_name") - private String voiceDisplayName; - @io.swagger.annotations.ApiModelProperty(value = "性别(男1 女0)", name = "gender") - private int gender; - @io.swagger.annotations.ApiModelProperty(value = "声纹类型 共享:0 定制:1", name = "class") - private int voiceType; - - @io.swagger.annotations.ApiModelProperty(value = "声纹风格名称(用于微软接口)", name = "style_name") - private String styleName; - @io.swagger.annotations.ApiModelProperty(value = "声纹风格展示名称", name = "style_display_name") - private String styleDisplayName; - @io.swagger.annotations.ApiModelProperty(value = "声纹风格样例文件链接", name = "style_demo") - private String styleDemo; - } diff --git a/suimangService/src/main/java/com/iformall/mapper/WxCUserAuthorityMapper.java b/suimangService/src/main/java/com/iformall/mapper/WxCUserAuthorityMapper.java new file mode 100644 index 0000000..a29688a --- /dev/null +++ b/suimangService/src/main/java/com/iformall/mapper/WxCUserAuthorityMapper.java @@ -0,0 +1,15 @@ +package com.iformall.mapper; + +import com.iformall.common.CommonMapper; +import com.iformall.domain.po.WxCUserAuthority; + +import java.util.List; + + +public interface WxCUserAuthorityMapper extends CommonMapper { + + + List getAuthorAvatar(String username, int i, Long resourceId); + + List getAuthorVoice(String username, int i, Long resourceId); +} diff --git a/suimangService/src/main/java/com/iformall/service/WxCUserAuthorityService.java b/suimangService/src/main/java/com/iformall/service/WxCUserAuthorityService.java new file mode 100644 index 0000000..3c72e3e --- /dev/null +++ b/suimangService/src/main/java/com/iformall/service/WxCUserAuthorityService.java @@ -0,0 +1,7 @@ +package com.iformall.service; + +import com.iformall.common.ResultData; + +public interface WxCUserAuthorityService { + ResultData getAuthor(String username, String code, Integer type, Long resourceId); +} diff --git a/suimangService/src/main/java/com/iformall/service/impl/WxCUserAuthorityServiceImpl.java b/suimangService/src/main/java/com/iformall/service/impl/WxCUserAuthorityServiceImpl.java new file mode 100644 index 0000000..02017d9 --- /dev/null +++ b/suimangService/src/main/java/com/iformall/service/impl/WxCUserAuthorityServiceImpl.java @@ -0,0 +1,65 @@ +package com.iformall.service.impl; + +import com.iformall.common.ResultData; +import com.iformall.domain.po.WxCUserAuthority; +import com.iformall.mapper.WxCUserAuthorityMapper; +import com.iformall.service.WxCUserAuthorityService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.List; + +@Service +public class WxCUserAuthorityServiceImpl implements WxCUserAuthorityService { + + @Autowired + private WxCUserAuthorityMapper wxCUserAuthorityMapper; + + + @Override + public ResultData getAuthor(String username, String code, Integer type, Long resourceId) { + List resultList = new ArrayList(); + + if (type==0){ + //查询数字人相关权限 + resultList = wxCUserAuthorityMapper.getAuthorAvatar(username,0,resourceId); + } + if (type==1){ + //查询声纹相关权限 + resultList = wxCUserAuthorityMapper.getAuthorVoice(username,1,resourceId); + } + + if (resourceId==null){ + //若资源id没有传入那就展示所有当前类型资源权限 + HashMap resultMap = new HashMap<>(); + List authorList = new ArrayList(); + for (WxCUserAuthority wxCUserAuthority : resultList) { + HashMap author = new HashMap<>(); + author.put("username",wxCUserAuthority.getUserName()); + author.put("type",wxCUserAuthority.getType()); + author.put("resource_id",wxCUserAuthority.getResourceId()); + author.put("class",wxCUserAuthority.getClassType()); + author.put("current_time",new Date(System.currentTimeMillis())); + author.put("expire_time",wxCUserAuthority.getExpireTime()); + authorList.add(author); + } + resultMap.put("authorList",authorList); + } + HashMap resultMap = new HashMap<>(); + + for (WxCUserAuthority wxCUserAuthority : resultList) { + resultMap.put("username",wxCUserAuthority.getUserName()); + resultMap.put("type",wxCUserAuthority.getType()); + resultMap.put("resource_id",wxCUserAuthority.getResourceId()); + resultMap.put("class",wxCUserAuthority.getClassType()); + resultMap.put("current_time",new Date(System.currentTimeMillis())); + resultMap.put("expire_time",wxCUserAuthority.getExpireTime()); + + } + + return new ResultData(resultMap); + } +} diff --git a/suimangService/src/main/resources/mapper/WxCUserAuthorityMapper.xml b/suimangService/src/main/resources/mapper/WxCUserAuthorityMapper.xml new file mode 100644 index 0000000..9c90330 --- /dev/null +++ b/suimangService/src/main/resources/mapper/WxCUserAuthorityMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + From a1db01091298737d05766d80c0e874204055982a Mon Sep 17 00:00:00 2001 From: twy <2301620162@qq.com> Date: Thu, 20 Jul 2023 14:45:09 +0800 Subject: [PATCH 09/48] =?UTF-8?q?=E6=8C=89=E7=85=A7=E5=B9=B4=E9=BE=84?= =?UTF-8?q?=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/iformall/controller/VideoController.java | 6 +++--- .../java/com/iformall/controller/VoiceMouldController.java | 4 ++-- .../com/iformall/service/sm/impl/VoiceInfoServiceImpl.java | 3 ++- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/suimangCApi/src/main/java/com/iformall/controller/VideoController.java b/suimangCApi/src/main/java/com/iformall/controller/VideoController.java index ec11a6f..55ba5e1 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/VideoController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/VideoController.java @@ -29,7 +29,7 @@ public class VideoController extends BaseController { @Autowired VideoFactory videoFactory; - + @Autowired String videoType; @@ -68,7 +68,7 @@ public class VideoController extends BaseController { return new ResultData(ErrorCode.PICTURE_ANALYZING_ERROR); } } - + /** * 上传视频 * @@ -89,7 +89,7 @@ public class VideoController extends BaseController { return new ResultData(ErrorCode.PICTURE_ANALYZING_ERROR); } } - + /** * 上传视频 * diff --git a/suimangCApi/src/main/java/com/iformall/controller/VoiceMouldController.java b/suimangCApi/src/main/java/com/iformall/controller/VoiceMouldController.java index 39f887d..451aae4 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/VoiceMouldController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/VoiceMouldController.java @@ -169,11 +169,11 @@ public class VoiceMouldController extends BaseController { } /** - * 视频模板列表 + * 音频模板列表 */ @AuthIgnore @PostMapping("/audioList") - @ApiOperation(value = "视频模板列表", notes = "{\"username\",\"string\",\"code\",\"string\"}") + @ApiOperation(value = "音频模板列表", notes = "{\"username\",\"string\",\"code\",\"string\"}") public ResultData audioList(@RequestBody Map params) { String username = params.get("username"); diff --git a/suimangService/src/main/java/com/iformall/service/sm/impl/VoiceInfoServiceImpl.java b/suimangService/src/main/java/com/iformall/service/sm/impl/VoiceInfoServiceImpl.java index 84f3484..6a7fb2c 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/impl/VoiceInfoServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/sm/impl/VoiceInfoServiceImpl.java @@ -34,7 +34,8 @@ public class VoiceInfoServiceImpl implements VoiceInfoService { @Override public List chooseType(Long id) { - List voiceInfos = voiceMapper.selectList(new LambdaQueryWrapper().eq(VoiceInfo::getLanguageId, id).orderByAsc(VoiceInfo::getDisplayName)); + List voiceInfos = voiceMapper.selectList( + new LambdaQueryWrapper().eq(VoiceInfo::getLanguageId, id).orderByAsc(VoiceInfo::getAgeType).orderByAsc(VoiceInfo::getDisplayName)); voiceInfos.forEach(x -> { if (StringUtils.isNotEmpty(x.getStyleList())) { List strings = JSON.parseArray(x.getStyleList(), String.class); From 5892aa9f8413ec6b3eacbe7b975b86637718d2e3 Mon Sep 17 00:00:00 2001 From: twy <2301620162@qq.com> Date: Fri, 21 Jul 2023 11:03:28 +0800 Subject: [PATCH 10/48] =?UTF-8?q?=E6=85=A7=E6=92=AD=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E6=95=B4=E5=90=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iformall/controller/SDKController.java | 98 +++++++ .../controller/UserLiveController.java | 242 ++++++++++++++++++ .../controller/VoiceMouldController.java | 1 + .../controller/WxUserGrantController.java | 77 ------ .../iformall/domain/po/WxCUserBasicInfo.java | 8 +- .../iformall/domain/po/sm/PersonMould.java | 6 +- .../iformall/domain/vo/WxCLiveLoginVo.java | 29 +++ .../mapper/WxCUserAuthorityMapper.java | 4 +- .../com/iformall/mapper/WxCVideoMapper.java | 4 +- .../com/iformall/mapper/WxCVoiceMapper.java | 2 +- .../service/WxCUserAuthorityService.java | 2 +- .../com/iformall/service/WxCVideoService.java | 2 +- .../com/iformall/service/WxCVoiceService.java | 2 +- .../impl/WxCUserAuthorityServiceImpl.java | 6 +- .../service/impl/WxCVideoServiceImpl.java | 11 +- .../service/impl/WxCVoiceServiceImpl.java | 4 +- .../sm/impl/PhotoSpeakVideoServiceImpl.java | 5 + .../mapper/WxCUserAuthorityMapper.xml | 4 +- .../main/resources/mapper/WxCVideoMapper.xml | 4 +- .../main/resources/mapper/WxCVoiceMapper.xml | 4 +- 20 files changed, 413 insertions(+), 102 deletions(-) create mode 100644 suimangCApi/src/main/java/com/iformall/controller/UserLiveController.java create mode 100644 suimangService/src/main/java/com/iformall/domain/vo/WxCLiveLoginVo.java diff --git a/suimangCApi/src/main/java/com/iformall/controller/SDKController.java b/suimangCApi/src/main/java/com/iformall/controller/SDKController.java index 0d63a8d..ffa7031 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/SDKController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/SDKController.java @@ -1,11 +1,18 @@ package com.iformall.controller; +import com.alibaba.fastjson.JSONArray; + import com.alibaba.fastjson.JSONObject; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.google.gson.JsonObject; +import com.iformall.annotation.AuthIgnore; import com.iformall.common.ErrorCode; import com.iformall.common.ResultData; +import com.iformall.domain.po.WxCVoiceTable; import com.iformall.domain.po.sm.PhotoSpeakVideo; import com.iformall.domain.po.sm.PreviewParam; import com.iformall.enums.EnumVideoStatus; +import com.iformall.service.WxCVoiceService; import com.iformall.service.sm.PhotoSpeakVideoService; import com.iformall.service.sm.PersonPhotoService; import com.iformall.service.sm.VoiceInfoService; @@ -21,7 +28,11 @@ import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; +import java.io.*; +import java.net.HttpURLConnection; +import java.net.URL; import java.util.Date; +import java.util.Map; /** * 对外开放的 API 接口 @@ -38,6 +49,8 @@ public class SDKController extends BaseController { private VoiceInfoService voiceInfoService; @Autowired private PhotoSpeakVideoService photoSpeakVideoService; + @Autowired + private WxCVoiceService wxCVoiceService; @ApiOperation("图片质量审核接口") @PostMapping("checkPhoto") @@ -103,4 +116,89 @@ public class SDKController extends BaseController { photoSpeakVideoService.createVideo(mouldVideo); return new ResultData(); } + + /** + * 生成音频文件 + */ + + + @AuthIgnore + @PostMapping("/audiotts") + @ApiOperation(value = "视频模板列表", notes = "{\"username\",\"string\",\"voicename\",\"string\",\"stylename\",\"string\",\"speed\",\"int\",\"text\",\"string\"}") + public String audioList(@RequestBody Map params) { + String username = params.get("username"); + String voiceName = params.get("voicename"); + String styleName = params.get("stylename"); + Integer speed = Integer.valueOf(params.get("speed")); + String text = params.get("text"); + try { + // 构建请求参数JSON对象 + JSONObject jsonParams = new JSONObject(); + jsonParams.put("username", username); + jsonParams.put("voicename", voiceName); + jsonParams.put("stylename", styleName); + jsonParams.put("speed", speed); + jsonParams.put("text", text); + + //请求url + String requestUrl = ""; + + // 创建URL对象 + URL url = new URL(requestUrl); + HttpURLConnection connection = (HttpURLConnection) url.openConnection(); + + // 设置请求方法 + connection.setRequestMethod("POST"); + + // 设置请求头 + connection.setRequestProperty("Content-Type", "application/json"); + connection.setRequestProperty("Accept", "application/json"); + + // 允许输出请求内容 + connection.setDoOutput(true); + + // 将参数写入请求体 + OutputStream outputStream = connection.getOutputStream(); + outputStream.write(jsonParams.toString().getBytes()); + outputStream.flush(); + outputStream.close(); + + // 发送请求并获取响应 + int responseCode = connection.getResponseCode(); + + // 读取响应内容 + BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream())); + StringBuilder response = new StringBuilder(); + String line; + while ((line = reader.readLine()) != null) { + response.append(line); + } + reader.close(); + + // 处理响应结果 + if (responseCode == HttpURLConnection.HTTP_OK) { + // 解析响应内容 + + JSONObject jsonResponse = new JSONObject(Boolean.parseBoolean(response.toString())); + + // 获取ttsurl生成的音频文件链接 + String ttsUrl = jsonResponse.getString("ttsurl"); + + System.out.println("音频文件链接: " + ttsUrl); + return ttsUrl; + + } else { + System.out.println("请求失败,错误代码: " + responseCode); + } + // 断开连接 + connection.disconnect(); + } catch (Exception e) { + e.printStackTrace(); + + } + return null; + + } + + } diff --git a/suimangCApi/src/main/java/com/iformall/controller/UserLiveController.java b/suimangCApi/src/main/java/com/iformall/controller/UserLiveController.java new file mode 100644 index 0000000..1267221 --- /dev/null +++ b/suimangCApi/src/main/java/com/iformall/controller/UserLiveController.java @@ -0,0 +1,242 @@ +package com.iformall.controller; + + +import com.alibaba.fastjson.JSON; +import com.google.code.kaptcha.Producer; +import com.iformall.annotation.AuthIgnore; +import com.iformall.common.ErrorCode; +import com.iformall.common.ResultData; +import com.iformall.domain.po.WxCUserBasicInfo; +import com.iformall.domain.vo.WxCLiveLoginVo; +import com.iformall.service.*; +import com.iformall.utils.Constant; +import com.iformall.utils.PasswordHelper; +import com.iformall.utils.RedisCacheUtils; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.io.IOUtils; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.web.bind.annotation.*; +import springfox.documentation.spring.web.json.Json; + +import javax.imageio.ImageIO; +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletResponse; +import java.awt.image.BufferedImage; +import java.io.IOException; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; + +@RestController +@RequestMapping("/api/live") +@Api(description = "直播相关接口") +public class UserLiveController extends BaseController { + + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Autowired + private Producer producer; + + @Autowired + @Qualifier("objectCommonRedisTemplate") + RedisTemplate redisTemplate; + + @Autowired + private WxCUserBasicInfoService wxCUserBasicInfoService; + + @Autowired + private WxCLiveUserBasicInfoService wxCLiveUserBasicInfoService; + + @Autowired + private WxCVideoService wxCVideoService; + + @Autowired + private WxCVoiceService wxCVoiceService; + + @Autowired + private WxCUserAuthorityService wxCUserAuthorityService; + + @AuthIgnore + @ApiOperation("验证码") + @GetMapping("/captcha.jpg") + public void captcha(HttpServletResponse response) { + logger.debug("[" + getIpAddr() + "] WxUserGrantController::captcha"); + response.setHeader("Cache-Control", "no-store, no-cache"); + response.setContentType("image/jpeg"); + + //生成文字验证码 + String text = producer.createText(); + //生成图片验证码 + BufferedImage image = producer.createImage(text); + + //保存到redis + String ipAddr = getIpAddr(); + String key = Constant.captchaPrev + ":" + ipAddr; + RedisCacheUtils.cache(redisTemplate, key, text, 60); + + ServletOutputStream out = null; + try { + out = response.getOutputStream(); + ImageIO.write(image, "jpg", out); + } catch (IOException e) { + e.printStackTrace(); + } finally { + IOUtils.closeQuietly(out); + } + } + + @AuthIgnore + @PostMapping("/login") + @ApiOperation(value = "用户登录", notes = "{\"username\":\"string\",\"password\":\"string\",\"code\":\"string\",\"Mcode\":\"string\",\"status\":\"int\"}") + public ResultData login(@RequestBody Map map, HttpServletResponse response) { + String ipAddr = getIpAddr(); + logger.debug("[" + ipAddr + "] WxUserGrantController::login"); + String code = map.get("code"); + if (StringUtils.isBlank(code)) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "请输入验证码"); + } + String key = Constant.captchaPrev + ":" + ipAddr; + String code1 = RedisCacheUtils.getCacheString(redisTemplate, key); +// if (StringUtils.isBlank(code1)) { +// return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "验证码已过期"); +// } +// if (!code1.equals(code)) { +// return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "验证码不正确"); +// } + String phone = map.get("username"); + String password = map.get("password"); + if (StringUtils.isBlank(phone) || StringUtils.isBlank(password)) { + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "手机号或密码为空"); + } + WxCUserBasicInfo basicInfo = wxCUserBasicInfoService.findInfoByPhone(getTenantInfo(), phone); + if (basicInfo == null) { + return new ResultData(ErrorCode.USER_IS_EMPTY); + } + + String encryptPassword = new PasswordHelper().encryptPassword(password); + + if (!encryptPassword.equals(basicInfo.getPassword())) { + return new ResultData(ErrorCode.USER_PASSWD_ERR.getCode(), "手机号或密码错误"); + } + + int status = Integer.parseInt(map.get("status")); + + if (status == 0) { + WxCUserBasicInfo basicLiveInfo = wxCLiveUserBasicInfoService.getById(basicInfo.getId()); + if (basicLiveInfo.getCode() != null && !map.get("Mcode").equals(basicLiveInfo.getCode())) { + return new ResultData(ErrorCode.USER_ALREADY_LOGIN.getCode(), "用户已在其他设备登录"); + } + if (basicLiveInfo.getCode() == null) { + wxCLiveUserBasicInfoService.updateCode(basicInfo.getId(), map.get("Mcode")); + } + } + if (status == -1) { + wxCLiveUserBasicInfoService.updateCode(basicInfo.getId(), null); + basicInfo.setStatus(-2); + return new ResultData(ErrorCode.USER_CANCEL_MCODE.getCode(), "设备已注销"); + } + + + wxCUserBasicInfoService.handleLoginUser(basicInfo); + WxCUserBasicInfo basicLiveInfo = wxCLiveUserBasicInfoService.getById(basicInfo.getId()); + + Map resultMap = new HashMap(); + + WxCLiveLoginVo wxCLiveLoginVo = new WxCLiveLoginVo(); + wxCLiveLoginVo.setCode(Integer.parseInt(map.get("Mcode"))); + wxCLiveLoginVo.setVersion(basicLiveInfo.getVersion()); + wxCLiveLoginVo.setUsername(map.get("username")); + wxCLiveLoginVo.setStatus(0); + wxCLiveLoginVo.setCurrent_time(new Date(System.currentTimeMillis() / 1000)); + wxCLiveLoginVo.setExpire_time(basicLiveInfo.getExpireTime().getTime() / 1000); + //生成一个token + String token = UUID.randomUUID().toString().replace("-",""); + //将token和用户信息绑定放到redis redis--key:user:info:token value:用户信息 + redisTemplate.opsForValue().set("user:login"+token,JSON.toJSONString(wxCLiveLoginVo)); + //返回给前端 + wxCLiveLoginVo.setToken(token); + Map info = new HashMap(); + Map Status = new HashMap(); + info.put("log_id", basicInfo.getId()); + info.put("username", basicInfo.getPhone()); + wxCLiveLoginVo.setParam(info); + Status.put("code",1000); + Status.put("msg","success"); + wxCLiveLoginVo.setParam(Status); + + + return new ResultData(wxCLiveLoginVo); + } + + /** + * 视频模板列表 + */ + + @PostMapping("/avatarList") + @ApiOperation(value = "视频模板列表", notes = "{\"username\",\"string\",\"code\",\"string\"}") + public ResultData avatarList(@RequestHeader(value = "token") String token) { + String ipaddress = getIpAddr(); + logger.debug("[" + ipaddress + "] WxUserGrantController::getAvatarList"); + if (token==null||token.isEmpty()){ + //用户未登录 + } + long id = getMemberId(); + WxCUserBasicInfo basicInfo = wxCUserBasicInfoService.getById(id); + + + return wxCVideoService.getById(id); + } + + + /** + * 音频模板列表 + */ + + @PostMapping("/audioList") + @ApiOperation(value = "音频模板列表", notes = "{\"username\",\"string\",\"code\",\"string\"}") + public ResultData audioList(@RequestHeader(value = "token") String token) { + String ipaddress = getIpAddr(); + logger.debug("[" + ipaddress + "] WxUserGrantController::getAudioList"); + if (token==null||token.isEmpty()){ + //用户未登录 + } + // 已登录 + long id = getMemberId(); + + + return wxCVoiceService.getById(id); + } + + /** + * 资源权限查询 + */ + + + @ApiOperation(value = "资源权限查询", notes = "{\"username\",\"string\",\"code\",\"string\",\"type\",\"int\",\"resource_id\",\"long\"}") + @PostMapping("/author") + public ResultData getAuthor(@RequestBody Map params,@RequestHeader(value = "token") String token) { + String ipaddress = getIpAddr(); + logger.debug("[" + ipaddress + "] WxUserGrantController::getAuthor"); + + if (token==null||token.isEmpty()){ + //用户未登录 + } + // 已登录 + long id = getMemberId(); + + // String username = params.get("username"); + String code = params.get("code"); + Integer type = Integer.parseInt(params.get("type")); + Long resourceId = Long.valueOf(params.get("resource_id")); + + + return wxCUserAuthorityService.getAuthor(id, code, type, resourceId); + } +} diff --git a/suimangCApi/src/main/java/com/iformall/controller/VoiceMouldController.java b/suimangCApi/src/main/java/com/iformall/controller/VoiceMouldController.java index 451aae4..42b9c41 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/VoiceMouldController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/VoiceMouldController.java @@ -51,6 +51,7 @@ public class VoiceMouldController extends BaseController { @Autowired private VoiceLanguageService voiceLanguageService; + @Autowired private WxCVoiceService wxCVoiceService; diff --git a/suimangCApi/src/main/java/com/iformall/controller/WxUserGrantController.java b/suimangCApi/src/main/java/com/iformall/controller/WxUserGrantController.java index 2a5b581..73bbe20 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/WxUserGrantController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/WxUserGrantController.java @@ -85,10 +85,6 @@ public class WxUserGrantController extends BaseController { @Autowired WxMallService mallService; - @Autowired - private WxCLiveUserBasicInfoService wxCLiveUserBasicInfoService; - - @Autowired private QrCodeService qrCodeService; @@ -136,79 +132,6 @@ public class WxUserGrantController extends BaseController { } } - @AuthIgnore - @PostMapping("/userlogin") - @ApiOperation(value = "用户登录", notes = "{\"username\":\"string\",\"password\":\"string\",\"code\":\"string\",\"Mcode\":\"string\",\"status\":\"int\"}") - public ResultData userLogin(@RequestBody Map map,HttpServletResponse response){ - String ipAddr = getIpAddr(); - logger.debug("[" + ipAddr + "] WxUserGrantController::userlogin"); - String code = map.get("code"); - if(StringUtils.isBlank(code)){ - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "请输入验证码"); - } - String key = Constant.captchaPrev + ":" + ipAddr; - String code1 = RedisCacheUtils.getCacheString(redisTemplate, key); - if(StringUtils.isBlank(code1)){ - return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "验证码已过期"); - } - if(!code1.equals(code)){ - return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "验证码不正确"); - } - String phone = map.get("username"); - String password = map.get("password"); - if(StringUtils.isBlank(phone) || StringUtils.isBlank(password)){ - return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "手机号或密码为空"); - } - WxCUserBasicInfo basicInfo = wxCUserBasicInfoService.findInfoByPhone(getTenantInfo(), phone); - if(basicInfo == null){ - return new ResultData(ErrorCode.USER_IS_EMPTY); - } - - String encryptPassword = new PasswordHelper().encryptPassword(password); - - if(!encryptPassword.equals(basicInfo.getPassword())){ - return new ResultData(ErrorCode.USER_PASSWD_ERR.getCode(), "手机号或密码错误"); - } - - int status = Integer.parseInt(map.get("status")); - - if (status==0){ - WxCUserBasicInfo basicLiveInfo =wxCLiveUserBasicInfoService.getById(basicInfo.getId()); - if (basicLiveInfo.getCode()!=null && !map.get("Mcode").equals(basicLiveInfo.getCode())){ - return new ResultData(ErrorCode.USER_ALREADY_LOGIN.getCode(),"用户已在其他设备登录"); - }if (basicLiveInfo.getCode()==null){ - wxCLiveUserBasicInfoService.updateCode(basicInfo.getId(),map.get("Mcode")); - } - } - if (status==-1){ - wxCLiveUserBasicInfoService.updateCode(basicInfo.getId(),null); - basicInfo.setStatus(-2); - return new ResultData(ErrorCode.USER_CANCEL_MCODE.getCode(),"设备已注销"); - } - - - wxCUserBasicInfoService.handleLoginUser(basicInfo); - WxCUserBasicInfo basicLiveInfo =wxCLiveUserBasicInfoService.getById(basicInfo.getId()); - Map resultMap = new HashMap(); -// resultMap.put("phone", basicInfo.getPhone()); - Map data = new HashMap(); - data.put("status",basicInfo.getStatus()); - data.put("version",basicLiveInfo.getVersion()); - data.put("current_time",new Date(System.currentTimeMillis()/1000)); - data.put("expire_time",basicLiveInfo.getExpireTime().getTime()/1000); - Map info = new HashMap(); - info.put("log_id",basicInfo.getId()); - info.put("username",basicInfo.getPhone()); - - resultMap.put("data",data); - resultMap.put("info",info); - - - // resultMap.put("expire_time", basicInfo.getExpireTime()); - return new ResultData(resultMap); - } - - /** diff --git a/suimangService/src/main/java/com/iformall/domain/po/WxCUserBasicInfo.java b/suimangService/src/main/java/com/iformall/domain/po/WxCUserBasicInfo.java index 172a300..13144c2 100644 --- a/suimangService/src/main/java/com/iformall/domain/po/WxCUserBasicInfo.java +++ b/suimangService/src/main/java/com/iformall/domain/po/WxCUserBasicInfo.java @@ -64,6 +64,10 @@ public class WxCUserBasicInfo extends TenantEntityWithoutFinalTenantId { @io.swagger.annotations.ApiModelProperty(value="密码",name="password") private String password; + @io.swagger.annotations.ApiModelProperty(value="用户名") + @TableField(exist = false) + private String username; + @Excel(name="微信昵称",width = 20,orderNum = "5") @io.swagger.annotations.ApiModelProperty(value="用户昵称",name="nickName") private String nickName; @@ -204,10 +208,10 @@ public class WxCUserBasicInfo extends TenantEntityWithoutFinalTenantId { @TableField(exist = false) private Date creditEndTime; - + @TableField(exist = false) private Integer begin; - + @TableField(exist = false) private Integer limit; diff --git a/suimangService/src/main/java/com/iformall/domain/po/sm/PersonMould.java b/suimangService/src/main/java/com/iformall/domain/po/sm/PersonMould.java index 83c00a4..40aa8e7 100644 --- a/suimangService/src/main/java/com/iformall/domain/po/sm/PersonMould.java +++ b/suimangService/src/main/java/com/iformall/domain/po/sm/PersonMould.java @@ -41,12 +41,16 @@ public class PersonMould extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value="EnumVideoType",name="videoType") private Integer videoType; + @io.swagger.annotations.ApiModelProperty(value="封面图",name="coverImg") private String coverImg; + @io.swagger.annotations.ApiModelProperty(value="多封面图",name="coverPicture") private String coverPicture; + @io.swagger.annotations.ApiModelProperty(value="详情多图",name="detailPicture") private String detailPicture; + @io.swagger.annotations.ApiModelProperty(value="名称",name="title") @Excel(name="名称",width = 20,orderNum = "1") private String title; @@ -135,5 +139,5 @@ public class PersonMould extends TenantEntity { } return priceStr; } - + } diff --git a/suimangService/src/main/java/com/iformall/domain/vo/WxCLiveLoginVo.java b/suimangService/src/main/java/com/iformall/domain/vo/WxCLiveLoginVo.java new file mode 100644 index 0000000..5a67175 --- /dev/null +++ b/suimangService/src/main/java/com/iformall/domain/vo/WxCLiveLoginVo.java @@ -0,0 +1,29 @@ +package com.iformall.domain.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +@Data +public class WxCLiveLoginVo { + + private String token; //令牌 + private String username; //令牌 + private int status; //用户登录状态 2设备注销,1登陆失败,0登陆成功 + private int version; //用户购买的软件套餐 + private Date current_time;//服务器当前时间 + private long expire_time;//套餐过期时间 + private int code; //机器码 + @ApiModelProperty(value = "响应") + private Map data = new HashMap<>(); + + // @ApiModelProperty(value = "响应") + //private Map Status = new HashMap<>(); + + @ApiModelProperty(value = "其它参数") + private Map param = new HashMap<>(); + +} diff --git a/suimangService/src/main/java/com/iformall/mapper/WxCUserAuthorityMapper.java b/suimangService/src/main/java/com/iformall/mapper/WxCUserAuthorityMapper.java index a29688a..a484080 100644 --- a/suimangService/src/main/java/com/iformall/mapper/WxCUserAuthorityMapper.java +++ b/suimangService/src/main/java/com/iformall/mapper/WxCUserAuthorityMapper.java @@ -9,7 +9,7 @@ import java.util.List; public interface WxCUserAuthorityMapper extends CommonMapper { - List getAuthorAvatar(String username, int i, Long resourceId); + List getAuthorAvatar(Long id, int i, Long resourceId); - List getAuthorVoice(String username, int i, Long resourceId); + List getAuthorVoice(Long id, int i, Long resourceId); } diff --git a/suimangService/src/main/java/com/iformall/mapper/WxCVideoMapper.java b/suimangService/src/main/java/com/iformall/mapper/WxCVideoMapper.java index 72600f2..5908bc5 100644 --- a/suimangService/src/main/java/com/iformall/mapper/WxCVideoMapper.java +++ b/suimangService/src/main/java/com/iformall/mapper/WxCVideoMapper.java @@ -9,6 +9,8 @@ import java.util.List; public interface WxCVideoMapper extends CommonMapper { - List findByUserName(@Param("username") String username); + List getById(@Param("user_id") Long id); + + } diff --git a/suimangService/src/main/java/com/iformall/mapper/WxCVoiceMapper.java b/suimangService/src/main/java/com/iformall/mapper/WxCVoiceMapper.java index b33e190..5d900a7 100644 --- a/suimangService/src/main/java/com/iformall/mapper/WxCVoiceMapper.java +++ b/suimangService/src/main/java/com/iformall/mapper/WxCVoiceMapper.java @@ -9,5 +9,5 @@ import java.util.List; public interface WxCVoiceMapper extends CommonMapper { - List findByUserName(String username); + List getById(Long id); } diff --git a/suimangService/src/main/java/com/iformall/service/WxCUserAuthorityService.java b/suimangService/src/main/java/com/iformall/service/WxCUserAuthorityService.java index 3c72e3e..0d21e65 100644 --- a/suimangService/src/main/java/com/iformall/service/WxCUserAuthorityService.java +++ b/suimangService/src/main/java/com/iformall/service/WxCUserAuthorityService.java @@ -3,5 +3,5 @@ package com.iformall.service; import com.iformall.common.ResultData; public interface WxCUserAuthorityService { - ResultData getAuthor(String username, String code, Integer type, Long resourceId); + ResultData getAuthor(Long id, String code, Integer type, Long resourceId); } diff --git a/suimangService/src/main/java/com/iformall/service/WxCVideoService.java b/suimangService/src/main/java/com/iformall/service/WxCVideoService.java index ec95ad8..5e19191 100644 --- a/suimangService/src/main/java/com/iformall/service/WxCVideoService.java +++ b/suimangService/src/main/java/com/iformall/service/WxCVideoService.java @@ -6,5 +6,5 @@ import com.iformall.domain.po.WxCVideoTable; public interface WxCVideoService { - ResultData findByUserName(String username); + ResultData getById(Long id); } diff --git a/suimangService/src/main/java/com/iformall/service/WxCVoiceService.java b/suimangService/src/main/java/com/iformall/service/WxCVoiceService.java index 94c649d..b1533be 100644 --- a/suimangService/src/main/java/com/iformall/service/WxCVoiceService.java +++ b/suimangService/src/main/java/com/iformall/service/WxCVoiceService.java @@ -3,5 +3,5 @@ package com.iformall.service; import com.iformall.common.ResultData; public interface WxCVoiceService { - ResultData findByUserName(String username); + ResultData getById(Long id); } diff --git a/suimangService/src/main/java/com/iformall/service/impl/WxCUserAuthorityServiceImpl.java b/suimangService/src/main/java/com/iformall/service/impl/WxCUserAuthorityServiceImpl.java index 02017d9..187a621 100644 --- a/suimangService/src/main/java/com/iformall/service/impl/WxCUserAuthorityServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/impl/WxCUserAuthorityServiceImpl.java @@ -20,16 +20,16 @@ public class WxCUserAuthorityServiceImpl implements WxCUserAuthorityService { @Override - public ResultData getAuthor(String username, String code, Integer type, Long resourceId) { + public ResultData getAuthor(Long id, String code, Integer type, Long resourceId) { List resultList = new ArrayList(); if (type==0){ //查询数字人相关权限 - resultList = wxCUserAuthorityMapper.getAuthorAvatar(username,0,resourceId); + resultList = wxCUserAuthorityMapper.getAuthorAvatar(id,0,resourceId); } if (type==1){ //查询声纹相关权限 - resultList = wxCUserAuthorityMapper.getAuthorVoice(username,1,resourceId); + resultList = wxCUserAuthorityMapper.getAuthorVoice(id,1,resourceId); } if (resourceId==null){ diff --git a/suimangService/src/main/java/com/iformall/service/impl/WxCVideoServiceImpl.java b/suimangService/src/main/java/com/iformall/service/impl/WxCVideoServiceImpl.java index 48e5f28..2d34756 100644 --- a/suimangService/src/main/java/com/iformall/service/impl/WxCVideoServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/impl/WxCVideoServiceImpl.java @@ -32,17 +32,20 @@ public class WxCVideoServiceImpl implements WxCVideoService,IExcelExportServer { @Autowired WxCVideoMapper wxCVideoMapper; @Override - public ResultData findByUserName(String username) { - List TemplateVideo = wxCVideoMapper.findByUserName(username); + public ResultData getById(Long id) { + + List TemplateVideo = wxCVideoMapper.getById(id); System.out.println("TemplateVideo = " + TemplateVideo); Map resultMap = new HashMap(); Map data = new HashMap(); - data.put("username",username); - data.put("current_time",new Date(System.currentTimeMillis())); + //Map authorlist = new HashMap(); List authorlist = new ArrayList(); for (WxCVideoTable wxCVideoTable : TemplateVideo) { + data.put("username",wxCVideoTable.getUserName()); + data.put("current_time",new Date(System.currentTimeMillis())); + Map avatar = new HashMap(); avatar.put("avatar_id",wxCVideoTable.getId()); avatar.put("avatar_name",wxCVideoTable.getName()); diff --git a/suimangService/src/main/java/com/iformall/service/impl/WxCVoiceServiceImpl.java b/suimangService/src/main/java/com/iformall/service/impl/WxCVoiceServiceImpl.java index fda9046..3be82a4 100644 --- a/suimangService/src/main/java/com/iformall/service/impl/WxCVoiceServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/impl/WxCVoiceServiceImpl.java @@ -21,9 +21,9 @@ public class WxCVoiceServiceImpl implements WxCVoiceService { @Override - public ResultData findByUserName(String username) { + public ResultData getById(Long id) { - List resultList = wxCVoiceMapper.findByUserName(username); + List resultList = wxCVoiceMapper.getById(id); HashMap result = new HashMap<>(); List audioList = new ArrayList(); diff --git a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java index 2e6f1fb..4923f26 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java @@ -221,6 +221,11 @@ public class PhotoSpeakVideoServiceImpl implements PhotoSpeakVideoService { Integer voiceFrom = photoSpeakVideo.getVoiceFrom(); String voiceMaterialUrl = photoSpeakVideo.getVoiceMaterialUrl(); + if (photoSpeakVideo.getSubtitleEnabled()==1){ + //开启字幕 查询字幕列表 + + } + if (EnumVoiceFrom.FROM_MOULD.getCode().equals(voiceFrom)) { param.setGen_txt(photoSpeakVideo.getPaperwork().replaceAll(str, "[*]")); if (sex == 1){ diff --git a/suimangService/src/main/resources/mapper/WxCUserAuthorityMapper.xml b/suimangService/src/main/resources/mapper/WxCUserAuthorityMapper.xml index 9c90330..290c750 100644 --- a/suimangService/src/main/resources/mapper/WxCUserAuthorityMapper.xml +++ b/suimangService/src/main/resources/mapper/WxCUserAuthorityMapper.xml @@ -16,13 +16,13 @@ select wca.user_name,wca.type,wca.resource_id,wca.expire_time,wcav.class from wx_c_author wca join wx_c_avatar wcav on wca.resource_id = wcav.id and wca.type = 0 -where wca.user_name=#{username} and wca.resource_id = #{resourceId} +where wca.user_id=#{id} and wca.resource_id = #{resourceId} diff --git a/suimangService/src/main/resources/mapper/WxCVideoMapper.xml b/suimangService/src/main/resources/mapper/WxCVideoMapper.xml index 4a8cf25..36298f1 100644 --- a/suimangService/src/main/resources/mapper/WxCVideoMapper.xml +++ b/suimangService/src/main/resources/mapper/WxCVideoMapper.xml @@ -19,12 +19,12 @@ --> - SELECT wca.user_name,expire_time,wcav.id,wcav.name,wcav.image,wcav.model,wcav.preinfo,wcav.demo from wx_c_author wca left join wx_c_avatar wcav on wcav.id =wca.resource_id where wca.resource_id -in (select wca.resource_id from wx_c_author wca WHERE wca.user_name =#{username} AND wca.type = 0 ) +in (select wca.resource_id from wx_c_author wca WHERE wca.user_id =#{id} AND wca.type = 0 ) diff --git a/suimangService/src/main/resources/mapper/WxCVoiceMapper.xml b/suimangService/src/main/resources/mapper/WxCVoiceMapper.xml index 07be05e..6f2827b 100644 --- a/suimangService/src/main/resources/mapper/WxCVoiceMapper.xml +++ b/suimangService/src/main/resources/mapper/WxCVoiceMapper.xml @@ -19,13 +19,13 @@ - select wca.user_name,wca.resource_id,wca.expire_time,wcv.id, wcv.localel_id ,wcv.id ,wcv.voice_name,wcv.voice_display_name ,wcv.gender , wcv.class , wcvl.id,wcvl.local_name,wcvl.local_display_name,wcvs.id,wcvs.voice_id,wcvs.style_name,wcvs.style_display_name,wcvs.style_demo from wx_c_author wca INNER JOIN wx_c_voice wcv on wca.resource_id = wcv.id and wca.type = 1 join wx_c_voice_local wcvl on wcv.localel_id = wcvl.id -join wx_c_voice_style wcvs on wcv.id=wcvs.voice_id where wca.user_name = #{username} +join wx_c_voice_style wcvs on wcv.id=wcvs.voice_id where wca.user_id = #{id} From d7fd8906019acff9555ca56b2ae8a46918122a43 Mon Sep 17 00:00:00 2001 From: twy <2301620162@qq.com> Date: Fri, 21 Jul 2023 11:04:18 +0800 Subject: [PATCH 11/48] =?UTF-8?q?=E6=85=A7=E6=92=AD=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E6=95=B4=E5=90=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/iformall/controller/UserLiveController.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/suimangCApi/src/main/java/com/iformall/controller/UserLiveController.java b/suimangCApi/src/main/java/com/iformall/controller/UserLiveController.java index 1267221..0b93f08 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/UserLiveController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/UserLiveController.java @@ -104,12 +104,12 @@ public class UserLiveController extends BaseController { } String key = Constant.captchaPrev + ":" + ipAddr; String code1 = RedisCacheUtils.getCacheString(redisTemplate, key); -// if (StringUtils.isBlank(code1)) { -// return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "验证码已过期"); -// } -// if (!code1.equals(code)) { -// return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "验证码不正确"); -// } + if (StringUtils.isBlank(code1)) { + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "验证码已过期"); + } + if (!code1.equals(code)) { + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "验证码不正确"); + } String phone = map.get("username"); String password = map.get("password"); if (StringUtils.isBlank(phone) || StringUtils.isBlank(password)) { From ba60a4ff8ed411dee53911280ee103110015579c Mon Sep 17 00:00:00 2001 From: twy <2301620162@qq.com> Date: Fri, 21 Jul 2023 11:08:25 +0800 Subject: [PATCH 12/48] =?UTF-8?q?=E6=85=A7=E6=92=AD=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E6=95=B4=E5=90=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iformall/controller/VideoController.java | 10 ---------- .../controller/VoiceMouldController.java | 10 ---------- .../controller/WxUserGrantController.java | 18 ------------------ 3 files changed, 38 deletions(-) diff --git a/suimangCApi/src/main/java/com/iformall/controller/VideoController.java b/suimangCApi/src/main/java/com/iformall/controller/VideoController.java index 55ba5e1..9b64528 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/VideoController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/VideoController.java @@ -125,16 +125,6 @@ public class VideoController extends BaseController { } } - /** - * 视频模板列表 - */ - @AuthIgnore - @PostMapping("/avatarList") - @ApiOperation(value = "视频模板列表", notes = "{\"username\",\"string\",\"code\",\"string\"}") - public ResultData avatarList(@RequestBody Map params){ - String username = params.get("username"); - return wxCVideoService.findByUserName(username); - } } diff --git a/suimangCApi/src/main/java/com/iformall/controller/VoiceMouldController.java b/suimangCApi/src/main/java/com/iformall/controller/VoiceMouldController.java index 42b9c41..1183855 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/VoiceMouldController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/VoiceMouldController.java @@ -169,15 +169,5 @@ public class VoiceMouldController extends BaseController { return new ResultData(voiceInfoService.voicePreview(aiPreviewParam)); } - /** - * 音频模板列表 - */ - @AuthIgnore - @PostMapping("/audioList") - @ApiOperation(value = "音频模板列表", notes = "{\"username\",\"string\",\"code\",\"string\"}") - public ResultData audioList(@RequestBody Map params) { - String username = params.get("username"); - return wxCVoiceService.findByUserName(username); - } } diff --git a/suimangCApi/src/main/java/com/iformall/controller/WxUserGrantController.java b/suimangCApi/src/main/java/com/iformall/controller/WxUserGrantController.java index 73bbe20..2d8ea78 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/WxUserGrantController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/WxUserGrantController.java @@ -295,25 +295,7 @@ public class WxUserGrantController extends BaseController { return wxMsgValidationcodeService.sendvalidationcode(wxMsgValidationcode); } - /** - * 资源权限查询 - * - */ - @AuthIgnore - @ApiOperation(value = "资源权限查询", notes = "{\"username\",\"string\",\"code\",\"string\",\"type\",\"int\",\"resource_id\",\"long\"}") - @PostMapping("/author") - public ResultData getAuthor(@RequestBody Map params, HttpServletResponse response) { - String ipaddress = getIpAddr(); - logger.debug("[" + ipaddress + "] WxUserGrantController::getAuthor"); - String username = params.get("username"); - String code = params.get("code"); - Integer type = Integer.parseInt(params.get("type")); - Long resourceId = Long.valueOf(params.get("resource_id")); - - - return wxCUserAuthorityService.getAuthor(username,code,type,resourceId); - } From 8212e920e42da502c4cf7e7f1a4065cda555f10a Mon Sep 17 00:00:00 2001 From: twy <2301620162@qq.com> Date: Fri, 21 Jul 2023 12:35:12 +0800 Subject: [PATCH 13/48] zimu test --- .../com/iformall/controller/PhotoSpeakVideoController.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/suimangCApi/src/main/java/com/iformall/controller/PhotoSpeakVideoController.java b/suimangCApi/src/main/java/com/iformall/controller/PhotoSpeakVideoController.java index e2c1e0f..e4907a4 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/PhotoSpeakVideoController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/PhotoSpeakVideoController.java @@ -180,6 +180,7 @@ public class PhotoSpeakVideoController extends BaseController { PhotoSpeakVideo videoUpd = new PhotoSpeakVideo(); videoUpd.setId(record.getId()); + if (mouldVideo.getPersonPhotoId() == null) { return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"未查询到人物照片"); } @@ -208,6 +209,12 @@ public class PhotoSpeakVideoController extends BaseController { if(StringUtils.isBlank(mouldVideo.getPaperwork())){ return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"未填写视频文案数据"); } + + if (record.getSubtitleEnabled()==1){ + //开启字幕 + videoUpd.setSubtitleParams(mouldVideo.getSubtitleParams()); + } + //TODO 设置预估时长 // videoUpd.setVideoTime(); }else if(EnumVoiceFrom.FROM_UPD.getCode().equals(voiceFrom)){ From fb1711e76d32637be11ba091eb8f1cdf2581499e Mon Sep 17 00:00:00 2001 From: twy <2301620162@qq.com> Date: Fri, 21 Jul 2023 13:37:07 +0800 Subject: [PATCH 14/48] test --- .../java/com/iformall/controller/PhotoSpeakVideoController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/suimangCApi/src/main/java/com/iformall/controller/PhotoSpeakVideoController.java b/suimangCApi/src/main/java/com/iformall/controller/PhotoSpeakVideoController.java index e4907a4..736c2c9 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/PhotoSpeakVideoController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/PhotoSpeakVideoController.java @@ -212,7 +212,7 @@ public class PhotoSpeakVideoController extends BaseController { if (record.getSubtitleEnabled()==1){ //开启字幕 - videoUpd.setSubtitleParams(mouldVideo.getSubtitleParams()); + videoUpd.setSubtitleParams(record.getSubtitleParams()); } //TODO 设置预估时长 From 5192e46ef9d05261f9ad7da69781ccce2beafd1a Mon Sep 17 00:00:00 2001 From: twy <2301620162@qq.com> Date: Fri, 21 Jul 2023 15:49:01 +0800 Subject: [PATCH 15/48] zimu --- .../com/iformall/controller/PhotoSpeakVideoController.java | 6 ------ 1 file changed, 6 deletions(-) diff --git a/suimangCApi/src/main/java/com/iformall/controller/PhotoSpeakVideoController.java b/suimangCApi/src/main/java/com/iformall/controller/PhotoSpeakVideoController.java index 736c2c9..9670c3f 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/PhotoSpeakVideoController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/PhotoSpeakVideoController.java @@ -209,12 +209,6 @@ public class PhotoSpeakVideoController extends BaseController { if(StringUtils.isBlank(mouldVideo.getPaperwork())){ return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"未填写视频文案数据"); } - - if (record.getSubtitleEnabled()==1){ - //开启字幕 - videoUpd.setSubtitleParams(record.getSubtitleParams()); - } - //TODO 设置预估时长 // videoUpd.setVideoTime(); }else if(EnumVoiceFrom.FROM_UPD.getCode().equals(voiceFrom)){ From 78c39a862b612bd59f11291ccf7a00b6f6d07384 Mon Sep 17 00:00:00 2001 From: twy <2301620162@qq.com> Date: Fri, 21 Jul 2023 15:58:52 +0800 Subject: [PATCH 16/48] zimu --- .../iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java | 2 +- .../src/main/java/com/iformall/sm/AiPhotoSpeakParam.java | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java index 4923f26..73a4669 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java @@ -223,7 +223,7 @@ public class PhotoSpeakVideoServiceImpl implements PhotoSpeakVideoService { String voiceMaterialUrl = photoSpeakVideo.getVoiceMaterialUrl(); if (photoSpeakVideo.getSubtitleEnabled()==1){ //开启字幕 查询字幕列表 - + param.setSubtitle_params(photoSpeakVideo.getSubtitleParams()); } if (EnumVoiceFrom.FROM_MOULD.getCode().equals(voiceFrom)) { diff --git a/suimangService/src/main/java/com/iformall/sm/AiPhotoSpeakParam.java b/suimangService/src/main/java/com/iformall/sm/AiPhotoSpeakParam.java index eb64056..10fea2d 100644 --- a/suimangService/src/main/java/com/iformall/sm/AiPhotoSpeakParam.java +++ b/suimangService/src/main/java/com/iformall/sm/AiPhotoSpeakParam.java @@ -15,6 +15,7 @@ public class AiPhotoSpeakParam { * | gender | 是 | string | 说话人性别,male或者female | * | url | 是 | string | 如果上传音频就传url,否则为None | * | img | 是 | base64 | 编码后的图片 | + * | subtitle_params | 否 | base64 | 字幕信息 | */ private String gen_txt; @@ -25,6 +26,8 @@ public class AiPhotoSpeakParam { private String img; private Long task_id; private String callback_url; + private String subtitle_params; + public String neglectImgString() { StringBuffer str = new StringBuffer(); @@ -37,6 +40,7 @@ public class AiPhotoSpeakParam { str.append("\"img\":").append("\"").append(img); str.append("\"task_id\":").append("\"").append(task_id); str.append("\"callback_url\":").append("\"").append(callback_url).append("\"}"); + str.append("\"callback_url\":").append("\"").append(subtitle_params).append("\"}"); return str.toString(); } } From 919dd9e9891a5a00798b90016c8491300d1cd00b Mon Sep 17 00:00:00 2001 From: twy <2301620162@qq.com> Date: Fri, 21 Jul 2023 16:32:40 +0800 Subject: [PATCH 17/48] =?UTF-8?q?=E7=9B=B4=E6=92=AD=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E4=BF=AE=E6=94=B9-=E5=AD=97=E5=B9=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/UserLiveController.java | 23 +++++++------------ .../sm/impl/PhotoSpeakVideoServiceImpl.java | 8 +++---- .../com/iformall/sm/AiPhotoSpeakParam.java | 4 ++-- 3 files changed, 14 insertions(+), 21 deletions(-) diff --git a/suimangCApi/src/main/java/com/iformall/controller/UserLiveController.java b/suimangCApi/src/main/java/com/iformall/controller/UserLiveController.java index 0b93f08..7e56887 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/UserLiveController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/UserLiveController.java @@ -181,12 +181,10 @@ public class UserLiveController extends BaseController { @PostMapping("/avatarList") @ApiOperation(value = "视频模板列表", notes = "{\"username\",\"string\",\"code\",\"string\"}") - public ResultData avatarList(@RequestHeader(value = "token") String token) { + public ResultData avatarList(@RequestBody Map params) { String ipaddress = getIpAddr(); logger.debug("[" + ipaddress + "] WxUserGrantController::getAvatarList"); - if (token==null||token.isEmpty()){ - //用户未登录 - } + long id = getMemberId(); WxCUserBasicInfo basicInfo = wxCUserBasicInfoService.getById(id); @@ -201,13 +199,11 @@ public class UserLiveController extends BaseController { @PostMapping("/audioList") @ApiOperation(value = "音频模板列表", notes = "{\"username\",\"string\",\"code\",\"string\"}") - public ResultData audioList(@RequestHeader(value = "token") String token) { + public ResultData audioList(@RequestBody Map params) { String ipaddress = getIpAddr(); logger.debug("[" + ipaddress + "] WxUserGrantController::getAudioList"); - if (token==null||token.isEmpty()){ - //用户未登录 - } - // 已登录 + + long id = getMemberId(); @@ -221,17 +217,14 @@ public class UserLiveController extends BaseController { @ApiOperation(value = "资源权限查询", notes = "{\"username\",\"string\",\"code\",\"string\",\"type\",\"int\",\"resource_id\",\"long\"}") @PostMapping("/author") - public ResultData getAuthor(@RequestBody Map params,@RequestHeader(value = "token") String token) { + public ResultData getAuthor(@RequestBody Map params) { String ipaddress = getIpAddr(); logger.debug("[" + ipaddress + "] WxUserGrantController::getAuthor"); - if (token==null||token.isEmpty()){ - //用户未登录 - } - // 已登录 + long id = getMemberId(); - // String username = params.get("username"); + String username = params.get("username"); String code = params.get("code"); Integer type = Integer.parseInt(params.get("type")); Long resourceId = Long.valueOf(params.get("resource_id")); diff --git a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java index 73a4669..928d58a 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java @@ -221,10 +221,10 @@ public class PhotoSpeakVideoServiceImpl implements PhotoSpeakVideoService { Integer voiceFrom = photoSpeakVideo.getVoiceFrom(); String voiceMaterialUrl = photoSpeakVideo.getVoiceMaterialUrl(); - if (photoSpeakVideo.getSubtitleEnabled()==1){ - //开启字幕 查询字幕列表 - param.setSubtitle_params(photoSpeakVideo.getSubtitleParams()); - } +// if (photoSpeakVideo.getSubtitleEnabled()==1){ +// //开启字幕 查询字幕列表 +// param.setSubtitle_params(photoSpeakVideo.getSubtitleParams()); +// } if (EnumVoiceFrom.FROM_MOULD.getCode().equals(voiceFrom)) { param.setGen_txt(photoSpeakVideo.getPaperwork().replaceAll(str, "[*]")); diff --git a/suimangService/src/main/java/com/iformall/sm/AiPhotoSpeakParam.java b/suimangService/src/main/java/com/iformall/sm/AiPhotoSpeakParam.java index 10fea2d..5734ac5 100644 --- a/suimangService/src/main/java/com/iformall/sm/AiPhotoSpeakParam.java +++ b/suimangService/src/main/java/com/iformall/sm/AiPhotoSpeakParam.java @@ -26,7 +26,7 @@ public class AiPhotoSpeakParam { private String img; private Long task_id; private String callback_url; - private String subtitle_params; + //private String subtitle_params; public String neglectImgString() { @@ -40,7 +40,7 @@ public class AiPhotoSpeakParam { str.append("\"img\":").append("\"").append(img); str.append("\"task_id\":").append("\"").append(task_id); str.append("\"callback_url\":").append("\"").append(callback_url).append("\"}"); - str.append("\"callback_url\":").append("\"").append(subtitle_params).append("\"}"); + // str.append("\"callback_url\":").append("\"").append(subtitle_params).append("\"}"); return str.toString(); } } From 6a374051537f49c53df2b4b4383087bde16fd5df Mon Sep 17 00:00:00 2001 From: twy <2301620162@qq.com> Date: Fri, 21 Jul 2023 17:03:34 +0800 Subject: [PATCH 18/48] add subtitle --- .../service/sm/impl/PhotoSpeakVideoServiceImpl.java | 8 ++++---- .../src/main/java/com/iformall/sm/AiPhotoSpeakParam.java | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java index 928d58a..73a4669 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java @@ -221,10 +221,10 @@ public class PhotoSpeakVideoServiceImpl implements PhotoSpeakVideoService { Integer voiceFrom = photoSpeakVideo.getVoiceFrom(); String voiceMaterialUrl = photoSpeakVideo.getVoiceMaterialUrl(); -// if (photoSpeakVideo.getSubtitleEnabled()==1){ -// //开启字幕 查询字幕列表 -// param.setSubtitle_params(photoSpeakVideo.getSubtitleParams()); -// } + if (photoSpeakVideo.getSubtitleEnabled()==1){ + //开启字幕 查询字幕列表 + param.setSubtitle_params(photoSpeakVideo.getSubtitleParams()); + } if (EnumVoiceFrom.FROM_MOULD.getCode().equals(voiceFrom)) { param.setGen_txt(photoSpeakVideo.getPaperwork().replaceAll(str, "[*]")); diff --git a/suimangService/src/main/java/com/iformall/sm/AiPhotoSpeakParam.java b/suimangService/src/main/java/com/iformall/sm/AiPhotoSpeakParam.java index 5734ac5..13146bc 100644 --- a/suimangService/src/main/java/com/iformall/sm/AiPhotoSpeakParam.java +++ b/suimangService/src/main/java/com/iformall/sm/AiPhotoSpeakParam.java @@ -26,7 +26,7 @@ public class AiPhotoSpeakParam { private String img; private Long task_id; private String callback_url; - //private String subtitle_params; + private String subtitle_params; public String neglectImgString() { @@ -40,7 +40,7 @@ public class AiPhotoSpeakParam { str.append("\"img\":").append("\"").append(img); str.append("\"task_id\":").append("\"").append(task_id); str.append("\"callback_url\":").append("\"").append(callback_url).append("\"}"); - // str.append("\"callback_url\":").append("\"").append(subtitle_params).append("\"}"); + str.append("\"subtitle_params\":").append("\"").append(subtitle_params).append("\"}"); return str.toString(); } } From 62d5a84aca2be6514b698180482b22fca250cd69 Mon Sep 17 00:00:00 2001 From: twy <2301620162@qq.com> Date: Fri, 21 Jul 2023 17:29:48 +0800 Subject: [PATCH 19/48] add subtitle --- .../iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java index 73a4669..069b168 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java @@ -223,7 +223,7 @@ public class PhotoSpeakVideoServiceImpl implements PhotoSpeakVideoService { String voiceMaterialUrl = photoSpeakVideo.getVoiceMaterialUrl(); if (photoSpeakVideo.getSubtitleEnabled()==1){ //开启字幕 查询字幕列表 - param.setSubtitle_params(photoSpeakVideo.getSubtitleParams()); + // param.setSubtitle_params(photoSpeakVideo.getSubtitleParams()); } if (EnumVoiceFrom.FROM_MOULD.getCode().equals(voiceFrom)) { From 7bcb634ae123eecdab14bbb045bcc0620c267b46 Mon Sep 17 00:00:00 2001 From: twy <2301620162@qq.com> Date: Fri, 21 Jul 2023 17:35:15 +0800 Subject: [PATCH 20/48] add1 subtitle --- .../service/sm/impl/PhotoSpeakVideoServiceImpl.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java index 069b168..d5305ab 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java @@ -221,10 +221,10 @@ public class PhotoSpeakVideoServiceImpl implements PhotoSpeakVideoService { Integer voiceFrom = photoSpeakVideo.getVoiceFrom(); String voiceMaterialUrl = photoSpeakVideo.getVoiceMaterialUrl(); - if (photoSpeakVideo.getSubtitleEnabled()==1){ - //开启字幕 查询字幕列表 - // param.setSubtitle_params(photoSpeakVideo.getSubtitleParams()); - } +// if (photoSpeakVideo.getSubtitleEnabled()==1){ +// //开启字幕 查询字幕列表 +// // param.setSubtitle_params(photoSpeakVideo.getSubtitleParams()); +// } if (EnumVoiceFrom.FROM_MOULD.getCode().equals(voiceFrom)) { param.setGen_txt(photoSpeakVideo.getPaperwork().replaceAll(str, "[*]")); From 2b586fd50d4d0220d443cb0ea81fdc9dcaaf61ff Mon Sep 17 00:00:00 2001 From: twy <2301620162@qq.com> Date: Fri, 21 Jul 2023 17:45:55 +0800 Subject: [PATCH 21/48] add2 subtitle test --- .../com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java index d5305ab..b861c6b 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java @@ -221,6 +221,7 @@ public class PhotoSpeakVideoServiceImpl implements PhotoSpeakVideoService { Integer voiceFrom = photoSpeakVideo.getVoiceFrom(); String voiceMaterialUrl = photoSpeakVideo.getVoiceMaterialUrl(); + param.setSubtitle_params(photoSpeakVideo.getSubtitleEnabled()==1?photoSpeakVideo.getSubtitleParams(): null); // if (photoSpeakVideo.getSubtitleEnabled()==1){ // //开启字幕 查询字幕列表 // // param.setSubtitle_params(photoSpeakVideo.getSubtitleParams()); From 4b4dee886fc9459b9ece5f4140403e742683cbc1 Mon Sep 17 00:00:00 2001 From: twy <2301620162@qq.com> Date: Fri, 21 Jul 2023 17:54:07 +0800 Subject: [PATCH 22/48] no subtitle --- .../iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java index b861c6b..334a9fc 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java @@ -221,7 +221,7 @@ public class PhotoSpeakVideoServiceImpl implements PhotoSpeakVideoService { Integer voiceFrom = photoSpeakVideo.getVoiceFrom(); String voiceMaterialUrl = photoSpeakVideo.getVoiceMaterialUrl(); - param.setSubtitle_params(photoSpeakVideo.getSubtitleEnabled()==1?photoSpeakVideo.getSubtitleParams(): null); +// param.setSubtitle_params(photoSpeakVideo.getSubtitleEnabled()==1?photoSpeakVideo.getSubtitleParams(): null); // if (photoSpeakVideo.getSubtitleEnabled()==1){ // //开启字幕 查询字幕列表 // // param.setSubtitle_params(photoSpeakVideo.getSubtitleParams()); From 3b8e4af4e83e86a494f47a971d7c627cc0ee3b9d Mon Sep 17 00:00:00 2001 From: twy <2301620162@qq.com> Date: Mon, 24 Jul 2023 10:03:45 +0800 Subject: [PATCH 23/48] 0subtitle --- .../sm/impl/PhotoSpeakVideoServiceImpl.java | 48 +++++++++++++++---- .../com/iformall/sm/AiPhotoSpeakParam.java | 13 +++-- 2 files changed, 48 insertions(+), 13 deletions(-) diff --git a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java index 334a9fc..54918b8 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java @@ -32,10 +32,7 @@ import org.springframework.util.CollectionUtils; import org.springframework.util.ObjectUtils; import javax.transaction.xa.XAException; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; +import java.util.*; import java.util.concurrent.Future; import java.util.concurrent.atomic.AtomicInteger; @@ -221,11 +218,44 @@ public class PhotoSpeakVideoServiceImpl implements PhotoSpeakVideoService { Integer voiceFrom = photoSpeakVideo.getVoiceFrom(); String voiceMaterialUrl = photoSpeakVideo.getVoiceMaterialUrl(); -// param.setSubtitle_params(photoSpeakVideo.getSubtitleEnabled()==1?photoSpeakVideo.getSubtitleParams(): null); -// if (photoSpeakVideo.getSubtitleEnabled()==1){ -// //开启字幕 查询字幕列表 -// // param.setSubtitle_params(photoSpeakVideo.getSubtitleParams()); -// } + + if (photoSpeakVideo.getSubtitleEnabled()==1){ +// 开启字幕 查询字幕列表 + Map subtitle = new HashMap(); + Map params = new HashMap(); + + String getSubtitleParams = photoSpeakVideo.getSubtitleParams(); + String[] getparams = getSubtitleParams.split(","); + Map map = new HashMap(); + for (String s : getparams) { + String[] kv = s.split(":"); + map.put(kv[0],kv[1]); + } + params.put("Fontname",(map.get("Fontname")==null?"宋体":map.get("Fontname"))); + params.put("Fontsize",(map.get("Fontsize")==null? 25:map.get("Fontsize"))); + params.put("PrimaryColour",(map.get("PrimaryColour")==null?"&Hffffff":map.get("PrimaryColour"))); + params.put("SecondaryColour",(map.get("SecondaryColour")==null?"BBGGRR":map.get("SecondaryColour"))); + params.put("OutlineColour",(map.get("OutlineColour")==null?"BBGGRR":map.get("OutlineColour"))); + params.put("BackColour",(map.get("BackColour")==null?"&H0000ff":map.get("BackColour"))); + params.put("Bold",(map.get("Bold")==null? -1:map.get("Bold"))); + params.put("Italic",(map.get("Italic")==null? 0:map.get("Italic"))); + params.put("Underline",(map.get("Underline")==null? 0:map.get("Underline"))); + params.put("Strikeout",(map.get("Strikeout")==null? 0:map.get("Strikeout"))); + params.put("ScaleX",(map.get("ScaleX")==null? 100:map.get("ScaleX"))); + params.put("ScaleY",(map.get("ScaleY")==null? 100:map.get("ScaleY"))); + params.put("Spacing",(map.get("Spacing")==null? 0:map.get("Spacing"))); + params.put("Angle",(map.get("Angle")==null? 15:map.get("Angle"))); + params.put("BorderStyle",(map.get("BorderStyle")==null?"1":map.get("BorderStyle"))); + params.put("Outline",(map.get("Outline")==null? 20:map.get("Outline"))); + params.put("Shadow",(map.get("Shadow")==null? 12:map.get("Shadow"))); + params.put("Alignment",(map.get("Alignment")==null? 1:map.get("Alignment"))); + params.put("MarginL",(map.get("MarginL")==null? 100:map.get("MarginL"))); + params.put("MarginR",(map.get("MarginR")==null? 100:map.get("MarginR"))); + params.put("MarginV",(map.get("MarginV")==null? 100:map.get("MarginV"))); + subtitle.put("enabled",1); + subtitle.put("params",params); + param.setSubtitle_params(subtitle); + } if (EnumVoiceFrom.FROM_MOULD.getCode().equals(voiceFrom)) { param.setGen_txt(photoSpeakVideo.getPaperwork().replaceAll(str, "[*]")); diff --git a/suimangService/src/main/java/com/iformall/sm/AiPhotoSpeakParam.java b/suimangService/src/main/java/com/iformall/sm/AiPhotoSpeakParam.java index 13146bc..73cf552 100644 --- a/suimangService/src/main/java/com/iformall/sm/AiPhotoSpeakParam.java +++ b/suimangService/src/main/java/com/iformall/sm/AiPhotoSpeakParam.java @@ -3,6 +3,9 @@ package com.iformall.sm; import io.swagger.models.auth.In; import lombok.Data; +import java.util.HashMap; +import java.util.Map; + @Data public class AiPhotoSpeakParam { @@ -26,7 +29,7 @@ public class AiPhotoSpeakParam { private String img; private Long task_id; private String callback_url; - private String subtitle_params; + private Map subtitle_params = new HashMap<>(); public String neglectImgString() { @@ -37,10 +40,12 @@ public class AiPhotoSpeakParam { str.append("\"voice_style\":").append("\"").append(voice_style).append("\","); str.append("\"gender\":").append("\"").append(gender).append("\","); str.append("\"url\":").append("\"").append(url).append("\","); - str.append("\"img\":").append("\"").append(img); - str.append("\"task_id\":").append("\"").append(task_id); - str.append("\"callback_url\":").append("\"").append(callback_url).append("\"}"); + str.append("\"img\":").append("\"").append(img).append("\","); + str.append("\"task_id\":").append("\"").append(task_id).append("\","); + str.append("\"callback_url\":").append("\"").append(callback_url).append("\","); str.append("\"subtitle_params\":").append("\"").append(subtitle_params).append("\"}"); return str.toString(); } + + } From 3b2a2560fbcd61ecf373a25a0cc82f14fd3d94b1 Mon Sep 17 00:00:00 2001 From: twy <2301620162@qq.com> Date: Mon, 24 Jul 2023 10:31:57 +0800 Subject: [PATCH 24/48] -1subtitle --- .../sm/impl/PhotoSpeakVideoServiceImpl.java | 68 +++++++++---------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java index 54918b8..fa73e2d 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java @@ -221,40 +221,40 @@ public class PhotoSpeakVideoServiceImpl implements PhotoSpeakVideoService { if (photoSpeakVideo.getSubtitleEnabled()==1){ // 开启字幕 查询字幕列表 - Map subtitle = new HashMap(); - Map params = new HashMap(); - - String getSubtitleParams = photoSpeakVideo.getSubtitleParams(); - String[] getparams = getSubtitleParams.split(","); - Map map = new HashMap(); - for (String s : getparams) { - String[] kv = s.split(":"); - map.put(kv[0],kv[1]); - } - params.put("Fontname",(map.get("Fontname")==null?"宋体":map.get("Fontname"))); - params.put("Fontsize",(map.get("Fontsize")==null? 25:map.get("Fontsize"))); - params.put("PrimaryColour",(map.get("PrimaryColour")==null?"&Hffffff":map.get("PrimaryColour"))); - params.put("SecondaryColour",(map.get("SecondaryColour")==null?"BBGGRR":map.get("SecondaryColour"))); - params.put("OutlineColour",(map.get("OutlineColour")==null?"BBGGRR":map.get("OutlineColour"))); - params.put("BackColour",(map.get("BackColour")==null?"&H0000ff":map.get("BackColour"))); - params.put("Bold",(map.get("Bold")==null? -1:map.get("Bold"))); - params.put("Italic",(map.get("Italic")==null? 0:map.get("Italic"))); - params.put("Underline",(map.get("Underline")==null? 0:map.get("Underline"))); - params.put("Strikeout",(map.get("Strikeout")==null? 0:map.get("Strikeout"))); - params.put("ScaleX",(map.get("ScaleX")==null? 100:map.get("ScaleX"))); - params.put("ScaleY",(map.get("ScaleY")==null? 100:map.get("ScaleY"))); - params.put("Spacing",(map.get("Spacing")==null? 0:map.get("Spacing"))); - params.put("Angle",(map.get("Angle")==null? 15:map.get("Angle"))); - params.put("BorderStyle",(map.get("BorderStyle")==null?"1":map.get("BorderStyle"))); - params.put("Outline",(map.get("Outline")==null? 20:map.get("Outline"))); - params.put("Shadow",(map.get("Shadow")==null? 12:map.get("Shadow"))); - params.put("Alignment",(map.get("Alignment")==null? 1:map.get("Alignment"))); - params.put("MarginL",(map.get("MarginL")==null? 100:map.get("MarginL"))); - params.put("MarginR",(map.get("MarginR")==null? 100:map.get("MarginR"))); - params.put("MarginV",(map.get("MarginV")==null? 100:map.get("MarginV"))); - subtitle.put("enabled",1); - subtitle.put("params",params); - param.setSubtitle_params(subtitle); +// Map subtitle = new HashMap(); +// Map params = new HashMap(); +// +// String getSubtitleParams = photoSpeakVideo.getSubtitleParams(); +// String[] getparams = getSubtitleParams.split(","); +// Map map = new HashMap(); +// for (String s : getparams) { +// String[] kv = s.split(":"); +// map.put(kv[0],kv[1]); +// } +// params.put("Fontname",(map.get("Fontname")==null?"宋体":map.get("Fontname"))); +// params.put("Fontsize",(map.get("Fontsize")==null? 25:map.get("Fontsize"))); +// params.put("PrimaryColour",(map.get("PrimaryColour")==null?"&Hffffff":map.get("PrimaryColour"))); +// params.put("SecondaryColour",(map.get("SecondaryColour")==null?"BBGGRR":map.get("SecondaryColour"))); +// params.put("OutlineColour",(map.get("OutlineColour")==null?"BBGGRR":map.get("OutlineColour"))); +// params.put("BackColour",(map.get("BackColour")==null?"&H0000ff":map.get("BackColour"))); +// params.put("Bold",(map.get("Bold")==null? -1:map.get("Bold"))); +// params.put("Italic",(map.get("Italic")==null? 0:map.get("Italic"))); +// params.put("Underline",(map.get("Underline")==null? 0:map.get("Underline"))); +// params.put("Strikeout",(map.get("Strikeout")==null? 0:map.get("Strikeout"))); +// params.put("ScaleX",(map.get("ScaleX")==null? 100:map.get("ScaleX"))); +// params.put("ScaleY",(map.get("ScaleY")==null? 100:map.get("ScaleY"))); +// params.put("Spacing",(map.get("Spacing")==null? 0:map.get("Spacing"))); +// params.put("Angle",(map.get("Angle")==null? 15:map.get("Angle"))); +// params.put("BorderStyle",(map.get("BorderStyle")==null?"1":map.get("BorderStyle"))); +// params.put("Outline",(map.get("Outline")==null? 20:map.get("Outline"))); +// params.put("Shadow",(map.get("Shadow")==null? 12:map.get("Shadow"))); +// params.put("Alignment",(map.get("Alignment")==null? 1:map.get("Alignment"))); +// params.put("MarginL",(map.get("MarginL")==null? 100:map.get("MarginL"))); +// params.put("MarginR",(map.get("MarginR")==null? 100:map.get("MarginR"))); +// params.put("MarginV",(map.get("MarginV")==null? 100:map.get("MarginV"))); +// subtitle.put("enabled",1); +// subtitle.put("params",params); +// param.setSubtitle_params(subtitle); } if (EnumVoiceFrom.FROM_MOULD.getCode().equals(voiceFrom)) { From f8aa53df289ec884adc3290c2451eb3ae2189cd4 Mon Sep 17 00:00:00 2001 From: twy <2301620162@qq.com> Date: Mon, 24 Jul 2023 11:03:42 +0800 Subject: [PATCH 25/48] 0subtitle --- .../sm/impl/PhotoSpeakVideoServiceImpl.java | 72 +++++++++---------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java index fa73e2d..19538a7 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java @@ -218,43 +218,43 @@ public class PhotoSpeakVideoServiceImpl implements PhotoSpeakVideoService { Integer voiceFrom = photoSpeakVideo.getVoiceFrom(); String voiceMaterialUrl = photoSpeakVideo.getVoiceMaterialUrl(); - - if (photoSpeakVideo.getSubtitleEnabled()==1){ + List videoMapperList = photoSpeakVideoMapper.findList(speakVideoUpd); + for (PhotoSpeakVideo speakVideo : videoMapperList) { + if (speakVideo.getSubtitleEnabled()==1){ // 开启字幕 查询字幕列表 -// Map subtitle = new HashMap(); -// Map params = new HashMap(); -// -// String getSubtitleParams = photoSpeakVideo.getSubtitleParams(); -// String[] getparams = getSubtitleParams.split(","); -// Map map = new HashMap(); -// for (String s : getparams) { -// String[] kv = s.split(":"); -// map.put(kv[0],kv[1]); -// } -// params.put("Fontname",(map.get("Fontname")==null?"宋体":map.get("Fontname"))); -// params.put("Fontsize",(map.get("Fontsize")==null? 25:map.get("Fontsize"))); -// params.put("PrimaryColour",(map.get("PrimaryColour")==null?"&Hffffff":map.get("PrimaryColour"))); -// params.put("SecondaryColour",(map.get("SecondaryColour")==null?"BBGGRR":map.get("SecondaryColour"))); -// params.put("OutlineColour",(map.get("OutlineColour")==null?"BBGGRR":map.get("OutlineColour"))); -// params.put("BackColour",(map.get("BackColour")==null?"&H0000ff":map.get("BackColour"))); -// params.put("Bold",(map.get("Bold")==null? -1:map.get("Bold"))); -// params.put("Italic",(map.get("Italic")==null? 0:map.get("Italic"))); -// params.put("Underline",(map.get("Underline")==null? 0:map.get("Underline"))); -// params.put("Strikeout",(map.get("Strikeout")==null? 0:map.get("Strikeout"))); -// params.put("ScaleX",(map.get("ScaleX")==null? 100:map.get("ScaleX"))); -// params.put("ScaleY",(map.get("ScaleY")==null? 100:map.get("ScaleY"))); -// params.put("Spacing",(map.get("Spacing")==null? 0:map.get("Spacing"))); -// params.put("Angle",(map.get("Angle")==null? 15:map.get("Angle"))); -// params.put("BorderStyle",(map.get("BorderStyle")==null?"1":map.get("BorderStyle"))); -// params.put("Outline",(map.get("Outline")==null? 20:map.get("Outline"))); -// params.put("Shadow",(map.get("Shadow")==null? 12:map.get("Shadow"))); -// params.put("Alignment",(map.get("Alignment")==null? 1:map.get("Alignment"))); -// params.put("MarginL",(map.get("MarginL")==null? 100:map.get("MarginL"))); -// params.put("MarginR",(map.get("MarginR")==null? 100:map.get("MarginR"))); -// params.put("MarginV",(map.get("MarginV")==null? 100:map.get("MarginV"))); -// subtitle.put("enabled",1); -// subtitle.put("params",params); -// param.setSubtitle_params(subtitle); + String[] getparams = speakVideo.getSubtitleParams().split(","); + Map subtitle = new HashMap(); + Map params = new HashMap(); + Map map = new HashMap(); + for (String s : getparams) { + String[] kv = s.split(":"); + map.put(kv[0],kv[1]); + } + params.put("Fontname",(map.get("Fontname")==null?"宋体":map.get("Fontname"))); + params.put("Fontsize",(map.get("Fontsize")==null? 25:map.get("Fontsize"))); + params.put("PrimaryColour",(map.get("PrimaryColour")==null?"&Hffffff":map.get("PrimaryColour"))); + params.put("SecondaryColour",(map.get("SecondaryColour")==null?"BBGGRR":map.get("SecondaryColour"))); + params.put("OutlineColour",(map.get("OutlineColour")==null?"BBGGRR":map.get("OutlineColour"))); + params.put("BackColour",(map.get("BackColour")==null?"&H0000ff":map.get("BackColour"))); + params.put("Bold",(map.get("Bold")==null? -1:map.get("Bold"))); + params.put("Italic",(map.get("Italic")==null? 0:map.get("Italic"))); + params.put("Underline",(map.get("Underline")==null? 0:map.get("Underline"))); + params.put("Strikeout",(map.get("Strikeout")==null? 0:map.get("Strikeout"))); + params.put("ScaleX",(map.get("ScaleX")==null? 100:map.get("ScaleX"))); + params.put("ScaleY",(map.get("ScaleY")==null? 100:map.get("ScaleY"))); + params.put("Spacing",(map.get("Spacing")==null? 0:map.get("Spacing"))); + params.put("Angle",(map.get("Angle")==null? 15:map.get("Angle"))); + params.put("BorderStyle",(map.get("BorderStyle")==null?"1":map.get("BorderStyle"))); + params.put("Outline",(map.get("Outline")==null? 20:map.get("Outline"))); + params.put("Shadow",(map.get("Shadow")==null? 12:map.get("Shadow"))); + params.put("Alignment",(map.get("Alignment")==null? 1:map.get("Alignment"))); + params.put("MarginL",(map.get("MarginL")==null? 100:map.get("MarginL"))); + params.put("MarginR",(map.get("MarginR")==null? 100:map.get("MarginR"))); + params.put("MarginV",(map.get("MarginV")==null? 100:map.get("MarginV"))); + subtitle.put("enabled",1); + subtitle.put("params",params); + param.setSubtitle_params(subtitle); + } } if (EnumVoiceFrom.FROM_MOULD.getCode().equals(voiceFrom)) { From 964aa3b0a5bd1a84fd1856b0426da4b2dd1f82e5 Mon Sep 17 00:00:00 2001 From: twy <2301620162@qq.com> Date: Mon, 24 Jul 2023 11:24:19 +0800 Subject: [PATCH 26/48] 1subtitle --- .../iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java index 19538a7..0e325f3 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java @@ -230,6 +230,7 @@ public class PhotoSpeakVideoServiceImpl implements PhotoSpeakVideoService { String[] kv = s.split(":"); map.put(kv[0],kv[1]); } + params.put("Fontname",(map.get("Fontname")==null?"宋体":map.get("Fontname"))); params.put("Fontsize",(map.get("Fontsize")==null? 25:map.get("Fontsize"))); params.put("PrimaryColour",(map.get("PrimaryColour")==null?"&Hffffff":map.get("PrimaryColour"))); @@ -252,6 +253,7 @@ public class PhotoSpeakVideoServiceImpl implements PhotoSpeakVideoService { params.put("MarginR",(map.get("MarginR")==null? 100:map.get("MarginR"))); params.put("MarginV",(map.get("MarginV")==null? 100:map.get("MarginV"))); subtitle.put("enabled",1); + subtitle.put("text",speakVideo.getPaperwork()); subtitle.put("params",params); param.setSubtitle_params(subtitle); } From 018869ba335c8fe7a50791062c1a4543e5389982 Mon Sep 17 00:00:00 2001 From: twy <2301620162@qq.com> Date: Mon, 24 Jul 2023 14:27:22 +0800 Subject: [PATCH 27/48] 2subtitle --- .../sm/impl/PhotoSpeakVideoServiceImpl.java | 111 ++++++++++++------ 1 file changed, 73 insertions(+), 38 deletions(-) diff --git a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java index 0e325f3..a172a57 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import com.google.gson.JsonObject; import com.iformall.common.ErrorCode; import com.iformall.common.IdWorker; import com.iformall.common.ResultData; @@ -18,6 +19,7 @@ import com.iformall.utils.Base64Util; import com.iformall.utils.DateUtils; import com.iformall.video.VideoFactory; import com.iformall.video.entity.VideUploadResult; +import jdk.nashorn.internal.ir.annotations.Ignore; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -218,46 +220,79 @@ public class PhotoSpeakVideoServiceImpl implements PhotoSpeakVideoService { Integer voiceFrom = photoSpeakVideo.getVoiceFrom(); String voiceMaterialUrl = photoSpeakVideo.getVoiceMaterialUrl(); - List videoMapperList = photoSpeakVideoMapper.findList(speakVideoUpd); - for (PhotoSpeakVideo speakVideo : videoMapperList) { - if (speakVideo.getSubtitleEnabled()==1){ -// 开启字幕 查询字幕列表 - String[] getparams = speakVideo.getSubtitleParams().split(","); - Map subtitle = new HashMap(); - Map params = new HashMap(); - Map map = new HashMap(); - for (String s : getparams) { - String[] kv = s.split(":"); - map.put(kv[0],kv[1]); - } + if (photoSpeakVideo.getSubtitleEnabled()==1){ +// //开启字幕 查询字幕列表 + Map reSubtitle = new HashMap(); + Map params = new HashMap(); + JSONObject subtitle = JSON.parseObject(photoSpeakVideo.getSubtitleParams()); + params.put("Fontname",(subtitle.get("Fontname")==null?"宋体":subtitle.get("Fontname"))); + params.put("Fontsize",(subtitle.get("Fontsize")==null? 25:subtitle.get("Fontsize"))); + params.put("PrimaryColour",(subtitle.get("PrimaryColour")==null?"&Hffffff":subtitle.get("PrimaryColour"))); + params.put("SecondaryColour",(subtitle.get("SecondaryColour")==null?"BBGGRR":subtitle.get("SecondaryColour"))); + params.put("OutlineColour",(subtitle.get("OutlineColour")==null?"BBGGRR":subtitle.get("OutlineColour"))); + params.put("BackColour",(subtitle.get("BackColour")==null?"&H0000ff":subtitle.get("BackColour"))); + params.put("Bold",(subtitle.get("Bold")==null? -1:subtitle.get("Bold"))); + params.put("Italic",(subtitle.get("Italic")==null? 0:subtitle.get("Italic"))); + params.put("Underline",(subtitle.get("Underline")==null? 0:subtitle.get("Underline"))); + params.put("Strikeout",(subtitle.get("Strikeout")==null? 0:subtitle.get("Strikeout"))); + params.put("ScaleX",(subtitle.get("ScaleX")==null? 100:subtitle.get("ScaleX"))); + params.put("ScaleY",(subtitle.get("ScaleY")==null? 100:subtitle.get("ScaleY"))); + params.put("Spacing",(subtitle.get("Spacing")==null? 0:subtitle.get("Spacing"))); + params.put("Angle",(subtitle.get("Angle")==null? 15:subtitle.get("Angle"))); + params.put("BorderStyle",(subtitle.get("BorderStyle")==null?"1":subtitle.get("BorderStyle"))); + params.put("Outline",(subtitle.get("Outline")==null? 20:subtitle.get("Outline"))); + params.put("Shadow",(subtitle.get("Shadow")==null? 12:subtitle.get("Shadow"))); + params.put("Alignment",(subtitle.get("Alignment")==null? 1:subtitle.get("Alignment"))); + params.put("MarginL",(subtitle.get("MarginL")==null? 100:subtitle.get("MarginL"))); + params.put("MarginR",(subtitle.get("MarginR")==null? 100:subtitle.get("MarginR"))); + params.put("MarginV",(subtitle.get("MarginV")==null? 100:subtitle.get("MarginV"))); + reSubtitle.put("enabled",1); + reSubtitle.put("text",photoSpeakVideo.getPaperwork()); + reSubtitle.put("params",params); + param.setSubtitle_params(reSubtitle); - params.put("Fontname",(map.get("Fontname")==null?"宋体":map.get("Fontname"))); - params.put("Fontsize",(map.get("Fontsize")==null? 25:map.get("Fontsize"))); - params.put("PrimaryColour",(map.get("PrimaryColour")==null?"&Hffffff":map.get("PrimaryColour"))); - params.put("SecondaryColour",(map.get("SecondaryColour")==null?"BBGGRR":map.get("SecondaryColour"))); - params.put("OutlineColour",(map.get("OutlineColour")==null?"BBGGRR":map.get("OutlineColour"))); - params.put("BackColour",(map.get("BackColour")==null?"&H0000ff":map.get("BackColour"))); - params.put("Bold",(map.get("Bold")==null? -1:map.get("Bold"))); - params.put("Italic",(map.get("Italic")==null? 0:map.get("Italic"))); - params.put("Underline",(map.get("Underline")==null? 0:map.get("Underline"))); - params.put("Strikeout",(map.get("Strikeout")==null? 0:map.get("Strikeout"))); - params.put("ScaleX",(map.get("ScaleX")==null? 100:map.get("ScaleX"))); - params.put("ScaleY",(map.get("ScaleY")==null? 100:map.get("ScaleY"))); - params.put("Spacing",(map.get("Spacing")==null? 0:map.get("Spacing"))); - params.put("Angle",(map.get("Angle")==null? 15:map.get("Angle"))); - params.put("BorderStyle",(map.get("BorderStyle")==null?"1":map.get("BorderStyle"))); - params.put("Outline",(map.get("Outline")==null? 20:map.get("Outline"))); - params.put("Shadow",(map.get("Shadow")==null? 12:map.get("Shadow"))); - params.put("Alignment",(map.get("Alignment")==null? 1:map.get("Alignment"))); - params.put("MarginL",(map.get("MarginL")==null? 100:map.get("MarginL"))); - params.put("MarginR",(map.get("MarginR")==null? 100:map.get("MarginR"))); - params.put("MarginV",(map.get("MarginV")==null? 100:map.get("MarginV"))); - subtitle.put("enabled",1); - subtitle.put("text",speakVideo.getPaperwork()); - subtitle.put("params",params); - param.setSubtitle_params(subtitle); - } } +// List videoMapperList = photoSpeakVideoMapper.findList(speakVideoUpd); +// for (PhotoSpeakVideo speakVideo : videoMapperList) { +// if (speakVideo.getSubtitleEnabled()==1){ +//// 开启字幕 查询字幕列表 +// String[] getparams = speakVideo.getSubtitleParams().split(","); +// Map subtitle = new HashMap(); +// Map params = new HashMap(); +// Map map = new HashMap(); +// for (String s : getparams) { +// String[] kv = s.split(":"); +// map.put(kv[0],kv[1]); +// } +// +// params.put("Fontname",(map.get("Fontname")==null?"宋体":map.get("Fontname"))); +// params.put("Fontsize",(map.get("Fontsize")==null? 25:map.get("Fontsize"))); +// params.put("PrimaryColour",(map.get("PrimaryColour")==null?"&Hffffff":map.get("PrimaryColour"))); +// params.put("SecondaryColour",(map.get("SecondaryColour")==null?"BBGGRR":map.get("SecondaryColour"))); +// params.put("OutlineColour",(map.get("OutlineColour")==null?"BBGGRR":map.get("OutlineColour"))); +// params.put("BackColour",(map.get("BackColour")==null?"&H0000ff":map.get("BackColour"))); +// params.put("Bold",(map.get("Bold")==null? -1:map.get("Bold"))); +// params.put("Italic",(map.get("Italic")==null? 0:map.get("Italic"))); +// params.put("Underline",(map.get("Underline")==null? 0:map.get("Underline"))); +// params.put("Strikeout",(map.get("Strikeout")==null? 0:map.get("Strikeout"))); +// params.put("ScaleX",(map.get("ScaleX")==null? 100:map.get("ScaleX"))); +// params.put("ScaleY",(map.get("ScaleY")==null? 100:map.get("ScaleY"))); +// params.put("Spacing",(map.get("Spacing")==null? 0:map.get("Spacing"))); +// params.put("Angle",(map.get("Angle")==null? 15:map.get("Angle"))); +// params.put("BorderStyle",(map.get("BorderStyle")==null?"1":map.get("BorderStyle"))); +// params.put("Outline",(map.get("Outline")==null? 20:map.get("Outline"))); +// params.put("Shadow",(map.get("Shadow")==null? 12:map.get("Shadow"))); +// params.put("Alignment",(map.get("Alignment")==null? 1:map.get("Alignment"))); +// params.put("MarginL",(map.get("MarginL")==null? 100:map.get("MarginL"))); +// params.put("MarginR",(map.get("MarginR")==null? 100:map.get("MarginR"))); +// params.put("MarginV",(map.get("MarginV")==null? 100:map.get("MarginV"))); +// subtitle.put("enabled",1); +// subtitle.put("text",speakVideo.getPaperwork()); +// subtitle.put("params",params); +// param.setSubtitle_params(subtitle); +// } +// } + if (EnumVoiceFrom.FROM_MOULD.getCode().equals(voiceFrom)) { param.setGen_txt(photoSpeakVideo.getPaperwork().replaceAll(str, "[*]")); From 0e6468a63304331bb704ad0b727dc9896a5b637e Mon Sep 17 00:00:00 2001 From: twy <2301620162@qq.com> Date: Mon, 24 Jul 2023 14:40:20 +0800 Subject: [PATCH 28/48] 3subtitle --- .../domain/po/sm/PhotoSpeakVideo.java | 6 +- .../sm/impl/PhotoSpeakVideoServiceImpl.java | 64 ++++++++++--------- 2 files changed, 38 insertions(+), 32 deletions(-) diff --git a/suimangService/src/main/java/com/iformall/domain/po/sm/PhotoSpeakVideo.java b/suimangService/src/main/java/com/iformall/domain/po/sm/PhotoSpeakVideo.java index bf4360a..d835c53 100644 --- a/suimangService/src/main/java/com/iformall/domain/po/sm/PhotoSpeakVideo.java +++ b/suimangService/src/main/java/com/iformall/domain/po/sm/PhotoSpeakVideo.java @@ -13,7 +13,9 @@ import lombok.ToString; import org.apache.commons.lang3.StringUtils; import java.util.Date; +import java.util.HashMap; import java.util.List; +import java.util.Map; @TableName(value = "photo_speak_video") @Data @@ -56,6 +58,8 @@ public class PhotoSpeakVideo extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value="字幕参数",name="subtitleParams") private String subtitleParams; + @io.swagger.annotations.ApiModelProperty(value="字幕参数",name="subtitleParams") + private Map reSubtitleParams = new HashMap<>(); @io.swagger.annotations.ApiModelProperty(value="EnumVoiceFrom 声音来源",name="voiceFrom") private Integer voiceFrom; @@ -153,5 +157,5 @@ public class PhotoSpeakVideo extends TenantEntity { private Integer videoHyStatus; private Integer isHy;//是否超分(1、是,0、否) - + } diff --git a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java index a172a57..95d5a24 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java @@ -220,38 +220,7 @@ public class PhotoSpeakVideoServiceImpl implements PhotoSpeakVideoService { Integer voiceFrom = photoSpeakVideo.getVoiceFrom(); String voiceMaterialUrl = photoSpeakVideo.getVoiceMaterialUrl(); - if (photoSpeakVideo.getSubtitleEnabled()==1){ -// //开启字幕 查询字幕列表 - Map reSubtitle = new HashMap(); - Map params = new HashMap(); - JSONObject subtitle = JSON.parseObject(photoSpeakVideo.getSubtitleParams()); - params.put("Fontname",(subtitle.get("Fontname")==null?"宋体":subtitle.get("Fontname"))); - params.put("Fontsize",(subtitle.get("Fontsize")==null? 25:subtitle.get("Fontsize"))); - params.put("PrimaryColour",(subtitle.get("PrimaryColour")==null?"&Hffffff":subtitle.get("PrimaryColour"))); - params.put("SecondaryColour",(subtitle.get("SecondaryColour")==null?"BBGGRR":subtitle.get("SecondaryColour"))); - params.put("OutlineColour",(subtitle.get("OutlineColour")==null?"BBGGRR":subtitle.get("OutlineColour"))); - params.put("BackColour",(subtitle.get("BackColour")==null?"&H0000ff":subtitle.get("BackColour"))); - params.put("Bold",(subtitle.get("Bold")==null? -1:subtitle.get("Bold"))); - params.put("Italic",(subtitle.get("Italic")==null? 0:subtitle.get("Italic"))); - params.put("Underline",(subtitle.get("Underline")==null? 0:subtitle.get("Underline"))); - params.put("Strikeout",(subtitle.get("Strikeout")==null? 0:subtitle.get("Strikeout"))); - params.put("ScaleX",(subtitle.get("ScaleX")==null? 100:subtitle.get("ScaleX"))); - params.put("ScaleY",(subtitle.get("ScaleY")==null? 100:subtitle.get("ScaleY"))); - params.put("Spacing",(subtitle.get("Spacing")==null? 0:subtitle.get("Spacing"))); - params.put("Angle",(subtitle.get("Angle")==null? 15:subtitle.get("Angle"))); - params.put("BorderStyle",(subtitle.get("BorderStyle")==null?"1":subtitle.get("BorderStyle"))); - params.put("Outline",(subtitle.get("Outline")==null? 20:subtitle.get("Outline"))); - params.put("Shadow",(subtitle.get("Shadow")==null? 12:subtitle.get("Shadow"))); - params.put("Alignment",(subtitle.get("Alignment")==null? 1:subtitle.get("Alignment"))); - params.put("MarginL",(subtitle.get("MarginL")==null? 100:subtitle.get("MarginL"))); - params.put("MarginR",(subtitle.get("MarginR")==null? 100:subtitle.get("MarginR"))); - params.put("MarginV",(subtitle.get("MarginV")==null? 100:subtitle.get("MarginV"))); - reSubtitle.put("enabled",1); - reSubtitle.put("text",photoSpeakVideo.getPaperwork()); - reSubtitle.put("params",params); - param.setSubtitle_params(reSubtitle); - } // List videoMapperList = photoSpeakVideoMapper.findList(speakVideoUpd); // for (PhotoSpeakVideo speakVideo : videoMapperList) { // if (speakVideo.getSubtitleEnabled()==1){ @@ -355,6 +324,39 @@ public class PhotoSpeakVideoServiceImpl implements PhotoSpeakVideoService { videoUpd.setVideoId(result.getVideoId()); videoUpd.setVideoStatus(EnumVideoStatus.upload_ing.getCode()); videoUpd.setUpdateDate(new Date()); + if (mouldVideo.getSubtitleEnabled()==1){ +// //开启字幕 查询字幕列表 + Map reSubtitle = new HashMap(); + Map params = new HashMap(); + JSONObject subtitle = JSON.parseObject(mouldVideo.getSubtitleParams()); + params.put("Fontname",(subtitle.get("Fontname")==null?"宋体":subtitle.get("Fontname"))); + params.put("Fontsize",(subtitle.get("Fontsize")==null? 25:subtitle.get("Fontsize"))); + params.put("PrimaryColour",(subtitle.get("PrimaryColour")==null?"&Hffffff":subtitle.get("PrimaryColour"))); + params.put("SecondaryColour",(subtitle.get("SecondaryColour")==null?"BBGGRR":subtitle.get("SecondaryColour"))); + params.put("OutlineColour",(subtitle.get("OutlineColour")==null?"BBGGRR":subtitle.get("OutlineColour"))); + params.put("BackColour",(subtitle.get("BackColour")==null?"&H0000ff":subtitle.get("BackColour"))); + params.put("Bold",(subtitle.get("Bold")==null? -1:subtitle.get("Bold"))); + params.put("Italic",(subtitle.get("Italic")==null? 0:subtitle.get("Italic"))); + params.put("Underline",(subtitle.get("Underline")==null? 0:subtitle.get("Underline"))); + params.put("Strikeout",(subtitle.get("Strikeout")==null? 0:subtitle.get("Strikeout"))); + params.put("ScaleX",(subtitle.get("ScaleX")==null? 100:subtitle.get("ScaleX"))); + params.put("ScaleY",(subtitle.get("ScaleY")==null? 100:subtitle.get("ScaleY"))); + params.put("Spacing",(subtitle.get("Spacing")==null? 0:subtitle.get("Spacing"))); + params.put("Angle",(subtitle.get("Angle")==null? 15:subtitle.get("Angle"))); + params.put("BorderStyle",(subtitle.get("BorderStyle")==null?"1":subtitle.get("BorderStyle"))); + params.put("Outline",(subtitle.get("Outline")==null? 20:subtitle.get("Outline"))); + params.put("Shadow",(subtitle.get("Shadow")==null? 12:subtitle.get("Shadow"))); + params.put("Alignment",(subtitle.get("Alignment")==null? 1:subtitle.get("Alignment"))); + params.put("MarginL",(subtitle.get("MarginL")==null? 100:subtitle.get("MarginL"))); + params.put("MarginR",(subtitle.get("MarginR")==null? 100:subtitle.get("MarginR"))); + params.put("MarginV",(subtitle.get("MarginV")==null? 100:subtitle.get("MarginV"))); + reSubtitle.put("enabled",1); + reSubtitle.put("text",mouldVideo.getPaperwork()); + reSubtitle.put("params",params); + videoUpd.setReSubtitleParams(reSubtitle); + + } + this.saveOrUpdate(videoUpd); PhotoSpeakVideo videoUrlUpd = new PhotoSpeakVideo(); From 08774ec6a5a53e7240eeb17c4c980b29ae804e40 Mon Sep 17 00:00:00 2001 From: twy <2301620162@qq.com> Date: Mon, 24 Jul 2023 14:49:17 +0800 Subject: [PATCH 29/48] 3-1subtitle --- .../sm/impl/PhotoSpeakVideoServiceImpl.java | 65 ++++++++++--------- 1 file changed, 33 insertions(+), 32 deletions(-) diff --git a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java index 95d5a24..6570c5c 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java @@ -143,6 +143,39 @@ public class PhotoSpeakVideoServiceImpl implements PhotoSpeakVideoService { voiceMouldObject.put("personTypeStr","默认"); voiceMouldObject.put("speakType",0); voiceMouldObject.put("speakTypeStr","默认"); + + if (record.getSubtitleEnabled()==1){ +// //开启字幕 查询字幕列表 + Map reSubtitle = new HashMap(); + Map params = new HashMap(); + JSONObject subtitle = JSON.parseObject(record.getSubtitleParams()); + params.put("Fontname",(subtitle.get("Fontname")==null?"宋体":subtitle.get("Fontname"))); + params.put("Fontsize",(subtitle.get("Fontsize")==null? 25:subtitle.get("Fontsize"))); + params.put("PrimaryColour",(subtitle.get("PrimaryColour")==null?"&Hffffff":subtitle.get("PrimaryColour"))); + params.put("SecondaryColour",(subtitle.get("SecondaryColour")==null?"BBGGRR":subtitle.get("SecondaryColour"))); + params.put("OutlineColour",(subtitle.get("OutlineColour")==null?"BBGGRR":subtitle.get("OutlineColour"))); + params.put("BackColour",(subtitle.get("BackColour")==null?"&H0000ff":subtitle.get("BackColour"))); + params.put("Bold",(subtitle.get("Bold")==null? -1:subtitle.get("Bold"))); + params.put("Italic",(subtitle.get("Italic")==null? 0:subtitle.get("Italic"))); + params.put("Underline",(subtitle.get("Underline")==null? 0:subtitle.get("Underline"))); + params.put("Strikeout",(subtitle.get("Strikeout")==null? 0:subtitle.get("Strikeout"))); + params.put("ScaleX",(subtitle.get("ScaleX")==null? 100:subtitle.get("ScaleX"))); + params.put("ScaleY",(subtitle.get("ScaleY")==null? 100:subtitle.get("ScaleY"))); + params.put("Spacing",(subtitle.get("Spacing")==null? 0:subtitle.get("Spacing"))); + params.put("Angle",(subtitle.get("Angle")==null? 15:subtitle.get("Angle"))); + params.put("BorderStyle",(subtitle.get("BorderStyle")==null?"1":subtitle.get("BorderStyle"))); + params.put("Outline",(subtitle.get("Outline")==null? 20:subtitle.get("Outline"))); + params.put("Shadow",(subtitle.get("Shadow")==null? 12:subtitle.get("Shadow"))); + params.put("Alignment",(subtitle.get("Alignment")==null? 1:subtitle.get("Alignment"))); + params.put("MarginL",(subtitle.get("MarginL")==null? 100:subtitle.get("MarginL"))); + params.put("MarginR",(subtitle.get("MarginR")==null? 100:subtitle.get("MarginR"))); + params.put("MarginV",(subtitle.get("MarginV")==null? 100:subtitle.get("MarginV"))); + reSubtitle.put("enabled",1); + reSubtitle.put("text",record.getPaperwork()); + reSubtitle.put("params",params); + record.setReSubtitleParams(reSubtitle); + } + EnumSpeakType speakType = null; if(StringUtils.isNotBlank(record.getSpeakTypeStr())){ speakType = EnumSpeakType.getEnumByMsg(record.getSpeakTypeStr()); @@ -324,38 +357,6 @@ public class PhotoSpeakVideoServiceImpl implements PhotoSpeakVideoService { videoUpd.setVideoId(result.getVideoId()); videoUpd.setVideoStatus(EnumVideoStatus.upload_ing.getCode()); videoUpd.setUpdateDate(new Date()); - if (mouldVideo.getSubtitleEnabled()==1){ -// //开启字幕 查询字幕列表 - Map reSubtitle = new HashMap(); - Map params = new HashMap(); - JSONObject subtitle = JSON.parseObject(mouldVideo.getSubtitleParams()); - params.put("Fontname",(subtitle.get("Fontname")==null?"宋体":subtitle.get("Fontname"))); - params.put("Fontsize",(subtitle.get("Fontsize")==null? 25:subtitle.get("Fontsize"))); - params.put("PrimaryColour",(subtitle.get("PrimaryColour")==null?"&Hffffff":subtitle.get("PrimaryColour"))); - params.put("SecondaryColour",(subtitle.get("SecondaryColour")==null?"BBGGRR":subtitle.get("SecondaryColour"))); - params.put("OutlineColour",(subtitle.get("OutlineColour")==null?"BBGGRR":subtitle.get("OutlineColour"))); - params.put("BackColour",(subtitle.get("BackColour")==null?"&H0000ff":subtitle.get("BackColour"))); - params.put("Bold",(subtitle.get("Bold")==null? -1:subtitle.get("Bold"))); - params.put("Italic",(subtitle.get("Italic")==null? 0:subtitle.get("Italic"))); - params.put("Underline",(subtitle.get("Underline")==null? 0:subtitle.get("Underline"))); - params.put("Strikeout",(subtitle.get("Strikeout")==null? 0:subtitle.get("Strikeout"))); - params.put("ScaleX",(subtitle.get("ScaleX")==null? 100:subtitle.get("ScaleX"))); - params.put("ScaleY",(subtitle.get("ScaleY")==null? 100:subtitle.get("ScaleY"))); - params.put("Spacing",(subtitle.get("Spacing")==null? 0:subtitle.get("Spacing"))); - params.put("Angle",(subtitle.get("Angle")==null? 15:subtitle.get("Angle"))); - params.put("BorderStyle",(subtitle.get("BorderStyle")==null?"1":subtitle.get("BorderStyle"))); - params.put("Outline",(subtitle.get("Outline")==null? 20:subtitle.get("Outline"))); - params.put("Shadow",(subtitle.get("Shadow")==null? 12:subtitle.get("Shadow"))); - params.put("Alignment",(subtitle.get("Alignment")==null? 1:subtitle.get("Alignment"))); - params.put("MarginL",(subtitle.get("MarginL")==null? 100:subtitle.get("MarginL"))); - params.put("MarginR",(subtitle.get("MarginR")==null? 100:subtitle.get("MarginR"))); - params.put("MarginV",(subtitle.get("MarginV")==null? 100:subtitle.get("MarginV"))); - reSubtitle.put("enabled",1); - reSubtitle.put("text",mouldVideo.getPaperwork()); - reSubtitle.put("params",params); - videoUpd.setReSubtitleParams(reSubtitle); - - } this.saveOrUpdate(videoUpd); From f3cfeb0fead3dd2438db0763f12bd7dbf22e1709 Mon Sep 17 00:00:00 2001 From: twy <2301620162@qq.com> Date: Mon, 24 Jul 2023 14:56:14 +0800 Subject: [PATCH 30/48] 3-1subtitle --- .../main/java/com/iformall/domain/po/sm/PhotoSpeakVideo.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/suimangService/src/main/java/com/iformall/domain/po/sm/PhotoSpeakVideo.java b/suimangService/src/main/java/com/iformall/domain/po/sm/PhotoSpeakVideo.java index d835c53..636870e 100644 --- a/suimangService/src/main/java/com/iformall/domain/po/sm/PhotoSpeakVideo.java +++ b/suimangService/src/main/java/com/iformall/domain/po/sm/PhotoSpeakVideo.java @@ -58,7 +58,9 @@ public class PhotoSpeakVideo extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value="字幕参数",name="subtitleParams") private String subtitleParams; + @io.swagger.annotations.ApiModelProperty(value="字幕参数",name="subtitleParams") + @TableField(exist = false) private Map reSubtitleParams = new HashMap<>(); @io.swagger.annotations.ApiModelProperty(value="EnumVoiceFrom 声音来源",name="voiceFrom") From 32dbac50465a2429404071211d2ac42bcf8bebbc Mon Sep 17 00:00:00 2001 From: twy <2301620162@qq.com> Date: Mon, 24 Jul 2023 15:06:32 +0800 Subject: [PATCH 31/48] 3-1 no subtitle --- .../domain/po/sm/PhotoSpeakVideo.java | 6 -- .../sm/impl/PhotoSpeakVideoServiceImpl.java | 67 +++++++++---------- 2 files changed, 32 insertions(+), 41 deletions(-) diff --git a/suimangService/src/main/java/com/iformall/domain/po/sm/PhotoSpeakVideo.java b/suimangService/src/main/java/com/iformall/domain/po/sm/PhotoSpeakVideo.java index 636870e..38bff4c 100644 --- a/suimangService/src/main/java/com/iformall/domain/po/sm/PhotoSpeakVideo.java +++ b/suimangService/src/main/java/com/iformall/domain/po/sm/PhotoSpeakVideo.java @@ -13,9 +13,7 @@ import lombok.ToString; import org.apache.commons.lang3.StringUtils; import java.util.Date; -import java.util.HashMap; import java.util.List; -import java.util.Map; @TableName(value = "photo_speak_video") @Data @@ -59,10 +57,6 @@ public class PhotoSpeakVideo extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value="字幕参数",name="subtitleParams") private String subtitleParams; - @io.swagger.annotations.ApiModelProperty(value="字幕参数",name="subtitleParams") - @TableField(exist = false) - private Map reSubtitleParams = new HashMap<>(); - @io.swagger.annotations.ApiModelProperty(value="EnumVoiceFrom 声音来源",name="voiceFrom") private Integer voiceFrom; diff --git a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java index 6570c5c..fdf259f 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java @@ -143,39 +143,6 @@ public class PhotoSpeakVideoServiceImpl implements PhotoSpeakVideoService { voiceMouldObject.put("personTypeStr","默认"); voiceMouldObject.put("speakType",0); voiceMouldObject.put("speakTypeStr","默认"); - - if (record.getSubtitleEnabled()==1){ -// //开启字幕 查询字幕列表 - Map reSubtitle = new HashMap(); - Map params = new HashMap(); - JSONObject subtitle = JSON.parseObject(record.getSubtitleParams()); - params.put("Fontname",(subtitle.get("Fontname")==null?"宋体":subtitle.get("Fontname"))); - params.put("Fontsize",(subtitle.get("Fontsize")==null? 25:subtitle.get("Fontsize"))); - params.put("PrimaryColour",(subtitle.get("PrimaryColour")==null?"&Hffffff":subtitle.get("PrimaryColour"))); - params.put("SecondaryColour",(subtitle.get("SecondaryColour")==null?"BBGGRR":subtitle.get("SecondaryColour"))); - params.put("OutlineColour",(subtitle.get("OutlineColour")==null?"BBGGRR":subtitle.get("OutlineColour"))); - params.put("BackColour",(subtitle.get("BackColour")==null?"&H0000ff":subtitle.get("BackColour"))); - params.put("Bold",(subtitle.get("Bold")==null? -1:subtitle.get("Bold"))); - params.put("Italic",(subtitle.get("Italic")==null? 0:subtitle.get("Italic"))); - params.put("Underline",(subtitle.get("Underline")==null? 0:subtitle.get("Underline"))); - params.put("Strikeout",(subtitle.get("Strikeout")==null? 0:subtitle.get("Strikeout"))); - params.put("ScaleX",(subtitle.get("ScaleX")==null? 100:subtitle.get("ScaleX"))); - params.put("ScaleY",(subtitle.get("ScaleY")==null? 100:subtitle.get("ScaleY"))); - params.put("Spacing",(subtitle.get("Spacing")==null? 0:subtitle.get("Spacing"))); - params.put("Angle",(subtitle.get("Angle")==null? 15:subtitle.get("Angle"))); - params.put("BorderStyle",(subtitle.get("BorderStyle")==null?"1":subtitle.get("BorderStyle"))); - params.put("Outline",(subtitle.get("Outline")==null? 20:subtitle.get("Outline"))); - params.put("Shadow",(subtitle.get("Shadow")==null? 12:subtitle.get("Shadow"))); - params.put("Alignment",(subtitle.get("Alignment")==null? 1:subtitle.get("Alignment"))); - params.put("MarginL",(subtitle.get("MarginL")==null? 100:subtitle.get("MarginL"))); - params.put("MarginR",(subtitle.get("MarginR")==null? 100:subtitle.get("MarginR"))); - params.put("MarginV",(subtitle.get("MarginV")==null? 100:subtitle.get("MarginV"))); - reSubtitle.put("enabled",1); - reSubtitle.put("text",record.getPaperwork()); - reSubtitle.put("params",params); - record.setReSubtitleParams(reSubtitle); - } - EnumSpeakType speakType = null; if(StringUtils.isNotBlank(record.getSpeakTypeStr())){ speakType = EnumSpeakType.getEnumByMsg(record.getSpeakTypeStr()); @@ -253,7 +220,38 @@ public class PhotoSpeakVideoServiceImpl implements PhotoSpeakVideoService { Integer voiceFrom = photoSpeakVideo.getVoiceFrom(); String voiceMaterialUrl = photoSpeakVideo.getVoiceMaterialUrl(); - +// if (photoSpeakVideo.getSubtitleEnabled()==1){ +//// //开启字幕 查询字幕列表 +// Map reSubtitle = new HashMap(); +// Map params = new HashMap(); +// JSONObject subtitle = JSON.parseObject(photoSpeakVideo.getSubtitleParams()); +// params.put("Fontname",(subtitle.get("Fontname")==null?"宋体":subtitle.get("Fontname"))); +// params.put("Fontsize",(subtitle.get("Fontsize")==null? 25:subtitle.get("Fontsize"))); +// params.put("PrimaryColour",(subtitle.get("PrimaryColour")==null?"&Hffffff":subtitle.get("PrimaryColour"))); +// params.put("SecondaryColour",(subtitle.get("SecondaryColour")==null?"BBGGRR":subtitle.get("SecondaryColour"))); +// params.put("OutlineColour",(subtitle.get("OutlineColour")==null?"BBGGRR":subtitle.get("OutlineColour"))); +// params.put("BackColour",(subtitle.get("BackColour")==null?"&H0000ff":subtitle.get("BackColour"))); +// params.put("Bold",(subtitle.get("Bold")==null? -1:subtitle.get("Bold"))); +// params.put("Italic",(subtitle.get("Italic")==null? 0:subtitle.get("Italic"))); +// params.put("Underline",(subtitle.get("Underline")==null? 0:subtitle.get("Underline"))); +// params.put("Strikeout",(subtitle.get("Strikeout")==null? 0:subtitle.get("Strikeout"))); +// params.put("ScaleX",(subtitle.get("ScaleX")==null? 100:subtitle.get("ScaleX"))); +// params.put("ScaleY",(subtitle.get("ScaleY")==null? 100:subtitle.get("ScaleY"))); +// params.put("Spacing",(subtitle.get("Spacing")==null? 0:subtitle.get("Spacing"))); +// params.put("Angle",(subtitle.get("Angle")==null? 15:subtitle.get("Angle"))); +// params.put("BorderStyle",(subtitle.get("BorderStyle")==null?"1":subtitle.get("BorderStyle"))); +// params.put("Outline",(subtitle.get("Outline")==null? 20:subtitle.get("Outline"))); +// params.put("Shadow",(subtitle.get("Shadow")==null? 12:subtitle.get("Shadow"))); +// params.put("Alignment",(subtitle.get("Alignment")==null? 1:subtitle.get("Alignment"))); +// params.put("MarginL",(subtitle.get("MarginL")==null? 100:subtitle.get("MarginL"))); +// params.put("MarginR",(subtitle.get("MarginR")==null? 100:subtitle.get("MarginR"))); +// params.put("MarginV",(subtitle.get("MarginV")==null? 100:subtitle.get("MarginV"))); +// subtitle.put("enabled",1); +// subtitle.put("text",photoSpeakVideo.getPaperwork()); +// subtitle.put("params",params); +// param.setSubtitle_params(subtitle); +// +// } // List videoMapperList = photoSpeakVideoMapper.findList(speakVideoUpd); // for (PhotoSpeakVideo speakVideo : videoMapperList) { // if (speakVideo.getSubtitleEnabled()==1){ @@ -357,7 +355,6 @@ public class PhotoSpeakVideoServiceImpl implements PhotoSpeakVideoService { videoUpd.setVideoId(result.getVideoId()); videoUpd.setVideoStatus(EnumVideoStatus.upload_ing.getCode()); videoUpd.setUpdateDate(new Date()); - this.saveOrUpdate(videoUpd); PhotoSpeakVideo videoUrlUpd = new PhotoSpeakVideo(); From d522858bd1b5b79d572e68aa5b75b0dc0ea3b643 Mon Sep 17 00:00:00 2001 From: twy <2301620162@qq.com> Date: Mon, 24 Jul 2023 15:19:10 +0800 Subject: [PATCH 32/48] 3-2 no subtitle --- .../controller/PhotoSpeakVideoController.java | 36 +++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/suimangCApi/src/main/java/com/iformall/controller/PhotoSpeakVideoController.java b/suimangCApi/src/main/java/com/iformall/controller/PhotoSpeakVideoController.java index 9670c3f..d6b3cae 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/PhotoSpeakVideoController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/PhotoSpeakVideoController.java @@ -1,5 +1,6 @@ package com.iformall.controller; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.PageInfo; import com.iformall.annotation.AuthIgnore; @@ -35,8 +36,7 @@ import java.io.OutputStream; import java.net.URL; import java.net.URLEncoder; import java.nio.charset.StandardCharsets; -import java.util.Date; -import java.util.List; +import java.util.*; @RestController @@ -245,6 +245,38 @@ public class PhotoSpeakVideoController extends BaseController { mouldVideoUpd.setVideoStatus(EnumVideoStatus.ing.getCode()); mouldVideoUpd.setVideoMsg(""); mouldVideoUpd.setCreateVideoDate(new Date()); + // + if (mouldVideo.getSubtitleEnabled()==1){ + // 开启字幕 + + Map params = new HashMap(); + JSONObject subtitle = JSON.parseObject(mouldVideo.getSubtitleParams()); + params.put("Fontname",(subtitle.get("Fontname")==null?"宋体":subtitle.get("Fontname"))); + params.put("Fontsize",(subtitle.get("Fontsize")==null? 25:subtitle.get("Fontsize"))); + params.put("PrimaryColour",(subtitle.get("PrimaryColour")==null?"&Hffffff":subtitle.get("PrimaryColour"))); + params.put("SecondaryColour",(subtitle.get("SecondaryColour")==null?"BBGGRR":subtitle.get("SecondaryColour"))); + params.put("OutlineColour",(subtitle.get("OutlineColour")==null?"BBGGRR":subtitle.get("OutlineColour"))); + params.put("BackColour",(subtitle.get("BackColour")==null?"&H0000ff":subtitle.get("BackColour"))); + params.put("Bold",(subtitle.get("Bold")==null? -1:subtitle.get("Bold"))); + params.put("Italic",(subtitle.get("Italic")==null? 0:subtitle.get("Italic"))); + params.put("Underline",(subtitle.get("Underline")==null? 0:subtitle.get("Underline"))); + params.put("Strikeout",(subtitle.get("Strikeout")==null? 0:subtitle.get("Strikeout"))); + params.put("ScaleX",(subtitle.get("ScaleX")==null? 100:subtitle.get("ScaleX"))); + params.put("ScaleY",(subtitle.get("ScaleY")==null? 100:subtitle.get("ScaleY"))); + params.put("Spacing",(subtitle.get("Spacing")==null? 0:subtitle.get("Spacing"))); + params.put("Angle",(subtitle.get("Angle")==null? 15:subtitle.get("Angle"))); + params.put("BorderStyle",(subtitle.get("BorderStyle")==null?"1":subtitle.get("BorderStyle"))); + params.put("Outline",(subtitle.get("Outline")==null? 20:subtitle.get("Outline"))); + params.put("Shadow",(subtitle.get("Shadow")==null? 12:subtitle.get("Shadow"))); + params.put("Alignment",(subtitle.get("Alignment")==null? 1:subtitle.get("Alignment"))); + params.put("MarginL",(subtitle.get("MarginL")==null? 100:subtitle.get("MarginL"))); + params.put("MarginR",(subtitle.get("MarginR")==null? 100:subtitle.get("MarginR"))); + params.put("MarginV",(subtitle.get("MarginV")==null? 100:subtitle.get("MarginV"))); + subtitle.put("enabled",1); + subtitle.put("text",mouldVideo.getPaperwork()); + subtitle.put("params",params); + mouldVideoUpd.setSubtitleParams(String.valueOf(subtitle)); + }// photoSpeakVideoService.saveOrUpdate(mouldVideoUpd); photoSpeakVideoService.createVideo(videoUpd); From ff240838de8e02bd609d3a22052dba6d0e603207 Mon Sep 17 00:00:00 2001 From: twy <2301620162@qq.com> Date: Mon, 24 Jul 2023 17:30:02 +0800 Subject: [PATCH 33/48] 3-3 subtitle --- .../controller/PhotoSpeakVideoController.java | 52 +++++++-------- .../sm/impl/PhotoSpeakVideoServiceImpl.java | 64 +++++++++---------- 2 files changed, 59 insertions(+), 57 deletions(-) diff --git a/suimangCApi/src/main/java/com/iformall/controller/PhotoSpeakVideoController.java b/suimangCApi/src/main/java/com/iformall/controller/PhotoSpeakVideoController.java index d6b3cae..432f619 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/PhotoSpeakVideoController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/PhotoSpeakVideoController.java @@ -248,34 +248,36 @@ public class PhotoSpeakVideoController extends BaseController { // if (mouldVideo.getSubtitleEnabled()==1){ // 开启字幕 - + mouldVideoUpd.setSubtitleEnabled(1); Map params = new HashMap(); JSONObject subtitle = JSON.parseObject(mouldVideo.getSubtitleParams()); - params.put("Fontname",(subtitle.get("Fontname")==null?"宋体":subtitle.get("Fontname"))); - params.put("Fontsize",(subtitle.get("Fontsize")==null? 25:subtitle.get("Fontsize"))); - params.put("PrimaryColour",(subtitle.get("PrimaryColour")==null?"&Hffffff":subtitle.get("PrimaryColour"))); - params.put("SecondaryColour",(subtitle.get("SecondaryColour")==null?"BBGGRR":subtitle.get("SecondaryColour"))); - params.put("OutlineColour",(subtitle.get("OutlineColour")==null?"BBGGRR":subtitle.get("OutlineColour"))); - params.put("BackColour",(subtitle.get("BackColour")==null?"&H0000ff":subtitle.get("BackColour"))); - params.put("Bold",(subtitle.get("Bold")==null? -1:subtitle.get("Bold"))); - params.put("Italic",(subtitle.get("Italic")==null? 0:subtitle.get("Italic"))); - params.put("Underline",(subtitle.get("Underline")==null? 0:subtitle.get("Underline"))); - params.put("Strikeout",(subtitle.get("Strikeout")==null? 0:subtitle.get("Strikeout"))); - params.put("ScaleX",(subtitle.get("ScaleX")==null? 100:subtitle.get("ScaleX"))); - params.put("ScaleY",(subtitle.get("ScaleY")==null? 100:subtitle.get("ScaleY"))); - params.put("Spacing",(subtitle.get("Spacing")==null? 0:subtitle.get("Spacing"))); - params.put("Angle",(subtitle.get("Angle")==null? 15:subtitle.get("Angle"))); - params.put("BorderStyle",(subtitle.get("BorderStyle")==null?"1":subtitle.get("BorderStyle"))); - params.put("Outline",(subtitle.get("Outline")==null? 20:subtitle.get("Outline"))); - params.put("Shadow",(subtitle.get("Shadow")==null? 12:subtitle.get("Shadow"))); - params.put("Alignment",(subtitle.get("Alignment")==null? 1:subtitle.get("Alignment"))); - params.put("MarginL",(subtitle.get("MarginL")==null? 100:subtitle.get("MarginL"))); - params.put("MarginR",(subtitle.get("MarginR")==null? 100:subtitle.get("MarginR"))); - params.put("MarginV",(subtitle.get("MarginV")==null? 100:subtitle.get("MarginV"))); - subtitle.put("enabled",1); - subtitle.put("text",mouldVideo.getPaperwork()); - subtitle.put("params",params); + subtitle.put("Fontname",(subtitle.get("Fontname")==null?"宋体":subtitle.get("Fontname"))); + subtitle.put("Fontsize",(subtitle.get("Fontsize")==null? 25:subtitle.get("Fontsize"))); + subtitle.put("PrimaryColour",(subtitle.get("PrimaryColour")==null?"&Hffffff":subtitle.get("PrimaryColour"))); + subtitle.put("SecondaryColour",(subtitle.get("SecondaryColour")==null?"BBGGRR":subtitle.get("SecondaryColour"))); + subtitle.put("OutlineColour",(subtitle.get("OutlineColour")==null?"BBGGRR":subtitle.get("OutlineColour"))); + subtitle.put("BackColour",(subtitle.get("BackColour")==null?"&H0000ff":subtitle.get("BackColour"))); + subtitle.put("Bold",(subtitle.get("Bold")==null? -1:subtitle.get("Bold"))); + subtitle.put("Italic",(subtitle.get("Italic")==null? 0:subtitle.get("Italic"))); + subtitle.put("Underline",(subtitle.get("Underline")==null? 0:subtitle.get("Underline"))); + subtitle.put("Strikeout",(subtitle.get("Strikeout")==null? 0:subtitle.get("Strikeout"))); + subtitle.put("ScaleX",(subtitle.get("ScaleX")==null? 100:subtitle.get("ScaleX"))); + subtitle.put("ScaleY",(subtitle.get("ScaleY")==null? 100:subtitle.get("ScaleY"))); + subtitle.put("Spacing",(subtitle.get("Spacing")==null? 0:subtitle.get("Spacing"))); + subtitle.put("Angle",(subtitle.get("Angle")==null? 15:subtitle.get("Angle"))); + subtitle.put("BorderStyle",(subtitle.get("BorderStyle")==null?"1":subtitle.get("BorderStyle"))); + subtitle.put("Outline",(subtitle.get("Outline")==null? 20:subtitle.get("Outline"))); + subtitle.put("Shadow",(subtitle.get("Shadow")==null? 12:subtitle.get("Shadow"))); + subtitle.put("Alignment",(subtitle.get("Alignment")==null? 1:subtitle.get("Alignment"))); + subtitle.put("MarginL",(subtitle.get("MarginL")==null? 100:subtitle.get("MarginL"))); + subtitle.put("MarginR",(subtitle.get("MarginR")==null? 100:subtitle.get("MarginR"))); + subtitle.put("MarginV",(subtitle.get("MarginV")==null? 100:subtitle.get("MarginV"))); + // subtitle.put("enabled",1); + //subtitle.put("text",mouldVideo.getPaperwork()); + // subtitle.put("params",params); mouldVideoUpd.setSubtitleParams(String.valueOf(subtitle)); + videoUpd.setSubtitleParams(String.valueOf(subtitle)); + videoUpd.setSubtitleEnabled(1); }// photoSpeakVideoService.saveOrUpdate(mouldVideoUpd); diff --git a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java index fdf259f..1c9cc4f 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java @@ -220,38 +220,38 @@ public class PhotoSpeakVideoServiceImpl implements PhotoSpeakVideoService { Integer voiceFrom = photoSpeakVideo.getVoiceFrom(); String voiceMaterialUrl = photoSpeakVideo.getVoiceMaterialUrl(); -// if (photoSpeakVideo.getSubtitleEnabled()==1){ -//// //开启字幕 查询字幕列表 -// Map reSubtitle = new HashMap(); -// Map params = new HashMap(); -// JSONObject subtitle = JSON.parseObject(photoSpeakVideo.getSubtitleParams()); -// params.put("Fontname",(subtitle.get("Fontname")==null?"宋体":subtitle.get("Fontname"))); -// params.put("Fontsize",(subtitle.get("Fontsize")==null? 25:subtitle.get("Fontsize"))); -// params.put("PrimaryColour",(subtitle.get("PrimaryColour")==null?"&Hffffff":subtitle.get("PrimaryColour"))); -// params.put("SecondaryColour",(subtitle.get("SecondaryColour")==null?"BBGGRR":subtitle.get("SecondaryColour"))); -// params.put("OutlineColour",(subtitle.get("OutlineColour")==null?"BBGGRR":subtitle.get("OutlineColour"))); -// params.put("BackColour",(subtitle.get("BackColour")==null?"&H0000ff":subtitle.get("BackColour"))); -// params.put("Bold",(subtitle.get("Bold")==null? -1:subtitle.get("Bold"))); -// params.put("Italic",(subtitle.get("Italic")==null? 0:subtitle.get("Italic"))); -// params.put("Underline",(subtitle.get("Underline")==null? 0:subtitle.get("Underline"))); -// params.put("Strikeout",(subtitle.get("Strikeout")==null? 0:subtitle.get("Strikeout"))); -// params.put("ScaleX",(subtitle.get("ScaleX")==null? 100:subtitle.get("ScaleX"))); -// params.put("ScaleY",(subtitle.get("ScaleY")==null? 100:subtitle.get("ScaleY"))); -// params.put("Spacing",(subtitle.get("Spacing")==null? 0:subtitle.get("Spacing"))); -// params.put("Angle",(subtitle.get("Angle")==null? 15:subtitle.get("Angle"))); -// params.put("BorderStyle",(subtitle.get("BorderStyle")==null?"1":subtitle.get("BorderStyle"))); -// params.put("Outline",(subtitle.get("Outline")==null? 20:subtitle.get("Outline"))); -// params.put("Shadow",(subtitle.get("Shadow")==null? 12:subtitle.get("Shadow"))); -// params.put("Alignment",(subtitle.get("Alignment")==null? 1:subtitle.get("Alignment"))); -// params.put("MarginL",(subtitle.get("MarginL")==null? 100:subtitle.get("MarginL"))); -// params.put("MarginR",(subtitle.get("MarginR")==null? 100:subtitle.get("MarginR"))); -// params.put("MarginV",(subtitle.get("MarginV")==null? 100:subtitle.get("MarginV"))); -// subtitle.put("enabled",1); -// subtitle.put("text",photoSpeakVideo.getPaperwork()); -// subtitle.put("params",params); -// param.setSubtitle_params(subtitle); -// -// } + if (photoSpeakVideo.getSubtitleEnabled()==1){ +// //开启字幕 查询字幕列表 + Map reSubtitle = new HashMap(); + Map params = new HashMap(); + JSONObject subtitle = JSON.parseObject(photoSpeakVideo.getSubtitleParams()); + params.put("Fontname",(subtitle.get("Fontname")==null?"宋体":subtitle.get("Fontname"))); + params.put("Fontsize",(subtitle.get("Fontsize")==null? 25:subtitle.get("Fontsize"))); + params.put("PrimaryColour",(subtitle.get("PrimaryColour")==null?"&Hffffff":subtitle.get("PrimaryColour"))); + params.put("SecondaryColour",(subtitle.get("SecondaryColour")==null?"BBGGRR":subtitle.get("SecondaryColour"))); + params.put("OutlineColour",(subtitle.get("OutlineColour")==null?"BBGGRR":subtitle.get("OutlineColour"))); + params.put("BackColour",(subtitle.get("BackColour")==null?"&H0000ff":subtitle.get("BackColour"))); + params.put("Bold",(subtitle.get("Bold")==null? -1:subtitle.get("Bold"))); + params.put("Italic",(subtitle.get("Italic")==null? 0:subtitle.get("Italic"))); + params.put("Underline",(subtitle.get("Underline")==null? 0:subtitle.get("Underline"))); + params.put("Strikeout",(subtitle.get("Strikeout")==null? 0:subtitle.get("Strikeout"))); + params.put("ScaleX",(subtitle.get("ScaleX")==null? 100:subtitle.get("ScaleX"))); + params.put("ScaleY",(subtitle.get("ScaleY")==null? 100:subtitle.get("ScaleY"))); + params.put("Spacing",(subtitle.get("Spacing")==null? 0:subtitle.get("Spacing"))); + params.put("Angle",(subtitle.get("Angle")==null? 15:subtitle.get("Angle"))); + params.put("BorderStyle",(subtitle.get("BorderStyle")==null?"1":subtitle.get("BorderStyle"))); + params.put("Outline",(subtitle.get("Outline")==null? 20:subtitle.get("Outline"))); + params.put("Shadow",(subtitle.get("Shadow")==null? 12:subtitle.get("Shadow"))); + params.put("Alignment",(subtitle.get("Alignment")==null? 1:subtitle.get("Alignment"))); + params.put("MarginL",(subtitle.get("MarginL")==null? 100:subtitle.get("MarginL"))); + params.put("MarginR",(subtitle.get("MarginR")==null? 100:subtitle.get("MarginR"))); + params.put("MarginV",(subtitle.get("MarginV")==null? 100:subtitle.get("MarginV"))); + subtitle.put("enabled",1); + subtitle.put("text",photoSpeakVideo.getPaperwork()); + subtitle.put("params",params); + param.setSubtitle_params(subtitle); + + } // List videoMapperList = photoSpeakVideoMapper.findList(speakVideoUpd); // for (PhotoSpeakVideo speakVideo : videoMapperList) { // if (speakVideo.getSubtitleEnabled()==1){ From e9260107f37239d43a6a014f34a5a65ce10f07fe Mon Sep 17 00:00:00 2001 From: twy <2301620162@qq.com> Date: Mon, 24 Jul 2023 17:37:10 +0800 Subject: [PATCH 34/48] 3-4 subtitle --- .../sm/impl/PhotoSpeakVideoServiceImpl.java | 64 +++++++++---------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java index 1c9cc4f..fdf259f 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java @@ -220,38 +220,38 @@ public class PhotoSpeakVideoServiceImpl implements PhotoSpeakVideoService { Integer voiceFrom = photoSpeakVideo.getVoiceFrom(); String voiceMaterialUrl = photoSpeakVideo.getVoiceMaterialUrl(); - if (photoSpeakVideo.getSubtitleEnabled()==1){ -// //开启字幕 查询字幕列表 - Map reSubtitle = new HashMap(); - Map params = new HashMap(); - JSONObject subtitle = JSON.parseObject(photoSpeakVideo.getSubtitleParams()); - params.put("Fontname",(subtitle.get("Fontname")==null?"宋体":subtitle.get("Fontname"))); - params.put("Fontsize",(subtitle.get("Fontsize")==null? 25:subtitle.get("Fontsize"))); - params.put("PrimaryColour",(subtitle.get("PrimaryColour")==null?"&Hffffff":subtitle.get("PrimaryColour"))); - params.put("SecondaryColour",(subtitle.get("SecondaryColour")==null?"BBGGRR":subtitle.get("SecondaryColour"))); - params.put("OutlineColour",(subtitle.get("OutlineColour")==null?"BBGGRR":subtitle.get("OutlineColour"))); - params.put("BackColour",(subtitle.get("BackColour")==null?"&H0000ff":subtitle.get("BackColour"))); - params.put("Bold",(subtitle.get("Bold")==null? -1:subtitle.get("Bold"))); - params.put("Italic",(subtitle.get("Italic")==null? 0:subtitle.get("Italic"))); - params.put("Underline",(subtitle.get("Underline")==null? 0:subtitle.get("Underline"))); - params.put("Strikeout",(subtitle.get("Strikeout")==null? 0:subtitle.get("Strikeout"))); - params.put("ScaleX",(subtitle.get("ScaleX")==null? 100:subtitle.get("ScaleX"))); - params.put("ScaleY",(subtitle.get("ScaleY")==null? 100:subtitle.get("ScaleY"))); - params.put("Spacing",(subtitle.get("Spacing")==null? 0:subtitle.get("Spacing"))); - params.put("Angle",(subtitle.get("Angle")==null? 15:subtitle.get("Angle"))); - params.put("BorderStyle",(subtitle.get("BorderStyle")==null?"1":subtitle.get("BorderStyle"))); - params.put("Outline",(subtitle.get("Outline")==null? 20:subtitle.get("Outline"))); - params.put("Shadow",(subtitle.get("Shadow")==null? 12:subtitle.get("Shadow"))); - params.put("Alignment",(subtitle.get("Alignment")==null? 1:subtitle.get("Alignment"))); - params.put("MarginL",(subtitle.get("MarginL")==null? 100:subtitle.get("MarginL"))); - params.put("MarginR",(subtitle.get("MarginR")==null? 100:subtitle.get("MarginR"))); - params.put("MarginV",(subtitle.get("MarginV")==null? 100:subtitle.get("MarginV"))); - subtitle.put("enabled",1); - subtitle.put("text",photoSpeakVideo.getPaperwork()); - subtitle.put("params",params); - param.setSubtitle_params(subtitle); - - } +// if (photoSpeakVideo.getSubtitleEnabled()==1){ +//// //开启字幕 查询字幕列表 +// Map reSubtitle = new HashMap(); +// Map params = new HashMap(); +// JSONObject subtitle = JSON.parseObject(photoSpeakVideo.getSubtitleParams()); +// params.put("Fontname",(subtitle.get("Fontname")==null?"宋体":subtitle.get("Fontname"))); +// params.put("Fontsize",(subtitle.get("Fontsize")==null? 25:subtitle.get("Fontsize"))); +// params.put("PrimaryColour",(subtitle.get("PrimaryColour")==null?"&Hffffff":subtitle.get("PrimaryColour"))); +// params.put("SecondaryColour",(subtitle.get("SecondaryColour")==null?"BBGGRR":subtitle.get("SecondaryColour"))); +// params.put("OutlineColour",(subtitle.get("OutlineColour")==null?"BBGGRR":subtitle.get("OutlineColour"))); +// params.put("BackColour",(subtitle.get("BackColour")==null?"&H0000ff":subtitle.get("BackColour"))); +// params.put("Bold",(subtitle.get("Bold")==null? -1:subtitle.get("Bold"))); +// params.put("Italic",(subtitle.get("Italic")==null? 0:subtitle.get("Italic"))); +// params.put("Underline",(subtitle.get("Underline")==null? 0:subtitle.get("Underline"))); +// params.put("Strikeout",(subtitle.get("Strikeout")==null? 0:subtitle.get("Strikeout"))); +// params.put("ScaleX",(subtitle.get("ScaleX")==null? 100:subtitle.get("ScaleX"))); +// params.put("ScaleY",(subtitle.get("ScaleY")==null? 100:subtitle.get("ScaleY"))); +// params.put("Spacing",(subtitle.get("Spacing")==null? 0:subtitle.get("Spacing"))); +// params.put("Angle",(subtitle.get("Angle")==null? 15:subtitle.get("Angle"))); +// params.put("BorderStyle",(subtitle.get("BorderStyle")==null?"1":subtitle.get("BorderStyle"))); +// params.put("Outline",(subtitle.get("Outline")==null? 20:subtitle.get("Outline"))); +// params.put("Shadow",(subtitle.get("Shadow")==null? 12:subtitle.get("Shadow"))); +// params.put("Alignment",(subtitle.get("Alignment")==null? 1:subtitle.get("Alignment"))); +// params.put("MarginL",(subtitle.get("MarginL")==null? 100:subtitle.get("MarginL"))); +// params.put("MarginR",(subtitle.get("MarginR")==null? 100:subtitle.get("MarginR"))); +// params.put("MarginV",(subtitle.get("MarginV")==null? 100:subtitle.get("MarginV"))); +// subtitle.put("enabled",1); +// subtitle.put("text",photoSpeakVideo.getPaperwork()); +// subtitle.put("params",params); +// param.setSubtitle_params(subtitle); +// +// } // List videoMapperList = photoSpeakVideoMapper.findList(speakVideoUpd); // for (PhotoSpeakVideo speakVideo : videoMapperList) { // if (speakVideo.getSubtitleEnabled()==1){ From 86e524535d9a2656c4e05b3d450e9948fb5621a3 Mon Sep 17 00:00:00 2001 From: twy <2301620162@qq.com> Date: Wed, 26 Jul 2023 13:33:52 +0800 Subject: [PATCH 35/48] =?UTF-8?q?=E6=85=A7=E6=92=ADv1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/PhotoSpeakVideoController.java | 36 +---- .../controller/UserLiveController.java | 153 ++++++++++++------ .../iformall/domain/vo/WxCLiveLoginVo.java | 12 +- .../com/iformall/mapper/WxCVideoMapper.java | 2 +- .../service/WxCUserAuthorityService.java | 4 +- .../com/iformall/service/WxCVideoService.java | 4 +- .../com/iformall/service/WxCVoiceService.java | 4 +- .../impl/WxCUserAuthorityServiceImpl.java | 65 +++++--- .../service/impl/WxCVideoServiceImpl.java | 21 ++- .../service/impl/WxCVoiceServiceImpl.java | 26 +-- .../sm/impl/PhotoSpeakVideoServiceImpl.java | 99 ++++-------- 11 files changed, 225 insertions(+), 201 deletions(-) diff --git a/suimangCApi/src/main/java/com/iformall/controller/PhotoSpeakVideoController.java b/suimangCApi/src/main/java/com/iformall/controller/PhotoSpeakVideoController.java index 432f619..d88a4cc 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/PhotoSpeakVideoController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/PhotoSpeakVideoController.java @@ -245,42 +245,8 @@ public class PhotoSpeakVideoController extends BaseController { mouldVideoUpd.setVideoStatus(EnumVideoStatus.ing.getCode()); mouldVideoUpd.setVideoMsg(""); mouldVideoUpd.setCreateVideoDate(new Date()); - // - if (mouldVideo.getSubtitleEnabled()==1){ - // 开启字幕 - mouldVideoUpd.setSubtitleEnabled(1); - Map params = new HashMap(); - JSONObject subtitle = JSON.parseObject(mouldVideo.getSubtitleParams()); - subtitle.put("Fontname",(subtitle.get("Fontname")==null?"宋体":subtitle.get("Fontname"))); - subtitle.put("Fontsize",(subtitle.get("Fontsize")==null? 25:subtitle.get("Fontsize"))); - subtitle.put("PrimaryColour",(subtitle.get("PrimaryColour")==null?"&Hffffff":subtitle.get("PrimaryColour"))); - subtitle.put("SecondaryColour",(subtitle.get("SecondaryColour")==null?"BBGGRR":subtitle.get("SecondaryColour"))); - subtitle.put("OutlineColour",(subtitle.get("OutlineColour")==null?"BBGGRR":subtitle.get("OutlineColour"))); - subtitle.put("BackColour",(subtitle.get("BackColour")==null?"&H0000ff":subtitle.get("BackColour"))); - subtitle.put("Bold",(subtitle.get("Bold")==null? -1:subtitle.get("Bold"))); - subtitle.put("Italic",(subtitle.get("Italic")==null? 0:subtitle.get("Italic"))); - subtitle.put("Underline",(subtitle.get("Underline")==null? 0:subtitle.get("Underline"))); - subtitle.put("Strikeout",(subtitle.get("Strikeout")==null? 0:subtitle.get("Strikeout"))); - subtitle.put("ScaleX",(subtitle.get("ScaleX")==null? 100:subtitle.get("ScaleX"))); - subtitle.put("ScaleY",(subtitle.get("ScaleY")==null? 100:subtitle.get("ScaleY"))); - subtitle.put("Spacing",(subtitle.get("Spacing")==null? 0:subtitle.get("Spacing"))); - subtitle.put("Angle",(subtitle.get("Angle")==null? 15:subtitle.get("Angle"))); - subtitle.put("BorderStyle",(subtitle.get("BorderStyle")==null?"1":subtitle.get("BorderStyle"))); - subtitle.put("Outline",(subtitle.get("Outline")==null? 20:subtitle.get("Outline"))); - subtitle.put("Shadow",(subtitle.get("Shadow")==null? 12:subtitle.get("Shadow"))); - subtitle.put("Alignment",(subtitle.get("Alignment")==null? 1:subtitle.get("Alignment"))); - subtitle.put("MarginL",(subtitle.get("MarginL")==null? 100:subtitle.get("MarginL"))); - subtitle.put("MarginR",(subtitle.get("MarginR")==null? 100:subtitle.get("MarginR"))); - subtitle.put("MarginV",(subtitle.get("MarginV")==null? 100:subtitle.get("MarginV"))); - // subtitle.put("enabled",1); - //subtitle.put("text",mouldVideo.getPaperwork()); - // subtitle.put("params",params); - mouldVideoUpd.setSubtitleParams(String.valueOf(subtitle)); - videoUpd.setSubtitleParams(String.valueOf(subtitle)); - videoUpd.setSubtitleEnabled(1); - }// - photoSpeakVideoService.saveOrUpdate(mouldVideoUpd); + photoSpeakVideoService.saveOrUpdate(mouldVideoUpd); photoSpeakVideoService.createVideo(videoUpd); return new ResultData(); diff --git a/suimangCApi/src/main/java/com/iformall/controller/UserLiveController.java b/suimangCApi/src/main/java/com/iformall/controller/UserLiveController.java index 7e56887..a138f9c 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/UserLiveController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/UserLiveController.java @@ -29,10 +29,7 @@ import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import java.awt.image.BufferedImage; import java.io.IOException; -import java.util.Date; -import java.util.HashMap; -import java.util.Map; -import java.util.UUID; +import java.util.*; @RestController @RequestMapping("/api/live") @@ -95,67 +92,98 @@ public class UserLiveController extends BaseController { @AuthIgnore @PostMapping("/login") @ApiOperation(value = "用户登录", notes = "{\"username\":\"string\",\"password\":\"string\",\"code\":\"string\",\"Mcode\":\"string\",\"status\":\"int\"}") - public ResultData login(@RequestBody Map map, HttpServletResponse response) { + public Map login(@RequestBody Map map, HttpServletResponse response) { + Map wxCLiveLoginVos = new HashMap<>(); String ipAddr = getIpAddr(); logger.debug("[" + ipAddr + "] WxUserGrantController::login"); String code = map.get("code"); if (StringUtils.isBlank(code)) { - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "请输入验证码"); + HashMap status = new HashMap<>(); + status.put("code",ErrorCode.SYS_PARAMETER_NOT_NULL.getCode()); + status.put("message","请输入验证码"); + wxCLiveLoginVos.put("status",status); + return wxCLiveLoginVos; + // new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "请输入验证码"); } String key = Constant.captchaPrev + ":" + ipAddr; String code1 = RedisCacheUtils.getCacheString(redisTemplate, key); - if (StringUtils.isBlank(code1)) { - return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "验证码已过期"); - } - if (!code1.equals(code)) { - return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "验证码不正确"); - } +// if (StringUtils.isBlank(code1)) { +// return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "验证码已过期"); +// } +// if (!code1.equals(code)) { +// return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "验证码不正确"); +// } String phone = map.get("username"); String password = map.get("password"); if (StringUtils.isBlank(phone) || StringUtils.isBlank(password)) { - return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "手机号或密码为空"); + HashMap status = new HashMap<>(); + status.put("code",ErrorCode.SYS_PARAMETER_ERROR.getCode()); + status.put("message","手机号或密码为空"); + wxCLiveLoginVos.put("status",status); + return wxCLiveLoginVos; + // return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "手机号或密码为空"); } WxCUserBasicInfo basicInfo = wxCUserBasicInfoService.findInfoByPhone(getTenantInfo(), phone); if (basicInfo == null) { - return new ResultData(ErrorCode.USER_IS_EMPTY); + HashMap status = new HashMap<>(); + status.put("code",ErrorCode.USER_IS_EMPTY); + status.put("message","用户不存在"); + wxCLiveLoginVos.put("status",status); + return wxCLiveLoginVos; + // return new ResultData(ErrorCode.USER_IS_EMPTY); } String encryptPassword = new PasswordHelper().encryptPassword(password); if (!encryptPassword.equals(basicInfo.getPassword())) { - return new ResultData(ErrorCode.USER_PASSWD_ERR.getCode(), "手机号或密码错误"); + HashMap status = new HashMap<>(); + status.put("code",ErrorCode.USER_PASSWD_ERR.getCode()); + status.put("message","手机号或密码错误"); + wxCLiveLoginVos.put("status",status); + return wxCLiveLoginVos; + // return new ResultData(ErrorCode.USER_PASSWD_ERR.getCode(), "手机号或密码错误"); } - int status = Integer.parseInt(map.get("status")); + int statu = Integer.parseInt(map.get("status")); - if (status == 0) { + if (statu == 0) { WxCUserBasicInfo basicLiveInfo = wxCLiveUserBasicInfoService.getById(basicInfo.getId()); if (basicLiveInfo.getCode() != null && !map.get("Mcode").equals(basicLiveInfo.getCode())) { - return new ResultData(ErrorCode.USER_ALREADY_LOGIN.getCode(), "用户已在其他设备登录"); + HashMap status = new HashMap<>(); + status.put("code",ErrorCode.USER_ALREADY_LOGIN.getCode()); + status.put("message","用户已在其他设备登录"); + wxCLiveLoginVos.put("status",status); + return wxCLiveLoginVos; + // return new ResultData(ErrorCode.USER_ALREADY_LOGIN.getCode(), "用户已在其他设备登录"); } if (basicLiveInfo.getCode() == null) { wxCLiveUserBasicInfoService.updateCode(basicInfo.getId(), map.get("Mcode")); } } - if (status == -1) { + if (statu == -1) { wxCLiveUserBasicInfoService.updateCode(basicInfo.getId(), null); basicInfo.setStatus(-2); - return new ResultData(ErrorCode.USER_CANCEL_MCODE.getCode(), "设备已注销"); + HashMap status = new HashMap<>(); + status.put("code",ErrorCode.USER_CANCEL_MCODE.getCode()); + status.put("message","设备已注销"); + wxCLiveLoginVos.put("status",status); + return wxCLiveLoginVos; + // return new ResultData(ErrorCode.USER_CANCEL_MCODE.getCode(), "设备已注销"); } wxCUserBasicInfoService.handleLoginUser(basicInfo); WxCUserBasicInfo basicLiveInfo = wxCLiveUserBasicInfoService.getById(basicInfo.getId()); - Map resultMap = new HashMap(); + WxCLiveLoginVo wxCLiveLoginVo = new WxCLiveLoginVo(); wxCLiveLoginVo.setCode(Integer.parseInt(map.get("Mcode"))); - wxCLiveLoginVo.setVersion(basicLiveInfo.getVersion()); + //wxCLiveLoginVo.setVersion(basicLiveInfo.getVersion()); wxCLiveLoginVo.setUsername(map.get("username")); - wxCLiveLoginVo.setStatus(0); - wxCLiveLoginVo.setCurrent_time(new Date(System.currentTimeMillis() / 1000)); - wxCLiveLoginVo.setExpire_time(basicLiveInfo.getExpireTime().getTime() / 1000); + //wxCLiveLoginVo.setStatus(0); + //wxCLiveLoginVo.setCurrent_time(new Date(System.currentTimeMillis() / 1000)); + // wxCLiveLoginVo.setExpire_time(basicLiveInfo.getExpireTime().getTime() / 1000); //生成一个token String token = UUID.randomUUID().toString().replace("-",""); //将token和用户信息绑定放到redis redis--key:user:info:token value:用户信息 @@ -163,48 +191,77 @@ public class UserLiveController extends BaseController { //返回给前端 wxCLiveLoginVo.setToken(token); Map info = new HashMap(); - Map Status = new HashMap(); + Map data = new HashMap(); + Map status = new HashMap<>(); + status.put("code",1000); + status.put("message","success"); + + + data.put("status",0); + data.put("version",basicLiveInfo.getVersion()); + data.put("current_time",new Date(System.currentTimeMillis() / 1000)); + data.put("expire_time",basicLiveInfo.getExpireTime().getTime() / 1000); + info.put("log_id", basicInfo.getId()); + info.put("server_type","user login"); info.put("username", basicInfo.getPhone()); - wxCLiveLoginVo.setParam(info); - Status.put("code",1000); - Status.put("msg","success"); - wxCLiveLoginVo.setParam(Status); + wxCLiveLoginVos.put("data",data); + wxCLiveLoginVos.put("info",info); + wxCLiveLoginVo.setData(data); + wxCLiveLoginVo.setInfo(info); + wxCLiveLoginVos.put("status",status); + wxCLiveLoginVos.put("token",token); + System.out.println("wxCLiveLoginVo.getToken() = " + wxCLiveLoginVo.getToken()); - return new ResultData(wxCLiveLoginVo); + return wxCLiveLoginVos; + // return new ResultData(1000,"success",wxCLiveLoginVo); } /** * 视频模板列表 */ - + @AuthIgnore @PostMapping("/avatarList") @ApiOperation(value = "视频模板列表", notes = "{\"username\",\"string\",\"code\",\"string\"}") - public ResultData avatarList(@RequestBody Map params) { + public Map avatarList(@RequestBody Map params) { + Map avatarVos = new HashMap<>(); String ipaddress = getIpAddr(); logger.debug("[" + ipaddress + "] WxUserGrantController::getAvatarList"); - - long id = getMemberId(); - WxCUserBasicInfo basicInfo = wxCUserBasicInfoService.getById(id); - - - return wxCVideoService.getById(id); + String phone = params.get("username"); + WxCUserBasicInfo infoByPhone = wxCUserBasicInfoService.findInfoByPhone(getTenantInfo(), phone); + Long id = infoByPhone.getId(); + System.out.println("id = " + id); + + Map status = new HashMap<>(); + status.put("code",1000); + status.put("msg","success"); + // long id = getMemberId(); + // System.out.println("id = " + id); + // WxCUserBasicInfo basicInfo = wxCUserBasicInfoService.getById(infoByPhone.getId()); + avatarVos.put("status",status); + + return wxCVideoService.getById(infoByPhone.getId()); + // return new ResultData(1000,"success",wxCVideoService.getById(infoByPhone.getId())); } /** * 音频模板列表 */ - + @AuthIgnore @PostMapping("/audioList") @ApiOperation(value = "音频模板列表", notes = "{\"username\",\"string\",\"code\",\"string\"}") - public ResultData audioList(@RequestBody Map params) { + public Map audioList(@RequestBody Map params) { String ipaddress = getIpAddr(); logger.debug("[" + ipaddress + "] WxUserGrantController::getAudioList"); + String phone = params.get("username"); + WxCUserBasicInfo infoByPhone = wxCUserBasicInfoService.findInfoByPhone(getTenantInfo(), phone); + Long id = infoByPhone.getId(); + System.out.println("id = " + id); - long id = getMemberId(); + // long id = getMemberId(); return wxCVoiceService.getById(id); @@ -214,15 +271,21 @@ public class UserLiveController extends BaseController { * 资源权限查询 */ - + @AuthIgnore @ApiOperation(value = "资源权限查询", notes = "{\"username\",\"string\",\"code\",\"string\",\"type\",\"int\",\"resource_id\",\"long\"}") @PostMapping("/author") - public ResultData getAuthor(@RequestBody Map params) { + public Map getAuthor(@RequestBody Map params) { String ipaddress = getIpAddr(); logger.debug("[" + ipaddress + "] WxUserGrantController::getAuthor"); - long id = getMemberId(); + String phone = params.get("username"); + WxCUserBasicInfo infoByPhone = wxCUserBasicInfoService.findInfoByPhone(getTenantInfo(), phone); + Long id = infoByPhone.getId(); + System.out.println("id = " + id); + + + //long id = getMemberId(); String username = params.get("username"); String code = params.get("code"); diff --git a/suimangService/src/main/java/com/iformall/domain/vo/WxCLiveLoginVo.java b/suimangService/src/main/java/com/iformall/domain/vo/WxCLiveLoginVo.java index 5a67175..08e7f4e 100644 --- a/suimangService/src/main/java/com/iformall/domain/vo/WxCLiveLoginVo.java +++ b/suimangService/src/main/java/com/iformall/domain/vo/WxCLiveLoginVo.java @@ -12,10 +12,10 @@ public class WxCLiveLoginVo { private String token; //令牌 private String username; //令牌 - private int status; //用户登录状态 2设备注销,1登陆失败,0登陆成功 - private int version; //用户购买的软件套餐 - private Date current_time;//服务器当前时间 - private long expire_time;//套餐过期时间 + // private int status; //用户登录状态 2设备注销,1登陆失败,0登陆成功 + // private int version; //用户购买的软件套餐 + // private Date current_time;//服务器当前时间 + // private long expire_time;//套餐过期时间 private int code; //机器码 @ApiModelProperty(value = "响应") private Map data = new HashMap<>(); @@ -23,7 +23,7 @@ public class WxCLiveLoginVo { // @ApiModelProperty(value = "响应") //private Map Status = new HashMap<>(); - @ApiModelProperty(value = "其它参数") - private Map param = new HashMap<>(); + @ApiModelProperty(value = "信息") + private Map info = new HashMap<>(); } diff --git a/suimangService/src/main/java/com/iformall/mapper/WxCVideoMapper.java b/suimangService/src/main/java/com/iformall/mapper/WxCVideoMapper.java index 5908bc5..9e111ed 100644 --- a/suimangService/src/main/java/com/iformall/mapper/WxCVideoMapper.java +++ b/suimangService/src/main/java/com/iformall/mapper/WxCVideoMapper.java @@ -9,7 +9,7 @@ import java.util.List; public interface WxCVideoMapper extends CommonMapper { - List getById(@Param("user_id") Long id); + List getById(Long id); diff --git a/suimangService/src/main/java/com/iformall/service/WxCUserAuthorityService.java b/suimangService/src/main/java/com/iformall/service/WxCUserAuthorityService.java index 0d21e65..201a62e 100644 --- a/suimangService/src/main/java/com/iformall/service/WxCUserAuthorityService.java +++ b/suimangService/src/main/java/com/iformall/service/WxCUserAuthorityService.java @@ -2,6 +2,8 @@ package com.iformall.service; import com.iformall.common.ResultData; +import java.util.Map; + public interface WxCUserAuthorityService { - ResultData getAuthor(Long id, String code, Integer type, Long resourceId); + Map getAuthor(Long id, String code, Integer type, Long resourceId); } diff --git a/suimangService/src/main/java/com/iformall/service/WxCVideoService.java b/suimangService/src/main/java/com/iformall/service/WxCVideoService.java index 5e19191..041d20f 100644 --- a/suimangService/src/main/java/com/iformall/service/WxCVideoService.java +++ b/suimangService/src/main/java/com/iformall/service/WxCVideoService.java @@ -3,8 +3,10 @@ package com.iformall.service; import com.iformall.common.ResultData; import com.iformall.domain.po.WxCVideoTable; +import java.util.Map; + public interface WxCVideoService { - ResultData getById(Long id); + Map getById(Long id); } diff --git a/suimangService/src/main/java/com/iformall/service/WxCVoiceService.java b/suimangService/src/main/java/com/iformall/service/WxCVoiceService.java index b1533be..db9e69e 100644 --- a/suimangService/src/main/java/com/iformall/service/WxCVoiceService.java +++ b/suimangService/src/main/java/com/iformall/service/WxCVoiceService.java @@ -2,6 +2,8 @@ package com.iformall.service; import com.iformall.common.ResultData; +import java.util.Map; + public interface WxCVoiceService { - ResultData getById(Long id); + Map getById(Long id); } diff --git a/suimangService/src/main/java/com/iformall/service/impl/WxCUserAuthorityServiceImpl.java b/suimangService/src/main/java/com/iformall/service/impl/WxCUserAuthorityServiceImpl.java index 187a621..4e7d172 100644 --- a/suimangService/src/main/java/com/iformall/service/impl/WxCUserAuthorityServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/impl/WxCUserAuthorityServiceImpl.java @@ -7,10 +7,7 @@ import com.iformall.service.WxCUserAuthorityService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.List; +import java.util.*; @Service public class WxCUserAuthorityServiceImpl implements WxCUserAuthorityService { @@ -20,8 +17,9 @@ public class WxCUserAuthorityServiceImpl implements WxCUserAuthorityService { @Override - public ResultData getAuthor(Long id, String code, Integer type, Long resourceId) { + public Map getAuthor(Long id, String code, Integer type, Long resourceId) { List resultList = new ArrayList(); + HashMap authorVos = new HashMap<>(); if (type==0){ //查询数字人相关权限 @@ -32,34 +30,51 @@ public class WxCUserAuthorityServiceImpl implements WxCUserAuthorityService { resultList = wxCUserAuthorityMapper.getAuthorVoice(id,1,resourceId); } - if (resourceId==null){ + if (resourceId==null||resourceId==-1){ //若资源id没有传入那就展示所有当前类型资源权限 - HashMap resultMap = new HashMap<>(); + + HashMap info = new HashMap<>(); + HashMap status = new HashMap<>(); List authorList = new ArrayList(); for (WxCUserAuthority wxCUserAuthority : resultList) { - HashMap author = new HashMap<>(); - author.put("username",wxCUserAuthority.getUserName()); - author.put("type",wxCUserAuthority.getType()); - author.put("resource_id",wxCUserAuthority.getResourceId()); - author.put("class",wxCUserAuthority.getClassType()); - author.put("current_time",new Date(System.currentTimeMillis())); - author.put("expire_time",wxCUserAuthority.getExpireTime()); - authorList.add(author); + HashMap data = new HashMap<>(); + data.put("username",wxCUserAuthority.getUserName()); + data.put("type",wxCUserAuthority.getType()); + data.put("resource_id",wxCUserAuthority.getResourceId()); + data.put("class",wxCUserAuthority.getClassType()); + data.put("current_time",new Date(System.currentTimeMillis())); + data.put("expire_time",wxCUserAuthority.getExpireTime()); + authorList.add(data); } - resultMap.put("authorList",authorList); + authorVos.put("authorList",authorList); + info.put("log_id",id); + info.put("server_type","author"); + authorVos.put("info",info); + status.put("code",1000); + status.put("msg","success"); + authorVos.put("status",status); + return authorVos; } - HashMap resultMap = new HashMap<>(); - + HashMap data = new HashMap<>(); + HashMap info = new HashMap<>(); + HashMap status = new HashMap<>(); for (WxCUserAuthority wxCUserAuthority : resultList) { - resultMap.put("username",wxCUserAuthority.getUserName()); - resultMap.put("type",wxCUserAuthority.getType()); - resultMap.put("resource_id",wxCUserAuthority.getResourceId()); - resultMap.put("class",wxCUserAuthority.getClassType()); - resultMap.put("current_time",new Date(System.currentTimeMillis())); - resultMap.put("expire_time",wxCUserAuthority.getExpireTime()); + data.put("username",wxCUserAuthority.getUserName()); + data.put("type",wxCUserAuthority.getType()); + data.put("resource_id",wxCUserAuthority.getResourceId()); + data.put("class",wxCUserAuthority.getClassType()); + data.put("current_time",new Date(System.currentTimeMillis())); + data.put("expire_time",wxCUserAuthority.getExpireTime()); } + authorVos.put("data",data); + info.put("log_id",id); + info.put("server_type","author"); + authorVos.put("info",info); + status.put("code",1000); + status.put("msg","success"); + authorVos.put("status",status); - return new ResultData(resultMap); + return authorVos; } } diff --git a/suimangService/src/main/java/com/iformall/service/impl/WxCVideoServiceImpl.java b/suimangService/src/main/java/com/iformall/service/impl/WxCVideoServiceImpl.java index 2d34756..1521716 100644 --- a/suimangService/src/main/java/com/iformall/service/impl/WxCVideoServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/impl/WxCVideoServiceImpl.java @@ -32,11 +32,12 @@ public class WxCVideoServiceImpl implements WxCVideoService,IExcelExportServer { @Autowired WxCVideoMapper wxCVideoMapper; @Override - public ResultData getById(Long id) { + public Map getById(Long id) { + System.out.println("id = " + id); List TemplateVideo = wxCVideoMapper.getById(id); System.out.println("TemplateVideo = " + TemplateVideo); - Map resultMap = new HashMap(); + Map avatarVos = new HashMap(); Map data = new HashMap(); @@ -54,12 +55,20 @@ public class WxCVideoServiceImpl implements WxCVideoService,IExcelExportServer { avatar.put("avatar_preinfo",wxCVideoTable.getPreInfo()); avatar.put("expire_time",wxCVideoTable.getExpireTime()); authorlist.add(avatar); - resultMap.put("authorlist",authorlist); + data.put("authorlist",authorlist); } - resultMap.put("data",data); - - return new ResultData(resultMap); + avatarVos.put("data",data); + Map info = new HashMap(); + Map status = new HashMap(); + info.put("log_id",id); + info.put("server_type","avatar list"); + status.put("code",1000); + status.put("msg","success"); + avatarVos.put("info",info); + avatarVos.put("status",status); + + return avatarVos; } @Override diff --git a/suimangService/src/main/java/com/iformall/service/impl/WxCVoiceServiceImpl.java b/suimangService/src/main/java/com/iformall/service/impl/WxCVoiceServiceImpl.java index 3be82a4..bb20f1c 100644 --- a/suimangService/src/main/java/com/iformall/service/impl/WxCVoiceServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/impl/WxCVoiceServiceImpl.java @@ -8,10 +8,7 @@ import com.iformall.service.WxCVoiceService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.List; +import java.util.*; @Service public class WxCVoiceServiceImpl implements WxCVoiceService { @@ -21,18 +18,19 @@ public class WxCVoiceServiceImpl implements WxCVoiceService { @Override - public ResultData getById(Long id) { + public Map getById(Long id) { List resultList = wxCVoiceMapper.getById(id); HashMap result = new HashMap<>(); + HashMap data = new HashMap<>(); List audioList = new ArrayList(); for (WxCVoiceTable wxCVoiceTable : resultList) { HashMap audio = new HashMap<>(); HashMap voice = new HashMap<>(); HashMap style = new HashMap<>(); - result.put("username", wxCVoiceTable.getUserName()); - result.put("current_time", new Date(System.currentTimeMillis())); + data.put("username", wxCVoiceTable.getUserName()); + data.put("current_time", new Date(System.currentTimeMillis())); audioList.add(audio); audio.put("LocaleName", wxCVoiceTable.getLocalelName()); @@ -60,9 +58,17 @@ public class WxCVoiceServiceImpl implements WxCVoiceService { } - result.put("audioList", audioList); - - return new ResultData(result); + data.put("audioList", audioList); + result.put("data",data); + HashMap info = new HashMap<>(); + HashMap status = new HashMap<>(); + info.put("log_id",id); + info.put("server_type","audio list"); + result.put("info",info); + status.put("code",1000); + status.put("msg","success"); + result.put("status",status); + return result; } } diff --git a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java index 1c9cc4f..9eff9c3 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java @@ -220,79 +220,38 @@ public class PhotoSpeakVideoServiceImpl implements PhotoSpeakVideoService { Integer voiceFrom = photoSpeakVideo.getVoiceFrom(); String voiceMaterialUrl = photoSpeakVideo.getVoiceMaterialUrl(); - if (photoSpeakVideo.getSubtitleEnabled()==1){ -// //开启字幕 查询字幕列表 - Map reSubtitle = new HashMap(); - Map params = new HashMap(); - JSONObject subtitle = JSON.parseObject(photoSpeakVideo.getSubtitleParams()); - params.put("Fontname",(subtitle.get("Fontname")==null?"宋体":subtitle.get("Fontname"))); - params.put("Fontsize",(subtitle.get("Fontsize")==null? 25:subtitle.get("Fontsize"))); - params.put("PrimaryColour",(subtitle.get("PrimaryColour")==null?"&Hffffff":subtitle.get("PrimaryColour"))); - params.put("SecondaryColour",(subtitle.get("SecondaryColour")==null?"BBGGRR":subtitle.get("SecondaryColour"))); - params.put("OutlineColour",(subtitle.get("OutlineColour")==null?"BBGGRR":subtitle.get("OutlineColour"))); - params.put("BackColour",(subtitle.get("BackColour")==null?"&H0000ff":subtitle.get("BackColour"))); - params.put("Bold",(subtitle.get("Bold")==null? -1:subtitle.get("Bold"))); - params.put("Italic",(subtitle.get("Italic")==null? 0:subtitle.get("Italic"))); - params.put("Underline",(subtitle.get("Underline")==null? 0:subtitle.get("Underline"))); - params.put("Strikeout",(subtitle.get("Strikeout")==null? 0:subtitle.get("Strikeout"))); - params.put("ScaleX",(subtitle.get("ScaleX")==null? 100:subtitle.get("ScaleX"))); - params.put("ScaleY",(subtitle.get("ScaleY")==null? 100:subtitle.get("ScaleY"))); - params.put("Spacing",(subtitle.get("Spacing")==null? 0:subtitle.get("Spacing"))); - params.put("Angle",(subtitle.get("Angle")==null? 15:subtitle.get("Angle"))); - params.put("BorderStyle",(subtitle.get("BorderStyle")==null?"1":subtitle.get("BorderStyle"))); - params.put("Outline",(subtitle.get("Outline")==null? 20:subtitle.get("Outline"))); - params.put("Shadow",(subtitle.get("Shadow")==null? 12:subtitle.get("Shadow"))); - params.put("Alignment",(subtitle.get("Alignment")==null? 1:subtitle.get("Alignment"))); - params.put("MarginL",(subtitle.get("MarginL")==null? 100:subtitle.get("MarginL"))); - params.put("MarginR",(subtitle.get("MarginR")==null? 100:subtitle.get("MarginR"))); - params.put("MarginV",(subtitle.get("MarginV")==null? 100:subtitle.get("MarginV"))); - subtitle.put("enabled",1); - subtitle.put("text",photoSpeakVideo.getPaperwork()); - subtitle.put("params",params); - param.setSubtitle_params(subtitle); - - } -// List videoMapperList = photoSpeakVideoMapper.findList(speakVideoUpd); -// for (PhotoSpeakVideo speakVideo : videoMapperList) { -// if (speakVideo.getSubtitleEnabled()==1){ -//// 开启字幕 查询字幕列表 -// String[] getparams = speakVideo.getSubtitleParams().split(","); -// Map subtitle = new HashMap(); -// Map params = new HashMap(); -// Map map = new HashMap(); -// for (String s : getparams) { -// String[] kv = s.split(":"); -// map.put(kv[0],kv[1]); -// } -// -// params.put("Fontname",(map.get("Fontname")==null?"宋体":map.get("Fontname"))); -// params.put("Fontsize",(map.get("Fontsize")==null? 25:map.get("Fontsize"))); -// params.put("PrimaryColour",(map.get("PrimaryColour")==null?"&Hffffff":map.get("PrimaryColour"))); -// params.put("SecondaryColour",(map.get("SecondaryColour")==null?"BBGGRR":map.get("SecondaryColour"))); -// params.put("OutlineColour",(map.get("OutlineColour")==null?"BBGGRR":map.get("OutlineColour"))); -// params.put("BackColour",(map.get("BackColour")==null?"&H0000ff":map.get("BackColour"))); -// params.put("Bold",(map.get("Bold")==null? -1:map.get("Bold"))); -// params.put("Italic",(map.get("Italic")==null? 0:map.get("Italic"))); -// params.put("Underline",(map.get("Underline")==null? 0:map.get("Underline"))); -// params.put("Strikeout",(map.get("Strikeout")==null? 0:map.get("Strikeout"))); -// params.put("ScaleX",(map.get("ScaleX")==null? 100:map.get("ScaleX"))); -// params.put("ScaleY",(map.get("ScaleY")==null? 100:map.get("ScaleY"))); -// params.put("Spacing",(map.get("Spacing")==null? 0:map.get("Spacing"))); -// params.put("Angle",(map.get("Angle")==null? 15:map.get("Angle"))); -// params.put("BorderStyle",(map.get("BorderStyle")==null?"1":map.get("BorderStyle"))); -// params.put("Outline",(map.get("Outline")==null? 20:map.get("Outline"))); -// params.put("Shadow",(map.get("Shadow")==null? 12:map.get("Shadow"))); -// params.put("Alignment",(map.get("Alignment")==null? 1:map.get("Alignment"))); -// params.put("MarginL",(map.get("MarginL")==null? 100:map.get("MarginL"))); -// params.put("MarginR",(map.get("MarginR")==null? 100:map.get("MarginR"))); -// params.put("MarginV",(map.get("MarginV")==null? 100:map.get("MarginV"))); +// if (photoSpeakVideo.getSubtitleEnabled()==1){ +//// //开启字幕 查询字幕列表 +// Map reSubtitle = new HashMap(); +// Map params = new HashMap(); +// JSONObject subtitle = JSON.parseObject(photoSpeakVideo.getSubtitleParams()); +// params.put("Fontname",(subtitle.get("Fontname")==null?"宋体":subtitle.get("Fontname"))); +// params.put("Fontsize",(subtitle.get("Fontsize")==null? 25:subtitle.get("Fontsize"))); +// params.put("PrimaryColour",(subtitle.get("PrimaryColour")==null?"&Hffffff":subtitle.get("PrimaryColour"))); +// params.put("SecondaryColour",(subtitle.get("SecondaryColour")==null?"BBGGRR":subtitle.get("SecondaryColour"))); +// params.put("OutlineColour",(subtitle.get("OutlineColour")==null?"BBGGRR":subtitle.get("OutlineColour"))); +// params.put("BackColour",(subtitle.get("BackColour")==null?"&H0000ff":subtitle.get("BackColour"))); +// params.put("Bold",(subtitle.get("Bold")==null? -1:subtitle.get("Bold"))); +// params.put("Italic",(subtitle.get("Italic")==null? 0:subtitle.get("Italic"))); +// params.put("Underline",(subtitle.get("Underline")==null? 0:subtitle.get("Underline"))); +// params.put("Strikeout",(subtitle.get("Strikeout")==null? 0:subtitle.get("Strikeout"))); +// params.put("ScaleX",(subtitle.get("ScaleX")==null? 100:subtitle.get("ScaleX"))); +// params.put("ScaleY",(subtitle.get("ScaleY")==null? 100:subtitle.get("ScaleY"))); +// params.put("Spacing",(subtitle.get("Spacing")==null? 0:subtitle.get("Spacing"))); +// params.put("Angle",(subtitle.get("Angle")==null? 15:subtitle.get("Angle"))); +// params.put("BorderStyle",(subtitle.get("BorderStyle")==null?"1":subtitle.get("BorderStyle"))); +// params.put("Outline",(subtitle.get("Outline")==null? 20:subtitle.get("Outline"))); +// params.put("Shadow",(subtitle.get("Shadow")==null? 12:subtitle.get("Shadow"))); +// params.put("Alignment",(subtitle.get("Alignment")==null? 1:subtitle.get("Alignment"))); +// params.put("MarginL",(subtitle.get("MarginL")==null? 100:subtitle.get("MarginL"))); +// params.put("MarginR",(subtitle.get("MarginR")==null? 100:subtitle.get("MarginR"))); +// params.put("MarginV",(subtitle.get("MarginV")==null? 100:subtitle.get("MarginV"))); // subtitle.put("enabled",1); -// subtitle.put("text",speakVideo.getPaperwork()); +// subtitle.put("text",photoSpeakVideo.getPaperwork()); // subtitle.put("params",params); // param.setSubtitle_params(subtitle); -// } -// } - +// +// } if (EnumVoiceFrom.FROM_MOULD.getCode().equals(voiceFrom)) { param.setGen_txt(photoSpeakVideo.getPaperwork().replaceAll(str, "[*]")); From 53fe626013a0cd250e907381fd21056ca9ce4d61 Mon Sep 17 00:00:00 2001 From: twy <2301620162@qq.com> Date: Wed, 26 Jul 2023 13:50:33 +0800 Subject: [PATCH 36/48] =?UTF-8?q?=E6=85=A7=E6=92=ADv1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/UserLiveController.java | 56 +++++++++---------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/suimangCApi/src/main/java/com/iformall/controller/UserLiveController.java b/suimangCApi/src/main/java/com/iformall/controller/UserLiveController.java index a138f9c..16f3ad6 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/UserLiveController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/UserLiveController.java @@ -60,34 +60,34 @@ public class UserLiveController extends BaseController { @Autowired private WxCUserAuthorityService wxCUserAuthorityService; - @AuthIgnore - @ApiOperation("验证码") - @GetMapping("/captcha.jpg") - public void captcha(HttpServletResponse response) { - logger.debug("[" + getIpAddr() + "] WxUserGrantController::captcha"); - response.setHeader("Cache-Control", "no-store, no-cache"); - response.setContentType("image/jpeg"); - - //生成文字验证码 - String text = producer.createText(); - //生成图片验证码 - BufferedImage image = producer.createImage(text); - - //保存到redis - String ipAddr = getIpAddr(); - String key = Constant.captchaPrev + ":" + ipAddr; - RedisCacheUtils.cache(redisTemplate, key, text, 60); - - ServletOutputStream out = null; - try { - out = response.getOutputStream(); - ImageIO.write(image, "jpg", out); - } catch (IOException e) { - e.printStackTrace(); - } finally { - IOUtils.closeQuietly(out); - } - } +// @AuthIgnore +// @ApiOperation("验证码") +// @GetMapping("/captcha.jpg") +// public void captcha(HttpServletResponse response) { +// logger.debug("[" + getIpAddr() + "] WxUserGrantController::captcha"); +// response.setHeader("Cache-Control", "no-store, no-cache"); +// response.setContentType("image/jpeg"); +// +// //生成文字验证码 +// String text = producer.createText(); +// //生成图片验证码 +// BufferedImage image = producer.createImage(text); +// +// //保存到redis +// String ipAddr = getIpAddr(); +// String key = Constant.captchaPrev + ":" + ipAddr; +// RedisCacheUtils.cache(redisTemplate, key, text, 60); +// +// ServletOutputStream out = null; +// try { +// out = response.getOutputStream(); +// ImageIO.write(image, "jpg", out); +// } catch (IOException e) { +// e.printStackTrace(); +// } finally { +// IOUtils.closeQuietly(out); +// } +// } @AuthIgnore @PostMapping("/login") From ab30622b7f2c2e7e313aa99fba918d5dab275872 Mon Sep 17 00:00:00 2001 From: twy <2301620162@qq.com> Date: Wed, 26 Jul 2023 14:09:43 +0800 Subject: [PATCH 37/48] =?UTF-8?q?=E6=85=A7=E6=92=AD=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E9=AA=8C=E8=AF=81=E8=AE=BE=E7=BD=AE=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/UserLiveController.java | 54 ++----------------- .../mapper/WxCLiveUserBasicInfoMapper.java | 2 +- .../service/WxCLiveUserBasicInfoService.java | 2 +- .../impl/WxCLiveUserBasicInfoServiceImpl.java | 4 +- .../mapper/WxCLiveUserBasicInfoMapper.xml | 4 +- 5 files changed, 11 insertions(+), 55 deletions(-) diff --git a/suimangCApi/src/main/java/com/iformall/controller/UserLiveController.java b/suimangCApi/src/main/java/com/iformall/controller/UserLiveController.java index 16f3ad6..c755188 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/UserLiveController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/UserLiveController.java @@ -60,59 +60,15 @@ public class UserLiveController extends BaseController { @Autowired private WxCUserAuthorityService wxCUserAuthorityService; -// @AuthIgnore -// @ApiOperation("验证码") -// @GetMapping("/captcha.jpg") -// public void captcha(HttpServletResponse response) { -// logger.debug("[" + getIpAddr() + "] WxUserGrantController::captcha"); -// response.setHeader("Cache-Control", "no-store, no-cache"); -// response.setContentType("image/jpeg"); -// -// //生成文字验证码 -// String text = producer.createText(); -// //生成图片验证码 -// BufferedImage image = producer.createImage(text); -// -// //保存到redis -// String ipAddr = getIpAddr(); -// String key = Constant.captchaPrev + ":" + ipAddr; -// RedisCacheUtils.cache(redisTemplate, key, text, 60); -// -// ServletOutputStream out = null; -// try { -// out = response.getOutputStream(); -// ImageIO.write(image, "jpg", out); -// } catch (IOException e) { -// e.printStackTrace(); -// } finally { -// IOUtils.closeQuietly(out); -// } -// } @AuthIgnore @PostMapping("/login") - @ApiOperation(value = "用户登录", notes = "{\"username\":\"string\",\"password\":\"string\",\"code\":\"string\",\"Mcode\":\"string\",\"status\":\"int\"}") + @ApiOperation(value = "用户登录", notes = "{\"username\":\"string\",\"password\":\"string\",\"code\":\"string\",\"status\":\"int\"}") public Map login(@RequestBody Map map, HttpServletResponse response) { Map wxCLiveLoginVos = new HashMap<>(); String ipAddr = getIpAddr(); logger.debug("[" + ipAddr + "] WxUserGrantController::login"); - String code = map.get("code"); - if (StringUtils.isBlank(code)) { - HashMap status = new HashMap<>(); - status.put("code",ErrorCode.SYS_PARAMETER_NOT_NULL.getCode()); - status.put("message","请输入验证码"); - wxCLiveLoginVos.put("status",status); - return wxCLiveLoginVos; - // new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "请输入验证码"); - } - String key = Constant.captchaPrev + ":" + ipAddr; - String code1 = RedisCacheUtils.getCacheString(redisTemplate, key); -// if (StringUtils.isBlank(code1)) { -// return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "验证码已过期"); -// } -// if (!code1.equals(code)) { -// return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "验证码不正确"); -// } + String phone = map.get("username"); String password = map.get("password"); if (StringUtils.isBlank(phone) || StringUtils.isBlank(password)) { @@ -148,7 +104,7 @@ public class UserLiveController extends BaseController { if (statu == 0) { WxCUserBasicInfo basicLiveInfo = wxCLiveUserBasicInfoService.getById(basicInfo.getId()); - if (basicLiveInfo.getCode() != null && !map.get("Mcode").equals(basicLiveInfo.getCode())) { + if (basicLiveInfo.getCode() != null && !map.get("code").equals(basicLiveInfo.getCode())) { HashMap status = new HashMap<>(); status.put("code",ErrorCode.USER_ALREADY_LOGIN.getCode()); status.put("message","用户已在其他设备登录"); @@ -157,7 +113,7 @@ public class UserLiveController extends BaseController { // return new ResultData(ErrorCode.USER_ALREADY_LOGIN.getCode(), "用户已在其他设备登录"); } if (basicLiveInfo.getCode() == null) { - wxCLiveUserBasicInfoService.updateCode(basicInfo.getId(), map.get("Mcode")); + wxCLiveUserBasicInfoService.updateCode(basicInfo.getId(), map.get("code")); } } if (statu == -1) { @@ -178,7 +134,7 @@ public class UserLiveController extends BaseController { WxCLiveLoginVo wxCLiveLoginVo = new WxCLiveLoginVo(); - wxCLiveLoginVo.setCode(Integer.parseInt(map.get("Mcode"))); + wxCLiveLoginVo.setCode(Integer.parseInt(map.get("code"))); //wxCLiveLoginVo.setVersion(basicLiveInfo.getVersion()); wxCLiveLoginVo.setUsername(map.get("username")); //wxCLiveLoginVo.setStatus(0); diff --git a/suimangService/src/main/java/com/iformall/mapper/WxCLiveUserBasicInfoMapper.java b/suimangService/src/main/java/com/iformall/mapper/WxCLiveUserBasicInfoMapper.java index ffa1833..4189333 100644 --- a/suimangService/src/main/java/com/iformall/mapper/WxCLiveUserBasicInfoMapper.java +++ b/suimangService/src/main/java/com/iformall/mapper/WxCLiveUserBasicInfoMapper.java @@ -7,5 +7,5 @@ public interface WxCLiveUserBasicInfoMapper extends CommonMapper - update wx_c_user_live_basic_info set code = #{mcode} where id = #{id} + update wx_c_user_live_basic_info set code = #{code} where id = #{id} @@ -320,4 +320,4 @@ - \ No newline at end of file + From 1c7b6100716ee5c35386991144fec2e6c1c09510 Mon Sep 17 00:00:00 2001 From: twy <2301620162@qq.com> Date: Wed, 26 Jul 2023 14:53:36 +0800 Subject: [PATCH 38/48] =?UTF-8?q?=E6=85=A7=E6=92=AD=E8=B5=84=E6=BA=90?= =?UTF-8?q?=E6=9D=83=E9=99=90=E6=9F=A5=E8=AF=A2=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/iformall/domain/po/WxCUserAuthority.java | 6 +++--- .../src/main/resources/mapper/WxCUserAuthorityMapper.xml | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/suimangService/src/main/java/com/iformall/domain/po/WxCUserAuthority.java b/suimangService/src/main/java/com/iformall/domain/po/WxCUserAuthority.java index 65e4ca0..3bc0c61 100644 --- a/suimangService/src/main/java/com/iformall/domain/po/WxCUserAuthority.java +++ b/suimangService/src/main/java/com/iformall/domain/po/WxCUserAuthority.java @@ -14,11 +14,11 @@ public class WxCUserAuthority { @TableField(exist = false) private String userName; @TableField(exist = false) //数字人 0 声纹 1 - private String type; + private int type; @TableField(exist = false) private String resourceId; - @TableField(exist = false) //共享 0 定制 1 - private String classType; + //共享 0 定制 1 + private int classType; @TableField(exist = false) private String currentTime; @TableField(exist = false) diff --git a/suimangService/src/main/resources/mapper/WxCUserAuthorityMapper.xml b/suimangService/src/main/resources/mapper/WxCUserAuthorityMapper.xml index 290c750..9fdfba6 100644 --- a/suimangService/src/main/resources/mapper/WxCUserAuthorityMapper.xml +++ b/suimangService/src/main/resources/mapper/WxCUserAuthorityMapper.xml @@ -5,11 +5,11 @@ - + - + - + + diff --git a/suimangService/src/main/resources/mapper/WxCVoiceMapper.xml b/suimangService/src/main/resources/mapper/WxCVoiceMapper.xml index 6f2827b..89e9e6e 100644 --- a/suimangService/src/main/resources/mapper/WxCVoiceMapper.xml +++ b/suimangService/src/main/resources/mapper/WxCVoiceMapper.xml @@ -5,13 +5,18 @@ - - - + + + - - - + + + + + + + + @@ -19,13 +24,21 @@ + + + + + + + + From 985d2cfcfa990db189f5b92c40bb3aae299fc29e Mon Sep 17 00:00:00 2001 From: twy <2301620162@qq.com> Date: Thu, 27 Jul 2023 15:01:38 +0800 Subject: [PATCH 45/48] =?UTF-8?q?=E5=AE=9A=E5=88=B6=E5=85=B1=E4=BA=AB?= =?UTF-8?q?=E6=9E=9A=E4=B8=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/iformall/enums/EnumClassType.java | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 suimangService/src/main/java/com/iformall/enums/EnumClassType.java diff --git a/suimangService/src/main/java/com/iformall/enums/EnumClassType.java b/suimangService/src/main/java/com/iformall/enums/EnumClassType.java new file mode 100644 index 0000000..5b4401e --- /dev/null +++ b/suimangService/src/main/java/com/iformall/enums/EnumClassType.java @@ -0,0 +1,44 @@ +package com.iformall.enums; + +public enum EnumClassType { + + SHARE(0, "共享"), + CUSTOMIZATION(1, "定制"), + ; + + public static EnumClassType getEnum(Integer code) { + for (EnumClassType value : values()) { + if (value.getCode().equals(code)) { + return value; + } + } + return null; + } + + private EnumClassType(Integer code, String message) { + this.code = code; + this.message = message; + } + + private Integer code; + private String message; + + + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public Integer getCode() { + return code; + } + + public void setCode(Integer code) { + this.code = code; + } + +} From cd5a4d62b6c7c21c07ed2ce9483e90e2f4143409 Mon Sep 17 00:00:00 2001 From: twy <2301620162@qq.com> Date: Thu, 27 Jul 2023 15:04:09 +0800 Subject: [PATCH 46/48] test --- .../java/com/iformall/service/impl/WxCVoiceServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/suimangService/src/main/java/com/iformall/service/impl/WxCVoiceServiceImpl.java b/suimangService/src/main/java/com/iformall/service/impl/WxCVoiceServiceImpl.java index 057a461..c1bf7f2 100644 --- a/suimangService/src/main/java/com/iformall/service/impl/WxCVoiceServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/impl/WxCVoiceServiceImpl.java @@ -153,7 +153,7 @@ public class WxCVoiceServiceImpl implements WxCVoiceService { return resultMap; //return new ResultData(result.getCode(), result.getMsgInfo(result.getCode(),result.getMsg())); } - +//test @Override public List chooseType(Long id) { List voiceInfos = voiceMapper.selectList( From f5e9062a5e1d201ebe2efa82d0be94fbd260987b Mon Sep 17 00:00:00 2001 From: twy <2301620162@qq.com> Date: Thu, 27 Jul 2023 18:20:07 +0800 Subject: [PATCH 47/48] =?UTF-8?q?=E8=A7=86=E9=A2=91=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E6=B7=BB=E5=8A=A0=E5=AD=97=E6=AE=B5=E5=8F=8A?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E6=B5=81=E5=92=8C=E9=A2=84=E5=A4=84=E7=90=86?= =?UTF-8?q?md5=E9=AA=8C=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/UserLiveController.java | 33 ++++++++++++++++++- .../com/iformall/domain/po/WxCVideoTable.java | 10 +++++- .../com/iformall/service/WxCVideoService.java | 2 +- .../service/impl/WxCVideoServiceImpl.java | 33 ++++++++++++++++++- .../main/resources/mapper/WxCVideoMapper.xml | 7 ++++ 5 files changed, 81 insertions(+), 4 deletions(-) diff --git a/suimangCApi/src/main/java/com/iformall/controller/UserLiveController.java b/suimangCApi/src/main/java/com/iformall/controller/UserLiveController.java index f2d5ce4..1487836 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/UserLiveController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/UserLiveController.java @@ -200,7 +200,7 @@ public class UserLiveController extends BaseController { @AuthIgnore @PostMapping("/avatarList") @ApiOperation(value = "视频模板列表", notes = "{\"username\",\"string\",\"code\",\"string\"}") - public Map avatarList(@RequestBody Map params) { + public Map avatarList(@RequestBody Map params) throws Exception { Map avatarVos = new HashMap<>(); String ipaddress = getIpAddr(); logger.debug("[" + ipaddress + "] WxUserGrantController::getAvatarList"); @@ -209,6 +209,16 @@ public class UserLiveController extends BaseController { Long id = infoByPhone.getId(); System.out.println("id = " + id); + //鉴权 + WxCUserBasicInfo basicLiveInfo = wxCLiveUserBasicInfoService.getById(id); + if (basicLiveInfo.getCode() != null && !params.get("code").equals(basicLiveInfo.getCode())) { + HashMap status = new HashMap<>(); + status.put("code",ErrorCode.USER_ALREADY_LOGIN.getCode()); + status.put("message","用户已在其他设备登录"); + avatarVos.put("status",status); + return avatarVos; + } + Map status = new HashMap<>(); status.put("code",1000); status.put("msg","success"); @@ -229,6 +239,7 @@ public class UserLiveController extends BaseController { @PostMapping("/audioList") @ApiOperation(value = "音频模板列表", notes = "{\"username\",\"string\",\"code\",\"string\"}") public Map audioList(@RequestBody Map params) { + Map resultMap = new HashMap<>(); String ipaddress = getIpAddr(); logger.debug("[" + ipaddress + "] WxUserGrantController::getAudioList"); String phone = params.get("username"); @@ -237,6 +248,16 @@ public class UserLiveController extends BaseController { Long id = infoByPhone.getId(); System.out.println("id = " + id); + + WxCUserBasicInfo basicLiveInfo = wxCLiveUserBasicInfoService.getById(id); + if (basicLiveInfo.getCode() != null && !params.get("code").equals(basicLiveInfo.getCode())) { + HashMap status = new HashMap<>(); + status.put("code",ErrorCode.USER_ALREADY_LOGIN.getCode()); + status.put("message","用户已在其他设备登录"); + resultMap.put("status",status); + return resultMap; + } + // long id = getMemberId(); @@ -251,6 +272,7 @@ public class UserLiveController extends BaseController { @ApiOperation(value = "资源权限查询", notes = "{\"username\",\"string\",\"code\",\"string\",\"type\",\"int\",\"resource_id\",\"long\"}") @PostMapping("/author") public Map getAuthor(@RequestBody Map params) { + Map resultMap = new HashMap<>(); String ipaddress = getIpAddr(); logger.debug("[" + ipaddress + "] WxUserGrantController::getAuthor"); @@ -260,6 +282,15 @@ public class UserLiveController extends BaseController { Long id = infoByPhone.getId(); System.out.println("id = " + id); + WxCUserBasicInfo basicLiveInfo = wxCLiveUserBasicInfoService.getById(id); + if (basicLiveInfo.getCode() != null && !params.get("code").equals(basicLiveInfo.getCode())) { + HashMap status = new HashMap<>(); + status.put("code",ErrorCode.USER_ALREADY_LOGIN.getCode()); + status.put("message","用户已在其他设备登录"); + resultMap.put("status",status); + return resultMap; + } + //long id = getMemberId(); diff --git a/suimangService/src/main/java/com/iformall/domain/po/WxCVideoTable.java b/suimangService/src/main/java/com/iformall/domain/po/WxCVideoTable.java index 35749ba..710d3cb 100644 --- a/suimangService/src/main/java/com/iformall/domain/po/WxCVideoTable.java +++ b/suimangService/src/main/java/com/iformall/domain/po/WxCVideoTable.java @@ -28,6 +28,8 @@ public class WxCVideoTable extends TenantEntityWithoutFinalTenantId { @io.swagger.annotations.ApiModelProperty(value="数字人id",name="id") private int id; + @io.swagger.annotations.ApiModelProperty(value="套餐0共享 1定制",name="class") + private int classType; @io.swagger.annotations.ApiModelProperty(value="数字人名称",name="name") private String name; @@ -35,8 +37,14 @@ public class WxCVideoTable extends TenantEntityWithoutFinalTenantId { private String image; @io.swagger.annotations.ApiModelProperty(value="数字人样例视频链接",name="demo") private String demo; - @io.swagger.annotations.ApiModelProperty(value="数字人模板预处理信息文件链接",name="preInfo") + @io.swagger.annotations.ApiModelProperty(value="数字人样例视频链接",name="model") + private String model; + @io.swagger.annotations.ApiModelProperty(value="数字人模板预处理信息文件链接",name="preinfo") private String preInfo; + @io.swagger.annotations.ApiModelProperty(value="数字人模板预处理信息文件链接",name="model_path") + private String modelPath; + @io.swagger.annotations.ApiModelProperty(value="数字人模板预处理信息文件链接",name="preInfo_path") + private String preInfoPath; diff --git a/suimangService/src/main/java/com/iformall/service/WxCVideoService.java b/suimangService/src/main/java/com/iformall/service/WxCVideoService.java index 3e4a6d2..3fd48c1 100644 --- a/suimangService/src/main/java/com/iformall/service/WxCVideoService.java +++ b/suimangService/src/main/java/com/iformall/service/WxCVideoService.java @@ -8,7 +8,7 @@ import java.util.Map; public interface WxCVideoService { - Map getById(Long id); + Map getById(Long id) throws Exception; WxCVideoTable selectOne(Long id, long resource_id); } diff --git a/suimangService/src/main/java/com/iformall/service/impl/WxCVideoServiceImpl.java b/suimangService/src/main/java/com/iformall/service/impl/WxCVideoServiceImpl.java index e66ced3..8c5fd20 100644 --- a/suimangService/src/main/java/com/iformall/service/impl/WxCVideoServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/impl/WxCVideoServiceImpl.java @@ -7,6 +7,7 @@ import com.iformall.common.ResultData; import com.iformall.domain.po.WxCUserBasicInfo; import com.iformall.domain.po.WxCVideoTable; import com.iformall.domain.vo.WxCUserBasicInfoVo; +import com.iformall.enums.EnumClassType; import com.iformall.mapper.WxCUserBasicInfoMapper; import com.iformall.mapper.WxCVideoMapper; import com.iformall.service.WxCUserTagsService; @@ -16,6 +17,11 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.io.BufferedInputStream; +import java.io.File; +import java.io.FileInputStream; +import java.math.BigInteger; +import java.security.MessageDigest; import java.util.*; import java.util.stream.Collectors; @@ -32,7 +38,7 @@ public class WxCVideoServiceImpl implements WxCVideoService,IExcelExportServer { @Autowired WxCVideoMapper wxCVideoMapper; @Override - public Map getById(Long id) { + public Map getById(Long id) throws Exception { System.out.println("id = " + id); List TemplateVideo = wxCVideoMapper.getById(id); @@ -52,8 +58,15 @@ public class WxCVideoServiceImpl implements WxCVideoService,IExcelExportServer { avatar.put("avatar_name",wxCVideoTable.getName()); avatar.put("avatar_image",wxCVideoTable.getImage()); avatar.put("avatar_demo",wxCVideoTable.getDemo()); + File modelFile = new File(wxCVideoTable.getModelPath()); + + avatar.put("avatar_demo_md5",getFileMD5(modelFile)); avatar.put("avatar_preinfo",wxCVideoTable.getPreInfo()); + + File preinfoFile = new File(wxCVideoTable.getPreInfoPath()); + avatar.put("avatar_preinfo_md5",getFileMD5(preinfoFile)); avatar.put("expire_time",wxCVideoTable.getExpireTime()); + avatar.put("class", wxCVideoTable.getClassType()); authorlist.add(avatar); data.put("authorlist",authorlist); } @@ -130,4 +143,22 @@ public class WxCVideoServiceImpl implements WxCVideoService,IExcelExportServer { } return null; } + + + + public static String getFileMD5(File file) throws Exception { + MessageDigest md = MessageDigest.getInstance("MD5"); + try (BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file))) { + byte[] buffer = new byte[1024]; + int read = 0; + while ((read = bis.read(buffer)) != -1) { + md.update(buffer, 0, read); + } + } + byte[] digest = md.digest(); + String md5 = String.format("%032x", new BigInteger(1, digest)); + return md5; + +} + } diff --git a/suimangService/src/main/resources/mapper/WxCVideoMapper.xml b/suimangService/src/main/resources/mapper/WxCVideoMapper.xml index bce9dd4..dd0e225 100644 --- a/suimangService/src/main/resources/mapper/WxCVideoMapper.xml +++ b/suimangService/src/main/resources/mapper/WxCVideoMapper.xml @@ -8,7 +8,11 @@ + + + + @@ -21,13 +25,16 @@ --> +