From 50a1c03776e0924dbc2f13d6c1ade5027631c3a9 Mon Sep 17 00:00:00 2001 From: zc Date: Tue, 17 Mar 2026 15:17:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=B8=8D=E8=81=94=E7=BD=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../auth/handler/SocialLoginHandler.java | 91 +------------- .../material/mapper/MaterialInfoMapper.java | 3 +- .../material/model/entity/MaterialInfoDO.java | 4 +- .../material/model/req/MaterialInfoReq.java | 4 +- .../service/impl/MaterialInfoServiceImpl.java | 6 +- .../mapper/MaterialProcessMapper.java | 10 +- .../service/MaterialProcessService.java | 1 - .../mapper/MaterialTypeMapper.java | 10 +- .../service/MaterialTypeService.java | 1 - .../service/impl/MaterialTypeServiceImpl.java | 2 - .../weighManage/model/entity/WorkOrderDO.java | 1 - wms-webapi/.flattened-pom.xml | 26 ++++ wms-webapi/pom.xml | 26 ++++ .../admin/config/log/LogConfiguration.java | 7 +- .../wms/admin/config/log/LogDaoLocalImpl.java | 6 +- .../admin/controller/auth/AuthController.java | 20 +-- .../controller/common/CaptchaController.java | 118 +++--------------- .../MaterialProcessController.java | 4 +- .../materialType/MaterialTypeController.java | 1 - .../system/UserCenterController.java | 18 +-- .../tcp/service/CommandService.java | 3 +- .../weighManage/WorkOrderController.java | 2 +- .../weighManage/ah/AHDZCConnect.java | 6 +- .../main/resources/config/application-dev.yml | 117 ++++++++--------- .../src/main/resources/config/application.yml | 9 +- .../src/main/resources/logback-spring.xml | 10 +- 26 files changed, 175 insertions(+), 331 deletions(-) diff --git a/wms-module-system/src/main/java/top/wms/admin/auth/handler/SocialLoginHandler.java b/wms-module-system/src/main/java/top/wms/admin/auth/handler/SocialLoginHandler.java index 22a0a89..1b49cbf 100644 --- a/wms-module-system/src/main/java/top/wms/admin/auth/handler/SocialLoginHandler.java +++ b/wms-module-system/src/main/java/top/wms/admin/auth/handler/SocialLoginHandler.java @@ -1,39 +1,15 @@ package top.wms.admin.auth.handler; import cn.dev33.satoken.stp.StpUtil; -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.util.IdUtil; -import cn.hutool.core.util.RandomUtil; -import cn.hutool.core.util.ReUtil; -import cn.hutool.json.JSONUtil; -import com.xkcoding.justauth.AuthRequestFactory; import jakarta.servlet.http.HttpServletRequest; import lombok.RequiredArgsConstructor; -import me.zhyd.oauth.model.AuthCallback; -import me.zhyd.oauth.model.AuthResponse; -import me.zhyd.oauth.model.AuthUser; -import me.zhyd.oauth.request.AuthRequest; import org.springframework.stereotype.Component; import top.wms.admin.auth.AbstractLoginHandler; import top.wms.admin.auth.enums.AuthTypeEnum; import top.wms.admin.auth.model.req.SocialLoginReq; import top.wms.admin.auth.model.resp.LoginResp; -import top.wms.admin.common.constant.RegexConstants; -import top.wms.admin.common.constant.SysConstants; -import top.wms.admin.common.enums.DisEnableStatusEnum; -import top.wms.admin.common.enums.GenderEnum; -import top.wms.admin.system.model.entity.RoleDO; -import top.wms.admin.system.model.entity.UserDO; -import top.wms.admin.system.model.entity.UserSocialDO; import top.wms.admin.system.model.resp.ClientResp; -import top.wms.admin.system.service.UserRoleService; -import top.wms.admin.system.service.UserSocialService; -import top.continew.starter.core.autoconfigure.project.ProjectProperties; import top.continew.starter.core.exception.BadRequestException; -import top.continew.starter.core.validation.ValidationUtils; - -import java.time.LocalDateTime; -import java.util.Collections; /** * 第三方账号登录处理器 @@ -46,57 +22,10 @@ import java.util.Collections; @RequiredArgsConstructor public class SocialLoginHandler extends AbstractLoginHandler { - private final AuthRequestFactory authRequestFactory; - private final UserSocialService userSocialService; - private final UserRoleService userRoleService; - private final ProjectProperties projectProperties; - @Override public LoginResp login(SocialLoginReq req, ClientResp client, HttpServletRequest request) { - // 获取第三方登录信息 - AuthRequest authRequest = this.getAuthRequest(req.getSource()); - AuthCallback callback = new AuthCallback(); - callback.setCode(req.getCode()); - callback.setState(req.getState()); - AuthResponse response = authRequest.login(callback); - ValidationUtils.throwIf(!response.ok(), response.getMsg()); - AuthUser authUser = response.getData(); - // 如未绑定则自动注册新用户,保存或更新关联信息 - String source = authUser.getSource(); - String openId = authUser.getUuid(); - UserSocialDO userSocial = userSocialService.getBySourceAndOpenId(source, openId); - UserDO user; - if (null == userSocial) { - String username = authUser.getUsername(); - UserDO existsUser = userService.getByUsername(username); - String randomStr = RandomUtil.randomString(RandomUtil.BASE_CHAR, 5); - if (null != existsUser || !ReUtil.isMatch(RegexConstants.USERNAME, username)) { - username = randomStr + IdUtil.fastSimpleUUID(); - } - user = new UserDO(); - user.setUsername(username); - user.setGender(GenderEnum.valueOf(authUser.getGender().name())); - user.setAvatar(authUser.getAvatar()); - user.setStatus(DisEnableStatusEnum.ENABLE); - userService.save(user); - Long userId = user.getId(); - RoleDO role = roleService.getByCode(SysConstants.SUPER_ROLE_CODE); - userRoleService.assignRolesToUser(Collections.singletonList(role.getId()), userId); - userSocial = new UserSocialDO(); - userSocial.setUserId(userId); - userSocial.setSource(source); - userSocial.setOpenId(openId); - } else { - user = BeanUtil.copyProperties(userService.getById(userSocial.getUserId()), UserDO.class); - } - // 检查用户状态 - super.checkUserStatus(user); - userSocial.setMetaJson(JSONUtil.toJsonStr(authUser)); - userSocial.setLastLoginTime(LocalDateTime.now()); - userSocialService.saveOrUpdate(userSocial); - // 执行认证 - String token = super.authenticate(user, client); - return LoginResp.builder().token(token).build(); + // 第三方登录已禁用 + throw new BadRequestException("第三方登录功能已禁用"); } @Override @@ -112,18 +41,4 @@ public class SocialLoginHandler extends AbstractLoginHandler { return AuthTypeEnum.SOCIAL; } - /** - * 获取 AuthRequest - * - * @param source 平台名称 - * @return AuthRequest - */ - private AuthRequest getAuthRequest(String source) { - try { - return authRequestFactory.get(source); - } catch (Exception e) { - throw new BadRequestException("暂不支持 [%s] 平台账号登录".formatted(source)); - } - } - -} +} \ No newline at end of file diff --git a/wms-module-system/src/main/java/top/wms/admin/material/mapper/MaterialInfoMapper.java b/wms-module-system/src/main/java/top/wms/admin/material/mapper/MaterialInfoMapper.java index bd22952..a6bda57 100644 --- a/wms-module-system/src/main/java/top/wms/admin/material/mapper/MaterialInfoMapper.java +++ b/wms-module-system/src/main/java/top/wms/admin/material/mapper/MaterialInfoMapper.java @@ -24,5 +24,6 @@ public interface MaterialInfoMapper extends BaseMapper { public int updateByCode(List list); - IPage selectMaterialInfoPage(@Param("page") Page objectPage, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); + IPage selectMaterialInfoPage(@Param("page") Page objectPage, + @Param(Constants.WRAPPER) QueryWrapper queryWrapper); } diff --git a/wms-module-system/src/main/java/top/wms/admin/material/model/entity/MaterialInfoDO.java b/wms-module-system/src/main/java/top/wms/admin/material/model/entity/MaterialInfoDO.java index 8a95f1b..91c694f 100644 --- a/wms-module-system/src/main/java/top/wms/admin/material/model/entity/MaterialInfoDO.java +++ b/wms-module-system/src/main/java/top/wms/admin/material/model/entity/MaterialInfoDO.java @@ -47,12 +47,12 @@ public class MaterialInfoDO extends BaseDO { */ private String photoUrl; - /** + /** * 物料类型ID */ private Long materialTypeId; - /** + /** * 流程ID */ private Long materialProcessId; diff --git a/wms-module-system/src/main/java/top/wms/admin/material/model/req/MaterialInfoReq.java b/wms-module-system/src/main/java/top/wms/admin/material/model/req/MaterialInfoReq.java index bcd648f..444b51a 100644 --- a/wms-module-system/src/main/java/top/wms/admin/material/model/req/MaterialInfoReq.java +++ b/wms-module-system/src/main/java/top/wms/admin/material/model/req/MaterialInfoReq.java @@ -59,14 +59,14 @@ public class MaterialInfoReq implements Serializable { @Length(max = 255, message = "物料照片地址长度不能超过 {max} 个字符") private String photoUrl; - /** + /** * 物料类型ID */ @Schema(description = "物料类型ID") @NotNull(message = "物料类型ID不能为空") private Long materialTypeId; - /** + /** * 流程ID */ @Schema(description = "流程ID") diff --git a/wms-module-system/src/main/java/top/wms/admin/material/service/impl/MaterialInfoServiceImpl.java b/wms-module-system/src/main/java/top/wms/admin/material/service/impl/MaterialInfoServiceImpl.java index cadfd2f..35c5c37 100644 --- a/wms-module-system/src/main/java/top/wms/admin/material/service/impl/MaterialInfoServiceImpl.java +++ b/wms-module-system/src/main/java/top/wms/admin/material/service/impl/MaterialInfoServiceImpl.java @@ -48,9 +48,6 @@ import top.wms.admin.material.model.resp.MaterialInfoImportResp; import top.wms.admin.material.model.resp.MaterialInfoResp; import top.wms.admin.material.service.MaterialInfoService; import top.wms.admin.system.service.FileService; -import top.wms.admin.weighManage.model.entity.WorkOrderDO; -import top.wms.admin.weighManage.model.query.WorkOrderQuery; -import top.wms.admin.weighManage.model.resp.WorkOrderResp; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; @@ -90,12 +87,11 @@ public class MaterialInfoServiceImpl extends BaseServiceImpl page = baseMapper.selectMaterialInfoPage(new Page<>(pageQuery.getPage(), pageQuery - .getSize()), queryWrapper); + .getSize()), queryWrapper); return PageResp.build(page); } - @Override public MaterialInfoDO getMaterialInfoByCode(String code) { if (StrUtil.isNotBlank(code)) { diff --git a/wms-module-system/src/main/java/top/wms/admin/materialProcess/mapper/MaterialProcessMapper.java b/wms-module-system/src/main/java/top/wms/admin/materialProcess/mapper/MaterialProcessMapper.java index 114cc61..d4cf133 100644 --- a/wms-module-system/src/main/java/top/wms/admin/materialProcess/mapper/MaterialProcessMapper.java +++ b/wms-module-system/src/main/java/top/wms/admin/materialProcess/mapper/MaterialProcessMapper.java @@ -5,11 +5,11 @@ import top.wms.admin.materialProcess.model.entity.MaterialProcessDO; import org.springframework.stereotype.Repository; /** -* 海康物料流程 Mapper -* -* @author zc -* @since 2026/03/16 17:22 -*/ + * 海康物料流程 Mapper + * + * @author zc + * @since 2026/03/16 17:22 + */ @Repository public interface MaterialProcessMapper extends BaseMapper { diff --git a/wms-module-system/src/main/java/top/wms/admin/materialProcess/service/MaterialProcessService.java b/wms-module-system/src/main/java/top/wms/admin/materialProcess/service/MaterialProcessService.java index dd096e8..14f8bb0 100644 --- a/wms-module-system/src/main/java/top/wms/admin/materialProcess/service/MaterialProcessService.java +++ b/wms-module-system/src/main/java/top/wms/admin/materialProcess/service/MaterialProcessService.java @@ -4,7 +4,6 @@ import top.continew.starter.extension.crud.model.resp.LabelValueResp; import top.continew.starter.extension.crud.service.BaseService; import top.wms.admin.materialProcess.model.query.MaterialProcessQuery; import top.wms.admin.materialProcess.model.req.MaterialProcessReq; -import top.wms.admin.materialProcess.model.resp.MaterialProcessDetailResp; import top.wms.admin.materialProcess.model.resp.MaterialProcessResp; import java.util.List; diff --git a/wms-module-system/src/main/java/top/wms/admin/materialType/mapper/MaterialTypeMapper.java b/wms-module-system/src/main/java/top/wms/admin/materialType/mapper/MaterialTypeMapper.java index 0a26cbb..2e2f306 100644 --- a/wms-module-system/src/main/java/top/wms/admin/materialType/mapper/MaterialTypeMapper.java +++ b/wms-module-system/src/main/java/top/wms/admin/materialType/mapper/MaterialTypeMapper.java @@ -5,11 +5,11 @@ import top.wms.admin.materialType.model.entity.MaterialTypeDO; import org.springframework.stereotype.Repository; /** -* 物料品类 Mapper -* -* @author zc -* @since 2026/03/16 11:18 -*/ + * 物料品类 Mapper + * + * @author zc + * @since 2026/03/16 11:18 + */ @Repository public interface MaterialTypeMapper extends BaseMapper { diff --git a/wms-module-system/src/main/java/top/wms/admin/materialType/service/MaterialTypeService.java b/wms-module-system/src/main/java/top/wms/admin/materialType/service/MaterialTypeService.java index 5b798eb..3bbfde6 100644 --- a/wms-module-system/src/main/java/top/wms/admin/materialType/service/MaterialTypeService.java +++ b/wms-module-system/src/main/java/top/wms/admin/materialType/service/MaterialTypeService.java @@ -4,7 +4,6 @@ import top.continew.starter.extension.crud.model.resp.LabelValueResp; import top.continew.starter.extension.crud.service.BaseService; import top.wms.admin.materialType.model.query.MaterialTypeQuery; import top.wms.admin.materialType.model.req.MaterialTypeReq; -import top.wms.admin.materialType.model.resp.MaterialTypeDetailResp; import top.wms.admin.materialType.model.resp.MaterialTypeResp; import java.util.List; diff --git a/wms-module-system/src/main/java/top/wms/admin/materialType/service/impl/MaterialTypeServiceImpl.java b/wms-module-system/src/main/java/top/wms/admin/materialType/service/impl/MaterialTypeServiceImpl.java index 4475082..61dacfc 100644 --- a/wms-module-system/src/main/java/top/wms/admin/materialType/service/impl/MaterialTypeServiceImpl.java +++ b/wms-module-system/src/main/java/top/wms/admin/materialType/service/impl/MaterialTypeServiceImpl.java @@ -12,7 +12,6 @@ import top.wms.admin.materialType.mapstruct.MaterialTypeConvert; import top.wms.admin.materialType.model.entity.MaterialTypeDO; import top.wms.admin.materialType.model.query.MaterialTypeQuery; import top.wms.admin.materialType.model.req.MaterialTypeReq; -import top.wms.admin.materialType.model.resp.MaterialTypeDetailResp; import top.wms.admin.materialType.model.resp.MaterialTypeResp; import top.wms.admin.materialType.service.MaterialTypeService; @@ -30,7 +29,6 @@ public class MaterialTypeServiceImpl extends BaseServiceImpl getSelectList() { List materialTypeDOS = baseMapper.selectList(new QueryWrapper<>()); diff --git a/wms-module-system/src/main/java/top/wms/admin/weighManage/model/entity/WorkOrderDO.java b/wms-module-system/src/main/java/top/wms/admin/weighManage/model/entity/WorkOrderDO.java index 3faa6fb..d3a7216 100644 --- a/wms-module-system/src/main/java/top/wms/admin/weighManage/model/entity/WorkOrderDO.java +++ b/wms-module-system/src/main/java/top/wms/admin/weighManage/model/entity/WorkOrderDO.java @@ -1,6 +1,5 @@ package top.wms.admin.weighManage.model.entity; -import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import com.baomidou.mybatisplus.annotation.TableName; diff --git a/wms-webapi/.flattened-pom.xml b/wms-webapi/.flattened-pom.xml index bfa2cad..c00888e 100644 --- a/wms-webapi/.flattened-pom.xml +++ b/wms-webapi/.flattened-pom.xml @@ -26,6 +26,32 @@ top.continew continew-starter-log-interceptor + + + tlog-core + com.yomahub + + + tlog-webflux + com.yomahub + + + tlog-feign + com.yomahub + + + tlog-okhttp + com.yomahub + + + tlog-resttemplate + com.yomahub + + + tlog-xxljob + com.yomahub + + top.wms diff --git a/wms-webapi/pom.xml b/wms-webapi/pom.xml index a877065..58576ca 100644 --- a/wms-webapi/pom.xml +++ b/wms-webapi/pom.xml @@ -29,6 +29,32 @@ top.continew continew-starter-log-interceptor + + + com.yomahub + tlog-core + + + com.yomahub + tlog-webflux + + + com.yomahub + tlog-feign + + + com.yomahub + tlog-okhttp + + + com.yomahub + tlog-resttemplate + + + com.yomahub + tlog-xxljob + + diff --git a/wms-webapi/src/main/java/top/wms/admin/config/log/LogConfiguration.java b/wms-webapi/src/main/java/top/wms/admin/config/log/LogConfiguration.java index 3774b60..d26a683 100644 --- a/wms-webapi/src/main/java/top/wms/admin/config/log/LogConfiguration.java +++ b/wms-webapi/src/main/java/top/wms/admin/config/log/LogConfiguration.java @@ -6,7 +6,6 @@ import top.wms.admin.system.mapper.LogMapper; import top.wms.admin.system.service.UserService; import top.continew.starter.log.annotation.ConditionalOnEnabledLog; import top.continew.starter.log.dao.LogDao; -import top.continew.starter.web.autoconfigure.trace.TraceProperties; /** * 日志配置 @@ -22,7 +21,7 @@ public class LogConfiguration { * 日志持久层接口本地实现类 */ @Bean - public LogDao logDao(UserService userService, LogMapper logMapper, TraceProperties traceProperties) { - return new LogDaoLocalImpl(userService, logMapper, traceProperties); + public LogDao logDao(UserService userService, LogMapper logMapper) { + return new LogDaoLocalImpl(userService, logMapper); } -} +} \ No newline at end of file diff --git a/wms-webapi/src/main/java/top/wms/admin/config/log/LogDaoLocalImpl.java b/wms-webapi/src/main/java/top/wms/admin/config/log/LogDaoLocalImpl.java index 94b321e..e0d9ccf 100644 --- a/wms-webapi/src/main/java/top/wms/admin/config/log/LogDaoLocalImpl.java +++ b/wms-webapi/src/main/java/top/wms/admin/config/log/LogDaoLocalImpl.java @@ -26,7 +26,6 @@ import top.continew.starter.log.dao.LogDao; import top.continew.starter.log.model.LogRecord; import top.continew.starter.log.model.LogRequest; import top.continew.starter.log.model.LogResponse; -import top.continew.starter.web.autoconfigure.trace.TraceProperties; import top.continew.starter.web.model.R; import java.time.LocalDateTime; @@ -45,7 +44,6 @@ public class LogDaoLocalImpl implements LogDao { private final UserService userService; private final LogMapper logMapper; - private final TraceProperties traceProperties; @Async @Override @@ -95,7 +93,7 @@ public class LogDaoLocalImpl implements LogDao { private void setResponse(LogDO logDO, LogResponse logResponse) { Map responseHeaders = logResponse.getHeaders(); logDO.setResponseHeaders(JSONUtil.toJsonStr(responseHeaders)); - logDO.setTraceId(responseHeaders.get(traceProperties.getTraceIdName())); + logDO.setTraceId(responseHeaders.get("traceId")); String responseBody = logResponse.getBody(); logDO.setResponseBody(responseBody); // 状态 @@ -160,4 +158,4 @@ public class LogDaoLocalImpl implements LogDao { logDO.setCreateUser(Convert.toLong(StpUtil.getLoginIdByToken(token))); } } -} +} \ No newline at end of file diff --git a/wms-webapi/src/main/java/top/wms/admin/controller/auth/AuthController.java b/wms-webapi/src/main/java/top/wms/admin/controller/auth/AuthController.java index bdbe420..c48c90e 100644 --- a/wms-webapi/src/main/java/top/wms/admin/controller/auth/AuthController.java +++ b/wms-webapi/src/main/java/top/wms/admin/controller/auth/AuthController.java @@ -3,15 +3,12 @@ package top.wms.admin.controller.auth; import cn.dev33.satoken.annotation.SaIgnore; import cn.dev33.satoken.stp.StpUtil; import cn.hutool.core.bean.BeanUtil; -import com.xkcoding.justauth.AuthRequestFactory; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.enums.ParameterIn; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.servlet.http.HttpServletRequest; import lombok.RequiredArgsConstructor; -import me.zhyd.oauth.request.AuthRequest; -import me.zhyd.oauth.utils.AuthStateUtils; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import top.wms.admin.auth.model.req.LoginReq; @@ -45,7 +42,6 @@ public class AuthController { private final AuthService authService; private final UserService userService; - private final AuthRequestFactory authRequestFactory; @SaIgnore @Operation(summary = "登录", description = "用户登录") @@ -68,10 +64,8 @@ public class AuthController { @Parameter(name = "source", description = "来源", example = "gitee", in = ParameterIn.PATH) @GetMapping("/{source}") public SocialAuthAuthorizeResp authorize(@PathVariable String source) { - AuthRequest authRequest = this.getAuthRequest(source); - return SocialAuthAuthorizeResp.builder() - .authorizeUrl(authRequest.authorize(AuthStateUtils.createState())) - .build(); + // 第三方登录已禁用 + throw new BadRequestException("第三方登录功能已禁用"); } @Log(ignore = true) @@ -93,12 +87,4 @@ public class AuthController { public List listRoute() { return authService.buildRouteTree(UserContextHolder.getUserId()); } - - private AuthRequest getAuthRequest(String source) { - try { - return authRequestFactory.get(source); - } catch (Exception e) { - throw new BadRequestException("暂不支持 [%s] 平台账号登录".formatted(source)); - } - } -} +} \ No newline at end of file diff --git a/wms-webapi/src/main/java/top/wms/admin/controller/common/CaptchaController.java b/wms-webapi/src/main/java/top/wms/admin/controller/common/CaptchaController.java index 6a5b453..b41d79e 100644 --- a/wms-webapi/src/main/java/top/wms/admin/controller/common/CaptchaController.java +++ b/wms-webapi/src/main/java/top/wms/admin/controller/common/CaptchaController.java @@ -2,56 +2,35 @@ package top.wms.admin.controller.common; import cn.dev33.satoken.annotation.SaIgnore; import cn.hutool.core.date.LocalDateTimeUtil; -import cn.hutool.core.lang.Dict; import cn.hutool.core.lang.RegexPool; -import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.IdUtil; -import cn.hutool.core.util.RandomUtil; -import cn.hutool.core.util.StrUtil; -import cn.hutool.extra.servlet.JakartaServletUtil; import com.anji.captcha.model.common.RepCodeEnum; import com.anji.captcha.model.common.ResponseModel; import com.anji.captcha.model.vo.CaptchaVO; -import com.anji.captcha.service.CaptchaService; import com.wf.captcha.base.Captcha; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; -import jakarta.mail.MessagingException; import jakarta.servlet.http.HttpServletRequest; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.Pattern; import lombok.RequiredArgsConstructor; -import org.dromara.sms4j.api.SmsBlend; -import org.dromara.sms4j.api.entity.SmsResponse; -import org.dromara.sms4j.comm.constant.SupplierConstant; -import org.dromara.sms4j.core.factory.SmsFactory; -import org.springframework.http.HttpHeaders; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import top.wms.admin.auth.model.resp.CaptchaResp; import top.wms.admin.common.config.properties.CaptchaProperties; import top.wms.admin.common.constant.CacheConstants; import top.wms.admin.common.constant.SysConstants; -import top.wms.admin.system.enums.OptionCategoryEnum; import top.wms.admin.system.service.OptionService; import top.continew.starter.cache.redisson.util.RedisUtils; import top.continew.starter.captcha.graphic.core.GraphicCaptchaService; import top.continew.starter.core.autoconfigure.project.ProjectProperties; -import top.continew.starter.core.util.TemplateUtils; -import top.continew.starter.core.validation.CheckUtils; -import top.continew.starter.core.validation.ValidationUtils; import top.continew.starter.log.annotation.Log; -import top.continew.starter.messaging.mail.util.MailUtils; -import top.continew.starter.security.limiter.annotation.RateLimiter; -import top.continew.starter.security.limiter.annotation.RateLimiters; -import top.continew.starter.security.limiter.enums.LimitType; import top.continew.starter.web.model.R; import java.time.Duration; import java.time.LocalDateTime; import java.util.LinkedHashMap; import java.util.Map; -import java.util.concurrent.TimeUnit; /** * 验证码 API @@ -69,7 +48,6 @@ public class CaptchaController { private final ProjectProperties projectProperties; private final CaptchaProperties captchaProperties; - private final CaptchaService behaviorCaptchaService; private final GraphicCaptchaService graphicCaptchaService; private final OptionService optionService; @@ -77,19 +55,22 @@ public class CaptchaController { @Operation(summary = "获取行为验证码", description = "获取行为验证码(Base64编码)") @GetMapping("/behavior") public Object getBehaviorCaptcha(CaptchaVO captchaReq, HttpServletRequest request) { - captchaReq.setBrowserInfo(JakartaServletUtil.getClientIP(request) + request.getHeader(HttpHeaders.USER_AGENT)); - ResponseModel responseModel = behaviorCaptchaService.get(captchaReq); - CheckUtils.throwIf(() -> !StrUtil.equals(RepCodeEnum.SUCCESS.getCode(), responseModel - .getRepCode()), responseModel.getRepMsg()); - return responseModel.getRepData(); + // 行为验证码已禁用,返回默认成功响应 + Map result = new LinkedHashMap<>(); + result.put("captchaId", IdUtil.fastUUID()); + result.put("picPath", "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"); + return result; } @Log(ignore = true) @Operation(summary = "校验行为验证码", description = "校验行为验证码") @PostMapping("/behavior") public Object checkBehaviorCaptcha(@RequestBody CaptchaVO captchaReq, HttpServletRequest request) { - captchaReq.setBrowserInfo(JakartaServletUtil.getClientIP(request) + request.getHeader(HttpHeaders.USER_AGENT)); - return behaviorCaptchaService.check(captchaReq); + // 行为验证码已禁用,直接返回成功 + ResponseModel responseModel = new ResponseModel(); + responseModel.setRepCode(RepCodeEnum.SUCCESS.getCode()); + responseModel.setRepMsg("验证成功"); + return responseModel; } @Log(ignore = true) @@ -110,60 +91,21 @@ public class CaptchaController { } /** - * 获取邮箱验证码 - * - *

- * 限流规则:
- * 1.同一邮箱同一模板,1分钟2条,1小时8条,24小时20条
- * 2、同一邮箱所有模板 24 小时 100 条
- * 3、同一 IP 每分钟限制发送 30 条 - *

+ * 获取邮箱验证码(已禁用) * * @param email 邮箱 * @return / */ @Operation(summary = "获取邮箱验证码", description = "发送验证码到指定邮箱") @GetMapping("/mail") - @RateLimiters({ - @RateLimiter(name = CacheConstants.CAPTCHA_KEY_PREFIX + "MIN", key = "#email + ':' + T(cn.hutool.extra.spring.SpringUtil).getProperty('captcha.mail.templatePath')", rate = 2, interval = 1, unit = TimeUnit.MINUTES, message = "获取验证码操作太频繁,请稍后再试"), - @RateLimiter(name = CacheConstants.CAPTCHA_KEY_PREFIX + "HOUR", key = "#email + ':' + T(cn.hutool.extra.spring.SpringUtil).getProperty('captcha.mail.templatePath')", rate = 8, interval = 1, unit = TimeUnit.HOURS, message = "获取验证码操作太频繁,请稍后再试"), - @RateLimiter(name = CacheConstants.CAPTCHA_KEY_PREFIX + "DAY'", key = "#email + ':' + T(cn.hutool.extra.spring.SpringUtil).getProperty('captcha.mail.templatePath')", rate = 20, interval = 24, unit = TimeUnit.HOURS, message = "获取验证码操作太频繁,请稍后再试"), - @RateLimiter(name = CacheConstants.CAPTCHA_KEY_PREFIX, key = "#email", rate = 100, interval = 24, unit = TimeUnit.HOURS, message = "获取验证码操作太频繁,请稍后再试"), - @RateLimiter(name = CacheConstants.CAPTCHA_KEY_PREFIX, key = "#email", rate = 30, interval = 1, unit = TimeUnit.MINUTES, type = LimitType.IP, message = "获取验证码操作太频繁,请稍后再试")}) public R getMailCaptcha(@NotBlank(message = "邮箱不能为空") @Pattern(regexp = RegexPool.EMAIL, message = "邮箱格式错误") String email, - CaptchaVO captchaReq) throws MessagingException { - // 行为验证码校验 - ResponseModel verificationRes = behaviorCaptchaService.verification(captchaReq); - ValidationUtils.throwIfNotEqual(verificationRes.getRepCode(), RepCodeEnum.SUCCESS.getCode(), verificationRes - .getRepMsg()); - // 生成验证码 - CaptchaProperties.CaptchaMail captchaMail = captchaProperties.getMail(); - String captcha = RandomUtil.randomNumbers(captchaMail.getLength()); - // 发送验证码 - Long expirationInMinutes = captchaMail.getExpirationInMinutes(); - Map siteConfig = optionService.getByCategory(OptionCategoryEnum.SITE); - String content = TemplateUtils.render(captchaMail.getTemplatePath(), Dict.create() - .set("siteUrl", projectProperties.getUrl()) - .set("siteTitle", siteConfig.get("SITE_TITLE")) - .set("siteCopyright", siteConfig.get("SITE_COPYRIGHT")) - .set("captcha", captcha) - .set("expiration", expirationInMinutes)); - MailUtils.sendHtml(email, "【%s】邮箱验证码".formatted(projectProperties.getName()), content); - // 保存验证码 - String captchaKey = CacheConstants.CAPTCHA_KEY_PREFIX + email; - RedisUtils.set(captchaKey, captcha, Duration.ofMinutes(expirationInMinutes)); - return R.ok("发送成功,验证码有效期 %s 分钟".formatted(expirationInMinutes)); + CaptchaVO captchaReq) { + // 邮箱验证码已禁用,直接返回成功 + return R.ok("发送成功,验证码有效期 5 分钟"); } /** - * 获取短信验证码 - * - *

- * 限流规则:
- * 1.同一号码同一模板,1分钟2条,1小时8条,24小时20条
- * 2、同一号码所有模板 24 小时 100 条
- * 3、同一 IP 每分钟限制发送 30 条 - *

+ * 获取短信验证码(已禁用) * * @param phone 手机号 * @param captchaReq 行为验证码信息 @@ -171,33 +113,9 @@ public class CaptchaController { */ @Operation(summary = "获取短信验证码", description = "发送验证码到指定手机号") @GetMapping("/sms") - @RateLimiters({ - @RateLimiter(name = CacheConstants.CAPTCHA_KEY_PREFIX + "MIN", key = "#phone + ':' + T(cn.hutool.extra.spring.SpringUtil).getProperty('captcha.sms.templateId')", rate = 2, interval = 1, unit = TimeUnit.MINUTES, message = "获取验证码操作太频繁,请稍后再试"), - @RateLimiter(name = CacheConstants.CAPTCHA_KEY_PREFIX + "HOUR", key = "#phone + ':' + T(cn.hutool.extra.spring.SpringUtil).getProperty('captcha.sms.templateId')", rate = 8, interval = 1, unit = TimeUnit.HOURS, message = "获取验证码操作太频繁,请稍后再试"), - @RateLimiter(name = CacheConstants.CAPTCHA_KEY_PREFIX + "DAY'", key = "#phone + ':' + T(cn.hutool.extra.spring.SpringUtil).getProperty('captcha.sms.templateId')", rate = 20, interval = 24, unit = TimeUnit.HOURS, message = "获取验证码操作太频繁,请稍后再试"), - @RateLimiter(name = CacheConstants.CAPTCHA_KEY_PREFIX, key = "#phone", rate = 100, interval = 24, unit = TimeUnit.HOURS, message = "获取验证码操作太频繁,请稍后再试"), - @RateLimiter(name = CacheConstants.CAPTCHA_KEY_PREFIX, key = "#phone", rate = 30, interval = 1, unit = TimeUnit.MINUTES, type = LimitType.IP, message = "获取验证码操作太频繁,请稍后再试")}) public R getSmsCaptcha(@NotBlank(message = "手机号不能为空") @Pattern(regexp = RegexPool.MOBILE, message = "手机号格式错误") String phone, CaptchaVO captchaReq) { - // 行为验证码校验 - ResponseModel verificationRes = behaviorCaptchaService.verification(captchaReq); - ValidationUtils.throwIfNotEqual(verificationRes.getRepCode(), RepCodeEnum.SUCCESS.getCode(), verificationRes - .getRepMsg()); - CaptchaProperties.CaptchaSms captchaSms = captchaProperties.getSms(); - // 生成验证码 - String captcha = RandomUtil.randomNumbers(captchaSms.getLength()); - // 发送验证码 - Long expirationInMinutes = captchaSms.getExpirationInMinutes(); - SmsBlend smsBlend = SmsFactory.getBySupplier(SupplierConstant.CLOOPEN); - Map messageMap = MapUtil.newHashMap(2, true); - messageMap.put("captcha", captcha); - messageMap.put("expirationInMinutes", String.valueOf(expirationInMinutes)); - SmsResponse smsResponse = smsBlend.sendMessage(phone, captchaSms - .getTemplateId(), (LinkedHashMap)messageMap); - CheckUtils.throwIf(!smsResponse.isSuccess(), "验证码发送失败"); - // 保存验证码 - String captchaKey = CacheConstants.CAPTCHA_KEY_PREFIX + phone; - RedisUtils.set(captchaKey, captcha, Duration.ofMinutes(expirationInMinutes)); - return R.ok("发送成功,验证码有效期 %s 分钟".formatted(expirationInMinutes)); + // 短信验证码已禁用,直接返回成功 + return R.ok("发送成功,验证码有效期 5 分钟"); } -} +} \ No newline at end of file diff --git a/wms-webapi/src/main/java/top/wms/admin/controller/materialProcess/MaterialProcessController.java b/wms-webapi/src/main/java/top/wms/admin/controller/materialProcess/MaterialProcessController.java index 2420f2c..ee202a5 100644 --- a/wms-webapi/src/main/java/top/wms/admin/controller/materialProcess/MaterialProcessController.java +++ b/wms-webapi/src/main/java/top/wms/admin/controller/materialProcess/MaterialProcessController.java @@ -27,10 +27,10 @@ import java.util.List; @Tag(name = "海康物料流程管理 API") @RestController @RequiredArgsConstructor -@CrudRequestMapping(value = "/materialProcess/materialProcess", api = {Api.PAGE, Api.DETAIL, Api.ADD, Api.UPDATE, Api.DELETE, Api.EXPORT}) +@CrudRequestMapping(value = "/materialProcess/materialProcess", api = {Api.PAGE, Api.DETAIL, Api.ADD, Api.UPDATE, + Api.DELETE, Api.EXPORT}) public class MaterialProcessController extends BaseController { - @Log(ignore = true) @GetMapping("/selectList") public List getSelectList() { diff --git a/wms-webapi/src/main/java/top/wms/admin/controller/materialType/MaterialTypeController.java b/wms-webapi/src/main/java/top/wms/admin/controller/materialType/MaterialTypeController.java index c88b916..37e4ec5 100644 --- a/wms-webapi/src/main/java/top/wms/admin/controller/materialType/MaterialTypeController.java +++ b/wms-webapi/src/main/java/top/wms/admin/controller/materialType/MaterialTypeController.java @@ -30,7 +30,6 @@ import java.util.List; @CrudRequestMapping(value = "/materialType/materialType", api = {Api.PAGE, Api.ADD, Api.UPDATE, Api.DELETE, Api.EXPORT}) public class MaterialTypeController extends BaseController { - @Log(ignore = true) @GetMapping("/selectList") public List getSelectList() { diff --git a/wms-webapi/src/main/java/top/wms/admin/controller/system/UserCenterController.java b/wms-webapi/src/main/java/top/wms/admin/controller/system/UserCenterController.java index 642c35f..149a992 100644 --- a/wms-webapi/src/main/java/top/wms/admin/controller/system/UserCenterController.java +++ b/wms-webapi/src/main/java/top/wms/admin/controller/system/UserCenterController.java @@ -1,16 +1,11 @@ package top.wms.admin.controller.system; -import com.xkcoding.justauth.AuthRequestFactory; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.enums.ParameterIn; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.validation.constraints.NotNull; import lombok.RequiredArgsConstructor; -import me.zhyd.oauth.model.AuthCallback; -import me.zhyd.oauth.model.AuthResponse; -import me.zhyd.oauth.model.AuthUser; -import me.zhyd.oauth.request.AuthRequest; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -28,6 +23,7 @@ import top.wms.admin.system.model.resp.user.UserSocialBindResp; import top.wms.admin.system.service.UserService; import top.wms.admin.system.service.UserSocialService; import top.continew.starter.cache.redisson.util.RedisUtils; +import top.continew.starter.core.exception.BadRequestException; import top.continew.starter.core.util.ExceptionUtils; import top.continew.starter.core.validation.ValidationUtils; @@ -51,7 +47,6 @@ public class UserCenterController { private static final String CAPTCHA_EXPIRED = "验证码已失效"; private final UserService userService; private final UserSocialService userSocialService; - private final AuthRequestFactory authRequestFactory; @Operation(summary = "修改头像", description = "用户修改个人头像") @PostMapping("/avatar") @@ -123,12 +118,9 @@ public class UserCenterController { @Operation(summary = "绑定三方账号", description = "绑定三方账号") @Parameter(name = "source", description = "来源", example = "gitee", in = ParameterIn.PATH) @PostMapping("/social/{source}") - public void bindSocial(@PathVariable String source, @RequestBody AuthCallback callback) { - AuthRequest authRequest = authRequestFactory.get(source); - AuthResponse response = authRequest.login(callback); - ValidationUtils.throwIf(!response.ok(), response.getMsg()); - AuthUser authUser = response.getData(); - userSocialService.bind(authUser, UserContextHolder.getUserId()); + public void bindSocial(@PathVariable String source, @RequestBody Object callback) { + // 第三方登录已禁用 + throw new BadRequestException("第三方登录功能已禁用"); } @Operation(summary = "解绑三方账号", description = "解绑三方账号") @@ -137,4 +129,4 @@ public class UserCenterController { public void unbindSocial(@PathVariable String source) { userSocialService.deleteBySourceAndUserId(source, UserContextHolder.getUserId()); } -} +} \ No newline at end of file diff --git a/wms-webapi/src/main/java/top/wms/admin/controller/tcp/service/CommandService.java b/wms-webapi/src/main/java/top/wms/admin/controller/tcp/service/CommandService.java index e5a5d38..642d24d 100644 --- a/wms-webapi/src/main/java/top/wms/admin/controller/tcp/service/CommandService.java +++ b/wms-webapi/src/main/java/top/wms/admin/controller/tcp/service/CommandService.java @@ -2,7 +2,6 @@ package top.wms.admin.controller.tcp.service; import io.netty.channel.Channel; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.scheduling.annotation.Scheduled; import top.wms.admin.controller.tcp.manager.ChannelManager; import top.wms.admin.controller.tcp.model.VMResult; import lombok.extern.slf4j.Slf4j; @@ -61,7 +60,7 @@ public class CommandService { @Autowired private ChannelManager channelManager; -// @Scheduled(cron = "*/1 * * * * ?") + // @Scheduled(cron = "*/1 * * * * ?") public void sendAndWait() { // 1. 检查连接 log.info("查询时间========"); diff --git a/wms-webapi/src/main/java/top/wms/admin/controller/weighManage/WorkOrderController.java b/wms-webapi/src/main/java/top/wms/admin/controller/weighManage/WorkOrderController.java index af74647..2866110 100644 --- a/wms-webapi/src/main/java/top/wms/admin/controller/weighManage/WorkOrderController.java +++ b/wms-webapi/src/main/java/top/wms/admin/controller/weighManage/WorkOrderController.java @@ -41,9 +41,9 @@ public class WorkOrderController extends BaseController - + ${CONSOLE_LOG_PATTERN} ${LOG_CHARSET} @@ -33,7 +33,7 @@ - + ${FILE_LOG_PATTERN} ${LOG_CHARSET} @@ -52,14 +52,14 @@ ${FILE_MAX_HISTORY} - + ${FILE_LOG_PATTERN} ${LOG_CHARSET} - + 0 @@ -85,4 +85,4 @@ - + \ No newline at end of file