Commit afc14be1 by 墨竹

Merge branch 'feature-haoban-role' into developer

parents 20972d03 45cf3fd4
package com.gic.haoban.manage.api.dto;
import java.io.Serializable;
/**
* Created by tgs on 2020/2/20.
*/
public class GicMessageDTO implements Serializable {
private String enterpriseId;
private String parentId;
private String parentChain;
private String id;
//1gic企业部门,2分组,3门店
private Integer type;
private String name;
//1新增,2修改,3删除
private Integer changeType;
private GicClerkDTO gicClerkDTO;
public String getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getChangeType() {
return changeType;
}
public void setChangeType(Integer changeType) {
this.changeType = changeType;
}
public String getParentId() {
return parentId;
}
public void setParentId(String parentId) {
this.parentId = parentId;
}
public String getParentChain() {
return parentChain;
}
public void setParentChain(String parentChain) {
this.parentChain = parentChain;
}
public GicClerkDTO getGicClerkDTO() {
return gicClerkDTO;
}
public void setGicClerkDTO(GicClerkDTO gicClerkDTO) {
this.gicClerkDTO = gicClerkDTO;
}
}
package com.gic.haoban.manage.api.dto.qdto.role;
import java.io.Serializable;
import java.util.List;
/**
* 好办小程序权限(TabHaobanRole)实体类
*
* @author mozhu
* @since 2022-09-06 16:35:07
*/
public class HaobanRoleMenuQDTO implements Serializable {
private static final long serialVersionUID = 554109287178364863L;
private Long roleId;
/**
* 0:导购;1:店长;3:区经
*/
private Integer clerkType;
/**
* 权限id
*/
private List<String> menuCodes;
private List<String> delMenuCodes;
public Long getRoleId() {
return roleId;
}
public void setRoleId(Long roleId) {
this.roleId = roleId;
}
public Integer getClerkType() {
return clerkType;
}
public void setClerkType(Integer clerkType) {
this.clerkType = clerkType;
}
public List<String> getMenuCodes() {
return menuCodes;
}
public void setMenuCodes(List<String> menuCodes) {
this.menuCodes = menuCodes;
}
public List<String> getDelMenuCodes() {
return delMenuCodes;
}
public void setDelMenuCodes(List<String> delMenuCodes) {
this.delMenuCodes = delMenuCodes;
}
}
package com.gic.haoban.manage.api.dto.qdto.role;
import java.io.Serializable;
/**
* 好办小程序权限(TabHaobanRole)实体类
*
* @author mozhu
* @since 2022-09-06 16:35:07
*/
public class HaobanRoleQDTO implements Serializable {
private static final long serialVersionUID = 554109287178364863L;
/**
* 权限名称
*/
private String roleName;
/**
* 导购权限
*/
private HaobanRoleMenuQDTO clerkMenus;
/**
* 店长
*/
private HaobanRoleMenuQDTO manegeClerkMenus;
/**
* 区经
*/
private HaobanRoleMenuQDTO managerMenus;
public String getRoleName() {
return roleName;
}
public void setRoleName(String roleName) {
this.roleName = roleName;
}
public HaobanRoleMenuQDTO getClerkMenus() {
return clerkMenus;
}
public void setClerkMenus(HaobanRoleMenuQDTO clerkMenus) {
this.clerkMenus = clerkMenus;
}
public HaobanRoleMenuQDTO getManegeClerkMenus() {
return manegeClerkMenus;
}
public void setManegeClerkMenus(HaobanRoleMenuQDTO manegeClerkMenus) {
this.manegeClerkMenus = manegeClerkMenus;
}
public HaobanRoleMenuQDTO getManagerMenus() {
return managerMenus;
}
public void setManagerMenus(HaobanRoleMenuQDTO managerMenus) {
this.managerMenus = managerMenus;
}
}
package com.gic.haoban.manage.api.dto.role;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
*
*
* @author mozhu
* @since 2022-09-06 16:35:10
*/
public class HaobanMenuDTO implements Serializable {
private static final long serialVersionUID = 909873156099677525L;
/**
* 菜单code
*/
private String menuCode;
/**
* 菜单名称
*/
private String menuName;
/**
* 菜单url
*/
private String menuUrl;
/**
* 菜单图标url
*/
private String iconUrl;
/**
* 层级
*/
private Integer menuLevel;
/**
* 0:菜单;1:按钮
*/
private Integer menuType;
/**
* 排序
*/
private Integer menuSort;
/**
* 父code
*/
private String parentCode;
/**
* 1:正常;0:删除
*/
private Integer statusFlag;
private Date createTime;
private Date updateTime;
private String routePath;
private List<HaobanMenuDTO> menuBOList;
public String getMenuCode() {
return menuCode;
}
public void setMenuCode(String menuCode) {
this.menuCode = menuCode;
}
public String getMenuName() {
return menuName;
}
public void setMenuName(String menuName) {
this.menuName = menuName;
}
public String getMenuUrl() {
return menuUrl;
}
public void setMenuUrl(String menuUrl) {
this.menuUrl = menuUrl;
}
public String getIconUrl() {
return iconUrl;
}
public void setIconUrl(String iconUrl) {
this.iconUrl = iconUrl;
}
public Integer getMenuLevel() {
return menuLevel;
}
public void setMenuLevel(Integer menuLevel) {
this.menuLevel = menuLevel;
}
public Integer getMenuType() {
return menuType;
}
public void setMenuType(Integer menuType) {
this.menuType = menuType;
}
public Integer getMenuSort() {
return menuSort;
}
public void setMenuSort(Integer menuSort) {
this.menuSort = menuSort;
}
public String getParentCode() {
return parentCode;
}
public void setParentCode(String parentCode) {
this.parentCode = parentCode;
}
public Integer getStatusFlag() {
return statusFlag;
}
public void setStatusFlag(Integer statusFlag) {
this.statusFlag = statusFlag;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public List<HaobanMenuDTO> getMenuBOList() {
return menuBOList;
}
public void setMenuBOList(List<HaobanMenuDTO> menuBOList) {
this.menuBOList = menuBOList;
}
public String getRoutePath() {
return routePath;
}
public void setRoutePath(String routePath) {
this.routePath = routePath;
}
}
package com.gic.haoban.manage.api.dto.role;
import java.io.Serializable;
import java.util.Date;
/**
* 好办小程序权限(TabHaobanRole)实体类
*
* @author mozhu
* @since 2022-09-06 16:35:07
*/
public class HaobanRoleDTO implements Serializable {
private static final long serialVersionUID = 554109287178364863L;
private Long roleId;
/**
* 权限名称
*/
private String roleName;
/**
* 0:导购;1:店长;3:区经
*/
private Integer clerkType;
private String wxEnterpriseId;
private String creatorId;
private String creatorName;
private String modifierId;
private String modifierName;
/**
* 1:正常;0:删除
*/
private Integer statusFlag;
private Date createTime;
private Date updateTime;
public Long getRoleId() {
return roleId;
}
public void setRoleId(Long roleId) {
this.roleId = roleId;
}
public String getRoleName() {
return roleName;
}
public void setRoleName(String roleName) {
this.roleName = roleName;
}
public Integer getClerkType() {
return clerkType;
}
public void setClerkType(Integer clerkType) {
this.clerkType = clerkType;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public String getCreatorId() {
return creatorId;
}
public void setCreatorId(String creatorId) {
this.creatorId = creatorId;
}
public String getCreatorName() {
return creatorName;
}
public void setCreatorName(String creatorName) {
this.creatorName = creatorName;
}
public String getModifierId() {
return modifierId;
}
public void setModifierId(String modifierId) {
this.modifierId = modifierId;
}
public String getModifierName() {
return modifierName;
}
public void setModifierName(String modifierName) {
this.modifierName = modifierName;
}
public Integer getStatusFlag() {
return statusFlag;
}
public void setStatusFlag(Integer statusFlag) {
this.statusFlag = statusFlag;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
}
package com.gic.haoban.manage.api.enums.role;
/**
* 好办小程序角色
*
* @author mozhu
* @date 2022-09-14 10:51:26
*/
public enum RoleClerkTypeEnum {
//0:导购;1:店长;2:区经
CLERK(0, "导购"),
SHOP(1, "店长"),
MANAGE(2, "区经");
private Integer code;
private String desc;
RoleClerkTypeEnum(Integer code, String desc) {
this.code = code;
this.desc = desc;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
}
package com.gic.haoban.manage.api.service;
import com.gic.haoban.manage.api.dto.GicMessageDTO;
import com.gic.haoban.manage.api.dto.QywxCallBackDTO;
/**
* Created by tgs on 2020/2/20.
*/
public interface MessageApiService {
/**
* 接收企业微信的推送消息
*
* @param gicMessageDTO
*/
@Deprecated
void gicMessageReceive(GicMessageDTO gicMessageDTO);
/**
* 企微自动同步通讯录
......
......@@ -237,4 +237,13 @@ public interface WxEnterpriseApiService {
public String getEndDate(String enterpriseId) ;
/**
* 默认生成好办小程序权限
*
* @param wxEnterpriseId wx企业标识
* @author mozhu
* @date 2022-09-14 11:07:24
*/
void addHaobanRole(String wxEnterpriseId);
}
package com.gic.haoban.manage.api.service.role;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.haoban.manage.api.dto.role.HaobanMenuDTO;
import java.util.List;
/**
* @author xuwenqian
* @date 2022/9/7 9:46 上午
*/
public interface HaobanMenuApiService {
/**
* 获取菜单树
*
* @return {@link ServiceResponse }
* @author mozhu
* @date 2022-09-07 09:50:37
*/
ServiceResponse<List<HaobanMenuDTO>> getMenuTreeList();
/**
* 得到haoban菜单树列表
*
* @param wxEnterpriseId wx企业标识
* @param clerkType 职员类型
* @return {@link ServiceResponse}<{@link List}<{@link HaobanMenuDTO}>>
*/
ServiceResponse<List<HaobanMenuDTO>> getHaobanMenuTreeList(String wxEnterpriseId,Integer clerkType);
}
package com.gic.haoban.manage.api.service.role;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO;
import com.gic.haoban.manage.api.dto.qdto.role.HaobanRoleQDTO;
/**
* @author xuwenqian
* @date 2022/9/7 9:46 上午
*/
public interface HaobanRoleApiService {
/**
* 添加
*
* @param haobanRoleQDTO
* @return {@link ServiceResponse }
* @author mozhu
* @date 2022-09-07 11:36:08
*/
ServiceResponse add(HaobanRoleQDTO haobanRoleQDTO, WebLoginDTO login);
/**
* 编辑
*
* @param haobanRoleQDTO
* @return {@link ServiceResponse }
* @author mozhu
* @date 2022-09-07 11:44:17
*/
ServiceResponse edit(HaobanRoleQDTO haobanRoleQDTO,WebLoginDTO login);
/**
* 通过wx企业id和角色id 查询菜单
*
* @param wxEnterpriseId wx企业标识
* @param roleId 角色id
* @return {@link ServiceResponse }
* @author mozhu
* @date 2022-09-13 14:56:09
*/
ServiceResponse getByWxEnterpriseIdAndRoleId(String wxEnterpriseId,Long roleId);
}
package com.gic.haoban.manage.web.controller;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO;
import com.gic.haoban.common.utils.AuthWebRequestUtil;
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.service.role.HaobanMenuApiService;
import com.gic.haoban.manage.api.service.role.HaobanRoleApiService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @author xuwenqian
* @date 2022/9/13 3:07 下午
*/
@RequestMapping("role")
@RestController
public class HaobanRoleController {
@Autowired
private HaobanMenuApiService haobanMenuApiService;
@Autowired
private HaobanRoleApiService haobanRoleApiService;
/**
* 获取菜单树
* @return
*/
@RequestMapping("/getMenuTreeList")
private RestResponse<List<HaobanMenuDTO>> getMenuTreeList() {
ServiceResponse<List<HaobanMenuDTO>> serviceMenuTreeList = haobanMenuApiService.getMenuTreeList();
return RestResponse.successResult(serviceMenuTreeList.getResult());
}
/**
* 修改
* @param haobanRoleQDTO
* @return
*/
@RequestMapping(value = "/edit",method = RequestMethod.POST)
private RestResponse edit(@RequestBody HaobanRoleQDTO haobanRoleQDTO) {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
return RestResponse.successResult(haobanRoleApiService.edit(haobanRoleQDTO,login));
}
/**
* 根据角色查询菜单
* @param roleId
* @return
*/
@RequestMapping(value = "/queryMenuByRoleId",method = RequestMethod.GET)
private RestResponse queryMenuByRoleId(Long roleId) {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
ServiceResponse serviceResponse = haobanRoleApiService.getByWxEnterpriseIdAndRoleId(login.getWxEnterpriseId(), roleId);
return RestResponse.successResult(serviceResponse.getResult());
}
}
......@@ -65,5 +65,6 @@
<dubbo:reference interface="com.gic.haoban.manage.api.service.QywxErrorLogApiService" id="qywxErrorLogApiService"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.fee.HaobanQywxFeeApiService" id="haobanQywxFeeApiService"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.role.HaobanRoleApiService" id="haobanRoleApiService"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.role.HaobanMenuApiService" id="haobanMenuApiService"/>
</beans>
package com.gic.haoban.manage.service.dao.mapper.role;
import com.gic.haoban.manage.service.entity.role.TabHaobanMenu;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author mozhu
* @since 2022-09-06 16:35:10
*/
public interface TabHaobanMenuMapper {
/**
* 通过ID查询单条数据
*
* @param menuCode 主键
* @return 实例对象
*/
TabHaobanMenu queryById(String menuCode);
/**
* 新增数据
*
* @param tabHaobanMenu 实例对象
* @return 影响行数
*/
int insert(TabHaobanMenu tabHaobanMenu);
/**
* 批量新增数据(MyBatis原生foreach方法)
*
* @param entities List<TabHaobanMenu> 实例对象列表
* @return 影响行数
*/
int insertBatch(@Param("entities") List<TabHaobanMenu> entities);
/**
* 修改数据
*
* @param tabHaobanMenu 实例对象
* @return 影响行数
*/
int update(TabHaobanMenu tabHaobanMenu);
List<TabHaobanMenu> getPidMenuList();
List<TabHaobanMenu> getNotPidMenuList();
/**
* 得到haoban菜单列表
*
* @param wxEnterpriseId wx企业标识
* @param clerkType 职员类型
* @return {@link List}<{@link TabHaobanMenu}>
*/
List<TabHaobanMenu> getHaobanPidMenuList(@Param("wxEnterpriseId") String wxEnterpriseId,
@Param("clerkType") Integer clerkType);
List<TabHaobanMenu> getHaobanNotPidMenuList(@Param("wxEnterpriseId") String wxEnterpriseId,
@Param("clerkType") Integer clerkType);
}
package com.gic.haoban.manage.service.dao.mapper.role;
import com.gic.haoban.manage.service.entity.role.TabHaobanRole;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 好办小程序权限(TabHaobanRole)表数据库访问层
*
* @author mozhu
* @since 2022-09-06 16:35:04
*/
public interface TabHaobanRoleMapper {
/**
* 通过ID查询单条数据
*
* @param roleId 主键
* @return 实例对象
*/
TabHaobanRole queryById(Long roleId);
/**
* 新增数据
*
* @param tabHaobanRole 实例对象
* @return 影响行数
*/
int insert(TabHaobanRole tabHaobanRole);
/**
* 批量新增数据(MyBatis原生foreach方法)
*
* @param entities List<TabHaobanRole> 实例对象列表
* @return 影响行数
*/
int insertBatch(@Param("entities") List<TabHaobanRole> entities);
/**
* 修改数据
*
* @param tabHaobanRole 实例对象
* @return 影响行数
*/
int update(TabHaobanRole tabHaobanRole);
/**
* 按角色删除id
*
* @param roleId 角色id
* @return int
* @author mozhu
* @date 2022-09-14 10:13:03
*/
int deleteByRoleId(Long roleId);
/**
* 根据类型查询企业的菜单权限
*
* @param wxEnterpriseId wx企业标识
* @param clerkType 职员类型
* @return {@link List }<{@link TabHaobanRole }>
* @author mozhu
* @date 2022-09-07 14:09:07
*/
List<TabHaobanRole> getByWxEnterpriseIdAndClerkType(@Param("wxEnterpriseId") String wxEnterpriseId,
@Param("clerkType") Integer clerkType);
/**
* 根据wx企业id获取数量
*
* @param wxEnterpriseId wx企业标识
* @return int
* @author mozhu
* @date 2022-09-14 10:36:05
*/
int getCountByWxEnterpriseId(@Param("wxEnterpriseId") String wxEnterpriseId);
/**
* 根据wx企业id 删除
*
* @param wxEnterpriseId wx企业标识
* @return int
* @author mozhu
* @date 2022-09-14 10:17:21
*/
int deleteByWxEnterpriseId(String wxEnterpriseId);
}
package com.gic.haoban.manage.service.dao.mapper.role;
import com.gic.haoban.manage.service.entity.role.TabHaobanRoleMenu;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 好办小程序权限菜单(TabHaobanRoleMenu)表数据库访问层
*
* @author mozhu
* @since 2022-09-09 11:36:06
*/
public interface TabHaobanRoleMenuMapper {
/**
* 通过ID查询单条数据
*
* @param roleMenuId 主键
* @return 实例对象
*/
TabHaobanRoleMenu queryById(Long roleMenuId);
/**
* 新增数据
*
* @param tabHaobanRoleMenu 实例对象
* @return 影响行数
*/
int insert(TabHaobanRoleMenu tabHaobanRoleMenu);
/**
* 批量新增数据(MyBatis原生foreach方法)
*
* @param entities List<TabHaobanRoleMenu> 实例对象列表
* @return 影响行数
*/
int insertBatch(@Param("entities") List<TabHaobanRoleMenu> entities);
/**
* 修改数据
*
* @param tabHaobanRoleMenu 实例对象
* @return 影响行数
*/
int update(TabHaobanRoleMenu tabHaobanRoleMenu);
/**
* 通过主键删除数据
*
* @param roleMenuId 主键
* @return 影响行数
*/
int deleteById(Long roleMenuId);
/**
* 按角色删除id
*
* @param roleId 角色id
* @return int
* @author mozhu
* @date 2022-09-09 17:19:31
*/
int deleteByRoleId(Long roleId);
/**
* 通过wx企业id和角色id 查询菜单
*
* @param wxEnterpriseId wx企业标识
* @param roleId 角色id
* @return {@link List }<{@link String }>
* @author mozhu
* @date 2022-09-13 14:58:22
*/
List<String> getByWxEnterpriseIdAndRoleId(@Param("wxEnterpriseId") String wxEnterpriseId,
@Param("roleId") Long roleId);
/**
* 根据wx企业id 删除
*
* @param wxEnterpriseId wx企业标识
* @return boolean
* @author mozhu
* @date 2022-09-14 10:40:18
*/
boolean deleteByWxEnterpriseId(@Param("wxEnterpriseId") String wxEnterpriseId);
}
package com.gic.haoban.manage.service.entity.role;
import java.io.Serializable;
import java.util.Date;
/**
*
*
* @author mozhu
* @since 2022-09-06 16:35:10
*/
public class TabHaobanMenu implements Serializable {
private static final long serialVersionUID = 909873156099677525L;
/**
* 菜单code
*/
private String menuCode;
/**
* 菜单名称
*/
private String menuName;
/**
* 菜单url
*/
private String menuUrl;
/**
* 菜单图标url
*/
private String iconUrl;
/**
* 0:菜单;1:按钮
*/
private Integer menuType;
/**
* 排序
*/
private Integer menuSort;
/**
* 父code
*/
private String parentCode;
private String routePath;
/**
* 1:正常;0:删除
*/
private Integer statusFlag;
private Date createTime;
private Date updateTime;
public String getMenuCode() {
return menuCode;
}
public void setMenuCode(String menuCode) {
this.menuCode = menuCode;
}
public String getMenuName() {
return menuName;
}
public void setMenuName(String menuName) {
this.menuName = menuName;
}
public String getMenuUrl() {
return menuUrl;
}
public void setMenuUrl(String menuUrl) {
this.menuUrl = menuUrl;
}
public String getIconUrl() {
return iconUrl;
}
public void setIconUrl(String iconUrl) {
this.iconUrl = iconUrl;
}
public Integer getMenuType() {
return menuType;
}
public void setMenuType(Integer menuType) {
this.menuType = menuType;
}
public Integer getMenuSort() {
return menuSort;
}
public void setMenuSort(Integer menuSort) {
this.menuSort = menuSort;
}
public String getParentCode() {
return parentCode;
}
public void setParentCode(String parentCode) {
this.parentCode = parentCode;
}
public Integer getStatusFlag() {
return statusFlag;
}
public void setStatusFlag(Integer statusFlag) {
this.statusFlag = statusFlag;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public String getRoutePath() {
return routePath;
}
public void setRoutePath(String routePath) {
this.routePath = routePath;
}
}
package com.gic.haoban.manage.service.entity.role;
import java.io.Serializable;
import java.util.Date;
/**
* 好办小程序权限(TabHaobanRole)实体类
*
* @author mozhu
* @since 2022-09-06 16:35:07
*/
public class TabHaobanRole implements Serializable {
private static final long serialVersionUID = 554109287178364863L;
private Long roleId;
/**
* 权限名称
*/
private String roleName;
/**
* 0:导购;1:店长;3:区经
*/
private Integer clerkType;
private String wxEnterpriseId;
private String creatorId;
private String creatorName;
private String modifierId;
private String modifierName;
/**
* 1:正常;0:删除
*/
private Integer statusFlag;
private Date createTime;
private Date updateTime;
public Long getRoleId() {
return roleId;
}
public void setRoleId(Long roleId) {
this.roleId = roleId;
}
public String getRoleName() {
return roleName;
}
public void setRoleName(String roleName) {
this.roleName = roleName;
}
public Integer getClerkType() {
return clerkType;
}
public void setClerkType(Integer clerkType) {
this.clerkType = clerkType;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public String getCreatorId() {
return creatorId;
}
public void setCreatorId(String creatorId) {
this.creatorId = creatorId;
}
public String getCreatorName() {
return creatorName;
}
public void setCreatorName(String creatorName) {
this.creatorName = creatorName;
}
public String getModifierId() {
return modifierId;
}
public void setModifierId(String modifierId) {
this.modifierId = modifierId;
}
public String getModifierName() {
return modifierName;
}
public void setModifierName(String modifierName) {
this.modifierName = modifierName;
}
public Integer getStatusFlag() {
return statusFlag;
}
public void setStatusFlag(Integer statusFlag) {
this.statusFlag = statusFlag;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
}
package com.gic.haoban.manage.service.entity.role;
import java.io.Serializable;
import java.util.Date;
/**
* 好办小程序权限菜单(TabHaobanRoleMenu)实体类
*
* @author mozhu
* @since 2022-09-09 11:36:06
*/
public class TabHaobanRoleMenu implements Serializable {
private static final long serialVersionUID = 156396006594630056L;
private Long roleMenuId;
/**
* 权限id
*/
private Long roleId;
private String wxEnterpriseId;
/**
* 菜单id
*/
private String menuCode;
/**
* 1:正常;0:删除
*/
private Integer statusFlag;
private Date createTime;
private Date updateTime;
public String getMenuCode() {
return menuCode;
}
public void setMenuCode(String menuCode) {
this.menuCode = menuCode;
}
public Integer getStatusFlag() {
return statusFlag;
}
public void setStatusFlag(Integer statusFlag) {
this.statusFlag = statusFlag;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public Long getRoleMenuId() {
return roleMenuId;
}
public void setRoleMenuId(Long roleMenuId) {
this.roleMenuId = roleMenuId;
}
public Long getRoleId() {
return roleId;
}
public void setRoleId(Long roleId) {
this.roleId = roleId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
}
package com.gic.haoban.manage.service.pojo.bo.role;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
*
*
* @author mozhu
* @since 2022-09-06 16:35:10
*/
public class HaobanMenuBO implements Serializable {
private static final long serialVersionUID = 909873156099677525L;
/**
* 菜单code
*/
private String menuCode;
/**
* 菜单名称
*/
private String menuName;
/**
* 菜单url
*/
private String menuUrl;
/**
* 菜单图标url
*/
private String iconUrl;
/**
* 层级
*/
private Integer menuLevel;
/**
* 0:菜单;1:按钮
*/
private Integer menuType;
/**
* 排序
*/
private Integer menuSort;
/**
* 父code
*/
private String parentCode;
private String routePath;
/**
* 1:正常;0:删除
*/
private Integer statusFlag;
private Date createTime;
private Date updateTime;
private List<HaobanMenuBO> menuBOList;
public String getMenuCode() {
return menuCode;
}
public void setMenuCode(String menuCode) {
this.menuCode = menuCode;
}
public String getMenuName() {
return menuName;
}
public void setMenuName(String menuName) {
this.menuName = menuName;
}
public String getMenuUrl() {
return menuUrl;
}
public void setMenuUrl(String menuUrl) {
this.menuUrl = menuUrl;
}
public String getIconUrl() {
return iconUrl;
}
public void setIconUrl(String iconUrl) {
this.iconUrl = iconUrl;
}
public Integer getMenuLevel() {
return menuLevel;
}
public void setMenuLevel(Integer menuLevel) {
this.menuLevel = menuLevel;
}
public Integer getMenuType() {
return menuType;
}
public void setMenuType(Integer menuType) {
this.menuType = menuType;
}
public Integer getMenuSort() {
return menuSort;
}
public void setMenuSort(Integer menuSort) {
this.menuSort = menuSort;
}
public String getParentCode() {
return parentCode;
}
public void setParentCode(String parentCode) {
this.parentCode = parentCode;
}
public Integer getStatusFlag() {
return statusFlag;
}
public void setStatusFlag(Integer statusFlag) {
this.statusFlag = statusFlag;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public List<HaobanMenuBO> getMenuBOList() {
return menuBOList;
}
public void setMenuBOList(List<HaobanMenuBO> menuBOList) {
this.menuBOList = menuBOList;
}
public String getRoutePath() {
return routePath;
}
public void setRoutePath(String routePath) {
this.routePath = routePath;
}
}
package com.gic.haoban.manage.service.pojo.bo.role;
import java.io.Serializable;
import java.util.Date;
/**
* 好办小程序权限(TabHaobanRole)实体类
*
* @author mozhu
* @since 2022-09-06 16:35:07
*/
public class HaobanRoleBO implements Serializable {
private static final long serialVersionUID = 554109287178364863L;
private Long roleId;
/**
* 权限名称
*/
private String roleName;
/**
* 0:导购;1:店长;3:区经
*/
private Integer clerkType;
private String wxEnterpriseId;
private String creatorId;
private String creatorName;
private String modifierId;
private String modifierName;
/**
* 1:正常;0:删除
*/
private Integer statusFlag;
private Date createTime;
private Date updateTime;
public Long getRoleId() {
return roleId;
}
public void setRoleId(Long roleId) {
this.roleId = roleId;
}
public String getRoleName() {
return roleName;
}
public void setRoleName(String roleName) {
this.roleName = roleName;
}
public Integer getClerkType() {
return clerkType;
}
public void setClerkType(Integer clerkType) {
this.clerkType = clerkType;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public String getCreatorId() {
return creatorId;
}
public void setCreatorId(String creatorId) {
this.creatorId = creatorId;
}
public String getCreatorName() {
return creatorName;
}
public void setCreatorName(String creatorName) {
this.creatorName = creatorName;
}
public String getModifierId() {
return modifierId;
}
public void setModifierId(String modifierId) {
this.modifierId = modifierId;
}
public String getModifierName() {
return modifierName;
}
public void setModifierName(String modifierName) {
this.modifierName = modifierName;
}
public Integer getStatusFlag() {
return statusFlag;
}
public void setStatusFlag(Integer statusFlag) {
this.statusFlag = statusFlag;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
}
......@@ -67,19 +67,14 @@ public class MessageApiServiceImpl implements MessageApiService {
private Config config;
@Autowired
private QywxDepartmentApiService qywxDepartmentApiService;
@Autowired
private QQCloudPicService qqCloudPicService;
@Autowired
private InnerApiService innerApiService;
@Autowired
private StaffClerkRelationApiService staffClerkRelationApiService;
@Autowired
private QywxSuiteApiService qywxSuiteApiService;
@Autowired
private WxEnterpriseService wxEnterpriseService;
@Autowired
......@@ -96,14 +91,6 @@ public class MessageApiServiceImpl implements MessageApiService {
private QywxUserApiService qywxUserApiService;
@Override
public void gicMessageReceive(GicMessageDTO gicMessageDTO) {
if (true) {
log.info("好办3.0去除消息监听");
return;
}
}
@Override
public void wxMessageReceive(QywxCallBackDTO qywxCallBackDTO) {
GicMQClient clientInstance = GICMQClientUtil.getClientInstance();
try {
......
package com.gic.haoban.manage.service.service.out.impl;
import java.util.Arrays;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.alibaba.fastjson.JSON;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.DateUtil;
......@@ -26,37 +8,38 @@ import com.gic.enterprise.api.constant.EnterpriseServiceEnum;
import com.gic.enterprise.api.dto.EnterpriseUsingPermissionDto;
import com.gic.enterprise.api.service.EnterpriseUseForbidService;
import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO;
import com.gic.haoban.common.utils.PageUtil;
import com.gic.haoban.manage.api.dto.CommonMQDTO;
import com.gic.haoban.manage.api.dto.MiniprogramSettingDTO;
import com.gic.haoban.manage.api.dto.QywxCorpInfoSimpleDTO;
import com.gic.haoban.manage.api.dto.SecretSettingDTO;
import com.gic.haoban.manage.api.dto.StaffPrivacyUseLogDTO;
import com.gic.haoban.manage.api.dto.WelcomeDTO;
import com.gic.haoban.manage.api.dto.WxEnterpriseDTO;
import com.gic.haoban.manage.api.dto.WxEnterpriseQwDTO;
import com.gic.haoban.manage.api.dto.YwWxEnterpriseDTO;
import com.gic.haoban.manage.api.dto.*;
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.enums.SecretTypeEnum;
import com.gic.haoban.manage.api.enums.role.RoleClerkTypeEnum;
import com.gic.haoban.manage.api.service.HaobanCommonMQApiService;
import com.gic.haoban.manage.api.service.WxEnterpriseApiService;
import com.gic.haoban.manage.api.service.role.HaobanRoleApiService;
import com.gic.haoban.manage.service.config.Config;
import com.gic.haoban.manage.service.dao.mapper.TabHaobanWelcomeMapper;
import com.gic.haoban.manage.service.dao.mapper.WxEnterpriseMapper;
import com.gic.haoban.manage.service.dao.mapper.WxEnterpriseRelatedMapper;
import com.gic.haoban.manage.service.entity.TabHaobanWxApplication;
import com.gic.haoban.manage.service.entity.TabHaobanWxEnterprise;
import com.gic.haoban.manage.service.entity.TabHaobanWxEnterpriseRelated;
import com.gic.haoban.manage.service.entity.TabMiniprogramSetting;
import com.gic.haoban.manage.service.entity.TabWelcome;
import com.gic.haoban.manage.service.entity.*;
import com.gic.haoban.manage.service.pojo.bo.StaffPrivacyUseLogBO;
import com.gic.haoban.manage.service.service.MiniprogramSettingService;
import com.gic.haoban.manage.service.service.SecretSettingService;
import com.gic.haoban.manage.service.service.StaffPrivacyUseLogService;
import com.gic.haoban.manage.service.service.WxApplicationService;
import com.gic.haoban.manage.service.service.WxEnterpriseService;
import com.gic.haoban.manage.service.pojo.bo.role.HaobanRoleBO;
import com.gic.haoban.manage.service.service.*;
import com.gic.haoban.manage.service.service.role.HaobanRoleMenuService;
import com.gic.haoban.manage.service.service.role.HaobanRoleService;
import com.gic.wechat.api.service.qywx.QywxUserApiService;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
@Service
public class WxEnterpriseApiServiceImpl implements WxEnterpriseApiService {
......@@ -85,6 +68,13 @@ public class WxEnterpriseApiServiceImpl implements WxEnterpriseApiService {
private EnterpriseUseForbidService enterpriseUseForbidService;
@Autowired
private HaobanCommonMQApiService haobanCommonMQApiService ;
@Autowired
private HaobanRoleMenuService haobanRoleMenuService;
@Autowired
private HaobanRoleService haobanRoleService;
@Autowired
private HaobanRoleApiService haobanRoleApiService;
@Override
public void callbackReviceEnterprise(QywxCorpInfoSimpleDTO dto) {
......@@ -132,6 +122,9 @@ public class WxEnterpriseApiServiceImpl implements WxEnterpriseApiService {
}
wxDTO.setWxSecurityType(2);
wxEnterpriseId = wxEnterpriseService.add(wxDTO);
//好办小程序插入权限
log.info("插入好办小程序权限:{}",wxEnterpriseId);
addHaobanRole(wxEnterpriseId);
}
TabHaobanWxApplication haobanWxApplication = wxApplicationService.selectBySiteIdAndWxEnterpriseId(siteId, wxEnterpriseId);
if (haobanWxApplication == null) {
......@@ -192,6 +185,7 @@ public class WxEnterpriseApiServiceImpl implements WxEnterpriseApiService {
}
agreeExternalUseridFlag(wxEnterpriseId, 1);
this.wxEnterpriseService.updateWxSecurityType(wxEnterpriseId);
log.info("企业微信授权处理完成");
}
......@@ -525,4 +519,56 @@ public class WxEnterpriseApiServiceImpl implements WxEnterpriseApiService {
}
return "好办服务已到期" ;
}
@Override
public void addHaobanRole(String wxEnterpriseId) {
List<HaobanRoleBO> haobanRoleBOList = haobanRoleService.getByWxEnterpriseIdAndClerkType("-1", null);
HaobanRoleQDTO haobanRoleQDTO = new HaobanRoleQDTO();
HaobanRoleQDTO haobanRoleSystemQDTO = new HaobanRoleQDTO();
for (HaobanRoleBO haobanRoleBO : haobanRoleBOList) {
Long roleId = haobanRoleBO.getRoleId();
Integer clerkType = haobanRoleBO.getClerkType();
String roleName = haobanRoleBO.getRoleName();
int count = haobanRoleService.getCountByWxEnterpriseId(wxEnterpriseId);
//清除历史权限
if (count > 0) {
haobanRoleService.deleteByWxEnterpriseId(wxEnterpriseId);
haobanRoleMenuService.deleteByWxEnterpriseId(wxEnterpriseId);
}
haobanRoleQDTO.setRoleName(roleName);
haobanRoleSystemQDTO.setRoleName(roleName);
List<String> menuCodes = haobanRoleMenuService.getByWxEnterpriseIdAndRoleId("-1", roleId);
if (RoleClerkTypeEnum.CLERK.getCode().equals(clerkType)) {
HaobanRoleMenuQDTO clerkMenus = new HaobanRoleMenuQDTO();
clerkMenus.setClerkType(clerkType);
clerkMenus.setMenuCodes(menuCodes);
haobanRoleQDTO.setClerkMenus(clerkMenus);
haobanRoleSystemQDTO.setClerkMenus(clerkMenus);
} else if (RoleClerkTypeEnum.SHOP.getCode().equals(clerkType)) {
HaobanRoleMenuQDTO manegeClerkMenus = new HaobanRoleMenuQDTO();
manegeClerkMenus.setClerkType(clerkType);
manegeClerkMenus.setMenuCodes(menuCodes);
haobanRoleQDTO.setManegeClerkMenus(manegeClerkMenus);
haobanRoleSystemQDTO.setManegeClerkMenus(manegeClerkMenus);
}else if (RoleClerkTypeEnum.MANAGE.getCode().equals(clerkType)) {
HaobanRoleMenuQDTO managerMenus = new HaobanRoleMenuQDTO();
managerMenus.setClerkType(clerkType);
managerMenus.setMenuCodes(menuCodes);
haobanRoleQDTO.setManagerMenus(managerMenus);
haobanRoleSystemQDTO.setManagerMenus(managerMenus);
}
}
WebLoginDTO login = new WebLoginDTO();
login.setWxEnterpriseId(wxEnterpriseId);
login.setClerkId("-1");
login.setClerkName("系统");
//商户权限
haobanRoleApiService.add(haobanRoleQDTO, login);
//运维系统权限
haobanRoleApiService.add(haobanRoleSystemQDTO, login);
}
}
package com.gic.haoban.manage.service.service.out.impl.role;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.EntityUtil;
import com.gic.haoban.manage.api.dto.role.HaobanMenuDTO;
import com.gic.haoban.manage.api.service.role.HaobanMenuApiService;
import com.gic.haoban.manage.service.pojo.bo.role.HaobanMenuBO;
import com.gic.haoban.manage.service.service.role.HaobanMenuService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class HaobanMenuApiServiceImpl implements HaobanMenuApiService {
@Autowired
private HaobanMenuService haobanMenuService;
@Override
public ServiceResponse<List<HaobanMenuDTO>> getMenuTreeList() {
List<HaobanMenuBO> menuTreeList = haobanMenuService.getMenuTreeList();
return ServiceResponse.success(EntityUtil.changeEntityListNew(HaobanMenuDTO.class,menuTreeList));
}
@Override
public ServiceResponse<List<HaobanMenuDTO>> getHaobanMenuTreeList(String wxEnterpriseId, Integer clerkType) {
List<HaobanMenuBO> haobanMenuBOList = haobanMenuService.getHaobanMenuTreeList(wxEnterpriseId, clerkType);
return ServiceResponse.success(EntityUtil.changeEntityListNew(HaobanMenuDTO.class,haobanMenuBOList));
}
}
package com.gic.haoban.manage.service.service.out.impl.role;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.UniqueIdUtils;
import com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO;
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.enums.role.RoleClerkTypeEnum;
import com.gic.haoban.manage.api.service.role.HaobanRoleApiService;
import com.gic.haoban.manage.service.entity.role.TabHaobanRole;
import com.gic.haoban.manage.service.entity.role.TabHaobanRoleMenu;
import com.gic.haoban.manage.service.service.role.HaobanRoleMenuService;
import com.gic.haoban.manage.service.service.role.HaobanRoleService;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Service
public class HaobanRoleApiServiceImpl implements HaobanRoleApiService {
private static final Logger logger = LogManager.getLogger(HaobanRoleApiServiceImpl.class);
@Autowired
private HaobanRoleService haobanRoleService;
@Autowired
private HaobanRoleMenuService haobanRoleMenuService;
@Override
@Transactional(rollbackFor = Exception.class)
public ServiceResponse add(HaobanRoleQDTO haobanRoleQDTO, WebLoginDTO login) {
HaobanRoleMenuQDTO clerkMenus = haobanRoleQDTO.getClerkMenus();
HaobanRoleMenuQDTO manegeClerkMenus = haobanRoleQDTO.getManegeClerkMenus();
HaobanRoleMenuQDTO managerMenus = haobanRoleQDTO.getManagerMenus();
String wxEnterpriseId = login.getWxEnterpriseId();
String clerkId = login.getClerkId();
String clerkName = login.getClerkName();
List<TabHaobanRole> haobanRoles = new ArrayList<>();
List<TabHaobanRoleMenu> tabHaobanRoleMenus = new ArrayList<>();
Date now = new Date();
//导购
if (clerkMenus != null) {
TabHaobanRole tabHaobanRole = getTabHaobanRole(haobanRoleQDTO, wxEnterpriseId, clerkId, clerkName, haobanRoles, RoleClerkTypeEnum.CLERK.getCode());
List<String> menuCodes = clerkMenus.getMenuCodes();
for (String menuCode : menuCodes) {
getTabHaobanRoleMenu(wxEnterpriseId, tabHaobanRoleMenus, now, tabHaobanRole, menuCode);
}
}
//店长
if (manegeClerkMenus != null) {
TabHaobanRole tabHaobanRole = getTabHaobanRole(haobanRoleQDTO, wxEnterpriseId, clerkId, clerkName, haobanRoles, RoleClerkTypeEnum.SHOP.getCode());
List<String> menuCodes = manegeClerkMenus.getMenuCodes();
for (String menuCode : menuCodes) {
getTabHaobanRoleMenu(wxEnterpriseId, tabHaobanRoleMenus, now, tabHaobanRole, menuCode);
}
}
//区经
if (managerMenus != null) {
TabHaobanRole tabHaobanRole = getTabHaobanRole(haobanRoleQDTO, wxEnterpriseId, clerkId, clerkName, haobanRoles, RoleClerkTypeEnum.MANAGE.getCode());
List<String> menuCodes = managerMenus.getMenuCodes();
for (String menuCode : menuCodes) {
getTabHaobanRoleMenu(wxEnterpriseId, tabHaobanRoleMenus, now, tabHaobanRole, menuCode);
}
}
haobanRoleService.insertBatch(haobanRoles);
haobanRoleMenuService.insertBatch(tabHaobanRoleMenus);
return ServiceResponse.success();
}
private void getTabHaobanRoleMenu(String wxEnterpriseId, List<TabHaobanRoleMenu> tabHaobanRoleMenus, Date now, TabHaobanRole tabHaobanRole, String menuCode) {
TabHaobanRoleMenu tabHaobanRoleMenu = new TabHaobanRoleMenu();
tabHaobanRoleMenu.setRoleMenuId(UniqueIdUtils.uniqueLong());
tabHaobanRoleMenu.setRoleId(tabHaobanRole.getRoleId());
tabHaobanRoleMenu.setWxEnterpriseId(wxEnterpriseId);
tabHaobanRoleMenu.setMenuCode(menuCode);
tabHaobanRoleMenu.setStatusFlag(1);
tabHaobanRoleMenu.setCreateTime(now);
tabHaobanRoleMenu.setUpdateTime(now);
tabHaobanRoleMenus.add(tabHaobanRoleMenu);
}
private TabHaobanRole getTabHaobanRole(HaobanRoleQDTO haobanRoleQDTO, String wxEnterpriseId, String clerkId, String clerkName, List<TabHaobanRole> haobanRoles, int clerkType) {
TabHaobanRole tabHaobanRole = new TabHaobanRole();
tabHaobanRole.setRoleId(UniqueIdUtils.uniqueLong());
tabHaobanRole.setRoleName(haobanRoleQDTO.getRoleName());
tabHaobanRole.setClerkType(clerkType);
tabHaobanRole.setWxEnterpriseId(wxEnterpriseId);
tabHaobanRole.setStatusFlag(1);
tabHaobanRole.setCreatorId(clerkId);
tabHaobanRole.setCreatorName(clerkName);
haobanRoles.add(tabHaobanRole);
return tabHaobanRole;
}
@Override
@Transactional(rollbackFor = Exception.class)
public ServiceResponse edit(HaobanRoleQDTO haobanRoleQDTO, WebLoginDTO login) {
HaobanRoleMenuQDTO clerkMenus = haobanRoleQDTO.getClerkMenus();
HaobanRoleMenuQDTO manegeClerkMenus = haobanRoleQDTO.getManegeClerkMenus();
HaobanRoleMenuQDTO managerMenus = haobanRoleQDTO.getManagerMenus();
String wxEnterpriseId = login.getWxEnterpriseId();
String clerkId = login.getClerkId();
String clerkName = login.getClerkName();
List<TabHaobanRoleMenu> tabHaobanRoleMenus = new ArrayList<>();
Date now = new Date();
//导购
if (clerkMenus != null) {
TabHaobanRole tabHaobanRole = updateTabHaobanRole(haobanRoleQDTO, clerkMenus, wxEnterpriseId, clerkId, clerkName, now);
List<String> menuCodes = clerkMenus.getMenuCodes();
for (String menuCode : menuCodes) {
getTabHaobanRoleMenu(wxEnterpriseId, tabHaobanRoleMenus, now, tabHaobanRole, menuCode);
}
}
//店长
if (manegeClerkMenus != null) {
TabHaobanRole tabHaobanRole = updateTabHaobanRole(haobanRoleQDTO, manegeClerkMenus, wxEnterpriseId, clerkId, clerkName, now);
List<String> menuCodes = manegeClerkMenus.getMenuCodes();
for (String menuCode : menuCodes) {
getTabHaobanRoleMenu(wxEnterpriseId, tabHaobanRoleMenus, now, tabHaobanRole, menuCode);
}
}
//导购
if (managerMenus != null) {
TabHaobanRole tabHaobanRole = updateTabHaobanRole(haobanRoleQDTO, managerMenus, wxEnterpriseId, clerkId, clerkName, now);
List<String> menuCodes = managerMenus.getMenuCodes();
for (String menuCode : menuCodes) {
getTabHaobanRoleMenu(wxEnterpriseId, tabHaobanRoleMenus, now, tabHaobanRole, menuCode);
}
}
haobanRoleMenuService.insertBatch(tabHaobanRoleMenus);
return ServiceResponse.success();
}
private TabHaobanRole updateTabHaobanRole(HaobanRoleQDTO haobanRoleQDTO, HaobanRoleMenuQDTO managerMenus, String wxEnterpriseId, String clerkId, String clerkName, Date now) {
Long roleId = managerMenus.getRoleId();
//删除已删除的权限
haobanRoleMenuService.deleteByRoleId(roleId);
TabHaobanRole tabHaobanRole = new TabHaobanRole();
tabHaobanRole.setRoleId(roleId);
tabHaobanRole.setRoleName(haobanRoleQDTO.getRoleName());
tabHaobanRole.setClerkType(0);
tabHaobanRole.setWxEnterpriseId(wxEnterpriseId);
tabHaobanRole.setModifierId(clerkId);
tabHaobanRole.setModifierName(clerkName);
tabHaobanRole.setStatusFlag(1);
tabHaobanRole.setUpdateTime(now);
haobanRoleService.update(tabHaobanRole);
return tabHaobanRole;
}
@Override
public ServiceResponse getByWxEnterpriseIdAndRoleId(String wxEnterpriseId, Long roleId) {
List<String> menuCodes = haobanRoleMenuService.getByWxEnterpriseIdAndRoleId(wxEnterpriseId, roleId);
return ServiceResponse.success(menuCodes);
}
}
package com.gic.haoban.manage.service.service.role;
import com.gic.haoban.manage.service.entity.role.TabHaobanMenu;
import com.gic.haoban.manage.service.pojo.bo.role.HaobanMenuBO;
import java.util.List;
/**
*
*
* @author mozhu
* @since 2022-09-06 16:35:11
*/
public interface HaobanMenuService {
/**
* 通过ID查询单条数据
*
* @param menuCode 菜单代码
* @return {@link TabHaobanMenu }
* @author mozhu
* @date 2022-09-09 16:33:26
*/
TabHaobanMenu queryById(String menuCode);
/**
* 新增数据
*
* @param tabHaobanMenu 实例对象
* @return 实例对象
*/
int insert(TabHaobanMenu tabHaobanMenu);
/**
* 修改数据
*
* @param tabHaobanMenu 实例对象
* @return 实例对象
*/
int update(TabHaobanMenu tabHaobanMenu);
/**
* 菜单树
* @return
*/
List<HaobanMenuBO> getMenuTreeList();
/**
* 得到haoban菜单树列表
*
* @param wxEnterpriseId wx企业标识
* @param clerkType 职员类型
* @return {@link List}<{@link HaobanMenuBO}>
*/
List<HaobanMenuBO> getHaobanMenuTreeList(String wxEnterpriseId, Integer clerkType);
}
package com.gic.haoban.manage.service.service.role;
import com.gic.haoban.manage.service.entity.role.TabHaobanRoleMenu;
import java.util.List;
/**
* 好办小程序权限菜单(TabHaobanRoleMenu)表服务接口
*
* @author mozhu
* @since 2022-09-09 11:36:06
*/
public interface HaobanRoleMenuService {
/**
* 通过ID查询单条数据
*
* @param roleMenuId 主键
* @return 实例对象
*/
TabHaobanRoleMenu queryById(Long roleMenuId);
/**
* 新增数据
*
* @param tabHaobanRoleMenu 实例对象
* @return 实例对象
*/
int insert(TabHaobanRoleMenu tabHaobanRoleMenu);
/**
* 批量新增数据
*
* @param roleMenuList 角色菜单列表
* @return int
* @author mozhu
* @date 2022-09-09 16:32:24
*/
int insertBatch(List<TabHaobanRoleMenu> roleMenuList);
/**
* 修改数据
*
* @param tabHaobanRoleMenu 实例对象
* @return 实例对象
*/
int update(TabHaobanRoleMenu tabHaobanRoleMenu);
/**
* 通过主键删除数据
*
* @param roleMenuId 主键
* @return 是否成功
*/
boolean deleteById(Long roleMenuId);
/**
* 按角色删除id
*
* @param roleId 角色id
* @return boolean
* @author mozhu
* @date 2022-09-09 17:18:19
*/
boolean deleteByRoleId(Long roleId);
/**
* 通过wx企业id和角色id 查询菜单
*
* @param wxEnterpriseId wx企业标识
* @param roleId 角色id
* @return {@link List }<{@link String }>
* @author mozhu
* @date 2022-09-13 14:57:34
*/
List<String> getByWxEnterpriseIdAndRoleId(String wxEnterpriseId, Long roleId);
/**
* 根据企业id删除权限
*
* @param wxEnterpriseId wx企业标识
* @return boolean
* @author mozhu
* @date 2022-09-14 10:39:43
*/
boolean deleteByWxEnterpriseId(String wxEnterpriseId);
}
package com.gic.haoban.manage.service.service.role;
import com.gic.haoban.manage.service.entity.role.TabHaobanRole;
import com.gic.haoban.manage.service.pojo.bo.role.HaobanRoleBO;
import java.util.List;
/**
* 好办小程序权限(TabHaobanRole)表服务接口
*
* @author mozhu
* @since 2022-09-06 16:35:10
*/
public interface HaobanRoleService {
/**
* 通过ID查询单条数据
*
* @param roleId 主键
* @return 实例对象
*/
TabHaobanRole queryById(Long roleId);
/**
* 新增数据
*
* @param tabHaobanRole 实例对象
* @return 实例对象
*/
TabHaobanRole insert(TabHaobanRole tabHaobanRole);
/**
* 插入批量
*
* @param tabHaobanRoles 选项卡haoban作用
* @return int
* @author mozhu
* @date 2022-09-07 14:04:38
*/
int insertBatch(List<TabHaobanRole> tabHaobanRoles);
/**
* 修改数据
*
* @param tabHaobanRole 实例对象
* @return 实例对象
*/
TabHaobanRole update(TabHaobanRole tabHaobanRole);
/**
* 通过主键删除数据
*
* @param roleId 主键
* @return 是否成功
*/
boolean deleteByRoleId(Long roleId);
/**
* 删除企业权限
*
* @param wxEnterpriseId wx企业标识
* @return boolean
* @author mozhu
* @date 2022-09-14 10:16:19
*/
boolean deleteByWxEnterpriseId(String wxEnterpriseId);
/**
* 根据类型查询企业的菜单权限
*
* @param wxEnterpriseId wx企业标识
* @param clerkType 职员类型
* @return {@link List }<{@link HaobanRoleBO }>
* @author mozhu
* @date 2022-09-07 14:08:19
*/
List<HaobanRoleBO> getByWxEnterpriseIdAndClerkType(String wxEnterpriseId, Integer clerkType);
/**
* 查询wx企业id数量
*
* @param wxEnterpriseId wx企业标识
* @return int
* @author mozhu
* @date 2022-09-14 10:37:49
*/
int getCountByWxEnterpriseId(String wxEnterpriseId);
}
package com.gic.haoban.manage.service.service.role.impl;
import com.gic.commons.util.EntityUtil;
import com.gic.haoban.manage.service.dao.mapper.role.TabHaobanMenuMapper;
import com.gic.haoban.manage.service.entity.role.TabHaobanMenu;
import com.gic.haoban.manage.service.pojo.bo.role.HaobanMenuBO;
import com.gic.haoban.manage.service.service.role.HaobanMenuService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
*
*
* @author mozhu
* @since 2022-09-06 16:35:11
*/
@Service
public class HaobanMenuServiceImpl implements HaobanMenuService {
@Autowired
private TabHaobanMenuMapper tabHaobanMenuMapper;
@Override
public TabHaobanMenu queryById(String menuCode) {
return this.tabHaobanMenuMapper.queryById(menuCode);
}
/**
* 新增数据
*
* @param tabHaobanMenu 实例对象
* @return 实例对象
*/
@Override
public int insert(TabHaobanMenu tabHaobanMenu) {
tabHaobanMenu.setCreateTime(new Date());
tabHaobanMenu.setUpdateTime(new Date());
return this.tabHaobanMenuMapper.insert(tabHaobanMenu);
}
/**
* 修改数据
*
* @param tabHaobanMenu 实例对象
* @return 实例对象
*/
@Override
public int update(TabHaobanMenu tabHaobanMenu) {
tabHaobanMenu.setUpdateTime(new Date());
return this.tabHaobanMenuMapper.update(tabHaobanMenu);
}
@Override
public List<HaobanMenuBO> getMenuTreeList() {
List<TabHaobanMenu> pidMenuList = tabHaobanMenuMapper.getPidMenuList();
List<TabHaobanMenu> notPidMenuList = tabHaobanMenuMapper.getNotPidMenuList();
List<HaobanMenuBO> pidMenuBOList = EntityUtil.changeEntityListNew(HaobanMenuBO.class, pidMenuList);
List<HaobanMenuBO> notPidMenuBOList = EntityUtil.changeEntityListNew(HaobanMenuBO.class, notPidMenuList);
for (HaobanMenuBO haobanMenuBO : pidMenuBOList) {
List<HaobanMenuBO> menus = iterateMenus(notPidMenuBOList, haobanMenuBO.getMenuCode());
haobanMenuBO.setMenuBOList(menus);
}
return pidMenuBOList;
}
@Override
public List<HaobanMenuBO> getHaobanMenuTreeList(String wxEnterpriseId, Integer clerkType) {
List<TabHaobanMenu> pidMenuList = tabHaobanMenuMapper.getHaobanPidMenuList(wxEnterpriseId, clerkType);
List<TabHaobanMenu> notPidMenuList = tabHaobanMenuMapper.getHaobanPidMenuList(wxEnterpriseId, clerkType);
List<HaobanMenuBO> pidMenuBOList = EntityUtil.changeEntityListNew(HaobanMenuBO.class, pidMenuList);
List<HaobanMenuBO> notPidMenuBOList = EntityUtil.changeEntityListNew(HaobanMenuBO.class, notPidMenuList);
for (HaobanMenuBO haobanMenuBO : pidMenuBOList) {
List<HaobanMenuBO> menus = iterateMenus(notPidMenuBOList, haobanMenuBO.getMenuCode());
haobanMenuBO.setMenuBOList(menus);
}
return pidMenuBOList;
}
public List<HaobanMenuBO> iterateMenus(List<HaobanMenuBO> menuBOList, String pCode) {
List<HaobanMenuBO> result = new ArrayList<>();
for (HaobanMenuBO haobanMenuBO : menuBOList) {
String menuCode = haobanMenuBO.getMenuCode();
String parentCode = haobanMenuBO.getParentCode();
if (StringUtils.isNotBlank(parentCode)) {
if (parentCode.equals(pCode)) {
//递归查询当前子菜单的子菜单
List<HaobanMenuBO> iterateMenu = iterateMenus(menuBOList, menuCode);
haobanMenuBO.setMenuBOList(iterateMenu);
result.add(haobanMenuBO);
}
}
}
return result;
}
}
package com.gic.haoban.manage.service.service.role.impl;
import com.gic.commons.util.UniqueIdUtils;
import com.gic.haoban.manage.service.dao.mapper.role.TabHaobanRoleMenuMapper;
import com.gic.haoban.manage.service.entity.role.TabHaobanRoleMenu;
import com.gic.haoban.manage.service.service.role.HaobanRoleMenuService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
/**
* 好办小程序权限菜单(TabHaobanRoleMenu)表服务实现类
*
* @author mozhu
* @since 2022-09-09 11:36:07
*/
@Service
public class HaobanRoleMenuServiceImpl implements HaobanRoleMenuService {
@Autowired
private TabHaobanRoleMenuMapper tabHaobanRoleMenuMapper;
/**
* 通过ID查询单条数据
*
* @param roleMenuId 主键
* @return 实例对象
*/
@Override
public TabHaobanRoleMenu queryById(Long roleMenuId) {
return this.tabHaobanRoleMenuMapper.queryById(roleMenuId);
}
/**
* 新增数据
*
* @param tabHaobanRoleMenu 实例对象
* @return 实例对象
*/
@Override
public int insert(TabHaobanRoleMenu tabHaobanRoleMenu) {
tabHaobanRoleMenu.setRoleId(UniqueIdUtils.uniqueLong());
tabHaobanRoleMenu.setCreateTime(new Date());
tabHaobanRoleMenu.setUpdateTime(new Date());
return this.tabHaobanRoleMenuMapper.insert(tabHaobanRoleMenu);
}
@Override
public int insertBatch(List<TabHaobanRoleMenu> roleMenuList) {
return this.tabHaobanRoleMenuMapper.insertBatch(roleMenuList);
}
/**
* 修改数据
*
* @param tabHaobanRoleMenu 实例对象
* @return 实例对象
*/
@Override
public int update(TabHaobanRoleMenu tabHaobanRoleMenu) {
return this.tabHaobanRoleMenuMapper.update(tabHaobanRoleMenu);
}
/**
* 通过主键删除数据
*
* @param roleMenuId 主键
* @return 是否成功
*/
@Override
public boolean deleteById(Long roleMenuId) {
return this.tabHaobanRoleMenuMapper.deleteById(roleMenuId) > 0;
}
@Override
public boolean deleteByRoleId(Long roleId) {
return tabHaobanRoleMenuMapper.deleteByRoleId(roleId) > 0;
}
@Override
public List<String> getByWxEnterpriseIdAndRoleId(String wxEnterpriseId, Long roleId) {
return tabHaobanRoleMenuMapper.getByWxEnterpriseIdAndRoleId(wxEnterpriseId,roleId);
}
@Override
public boolean deleteByWxEnterpriseId(String wxEnterpriseId) {
return tabHaobanRoleMenuMapper.deleteByWxEnterpriseId(wxEnterpriseId);
}
}
package com.gic.haoban.manage.service.service.role.impl;
import com.gic.commons.util.EntityUtil;
import com.gic.commons.util.UniqueIdUtils;
import com.gic.haoban.manage.service.dao.mapper.role.TabHaobanRoleMapper;
import com.gic.haoban.manage.service.entity.role.TabHaobanRole;
import com.gic.haoban.manage.service.pojo.bo.role.HaobanRoleBO;
import com.gic.haoban.manage.service.service.role.HaobanRoleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
/**
* 好办小程序权限(TabHaobanRole)表服务实现类
*
* @author mozhu
* @since 2022-09-06 16:35:10
*/
@Service
public class HaobanRoleServiceImpl implements HaobanRoleService {
@Autowired
private TabHaobanRoleMapper tabHaobanRoleMapper;
/**
* 通过ID查询单条数据
*
* @param roleId 主键
* @return 实例对象
*/
@Override
public TabHaobanRole queryById(Long roleId) {
return this.tabHaobanRoleMapper.queryById(roleId);
}
/**
* 新增数据
*
* @param tabHaobanRole 实例对象
* @return 实例对象
*/
@Override
public TabHaobanRole insert(TabHaobanRole tabHaobanRole) {
tabHaobanRole.setRoleId(UniqueIdUtils.uniqueLong());
tabHaobanRole.setCreateTime(new Date());
tabHaobanRole.setUpdateTime(new Date());
this.tabHaobanRoleMapper.insert(tabHaobanRole);
return tabHaobanRole;
}
@Override
public int insertBatch(List<TabHaobanRole> tabHaobanRoles) {
return tabHaobanRoleMapper.insertBatch(tabHaobanRoles);
}
/**
* 修改数据
*
* @param tabHaobanRole 实例对象
* @return 实例对象
*/
@Override
public TabHaobanRole update(TabHaobanRole tabHaobanRole) {
tabHaobanRole.setUpdateTime(new Date());
this.tabHaobanRoleMapper.update(tabHaobanRole);
return this.queryById(tabHaobanRole.getRoleId());
}
/**
* 通过主键删除数据
*
* @param roleId 主键
* @return 是否成功
*/
@Override
public boolean deleteByRoleId(Long roleId) {
return tabHaobanRoleMapper.deleteByRoleId(roleId) > 0;
}
@Override
public boolean deleteByWxEnterpriseId(String wxEnterpriseId) {
return tabHaobanRoleMapper.deleteByWxEnterpriseId(wxEnterpriseId) > 0;
}
@Override
public List<HaobanRoleBO> getByWxEnterpriseIdAndClerkType(String wxEnterpriseId, Integer clerkType) {
List<TabHaobanRole> haobanRoles = tabHaobanRoleMapper.getByWxEnterpriseIdAndClerkType(wxEnterpriseId, clerkType);
return EntityUtil.changeEntityListNew(HaobanRoleBO.class, haobanRoles);
}
@Override
public int getCountByWxEnterpriseId(String wxEnterpriseId) {
return tabHaobanRoleMapper.getCountByWxEnterpriseId(wxEnterpriseId);
}
}
......@@ -131,7 +131,11 @@
timeout="10000"/>
<dubbo:service interface="com.gic.haoban.manage.api.service.ValidationCodeApiService" ref="validationCodeApiServiceImpl"/>
<dubbo:reference interface="com.gic.enterprise.api.service.EnterpriseUseForbidService" id="enterpriseUseForbidService"/>
<dubbo:reference interface="com.gic.enterprise.api.service.EnterpriseUseForbidService" id="enterpriseUseForbidService"/>
<dubbo:service interface="com.gic.haoban.manage.api.service.role.HaobanMenuApiService" ref="haobanMenuApiServiceImpl"/>
<dubbo:service interface="com.gic.haoban.manage.api.service.role.HaobanRoleApiService" ref="haobanRoleApiServiceImpl"/>
<dubbo:reference interface="com.gic.enterprise.api.service.DepartmentService" id="gicDepartmentService"/>
<dubbo:reference interface="com.gic.wechat.api.service.qywx.QywxDepartmentApiService"
id="qywxDepartmentApiService"/>
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gic.haoban.manage.service.dao.mapper.role.TabHaobanMenuMapper">
<resultMap type="com.gic.haoban.manage.service.entity.role.TabHaobanMenu" id="TabHaobanMenuMap">
<result property="menuCode" column="menu_code" jdbcType="VARCHAR"/>
<result property="menuName" column="menu_name" jdbcType="VARCHAR"/>
<result property="menuUrl" column="menu_url" jdbcType="VARCHAR"/>
<result property="iconUrl" column="icon_url" jdbcType="VARCHAR"/>
<result property="menuType" column="menu_type" jdbcType="INTEGER"/>
<result property="menuSort" column="menu_sort" jdbcType="INTEGER"/>
<result property="parentCode" column="parent_code" jdbcType="VARCHAR"/>
<result property="routePath" column="route_path" jdbcType="VARCHAR"/>
<result property="statusFlag" column="status_flag" jdbcType="INTEGER"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
</resultMap>
<sql id="Base_Column_List">
menu_code, menu_name, menu_url, icon_url, menu_type, menu_sort, parent_code, status_flag,route_path, create_time, update_time
</sql>
<!--查询单个-->
<select id="queryById" resultMap="TabHaobanMenuMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_menu
where menu_code = #{menuCode}
</select>
<!--新增所有列-->
<insert id="insert" keyProperty="menuId" useGeneratedKeys="true">
insert into tab_haoban_menu(menu_code, menu_name, menu_url, icon_url, menu_type, menu_sort, parent_code, status_flag,route_path, create_time, update_time)
values (#{menuCode}, #{menuName}, #{menuUrl}, #{iconUrl}, #{menuType}, #{menuSort}, #{parentCode}, #{statusFlag},#{routePath}, #{createTime}, #{updateTime})
</insert>
<insert id="insertBatch" keyProperty="menuId" useGeneratedKeys="true">
insert into tab_haoban_menu(menu_code, menu_name, menu_url, icon_url, menu_type,
menu_sort, parent_code, status_flag,route_path, create_time, update_time)
values
<foreach collection="entities" item="entity" separator=",">
(#{entity.menuCode}, #{entity.menuName}, #{entity.menuUrl}, #{entity.iconUrl},
#{entity.menuType}, #{entity.menuSort}, #{entity.parentCode},
#{entity.statusFlag},#{entity.routePath},
#{entity.createTime}, #{entity.updateTime})
</foreach>
</insert>
<!--通过主键修改数据-->
<update id="update">
update tab_haoban_menu
<set>
<if test="menuName != null and menuName != ''">
menu_name = #{menuName},
</if>
<if test="menuUrl != null and menuUrl != ''">
menu_url = #{menuUrl},
</if>
<if test="iconUrl != null and iconUrl != ''">
icon_url = #{iconUrl},
</if>
<if test="menuType != null">
menu_type = #{menuType},
</if>
<if test="menuSort != null">
menu_sort = #{menuSort},
</if>
<if test="parentCode != null and parentCode != ''">
parent_code = #{parentCode},
</if>
<if test="statusFlag != null">
status_flag = #{statusFlag},
</if>
<if test="routePath != null">
route_path = #{routePath},
</if>
<if test="createTime != null">
create_time = #{createTime},
</if>
<if test="updateTime != null">
update_time = #{updateTime},
</if>
</set>
where menu_code = #{menuCode}
</update>
<select id="getAllMenuList" resultMap="TabHaobanMenuMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_menu
where status_flag = 1 order by menu_sort
</select>
<select id="getPidMenuList" resultMap="TabHaobanMenuMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_menu
where status_flag = 1 and parent_code = 'workbench' order by menu_sort
</select>
<select id="getNotPidMenuList" resultMap="TabHaobanMenuMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_menu
where status_flag = 1 and parent_code != 'workbench' order by menu_sort
</select>
<select id="getHaobanPidMenuList" resultMap="TabHaobanMenuMap">
select
c.*
from tab_haoban_role_menu a
left join tab_haoban_role b on a.role_id = b.role_id
left join tab_haoban_menu c on c.menu_code = a.menu_code
where
a.clerk_type = #{clerkType}
and a.wx_enterprise_id = #{wxEnterpriseId}
and c.status_flag = 1
and c.parent_code = 'workbench'
order by c.menu_sort
</select>
<select id="getHaobanNotPidMenuList" resultMap="TabHaobanMenuMap">
select
c.*
from tab_haoban_role_menu a
left join tab_haoban_role b on a.role_id = b.role_id
left join tab_haoban_menu c on c.menu_code = a.menu_code
where
a.clerk_type = #{clerkType}
and a.wx_enterprise_id = #{wxEnterpriseId}
and c.status_flag = 1
and c.parent_code != 'workbench'
order by c.menu_sort
</select>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gic.haoban.manage.service.dao.mapper.role.TabHaobanRoleMapper">
<resultMap type="com.gic.haoban.manage.service.entity.role.TabHaobanRole" id="TabHaobanRoleMap">
<result property="roleId" column="role_id" jdbcType="INTEGER"/>
<result property="roleName" column="role_name" jdbcType="VARCHAR"/>
<result property="clerkType" column="clerk_type" jdbcType="INTEGER"/>
<result property="wxEnterpriseId" column="wx_enterprise_id" jdbcType="VARCHAR"/>
<result property="creatorId" column="creator_id" jdbcType="VARCHAR"/>
<result property="creatorName" column="creator_name" jdbcType="VARCHAR"/>
<result property="modifierId" column="modifier_id" jdbcType="VARCHAR"/>
<result property="modifierName" column="modifier_name" jdbcType="VARCHAR"/>
<result property="statusFlag" column="status_flag" jdbcType="INTEGER"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
</resultMap>
<sql id="Base_Column_List">
role_id, role_name, clerk_type, wx_enterprise_id, creator_id, creator_name, modifier_id, modifier_name, status_flag, create_time, update_time
</sql>
<!--查询单个-->
<select id="queryById" resultMap="TabHaobanRoleMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_role
where role_id = #{roleId}
</select>
<!--新增所有列-->
<insert id="insert" keyProperty="roleId" useGeneratedKeys="true">
insert into tab_haoban_role(role_id, role_name, clerk_type, wx_enterprise_id, creator_id, creator_name, modifier_id, modifier_name, status_flag, create_time, update_time)
values (#{roleId}, #{roleName}, #{clerkType}, #{wxEnterpriseId}, #{creatorId}, #{creatorName}, #{modifierId}, #{modifierName}, #{statusFlag}, #{createTime}, #{updateTime})
</insert>
<insert id="insertBatch" keyProperty="roleId" useGeneratedKeys="true">
insert into tab_haoban_role(role_id, role_name, clerk_type, wx_enterprise_id,
creator_id, creator_name, modifier_id, modifier_name, status_flag, create_time, update_time)
values
<foreach collection="entities" item="entity" separator=",">
(#{entity.roleId}, #{entity.roleName}, #{entity.clerkType},
#{entity.wxEnterpriseId}, #{entity.creatorId}, #{entity.creatorName},
#{entity.modifierId}, #{entity.modifierName}, #{entity.statusFlag}, #{entity.createTime},
#{entity.updateTime})
</foreach>
</insert>
<!--通过主键修改数据-->
<update id="update">
update tab_haoban_role
<set>
<if test="roleName != null and roleName != ''">
role_name = #{roleName},
</if>
<if test="clerkType != null">
clerk_type = #{clerkType},
</if>
<if test="wxEnterpriseId != null and wxEnterpriseId != ''">
wx_enterprise_id = #{wxEnterpriseId},
</if>
<if test="creatorId != null and creatorId != ''">
creator_id = #{creatorId},
</if>
<if test="creatorName != null and creatorName != ''">
creator_name = #{creatorName},
</if>
<if test="modifierId != null and modifierId != ''">
modifier_id = #{modifierId},
</if>
<if test="modifierName != null and modifierName != ''">
modifier_name = #{modifierName},
</if>
<if test="statusFlag != null">
status_flag = #{statusFlag},
</if>
<if test="createTime != null">
create_time = #{createTime},
</if>
<if test="updateTime != null">
update_time = #{updateTime},
</if>
</set>
where role_id = #{roleId}
</update>
<delete id="deleteByRoleId">
delete from tab_haoban_role where role_id = #{roleId}
</delete>
<select id="getByWxEnterpriseIdAndClerkType" resultMap="TabHaobanRoleMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_role
where wx_enterprise_id = #{wxEnterpriseId}
<if test="clerkType != null">
and clerk_type = #{clerkType}
</if>
</select>
<select id="getCountByWxEnterpriseId" resultType="java.lang.Integer">
select
count(*)
from tab_haoban_role
where wx_enterprise_id = #{wxEnterpriseId}
</select>
<delete id="deleteByWxEnterpriseId">
delete from tab_haoban_role where wx_enterprise_id = #{wxEnterpriseId}
</delete>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gic.haoban.manage.service.dao.mapper.role.TabHaobanRoleMenuMapper">
<resultMap type="com.gic.haoban.manage.service.entity.role.TabHaobanRoleMenu" id="TabHaobanRoleMenuMap">
<result property="roleMenuId" column="role_menu_id" jdbcType="INTEGER"/>
<result property="roleId" column="role_id" jdbcType="INTEGER"/>
<result property="wxEnterpriseId" column="wx_enterprise_id" jdbcType="VARCHAR"/>
<result property="menuCode" column="menu_code" jdbcType="VARCHAR"/>
<result property="statusFlag" column="status_flag" jdbcType="INTEGER"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
</resultMap>
<sql id="Base_Column_List">
role_menu_id, role_id, wx_enterprise_id ,menu_code, status_flag, create_time, update_time
</sql>
<!--查询单个-->
<select id="queryById" resultMap="TabHaobanRoleMenuMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_role_menu
where role_menu_id = #{roleMenuId}
</select>
<!--新增所有列-->
<insert id="insert" keyProperty="roleMenuId" useGeneratedKeys="true">
insert into tab_haoban_role_menu(role_menu_id, role_id, wx_enterprise_id,menu_code, status_flag, create_time, update_time)
values ( #{roleMenuId}, #{roleId}, #{wxEnterpriseId},#{menuCode}, #{statusFlag}, #{createTime}, #{updateTime})
</insert>
<insert id="insertBatch" keyProperty="roleMenuId" useGeneratedKeys="true">
insert into tab_haoban_role_menu( role_menu_id, role_id,wx_enterprise_id,menu_code, status_flag, create_time, update_time)
values
<foreach collection="entities" item="entity" separator=",">
(#{entity.roleMenuId},#{entity.roleId}, #{entity.wxEnterpriseId},#{entity.menuCode}, #{entity.statusFlag}, #{entity.createTime}, #{entity.updateTime})
</foreach>
</insert>
<!--通过主键修改数据-->
<update id="update">
update tab_haoban_role_menu
<set>
<if test="roleId != null">
role_id = #{roleId},
</if>
<if test="wxEnterpriseId != null and wxEnterpriseId != ''">
wx_enterprise_id = #{wxEnterpriseId},
</if>
<if test="menuCode != null and menuCode != ''">
menu_code = #{menuCode},
</if>
<if test="statusFlag != null">
status_flag = #{statusFlag},
</if>
<if test="createTime != null">
create_time = #{createTime},
</if>
<if test="updateTime != null">
update_time = #{updateTime},
</if>
</set>
where role_menu_id = #{roleMenuId}
</update>
<!--通过主键删除-->
<delete id="deleteById">
delete from tab_haoban_role_menu where role_menu_id = #{roleMenuId}
</delete>
<delete id="deleteByRoleId">
delete from tab_haoban_role_menu where role_id = #{roleId}
</delete>
<select id="getByWxEnterpriseIdAndRoleId" resultType="java.lang.String">
select
menu_code
from tab_haoban_role_menu
where wx_enterprise_id = #{wxEnterpriseId} and role_id = #{roleId}
</select>
<delete id="deleteByWxEnterpriseId">
delete from tab_haoban_role_menu where wx_enterprise_id = #{wxEnterpriseId}
</delete>
</mapper>
package com.gic.haoban.manage.web.controller;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO;
import com.gic.haoban.common.utils.AuthWebRequestUtil;
import com.gic.haoban.manage.api.dto.qdto.role.HaobanRoleQDTO;
import com.gic.haoban.manage.api.service.role.HaobanMenuApiService;
import com.gic.haoban.manage.api.service.role.HaobanRoleApiService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
/**
* @author mozhu
* @date 2022/9/7 3:03 下午
*/
@RestController
@RequestMapping("/role")
public class HaobanRoleController extends WebBaseController{
private static final Logger logger = LoggerFactory.getLogger(HaobanRoleController.class);
@Autowired
private HaobanRoleApiService haobanRoleApiService;
@Autowired
private HaobanMenuApiService haobanMenuApiService;
/**
* 新增
* @param haobanRoleQDTO
* @return
*/
@RequestMapping(value = "/add",method = RequestMethod.POST)
private RestResponse add(@RequestBody HaobanRoleQDTO haobanRoleQDTO) {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
haobanRoleApiService.add(haobanRoleQDTO,login);
return RestResponse.successResult();
}
/**
* 修改
* @param haobanRoleQDTO
* @return
*/
@RequestMapping(value = "/edit",method = RequestMethod.POST)
private RestResponse edit(@RequestBody HaobanRoleQDTO haobanRoleQDTO) {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
return RestResponse.successResult(haobanRoleApiService.edit(haobanRoleQDTO,login));
}
/**
* 获取菜单
* @param clerkType
* @return
*/
@RequestMapping(value = "/getHaobanMenuTreeList",method = RequestMethod.GET)
private RestResponse getHaobanMenuTreeList(Integer clerkType) {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
ServiceResponse serviceResponse = haobanMenuApiService.getHaobanMenuTreeList(login.getWxEnterpriseId(), clerkType);
return RestResponse.successResult(serviceResponse.getResult());
}
/**
* 根据角色查询菜单
* @param roleId
* @return
*/
@RequestMapping(value = "/queryMenuByRoleId",method = RequestMethod.GET)
private RestResponse queryMenuByRoleId(Long roleId) {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
ServiceResponse serviceResponse = haobanRoleApiService.getByWxEnterpriseIdAndRoleId(login.getWxEnterpriseId(), roleId);
return RestResponse.successResult(serviceResponse.getResult());
}
}
package com.gic.haoban.manage.web.controller.logrecord;
import com.alibaba.fastjson.JSON;
import com.gic.api.base.commons.BasePageInfo;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.dsmongo.api.dto.DocumentResultDTO;
import com.gic.dsmongo.api.dto.QueryDocDTO;
import com.gic.dsmongo.api.service.MongoOperationService;
import com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO;
import com.gic.haoban.common.utils.AuthWebRequestUtil;
import com.gic.haoban.manage.web.qo.logrecord.LogRecordQo;
import com.gic.haoban.manage.web.vo.logrecord.LogRecordTypeVO;
import com.gic.log.record.bean.GicLogRecordBean;
import com.gic.log.record.bean.OptRecordLog;
import com.gic.log.record.enums.OrderEnum;
import com.gic.log.record.service.LogSearchApiService;
import com.gic.log.record.util.GicLogRecordCategoryEnum;
import com.gic.log.record.util.GicLogRecordOptTypeEnum;
import com.gic.log.record.util.LogCommenUtil;
import com.gic.log.record.util.LogQueryWrapper;
import com.mongodb.BasicDBObject;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.bson.conversions.Bson;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
@Controller
@RequestMapping("/log-record")
......
......@@ -120,6 +120,8 @@
<dubbo:reference id="logSearchApiService" interface="com.gic.log.record.service.LogSearchApiService" timeout="10000" retries="0" check="false" />
<dubbo:reference interface="com.gic.haoban.manage.api.service.fee.HaobanQywxFeeApiService" id="haobanQywxFeeApiService"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.ValidationCodeApiService" id="validationCodeApiService"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.role.HaobanRoleApiService" id="haobanRoleApiService"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.role.HaobanMenuApiService" id="haobanMenuApiService"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.out.SecretSettingApiService" id="secretSettingApiService"/>
</beans>
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