java8ストリーム記録

直接コードに

forループのforEach()メソッド

 

ストリーム()、フィルタ()()(Collectors.toList)を収集し、対応するリストに、必要な要素を表示します

ストリーム()。マップ(WechatUser :: getUin).collect(Collectors.toList())リストUINに取ります

ユーザー - > Math.abs(.. Period.between(LOCALDATE、user.getLastLoginTime()toLocalDate())getDays())> 89)、WechatUser :: getUin匿名の式、関数型プログラミング


 

    / ** 
     *期限切れの90日間のユーザー情報を削除します
     *基礎を削除します。すべての注文の障害が発生した後、すべてのオンラインのマイクロチャネルのユーザーは15日、90日、管理者ユーザーは、未知の更新しないため、オフライン履歴情報リスク管理モジュールを強制的にシステムは、アカウントをクリーンアップします。
     *定期的なタスク
     * // TODOの実行`更新タイマの有効期限タスク- updateCompanyLimitWxAndEndDate後の()`実行
     * @return 
     * / 
    @Transactional 
    公衆結果expDeleteUserData(){ 
        //クエリは、企業ユーザーの有効期限が切れ
        一覧を<会社> = companyMapper.expDateGt90DaysCompany会社(); 
        リスト<ユーザー> =新しい新しいcompanyUsersのArrayList <>(); 
        companies.forEach(会社- > companyUsers.add(userMapper.selectCompanyUserByCompanyId(company.getCompanyId()))); 
        //管理メンバーは、会社内のすべてのユーザーを追加し、時間フィルタをログイン 
        LOCALDATE LOCALDATE = LocalDate.now();
        一覧<整数>ユーザーID =新しいArrayListを<>(); 
        リスト<ユーザー>ユーザー= companyUsers.stream()フィルタ(ユーザ- > Math.abs(Period.between(LOCALDATE、user.getLastLoginTime()toLocalDate())getDays())> 89)。.collect(コレクター。 ToListメソッド())。
        users.forEach(ユーザ- > userIds.addAll(userMapper.selectUserIdsByCompanyId(user.getCompanyId())))。
        //批量软删除用户
        userMapper.updateDeletedByIds(ユーザーID); 
        新しい検索結果を返す()成功(); 
    }

  

 


  / ** 
     *クリア期限切れの15日間のリスクコントロールのユーザーデータ
     *基礎を削除します。すべての注文の障害が発生した後、すべてのオンラインのマイクロチャネルのユーザーは15日間のオフライン、リスクコントロールモジュールの履歴情報を強制的に、90日、ユーザーは、管理者の更新ではありません;記録されていないシステムでは、アカウントをクリーンアップします
     *定期的なタスク
     * // TODOの実行`更新タイマの有効期限タスク- updateCompanyLimitWxAndEndDate()`実行後
     * @return 
     * / 
    @Transactional 
    公衆結果expDeleteWxHistoryData(){ 
        //クエリは15日期限切れ企業ユーザーの
        一覧<会社> = companyMapper.expDateGt15DaysCompany会社(); 
        リスト<ユーザー>は=新しい新しいcompanyUsersのArrayList <>(); 
        companies.forEach(会社- > companyUsers.add(userMapper.selectCompanyUserByCompanyId(company.getCompanyId())) ); 
        LOCALDATE LOCALDATE = LocalDate.now(); 
        //すべてのそれらの有効期限が切れ
        ArrayListの<整数> =新しい新しいユーザーIDのArrayList <>(); 
        companyUsers.forEach(ユーザー- > userIds.addAll(userMapper.selectUserIdsByCompanyId(user.getCompanyId()))); 

        ここで行う//クリアTODO風制御データを
        //取得しますすべてのマイクロチャネルのユーザーに
        一覧<WechatUser> wechatUsers = wechatUserMapper.getWeChatUserAccountByUserIds(ユーザーID); 
        リスト<整数> = uins wechatUsers.stream()地図(WechatUser :: getUin).collect(Collectors.toList());. 
        //削除風制御データ
        //wechatMessageMapper.deleteByUins(uins); 
        ()成功();.新しい新しい検索結果を返します
    }

  

 

おすすめ

転載: www.cnblogs.com/meijsuger/p/11534010.html
おすすめ