From 67e8a1c12ccb42b82704d989c71607d0cbe33356 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期一, 06 一月 2025 11:45:00 +0800
Subject: [PATCH] 最新版本541200007

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java |  174 +++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 111 insertions(+), 63 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index 3698711..0f64ff0 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -19,6 +19,7 @@
 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.service.business.third.TmsService;
 import com.doumee.service.business.third.model.LoginUserInfo;
 import com.doumee.service.business.third.model.PageData;
 import com.doumee.service.business.third.model.PageWrap;
@@ -49,6 +50,8 @@
 import com.doumee.service.business.SmsEmailService;
 import com.doumee.service.business.impl.hksync.HkSyncEmpowerServiceImpl;
 import com.doumee.service.business.impl.hksync.ferp.HkSyncOrgUserToHKServiceImpl;
+import com.doumee.service.business.third.model.request.TmsEmployeeListRequest;
+import com.doumee.service.business.third.model.response.TmsEmployeeListResponse;
 import com.doumee.service.system.SystemLoginService;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import org.apache.commons.collections.CollectionUtils;
@@ -118,6 +121,8 @@
 
     @Autowired
     private VisitsMapper visitsMapper;
+    @Autowired
+    private TmsService tmsService;
     @Autowired
     private SystemUserMapper systemUserMapper;
 
@@ -1725,76 +1730,119 @@
         }
         wxAuthorizeVO.setOpenid(openId);
         if(source==1){
-            //鏍规嵁openId 鏌ヨ鐢ㄦ埛淇℃伅
-            Member member = memberJoinMapper.selectJoinOne(Member.class,new MPJLambdaWrapper<Member>()
-                    .selectAll(Member.class)
-                    .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 ")
-            );
-            //闈炶瀹㈢敤鎴� 杩涜鍒ゆ柇鏄惁瀛樺湪鐢ㄦ埛
-            if(!Objects.isNull(member)){
-                if(member.getIsdeleted() == Constants.ONE){
-                    throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛宸插垹闄�,璇疯仈绯荤鐞嗗憳");
-                }
-                if(member.getStatus() != Constants.ZERO){
-                    throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛宸茬鐢�,璇疯仈绯荤鐞嗗憳");
-                }
-                if(StringUtils.isNotBlank(member.getIdcardNo())){
-                    member.setIdcardDecode(DESUtil.decrypt(Constants.EDS_PWD, member.getIdcardNo()));
-                }
-                String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() +
-                        systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
-                member.setPrefixUrl(prefixUrl);
-                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);
-                    }
-                }
-            }
+            //澶勭悊鏅�氳瀹汉鍛樿嚜鍔ㄦ巿鏉冮�昏緫
+            dealVisitUserAuthBiz(wxAuthorizeVO,openId,source);
+        }else if(source == 3){
+            //澶勭悊tms绠℃帶浜哄憳鑷姩鎺堟潈閫昏緫
+            dealGkUserAuthBiz(wxAuthorizeVO,openId,source);
         }else{
             //濡傛灉鏄徃鏈烘垨鑰呭唴閮ㄤ汉鍛橈紝鍒欎粠system_user鏌ヨ
-            SystemUser user = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda()
-                    .eq(SystemUser::getOpenid,openId)
-                    .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.getMemberId());
-                if(member.getIsdeleted() == Constants.ONE){
-                    throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛宸插垹闄�,璇疯仈绯荤鐞嗗憳");
-                }
-                if(member.getStatus() != Constants.ZERO){
-                    throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛宸茬鐢�,璇疯仈绯荤鐞嗗憳");
-                }
-                if(StringUtils.isNotBlank(member.getIdcardNo())){
-                    member.setIdcardDecode(DESUtil.decrypt(Constants.EDS_PWD, member.getIdcardNo()));
-                }
-                String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() +
-                        systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
-                member.setPrefixUrl(prefixUrl);
-                wxAuthorizeVO.setMember(member);
-                //鍙告満 涓� 鍐呴儴浜哄憳 鎻愪緵token
-                String token = systemLoginService.loginByUserId(user.getId());
-                wxAuthorizeVO.setToken(token);
-            }
+            dealSystemUserAuthBiz(wxAuthorizeVO,openId,source);
         }
-
-
         return wxAuthorizeVO;
     }
 
+    private void dealSystemUserAuthBiz(WxAuthorizeVO wxAuthorizeVO, String openId, Integer source) {
+        SystemUser user = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda()
+                .eq(SystemUser::getOpenid,openId)
+                .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.getMemberId());
+            if(member.getIsdeleted() == Constants.ONE){
+                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛宸插垹闄�,璇疯仈绯荤鐞嗗憳");
+            }
+            if(member.getStatus() != Constants.ZERO){
+                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛宸茬鐢�,璇疯仈绯荤鐞嗗憳");
+            }
+            if(StringUtils.isNotBlank(member.getIdcardNo())){
+                member.setIdcardDecode(DESUtil.decrypt(Constants.EDS_PWD, member.getIdcardNo()));
+            }
+            String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() +
+                    systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
+            member.setPrefixUrl(prefixUrl);
+            wxAuthorizeVO.setMember(member);
+            //鍙告満 涓� 鍐呴儴浜哄憳 鎻愪緵token
+            String token = systemLoginService.loginByUserId(user.getId());
+            wxAuthorizeVO.setToken(token);
+        }
+    }
 
+    private void dealGkUserAuthBiz(WxAuthorizeVO wxAuthorizeVO, String openId, Integer source) {
+        //濡傛灉鏄徃鏈烘垨鑰呭唴閮ㄤ汉鍛橈紝鍒欎粠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)){
+            TmsEmployeeListRequest tp = new TmsEmployeeListRequest();
+            tp.setTel(user.getMobile());
+            TmsEmployeeListResponse response = tmsService.getEmployeeList(tp);
+            if(response == null || response.getTel()==null){
+                throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ヨ处鎴蜂汉鍛樹俊鎭笉姝g‘锛屽鏈夌枒闂鑱旂郴绯荤粺绠$悊鍛樻煡鐪嬶紒");
+            }
+            Member member = memberMapper.selectById(user.getMemberId());
+            if(member.getIsdeleted() == Constants.ONE){
+                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛宸插垹闄�,璇疯仈绯荤鐞嗗憳");
+            }
+            if(member.getStatus() != Constants.ZERO){
+                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛宸茬鐢�,璇疯仈绯荤鐞嗗憳");
+            }
+            if(StringUtils.isNotBlank(member.getIdcardNo())){
+                member.setIdcardDecode(DESUtil.decrypt(Constants.EDS_PWD, member.getIdcardNo()));
+            }
+            String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() +
+                    systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
+            member.setPrefixUrl(prefixUrl);
+            wxAuthorizeVO.setMember(member);
+            //鍙告満 涓� 鍐呴儴浜哄憳 鎻愪緵token
+            String token = systemLoginService.loginByUserId(user.getId());
+            wxAuthorizeVO.setToken(token);
+        }
+    }
+
+    private void dealVisitUserAuthBiz(WxAuthorizeVO wxAuthorizeVO, String openId,Integer source) {
+        Member member = memberJoinMapper.selectJoinOne(Member.class,new MPJLambdaWrapper<Member>()
+                .selectAll(Member.class)
+                .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 ")
+        );
+        //闈炶瀹㈢敤鎴� 杩涜鍒ゆ柇鏄惁瀛樺湪鐢ㄦ埛
+        if(!Objects.isNull(member)){
+            if(member.getIsdeleted() == Constants.ONE){
+                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛宸插垹闄�,璇疯仈绯荤鐞嗗憳");
+            }
+            if(member.getStatus() != Constants.ZERO){
+                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛宸茬鐢�,璇疯仈绯荤鐞嗗憳");
+            }
+            if(StringUtils.isNotBlank(member.getIdcardNo())){
+                member.setIdcardDecode(DESUtil.decrypt(Constants.EDS_PWD, member.getIdcardNo()));
+            }
+            String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() +
+                    systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
+            member.setPrefixUrl(prefixUrl);
+            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);
+                }
+            }
+        }
+    }
 
 
     @Override

--
Gitblit v1.9.3