TRX 1 år sedan
förälder
incheckning
51879c792d

+ 7 - 4
FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/org/IndexController.java

@@ -28,10 +28,7 @@ import org.springframework.data.domain.Pageable;
 import org.springframework.data.web.PageableDefault;
 import org.springframework.http.MediaType;
 import org.springframework.util.Assert;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 
@@ -119,4 +116,10 @@ public class IndexController {
         return indexService.loginOut(param.getToken());
     }
 
+    @Operation(summary = "得到电话号码", description = "得到电话号码")
+    @RequestMapping(value = "/free/getPhoneNum", method = {RequestMethod.GET})
+    public ResultContent getPhoneNum(@RequestParam("code") String code, @RequestParam("iv") String iv) {
+        return indexService.getPhoneNum(code, iv);
+    }
+
 }

+ 32 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/org/IndexService.java

@@ -10,6 +10,8 @@ import com.github.microservice.auth.security.type.AuthType;
 import com.github.microservice.components.data.mongo.mongo.helper.DBHelper;
 import com.github.microservice.core.util.net.IPUtil;
 import com.zhongshu.card.client.model.org.LoginParam;
+import com.zhongshu.card.client.model.wechat.PhoneModel;
+import com.zhongshu.card.client.model.wechat.WechatPhoneNumber;
 import com.zhongshu.card.client.ret.ResultContent;
 import com.zhongshu.card.client.utils.type.LoginFromType;
 import com.zhongshu.card.client.utils.type.OrganizationState;
@@ -20,6 +22,8 @@ import com.zhongshu.card.server.core.domain.org.UserAccount;
 import com.zhongshu.card.server.core.domain.org.UserLoginFailRecord;
 import com.zhongshu.card.server.core.domain.org.UserLoginRecord;
 import com.zhongshu.card.server.core.service.base.RedisService;
+import com.zhongshu.card.server.core.util.CommonUtil;
+import com.zhongshu.card.server.core.util.wx.WechatCUtil;
 import jakarta.servlet.http.HttpServletRequest;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.ObjectUtils;
@@ -30,6 +34,7 @@ import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 import java.util.Date;
+import java.util.Objects;
 
 /**
  * @author TRX
@@ -73,6 +78,9 @@ public class IndexService {
     OrganizationUserDao organizationUserDao;
     private OrganizationDao organizationDao;
 
+    @Autowired
+    WechatCUtil wechatCUtil;
+
     /**
      * 登录--web
      *
@@ -215,4 +223,28 @@ public class IndexService {
         return ResultContent.buildSuccess();
     }
 
+    /**
+     * 得到电话号码
+     *
+     * @param code
+     * @return
+     */
+    public ResultContent<PhoneModel> getPhoneNum(String code, String iv) {
+        try {
+            WechatPhoneNumber phoneNumber = wechatCUtil.getPhoneNumber(code);
+            String phone = "";
+            if (Objects.nonNull(phoneNumber) && Objects.nonNull(phoneNumber.getPurePhoneNumber())) {
+                phone = phoneNumber.getPurePhoneNumber();
+            }
+            if (StringUtils.isNotEmpty(phone)) {
+                //保存到redis
+                redisService.setValueSecond(CommonUtil.getIvKey(phone, iv), iv, 600);
+                return ResultContent.buildSuccess(PhoneModel.builder().phone(phone).build());
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return ResultContent.buildFail("网络异常,请稍后再试");
+    }
+
 }