Compare commits

..

No commits in common. "19a68b314c395e2c7d2b996c7f523c21a0d95e73" and "94540e4d640ef5d49e73f49ec7e9ffd62b9db836" have entirely different histories.

6 changed files with 96 additions and 136 deletions

View File

@ -1,7 +1,5 @@
package com.ruoyi.base.controller; package com.ruoyi.base.controller;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -29,7 +27,6 @@ import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.webSocket.Message;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
@ -78,10 +75,9 @@ public class WebController extends BaseController {
/** /**
* 导航栏接口--所有分类 * 导航栏接口--所有分类
*
* @return com.ruoyi.common.core.domain.AjaxResult
* @author vinjor-M * @author vinjor-M
* @date 10:04 2025/7/8 * @date 10:04 2025/7/8
* @return com.ruoyi.common.core.domain.AjaxResult
**/ **/
@ApiOperation("获取站点分类树--所有分类") @ApiOperation("获取站点分类树--所有分类")
@ApiImplicitParam(name = "tenantId", value = "站点唯一码", required = true, dataType = "string", paramType = "query", dataTypeClass = String.class) @ApiImplicitParam(name = "tenantId", value = "站点唯一码", required = true, dataType = "string", paramType = "query", dataTypeClass = String.class)
@ -95,10 +91,9 @@ public class WebController extends BaseController {
/** /**
* 获取站点产品分类树--产品分类 * 获取站点产品分类树--产品分类
*
* @return com.ruoyi.common.core.domain.AjaxResult
* @author vinjor-M * @author vinjor-M
* @date 10:04 2025/7/8 * @date 10:04 2025/7/8
* @return com.ruoyi.common.core.domain.AjaxResult
**/ **/
@ApiOperation("获取站点分类树--根据一级分类ID查询所有子级分类树") @ApiOperation("获取站点分类树--根据一级分类ID查询所有子级分类树")
@ApiImplicitParams(value = { @ApiImplicitParams(value = {
@ -120,10 +115,11 @@ public class WebController extends BaseController {
} }
/** /**
* @param id 查询单个分类栏目详情--单页面栏目和询盘栏目使用 *
* @return com.ruoyi.common.core.domain.R<com.ruoyi.busi.domain.BusiCategory>
* @author vinjor-M * @author vinjor-M
* @date 15:44 2025/7/8 * @date 15:44 2025/7/8
* @param id 查询单个分类栏目详情--单页面栏目和询盘栏目使用
* @return com.ruoyi.common.core.domain.R<com.ruoyi.busi.domain.BusiCategory>
**/ **/
@ApiOperation("查询单个分类栏目详情--单页面栏目和询盘栏目使用") @ApiOperation("查询单个分类栏目详情--单页面栏目和询盘栏目使用")
@ApiImplicitParam(name = "id", value = "主键ID", required = true, dataType = "string", paramType = "query", dataTypeClass = String.class) @ApiImplicitParam(name = "id", value = "主键ID", required = true, dataType = "string", paramType = "query", dataTypeClass = String.class)
@ -134,10 +130,9 @@ public class WebController extends BaseController {
/** /**
* 轮播图 * 轮播图
*
* @return com.ruoyi.common.core.domain.AjaxResult
* @author vinjor-M * @author vinjor-M
* @date 10:04 2025/7/8 * @date 10:04 2025/7/8
* @return com.ruoyi.common.core.domain.AjaxResult
**/ **/
@ApiOperation("轮播图") @ApiOperation("轮播图")
@ApiImplicitParam(name = "tenantId", value = "站点唯一码", required = true, dataType = "string", paramType = "query", dataTypeClass = String.class) @ApiImplicitParam(name = "tenantId", value = "站点唯一码", required = true, dataType = "string", paramType = "query", dataTypeClass = String.class)
@ -148,10 +143,9 @@ public class WebController extends BaseController {
/** /**
* 公司介绍-富文本-首页展示区域 * 公司介绍-富文本-首页展示区域
*
* @return com.ruoyi.common.core.domain.AjaxResult
* @author vinjor-M * @author vinjor-M
* @date 10:04 2025/7/8 * @date 10:04 2025/7/8
* @return com.ruoyi.common.core.domain.AjaxResult
**/ **/
@ApiOperation("公司介绍-富文本-首页展示区域") @ApiOperation("公司介绍-富文本-首页展示区域")
@ApiImplicitParam(name = "tenantId", value = "站点唯一码", required = true, dataType = "string", paramType = "query", dataTypeClass = String.class) @ApiImplicitParam(name = "tenantId", value = "站点唯一码", required = true, dataType = "string", paramType = "query", dataTypeClass = String.class)
@ -163,10 +157,9 @@ public class WebController extends BaseController {
/** /**
* 热门产品-前10 * 热门产品-前10
*
* @return com.ruoyi.common.core.domain.AjaxResult
* @author vinjor-M * @author vinjor-M
* @date 10:04 2025/7/8 * @date 10:04 2025/7/8
* @return com.ruoyi.common.core.domain.AjaxResult
**/ **/
@ApiOperation("热门产品-前10") @ApiOperation("热门产品-前10")
@ApiImplicitParam(name = "tenantId", value = "站点唯一码", required = true, dataType = "string", paramType = "query", dataTypeClass = String.class) @ApiImplicitParam(name = "tenantId", value = "站点唯一码", required = true, dataType = "string", paramType = "query", dataTypeClass = String.class)
@ -177,10 +170,9 @@ public class WebController extends BaseController {
/** /**
* 普通产品-前10 * 普通产品-前10
*
* @return com.ruoyi.common.core.domain.AjaxResult
* @author vinjor-M * @author vinjor-M
* @date 10:04 2025/7/8 * @date 10:04 2025/7/8
* @return com.ruoyi.common.core.domain.AjaxResult
**/ **/
@ApiOperation("普通产品-前10") @ApiOperation("普通产品-前10")
@ApiImplicitParam(name = "tenantId", value = "站点唯一码", required = true, dataType = "string", paramType = "query", dataTypeClass = String.class) @ApiImplicitParam(name = "tenantId", value = "站点唯一码", required = true, dataType = "string", paramType = "query", dataTypeClass = String.class)
@ -191,10 +183,9 @@ public class WebController extends BaseController {
/** /**
* 热门新闻-前10 * 热门新闻-前10
*
* @return com.ruoyi.common.core.domain.AjaxResult
* @author vinjor-M * @author vinjor-M
* @date 10:04 2025/7/8 * @date 10:04 2025/7/8
* @return com.ruoyi.common.core.domain.AjaxResult
**/ **/
@ApiOperation("热门新闻-前10") @ApiOperation("热门新闻-前10")
@ApiImplicitParam(name = "tenantId", value = "站点唯一码", required = true, dataType = "string", paramType = "query", dataTypeClass = String.class) @ApiImplicitParam(name = "tenantId", value = "站点唯一码", required = true, dataType = "string", paramType = "query", dataTypeClass = String.class)
@ -205,10 +196,9 @@ public class WebController extends BaseController {
/** /**
* 页面底部 * 页面底部
*
* @return com.ruoyi.common.core.domain.AjaxResult
* @author vinjor-M * @author vinjor-M
* @date 10:04 2025/7/8 * @date 10:04 2025/7/8
* @return com.ruoyi.common.core.domain.AjaxResult
**/ **/
@ApiOperation("页面底部") @ApiOperation("页面底部")
@ApiImplicitParam(name = "tenantId", value = "站点唯一码", required = true, dataType = "string", paramType = "query", dataTypeClass = String.class) @ApiImplicitParam(name = "tenantId", value = "站点唯一码", required = true, dataType = "string", paramType = "query", dataTypeClass = String.class)
@ -219,14 +209,13 @@ public class WebController extends BaseController {
/** /**
* 产品列表分页 * 产品列表分页
* * @author vinjor-M
* @date 15:17 2025/7/8
* @param tenantId 租户id * @param tenantId 租户id
* @param catgId 分类ID * @param catgId 分类ID
* @param pageNum * @param pageNum
* @param pageSize * @param pageSize
* @return com.ruoyi.common.core.domain.AjaxResult * @return com.ruoyi.common.core.domain.AjaxResult
* @author vinjor-M
* @date 15:17 2025/7/8
**/ **/
@ApiOperation("产品列表分页") @ApiOperation("产品列表分页")
@ApiImplicitParams(value = { @ApiImplicitParams(value = {
@ -265,14 +254,13 @@ public class WebController extends BaseController {
/** /**
* 新闻列表分页 * 新闻列表分页
* * @author vinjor-M
* @date 15:17 2025/7/8
* @param tenantId 租户id * @param tenantId 租户id
* @param catgId 分类ID * @param catgId 分类ID
* @param pageNum * @param pageNum
* @param pageSize * @param pageSize
* @return com.ruoyi.common.core.domain.AjaxResult * @return com.ruoyi.common.core.domain.AjaxResult
* @author vinjor-M
* @date 15:17 2025/7/8
**/ **/
@ApiOperation("新闻列表分页") @ApiOperation("新闻列表分页")
@ApiImplicitParams(value = { @ApiImplicitParams(value = {
@ -311,10 +299,9 @@ public class WebController extends BaseController {
/** /**
* 产品或新闻详情 * 产品或新闻详情
*
* @return com.ruoyi.common.core.domain.AjaxResult
* @author vinjor-M * @author vinjor-M
* @date 10:04 2025/7/8 * @date 10:04 2025/7/8
* @return com.ruoyi.common.core.domain.AjaxResult
**/ **/
@ApiOperation("产品或新闻详情") @ApiOperation("产品或新闻详情")
@ApiImplicitParam(name = "id", value = "产品或新闻ID", required = true, dataType = "string", paramType = "query", dataTypeClass = String.class) @ApiImplicitParam(name = "id", value = "产品或新闻ID", required = true, dataType = "string", paramType = "query", dataTypeClass = String.class)
@ -325,10 +312,9 @@ public class WebController extends BaseController {
/** /**
* 全站搜索 * 全站搜索
*
* @return com.ruoyi.common.core.domain.AjaxResult
* @author vinjor-M * @author vinjor-M
* @date 10:04 2025/7/8 * @date 10:04 2025/7/8
* @return com.ruoyi.common.core.domain.AjaxResult
**/ **/
@ApiOperation("全站搜索") @ApiOperation("全站搜索")
@ApiImplicitParams(value = { @ApiImplicitParams(value = {
@ -347,10 +333,9 @@ public class WebController extends BaseController {
/** /**
* 查询盘设置-都有哪些字段需要填写是否必填 * 查询盘设置-都有哪些字段需要填写是否必填
*
* @return com.ruoyi.common.core.domain.AjaxResult
* @author vinjor-M * @author vinjor-M
* @date 10:04 2025/7/8 * @date 10:04 2025/7/8
* @return com.ruoyi.common.core.domain.AjaxResult
**/ **/
@ApiOperation("查询盘设置-都有哪些字段需要填写,是否必填") @ApiOperation("查询盘设置-都有哪些字段需要填写,是否必填")
@ApiImplicitParam(name = "tenantId", value = "站点唯一码", required = true, dataType = "string", paramType = "query", dataTypeClass = String.class) @ApiImplicitParam(name = "tenantId", value = "站点唯一码", required = true, dataType = "string", paramType = "query", dataTypeClass = String.class)
@ -364,11 +349,10 @@ public class WebController extends BaseController {
/** /**
* 保存在线聊天内容 * 保存在线聊天内容
*
* @param busiChatMain {@link BusiChatMain}
* @return com.ruoyi.common.core.domain.AjaxResult
* @author PQZ * @author PQZ
* @date 15:24 2025/7/17 * @date 15:24 2025/7/17
* @param busiChatMain {@link BusiChatMain}
* @return com.ruoyi.common.core.domain.AjaxResult
**/ **/
@PostMapping("/chatMain") @PostMapping("/chatMain")
public AjaxResult saveChatMain(@RequestBody BusiChatMain busiChatMain, HttpServletRequest request) { public AjaxResult saveChatMain(@RequestBody BusiChatMain busiChatMain, HttpServletRequest request) {
@ -381,12 +365,8 @@ public class WebController extends BaseController {
logger.error("识别所属国家失败"); logger.error("识别所属国家失败");
} }
ip = StringUtils.isNotEmpty(ip)?ip:"未知"; ip = StringUtils.isNotEmpty(ip)?ip:"未知";
BusiChatMain result = busiChatMainService.queryByIpAndCusCode(ip, busiChatMain.getCusCode(), busiChatMain.getProdId()); BusiChatMain result = busiChatMainService.queryByIpAndCusCode(ip,busiChatMain.getCusCode());
if (result != null){ if (result != null){
if (StringUtils.isNotEmpty(result.getItemJson())) {
JSONArray array = new JSONArray(result.getItemJson());
result.setJsonArray(array);
}
return success(result); return success(result);
} else { } else {
nationalStr = StringUtils.isNotEmpty(nationalStr)?nationalStr:"未知"; nationalStr = StringUtils.isNotEmpty(nationalStr)?nationalStr:"未知";
@ -406,27 +386,11 @@ public class WebController extends BaseController {
} }
} }
/**
* 保存用户消息
*
* @return com.ruoyi.common.core.domain.AjaxResult
* @author PQZ
* @date 14:12 2025/8/4
**/
@PostMapping("/saveMessage")
public AjaxResult saveMessage(@RequestBody BusiChatMain busiChatMain) {
busiChatMain.setItemJson(busiChatMain.getJsonArray().toString());
busiChatMainService.updateById(busiChatMain);
return success();
}
/** /**
* 提交在线询盘表单 * 提交在线询盘表单
*
* @return com.ruoyi.common.core.domain.AjaxResult
* @author vinjor-M * @author vinjor-M
* @date 10:04 2025/7/8 * @date 10:04 2025/7/8
* @return com.ruoyi.common.core.domain.AjaxResult
**/ **/
@ApiOperation("提交在线询盘表单") @ApiOperation("提交在线询盘表单")
@ApiImplicitParams(value = { @ApiImplicitParams(value = {

View File

@ -1,17 +1,12 @@
package com.ruoyi.busi.domain; package com.ruoyi.busi.domain;
import cn.hutool.json.JSONArray;
import com.baomidou.mybatisplus.annotation.TableField;
import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.webSocket.Message;
import lombok.*; import lombok.*;
import com.ruoyi.common.core.domain.DlBaseEntity; import com.ruoyi.common.core.domain.DlBaseEntity;
import java.util.List;
/** /**
* 在线聊天对象 dl_busi_chat_main * 在线聊天对象 dl_busi_chat_main
* *
@ -70,7 +65,4 @@ public class BusiChatMain extends DlBaseEntity
/** 聊天记录 */ /** 聊天记录 */
private String itemJson; private String itemJson;
@TableField(exist = false)
JSONArray jsonArray;
} }

View File

@ -26,5 +26,5 @@ public interface IBusiChatMainService extends IService<BusiChatMain> {
* @author PQZ * @author PQZ
* @date 15:31 2025/7/17 * @date 15:31 2025/7/17
**/ **/
BusiChatMain queryByIpAndCusCode(String ip, String cusCode,String prodId); BusiChatMain queryByIpAndCusCode(String ip, String cusCode);
} }

View File

@ -7,7 +7,6 @@ import com.ruoyi.busi.vo.ChatMainVO;
import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DateUtils;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -42,14 +41,10 @@ public class BusiChatMainServiceImpl extends ServiceImpl<BusiChatMainMapper,Busi
* @date 15:31 2025/7/17 * @date 15:31 2025/7/17
**/ **/
@Override @Override
public BusiChatMain queryByIpAndCusCode(String ip, String cusCode,String prodId) { public BusiChatMain queryByIpAndCusCode(String ip, String cusCode) {
LambdaQueryWrapper<BusiChatMain> lambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<BusiChatMain> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(BusiChatMain::getCusCode,cusCode) lambdaQueryWrapper.eq(BusiChatMain::getCusCode,cusCode)
.eq(BusiChatMain::getIp,ip); .eq(BusiChatMain::getIp,ip);
//对应产品
if (StringUtils.isNotEmpty(prodId)) {
lambdaQueryWrapper.eq(BusiChatMain::getProdId,prodId);
}
BusiChatMain chatMain = getOne(lambdaQueryWrapper); BusiChatMain chatMain = getOne(lambdaQueryWrapper);
return chatMain; return chatMain;
} }

View File

@ -6,6 +6,12 @@ import java.util.Date;
@Data @Data
public class Message { public class Message {
private Integer id;
// private String username;
// private String userface;
// private String text;
// private Date date;
/**发送方*/ /**发送方*/
private String dataFrom; private String dataFrom;
/**聊天内容*/ /**聊天内容*/

View File

@ -5,13 +5,16 @@ import java.util.concurrent.atomic.AtomicInteger;
public class MessageUtil { public class MessageUtil {
// private static List<Message> messageList = new CopyOnWriteArrayList<>();
private static AtomicInteger atomicInteger = new AtomicInteger(0);
public Message toMessage(String content){ public Message toMessage(String content){
Message message = new Message(); Message message = new Message();
String[] contents=content.split(","); String[] contents=content.split(",");
String name=contents[0]; String name=contents[0];
String text=contents[1]; String text=contents[1];
int id = atomicInteger.incrementAndGet();
message.setId(id);
message.setDataFrom(name); message.setDataFrom(name);
message.setContent(text); message.setContent(text);
message.setCreateTime(new Date()); message.setCreateTime(new Date());