package com.panzhihua.service_dangjian.service.impl;
|
|
import static java.util.Objects.nonNull;
|
|
import java.util.List;
|
|
import javax.annotation.Resource;
|
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.data.redis.core.StringRedisTemplate;
|
import org.springframework.stereotype.Service;
|
import org.springframework.util.ObjectUtils;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.panzhihua.common.constants.UserConstants;
|
import com.panzhihua.common.model.dtos.partybuilding.ComPbServiceTeamDTO;
|
import com.panzhihua.common.model.dtos.partybuilding.PageComPbServiceTeamDTO;
|
import com.panzhihua.common.model.vos.R;
|
import com.panzhihua.common.model.vos.partybuilding.ComPbServiceTeamVO;
|
import com.panzhihua.common.model.vos.user.SysUserVO;
|
import com.panzhihua.service_dangjian.dao.ComPbMemberRoleDAO;
|
import com.panzhihua.service_dangjian.dao.ComPbServiceTeamDAO;
|
import com.panzhihua.service_dangjian.model.dos.ComPbServiceTeamDO;
|
import com.panzhihua.service_dangjian.service.ComPbServiceTeamService;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
/**
|
* @program: springcloud_k8s_panzhihuazhihuishequ
|
* @description: 服务团队
|
* @author: huang.hongfa weixin hhf9596 qq 959656820
|
* @create: 2021-01-21 17:39
|
**/
|
@Slf4j
|
@Service
|
public class ComPbServiceTeamServiceImpl implements ComPbServiceTeamService {
|
@Resource
|
private ComPbServiceTeamDAO comPbServiceTeamDAO;
|
@Resource
|
private ComPbMemberRoleDAO comPbMemberRoleDAO;
|
@Resource
|
private StringRedisTemplate stringRedisTemplate;
|
|
/**
|
* 新增服务团队人员
|
*
|
* @param comPbServiceTeamDTO
|
* 新增内容
|
* @return 新增结果
|
*/
|
@Override
|
public R addServiceTeam(ComPbServiceTeamDTO comPbServiceTeamDTO) {
|
ComPbServiceTeamDO comPbServiceTeamDO = new ComPbServiceTeamDO();
|
BeanUtils.copyProperties(comPbServiceTeamDTO, comPbServiceTeamDO);
|
comPbServiceTeamDO.setIsReg(2);
|
Long userId = comPbMemberRoleDAO.getSysUserIdByPhone(comPbServiceTeamDTO.getPhone(), comPbServiceTeamDTO.getAppid());
|
if (nonNull(userId)) {
|
comPbServiceTeamDO.setIsReg(1);
|
}
|
int insert = comPbServiceTeamDAO.insert(comPbServiceTeamDO);
|
if (insert > 0) {
|
if (nonNull(userId)) {
|
String userKey = UserConstants.LOGIN_USER_INFO + userId;
|
stringRedisTemplate.delete(userKey);
|
}
|
return R.ok();
|
}
|
return R.fail();
|
}
|
|
/**
|
* 编辑团队人员
|
*
|
* @param comPbServiceTeamDTO
|
* 编辑内容
|
* @return 编辑结果
|
*/
|
@Override
|
public R putServiceTeam(ComPbServiceTeamDTO comPbServiceTeamDTO) {
|
ComPbServiceTeamDO comPbServiceTeamDO = new ComPbServiceTeamDO();
|
BeanUtils.copyProperties(comPbServiceTeamDTO, comPbServiceTeamDO);
|
comPbServiceTeamDO.setIsReg(2);
|
ComPbServiceTeamDO oldComPbServiceTeam =
|
comPbServiceTeamDAO.selectComPbServiceTeamById(comPbServiceTeamDTO.getId());
|
String oldphone = oldComPbServiceTeam.getPhone();
|
SysUserVO sysUserOld = comPbMemberRoleDAO.getSysUserByPhone(oldphone, comPbServiceTeamDTO.getAppid());
|
String newphone = comPbServiceTeamDTO.getPhone();
|
SysUserVO sysUserNew = comPbMemberRoleDAO.getSysUserByPhone(newphone, comPbServiceTeamDTO.getAppid());
|
if (!ObjectUtils.isEmpty(sysUserOld) || !ObjectUtils.isEmpty(sysUserNew)) {
|
comPbServiceTeamDO.setIsReg(1);
|
}
|
if (!newphone.equals(oldphone)) {
|
comPbMemberRoleDAO.updateUserPhone(newphone, oldphone);
|
}
|
comPbServiceTeamDAO.updateById(comPbServiceTeamDO);
|
return R.ok();
|
}
|
|
/**
|
* 分页查询服务团队成员
|
*
|
* @param pageComPbServiceTeamDTO
|
* 查询参数
|
* @return 查询结果
|
*/
|
@Override
|
public R PageComPbServiceTeamDTO(PageComPbServiceTeamDTO pageComPbServiceTeamDTO) {
|
Page page = new Page<>();
|
Long pageNum = pageComPbServiceTeamDTO.getPageNum();
|
Long pageSize = pageComPbServiceTeamDTO.getPageSize();
|
if (null == pageNum || 0 == pageNum) {
|
pageNum = 1l;
|
}
|
if (null == pageSize || 0 == pageSize) {
|
pageSize = 10l;
|
}
|
page.setSize(pageSize);
|
page.setCurrent(pageNum);
|
IPage<ComPbServiceTeamVO> iPage = comPbServiceTeamDAO.PageComPbServiceTeamDTO(page, pageComPbServiceTeamDTO);
|
if (nonNull(pageComPbServiceTeamDTO.getPropertyId())){
|
iPage = comPbServiceTeamDAO.pageServiceTeamProperty(page, pageComPbServiceTeamDTO);
|
}
|
return R.ok(iPage);
|
}
|
|
/**
|
* 删除服务团队人员
|
*
|
* @param comPbServiceTeamDTO
|
* 删除主键
|
* @return 删除结果
|
*/
|
@Override
|
public R deleteServiceTeam(ComPbServiceTeamDTO comPbServiceTeamDTO) {
|
ComPbServiceTeamDO comPbServiceTeamDO =
|
comPbServiceTeamDAO.selectComPbServiceTeamById(comPbServiceTeamDTO.getId());
|
if (comPbServiceTeamDO == null) {
|
return R.fail("记录不存在");
|
}
|
int delete = comPbServiceTeamDAO.deleteById(comPbServiceTeamDTO.getId());
|
if (delete > 0) {
|
|
SysUserVO sysUserVO = comPbMemberRoleDAO.getSysUserByPhone(comPbServiceTeamDO.getPhone(), comPbServiceTeamDTO.getAppid());
|
// 删除用户信息缓存
|
if (sysUserVO != null) {
|
Long userId = sysUserVO.getUserId();
|
String userKey = UserConstants.LOGIN_USER_INFO + userId;
|
stringRedisTemplate.delete(userKey);
|
return R.ok();
|
}
|
return R.ok();
|
}
|
return R.fail();
|
}
|
|
@Override
|
public R getTotlePerson(String param, Long communityId) {
|
List<ComPbServiceTeamVO> comPbServiceTeamVOS = comPbServiceTeamDAO.getTotlePerson(param, communityId);
|
return R.ok(comPbServiceTeamVOS);
|
}
|
|
@Override
|
public R getComPbServiceTeamData(String communityId, String phone) {
|
return R.ok(comPbServiceTeamDAO.getComPbServiceTeamData(communityId,phone));
|
}
|
}
|