lidongdong
2023-08-24 8c0b5b30e5200e7bd45aa34507c3623e17fcce91
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,7 +13,9 @@
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;
@@ -77,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 +94,7 @@
        houseRegister.setCreateAt(nowDate);
        houseRegister.setUpdateAt(nowDate);
        try {
            WxMaQrcodeService qrCodeService = wxMaConfiguration.getMaService().getQrcodeService();
            WxMaQrcodeService qrCodeService = wxMaConfiguration.getMaService(registerDTO.getAreaCode()).getQrcodeService();
            byte[] bytes = qrCodeService.createWxaCodeUnlimitBytes("id=" + houseRegister.getId() + "&type=6",
                    minAppJumpPage, 30, true, null, false);
            String authCode = String.format("data:image/png;base64,%s", Base64.encode(bytes));
@@ -176,6 +180,14 @@
        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", "定金不能超过月租金");
        }
    }
    /**
     * 编辑房源信息
     * @param registerDTO
@@ -184,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);
@@ -356,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();
@@ -412,7 +427,7 @@
    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(), nearbyDTO.getCommunityId()));
                rectangle.getMinY(),rectangle.getMaxY(), nearbyDTO));
    }
    @Override
@@ -424,12 +439,12 @@
    }
    @Override
    public void updateAllHouseUnionAppCode() {
    public void updateAllHouseUnionAppCode(String areaCode) {
        List<RentingHourseRegister> list = this.baseMapper.selectList(null);
        if (!list.isEmpty()) {
            list.stream().forEach(houseRegister -> {
                try {
                    WxMaQrcodeService qrCodeService = wxMaConfiguration.getMaService().getQrcodeService();
                    WxMaQrcodeService qrCodeService = wxMaConfiguration.getMaService(areaCode).getQrcodeService();
                    byte[] bytes = qrCodeService.createWxaCodeUnlimitBytes("id=" + houseRegister.getId() + "&type=6",
                            minAppJumpPage, 30, true, null, false);
                    String authCode = String.format("data:image/png;base64,%s", Base64.encode(bytes));