Commit 1ce211e2 by 吴星煌

Merge remote-tracking branch 'origin/feature-cluster' into feature-cluster

parents b31dcf5d 223545eb
......@@ -35,7 +35,7 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
* 项目启动入口
*/
@EnableDiscoveryClient
@EnableDubbo(scanBasePackages = {"com.wecloud.im.**"})
@EnableDubbo(scanBasePackages = {"com.wecloud.im.**","com.wecloud.rtc.**"})
@EnableAsync
@EnableScheduling
@EnableTransactionManagement
......
package com.wecloud.imserver.client.api;
import com.wecloud.imserver.client.model.ao.ImApplicationProductsConfigAO;
import com.wecloud.imserver.client.model.dto.ImApplicationProductsConfigDTO;
import com.wecloud.imserver.client.model.dto.Result;
/**
* @author nanqianhao
* @date 2022/6/9
* @apiNote
*/
public interface ImApplicationProductsConfig {
/**
* 创建即使通讯产品应用配置
* @param imApplicationProductsConfigAO
* @return
*/
Result<Boolean> createOrUpdateImApplicationProductsConfig(ImApplicationProductsConfigAO imApplicationProductsConfigAO);
/**
* 查看即使通讯产品应用配置
* @param id
* @return
*/
Result<ImApplicationProductsConfigDTO> getImApplicationProductsConfig(Long id);
}
package com.wecloud.imserver.client.api;
import com.wecloud.imserver.client.model.ao.RtcApplicationProductsConfigAO;
import com.wecloud.imserver.client.model.dto.Result;
import com.wecloud.imserver.client.model.dto.RtcApplicationProductsConfigDTO;
/**
* @author nanqianhao
* @date 2022/6/9
* @apiNote
*/
public interface RtcApplicationProductsConfig {
/**
* 创建rtc产品应用配置
* @param rtcApplicationProductsConfigAO
* @return
*/
Result<Boolean> createOrUpdateRtcApplicationProductsConfig(RtcApplicationProductsConfigAO rtcApplicationProductsConfigAO);
/**
* 查看rtc产品应用配置
* @param id
* @return
*/
Result<RtcApplicationProductsConfigDTO> getRtcApplicationProductsConfig(Long id);
}
package com.wecloud.imserver.client.model.ao;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* @author nanqianhao
* @date 2022/6/9
* @apiNote
*/
@Getter
@Setter
@ToString
public class ImApplicationProductsConfigAO implements Serializable {
/**
* 主键id
*/
private Long id;
/**
* 应用id
*/
private Long fkAppid;
/**
* 群成员数量上限
*/
private Integer groupMemberLimit;
/**
* 群组数量上限
*/
private Long groupNumberLimit;
/**
* 用户注册数上限
*/
private Long userRegisterLimit;
/**
* 消息存储时长/天
*/
private Integer messageKeepDays;
/**
* 到期时间
*/
private LocalDateTime expireTime;
/**
* 月峰值日活用户
*/
private Long monthLiveUserMax;
/**
* 创建人id
*/
private Long createBy;
/**
* 更新人id
*/
private Long updateBy;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新时间
*/
private LocalDateTime updateTime;
/**
* 是否删除 0否 1是
*/
private Boolean isDeleted;
}
package com.wecloud.imserver.client.model.ao;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* @author nanqianhao
* @date 2022/6/9
* @apiNote
*/
@Getter
@Setter
@ToString
public class RtcApplicationProductsConfigAO implements Serializable {
/**
* 主键id
*/
private Long id;
/**
* 应用id
*/
private Long fkAppid;
/**
* 语音通话时长/分钟
*/
private Long voiceCallTimeRemain;
/**
* 视频通话HD时长/分钟
*/
private Long videoCallTimeRemain;
/**
* 音频录制时长/分钟
*/
private Long voiceRecordingTimeRemain;
/**
* 视频录制HD时长/分钟
*/
private Long videoRecordingTimeRemain;
/**
* 语音通话到期时间
*/
private LocalDateTime voiceCallExpireTime;
/**
* 视频通话到期时间
*/
private LocalDateTime videoCallExpireTime;
/**
* 音频录制到期时间
*/
private LocalDateTime voiceRecordingExpireTime;
/**
* 视频录制到期时间
*/
private LocalDateTime videoRecordingExpireTime;
/**
* 创建人id
*/
private Long createBy;
/**
* 更新人id
*/
private Long updateBy;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新时间
*/
private LocalDateTime updateTime;
/**
* 是否删除 0否 1是
*/
private Boolean isDeleted;
}
package com.wecloud.imserver.client.model.dto;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* @author nanqianhao
* @date 2022/6/9
* @apiNote
*/
@Getter
@Setter
@ToString
public class ImApplicationProductsConfigDTO implements Serializable {
/**
* 应用id
*/
private Long fkAppid;
/**
* 群成员数量上限
*/
private Integer groupMemberLimit;
/**
* 群组数量上限
*/
private Long groupNumberLimit;
/**
* 用户注册数上限
*/
private Long userRegisterLimit;
/**
* 消息存储时长/天
*/
private Integer messageKeepDays;
/**
* 到期时间
*/
private LocalDateTime expireTime;
/**
* 月峰值日活用户
*/
private Long monthLiveUserMax;
/**
* 创建人id
*/
private Long createBy;
/**
* 更新人id
*/
private Long updateBy;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新时间
*/
private LocalDateTime updateTime;
}
package com.wecloud.imserver.client.model.dto;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* @author nanqianhao
* @date 2022/6/9
* @apiNote
*/
@Getter
@Setter
@ToString
public class RtcApplicationProductsConfigDTO implements Serializable {
/**
* 应用id
*/
private Long fkAppid;
/**
* 语音通话时长/分钟
*/
private Long voiceCallTimeRemain;
/**
* 视频通话HD时长/分钟
*/
private Long videoCallTimeRemain;
/**
* 音频录制时长/分钟
*/
private Long voiceRecordingTimeRemain;
/**
* 视频录制HD时长/分钟
*/
private Long videoRecordingTimeRemain;
/**
* 语音通话到期时间
*/
private LocalDateTime voiceCallExpireTime;
/**
* 视频通话到期时间
*/
private LocalDateTime videoCallExpireTime;
/**
* 音频录制到期时间
*/
private LocalDateTime voiceRecordingExpireTime;
/**
* 视频录制到期时间
*/
private LocalDateTime videoRecordingExpireTime;
/**
* 创建人id
*/
private Long createBy;
/**
* 更新人id
*/
private Long updateBy;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新时间
*/
private LocalDateTime updateTime;
}
package com.wecloud.im.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
* 即时通讯应用产品配置表
* </p>
*
* @author nanqianhao
* @since 2022-06-09
*/
@Data
@TableName("application_products_im_config")
@ApiModel(value = "ApplicationProductsImConfig对象")
public class ApplicationProductsImConfig implements Serializable {
private static final long serialVersionUID = 944045723943454871L;
/**
* 主键id
*/
@ApiModelProperty("即时通讯应用产品配置主键id")
@TableId(value = "id", type = IdType.INPUT)
private Long id;
/**
* 应用id
*/
@NotNull(message = "应用appid不能为空")
@ApiModelProperty("应用id")
private Long fkAppid;
/**
* 群成员数量上限
*/
@ApiModelProperty("群成员数量上限")
private Integer groupMemberLimit;
/**
* 群组数量上限
*/
@ApiModelProperty("群组数量上限")
private Long groupNumberLimit;
/**
* 用户注册数上限
*/
@ApiModelProperty("用户注册数上限")
private Long userRegisterLimit;
/**
* 消息存储时长/天
*/
@ApiModelProperty("消息存储时长/天")
private Integer messageKeepDays;
/**
* 到期时间
*/
@ApiModelProperty("到期时间")
private LocalDateTime expireTime;
/**
* 月峰值日活用户
*/
@ApiModelProperty("月峰值日活用户")
private Long monthLiveUserMax;
/**
* 创建人id
*/
@ApiModelProperty("创建人id")
private Long createBy;
/**
* 更新人id
*/
@ApiModelProperty("更新人id")
private Long updateBy;
/**
* 创建时间
*/
@ApiModelProperty("创建时间")
private LocalDateTime createTime;
/**
* 更新时间
*/
@ApiModelProperty("更新时间")
private LocalDateTime updateTime;
/**
* 是否删除 0否 1是
*/
@ApiModelProperty("是否删除 0否 1是")
private Boolean isDeleted;
}
package com.wecloud.im.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.wecloud.im.entity.ApplicationProductsImConfig;
import org.springframework.stereotype.Repository;
/**
* <p>
* 即时通讯应用产品配置表 Mapper 接口
* </p>
*
* @author nanqianhao
* @since 2022-06-09
*/
@Repository
public interface ApplicationProductsImConfigMapper extends BaseMapper<ApplicationProductsImConfig> {
}
package com.wecloud.im.productsconfig;
import com.wecloud.im.entity.ApplicationProductsImConfig;
import com.wecloud.im.service.IApplicationProductsImConfigService;
import com.wecloud.imserver.client.api.ImApplicationProductsConfig;
import com.wecloud.imserver.client.model.ao.ImApplicationProductsConfigAO;
import com.wecloud.imserver.client.model.dto.ImApplicationProductsConfigDTO;
import com.wecloud.imserver.client.model.dto.Result;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @author nanqianhao
* @date 2022/6/9
* @apiNote
*/
@Slf4j
@Service
@DubboService
public class ImApplicationProductsConfigImpl implements ImApplicationProductsConfig {
@Autowired
private IApplicationProductsImConfigService applicationProductsImConfigService;
@Override
public Result<Boolean> createOrUpdateImApplicationProductsConfig(ImApplicationProductsConfigAO imApplicationProductsConfigAO) {
log.info("创建即时通讯应用配置传入参数为{}",imApplicationProductsConfigAO);
ApplicationProductsImConfig applicationProductsImConfig = new ApplicationProductsImConfig();
if(imApplicationProductsConfigAO.getFkAppid()==null){
return Result.getBusinessException("请传入app应用id", null);
}
BeanUtils.copyProperties(imApplicationProductsConfigAO,applicationProductsImConfig);
boolean result = applicationProductsImConfigService.saveOrUpdate(applicationProductsImConfig);
ImApplicationProductsConfigDTO imApplicationProductsConfigDTO = new ImApplicationProductsConfigDTO();
BeanUtils.copyProperties(imApplicationProductsConfigDTO,applicationProductsImConfig);
log.info("生成即时通讯应用配置为{}",imApplicationProductsConfigDTO);
return Result.getSuccessResult(result);
}
@Override
public Result<ImApplicationProductsConfigDTO> getImApplicationProductsConfig(Long id) {
log.info("查看即时通讯应用配置传入appid为{}",id);
ApplicationProductsImConfig applicationProductsImConfig = applicationProductsImConfigService.getById(id);
if (applicationProductsImConfig==null||applicationProductsImConfig.getIsDeleted().equals(true)){
return Result.getBusinessException("查无此应用配置", null);
}
ImApplicationProductsConfigDTO imApplicationProductsConfigDTO = new ImApplicationProductsConfigDTO();
BeanUtils.copyProperties(applicationProductsImConfig,imApplicationProductsConfigDTO);
log.info("返回即时通讯应用配置为{}",imApplicationProductsConfigDTO);
return Result.getSuccessResult(imApplicationProductsConfigDTO);
}
}
package com.wecloud.im.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wecloud.im.entity.ApplicationProductsImConfig;
/**
* <p>
* 即时通讯应用产品配置表 服务类
* </p>
*
* @author nanqianhao
* @since 2022-06-09
*/
public interface IApplicationProductsImConfigService extends IService<ApplicationProductsImConfig> {
}
package com.wecloud.im.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.wecloud.im.entity.ApplicationProductsImConfig;
import com.wecloud.im.mapper.ApplicationProductsImConfigMapper;
import com.wecloud.im.service.IApplicationProductsImConfigService;
import org.springframework.stereotype.Service;
/**
* <p>
* 即时通讯应用产品配置表 服务实现类
* </p>
*
* @author nanqianhao
* @since 2022-06-09
*/
@Service
public class ApplicationProductsImConfigServiceImpl extends ServiceImpl<ApplicationProductsImConfigMapper, ApplicationProductsImConfig> implements IApplicationProductsImConfigService {
}
package com.wecloud.rtc.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
* Rtc应用产品配置表
* </p>
*
* @author nanqianhao
* @since 2022-06-09
*/
@Data
@ApiModel(value = "ApplicationProductsRtcConfig对象")
@TableName("application_products_rtc_config")
public class ApplicationProductsRtcConfig implements Serializable {
private static final long serialVersionUID = -7343037669675536295L;
/**
* 主键id
*/
@ApiModelProperty("rtc应用产品配置主键id")
@TableId(value = "id", type = IdType.INPUT)
private Long id;
/**
* 应用id
*/
@NotNull(message = "应用appid不能为空")
@ApiModelProperty("应用id")
private Long fkAppid;
/**
* 语音通话时长/分钟
*/
@ApiModelProperty("语音通话时长/分钟")
private Long voiceCallTimeRemain;
/**
* 视频通话HD时长/分钟
*/
@ApiModelProperty("视频通话HD时长/分钟")
private Long videoCallTimeRemain;
/**
* 音频录制时长/分钟
*/
@ApiModelProperty("音频录制时长/分钟")
private Long voiceRecordingTimeRemain;
/**
* 视频录制HD时长/分钟
*/
@ApiModelProperty("视频录制HD时长/分钟")
private Long videoRecordingTimeRemain;
/**
* 语音通话到期时间
*/
@ApiModelProperty("语音通话到期时间")
private LocalDateTime voiceCallExpireTime;
/**
* 视频通话到期时间
*/
@ApiModelProperty("视频通话到期时间")
private LocalDateTime videoCallExpireTime;
/**
* 音频录制到期时间
*/
@ApiModelProperty("音频录制到期时间")
private LocalDateTime voiceRecordingExpireTime;
/**
* 视频录制到期时间
*/
@ApiModelProperty("视频录制到期时间")
private LocalDateTime videoRecordingExpireTime;
/**
* 创建人id
*/
@ApiModelProperty("创建人id")
private Long createBy;
/**
* 更新人id
*/
@ApiModelProperty("更新人id")
private Long updateBy;
/**
* 创建时间
*/
@ApiModelProperty("创建时间")
private LocalDateTime createTime;
/**
* 更新时间
*/
@ApiModelProperty("更新时间")
private LocalDateTime updateTime;
/**
* 是否删除 0否 1是
*/
@ApiModelProperty("是否删除 0否 1是")
private Boolean isDeleted;
}
package com.wecloud.rtc.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.wecloud.rtc.entity.ApplicationProductsRtcConfig;
public interface ApplicationProductsRtcConfigMapper extends BaseMapper<ApplicationProductsRtcConfig> {
}
\ No newline at end of file
package com.wecloud.rtc.productsconfig;
import com.wecloud.imserver.client.api.RtcApplicationProductsConfig;
import com.wecloud.imserver.client.model.ao.RtcApplicationProductsConfigAO;
import com.wecloud.imserver.client.model.dto.Result;
import com.wecloud.imserver.client.model.dto.RtcApplicationProductsConfigDTO;
import com.wecloud.rtc.entity.ApplicationProductsRtcConfig;
import com.wecloud.rtc.service.IApplicationProductsRtcConfigService;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @author nanqianhao
* @date 2022/6/9
* @apiNote
*/
@Slf4j
@Service
@DubboService
public class RtcApplicationProductsConfigImpl implements RtcApplicationProductsConfig {
@Autowired
private IApplicationProductsRtcConfigService applicationProductsRtcConfigService;
@Override
public Result<Boolean> createOrUpdateRtcApplicationProductsConfig(RtcApplicationProductsConfigAO rtcApplicationProductsConfigAO) {
log.info("创建rtc应用配置传入参数为{}",rtcApplicationProductsConfigAO);
ApplicationProductsRtcConfig applicationProductsRtcConfig = new ApplicationProductsRtcConfig();
if(rtcApplicationProductsConfigAO.getFkAppid()==null){
return Result.getBusinessException("请传入app应用id", null);
}
BeanUtils.copyProperties(rtcApplicationProductsConfigAO,applicationProductsRtcConfig);
boolean result = applicationProductsRtcConfigService.saveOrUpdate(applicationProductsRtcConfig);
RtcApplicationProductsConfigDTO rtcApplicationProductsConfigDTO = new RtcApplicationProductsConfigDTO();
BeanUtils.copyProperties(rtcApplicationProductsConfigDTO,applicationProductsRtcConfig);
log.info("生成rtc应用配置为{}",rtcApplicationProductsConfigDTO);
return Result.getSuccessResult(result);
}
@Override
public Result<RtcApplicationProductsConfigDTO> getRtcApplicationProductsConfig(Long id) {
log.info("查看即时通讯应用配置传入appid为{}",id);
ApplicationProductsRtcConfig applicationProductsRtcConfig = applicationProductsRtcConfigService.getById(id);
if (applicationProductsRtcConfig==null||applicationProductsRtcConfig.getIsDeleted().equals(true)){
return Result.getBusinessException("查无此应用配置", null);
}
RtcApplicationProductsConfigDTO rtcApplicationProductsConfigDTO = new RtcApplicationProductsConfigDTO();
BeanUtils.copyProperties(applicationProductsRtcConfig,rtcApplicationProductsConfigDTO);
log.info("返回即时通讯应用配置为{}",rtcApplicationProductsConfigDTO);
return Result.getSuccessResult(rtcApplicationProductsConfigDTO);
}
}
package com.wecloud.rtc.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wecloud.rtc.entity.ApplicationProductsRtcConfig;
/**
* <p>
* Rtc应用产品配置表 服务类
* </p>
*
* @author nanqianhao
* @since 2022-06-09
*/
public interface IApplicationProductsRtcConfigService extends IService<ApplicationProductsRtcConfig> {
}
package com.wecloud.rtc.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.wecloud.rtc.entity.ApplicationProductsRtcConfig;
import com.wecloud.rtc.mapper.ApplicationProductsRtcConfigMapper;
import com.wecloud.rtc.service.IApplicationProductsRtcConfigService;
import org.springframework.stereotype.Service;
/**
* <p>
* Rtc应用产品配置表 服务实现类
* </p>
*
* @author nanqianhao
* @since 2022-06-09
*/
@Service
public class ApplicationProductsRtcConfigServiceImpl extends ServiceImpl<ApplicationProductsRtcConfigMapper, ApplicationProductsRtcConfig> implements IApplicationProductsRtcConfigService {
}
<?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.wecloud.im.mapper.ApplicationProductsImConfigMapper">
</mapper>
<?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.wecloud.rtc.mapper.ApplicationProductsRtcConfigMapper">
</mapper>
......@@ -48,7 +48,7 @@ public class ImRtcRecord implements Serializable {
private Integer state;
/**
* 通话类型 1音频 2视
* 通话类型 1视频 2音
*/
private Integer callType;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment