Pu Zhibing
2024-11-29 2ccdf86ac2599562ca994bc4047ded2d925e8bae
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java
@@ -7,8 +7,8 @@
import com.ruoyi.account.service.AppUserService;
import com.ruoyi.account.util.weChat.WeChatUtil;
import com.ruoyi.account.vo.*;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.web.page.BaseTable;
import com.ruoyi.common.redis.service.RedisService;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.system.api.model.LoginUser;
@@ -48,12 +48,12 @@
    * @return
    */
   @Override
   public AjaxResult appletLogin(AppletLogin appletLogin) {
   public R appletLogin(AppletLogin appletLogin) {
      //使用jscode获取微信openid
      Map<String, Object> map = weChatUtil.code2Session(appletLogin.getJscode());
      Integer errcode = Integer.valueOf(map.get("errcode").toString());
      if(0 != errcode){
         return AjaxResult.error(map.get("msg").toString());
         return R.fail(map.get("msg").toString());
      }
      String openid = map.get("openid").toString();
      //查询用户是否注册,没有注册则跳转到注册页面
@@ -61,11 +61,11 @@
      if(null == appUser){
         LoginVo loginVo = new LoginVo();
         loginVo.setSkipPage(2);
         return AjaxResult.success(loginVo);
         return R.ok(loginVo);
      }
      //账户被冻结,给出提示
      if(2 == appUser.getStatus()){
         return AjaxResult.error("账户已被冻结,请联系管理员!");
         return R.fail("账户已被冻结,请联系管理员!");
      }
      LoginVo loginVo = new LoginVo();
      loginVo.setSkipPage(1);
@@ -78,7 +78,7 @@
      Map<String, Object> tokenApplet = tokenService.createTokenApplet(loginUser);
      loginVo.setToken(tokenApplet.get("access_token").toString());
      loginVo.setFailureTime(Long.valueOf(tokenApplet.get("expires_in").toString()));
      return AjaxResult.success(loginVo);
      return R.ok(loginVo);
   }
   
   
@@ -88,11 +88,11 @@
    * @return
    */
   @Override
   public AjaxResult<LoginVo> mobileLogin(MobileLogin mobileLogin) {
   public R<LoginVo> mobileLogin(MobileLogin mobileLogin) {
      //校验验证码
      String code = redisService.getCacheObject(mobileLogin.getPhone());
      if(null == code || !code.equals(mobileLogin.getCode())){
         return AjaxResult.error("验证码错误");
         return R.fail("验证码错误");
      }
      
      //查询用户是否注册,没有注册则跳转到注册页面
@@ -100,11 +100,11 @@
      if(null == appUser){
         LoginVo loginVo = new LoginVo();
         loginVo.setSkipPage(2);
         return AjaxResult.success(loginVo);
         return R.ok(loginVo);
      }
      //账户被冻结,给出提示
      if(2 == appUser.getStatus()){
         return AjaxResult.error("账户已被冻结,请联系管理员!");
         return R.fail("账户已被冻结,请联系管理员!");
      }
      LoginVo loginVo = new LoginVo();
      loginVo.setSkipPage(1);
@@ -116,8 +116,8 @@
      loginUser.setUsername(appUser.getName());
      Map<String, Object> tokenApplet = tokenService.createTokenApplet(loginUser);
      loginVo.setToken(tokenApplet.get("access_token").toString());
      loginVo.setFailureTime(Long.valueOf(tokenApplet.get("expires_in").toString()));
      return AjaxResult.success(loginVo);
         loginVo.setFailureTime(Long.valueOf(tokenApplet.get("expires_in").toString()));
      return R.ok(loginVo);
   }
   
   
@@ -127,7 +127,7 @@
    * @return
    */
   @Override
   public AjaxResult getSMSCode(SMSCode smsCode) {
   public R getSMSCode(SMSCode smsCode) {
      //校验验证码获取评率(1分钟5次)
      String key = smsCode.getType() + "&" + smsCode.getPhone();
      Map<String, Object> cacheMap = redisService.getCacheMap(key);
@@ -135,7 +135,7 @@
         Integer number = Integer.valueOf(cacheMap.get("number").toString()) + 1;
         Long startTime = Long.valueOf(cacheMap.get("startTime").toString());
         if(number > 5 && (System.currentTimeMillis() - startTime) < 60000){
            return AjaxResult.error("获取验证码太频繁,请稍后重试!");
            return R.fail("获取验证码太频繁,请稍后重试!");
         }
         if(number <= 5){
            cacheMap.put("number", number);
@@ -157,7 +157,7 @@
         code += Double.valueOf(Math.random() * 10).intValue();
      }
      //发送短信 todo 待对接短信
      return AjaxResult.success();
      return R.ok();
   }
   
   
@@ -167,27 +167,27 @@
    * @return
    */
   @Override
   public AjaxResult<LoginVo> registerAccount(RegisterAccount registerAccount) {
   public R<LoginVo> registerAccount(RegisterAccount registerAccount) {
      //校验验证码
      String code = redisService.getCacheObject(registerAccount.getPhone());
      if(null == code || !code.equals(registerAccount.getCode())){
         return AjaxResult.error("验证码错误");
         return R.fail("验证码错误");
      }
      //使用jscode获取微信openid
      Map<String, Object> map = weChatUtil.code2Session(registerAccount.getJscode());
      Integer errcode = Integer.valueOf(map.get("errcode").toString());
      if(0 != errcode){
         return AjaxResult.error(map.get("msg").toString());
         return R.fail(map.get("msg").toString());
      }
      String openid = map.get("openid").toString();
      //查询用户是否注册
      AppUser appUser = this.getOne(new LambdaQueryWrapper<AppUser>().eq(AppUser::getWxOpenid, openid).ne(AppUser::getStatus, 3).eq(AppUser::getDelFlag, 0));
      if(null != appUser){
         return AjaxResult.error("此微信号已注册,请直接登录!");
         return R.fail("此微信号已注册,请直接登录!");
      }
      AppUser appUser1 = this.getOne(new LambdaQueryWrapper<AppUser>().eq(AppUser::getPhone, registerAccount.getPhone()).ne(AppUser::getStatus, 3).eq(AppUser::getDelFlag, 0));
      if(null != appUser1){
         return AjaxResult.error("手机号已注册,请直接登录!");
         return R.fail("手机号已注册,请直接登录!");
      }
      if(null == appUser){
         appUser = new AppUser();
@@ -224,12 +224,12 @@
         appUser.setLongitude(registerAccount.getLongitude());
         appUser.setLatitude(registerAccount.getLatitude());
         //调用地图获取省市区数据
         appUser.setProvince();
         appUser.setProvinceCode();
         appUser.setCity();
         appUser.setCityCode();
         appUser.setDistrict();
         appUser.setDistrictCode();
//         appUser.setProvince();
//         appUser.setProvinceCode();
//         appUser.setCity();
//         appUser.setCityCode();
//         appUser.setDistrict();
//         appUser.setDistrictCode();
         this.save(appUser);
      }
      LoginVo loginVo = new LoginVo();
@@ -243,7 +243,7 @@
      Map<String, Object> tokenApplet = tokenService.createTokenApplet(loginUser);
      loginVo.setToken(tokenApplet.get("access_token").toString());
      loginVo.setFailureTime(Long.valueOf(tokenApplet.get("expires_in").toString()));
      return AjaxResult.success(loginVo);
      return R.ok(loginVo);
   }
   
   
@@ -272,15 +272,12 @@
    * @return
    */
   @Override
   public BaseTable<NearbyReferrerVo> getNearbyReferrer(NearbyReferrer nearbyReferrer) {
   public List<NearbyReferrerVo> getNearbyReferrer(NearbyReferrer nearbyReferrer) {
      //使用地图获取省市区数据
      String longitude = nearbyReferrer.getLongitude();
      String latitude = nearbyReferrer.getLatitude();
      String cityCode = "";
      List<NearbyReferrerVo> list = this.baseMapper.getNearbyReferrer(cityCode, nearbyReferrer);
      BaseTable baseTable = new BaseTable();
      baseTable.setRows(list);
      baseTable.setTotal(list.size());
      return baseTable;
      return list;
   }
}