Browse Source

feat: support Independence sso

master
wangxiang 1 year ago
parent
commit
e746ee2f1c
  1. 4
      kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/entity/PushChatMessage.java
  2. 5
      kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/entity/ImContent.java
  3. 11
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushChatMessageController.java
  4. 3
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/resources/mapper/PushChatMessageMapper.xml
  5. 11
      kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/ChatGptController.java
  6. 5
      kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/resources/mapper/ImContentMapper.xml

4
kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/entity/PushChatMessage.java

@ -95,4 +95,8 @@ public class PushChatMessage extends CommonEntity { @@ -95,4 +95,8 @@ public class PushChatMessage extends CommonEntity {
@TableField(exist = false)
private String[] phone;
@TableField(exist = false)
@ApiModelProperty("游标记录从那条开始")
private String cursor;
}

5
kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/entity/ImContent.java

@ -1,5 +1,6 @@ @@ -1,5 +1,6 @@
package com.cloud.kicc.system.api.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.cloud.kicc.common.data.entity.CommonEntity;
import io.swagger.annotations.ApiModel;
@ -65,4 +66,8 @@ public class ImContent extends CommonEntity { @@ -65,4 +66,8 @@ public class ImContent extends CommonEntity {
@ApiModelProperty("撤销标记")
private String revert;
@TableField(exist = false)
@ApiModelProperty("游标记录从那条开始")
private String cursor;
}

11
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushChatMessageController.java

@ -1,6 +1,7 @@ @@ -1,6 +1,7 @@
package com.cloud.kicc.commonbiz.controller;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@ -19,6 +20,7 @@ import org.springframework.web.bind.annotation.*; @@ -19,6 +20,7 @@ import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.Arrays;
import java.util.Map;
import java.util.Objects;
/**
* <p>
@ -56,7 +58,14 @@ public class PushChatMessageController { @@ -56,7 +58,14 @@ public class PushChatMessageController {
@ApiOperation(value = "分页好友历史记录查询")
public R listFriendHistoryMessage(Page page, PushChatMessage pushChatMessage) {
IPage<Map<String, Object>> result = iPushChatMessageService.listFriendHistoryMessage(page, pushChatMessage);
return R.ok(result.getRecords(), result.getTotal());
String cursor = result.getRecords()
.stream()
.findFirst()
.map(record -> Objects.toString(record.get("createTime"), null))
.orElse(null);
return R.ok(MapUtil.<String, Object>builder("cursor", cursor)
.put("data", result.getRecords())
.build());
}
@GetMapping("/{id:\\w+}")

3
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/resources/mapper/PushChatMessageMapper.xml

@ -35,6 +35,9 @@ @@ -35,6 +35,9 @@
common_push_chat_message pm
<where>
pm.del_flag = '0'
<if test="ew.cursor != null and ew.cursor != ''">
and pm.create_time &lt; #{ew.cursor}
</if>
and (pm.user_id = #{ew.userId} and pm.alias = #{ew.alias})
or (pm.user_id = #{ew.alias} and pm.alias = #{ew.userId})
</where>

11
kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/ChatGptController.java

@ -1,5 +1,6 @@ @@ -1,5 +1,6 @@
package com.cloud.kicc.system.controller;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -16,6 +17,7 @@ import org.springframework.web.multipart.MultipartFile; @@ -16,6 +17,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.validation.Valid;
import java.util.Map;
import java.util.Objects;
/**
*<p>
@ -40,7 +42,14 @@ public class ChatGptController { @@ -40,7 +42,14 @@ public class ChatGptController {
// 查询当前用户的所有会话内的聊天记录
SecurityUtils.openInterfaceTemporaryLoginSession(imContent.getSendUserId());
IPage<Map<String, Object>> result = iImContentService.listHistoryMessage(page, imContent);
return R.ok(result.getRecords(), result.getTotal());
String cursor = result.getRecords()
.stream()
.findFirst()
.map(record -> Objects.toString(record.get("sendTime"), null))
.orElse(null);
return R.ok(MapUtil.<String, Object>builder("cursor", cursor)
.put("data", result.getRecords())
.build());
}

5
kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/resources/mapper/ImContentMapper.xml

@ -27,10 +27,13 @@ @@ -27,10 +27,13 @@
sys_im_content im left join sys_file sf on im.files = sf.id
<where>
im.del_flag = '0'
<if test="ew.cursor != null and ew.cursor != ''">
and im.send_time &lt; #{ew.cursor}
</if>
and (im.send_user_id = #{ew.sendUserId} and im.receive_user_id = #{ew.receiveUserId})
or (im.send_user_id = #{ew.receiveUserId} and im.receive_user_id = #{ew.sendUserId})
</where>
order by im.send_time desc
order by im.send_time asc
</select>
</mapper>

Loading…
Cancel
Save