Merge branch 'dev/feat/partner1.1_20230727' into hxd/feat/interviewSelect

This commit is contained in:
xiaodong.hu
2023-07-25 17:04:43 +08:00
25 changed files with 516 additions and 51 deletions

View File

@@ -23,4 +23,9 @@ public class SysMenuDAO {
return sysMenuMapper.selectMenuAll(parentIds, platformType); return sysMenuMapper.selectMenuAll(parentIds, platformType);
} }
public Long addMenu(SysMenuDO param){
sysMenuMapper.insertSelective(param);
return param.getId();
}
} }

View File

@@ -3,6 +3,8 @@ package com.cool.store.dao;
import com.cool.store.entity.SysRoleDO; import com.cool.store.entity.SysRoleDO;
import com.cool.store.enums.DataSourceEnum; import com.cool.store.enums.DataSourceEnum;
import com.cool.store.mapper.SysRoleMapper; import com.cool.store.mapper.SysRoleMapper;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
@@ -50,4 +52,16 @@ public class SysRoleDAO {
} }
return sysRoleMapper.getRoleByName(roleName, dataSource.getCode()); return sysRoleMapper.getRoleByName(roleName, dataSource.getCode());
} }
public Page<SysRoleDO> getRolePage(Integer pageNum, Integer pageSize){
PageHelper.startPage(pageNum, pageSize);
return sysRoleMapper.getRolePage();
}
public SysRoleDO getRoleDetail(String roleId){
if(StringUtils.isBlank(roleId)){
return null;
}
return sysRoleMapper.getRoleDetail(roleId);
}
} }

View File

@@ -2,11 +2,13 @@ package com.cool.store.dao;
import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils; import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils;
import com.cool.store.entity.SysRoleMenuDO; import com.cool.store.entity.SysRoleMenuDO;
import com.cool.store.enums.PlatFormTypeEnum;
import com.cool.store.mapper.SysRoleMenuMapper; import com.cool.store.mapper.SysRoleMenuMapper;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
@@ -33,4 +35,18 @@ public class SysRoleMenuDAO {
return sysRoleMenuMapper.getRoleMenuByRoleId(roleId, platform); return sysRoleMenuMapper.getRoleMenuByRoleId(roleId, platform);
} }
public Integer updateRoleAuth(String roleId, List<Long> menuIds){
//先删后增
sysRoleMenuMapper.deleteRoleAuth(roleId, PlatFormTypeEnum.PC.getCode());
List<SysRoleMenuDO> insertList = new ArrayList<>();
for (Long menuId : menuIds) {
SysRoleMenuDO insert = new SysRoleMenuDO();
insert.setMenuId(menuId);
insert.setRoleId(roleId);
insert.setPlatform(PlatFormTypeEnum.PC.getCode());
insertList.add(insert);
}
return sysRoleMenuMapper.batchInsert(insertList);
}
} }

View File

@@ -22,6 +22,8 @@ public interface HyInspectionMapper {
HyInspectionDO selectByPrimaryKey(Long id); HyInspectionDO selectByPrimaryKey(Long id);
HyInspectionDO selectByInterviewPlanId(Long interviewPlanId);
int updateByPrimaryKeySelective(HyInspectionDO record); int updateByPrimaryKeySelective(HyInspectionDO record);
int updateByPrimaryKey(HyInspectionDO record); int updateByPrimaryKey(HyInspectionDO record);

View File

@@ -1,6 +1,7 @@
package com.cool.store.mapper; package com.cool.store.mapper;
import com.cool.store.entity.SysRoleDO; import com.cool.store.entity.SysRoleDO;
import com.github.pagehelper.Page;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@@ -40,4 +41,17 @@ public interface SysRoleMapper {
* @return * @return
*/ */
SysRoleDO getRoleByName(@Param("roleName") String roleName, @Param("roleType")Integer roleType); SysRoleDO getRoleByName(@Param("roleName") String roleName, @Param("roleType")Integer roleType);
/**
* 角色分页
* @return
*/
Page<SysRoleDO> getRolePage();
/**
* 获取角色详情
* @param roleId
* @return
*/
SysRoleDO getRoleDetail(@Param("roleId") String roleId);
} }

View File

@@ -16,7 +16,7 @@ public interface SysRoleMenuMapper {
* 会对传进来的字段做判空处理如果字段为空则使用数据库默认字段或者null * 会对传进来的字段做判空处理如果字段为空则使用数据库默认字段或者null
* dateTime:2023-05-19 03:01 * dateTime:2023-05-19 03:01
*/ */
int insertSelective(@Param("record") SysRoleMenuDO record); int batchInsert(@Param("recordList") List<SysRoleMenuDO> recordList);
/** /**
* *
@@ -32,4 +32,11 @@ public interface SysRoleMenuMapper {
* @return * @return
*/ */
List<SysRoleMenuDO> getRoleMenuByRoleId(@Param("roleId")String roleId, @Param("platform")String platform); List<SysRoleMenuDO> getRoleMenuByRoleId(@Param("roleId")String roleId, @Param("platform")String platform);
/**
* 删除角色权限
* @param roleId
* @return
*/
Integer deleteRoleAuth(@Param("roleId")String roleId, @Param("platform")String platform);
} }

View File

@@ -28,7 +28,18 @@
<include refid="Base_Column_List" /> <include refid="Base_Column_List" />
from hy_inspection from hy_inspection
where id = #{id} where id = #{id}
and deleted = 0
</select> </select>
<!-- 使用 interviewPlanId 查询面试稽核信息 -->
<select id="selectByInterviewPlanId" resultType="com.cool.store.entity.HyInspectionDO">
select
<include refid="Base_Column_List" />
from hy_inspection
where interview_plan_id = #{interviewPlanId}
and deleted = 0
</select>
<select id="interviewInspectionGetList" resultType="com.cool.store.vo.interview.InterviewInspectionVO"> <select id="interviewInspectionGetList" resultType="com.cool.store.vo.interview.InterviewInspectionVO">
SELECT SELECT
eu.`name` AS interviewerName, eu.`name` AS interviewerName,

View File

@@ -579,7 +579,7 @@
<select id="getFollowCountList" resultType="com.cool.store.dto.partner.LineCountDTO"> <select id="getFollowCountList" resultType="com.cool.store.dto.partner.LineCountDTO">
SELECT partner_id, IFNULL(COUNT(1), 0) AS followCount SELECT partner_id, IFNULL(COUNT(1), 0) AS followCount
FROM hy_partner_line_info FROM hy_partner_line_info
where (deleted = 1 or (deleted=0 and line_status=0 and close_time is not null and investment_manager is not null)) where (deleted = 1 or (deleted=0 and line_status in (0,3) and close_time is not null )) and investment_manager is not null
<if test="partnerIdList!=null and partnerIdList.size>0"> <if test="partnerIdList!=null and partnerIdList.size>0">
<foreach collection="partnerIdList" item="partnerId" open="and partner_id in (" close=")" separator=","> <foreach collection="partnerIdList" item="partnerId" open="and partner_id in (" close=")" separator=",">
#{partnerId} #{partnerId}
@@ -605,7 +605,7 @@
<select id="getLineFollowHistoryList" resultMap="BaseResultMap"> <select id="getLineFollowHistoryList" resultMap="BaseResultMap">
SELECT <include refid="Base_Column_List"></include> SELECT <include refid="Base_Column_List"></include>
FROM hy_partner_line_info FROM hy_partner_line_info
where (deleted = 1 or (deleted=0 and line_status in (0,3) and close_time is not null and investment_manager is not null)) where (deleted = 1 or (deleted=0 and line_status in (0,3) and close_time is not null )) and investment_manager is not null
and partner_id = #{partner_id} and partner_id = #{partner_id}
order by id desc order by id desc
</select> </select>

View File

@@ -28,7 +28,7 @@
id, parent_id, code, name, alias, path, perms, source, sort, category, action, remark, id, parent_id, code, name, alias, path, perms, source, sort, category, action, remark,
platform, is_deleted, type, target, component, icon, menu_type, env, common_functions_icon platform, is_deleted, type, target, component, icon, menu_type, env, common_functions_icon
</sql> </sql>
<insert id="insertSelective" keyColumn="id" keyProperty="record.id" useGeneratedKeys="true"> <insert id="insertSelective" keyColumn="id" keyProperty="id" useGeneratedKeys="true">
insert into sys_menu insert into sys_menu
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="parentId != null"> <if test="parentId != null">

View File

@@ -138,4 +138,20 @@
where where
role_name = #{roleName} and role_type = #{roleType} and deleted = 0 limit 1 role_name = #{roleName} and role_type = #{roleType} and deleted = 0 limit 1
</select> </select>
<select id="getRolePage" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from
sys_role
</select>
<select id="getRoleDetail" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from
sys_role
where
role_id = #{roleId} and deleted = 0
</select>
</mapper> </mapper>

View File

@@ -10,30 +10,32 @@
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id, menu_id, role_id, platform id, menu_id, role_id, platform
</sql> </sql>
<insert id="insertSelective" keyColumn="id" keyProperty="record.id" useGeneratedKeys="true"> <insert id="batchInsert">
insert into sys_role_menu <foreach collection="recordList" item="record" separator=";">
<trim prefix="(" suffix=")" suffixOverrides=","> insert into sys_role_menu
<if test="record.menuId != null"> <trim prefix="(" suffix=")" suffixOverrides=",">
menu_id, <if test="record.menuId != null">
</if> menu_id,
<if test="record.roleId != null"> </if>
role_id, <if test="record.roleId != null">
</if> role_id,
<if test="record.platform != null"> </if>
platform, <if test="record.platform != null">
</if> platform,
</trim> </if>
<trim prefix="values (" suffix=")" suffixOverrides=","> </trim>
<if test="record.menuId != null"> <trim prefix="values (" suffix=")" suffixOverrides=",">
#{record.menuId}, <if test="record.menuId != null">
</if> #{record.menuId},
<if test="record.roleId != null"> </if>
#{record.roleId}, <if test="record.roleId != null">
</if> #{record.roleId},
<if test="record.platform != null"> </if>
#{record.platform}, <if test="record.platform != null">
</if> #{record.platform},
</trim> </if>
</trim>
</foreach>
</insert> </insert>
<update id="updateByPrimaryKeySelective"> <update id="updateByPrimaryKeySelective">
update sys_role_menu update sys_role_menu
@@ -59,4 +61,8 @@
where where
role_id=#{roleId} and platform=#{platform} role_id=#{roleId} and platform=#{platform}
</select> </select>
<delete id="deleteRoleAuth">
delete from sys_role_menu where role_id=#{roleId} and platform=#{platform}
</delete>
</mapper> </mapper>

View File

@@ -0,0 +1,54 @@
package com.cool.store.dto.menu;
import com.cool.store.entity.SysMenuDO;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.enums.MenuTypeEnum;
import com.cool.store.exception.ServiceException;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Data
public class AddMenuDTO {
@NotBlank(message = "名称不能为空")
private String name;
@JsonProperty("parent_id")
@NotNull(message = "父Id不能为空")
private Long parentId;
@NotBlank(message = "地址不能为空")
private String path;
private String component;
private String target;
private String icon;
private String env;
public static SysMenuDO convertDO(AddMenuDTO param, MenuTypeEnum menuTypeEnum){
SysMenuDO sysMenuDO = new SysMenuDO();
sysMenuDO.setParentId(param.getParentId());
sysMenuDO.setName(param.getName());
sysMenuDO.setCode(param.getName());
sysMenuDO.setPath(param.getPath());
sysMenuDO.setType(null);
sysMenuDO.setSource("menu");
sysMenuDO.setAction(1);
sysMenuDO.setPlatform("PC");
sysMenuDO.setComponent(param.getComponent());
sysMenuDO.setTarget(param.getTarget());
sysMenuDO.setIcon(param.getIcon());
sysMenuDO.setMenuType(menuTypeEnum.getCode());
return sysMenuDO;
}
}

View File

@@ -0,0 +1,26 @@
package com.cool.store.dto.role;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author zhangchenbiao
* @FileName: RoleUpdateDTO
* @Description:
* @date 2023-07-25 15:03
*/
@Data
public class RoleUpdateDTO {
@ApiModelProperty("角色id")
private String roleId;
@ApiModelProperty("角色名称")
private String roleName;
@ApiModelProperty("菜单ids")
private List<Long> menuIds;
}

View File

@@ -0,0 +1,42 @@
package com.cool.store.vo.role;
import com.cool.store.entity.SysRoleDO;
import com.cool.store.entity.SysRoleMenuDO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.collections4.ListUtils;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* @author zhangchenbiao
* @FileName: RoleAuthInfoVO
* @Description:
* @date 2023-07-25 15:11
*/
@Data
public class RoleAuthInfoVO {
@ApiModelProperty("角色id")
private String roleId;
@ApiModelProperty("角色名称")
private String roleName;
@ApiModelProperty("菜单ids")
private List<Long> menuIds;
public static RoleAuthInfoVO convertVO(SysRoleDO role, List<SysRoleMenuDO> roleMenuList){
if(Objects.isNull(role)){
return null;
}
RoleAuthInfoVO result = new RoleAuthInfoVO();
result.setRoleId(role.getRoleId());
result.setRoleName(role.getRoleName());
result.setMenuIds(ListUtils.emptyIfNull(roleMenuList).stream().map(SysRoleMenuDO::getMenuId).distinct().collect(Collectors.toList()));
return result;
}
}

View File

@@ -0,0 +1,38 @@
package com.cool.store.vo.role;
import com.cool.store.entity.SysRoleDO;
import com.google.common.collect.Lists;
import lombok.Data;
import org.apache.commons.collections4.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
/**
* @author zhangchenbiao
* @FileName: RolePageVO
* @Description:
* @date 2023-07-25 15:10
*/
@Data
public class RolePageVO {
private String roleId;
private String roleName;
public static List<RolePageVO> convertList(List<SysRoleDO> roleList){
if(CollectionUtils.isEmpty(roleList)){
return Lists.newArrayList();
}
List<RolePageVO> resultList = new ArrayList<>();
for (SysRoleDO sysRole : roleList) {
RolePageVO role = new RolePageVO();
role.setRoleId(sysRole.getRoleId());
role.setRoleName(sysRole.getRoleName());
resultList.add(role);
}
return resultList;
}
}

View File

@@ -1,5 +1,7 @@
package com.cool.store.service; package com.cool.store.service;
import com.cool.store.dto.menu.AddMenuDTO;
import com.cool.store.enums.MenuTypeEnum;
import com.cool.store.vo.menu.MenuTreeVO; import com.cool.store.vo.menu.MenuTreeVO;
import java.util.List; import java.util.List;
@@ -19,4 +21,18 @@ public interface MenuService {
* @return * @return
*/ */
List<MenuTreeVO> getUserMenus(String userId, String roleId); List<MenuTreeVO> getUserMenus(String userId, String roleId);
/**
* 获取所有的菜单
* @return
*/
List<MenuTreeVO> getAllMenus();
/**
* 新增菜单
* @param param
* @param menuType
* @return
*/
Long addMenu(AddMenuDTO param, MenuTypeEnum menuType);
} }

View File

@@ -0,0 +1,39 @@
package com.cool.store.service;
import com.cool.store.dto.role.RoleUpdateDTO;
import com.cool.store.vo.role.RoleAuthInfoVO;
import com.cool.store.vo.role.RolePageVO;
import com.github.pagehelper.PageInfo;
/**
* @author zhangchenbiao
* @FileName: RoleService
* @Description:角色service
* @date 2023-07-25 15:05
*/
public interface RoleService {
/**
* 获取角色分页
* @param pageNum
* @param pageSize
* @return
*/
PageInfo<RolePageVO> getRolePage(Integer pageNum, Integer pageSize);
/**
* 获取角色权限详情
* @param roleId
* @return
*/
RoleAuthInfoVO getRoleAuthDetail(String roleId);
/**
* 更新角色权限
* @param userId
* @param param
* @return
*/
Integer updateRoleAuth(String userId, RoleUpdateDTO param);
}

View File

@@ -217,21 +217,21 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
hyPartnerUserInfoDO.setWantShopArea(request.getWantShopArea()); hyPartnerUserInfoDO.setWantShopArea(request.getWantShopArea());
hyPartnerUserInfoDO.setAcceptAdjustType(request.getAcceptAdjustType()); hyPartnerUserInfoDO.setAcceptAdjustType(request.getAcceptAdjustType());
hyPartnerUserInfoDAO.updateByPrimaryKeySelective(hyPartnerUserInfoDO); hyPartnerUserInfoDAO.updateByPrimaryKeySelective(hyPartnerUserInfoDO);
// 更新线索状态和招商经理 }
//是公海线索 才会修改线索状态招商经理 // 更新线索状态招商经理
if (LineStatusEnum.PUBLIC_SEAS.getCode().equals(hyPartnerLineInfoDO.getLineStatus())){ //是公海线索 才会修改线索状态与招商经理
Boolean flag = hyPartnerLineInfoService.assignFollowUser(request.getPartnerId(), request.getWantShopArea(), request.getAcceptAdjustType()); if (LineStatusEnum.PUBLIC_SEAS.getCode().equals(hyPartnerLineInfoDO.getLineStatus())){
hyPartnerLineInfoDO.setLineStatus(flag ? LineStatusEnum.PRIVATE_SEAS.getCode() : LineStatusEnum.PUBLIC_SEAS.getCode()); Boolean flag = hyPartnerLineInfoService.assignFollowUser(request.getPartnerId(), request.getWantShopArea(), request.getAcceptAdjustType());
if (flag){ hyPartnerLineInfoDO.setLineStatus(flag ? LineStatusEnum.PRIVATE_SEAS.getCode() : LineStatusEnum.PUBLIC_SEAS.getCode());
String investmentManager = hyPartnerLineInfoService.getAssignFollowUser(request.getPartnerId(), "intent"); if (flag){
hyPartnerLineInfoDO.setInvestmentManager(investmentManager); String investmentManager = hyPartnerLineInfoService.getAssignFollowUser(request.getPartnerId(), "intent");
userIdList.add(investmentManager); hyPartnerLineInfoDO.setInvestmentManager(investmentManager);
} userIdList.add(investmentManager);
hyPartnerLineInfoDAO.updateByPrimaryKeySelective(hyPartnerLineInfoDO); }
hyPartnerLineInfoDAO.updateByPrimaryKeySelective(hyPartnerLineInfoDO);
if(flag){//分配招商经理成功才发送分配招商经理的飞书工作通知 if(flag){//分配招商经理成功才发送分配招商经理的飞书工作通知
noticeService.sendFeiShuNotice(FeiShuNoticeMsgEnum.ALLOCATION_INVESTMENT_MANAGER,userIdList,DateUtil.formatDateTime(new Date()),hyPartnerUserInfoDO.getUsername(),hyPartnerUserInfoDO.getMobile()); noticeService.sendFeiShuNotice(FeiShuNoticeMsgEnum.ALLOCATION_INVESTMENT_MANAGER,userIdList,DateUtil.formatDateTime(new Date()),hyPartnerUserInfoDO.getUsername(),hyPartnerUserInfoDO.getMobile());
}
} }
} }
if(!isUpdateIntentInfo){ if(!isUpdateIntentInfo){

View File

@@ -315,17 +315,10 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
hyPartnerLineInfoDAO.updateByPrimaryKeySelective(hyPartnerLineInfoDO); hyPartnerLineInfoDAO.updateByPrimaryKeySelective(hyPartnerLineInfoDO);
List<HyPartnerLineInfoDO> lineFollowHistoryList = hyPartnerLineInfoDAO.getLineFollowHistoryList(hyPartnerLineInfo.getPartnerId());
HyPartnerLineInfoDO newHyPartnerLineInfoDO = new HyPartnerLineInfoDO(); HyPartnerLineInfoDO newHyPartnerLineInfoDO = new HyPartnerLineInfoDO();
newHyPartnerLineInfoDO.setPartnerId(hyPartnerLineInfo.getPartnerId()); newHyPartnerLineInfoDO.setPartnerId(hyPartnerLineInfo.getPartnerId());
newHyPartnerLineInfoDO.setWorkflowStage(WorkflowStageEnum.INTENT.getCode()); newHyPartnerLineInfoDO.setWorkflowStage(WorkflowStageEnum.INTENT.getCode());
newHyPartnerLineInfoDO.setWorkflowStatus(WorkflowStatusEnum.INTENT_0.getCode()); newHyPartnerLineInfoDO.setWorkflowStatus(WorkflowStatusEnum.INTENT_0.getCode());
log.info("lineFollowHistoryList_1:{}",JSONObject.toJSONString(lineFollowHistoryList));
if (CollectionUtils.isNotEmpty(lineFollowHistoryList)){
String investmentManager = lineFollowHistoryList.get(0).getInvestmentManager();
newHyPartnerLineInfoDO.setInvestmentManager(investmentManager);
status = LineStatusEnum.PRIVATE_SEAS.getCode();
}
newHyPartnerLineInfoDO.setLineStatus(status); newHyPartnerLineInfoDO.setLineStatus(status);
hyPartnerLineInfoDAO.insertSelective(newHyPartnerLineInfoDO); hyPartnerLineInfoDAO.insertSelective(newHyPartnerLineInfoDO);
@@ -577,6 +570,12 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
@Override @Override
public Boolean assignFollowUser(String partnerId, String wantShopArea, Integer acceptAdjustType) { public Boolean assignFollowUser(String partnerId, String wantShopArea, Integer acceptAdjustType) {
log.info("assignFollowUser partnerId:{}wantShopArea{}acceptAdjustType{}",partnerId,wantShopArea,acceptAdjustType); log.info("assignFollowUser partnerId:{}wantShopArea{}acceptAdjustType{}",partnerId,wantShopArea,acceptAdjustType);
List<HyPartnerLineInfoDO> lineFollowHistoryList = hyPartnerLineInfoDAO.getLineFollowHistoryList(partnerId);
//如果跟进次数大于1 直接使用上一次的招商经理
if (CollectionUtils.isNotEmpty(lineFollowHistoryList)){
return Boolean.TRUE;
}
//当前加盟商线索 //当前加盟商线索
HyPartnerLineInfoDO HyPartnerLineInfo = hyPartnerLineInfoDAO.getByPartnerId(partnerId); HyPartnerLineInfoDO HyPartnerLineInfo = hyPartnerLineInfoDAO.getByPartnerId(partnerId);
//如果意向区域没有绑定战区 不分配招商经理 //如果意向区域没有绑定战区 不分配招商经理

View File

@@ -3,6 +3,7 @@ package com.cool.store.service.impl;
import com.cool.store.constants.CommonConstants; import com.cool.store.constants.CommonConstants;
import com.cool.store.dao.SysMenuDAO; import com.cool.store.dao.SysMenuDAO;
import com.cool.store.dao.SysRoleMenuDAO; import com.cool.store.dao.SysRoleMenuDAO;
import com.cool.store.dto.menu.AddMenuDTO;
import com.cool.store.entity.SysMenuDO; import com.cool.store.entity.SysMenuDO;
import com.cool.store.entity.SysRoleMenuDO; import com.cool.store.entity.SysRoleMenuDO;
import com.cool.store.enums.MenuTypeEnum; import com.cool.store.enums.MenuTypeEnum;
@@ -10,7 +11,6 @@ import com.cool.store.enums.PlatFormTypeEnum;
import com.cool.store.service.MenuService; import com.cool.store.service.MenuService;
import com.cool.store.vo.menu.MenuTreeVO; import com.cool.store.vo.menu.MenuTreeVO;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
@@ -52,6 +52,17 @@ public class MenuServiceImpl implements MenuService {
return MenuTreeVO.dealMenuTree(CommonConstants.ZERO_LONG, menuList); return MenuTreeVO.dealMenuTree(CommonConstants.ZERO_LONG, menuList);
} }
@Override
public List<MenuTreeVO> getAllMenus() {
List<SysMenuDO> menuList= sysMenuDAO.selectMenuAll(null, PlatFormTypeEnum.PC.getCode());
return MenuTreeVO.dealMenuTree(CommonConstants.ZERO_LONG, menuList);
}
@Override
public Long addMenu(AddMenuDTO param, MenuTypeEnum menuType) {
return sysMenuDAO.addMenu(AddMenuDTO.convertDO(param, menuType));
}
private void getParentNode(Long menuId, Map<Long, Long> idMap, Set<Long> authMenuList) { private void getParentNode(Long menuId, Map<Long, Long> idMap, Set<Long> authMenuList) {
Long parentId = idMap.get(menuId); Long parentId = idMap.get(menuId);
authMenuList.add(parentId); authMenuList.add(parentId);

View File

@@ -0,0 +1,60 @@
package com.cool.store.service.impl;
import com.cool.store.dao.SysMenuDAO;
import com.cool.store.dao.SysRoleDAO;
import com.cool.store.dao.SysRoleMenuDAO;
import com.cool.store.dto.role.RoleUpdateDTO;
import com.cool.store.entity.SysRoleDO;
import com.cool.store.entity.SysRoleMenuDO;
import com.cool.store.enums.PlatFormTypeEnum;
import com.cool.store.service.RoleService;
import com.cool.store.vo.role.RoleAuthInfoVO;
import com.cool.store.vo.role.RolePageVO;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageInfo;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import java.util.Objects;
/**
* @author zhangchenbiao
* @FileName: RoleServiceImpl
* @Description:
* @date 2023-07-25 15:06
*/
@Service
public class RoleServiceImpl implements RoleService {
@Resource
private SysRoleDAO sysRoleDAO;
@Resource
private SysMenuDAO sysMenuDAO;
@Resource
private SysRoleMenuDAO sysRoleMenuDAO;
@Override
public PageInfo<RolePageVO> getRolePage(Integer pageNum, Integer pageSize) {
Page<SysRoleDO> page = sysRoleDAO.getRolePage(pageNum, pageSize);
PageInfo resultPage = new PageInfo(page);
List<RolePageVO> resultList = RolePageVO.convertList(page);
resultPage.setList(resultList);
return resultPage;
}
@Override
public RoleAuthInfoVO getRoleAuthDetail(String roleId) {
SysRoleDO roleDetail = sysRoleDAO.getRoleDetail(roleId);
if(Objects.isNull(roleDetail)){
return null;
}
List<SysRoleMenuDO> roleMenuAuths = sysRoleMenuDAO.getRoleMenuByRoleId(roleId, PlatFormTypeEnum.PC.getCode());
return RoleAuthInfoVO.convertVO(roleDetail, roleMenuAuths);
}
@Override
public Integer updateRoleAuth(String userId, RoleUpdateDTO param) {
return sysRoleMenuDAO.updateRoleAuth(param.getRoleId(), param.getMenuIds());
}
}

View File

@@ -8,11 +8,13 @@ import com.cool.store.dto.calendar.DeleteCalendarEventDTO;
import com.cool.store.dto.calendar.UserCalendarsEventDTO; import com.cool.store.dto.calendar.UserCalendarsEventDTO;
import com.cool.store.dto.log.ReInterviewDTO; import com.cool.store.dto.log.ReInterviewDTO;
import com.cool.store.dto.log.RejectInterviewDTO; import com.cool.store.dto.log.RejectInterviewDTO;
import com.cool.store.entity.HyInspectionDO;
import com.cool.store.entity.HyPartnerInterviewDO; import com.cool.store.entity.HyPartnerInterviewDO;
import com.cool.store.enums.*; import com.cool.store.enums.*;
import com.cool.store.exception.ApiException; import com.cool.store.exception.ApiException;
import com.cool.store.exception.ServiceException; import com.cool.store.exception.ServiceException;
import com.cool.store.http.ISVHttpRequest; import com.cool.store.http.ISVHttpRequest;
import com.cool.store.mapper.HyInspectionMapper;
import com.cool.store.mapper.HyPartnerInterviewMapper; import com.cool.store.mapper.HyPartnerInterviewMapper;
import com.cool.store.mapper.HyPartnerInterviewPlanMapper; import com.cool.store.mapper.HyPartnerInterviewPlanMapper;
import com.cool.store.request.CloseFollowRequest; import com.cool.store.request.CloseFollowRequest;
@@ -48,6 +50,9 @@ public class InterviewWorkFlowService extends WorkFlowBaseService {
@Autowired @Autowired
private HyPartnerInterviewPlanMapper hyPartnerInterviewPlanMapper; private HyPartnerInterviewPlanMapper hyPartnerInterviewPlanMapper;
@Autowired
private HyInspectionMapper inspectionMapper;
@Autowired @Autowired
private InterviewService interviewService; private InterviewService interviewService;
@@ -85,6 +90,13 @@ public class InterviewWorkFlowService extends WorkFlowBaseService {
if(userCalendarsEventDTO == null ){ if(userCalendarsEventDTO == null ){
throw new ApiException(ErrorCodeEnum.FEISHU_DELETE_SCHEDULE_ERROR); throw new ApiException(ErrorCodeEnum.FEISHU_DELETE_SCHEDULE_ERROR);
} }
} else if (Integer.parseInt(WorkflowStatusEnum.INTERVIEW_6.getCode()) == interviewBaseInfo.getStatus()) {
//删除稽核信息
HyInspectionDO rawHyInspection = inspectionMapper.selectByInterviewPlanId(interviewBaseInfo.getInterviewPlanId());
HyInspectionDO hyInspection = new HyInspectionDO();
hyInspection.setId(rawHyInspection.getId());
hyInspection.setDeleted(Boolean.TRUE);
inspectionMapper.updateByPrimaryKeySelective(hyInspection);
} }
interviewService.rejectInterviewAndSuspendLine(interviewBaseInfo.getId(),interviewBaseInfo.getInterviewPlanId(),null); interviewService.rejectInterviewAndSuspendLine(interviewBaseInfo.getId(),interviewBaseInfo.getInterviewPlanId(),null);
//记录日志 //记录日志

View File

@@ -52,7 +52,7 @@ public class Swagger2Config {
.groupName(groupName) .groupName(groupName)
.select() .select()
.apis(this.scanBasePackage(packages)) .apis(this.scanBasePackage(packages))
//.paths(PathSelectors.regex(".*/inspection/setting/.*|.*getRegionUserAndSubRegion")) .paths(PathSelectors.regex(".*/menu/getAllMenus|.*/menu/add|.*/menu/auth/add|.*/role.*"))
.build() .build()
.globalOperationParameters(pars); .globalOperationParameters(pars);
} }

View File

@@ -1,9 +1,16 @@
package com.cool.store.controller; package com.cool.store.controller;
import com.cool.store.context.CurrentUserHolder; import com.cool.store.context.CurrentUserHolder;
import com.cool.store.dto.menu.AddMenuDTO;
import com.cool.store.enums.MenuTypeEnum;
import com.cool.store.response.ResponseResult; import com.cool.store.response.ResponseResult;
import com.cool.store.service.MenuService; import com.cool.store.service.MenuService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
@@ -15,14 +22,35 @@ import javax.annotation.Resource;
* @date 2023-06-08 16:58 * @date 2023-06-08 16:58
*/ */
@RestController @RestController
@Slf4j
@Api(tags = "菜单")
public class MenuController { public class MenuController {
@Resource @Resource
private MenuService menuService; private MenuService menuService;
@ApiOperation("获取用户权限菜单")
@GetMapping("/menu/getUserMenus") @GetMapping("/menu/getUserMenus")
public ResponseResult getUserMenus(){ public ResponseResult getUserMenus(){
return ResponseResult.success(menuService.getUserMenus(CurrentUserHolder.getUserId(), CurrentUserHolder.getRoleId())); return ResponseResult.success(menuService.getUserMenus(CurrentUserHolder.getUserId(), CurrentUserHolder.getRoleId()));
} }
@ApiOperation("获取所有菜单")
@GetMapping("/menu/getAllMenus")
public ResponseResult getAllMenus(){
return ResponseResult.success(menuService.getAllMenus());
}
@ApiOperation("新增菜单")
@PostMapping(path = "/menu/add")
public ResponseResult addMenu(@RequestBody AddMenuDTO param){
return ResponseResult.success(menuService.addMenu(param, MenuTypeEnum.MENU));
}
@ApiOperation("新增权限")
@PostMapping(path = "/menu/auth/add")
public ResponseResult addMenuAuth(@RequestBody AddMenuDTO param){
return ResponseResult.success(menuService.addMenu(param, MenuTypeEnum.AUTH));
}
} }

View File

@@ -0,0 +1,49 @@
package com.cool.store.controller;
import com.cool.store.context.CurrentUserHolder;
import com.cool.store.dto.role.RoleUpdateDTO;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.RoleService;
import com.cool.store.vo.role.RoleAuthInfoVO;
import com.cool.store.vo.role.RolePageVO;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
/**
* @author zhangchenbiao
* @FileName: RoleController
* @Description:
* @date 2023-07-25 14:58
*/
@RestController
@Slf4j
@Api(tags = "角色")
public class RoleController {
@Resource
private RoleService roleService;
@ApiOperation("角色列表")
@GetMapping("/role/page")
public ResponseResult<PageInfo<RolePageVO>> getRolePage(@RequestParam("pageNum")Integer pageNum, @RequestParam("pageSize")Integer pageSize){
return ResponseResult.success(roleService.getRolePage(pageNum, pageSize));
}
@ApiOperation("角色权限详情")
@GetMapping("/role/auth/detail")
public ResponseResult<RoleAuthInfoVO> getRoleAuthDetail(@RequestParam("roleId")String roleId){
return ResponseResult.success(roleService.getRoleAuthDetail(roleId));
}
@ApiOperation("角色更新")
@PostMapping("/role/auth/update")
public ResponseResult updateRoleAuth(@RequestBody RoleUpdateDTO param){
return ResponseResult.success(roleService.updateRoleAuth(CurrentUserHolder.getUserId(), param));
}
}