From f131c141bafa2a060050fa85799fb9d1eb617b69 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期二, 09 九月 2025 18:05:00 +0800 Subject: [PATCH] 小程序接口 --- ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/WxLoginController.java | 62 ++++++++++++++----------------- 1 files changed, 28 insertions(+), 34 deletions(-) diff --git a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/WxLoginController.java b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/WxLoginController.java index faf080c..28a4da5 100644 --- a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/WxLoginController.java +++ b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/WxLoginController.java @@ -2,22 +2,21 @@ import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; - import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.constant.Constants; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.R; - import com.ruoyi.common.core.domain.entity.SysRole; -import com.ruoyi.common.core.domain.entity.TTenantResp; +import com.ruoyi.common.core.domain.entity.TSysUserResp; import com.ruoyi.common.core.domain.model.LoginBody; import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.core.domain.model.LoginUserApplet; import com.ruoyi.common.core.utils.HttpUtils; import com.ruoyi.common.redis.service.RedisService; -import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.framework.web.service.SysLoginService; import com.ruoyi.framework.web.service.TokenService; +import com.ruoyi.system.model.TSysAppUser; +import com.ruoyi.system.service.TSysAppUserService; import com.ruoyi.system.utils.wx.body.resp.Code2SessionRespBody; import com.ruoyi.system.utils.wx.body.resq.Code2SessionResqBody; import com.ruoyi.system.utils.wx.model.WeixinProperties; @@ -27,6 +26,7 @@ import com.ruoyi.system.utils.wx.tools.WxUtils; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; @@ -57,13 +57,8 @@ private RestTemplate wxRestTemplate; @Resource private RedisService redisService; - - /** - * 上传文件存储在本地的根路径 - */ -// @Value("${file.upload.location}") -// private String localFilePath; - + @Resource + private TSysAppUserService sysAppUserService; @Resource private TokenService tokenService; @Autowired @@ -111,30 +106,29 @@ AppletUserDecodeData appletUserDecodeData = WxUtils.encryptedData(data.getEncryptedData(), sessionKey, data.getIv()); appletUserDecodeData.setOpenId(openid); // 先使用openId和当前手机号进行查询 -// TTenant tenant = tTenantService.getOne(Wrappers.lambdaQuery(TTenant.class) -// .and(e->e.eq(TTenant::getOpenId, appletUserDecodeData.getOpenId()).or() -// .eq(TTenant::getPhone, appletUserDecodeData.getPhoneNumber()))); -// if (tenant==null){ -//// appUser.setTenantAttributes(); -//// appUser.setTenantType(); -// tenant = new TTenant(); -// tenant.setPhone(appletUserDecodeData.getPhoneNumber()); -// tenant.setAccount(appletUserDecodeData.getPhoneNumber()); -// tenant.setPassword(SecurityUtils.encryptPassword(appletUserDecodeData.getPhoneNumber().substring(5))); -// tenant.setOpenId(appletUserDecodeData.getOpenId()); -// // 手机号中间四位替换为* -// tenant.setResidentName(appletUserDecodeData.getPhoneNumber().replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2")); -// tTenantService.save(tenant); -// } -// LoginUserApplet loginUserApplet = new LoginUserApplet(); -// TTenantResp tTenantResp = new TTenantResp(); -// BeanUtils.copyProperties(tenant, tTenantResp); -// tTenantResp.setResidentName(appletUserDecodeData.getPhoneNumber()); -// loginUserApplet.setUser(tTenantResp); -// loginUserApplet.setUserId(tenant.getId()); + TSysAppUser sysAppUser = sysAppUserService.getOne(Wrappers.lambdaQuery(TSysAppUser.class) + .and(e->e.eq(TSysAppUser::getOpenId, appletUserDecodeData.getOpenId()).or() + .eq(TSysAppUser::getPhone, appletUserDecodeData.getPhoneNumber()))); + if (sysAppUser==null){ +// appUser.setTenantAttributes(); +// appUser.setTenantType(); + sysAppUser = new TSysAppUser(); + sysAppUser.setPhone(appletUserDecodeData.getPhoneNumber()); +// sysAppUser.setAccount(appletUserDecodeData.getPhoneNumber()); +// sysAppUser.setPassword(SecurityUtils.encryptPassword(appletUserDecodeData.getPhoneNumber().substring(5))); + sysAppUser.setOpenId(appletUserDecodeData.getOpenId()); + // 手机号中间四位替换为* + sysAppUser.setNickName(appletUserDecodeData.getPhoneNumber().replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2")); + sysAppUserService.save(sysAppUser); + } + LoginUserApplet loginUserApplet = new LoginUserApplet(); + TSysUserResp sysUserResp = new TSysUserResp(); + BeanUtils.copyProperties(sysAppUser, sysUserResp); + loginUserApplet.setUser(sysUserResp); + loginUserApplet.setUserId(sysAppUser.getId()); Map<String, Object> tokenInfos = new HashMap<>(); -// tokenInfos.put("token",tokenService.createTokenApplet(loginUserApplet)); -// tokenInfos.put("info",loginUserApplet); + tokenInfos.put("token",tokenService.createTokenApplet(loginUserApplet)); + tokenInfos.put("info",loginUserApplet); return R.ok(tokenInfos); } -- Gitblit v1.7.1