From 84bbba033152044328b73794a5ba3fbe27ffda7b Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期五, 06 十二月 2024 18:26:00 +0800
Subject: [PATCH] 代码初始化

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java |  116 ++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 76 insertions(+), 40 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 a2446bb..b0b5852 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
@@ -1697,6 +1697,7 @@
     /**
      * 寰俊鎺堟潈鎺ュ彛
      * @param code
+     * 鏉ユ簮:0=鍙告満锛�1=璁垮锛�2=鍐呴儴鍛樺伐
      * @return
      */
     @Override
@@ -1708,50 +1709,83 @@
         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();
         wxAuthorizeVO.setOpenid(openId);
-        //鏍规嵁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);
+        if(StringUtils.isBlank(openId)){
+            return wxAuthorizeVO;
+        }
+        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);
+                    }
                 }
             }
+        }else{
+            //濡傛灉鏄徃鏈烘垨鑰呭唴閮ㄤ汉鍛橈紝鍒欎粠system_user鏌ヨ
+            SystemUser user = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda()
+                    .eq(SystemUser::getOpenid,openId)
+                    .eq(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);
+            }
         }
+
+
         return wxAuthorizeVO;
     }
 
@@ -2060,6 +2094,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(),"鎵嬫満鍙峰凡娉ㄥ唽!");
@@ -2077,7 +2112,7 @@
         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);
@@ -2095,6 +2130,7 @@
         systemUser.setSalt(salt);
         systemUser.setPassword(member.getPassward());
         systemUser.setStatus(Constants.ZERO);
+        systemUser.setType(Constants.memberType.driver);
         systemUser.setSource(Constants.TWO);
         systemUserMapper.insert(systemUser);
 

--
Gitblit v1.9.3