// グループ削除 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(); }
// グループ画像削除 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(); }
// グループ登録 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; }
// グループ更新 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); } } }