@ -621,7 +621,7 @@ public class WorkActServiceImpl implements WorkActService { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    public  void  cancelAct ( CancelActFormDTO  formDTO )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        ActInfoDTO  actInfoDTO = actInfoService . get ( formDTO . getActId ( ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        if ( null = = actInfoDTO ) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            logger . error ( "act_info is null" ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            logger . error ( "act_info is null actId= " + formDTO . getActId ( ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            return  ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        if ( ! actInfoDTO . getCreatedBy ( ) . equals ( loginUserUtil . getLoginUserId ( ) ) ) {  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				
					@ -809,7 +809,7 @@ public class WorkActServiceImpl implements WorkActService { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    public  void  finishAct ( String  actId )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        ActInfoDTO  actInfoDTO = actInfoService . get ( actId ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        if ( null = = actInfoDTO ) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            logger . error ( "act_info is null" ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            logger . error ( "act_info is null actId= " + actId ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            return ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //校验是否可以结束
  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				
					@ -826,9 +826,18 @@ public class WorkActServiceImpl implements WorkActService { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //发放积分调用事件
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        if ( actInfoDTO . getReward ( ) > 0 ) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            this . grantActPoints ( actInfoDTO ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        } else {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            logger . info ( "活动积分为" + actInfoDTO . getReward ( ) + "无需发放积分" ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    / * *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @return  void  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @param  actInfoDTO  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @author  yinzuomei  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @description  活动发放积分  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @Date  2020 / 7 / 31  13 : 12  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     * * /  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    private  void  grantActPoints ( ActInfoDTO  actInfoDTO )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //查询已经给分的用户
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        QueryWrapper < ActUserRelationEntity >  wrapper  =  new  QueryWrapper < > ( ) ;  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				
					@ -837,7 +846,7 @@ public class WorkActServiceImpl implements WorkActService { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        . eq ( "REWARD_FLAG" , ActConstant . ACT_USER_STATUS_AGREE ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        List < ActUserRelationEntity >  actUserRelationEntityList = actUserRelationDao . selectList ( wrapper ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        if ( null = = actUserRelationEntityList | | actUserRelationEntityList . size ( ) < 1 ) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            logger . info ( "不存在给分的记录,无需发送消息时间" ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            logger . info ( String . format ( "活动%s, 不存在给分的记录,无需发送消息时间" , actInfoDTO . getId ( ) ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            return ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //查询当前用户所属组织信息
  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				
					@ -879,7 +888,7 @@ public class WorkActServiceImpl implements WorkActService { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        actGrantPointLogEntity . setResponseMsg ( JSON . toJSONString ( result ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        actGrantPointLogDao . insert ( actGrantPointLogEntity ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        if ( ! result . success ( ) ) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            logger . error ( "活动积分发放失败" ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            logger . error ( "活动积分发放失败,act_grant_point_log.id= " + actGrantPointLogEntity . getId ( ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				
					@ -925,6 +934,13 @@ public class WorkActServiceImpl implements WorkActService { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        logger . info ( "积分发方成功" ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    / * *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @return  void  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @param  actInfoDTO  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @author  yinzuomei  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @description   //发放爱心时长、参与活动并获得积分的次数
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @Date  2020 / 7 / 31  13 : 15  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     * * /  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    private  void  updateHeartUserInfo ( ActInfoDTO  actInfoDTO )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        List < ActUserRelationDTO >  actUserRelationDTOList = actUserRelationService . getUserList ( actInfoDTO . getId ( ) , StrConstant . EPMETY_STR ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        for ( ActUserRelationDTO  actUserRelation : actUserRelationDTOList ) {  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				
					@ -932,23 +948,36 @@ public class WorkActServiceImpl implements WorkActService { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            if ( null = = heartUserInfoDTO ) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                continue ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            if ( ActConstant . ACT_USER_STATUS_AGREE . equals ( actUserRelation . getRewardFlag ( ) ) ) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                heartUserInfoDTO . setObtainPointNum ( heartUserInfoDTO . getObtainPointNum ( ) + 1 ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            //爱心时长发放(签到的。未签到但是有积分的)
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            if ( ActConstant . ACT_USER_STATUS_SIGNED_IN . equals ( actUserRelation . getSignInFlag ( ) ) ) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                //已签到的
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                heartUserInfoDTO . setKindnessTime ( heartUserInfoDTO . getKindnessTime ( ) + actInfoDTO . getServiceMin ( ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            } else {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                //未签到,但是有积分的
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            if ( actInfoDTO . getReward ( ) > 0 ) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                if ( ActConstant . ACT_USER_STATUS_AGREE . equals ( actUserRelation . getRewardFlag ( ) ) ) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    heartUserInfoDTO . setObtainPointNum ( heartUserInfoDTO . getObtainPointNum ( ) + 1 ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            if ( actInfoDTO . getServiceMin ( ) > 0 ) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                //爱心时长发放(签到的。未签到但是有积分的)
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                if ( ActConstant . ACT_USER_STATUS_SIGNED_IN . equals ( actUserRelation . getSignInFlag ( ) ) ) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    //已签到的
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    heartUserInfoDTO . setKindnessTime ( heartUserInfoDTO . getKindnessTime ( ) + actInfoDTO . getServiceMin ( ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                } else {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    //未签到,但是有积分的
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    if ( ActConstant . ACT_USER_STATUS_AGREE . equals ( actUserRelation . getRewardFlag ( ) ) ) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                        heartUserInfoDTO . setKindnessTime ( heartUserInfoDTO . getKindnessTime ( ) + actInfoDTO . getServiceMin ( ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            heartUserInfoService . update ( heartUserInfoDTO ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            if ( actInfoDTO . getReward ( ) > 0 | | actInfoDTO . getServiceMin ( ) > 0 ) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                heartUserInfoService . update ( heartUserInfoDTO ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    / * *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @return  void  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @param  actId  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @author  yinzuomei  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @description  活动结束后生成统计表  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @Date  2020 / 7 / 31  13 : 15  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     * * /  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    private  void  saveActStatistical ( String  actId )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        ActStatisticalDTO  actStatisticalDTO = new  ActStatisticalDTO ( ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        actStatisticalDTO . setActId ( actId ) ;  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				
					@ -971,6 +1000,13 @@ public class WorkActServiceImpl implements WorkActService { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        actStatisticalService . save ( actStatisticalDTO ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    / * *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @return  void  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @param  actId  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @author  yinzuomei  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @description  保存活动结束日志  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @Date  2020 / 7 / 31  13 : 16  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     * * /  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    private  void  saveActOperationRec ( String  actId )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        ActOperationRecEntity  actOperationRecEntity = new  ActOperationRecEntity ( ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        actOperationRecEntity . setActId ( actId ) ;  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				
					@ -980,6 +1016,13 @@ public class WorkActServiceImpl implements WorkActService { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        actOperationRecDao . insert ( actOperationRecEntity ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    / * *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @return  com . epmet . dto . ActInfoDTO  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @param  actInfoDTO  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @author  yinzuomei  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @description  校验是否可以结束  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     *  @Date  2020 / 7 / 31  13 : 16  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					     * * /  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    private  ActInfoDTO  checkActInfoDTO ( ActInfoDTO  actInfoDTO )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //只有我发布的活动,我可以就结束
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        if ( ! actInfoDTO . getCreatedBy ( ) . equals ( loginUserUtil . getLoginUserId ( ) ) ) {  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				
					@ -1012,7 +1055,7 @@ public class WorkActServiceImpl implements WorkActService { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    public  void  summaryAct ( SummaryActFormDTO  formDTO )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        ActInfoDTO  actInfoDTO = actInfoService . get ( formDTO . getActId ( ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        if ( null = = actInfoDTO ) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            logger . info ( "act_info is null" ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            logger . error ( "act_info is null actId= " + formDTO . getActId ( ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            return ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        if ( ! actInfoDTO . getActStatus ( ) . equals ( ActConstant . ACT_STATUS_FINISHED ) ) {  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				
					@ -1127,7 +1170,7 @@ public class WorkActServiceImpl implements WorkActService { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //删除所有的草稿
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        this . deleteDraft ( ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        publishActResultDTO . setActId ( rePublishFormDTO . getActId ( ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //发送消息通知-暂时不做了
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //发送消息通知-暂时不做了,前端默认串的是不通知 
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        / * if ( rePublishFormDTO . getNoticePassedPeople ( ) ) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            this . noticePassedPeople ( originalActInfo , newActInfoEntity ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        } * /  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				
					@ -1135,14 +1178,4 @@ public class WorkActServiceImpl implements WorkActService { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    private  void  noticePassedPeople ( ActInfoDTO  originalActInfo ,  ActInfoEntity  newActInfoEntity )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					       / *  List < ActUserRelationDTO >  actUserRelationDTOList = actUserRelationDao . selectAuditingAndPassedList ( originalActInfo . getId ( ) ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        if ( null = = actUserRelationDTOList | | actUserRelationDTOList . size ( ) < 1 ) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            logger . info ( "不存在待审核人员、已经审核用户,无需发送站内信" ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            return ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        String  originalTitle = originalActInfo . getTitle ( ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        //活动地点、活动预计开始时间、活动预计结束时间、活动积分、签到时间开始、签到结束时间、签到地点*/
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					}