Просмотр исходного кода

代码自动生成功能开发测试完成,同事支持 JSONOject 和JSONArray

吴学文 лет назад: 7
Родитель
Сommit
ffcbbebc17
15 измененных файлов с 364 добавлено и 151 удалено
  1. 2 2
      CommunityService/src/main/java/com/java110/community/dao/IFloorServiceDao.java
  2. 4 17
      CommunityService/src/main/java/com/java110/community/dao/impl/FloorServiceDaoImpl.java
  3. 7 3
      CommunityService/src/main/java/com/java110/community/listener/floor/AbstractFloorBusinessServiceDataFlowListener.java
  4. 38 18
      CommunityService/src/main/java/com/java110/community/listener/floor/DeleteFloorInfoListener.java
  5. 24 18
      CommunityService/src/main/java/com/java110/community/listener/floor/SaveFloorInfoListener.java
  6. 39 17
      CommunityService/src/main/java/com/java110/community/listener/floor/UpdateFloorInfoListener.java
  7. 1 1
      java110-code-generator/src/main/java/com/java110/CodeGeneratorApp.java
  8. 3 3
      java110-code-generator/src/main/java/com/java110/code/GeneratorServiceDaoImplMapperListener.java
  9. 5 2
      java110-code-generator/src/main/resources/template/AbstractBusinessServiceDataFlowListener.txt
  10. 37 17
      java110-code-generator/src/main/resources/template/DeleteInfoListener.txt
  11. 2 2
      java110-code-generator/src/main/resources/template/IServiceDao.txt
  12. 25 19
      java110-code-generator/src/main/resources/template/SaveListener.txt
  13. 4 16
      java110-code-generator/src/main/resources/template/ServiceDaoImpl.txt
  14. 38 16
      java110-code-generator/src/main/resources/template/UpdateInfoListener.txt
  15. 135 0
      java110-config/src/main/resources/mapper/floor/FloorServiceDaoImplMapper.xml

+ 2 - 2
CommunityService/src/main/java/com/java110/community/dao/IFloorServiceDao.java

@@ -36,7 +36,7 @@ public interface IFloorServiceDao {
      * @return 小区楼信息
      * @throws DAOException
      */
-    public Map getBusinessFloorInfo(Map info) throws DAOException;
+    public List<Map> getBusinessFloorInfo(Map info) throws DAOException;
 
 
 
@@ -58,7 +58,7 @@ public interface IFloorServiceDao {
      * @return 小区楼信息
      * @throws DAOException
      */
-    public Map getFloorInfo(Map info) throws DAOException;
+    public List<Map> getFloorInfo(Map info) throws DAOException;
 
 
 

+ 4 - 17
CommunityService/src/main/java/com/java110/community/dao/impl/FloorServiceDaoImpl.java

@@ -9,7 +9,6 @@ import com.java110.core.base.dao.BaseServiceDao;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
 import java.util.Map;
@@ -49,19 +48,13 @@ public class FloorServiceDaoImpl extends BaseServiceDao implements IFloorService
      * @throws DAOException
      */
     @Override
-    public Map getBusinessFloorInfo(Map info) throws DAOException {
+    public List<Map> getBusinessFloorInfo(Map info) throws DAOException {
 
         logger.debug("查询小区楼信息 入参 info : {}",info);
 
         List<Map> businessFloorInfos = sqlSessionTemplate.selectList("floorServiceDaoImpl.getBusinessFloorInfo",info);
-        if(businessFloorInfos == null){
-            return null;
-        }
-        if(businessFloorInfos.size() >1){
-            throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR,"根据条件查询有多条数据,数据异常,请检查:businessFloorInfos,"+ JSONObject.toJSONString(info));
-        }
 
-        return businessFloorInfos.get(0);
+        return businessFloorInfos;
     }
 
 
@@ -90,18 +83,12 @@ public class FloorServiceDaoImpl extends BaseServiceDao implements IFloorService
      * @throws DAOException
      */
     @Override
-    public Map getFloorInfo(Map info) throws DAOException {
+    public List<Map> getFloorInfo(Map info) throws DAOException {
         logger.debug("查询小区楼信息 入参 info : {}",info);
 
         List<Map> businessFloorInfos = sqlSessionTemplate.selectList("floorServiceDaoImpl.getFloorInfo",info);
-        if(businessFloorInfos == null || businessFloorInfos.size() == 0){
-            return null;
-        }
-        if(businessFloorInfos.size() >1){
-            throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR,"根据条件查询有多条数据,数据异常,请检查:getFloorInfo,"+ JSONObject.toJSONString(info));
-        }
 
-        return businessFloorInfos.get(0);
+        return businessFloorInfos;
     }
 
 

+ 7 - 3
CommunityService/src/main/java/com/java110/community/listener/floor/AbstractFloorBusinessServiceDataFlowListener.java

@@ -5,7 +5,6 @@ import com.java110.common.constant.ResponseConstant;
 import com.java110.common.constant.StatusConstant;
 import com.java110.common.exception.ListenerExecuteException;
 import com.java110.community.dao.IFloorServiceDao;
-import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.entity.center.Business;
 import com.java110.event.service.AbstractBusinessServiceDataFlowListener;
 import org.slf4j.Logger;
@@ -39,6 +38,7 @@ public abstract class AbstractFloorBusinessServiceDataFlowListener extends Abstr
         businessFloorInfo.put("newBId",businessFloorInfo.get("b_id"));
         businessFloorInfo.put("floorId",businessFloorInfo.get("floor_id"));
 businessFloorInfo.put("operate",businessFloorInfo.get("operate"));
+businessFloorInfo.put("name",businessFloorInfo.get("name"));
 businessFloorInfo.put("remark",businessFloorInfo.get("remark"));
 businessFloorInfo.put("userId",businessFloorInfo.get("user_id"));
 businessFloorInfo.put("floorNum",businessFloorInfo.get("floor_num"));
@@ -56,14 +56,18 @@ businessFloorInfo.put("floorNum",businessFloorInfo.get("floor_num"));
         Map info = new HashMap();
         info.put("floorId",businessFloor.getString("floorId"));
         info.put("statusCd",StatusConstant.STATUS_CD_VALID);
-        Map currentFloorInfo = getFloorServiceDaoImpl().getFloorInfo(info);
-        if(currentFloorInfo == null || currentFloorInfo.isEmpty()){
+        List<Map> currentFloorInfos = getFloorServiceDaoImpl().getFloorInfo(info);
+        if(currentFloorInfos == null || currentFloorInfos.size() != 1){
             throw new ListenerExecuteException(ResponseConstant.RESULT_PARAM_ERROR,"未找到需要修改数据信息,入参错误或数据有问题,请检查"+info);
         }
+
+        Map currentFloorInfo = currentFloorInfos.get(0);
+
         currentFloorInfo.put("bId",business.getbId());
 
         currentFloorInfo.put("floorId",currentFloorInfo.get("floor_id"));
 currentFloorInfo.put("operate",currentFloorInfo.get("operate"));
+currentFloorInfo.put("name",currentFloorInfo.get("name"));
 currentFloorInfo.put("remark",currentFloorInfo.get("remark"));
 currentFloorInfo.put("userId",currentFloorInfo.get("user_id"));
 currentFloorInfo.put("floorNum",currentFloorInfo.get("floor_num"));

+ 38 - 18
CommunityService/src/main/java/com/java110/community/listener/floor/DeleteFloorInfoListener.java

@@ -7,10 +7,10 @@ import com.java110.common.constant.ResponseConstant;
 import com.java110.common.constant.StatusConstant;
 import com.java110.common.exception.ListenerExecuteException;
 import com.java110.common.util.Assert;
+import com.java110.community.dao.IFloorServiceDao;
 import com.java110.core.annotation.Java110Listener;
 import com.java110.core.context.DataFlowContext;
 import com.java110.entity.center.Business;
-import com.java110.community.dao.IFloorServiceDao;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -60,11 +60,27 @@ public class DeleteFloorInfoListener extends AbstractFloorBusinessServiceDataFlo
 
         Assert.notEmpty(data,"没有datas 节点,或没有子节点需要处理");
 
-        //处理 businessFloor 节点 按理这里不应该处理,程序上支持,以防真有这种业务
+        //处理 businessFloor 节点
         if(data.containsKey("businessFloor")){
-            JSONObject businessFloor = data.getJSONObject("businessFloor");
-            doBusinessFloor(business,businessFloor);
-            dataFlowContext.addParamOut("floorId",businessFloor.getString("floorId"));
+            //处理 businessFloor 节点
+            if(data.containsKey("businessFloor")){
+                Object _obj = data.get("businessFloor");
+                JSONArray businessFloors = null;
+                if(_obj instanceof JSONObject){
+                    businessFloors = new JSONArray();
+                    businessFloors.add(_obj);
+                }else {
+                    businessFloors = (JSONArray)_obj;
+                }
+                //JSONObject businessFloor = data.getJSONObject("businessFloor");
+                for (int _floorIndex = 0; _floorIndex < businessFloors.size();_floorIndex++) {
+                    JSONObject businessFloor = businessFloors.getJSONObject(_floorIndex);
+                    doBusinessFloor(business, businessFloor);
+                    if(_obj instanceof JSONObject) {
+                        dataFlowContext.addParamOut("floorId", businessFloor.getString("floorId"));
+                    }
+                }
+            }
         }
 
 
@@ -86,11 +102,14 @@ public class DeleteFloorInfoListener extends AbstractFloorBusinessServiceDataFlo
         info.put("operate",StatusConstant.OPERATE_DEL);
 
         //小区楼信息
-        Map businessFloorInfo = floorServiceDaoImpl.getBusinessFloorInfo(info);
-        if( businessFloorInfo != null && !businessFloorInfo.isEmpty()) {
-            flushBusinessFloorInfo(businessFloorInfo,StatusConstant.STATUS_CD_INVALID);
-            floorServiceDaoImpl.updateFloorInfoInstance(businessFloorInfo);
-            dataFlowContext.addParamOut("floorId",businessFloorInfo.get("floor_id"));
+        List<Map> businessFloorInfos = floorServiceDaoImpl.getBusinessFloorInfo(info);
+        if( businessFloorInfos != null && businessFloorInfos.size() >0) {
+            for (int _floorIndex = 0; _floorIndex < businessFloorInfos.size();_floorIndex++) {
+                Map businessFloorInfo = businessFloorInfos.get(_floorIndex);
+                flushBusinessFloorInfo(businessFloorInfo,StatusConstant.STATUS_CD_INVALID);
+                floorServiceDaoImpl.updateFloorInfoInstance(businessFloorInfo);
+                dataFlowContext.addParamOut("floorId",businessFloorInfo.get("floor_id"));
+            }
         }
 
     }
@@ -113,19 +132,20 @@ public class DeleteFloorInfoListener extends AbstractFloorBusinessServiceDataFlo
         delInfo.put("bId",business.getbId());
         delInfo.put("operate",StatusConstant.OPERATE_DEL);
         //小区楼信息
-        Map floorInfo = floorServiceDaoImpl.getFloorInfo(info);
-        if(floorInfo != null && !floorInfo.isEmpty()){
+        List<Map> floorInfo = floorServiceDaoImpl.getFloorInfo(info);
+        if(floorInfo != null && floorInfo.size() > 0){
 
             //小区楼信息
-            Map businessFloorInfo = floorServiceDaoImpl.getBusinessFloorInfo(delInfo);
+            List<Map> businessFloorInfos = floorServiceDaoImpl.getBusinessFloorInfo(delInfo);
             //除非程序出错了,这里不会为空
-            if(businessFloorInfo == null || businessFloorInfo.isEmpty()){
+            if(businessFloorInfos == null ||  businessFloorInfos.size() == 0){
                 throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_INNER_ERROR,"撤单失败(floor),程序内部异常,请检查! "+delInfo);
             }
-
-            flushBusinessFloorInfo(businessFloorInfo,StatusConstant.STATUS_CD_VALID);
-            floorServiceDaoImpl.updateFloorInfoInstance(businessFloorInfo);
-            dataFlowContext.addParamOut("floorId",floorInfo.get("floor_id"));
+            for (int _floorIndex = 0; _floorIndex < businessFloorInfos.size();_floorIndex++) {
+                Map businessFloorInfo = businessFloorInfos.get(_floorIndex);
+                flushBusinessFloorInfo(businessFloorInfo,StatusConstant.STATUS_CD_VALID);
+                floorServiceDaoImpl.updateFloorInfoInstance(businessFloorInfo);
+            }
         }
     }
 

+ 24 - 18
CommunityService/src/main/java/com/java110/community/listener/floor/SaveFloorInfoListener.java

@@ -3,25 +3,18 @@ package com.java110.community.listener.floor;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.common.constant.BusinessTypeConstant;
-import com.java110.common.constant.ResponseConstant;
-import com.java110.common.constant.ServiceCodeConstant;
 import com.java110.common.constant.StatusConstant;
-import com.java110.common.exception.ListenerExecuteException;
 import com.java110.common.util.Assert;
-import com.java110.common.util.DateUtil;
-import com.java110.common.util.StringUtil;
+import com.java110.community.dao.IFloorServiceDao;
 import com.java110.core.annotation.Java110Listener;
 import com.java110.core.context.DataFlowContext;
 import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.entity.center.Business;
-import com.java110.community.dao.IFloorServiceDao;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.text.ParseException;
-import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -61,9 +54,22 @@ public class SaveFloorInfoListener extends AbstractFloorBusinessServiceDataFlowL
 
         //处理 businessFloor 节点
         if(data.containsKey("businessFloor")){
-            JSONObject businessFloor = data.getJSONObject("businessFloor");
-            doBusinessFloor(business,businessFloor);
-            dataFlowContext.addParamOut("floorId",businessFloor.getString("floorId"));
+            Object _obj = data.get("businessFloor");
+            JSONArray businessFloors = null;
+            if(_obj instanceof JSONObject){
+                businessFloors = new JSONArray();
+                businessFloors.add(_obj);
+            }else {
+                businessFloors = (JSONArray)_obj;
+            }
+            //JSONObject businessFloor = data.getJSONObject("businessFloor");
+            for (int _floorIndex = 0; _floorIndex < businessFloors.size();_floorIndex++) {
+                JSONObject businessFloor = businessFloors.getJSONObject(_floorIndex);
+                doBusinessFloor(business, businessFloor);
+                if(_obj instanceof JSONObject) {
+                    dataFlowContext.addParamOut("floorId", businessFloor.getString("floorId"));
+                }
+            }
         }
     }
 
@@ -81,10 +87,12 @@ public class SaveFloorInfoListener extends AbstractFloorBusinessServiceDataFlowL
         info.put("operate",StatusConstant.OPERATE_ADD);
 
         //小区楼信息
-        Map businessFloorInfo = floorServiceDaoImpl.getBusinessFloorInfo(info);
-        if( businessFloorInfo != null && !businessFloorInfo.isEmpty()) {
+        List<Map> businessFloorInfo = floorServiceDaoImpl.getBusinessFloorInfo(info);
+        if( businessFloorInfo != null && businessFloorInfo.size() >0) {
             floorServiceDaoImpl.saveFloorInfoInstance(info);
-            dataFlowContext.addParamOut("floorId",businessFloorInfo.get("floor_id"));
+            if(businessFloorInfo.size() == 1) {
+                dataFlowContext.addParamOut("floorId", businessFloorInfo.get(0).get("floor_id"));
+            }
         }
     }
 
@@ -104,11 +112,9 @@ public class SaveFloorInfoListener extends AbstractFloorBusinessServiceDataFlowL
         paramIn.put("bId",bId);
         paramIn.put("statusCd",StatusConstant.STATUS_CD_INVALID);
         //小区楼信息
-        Map floorInfo = floorServiceDaoImpl.getFloorInfo(info);
-        if(floorInfo != null && !floorInfo.isEmpty()){
-            paramIn.put("floorId",floorInfo.get("floor_id").toString());
+        List<Map> floorInfo = floorServiceDaoImpl.getFloorInfo(info);
+        if(floorInfo != null && floorInfo.size() > 0){
             floorServiceDaoImpl.updateFloorInfoInstance(paramIn);
-            dataFlowContext.addParamOut("floorId",floorInfo.get("floor_id"));
         }
     }
 

+ 39 - 17
CommunityService/src/main/java/com/java110/community/listener/floor/UpdateFloorInfoListener.java

@@ -7,10 +7,10 @@ import com.java110.common.constant.ResponseConstant;
 import com.java110.common.constant.StatusConstant;
 import com.java110.common.exception.ListenerExecuteException;
 import com.java110.common.util.Assert;
+import com.java110.community.dao.IFloorServiceDao;
 import com.java110.core.annotation.Java110Listener;
 import com.java110.core.context.DataFlowContext;
 import com.java110.entity.center.Business;
-import com.java110.community.dao.IFloorServiceDao;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -63,9 +63,25 @@ public class UpdateFloorInfoListener extends AbstractFloorBusinessServiceDataFlo
 
         //处理 businessFloor 节点
         if(data.containsKey("businessFloor")){
-            JSONObject businessFloor = data.getJSONObject("businessFloor");
-            doBusinessFloor(business,businessFloor);
-            dataFlowContext.addParamOut("floorId",businessFloor.getString("floorId"));
+            //处理 businessFloor 节点
+            if(data.containsKey("businessFloor")){
+                Object _obj = data.get("businessFloor");
+                JSONArray businessFloors = null;
+                if(_obj instanceof JSONObject){
+                    businessFloors = new JSONArray();
+                    businessFloors.add(_obj);
+                }else {
+                    businessFloors = (JSONArray)_obj;
+                }
+                //JSONObject businessFloor = data.getJSONObject("businessFloor");
+                for (int _floorIndex = 0; _floorIndex < businessFloors.size();_floorIndex++) {
+                    JSONObject businessFloor = businessFloors.getJSONObject(_floorIndex);
+                    doBusinessFloor(business, businessFloor);
+                    if(_obj instanceof JSONObject) {
+                        dataFlowContext.addParamOut("floorId", businessFloor.getString("floorId"));
+                    }
+                }
+            }
         }
     }
 
@@ -85,11 +101,16 @@ public class UpdateFloorInfoListener extends AbstractFloorBusinessServiceDataFlo
         info.put("operate",StatusConstant.OPERATE_ADD);
 
         //小区楼信息
-        Map businessFloorInfo = floorServiceDaoImpl.getBusinessFloorInfo(info);
-        if( businessFloorInfo != null && !businessFloorInfo.isEmpty()) {
-            flushBusinessFloorInfo(businessFloorInfo,StatusConstant.STATUS_CD_VALID);
-            floorServiceDaoImpl.updateFloorInfoInstance(businessFloorInfo);
-            dataFlowContext.addParamOut("floorId",businessFloorInfo.get("floor_id"));
+        List<Map> businessFloorInfos = floorServiceDaoImpl.getBusinessFloorInfo(info);
+        if( businessFloorInfos != null && businessFloorInfos.size() >0) {
+            for (int _floorIndex = 0; _floorIndex < businessFloorInfos.size();_floorIndex++) {
+                Map businessFloorInfo = businessFloorInfos.get(_floorIndex);
+                flushBusinessFloorInfo(businessFloorInfo,StatusConstant.STATUS_CD_VALID);
+                floorServiceDaoImpl.updateFloorInfoInstance(businessFloorInfo);
+                if(businessFloorInfo.size() == 1) {
+                    dataFlowContext.addParamOut("floorId", businessFloorInfo.get("floor_id"));
+                }
+            }
         }
 
     }
@@ -111,19 +132,20 @@ public class UpdateFloorInfoListener extends AbstractFloorBusinessServiceDataFlo
         delInfo.put("bId",business.getbId());
         delInfo.put("operate",StatusConstant.OPERATE_DEL);
         //小区楼信息
-        Map floorInfo = floorServiceDaoImpl.getFloorInfo(info);
-        if(floorInfo != null && !floorInfo.isEmpty()){
+        List<Map> floorInfo = floorServiceDaoImpl.getFloorInfo(info);
+        if(floorInfo != null && floorInfo.size() > 0){
 
             //小区楼信息
-            Map businessFloorInfo = floorServiceDaoImpl.getBusinessFloorInfo(delInfo);
+            List<Map> businessFloorInfos = floorServiceDaoImpl.getBusinessFloorInfo(delInfo);
             //除非程序出错了,这里不会为空
-            if(businessFloorInfo == null || businessFloorInfo.isEmpty()){
+            if(businessFloorInfos == null || businessFloorInfos.size() == 0){
                 throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_INNER_ERROR,"撤单失败(floor),程序内部异常,请检查! "+delInfo);
             }
-
-            flushBusinessFloorInfo(businessFloorInfo,StatusConstant.STATUS_CD_VALID);
-            floorServiceDaoImpl.updateFloorInfoInstance(businessFloorInfo);
-            dataFlowContext.addParamOut("floorId",floorInfo.get("floor_id"));
+            for (int _floorIndex = 0; _floorIndex < businessFloorInfos.size();_floorIndex++) {
+                Map businessFloorInfo = businessFloorInfos.get(_floorIndex);
+                flushBusinessFloorInfo(businessFloorInfo,StatusConstant.STATUS_CD_VALID);
+                floorServiceDaoImpl.updateFloorInfoInstance(businessFloorInfo);
+            }
         }
 
     }

+ 1 - 1
java110-code-generator/src/main/java/com/java110/CodeGeneratorApp.java

@@ -29,7 +29,7 @@ public class CodeGeneratorApp
         param.put("floorId","floor_id");
         param.put("bId","b_id");
         param.put("floorNum","floor_num");
-        param.put("userId","user_id");
+        param.put("name","name");
         param.put("statusCd","status_cd");
         param.put("userId","user_id");
         param.put("remark","remark");

+ 3 - 3
java110-code-generator/src/main/java/com/java110/code/GeneratorServiceDaoImplMapperListener.java

@@ -15,7 +15,7 @@ public class GeneratorServiceDaoImplMapperListener extends BaseGenerator {
     //        values(#{storeId},#{bId},#{userId},#{name},#{address},#{tel},#{storeTypeCd},#{nearbyLandmarks},#{mapX},#{mapY},#{month},#{operate})
 
     private String dealSaveBusinessInfo(Data data,String fileContext){
-        String sql = "insert info "+ data.getBusinessTableName() + "(\n";
+        String sql = "insert into "+ data.getBusinessTableName() + "(\n";
         String sqlValue = "\n) values (\n";
 
         Map<String,String> params = data.getParams();
@@ -89,7 +89,7 @@ public class GeneratorServiceDaoImplMapperListener extends BaseGenerator {
      *         s.operate = 'ADD' and s.b_id=#{bId}
      */
     private String dealSaveInfoInstance(Data data,String fileContext){
-        String sql = "insert info "+ data.getTableName() + "(\n";
+        String sql = "insert into "+ data.getTableName() + "(\n";
         String sqlValue = "select ";
         String sqlWhere = " from "+ data.getBusinessTableName() +" t where 1=1\n";
 
@@ -127,7 +127,7 @@ public class GeneratorServiceDaoImplMapperListener extends BaseGenerator {
         sql = sql.endsWith(",")?sql.substring(0,sql.length()-1):sql;
         sqlValue = sqlValue.endsWith(",")?sqlValue.substring(0,sqlValue.length()-1):sqlValue;
 
-        sql += (sqlValue +"\n)" + sqlWhere);
+        sql += ("\n) "+ sqlValue + sqlWhere);
 
         fileContext = fileContext.replace("$saveInfoInstance$",sql);
 

+ 5 - 2
java110-code-generator/src/main/resources/template/AbstractBusinessServiceDataFlowListener.txt

@@ -51,10 +51,13 @@ public abstract class AbstractStoreBusinessServiceDataFlowListener extends Abstr
         Map info = new HashMap();
         info.put("storeId",businessStore.getString("storeId"));
         info.put("statusCd",StatusConstant.STATUS_CD_VALID);
-        Map currentStoreInfo = getStoreServiceDaoImpl().getStoreInfo(info);
-        if(currentStoreInfo == null || currentStoreInfo.isEmpty()){
+        List<Map> currentStoreInfos = getStoreServiceDaoImpl().getStoreInfo(info);
+        if(currentStoreInfos == null || currentStoreInfos.size() != 1){
             throw new ListenerExecuteException(ResponseConstant.RESULT_PARAM_ERROR,"未找到需要修改数据信息,入参错误或数据有问题,请检查"+info);
         }
+
+        Map currentStoreInfo = currentStoreInfos.get(0);
+
         currentStoreInfo.put("bId",business.getbId());
 
         $autoSaveDelBusiness$

+ 37 - 17
java110-code-generator/src/main/resources/template/DeleteInfoListener.txt

@@ -60,11 +60,27 @@ public class DeleteStoreInfoListener extends AbstractStoreBusinessServiceDataFlo
 
         Assert.notEmpty(data,"没有datas 节点,或没有子节点需要处理");
 
-        //处理 businessStore 节点 按理这里不应该处理,程序上支持,以防真有这种业务
+        //处理 businessStore 节点
         if(data.containsKey("businessStore")){
-            JSONObject businessStore = data.getJSONObject("businessStore");
-            doBusinessStore(business,businessStore);
-            dataFlowContext.addParamOut("storeId",businessStore.getString("storeId"));
+            //处理 businessStore 节点
+            if(data.containsKey("businessStore")){
+                Object _obj = data.get("businessStore");
+                JSONArray businessStores = null;
+                if(_obj instanceof JSONObject){
+                    businessStores = new JSONArray();
+                    businessStores.add(_obj);
+                }else {
+                    businessStores = (JSONArray)_obj;
+                }
+                //JSONObject businessStore = data.getJSONObject("businessStore");
+                for (int _storeIndex = 0; _storeIndex < businessStores.size();_storeIndex++) {
+                    JSONObject businessStore = businessStores.getJSONObject(_storeIndex);
+                    doBusinessStore(business, businessStore);
+                    if(_obj instanceof JSONObject) {
+                        dataFlowContext.addParamOut("storeId", businessStore.getString("storeId"));
+                    }
+                }
+            }
         }
 
 
@@ -86,11 +102,14 @@ public class DeleteStoreInfoListener extends AbstractStoreBusinessServiceDataFlo
         info.put("operate",StatusConstant.OPERATE_DEL);
 
         //商户信息
-        Map businessStoreInfo = storeServiceDaoImpl.getBusinessStoreInfo(info);
-        if( businessStoreInfo != null && !businessStoreInfo.isEmpty()) {
-            flushBusinessStoreInfo(businessStoreInfo,StatusConstant.STATUS_CD_INVALID);
-            storeServiceDaoImpl.updateStoreInfoInstance(businessStoreInfo);
-            dataFlowContext.addParamOut("storeId",businessStoreInfo.get("store_id"));
+        List<Map> businessStoreInfos = storeServiceDaoImpl.getBusinessStoreInfo(info);
+        if( businessStoreInfos != null && businessStoreInfos.size() >0) {
+            for (int _storeIndex = 0; _storeIndex < businessStoreInfos.size();_storeIndex++) {
+                Map businessStoreInfo = businessStoreInfos.get(_storeIndex);
+                flushBusinessStoreInfo(businessStoreInfo,StatusConstant.STATUS_CD_INVALID);
+                storeServiceDaoImpl.updateStoreInfoInstance(businessStoreInfo);
+                dataFlowContext.addParamOut("storeId",businessStoreInfo.get("store_id"));
+            }
         }
 
     }
@@ -113,19 +132,20 @@ public class DeleteStoreInfoListener extends AbstractStoreBusinessServiceDataFlo
         delInfo.put("bId",business.getbId());
         delInfo.put("operate",StatusConstant.OPERATE_DEL);
         //商户信息
-        Map storeInfo = storeServiceDaoImpl.getStoreInfo(info);
-        if(storeInfo != null && !storeInfo.isEmpty()){
+        List<Map> storeInfo = storeServiceDaoImpl.getStoreInfo(info);
+        if(storeInfo != null && storeInfo.size() > 0){
 
             //商户信息
-            Map businessStoreInfo = storeServiceDaoImpl.getBusinessStoreInfo(delInfo);
+            List<Map> businessStoreInfos = storeServiceDaoImpl.getBusinessStoreInfo(delInfo);
             //除非程序出错了,这里不会为空
-            if(businessStoreInfo == null || businessStoreInfo.isEmpty()){
+            if(businessStoreInfos == null ||  businessStoreInfos.size() == 0){
                 throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_INNER_ERROR,"撤单失败(store),程序内部异常,请检查! "+delInfo);
             }
-
-            flushBusinessStoreInfo(businessStoreInfo,StatusConstant.STATUS_CD_VALID);
-            storeServiceDaoImpl.updateStoreInfoInstance(businessStoreInfo);
-            dataFlowContext.addParamOut("storeId",storeInfo.get("store_id"));
+            for (int _storeIndex = 0; _storeIndex < businessStoreInfos.size();_storeIndex++) {
+                Map businessStoreInfo = businessStoreInfos.get(_storeIndex);
+                flushBusinessStoreInfo(businessStoreInfo,StatusConstant.STATUS_CD_VALID);
+                storeServiceDaoImpl.updateStoreInfoInstance(businessStoreInfo);
+            }
         }
     }
 

+ 2 - 2
java110-code-generator/src/main/resources/template/IServiceDao.txt

@@ -36,7 +36,7 @@ public interface IStoreServiceDao {
      * @return 商户信息
      * @throws DAOException
      */
-    public Map getBusinessStoreInfo(Map info) throws DAOException;
+    public List<Map> getBusinessStoreInfo(Map info) throws DAOException;
 
 
 
@@ -58,7 +58,7 @@ public interface IStoreServiceDao {
      * @return 商户信息
      * @throws DAOException
      */
-    public Map getStoreInfo(Map info) throws DAOException;
+    public List<Map> getStoreInfo(Map info) throws DAOException;
 
 
 

+ 25 - 19
java110-code-generator/src/main/resources/template/SaveListener.txt

@@ -1,27 +1,20 @@
-package com.java110.store.listener;
+package com.java110.community.listener.store;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.common.constant.BusinessTypeConstant;
-import com.java110.common.constant.ResponseConstant;
-import com.java110.common.constant.ServiceCodeConstant;
 import com.java110.common.constant.StatusConstant;
-import com.java110.common.exception.ListenerExecuteException;
 import com.java110.common.util.Assert;
-import com.java110.common.util.DateUtil;
-import com.java110.common.util.StringUtil;
+import com.java110.community.dao.IStoreServiceDao;
 import com.java110.core.annotation.Java110Listener;
 import com.java110.core.context.DataFlowContext;
 import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.entity.center.Business;
-import com.java110.store.dao.IStoreServiceDao;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.text.ParseException;
-import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -61,9 +54,22 @@ public class SaveStoreInfoListener extends AbstractStoreBusinessServiceDataFlowL
 
         //处理 businessStore 节点
         if(data.containsKey("businessStore")){
-            JSONObject businessStore = data.getJSONObject("businessStore");
-            doBusinessStore(business,businessStore);
-            dataFlowContext.addParamOut("storeId",businessStore.getString("storeId"));
+            Object _obj = data.get("businessStore");
+            JSONArray businessStores = null;
+            if(_obj instanceof JSONObject){
+                businessStores = new JSONArray();
+                businessStores.add(_obj);
+            }else {
+                businessStores = (JSONArray)_obj;
+            }
+            //JSONObject businessStore = data.getJSONObject("businessStore");
+            for (int _storeIndex = 0; _storeIndex < businessStores.size();_storeIndex++) {
+                JSONObject businessStore = businessStores.getJSONObject(_storeIndex);
+                doBusinessStore(business, businessStore);
+                if(_obj instanceof JSONObject) {
+                    dataFlowContext.addParamOut("storeId", businessStore.getString("storeId"));
+                }
+            }
         }
     }
 
@@ -81,10 +87,12 @@ public class SaveStoreInfoListener extends AbstractStoreBusinessServiceDataFlowL
         info.put("operate",StatusConstant.OPERATE_ADD);
 
         //商户信息
-        Map businessStoreInfo = storeServiceDaoImpl.getBusinessStoreInfo(info);
-        if( businessStoreInfo != null && !businessStoreInfo.isEmpty()) {
+        List<Map> businessStoreInfo = storeServiceDaoImpl.getBusinessStoreInfo(info);
+        if( businessStoreInfo != null && businessStoreInfo.size() >0) {
             storeServiceDaoImpl.saveStoreInfoInstance(info);
-            dataFlowContext.addParamOut("storeId",businessStoreInfo.get("store_id"));
+            if(businessStoreInfo.size() == 1) {
+                dataFlowContext.addParamOut("storeId", businessStoreInfo.get(0).get("store_id"));
+            }
         }
     }
 
@@ -104,11 +112,9 @@ public class SaveStoreInfoListener extends AbstractStoreBusinessServiceDataFlowL
         paramIn.put("bId",bId);
         paramIn.put("statusCd",StatusConstant.STATUS_CD_INVALID);
         //商户信息
-        Map storeInfo = storeServiceDaoImpl.getStoreInfo(info);
-        if(storeInfo != null && !storeInfo.isEmpty()){
-            paramIn.put("storeId",storeInfo.get("store_id").toString());
+        List<Map> storeInfo = storeServiceDaoImpl.getStoreInfo(info);
+        if(storeInfo != null && storeInfo.size() > 0){
             storeServiceDaoImpl.updateStoreInfoInstance(paramIn);
-            dataFlowContext.addParamOut("storeId",storeInfo.get("store_id"));
         }
     }
 

+ 4 - 16
java110-code-generator/src/main/resources/template/ServiceDaoImpl.txt

@@ -49,19 +49,13 @@ public class StoreServiceDaoImpl extends BaseServiceDao implements IStoreService
      * @throws DAOException
      */
     @Override
-    public Map getBusinessStoreInfo(Map info) throws DAOException {
+    public List<Map> getBusinessStoreInfo(Map info) throws DAOException {
 
         logger.debug("查询商户信息 入参 info : {}",info);
 
         List<Map> businessStoreInfos = sqlSessionTemplate.selectList("storeServiceDaoImpl.getBusinessStoreInfo",info);
-        if(businessStoreInfos == null){
-            return null;
-        }
-        if(businessStoreInfos.size() >1){
-            throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR,"根据条件查询有多条数据,数据异常,请检查:businessStoreInfos,"+ JSONObject.toJSONString(info));
-        }
 
-        return businessStoreInfos.get(0);
+        return businessStoreInfos;
     }
 
 
@@ -90,18 +84,12 @@ public class StoreServiceDaoImpl extends BaseServiceDao implements IStoreService
      * @throws DAOException
      */
     @Override
-    public Map getStoreInfo(Map info) throws DAOException {
+    public List<Map> getStoreInfo(Map info) throws DAOException {
         logger.debug("查询商户信息 入参 info : {}",info);
 
         List<Map> businessStoreInfos = sqlSessionTemplate.selectList("storeServiceDaoImpl.getStoreInfo",info);
-        if(businessStoreInfos == null || businessStoreInfos.size() == 0){
-            return null;
-        }
-        if(businessStoreInfos.size() >1){
-            throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR,"根据条件查询有多条数据,数据异常,请检查:getStoreInfo,"+ JSONObject.toJSONString(info));
-        }
 
-        return businessStoreInfos.get(0);
+        return businessStoreInfos;
     }
 
 

+ 38 - 16
java110-code-generator/src/main/resources/template/UpdateInfoListener.txt

@@ -63,9 +63,25 @@ public class UpdateStoreInfoListener extends AbstractStoreBusinessServiceDataFlo
 
         //处理 businessStore 节点
         if(data.containsKey("businessStore")){
-            JSONObject businessStore = data.getJSONObject("businessStore");
-            doBusinessStore(business,businessStore);
-            dataFlowContext.addParamOut("storeId",businessStore.getString("storeId"));
+            //处理 businessStore 节点
+            if(data.containsKey("businessStore")){
+                Object _obj = data.get("businessStore");
+                JSONArray businessStores = null;
+                if(_obj instanceof JSONObject){
+                    businessStores = new JSONArray();
+                    businessStores.add(_obj);
+                }else {
+                    businessStores = (JSONArray)_obj;
+                }
+                //JSONObject businessStore = data.getJSONObject("businessStore");
+                for (int _storeIndex = 0; _storeIndex < businessStores.size();_storeIndex++) {
+                    JSONObject businessStore = businessStores.getJSONObject(_storeIndex);
+                    doBusinessStore(business, businessStore);
+                    if(_obj instanceof JSONObject) {
+                        dataFlowContext.addParamOut("storeId", businessStore.getString("storeId"));
+                    }
+                }
+            }
         }
     }
 
@@ -85,11 +101,16 @@ public class UpdateStoreInfoListener extends AbstractStoreBusinessServiceDataFlo
         info.put("operate",StatusConstant.OPERATE_ADD);
 
         //商户信息
-        Map businessStoreInfo = storeServiceDaoImpl.getBusinessStoreInfo(info);
-        if( businessStoreInfo != null && !businessStoreInfo.isEmpty()) {
-            flushBusinessStoreInfo(businessStoreInfo,StatusConstant.STATUS_CD_VALID);
-            storeServiceDaoImpl.updateStoreInfoInstance(businessStoreInfo);
-            dataFlowContext.addParamOut("storeId",businessStoreInfo.get("store_id"));
+        List<Map> businessStoreInfos = storeServiceDaoImpl.getBusinessStoreInfo(info);
+        if( businessStoreInfos != null && businessStoreInfos.size() >0) {
+            for (int _storeIndex = 0; _storeIndex < businessStoreInfos.size();_storeIndex++) {
+                Map businessStoreInfo = businessStoreInfos.get(_storeIndex);
+                flushBusinessStoreInfo(businessStoreInfo,StatusConstant.STATUS_CD_VALID);
+                storeServiceDaoImpl.updateStoreInfoInstance(businessStoreInfo);
+                if(businessStoreInfo.size() == 1) {
+                    dataFlowContext.addParamOut("storeId", businessStoreInfo.get("store_id"));
+                }
+            }
         }
 
     }
@@ -111,19 +132,20 @@ public class UpdateStoreInfoListener extends AbstractStoreBusinessServiceDataFlo
         delInfo.put("bId",business.getbId());
         delInfo.put("operate",StatusConstant.OPERATE_DEL);
         //商户信息
-        Map storeInfo = storeServiceDaoImpl.getStoreInfo(info);
-        if(storeInfo != null && !storeInfo.isEmpty()){
+        List<Map> storeInfo = storeServiceDaoImpl.getStoreInfo(info);
+        if(storeInfo != null && storeInfo.size() > 0){
 
             //商户信息
-            Map businessStoreInfo = storeServiceDaoImpl.getBusinessStoreInfo(delInfo);
+            List<Map> businessStoreInfos = storeServiceDaoImpl.getBusinessStoreInfo(delInfo);
             //除非程序出错了,这里不会为空
-            if(businessStoreInfo == null || businessStoreInfo.isEmpty()){
+            if(businessStoreInfos == null || businessStoreInfos.size() == 0){
                 throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_INNER_ERROR,"撤单失败(store),程序内部异常,请检查! "+delInfo);
             }
-
-            flushBusinessStoreInfo(businessStoreInfo,StatusConstant.STATUS_CD_VALID);
-            storeServiceDaoImpl.updateStoreInfoInstance(businessStoreInfo);
-            dataFlowContext.addParamOut("storeId",storeInfo.get("store_id"));
+            for (int _storeIndex = 0; _storeIndex < businessStoreInfos.size();_storeIndex++) {
+                Map businessStoreInfo = businessStoreInfos.get(_storeIndex);
+                flushBusinessStoreInfo(businessStoreInfo,StatusConstant.STATUS_CD_VALID);
+                storeServiceDaoImpl.updateStoreInfoInstance(businessStoreInfo);
+            }
         }
 
     }

+ 135 - 0
java110-config/src/main/resources/mapper/floor/FloorServiceDaoImplMapper.xml

@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="floorServiceDaoImpl">
+
+    <!-- 保存小区楼信息 add by wuxw 2018-07-03 -->
+       <insert id="saveBusinessFloorInfo" parameterType="Map">
+           insert into business_floor(
+floor_id,operate,name,remark,b_id,user_id,floor_num
+) values (
+#{floorId},#{operate},#{name},#{remark},#{bId},#{userId},#{floorNum}
+)
+       </insert>
+
+
+       <!-- 查询小区楼信息(Business) add by wuxw 2018-07-03 -->
+       <select id="getBusinessFloorInfo" parameterType="Map" resultType="Map">
+           select  t.floor_id,t.operate,t.name,t.remark,t.b_id,t.user_id,t.floor_num 
+from business_floor t 
+where 1 =1 
+<if test="floorId !=null and floorId != ''">
+   and t.floor_id= #{floorId}
+</if> 
+<if test="operate !=null and operate != ''">
+   and t.operate= #{operate}
+</if> 
+<if test="name !=null and name != ''">
+   and t.name= #{name}
+</if> 
+<if test="remark !=null and remark != ''">
+   and t.remark= #{remark}
+</if> 
+<if test="bId !=null and bId != ''">
+   and t.b_id= #{bId}
+</if> 
+<if test="userId !=null and userId != ''">
+   and t.user_id= #{userId}
+</if> 
+<if test="floorNum !=null and floorNum != ''">
+   and t.floor_num= #{floorNum}
+</if> 
+
+       </select>
+
+
+
+
+
+    <!-- 保存小区楼信息至 instance表中 add by wuxw 2018-07-03 -->
+    <insert id="saveFloorInfoInstance" parameterType="Map">
+        insert into f_floor(
+floor_id,name,status_cd,remark,b_id,user_id,floor_num
+) select t.floor_id,t.name,'0',t.remark,t.b_id,t.user_id,t.floor_num from business_floor t where 1=1
+<if test="floorId !=null and floorId != ''">
+   and t.floor_id= #{floorId}
+</if> 
+   and t.operate= 'ADD'
+<if test="name !=null and name != ''">
+   and t.name= #{name}
+</if> 
+<if test="remark !=null and remark != ''">
+   and t.remark= #{remark}
+</if> 
+<if test="bId !=null and bId != ''">
+   and t.b_id= #{bId}
+</if> 
+<if test="userId !=null and userId != ''">
+   and t.user_id= #{userId}
+</if> 
+<if test="floorNum !=null and floorNum != ''">
+   and t.floor_num= #{floorNum}
+</if> 
+
+    </insert>
+
+
+
+    <!-- 查询小区楼信息 add by wuxw 2018-07-03 -->
+    <select id="getFloorInfo" parameterType="Map" resultType="Map">
+        select  t.floor_id,t.name,t.status_cd,t.remark,t.b_id,t.user_id,t.floor_num 
+from f_floor t 
+where 1 =1 
+<if test="floorId !=null and floorId != ''">
+   and t.floor_id= #{floorId}
+</if> 
+<if test="name !=null and name != ''">
+   and t.name= #{name}
+</if> 
+<if test="statusCd !=null and statusCd != ''">
+   and t.status_cd= #{statusCd}
+</if> 
+<if test="remark !=null and remark != ''">
+   and t.remark= #{remark}
+</if> 
+<if test="bId !=null and bId != ''">
+   and t.b_id= #{bId}
+</if> 
+<if test="userId !=null and userId != ''">
+   and t.user_id= #{userId}
+</if> 
+<if test="floorNum !=null and floorNum != ''">
+   and t.floor_num= #{floorNum}
+</if> 
+
+    </select>
+
+
+
+
+    <!-- 修改小区楼信息 add by wuxw 2018-07-03 -->
+    <update id="updateFloorInfoInstance" parameterType="Map">
+        update  f_floor t set t.status_cd = #{statusCd}
+<if test="name !=null and name != ''">
+, t.name= #{name}
+</if> 
+<if test="remark !=null and remark != ''">
+, t.remark= #{remark}
+</if> 
+<if test="userId !=null and userId != ''">
+, t.user_id= #{userId}
+</if> 
+<if test="floorNum !=null and floorNum != ''">
+, t.floor_num= #{floorNum}
+</if> 
+ where 1=1 <if test="floorId !=null and floorId != ''">
+and t.floor_id= #{floorId}
+</if> 
+<if test="bId !=null and bId != ''">
+and t.b_id= #{bId}
+</if> 
+
+    </update>
+
+</mapper>