jiangping
2025-01-06 93fc01349aa48a086c71123a2317765a925c0897
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -19,9 +19,9 @@
import com.doumee.core.haikang.model.param.respose.UserAddResponse;
import com.doumee.core.haikang.model.param.respose.UserDelResponse;
import com.doumee.core.haikang.service.HKService;
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.service.business.third.model.LoginUserInfo;
import com.doumee.service.business.third.model.PageData;
import com.doumee.service.business.third.model.PageWrap;
import com.doumee.core.utils.*;
import com.doumee.core.wx.WXConstant;
import com.doumee.dao.admin.request.LaborEmpowerDTO;
@@ -31,11 +31,13 @@
import com.doumee.dao.admin.response.StagingDataVO;
import com.doumee.dao.business.*;
import com.doumee.dao.business.dao.CompanyMapper;
import com.doumee.dao.business.dao.MemberMapper;
import com.doumee.dao.business.dto.RegisterDriverDTO;
import com.doumee.dao.business.join.MemberJoinMapper;
import com.doumee.dao.business.join.RetentionJoinMapper;
import com.doumee.dao.business.join.UserActionJoinMapper;
import com.doumee.dao.business.model.*;
import com.doumee.dao.business.model.Member;
import com.doumee.dao.system.SystemUserMapper;
import com.doumee.dao.system.model.SystemDictData;
import com.doumee.dao.system.model.SystemUser;
@@ -153,6 +155,10 @@
            }else{
                throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对不起,员工信息同步安防平台失败,请稍后重试!");
            }
        }catch (BusinessException e){
            //如果发生异常,删除已经创建的人员信息
            deleteHkUserBiz(new String[]{insert.getHkId()});
            throw  e;
        }catch (Exception e){
            //如果发生异常,删除已经创建的人员信息
            e.printStackTrace();
@@ -243,7 +249,7 @@
     * @return
     */
    private boolean dealHkUserBiz(Member insert) {
        String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
        String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_LOCAL_RESOURCE_PATH).getCode()
                +systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
        UserAddRequest hkAddRequest = HkSyncOrgUserToHKServiceImpl.getUserAddModel(insert,path,Constants.ZERO);
        if(hkAddRequest == null){
@@ -266,7 +272,7 @@
        return false;
    }
    private boolean dealHkUserForUpdateBiz(Member update ) {
        String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
        String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_LOCAL_RESOURCE_PATH).getCode()
                +systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
        UserAddRequest hkAddRequest = HkSyncOrgUserToHKServiceImpl.getUserAddModel(update,path,Constants.ONE);
@@ -418,7 +424,6 @@
                        .ne(Member::getId,member.getId())) >0){
                    throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "身份证号【"+member.getIdcardNoNew()+"】已被使用,不能重复");
                }
                member.setSex(Constants.getSexByCardNo( member.getIdcardNoNew()));//根据身份证号获取性别
                member.setIdcardDecode( Constants.getTuominStr(member.getIdcardNoNew()));
                member.setIdcardNo(encrptNo);
@@ -970,7 +975,7 @@
        wrapper.lambda().ne(Member::getRemark,"人脸已同步最新");
        List<Member> list =memberMapper.selectList(wrapper);
       if(list!=null){
           String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
           String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_LOCAL_RESOURCE_PATH).getCode()
                   +systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
           for(Member m : list){
             String faceId=  HkSyncOrgUserToHKServiceImpl.dealMemberFace(m,path);
@@ -1709,13 +1714,15 @@
        String appSecret = systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_SECRET).getCode();
        String getTokenUrl = WXConstant.GET_USER_INFO_URL.replace("CODE", code)
                .replace("APPID", appId).replace("SECRET", appSecret);
//        JSONObject tokenJson = JSONObject.parseObject(HttpsUtil.get(getTokenUrl,true));
        String openId = code;
//        if(!Objects.isNull(tokenJson.get("access_token"))){
//            openId = tokenJson.getString("openid");
//        }
//        String openId = "12345";
        JSONObject tokenJson = JSONObject.parseObject(HttpsUtil.get(getTokenUrl,true));
        String openId = "";
        if(Objects.nonNull(tokenJson)&&!Objects.isNull(tokenJson.get("access_token"))){
            openId = tokenJson.getString("openid");
        }
        WxAuthorizeVO wxAuthorizeVO = new WxAuthorizeVO();
        if(StringUtils.isBlank(openId)){
            return wxAuthorizeVO;
        }
        wxAuthorizeVO.setOpenid(openId);
        if(source==1){
            //根据openId 查询用户信息
@@ -1758,12 +1765,12 @@
            //如果是司机或者内部人员,则从system_user查询
            SystemUser user = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda()
                    .eq(SystemUser::getOpenid,openId)
                    .eq(SystemUser::getType,source)
                    .eq(Objects.nonNull(source)&&Constants.equalsInteger(source,Constants.TWO),SystemUser::getType,source)
                    .eq(SystemUser::getDeleted,Boolean.FALSE)
                    .last(" limit 1 "));
            //非访客用户 进行判断是否存在用户
            if(!Objects.isNull(user)){
                Member member = memberMapper.selectById(user.getId());
                Member member = memberMapper.selectById(user.getMemberId());
                if(member.getIsdeleted() == Constants.ONE){
                    throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"用户已删除,请联系管理员");
                }
@@ -2092,6 +2099,7 @@
        }
        if(memberMapper.selectCount(new QueryWrapper<Member>().lambda()
                .eq(Member::getIsdeleted,Constants.ZERO)
                .ne(Member::getType,Constants.memberType.visitor)
                .eq(Member::getPhone,registerDriverDTO.getPhone())
        )>Constants.ZERO){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"手机号已注册!");
@@ -2102,14 +2110,13 @@
        )>Constants.ZERO){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"手机号已注册!");
        };
        smsEmailService.validateCode(registerDriverDTO.getValidCode(),registerDriverDTO.getPhone());
        String salt = RandomStringUtils.randomAlphabetic(6);
       ;
        Member member = new Member();
        member.setCreateDate(new Date());
        member.setIsdeleted(Constants.ZERO);
        member.setType(Constants.THREE);
        member.setType(Constants.memberType.driver);
        member.setName(registerDriverDTO.getName());
        member.setPhone(registerDriverDTO.getPhone());
        member.setStatus(Constants.ZERO);
@@ -2127,6 +2134,7 @@
        systemUser.setSalt(salt);
        systemUser.setPassword(member.getPassward());
        systemUser.setStatus(Constants.ZERO);
        systemUser.setType(Constants.memberType.driver);
        systemUser.setSource(Constants.TWO);
        systemUserMapper.insert(systemUser);