Sfoglia il codice sorgente

tab_app表的新增、查询、列表展示、重置密钥、禁用(暂无作用)

2643616413 5 giorni fa
parent
commit
e248adb146

+ 44 - 12
server/yusp-tagging-core/src/main/java/cn/com/yusys/yusp/controller/TabAppController.java

@@ -1,5 +1,6 @@
 package cn.com.yusys.yusp.controller;
 
+import cn.com.yusys.yusp.model.Result;
 import cn.com.yusys.yusp.domain.dto.TabAppCreateDTO;
 import cn.com.yusys.yusp.domain.entity.TabApp;
 import cn.com.yusys.yusp.service.TabAppService;
@@ -18,29 +19,60 @@ public class TabAppController {
     private TabAppService tabAppService;
 
     @GetMapping("/list")
-    public Page<TabApp> listApps(
+    public Result<Page<TabApp>> listApps(
             @RequestParam(defaultValue = "1") int page,
             @RequestParam(defaultValue = "10") int size) {
-        return tabAppService.listApps(page, size);
+        try {
+            Page<TabApp> pageResult = tabAppService.listApps(page, size);
+            // 封装为 Result 对象
+            return Result.success(pageResult, pageResult.getTotal());
+        } catch (Exception e) {
+            return Result.error("500", "分页查询失败:" + e.getMessage());
+        }
     }
 
+
     @PostMapping("/add")
-    public TabApp addApp(@Validated @RequestBody TabAppCreateDTO dto) {
-        return tabAppService.addApp(dto);
+    public Result<TabApp> addApp(@Validated @RequestBody TabAppCreateDTO dto) {
+        try {
+            TabApp app = tabAppService.addApp(dto);
+            return Result.success(app); // 成功时返回封装后的数据
+        } catch (Exception e) {
+            return Result.error("500", "应用新增失败:" + e.getMessage()); // 异常时返回错误信息
+        }
     }
 
+
     @GetMapping("/query")
-    public List<TabApp> queryByName(@RequestParam String appName) {
-        return tabAppService.queryByName(appName);
+    public Result<List<TabApp>> queryByName(@RequestParam String appName) {
+        try {
+            List<TabApp> apps = tabAppService.queryByAppNameLike(appName);
+            return Result.success(apps); // 成功时返回封装后的数据
+        } catch (Exception e) {
+            return Result.error("500", "应用查询失败:" + e.getMessage()); // 异常时返回错误信息
+        }
     }
 
-    @PutMapping("/reset-secret/{id}")
-    public String resetSecret(@PathVariable String id) {
-        return tabAppService.resetSecret(id);
+
+    @PostMapping("/reset-secret")
+    public Result<String> resetSecret(@RequestParam String id) {
+        try {
+            String newSecret = tabAppService.resetSecret(id);
+            return Result.success(newSecret);
+        } catch (Exception e) {
+            return Result.error("500", "密钥重置失败:" + e.getMessage());
+        }
     }
 
-    @PutMapping("/disable/{id}")
-    public void disableApp(@PathVariable String id) {
-        tabAppService.disableApp(id);
+
+    @PostMapping("/disable")
+    public Result<Void> disableApp(@RequestParam String id) {
+        try {
+            tabAppService.disableApp(id);
+            return Result.success();
+        } catch (Exception e) {
+            return Result.error("500", "应用禁用失败:" + e.getMessage());
+        }
     }
+
 }

+ 0 - 27
server/yusp-tagging-core/src/main/java/cn/com/yusys/yusp/controller/TestController.java

@@ -1,27 +0,0 @@
-package cn.com.yusys.yusp.controller;
-
-
-import cn.com.yusys.yusp.service.impl.TestImplService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * 触发器管理
- * @Author wangshuai
- * @创建时间: 2024-03-18 16:05:08
- * -------------------------------------------------------------
- * @Copyright (c) 宇信科技-版权所有
- */
-@RestController
-@RequestMapping("/api/test")
-public class TestController {
-    @Autowired
-    private TestImplService test;
-
-    @GetMapping("/")
-    public String test(){
-        return "test1";
-    }
-}

+ 0 - 1
server/yusp-tagging-core/src/main/java/cn/com/yusys/yusp/domain/entity/TabApp.java

@@ -3,7 +3,6 @@ package cn.com.yusys.yusp.domain.entity;
 import lombok.Data;
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.Size;
-import javax.validation.constraints.NotNull;
 import java.io.Serializable;
 import java.util.Date;
 import io.swagger.annotations.ApiModelProperty;

+ 2 - 0
server/yusp-tagging-core/src/main/java/cn/com/yusys/yusp/mapper/TabAppMapper.java

@@ -12,6 +12,8 @@ public interface TabAppMapper {
     // 分页查询(偏移量 + 限制)
     List<TabApp> selectPageApps(@Param("offset") int offset, @Param("limit") int limit);
 
+    List<TabApp> selectByAppNameLike(@Param("appName") String appName);
+
     // 按应用名称查重
     int selectCountByName(@Param("appName") String appName);
 

+ 65 - 0
server/yusp-tagging-core/src/main/java/cn/com/yusys/yusp/model/Result.java

@@ -0,0 +1,65 @@
+package cn.com.yusys.yusp.model;
+
+import lombok.Data;
+
+@Data
+public class Result<T> {
+    private String code;
+    private Long total; // 分页时使用的总数
+    private String message;
+    private String level; // 日志级别(如 info/warn/error)
+    private T data;
+
+    // 成功响应(无数据)
+    public static <T> Result<T> success() {
+        Result<T> result = new Result<>();
+        result.setCode("0");
+        result.setMessage(null);
+        result.setLevel(null);
+        result.setTotal(0L);
+        return result;
+    }
+
+    // 成功响应(带数据)
+    public static <T> Result<T> success(T data) {
+        Result<T> result = new Result<>();
+        result.setCode("0");
+        result.setMessage(null);
+        result.setLevel(null);
+        result.setTotal(0L);
+        result.setData(data);
+        return result;
+    }
+
+    // 成功响应(带数据和总数,用于分页)
+    public static <T> Result<T> success(T data, Long total) {
+        Result<T> result = new Result<>();
+        result.setCode("0");
+        result.setMessage(null);
+        result.setLevel(null);
+        result.setTotal(total);
+        result.setData(data);
+        return result;
+    }
+
+    // 错误响应
+    public static <T> Result<T> error(String code, String message) {
+        Result<T> result = new Result<>();
+        result.setCode(code);
+        result.setMessage(message);
+        result.setLevel("error");
+        result.setTotal(0L);
+        return result;
+    }
+
+    // 警告响应
+    public static <T> Result<T> warn(String message) {
+        Result<T> result = new Result<>();
+        result.setCode("0");
+        result.setMessage(message);
+        result.setLevel("warn");
+        result.setTotal(0L);
+        return result;
+    }
+}
+   

+ 1 - 0
server/yusp-tagging-core/src/main/java/cn/com/yusys/yusp/service/TabAppService.java

@@ -10,6 +10,7 @@ public interface TabAppService {
     Page<TabApp> listApps(int page, int size);
     TabApp addApp(TabAppCreateDTO dto);
     List<TabApp> queryByName(String appName);
+    List<TabApp> queryByAppNameLike(String appName);
     String resetSecret(String id);
     void disableApp(String id);
 }

+ 0 - 12
server/yusp-tagging-core/src/main/java/cn/com/yusys/yusp/service/Test.java

@@ -1,12 +0,0 @@
-package cn.com.yusys.yusp.service;
-
-/**
- * 触发器管理
- * @Author wangshuai
- * @创建时间: 2024-03-18 16:05:08
- * -------------------------------------------------------------
- * @Copyright (c) 宇信科技-版权所有
- */
-public interface Test{
-
-}

+ 8 - 1
server/yusp-tagging-core/src/main/java/cn/com/yusys/yusp/service/impl/TabAppServiceImpl.java

@@ -4,6 +4,7 @@ import cn.com.yusys.yusp.domain.dto.TabAppCreateDTO;
 import cn.com.yusys.yusp.domain.entity.TabApp;
 import cn.com.yusys.yusp.mapper.TabAppMapper;
 import cn.com.yusys.yusp.service.TabAppService;
+import cn.com.yusys.yusp.util.DataUtil;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -50,7 +51,8 @@ public class TabAppServiceImpl implements TabAppService {
         app.setAppName(appName);
         app.setAppId(appId);
         app.setAppSecret(appSecret);
-        app.setCreateTime(new Date());
+        // 使用 DataUtil 截断时间精度
+        app.setCreateTime(DataUtil.truncateToSeconds(new Date()));
         app.setState("0");
 
         tabAppMapper.insertApp(app);
@@ -63,6 +65,11 @@ public class TabAppServiceImpl implements TabAppService {
     }
 
     @Override
+    public List<TabApp> queryByAppNameLike(String appName) {
+        return tabAppMapper.selectByAppNameLike(appName); // 调用 Mapper 层的模糊查询方法
+    }
+
+    @Override
     public String resetSecret(String id) {
         TabApp app = tabAppMapper.selectById(id);
         if (app == null) {

+ 0 - 15
server/yusp-tagging-core/src/main/java/cn/com/yusys/yusp/service/impl/TestImplService.java

@@ -1,15 +0,0 @@
-package cn.com.yusys.yusp.service.impl;
-
-import org.springframework.stereotype.Service;
-
-/**
- * 触发器管理
- * @Author wangshuai
- * @创建时间: 2024-03-18 16:05:08
- * -------------------------------------------------------------
- * @Copyright (c) 宇信科技-版权所有
- */
-@Service
-public class TestImplService {
-
-}

+ 14 - 0
server/yusp-tagging-core/src/main/java/cn/com/yusys/yusp/util/DataUtil.java

@@ -46,4 +46,18 @@ public class DataUtil {
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         return sdf.format(date);
     }
+
+    /**
+     * 将 Date 时间截断到秒级别(去除毫秒)
+     * @param date 原始时间
+     * @return 截断后的时间
+     */
+    public static Date truncateToSeconds(Date date) {
+        if (date == null) {
+            return null;
+        }
+        long timeInMillis = date.getTime();
+        long timeInSeconds = (timeInMillis / 1000) * 1000; // 截断毫秒
+        return new Date(timeInSeconds);
+    }
 }

+ 0 - 14
server/yusp-tagging-core/src/main/resources/mapper/DetailCrRuleMapper.xml

@@ -1,14 +0,0 @@
-<?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="cn.com.yusys.yusp.detail.dao.DetailCrRuleMapper">
-    <update id="updateDetailCrRuleSts">
-        update detail_cr_rule set rule_sts=#{ruleSts} where
-        busi_no=#{busiNo} and rule_id in
-        <foreach open="(" collection="ruleIdList" item="ruleId" separator="," close=")" index="index">
-            <if test="index%999==998">
-                ) or rule_id in (
-            </if>
-            #{ruleId}
-        </foreach>
-    </update>
-</mapper>

+ 0 - 69
server/yusp-tagging-core/src/main/resources/mapper/DetailFillTaskInsMapper.xml

@@ -1,69 +0,0 @@
-<?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="cn.com.yusys.yusp.detail.dao.DetailFillTaskInsMapper">
-    <select id="selectAuthOrgList" parameterType="string" resultType="cn.com.yusys.yusp.client.domain.vo.BioneIssuedOrgInfoVo">
-        select
-               T0.busi_no,T0.org_NO,
-               T0.org_name,
-               g.org_name as up_org_name,
-               T0.up_org_no,
-               T0.org_level,
-               T0.org_sts,
-               T0.namespace,
-               T0.finance_org_no
-        from admin_sm_user_issued_org_rel r  left join bione_issued_org_info T0 on r.org_no = T0.org_no and r.busi_no = T0.busi_no
-                 LEFT JOIN bione_issued_org_info g ON g.org_no = T0.up_org_no and g.busi_no = T0.busi_no
-            where T0.ORG_STS =#{orgSts,jdbcType=VARCHAR}
-            and T0.busi_no =#{busiNo,jdbcType=VARCHAR}
-    </select>
-
-    <update id="updateInitTaskInsCount">
-        update ${busiNo}_fill_task_ins fill
-        set fill.init_task_ins_count =
-        (
-        select count(1) from ${busiNo}_fill_task_child_ins ins
-        where ins.task_ins_id = fill.task_ins_id
-        and ins.task_sts = '1'
-        )
-        <where>
-            fill.task_ins_id in (
-            <foreach collection="list" separator="," item="id">
-                #{id}
-            </foreach>
-            )
-        </where>
-    </update>
-    <update id="updateUnFillTaskInsCount">
-        update ${busiNo}_fill_task_ins fill
-        set fill.un_fill_task_ins_count =
-        (
-        select count(1) from ${busiNo}_fill_task_child_ins ins
-        where ins.task_ins_id = fill.task_ins_id
-        and ins.task_sts in ('2','3', '6')
-        )
-        <where>
-            fill.task_ins_id in (
-            <foreach collection="list" separator="," item="id">
-                #{id}
-            </foreach>
-            )
-        </where>
-    </update>
-
-    <update id="updateSubmitInsCount">
-        update ${busiNo}_fill_task_ins fill
-        set fill.submit_task_ins_count =
-        (
-        select count(1) from ${busiNo}_fill_task_child_ins ins
-        where ins.task_ins_id = fill.task_ins_id
-        and ins.task_sts = '9'
-        )
-        <where>
-            fill.task_ins_id in (
-            <foreach collection="list" separator="," item="id">
-                #{id}
-            </foreach>
-            )
-        </where>
-    </update>
-</mapper>

+ 16 - 2
server/yusp-tagging-core/src/main/resources/mapper/TabAppMapper.xml

@@ -16,7 +16,7 @@
             state
         FROM tab_app
         ORDER BY create_time DESC
-            LIMIT #{offset}, #{limit}
+            LIMIT #{limit} OFFSET #{offset}
     </select>
 
     <!-- 2. 按应用名称查重(用于新增前校验) -->
@@ -42,7 +42,7 @@
                      #{appName},
                      #{appId},
                      #{appSecret},
-                     #{createTime},
+                     #{createTime, jdbcType=TIMESTAMP},
                      #{createrNm},
                      #{createrId},
                      #{state}
@@ -82,5 +82,19 @@
         SELECT COUNT(*)
         FROM tab_app
     </select>
+<!--    9.模糊查询-->
+    <select id="selectByAppNameLike" parameterType="string" resultType="cn.com.yusys.yusp.domain.entity.TabApp">
+        SELECT
+            id,
+            app_name,
+            app_id,
+            app_secret,
+            create_time,
+            creater_nm,
+            creater_id,
+            state
+        FROM tab_app
+        WHERE app_name LIKE CONCAT('%', #{appName}, '%')
+    </select>
 
 </mapper>

+ 30 - 0
server/yusp-tagging-starter/Dockerfile

@@ -0,0 +1,30 @@
+FROM openjdk:8-jdk
+
+# 设置维护者
+LABEL maintainer=shaofan1
+
+# 设置环境变量
+ENV PARAMS="--server.port=30001"
+ENV TZ=Asia/Shanghai
+ENV LOGGING_LEVEL_ROOT=INFO
+
+# 设置时区和语言
+RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
+
+# 创建应用目录
+WORKDIR /app
+
+# 创建日志目录
+RUN mkdir -p /app/logs
+
+# 复制打包好的jar文件
+COPY yusp-app-detail.jar app.jar
+
+# 暴露端口
+EXPOSE 30001
+
+# 挂载日志目录,方便宿主机访问和管理
+VOLUME ["/app/logs"]
+
+# 添加lib目录到类路径,确保core.jar被加载,启动应用,支持参数传递和语言设置
+ENTRYPOINT ["/bin/sh","-c","java -Duser.language=zh -Duser.region=CN -jar app.jar ${PARAMS}"]

+ 5 - 1
server/yusp-tagging-starter/pom.xml

@@ -123,7 +123,11 @@
             <artifactId>mysql-connector-java</artifactId>
             <version>8.0.33</version> <!-- 使用最新稳定版本 -->
         </dependency>
-
+        <!-- PostgreSQL 的 JDBC 驱动-->
+        <dependency>
+            <groupId>org.postgresql</groupId>
+            <artifactId>postgresql</artifactId>
+        </dependency>
         <!-- HikariCP -->
         <dependency>
             <groupId>com.zaxxer</groupId>

+ 9 - 8
server/yusp-tagging-starter/src/main/resources/application.yml

@@ -23,15 +23,16 @@ spring:
         INDENT_OUTPUT: true #是否格式化输出
       default-property-inclusion: non_null #null不进行序列化
   datasource:
-    driver-class-name: com.mysql.cj.jdbc.Driver #mysql数据库连接驱动
-    type: com.zaxxer.hikari.HikariDataSource #数据库连接池类型
-    url: jdbc:mysql://10.192.72.13:6780/fjnx?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8&allowMultiQueries=true&useSSL=false #数据库地址
-    username: root #数据库用户名
-    password: 123456 #数据库密码(密文)
+    driver-class-name: org.postgresql.Driver # PostgreSQL数据库连接驱动
+    type: com.zaxxer.hikari.HikariDataSource # 数据库连接池类型
+    url: jdbc:postgresql://10.192.72.13:5656/fjnx?currentSchema=ai_tag # PostgreSQL数据库地址及schema
+    username: ai_tag # 数据库用户名
+    password: 3edc$RFV # 数据库密码
     hikari:
-      minimum-idle: 1 #空闲时最小连接数
-      maximum-pool-size: 20 #连接池大小
-      connection-test-query: select 1 #连接池验证
+      minimum-idle: 1 # 空闲时最小连接数
+      maximum-pool-size: 20 # 连接池大小
+      connection-test-query: SELECT 1 # 连接池验证查询
+
 
 license:
   licenseContext: <?xml version="1.0" encoding="UTF-8"?><license build-time="Fri

+ 1 - 1
server/yusp-tagging-starter/src/main/resources/bootstrap.yml

@@ -22,4 +22,4 @@ spring:
 
 
 server:
-  port: 8080
+  port: 30001