From 162a77980008bdd5f2def147e914ad54fed2a31c Mon Sep 17 00:00:00 2001 From: winter Date: Thu, 16 Nov 2023 14:32:27 +0800 Subject: [PATCH] fix --- .../controller/sm/PersonMouldController.java | 84 +++++++++++ .../controller/sm/VoiceMouldController.java | 131 ++++++++++++++++++ .../controller/UserMouldVideoController.java | 21 +++ .../iformall/domain/po/sm/PersonMould.java | 12 ++ .../domain/po/sm/UserPersonMould.java | 2 + .../domain/po/sm/UserVoiceLanguage.java | 2 + .../iformall/domain/po/sm/VoiceLanguage.java | 10 ++ .../mapper/UserPersonMouldMapper.java | 2 + .../mapper/UserVoiceLanguageMapper.java | 2 + .../service/WxCUserBasicInfoService.java | 4 + .../impl/WxCUserBasicInfoServiceImpl.java | 12 ++ .../service/sm/PersonMouldService.java | 6 + .../service/sm/VoiceLanguageService.java | 8 ++ .../sm/impl/PersonMouldServiceImpl.java | 32 +++++ .../sm/impl/VoiceLanguageServiceImpl.java | 44 ++++++ .../resources/mapper/PersonMouldMapper.xml | 8 ++ .../mapper/UserPersonMouldMapper.xml | 17 ++- .../mapper/UserVoiceLanguageMapper.xml | 19 ++- .../resources/mapper/VoiceLanguageMapper.xml | 4 + 19 files changed, 418 insertions(+), 2 deletions(-) create mode 100644 suimangAdmin/src/main/java/com/iformall/controller/sm/VoiceMouldController.java diff --git a/suimangAdmin/src/main/java/com/iformall/controller/sm/PersonMouldController.java b/suimangAdmin/src/main/java/com/iformall/controller/sm/PersonMouldController.java index d6a2bfd..782e070 100644 --- a/suimangAdmin/src/main/java/com/iformall/controller/sm/PersonMouldController.java +++ b/suimangAdmin/src/main/java/com/iformall/controller/sm/PersonMouldController.java @@ -1,13 +1,20 @@ package com.iformall.controller.sm; import com.github.pagehelper.PageInfo; +import com.iformall.common.ErrorCode; +import com.iformall.common.R; import com.iformall.common.ResultData; import com.iformall.controller.base.BaseController; import com.iformall.domain.po.MallUserInfo; +import com.iformall.domain.po.WxCUserBasicInfo; import com.iformall.domain.po.base.BaseEntity; import com.iformall.domain.po.sm.PersonMould; import com.iformall.domain.po.sm.ServiceInfo; +import com.iformall.domain.po.sm.ServicePersonMould; +import com.iformall.domain.po.sm.UserPersonMould; import com.iformall.enums.EnumaMouldPatchStatus; +import com.iformall.exception.BizException; +import com.iformall.service.WxCUserBasicInfoService; import com.iformall.service.sm.PersonMouldService; import com.iformall.service.sm.ServiceInfoService; @@ -16,8 +23,10 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; +import java.util.ArrayList; import java.util.List; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -35,6 +44,9 @@ public class PersonMouldController extends BaseController { @Autowired private ServiceInfoService serviceInfoService; + + @Autowired + private WxCUserBasicInfoService wxCUserBasicInfoService; @ApiOperation("分页列表接口") @GetMapping("alList") @@ -83,4 +95,76 @@ public class PersonMouldController extends BaseController { final PageInfo page = personMouldService.listAsPage(pm, pageNum, pageSize); return new ResultData(page); } + + @ApiOperation("用户分页列表接口") + @GetMapping("userMouldList") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), + @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) + public ResultData userMouldList(@ModelAttribute PersonMould record, Integer pageNum, Integer pageSize) { + if (null == record) { + record = new PersonMould(); + } + if (StringUtils.isNotBlank(record.getPhone())) { + List cUserIds = wxCUserBasicInfoService.findIdsListByPhone(null, record.getPhone()); + if (null == cUserIds || cUserIds.size() <= 0 ) { + record.setId(-1L); + }else { + List mids = personMouldService.getUserMouldIds(cUserIds); + if (null == mids || mids.size() <= 0 ) { + record.setId(-1L); + }else { + record.setIds(mids); + } + } + } + + if(record.getVideoType() != null && record.getVideoType().intValue() == -1){ + record.setVideoType(null); + } + if(record.getSex() != null && record.getSex().intValue() == -1){ + record.setSex(null); + } + record.setStatus(EnumaMouldPatchStatus.put_on.getCode()); + record.setSortColumns(BaseEntity.SortField.UpdateDate_DESC); + final PageInfo page = personMouldService.listAsPage(record, pageNum, pageSize); + if (null != page && null != page.getList() && page.getList().size() > 0 ) { + for (int i = 0 ; i < page.getList().size(); i++) { + PersonMould pm = page.getList().get(i); + List cuserIds = personMouldService.getCUserIds(pm.getId()); + if (null != cuserIds && cuserIds.size() > 0) { + WxCUserBasicInfo u = new WxCUserBasicInfo(); + u.setIds(cuserIds); + pm.setWxCUserBasicInfoList(wxCUserBasicInfoService.findList(u)); + } + } + } + return new ResultData(page); + } + + @ApiOperation("用户模板编码分页列表接口") + @GetMapping("userPersonMouldIdList") + public ResultData userPersonMouldIdList(Long cUserId) { + if (null == cUserId) { + throw new BizException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),cUserId+"不为空"); + } + List uids = new ArrayList(); + uids.add(cUserId); + List mouldIds = personMouldService.getUserMouldIds(uids); + return new ResultData(mouldIds); + } + + @ApiOperation("设置用户关联模板") + @PostMapping("/associatedUserMoulds") + public ResultData associatedUserMoulds(@RequestBody UserPersonMould spm) { + if (null == spm.getMouldIds() || spm.getMouldIds().size() <= 0 ) { + throw new BizException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"请选择模板"); + } + + if (null == spm.getCUserId() ) { + throw new BizException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"请选择用户"); + } + personMouldService.associatedUserMoulds(spm.getMouldIds(), spm.getCUserId()); + return new ResultData(); + } } diff --git a/suimangAdmin/src/main/java/com/iformall/controller/sm/VoiceMouldController.java b/suimangAdmin/src/main/java/com/iformall/controller/sm/VoiceMouldController.java new file mode 100644 index 0000000..1af7668 --- /dev/null +++ b/suimangAdmin/src/main/java/com/iformall/controller/sm/VoiceMouldController.java @@ -0,0 +1,131 @@ +package com.iformall.controller.sm; + +import com.github.pagehelper.PageInfo; +import com.iformall.common.ErrorCode; +import com.iformall.common.ResultData; +import com.iformall.controller.base.BaseController; +import com.iformall.domain.po.WxCUserBasicInfo; +import com.iformall.domain.po.base.BaseEntity; +import com.iformall.domain.po.sm.PersonMould; +import com.iformall.domain.po.sm.UserMouldVideo; +import com.iformall.domain.po.sm.UserPersonMould; +import com.iformall.domain.po.sm.UserVoiceLanguage; +import com.iformall.domain.po.sm.VoiceLanguage; +import com.iformall.domain.po.sm.VoiceMould; +import com.iformall.enums.*; +import com.iformall.exception.BizException; +import com.iformall.language.LanguageDetect; +import com.iformall.service.WxCUserBasicInfoService; +import com.iformall.service.WxCVoiceService; +import com.iformall.service.sm.*; +import com.iformall.sm.AiPreviewParam; +import com.iformall.smsdk.SmPreviewVideoDTO; +import com.iformall.smsdk.SmSdkUtils; +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.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + + +@RestController +@RequestMapping("voiceMould") +@Api(description = "模板接口") +public class VoiceMouldController extends BaseController { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Autowired + private VoiceLanguageService voiceLanguageService; + + @Autowired + private WxCUserBasicInfoService wxCUserBasicInfoService; + + + @ApiOperation("分页列表接口") + @GetMapping("alList") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), + @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) + public ResultData list(@ModelAttribute VoiceLanguage record, Integer pageNum, Integer pageSize) { + if (record == null) record = new VoiceLanguage(); + record.setSortColumns(BaseEntity.SortField.UpdateDate_DESC); + record.setIsDel(EnumYesOrNo.NO.getCode()); + final PageInfo page = voiceLanguageService.listAsPage(record, pageNum, pageSize); + return new ResultData(page); + } + + @ApiOperation("用户声纹编码列表接口") + @GetMapping("userVoiceIdList") + public ResultData userVoiceIdList(Long cUserId) { + if (null == cUserId) { + throw new BizException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),cUserId+"不为空"); + } + List uids = new ArrayList(); + uids.add(cUserId); + List voiceIds = voiceLanguageService.getUserVoiceIdList(uids); + return new ResultData(voiceIds); + } + + @ApiOperation("设置用户关联模板") + @PostMapping("/associatedUserVoices") + public ResultData associatedUserVoices(@RequestBody UserVoiceLanguage uvl) { + if (null == uvl.getVoiceLanguageIdList() || uvl.getVoiceLanguageIdList().size() <= 0 ) { + throw new BizException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"请选择声纹"); + } + + if (null == uvl.getCUserId() ) { + throw new BizException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"请选择用户"); + } + voiceLanguageService.associatedUserVoices(uvl.getVoiceLanguageIdList(), uvl.getCUserId()); + return new ResultData(); + } + + @ApiOperation("用户分页列表接口") + @GetMapping("userVoiceList") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), + @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) + public ResultData userVoiceList(@ModelAttribute VoiceLanguage record, Integer pageNum, Integer pageSize) { + if (null == record) { + record = new VoiceLanguage(); + } + if (StringUtils.isNotBlank(record.getPhone())) { + List cUserIds = wxCUserBasicInfoService.findIdsListByPhone(null, record.getPhone()); + if (null == cUserIds || cUserIds.size() <= 0 ) { + record.setId(-1L); + }else { + List mids = voiceLanguageService.getUserVoiceIdList(cUserIds); + if (null == mids || mids.size() <= 0 ) { + record.setId(-1L); + }else { + record.setIds(mids); + } + } + } + + record.setIsDel(EnumYesOrNo.NO.getCode()); + record.setSortColumns(BaseEntity.SortField.UpdateDate_DESC); + final PageInfo page = voiceLanguageService.listAsPage(record, pageNum, pageSize); + if (null != page && null != page.getList() && page.getList().size() > 0 ) { + for (int i = 0 ; i < page.getList().size(); i++) { + VoiceLanguage pm = page.getList().get(i); + List cuserIds = voiceLanguageService.getCUserIds(pm.getId()); + if (null != cuserIds && cuserIds.size() > 0) { + WxCUserBasicInfo u = new WxCUserBasicInfo(); + u.setIds(cuserIds); + pm.setWxCUserBasicInfoList(wxCUserBasicInfoService.findList(u)); + } + } + } + return new ResultData(page); + } + +} diff --git a/suimangCApi/src/main/java/com/iformall/controller/UserMouldVideoController.java b/suimangCApi/src/main/java/com/iformall/controller/UserMouldVideoController.java index 233a4d4..362999a 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/UserMouldVideoController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/UserMouldVideoController.java @@ -210,6 +210,27 @@ public class UserMouldVideoController extends BaseController { return new ResultData(); } + + /** + * 校验 + * + * @param record + * @return {@link ResultData} + */ + @ApiOperation("慧影项目生成视频") + @GetMapping("/checkVideo") + @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true) + public ResultData checkVideo(Long id) { + if(id == null){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); + } + UserMouldVideo mouldVideo = userMouldVideoService.getById(id); + if(mouldVideo == null){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"id无效"); + } + //TODO 校验 + return new ResultData(); + } // @AuthIgnore // @ApiOperation("生成视频") 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 7f7ed14..346178e 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 @@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.iformall.common.SortColumn; +import com.iformall.domain.po.WxCUserBasicInfo; import com.iformall.domain.po.base.TenantEntity; import lombok.Data; import lombok.EqualsAndHashCode; @@ -107,6 +108,8 @@ public class PersonMould extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value="模板第三方Id",name="mouldSmId") private String mouldSmId; + @TableField(exist = false) + private String mouldSmIdLike; @io.swagger.annotations.ApiModelProperty(value="素材",name="material") private String material; @@ -137,6 +140,15 @@ public class PersonMould extends TenantEntity { @TableField(exist = false) private Long cuserId; + + @TableField(exist = false) + private String phone; + + @TableField(exist = false) + private Integer onlyCustomizedQuery = 0; + + @TableField(exist = false) + private List wxCUserBasicInfoList; public String getSalePriceStr() { if(salePrice!=null) { diff --git a/suimangService/src/main/java/com/iformall/domain/po/sm/UserPersonMould.java b/suimangService/src/main/java/com/iformall/domain/po/sm/UserPersonMould.java index 931c280..ee8b2dd 100644 --- a/suimangService/src/main/java/com/iformall/domain/po/sm/UserPersonMould.java +++ b/suimangService/src/main/java/com/iformall/domain/po/sm/UserPersonMould.java @@ -29,4 +29,6 @@ public class UserPersonMould extends BaseEntity { private Date updateDate; @TableField(exist = false) private List cuserIds; + @TableField(exist = false) + private List mouldIds; } diff --git a/suimangService/src/main/java/com/iformall/domain/po/sm/UserVoiceLanguage.java b/suimangService/src/main/java/com/iformall/domain/po/sm/UserVoiceLanguage.java index 0360939..ef96055 100644 --- a/suimangService/src/main/java/com/iformall/domain/po/sm/UserVoiceLanguage.java +++ b/suimangService/src/main/java/com/iformall/domain/po/sm/UserVoiceLanguage.java @@ -29,4 +29,6 @@ public class UserVoiceLanguage extends BaseEntity { private Date updateDate; @TableField(exist = false) private List cuserIds; + @TableField(exist = false) + private List voiceLanguageIdList; } diff --git a/suimangService/src/main/java/com/iformall/domain/po/sm/VoiceLanguage.java b/suimangService/src/main/java/com/iformall/domain/po/sm/VoiceLanguage.java index c56a78b..48d364c 100644 --- a/suimangService/src/main/java/com/iformall/domain/po/sm/VoiceLanguage.java +++ b/suimangService/src/main/java/com/iformall/domain/po/sm/VoiceLanguage.java @@ -3,6 +3,7 @@ package com.iformall.domain.po.sm; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +import com.iformall.domain.po.WxCUserBasicInfo; import com.iformall.domain.po.base.TenantEntity; import lombok.Data; import lombok.EqualsAndHashCode; @@ -69,7 +70,16 @@ public class VoiceLanguage extends TenantEntity { @TableField(exist = false) private List customizedVocideIds; + @TableField(exist = false) + private Integer onlyCustomizedQuery = 0; + @TableField(exist = false) private Long cUserId; + + @TableField(exist = false) + private String phone; + + @TableField(exist = false) + private List wxCUserBasicInfoList; } diff --git a/suimangService/src/main/java/com/iformall/mapper/UserPersonMouldMapper.java b/suimangService/src/main/java/com/iformall/mapper/UserPersonMouldMapper.java index 2ca670f..018cec8 100644 --- a/suimangService/src/main/java/com/iformall/mapper/UserPersonMouldMapper.java +++ b/suimangService/src/main/java/com/iformall/mapper/UserPersonMouldMapper.java @@ -10,6 +10,8 @@ public interface UserPersonMouldMapper extends CommonMapper findMouldIdList(UserPersonMould record); + List findCUserIdList(UserPersonMould record); + void deleteByCuserId(@Param("cUserId") Long cUserId); void saveBatch(@Param("list") List list); diff --git a/suimangService/src/main/java/com/iformall/mapper/UserVoiceLanguageMapper.java b/suimangService/src/main/java/com/iformall/mapper/UserVoiceLanguageMapper.java index e7cd1f6..2667e48 100644 --- a/suimangService/src/main/java/com/iformall/mapper/UserVoiceLanguageMapper.java +++ b/suimangService/src/main/java/com/iformall/mapper/UserVoiceLanguageMapper.java @@ -10,6 +10,8 @@ public interface UserVoiceLanguageMapper extends CommonMapper findVoiceIdList(UserVoiceLanguage record); + List findCUserIdList(UserVoiceLanguage record); + void deleteByCuserId(@Param("cUserId") Long cUserId); void saveBatch(@Param("list") List list); diff --git a/suimangService/src/main/java/com/iformall/service/WxCUserBasicInfoService.java b/suimangService/src/main/java/com/iformall/service/WxCUserBasicInfoService.java index 442f5d7..17701ab 100644 --- a/suimangService/src/main/java/com/iformall/service/WxCUserBasicInfoService.java +++ b/suimangService/src/main/java/com/iformall/service/WxCUserBasicInfoService.java @@ -208,5 +208,9 @@ public interface WxCUserBasicInfoService { void reducePoints(Long id,String finalTenantId,Integer reducePoints); void addPoints(Long id,String finalTenantId,Integer addPoints); + + List findIdsListByPhone(String finalTenantId,String phone); + + List findList(WxCUserBasicInfo basicInfo); } 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 ec4c7f2..b4206f3 100644 --- a/suimangService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java @@ -1550,5 +1550,17 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService,IExc public void addPoints(Long id, String finalTenantId, Integer addPoints) { wxCUserBasicInfoMapper.addPoints(id, finalTenantId, addPoints); } + + @Override + public List findIdsListByPhone(String finalTenantId, String phone) { + WxCUserBasicInfo user = new WxCUserBasicInfo(); + user.setPhone(phone); + return wxCUserBasicInfoMapper.findIdList(user); + } + + @Override + public List findList(WxCUserBasicInfo basicInfo) { + return wxCUserBasicInfoMapper.findList(basicInfo); + } } diff --git a/suimangService/src/main/java/com/iformall/service/sm/PersonMouldService.java b/suimangService/src/main/java/com/iformall/service/sm/PersonMouldService.java index a1d5a5c..59e48f8 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/PersonMouldService.java +++ b/suimangService/src/main/java/com/iformall/service/sm/PersonMouldService.java @@ -47,5 +47,11 @@ public interface PersonMouldService { //接入商的模板编号 List getServiceMouldIds(Long serviceId); + + List getUserMouldIds(List userIds); + List getCUserIds(Long personMouldId); + + void associatedUserMoulds(List mouldIds, Long cUserId); + } diff --git a/suimangService/src/main/java/com/iformall/service/sm/VoiceLanguageService.java b/suimangService/src/main/java/com/iformall/service/sm/VoiceLanguageService.java index 8b852e0..296fad2 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/VoiceLanguageService.java +++ b/suimangService/src/main/java/com/iformall/service/sm/VoiceLanguageService.java @@ -1,15 +1,23 @@ package com.iformall.service.sm; +import com.github.pagehelper.PageInfo; +import com.iformall.domain.po.sm.PersonMould; import com.iformall.domain.po.sm.VoiceLanguage; import java.util.List; public interface VoiceLanguageService { + + PageInfo listAsPage(VoiceLanguage record, Integer pageIndex, Integer pageSize); List voiceTotal(VoiceLanguage voiceLanguage); VoiceLanguage getLanguage(String paperwork); List listVoiceLanguage(String chineseName); + + List getUserVoiceIdList(List cUserIds); + void associatedUserVoices(List voicesIds, Long cUserId); + List getCUserIds(Long voiceId); } diff --git a/suimangService/src/main/java/com/iformall/service/sm/impl/PersonMouldServiceImpl.java b/suimangService/src/main/java/com/iformall/service/sm/impl/PersonMouldServiceImpl.java index 18aa7db..f9c14f0 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/impl/PersonMouldServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/sm/impl/PersonMouldServiceImpl.java @@ -146,4 +146,36 @@ public class PersonMouldServiceImpl implements PersonMouldService { return servicePersonMouldMapper.findMouldIdList(spm); } + @Override + public List getUserMouldIds(List userIds) { + UserPersonMould upm = new UserPersonMould(); + upm.setCuserIds(userIds); + return userPersonMouldMapper.findMouldIdList(null); + } + + @Override + public List getCUserIds(Long personMouldId) { + UserPersonMould upm = new UserPersonMould(); + upm.setPersonMouldId(personMouldId); + return userPersonMouldMapper.findCUserIdList(upm); + } + + @Override + public void associatedUserMoulds(List mouldIds, Long cUserId) { + userPersonMouldMapper.deleteByCuserId(cUserId); + if (null != mouldIds && mouldIds.size() > 0 ) { + List upmlist = new ArrayList(); + for (int i = 0 ; i < mouldIds.size() ; i ++) { + UserPersonMould upm = new UserPersonMould(); + upm.setId(IdWorker.get().nextId()); + upm.setCUserId(cUserId); + upm.setPersonMouldId(mouldIds.get(i)); + upm.setCreateDate(new Date()); + upm.setUpdateDate(new Date()); + upmlist.add(upm); + } + userPersonMouldMapper.saveBatch(upmlist); + } + } + } diff --git a/suimangService/src/main/java/com/iformall/service/sm/impl/VoiceLanguageServiceImpl.java b/suimangService/src/main/java/com/iformall/service/sm/impl/VoiceLanguageServiceImpl.java index 0feaf3d..71e1bfb 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/impl/VoiceLanguageServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/sm/impl/VoiceLanguageServiceImpl.java @@ -2,8 +2,12 @@ package com.iformall.service.sm.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import com.google.common.collect.Lists; +import com.iformall.common.IdWorker; import com.iformall.constant.LanguageEnums; +import com.iformall.domain.po.sm.UserPersonMould; import com.iformall.domain.po.sm.UserVoiceLanguage; import com.iformall.domain.po.sm.VoiceLanguage; import com.iformall.language.LanguageDetect; @@ -18,6 +22,7 @@ import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.Collections; +import java.util.Date; import java.util.List; import java.util.Optional; @@ -29,6 +34,11 @@ public class VoiceLanguageServiceImpl implements VoiceLanguageService { @Autowired private UserVoiceLanguageMapper userVoiceLanguageMapper; + + @Override + public PageInfo listAsPage(VoiceLanguage record, Integer pageIndex, Integer pageSize) { + return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> voiceLanguageMapper.findList(record)); + } @Override public List voiceTotal(VoiceLanguage voiceLanguage) { @@ -80,4 +90,38 @@ public class VoiceLanguageServiceImpl implements VoiceLanguageService { .orderByAsc(VoiceLanguage::getLocal)); return CollectionUtils.isEmpty(languages) ? Collections.emptyList() : languages; } + + @Override + public List getUserVoiceIdList(List cUserIds) { + UserVoiceLanguage vl = new UserVoiceLanguage(); + vl.setCuserIds(cUserIds); + return userVoiceLanguageMapper.findVoiceIdList(vl); + } + + @Override + public void associatedUserVoices(List voicesIds, Long cUserId) { + userVoiceLanguageMapper.deleteByCuserId(cUserId); + if (null != voicesIds && voicesIds.size() > 0 ) { + List upmlist = new ArrayList(); + for (int i = 0 ; i < voicesIds.size() ; i ++) { + UserVoiceLanguage upm = new UserVoiceLanguage(); + upm.setId(IdWorker.get().nextId()); + upm.setCUserId(cUserId); + upm.setVoiceLanguageId(voicesIds.get(i)); + upm.setCreateDate(new Date()); + upm.setUpdateDate(new Date()); + upmlist.add(upm); + } + userVoiceLanguageMapper.saveBatch(upmlist); + } + + } + + @Override + public List getCUserIds(Long voiceId) { + UserVoiceLanguage vl = new UserVoiceLanguage(); + vl.setVoiceLanguageId(voiceId); + return userVoiceLanguageMapper.findCUserIdList(vl); + } + } diff --git a/suimangService/src/main/resources/mapper/PersonMouldMapper.xml b/suimangService/src/main/resources/mapper/PersonMouldMapper.xml index 5e8591e..2b0d46a 100644 --- a/suimangService/src/main/resources/mapper/PersonMouldMapper.xml +++ b/suimangService/src/main/resources/mapper/PersonMouldMapper.xml @@ -64,6 +64,10 @@ and `sub_title` like concat('%', #{subTitle},'%') + + + and `mould_sm_id` like concat('%', #{mouldSmIdLike},'%') + and `sex` = #{sex} @@ -115,6 +119,10 @@ and customized = 0 + + + and customized = 1 + and id in diff --git a/suimangService/src/main/resources/mapper/UserPersonMouldMapper.xml b/suimangService/src/main/resources/mapper/UserPersonMouldMapper.xml index ed5a458..d9e3405 100644 --- a/suimangService/src/main/resources/mapper/UserPersonMouldMapper.xml +++ b/suimangService/src/main/resources/mapper/UserPersonMouldMapper.xml @@ -32,7 +32,22 @@ + + diff --git a/suimangService/src/main/resources/mapper/UserVoiceLanguageMapper.xml b/suimangService/src/main/resources/mapper/UserVoiceLanguageMapper.xml index 032f0b4..9e1db26 100644 --- a/suimangService/src/main/resources/mapper/UserVoiceLanguageMapper.xml +++ b/suimangService/src/main/resources/mapper/UserVoiceLanguageMapper.xml @@ -32,7 +32,24 @@ + + diff --git a/suimangService/src/main/resources/mapper/VoiceLanguageMapper.xml b/suimangService/src/main/resources/mapper/VoiceLanguageMapper.xml index 9c73edb..828144c 100644 --- a/suimangService/src/main/resources/mapper/VoiceLanguageMapper.xml +++ b/suimangService/src/main/resources/mapper/VoiceLanguageMapper.xml @@ -51,6 +51,10 @@ and customized = 0 + + + and customized = 1 + and id in