Explorar el Código

添加业主功能重新做

wuxw hace 6 años
padre
commit
46095e7843

+ 165 - 0
Api/src/main/java/com/java110/api/listener/owner/BindingAddOwnerListener.java

@@ -0,0 +1,165 @@
+package com.java110.api.listener.owner;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.java110.common.util.StringUtil;
+import com.java110.api.listener.AbstractServiceApiListener;
+import com.java110.common.util.Assert;
+import com.java110.core.context.DataFlowContext;
+import com.java110.entity.center.AppService;
+import com.java110.event.service.api.ServiceDataFlowEvent;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.ResponseEntity;
+import com.java110.common.constant.CommonConstant;
+import com.java110.common.constant.ServiceCodeConstant;
+import com.java110.common.constant.BusinessTypeConstant;
+import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.common.constant.ServiceCodeAddOwnerConstant;
+
+
+import com.java110.core.annotation.Java110Listener;
+
+/**
+ * 保存小区侦听
+ * add by wuxw 2019-06-30
+ */
+@Java110Listener("bindingAddOwnerListener")
+public class BindingAddOwnerListener extends AbstractServiceApiListener {
+    @Override
+    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
+        //Assert.hasKeyAndValue(reqJson, "xxx", "xxx");
+        JSONArray infos = reqJson.getJSONArray("data");
+
+        Assert.hasKeyByFlowData(infos, "addOwner", "name", "必填,名称不能为空");
+        Assert.hasKeyByFlowData(infos, "addOwner", "sex", "必填,请选择性别");
+        Assert.hasKeyByFlowData(infos, "addOwner", "age", "必填,请填写年龄");
+
+    }
+
+    @Override
+    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
+
+        HttpHeaders header = new HttpHeaders();
+        context.getRequestCurrentHeaders().put(CommonConstant.HTTP_ORDER_TYPE_CD, "D");
+        JSONArray businesses = new JSONArray();
+
+        AppService service = event.getAppService();
+
+
+        JSONArray infos = reqJson.getJSONArray("data");
+
+
+        JSONObject viewFloorInfo = getObj(infos, "viewFloorInfo");
+        JSONObject sellRoomSelectRoom = getObj(infos, "sellRoomSelectRoom");
+        JSONObject addOwner = getObj(infos, "addOwner");
+        if (!hasKey(viewFloorInfo, "floorId")) {
+            viewFloorInfo.put("floorId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_floorId));
+            viewFloorInfo.put("userId", context.getRequestCurrentHeaders().get(CommonConstant.HTTP_USER_ID));
+            businesses.add(addBusinessFloor(viewFloorInfo, context));
+        }
+        if (!hasKey(sellRoomSelectRoom, "roomId")) {
+            sellRoomSelectRoom.put("roomId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_roomId));
+            sellRoomSelectRoom.put("userId", context.getRequestCurrentHeaders().get(CommonConstant.HTTP_USER_ID));
+            businesses.add(addBusinessRoom(sellRoomSelectRoom, context));
+        }
+        if (!hasKey(addOwner, "ownerId")) {
+            addOwner.put("ownerId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_ownerId));
+            addOwner.put("userId", context.getRequestCurrentHeaders().get(CommonConstant.HTTP_USER_ID));
+            businesses.add(addBusinessOwner(addOwner, context));
+        }
+
+
+        JSONObject paramInObj = super.restToCenterProtocol(businesses, context.getRequestCurrentHeaders());
+
+        //将 rest header 信息传递到下层服务中去
+        super.freshHttpHeader(header, context.getRequestCurrentHeaders());
+
+        ResponseEntity<String> responseEntity = this.callService(context, service.getServiceCode(), paramInObj);
+
+        context.setResponseEntity(responseEntity);
+    }
+
+    @Override
+    public String getServiceCode() {
+        return ServiceCodeAddOwnerConstant.BINDING_ADDOWNER;
+    }
+
+    @Override
+    public HttpMethod getHttpMethod() {
+        return HttpMethod.POST;
+    }
+
+    @Override
+    public int getOrder() {
+        return DEFAULT_ORDER;
+    }
+
+
+    private JSONObject addBusinessFloor(JSONObject paramInJson, DataFlowContext dataFlowContext) {
+        JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
+        business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_SAVE_FLOOR_INFO);
+        business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ);
+        business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
+        JSONObject businessObj = new JSONObject();
+        businessObj.putAll(paramInJson);
+        //计算 应收金额
+        business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessFloor", businessObj);
+        return business;
+    }
+
+    private JSONObject addBusinessRoom(JSONObject paramInJson, DataFlowContext dataFlowContext) {
+        JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
+        business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_SAVE_ROOM_INFO);
+        business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ);
+        business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
+        JSONObject businessObj = new JSONObject();
+        businessObj.putAll(paramInJson);
+        //计算 应收金额
+        business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessRoom", businessObj);
+        return business;
+    }
+
+    private JSONObject addBusinessOwner(JSONObject paramInJson, DataFlowContext dataFlowContext) {
+        JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
+        business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_SAVE_OWNER_INFO);
+        business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ);
+        business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
+        JSONObject businessObj = new JSONObject();
+        businessObj.putAll(paramInJson);
+        //计算 应收金额
+        business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessOwner", businessObj);
+        return business;
+    }
+
+
+    private boolean hasKey(JSONObject info, String key) {
+        if (!info.containsKey(key)
+                || StringUtil.isEmpty(info.getString(key))
+                || info.getString(key).startsWith("-")) {
+            return false;
+        }
+        return true;
+
+    }
+
+    private JSONObject getObj(JSONArray infos, String flowComponent) {
+
+        JSONObject serviceInfo = null;
+
+        for (int infoIndex = 0; infoIndex < infos.size(); infoIndex++) {
+
+            Assert.hasKeyAndValue(infos.getJSONObject(infoIndex), "flowComponent", "未包含服务流程组件名称");
+
+            if (flowComponent.equals(infos.getJSONObject(infoIndex).getString("flowComponent"))) {
+                serviceInfo = infos.getJSONObject(infoIndex);
+                Assert.notNull(serviceInfo, "未包含服务信息");
+                return serviceInfo;
+            }
+        }
+
+        throw new IllegalArgumentException("未找到组件编码为【" + flowComponent + "】数据");
+    }
+
+
+}

+ 34 - 0
WebService/src/main/java/com/java110/web/components/owner/AddOwnerBindingComponent.java

@@ -0,0 +1,34 @@
+package com.java110.web.components.owner;
+
+import com.java110.core.context.IPageData;
+import com.java110.web.smo.addOwner.IAddOwnerBindingSMO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Component;
+
+/**
+ * 添加添加业主组件
+ */
+@Component("addOwnerBinding")
+public class AddOwnerBindingComponent {
+
+    @Autowired
+    private IAddOwnerBindingSMO addOwnerBindingSMOImpl;
+
+    /**
+     * 添加添加业主数据
+     * @param pd 页面数据封装
+     * @return ResponseEntity 对象
+     */
+    public ResponseEntity<String> binding(IPageData pd){
+        return addOwnerBindingSMOImpl.bindingAddOwner(pd);
+    }
+
+    public IAddOwnerBindingSMO getAddOwnerBindingSMOImpl() {
+        return addOwnerBindingSMOImpl;
+    }
+
+    public void setAddOwnerBindingSMOImpl(IAddOwnerBindingSMO addOwnerBindingSMOImpl) {
+        this.addOwnerBindingSMOImpl = addOwnerBindingSMOImpl;
+    }
+}

+ 19 - 0
WebService/src/main/java/com/java110/web/smo/addOwner/IAddOwnerBindingSMO.java

@@ -0,0 +1,19 @@
+package com.java110.web.smo.addOwner;
+
+import com.java110.core.context.IPageData;
+import org.springframework.http.ResponseEntity;
+
+/**
+ * 添加添加业主接口
+ *
+ * add by wuxw 2019-06-30
+ */
+public interface IAddOwnerBindingSMO {
+
+    /**
+     * 添加添加业主
+     * @param pd 页面数据封装
+     * @return ResponseEntity 对象
+     */
+    ResponseEntity<String> bindingAddOwner(IPageData pd);
+}

+ 66 - 0
WebService/src/main/java/com/java110/web/smo/addOwner/impl/AddOwnerBindingSMOImpl.java

@@ -0,0 +1,66 @@
+package com.java110.web.smo.addOwner.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.JSONArray;
+import com.java110.common.constant.PrivilegeCodeConstant;
+import com.java110.common.constant.ServiceCodeAddOwnerConstant;
+import com.java110.common.constant.ServiceConstant;
+import com.java110.common.util.Assert;
+import com.java110.web.smo.addOwner.IAddOwnerBindingSMO;
+import org.springframework.web.client.RestTemplate;
+import com.java110.core.context.IPageData;
+import com.java110.web.core.AbstractComponentSMO;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.ResponseEntity;
+
+/**
+ * 添加小区服务实现类
+ * add by wuxw 2019-06-30
+ */
+@Service("addOwnerBindingSMOImpl")
+public class AddOwnerBindingSMOImpl extends AbstractComponentSMO implements IAddOwnerBindingSMO {
+
+    @Autowired
+    private RestTemplate restTemplate;
+
+    @Override
+    protected void validate(IPageData pd, JSONObject paramIn) {
+
+        //super.validatePageInfo(pd);
+        JSONArray infos = paramIn.getJSONArray("data");
+        //Assert.hasKeyAndValue(paramIn, "xxx", "xxx");
+        Assert.hasKeyByFlowData(infos, "addOwner", "name", "必填,名称不能为空");
+        Assert.hasKeyByFlowData(infos, "addOwner", "sex", "必填,请选择性别");
+        Assert.hasKeyByFlowData(infos, "addOwner", "age", "必填,请填写年龄");
+
+
+        super.checkUserHasPrivilege(pd, restTemplate, PrivilegeCodeConstant.PRIVILEGE_ROOM);
+
+    }
+
+    @Override
+    protected ResponseEntity<String> doBusinessProcess(IPageData pd, JSONObject paramIn) {
+        ResponseEntity<String> responseEntity = null;
+        super.validateStoreStaffCommunityRelationship(pd, restTemplate);
+
+        responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(),
+                ServiceConstant.SERVICE_API_URL + "/api/" + ServiceCodeAddOwnerConstant.BINDING_ADDOWNER,
+                HttpMethod.POST);
+        return responseEntity;
+    }
+
+    @Override
+    public ResponseEntity<String> bindingAddOwner(IPageData pd) {
+        return super.businessProcess(pd);
+    }
+
+    public RestTemplate getRestTemplate() {
+        return restTemplate;
+    }
+
+    public void setRestTemplate(RestTemplate restTemplate) {
+        this.restTemplate = restTemplate;
+    }
+}

WebService/src/main/resources/components/ownerPackage/add-owner/addOwner.html → WebService/src/main/resources/components/ownerPackage/add-owner-tmp/addOwnerTmp.html


WebService/src/main/resources/components/ownerPackage/add-owner/addOwner.js → WebService/src/main/resources/components/ownerPackage/add-owner-tmp/addOwnerTmp.js


+ 38 - 0
WebService/src/main/resources/components/ownerPackage/addOwner/addOwner.html

@@ -0,0 +1,38 @@
+<div id="component" >
+
+    <div class="java110_step">
+        <div id="step" ></div>
+    </div>
+
+    <!-- 选择 应用信息 -->
+   <div v-if="addOwnerInfo.index == 0">
+        <vc:create name="viewFloorInfo"
+                   callBackListener="addOwner"
+                   callBackFunction="notify"
+        ></vc:create>
+    </div>
+<div v-if="addOwnerInfo.index == 1">
+        <vc:create name="sellRoomSelectRoom"
+                   callBackListener="addOwner"
+                   callBackFunction="notify"
+        ></vc:create>
+    </div>
+<div v-if="addOwnerInfo.index == 2">
+        <vc:create name="addOwner"
+                   callBackListener="addOwner"
+                   callBackFunction="notify"
+        ></vc:create>
+    </div>
+
+
+
+    <div class="row">
+        <div class="col-md-10"></div>
+        <div class="col-md-2 " style="margin-bottom:10px; text-align:right">
+            <button type="button" class="btn btn-secondary" v-on:click="_prevStep()">上一步</button>
+            <button v-if="addOwnerInfo.index != 2" type="button" class="btn btn-primary" style="margin-left:10px;" v-on:click="_nextStep()">下一步</button>
+            <button v-if="addOwnerInfo.index == 2" type="button" class="btn btn-primary" style="margin-left:10px;" v-on:click="_finishStep()">完成</button>
+        </div>
+    </div>
+
+</div>

+ 93 - 0
WebService/src/main/resources/components/ownerPackage/addOwner/addOwner.js

@@ -0,0 +1,93 @@
+/**
+    入驻小区
+**/
+(function(vc){
+    vc.extends({
+        data:{
+            addOwnerInfo:{
+                $step:{},
+                index:0,
+                infos:[]
+            }
+        },
+        _initMethod:function(){
+            vc.component._initStep();
+        },
+        _initEvent:function(){
+            vc.on("addOwner", "notify", function(_info){
+                vc.component.addOwnerInfo.infos[vc.component.addOwnerInfo.index] = _info;
+            });
+
+        },
+        methods:{
+            _initStep:function(){
+                vc.component.addOwnerInfo.$step = $("#step");
+                vc.component.addOwnerInfo.$step.step({
+                    index: 0,
+                    time: 500,
+                    title: ["选择楼栋","选择房屋","填写业主信息"]
+                });
+                vc.component.addOwnerInfo.index = vc.component.addOwnerInfo.$step.getIndex();
+            },
+            _prevStep:function(){
+                vc.component.addOwnerInfo.$step.prevStep();
+                vc.component.addOwnerInfo.index = vc.component.addOwnerInfo.$step.getIndex();
+
+                vc.emit('viewFloorInfo', 'onIndex', vc.component.addOwnerInfo.index);
+vc.emit('sellRoomSelectRoom', 'onIndex', vc.component.addOwnerInfo.index);
+vc.emit('addOwner', 'onIndex', vc.component.addOwnerInfo.index);
+
+            },
+            _nextStep:function(){
+                var _currentData = vc.component.addOwnerInfo.infos[vc.component.addOwnerInfo.index];
+                if( _currentData == null || _currentData == undefined){
+                    vc.message("请选择或填写必选信息");
+                    return ;
+                }
+                vc.component.addOwnerInfo.$step.nextStep();
+                vc.component.addOwnerInfo.index = vc.component.addOwnerInfo.$step.getIndex();
+
+                 vc.emit('viewFloorInfo', 'onIndex', vc.component.addOwnerInfo.index);
+vc.emit('sellRoomSelectRoom', 'onIndex', vc.component.addOwnerInfo.index);
+vc.emit('addOwner', 'onIndex', vc.component.addOwnerInfo.index);
+
+            },
+            _finishStep:function(){
+
+
+                var _currentData = vc.component.addOwnerInfo.infos[vc.component.addOwnerInfo.index];
+                if( _currentData == null || _currentData == undefined){
+                    vc.message("请选择或填写必选信息");
+                    return ;
+                }
+
+                var param = {
+                    data:vc.component.addOwnerInfo.infos
+                }
+
+               vc.http.post(
+                   'addOwnerBinding',
+                   'binding',
+                   JSON.stringify(param),
+                   {
+                       emulateJSON:true
+                    },
+                    function(json,res){
+                       if(res.status == 200){
+
+                           vc.message('处理成功',true);
+                           //关闭model
+                           vc.jumpToPage("/flow/ownerFlow?" + vc.objToGetParam(JSON.parse(json)));
+                           return ;
+                       }
+                       vc.message(json);
+                    },
+                    function(errInfo,error){
+                       console.log('请求失败处理');
+
+                       vc.message(errInfo);
+                    });
+            }
+        }
+    });
+})(window.vc);

+ 47 - 0
WebService/src/main/resources/components/ownerPackage/addOwnerView/addOwnerView.html

@@ -0,0 +1,47 @@
+<div class="row">
+    <div class="col-lg-12">
+        <div class="ibox">
+            <div class="ibox-title">
+                <h5>添加业主</h5>
+                <div class="ibox-tools" style="top:10px;">
+
+                </div>
+            </div>
+            <div class="ibox-content">
+
+                <div class="form-group row">
+         <label class="col-sm-2 col-form-label">名称</label>
+         <div class="col-sm-10">
+           <input v-model="addOwnerViewInfo.name"                   type="text" placeholder="必填,请填写名称" class="form-control">
+         </div>
+</div>
+<div class="form-group row">
+         <label class="col-sm-2 col-form-label">性别</label>
+         <div class="col-sm-10">
+<select class="custom-select" v-model="addOwnerViewInfo.sex">
+         <option selected  disabled value="">必填,请选择性别</option>
+         <option  value="1">男</option>
+<option  value="0">女</option>
+  </select>         </div>
+</div>
+<div class="form-group row">
+         <label class="col-sm-2 col-form-label">年龄</label>
+         <div class="col-sm-10">
+           <input v-model="addOwnerViewInfo.age"                   type="text" placeholder="必填,请填写年龄" class="form-control">
+         </div>
+</div>
+<div class="form-group row">
+         <label class="col-sm-2 col-form-label">手机</label>
+         <div class="col-sm-10">
+<textarea  placeholder="选填,请填写手机" class="form-control" v-model="addOwnerViewInfo.link"></textarea>         </div>
+</div>
+<div class="form-group row">
+         <label class="col-sm-2 col-form-label">备注</label>
+         <div class="col-sm-10">
+<textarea  placeholder="选填,请填写备注" class="form-control" v-model="addOwnerViewInfo.remark"></textarea>         </div>
+</div>
+
+            </div>
+        </div>
+    </div>
+</div>

+ 104 - 0
WebService/src/main/resources/components/ownerPackage/addOwnerView/addOwnerView.js

@@ -0,0 +1,104 @@
+(function(vc){
+
+    vc.extends({
+        propTypes: {
+           callBackListener:vc.propTypes.string, //父组件名称
+           callBackFunction:vc.propTypes.string //父组件监听方法
+        },
+        data:{
+            addOwnerViewInfo:{
+                flowComponent:'addOwnerView',
+                name:'',
+sex:'',
+age:'',
+link:'',
+remark:'',
+
+            }
+        },
+        watch:{
+            addOwnerViewInfo:{
+                deep: true,
+                handler:function(){
+                    vc.component.saveAddOwnerInfo();
+                }
+             }
+        },
+         _initMethod:function(){
+
+         },
+         _initEvent:function(){
+
+            vc.on('addOwnerViewInfo', 'onIndex', function(_index){
+                vc.component.addOwnerViewInfo.index = _index;
+            });
+        },
+        methods:{
+            addOwnerValidate(){
+                return vc.validate.validate({
+                    addOwnerViewInfo:vc.component.addOwnerViewInfo
+                },{
+                    'addOwnerViewInfo.name':[
+{
+                            limit:"required",
+                            param:"",
+                            errInfo:"名称不能为空"
+                        },
+ {
+                            limit:"maxin",
+                            param:"2,10",
+                            errInfo:"名称长度必须在2位至10位"
+                        },
+                    ],
+'addOwnerViewInfo.sex':[
+{
+                            limit:"required",
+                            param:"",
+                            errInfo:"性别不能为空"
+                        },
+ {
+                            limit:"num",
+                            param:"",
+                            errInfo:"性别不能为空"
+                        },
+                    ],
+'addOwnerViewInfo.age':[
+{
+                            limit:"required",
+                            param:"",
+                            errInfo:"年龄不能为空"
+                        },
+ {
+                            limit:"num",
+                            param:"",
+                            errInfo:"年龄不是有效的数字"
+                        },
+                    ],
+'addOwnerViewInfo.link':[
+ {
+                            limit:"maxLength",
+                            param:"2000",
+                            errInfo:"输出模板不能超过2000"
+                        },
+                    ],
+'addOwnerViewInfo.remark':[
+ {
+                            limit:"maxLength",
+                            param:"200",
+                            errInfo:"备注长度不能超过200位"
+                        },
+                    ],
+
+                });
+            },
+            saveAddOwnerInfo:function(){
+                if(vc.component.addOwnerValidate()){
+                    //侦听回传
+                    vc.emit($props.callBackListener,$props.callBackFunction, vc.component.addOwnerViewInfo);
+                    return ;
+                }
+            }
+        }
+    });
+
+})(window.vc);

+ 38 - 0
WebService/src/main/resources/views/addOwnerFlow.html

@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html lang="en"
+      xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:th="http://www.thymeleaf.org"
+      xmlns:vc="http://www.thymeleaf.org">
+<head>
+    <meta charset="UTF-8"/>
+    <title>添加业主|java110</title>
+    <vc:create name="commonTop"></vc:create>
+    <link href="/css/jquery.step.css" rel="stylesheet"/>
+    <script src="/js/jquery.step.min.js" ></script>
+</head>
+<body>
+<vc:create name="bodyTop"></vc:create>
+<div id="wrapper">
+    <vc:create name="menu"></vc:create>
+
+
+    <div id="page-wrapper" class="gray-bg dashbard-1">
+        <div class="row border-bottom">
+            <vc:create name="nav"></vc:create>
+        </div>
+        <div class="wrapper wrapper-content" style="padding-bottom: 0px;">
+            <vc:create name="breadcrumb"></vc:create>
+        </div>
+        <!-- id="component" -->
+        <div class="wrapper wrapper-content animated fadeInRight">
+            <vc:create name="addOwner"></vc:create>
+        </div>
+
+        <vc:create name="copyright"></vc:create>
+
+    </div>
+</div>
+
+<vc:create name="commonBottom"></vc:create>
+</body>
+</html>

+ 3 - 3
java110-code-generator/src/main/resources/relationship/template_1.json

@@ -32,16 +32,16 @@
       "code":"owner",
       "flowKey": "ownerId",
       "cnCode":"填写业主信息",
-      "vcName":"addOwnerView",
+      "vcName":"addOwner",
       "businessName": "businessOwner",
       "businessType": "BUSINESS_TYPE_SAVE_OWNER_INFO",
       "existsComponent": false
     }
   ],
   "components": {
-      "addOwnerView": {
+      "addOwner": {
         "templateName":"添加业主",
-        "templateCode":"addOwnerView",
+        "templateCode":"addOwner",
         "package": "ownerPackage",
         "columns":[
           {

+ 16 - 0
java110-common/src/main/java/com/java110/common/constant/ServiceCodeAddOwnerConstant.java

@@ -0,0 +1,16 @@
+package com.java110.common.constant;
+
+/**
+ * 添加业主常量类
+ * Created by wuxw on 2017/5/20.
+ */
+public class ServiceCodeAddOwnerConstant {
+
+    /**
+     * 添加 添加业主
+     */
+    public static final String BINDING_ADDOWNER = "owner.addOwner";
+
+
+
+}