| | |
| | | |
| | | import cn.hutool.core.util.IdcardUtil; |
| | | import cn.hutool.core.util.PhoneUtil; |
| | | import cn.hutool.http.HttpRequest; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.doumee.biz.system.SystemDictDataBiz; |
| | | import com.doumee.config.DataSyncConfig; |
| | | import com.doumee.config.Jwt.JwtPayLoad; |
| | | import com.doumee.config.Jwt.JwtTokenUtil; |
| | | import com.doumee.core.annotation.excel.ExcelImporter; |
| | | import com.doumee.core.constants.ResponseStatus; |
| | | import com.doumee.core.exception.BusinessException; |
| | |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.context.annotation.Lazy; |
| | | import org.springframework.data.redis.core.RedisTemplate; |
| | | import org.springframework.http.server.reactive.ServerHttpRequest; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.Date; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | |
| | | @Lazy |
| | | private SmsEmailService smsEmailService; |
| | | |
| | | @Autowired |
| | | private SystemLoginService systemLoginService; |
| | | |
| | | @Value("${debug_model}") |
| | | private Boolean isDebug; |
| | | @Override |
| | |
| | | memberRole.setRoleId(deviceRole.getId()); |
| | | memberRoleList.add(memberRole); |
| | | } |
| | | memberRoleMapper.insertBatchSomeColumn(memberRoleList); |
| | | memberRoleMapper.insert(memberRoleList); |
| | | } |
| | | member.setRoleId(ids); |
| | | return 1; |
| | |
| | | if(StringUtils.isNotBlank(member.getName())){ |
| | | queryWrapper.like(Member::getName,member.getName()); |
| | | } |
| | | |
| | | if(Objects.nonNull(member.getCompanyType())){ |
| | | queryWrapper.eq(Company::getType,member.getCompanyType()); |
| | | } |
| | | if(null != member.getType()) { |
| | | queryWrapper.eq(Member::getType,member.getType()); |
| | | } |
| | |
| | | queryWrapper.eq(Member::getCompanyId,member.getCompanyId()); |
| | | } |
| | | queryWrapper.eq(Member::getIsdeleted,Constants.ZERO); |
| | | queryWrapper.eq(Member::getWorkStatus,Constants.ZERO); |
| | | List<Member> list = memberJoinMapper.selectJoinList(Member.class,queryWrapper); |
| | | // if(list!=null){ |
| | | // for(Member m : list){ |
| | |
| | | list.add(model); |
| | | } |
| | | //导入新增的授权信息 |
| | | empowerMapper.insertBatchSomeColumn(list); |
| | | empowerMapper.insert(list); |
| | | } |
| | | } |
| | | } |
| | |
| | | * @return |
| | | */ |
| | | @Override |
| | | public WxAuthorizeVO wxAuthorize(String code){ |
| | | public WxAuthorizeVO wxAuthorize(String code, Integer source){ |
| | | if(StringUtils.isBlank(code)||Objects.isNull(source)){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | String appId = systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_APPID).getCode(); |
| | | String appSecret = systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_SECRET).getCode(); |
| | | String getTokenUrl = WXConstant.GET_USER_INFO_URL.replace("CODE", code) |
| | |
| | | .selectAs(Company::getName,Member::getCompanyName) |
| | | .leftJoin(Company.class,Company::getId,Member::getCompanyId) |
| | | .eq(Member::getOpenid,openId) |
| | | .eq(Member::getType,source) |
| | | .eq(Member::getIsdeleted,Constants.ZERO) |
| | | .orderByDesc(Member::getCreateDate) |
| | | .last(" limit 1 ") |
| | |
| | | String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() + |
| | | systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode(); |
| | | member.setPrefixUrl(prefixUrl); |
| | | // JwtPayLoad payLoad = new JwtPayLoad(Integer.toString(member.getId())); |
| | | // String token = JwtTokenUtil.generateToken(payLoad); |
| | | // //存储token至redis |
| | | // RedisUtil.addObject(redisTemplate,Constants.RedisKeys.INTERNAL_TOKEN+"_"+member.getId(),token,Constants.RedisKeys.EXPIRE_TIME); |
| | | // wxAuthorizeVO.setToken(token); |
| | | wxAuthorizeVO.setMember(member); |
| | | //司机 与 内部人员 提供token |
| | | if(Constants.equalsInteger(source,Constants.ZERO)||Constants.equalsInteger(source,Constants.TWO)){ |
| | | SystemUser systemUser = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda().eq(SystemUser::getMemberId,member.getId()) |
| | | .eq(SystemUser::getStatus,Constants.ZERO).last(" limit 1 ")); |
| | | if(Objects.nonNull(systemUser)){ |
| | | String token = systemLoginService.loginByUserId(systemUser.getId()); |
| | | wxAuthorizeVO.setToken(token); |
| | | } |
| | | } |
| | | } |
| | | return wxAuthorizeVO; |
| | | } |
| | |
| | | |
| | | |
| | | |
| | | @Override |
| | | public WxAuthorizeVO accountLogin(AccountLoginDTO accountLoginDTO){ |
| | | System.out.println(DESUtil.decrypt(Constants.EDS_PWD,"eIaPD5AR5DBuTBE9MW14QRG07IDKXCdh")); |
| | | if(accountLoginDTO.getAccount().length()!=18 |
| | | //&&!IdcardUtil.isValidCard(accountLoginDTO.getAccount()) |
| | | ){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "对不起,身份证号码有误,请核实后重试!"); |
| | | } |
| | | Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda() |
| | | .eq(Member::getIdcardNo, DESUtil.encrypt(Constants.EDS_PWD, accountLoginDTO.getAccount())) |
| | | .ne(Member::getType,Constants.memberType.visitor) |
| | | ); |
| | | if(Objects.isNull(member)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"未查询到用户,请联系管理员"); |
| | | } |
| | | if(member.getIsdeleted() == Constants.ONE){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"用户已删除,请联系管理员"); |
| | | } |
| | | if(member.getStatus() != Constants.ZERO){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"用户已禁用,请联系管理员"); |
| | | } |
| | | String md5Password = DESUtil.encrypt(Constants.EDS_PWD, accountLoginDTO.getPassword()); |
| | | if(!md5Password.equals(member.getPassward())){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"账户密码错误!"); |
| | | } |
| | | if(StringUtils.isNotBlank(accountLoginDTO.getOpenId())){ |
| | | //先清空原有访客的openid绑定关系 |
| | | memberMapper.update(null, new UpdateWrapper<Member>().lambda() |
| | | .ne(Member::getType,Constants.memberType.visitor) |
| | | .eq(Member::getOpenid,accountLoginDTO.getOpenId()) |
| | | .set(Member::getOpenid,null) |
| | | ); |
| | | //更新当前登录用户 openId |
| | | member.setOpenid(accountLoginDTO.getOpenId()); |
| | | memberMapper.updateById(member); |
| | | } |
| | | WxAuthorizeVO wxAuthorizeVO = new WxAuthorizeVO(); |
| | | JwtPayLoad payLoad = new JwtPayLoad(Integer.toString(member.getId())); |
| | | String token = JwtTokenUtil.generateToken(payLoad); |
| | | //存储token至redis |
| | | RedisUtil.addObject(redisTemplate,Constants.RedisKeys.INTERNAL_TOKEN+"_"+member.getId(),token,Constants.RedisKeys.EXPIRE_TIME); |
| | | wxAuthorizeVO.setToken(token); |
| | | return wxAuthorizeVO; |
| | | } |
| | | |
| | | |
| | | |
| | | @Override |
| | |
| | | List<Member> memberList = memberMapper.selectList(new QueryWrapper<Member>().lambda().eq(Member::getIsdeleted,Constants.ZERO)); |
| | | if(CollectionUtils.isNotEmpty(memberList)){ |
| | | stagingHeadVO.setWorkerCount(memberList.stream().filter(m->m.getType().equals(Constants.memberType.internal)).count()); |
| | | stagingHeadVO.setLwCount(memberList.stream().filter(m->m.getType().equals(Constants.memberType.lw_visitor)).count()); |
| | | stagingHeadVO.setLwCount(memberList.stream().filter(m->m.getType().equals(Constants.memberType.driver)).count()); |
| | | stagingHeadVO.setVisitorCount(memberList.stream().filter(m->m.getType().equals(Constants.memberType.visitor)).count()); |
| | | } |
| | | //在场车辆 |
| | |
| | | new MPJLambdaWrapper<Member>() |
| | | .select("count(1) as memberCount, t1.name as companyName") |
| | | .leftJoin(Company.class,Company::getId,Member::getCompanyId) |
| | | .eq(Member::getType,Constants.memberType.lw_visitor) |
| | | .eq(Member::getType,Constants.memberType.driver) |
| | | .groupBy(Company::getId,Company::getName) |
| | | ); |
| | | List<Map<String,Object>> retentionMaps = retentionJoinMapper.selectMaps(new MPJLambdaWrapper<Retention>() |
| | |
| | | throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对不起,员工信息【"+insert.getName()+"】同步安防平台失败,请稍后重试!"); |
| | | } |
| | | } |
| | | memberMapper.insertBatchSomeColumn(newList); |
| | | memberMapper.insert(newList); |
| | | List<SystemUser> userList = new ArrayList<>(); |
| | | for(Member insert: newList){ |
| | | //创建系统登陆账号(默认无任何角色) |
| | |
| | | } |
| | | } |
| | | if(userList.size()>0){ |
| | | systemUserMapper.insertBatchSomeColumn(userList); |
| | | systemUserMapper.insert(userList); |
| | | } |
| | | }catch (Exception e){ |
| | | //如果发生异常,删除已经创建的人员信息 |