Эх сурвалжийг харах

feat: add house relation pagination and house relation verify

eric 2 жил өмнө
parent
commit
dff0668c38

+ 4 - 0
src/main/java/com/finikes/oc/base/controller/PassportController.java

@@ -4,6 +4,7 @@ import com.finikes.oc.BaseDTO;
 import com.finikes.oc.BizException;
 import com.finikes.oc.Passports;
 import com.finikes.oc.base.dao.PassportDAO;
+import com.finikes.oc.base.dto.PageResponse;
 import com.finikes.oc.base.dto.PassportHouseInfoResponseDTO;
 import com.finikes.oc.base.dto.RegisterResponseDTO;
 import com.finikes.oc.base.entity.Passport;
@@ -11,8 +12,11 @@ import com.finikes.oc.estate.dao.EstateUnitDAO;
 import com.finikes.oc.estate.dao.HouseDAO;
 import com.finikes.oc.estate.entity.EstateUnit;
 import com.finikes.oc.estate.entity.House;
+import com.finikes.oc.management.HouseRelationViewDto;
 import com.finikes.oc.management.dao.HouseRelationDAO;
 import com.finikes.oc.management.entity.HouseRelation;
+import com.github.pagehelper.Page;
+import com.github.pagehelper.PageHelper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.*;

+ 52 - 0
src/main/java/com/finikes/oc/estate/controller/HouseRelationController.java

@@ -0,0 +1,52 @@
+package com.finikes.oc.estate.controller;
+
+import com.finikes.oc.BaseDTO;
+import com.finikes.oc.base.dto.PageResponse;
+import com.finikes.oc.management.HouseRelationVerifyDto;
+import com.finikes.oc.management.HouseRelationViewDto;
+import com.finikes.oc.management.dao.HouseRelationDAO;
+import com.github.pagehelper.Page;
+import com.github.pagehelper.PageHelper;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+import java.util.List;
+
+@RestController
+public class HouseRelationController {
+
+    private final HouseRelationDAO houseRelationDAO;
+
+    public HouseRelationController(HouseRelationDAO houseRelationDAO) {
+        this.houseRelationDAO = houseRelationDAO;
+    }
+
+    /**
+     * 房产关系列表
+     * @param pageNum 页码
+     * @param pageCapacity 页容量
+     * @param state 状态
+     * @return
+     */
+    @GetMapping("houseRelations")
+    public BaseDTO houseRelations(@RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
+                                  @RequestParam(name = "pageCapacity", defaultValue = "10") Integer pageCapacity,
+                                  @RequestParam(name = "state") Integer state) {
+        try (Page<HouseRelationViewDto> page = PageHelper.startPage(pageNum, pageCapacity)) {
+            List<HouseRelationViewDto> viewDtos = houseRelationDAO.selectByState(state);
+            PageResponse<HouseRelationViewDto> pageResponse = new PageResponse<>();
+            pageResponse.setPageQuantity(page.getPageNum());
+            pageResponse.setList(viewDtos);
+            BaseDTO baseDTO = new BaseDTO();
+            baseDTO.setContent(pageResponse);
+            return baseDTO;
+        }
+    }
+
+    @PutMapping("houseRelation/verify")
+    public BaseDTO verify(@RequestBody @Valid HouseRelationVerifyDto dto) {
+        houseRelationDAO.updateState(String.valueOf(dto.getPassportId()), String.valueOf(dto.getHouseId()), dto.getState());
+        return new BaseDTO();
+    }
+
+}

+ 1 - 0
src/main/java/com/finikes/oc/estate/dao/HouseDAO.java

@@ -1,6 +1,7 @@
 package com.finikes.oc.estate.dao;
 
 import com.finikes.oc.estate.entity.House;
+import com.finikes.oc.management.HouseRelationViewDto;
 import org.apache.ibatis.annotations.Mapper;
 
 import java.util.List;

+ 49 - 0
src/main/java/com/finikes/oc/management/HouseRelationVerifyDto.java

@@ -0,0 +1,49 @@
+package com.finikes.oc.management;
+
+import javax.validation.constraints.Max;
+import javax.validation.constraints.Min;
+import javax.validation.constraints.NotNull;
+
+public class HouseRelationVerifyDto {
+    @NotNull
+    private Integer passportId;
+    @NotNull
+    private Integer houseId;
+    @Min(1)
+    @Max(2)
+    @NotNull
+    private Integer state;
+
+    @Override
+    public String toString() {
+        return "HouseRelationVerifyDto{" +
+                "passportId=" + passportId +
+                ", houseId=" + houseId +
+                ", state=" + state +
+                '}';
+    }
+
+    public Integer getPassportId() {
+        return passportId;
+    }
+
+    public void setPassportId(Integer passportId) {
+        this.passportId = passportId;
+    }
+
+    public Integer getHouseId() {
+        return houseId;
+    }
+
+    public void setHouseId(Integer houseId) {
+        this.houseId = houseId;
+    }
+
+    public Integer getState() {
+        return state;
+    }
+
+    public void setState(Integer state) {
+        this.state = state;
+    }
+}

+ 74 - 0
src/main/java/com/finikes/oc/management/HouseRelationViewDto.java

@@ -0,0 +1,74 @@
+package com.finikes.oc.management;
+
+public class HouseRelationViewDto {
+    private Integer passportId;
+    private Integer houseId;
+
+    private Integer state;
+
+    private String certificateNo;
+
+    private String certificateUrl;
+
+    private String realName;
+
+    @Override
+    public String toString() {
+        return "HouseRelationViewDto{" +
+                "passportId=" + passportId +
+                ", houseId=" + houseId +
+                ", state=" + state +
+                ", certificateNo='" + certificateNo + '\'' +
+                ", certificateUrl='" + certificateUrl + '\'' +
+                ", realName='" + realName + '\'' +
+                '}';
+    }
+
+    public Integer getPassportId() {
+        return passportId;
+    }
+
+    public void setPassportId(Integer passportId) {
+        this.passportId = passportId;
+    }
+
+    public Integer getHouseId() {
+        return houseId;
+    }
+
+    public void setHouseId(Integer houseId) {
+        this.houseId = houseId;
+    }
+
+    public Integer getState() {
+        return state;
+    }
+
+    public void setState(Integer state) {
+        this.state = state;
+    }
+
+    public String getCertificateNo() {
+        return certificateNo;
+    }
+
+    public void setCertificateNo(String certificateNo) {
+        this.certificateNo = certificateNo;
+    }
+
+    public String getCertificateUrl() {
+        return certificateUrl;
+    }
+
+    public void setCertificateUrl(String certificateUrl) {
+        this.certificateUrl = certificateUrl;
+    }
+
+    public String getRealName() {
+        return realName;
+    }
+
+    public void setRealName(String realName) {
+        this.realName = realName;
+    }
+}

+ 5 - 0
src/main/java/com/finikes/oc/management/dao/HouseRelationDAO.java

@@ -1,9 +1,12 @@
 package com.finikes.oc.management.dao;
 
+import com.finikes.oc.management.HouseRelationViewDto;
 import com.finikes.oc.management.entity.HouseRelation;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 @Mapper
 public interface HouseRelationDAO {
     HouseRelation findByPassportAndHouse(@Param("id") int id, @Param("houseId") String houseId);
@@ -15,4 +18,6 @@ public interface HouseRelationDAO {
     void insert(HouseRelation relation);
 
     void updateState(@Param("passportId") String passportId, @Param("houseId") String houseId, @Param("state") int state);
+
+    List<HouseRelationViewDto> selectByState(@Param("state") Integer state);
 }

+ 9 - 0
src/main/resources/mapper/HouseRelationMapper.xml

@@ -33,4 +33,13 @@
         SET state      = #{state}
         WHERE passportId = #{passportId} AND houseId = #{houseId}
     </update>
+
+    <select id="selectByState" resultType="com.finikes.oc.management.HouseRelationViewDto">
+        SELECT passportId,
+        houseId,
+        state,
+        certificateNo,
+        certificateUrl
+        FROM t_house_relation WHERE state = #{state}
+    </select>
 </mapper>