java110 лет назад: 5
Родитель
Сommit
5dc371c9c9

+ 19 - 0
java110-bean/src/main/java/com/java110/dto/owner/OwnerRoomRelDto.java

@@ -27,6 +27,9 @@ public class OwnerRoomRelDto extends PageDto implements Serializable {
     private String bId;
     private boolean byOwnerInfo = false;
 
+    private Date startTime;
+    private Date endTime;
+
 
     private Date createTime;
 
@@ -137,4 +140,20 @@ public class OwnerRoomRelDto extends PageDto implements Serializable {
     public void setLink(String link) {
         this.link = link;
     }
+
+    public Date getStartTime() {
+        return startTime;
+    }
+
+    public void setStartTime(Date startTime) {
+        this.startTime = startTime;
+    }
+
+    public Date getEndTime() {
+        return endTime;
+    }
+
+    public void setEndTime(Date endTime) {
+        this.endTime = endTime;
+    }
 }

+ 18 - 0
java110-bean/src/main/java/com/java110/po/owner/OwnerRoomRelPo.java

@@ -18,6 +18,8 @@ public class OwnerRoomRelPo implements Serializable {
     private String state;
     private String userId;
     private String remark;
+    private String startTime;
+    private String endTime;
 
     public String getRelId() {
         return relId;
@@ -66,4 +68,20 @@ public class OwnerRoomRelPo implements Serializable {
     public void setRemark(String remark) {
         this.remark = remark;
     }
+
+    public String getStartTime() {
+        return startTime;
+    }
+
+    public void setStartTime(String startTime) {
+        this.startTime = startTime;
+    }
+
+    public String getEndTime() {
+        return endTime;
+    }
+
+    public void setEndTime(String endTime) {
+        this.endTime = endTime;
+    }
 }

+ 15 - 6
java110-db/src/main/resources/mapper/user/OwnerRoomRelServiceDaoImplMapper.xml

@@ -7,9 +7,9 @@
     <!-- 保存业主房屋信息 add by wuxw 2018-07-03 -->
     <insert id="saveBusinessOwnerRoomRelInfo" parameterType="Map">
         insert into business_building_owner_room_rel(
-        rel_id,operate,remark,state,owner_id,b_id,user_id,room_id
+        rel_id,operate,remark,state,owner_id,b_id,user_id,room_id,start_time,end_time
         ) values (
-        #{relId},#{operate},#{remark},#{state},#{ownerId},#{bId},#{userId},#{roomId}
+        #{relId},#{operate},#{remark},#{state},#{ownerId},#{bId},#{userId},#{roomId},#{startTime},#{endTime}
         )
     </insert>
 
@@ -17,7 +17,7 @@
     <!-- 查询业主房屋信息(Business) add by wuxw 2018-07-03 -->
     <select id="getBusinessOwnerRoomRelInfo" parameterType="Map" resultType="Map">
         select t.rel_id,t.rel_id relId,t.operate,t.remark,t.state,t.owner_id,t.owner_id ownerId,t.b_id,t.b_id
-        bId,t.user_id,t.user_id userId,t.room_id,t.room_id roomId
+        bId,t.user_id,t.user_id userId,t.room_id,t.room_id roomId,t.start_time,t.end_time,t.start_time startTime,t.end_time endTime
         from business_building_owner_room_rel t
         where 1 =1
         <if test="relId !=null and relId != ''">
@@ -51,8 +51,10 @@
     <!-- 保存业主房屋信息至 instance表中 add by wuxw 2018-07-03 -->
     <insert id="saveOwnerRoomRelInfoInstance" parameterType="Map">
         insert into building_owner_room_rel(
-        rel_id,status_cd,remark,state,owner_id,b_id,user_id,room_id
-        ) select t.rel_id,'0',t.remark,t.state,t.owner_id,t.b_id,t.user_id,t.room_id from
+        rel_id,status_cd,remark,state,owner_id,b_id,user_id,room_id,start_time,end_time
+        )
+        select t.rel_id,'0',t.remark,t.state,t.owner_id,t.b_id,t.user_id,t.room_id,t.start_time,t.end_time
+        from
         business_building_owner_room_rel t where 1=1
         <if test="relId !=null and relId != ''">
             and t.rel_id= #{relId}
@@ -83,7 +85,8 @@
     <!-- 查询业主房屋信息 add by wuxw 2018-07-03 -->
     <select id="getOwnerRoomRelInfo" parameterType="Map" resultType="Map">
         select t.rel_id,t.rel_id relId,t.status_cd,t.status_cd statusCd,t.remark,t.state,t.owner_id,t.owner_id
-        ownerId,t.b_id,t.b_id bId,t.user_id,t.user_id userId,t.room_id,t.room_id roomId
+        ownerId,t.b_id,t.b_id bId,t.user_id,t.user_id userId,t.room_id,t.room_id roomId,
+        t.start_time,t.end_time,t.start_time startTime,t.end_time endTime
         <if test="byOwnerInfo == true">
             ,bow.name ownerName,bow.id_card idCard,bow.link
         </if>
@@ -155,6 +158,12 @@
         <if test="roomId !=null and roomId != ''">
             , t.room_id= #{roomId}
         </if>
+        <if test="startTime !=null">
+            , t.start_time= #{startTime}
+        </if>
+        <if test="endTime !=null">
+            , t.end_time= #{endTime}
+        </if>
         where 1=1
         <if test="relId !=null and relId != ''">
             and t.rel_id= #{relId}

+ 2 - 0
java110-utils/src/main/java/com/java110/utils/constant/ServiceCodeConstant.java

@@ -445,6 +445,8 @@ public class ServiceCodeConstant {
 
     //售卖房屋
     public static final String SERVICE_CODE_SELL_ROOM = "room.sellRoom";
+    //绑定业主(租客) 和商铺关系
+    public static final String SERVICE_CODE_SAVE_OWNER_SHOPS = "room.saveOwnerShops";
     //退房
     public static final String SERVICE_CODE_EXIT_ROOM = "room.exitRoom";
 

+ 121 - 0
service-api/src/main/java/com/java110/api/listener/room/SaveOwnerShopsListener.java

@@ -0,0 +1,121 @@
+package com.java110.api.listener.room;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.api.bmo.owner.IOwnerBMO;
+import com.java110.api.bmo.room.IRoomBMO;
+import com.java110.api.listener.AbstractServiceApiPlusListener;
+import com.java110.core.annotation.Java110Listener;
+import com.java110.core.context.DataFlowContext;
+import com.java110.core.event.service.api.ServiceDataFlowEvent;
+import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.owner.OwnerDto;
+import com.java110.intf.community.ICommunityInnerServiceSMO;
+import com.java110.intf.community.IUnitInnerServiceSMO;
+import com.java110.po.owner.OwnerPo;
+import com.java110.utils.constant.CommonConstant;
+import com.java110.utils.constant.ServiceCodeConstant;
+import com.java110.utils.util.Assert;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpMethod;
+
+/**
+ * @ClassName SaveUnitListener
+ * @Description TODO 售卖房屋信息
+ * @Author wuxw
+ * @Date 2019/5/3 11:54
+ * @Version 1.0
+ * add by wuxw 2019/5/3
+ **/
+@Java110Listener("saveOwnerShopsListener")
+public class SaveOwnerShopsListener extends AbstractServiceApiPlusListener {
+    private static Logger logger = LoggerFactory.getLogger(SaveOwnerShopsListener.class);
+
+    @Autowired
+    private IRoomBMO roomBMOImpl;
+
+    @Autowired
+    private IOwnerBMO ownerBMOImpl;
+
+    @Autowired
+    private IUnitInnerServiceSMO unitInnerServiceSMOImpl;
+
+    @Autowired
+    private ICommunityInnerServiceSMO communityInnerServiceSMOImpl;
+
+    @Override
+    public String getServiceCode() {
+        return ServiceCodeConstant.SERVICE_CODE_SAVE_OWNER_SHOPS;
+    }
+
+    @Override
+    public HttpMethod getHttpMethod() {
+        return HttpMethod.POST;
+    }
+
+
+    @Override
+    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
+        Assert.jsonObjectHaveKey(reqJson, "communityId", "请求报文中未包含communityId节点");
+        Assert.jsonObjectHaveKey(reqJson, "roomId", "请求报文中未包含roomId节点");
+        Assert.jsonObjectHaveKey(reqJson, "ownerName", "请求报文中未包含ownerName节点");
+        Assert.jsonObjectHaveKey(reqJson, "tel", "请求报文中未包含tel节点");
+        Assert.jsonObjectHaveKey(reqJson, "startTime", "请求报文中未包含tel节点");
+        Assert.jsonObjectHaveKey(reqJson, "endTime", "请求报文中未包含tel节点");
+        Assert.jsonObjectHaveKey(reqJson, "shopsState", "请求报文中未包含状态节点");
+    }
+
+    @Override
+    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
+
+        if (!reqJson.containsKey("ownerId") || reqJson.getString("ownerId").startsWith("-")) {
+            OwnerPo ownerPo = new OwnerPo();
+            ownerPo.setUserId(context.getRequestCurrentHeaders().get(CommonConstant.HTTP_USER_ID));
+            ownerPo.setAge("1");
+            ownerPo.setCommunityId(reqJson.getString("communityId"));
+            ownerPo.setIdCard("");
+            ownerPo.setLink(reqJson.getString("tel"));
+            ownerPo.setMemberId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_ownerId));
+            ownerPo.setName(reqJson.getString("ownerName"));
+            ownerPo.setOwnerId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_ownerId));
+            ownerPo.setOwnerTypeCd(OwnerDto.OWNER_TYPE_CD_OWNER);
+            ownerPo.setRemark(reqJson.getString("remark"));
+            ownerBMOImpl.addOwner(JSONObject.parseObject(JSONObject.toJSONString(ownerPo)), context);
+            reqJson.put("ownerId", ownerPo.getOwnerId());
+        }
+
+        //添加房屋关系
+        reqJson.put("state", "2001");
+        roomBMOImpl.sellRoom(reqJson, context);
+
+        //更新房屋信息为售出
+        reqJson.put("state", reqJson.getString("shopsState"));
+        roomBMOImpl.updateShellRoom(reqJson, context);
+
+        //添加物业费用信息
+        //roomBMOImpl.addPropertyFee(reqJson, context);
+    }
+
+
+    public ICommunityInnerServiceSMO getCommunityInnerServiceSMOImpl() {
+        return communityInnerServiceSMOImpl;
+    }
+
+    public void setCommunityInnerServiceSMOImpl(ICommunityInnerServiceSMO communityInnerServiceSMOImpl) {
+        this.communityInnerServiceSMOImpl = communityInnerServiceSMOImpl;
+    }
+
+    @Override
+    public int getOrder() {
+        return DEFAULT_ORDER;
+    }
+
+    public IUnitInnerServiceSMO getUnitInnerServiceSMOImpl() {
+        return unitInnerServiceSMOImpl;
+    }
+
+    public void setUnitInnerServiceSMOImpl(IUnitInnerServiceSMO unitInnerServiceSMOImpl) {
+        this.unitInnerServiceSMOImpl = unitInnerServiceSMOImpl;
+    }
+}

+ 8 - 1
service-api/src/main/java/com/java110/api/listener/room/SellRoomListener.java

@@ -5,11 +5,12 @@ import com.java110.api.bmo.room.IRoomBMO;
 import com.java110.api.listener.AbstractServiceApiPlusListener;
 import com.java110.core.annotation.Java110Listener;
 import com.java110.core.context.DataFlowContext;
+import com.java110.core.event.service.api.ServiceDataFlowEvent;
 import com.java110.intf.community.ICommunityInnerServiceSMO;
 import com.java110.intf.community.IUnitInnerServiceSMO;
-import com.java110.core.event.service.api.ServiceDataFlowEvent;
 import com.java110.utils.constant.ServiceCodeConstant;
 import com.java110.utils.util.Assert;
+import com.java110.utils.util.DateUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -65,6 +66,12 @@ public class SellRoomListener extends AbstractServiceApiPlusListener {
 
     @Override
     protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
+        if (!reqJson.containsKey("startTime")) {
+            reqJson.put("startTime", DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+        }
+        if (!reqJson.containsKey("endTime")) {
+            reqJson.put("endTime", "2037-01-01 00:00:00");
+        }
         //添加单元信息
         roomBMOImpl.sellRoom(reqJson, context);
 

+ 4 - 0
service-user/src/main/java/com/java110/user/listener/ownerRoomRel/AbstractOwnerRoomRelBusinessServiceDataFlowListener.java

@@ -44,6 +44,8 @@ public abstract class AbstractOwnerRoomRelBusinessServiceDataFlowListener extend
         businessOwnerRoomRelInfo.put("ownerId", businessOwnerRoomRelInfo.get("owner_id"));
         businessOwnerRoomRelInfo.put("userId", businessOwnerRoomRelInfo.get("user_id"));
         businessOwnerRoomRelInfo.put("roomId", businessOwnerRoomRelInfo.get("room_id"));
+        businessOwnerRoomRelInfo.put("startTime", businessOwnerRoomRelInfo.get("start_time"));
+        businessOwnerRoomRelInfo.put("endTime", businessOwnerRoomRelInfo.get("end_time"));
         businessOwnerRoomRelInfo.remove("bId");
         businessOwnerRoomRelInfo.put("statusCd", statusCd);
     }
@@ -73,6 +75,8 @@ public abstract class AbstractOwnerRoomRelBusinessServiceDataFlowListener extend
         currentOwnerRoomRelInfo.put("ownerId", currentOwnerRoomRelInfo.get("owner_id"));
         currentOwnerRoomRelInfo.put("userId", currentOwnerRoomRelInfo.get("user_id"));
         currentOwnerRoomRelInfo.put("roomId", currentOwnerRoomRelInfo.get("room_id"));
+        currentOwnerRoomRelInfo.put("startTime", currentOwnerRoomRelInfo.get("start_time"));
+        currentOwnerRoomRelInfo.put("endTime", currentOwnerRoomRelInfo.get("end_time"));
         currentOwnerRoomRelInfo.put("operate", StatusConstant.OPERATE_DEL);
         getOwnerRoomRelServiceDaoImpl().saveBusinessOwnerRoomRelInfo(currentOwnerRoomRelInfo);