|
|
@@ -17,6 +17,9 @@ import org.springframework.data.redis.core.StringRedisTemplate;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
+import java.time.LocalDateTime;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.Map;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
|
|
|
/**
|
|
|
@@ -64,20 +67,20 @@ public class AuthUtils {
|
|
|
try {
|
|
|
String[] tokens = token.split(" ");
|
|
|
String decrypt = AESSecurityUtil.decrypt(AESKey, tokens[1]);
|
|
|
- String staffId = JwtUtil.getStaffId(decrypt);
|
|
|
- log.info("staffId=>{}",staffId);
|
|
|
-
|
|
|
+ String userId = JwtUtil.getUserId(decrypt);
|
|
|
+ log.info("staffId=>{}",userId);
|
|
|
String appCode = JwtUtil.getAppCode(decrypt);
|
|
|
log.info("appCode=>{}",appCode);
|
|
|
String cpId = JwtUtil.getCpId(decrypt);
|
|
|
log.info("cpId=>{}",cpId);
|
|
|
String cpCode = JwtUtil.getCpCode(decrypt);
|
|
|
log.info("cpCode=>{}",cpCode);
|
|
|
- String json = stringRedisTemplate.opsForValue().get(Constant.RedisConstant.REDIS_STAFF.getName() + cpId + Constant.StringConstant.SYSTEM_MAGIN_LINE.getName() + appCode + Constant.StringConstant.SYSTEM_MAGIN_LINE.getName() + staffId);
|
|
|
+ String key = Constant.RedisConstant.REDIS_USER_LOGIN.getName() + '_' + userId + '_' + appCode;
|
|
|
+ String json = stringRedisTemplate.opsForValue().get(key);
|
|
|
if (json==null){
|
|
|
- return saveStaff(staffId, cpCode, appCode);
|
|
|
+ return null;
|
|
|
}else{
|
|
|
- return JSONObject.parseObject(json, StaffEntity.class);
|
|
|
+ return JSONObject.parseObject(JSONObject.toJSONString(JSONObject.parseObject(json)), StaffEntity.class);
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
log.error(e.toString(),e);
|
|
|
@@ -149,9 +152,21 @@ public class AuthUtils {
|
|
|
* @date : 2023/1/6 15:18
|
|
|
*/
|
|
|
public StaffEntity saveStaff(StaffEntity staff){
|
|
|
- if (staff!=null) {
|
|
|
- stringRedisTemplate.opsForValue().set(Constant.RedisConstant.REDIS_STAFF.getName() + staff.getCpId() + Constant.StringConstant.SYSTEM_MAGIN_LINE.getName()
|
|
|
- + staff.getAppCode() + Constant.StringConstant.SYSTEM_MAGIN_LINE.getName() + staff.getStaffCode(), JSONObject.toJSONString(staff), 1, TimeUnit.HOURS);
|
|
|
+ if(staff != null ){
|
|
|
+ String userId = staff.getWxUserId();
|
|
|
+ String appCode = staff.getAppCode();
|
|
|
+ String key = Constant.RedisConstant.REDIS_USER_LOGIN.getName() + '_' + userId + '_' + appCode;
|
|
|
+ String mapStr = stringRedisTemplate.opsForValue().get(key);
|
|
|
+ Map<String,Object> userMap = JSONObject.parseObject(mapStr);
|
|
|
+ if (userMap != null) {
|
|
|
+ userMap.put("staffId",staff.getStaffId());
|
|
|
+ userMap.put("staffCode",staff.getStaffCode());
|
|
|
+ userMap.put("cpId",staff.getCpId());
|
|
|
+ userMap.put("cpCode",staff.getCpCode());
|
|
|
+ userMap.put("orgId",staff.getOrgId());
|
|
|
+ userMap.put("opUpdateTime",LocalDateTime.now());
|
|
|
+ stringRedisTemplate.opsForValue().set(key, JSONObject.toJSONString(userMap));
|
|
|
+ }
|
|
|
}
|
|
|
return staff;
|
|
|
}
|