commit
76e0786201
@ -2,13 +2,16 @@ package com.stdiet.custom.service.impl;
|
|||||||
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.stdiet.common.utils.DateUtils;
|
import com.stdiet.common.utils.DateUtils;
|
||||||
|
import com.stdiet.common.utils.StringUtils;
|
||||||
import com.stdiet.common.utils.uuid.UUID;
|
import com.stdiet.common.utils.uuid.UUID;
|
||||||
import com.stdiet.custom.domain.SysCustomer;
|
import com.stdiet.custom.domain.SysCustomer;
|
||||||
import com.stdiet.custom.domain.SysServicesTopic;
|
import com.stdiet.custom.domain.SysServicesTopic;
|
||||||
|
import com.stdiet.custom.domain.SysWxUserInfo;
|
||||||
import com.stdiet.custom.mapper.SysCustomerMapper;
|
import com.stdiet.custom.mapper.SysCustomerMapper;
|
||||||
import com.stdiet.custom.mapper.SysServicesTopicMapper;
|
import com.stdiet.custom.mapper.SysServicesTopicMapper;
|
||||||
import com.stdiet.custom.server.WebSocketServer;
|
import com.stdiet.custom.server.WebSocketServer;
|
||||||
import com.stdiet.custom.service.ISysServicesTopicService;
|
import com.stdiet.custom.service.ISysServicesTopicService;
|
||||||
|
import com.stdiet.custom.service.ISysWxUserInfoService;
|
||||||
import com.stdiet.custom.utils.WsUtils;
|
import com.stdiet.custom.utils.WsUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@ -25,6 +28,9 @@ public class SysServicesTopicServiceImp implements ISysServicesTopicService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
SysCustomerMapper sysCustomerMapper;
|
SysCustomerMapper sysCustomerMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
ISysWxUserInfoService iSysWxUserInfoService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<SysServicesTopic> selectSysServicesTopicByUserIdAndRole(SysServicesTopic topic) {
|
public List<SysServicesTopic> selectSysServicesTopicByUserIdAndRole(SysServicesTopic topic) {
|
||||||
return servicesTopicMapper.selectSysServicesTopicByUserIdAndRole(topic);
|
return servicesTopicMapper.selectSysServicesTopicByUserIdAndRole(topic);
|
||||||
@ -90,10 +96,23 @@ public class SysServicesTopicServiceImp implements ISysServicesTopicService {
|
|||||||
dataObj.put("count", counts.get(i).getCount());
|
dataObj.put("count", counts.get(i).getCount());
|
||||||
dataObj.put("data", topic);
|
dataObj.put("data", topic);
|
||||||
|
|
||||||
|
JSONObject userObj = new JSONObject();
|
||||||
|
SysWxUserInfo userInfo = iSysWxUserInfoService.selectSysWxUserInfoByCusId(Long.parseLong(customerId));
|
||||||
|
if (!StringUtils.isNull(userInfo)) {
|
||||||
|
userObj.put("avatar", userInfo.getAvatarUrl());
|
||||||
|
}
|
||||||
|
userObj.put("name", customer.getName());
|
||||||
|
userObj.put("create_time", DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:ss"));
|
||||||
|
userObj.put("update_time", DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:ss"));
|
||||||
|
userObj.put("read", 0);
|
||||||
|
userObj.put("uid", customerId);
|
||||||
|
userObj.put("role", "customer");
|
||||||
|
|
||||||
JSONObject msgObj = new JSONObject();
|
JSONObject msgObj = new JSONObject();
|
||||||
msgObj.put("type", WsUtils.WS_TYPE_MESSAGE_COUNT);
|
msgObj.put("type", WsUtils.WS_TYPE_MESSAGE_COUNT);
|
||||||
msgObj.put("msg", "未读消息数");
|
msgObj.put("msg", "未读消息数");
|
||||||
msgObj.put("data", dataObj);
|
msgObj.put("data", dataObj);
|
||||||
|
msgObj.put("customer", userObj);
|
||||||
WebSocketServer.sendInfo(msgObj.toJSONString(), counts.get(i).getUid());
|
WebSocketServer.sendInfo(msgObj.toJSONString(), counts.get(i).getUid());
|
||||||
}
|
}
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
@ -156,12 +175,15 @@ public class SysServicesTopicServiceImp implements ISysServicesTopicService {
|
|||||||
List<SysServicesTopic> statusList = new ArrayList<>();
|
List<SysServicesTopic> statusList = new ArrayList<>();
|
||||||
SysServicesTopic dieticianStatus = new SysServicesTopic();
|
SysServicesTopic dieticianStatus = new SysServicesTopic();
|
||||||
dieticianStatus.setUid(String.valueOf(customer.getMainDietitian()));
|
dieticianStatus.setUid(String.valueOf(customer.getMainDietitian()));
|
||||||
|
dieticianStatus.setRole("dietician");
|
||||||
statusList.add(dieticianStatus);
|
statusList.add(dieticianStatus);
|
||||||
SysServicesTopic afterSaleStatus = new SysServicesTopic();
|
SysServicesTopic afterSaleStatus = new SysServicesTopic();
|
||||||
afterSaleStatus.setUid(String.valueOf(customer.getAfterDietitian()));
|
afterSaleStatus.setUid(String.valueOf(customer.getAfterDietitian()));
|
||||||
|
afterSaleStatus.setRole("after_sale");
|
||||||
statusList.add(afterSaleStatus);
|
statusList.add(afterSaleStatus);
|
||||||
SysServicesTopic dieticianAssistantStatus = new SysServicesTopic();
|
SysServicesTopic dieticianAssistantStatus = new SysServicesTopic();
|
||||||
dieticianAssistantStatus.setUid(String.valueOf(customer.getAssistantDietitian()));
|
dieticianAssistantStatus.setUid(String.valueOf(customer.getAssistantDietitian()));
|
||||||
|
dieticianAssistantStatus.setRole("dietician_assistant");
|
||||||
statusList.add(dieticianAssistantStatus);
|
statusList.add(dieticianAssistantStatus);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
@ -178,11 +178,12 @@ export default {
|
|||||||
this.updateUnreadCount({
|
this.updateUnreadCount({
|
||||||
msgUnreadCount: count,
|
msgUnreadCount: count,
|
||||||
});
|
});
|
||||||
if (tData.uid === selCusId) {
|
if (tData.uid === this.selCusId) {
|
||||||
this.fetchTopicListApi({
|
this.fetchTopicListApi({
|
||||||
fromUid: tData.uid,
|
fromUid: tData.uid,
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
const { customer } = data;
|
||||||
// 调整用户列表顺序
|
// 调整用户列表顺序
|
||||||
const newCustomers = JSON.parse(JSON.stringify(this.customerList));
|
const newCustomers = JSON.parse(JSON.stringify(this.customerList));
|
||||||
const tarIdx = newCustomers.findIndex((obj) => obj.uid === tData.uid);
|
const tarIdx = newCustomers.findIndex((obj) => obj.uid === tData.uid);
|
||||||
@ -190,10 +191,12 @@ export default {
|
|||||||
const [tarCustomer] = newCustomers.splice(tarIdx, 1);
|
const [tarCustomer] = newCustomers.splice(tarIdx, 1);
|
||||||
tarCustomer.read = 0;
|
tarCustomer.read = 0;
|
||||||
newCustomers.splice(0, 0, tarCustomer);
|
newCustomers.splice(0, 0, tarCustomer);
|
||||||
this.save({
|
} else {
|
||||||
customerList: newCustomers,
|
newCustomers.splice(0, 0, customer);
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
this.save({
|
||||||
|
customerList: newCustomers,
|
||||||
|
});
|
||||||
}
|
}
|
||||||
} else if (data.type === keys.WS_TYPE_NEW_CUSTOMER_REPLY) {
|
} else if (data.type === keys.WS_TYPE_NEW_CUSTOMER_REPLY) {
|
||||||
const { count, topicId, uid } = data.data;
|
const { count, topicId, uid } = data.data;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user