Przeglądaj źródła

特约 minio配置修改

785834757 1 rok temu
rodzic
commit
d66677e1d7
25 zmienionych plików z 353 dodań i 139 usunięć
  1. 4 7
      authentication/src/main/java/com/jzg/handler/JzgAuthenticationSuccessHandler.java
  2. 1 3
      authentication/src/main/resources/application.yml
  3. 37 5
      authentication/src/main/resources/logback-spring.xml
  4. 6 3
      commons/src/main/java/com/jzg/commons/config/MinioConfig.java
  5. 2 0
      commons/src/main/java/com/jzg/commons/constants/RedisKeyConstants.java
  6. 48 35
      commons/src/main/java/com/jzg/commons/core/base/BaseController.java
  7. 10 4
      commons/src/main/java/com/jzg/commons/entity/po/InsCompanyClause.java
  8. 1 0
      commons/src/main/java/com/jzg/commons/entity/po/SysDict.java
  9. 42 0
      commons/src/main/java/com/jzg/commons/entity/vo/InsCompanyClauseVo.java
  10. 15 14
      commons/src/main/java/com/jzg/commons/exception/GlobalExceptionHandler.java
  11. 1 1
      gateway/src/main/resources/application.yml
  12. 19 4
      platform/src/main/java/com/jzg/controller/ClauseController.java
  13. 12 0
      platform/src/main/java/com/jzg/mapper/InsCompanyClauseMapper.java
  14. 5 1
      platform/src/main/java/com/jzg/service/InsCompanyClauseService.java
  15. 8 7
      platform/src/main/java/com/jzg/service/impl/InsCompanyClauseServiceImpl.java
  16. 2 4
      platform/src/main/resources/application.yml
  17. 44 0
      platform/src/main/resources/mapper/InsCompanyClauseMapper.xml
  18. 6 6
      tenant/insurance/yongcheng/src/main/resources/application.yml
  19. 18 19
      tenant/insurance/yongcheng/src/main/resources/logback-spring.xml
  20. 10 8
      tenant/organization/src/main/java/com/jzg/organization/controller/DictController.java
  21. 49 0
      tenant/organization/src/main/java/com/jzg/organization/event/OrganizationFormApplicationLister.java
  22. 1 1
      tenant/organization/src/main/java/com/jzg/organization/mapper/SysDeptMapper.java
  23. 7 14
      tenant/organization/src/main/java/com/jzg/organization/service/impl/SysDeptServiceImpl.java
  24. 1 1
      tenant/organization/src/main/resources/application.yml
  25. 4 2
      tenant/organization/src/main/resources/mapper/SysDeptMapper.xml

+ 4 - 7
authentication/src/main/java/com/jzg/handler/JzgAuthenticationSuccessHandler.java

@@ -1,32 +1,27 @@
 package com.jzg.handler;
 
 import com.alibaba.fastjson.JSONObject;
-import com.jzg.commons.entity.po.SysRole;
-import com.jzg.commons.entity.po.SysRoleDataScope;
 import com.jzg.commons.entity.vo.SysRoleDataScopeVo;
 import com.jzg.config.JzgGrantedAuthority;
 import com.jzg.config.JzgTokenService;
 import com.jzg.entity.RedisToken;
-import com.jzg.service.SysUserService;
 import jakarta.servlet.ServletException;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Configuration;
 import org.springframework.security.core.Authentication;
 import org.springframework.security.core.GrantedAuthority;
-import org.springframework.security.core.authority.SimpleGrantedAuthority;
 import org.springframework.security.web.authentication.AuthenticationSuccessHandler;
-import org.springframework.stereotype.Component;
 
 import java.io.IOException;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.List;
+import java.util.logging.Logger;
 import java.util.stream.Collectors;
 
 public class JzgAuthenticationSuccessHandler implements AuthenticationSuccessHandler {
 
+    Logger logger = Logger.getLogger(JzgAuthenticationSuccessHandler.class.getName());
 
     private JzgTokenService tokenService;
 
@@ -65,6 +60,8 @@ public class JzgAuthenticationSuccessHandler implements AuthenticationSuccessHan
         // 生成 JWT Token
         tokenService.saveToken(username,token,JSONObject.toJSONString(redisToken));
 
+        logger.info(username+"登录成功");
+
         // 设置响应内容类型为 JSON
         response.setContentType("application/json");
         JSONObject json = new JSONObject();

+ 1 - 3
authentication/src/main/resources/application.yml

@@ -1,8 +1,6 @@
-server:
-  port: 8081
 spring:
   profiles:
-    active: test
+    active: dev
 
   main:
     allow-bean-definition-overriding: true

+ 37 - 5
authentication/src/main/resources/logback-spring.xml

@@ -1,11 +1,43 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration>
-    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
-        </encoder>
+
+    <appender name="GELF" class="de.siegmar.logbackgelf.GelfUdpAppender">
+        <!-- Graylog server 的主机名或 IP 地址 -->
+        <graylogHost>192.168.0.250</graylogHost>
+        <!-- Graylog 服务器端口,通常为 12201(UDP)或 12202(TCP) -->
+        <graylogPort>12201</graylogPort>
+        <!-- 可选项:指定协议,默认使用 UDP -->
+        <transport>UDP</transport>
+        <!-- 发送日志时是否压缩 -->
+        <compress>true</compress>
+        <!-- 是否在 GELF 消息中加入时间戳 -->
+        <includeTimestamp>true</includeTimestamp>
+        <!-- 日志内容最大字节数 -->
+        <maxMessageSize>32768</maxMessageSize>
+        <!-- 设置自定义字段 -->
+        <additionalFields>
+        </additionalFields>
     </appender>
+
+    <!-- 排除启动日志 -->
+    <logger name="org.springframework.boot" level="WARN" additivity="false">
+        <appender-ref ref="STDOUT"/>
+    </logger>
+
+    <logger name="org.springframework.context" level="WARN" additivity="false">
+        <appender-ref ref="STDOUT"/>
+    </logger>
+
+    <!-- 控制台输出日志,非必须,可以根据需要选择性启用 -->
+    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+        <layout class="ch.qos.logback.classic.layout.TTLLLayout">
+            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg  %X{traceId} %X{spanId}%n</pattern>
+        </layout>
+    </appender>
+
+    <!-- 输出到控制台 -->
     <root level="INFO">
-        <appender-ref ref="CONSOLE"/>
+        <appender-ref ref="GELF"/>
+        <appender-ref ref="STDOUT"/>
     </root>
 </configuration>

+ 6 - 3
commons/src/main/java/com/jzg/commons/config/MinioConfig.java

@@ -2,19 +2,22 @@ package com.jzg.commons.config;
 
 import io.minio.MinioClient;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 
 @Configuration
+//只有在引用 minio的依赖时才会加载配置类
+@ConditionalOnClass(MinioClient.class)
 public class MinioConfig {
 
-    @Value("${minio.url}")
+    @Value("${minio.url:}")
     private String minioUrl;
 
-    @Value("${minio.access-key}")
+    @Value("${minio.access-key:}")
     private String accessKey;
 
-    @Value("${minio.secret-key}")
+    @Value("${minio.secret-key:}")
     private String secretKey;
 
     @Bean

+ 2 - 0
commons/src/main/java/com/jzg/commons/constants/RedisKeyConstants.java

@@ -8,4 +8,6 @@ public class RedisKeyConstants {
     //验证码Key
     public static final String VERIFICATION_CODE = "VERIFICATION_CODE:";
 
+    public static final String DICT_REDIS_KEY = "DICT:";
+
 }

+ 48 - 35
commons/src/main/java/com/jzg/commons/core/base/BaseController.java

@@ -22,24 +22,36 @@ public class BaseController {
     @Autowired
     RedissonClient redissonClient;
 
-    public String getUserTokenString(){
+    private String getToken(){
         ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
+        if(attributes == null){
+            //内部调用的请求
+            return null;
+        }
         HttpServletRequest request = attributes.getRequest();
-        String authorizationHeader = request.getHeader("Authorization");
-        if(Objects.isNull(authorizationHeader) || Objects.isNull(redissonClient.getBucket(authorizationHeader).get())){
+
+        return request.getHeader("Authorization");
+    }
+
+    private void valiedToken(String token){
+        if (Objects.isNull(token) || Objects.isNull(redissonClient.getBucket(token).get())) {
             throw new TokenExpireException("用户登录信息过期");
         }
-        String userJsonStr = redissonClient.getBucket(authorizationHeader).get().toString();
-        return userJsonStr;
+    }
+
+    public String getUserTokenString(){
+        String authorizationHeader = getToken();
+        valiedToken(authorizationHeader);
+        return redissonClient.getBucket(authorizationHeader).get().toString();
     }
 
     public String getUserName(){
-        ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
-        HttpServletRequest request = attributes.getRequest();
-        String authorizationHeader = request.getHeader("Authorization");
-        if(Objects.isNull(authorizationHeader) || Objects.isNull(redissonClient.getBucket(authorizationHeader).get())){
-            throw new TokenExpireException("用户登录信息过期");
+        String authorizationHeader = getToken();
+        if(authorizationHeader == null){
+            //如果是内部请求的话 返回空值
+            return "";
         }
+        valiedToken(authorizationHeader);
         String userJsonStr = redissonClient.getBucket(authorizationHeader).get().toString();
         JSONObject userInfo = JSONObject.parseObject(userJsonStr);
         return userInfo.getString("username");
@@ -50,12 +62,12 @@ public class BaseController {
      * @return
      */
     public String getUserLoginSystem(){
-        ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
-        HttpServletRequest request = attributes.getRequest();
-        String authorizationHeader = request.getHeader("Authorization");
-        if(Objects.isNull(authorizationHeader) || Objects.isNull(redissonClient.getBucket(authorizationHeader).get())){
-            throw new TokenExpireException("用户登录信息过期");
+        String authorizationHeader = getToken();
+        if(authorizationHeader == null){
+            //如果是内部请求的话 返回空值
+            return "";
         }
+        valiedToken(authorizationHeader);
         String userJsonStr = redissonClient.getBucket(authorizationHeader).get().toString();
         JSONObject userInfo = JSONObject.parseObject(userJsonStr);
         return userInfo.getString("system");
@@ -66,12 +78,13 @@ public class BaseController {
      * @return
      */
     public List<String> getUserPerms(){
-        ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
-        HttpServletRequest request = attributes.getRequest();
-        String authorizationHeader = request.getHeader("Authorization");
-        if(Objects.isNull(authorizationHeader) || Objects.isNull(redissonClient.getBucket(authorizationHeader).get())){
-            throw new TokenExpireException("用户登录信息过期");
+        String authorizationHeader = getToken();
+        if(authorizationHeader == null){
+            //如果是内部请求的话 返回空值
+            return new ArrayList<>();
         }
+        valiedToken(authorizationHeader);
+
         List<String> userPerms = new ArrayList<>();
         String userJsonStr = redissonClient.getBucket(authorizationHeader).get().toString();
         JSONObject userInfo = JSONObject.parseObject(userJsonStr);
@@ -87,24 +100,24 @@ public class BaseController {
      * @return
      */
     public String getUserDeptId(){
-        ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
-        HttpServletRequest request = attributes.getRequest();
-        String authorizationHeader = request.getHeader("Authorization");
-        if(Objects.isNull(authorizationHeader) || Objects.isNull(redissonClient.getBucket(authorizationHeader).get())){
-            throw new TokenExpireException("用户登录信息过期");
+        String authorizationHeader = getToken();
+        if(authorizationHeader == null){
+            //如果是内部请求的话 返回空值
+            return "";
         }
+        valiedToken(authorizationHeader);
         String userJsonStr = redissonClient.getBucket(authorizationHeader).get().toString();
         JSONObject userInfo = JSONObject.parseObject(userJsonStr);
         return userInfo.getString("deptId");
     }
 
     public String getUserSystemCode(){
-        ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
-        HttpServletRequest request = attributes.getRequest();
-        String authorizationHeader = request.getHeader("Authorization");
-        if(Objects.isNull(authorizationHeader) || Objects.isNull(redissonClient.getBucket(authorizationHeader).get())){
-            throw new TokenExpireException("用户登录信息过期");
+        String authorizationHeader = getToken();
+        if(authorizationHeader == null){
+            //如果是内部请求的话 返回空值
+            return "";
         }
+        valiedToken(authorizationHeader);
         String userJsonStr = redissonClient.getBucket(authorizationHeader).get().toString();
         JSONObject userInfo = JSONObject.parseObject(userJsonStr);
         return userInfo.getString("system");
@@ -115,12 +128,12 @@ public class BaseController {
      * @return
      */
     public String getUserDataScope(){
-        ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
-        HttpServletRequest request = attributes.getRequest();
-        String authorizationHeader = request.getHeader("Authorization");
-        if(Objects.isNull(authorizationHeader) || Objects.isNull(redissonClient.getBucket(authorizationHeader).get())){
-            throw new TokenExpireException("用户登录信息过期");
+        String authorizationHeader = getToken();
+        if(authorizationHeader == null){
+            //如果是内部请求的话 返回空值
+            return "";
         }
+        valiedToken(authorizationHeader);
         String userJsonStr = redissonClient.getBucket(authorizationHeader).get().toString();
         JSONObject userInfo = JSONObject.parseObject(userJsonStr);
         return userInfo.getString("dataScope");

+ 10 - 4
commons/src/main/java/com/jzg/commons/entity/po/InsCompanyClause.java

@@ -15,20 +15,26 @@ public class InsCompanyClause extends BaseModel {
     @Schema(description = "主键")
     private String id;
 
-    @Schema(description = "险种code")
+    @Schema(description = "特约类型")
     private String riskCode;
 
     @Schema(description = "保险公司id")
     private String companyId;
 
-    @Schema(description = "条款名称")
+    @Schema(description = "特约名称")
     private String clauseName;
 
-    @Schema(description = "条款code")
+    @Schema(description = "特约code")
     private String clauseCode;
 
-    @Schema(description = "条款内容")
+    @Schema(description = "特约内容")
     private String clauseContent;
 
+    @Schema(description = "是否编辑")
+    private String isEdit;
+
+    @Schema(description = "客户端状态")
+    private String clientStatus;
+
 
 }

+ 1 - 0
commons/src/main/java/com/jzg/commons/entity/po/SysDict.java

@@ -18,6 +18,7 @@ import java.io.Serializable;
 public class SysDict extends BaseModel implements Serializable {
     private String id;
     private String typeId;
+    private String typeCode;
     private String value;
     private String label;
     private String description;

+ 42 - 0
commons/src/main/java/com/jzg/commons/entity/vo/InsCompanyClauseVo.java

@@ -0,0 +1,42 @@
+package com.jzg.commons.entity.vo;
+
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.jzg.commons.core.base.BaseModel;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+public class InsCompanyClauseVo extends BaseModel {
+
+    private String id;
+
+    @Schema(description = "保险公司名称")
+    private String companyName;
+
+    @Schema(description = "保险公司code")
+    private String companyCode;
+
+    @Schema(description = "特约类型")
+    private String riskCode;
+
+    @Schema(description = "保险公司id")
+    private String companyId;
+
+    @Schema(description = "特约名称")
+    private String clauseName;
+
+    @Schema(description = "特约code")
+    private String clauseCode;
+
+    @Schema(description = "特约内容")
+    private String clauseContent;
+
+    @Schema(description = "是否编辑")
+    private String isEdit;
+
+    @Schema(description = "客户端状态")
+    private String clientStatus;
+
+
+}

+ 15 - 14
commons/src/main/java/com/jzg/commons/exception/GlobalExceptionHandler.java

@@ -24,18 +24,6 @@ public class GlobalExceptionHandler {
 
     private static final Logger LOGGER = LoggerFactory.getLogger(GlobalExceptionHandler.class);
 
-    /**
-     * 判断错误是否是已定义的已知错误,不是则由未知错误代替,同时记录在log中
-     *
-     * @param e 异常
-     * @return
-     */
-    @ExceptionHandler(value = Exception.class)
-    @ResponseBody
-    public HttpResult exceptionGet(Exception e) {
-        LOGGER.error("【系统异常】{}", e);
-        return HttpResult.error(500, "程序异常,请联系管理员");
-    }
 
 
     @ExceptionHandler(value = SystemException.class)
@@ -46,13 +34,13 @@ public class GlobalExceptionHandler {
 
     @ExceptionHandler(value = ValidateException.class)
     @ResponseBody
-    public HttpResult systemExceptionHandle(ValidateException validateException) {
+    public HttpResult ValidateException(ValidateException validateException) {
         return HttpResult.error(Integer.parseInt(validateException.getCode()), validateException.getMessage());
     }
 
     @ExceptionHandler(value = TokenExpireException.class)
     @ResponseBody
-    public HttpResult systemExceptionHandle(TokenExpireException tokenExpireException) {
+    public HttpResult TokenExpireException(TokenExpireException tokenExpireException) {
         return HttpResult.error(Integer.parseInt(tokenExpireException.getCode()), tokenExpireException.getMessage());
     }
 
@@ -85,6 +73,19 @@ public class GlobalExceptionHandler {
     }
 
 
+    /**
+     * 判断错误是否是已定义的已知错误,不是则由未知错误代替,同时记录在log中
+     *
+     * @param e 异常
+     * @return
+     */
+    @ExceptionHandler(value = Exception.class)
+    @ResponseBody
+    public HttpResult exceptionGet(Exception e) {
+        LOGGER.error("【系统异常】{}", e);
+        return HttpResult.error(500, "程序异常,请联系管理员");
+    }
+
 
 }
 

+ 1 - 1
gateway/src/main/resources/application.yml

@@ -2,7 +2,7 @@ server:
   port: 8001
 spring:
   profiles:
-    active: test
+    active: dev
   main:
     web-application-type: reactive
     allow-bean-definition-overriding: true

+ 19 - 4
platform/src/main/java/com/jzg/controller/ClauseController.java

@@ -4,7 +4,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jzg.commons.core.page.HttpResult;
 import com.jzg.commons.entity.po.InsCompanyClause;
 import com.jzg.commons.entity.vo.CompanyClauseVo;
+import com.jzg.commons.entity.vo.InsCompanyClauseVo;
+import com.jzg.commons.request.RequestSingleParam;
 import com.jzg.service.InsCompanyClauseService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.media.Schema;
+import io.swagger.v3.oas.annotations.tags.Tag;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -15,6 +20,7 @@ import org.springframework.web.bind.annotation.RestController;
  * 特别约定管理
  */
 @RestController
+@Tag(name="特别约定配置")
 @RequestMapping("/manager/clause")
 public class ClauseController {
 
@@ -26,17 +32,24 @@ public class ClauseController {
      * @param companyClauseVo
      * @return
      */
+    @Operation(summary = "特别约定列表查询")
     @PostMapping(value = "getClausePage")
-    public HttpResult<Page<InsCompanyClause>> getClausePage(@RequestBody CompanyClauseVo companyClauseVo){
+    public HttpResult<Page<InsCompanyClauseVo>> getClausePage(@RequestBody CompanyClauseVo companyClauseVo){
         Page page = companyClauseVo.getPage();
         return HttpResult.ok(insCompanyClauseService.getClausePage(page,companyClauseVo));
     }
 
+    @Operation(summary = "特别约定查询")
+    @PostMapping(value = "getClause")
+    public HttpResult<InsCompanyClauseVo> getClause(@RequestSingleParam(value = "id") String id){
+        return HttpResult.ok(insCompanyClauseService.getClause(id));
+    }
     /**
      * 添加特别约定
      * @param insCompanyClause
      * @return
      */
+    @Operation(summary = "添加特别约定")
     @PostMapping(value = "addClause")
     public HttpResult addClause(@RequestBody InsCompanyClause insCompanyClause){
         return insCompanyClauseService.addClause(insCompanyClause)? HttpResult.ok("添加特约成功") : HttpResult.error("添加特约失败");
@@ -47,6 +60,7 @@ public class ClauseController {
      * @param insCompanyClause
      * @return
      */
+    @Operation(summary = "修改特别约定")
     @PostMapping(value = "updateClause")
     public HttpResult updateClause(@RequestBody InsCompanyClause insCompanyClause){
         return insCompanyClauseService.updateClause(insCompanyClause)? HttpResult.ok("修改特约成功") : HttpResult.error("修改特约失败");
@@ -54,12 +68,13 @@ public class ClauseController {
 
     /**
      * 删除特别约定
-     * @param insCompanyClause
+     * @param id
      * @return
      */
+    @Operation(summary = "删除特别约定")
     @PostMapping(value = "deleteClause")
-    public HttpResult deleteClause(@RequestBody InsCompanyClause insCompanyClause){
-        return insCompanyClauseService.removeById(insCompanyClause.getId())? HttpResult.ok("删除特约成功") : HttpResult.error("删除特约失败");
+    public HttpResult deleteClause(@RequestSingleParam(value = "id") String id){
+        return insCompanyClauseService.removeById(id)? HttpResult.ok("删除特约成功") : HttpResult.error("删除特约失败");
     }
 
 }

+ 12 - 0
platform/src/main/java/com/jzg/mapper/InsCompanyClauseMapper.java

@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jzg.commons.entity.dto.SysUserParam;
 import com.jzg.commons.entity.po.InsCompanyClause;
 import com.jzg.commons.entity.po.SysUser;
+import com.jzg.commons.entity.vo.CompanyClauseVo;
+import com.jzg.commons.entity.vo.InsCompanyClauseVo;
 import com.jzg.commons.entity.vo.SysUserVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -18,6 +20,16 @@ import org.apache.ibatis.annotations.Param;
 @Mapper
 public interface InsCompanyClauseMapper extends BaseMapper<InsCompanyClause> {
 
+    /**
+     * 特别约定分页
+     * @param page
+     * @param companyClauseVo
+     * @return
+     */
+    public Page<InsCompanyClauseVo> getClausePage(Page page,@Param("param") CompanyClauseVo companyClauseVo);
+
+
+    public InsCompanyClauseVo getClause(String id);
 }
 
 

+ 5 - 1
platform/src/main/java/com/jzg/service/InsCompanyClauseService.java

@@ -8,6 +8,7 @@ import com.jzg.commons.entity.dto.SysUserParam;
 import com.jzg.commons.entity.po.InsCompanyClause;
 import com.jzg.commons.entity.po.SysUser;
 import com.jzg.commons.entity.vo.CompanyClauseVo;
+import com.jzg.commons.entity.vo.InsCompanyClauseVo;
 import com.jzg.commons.entity.vo.SysUserVo;
 import com.jzg.commons.entity.vo.UpAndDownVo;
 
@@ -26,7 +27,10 @@ public interface InsCompanyClauseService extends IService<InsCompanyClause> {
      * @param companyClauseVo
      * @return
      */
-    public Page<InsCompanyClause> getClausePage(Page page, CompanyClauseVo companyClauseVo);
+    public Page<InsCompanyClauseVo> getClausePage(Page page, CompanyClauseVo companyClauseVo);
+
+
+    public InsCompanyClauseVo getClause(String id);
 
     /**
      * 添加特别约定

+ 8 - 7
platform/src/main/java/com/jzg/service/impl/InsCompanyClauseServiceImpl.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.jzg.commons.entity.po.InsCompanyClause;
 import com.jzg.commons.entity.vo.CompanyClauseVo;
+import com.jzg.commons.entity.vo.InsCompanyClauseVo;
 import com.jzg.commons.exception.ValidateException;
 import com.jzg.mapper.InsCompanyClauseMapper;
 import com.jzg.service.InsCompanyClauseService;
@@ -14,13 +15,13 @@ import org.springframework.stereotype.Service;
 public class InsCompanyClauseServiceImpl extends ServiceImpl<InsCompanyClauseMapper, InsCompanyClause> implements InsCompanyClauseService {
 
     @Override
-    public Page<InsCompanyClause> getClausePage(Page page, CompanyClauseVo companyClauseVo) {
-        LambdaQueryWrapper wrapper = new LambdaQueryWrapper<InsCompanyClause>()
-                .eq(!companyClauseVo.getCompanyId().equals(""),InsCompanyClause::getCompanyId,companyClauseVo.getCompanyId())
-                .eq(!companyClauseVo.getRiskCode().equals(""),InsCompanyClause::getRiskCode,companyClauseVo.getRiskCode())
-                .like(!companyClauseVo.getClauseName().equals(""),InsCompanyClause::getClauseName,companyClauseVo.getClauseName())
-                .like(!companyClauseVo.getClauseContent().equals(""),InsCompanyClause::getClauseContent,companyClauseVo.getClauseContent());
-        return baseMapper.selectPage(page, wrapper);
+    public Page<InsCompanyClauseVo> getClausePage(Page page, CompanyClauseVo companyClauseVo) {
+        return baseMapper.getClausePage(page, companyClauseVo);
+    }
+
+    @Override
+    public InsCompanyClauseVo getClause(String id) {
+        return baseMapper.getClause(id);
     }
 
     @Override

+ 2 - 4
platform/src/main/resources/application.yml

@@ -1,5 +1,3 @@
-server:
-  port: 8083
 spring:
 #  zipkin:
 #    base-url: http://192.168.0.250:9411
@@ -7,7 +5,7 @@ spring:
 #    sampler:
 #      probability: 1.0
   profiles:
-    active: test
+    active: dev
   servlet:
     multipart:
       max-file-size: 5MB
@@ -44,7 +42,7 @@ tenant:
     - ptl_ins_attribution_template
     - esm_ins_company
     - ptl_crawler_api
-
+    - ins_company_clause
   ignoreLoginNames:
 
   ignoreFunction:

+ 44 - 0
platform/src/main/resources/mapper/InsCompanyClauseMapper.xml

@@ -0,0 +1,44 @@
+<?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.jzg.mapper.InsCompanyClauseMapper">
+
+    <select id="getClausePage" resultType="com.jzg.commons.entity.vo.InsCompanyClauseVo">
+        SELECT
+            eic.name_simple AS company_name,
+            eic.company_code AS company_code,
+            icc.*
+        FROM
+            ins_company_clause icc
+            INNER JOIN esm_ins_company eic ON eic.id = icc.company_id
+        where
+            1=1
+          AND icc.is_delete = 0
+        <if test="param.companyId != null and param.companyId != ''">
+            AND company_id = #{param.companyId}
+        </if>
+        <if test="param.riskCode != null and param.riskCode != ''">
+            AND risk_code = #{param.riskCode}
+        </if>
+        <if test="param.clauseName != null and param.clauseName != ''">
+            AND clause_name LIKE CONCAT('%', #{param.clauseName}, '%')
+        </if>
+        <if test="param.clauseContent != null and param.clauseContent != ''">
+            AND clause_content LIKE CONCAT('%', #{param.clauseContent}, '%')
+        </if>
+    </select>
+
+    <select id="getClause" resultType="com.jzg.commons.entity.vo.InsCompanyClauseVo">
+        SELECT
+            eic.name_simple AS company_name,
+            eic.company_code AS company_code,
+            icc.*
+        FROM
+            ins_company_clause icc
+            INNER JOIN esm_ins_company eic ON eic.id = icc.company_id
+        where
+            1=1
+          AND icc.id = #{id}
+    </select>
+</mapper>

+ 6 - 6
tenant/insurance/yongcheng/src/main/resources/application.yml

@@ -8,12 +8,12 @@ spring:
       address: redis://192.168.0.250:6379
       password: 123456
       database: 0
-
-  datasource:
-      url: jdbc:mysql://39.98.239.48:3366/platform?serverTimezone=Asia/Shanghai&allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&rewriteBatchedStatements=true
-      username: root
-      password: '@RqGHG#KZ*C9ytkQ'
-      driverClassName: com.mysql.cj.jdbc.Driver
+#
+#  datasource:
+#      url: jdbc:mysql://39.98.239.48:3366/platform?serverTimezone=Asia/Shanghai&allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&rewriteBatchedStatements=true
+#      username: root
+#      password: '@RqGHG#KZ*C9ytkQ'
+#      driverClassName: com.mysql.cj.jdbc.Driver
 
 mybatis-plus:
   mapper-locations: classpath*:/mapper/*Mapper.xml

+ 18 - 19
tenant/insurance/yongcheng/src/main/resources/logback-spring.xml

@@ -1,23 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration>
-    <!-- 定义 Graylog GELF appender -->
-<!--    <appender name="GELF" class="de.siegmar.logbackgelf.GelfUdpAppender">-->
-<!--        &lt;!&ndash; Graylog server 的主机名或 IP 地址 &ndash;&gt;-->
-<!--        <graylogHost>192.168.0.250</graylogHost>-->
-<!--        &lt;!&ndash; Graylog 服务器端口,通常为 12201(UDP)或 12202(TCP) &ndash;&gt;-->
-<!--        <graylogPort>12201</graylogPort>-->
-<!--        &lt;!&ndash; 可选项:指定协议,默认使用 UDP &ndash;&gt;-->
-<!--        <transport>UDP</transport>-->
-<!--        &lt;!&ndash; 发送日志时是否压缩 &ndash;&gt;-->
-<!--        <compress>true</compress>-->
-<!--        &lt;!&ndash; 是否在 GELF 消息中加入时间戳 &ndash;&gt;-->
-<!--        <includeTimestamp>true</includeTimestamp>-->
-<!--        &lt;!&ndash; 日志内容最大字节数 &ndash;&gt;-->
-<!--        <maxMessageSize>32768</maxMessageSize>-->
-<!--        &lt;!&ndash; 设置自定义字段 &ndash;&gt;-->
-<!--        <additionalFields>-->
-<!--        </additionalFields>-->
-<!--    </appender>-->
+    <appender name="GELF" class="de.siegmar.logbackgelf.GelfUdpAppender">
+        <!-- Graylog server 的主机名或 IP 地址 -->
+        <graylogHost>192.168.0.250</graylogHost>
+        <!-- Graylog 服务器端口,通常为 12201(UDP)或 12202(TCP) -->
+        <graylogPort>12201</graylogPort>
+        <!-- 可选项:指定协议,默认使用 UDP -->
+        <transport>UDP</transport>
+        <!-- 发送日志时是否压缩 -->
+        <compress>true</compress>
+        <!-- 是否在 GELF 消息中加入时间戳 -->
+        <includeTimestamp>true</includeTimestamp>
+        <!-- 日志内容最大字节数 -->
+        <maxMessageSize>32768</maxMessageSize>
+        <!-- 设置自定义字段 -->
+        <additionalFields>
+        </additionalFields>
+    </appender>
 
     <!-- 控制台输出日志,非必须,可以根据需要选择性启用 -->
     <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
@@ -28,7 +27,7 @@
 
     <!-- 输出到控制台 -->
     <root level="INFO">
-<!--        <appender-ref ref="GELF"/>-->
+        <appender-ref ref="GELF"/>
         <appender-ref ref="STDOUT"/>
     </root>
 

+ 10 - 8
tenant/organization/src/main/java/com/jzg/organization/controller/DictController.java

@@ -7,6 +7,9 @@ import com.jzg.commons.entity.po.SysDictType;
 import com.jzg.organization.mapper.SysDictMapper;
 import com.jzg.organization.mapper.SysDictTypeMapper;
 import io.swagger.v3.oas.annotations.Operation;
+import org.redisson.Redisson;
+import org.redisson.api.RList;
+import org.redisson.api.RedissonClient;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -14,6 +17,8 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
 
+import static com.jzg.commons.constants.RedisKeyConstants.DICT_REDIS_KEY;
+
 /**
  * 字典管理接口
  */
@@ -27,16 +32,13 @@ public class DictController {
     @Autowired
     private SysDictTypeMapper sysDictTypeMapper;
 
+    @Autowired
+    RedissonClient redissonClient;
+
     @GetMapping("/get")
     @Operation(summary = "获取字典", description = "获取字典")
     public HttpResult addDept(String dictCode) {
-        SysDictType sysDictType = sysDictTypeMapper.selectOne(new LambdaQueryWrapper<SysDictType>()
-                .eq(SysDictType::getDictCode, dictCode));
-        List<SysDict> sysDicts = new ArrayList<>();
-        if(!Objects.isNull(sysDictType)) {
-            sysDicts = sysDictMapper.selectList(new LambdaQueryWrapper<SysDict>()
-                    .eq(SysDict::getTypeId, sysDictType.getId()));
-        }
-        return HttpResult.ok(sysDicts);
+        RList<SysDict> list = redissonClient.getList(DICT_REDIS_KEY + dictCode);
+        return HttpResult.ok(list);
     }
 }

+ 49 - 0
tenant/organization/src/main/java/com/jzg/organization/event/OrganizationFormApplicationLister.java

@@ -0,0 +1,49 @@
+package com.jzg.organization.event;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.jzg.commons.entity.po.SysDict;
+import com.jzg.organization.mapper.SysDictMapper;
+import org.redisson.api.RList;
+import org.redisson.api.RedissonClient;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.context.event.ApplicationReadyEvent;
+import org.springframework.context.ApplicationListener;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+import static com.jzg.commons.constants.RedisKeyConstants.DICT_REDIS_KEY;
+
+/**
+ * springboot 初始化完成事件处理
+ */
+@Component
+public class OrganizationFormApplicationLister implements ApplicationListener<ApplicationReadyEvent> {
+
+    @Autowired
+    private SysDictMapper sysDictMapper;
+
+    @Autowired
+    private RedissonClient redissonClient;
+
+    @Override
+    public void onApplicationEvent(ApplicationReadyEvent event) {
+        //将字典表数据打入到redis中
+        List<SysDict> sysDicts = sysDictMapper.selectList(new LambdaQueryWrapper<>());
+        Map<String, List<SysDict>> collect = sysDicts.stream().collect(Collectors.groupingBy(SysDict::getTypeCode));
+
+        Iterable<String> keys = redissonClient.getKeys().getKeysByPattern(DICT_REDIS_KEY + "*"); // 获取所有匹配的键
+        for (String key : keys) {
+            redissonClient.getList(key).clear();
+        }
+
+        collect.forEach((k,v)->{
+            RList<Object> list = redissonClient.getList(DICT_REDIS_KEY + k);
+            for(int i=0;i<v.size();i++){
+                list.add(i,v.get(i));
+            }
+        });
+    }
+}

+ 1 - 1
tenant/organization/src/main/java/com/jzg/organization/mapper/SysDeptMapper.java

@@ -22,5 +22,5 @@ public interface SysDeptMapper extends BaseMapper<SysDept> {
      */
     List<SysDept> selectDeptList(@Param(Constants.WRAPPER) Wrapper<SysDept> queryWrapper);
 
-    List<SysDeptVo> selectDeptVoList(@Param("deptId")String deptId,@Param("sysCode")String sysCode);
+    List<SysDept> selectDeptVoList(@Param("deptId")String deptId,@Param("sysCode")String sysCode);
 }

+ 7 - 14
tenant/organization/src/main/java/com/jzg/organization/service/impl/SysDeptServiceImpl.java

@@ -166,19 +166,11 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
         List<SysDeptVo> sysDepts = new ArrayList<>();
         SysDept sysDept = getById(deptId);
         SysDeptVo sysDeptVo = new SysDeptVo(sysDept);
-//        LambdaQueryWrapper<SysDept> lqw = new LambdaQueryWrapper<>();
-//        if(!deptId.equals("")) {
-//            lqw.likeRight(SysDept::getRoute, deptId);
-//        }
-//        lqw.eq(StringUtils.isNotEmpty(sysCode),SysDept::getSystemCode, sysCode);
-//        List<SysDept> sysDeptList = list(lqw);
-        List<SysDeptVo> voDept = baseMapper.selectDeptVoList(deptId, sysCode);
-//        List<SysDeptVo> voDept = new ArrayList<>();
-//        sysDeptVos.forEach(item->{
-//            voDept.add(item);
-//        });
 
-        voDept.forEach(item->{
+        List<SysDept> depts = baseMapper.selectDeptVoList(deptId, sysCode);
+        List<SysDeptVo> voDept = new ArrayList<>();
+        depts.forEach(item->{
+            SysDeptVo sysDeptv = new SysDeptVo(item);
             List<String> areas = new ArrayList<>();
             areas.add(item.getProvince());
             areas.add(item.getCity());
@@ -189,14 +181,15 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
                 areaString = areaString + sysAreaVos.get(i).getAreaCname() + "-";
             }
             if(areaString.length()>0) {
-                item.setDivision(areaString.substring(0, areaString.length() - 1));
+                sysDeptv.setDivision(areaString.substring(0, areaString.length() - 1));
             }
             if(!Objects.isNull(item.getLeaderId())){
                 SysUserJzgInfo userByUserId = sysUserJzgInfoService.getUserByUserId(item.getLeaderId());
                 if(!Objects.isNull(userByUserId)){
-                    item.setLeaderName(userByUserId.getName());
+                    sysDeptv.setLeaderName(userByUserId.getName());
                 }
             }
+            voDept.add(sysDeptv);
         });
 
         Map<String, List<SysDeptVo>> map = voDept.stream().collect(Collectors.groupingBy(SysDeptVo::getParentId));

+ 1 - 1
tenant/organization/src/main/resources/application.yml

@@ -2,7 +2,7 @@ spring:
   main:
     allow-circular-references: true
   profiles:
-    active: test
+    active: dev
 
 mybatis-plus:
   mapper-locations: classpath*:/mapper/*Mapper.xml

+ 4 - 2
tenant/organization/src/main/resources/mapper/SysDeptMapper.xml

@@ -21,7 +21,7 @@
         from sys_dept ${ew.getCustomSqlSegment}
     </select>
 
-    <select id="selectDeptVoList" resultType="com.jzg.commons.entity.vo.SysDeptVo">
+    <select id="selectDeptVoList" resultType="com.jzg.commons.entity.po.SysDept">
         SELECT
             sd.*,
             COALESCE(COUNT(suji.user_id), 0) AS user_count
@@ -31,9 +31,11 @@
             sys_user_jzg_info suji ON suji.dept_id = sd.id
         where
             1=1
+        AND
+            sd.is_delete = 0
             <if test="deptId!=null and deptId!=''">
 
-                route like CONCAT(#{deptId}, '%')
+                and route like CONCAT(#{deptId}, '%')
             </if>
             <if test="sysCode!=null and sysCode!=''">
                 and sd.sys_code = #{sysCode}