Ver código fonte

基础设置

MOKASZ\lw12420 4 anos atrás
pai
commit
5ba7b6d224
100 arquivos alterados com 5327 adições e 319 exclusões
  1. 4 1
      launch-api/launch-api-system/src/main/java/com/launch/system/api/RemoteLogService.java
  2. 7 5
      launch-api/launch-api-system/src/main/java/com/launch/system/api/RemoteUserService.java
  3. 3 0
      launch-api/launch-api-system/src/main/java/com/launch/system/api/domain/SysOperLog.java
  4. 135 0
      launch-api/launch-api-system/src/main/java/com/launch/system/api/domain/SysUserVO.java
  5. 2 1
      launch-api/launch-api-system/src/main/java/com/launch/system/api/factory/RemoteLogFallbackFactory.java
  6. 5 2
      launch-api/launch-api-system/src/main/java/com/launch/system/api/factory/RemoteUserFallbackFactory.java
  7. 10 2
      launch-common/launch-common-core/pom.xml
  8. 13 0
      launch-common/launch-common-core/src/main/java/com/launch/common/core/config/BaseConstants.java
  9. 86 0
      launch-common/launch-common-core/src/main/java/com/launch/common/core/config/BaseContextHandlerLog.java
  10. 5 0
      launch-common/launch-common-core/src/main/java/com/launch/common/core/constant/ServiceNameConstants.java
  11. 10 0
      launch-common/launch-common-core/src/main/java/com/launch/common/core/constant/UserConstants.java
  12. 1 1
      launch-common/launch-common-core/src/main/java/com/launch/common/core/domain/SpaceMenuResponse.java
  13. 72 0
      launch-common/launch-common-core/src/main/java/com/launch/common/core/enums/Useing.java
  14. 1 0
      launch-common/launch-common-core/src/main/java/com/launch/common/core/exception/CaptchaException.java
  15. 20 0
      launch-common/launch-common-core/src/main/java/com/launch/common/core/model/BasePageQuery.java
  16. 1 1
      launch-common/launch-common-log/pom.xml
  17. 9 2
      launch-common/launch-common-log/src/main/java/com/launch/common/log/aspect/LogAspect.java
  18. 5 2
      launch-common/launch-common-log/src/main/java/com/launch/common/log/service/AsyncLogService.java
  19. 3 0
      launch-common/launch-common-security/src/main/java/com/launch/common/security/feign/FeignAutoConfiguration.java
  20. 4 30
      launch-common/launch-common-security/src/main/java/com/launch/common/security/feign/FeignRequestInterceptor.java
  21. 2 2
      launch-gateway/src/main/java/com/launch/gateway/filter/AuthFilter.java
  22. 10 1
      launch-modules/launch-job/pom.xml
  23. 13 0
      launch-modules/launch-job/src/main/java/com/launch/job/config/BaseConstants.java
  24. 86 0
      launch-modules/launch-job/src/main/java/com/launch/job/config/BaseContextHandler.java
  25. 25 0
      launch-modules/launch-job/src/main/java/com/launch/job/config/GalaxyServerConfig.java
  26. 21 0
      launch-modules/launch-job/src/main/java/com/launch/job/config/GetUserInfoUrl.java
  27. 15 0
      launch-modules/launch-job/src/main/java/com/launch/job/config/MybatisPlusConfig.java
  28. 28 0
      launch-modules/launch-job/src/main/java/com/launch/job/config/RestTemplateConfig.java
  29. 52 0
      launch-modules/launch-job/src/main/java/com/launch/job/config/UserAuthRestInterceptor.java
  30. 20 0
      launch-modules/launch-job/src/main/java/com/launch/job/config/WebConfig.java
  31. 53 0
      launch-modules/launch-job/src/main/java/com/launch/job/config/XxlSsoConfig.java
  32. 56 0
      launch-modules/launch-job/src/main/java/com/launch/job/controller/SysDeptController.java
  33. 11 10
      launch-modules/launch-job/src/main/java/com/launch/job/controller/SysJobController.java
  34. 5 5
      launch-modules/launch-job/src/main/java/com/launch/job/controller/SysJobLogController.java
  35. 64 0
      launch-modules/launch-job/src/main/java/com/launch/job/controller/SysUserController.java
  36. 105 0
      launch-modules/launch-job/src/main/java/com/launch/job/controller/query/SysDeptQuery.java
  37. 136 0
      launch-modules/launch-job/src/main/java/com/launch/job/controller/query/SysUserQuery.java
  38. 101 0
      launch-modules/launch-job/src/main/java/com/launch/job/controller/vo/SysDeptVO.java
  39. 132 0
      launch-modules/launch-job/src/main/java/com/launch/job/controller/vo/SysUserVO.java
  40. 133 0
      launch-modules/launch-job/src/main/java/com/launch/job/domain/SysDeptENT.java
  41. 165 0
      launch-modules/launch-job/src/main/java/com/launch/job/domain/SysUserENT.java
  42. 16 0
      launch-modules/launch-job/src/main/java/com/launch/job/mapper/SysDeptMapper.java
  43. 15 0
      launch-modules/launch-job/src/main/java/com/launch/job/mapper/SysUserMapper.java
  44. 16 0
      launch-modules/launch-job/src/main/java/com/launch/job/service/SysDeptService.java
  45. 46 0
      launch-modules/launch-job/src/main/java/com/launch/job/service/SysDeptServiceImpl.java
  46. 18 0
      launch-modules/launch-job/src/main/java/com/launch/job/service/SysUserService.java
  47. 116 0
      launch-modules/launch-job/src/main/java/com/launch/job/service/SysUserServiceImpl.java
  48. 216 0
      launch-modules/launch-job/src/main/java/com/launch/job/task/DeptAndEmpTask.java
  49. 4 4
      launch-modules/launch-job/src/main/java/com/launch/job/task/RyTask.java
  50. 5 0
      launch-modules/launch-job/src/main/resources/mapper/job/SysDeptMapper.xml
  51. 5 0
      launch-modules/launch-job/src/main/resources/mapper/job/SysUserMapper.xml
  52. 20 1
      launch-modules/launch-system/pom.xml
  53. 16 0
      launch-modules/launch-system/src/main/java/com/launch/system/config/MybatisPlusConfig.java
  54. 23 0
      launch-modules/launch-system/src/main/java/com/launch/system/config/TraceIdFilterConfig.java
  55. 21 0
      launch-modules/launch-system/src/main/java/com/launch/system/config/UserAuthRestInterceptor.java
  56. 142 0
      launch-modules/launch-system/src/main/java/com/launch/system/controller/SysDictDataController.java
  57. 155 0
      launch-modules/launch-system/src/main/java/com/launch/system/controller/SysDictTypeController.java
  58. 36 7
      launch-modules/launch-system/src/main/java/com/launch/system/controller/SysOperlogController.java
  59. 1 2
      launch-modules/launch-system/src/main/java/com/launch/system/controller/SysUserController.java
  60. 99 0
      launch-modules/launch-system/src/main/java/com/launch/system/controller/basicSetting/BasicSettingLabelController.java
  61. 103 0
      launch-modules/launch-system/src/main/java/com/launch/system/controller/basicSetting/BasicSettingLabelTypeController.java
  62. 74 0
      launch-modules/launch-system/src/main/java/com/launch/system/controller/basicSetting/BasicSettingProductController.java
  63. 80 0
      launch-modules/launch-system/src/main/java/com/launch/system/controller/basicSetting/BasicSettingProductSourceController.java
  64. 86 0
      launch-modules/launch-system/src/main/java/com/launch/system/controller/basicSetting/BasicSettingProductTypeController.java
  65. 137 0
      launch-modules/launch-system/src/main/java/com/launch/system/controller/basicSetting/BasicSettingProjectController.java
  66. 65 0
      launch-modules/launch-system/src/main/java/com/launch/system/controller/query/BasicSettingLabelQuery.java
  67. 70 0
      launch-modules/launch-system/src/main/java/com/launch/system/controller/query/BasicSettingLabelTypeQuery.java
  68. 110 0
      launch-modules/launch-system/src/main/java/com/launch/system/controller/query/BasicSettingProductQuery.java
  69. 82 0
      launch-modules/launch-system/src/main/java/com/launch/system/controller/query/BasicSettingProductSourceQuery.java
  70. 66 0
      launch-modules/launch-system/src/main/java/com/launch/system/controller/query/BasicSettingProductTypeQuery.java
  71. 82 0
      launch-modules/launch-system/src/main/java/com/launch/system/controller/query/BasicSettingProjectQuery.java
  72. 59 0
      launch-modules/launch-system/src/main/java/com/launch/system/controller/query/SysDictDataQuery.java
  73. 41 0
      launch-modules/launch-system/src/main/java/com/launch/system/controller/query/SysDictTypeQuery.java
  74. 85 0
      launch-modules/launch-system/src/main/java/com/launch/system/controller/query/SysOperLogQuery.java
  75. 66 0
      launch-modules/launch-system/src/main/java/com/launch/system/controller/vo/BasicSettingLabelTypeVO.java
  76. 61 0
      launch-modules/launch-system/src/main/java/com/launch/system/controller/vo/BasicSettingLabelVO.java
  77. 77 0
      launch-modules/launch-system/src/main/java/com/launch/system/controller/vo/BasicSettingProductSourceVO.java
  78. 61 0
      launch-modules/launch-system/src/main/java/com/launch/system/controller/vo/BasicSettingProductTypeVO.java
  79. 101 0
      launch-modules/launch-system/src/main/java/com/launch/system/controller/vo/BasicSettingProductVO.java
  80. 76 0
      launch-modules/launch-system/src/main/java/com/launch/system/controller/vo/BasicSettingProjectVO.java
  81. 0 106
      launch-modules/launch-system/src/main/java/com/launch/system/domain/vo/MetaVo.java
  82. 0 133
      launch-modules/launch-system/src/main/java/com/launch/system/domain/vo/RouterVo.java
  83. 81 0
      launch-modules/launch-system/src/main/java/com/launch/system/entity/BasicSettingLabelENT.java
  84. 92 0
      launch-modules/launch-system/src/main/java/com/launch/system/entity/BasicSettingLabelTypeENT.java
  85. 129 0
      launch-modules/launch-system/src/main/java/com/launch/system/entity/BasicSettingProductENT.java
  86. 100 0
      launch-modules/launch-system/src/main/java/com/launch/system/entity/BasicSettingProductSourceENT.java
  87. 80 0
      launch-modules/launch-system/src/main/java/com/launch/system/entity/BasicSettingProductTypeENT.java
  88. 101 0
      launch-modules/launch-system/src/main/java/com/launch/system/entity/BasicSettingProjectENT.java
  89. 177 0
      launch-modules/launch-system/src/main/java/com/launch/system/entity/SysDictData.java
  90. 95 0
      launch-modules/launch-system/src/main/java/com/launch/system/entity/SysDictType.java
  91. 15 0
      launch-modules/launch-system/src/main/java/com/launch/system/mapper/BasicSettingLabelMapper.java
  92. 15 0
      launch-modules/launch-system/src/main/java/com/launch/system/mapper/BasicSettingLabelTypeMapper.java
  93. 15 0
      launch-modules/launch-system/src/main/java/com/launch/system/mapper/BasicSettingProductMapper.java
  94. 15 0
      launch-modules/launch-system/src/main/java/com/launch/system/mapper/BasicSettingProductSourceMapper.java
  95. 16 0
      launch-modules/launch-system/src/main/java/com/launch/system/mapper/BasicSettingProductTypeMapper.java
  96. 15 0
      launch-modules/launch-system/src/main/java/com/launch/system/mapper/BasicSettingProjectMapper.java
  97. 97 0
      launch-modules/launch-system/src/main/java/com/launch/system/mapper/SysDictDataMapper.java
  98. 88 0
      launch-modules/launch-system/src/main/java/com/launch/system/mapper/SysDictTypeMapper.java
  99. 2 1
      launch-modules/launch-system/src/main/java/com/launch/system/mapper/SysOperLogMapper.java
  100. 13 0
      launch-modules/launch-system/src/main/java/com/launch/system/service/BasicSettingLabelService.java

+ 4 - 1
launch-api/launch-api-system/src/main/java/com/launch/system/api/RemoteLogService.java

@@ -1,8 +1,10 @@
 package com.launch.system.api;
 
 import com.launch.system.api.factory.RemoteLogFallbackFactory;
+import feign.RequestLine;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestHeader;
@@ -29,7 +31,8 @@ public interface RemoteLogService
      * @return 结果
      */
     @PostMapping("/operlog")
-    public R<Boolean> saveLog(@RequestBody SysOperLog sysOperLog, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
+    public R<Boolean> saveLog(@RequestBody SysOperLog sysOperLog, @RequestHeader("Cookie") String source, @RequestHeader(SecurityConstants.FROM_SOURCE) String sources);
+
 
     /**
      * 保存访问记录

+ 7 - 5
launch-api/launch-api-system/src/main/java/com/launch/system/api/RemoteUserService.java

@@ -1,6 +1,6 @@
 package com.launch.system.api;
 
-import com.launch.system.api.domain.SysUser;
+import com.launch.system.api.domain.SysUserVO;
 import com.launch.system.api.factory.RemoteUserFallbackFactory;
 import com.launch.system.api.model.LoginUser;
 import org.springframework.cloud.openfeign.FeignClient;
@@ -14,13 +14,15 @@ import com.launch.common.core.constant.SecurityConstants;
 import com.launch.common.core.constant.ServiceNameConstants;
 import com.launch.common.core.domain.R;
 
+import java.util.List;
+
 /**
  * 用户服务
  * 
  * @author launch
  */
 @Component
-@FeignClient(contextId = "remoteUserService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteUserFallbackFactory.class)
+@FeignClient(contextId = "remoteUserService", value = ServiceNameConstants.SYSTEM_JOB, fallbackFactory = RemoteUserFallbackFactory.class)
 public interface RemoteUserService
 {
     /**
@@ -36,10 +38,10 @@ public interface RemoteUserService
     /**
      * 注册用户信息
      *
-     * @param sysUser 用户信息
+     *
      * @param source 请求来源
      * @return 结果
      */
-    @PostMapping("/user/register")
-    public R<Boolean> registerUserInfo(@RequestBody SysUser sysUser, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
+    @PostMapping("/sysUser/getUserById")
+    public R<List<SysUserVO>> getUserById(  @RequestBody SysUserVO sysUserVO, @RequestHeader("Cookie") String cookie, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
 }

+ 3 - 0
launch-api/launch-api-system/src/main/java/com/launch/system/api/domain/SysOperLog.java

@@ -79,6 +79,9 @@ public class SysOperLog extends BaseEntity
     @Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     private Date operTime;
 
+
+    private String operTimeQuery;
+
     public Long getOperId()
     {
         return operId;

+ 135 - 0
launch-api/launch-api-system/src/main/java/com/launch/system/api/domain/SysUserVO.java

@@ -0,0 +1,135 @@
+package com.launch.system.api.domain;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @description: 用户信息表
+ * @author: lanuch
+ * @date: 2021-08-09 11:00:48
+ **/
+@Data
+public class SysUserVO implements Serializable {
+
+    private Integer Uid;
+    /**
+     * comment:用户ID
+     */
+    private String userId;
+
+    /**
+     * comment:用户账号
+     */
+    private String userName;
+
+    /**
+     * comment:手机号码
+     */
+    private String mobile;
+
+    /**
+     * comment:用户邮箱
+     */
+    private String email;
+
+    /**
+     * comment:用户性别(0男 1女 2未知)
+     */
+    private Integer gender;
+
+    /**
+     * comment:帐号状态(0正常 1停用)
+     */
+    private Integer status;
+
+    /**
+     * comment:部门ID
+     */
+    private String departmentId;
+
+    /**
+     * comment:负责人id
+     */
+    private String leaderUserId;
+
+    /**
+     * comment:时间戳
+     */
+    private BigDecimal joinTime;
+
+    /**
+     * comment:编号
+     */
+    private String employeeNo;
+
+    /**
+     * comment:飞书userid
+     */
+    private String feishuUserId;
+
+    /**
+     * comment:头像
+     */
+    private String avatar;
+
+    /**
+     * comment:openid
+     */
+    private String userOpenId;
+
+    /**
+     * comment:是否人工
+     */
+    private String isArtificial;
+
+    /**
+     * comment:权限
+     */
+    private String roleId;
+
+    /**
+     * comment:权限名称
+     */
+    private String roleName;
+
+    /**
+     * comment:部门名称
+     */
+    private Date departmentName;
+
+    /**
+     * comment:逻辑删除
+     */
+    private Integer deleted;
+
+    /**
+     * comment:创建者
+     */
+    private String createBy;
+
+    /**
+     * comment:创建时间
+     */
+    private Date createTime;
+
+    /**
+     * comment:更新者
+     */
+    private String updateBy;
+
+    /**
+     * comment:更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * comment:备注
+     */
+    private String remark;
+
+
+}
+

+ 2 - 1
launch-api/launch-api-system/src/main/java/com/launch/system/api/factory/RemoteLogFallbackFactory.java

@@ -26,11 +26,12 @@ public class RemoteLogFallbackFactory implements FallbackFactory<RemoteLogServic
         return new RemoteLogService()
         {
             @Override
-            public R<Boolean> saveLog(SysOperLog sysOperLog, String source)
+            public R<Boolean> saveLog(SysOperLog sysOperLog, String source, String sources)
             {
                 return null;
             }
 
+
             @Override
             public R<Boolean> saveLogininfor(SysLogininfor sysLogininfor, String source)
             {

+ 5 - 2
launch-api/launch-api-system/src/main/java/com/launch/system/api/factory/RemoteUserFallbackFactory.java

@@ -1,13 +1,16 @@
 package com.launch.system.api.factory;
 
+import com.launch.system.api.domain.SysUserVO;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.cloud.openfeign.FallbackFactory;
 import org.springframework.stereotype.Component;
 import com.launch.common.core.domain.R;
 import com.launch.system.api.RemoteUserService;
-import com.launch.system.api.domain.SysUser;
 import com.launch.system.api.model.LoginUser;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
 
 /**
  * 用户服务降级处理
@@ -32,7 +35,7 @@ public class RemoteUserFallbackFactory implements FallbackFactory<RemoteUserServ
             }
 
             @Override
-            public R<Boolean> registerUserInfo(SysUser sysUser, String source)
+            public R<List<SysUserVO>> getUserById( SysUserVO sysUserVO, String cookie, String source)
             {
                 return R.fail("注册用户失败:" + throwable.getMessage());
             }

+ 10 - 2
launch-common/launch-common-core/pom.xml

@@ -52,7 +52,11 @@
             <groupId>com.github.pagehelper</groupId>
             <artifactId>pagehelper-spring-boot-starter</artifactId>
         </dependency>
-
+        <!-- Lombok 工具 -->
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+        </dependency>
         <!-- Hibernate Validator -->
         <dependency>
             <groupId>org.springframework.boot</groupId>
@@ -106,7 +110,11 @@
             <groupId>io.swagger</groupId>
             <artifactId>swagger-annotations</artifactId>
         </dependency>
-
+        <!--单点登录 -->
+        <dependency>
+            <groupId>com.xuxueli</groupId>
+            <artifactId>xxl-sso-core</artifactId>
+        </dependency>
     </dependencies>
 
 </project>

+ 13 - 0
launch-common/launch-common-core/src/main/java/com/launch/common/core/config/BaseConstants.java

@@ -0,0 +1,13 @@
+package com.launch.common.core.config;
+
+/**
+ * @Description:
+ * @Author: launch
+ */
+public class BaseConstants {
+    public static String CONTEXT_KEY_USER_ID = "userId";
+    public static String CONTEXT_KEY_USER_NAME = "userName";
+    public static String CONTEXT_KEY_XXL_SSO_SESSION = "xxl_sso_session";
+    public static String CONTEXT_KEY_SYSCODE = "sysCode";
+    public static String CONTEXT_KEY_USERINFO = "userInfo";
+}

+ 86 - 0
launch-common/launch-common-core/src/main/java/com/launch/common/core/config/BaseContextHandlerLog.java

@@ -0,0 +1,86 @@
+package com.launch.common.core.config;
+
+import com.xxl.sso.core.user.XxlSsoUser;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @Description:
+ * @Author: launch
+ */
+public class BaseContextHandlerLog {
+    public static ThreadLocal<Map<String, Object>> threadLocal = new ThreadLocal<Map<String, Object>>();
+
+    public static void set(String key, Object value) {
+        Map<String, Object> map = threadLocal.get();
+        if (map == null) {
+            map = new HashMap<String, Object>();
+            threadLocal.set(map);
+        }
+        map.put(key, value);
+    }
+
+    public static Object get(String key) {
+        Map<String, Object> map = threadLocal.get();
+        if (map == null) {
+            map = new HashMap<String, Object>();
+            threadLocal.set(map);
+        }
+        return map.get(key);
+    }
+
+    public static String getUserId() {
+        Object value = get(BaseConstants.CONTEXT_KEY_USER_ID);
+        return returnObjectValue(value);
+    }
+
+    public static String getUserName() {
+        Object value = get(BaseConstants.CONTEXT_KEY_USER_NAME);
+        return returnObjectValue(value);
+    }
+
+    public static String getSessionId() {
+        Object value = get(BaseConstants.CONTEXT_KEY_XXL_SSO_SESSION);
+        return returnObjectValue(value);
+    }
+
+    public static Long getSysCode() {
+        Object value = get(BaseConstants.CONTEXT_KEY_SYSCODE);
+        return value == null ? null : (Long) value;
+    }
+
+    public static XxlSsoUser getUserInfo(){
+        Object value = get(BaseConstants.CONTEXT_KEY_USERINFO);
+        return value == null ? null : (XxlSsoUser) value;
+    }
+
+    public static void setSessionId(String sessionId) {
+        set(BaseConstants.CONTEXT_KEY_XXL_SSO_SESSION, sessionId);
+    }
+
+    public static void setUserName(String userName) {
+        set(BaseConstants.CONTEXT_KEY_USER_NAME, userName);
+    }
+
+    public static void setUserId(String userID) {
+        set(BaseConstants.CONTEXT_KEY_USER_ID, userID);
+    }
+
+    public static void setSysCode(Long sysCode) {
+        set(BaseConstants.CONTEXT_KEY_SYSCODE, sysCode);
+    }
+
+    public static void setUserInfo(XxlSsoUser userInfo) {
+        set(BaseConstants.CONTEXT_KEY_USERINFO, userInfo);
+    }
+
+    private static String returnObjectValue(Object value) {
+        return value == null ? null : value.toString();
+    }
+
+    public static void remove() {
+        threadLocal.remove();
+    }
+
+}

+ 5 - 0
launch-common/launch-common-core/src/main/java/com/launch/common/core/constant/ServiceNameConstants.java

@@ -17,4 +17,9 @@ public class ServiceNameConstants
      * 文件服务的serviceid
      */
     public static final String FILE_SERVICE = "launch-file";
+
+    /**
+     * 系统模块的serviceid
+     */
+    public static final String SYSTEM_JOB = "launch-job";
 }

+ 10 - 0
launch-common/launch-common-core/src/main/java/com/launch/common/core/constant/UserConstants.java

@@ -78,4 +78,14 @@ public class UserConstants
     public static final int PASSWORD_MIN_LENGTH = 5;
 
     public static final int PASSWORD_MAX_LENGTH = 20;
+
+    /**
+     * 当前记录起始索引
+     */
+    public static final String PAGE_NUM = "pageNum";
+
+    /**
+     * 每页显示记录数
+     */
+    public static final String PAGE_SIZE = "pageSize";
 }

+ 1 - 1
launch-modules/launch-system/src/main/java/com/launch/system/domain/SpaceMenuResponse.java → launch-common/launch-common-core/src/main/java/com/launch/common/core/domain/SpaceMenuResponse.java

@@ -1,4 +1,4 @@
-package com.launch.system.domain;
+package com.launch.common.core.domain;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Data;

+ 72 - 0
launch-common/launch-common-core/src/main/java/com/launch/common/core/enums/Useing.java

@@ -0,0 +1,72 @@
+package com.launch.common.core.enums;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public enum Useing {
+
+
+    /**
+     * 可用
+     */
+    TRUEUSEING("ISUSEING", "启用"),
+    /**
+     * 不可用
+     */
+    FALSENOTUSEING("ISNOTUSEING", "不启用"),
+    /**
+     * 可用
+     */
+    ISUSEING("1", "可用"),
+    /**
+     * 不可用
+     */
+    ISNOTUSEING("0", "不可用"),
+
+    /**
+     * 指定人员
+     */
+    DESIGNEE("PART", "指定人员"),
+    /**
+     * 全员可见
+     */
+    VISIBLEALL("ALL", "全员可见");
+
+    private final String code;
+    private final String info;
+
+    Useing(String code, String info)
+    {
+        this.code = code;
+        this.info = info;
+    }
+    public String getCode()
+    {
+        return code;
+    }
+    public String getInfo()
+    {
+        return info;
+    }
+
+    public static  String getForInfo(String code){
+        Useing[] values = Useing.values();
+        for (Useing emm :  values) {
+            if(emm.getCode().equals(code)){
+                return emm.getInfo();
+            }
+        }
+        return null;
+    }
+    public static String getForCode(String info){
+        Useing[] values = Useing.values();
+        for (Useing emm :  values) {
+            if(emm.getInfo().equals(info)){
+                return emm.getCode();
+            }
+        }
+        return null;
+    }
+
+
+}

+ 1 - 0
launch-common/launch-common-core/src/main/java/com/launch/common/core/exception/CaptchaException.java

@@ -5,6 +5,7 @@ package com.launch.common.core.exception;
  * 
  * @author launch
  */
+
 public class CaptchaException extends RuntimeException
 {
     private static final long serialVersionUID = 1L;

+ 20 - 0
launch-common/launch-common-core/src/main/java/com/launch/common/core/model/BasePageQuery.java

@@ -0,0 +1,20 @@
+package com.launch.common.core.model;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(description = "分页基类")
+public abstract class BasePageQuery {
+
+    @ApiModelProperty("起始页(从1开始)")
+    protected Integer pageNum = 1;
+
+    @ApiModelProperty("每页大小")
+    protected Integer pageSize = 10;
+
+    public Integer getStart() {
+        return (pageNum - 1) * pageSize;
+    }
+}

+ 1 - 1
launch-common/launch-common-log/pom.xml

@@ -16,7 +16,7 @@
     </description>
 
     <dependencies>
-		
+
         <!-- launch Common Security -->
         <dependency>
             <groupId>com.launch</groupId>

+ 9 - 2
launch-common/launch-common-log/src/main/java/com/launch/common/log/aspect/LogAspect.java

@@ -4,9 +4,13 @@ import java.lang.reflect.Method;
 import java.util.Collection;
 import java.util.Iterator;
 import java.util.Map;
+import javax.servlet.http.Cookie;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
 
+
+import com.launch.common.core.config.BaseContextHandlerLog;
 import com.launch.common.log.enums.BusinessStatus;
 import org.aspectj.lang.JoinPoint;
 import org.aspectj.lang.Signature;
@@ -21,6 +25,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpMethod;
 import org.springframework.stereotype.Component;
 import org.springframework.validation.BindingResult;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
 import org.springframework.web.multipart.MultipartFile;
 import com.alibaba.fastjson.JSON;
 import com.launch.common.core.utils.SecurityUtils;
@@ -78,6 +84,7 @@ public class LogAspect
     {
         try
         {
+          String sessionId = BaseContextHandlerLog.getSessionId();
             // 获得注解
             Log controllerLog = getAnnotationLog(joinPoint);
             if (controllerLog == null)
@@ -95,7 +102,7 @@ public class LogAspect
             operLog.setJsonResult(JSON.toJSONString(jsonResult));
 
             operLog.setOperUrl(ServletUtils.getRequest().getRequestURI());
-            String username = SecurityUtils.getUsername();
+            String username = BaseContextHandlerLog.getUserName();
             if (StringUtils.isNotBlank(username))
             {
                 operLog.setOperName(username);
@@ -115,7 +122,7 @@ public class LogAspect
             // 处理设置注解上的参数
             getControllerMethodDescription(joinPoint, controllerLog, operLog);
             // 保存数据库
-            asyncLogService.saveSysLog(operLog);
+            asyncLogService.saveSysLogCookie(operLog,sessionId);
         }
         catch (Exception exp)
         {

+ 5 - 2
launch-common/launch-common-log/src/main/java/com/launch/common/log/service/AsyncLogService.java

@@ -1,5 +1,7 @@
 package com.launch.common.log.service;
 
+import com.launch.common.core.config.BaseConstants;
+import com.launch.common.core.config.BaseContextHandlerLog;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
@@ -22,8 +24,9 @@ public class AsyncLogService
      * 保存系统日志记录
      */
     @Async
-    public void saveSysLog(SysOperLog sysOperLog)
+    public void saveSysLogCookie(SysOperLog sysOperLog,String sessionId)
     {
-        remoteLogService.saveLog(sysOperLog, SecurityConstants.INNER);
+
+        remoteLogService.saveLog(sysOperLog, "xxl_sso_sessionid="+sessionId, SecurityConstants.INNER);
     }
 }

+ 3 - 0
launch-common/launch-common-security/src/main/java/com/launch/common/security/feign/FeignAutoConfiguration.java

@@ -1,5 +1,6 @@
 package com.launch.common.security.feign;
 
+import feign.Contract;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import feign.RequestInterceptor;
@@ -17,4 +18,6 @@ public class FeignAutoConfiguration
     {
         return new FeignRequestInterceptor();
     }
+
+
 }

+ 4 - 30
launch-common/launch-common-security/src/main/java/com/launch/common/security/feign/FeignRequestInterceptor.java

@@ -1,12 +1,7 @@
 package com.launch.common.security.feign;
 
-import java.util.Map;
-import javax.servlet.http.HttpServletRequest;
+
 import org.springframework.stereotype.Component;
-import com.launch.common.core.constant.SecurityConstants;
-import com.launch.common.core.utils.ServletUtils;
-import com.launch.common.core.utils.StringUtils;
-import com.launch.common.core.utils.ip.IpUtils;
 import feign.RequestInterceptor;
 import feign.RequestTemplate;
 
@@ -21,29 +16,8 @@ public class FeignRequestInterceptor implements RequestInterceptor
     @Override
     public void apply(RequestTemplate requestTemplate)
     {
-        HttpServletRequest httpServletRequest = ServletUtils.getRequest();
-        if (StringUtils.isNotNull(httpServletRequest))
-        {
-            Map<String, String> headers = ServletUtils.getHeaders(httpServletRequest);
-            // 传递用户信息请求头,防止丢失
-            String userId = headers.get(SecurityConstants.DETAILS_USER_ID);
-            if (StringUtils.isNotEmpty(userId))
-            {
-                requestTemplate.header(SecurityConstants.DETAILS_USER_ID, userId);
-            }
-            String userName = headers.get(SecurityConstants.DETAILS_USERNAME);
-            if (StringUtils.isNotEmpty(userName))
-            {
-                requestTemplate.header(SecurityConstants.DETAILS_USERNAME, userName);
-            }
-            String authentication = headers.get(SecurityConstants.AUTHORIZATION_HEADER);
-            if (StringUtils.isNotEmpty(authentication))
-            {
-                requestTemplate.header(SecurityConstants.AUTHORIZATION_HEADER, authentication);
-            }
-
-            // 配置客户端IP
-            requestTemplate.header("X-Forwarded-For", IpUtils.getIpAddr(ServletUtils.getRequest()));
-        }
+//            requestTemplate.header(SecurityConstants.AUTHORIZATION_HEADER, authentication);
+//            // 配置客户端IP
+//            requestTemplate.header("X-Forwarded-For", IpUtils.getIpAddr(ServletUtils.getRequest()));
     }
 }

+ 2 - 2
launch-gateway/src/main/java/com/launch/gateway/filter/AuthFilter.java

@@ -63,10 +63,10 @@ public class AuthFilter implements GlobalFilter, Ordered
         }
 
         // 设置用户信息到请求
-        addHeader(mutate, SecurityConstants.TOKEN_AUTHENTICATION, cookies.get(SecurityConstants.TOKEN_AUTHENTICATION));
+      //  addHeader(mutate, SecurityConstants.TOKEN_AUTHENTICATION, cookies.get(SecurityConstants.TOKEN_AUTHENTICATION));
 
         // 内部请求来源参数清除
-        removeHeader(mutate, SecurityConstants.FROM_SOURCE);
+      //  removeHeader(mutate, SecurityConstants.FROM_SOURCE);
 
         return chain.filter(exchange);
     }

+ 10 - 1
launch-modules/launch-job/pom.xml

@@ -34,7 +34,11 @@
             <groupId>com.alibaba.cloud</groupId>
             <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
         </dependency>
-        
+        <!--单点登录 -->
+        <dependency>
+            <groupId>com.xuxueli</groupId>
+            <artifactId>xxl-sso-core</artifactId>
+        </dependency>
         <!-- SpringBoot Actuator -->
         <dependency>
             <groupId>org.springframework.boot</groupId>
@@ -45,6 +49,11 @@
             <groupId>com.baomidou</groupId>
             <artifactId>mybatis-plus-boot-starter</artifactId>
         </dependency>
+
+        <dependency>
+            <groupId>cn.hutool</groupId>
+            <artifactId>hutool-all</artifactId>
+        </dependency>
         <!-- Swagger UI -->
         <dependency>
             <groupId>io.springfox</groupId>

+ 13 - 0
launch-modules/launch-job/src/main/java/com/launch/job/config/BaseConstants.java

@@ -0,0 +1,13 @@
+package com.launch.job.config;
+
+/**
+ * @Description:
+ * @Author: launch
+ */
+public class BaseConstants {
+    public static String CONTEXT_KEY_USER_ID = "userId";
+    public static String CONTEXT_KEY_USER_NAME = "userName";
+    public static String CONTEXT_KEY_XXL_SSO_SESSION = "xxl_sso_session";
+    public static String CONTEXT_KEY_SYSCODE = "sysCode";
+    public static String CONTEXT_KEY_USERINFO = "userInfo";
+}

+ 86 - 0
launch-modules/launch-job/src/main/java/com/launch/job/config/BaseContextHandler.java

@@ -0,0 +1,86 @@
+package com.launch.job.config;
+
+import com.xxl.sso.core.user.XxlSsoUser;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @Description:
+ * @Author: launch
+ */
+public class BaseContextHandler {
+    public static ThreadLocal<Map<String, Object>> threadLocal = new ThreadLocal<Map<String, Object>>();
+
+    public static void set(String key, Object value) {
+        Map<String, Object> map = threadLocal.get();
+        if (map == null) {
+            map = new HashMap<String, Object>();
+            threadLocal.set(map);
+        }
+        map.put(key, value);
+    }
+
+    public static Object get(String key) {
+        Map<String, Object> map = threadLocal.get();
+        if (map == null) {
+            map = new HashMap<String, Object>();
+            threadLocal.set(map);
+        }
+        return map.get(key);
+    }
+
+    public static String getUserId() {
+        Object value = get(BaseConstants.CONTEXT_KEY_USER_ID);
+        return returnObjectValue(value);
+    }
+
+    public static String getUserName() {
+        Object value = get(BaseConstants.CONTEXT_KEY_USER_NAME);
+        return returnObjectValue(value);
+    }
+
+    public static String getSessionId() {
+        Object value = get(BaseConstants.CONTEXT_KEY_XXL_SSO_SESSION);
+        return returnObjectValue(value);
+    }
+
+    public static Long getSysCode() {
+        Object value = get(BaseConstants.CONTEXT_KEY_SYSCODE);
+        return value == null ? null : (Long) value;
+    }
+
+    public static XxlSsoUser getUserInfo(){
+        Object value = get(BaseConstants.CONTEXT_KEY_USERINFO);
+        return value == null ? null : (XxlSsoUser) value;
+    }
+
+    public static void setSessionId(String sessionId) {
+        set(BaseConstants.CONTEXT_KEY_XXL_SSO_SESSION, sessionId);
+    }
+
+    public static void setUserName(String userName) {
+        set(BaseConstants.CONTEXT_KEY_USER_NAME, userName);
+    }
+
+    public static void setUserId(String userID) {
+        set(BaseConstants.CONTEXT_KEY_USER_ID, userID);
+    }
+
+    public static void setSysCode(Long sysCode) {
+        set(BaseConstants.CONTEXT_KEY_SYSCODE, sysCode);
+    }
+
+    public static void setUserInfo(XxlSsoUser userInfo) {
+        set(BaseConstants.CONTEXT_KEY_USERINFO, userInfo);
+    }
+
+    private static String returnObjectValue(Object value) {
+        return value == null ? null : value.toString();
+    }
+
+    public static void remove() {
+        threadLocal.remove();
+    }
+
+}

+ 25 - 0
launch-modules/launch-job/src/main/java/com/launch/job/config/GalaxyServerConfig.java

@@ -0,0 +1,25 @@
+package com.launch.job.config;
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+/**
+ * @Description:
+ * @Author: wc12256
+ * @Date:
+ */
+@Data
+@Component
+@ConfigurationProperties(prefix = "mokamrp.launch.server")
+public class GalaxyServerConfig {
+    /** 子系统编码 */
+    private Long sysCode;
+    /** 后端地址 */
+    private String serverUrl;
+    /** 前端地址 */
+    private String webUrl;
+    /** 太空接口地址. */
+    private String spaceApiUrl;
+    private String loginUrl;
+}

+ 21 - 0
launch-modules/launch-job/src/main/java/com/launch/job/config/GetUserInfoUrl.java

@@ -0,0 +1,21 @@
+package com.launch.job.config;
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+/**
+ * @Description:
+ * @Author: wc12256
+ * @Date: 2021/5/19 11:01
+ */
+@Data
+@Component
+@ConfigurationProperties(prefix = "user")
+public class GetUserInfoUrl {
+    /**  */
+    private String deptUrl;
+    /**  */
+    private String userInfo;
+
+}

+ 15 - 0
launch-modules/launch-job/src/main/java/com/launch/job/config/MybatisPlusConfig.java

@@ -0,0 +1,15 @@
+package com.launch.job.config;
+
+import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class MybatisPlusConfig {
+    @Bean
+    public PaginationInterceptor  paginationInterceptor() {
+        return new PaginationInterceptor ();
+    }
+
+
+}

+ 28 - 0
launch-modules/launch-job/src/main/java/com/launch/job/config/RestTemplateConfig.java

@@ -0,0 +1,28 @@
+package com.launch.job.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.http.client.ClientHttpRequestFactory;
+import org.springframework.http.client.SimpleClientHttpRequestFactory;
+import org.springframework.web.client.RestTemplate;
+
+/**
+ * Created by qiaos on 2018/06/28.
+ * RestTemplate配置类
+ */
+@Configuration
+public class RestTemplateConfig {
+
+    @Bean
+    public RestTemplate restTemplate(ClientHttpRequestFactory factory){
+        return new RestTemplate(factory);
+    }
+
+    @Bean
+    public ClientHttpRequestFactory simpleClientHttpRequestFactory(){
+        SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
+        factory.setReadTimeout(5000);//单位为ms
+        factory.setConnectTimeout(5000);//单位为ms
+        return factory;
+    }
+}

+ 52 - 0
launch-modules/launch-job/src/main/java/com/launch/job/config/UserAuthRestInterceptor.java

@@ -0,0 +1,52 @@
+package com.launch.job.config;
+
+
+import com.launch.common.core.config.BaseContextHandlerLog;
+
+import com.xxl.sso.core.login.SsoWebLoginHelper;
+import com.xxl.sso.core.user.XxlSsoUser;
+import com.xxl.sso.core.util.CookieUtil;
+import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * @Description: 用户登录拦截器
+ * @Author: wc12256
+ * @Date: 2021/5/18 19:11
+ */
+public class UserAuthRestInterceptor extends HandlerInterceptorAdapter {
+
+    @Override
+    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
+        // login check
+        XxlSsoUser xxlUser = SsoWebLoginHelper.loginCheck(request, response);
+        if (xxlUser != null) {
+            String cookieSessionId = CookieUtil.getValue(request, "xxl_sso_sessionid");
+            SetAuthTokenInfo(cookieSessionId, xxlUser.getUserid(), xxlUser.getUsername(), xxlUser);
+        }
+        return super.preHandle(request, response, handler);
+    }
+
+    @Override
+    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
+        BaseContextHandler.remove();
+        BaseContextHandlerLog.remove();
+        super.afterCompletion(request, response, handler, ex);
+    }
+
+    private void SetAuthTokenInfo(String sessionId, String userId, String userName, XxlSsoUser xxlSsoUser) {
+        BaseContextHandler.setSessionId(sessionId);
+        BaseContextHandler.setUserId(userId);
+        BaseContextHandler.setUserName(userName);
+        BaseContextHandler.setSysCode(new GalaxyServerConfig().getSysCode());
+        BaseContextHandler.setUserInfo(xxlSsoUser);
+        BaseContextHandlerLog.setSessionId(sessionId);
+        BaseContextHandlerLog.setUserId(userId);
+        BaseContextHandlerLog.setUserName(userName);
+        BaseContextHandlerLog.setSysCode(new GalaxyServerConfig().getSysCode());
+        BaseContextHandlerLog.setUserInfo(xxlSsoUser);
+
+    }
+}

+ 20 - 0
launch-modules/launch-job/src/main/java/com/launch/job/config/WebConfig.java

@@ -0,0 +1,20 @@
+package com.launch.job.config;
+
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+/**
+ * @author wc12256
+ */
+@Configuration
+public class WebConfig implements WebMvcConfigurer {
+
+    @Override
+    public void addInterceptors(InterceptorRegistry registry) {
+        registry.addInterceptor(new UserAuthRestInterceptor()).excludePathPatterns("/css/**")
+                .excludePathPatterns("/img/**").excludePathPatterns("/js/**");
+    }
+
+}

+ 53 - 0
launch-modules/launch-job/src/main/java/com/launch/job/config/XxlSsoConfig.java

@@ -0,0 +1,53 @@
+package com.launch.job.config;
+
+import com.xxl.sso.core.conf.Conf;
+import com.xxl.sso.core.filter.XxlSsoWebVueFilter;
+import com.xxl.sso.core.util.JedisUtil;
+import org.springframework.beans.factory.DisposableBean;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.web.servlet.FilterRegistrationBean;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+
+/**
+ * @author wc12256
+ */
+@Configuration
+public class XxlSsoConfig implements DisposableBean {
+    @Value("${xxl.sso.server}")
+    private String xxlSsoServer;
+
+    @Value("${xxl.sso.logout.path}")
+    private String xxlSsoLogoutPath;
+
+    @Value("${xxl.sso.excluded.paths}")
+    private String xxlSsoExcludedPaths;
+
+    @Value("${xxl.sso.redis.address}")
+    private String xxlSsoRedisAddress;
+
+    @Bean
+    public FilterRegistrationBean xxlSsoFilterRegistration() {
+        // xxl-sso, redis init
+        JedisUtil.init(xxlSsoRedisAddress);
+
+        // xxl-sso, filter init
+        FilterRegistrationBean registration = new FilterRegistrationBean();
+
+        registration.setName("XxlSsoWebVueFilter");
+        registration.setOrder(2);
+        registration.addUrlPatterns("/*");
+        registration.setFilter(new XxlSsoWebVueFilter());
+        registration.addInitParameter(Conf.SSO_SERVER, xxlSsoServer);
+        registration.addInitParameter(Conf.SSO_LOGOUT_PATH, xxlSsoLogoutPath);
+        registration.addInitParameter(Conf.SSO_EXCLUDED_PATHS, xxlSsoExcludedPaths);
+        return registration;
+    }
+
+    @Override
+    public void destroy() throws Exception {
+        // xxl-sso, redis close
+        JedisUtil.close();
+    }
+}

+ 56 - 0
launch-modules/launch-job/src/main/java/com/launch/job/controller/SysDeptController.java

@@ -0,0 +1,56 @@
+package com.launch.job.controller;
+
+
+import com.launch.job.controller.query.SysDeptQuery;
+import com.launch.job.domain.SysDeptENT;
+import com.launch.job.service.SysDeptService;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import com.launch.common.core.web.controller.BaseController;
+
+
+import com.launch.common.core.web.domain.AjaxResult;
+
+
+
+/**
+ * @description: 部门表
+ * @author: lanuch
+ * @date: 2021-08-09 11:00:48
+ **/
+@RestController
+@RequestMapping("/sysDept/")
+public class SysDeptController extends BaseController {
+
+    @Autowired
+    private SysDeptService sysDeptService;
+
+    @GetMapping("getCascader")
+    public AjaxResult getCascader() {
+        return  sysDeptService.getCascader();
+
+    }
+    @PostMapping("page")
+    public AjaxResult page(@RequestBody SysDeptQuery query) {
+
+       return null;
+    }
+
+    @PostMapping(value = "save")
+    public AjaxResult save(@RequestBody SysDeptENT ent) {
+
+        return null;
+    }
+
+    @PostMapping(value = "update")
+    public AjaxResult update(@RequestBody SysDeptENT ent) {
+
+        return null;
+    }
+
+    @DeleteMapping("/{id}")
+    public AjaxResult delete(@PathVariable Long[] id) {
+        return null;
+    }
+}

+ 11 - 10
launch-modules/launch-job/src/main/java/com/launch/job/controller/SysJobController.java

@@ -3,6 +3,8 @@ package com.launch.job.controller;
 import java.io.IOException;
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
+
+import com.launch.job.config.BaseContextHandler;
 import org.quartz.SchedulerException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.DeleteMapping;
@@ -43,7 +45,6 @@ public class SysJobController extends BaseController
     /**
      * 查询定时任务列表
      */
-    @PreAuthorize(hasPermi = "monitor:job:list")
     @GetMapping("/list")
     public TableDataInfo list(SysJob sysJob)
     {
@@ -55,7 +56,7 @@ public class SysJobController extends BaseController
     /**
      * 导出定时任务列表
      */
-    @PreAuthorize(hasPermi = "monitor:job:export")
+
     @Log(title = "定时任务", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     public void export(HttpServletResponse response, SysJob sysJob) throws IOException
@@ -68,7 +69,7 @@ public class SysJobController extends BaseController
     /**
      * 获取定时任务详细信息
      */
-    @PreAuthorize(hasPermi = "monitor:job:query")
+
     @GetMapping(value = "/{jobId}")
     public AjaxResult getInfo(@PathVariable("jobId") Long jobId)
     {
@@ -78,7 +79,7 @@ public class SysJobController extends BaseController
     /**
      * 新增定时任务
      */
-    @PreAuthorize(hasPermi = "monitor:job:add")
+
     @Log(title = "定时任务", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@RequestBody SysJob job) throws SchedulerException, TaskException
@@ -95,14 +96,14 @@ public class SysJobController extends BaseController
         {
             return error("新增任务'" + job.getJobName() + "'失败,目标字符串不允许'http(s)//'调用");
         }
-        job.setCreateBy(SecurityUtils.getUsername());
+        job.setCreateBy(BaseContextHandler.getUserName());
         return toAjax(jobService.insertJob(job));
     }
 
     /**
      * 修改定时任务
      */
-    @PreAuthorize(hasPermi = "monitor:job:edit")
+
     @Log(title = "定时任务", businessType = BusinessType.UPDATE)
     @PutMapping
     public AjaxResult edit(@RequestBody SysJob job) throws SchedulerException, TaskException
@@ -119,14 +120,14 @@ public class SysJobController extends BaseController
         {
             return error("修改任务'" + job.getJobName() + "'失败,目标字符串不允许'http(s)//'调用");
         }
-        job.setUpdateBy(SecurityUtils.getUsername());
+        job.setUpdateBy(BaseContextHandler.getUserName());
         return toAjax(jobService.updateJob(job));
     }
 
     /**
      * 定时任务状态修改
      */
-    @PreAuthorize(hasPermi = "monitor:job:changeStatus")
+
     @Log(title = "定时任务", businessType = BusinessType.UPDATE)
     @PutMapping("/changeStatus")
     public AjaxResult changeStatus(@RequestBody SysJob job) throws SchedulerException
@@ -139,7 +140,7 @@ public class SysJobController extends BaseController
     /**
      * 定时任务立即执行一次
      */
-    @PreAuthorize(hasPermi = "monitor:job:changeStatus")
+
     @Log(title = "定时任务", businessType = BusinessType.UPDATE)
     @PutMapping("/run")
     public AjaxResult run(@RequestBody SysJob job) throws SchedulerException
@@ -151,7 +152,7 @@ public class SysJobController extends BaseController
     /**
      * 删除定时任务
      */
-    @PreAuthorize(hasPermi = "monitor:job:remove")
+    //@PreAuthorize(hasPermi = "monitor:job:remove")
     @Log(title = "定时任务", businessType = BusinessType.DELETE)
     @DeleteMapping("/{jobIds}")
     public AjaxResult remove(@PathVariable Long[] jobIds) throws SchedulerException, TaskException

+ 5 - 5
launch-modules/launch-job/src/main/java/com/launch/job/controller/SysJobLogController.java

@@ -35,7 +35,7 @@ public class SysJobLogController extends BaseController
     /**
      * 查询定时任务调度日志列表
      */
-    @PreAuthorize(hasPermi = "monitor:job:list")
+
     @GetMapping("/list")
     public TableDataInfo list(SysJobLog sysJobLog)
     {
@@ -47,7 +47,7 @@ public class SysJobLogController extends BaseController
     /**
      * 导出定时任务调度日志列表
      */
-    @PreAuthorize(hasPermi = "monitor:job:export")
+
     @Log(title = "任务调度日志", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     public void export(HttpServletResponse response, SysJobLog sysJobLog) throws IOException
@@ -60,7 +60,7 @@ public class SysJobLogController extends BaseController
     /**
      * 根据调度编号获取详细信息
      */
-    @PreAuthorize(hasPermi = "monitor:job:query")
+
     @GetMapping(value = "/{configId}")
     public AjaxResult getInfo(@PathVariable Long jobLogId)
     {
@@ -70,7 +70,7 @@ public class SysJobLogController extends BaseController
     /**
      * 删除定时任务调度日志
      */
-    @PreAuthorize(hasPermi = "monitor:job:remove")
+
     @Log(title = "定时任务调度日志", businessType = BusinessType.DELETE)
     @DeleteMapping("/{jobLogIds}")
     public AjaxResult remove(@PathVariable Long[] jobLogIds)
@@ -81,7 +81,7 @@ public class SysJobLogController extends BaseController
     /**
      * 清空定时任务调度日志
      */
-    @PreAuthorize(hasPermi = "monitor:job:remove")
+   // @PreAuthorize(hasPermi = "monitor:job:remove")
     @Log(title = "调度日志", businessType = BusinessType.CLEAN)
     @DeleteMapping("/clean")
     public AjaxResult clean()

+ 64 - 0
launch-modules/launch-job/src/main/java/com/launch/job/controller/SysUserController.java

@@ -0,0 +1,64 @@
+package com.launch.job.controller;
+
+
+import com.launch.common.security.annotation.InnerAuth;
+import com.launch.job.controller.query.SysUserQuery;
+import com.launch.job.domain.SysUserENT;
+import com.launch.job.service.SysUserService;
+
+import com.launch.system.api.domain.SysUserVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import com.launch.common.core.web.controller.BaseController;
+
+import com.launch.common.core.web.domain.AjaxResult;
+
+
+/**
+ * @description: 用户信息表
+ * @author: lanuch
+ * @date: 2021-08-09 11:00:48
+ **/
+@RestController
+@RequestMapping("/sysUser/")
+public class SysUserController extends BaseController {
+
+    @Autowired
+    private SysUserService sysUserService;
+
+    @GetMapping("getAllUserForTransfer")
+    public AjaxResult getAllUserForTransfer() {
+        return sysUserService.getAllUserForTransfer();
+
+    }
+
+    @InnerAuth
+    @PostMapping("getUserById")
+    public AjaxResult getUserById( @RequestBody SysUserVO sysUserVO) {
+
+        return sysUserService.getUserById( sysUserVO.getUserId());
+    }
+
+    @PostMapping("page")
+    public AjaxResult page(@RequestBody SysUserQuery query) {
+
+       return null;
+    }
+
+    @PostMapping(value = "save")
+    public AjaxResult save(@RequestBody SysUserENT ent) {
+
+        return null;
+    }
+
+    @PostMapping(value = "update")
+    public AjaxResult update(@RequestBody SysUserENT ent) {
+
+        return null;
+    }
+
+    @DeleteMapping("/{id}")
+    public AjaxResult delete(@PathVariable Long[] id) {
+        return null;
+    }
+}

+ 105 - 0
launch-modules/launch-job/src/main/java/com/launch/job/controller/query/SysDeptQuery.java

@@ -0,0 +1,105 @@
+package com.launch.job.controller.query;
+
+import java.util.Date;
+import com.launch.common.core.model.BasePageQuery;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import lombok.Data;
+import java.io.Serializable;
+import lombok.Data;
+/**
+ * @description: 部门表
+ * @author: lanuch
+ * @date: 2021-08-09 11:00:48
+ **/
+@JsonIgnoreProperties(ignoreUnknown = true)
+@Data
+public class SysDeptQuery extends BasePageQuery implements Serializable {
+
+    /**
+     * comment:部门id
+     */
+    private String departmentId;
+
+    /**
+     * comment:部门名称
+     */
+    private String departmentName;
+
+    /**
+     * comment:负责人
+     */
+    private String leaderUserId;
+
+    /**
+     * comment:部门订单
+     */
+    private Integer deptOrder;
+
+    /**
+     * comment:部门成员数
+     */
+    private Integer memberCount;
+
+    /**
+     * comment:部门状态(0正常 1停用)
+     */
+    private Integer status;
+
+    /**
+     * comment:父部门id
+     */
+    private String parentDepartmentId;
+
+    /**
+     * comment:飞书部门id
+     */
+    private String feishuDepartmentId;
+
+    /**
+     * comment:是否人工
+     */
+    private String isArtificial;
+
+    /**
+     * comment:显示顺序
+     */
+    private Integer orderNum;
+
+    /**
+     * comment:祖级列表
+     */
+    private String ancestors;
+
+    /**
+     * comment:逻辑删除
+     */
+    private Integer deleted;
+
+    /**
+     * comment:创建者
+     */
+    private String createBy;
+
+    /**
+     * comment:创建时间
+     */
+    private Date createTime;
+
+    /**
+     * comment:更新者
+     */
+    private String updateBy;
+
+    /**
+     * comment:更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * comment:备注
+     */
+    private String remark;
+
+
+}
+

+ 136 - 0
launch-modules/launch-job/src/main/java/com/launch/job/controller/query/SysUserQuery.java

@@ -0,0 +1,136 @@
+package com.launch.job.controller.query;
+
+import java.util.Date;
+import java.math.BigDecimal;
+import com.launch.common.core.model.BasePageQuery;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import lombok.Data;
+import java.io.Serializable;
+import lombok.Data;
+/**
+ * @description: 用户信息表
+ * @author: lanuch
+ * @date: 2021-08-09 11:00:48
+ **/
+@JsonIgnoreProperties(ignoreUnknown = true)
+@Data
+public class SysUserQuery extends BasePageQuery implements Serializable {
+
+    /**
+     * comment:用户ID
+     */
+    private String userId;
+
+    /**
+     * comment:用户账号
+     */
+    private String userName;
+
+    /**
+     * comment:手机号码
+     */
+    private String mobile;
+
+    /**
+     * comment:用户邮箱
+     */
+    private String email;
+
+    /**
+     * comment:用户性别(0男 1女 2未知)
+     */
+    private Integer gender;
+
+    /**
+     * comment:帐号状态(0正常 1停用)
+     */
+    private Integer status;
+
+    /**
+     * comment:部门ID
+     */
+    private String departmentId;
+
+    /**
+     * comment:负责人id
+     */
+    private String leaderUserId;
+
+    /**
+     * comment:时间戳
+     */
+    private BigDecimal joinTime;
+
+    /**
+     * comment:编号
+     */
+    private String employeeNo;
+
+    /**
+     * comment:飞书userid
+     */
+    private String feishuUserId;
+
+    /**
+     * comment:头像
+     */
+    private String avatar;
+
+    /**
+     * comment:openid
+     */
+    private String userOpenId;
+
+    /**
+     * comment:是否人工
+     */
+    private String isArtificial;
+
+    /**
+     * comment:权限
+     */
+    private String roleId;
+
+    /**
+     * comment:权限名称
+     */
+    private String roleName;
+
+    /**
+     * comment:部门名称
+     */
+    private Date departmentName;
+
+    /**
+     * comment:逻辑删除
+     */
+    private Integer deleted;
+
+    /**
+     * comment:创建者
+     */
+    private String createBy;
+
+    /**
+     * comment:创建时间
+     */
+    private Date createTime;
+
+    /**
+     * comment:更新者
+     */
+    private String updateBy;
+
+    /**
+     * comment:更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * comment:备注
+     */
+    private String remark;
+
+
+}
+

+ 101 - 0
launch-modules/launch-job/src/main/java/com/launch/job/controller/vo/SysDeptVO.java

@@ -0,0 +1,101 @@
+package com.launch.job.controller.vo;
+
+import java.util.Date;
+
+import java.io.Serializable;
+
+/**
+ * @description: 部门表
+ * @author: lanuch
+ * @date: 2021-08-09 11:00:48
+ **/
+public class SysDeptVO implements Serializable {
+
+    /**
+     * comment:部门id
+     */
+    private String departmentId;
+
+    /**
+     * comment:部门名称
+     */
+    private String departmentName;
+
+    /**
+     * comment:负责人
+     */
+    private String leaderUserId;
+
+    /**
+     * comment:部门订单
+     */
+    private Integer deptOrder;
+
+    /**
+     * comment:部门成员数
+     */
+    private Integer memberCount;
+
+    /**
+     * comment:部门状态(0正常 1停用)
+     */
+    private Integer status;
+
+    /**
+     * comment:父部门id
+     */
+    private String parentDepartmentId;
+
+    /**
+     * comment:飞书部门id
+     */
+    private String feishuDepartmentId;
+
+    /**
+     * comment:是否人工
+     */
+    private String isArtificial;
+
+    /**
+     * comment:显示顺序
+     */
+    private Integer orderNum;
+
+    /**
+     * comment:祖级列表
+     */
+    private String ancestors;
+
+    /**
+     * comment:逻辑删除
+     */
+    private Integer deleted;
+
+    /**
+     * comment:创建者
+     */
+    private String createBy;
+
+    /**
+     * comment:创建时间
+     */
+    private Date createTime;
+
+    /**
+     * comment:更新者
+     */
+    private String updateBy;
+
+    /**
+     * comment:更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * comment:备注
+     */
+    private String remark;
+
+
+}
+

+ 132 - 0
launch-modules/launch-job/src/main/java/com/launch/job/controller/vo/SysUserVO.java

@@ -0,0 +1,132 @@
+package com.launch.job.controller.vo;
+
+import java.util.Date;
+import java.math.BigDecimal;
+
+import java.io.Serializable;
+
+/**
+ * @description: 用户信息表
+ * @author: lanuch
+ * @date: 2021-08-09 11:00:48
+ **/
+public class SysUserVO implements Serializable {
+
+    /**
+     * comment:用户ID
+     */
+    private String userId;
+
+    /**
+     * comment:用户账号
+     */
+    private String userName;
+
+    /**
+     * comment:手机号码
+     */
+    private String mobile;
+
+    /**
+     * comment:用户邮箱
+     */
+    private String email;
+
+    /**
+     * comment:用户性别(0男 1女 2未知)
+     */
+    private Integer gender;
+
+    /**
+     * comment:帐号状态(0正常 1停用)
+     */
+    private Integer status;
+
+    /**
+     * comment:部门ID
+     */
+    private String departmentId;
+
+    /**
+     * comment:负责人id
+     */
+    private String leaderUserId;
+
+    /**
+     * comment:时间戳
+     */
+    private BigDecimal joinTime;
+
+    /**
+     * comment:编号
+     */
+    private String employeeNo;
+
+    /**
+     * comment:飞书userid
+     */
+    private String feishuUserId;
+
+    /**
+     * comment:头像
+     */
+    private String avatar;
+
+    /**
+     * comment:openid
+     */
+    private String userOpenId;
+
+    /**
+     * comment:是否人工
+     */
+    private String isArtificial;
+
+    /**
+     * comment:权限
+     */
+    private String roleId;
+
+    /**
+     * comment:权限名称
+     */
+    private String roleName;
+
+    /**
+     * comment:部门名称
+     */
+    private Date departmentName;
+
+    /**
+     * comment:逻辑删除
+     */
+    private Integer deleted;
+
+    /**
+     * comment:创建者
+     */
+    private String createBy;
+
+    /**
+     * comment:创建时间
+     */
+    private Date createTime;
+
+    /**
+     * comment:更新者
+     */
+    private String updateBy;
+
+    /**
+     * comment:更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * comment:备注
+     */
+    private String remark;
+
+
+}
+

+ 133 - 0
launch-modules/launch-job/src/main/java/com/launch/job/domain/SysDeptENT.java

@@ -0,0 +1,133 @@
+package com.launch.job.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.util.Date;
+
+import java.io.Serializable;
+import lombok.Data;
+/**
+ * @description: 部门表
+ * @author: lanuch
+ * @date: 2021-08-09 11:00:48
+ **/
+@TableName("sys_dept")
+@Data
+public class SysDeptENT implements Serializable {
+
+    @TableId(value = "dept_id", type = IdType.AUTO)
+    private Integer deptId;
+    /**
+     * columnName:department_id
+     * comment:部门id
+     */
+
+    private String departmentId;
+
+    /**
+     * columnName:department_name
+     * comment:部门名称
+     */
+    private String departmentName;
+
+    /**
+     * columnName:leader_user_id
+     * comment:负责人
+     */
+    private String leaderUserId;
+
+    /**
+     * columnName:dept_order
+     * comment:部门订单
+     */
+    private Integer deptOrder;
+
+    /**
+     * columnName:member_count
+     * comment:部门成员数
+     */
+    private Integer memberCount;
+
+    /**
+     * columnName:status
+     * comment:部门状态(0正常 1停用)
+     */
+    private Integer status;
+
+    /**
+     * columnName:parent_department_id
+     * comment:父部门id
+     */
+    private String parentDepartmentId;
+
+    /**
+     * columnName:feishu_department_id
+     * comment:飞书部门id
+     */
+    private String feishuDepartmentId;
+
+    /**
+     * columnName:is_artificial
+     * comment:是否人工
+     */
+    private String isArtificial;
+
+    /**
+     * columnName:order_num
+     * comment:显示顺序
+     */
+    private Integer orderNum;
+
+    /**
+     * columnName:ancestors
+     * comment:祖级列表
+     */
+    private String ancestors;
+
+    /**
+     * columnName:deleted
+     * comment:逻辑删除
+     */
+    private Integer deleted;
+
+    /**
+     * columnName:create_by
+     * comment:创建者
+     */
+    private String createBy;
+
+    /**
+     * columnName:create_time
+     * comment:创建时间
+     */
+    private Date createTime;
+
+    /**
+     * columnName:update_by
+     * comment:更新者
+     */
+    private String updateBy;
+
+    /**
+     * columnName:update_time
+     * comment:更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * columnName:remark
+     * comment:备注
+     */
+    private String remark;
+
+    /**
+     * columnName:子部门
+     * comment:备注
+     */
+    private String children;
+
+}
+
+

+ 165 - 0
launch-modules/launch-job/src/main/java/com/launch/job/domain/SysUserENT.java

@@ -0,0 +1,165 @@
+package com.launch.job.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.util.Date;
+import java.math.BigDecimal;
+
+import java.io.Serializable;
+import lombok.Data;
+/**
+ * @description: 用户信息表
+ * @author: lanuch
+ * @date: 2021-08-09 11:00:48
+ **/
+@TableName("sys_user")
+@Data
+public class SysUserENT implements Serializable {
+
+    @TableId( value="u_id", type = IdType.AUTO)
+    private Integer Uid;
+    /**
+     * columnName:user_id
+     * comment:用户ID
+     */
+
+    private String userId;
+
+    /**
+     * columnName:user_name
+     * comment:用户账号
+     */
+    private String userName;
+
+    /**
+     * columnName:mobile
+     * comment:手机号码
+     */
+    private String mobile;
+
+    /**
+     * columnName:email
+     * comment:用户邮箱
+     */
+    private String email;
+
+    /**
+     * columnName:gender
+     * comment:用户性别(0男 1女 2未知)
+     */
+    private Integer gender;
+
+    /**
+     * columnName:status
+     * comment:帐号状态(0正常 1停用)
+     */
+    private Integer status;
+
+    /**
+     * columnName:department_id
+     * comment:部门ID
+     */
+    private String departmentId;
+
+    /**
+     * columnName:leader_user_id
+     * comment:负责人id
+     */
+    private String leaderUserId;
+
+    /**
+     * columnName:join_time
+     * comment:时间戳
+     */
+    private BigDecimal joinTime;
+
+    /**
+     * columnName:employee_no
+     * comment:编号
+     */
+    private String employeeNo;
+
+    /**
+     * columnName:feishu_user_id
+     * comment:飞书userid
+     */
+    private String feishuUserId;
+
+    /**
+     * columnName:avatar
+     * comment:头像
+     */
+    private String avatar;
+
+    /**
+     * columnName:user_open_id
+     * comment:openid
+     */
+    private String userOpenId;
+
+    /**
+     * columnName:is_artificial
+     * comment:是否人工
+     */
+    private String isArtificial;
+
+    /**
+     * columnName:role_id
+     * comment:权限
+     */
+    private String roleId;
+
+    /**
+     * columnName:role_name
+     * comment:权限名称
+     */
+    private String roleName;
+
+    /**
+     * columnName:department_name
+     * comment:部门名称
+     */
+    private Date departmentName;
+
+    /**
+     * columnName:deleted
+     * comment:逻辑删除
+     */
+    private Integer deleted;
+
+    /**
+     * columnName:create_by
+     * comment:创建者
+     */
+    private String createBy;
+
+    /**
+     * columnName:create_time
+     * comment:创建时间
+     */
+    private Date createTime;
+
+    /**
+     * columnName:update_by
+     * comment:更新者
+     */
+    private String updateBy;
+
+    /**
+     * columnName:update_time
+     * comment:更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * columnName:remark
+     * comment:备注
+     */
+    private String remark;
+
+
+}
+
+

+ 16 - 0
launch-modules/launch-job/src/main/java/com/launch/job/mapper/SysDeptMapper.java

@@ -0,0 +1,16 @@
+package com.launch.job.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.launch.job.domain.SysDeptENT;
+
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @description: 部门表
+ * @author: lanuch
+ * @date: 2021-08-09 11:00:48
+ **/
+@Mapper
+public interface SysDeptMapper extends BaseMapper<SysDeptENT> {
+
+}

+ 15 - 0
launch-modules/launch-job/src/main/java/com/launch/job/mapper/SysUserMapper.java

@@ -0,0 +1,15 @@
+package com.launch.job.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.launch.job.domain.SysUserENT;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @description: 用户信息表
+ * @author: lanuch
+ * @date: 2021-08-09 11:00:48
+ **/
+@Mapper
+public interface SysUserMapper extends BaseMapper<SysUserENT> {
+
+}

+ 16 - 0
launch-modules/launch-job/src/main/java/com/launch/job/service/SysDeptService.java

@@ -0,0 +1,16 @@
+package com.launch.job.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.launch.common.core.web.domain.AjaxResult;
+import com.launch.job.domain.SysDeptENT;
+
+/**
+ * @description: 部门表
+ * @author: lanuch
+ * @date: 2021-08-09 11:00:48
+ **/
+public interface SysDeptService extends IService<SysDeptENT> {
+
+     AjaxResult getCascader();
+
+}

+ 46 - 0
launch-modules/launch-job/src/main/java/com/launch/job/service/SysDeptServiceImpl.java

@@ -0,0 +1,46 @@
+package com.launch.job.service;
+
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.json.JSONArray;
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
+import com.launch.common.core.utils.StringUtils;
+import com.launch.common.core.web.domain.AjaxResult;
+import com.launch.job.domain.SysDeptENT;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.launch.job.domain.SysUserENT;
+import com.launch.job.mapper.SysDeptMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * @description: 部门表
+ * @author: lanuch
+ * @date: 2021-08-09 11:00:48
+ **/
+@Service
+public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDeptENT> implements SysDeptService {
+
+    @Autowired
+    private SysUserService sysUserService;
+
+    @Override
+    public AjaxResult getCascader() {
+        List<SysDeptENT> list = list();
+        List<SysUserENT> list1 = sysUserService.list();
+        Map<String, List<SysUserENT>> collect = list1.stream().collect(Collectors.groupingBy(SysUserENT::getDepartmentId));
+        if (CollectionUtil.isNotEmpty(list)) {
+            list.forEach(x->{
+
+            });
+        }
+        return null;
+    }
+
+}

+ 18 - 0
launch-modules/launch-job/src/main/java/com/launch/job/service/SysUserService.java

@@ -0,0 +1,18 @@
+package com.launch.job.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.launch.common.core.web.domain.AjaxResult;
+import com.launch.job.domain.SysUserENT;
+
+/**
+ * @description: 用户信息表
+ * @author: lanuch
+ * @date: 2021-08-09 11:00:48
+ **/
+public interface SysUserService extends IService<SysUserENT> {
+
+    AjaxResult getAllUserForTransfer();
+
+    AjaxResult getUserById(String  userIds);
+
+}

+ 116 - 0
launch-modules/launch-job/src/main/java/com/launch/job/service/SysUserServiceImpl.java

@@ -0,0 +1,116 @@
+package com.launch.job.service;
+
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.json.JSONArray;
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.launch.common.core.utils.StringUtils;
+import com.launch.common.core.web.domain.AjaxResult;
+import com.launch.job.controller.vo.SysDeptVO;
+import com.launch.job.domain.SysDeptENT;
+import com.launch.job.domain.SysUserENT;
+import com.launch.job.mapper.SysUserMapper;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.*;
+import java.util.concurrent.atomic.AtomicReference;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+
+/**
+ * @description: 用户信息表
+ * @author: lanuch
+ * @date: 2021-08-09 11:00:48
+ **/
+@Service
+public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUserENT> implements SysUserService {
+
+    @Autowired
+    private SysDeptService sysDeptService ;
+
+    @Override
+    public AjaxResult getAllUserForTransfer() {
+        List<SysDeptENT> listd = sysDeptService.list();
+        HashMap<String, Object> recursion=new HashMap<>();
+        if (CollectionUtil.isNotEmpty(listd)) {
+            listd.forEach(x->{
+                //获取一级子
+                String children = x.getChildren();
+                //为空
+                if (StringUtils.isEmpty(children)) {
+                    HashMap<String, Object> stringStringHashMap = new HashMap<>();
+                    stringStringHashMap.put("departmentId",x.getDepartmentId());
+                    stringStringHashMap.put("departmentName",x.getDepartmentName());
+                    recursion.put(x.getDepartmentId(),x.getDepartmentName());
+                }else {
+                    recursion.putAll(recursion(children));
+
+                }
+            });
+        }
+        List<SysUserENT> list = list();
+//        Collection<SysUserENT> values = list.stream()
+//                //或者这样写 Collectors.toMap(m -> m.getUserId(),
+//                .collect(Collectors.toMap(SysUserENT::getUserName,
+//                        Function.identity(), (oldValue, newValue) -> oldValue)).values();
+
+        ArrayList<JSONObject> sysUserENTS = new ArrayList<>();
+        list.forEach(x->{
+            JSONObject jsonObject = new JSONObject();
+            jsonObject.putOnce("label",x.getUserName()+"("+recursion.get(x.getDepartmentId())+")");
+            jsonObject.putOnce("key",x.getUserId());
+            jsonObject.putOnce("dept",x.getDepartmentId());
+            jsonObject.putOnce("deptName",x.getDepartmentName());
+            jsonObject.putOnce("pinyin",recursion.get(x.getDepartmentId())+x.getUserName());
+            sysUserENTS.add(jsonObject);
+        });
+
+        return AjaxResult.success(sysUserENTS);
+    }
+
+    @Override
+    public AjaxResult getUserById(String userIds) {
+
+        if (StringUtils.isNotEmpty(userIds)) {
+            List<String> split = JSONUtil.parseArray(userIds).toList(String.class);
+            if (CollectionUtil.isNotEmpty(Arrays.asList(split))) {
+                List<SysUserENT> list = list(new LambdaQueryWrapper<SysUserENT>().in(SysUserENT::getUserId,split));
+                return AjaxResult.success(list);
+            }
+        }
+        return AjaxResult.error();
+    }
+
+    /**
+     * 获取部门ID
+     */
+    public HashMap<String, Object> recursion(String children){
+        HashMap<String, Object> rt =new HashMap<>();
+        if (StringUtils.isNotEmpty(children)) {
+            //解析数组json
+            JSONArray objects = JSONUtil.parseArray(children);
+            if(!objects.isEmpty()){
+                //遍历json数组
+                objects.forEach(e->{
+                    if (null != e) {
+                        //解析json
+                        JSONObject jsonObject = JSONUtil.parseObj(e);
+                        if (!jsonObject.containsKey("children") || jsonObject.get("children") == null || jsonObject.get("children").toString().trim().equals("")) {
+                            if(jsonObject.containsKey("departmentId") ){
+                                rt.put(jsonObject.get("departmentId").toString(),jsonObject.get("departmentName"));
+                            }
+                        }else{
+                            HashMap<String, Object> children1 = recursion(jsonObject.get("children").toString());
+                            rt.putAll(children1);
+                        }
+                    }
+                });
+            }
+        }
+        return rt;
+    }
+}

+ 216 - 0
launch-modules/launch-job/src/main/java/com/launch/job/task/DeptAndEmpTask.java

@@ -0,0 +1,216 @@
+package com.launch.job.task;
+
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.json.JSONArray;
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.launch.common.core.exception.BaseException;
+import com.launch.common.core.utils.StringUtils;
+import com.launch.job.config.BaseContextHandler;
+import com.launch.job.config.GetUserInfoUrl;
+import com.launch.job.domain.SysDeptENT;
+import com.launch.job.domain.SysUserENT;
+import com.launch.job.service.SysDeptService;
+import com.launch.job.service.SysUserService;
+import nonapi.io.github.classgraph.json.JSONUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.util.LinkedMultiValueMap;
+import org.springframework.util.MultiValueMap;
+import org.springframework.web.client.RestTemplate;
+import org.springframework.http.*;
+
+import java.util.*;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.locks.ReentrantLock;
+import java.util.stream.Collectors;
+
+/**
+ * 定时任务调度测试
+ * 
+ * @author launch
+ */
+@Component("DeptAndEmpTask")
+public class DeptAndEmpTask
+{
+    @Autowired
+    private GetUserInfoUrl getUserInfoUrl;
+
+    @Autowired
+    private SysDeptService sysDeptService;
+    @Autowired
+    private SysUserService sysUserService;
+
+    //调用接口
+    @Autowired
+    private RestTemplate restTemplate;
+
+    /**
+     * 获取部门信息
+     */
+    public void getDept()
+    {
+        //  执行HTTP请求
+        ResponseEntity<String> responseEntity = restTemplate
+                .getForEntity(getUserInfoUrl.getDeptUrl(),String.class);
+        String body = responseEntity.getBody();
+        if(body != null){
+            JSONObject jsonObject = JSONUtil.parseObj(body);
+            if(jsonObject.containsKey("code")&&null!= jsonObject.get("code") && jsonObject.get("code").toString().equals("200")){
+                Object data = jsonObject.get("data");
+                if (data != null) {
+                    JSONArray objects = JSONUtil.parseArray(data);
+                    ArrayList<SysDeptENT> sysDeptENTS = new ArrayList<>();
+                    AtomicInteger atomicInteger = new AtomicInteger(1);
+                    objects.forEach(x->{
+                        JSONObject jsonObject1 = JSONUtil.parseObj(x);
+                        SysDeptENT sysDeptENT = JSONUtil.toBean(jsonObject1, SysDeptENT.class);
+                        sysDeptENT.setCreateTime(new Date());
+                        sysDeptENT.setOrderNum(atomicInteger.get());
+                        atomicInteger.incrementAndGet();
+                        sysDeptENTS.add(sysDeptENT);
+                    });
+
+
+                    if(CollectionUtil.isNotEmpty(sysDeptENTS)){
+                        List<String> collect = sysDeptENTS.stream().map(SysDeptENT::getDepartmentId).collect(Collectors.toList());
+                        LambdaQueryWrapper<SysDeptENT> in = new LambdaQueryWrapper<SysDeptENT>().in(SysDeptENT::getDepartmentId, collect);
+                        if (CollectionUtil.isNotEmpty(collect)) {
+                            int count = sysDeptService.count(in);
+                            boolean remove=true;
+                            if (count > 0) {
+                                 remove = sysDeptService.remove(in);
+                            }
+                            boolean b = sysDeptService.saveBatch(sysDeptENTS);
+                            if(!b || (count>0 && !remove)){
+                                throw  new BaseException("批量保存失败!");
+                            }
+                            return;
+                        }
+
+                    }
+                }
+            }
+        }
+        throw  new BaseException("更新失败!");
+    }
+    /**
+     * 获取部门ID
+     */
+    public ArrayList<String>  recursion( String children){
+        ArrayList<String> rt = new ArrayList<>();
+        if (StringUtils.isNotEmpty(children)) {
+            //解析数组json
+            JSONArray objects = JSONUtil.parseArray(children);
+            if(!objects.isEmpty()){
+                //遍历json数组
+                objects.forEach(e->{
+                    if (null != e) {
+                        //解析json
+                        JSONObject jsonObject = JSONUtil.parseObj(e);
+                        if (!jsonObject.containsKey("children") || jsonObject.get("children") == null || jsonObject.get("children").toString().trim().equals("")) {
+                            if(jsonObject.containsKey("departmentId") ){
+                                rt.add(jsonObject.get("departmentId").toString());
+                            }
+                        }else{
+                            ArrayList<String> children1 = recursion( jsonObject.get("children").toString());
+                             rt.addAll(children1);
+
+                        }
+                    }
+
+                });
+            }
+        }
+       return rt;
+    }
+
+    /**
+     * 获取用户信息
+     */
+    public void getUserInfo()
+    {
+        List<SysDeptENT> list = sysDeptService.list();
+        if (CollectionUtil.isNotEmpty(list)) {
+            ArrayList<String> strings = new ArrayList<>();
+            list.forEach(x->{
+                //获取一级子
+                String children = x.getChildren();
+                //为空
+                if (StringUtils.isEmpty(children)) {
+                    strings.add(x.getDepartmentId());
+                }else {
+                    ArrayList<String> recursion = recursion(children);
+                    strings.addAll(recursion);
+                }
+            });
+            //获取到部门id
+            if (CollectionUtil.isNotEmpty(strings)) {
+                ReentrantLock reentrantLock = new ReentrantLock();
+                ArrayList<SysUserENT> sysUserENTS = new ArrayList<>();
+                strings.forEach(w->{
+                        try {
+                        reentrantLock.lock();
+                        Thread.sleep(500);//對服务器的保护
+
+                        //  执行HTTP请求
+                        ResponseEntity<String> responseEntity = restTemplate
+                                .getForEntity(getUserInfoUrl.getUserInfo()+"?page=1&size=1000&departmentId="+w,String.class);
+                        String body = responseEntity.getBody();
+                            if(body != null) {
+                                JSONObject jsonObject = JSONUtil.parseObj(body);
+                                if (jsonObject.containsKey("code") && null != jsonObject.get("code") && jsonObject.get("code").toString().equals("200")) {
+                                    Object data = jsonObject.get("data");
+                                    if (data != null && !data.toString().trim().equals("")) {
+                                        JSONArray objects = JSONUtil.parseArray(JSONUtil.parseObj(data).get("records"));
+                                        if(!objects.isEmpty()){
+                                            objects.forEach(x->{
+                                                if (x != null) {
+                                                    JSONObject jsonObject1 = JSONUtil.parseObj(x);
+                                                    SysUserENT sysUserENT = JSONUtil.toBean(jsonObject1, SysUserENT.class);
+                                                    sysUserENT.setCreateTime(new Date());
+                                                    sysUserENTS.add(sysUserENT);
+                                                }
+                                            });
+                                        }
+                                    }
+                                }
+                            }
+                    }catch (Exception e){
+                        throw new BaseException(e.getMessage());
+                    }finally {
+                        reentrantLock.unlock();
+                    }
+                    });
+                if (CollectionUtil.isNotEmpty(sysUserENTS)) {
+                    List<String> collect = sysUserENTS.stream().map(SysUserENT::getUserId).collect(Collectors.toList());
+                    LambdaQueryWrapper<SysUserENT> in = new LambdaQueryWrapper<SysUserENT>().in(SysUserENT::getUserId, collect);
+                    int count = sysUserService.count(in);
+                    boolean remove=true;
+                    if (count > 0) {
+                        remove = sysUserService.remove(in);
+                    }
+                    boolean b = sysUserService.saveBatch(sysUserENTS);
+                    if(!b || (count>0 && !remove)){
+                        throw  new BaseException("批量保存失败!");
+                    }
+                    return;
+                }
+            }
+    }}
+
+
+    public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i)
+    {
+        System.out.println(StringUtils.format("执行多参方法: 字符串类型{},布尔类型{},长整型{},浮点型{},整形{}", s, b, l, d, i));
+    }
+
+    public void ryParams(String params)
+    {
+        System.out.println("执行有参方法:" + params);
+    }
+
+
+}

+ 4 - 4
launch-modules/launch-job/src/main/java/com/launch/job/task/RyTask.java

@@ -8,20 +8,20 @@ import com.launch.common.core.utils.StringUtils;
  * 
  * @author launch
  */
-@Component("ryTask")
+@Component("Task")
 public class RyTask
 {
-    public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i)
+    public void MultipleParams(String s, Boolean b, Long l, Double d, Integer i)
     {
         System.out.println(StringUtils.format("执行多参方法: 字符串类型{},布尔类型{},长整型{},浮点型{},整形{}", s, b, l, d, i));
     }
 
-    public void ryParams(String params)
+    public void Params(String params)
     {
         System.out.println("执行有参方法:" + params);
     }
 
-    public void ryNoParams()
+    public void NoParams()
     {
         System.out.println("执行无参方法");
     }

+ 5 - 0
launch-modules/launch-job/src/main/resources/mapper/job/SysDeptMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.launch.job.mapper.SysDeptMapper">
+
+</mapper>

+ 5 - 0
launch-modules/launch-job/src/main/resources/mapper/job/SysUserMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.launch.job.mapper.SysUserMapper">
+
+</mapper>

+ 20 - 1
launch-modules/launch-system/pom.xml

@@ -16,7 +16,21 @@
     </description>
 	
     <dependencies>
-    	
+        <dependency>
+            <groupId>com.plumelog</groupId>
+            <artifactId>plumelog-logback</artifactId>
+
+            <exclusions>
+                <exclusion>
+                    <artifactId>logback-classic</artifactId>
+                    <groupId>ch.qos.logback</groupId>
+                </exclusion>
+                <exclusion>
+                    <artifactId>logback-core</artifactId>
+                    <groupId>ch.qos.logback</groupId>
+                </exclusion>
+            </exclusions>
+        </dependency>
     	<!-- SpringCloud Alibaba Nacos -->
         <dependency>
             <groupId>com.alibaba.cloud</groupId>
@@ -27,6 +41,11 @@
             <groupId>com.xuxueli</groupId>
             <artifactId>xxl-sso-core</artifactId>
         </dependency>
+
+        <dependency>
+            <groupId>cn.hutool</groupId>
+            <artifactId>hutool-all</artifactId>
+        </dependency>
         <!-- Lombok 工具 -->
         <dependency>
             <groupId>org.projectlombok</groupId>

+ 16 - 0
launch-modules/launch-system/src/main/java/com/launch/system/config/MybatisPlusConfig.java

@@ -0,0 +1,16 @@
+package com.launch.system.config;
+
+import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class MybatisPlusConfig {
+    @Bean
+    public PaginationInterceptor  paginationInterceptor() {
+        return new PaginationInterceptor ();
+    }
+
+
+}

+ 23 - 0
launch-modules/launch-system/src/main/java/com/launch/system/config/TraceIdFilterConfig.java

@@ -0,0 +1,23 @@
+package com.launch.system.config;
+
+import com.plumelog.core.TraceIdFilter;
+import org.springframework.boot.web.servlet.FilterRegistrationBean;
+import org.springframework.context.annotation.Bean;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author wc12256
+ */
+@Component
+public class TraceIdFilterConfig {
+
+    @Bean
+    public FilterRegistrationBean traceIdFilterRegistrationBean() {
+        FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
+        filterRegistrationBean.setFilter(new TraceIdFilter());
+        filterRegistrationBean.addUrlPatterns("/*");
+        filterRegistrationBean.setOrder(3);
+        return filterRegistrationBean;
+    }
+
+}

+ 21 - 0
launch-modules/launch-system/src/main/java/com/launch/system/config/UserAuthRestInterceptor.java

@@ -1,13 +1,20 @@
 package com.launch.system.config;
 
 
+import com.launch.common.core.config.BaseContextHandlerLog;
+
 import com.xxl.sso.core.login.SsoWebLoginHelper;
 import com.xxl.sso.core.user.XxlSsoUser;
 import com.xxl.sso.core.util.CookieUtil;
+import org.springframework.util.CollectionUtils;
 import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
 
+import javax.servlet.http.Cookie;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Optional;
 
 /**
  * @Description: 用户登录拦截器
@@ -20,6 +27,14 @@ public class UserAuthRestInterceptor extends HandlerInterceptorAdapter {
     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
         // login check
         XxlSsoUser xxlUser = SsoWebLoginHelper.loginCheck(request, response);
+//        Cookie[] cookies = request.getCookies();
+//        if(!CollectionUtils.isEmpty(Arrays.asList(cookies))){
+//            List<Cookie> cookies1 = Arrays.asList(cookies);
+//            Optional<Cookie> xxl_sso_sessionid = cookies1.stream().filter(x -> x.getName().equals("xxl_sso_sessionid")).findFirst();
+//            if(xxl_sso_sessionid.isPresent()){
+//                String value = xxl_sso_sessionid.get().getValue();
+//            }
+//        }
         if (xxlUser != null) {
             String cookieSessionId = CookieUtil.getValue(request, "xxl_sso_sessionid");
             SetAuthTokenInfo(cookieSessionId, xxlUser.getUserid(), xxlUser.getUsername(), xxlUser);
@@ -30,6 +45,7 @@ public class UserAuthRestInterceptor extends HandlerInterceptorAdapter {
     @Override
     public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
         BaseContextHandler.remove();
+        BaseContextHandlerLog.remove();
         super.afterCompletion(request, response, handler, ex);
     }
 
@@ -39,5 +55,10 @@ public class UserAuthRestInterceptor extends HandlerInterceptorAdapter {
         BaseContextHandler.setUserName(userName);
         BaseContextHandler.setSysCode(new GalaxyServerConfig().getSysCode());
         BaseContextHandler.setUserInfo(xxlSsoUser);
+        BaseContextHandlerLog.setSessionId(sessionId);
+        BaseContextHandlerLog.setUserId(userId);
+        BaseContextHandlerLog.setUserName(userName);
+        BaseContextHandlerLog.setSysCode(new GalaxyServerConfig().getSysCode());
+        BaseContextHandlerLog.setUserInfo(xxlSsoUser);
     }
 }

+ 142 - 0
launch-modules/launch-system/src/main/java/com/launch/system/controller/SysDictDataController.java

@@ -0,0 +1,142 @@
+package com.launch.system.controller;
+
+
+import com.launch.common.core.utils.SecurityUtils;
+import com.launch.common.core.utils.StringUtils;
+import com.launch.common.core.utils.poi.ExcelUtil;
+import com.launch.common.core.web.controller.BaseController;
+import com.launch.common.core.web.domain.AjaxResult;
+import com.launch.common.core.web.page.TableDataInfo;
+import com.launch.common.log.annotation.Log;
+import com.launch.common.log.enums.BusinessType;
+import com.launch.system.config.BaseContextHandler;
+import com.launch.system.controller.query.SysDictDataQuery;
+import com.launch.system.entity.SysDictData;
+import com.launch.system.service.ISysDictDataService;
+import com.launch.system.service.ISysDictTypeService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 数据字典信息
+ * 
+ * @author ruoyi
+ */
+@RestController
+@RequestMapping("/dict/data")
+public class SysDictDataController extends BaseController
+{
+    @Autowired
+    private ISysDictDataService dictDataService;
+    
+    @Autowired
+    private ISysDictTypeService dictTypeService;
+
+
+    @GetMapping("/list")
+    public TableDataInfo list(SysDictDataQuery dictData)
+    {
+        if (StringUtils.isNotEmpty(dictData.getOperTimeQuery())) {
+            String operTimeQuery = dictData.getOperTimeQuery();
+            String[] split = operTimeQuery.split(",");
+            if(split.length==2){
+                Map<String, Object> params =
+                        dictData.getParams();
+                params.put("beginTime",split[0]);
+                params.put("endTime",split[1]);
+                dictData.setParams(params);
+            }
+        }
+        startPage();
+        List<SysDictData> list = dictDataService.selectDictDataList(dictData);
+        return getDataTable(list);
+    }
+
+    @Log(title = "字典数据", businessType = BusinessType.EXPORT)
+
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, SysDictDataQuery dictData) throws IOException
+    {
+        if (StringUtils.isNotEmpty(dictData.getOperTimeQuery())) {
+            String operTimeQuery = dictData.getOperTimeQuery();
+            String[] split = operTimeQuery.split(",");
+            if(split.length==2){
+                Map<String, Object> params =
+                        dictData.getParams();
+                params.put("beginTime",split[0]);
+                params.put("endTime",split[1]);
+                dictData.setParams(params);
+            }
+        }
+        List<SysDictData> list = dictDataService.selectDictDataList(dictData);
+        ExcelUtil<SysDictData> util = new ExcelUtil<SysDictData>(SysDictData.class);
+        util.exportExcel(response, list, "字典数据");
+    }
+
+    /**
+     * 查询字典数据详细
+     */
+
+    @GetMapping(value = "/{dictCode}")
+    public AjaxResult getInfo(@PathVariable Long dictCode)
+    {
+        return AjaxResult.success(dictDataService.selectDictDataById(dictCode));
+    }
+
+    /**
+     * 根据字典类型查询字典数据信息
+     */
+    @GetMapping(value = "/type/{dictType}")
+    public AjaxResult dictType(@PathVariable String dictType)
+    {
+        List<SysDictData> data = dictTypeService.selectDictDataByType(dictType);
+        if (StringUtils.isNull(data))
+        {
+            data = new ArrayList<SysDictData>();
+        }
+        return AjaxResult.success(data);
+    }
+
+    /**
+     * 新增字典类型
+     */
+
+    @Log(title = "字典数据", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@Validated @RequestBody SysDictData dict)
+    {
+        dict.setCreateBy(BaseContextHandler.getUserName());
+        return toAjax(dictDataService.insertDictData(dict));
+    }
+
+    /**
+     * 修改保存字典类型
+     */
+
+    @Log(title = "字典数据", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@Validated @RequestBody SysDictData dict)
+    {
+        dict.setUpdateBy(BaseContextHandler.getUserName());
+        return toAjax(dictDataService.updateDictData(dict));
+    }
+
+    /**
+     * 删除字典类型
+     */
+
+    @Log(title = "字典类型", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{dictCodes}")
+    public AjaxResult remove(@PathVariable Long[] dictCodes)
+    {
+        dictDataService.deleteDictDataByIds(dictCodes);
+        return success();
+    }
+}

+ 155 - 0
launch-modules/launch-system/src/main/java/com/launch/system/controller/SysDictTypeController.java

@@ -0,0 +1,155 @@
+package com.launch.system.controller;
+
+
+import com.launch.common.core.constant.UserConstants;
+import com.launch.common.core.utils.SecurityUtils;
+import com.launch.common.core.utils.StringUtils;
+import com.launch.common.core.utils.poi.ExcelUtil;
+import com.launch.common.core.web.controller.BaseController;
+import com.launch.common.core.web.domain.AjaxResult;
+import com.launch.common.core.web.page.TableDataInfo;
+import com.launch.common.log.annotation.Log;
+import com.launch.common.log.enums.BusinessType;
+import com.launch.common.security.annotation.PreAuthorize;
+import com.launch.system.config.BaseContextHandler;
+import com.launch.system.controller.query.SysDictTypeQuery;
+import com.launch.system.entity.SysDictType;
+import com.launch.system.service.ISysDictTypeService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 数据字典信息
+ * 
+ * @author ruoyi
+ */
+@RestController
+@RequestMapping("/dict/type")
+public class SysDictTypeController extends BaseController
+{
+    @Autowired
+    private ISysDictTypeService dictTypeService;
+
+
+    @GetMapping("/list")
+    public TableDataInfo list(SysDictTypeQuery dictType)
+    {
+        if (StringUtils.isNotEmpty(dictType.getOperTimeQuery())) {
+            String operTimeQuery = dictType.getOperTimeQuery();
+            String[] split = operTimeQuery.split(",");
+            if(split.length==2){
+                Map<String, Object> params =
+                        dictType.getParams();
+                params.put("beginTime",split[0]);
+                params.put("endTime",split[1]);
+                dictType.setParams(params);
+            }
+        }
+        startPage();
+        List<SysDictType> list = dictTypeService.selectDictTypeList(dictType);
+        return getDataTable(list);
+    }
+
+    @Log(title = "字典类型", businessType = BusinessType.EXPORT)
+
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, SysDictTypeQuery dictType) throws IOException
+    {
+        if (StringUtils.isNotEmpty(dictType.getOperTimeQuery())) {
+            String operTimeQuery = dictType.getOperTimeQuery();
+            String[] split = operTimeQuery.split(",");
+            if(split.length==2){
+                Map<String, Object> params =
+                        dictType.getParams();
+                params.put("beginTime",split[0]);
+                params.put("endTime",split[1]);
+                dictType.setParams(params);
+            }
+        }
+        List<SysDictType> list = dictTypeService.selectDictTypeList(dictType);
+        ExcelUtil<SysDictType> util = new ExcelUtil<SysDictType>(SysDictType.class);
+        util.exportExcel(response, list, "字典类型");
+    }
+
+    /**
+     * 查询字典类型详细
+     */
+
+    @GetMapping(value = "/{dictId}")
+    public AjaxResult getInfo(@PathVariable Long dictId)
+    {
+        return AjaxResult.success(dictTypeService.selectDictTypeById(dictId));
+    }
+
+    /**
+     * 新增字典类型
+     */
+
+    @Log(title = "字典类型", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@Validated @RequestBody SysDictType dict)
+    {
+        if (UserConstants.NOT_UNIQUE.equals(dictTypeService.checkDictTypeUnique(dict)))
+        {
+            return AjaxResult.error("新增字典'" + dict.getDictName() + "'失败,字典类型已存在");
+        }
+        dict.setCreateBy(BaseContextHandler.getUserName());
+        return toAjax(dictTypeService.insertDictType(dict));
+    }
+
+    /**
+     * 修改字典类型
+     */
+
+    @Log(title = "字典类型", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@Validated @RequestBody SysDictType dict)
+    {
+        if (UserConstants.NOT_UNIQUE.equals(dictTypeService.checkDictTypeUnique(dict)))
+        {
+            return AjaxResult.error("修改字典'" + dict.getDictName() + "'失败,字典类型已存在");
+        }
+        dict.setUpdateBy(BaseContextHandler.getUserName());
+        return toAjax(dictTypeService.updateDictType(dict));
+    }
+
+    /**
+     * 删除字典类型
+     */
+
+    @Log(title = "字典类型", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{dictIds}")
+    public AjaxResult remove(@PathVariable Long[] dictIds)
+    {
+        dictTypeService.deleteDictTypeByIds(dictIds);
+        return success();
+    }
+
+    /**
+     * 刷新字典缓存
+     */
+
+    @Log(title = "字典类型", businessType = BusinessType.CLEAN)
+    @DeleteMapping("/refreshCache")
+    public AjaxResult refreshCache()
+    {
+        dictTypeService.resetDictCache();
+        return AjaxResult.success();
+    }
+
+    /**
+     * 获取字典选择框列表
+     */
+    @GetMapping("/optionselect")
+    public AjaxResult optionselect()
+    {
+        List<SysDictType> dictTypes = dictTypeService.selectDictTypeAll();
+        return AjaxResult.success(dictTypes);
+    }
+}

+ 36 - 7
launch-modules/launch-system/src/main/java/com/launch/system/controller/SysOperlogController.java

@@ -1,5 +1,6 @@
 package com.launch.system.controller;
 
+import com.launch.common.core.utils.StringUtils;
 import com.launch.common.core.utils.poi.ExcelUtil;
 import com.launch.common.core.web.controller.BaseController;
 import com.launch.common.core.web.domain.AjaxResult;
@@ -9,6 +10,7 @@ import com.launch.common.log.enums.BusinessType;
 import com.launch.common.security.annotation.InnerAuth;
 import com.launch.common.security.annotation.PreAuthorize;
 import com.launch.system.api.domain.SysOperLog;
+import com.launch.system.controller.query.SysOperLogQuery;
 import com.launch.system.service.ISysOperLogService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -16,6 +18,7 @@ import org.springframework.web.bind.annotation.*;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 操作日志记录
@@ -34,34 +37,60 @@ public class SysOperlogController extends BaseController
         return AjaxResult.success(sysOperLog);
     }
 
-    @PreAuthorize(hasPermi = "system:operlog:list")
+    @PostMapping("/gettest")
+    public Boolean gettest()
+    {
+      System.out.println("-------------------------------------------------------------------------------------------");
+        return true;
+    }
     @GetMapping("/list")
-    public TableDataInfo list(SysOperLog operLog)
+    public TableDataInfo list(SysOperLogQuery operLog)
     {
         startPage();
+        if (StringUtils.isNotEmpty(operLog.getOperTimeQuery())) {
+            String operTimeQuery = operLog.getOperTimeQuery();
+            String[] split = operTimeQuery.split(",");
+            if(split.length==2){
+                Map<String, Object> params =
+                        operLog.getParams();
+                params.put("beginTime",split[0]);
+                params.put("endTime",split[1]);
+                operLog.setParams(params);
+            }
+        }
         List<SysOperLog> list = operLogService.selectOperLogList(operLog);
         return getDataTable(list);
     }
 
     @Log(title = "操作日志", businessType = BusinessType.EXPORT)
-    @PreAuthorize(hasPermi = "system:operlog:export")
     @PostMapping("/export")
-    public void export(HttpServletResponse response, SysOperLog operLog) throws IOException
+    public void export(HttpServletResponse response, SysOperLogQuery operLog) throws IOException
     {
+        if (StringUtils.isNotEmpty(operLog.getOperTimeQuery())) {
+            String operTimeQuery = operLog.getOperTimeQuery();
+            String[] split = operTimeQuery.split(",");
+            if(split.length==2){
+                Map<String, Object> params =
+                        operLog.getParams();
+                params.put("beginTime",split[0]);
+                params.put("endTime",split[1]);
+                operLog.setParams(params);
+            }
+        }
         List<SysOperLog> list = operLogService.selectOperLogList(operLog);
         ExcelUtil<SysOperLog> util = new ExcelUtil<SysOperLog>(SysOperLog.class);
         util.exportExcel(response, list, "操作日志");
     }
 
-    @Log(title = "操作日志", businessType = BusinessType.DELETE)
-    @PreAuthorize(hasPermi = "system:operlog:remove")
+
+
     @DeleteMapping("/{operIds}")
     public AjaxResult remove(@PathVariable Long[] operIds)
     {
         return toAjax(operLogService.deleteOperLogByIds(operIds));
     }
 
-    @PreAuthorize(hasPermi = "system:operlog:remove")
+
     @Log(title = "操作日志", businessType = BusinessType.CLEAN)
     @DeleteMapping("/clean")
     public AjaxResult clean()

+ 1 - 2
launch-modules/launch-system/src/main/java/com/launch/system/controller/SysUserController.java

@@ -6,10 +6,9 @@ import javax.servlet.http.HttpServletResponse;
 
 
 import com.launch.common.core.exception.BaseException;
-import com.launch.system.api.RemoteUserService;
 import com.launch.system.config.BaseContextHandler;
 import com.launch.system.config.GalaxyServerConfig;
-import com.launch.system.domain.SpaceMenuResponse;
+import com.launch.common.core.domain.SpaceMenuResponse;
 import com.launch.system.service.SpaceApiService;
 import com.xxl.sso.core.login.SsoWebLoginHelper;
 import com.xxl.sso.core.user.XxlSsoUser;

+ 99 - 0
launch-modules/launch-system/src/main/java/com/launch/system/controller/basicSetting/BasicSettingLabelController.java

@@ -0,0 +1,99 @@
+package com.launch.system.controller.basicSetting;
+
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.extra.spring.SpringUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
+import com.launch.common.core.utils.SpringUtils;
+import com.launch.common.core.utils.bean.BeanUtils;
+import com.launch.common.log.annotation.Log;
+import com.launch.common.log.enums.BusinessType;
+import com.launch.system.controller.query.BasicSettingLabelQuery;
+import com.launch.system.entity.BasicSettingLabelENT;
+import com.launch.system.service.BasicSettingLabelService;
+import com.launch.system.service.BasicSettingLabelTypeService;
+import lombok.extern.slf4j.Slf4j;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import com.launch.common.core.web.controller.BaseController;
+import com.launch.system.utils.MybatisPlusTool;
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.launch.common.core.web.domain.AjaxResult;
+import com.launch.system.config.BaseContextHandler;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+/**
+ * @description: 
+ * @author: lanuch
+ * @date: 2021-08-12 09:05:50
+ **/
+@Slf4j
+@RestController
+@RequestMapping("/basicSettingLabel/")
+public class BasicSettingLabelController extends BaseController {
+
+    @Autowired
+    private BasicSettingLabelService basicSettingLabelService;
+
+
+    @PostMapping("page")
+    public AjaxResult page(@RequestBody BasicSettingLabelQuery query) {
+     MybatisPlusTool<BasicSettingLabelENT> mybatisPlusTool = new MybatisPlusTool<>();
+     QueryWrapper<BasicSettingLabelENT> pageWrapper = mybatisPlusTool.selectWhereJion( BeanUtil.beanToMap(query));
+     Page<BasicSettingLabelENT> page =basicSettingLabelService.page(new Page<>(query.getPageNum(), query.getPageSize()), pageWrapper);
+
+    return AjaxResult.success(page);
+
+    }
+
+    @Log(title = "新增标签", businessType = BusinessType.INSERT)
+    @PostMapping(value = "save")
+    public AjaxResult save(@RequestBody BasicSettingLabelENT ent) {
+        String userName = BaseContextHandler.getUserName();
+        ent.setCreateBy(userName);
+        ent.setCreateTime(new Date());
+        String[] split = ent.getLabelName().split(",");
+        List<String> name = Arrays.stream(split).distinct().collect(Collectors.toList());
+        ArrayList<BasicSettingLabelENT> basicSettingLabelENTS = new ArrayList<>();
+
+        name.forEach(x->{
+            if(!"".equals(x) && !"null".equals(x)&& !"undefined".equals(x)){
+                BasicSettingLabelENT basicSettingLabelENT = new BasicSettingLabelENT();
+                BeanUtils.copyProperties(ent,basicSettingLabelENT);
+                basicSettingLabelENT.setLabelName(x);
+                basicSettingLabelENTS.add(basicSettingLabelENT);
+            }
+        });
+        if (CollectionUtil.isNotEmpty(basicSettingLabelENTS)) {
+            return toAjax( basicSettingLabelService.saveBatch(basicSettingLabelENTS) );
+
+        }
+
+        return toAjax( false);
+    }
+    @Log(title = "修改标签", businessType = BusinessType.UPDATE)
+    @PostMapping(value = "update")
+    public AjaxResult update(@RequestBody BasicSettingLabelENT ent) {
+        String userName = BaseContextHandler.getUserName();
+        ent.setUpdateBy(userName);
+        ent.setUpdateTime(new Date());
+        return toAjax( basicSettingLabelService.updateById(ent));
+    }
+
+    @Log(title = "删除标签", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{id}")
+    public AjaxResult delete(@PathVariable Long[] id) {
+        return toAjax(basicSettingLabelService.removeById(id[0]));
+    }
+}

+ 103 - 0
launch-modules/launch-system/src/main/java/com/launch/system/controller/basicSetting/BasicSettingLabelTypeController.java

@@ -0,0 +1,103 @@
+package com.launch.system.controller.basicSetting;
+
+import cn.hutool.core.collection.CollectionUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.launch.common.log.annotation.Log;
+import com.launch.common.log.enums.BusinessType;
+import com.launch.system.controller.query.BasicSettingLabelTypeQuery;
+import com.launch.system.entity.BasicSettingLabelENT;
+import com.launch.system.entity.BasicSettingLabelTypeENT;
+import com.launch.system.service.BasicSettingLabelService;
+import com.launch.system.service.BasicSettingLabelTypeService;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import com.launch.common.core.web.controller.BaseController;
+import com.launch.system.utils.MybatisPlusTool;
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.launch.common.core.web.domain.AjaxResult;
+import com.launch.system.config.BaseContextHandler;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * @description: 
+ * @author: lanuch
+ * @date: 2021-08-12 09:05:50
+ **/
+@RestController
+@RequestMapping("/basicSettingLabelType/")
+public class BasicSettingLabelTypeController extends BaseController {
+
+    @Autowired
+    private BasicSettingLabelService basicSettingLabelService;
+
+    @Autowired
+    private BasicSettingLabelTypeService basicSettingLabelTypeService;
+
+    @PostMapping("page")
+    public AjaxResult page(@RequestBody BasicSettingLabelTypeQuery query) {
+     MybatisPlusTool<BasicSettingLabelTypeENT> mybatisPlusTool = new MybatisPlusTool<>();
+     QueryWrapper<BasicSettingLabelTypeENT> pageWrapper = mybatisPlusTool.selectWhereJion( BeanUtil.beanToMap(query));
+
+     pageWrapper.orderByDesc("create_time");
+     Page<BasicSettingLabelTypeENT> page =basicSettingLabelTypeService.page(new Page<>(query.getPageNum(), query.getPageSize()), pageWrapper);
+        if (CollectionUtil.isNotEmpty(page.getRecords())) {
+            HashMap<String, Object> stringObjectHashMap = new HashMap<>();
+
+            List<BasicSettingLabelTypeENT> records = page.getRecords();
+
+            List<Integer> collect = records.stream().map(BasicSettingLabelTypeENT::getBsLabelTypeId).collect(Collectors.toList());
+            if(CollectionUtil.isNotEmpty(collect)){
+                List<BasicSettingLabelENT> list = basicSettingLabelService
+                        .list(new LambdaQueryWrapper<BasicSettingLabelENT>().in(BasicSettingLabelENT::getLableTypeId, collect));
+                if (CollectionUtil.isNotEmpty(list)) {
+                    Map<Integer, List<BasicSettingLabelENT>> labelType =
+                            list.stream().collect(Collectors.groupingBy(BasicSettingLabelENT::getLableTypeId));
+                    records.forEach(x->{
+                        List<BasicSettingLabelENT> basicSettingLabelENTS = labelType.get(x.getBsLabelTypeId());
+                        x.setNum(null==basicSettingLabelENTS ?"0":String.valueOf(basicSettingLabelENTS.size()));
+                    });
+                    stringObjectHashMap.put("Label",labelType);
+                    stringObjectHashMap.put("Material",new HashMap<>());
+                }
+
+            }
+            stringObjectHashMap.put("LabelType",records);
+            stringObjectHashMap.put("total",page.getTotal());
+            stringObjectHashMap.put("size",page.getSize());
+            stringObjectHashMap.put("current",page.getCurrent());
+            return AjaxResult.success(stringObjectHashMap);
+        }
+       return AjaxResult.success(page);
+    }
+    @Log(title = "新增标签分类", businessType = BusinessType.INSERT)
+    @PostMapping(value = "save")
+    public AjaxResult save(@RequestBody BasicSettingLabelTypeENT ent) {
+        String userName = BaseContextHandler.getUserName();
+        ent.setCreateBy(userName);
+        ent.setCreateTime(new Date());
+        return toAjax( basicSettingLabelTypeService.save(ent));
+    }
+    @Log(title = "修改标签分类", businessType = BusinessType.UPDATE)
+    @PostMapping(value = "update")
+    public AjaxResult update(@RequestBody BasicSettingLabelTypeENT ent) {
+        String userName = BaseContextHandler.getUserName();
+        ent.setUpdateBy(userName);
+        ent.setUpdateTime(new Date());
+        return toAjax( basicSettingLabelTypeService.updateById(ent));
+    }
+
+    @Log(title = "删除标签分类", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{id}")
+    public AjaxResult delete(@PathVariable Long[] id) {
+        return toAjax(basicSettingLabelTypeService.removeById(id[0]));
+    }
+}

+ 74 - 0
launch-modules/launch-system/src/main/java/com/launch/system/controller/basicSetting/BasicSettingProductController.java

@@ -0,0 +1,74 @@
+package com.launch.system.controller.basicSetting;
+
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.launch.common.core.utils.StringUtils;
+import com.launch.common.log.annotation.Log;
+import com.launch.common.log.enums.BusinessType;
+import com.launch.system.controller.query.BasicSettingProductQuery;
+import com.launch.system.entity.BasicSettingProductENT;
+import com.launch.system.service.BasicSettingProductService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import com.launch.common.core.web.controller.BaseController;
+import com.launch.system.utils.MybatisPlusTool;
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.launch.common.core.web.domain.AjaxResult;
+import com.launch.system.config.BaseContextHandler;
+import java.util.Date;
+
+/**
+ * @description: 
+ * @author: launch
+ * @date: 2021-08-11 08:59:54
+ **/
+@RestController
+@RequestMapping("/basicSettingProduct/")
+public class BasicSettingProductController extends BaseController {
+
+    @Autowired
+    private BasicSettingProductService basicSettingProductService;
+
+    @PostMapping("page")
+    public AjaxResult page(@RequestBody BasicSettingProductQuery query) {
+     MybatisPlusTool<BasicSettingProductENT> mybatisPlusTool = new MybatisPlusTool<>();
+     QueryWrapper<BasicSettingProductENT> pageWrapper = mybatisPlusTool.selectWhereJion( BeanUtil.beanToMap(query));
+      //LambdaQueryWrapper<BasicSettingProductENT> pageWrapper = Wrappers.lambdaQuery();
+      //such as pageWrapper.eq(是否作为查询条件,字段,值)
+      //pageWrapper.eq(StringUtils.isNotBlank(query.getPageNum()), BasicSettingProductQuery::getPageNum, query.getPageNum());
+      //pageWrapper.eq(query.getPageSize() != null, BasicSettingProductQuery::getPageSize, query.getPageSize());
+        pageWrapper.orderByDesc("is_useing").orderByDesc("create_time");
+       Page<BasicSettingProductENT> page =basicSettingProductService.page(new Page<>(query.getPageNum(), query.getPageSize()), pageWrapper);
+       return AjaxResult.success(page);
+    }
+    @Log(title = "批量操作修改产品", businessType = BusinessType.UPDATE)
+    @PostMapping("updateBatch")
+    public AjaxResult updateBatch(@RequestBody BasicSettingProductQuery query) {
+        return  basicSettingProductService.updateBatch( query);
+
+
+    }
+
+    @Log(title = "新增产品", businessType = BusinessType.INSERT)
+    @PostMapping(value = "save")
+    public AjaxResult save(@RequestBody BasicSettingProductENT ent) {
+        String userName = BaseContextHandler.getUserName();
+        ent.setCreateBy(userName);
+        ent.setCreateTime(new Date());
+        return toAjax( basicSettingProductService.save(ent));
+    }
+    @Log(title = "修改产品", businessType = BusinessType.UPDATE)
+    @PostMapping(value = "update")
+    public AjaxResult update(@RequestBody BasicSettingProductENT ent) {
+        String userName = BaseContextHandler.getUserName();
+        ent.setUpdateBy(userName);
+        ent.setUpdateTime(new Date());
+        return toAjax( basicSettingProductService.updateById(ent));
+    }
+    @Log(title = "删除产品", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{id}")
+    public AjaxResult delete(@PathVariable Long[] id) {
+        return toAjax(basicSettingProductService.removeById(id[0]));
+    }
+}

+ 80 - 0
launch-modules/launch-system/src/main/java/com/launch/system/controller/basicSetting/BasicSettingProductSourceController.java

@@ -0,0 +1,80 @@
+package com.launch.system.controller.basicSetting;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.launch.common.core.enums.Useing;
+import com.launch.common.log.annotation.Log;
+import com.launch.common.log.enums.BusinessType;
+import com.launch.system.controller.query.BasicSettingProductSourceQuery;
+import com.launch.system.entity.BasicSettingProductSourceENT;
+import com.launch.system.service.BasicSettingProductSourceService;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import com.launch.common.core.web.controller.BaseController;
+import com.launch.system.utils.MybatisPlusTool;
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.launch.common.core.web.domain.AjaxResult;
+import com.launch.system.config.BaseContextHandler;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @description: 
+ * @author: lanuch
+ * @date: 2021-08-06 10:18:21
+ **/
+@RestController
+@RequestMapping("/basicSettingProductSource/")
+public class BasicSettingProductSourceController extends BaseController {
+
+    @Autowired
+    private BasicSettingProductSourceService basicSettingProductSourceService;
+
+    @PostMapping("page")
+    public AjaxResult page(@RequestBody BasicSettingProductSourceQuery query) {
+     MybatisPlusTool<BasicSettingProductSourceENT> mybatisPlusTool = new MybatisPlusTool<>();
+     QueryWrapper<BasicSettingProductSourceENT> pageWrapper = mybatisPlusTool.selectWhereJion( BeanUtil.beanToMap(query));
+      //LambdaQueryWrapper<BasicSettingProductSourceENT> pageWrapper = Wrappers.lambdaQuery();
+      //such as pageWrapper.eq(是否作为查询条件,字段,值)
+      //pageWrapper.eq(StringUtils.isNotBlank(query.getPageNum()), BasicSettingProductSourceQuery::getPageNum, query.getPageNum());
+      //pageWrapper.eq(query.getPageSize() != null, BasicSettingProductSourceQuery::getPageSize, query.getPageSize());
+        pageWrapper.orderByDesc("is_useing").orderByDesc("create_time");
+       Page<BasicSettingProductSourceENT> page =basicSettingProductSourceService.page(new Page<>(query.getPageNum(), query.getPageSize()), pageWrapper);
+       return AjaxResult.success(page);
+    }
+
+    @GetMapping("getIsUseingData")
+    public AjaxResult getIsUseingData() {
+        QueryWrapper<BasicSettingProductSourceENT> pageWrapper =new QueryWrapper<>();
+        pageWrapper.eq("is_useing", Useing.TRUEUSEING.getCode());
+        pageWrapper.orderByDesc("create_time");
+        List<BasicSettingProductSourceENT> list = basicSettingProductSourceService.list(pageWrapper);
+        return AjaxResult.success(list);
+    }
+
+    @Log(title = "新增产品来源", businessType = BusinessType.INSERT)
+    @PostMapping(value = "save")
+    public AjaxResult save(@RequestBody BasicSettingProductSourceENT ent) {
+        String userName = BaseContextHandler.getUserName();
+        ent.setCreateBy(userName);
+        ent.setCreateTime(new Date());
+        return toAjax( basicSettingProductSourceService.save(ent));
+    }
+    @Log(title = "修改产品来源", businessType = BusinessType.UPDATE)
+    @PostMapping(value = "update")
+    public AjaxResult update(@RequestBody BasicSettingProductSourceENT ent) {
+        String userName = BaseContextHandler.getUserName();
+        ent.setUpdateBy(userName);
+        ent.setUpdateTime(new Date());
+        return toAjax( basicSettingProductSourceService.updateById(ent));
+    }
+    @Log(title = "删除产品来源", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{id}")
+    public AjaxResult delete(@PathVariable Long[] id) {
+        return toAjax(basicSettingProductSourceService.removeById(id[0]));
+    }
+}

+ 86 - 0
launch-modules/launch-system/src/main/java/com/launch/system/controller/basicSetting/BasicSettingProductTypeController.java

@@ -0,0 +1,86 @@
+package com.launch.system.controller.basicSetting;
+
+import cn.hutool.core.date.DateUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.launch.common.core.enums.Useing;
+import com.launch.common.core.exception.BaseException;
+import com.launch.common.core.web.controller.BaseController;
+import com.launch.common.core.web.domain.AjaxResult;
+import com.launch.common.log.annotation.Log;
+import com.launch.common.log.enums.BusinessType;
+import com.launch.system.config.BaseContextHandler;
+import com.launch.system.controller.query.BasicSettingProductTypeQuery;
+import com.launch.system.entity.BasicSettingProductTypeENT;
+import com.launch.system.service.BasicSettingProductTypeService;
+import com.launch.system.utils.MybatisPlusTool;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import cn.hutool.core.bean.BeanUtil;
+
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @description: 产品类型
+ * @author: launch
+ * @date: 2021-08-05 14:56:08
+ **/
+@RestController
+@RequestMapping("/basicSettingProductType/")
+
+public class BasicSettingProductTypeController extends BaseController {
+
+    @Autowired
+    private BasicSettingProductTypeService basicSettingProductTypeService;
+
+    @PostMapping("page")
+    public AjaxResult page(@RequestBody BasicSettingProductTypeQuery query) {
+        MybatisPlusTool<BasicSettingProductTypeENT> sysDictTypeMybatisPlusTool = new MybatisPlusTool<>();
+        //条件查询
+       // LambdaQueryWrapper<BasicSettingProductTypeENT> objectLambdaQueryWrapper = Wrappers.lambdaQuery();
+        QueryWrapper<BasicSettingProductTypeENT> pageWrapper = sysDictTypeMybatisPlusTool.selectWhereJion(BeanUtil.beanToMap(query));
+        //LambdaQueryWrapper<BasicSettingProductTypeENT> pageWrapper = Wrappers.lambdaQuery();
+        //such as pageWrapper.eq(是否作为查询条件,字段,值)
+        //pageWrapper.eq(StringUtils.isNotBlank(query.getPageNum()), BasicSettingProductTypeQuery::getPageNum, query.getPageNum());
+        //pageWrapper.eq(query.getPageSize() != null, BasicSettingProductTypeQuery::getPageSize, query.getPageSize());
+        pageWrapper.orderByDesc("is_useing").orderByDesc("create_time");
+        Page<BasicSettingProductTypeENT> page = basicSettingProductTypeService.page(new Page<>(query.getPageNum(), query.getPageSize()), pageWrapper);
+        return AjaxResult.success(page);
+    }
+
+    @GetMapping("getAllIsUseing")
+    public AjaxResult getAllIsUseing() {
+        LambdaQueryWrapper<BasicSettingProductTypeENT> pageWrapper = new LambdaQueryWrapper<>();
+        pageWrapper.eq(BasicSettingProductTypeENT::getIsUseing,Useing.TRUEUSEING.getCode()).orderByDesc(BasicSettingProductTypeENT::getCreateTime);
+        List<BasicSettingProductTypeENT> list = basicSettingProductTypeService.list(pageWrapper);
+        return AjaxResult.success(list);
+    }
+
+    @Log(title = "新增产品品类", businessType = BusinessType.INSERT)
+    @PostMapping(value = "save")
+    public AjaxResult save(@RequestBody BasicSettingProductTypeENT ent) {
+        String userName = BaseContextHandler.getUserName();
+        ent.setCreateBy(userName);
+        ent.setCreateTime(new Date());
+        return toAjax(basicSettingProductTypeService.save(ent));
+    }
+    @Log(title = "修改产品品类", businessType = BusinessType.UPDATE)
+    @PostMapping(value = "update")
+    public AjaxResult update(@RequestBody BasicSettingProductTypeENT ent) {
+        String userName = BaseContextHandler.getUserName();
+        ent.setUpdateBy(userName);
+        ent.setUpdateTime(new Date());
+        return toAjax(basicSettingProductTypeService.updateById(ent));
+    }
+    @Log(title = "删除产品品类", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{id}")
+    public AjaxResult delete(@PathVariable Long[] id) {
+
+        return toAjax(basicSettingProductTypeService.removeById(id[0]));
+    }
+}

+ 137 - 0
launch-modules/launch-system/src/main/java/com/launch/system/controller/basicSetting/BasicSettingProjectController.java

@@ -0,0 +1,137 @@
+package com.launch.system.controller.basicSetting;
+
+import cn.hutool.core.collection.CollectionUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
+import com.launch.common.core.constant.SecurityConstants;
+import com.launch.common.core.domain.R;
+import com.launch.common.core.enums.Useing;
+import com.launch.common.core.exception.BaseException;
+import com.launch.common.core.utils.StringUtils;
+import com.launch.common.log.annotation.Log;
+import com.launch.common.log.enums.BusinessType;
+import com.launch.system.api.RemoteUserService;
+import com.launch.system.api.domain.SysUserVO;
+import com.launch.system.controller.query.BasicSettingProjectQuery;
+import com.launch.system.entity.BasicSettingProjectENT;
+import com.launch.system.service.BasicSettingProjectService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import com.launch.common.core.web.controller.BaseController;
+import com.launch.system.utils.MybatisPlusTool;
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.launch.common.core.web.domain.AjaxResult;
+import com.launch.system.config.BaseContextHandler;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * @description: 项目
+ * @author: launch
+ * @date: 2021-08-09 16:36:43
+ **/
+@RestController
+@RequestMapping("/basicSettingProject/")
+public class BasicSettingProjectController extends BaseController {
+
+    @Autowired
+    private BasicSettingProjectService basicSettingProjectService;
+
+    @Autowired
+    private RemoteUserService remoteUserService;
+
+    @PostMapping("page")
+    public AjaxResult page(@RequestBody BasicSettingProjectQuery query) {
+     MybatisPlusTool<BasicSettingProjectENT> mybatisPlusTool = new MybatisPlusTool<>();
+     QueryWrapper<BasicSettingProjectENT> pageWrapper = mybatisPlusTool.selectWhereJion( BeanUtil.beanToMap(query));
+        String userId = BaseContextHandler.getUserId();
+        String userName = BaseContextHandler.getUserName();
+        pageWrapper.eq("status",Useing.ISUSEING.getCode());
+        pageWrapper.and(w->w.eq("create_by",userName).or().like("leader_user_id",userId).or().like("visible_user_id_list",userId));
+        pageWrapper.orderByDesc("status").orderByDesc("create_time");
+     Page<BasicSettingProjectENT> page =basicSettingProjectService.page(new Page<>(query.getPageNum(), query.getPageSize()), pageWrapper);
+        if (CollectionUtil.isNotEmpty(page.getRecords())) {
+            List<BasicSettingProjectENT> records = page.getRecords();
+            records.forEach(x->{
+                x.setStatus(Useing.getForInfo(x.getStatus()));
+                x.setProjectVisibleType(Useing.getForInfo(x.getProjectVisibleType()));
+            });
+            page.setRecords(records);
+
+        }
+       return AjaxResult.success(page);
+    }
+
+    @GetMapping("getProjectForSource")
+    public AjaxResult getProjectForSource() {
+       // MybatisPlusTool<BasicSettingProjectENT> mybatisPlusTool = new MybatisPlusTool<>();
+        QueryWrapper<BasicSettingProjectENT> pageWrapper = new QueryWrapper<>();// mybatisPlusTool.selectWhereJion( BeanUtil.beanToMap(query));
+        String userId = BaseContextHandler.getUserId();
+        String userName = BaseContextHandler.getUserName();
+        pageWrapper.and(w->w.eq("create_by",userName).or().like("leader_user_id",userId).or().like("visible_user_id_list",userId));
+        pageWrapper.orderByDesc("status").orderByDesc("create_time");
+        List<BasicSettingProjectENT> list = basicSettingProjectService.list(pageWrapper);
+        if (CollectionUtil.isNotEmpty(list)) {
+            list.forEach(x->{
+                x.setStatus(Useing.getForInfo(x.getStatus()));
+                x.setProjectVisibleType(Useing.getForInfo(x.getProjectVisibleType()));
+            });
+        }
+        return AjaxResult.success(list);
+    }
+    @GetMapping("getProjectForProduct")
+    public AjaxResult getProjectForProduct() {
+      return   basicSettingProjectService.getProjectForProduct();
+    }
+    @Log(title = "新增项目", businessType = BusinessType.INSERT)
+    @PostMapping(value = "save")
+    public AjaxResult save(@RequestBody BasicSettingProjectENT ent) {
+        String userName = BaseContextHandler.getUserName();
+
+        String forCode = Useing.getForCode(ent.getProjectVisibleType());
+        if (StringUtils.isEmpty(forCode)) {
+           return error("可见状态参数异常!");
+        }
+        ent.setProjectVisibleType(forCode);
+        String forCode1 = Useing.getForCode(ent.getStatus());
+        if (StringUtils.isEmpty(forCode1)) {
+            return error("启用状态参数异常!");
+        }
+        ent.setStatus(forCode1);
+        ent.setCreateBy(userName);
+        ent.setCreateTime(new Date());
+        return toAjax( basicSettingProjectService.save(ent));
+    }
+
+    @Log(title = "修改项目", businessType = BusinessType.UPDATE)
+    @PostMapping(value = "update")
+    public AjaxResult update(@RequestBody BasicSettingProjectENT ent) {
+        String userName = BaseContextHandler.getUserName();
+        String forCode = Useing.getForCode(ent.getProjectVisibleType());
+        if (StringUtils.isEmpty(forCode)) {
+            return error("可见状态参数异常!");
+        }
+        ent.setProjectVisibleType(forCode);
+        String forCode1 = Useing.getForCode(ent.getStatus());
+        if (StringUtils.isEmpty(forCode1)) {
+            return error("启用状态参数异常!");
+        }
+        ent.setStatus(forCode1);
+        ent.setUpdateBy(userName);
+        ent.setUpdateTime(new Date());
+        return toAjax( basicSettingProjectService.updateById(ent));
+    }
+    @Log(title = "删除项目", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{id}")
+    public AjaxResult delete(@PathVariable Long[] id) {
+        return toAjax(basicSettingProjectService.removeById(id[0]));
+    }
+}

+ 65 - 0
launch-modules/launch-system/src/main/java/com/launch/system/controller/query/BasicSettingLabelQuery.java

@@ -0,0 +1,65 @@
+package com.launch.system.controller.query;
+
+import java.util.Date;
+import com.launch.common.core.model.BasePageQuery;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import lombok.Data;
+import java.io.Serializable;
+import lombok.Data;
+/**
+ * @description: 
+ * @author: lanuch
+ * @date: 2021-08-12 09:05:50
+ **/
+@JsonIgnoreProperties(ignoreUnknown = true)
+@Data
+public class BasicSettingLabelQuery extends BasePageQuery implements Serializable {
+
+    /**
+     * comment:
+     */
+    private Integer bsLabelId;
+
+    /**
+     * comment:标签名称
+     */
+    private String labelName;
+
+    /**
+     * comment:类型id
+     */
+    private Integer lableTypeId;
+
+    /**
+     * comment:逻辑删除
+     */
+    private Integer deleted;
+
+    /**
+     * comment:创建者
+     */
+    private String createBy;
+
+    /**
+     * comment:创建时间
+     */
+    private Date createTime;
+
+    /**
+     * comment:更新者
+     */
+    private String updateBy;
+
+    /**
+     * comment:更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * comment:备注
+     */
+    private String remark;
+
+
+}
+

+ 70 - 0
launch-modules/launch-system/src/main/java/com/launch/system/controller/query/BasicSettingLabelTypeQuery.java

@@ -0,0 +1,70 @@
+package com.launch.system.controller.query;
+
+import java.util.Date;
+import com.launch.common.core.model.BasePageQuery;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import lombok.Data;
+import java.io.Serializable;
+import lombok.Data;
+/**
+ * @description: 
+ * @author: lanuch
+ * @date: 2021-08-12 09:05:50
+ **/
+@JsonIgnoreProperties(ignoreUnknown = true)
+@Data
+public class BasicSettingLabelTypeQuery extends BasePageQuery implements Serializable {
+
+    /**
+     * comment:
+     */
+    private Integer bsLabelTypeId;
+
+    /**
+     * comment:标签分类名称
+     */
+    private String labelTypeName;
+
+    /**
+     * comment:关联项目id
+     */
+    private Integer relationProjectId;
+
+    /**
+     * comment:关联项目名称
+     */
+    private String relationProjectName;
+
+    /**
+     * comment:逻辑删除
+     */
+    private Integer deleted;
+
+    /**
+     * comment:创建者
+     */
+    private String createBy;
+
+    /**
+     * comment:创建时间
+     */
+    private Date createTime;
+
+    /**
+     * comment:更新者
+     */
+    private String updateBy;
+
+    /**
+     * comment:更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * comment:备注
+     */
+    private String remark;
+
+
+}
+

+ 110 - 0
launch-modules/launch-system/src/main/java/com/launch/system/controller/query/BasicSettingProductQuery.java

@@ -0,0 +1,110 @@
+package com.launch.system.controller.query;
+
+import java.util.Date;
+import com.launch.common.core.model.BasePageQuery;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import lombok.Data;
+import java.io.Serializable;
+import lombok.Data;
+/**
+ * @description: 
+ * @author: launch
+ * @date: 2021-08-11 08:59:54
+ **/
+@JsonIgnoreProperties(ignoreUnknown = true)
+@Data
+public class BasicSettingProductQuery extends BasePageQuery implements Serializable {
+
+    /**
+     * comment:
+     */
+    private Integer bsProductId;
+
+    /**
+     * comment:产品名称
+     */
+    private String productName;
+
+    /**
+     * comment:产品类型id
+     */
+    private Integer productTypeId;
+
+    /**
+     * comment:产品类型名称
+     */
+    private String productTypeName;
+
+    /**
+     * comment:产品来源id
+     */
+    private Integer productSourceId;
+
+    /**
+     * comment:产品来源名称
+     */
+    private String productSourceName;
+
+    /**
+     * comment:产品组id
+     */
+    private Integer productGroupId;
+
+    /**
+     * comment:产品组名称
+     */
+    private String productGroupName;
+
+    /**
+     * comment:关联项目id
+     */
+    private Integer relationProjectId;
+
+    /**
+     * comment:关联项目名称
+     */
+    private String relationProjectName;
+
+    /**
+     * comment:是否启用
+     */
+    private String isUseing;
+
+    /**
+     * comment:逻辑删除
+     */
+    private Integer deleted;
+
+    /**
+     * comment:创建者
+     */
+    private String createBy;
+
+    /**
+     * comment:创建时间
+     */
+    private Date createTime;
+
+    /**
+     * comment:更新者
+     */
+    private String updateBy;
+
+    /**
+     * comment:更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * comment:备注
+     */
+    private String remark;
+
+    /**
+     * 类型
+     */
+    private String type;
+    private String ids;
+
+}
+

+ 82 - 0
launch-modules/launch-system/src/main/java/com/launch/system/controller/query/BasicSettingProductSourceQuery.java

@@ -0,0 +1,82 @@
+package com.launch.system.controller.query;
+
+import java.util.Date;
+import java.math.BigDecimal;
+
+import com.launch.common.core.model.BasePageQuery;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import lombok.Data;
+import java.io.Serializable;
+import lombok.Data;
+/**
+ * @description: 
+ * @author: lanuch
+ * @date: 2021-08-06 10:18:21
+ **/
+@JsonIgnoreProperties(ignoreUnknown = true)
+@Data
+public class BasicSettingProductSourceQuery extends BasePageQuery implements Serializable {
+
+    /**
+     * comment:
+     */
+    private Integer bsProductSourceId;
+
+    /**
+     * comment:来源名称
+     */
+    private String source;
+
+    /**
+     * comment:是否启用
+     */
+    private String isUseing;
+
+    /**
+     * comment:关联项目id
+     */
+    private Integer relationProjectId;
+
+    /**
+     * comment:关联项目名称
+     */
+    private String relationProjectName;
+
+    /**
+     * comment:返点比例/反利率
+     */
+    private String rebateRatio;
+
+    /**
+     * comment:逻辑删除
+     */
+    private Integer deleted;
+
+    /**
+     * comment:创建者
+     */
+    private String createBy;
+
+    /**
+     * comment:创建时间
+     */
+    private Date createTime;
+
+    /**
+     * comment:更新者
+     */
+    private String updateBy;
+
+    /**
+     * comment:更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * comment:备注
+     */
+    private String remark;
+
+
+}
+

+ 66 - 0
launch-modules/launch-system/src/main/java/com/launch/system/controller/query/BasicSettingProductTypeQuery.java

@@ -0,0 +1,66 @@
+package com.launch.system.controller.query;
+
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.launch.common.core.model.BasePageQuery;
+import lombok.Data;
+import java.io.Serializable;
+import lombok.Data;
+/**
+ * @description: 产品类型
+ * @author: launch
+ * @date: 2021-08-05 14:56:08
+ **/
+@JsonIgnoreProperties(ignoreUnknown = true)
+@Data
+public class BasicSettingProductTypeQuery extends BasePageQuery implements Serializable {
+
+    /**
+     * comment:
+     */
+    private Integer bsProductTypeId;
+
+    /**
+     * comment:品类名称
+     */
+    private String typeName;
+
+    /**
+     * comment:是否启用
+     */
+    private String isUseing;
+
+    /**
+     * comment:逻辑删除
+     */
+    private Integer deleted;
+
+    /**
+     * comment:创建者
+     */
+    private String createBy;
+
+    /**
+     * comment:创建时间
+     */
+    private Date createTime;
+
+    /**
+     * comment:更新者
+     */
+    private String updateBy;
+
+    /**
+     * comment:更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * comment:备注
+     */
+    private String remark;
+
+
+}
+

+ 82 - 0
launch-modules/launch-system/src/main/java/com/launch/system/controller/query/BasicSettingProjectQuery.java

@@ -0,0 +1,82 @@
+package com.launch.system.controller.query;
+
+import java.util.Date;
+import com.launch.common.core.model.BasePageQuery;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import lombok.Data;
+import java.io.Serializable;
+import lombok.Data;
+/**
+ * @description: 项目
+ * @author: launch
+ * @date: 2021-08-09 16:36:43
+ **/
+@JsonIgnoreProperties(ignoreUnknown = true)
+@Data
+public class BasicSettingProjectQuery extends BasePageQuery implements Serializable {
+
+    /**
+     * comment:
+     */
+    private Integer bsProjectId;
+
+    /**
+     * comment:项目名称
+     */
+    private String projectName;
+
+    /**
+     * comment:项目负责人
+     */
+    private String leaderUserId;
+    private String leaderUserName;
+
+    /**
+     * comment:可见状态/ALL:全员/PART:部分
+     */
+    private String projectVisibleType;
+    private String visibleUserIdListName;
+
+    /**
+     * comment:可见人员结合
+     */
+    private String visibleUserIdList;
+
+    /**
+     * comment:状态/ISUSEING、INNOTUSEING
+     */
+    private String status;
+
+    /**
+     * comment:逻辑删除
+     */
+    private Integer deleted;
+
+    /**
+     * comment:创建者
+     */
+    private String createBy;
+
+    /**
+     * comment:创建时间
+     */
+    private Date createTime;
+
+    /**
+     * comment:更新者
+     */
+    private String updateBy;
+
+    /**
+     * comment:更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * comment:备注
+     */
+    private String remark;
+
+
+}
+

+ 59 - 0
launch-modules/launch-system/src/main/java/com/launch/system/controller/query/SysDictDataQuery.java

@@ -0,0 +1,59 @@
+package com.launch.system.controller.query;
+
+
+import com.launch.common.core.annotation.Excel;
+import com.launch.common.core.constant.UserConstants;
+import com.launch.common.core.web.domain.BaseEntity;
+import lombok.Data;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.Size;
+
+/**
+ * 字典数据表 sys_dict_data
+ * 
+ * @author ruoyi
+ */
+@Data
+public class SysDictDataQuery extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 字典编码 */
+    @Excel(name = "字典编码", cellType = Excel.ColumnType.NUMERIC)
+    private Long dictCode;
+
+    /** 字典排序 */
+    @Excel(name = "字典排序", cellType = Excel.ColumnType.NUMERIC)
+    private Long dictSort;
+
+    /** 字典标签 */
+    @Excel(name = "字典标签")
+    private String dictLabel;
+
+    /** 字典键值 */
+    @Excel(name = "字典键值")
+    private String dictValue;
+
+    /** 字典类型 */
+    @Excel(name = "字典类型")
+    private String dictType;
+
+    /** 样式属性(其他样式扩展) */
+    private String cssClass;
+
+    /** 表格字典样式 */
+    private String listClass;
+
+    /** 是否默认(Y是 N否) */
+    @Excel(name = "是否默认", readConverterExp = "Y=是,N=否")
+    private String isDefault;
+
+    /** 状态(0正常 1停用) */
+    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
+    private String status;
+
+    private String operTimeQuery;
+}

+ 41 - 0
launch-modules/launch-system/src/main/java/com/launch/system/controller/query/SysDictTypeQuery.java

@@ -0,0 +1,41 @@
+package com.launch.system.controller.query;
+
+
+import com.launch.common.core.annotation.Excel;
+import com.launch.common.core.web.domain.BaseEntity;
+import lombok.Data;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.Size;
+
+/**
+ * 字典类型表 sys_dict_type
+ * 
+ * @author ruoyi
+ */
+@Data
+public class SysDictTypeQuery extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 字典主键 */
+    @Excel(name = "字典主键", cellType = Excel.ColumnType.NUMERIC)
+    private Long dictId;
+
+    /** 字典名称 */
+    @Excel(name = "字典名称")
+    private String dictName;
+
+    /** 字典类型 */
+    @Excel(name = "字典类型")
+    private String dictType;
+
+    /** 状态(0正常 1停用) */
+    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
+    private String status;
+
+    private String operTimeQuery;
+
+}

+ 85 - 0
launch-modules/launch-system/src/main/java/com/launch/system/controller/query/SysOperLogQuery.java

@@ -0,0 +1,85 @@
+package com.launch.system.controller.query;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.launch.common.core.annotation.Excel;
+import com.launch.common.core.annotation.Excel.ColumnType;
+import com.launch.common.core.web.domain.BaseEntity;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 操作日志记录表 oper_log
+ * 
+ * @author launch
+ */
+@Data
+public class SysOperLogQuery extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+
+    /** 操作模块 */
+    @Excel(name = "操作模块")
+    private String title;
+
+    /** 业务类型(0其它 1新增 2修改 3删除) */
+    @Excel(name = "业务类型", readConverterExp = "0=其它,1=新增,2=修改,3=删除,4=授权,5=导出,6=导入,7=强退,8=生成代码,9=清空数据")
+    private Integer businessType;
+
+    /** 业务类型数组 */
+    private Integer[] businessTypes;
+
+    /** 请求方法 */
+    @Excel(name = "请求方法")
+    private String method;
+
+    /** 请求方式 */
+    @Excel(name = "请求方式")
+    private String requestMethod;
+
+    /** 操作类别(0其它 1后台用户 2手机端用户) */
+    @Excel(name = "操作类别", readConverterExp = "0=其它,1=后台用户,2=手机端用户")
+    private Integer operatorType;
+
+    /** 操作人员 */
+    @Excel(name = "操作人员")
+    private String operName;
+
+    /** 部门名称 */
+    @Excel(name = "部门名称")
+    private String deptName;
+
+    /** 请求url */
+    @Excel(name = "请求地址")
+    private String operUrl;
+
+    /** 操作地址 */
+    @Excel(name = "操作地址")
+    private String operIp;
+
+    /** 请求参数 */
+    @Excel(name = "请求参数")
+    private String operParam;
+
+    /** 返回参数 */
+    @Excel(name = "返回参数")
+    private String jsonResult;
+
+    /** 操作状态(0正常 1异常) */
+    @Excel(name = "状态", readConverterExp = "0=正常,1=异常")
+    private Integer status;
+
+    /** 错误消息 */
+    @Excel(name = "错误消息")
+    private String errorMsg;
+
+    /** 操作时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date operTime;
+
+
+    private String operTimeQuery;
+
+}

+ 66 - 0
launch-modules/launch-system/src/main/java/com/launch/system/controller/vo/BasicSettingLabelTypeVO.java

@@ -0,0 +1,66 @@
+package com.launch.system.controller.vo;
+
+import java.util.Date;
+
+import java.io.Serializable;
+
+/**
+ * @description: 
+ * @author: lanuch
+ * @date: 2021-08-12 09:05:50
+ **/
+public class BasicSettingLabelTypeVO implements Serializable {
+
+    /**
+     * comment:
+     */
+    private Integer bsLabelTypeId;
+
+    /**
+     * comment:标签分类名称
+     */
+    private String labelTypeName;
+
+    /**
+     * comment:关联项目id
+     */
+    private Integer relationProjectId;
+
+    /**
+     * comment:关联项目名称
+     */
+    private String relationProjectName;
+
+    /**
+     * comment:逻辑删除
+     */
+    private Integer deleted;
+
+    /**
+     * comment:创建者
+     */
+    private String createBy;
+
+    /**
+     * comment:创建时间
+     */
+    private Date createTime;
+
+    /**
+     * comment:更新者
+     */
+    private String updateBy;
+
+    /**
+     * comment:更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * comment:备注
+     */
+    private String remark;
+
+
+}
+

+ 61 - 0
launch-modules/launch-system/src/main/java/com/launch/system/controller/vo/BasicSettingLabelVO.java

@@ -0,0 +1,61 @@
+package com.launch.system.controller.vo;
+
+import java.util.Date;
+
+import java.io.Serializable;
+
+/**
+ * @description: 
+ * @author: lanuch
+ * @date: 2021-08-12 09:05:50
+ **/
+public class BasicSettingLabelVO implements Serializable {
+
+    /**
+     * comment:
+     */
+    private Integer bsLabelId;
+
+    /**
+     * comment:标签名称
+     */
+    private String labelName;
+
+    /**
+     * comment:类型id
+     */
+    private Integer lableTypeId;
+
+    /**
+     * comment:逻辑删除
+     */
+    private Integer deleted;
+
+    /**
+     * comment:创建者
+     */
+    private String createBy;
+
+    /**
+     * comment:创建时间
+     */
+    private Date createTime;
+
+    /**
+     * comment:更新者
+     */
+    private String updateBy;
+
+    /**
+     * comment:更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * comment:备注
+     */
+    private String remark;
+
+
+}
+

+ 77 - 0
launch-modules/launch-system/src/main/java/com/launch/system/controller/vo/BasicSettingProductSourceVO.java

@@ -0,0 +1,77 @@
+package com.launch.system.controller.vo;
+
+import java.util.Date;
+import java.math.BigDecimal;
+
+import java.io.Serializable;
+
+/**
+ * @description: 
+ * @author: lanuch
+ * @date: 2021-08-06 10:18:21
+ **/
+public class BasicSettingProductSourceVO implements Serializable {
+
+    /**
+     * comment:
+     */
+    private Integer bsProductSourceId;
+
+    /**
+     * comment:来源名称
+     */
+    private String source;
+
+    /**
+     * comment:是否启用
+     */
+    private String isUseing;
+
+    /**
+     * comment:关联项目id
+     */
+    private Integer relationProjectId;
+
+    /**
+     * comment:关联项目名称
+     */
+    private String relationProjectName;
+
+    /**
+     * comment:返点比例/反利率
+     */
+    private String rebateRatio;
+
+    /**
+     * comment:逻辑删除
+     */
+    private Integer deleted;
+
+    /**
+     * comment:创建者
+     */
+    private String createBy;
+
+    /**
+     * comment:创建时间
+     */
+    private Date createTime;
+
+    /**
+     * comment:更新者
+     */
+    private String updateBy;
+
+    /**
+     * comment:更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * comment:备注
+     */
+    private String remark;
+
+
+}
+

+ 61 - 0
launch-modules/launch-system/src/main/java/com/launch/system/controller/vo/BasicSettingProductTypeVO.java

@@ -0,0 +1,61 @@
+package com.launch.system.controller.vo;
+
+import java.util.Date;
+
+import java.io.Serializable;
+
+/**
+ * @description: 产品类型
+ * @author: launch
+ * @date: 2021-08-05 14:56:08
+ **/
+public class BasicSettingProductTypeVO implements Serializable {
+
+    /**
+     * comment:
+     */
+    private Integer bsProductTypeId;
+
+    /**
+     * comment:品类名称
+     */
+    private String typeName;
+
+    /**
+     * comment:是否启用
+     */
+    private String isUseing;
+
+    /**
+     * comment:逻辑删除
+     */
+    private Integer deleted;
+
+    /**
+     * comment:创建者
+     */
+    private String createBy;
+
+    /**
+     * comment:创建时间
+     */
+    private Date createTime;
+
+    /**
+     * comment:更新者
+     */
+    private String updateBy;
+
+    /**
+     * comment:更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * comment:备注
+     */
+    private String remark;
+
+
+}
+

+ 101 - 0
launch-modules/launch-system/src/main/java/com/launch/system/controller/vo/BasicSettingProductVO.java

@@ -0,0 +1,101 @@
+package com.launch.system.controller.vo;
+
+import java.util.Date;
+
+import java.io.Serializable;
+
+/**
+ * @description: 
+ * @author: launch
+ * @date: 2021-08-11 08:59:54
+ **/
+public class BasicSettingProductVO implements Serializable {
+
+    /**
+     * comment:
+     */
+    private Integer bsProductId;
+
+    /**
+     * comment:产品名称
+     */
+    private String productName;
+
+    /**
+     * comment:产品类型id
+     */
+    private Integer productTypeId;
+
+    /**
+     * comment:产品类型名称
+     */
+    private String productTypeName;
+
+    /**
+     * comment:产品来源id
+     */
+    private Integer productSourceId;
+
+    /**
+     * comment:产品来源名称
+     */
+    private String productSourceName;
+
+    /**
+     * comment:产品组id
+     */
+    private Integer productGroupId;
+
+    /**
+     * comment:产品组名称
+     */
+    private String productGroupName;
+
+    /**
+     * comment:关联项目id
+     */
+    private Integer relationProjectId;
+
+    /**
+     * comment:关联项目名称
+     */
+    private String relationProjectName;
+
+    /**
+     * comment:是否启用
+     */
+    private String isUseing;
+
+    /**
+     * comment:逻辑删除
+     */
+    private Integer deleted;
+
+    /**
+     * comment:创建者
+     */
+    private String createBy;
+
+    /**
+     * comment:创建时间
+     */
+    private Date createTime;
+
+    /**
+     * comment:更新者
+     */
+    private String updateBy;
+
+    /**
+     * comment:更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * comment:备注
+     */
+    private String remark;
+
+
+}
+

+ 76 - 0
launch-modules/launch-system/src/main/java/com/launch/system/controller/vo/BasicSettingProjectVO.java

@@ -0,0 +1,76 @@
+package com.launch.system.controller.vo;
+
+import java.util.Date;
+
+import java.io.Serializable;
+
+/**
+ * @description: 项目
+ * @author: launch
+ * @date: 2021-08-09 16:36:43
+ **/
+public class BasicSettingProjectVO implements Serializable {
+
+    /**
+     * comment:
+     */
+    private Integer bsProjectId;
+
+    /**
+     * comment:项目名称
+     */
+    private String projectName;
+
+    /**
+     * comment:项目负责人
+     */
+    private String leaderUserId;
+
+    /**
+     * comment:可见状态/ALL:全员/PART:部分
+     */
+    private String projectVisibleType;
+
+    /**
+     * comment:可见人员结合
+     */
+    private String visibleUserIdList;
+
+    /**
+     * comment:状态/ISUSEING、INNOTUSEING
+     */
+    private String status;
+
+    /**
+     * comment:逻辑删除
+     */
+    private Integer deleted;
+
+    /**
+     * comment:创建者
+     */
+    private String createBy;
+
+    /**
+     * comment:创建时间
+     */
+    private Date createTime;
+
+    /**
+     * comment:更新者
+     */
+    private String updateBy;
+
+    /**
+     * comment:更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * comment:备注
+     */
+    private String remark;
+
+
+}
+

+ 0 - 106
launch-modules/launch-system/src/main/java/com/launch/system/domain/vo/MetaVo.java

@@ -1,106 +0,0 @@
-package com.launch.system.domain.vo;
-
-import com.launch.common.core.utils.StringUtils;
-
-/**
- * 路由显示信息
- * 
- * @author launch
- */
-public class MetaVo
-{
-    /**
-     * 设置该路由在侧边栏和面包屑中展示的名字
-     */
-    private String title;
-
-    /**
-     * 设置该路由的图标,对应路径src/assets/icons/svg
-     */
-    private String icon;
-
-    /**
-     * 设置为true,则不会被 <keep-alive>缓存
-     */
-    private boolean noCache;
-
-    /**
-     * 内链地址(http(s)://开头)
-     */
-    private String link;
-
-    public MetaVo()
-    {
-    }
-
-    public MetaVo(String title, String icon)
-    {
-        this.title = title;
-        this.icon = icon;
-    }
-
-    public MetaVo(String title, String icon, boolean noCache)
-    {
-        this.title = title;
-        this.icon = icon;
-        this.noCache = noCache;
-    }
-
-    public MetaVo(String title, String icon, String link)
-    {
-        this.title = title;
-        this.icon = icon;
-        this.link = link;
-    }
-
-    public MetaVo(String title, String icon, boolean noCache, String link)
-    {
-        this.title = title;
-        this.icon = icon;
-        this.noCache = noCache;
-        if (StringUtils.ishttp(link))
-        {
-            this.link = link;
-        }
-    }
-
-    public boolean isNoCache()
-    {
-        return noCache;
-    }
-
-    public void setNoCache(boolean noCache)
-    {
-        this.noCache = noCache;
-    }
-
-    public String getTitle()
-    {
-        return title;
-    }
-
-    public void setTitle(String title)
-    {
-        this.title = title;
-    }
-
-    public String getIcon()
-    {
-        return icon;
-    }
-
-    public void setIcon(String icon)
-    {
-        this.icon = icon;
-    }
-
-    public String getLink()
-    {
-        return link;
-    }
-
-    public void setLink(String link)
-    {
-        this.link = link;
-    }
-}

+ 0 - 133
launch-modules/launch-system/src/main/java/com/launch/system/domain/vo/RouterVo.java

@@ -1,133 +0,0 @@
-package com.launch.system.domain.vo;
-
-import com.fasterxml.jackson.annotation.JsonInclude;
-import java.util.List;
-
-/**
- * 路由配置信息
- * 
- * @author launch
- */
-@JsonInclude(JsonInclude.Include.NON_EMPTY)
-public class RouterVo
-{
-    /**
-     * 路由名字
-     */
-    private String name;
-
-    /**
-     * 路由地址
-     */
-    private String path;
-
-    /**
-     * 是否隐藏路由,当设置 true 的时候该路由不会再侧边栏出现
-     */
-    private boolean hidden;
-
-    /**
-     * 重定向地址,当设置 noRedirect 的时候该路由在面包屑导航中不可被点击
-     */
-    private String redirect;
-
-    /**
-     * 组件地址
-     */
-    private String component;
-
-    /**
-     * 当你一个路由下面的 children 声明的路由大于1个时,自动会变成嵌套的模式--如组件页面
-     */
-    private Boolean alwaysShow;
-
-    /**
-     * 其他元素
-     */
-    private MetaVo meta;
-
-    /**
-     * 子路由
-     */
-    private List<RouterVo> children;
-
-    public String getName()
-    {
-        return name;
-    }
-
-    public void setName(String name)
-    {
-        this.name = name;
-    }
-
-    public String getPath()
-    {
-        return path;
-    }
-
-    public void setPath(String path)
-    {
-        this.path = path;
-    }
-
-    public boolean getHidden()
-    {
-        return hidden;
-    }
-
-    public void setHidden(boolean hidden)
-    {
-        this.hidden = hidden;
-    }
-
-    public String getRedirect()
-    {
-        return redirect;
-    }
-
-    public void setRedirect(String redirect)
-    {
-        this.redirect = redirect;
-    }
-
-    public String getComponent()
-    {
-        return component;
-    }
-
-    public void setComponent(String component)
-    {
-        this.component = component;
-    }
-
-    public Boolean getAlwaysShow()
-    {
-        return alwaysShow;
-    }
-
-    public void setAlwaysShow(Boolean alwaysShow)
-    {
-        this.alwaysShow = alwaysShow;
-    }
-
-    public MetaVo getMeta()
-    {
-        return meta;
-    }
-
-    public void setMeta(MetaVo meta)
-    {
-        this.meta = meta;
-    }
-
-    public List<RouterVo> getChildren()
-    {
-        return children;
-    }
-
-    public void setChildren(List<RouterVo> children)
-    {
-        this.children = children;
-    }
-}

+ 81 - 0
launch-modules/launch-system/src/main/java/com/launch/system/entity/BasicSettingLabelENT.java

@@ -0,0 +1,81 @@
+package com.launch.system.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.util.Date;
+
+import java.io.Serializable;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+/**
+ * @description: 
+ * @author: lanuch
+ * @date: 2021-08-12 09:05:50
+ **/
+@TableName("basic_setting_label")
+@Data
+public class BasicSettingLabelENT implements Serializable {
+
+    /**
+     * columnName:bs_label_id
+     * comment:
+     */
+    @TableId( type = IdType.AUTO)
+    private Integer bsLabelId;
+
+    /**
+     * columnName:label_name
+     * comment:标签名称
+     */
+    private String labelName;
+
+    /**
+     * columnName:lable_type_id
+     * comment:类型id
+     */
+    private Integer lableTypeId;
+
+    /**
+     * columnName:deleted
+     * comment:逻辑删除
+     */
+    private Integer deleted;
+
+    /**
+     * columnName:create_by
+     * comment:创建者
+     */
+    private String createBy;
+
+    /**
+     * columnName:create_time
+     * comment:创建时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    /**
+     * columnName:update_by
+     * comment:更新者
+     */
+    private String updateBy;
+
+    /**
+     * columnName:update_time
+     * comment:更新时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+
+    /**
+     * columnName:remark
+     * comment:备注
+     */
+    private String remark;
+
+}
+
+

+ 92 - 0
launch-modules/launch-system/src/main/java/com/launch/system/entity/BasicSettingLabelTypeENT.java

@@ -0,0 +1,92 @@
+package com.launch.system.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.util.Date;
+
+import java.io.Serializable;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+/**
+ * @description: 
+ * @author: lanuch
+ * @date: 2021-08-12 09:05:50
+ **/
+@TableName("basic_setting_label_type")
+@Data
+public class BasicSettingLabelTypeENT implements Serializable {
+
+    /**
+     * columnName:bs_label_type_id
+     * comment:
+     */
+    @TableId( type = IdType.AUTO)
+    private Integer bsLabelTypeId;
+
+    /**
+     * columnName:label_type_name
+     * comment:标签分类名称
+     */
+    private String labelTypeName;
+
+    /**
+     * columnName:relation_project_id
+     * comment:关联项目id
+     */
+    private String relationProjectId;
+
+    /**
+     * columnName:relation_project_name
+     * comment:关联项目名称
+     */
+    private String relationProjectName;
+
+    /**
+     * columnName:deleted
+     * comment:逻辑删除
+     */
+    private Integer deleted;
+
+    /**
+     * columnName:create_by
+     * comment:创建者
+     */
+    private String createBy;
+
+    /**
+     * columnName:create_time
+     * comment:创建时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    /**
+     * columnName:update_by
+     * comment:更新者
+     */
+    private String updateBy;
+
+    /**
+     * columnName:update_time
+     * comment:更新时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+
+    /**
+     * columnName:remark
+     * comment:备注
+     */
+    private String remark;
+    @TableField(exist = false)
+    private String num="0";
+    @TableField(exist = false)
+    private String color="NO";
+
+}
+
+

+ 129 - 0
launch-modules/launch-system/src/main/java/com/launch/system/entity/BasicSettingProductENT.java

@@ -0,0 +1,129 @@
+package com.launch.system.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.util.Date;
+
+import java.io.Serializable;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+/**
+ * @description: 
+ * @author: launch
+ * @date: 2021-08-11 08:59:54
+ **/
+@TableName("basic_setting_product")
+@Data
+public class BasicSettingProductENT implements Serializable {
+
+    /**
+     * columnName:bs_product_id
+     * comment:
+     */
+    @TableId( type = IdType.AUTO)
+    private Integer bsProductId;
+
+    /**
+     * columnName:product_name
+     * comment:产品名称
+     */
+    private String productName;
+
+    /**
+     * columnName:product_type_id
+     * comment:产品类型id
+     */
+    private Integer productTypeId;
+
+    /**
+     * columnName:product_type_name
+     * comment:产品类型名称
+     */
+    private String productTypeName;
+
+    /**
+     * columnName:product_source_id
+     * comment:产品来源id
+     */
+    private Integer productSourceId;
+
+    /**
+     * columnName:product_source_name
+     * comment:产品来源名称
+     */
+    private String productSourceName;
+
+    /**
+     * columnName:product_group_id
+     * comment:产品组id
+     */
+    private Integer productGroupId;
+
+    /**
+     * columnName:product_group_name
+     * comment:产品组名称
+     */
+    private String productGroupName;
+
+    /**
+     * columnName:relation_project_id
+     * comment:关联项目id
+     */
+    private Integer relationProjectId;
+
+    /**
+     * columnName:relation_project_name
+     * comment:关联项目名称
+     */
+    private String relationProjectName;
+
+    /**
+     * columnName:is_useing
+     * comment:是否启用
+     */
+    private String isUseing;
+
+    /**
+     * columnName:deleted
+     * comment:逻辑删除
+     */
+    private Integer deleted;
+
+    /**
+     * columnName:create_by
+     * comment:创建者
+     */
+    private String createBy;
+
+    /**
+     * columnName:create_time
+     * comment:创建时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    /**
+     * columnName:update_by
+     * comment:更新者
+     */
+    private String updateBy;
+
+    /**
+     * columnName:update_time
+     * comment:更新时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+
+    /**
+     * columnName:remark
+     * comment:备注
+     */
+    private String remark;
+
+}
+
+

+ 100 - 0
launch-modules/launch-system/src/main/java/com/launch/system/entity/BasicSettingProductSourceENT.java

@@ -0,0 +1,100 @@
+package com.launch.system.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.util.Date;
+import java.math.BigDecimal;
+
+import java.io.Serializable;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+/**
+ * @description: 
+ * @author: lanuch
+ * @date: 2021-08-06 10:18:21
+ **/
+@TableName("basic_setting_product_source")
+@Data
+public class BasicSettingProductSourceENT implements Serializable {
+
+    /**
+     * columnName:bs_product_source_id
+     * comment:
+     */
+    @TableId( type = IdType.AUTO)
+    private Integer bsProductSourceId;
+
+    /**
+     * columnName:source
+     * comment:来源名称
+     */
+    private String source;
+
+    /**
+     * columnName:is_useing
+     * comment:是否启用
+     */
+    private String isUseing;
+
+    /**
+     * columnName:relation_project_id
+     * comment:关联项目id
+     */
+    private Integer relationProjectId;
+
+    /**
+     * columnName:relation_project_name
+     * comment:关联项目名称
+     */
+    private String relationProjectName;
+
+    /**
+     * columnName:rebate_ratio
+     * comment:返点比例/反利率
+     */
+    private String rebateRatio;
+
+    /**
+     * columnName:deleted
+     * comment:逻辑删除
+     */
+    private Integer deleted;
+
+    /**
+     * columnName:create_by
+     * comment:创建者
+     */
+    private String createBy;
+
+    /**
+     * columnName:create_time
+     * comment:创建时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    /**
+     * columnName:update_by
+     * comment:更新者
+     */
+    private String updateBy;
+
+    /**
+     * columnName:update_time
+     * comment:更新时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+
+    /**
+     * columnName:remark
+     * comment:备注
+     */
+    private String remark;
+
+}
+
+

+ 80 - 0
launch-modules/launch-system/src/main/java/com/launch/system/entity/BasicSettingProductTypeENT.java

@@ -0,0 +1,80 @@
+package com.launch.system.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @description: 产品类型
+ * @author: launch
+ * @date: 2021-08-05 14:56:08
+ **/
+@TableName("basic_setting_product_type")
+@Data
+public class BasicSettingProductTypeENT implements Serializable {
+
+    /**
+     * columnName:bs_product_type_id
+     * comment:
+     */
+    @TableId( type = IdType.AUTO)
+    private Integer bsProductTypeId;
+
+    /**
+     * columnName:type_name
+     * comment:品类名称
+     */
+    private String typeName;
+
+    /**
+     * columnName:is_useing
+     * comment:是否启用
+     */
+    private String isUseing;
+
+    /**
+     * columnName:deleted
+     * comment:逻辑删除
+     */
+    private Integer deleted;
+
+    /**
+     * columnName:create_by
+     * comment:创建者
+     */
+    private String createBy;
+
+    /**
+     * columnName:create_time
+     * comment:创建时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    /**
+     * columnName:update_by
+     * comment:更新者
+     */
+    private String updateBy;
+
+    /**
+     * columnName:update_time
+     * comment:更新时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+
+    /**
+     * columnName:remark
+     * comment:备注
+     */
+    private String remark;
+
+}
+
+

+ 101 - 0
launch-modules/launch-system/src/main/java/com/launch/system/entity/BasicSettingProjectENT.java

@@ -0,0 +1,101 @@
+package com.launch.system.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.util.Date;
+
+import java.io.Serializable;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+/**
+ * @description: 项目
+ * @author: launch
+ * @date: 2021-08-09 16:36:43
+ **/
+@TableName("basic_setting_project")
+@Data
+public class BasicSettingProjectENT implements Serializable {
+
+    /**
+     * columnName:bs_project_id
+     * comment:
+     */
+    @TableId(value = "bs_project_id", type = IdType.AUTO)
+    private Integer bsProjectId;
+
+    /**
+     * columnName:project_name
+     * comment:项目名称
+     */
+    private String projectName;
+
+    /**
+     * columnName:leader_user_id
+     * comment:项目负责人
+     */
+    private String leaderUserId;
+    private String leaderUserName;
+
+    /**
+     * columnName:project_visible_type
+     * comment:可见状态/ALL:全员/PART:部分
+     */
+    private String projectVisibleType;
+
+    /**
+     * columnName:visible_user_id_list
+     * comment:可见人员结合
+     */
+    private String visibleUserIdList;
+    private String visibleUserIdListName;
+
+    /**
+     * columnName:status
+     * comment:状态/ISUSEING、INNOTUSEING
+     */
+    private String status;
+
+    /**
+     * columnName:deleted
+     * comment:逻辑删除
+     */
+    private Integer deleted;
+
+    /**
+     * columnName:create_by
+     * comment:创建者
+     */
+    private String createBy;
+
+    /**
+     * columnName:create_time
+     * comment:创建时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    /**
+     * columnName:update_by
+     * comment:更新者
+     */
+    private String updateBy;
+
+    /**
+     * columnName:update_time
+     * comment:更新时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+
+    /**
+     * columnName:remark
+     * comment:备注
+     */
+    private String remark;
+
+}
+
+

+ 177 - 0
launch-modules/launch-system/src/main/java/com/launch/system/entity/SysDictData.java

@@ -0,0 +1,177 @@
+package com.launch.system.entity;
+
+
+import com.launch.common.core.annotation.Excel;
+import com.launch.common.core.constant.UserConstants;
+import com.launch.common.core.web.domain.BaseEntity;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.Size;
+
+/**
+ * 字典数据表 sys_dict_data
+ * 
+ * @author ruoyi
+ */
+public class SysDictData extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 字典编码 */
+    @Excel(name = "字典编码", cellType = Excel.ColumnType.NUMERIC)
+    private Long dictCode;
+
+    /** 字典排序 */
+    @Excel(name = "字典排序", cellType = Excel.ColumnType.NUMERIC)
+    private Long dictSort;
+
+    /** 字典标签 */
+    @Excel(name = "字典标签")
+    private String dictLabel;
+
+    /** 字典键值 */
+    @Excel(name = "字典键值")
+    private String dictValue;
+
+    /** 字典类型 */
+    @Excel(name = "字典类型")
+    private String dictType;
+
+    /** 样式属性(其他样式扩展) */
+    private String cssClass;
+
+    /** 表格字典样式 */
+    private String listClass;
+
+    /** 是否默认(Y是 N否) */
+    @Excel(name = "是否默认", readConverterExp = "Y=是,N=否")
+    private String isDefault;
+
+    /** 状态(0正常 1停用) */
+    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
+    private String status;
+
+    public Long getDictCode()
+    {
+        return dictCode;
+    }
+
+    public void setDictCode(Long dictCode)
+    {
+        this.dictCode = dictCode;
+    }
+
+    public Long getDictSort()
+    {
+        return dictSort;
+    }
+
+    public void setDictSort(Long dictSort)
+    {
+        this.dictSort = dictSort;
+    }
+
+    @NotBlank(message = "字典标签不能为空")
+    @Size(min = 0, max = 100, message = "字典标签长度不能超过100个字符")
+    public String getDictLabel()
+    {
+        return dictLabel;
+    }
+
+    public void setDictLabel(String dictLabel)
+    {
+        this.dictLabel = dictLabel;
+    }
+
+    @NotBlank(message = "字典键值不能为空")
+    @Size(min = 0, max = 100, message = "字典键值长度不能超过100个字符")
+    public String getDictValue()
+    {
+        return dictValue;
+    }
+
+    public void setDictValue(String dictValue)
+    {
+        this.dictValue = dictValue;
+    }
+
+    @NotBlank(message = "字典类型不能为空")
+    @Size(min = 0, max = 100, message = "字典类型长度不能超过100个字符")
+    public String getDictType()
+    {
+        return dictType;
+    }
+
+    public void setDictType(String dictType)
+    {
+        this.dictType = dictType;
+    }
+
+    @Size(min = 0, max = 100, message = "样式属性长度不能超过100个字符")
+    public String getCssClass()
+    {
+        return cssClass;
+    }
+
+    public void setCssClass(String cssClass)
+    {
+        this.cssClass = cssClass;
+    }
+
+    public String getListClass()
+    {
+        return listClass;
+    }
+
+    public void setListClass(String listClass)
+    {
+        this.listClass = listClass;
+    }
+
+    public boolean getDefault()
+    {
+        return UserConstants.YES.equals(this.isDefault) ? true : false;
+    }
+
+    public String getIsDefault()
+    {
+        return isDefault;
+    }
+
+    public void setIsDefault(String isDefault)
+    {
+        this.isDefault = isDefault;
+    }
+
+    public String getStatus()
+    {
+        return status;
+    }
+
+    public void setStatus(String status)
+    {
+        this.status = status;
+    }
+    
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("dictCode", getDictCode())
+            .append("dictSort", getDictSort())
+            .append("dictLabel", getDictLabel())
+            .append("dictValue", getDictValue())
+            .append("dictType", getDictType())
+            .append("cssClass", getCssClass())
+            .append("listClass", getListClass())
+            .append("isDefault", getIsDefault())
+            .append("status", getStatus())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .append("remark", getRemark())
+            .toString();
+    }
+}

+ 95 - 0
launch-modules/launch-system/src/main/java/com/launch/system/entity/SysDictType.java

@@ -0,0 +1,95 @@
+package com.launch.system.entity;
+
+
+import com.launch.common.core.annotation.Excel;
+import com.launch.common.core.web.domain.BaseEntity;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.Size;
+
+/**
+ * 字典类型表 sys_dict_type
+ * 
+ * @author ruoyi
+ */
+public class SysDictType extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 字典主键 */
+    @Excel(name = "字典主键", cellType = Excel.ColumnType.NUMERIC)
+    private Long dictId;
+
+    /** 字典名称 */
+    @Excel(name = "字典名称")
+    private String dictName;
+
+    /** 字典类型 */
+    @Excel(name = "字典类型")
+    private String dictType;
+
+    /** 状态(0正常 1停用) */
+    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
+    private String status;
+
+    public Long getDictId()
+    {
+        return dictId;
+    }
+
+    public void setDictId(Long dictId)
+    {
+        this.dictId = dictId;
+    }
+
+    @NotBlank(message = "字典名称不能为空")
+    @Size(min = 0, max = 100, message = "字典类型名称长度不能超过100个字符")
+    public String getDictName()
+    {
+        return dictName;
+    }
+
+    public void setDictName(String dictName)
+    {
+        this.dictName = dictName;
+    }
+
+    @NotBlank(message = "字典类型不能为空")
+    @Size(min = 0, max = 100, message = "字典类型类型长度不能超过100个字符")
+    public String getDictType()
+    {
+        return dictType;
+    }
+
+    public void setDictType(String dictType)
+    {
+        this.dictType = dictType;
+    }
+
+    public String getStatus()
+    {
+        return status;
+    }
+
+    public void setStatus(String status)
+    {
+        this.status = status;
+    }
+    
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("dictId", getDictId())
+            .append("dictName", getDictName())
+            .append("dictType", getDictType())
+            .append("status", getStatus())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .append("remark", getRemark())
+            .toString();
+    }
+}

+ 15 - 0
launch-modules/launch-system/src/main/java/com/launch/system/mapper/BasicSettingLabelMapper.java

@@ -0,0 +1,15 @@
+package com.launch.system.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.launch.system.entity.BasicSettingLabelENT;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @description: 
+ * @author: lanuch
+ * @date: 2021-08-12 09:05:50
+ **/
+@Mapper
+public interface BasicSettingLabelMapper extends BaseMapper<BasicSettingLabelENT> {
+
+}

+ 15 - 0
launch-modules/launch-system/src/main/java/com/launch/system/mapper/BasicSettingLabelTypeMapper.java

@@ -0,0 +1,15 @@
+package com.launch.system.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.launch.system.entity.BasicSettingLabelTypeENT;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @description: 
+ * @author: lanuch
+ * @date: 2021-08-12 09:05:50
+ **/
+@Mapper
+public interface BasicSettingLabelTypeMapper extends BaseMapper<BasicSettingLabelTypeENT> {
+
+}

+ 15 - 0
launch-modules/launch-system/src/main/java/com/launch/system/mapper/BasicSettingProductMapper.java

@@ -0,0 +1,15 @@
+package com.launch.system.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.launch.system.entity.BasicSettingProductENT;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @description: 
+ * @author: launch
+ * @date: 2021-08-11 08:59:54
+ **/
+@Mapper
+public interface BasicSettingProductMapper extends BaseMapper<BasicSettingProductENT> {
+
+}

+ 15 - 0
launch-modules/launch-system/src/main/java/com/launch/system/mapper/BasicSettingProductSourceMapper.java

@@ -0,0 +1,15 @@
+package com.launch.system.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.launch.system.entity.BasicSettingProductSourceENT;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @description: 
+ * @author: lanuch
+ * @date: 2021-08-06 10:18:21
+ **/
+@Mapper
+public interface BasicSettingProductSourceMapper extends BaseMapper<BasicSettingProductSourceENT> {
+
+}

+ 16 - 0
launch-modules/launch-system/src/main/java/com/launch/system/mapper/BasicSettingProductTypeMapper.java

@@ -0,0 +1,16 @@
+package com.launch.system.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.launch.system.entity.BasicSettingProductTypeENT;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @description: 产品类型
+ * @author: launch
+ * @date: 2021-08-05 14:56:08
+ **/
+@Mapper
+public interface BasicSettingProductTypeMapper extends BaseMapper<BasicSettingProductTypeENT> {
+
+}

+ 15 - 0
launch-modules/launch-system/src/main/java/com/launch/system/mapper/BasicSettingProjectMapper.java

@@ -0,0 +1,15 @@
+package com.launch.system.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.launch.system.entity.BasicSettingProjectENT;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @description: 项目
+ * @author: launch
+ * @date: 2021-08-09 16:36:43
+ **/
+@Mapper
+public interface BasicSettingProjectMapper extends BaseMapper<BasicSettingProjectENT> {
+
+}

+ 97 - 0
launch-modules/launch-system/src/main/java/com/launch/system/mapper/SysDictDataMapper.java

@@ -0,0 +1,97 @@
+package com.launch.system.mapper;
+
+import com.launch.system.controller.query.SysDictDataQuery;
+import com.launch.system.entity.SysDictData;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 字典表 数据层
+ * 
+ * @author ruoyi
+ */
+public interface SysDictDataMapper
+{
+    /**
+     * 根据条件分页查询字典数据
+     * 
+     * @param dictData 字典数据信息
+     * @return 字典数据集合信息
+     */
+    public List<SysDictData> selectDictDataList(SysDictDataQuery dictData);
+
+    /**
+     * 根据字典类型查询字典数据
+     * 
+     * @param dictType 字典类型
+     * @return 字典数据集合信息
+     */
+    public List<SysDictData> selectDictDataByType(String dictType);
+
+    /**
+     * 根据字典类型和字典键值查询字典数据信息
+     * 
+     * @param dictType 字典类型
+     * @param dictValue 字典键值
+     * @return 字典标签
+     */
+    public String selectDictLabel(@Param("dictType") String dictType, @Param("dictValue") String dictValue);
+
+    /**
+     * 根据字典数据ID查询信息
+     * 
+     * @param dictCode 字典数据ID
+     * @return 字典数据
+     */
+    public SysDictData selectDictDataById(Long dictCode);
+
+    /**
+     * 查询字典数据
+     * 
+     * @param dictType 字典类型
+     * @return 字典数据
+     */
+    public int countDictDataByType(String dictType);
+
+    /**
+     * 通过字典ID删除字典数据信息
+     * 
+     * @param dictCode 字典数据ID
+     * @return 结果
+     */
+    public int deleteDictDataById(Long dictCode);
+
+    /**
+     * 批量删除字典数据信息
+     * 
+     * @param dictCodes 需要删除的字典数据ID
+     * @return 结果
+     */
+    public int deleteDictDataByIds(Long[] dictCodes);
+
+    /**
+     * 新增字典数据信息
+     * 
+     * @param dictData 字典数据信息
+     * @return 结果
+     */
+    public int insertDictData(SysDictData dictData);
+
+    /**
+     * 修改字典数据信息
+     * 
+     * @param dictData 字典数据信息
+     * @return 结果
+     */
+    public int updateDictData(SysDictData dictData);
+
+    /**
+     * 同步修改字典类型
+     * 
+     * @param oldDictType 旧字典类型
+     * @param newDictType 新旧字典类型
+     * @return 结果
+     */
+    public int updateDictDataType(@Param("oldDictType") String oldDictType, @Param("newDictType") String newDictType);
+}

+ 88 - 0
launch-modules/launch-system/src/main/java/com/launch/system/mapper/SysDictTypeMapper.java

@@ -0,0 +1,88 @@
+package com.launch.system.mapper;
+
+
+import com.launch.system.controller.query.SysDictTypeQuery;
+import com.launch.system.entity.SysDictType;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * 字典表 数据层
+ * 
+ * @author ruoyi
+ */
+@Mapper
+public interface SysDictTypeMapper
+{
+    /**
+     * 根据条件分页查询字典类型
+     * 
+     * @param dictType 字典类型信息
+     * @return 字典类型集合信息
+     */
+    public List<SysDictType> selectDictTypeList(SysDictTypeQuery dictType);
+
+    /**
+     * 根据所有字典类型
+     * 
+     * @return 字典类型集合信息
+     */
+    public List<SysDictType> selectDictTypeAll();
+
+    /**
+     * 根据字典类型ID查询信息
+     * 
+     * @param dictId 字典类型ID
+     * @return 字典类型
+     */
+    public SysDictType selectDictTypeById(Long dictId);
+
+    /**
+     * 根据字典类型查询信息
+     * 
+     * @param dictType 字典类型
+     * @return 字典类型
+     */
+    public SysDictType selectDictTypeByType(String dictType);
+
+    /**
+     * 通过字典ID删除字典信息
+     * 
+     * @param dictId 字典ID
+     * @return 结果
+     */
+    public int deleteDictTypeById(Long dictId);
+
+    /**
+     * 批量删除字典类型信息
+     * 
+     * @param dictIds 需要删除的字典ID
+     * @return 结果
+     */
+    public int deleteDictTypeByIds(Long[] dictIds);
+
+    /**
+     * 新增字典类型信息
+     * 
+     * @param dictType 字典类型信息
+     * @return 结果
+     */
+    public int insertDictType(SysDictType dictType);
+
+    /**
+     * 修改字典类型信息
+     * 
+     * @param dictType 字典类型信息
+     * @return 结果
+     */
+    public int updateDictType(SysDictType dictType);
+
+    /**
+     * 校验字典类型称是否唯一
+     * 
+     * @param dictType 字典类型
+     * @return 结果
+     */
+    public SysDictType checkDictTypeUnique(String dictType);
+}

+ 2 - 1
launch-modules/launch-system/src/main/java/com/launch/system/mapper/SysOperLogMapper.java

@@ -3,6 +3,7 @@ package com.launch.system.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.launch.system.api.domain.SysLogininfor;
 import com.launch.system.api.domain.SysOperLog;
+import com.launch.system.controller.query.SysOperLogQuery;
 
 import java.util.List;
 
@@ -26,7 +27,7 @@ public interface SysOperLogMapper  extends BaseMapper<SysOperLog>
      * @param operLog 操作日志对象
      * @return 操作日志集合
      */
-    public List<SysOperLog> selectOperLogList(SysOperLog operLog);
+    public List<SysOperLog> selectOperLogList(SysOperLogQuery operLog);
 
     /**
      * 批量删除系统操作日志

+ 13 - 0
launch-modules/launch-system/src/main/java/com/launch/system/service/BasicSettingLabelService.java

@@ -0,0 +1,13 @@
+package com.launch.system.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.launch.system.entity.BasicSettingLabelENT;
+
+/**
+ * @description: 
+ * @author: lanuch
+ * @date: 2021-08-12 09:05:50
+ **/
+public interface BasicSettingLabelService extends IService<BasicSettingLabelENT> {
+
+}

Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff