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

1.提交ai对话中ai主动发送课程的代码

jzp 1 месяц назад
Родитель
Сommit
4bf65315ac

+ 9 - 0
fs-company/src/main/java/com/fs/company/controller/fastGpt/FastGptRoleController.java

@@ -8,6 +8,7 @@ import com.fs.common.core.page.TableDataInfo;
 import com.fs.common.enums.BusinessType;
 import com.fs.common.utils.ServletUtils;
 import com.fs.common.utils.poi.ExcelUtil;
+import com.fs.course.domain.FsUserCourseVideo;
 import com.fs.fastGpt.domain.FastGptRole;
 import com.fs.fastGpt.service.IFastGptRoleService;
 import com.fs.fastGpt.vo.FastGptRoleVO;
@@ -78,6 +79,14 @@ public class FastGptRoleController extends BaseController
         return util.exportExcel(list, "应用数据");
     }
 
+    @GetMapping("/getAllCourseList")
+    public R getAllCourseList()
+    {
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        List<FsUserCourseVideo> list = fastGptRoleService.selectAllCourseList(loginUser.getCompany().getCompanyId());
+        return R.ok().put("data",list);
+    }
+
     /**
      * 获取应用详细信息
      */

+ 6 - 0
fs-service/src/main/java/com/fs/fastGpt/domain/FastGptRole.java

@@ -78,4 +78,10 @@ public class FastGptRole extends BaseEntity
      * 是否禁止时段回复 0是不开启禁止  1是开启禁止 默认为1
      */
     private Integer forbidStatus;
+
+    //是否给新客户发送课程 0不发 1发
+    private Integer sendCourseStatus;
+
+    //课程Id
+    private Long courseId;
 }

+ 5 - 1
fs-service/src/main/java/com/fs/fastGpt/mapper/FastGptRoleMapper.java

@@ -1,6 +1,8 @@
 package com.fs.fastGpt.mapper;
 
 import java.util.List;
+
+import com.fs.course.domain.FsUserCourseVideo;
 import com.fs.fastGpt.domain.FastGptRole;
 import com.fs.fastGpt.vo.FastGptRoleVO;
 import com.fs.fastGpt.vo.FastgptEventLogTotalVo;
@@ -88,7 +90,7 @@ public interface FastGptRoleMapper
 
     @Select("select id dictValue,name dictLabel from fastgpt_role_type ")
     List<OptionsVO> selectFastGptRoleType();
-    @Select("select r.role_id, r.role_name,t.contact_info,r.company_id, r.create_time, r.update_time, r.role_type, r.mode_config_json, r.mode, r.kf_id, r.kf_url, r.avatar, r.kf_media_id,r.reminder_words, r.bind_corp_id,r.channel_type from fastgpt_role r LEFT JOIN fastgpt_role_type t on t.id =r.role_type where role_id = #{roleId}")
+    @Select("select r.role_id, r.role_name,t.contact_info,r.company_id, r.create_time, r.update_time, r.role_type, r.mode_config_json, r.mode, r.kf_id, r.kf_url, r.avatar, r.kf_media_id,r.reminder_words, r.bind_corp_id,r.channel_type,r.send_course_status,r.course_id from fastgpt_role r LEFT JOIN fastgpt_role_type t on t.id =r.role_type where role_id = #{roleId}")
     FastGptRole selectFastGptRoleTypeByRoleId(Long roleId);
 
     List<FastGptRole> selectFastGptRoleByRoleIds(@Param("roleIds") List<Long> roleIds);
@@ -114,4 +116,6 @@ public interface FastGptRoleMapper
             "        </where>" +
             "</script> ")
     List<FastGptRoleVO> selectFastGptRoleListVONew(FastGptRole fastGptRole);
+
+    List<FsUserCourseVideo> selectAllCourseList(@Param("companyId") Long companyId);
 }

+ 2 - 0
fs-service/src/main/java/com/fs/fastGpt/service/IFastGptRoleService.java

@@ -3,6 +3,7 @@ package com.fs.fastGpt.service;
 import java.util.List;
 
 import com.fs.common.core.domain.R;
+import com.fs.course.domain.FsUserCourseVideo;
 import com.fs.fastGpt.domain.FastGptRole;
 import com.fs.fastGpt.vo.FastGptRoleDataVO;
 import com.fs.fastGpt.vo.FastGptRoleVO;
@@ -83,4 +84,5 @@ public interface IFastGptRoleService
 
     List<FastGptRoleVO> selectFastGptRoleListVONew(FastGptRole fastGptRole);
 
+    List<FsUserCourseVideo> selectAllCourseList(Long companyId);
 }

+ 7 - 0
fs-service/src/main/java/com/fs/fastGpt/service/impl/FastGptRoleServiceImpl.java

@@ -10,6 +10,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.fs.common.BeanCopyUtils;
 import com.fs.common.core.domain.R;
 import com.fs.common.utils.DateUtils;
+import com.fs.course.domain.FsUserCourseVideo;
 import com.fs.fastGpt.domain.FastGptRoleTag;
 import com.fs.fastGpt.mapper.FastGptRoleTagMapper;
 import com.fs.fastGpt.vo.FastGptRoleDataVO;
@@ -58,6 +59,7 @@ public class FastGptRoleServiceImpl implements IFastGptRoleService
 
         FastGptRole role = fastGptRoleMapper.selectFastGptRoleByRoleId(roleId);
 
+        role.setSendCourseStatus(role.getSendCourseStatus() == null?0:role.getSendCourseStatus());
         FastGptRoleTag fastGptRoleTag=new FastGptRoleTag();
         fastGptRoleTag.setRoleId(roleId);
 
@@ -253,5 +255,10 @@ public class FastGptRoleServiceImpl implements IFastGptRoleService
         return fastGptRoleMapper.selectFastGptRoleListVONew(fastGptRole);
     }
 
+    @Override
+    public List<FsUserCourseVideo> selectAllCourseList(Long companyId) {
+        return fastGptRoleMapper.selectAllCourseList(companyId);
+    }
+
 
 }

+ 10 - 1
fs-service/src/main/resources/mapper/fastGpt/FastGptRoleMapper.xml

@@ -25,12 +25,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="forbidSendStart"    column="forbid_send_start"    />
         <result property="forbidSendEnd"    column="forbid_send_end"    />
         <result property="forbidStatus"    column="forbid_status"    />
+        <result property="sendCourseStatus"    column="send_course_status"    />
+        <result property="courseId"    column="course_id"    />
     </resultMap>
 
     <sql id="selectFastGptRoleVo">
         select role_id, role_name,contact_info,company_id, create_time, update_time, role_type, mode_config_json,
                mode, kf_id, kf_url, avatar, kf_media_id,reminder_words, bind_corp_id,channel_type,logistics,forbid_send_start,
-               forbid_send_end,forbid_status
+               forbid_send_end,forbid_status,send_course_status,course_id
         from fastgpt_role
     </sql>
 
@@ -85,6 +87,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             role_id as roleId,role_name as roleName,mode_config_json as appKey
         from fastgpt_role
     </select>
+    <select id="selectAllCourseList" resultType="com.fs.course.domain.FsUserCourseVideo">
+        SELECT f2.video_id,f2.title FROM `fs_user_course` f1 left join fs_user_course_video f2 on f1.course_id = f2.course_id
+        where find_in_set(#{companyId},f1.company_ids)
+        ORDER BY f1.course_id,f2.video_id
+    </select>
 
 
     <insert id="insertFastGptRole" parameterType="FastGptRole" useGeneratedKeys="true" keyProperty="roleId">
@@ -143,6 +150,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="channelType != null">channel_type = #{channelType},</if>
             <if test="logistics != null">logistics = #{logistics},</if>
             <if test="forbidStatus != null">forbid_status = #{forbidStatus},</if>
+            <if test="sendCourseStatus != null">send_course_status = #{sendCourseStatus},</if>
+            <if test="courseId != null">course_id = #{courseId},</if>
         </trim>
         where role_id = #{roleId}
     </update>