Commit 7f779cd3 authored by jay's avatar jay

im规则调整

parent 6bd1e119
package com.house365.beans.entity;
import com.house365.beans.system.DomainObject;
import java.util.Date;
/**
* im接口日志表
*
* @author Created by 365 on 2021/2/4.
*/
public class ImInfoLogEntity extends DomainObject {
private static final long serialVersionUID = 1L;
private String tfId;
private String city;
private String accId;
private Date createTime;
public String getTfId() {
return tfId;
}
public void setTfId(String tfId) {
this.tfId = tfId;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getAccId() {
return accId;
}
public void setAccId(String accId) {
this.accId = accId;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
}
package com.house365.ws.dao.mapper;
import com.house365.beans.entity.ImInfoLogEntity;
import org.springframework.stereotype.Repository;
/**
* @author Created by 365 on 2021/2/4.
*/
@Repository
public interface ImInfoLogMapper {
void save(ImInfoLogEntity entity);
}
package com.house365.ws.interfaces.rest; package com.house365.ws.interfaces.rest;
import com.google.common.base.Strings; import com.google.common.base.Strings;
import com.house365.beans.entity.ImInfoLogEntity;
import com.house365.beans.entity.UserEntity; import com.house365.beans.entity.UserEntity;
import com.house365.beans.entity.UserMessageEntity; import com.house365.beans.entity.UserMessageEntity;
import com.house365.rest.context.Parameter; import com.house365.rest.context.Parameter;
import com.house365.rest.exception.ServiceRunException; import com.house365.rest.exception.ServiceRunException;
import com.house365.rest.parameter.House365RestObject; import com.house365.rest.parameter.House365RestObject;
import com.house365.rest.parameter.House365RestResponse; import com.house365.rest.parameter.House365RestResponse;
import com.house365.ws.dao.mapper.ImInfoLogMapper;
import com.house365.ws.dao.mapper.UserMapper; import com.house365.ws.dao.mapper.UserMapper;
import com.house365.ws.dao.mapper.UserMessageMapper; import com.house365.ws.dao.mapper.UserMessageMapper;
import com.house365.ws.system.ReturnAppResult; import com.house365.ws.system.ReturnAppResult;
...@@ -18,10 +20,9 @@ import org.slf4j.LoggerFactory; ...@@ -18,10 +20,9 @@ import org.slf4j.LoggerFactory;
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 java.util.HashMap; import java.util.*;
import java.util.List; import java.util.concurrent.ExecutorService;
import java.util.Map; import java.util.concurrent.Executors;
import java.util.Random;
/** /**
* im直销组 上线人员信息表 * im直销组 上线人员信息表
...@@ -37,6 +38,8 @@ public class GetNewUserInfoImpl implements IGetNewUserInfo { ...@@ -37,6 +38,8 @@ public class GetNewUserInfoImpl implements IGetNewUserInfo {
private UserMapper userMapper; private UserMapper userMapper;
@Autowired @Autowired
private UserMessageMapper messageMapper; private UserMessageMapper messageMapper;
@Autowired
private ImInfoLogMapper logMapper;
/** /**
* 对于纯新咨询的客户,随机分配给一位在线IM房博士;  * 对于纯新咨询的客户,随机分配给一位在线IM房博士; 
...@@ -72,7 +75,9 @@ public class GetNewUserInfoImpl implements IGetNewUserInfo { ...@@ -72,7 +75,9 @@ public class GetNewUserInfoImpl implements IGetNewUserInfo {
//查询在线客服list //查询在线客服list
Map<String, Object> queryMap = new HashMap<>(5); Map<String, Object> queryMap = new HashMap<>(5);
//测试临时新加部门,上线需要调整 //测试临时新加部门,上线需要调整
queryMap.put("deptUrlPath", "/1/2/69/70/567/568"); // queryMap.put("deptId", 568);
queryMap.put("deptId", 557);
queryMap.put("onlineStatus", 1); queryMap.put("onlineStatus", 1);
List<UserEntity> userList = userMapper.queryByConditions(queryMap); List<UserEntity> userList = userMapper.queryByConditions(queryMap);
...@@ -116,6 +121,44 @@ public class GetNewUserInfoImpl implements IGetNewUserInfo { ...@@ -116,6 +121,44 @@ public class GetNewUserInfoImpl implements IGetNewUserInfo {
response.setData(data); response.setData(data);
response.setResult(ReturnAppResult.APP_SUCCESS.getResultCode()); response.setResult(ReturnAppResult.APP_SUCCESS.getResultCode());
response.setMsg("查询成功"); response.setMsg("查询成功");
//todo 1、查询成功同时添加日志(请求url返回result) 2、聊天机制废除,查询的同时触发新增信息接口
ExecutorService executor = Executors.newCachedThreadPool();
executor.execute(new Runnable() {
@Override
public void run() {
try {
Date now = new Date();
if (!"qlt_527".equals(accId)) {
Map<String, Object> mesMap = new HashMap<>(5);
mesMap.put("sender", tfId);
mesMap.put("receiver", accId);
List<UserMessageEntity> list = messageMapper.queryByConditions(mesMap);
//判断如果存在聊天,则更新时间,不存在则新增一条记录
if (CollectionUtils.isNotEmpty(list)) {
UserMessageEntity oldEntity = list.get(0);
oldEntity.setUpdateTime(now);
messageMapper.update(oldEntity);
} else {
UserMessageEntity entity = new UserMessageEntity();
entity.setSender(tfId);
entity.setReceiver(accId);
entity.setCreateTime(now);
entity.setUpdateTime(now);
messageMapper.save(entity);
}
}
ImInfoLogEntity logEntity = new ImInfoLogEntity();
logEntity.setTfId(tfId);
logEntity.setCity(city);
logEntity.setAccId(accId);
logEntity.setCreateTime(now);
logMapper.save(logEntity);
} catch (Exception e) {
logger.error("同步IM信息失败", e);
}
}
});
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
logger.error("查询用户信息失败", e); logger.error("查询用户信息失败", e);
......
...@@ -53,35 +53,35 @@ public class SaveNewMessage implements ISaveNewMessage { ...@@ -53,35 +53,35 @@ public class SaveNewMessage implements ISaveNewMessage {
return JSONObject.fromObject(response).toString(); return JSONObject.fromObject(response).toString();
} }
//过滤不是IM咨询组的人信息 //过滤不是IM咨询组的人信息
if (receiver.startsWith("qlt_") && sender.startsWith("tf_")) { // if (receiver.startsWith("qlt_") && sender.startsWith("tf_")) {
Date now = new Date(); // Date now = new Date();
Map<String, Object> queryMap = new HashMap<>(5); // Map<String, Object> queryMap = new HashMap<>(5);
//测试临时新加部门,上线需要调整 // //测试临时新加部门,上线需要调整
queryMap.put("deptUrlPath", "/1/2/69/70/567/568"); // queryMap.put("deptUrlPath", "/1/2/69/70/567/568");
queryMap.put("accId", receiver); // queryMap.put("accId", receiver);
List<UserEntity> userList = userMapper.queryByConditions(queryMap); // List<UserEntity> userList = userMapper.queryByConditions(queryMap);
if (CollectionUtils.isNotEmpty(userList)) { // if (CollectionUtils.isNotEmpty(userList)) {
Map<String, Object> searchMap = new HashMap<>(5); // Map<String, Object> searchMap = new HashMap<>(5);
searchMap.put("sender", sender); // searchMap.put("sender", sender);
searchMap.put("receiver", receiver); // searchMap.put("receiver", receiver);
List<UserMessageEntity> list = messageMapper.queryByConditions(searchMap); // List<UserMessageEntity> list = messageMapper.queryByConditions(searchMap);
//判断如果存在聊天,则更新时间,不存在则新增一条记录 // //判断如果存在聊天,则更新时间,不存在则新增一条记录
if (CollectionUtils.isNotEmpty(list)) { // if (CollectionUtils.isNotEmpty(list)) {
UserMessageEntity oldEntity = list.get(0); // UserMessageEntity oldEntity = list.get(0);
oldEntity.setUpdateTime(now); // oldEntity.setUpdateTime(now);
messageMapper.update(oldEntity); // messageMapper.update(oldEntity);
} else { // } else {
UserMessageEntity entity = new UserMessageEntity(); // UserMessageEntity entity = new UserMessageEntity();
entity.setSender(sender); // entity.setSender(sender);
entity.setReceiver(receiver); // entity.setReceiver(receiver);
entity.setCreateTime(now); // entity.setCreateTime(now);
entity.setUpdateTime(now); // entity.setUpdateTime(now);
messageMapper.save(entity); // messageMapper.save(entity);
} // }
response.setResult(ReturnAppResult.APP_SUCCESS.getResultCode()); // response.setResult(ReturnAppResult.APP_SUCCESS.getResultCode());
response.setMsg("同步message成功"); // response.setMsg("同步message成功");
} // }
} // }
} else { } else {
response.setResult(ReturnAppResult.APP_FAIL.getResultCode()); response.setResult(ReturnAppResult.APP_FAIL.getResultCode());
response.setMsg("data参数不能为空"); response.setMsg("data参数不能为空");
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.house365.ws.dao.mapper.ImInfoLogMapper">
<resultMap id="infoMap" type="com.house365.beans.entity.ImInfoLogEntity">
<result property="id" column="id"/>
<result property="tfId" column="tf_id"/>
<result property="city" column="city"/>
<result property="accId" column="acc_id"/>
<result property="createTime" column="create_time"/>
</resultMap>
<insert id="save" parameterType="com.house365.beans.entity.ImInfoLogEntity">
insert into im_info_log (tf_id,city,acc_id,create_time)
values
( #{tfId},#{city},#{accId},#{createTime} )
</insert>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.house365.ws.dao.mapper.ImInfoLogMapper">
<resultMap id="infoMap" type="com.house365.beans.entity.ImInfoLogEntity">
<result property="id" column="id"/>
<result property="tfId" column="tf_id"/>
<result property="city" column="city"/>
<result property="accId" column="acc_id"/>
<result property="createTime" column="create_time"/>
</resultMap>
<insert id="save" parameterType="com.house365.beans.entity.ImInfoLogEntity">
insert into im_info_log (tf_id,city,acc_id,create_time)
values
( #{tfId},#{city},#{accId},#{createTime} )
</insert>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.house365.ws.dao.mapper.ImInfoLogMapper">
<resultMap id="infoMap" type="com.house365.beans.entity.ImInfoLogEntity">
<result property="id" column="id"/>
<result property="tfId" column="tf_id"/>
<result property="city" column="city"/>
<result property="accId" column="acc_id"/>
<result property="createTime" column="create_time"/>
</resultMap>
<insert id="save" parameterType="com.house365.beans.entity.ImInfoLogEntity">
insert into im_info_log (tf_id,city,acc_id,create_time)
values
( #{tfId},#{city},#{accId},#{createTime} )
</insert>
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment