Explorar el Código

当前用户id和公司id获取

黄远 hace 5 años
padre
commit
df78d53537

+ 4 - 4
lift-business-service/src/main/java/cn/com/ty/lift/business/framework/conf/MetaHandler.java

@@ -9,7 +9,6 @@ import org.springframework.web.context.request.RequestContextHolder;
 import org.springframework.web.context.request.ServletRequestAttributes;
 
 import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
 import java.time.LocalDateTime;
 import java.util.Objects;
 
@@ -49,10 +48,11 @@ public class MetaHandler implements MetaObjectHandler {
 
     private Long getUserId() {
         ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
-        if (Objects.isNull(servletRequestAttributes)) return 10000L;
+        if (Objects.isNull(servletRequestAttributes)) {
+            return 10000L;
+        }
         HttpServletRequest request = servletRequestAttributes.getRequest();
-        HttpSession session = request.getSession();
-        Object userId = session.getAttribute(ApiConstants.CURRENT_USER_ID);
+        Object userId = request.getHeader(ApiConstants.CURRENT_USER_ID);
         if (ObjectUtil.isNotEmpty(userId)) {
             return Long.parseLong(Objects.toString(userId));
         }

+ 4 - 4
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/config/MetaHandler.java

@@ -9,7 +9,6 @@ import org.springframework.web.context.request.RequestContextHolder;
 import org.springframework.web.context.request.ServletRequestAttributes;
 
 import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
 import java.time.LocalDateTime;
 import java.util.Objects;
 
@@ -49,10 +48,11 @@ public class MetaHandler implements MetaObjectHandler {
 
     private long getUserId() {
         ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
-        if (Objects.isNull(servletRequestAttributes)) return 10000L;
+        if (Objects.isNull(servletRequestAttributes)) {
+            return 10000L;
+        }
         HttpServletRequest request = servletRequestAttributes.getRequest();
-        HttpSession session = request.getSession();
-        Object userId = session.getAttribute(ApiConstants.CURRENT_USER_ID);
+        Object userId = request.getHeader(ApiConstants.CURRENT_USER_ID);
         if (ObjectUtil.isNotEmpty(userId)) {
             return Long.parseLong(Objects.toString(userId));
         }

+ 5 - 5
lift-quan-service/src/main/java/cn/com/ty/lift/quan/config/MetaHandler.java

@@ -9,7 +9,6 @@ import org.springframework.web.context.request.RequestContextHolder;
 import org.springframework.web.context.request.ServletRequestAttributes;
 
 import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
 import java.time.LocalDateTime;
 import java.util.Objects;
 
@@ -49,13 +48,14 @@ public class MetaHandler implements MetaObjectHandler {
 
     private long getUserId() {
         ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
-        if (Objects.isNull(servletRequestAttributes)) return 10000L;
+        if (Objects.isNull(servletRequestAttributes)) {
+            return 10000L;
+        }
         HttpServletRequest request = servletRequestAttributes.getRequest();
-        HttpSession session = request.getSession();
-        Object userId = session.getAttribute(ApiConstants.CURRENT_USER_ID);
+        Object userId = request.getHeader(ApiConstants.CURRENT_USER_ID);
         if (ObjectUtil.isNotEmpty(userId)) {
             return Long.parseLong(Objects.toString(userId));
         }
-        return 10000;
+        return 10000L;
     }
 }

+ 5 - 4
lift-system-service/src/main/java/cn/com/ty/lift/system/config/MetaHandler.java

@@ -9,7 +9,6 @@ import org.springframework.web.context.request.RequestContextHolder;
 import org.springframework.web.context.request.ServletRequestAttributes;
 
 import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
 import java.time.LocalDateTime;
 import java.util.Objects;
 
@@ -49,13 +48,15 @@ public class MetaHandler implements MetaObjectHandler {
 
     private long getUserId() {
         ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
-        if (Objects.isNull(servletRequestAttributes)) return 10000L;
+        if (Objects.isNull(servletRequestAttributes)) {
+            return 10000L;
+        }
         HttpServletRequest request = servletRequestAttributes.getRequest();
-        HttpSession session = request.getSession();
-        Object userId = session.getAttribute(ApiConstants.CURRENT_USER_ID);
+        Object userId = request.getHeader(ApiConstants.CURRENT_USER_ID);
         if (ObjectUtil.isNotEmpty(userId)) {
             return Long.parseLong(Objects.toString(userId));
         }
         return 10000L;
     }
+
 }

+ 2 - 1
lift-system-service/src/main/java/cn/com/ty/lift/system/settings/controller/MaintenanceCompanyController.java

@@ -10,6 +10,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
+import java.io.IOException;
 
 /**
  * <p>
@@ -66,7 +67,7 @@ public class MaintenanceCompanyController {
      * @date 2019-12-11 14:04
      */
     @PostMapping("/createTeam")
-    public RestResponse createTeam(@RequestBody MaintenanceCompanyRequest maintenanceCompanyRequest) {
+    public RestResponse createTeam(@RequestBody MaintenanceCompanyRequest maintenanceCompanyRequest) throws IOException {
         return maintenanceCompanyService.createTeam(maintenanceCompanyRequest);
     }
 

+ 1 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/user/dao/entity/model/UserInfoResponse.java

@@ -18,5 +18,6 @@ public class UserInfoResponse {
     private String avatarUrl;//用户头像路径
     private String mobile;//用户手机号
     private String remarks;//描述
+    private boolean wxBindFlag;//微信绑定标识
     private Integer certificateStatus;//操作证状态
 }

+ 6 - 2
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/impl/LoginService.java

@@ -204,10 +204,11 @@ public class LoginService implements ILoginService {
                 .eq("wechat_open_id", openId)
         );
         if (userAccount == null) {
-            return RestResponse.fail(ApiConstants.RESULT_ERROR, "微信号尚未绑定用户信息");
+            return RestResponse.fail(ApiConstants.RESULT_NO_DATA, "微信号尚未绑定用户信息");
         }
         //用户存在,关联登录成功
         //登录成功初始化登录信息
+        userRequest.setUserId(userAccount.getUserId());
         UserResponse userResponse = initLoginInfo(request, userRequest);
         //保存登录记录
         userLoginService.saveLoginInfo(request, userAccount.getUserId());
@@ -225,7 +226,7 @@ public class LoginService implements ILoginService {
                 .eq("applet_open_id", openId)
         );
         if (userAccount == null) {
-            return RestResponse.fail(ApiConstants.RESULT_ERROR, "用户尚未绑定用户信息");
+            return RestResponse.fail(ApiConstants.RESULT_NO_DATA, "用户尚未绑定用户信息");
         }
         userRequest.setMobile(userAccount.getMobile());
         UserResponse userResponse = userService.getAppletUserInfo(userAccount.getUserId());
@@ -274,6 +275,7 @@ public class LoginService implements ILoginService {
         if (!userAccountService.save(userAccount)) {
             return RestResponse.fail(ApiConstants.RESULT_ERROR, "绑定手机号失败");
         }
+        userRequest.setUserId(userAccount.getUserId());
         UserResponse userResponse = initLoginInfo(request, userRequest);
         userLoginService.saveLoginInfo(request, userAccount.getUserId());
         //用户登录成功,更新用户设备信息
@@ -334,6 +336,8 @@ public class LoginService implements ILoginService {
         }
         //封装登录用户信息
         Map<String, Object> currentUserInfoMap = getUserInfoMap(userResponse);
+        //设置token为sessionId
+        userResponse.setToken(session.getId());
         String mobileUserInfo = getUserInfoKeyInRedis(userRequest);
         putUserInfoToRedis(userRequest, userResponse, currentUserInfoMap, mobileUserInfo);
         return userResponse;

+ 10 - 3
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/impl/UserService.java

@@ -10,7 +10,6 @@ import cn.com.ty.lift.system.user.dao.entity.model.*;
 import cn.com.ty.lift.system.user.service.*;
 import cn.com.ty.lift.system.utils.PasswordUtils;
 import cn.com.xwy.boot.web.dto.RestResponse;
-import cn.hutool.core.util.IdUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -159,9 +158,17 @@ public class UserService implements IUserService {
         userAccount.setAccount(userRequest.getAccount());
         userInfo.setName(userRequest.getName());
         userInfo.setMobile(userRequest.getMobile());
+        //重置密码
+        if (StringUtils.isNotBlank(userRequest.getPassword())) {
+            String salt = PasswordUtils.randomCode();
+            String newPassword = PasswordUtils.generatePassword(userRequest.getPassword(), salt);
+            userAccount.setSalt(salt);
+            userAccount.setPassword(newPassword);
+        }
         boolean updateAccountFlag = userAccountService.updateUserAccount(userAccount);
         boolean updateInfoFlag = userInfoService.updateUserInfo(userInfo);
         if (!updateAccountFlag || !updateInfoFlag) {
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
             return RestResponse.fail(ApiConstants.RESULT_ERROR, "更新用户信息失败");
         }
         return RestResponse.success(null, ApiConstants.RESULT_SUCCESS, "更新用户信息成功");
@@ -284,6 +291,8 @@ public class UserService implements IUserService {
         if (account == null || info == null) {
             return RestResponse.fail(ApiConstants.RESULT_ERROR, "用户信息不存在");
         }
+        //设置是否微信绑定
+        userInfoResponse.setWxBindFlag(StringUtils.isNotBlank(account.getWechatOpenId()));
         userInfoResponse.setBalance(info.getBalance());
         userInfoResponse.setUserName(info.getName());
         userInfoResponse.setAvatarUrl(info.getAvatarUrl());
@@ -464,8 +473,6 @@ public class UserService implements IUserService {
         userResponse.setBalance(userInfo.getBalance());
         userResponse.setAvatarUrl(userInfo.getAvatarUrl());
         userResponse.setType(userAccount.getType());
-        //生成前端的token值
-        userResponse.setToken(IdUtil.fastSimpleUUID());
         return userResponse;
     }