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

@@ -1,5 +1,7 @@
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 java.util.List;
@@ -19,4 +21,18 @@ public interface MenuService {
* @return
*/
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.setAcceptAdjustType(request.getAcceptAdjustType());
hyPartnerUserInfoDAO.updateByPrimaryKeySelective(hyPartnerUserInfoDO);
// 更新线索状态和招商经理
//是公海线索 才会修改线索状态招商经理
if (LineStatusEnum.PUBLIC_SEAS.getCode().equals(hyPartnerLineInfoDO.getLineStatus())){
Boolean flag = hyPartnerLineInfoService.assignFollowUser(request.getPartnerId(), request.getWantShopArea(), request.getAcceptAdjustType());
hyPartnerLineInfoDO.setLineStatus(flag ? LineStatusEnum.PRIVATE_SEAS.getCode() : LineStatusEnum.PUBLIC_SEAS.getCode());
if (flag){
String investmentManager = hyPartnerLineInfoService.getAssignFollowUser(request.getPartnerId(), "intent");
hyPartnerLineInfoDO.setInvestmentManager(investmentManager);
userIdList.add(investmentManager);
}
hyPartnerLineInfoDAO.updateByPrimaryKeySelective(hyPartnerLineInfoDO);
}
// 更新线索状态招商经理
//是公海线索 才会修改线索状态与招商经理
if (LineStatusEnum.PUBLIC_SEAS.getCode().equals(hyPartnerLineInfoDO.getLineStatus())){
Boolean flag = hyPartnerLineInfoService.assignFollowUser(request.getPartnerId(), request.getWantShopArea(), request.getAcceptAdjustType());
hyPartnerLineInfoDO.setLineStatus(flag ? LineStatusEnum.PRIVATE_SEAS.getCode() : LineStatusEnum.PUBLIC_SEAS.getCode());
if (flag){
String investmentManager = hyPartnerLineInfoService.getAssignFollowUser(request.getPartnerId(), "intent");
hyPartnerLineInfoDO.setInvestmentManager(investmentManager);
userIdList.add(investmentManager);
}
hyPartnerLineInfoDAO.updateByPrimaryKeySelective(hyPartnerLineInfoDO);
if(flag){//分配招商经理成功才发送分配招商经理的飞书工作通知
noticeService.sendFeiShuNotice(FeiShuNoticeMsgEnum.ALLOCATION_INVESTMENT_MANAGER,userIdList,DateUtil.formatDateTime(new Date()),hyPartnerUserInfoDO.getUsername(),hyPartnerUserInfoDO.getMobile());
}
if(flag){//分配招商经理成功才发送分配招商经理的飞书工作通知
noticeService.sendFeiShuNotice(FeiShuNoticeMsgEnum.ALLOCATION_INVESTMENT_MANAGER,userIdList,DateUtil.formatDateTime(new Date()),hyPartnerUserInfoDO.getUsername(),hyPartnerUserInfoDO.getMobile());
}
}
if(!isUpdateIntentInfo){

View File

@@ -315,17 +315,10 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
hyPartnerLineInfoDAO.updateByPrimaryKeySelective(hyPartnerLineInfoDO);
List<HyPartnerLineInfoDO> lineFollowHistoryList = hyPartnerLineInfoDAO.getLineFollowHistoryList(hyPartnerLineInfo.getPartnerId());
HyPartnerLineInfoDO newHyPartnerLineInfoDO = new HyPartnerLineInfoDO();
newHyPartnerLineInfoDO.setPartnerId(hyPartnerLineInfo.getPartnerId());
newHyPartnerLineInfoDO.setWorkflowStage(WorkflowStageEnum.INTENT.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);
hyPartnerLineInfoDAO.insertSelective(newHyPartnerLineInfoDO);
@@ -577,6 +570,12 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
@Override
public Boolean assignFollowUser(String partnerId, String wantShopArea, Integer 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);
//如果意向区域没有绑定战区 不分配招商经理

View File

@@ -3,6 +3,7 @@ package com.cool.store.service.impl;
import com.cool.store.constants.CommonConstants;
import com.cool.store.dao.SysMenuDAO;
import com.cool.store.dao.SysRoleMenuDAO;
import com.cool.store.dto.menu.AddMenuDTO;
import com.cool.store.entity.SysMenuDO;
import com.cool.store.entity.SysRoleMenuDO;
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.vo.menu.MenuTreeVO;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -52,6 +52,17 @@ public class MenuServiceImpl implements MenuService {
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) {
Long parentId = idMap.get(menuId);
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.log.ReInterviewDTO;
import com.cool.store.dto.log.RejectInterviewDTO;
import com.cool.store.entity.HyInspectionDO;
import com.cool.store.entity.HyPartnerInterviewDO;
import com.cool.store.enums.*;
import com.cool.store.exception.ApiException;
import com.cool.store.exception.ServiceException;
import com.cool.store.http.ISVHttpRequest;
import com.cool.store.mapper.HyInspectionMapper;
import com.cool.store.mapper.HyPartnerInterviewMapper;
import com.cool.store.mapper.HyPartnerInterviewPlanMapper;
import com.cool.store.request.CloseFollowRequest;
@@ -48,6 +50,9 @@ public class InterviewWorkFlowService extends WorkFlowBaseService {
@Autowired
private HyPartnerInterviewPlanMapper hyPartnerInterviewPlanMapper;
@Autowired
private HyInspectionMapper inspectionMapper;
@Autowired
private InterviewService interviewService;
@@ -85,6 +90,13 @@ public class InterviewWorkFlowService extends WorkFlowBaseService {
if(userCalendarsEventDTO == null ){
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);
//记录日志