예제 #1
0
  // グループ削除
  public void delGroup(String gid, String uid) {
    FrontierGroup fg = new FrontierGroup();

    fg.frontierdomain = appDefDto.FP_CMN_HOST_NAME;
    fg.gid = gid;
    fg.updid = uid;

    jdbcManager.updateBySqlFile("/data/delFrontierGroup.sql", fg).execute();
  }
예제 #2
0
  // グループ画像削除
  public void updGroupPic(String gid, String uid) {
    FrontierGroup fg = new FrontierGroup();
    fg.frontierdomain = appDefDto.FP_CMN_HOST_NAME;
    fg.gid = gid;
    fg.updid = uid;

    // グループ画像削除
    jdbcManager.updateBySqlFile("/data/updFrontierGroupPic.sql", fg).execute();
  }
예제 #3
0
  // グループ登録
  public void insertGroup(
      String uid,
      String gname,
      FormFile picpath,
      List<String> num,
      List<Object> authList,
      GroupForm groupForm)
      throws IOException, Exception {
    // グループIDの最大値を取得する。
    List<BeanMap> results = getGid();
    String newgid = "g" + results.get(0).get("newid").toString();
    String absolutePicPass = "";

    // 画像のアップロード(画像パス名の長さが0以上ならupload)
    // null対策
    if (picpath != null) {
      if (picpath.getFileName().length() > 0) {
        absolutePicPass = picupload(newgid, picpath);
      }
    }

    FrontierGroup fg = new FrontierGroup();
    fg.frontierdomain = appDefDto.FP_CMN_HOST_NAME;
    fg.gid = newgid;
    fg.gname = gname;
    fg.pic = absolutePicPass;
    fg.joinnumber = num.size();
    fg.entid = uid;
    fg.updid = uid;

    // グループ登録
    jdbcManager.updateBySqlFile("/data/insFrontierGroup.sql", fg).execute();

    // グループメンバー登録
    FrontierGroupJoin fgj = new FrontierGroupJoin();
    for (int i = 0; i < num.size(); i++) {
      insertGroupMember(newgid, uid, num.get(i), getManageFlg(authList, num.get(i)), fgj);
    }

    // グループに登録された場合、フォロー関係のあった人が同じグループの場合削除する
    FrontierGroupJoin fgj2 = new FrontierGroupJoin();
    for (int i = 0; i < num.size(); i++) {
      deleteFollow(newgid, num.get(i), fgj2, uid);
    }

    // グループに登録された場合、フォロー関係のあった人が同じグループの場合削除する場合もあるのでフォロー数、フォロワ数を更新
    FrontierGroupJoin fgj3 = new FrontierGroupJoin();
    for (int i = 0; i < num.size(); i++) {
      updMemberFollow(uid, num.get(i), fgj3);
    }

    // 登録したグループIDをsessionに格納する
    groupForm.gid = newgid;
  }
예제 #4
0
  // グループ更新
  public void updateGroup(
      String uid,
      String gname,
      FormFile picpath,
      List<String> num,
      List<Object> authList,
      String gid,
      List<BeanMap> dbList)
      throws IOException, Exception {

    // グループメンバー登録・更新・削除
    String nowMid = null;
    String nowJoin = null;
    String nowAuth = null;
    boolean newFlg = false;
    FrontierGroupJoin fgj = new FrontierGroupJoin();

    for (int i = 0; i < dbList.size(); i++) {
      // 現在画面表示している一覧の人数分繰り返す

      nowMid = (String) dbList.get(i).get("mid");
      nowJoin = (String) dbList.get(i).get("joinflg");
      nowAuth = (String) dbList.get(i).get("manageflg");

      if (num.contains(nowMid)) {
        // チェックボックスで選択していた。
        if (nowJoin.equals("1")) {
          // 既に参画->update
          logger.debug("★★更新★★" + nowMid + "★★★");
          updateGroupMember(gid, nowMid, getManageFlg(authList, nowMid), fgj);
        } else {
          // 未参画->insert
          logger.debug("★★新規★★" + nowMid + "★★★");
          // 新規登録がいた場合フラグを立てる
          newFlg = true;
          insertGroupMember(gid, uid, nowMid, getManageFlg(authList, nowMid), fgj);
        }
      } else if (nowJoin.equals("1")) {
        // チェックボックスには含まれていない&参加していた。つまり、メンバーから削除。
        logger.debug("★★削除★★" + nowMid + "★★★");
        deleteGroupMember(gid, nowMid, fgj);
      }
    }

    // 画像のアップロード(画像パス名の長さが0以上ならupload)
    String absolutePicPass = null;
    // null対策
    if (picpath != null) {
      if (picpath.getFileName().length() > 0) {
        absolutePicPass = picupload(gid, picpath);
      }
    }

    FrontierGroup fg = new FrontierGroup();
    fg.frontierdomain = appDefDto.FP_CMN_HOST_NAME;
    fg.gid = gid;
    fg.gname = gname;
    fg.pic = absolutePicPass;
    fg.updid = uid;

    // グループ更新
    jdbcManager.updateBySqlFile("/data/updFrontierGroup.sql", fg).execute();

    // 新規メンバー追加をおこなった場合、フォロー数の補正をする
    if (newFlg) {
      // グループに登録された場合、フォロー関係のあった人が同じグループの場合削除する
      FrontierGroupJoin fgj2 = new FrontierGroupJoin();
      for (int i = 0; i < num.size(); i++) {
        deleteFollow(gid, num.get(i), fgj2, uid);
      }

      // グループに登録された場合、フォロー関係のあった人が同じグループの場合削除する場合もあるのでフォロー数、フォロワ数を更新
      // グループメンバー全員検索
      List<FrontierGroupJoin> fgjList =
          jdbcManager
              .from(FrontierGroupJoin.class)
              .where("frontierdomain = ? and gid = ?", appDefDto.FP_CMN_HOST_NAME, gid)
              .getResultList();

      FrontierGroupJoin fgj3 = new FrontierGroupJoin();
      for (int i = 0; i < fgjList.size(); i++) {
        updMemberFollow(uid, fgjList.get(i).mid, fgj3);
      }
    }
  }