diff --git a/tduck-account/src/main/java/com/tduck/cloud/account/service/UserService.java b/tduck-account/src/main/java/com/tduck/cloud/account/service/UserService.java index 895f435..7fbbc85 100644 --- a/tduck-account/src/main/java/com/tduck/cloud/account/service/UserService.java +++ b/tduck-account/src/main/java/com/tduck/cloud/account/service/UserService.java @@ -6,7 +6,7 @@ import com.tduck.cloud.account.entity.enums.AccountChannelEnum; import com.tduck.cloud.account.request.AccountLoginRequest; import com.tduck.cloud.account.request.QqLoginRequest; import com.tduck.cloud.account.request.RegisterAccountRequest; -import com.tduck.cloud.account.vo.LoginUserVO; +import com.tduck.cloud.common.vo.LoginUserVO; import com.tduck.cloud.common.util.Result; /** diff --git a/tduck-account/src/main/java/com/tduck/cloud/account/service/impl/UserServiceImpl.java b/tduck-account/src/main/java/com/tduck/cloud/account/service/impl/UserServiceImpl.java index 7f732ac..4b430e0 100644 --- a/tduck-account/src/main/java/com/tduck/cloud/account/service/impl/UserServiceImpl.java +++ b/tduck-account/src/main/java/com/tduck/cloud/account/service/impl/UserServiceImpl.java @@ -20,8 +20,8 @@ import com.tduck.cloud.account.service.UserAuthorizeService; import com.tduck.cloud.account.service.UserService; import com.tduck.cloud.account.util.JwtUtils; import com.tduck.cloud.account.util.NameUtils; -import com.tduck.cloud.account.util.LoginUserUtil; -import com.tduck.cloud.account.vo.LoginUserVO; +import com.tduck.cloud.common.util.LoginUserUtil; +import com.tduck.cloud.common.vo.LoginUserVO; import com.tduck.cloud.common.util.RedisUtils; import com.tduck.cloud.common.util.Result; import lombok.RequiredArgsConstructor; diff --git a/tduck-api/src/main/java/com/tduck/cloud/api/web/controller/UserLoginController.java b/tduck-api/src/main/java/com/tduck/cloud/api/web/controller/UserLoginController.java index b885bfd..67931dc 100644 --- a/tduck-api/src/main/java/com/tduck/cloud/api/web/controller/UserLoginController.java +++ b/tduck-api/src/main/java/com/tduck/cloud/api/web/controller/UserLoginController.java @@ -16,7 +16,7 @@ import com.tduck.cloud.account.request.RetrievePasswordRequest; import com.tduck.cloud.account.service.UserService; import com.tduck.cloud.account.service.UserValidateService; import com.tduck.cloud.account.util.QqAuthorizationUtils; -import com.tduck.cloud.account.vo.LoginUserVO; +import com.tduck.cloud.common.vo.LoginUserVO; import com.tduck.cloud.api.util.HttpUtils; import com.tduck.cloud.common.util.JsonUtils; import com.tduck.cloud.common.util.RedisUtils; diff --git a/tduck-api/src/main/java/com/tduck/cloud/api/web/interceptor/AuthorizationInterceptor.java b/tduck-api/src/main/java/com/tduck/cloud/api/web/interceptor/AuthorizationInterceptor.java index 51c1790..edc41b2 100644 --- a/tduck-api/src/main/java/com/tduck/cloud/api/web/interceptor/AuthorizationInterceptor.java +++ b/tduck-api/src/main/java/com/tduck/cloud/api/web/interceptor/AuthorizationInterceptor.java @@ -3,8 +3,8 @@ package com.tduck.cloud.api.web.interceptor; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.tduck.cloud.account.util.JwtUtils; -import com.tduck.cloud.account.util.LoginUserUtil; -import com.tduck.cloud.account.vo.LoginUserVO; +import com.tduck.cloud.common.util.LoginUserUtil; +import com.tduck.cloud.common.vo.LoginUserVO; import com.tduck.cloud.api.annotation.Login; import com.tduck.cloud.api.exception.AuthorizationException; import com.tduck.cloud.common.constant.CommonConstants; diff --git a/tduck-account/src/main/java/com/tduck/cloud/account/util/LoginUserUtil.java b/tduck-common/src/main/java/com/tduck/cloud/common/util/LoginUserUtil.java similarity index 85% rename from tduck-account/src/main/java/com/tduck/cloud/account/util/LoginUserUtil.java rename to tduck-common/src/main/java/com/tduck/cloud/common/util/LoginUserUtil.java index df469db..5c5c19f 100644 --- a/tduck-account/src/main/java/com/tduck/cloud/account/util/LoginUserUtil.java +++ b/tduck-common/src/main/java/com/tduck/cloud/common/util/LoginUserUtil.java @@ -1,6 +1,7 @@ -package com.tduck.cloud.account.util; +package com.tduck.cloud.common.util; -import com.tduck.cloud.account.vo.LoginUserVO; + +import com.tduck.cloud.common.vo.LoginUserVO; /** * desc: 用户信息ThreadLocal 暂时只有用户Id和customerId diff --git a/tduck-account/src/main/java/com/tduck/cloud/account/vo/LoginUserVO.java b/tduck-common/src/main/java/com/tduck/cloud/common/vo/LoginUserVO.java similarity index 93% rename from tduck-account/src/main/java/com/tduck/cloud/account/vo/LoginUserVO.java rename to tduck-common/src/main/java/com/tduck/cloud/common/vo/LoginUserVO.java index 1cb56d5..1250f85 100644 --- a/tduck-account/src/main/java/com/tduck/cloud/account/vo/LoginUserVO.java +++ b/tduck-common/src/main/java/com/tduck/cloud/common/vo/LoginUserVO.java @@ -1,4 +1,4 @@ -package com.tduck.cloud.account.vo; +package com.tduck.cloud.common.vo; import lombok.AllArgsConstructor; import lombok.Data; diff --git a/tduck-project/src/main/java/com/tduck/cloud/project/entity/UserProjectResultEntity.java b/tduck-project/src/main/java/com/tduck/cloud/project/entity/UserProjectResultEntity.java index 1ad87a3..80db7db 100644 --- a/tduck-project/src/main/java/com/tduck/cloud/project/entity/UserProjectResultEntity.java +++ b/tduck-project/src/main/java/com/tduck/cloud/project/entity/UserProjectResultEntity.java @@ -87,6 +87,11 @@ public class UserProjectResultEntity extends BaseEntity */ private Long completeTime; + /** + * 用户Id + */ + private String userId; + /** * 微信openID */ diff --git a/tduck-project/src/main/java/com/tduck/cloud/project/entity/UserProjectSettingEntity.java b/tduck-project/src/main/java/com/tduck/cloud/project/entity/UserProjectSettingEntity.java index f254c70..61f7af2 100644 --- a/tduck-project/src/main/java/com/tduck/cloud/project/entity/UserProjectSettingEntity.java +++ b/tduck-project/src/main/java/com/tduck/cloud/project/entity/UserProjectSettingEntity.java @@ -56,10 +56,15 @@ public class UserProjectSettingEntity extends BaseEntity wrapper = Wrappers.lambdaQuery() .eq(UserProjectResultEntity::getProjectKey, projectKey) .eq(UserProjectResultEntity::getSubmitRequestIp, requestIp); @@ -84,6 +86,19 @@ public class UserProjectSettingServiceImpl extends ServiceImpl wrapper = Wrappers.lambdaQuery() + .eq(UserProjectResultEntity::getProjectKey, projectKey) + .eq(UserProjectResultEntity::getUserId, LoginUserUtil.get().getUserId()); + if (everyoneDayWriteOnce) { + wrapper.apply(StrUtil.format("date_format({},'%Y-%m-%d') = '{}'", + StrUtil.toUnderlineCase(BaseEntity.Fields.createTime), DateUtil.today())); + } + int writeCount = userProjectResultService.count(wrapper); + if (CommonConstants.ConstantNumber.ONE <= writeCount) { + return Result.success(null, setting.getWriteOncePromptText()); + } + } //每个微信仅填写一次 if (setting.getWxWriteOnce() && StrUtil.isNotEmpty(wxOpenId)) { LambdaQueryWrapper wrapper = Wrappers.lambdaQuery() @@ -102,4 +117,4 @@ public class UserProjectSettingServiceImpl extends ServiceImpllambdaQuery().eq(UserProjectSettingEntity::getProjectKey, projectKey)); } -} \ No newline at end of file +}