| | |
| | | package com.panzhihua.sangeshenbian.service.impl; |
| | | |
| | | import cn.hutool.core.bean.BeanUtil; |
| | | import cn.hutool.core.date.DateUtil; |
| | | import cn.hutool.core.collection.CollUtil; |
| | | import cn.hutool.core.date.DateUtil; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import cn.idev.excel.EasyExcel; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import cn.idev.excel.FastExcel; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.panzhihua.common.exceptions.ServiceException; |
| | | import com.panzhihua.common.model.vos.LoginUserInfoVO; |
| | | import com.panzhihua.common.exceptions.ServiceException; |
| | | import com.panzhihua.common.model.vos.sangeshenbian.SystemUserVo; |
| | | import com.panzhihua.common.redis.RedisUtils; |
| | | import com.panzhihua.sangeshenbian.dao.PartyMemberMapper; |
| | | import com.panzhihua.sangeshenbian.enums.AuditStatusEnum; |
| | | import com.panzhihua.sangeshenbian.enums.FreezeStatusEnum; |
| | | import com.panzhihua.sangeshenbian.enums.ReportTypeEnum; |
| | | import com.panzhihua.sangeshenbian.enums.AuditStatusEnum; |
| | | import com.panzhihua.sangeshenbian.model.entity.BcRegion; |
| | | import com.panzhihua.sangeshenbian.model.entity.ComAct; |
| | | import com.panzhihua.sangeshenbian.model.entity.ComStreet; |
| | | import com.panzhihua.sangeshenbian.model.entity.PartyMember; |
| | | import com.panzhihua.sangeshenbian.model.entity.SystemUser; |
| | | import com.panzhihua.sangeshenbian.model.entity.*; |
| | | import com.panzhihua.sangeshenbian.model.excel.PartyMemberExcel; |
| | | import com.panzhihua.sangeshenbian.warpper.PartyMemberImportFailedVO; |
| | | import com.panzhihua.sangeshenbian.model.excel.PartyMemberTemplate; |
| | | import com.panzhihua.sangeshenbian.service.IBcRegionService; |
| | | import com.panzhihua.sangeshenbian.service.IComActService; |
| | | import com.panzhihua.sangeshenbian.service.IComStreetService; |
| | | import com.panzhihua.sangeshenbian.service.IPartyMemberService; |
| | | import com.panzhihua.sangeshenbian.service.ISystemUserService; |
| | | import com.panzhihua.sangeshenbian.warpper.PartyMemberApplicationRequest; |
| | | import com.panzhihua.sangeshenbian.warpper.PartyMemberDTO; |
| | | import com.panzhihua.sangeshenbian.warpper.PartyMemberQuery; |
| | | import com.panzhihua.sangeshenbian.warpper.PendingPartyMemberApplicationVO; |
| | | import com.panzhihua.sangeshenbian.service.*; |
| | | import com.panzhihua.sangeshenbian.warpper.*; |
| | | import lombok.RequiredArgsConstructor; |
| | | import org.springframework.context.annotation.Lazy; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.IOException; |
| | | import java.net.URLEncoder; |
| | | import java.util.ArrayList; |
| | | import java.util.Collections; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.Optional; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | private final IBcRegionService bcRegionService; |
| | | private final IComStreetService comStreetService; |
| | | private final IComActService comActService; |
| | | private final RedisUtils redisUtils; |
| | | private final ISystemUserLevelService systemUserLevelService; |
| | | /** |
| | | * 党员分页查询列表 |
| | | * |
| | |
| | | */ |
| | | @Override |
| | | public Page<PartyMember> pageList(PartyMemberQuery query, SystemUserVo loginUserInfo) { |
| | | SystemUser user = systemUserService.getById(loginUserInfo.getId()); |
| | | if (Objects.isNull(user)){ |
| | | throw new ServiceException("用户不存在"); |
| | | } |
| | | loginUserInfo.setAccountLevel(user.getAccountLevel()); |
| | | loginUserInfo.setDistrictsCode(user.getDistrictsCode()); |
| | | loginUserInfo.setStreetId(user.getStreetId()); |
| | | loginUserInfo.setCommunityId(user.getCommunityId()); |
| | | return baseMapper.pageList(new Page<>(query.getPageNum(), query.getPageSize()),query,loginUserInfo); |
| | | // 判断当前登录用户是否有权限查看这个社区的党员 |
| | | // if(loginUserInfo.getAccountLevel()==1){ |
| | | // // 是市级权限 全查 |
| | | // return baseMapper.pageList(new Page<>(query.getPageNum(), query.getPageSize()),query,loginUserInfo); |
| | | // } |
| | | // if(loginUserInfo.getAccountLevel()==2){ |
| | | // // 是区县权限 |
| | | // // 判断当前登录用户是否有权限查看这个社区的党员 |
| | | // LambdaQueryWrapper<PartyMember> queryWrapper = new LambdaQueryWrapper<>(); |
| | | // queryWrapper.eq(PartyMember::getDistrictsCode,loginUserInfo.getDistrictsCode()); |
| | | // if(StrUtil.isNotBlank(query.getName())){ |
| | | // queryWrapper.like(PartyMember::getName,query.getName()); |
| | | // } |
| | | // if(StrUtil.isNotBlank(query.getIdNumber())){} |
| | | // } |
| | | // return null; |
| | | |
| | | |
| | | } |
| | | /** |
| | | * 添加党员 |
| | |
| | | partyMember.setSource(1); |
| | | save(partyMember); |
| | | } else { |
| | | partyMember.setIsConfirm(0); |
| | | partyMember.setUpdateBy(Long.parseLong(loginUserInfo.getId().toString())); |
| | | updateById(partyMember); |
| | | } |
| | |
| | | * @param loginUserInfo |
| | | */ |
| | | @Override |
| | | public void freeze(Long id, SystemUserVo loginUserInfo) { |
| | | public PartyMember freeze(Long id, SystemUserVo loginUserInfo) { |
| | | PartyMember partyMember = getById(id); |
| | | partyMember.setFreezeStatus(partyMember.getFreezeStatus() == 1 ? 0 : 1); |
| | | partyMember.setUpdateBy(Long.parseLong(loginUserInfo.getId().toString())); |
| | | updateById(partyMember); |
| | | return partyMember; |
| | | } |
| | | |
| | | @Override |
| | |
| | | */ |
| | | @Override |
| | | public void export(PartyMemberQuery query, SystemUserVo loginUserInfo) throws IOException { |
| | | List<PartyMember> list = baseMapper.queryList(query,loginUserInfo); |
| | | SystemUser user = systemUserService.getById(loginUserInfo.getId()); |
| | | if (Objects.isNull(user)){ |
| | | throw new ServiceException("用户不存在"); |
| | | } |
| | | loginUserInfo.setAccountLevel(user.getAccountLevel()); |
| | | loginUserInfo.setDistrictsCode(user.getDistrictsCode()); |
| | | loginUserInfo.setStreetId(user.getStreetId()); |
| | | loginUserInfo.setCommunityId(user.getCommunityId()); |
| | | List<PartyMember> list = baseMapper.queryList(query,loginUserInfo); |
| | | List<PartyMemberExcel> partyMemberExcels = BeanUtil.copyToList(list, PartyMemberExcel.class); |
| | | response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); |
| | | response.setCharacterEncoding("utf-8"); |
| | |
| | | // 验证社区是否存在且属于该街道 |
| | | // 实际代码应该是调用相应的Service查询社区信息 |
| | | ComAct comAct = comActService.getCommunityByNameAndStreet(communityName, comStreet.getStreetId()); |
| | | streetId = comStreet.getStreetId(); |
| | | communityId = comAct.getCommunityId(); |
| | | if (Objects.isNull(comAct)) { |
| | | isValid = false; |
| | | errorMsg.append("社区不存在或不属于所选街道; "); |
| | | } else { |
| | | streetId = comStreet.getStreetId(); |
| | | communityId = comAct.getCommunityId(); |
| | | } |
| | | } |
| | | } |
| | |
| | | //导入党员默认审核通过 |
| | | partyMember.setAuditStatus(AuditStatusEnum.APPROVED.getCode()); |
| | | partyMember.setSource(1);//管理后台录入 |
| | | //默认头像 TODO 默认头像 |
| | | partyMember.setAvatar(""); |
| | | //默认头像 |
| | | partyMember.setAvatar("https://www.psciio.com//idcard/f15c91f940624ed59537ecced1059f18.jpg"); |
| | | // 根据身份证号设置性别 |
| | | if (StrUtil.isNotBlank(template.getIdNumber())) { |
| | | partyMember.setGender(getGender(template.getIdNumber())); |
| | |
| | | * @param loginUserInfo |
| | | */ |
| | | @Override |
| | | public void audit(PartyMemberDTO dto, SystemUserVo loginUserInfo) { |
| | | public PartyMember audit(PartyMemberDTO dto, SystemUserVo loginUserInfo) { |
| | | PartyMember partyMember = BeanUtil.copyProperties(dto, PartyMember.class); |
| | | partyMember.setUpdateBy(Long.parseLong(loginUserInfo.getId().toString())); |
| | | updateById(partyMember); |
| | | return this.getById(dto.getId()); |
| | | } |
| | | |
| | | @Override |
| | |
| | | .eq(SystemUser::getPhone, loginUserInfo.getPhone()) |
| | | .eq(SystemUser::getIsAdmin, 1) |
| | | .ne(SystemUser::getStatus, 3) |
| | | .ne(SystemUser::getAccountLevel, 5) |
| | | .last("LIMIT 1")); |
| | | |
| | | |
| | | |
| | | if (adminUser == null){ |
| | | throw new ServiceException("无权审核"); |
| | | } |
| | | |
| | | Integer identity = (Integer) redisUtils.get("identity:" + loginUserInfo.getPhone()); |
| | | if(identity != null && identity != 2){ |
| | | throw new ServiceException("请切换至管理员身份"); |
| | | } |
| | | |
| | | int accountLevel = adminUser.getAccountLevel(); |
| | |
| | | streetId = adminUser.getStreetId(); |
| | | } else if (accountLevel == ReportTypeEnum.DISTRICT.getCode()) { |
| | | districtsCode = adminUser.getDistrictsCode(); |
| | | } else if(accountLevel != ReportTypeEnum.PARTY.getCode()){ |
| | | } else if(accountLevel != ReportTypeEnum.CITY.getCode()){ |
| | | throw new ServiceException("无权审核:未知等级"); |
| | | } |
| | | String phone = loginUserInfo.getPhone(); |