| | |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | 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.vos.LoginUserInfoVO; |
| | | import com.panzhihua.common.model.vos.R; |
| | | import com.panzhihua.common.model.vos.partybuilding.ActivityManagerVO; |
| | | import com.panzhihua.common.model.vos.user.ChangePasswordVO; |
| | | import com.panzhihua.common.model.vos.user.ComMngFamilyInfoVO; |
| | | import com.panzhihua.common.model.vos.user.UserPhoneVO; |
| | | import com.panzhihua.service_user.dao.ComMngFamilyInfoDAO; |
| | | import com.panzhihua.service_user.dao.ComMngUserTagDAO; |
| | | import com.panzhihua.service_user.dao.RoleDAO; |
| | | import com.panzhihua.service_user.dao.UserDao; |
| | | import com.panzhihua.service_user.model.dos.ComMngFamilyInfoDO; |
| | | import com.panzhihua.service_user.model.dos.ComMngUserTagDO; |
| | | import com.panzhihua.service_user.model.dos.SysRoleDO; |
| | | import com.panzhihua.service_user.model.dos.SysUserDO; |
| | | import com.panzhihua.service_user.service.UserService; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.data.redis.core.StringRedisTemplate; |
| | | import org.springframework.data.redis.core.ValueOperations; |
| | | import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.ObjectUtils; |
| | | import org.springframework.util.StringUtils; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * @program: springcloud_k8s_panzhihuazhihuishequ |
| | |
| | | private UserDao userDao; |
| | | @Resource |
| | | private RoleDAO roleDAO; |
| | | @Resource |
| | | private ComMngUserTagDAO comMngUserTagDAO; |
| | | @Resource |
| | | private ComMngFamilyInfoDAO comMngFamilyInfoDAO; |
| | | @Resource |
| | | private StringRedisTemplate stringRedisTemplate; |
| | | |
| | | |
| | | /** |
| | | * 小程序微信用户信息更新 |
| | |
| | | sysUserDO1.setOpenid(openid); |
| | | sysUserDO1.setUnionid(unionid); |
| | | sysUserDO1.setSessionKey(sessionKey); |
| | | sysUserDO1.setCreateTime(date); |
| | | sysUserDO1.setCreateAt(date); |
| | | sysUserDO1.setLastLoginTime(date); |
| | | sysUserDO1.setPassword(encode); |
| | | sysUserDO1.setType(1); |
| | |
| | | return R.fail(); |
| | | } |
| | | LoginUserInfoVO loginUserInfoVO=new LoginUserInfoVO(); |
| | | loginUserInfoVO.setUserId(sysUserDO.getUserId()); |
| | | loginUserInfoVO.setName(sysUserDO.getName()); |
| | | loginUserInfoVO.setPassword(sysUserDO.getPassword()); |
| | | loginUserInfoVO.setStatus(sysUserDO.getStatus()); |
| | | loginUserInfoVO.setAccount(sysUserDO.getAccount()); |
| | | loginUserInfoVO.setType(sysUserDO.getType()); |
| | | loginUserInfoVO.setOpenid(sysUserDO.getOpenid()); |
| | | BeanUtils.copyProperties(sysUserDO,loginUserInfoVO); |
| | | List<SysRoleDO> roleDOList=roleDAO.selectByUserId(sysUserDO.getUserId()); |
| | | Set<String> set=new HashSet<>(); |
| | | if (!ObjectUtils.isEmpty(roleDOList)) { |
| | |
| | | public R listActivityManager(String param, Long communityId) { |
| | | LambdaQueryWrapper<SysUserDO> queryWrapper=new LambdaQueryWrapper<>(); |
| | | List<ActivityManagerVO> activityManagerVOS=new ArrayList<>(); |
| | | queryWrapper = new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getCommunityId, communityId).eq(SysUserDO::getStatus, 1); |
| | | queryWrapper = new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getCommunityId, communityId).eq(SysUserDO::getStatus, 1).eq(SysUserDO::getType,3); |
| | | if (!ObjectUtils.isEmpty(param)) { |
| | | queryWrapper = queryWrapper.eq(SysUserDO::getName, param); |
| | | } |
| | |
| | | return R.ok(activityManagerVOS); |
| | | } |
| | | |
| | | /** |
| | | * 分页查询人脸识别 |
| | | * |
| | | * @param loginUserInfoVO 查询参数 |
| | | * @return 分页集合 |
| | | */ |
| | | @Override |
| | | public R pageUserFace(LoginUserInfoVO loginUserInfoVO) { |
| | | Page page = new Page<>(); |
| | | Long pageNum = loginUserInfoVO.getPageNum(); |
| | | Long pageSize = loginUserInfoVO.getPageSize(); |
| | | if (ObjectUtils.isEmpty(pageNum)||0==pageNum) { |
| | | pageNum = 1l; |
| | | } |
| | | if (ObjectUtils.isEmpty(pageSize)||0==pageSize) { |
| | | pageSize = 10l; |
| | | } |
| | | page.setSize(pageSize); |
| | | page.setCurrent(pageNum); |
| | | IPage<LoginUserInfoVO> iPage = userDao.pageUserFace(page, loginUserInfoVO); |
| | | return R.ok(iPage); |
| | | } |
| | | |
| | | /** |
| | | * 编辑人脸采集数据通过、驳回、删除 |
| | | * |
| | | * @param loginUserInfoVO 操作信息 |
| | | * @return 操作结果 |
| | | */ |
| | | @Override |
| | | public R putUserFace(LoginUserInfoVO loginUserInfoVO) { |
| | | int operationType = loginUserInfoVO.getOperationType().intValue(); |
| | | Long userId = loginUserInfoVO.getUserId(); |
| | | SysUserDO sysUserDO=new SysUserDO(); |
| | | sysUserDO.setUserId(userId); |
| | | switch (operationType){ |
| | | case 1: |
| | | sysUserDO.setFaceState(1); |
| | | break; |
| | | case 2: |
| | | sysUserDO.setFaceState(3); |
| | | break; |
| | | case 3: |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | int num=0; |
| | | if (operationType==3) { |
| | | num=userDao.deleteById(userId); |
| | | } else { |
| | | num=userDao.updateById(sysUserDO); |
| | | } |
| | | if (num>0) { |
| | | return R.ok(); |
| | | } |
| | | return R.fail(); |
| | | } |
| | | |
| | | /** |
| | | * 分页查询人口管理 |
| | | * |
| | | * @param loginUserInfoVO 查询参数 |
| | | * @return 分页数据 |
| | | */ |
| | | @Override |
| | | public R pageUser(LoginUserInfoVO loginUserInfoVO) { |
| | | Page page = new Page<>(); |
| | | Long pageNum = loginUserInfoVO.getPageNum(); |
| | | Long pageSize = loginUserInfoVO.getPageSize(); |
| | | if (ObjectUtils.isEmpty(pageNum)||0==pageNum) { |
| | | pageNum = 1l; |
| | | } |
| | | if (ObjectUtils.isEmpty(pageSize)||0==pageSize) { |
| | | pageSize = 10l; |
| | | } |
| | | page.setSize(pageSize); |
| | | page.setCurrent(pageNum); |
| | | IPage<LoginUserInfoVO> iPage = userDao.pageUser(page, loginUserInfoVO); |
| | | return R.ok(iPage); |
| | | } |
| | | |
| | | /** |
| | | * 查询所有人员标签 |
| | | * |
| | | * @return 标签集合 |
| | | */ |
| | | @Override |
| | | public R listTag() { |
| | | List<String> list=new ArrayList<>(); |
| | | List<ComMngUserTagDO> comMngUserTagDOS = comMngUserTagDAO.selectList(null); |
| | | if (!ObjectUtils.isEmpty(comMngUserTagDOS)) { |
| | | list=comMngUserTagDOS.stream().map(comMngUserTagDO -> comMngUserTagDO.getTagName()).collect(Collectors.toList()); |
| | | } |
| | | return R.ok(list); |
| | | } |
| | | |
| | | /** |
| | | * 人员详情 |
| | | * |
| | | * @param userId 用户id |
| | | * @return 人员详情 |
| | | */ |
| | | @Override |
| | | public R detailUser(Long userId) { |
| | | SysUserDO sysUserDO = userDao.selectById(userId); |
| | | if (ObjectUtils.isEmpty(sysUserDO)) { |
| | | return R.fail("人员不存在"); |
| | | } |
| | | LoginUserInfoVO loginUserInfoVO=new LoginUserInfoVO(); |
| | | BeanUtils.copyProperties(sysUserDO,loginUserInfoVO); |
| | | List<ComMngFamilyInfoDO> comMngFamilyInfoDOS = comMngFamilyInfoDAO.selectList(new QueryWrapper<ComMngFamilyInfoDO>().lambda().eq(ComMngFamilyInfoDO::getUserId, userId)); |
| | | if (!ObjectUtils.isEmpty(comMngFamilyInfoDOS)) { |
| | | List<ComMngFamilyInfoVO>comMngFamilyInfoVOS=new ArrayList<>(); |
| | | comMngFamilyInfoDOS.forEach(comMngFamilyInfoDO -> { |
| | | ComMngFamilyInfoVO comMngFamilyInfoVO=new ComMngFamilyInfoVO(); |
| | | BeanUtils.copyProperties(comMngFamilyInfoDO,comMngFamilyInfoVO); |
| | | comMngFamilyInfoVOS.add(comMngFamilyInfoVO); |
| | | }); |
| | | loginUserInfoVO.setComMngFamilyInfoVOS(comMngFamilyInfoVOS); |
| | | } |
| | | return R.ok(loginUserInfoVO); |
| | | } |
| | | |
| | | /** |
| | | * 设置用户标签 |
| | | * |
| | | * @param loginUserInfoVO 标签信息 |
| | | * @return 设置结果 |
| | | */ |
| | | @Override |
| | | public R putUserTag(LoginUserInfoVO loginUserInfoVO) { |
| | | SysUserDO sysUserDO=new SysUserDO(); |
| | | sysUserDO.setUserId(loginUserInfoVO.getUserId()); |
| | | sysUserDO.setTags(loginUserInfoVO.getTags()); |
| | | int update = userDao.updateById(sysUserDO); |
| | | if (update>0) { |
| | | return R.ok(); |
| | | } |
| | | return R.fail(); |
| | | } |
| | | |
| | | /** |
| | | * 修改用户志愿者状态 |
| | | * |
| | | * @param phone 志愿者手机号 |
| | | * @param type |
| | | */ |
| | | @Override |
| | | public R putUserIsVolunteer(String phone, int type) { |
| | | SysUserDO sysUserDO=new SysUserDO(); |
| | | sysUserDO.setIsVolunteer(type); |
| | | int update = userDao.update(sysUserDO, new UpdateWrapper<SysUserDO>().lambda().eq(SysUserDO::getPhone, phone)); |
| | | if (update>0) { |
| | | return R.ok(); |
| | | } |
| | | return R.fail(); |
| | | } |
| | | |
| | | /** |
| | | * 用户绑定社区、小区 |
| | | * |
| | | * @param loginUserInfoVO 社区小区数据 |
| | | * @return 绑定结果 |
| | | */ |
| | | @Override |
| | | public R putUserCommunityArea(LoginUserInfoVO loginUserInfoVO) { |
| | | SysUserDO sysUserDO=new SysUserDO(); |
| | | sysUserDO.setCommunityId(loginUserInfoVO.getCommunityId()); |
| | | sysUserDO.setAreaId(loginUserInfoVO.getAreaId()); |
| | | sysUserDO.setUserId(loginUserInfoVO.getUserId()); |
| | | int update = userDao.updateById(sysUserDO); |
| | | if (update>0) { |
| | | return R.ok(); |
| | | } |
| | | return R.fail(); |
| | | } |
| | | |
| | | /** |
| | | * 用户实名认证 |
| | | * |
| | | * @param loginUserInfoVO 认证数据 |
| | | * @return 认证结果 |
| | | */ |
| | | @Override |
| | | public R putUserAuthentication(LoginUserInfoVO loginUserInfoVO) { |
| | | SysUserDO sysUserDO=new SysUserDO(); |
| | | sysUserDO.setName(loginUserInfoVO.getName()); |
| | | sysUserDO.setIdCard(loginUserInfoVO.getIdCard()); |
| | | sysUserDO.setSex(loginUserInfoVO.getSex()); |
| | | sysUserDO.setBirthday(loginUserInfoVO.getBirthday()); |
| | | sysUserDO.setJob(loginUserInfoVO.getJob()); |
| | | sysUserDO.setUserId(loginUserInfoVO.getUserId()); |
| | | sysUserDO.setFaceUrl(loginUserInfoVO.getFaceUrl()); |
| | | sysUserDO.setFaceState(0); |
| | | int update = userDao.updateById(sysUserDO); |
| | | if (update>0) { |
| | | return R.ok(); |
| | | } |
| | | return R.fail(); |
| | | } |
| | | |
| | | /** |
| | | * 修改用户手机号 |
| | | * |
| | | * @param userPhoneVO 手机号信息 |
| | | * @return 修改结果 |
| | | */ |
| | | @Override |
| | | public R putUserphone(UserPhoneVO userPhoneVO) { |
| | | String oldPhone = userPhoneVO.getOldPhone(); |
| | | String newPhone = userPhoneVO.getNewPhone(); |
| | | String smsCode = userPhoneVO.getSmsCode(); |
| | | if (oldPhone.equals(newPhone)) { |
| | | return R.fail("新旧手机号不能重复"); |
| | | } |
| | | String key = UserConstants.PHONE_PUT + newPhone; |
| | | Boolean hasKey = stringRedisTemplate.hasKey(key); |
| | | if (!hasKey) { |
| | | return R.fail("重新发送验证码"); |
| | | } |
| | | SysUserDO sysUserDO1 = userDao.selectById(userPhoneVO.getUserId()); |
| | | String phone = sysUserDO1.getPhone(); |
| | | if (!StringUtils.isEmpty(phone)&& !phone.equals(oldPhone)) { |
| | | return R.fail("旧手机号错误"); |
| | | } |
| | | ValueOperations<String, String> valueOperations = stringRedisTemplate.opsForValue(); |
| | | String code = valueOperations.get(key); |
| | | if (!code.equals(smsCode)) { |
| | | return R.fail("验证码错误"); |
| | | } |
| | | SysUserDO sysUserDO=new SysUserDO(); |
| | | sysUserDO.setUserId(userPhoneVO.getUserId()); |
| | | sysUserDO.setPhone(newPhone); |
| | | int update = userDao.updateById(sysUserDO); |
| | | if (update>0) { |
| | | return R.ok(); |
| | | } |
| | | return R.fail(); |
| | | } |
| | | |
| | | /** |
| | | * 修改用户信息 |
| | | * |
| | | * @param loginUserInfoVO 修改内容 |
| | | * @return 修改结果 |
| | | */ |
| | | @Override |
| | | public R putUser(LoginUserInfoVO loginUserInfoVO) { |
| | | SysUserDO sysUserDO=new SysUserDO(); |
| | | BeanUtils.copyProperties(loginUserInfoVO,sysUserDO); |
| | | int update = userDao.updateById(sysUserDO); |
| | | if (update>0) { |
| | | return R.ok(); |
| | | } |
| | | return R.fail(); |
| | | } |
| | | |
| | | /** |
| | | * 家庭成员列表 |
| | | * |
| | | * @param userId 登录用户 |
| | | * @return 成员集合 |
| | | */ |
| | | @Override |
| | | public R listFamily(Long userId) { |
| | | List<ComMngFamilyInfoVO>comMngFamilyInfoVOS=new ArrayList<>(); |
| | | List<ComMngFamilyInfoDO> comMngFamilyInfoDOS = comMngFamilyInfoDAO.selectList(new QueryWrapper<ComMngFamilyInfoDO>().lambda().eq(ComMngFamilyInfoDO::getUserId, userId)); |
| | | if (!ObjectUtils.isEmpty(comMngFamilyInfoDOS)) { |
| | | comMngFamilyInfoDOS.forEach(comMngFamilyInfoDO -> { |
| | | ComMngFamilyInfoVO comMngFamilyInfoVO=new ComMngFamilyInfoVO(); |
| | | BeanUtils.copyProperties(comMngFamilyInfoDO,comMngFamilyInfoVO); |
| | | comMngFamilyInfoVOS.add(comMngFamilyInfoVO); |
| | | }); |
| | | } |
| | | return R.ok(comMngFamilyInfoVOS); |
| | | } |
| | | |
| | | /** |
| | | * 新增家庭成员 |
| | | * |
| | | * @param comMngFamilyInfoVO 家庭成员基本信息 |
| | | * @return 增加结果 |
| | | */ |
| | | @Override |
| | | public R addFamily(ComMngFamilyInfoVO comMngFamilyInfoVO) { |
| | | ComMngFamilyInfoDO comMngFamilyInfoDO=new ComMngFamilyInfoDO(); |
| | | BeanUtils.copyProperties(comMngFamilyInfoVO,comMngFamilyInfoDO); |
| | | ComMngFamilyInfoDO comMngFamilyInfoDO1 = comMngFamilyInfoDAO.selectOne(new QueryWrapper<ComMngFamilyInfoDO>().lambda().eq(ComMngFamilyInfoDO::getIdCard, comMngFamilyInfoVO.getIdCard()).eq(ComMngFamilyInfoDO::getUserId, comMngFamilyInfoVO.getUserId())); |
| | | if (!ObjectUtils.isEmpty(comMngFamilyInfoDO1)) { |
| | | return R.fail("家庭成员已经存在"); |
| | | } |
| | | int insert = comMngFamilyInfoDAO.insert(comMngFamilyInfoDO); |
| | | if (insert>0) { |
| | | return R.ok(); |
| | | } |
| | | return R.fail(); |
| | | } |
| | | |
| | | /** |
| | | * 编辑家庭成员 |
| | | * |
| | | * @param comMngFamilyInfoVO 家庭成员信息 |
| | | * @return 编辑结果 |
| | | */ |
| | | @Override |
| | | public R putFamily(ComMngFamilyInfoVO comMngFamilyInfoVO) { |
| | | ComMngFamilyInfoDO comMngFamilyInfoDO=new ComMngFamilyInfoDO(); |
| | | BeanUtils.copyProperties(comMngFamilyInfoVO,comMngFamilyInfoDO); |
| | | int update = comMngFamilyInfoDAO.updateById(comMngFamilyInfoDO); |
| | | if (update>0) { |
| | | return R.ok(); |
| | | } |
| | | return R.fail(); |
| | | } |
| | | |
| | | public static void main(String[] args) { |
| | | String encode = new BCryptPasswordEncoder().encode("123456"); |
| | | System.out.println(encode); |