Просмотр исходного кода

[task-6763] 发公告设置公告范围时加上当前用户

huangws 1 день назад
Родитель
Сommit
0cd65aa328

+ 20 - 1
ibps-common-root/modules/org-biz/src/main/java/com/lc/ibps/common/system/service/impl/NewsService.java

@@ -104,10 +104,12 @@ public class NewsService implements INewsService {
 
 			} else {
 				// --- 情况 B:前端传了具体的用户ID列表 ---
+				boolean insertFlag = false;
 				// 遍历列表,为每个用户插入一条记录
 				for (String targetUserId : scopeUserIds) {
 					String insertSql= "";
 					if(targetUserId.length()>0){
+						insertFlag = true;
 						 insertSql = "INSERT INTO t_ggfwb (id_, create_by_, create_time_, gong_gao_id_, gong_gao_lei_xing, gong_gao_mu_biao_) " +
 								"VALUES ('%s', '%s', NOW(), '%s', '%s', '%s')";
 					} else {
@@ -120,7 +122,24 @@ public class NewsService implements INewsService {
 						insertSql = String.format(insertSql, id, currentUserId, newsId, newsType, targetUserId);
 						commonDao.execute(insertSql);
 					}
-
+				}
+				// 传具体范围增加当前用户
+				if(insertFlag){
+					// 如果当前用户不在列表中,则手动插入一条记录
+					boolean currentUserExists = false;
+					for (String uid : scopeUserIds) {
+						if (currentUserId.equals(uid)) {
+							currentUserExists = true;
+							break;
+						}
+					}
+					if (!currentUserExists) {
+						String creatorInsertSql = "INSERT INTO t_ggfwb (id_, create_by_, create_time_, gong_gao_id_, gong_gao_lei_xing, gong_gao_mu_biao_) " +
+								"VALUES ('%s', '%s', NOW(), '%s', '%s', '%s')";
+						String creatorId = UniqueIdUtil.getId();
+						creatorInsertSql = String.format(creatorInsertSql, creatorId, currentUserId, newsId, newsType, currentUserId);
+						commonDao.execute(creatorInsertSql);
+					}
 				}
 			}
 		} catch (Exception e){

+ 1 - 1
ibps-provider-root/modules/provider-platform-default/src/main/java/com/lc/ibps/common/provider/NewsProvider.java

@@ -170,7 +170,7 @@ public class NewsProvider extends GenericProvider implements INewsService, INews
 			//使用 scopeUserIds 做业务逻辑
 			if (scopeUserIds != null && isTableExists) {
 				//暂定newsType为user,后期可扩展(user=用户, dept=部门, role=角色')
-				scopeUserIds.add(ContextUtil.getCurrentUserId()); //华创启德自己发的公告需要能自己也能看到
+				//scopeUserIds.add(ContextUtil.getCurrentUserId()); //华创启德自己发的公告需要能自己也能看到
 				newsService.saveNewsScope("user", scopeUserIds,newsId);
 			}