| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496 |
- package com.uas.eis.serviceImpl;
- import com.netease.qiye.qiyeopenplatform.common.constant.ResultEnum;
- import com.netease.qiye.qiyeopenplatform.common.dto.open.account.AccountResp;
- import com.netease.qiye.qiyeopenplatform.common.dto.open.mailbox.MailBoxUnreadMsgResp;
- import com.netease.qiye.qiyeopenplatform.common.dto.open.unit.UnitAccountResp;
- import com.netease.qiye.qiyeopenplatform.sdk.QiyeOpenPlatSDK;
- import com.netease.qiye.qiyeopenplatform.sdk.dto.Q;
- import com.netease.qiye.qiyeopenplatform.sdk.dto.R;
- import com.netease.qiye.qiyeopenplatform.sdk.util.CommonUtils;
- import com.uas.eis.core.config.NetEasyConfig;
- import com.uas.eis.dao.BaseDao;
- import com.uas.eis.dto.CreateUnitResp;
- import com.uas.eis.dto.GetUnitListDTO;
- import com.uas.eis.dto.UpdateEmpReq;
- import com.uas.eis.entity.Employee;
- import com.uas.eis.entity.HrOrg;
- import com.uas.eis.sdk.NetEasySDK;
- import com.uas.eis.utils.JacksonUtil;
- import com.uas.eis.utils.PinyinUtils;
- import com.uas.eis.utils.StringUtil;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.context.annotation.Lazy;
- import org.springframework.stereotype.Service;
- import org.springframework.util.StringUtils;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Map;
- import java.util.Optional;
- @Service
- public class NetEasyService {
- @Autowired
- @Lazy
- private NetEasySDK netEasySDK;
- @Autowired
- private NetEasyConfig netEasyConfig;
- @Autowired
- private UasSyncService uasSyncService;
- @Autowired
- private BaseDao baseDao;
- private final Logger logger = LoggerFactory.getLogger(getClass());
- /**
- * 单点登录
- * */
- public String ssoLogin(String accountName){
- QiyeOpenPlatSDK instanceSDK = netEasySDK.getSDKInstance();
- Q q = Q.init(null)
- .addParam("domain", netEasyConfig.getDomain())
- .addParam("accountName", accountName)
- .addParam("pass_2fa", 1)
- .addHeader("qiye-sso-auth-token", netEasySDK.getSsoAuthToken());
- R<Map> mapR = instanceSDK.commonInvoke(q, "/api/sso/ssoSign");
- if (!mapR.getCode().equals(ResultEnum.SUCCESS.getCode())) {
- throw new RuntimeException("调用单点登录异常," + mapR.getCode() + ":" + mapR.getMessage());
- }
- String ssoSign = (String) mapR.getData().get("sign");
- String endpoint = (String) mapR.getData().get("endpoint");
- String lang = "0";
- return endpoint + "?sso_token=" + ssoSign + "&lang=" + lang+"&module=mbox.ListModule%7C%7B%22fid%22%3A1%2C%22order%22%3A%22date%22%2C%22desc%22%3Atrue%7D";
- }
- /**
- * 同步人员资料
- * */
- public void syncEmployee(){
- List<Employee> employeeList = uasSyncService.getNetEasyUserList();
- for (Employee employee : employeeList) {
- if(StringUtil.hasText(employee.getEm_neteasyid())) {
- if(!"离职".equals(employee.getEm_class())) {
- updateNetEasyEmployee(employee);
- if(employee.getEm_neteasystatus() == 0) {
- recoverNetEasyEmployee(employee);
- }
- }else {
- if(employee.getEm_neteasystatus()==-1) {
- disableNetEasyEmployee(employee);
- }
- }
- }else{
- if(employee.getEm_isneteasy() != null && employee.getEm_isneteasy() == -1){
- //开通账号
- createNetEasyEmployee(employee);
- }
- }
- }
- }
- /**
- * 创建账号信息
- * */
- public void createNetEasyEmployee(Employee employee){
- logger.info("创建邮箱账号:{}",employee.toString());
- /* AccountResp getAccountResp = getNetEasyEmployee(employee);
- if(getAccountResp != null){
- if (getAccountResp.getStatus() == 0){
- //账号正常
- baseDao.updateByCondition("employee","em_neteasyid='"+getAccountResp.getAccountName()+"'","em_code='"+employee.getEm_code()+"'");
- logger.info("账号已存在,更新人员信息:{}",employee.toString());
- return;
- }else if(getAccountResp.getStatus() == 1){
- //账号禁用恢复账号
- employee.setEm_neteasyid(getAccountResp.getAccountName());
- recoverNetEasyEmployee(employee);
- baseDao.updateByCondition("employee","em_neteasyid='"+getAccountResp.getAccountName()+"'","em_code='"+employee.getEm_code()+"'");
- return;
- }
- }*/
- QiyeOpenPlatSDK instanceSDK = netEasySDK.getSDKInstance();
- String initAccount = getNetEasyID(employee);
- Q q = Q.init(null)
- .addParam("domain", netEasyConfig.getDomain())
- .addParam("accountName", initAccount)
- .addParam("name", employee.getEm_name())
- .addParam("job", employee.getEm_position())
- .addParam("jobNumber", employee.getEm_code())
- .addParam("unitId", employee.getOrneteasyid());
- String initPWD = employee.getEm_password();
- if(! StringUtil.hasText(initPWD) || initPWD.length() <8 || ! hasThreeCharacterTypes(initPWD)){
- //初始密码拼音+系统账号+SI
- initPWD = initAccount+employee.getEm_code()+"SI";
- q.addParam("password", initAccount+employee.getEm_code()+"SI");
- }else{
- q.addParam("password", initPWD);
- }
- if(StringUtil.hasText(employee.getEm_mobile())){
- q.addParam("mobile", employee.getEm_mobile());
- }
- R r = instanceSDK.commonInvoke(q, "/api/open/account/createAccount");
- if(StringUtil.hasText(employee.getEm_name())){}
- if(ResultEnum.SUCCESS.getCode() == r.getCode()){
- AccountResp accountResp = (AccountResp) r.getDataBean(AccountResp.class);
- baseDao.updateByCondition("employee","em_neteasystatus=-1,em_neteasyid='"+accountResp.getAccountName()+"'","em_code='"+employee.getEm_code()+"'");
- baseDao.execute("insert into UAPPROVALMSG(ID_,TYPE_,TITLE_,MSG_,EMS_) " +
- "select UAPPROVALMSG_SEQ.NEXTVAL,'TEXT','邮箱开通提醒','"+employee.getEm_name()+" 您的企业邮箱账号已创建\n" +
- "账号:"+initAccount+"@sisemi.com.cn\n" +
- "初始密码:"+initPWD+"\n" +
- "登录地址:https://mail.sisemi.com.cn/\n" +
- "您也可以通过UAS系统首页-->右上角 网易邮箱 进行SSO免密登录。',em_qywx" +
- " from employee where em_code='"+employee.getEm_code()+"' and em_qywx is not null");
- logger.info("创建账号成功,账号名称:{}",employee.getEm_name());
- }else {
- logger.info("创建账号失败,账号名称:{},错误信息:{}",employee.getEm_name(),r.getMessage());
- }
- }
- /**
- * 更新账号信息
- * */
- public void updateNetEasyEmployee(Employee employee){
- QiyeOpenPlatSDK instanceSDK = netEasySDK.getSDKInstance();
- Q q1 = Q.init(null)
- .addParam("domain", netEasyConfig.getDomain())
- .addParam("jobNumber", employee.getEm_code())
- .addParam("accountName", employee.getEm_neteasyid());
- if (StringUtils.hasText(employee.getEm_position())){
- q1.addParam("job", employee.getEm_position());
- }
- if (StringUtils.hasText(employee.getEm_name())){
- q1.addParam("name", employee.getEm_name());
- }
- if (StringUtils.hasText(employee.getOrneteasyid())){
- q1.addParam("unitId", employee.getOrneteasyid());
- }
- /* if(StringUtil.hasText(employee.getEm_mobile())){
- q1.addParam("mobile", employee.getEm_mobile());
- }*/
- R r2 = instanceSDK.commonInvoke(q1, "/api/open/account/updateAccount");
- if(ResultEnum.SUCCESS.getCode() == r2.getCode()){
- logger.info("更新账号信息成功,账号信息:{}",employee.toString());
- }else {
- logger.info("更新账号信息失败,账号名称:{},错误信息:{}",employee.toString(),r2.getMessage());
- }
- }
- /**
- * 禁用账号信息
- * */
- public void disableNetEasyEmployee(Employee employee){
- QiyeOpenPlatSDK instanceSDK = netEasySDK.getSDKInstance();
- Q q1 = Q.init(null)
- .addParam("domain", netEasyConfig.getDomain())
- .addParam("accountName", employee.getEm_neteasyid());
- R r2 = instanceSDK.commonInvoke(q1, "/api/open/account/suspendAccount");
- if(ResultEnum.SUCCESS.getCode() == r2.getCode()){
- //禁用邮箱不更新ID
- baseDao.updateByCondition("employee","em_neteasystatus=0","em_code='"+employee.getEm_code()+"'");
- logger.info("禁用账号成功,账号信息:{}",employee.toString());
- }else {
- logger.info("禁用账号失败,账号名称:{},错误信息:{}",employee.toString(),r2.getMessage());
- }
- }
- /**
- * 恢复账号
- * */
- public void recoverNetEasyEmployee(Employee employee){
- QiyeOpenPlatSDK instanceSDK = netEasySDK.getSDKInstance();
- Q q1 = Q.init(null)
- .addParam("domain", netEasyConfig.getDomain())
- .addParam("accountName", employee.getEm_neteasyid());
- R r2 = instanceSDK.commonInvoke(q1, "/api/open/account/recoverAccount");
- if(ResultEnum.SUCCESS.getCode() == r2.getCode()){
- baseDao.updateByCondition("employee","em_neteasystatus=-1","em_code='"+employee.getEm_code()+"'");
- logger.info("恢复账号成功,账号信息:{}",employee.toString());
- }else {
- logger.info("恢复账号失败,账号名称:{},错误信息:{}",employee.toString(),r2.getMessage());
- }
- }
- /**
- * 获取邮箱账号
- * */
- public AccountResp getNetEasyEmployee(Employee employee) {
- QiyeOpenPlatSDK instanceSDK = netEasySDK.getSDKInstance();
- Q q1 = Q.init(null)
- .addParam("domain", netEasyConfig.getDomain())
- .addParam("accountName", PinyinUtils.getCustomPinyin(employee.getEm_name()));
- R r2 = instanceSDK.commonInvoke(q1, "/api/open/account/getAccount");
- if(ResultEnum.SUCCESS.getCode() == r2.getCode()){
- AccountResp accountResp = (AccountResp) r2.getDataBean(AccountResp.class);
- logger.info("查询账号成功,账号信息:{}",employee.toString());
- return accountResp;
- }else {
- logger.info("查询账号失败,账号名称:{},错误信息:{}",employee.toString(),r2.getMessage());
- return null;
- }
- }
- /**
- * 获取账号列表
- * */
- public void getNetEasyUserList(Integer pageNum, List<AccountResp> userList){
- logger.info("getNetEasyUserList page:{}",pageNum);
- QiyeOpenPlatSDK instanceSDK = netEasySDK.getSDKInstance();
- Q q = Q.init(null).addParam("domain", netEasyConfig.getDomain())
- .addParam("pageSize", 50)
- .addParam("pageNum", pageNum);
- R r = instanceSDK.commonInvoke(q, "/api/open/unit/getAccountList");
- if(ResultEnum.SUCCESS.getCode() == r.getCode()){
- UnitAccountResp unitAccountResp = (UnitAccountResp) r.getDataBean(UnitAccountResp.class);
- userList.addAll(unitAccountResp.getList());
- if (unitAccountResp.getCount() > unitAccountResp.getPageNum()*50){
- getNetEasyUserList(pageNum+1, userList);
- }
- }
- }
- /*
- 初始化人员资料
- */
- public void initEmployee(){
- List<AccountResp> userList = new ArrayList<AccountResp>();
- getNetEasyUserList(1, userList);
- List<Employee> employeeList = uasSyncService.getNetEasyUserList();
- for (AccountResp accountResp : userList) {
- if (accountResp.getName().contains("曾泽华") || accountResp.getName().contains("师盼博")) {
- logger.info("账号信息:{}",accountResp.toString());
- }
- //Optional<Employee> employeeOptional = employeeList.stream().filter(employee -> employee.getEm_name().equals(accountResp.getName())).findFirst();
- //employeeOptional.ifPresent(employee -> baseDao.updateByCondition("employee", "em_neteasyid='" + accountResp.getAccountName() + "'", "em_code='" + employee.getEm_code() + "'"));
- }
- /* List<Employee> employeeList = uasSyncService.getNetEasyUserList();
- for (Employee employee : employeeList) {
- if( StringUtil.hasText(employee.getEm_neteasyid())) {
- updateNetEasyEmployee(employee);
- }else{
- if(StringUtil.hasText(employee.getEm_emptype())&&
- (employee.getEm_emptype().startsWith("管理序列") || "技术序列".equals(employee.getEm_emptype())
- || "营销序列".equals(employee.getEm_emptype()) || "职能序列".equals(employee.getEm_emptype()))){
- //开通账号
- createNetEasyEmployee(employee);
- }
- }
- }*/
- }
- /**
- * 组织资料同步
- * */
- public void syncNetEasyOrg(){
- QiyeOpenPlatSDK instanceSDK = netEasySDK.getSDKInstance();
- Q q = Q.init(null)
- .addParam("domain", netEasyConfig.getDomain());
- R r1 = instanceSDK.commonInvoke(q, "/api/open/unit/getUnitList");
- List<HrOrg> orgList = uasSyncService.getADOrgList();
- List<GetUnitListDTO> unitList = null;
- if(ResultEnum.SUCCESS.getCode() == r1.getCode()){
- logger.info("获取组织列表成功");
- List<Map<String, Object>> dataList = (List<Map<String, Object>>) r1.getData();
- String jsonArrayStr = JacksonUtil.toJsonArray(dataList);
- unitList = CommonUtils.parseArray(jsonArrayStr, GetUnitListDTO.class);
- for (HrOrg org : orgList) {
- Optional<GetUnitListDTO> unitOptional = unitList.stream().filter(unit -> unit.getUnitName().equals(org.getOr_name()) || unit.getUnitId().equals(org.getOr_neteasyid())).findFirst();
- if(!StringUtils.hasText(org.getOr_neteasyid()) && "已审核".equals(org.getOr_status()) ){
- //邮箱组织ID为空,判断是否需要创建组织
- if(unitOptional.isPresent()){
- logger.info("更新组织id为空,组织编号:{},组织名称:{}",org.getOr_code(),org.getOr_name());
- baseDao.updateByCondition("HRORG","OR_NETEASYID='"+unitOptional.get().getUnitId()+"'","OR_CODE='"+org.getOr_code()+"'");
- }else {
- logger.info("创建组织组织id为空,组织编号:{},组织名称:{},父组织:{}",org.getOr_code(),org.getOr_name(),org.getParentnetEasyId());
- createNetEasyOrg(org, StringUtil.hasText(org.getParentnetEasyId()) ? org.getParentnetEasyId() : null );
- }
- }else if(StringUtils.hasText(org.getOr_neteasyid())){
- if(unitOptional.isPresent()){
- //邮箱组织ID不为空,且邮箱服务器存在对应的组织
- if ("已禁用".equals(org.getOr_status())){
- //删除组织
- logger.info("删除组织,组织id:{},组织编号:{},组织名称:{}",org.getOr_neteasyid(),org.getOr_code(),org.getOr_name());
- deleteNetEasyOrg(org);
- }else if(!"已禁用".equals(org.getOr_status()) && !unitOptional.get().getUnitName().equals(org.getOr_name())){
- //更新组织
- logger.info("更新组织名称,组织id:{},组织编号:{},组织名称:{}",org.getOr_neteasyid(),org.getOr_code(),org.getOr_name());
- updateNetEasyOrg(org);
- }
- } else {
- //邮箱组织ID不为空,但网易邮箱不存在如后台删除等,需要重新创建组织
- if("已审核".equals(org.getOr_status())){
- logger.info("重新创建组织,组织id不为空,组织编号:{},组织名称:{}",org.getOr_code(),org.getOr_name());
- createNetEasyOrg(org, StringUtil.hasText(org.getParentnetEasyId()) ? org.getParentnetEasyId() : null );
- }
- }
- }
- }
- //整体再刷新一次层级,防止一次性新增多层级组织
- refreshNetEasyOrg();
- }
- }
- /*
- * init初始化
- * */
- public void initNetEasyOrg() {
- QiyeOpenPlatSDK instanceSDK = netEasySDK.getSDKInstance();
- Q q = Q.init(null)
- .addParam("domain", netEasyConfig.getDomain());
- R r1 = instanceSDK.commonInvoke(q, "/api/open/unit/getUnitList");
- List<HrOrg> orgList = uasSyncService.getADOrgList();
- if(ResultEnum.SUCCESS.getCode() == r1.getCode()){
- List<Map<String, Object>> dataList = (List<Map<String, Object>>) r1.getData();
- String jsonArrayStr = JacksonUtil.toJsonArray(dataList);
- List<GetUnitListDTO> unitList = CommonUtils.parseArray(jsonArrayStr, GetUnitListDTO.class);
- for (GetUnitListDTO unit : unitList) {
- Optional<HrOrg> orgOptional = orgList.stream().filter(org -> org.getOr_name().equals(unit.getUnitName())).findFirst();
- if(orgOptional.isPresent()){
- baseDao.updateByCondition("HRORG","OR_NETEASYID='"+unit.getUnitId()+"'","OR_CODE='"+orgOptional.get().getOr_code()+"'");
- }
- }
- }
- for (HrOrg org : orgList) {
- if(org.getOr_neteasyid() == null && "已审核".equals(org.getOr_status())){
- createNetEasyOrg(org, null);
- }
- }
- refreshNetEasyOrg();
- }
- /**
- * 刷新组织层级
- * */
- public void refreshNetEasyOrg() {
- logger.info("刷新组织层级");
- QiyeOpenPlatSDK instanceSDK = netEasySDK.getSDKInstance();
- Q q = Q.init(null)
- .addParam("domain", netEasyConfig.getDomain());
- R r1 = instanceSDK.commonInvoke(q, "/api/open/unit/getUnitList");
- List<HrOrg> orgList = uasSyncService.getADOrgList();
- List<GetUnitListDTO> unitList = null;
- if(ResultEnum.SUCCESS.getCode() == r1.getCode()){
- List<Map<String, Object>> dataList = (List<Map<String, Object>>) r1.getData();
- String jsonArrayStr = JacksonUtil.toJsonArray(dataList);
- unitList = CommonUtils.parseArray(jsonArrayStr, GetUnitListDTO.class);
- }
- if (unitList != null){
- for (HrOrg org : orgList) {
- Optional<GetUnitListDTO> unitOptional = unitList.stream().filter(unit -> unit.getUnitId().equals(org.getOr_neteasyid())).findFirst();
- if(unitOptional.isPresent()){
- if(StringUtil.hasText(org.getParentnetEasyId()) && !org.getParentnetEasyId().equals(unitOptional.get().getUnitParentId())){
- logger.info("组织{}的父组织id错误,正确父组织id:{},错误父组织id:{}",org.getOr_name(),unitOptional.get().getUnitParentId(),org.getParentnetEasyId());
- moveNetEasyOrg(org,org.getParentnetEasyId());
- }
- }
- }
- }
- }
- /**
- * 创建组织
- * */
- public String createNetEasyOrg(HrOrg org,String parentId){
- QiyeOpenPlatSDK instanceSDK = netEasySDK.getSDKInstance();
- Q q1 = Q.init(null)
- .addParam("domain", netEasyConfig.getDomain())
- .addParam("unitName", org.getOr_name());
- if (parentId != null){
- q1.addParam("parentId", parentId);
- }
- R r2 = instanceSDK.commonInvoke(q1, "/api/open/unit/createUnit");
- if(ResultEnum.SUCCESS.getCode() == r2.getCode()){
- CreateUnitResp createUnitResp = (CreateUnitResp) r2.getDataBean(CreateUnitResp.class);
- baseDao.updateByCondition("HRORG","OR_NETEASYID='"+createUnitResp.getUnitId()+"'","OR_CODE='"+org.getOr_code()+"'");
- logger.info("创建组织成功,组织id:{},组织编号:{},组织名称:{} ,父级组织:{}",createUnitResp.getUnitId(),org.getOr_code(),org.getOr_name() ,parentId);
- return createUnitResp.getUnitId();
- }else {
- return null;
- }
- }
- /**
- * 删除组织
- * */
- public void deleteNetEasyOrg(HrOrg org){
- QiyeOpenPlatSDK instanceSDK = netEasySDK.getSDKInstance();
- Q q1 = Q.init(null)
- .addParam("domain", netEasyConfig.getDomain())
- .addParam("unitId", org.getOr_neteasyid());
- R r2 = instanceSDK.commonInvoke(q1, "/api/open/unit/deleteUnit");
- if(ResultEnum.SUCCESS.getCode() == r2.getCode()){
- baseDao.updateByCondition("HRORG","OR_NETEASYID=null","OR_CODE='"+org.getOr_code()+"'");
- logger.info("删除组织成功,组织id:{},组织编号:{},组织名称:{}",org.getOr_neteasyid(),org.getOr_code(),org.getOr_name());
- }else {
- logger.info("删除组织失败,组织id:{},组织编号:{},组织名称:{}",org.getOr_neteasyid(),org.getOr_code(),org.getOr_name());
- }
- }
- /**
- *更新组织名称
- * */
- public void updateNetEasyOrg(HrOrg org ){
- QiyeOpenPlatSDK instanceSDK = netEasySDK.getSDKInstance();
- Q q1 = Q.init(null)
- .addParam("domain", netEasyConfig.getDomain())
- .addParam("unitId", org.getOr_neteasyid())
- .addParam("unitName", org.getOr_name());
- R r2 = instanceSDK.commonInvoke(q1, "/api/open/unit/updateUnit");
- if(ResultEnum.SUCCESS.getCode() == r2.getCode()){
- logger.info("更新组织成功,组织id:{},组织编号:{},组织名称:{}",org.getOr_neteasyid(),org.getOr_code(),org.getOr_name());
- }
- }
- /**
- * 移动组织
- * */
- public void moveNetEasyOrg(HrOrg org ,String parentId){
- QiyeOpenPlatSDK instanceSDK = netEasySDK.getSDKInstance();
- Q q1 = Q.init(null)
- .addParam("domain", netEasyConfig.getDomain())
- .addParam("unitId", org.getOr_neteasyid())
- .addParam("unitParentId", parentId);
- R r2 = instanceSDK.commonInvoke(q1, "/api/open/unit/moveUnit");
- if(ResultEnum.SUCCESS.getCode() == r2.getCode()){
- logger.info("移动组织成功,组织id:{},父组织id:{}",org.getOr_neteasyid(),parentId);
- }
- }
- /**
- * 待办邮件
- * */
- public Number getUnreadMsg(String accountName){
- QiyeOpenPlatSDK instanceSDK = netEasySDK.getSDKInstance();
- Q q1 = Q.init(null)
- .addParam("domain", netEasyConfig.getDomain())
- .addParam("accountName", accountName)
- .addParam("fid",1)
- .addParam("needAll",0)
- .addParam("countByFolder",0);
- R r2 = instanceSDK.commonInvoke(q1, "/api/open/mailbox/getUnreadMsg");
- if(ResultEnum.SUCCESS.getCode() == r2.getCode()){
- MailBoxUnreadMsgResp getUnreadMsgResp = (MailBoxUnreadMsgResp) r2.getDataBean(MailBoxUnreadMsgResp.class);
- return getUnreadMsgResp.getCount();
- }
- return 0;
- }
- public boolean hasThreeCharacterTypes(String password) {
- int typeCount = 0;
- // 检查是否包含大写字母
- if (password.matches(".*[A-Z].*")) typeCount++;
- // 检查是否包含小写字母
- if (password.matches(".*[a-z].*")) typeCount++;
- // 检查是否包含数字
- if (password.matches(".*[0-9].*")) typeCount++;
- // 检查是否包含特殊符号(非字母数字)
- if (password.matches(".*[^A-Za-z0-9].*")) typeCount++;
- return typeCount >= 3;
- }
- public String getNetEasyID(Employee employee) {
- Object accountid= baseDao.getFieldDataByCondition("dual","get_4a_id('"+employee.getEm_code()+"','"+PinyinUtils.getCustomPinyin(employee.getEm_name())+"','NETEASY')","1=1");
- return String.valueOf(accountid);
- }
- }
|