java110-bean/src/main/java/com/java110/dto/basePrivilege/BasePrivilegeDto.java
@@ -1,3 +1,18 @@ /* * 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.dto.basePrivilege; import com.java110.dto.PageDto; @@ -8,6 +23,7 @@ private String userId; private String pId; private String storeId; private String name; private String resource; private String domain; @@ -96,4 +112,12 @@ public void setmId(String mId) { this.mId = mId; } public String getStoreId() { return storeId; } public void setStoreId(String storeId) { this.storeId = storeId; } } java110-db/src/main/resources/mapper/center/PrivilegeDAOImplMapper.xml
@@ -4,7 +4,8 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="privilegeDAOImpl"> <select id="queryUserDefaultPrivilege" parameterType="map" resultType="map"> SELECT a.`p_id` pId,a.`privilege_flag` privilegeFlag,a.`user_id` userId FROM p_privilege_user a WHERE a.`p_id` = #{pId} SELECT a.`p_id` pId,a.`privilege_flag` privilegeFlag,a.`user_id` userId FROM p_privilege_user a WHERE a.`p_id` = #{pId} AND a.`user_id` = #{userId} AND a.`privilege_flag` = '1' AND a.`status_cd` = '0' @@ -13,7 +14,7 @@ <!-- 保存属性信息 c_business_attrs --> <insert id="saveUserDefaultPrivilege" parameterType="Map"> <![CDATA[ INSERT INTO p_privilege_user(p_id,privilege_flag,user_id) VALUES(#{pId},'1',#{userId}) INSERT INTO p_privilege_user(p_id,privilege_flag,user_id,store_id) VALUES(#{pId},'1',#{userId},#{storeId}) ]]> </insert> @@ -31,10 +32,10 @@ <update id="updatePrivilegeGroup" parameterType="Map"> UPDATE p_privilege_group a SET <if test="name != null and name != ''"> a.name = #{name}, a.name = #{name}, </if> <if test="description != null and description != ''"> a.description = #{description} a.description = #{description} </if> WHERE 1= 1 <if test="storeId != null and storeId != ''"> @@ -74,18 +75,18 @@ <select id="queryPrivilegeRel" parameterType="Map" resultType="Map"> SELECT pp.`name`, pp.`domain`, pp.`p_id` pId, pp.`description`, pp.`create_time` createTime pp.`name`, pp.`domain`, pp.`p_id` pId, pp.`description`, pp.`create_time` createTime FROM p_privilege pp, p_privilege_rel ppr p_privilege pp, p_privilege_rel ppr WHERE ppr.`p_id` = pp.`p_id` AND ppr.`status_cd` = '0' AND pp.`status_cd` = '0' AND ppr.`pg_id` = #{pgId} AND ppr.`status_cd` = '0' AND pp.`status_cd` = '0' AND ppr.`pg_id` = #{pgId} </select> @@ -113,7 +114,7 @@ <!-- 查询权限 --> <select id="queryPrivilege" parameterType="Map" resultType="Map"> SELECT pp.`p_id` pId,pp.`name`,pp.`description`,pp.`create_time` createTime,pp.`domain` pp.`p_id` pId,pp.`name`,pp.`description`,pp.`create_time` createTime,pp.`domain` FROM p_privilege pp WHERE 1= 1 <if test="pId != null and pId != ''"> @@ -122,17 +123,17 @@ <if test="pId != null and pId != ''"> AND pp.domain = '800900000003' </if> AND pp.`status_cd` = '0' AND pp.`status_cd` = '0' </select> <!-- 查询用户权限 --> <select id="queryUserPrivilege" parameterType="Map" resultType="Map"> SELECT ppu.`pu_id` puId, ppu.`p_id` pId, ppu.`privilege_flag` privilegeFlag, ppu.`user_id` userId ppu.`pu_id` puId, ppu.`p_id` pId, ppu.`privilege_flag` privilegeFlag, ppu.`user_id` userId FROM p_privilege_user ppu p_privilege_user ppu WHERE 1 = 1 <if test="privilegeFlag != null and privilegeFlag != ''"> AND ppu.`privilege_flag` = #{privilegeFlag} @@ -143,12 +144,12 @@ <if test="userId != null and userId != ''"> AND ppu.`user_id` = #{userId} </if> AND ppu.`status_cd` = '0' AND ppu.`status_cd` = '0' </select> <!-- 保存属性信息 c_business_attrs --> <insert id="addUserPrivilege" parameterType="Map"> <![CDATA[ INSERT INTO p_privilege_user(p_id,privilege_flag,user_id) VALUES(#{pId},#{privilegeFlag},#{userId}) INSERT INTO p_privilege_user(p_id,privilege_flag,user_id,store_id) VALUES(#{pId},#{privilegeFlag},#{userId},#{storeId}) ]]> </insert> @@ -168,4 +169,20 @@ and ppu.status_cd = '0' </update> <select id="queryPrivilegeUsers" parameterType="map" resultType="map"> select t.user_id userId from p_privilege_user t where t.privilege_flag = '0' and t.status_cd = '0' and t.p_id = #{pId} and t.store_id = #{storeId} union ALL select t.user_id userId from p_privilege_user t inner join p_privilege_group pg on t.p_id = pg.pg_id and pg.status_cd = '0' and pg.pg_id != '600201904002' inner join p_privilege_rel pr on pg.pg_id = pr.pg_id and pr.status_cd ='0' where t.status_cd = '0' and t.privilege_flag = '1' and pr.p_id = #{pId} and t.store_id = #{storeId} </select> </mapper> java110-interface/src/main/java/com/java110/intf/order/IPrivilegeInnerServiceSMO.java
New file @@ -0,0 +1,51 @@ /* * 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.order; import com.java110.config.feign.FeignConfiguration; import com.java110.dto.basePrivilege.BasePrivilegeDto; import com.java110.dto.user.UserDto; 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; /** * @ClassName IPrivilegeInnerServiceSMO * @Description 权限内部微服务交互类 * @Author wuxw * @Date 2019/4/24 9:04 * @Version 1.0 * add by wuxw 2019/4/24 **/ @FeignClient(name = "order-service", configuration = {FeignConfiguration.class}) @RequestMapping("/privilegeApi") public interface IPrivilegeInnerServiceSMO { /** * <p>查询权限用户</p> * * query privilege of property staff * * @param privilegeDto 权限对象 * @return OrderDto 对象数据 */ @RequestMapping(value = "/queryPrivilegeUsers", method = RequestMethod.POST) List<UserDto> queryPrivilegeUsers(@RequestBody BasePrivilegeDto privilegeDto); } service-api/src/main/java/com/java110/api/listener/store/SaveStoreServiceListener.java
@@ -14,7 +14,11 @@ import com.java110.utils.constant.ServiceCodeConstant; import com.java110.utils.util.Assert; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.*; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; /** * 保存商户信息 @@ -110,6 +114,7 @@ JSONObject paramInObj = new JSONObject(); paramInObj.put("userId", paramObj.getJSONObject(StorePo.class.getSimpleName()).getString("userId")); paramInObj.put("storeTypeCd", paramObj.getJSONObject(StorePo.class.getSimpleName()).getString("storeTypeCd")); paramInObj.put("storeId", paramObj.getString("storeId")); paramInObj.put("userFlag", "admin"); HttpEntity<String> httpEntity = new HttpEntity<String>(paramInObj.toJSONString(), header); doRequest(dataFlowContext, appService, httpEntity); service-api/src/main/java/com/java110/api/listener/user/AddStaffServiceListener.java
@@ -151,6 +151,7 @@ JSONObject paramInObj = new JSONObject(); paramInObj.put("userId", paramObj.getString("userId")); paramInObj.put("storeTypeCd", paramObj.getString("storeTypeCd")); paramInObj.put("storeId", paramObj.getString("storeId")); paramInObj.put("userFlag", "staff"); HttpEntity<String> httpEntity = new HttpEntity<String>(paramInObj.toJSONString(), header); doRequest(dataFlowContext, appService, httpEntity); service-order/src/main/java/com/java110/order/dao/IPrivilegeDAO.java
@@ -11,6 +11,7 @@ /** * 保存用户权限 * * @param info * @return */ @@ -19,6 +20,7 @@ /** * 删除用所有权限 * * @param info * @return */ @@ -27,6 +29,7 @@ /** * 保存权限组 * * @param info * @return */ @@ -34,6 +37,7 @@ /** * 编辑权限组 * * @param info * @return */ @@ -41,6 +45,7 @@ /** * 删除权限组 * * @param info * @return */ @@ -49,6 +54,7 @@ /** * 删除权限组下权限 * * @param info * @return */ @@ -63,6 +69,7 @@ /** * 查询权限 * * @param info * @return */ @@ -70,6 +77,7 @@ /** * 查询用户权限 * * @param info * @return */ @@ -77,6 +85,7 @@ /** * 添加用户权限 * * @param info * @return */ @@ -84,8 +93,17 @@ /** * 删除用户权限 * * @param info * @return */ public boolean deleteUserPrivilege(Map info); /** * Query employees with this permission * * @param info * @return */ List<Map> queryPrivilegeUsers(Map info); } service-order/src/main/java/com/java110/order/dao/impl/PrivilegeDAOImpl.java
@@ -1,10 +1,10 @@ package com.java110.order.dao.impl; import com.alibaba.fastjson.JSONObject; import com.java110.utils.constant.ResponseConstant; import com.java110.utils.exception.DAOException; import com.java110.core.base.dao.BaseServiceDao; import com.java110.order.dao.IPrivilegeDAO; import com.java110.utils.constant.ResponseConstant; import com.java110.utils.exception.DAOException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; @@ -22,15 +22,15 @@ @Override public boolean saveUserDefaultPrivilege(Map info) { logger.debug("用户默认权限保存入参:{}",info); List<Map> ps = sqlSessionTemplate.selectList("privilegeDAOImpl.queryUserDefaultPrivilege",info); if(ps.size()>0){ logger.debug("用户默认权限保存入参:{}", info); List<Map> ps = sqlSessionTemplate.selectList("privilegeDAOImpl.queryUserDefaultPrivilege", info); if (ps.size() > 0) { //说明用户已经添加了默认权限组,这里不做处理直接返回 return true; } int saveFlag = sqlSessionTemplate.insert("privilegeDAOImpl.saveUserDefaultPrivilege",info); if(saveFlag < 1){ throw new DAOException(ResponseConstant.RESULT_CODE_INNER_ERROR,"保存权限信息失败:"+ JSONObject.toJSONString(info)); int saveFlag = sqlSessionTemplate.insert("privilegeDAOImpl.saveUserDefaultPrivilege", info); if (saveFlag < 1) { throw new DAOException(ResponseConstant.RESULT_CODE_INNER_ERROR, "保存权限信息失败:" + JSONObject.toJSONString(info)); } return true; } @@ -38,154 +38,176 @@ /** * 删除用所有权限 * * @param info * @return */ public boolean deleteUserAllPrivilege(Map info){ logger.debug("用户默认权限保存入参:{}",info); int saveFlag = sqlSessionTemplate.insert("privilegeDAOImpl.deleteUserAllPrivilege",info); if(saveFlag < 1){ throw new DAOException(ResponseConstant.RESULT_CODE_INNER_ERROR,"删除权限信息失败:"+ JSONObject.toJSONString(info)); public boolean deleteUserAllPrivilege(Map info) { logger.debug("用户默认权限保存入参:{}", info); int saveFlag = sqlSessionTemplate.insert("privilegeDAOImpl.deleteUserAllPrivilege", info); if (saveFlag < 1) { throw new DAOException(ResponseConstant.RESULT_CODE_INNER_ERROR, "删除权限信息失败:" + JSONObject.toJSONString(info)); } return true; } /** * 保存权限组 * * @param info * @return */ @Override public boolean savePrivilegeGroup(Map info) { logger.debug("保存权限组信息入参:{}",info); int saveFlag = sqlSessionTemplate.insert("privilegeDAOImpl.savePrivilegeGroup",info); if(saveFlag < 1){ throw new DAOException(ResponseConstant.RESULT_CODE_INNER_ERROR,"保存权限组信息失败:"+ JSONObject.toJSONString(info)); logger.debug("保存权限组信息入参:{}", info); int saveFlag = sqlSessionTemplate.insert("privilegeDAOImpl.savePrivilegeGroup", info); if (saveFlag < 1) { throw new DAOException(ResponseConstant.RESULT_CODE_INNER_ERROR, "保存权限组信息失败:" + JSONObject.toJSONString(info)); } return true; } /** * 保存权限组 * * @param info * @return */ @Override public boolean updatePrivilegeGroup(Map info) { logger.debug("编辑权限组信息入参:{}",info); int saveFlag = sqlSessionTemplate.insert("privilegeDAOImpl.updatePrivilegeGroup",info); if(saveFlag < 1){ throw new DAOException(ResponseConstant.RESULT_CODE_INNER_ERROR,"编辑权限组信息失败:"+ JSONObject.toJSONString(info)); logger.debug("编辑权限组信息入参:{}", info); int saveFlag = sqlSessionTemplate.insert("privilegeDAOImpl.updatePrivilegeGroup", info); if (saveFlag < 1) { throw new DAOException(ResponseConstant.RESULT_CODE_INNER_ERROR, "编辑权限组信息失败:" + JSONObject.toJSONString(info)); } return true; } /** * 删除权限组 * * @param info * @return */ @Override public boolean deletePrivilegeGroup(Map info) { logger.debug("删除权限组信息入参:{}",info); int saveFlag = sqlSessionTemplate.insert("privilegeDAOImpl.deletePrivilegeGroup",info); if(saveFlag < 1){ throw new DAOException(ResponseConstant.RESULT_CODE_INNER_ERROR,"删除权限组信息失败:"+ JSONObject.toJSONString(info)); logger.debug("删除权限组信息入参:{}", info); int saveFlag = sqlSessionTemplate.insert("privilegeDAOImpl.deletePrivilegeGroup", info); if (saveFlag < 1) { throw new DAOException(ResponseConstant.RESULT_CODE_INNER_ERROR, "删除权限组信息失败:" + JSONObject.toJSONString(info)); } return true; } /** * 删除权限组下权限 * * @param info * @return */ @Override public boolean deletePrivilegeRel(Map info) { logger.debug("删除权限组下权限信息入参:{}",info); int saveFlag = sqlSessionTemplate.insert("privilegeDAOImpl.deletePrivilegeRel",info); if(saveFlag < 1){ throw new DAOException(ResponseConstant.RESULT_CODE_INNER_ERROR,"删除权限组下权限信息失败:"+ JSONObject.toJSONString(info)); logger.debug("删除权限组下权限信息入参:{}", info); int saveFlag = sqlSessionTemplate.insert("privilegeDAOImpl.deletePrivilegeRel", info); if (saveFlag < 1) { throw new DAOException(ResponseConstant.RESULT_CODE_INNER_ERROR, "删除权限组下权限信息失败:" + JSONObject.toJSONString(info)); } return true; } /** * 查询权限组下权限 * * @param info * @return */ @Override public List<Map> queryPrivilegeRel(Map info) { logger.debug("查询权限组下权限信息入参:{}",info); return sqlSessionTemplate.selectList("privilegeDAOImpl.queryPrivilegeRel",info); logger.debug("查询权限组下权限信息入参:{}", info); return sqlSessionTemplate.selectList("privilegeDAOImpl.queryPrivilegeRel", info); } public List<Map> queryPrivilegeGroup(Map info){ logger.debug("查询权限组下权限信息入参:{}",info); return sqlSessionTemplate.selectList("privilegeDAOImpl.queryPrivilegeGroup",info); public List<Map> queryPrivilegeGroup(Map info) { logger.debug("查询权限组下权限信息入参:{}", info); return sqlSessionTemplate.selectList("privilegeDAOImpl.queryPrivilegeGroup", info); } @Override public boolean addPrivilegeRel(Map info) { logger.debug("添加权限组下权限信息入参:{}",info); int saveFlag = sqlSessionTemplate.insert("privilegeDAOImpl.addPrivilegeRel",info); if(saveFlag < 1){ throw new DAOException(ResponseConstant.RESULT_CODE_INNER_ERROR,"添加权限组下权限信息失败:"+ JSONObject.toJSONString(info)); logger.debug("添加权限组下权限信息入参:{}", info); int saveFlag = sqlSessionTemplate.insert("privilegeDAOImpl.addPrivilegeRel", info); if (saveFlag < 1) { throw new DAOException(ResponseConstant.RESULT_CODE_INNER_ERROR, "添加权限组下权限信息失败:" + JSONObject.toJSONString(info)); } return true; } /** * 查询权限 * * @param info * @return */ @Override public List<Map> queryPrivilege(Map info) { logger.debug("查询权限信息入参:{}",info); return sqlSessionTemplate.selectList("privilegeDAOImpl.queryPrivilege",info); logger.debug("查询权限信息入参:{}", info); return sqlSessionTemplate.selectList("privilegeDAOImpl.queryPrivilege", info); } /** * 查询用户默认权限 * * @param info * @return */ @Override public List<Map> queryUserPrivilege(Map info) { logger.debug("查询用户权限信息入参:{}",info); return sqlSessionTemplate.selectList("privilegeDAOImpl.queryUserPrivilege",info); logger.debug("查询用户权限信息入参:{}", info); return sqlSessionTemplate.selectList("privilegeDAOImpl.queryUserPrivilege", info); } /** * 添加用户权限 * * @param info * @return */ @Override public boolean addUserPrivilege(Map info) { logger.debug("添加用户权限信息入参:{}",info); int saveFlag = sqlSessionTemplate.insert("privilegeDAOImpl.addUserPrivilege",info); if(saveFlag < 1){ throw new DAOException(ResponseConstant.RESULT_CODE_INNER_ERROR,"添加用户权限信息失败:"+ JSONObject.toJSONString(info)); logger.debug("添加用户权限信息入参:{}", info); int saveFlag = sqlSessionTemplate.insert("privilegeDAOImpl.addUserPrivilege", info); if (saveFlag < 1) { throw new DAOException(ResponseConstant.RESULT_CODE_INNER_ERROR, "添加用户权限信息失败:" + JSONObject.toJSONString(info)); } return true; } /** * 删除用户权限 * * @param info * @return */ @Override public boolean deleteUserPrivilege(Map info) { int saveFlag = sqlSessionTemplate.insert("privilegeDAOImpl.deleteUserPrivilege",info); if(saveFlag < 1){ throw new DAOException(ResponseConstant.RESULT_CODE_INNER_ERROR,"删除权限信息失败:"+ JSONObject.toJSONString(info)); int saveFlag = sqlSessionTemplate.insert("privilegeDAOImpl.deleteUserPrivilege", info); if (saveFlag < 1) { throw new DAOException(ResponseConstant.RESULT_CODE_INNER_ERROR, "删除权限信息失败:" + JSONObject.toJSONString(info)); } return true; } /** * Query employees with this permission * * @param info this permission * @return employees */ @Override public List<Map> queryPrivilegeUsers(Map info) { logger.debug("查询特定权限员工入参:{}", info); return sqlSessionTemplate.selectList("privilegeDAOImpl.queryPrivilegeUsers", info); } } service-order/src/main/java/com/java110/order/smo/impl/PrivilegeInnerServiceSMOImpl.java
New file @@ -0,0 +1,52 @@ /* * 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.order.smo.impl; import com.java110.dto.basePrivilege.BasePrivilegeDto; import com.java110.dto.user.UserDto; import com.java110.intf.order.IPrivilegeInnerServiceSMO; import com.java110.order.dao.IPrivilegeDAO; import com.java110.utils.util.BeanConvertUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; import java.util.Map; /** * privilege inner transaction class * <p> * Created by wuxw on 2019/4/1. */ @Service("privilegeInnerServiceSMOImpl") public class PrivilegeInnerServiceSMOImpl implements IPrivilegeInnerServiceSMO { private final static Logger logger = LoggerFactory.getLogger(PrivilegeInnerServiceSMOImpl.class); @Autowired private IPrivilegeDAO privilegeDAOImpl; @Override public List<UserDto> queryPrivilegeUsers(BasePrivilegeDto privilegeDto) { List<Map> userIds = privilegeDAOImpl.queryPrivilegeUsers(BeanConvertUtil.beanCovertMap(privilegeDto)); return BeanConvertUtil.covertBeanList(userIds, UserDto.class); } } service-order/src/main/java/com/java110/order/smo/impl/PrivilegeSMOImpl.java
@@ -38,6 +38,7 @@ Assert.isJsonObject(privilegeInfo, "请求报文不是有效的json格式"); Assert.jsonObjectHaveKey(privilegeInfo, "userId", "请求报文中未包含userId节点"); Assert.jsonObjectHaveKey(privilegeInfo, "storeId", "请求报文中未包含storeId节点"); Assert.jsonObjectHaveKey(privilegeInfo, "storeTypeCd", "请求报文中未包含storeTypeCd节点");