浏览代码

Merge remote-tracking branch 'origin/master'

Qchen 10 月之前
父节点
当前提交
5008abdba3

+ 28 - 0
commons/src/main/java/com/jzg/commons/entity/po/SysAppManage.java

@@ -0,0 +1,28 @@
+package com.jzg.commons.entity.po;
+
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.jzg.commons.core.base.BaseModel;
+import lombok.Data;
+import javax.validation.constraints.NotBlank;
+
+@Data
+public class SysAppManage extends BaseModel {
+
+    private String id;
+
+    @NotBlank(message = "应用名称不能为空")
+    private String appName;
+
+    private String appIcon;
+
+    @NotBlank(message = "应用ID不能为空")
+    private String appId;
+
+    private String description;
+
+    private String systemCode;
+
+    @TableField(exist = false)
+    private String downloadUrl;
+}

+ 10 - 0
commons/src/main/java/com/jzg/commons/entity/po/SysVersion.java

@@ -1,7 +1,9 @@
 package com.jzg.commons.entity.po;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.jzg.commons.core.base.BaseModel;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
 /**
@@ -22,16 +24,24 @@ public class SysVersion extends BaseModel {
 
     private String content;
 
+    @Schema(description = "0-不提示更新;1强制更新,2强提示更新,3弱提示更新")
     private String appType;
 
     private String platform;
 
     private String version;
 
+    private String path;
+
+    private String pathId;
+
+    @TableField(exist = false)
     private String downloadUrl;
 
     private String updateFlag;
 
     private String issueFlag;
 
+    private String  packageType;
+
 }

+ 8 - 0
commons/src/main/java/com/jzg/commons/entity/vo/AgreementVo.java

@@ -44,6 +44,10 @@ public class AgreementVo extends BaseModel {
     @Schema(description = "关联-保险公司id")
     private String companyId;
 
+    /** 合作-保险公司id */
+    @Schema(description = "合作-保险公司id")
+    private String partnerCompanyId;
+
     /** 协议起期 */
     @Schema(description = "协议起期")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@@ -162,6 +166,10 @@ public class AgreementVo extends BaseModel {
     @Schema(description = "关联-保险公司简称")
     private String company;
 
+    /** 关联-保险公司简称 */
+    @Schema(description = "关联-保险公司简称")
+    private String partnerCompanyName;
+
     @Schema(description = "交强入口手续费比例")
     private BigDecimal jqEntranceFeeRatio;
 

+ 15 - 0
commons/src/main/java/com/jzg/commons/entity/vo/SysAppManageVo.java

@@ -0,0 +1,15 @@
+package com.jzg.commons.entity.vo;
+
+
+import com.jzg.commons.core.base.PageRequest;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+@Data
+public class SysAppManageVo extends PageRequest {
+
+    @NotBlank(message = "应用名称不能为空")
+    private String appName;
+
+}

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

@@ -1,5 +1,6 @@
 package com.jzg.filter;
 
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cloud.gateway.filter.GatewayFilterChain;
 import org.springframework.cloud.gateway.filter.GlobalFilter;
@@ -8,8 +9,13 @@ import org.springframework.core.annotation.Order;
 import org.springframework.stereotype.Component;
 import org.springframework.web.server.ServerWebExchange;
 import reactor.core.publisher.Mono;
+
+import java.time.Duration;
+import java.time.Instant;
+
 @Component
 @Order(0)
+@Slf4j
 public class AuthFilter implements GlobalFilter {
 
     @Autowired
@@ -20,8 +26,17 @@ public class AuthFilter implements GlobalFilter {
         // 获取请求路径和方法
         String path = exchange.getRequest().getPath().value();
 
-        // 如果权限验证通过,继续请求链
-        return chain.filter(exchange);
+        return chain.filter(exchange)
+                .doOnSuccess(v -> {
+                    long cost = Duration.between(Instant.now(), Instant.now()).toMillis();
+                    int statusCode = exchange.getResponse().getStatusCode().value();
+                    log.info("【Gateway响应出口】 请求地址:{} , 耗时: {}ms , 状态码: {} ", path, statusCode, cost);
+                })
+                // 发生异常时记录日志(ERROR级别)
+                .doOnError(e -> {
+                    long cost = Duration.between(Instant.now(), Instant.now()).toMillis();
+                    log.error("【Gateway请求异常】 请求地址:{} , 耗时: {}ms, 异常信息:{} ",path,cost, e);
+                });
     }
 
 }

+ 2 - 0
gateway/src/main/resources/application-dev.yml

@@ -86,6 +86,8 @@ spring:
                   - /userBankCard/**
                   - /receivable/**
                   - /ptlAgreementDispatch/**
+                  - /appManage/**
+                  - /version/**
 
         - id: summary_route
           uri: http://localhost:9898/

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

@@ -7,8 +7,8 @@ spring:
     active: dev
   servlet:
     multipart:
-      max-file-size: 5MB
-      max-request-size: 5MB
+      max-file-size: 100MB
+      max-request-size: 100MB
 
 mybatis-plus:
   mapper-locations: classpath*:/mapper/*Mapper.xml

+ 58 - 0
tenant/organization/src/main/java/com/jzg/organization/controller/SysAppManageController.java

@@ -0,0 +1,58 @@
+package com.jzg.organization.controller;
+
+
+import com.jzg.commons.core.page.HttpResult;
+import com.jzg.commons.entity.po.SysAppManage;
+import com.jzg.commons.entity.vo.SysAppManageVo;
+import com.jzg.organization.service.SysAppManageService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Objects;
+
+/**
+ * 应用管理
+ * @author quchen
+ * @date 2025/6/19 9:54
+ */
+
+@RestController
+@RequestMapping("/appManage")
+public class SysAppManageController {
+
+    @Autowired
+    private SysAppManageService sysAppManageService;
+
+
+    @PostMapping("/queryAppList")
+    public HttpResult queryAppList(@RequestBody SysAppManageVo sysAppManageVo) {
+        return HttpResult.ok(sysAppManageService.queryAppList(sysAppManageVo));
+    }
+
+
+    @PostMapping("/save")
+    public HttpResult save( @RequestBody SysAppManage sysAppManage) {
+        if (Objects.isNull(sysAppManage.getAppId())){
+            return HttpResult.error("应用ID不能为空");
+        }
+        boolean save = sysAppManageService.save(sysAppManage);
+        return save ? HttpResult.ok("保存成功") : HttpResult.error("保存失败");
+    }
+
+
+    @PostMapping("/update")
+    public HttpResult update(@RequestBody SysAppManage sysAppManage) {
+        if (Objects.isNull(sysAppManage.getId())){
+            return HttpResult.error("ID不能为空");
+        }
+        boolean b = sysAppManageService.updateById(sysAppManage);
+        return b ? HttpResult.ok("更新成功") :HttpResult.error("更新失败");
+    }
+
+
+    @GetMapping("/deleteById")
+    public HttpResult deleteById(@RequestParam String id) {
+        return sysAppManageService.deleteById(id);
+    }
+
+}

+ 4 - 4
tenant/organization/src/main/java/com/jzg/organization/controller/SysVersionController.java

@@ -30,8 +30,8 @@ public class SysVersionController {
     }
 
     @PostMapping("/delete")
-    public HttpResult delete(@RequestBody SysVersionVo sysVersionVo) {
-        SysVersion sysVersion = sysVersionService.getById(sysVersionVo.getId());
+    public HttpResult delete(@RequestParam String id) {
+        SysVersion sysVersion = sysVersionService.getById(id);
         if (sysVersion == null) {
             HttpResult.error("数据不存在");
         }
@@ -46,8 +46,8 @@ public class SysVersionController {
     }
 
     @GetMapping("/getMaxVersion")
-    public HttpResult getMaxVersion(@RequestParam String appid) {
-        return HttpResult.ok(sysVersionService.getMaxVersion(appid));
+    public HttpResult getMaxVersion(@RequestParam("appid") String appid,@RequestParam("packageType") String packageType) {
+        return HttpResult.ok(sysVersionService.getMaxVersion(appid,packageType));
     }
 
 }

+ 9 - 0
tenant/organization/src/main/java/com/jzg/organization/mapper/SysAppManageMapper.java

@@ -0,0 +1,9 @@
+package com.jzg.organization.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jzg.commons.entity.po.SysAppManage;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface SysAppManageMapper extends BaseMapper<SysAppManage> {
+}

+ 15 - 0
tenant/organization/src/main/java/com/jzg/organization/service/SysAppManageService.java

@@ -0,0 +1,15 @@
+package com.jzg.organization.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jzg.commons.core.page.HttpResult;
+import com.jzg.commons.entity.po.SysAppManage;
+import com.jzg.commons.entity.vo.SysAppManageVo;
+
+public interface SysAppManageService extends IService<SysAppManage> {
+
+
+    Page<SysAppManage> queryAppList(SysAppManageVo sysAppManageVo);
+
+    HttpResult deleteById(String id);
+}

+ 1 - 1
tenant/organization/src/main/java/com/jzg/organization/service/SysVersionService.java

@@ -7,7 +7,7 @@ import com.jzg.commons.entity.vo.SysVersionVo;
 
 
 public interface SysVersionService extends IService<SysVersion> {
-    SysVersion getMaxVersion(String appid);
+    SysVersion getMaxVersion(String appid,String packageType);
 
     Page<SysVersion> getSysVersionPageList(Page page, SysVersionVo sysVersionVo);
 }

+ 53 - 0
tenant/organization/src/main/java/com/jzg/organization/service/impl/SysAppManageServiceImpl.java

@@ -0,0 +1,53 @@
+package com.jzg.organization.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jzg.commons.core.page.HttpResult;
+import com.jzg.commons.entity.po.SysAppManage;
+import com.jzg.commons.entity.po.SysUploadFiles;
+import com.jzg.commons.entity.vo.SysAppManageVo;
+import com.jzg.commons.util.MinioUtils;
+import com.jzg.organization.mapper.SysAppManageMapper;
+import com.jzg.organization.mapper.SysUploadFilesMapper;
+import com.jzg.organization.service.SysAppManageService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+
+@Service
+public class SysAppManageServiceImpl extends ServiceImpl<SysAppManageMapper, SysAppManage> implements SysAppManageService {
+
+    @Autowired
+    private SysUploadFilesMapper sysUploadFilesMapper;
+
+    @Override
+    public Page<SysAppManage> queryAppList(SysAppManageVo sysAppManageVo) {
+        try {
+            LambdaQueryWrapper<SysAppManage> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+            Page<SysAppManage> page = baseMapper.selectPage(sysAppManageVo.getPage(), lambdaQueryWrapper);
+            page.getRecords().forEach(item -> {
+                SysUploadFiles sysUploadFiles = sysUploadFilesMapper.selectById(item.getAppIcon());
+                item.setDownloadUrl(MinioUtils.getPresignedObjectUrl(sysUploadFiles.getBucketName(), sysUploadFiles.getFileName()));
+            });
+            return page;
+        }catch (Exception e){
+            e.printStackTrace();
+            throw new RuntimeException("查询失败");
+        }
+    }
+
+    @Override
+    public HttpResult deleteById(String id) {
+        SysAppManage sysAppManage = baseMapper.selectById(id);
+        if (sysAppManage == null) {
+            return HttpResult.error("该应用不存在");
+        }
+        try {
+            baseMapper.deleteById(id);
+            return HttpResult.ok("删除成功");
+        } catch (Exception e) {
+            return HttpResult.error("删除失败");
+        }
+    }
+}

+ 6 - 6
tenant/organization/src/main/java/com/jzg/organization/service/impl/SysVersionServiceImpl.java

@@ -10,8 +10,6 @@ import com.jzg.organization.service.SysVersionService;
 import jakarta.annotation.Resource;
 import org.springframework.stereotype.Service;
 
-import java.util.List;
-
 /**
  * @author quchen
  * @date 2025/6/19 9:58
@@ -22,10 +20,12 @@ public class SysVersionServiceImpl extends ServiceImpl<SysVersionMapper, SysVers
     @Resource
     private SysVersionMapper sysVersionMapper;
     @Override
-    public SysVersion getMaxVersion(String appid) {
-        String maxVersion = sysVersionMapper.getMaxVersion(appid);
-        List<SysVersion> list = sysVersionMapper.selectList(new LambdaQueryWrapper<SysVersion>().eq(SysVersion::getVersion, maxVersion));
-        return list.get(0);
+    public SysVersion getMaxVersion(String appid,String packageType) {
+        return  baseMapper.selectOne(new LambdaQueryWrapper<>(SysVersion.class)
+                .eq(SysVersion::getAppId, appid)
+                .eq(SysVersion::getPackageType, packageType)
+                .orderByDesc(SysVersion::getCreateTime)
+                .last("LIMIT 1"));
     }
 
     @Override

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

@@ -92,6 +92,7 @@ tenant:
     - wechat_customer_service_recording
     - ins_fee_audit
     - sys_user_jzg_info_bank_card_record
+    - sys_app_manage
 
 
   ignoreLoginNames:

+ 6 - 2
tenant/organization/src/main/resources/mapper/PtlAgreementMapper.xml

@@ -13,6 +13,7 @@
             <result property="agreementAbbreviation" column="agreement_abbreviation" jdbcType="VARCHAR"/>
             <result property="isEnable" column="is_enable" jdbcType="TINYINT"/>
             <result property="companyId" column="company_id" jdbcType="VARCHAR"/>
+            <result property="partnerCompanyId" column="partner_company_id" jdbcType="VARCHAR"/>
             <result property="startDate" column="start_date" jdbcType="TIMESTAMP"/>
             <result property="endDate" column="end_date" jdbcType="TIMESTAMP"/>
             <result property="moneyTime" column="money_time" jdbcType="INTEGER"/>
@@ -45,7 +46,7 @@
     <sql id="Base_Column_List">
         pa.id,pa.agreement_type,pa.agreement_code,
         pa.agreement_name,pa.agreement_title,pa.agreement_abbreviation,
-        pa.is_enable,pa.company_id,
+        pa.is_enable,pa.company_id,pa.partner_company_id,
         pa.start_date,pa.end_date,pa.money_time,
         pa.match_type,pa.docking_person,pa.docking_phone,
         pa.valid_status,pa.money_type,pa.file_id,
@@ -57,7 +58,7 @@
         pa.update_time,pa.is_delete,paa.username,paa.user_abbr as userAbbr,
         suji.name as managerName,sd.name as managerDeptName,
 --         suf.file_name as fileName,suf.file_size as fileSize,
-        eic.name_simple as company,sdd.name as deptName,
+        eic.name_simple as company,sdd.name as deptName,eica.name_simple as partnerCompanyName,
         pa.api_type,pa.jq_entrance_fee_ratio,pa.sy_entrance_fee_ratio,pa.jy_entrance_fee_ratio
     </sql>
     <select id="queryPage" resultType="com.jzg.commons.entity.vo.AgreementVo">
@@ -69,6 +70,7 @@
         LEFT JOIN sys_dept sd on suji.dept_id = sd.id
         LEFT JOIN sys_upload_files suf on pa.file_id = suf.id
         LEFT JOIN esm_ins_company eic on pa.company_id = eic.id
+        LEFT JOIN esm_ins_company eica on pa.partner_company_id = eica.id
         <where>
             pa.is_delete = 0
             <if test="param.searchValue != null and param.searchValue != ''">
@@ -126,6 +128,7 @@
         LEFT JOIN sys_dept sd on suji.dept_id = sd.id
         LEFT JOIN sys_upload_files suf on pa.file_id = suf.id
         LEFT JOIN esm_ins_company eic on pa.company_id = eic.id
+        LEFT JOIN esm_ins_company eica on pa.partner_company_id = eica.id
         <where>
             pa.is_delete = 0
             <if test="param.searchValue != null and param.searchValue != ''">
@@ -180,6 +183,7 @@
         LEFT JOIN sys_dept sd on suji.dept_id = sd.id
 --         LEFT JOIN sys_upload_files suf on suf.id = pa.file_id
         LEFT JOIN esm_ins_company eic on pa.company_id = eic.id
+        LEFT JOIN esm_ins_company eica on pa.partner_company_id = eica.id
         <where>
             <if test="id != null and id != ''">
                 and pa.id = #{id}