Explorar el Código

项目应用 角色数据权限(部门权限)

huiqi hace 2 semanas
padre
commit
b6767cdef0

+ 7 - 5
takai-ai/src/main/java/com/takai/ai/service/impl/TakaiAiServiceImpl.java

@@ -11,6 +11,7 @@ import com.takai.ai.mapper.*;
 import com.takai.ai.service.IMinioConfigService;
 import com.takai.ai.service.ITakaiAiService;
 import com.takai.ai.utils.*;
+import com.takai.common.annotation.DataScope;
 import com.takai.common.annotation.DataSource;
 import com.takai.common.config.DeepseekConfig;
 import com.takai.common.constant.UserConstants;
@@ -886,7 +887,7 @@ public class TakaiAiServiceImpl implements ITakaiAiService {
                     .topP(params.getTop_p())
                     .temperature(params.getTemperature())
                     .maxToken(params.getMax_token())
-                    .prompt(params.getPrompt())
+                    .prompt(base64DecodeUtil.decodeIfNeeded(params.getPrompt()))
                     .knowledgeInfo(params.getKnowledge_info())
                     .sliceCount(params.getSlice_count())
                     .typeId(params.getTypeId())
@@ -968,7 +969,7 @@ public class TakaiAiServiceImpl implements ITakaiAiService {
                     .topP(params.getTop_p())
                     .temperature(params.getTemperature())
                     .maxToken(params.getMax_token())
-                    .prompt(params.getPrompt())
+                    .prompt(base64DecodeUtil.decodeIfNeeded(params.getPrompt()))
                     .knowledgeInfo(params.getKnowledge_info())
                     .sliceCount(params.getSlice_count())
                     .typeId(params.getTypeId())
@@ -1037,11 +1038,12 @@ public class TakaiAiServiceImpl implements ITakaiAiService {
     }
 
     @Override
+    @DataScope(deptAlias = "u", userAlias = "u")
     public List<TakaiApplicationResult> getApplicationList(TakaiApplication params) {
         //管理员 获取所有项目
         Map<String,Object> userParams = getUserParams();
         if(userParams != null){
-            params.setParams(userParams);
+            params.getParams().putAll(userParams);
         }
         List<TakaiApplicationResult> appList = takaiApplicationMapper.selectApplicationList(params);
         //添加应用VIP用户
@@ -1309,7 +1311,7 @@ public class TakaiAiServiceImpl implements ITakaiAiService {
         JSONObject object = new JSONObject();
         object.put("knowledge_id", params.getKnowledgeId());
         object.put("slice_id", params.getSliceId());
-        object.put("slice_text", params.getSliceText());
+        object.put("slice_text", base64DecodeUtil.decodeIfNeeded(params.getSliceText()));
         object.put("document_id", params.getDocumentId());
         RequestBody requestBody = FormBody.create(MediaType.parse("application/json; charset=utf-8"), object.toJSONString());
 
@@ -1351,7 +1353,7 @@ public class TakaiAiServiceImpl implements ITakaiAiService {
             JSONObject json = new JSONObject();
             json.put("knowledge_id", params.getKnowledgeId());
             json.put("document_id", params.getDocumentId());
-            json.put("slice_text", params.getSliceText());
+            json.put("slice_text", base64DecodeUtil.decodeIfNeeded(params.getSliceText()));
             json.put("doc_name", info.getName());
 
             RequestBody requestBody = FormBody.create(MediaType.parse("application/json; charset=utf-8"), json.toJSONString());

+ 47 - 6
takai-ai/src/main/resources/mapper/takaiai/TakaiApplicationMapper.xml

@@ -132,7 +132,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		LEFT JOIN sys_project_app pa ON pa.app_id = bm.appId
 		LEFT JOIN sys_project sp ON pa.project_id = sp.project_id
 		LEFT JOIN sys_project_staff spa ON spa.project_pid = sp.project_pid
-		LEFT JOIN sys_dict_data sdd ON sdd.dict_code = bm.type_id
 		where
 		(bm.visible is null or bm.visible='0')
 		<if test="flag != null and flag != ''">
@@ -179,7 +178,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 			    ba.sort
 			FROM
 				bm_application ba
-			LEFT JOIN sys_dict_data sdd on sdd.dict_code = ba.type_id
 			WHERE
 			(ba.visible is null or ba.visible='0')
 			 AND ba.appId NOT IN (
@@ -264,16 +262,59 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 			ba.sort
 		FROM
 		bm_application ba
-		LEFT JOIN sys_dict_data sdd on sdd.dict_code = ba.type_id
 		WHERE
 		    ba.visible='1'
 		    and ba.create_by= #{params.userId}
 		<if test="typeId != null and typeId != ''">
 			AND ba.type_id = #{typeId}
 		</if>
-		<if test="addOrderBy == null or addOrderBy == 'Y'">
-			ORDER BY sort IS NULL, sort ASC, update_time DESC, create_time DESC
-		</if>
+			<!-- 部门项目应用 -->
+			UNION
+			SELECT
+			ba.appId,
+			ba.name,
+			ba.description,
+			ba.type_id,
+			ba.create_by,
+			ba.create_time,
+			ba.status,
+			ba.comment,
+			ba.visible,
+			(SELECT dai.STATUS
+			FROM document_audit_info dai
+			WHERE dai.app_id = ba.appId
+			ORDER BY dai.create_time DESC
+			LIMIT 1) AS auditStatus,
+			sp.project_name as projectName,
+			ba.update_time,
+			ba.sort
+			FROM
+			bm_application ba
+			inner JOIN sys_project_app pa ON pa.app_id = ba.appId
+			LEFT JOIN sys_project sp ON pa.project_id = sp.project_id
+			LEFT JOIN sys_user u ON u.user_id = ba.create_by
+			WHERE
+			(ba.visible is null or ba.visible='0')
+			<if test="flag != null and flag != ''">
+				AND (
+				<choose>
+					<when test="flag == 1">
+						ba.status = '1' OR ba.status  = '2' or ba.status = '3' OR ba.status = '4' OR ba.status  = '5' OR ba.status = '' OR ba.status IS NULL
+					</when>
+					<otherwise>
+						ba.status = '3' OR ba.status = '' OR ba.status IS NULL
+					</otherwise>
+				</choose>
+				)
+			</if>
+			<if test="typeId != null and typeId != ''">
+				AND ba.type_id = #{typeId}
+			</if>
+			<!-- 数据范围过滤 -->
+			${params.dataScope}
+			<if test="addOrderBy == null or addOrderBy == 'Y'">
+				ORDER BY sort IS NULL, sort ASC, update_time DESC, create_time DESC
+			</if>
 		</if>
 	</select>