| 
					
				 | 
			
			
				@ -1,9 +1,11 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				package com.yihu.jw.base.endpoint.saas; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				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.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; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -23,6 +25,7 @@ import org.springframework.beans.factory.annotation.Value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.http.MediaType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.mail.SimpleMailMessage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.mail.javamail.JavaMailSender; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.util.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.web.bind.annotation.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.List; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -45,13 +48,15 @@ public class SaasEndpoint extends EnvelopRestEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private ErrorCodeUtil errorCodeUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private BaseEmailTemplateConfigService baseEmailTemplateConfigService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    JavaMailSender jms; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Value("${spring.mail.username}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private String username; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @PostMapping(value = BaseRequestMapping.Saas.CREATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation(value = "创建-基本信息") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Envelop create ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Envelop create( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "jsonSaas", value = "租户数据", required = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam String jsonSaas) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        SaasDO saasDO = toEntity(jsonSaas, SaasDO.class); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -75,7 +80,7 @@ public class SaasEndpoint extends EnvelopRestEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @PostMapping(value = BaseRequestMapping.Saas.SYSTEM_CONFIGURATION, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation(value = "创建-系统配置") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Envelop createSystemConfig ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Envelop createSystemConfig( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "saasDO", value = "Json数据", required = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "saasDO") SaasDO saasDO) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -85,7 +90,7 @@ public class SaasEndpoint extends EnvelopRestEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @PostMapping(value = BaseRequestMapping.Saas.THEME_STYLE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation(value = "创建-主题风格") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Envelop createThemeConfig ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Envelop createThemeConfig( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "saasDO", value = "Json数据", required = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "saasDO") SaasDO saasDO) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -105,7 +110,7 @@ public class SaasEndpoint extends EnvelopRestEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @PostMapping(value = BaseRequestMapping.Saas.UPDATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation(value = "更新") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Envelop update ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Envelop update( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "json", value = "Json数据", required = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestBody String jsonData) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        SaasDO saasDO = toEntity(jsonData, SaasDO.class); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -118,7 +123,7 @@ public class SaasEndpoint extends EnvelopRestEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @GetMapping(value = BaseRequestMapping.Saas.PAGE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation(value = "获取分页") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public PageEnvelop<SaasVO> page ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public PageEnvelop<SaasVO> page( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "fields", required = false) String fields, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "filters", value = "过滤器,为空检索所有条件") 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -130,13 +135,13 @@ public class SaasEndpoint extends EnvelopRestEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "size", value = "页码", required = true, defaultValue = "15") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "size") int size) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<SaasDO> saasDOS = saasService.search(fields, filters, sorts, page, size); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        int count = (int)saasService.getCount(filters); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        int count = (int) saasService.getCount(filters); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return success(saasDOS, count, page, size, SaasVO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @GetMapping(value = BaseRequestMapping.Saas.LIST) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation(value = "获取列表") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public ListEnvelop<SaasVO> list ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public ListEnvelop<SaasVO> list( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "fields", required = false) String fields, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "filters", value = "过滤器,为空检索所有条件") 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -165,50 +170,64 @@ public class SaasEndpoint extends EnvelopRestEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @PostMapping(value = BaseRequestMapping.Saas.AUDIT) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation(value = "审核") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Envelop audit( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public ObjEnvelop<SaasDO> audit( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "id", value = "SaasId", required = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "id") String id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "status", value = "状态", required = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "status") SaasDO.Status status, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "auditFailedReason", value = "审核不通过的原因(非必填)") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "auditFailedReason",required = false) String auditFailedReason) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "auditFailedReason", required = false) String auditFailedReason) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        SaasDO saasDO = saasService.retrieve(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (null == saasDO) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return failed("无相关SAAS配置", Envelop.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return failed("无相关SAAS配置", ObjEnvelop.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        saasDO.setStatus(status); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        saasDO.setAuditFailedReason(auditFailedReason); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        saasService.save(saasDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return success("操作成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        saasDO= send(saasDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return success("审核完成",saasDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @GetMapping("/sendEmail") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation(value = "邮件发送") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public void send() throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public SaasDO send(SaasDO saasDO) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        SaasDO.Status status = saasDO.getStatus(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //用户信息初始化 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        UserDO userDO = new UserDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        userDO.setEmail(saasDO.getEmail()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        userDO.setMobile(saasDO.getMobile()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        userDO.setName(saasDO.getManagerName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        userDO.setUsername(userDO.getEmail()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String  password = userDO.getMobile().substring(0, 6); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        BaseEmailTemplateConfigDO baseEmailTemplateConfigDO = baseEmailTemplateConfigService.findByCode(status.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //建立邮件消息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        SimpleMailMessage mainMessage = new SimpleMailMessage(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //发送者 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        mainMessage.setFrom(username); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //接收者 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        mainMessage.setTo("763558454@qq.com"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        mainMessage.setTo(saasDO.getEmail()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //发送的标题 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        mainMessage.setSubject("租户审核"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        mainMessage.setSubject(baseEmailTemplateConfigDO.getTemplateName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //发送的内容 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String content =  "您好!\n"+ "感谢您注册健康之路城市i健康。\n"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (true) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            content = content + "您提交的是租户注册信息已审核通过,登录账号、密码如下所示:\n"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            content = content + "账号:test"+"\n"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            content = content + "密码:123456"+"\n"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            content = content + "点击以下链接进入健康之路城市i健康综合管理平台:"+ "http://www.baidu.com \n"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            content = content + "如果以上链接无法点击,请将上面的地址复制到你的浏览器(如IE)的地址栏进入健康之路城市i健康综合管理平台\n"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            content = content + "您提交的是租户注册信息审核未通过,审核未通过原因如下:\n"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            content = content + "营业执照图片模糊,不清晰。\n"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            content = content + "请点击以下链接修改注册信息并重新提交审核:"+ "http://www.baidu.com \n"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            content = content + "如果以上链接无法点击,请将上面的地址复制到你的浏览器(如IE)的地址栏进入租户注册信息修改。\n"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        StringBuffer content = new StringBuffer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        content.append(baseEmailTemplateConfigDO.getFirst() + "\n").append(baseEmailTemplateConfigDO.getKeyword1() + "\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        content.append(baseEmailTemplateConfigDO.getKeyword2() + "\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (status.equals(SaasDO.Status.auditPassed)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //账号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            content.append(baseEmailTemplateConfigDO.getKeyword3()+userDO.getMobile() + "\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //密码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            content.append(baseEmailTemplateConfigDO.getKeyword4()+password + "\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else if (status.equals(SaasDO.Status.auditNotPassed)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //审核未通过的原因 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            content.append(saasDO.getAuditFailedReason() + "\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        mainMessage.setText(content); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        content.append(baseEmailTemplateConfigDO.getKeyword5() + baseEmailTemplateConfigDO.getUrl() + "\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        content.append(baseEmailTemplateConfigDO.getRemark()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        mainMessage.setText(content.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        jms.send(mainMessage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //发送成功后,初始化租户信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        saasDO = saasService.saasAudit(saasDO, userDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return saasDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |