| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- package com.uas.demo.service.impl;
- import com.uas.demo.dao.ChatInfoDao;
- import com.uas.demo.dao.UserDao;
- import com.uas.demo.model.ChatInfo;
- import com.uas.demo.model.Enterprise;
- import com.uas.demo.model.UserInfo;
- import com.uas.demo.service.ChatInfoService;
- import com.uas.demo.service.EnterpriseService;
- import com.uas.demo.service.UserInfoService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.util.StringUtils;
- import java.util.Date;
- @Service
- public class ChatInfoServiceImpl implements ChatInfoService {
- private final UserDao userDao;
- private final UserInfoService userInfoService;
- private final EnterpriseService enterpriseService;
- private final ChatInfoDao chatInfoDao;
- @Autowired
- public ChatInfoServiceImpl(UserDao userDao, UserInfoService userInfoService, EnterpriseService enterpriseService
- , ChatInfoDao chatInfoDao) {
- this.userDao = userDao;
- this.userInfoService = userInfoService;
- this.enterpriseService = enterpriseService;
- this.chatInfoDao = chatInfoDao;
- }
- @Override
- public ChatInfo generateChatInfoWhenUserVisitListOrChat(String userPhone, Enterprise enterprise) {
- // 验证参数信息
- if (StringUtils.isEmpty(userPhone) || enterprise == null || enterprise.getEnUU() == null) {
- return null;
- }
- // 获取用户缓存信息
- UserInfo userInfo = userInfoService.cacheUserInfoWhenUserVisitSystem(userPhone);
- assert userInfo != null;
- ChatInfo chatInfo = chatInfoDao.findByUserIdAndEnUU(userInfo.getUserId(), enterprise.getEnUU());
- if (chatInfo == null) {
- chatInfo = new ChatInfo();
- chatInfo.setUserInfo(userInfo);
- chatInfo.setUserId(userInfo.getUserId());
- chatInfo.setPhone(userInfo.getPhone());
- // 获取用户缓存企业信息
- enterprise = enterpriseService.cacheEnterpriseInfoWhenUserVisitSystem(enterprise);
- assert enterprise != null;
- chatInfo.setEnterprise(enterprise);
- chatInfo.setEnUU(enterprise.getEnUU());
- }
- // 更新聊天信息版本信息,并持久化
- chatInfo.setVersion(new Date().getTime());
- chatInfo = chatInfoDao.save(chatInfo);
- return chatInfo;
- }
- @Override
- public ChatInfo queryChatInfoWhenUserVisitWebSite(String id) {
- if (StringUtils.isEmpty(id)) {
- return null;
- }
- return chatInfoDao.findOne(id);
- }
- }
|