Parcourir la source

Merge branch 'photo' of https://git.malls.iformall.com/suimang/suimangServer into photo

private_deployment
xhxu il y a 1 an
Parent
révision
c1953918e7
13 fichiers modifiés avec 543 ajouts et 4 suppressions
  1. +96
    -0
      suimangCApi/src/main/java/com/iformall/controller/JsonImportController.java
  2. +26
    -4
      suimangCApi/src/main/java/com/iformall/controller/VoiceMouldController.java
  3. +114
    -0
      suimangService/src/main/java/com/iformall/domain/po/json/JsonRootBean.java
  4. +75
    -0
      suimangService/src/main/java/com/iformall/domain/po/sm/VoiceInfo.java
  5. +75
    -0
      suimangService/src/main/java/com/iformall/domain/po/sm/VoiceLanguage.java
  6. +13
    -0
      suimangService/src/main/java/com/iformall/mapper/VoiceLanguageMapper.java
  7. +13
    -0
      suimangService/src/main/java/com/iformall/mapper/VoiceMapper.java
  8. +13
    -0
      suimangService/src/main/java/com/iformall/service/sm/VoiceInfoService.java
  9. +12
    -0
      suimangService/src/main/java/com/iformall/service/sm/VoiceLanguageService.java
  10. +32
    -0
      suimangService/src/main/java/com/iformall/service/sm/impl/VoiceInfoServiceImpl.java
  11. +26
    -0
      suimangService/src/main/java/com/iformall/service/sm/impl/VoiceLanguageServiceImpl.java
  12. +20
    -0
      suimangService/src/main/resources/mapper/VoiceLanguageMapper.xml
  13. +28
    -0
      suimangService/src/main/resources/mapper/VoiceMapper.xml

+ 96
- 0
suimangCApi/src/main/java/com/iformall/controller/JsonImportController.java Voir le fichier

@@ -0,0 +1,96 @@
package com.iformall.controller;

import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.iformall.common.ResultData;
import com.iformall.domain.po.json.JsonRootBean;
import com.iformall.domain.po.sm.VoiceInfo;
import com.iformall.domain.po.sm.VoiceLanguage;
import com.iformall.domain.po.sm.VoiceMould;
import com.iformall.enums.EnumSex;
import com.iformall.mapper.VoiceLanguageMapper;
import com.iformall.mapper.VoiceMapper;
import com.iformall.mapper.VoiceMouldMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;

import java.util.*;

@RestController
@RequestMapping("/import")
public class JsonImportController {

private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
private VoiceLanguageMapper voiceLanguageMapper;

@Autowired
private VoiceMouldMapper voiceMouldMapper;

@Autowired
private VoiceMapper voiceMapper;

@Transactional(rollbackFor = Exception.class)
@PostMapping("/json")
public ResultData importMethod(@RequestBody List<JsonRootBean> list) {
String str = "https://suimang.oss-accelerate.aliyuncs.com/builtin/country/";
HashSet<VoiceLanguage> set = new HashSet<>();
for (JsonRootBean bean : list) {
VoiceLanguage language = new VoiceLanguage();
String[] split = bean.getLocale().split("-");
language.setCountry(split[0]);
language.setLanguage(split[1]);
language.setImg(str + split[0] + ".png");
language.setLocal(bean.getLocale());
language.setName(bean.getLocaleName());
language.setIsDel(0);
set.add(language);
}
voiceLanguageMapper.saveBatch(set);

List<VoiceInfo> list1 = new ArrayList<>();
for (JsonRootBean bean : list) {
Date date = new Date();
VoiceInfo voiceInfo = new VoiceInfo();
voiceInfo.setIsDel(0);
VoiceMould voiceMould = voiceMouldMapper.selectOne(new QueryWrapper<VoiceMould>().lambda().eq(VoiceMould::getMouldSmId, bean.getShortName()).eq(VoiceMould::getParentId, 0).select(VoiceMould::getId));
if (!ObjectUtils.isEmpty(voiceMould)) {
voiceInfo.setId(voiceMould.getId());
}
VoiceLanguage voiceLanguage = voiceLanguageMapper.selectOne(new QueryWrapper<VoiceLanguage>().lambda().eq(VoiceLanguage::getLocal, bean.getLocale()));
if (!ObjectUtils.isEmpty(voiceLanguage)) {
voiceInfo.setLanguageId(voiceLanguage.getId());
}else {
System.out.println(bean.getName());
}
String gender = bean.getGender();
if (gender.equals("Male")) {
voiceInfo.setSex(EnumSex.MALE.getCode());
} else if (gender.equals("Female")) {
voiceInfo.setSex(EnumSex.FEMALE.getCode());
} else {
voiceInfo.setSex(EnumSex.UNKNOWN.getCode());
}
voiceInfo.setDisplayName(bean.getDisplayName());
voiceInfo.setLocalName(bean.getLocalName());
voiceInfo.setMouldSmId(bean.getShortName());
voiceInfo.setSampleRateHertz(bean.getSampleRateHertz());
voiceInfo.setWordsPerMinute(bean.getWordsPerMinute());
voiceInfo.setVoiceType(bean.getVoiceType());
if (!StringUtils.isEmpty(bean.getStyleList())) {
voiceInfo.setStyleList(JSON.toJSONString(bean.getStyleList()));
}
voiceInfo.setCreateDate(date);
voiceInfo.setUpdateDate(date);
list1.add(voiceInfo);
}
voiceMapper.saveBatch(list1);
return new ResultData("导入完成");
}
}

+ 26
- 4
suimangCApi/src/main/java/com/iformall/controller/VoiceMouldController.java Voir le fichier

@@ -11,15 +11,14 @@ import com.iformall.domain.po.sm.UserMouldVideo;
import com.iformall.domain.po.sm.VoiceMould;
import com.iformall.enums.*;
import com.iformall.language.LanguageDetect;
import com.iformall.service.sm.MouldPatchService;
import com.iformall.service.sm.MouldPatchSignService;
import com.iformall.service.sm.PersonMouldService;
import com.iformall.service.sm.VoiceMouldService;
import com.iformall.mapper.VoiceLanguageMapper;
import com.iformall.service.sm.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.checkerframework.checker.units.qual.A;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -44,6 +43,12 @@ public class VoiceMouldController extends BaseController {
@Autowired
private MouldPatchSignService mouldPatchSignService;

@Autowired
private VoiceInfoService voiceInfoService;

@Autowired
private VoiceLanguageService voiceLanguageService;

@AuthIgnore
@ApiOperation("获取语种")
@GetMapping("getLanguages")
@@ -131,4 +136,21 @@ public class VoiceMouldController extends BaseController {
return new ResultData(page);
}

@AuthIgnore
@ApiOperation("语言选择下拉框")
@GetMapping("/voiceTotal")
@ApiImplicitParams({})
public ResultData voiceTotal() {
logger.debug("[" + getIpAddr() + "] MouldPatchController::voiceTotal");
return new ResultData(voiceLanguageService.voiceTotal());
}

@AuthIgnore
@ApiOperation("选择声音选择风格")
@GetMapping("/chooseType")
@ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
public ResultData chooseType(Long id) {
logger.debug("[" + getIpAddr() + "] MouldPatchController::chooseType");
return new ResultData(voiceInfoService.chooseType(id));
}
}

+ 114
- 0
suimangService/src/main/java/com/iformall/domain/po/json/JsonRootBean.java Voir le fichier

@@ -0,0 +1,114 @@
package com.iformall.domain.po.json;

import java.util.List;

public class JsonRootBean {
private String name;
private String displayName;
private String localName;
private String shortName;
private String gender;
private String locale;
private String localeName;
private String sampleRateHertz;
private String voiceType;
private String status;
private String wordsPerMinute;
private List<String> styleList;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getDisplayName() {
return displayName;
}

public void setDisplayName(String displayName) {
this.displayName = displayName;
}

public String getLocalName() {
return localName;
}

public void setLocalName(String localName) {
this.localName = localName;
}

public String getShortName() {
return shortName;
}

public void setShortName(String shortName) {
this.shortName = shortName;
}

public String getGender() {
return gender;
}

public void setGender(String gender) {
this.gender = gender;
}

public String getLocale() {
return locale;
}

public void setLocale(String locale) {
this.locale = locale;
}

public String getLocaleName() {
return localeName;
}

public void setLocaleName(String localeName) {
this.localeName = localeName;
}

public String getSampleRateHertz() {
return sampleRateHertz;
}

public void setSampleRateHertz(String sampleRateHertz) {
this.sampleRateHertz = sampleRateHertz;
}

public String getVoiceType() {
return voiceType;
}

public void setVoiceType(String voiceType) {
this.voiceType = voiceType;
}

public String getStatus() {
return status;
}

public void setStatus(String status) {
this.status = status;
}

public String getWordsPerMinute() {
return wordsPerMinute;
}

public void setWordsPerMinute(String wordsPerMinute) {
this.wordsPerMinute = wordsPerMinute;
}

public List<String> getStyleList() {
return styleList;
}

public void setStyleList(List<String> styleList) {
this.styleList = styleList;
}
}

+ 75
- 0
suimangService/src/main/java/com/iformall/domain/po/sm/VoiceInfo.java Voir le fichier

@@ -0,0 +1,75 @@
package com.iformall.domain.po.sm;


import lombok.Data;

import java.util.Date;
import java.util.List;

/**
* 声音表
*/
@Data
public class VoiceInfo {
/**
* 主键ID
*/
private Long id;
/**
* 语种表id(voice_language.id)
*/
private Long languageId;
/**
* 租户ID
*/
private String tenantId;
/**
* 父租户ID
*/
private String parentTenantId;
/**
* 性别
*/
private Integer sex;
/**
*
*/
private String displayName;
/**
*
*/
private String localName;
/**
*
*/
private String mouldSmId;
/**
*
*/
private String sampleRateHertz;
/**
*
*/
private String wordsPerMinute;
/**
*
*/
private String voiceType;
/**
* 说话类型json
*/
private String styleList;
private List<String> style;
/**
* 创建时间
*/
private Date createDate;
/**
* 更新时间
*/
private Date updateDate;
/**
* 是否删除1是0否
*/
private Integer isDel;
}

+ 75
- 0
suimangService/src/main/java/com/iformall/domain/po/sm/VoiceLanguage.java Voir le fichier

@@ -0,0 +1,75 @@
package com.iformall.domain.po.sm;


import lombok.Data;

import java.util.Date;
import java.util.Objects;

/**
* 语种表
*/
@Data
public class VoiceLanguage implements Comparable {

/**
* 主键ID
*/
private Long id;
/**
* 租户ID
*/
private String tenantId;
/**
* 父租户ID
*/
private String parentTenantId;
/**
* 国家code
*/
private String country;
/**
* 语言code
*/
private String language;
/**
*
*/
private String local;
/**
*
*/
private String name;
/**
* 图片
*/
private String img;
/**
* 创建时间
*/
private Date createDate;
/**
* 更新时间
*/
private Date updateDate;
/**
* 是否删除1是0否
*/
private Integer isDel;

@Override
public int compareTo(Object obj) {
// 判断是否是学生类型
if (obj instanceof VoiceLanguage) {
VoiceLanguage s = (VoiceLanguage) obj;
// 如果是学生类型,如果学号相等,则不加入Set
if (Objects.equals(s.getLanguage(), this.getLanguage()) && Objects.equals(s.getCountry(), this.getCountry())) {
return 0;
} else {
return 1;
}
} else {
return 0;
}
}
}

+ 13
- 0
suimangService/src/main/java/com/iformall/mapper/VoiceLanguageMapper.java Voir le fichier

@@ -0,0 +1,13 @@
package com.iformall.mapper;


import com.iformall.common.CommonMapper;
import com.iformall.domain.po.sm.VoiceLanguage;
import org.apache.ibatis.annotations.Param;

import java.util.HashSet;

public interface VoiceLanguageMapper extends CommonMapper<VoiceLanguage, String> {
void saveBatch(@Param("set") HashSet<VoiceLanguage> set);
}


+ 13
- 0
suimangService/src/main/java/com/iformall/mapper/VoiceMapper.java Voir le fichier

@@ -0,0 +1,13 @@
package com.iformall.mapper;


import com.iformall.common.CommonMapper;
import com.iformall.domain.po.sm.VoiceInfo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface VoiceMapper extends CommonMapper<VoiceInfo, String> {
void saveBatch(@Param("list") List<VoiceInfo> list);
}


+ 13
- 0
suimangService/src/main/java/com/iformall/service/sm/VoiceInfoService.java Voir le fichier

@@ -0,0 +1,13 @@
package com.iformall.service.sm;


import com.iformall.common.ErrorCode;
import com.iformall.domain.po.sm.VoiceInfo;
import com.iformall.domain.po.sm.VoiceLanguage;

import java.util.List;

public interface VoiceInfoService {

List<VoiceInfo> chooseType(Long id);
}

+ 12
- 0
suimangService/src/main/java/com/iformall/service/sm/VoiceLanguageService.java Voir le fichier

@@ -0,0 +1,12 @@
package com.iformall.service.sm;


import com.iformall.domain.po.sm.VoiceLanguage;

import java.util.List;

public interface VoiceLanguageService {

List<VoiceLanguage> voiceTotal();

}

+ 32
- 0
suimangService/src/main/java/com/iformall/service/sm/impl/VoiceInfoServiceImpl.java Voir le fichier

@@ -0,0 +1,32 @@
package com.iformall.service.sm.impl;


import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.iformall.domain.po.sm.VoiceInfo;
import com.iformall.mapper.VoiceMapper;
import com.iformall.service.sm.VoiceInfoService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class VoiceInfoServiceImpl implements VoiceInfoService {

@Autowired
private VoiceMapper voiceMapper;

@Override
public List<VoiceInfo> chooseType(Long id) {
List<VoiceInfo> voiceInfos = voiceMapper.selectList(new LambdaQueryWrapper<VoiceInfo>().eq(VoiceInfo::getLanguageId, id).select(VoiceInfo::getId, VoiceInfo::getDisplayName, VoiceInfo::getStyleList));
voiceInfos.forEach(x -> {
if (StringUtils.isNotEmpty(x.getStyleList())) {
List<String> strings = JSON.parseArray(x.getStyleList(), String.class);
x.setStyle(strings);
}
});
return voiceInfos;
}
}

+ 26
- 0
suimangService/src/main/java/com/iformall/service/sm/impl/VoiceLanguageServiceImpl.java Voir le fichier

@@ -0,0 +1,26 @@
package com.iformall.service.sm.impl;


import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.google.common.collect.Lists;
import com.iformall.domain.po.sm.VoiceLanguage;
import com.iformall.mapper.VoiceLanguageMapper;
import com.iformall.service.sm.VoiceLanguageService;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class VoiceLanguageServiceImpl implements VoiceLanguageService {

@Autowired
private VoiceLanguageMapper voiceLanguageMapper;

@Override
public List<VoiceLanguage> voiceTotal() {
List<VoiceLanguage> languages = voiceLanguageMapper.selectList(new LambdaQueryWrapper<VoiceLanguage>().eq(VoiceLanguage::getIsDel, 0).select(VoiceLanguage::getId, VoiceLanguage::getName));
return CollectionUtils.isEmpty(languages) ? Lists.newArrayList() : languages;
}
}

+ 20
- 0
suimangService/src/main/resources/mapper/VoiceLanguageMapper.xml Voir le fichier

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.iformall.mapper.VoiceLanguageMapper">
<insert id="saveBatch" parameterType="java.util.HashSet">
INSERT INTO voice_language (`id`, `country`,
`language`, `local`, `name`, `img`, `is_del`)
VALUES
<foreach collection="set" item="item" separator=",">
(
#{item.id},
#{item.country},
#{item.language},
#{item.local},
#{item.name},
#{item.img},
#{item.isDel}
)
</foreach>
</insert>
</mapper>

+ 28
- 0
suimangService/src/main/resources/mapper/VoiceMapper.xml Voir le fichier

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.iformall.mapper.VoiceMapper">
<insert id="saveBatch" parameterType="java.util.List">
INSERT INTO voice_info (`id`, `language_id`, `sex`,
`display_name`, `local_name`, `mould_sm_id`,
`sample_rate_hertz`, `words_per_minute`, `voice_type`,
`style_list`, `create_date`, `update_date`, `is_del`)
VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.id},
#{item.languageId},
#{item.sex},
#{item.localName},
#{item.displayName},
#{item.mouldSmId},
#{item.sampleRateHertz},
#{item.wordsPerMinute},
#{item.voiceType},
#{item.styleList},
#{item.createDate},
#{item.updateDate},
#{item.isDel}
)
</foreach>
</insert>
</mapper>

Chargement…
Annuler
Enregistrer