gushoubang il y a 2 mois
Parent
commit
e2246f039b

+ 4 - 4
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/controller/ProjectController.java

@@ -43,14 +43,14 @@ public class ProjectController extends BaseController {
     /**
      * 获取项目
      *
-     * @param projectId
+     * @param id
      * @return
      */
-    @GetMapping("/{projectId}")
-    public R<Map> GetProject(@PathVariable String projectId) {
+    @GetMapping("/{id}")
+    public R<Map> GetProject(@PathVariable String id) {
         try {
             Map<String, Object> map = new HashMap<>();
-            Project project = projectService.getProject(projectId);
+            Project project = projectService.getProject(id);
             map.put("project", project);
             return R.ok(map);
         } catch (Exception e) {

+ 16 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/controller/YdysyxzController.java

@@ -32,4 +32,20 @@ public class YdysyxzController extends BaseController {
             return R.fail(e.getMessage());
         }
     }
+    /**
+     * 获取用地预审与选址信息
+     *
+     * @param id 项目ID
+     * @return 用地预审与选址信息
+     */
+    @GetMapping("/{id}")
+    public R<Map> GetYdysyxz(@PathVariable String id) {
+        try {
+            Map<String, Object> map = new HashMap<>();
+            map.put("ydysyxz", ydysyxzService.getYdysyxz(id));
+            return R.ok(map);
+        } catch (Exception e) {
+            return R.fail(e.getMessage());
+        }
+    }
 }

+ 45 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/handler/JsonbTypeHandler.java

@@ -0,0 +1,45 @@
+package com.siwei.apply.handler;
+
+import com.siwei.apply.utils.JsonUtil;
+import org.apache.ibatis.type.BaseTypeHandler;
+import org.apache.ibatis.type.JdbcType;
+import org.apache.ibatis.type.MappedJdbcTypes;
+import org.apache.ibatis.type.MappedTypes;
+import org.postgresql.util.PGobject;
+
+import java.sql.CallableStatement;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.Map;
+
+@MappedTypes(Map.class)
+@MappedJdbcTypes(JdbcType.OTHER)
+public class JsonbTypeHandler extends BaseTypeHandler<Map<String, Object>> {
+
+    @Override
+    public void setNonNullParameter(PreparedStatement ps, int i, Map<String, Object> parameter, JdbcType jdbcType) throws SQLException {
+        PGobject pgObject = new PGobject();
+        pgObject.setType("jsonb");
+        pgObject.setValue(JsonUtil.toJson(parameter)); // 使用 JsonUtil 转 JSON 字符串
+        ps.setObject(i, pgObject);
+    }
+
+    @Override
+    public Map<String, Object> getNullableResult(ResultSet rs, String columnName) throws SQLException {
+        String json = rs.getString(columnName);
+        return json == null ? null : JsonUtil.fromJson(json); // 使用 JsonUtil 解析 JSON
+    }
+
+    @Override
+    public Map<String, Object> getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
+        String json = rs.getString(columnIndex);
+        return json == null ? null : JsonUtil.fromJson(json);
+    }
+
+    @Override
+    public Map<String, Object> getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
+        String json = cs.getString(columnIndex);
+        return json == null ? null : JsonUtil.fromJson(json);
+    }
+}

+ 3 - 2
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/mapper/YdysyxzMapper.java

@@ -1,6 +1,7 @@
 package com.siwei.apply.mapper;
 
 import com.siwei.apply.domain.Ydysyxz;
+import com.siwei.apply.domain.vo.YdysyxzUpdateVo;
 import org.apache.ibatis.annotations.Mapper;
 
 /**
@@ -26,7 +27,7 @@ public interface YdysyxzMapper {
     /**
      * 更新用地预审与选址信息
      *
-     * @param ydysyxz
+     * @param ydysyxzUpdateVo
      */
-    void updateYdysyxz(Ydysyxz ydysyxz);
+    void updateYdysyxz(YdysyxzUpdateVo ydysyxzUpdateVo);
 }

+ 3 - 2
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/service/impl/YdysyxzImpl.java

@@ -31,11 +31,12 @@ public class YdysyxzImpl implements YdysyxzService {
 
     @Override
     public Ydysyxz getYdysyxz(String projectId) {
-        return null;
+        Ydysyxz ydysyxz = ydysyxzMapper.getYdysyxz(projectId);
+        return ydysyxz;
     }
 
     @Override
     public void updateYdysyxz(YdysyxzUpdateVo ydysyxzUpdateVo) {
-
+        ydysyxzMapper.updateYdysyxz(ydysyxzUpdateVo);
     }
 }

+ 33 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/utils/JsonUtil.java

@@ -0,0 +1,33 @@
+package com.siwei.apply.utils;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import java.util.Map;
+
+public class JsonUtil {
+    private static final ObjectMapper objectMapper = new ObjectMapper();
+
+    /**
+     * 将对象序列化为 JSON 字符串
+     */
+    public static String toJson(Object obj) {
+        try {
+            return objectMapper.writeValueAsString(obj);
+        } catch (JsonProcessingException e) {
+            throw new RuntimeException("JSON 序列化失败", e);
+        }
+    }
+
+    /**
+     * 将 JSON 字符串反序列化为 Map
+     */
+    public static Map<String, Object> fromJson(String json) {
+        try {
+            return objectMapper.readValue(json, new TypeReference<Map<String, Object>>() {});
+        } catch (JsonProcessingException e) {
+            throw new RuntimeException("JSON 反序列化失败", e);
+        }
+    }
+}

+ 4 - 3
siwei-modules/siwei-apply/src/main/resources/mapper/YdysyxzMapper.xml

@@ -13,7 +13,7 @@
         <result property="xmjsyj" column="xmjsyj"/>
         <result property="zzwh" column="zzwh"/>
         <result property="fzDate" column="fz_date"/>
-        <result property="attachment" column="attachment" jdbcType="OTHER" javaType="java.util.Map"/>
+        <result property="attachment" column="attachment" typeHandler="com.siwei.apply.handler.JsonbTypeHandler" />
         <result property="hasOnchain" column="has_onchain"/>
         <result property="createAt" column="create_at"/>
         <result property="updateAt" column="update_at"/>
@@ -24,7 +24,7 @@
                                xmjsyj, zzwh, fz_date, has_onchain,create_at, update_at, creator_id)
         VALUES (#{id}, #{projectId}, #{jsyj}, #{jsdd}, #{area}, #{hasZz},
                 #{xmjsyj}, #{zzwh}, #{fzDate},
-                #{hasOnchain}), now(), now(), #{creatorId})
+                #{hasOnchain}, now(), now(), #{creatorId})
     </insert>
     <select id="getYdysyxz" resultMap="resMap">
         SELECT *
@@ -34,6 +34,7 @@
     <update id="updateYdysyxz" parameterType="com.siwei.apply.domain.vo.YdysyxzUpdateVo">
         UPDATE t_ydysyxz
         SET jsyj        = #{jsyj},
+            project_id  = #{projectId},
             jsdd        = #{jsdd},
             area        = #{area},
             has_zz      = #{hasZz},
@@ -42,6 +43,6 @@
             fz_date     = #{fzDate},
             has_onchain = #{hasOnchain},
             update_at   = now()
-        WHERE project_id = #{projectId}
+        WHERE id = #{id}
     </update>
 </mapper>