wangqing 5 years ago
parent
commit
7f95ca5423
  1. 5
      .gitignore
  2. 1
      tduck-account/src/main/java/com/tduck/cloud/account/entity/UserAuthorizeEntity.java
  3. 1
      tduck-account/src/main/java/com/tduck/cloud/account/mapper/UserMapper.java
  4. 2
      tduck-account/src/main/java/com/tduck/cloud/account/request/QqLoginRequest.java
  5. 3
      tduck-account/src/main/java/com/tduck/cloud/account/request/RegisterAccountRequest.java
  6. 1
      tduck-account/src/main/java/com/tduck/cloud/account/request/UpdateUserRequest.java
  7. 1
      tduck-account/src/main/java/com/tduck/cloud/account/service/UserAuthorizeService.java
  8. 1
      tduck-account/src/main/java/com/tduck/cloud/account/service/UserService.java
  9. 1
      tduck-account/src/main/java/com/tduck/cloud/account/service/impl/UserAuthorizeServiceImpl.java
  10. 10
      tduck-account/src/main/java/com/tduck/cloud/account/service/impl/UserServiceImpl.java
  11. 1
      tduck-account/src/main/java/com/tduck/cloud/account/service/impl/UserValidateServiceImpl.java
  12. 2
      tduck-api/src/main/java/com/tduck/cloud/api/TduckApiApplication.java
  13. 2
      tduck-api/src/main/java/com/tduck/cloud/api/config/PlatformSignProperties.java
  14. 2
      tduck-api/src/main/java/com/tduck/cloud/api/config/RedisConfig.java
  15. 6
      tduck-api/src/main/java/com/tduck/cloud/api/config/Swagger2Config.java
  16. 6
      tduck-api/src/main/java/com/tduck/cloud/api/config/WebMvcConfig.java
  17. 1
      tduck-api/src/main/java/com/tduck/cloud/api/handler/WxMpUserSubscribeEventHandler.java
  18. 4
      tduck-api/src/main/java/com/tduck/cloud/api/util/HttpUtils.java
  19. 5
      tduck-api/src/main/java/com/tduck/cloud/api/util/ResponseUtils.java
  20. 11
      tduck-api/src/main/java/com/tduck/cloud/api/web/controller/ProjectDashboardController.java
  21. 5
      tduck-api/src/main/java/com/tduck/cloud/api/web/controller/ProjectTemplateController.java
  22. 2
      tduck-api/src/main/java/com/tduck/cloud/api/web/controller/UserController.java
  23. 7
      tduck-api/src/main/java/com/tduck/cloud/api/web/controller/UserProjectController.java
  24. 19
      tduck-api/src/main/java/com/tduck/cloud/api/web/controller/UserProjectLogicController.java
  25. 39
      tduck-api/src/main/java/com/tduck/cloud/api/web/controller/UserProjectResultController.java
  26. 6
      tduck-api/src/main/java/com/tduck/cloud/api/web/controller/WxJsApiController.java
  27. 19
      tduck-api/src/main/java/com/tduck/cloud/api/web/controller/WxPortalController.java
  28. 1
      tduck-api/src/main/java/com/tduck/cloud/api/web/filter/HttpTraceLogFilter.java
  29. 3
      tduck-api/src/main/java/com/tduck/cloud/api/web/filter/ValidateCodeFilter.java
  30. 1
      tduck-api/src/main/java/com/tduck/cloud/api/web/interceptor/NoRepeatSubmitInterceptor.java
  31. 2
      tduck-api/src/main/resources/db/migration/V2.0_20210412_1234__update.sql
  32. 5
      tduck-common/src/main/java/com/tduck/cloud/common/constant/CommonConstants.java
  33. 2
      tduck-common/src/main/java/com/tduck/cloud/common/email/MailServiceImpl.java
  34. 2
      tduck-common/src/main/java/com/tduck/cloud/common/mybatis/wrapper/JsonWrappers.java
  35. 3
      tduck-common/src/main/java/com/tduck/cloud/common/util/Result.java
  36. 1
      tduck-project/src/main/java/com/tduck/cloud/project/entity/ProjectThemeEntity.java
  37. 3
      tduck-project/src/main/java/com/tduck/cloud/project/entity/UserProjectEntity.java
  38. 2
      tduck-project/src/main/java/com/tduck/cloud/project/entity/UserProjectItemEntity.java
  39. 1
      tduck-project/src/main/java/com/tduck/cloud/project/entity/UserProjectResultEntity.java
  40. 4
      tduck-project/src/main/java/com/tduck/cloud/project/entity/UserProjectSettingEntity.java
  41. 2
      tduck-project/src/main/java/com/tduck/cloud/project/entity/UserProjectThemeEntity.java
  42. 46
      tduck-project/src/main/java/com/tduck/cloud/project/entity/enums/ProjectItemTypeEnum.java
  43. 2
      tduck-project/src/main/java/com/tduck/cloud/project/entity/enums/ProjectStatusEnum.java
  44. 2
      tduck-project/src/main/java/com/tduck/cloud/project/entity/struct/ItemDefaultValueStruct.java
  45. 4
      tduck-project/src/main/java/com/tduck/cloud/project/mapper/ProjectDashboardMapper.java
  46. 5
      tduck-project/src/main/java/com/tduck/cloud/project/request/QueryProjectRequest.java
  47. 3
      tduck-project/src/main/java/com/tduck/cloud/project/request/QueryProjectResultRequest.java
  48. 4
      tduck-project/src/main/java/com/tduck/cloud/project/request/QueryProjectTemplateRequest.java
  49. 5
      tduck-project/src/main/java/com/tduck/cloud/project/request/QueryProjectTemplateTypeRequest.java
  50. 5
      tduck-project/src/main/java/com/tduck/cloud/project/request/SortProjectItemRequest.java
  51. 1
      tduck-project/src/main/java/com/tduck/cloud/project/service/UserProjectService.java
  52. 10
      tduck-project/src/main/java/com/tduck/cloud/project/service/impl/UserProjectResultServiceImpl.java
  53. 1
      tduck-project/src/main/java/com/tduck/cloud/project/service/impl/UserProjectServiceImpl.java
  54. 1
      tduck-project/src/main/java/com/tduck/cloud/project/service/impl/UserProjectSettingServiceImpl.java
  55. 1
      tduck-project/src/main/java/com/tduck/cloud/project/vo/ProjectReportVO.java
  56. 2
      tduck-project/src/main/java/com/tduck/cloud/project/vo/ProjectTemplateDetailVO.java
  57. 5
      tduck-project/src/main/java/com/tduck/cloud/project/vo/RecycleProjectVO.java
  58. 2
      tduck-storage/src/main/java/com/tduck/cloud/storage/cloud/OssStorageConfig.java
  59. 1
      tduck-storage/src/main/java/com/tduck/cloud/storage/cloud/OssStorageFactory.java
  60. 1
      tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/config/WxMpConfiguration.java
  61. 3
      tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/entity/WxMpUserEntity.java
  62. 3
      tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/event/WxMpUserSubscribeEvent.java
  63. 13
      tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/handler/ScanHandler.java
  64. 13
      tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/handler/SubscribeHandler.java
  65. 3
      tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/handler/scan/BindAccountScanStrategy.java
  66. 3
      tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/handler/scan/LoginScanStrategy.java
  67. 2
      tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/handler/scan/ScanStrategy.java
  68. 11
      tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/handler/scan/ScanStrategyContext.java
  69. 5
      tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/handler/scan/SubNotifyScanStrategy.java
  70. 1
      tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/service/impl/WxMpUserMsgServiceImpl.java

5
.gitignore

@ -4,7 +4,7 @@ target/
!**/src/main/**/target/
!**/src/test/**/target/
/logs/
!**/src/main/resources/application-prod1.yml
### STS ###
.apt_generated
.classpath
@ -26,8 +26,7 @@ target/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
build/ !**/src/main/**/build/
!**/src/test/**/build/
### VS Code ###

1
tduck-account/src/main/java/com/tduck/cloud/account/entity/UserAuthorizeEntity.java

@ -2,7 +2,6 @@ package com.tduck.cloud.account.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.JsonNode;
import com.tduck.cloud.account.entity.enums.UserAuthorizeTypeEnum;
import com.tduck.cloud.common.entity.BaseEntity;
import com.tduck.cloud.common.mybatis.handler.JacksonTypeHandler;

1
tduck-account/src/main/java/com/tduck/cloud/account/mapper/UserMapper.java

@ -2,7 +2,6 @@ package com.tduck.cloud.account.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.tduck.cloud.account.entity.UserEntity;
import com.tduck.cloud.account.entity.UserEntity;
/**
* 用户(AcUser)表数据库访问层

2
tduck-account/src/main/java/com/tduck/cloud/account/request/QqLoginRequest.java

@ -2,8 +2,6 @@ package com.tduck.cloud.account.request;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @author : smalljop
* @description : qq登录

3
tduck-account/src/main/java/com/tduck/cloud/account/request/RegisterAccountRequest.java

@ -1,11 +1,8 @@
package com.tduck.cloud.account.request;
import cn.hutool.core.lang.Validator;
import lombok.Data;
import javax.validation.constraints.Max;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
/**
* @author : smalljop

1
tduck-account/src/main/java/com/tduck/cloud/account/request/UpdateUserRequest.java

@ -4,7 +4,6 @@ package com.tduck.cloud.account.request;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
/**
* 更新用户请求

1
tduck-account/src/main/java/com/tduck/cloud/account/service/UserAuthorizeService.java

@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.tduck.cloud.account.entity.UserAuthorizeEntity;
import com.tduck.cloud.account.entity.UserEntity;
import com.tduck.cloud.account.entity.enums.UserAuthorizeTypeEnum;
import com.tduck.cloud.account.util.QqAuthorizationUtils;
/**
* 第三方用户授权信息(AcUserAuthorize)表服务接口

1
tduck-account/src/main/java/com/tduck/cloud/account/service/UserService.java

@ -8,7 +8,6 @@ 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.util.Result;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
/**
* 用户(AcUser)表服务接口

1
tduck-account/src/main/java/com/tduck/cloud/account/service/impl/UserAuthorizeServiceImpl.java

@ -9,7 +9,6 @@ import com.tduck.cloud.account.entity.UserEntity;
import com.tduck.cloud.account.entity.enums.UserAuthorizeTypeEnum;
import com.tduck.cloud.account.mapper.UserAuthorizeMapper;
import com.tduck.cloud.account.service.UserAuthorizeService;
import com.tduck.cloud.account.service.UserService;
import com.tduck.cloud.account.util.QqAuthorizationUtils;
import com.tduck.cloud.common.util.JsonUtils;
import lombok.RequiredArgsConstructor;

10
tduck-account/src/main/java/com/tduck/cloud/account/service/impl/UserServiceImpl.java

@ -1,21 +1,17 @@
package com.tduck.cloud.account.service.impl;
import cn.hutool.captcha.generator.RandomGenerator;
import cn.hutool.core.lang.Validator;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.ReUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.digest.DigestUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fasterxml.jackson.databind.JsonNode;
import com.tduck.cloud.account.constant.AccountConstants;
import com.tduck.cloud.account.constant.AccountRedisKeyConstants;
import com.tduck.cloud.account.entity.UserAuthorizeEntity;
import com.tduck.cloud.account.entity.UserEntity;
import com.tduck.cloud.account.entity.enums.AccountChannelEnum;
import com.tduck.cloud.account.entity.enums.UserAuthorizeTypeEnum;
import com.tduck.cloud.account.mapper.UserMapper;
import com.tduck.cloud.account.request.AccountLoginRequest;
import com.tduck.cloud.account.request.QqLoginRequest;
@ -24,15 +20,9 @@ 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.QqAuthorizationUtils;
import com.tduck.cloud.account.vo.LoginUserVO;
import com.tduck.cloud.common.constant.CommonConstants;
import com.tduck.cloud.common.email.MailService;
import com.tduck.cloud.common.sms.SmsService;
import com.tduck.cloud.common.util.JsonUtils;
import com.tduck.cloud.common.util.RedisUtils;
import com.tduck.cloud.common.util.Result;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

1
tduck-account/src/main/java/com/tduck/cloud/account/service/impl/UserValidateServiceImpl.java

@ -12,7 +12,6 @@ import com.tduck.cloud.account.request.UpdateUserRequest;
import com.tduck.cloud.account.service.UserValidateService;
import com.tduck.cloud.common.constant.CommonConstants;
import com.tduck.cloud.common.email.MailService;
import com.tduck.cloud.common.exception.BaseException;
import com.tduck.cloud.common.sms.SmsService;
import com.tduck.cloud.common.util.RedisUtils;
import lombok.RequiredArgsConstructor;

2
tduck-api/src/main/java/com/tduck/cloud/api/TduckApiApplication.java

@ -6,7 +6,7 @@ import org.springframework.context.annotation.ComponentScan;
import org.springframework.scheduling.annotation.EnableAsync;
/**
* @author hasee
* @author smalljop
*/
@SpringBootApplication
@EnableAsync

2
tduck-api/src/main/java/com/tduck/cloud/api/config/PlatformSignProperties.java

@ -8,7 +8,7 @@ import java.util.ArrayList;
import java.util.List;
/**
* @author hasee
* @author smalljop
*/
@Data
@Configuration

2
tduck-api/src/main/java/com/tduck/cloud/api/config/RedisConfig.java

@ -1,10 +1,8 @@
package com.tduck.cloud.api.config;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

6
tduck-api/src/main/java/com/tduck/cloud/api/config/Swagger2Config.java

@ -1,21 +1,15 @@
package com.tduck.cloud.api.config;
import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j;
import com.google.common.base.Function;
import com.google.common.base.Optional;
import com.google.common.base.Predicate;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import springfox.bean.validators.configuration.BeanValidatorPluginsConfiguration;
import springfox.documentation.RequestHandler;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.SpringfoxWebMvcConfiguration;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

6
tduck-api/src/main/java/com/tduck/cloud/api/config/WebMvcConfig.java

@ -10,13 +10,15 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
import org.springframework.web.servlet.config.annotation.*;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import java.io.File;
import java.util.List;
/**
* @author hasee
* @author smalljop
*/
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {

1
tduck-api/src/main/java/com/tduck/cloud/api/handler/WxMpUserSubscribeEventHandler.java

@ -7,7 +7,6 @@ import com.tduck.cloud.wx.mp.entity.WxMpUserEntity;
import com.tduck.cloud.wx.mp.event.WxMpUserSubscribeEvent;
import com.tduck.cloud.wx.mp.handler.scan.LoginScanStrategy;
import com.tduck.cloud.wx.mp.service.WxMpUserService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.event.EventListener;

4
tduck-api/src/main/java/com/tduck/cloud/api/util/HttpUtils.java

@ -1,8 +1,5 @@
package com.tduck.cloud.api.util;
import cn.hutool.core.lang.PatternPool;
import cn.hutool.core.lang.Validator;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.CharUtil;
import cn.hutool.core.util.StrUtil;
import com.tduck.cloud.api.web.wrapper.BodyReaderHttpServletRequestWrapper;
@ -14,7 +11,6 @@ import org.springframework.http.MediaType;
import javax.servlet.http.HttpServletRequest;
import java.util.*;
import java.util.regex.Pattern;
/**
* http 工具类 获取请求中的参数

5
tduck-api/src/main/java/com/tduck/cloud/api/util/ResponseUtils.java

@ -6,7 +6,10 @@ import org.apache.commons.io.IOUtils;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.io.BufferedInputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.URLEncoder;
/**

11
tduck-api/src/main/java/com/tduck/cloud/api/web/controller/ProjectDashboardController.java

@ -1,28 +1,17 @@
package com.tduck.cloud.api.web.controller;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.google.common.collect.Maps;
import com.tduck.cloud.api.annotation.Login;
import com.tduck.cloud.common.constant.CommonConstants;
import com.tduck.cloud.common.entity.BaseEntity;
import com.tduck.cloud.common.util.RedisUtils;
import com.tduck.cloud.common.util.Result;
import com.tduck.cloud.project.entity.UserProjectEntity;
import com.tduck.cloud.project.entity.UserProjectResultEntity;
import com.tduck.cloud.project.request.QueryProjectRequest;
import com.tduck.cloud.project.service.ProjectDashboardService;
import com.tduck.cloud.project.service.UserProjectResultService;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestAttribute;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static com.tduck.cloud.project.constant.ProjectRedisKeyConstants.PROJECT_VIEW_IP_LIST;

5
tduck-api/src/main/java/com/tduck/cloud/api/web/controller/ProjectTemplateController.java

@ -9,7 +9,10 @@ import com.tduck.cloud.common.util.Result;
import com.tduck.cloud.common.validator.ValidatorUtils;
import com.tduck.cloud.common.validator.group.AddGroup;
import com.tduck.cloud.project.constant.ProjectRedisKeyConstants;
import com.tduck.cloud.project.entity.*;
import com.tduck.cloud.project.entity.ProjectTemplateCategoryEntity;
import com.tduck.cloud.project.entity.ProjectTemplateEntity;
import com.tduck.cloud.project.entity.ProjectTemplateItemEntity;
import com.tduck.cloud.project.entity.UserProjectItemEntity;
import com.tduck.cloud.project.request.OperateProjectItemRequest;
import com.tduck.cloud.project.request.QueryProjectTemplateRequest;
import com.tduck.cloud.project.request.QueryProjectTemplateTypeRequest;

2
tduck-api/src/main/java/com/tduck/cloud/api/web/controller/UserController.java

@ -3,9 +3,7 @@ package com.tduck.cloud.api.web.controller;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.lang.Validator;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.digest.DigestUtil;
import com.tduck.cloud.account.constant.AccountRedisKeyConstants;
import com.tduck.cloud.account.entity.UserAuthorizeEntity;
import com.tduck.cloud.account.entity.UserEntity;
import com.tduck.cloud.account.entity.enums.UserAuthorizeTypeEnum;

7
tduck-api/src/main/java/com/tduck/cloud/api/web/controller/UserProjectController.java

@ -83,7 +83,7 @@ public class UserProjectController {
@PostMapping("/user/project/create")
public Result createProject(@RequestBody UserProjectEntity project, @RequestAttribute Long userId) {
ValidatorUtils.validateEntity(project, AddGroup.class);
project.setKey(IdUtil.simpleUUID());
project.setKey(IdUtil.fastSimpleUUID());
project.setUserId(userId);
project.setStatus(ProjectStatusEnum.CREATE);
project.setSourceType(ProjectSourceTypeEnum.BLANK);
@ -91,6 +91,8 @@ public class UserProjectController {
return Result.success(project.getKey());
}
/**
* 从模板创建项目
*
@ -107,7 +109,7 @@ public class UserProjectController {
BeanUtil.copyProperties(projectTemplateEntity, userProjectEntity, UserProjectEntity.Fields.status);
userProjectEntity.setSourceType(ProjectSourceTypeEnum.TEMPLATE);
userProjectEntity.setSourceId(projectTemplateEntity.getId().toString());
userProjectEntity.setKey(IdUtil.simpleUUID());
userProjectEntity.setKey(IdUtil.fastSimpleUUID());
userProjectEntity.setUserId(userId);
userProjectEntity.setStatus(ProjectStatusEnum.CREATE);
projectService.save(userProjectEntity);
@ -118,6 +120,7 @@ public class UserProjectController {
}
/**
* 根据条件查询所有项目
*

19
tduck-api/src/main/java/com/tduck/cloud/api/web/controller/UserProjectLogicController.java

@ -0,0 +1,19 @@
package com.tduck.cloud.api.web.controller;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RestController;
/**
* @author : smalljop
* @description : 项目
* @create : 2020-11-18 18:17
**/
@RequiredArgsConstructor
@RestController
@Slf4j
public class UserProjectLogicController {
}

39
tduck-api/src/main/java/com/tduck/cloud/api/web/controller/UserProjectResultController.java

@ -1,66 +1,39 @@
package com.tduck.cloud.api.web.controller;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import cn.hutool.poi.excel.ExcelUtil;
import cn.hutool.poi.excel.ExcelWriter;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Sets;
import com.tduck.cloud.api.annotation.Login;
import com.tduck.cloud.api.annotation.NoRepeatSubmit;
import com.tduck.cloud.api.util.HttpUtils;
import com.tduck.cloud.common.constant.CommonConstants;
import com.tduck.cloud.common.email.MailService;
import com.tduck.cloud.common.util.JsonUtils;
import com.tduck.cloud.common.util.RedisUtils;
import com.tduck.cloud.common.util.Result;
import com.tduck.cloud.common.validator.ValidatorUtils;
import com.tduck.cloud.common.validator.group.AddGroup;
import com.tduck.cloud.common.validator.group.UpdateGroup;
import com.tduck.cloud.project.constant.ProjectRedisKeyConstants;
import com.tduck.cloud.project.entity.*;
import com.tduck.cloud.project.entity.enums.ProjectStatusEnum;
import com.tduck.cloud.project.entity.struct.ItemDefaultValueStruct;
import com.tduck.cloud.project.request.OperateProjectItemRequest;
import com.tduck.cloud.project.entity.UserProjectEntity;
import com.tduck.cloud.project.entity.UserProjectResultEntity;
import com.tduck.cloud.project.entity.UserProjectSettingEntity;
import com.tduck.cloud.project.request.QueryProjectResultRequest;
import com.tduck.cloud.project.request.SortProjectItemRequest;
import com.tduck.cloud.project.service.*;
import com.tduck.cloud.project.util.SortUtils;
import com.tduck.cloud.project.service.UserProjectResultService;
import com.tduck.cloud.project.service.UserProjectService;
import com.tduck.cloud.project.service.UserProjectSettingService;
import com.tduck.cloud.project.vo.ExportProjectResultVO;
import com.tduck.cloud.project.vo.OperateProjectItemVO;
import com.tduck.cloud.project.vo.UserProjectDetailVO;
import com.tduck.cloud.project.vo.UserProjectThemeVo;
import com.tduck.cloud.wx.mp.constant.WxMpRedisKeyConstants;
import com.tduck.cloud.wx.mp.request.WxMpQrCodeGenRequest;
import com.tduck.cloud.wx.mp.service.WxMpUserMsgService;
import com.tduck.cloud.wx.mp.service.WxMpUserService;
import com.tduck.cloud.wx.mp.vo.WxMpUserVO;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.bean.result.WxMpQrCodeTicket;
import org.springframework.web.bind.annotation.*;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotBlank;
import java.io.IOException;
import java.sql.Struct;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
import static com.tduck.cloud.project.constant.ProjectRedisKeyConstants.PROJECT_VIEW_IP_LIST;

6
tduck-api/src/main/java/com/tduck/cloud/api/web/controller/WxJsApiController.java

@ -9,8 +9,10 @@ import me.chanjar.weixin.common.bean.WxOAuth2UserInfo;
import me.chanjar.weixin.common.bean.oauth2.WxOAuth2AccessToken;
import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.bean.result.WxMpUser;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.constraints.NotBlank;

19
tduck-api/src/main/java/com/tduck/cloud/api/web/controller/WxPortalController.java

@ -3,18 +3,11 @@ package com.tduck.cloud.api.web.controller;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.mp.api.WxMpMessageRouter;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage;
import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.bind.annotation.*;
/**
* @author Binary Wang(https://github.com/binarywang)
@ -35,7 +28,7 @@ public class WxPortalController {
@RequestParam(name = "echostr", required = false) String echostr) {
log.info("\n接收到来自微信服务器的认证消息:[{}, {}, {}, {}]", signature,
timestamp, nonce, echostr);
timestamp, nonce, echostr);
if (StringUtils.isAnyBlank(signature, timestamp, nonce, echostr)) {
throw new IllegalArgumentException("请求参数非法,请核实!");
}
@ -61,8 +54,8 @@ public class WxPortalController {
@RequestParam(name = "encrypt_type", required = false) String encType,
@RequestParam(name = "msg_signature", required = false) String msgSignature) {
log.info("\n接收微信请求:[openid=[{}], [signature=[{}], encType=[{}], msgSignature=[{}],"
+ " timestamp=[{}], nonce=[{}], requestBody=[\n{}\n] ",
openid, signature, encType, msgSignature, timestamp, nonce, requestBody);
+ " timestamp=[{}], nonce=[{}], requestBody=[\n{}\n] ",
openid, signature, encType, msgSignature, timestamp, nonce, requestBody);
if (!this.wxService.switchover(appid)) {
throw new IllegalArgumentException(String.format("未找到对应appid=[%s]的配置,请核实!", appid));
@ -85,7 +78,7 @@ public class WxPortalController {
} else if ("aes".equalsIgnoreCase(encType)) {
// aes加密的消息
WxMpXmlMessage inMessage = WxMpXmlMessage.fromEncryptedXml(requestBody, wxService.getWxMpConfigStorage(),
timestamp, nonce, msgSignature);
timestamp, nonce, msgSignature);
log.debug("\n消息解密后内容为:\n{} ", inMessage.toString());
WxMpXmlOutMessage outMessage = this.route(inMessage);
if (outMessage == null) {

1
tduck-api/src/main/java/com/tduck/cloud/api/web/filter/HttpTraceLogFilter.java

@ -24,7 +24,6 @@ import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.nio.charset.Charset;
import java.time.LocalDateTime;
import java.util.Enumeration;
import java.util.List;

3
tduck-api/src/main/java/com/tduck/cloud/api/web/filter/ValidateCodeFilter.java

@ -4,13 +4,10 @@ import cn.hutool.core.util.StrUtil;
import com.anji.captcha.model.vo.CaptchaVO;
import com.anji.captcha.service.CaptchaService;
import com.google.common.collect.Lists;
import com.tduck.cloud.api.exception.ValidateCodeException;
import com.tduck.cloud.api.util.ResponseUtils;
import com.tduck.cloud.common.constant.CommonConstants;
import com.tduck.cloud.common.constant.ResponseCodeConstants;
import com.tduck.cloud.common.util.Result;
import com.tduck.cloud.common.util.SpringContextUtils;
import sun.security.util.SecurityConstants;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;

1
tduck-api/src/main/java/com/tduck/cloud/api/web/interceptor/NoRepeatSubmitInterceptor.java

@ -7,7 +7,6 @@ import com.tduck.cloud.common.util.RedisUtils;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.core.annotation.Order;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.HandlerInterceptor;

2
tduck-api/src/main/resources/db/migration/V2.0_20210412_1234__update.sql

@ -0,0 +1,2 @@
ALTER TABLE `tduck`.`pr_user_project_item`
MODIFY COLUMN `type` varchar(25) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '表单项类型 ' AFTER `form_item_id`;

5
tduck-common/src/main/java/com/tduck/cloud/common/constant/CommonConstants.java

@ -1,10 +1,5 @@
package com.tduck.cloud.common.constant;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.math.BigDecimal;
/**
* @description: 通用的常亮
* @author: smalljop

2
tduck-common/src/main/java/com/tduck/cloud/common/email/MailServiceImpl.java

@ -20,7 +20,7 @@ import java.io.File;
import java.util.Map;
/**
* @author hasee
* @author smalljop
*/
@Component
@Slf4j

2
tduck-common/src/main/java/com/tduck/cloud/common/mybatis/wrapper/JsonWrappers.java

@ -1,7 +1,5 @@
package com.tduck.cloud.common.mybatis.wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
/**
* msyql 查询包装类
*

3
tduck-common/src/main/java/com/tduck/cloud/common/util/Result.java

@ -2,7 +2,6 @@ package com.tduck.cloud.common.util;
import cn.hutool.core.util.ObjectUtil;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.tduck.cloud.common.constant.ResponseCodeConstants;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ -15,7 +14,7 @@ import java.io.Serializable;
* 响应信息主体
*
* @param <T>
* @author lengleng
* @author smalljop
*/
@ToString
@NoArgsConstructor

1
tduck-project/src/main/java/com/tduck/cloud/project/entity/ProjectThemeEntity.java

@ -8,7 +8,6 @@ import lombok.Data;
import lombok.experimental.FieldNameConstants;
import java.util.List;
import java.util.Map;
/**

3
tduck-project/src/main/java/com/tduck/cloud/project/entity/UserProjectEntity.java

@ -3,7 +3,6 @@ package com.tduck.cloud.project.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.tduck.cloud.common.entity.BaseEntity;
import com.tduck.cloud.common.validator.group.AddGroup;
import com.tduck.cloud.common.validator.group.UpdateGroup;
@ -13,8 +12,6 @@ import lombok.Data;
import lombok.experimental.FieldNameConstants;
import javax.validation.constraints.NotBlank;
import java.time.LocalDateTime;
import java.util.Date;
/**
* 用户项目表(Project)表实体类

2
tduck-project/src/main/java/com/tduck/cloud/project/entity/UserProjectItemEntity.java

@ -9,6 +9,7 @@ import com.tduck.cloud.project.entity.struct.ItemDefaultValueStruct;
import lombok.Data;
import lombok.experimental.Accessors;
import lombok.experimental.FieldNameConstants;
import org.apache.ibatis.type.EnumTypeHandler;
import javax.validation.constraints.NotNull;
import java.util.List;
@ -39,6 +40,7 @@ public class UserProjectItemEntity extends BaseEntity<UserProjectItemEntity> {
* 表单项类型
*/
@NotNull(message = "非法请求")
@TableField(typeHandler = EnumTypeHandler.class)
private ProjectItemTypeEnum type;
/**
* 表单项标题

1
tduck-project/src/main/java/com/tduck/cloud/project/entity/UserProjectResultEntity.java

@ -3,7 +3,6 @@ package com.tduck.cloud.project.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.tduck.cloud.common.entity.BaseEntity;
import com.tduck.cloud.common.mybatis.handler.JacksonTypeHandler;

4
tduck-project/src/main/java/com/tduck/cloud/project/entity/UserProjectSettingEntity.java

@ -1,13 +1,9 @@
package com.tduck.cloud.project.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.tduck.cloud.common.entity.BaseEntity;
import lombok.Data;

2
tduck-project/src/main/java/com/tduck/cloud/project/entity/UserProjectThemeEntity.java

@ -1,12 +1,10 @@
package com.tduck.cloud.project.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.tduck.cloud.common.entity.BaseEntity;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.time.LocalDateTime;
/**
* 项目表单项(UserProjectTheme)表实体类

46
tduck-project/src/main/java/com/tduck/cloud/project/entity/enums/ProjectItemTypeEnum.java

@ -16,29 +16,28 @@ import lombok.Getter;
@Getter
public enum ProjectItemTypeEnum {
INPUT(1, "单行文本", InputExpandStruct.class),
TEXTAREA(2, "多行文本", TextareaExpandStruct.class),
PASSWORD_INPUT(3, "密码输入", null),
NUMBER_INPUT(4, "数字输入", NumberExpandStruct.class),
SELECT(5, "下拉框", SelectExpandStruct.class),
CASCADER(6, "级联选择", CascaderExpandStruct.class),
RADIO(7, "单选框", RadioExpandStruct.class),
CHECKBOX(8, "多选框", CheckboxExpandStruct.class),
SWITCH(9, "开关", SwitchExpandStruct.class),
SLIDER(10, "滑块", SliderExpandStruct.class),
TIME(11, "时间选择", TimeExpandStruct.class),
TIME_RANGE(12, "时间范围", TimeRangeExpandStruct.class),
DATE(13, "日期选择", DateExpandStruct.class),
DATE_RANGE(14, "日期范围", DateRangeExpandStruct.class),
RATE(15, "评分", RateExpandStruct.class),
COLOR(16, "颜色", ColorExpandStruct.class),
UPLOAD(17, "文件上传组件", UploadExpandStruct.class),
IMAGE(18, "图片展示", ImageExpandStruct.class),;
INPUT("INPUT", "单行文本", InputExpandStruct.class),
TEXTAREA("TEXTAREA", "多行文本", TextareaExpandStruct.class),
PASSWORD_INPUT("PASSWORD_INPUT", "密码输入", null),
NUMBER_INPUT("NUMBER_INPUT", "数字输入", NumberExpandStruct.class),
SELECT("SELECT", "下拉框", SelectExpandStruct.class),
CASCADER("CASCADER", "级联选择", CascaderExpandStruct.class),
RADIO("RADIO", "单选框", RadioExpandStruct.class),
CHECKBOX("CHECKBOX", "多选框", CheckboxExpandStruct.class),
SWITCH("SWITCH", "开关", SwitchExpandStruct.class),
SLIDER("SLIDER", "滑块", SliderExpandStruct.class),
TIME("TIME", "时间选择", TimeExpandStruct.class),
TIME_RANGE("TIME_RANGE", "时间范围", TimeRangeExpandStruct.class),
DATE("DATE", "日期选择", DateExpandStruct.class),
DATE_RANGE("DATE_RANGE", "日期范围", DateRangeExpandStruct.class),
RATE("RATE", "评分", RateExpandStruct.class),
COLOR("COLOR", "颜色", ColorExpandStruct.class),
UPLOAD("UPLOAD", "文件上传组件", UploadExpandStruct.class),
IMAGE("IMAGE", "图片展示", ImageExpandStruct.class);
@EnumValue
@JsonValue
private int value;
private String value;
private String desc;
/**
@ -48,13 +47,14 @@ public enum ProjectItemTypeEnum {
/**
* 枚举入参注解
*
* @param value
* @return
*/
@JsonCreator
public static ProjectItemTypeEnum getByValue(int value) {
for(ProjectItemTypeEnum typeEnum : values()) {
if(typeEnum.getValue() == value) {
public static ProjectItemTypeEnum getByValue(String value) {
for (ProjectItemTypeEnum typeEnum : values()) {
if (typeEnum.getValue().equals(value)) {
return typeEnum;
}
}

2
tduck-project/src/main/java/com/tduck/cloud/project/entity/enums/ProjectStatusEnum.java

@ -7,8 +7,6 @@ import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import static cn.hutool.core.collection.CollUtil.values;
/**
* @author : smalljop
* @description : 项目状态

2
tduck-project/src/main/java/com/tduck/cloud/project/entity/struct/ItemDefaultValueStruct.java

@ -1,7 +1,5 @@
package com.tduck.cloud.project.entity.struct;
import cn.hutool.json.JSON;
import cn.hutool.json.JSONUtil;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

4
tduck-project/src/main/java/com/tduck/cloud/project/mapper/ProjectDashboardMapper.java

@ -1,16 +1,12 @@
package com.tduck.cloud.project.mapper;
import cn.hutool.core.map.CamelCaseMap;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.tduck.cloud.project.entity.ProjectThemeEntity;
import com.tduck.cloud.project.entity.UserProjectResultEntity;
import com.tduck.cloud.project.vo.ProjectReportVO;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**

5
tduck-project/src/main/java/com/tduck/cloud/project/request/QueryProjectRequest.java

@ -1,12 +1,7 @@
package com.tduck.cloud.project.request;
import cn.hutool.core.date.DatePattern;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.tduck.cloud.common.entity.PageRequest;
import com.tduck.cloud.project.entity.enums.ProjectStatusEnum;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

3
tduck-project/src/main/java/com/tduck/cloud/project/request/QueryProjectResultRequest.java

@ -1,8 +1,6 @@
package com.tduck.cloud.project.request;
import cn.hutool.core.date.DatePattern;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.tduck.cloud.common.entity.PageRequest;
import lombok.AllArgsConstructor;
import lombok.Data;
@ -11,7 +9,6 @@ import lombok.experimental.FieldNameConstants;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.Map;
/**

4
tduck-project/src/main/java/com/tduck/cloud/project/request/QueryProjectTemplateRequest.java

@ -1,11 +1,7 @@
package com.tduck.cloud.project.request;
import cn.hutool.core.date.DatePattern;
import com.tduck.cloud.common.entity.PageRequest;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
/**
* @author : smalljop

5
tduck-project/src/main/java/com/tduck/cloud/project/request/QueryProjectTemplateTypeRequest.java

@ -1,11 +1,6 @@
package com.tduck.cloud.project.request;
import cn.hutool.core.date.DatePattern;
import com.tduck.cloud.common.entity.PageRequest;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
/**
* @author : smalljop

5
tduck-project/src/main/java/com/tduck/cloud/project/request/SortProjectItemRequest.java

@ -1,14 +1,9 @@
package com.tduck.cloud.project.request;
import com.tduck.cloud.common.validator.group.AddGroup;
import com.tduck.cloud.common.validator.group.UpdateGroup;
import com.tduck.cloud.project.entity.enums.ProjectItemTypeEnum;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;
import java.util.Map;
/**
* @author : smalljop

1
tduck-project/src/main/java/com/tduck/cloud/project/service/UserProjectService.java

@ -1,7 +1,6 @@
package com.tduck.cloud.project.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.tduck.cloud.common.util.Result;
import com.tduck.cloud.project.entity.UserProjectEntity;
/**

10
tduck-project/src/main/java/com/tduck/cloud/project/service/impl/UserProjectResultServiceImpl.java

@ -1,15 +1,10 @@
package com.tduck.cloud.project.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import com.tduck.cloud.common.constant.CommonConstants;
import com.tduck.cloud.common.entity.BaseEntity;
@ -27,7 +22,10 @@ import com.tduck.cloud.project.vo.ExportProjectResultVO;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.*;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
import static com.tduck.cloud.project.constant.ProjectRedisKeyConstants.PROJECT_RESULT_NUMBER;

1
tduck-project/src/main/java/com/tduck/cloud/project/service/impl/UserProjectServiceImpl.java

@ -3,7 +3,6 @@ package com.tduck.cloud.project.service.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.tduck.cloud.common.util.Result;
import com.tduck.cloud.project.entity.UserProjectEntity;
import com.tduck.cloud.project.mapper.UserProjectMapper;
import com.tduck.cloud.project.service.UserProjectService;

1
tduck-project/src/main/java/com/tduck/cloud/project/service/impl/UserProjectSettingServiceImpl.java

@ -22,7 +22,6 @@ import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.Optional;
import java.util.function.Consumer;
/**
* 项目表单项(UserProjectSetting)表服务实现类

1
tduck-project/src/main/java/com/tduck/cloud/project/vo/ProjectReportVO.java

@ -2,7 +2,6 @@ package com.tduck.cloud.project.vo;
import com.google.common.base.Objects;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

2
tduck-project/src/main/java/com/tduck/cloud/project/vo/ProjectTemplateDetailVO.java

@ -2,8 +2,6 @@ package com.tduck.cloud.project.vo;
import com.tduck.cloud.project.entity.ProjectTemplateEntity;
import com.tduck.cloud.project.entity.ProjectTemplateItemEntity;
import com.tduck.cloud.project.entity.UserProjectEntity;
import com.tduck.cloud.project.entity.UserProjectItemEntity;
import lombok.AllArgsConstructor;
import lombok.Data;

5
tduck-project/src/main/java/com/tduck/cloud/project/vo/RecycleProjectVO.java

@ -1,14 +1,9 @@
package com.tduck.cloud.project.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.tduck.cloud.common.entity.BaseEntity;
import com.tduck.cloud.project.entity.UserProjectEntity;
import com.tduck.cloud.project.entity.enums.ProjectSourceTypeEnum;
import com.tduck.cloud.project.entity.enums.ProjectStatusEnum;
import lombok.AllArgsConstructor;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.time.LocalDateTime;
/**

2
tduck-storage/src/main/java/com/tduck/cloud/storage/cloud/OssStorageConfig.java

@ -1,9 +1,7 @@
package com.tduck.cloud.storage.cloud;
import com.tduck.cloud.storage.entity.enums.OssTypeEnum;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

1
tduck-storage/src/main/java/com/tduck/cloud/storage/cloud/OssStorageFactory.java

@ -1,7 +1,6 @@
package com.tduck.cloud.storage.cloud;
import com.tduck.cloud.common.util.JsonUtils;
import com.tduck.cloud.common.util.SpringContextUtils;
import com.tduck.cloud.storage.entity.enums.OssTypeEnum;

1
tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/config/WxMpConfiguration.java

@ -2,7 +2,6 @@ package com.tduck.cloud.wx.mp.config;
import com.tduck.cloud.wx.mp.handler.*;
import lombok.AllArgsConstructor;
import me.chanjar.weixin.common.redis.JedisWxRedisOps;
import me.chanjar.weixin.common.redis.RedisTemplateWxRedisOps;
import me.chanjar.weixin.common.redis.WxRedisOps;
import me.chanjar.weixin.mp.api.WxMpMessageRouter;

3
tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/entity/WxMpUserEntity.java

@ -2,12 +2,9 @@ package com.tduck.cloud.wx.mp.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.tduck.cloud.common.entity.BaseEntity;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 微信公众号用户 (WxMpUser)表实体类

3
tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/event/WxMpUserSubscribeEvent.java

@ -2,12 +2,9 @@ package com.tduck.cloud.wx.mp.event;
import com.tduck.cloud.wx.mp.entity.WxMpUserEntity;
import com.tduck.cloud.wx.mp.request.WxMpQrCodeGenRequest;
import lombok.Data;
import lombok.Getter;
import org.springframework.context.ApplicationEvent;
import java.util.Map;
/**
* 微信用户订阅事件
*

13
tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/handler/ScanHandler.java

@ -1,24 +1,23 @@
package com.tduck.cloud.wx.mp.handler;
import java.util.Map;
import com.tduck.cloud.wx.mp.handler.scan.ScanStrategyContext;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.common.session.WxSessionManager;
import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage;
import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Map;
/**
* @author Binary Wang(https://github.com/binarywang)
*/
@Component
@RequiredArgsConstructor
public class ScanHandler extends AbstractHandler {
private final ScanStrategyContext scanStrategyContext;
@Autowired
private ScanStrategyContext scanStrategyContext;
@Override
public WxMpXmlOutMessage handle(WxMpXmlMessage wxMpXmlMessage, Map<String, Object> map,

13
tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/handler/SubscribeHandler.java

@ -1,10 +1,6 @@
package com.tduck.cloud.wx.mp.handler;
import java.util.Map;
import java.util.Optional;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@ -16,16 +12,17 @@ import com.tduck.cloud.wx.mp.event.WxMpUserSubscribeEvent;
import com.tduck.cloud.wx.mp.handler.scan.ScanStrategyContext;
import com.tduck.cloud.wx.mp.request.WxMpQrCodeGenRequest;
import com.tduck.cloud.wx.mp.service.WxMpUserService;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.common.session.WxSessionManager;
import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage;
import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage;
import me.chanjar.weixin.mp.bean.result.WxMpUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Map;
import java.util.Optional;
/**
* @author Binary Wang(https://github.com/binarywang)

3
tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/handler/scan/BindAccountScanStrategy.java

@ -1,9 +1,6 @@
package com.tduck.cloud.wx.mp.handler.scan;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.tduck.cloud.common.util.RedisUtils;
import com.tduck.cloud.wx.mp.constant.WxMpRedisKeyConstants;
import com.tduck.cloud.wx.mp.entity.WxMpUserEntity;
import com.tduck.cloud.wx.mp.request.WxMpQrCodeGenRequest;
import com.tduck.cloud.wx.mp.service.WxMpUserMsgService;

3
tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/handler/scan/LoginScanStrategy.java

@ -1,6 +1,5 @@
package com.tduck.cloud.wx.mp.handler.scan;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.tduck.cloud.common.util.RedisUtils;
@ -9,12 +8,10 @@ import com.tduck.cloud.wx.mp.entity.WxMpUserEntity;
import com.tduck.cloud.wx.mp.request.WxMpQrCodeGenRequest;
import com.tduck.cloud.wx.mp.service.WxMpUserMsgService;
import com.tduck.cloud.wx.mp.service.WxMpUserService;
import lombok.RequiredArgsConstructor;
import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Map;
import java.util.concurrent.TimeUnit;
/**

2
tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/handler/scan/ScanStrategy.java

@ -3,8 +3,6 @@ package com.tduck.cloud.wx.mp.handler.scan;
import com.tduck.cloud.wx.mp.request.WxMpQrCodeGenRequest;
import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage;
import java.util.Map;
/**
* @author : smalljop
* @description : 扫码处理基本

11
tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/handler/scan/ScanStrategyContext.java

@ -1,28 +1,26 @@
package com.tduck.cloud.wx.mp.handler.scan;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjectUtil;
import com.tduck.cloud.common.util.JsonUtils;
import com.tduck.cloud.wx.mp.request.WxMpQrCodeGenRequest;
import lombok.RequiredArgsConstructor;
import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
/**
* @author : smalljop
* @description :
* @create : 2020-12-01 17:55
**/
@RequiredArgsConstructor
@Component
public class ScanStrategyContext {
private final Map<String, ScanStrategy> scanStrategy;
@Autowired
private Map<String, ScanStrategy> scanStrategy;
private final static String SCAN_STRATEGY_NAME = "ScanStrategy";
private static String SCAN_STRATEGY_NAME = "ScanStrategy";
/**
@ -40,5 +38,4 @@ public class ScanStrategyContext {
}
}

5
tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/handler/scan/SubNotifyScanStrategy.java

@ -1,19 +1,14 @@
package com.tduck.cloud.wx.mp.handler.scan;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.tduck.cloud.common.util.RedisUtils;
import com.tduck.cloud.wx.mp.constant.WxMpRedisKeyConstants;
import com.tduck.cloud.wx.mp.entity.WxMpUserEntity;
import com.tduck.cloud.wx.mp.request.WxMpQrCodeGenRequest;
import com.tduck.cloud.wx.mp.service.WxMpUserMsgService;
import com.tduck.cloud.wx.mp.service.WxMpUserService;
import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.concurrent.TimeUnit;
/**
* @author : smalljop
* @description : 订阅项目通知

1
tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/service/impl/WxMpUserMsgServiceImpl.java

@ -2,7 +2,6 @@ package com.tduck.cloud.wx.mp.service.impl;
import cn.hutool.core.util.StrUtil;
import com.tduck.cloud.wx.mp.service.WxMpUserMsgService;
import lombok.RequiredArgsConstructor;
import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage;

Loading…
Cancel
Save