| | |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.utils.Utils; |
| | | import com.doumee.core.utils.qiyeweixin.QywxUtil; |
| | | import com.doumee.core.utils.qiyeweixin.model.response.QywxDepartInfoResponse; |
| | | import com.doumee.core.utils.qiyeweixin.model.response.QywxUserAttrInfoResponse; |
| | | import com.doumee.core.utils.qiyeweixin.model.response.QywxUserExtAttrResponse; |
| | | import com.doumee.core.utils.qiyeweixin.model.response.QywxUserListResponse; |
| | | import com.doumee.core.utils.qiyeweixin.model.response.*; |
| | | import com.doumee.dao.business.CompanyMapper; |
| | | import com.doumee.dao.business.CompanyMemberMapper; |
| | | import com.doumee.dao.business.MemberMapper; |
| | |
| | | import com.doumee.dao.business.model.CompanyMember; |
| | | import com.doumee.dao.business.model.Member; |
| | | import com.doumee.dao.system.model.SystemUser; |
| | | import com.doumee.dao.web.dto.LoginH5DTO; |
| | | import com.doumee.dao.web.dto.UpdEmailDTO; |
| | | import com.doumee.service.business.MemberService; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | | * 人员信息表Service实现 |
| | |
| | | return null; |
| | | } |
| | | |
| | | @Override |
| | | public Member getUserInfo(LoginH5DTO dto){ |
| | | if(Objects.isNull(dto)|| |
| | | StringUtils.isBlank(dto.getCode())){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | String token = systemDictDataBiz.queryByCode(Constants.QYWX,Constants.QYWX_TOKEN).getCode(); |
| | | //根据code换区企业微信ID |
| | | QywxBaseResponse<String> qwIdBaseResponse= QywxUtil.getUserInfoByCode(token,dto.getCode()); |
| | | if(Objects.isNull(qwIdBaseResponse)||Objects.isNull(qwIdBaseResponse.getErrcode())){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"企业微信登录码解析失败,请联系管理员"); |
| | | } |
| | | if(Constants.equalsInteger(qwIdBaseResponse.getErrcode(),Constants.ZERO)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"企业微信登录失败:"+qwIdBaseResponse.getErrmsg()); |
| | | } |
| | | if(Objects.isNull(qwIdBaseResponse.getData())){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"企业微信用户信息解析失败,请联系管理员"); |
| | | } |
| | | String qwId = qwIdBaseResponse.getData(); |
| | | Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda().eq(Member::getQwId,qwId).eq(Member::getIsdeleted,Constants.ZERO).last(" limit 1 ")); |
| | | if(Objects.isNull(member)){ |
| | | //根据企业微信ID 查询用户信息 |
| | | QywxUserInfoResponse qywxUserInfoResponse = QywxUtil.getUserInfo(token,qwId); |
| | | if(Objects.isNull(qywxUserInfoResponse)||Objects.isNull(qywxUserInfoResponse.getErrcode())){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"企业微信获取用户信息解析失败,请联系管理员"); |
| | | } |
| | | if(Constants.equalsInteger(qywxUserInfoResponse.getErrcode(),Constants.ZERO)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"企业微信获取用户信息失败:"+qwIdBaseResponse.getErrmsg()); |
| | | } |
| | | member = new Member(); |
| | | member.setCreateDate(new Date()); |
| | | member.setStatus(Constants.ZERO); |
| | | member.setIsdeleted(Constants.ZERO); |
| | | member.setName(StringUtils.isNotBlank(qywxUserInfoResponse.getName())?qywxUserInfoResponse.getName():null); |
| | | member.setImgurl(StringUtils.isNotBlank(qywxUserInfoResponse.getAvatar())?qywxUserInfoResponse.getAvatar():null); |
| | | member.setPhone(StringUtils.isNotBlank(qywxUserInfoResponse.getMobile())?qywxUserInfoResponse.getMobile():null); |
| | | member.setQwId(qwId); |
| | | memberMapper.insert(member); |
| | | } |
| | | return member; |
| | | } |
| | | |
| | | |
| | | |
| | | @Override |
| | | public void updEmail(UpdEmailDTO updEmailDTO){ |
| | | if(Objects.isNull(updEmailDTO) |
| | | || StringUtils.isBlank(updEmailDTO.getEmail()) |
| | | || Objects.isNull(updEmailDTO.getUserId())){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | Member member = memberMapper.selectById(updEmailDTO.getUserId()); |
| | | if(Objects.isNull(member)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"用户信息异常"); |
| | | } |
| | | memberMapper.update(null,new UpdateWrapper<Member>().lambda().set(Member::getEmail,updEmailDTO.getEmail()).eq(Member::getId,member.getId())); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Member checkUserValid(Member member){ |
| | | if(Objects.isNull(member)||Objects.isNull(member.getId())){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到有效用户信息"); |
| | | } |
| | | Member dbMember = memberMapper.selectById(member.getId()); |
| | | if(Objects.isNull(dbMember)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"当前登录用户已注销"); |
| | | } |
| | | if(!Constants.equalsInteger(dbMember.getIsdeleted(),Constants.ZERO)||!Constants.equalsInteger(dbMember.getStatus(),Constants.ZERO)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"当前登录用户已禁用"); |
| | | } |
| | | return dbMember; |
| | | } |
| | | |
| | | |
| | | |
| | | } |