package com.panzhihua.service_community.service.impl; import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.panzhihua.common.model.dtos.property.CommonPage; import com.panzhihua.common.model.vos.ComActSocialMemberVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.user.AdministratorsUserVO; import com.panzhihua.common.service.user.UserService; import com.panzhihua.service_community.dao.ComActSocialOrgDao; import com.panzhihua.service_community.entity.ComActSocialMember; import com.panzhihua.service_community.dao.ComActSocialMemberDao; import com.panzhihua.service_community.entity.ComActSocialOrg; import com.panzhihua.service_community.service.ComActSocialMemberService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Date; import static java.util.Objects.nonNull; /** * 社会组织成员表(ComActSocialMember)表服务实现类 * * @author makejava * @since 2021-10-22 09:52:47 */ @Slf4j @Service public class ComActSocialMemberServiceImpl extends ServiceImpl implements ComActSocialMemberService { @Resource private ComActSocialMemberDao comActSocialMemberDao; @Resource private UserService userService; @Resource private ComActSocialOrgDao comActSocialOrgDao; @Override public R pageList(CommonPage commonPage) { Integer userType = commonPage.getUserType(); if (nonNull(userType) && userType.equals(3)) { ComActSocialOrg comActSocialOrg = comActSocialOrgDao.selectOne(new LambdaQueryWrapper() .eq(ComActSocialOrg::getUserId, commonPage.getUserId())); if (nonNull(comActSocialOrg)) { commonPage.setParamId(comActSocialOrg.getId()); } } return R.ok(this.comActSocialMemberDao.pageList(new Page(commonPage.getPage(),commonPage.getSize()),commonPage)); } @Override public R insert(ComActSocialMemberVO comActSocialMemberVO) { ComActSocialMember comActSocialMember=new ComActSocialMember(); BeanUtils.copyProperties(comActSocialMemberVO,comActSocialMember); Integer count=this.comActSocialMemberDao.selectCount(new QueryWrapper().lambda().eq(ComActSocialMember::getAccount,comActSocialMemberVO.getAccount()).eq(ComActSocialMember::getName,comActSocialMemberVO.getName())); if(count>0){ return R.fail("姓名或账号已存在"); } AdministratorsUserVO administratorsUserVO=new AdministratorsUserVO(); administratorsUserVO.setType(3); administratorsUserVO.setAccount(comActSocialMemberVO.getAccount()); administratorsUserVO.setPassword(comActSocialMemberVO.getPassword()); //根据roleId判断是普通社会组织还是定制三社 administratorsUserVO.setSocialType(3); administratorsUserVO.setRoleId(777777777L); if(comActSocialMemberVO.getStreetId()!=null){ administratorsUserVO.setStreetId(comActSocialMemberVO.getStreetId()); } administratorsUserVO.setCommunityId(comActSocialMemberVO.getCommunityId()); administratorsUserVO.setName(comActSocialMemberVO.getName()); administratorsUserVO.setPhone(comActSocialMemberVO.getPhone()); R r=userService.addUserBackstageProperty(administratorsUserVO); if(R.isOk(r)){ comActSocialMember.setCreateTime(new Date()); comActSocialMember.setUserId(Long.parseLong(r.getData().toString())); this.comActSocialMemberDao.insert(comActSocialMember); return R.ok(); } return r; } @Override public R update(ComActSocialMemberVO comActSocialMemberVO) { ComActSocialMember comActSocialMember=this.comActSocialMemberDao.selectById(comActSocialMemberVO.getId()); if(comActSocialMember!=null){ if(comActSocialMemberVO.getStatus()==0){ AdministratorsUserVO administratorsUserVO=new AdministratorsUserVO(); administratorsUserVO.setUserId(comActSocialMember.getUserId()); administratorsUserVO.setStatus(0); userService.putUserBackstage(administratorsUserVO); } ComActSocialMember comActSocialMember1=new ComActSocialMember(); BeanUtils.copyProperties(comActSocialMemberVO,comActSocialMember1); return this.comActSocialMemberDao.updateById(comActSocialMember1)>0?R.ok():R.fail(); } return R.fail("参数错误"); } @Override public R detail(Long id) { return R.ok(this.comActSocialMemberDao.detail(id)); } @Override public R delete(Long id) { ComActSocialMember comActSocialMember=this.comActSocialMemberDao.selectById(id); if(comActSocialMember!=null){ AdministratorsUserVO administratorsUserVO=new AdministratorsUserVO(); administratorsUserVO.setUserId(comActSocialMember.getUserId()); userService.deleteUserBackstage(administratorsUserVO); return this.comActSocialMemberDao.deleteById(id)>0?R.ok():R.fail(); } return R.fail("参数错误"); } }