调整二手房的逻辑
This commit is contained in:
@@ -4,6 +4,7 @@
|
|||||||
<beans default-autowire="byName">
|
<beans default-autowire="byName">
|
||||||
<bean id="assetsTenantConfigProvider" class="com.seeyon.apps.assetstenant.config.AssetsTenantConfigProvider" />
|
<bean id="assetsTenantConfigProvider" class="com.seeyon.apps.assetstenant.config.AssetsTenantConfigProvider" />
|
||||||
<bean id="assetsService" class="com.seeyon.apps.assetstenant.assets.AssetsService" />
|
<bean id="assetsService" class="com.seeyon.apps.assetstenant.assets.AssetsService" />
|
||||||
|
<bean id="shAssetsService" class="com.seeyon.apps.assetstenant.assets.ShAssetsService" />
|
||||||
<bean id="billService" class="com.seeyon.apps.assetstenant.bill.BillService" />
|
<bean id="billService" class="com.seeyon.apps.assetstenant.bill.BillService" />
|
||||||
<bean id="feeRecordService" class="com.seeyon.apps.assetstenant.bill.FeeRecordService" />
|
<bean id="feeRecordService" class="com.seeyon.apps.assetstenant.bill.FeeRecordService" />
|
||||||
<bean id="waeBillService" class="com.seeyon.apps.assetstenant.bill.WaeBillService" />
|
<bean id="waeBillService" class="com.seeyon.apps.assetstenant.bill.WaeBillService" />
|
||||||
@@ -281,6 +281,7 @@ public class AssetsService {
|
|||||||
assetsVo.setBizZone(getStringValue(fieldsMap,"商圈位置"));
|
assetsVo.setBizZone(getStringValue(fieldsMap,"商圈位置"));
|
||||||
assetsVo.setLayout(getStringValue(fieldsMap,"户型"));
|
assetsVo.setLayout(getStringValue(fieldsMap,"户型"));
|
||||||
assetsVo.setRenovationStatus(getStringValue(fieldsMap,"装修情况"));
|
assetsVo.setRenovationStatus(getStringValue(fieldsMap,"装修情况"));
|
||||||
|
assetsVo.setSource(getStringValue(fieldsMap,"资产来源"));
|
||||||
V3xOrgMember member = null;
|
V3xOrgMember member = null;
|
||||||
try {
|
try {
|
||||||
member = orgManager.getMemberById(Long.parseLong((String)fieldsMap.get("运营管理员")));
|
member = orgManager.getMemberById(Long.parseLong((String)fieldsMap.get("运营管理员")));
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ public class OaAssetsVo {
|
|||||||
private String manageType; //运营类型
|
private String manageType; //运营类型
|
||||||
private String[] tags;
|
private String[] tags;
|
||||||
private String renovationStatus; //装修状态
|
private String renovationStatus; //装修状态
|
||||||
|
private String source;//来源
|
||||||
|
|
||||||
public String getAssetsNo() {
|
public String getAssetsNo() {
|
||||||
return assetsNo;
|
return assetsNo;
|
||||||
@@ -285,4 +286,12 @@ public class OaAssetsVo {
|
|||||||
public void setManageType(String manageType) {
|
public void setManageType(String manageType) {
|
||||||
this.manageType = manageType;
|
this.manageType = manageType;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getSource() {
|
||||||
|
return source;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSource(String source) {
|
||||||
|
this.source = source;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -21,9 +21,8 @@ public class ShAssetsService {
|
|||||||
|
|
||||||
private AssetsTenantConfigProvider configProvider = (AssetsTenantConfigProvider) AppContext.getBean("assetsTenantConfigProvider");
|
private AssetsTenantConfigProvider configProvider = (AssetsTenantConfigProvider) AppContext.getBean("assetsTenantConfigProvider");
|
||||||
private AttachmentManager attachmentManager = (AttachmentManager) AppContext.getBean("attachmentManager");
|
private AttachmentManager attachmentManager = (AttachmentManager) AppContext.getBean("attachmentManager");
|
||||||
private OrgManager orgManager = (OrgManager) AppContext.getBean("orgManager");
|
|
||||||
private String getFormNo() {
|
private String getFormNo() {
|
||||||
return configProvider.getBizConfigByKey(AssetsTenantConstants.ASSETS_FORMNO);
|
return configProvider.getBizConfigByKey(AssetsTenantConstants.ASSETS_SH_FORMNO);
|
||||||
}
|
}
|
||||||
|
|
||||||
public PageQueryVo pageQuery(JSONObject params) throws Exception {
|
public PageQueryVo pageQuery(JSONObject params) throws Exception {
|
||||||
@@ -167,7 +166,7 @@ public class ShAssetsService {
|
|||||||
assetsVo.setAssetsStatus(getStringValue(fieldsMap,"资产状态"));
|
assetsVo.setAssetsStatus(getStringValue(fieldsMap,"资产状态"));
|
||||||
assetsVo.setAssetsAddress(getStringValue(fieldsMap,"房屋地址"));
|
assetsVo.setAssetsAddress(getStringValue(fieldsMap,"房屋地址"));
|
||||||
assetsVo.setManageType(getStringValue(fieldsMap,"运营类型"));
|
assetsVo.setManageType(getStringValue(fieldsMap,"运营类型"));
|
||||||
|
assetsVo.setSource(getStringValue(fieldsMap,"资产来源"));
|
||||||
String lnglat = getStringValue(fieldsMap, "坐落经纬度");
|
String lnglat = getStringValue(fieldsMap, "坐落经纬度");
|
||||||
if(StringUtils.isNotBlank(lnglat)){
|
if(StringUtils.isNotBlank(lnglat)){
|
||||||
// 统一替换逗号为分号,然后分割,兼容 ; 和 , 两种格式
|
// 统一替换逗号为分号,然后分割,兼容 ; 和 , 两种格式
|
||||||
@@ -194,12 +193,14 @@ public class ShAssetsService {
|
|||||||
public void fillPageQueryVo(Map<String, Object> fieldsMap,OaAssetsVo assetsVo) throws BusinessException {
|
public void fillPageQueryVo(Map<String, Object> fieldsMap,OaAssetsVo assetsVo) throws BusinessException {
|
||||||
assetsVo.setAssetsNo(getStringValue(fieldsMap,"资产编号"));
|
assetsVo.setAssetsNo(getStringValue(fieldsMap,"资产编号"));
|
||||||
assetsVo.setAssetsName(getStringValue(fieldsMap,"资产名称"));
|
assetsVo.setAssetsName(getStringValue(fieldsMap,"资产名称"));
|
||||||
|
assetsVo.setManageType(getStringValue(fieldsMap,"运营类型"));
|
||||||
assetsVo.setFormId(getStringValue(fieldsMap,"id"));
|
assetsVo.setFormId(getStringValue(fieldsMap,"id"));
|
||||||
assetsVo.setLayout(getStringValue(fieldsMap,"户型"));
|
assetsVo.setLayout(getStringValue(fieldsMap,"户型"));
|
||||||
|
assetsVo.setOrientation(getStringValue(fieldsMap,"朝向"));
|
||||||
assetsVo.setRenovationStatus(getStringValue(fieldsMap,"装修情况"));
|
assetsVo.setRenovationStatus(getStringValue(fieldsMap,"装修情况"));
|
||||||
String area = getStringValue(fieldsMap,"建筑面积");
|
String area = getStringValue(fieldsMap,"建筑面积");
|
||||||
assetsVo.setFootPrint(area);
|
assetsVo.setFootPrint(area);
|
||||||
if(fieldsMap.get("资产图片") != null) {
|
if(fieldsMap.get("房源图片") != null) {
|
||||||
assetsVo.setDetailImg(OaFileVo.getInstance(fieldsMap.get("房源图片"),attachmentManager));
|
assetsVo.setDetailImg(OaFileVo.getInstance(fieldsMap.get("房源图片"),attachmentManager));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,22 +3,33 @@ package com.seeyon.apps.assetstenant.reserve;
|
|||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.seeyon.apps.assetstenant.assets.AssetsService;
|
import com.seeyon.apps.assetstenant.assets.AssetsService;
|
||||||
import com.seeyon.apps.assetstenant.assets.OaAssetsVo;
|
import com.seeyon.apps.assetstenant.assets.OaAssetsVo;
|
||||||
|
import com.seeyon.apps.assetstenant.assets.ShAssetsService;
|
||||||
import com.seeyon.apps.assetstenant.config.AssetsTenantConfigProvider;
|
import com.seeyon.apps.assetstenant.config.AssetsTenantConfigProvider;
|
||||||
import com.seeyon.apps.assetstenant.constants.AssetsTenantConstants;
|
import com.seeyon.apps.assetstenant.constants.AssetsTenantConstants;
|
||||||
|
import com.seeyon.apps.assetstenant.flow.FlowCreateService;
|
||||||
import com.seeyon.apps.assetstenant.po.PageQueryVo;
|
import com.seeyon.apps.assetstenant.po.PageQueryVo;
|
||||||
|
import com.seeyon.cap4.form.api.FormApi4Cap4;
|
||||||
|
import com.seeyon.cap4.form.bean.FormBean;
|
||||||
|
import com.seeyon.cap4.form.bean.FormFieldBean;
|
||||||
import com.seeyon.cap4.form.bean.FormTableBean;
|
import com.seeyon.cap4.form.bean.FormTableBean;
|
||||||
import com.seeyon.ctp.common.AppContext;
|
import com.seeyon.ctp.common.AppContext;
|
||||||
import com.seeyon.ctp.common.exceptions.BusinessException;
|
import com.seeyon.ctp.common.exceptions.BusinessException;
|
||||||
|
import com.seeyon.ctp.organization.bo.V3xOrgMember;
|
||||||
import com.seeyon.utils.form.*;
|
import com.seeyon.utils.form.*;
|
||||||
import com.seeyon.v3x.services.form.FormFactory;
|
import com.seeyon.v3x.services.form.FormFactory;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.math.RoundingMode;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
public class ReserveService {
|
public class ReserveService {
|
||||||
private AssetsTenantConfigProvider configProvider = (AssetsTenantConfigProvider) AppContext.getBean("assetsTenantConfigProvider");
|
private AssetsTenantConfigProvider configProvider = (AssetsTenantConfigProvider) AppContext.getBean("assetsTenantConfigProvider");
|
||||||
private AssetsService assetsService = (AssetsService) AppContext.getBean("assetsService");
|
private AssetsService assetsService = (AssetsService) AppContext.getBean("assetsService");
|
||||||
private FormFactory factory = (FormFactory) AppContext.getBean("formFactory");
|
private FlowCreateService flowCreateService = (FlowCreateService) AppContext.getBean("flowCreateService");
|
||||||
|
private ShAssetsService shAssetsService = (ShAssetsService) AppContext.getBean("shAssetsService");
|
||||||
|
|
||||||
private String getFormNo() {
|
private String getFormNo() {
|
||||||
return configProvider.getBizConfigByKey(AssetsTenantConstants.RESERVE_FORMNO);
|
return configProvider.getBizConfigByKey(AssetsTenantConstants.RESERVE_FORMNO);
|
||||||
@@ -89,36 +100,87 @@ public class ReserveService {
|
|||||||
vo.setStatus(status);
|
vo.setStatus(status);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// public void saveReserve(JSONObject params) throws Exception {
|
||||||
|
// Map<String,Object> mainData = new HashMap<>();
|
||||||
|
// mainData.put("资产编号", params.getString("assetsNo"));
|
||||||
|
// mainData.put("资产名称", params.getString("assetsName"));
|
||||||
|
// mainData.put("看房人姓名", params.getString("reserveName"));
|
||||||
|
// mainData.put("看房人手机号", params.getString("phone"));
|
||||||
|
// mainData.put("微信openId", params.getString("openId"));
|
||||||
|
// mainData.put("预约时间", params.getString("reserveTime"));
|
||||||
|
// String tenantType = params.getString("tenantType");
|
||||||
|
// if(StringUtils.isNotBlank(tenantType)) {
|
||||||
|
// TableContext tableContext = getMasterTableContext();
|
||||||
|
// FormTableBean tableBean = tableContext.getTableBean();
|
||||||
|
// if("0".equals(tenantType)) {
|
||||||
|
// mainData.put("客户属性",EnumMapUtils.getEnumItemValueByDisplayValue(tableBean,"客户属性","个人"));
|
||||||
|
// }else {
|
||||||
|
// mainData.put("客户属性",EnumMapUtils.getEnumItemValueByDisplayValue(tableBean,"客户属性","企业"));
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// String docNo = "weChat_" + UUID.randomUUID().toString().replace("-","");
|
||||||
|
// mainData.put("档案编号",docNo);
|
||||||
|
// mainData.put("运营类型",getManageType(params.getString("assetsNo")));
|
||||||
|
// mainData.put("处理状态", EnumMapUtils.getEnumItemValueByDisplayValue(getMasterTableContext().getTableBean(), "处理状态", "未处理"));
|
||||||
|
// String loginName = configProvider.getBizConfigByKey(AssetsTenantConstants.formLoginName);
|
||||||
|
// FormSaveUtil.formSave(loginName,getFormNo(),factory,mainData,null);
|
||||||
|
// }
|
||||||
|
|
||||||
public void saveReserve(JSONObject params) throws Exception {
|
public void saveReserve(JSONObject params) throws Exception {
|
||||||
|
// 1. 获取Bean + 非空校验
|
||||||
|
FormApi4Cap4 formApi4Cap4 = (FormApi4Cap4) AppContext.getBean("formApi4Cap4");
|
||||||
|
if (formApi4Cap4 == null) {
|
||||||
|
throw new Exception("Spring容器中未找到formApi4Cap4 Bean");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 2. 复用配置,避免重复查询
|
||||||
|
String templateCode = this.configProvider.getBizConfigByKey(AssetsTenantConstants.RESERVE_FORMNO);
|
||||||
|
String appName = this.configProvider.getBizConfigByKey(AssetsTenantConstants.FORMAPPNAME);
|
||||||
|
|
||||||
|
// 3. 获取表单结构
|
||||||
|
FormBean cap4FormBean = formApi4Cap4.getFormByFormCode(templateCode);
|
||||||
|
FormTableBean masterTableBean = cap4FormBean.getMasterTableBean();
|
||||||
|
String tableName = masterTableBean.getTableName();
|
||||||
|
|
||||||
|
// 5. 构造数据结构(规范泛型)
|
||||||
Map<String, Object> mainFormData = new HashMap<>();
|
Map<String, Object> mainFormData = new HashMap<>();
|
||||||
mainFormData.put("资产编号", params.getString("assetsNo"));
|
Map<String, List<Object>> subFormDataMap = new HashMap<>();
|
||||||
mainFormData.put("资产名称", params.getString("assetsName"));
|
List<Object> subFormDataList = new ArrayList<>();
|
||||||
mainFormData.put("看房人姓名", params.getString("reserveName"));
|
|
||||||
mainFormData.put("看房人手机号", params.getString("phone"));
|
Map<String, Object> mainData = new HashMap<>();
|
||||||
mainFormData.put("微信openId", params.getString("openId"));
|
mainFormData.put(tableName, mainData);
|
||||||
mainFormData.put("预约时间", params.getString("reserveTime"));
|
|
||||||
String tenantType = params.getString("tenantType");
|
|
||||||
if(StringUtils.isNotBlank(tenantType)) {
|
|
||||||
TableContext tableContext = getMasterTableContext();
|
TableContext tableContext = getMasterTableContext();
|
||||||
FormTableBean tableBean = tableContext.getTableBean();
|
FormTableBean tableBean = tableContext.getTableBean();
|
||||||
|
// 9. 获取合同信息 + 非空校验
|
||||||
|
mainData.put("资产编号", params.getString("assetsNo"));
|
||||||
|
mainData.put("资产名称", params.getString("assetsName"));
|
||||||
|
mainData.put("看房人姓名", params.getString("reserveName"));
|
||||||
|
mainData.put("看房人手机号", params.getString("phone"));
|
||||||
|
mainData.put("微信openId", params.getString("openId"));
|
||||||
|
mainData.put("预约时间", params.getString("reserveTime"));
|
||||||
|
mainData.put("房源类型",EnumMapUtils.getEnumItemValueByDisplayValue(tableBean,"房源类型",params.getString("houseSourceType")));
|
||||||
|
String tenantType = params.getString("tenantType");
|
||||||
|
if(StringUtils.isNotBlank(tenantType)) {
|
||||||
if("0".equals(tenantType)) {
|
if("0".equals(tenantType)) {
|
||||||
mainFormData.put("客户属性",EnumMapUtils.getEnumItemValueByDisplayValue(tableBean,"客户属性","个人"));
|
mainData.put("客户属性",EnumMapUtils.getEnumItemValueByDisplayValue(tableBean,"客户属性","个人"));
|
||||||
}else {
|
}else {
|
||||||
mainFormData.put("客户属性",EnumMapUtils.getEnumItemValueByDisplayValue(tableBean,"客户属性","企业"));
|
mainData.put("客户属性",EnumMapUtils.getEnumItemValueByDisplayValue(tableBean,"客户属性","企业"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
String docNo = "weChat_" + UUID.randomUUID().toString().replace("-","");
|
String docNo = "weChat_" + UUID.randomUUID().toString().replace("-","");
|
||||||
mainFormData.put("档案编号",docNo);
|
mainData.put("档案编号",docNo);
|
||||||
mainFormData.put("运营类型",getManageType(params.getString("assetsNo")));
|
mainData.put("运营类型",getManageType(params.getString("assetsNo"),params.getString("houseSourceType")));
|
||||||
mainFormData.put("处理状态", EnumMapUtils.getEnumItemValueByDisplayValue(getMasterTableContext().getTableBean(), "处理状态", "未处理"));
|
mainData.put("处理状态", EnumMapUtils.getEnumItemValueByDisplayValue(getMasterTableContext().getTableBean(), "处理状态", "未处理"));
|
||||||
String loginName = configProvider.getBizConfigByKey(AssetsTenantConstants.formLoginName);
|
// 12. 启动流程
|
||||||
FormSaveUtil.formSave(loginName,getFormNo(),factory,mainFormData,null);
|
this.flowCreateService.flowStart("预约看房流程",
|
||||||
|
mainFormData, subFormDataMap, appName, templateCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Long getManageType(String assetsNo) throws Exception {
|
public Long getManageType(String assetsNo,String houseType) throws Exception {
|
||||||
JSONObject param = new JSONObject();
|
JSONObject param = new JSONObject();
|
||||||
param.put("assetsNo", assetsNo);
|
param.put("assetsNo", assetsNo);
|
||||||
Long manageType = assetsService.queryAssetsManageType(param);
|
Long manageType = "自建房".equals(houseType) ? assetsService.queryAssetsManageType(param) : shAssetsService.queryAssetsManageType(param);
|
||||||
return manageType;
|
return manageType;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package com.seeyon.ctp.rest.resources.assetstenant;
|
|||||||
import cn.hutool.log.Log;
|
import cn.hutool.log.Log;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.seeyon.apps.assetstenant.assets.AssetsService;
|
import com.seeyon.apps.assetstenant.assets.AssetsService;
|
||||||
|
import com.seeyon.apps.assetstenant.assets.ShAssetsService;
|
||||||
import com.seeyon.ctp.common.AppContext;
|
import com.seeyon.ctp.common.AppContext;
|
||||||
import com.seeyon.ctp.rest.resources.BaseResource;
|
import com.seeyon.ctp.rest.resources.BaseResource;
|
||||||
|
|
||||||
@@ -20,6 +21,7 @@ public class AssetsQueryResource extends BaseResource {
|
|||||||
|
|
||||||
private static final Log log = Log.get(AssetsQueryResource.class);
|
private static final Log log = Log.get(AssetsQueryResource.class);
|
||||||
private AssetsService assetsService = (AssetsService) AppContext.getBean("assetsService");
|
private AssetsService assetsService = (AssetsService) AppContext.getBean("assetsService");
|
||||||
|
private ShAssetsService shAssetsService = (ShAssetsService) AppContext.getBean("shAssetsService");
|
||||||
|
|
||||||
@POST
|
@POST
|
||||||
@Path("/queryPage")
|
@Path("/queryPage")
|
||||||
@@ -27,8 +29,9 @@ public class AssetsQueryResource extends BaseResource {
|
|||||||
@Consumes({"application/json"})
|
@Consumes({"application/json"})
|
||||||
public Response queryPage(JSONObject params) throws IOException {
|
public Response queryPage(JSONObject params) throws IOException {
|
||||||
log.info("分页查询资产信息参数为:"+params);
|
log.info("分页查询资产信息参数为:"+params);
|
||||||
|
String secHouse = params.getString("secHouse");
|
||||||
try{
|
try{
|
||||||
return success(assetsService.pageQuery(params));
|
return "0".equals(secHouse) ? success(assetsService.pageQuery(params)) : success(shAssetsService.pageQuery(params));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error(e.getMessage(),e);
|
log.error(e.getMessage(),e);
|
||||||
return fail(e.getMessage());
|
return fail(e.getMessage());
|
||||||
@@ -41,8 +44,9 @@ public class AssetsQueryResource extends BaseResource {
|
|||||||
@Consumes({"application/json"})
|
@Consumes({"application/json"})
|
||||||
public Response queryDetail(JSONObject params) throws IOException {
|
public Response queryDetail(JSONObject params) throws IOException {
|
||||||
log.info("查询资产详情信息参数为:"+params);
|
log.info("查询资产详情信息参数为:"+params);
|
||||||
|
String secHouse = params.getString("secHouse");
|
||||||
try{
|
try{
|
||||||
return success(assetsService.queryAssetsDetail(params));
|
return "0".equals(secHouse) ? success(assetsService.queryAssetsDetail(params)) : success(shAssetsService.queryAssetsDetail(params));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error(e.getMessage(),e);
|
log.error(e.getMessage(),e);
|
||||||
return fail(e.getMessage());
|
return fail(e.getMessage());
|
||||||
|
|||||||
Reference in New Issue
Block a user