Commit eeeaf71a by 南千昊

应用管理中间层接口

parent d97d09f8
...@@ -35,7 +35,7 @@ import org.springframework.transaction.annotation.EnableTransactionManagement; ...@@ -35,7 +35,7 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
* 项目启动入口 * 项目启动入口
*/ */
@EnableDiscoveryClient @EnableDiscoveryClient
@EnableDubbo(scanBasePackages = {"com.wecloud.im.router"}) @EnableDubbo(scanBasePackages = {"com.wecloud.im.**"})
@EnableAsync @EnableAsync
@EnableScheduling @EnableScheduling
@EnableTransactionManagement @EnableTransactionManagement
......
package com.wecloud.imserver.client.api;
import com.wecloud.imserver.client.model.ao.CreateApplicationAO;
import com.wecloud.imserver.client.model.ao.ListApplicationQueryAO;
import com.wecloud.imserver.client.model.ao.UpdateAppSecretAO;
import com.wecloud.imserver.client.model.dto.ApplicationDTO;
import com.wecloud.imserver.client.model.dto.Result;
import com.wecloud.imserver.client.model.dto.UpdateAppSecretDTO;
import java.util.List;
/**
* @author nanqianhao
* @date 2022/5/26
* @apiNote
*/
public interface ImApplicationFacade {
/**
* 更新Secret
* @param updateSecretAO
* @return
*/
Result<UpdateAppSecretDTO> updateAppSecret(UpdateAppSecretAO updateSecretAO);
/**
* 创建应用
* @param createApplicationAO
* @return
*/
Result<Boolean>createApplication(CreateApplicationAO createApplicationAO);
/**
* 查看应用
* @param listApplicationQueryAO
* @return
*/
Result<List<ApplicationDTO>> listApplications(ListApplicationQueryAO listApplicationQueryAO);
/**
* 编辑应用
* @param createApplicationAO
* @return
*/
Result<Boolean> updateApplication(CreateApplicationAO createApplicationAO);
}
package com.wecloud.imserver.client.api;
import com.wecloud.imserver.client.model.ao.AppListQueryAO;
import com.wecloud.imserver.client.model.ao.CreateAppAO;
import com.wecloud.imserver.client.model.ao.UpdateSecretAO;
import com.wecloud.imserver.client.model.dto.ApplicationDTO;
import com.wecloud.imserver.client.model.dto.Result;
import com.wecloud.imserver.client.model.dto.UpdateAppDTO;
import com.wecloud.imserver.client.model.dto.UpdateSecretDTO;
import java.util.List;
/**
* @author nanqianhao
* @date 2022/5/26
* @apiNote
*/
public interface ImApplicationFaced {
Result<UpdateSecretDTO> updateAppSecret(UpdateSecretAO updateSecretAO);
Result<Boolean>createApp(CreateAppAO createAppAO);
Result<List<ApplicationDTO>> listApplications(AppListQueryAO appListQueryAO);
Result<UpdateAppDTO> updateApp(CreateAppAO createAppAO);
}
...@@ -14,10 +14,12 @@ import java.io.Serializable; ...@@ -14,10 +14,12 @@ import java.io.Serializable;
@Getter @Getter
@Setter @Setter
@ToString @ToString
public class CreateAppAO extends BaseAO implements Serializable { public class CreateApplicationAO extends BaseAO implements Serializable {
private Long id;
private String appName; private String appName;
//private String description; //private String description;
//private Integer appType; //private Integer appType;
//private Integer dataCenter; //private Integer dataCenter;
private Long tenantId;
} }
...@@ -14,7 +14,7 @@ import java.io.Serializable; ...@@ -14,7 +14,7 @@ import java.io.Serializable;
@Getter @Getter
@Setter @Setter
@ToString @ToString
public class AppListQueryAO implements Serializable { public class ListApplicationQueryAO implements Serializable {
private String tenantId; private Long tenantId;
} }
...@@ -14,9 +14,9 @@ import java.io.Serializable; ...@@ -14,9 +14,9 @@ import java.io.Serializable;
@Getter @Getter
@Setter @Setter
@ToString @ToString
public class UpdateSecretAO extends BaseAO implements Serializable { public class UpdateAppSecretAO extends BaseAO implements Serializable {
private String appKey; private String appKey;
private String appSecret; //private String appSecret;
} }
...@@ -14,7 +14,7 @@ import java.io.Serializable; ...@@ -14,7 +14,7 @@ import java.io.Serializable;
@Getter @Getter
@Setter @Setter
@ToString @ToString
public class UpdateSecretDTO implements Serializable { public class UpdateAppSecretDTO implements Serializable {
private String newAppSecret; private String newAppSecret;
} }
...@@ -12,5 +12,5 @@ import lombok.ToString; ...@@ -12,5 +12,5 @@ import lombok.ToString;
@Getter @Getter
@Setter @Setter
@ToString @ToString
public class UpdateAppDTO { public class UpdateApplicationDTO {
} }
package com.wecloud.im.appmanager;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.wecloud.im.entity.ImApplication;
import com.wecloud.im.service.ImApplicationService;
import com.wecloud.im.ws.utils.KeyGenerator;
import com.wecloud.imserver.client.api.ImApplicationFacade;
import com.wecloud.imserver.client.model.ao.CreateApplicationAO;
import com.wecloud.imserver.client.model.ao.ListApplicationQueryAO;
import com.wecloud.imserver.client.model.ao.UpdateAppSecretAO;
import com.wecloud.imserver.client.model.dto.ApplicationDTO;
import com.wecloud.imserver.client.model.dto.Result;
import com.wecloud.imserver.client.model.dto.UpdateAppSecretDTO;
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;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* @author nanqianhao
* @date 2022/5/26
* @apiNote
*/
@Slf4j
@Service
@DubboService
public class ImApplicationFacadeImpl implements ImApplicationFacade {
@Autowired
private ImApplicationService imApplicationService;
@Override
public Result<UpdateAppSecretDTO> updateAppSecret(UpdateAppSecretAO updateSecretAO) {
log.info("更新Secret传入参数为{}",updateSecretAO);
String appKey = updateSecretAO.getAppKey();
ImApplication application = imApplicationService.getOne(new LambdaQueryWrapper<ImApplication>().eq(ImApplication::getAppKey, appKey));
String appSecret = KeyGenerator.getAppSecret();
UpdateAppSecretDTO updateAppSecretDTO = new UpdateAppSecretDTO();
updateAppSecretDTO.setNewAppSecret(appSecret);
application.setAppSecret(appSecret);
imApplicationService.updateById(application);
log.info("更新Secret返回结果为{}",updateAppSecretDTO);
return Result.getSuccessResult(updateAppSecretDTO);
}
@Override
public Result<Boolean> createApplication(CreateApplicationAO createApplicationAO) {
log.info("创建应用传入的参数为{}",createApplicationAO);
String appKey = KeyGenerator.getRandomString();
String appSecret = KeyGenerator.getAppSecret();
ImApplication imApplication = new ImApplication();
if (createApplicationAO.getTenantId()==null||"".equals(createApplicationAO.getTenantId())){
return Result.getBusinessException("请传入租户id", null);
}
long id = IdWorker.getId();
imApplication.setId(id);
imApplication.setTenantId(createApplicationAO.getTenantId());
imApplication.setAppKey(appKey);
imApplication.setAppSecret(appSecret);
imApplication.setAppName(createApplicationAO.getAppName());
imApplication.setCreateTime(new Date());
log.info("新建的应用信息为{}",imApplication);
boolean saveResult = imApplicationService.save(imApplication);
return Result.getSuccessResult(saveResult);
}
@Override
public Result<List<ApplicationDTO>> listApplications(ListApplicationQueryAO listApplicationQueryAO) {
log.info("查看应用列表传入的参数为{}",listApplicationQueryAO);
if (listApplicationQueryAO.getTenantId()==null||"".equals(listApplicationQueryAO.getTenantId())){
return Result.getBusinessException("请传入租户id", null);
}
List<ImApplication> list = imApplicationService.list(new LambdaQueryWrapper<ImApplication>().eq(ImApplication::getTenantId, listApplicationQueryAO.getTenantId()));
List<ApplicationDTO> applicationDTOs = new ArrayList<>();
list.forEach(ImApplication->{
ApplicationDTO applicationDTO = new ApplicationDTO();
BeanUtils.copyProperties(ImApplication,applicationDTO);
applicationDTOs.add(applicationDTO);
});
log.info("返回的应用列表为{}",applicationDTOs);
return Result.getSuccessResult(applicationDTOs);
}
@Override
public Result<Boolean> updateApplication(CreateApplicationAO createApplicationAO) {
log.info("编辑应用传入参数为{}",createApplicationAO);
ImApplication application = imApplicationService.getOne(new LambdaQueryWrapper<ImApplication>().eq(ImApplication::getId, createApplicationAO.getId()));
application.setAppName(createApplicationAO.getAppName());
application.setUpdateTime(new Date());
boolean updateResult = imApplicationService.updateById(application);
log.info("编辑的应用信息为{}",application);
return Result.getSuccessResult(updateResult);
}
}
...@@ -74,7 +74,7 @@ public class ImApplication extends BaseEntity implements Application { ...@@ -74,7 +74,7 @@ public class ImApplication extends BaseEntity implements Application {
private String fullMessageSubscribeUrl; private String fullMessageSubscribeUrl;
@ApiModelProperty("租户id") @ApiModelProperty("租户id")
private String tenantId; private Long tenantId;
@Override @Override
public Boolean isActive() { public Boolean isActive() {
......
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