From a974220288653b4ae4f645305465e6a54e69ec66 Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Thu, 18 Jan 2024 17:38:12 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=89=8B=E6=9C=BA=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biz/lpkcustomer/LpkCustomerMapper.java | 2 + .../biz/lpkcustomer/LpkCustomerMapper.xml | 4 ++ .../biz/lpkcustomer/LpkCustomerRest.java | 6 +++ .../biz/lpkcustomer/LpkCustomerService.java | 48 ++++++++++++++++++- .../yxt/yythmall/config/SaTokenConfigure.java | 1 + 5 files changed, 59 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/yxt/yythmall/biz/lpkcustomer/LpkCustomerMapper.java b/src/main/java/com/yxt/yythmall/biz/lpkcustomer/LpkCustomerMapper.java index 69dc41f..8d4a573 100644 --- a/src/main/java/com/yxt/yythmall/biz/lpkcustomer/LpkCustomerMapper.java +++ b/src/main/java/com/yxt/yythmall/biz/lpkcustomer/LpkCustomerMapper.java @@ -27,4 +27,6 @@ public interface LpkCustomerMapper extends BaseMapper { List getCustomer(@Param("wxMpOpenid") String wxMpOpenid); CustomerInfoVo getCustomerInfos(String userSid); + + LpkCustomer selectOwn(); } diff --git a/src/main/java/com/yxt/yythmall/biz/lpkcustomer/LpkCustomerMapper.xml b/src/main/java/com/yxt/yythmall/biz/lpkcustomer/LpkCustomerMapper.xml index e5295cd..3e23607 100644 --- a/src/main/java/com/yxt/yythmall/biz/lpkcustomer/LpkCustomerMapper.xml +++ b/src/main/java/com/yxt/yythmall/biz/lpkcustomer/LpkCustomerMapper.xml @@ -24,4 +24,8 @@ from lpk_customer where sid = #{userSid} + + \ No newline at end of file diff --git a/src/main/java/com/yxt/yythmall/biz/lpkcustomer/LpkCustomerRest.java b/src/main/java/com/yxt/yythmall/biz/lpkcustomer/LpkCustomerRest.java index 50aa333..6c7585e 100644 --- a/src/main/java/com/yxt/yythmall/biz/lpkcustomer/LpkCustomerRest.java +++ b/src/main/java/com/yxt/yythmall/biz/lpkcustomer/LpkCustomerRest.java @@ -75,4 +75,10 @@ public class LpkCustomerRest { return lpkCustomerService.getCustomerInfos(userSid); } + @ApiOperation("获取客户个人信息") + @PostMapping("/getPhoneNumber") + ResultBean getPhoneNumber(@RequestParam("code")String code,@RequestParam("userSid")String userSid){ + return lpkCustomerService.getPhoneNumber(code,userSid); + } + } diff --git a/src/main/java/com/yxt/yythmall/biz/lpkcustomer/LpkCustomerService.java b/src/main/java/com/yxt/yythmall/biz/lpkcustomer/LpkCustomerService.java index 3a0b5de..1d1c92c 100644 --- a/src/main/java/com/yxt/yythmall/biz/lpkcustomer/LpkCustomerService.java +++ b/src/main/java/com/yxt/yythmall/biz/lpkcustomer/LpkCustomerService.java @@ -2,6 +2,8 @@ package com.yxt.yythmall.biz.lpkcustomer; import cn.dev33.satoken.stp.SaTokenInfo; import cn.dev33.satoken.stp.StpUtil; +import cn.hutool.http.HttpUtil; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -14,6 +16,7 @@ import com.yxt.common.core.result.FileUploadResult; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; import com.yxt.yythmall.api.lpkcustomer.*; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.ResponseEntity; @@ -30,6 +33,7 @@ import java.util.*; * @date 2023/11/21 15:03 */ @Service +@Slf4j public class LpkCustomerService extends MybatisBaseService { @Autowired @@ -98,7 +102,8 @@ public class LpkCustomerService extends MybatisBaseService getPhoneNumber(String code,String userSid) { + ResultBean rb = ResultBean.fireFail(); + try { + String objectStr = HttpUtil.post(String.format("https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token=%s",getAccessToken()), "{\"code\":\""+code+"\"}"); + log.info(objectStr); + JSONObject jsonObject = JSON.parseObject(objectStr); + String errCode = jsonObject.getString("errcode"); + if(StringUtils.isNotBlank(errCode)){ + return rb.setMsg("微信code值失效"); + } + jsonObject= jsonObject.getJSONObject("phone_info"); + String phone = jsonObject.getString("phoneNumber"); + LpkCustomer lpkCustomer = fetchBySid(userSid); + if(lpkCustomer == null){ + return rb.setMsg("该客户不存在"); + } + lpkCustomer.setMobile(phone); + baseMapper.updateById(lpkCustomer); + return rb.success().setData(phone); + }catch (Exception e){ + e.printStackTrace(); + log.error("微信code解析异常", e.getMessage()); + } + return null; + } + + public String getAccessToken() { + try { + String objectStr = HttpUtil.get(String.format("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s", APP_ID,SECRET)); + log.info(objectStr); + JSONObject jsonObject = JSON.parseObject(objectStr); + return jsonObject.getString("access_token"); + } catch (Exception e) { + e.printStackTrace(); + log.error("微信code解析异常", e.getMessage()); + } + return null; + } } diff --git a/src/main/java/com/yxt/yythmall/config/SaTokenConfigure.java b/src/main/java/com/yxt/yythmall/config/SaTokenConfigure.java index 7c3951b..2649148 100644 --- a/src/main/java/com/yxt/yythmall/config/SaTokenConfigure.java +++ b/src/main/java/com/yxt/yythmall/config/SaTokenConfigure.java @@ -77,6 +77,7 @@ public class SaTokenConfigure implements WebMvcConfigurer { .excludePathPatterns("/lpkcustomer/modifyUserNickName") .excludePathPatterns("/lpkcustomer/modifyHeadImage") .excludePathPatterns("/upload/**") + .excludePathPatterns("/lpkcustomer/getPhoneNumber") ; } }