wuxw
2019-08-31 03ccfbd24ffc036e6c4c9715d927c755dd92adf3
菜单配置开发完成待测试
8个文件已修改
270 ■■■■■ 已修改文件
Api/src/main/java/com/java110/api/listener/configMenu/BindingConfigMenuListener.java 109 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Api/src/main/java/com/java110/api/listener/menu/SaveMenuListener.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CommunityService/src/main/java/com/java110/community/dao/impl/MenuServiceDaoImpl.java 94 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebService/src/main/resources/components/menuPackage/addMenuView/addMenuView.js 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebService/src/main/resources/components/menuPackage/menu-manage/menuManage.html 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebService/src/main/resources/components/menuPackage/menu-manage/menuManage.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-common/src/main/java/com/java110/common/constant/DomainContant.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-db/src/main/resources/mapper/menu/MenuServiceDaoImplMapper.xml 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Api/src/main/java/com/java110/api/listener/configMenu/BindingConfigMenuListener.java
@@ -2,14 +2,25 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.java110.common.cache.MappingCache;
import com.java110.common.constant.DomainContant;
import com.java110.common.constant.ResponseConstant;
import com.java110.common.exception.ListenerExecuteException;
import com.java110.common.util.BeanConvertUtil;
import com.java110.common.util.StringUtil;
import com.java110.api.listener.AbstractServiceApiListener;
import com.java110.common.util.Assert;
import com.java110.core.context.DataFlowContext;
import com.java110.core.smo.menu.IMenuInnerServiceSMO;
import com.java110.dto.basePrivilege.BasePrivilegeDto;
import com.java110.dto.menu.MenuDto;
import com.java110.dto.menuGroup.MenuGroupDto;
import com.java110.entity.center.AppService;
import com.java110.event.service.api.ServiceDataFlowEvent;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import com.java110.common.constant.CommonConstant;
import com.java110.common.constant.ServiceCodeConstant;
@@ -20,12 +31,19 @@
import com.java110.core.annotation.Java110Listener;
import java.util.Map;
/**
 * 保存小区侦听
 * add by wuxw 2019-06-30
 */
@Java110Listener("bindingConfigMenuListener")
public class BindingConfigMenuListener extends AbstractServiceApiListener {
    @Autowired
    private IMenuInnerServiceSMO menuInnerServiceSMOImpl;
    @Override
    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
        //Assert.hasKeyAndValue(reqJson, "xxx", "xxx");
@@ -57,30 +75,47 @@
        JSONObject addMenuView = getObj(infos, "addMenuView");
        JSONObject addPrivilegeView = getObj(infos, "addPrivilegeView");
        if (!hasKey(viewMenuGroupInfo, "gId")) {
            viewMenuGroupInfo.put("gId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.MENU_GROUP));
            viewMenuGroupInfo.put("userId", context.getRequestCurrentHeaders().get(CommonConstant.HTTP_USER_ID));
            businesses.add(addBusinessMenuGroup(viewMenuGroupInfo, context));
            saveMenuGroup(viewMenuGroupInfo, context);
        }
        if (!hasKey(addMenuView, "mId")) {
            addMenuView.put("mId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.MENU));
            addMenuView.put("userId", context.getRequestCurrentHeaders().get(CommonConstant.HTTP_USER_ID));
            businesses.add(addBusinessMenu(addMenuView, context));
            saveMenu(addMenuView, context);
        }
        if (!hasKey(addPrivilegeView, "pId")) {
            addPrivilegeView.put("pId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.BASE_PRIVILEGE));
            addPrivilegeView.put("userId", context.getRequestCurrentHeaders().get(CommonConstant.HTTP_USER_ID));
            businesses.add(addBusinessPrivilege(addPrivilegeView, context));
            saveMenuPrivilege(addPrivilegeView, context);
        }
        JSONObject paramInObj = super.restToCenterProtocol(businesses, context.getRequestCurrentHeaders());
        //将 rest header 信息传递到下层服务中去
        super.freshHttpHeader(header, context.getRequestCurrentHeaders());
        ResponseEntity<String> responseEntity = this.callService(context, service.getServiceCode(), paramInObj);
        ResponseEntity<String> responseEntity = new ResponseEntity<String>("", HttpStatus.OK);
        context.setResponseEntity(responseEntity);
    }
    private void saveMenuGroup(Map info, DataFlowContext context) {
        info.put("gId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.MENU_GROUP));
        info.put("userId", context.getRequestCurrentHeaders().get(CommonConstant.HTTP_USER_ID));
        MenuGroupDto menuGroupDto = BeanConvertUtil.covertBean(info, MenuGroupDto.class);
        if (menuInnerServiceSMOImpl.saveMenuGroup(menuGroupDto) < 1) {
            throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "参数异常,保存菜单组失败");
        }
    }
    private void saveMenu(Map info, DataFlowContext context) {
        info.put("mId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.MENU));
        info.put("userId", context.getRequestCurrentHeaders().get(CommonConstant.HTTP_USER_ID));
        MenuDto menuDto = BeanConvertUtil.covertBean(info, MenuDto.class);
        if (menuInnerServiceSMOImpl.saveMenu(menuDto) < 1) {
            throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "参数异常,保存菜单失败");
        }
    }
    private void saveMenuPrivilege(Map info, DataFlowContext context) {
        info.put("pId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.BASE_PRIVILEGE));
        info.put("userId", context.getRequestCurrentHeaders().get(CommonConstant.HTTP_USER_ID));
        BasePrivilegeDto basePrivilegeDto = BeanConvertUtil.covertBean(info, BasePrivilegeDto.class);
        if (menuInnerServiceSMOImpl.saveBasePrivilege(basePrivilegeDto) < 1) {
            throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "参数异常,保存菜单权限失败");
        }
    }
    @Override
@@ -96,43 +131,6 @@
    @Override
    public int getOrder() {
        return DEFAULT_ORDER;
    }
    private JSONObject addBusinessMenuGroup(JSONObject paramInJson, DataFlowContext dataFlowContext) {
        JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
        //business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_SAVE_MENU_GROUP_INFO);
        business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ);
        business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
        JSONObject businessObj = new JSONObject();
        businessObj.putAll(paramInJson);
        //计算 应收金额
        business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessMenuGroup", businessObj);
        return business;
    }
    private JSONObject addBusinessMenu(JSONObject paramInJson, DataFlowContext dataFlowContext) {
        JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
        //business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_SAVE_MENU_INFO);
        business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ);
        business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
        JSONObject businessObj = new JSONObject();
        businessObj.putAll(paramInJson);
        //计算 应收金额
        business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessMenu", businessObj);
        return business;
    }
    private JSONObject addBusinessPrivilege(JSONObject paramInJson, DataFlowContext dataFlowContext) {
        JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
        //business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_SAVE_PRIVILEGE_INFO);
        business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ);
        business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
        JSONObject businessObj = new JSONObject();
        businessObj.putAll(paramInJson);
        //计算 应收金额
        business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessPrivilege", businessObj);
        return business;
    }
@@ -165,4 +163,11 @@
    }
    public IMenuInnerServiceSMO getMenuInnerServiceSMOImpl() {
        return menuInnerServiceSMOImpl;
    }
    public void setMenuInnerServiceSMOImpl(IMenuInnerServiceSMO menuInnerServiceSMOImpl) {
        this.menuInnerServiceSMOImpl = menuInnerServiceSMOImpl;
    }
}
Api/src/main/java/com/java110/api/listener/menu/SaveMenuListener.java
@@ -16,9 +16,8 @@
import com.java110.common.constant.ServiceCodeMenuConstant;
import com.java110.core.annotation.Java110Listener;
/**
 * 保存小区侦听
 * add by wuxw 2019-06-30
@@ -30,9 +29,9 @@
        //Assert.hasKeyAndValue(reqJson, "xxx", "xxx");
        Assert.hasKeyAndValue(reqJson, "name", "必填,请填写菜单名称");
Assert.hasKeyAndValue(reqJson, "url", "必填,请菜单菜单地址");
Assert.hasKeyAndValue(reqJson, "seq", "必填,请填写序列");
Assert.hasKeyAndValue(reqJson, "isShow", "必填,请选择是否显示菜单");
        Assert.hasKeyAndValue(reqJson, "url", "必填,请菜单菜单地址");
        Assert.hasKeyAndValue(reqJson, "seq", "必填,请填写序列");
        Assert.hasKeyAndValue(reqJson, "isShow", "必填,请选择是否显示菜单");
    }
@@ -56,8 +55,6 @@
    public int getOrder() {
        return DEFAULT_ORDER;
    }
}
CommunityService/src/main/java/com/java110/community/dao/impl/MenuServiceDaoImpl.java
@@ -1,7 +1,10 @@
package com.java110.community.dao.impl;
import com.alibaba.fastjson.JSONObject;
import com.java110.common.cache.MappingCache;
import com.java110.common.constant.DomainContant;
import com.java110.common.constant.ResponseConstant;
import com.java110.common.constant.StatusConstant;
import com.java110.common.exception.DAOException;
import com.java110.common.util.DateUtil;
import com.java110.community.dao.IMenuServiceDao;
@@ -9,6 +12,7 @@
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;
@@ -18,7 +22,7 @@
 * Created by wuxw on 2017/4/5.
 */
@Service("menuServiceDaoImpl")
//@Transactional
@Transactional
public class MenuServiceDaoImpl extends BaseServiceDao implements IMenuServiceDao {
    private static Logger logger = LoggerFactory.getLogger(MenuServiceDaoImpl.class);
@@ -26,14 +30,15 @@
    /**
     * 保存路由信息 到 instance
     * @param info   bId 信息
     *
     * @param info bId 信息
     * @throws DAOException DAO异常
     */
    @Override
    public int saveMenuGroupInfo(Map info) throws DAOException {
        logger.debug("保存路由信息Instance 入参 info : {}",info);
        logger.debug("保存路由信息Instance 入参 info : {}", info);
        int saveFlag = sqlSessionTemplate.insert("menuServiceDaoImpl.saveMenuGroupInfo",info);
        int saveFlag = sqlSessionTemplate.insert("menuServiceDaoImpl.saveMenuGroupInfo", info);
        return saveFlag;
    }
@@ -41,15 +46,16 @@
    /**
     * 查询路由信息(instance)
     *
     * @param info bId 信息
     * @return List<Map>
     * @throws DAOException DAO异常
     */
    @Override
    public List<Map> getMenuGroupInfo(Map info) throws DAOException {
        logger.debug("查询路由信息 入参 info : {}",info);
        logger.debug("查询路由信息 入参 info : {}", info);
        List<Map> businessMenuGroupInfos = sqlSessionTemplate.selectList("menuServiceDaoImpl.getMenuGroupInfo",info);
        List<Map> businessMenuGroupInfos = sqlSessionTemplate.selectList("menuServiceDaoImpl.getMenuGroupInfo", info);
        return businessMenuGroupInfos;
    }
@@ -57,26 +63,28 @@
    /**
     * 修改路由信息
     *
     * @param info 修改信息
     * @throws DAOException DAO异常
     */
    @Override
    public int updateMenuGroupInfo(Map info) throws DAOException {
        logger.debug("修改路由信息Instance 入参 info : {}",info);
        logger.debug("修改路由信息Instance 入参 info : {}", info);
        int saveFlag = sqlSessionTemplate.update("menuServiceDaoImpl.updateMenuGroupInfo",info);
        int saveFlag = sqlSessionTemplate.update("menuServiceDaoImpl.updateMenuGroupInfo", info);
        return saveFlag;
    }
     /**
    /**
     * 查询路由数量
     *
     * @param info 路由信息
     * @return 路由数量
     */
    @Override
    public int queryMenuGroupsCount(Map info) {
        logger.debug("查询路由数据 入参 info : {}",info);
        logger.debug("查询路由数据 入参 info : {}", info);
        List<Map> businessMenuGroupInfos = sqlSessionTemplate.selectList("menuServiceDaoImpl.queryMenuGroupsCount", info);
        if (businessMenuGroupInfos.size() < 1) {
@@ -89,14 +97,26 @@
    /**
     * 保存路由信息 到 instance
     * @param info   bId 信息
     *
     * @param info bId 信息
     * @throws DAOException DAO异常
     */
    @Override
    public int saveBasePrivilegeInfo(Map info) throws DAOException {
        logger.debug("保存路由信息Instance 入参 info : {}",info);
        logger.debug("保存路由信息Instance 入参 info : {}", info);
        int saveFlag = sqlSessionTemplate.insert("menuServiceDaoImpl.saveBasePrivilegeInfo",info);
        int saveFlag = sqlSessionTemplate.insert("menuServiceDaoImpl.saveBasePrivilegeInfo", info);
        if (saveFlag < 1) {
            return saveFlag;
        }
        // 将权限组分配给对应商户类型管理员
        info.put("pgId",MappingCache.getValue(DomainContant.DEFAULT_PRIVILEGE_ADMIN, info.get("domain").toString()));
         saveFlag = sqlSessionTemplate.insert("menuServiceDaoImpl.saveBasePrivilegeRelInfo", info);
        return saveFlag;
    }
@@ -104,15 +124,16 @@
    /**
     * 查询路由信息(instance)
     *
     * @param info bId 信息
     * @return List<Map>
     * @throws DAOException DAO异常
     */
    @Override
    public List<Map> getBasePrivilegeInfo(Map info) throws DAOException {
        logger.debug("查询路由信息 入参 info : {}",info);
        logger.debug("查询路由信息 入参 info : {}", info);
        List<Map> businessBasePrivilegeInfos = sqlSessionTemplate.selectList("menuServiceDaoImpl.getBasePrivilegeInfo",info);
        List<Map> businessBasePrivilegeInfos = sqlSessionTemplate.selectList("menuServiceDaoImpl.getBasePrivilegeInfo", info);
        return businessBasePrivilegeInfos;
    }
@@ -120,26 +141,42 @@
    /**
     * 修改路由信息
     *
     * @param info 修改信息
     * @throws DAOException DAO异常
     */
    @Override
    public int updateBasePrivilegeInfo(Map info) throws DAOException {
        logger.debug("修改路由信息Instance 入参 info : {}",info);
        logger.debug("修改路由信息Instance 入参 info : {}", info);
        int saveFlag = 0;
        //判断是否为删除
        if(info.containsKey("statusCd") && StatusConstant.STATUS_CD_INVALID.equals(info.get("statusCd"))){
                //做查询
            List<Map> basePrivileges = getBasePrivilegeInfo(info);
        int saveFlag = sqlSessionTemplate.update("menuServiceDaoImpl.updateBasePrivilegeInfo",info);
            if(basePrivileges != null && basePrivileges.size() > 0){
                saveFlag = sqlSessionTemplate.update("menuServiceDaoImpl.updateBasePrivilegeRelInfo", info);
                if(saveFlag < 1){
                    return saveFlag;
                }
            }
        }
        saveFlag = sqlSessionTemplate.update("menuServiceDaoImpl.updateBasePrivilegeInfo", info);
        return saveFlag;
    }
    /**
     * 查询路由数量
     *
     * @param info 路由信息
     * @return 路由数量
     */
    @Override
    public int queryBasePrivilegesCount(Map info) {
        logger.debug("查询路由数据 入参 info : {}",info);
        logger.debug("查询路由数据 入参 info : {}", info);
        List<Map> businessBasePrivilegeInfos = sqlSessionTemplate.selectList("menuServiceDaoImpl.queryBasePrivilegesCount", info);
        if (businessBasePrivilegeInfos.size() < 1) {
@@ -150,17 +187,17 @@
    }
    /**
     * 保存路由信息 到 instance
     * @param info   bId 信息
     *
     * @param info bId 信息
     * @throws DAOException DAO异常
     */
    @Override
    public int saveMenuInfo(Map info) throws DAOException {
        logger.debug("保存路由信息Instance 入参 info : {}",info);
        logger.debug("保存路由信息Instance 入参 info : {}", info);
        int saveFlag = sqlSessionTemplate.insert("menuServiceDaoImpl.saveMenuInfo",info);
        int saveFlag = sqlSessionTemplate.insert("menuServiceDaoImpl.saveMenuInfo", info);
        return saveFlag;
    }
@@ -168,15 +205,16 @@
    /**
     * 查询路由信息(instance)
     *
     * @param info bId 信息
     * @return List<Map>
     * @throws DAOException DAO异常
     */
    @Override
    public List<Map> getMenuInfo(Map info) throws DAOException {
        logger.debug("查询路由信息 入参 info : {}",info);
        logger.debug("查询路由信息 入参 info : {}", info);
        List<Map> businessMenuInfos = sqlSessionTemplate.selectList("menuServiceDaoImpl.getMenuInfo",info);
        List<Map> businessMenuInfos = sqlSessionTemplate.selectList("menuServiceDaoImpl.getMenuInfo", info);
        return businessMenuInfos;
    }
@@ -184,26 +222,28 @@
    /**
     * 修改路由信息
     *
     * @param info 修改信息
     * @throws DAOException DAO异常
     */
    @Override
    public int updateMenuInfo(Map info) throws DAOException {
        logger.debug("修改路由信息Instance 入参 info : {}",info);
        logger.debug("修改路由信息Instance 入参 info : {}", info);
        int saveFlag = sqlSessionTemplate.update("menuServiceDaoImpl.updateMenuInfo",info);
        int saveFlag = sqlSessionTemplate.update("menuServiceDaoImpl.updateMenuInfo", info);
        return saveFlag;
    }
    /**
     * 查询路由数量
     *
     * @param info 路由信息
     * @return 路由数量
     */
    @Override
    public int queryMenusCount(Map info) {
        logger.debug("查询路由数据 入参 info : {}",info);
        logger.debug("查询路由数据 入参 info : {}", info);
        List<Map> businessMenuInfos = sqlSessionTemplate.selectList("menuServiceDaoImpl.queryMenusCount", info);
        if (businessMenuInfos.size() < 1) {
WebService/src/main/resources/components/menuPackage/addMenuView/addMenuView.js
@@ -57,9 +57,9 @@
                            errInfo:"菜单地址不能为空"
                        },
 {
                            limit:"maxin",
                            param:"2,10",
                            errInfo:"菜单名称必须在2至10字符之间"
                            limit:"maxLength",
                            param:"200",
                            errInfo:"菜单地址不能超过200"
                        },
                    ],
'addMenuViewInfo.seq':[
WebService/src/main/resources/components/menuPackage/menu-manage/menuManage.html
@@ -88,7 +88,7 @@
                    <div class="ibox-tools" style="top:10px;">
                        <button type="button" class="btn btn-primary btn-sm" v-on:click="_openAddMenuModal()">
                            <i class="glyphicon glyphicon-plus"></i>
                            添加菜单
                            配置菜单
                        </button>
                    </div>
                </div>
@@ -154,10 +154,10 @@
    ></vc:create>
    <vc:create name="addMenu"
   <!-- <vc:create name="addMenu"
               callBackListener=""
               callBackFunction=""
    ></vc:create>
    ></vc:create>-->
    <vc:create name="editMenu"></vc:create>
    <vc:create name="deleteMenu"></vc:create>
WebService/src/main/resources/components/menuPackage/menu-manage/menuManage.js
@@ -71,7 +71,8 @@
                           );
            },
            _openAddMenuModal:function(){
                vc.emit('addMenu','openAddMenuModal',{});
                //vc.emit('addMenu','openAddMenuModal',{});
                vc.jumpToPage("/flow/configMenuFlow");
            },
            _openEditMenuModel:function(_menu){
                vc.emit('editMenu','openEditMenuModal',_menu);
java110-common/src/main/java/com/java110/common/constant/DomainContant.java
@@ -33,4 +33,13 @@
    public final static String COMMON_DOMAIN = "DOMAIN.COMMON";
    /**
     * 商户类型对应 权限组 管理员
     *
     *
     */
    public final static String DEFAULT_PRIVILEGE_ADMIN = "DEFAULT_PRIVILEGE_ADMIN";
}
java110-db/src/main/resources/mapper/menu/MenuServiceDaoImplMapper.xml
@@ -108,8 +108,20 @@
    <!-- 保存路由信息至 instance表中 add by wuxw 2018-07-03 -->
    <insert id="saveBasePrivilegeInfo" parameterType="Map">
    <insert id="saveBasePrivilegeRelInfo" parameterType="Map">
        insert into p_privilege(
        p_id,pg_id
        ) values (
        #{pId},#{pgId}
        )
    </insert>
    <!-- 保存路由信息至 instance表中 add by wuxw 2018-07-03 -->
    <insert id="saveBasePrivilegeRelInfo" parameterType="Map">
        insert into p_privilege_rel(
        p_id,name,domain,description
        ) values (
        #{pId},#{name},#{domain},#{description}
@@ -161,6 +173,24 @@
    </update>
    <!-- 修改路由信息 add by wuxw 2018-07-03 -->
    <update id="updateBasePrivilegeRelInfo" parameterType="Map">
        update p_privilege_rel t
        <set>
            <if test="statusCd !=null and statusCd != ''">
                t.status_cd = #{statusCd},
            </if>
            <if test="pgId !=null and pgId != ''">
                t.pg_id= #{pgId},
            </if>
        </set>
        where t.p_id= #{pId}
    </update>
    <!-- 查询路由数量 add by wuxw 2018-07-03 -->
    <select id="queryBasePrivilegesCount" parameterType="Map" resultType="Map">
        select count(1) count