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 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 comPbServiceTeamVOS = comPbServiceTeamDAO.getTotlePerson(param, communityId); return R.ok(comPbServiceTeamVOS); } @Override public R getComPbServiceTeamData(String communityId, String phone) { return R.ok(comPbServiceTeamDAO.getComPbServiceTeamData(communityId,phone)); } }