|
@@ -1,18 +1,21 @@
|
|
|
package com.yonge.cooleshow.biz.dal.service.impl;
|
|
|
|
|
|
-import java.util.Date;
|
|
|
-import java.util.List;
|
|
|
-
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.yonge.cooleshow.auth.api.entity.SysRole;
|
|
|
import com.yonge.cooleshow.auth.api.entity.SysUser;
|
|
|
-import com.yonge.cooleshow.biz.dal.service.SysConfigService;
|
|
|
-import com.yonge.cooleshow.common.constant.SysConfigConstant;
|
|
|
-import com.yonge.cooleshow.common.enums.SysUserType;
|
|
|
+import com.yonge.cooleshow.biz.dal.dao.EmployeeDao;
|
|
|
import com.yonge.cooleshow.biz.dal.dto.EmployeeDto;
|
|
|
import com.yonge.cooleshow.biz.dal.dto.search.EmployeeSearch;
|
|
|
+import com.yonge.cooleshow.biz.dal.entity.Employee;
|
|
|
+import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
|
|
|
+import com.yonge.cooleshow.biz.dal.service.EmployeeService;
|
|
|
+import com.yonge.cooleshow.biz.dal.service.SysConfigService;
|
|
|
+import com.yonge.cooleshow.biz.dal.service.im.ImGroupCoreService;
|
|
|
import com.yonge.cooleshow.biz.dal.vo.EmployeeVo;
|
|
|
+import com.yonge.cooleshow.common.constant.SysConfigConstant;
|
|
|
import com.yonge.cooleshow.common.entity.HttpResponseResult;
|
|
|
-
|
|
|
+import com.yonge.cooleshow.common.enums.SysUserType;
|
|
|
+import com.yonge.toolset.mybatis.dal.BaseDAO;
|
|
|
import com.yonge.toolset.mybatis.service.impl.BaseServiceImpl;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
@@ -21,11 +24,9 @@ import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
-import com.yonge.cooleshow.auth.api.entity.SysRole;
|
|
|
-import com.yonge.cooleshow.biz.dal.dao.EmployeeDao;
|
|
|
-import com.yonge.cooleshow.biz.dal.entity.Employee;
|
|
|
-import com.yonge.cooleshow.biz.dal.service.EmployeeService;
|
|
|
-import com.yonge.toolset.mybatis.dal.BaseDAO;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Optional;
|
|
|
|
|
|
@Service
|
|
|
public class EmployeeServiceImpl extends BaseServiceImpl<Long, Employee> implements EmployeeService {
|
|
@@ -35,6 +36,9 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Long, Employee> impleme
|
|
|
@Autowired
|
|
|
private SysConfigService sysConfigService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private ImGroupCoreService imGroupCoreService;
|
|
|
+
|
|
|
@Override
|
|
|
public BaseDAO<Long, Employee> getDAO() {
|
|
|
return employeeDao;
|
|
@@ -92,6 +96,13 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Long, Employee> impleme
|
|
|
//新增员工表
|
|
|
param.setUserId(sysUser.getId());
|
|
|
employeeDao.insert(param);
|
|
|
+
|
|
|
+ // 员工设置为客服时,同步IM账号到三方
|
|
|
+ if (Optional.ofNullable(param.getCustomerService()).orElse(false)) {
|
|
|
+ imGroupCoreService.register(String.valueOf(param.getUserId()), ClientEnum.SYSTEM.getCode(),
|
|
|
+ param.getUsername(), sysUser.getAvatar());
|
|
|
+ }
|
|
|
+
|
|
|
return HttpResponseResult.succeed(param);
|
|
|
}
|
|
|
|
|
@@ -115,6 +126,17 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Long, Employee> impleme
|
|
|
employeeDao.batchAddEmployeeRole(employee.getUserId(), param.getRoleIds());
|
|
|
|
|
|
employeeDao.update(param);
|
|
|
+
|
|
|
+ // 员工设置为客服时,同步IM账号到三方
|
|
|
+ if (Optional.ofNullable(param.getCustomerService()).orElse(false)) {
|
|
|
+ imGroupCoreService.register(String.valueOf(param.getUserId()), ClientEnum.SYSTEM.getCode(),
|
|
|
+ param.getUsername(), sysUser.getAvatar());
|
|
|
+ } else {
|
|
|
+ // 员工设置为非客服时,删除IM账号
|
|
|
+ if (Optional.ofNullable(employee.getCustomerService()).orElse(false)) {
|
|
|
+ // TODO: 由客服身份变为非客户时,需要删除之前关联的IM账号,同时交接为其他客服
|
|
|
+ }
|
|
|
+ }
|
|
|
return HttpResponseResult.succeed(param);
|
|
|
}
|
|
|
|