From 179c4d64313c9b7572778da4aaaf6c6584fe457d Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期二, 20 五月 2025 23:48:08 +0800
Subject: [PATCH] 修改文件上传类型限制

---
 springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/RentingHousesApi.java |  210 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 210 insertions(+), 0 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/RentingHousesApi.java b/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/RentingHousesApi.java
new file mode 100644
index 0000000..7c4fa04
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/RentingHousesApi.java
@@ -0,0 +1,210 @@
+package com.panzhihua.applets.api;
+
+import java.util.Objects;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.panzhihua.common.controller.BaseController;
+import com.panzhihua.common.exceptions.ServiceException;
+import com.panzhihua.common.model.dtos.community.rentingHouses.NearbyDTO;
+import com.panzhihua.common.model.dtos.community.rentingHouses.PageRentingHouseRegisterDTO;
+import com.panzhihua.common.model.dtos.community.rentingHouses.ReleaseOrCancelHouseDTO;
+import com.panzhihua.common.model.dtos.community.rentingHouses.RentingHouseRegisterDTO;
+import com.panzhihua.common.model.vos.LoginUserInfoVO;
+import com.panzhihua.common.model.vos.R;
+import com.panzhihua.common.model.vos.community.rentingHouses.RentingHouseRegisterVO;
+import com.panzhihua.common.model.vos.community.rentingHouses.RentingHousesConfigVO;
+import com.panzhihua.common.service.community.CommunityService;
+import com.panzhihua.common.service.user.UserService;
+import com.panzhihua.common.utlis.TencentUtils;
+import com.panzhihua.common.validated.AddGroup;
+import com.panzhihua.common.validated.PutGroup;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+
+/**
+ * @title: RentingHousesApi
+ * @projectName: 成都呐喊信息技术有限公司-智慧社区项目
+ * @description: 房屋租赁相关接口
+ * @author: hans
+ * @date: 2021/11/24 10:18
+ */
+@RestController
+@Slf4j
+@Api(tags = {"房屋租赁相关接口"})
+@RequestMapping("/renting/houses")
+public class RentingHousesApi extends BaseController {
+
+    private static final int NOT_COMMUNITY_WORKER = 2;
+
+    @Resource
+    private CommunityService communityService;
+    @Resource
+    private UserService userService;
+
+    @ApiOperation("新增房源信息")
+    @PostMapping("/register")
+    public R registerRentingHouse(@RequestBody @Validated(AddGroup.class) RentingHouseRegisterDTO registerDTO) {
+        LoginUserInfoVO loginUserInfo = getLoginUserInfo();
+        checkIsCommunityWorker(loginUserInfo);
+        registerDTO.setUserId(loginUserInfo.getUserId());
+        registerDTO.setCommunityId(loginUserInfo.getCommunityId());
+        return communityService.registerRentingHouse(registerDTO);
+    }
+
+    @ApiOperation("编辑房源信息")
+    @PostMapping("/update")
+    public R updateRentingHouse(@RequestBody @Validated(PutGroup.class) RentingHouseRegisterDTO registerDTO) {
+        LoginUserInfoVO loginUserInfo = getLoginUserInfo();
+        checkIsCommunityWorker(loginUserInfo);
+        registerDTO.setUserId(loginUserInfo.getUserId());
+        registerDTO.setCommunityId(loginUserInfo.getCommunityId());
+        return communityService.updateRentingHouse(registerDTO);
+    }
+
+    @ApiOperation(value = "工作人员-分页获取房源信息", response = RentingHouseRegisterVO.class)
+    @PostMapping("/pageAdmin")
+    public R pageRentingHouse(@RequestBody @Valid PageRentingHouseRegisterDTO pageRegisterDTO) {
+        LoginUserInfoVO loginUserInfo = getLoginUserInfo();
+        pageRegisterDTO.setCommunityId(loginUserInfo.getCommunityId());
+        return communityService.pageRentingHouse(pageRegisterDTO);
+    }
+
+    @ApiOperation("发布/取消发布 房源信息")
+    @PutMapping("/releaseOrCancel")
+    public R releaseOrCancelHouse(@RequestBody @Valid ReleaseOrCancelHouseDTO releaseOrCancelHouseDTO) {
+        LoginUserInfoVO loginUserInfo = getLoginUserInfo();
+        checkIsCommunityWorker(loginUserInfo);
+        return communityService.releaseOrCancelHouse(releaseOrCancelHouseDTO);
+    }
+
+    @ApiOperation(value = "获取详情-房源信息", response = RentingHouseRegisterVO.class)
+    @GetMapping("/get")
+    @ApiImplicitParam(name = "registerId", value = "房源登记id", required = true)
+    public R getRentingHouse(@RequestParam("registerId") Long registerId) {
+        LoginUserInfoVO loginUserInfoSureNoLogin = getLoginUserInfoSureNoLogin();
+        Integer isLandlord = 2;
+        R rentingHouseR = communityService.getRentingHouse(registerId);
+        if (R.isOk(rentingHouseR)) {
+            RentingHouseRegisterVO houseRegisterVO = JSONObject.parseObject(JSONObject.toJSONString(rentingHouseR.getData()), RentingHouseRegisterVO.class);
+            if (Objects.nonNull(loginUserInfoSureNoLogin)) {
+                String userId = loginUserInfoSureNoLogin.getUserId().toString();
+                R<LoginUserInfoVO> infoVOR = userService.getUserInfoByUserId(userId);
+                if (R.isOk(infoVOR)) {
+                    LoginUserInfoVO loginUserInfoVO = JSONObject.parseObject(JSONObject.toJSONString(infoVOR.getData()), LoginUserInfoVO.class);
+                    if (houseRegisterVO.getHourseIdCard().equals(loginUserInfoVO.getIdCard())) {
+                        isLandlord = 1;
+                    }
+                }
+            }
+            houseRegisterVO.setIsLandlord(isLandlord);
+            return R.ok(houseRegisterVO);
+        }
+        return rentingHouseR;
+    }
+    @ApiOperation("房源认证获取eidToken")
+    @GetMapping("/getEidToken")
+    public R getEidToken(@RequestParam("registerId") Long registerId){
+        R r=communityService.getRentingHouse(registerId);
+        if(R.isOk(r)){
+            RentingHouseRegisterVO registerVO=JSONObject.parseObject(JSONObject.toJSONString(r.getData()),RentingHouseRegisterVO.class);
+            String result=TencentUtils.getEidToken(registerVO.getHourseOwnerName(),registerVO.getHourseIdCard());
+            return R.ok(result);
+        }
+        return R.fail();
+    }
+    @ApiOperation("房源认证")
+    @GetMapping("/auth")
+    public R authHouse(@RequestParam("registerId") Long registerId,@RequestParam("result")String result){
+        R r=communityService.getRentingHouse(registerId);
+        if(R.isOk(r)){
+            String response=TencentUtils.getEidResult(result);
+            JSONObject object = JSON.parseObject(response);
+            if (object == null) {
+                return R.fail("核验失败");
+            }
+            JSONObject textObject = object.getJSONObject("Text");
+
+            String code = textObject.getString("ErrCode");
+            if (!code.equals("0")) {
+                log.error("人脸核验失败,错误原因:" + textObject.toJSONString());
+                return R.fail("核验失败");
+            }
+            RentingHouseRegisterDTO registerDTO=new RentingHouseRegisterDTO();
+            registerDTO.setId(registerId);
+            registerDTO.setAuthStatus(2);
+            registerDTO.setDetailStatus(2);
+            registerDTO.setHourseOwnerUserId(getUserId());
+            return communityService.updateRentingHouse(registerDTO);
+        }
+        return R.fail();
+    }
+
+    /**
+     * 附近的房源
+     */
+    @ApiOperation(value = "附近的房源",response =RentingHouseRegisterVO.class)
+    @PostMapping("/nearby")
+    public R nearby(@RequestBody NearbyDTO nearbyDTO){
+        LoginUserInfoVO loginUserInfoSureNoLogin = getLoginUserInfoSureNoLogin();
+        if (Objects.nonNull(loginUserInfoSureNoLogin)) {
+            nearbyDTO.setCommunityId(loginUserInfoSureNoLogin.getCommunityId());
+        }
+        return communityService.nearby(nearbyDTO);
+    }
+
+    /**
+     * 小程序分页获取房源信息
+     * @param pageRegisterDTO
+     * @return
+     */
+    @ApiOperation(value = "小程序分页获取房源信息",response =RentingHouseRegisterVO.class)
+    @PostMapping("/houseList")
+    public R pageRentingHouseApplet(@RequestBody PageRentingHouseRegisterDTO pageRegisterDTO) {
+        Integer isMy = pageRegisterDTO.getIsMy();
+        if (Objects.nonNull(isMy) && isMy.intValue() == 1) {
+            pageRegisterDTO.setCurrentUserId(getUserId());
+        }
+        return communityService.pageRentingHouseApplet(pageRegisterDTO);
+    }
+
+
+    @ApiOperation(value = "获取房屋租赁配置",response = RentingHousesConfigVO.class)
+    @GetMapping("/getConfig")
+    @ApiImplicitParam(name = "type", value = "配置类型(1.房屋租赁合同 2.租赁合同变更协议 3.定金协议 4.房屋委托代理合同" +
+            "5.平台须知 6.房源标签)", required = true)
+    public R getRentingHouseConfig(@RequestParam("type") Integer type) {
+        return communityService.getRentingHouseConfig(type);
+    }
+
+    @ApiOperation("删除房源信息")
+    @DeleteMapping("/delete")
+    @ApiImplicitParam(name = "registerId", value = "房源登记id", required = true)
+    public R deleteRentingHouse(@RequestParam("registerId") Long registerId) {
+        LoginUserInfoVO loginUserInfo = getLoginUserInfo();
+        checkIsCommunityWorker(loginUserInfo);
+        return communityService.deleteRentingHouse(registerId);
+    }
+
+    private void checkIsCommunityWorker(LoginUserInfoVO loginUserInfo) {
+        if (loginUserInfo.getIsCommunityWorker().intValue() == NOT_COMMUNITY_WORKER) {
+            throw new ServiceException("401", "暂无权限");
+        }
+    }
+}

--
Gitblit v1.7.1