提交 cbf80dbc 编写于 作者: xinxu.wang's avatar xinxu.wang

Merge branch 'release' into 'master'

Release

See merge request !130
流水线 #52297 已失败 于阶段
...@@ -6,6 +6,7 @@ import org.springframework.boot.SpringApplication; ...@@ -6,6 +6,7 @@ import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.feign.EnableFeignClients; import org.springframework.cloud.netflix.feign.EnableFeignClients;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.transaction.annotation.EnableTransactionManagement; import org.springframework.transaction.annotation.EnableTransactionManagement;
import springfox.documentation.swagger2.annotations.EnableSwagger2; import springfox.documentation.swagger2.annotations.EnableSwagger2;
...@@ -15,6 +16,7 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2; ...@@ -15,6 +16,7 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2;
@EnableFeignClients(basePackages = "com.pica.cloud") @EnableFeignClients(basePackages = "com.pica.cloud")
@MapperScan("com.pica.cloud.account.account.server.mapper") @MapperScan("com.pica.cloud.account.account.server.mapper")
@EnableTransactionManagement @EnableTransactionManagement
@EnableAsync
public class App { public class App {
public static void main( String[] args ) { public static void main( String[] args ) {
......
...@@ -2,12 +2,14 @@ package com.pica.cloud.account.account.server.controller; ...@@ -2,12 +2,14 @@ package com.pica.cloud.account.account.server.controller;
import com.pica.cloud.account.account.server.service.TokenService; import com.pica.cloud.account.account.server.service.TokenService;
import com.pica.cloud.foundation.entity.PicaResponse; import com.pica.cloud.foundation.entity.PicaResponse;
import com.pica.cloud.foundation.utils.entity.PicaAdmin; import com.pica.cloud.foundation.service.starter.interceptor.EnabledLoginValidate;
import com.pica.cloud.foundation.utils.entity.PicaUser;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore; import springfox.documentation.annotations.ApiIgnore;
import java.util.Map; import java.util.Map;
...@@ -48,4 +50,12 @@ public class TokenController extends AccountBaseController { ...@@ -48,4 +50,12 @@ public class TokenController extends AccountBaseController {
tokenService.removeToken(timestamp); tokenService.removeToken(timestamp);
return PicaResponse.toResponse(); return PicaResponse.toResponse();
} }
@EnabledLoginValidate
@ApiIgnore
@GetMapping(value = "/token/remove/examTest")
public PicaResponse removeTokenOfExamTest(@RequestParam("beginValue") Integer beginValue, @RequestParam("endValue") Integer endValue, @RequestParam("examId") Integer examId) {
tokenService.removeTokenOfExamTest(beginValue, endValue, examId);
return PicaResponse.toResponse();
}
} }
...@@ -15,4 +15,6 @@ public interface TokenService { ...@@ -15,4 +15,6 @@ public interface TokenService {
/** 删除token */ /** 删除token */
void removeToken(Long timestamp); void removeToken(Long timestamp);
void removeTokenOfExamTest(Integer beginValue, Integer endValue, Integer examId);
} }
...@@ -164,10 +164,12 @@ public class HospitalSaasUserServiceImpl implements HospitalSaasUserService { ...@@ -164,10 +164,12 @@ public class HospitalSaasUserServiceImpl implements HospitalSaasUserService {
Account account = new Account(); Account account = new Account();
if (StringUtils.isBlank(byMobilePhone.getName())) { if (StringUtils.isBlank(byMobilePhone.getName())) {
account.setName(req.getName()); account.setName(req.getName());
accountInfoEntity.setName(req.getName());
updateNameOrPwd = true; updateNameOrPwd = true;
} }
if (StringUtils.isBlank(byMobilePhone.getPassword()) && StringUtils.isNotBlank(req.getPassword())) { if (StringUtils.isBlank(byMobilePhone.getPassword()) && StringUtils.isNotBlank(req.getPassword())) {
account.setPassword(StringUtils.upperCase(MD5Util.MD5(req.getPassword()))); account.setPassword(StringUtils.upperCase(MD5Util.MD5(req.getPassword())));
accountInfoEntity.setPassword(StringUtils.upperCase(MD5Util.MD5(req.getPassword())));
account.setEntireFlag(3); account.setEntireFlag(3);
updateNameOrPwd = true; updateNameOrPwd = true;
} }
...@@ -176,6 +178,10 @@ public class HospitalSaasUserServiceImpl implements HospitalSaasUserService { ...@@ -176,6 +178,10 @@ public class HospitalSaasUserServiceImpl implements HospitalSaasUserService {
account.setModifyId(picaUser.getId().longValue()); account.setModifyId(picaUser.getId().longValue());
account.setModifyTime(new Date()); account.setModifyTime(new Date());
accountMapper.updateByIdSelective(account); accountMapper.updateByIdSelective(account);
accountInfoEntity.setModifiedId(picaUser.getId());
accountInfoEntity.setModifiedTime(new Date());
accountInfoDetailMapper.updateByPrimaryKeySelective(accountInfoEntity);
} }
//角色 //角色
insertSaasRole(req.getRoleId(), req.getHospitalId().longValue(), byMobilePhone.getId(), byMobilePhone.getId()); insertSaasRole(req.getRoleId(), req.getHospitalId().longValue(), byMobilePhone.getId(), byMobilePhone.getId());
......
...@@ -67,7 +67,7 @@ public class PasswordServiceImpl implements PasswordService { ...@@ -67,7 +67,7 @@ public class PasswordServiceImpl implements PasswordService {
throw new AccountException(AccountExceptionEnum.PICA_PASSWORD_RESET); throw new AccountException(AccountExceptionEnum.PICA_PASSWORD_RESET);
} }
//added by joy end //added by joy end
if (entity.getPassword().equals(oldPwd)) { if (entity.getPassword().equals(oldPwd) || isForced) {
Date currentTime = new Date(); Date currentTime = new Date();
AccountInfoEntity accountInfoEntity = new AccountInfoEntity(); AccountInfoEntity accountInfoEntity = new AccountInfoEntity();
accountInfoEntity.setId(entity.getId()); accountInfoEntity.setId(entity.getId());
......
...@@ -7,11 +7,11 @@ import com.pica.cloud.account.account.server.util.TokenUtils; ...@@ -7,11 +7,11 @@ import com.pica.cloud.account.account.server.util.TokenUtils;
import com.pica.cloud.foundation.redis.ICacheClient; import com.pica.cloud.foundation.redis.ICacheClient;
import com.pica.cloud.foundation.utils.entity.PicaUser; import com.pica.cloud.foundation.utils.entity.PicaUser;
import com.pica.cloud.foundation.utils.utils.CommonUtil; import com.pica.cloud.foundation.utils.utils.CommonUtil;
import com.pica.cloud.foundation.utils.utils.date.D;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
...@@ -99,23 +99,23 @@ public class TokenServiceImpl implements TokenService { ...@@ -99,23 +99,23 @@ public class TokenServiceImpl implements TokenService {
@Override @Override
public void removeToken(Long timestamp) { public void removeToken(Long timestamp) {
//new Thread(() -> { //new Thread(() -> {
try { try {
Date lastLoginTime = new Date(timestamp); Date lastLoginTime = new Date(timestamp);
for (Integer fromDoctorId = 0; fromDoctorId < 1000412091; fromDoctorId += 10000) { for (Integer fromDoctorId = 0; fromDoctorId < 1000412091; fromDoctorId += 10000) {
logger.info("start remove token: {}", fromDoctorId); logger.info("start remove token: {}", fromDoctorId);
List<Integer> doctorIdList = doctorMapper.selectIdByParams(fromDoctorId, fromDoctorId + 10000, lastLoginTime); List<Integer> doctorIdList = doctorMapper.selectIdByParams(fromDoctorId, fromDoctorId + 10000, lastLoginTime);
if (CollectionUtils.isEmpty(doctorIdList)) { if (CollectionUtils.isEmpty(doctorIdList)) {
Thread.sleep(2000); Thread.sleep(2000);
continue; continue;
}
removeTokenByDoctorIdList(doctorIdList);
logger.info("remove token done: {} {}", fromDoctorId, doctorIdList.size());
}
} catch (Exception ex) {
// ingnore
} }
//}); removeTokenByDoctorIdList(doctorIdList);
logger.info("remove token done: {} {}", fromDoctorId, doctorIdList.size());
}
} catch (Exception ex) {
// ingnore
}
//});
} }
private void removeTokenByDoctorIdList(List<Integer> doctorIdList) throws Exception { private void removeTokenByDoctorIdList(List<Integer> doctorIdList) throws Exception {
...@@ -132,4 +132,39 @@ public class TokenServiceImpl implements TokenService { ...@@ -132,4 +132,39 @@ public class TokenServiceImpl implements TokenService {
Thread.sleep(10); Thread.sleep(10);
} }
} }
@Async
@Override
public void removeTokenOfExamTest(Integer beginValue, Integer endValue, Integer examId) {
Integer num = 0;
if (endValue < beginValue) {
return;
}
StringBuilder builder = new StringBuilder("removeTokenOfExamTest,");
for (int i = beginValue; i < endValue; i++) {
String key1 = String.format("exam.%d.user.%d.using", examId, i);
String str = redisClient.get(key1);
if (!StringUtils.isEmpty(str)) {
num++;
builder.append(key1);
builder.append(":");
builder.append(str);
builder.append("|-|-|-|-|");
redisClient.del(key1);
}
if (num > 0 && (num % 100 == 0 || (i + 1) == endValue)) {
logger.info("removeTokenOfExamTesting:" + i + "," + builder.toString());
builder = new StringBuilder("removeTokenOfExamTest,");
try {
Thread.sleep(1);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
logger.info("removeTokenOfExamTestNum:{}", num);
}
} }
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册