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<ComActSocialOrgDao, ComActSocialOrg> 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("用户账号错误");
|
}
|
}
|