package com.panzhihua.service_community.service.impl; import cn.hutool.core.date.DateUtil; 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.R; import com.panzhihua.common.model.vos.community.ComActSocialOrgVO; import com.panzhihua.common.model.vos.user.AdministratorsUserVO; import com.panzhihua.common.service.user.UserService; import com.panzhihua.service_community.dao.ComActDAO; import com.panzhihua.service_community.entity.ComActCommittee; import com.panzhihua.service_community.entity.ComActSocialOrg; import com.panzhihua.service_community.dao.ComActSocialOrgDao; import com.panzhihua.service_community.model.dos.ComActDO; import com.panzhihua.service_community.service.ComActSocialOrgService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; /** * 社会组织(ComActSocialOrg)表服务实现类 * * @author makejava * @since 2021-09-17 10:45:30 */ @Slf4j @Service public class ComActSocialOrgServiceImpl extends ServiceImpl implements ComActSocialOrgService { @Resource private ComActSocialOrgDao comActSocialOrgDao; @Resource private UserService userService; @Resource private ComActDAO comActDAO; @Override public R pageList(CommonPage commonPage) { return R.ok(comActSocialOrgDao.pageList(new Page(commonPage.getPage(),commonPage.getSize()),commonPage)); } @Override public R selectById(Long id) { return R.ok(comActSocialOrgDao.detail(id)); } @Override @Transactional(rollbackFor = Exception.class) public R insert(ComActSocialOrgVO comActSocialOrgVO) { if(comActSocialOrgVO!=null){ ComActSocialOrg comActSocialOrg=new ComActSocialOrg(); BeanUtils.copyProperties(comActSocialOrgVO,comActSocialOrg); AdministratorsUserVO administratorsUserVO=new AdministratorsUserVO(); administratorsUserVO.setType(3); administratorsUserVO.setAccount(comActSocialOrgVO.getAccount()); administratorsUserVO.setPassword(comActSocialOrgVO.getPassword()); //根据roleId判断是普通社会组织还是定制三社 if(comActSocialOrgVO.getRoleId()==null){ administratorsUserVO.setSocialType(2); administratorsUserVO.setRoleId(777777777L); comActSocialOrg.setIsSociety(1); Long affiliatedUnit = comActSocialOrg.getAffiliatedUnit(); Integer affiliatedUnitType = comActSocialOrg.getAffiliatedUnitType(); if (affiliatedUnitType.equals(2)) { administratorsUserVO.setCommunityId(affiliatedUnit); ComActDO comActDO = comActDAO.selectById(affiliatedUnit); comActSocialOrg.setStreetId(comActDO.getStreetId()); } administratorsUserVO.setName(comActSocialOrgVO.getCorporationName()); } else { administratorsUserVO.setRoleId(comActSocialOrgVO.getRoleId()); if(comActSocialOrg.getCommunityId()!=null){ administratorsUserVO.setCommunityId(comActSocialOrg.getCommunityId()); ComActDO comActDO = comActDAO.selectById(comActSocialOrg.getCommunityId()); comActSocialOrg.setStreetId(comActDO.getStreetId()); } administratorsUserVO.setName(comActSocialOrgVO.getContactName()); } administratorsUserVO.setPhone(comActSocialOrgVO.getContactPhone()); R r=userService.addUserBackstageProperty(administratorsUserVO); if(R.isOk(r)){ comActSocialOrg.setUserId(Long.parseLong(r.getData().toString())); comActSocialOrg.setCreateAt(DateUtil.date()); this.comActSocialOrgDao.insert(comActSocialOrg); return R.ok(); } return R.fail("账号或手机号已存在"); } return R.fail(); } @Override public R update(ComActSocialOrgVO comActSocialOrgVO) { if(comActSocialOrgVO!=null){ ComActSocialOrg comActSocialOrg=new ComActSocialOrg(); BeanUtils.copyProperties(comActSocialOrgVO,comActSocialOrg); AdministratorsUserVO administratorsUserVO=new AdministratorsUserVO(); if(comActSocialOrgVO.getRoleId() == null) { administratorsUserVO.setRoleId(777777777L); } else { administratorsUserVO.setRoleId(comActSocialOrgVO.getRoleId()); } ComActSocialOrg comPropertyBase=this.comActSocialOrgDao.selectById(comActSocialOrgVO.getId()); administratorsUserVO.setUserId(comPropertyBase.getUserId()); administratorsUserVO.setLastLoginTime(DateUtil.date()); administratorsUserVO.setAccount(comActSocialOrgVO.getAccount()); administratorsUserVO.setPassword(comActSocialOrgVO.getPassword()); Integer status = comActSocialOrgVO.getStatus(); administratorsUserVO.setStatus(status.equals(0) ? 2 : 1); this.userService.putUserBackstage(administratorsUserVO); this.comActSocialOrgDao.updateById(comActSocialOrg); return R.ok(); } return R.fail(); } @Override @Transactional(rollbackFor = Exception.class) public R delete(Long id) { ComActSocialOrg comActSocialOrg=comActSocialOrgDao.selectById(id); if(comActSocialOrg!=null){ if(comActSocialOrg.getUserId()!=null){ AdministratorsUserVO administratorsUserVO=new AdministratorsUserVO(); administratorsUserVO.setUserId(comActSocialOrg.getUserId()); administratorsUserVO.setCommunityId(comActSocialOrg.getCommunityId()); userService.deleteUserBackstage(administratorsUserVO); this.comActSocialOrgDao.deleteById(id); return R.ok(); } } return R.fail("用户账号错误"); } }