|
|
@@ -3,10 +3,16 @@ package com.fdage.controller.app;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.fdage.base.dto.FullUserInfo;
|
|
|
import com.fdage.base.dto.UserInfo;
|
|
|
+import com.fdage.base.entity.TmUser;
|
|
|
+import com.fdage.base.enums.IdPreEnum;
|
|
|
import com.fdage.base.utils.ApiUserUtils;
|
|
|
import com.fdage.base.utils.DataUtils;
|
|
|
+import com.fdage.base.utils.JwtUtil;
|
|
|
import com.fdage.controller.BaseController;
|
|
|
import fdage.back.sdk.base.entity.Result;
|
|
|
+import fdage.back.sdk.base.enums.ResultCodeEnum;
|
|
|
+import fdage.back.sdk.base.exception.CommonBaseException;
|
|
|
+import fdage.back.sdk.base.uuid.SnowFlakeUUidUtils;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import lombok.extern.log4j.Log4j2;
|
|
|
@@ -15,6 +21,7 @@ import org.springframework.web.bind.annotation.PostMapping;
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
+import java.time.LocalDateTime;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.Map;
|
|
|
|
|
|
@@ -64,14 +71,42 @@ public class AppAuthController extends BaseController {
|
|
|
if (!fullUserInfo.getSignature().equals(sha1)) {
|
|
|
return Result.failure("登录失败");
|
|
|
}
|
|
|
+ String wxOpenId = sessionData.getString("openid");
|
|
|
//1、新增或者更新用户数据
|
|
|
+ TmUser dbUser = tmUserService.getByOpenId(wxOpenId);
|
|
|
+ if(null == dbUser){
|
|
|
+ //新增用户,自动注册用户数据
|
|
|
+ dbUser = new TmUser();
|
|
|
+ dbUser.setCreateTime(LocalDateTime.now());
|
|
|
+ dbUser.setUpdateTime(LocalDateTime.now());
|
|
|
+ dbUser.setIsDelete(0);
|
|
|
+ dbUser.setAvatar(userInfo.getAvatarUrl());
|
|
|
+ dbUser.setGender(userInfo.getGender());
|
|
|
+ dbUser.setCity(userInfo.getCity());
|
|
|
+ dbUser.setNickname(userInfo.getNickName());
|
|
|
+ dbUser.setRegisterTime(LocalDateTime.now());
|
|
|
+ dbUser.setUserName(userInfo.getNickName());
|
|
|
+ dbUser.setWxTitle(userInfo.getNickName());
|
|
|
+ dbUser.setWxOpenId(wxOpenId);
|
|
|
+ dbUser.setWxAvatar(userInfo.getAvatarUrl());
|
|
|
+ dbUser.setId(SnowFlakeUUidUtils.generaUUid(null , null , IdPreEnum.USER_PRE.getPre()));
|
|
|
+ if(!tmUserService.save(dbUser)){
|
|
|
+ throw new CommonBaseException(ResultCodeEnum.D101 , "建立用户信息失败导致登录失败");
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ //需要更新登录ip吗?
|
|
|
+ dbUser.setLastLoginIp(getClientIp());
|
|
|
+ dbUser.setLastLoginTime(LocalDateTime.now());
|
|
|
+ dbUser.setUpdateTime(LocalDateTime.now());
|
|
|
+ tmUserService.updateById(dbUser);
|
|
|
+ }
|
|
|
+ //2、生成token返回给小程序,token有效期为1天
|
|
|
+ String token = JwtUtil.createJWT(86400000 , dbUser.getId());
|
|
|
|
|
|
+ //3、返回店铺列表给前端 TODO:要这么做吗?还是直接调用获取列表接口即可
|
|
|
|
|
|
- //2、生成token返回给小程序
|
|
|
-
|
|
|
-
|
|
|
- //3、返回店铺列表给前端?
|
|
|
-
|
|
|
- return Result.success();
|
|
|
+ Map<String , Object> resultMap = new HashMap<>();
|
|
|
+ resultMap.put("token" , token);
|
|
|
+ return Result.success(resultMap);
|
|
|
}
|
|
|
}
|