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