|
@ -1,15 +1,21 @@
|
|
|
package com.yihu.jw.base.endpoint.saas;
|
|
|
|
|
|
import com.yihu.jw.base.contant.CommonContant;
|
|
|
import com.yihu.jw.base.service.module.SaasModuleService;
|
|
|
import com.yihu.jw.base.service.saas.BaseEmailTemplateConfigService;
|
|
|
import com.yihu.jw.base.service.saas.SaasService;
|
|
|
import com.yihu.jw.base.service.saas.SaasTypeDictService;
|
|
|
import com.yihu.jw.base.service.user.UserService;
|
|
|
import com.yihu.jw.base.util.ErrorCodeUtil;
|
|
|
import com.yihu.jw.base.util.ValidateUtil;
|
|
|
import com.yihu.jw.entity.base.module.ModuleDO;
|
|
|
import com.yihu.jw.entity.base.module.SaasModuleDO;
|
|
|
import com.yihu.jw.entity.base.saas.BaseEmailTemplateConfigDO;
|
|
|
import com.yihu.jw.entity.base.saas.SaasDO;
|
|
|
import com.yihu.jw.entity.base.saas.SaasTypeDictDO;
|
|
|
import com.yihu.jw.entity.base.user.UserDO;
|
|
|
import com.yihu.jw.exception.code.BaseErrorCode;
|
|
|
import com.yihu.jw.restmodel.base.module.SaasModuleVO;
|
|
|
import com.yihu.jw.restmodel.base.saas.SaasVO;
|
|
|
import com.yihu.jw.restmodel.web.Envelop;
|
|
|
import com.yihu.jw.restmodel.web.ListEnvelop;
|
|
@ -20,6 +26,7 @@ import com.yihu.jw.rm.base.BaseRequestMapping;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import io.swagger.annotations.ApiParam;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.mail.MailException;
|
|
@ -27,8 +34,11 @@ import org.springframework.mail.SimpleMailMessage;
|
|
|
import org.springframework.mail.javamail.JavaMailSender;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
import java.util.UUID;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* Endpoint - SAAS
|
|
@ -50,6 +60,8 @@ public class SaasEndpoint extends EnvelopRestEndpoint {
|
|
|
@Autowired
|
|
|
private BaseEmailTemplateConfigService baseEmailTemplateConfigService;
|
|
|
@Autowired
|
|
|
private SaasModuleService saasModuleService;
|
|
|
@Autowired
|
|
|
JavaMailSender jms;
|
|
|
@Value("${spring.mail.username}")
|
|
|
private String username;
|
|
@ -60,6 +72,12 @@ public class SaasEndpoint extends EnvelopRestEndpoint {
|
|
|
@ApiParam(name = "jsonSaas", value = "租户数据", required = true)
|
|
|
@RequestParam String jsonSaas) throws Exception {
|
|
|
SaasDO saasDO = toEntity(jsonSaas, SaasDO.class);
|
|
|
if(!ValidateUtil.isValidMobileNo(saasDO.getMobile())){
|
|
|
return failed(errorCodeUtil.getErrorMsg(BaseErrorCode.Saas.MOBILE_IS_EXIST), Envelop.class);
|
|
|
}
|
|
|
if(!ValidateUtil.isValidEmail(saasDO.getEmail())){
|
|
|
return failed(errorCodeUtil.getErrorMsg(BaseErrorCode.Saas.EMAIL_IS_EXIST), Envelop.class);
|
|
|
}
|
|
|
if (saasService.search("name=" + saasDO.getName()).size() > 0) {
|
|
|
return failed(errorCodeUtil.getErrorMsg(BaseErrorCode.Saas.NAME_IS_EXIST), Envelop.class);
|
|
|
}
|
|
@ -199,6 +217,29 @@ public class SaasEndpoint extends EnvelopRestEndpoint {
|
|
|
return success(saasVO);
|
|
|
}
|
|
|
|
|
|
@GetMapping(value = BaseRequestMapping.Saas.FIND_MODULE_BY_SAASID)
|
|
|
@ApiOperation(value = "获取租户的模块列表")
|
|
|
public ListEnvelop<SaasModuleVO> findModuleBySaasId (
|
|
|
@ApiParam(name = "saasId", value = "saasId")
|
|
|
@RequestParam(value = "saasId", required = true) String saasId) throws Exception {
|
|
|
String filters = "status="+ ModuleDO.Status.available.getValue()+";";
|
|
|
if(StringUtils.isNotBlank(saasId)){
|
|
|
filters = "saasId="+saasId;
|
|
|
}
|
|
|
List<SaasModuleDO> modules = saasModuleService.search(null, filters, null);
|
|
|
List<SaasModuleVO> moduleVOs = convertToModels(modules,new ArrayList<>(modules.size()),SaasModuleVO.class);
|
|
|
Map<String,List<SaasModuleVO>> map = moduleVOs.stream().collect(Collectors.groupingBy(SaasModuleVO::getParentModuleId));
|
|
|
moduleVOs.forEach(module->{
|
|
|
List<SaasModuleVO> tmp = map.get(module.getId());
|
|
|
module.setChildren(tmp);
|
|
|
});
|
|
|
moduleVOs = moduleVOs.stream()
|
|
|
.filter(module -> CommonContant.DEFAULT_PARENTID.equals(module.getParentModuleId()))
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
return success(moduleVOs);
|
|
|
}
|
|
|
|
|
|
@PostMapping(value = BaseRequestMapping.Saas.AUDIT)
|
|
|
@ApiOperation(value = "审核")
|
|
|
public ObjEnvelop<SaasDO> audit(
|