Parcourir la source

国有建设用地使用权及房屋所有权登记代码结构

gushoubang il y a 2 mois
Parent
commit
7e02c7f8c4

+ 61 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/controller/GyjsydjfwscdjController.java

@@ -0,0 +1,61 @@
+package com.siwei.apply.controller;
+
+import com.siwei.apply.domain.Gyjsydjfwscdj;
+import com.siwei.apply.service.GyjsydjfwscdjService;
+import com.siwei.common.core.domain.R;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 国有建设用地使用权及房屋所有权首次登记 控制器
+ */
+@RestController
+@RequestMapping("/gyjsydjfwscdj")
+public class GyjsydjfwscdjController {
+    @Autowired
+    private GyjsydjfwscdjService gyjsydjfwscdjService;
+
+    /**
+     * 添加登记信息
+     */
+    @PostMapping()
+    public R<Map> add(@RequestBody Gyjsydjfwscdj gyjsydjfwscdj) {
+        try {
+            String id = gyjsydjfwscdjService.add(gyjsydjfwscdj);
+            Map<String, String> map = new HashMap<>();
+            map.put("id", id);
+            return R.ok(map);
+        } catch (Exception e) {
+            return R.fail(e.getMessage());
+        }
+    }
+
+    /**
+     * 根据 ID 获取登记信息
+     */
+    @GetMapping("/{id}")
+    public R<Gyjsydjfwscdj> get(@PathVariable("id") String id) {
+        try {
+            Gyjsydjfwscdj gyjsydjfwscdj = gyjsydjfwscdjService.get(id);
+            return R.ok(gyjsydjfwscdj);
+        } catch (Exception e) {
+            return R.fail(e.getMessage());
+        }
+    }
+
+    /**
+     * 更新登记信息
+     */
+    @PutMapping()
+    public R<Void> update(@RequestBody Gyjsydjfwscdj gyjsydjfwscdj) {
+        try {
+            gyjsydjfwscdjService.update(gyjsydjfwscdj);
+            return R.ok();
+        } catch (Exception e) {
+            return R.fail(e.getMessage());
+        }
+    }
+}

+ 41 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/domain/Gyjsydjfwscdj.java

@@ -0,0 +1,41 @@
+package com.siwei.apply.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.Map;
+import java.util.UUID;
+
+/**
+ * 国有建设用地使用权及房屋所有权首次登记对象 t_gyjsydjfwscdj
+ */
+@Data
+public class Gyjsydjfwscdj {
+    private String id;
+    private String projectId;      // 项目ID
+    private String qlr;            // 权利人
+    private String gyqk;           // 共有情况
+    private String zl;             // 坐落
+    private String qllx;           // 权利类型
+    private String qlxz;           // 权利性质
+    private String tdyt;           // 土地用途
+    private String area;           // 面积
+    private String bdcdyh;         // 不动产单元号
+    private String bdcdjh;         // 不动产登记号
+    private String djjg;           // 登记结构
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date djDate;           // 登记日期
+    private Map<String, Object> attachment;     // 附件
+    private Boolean hasOnchain;    // 是否上链
+    private String creatorId;      // 创建人ID
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createdAt;        // 创建时间
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updatedAt;        // 更新时间
+
+    public void generateId() {
+        this.id = UUID.randomUUID().toString();
+    }
+}

+ 28 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/mapper/GyjsydjfwscdjMapper.java

@@ -0,0 +1,28 @@
+package com.siwei.apply.mapper;
+
+import com.siwei.apply.domain.Gyjsydjfwscdj;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+@Mapper
+public interface GyjsydjfwscdjMapper {
+
+    /**
+     * 添加记录
+     * @param gyjsydjfwscdj 实体
+     */
+    void add(Gyjsydjfwscdj gyjsydjfwscdj);
+
+    /**
+     * 根据ID获取记录
+     * @param id 主键ID
+     * @return Gyjsydjfwscdj 对象
+     */
+    Gyjsydjfwscdj get(@Param("id") String id);
+
+    /**
+     * 更新记录
+     * @param gyjsydjfwscdj 实体
+     */
+    void update(Gyjsydjfwscdj gyjsydjfwscdj);
+}

+ 32 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/service/GyjsydjfwscdjService.java

@@ -0,0 +1,32 @@
+package com.siwei.apply.service;
+
+import com.siwei.apply.domain.Gyjsydjfwscdj;
+
+/**
+ * 国有建设用地使用权及房屋所有权首次登记 服务接口
+ */
+public interface GyjsydjfwscdjService {
+    /**
+     * 添加一条登记记录
+     *
+     * @param gyjsydjfwscdj Gyjsydjfwscdj 对象
+     * @return 插入是否成功
+     */
+    String add(Gyjsydjfwscdj gyjsydjfwscdj);
+
+    /**
+     * 根据 ID 获取登记信息
+     *
+     * @param id 主键
+     * @return Gyjsydjfwscdj 对象
+     */
+    Gyjsydjfwscdj get(String id);
+
+    /**
+     * 更新登记信息
+     *
+     * @param gyjsydjfwscdj Gyjsydjfwscdj 对象
+     * @return 更新是否成功
+     */
+    void update(Gyjsydjfwscdj gyjsydjfwscdj);
+}

+ 36 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/service/impl/GyjsydjfwscdjImpl.java

@@ -0,0 +1,36 @@
+package com.siwei.apply.service.impl;
+
+import com.siwei.apply.domain.Gyjsydjfwscdj;
+import com.siwei.apply.mapper.GyjsydjfwscdjMapper;
+import com.siwei.apply.service.GyjsydjfwscdjService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import static com.siwei.apply.common.Common.UserId;
+
+/**
+ * 国有建设用地使用权及房屋所有权首次登记 服务实现类
+ */
+@Service
+public class GyjsydjfwscdjImpl implements GyjsydjfwscdjService {
+    @Autowired
+    private GyjsydjfwscdjMapper gyjsydjfwscdjMapper;
+
+    @Override
+    public String add(Gyjsydjfwscdj gyjsydjfwscdj) {
+        gyjsydjfwscdj.generateId();
+        gyjsydjfwscdj.setCreatorId(UserId);
+        gyjsydjfwscdjMapper.add(gyjsydjfwscdj);
+        return gyjsydjfwscdj.getId();
+    }
+
+    @Override
+    public Gyjsydjfwscdj get(String id) {
+        return gyjsydjfwscdjMapper.get(id);
+    }
+
+    @Override
+    public void update(Gyjsydjfwscdj gyjsydjfwscdj) {
+        gyjsydjfwscdjMapper.update(gyjsydjfwscdj);
+    }
+}

+ 72 - 0
siwei-modules/siwei-apply/src/main/resources/mapper/GyjsydjfwscdjMapper.xml

@@ -0,0 +1,72 @@
+<?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.siwei.apply.mapper.GyjsydjfwscdjMapper">
+
+    <resultMap id="BaseResultMap" type="com.siwei.apply.domain.Gyjsydjfwscdj">
+        <id property="id" column="id"/>
+        <result property="projectId" column="project_id"/>
+        <result property="qlr" column="qlr"/>
+        <result property="gyqk" column="gyqk"/>
+        <result property="zl" column="zl"/>
+        <result property="qllx" column="qllx"/>
+        <result property="qlxz" column="qlxz"/>
+        <result property="tdyt" column="tdyt"/>
+        <result property="area" column="area"/>
+        <result property="bdcdyh" column="bdcdyh"/>
+        <result property="bdcdjh" column="bdcdjh"/>
+        <result property="djjg" column="djjg"/>
+        <result property="djDate" column="dj_date"/>
+        <result property="attachment" column="attachment" typeHandler="com.siwei.apply.handler.JsonbTypeHandler"/>
+        <result property="hasOnchain" column="has_onchain"/>
+        <result property="creatorId" column="creator_id"/>
+        <result property="createdAt" column="created_at"/>
+        <result property="updatedAt" column="updated_at"/>
+    </resultMap>
+
+    <!-- 添加记录 -->
+    <insert id="add" parameterType="com.siwei.apply.domain.Gyjsydjfwscdj">
+        INSERT INTO t_gyjsydjfwscdj (id, project_id, qlr, gyqk, zl,
+                                     qllx, qlxz, tdyt, area, bdcdyh,
+                                     bdcdjh, djjg, dj_date, has_onchain, creator_id,
+                                     created_at, updated_at)
+        VALUES (#{id}, #{projectId}, #{qlr}, #{gyqk}, #{zl},
+                #{qllx}, #{qlxz}, #{tdyt}, #{area}, #{bdcdyh},
+                #{bdcdjh}, #{djjg}, #{djDate}, false, #{creatorId},
+                now(), now())
+    </insert>
+
+    <!-- 根据ID获取记录 -->
+    <select id="get" resultMap="BaseResultMap" parameterType="String">
+        SELECT *
+        FROM t_gyjsydjfwscdj
+        WHERE id = #{id}
+    </select>
+
+    <!-- 根据ID更新记录 -->
+    <update id="update" parameterType="com.siwei.apply.domain.Gyjsydjfwscdj">
+        UPDATE t_gyjsydjfwscdj
+        <set>
+            <if test="projectId != null">project_id = #{projectId},</if>
+            <if test="qlr != null">qlr = #{qlr},</if>
+            <if test="gyqk != null">gyqk = #{gyqk},</if>
+            <if test="zl != null">zl = #{zl},</if>
+            <if test="qllx != null">qllx = #{qllx},</if>
+            <if test="qlxz != null">qlxz = #{qlxz},</if>
+            <if test="tdyt != null">tdyt = #{tdyt},</if>
+            <if test="area != null">area = #{area},</if>
+            <if test="bdcdyh != null">bdcdyh = #{bdcdyh},</if>
+            <if test="bdcdjh != null">bdcdjh = #{bdcdjh},</if>
+            <if test="djjg != null">djjg = #{djjg},</if>
+            <if test="djDate != null">dj_date = #{djDate},</if>
+            <if test="attachment != null">attachment = #{attachment},</if>
+            <if test="hasOnchain != null">has_onchain = #{hasOnchain},</if>
+            <if test="creatorId != null">creator_id = #{creatorId},</if>
+            updated_at= now()
+        </set>
+        WHERE id = #{id}
+    </update>
+
+</mapper>

+ 58 - 0
siwei-modules/siwei-apply/src/test/java/com/siwei/apply/GyjsydjfwscdjTest.java

@@ -0,0 +1,58 @@
+package com.siwei.apply;
+
+import com.siwei.apply.domain.Gyjsydjfwscdj;
+import com.siwei.apply.service.GyjsydjfwscdjService;
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 国有建设用地使用权及房屋所有权首次登记测试类
+ */
+@SpringBootTest
+public class GyjsydjfwscdjTest {
+
+    @Autowired
+    private GyjsydjfwscdjService gyjsydjfwscdjService;
+
+    @Test
+    public void testAdd() {
+        Gyjsydjfwscdj gyjsydjfwscdj = new Gyjsydjfwscdj();
+        gyjsydjfwscdj.setProjectId("test-project-001");
+        gyjsydjfwscdj.setQlr("张三");
+        gyjsydjfwscdj.setGyqk("单独所有");
+        gyjsydjfwscdj.setZl("北京市朝阳区某某街道");
+        gyjsydjfwscdj.setQllx("国有建设用地使用权");
+        gyjsydjfwscdj.setQlxz("出让");
+        gyjsydjfwscdj.setTdyt("住宅用地");
+        gyjsydjfwscdj.setArea("100.50");
+        gyjsydjfwscdj.setBdcdyh("110105001001GB00001F00010001");
+        gyjsydjfwscdj.setBdcdjh("京(2024)朝阳区不动产权第0000001号");
+        gyjsydjfwscdj.setDjjg("朝阳区不动产登记中心");
+        gyjsydjfwscdj.setDjDate(new Date());
+        
+        // 设置附件信息
+        Map<String, Object> attachment = new HashMap<>();
+        attachment.put("files", new String[]{"file1.pdf", "file2.jpg"});
+        attachment.put("description", "相关证明文件");
+        gyjsydjfwscdj.setAttachment(attachment);
+        
+        gyjsydjfwscdj.setHasOnchain(false);
+
+        String id = gyjsydjfwscdjService.add(gyjsydjfwscdj);
+        System.out.println("添加成功,返回ID: " + id);
+
+        // 测试查询
+        Gyjsydjfwscdj result = gyjsydjfwscdjService.get(id);
+        System.out.println("查询结果: " + result);
+
+        // 测试更新 (update方法无返回值)
+        result.setQlr("李四");
+        gyjsydjfwscdjService.update(result);
+        System.out.println("更新完成");
+    }
+}