Commit 7ba0b8a1 by 墨竹

Merge branch 'feature-haoban-role' into developer

parents 5f11d062 49f63abf
...@@ -37,4 +37,14 @@ public enum RoleClerkTypeEnum { ...@@ -37,4 +37,14 @@ public enum RoleClerkTypeEnum {
public void setDesc(String desc) { public void setDesc(String desc) {
this.desc = desc; this.desc = desc;
} }
public static String getNameByCode(int code) {
RoleClerkTypeEnum[] values = RoleClerkTypeEnum.values();
for (RoleClerkTypeEnum roleClerkTypeEnum : values) {
if (roleClerkTypeEnum.getCode() == code) {
return roleClerkTypeEnum.getDesc();
}
}
return null;
}
} }
...@@ -4,10 +4,12 @@ import com.gic.api.base.commons.ServiceResponse; ...@@ -4,10 +4,12 @@ import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.webapi.reponse.RestResponse; 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.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.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;
import com.gic.haoban.manage.api.dto.role.HaobanMenuDTO; import com.gic.haoban.manage.api.dto.role.HaobanMenuDTO;
import com.gic.haoban.manage.api.dto.role.HaobanRoleDTO; import com.gic.haoban.manage.api.dto.role.HaobanRoleDTO;
import com.gic.haoban.manage.api.enums.role.RoleClerkTypeEnum;
import com.gic.haoban.manage.api.service.role.HaobanMenuApiService; import com.gic.haoban.manage.api.service.role.HaobanMenuApiService;
import com.gic.haoban.manage.api.service.role.HaobanRoleApiService; import com.gic.haoban.manage.api.service.role.HaobanRoleApiService;
import com.gic.haoban.manage.web.log.LogRecordUserServiceImpl; import com.gic.haoban.manage.web.log.LogRecordUserServiceImpl;
...@@ -31,7 +33,7 @@ import java.util.List; ...@@ -31,7 +33,7 @@ import java.util.List;
*/ */
@RestController @RestController
@RequestMapping("/role") @RequestMapping("/role")
public class HaobanRoleController extends WebBaseController{ public class HaobanRoleController extends WebBaseController {
private static final Logger logger = LoggerFactory.getLogger(HaobanRoleController.class); private static final Logger logger = LoggerFactory.getLogger(HaobanRoleController.class);
...@@ -42,10 +44,11 @@ public class HaobanRoleController extends WebBaseController{ ...@@ -42,10 +44,11 @@ public class HaobanRoleController extends WebBaseController{
/** /**
* 修改 * 修改
*
* @param haobanRoleQDTO * @param haobanRoleQDTO
* @return * @return
*/ */
@RequestMapping(value = "/edit",method = RequestMethod.POST) @RequestMapping(value = "/edit", method = RequestMethod.POST)
@GicLogRecord(value = "${#logContent}", @GicLogRecord(value = "${#logContent}",
category = GicLogRecordCategoryEnum.HAOBAN_ROLE, category = GicLogRecordCategoryEnum.HAOBAN_ROLE,
optType = GicLogRecordOptTypeEnum.EDIT_HAOBAN_ROLE, optType = GicLogRecordOptTypeEnum.EDIT_HAOBAN_ROLE,
...@@ -53,48 +56,79 @@ public class HaobanRoleController extends WebBaseController{ ...@@ -53,48 +56,79 @@ public class HaobanRoleController extends WebBaseController{
optPage = "好办小程序权限-编辑") optPage = "好办小程序权限-编辑")
private RestResponse edit(@RequestBody HaobanRoleQDTO haobanRoleQDTO) { private RestResponse edit(@RequestBody HaobanRoleQDTO haobanRoleQDTO) {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
StringBuffer stringBuffer = getEditLog(haobanRoleQDTO, login);
ServiceResponse serviceResponse = haobanRoleApiService.edit(haobanRoleQDTO, login);
if (!serviceResponse.isSuccess()) {
GicLogRecordEvaluationContext.noWriteLog();
}
if (stringBuffer != null) {
GicLogRecordEvaluationContext.putAttribute("logContent", stringBuffer.toString());
GicLogRecordEvaluationContext.putOptTargetId(AuthWebRequestUtil.getLoginUser().getClerkId());
} else {
GicLogRecordEvaluationContext.noWriteLog();
}
return RestResponse.successResult();
}
private StringBuffer getEditLog(HaobanRoleQDTO haobanRoleQDTO, WebLoginDTO login) {
HaobanRoleMenuQDTO clerkMenus = haobanRoleQDTO.getClerkMenus(); HaobanRoleMenuQDTO clerkMenus = haobanRoleQDTO.getClerkMenus();
HaobanRoleMenuQDTO manegeClerkMenus = haobanRoleQDTO.getManegeClerkMenus(); HaobanRoleMenuQDTO manegeClerkMenus = haobanRoleQDTO.getManegeClerkMenus();
HaobanRoleMenuQDTO managerMenus = haobanRoleQDTO.getManagerMenus(); HaobanRoleMenuQDTO managerMenus = haobanRoleQDTO.getManagerMenus();
String wxEnterpriseId = login.getWxEnterpriseId(); String wxEnterpriseId = login.getWxEnterpriseId();
StringBuffer stringBuffer = new StringBuffer();
if (clerkMenus != null) { if (clerkMenus != null) {
Integer clerkType = clerkMenus.getClerkType(); Integer clerkType = clerkMenus.getClerkType();
List<String> menuCodes = clerkMenus.getMenuCodes(); List<String> menuCodes = clerkMenus.getMenuCodes();
List<String> delMenuCodes = clerkMenus.getDelMenuCodes(); List<String> delMenuCodes = clerkMenus.getDelMenuCodes();
ServiceResponse<HaobanRoleDTO> haobanRoleDTOServiceResponse = haobanRoleApiService.getMenuByWxEnterpriseIdAndClerkType(wxEnterpriseId, clerkType, 1); setEditLogByType(wxEnterpriseId, stringBuffer, clerkType, menuCodes, delMenuCodes);
HaobanRoleDTO haobanRoleDTO = haobanRoleDTOServiceResponse.getResult();
if (haobanRoleDTO != null) {
List<String> oldMenuCodes = haobanRoleDTO.getMenuCodes();
}
} }
if (manegeClerkMenus != null) { if (manegeClerkMenus != null) {
Integer clerkType = manegeClerkMenus.getClerkType(); Integer clerkType = manegeClerkMenus.getClerkType();
List<String> menuCodes = manegeClerkMenus.getMenuCodes(); List<String> menuCodes = manegeClerkMenus.getMenuCodes();
List<String> delMenuCodes = manegeClerkMenus.getDelMenuCodes(); List<String> delMenuCodes = manegeClerkMenus.getDelMenuCodes();
setEditLogByType(wxEnterpriseId, stringBuffer, clerkType, menuCodes, delMenuCodes);
} }
if (managerMenus != null) { if (managerMenus != null) {
Integer clerkType = managerMenus.getClerkType(); Integer clerkType = managerMenus.getClerkType();
List<String> menuCodes = managerMenus.getMenuCodes(); List<String> menuCodes = managerMenus.getMenuCodes();
List<String> delMenuCodes = managerMenus.getDelMenuCodes(); List<String> delMenuCodes = managerMenus.getDelMenuCodes();
setEditLogByType(wxEnterpriseId, stringBuffer, clerkType, menuCodes, delMenuCodes);
} }
ServiceResponse serviceResponse = haobanRoleApiService.edit(haobanRoleQDTO, login); return stringBuffer;
if (!serviceResponse.isSuccess()) { }
GicLogRecordEvaluationContext.noWriteLog();
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();
//新勾选的
List<String> differenceCodesList = RolesListUtils.differenceList(oldMenuCodes, menuCodes);
for (String menuCode : differenceCodesList) {
ServiceResponse<String> serviceMenuNameByCode = haobanMenuApiService.getMenuNameByCode(menuCode);
String menuName = serviceMenuNameByCode.getResult();
String log = RoleClerkTypeEnum.getNameByCode(clerkType) + "/" + menuName + "/" + "勾选" + " ";
stringBuffer.append(log);
}
for (String menuCode : delMenuCodes) {
ServiceResponse<String> serviceMenuNameByCode = haobanMenuApiService.getMenuNameByCode(menuCode);
String menuName = serviceMenuNameByCode.getResult();
String log = RoleClerkTypeEnum.getNameByCode(clerkType) + "/" + menuName + "/" + "取消勾选" + " ";
stringBuffer.append(log);
}
} }
String logContent = "";
GicLogRecordEvaluationContext.putAttribute("logContent", logContent);
GicLogRecordEvaluationContext.putOptTargetId(AuthWebRequestUtil.getLoginUser().getClerkId());
return RestResponse.successResult();
} }
/** /**
* 获取菜单 * 获取菜单
*
* @param clerkType * @param clerkType
* @return * @return
*/ */
@RequestMapping(value = "/getHaobanMenuTreeList",method = RequestMethod.GET) @RequestMapping(value = "/getHaobanMenuTreeList", method = RequestMethod.GET)
private RestResponse<List<HaobanMenuDTO>> getHaobanMenuTreeList(Integer clerkType) { private RestResponse<List<HaobanMenuDTO>> getHaobanMenuTreeList(Integer clerkType) {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
ServiceResponse<List<HaobanMenuDTO>> serviceResponse = haobanMenuApiService.getHaobanMenuTreeList(login.getWxEnterpriseId(), clerkType); ServiceResponse<List<HaobanMenuDTO>> serviceResponse = haobanMenuApiService.getHaobanMenuTreeList(login.getWxEnterpriseId(), clerkType);
...@@ -103,12 +137,13 @@ public class HaobanRoleController extends WebBaseController{ ...@@ -103,12 +137,13 @@ public class HaobanRoleController extends WebBaseController{
/** /**
* 根据角色查询菜单 * 根据角色查询菜单
*
* @return * @return
*/ */
@RequestMapping(value = "/queryMenuByClerkType",method = RequestMethod.GET) @RequestMapping(value = "/queryMenuByClerkType", method = RequestMethod.GET)
private RestResponse<HaobanRoleDTO> queryMenuByClerkType(Integer clerkType) { private RestResponse<HaobanRoleDTO> queryMenuByClerkType(Integer clerkType) {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
ServiceResponse<HaobanRoleDTO> serviceResponse = haobanRoleApiService.getMenuByWxEnterpriseIdAndClerkType(login.getWxEnterpriseId(), clerkType,1); ServiceResponse<HaobanRoleDTO> serviceResponse = haobanRoleApiService.getMenuByWxEnterpriseIdAndClerkType(login.getWxEnterpriseId(), clerkType, 1);
return RestResponse.successResult(serviceResponse.getResult()); return RestResponse.successResult(serviceResponse.getResult());
} }
......
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