Browse Source

字段sql修改

S0025136190 5 months ago
parent
commit
e9a64a405a

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

@@ -12,9 +12,11 @@ import com.takai.common.core.controller.BaseController;
 import com.takai.common.core.domain.AjaxResult;
 import com.takai.common.core.domain.entity.SysDictData;
 import com.takai.common.core.domain.entity.SysUser;
+import com.takai.common.core.domain.model.LoginUser;
 import com.takai.common.core.page.TableDataInfo;
 import com.takai.ai.domain.dto.TakaiDialogRespDTO;
 import com.takai.common.enums.BusinessType;
+import com.takai.common.utils.SecurityUtils;
 import com.takai.common.utils.poi.ExcelUtil;
 import com.takai.framework.web.service.SysPermissionService;
 import com.takai.system.service.ISysDictDataService;
@@ -600,11 +602,15 @@ public class TakaiAiController extends BaseController {
      */
     @GetMapping("/appType/{userId}")
     public AjaxResult appType(@PathVariable String userId) {
-        SysDictData dictData = new SysDictData();
-        dictData.setDictType("app_type");
-        List<SysDictData> dictDataList = dictDataService.selectDictDataList(dictData);
-        List<Object> list = takaiAisService.searchAppTypeGroupList(dictDataList, userId);
-        return success(list);
+        LoginUser loginUser = SecurityUtils.getLoginUser();
+        if (loginUser != null) {
+            SysDictData dictData = new SysDictData();
+            dictData.setDictType("app_type");
+            List<SysDictData> dictDataList = dictDataService.selectDictDataList(dictData);
+            List<Object> list = takaiAisService.searchAppTypeGroupList(dictDataList, String.valueOf(loginUser.getUserId()));
+            return success(list);
+        }
+        return null;
     }
 
     /**

+ 2 - 0
takai-ai/src/main/java/com/takai/ai/domain/entity/TakaiApplicationResult.java

@@ -44,4 +44,6 @@ public class TakaiApplicationResult {
 
     private String projectName;
 
+    private Date updateTime;
+
 }

+ 102 - 73
takai-ai/src/main/java/com/takai/ai/service/impl/TakaiAiServiceImpl.java

@@ -734,91 +734,105 @@ public class TakaiAiServiceImpl implements ITakaiAiService {
 
     @Override
     public int createApplication(TakaiApplicationParams params) {
-        SnowflakeDigitGenerator snowflakeDigitGenerator = new SnowflakeDigitGenerator(1, 1);
-        long appId = snowflakeDigitGenerator.nextId();
-        TakaiApplication info = TakaiApplication.builder().appId(String.valueOf(appId))
-                .name(params.getName())
-                .desc(params.getDesc())
-                .model(params.getModel())
-                .knowledgeIds(params.getKnowledge_ids().toString())
-                .topP(params.getTop_p())
-                .temperature(params.getTemperature())
-                .maxToken(params.getMax_token())
-                .prompt(params.getPrompt())
-                .knowledgeInfo(params.getKnowledge_info())
-                .sliceCount(params.getSlice_count())
-                .typeId(params.getTypeId())
-                .status("5") // 未开始审核状态
-                .approver(params.getApprover())
-                .build();
-        info.setCreateBy(params.getUserId());
-        int i = takaiApplicationMapper.insertApplication(info);
-        if (i > 0) {
-            TypeApp appType = new TypeApp();
-            appType.setTypeId(params.getTypeId());
-            appType.setAppId(String.valueOf(appId));
-            appTypeMapper.insertAppType(appType);
-
-            logger.info("create application success, id:{}, name:{}", appId, params.getName());
-            TakaiAppInfo appInfo = new TakaiAppInfo();
-            appInfo.setAppId(String.valueOf(appId));
-            appInfo.setAppInfo(String.valueOf(JSONObject.from(info).toJSONString()));
-            takaiAppInfoMapper.insertAppInfo(appInfo);
-
-            List<String> list = params.getQuestionList();
-            if (!list.isEmpty() && list.size() > 0) {
-                for (String str : list) {
-                    if (org.apache.commons.lang3.StringUtils.isNotBlank(str)) {
-                        String uuid = IdUtils.simpleUUID();
-                        TakaiQuestion question = TakaiQuestion.builder().id(uuid).question(str).appId(String.valueOf(appId)).build();
-                        takaiQuestionMapper.insertQuestion(question);
+        ApprovalNode vo = getFirstApproverNode(); // 获取第一个审批对象
+        if(vo != null){
+            SnowflakeDigitGenerator snowflakeDigitGenerator = new SnowflakeDigitGenerator(1, 1);
+            long appId = snowflakeDigitGenerator.nextId();
+            TakaiApplication info = TakaiApplication.builder().appId(String.valueOf(appId))
+                    .name(params.getName())
+                    .desc(params.getDesc())
+                    .model(params.getModel())
+                    .knowledgeIds(params.getKnowledge_ids().toString())
+                    .topP(params.getTop_p())
+                    .temperature(params.getTemperature())
+                    .maxToken(params.getMax_token())
+                    .prompt(params.getPrompt())
+                    .knowledgeInfo(params.getKnowledge_info())
+                    .sliceCount(params.getSlice_count())
+                    .typeId(params.getTypeId())
+                    .status("5") // 未开始审核状态
+                    .approver(String.valueOf(vo.getApprover()))
+                    .nodeOrder(String.valueOf(vo.getNodeOrder()))
+                    .build();
+            info.setCreateBy(params.getUserId());
+            int i = takaiApplicationMapper.insertApplication(info);
+            if (i > 0) {
+                TypeApp appType = new TypeApp();
+                appType.setTypeId(params.getTypeId() == null ? null : params.getTypeId());
+                appType.setAppId(String.valueOf(appId));
+                appTypeMapper.insertAppType(appType);
+
+                logger.info("create application success, id:{}, name:{}", appId, params.getName());
+                TakaiAppInfo appInfo = new TakaiAppInfo();
+                appInfo.setAppId(String.valueOf(appId));
+                appInfo.setAppInfo(String.valueOf(JSONObject.from(info).toJSONString()));
+                takaiAppInfoMapper.insertAppInfo(appInfo);
+
+                List<String> list = params.getQuestionList();
+                if (!list.isEmpty() && list.size() > 0) {
+                    for (String str : list) {
+                        if (org.apache.commons.lang3.StringUtils.isNotBlank(str)) {
+                            String uuid = IdUtils.simpleUUID();
+                            TakaiQuestion question = TakaiQuestion.builder().id(uuid).question(str).appId(String.valueOf(appId)).build();
+                            takaiQuestionMapper.insertQuestion(question);
+                        }
                     }
                 }
+                return i;
             }
+        }else{
+            // 没有审批人
+            return 9;
         }
-        return i;
+        return 0;
     }
 
     @Override
     public int updateApplication(TakaiApplicationParams params, String appId) {
-        TakaiApplication info = TakaiApplication.builder().appId(appId)
-                .name(params.getName())
-                .desc(params.getDesc())
-                .model(params.getModel())
-                .knowledgeIds(params.getKnowledge_ids().toString())
-                .topP(params.getTop_p())
-                .temperature(params.getTemperature())
-                .maxToken(params.getMax_token())
-                .prompt(params.getPrompt())
-                .knowledgeInfo(params.getKnowledge_info())
-                .sliceCount(params.getSlice_count())
-                .typeId(params.getTypeId())
-                .status("5") // 未开始审核状态
-                .approver(params.getApprover())
-                .comment(null)
-                .nodeOrder(null)
-                .build();
-        int i = takaiApplicationMapper.updateApplication(info);
-        if (1 > 0) {
-            TakaiAppInfo appInfo = new TakaiAppInfo();
-            appInfo.setAppId(appId);
-            appInfo.setAppInfo(String.valueOf(JSONObject.from(info).toJSONString()));
-            takaiAppInfoMapper.updateAppInfoByAppId(appInfo);
-            logger.info("update application success, id:{}, name:{}", appId, params.getName());
-            //预设问题写入数据库
-            takaiQuestionMapper.delQuestionByAppId(appId);
-            List<String> list = params.getQuestionList();
-            if (!list.isEmpty() && list.size() > 0) {
-                for (String str : list) {
-                    if (org.apache.commons.lang3.StringUtils.isNotBlank(str)) {
-                        String uuid = IdUtils.simpleUUID();
-                        TakaiQuestion question = TakaiQuestion.builder().id(uuid).question(str).appId(String.valueOf(appId)).build();
-                        takaiQuestionMapper.insertQuestion(question);
+        ApprovalNode vo = getFirstApproverNode(); // 获取第一个审批对象
+        if(vo != null){
+            TakaiApplication info = TakaiApplication.builder().appId(appId)
+                    .name(params.getName())
+                    .desc(params.getDesc())
+                    .model(params.getModel())
+                    .knowledgeIds(params.getKnowledge_ids().toString())
+                    .topP(params.getTop_p())
+                    .temperature(params.getTemperature())
+                    .maxToken(params.getMax_token())
+                    .prompt(params.getPrompt())
+                    .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();
+            info.setCreateBy(params.getUserId());
+            int i = takaiApplicationMapper.updateApplication(info);
+            if (1 > 0) {
+                TakaiAppInfo appInfo = new TakaiAppInfo();
+                appInfo.setAppId(appId);
+                appInfo.setAppInfo(String.valueOf(JSONObject.from(info).toJSONString()));
+                takaiAppInfoMapper.updateAppInfoByAppId(appInfo);
+                logger.info("update application success, id:{}, name:{}", appId, params.getName());
+                //预设问题写入数据库
+                takaiQuestionMapper.delQuestionByAppId(appId);
+                List<String> list = params.getQuestionList();
+                if (!list.isEmpty() && list.size() > 0) {
+                    for (String str : list) {
+                        if (org.apache.commons.lang3.StringUtils.isNotBlank(str)) {
+                            String uuid = IdUtils.simpleUUID();
+                            TakaiQuestion question = TakaiQuestion.builder().id(uuid).question(str).appId(String.valueOf(appId)).build();
+                            takaiQuestionMapper.insertQuestion(question);
+                        }
                     }
                 }
             }
+            return i;
+        } else {
+            return 9;
         }
-        return i;
     }
 
     @Override
@@ -1274,6 +1288,21 @@ public class TakaiAiServiceImpl implements ITakaiAiService {
         return appCollectMapper.delAppCollect(userId, appId);
     }
 
+    private ApprovalNode getFirstApproverNode() {
+        List<DocumentAuditConfig> list = documentAuditConfigMapper.selectDocumentAuditConfigListByBo(null);
+        if(list != null && list.size() > 0) {
+            ApprovalFlowManager flowManager = new ApprovalFlowManager();
+            logger.info("开启审核");
+            for (DocumentAuditConfig config : list) {
+                // 添加审核节点
+                flowManager.addNode(new ApprovalNode(config.getId(), config.getNodeOrder(), Long.valueOf(config.getApprover()), config.getChain()));
+            }
+
+            return flowManager.getFirstApprover();
+        }
+        return null;
+    }
+
     private JSONObject analysisFile(List<UploadDocumentParams> result, TakaiDocumentSettings settings, String flag) {
         String url = deepseekConfig.getBaseurl() + deepseekConfig.getUploadKnowledge();
         JSONObject json = new JSONObject();

+ 10 - 5
takai-ai/src/main/resources/mapper/takaiai/TakaiApplicationMapper.xml

@@ -47,6 +47,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		<result property="isIsCollect" column="isIsCollect" />
 		<result property="auditStatus" column="auditStatus" />
 		<result property="projectName" column="projectName" />
+		<result property="updateTime" column="update_time" />
 	</resultMap>
 	
 	<sql id="selectSql">
@@ -70,7 +71,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 			WHERE dai.app_id = bm.appId
 			ORDER BY dai.create_time DESC
 			LIMIT 1) AS auditStatus,
-			sp.project_name as projectName
+			sp.project_name as projectName,
+			bm.update_time
 		FROM
 		bm_application bm
 		LEFT JOIN sys_project_app pa ON pa.app_id = bm.appId
@@ -116,12 +118,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 				WHERE dai.app_id = ba.appId
 				ORDER BY dai.create_time DESC
 				LIMIT 1) AS auditStatus,
-			    '' AS projectName
+			    '' AS projectName,
+				ba.update_time
 			FROM
 				bm_application ba
 			LEFT JOIN sys_dict_data sdd on sdd.dict_code = ba.type_id
 			WHERE
-			ba.appId NOT IN (
+			    1=1
+			 AND ba.appId NOT IN (
 				SELECT
 					app_id
 				FROM
@@ -150,7 +154,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 				WHERE dai.app_id = bl.appId
 				ORDER BY dai.create_time DESC
 				LIMIT 1) AS auditStatus,
-				'' AS projectName
+				'' AS projectName,
+				bl.update_time
 			FROM
 				bm_application bl
 			WHERE
@@ -177,7 +182,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 				AND bl.type_id = #{typeId}
 			</if>
 		</if>
-		ORDER BY create_time DESC
+		ORDER BY create_time, update_time DESC
 	</select>
 
 	<select id="selectTargetApplication" parameterType="BmApplication" resultMap="BmApplicationResult">

+ 14 - 4
takai-system/src/main/java/com/takai/system/domain/SysProjectStaff.java

@@ -7,6 +7,7 @@ import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 
 import java.util.Date;
+import java.util.List;
 
 /**
  * 【请填写功能名称】对象 sys_project_staff
@@ -45,13 +46,14 @@ public class SysProjectStaff extends BaseEntity
 
     private String projectName;
 
-    private long userId;
+    private String userId;
 
     private String userName;
 
-
     private String roleName;
 
+    private List<String> approvers;
+
     public void setId(String id)
     {
         this.id = id;
@@ -115,11 +117,11 @@ public class SysProjectStaff extends BaseEntity
         this.projectName = projectName;
     }
 
-    public long getUserId() {
+    public String getUserId() {
         return userId;
     }
 
-    public void setUserId(long userId) {
+    public void setUserId(String userId) {
         this.userId = userId;
     }
 
@@ -139,6 +141,14 @@ public class SysProjectStaff extends BaseEntity
         this.roleName = roleName;
     }
 
+    public List<String> getApprovers() {
+        return approvers;
+    }
+
+    public void setApprovers(List<String> approvers) {
+        this.approvers = approvers;
+    }
+
     @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

+ 3 - 3
takai-system/src/main/java/com/takai/system/domain/TypeApp.java

@@ -2,15 +2,15 @@ package com.takai.system.domain;
 
 public class TypeApp
 {
-    private long typeId;
+    private Long typeId;
 
     private String appId;
 
-    public long getTypeId() {
+    public Long getTypeId() {
         return typeId;
     }
 
-    public void setTypeId(long typeId) {
+    public void setTypeId(Long typeId) {
         this.typeId = typeId;
     }
 

+ 6 - 0
takai-system/src/main/java/com/takai/system/service/impl/SysProjectStaffServiceImpl.java

@@ -55,7 +55,10 @@ public class SysProjectStaffServiceImpl implements ISysProjectStaffService
     @Override
     public int insertSysProjectStaff(SysProjectStaff sysProjectStaff)
     {
+        List<String> approvers = sysProjectStaff.getApprovers();
+        String userids = String.join(",", approvers);
         SnowflakeDigitGenerator snowflakeDigitGenerator = new SnowflakeDigitGenerator(1, 1);
+        sysProjectStaff.setUserId(userids);
         sysProjectStaff.setCreateTime(DateUtils.getNowDate());
         sysProjectStaff.setId(String.valueOf(snowflakeDigitGenerator.nextId()));
         return sysProjectStaffMapper.insertSysProjectStaff(sysProjectStaff);
@@ -70,6 +73,9 @@ public class SysProjectStaffServiceImpl implements ISysProjectStaffService
     @Override
     public int updateSysProjectStaff(SysProjectStaff sysProjectStaff)
     {
+        List<String> approvers = sysProjectStaff.getApprovers();
+        String userids = String.join(",", approvers);
+        sysProjectStaff.setUserId(userids);
         sysProjectStaff.setUpdateTime(DateUtils.getNowDate());
         return sysProjectStaffMapper.updateSysProjectStaff(sysProjectStaff);
     }

+ 4 - 4
takai-system/src/main/resources/mapper/system/SysProjectMapper.xml

@@ -64,18 +64,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="projectPid != null">project_pid,</if>
             <if test="projectName != null">project_name,</if>
             <if test="createBy != null">create_by,</if>
-            <if test="createTime != null">create_time,</if>
             <if test="updateBy != null">update_by,</if>
             <if test="updateTime != null">update_time,</if>
-            <if test="projectType != null">project_type</if>
+            <if test="projectType != null">project_type,</if>
+            <if test="createTime != null">create_time</if>
         )values(
             <if test="projectPid != null">#{projectPid},</if>
             <if test="projectName != null">#{projectName},</if>
             <if test="createBy != null">#{createBy},</if>
-            <if test="createTime != null">#{createTime},</if>
             <if test="updateBy != null">#{updateBy},</if>
             <if test="updateTime != null">#{updateTime},</if>
-            <if test="projectType != null">#{projectType}</if>
+            <if test="projectType != null">#{projectType},</if>
+            <if test="createTime != null">#{createTime}</if>
         )
     </insert>
 

+ 6 - 3
takai-system/src/main/resources/mapper/system/SysProjectStaffMapper.xml

@@ -18,6 +18,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="userName"    column="user_name"    />
         <result property="projectName"    column="project_name"    />
         <result property="roleName"    column="role_name"    />
+        <collection property="approvers" ofType="java.lang.String" javaType="list" >
+            <result column="approvers" />
+        </collection>
     </resultMap>
 
     <sql id="selectSysProjectStaffVo">
@@ -27,7 +30,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <select id="selectSysProjectStaffList" parameterType="SysProjectStaff" resultMap="SysProjectStaffResult">
         select sps.id,
         sps.project_pid,
-        sps.user_id,
+        sps.user_id as approvers,
         sps.role_id,
         sps.m_bdate,
         sps.m_edate,
@@ -44,7 +47,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         left join sys_role as sr on sps.role_id = sr.role_id
         <where>  
             <if test="projectPid != null  and projectPid != ''"> and sps.project_pid = #{projectPid}</if>
-            <if test="userId != null  and userId != ''"> and sps.user_id = #{userId}</if>
+            <!--<if test="userId != null  and userId != ''"> and sps.user_id = #{userId}</if>-->
             <if test="roleId != null  and roleId != ''"> and sps.role_id = #{roleId}</if>
             <if test="mBdate != null "> and sps.m_bdate <![CDATA[ >= ]]> #{mBdate}</if>
             <if test="mEdate != null "> and sps.m_edate <![CDATA[ <= ]]> #{mEdate}</if>
@@ -54,7 +57,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <select id="selectSysProjectStaffById" parameterType="Long" resultMap="SysProjectStaffResult">
         select sps.id,
                sps.project_pid,
-               sps.user_id,
+               sps.user_id as approvers,
                sps.role_id,
                sps.m_bdate,
                sps.m_edate,