1
This commit is contained in:
parent
e267a2121a
commit
e439b060eb
@ -11,9 +11,11 @@ import com.ruoyi.base.service.IBaseNationalService;
|
||||
import com.ruoyi.base.service.IBasePicService;
|
||||
import com.ruoyi.base.service.IBaseSiteInfoService;
|
||||
import com.ruoyi.busi.domain.BusiCategory;
|
||||
import com.ruoyi.busi.domain.BusiChatMain;
|
||||
import com.ruoyi.busi.domain.BusiInquiryItem;
|
||||
import com.ruoyi.busi.domain.BusiProdNew;
|
||||
import com.ruoyi.busi.service.IBusiCategoryService;
|
||||
import com.ruoyi.busi.service.IBusiChatMainService;
|
||||
import com.ruoyi.busi.service.IBusiInquiryItemService;
|
||||
import com.ruoyi.busi.service.IBusiProdNewService;
|
||||
import com.ruoyi.busi.utils.CommonUtils;
|
||||
@ -68,6 +70,8 @@ public class WebController extends BaseController {
|
||||
private IBaseNationalService nationalService;
|
||||
@Autowired
|
||||
private IBusiInquiryItemService inquiryItemService;
|
||||
@Autowired
|
||||
private IBusiChatMainService busiChatMainService;
|
||||
|
||||
/**
|
||||
* 导航栏接口--所有分类
|
||||
@ -318,6 +322,46 @@ public class WebController extends BaseController {
|
||||
return R.ok(baseInquiryService.getInquiry(tenantId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存在线聊天内容
|
||||
* @author PQZ
|
||||
* @date 15:24 2025/7/17
|
||||
* @param busiChatMain {@link BusiChatMain}
|
||||
* @return com.ruoyi.common.core.domain.AjaxResult
|
||||
**/
|
||||
@Log(title = "在线聊天", businessType = BusinessType.INSERT)
|
||||
@PostMapping("/chatMain")
|
||||
public AjaxResult saveChatMain(@RequestBody BusiChatMain busiChatMain, HttpServletRequest request) {
|
||||
String ip = "";
|
||||
String nationalStr = "";
|
||||
try {
|
||||
ip = CommonUtils.getIpAddr(request);
|
||||
nationalStr = CommonUtils.getAddr(ip);
|
||||
}catch (Exception e){
|
||||
logger.error("识别所属国家失败");
|
||||
}
|
||||
ip = StringUtils.isNotEmpty(ip)?ip:"未知";
|
||||
BusiChatMain result = busiChatMainService.queryByIpAndCusCode(ip,busiChatMain.getCusCode());
|
||||
if (result != null){
|
||||
return success(result);
|
||||
} else {
|
||||
nationalStr = StringUtils.isNotEmpty(nationalStr)?nationalStr:"未知";
|
||||
String national = nationalStr.split("\\|")[0];
|
||||
System.out.println(ip+"-----"+nationalStr);
|
||||
String oceania = "未知";
|
||||
Map<String,String> nationalMap = nationalService.getNationalMap();
|
||||
if(nationalMap.containsKey(national)){
|
||||
oceania = nationalMap.get(national);
|
||||
}
|
||||
busiChatMain.setIp(ip);
|
||||
busiChatMain.setNational(nationalStr);
|
||||
busiChatMain.setOceania(oceania);
|
||||
busiChatMain.setNums(0);
|
||||
busiChatMainService.save(busiChatMain);
|
||||
return success(busiChatMain);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 提交在线询盘表单
|
||||
* @author vinjor-M
|
||||
|
@ -62,4 +62,7 @@ public class BusiChatMain extends DlBaseEntity
|
||||
@Excel(name = "站点唯一编码", readConverterExp = "租=户id")
|
||||
private String tenantId;
|
||||
|
||||
/** 聊天记录 */
|
||||
private String itemJson;
|
||||
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
package com.ruoyi.busi.service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
@ -9,11 +10,21 @@ import com.ruoyi.busi.vo.ChatMainVO;
|
||||
|
||||
/**
|
||||
* 在线聊天Service接口
|
||||
*
|
||||
*
|
||||
* @author vinjor-m
|
||||
* @date 2025-07-03
|
||||
*/
|
||||
public interface IBusiChatMainService extends IService<BusiChatMain>
|
||||
{
|
||||
public interface IBusiChatMainService extends IService<BusiChatMain> {
|
||||
IPage<ChatMainVO> queryListPage(ChatMainVO pageReqVO, Page<BusiChatMain> page);
|
||||
|
||||
/**
|
||||
* 校验是否需要新增
|
||||
*
|
||||
* @param ip ip
|
||||
* @param cusCode 浏览器唯一编码
|
||||
* @return void
|
||||
* @author PQZ
|
||||
* @date 15:31 2025/7/17
|
||||
**/
|
||||
BusiChatMain queryByIpAndCusCode(String ip, String cusCode);
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package com.ruoyi.busi.service.impl;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.ruoyi.busi.vo.ChatMainVO;
|
||||
import com.ruoyi.common.utils.DateUtils;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
@ -29,4 +30,22 @@ public class BusiChatMainServiceImpl extends ServiceImpl<BusiChatMainMapper,Busi
|
||||
public IPage<ChatMainVO> queryListPage(ChatMainVO pageReqVO, Page<BusiChatMain> page) {
|
||||
return busiChatMainMapper.queryListPage(pageReqVO, page);
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验是否需要新增
|
||||
*
|
||||
* @param ip ip
|
||||
* @param cusCode 浏览器唯一编码
|
||||
* @return void
|
||||
* @author PQZ
|
||||
* @date 15:31 2025/7/17
|
||||
**/
|
||||
@Override
|
||||
public BusiChatMain queryByIpAndCusCode(String ip, String cusCode) {
|
||||
LambdaQueryWrapper<BusiChatMain> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(BusiChatMain::getCusCode,cusCode)
|
||||
.eq(BusiChatMain::getIp,ip);
|
||||
BusiChatMain chatMain = getOne(lambdaQueryWrapper);
|
||||
return chatMain;
|
||||
}
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ package com.ruoyi.webSocket;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.websocket.OnClose;
|
||||
import javax.websocket.OnMessage;
|
||||
import javax.websocket.OnOpen;
|
||||
|
Loading…
Reference in New Issue
Block a user