From 23c4967b4cb8dbce8277f830f7152d315c5a4a57 Mon Sep 17 00:00:00 2001
From: luo <2855143437@qq.com>
Date: 星期一, 25 十二月 2023 09:25:17 +0800
Subject: [PATCH] 12.25

---
 guns-admin/src/main/java/com/stylefeng/guns/modular/api/AppUserController.java |  201 ++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 155 insertions(+), 46 deletions(-)

diff --git a/guns-admin/src/main/java/com/stylefeng/guns/modular/api/AppUserController.java b/guns-admin/src/main/java/com/stylefeng/guns/modular/api/AppUserController.java
index 6067cfb..ec49227 100644
--- a/guns-admin/src/main/java/com/stylefeng/guns/modular/api/AppUserController.java
+++ b/guns-admin/src/main/java/com/stylefeng/guns/modular/api/AppUserController.java
@@ -1,12 +1,14 @@
 package com.stylefeng.guns.modular.api;
 
-import com.stylefeng.guns.modular.system.model.AppUser;
-import com.stylefeng.guns.modular.system.model.FeedBack;
-import com.stylefeng.guns.modular.system.model.HouseResource;
-import com.stylefeng.guns.modular.system.service.IAppUserService;
-import com.stylefeng.guns.modular.system.service.IFeedBackService;
-import com.stylefeng.guns.modular.system.service.IHouseResourceService;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.stylefeng.guns.modular.system.model.*;
+import com.stylefeng.guns.modular.system.service.*;
 import com.stylefeng.guns.modular.system.service.impl.FeedBackServiceImpl;
+import com.stylefeng.guns.modular.system.service.impl.HouseTypeServiceImpl;
+import com.stylefeng.guns.modular.system.util.Page;
 import com.stylefeng.guns.modular.system.util.ResultUtil;
 import com.stylefeng.guns.modular.system.warpper.req.*;
 import com.stylefeng.guns.modular.system.warpper.res.AppletLoginRes;
@@ -20,7 +22,10 @@
 import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.ArrayList;
+import java.util.Collections;
 import java.util.Date;
+import java.util.List;
 
 /**
  * @author zhibing.pu
@@ -36,8 +41,21 @@
     private IFeedBackService feedBackService;
     @Autowired
     private IHouseResourceService houseResourceService;
-
-
+    @Autowired
+    private IHousingDemandService housingDemandService;
+    @Autowired
+    private IHouseTypeService houseTypeService;
+    @Autowired
+    private IRegionService regionService;
+    @Autowired
+    private IBannerService bannerService;
+    @ResponseBody
+    @GetMapping("/base/appUser/agreement")
+    @ApiOperation(value = "协议", tags = {"协议"})
+    public ResultUtil agreement(Integer type){
+        Banner banners = bannerService.selectOne(new EntityWrapper<Banner>().eq("position",type));
+        return ResultUtil.success(banners);
+    }
     @ResponseBody
     @PostMapping("/base/appUser/appletLogin")
     @ApiOperation(value = "微信小程序登录", tags = {"登录注册"})
@@ -67,6 +85,7 @@
             @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....", required = true, paramType = "header")
     })
     public ResultUtil<AppUser> userInfo(){
+
         return appUserService.userInfo();
     }
 
@@ -77,8 +96,8 @@
     @ApiImplicitParams({
             @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....", required = true, paramType = "header")
     })
-    public ResultUtil<CollectRes> release(){
-        return appUserService.collect();
+    public ResultUtil<CollectRes> release(UserInfoQuery query){
+        return appUserService.collect(query);
     }
 
     // todo 放行
@@ -90,13 +109,46 @@
         return appUserService.release(query);
     }
 
+
     // todo 放行
     @ResponseBody
-    @GetMapping("/base/appUser/edit/{id}")
+    @GetMapping("/base/appUser/edit/{id}/{data}")
     @ApiOperation(value = "编辑发布的房源", tags = {"个人中心"})
-    public ResultUtil<HouseResource> edit(@PathVariable("id") Integer id){
-
-        return ResultUtil.success(houseResourceService.selectById(id));
+    public ResultUtil<Object> edit(@PathVariable("id") Integer id,@PathVariable("data")Integer type){
+        // type=1 求房源
+        if (type == 1){
+            HousingDemand housingDemand = housingDemandService.selectById(id);
+            if (StringUtils.hasLength(housingDemand.getDistrict())){
+                JSONArray jsonArray = JSON.parseArray(housingDemand.getDistrict());
+                housingDemand.setDistrict(jsonArray.toString());
+            }
+            if (housingDemand.getHouseTypeId()!=null && (!housingDemand.getHouseTypeId().equals("0"))){
+                HouseType houseType = houseTypeService.selectById(housingDemand.getHouseTypeId());
+                housingDemand.setHouseTypeName(houseType.getName());
+            }
+            if (housingDemand.getHouseTypeId()!=null && housingDemand.getHouseTypeId().equals("0")){
+                housingDemand.setHouseTypeName("不限");
+            }
+            // 查询求房源选择的区域
+            return ResultUtil.success(housingDemand);
+        }else{
+            HouseResource houseResource = houseResourceService.selectById(id);
+            if (houseResource.getHouseTypeId()!=null){
+                HouseType houseType = houseTypeService.selectById(houseResource.getHouseTypeId());
+                houseResource.setHouseTypeName(houseType.getName());
+            }
+            if (houseResource.getCityId()!=null){
+                Region region = regionService.selectById(houseResource.getCityId());
+                houseResource.setCityName(region.getName());
+            }
+            if (houseResource.getDistrictId()!=null && houseResource.getDistrictId()==0){
+                houseResource.setDistrictName("不限");
+            }else{
+                Region region = regionService.selectById(houseResource.getDistrictId());
+                houseResource.setDistrictName(region.getName());
+            }
+            return ResultUtil.success(houseResource);
+        }
     }
     // todo 放行
     @ResponseBody
@@ -104,47 +156,53 @@
     @ApiOperation(value = "中介认证", tags = {"个人中心"})
     @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....",
             required = true, paramType = "header")
-    public ResultUtil auth(@RequestBody AppUser appUser){
+    public ResultUtil auth(@RequestBody AuthDTO dto){
         AppUser appUser1 = appUserService.getAppUser();
-        appUser1.setAgentLicenceCode(appUser.getAgentLicenceCode());
-        appUser1.setCompanyName(appUser.getCompanyName());
-        appUser1.setCompanyAddress(appUser.getCompanyAddress());
-        appUser1.setBusinessCardPhoto(appUser.getBusinessCardPhoto());
-        appUser1.setCityId(appUser.getCityId());
-        appUser1.setDistrictId(appUser.getDistrictId());
-        appUser1.setAuditStatus(1);
+        appUser1.setAgentLicenceCode(dto.getAgentLicenceCode());
+        appUser1.setCompanyName(dto.getCompanyName());
+        appUser1.setCompanyAddress(dto.getCompanyAddress());
+        appUser1.setBusinessCardPhoto(dto.getBusinessCardPhoto());
+        appUser1.setCityId(dto.getCityId());
+        appUser1.setDistrictId(dto.getDistrictId());
+        appUser1.setAuth(1);
+        appUser1.setPhone(dto.getPhone());
         appUserService.updateById(appUser1);
         return ResultUtil.success();
     }
+//    // todo 放行
+//    @ResponseBody
+//    @GetMapping("/base/appUser/editSubmit")
+//    @ApiOperation(value = "编辑提交", tags = {"个人中心"})
+//    @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....",
+//            required = true, paramType = "header")
+//    public ResultUtil editSubmit(@RequestBody AddHouseReq req){
+//        HouseResource houseResource = new HouseResource();
+//        BeanUtils.copyProperties(req,houseResource);
+//        houseResource.setInsertTime(new Date());
+//        houseResource.setAuthStatus(1);
+//        houseResource.setIsDelete(0);
+//        houseResource.setUpdateUserId(appUserService.getAppUser().getId());
+//        houseResource.setUpdateTime(new Date());
+//        houseResource.setStatus(0);
+//        houseResource.setLeaseTime(req.getTime());
+//        houseResource.setFirmHouse(req.getFirmHouse());
+//        if (req.getTime().contains("年")){
+//            houseResource.setRentalDuration(2);
+//        }else{
+//            houseResource.setRentalDuration(1);
+//        }
+//        return ResultUtil.success();
+//    }
     // todo 放行
     @ResponseBody
-    @GetMapping("/base/appUser/editSubmit")
-    @ApiOperation(value = "编辑提交", tags = {"个人中心"})
+    @PostMapping("/base/appUser/operate")
     @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....",
             required = true, paramType = "header")
-    public ResultUtil editSubmit(@RequestBody AddHouseReq req){
-        HouseResource houseResource = new HouseResource();
-        BeanUtils.copyProperties(req,houseResource);
-        houseResource.setInsertTime(new Date());
-        houseResource.setAuthStatus(1);
-        houseResource.setIsDelete(0);
-        houseResource.setUpdateUserId(appUserService.getAppUser().getId());
-        houseResource.setUpdateTime(new Date());
-        houseResource.setStatus(0);
-        houseResource.setLeaseTime(req.getTime());
-        houseResource.setFirmHouse(req.getFirmHouse());
-        if (req.getTime().contains("年")){
-            houseResource.setRentalDuration(2);
-        }else{
-            houseResource.setRentalDuration(1);
-        }
-        return ResultUtil.success();
-    }
-    // todo 放行
-    @ResponseBody
-    @GetMapping("/base/appUser/operate")
-    @ApiOperation(value = "发布-删除/下架/顶上去", tags = {"个人中心"})
+    @ApiOperation(value = "发布-删除/下架/顶上去/上架", tags = {"个人中心"})
     public ResultUtil delete(@RequestBody UserInfoDTO dto){
+        AppUser appUser = appUserService.getAppUser();
+        Integer id = appUser.getId();
+        if (dto.getData() == 2){
         switch (dto.getType()){
             case 1:
                 HouseResource houseResource = houseResourceService.selectById(dto.getId());
@@ -159,8 +217,59 @@
             case 3:
                 HouseResource houseResource2 = houseResourceService.selectById(dto.getId());
                 houseResource2.setInsertTime(new Date());
+                houseResource2.setUpTime(new Date());
                 houseResourceService.updateById(houseResource2);
                 break;
+            case 4:
+                if (appUser.getAuth()!=2){
+                    // 未认证 只能能发布三条房源信息
+                    List<HouseResource> houseResources = houseResourceService.selectList(new EntityWrapper<HouseResource>()
+                            .eq("app_user_id", id)
+                            .eq("is_delete", 1)
+                            .eq("status", 1)
+                    );
+                    if (houseResources.size()>=3){
+                        return ResultUtil.error("中介账号未认证,只能同时上架3条房源信息");
+                    }
+                }else if (appUser.getAuth()==1){
+                    // 已经认证 只能能发布20条房源信息
+                    List<HouseResource> houseResources = houseResourceService.selectList(new EntityWrapper<HouseResource>()
+                            .eq("app_user_id", id)
+                            .eq("is_delete", 1)
+                            .eq("status", 1)
+                    );
+                    if (houseResources.size()>=20){
+                        return ResultUtil.error("当前中介账号只能同时上架20条房源信息");
+                    }
+                }
+                HouseResource houseResource3 = houseResourceService.selectById(dto.getId());
+                houseResource3.setStatus(1);
+                houseResourceService.updateById(houseResource3);
+                break;
+        }
+        }else{
+            switch (dto.getType()){
+                case 1:
+                    HousingDemand houseResource = housingDemandService.selectById(dto.getId());
+                    houseResource.setIsDelete(1);
+                    housingDemandService.updateById(houseResource);
+                    break;
+                case 2:
+                    HousingDemand houseResource1 = housingDemandService.selectById(dto.getId());
+                    houseResource1.setStatus(0);
+                    housingDemandService.updateById(houseResource1);
+                    break;
+                case 3:
+                    HousingDemand houseResource2 = housingDemandService.selectById(dto.getId());
+                    houseResource2.setInsertTime(new Date());
+                    housingDemandService.updateById(houseResource2);
+                    break;
+                case 4:
+                    HousingDemand houseResource3 = housingDemandService.selectById(dto.getId());
+                    houseResource3.setStatus(1);
+                    housingDemandService.updateById(houseResource3);
+                    break;
+            }
         }
 
         return ResultUtil.success();

--
Gitblit v1.7.1