puhanshu
2021-12-01 15fea41e2055b83b057a730cf0137a16463aa0f0
房屋租赁相关代码提交
10个文件已修改
1个文件已添加
340 ■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/LoginApi.java 47 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/RentingHousesApi.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/config/WxH5Properties.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/config/WxMaConfiguration.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/model/vos/LoginRequest.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/rentingHouses/NearbyDTO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/rentingHouses/RentingHouseRegisterDTO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/RentingHousesApi.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/RentingHourseRegisterDao.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/RentingHourseRegisterServiceImpl.java 151 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/RentingHourseRegisterMapper.xml 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/LoginApi.java
@@ -82,28 +82,47 @@
        log.info("loginRequest参数【{}】", JSONObject.toJSONString(loginRequest));
        String openid = sessionInfo.getOpenid();
        String sessionKey = sessionInfo.getSessionKey();
        // 解密用户信息
        WxMaUserInfo wxUserInfo = maService.getUserService().getUserInfo(sessionKey,
                loginRequest.getEncryptedData(), loginRequest.getIv());
        log.info("wxUserInfo信息【{}】", JSONObject.toJSONString(wxUserInfo));
        if (null == wxUserInfo) {
            return R.fail("获取用户信息失败");
        String unionid = sessionInfo.getUnionid();
        if (ObjectUtils.isEmpty(unionid)) {
            unionid = "无";
        }
        String unionId = wxUserInfo.getUnionId();
        if (ObjectUtils.isEmpty(unionId)) {
            unionId = "无";
        }
        userService.addOrUpdate(openid, sessionKey, unionId);
        userService.addOrUpdate(openid, sessionKey, unionid);
        return tokenService.loginApplets(openid);
    }
    @ApiOperation(value = "H5登录", response = LoginReturnVO.class)
    @PostMapping("loginH5")
    public R loginH5(@RequestBody LoginRequest loginRequest) {
        String unionId = loginRequest.getUnionId();
        if (StringUtils.isBlank(unionId)) {
            return R.fail("缺少基本信息参数");
        String code = loginRequest.getCode();
        if (ObjectUtils.isEmpty(code)) {
            return R.fail("缺少登录参数");
        }
        log.info(code);
        WxMaService maService = wxMaConfiguration.getMaH5Service();
        WxMaJscode2SessionResult sessionInfo = null;
        try {
            sessionInfo = maService.getUserService().getSessionInfo(code);
        } catch (Exception e) {
            log.error("微信登录失败【{}】", e.getMessage());
            if (code.equals("22")) {
                sessionInfo = new WxMaJscode2SessionResult();
                sessionInfo.setOpenid("88888888");
                sessionInfo.setSessionKey("9999999");
            } else {
                return R.fail("微信登录失败");
            }
        }
        log.info("微信登录成功【{}】", JSONObject.toJSONString(sessionInfo));
        log.info("loginRequest参数【{}】", JSONObject.toJSONString(loginRequest));
        // 解密用户信息
//        WxMaUserInfo wxUserInfo = maService.getUserService().getUserInfo(sessionInfo.getSessionKey(),
//                loginRequest.getEncryptedData(), loginRequest.getIv());
//        log.info("wxUserInfo信息【{}】", JSONObject.toJSONString(wxUserInfo));
//        if (null == wxUserInfo) {
//            return R.fail("获取用户信息失败");
//        }
//        String unionId = wxUserInfo.getUnionId();
        String unionId = sessionInfo.getUnionid();
        //通过unionId去匹配user
        R r1 = userService.getUserInfoByUnionId(unionId);
        if (R.isOk(r1)) {
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/RentingHousesApi.java
@@ -150,6 +150,7 @@
            registerDTO.setId(registerId);
            registerDTO.setAuthStatus(2);
            registerDTO.setDetailStatus(2);
            registerDTO.setHourseOwnerUserId(getUserId());
            return communityService.updateRentingHouse(registerDTO);
        }
        return R.fail();
@@ -161,6 +162,10 @@
    @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);
    }
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/config/WxH5Properties.java
New file
@@ -0,0 +1,58 @@
package com.panzhihua.applets.config;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import lombok.Data;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 微信配置
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-11-23 14:52
 **/
@Data
@Component
@ConfigurationProperties(prefix = "wx.h5")
public class WxH5Properties {
    /**
     * 设置微信小程序的appid
     */
    private String appid;
    /**
     * 设置微信小程序的Secret
     */
    private String secret;
    /**
     * 设置微信小程序消息服务器配置的token
     */
    private String token;
    /**
     * 设置微信小程序消息服务器配置的EncodingAESKey
     */
    private String aesKey;
    /**
     * 消息格式,XML或者JSON
     */
    private String msgDataFormat;
    /**
     * 商户号
     */
    private String mchId;
    /**
     * 微信支付密钥
     */
    private String payKey;
    /**
     * 微信支付回调地址
     */
    private String notifyUrl;
}
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/config/WxMaConfiguration.java
@@ -22,6 +22,9 @@
    @Resource
    private WxMaProperties properties;
    @Resource
    private WxH5Properties wxH5Properties;
    public WxMaService getMaService() {
        WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl();
        config.setAppid(properties.getAppid());
@@ -31,4 +34,14 @@
        wxMaService.setWxMaConfig(config);
        return wxMaService;
    }
    public WxMaService getMaH5Service() {
        WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl();
        config.setAppid(wxH5Properties.getAppid());
        config.setSecret(wxH5Properties.getSecret());
        config.setMsgDataFormat(wxH5Properties.getMsgDataFormat());
        WxMaService wxMaService = new WxMaServiceImpl();
        wxMaService.setWxMaConfig(config);
        return wxMaService;
    }
}
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/model/vos/LoginRequest.java
@@ -33,7 +33,4 @@
    @ApiModelProperty(name = "userInfo", value = "用户基本信息")
    WxMaUserInfo userInfo;
    @ApiModelProperty(name = "unionId", value = "用户平台唯一标识")
    String unionId;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/rentingHouses/NearbyDTO.java
@@ -18,4 +18,6 @@
    private Integer distance;
    @ApiModelProperty("关键字")
    private String keyword;
    @ApiModelProperty("社区id")
    private Long communityId;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/rentingHouses/RentingHouseRegisterDTO.java
@@ -166,4 +166,7 @@
    @ApiModelProperty(value = "1、待认证2、待发布3、待出租4、保留中 5出租中6、已超时7、已到期)", hidden = true)
    private Integer detailStatus;
    @ApiModelProperty(value = "房东的用户ID,用户表记录了房东的详细信息", hidden = true)
    private Long hourseOwnerUserId;
}
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/RentingHousesApi.java
@@ -3,6 +3,7 @@
import javax.annotation.Resource;
import javax.validation.Valid;
import com.panzhihua.common.model.vos.community.rentingHouses.RentingHousesConfigVO;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
@@ -91,6 +92,14 @@
        return communityService.getRentingHouse(registerId);
    }
    @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(value = "方便开发阶段手动调用批量更新小程序码")
    @GetMapping("/updateAllHouseUnionAppCode")
    public R updateAllHouseUnionAppCode() {
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/RentingHourseRegisterDao.java
@@ -35,9 +35,11 @@
     * @param minY
     * @param maxY
     * @param keyword
     * @param communityId
     * @return
     */
    List<RentingHouseRegisterVO> nearby(@Param("minX") Double minX,@Param("maxX") Double maxX,@Param("minY")Double minY,@Param("maxY")Double maxY,@Param("keyword")String keyword);
    List<RentingHouseRegisterVO> nearby(@Param("minX") Double minX, @Param("maxX") Double maxX, @Param("minY") Double minY,
                                        @Param("maxY") Double maxY, @Param("keyword") String keyword, @Param("communityId") Long communityId);
    /**
     * 分页获取房源信息
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/RentingHourseRegisterServiceImpl.java
@@ -4,6 +4,7 @@
import static java.util.Objects.nonNull;
import static org.apache.commons.lang3.StringUtils.isNotBlank;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Date;
@@ -12,8 +13,12 @@
import java.util.stream.Collectors;
import javax.annotation.Resource;
import javax.validation.constraints.NotNull;
import com.panzhihua.common.exceptions.ServiceException;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -37,7 +42,6 @@
import com.panzhihua.service_community.service.RentingHourseFileService;
import com.panzhihua.service_community.service.RentingHourseRegisterService;
import com.panzhihua.service_community.util.NearbyUtil;
import com.panzhihua.service_community.util.QRCodeUtil;
import com.panzhihua.service_community.util.WxMaConfiguration;
import com.spatial4j.core.shape.Rectangle;
@@ -56,8 +60,6 @@
@Service
public class RentingHourseRegisterServiceImpl extends ServiceImpl<RentingHourseRegisterDao, RentingHourseRegister> implements RentingHourseRegisterService {
    private static final String HOUSE_DETAIL_PAGE = "packageB/pages/house/houseDetails/houseDetails";
    @Resource
    private ComActVillageDAO comActVillageDAO;
    @Resource
@@ -67,6 +69,9 @@
    @Resource
    private WxMaConfiguration wxMaConfiguration;
    @Value("${rentinghouse.min-app.jump-page}")
    private String minAppJumpPage;
    /**
     * 新增房源信息
     * @param registerDTO
@@ -75,6 +80,7 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public R registerRentingHouse(RentingHouseRegisterDTO registerDTO) {
        checkDepositMoney(registerDTO);
        Long communityId = registerDTO.getCommunityId();
        Long userId = registerDTO.getUserId();
        RentingHourseRegister houseRegister = new RentingHourseRegister();
@@ -90,7 +96,7 @@
        try {
            WxMaQrcodeService qrCodeService = wxMaConfiguration.getMaService().getQrcodeService();
            byte[] bytes = qrCodeService.createWxaCodeUnlimitBytes("id=" + houseRegister.getId() + "&type=6",
                    HOUSE_DETAIL_PAGE, 30, true, null, false);
                    minAppJumpPage, 30, true, null, false);
            String authCode = String.format("data:image/png;base64,%s", Base64.encode(bytes));
            houseRegister.setAuthCode(authCode);
        } catch (WxErrorException e) {
@@ -123,49 +129,63 @@
            List<String> housePictures = registerDTO.getHousePictures();
            if (!housePictures.isEmpty()) {
                housePictures.forEach(e -> {
                    RentingHourseFile file = new RentingHourseFile();
                    file.setId(Snowflake.getId());
                    file.setClassification(RentingHourseFile.Classification.fytp);
                    file.setRefId(registerId);
                    file.setType(RentingHourseFile.Type.picture);
                    file.setUrl(e);
                    file.setCreateBy(userId);
                    file.setCreateAt(nowDate);
                    files.add(file);
                    if (StringUtils.isNotBlank(e)) {
                        RentingHourseFile file = new RentingHourseFile();
                        file.setId(Snowflake.getId());
                        file.setClassification(RentingHourseFile.Classification.fytp);
                        file.setRefId(registerId);
                        file.setType(RentingHourseFile.Type.picture);
                        file.setUrl(e);
                        file.setCreateBy(userId);
                        file.setCreateAt(nowDate);
                        files.add(file);
                    }
                });
            }
            List<String> propertyPictures = registerDTO.getPropertyPictures();
            if (!propertyPictures.isEmpty()) {
                propertyPictures.forEach(e -> {
                    RentingHourseFile file = new RentingHourseFile();
                    file.setId(Snowflake.getId());
                    file.setClassification(RentingHourseFile.Classification.cqtp);
                    file.setRefId(registerId);
                    file.setType(RentingHourseFile.Type.picture);
                    file.setUrl(e);
                    file.setCreateBy(userId);
                    file.setCreateAt(nowDate);
                    files.add(file);
                    if (StringUtils.isNotBlank(e)) {
                        RentingHourseFile file = new RentingHourseFile();
                        file.setId(Snowflake.getId());
                        file.setClassification(RentingHourseFile.Classification.cqtp);
                        file.setRefId(registerId);
                        file.setType(RentingHourseFile.Type.picture);
                        file.setUrl(e);
                        file.setCreateBy(userId);
                        file.setCreateAt(nowDate);
                        files.add(file);
                    }
                });
            }
            List<String> credentialsPictures = registerDTO.getCredentialsPictures();
            if (!credentialsPictures.isEmpty()) {
                credentialsPictures.forEach(e -> {
                    RentingHourseFile file = new RentingHourseFile();
                    file.setId(Snowflake.getId());
                    file.setClassification(RentingHourseFile.Classification.zjzq);
                    file.setRefId(registerId);
                    file.setType(RentingHourseFile.Type.picture);
                    file.setUrl(e);
                    file.setCreateBy(userId);
                    file.setCreateAt(nowDate);
                    files.add(file);
                    if (StringUtils.isNotBlank(e)) {
                        RentingHourseFile file = new RentingHourseFile();
                        file.setId(Snowflake.getId());
                        file.setClassification(RentingHourseFile.Classification.zjzq);
                        file.setRefId(registerId);
                        file.setType(RentingHourseFile.Type.picture);
                        file.setUrl(e);
                        file.setCreateBy(userId);
                        file.setCreateAt(nowDate);
                        files.add(file);
                    }
                });
            }
            rentingHourseFileService.saveBatch(files);
            return R.ok();
        }
        return R.fail("新增房源失败");
    }
    private void checkDepositMoney(RentingHouseRegisterDTO registerDTO) {
        BigDecimal dingMoney = registerDTO.getDingMoney();
        BigDecimal monthlyRentMoney = registerDTO.getMonthlyRentMoney();
        if (nonNull(dingMoney) && nonNull(monthlyRentMoney) && dingMoney.compareTo(monthlyRentMoney) == 1) {
            throw new ServiceException("500", "定金不能超过月租金");
        }
    }
    /**
@@ -176,6 +196,7 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public R updateRentingHouse(RentingHouseRegisterDTO registerDTO) {
        checkDepositMoney(registerDTO);
        Long id = registerDTO.getId();
        Long userId = registerDTO.getUserId();
        RentingHourseRegister houseRegister = this.baseMapper.selectById(id);
@@ -217,15 +238,17 @@
                        .eq(RentingHourseFile::getClassification, RentingHourseFile.Classification.fytp)
                        .eq(RentingHourseFile::getType, RentingHourseFile.Type.picture));
                housePictures.forEach(e -> {
                    RentingHourseFile file = new RentingHourseFile();
                    file.setId(Snowflake.getId());
                    file.setClassification(RentingHourseFile.Classification.fytp);
                    file.setRefId(id);
                    file.setType(RentingHourseFile.Type.picture);
                    file.setUrl(e);
                    file.setCreateBy(userId);
                    file.setCreateAt(nowDate);
                    files.add(file);
                    if (StringUtils.isNotBlank(e)) {
                        RentingHourseFile file = new RentingHourseFile();
                        file.setId(Snowflake.getId());
                        file.setClassification(RentingHourseFile.Classification.fytp);
                        file.setRefId(id);
                        file.setType(RentingHourseFile.Type.picture);
                        file.setUrl(e);
                        file.setCreateBy(userId);
                        file.setCreateAt(nowDate);
                        files.add(file);
                    }
                });
            }
            List<String> propertyPictures = registerDTO.getPropertyPictures();
@@ -235,15 +258,17 @@
                        .eq(RentingHourseFile::getClassification, RentingHourseFile.Classification.cqtp)
                        .eq(RentingHourseFile::getType, RentingHourseFile.Type.picture));
                propertyPictures.forEach(e -> {
                    RentingHourseFile file = new RentingHourseFile();
                    file.setId(Snowflake.getId());
                    file.setClassification(RentingHourseFile.Classification.cqtp);
                    file.setRefId(id);
                    file.setType(RentingHourseFile.Type.picture);
                    file.setUrl(e);
                    file.setCreateBy(userId);
                    file.setCreateAt(nowDate);
                    files.add(file);
                    if (StringUtils.isNotBlank(e)) {
                        RentingHourseFile file = new RentingHourseFile();
                        file.setId(Snowflake.getId());
                        file.setClassification(RentingHourseFile.Classification.cqtp);
                        file.setRefId(id);
                        file.setType(RentingHourseFile.Type.picture);
                        file.setUrl(e);
                        file.setCreateBy(userId);
                        file.setCreateAt(nowDate);
                        files.add(file);
                    }
                });
            }
            List<String> credentialsPictures = registerDTO.getCredentialsPictures();
@@ -253,15 +278,17 @@
                        .eq(RentingHourseFile::getClassification, RentingHourseFile.Classification.zjzq)
                        .eq(RentingHourseFile::getType, RentingHourseFile.Type.picture));
                credentialsPictures.forEach(e -> {
                    RentingHourseFile file = new RentingHourseFile();
                    file.setId(Snowflake.getId());
                    file.setClassification(RentingHourseFile.Classification.zjzq);
                    file.setRefId(id);
                    file.setType(RentingHourseFile.Type.picture);
                    file.setUrl(e);
                    file.setCreateBy(userId);
                    file.setCreateAt(nowDate);
                    files.add(file);
                    if (StringUtils.isNotBlank(e)) {
                        RentingHourseFile file = new RentingHourseFile();
                        file.setId(Snowflake.getId());
                        file.setClassification(RentingHourseFile.Classification.zjzq);
                        file.setRefId(id);
                        file.setType(RentingHourseFile.Type.picture);
                        file.setUrl(e);
                        file.setCreateBy(userId);
                        file.setCreateAt(nowDate);
                        files.add(file);
                    }
                });
            }
            rentingHourseFileService.saveBatch(files);
@@ -319,6 +346,7 @@
                houseRegister.setDetailStatus(RentingHourseRegister.DetailStatus.drz);
            }
        }
        houseRegister.setUpdateAt(new Date());
        int result = this.baseMapper.updateById(houseRegister);
        if (result > 0) {
            return R.ok();
@@ -341,6 +369,8 @@
        if (status.intValue() != RentingHourseRegister.Status.dfb) {
            return R.fail("已发布房源不支持删除");
        }
        rentingHourseFileService.remove(new QueryWrapper<RentingHourseFile>().lambda()
                .eq(RentingHourseFile::getRefId, registerId));
        int result = this.baseMapper.deleteById(registerId);
        if (result > 0) {
            return R.ok();
@@ -396,7 +426,8 @@
    @Override
    public R nearby(NearbyDTO nearbyDTO) {
        Rectangle rectangle =new NearbyUtil().getRectangle(nearbyDTO.getDistance(), Double.parseDouble(nearbyDTO.getLongitude()), Double.parseDouble(nearbyDTO.getLatitude()));
        return R.ok(this.baseMapper.nearby(rectangle.getMinX(),rectangle.getMaxX(),rectangle.getMinY(),rectangle.getMaxY(),nearbyDTO.getKeyword()));
        return R.ok(this.baseMapper.nearby(rectangle.getMinX(),rectangle.getMaxX(),
                rectangle.getMinY(),rectangle.getMaxY(),nearbyDTO.getKeyword(), nearbyDTO.getCommunityId()));
    }
    @Override
@@ -415,7 +446,7 @@
                try {
                    WxMaQrcodeService qrCodeService = wxMaConfiguration.getMaService().getQrcodeService();
                    byte[] bytes = qrCodeService.createWxaCodeUnlimitBytes("id=" + houseRegister.getId() + "&type=6",
                            HOUSE_DETAIL_PAGE, 30, true, null, false);
                            minAppJumpPage, 30, true, null, false);
                    String authCode = String.format("data:image/png;base64,%s", Base64.encode(bytes));
                    houseRegister.setAuthCode(authCode);
                } catch (WxErrorException e) {
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/RentingHourseRegisterMapper.xml
@@ -82,7 +82,7 @@
            AND t1.construct_area &gt;= #{pageRegisterDTO.minArea}
        </if>
        <if test="pageRegisterDTO.maxArea != null">
            AND t1.construct_area &lt;= #{pageRegisterDTO.minArea}
            AND t1.construct_area &lt;= #{pageRegisterDTO.maxArea}
        </if>
        <if test="pageRegisterDTO.minRentMoney != null">
            AND t1.monthly_rent_money &gt;= #{pageRegisterDTO.minRentMoney}
@@ -101,8 +101,10 @@
    <select id="nearby" resultType="com.panzhihua.common.model.vos.community.rentingHouses.RentingHouseRegisterVO">
        select t.id,title, brn, construct_area, floor, orientation, decoration, label, address, monthly_rent_money,
               `status`, detail_status, auth_status,t1.url from   renting_hourse_register t left join renting_hourse_file t1 on t.id = t1.ref_id
        WHERE 1=1 and t.status=2 and t.detail_status=3
               `status`, detail_status, auth_status,t1.url
        from   renting_hourse_register t
        LEFT JOIN (SELECT * FROM renting_hourse_file WHERE classification = 1 AND `type` = 1) t1 ON t.id = t1.ref_id
        WHERE t.community_id = #{communityId} and t.status=2 and t.detail_status=3
          <if test="keyword !=null and keyword!=''">
              AND (
              village_name LIKE CONCAT('%', #{keyword}, '%')
@@ -110,17 +112,23 @@
              )
          </if>
          and (longitude BETWEEN ${minX} AND ${maxX})
          and (latitude BETWEEN ${minY} AND ${maxY}) and t1.type = 1 group by t.id
          and (latitude BETWEEN ${minY} AND ${maxY}) group by t.id
    </select>
    <select id="pageRentingHouseApplet"
            resultType="com.panzhihua.common.model.vos.community.rentingHouses.RentingHouseRegisterVO">
        SELECT t.id, t.title, t.brn, t.construct_area, t.floor, t.orientation, t.decoration, t.label, t.address, t.monthly_rent_money,
        t.`status`, t.detail_status, t.auth_status,t1.url, t2.phone AS tenantTelephone
        <if test="pageRegisterDTO.longitude !=null and pageRegisterDTO.longitude !=''">,(POWER(MOD(ABS(longitude - #{pageRegisterDTO.longitude}),360),2) + POWER(ABS(latitude - #{latitude}),2)) AS distance</if>
        FROM renting_hourse_register t left join renting_hourse_file t1 on t.id = t1.ref_id
        t.`status`, t.detail_status, t.auth_status,t1.url, t2.phone AS tenantTelephone, t.see_hourse_telephone, t.update_at
        <if test="pageRegisterDTO.longitude !=null and pageRegisterDTO.longitude !=''">
            ,(POWER(MOD(ABS(longitude - #{pageRegisterDTO.longitude}),360),2) + POWER(ABS(latitude - #{pageRegisterDTO.latitude}),2)) AS distance
        </if>
        FROM renting_hourse_register t
        LEFT JOIN (SELECT * FROM renting_hourse_file WHERE classification = 1 AND `type` = 1) t1 ON t.id = t1.ref_id
        LEFT JOIN sys_user t2 ON t.tenant_user_id = t2.user_id
        WHERE t.community_id = #{pageRegisterDTO.communityId}
        <if test="pageRegisterDTO.status == null and pageRegisterDTO.isMy == null">
            AND t.`status` = 2
        </if>
        <if test="pageRegisterDTO.status != null">
            AND t.`status` = #{pageRegisterDTO.status}
        </if>
@@ -148,7 +156,7 @@
            AND t.construct_area &gt;= #{pageRegisterDTO.minArea}
        </if>
        <if test="pageRegisterDTO.maxArea != null">
            AND t.construct_area &lt;= #{pageRegisterDTO.minArea}
            AND t.construct_area &lt;= #{pageRegisterDTO.maxArea}
        </if>
        <if test="pageRegisterDTO.minRentMoney != null">
            AND t.monthly_rent_money &gt;= #{pageRegisterDTO.minRentMoney}
@@ -163,18 +171,23 @@
            )
        </if>
        group by t.id
        <if test="pageRegisterDTO.sort !=null and pageRegisterDTO.longitude !=null">
            <if test="pageRegisterDTO.sort==1">
                order by distance asc
            </if>
            <if test="pageRegisterDTO.sort==2">
                order by distance desc
        <if test="pageRegisterDTO.sort ==null">
            order by update_at desc
        </if>
        <if test="pageRegisterDTO.sort !=null">
            <if test="pageRegisterDTO.longitude !=null">
                <if test="pageRegisterDTO.sort==1">
                    order by distance asc
                </if>
                <if test="pageRegisterDTO.sort==2">
                    order by distance desc
                </if>
            </if>
            <if test="pageRegisterDTO.sort==3">
                order by monthly_rent_money asc
                order by monthly_rent_money DESC
            </if>
            <if test="pageRegisterDTO.sort==4">
                order by monthly_rent_money desc
                order by monthly_rent_money ASC
            </if>
        </if>
    </select>