by su 4 سال پیش
والد
کامیت
a73fbabf61

+ 3 - 0
house-biz/src/main/java/com/ljq/house/biz/dao/TmAgencyDao.java

@@ -26,4 +26,7 @@ public interface TmAgencyDao extends BaseMapper<TmAgency> {
     public int updateByIdSelectively(@Param("tmAgency") TmAgency tmAgency);
     public TmAgency setectAgencyByCondition(@Param("tmAgency") TmAgency tmAgency);
     public IPage<Map<String ,Object>> queryAgencyList(IPage<TmAgency> page , @Param("ew") QueryWrapper<TmAgency> queryWrapper);
+
+
+    public  List<TmAgency> selectTmAgencyByStroe(@Param("stroeId") Integer stroeId);
 }

+ 13 - 0
house-biz/src/main/resources/mapper/TmAgencyMapper.xml

@@ -46,6 +46,8 @@
     </select>
 
 
+
+
     <select id="selectTmAgencyById" resultType="com.ljq.house.biz.model.TmAgency">
         select * from tm_agency
         <where>
@@ -57,6 +59,17 @@
         limit 1
     </select>
 
+    <select id="selectTmAgencyByStroe" resultType="com.ljq.house.biz.model.TmAgency">
+        select * from tm_agency
+        <where>
+            enable = 1
+            <if test="stroeId != null ">
+                and store_id = #{stroeId}
+            </if>
+        </where>
+        limit 1
+    </select>
+
 
     <select id="setectAgencyByCondition" resultType="com.ljq.house.biz.model.TmAgency">
         select * from tm_agency

+ 1 - 0
house-biz/src/main/resources/mapper/TmHouseMapper.xml

@@ -147,6 +147,7 @@
             <if test="tmHouse.coverAdditionsImages != null and tmHouse.coverAdditionsImages.trim() != ''">cover_additions_images=#{tmHouse.coverAdditionsImages},</if>
             <if test="tmHouse.constructionYear != null and tmHouse.constructionYear.trim() != ''">construction_year=#{tmHouse.constructionYear},</if>
             <if test="tmHouse.addresImages != null and tmHouse.addresImages.trim() != ''">addres_images=#{tmHouse.addresImages},</if>
+            <if test="tmHouse.postcode != null and tmHouse.postcode.trim() != ''">postcode=#{tmHouse.postcode},</if>
             last_modify_datetime = now()
         </set>
         where `house_id` = #{tmHouse.houseId}

+ 1 - 0
house-common/src/main/java/com/ljq/house/common/enums/ResultCodeEnum.java

@@ -55,6 +55,7 @@ public enum ResultCodeEnum {
     D046(3049 , "用户不存在",true),
 
     D050(3050 , "经纪人有关联房源,不能删除",true),
+    D051(3051 , "门店绑定经纪人,不能删除",true),
 
 
     D100(3100 , "系统异常",true),

+ 5 - 0
house-im/src/main/java/com/ljq/house/im/entity/ImMessage.java

@@ -1,5 +1,6 @@
 package com.ljq.house.im.entity;
 
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.time.LocalDateTime;
@@ -22,4 +23,8 @@ public class ImMessage {
     private String content;
     private LocalDateTime sendTime;
     private int readStatus;
+
+
+    @ApiModelProperty(value = "是否可用", name = "enable", example = "1")
+    private Integer enable;
 }

+ 28 - 0
house-im/src/main/java/com/ljq/house/im/service/ImService.java

@@ -2,12 +2,16 @@ package com.ljq.house.im.service;
 
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.IdUtil;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ljq.house.biz.dao.TmHouseDao;
+import com.ljq.house.biz.model.TmHouse;
 import com.ljq.house.im.entity.*;
 import com.ljq.house.im.entity.dto.ImUserDTO;
 import com.ljq.house.im.enums.ImMessageReadStatus;
 import com.ljq.house.im.mapper.*;
+import jdk.nashorn.internal.runtime.ECMAException;
 import lombok.extern.log4j.Log4j2;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -43,6 +47,9 @@ public class ImService {
     @Autowired
     private ImCategoryMapper imCategoryMapper;
 
+    @Autowired
+    private TmHouseDao tmHouseDao;
+
     public Res<List<ImGroup>> getPublicGroup() {
         return Res.ok(this.imGroupMapper.selectList(new LambdaQueryWrapper<ImGroup>().eq(ImGroup::getType, "public")), "获取公共群成功!");
     }
@@ -75,6 +82,27 @@ public class ImService {
         String limitSql = "limit " + limitStarter + ",10";
         queryWrapper.orderByDesc("send_time").last(limitSql);
         List<ImMessage> messageList = imMessageMapper.selectList(queryWrapper);
+
+        if(messageList!=null && messageList.size()>0){
+            for (ImMessage im:messageList){
+                if(im.getContent()!=null){
+                    try {
+                        JSONObject object = JSONObject.parseObject(im.getContent());
+                        if(object.containsKey("house_id")){
+                            String houseId = (String) object.get("house_id");
+                            TmHouse tmHouse = tmHouseDao.selectHouseById(houseId);
+                            if(tmHouse == null){
+                                im.setEnable(0);
+                            }else{
+                                im.setEnable(1);
+                            }
+                        }
+                    }catch (Exception e){
+                        e.printStackTrace();
+                    }
+                }
+            }
+        }
         return messageList;
     }
 

+ 1 - 1
house-web/src/main/java/com/ljq/house/admin/controller/AdminTmHouseController.java

@@ -468,7 +468,7 @@ public class AdminTmHouseController {
             //看看的页码从1开始算起
             requestScene.setPageNum(1);
         }
-        String url = kankanHost + "api/user/scene/list";
+        String url = kankanHost + "api/user/scene/listx";
         Map<String, Object> headers = new HashMap<>();
         headers.put("token", requestScene.getToken());
         String kankanResult = HttpClientUtil.doPostJsonWithHeader(url, JSON.toJSONString(requestScene), headers);

+ 13 - 0
house-web/src/main/java/com/ljq/house/admin/controller/AdminTmStoreController.java

@@ -5,7 +5,9 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ljq.house.auth.utils.ShiroUtils;
+import com.ljq.house.biz.dao.TmAgencyDao;
 import com.ljq.house.biz.model.TmAdmin;
+import com.ljq.house.biz.model.TmAgency;
 import com.ljq.house.common.exception.CommonBaseException;
 import com.ljq.house.biz.dao.TmStoreDao;
 import com.ljq.house.biz.model.Result;
@@ -29,6 +31,7 @@ import org.springframework.web.bind.annotation.*;
 
 import java.time.LocalDate;
 import java.time.LocalDateTime;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -47,6 +50,9 @@ public class AdminTmStoreController {
     @Autowired
     private TmStoreDao tmStoreDao;
 
+    @Autowired
+    private TmAgencyDao tmAgencyDao;
+
     @ApiOperation(value = "新增门店")
     @PostMapping("/add")
     @ResponseBody
@@ -173,6 +179,13 @@ public class AdminTmStoreController {
 
         if(!CollectionUtils.isEmpty(requestVo.getIntIds())){
             for (Integer id : requestVo.getIntIds()){
+
+                //验证该门店是否绑定经纪人
+               List<TmAgency> tmAgencyList = tmAgencyDao.selectTmAgencyByStroe(id);
+               if(tmAgencyList!=null && tmAgencyList.size()>0){
+                   throw new CommonBaseException(ResultCodeEnum.D051);
+               }
+
                 UpdateWrapper<TmStore> updateWrapper = new UpdateWrapper<>();
                 TmStore tmStore = new TmStore();
                 tmStore.setEnable(0);

+ 2 - 0
house-web/src/main/java/com/ljq/house/app/controller/AppTmHouseController.java

@@ -118,8 +118,10 @@ public class AppTmHouseController {
     @ResponseBody
     public Result getHouseAgencyById(HttpServletRequest req) {
         String sceneCode = req.getParameter("scene_code");
+        String houseId = req.getParameter("house_id");
         QueryWrapper<TmHouseAgencyRelation> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("vr_scene" , sceneCode);
+        queryWrapper.eq("HOUSE_ID" , houseId);
         queryWrapper.eq("is_valid" , 1);
         //TODO:这里默认只选取第一个,如果出现一个房源关联多个经纪人的情况,这里需要修改
         queryWrapper.last("limit 1");