Prechádzať zdrojové kódy

用户ID查询聊天记录,拥有直接权限人员不需要审核。

S0025136190 5 mesiacov pred
rodič
commit
64392b8e92

+ 29 - 5
takai-admin/src/main/java/com/takai/web/controller/takaiai/TakaiAiController.java

@@ -89,7 +89,15 @@ public class TakaiAiController extends BaseController {
      */
     @PostMapping("/createApplication")
     public AjaxResult addApplication(@RequestBody TakaiApplicationParams params) {
-        int i = takaiAisService.createApplication(params);
+        SysUser user = new SysUser();
+        user.setUserId(params.getUserId());
+        Set<String> permissions = permissionService.getMenuPermission(user);
+        int i = 0;
+        if (permissions != null && permissions.size() > 0 && (permissions.contains("deepseek:application:role") || permissions.contains("*:*:*"))) {
+            i = takaiAisService.createApplication(params, true);
+        }else{
+            i = takaiAisService.createApplication(params, false);
+        }
         return AjaxResult.success(i);
     }
 
@@ -114,7 +122,15 @@ public class TakaiAiController extends BaseController {
      */
     @PutMapping("/updateApplication/{appId}")
     public AjaxResult updateApplication(@RequestBody TakaiApplicationParams params, @PathVariable String appId) {
-        int application = takaiAisService.updateApplication(params, appId);
+        SysUser user = new SysUser();
+        user.setUserId(params.getUserId());
+        Set<String> permissions = permissionService.getMenuPermission(user);
+        int application = 0;
+        if (permissions != null && permissions.size() > 0 && (permissions.contains("deepseek:application:role") || permissions.contains("*:*:*"))) {
+            application = takaiAisService.updateApplication(params, appId, true);
+        }else{
+            application = takaiAisService.updateApplication(params, appId, false);
+        }
         return AjaxResult.success(application);
     }
 
@@ -477,7 +493,11 @@ public class TakaiAiController extends BaseController {
      */
     @PostMapping("/dialog/save")
     public AjaxResult saveDialog(@RequestBody TakaiDialogReqDTO dialogReqDTO) {
-        takaiAisService.saveDialog(dialogReqDTO);
+        LoginUser loginUser = SecurityUtils.getLoginUser();
+        if (loginUser != null) {
+            dialogReqDTO.setUserId(loginUser.getUserId());
+            takaiAisService.saveDialog(dialogReqDTO);
+        }
         return success();
     }
 
@@ -488,8 +508,12 @@ public class TakaiAiController extends BaseController {
      */
     @GetMapping("/dialog/list/{appId}")
     public AjaxResult dialogList(@PathVariable String appId) {
-        List<Object> dialogs = takaiAisService.getDialogList(appId);
-        return success(dialogs);
+        LoginUser loginUser = SecurityUtils.getLoginUser();
+        if (loginUser != null) {
+            List<Object> dialogs = takaiAisService.getDialogList(appId, loginUser.getUserId());
+            return success(dialogs);
+        }
+        return success(null);
     }
 
     /**

+ 1 - 1
takai-ai/src/main/java/com/takai/ai/mapper/TakaiDialogMapper.java

@@ -25,7 +25,7 @@ public interface TakaiDialogMapper
      * 查询消息信息
      * @return 消息信息
      */
-    public List<TakaiDialogRespDTO> selectDialogList(String appId);
+    public List<TakaiDialogRespDTO> selectDialogList(@Param("appId") String appId, @Param("userId") String userId);
 
 
     /**

+ 3 - 3
takai-ai/src/main/java/com/takai/ai/service/ITakaiAiService.java

@@ -30,7 +30,7 @@ public interface ITakaiAiService
 
     void saveDialog(TakaiDialogReqDTO dialogReqDTO);
 
-    List<Object> getDialogList(String appId);
+    List<Object> getDialogList(String appId, String userId);
 
     void DelDialogDetail(String id);
 
@@ -58,9 +58,9 @@ public interface ITakaiAiService
 
     void uploadUrl(TakaiDocumentObject object);
 
-    int createApplication(TakaiApplicationParams params);
+    int createApplication(TakaiApplicationParams params, boolean isAdmin);
 
-    int updateApplication(TakaiApplicationParams params, String appId);
+    int updateApplication(TakaiApplicationParams params, String appId, boolean isAdmin);
 
     List<TakaiApplicationResult> getApplicationList(TakaiApplication params);
 

+ 20 - 11
takai-ai/src/main/java/com/takai/ai/service/impl/TakaiAiServiceImpl.java

@@ -415,8 +415,8 @@ public class TakaiAiServiceImpl implements ITakaiAiService {
     }
 
     @Override
-    public List<Object> getDialogList(String appId) {
-        List<TakaiDialogRespDTO> dialogRespDTOS = takaiDialogMapper.selectDialogList(appId);
+    public List<Object> getDialogList(String appId, String userId) {
+        List<TakaiDialogRespDTO> dialogRespDTOS = takaiDialogMapper.selectDialogList(appId, userId);
         //当前日期
         LocalDate today = LocalDate.now();
         //根据时间分组降序排序
@@ -734,7 +734,7 @@ public class TakaiAiServiceImpl implements ITakaiAiService {
     }
 
     @Override
-    public int createApplication(TakaiApplicationParams params) {
+    public int createApplication(TakaiApplicationParams params, boolean isAdmin) {
         ApprovalNode vo = getFirstApproverNode(); // 获取第一个审批对象
         if(vo != null){
             SnowflakeDigitGenerator snowflakeDigitGenerator = new SnowflakeDigitGenerator(1, 1);
@@ -751,10 +751,14 @@ public class TakaiAiServiceImpl implements ITakaiAiService {
                     .knowledgeInfo(params.getKnowledge_info())
                     .sliceCount(params.getSlice_count())
                     .typeId(params.getTypeId())
-                    .status("5") // 未开始审核状态
-                    .approver(String.valueOf(vo.getApprover()))
-                    .nodeOrder(String.valueOf(vo.getNodeOrder()))
                     .build();
+            if(isAdmin){
+                info.setStatus("3"); // 有直接创建权限无需审核
+            }else{
+                info.setStatus("5"); // 未开始审核状态
+                info.setApprover(String.valueOf(vo.getApprover()));
+                info.setNodeOrder(String.valueOf(vo.getNodeOrder()));
+            }
             info.setCreateBy(params.getUserId());
             int i = takaiApplicationMapper.insertApplication(info);
             if (i > 0) {
@@ -789,7 +793,7 @@ public class TakaiAiServiceImpl implements ITakaiAiService {
     }
 
     @Override
-    public int updateApplication(TakaiApplicationParams params, String appId) {
+    public int updateApplication(TakaiApplicationParams params, String appId, boolean isAdmin) {
         ApprovalNode vo = getFirstApproverNode(); // 获取第一个审批对象
         if(vo != null){
             TakaiApplication info = TakaiApplication.builder().appId(appId)
@@ -804,11 +808,16 @@ public class TakaiAiServiceImpl implements ITakaiAiService {
                     .knowledgeInfo(params.getKnowledge_info())
                     .sliceCount(params.getSlice_count())
                     .typeId(params.getTypeId())
-                    .status("5") // 未开始审核状态
-                    .approver(String.valueOf(vo.getApprover()))
-                    .nodeOrder(String.valueOf(vo.getNodeOrder()))
-                    .comment(null)
                     .build();
+            if(isAdmin){
+                info.setStatus("3"); // 有直接修改权限无需审核
+                info.setApprover(null);
+                info.setNodeOrder(null);
+            }else{
+                info.setStatus("5"); // 未开始审核状态
+                info.setApprover(String.valueOf(vo.getApprover()));
+                info.setNodeOrder(String.valueOf(vo.getNodeOrder()));
+            }
             info.setUpdateBy(params.getUserId());
             int i = takaiApplicationMapper.updateApplication(info);
             if (1 > 0) {

+ 4 - 1
takai-ai/src/main/resources/mapper/takaiai/TakaiDialogMapper.xml

@@ -44,7 +44,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		from dialog d
 		<where>
 			<if test="appId != null">
-				d.app_id = #{appId}
+				and d.app_id = #{appId}
+			</if>
+			<if test="userId != null">
+				and d.user_id = #{userId}
 			</if>
 		</where>
 		GROUP BY d.id,d.app_id,d.dialog_name,d.create_time