@ -25,6 +25,7 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  com.epmet.commons.tools.constant.FieldConstant ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  com.epmet.commons.tools.constant.NumConstant ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  com.epmet.commons.tools.enums.EnvEnum ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  com.epmet.commons.tools.exception.ExceptionUtils ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  com.epmet.commons.tools.exception.RenException ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  com.epmet.commons.tools.page.PageData ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  com.epmet.commons.tools.utils.ConvertUtils ;  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				
					@ -40,6 +41,8 @@ import com.epmet.modules.group.dao.ResiGroupCodeDao; 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  com.epmet.modules.group.entity.ResiGroupCodeEntity ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  com.epmet.modules.group.redis.ResiGroupCodeRedis ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  com.epmet.modules.group.service.ResiGroupCodeService ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  com.epmet.modules.group.service.ResiGroupService ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  com.epmet.modules.invitation.service.GroupInvitationService ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  com.epmet.modules.utils.ModuleConstant ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  com.epmet.resi.group.constant.GroupCodeConstant ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  com.epmet.resi.group.dto.QRCodeMultipartFileDTO ;  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				
					@ -48,6 +51,9 @@ import com.epmet.resi.group.dto.group.form.CreateGroupCodeFormDTO; 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  com.epmet.resi.group.dto.group.form.GetGroupCodeFormDTO ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  com.epmet.resi.group.dto.group.form.GroupCodeBasicInfoFormDTO ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  com.epmet.resi.group.dto.group.result.GroupCodeBasicInfoResultDTO ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  com.epmet.resi.group.dto.invitation.form.CreateGroupInvitationFormDTO ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  com.epmet.resi.group.dto.invitation.result.CreateGroupInvitationResultDTO ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  com.epmet.utils.ThirdUtils ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  org.apache.commons.lang3.StringUtils ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  org.slf4j.Logger ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  org.slf4j.LoggerFactory ;  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				
					@ -58,6 +64,7 @@ import org.springframework.transaction.annotation.Transactional; 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  java.io.UnsupportedEncodingException ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  java.util.* ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					import  java.util.concurrent.ExecutorService ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					/ * *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					 *  小组二维码  小组唯一二维码 , 海报码和小组码是同一个二维码 , 长期有效的  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				
					@ -76,6 +83,15 @@ public class ResiGroupCodeServiceImpl extends BaseServiceImpl<ResiGroupCodeDao, 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    @Autowired  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    private  OssFeignClient  ossFeignClient ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    @Autowired  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    private  ExecutorService  executorService ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    @Autowired  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    private  GroupInvitationService  groupInvitationService ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    @Autowired  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    private  ResiGroupService  resiGroupService ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    @Override  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    public  PageData < ResiGroupCodeDTO >  page ( Map < String ,  Object >  params )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        IPage < ResiGroupCodeEntity >  page  =  baseDao . selectPage (  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				
					@ -129,14 +145,68 @@ public class ResiGroupCodeServiceImpl extends BaseServiceImpl<ResiGroupCodeDao, 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    / * *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @param  dto  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @return  void  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @param  dto ,  syncFlag ( 是否同步执行 , true同步 , false异步 )  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @return  String  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @Description  创建群组二维码  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @Author  liushaowen  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @Date  2020 / 11 / 13  16 : 32  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     * /  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    @Override  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    public  String  createGroupCode ( CreateGroupCodeFormDTO  dto )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    public  String  createGroupCode ( CreateGroupCodeFormDTO  dto ,  boolean  syncFlag )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        if  ( syncFlag ) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            return  createCodeFunction ( dto ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        } else  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            executorService . execute ( ( ) - > {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                try  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    long  startTs  =  System . currentTimeMillis ( ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    createCodeFunction ( dto ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    long  endTs  =  System . currentTimeMillis ( ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    logger . info ( "异步创建群二维码成功,执行时长:{}" ,  endTs  -  startTs ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                }  catch  ( Exception  e )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    logger . error ( "异步创建群二维码失败,错误信息:{}" ,  ExceptionUtils . getErrorStackTrace ( e ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            } ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            return  "" ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    / * *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @param  dto  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @return  com . epmet . commons . tools . utils . Result < java . lang . String >  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @Description  获取群组二维码  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @Author  liushaowen  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @Date  2020 / 11 / 16  9 : 37  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     * /  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    @Override  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    public  Result < String >  getGroupCode ( GetGroupCodeFormDTO  dto )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        ResiGroupCodeEntity  codeByGroupId  =  getCode ( dto . getGroupId ( ) ,  dto . getType ( ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        if  ( codeByGroupId  ! =  null )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            //数据库有数据
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            return  new  Result < String > ( ) . ok ( codeByGroupId . getUrl ( ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        }  else  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            //从微信获取二维码并存储
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            CreateGroupCodeFormDTO  createDto  =  new  CreateGroupCodeFormDTO ( ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            BeanUtils . copyProperties ( dto ,  createDto ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            String  url  =  createGroupCode ( createDto ,  true ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            if  ( StringUtils . isBlank ( url ) ) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                throw  new  RenException ( "获取二维码失败" ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            return  new  Result < String > ( ) . ok ( url ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    private  ResiGroupCodeEntity  getCode ( String  groupId ,  String  type )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        if  ( StringUtils . isBlank ( groupId )  | |  StringUtils . isBlank ( type ) )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            throw  new  RenException ( "获取二维码失败,groupId或type为空" ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        QueryWrapper < ResiGroupCodeEntity >  queryWrapper  =  new  QueryWrapper < > ( ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        queryWrapper . eq ( "DEL_FLAG" ,  "0" ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        queryWrapper . eq ( "GROUP_ID" ,  groupId ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        queryWrapper . eq ( "TYPE" ,  type ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        return  baseDao . selectOne ( queryWrapper ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    private  String  createCodeFunction ( CreateGroupCodeFormDTO  dto ) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        String  result  =  "" ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        ResiGroupCodeEntity  codeByGroupId  =  getCode ( dto . getGroupId ( ) ,  dto . getType ( ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        if  ( codeByGroupId  ! =  null )  {  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				
					@ -146,14 +216,21 @@ public class ResiGroupCodeServiceImpl extends BaseServiceImpl<ResiGroupCodeDao, 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            //向微信获取二维码
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            // 获取AccessToken
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            String  accessToken  =  getAccessToken ( dto . getCustomerId ( ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            String  accessToken  =  ThirdUtils . getAccessToken ( dto . getCustomerId ( ) ) . getResiToken ( ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            if  ( StringUtils . isBlank ( accessToken ) )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                logger . error ( "获取accessToken失败,customerId:{}" ,  dto . getCustomerId ( ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                throw  new  RenException ( "获取accessToken失败" ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            //跳转的页面
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            StringBuilder  path  =  new  StringBuilder ( ModuleConstant . CODE_INVITE_PAGE ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            path . append ( "?groupId=" ) . append ( dto . getGroupId ( ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            //获取invitationId
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            CreateGroupInvitationFormDTO  invitationFormDTO  =  new  CreateGroupInvitationFormDTO ( ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            //获取群主userId
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            invitationFormDTO . setUserId ( resiGroupService . get ( dto . getGroupId ( ) ) . getCreatedBy ( ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            invitationFormDTO . setGroupId ( dto . getGroupId ( ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            CreateGroupInvitationResultDTO  groupScanCodeInvitation  =  groupInvitationService . createGroupScanCodeInvitation ( invitationFormDTO ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            path . append ( "?invitationId=" ) . append ( groupScanCodeInvitation . getInvitationId ( ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            //需要发送的Json
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            JSONObject  data  =  new  JSONObject ( ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            data . put ( "path" ,  path . toString ( ) ) ;  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				
					@ -192,70 +269,6 @@ public class ResiGroupCodeServiceImpl extends BaseServiceImpl<ResiGroupCodeDao, 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        return  result ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    / * *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @param  dto  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @return  com . epmet . commons . tools . utils . Result < java . lang . String >  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @Description  获取群组二维码  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @Author  liushaowen  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @Date  2020 / 11 / 16  9 : 37  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     * /  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    @Override  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    public  Result < String >  getGroupCode ( GetGroupCodeFormDTO  dto )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        ResiGroupCodeEntity  codeByGroupId  =  getCode ( dto . getGroupId ( ) ,  dto . getType ( ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        if  ( codeByGroupId  ! =  null )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            //数据库有数据
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            return  new  Result < String > ( ) . ok ( codeByGroupId . getUrl ( ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        }  else  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            //从微信获取二维码并存储
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            CreateGroupCodeFormDTO  createDto  =  new  CreateGroupCodeFormDTO ( ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            BeanUtils . copyProperties ( dto ,  createDto ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            String  url  =  createGroupCode ( createDto ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            if  ( StringUtils . isBlank ( url ) ) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                throw  new  RenException ( "获取二维码失败" ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            return  new  Result < String > ( ) . ok ( url ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    private  ResiGroupCodeEntity  getCode ( String  groupId ,  String  type )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        if  ( StringUtils . isBlank ( groupId )  | |  StringUtils . isBlank ( type ) )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            throw  new  RenException ( "获取二维码失败,groupId或type为空" ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        QueryWrapper < ResiGroupCodeEntity >  queryWrapper  =  new  QueryWrapper < > ( ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        queryWrapper . eq ( "DEL_FLAG" ,  "0" ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        queryWrapper . eq ( "GROUP_ID" ,  groupId ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        queryWrapper . eq ( "TYPE" ,  type ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        return  baseDao . selectOne ( queryWrapper ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    //获取AccessToken
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    private  String  getAccessToken ( String  customerId )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        EnvEnum  envEnum  =  EnvEnum . getCurrentEnv ( ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        String  resiAccessToken  =  null ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        if  ( EnvEnum . PROD . getCode ( ) . equals ( envEnum . getCode ( ) ) )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            //居民端
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            StringBuilder  resiKey  =  new  StringBuilder ( customerId ) . append ( ":resi" ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            Map < String ,  Object >  authorizerRefreshToken  =  new  HashMap < > ( ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            authorizerRefreshToken  =  resiGroupCodeRedis . getAuthorizerRefreshToken ( resiKey . toString ( ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            resiAccessToken  =  ( String )  authorizerRefreshToken . get ( "authorizerAccessToken" ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        }  else  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            String  url  =  "https://epmet-cloud.elinkservice.cn/api/third/pacustomer/tokenlist" ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            JSONObject  postData  =  new  JSONObject ( ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            postData . put ( "customerId" ,  customerId ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            String  data  =  HttpClientManager . getInstance ( ) . sendPostByJSON ( url ,  JSON . toJSONString ( postData ) ) . getData ( ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            JSONObject  toResult  =  JSON . parseObject ( data ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            Result  mapToResult  =  ConvertUtils . mapToEntity ( toResult ,  Result . class ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            if  ( null  ! =  toResult . get ( "code" ) )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                mapToResult . setCode ( ( ( Integer )  toResult . get ( "code" ) ) . intValue ( ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            Object  CustomerTokensResultDTO  =  mapToResult . getData ( ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            JSONObject  json  =  JSON . parseObject ( CustomerTokensResultDTO . toString ( ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            CustomerTokensResultDTO  customerTokensResultDTO  =  ConvertUtils . mapToEntity ( json ,  com . epmet . dto . result . CustomerTokensResultDTO . class ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            resiAccessToken  =  customerTokensResultDTO . getResiAuthorizerToken ( ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        return  resiAccessToken ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    / * *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @param  formDTO  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @Description  获取生成海报 ( 小组码 ) 信息  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				
					@ -272,7 +285,7 @@ public class ResiGroupCodeServiceImpl extends BaseServiceImpl<ResiGroupCodeDao, 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        if  ( null  = =  resultDTO . getGroupCodeUrl ( )  | |  "" . equals ( resultDTO . getGroupCodeUrl ( ) ) )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            CreateGroupCodeFormDTO  dto  =  ConvertUtils . sourceToTarget ( formDTO ,  CreateGroupCodeFormDTO . class ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            dto . setType ( GroupCodeConstant . CODE_TYPE_INVITE ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            String  url  =  createGroupCode ( dto ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            String  url  =  createGroupCode ( dto ,  true ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            if  ( StringUtils . isBlank ( url ) )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                logger . error ( String . format ( "生成小组二维码失败,小组Id:%s" ,  formDTO . getGroupId ( ) ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                throw  new  RenException ( "获取小组码基本信息失败" ) ;