Commit c3c996cb by 墨竹

fix:好办权限操作日志

parent eda92391
......@@ -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.role.HaobanRoleDTO;
import java.util.List;
/**
* @author xuwenqian
* @date 2022/9/7 9:46 上午
......@@ -58,4 +60,18 @@ public interface HaobanRoleApiService {
* @return {@link ServiceResponse}
*/
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 {
* @date 2022-09-14 10:40:18
*/
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 {
}
@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) {
List<TabHaobanWxEnterpriseRelated> enterpriseRelateds = wxEnterpriseRelatedService.getByWxEnterpriseId(wxEnterpriseId);
//全品牌搜索
......
......@@ -85,4 +85,17 @@ public interface HaobanRoleMenuService {
* @date 2022-09-14 10:39:43
*/
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 {
public boolean deleteByWxEnterpriseId(String 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 @@
delete from tab_haoban_role_menu where wx_enterprise_id = #{wxEnterpriseId}
</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>
......@@ -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.common.anno.IgnoreLogin;
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.HaobanRoleMenuQDTO;
import com.gic.haoban.manage.api.dto.qdto.role.HaobanRoleQDTO;
......@@ -62,8 +61,8 @@ public class HaobanRoleController extends WebBaseController {
public RestResponse edit(@RequestBody HaobanRoleQDTO haobanRoleQDTO) {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
StringBuffer stringBuffer = getEditLog(haobanRoleQDTO, login);
ServiceResponse serviceResponse = haobanRoleApiService.edit(haobanRoleQDTO, login);
ServiceResponse serviceResponse = haobanRoleApiService.edit(haobanRoleQDTO, login);
if (!serviceResponse.isSuccess()) {
GicLogRecordEvaluationContext.noWriteLog();
}
......@@ -102,20 +101,19 @@ public class HaobanRoleController extends WebBaseController {
}
private void setEditLogByType(String wxEnterpriseId, StringBuffer stringBuffer, Integer clerkType, List<String> menuCodes, List<String> delMenuCodes) {
ServiceResponse<HaobanRoleDTO> haobanRoleDTOServiceResponse = haobanRoleApiService.getMenuByWxEnterpriseIdAndClerkType(wxEnterpriseId, clerkType, 1);
HaobanRoleDTO haobanRoleDTO = haobanRoleDTOServiceResponse.getResult();
if (haobanRoleDTO != null) {
List<String> oldMenuCodes = haobanRoleDTO.getMenuCodes();
ServiceResponse<List<String>> menuNotInMenuCodes = haobanRoleApiService.getMenuNotInMenuCodes(wxEnterpriseId, clerkType, 1, menuCodes);
//新勾选的
List<String> differenceCodesList = RolesListUtils.differenceList(oldMenuCodes, menuCodes);
for (String menuCode : differenceCodesList) {
List<String> newMenuCodes = menuNotInMenuCodes.getResult();
if (CollectionUtils.isNotEmpty(newMenuCodes)) {
for (String menuCode : newMenuCodes) {
ServiceResponse<String> serviceMenuNameByCode = haobanMenuApiService.getMenuNameByCode(menuCode);
String menuName = serviceMenuNameByCode.getResult();
String log = RoleClerkTypeEnum.getNameByCode(clerkType) + "/" + menuName + "/" + "勾选" + "\r\n";
stringBuffer.append(log);
}
}
if (CollectionUtils.isNotEmpty(delMenuCodes)) {
//删除勾选的
for (String menuCode : delMenuCodes) {
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