diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/PasswordAuthStrategy.java b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/PasswordAuthStrategy.java index ffbc277..9e37c06 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/PasswordAuthStrategy.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/PasswordAuthStrategy.java @@ -3,6 +3,7 @@ package org.dromara.web.service.impl; import cn.dev33.satoken.secure.BCrypt; import cn.dev33.satoken.stp.SaLoginModel; import cn.dev33.satoken.stp.StpUtil; +import cn.hutool.core.lang.Validator; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -109,6 +110,20 @@ public class PasswordAuthStrategy implements IAuthStrategy { } private SysUserVo loadUserByUsername(String tenantId, String username) { + boolean isMobile = Validator.isMobile(username); + if (isMobile) { + return TenantHelper.ignore(() -> { + SysUserVo user = userMapper.selectVoOne(new LambdaQueryWrapper().eq(SysUser::getUserName, username)); + if (ObjectUtil.isNull(user)) { + log.info("登录用户:{} 不存在.", username); + throw new UserException("user.not.exists", username); + } else if (UserStatus.DISABLE.getCode().equals(user.getStatus())) { + log.info("登录用户:{} 已被停用.", username); + throw new UserException("user.blocked", username); + } + return user; + }); + } return TenantHelper.dynamic(tenantId, () -> { SysUserVo user = userMapper.selectVoOne(new LambdaQueryWrapper().eq(SysUser::getUserName, username)); if (ObjectUtil.isNull(user)) { diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/wx/WxEvaluationController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/wx/WxEvaluationController.java index e928542..efe8d1c 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/wx/WxEvaluationController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/wx/WxEvaluationController.java @@ -48,7 +48,7 @@ public class WxEvaluationController extends BaseController { */ @GetMapping("/answer/{id}") public R> queryAnswer(@NotNull(message = "主键不能为空") @PathVariable Long id) { - return R.ok(TenantHelper.dynamic(TenantConstants.DEFAULT_TENANT_ID,() -> evaluationService.queryQuestionAnswerListByScaleId(id))); + return R.ok(TenantHelper.ignore(() -> evaluationService.queryQuestionAnswerListByScaleId(id))); } @@ -59,7 +59,7 @@ public class WxEvaluationController extends BaseController { @RepeatSubmit() @PostMapping("/record/create/{scaleId}") public R newRecord(@NotNull(message = "主键不能为空") @PathVariable Long scaleId) { - return toAjax(TenantHelper.dynamic(TenantConstants.DEFAULT_TENANT_ID,() -> evaluationService.newRecord(scaleId))); + return toAjax(TenantHelper.dynamic(TenantConstants.DEFAULT_TENANT_ID, () -> evaluationService.newRecord(scaleId))); } /** @@ -69,7 +69,7 @@ public class WxEvaluationController extends BaseController { @RepeatSubmit() @PostMapping("/record/{id}") public R checkRecord(@NotNull(message = "主键不能为空") @PathVariable Long id) { - return toAjax(TenantHelper.dynamic(TenantConstants.DEFAULT_TENANT_ID,() -> evaluationService.checkRecord(id))); + return toAjax(TenantHelper.ignore(() -> evaluationService.checkRecord(id))); } /** @@ -79,6 +79,6 @@ public class WxEvaluationController extends BaseController { @RepeatSubmit() @PostMapping("/record/answer") public R> add(@Validated(AddGroup.class) @RequestBody SubmitAnswerBo bo) { - return R.ok(TenantHelper.dynamic(TenantConstants.DEFAULT_TENANT_ID,() -> evaluationService.submitAnswer(bo))); + return R.ok(TenantHelper.ignore(() -> evaluationService.submitAnswer(bo))); } } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/wx/WxScaleController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/wx/WxScaleController.java index 024d04a..09c499b 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/wx/WxScaleController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/wx/WxScaleController.java @@ -43,7 +43,7 @@ public class WxScaleController extends BaseController { @GetMapping("/pageList") public TableDataInfo pageList(SysScaleBo bo, PageQuery pageQuery) { bo.setOrderBy("num"); - return TenantHelper.dynamic(TenantConstants.DEFAULT_TENANT_ID,() -> sysScaleService.queryPageList(bo, pageQuery)); + return TenantHelper.dynamic(TenantConstants.DEFAULT_TENANT_ID, () -> sysScaleService.queryPageList(bo, pageQuery)); } /** @@ -52,7 +52,7 @@ public class WxScaleController extends BaseController { @GetMapping("/typeList") public R> pageListTest(SysScaleBo bo) { bo.setOrderBy("num"); - return R.ok(TenantHelper.dynamic(TenantConstants.DEFAULT_TENANT_ID,() -> sysScaleService.queryPageListType(bo))); + return R.ok(TenantHelper.dynamic(TenantConstants.DEFAULT_TENANT_ID, () -> sysScaleService.queryPageListType(bo))); } /** @@ -63,7 +63,7 @@ public class WxScaleController extends BaseController { if (StringUtils.isEmpty(scaleType)) { throw new ServiceException("类型不能为空"); } - return R.ok(TenantHelper.dynamic(TenantConstants.DEFAULT_TENANT_ID,() ->sysScaleService.queryWxMapList(scaleType))); + return R.ok(TenantHelper.dynamic(TenantConstants.DEFAULT_TENANT_ID, () -> sysScaleService.queryWxMapList(scaleType))); } /** @@ -73,6 +73,6 @@ public class WxScaleController extends BaseController { */ @GetMapping("/{scaleId}") public R getInfo(@NotNull(message = "主键不能为空") @PathVariable Long scaleId) { - return R.ok(TenantHelper.dynamic(TenantConstants.DEFAULT_TENANT_ID,() ->sysScaleService.queryById4Wx(scaleId))); + return R.ok(TenantHelper.dynamic(TenantConstants.DEFAULT_TENANT_ID, () -> sysScaleService.queryById4Wx(scaleId))); } } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysUser.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysUser.java index b87b6cf..adf9883 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysUser.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysUser.java @@ -110,6 +110,11 @@ public class SysUser extends TenantEntity { */ private String remark; + /** + * 干预状态 + */ + private Integer interveneStatus; + public SysUser(Long userId) { this.userId = userId; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserVo.java index 9344c5f..931df83 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserVo.java @@ -116,6 +116,11 @@ public class SysUserVo implements Serializable { */ private String remark; + /** + * 干预状态 + */ + private Integer interveneStatus; + /** * 创建时间 */ diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysTenantServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysTenantServiceImpl.java index d92f004..df2db58 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysTenantServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysTenantServiceImpl.java @@ -28,7 +28,6 @@ import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.StopWatch; import java.util.*; @@ -280,8 +279,6 @@ public class SysTenantServiceImpl implements ISysTenantService { List allAnswerList = new ArrayList<>(); List allFactorList = new ArrayList<>(); List allRangeList = new ArrayList<>(); - StopWatch stopWatch = new StopWatch(); - stopWatch.start(); for (SysScale sysScale : allScaleList) { Long oldScaleId = sysScale.getScaleId(); Long newScaleId = identifierGenerator.nextId(SysScale.class).longValue(); @@ -305,7 +302,7 @@ public class SysTenantServiceImpl implements ISysTenantService { List answerList = answerMapper.selectList(new LambdaQueryWrapper() .eq(SysScaleAnswer::getTenantId, TenantConstants.DEFAULT_TENANT_ID) .eq(SysScaleAnswer::getScaleId, oldScaleId) - .eq(SysScaleAnswer::getAnswerId, oldQuestionId)); + .eq(SysScaleAnswer::getQuestionId, oldQuestionId)); for (SysScaleAnswer answer : answerList) { Long newAnswerId = identifierGenerator.nextId(SysScaleAnswer.class).longValue(); answer.setAnswerId(newAnswerId); @@ -348,16 +345,11 @@ public class SysTenantServiceImpl implements ISysTenantService { } allFactorList.addAll(factorList); } - stopWatch.stop(); - log.info("处理所有量表用时{} 秒", stopWatch.getTotalTimeSeconds()); - stopWatch.start(); scaleMapper.insertBatch(allScaleList, 500); questionMapper.insertBatch(allQuestionList, 500); answerMapper.insertBatch(allAnswerList, 500); factorMapper.insertBatch(allFactorList, 500); rangeMapper.insertBatch(allRangeList, 500); - stopWatch.stop(); - log.info("入库所有量表用时{} 秒", stopWatch.getTotalTimeSeconds()); } /**