wfy
2021-09-14 cd33651deff9fff7e7d9651b766210771c075190
Merge branch 'master' into wangfy-dev
20个文件已添加
25个文件已修改
2586 ■■■■■ 已修改文件
java110-bean/src/main/java/com/java110/po/floor/FloorPo.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-core/src/main/java/com/java110/core/event/cmd/AbstractServiceCmdListener.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-core/src/main/java/com/java110/core/event/cmd/ServiceCmdEventPublishing.java 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-core/src/main/java/com/java110/core/event/cmd/ServiceCmdListener.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-db/src/main/resources/mapper/community/FloorV1ServiceDaoImplMapper.xml 132 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-db/src/main/resources/mapper/community/RoomV1ServiceDaoImplMapper.xml 205 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-generator/src/main/java/com/java110/code/TableToJson.java 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-generator/src/main/java/com/java110/code/TableToJsonWeb.java 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-generator/src/main/java/com/java110/code/newBack/BackCoderGeneratorStart.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-generator/src/main/java/com/java110/code/newBack/GeneratorApiListener.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-generator/src/main/resources/newBack/template_1.json 103 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-generator/src/main/resources/newTemplate/DeleteCmd.txt 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-generator/src/main/resources/newTemplate/ListCmd.txt 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-generator/src/main/resources/newTemplate/SaveCmd.txt 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-generator/src/main/resources/newTemplate/UpdateCmd.txt 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-generator/src/main/resources/web/template_1.json 359 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-interface/src/main/java/com/java110/intf/community/IFloorV1InnerServiceSMO.java 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-interface/src/main/java/com/java110/intf/community/IRoomV1InnerServiceSMO.java 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-common/src/main/java/com/java110/common/bmo/workflow/impl/QueryWorkFlowFirstStaffBMOImpl.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-community/src/main/java/com/java110/community/cmd/dict/QueryDictCmd.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-community/src/main/java/com/java110/community/cmd/floor/DeleteFloorCmd.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-community/src/main/java/com/java110/community/cmd/floor/ListFloorCmd.java 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-community/src/main/java/com/java110/community/cmd/floor/SaveFloorCmd.java 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-community/src/main/java/com/java110/community/cmd/floor/UpdateFloorCmd.java 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-community/src/main/java/com/java110/community/cmd/room/DeleteRoomCmd.java 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-community/src/main/java/com/java110/community/cmd/room/ListRoomCmd.java 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-community/src/main/java/com/java110/community/cmd/room/SaveRoomCmd.java 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-community/src/main/java/com/java110/community/cmd/room/UpdateRoomCmd.java 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-community/src/main/java/com/java110/community/dao/IFloorV1ServiceDao.java 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-community/src/main/java/com/java110/community/dao/IRoomV1ServiceDao.java 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-community/src/main/java/com/java110/community/dao/impl/FloorV1ServiceDaoImpl.java 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-community/src/main/java/com/java110/community/dao/impl/RoomV1ServiceDaoImpl.java 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-community/src/main/java/com/java110/community/smo/impl/FloorV1InnerServiceSMOImpl.java 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-community/src/main/java/com/java110/community/smo/impl/RoomV1InnerServiceSMOImpl.java 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-dev/src/main/java/com/java110/dev/DevServiceApplicationStart.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-dev/src/main/java/com/java110/dev/cmd/SaveMappingCmd.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-dev/src/main/java/com/java110/dev/cmd/businessTableHis/DeleteBusinessTableHisCmd.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-dev/src/main/java/com/java110/dev/cmd/businessTableHis/ListBusinessTableHisCmd.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-dev/src/main/java/com/java110/dev/cmd/businessTableHis/SaveBusinessTableHisCmd.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-dev/src/main/java/com/java110/dev/cmd/businessTableHis/UpdateBusinessTableHisCmd.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-dev/src/main/java/com/java110/dev/cmd/cache/FlushCacheCmd.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-dev/src/main/java/com/java110/dev/smo/impl/DevServiceCacheSMOImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-order/src/main/java/com/java110/order/dao/impl/CenterServiceDAOImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-user/src/main/java/com/java110/user/cmd/login/PcUserLoginCmd.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-user/src/main/java/com/java110/user/cmd/register/UserRegisterServiceCmd.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-bean/src/main/java/com/java110/po/floor/FloorPo.java
@@ -12,13 +12,18 @@
 **/
public class FloorPo implements Serializable {
    public static final String FLOOR_ATTR_LARGE = "100201912001";//大厦楼栋 属性
    public static final String FLOOR_ATTR_VALUE = "8008";//大厦楼栋 属性值
    private String floorId;
    private String floorNum;
    private String floorArea;
    private String name;
    private String userId;
    private String bId;
    private String remark;
    private String communityId;
    private String statusCd;
    public String getFloorId() {
        return floorId;
@@ -75,4 +80,20 @@
    public void setFloorArea(String floorArea) {
        this.floorArea = floorArea;
    }
    public String getStatusCd() {
        return statusCd;
    }
    public void setStatusCd(String statusCd) {
        this.statusCd = statusCd;
    }
    public String getbId() {
        return bId;
    }
    public void setbId(String bId) {
        this.bId = bId;
    }
}
java110-core/src/main/java/com/java110/core/event/cmd/AbstractServiceCmdListener.java
@@ -1,6 +1,7 @@
package com.java110.core.event.cmd;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Transactional;
import com.java110.core.context.ICmdDataFlowContext;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.Assert;
@@ -22,38 +23,24 @@
        Assert.jsonObjectHaveKey(reqJson, "page", "请求中未包含page信息");
        Assert.jsonObjectHaveKey(reqJson, "row", "请求中未包含row信息");
    }
//
//    @Override
//
//    public void cmd(CmdEvent event) throws CmdException {
//        //这里处理业务逻辑数据
//        ICmdDataFlowContext dataFlowContext = event.getCmdDataFlowContext();
//        //获取请求数据
//        JSONObject reqJson = dataFlowContext.getReqJson();
//
//        logger.debug("API服务 --- 请求参数为:{}", reqJson.toJSONString());
//
//        validate(event, dataFlowContext,reqJson);
//
//        doCmd(event, dataFlowContext, reqJson);
//
//        //logger.debug("API服务 --- 返回报文信息:{}", dataFlowContext.getResponseEntity());
//    }
    @Override
    public void cmd(CmdEvent event) throws CmdException {
        //这里处理业务逻辑数据
        ICmdDataFlowContext dataFlowContext = event.getCmdDataFlowContext();
        //获取请求数据
        JSONObject reqJson = dataFlowContext.getReqJson();
        logger.debug("API服务 --- 请求参数为:{}", reqJson.toJSONString());
        validate(event, dataFlowContext,reqJson);
        doCmd(event, dataFlowContext, reqJson);
        //logger.debug("API服务 --- 返回报文信息:{}", dataFlowContext.getResponseEntity());
    }
    /**
     * 数据格式校验方法
     * @param event 事件对象
     * @param cmdDataFlowContext 请求报文数据
     */
    protected abstract void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson);
    /**
     * 业务处理类
     * @param event  事件对象
     * @param cmdDataFlowContext 数据上文对象
     * @param reqJson 请求报文
     */
    protected abstract void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException;
    @Override
java110-core/src/main/java/com/java110/core/event/cmd/ServiceCmdEventPublishing.java
@@ -1,16 +1,11 @@
package com.java110.core.event.cmd;
import com.java110.core.annotation.Java110Cmd;
import com.java110.core.context.DataFlowContext;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.context.ICmdDataFlowContext;
import com.java110.core.event.center.DataFlowListenerOrderComparator;
import com.java110.core.event.service.api.ServiceDataFlowEvent;
import com.java110.core.event.service.api.ServiceDataFlowListener;
import com.java110.dto.CmdListenerDto;
import com.java110.entity.center.AppService;
import com.java110.utils.constant.CommonConstant;
import com.java110.utils.constant.ResponseConstant;
import com.java110.utils.constant.ServiceCodeConstant;
import com.java110.utils.exception.BusinessException;
import com.java110.utils.exception.CmdException;
import com.java110.utils.exception.ListenerExecuteException;
@@ -19,9 +14,10 @@
import com.java110.utils.util.Assert;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.HttpMethod;
import sun.misc.ProxyGenerator;
import java.lang.annotation.Annotation;
import java.io.File;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -88,8 +84,9 @@
        List<ServiceCmdListener> cmdListeners = new ArrayList<ServiceCmdListener>();
        for (CmdListenerDto listenerBean : getListeners()) {
            //ServiceCmdListener listener = ApplicationContextFactory.getBean(listenerBean.getBeanName(), ServiceCmdListener.class);
            ServiceCmdListener listener = ApplicationContextFactory.getBean(listenerBean.getBeanName(), ServiceCmdListener.class);
            if(listenerBean.getServiceCode().equals(serviceCode)) {
            if (listenerBean.getServiceCode().equals(serviceCode)) {
                cmdListeners.add(listener);
            }
        }
@@ -124,7 +121,7 @@
     * @param dataFlowContext
     */
    public static void multicastEvent(String serviceCode, ICmdDataFlowContext dataFlowContext) throws BusinessException {
        multicastEvent(serviceCode, dataFlowContext,  null);
        multicastEvent(serviceCode, dataFlowContext, null);
    }
    /**
@@ -199,10 +196,34 @@
    @SuppressWarnings({"unchecked", "rawtypes"})
    protected static void invokeListener(ServiceCmdListener listener, CmdEvent event) {
        try {
            listener.cmd(event);
            //        //这里处理业务逻辑数据
        ICmdDataFlowContext dataFlowContext = event.getCmdDataFlowContext();
        //获取请求数据
        JSONObject reqJson = dataFlowContext.getReqJson();
        logger.debug("API服务 --- 请求参数为:{}", reqJson.toJSONString());
            listener.validate(event, dataFlowContext, reqJson);
            listener.doCmd(event, dataFlowContext, reqJson);
        //logger.debug("API服务 --- 返回报文信息:{}", dataFlowContext.getResponseEntity());
         //   listener.cmd(event);
        } catch (CmdException e) {
            LoggerEngine.error("发布侦听失败", e);
            throw e;
        }
    }
    public static void testPoxy(Class clazz){
        byte[] bytes = ProxyGenerator.generateProxyClass("$Proxy", new Class[]{clazz});
        try(
                FileOutputStream fos =new FileOutputStream(new File("D:/$Proxy.class"))
        ){
            fos.write(bytes);
            fos.flush();
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}
java110-core/src/main/java/com/java110/core/event/cmd/ServiceCmdListener.java
@@ -1,5 +1,7 @@
package com.java110.core.event.cmd;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.context.ICmdDataFlowContext;
import com.java110.core.event.app.order.Ordered;
import com.java110.utils.exception.CmdException;
@@ -10,11 +12,23 @@
 * Created by wuxw on 2018/4/17.
 */
public interface ServiceCmdListener extends EventListener, Ordered {
    /**
     * 数据格式校验方法
     *
     * @param event              事件对象
     * @param cmdDataFlowContext 请求报文数据
     */
    void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson);
    /**
     * 执行指令
     * @param event
     * @throws Exception
     *
     * @param event              事件对象
     * @param cmdDataFlowContext 数据上文对象
     * @param reqJson            请求报文
     */
     void cmd(CmdEvent event) throws CmdException;
    void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException;
}
java110-db/src/main/resources/mapper/community/FloorV1ServiceDaoImplMapper.xml
New file
@@ -0,0 +1,132 @@
<?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="floorV1ServiceDaoImpl">
    <!-- 保存楼栋信息 add by wuxw 2018-07-03 -->
    <insert id="saveFloorInfo" parameterType="Map">
        insert into f_floor(
floor_id,name,remark,b_id,community_id,user_id,floor_num,floor_area
) values (
#{floorId},#{name},#{remark},#{bId},#{communityId},#{userId},#{floorNum},#{floorArea}
)
    </insert>
    <!-- 查询楼栋信息 add by wuxw 2018-07-03 -->
    <select id="getFloorInfo" parameterType="Map" resultType="Map">
        select  t.floor_id,t.floor_id floorId,t.name floorName,t.remark,t.b_id,t.b_id bId,t.community_id,t.community_id communityId,t.user_id,t.user_id userId,t3.name userName,
        t.floor_num,t.floor_num floorNum,t.floor_area,t.floor_area floorArea
        from f_floor t
        LEFT JOIN f_floor_attr t2 on t.floor_id = t2.floor_id
        LEFT JOIN u_user t3 on t.user_id = t3.user_id and t3.status_cd = 0
        where t2.spec_cd='100201912001' and t2.value='8008' and t.status_cd=0
<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="remark !=null and remark != ''">
   and t.remark= #{remark}
</if>
<if test="bId !=null and bId != ''">
   and t.b_id= #{bId}
</if>
<if test="communityId !=null and communityId != ''">
   and t.community_id= #{communityId}
</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>
<if test="floorArea !=null and floorArea != ''">
   and t.floor_area= #{floorArea}
</if>
order by t.create_time desc
<if test="page != -1 and page != null ">
   limit #{page}, #{row}
</if>
    </select>
    <!-- 修改楼栋信息 add by wuxw 2018-07-03 -->
    <update id="updateFloorInfo" parameterType="Map">
        update  f_floor t set t.status_cd = #{statusCd}
<if test="newBId != null and newBId != ''">
,t.b_id = #{newBId}
</if>
<if test="name !=null and name != ''">
, t.name= #{name}
</if>
<if test="remark !=null and remark != ''">
, t.remark= #{remark}
</if>
<if test="communityId !=null and communityId != ''">
, t.community_id= #{communityId}
</if>
<if test="userId !=null and userId != ''">
, t.user_id= #{userId}
</if>
<if test="floorNum !=null and floorNum != ''">
, t.floor_num= #{floorNum}
</if>
<if test="floorArea !=null and floorArea != ''">
, t.floor_area= #{floorArea}
</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>
    <!-- 查询楼栋数量 add by wuxw 2018-07-03 -->
     <select id="queryFloorsCount" parameterType="Map" resultType="Map">
        select  count(1) count
         from f_floor t
         LEFT JOIN f_floor_attr t2 on t.floor_id = t2.floor_id
         LEFT JOIN u_user t3 on t.user_id = t3.user_id and t3.status_cd = 0
         where t2.spec_cd='100201912001' and t2.value='8008' and t.status_cd=0
<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="remark !=null and remark != ''">
   and t.remark= #{remark}
</if>
<if test="bId !=null and bId != ''">
   and t.b_id= #{bId}
</if>
<if test="communityId !=null and communityId != ''">
   and t.community_id= #{communityId}
</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>
<if test="floorArea !=null and floorArea != ''">
   and t.floor_area= #{floorArea}
</if>
     </select>
</mapper>
java110-db/src/main/resources/mapper/community/RoomV1ServiceDaoImplMapper.xml
New file
@@ -0,0 +1,205 @@
<?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="roomV1ServiceDaoImpl">
    <!-- 保存房屋信息 add by wuxw 2018-07-03 -->
    <insert id="saveRoomInfo" parameterType="Map">
        insert into building_room(
section,remark,room_sub_type,room_area,user_id,room_id,layer,fee_coefficient,built_up_area,room_num,unit_id,state,community_id,apartment,room_type,room_rent
) values (
#{section},#{remark},#{roomSubType},#{roomArea},#{userId},#{roomId},#{layer},#{feeCoefficient},#{builtUpArea},#{roomNum},#{unitId},#{state},#{communityId},#{apartment},#{roomType},#{roomRent}
)
    </insert>
    <!-- 查询房屋信息 add by wuxw 2018-07-03 -->
    <select id="getRoomInfo" parameterType="Map" resultType="Map">
        select  t.section,t.remark,t.status_cd,t.status_cd statusCd,t.room_sub_type,t.room_sub_type roomSubType,t.room_area,t.room_area roomArea,t.user_id,t.user_id userId,t.room_id,t.room_id roomId,t.layer,t.fee_coefficient,t.fee_coefficient feeCoefficient,t.built_up_area,t.built_up_area builtUpArea,t.room_num,t.room_num roomNum,t.unit_id,t.unit_id unitId,t.state,t.community_id,t.community_id communityId,t.apartment,t.room_type,t.room_type roomType,t.room_rent,t.room_rent roomRent
from building_room t
where 1 =1
<if test="section !=null and section != ''">
   and t.section= #{section}
</if>
<if test="remark !=null and remark != ''">
   and t.remark= #{remark}
</if>
<if test="statusCd !=null and statusCd != ''">
   and t.status_cd= #{statusCd}
</if>
<if test="roomSubType !=null and roomSubType != ''">
   and t.room_sub_type= #{roomSubType}
</if>
<if test="roomArea !=null and roomArea != ''">
   and t.room_area= #{roomArea}
</if>
<if test="userId !=null and userId != ''">
   and t.user_id= #{userId}
</if>
<if test="roomId !=null and roomId != ''">
   and t.room_id= #{roomId}
</if>
<if test="layer !=null and layer != ''">
   and t.layer= #{layer}
</if>
<if test="feeCoefficient !=null and feeCoefficient != ''">
   and t.fee_coefficient= #{feeCoefficient}
</if>
<if test="builtUpArea !=null and builtUpArea != ''">
   and t.built_up_area= #{builtUpArea}
</if>
<if test="roomNum !=null and roomNum != ''">
   and t.room_num= #{roomNum}
</if>
<if test="unitId !=null and unitId != ''">
   and t.unit_id= #{unitId}
</if>
<if test="state !=null and state != ''">
   and t.state= #{state}
</if>
<if test="communityId !=null and communityId != ''">
   and t.community_id= #{communityId}
</if>
<if test="apartment !=null and apartment != ''">
   and t.apartment= #{apartment}
</if>
<if test="roomType !=null and roomType != ''">
   and t.room_type= #{roomType}
</if>
<if test="roomRent !=null and roomRent != ''">
   and t.room_rent= #{roomRent}
</if>
order by t.create_time desc
<if test="page != -1 and page != null ">
   limit #{page}, #{row}
</if>
    </select>
    <!-- 修改房屋信息 add by wuxw 2018-07-03 -->
    <update id="updateRoomInfo" parameterType="Map">
        update  building_room t set t.status_cd = #{statusCd}
<if test="newBId != null and newBId != ''">
,t.b_id = #{newBId}
</if>
<if test="section !=null and section != ''">
, t.section= #{section}
</if>
<if test="remark !=null and remark != ''">
, t.remark= #{remark}
</if>
<if test="roomSubType !=null and roomSubType != ''">
, t.room_sub_type= #{roomSubType}
</if>
<if test="roomArea !=null and roomArea != ''">
, t.room_area= #{roomArea}
</if>
<if test="userId !=null and userId != ''">
, t.user_id= #{userId}
</if>
<if test="layer !=null and layer != ''">
, t.layer= #{layer}
</if>
<if test="feeCoefficient !=null and feeCoefficient != ''">
, t.fee_coefficient= #{feeCoefficient}
</if>
<if test="builtUpArea !=null and builtUpArea != ''">
, t.built_up_area= #{builtUpArea}
</if>
<if test="roomNum !=null and roomNum != ''">
, t.room_num= #{roomNum}
</if>
<if test="unitId !=null and unitId != ''">
, t.unit_id= #{unitId}
</if>
<if test="state !=null and state != ''">
, t.state= #{state}
</if>
<if test="communityId !=null and communityId != ''">
, t.community_id= #{communityId}
</if>
<if test="apartment !=null and apartment != ''">
, t.apartment= #{apartment}
</if>
<if test="roomType !=null and roomType != ''">
, t.room_type= #{roomType}
</if>
<if test="roomRent !=null and roomRent != ''">
, t.room_rent= #{roomRent}
</if>
 where 1=1 <if test="roomId !=null and roomId != ''">
and t.room_id= #{roomId}
</if>
    </update>
    <!-- 查询房屋数量 add by wuxw 2018-07-03 -->
     <select id="queryRoomsCount" parameterType="Map" resultType="Map">
        select  count(1) count
from building_room t
where 1 =1
<if test="section !=null and section != ''">
   and t.section= #{section}
</if>
<if test="remark !=null and remark != ''">
   and t.remark= #{remark}
</if>
<if test="statusCd !=null and statusCd != ''">
   and t.status_cd= #{statusCd}
</if>
<if test="roomSubType !=null and roomSubType != ''">
   and t.room_sub_type= #{roomSubType}
</if>
<if test="roomArea !=null and roomArea != ''">
   and t.room_area= #{roomArea}
</if>
<if test="userId !=null and userId != ''">
   and t.user_id= #{userId}
</if>
<if test="roomId !=null and roomId != ''">
   and t.room_id= #{roomId}
</if>
<if test="layer !=null and layer != ''">
   and t.layer= #{layer}
</if>
<if test="feeCoefficient !=null and feeCoefficient != ''">
   and t.fee_coefficient= #{feeCoefficient}
</if>
<if test="builtUpArea !=null and builtUpArea != ''">
   and t.built_up_area= #{builtUpArea}
</if>
<if test="roomNum !=null and roomNum != ''">
   and t.room_num= #{roomNum}
</if>
<if test="unitId !=null and unitId != ''">
   and t.unit_id= #{unitId}
</if>
<if test="state !=null and state != ''">
   and t.state= #{state}
</if>
<if test="communityId !=null and communityId != ''">
   and t.community_id= #{communityId}
</if>
<if test="apartment !=null and apartment != ''">
   and t.apartment= #{apartment}
</if>
<if test="roomType !=null and roomType != ''">
   and t.room_type= #{roomType}
</if>
<if test="roomRent !=null and roomRent != ''">
   and t.room_rent= #{roomRent}
</if>
     </select>
</mapper>
java110-generator/src/main/java/com/java110/code/TableToJson.java
New file
@@ -0,0 +1,95 @@
package com.java110.code;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.java110.utils.util.StringUtil;
public class TableToJson {
    //show create table c_orders  用这个语句获取
    public static final String createTableSql = "CREATE TABLE `building_room` (\n" +
            "  `room_id` varchar(30) NOT NULL COMMENT '房屋ID',\n" +
            "  `b_id` varchar(30) NOT NULL COMMENT '业务Id',\n" +
            "  `room_num` varchar(12) NOT NULL COMMENT '房屋编号',\n" +
            "  `unit_id` varchar(30) NOT NULL COMMENT '单元ID',\n" +
            "  `layer` int(11) NOT NULL COMMENT '层数',\n" +
            "  `section` int(11) DEFAULT NULL COMMENT '室',\n" +
            "  `apartment` varchar(20) NOT NULL COMMENT '户型',\n" +
            "  `built_up_area` decimal(6,2) NOT NULL COMMENT '建筑面积',\n" +
            "  `fee_coefficient` decimal(12,2) NOT NULL DEFAULT '1.00' COMMENT '算费系数',\n" +
            "  `user_id` varchar(30) NOT NULL COMMENT '用户ID',\n" +
            "  `remark` varchar(200) DEFAULT NULL COMMENT '备注',\n" +
            "  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',\n" +
            "  `status_cd` varchar(2) NOT NULL DEFAULT '0' COMMENT '数据状态,详细参考c_status表,S 保存,0, 在用 1失效',\n" +
            "  `state` varchar(4) NOT NULL COMMENT '房屋状态,如房屋出售等,请查看state 表',\n" +
            "  `community_id` varchar(30) DEFAULT NULL COMMENT '小区ID',\n" +
            "  `room_type` varchar(12) NOT NULL DEFAULT '1010301' COMMENT '房屋类型',\n" +
            "  `room_sub_type` varchar(12) NOT NULL DEFAULT '110' COMMENT '房屋类型 110 住宅房屋,119 办公室 120 宿舍',\n" +
            "  `room_area` decimal(6,2) NOT NULL COMMENT '室内面积',\n" +
            "  `room_rent` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '租金',\n" +
            "  UNIQUE KEY `room_id` (`room_id`) USING BTREE,\n" +
            "  UNIQUE KEY `idx_room_id` (`room_id`) USING BTREE,\n" +
            "  KEY `idx_room_b_id` (`b_id`) USING BTREE,\n" +
            "  KEY `i_br_unit_id` (`unit_id`)\n" +
            ")";
    public static void main(String[] args) {
        //业务名称 desc 业务编码名称生成后类名 name 主键 id  需要放到那个服务 shareName
        String newSql = createTableSql.substring(createTableSql.indexOf("(") + 1, createTableSql.lastIndexOf(")"));
        String tableName = createTableSql.substring(createTableSql.indexOf("TABLE") + 5, createTableSql.indexOf("("));
        tableName = tableName.replaceAll("`", "").trim();
        newSql = newSql.replaceAll("\n", "");
        String[] rowSqls = newSql.split("',");
        JSONObject param = new JSONObject();
        param.put("autoMove", true);
        param.put("desc", "");
        param.put("id", "");
        param.put("name", "");
        param.put("shareColumn", "community_id");
        param.put("shareName", "");
        param.put("shareParam", "communityId");
        param.put("tableName", tableName);
        JSONObject paramColumn = new JSONObject();
        JSONArray requireds = new JSONArray();
        JSONObject required = null;
        String key = "";
        for (String rowSql : rowSqls) {
            required = new JSONObject();
            key = rowSql.trim();
            key = key.substring(0, key.indexOf(" "));
            key = key.replaceAll("`", "");
            if ("UNIQUE".equals(key)) {
                continue;
            }
            if ("KEY".equals(key)) {
                continue;
            }
            if ("b_id".equals(key)) {
                continue;
            }
            if ("create_time".equals(key)) {
                continue;
            }
            if (rowSql.toLowerCase().contains("not null")) {
                required.put("code", StringUtil.lineToHump(key));
                String comment = rowSql.contains("COMMENT") ? rowSql.substring(rowSql.indexOf("COMMENT '") + 9) : StringUtil.lineToHump(key);
                comment = comment.trim();
                if(comment.contains(",")){
                    comment = comment.split(",")[0];
                }
                if(comment.contains(" ")){
                    comment = comment.split(" ")[0];
                }
                required.put("msg", comment + "不能为空");
                requireds.add(required);
            }
            paramColumn.put(StringUtil.lineToHump(key), key);
        }
        param.put("param", paramColumn);
        param.put("required", requireds);
        System.out.println(param.toJSONString());
    }
}
java110-generator/src/main/java/com/java110/code/TableToJsonWeb.java
New file
@@ -0,0 +1,117 @@
package com.java110.code;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.java110.utils.util.StringUtil;
public class TableToJsonWeb {
    //show create table c_orders  用这个语句获取
    public static final String createTableSql = "CREATE TABLE `building_room` (\n" +
            "  `room_id` varchar(30) NOT NULL COMMENT '房屋ID',\n" +
            "  `b_id` varchar(30) NOT NULL COMMENT '业务Id',\n" +
            "  `room_num` varchar(12) NOT NULL COMMENT '房屋编号',\n" +
            "  `unit_id` varchar(30) NOT NULL COMMENT '单元ID',\n" +
            "  `layer` int(11) NOT NULL COMMENT '层数',\n" +
            "  `section` int(11) DEFAULT NULL COMMENT '室',\n" +
            "  `apartment` varchar(20) NOT NULL COMMENT '户型',\n" +
            "  `built_up_area` decimal(6,2) NOT NULL COMMENT '建筑面积',\n" +
            "  `fee_coefficient` decimal(12,2) NOT NULL DEFAULT '1.00' COMMENT '算费系数',\n" +
            "  `user_id` varchar(30) NOT NULL COMMENT '用户ID',\n" +
            "  `remark` varchar(200) DEFAULT NULL COMMENT '备注',\n" +
            "  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',\n" +
            "  `status_cd` varchar(2) NOT NULL DEFAULT '0' COMMENT '数据状态,详细参考c_status表,S 保存,0, 在用 1失效',\n" +
            "  `state` varchar(4) NOT NULL COMMENT '房屋状态,如房屋出售等,请查看state 表',\n" +
            "  `community_id` varchar(30) DEFAULT NULL COMMENT '小区ID',\n" +
            "  `room_type` varchar(12) NOT NULL DEFAULT '1010301' COMMENT '房屋类型',\n" +
            "  `room_sub_type` varchar(12) NOT NULL DEFAULT '110' COMMENT '房屋类型 110 住宅房屋,119 办公室 120 宿舍',\n" +
            "  `room_area` decimal(6,2) NOT NULL COMMENT '室内面积',\n" +
            "  `room_rent` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '租金',\n" +
            "  UNIQUE KEY `room_id` (`room_id`) USING BTREE,\n" +
            "  UNIQUE KEY `idx_room_id` (`room_id`) USING BTREE,\n" +
            "  KEY `idx_room_b_id` (`b_id`) USING BTREE,\n" +
            "  KEY `i_br_unit_id` (`unit_id`)\n" +
            ")";
    public static void main(String[] args) {
        // templateName 业务名称 业务编码名称生成后文件名 templateCode 主键 templateKey
        // 业务主键名称 templateKeyName=templateName+ID 主机驼峰 searchCode 主键名称 searchName
        // directories 放在前端那个目录下
        String newSql = createTableSql.substring(createTableSql.indexOf("(") + 1, createTableSql.lastIndexOf(")"));
        String tableName = createTableSql.substring(createTableSql.indexOf("TABLE") + 5, createTableSql.indexOf("("));
        tableName = tableName.replaceAll("`", "").trim();
        newSql = newSql.replaceAll("\n", "");
        String[] rowSqls = newSql.split("',");
        JSONObject param = new JSONObject();
        param.put("templateName", "");
        param.put("templateCode", "");
        param.put("templateKey", "");
        param.put("templateKeyName", "");
        param.put("searchCode", "");
        param.put("searchName", "");
        param.put("directories", "");
        JSONObject paramColumn = null;
        JSONArray conditions = new JSONArray();
        JSONArray paramColumns = new JSONArray();
        JSONObject condition = null;
        String key = "";
        for (String rowSql : rowSqls) {
            condition = new JSONObject();
            paramColumn = new JSONObject();
            key = rowSql.trim();
            key = key.substring(0, key.indexOf(" "));
            key = key.replaceAll("`", "");
            if ("UNIQUE".equals(key)) {
                continue;
            }
            if ("KEY".equals(key)) {
                continue;
            }
            if ("b_id".equals(key)) {
                continue;
            }
            if ("create_time".equals(key)) {
                continue;
            }
            String comment = rowSql.contains("COMMENT") ? rowSql.substring(rowSql.indexOf("COMMENT '") + 9) : StringUtil.lineToHump(key);
            comment = comment.trim();
            if(comment.contains(",")){
                comment = comment.split(",")[0];
            }
            if(comment.contains(" ")){
                comment = comment.split(" ")[0];
            }
            paramColumn.put("desc", comment);
            if (rowSql.toLowerCase().contains("not null")) {
                condition.put("name", comment);
                condition.put("inputType", "input");
                condition.put("code", StringUtil.lineToHump(key));
                condition.put("whereCondition", "equal");
                conditions.add(condition);
                paramColumn.put("desc", "必填,"+comment);
            }
            String limit = rowSql.substring(rowSql.indexOf("(") + 1,rowSql.indexOf(")"));
            if(limit.contains(",")){
                limit = limit.split(",")[0];
            }
            paramColumn.put("code", StringUtil.lineToHump(key));
            paramColumn.put("cnCode", comment);
            paramColumn.put("required", true);
            paramColumn.put("hasDefaultValue", false);
            paramColumn.put("inputType", "input");
            paramColumn.put("limit", "maxLength");
            paramColumn.put("limitParam",limit );
            paramColumn.put("limitErrInfo", comment+"不能超过"+limit);
            paramColumn.put("show", true);
            paramColumns.add(paramColumn);
        }
        param.put("columns", paramColumns);
        param.put("conditions", conditions);
        System.out.println(param.toJSONString());
    }
}
java110-generator/src/main/java/com/java110/code/newBack/BackCoderGeneratorStart.java
@@ -70,7 +70,7 @@
        generatorInnerServiceSMOImpl.generator(data);
        GeneratorDtoBean generatorDtoBean = new GeneratorDtoBean();
        generatorDtoBean.generator(data);
        //generatorDtoBean.generator(data);
        GeneratorIInnerServiceSMO generatorIInnerServiceSMO = new GeneratorIInnerServiceSMO();
        generatorIInnerServiceSMO.generator(data);
java110-generator/src/main/java/com/java110/code/newBack/GeneratorApiListener.java
@@ -14,7 +14,7 @@
     * @param data
     */
    public void generator(Data data) throws Exception {
        genneratorPo(data);             //API DataVo对象
        //genneratorPo(data);             //API DataVo对象
        genneratorSaveCmd(data);            //Api BmoImpl
        genneratorUpdateBmoImpl(data);            //Api BmoImpl
        genneratorDeleteBmoImpl(data);            //Api BmoImpl
java110-generator/src/main/resources/newBack/template_1.json
@@ -1,40 +1,87 @@
{
  "autoMove": true,
  "id": "userId",
  "name": "user",
  "desc": "用户",
  "shareParam": "userId",
  "shareColumn": "user_id",
  "shareName": "user",
  "tableName": "u_user",
  "param": {
    "section": "section",
    "remark": "remark",
    "statusCd": "status_cd",
    "roomSubType": "room_sub_type",
    "roomArea": "room_area",
    "userId": "user_id",
    "name": "name",
    "email": "email",
    "address": "address",
    "password": "password",
    "locationCd": "location_cd",
    "age": "age",
    "sex": "sex",
    "tel": "tel",
    "levelCd": "level_cd",
    "bId": "b_id",
    "score": "score",
    "statusCd": "status_cd"
    "roomId": "room_id",
    "layer": "layer",
    "feeCoefficient": "fee_coefficient",
    "builtUpArea": "built_up_area",
    "roomNum": "room_num",
    "unitId": "unit_id",
    "state": "state",
    "communityId": "community_id",
    "apartment": "apartment",
    "roomType": "room_type",
    "roomRent": "room_rent"
  },
  "name": "room",
  "shareColumn": "community_id",
  "id": "roomId",
  "shareName": "community",
  "autoMove": true,
  "required": [
    {
      "code": "name",
      "msg": "用户名称不能为空"
      "msg": "房屋ID不能为空",
      "code": "roomId"
    },
    {
      "code": "password",
      "msg": "密码不能为空"
      "msg": "房屋编号不能为空",
      "code": "roomNum"
    },
    {
      "code": "tel",
      "msg": "手机号不能为空"
      "msg": "单元ID不能为空",
      "code": "unitId"
    },
    {
      "msg": "层数不能为空",
      "code": "layer"
    },
    {
      "msg": "户型不能为空",
      "code": "apartment"
    },
    {
      "msg": "建筑面积不能为空",
      "code": "builtUpArea"
    },
    {
      "msg": "算费系数不能为空",
      "code": "feeCoefficient"
    },
    {
      "msg": "用户ID不能为空",
      "code": "userId"
    },
    {
      "msg": "数据状态,详细参考c_status表,S 保存,0, 在用 1失效不能为空",
      "code": "statusCd"
    },
    {
      "msg": "房屋状态,如房屋出售等,请查看state 表不能为空",
      "code": "state"
    },
    {
      "msg": "房屋类型不能为空",
      "code": "roomType"
    },
    {
      "msg": "房屋类型 110 住宅房屋,119 办公室 120 宿舍不能为空",
      "code": "roomSubType"
    },
    {
      "msg": "室内面积不能为空",
      "code": "roomArea"
    },
    {
      "msg": "租金不能为空",
      "code": "roomRent"
    }
  ]
  ],
  "desc": "房屋",
  "shareParam": "communityId",
  "tableName": "building_room"
}
java110-generator/src/main/resources/newTemplate/DeleteCmd.txt
@@ -22,7 +22,7 @@
import com.java110.core.event.cmd.AbstractServiceCmdListener;
import com.java110.core.event.cmd.CmdEvent;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.intf.dev.I@@TemplateCode@@V1InnerServiceSMO;
import com.java110.intf.@@shareName@@.I@@TemplateCode@@V1InnerServiceSMO;
import com.java110.po.@@templateCode@@.@@TemplateCode@@Po;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.Assert;
@@ -49,16 +49,16 @@
    private I@@TemplateCode@@V1InnerServiceSMO @@templateCode@@V1InnerServiceSMOImpl;
    @Override
    protected void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
        @@validateTemplateColumns@@
    }
    @Override
    @Java110Transactional
    protected void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
       @@TemplateCode@@Po @@templateCode@@Po = BeanConvertUtil.covertBean(reqJson, @@TemplateCode@@Po.class);
        int flag = @@templateCode@@V1InnerServiceSMOImpl.delete@@TemplateCode@@(businessTableHisPo);
        int flag = @@templateCode@@V1InnerServiceSMOImpl.delete@@TemplateCode@@(@@templateCode@@Po);
        if (flag < 1) {
            throw new CmdException("删除数据失败");
java110-generator/src/main/resources/newTemplate/ListCmd.txt
@@ -22,7 +22,7 @@
import com.java110.core.event.cmd.AbstractServiceCmdListener;
import com.java110.core.event.cmd.CmdEvent;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.intf.dev.I@@TemplateCode@@V1InnerServiceSMO;
import com.java110.intf.@@shareName@@.I@@TemplateCode@@V1InnerServiceSMO;
import com.java110.po.@@templateCode@@.@@TemplateCode@@Po;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.Assert;
@@ -56,13 +56,13 @@
    private I@@TemplateCode@@V1InnerServiceSMO @@templateCode@@V1InnerServiceSMOImpl;
    @Override
    protected void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
        super.validatePageInfo(reqJson);
    }
    @Override
    @Java110Transactional
    protected void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
           @@TemplateCode@@Dto @@templateCode@@Dto = BeanConvertUtil.covertBean(reqJson, @@TemplateCode@@Dto.class);
java110-generator/src/main/resources/newTemplate/SaveCmd.txt
@@ -22,7 +22,7 @@
import com.java110.core.event.cmd.AbstractServiceCmdListener;
import com.java110.core.event.cmd.CmdEvent;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.intf.dev.I@@TemplateCode@@V1InnerServiceSMO;
import com.java110.intf.@@shareName@@.I@@TemplateCode@@V1InnerServiceSMO;
import com.java110.po.@@templateCode@@.@@TemplateCode@@Po;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.Assert;
@@ -53,17 +53,17 @@
    private I@@TemplateCode@@V1InnerServiceSMO @@templateCode@@V1InnerServiceSMOImpl;
    @Override
    protected void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
        @@validateTemplateColumns@@
    }
    @Override
    @Java110Transactional
    protected void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
       @@TemplateCode@@Po @@templateCode@@Po = BeanConvertUtil.covertBean(reqJson, @@TemplateCode@@Po.class);
        @@templateCode@@Po.set@@TemplateKey@@(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
        int flag = @@templateCode@@V1InnerServiceSMOImpl.save@@TemplateCode@@(businessTableHisPo);
        int flag = @@templateCode@@V1InnerServiceSMOImpl.save@@TemplateCode@@(@@templateCode@@Po);
        if (flag < 1) {
            throw new CmdException("保存数据失败");
java110-generator/src/main/resources/newTemplate/UpdateCmd.txt
@@ -22,7 +22,7 @@
import com.java110.core.event.cmd.AbstractServiceCmdListener;
import com.java110.core.event.cmd.CmdEvent;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.intf.dev.I@@TemplateCode@@V1InnerServiceSMO;
import com.java110.intf.@@shareName@@.I@@TemplateCode@@V1InnerServiceSMO;
import com.java110.po.@@templateCode@@.@@TemplateCode@@Po;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.Assert;
@@ -53,16 +53,16 @@
    private I@@TemplateCode@@V1InnerServiceSMO @@templateCode@@V1InnerServiceSMOImpl;
    @Override
    protected void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
        @@validateTemplateColumns@@
    }
    @Override
    @Java110Transactional
    protected void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
       @@TemplateCode@@Po @@templateCode@@Po = BeanConvertUtil.covertBean(reqJson, @@TemplateCode@@Po.class);
        int flag = @@templateCode@@V1InnerServiceSMOImpl.update@@TemplateCode@@(businessTableHisPo);
        int flag = @@templateCode@@V1InnerServiceSMOImpl.update@@TemplateCode@@(@@templateCode@@Po);
        if (flag < 1) {
            throw new CmdException("更新数据失败");
java110-generator/src/main/resources/web/template_1.json
@@ -1,96 +1,301 @@
{
  "templateName": "业务轨迹",
  "templateCode": "businessTableHis",
  "templateKey": "hisId",
  "templateKeyName": "轨迹ID",
  "searchCode": "hisId",
  "searchName": "轨迹ID",
  "directories": "dev",
  "conditions": [
    {
      "name": "动作",
      "inputType": "select",
      "selectValue":"ADD,MOD,DEL",
      "selectValueName":"添加,修改,删除",
      "code": "action",
      "whereCondition": "equal"
    },
    {
      "name": "表名",
      "inputType": "input",
      "code": "actionObj",
      "whereCondition": "equal"
    },
    {
      "name": "业务类型",
      "inputType": "input",
      "code": "businessTypeCd",
      "whereCondition": "equal"
    }
  ],
  "templateKeyName": "",
  "templateName": "",
  "columns": [
    {
      "code": "businessTypeCd",
      "cnCode": "业务类型",
      "desc": "必填,请填写业务类型",
      "required": true,
      "hasDefaultValue": false,
      "inputType": "input",
      "limit": "maxLength",
      "limitParam": "30",
      "limitErrInfo": "业务类型超过30位",
      "show": true
      "code": "roomId",
      "limitErrInfo": "房屋ID不能超过30",
      "cnCode": "房屋ID",
      "limit": "maxLength",
      "show": true,
      "inputType": "input",
      "required": true,
      "desc": "必填,房屋ID"
    },
    {
      "code": "action",
      "cnCode": "动作",
      "desc": "必填,请选择动作",
      "required": true,
      "hasDefaultValue": false,
      "inputType": "select",
      "selectValue":"ADD,MOD,DEL",
      "selectValueName":"添加,修改,删除",
      "limit": "maxLength",
      "limitParam": "12",
      "limitErrInfo": "动作不能为空",
      "show": true
    },
    {
      "code": "actionObj",
      "cnCode": "表名",
      "desc": "必填,请填写表名",
      "code": "roomNum",
      "limitErrInfo": "房屋编号不能超过12",
      "cnCode": "房屋编号",
      "limit": "maxLength",
      "show": true,
      "inputType": "input",
      "required": true,
      "hasDefaultValue": false,
      "inputType": "input",
      "limit": "maxLength",
      "limitParam": "64",
      "limitErrInfo": "表名超过64位",
      "show": true
      "desc": "必填,房屋编号"
    },
    {
      "code": "actionObjHis",
      "cnCode": "轨迹表名",
      "desc": "必填,请填写轨迹表名",
      "hasDefaultValue": false,
      "limitParam": "30",
      "code": "unitId",
      "limitErrInfo": "单元ID不能超过30",
      "cnCode": "单元ID",
      "limit": "maxLength",
      "show": true,
      "inputType": "input",
      "required": true,
      "hasDefaultValue": false,
      "inputType": "input",
      "limit": "maxLength",
      "limitParam": "64",
      "limitErrInfo": "轨迹表名超过64位",
      "show": true
      "desc": "必填,单元ID"
    },
    {
      "code": "remark",
      "cnCode": "备注",
      "desc": "可填,请填写备注",
      "required": false,
      "hasDefaultValue": false,
      "defaultValue": "",
      "inputType": "input",
      "limitParam": "11",
      "code": "layer",
      "limitErrInfo": "层数不能超过11",
      "cnCode": "层数",
      "limit": "maxLength",
      "show": true,
      "inputType": "input",
      "required": true,
      "desc": "必填,层数"
    },
    {
      "hasDefaultValue": false,
      "limitParam": "11",
      "code": "section",
      "limitErrInfo": "室不能超过11",
      "cnCode": "室",
      "limit": "maxLength",
      "show": true,
      "inputType": "input",
      "required": true,
      "desc": "室"
    },
    {
      "hasDefaultValue": false,
      "limitParam": "20",
      "code": "apartment",
      "limitErrInfo": "户型不能超过20",
      "cnCode": "户型",
      "limit": "maxLength",
      "show": true,
      "inputType": "input",
      "required": true,
      "desc": "必填,户型"
    },
    {
      "hasDefaultValue": false,
      "limitParam": "6",
      "code": "builtUpArea",
      "limitErrInfo": "建筑面积不能超过6",
      "cnCode": "建筑面积",
      "limit": "maxLength",
      "show": true,
      "inputType": "input",
      "required": true,
      "desc": "必填,建筑面积"
    },
    {
      "hasDefaultValue": false,
      "limitParam": "12",
      "code": "feeCoefficient",
      "limitErrInfo": "算费系数不能超过12",
      "cnCode": "算费系数",
      "limit": "maxLength",
      "show": true,
      "inputType": "input",
      "required": true,
      "desc": "必填,算费系数"
    },
    {
      "hasDefaultValue": false,
      "limitParam": "30",
      "code": "userId",
      "limitErrInfo": "用户ID不能超过30",
      "cnCode": "用户ID",
      "limit": "maxLength",
      "show": true,
      "inputType": "input",
      "required": true,
      "desc": "必填,用户ID"
    },
    {
      "hasDefaultValue": false,
      "limitParam": "200",
      "limitErrInfo": "备注内容不能超过200",
      "show": false
      "code": "remark",
      "limitErrInfo": "备注不能超过200",
      "cnCode": "备注",
      "limit": "maxLength",
      "show": true,
      "inputType": "input",
      "required": true,
      "desc": "备注"
    },
    {
      "hasDefaultValue": false,
      "limitParam": "2",
      "code": "statusCd",
      "limitErrInfo": "数据状态不能超过2",
      "cnCode": "数据状态",
      "limit": "maxLength",
      "show": true,
      "inputType": "input",
      "required": true,
      "desc": "必填,数据状态"
    },
    {
      "hasDefaultValue": false,
      "limitParam": "4",
      "code": "state",
      "limitErrInfo": "房屋状态不能超过4",
      "cnCode": "房屋状态",
      "limit": "maxLength",
      "show": true,
      "inputType": "input",
      "required": true,
      "desc": "必填,房屋状态"
    },
    {
      "hasDefaultValue": false,
      "limitParam": "30",
      "code": "communityId",
      "limitErrInfo": "小区ID不能超过30",
      "cnCode": "小区ID",
      "limit": "maxLength",
      "show": true,
      "inputType": "input",
      "required": true,
      "desc": "小区ID"
    },
    {
      "hasDefaultValue": false,
      "limitParam": "12",
      "code": "roomType",
      "limitErrInfo": "房屋类型不能超过12",
      "cnCode": "房屋类型",
      "limit": "maxLength",
      "show": true,
      "inputType": "input",
      "required": true,
      "desc": "必填,房屋类型"
    },
    {
      "hasDefaultValue": false,
      "limitParam": "12",
      "code": "roomSubType",
      "limitErrInfo": "房屋类型不能超过12",
      "cnCode": "房屋类型",
      "limit": "maxLength",
      "show": true,
      "inputType": "input",
      "required": true,
      "desc": "必填,房屋类型"
    },
    {
      "hasDefaultValue": false,
      "limitParam": "6",
      "code": "roomArea",
      "limitErrInfo": "室内面积不能超过6",
      "cnCode": "室内面积",
      "limit": "maxLength",
      "show": true,
      "inputType": "input",
      "required": true,
      "desc": "必填,室内面积"
    },
    {
      "hasDefaultValue": false,
      "limitParam": "10",
      "code": "roomRent",
      "limitErrInfo": "租金不能超过10",
      "cnCode": "租金",
      "limit": "maxLength",
      "show": true,
      "inputType": "input",
      "required": true,
      "desc": "必填,租金"
    }
  ]
}
  ],
  "searchName": "",
  "directories": "",
  "searchCode": "",
  "templateCode": "",
  "conditions": [
    {
      "whereCondition": "equal",
      "code": "roomId",
      "name": "房屋ID",
      "inputType": "input"
    },
    {
      "whereCondition": "equal",
      "code": "roomNum",
      "name": "房屋编号",
      "inputType": "input"
    },
    {
      "whereCondition": "equal",
      "code": "unitId",
      "name": "单元ID",
      "inputType": "input"
    },
    {
      "whereCondition": "equal",
      "code": "layer",
      "name": "层数",
      "inputType": "input"
    },
    {
      "whereCondition": "equal",
      "code": "apartment",
      "name": "户型",
      "inputType": "input"
    },
    {
      "whereCondition": "equal",
      "code": "builtUpArea",
      "name": "建筑面积",
      "inputType": "input"
    },
    {
      "whereCondition": "equal",
      "code": "feeCoefficient",
      "name": "算费系数",
      "inputType": "input"
    },
    {
      "whereCondition": "equal",
      "code": "userId",
      "name": "用户ID",
      "inputType": "input"
    },
    {
      "whereCondition": "equal",
      "code": "statusCd",
      "name": "数据状态",
      "inputType": "input"
    },
    {
      "whereCondition": "equal",
      "code": "state",
      "name": "房屋状态",
      "inputType": "input"
    },
    {
      "whereCondition": "equal",
      "code": "roomType",
      "name": "房屋类型",
      "inputType": "input"
    },
    {
      "whereCondition": "equal",
      "code": "roomSubType",
      "name": "房屋类型",
      "inputType": "input"
    },
    {
      "whereCondition": "equal",
      "code": "roomArea",
      "name": "室内面积",
      "inputType": "input"
    },
    {
      "whereCondition": "equal",
      "code": "roomRent",
      "name": "租金",
      "inputType": "input"
    }
  ],
  "templateKey": ""
}
java110-interface/src/main/java/com/java110/intf/community/IFloorV1InnerServiceSMO.java
New file
@@ -0,0 +1,68 @@
/*
 * Copyright 2017-2020 吴学文 and java110 team.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.java110.intf.community;
import com.java110.config.feign.FeignConfiguration;
import com.java110.dto.FloorDto;
import com.java110.po.floor.FloorPo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import java.util.List;
/**
 * 类表述: 服务之前调用的接口类,不对外提供接口能力 只用于接口建调用
 * add by 吴学文 at 2021-09-13 16:41:17 mail: 928255095@qq.com
 * open source address: https://gitee.com/wuxw7/MicroCommunity
 * 官网:http://www.homecommunity.cn
 * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
 * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
 */
@FeignClient(name = "community-service", configuration = {FeignConfiguration.class})
@RequestMapping("/floorV1Api")
public interface IFloorV1InnerServiceSMO {
    @RequestMapping(value = "/saveFloor", method = RequestMethod.POST)
    public int saveFloor(@RequestBody  FloorPo floorPo);
    @RequestMapping(value = "/updateFloor", method = RequestMethod.POST)
    public int updateFloor(@RequestBody  FloorPo floorPo);
    @RequestMapping(value = "/deleteFloor", method = RequestMethod.POST)
    public int deleteFloor(@RequestBody  FloorPo floorPo);
    /**
     * <p>查询小区楼信息</p>
     *
     *
     * @param floorDto 数据对象分享
     * @return FloorDto 对象数据
     */
    @RequestMapping(value = "/queryFloors", method = RequestMethod.POST)
    List<FloorDto> queryFloors(@RequestBody FloorDto floorDto);
    /**
     * 查询<p>小区楼</p>总记录数
     *
     * @param floorDto 数据对象分享
     * @return 小区下的小区楼记录数
     */
    @RequestMapping(value = "/queryFloorsCount", method = RequestMethod.POST)
    int queryFloorsCount(@RequestBody FloorDto floorDto);
}
java110-interface/src/main/java/com/java110/intf/community/IRoomV1InnerServiceSMO.java
New file
@@ -0,0 +1,68 @@
/*
 * Copyright 2017-2020 吴学文 and java110 team.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.java110.intf.community;
import com.java110.config.feign.FeignConfiguration;
import com.java110.dto.RoomDto;
import com.java110.po.room.RoomPo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import java.util.List;
/**
 * 类表述: 服务之前调用的接口类,不对外提供接口能力 只用于接口建调用
 * add by 吴学文 at 2021-09-14 14:28:56 mail: 928255095@qq.com
 * open source address: https://gitee.com/wuxw7/MicroCommunity
 * 官网:http://www.homecommunity.cn
 * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
 * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
 */
@FeignClient(name = "community-service", configuration = {FeignConfiguration.class})
@RequestMapping("/roomV1Api")
public interface IRoomV1InnerServiceSMO {
    @RequestMapping(value = "/saveRoom", method = RequestMethod.POST)
    public int saveRoom(@RequestBody  RoomPo roomPo);
    @RequestMapping(value = "/updateRoom", method = RequestMethod.POST)
    public int updateRoom(@RequestBody  RoomPo roomPo);
    @RequestMapping(value = "/deleteRoom", method = RequestMethod.POST)
    public int deleteRoom(@RequestBody  RoomPo roomPo);
    /**
     * <p>查询小区楼信息</p>
     *
     *
     * @param roomDto 数据对象分享
     * @return RoomDto 对象数据
     */
    @RequestMapping(value = "/queryRooms", method = RequestMethod.POST)
    List<RoomDto> queryRooms(@RequestBody RoomDto roomDto);
    /**
     * 查询<p>小区楼</p>总记录数
     *
     * @param roomDto 数据对象分享
     * @return 小区下的小区楼记录数
     */
    @RequestMapping(value = "/queryRoomsCount", method = RequestMethod.POST)
    int queryRoomsCount(@RequestBody RoomDto roomDto);
}
service-common/src/main/java/com/java110/common/bmo/workflow/impl/QueryWorkFlowFirstStaffBMOImpl.java
@@ -164,9 +164,6 @@
            Model modelData = repositoryService.getModel(workflowModelDto.getModelId());
            byte[] bpmnBytes = null;
            bpmnBytes = repositoryService.getModelEditorSource(workflowModelDto.getModelId());
            String encoded = Base64Convert.byteToBase64(bpmnBytes);
            byte[] decoded = Base64Convert.base64ToByte(encoded);
            String xml = new String(decoded);
            String processName = modelData.getName() + ".bpmn20.xml";
            ByteArrayInputStream in = new ByteArrayInputStream(bpmnBytes);
            Deployment deployment = repositoryService.createDeployment().name(oaWorkflowDtos.get(0).getFlowName())
service-community/src/main/java/com/java110/community/cmd/dict/QueryDictCmd.java
@@ -29,12 +29,12 @@
    private DictInnerServiceSMO dictInnerServiceSMO;
    @Override
    protected void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
    }
    @Override
    protected void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
        List<DictDto> dictDtos = this.dictInnerServiceSMO.queryDict(BeanConvertUtil.covertBean(reqJson, DictQueryDto.class));
        ResponseEntity<String> responseEntity = new ResponseEntity<String>(JSONObject.toJSONString(dictDtos), HttpStatus.OK);
        cmdDataFlowContext.setResponseEntity(responseEntity);
service-community/src/main/java/com/java110/community/cmd/floor/DeleteFloorCmd.java
New file
@@ -0,0 +1,71 @@
/*
 * Copyright 2017-2020 吴学文 and java110 team.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.java110.community.cmd.floor;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Cmd;
import com.java110.core.annotation.Java110Transactional;
import com.java110.core.context.ICmdDataFlowContext;
import com.java110.core.event.cmd.AbstractServiceCmdListener;
import com.java110.core.event.cmd.CmdEvent;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.intf.community.IFloorV1InnerServiceSMO;
import com.java110.po.floor.FloorPo;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
 * 类表述:删除
 * 服务编码:floor.deleteFloor
 * 请求路劲:/app/floor.DeleteFloor
 * add by 吴学文 at 2021-09-13 16:41:17 mail: 928255095@qq.com
 * open source address: https://gitee.com/wuxw7/MicroCommunity
 * 官网:http://www.homecommunity.cn
 * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
 * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
 */
@Java110Cmd(serviceCode = "floor.deleteFloorV1")
public class DeleteFloorCmd extends AbstractServiceCmdListener {
    private static Logger logger = LoggerFactory.getLogger(DeleteFloorCmd.class);
    @Autowired
    private IFloorV1InnerServiceSMO floorV1InnerServiceSMOImpl;
    @Override
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "floorId", "floorId不能为空");
    }
    @Override
    @Java110Transactional
    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
        FloorPo floorPo = BeanConvertUtil.covertBean(reqJson, FloorPo.class);
        int flag = floorV1InnerServiceSMOImpl.deleteFloor(floorPo);
        if (flag < 1) {
            throw new CmdException("删除数据失败");
        }
        cmdDataFlowContext.setResponseEntity(ResultVo.success());
    }
}
service-community/src/main/java/com/java110/community/cmd/floor/ListFloorCmd.java
New file
@@ -0,0 +1,86 @@
/*
 * Copyright 2017-2020 吴学文 and java110 team.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.java110.community.cmd.floor;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Cmd;
import com.java110.core.annotation.Java110Transactional;
import com.java110.core.context.ICmdDataFlowContext;
import com.java110.core.event.cmd.AbstractServiceCmdListener;
import com.java110.core.event.cmd.CmdEvent;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.dto.FloorDto;
import com.java110.intf.community.IFloorV1InnerServiceSMO;
import com.java110.po.floor.FloorPo;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.List;
import java.util.ArrayList;
import org.springframework.http.ResponseEntity;
import org.springframework.http.HttpStatus;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
 * 类表述:查询
 * 服务编码:floor.listFloor
 * 请求路劲:/app/floor.ListFloor
 * add by 吴学文 at 2021-09-13 16:41:17 mail: 928255095@qq.com
 * open source address: https://gitee.com/wuxw7/MicroCommunity
 * 官网:http://www.homecommunity.cn
 * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
 * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
 */
@Java110Cmd(serviceCode = "floor.listFloorV1")
public class ListFloorCmd extends AbstractServiceCmdListener {
    private static Logger logger = LoggerFactory.getLogger(ListFloorCmd.class);
    @Autowired
    private IFloorV1InnerServiceSMO floorV1InnerServiceSMOImpl;
    @Override
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
        super.validatePageInfo(reqJson);
    }
    @Override
    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
        FloorDto floorDto = BeanConvertUtil.covertBean(reqJson, FloorDto.class);
        int count = floorV1InnerServiceSMOImpl.queryFloorsCount(floorDto);
        List<FloorDto> floorDtos = null;
        if (count > 0) {
            floorDtos = floorV1InnerServiceSMOImpl.queryFloors(floorDto);
        } else {
            floorDtos = new ArrayList<>();
        }
        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reqJson.getInteger("row")), count, floorDtos);
        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
        cmdDataFlowContext.setResponseEntity(responseEntity);
    }
}
service-community/src/main/java/com/java110/community/cmd/floor/SaveFloorCmd.java
New file
@@ -0,0 +1,94 @@
/*
 * Copyright 2017-2020 吴学文 and java110 team.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.java110.community.cmd.floor;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Cmd;
import com.java110.core.annotation.Java110Transactional;
import com.java110.core.context.ICmdDataFlowContext;
import com.java110.core.event.cmd.AbstractServiceCmdListener;
import com.java110.core.event.cmd.CmdEvent;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.intf.community.IFloorAttrInnerServiceSMO;
import com.java110.intf.community.IFloorV1InnerServiceSMO;
import com.java110.po.floor.FloorPo;
import com.java110.po.floorAttr.FloorAttrPo;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
 * 类表述:保存
 * 服务编码:floor.saveFloor
 * 请求路劲:/app/floor.SaveFloor
 * add by 吴学文 at 2021-09-13 16:41:17 mail: 928255095@qq.com
 * open source address: https://gitee.com/wuxw7/MicroCommunity
 * 官网:http://www.homecommunity.cn
 * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
 * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
 */
@Java110Cmd(serviceCode = "floor.saveFloorV1")
public class SaveFloorCmd extends AbstractServiceCmdListener {
    private static Logger logger = LoggerFactory.getLogger(SaveFloorCmd.class);
    public static final String CODE_PREFIX_ID = "10";
    @Autowired
    private IFloorV1InnerServiceSMO floorV1InnerServiceSMOImpl;
    @Autowired
    private IFloorAttrInnerServiceSMO floorAttrInnerServiceSMOImpl;
    @Override
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "floorNum", "请求报文中未包含floorNum");
        Assert.hasKeyAndValue(reqJson, "name", "请求报文中未包含name");
        Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中未包含communityId");
        Assert.hasKeyAndValue(reqJson, "floorArea", "请求报文中未包含floorArea");
    }
    @Override
    @Java110Transactional
    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
        FloorPo floorPo = BeanConvertUtil.covertBean(reqJson, FloorPo.class);
        floorPo.setFloorId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
        floorPo.setbId("-1");
        floorPo.setUserId(cmdDataFlowContext.getReqHeaders().get("user-id"));
        int flag = floorV1InnerServiceSMOImpl.saveFloor(floorPo);
        if (flag < 1) {
            throw new CmdException("保存数据失败");
        }
        FloorAttrPo floorAttrPo = new FloorAttrPo();
        floorAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
        floorAttrPo.setSpecCd(FloorPo.FLOOR_ATTR_LARGE);
        floorAttrPo.setFloorId(floorPo.getFloorId());
        floorAttrPo.setCommunityId(floorPo.getCommunityId());
        floorAttrPo.setValue(FloorPo.FLOOR_ATTR_VALUE);
        flag = floorAttrInnerServiceSMOImpl.saveFloorAttr(floorAttrPo);
        if (flag < 1) {
            throw new CmdException("保存大厦属性数据失败");
        }
        cmdDataFlowContext.setResponseEntity(ResultVo.success());
    }
}
service-community/src/main/java/com/java110/community/cmd/floor/UpdateFloorCmd.java
New file
@@ -0,0 +1,74 @@
/*
 * Copyright 2017-2020 吴学文 and java110 team.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.java110.community.cmd.floor;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Cmd;
import com.java110.core.annotation.Java110Transactional;
import com.java110.core.context.ICmdDataFlowContext;
import com.java110.core.event.cmd.AbstractServiceCmdListener;
import com.java110.core.event.cmd.CmdEvent;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.intf.community.IFloorV1InnerServiceSMO;
import com.java110.po.floor.FloorPo;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
 * 类表述:更新
 * 服务编码:floor.updateFloor
 * 请求路劲:/app/floor.UpdateFloor
 * add by 吴学文 at 2021-09-13 16:41:17 mail: 928255095@qq.com
 * open source address: https://gitee.com/wuxw7/MicroCommunity
 * 官网:http://www.homecommunity.cn
 * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
 * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
 */
@Java110Cmd(serviceCode = "floor.updateFloorV1")
public class UpdateFloorCmd extends AbstractServiceCmdListener {
    private static Logger logger = LoggerFactory.getLogger(UpdateFloorCmd.class);
    @Autowired
    private IFloorV1InnerServiceSMO floorV1InnerServiceSMOImpl;
    @Override
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "floorId", "floorId不能为空");
    }
    @Override
    @Java110Transactional
    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
        FloorPo floorPo = BeanConvertUtil.covertBean(reqJson, FloorPo.class);
        int flag = floorV1InnerServiceSMOImpl.updateFloor(floorPo);
        if (flag < 1) {
            throw new CmdException("更新数据失败");
        }
        cmdDataFlowContext.setResponseEntity(ResultVo.success());
    }
}
service-community/src/main/java/com/java110/community/cmd/room/DeleteRoomCmd.java
New file
@@ -0,0 +1,72 @@
/*
 * Copyright 2017-2020 吴学文 and java110 team.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.java110.community.cmd.room;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Cmd;
import com.java110.core.annotation.Java110Transactional;
import com.java110.core.context.ICmdDataFlowContext;
import com.java110.core.event.cmd.AbstractServiceCmdListener;
import com.java110.core.event.cmd.CmdEvent;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.intf.community.IRoomV1InnerServiceSMO;
import com.java110.po.room.RoomPo;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
 * 类表述:删除
 * 服务编码:room.deleteRoom
 * 请求路劲:/app/room.DeleteRoom
 * add by 吴学文 at 2021-09-14 14:28:56 mail: 928255095@qq.com
 * open source address: https://gitee.com/wuxw7/MicroCommunity
 * 官网:http://www.homecommunity.cn
 * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
 * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
 */
@Java110Cmd(serviceCode = "room.DeleteRoom")
public class DeleteRoomCmd extends AbstractServiceCmdListener {
    private static Logger logger = LoggerFactory.getLogger(DeleteRoomCmd.class);
    @Autowired
    private IRoomV1InnerServiceSMO roomV1InnerServiceSMOImpl;
    @Override
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "roomId", "roomId不能为空");
        Assert.hasKeyAndValue(reqJson, "communityId", "communityId不能为空");
    }
    @Override
    @Java110Transactional
    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
        RoomPo roomPo = BeanConvertUtil.covertBean(reqJson, RoomPo.class);
        int flag = roomV1InnerServiceSMOImpl.deleteRoom(roomPo);
        if (flag < 1) {
            throw new CmdException("删除数据失败");
        }
        cmdDataFlowContext.setResponseEntity(ResultVo.success());
    }
}
service-community/src/main/java/com/java110/community/cmd/room/ListRoomCmd.java
New file
@@ -0,0 +1,85 @@
/*
 * Copyright 2017-2020 吴学文 and java110 team.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.java110.community.cmd.room;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Cmd;
import com.java110.core.annotation.Java110Transactional;
import com.java110.core.context.ICmdDataFlowContext;
import com.java110.core.event.cmd.AbstractServiceCmdListener;
import com.java110.core.event.cmd.CmdEvent;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.dto.RoomDto;
import com.java110.intf.community.IRoomV1InnerServiceSMO;
import com.java110.po.room.RoomPo;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.List;
import java.util.ArrayList;
import org.springframework.http.ResponseEntity;
import org.springframework.http.HttpStatus;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
 * 类表述:查询
 * 服务编码:room.listRoom
 * 请求路劲:/app/room.ListRoom
 * add by 吴学文 at 2021-09-14 14:28:56 mail: 928255095@qq.com
 * open source address: https://gitee.com/wuxw7/MicroCommunity
 * 官网:http://www.homecommunity.cn
 * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
 * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
 */
@Java110Cmd(serviceCode = "room.ListRoom")
public class ListRoomCmd extends AbstractServiceCmdListener {
  private static Logger logger = LoggerFactory.getLogger(ListRoomCmd.class);
    @Autowired
    private IRoomV1InnerServiceSMO roomV1InnerServiceSMOImpl;
    @Override
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
        super.validatePageInfo(reqJson);
    }
    @Override
    @Java110Transactional
    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
           RoomDto roomDto = BeanConvertUtil.covertBean(reqJson, RoomDto.class);
           int count = roomV1InnerServiceSMOImpl.queryRoomsCount(roomDto);
           List<RoomDto> roomDtos = null;
           if (count > 0) {
               roomDtos = roomV1InnerServiceSMOImpl.queryRooms(roomDto);
           } else {
               roomDtos = new ArrayList<>();
           }
           ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reqJson.getInteger("row")), count, roomDtos);
           ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
           cmdDataFlowContext.setResponseEntity(responseEntity);
    }
}
service-community/src/main/java/com/java110/community/cmd/room/SaveRoomCmd.java
New file
@@ -0,0 +1,87 @@
/*
 * Copyright 2017-2020 吴学文 and java110 team.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.java110.community.cmd.room;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Cmd;
import com.java110.core.annotation.Java110Transactional;
import com.java110.core.context.ICmdDataFlowContext;
import com.java110.core.event.cmd.AbstractServiceCmdListener;
import com.java110.core.event.cmd.CmdEvent;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.intf.community.IRoomV1InnerServiceSMO;
import com.java110.po.room.RoomPo;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
 * 类表述:保存
 * 服务编码:room.saveRoom
 * 请求路劲:/app/room.SaveRoom
 * add by 吴学文 at 2021-09-14 14:28:56 mail: 928255095@qq.com
 * open source address: https://gitee.com/wuxw7/MicroCommunity
 * 官网:http://www.homecommunity.cn
 * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
 * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
 */
@Java110Cmd(serviceCode = "room.SaveRoom")
public class SaveRoomCmd extends AbstractServiceCmdListener {
    private static Logger logger = LoggerFactory.getLogger(SaveRoomCmd.class);
    public static final String CODE_PREFIX_ID = "10";
    @Autowired
    private IRoomV1InnerServiceSMO roomV1InnerServiceSMOImpl;
    @Override
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "roomNum", "请求报文中未包含roomNum");
        Assert.hasKeyAndValue(reqJson, "unitId", "请求报文中未包含unitId");
        Assert.hasKeyAndValue(reqJson, "layer", "请求报文中未包含layer");
        Assert.hasKeyAndValue(reqJson, "apartment", "请求报文中未包含apartment");
        Assert.hasKeyAndValue(reqJson, "builtUpArea", "请求报文中未包含builtUpArea");
        Assert.hasKeyAndValue(reqJson, "feeCoefficient", "请求报文中未包含feeCoefficient");
        Assert.hasKeyAndValue(reqJson, "userId", "请求报文中未包含userId");
        Assert.hasKeyAndValue(reqJson, "statusCd", "请求报文中未包含statusCd");
        Assert.hasKeyAndValue(reqJson, "state", "请求报文中未包含state");
        Assert.hasKeyAndValue(reqJson, "roomType", "请求报文中未包含roomType");
        Assert.hasKeyAndValue(reqJson, "roomSubType", "请求报文中未包含roomSubType");
        Assert.hasKeyAndValue(reqJson, "roomArea", "请求报文中未包含roomArea");
        Assert.hasKeyAndValue(reqJson, "roomRent", "请求报文中未包含roomRent");
    }
    @Override
    @Java110Transactional
    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
        RoomPo roomPo = BeanConvertUtil.covertBean(reqJson, RoomPo.class);
        roomPo.setRoomId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
        int flag = roomV1InnerServiceSMOImpl.saveRoom(roomPo);
        if (flag < 1) {
            throw new CmdException("保存数据失败");
        }
        cmdDataFlowContext.setResponseEntity(ResultVo.success());
    }
}
service-community/src/main/java/com/java110/community/cmd/room/UpdateRoomCmd.java
New file
@@ -0,0 +1,75 @@
/*
 * Copyright 2017-2020 吴学文 and java110 team.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.java110.community.cmd.room;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Cmd;
import com.java110.core.annotation.Java110Transactional;
import com.java110.core.context.ICmdDataFlowContext;
import com.java110.core.event.cmd.AbstractServiceCmdListener;
import com.java110.core.event.cmd.CmdEvent;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.intf.community.IRoomV1InnerServiceSMO;
import com.java110.po.room.RoomPo;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
 * 类表述:更新
 * 服务编码:room.updateRoom
 * 请求路劲:/app/room.UpdateRoom
 * add by 吴学文 at 2021-09-14 14:28:56 mail: 928255095@qq.com
 * open source address: https://gitee.com/wuxw7/MicroCommunity
 * 官网:http://www.homecommunity.cn
 * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
 * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
 */
@Java110Cmd(serviceCode = "room.UpdateRoom")
public class UpdateRoomCmd extends AbstractServiceCmdListener {
    private static Logger logger = LoggerFactory.getLogger(UpdateRoomCmd.class);
    @Autowired
    private IRoomV1InnerServiceSMO roomV1InnerServiceSMOImpl;
    @Override
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "roomId", "roomId不能为空");
        Assert.hasKeyAndValue(reqJson, "communityId", "communityId不能为空");
    }
    @Override
    @Java110Transactional
    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
        RoomPo roomPo = BeanConvertUtil.covertBean(reqJson, RoomPo.class);
        int flag = roomV1InnerServiceSMOImpl.updateRoom(roomPo);
        if (flag < 1) {
            throw new CmdException("更新数据失败");
        }
        cmdDataFlowContext.setResponseEntity(ResultVo.success());
    }
}
service-community/src/main/java/com/java110/community/dao/IFloorV1ServiceDao.java
New file
@@ -0,0 +1,77 @@
/*
 * Copyright 2017-2020 吴学文 and java110 team.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.java110.community.dao;
import com.java110.utils.exception.DAOException;
import com.java110.entity.merchant.BoMerchant;
import com.java110.entity.merchant.BoMerchantAttr;
import com.java110.entity.merchant.Merchant;
import com.java110.entity.merchant.MerchantAttr;
import java.util.List;
import java.util.Map;
/**
 * 类表述:
 * add by 吴学文 at 2021-09-13 16:41:17 mail: 928255095@qq.com
 * open source address: https://gitee.com/wuxw7/MicroCommunity
 * 官网:http://www.homecommunity.cn
 * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
 * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
 */
public interface IFloorV1ServiceDao {
    /**
     * 保存 楼栋信息
     * @param info
     * @throws DAOException DAO异常
     */
    int saveFloorInfo(Map info) throws DAOException;
    /**
     * 查询楼栋信息(instance过程)
     * 根据bId 查询楼栋信息
     * @param info bId 信息
     * @return 楼栋信息
     * @throws DAOException DAO异常
     */
    List<Map> getFloorInfo(Map info) throws DAOException;
    /**
     * 修改楼栋信息
     * @param info 修改信息
     * @throws DAOException DAO异常
     */
    int updateFloorInfo(Map info) throws DAOException;
    /**
     * 查询楼栋总数
     *
     * @param info 楼栋信息
     * @return 楼栋数量
     */
    int queryFloorsCount(Map info);
}
service-community/src/main/java/com/java110/community/dao/IRoomV1ServiceDao.java
New file
@@ -0,0 +1,77 @@
/*
 * Copyright 2017-2020 吴学文 and java110 team.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.java110.community.dao;
import com.java110.utils.exception.DAOException;
import com.java110.entity.merchant.BoMerchant;
import com.java110.entity.merchant.BoMerchantAttr;
import com.java110.entity.merchant.Merchant;
import com.java110.entity.merchant.MerchantAttr;
import java.util.List;
import java.util.Map;
/**
 * 类表述:
 * add by 吴学文 at 2021-09-14 14:28:56 mail: 928255095@qq.com
 * open source address: https://gitee.com/wuxw7/MicroCommunity
 * 官网:http://www.homecommunity.cn
 * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
 * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
 */
public interface IRoomV1ServiceDao {
    /**
     * 保存 房屋信息
     * @param info
     * @throws DAOException DAO异常
     */
    int saveRoomInfo(Map info) throws DAOException;
    /**
     * 查询房屋信息(instance过程)
     * 根据bId 查询房屋信息
     * @param info bId 信息
     * @return 房屋信息
     * @throws DAOException DAO异常
     */
    List<Map> getRoomInfo(Map info) throws DAOException;
    /**
     * 修改房屋信息
     * @param info 修改信息
     * @throws DAOException DAO异常
     */
    int updateRoomInfo(Map info) throws DAOException;
    /**
     * 查询房屋总数
     *
     * @param info 房屋信息
     * @return 房屋数量
     */
    int queryRoomsCount(Map info);
}
service-community/src/main/java/com/java110/community/dao/impl/FloorV1ServiceDaoImpl.java
New file
@@ -0,0 +1,112 @@
/*
 * Copyright 2017-2020 吴学文 and java110 team.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.java110.community.dao.impl;
import com.alibaba.fastjson.JSONObject;
import com.java110.utils.constant.ResponseConstant;
import com.java110.utils.exception.DAOException;
import com.java110.utils.util.DateUtil;
import com.java110.core.base.dao.BaseServiceDao;
import com.java110.community.dao.IFloorV1ServiceDao;
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;
/**
 * 类表述:
 * add by 吴学文 at 2021-09-13 16:41:17 mail: 928255095@qq.com
 * open source address: https://gitee.com/wuxw7/MicroCommunity
 * 官网:http://www.homecommunity.cn
 * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
 * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
 */
@Service("floorV1ServiceDaoImpl")
public class FloorV1ServiceDaoImpl extends BaseServiceDao implements IFloorV1ServiceDao {
    private static Logger logger = LoggerFactory.getLogger(FloorV1ServiceDaoImpl.class);
    /**
     * 保存楼栋信息 到 instance
     * @param info   bId 信息
     * @throws DAOException DAO异常
     */
    @Override
    public int saveFloorInfo(Map info) throws DAOException {
        logger.debug("保存 saveFloorInfo 入参 info : {}",info);
        int saveFlag = sqlSessionTemplate.insert("floorV1ServiceDaoImpl.saveFloorInfo",info);
        return saveFlag;
    }
    /**
     * 查询楼栋信息(instance)
     * @param info bId 信息
     * @return List<Map>
     * @throws DAOException DAO异常
     */
    @Override
    public List<Map> getFloorInfo(Map info) throws DAOException {
        logger.debug("查询 getFloorInfo 入参 info : {}",info);
        List<Map> businessFloorInfos = sqlSessionTemplate.selectList("floorV1ServiceDaoImpl.getFloorInfo",info);
        return businessFloorInfos;
    }
    /**
     * 修改楼栋信息
     * @param info 修改信息
     * @throws DAOException DAO异常
     */
    @Override
    public int updateFloorInfo(Map info) throws DAOException {
        logger.debug("修改 updateFloorInfo 入参 info : {}",info);
        int saveFlag = sqlSessionTemplate.update("floorV1ServiceDaoImpl.updateFloorInfo",info);
        return saveFlag;
    }
     /**
     * 查询楼栋数量
     * @param info 楼栋信息
     * @return 楼栋数量
     */
    @Override
    public int queryFloorsCount(Map info) {
        logger.debug("查询 queryFloorsCount 入参 info : {}",info);
        List<Map> businessFloorInfos = sqlSessionTemplate.selectList("floorV1ServiceDaoImpl.queryFloorsCount", info);
        if (businessFloorInfos.size() < 1) {
            return 0;
        }
        return Integer.parseInt(businessFloorInfos.get(0).get("count").toString());
    }
}
service-community/src/main/java/com/java110/community/dao/impl/RoomV1ServiceDaoImpl.java
New file
@@ -0,0 +1,112 @@
/*
 * Copyright 2017-2020 吴学文 and java110 team.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.java110.community.dao.impl;
import com.alibaba.fastjson.JSONObject;
import com.java110.utils.constant.ResponseConstant;
import com.java110.utils.exception.DAOException;
import com.java110.utils.util.DateUtil;
import com.java110.core.base.dao.BaseServiceDao;
import com.java110.community.dao.IRoomV1ServiceDao;
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;
/**
 * 类表述:
 * add by 吴学文 at 2021-09-14 14:28:56 mail: 928255095@qq.com
 * open source address: https://gitee.com/wuxw7/MicroCommunity
 * 官网:http://www.homecommunity.cn
 * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
 * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
 */
@Service("roomV1ServiceDaoImpl")
public class RoomV1ServiceDaoImpl extends BaseServiceDao implements IRoomV1ServiceDao {
    private static Logger logger = LoggerFactory.getLogger(RoomV1ServiceDaoImpl.class);
    /**
     * 保存房屋信息 到 instance
     * @param info   bId 信息
     * @throws DAOException DAO异常
     */
    @Override
    public int saveRoomInfo(Map info) throws DAOException {
        logger.debug("保存 saveRoomInfo 入参 info : {}",info);
        int saveFlag = sqlSessionTemplate.insert("roomV1ServiceDaoImpl.saveRoomInfo",info);
        return saveFlag;
    }
    /**
     * 查询房屋信息(instance)
     * @param info bId 信息
     * @return List<Map>
     * @throws DAOException DAO异常
     */
    @Override
    public List<Map> getRoomInfo(Map info) throws DAOException {
        logger.debug("查询 getRoomInfo 入参 info : {}",info);
        List<Map> businessRoomInfos = sqlSessionTemplate.selectList("roomV1ServiceDaoImpl.getRoomInfo",info);
        return businessRoomInfos;
    }
    /**
     * 修改房屋信息
     * @param info 修改信息
     * @throws DAOException DAO异常
     */
    @Override
    public int updateRoomInfo(Map info) throws DAOException {
        logger.debug("修改 updateRoomInfo 入参 info : {}",info);
        int saveFlag = sqlSessionTemplate.update("roomV1ServiceDaoImpl.updateRoomInfo",info);
        return saveFlag;
    }
     /**
     * 查询房屋数量
     * @param info 房屋信息
     * @return 房屋数量
     */
    @Override
    public int queryRoomsCount(Map info) {
        logger.debug("查询 queryRoomsCount 入参 info : {}",info);
        List<Map> businessRoomInfos = sqlSessionTemplate.selectList("roomV1ServiceDaoImpl.queryRoomsCount", info);
        if (businessRoomInfos.size() < 1) {
            return 0;
        }
        return Integer.parseInt(businessRoomInfos.get(0).get("count").toString());
    }
}
service-community/src/main/java/com/java110/community/smo/impl/FloorV1InnerServiceSMOImpl.java
New file
@@ -0,0 +1,89 @@
/*
 * Copyright 2017-2020 吴学文 and java110 team.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.java110.community.smo.impl;
import com.java110.community.dao.IFloorV1ServiceDao;
import com.java110.dto.FloorDto;
import com.java110.intf.community.IFloorV1InnerServiceSMO;
import com.java110.po.floor.FloorPo;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.core.base.smo.BaseServiceSMO;
import com.java110.dto.user.UserDto;
import com.java110.dto.PageDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
/**
 * 类表述: 服务之前调用的接口实现类,不对外提供接口能力 只用于接口建调用
 * add by 吴学文 at 2021-09-13 16:41:17 mail: 928255095@qq.com
 * open source address: https://gitee.com/wuxw7/MicroCommunity
 * 官网:http://www.homecommunity.cn
 * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
 * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
 */
@RestController
public class FloorV1InnerServiceSMOImpl extends BaseServiceSMO implements IFloorV1InnerServiceSMO {
    @Autowired
    private IFloorV1ServiceDao floorV1ServiceDaoImpl;
    @Override
    public int saveFloor(@RequestBody  FloorPo floorPo) {
        int saveFlag = floorV1ServiceDaoImpl.saveFloorInfo(BeanConvertUtil.beanCovertMap(floorPo));
        return saveFlag;
    }
     @Override
    public int updateFloor(@RequestBody  FloorPo floorPo) {
        int saveFlag = floorV1ServiceDaoImpl.updateFloorInfo(BeanConvertUtil.beanCovertMap(floorPo));
        return saveFlag;
    }
     @Override
    public int deleteFloor(@RequestBody  FloorPo floorPo) {
       floorPo.setStatusCd("1");
       int saveFlag = floorV1ServiceDaoImpl.updateFloorInfo(BeanConvertUtil.beanCovertMap(floorPo));
       return saveFlag;
    }
    @Override
    public List<FloorDto> queryFloors(@RequestBody  FloorDto floorDto) {
        //校验是否传了 分页信息
        int page = floorDto.getPage();
        if (page != PageDto.DEFAULT_PAGE) {
            floorDto.setPage((page - 1) * floorDto.getRow());
        }
        List<FloorDto> floors = BeanConvertUtil.covertBeanList(floorV1ServiceDaoImpl.getFloorInfo(BeanConvertUtil.beanCovertMap(floorDto)), FloorDto.class);
        return floors;
    }
    @Override
    public int queryFloorsCount(@RequestBody FloorDto floorDto) {
        return floorV1ServiceDaoImpl.queryFloorsCount(BeanConvertUtil.beanCovertMap(floorDto));    }
}
service-community/src/main/java/com/java110/community/smo/impl/RoomV1InnerServiceSMOImpl.java
New file
@@ -0,0 +1,89 @@
/*
 * Copyright 2017-2020 吴学文 and java110 team.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.java110.community.smo.impl;
import com.java110.community.dao.IRoomV1ServiceDao;
import com.java110.dto.RoomDto;
import com.java110.intf.community.IRoomV1InnerServiceSMO;
import com.java110.po.room.RoomPo;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.core.base.smo.BaseServiceSMO;
import com.java110.dto.user.UserDto;
import com.java110.dto.PageDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
/**
 * 类表述: 服务之前调用的接口实现类,不对外提供接口能力 只用于接口建调用
 * add by 吴学文 at 2021-09-14 14:28:56 mail: 928255095@qq.com
 * open source address: https://gitee.com/wuxw7/MicroCommunity
 * 官网:http://www.homecommunity.cn
 * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
 * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
 */
@RestController
public class RoomV1InnerServiceSMOImpl extends BaseServiceSMO implements IRoomV1InnerServiceSMO {
    @Autowired
    private IRoomV1ServiceDao roomV1ServiceDaoImpl;
    @Override
    public int saveRoom(@RequestBody  RoomPo roomPo) {
        int saveFlag = roomV1ServiceDaoImpl.saveRoomInfo(BeanConvertUtil.beanCovertMap(roomPo));
        return saveFlag;
    }
     @Override
    public int updateRoom(@RequestBody  RoomPo roomPo) {
        int saveFlag = roomV1ServiceDaoImpl.updateRoomInfo(BeanConvertUtil.beanCovertMap(roomPo));
        return saveFlag;
    }
     @Override
    public int deleteRoom(@RequestBody  RoomPo roomPo) {
       roomPo.setStatusCd("1");
       int saveFlag = roomV1ServiceDaoImpl.updateRoomInfo(BeanConvertUtil.beanCovertMap(roomPo));
       return saveFlag;
    }
    @Override
    public List<RoomDto> queryRooms(@RequestBody RoomDto roomDto) {
        //校验是否传了 分页信息
        int page = roomDto.getPage();
        if (page != PageDto.DEFAULT_PAGE) {
            roomDto.setPage((page - 1) * roomDto.getRow());
        }
        List<RoomDto> rooms = BeanConvertUtil.covertBeanList(roomV1ServiceDaoImpl.getRoomInfo(BeanConvertUtil.beanCovertMap(roomDto)), RoomDto.class);
        return rooms;
    }
    @Override
    public int queryRoomsCount(@RequestBody RoomDto roomDto) {
        return roomV1ServiceDaoImpl.queryRoomsCount(BeanConvertUtil.beanCovertMap(roomDto));    }
}
service-dev/src/main/java/com/java110/dev/DevServiceApplicationStart.java
@@ -19,6 +19,7 @@
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
import org.springframework.http.converter.StringHttpMessageConverter;
import java.nio.charset.Charset;
@@ -34,7 +35,7 @@
 * @tag
 */
@SpringBootApplication(scanBasePackages = {"com.java110.service", "com.java110.dev",
        "com.java110.core", "com.java110.config.properties.code", "com.java110.db"},
        "com.java110.core", "com.java110.config.properties.code", "com.java110.db", "com.java110.utils.factory"},
        exclude = {LiquibaseAutoConfiguration.class,
                org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class})
@EnableDiscoveryClient
@@ -81,6 +82,16 @@
        //刷新缓存
        flushMainCache(args);
//
//        //所有的bean,参考:http://412887952-qq-com.iteye.com/blog/2314051
//        String[] beanNames = context.getBeanDefinitionNames();
//        //String[] beanNames = ctx.getBeanNamesForAnnotation(RestController.class);//所有添加该注解的bean
//        logger.info("bean总数:{}", context.getBeanDefinitionCount());
//        int i = 0;
//        for (String str : beanNames) {
//            logger.info("{},beanName:{}", ++i, str);
//        }
    }
    /**
service-dev/src/main/java/com/java110/dev/cmd/SaveMappingCmd.java
@@ -14,12 +14,12 @@
public class SaveMappingCmd extends AbstractServiceCmdListener {
    @Override
    protected void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
    }
    @Override
    protected void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
    }
}
service-dev/src/main/java/com/java110/dev/cmd/businessTableHis/DeleteBusinessTableHisCmd.java
@@ -21,16 +21,16 @@
import com.java110.core.context.ICmdDataFlowContext;
import com.java110.core.event.cmd.AbstractServiceCmdListener;
import com.java110.core.event.cmd.CmdEvent;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.intf.dev.IBusinessTableHisV1InnerServiceSMO;
import com.java110.po.businessTableHis.BusinessTableHisPo;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
/**
 * 类表述:删除
 * 服务编码:businessTableHis.DeleteBusinessTableHis
@@ -43,23 +43,23 @@
 */
@Java110Cmd(serviceCode = "businessTableHis.deleteBusinessTableHis")
public class DeleteBusinessTableHisCmd extends AbstractServiceCmdListener {
  private static Logger logger = LoggerFactory.getLogger(DeleteBusinessTableHisCmd.class);
    private static Logger logger = LoggerFactory.getLogger(DeleteBusinessTableHisCmd.class);
    @Autowired
    private IBusinessTableHisV1InnerServiceSMO businessTableHisV1InnerServiceSMOImpl;
    @Override
    protected void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "hisId", "hisId不能为空");
Assert.hasKeyAndValue(reqJson, "hisId", "hisId不能为空");
        Assert.hasKeyAndValue(reqJson, "hisId", "hisId不能为空");
    }
    @Override
    @Java110Transactional
    protected void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
       BusinessTableHisPo businessTableHisPo = BeanConvertUtil.covertBean(reqJson, BusinessTableHisPo.class);
        BusinessTableHisPo businessTableHisPo = BeanConvertUtil.covertBean(reqJson, BusinessTableHisPo.class);
        int flag = businessTableHisV1InnerServiceSMOImpl.deleteBusinessTableHis(businessTableHisPo);
        if (flag < 1) {
service-dev/src/main/java/com/java110/dev/cmd/businessTableHis/ListBusinessTableHisCmd.java
@@ -56,13 +56,12 @@
    private IBusinessTableHisV1InnerServiceSMO businessTableHisV1InnerServiceSMOImpl;
    @Override
    protected void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
        super.validatePageInfo(reqJson);
    }
    @Override
    @Java110Transactional
    protected void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
           BusinessTableHisDto businessTableHisDto = BeanConvertUtil.covertBean(reqJson, BusinessTableHisDto.class);
service-dev/src/main/java/com/java110/dev/cmd/businessTableHis/SaveBusinessTableHisCmd.java
@@ -53,7 +53,7 @@
    private IBusinessTableHisV1InnerServiceSMO businessTableHisV1InnerServiceSMOImpl;
    @Override
    protected void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "action", "请求报文中未包含action");
Assert.hasKeyAndValue(reqJson, "actionObj", "请求报文中未包含actionObj");
Assert.hasKeyAndValue(reqJson, "actionObjHis", "请求报文中未包含actionObjHis");
@@ -63,7 +63,7 @@
    @Override
    @Java110Transactional
    protected void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
       BusinessTableHisPo businessTableHisPo = BeanConvertUtil.covertBean(reqJson, BusinessTableHisPo.class);
        businessTableHisPo.setHisId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
service-dev/src/main/java/com/java110/dev/cmd/businessTableHis/UpdateBusinessTableHisCmd.java
@@ -53,7 +53,7 @@
    private IBusinessTableHisV1InnerServiceSMO businessTableHisV1InnerServiceSMOImpl;
    @Override
    protected void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "hisId", "hisId不能为空");
Assert.hasKeyAndValue(reqJson, "hisId", "hisId不能为空");
@@ -61,7 +61,7 @@
    @Override
    @Java110Transactional
    protected void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
       BusinessTableHisPo businessTableHisPo = BeanConvertUtil.covertBean(reqJson, BusinessTableHisPo.class);
        int flag = businessTableHisV1InnerServiceSMOImpl.updateBusinessTableHis(businessTableHisPo);
service-dev/src/main/java/com/java110/dev/cmd/cache/FlushCacheCmd.java
@@ -2,6 +2,7 @@
import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Cmd;
import com.java110.core.annotation.Java110Transactional;
import com.java110.core.context.ICmdDataFlowContext;
import com.java110.core.event.cmd.AbstractServiceCmdListener;
import com.java110.core.event.cmd.CmdEvent;
@@ -26,12 +27,13 @@
    IDevServiceCacheSMO devServiceCacheSMOImpl;
    @Override
    protected void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
    }
    @Override
    protected void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
    @Java110Transactional
    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
        devServiceCacheSMOImpl.flush(reqJson.toJavaObject(Map.class));
service-dev/src/main/java/com/java110/dev/smo/impl/DevServiceCacheSMOImpl.java
@@ -1,6 +1,7 @@
package com.java110.dev.smo.impl;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Transactional;
import com.java110.core.factory.DataTransactionFactory;
import com.java110.db.dao.IQueryServiceDAO;
import com.java110.dev.dao.IDevServiceDAO;
service-order/src/main/java/com/java110/order/dao/impl/CenterServiceDAOImpl.java
@@ -72,9 +72,9 @@
    @Override
    public void updateOrderItem(Map orderItem) throws DAOException {
        int saveFlag = sqlSessionTemplate.update("centerServiceDAOImpl.updateOrderItem", orderItem);
        if (saveFlag < 1) {
            throw new DAOException(ResponseConstant.RESULT_CODE_INNER_ERROR, "修改订单项失败:" + JSONObject.toJSONString(orderItem));
        }
//        if (saveFlag < 1) {
//            throw new DAOException(ResponseConstant.RESULT_CODE_INNER_ERROR, "修改订单项失败:" + JSONObject.toJSONString(orderItem));
//        }
    }
    @Override
service-user/src/main/java/com/java110/user/cmd/login/PcUserLoginCmd.java
@@ -46,7 +46,7 @@
    @Autowired
    private IUserInnerServiceSMO userInnerServiceSMOImpl;
    @Override
    protected void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
        String paramIn = cmdDataFlowContext.getReqData();
        Assert.isJsonObject(paramIn, "用户注册请求参数有误,不是有效的json格式 " + paramIn);
        Assert.jsonObjectHaveKey(paramIn, "username", "用户登录,未包含username节点,请检查" + paramIn);
@@ -54,7 +54,7 @@
    }
    @Override
    protected void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
        ResponseEntity responseEntity = null;
        JSONObject paramInJson = JSONObject.parseObject(cmdDataFlowContext.getReqData());
service-user/src/main/java/com/java110/user/cmd/register/UserRegisterServiceCmd.java
@@ -34,13 +34,13 @@
    private IUserInnerServiceSMO userInnerServiceSMOImpl;
    @Override
    protected void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
    }
    @Override
    @Java110Transactional
    protected void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
        reqJson.put("userId", "-1");
        reqJson.put("levelCd", UserLevelConstant.USER_LEVEL_ADMIN);