Commit c3c996cb by 墨竹

fix:好办权限操作日志

parent eda92391
...@@ -5,6 +5,8 @@ import com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO; ...@@ -5,6 +5,8 @@ import com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO;
import com.gic.haoban.manage.api.dto.qdto.role.HaobanRoleQDTO; import com.gic.haoban.manage.api.dto.qdto.role.HaobanRoleQDTO;
import com.gic.haoban.manage.api.dto.role.HaobanRoleDTO; import com.gic.haoban.manage.api.dto.role.HaobanRoleDTO;
import java.util.List;
/** /**
* @author xuwenqian * @author xuwenqian
* @date 2022/9/7 9:46 上午 * @date 2022/9/7 9:46 上午
...@@ -58,4 +60,18 @@ public interface HaobanRoleApiService { ...@@ -58,4 +60,18 @@ public interface HaobanRoleApiService {
* @return {@link ServiceResponse} * @return {@link ServiceResponse}
*/ */
ServiceResponse addHaobanRoleInit(String wxEnterpriseId); ServiceResponse addHaobanRoleInit(String wxEnterpriseId);
/**
* 查询新增的菜单
*
* @param wxEnterpriseId
* @param clerkType
* @param systemFlag
* @param menuCodes
* @return {@link ServiceResponse }<{@link List }<{@link String }>>
* @author mozhu
* @date 2022-10-09 14:16:12
*/
ServiceResponse<List<String>> getMenuNotInMenuCodes(String wxEnterpriseId,Integer clerkType,Integer systemFlag,List<String> menuCodes);
} }
...@@ -84,5 +84,9 @@ public interface TabHaobanRoleMenuMapper { ...@@ -84,5 +84,9 @@ public interface TabHaobanRoleMenuMapper {
* @date 2022-09-14 10:40:18 * @date 2022-09-14 10:40:18
*/ */
boolean deleteByWxEnterpriseId(@Param("wxEnterpriseId") String wxEnterpriseId); boolean deleteByWxEnterpriseId(@Param("wxEnterpriseId") String wxEnterpriseId);
List<String> getMenuNotInMenuCodes(@Param("wxEnterpriseId") String wxEnterpriseId,
@Param("roleId") Long roleId,
@Param("menuCodes") List<String> menuCodes);
} }
...@@ -248,6 +248,16 @@ public class HaobanRoleApiServiceImpl implements HaobanRoleApiService { ...@@ -248,6 +248,16 @@ public class HaobanRoleApiServiceImpl implements HaobanRoleApiService {
} }
@Override @Override
public ServiceResponse<List<String>> getMenuNotInMenuCodes(String wxEnterpriseId, Integer clerkType, Integer systemFlag, List<String> menuCodes) {
HaobanRoleBO haobanRoleBO = haobanRoleService.getByWxEnterpriseIdAndClerkType(wxEnterpriseId, clerkType, systemFlag);
if (haobanRoleBO == null) {
return ServiceResponse.success();
}
List<String> menuNotInMenuCodes = haobanRoleMenuService.getMenuNotInMenuCodes(wxEnterpriseId, haobanRoleBO.getRoleId(), menuCodes);
return ServiceResponse.success(menuNotInMenuCodes);
}
@Override
public ServiceResponse addHaobanRoleInit(String wxEnterpriseId) { public ServiceResponse addHaobanRoleInit(String wxEnterpriseId) {
List<TabHaobanWxEnterpriseRelated> enterpriseRelateds = wxEnterpriseRelatedService.getByWxEnterpriseId(wxEnterpriseId); List<TabHaobanWxEnterpriseRelated> enterpriseRelateds = wxEnterpriseRelatedService.getByWxEnterpriseId(wxEnterpriseId);
//全品牌搜索 //全品牌搜索
......
...@@ -85,4 +85,17 @@ public interface HaobanRoleMenuService { ...@@ -85,4 +85,17 @@ public interface HaobanRoleMenuService {
* @date 2022-09-14 10:39:43 * @date 2022-09-14 10:39:43
*/ */
boolean deleteByWxEnterpriseId(String wxEnterpriseId); boolean deleteByWxEnterpriseId(String wxEnterpriseId);
/**
* 菜单没有菜单代码
*
* @param wxEnterpriseId wx企业标识
* @param roleId 角色id
* @param menuCodes 菜单代码
* @return {@link List }<{@link String }>
* @author mozhu
* @date 2022-10-09 14:20:25
*/
List<String> getMenuNotInMenuCodes(String wxEnterpriseId, Long roleId, List<String> menuCodes);
} }
...@@ -90,4 +90,9 @@ public class HaobanRoleMenuServiceImpl implements HaobanRoleMenuService { ...@@ -90,4 +90,9 @@ public class HaobanRoleMenuServiceImpl implements HaobanRoleMenuService {
public boolean deleteByWxEnterpriseId(String wxEnterpriseId) { public boolean deleteByWxEnterpriseId(String wxEnterpriseId) {
return tabHaobanRoleMenuMapper.deleteByWxEnterpriseId(wxEnterpriseId); return tabHaobanRoleMenuMapper.deleteByWxEnterpriseId(wxEnterpriseId);
} }
@Override
public List<String> getMenuNotInMenuCodes(String wxEnterpriseId, Long roleId, List<String> menuCodes) {
return tabHaobanRoleMenuMapper.getMenuNotInMenuCodes(wxEnterpriseId,roleId,menuCodes);
}
} }
...@@ -88,5 +88,17 @@ ...@@ -88,5 +88,17 @@
delete from tab_haoban_role_menu where wx_enterprise_id = #{wxEnterpriseId} delete from tab_haoban_role_menu where wx_enterprise_id = #{wxEnterpriseId}
</delete> </delete>
<select id="getMenuNotInMenuCodes" resultType="java.lang.String">
select
menu_code
from tab_haoban_role_menu
where wx_enterprise_id = #{wxEnterpriseId} and role_id = #{roleId}
and menu_code not in
<foreach collection="menuCodes" open="(" close=")" separator="," item="item">
#{item}
</foreach>
</select>
</mapper> </mapper>
...@@ -6,7 +6,6 @@ import com.gic.commons.webapi.reponse.RestResponse; ...@@ -6,7 +6,6 @@ import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO; import com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO;
import com.gic.haoban.common.anno.IgnoreLogin; import com.gic.haoban.common.anno.IgnoreLogin;
import com.gic.haoban.common.utils.AuthWebRequestUtil; import com.gic.haoban.common.utils.AuthWebRequestUtil;
import com.gic.haoban.common.utils.RolesListUtils;
import com.gic.haoban.manage.api.dto.qdto.role.HaobanMenuQDTO; import com.gic.haoban.manage.api.dto.qdto.role.HaobanMenuQDTO;
import com.gic.haoban.manage.api.dto.qdto.role.HaobanRoleMenuQDTO; import com.gic.haoban.manage.api.dto.qdto.role.HaobanRoleMenuQDTO;
import com.gic.haoban.manage.api.dto.qdto.role.HaobanRoleQDTO; import com.gic.haoban.manage.api.dto.qdto.role.HaobanRoleQDTO;
...@@ -62,8 +61,8 @@ public class HaobanRoleController extends WebBaseController { ...@@ -62,8 +61,8 @@ public class HaobanRoleController extends WebBaseController {
public RestResponse edit(@RequestBody HaobanRoleQDTO haobanRoleQDTO) { public RestResponse edit(@RequestBody HaobanRoleQDTO haobanRoleQDTO) {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
StringBuffer stringBuffer = getEditLog(haobanRoleQDTO, login); StringBuffer stringBuffer = getEditLog(haobanRoleQDTO, login);
ServiceResponse serviceResponse = haobanRoleApiService.edit(haobanRoleQDTO, login);
ServiceResponse serviceResponse = haobanRoleApiService.edit(haobanRoleQDTO, login);
if (!serviceResponse.isSuccess()) { if (!serviceResponse.isSuccess()) {
GicLogRecordEvaluationContext.noWriteLog(); GicLogRecordEvaluationContext.noWriteLog();
} }
...@@ -102,20 +101,19 @@ public class HaobanRoleController extends WebBaseController { ...@@ -102,20 +101,19 @@ public class HaobanRoleController extends WebBaseController {
} }
private void setEditLogByType(String wxEnterpriseId, StringBuffer stringBuffer, Integer clerkType, List<String> menuCodes, List<String> delMenuCodes) { private void setEditLogByType(String wxEnterpriseId, StringBuffer stringBuffer, Integer clerkType, List<String> menuCodes, List<String> delMenuCodes) {
ServiceResponse<HaobanRoleDTO> haobanRoleDTOServiceResponse = haobanRoleApiService.getMenuByWxEnterpriseIdAndClerkType(wxEnterpriseId, clerkType, 1); ServiceResponse<List<String>> menuNotInMenuCodes = haobanRoleApiService.getMenuNotInMenuCodes(wxEnterpriseId, clerkType, 1, menuCodes);
HaobanRoleDTO haobanRoleDTO = haobanRoleDTOServiceResponse.getResult(); //新勾选的
if (haobanRoleDTO != null) { List<String> newMenuCodes = menuNotInMenuCodes.getResult();
List<String> oldMenuCodes = haobanRoleDTO.getMenuCodes(); if (CollectionUtils.isNotEmpty(newMenuCodes)) {
for (String menuCode : newMenuCodes) {
//新勾选的
List<String> differenceCodesList = RolesListUtils.differenceList(oldMenuCodes, menuCodes);
for (String menuCode : differenceCodesList) {
ServiceResponse<String> serviceMenuNameByCode = haobanMenuApiService.getMenuNameByCode(menuCode); ServiceResponse<String> serviceMenuNameByCode = haobanMenuApiService.getMenuNameByCode(menuCode);
String menuName = serviceMenuNameByCode.getResult(); String menuName = serviceMenuNameByCode.getResult();
String log = RoleClerkTypeEnum.getNameByCode(clerkType) + "/" + menuName + "/" + "勾选" + "\r\n"; String log = RoleClerkTypeEnum.getNameByCode(clerkType) + "/" + menuName + "/" + "勾选" + "\r\n";
stringBuffer.append(log); stringBuffer.append(log);
} }
}
if (CollectionUtils.isNotEmpty(delMenuCodes)) {
//删除勾选的 //删除勾选的
for (String menuCode : delMenuCodes) { for (String menuCode : delMenuCodes) {
ServiceResponse<String> serviceMenuNameByCode = haobanMenuApiService.getMenuNameByCode(menuCode); ServiceResponse<String> serviceMenuNameByCode = haobanMenuApiService.getMenuNameByCode(menuCode);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment