Bläddra i källkod

代理商审核

java110 5 år sedan
förälder
incheckning
e443f02907

+ 8 - 0
java110-bean/src/main/java/com/java110/dto/rentingPool/RentingPoolDto.java

@@ -14,6 +14,14 @@ import java.util.Date;
  * add by wuxw 2019/4/24
  **/
 public class RentingPoolDto extends PageDto implements Serializable {
+    //-- 状态,提交中 0,代理商确认 1,预约看房 2,待支付 3,申请合同 4,运营团队确认 5 ,完成 6
+    public static final String STATE_SUBMIT = "0";
+    public static final String STATE_PROXY_AUDIT = "1";
+    public static final String STATE_PROXY_VIEW_ROOM = "2";
+    public static final String STATE_TO_PAY = "3";
+    public static final String STATE_APPLY_AGREE = "4";
+    public static final String STATE_ADMIN_AUDIT = "5";
+    public static final String STATE_FINISH = "6";
 
     private String latitude;
     private String ownerTel;

+ 48 - 25
java110-bean/src/main/java/com/java110/dto/rentingPoolFlow/RentingPoolFlowDto.java

@@ -1,6 +1,7 @@
 package com.java110.dto.rentingPoolFlow;
 
 import com.java110.dto.PageDto;
+
 import java.io.Serializable;
 import java.util.Date;
 
@@ -14,15 +15,20 @@ import java.util.Date;
  **/
 public class RentingPoolFlowDto extends PageDto implements Serializable {
 
+    public static final String STATE_SUBMIT = "1001";
+    public static final String STATE_PROXY_TRUE = "2002";
+    public static final String STATE_PROXY_FALSE = "3003";
+
+
     private String dealTime;
-private String useName;
-private String context;
-private String userTel;
-private String state;
-private String userRole;
-private String communityId;
-private String flowId;
-private String rentingId;
+    private String useName;
+    private String context;
+    private String userTel;
+    private String state;
+    private String userRole;
+    private String communityId;
+    private String flowId;
+    private String rentingId;
 
 
     private Date createTime;
@@ -33,55 +39,72 @@ private String rentingId;
     public String getDealTime() {
         return dealTime;
     }
-public void setDealTime(String dealTime) {
+
+    public void setDealTime(String dealTime) {
         this.dealTime = dealTime;
     }
-public String getUseName() {
+
+    public String getUseName() {
         return useName;
     }
-public void setUseName(String useName) {
+
+    public void setUseName(String useName) {
         this.useName = useName;
     }
-public String getContext() {
+
+    public String getContext() {
         return context;
     }
-public void setContext(String context) {
+
+    public void setContext(String context) {
         this.context = context;
     }
-public String getUserTel() {
+
+    public String getUserTel() {
         return userTel;
     }
-public void setUserTel(String userTel) {
+
+    public void setUserTel(String userTel) {
         this.userTel = userTel;
     }
-public String getState() {
+
+    public String getState() {
         return state;
     }
-public void setState(String state) {
+
+    public void setState(String state) {
         this.state = state;
     }
-public String getUserRole() {
+
+    public String getUserRole() {
         return userRole;
     }
-public void setUserRole(String userRole) {
+
+    public void setUserRole(String userRole) {
         this.userRole = userRole;
     }
-public String getCommunityId() {
+
+    public String getCommunityId() {
         return communityId;
     }
-public void setCommunityId(String communityId) {
+
+    public void setCommunityId(String communityId) {
         this.communityId = communityId;
     }
-public String getFlowId() {
+
+    public String getFlowId() {
         return flowId;
     }
-public void setFlowId(String flowId) {
+
+    public void setFlowId(String flowId) {
         this.flowId = flowId;
     }
-public String getRentingId() {
+
+    public String getRentingId() {
         return rentingId;
     }
-public void setRentingId(String rentingId) {
+
+    public void setRentingId(String rentingId) {
         this.rentingId = rentingId;
     }
 

+ 4 - 4
service-job/src/main/java/com/java110/job/JobServiceApplication.java

@@ -1,7 +1,7 @@
 package com.java110.job;
 
 import com.java110.core.annotation.Java110ListenerDiscovery;
-import com.java110.core.event.center.DataFlowEventPublishing;
+import com.java110.core.client.RestTemplate;
 import com.java110.core.event.service.BusinessServiceDataFlowEventPublishing;
 import com.java110.service.init.ServiceStartInit;
 import org.slf4j.Logger;
@@ -16,7 +16,6 @@ import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.http.converter.StringHttpMessageConverter;
 import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.web.client.RestTemplate;
 
 import java.nio.charset.Charset;
 
@@ -48,9 +47,10 @@ public class JobServiceApplication {
     @Bean
     public RestTemplate outRestTemplate() {
         StringHttpMessageConverter m = new StringHttpMessageConverter(Charset.forName("UTF-8"));
-        RestTemplate restTemplate = new RestTemplateBuilder().additionalMessageConverters(m).build();
+        RestTemplate restTemplate = new RestTemplateBuilder().additionalMessageConverters(m).build(RestTemplate.class);
         return restTemplate;
     }
+
     /**
      * 实例化RestTemplate,通过@LoadBalanced注解开启均衡负载能力.
      *
@@ -60,7 +60,7 @@ public class JobServiceApplication {
     @LoadBalanced
     public RestTemplate restTemplate() {
         StringHttpMessageConverter m = new StringHttpMessageConverter(Charset.forName("UTF-8"));
-        RestTemplate restTemplate = new RestTemplateBuilder().additionalMessageConverters(m).build();
+        RestTemplate restTemplate = new RestTemplateBuilder().additionalMessageConverters(m).build(RestTemplate.class);
         return restTemplate;
     }
 

+ 39 - 5
service-user/src/main/java/com/java110/user/api/RentingApi.java

@@ -1,26 +1,26 @@
 package com.java110.user.api;
 
 import com.alibaba.fastjson.JSONObject;
+import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.dto.rentingConfig.RentingConfigDto;
 import com.java110.dto.rentingPool.RentingPoolDto;
 import com.java110.dto.rentingPoolAttr.RentingPoolAttrDto;
 import com.java110.po.rentingConfig.RentingConfigPo;
 import com.java110.po.rentingPool.RentingPoolPo;
 import com.java110.po.rentingPoolAttr.RentingPoolAttrPo;
+import com.java110.po.rentingPoolFlow.RentingPoolFlowPo;
 import com.java110.user.bmo.rentingConfig.IDeleteRentingConfigBMO;
 import com.java110.user.bmo.rentingConfig.IGetRentingConfigBMO;
 import com.java110.user.bmo.rentingConfig.ISaveRentingConfigBMO;
 import com.java110.user.bmo.rentingConfig.IUpdateRentingConfigBMO;
-import com.java110.user.bmo.rentingPool.IDeleteRentingPoolBMO;
-import com.java110.user.bmo.rentingPool.IGetRentingPoolBMO;
-import com.java110.user.bmo.rentingPool.ISaveRentingPoolBMO;
-import com.java110.user.bmo.rentingPool.IUpdateRentingPoolBMO;
+import com.java110.user.bmo.rentingPool.*;
 import com.java110.user.bmo.rentingPoolAttr.IDeleteRentingPoolAttrBMO;
 import com.java110.user.bmo.rentingPoolAttr.IGetRentingPoolAttrBMO;
 import com.java110.user.bmo.rentingPoolAttr.ISaveRentingPoolAttrBMO;
 import com.java110.user.bmo.rentingPoolAttr.IUpdateRentingPoolAttrBMO;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.DateUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
@@ -61,6 +61,9 @@ public class RentingApi {
     @Autowired
     private IGetRentingPoolAttrBMO getRentingPoolAttrBMOImpl;
 
+    @Autowired
+    private IAuditRentingBMO auditRentingBMOImpl;
+
     /**
      * 微信保存消息模板
      *
@@ -121,7 +124,8 @@ public class RentingApi {
      * @path /app/renting/deleteRentingConfig
      */
     @RequestMapping(value = "/deleteRentingConfig", method = RequestMethod.POST)
-    public ResponseEntity<String> deleteRentingConfig(@RequestBody JSONObject reqJson) { ;
+    public ResponseEntity<String> deleteRentingConfig(@RequestBody JSONObject reqJson) {
+        ;
 
         Assert.hasKeyAndValue(reqJson, "rentingConfigId", "rentingConfigId不能为空");
 
@@ -316,4 +320,34 @@ public class RentingApi {
         rentingPoolAttrDto.setCommunityId(communityId);
         return getRentingPoolAttrBMOImpl.get(rentingPoolAttrDto);
     }
+
+    /**
+     * 代理商 或者运营团队审核
+     *
+     * @param reqJson 请求信息
+     * @return
+     * @serviceCode /renting/auditRenting
+     * @path /app/renting/auditRenting
+     */
+    public ResponseEntity<String> auditRenting(@RequestBody JSONObject reqJson,
+                                               @RequestHeader(value = "store-id") String storeId,
+                                               @RequestHeader(value = "user-id") String userId) {
+        Assert.hasKeyAndValue(reqJson, "rentingId", "请求报文中未包含出租信息");
+        Assert.hasKeyAndValue(reqJson, "state", "请求报文中未包含状态");
+        Assert.hasKeyAndValue(reqJson, "context", "请求报文中未包含审核内容");
+        Assert.hasKeyAndValue(reqJson, "userRole", "请求报文中未包含角色");
+        Assert.hasValue(storeId, "请求报文中未包含商户ID");
+        Assert.hasValue(userId, "请求报文中未包含用户ID");
+
+
+        RentingPoolFlowPo rentingPoolFlowPo = new RentingPoolFlowPo();
+        rentingPoolFlowPo.setContext(reqJson.getString("context"));
+        rentingPoolFlowPo.setDealTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+        rentingPoolFlowPo.setFlowId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_flowId));
+        rentingPoolFlowPo.setRentingId(reqJson.getString("rentingId"));
+        rentingPoolFlowPo.setState(reqJson.getString("state"));
+        rentingPoolFlowPo.setUserRole(reqJson.getString("userRole"));
+
+        return auditRentingBMOImpl.audit(rentingPoolFlowPo, userId);
+    }
 }

+ 15 - 0
service-user/src/main/java/com/java110/user/bmo/rentingPool/IAuditRentingBMO.java

@@ -0,0 +1,15 @@
+package com.java110.user.bmo.rentingPool;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.po.rentingPoolFlow.RentingPoolFlowPo;
+import org.springframework.http.ResponseEntity;
+
+public interface IAuditRentingBMO {
+
+    /**
+     * 审核
+     * @param rentingPoolFlowPo
+     * @return
+     */
+    public ResponseEntity<String> audit(RentingPoolFlowPo rentingPoolFlowPo,String userId);
+}

+ 78 - 0
service-user/src/main/java/com/java110/user/bmo/rentingPool/impl/AuditRentingBMOImpl.java

@@ -0,0 +1,78 @@
+package com.java110.user.bmo.rentingPool.impl;
+
+import com.java110.core.annotation.Java110Transactional;
+import com.java110.dto.rentingPool.RentingPoolDto;
+import com.java110.dto.rentingPoolFlow.RentingPoolFlowDto;
+import com.java110.dto.user.UserDto;
+import com.java110.intf.IRentingPoolFlowInnerServiceSMO;
+import com.java110.intf.user.IRentingPoolInnerServiceSMO;
+import com.java110.intf.user.IUserInnerServiceSMO;
+import com.java110.po.rentingPool.RentingPoolPo;
+import com.java110.po.rentingPoolFlow.RentingPoolFlowPo;
+import com.java110.user.bmo.rentingPool.IAuditRentingBMO;
+import com.java110.utils.util.Assert;
+import com.java110.vo.ResultVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 审核房屋出租
+ */
+@Service("auditRentingBMOImpl")
+public class AuditRentingBMOImpl implements IAuditRentingBMO {
+    @Autowired
+    private IUserInnerServiceSMO userInnerServiceSMOImpl;
+
+    @Autowired
+    private IRentingPoolFlowInnerServiceSMO rentingPoolFlowInnerServiceSMOImpl;
+
+    @Autowired
+    private IRentingPoolInnerServiceSMO rentingPoolInnerServiceSMOImpl;
+
+    @Override
+    @Java110Transactional
+    public ResponseEntity<String> audit(RentingPoolFlowPo rentingPoolFlowPo, String userId) {
+        UserDto userDto = new UserDto();
+        userDto.setUserId(userId);
+        List<UserDto> userDtos = userInnerServiceSMOImpl.getUsers(userDto);
+
+        Assert.listOnlyOne(userDtos, "用户信息不存在");
+
+        UserDto tmpUserDto = userDtos.get(0);
+
+        rentingPoolFlowPo.setUseName(tmpUserDto.getName());
+        rentingPoolFlowPo.setUserTel(tmpUserDto.getTel());
+
+        RentingPoolDto rentingPoolDto = new RentingPoolDto();
+        rentingPoolDto.setRentingId(rentingPoolFlowPo.getRentingId());
+
+        List<RentingPoolDto> rentingPoolDtos = rentingPoolInnerServiceSMOImpl.queryRentingPools(rentingPoolDto);
+
+        Assert.listOnlyOne(rentingPoolDtos, "未包含房屋出租信息");
+
+        rentingPoolFlowPo.setCommunityId(rentingPoolDtos.get(0).getCommunityId());
+        int saveFlag = rentingPoolFlowInnerServiceSMOImpl.saveRentingPoolFlow(rentingPoolFlowPo);
+
+        if (saveFlag < 1) {
+            return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "审核失败");
+        }
+        RentingPoolPo rentingPoolPo = new RentingPoolPo();
+        rentingPoolPo.setRentingId(rentingPoolFlowPo.getRentingId());
+        rentingPoolPo.setCommunityId(rentingPoolDtos.get(0).getCommunityId());
+        if (RentingPoolFlowDto.STATE_PROXY_TRUE.equals(rentingPoolFlowPo.getState())) {
+            rentingPoolPo.setState(RentingPoolDto.STATE_PROXY_AUDIT);
+        } else {
+            rentingPoolPo.setState(RentingPoolDto.STATE_FINISH); // 审核失败
+        }
+        saveFlag = rentingPoolInnerServiceSMOImpl.updateRentingPool(rentingPoolPo);
+
+        if (saveFlag < 1) {
+            return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "审核修改出租状态失败");
+        }
+
+        return ResultVo.success();
+    }
+}